基于T-DMB的手機電視軟硬件設計

發(fā)布時(shí)間:2010-8-3 11:47    發(fā)布者:lavida
關(guān)鍵詞: T-DMB , 手機電視
引言  

目前,世界上已經(jīng)提出了多個(gè)地面數字電視標準:如歐洲的DVB-T、美國的ATSC、日本的ISDB-T,并且都達到實(shí)用階段,許多國家和地區都在選擇自己的數字電視地面廣播(DTTB:Digital Television Terrestrial Broadcasting)系統。而用于手持移動(dòng)終端的標準有:T-DMB(韓國)、DVB-H(歐洲)、MediaFLO(美國)、StiMi(中國待定)其中,已商用的是韓國的T-DMB。在我國,北京廣播電臺在2006年9月初正式開(kāi)通了名為DAB的手機電視系統,通過(guò)電視塔覆蓋了北京六環(huán)以?xún),提?2套數字廣播節目,同時(shí)對2套電視節目進(jìn)行測試播出。因此,如何快速設計一款可以接收手機電視信號的手持終端設備,以便奪取市場(chǎng)先機就是本文要討論的內容。  

硬件設計  

硬件設計概述  

硬件配置的選擇要綜合考慮,如CPU的處理功能關(guān)系到最終的解碼顯示效果。當然,選擇一些高檔通用處理器,或者是專(zhuān)用的媒體處理器都能夠達到較好的效果,但卻增加了硬件的成本?梢栽谧罱K顯示效果和硬件的選擇上采取折中方案。目前,能接收T-DMB和DVB-H標準的芯片還不是很多,可以選擇市場(chǎng)上的一些主流芯片。本文討論的這款產(chǎn)品的硬件配置為:S3C2440A(400MHz),64MB的SDRAM,apollo fs1110, kino2efs1026;究梢詽M(mǎn)足手機電視對硬件的需求。通過(guò)天線(xiàn)接收到的射頻信號送給射頻前端的RF調諧芯片APOLLO FS1110,主要作用是把射頻信號解調為IF(Intermediate Frequency)信號。這款芯片是目前市場(chǎng)上的主流產(chǎn)品,可以接收多個(gè)標準的信號,而且體積小(5.0mmx5.0mmx0.9mm),功耗低(80mW),擁有三個(gè)低噪聲前端放大器,涵蓋 L-Band、BandⅡ和BandⅢ三個(gè)頻段。apollo fs1110把IF信號送給kino2 efs1026,完成信源碼解碼輸出MPEG2-TS數據。kino2是一款高度優(yōu)化的基帶處理器,體積小(10mm×10mm×1.3mm),功耗低(100mW),可以提供各種DMB碼率,最高可以達到1.8Mbps,片上含有R-S解碼器,可以實(shí)現較佳的移動(dòng)信道性能。kino2把信源碼TS碼流送給CPU,由CPU完成TS流的解復用、解碼和顯示。硬件設計框圖如圖1所示。  




圖1 硬件設計框圖  

硬件各功能模塊描述  

手機電視終端最終要做到支持多標準、多頻段,這也是市場(chǎng)的需求。由于現在開(kāi)展手機電視業(yè)務(wù)的三地所采用的頻段不太一樣,如北京和廣東采用了VHF Band 3,而上海采用了L- Band,因此,同一手機電視終端如果要在國內不同地區接收手機服務(wù),需要支持多頻段。本文討論的T-DMB采用的工作頻段是VHF 3波段和L波段,因此,要使用FS1110的BandⅢ和L-Band;而B(niǎo)andⅡ主要用于FM廣播。FS1110的3個(gè)高頻輸入都可以使用,頻段選擇可以由FS1026通過(guò)IIC接口來(lái)控制,同時(shí),FS1110內部寄存器的初始化也是通過(guò)此接口來(lái)完成的。  

下游的FS1026基帶處理器模塊接收RF調諧器送過(guò)來(lái)的IF信號,最終完成信源解碼。輸出的MPEG2-TS數據支持并行和串行兩種格式。串行數據可以通過(guò)SPI接口和CPU直接連接;鶐K還可以通過(guò)SCP(Serial Control Port)接口和CPU進(jìn)行控制信息的交換,SCP接口和IIC接口是完全兼容的。還可以用串口(UART)和CPU進(jìn)行通信。由于有的商業(yè)DMB節目經(jīng)過(guò)服務(wù)商加擾(經(jīng)過(guò)加密),智能卡模塊可完成解擾功能。  

