《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 手機電視接收端系統層解析與實現

手機電視接收端系統層解析與實現

2008-07-10
作者:李立宏1,黃 金2

??? 摘 要: 基于MPEG-2傳輸流" title="傳輸流">傳輸流,針對手機電視" title="手機電視">手機電視接收端" title="接收端">接收端系統層中節目特殊信息的作用及工作原理、傳輸流解復用" title="復用">復用過程和視音頻" title="視音頻">視音頻信源同步實現等問題進行了解析,指出了MPEG-2系統同步機制的不足,提出了改進意見,并以韓國手機電視標準T-DMB為例,實現了手機電視系統層。
??? 關鍵詞: 手機電視? MPEG-2? 復用? 同步

?

??? 手機電視在國內外的標準眾多,比較著名的國外標準有韓國移動多媒體標準T-DMB、美國高通公司的手機電視標準MediaFLO、日本的ISTB-T標準,以及衍生于歐洲數字電視標準的DVB-H;國內標準有國家廣電總局頒布的手機電視行業標準CMMB和清華大學提出的DMB-TH標準。而MPEG-2傳輸流TS(Transport Stream)作為較普遍的系統層編碼標準,被大多數的手機電視標準支持和采用。
??? 在MPEG-2系統層中,傳輸信道往往需要傳送多個節目信號的多個信源,而每個信源的編碼、傳輸和解碼都是獨立的。但是手機電視系統的傳輸信道往往只有一個,不可能將這些信源在物理上分開傳輸。發送端將信號復用成TS傳輸,所以在接收端如何區分這些TS包是必須面對的一個問題。此外,如何在接收端將視音頻信號在正確的時間播放顯示,也亟待解決。本文在此基礎上,以韓國的T-DMB標準為例,完成了手機電視接收端系統層的實現。
1 傳輸流解復用過程
??? 手機電視系統中傳輸的TS中包含了各種節目的視音頻信息,如果不做區分,就無法解碼視音頻信源,所以必須在接收端建立一個區分TS的機制,將相關信息分門別類地進行處理。節目特殊信息PSI(Program Specific Information)建立了一個機制,其包括節目源結合表PAT(Program Association Table)和節目源映射表PMT(Program Map Table)等。二者的建立為系統解復用器提供了傳輸流區分的依據。
??? PSI通過TS進行傳輸,其中PAT的包識別號PID(Packet Identifier)被系統定義為0,這樣就能直接找到PAT。PAT的每一條記錄對應一個節目的PMT及其PID,通過PAT就能找到需要的PMT。PMT的每一條記錄對應著一個節目的一個原始流ES(Elementary Stream),而一個ES的PID是惟一的,所以通過PMT就能找到需要ES的TS包。
??? TS由若干個定長為188B的TS包組成,每一個TS包都有確定的PID。通過PSI的區分機制,接收端將不同PID的TS包區分開,分別放入不同的解復用通道中進行處理。通常,一個接收端有若干個解復用通道,其中包括一個視頻解復用通道和若干個音頻解復用通道。接收端的傳輸流解復用過程如圖1所示。

???????????????????????????
??? 圖1中第一條解復用通道用來解復用視頻信源,其他解復用通道用來解復用音頻信源。
??? 如果該TS包中攜帶原始流信息,解復用器會把這些信息提取出來。系統對于視頻TS包和音頻TS包的處理過程有所不同。視頻信源的TS包被去掉包頭后存到MBn緩存中,稱為打包的原始流PES(Packetized Elementary Stream)。解復用器會進一步將除PES包頭的剩余信息取出并存到原始流緩存EBn中等待解碼。音頻信源TS包的PES沒有被系統緩存,而是直接形成ES流,存放到Bn中等待解碼。至此,解復用器完成了從傳輸流到原始流的解復用過程。
2 同步問題的分析與解決
?手機電視系統中,信源從發送端傳輸到接收端需要一個過程,而如何實現發送端和接收端同步是手機電視技術需要解決的問題。另一方面,同一時間內,解復用器并行執行多條ES的解復用流程,解復用所得到的多種原始流需要被并行解碼和播放,所以如何實現原始流之間的同步,也是手機電視技術亟待解決的問題。
2.1 視音頻同步模型的建立
??? MPEG-2給出了一個同步模型——常量延時模型,如圖2所示。

