国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

CMMB解復(fù)用器的設(shè)計(jì)和實(shí)現(xiàn)

2010-03-14 09:05徐桂忠
電視技術(shù) 2010年1期
關(guān)鍵詞:子幀音頻信道

劉 波,徐桂忠,張 遠(yuǎn)

(1.國(guó)家廣電總局 無(wú)線電臺(tái)管理局,北京 100866;2.中國(guó)傳媒大學(xué) 信息工程學(xué)院,北京 100024)

1 引言

移動(dòng)多媒體廣播是一項(xiàng)新興的新媒體業(yè)務(wù),它通過(guò)無(wú)線廣播電視覆蓋網(wǎng),向各種便攜終端提供數(shù)字廣播電視節(jié)目和信息服務(wù)。移動(dòng)多媒體廣播采用“點(diǎn)到多點(diǎn)”廣播技術(shù),對(duì)終端接收和網(wǎng)絡(luò)傳輸都有較高要求。2006年10月,國(guó)家廣電總局陸續(xù)頒布了中國(guó)移動(dòng)多媒體廣播(CMMB)行業(yè)標(biāo)準(zhǔn)[1-3]。CMMB系統(tǒng)利用S波段和U波段實(shí)現(xiàn)“天地”一體覆蓋,利用地面增補(bǔ)轉(zhuǎn)發(fā)器轉(zhuǎn)發(fā)衛(wèi)星信號(hào)補(bǔ)點(diǎn)覆蓋衛(wèi)星信號(hào)盲區(qū),利用無(wú)線移動(dòng)通信網(wǎng)絡(luò)構(gòu)建回傳通道,從而組成單向廣播和雙向交互相結(jié)合的移動(dòng)多媒體廣播網(wǎng)絡(luò)。CMMB標(biāo)準(zhǔn)規(guī)定了在廣播業(yè)務(wù)頻率范圍內(nèi),移動(dòng)多媒體廣播系統(tǒng)廣播信道傳輸?shù)膸Y(jié)構(gòu)、信道編碼調(diào)制方法、復(fù)用、電子節(jié)目指南、數(shù)據(jù)廣播和條件接收等。其中復(fù)用屬于CMMB系統(tǒng)的數(shù)據(jù)鏈路層協(xié)議,處于移動(dòng)多媒體廣播系統(tǒng)的前端。復(fù)用的主要作用是在發(fā)送端完成視頻、音頻、數(shù)據(jù)和業(yè)務(wù)指南等多路業(yè)務(wù)數(shù)據(jù)的封裝,使之完全匹配廣播信道傳輸技術(shù)的時(shí)隙結(jié)構(gòu),從而能夠在移動(dòng)多媒體廣播信道上傳送[4-5]。

2 CMMB復(fù)用結(jié)構(gòu)

在CMMB復(fù)用系統(tǒng)中,復(fù)用器對(duì)碼流的復(fù)用分步進(jìn)行。首先對(duì)電視廣播、聲音廣播、緊急廣播、電子業(yè)務(wù)指南、數(shù)據(jù)廣播、控制信息表等輸入的業(yè)務(wù)數(shù)據(jù)進(jìn)行復(fù)用,形成匹配信道時(shí)隙結(jié)構(gòu)的復(fù)用幀流 (MFS),然后再將MFS打包成固定長(zhǎng)度(188 byte)用于傳輸?shù)拇虬鼜?fù)用流(PMS)。

2.1 復(fù)用幀流(M FS)結(jié)構(gòu)

CMMB復(fù)用幀流的單元包括復(fù)用幀、復(fù)用子幀、視頻段、音頻段和數(shù)據(jù)段,如圖1所示。以下介紹每個(gè)組成部分的結(jié)構(gòu)。

圖1 復(fù)用層次結(jié)構(gòu)

2.1.1 復(fù)用幀

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

