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

  本文概括性地討論手機電視這種嵌入式手持設備的軟硬件開發要點:如何設計硬件,實現音視頻同步,提高H.264解碼速率,并防止DMA緩沖溢出等。

  硬件設計

  硬件設計概述

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

  

 

  圖1 硬件設計框圖

  硬件各功能模塊描述

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

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

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

  硬件設計注意事項

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

  軟件設計

  T-DMB標準概述

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

  

 

  圖2 T-DMB發送端編碼框圖

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

關鍵字:T-DMB 手機電視

 

  軟件的功能描述

 

 

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

  

 

  音頻和視頻的同步

  軟件設計中的關鍵技術是解決音視頻同步的問題。音視頻同步主要在 TS解復用器中解決。要想做到音頻和視頻的同步,需要用到這幾個參數:PCR、DTS、PTS??梢栽赥S包的調整域中得到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開源工程。

  結語

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

 

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲国产成人精品女人久久久 | 亚洲免费观看高清完整版在线观看熊| 国产欧美精品在线观看| 欧美色一级片| 欧美日精品一区视频| 欧美精品二区| 欧美精品在线免费观看| 欧美黄色视屏| 欧美激情视频给我| 欧美成人一区二区在线| 欧美 日韩 国产在线| 免费看的黄色欧美网站| 久久亚洲综合色| 久久久噜噜噜久久久| 久久精品国产精品亚洲| 久久国产精品免费一区| 久久精品人人爽| 久久精品99无色码中文字幕 | 亚洲电影第1页| 亚洲承认在线| 亚洲欧洲日产国产网站| 亚洲国产一区视频| 最新国产の精品合集bt伙计| 亚洲国产成人av好男人在线观看| 亚洲黄色在线| 日韩一二三区视频| 一本色道久久综合精品竹菊| 一区二区欧美亚洲| 亚洲一区免费| 欧美亚洲日本一区| 久久国产福利| 亚洲人体大胆视频| 一区二区欧美精品| 亚洲欧美日韩成人| 久久九九免费| 欧美福利一区| 欧美视频免费看| 国产精品综合网站| 国内视频一区| 亚洲精品三级| 亚洲夜间福利| 亚洲成色999久久网站| 亚洲乱码精品一二三四区日韩在线 | 性高湖久久久久久久久| 久久精品亚洲一区二区| 免费在线播放第一区高清av| 欧美日韩成人一区| 国产精品一卡二| 激情视频一区二区| 99热这里只有成人精品国产| 亚洲免费婷婷| 亚洲精品久久久一区二区三区| 在线视频日韩| 久久久久九九视频| 欧美看片网站| 国产午夜精品久久| 亚洲人成在线观看| 亚洲欧美综合另类中字| 亚洲精品少妇| 久久国产日韩欧美| 欧美激情综合亚洲一二区| 国产精品无码永久免费888| 狠狠色综合色区| 99视频超级精品| 欧美一区在线直播| 一区二区三区蜜桃网| 欧美亚洲自偷自偷| 欧美成人免费全部| 国产美女精品视频| 亚洲激情在线视频| 午夜一区二区三区在线观看| 亚洲精品一区二区三区樱花| 欧美在线免费看| 欧美69视频| 国产日产欧美a一级在线| 91久久综合| 久久激情视频久久| 亚洲综合日韩在线| 欧美激情第五页| 国产欧美一区二区三区在线老狼 | 黄色成人在线免费| 亚洲一区二区三区激情| 亚洲理论电影网| 久久九九电影| 国产精品美女久久久| 亚洲国产一区二区精品专区| 性18欧美另类| 亚洲女爱视频在线| 欧美美女喷水视频| 在线观看视频一区| 欧美一二三视频| 亚洲综合日韩中文字幕v在线| 欧美多人爱爱视频网站| 国产真实乱子伦精品视频| 一区二区三区国产在线观看| 日韩午夜激情av| 牛夜精品久久久久久久99黑人| 国产日韩欧美自拍| 亚洲天堂免费观看| 一区二区欧美在线| 欧美电影专区| 永久久久久久| 欧美专区亚洲专区| 久久精品盗摄| 国产欧美一级| 亚洲女优在线| 亚洲欧美日本国产有色| 欧美日韩午夜在线| 亚洲精品一区二区三区av| 亚洲人体影院| 免费视频亚洲| 激情综合网激情| 亚洲第一精品影视| 久久人91精品久久久久久不卡| 国产欧美精品xxxx另类| 亚洲视频成人| 亚洲一区高清| 欧美日韩一区二区三区| 亚洲美女在线视频| 99在线精品视频| 欧美精品精品一区| 亚洲精品一二三| 一本久久青青| 欧美视频亚洲视频| 夜夜精品视频一区二区| 亚洲一品av免费观看| 欧美三区免费完整视频在线观看| 亚洲日本免费| 一本在线高清不卡dvd| 欧美日韩一区二区国产| 一区二区三区视频观看| 亚洲欧美网站| 国产视频一区二区三区在线观看| 欧美一乱一性一交一视频| 久久久久久久97| 一区二区亚洲| 亚洲美洲欧洲综合国产一区| 欧美理论电影在线观看| av成人免费在线| 午夜精品久久久久久久久久久久 | 欧美午夜精品| 亚洲伊人久久综合| 欧美一区二区视频在线观看| 国产区在线观看成人精品| 欧美在线日韩| 男女激情久久| 亚洲精品一区在线观看| 亚洲小说欧美另类婷婷| 国产乱理伦片在线观看夜一区| 欧美一级淫片aaaaaaa视频| 久久在线播放| 亚洲精品乱码久久久久久蜜桃麻豆| 夜夜精品视频一区二区| 国产精品国产三级国产a| 欧美一区二区三区免费大片| 久久在线免费| 99国产精品国产精品久久| 西瓜成人精品人成网站| 国内精品一区二区三区| 亚洲乱码久久| 国产精品久久久久一区二区三区| 欧美一区二区三区免费视| 欧美成人精品激情在线观看| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 亚洲精品1234| 欧美性生交xxxxx久久久| 欧美一区二区在线观看| 欧美91福利在线观看| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲国产日韩一区二区| 欧美日韩精品免费观看| 亚洲女同同性videoxma| 免费看亚洲片| 亚洲一二三区精品| 狼人天天伊人久久| 一区二区三区国产盗摄| 久久视频在线视频| 99亚洲一区二区| 久久精品久久综合| 亚洲日韩中文字幕在线播放| 久久成人在线| 日韩亚洲不卡在线| 久久久久久久一区二区三区| 亚洲精品影院在线观看| 久久精品天堂| 一区二区三欧美| 女女同性女同一区二区三区91| 亚洲午夜在线视频| 欧美黄色精品| 久久成人18免费观看| 欧美日韩亚洲另类| 亚洲激情网站| 国产精品一香蕉国产线看观看| 日韩视频三区| 红桃av永久久久| 亚洲欧美久久| 亚洲精品美女在线观看播放| 久久久亚洲国产美女国产盗摄| 在线综合亚洲欧美在线视频| 欧美成人精品在线播放|