????????????????????????????
??? 常量延時模型有兩個含義。其一是指信源從發送端的復用器到接收端的解復用器的傳輸過程所需要的時間是一個常量。其二是指視音頻信號從進入編碼器到從解碼器輸出過程所需要的時間是一個常量。由于不同性質的信源編碼和解碼所需要的時間不相同,所以這個模型設計了信源所對應的緩存,緩存中不同信源信號停留的時間不同,從而保證視音頻信號從進入編碼器到從解碼器輸出的過程所需時間是一個常量。
2.2 系統時鐘頻率及節目時鐘參考的產生
??? 在常量延時模型的基礎上,MPEG-2系統在發送端和接收端都建立了系統時鐘頻率(頻率為27MHz左右)。發送端的系統時鐘頻率是從視頻輸入信號中提取的,使用此頻率對發送端的一個計數器進行計數,該計數器的瞬間抽樣值即為節目時鐘參考PCR(Program Clock Reference),被插入到TS的某一個精確的位置中。而接收端的系統時鐘頻率是通過獲取攜帶在TS中的PCR信息,將PCR信息輸入一個鎖相環電路中進行接收端時鐘頻率的恢復得到的。
??? 通過以上說明可知,MPEG-2系統中發送端和接收端已經實現兩個時鐘頻率相同的計數器。在MPEG-2常量延時模型中,因為傳輸過程所需的時間恒定,所以可以假設在PCR信息被傳送出發送端的那一瞬間,發送端的系統時鐘停止,直到PCR被接收端接收的那一瞬間,發送端的系統時鐘才恢復計數,而這個恢復的系統時鐘其實就是接收端的系統時鐘。這樣,發送端和接收端便通過系統時鐘的概念實現了同步。
2.3 原始流之間同步的實現
??? 在接收端,一個節目需要同時播放多個原始流,所以視音頻信號之間的同步是手機電視技術亟待解決的問題。
??? 原始流的某些幀的數據在發送端被復用成PES時,會被貼上時間標簽,時間標簽包括解碼時間標簽DTS(Decoding Time Stamp)和顯示時間標簽PTS(Presentation Time Stamp)。DTS和PTS攜帶在PES包頭中,分別用來通知解碼器和播放器在某個時間對該數據幀進行解碼和播放。由于有了接收端的節目時鐘參考,在節目時鐘計數到DTS時刻,原始流解碼器對該數據幀進行解碼,在節目時鐘計數到PTS時刻時,播放器對該數據幀進行播放。對于音頻數據幀,其幀編碼都是順序的,所以它們的DTS和PTS幾乎相同,表現為只含有PTS而沒有DTS。而對于視頻數據幀,其被編碼后的順序會出現顛倒,所以它們的DTS和PTS并不相同,表現為既含有PTS,又含有DTS。
??? 如圖1所示,當視頻數據幀被解碼后,因為順序調換的關系,如果需要先播放后一幀,則就會將前一幀先緩存在O1中,等后一幀先播放之后再播放在O1中的數據幀,這樣就解決了由于編碼導致數據幀順序調換的問題。至此,視音頻之間的同步問題得到解決。
2.4 對同步問題的改進和提高
??? MPEG-2標準為解決同步問題建立了一個常量延時同步模型,使用一個硬的基準時間概念來對視音頻數據進行同步。這種方法一般需要通過鎖相電路完成。雖然用硬件完成這部分工作效率較高,但是存在很多缺點:(1)使用硬件完成不易移植,整個系統一般是固定的,不能移植到其他平臺或系統中。(2)MPEG-2要求每兩個PCR信息的時間間隔不能超過100ms,每兩個PTS信息的時間間隔不能超過700ms,這樣就要求系統傳輸大量的同步信息,從而導致傳輸效率降低。
??? 這種情況可以進一步改進,用相對時間基準替代硬時間基準,就不再需要硬件計數的方式來確定同步信息了。由于聲音信息的數據量和幀數在單位時間內是一定的,視頻信源在單位時間內,數據的幀數也是確定的,所以可以在播放器內建立一種機制,監控視頻播放的幀數。如果在單位時間內,視頻播放幀數過快,則視頻解碼器可以暫停解碼一小段時間;反之,視頻解碼器及播放器可以跳過幾幀視頻數據,從而做到視音頻之間的同步。
??? 這種同步模式遺棄了硬時間基準概念,進而得到一個相對時間基準概念。這樣,就不需要重建發送端和接收端之間的同步關系,只需要在發送端和接收端使視音頻數據幀按照一定的速率編解碼即可,在兩端同時需要建立一個監控機制來監控視音頻編解碼的速率。
3 接收端系統層實現
??? 韓國手機電視標準T-DMB是目前中國手機電視的幾大主流標準之一。下面以韓國的T-DMB標準為例介紹實現手機電視接收端的系統層。
??? 手機電視接收端分為手機電視信號接收轉換模塊、TS解復用模塊、PES解復用模塊、解碼模塊和播放模塊,其中系統層實現TS解復用模塊、PES解復用模塊。各模塊相互之間關系如圖3所示。