控制幀的凈荷為各類控制信息表,包括網(wǎng)絡(luò)信息表(NIT)、復(fù)用配置表(MCT)、業(yè)務(wù)配置表(SCT)、電子業(yè)務(wù)指南(ESG)和緊急廣播。其中NIT描述了相應(yīng)的網(wǎng)絡(luò)配置,包括網(wǎng)絡(luò)號(hào)、網(wǎng)絡(luò)名稱、頻點(diǎn)編號(hào)、中心頻率等;MCT描述了復(fù)用幀的配置信息,包括復(fù)用幀占用的時(shí)隙數(shù)及占用的時(shí)隙號(hào),子幀與業(yè)務(wù)ID之間的對(duì)應(yīng)關(guān)系,復(fù)用幀的信道處理方式等;SCT描述了業(yè)務(wù)與頻點(diǎn)編號(hào)之間的對(duì)應(yīng)關(guān)系。每個(gè)控制信息表單獨(dú)存放在一個(gè)復(fù)用子幀中,通過(guò)表標(biāo)識(shí)號(hào)加以區(qū)分。業(yè)務(wù)幀是多個(gè)業(yè)務(wù)的集合,其凈荷為一個(gè)或多個(gè)復(fù)用子幀,同一個(gè)業(yè)務(wù)的音頻基本流、視頻基本流和數(shù)據(jù)流封裝在同一復(fù)用子幀中。

2.1.2 復(fù)用子幀

復(fù)用子幀是復(fù)用幀的基本組成單元,承載一個(gè)控制信息表或一個(gè)業(yè)務(wù)的數(shù)據(jù)。復(fù)用子幀沒(méi)有專用的標(biāo)識(shí)進(jìn)行區(qū)別,但是每個(gè)業(yè)務(wù)都具有自己唯一的標(biāo)識(shí),因此CMMB復(fù)用協(xié)議中定義了復(fù)用配置表,給出業(yè)務(wù)與復(fù)用子幀之間的對(duì)應(yīng)關(guān)系,這樣用戶終端可以通過(guò)業(yè)務(wù)標(biāo)識(shí)找到所對(duì)應(yīng)的復(fù)用子幀,從而獲得業(yè)務(wù)數(shù)據(jù)。

業(yè)務(wù)幀中的復(fù)用子幀由子幀頭、視頻段、音頻段和數(shù)據(jù)段組成,如圖2所示。

圖2 復(fù)用子幀結(jié)構(gòu)圖

視頻段、音頻段和數(shù)據(jù)段是組成復(fù)用子幀的基本單元。視頻段用于承載業(yè)務(wù)的視頻數(shù)據(jù),它由視頻段頭和多個(gè)視頻單元構(gòu)成,如圖3所示。視頻段頭描述了視頻段頭長(zhǎng)度和各視頻單元的基本參數(shù),視頻單元的參數(shù)包括單元的長(zhǎng)度、所承載的圖像幀類型、視頻流的編號(hào)、圖像幀結(jié)束標(biāo)志和相對(duì)播放時(shí)間等。視頻單元承載業(yè)務(wù)的圖像幀數(shù)據(jù),一個(gè)圖像幀可分開(kāi)封裝在一個(gè)或多個(gè)視頻單元。每個(gè)視頻流包含多個(gè)圖像幀,為了能正常顯示或解碼,要求第1幀必須不依賴于其他圖像幀而能獨(dú)立地進(jìn)行解碼顯示。

圖3 視頻段結(jié)構(gòu)

音頻段用于承載業(yè)務(wù)的音頻數(shù)據(jù),它由音頻段頭和多個(gè)音頻單元組成,如圖4所示。音頻段頭描述了音頻段頭長(zhǎng)度和各音頻單元的基本參數(shù),音頻單元參數(shù)包括音頻單元長(zhǎng)度、音頻流編號(hào)及相對(duì)播放時(shí)間,音頻單元用于承載業(yè)務(wù)聲音數(shù)據(jù),聲音數(shù)據(jù)可以由多個(gè)音頻流組成。

圖4 音頻段結(jié)構(gòu)

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

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

圖5 復(fù)用塊結(jié)構(gòu)

2.2 打包復(fù)用流(PMS)結(jié)構(gòu)

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

