新聞中心

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

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

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

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

          硬件設計注意事項

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

          軟件設計

          標準概述

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

          

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

          圖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包發送給調制器。

          軟件的功能描述

          軟件的主要任務是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。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 剑河县| 台湾省| 南康市| 宝山区| 仲巴县| 皮山县| 梨树县| 太谷县| 津南区| 墨竹工卡县| 浦东新区| 石楼县| 喀喇沁旗| 易门县| 霞浦县| 墨脱县| 清丰县| 伊宁市| 泌阳县| 安塞县| 海兴县| 浦城县| 雅安市| 永宁县| 响水县| 利津县| 峨边| 涿鹿县| 盖州市| 灌南县| 莱西市| 平乐县| 怀集县| 石渠县| 自治县| 奉贤区| 南投市| 都匀市| 青神县| 依兰县| 深泽县|