CPU的功能是通過(guò)SPI接口接收TS數據,完成音頻和視頻的解碼后顯示。數據可以通過(guò)DMA進(jìn)行緩存,然后就可以從DMA中讀取數據進(jìn)行解復用。DMA方式為一種高速的數據傳輸操作,允許在外部設備和存儲器之間直接讀寫(xiě)數據,既不通過(guò)CPU,也不需要CPU干預。整個(gè)數據傳輸操作在DMA控制器的控制下進(jìn)行。CPU除了在數據傳輸開(kāi)始和結束時(shí)做一點(diǎn)處理外,在傳輸過(guò)程中,CPU可以進(jìn)行其它工作。這樣,在大部分時(shí)間里,CPU和輸入/輸出都處于并行操作狀態(tài)。因此,可以大大提高整個(gè)系統的效率。在WinCE平臺下,對DMA的操作相當方便,驅動(dòng)開(kāi)發(fā)難度不大,讀取數據就像操作普通文件一樣。只有一點(diǎn)區別,就是要防止DMA溢出。因為普通文件的讀取完全可控,而這里處理的是一種“實(shí)時(shí)”流,有可能發(fā)生溢出。溢出包括上溢(數據讀取過(guò)慢)和下溢(讀取過(guò)快)。和MPEG的解碼器接收端防止數據溢出的原理是一樣的,主要是由于圖像編碼的格式不一樣,發(fā)送的解碼器前端的數據速率并不是恒定的。MPEG采用流速反饋控制來(lái)控制數據溢出,使得到達音視頻解碼器的數據速率趨于恒定。對DMA的控制就簡(jiǎn)單些,用專(zhuān)用的一個(gè)線(xiàn)程讀取數據,解復用線(xiàn)程依據數據的多少,可以丟棄某些幀或者放慢解碼速度。不過(guò)一般還是丟幀的情況多。  

硬件設計注意事項  

設計硬件電路時(shí)的主要問(wèn)題就是高頻和電磁兼容,一般的方法是加屏蔽罩,可以把APOLLO FS1110加屏蔽罩,以減少模塊的空間干擾。當然也可以把APOLLO FS1110、KINO2EFS1026做成外置式模塊。還可以通過(guò)優(yōu)化原理圖的設計來(lái)減少高頻的影響。因為原理圖的好壞直接影響布局、布線(xiàn)的難度,以及以后板子性能的好壞。為了布局布線(xiàn)時(shí)能清晰地進(jìn)行分區設計,以減少各個(gè)功能模塊之間的影響,設計原理圖時(shí)應把數字、模擬和RF電路分開(kāi)。但是,由于手持設備體積較小,屏蔽罩一般是必不可少的。

軟件設計  

T-DMB標準概述  

T-DMB采用H.264 視頻壓縮標準,音頻采用專(zhuān)利費較低的MPEG-4 比特分片算術(shù)編碼BSAC(Bit-Sliced Arithmetic Coding)或者AAC+(歐洲T-DMB采用),圖像格式為CIF(Common Intermediate Format)(352×288),把這些音頻和視頻碼流加上一些用戶(hù)數據,經(jīng)過(guò)MPEG-4 SL(Sync Layer)同步層打包和MPEG-2 TS(Transport Stream)復用后,交給調制器調制為適宜在信道上傳播的信號發(fā)射出去。各種標準的接收端除信道解碼有較大差別,信源的解碼很相近。T-DMB系統發(fā)送端編碼器結構如圖2所示。  



圖2 T-DMB發(fā)送端編碼框圖  

其中的MPEG-4 OD/BINFS發(fā)生器產(chǎn)生視聽(tīng)對象、場(chǎng)景時(shí)空關(guān)系信息和視聽(tīng)對象的描述符信息。IOD發(fā)生器產(chǎn)生視聽(tīng)對象的初始信息:場(chǎng)景描述和對象描述信息。分段發(fā)生器主要收集SLP和IOD數據信息,用于產(chǎn)生和節目解復用相關(guān)的參考信息PSI(Program Specific Information)。在T-DMB的數據流中,可以通過(guò)解析PMT中的描述字段得到IOD_descriptor ,由IOD_descriptor可以得到場(chǎng)景、對象描述信息。由對象描述可以得到ES_ descriptor等信息。SL同步打包器主要負責視聽(tīng)對象和輔助數據的同步。SL包經(jīng)PES打包之后,再把PES包打為T(mén)S包發(fā)送給調制器。  

軟件的功能描述  

軟件的主要任務(wù)是TS流的解復用、H.264和AAC+的解碼,采用微軟的Direct Show技術(shù)開(kāi)發(fā),可以降低開(kāi)發(fā)難度和開(kāi)發(fā)周期。Direct Show技術(shù)是微軟提供的Windows平臺多媒體開(kāi)發(fā)包,以COM為基礎。Direct Show使用Filter Graph的模型來(lái)管理整個(gè)數據流的處理過(guò)程。參與處理的各個(gè)功能模塊叫Filter,按功能分3類(lèi):Source、Transform、Rendering Filter 。Source Filter主要負責獲取數據和前期的處理;Transform Filter負責數據格式的轉換和傳輸,主要是負責解碼;Render Filter負責顯示。各個(gè)Filter和應用程序的交互靠事件通知機制來(lái)完成:Filter狀態(tài)改變時(shí)發(fā)出一個(gè)事件,由Filter Graph Manager處理或發(fā)給應用程序。整個(gè)軟件可以分為5大功能模塊,如圖3所示。TS解復用器模塊屬于Source Filter,作用是從DMA緩沖中獲取數據,然后從TS流中解析PAT(Program Association Table)和PMT(Program Map Table),得到相關(guān)節目的音頻和視頻數據TS包的PID(Packet Identifier)之后,就可以組合PES(Packetized Elementary Stream)包,同時(shí)還可以得到和音視頻同步相關(guān)的參數:PCR(Program Clock Reference)、CTS(Presentation Time Stamp)、DTS(Decoding Time Stamp),最后把PES包去包頭后的ES(Elementary Stream)數據發(fā)給下游的解碼Filter。H.264和AAC+解碼模塊屬于Transform Filter,主要功能是把從上游獲取的音頻和視頻數據進(jìn)行解碼,把解碼得到的PU(Presentation Unit)重新排序(只有用到雙向預測時(shí)需排序),送給下游的生成器。視頻生成器和音頻生成器模塊屬于Rendering Filter,主要完成顯示功能。如果數據格式需要轉換,可以在解碼器和生成器之間加一個(gè)具有轉化功能的Transform Filter。  



