?

CMMB解復用器的設計和實現

2010-03-14 09:05徐桂忠
電視技術 2010年1期
關鍵詞:子幀音頻信道

劉 波,徐桂忠,張 遠

(1.國家廣電總局 無線電臺管理局,北京 100866;2.中國傳媒大學 信息工程學院,北京 100024)

1 引言

移動多媒體廣播是一項新興的新媒體業務,它通過無線廣播電視覆蓋網,向各種便攜終端提供數字廣播電視節目和信息服務。移動多媒體廣播采用“點到多點”廣播技術,對終端接收和網絡傳輸都有較高要求。2006年10月,國家廣電總局陸續頒布了中國移動多媒體廣播(CMMB)行業標準[1-3]。CMMB系統利用S波段和U波段實現“天地”一體覆蓋,利用地面增補轉發器轉發衛星信號補點覆蓋衛星信號盲區,利用無線移動通信網絡構建回傳通道,從而組成單向廣播和雙向交互相結合的移動多媒體廣播網絡。CMMB標準規定了在廣播業務頻率范圍內,移動多媒體廣播系統廣播信道傳輸的幀結構、信道編碼調制方法、復用、電子節目指南、數據廣播和條件接收等。其中復用屬于CMMB系統的數據鏈路層協議,處于移動多媒體廣播系統的前端。復用的主要作用是在發送端完成視頻、音頻、數據和業務指南等多路業務數據的封裝,使之完全匹配廣播信道傳輸技術的時隙結構,從而能夠在移動多媒體廣播信道上傳送[4-5]。

2 CMMB復用結構

在CMMB復用系統中,復用器對碼流的復用分步進行。首先對電視廣播、聲音廣播、緊急廣播、電子業務指南、數據廣播、控制信息表等輸入的業務數據進行復用,形成匹配信道時隙結構的復用幀流 (MFS),然后再將MFS打包成固定長度(188 byte)用于傳輸的打包復用流(PMS)。

2.1 復用幀流(M FS)結構

CMMB復用幀流的單元包括復用幀、復用子幀、視頻段、音頻段和數據段,如圖1所示。以下介紹每個組成部分的結構。

圖1 復用層次結構

2.1.1 復用幀

復用幀是封裝了業務或控制信息的數據幀,每個復用幀由MF_ID唯一標識,不同標識的復用幀使用不同的物理層邏輯信道來發送。物理層邏輯信道分為控制邏輯信道(CLCH)和業務邏輯信道(SLCH)??刂七壿嬓诺乐挥幸粋€,占用系統的第0時隙發送,用于承載廣播系統控制信息。業務邏輯信道由系統配置,每個物理層帶寬內業務邏輯信道的數目可以為1~39個。相應地,CMMB廣播信道由多個廣播信道幀組成,每個廣播信道幀中最多可以有40個復用幀。根據MF_ID取值的不同可以將復用幀分成2種:一種用于承載控制信息,稱為控制幀(MF_ID=0),使用控制邏輯信道傳送;另一種用于承載業務數據,稱為業務幀(MF_ID=1~39),使用業務邏輯信道傳送。復用幀由復用幀頭、復用幀凈荷和填充3部分組成。其中復用幀頭主要用來描述CMMB系統中各控制信息表的更新狀態和所在復用幀中各子幀的參數信息,復用幀凈荷部分由一個或多個子幀組成(最多15個),填充部分用0xFF填充。

控制幀的凈荷為各類控制信息表,包括網絡信息表(NIT)、復用配置表(MCT)、業務配置表(SCT)、電子業務指南(ESG)和緊急廣播。其中NIT描述了相應的網絡配置,包括網絡號、網絡名稱、頻點編號、中心頻率等;MCT描述了復用幀的配置信息,包括復用幀占用的時隙數及占用的時隙號,子幀與業務ID之間的對應關系,復用幀的信道處理方式等;SCT描述了業務與頻點編號之間的對應關系。每個控制信息表單獨存放在一個復用子幀中,通過表標識號加以區分。業務幀是多個業務的集合,其凈荷為一個或多個復用子幀,同一個業務的音頻基本流、視頻基本流和數據流封裝在同一復用子幀中。

2.1.2 復用子幀

復用子幀是復用幀的基本組成單元,承載一個控制信息表或一個業務的數據。復用子幀沒有專用的標識進行區別,但是每個業務都具有自己唯一的標識,因此CMMB復用協議中定義了復用配置表,給出業務與復用子幀之間的對應關系,這樣用戶終端可以通過業務標識找到所對應的復用子幀,從而獲得業務數據。

業務幀中的復用子幀由子幀頭、視頻段、音頻段和數據段組成,如圖2所示。

圖2 復用子幀結構圖

視頻段、音頻段和數據段是組成復用子幀的基本單元。視頻段用于承載業務的視頻數據,它由視頻段頭和多個視頻單元構成,如圖3所示。視頻段頭描述了視頻段頭長度和各視頻單元的基本參數,視頻單元的參數包括單元的長度、所承載的圖像幀類型、視頻流的編號、圖像幀結束標志和相對播放時間等。視頻單元承載業務的圖像幀數據,一個圖像幀可分開封裝在一個或多個視頻單元。每個視頻流包含多個圖像幀,為了能正常顯示或解碼,要求第1幀必須不依賴于其他圖像幀而能獨立地進行解碼顯示。