3 解復(fù)用器的軟件設(shè)計(jì)與實(shí)現(xiàn)

復(fù)用器輸出的PMS流經(jīng)信道編碼、調(diào)制發(fā)送以后,經(jīng)廣播信道傳送到用戶終端,在用戶終端進(jìn)行解調(diào)、解碼得到PMS包。PMS包只是復(fù)用幀流傳輸?shù)妮d體,要對(duì)多業(yè)務(wù)組合的碼流進(jìn)行解復(fù)用,還必須從PMS包抽取出復(fù)用幀數(shù)據(jù),然后組合成復(fù)用幀流,進(jìn)而進(jìn)行解復(fù)用。以下詳細(xì)介紹解復(fù)用器的流程。

3.1 總體結(jié)構(gòu)

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

圖6 解復(fù)用器的解析流程

3.2 復(fù)用幀解析

根據(jù)復(fù)用幀部分語(yǔ)法結(jié)構(gòu),該模塊主要完成復(fù)用幀頭的分析、各控制信息表的分析、業(yè)務(wù)數(shù)據(jù)的抽取。當(dāng)檢測(cè)到復(fù)用幀起始碼(0x00000001)后,用CRC糾錯(cuò)機(jī)制檢測(cè)復(fù)用幀頭在傳輸過(guò)程中是否發(fā)生錯(cuò)誤。如果檢測(cè)無(wú)誤,則按圖7的流程分析復(fù)用幀,當(dāng)MF_ID=0時(shí),該幀為控制幀,此時(shí)程序轉(zhuǎn)入分析控制幀模塊;如果MF_ID≠0,該幀為業(yè)務(wù)幀,此時(shí)程序轉(zhuǎn)入分析業(yè)務(wù)幀模塊。

圖7 復(fù)用幀解析流程

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

2)業(yè)務(wù)幀解析。業(yè)務(wù)幀是各種業(yè)務(wù)復(fù)合數(shù)據(jù)流的載體,它分為多個(gè)子幀,每個(gè)子幀對(duì)應(yīng)一個(gè)業(yè)務(wù)。業(yè)務(wù)幀解析的目的就是將每個(gè)業(yè)務(wù)的視音頻數(shù)據(jù)從復(fù)合數(shù)據(jù)流中分離出來(lái)。在業(yè)務(wù)幀的解析過(guò)程中,首先根據(jù)業(yè)務(wù)配置表得到業(yè)務(wù)與子幀的對(duì)應(yīng)關(guān)系,找到每個(gè)業(yè)務(wù)所對(duì)應(yīng)的子幀,進(jìn)而分析復(fù)用子幀,從碼流中抽取出業(yè)務(wù)的視頻、音頻數(shù)據(jù)。在本模塊設(shè)計(jì)中,首先根據(jù)業(yè)務(wù)配置表找到業(yè)務(wù)數(shù)據(jù)所在的子幀,然后根據(jù)第2節(jié)所述的語(yǔ)法結(jié)構(gòu)分析復(fù)用子幀頭,得到起始播放時(shí)間、封裝模式、視頻段/音頻段/數(shù)據(jù)段的長(zhǎng)度以及擴(kuò)展區(qū)參數(shù)。如果視頻段標(biāo)記為1,則轉(zhuǎn)入視頻段處理模塊,抽取該子幀中的視頻數(shù)據(jù);如果音頻段標(biāo)記為1,則轉(zhuǎn)入音頻段處理模塊,抽取該子幀中的音頻數(shù)據(jù);如果數(shù)據(jù)段標(biāo)記為1,則轉(zhuǎn)入數(shù)據(jù)段處理模塊,抽取該子幀中數(shù)據(jù)段的數(shù)據(jù)。在復(fù)用幀解析部分重復(fù)調(diào)用此模塊,完成所有業(yè)務(wù)的解析。

3.3 視頻段解析