圖3 軟件模塊設計框圖  

音頻和視頻的同步  

軟件設計中的關(guān)鍵技術(shù)是解決音視頻同步的問(wèn)題。音視頻同步主要在 TS解復用器中解決。要想做到音頻和視頻的同步,需要用到這幾個(gè)參數:PCR、DTS、PTS?梢栽赥S包的調整域中得到PCR,從PES包中得到PTS。PES包中的數據是SL包,可以從SL包頭中得到DTS。DTS是解碼時(shí)間,PTS是顯示時(shí)間。PCR是對編碼器90K時(shí)鐘的計數,它的作用是在解碼器切換節目時(shí),提供對解碼器PCR計數器的初始值。PTS、DTS最大可能和PCR達到相同的時(shí)間起點(diǎn),即對解碼器提供一個(gè)公共的時(shí)鐘參考,以便準確地進(jìn)行音視頻的同步。PCR捕捉到和DTS數值相同的時(shí)刻,就可以進(jìn)行音視頻解碼。因為視頻編碼的時(shí)候用到了雙向預測,一個(gè)圖像單元被解出后并非馬上顯示,可能在存儲器中留一段時(shí)間,作為其余圖像單元的解碼參考,在被參考完畢后才顯示。由于聲音沒(méi)有用到雙向預測,它的解碼次序就是它的顯示次序,故對它MPEG只提出PTS的概念,PTS就是音頻的DTS值。即:  

DTS=PTS (1)  

如果得不到PTS,那么按下式計算:  

PTS=PTS_pre +Xms (2)  

其中,PTS_pre表示前面一個(gè)AU的PTS,X是ACC+一幀的時(shí)間間隔,以ms為單位。

一般視頻對象分為I-VOP、B-VOP、P-VOP三種編碼類(lèi)型。假設在解碼器端的VO(Video Object)輸入次序為:  

1 2 3 4 5 6 7 8 9 10………  
I B B P B B P B B P B B P B B I B B P........  

由于視頻對象編碼時(shí)用到雙向預測,解碼器的實(shí)際解碼次序為:  

I P B B P B B P B B P B B I B B P B B ........  

顯示次序同解碼器的輸入次序。假設知道I幀的PTS和DTS。那么得到關(guān)于P幀:  

PTS_P4=PTS_I +33.67ms * 3 (3)  
DTS_P4=DTS_I +33.67ms (4)  
B1幀:PTS_Bn=PTS_I +33.67ms * 2 (5)  
DTS_Bn=DTS_I +33.67ms (6)  

B2幀可以參考上面的兩個(gè)式子。其中,33.67ms為視頻幀時(shí)間間隔。  

軟件開(kāi)發(fā)注意事項  

關(guān)于H.264的解碼效率問(wèn)題。軟件解碼部分采用開(kāi)源工程ffmpeg中的H.264解碼器,它效率高,方便移植,其中,關(guān)鍵運算,如IDCT、運動(dòng)補償等還在幾種不同平臺上用匯編進(jìn)行實(shí)現。把H.264解碼器移植到ARM平臺,對于IDCT和運動(dòng)補償匯編代碼,只需仿照其它平臺的代碼就可實(shí)現,其開(kāi)發(fā)難度并不大。音頻解碼部分可以參考FAAC和FAAD開(kāi)源工程。
  
結語(yǔ)  

本文討論的是能夠接收符合T-DMB規范(各種標準的接收終端的差別很小)手機電視信號的嵌入式手持設備的軟硬件設計概述,這種設備使用戶(hù)可以不經(jīng)過(guò)移動(dòng)通信網(wǎng)絡(luò )直接獲得數字電視信號,能夠滿(mǎn)足人們隨時(shí)隨地對信息的需求。在實(shí)際的開(kāi)發(fā)過(guò)程中的主要硬件問(wèn)題是電磁兼容,軟件是音視頻的同步和H.264的解碼效率問(wèn)題。軟件開(kāi)發(fā)的難點(diǎn)集中在MPEG-2的解復用和Direct Show應用框架的設計!
本文地址:http://selenalain.com/thread-18844-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页