??????????????????????????
??? 下層的手機電視信號接收轉換模塊為TS解復用模塊提供接收并轉換好的TS;TS解復用模塊通過PSI區分并處理TS包,將所需TS包解復用成PES包提交給PES解模塊;PES解復用模塊解復用PES包,并向上層解碼器提交ES等待解碼。PES解復用模塊還需要向解碼器和播放器提供DTS和PTS,指出解碼和播放的時間。
??? 首先建立TS包區分機制PSI。PSI中PAT的數據機構如下:
??? program_association_section() {
???????? 表編號及一些控制字段
???????? for (i=0;i???????? program_number / * 節目編號?鄢/
??? reserved
???????? if(program_number==′0′) {
??????????? network_PID / * 網絡PID?鄢/
????? ??? }
??? else {
???????? program_map_PID/ * PMT的PID?鄢/
???????? }
???? }
???? CRC_32/*32位循環校驗碼?鄢/
}
??? 其中:N表示該Section所含的記錄條數,for循環中program_number表示節目編號,所對應的program_map_
PID表示該節目PMT的PID。
??? PSI中PMT的數據結構如下:
????TS_program_map_section() {
?????? 表編號及一些控制字段
?????? PCR_PID/*含PCR的TS包的PID*/
?????? 一些控制字段和描述符
?????? for (i=0;i?????????? stream_type/*原始流類型*/
?????????? reserved
?????????? elementary_PID/*原始流的PID*/
?????????? reserved
?????????? ES_info_length/?鄢ES信息長度?鄢/
?????????? 描述符
?????? }
?????? CRC_32/?鄢32位循環校驗碼?鄢/
??? }
??? 其中:PCR_PID指出了該節目的PCR所存在的TS包的PID,因為并不是所有ES都包含PCR。N表示該Section所含的記錄的條數,for循環中stream_type描述該條記錄的ES類型,該類型在MPEG-2中已被定義,elementary_PID是該條記錄的ES的PID。
?建立PSI之后,解復用模塊就可以用PSI來檢索區分TS包的歸屬。TS包頭為定長4B,其中包括同步字節(sync_byte)、包識別號(PID)和一些控制信號字段。TS包的數據結構如下:
transport_packet(){
??? sync_byte/*同步字節*/
????一些控制字段
????PID/*包識別號?鄢/
????一些控制字段
????if(adaptation_field_control==′10′|| adaptation_field_control==′11′){
????????????? adaptation_field()/*自適應區*/
????}
??? if(adaptation_field_control==′01′||adaptation_field_control== ′11′) {
??????????? for(i=0;i??????????? data_byte }/*攜帶ES的內容*/
????? ? }
??? }
??? 關于同步問題,PCR字段使得發送端和接收端之間實現了同步,它被特定TS包的adaptation field攜帶,而PMT中的PCR_PID字段已經指出了該特定TS包的PID。該TS包中的adaptation field存在PCR字段的部分定義如下:
??? adaptation_field() {
?????????? 一些控制字段
?????????? PCR_flag
????????? 一些控制標記
????????? if(PCR_flag==′1′) {
????????? program_clock_reference_base
????????? reserved
????????? program_clock_reference_extension
????????? }
???????? 一些條件定義
??? }
??? DTS和PTS分別用來指出PES所攜帶的視音頻信源信息幀的解碼時間和顯示時間,從而實現了ES之間的同步。DTS和PTS則被攜帶在PES包的包頭中,定義DTS和PTS的數據結構詳見MPEG-2標準第一部分[1]
??? 當PTS_DTS_flags==′10′,只存在PTS而不存在DTS,這種情況下的ES往往為音頻信源,此時PTS作為解碼器解碼該幀和播放器播放該幀的時間參數。當PTS_DTS_flags==′11′,PTS和DTS并存,這種情況下的ES往往為視頻信源,此時PTS作為播放器播放該幀的時間參數,DTS作為解碼器解碼該幀的時間參數。
??? 手機電視系統的眾多標準較多采用MPEG-2傳輸流作為系統層編碼標準。本文基于MPEG-2對手機電視接收端進行解析,包括TS流的解復用過程、同步問題的解決和進一步改進,并以韓國手機電視標準T-DMB為例,實現了手機電視接收端的系統層。國內某知名手機電視終端提供商已經采用了該手機電視接收端的系統層,效果良好。
參考文獻
[1] Information techonlogy generic coding of moving pictures?and associated audio information:Systems.ISO/IEC,2000,12.
[2] 梁志堅.基于Windows CE的MPEG2-TS流接收播放系統的研究與實現.中國地質大學碩士學位論文,2006,5.
[3] 王保雄,余松煜,莊建敏.MPEG-2傳輸流中的時間信息與音頻同步.紅外與激光工程,2000,(10).
[4] 吳軍.MPEG-2傳輸流的定時和同步.西部廣播電視,2003,(10).

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 亚洲国产精品嫩草影院| 第一福利官方导航| 美女张开腿让男人真实视频| gdianav| 一级片黄色免费| 中文乱码人妻系列一区二区| 久久国产精品最新一区| 中文字幕日韩亚洲| www久久精品| 69xxxx日本| 美女免费网站xx美女女女女女女bbbbbb毛片| 91精品视频免费| 羞羞答答www网址进入在线观看| 被两个同桌绑起来玩乳动态gif | 久99久热只有精品国产女同| ipx-412天海翼在线播放 | jizz黄色片| 人人玩人人添人人| 美女扒开裤子让男人桶视频| 欧美日韩国产亚洲人成| 欧美国产一区二区三区激情无套| 欧美日本高清在线不卡区| 欧美人与zoxxxx视频| 拍拍拍无挡视频免费观看1000| 插B内射18免费视频| 国产麻豆精品免费密入口| 国产乱子伦精品视频| 亚洲欧洲日韩在线电影| 亚洲免费在线视频| 久久爰www免费人成| a级男女仿爱免费视频| 高清影院在线欧美人色| 清纯女神被老头耸动| 日本一道综合久久aⅴ免费| 国产线视频精品免费观看视频| 国产精品lululu在线观看| 啊灬啊灬啊灬快灬深高潮了| 免费在线精品视频| 久久综合九色综合欧洲| 99re精彩视频| 国产浮力第一页草草影院|