• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于S3C2440A T-DMB的手機電視軟硬件設計

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

    作者: 時間:2013-04-06 來源:網絡 收藏

      

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

      圖3 軟件模塊設計框圖

      音頻和視頻的同步

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

      DTS=PTS (1)

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

      PTS=PTS_pre +Xms (2)

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

      一般視頻對象分為I-VOP、B-VOP、P-VOP三種編碼類型。假設在解碼器端的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........

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

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

      顯示次序同解碼器的輸入次序。假設知道I幀的PTS和DTS。那么得到關于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幀可以參考上面的兩個式子。其中,33.67ms為視頻幀時間間隔。

      軟件開發注意事項

      關于H.264的解碼效率問題。軟件解碼部分采用開源工程ffmpeg中的H.264解碼器,它效率高,方便移植,其中,關鍵運算,如IDCT、運動補償等還在幾種不同平臺上用匯編進行實現。把H.264解碼器移植到ARM平臺,對于IDCT和運動補償匯編代碼,只需仿照其它平臺的代碼就可實現,其開發難度并不大。音頻解碼部分可以參考FAAC和FAAD開源工程。

      結語

      本文討論的是能夠接收符合規范(各種標準的接收終端的差別很小)信號的嵌入式手持設備的軟硬件設計概述,這種設備使用戶可以不經過移動通信網絡直接獲得數字電視信號,能夠滿足人們隨時隨地對信息的需求。在實際的開發過程中的主要硬件問題是電磁兼容,軟件是音視頻的同步和H.264的解碼效率問題。軟件開發的難點集中在MPEG-2的解復用和Direct Show應用框架的設計

    參考文獻:

    [1].COMdatasheethttp://www.dzsc.com/datasheet/COM_1118194.html.
    [2].PCRdatasheethttp://www.dzsc.com/datasheet/PCR_1201341.html.


    上一頁 1 2 3 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 冕宁县| 莱阳市| 阜平县| 东宁县| 囊谦县| 长白| 吉林市| 闻喜县| 比如县| 巩义市| 萨迦县| 涟源市| 阳新县| 冕宁县| 城市| 衡阳县| 金湖县| 搜索| 景洪市| 潍坊市| 翁牛特旗| 金平| 霍州市| 磐安县| 蓝田县| 永春县| 三门县| 兴仁县| 嘉鱼县| 巴南区| 武强县| 巴青县| 朝阳区| 潜山县| 盐津县| 夏河县| 开封县| 白水县| 仲巴县| 渝北区| 临桂县|