圖3 視頻段結構

音頻段用于承載業務的音頻數據,它由音頻段頭和多個音頻單元組成,如圖4所示。音頻段頭描述了音頻段頭長度和各音頻單元的基本參數,音頻單元參數包括音頻單元長度、音頻流編號及相對播放時間,音頻單元用于承載業務聲音數據,聲音數據可以由多個音頻流組成。

圖4 音頻段結構

數據段用于承載業務指南、緊急廣播等數據,由數據段頭和數據單元組成。數據段頭描述了數據單元的基本參數,數據單元用于承載數據的有效凈荷。

在對視音頻和數據段進行復用封裝的過程中,根據容錯能力的不同,將復用封裝方式分為2種:模式1和模式2。當使用模式1時,對輸入的音頻流/視頻流進行解析得到ES流,并將具有相同時間戳的ES流封裝在同一個音視頻單元中;對輸入的數據流,直接將有效數據凈荷按類型封裝在數據單元中。模式2提供更強大的容錯機制。當使用模式2時,將每個單元分為一個或多個復用塊,每個復用塊由復用塊頭及復用塊凈荷構成,結構如圖5所示。復用塊頭包含單元的起始標記、凈荷的類型及長度,復用塊凈荷承載的是有效數據載荷。在復用子幀頭中有一個保留位作為封裝模式指示,指出該子幀所采用的封裝模式,同一個復用子幀內的復用封裝,必須采用相同模式封裝。

圖5 復用塊結構

2.2 打包復用流(PMS)結構

各種業務數據經封裝成復用幀流后,最后打包成PMS。PMS包為固定長度188 byte,包括16 byte包頭、N byte包凈荷、(172-N)byte填充。包頭中定義了包的PID、凈荷類型、凈荷長度、頻點編號、包序號等;包凈荷根據包頭中凈荷類型的取值不同可分為時間日期 (TOD)消息(取值為 0x1111)、復用幀描述消息(取值為 0x3333)、復用幀數據(取值為0x5555)3種。

3 解復用器的軟件設計與實現

復用器輸出的PMS流經信道編碼、調制發送以后,經廣播信道傳送到用戶終端,在用戶終端進行解調、解碼得到PMS包。PMS包只是復用幀流傳輸的載體,要對多業務組合的碼流進行解復用,還必須從PMS包抽取出復用幀數據,然后組合成復用幀流,進而進行解復用。以下詳細介紹解復用器的流程。

3.1 總體結構

復用碼流的解析過程可分為以下幾個模塊:復用幀流抽取、復用幀頭分析、CRC檢測、控制幀分析、業務幀分析、視頻段/音頻段/數據段分析,解復用實現的流程如圖6所示。首先打開PMS包流,將其讀入緩存,尋找包同步字節0x47,根據PMS包凈荷的類型,抽取出復用幀數據組合成復用幀流,接著檢測包流是否結束,如果沒有結束繼續檢測包同步字節,繼續上述包流分析過程;然后在復用幀流中尋找復用幀的起始碼,檢測復用幀頭,分析復用幀;最后檢測碼流是否結束,如果沒有結束就繼續檢測復用幀起始碼,進行上述復用幀流分析過程,直到整個碼流分析結束。

圖6 解復用器的解析流程

3.2 復用幀解析

根據復用幀部分語法結構,該模塊主要完成復用幀頭的分析、各控制信息表的分析、業務數據的抽取。當檢測到復用幀起始碼(0x00000001)后,用CRC糾錯機制檢測復用幀頭在傳輸過程中是否發生錯誤。如果檢測無誤,則按圖7的流程分析復用幀,當MF_ID=0時,該幀為控制幀,此時程序轉入分析控制幀模塊;如果MF_ID≠0,該幀為業務幀,此時程序轉入分析業務幀模塊。

圖7 復用幀解析流程

1)控制幀解析??刂茙荕F_ID=0時的復用幀,它包括網絡信息表、復用配置表、業務配置表等各個配置表,每個控制信息表對應一個復用子幀,根據GY/T 220.2-2006復用標準對控制表比特位信息的規定,對各表進行分析。最終從網絡信息表中抽取出頻點編號、中心頻率、網絡名稱,從復用配置表中抽取出復用幀占用的時隙數、復用幀所占用的時隙號以及子幀與業務ID之間的對應關系,從業務配置表中抽取出各個業務與頻點之間的對應關系等所需的控制信息,在用戶終端得到這些信息以后,可以很方便的通過硬件管理接收所選業務的數據。

