基于S3C2440A T-DMB的手機(jī)電視軟硬件設(shè)計(jì)
圖3 軟件模塊設(shè)計(jì)框圖
音頻和視頻的同步
軟件設(shè)計(jì)中的關(guān)鍵技術(shù)是解決音視頻同步的問(wèn)題。音視頻同步主要在 TS解復(fù)用器中解決。要想做到音頻和視頻的同步,需要用到這幾個(gè)參數(shù):PCR、DTS、PTS??梢栽赥S包的調(diào)整域中得到PCR,從PES包中得到PTS。PES包中的數(shù)據(jù)是SL包,可以從SL包頭中得到DTS。DTS是解碼時(shí)間,PTS是顯示時(shí)間。PCR是對(duì)編碼器90K時(shí)鐘的計(jì)數(shù),它的作用是在解碼器切換節(jié)目時(shí),提供對(duì)解碼器PCR計(jì)數(shù)器的初始值。PTS、DTS最大可能和PCR達(dá)到相同的時(shí)間起點(diǎn),即對(duì)解碼器提供一個(gè)公共的時(shí)鐘參考,以便準(zhǔn)確地進(jìn)行音視頻的同步。PCR捕捉到和DTS數(shù)值相同的時(shí)刻,就可以進(jìn)行音視頻解碼。因?yàn)橐曨l編碼的時(shí)候用到了雙向預(yù)測(cè),一個(gè)圖像單元被解出后并非馬上顯示,可能在存儲(chǔ)器中留一段時(shí)間,作為其余圖像單元的解碼參考,在被參考完畢后才顯示。由于聲音沒(méi)有用到雙向預(yù)測(cè),它的解碼次序就是它的顯示次序,故對(duì)它MPEG只提出PTS的概念,PTS就是音頻的DTS值。即:
DTS=PTS (1)
如果得不到PTS,那么按下式計(jì)算:
PTS=PTS_pre +Xms (2)
其中,PTS_pre表示前面一個(gè)AU的PTS,X是ACC+一幀的時(shí)間間隔,以ms為單位。
一般視頻對(duì)象分為I-VOP、B-VOP、P-VOP三種編碼類型。假設(shè)在解碼器端的VO(Video Object)輸入次序?yàn)椋?P> 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........
由于視頻對(duì)象編碼時(shí)用到雙向預(yù)測(cè),解碼器的實(shí)際解碼次序?yàn)椋?P> I P B B P B B P B B P B B I B B P B B ........
顯示次序同解碼器的輸入次序。假設(shè)知道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ā)注意事項(xiàng)
關(guān)于H.264的解碼效率問(wèn)題。軟件解碼部分采用開(kāi)源工程ffmpeg中的H.264解碼器,它效率高,方便移植,其中,關(guān)鍵運(yùn)算,如IDCT、運(yùn)動(dòng)補(bǔ)償?shù)冗€在幾種不同平臺(tái)上用匯編進(jìn)行實(shí)現(xiàn)。把H.264解碼器移植到ARM平臺(tái),對(duì)于IDCT和運(yùn)動(dòng)補(bǔ)償匯編代碼,只需仿照其它平臺(tái)的代碼就可實(shí)現(xiàn),其開(kāi)發(fā)難度并不大。音頻解碼部分可以參考FAAC和FAAD開(kāi)源工程。
結(jié)語(yǔ)
本文討論的是能夠接收符合T-DMB規(guī)范(各種標(biāo)準(zhǔn)的接收終端的差別很小)手機(jī)電視信號(hào)的嵌入式手持設(shè)備的軟硬件設(shè)計(jì)概述,這種設(shè)備使用戶可以不經(jīng)過(guò)移動(dòng)通信網(wǎng)絡(luò)直接獲得數(shù)字電視信號(hào),能夠滿足人們隨時(shí)隨地對(duì)信息的需求。在實(shí)際的開(kāi)發(fā)過(guò)程中的主要硬件問(wèn)題是電磁兼容,軟件是音視頻的同步和H.264的解碼效率問(wèn)題。軟件開(kāi)發(fā)的難點(diǎn)集中在MPEG-2的解復(fù)用和Direct Show應(yīng)用框架的設(shè)計(jì)
參考文獻(xiàn):
[1].COMdatasheethttp://www.dzsc.com/datasheet/COM_1118194.html.
[2].PCRdatasheethttp://www.dzsc.com/datasheet/PCR_1201341.html.
評(píng)論