基于T-DMB的手機電視開發(fā)要點
本文概括性地討論手機電視這種嵌入式手持設備的軟硬件開發(fā)要點:如何設計硬件,實現(xiàn)音視頻同步,提高H.264解碼速率,并防止DMA緩沖溢出等。
本文引用地址:http://cafeforensic.com/article/166044.htm硬件設計
硬件設計概述
硬件配置的選擇要綜合考慮,如CPU的處理功能關系到最終的解碼顯示效果。當然,選擇一些高檔通用處理器,或者是專用的媒體處理器都能夠達到較好的效果,但卻增加了硬件的成本??梢栽谧罱K顯示效果和硬件的選擇上采取折中方案。目前,能接收T-DMB和DVB-H標準的芯片還不是很多,可以選擇市場上的一些主流芯片。本文討論的這款產品的硬件配置為:S3C2440A(400MHz),64MB的SDRAM,apollo fs1110, kino2efs1026?;究梢詽M足手機電視對硬件的需求。通過天線接收到的射頻信號送給射頻前端的RF調諧芯片APOLLO FS1110,主要作用是把射頻信號解調為IF(Intermediate Frequency)信號。這款芯片是目前市場上的主流產品,可以接收多個標準的信號,而且體積小(5.0mmx5.0mmx0.9mm),功耗低(80mW),擁有三個低噪聲前端放大器,涵蓋 L-Band、BandⅡ和BandⅢ三個頻段。apollo fs1110把IF信號送給kino2 efs1026,完成信源碼解碼輸出MPEG2-TS數(shù)據(jù)。kino2是一款高度優(yōu)化的基帶處理器,體積小(10mm×10mm×1.3mm),功耗低(100mW),可以提供各種DMB碼率,最高可以達到1.8Mbps,片上含有R-S解碼器,可以實現(xiàn)較佳的移動信道性能。kino2把信源碼TS碼流送給CPU,由CPU完成TS流的解復用、解碼和顯示。硬件設計框圖如圖1所示。
圖1 硬件設計框圖
硬件各功能模塊描述
手機電視終端最終要做到支持多標準、多頻段,這也是市場的需求。由于現(xiàn)在開展手機電視業(yè)務的三地所采用的頻段不太一樣,如北京和廣東采用了VHF Band 3,而上海采用了L- Band,因此,同一手機電視終端如果要在國內不同地區(qū)接收手機服務,需要支持多頻段。本文討論的T-DMB采用的工作頻段是VHF 3波段和L波段,因此,要使用FS1110的BandⅢ和L-Band;而BandⅡ主要用于FM廣播。FS1110的3個高頻輸入都可以使用,頻段選擇可以由FS1026通過IIC接口來控制,同時,F(xiàn)S1110內部寄存器的初始化也是通過此接口來完成的。
下游的FS1026基帶處理器模塊接收RF調諧器送過來的IF信號,最終完成信源解碼。輸出的MPEG2-TS數(shù)據(jù)支持并行和串行兩種格式。串行數(shù)據(jù)可以通過SPI接口和CPU直接連接?;鶐K還可以通過SCP(Serial Control Port)接口和CPU進行控制信息的交換,SCP接口和IIC接口是完全兼容的。還可以用串口(UART)和CPU進行通信。由于有的商業(yè)DMB節(jié)目經過服務商加擾(經過加密),智能卡模塊可完成解擾功能。
CPU的功能是通過SPI接口接收TS數(shù)據(jù),完成音頻和視頻的解碼后顯示。數(shù)據(jù)可以通過DMA進行緩存,然后就可以從DMA中讀取數(shù)據(jù)進行解復用。DMA方式為一種高速的數(shù)據(jù)傳輸操作,允許在外部設備和存儲器之間直接讀寫數(shù)據(jù),既不通過CPU,也不需要CPU干預。整個數(shù)據(jù)傳輸操作在DMA控制器的控制下進行。CPU除了在數(shù)據(jù)傳輸開始和結束時做一點處理外,在傳輸過程中,CPU可以進行其它工作。這樣,在大部分時間里,CPU和輸入/輸出都處于并行操作狀態(tài)。因此,可以大大提高整個系統(tǒng)的效率。在WinCE平臺下,對DMA的操作相當方便,驅動開發(fā)難度不大,讀取數(shù)據(jù)就像操作普通文件一樣。只有一點區(qū)別,就是要防止DMA溢出。因為普通文件的讀取完全可控,而這里處理的是一種“實時”流,有可能發(fā)生溢出。溢出包括上溢(數(shù)據(jù)讀取過慢)和下溢(讀取過快)。和MPEG的解碼器接收端防止數(shù)據(jù)溢出的原理是一樣的,主要是由于圖像編碼的格式不一樣,發(fā)送的解碼器前端的數(shù)據(jù)速率并不是恒定的。MPEG采用流速反饋控制來控制數(shù)據(jù)溢出,使得到達音視頻解碼器的數(shù)據(jù)速率趨于恒定。對DMA的控制就簡單些,用專用的一個線程讀取數(shù)據(jù),解復用線程依據(jù)數(shù)據(jù)的多少,可以丟棄某些幀或者放慢解碼速度。不過一般還是丟幀的情況多。
硬件設計注意事項
設計硬件電路時的主要問題就是高頻和電磁兼容,一般的方法是加屏蔽罩,可以把APOLLO FS1110加屏蔽罩,以減少模塊的空間干擾。當然也可以把APOLLO FS1110、KINO2EFS1026做成外置式模塊。還可以通過優(yōu)化原理圖的設計來減少高頻的影響。因為原理圖的好壞直接影響布局、布線的難度,以及以后板子性能的好壞。為了布局布線時能清晰地進行分區(qū)設計,以減少各個功能模塊之間的影響,設計原理圖時應把數(shù)字、模擬和RF電路分開。但是,由于手持設備體積較小,屏蔽罩一般是必不可少的。
軟件設計
T-DMB標準概述
T-DMB采用H.264 視頻壓縮標準,音頻采用專利費較低的MPEG-4 比特分片算術編碼BSAC(Bit-Sliced Arithmetic Coding)或者AAC+(歐洲T-DMB采用),圖像格式為CIF(Common Intermediate Format)(352×288),把這些音頻和視頻碼流加上一些用戶數(shù)據(jù),經過MPEG-4 SL(Sync Layer)同步層打包和MPEG-2 TS(Transport Stream)復用后,交給調制器調制為適宜在信道上傳播的信號發(fā)射出去。各種標準的接收端除信道解碼有較大差別,信源的解碼很相近。T-DMB系統(tǒng)發(fā)送端編碼器結構如圖2所示。
圖2 T-DMB發(fā)送端編碼框圖
其中的MPEG-4 OD/BINFS發(fā)生器產生視聽對象、場景時空關系信息和視聽對象的描述符信息。IOD發(fā)生器產生視聽對象的初始信息:場景描述和對象描述信息。分段發(fā)生器主要收集SLP和IOD數(shù)據(jù)信息,用于產生和節(jié)目解復用相關的參考信息PSI(Program Specific Information)。在T-DMB的數(shù)據(jù)流中,可以通過解析PMT中的描述字段得到IOD_descriptor ,由IOD_descriptor可以得到場景、對象描述信息。由對象描述可以得到ES_ descriptor等信息。SL同步打包器主要負責視聽對象和輔助數(shù)據(jù)的同步。SL包經PES打包之后,再把PES包打為TS包發(fā)送給調制器。
評論