2)業務幀解析。業務幀是各種業務復合數據流的載體,它分為多個子幀,每個子幀對應一個業務。業務幀解析的目的就是將每個業務的視音頻數據從復合數據流中分離出來。在業務幀的解析過程中,首先根據業務配置表得到業務與子幀的對應關系,找到每個業務所對應的子幀,進而分析復用子幀,從碼流中抽取出業務的視頻、音頻數據。在本模塊設計中,首先根據業務配置表找到業務數據所在的子幀,然后根據第2節所述的語法結構分析復用子幀頭,得到起始播放時間、封裝模式、視頻段/音頻段/數據段的長度以及擴展區參數。如果視頻段標記為1,則轉入視頻段處理模塊,抽取該子幀中的視頻數據;如果音頻段標記為1,則轉入音頻段處理模塊,抽取該子幀中的音頻數據;如果數據段標記為1,則轉入數據段處理模塊,抽取該子幀中數據段的數據。在復用幀解析部分重復調用此模塊,完成所有業務的解析。

3.3 視頻段解析

在復用子幀頭中,用3個比特位來標記視頻算法類型,指出視頻段數據所采用的編碼方式。目前CMMB視頻編碼采用H.264標準,因此需要根據H.264視頻碼流的封裝形式設計相應解封裝的方法。

1)H.264視頻流的封裝過程。H.264視頻流的復用封裝,要求輸入的碼流符合IETF RFC3984,對應的2種封裝模式如圖8和圖9所示。

圖8 H.264視頻流封裝模式1

圖9 H.264視頻流封裝模式2

按照模式1封裝視頻流的過程如下:首先從輸入的視頻RTP包中解析出H.264的NAL單元;然后在每個NAL的前面插入3 byte的起始碼(0x000001)后封裝在視頻單元中;最后使每個視頻單元包含具有相同時間戳的一個或多個完整的NAL單元。按照模式2封裝視頻流的過程如下:從接收到的視頻RTP包中取出RTP包凈荷直接映射在復用塊的凈荷中,復用塊的凈荷與RTP包凈荷存在一一對應的關系。

2)H.264視頻流解析過程。根據視頻封裝的過程,可以設計相應視頻解析的程序流程,如圖10所示。首先分析視頻段頭,得到視頻段頭長度及各視頻單元的參數,然后根據子幀頭中對封裝模式的標識,決定采用哪種方式來抽取視頻數據。如果是模式1,則可直接按照視頻單元的長度將數據讀入緩存或寫入文件即可;若采用模式2,則先尋找復用塊的起始碼0x55分析復用塊頭,如果復用塊承載的是視頻數據,就抽取出來寫入緩存或文件。

圖10 視頻單元解析流程

3.4 音頻段解析

在復用子幀頭中同樣存在3個比特位標識音頻算法類型。音頻段數據可采用的3種算法是DRA,HE-AAC和AAC。音頻段數據也有2種封裝模式,即模式1和模式2。在模式1中,對于AAC音頻流,首先從RTP包中提取出IETF RFC3016格式音頻復用元素,然后再將音頻復用元素封裝在音頻單元中;對于DRA音頻流,則直接將RTP包凈荷封裝在音頻單元中。在模式2中,不管是AAC還是DRA都是將RTP包的凈荷直接映射到復用塊的凈荷中,形成一一對應的關系。

音頻解析的流程如圖11所示。首先分析音頻段頭,得到音頻段頭長度及各音頻單元的參數,然后根據子幀頭中對封裝模式的標識,決定采用哪種方式來抽取音頻數據。

圖11 視頻單元解析流程

若采用模式1,則直接按照音頻單元的長度將數據讀入緩存或寫入文件;若采用模式2,則先尋找復用塊的起始碼0x55分析復用塊頭,如果復用塊承載的是音頻數據,就抽取出來寫入緩存或文件。

4 小結

結合CMMB的復用標準,論述了CMMB復用碼流結構及封裝模式,在此基礎上設計并實現了軟件解復用器。該解復用器可抽取出碼流中的控制信息并能正確解碼所解析出的視音頻數據。該軟件解復用器已包裝成動態庫的形式,可以嵌入到其他應用程序中使用。

[1]GY/T 220.1-2006,移動多媒體廣播 第1部分:廣播信道幀結構、信道編碼和調制[S].2006.

[2]GY/T 220.2-2006,移動多媒體廣播 第2部分:復用[S].2006.

[3]GY/Z 234-2008,移動多媒體廣播復用實施指南[S].2008.

[4]解偉,李嘉.移動多媒體廣播(CMMB)——復用[J].廣播電視信息,2008(8):29-33.

[5]解偉.移動多媒體廣播(CMMB)技術與發展[J].電視技術,2008,32(4):4-7.

猜你喜歡
子幀音頻信道
必須了解的音頻基礎知識 家庭影院入門攻略:音頻認證與推薦標準篇
基于Daubechies(dbN)的飛行器音頻特征提取
音頻分析儀中低失真音頻信號的發生方法
LAA系統在非授權頻段上的動態子幀配置策略
基于導頻的OFDM信道估計技術
Pro Tools音頻剪輯及修正
一種改進的基于DFT-MMSE的信道估計方法
基于MED信道選擇和虛擬嵌入塊的YASS改進算法
LTE-A異構網中空白子幀的動態配置*
TD—LTE特殊子幀配比的優化設計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合