在復(fù)用子幀頭中,用3個(gè)比特位來(lái)標(biāo)記視頻算法類型,指出視頻段數(shù)據(jù)所采用的編碼方式。目前CMMB視頻編碼采用H.264標(biāo)準(zhǔn),因此需要根據(jù)H.264視頻碼流的封裝形式設(shè)計(jì)相應(yīng)解封裝的方法。

1)H.264視頻流的封裝過(guò)程。H.264視頻流的復(fù)用封裝,要求輸入的碼流符合IETF RFC3984,對(duì)應(yīng)的2種封裝模式如圖8和圖9所示。

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

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

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

2)H.264視頻流解析過(guò)程。根據(jù)視頻封裝的過(guò)程,可以設(shè)計(jì)相應(yīng)視頻解析的程序流程,如圖10所示。首先分析視頻段頭,得到視頻段頭長(zhǎng)度及各視頻單元的參數(shù),然后根據(jù)子幀頭中對(duì)封裝模式的標(biāo)識(shí),決定采用哪種方式來(lái)抽取視頻數(shù)據(jù)。如果是模式1,則可直接按照視頻單元的長(zhǎng)度將數(shù)據(jù)讀入緩存或?qū)懭胛募纯?;若采用模?,則先尋找復(fù)用塊的起始碼0x55分析復(fù)用塊頭,如果復(fù)用塊承載的是視頻數(shù)據(jù),就抽取出來(lái)寫入緩存或文件。

圖10 視頻單元解析流程

3.4 音頻段解析

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

音頻解析的流程如圖11所示。首先分析音頻段頭,得到音頻段頭長(zhǎng)度及各音頻單元的參數(shù),然后根據(jù)子幀頭中對(duì)封裝模式的標(biāo)識(shí),決定采用哪種方式來(lái)抽取音頻數(shù)據(jù)。

圖11 視頻單元解析流程

若采用模式1,則直接按照音頻單元的長(zhǎng)度將數(shù)據(jù)讀入緩存或?qū)懭胛募?;若采用模?,則先尋找復(fù)用塊的起始碼0x55分析復(fù)用塊頭,如果復(fù)用塊承載的是音頻數(shù)據(jù),就抽取出來(lái)寫入緩存或文件。

4 小結(jié)

結(jié)合CMMB的復(fù)用標(biāo)準(zhǔn),論述了CMMB復(fù)用碼流結(jié)構(gòu)及封裝模式,在此基礎(chǔ)上設(shè)計(jì)并實(shí)現(xiàn)了軟件解復(fù)用器。該解復(fù)用器可抽取出碼流中的控制信息并能正確解碼所解析出的視音頻數(shù)據(jù)。該軟件解復(fù)用器已包裝成動(dòng)態(tài)庫(kù)的形式,可以嵌入到其他應(yīng)用程序中使用。

[1]GY/T 220.1-2006,移動(dòng)多媒體廣播 第1部分:廣播信道幀結(jié)構(gòu)、信道編碼和調(diào)制[S].2006.

[2]GY/T 220.2-2006,移動(dòng)多媒體廣播 第2部分:復(fù)用[S].2006.

[3]GY/Z 234-2008,移動(dòng)多媒體廣播復(fù)用實(shí)施指南[S].2008.

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

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

猜你喜歡
子幀音頻信道
必須了解的音頻基礎(chǔ)知識(shí) 家庭影院入門攻略:音頻認(rèn)證與推薦標(biāo)準(zhǔn)篇
基于Daubechies(dbN)的飛行器音頻特征提取
音頻分析儀中低失真音頻信號(hào)的發(fā)生方法
LAA系統(tǒng)在非授權(quán)頻段上的動(dòng)態(tài)子幀配置策略
基于導(dǎo)頻的OFDM信道估計(jì)技術(shù)
Pro Tools音頻剪輯及修正
一種改進(jìn)的基于DFT-MMSE的信道估計(jì)方法
基于MED信道選擇和虛擬嵌入塊的YASS改進(jìn)算法
LTE-A異構(gòu)網(wǎng)中空白子幀的動(dòng)態(tài)配置*
TD—LTE特殊子幀配比的優(yōu)化設(shè)計(jì)