亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        CMMB碼流解復(fù)用及同步播放的研究與實(shí)現(xiàn)

        2013-08-23 10:46:10蔡青春喻金科

        吳 偉,蔡青春,喻金科

        (1.南昌航空大學(xué)信息工程學(xué)院,江西 南昌 330063;2.中科院上海高等研究院新媒體中心,上海 201210;3.南昌航空大學(xué)信息中心,江西 南昌 330063)

        0 引言

        隨著數(shù)字廣播電視技術(shù)的迅速發(fā)展,移動(dòng)多媒體廣播已成為當(dāng)代信息科學(xué)的熱點(diǎn)領(lǐng)域之一[1]。移動(dòng)多媒體廣播通過無(wú)線電視廣播覆蓋網(wǎng),向各種便攜式終端提供數(shù)字電視節(jié)目和信息服務(wù)。針對(duì)多種類型的移動(dòng)終端,國(guó)際各標(biāo)準(zhǔn)組織或公司都相繼提出了系統(tǒng)方案,例如歐洲的DVB-H、韓國(guó)的T-DMB以及美國(guó)高通公司的MediaFLO等[2]。我國(guó)則提出了具有自主知識(shí)產(chǎn)權(quán)的中國(guó)移動(dòng)多媒體廣播(China Mobile Multimedia Broadcasting,CMMB),它是由國(guó)家廣播電影電視總局主導(dǎo)開發(fā)的移動(dòng)電視標(biāo)準(zhǔn),是廣電網(wǎng)參與三網(wǎng)融合(即電信網(wǎng)、廣播電視網(wǎng)和互聯(lián)網(wǎng)融合)的重要平臺(tái)之一。

        CMMB復(fù)用處在移動(dòng)多媒體廣播系統(tǒng)的前端,屬于系統(tǒng)中的數(shù)據(jù)鏈路層協(xié)議。在廣播業(yè)務(wù)的頻率覆蓋范圍內(nèi),CMMB標(biāo)準(zhǔn)規(guī)定了系統(tǒng)信道上傳輸?shù)膸Y(jié)構(gòu)、信道編碼調(diào)制方法、復(fù)用語(yǔ)法、電視節(jié)目指南以及數(shù)據(jù)廣播等。

        本文基于CMMB系統(tǒng)接收端的需求分析,在理解復(fù)用協(xié)議的基礎(chǔ)上對(duì)CMMB碼流進(jìn)行解復(fù)用研究,并針對(duì)某個(gè)頻道的電視業(yè)務(wù)進(jìn)行視頻流和音頻流解析,實(shí)現(xiàn)對(duì)解析出的視音頻流的解碼和同步播放。

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

        在CMMB復(fù)用系統(tǒng)中,復(fù)用器首先對(duì)電視廣播、聲音廣播、緊急廣播、電子業(yè)務(wù)指南、數(shù)據(jù)廣播和加密授權(quán)等輸入業(yè)務(wù)進(jìn)行封裝、排列,形成了匹配信道時(shí)隙結(jié)構(gòu)的復(fù)用幀流(MFS流),再將復(fù)用幀流打包成固定長(zhǎng)度(188字節(jié))的傳輸流(PMS流)。

        組成CMMB復(fù)用協(xié)議的基本元素包括復(fù)用幀、復(fù)用子幀、視頻段、音頻段和數(shù)據(jù)段,如圖1所示。在1個(gè)CMMB廣播信道幀(時(shí)域上占1S)中最多可以包含40個(gè)復(fù)用幀,即每個(gè)復(fù)用幀至少占據(jù)1個(gè)時(shí)隙(25ms)[3]。復(fù)用幀由起始碼(0x00000001)分隔,用幀標(biāo)識(shí)號(hào)(MF_ID)唯一標(biāo)識(shí)。根據(jù)其承載內(nèi)容的不同,復(fù)用幀可分為2種類型:廣播信道幀中第一個(gè)復(fù)用幀(幀標(biāo)識(shí)MF_ID=0)稱為控制幀,其余復(fù)用幀稱為業(yè)務(wù)幀??刂茙膬艉蔀楦黝惪刂菩畔⒈恚瑸榻邮斩颂峁┫鄳?yīng)的控制信息。業(yè)務(wù)幀的凈荷為若干復(fù)用子幀(最多15個(gè)),每個(gè)復(fù)用子幀承載視音頻或者數(shù)據(jù)信息(稱之為業(yè)務(wù))。

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

        1.1 復(fù)用子幀

        復(fù)用子幀是復(fù)用幀的基本組成元素,承載了一個(gè)控制信息表或者一個(gè)業(yè)務(wù)應(yīng)用??刂茙械膹?fù)用子幀對(duì)應(yīng)控制信息表,其中網(wǎng)絡(luò)信息表(NIT)存儲(chǔ)本網(wǎng)中心頻率、帶寬以及鄰區(qū)網(wǎng)絡(luò)參數(shù),持續(xù)業(yè)務(wù)/短時(shí)間業(yè)務(wù)復(fù)用配置表(CMCT/SMCT)存儲(chǔ)各復(fù)用幀調(diào)制方式、時(shí)隙數(shù)量和各復(fù)用子幀業(yè)務(wù)標(biāo)識(shí)等信息,持續(xù)業(yè)務(wù)/短時(shí)間業(yè)務(wù)配置表(CSCT/SSCT)存儲(chǔ)業(yè)務(wù)與載頻之間的關(guān)系。業(yè)務(wù)幀中的復(fù)用子幀由子幀頭、視頻段、音頻段和數(shù)據(jù)段組成,CMMB復(fù)用碼流中的數(shù)字多媒體流(視頻流、音頻流)業(yè)務(wù)就對(duì)應(yīng)業(yè)務(wù)復(fù)用子幀中的視頻段和音頻段。

        1.2 視音頻段

        業(yè)務(wù)復(fù)用子幀中的基本組成元素有視頻段、音頻段和數(shù)據(jù)段。視頻段承載業(yè)務(wù)的視頻數(shù)據(jù),音頻段承載業(yè)務(wù)的音頻數(shù)據(jù),數(shù)據(jù)段承載其他數(shù)據(jù)。獲取到這些視音頻數(shù)據(jù)正是后續(xù)碼流解復(fù)用的關(guān)鍵。

        視頻段由視頻段頭和若干視頻單元組成。其中視頻段頭描述了自身長(zhǎng)度(以字節(jié)為單位)和各個(gè)視頻單元的參數(shù),視頻單元的參數(shù)包括單元長(zhǎng)度、承載的圖像幀類型、視頻流編號(hào)、圖像幀結(jié)束指示、相對(duì)播放時(shí)間指示和相對(duì)播放時(shí)間,如圖2所示。一個(gè)圖像幀可以封裝在一個(gè)或者多個(gè)視頻單元中,其中圖像幀類型(占3bit)代表圖像的3種類型:I幀、P幀和B幀。I幀稱為關(guān)鍵幀,是一幅完整壓縮的圖像,不依賴其他任何圖像即可自行解碼顯示;P幀(前向預(yù)測(cè)編碼幀)和B幀(雙向預(yù)測(cè)編碼幀)都非完整的圖像幀,而是要參考其他的圖像幀才能解碼。當(dāng)相對(duì)播放時(shí)間指示(占1bit)為邏輯1時(shí)則存在相對(duì)播放時(shí)間,相對(duì)播放時(shí)間(占16bit)和復(fù)用子幀頭中的起始播放時(shí)間(占32bit)為一對(duì)時(shí)間組合,用于計(jì)算視頻單元顯示的絕對(duì)時(shí)間值。

        音頻段和視頻段的結(jié)構(gòu)類似,它由音頻段頭和若干音頻單元組成。音頻單元的參數(shù)包含單元長(zhǎng)度、音頻流編號(hào)、保留位以及相對(duì)播放時(shí)間。在視音頻播放的同步過程中,起始播放時(shí)間和視音頻的相對(duì)播放時(shí)間起著至關(guān)重要的作用。

        圖2 視音頻單元的參數(shù)

        2CMMB碼流解復(fù)用

        復(fù)用器輸出的復(fù)用幀流(MFS流)采用PMS包承載為復(fù)用碼流(PMS流),復(fù)用碼流經(jīng)過無(wú)線電視廣播網(wǎng)進(jìn)行分發(fā),為覆蓋范圍內(nèi)的移動(dòng)終端或者接收機(jī)提供數(shù)字電視節(jié)目和其他服務(wù)。在接收端,經(jīng)過解調(diào)、信道譯碼等操作后得到了復(fù)用碼流。復(fù)用碼流中的各個(gè)PMS包為188字節(jié)固定長(zhǎng)度的傳輸包,其中包括16字節(jié)包頭、n字節(jié)包凈荷和172-n字節(jié)的填充塊。PMS包只是復(fù)用幀流傳輸?shù)妮d體,必須提取出n字節(jié)包凈荷中的復(fù)用幀數(shù)據(jù)重新構(gòu)造出復(fù)用幀才能進(jìn)行解復(fù)用。

        CMMB復(fù)用碼流的解析主要涉及復(fù)用幀流提取、復(fù)用幀頭分析、控制幀和業(yè)務(wù)幀分析、視音頻段解封裝。本文使用MFS離線文件(cmmb.mfs)針對(duì)上述關(guān)鍵過程參照CMMB復(fù)用協(xié)議進(jìn)行解復(fù)用。

        2.1 復(fù)用幀解析

        依據(jù)CMMB復(fù)用協(xié)議規(guī)定的語(yǔ)法結(jié)構(gòu)[4],復(fù)用幀解析完成復(fù)用幀頭的分析、各類控制信息表的分析和各業(yè)務(wù)數(shù)據(jù)的提取。首先檢測(cè)復(fù)用幀頭的起始碼(0x00000001)定位一個(gè)復(fù)用幀的開始,根據(jù)復(fù)用幀頭中的幀標(biāo)識(shí)(MF_ID),復(fù)用幀分為控制幀(MF_ID=0)和業(yè)務(wù)幀(MF_ID≠0);然后分別對(duì)控制幀和業(yè)務(wù)幀按照?qǐng)D3的流程進(jìn)行解析。

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

        2.1.1 控制幀解析

        在CMMB解復(fù)用器的實(shí)現(xiàn)中,必須先獲取所有的控制信息,然后再依據(jù)控制信息指導(dǎo)其他業(yè)務(wù)幀的解復(fù)用。

        控制幀中包含了多種控制信息表,占用廣播信道幀的第0個(gè)時(shí)隙。本文用于分析的MFS碼流文件控制幀中的表標(biāo)識(shí)號(hào)(TABLE_ID)僅有 1、2、3、6、16,分為對(duì)應(yīng)網(wǎng)絡(luò)信息表(NIT)、持續(xù)業(yè)務(wù)復(fù)用配置表(CMCT)、持續(xù)業(yè)務(wù)配置表(CSCT)、電子業(yè)務(wù)指南(ESG)基本描述表、緊急廣播表。解析這些表格得到的控制信息為占用剩余時(shí)隙的業(yè)務(wù)幀提供了CMMB系統(tǒng)級(jí)別參數(shù)(復(fù)用幀占用時(shí)隙數(shù)量、業(yè)務(wù)標(biāo)識(shí)等),如表1所示。

        表1 業(yè)務(wù)基本信息

        2.1.2 業(yè)務(wù)幀解析

        業(yè)務(wù)幀的凈荷最多包含15個(gè)復(fù)用子幀,每個(gè)復(fù)用子幀承載了電視業(yè)務(wù)的視音頻和節(jié)目提示信息(可選項(xiàng))。業(yè)務(wù)幀解析的主要目的是要將視音頻數(shù)據(jù)從復(fù)用數(shù)據(jù)流中分離出來。由之前控制幀解析的數(shù)據(jù)得知,在一個(gè)廣播信道幀中存在1個(gè)控制幀和8個(gè)業(yè)務(wù)幀,通過時(shí)分復(fù)用技術(shù)共占用了30個(gè)時(shí)隙,剩余的10個(gè)時(shí)隙保留。

        在對(duì)業(yè)務(wù)數(shù)據(jù)解復(fù)用時(shí),對(duì)廣播信道幀中的業(yè)務(wù)幀依次解析。對(duì)每一個(gè)業(yè)務(wù)幀,首先解析幀頭,其次解析幀凈荷中的各個(gè)子幀。當(dāng)子幀對(duì)應(yīng)一個(gè)數(shù)字電視業(yè)務(wù)時(shí),分析子幀頭內(nèi)部的視頻流參數(shù)集和音頻流參數(shù)集。通過這些參數(shù)集合,可以獲取視音頻流的主要參數(shù)。本文參考的MFS碼流中,視頻流壓縮算法為 H.264、幀頻為25FPS、分辨率為320×240,音頻流壓縮算法為AAC、采樣率為48kHz。最后從復(fù)用數(shù)據(jù)流中抽取出子幀中的視頻段、音頻段和數(shù)據(jù)段。根據(jù)容錯(cuò)能力的不同,這些段數(shù)據(jù)存在兩種封裝模式:封裝模式1和封裝模式2,解復(fù)用時(shí)必須加以區(qū)分。模式1封裝的視音頻段在復(fù)用時(shí)將相同時(shí)間戳的視頻/音頻基本流(ES流)封裝在同一個(gè)視頻/音頻單元中;模式2提供更強(qiáng)大的容錯(cuò)能力,它將視頻/音頻單元?jiǎng)澐譃槿舾蓮?fù)用塊,復(fù)用塊由復(fù)用塊頭和復(fù)用塊凈荷組成。在CMMB系統(tǒng)中,復(fù)用封裝默認(rèn)采用模式2。

        2.2 視音頻段解析

        在復(fù)用子幀頭中用3bit的“視頻壓縮算法”和4bit的“音頻壓縮算法”指示了視音頻段中數(shù)據(jù)的壓縮格式。CMMB中默認(rèn)視頻編碼采用 H.264標(biāo)準(zhǔn)[5],音頻編碼采用 AAC 標(biāo)準(zhǔn)[6]。在 H.264 標(biāo)準(zhǔn)中,視頻編碼數(shù)據(jù)在分組交換網(wǎng)絡(luò)中的傳輸是以NAL(Network Abstract Layer,網(wǎng)絡(luò)提取層)中的NALU(NAL Unit)為單元的[7]。AAC音頻采用MPEG-4中關(guān)于音頻部分的LATM(低開銷音頻傳輸復(fù)用)格式。封裝過程中輸入的H.264視頻流打包格式符合IETF RFC 3984[8],輸入的AAC音頻流打包格式符合IETF RFC 3016[9]。當(dāng)視音頻段的封裝模式為1時(shí),視頻單元存儲(chǔ)Annex B(字節(jié)流)格式NALU,音頻單元存儲(chǔ)LATM打包格式的AAC幀,這些單元中的數(shù)據(jù)可直接用于解碼產(chǎn)生圖像和聲音。當(dāng)為CMMB默認(rèn)的模式2時(shí),視音頻單元被進(jìn)一步劃分為復(fù)用塊[10],如圖4所示。這時(shí)的NALU單元和AAC幀映射在復(fù)用塊的凈荷部分,被復(fù)用塊頭隔離開而不能直接用于解碼。

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

        針對(duì)模式2,一個(gè)單元數(shù)據(jù)可能發(fā)生分片映射到若干連續(xù)的復(fù)用塊中,所以復(fù)用塊為解析的基本對(duì)象。首先定位復(fù)用塊頭的起始碼(0×55),根據(jù)起始標(biāo)記和結(jié)束標(biāo)記判斷該復(fù)用塊是單元數(shù)據(jù)的第一個(gè)分片還是最后一個(gè)分片;然后根據(jù)類型字段和凈荷長(zhǎng)度提取復(fù)用塊凈荷。重復(fù)執(zhí)行上述過程還原得到NALU單元和AAC幀。但此時(shí)NALU為原始打包格式而非Annex B打包格式,需要進(jìn)行格式轉(zhuǎn)換,而音頻AAC幀則不需要。依據(jù)文獻(xiàn)[5]中H.264規(guī)定的語(yǔ)法結(jié)構(gòu),NALU由NALU Header(NALU頭,占1字節(jié))和 NALU Payload(NALU載荷)構(gòu)成。NALU Header的低五位代表 NALU的類型 NalUnitType,NALU轉(zhuǎn)換為Annex B格式分為以下幾種情況:

        (1)0<NalUnitType<24,單個(gè) NALU,在 NALU Header前插入3字節(jié)起始碼(0x000001)。

        (2)NalUnitType=24,STAP-A(Single-time aggregation packet)類型的單一時(shí)間聚合包。即一個(gè)復(fù)用塊凈荷中含有多個(gè)NALU,要為每個(gè)NALU插入起始碼。

        (3)NalUnitType=28,F(xiàn)U-A(Fragmention uint)類型的分片NALU。當(dāng)一個(gè)NALU的長(zhǎng)度超過MTU(Maximum Transmission Unit,最大傳輸單元),NALU單元被分片封裝在多個(gè)復(fù)用塊的凈荷中。此時(shí),僅在第一個(gè)分片首字節(jié)插入起始碼,其他分片不予處理。

        (4)NalUnitType為其他值時(shí),這些類型的NALU不支持處理。

        符合MPEG-4標(biāo)準(zhǔn)的AAC音頻傳輸使用了雙層機(jī)制:復(fù)用層和同步層。復(fù)用層機(jī)制管理MPEG-4音頻載荷和特定配置元素并形成LATM包。在文獻(xiàn)[6]中同步層指定了傳輸流的自同步語(yǔ)法LOAS,為L(zhǎng)ATM包的傳輸提供了同步保護(hù)機(jī)制。解復(fù)用器已經(jīng)將傳輸流解析為復(fù)用幀流,因此AAC幀中的音頻載荷存在于LATM包中。LATM包由長(zhǎng)度信息(LengthInfo)和復(fù)用載荷(PayloadMux)組成,其中LengthInfo以字節(jié)為單位指示載荷長(zhǎng)度。根據(jù)LengthInfo的大小就可獲得對(duì)應(yīng)的復(fù)用載荷,這些復(fù)用載荷可以交給解碼器直接解碼[11]。

        3 電視業(yè)務(wù)同步播放

        3.1 解碼播放

        CMMB碼流解復(fù)用后,獲取到可用于解碼的NALU(視頻解碼元素)和PayloadMux(音頻解碼元素)。針對(duì)功能的實(shí)現(xiàn),本文采用基于FFMPEG+SDL的解碼播放方案[12]。FFMPEG是一個(gè)開源跨平臺(tái)的視頻和音頻流解決方案,可以用來記錄和轉(zhuǎn)換數(shù)字音頻、視頻的開源 C程序。SDL(Simple Direct Media Layer,簡(jiǎn)易直控媒體層)是一套開放源代碼的多媒體庫(kù),也是由C語(yǔ)言開發(fā)而成,用于直接控制底層的多媒體硬件接口實(shí)現(xiàn)圖像和聲音的呈現(xiàn)?;贔FMPEG+SDL的處理方案如圖5所示。

        圖5 解碼播放方案

        由于視頻和音頻是兩種不同性質(zhì)的媒體,借助FFMPEG和SDL的開源代碼及SDK分別予以處理。FFMPEG解碼之前需要初始化,首先調(diào)用avcodec_register_all注冊(cè)可能的解碼器,利用avcodec_find_decoder找到H.264解碼器(標(biāo)識(shí)為CODEC_ID_H264)和AAC解碼器(CODEC_ID_AAC_LATM),并使用avcodec_open打開上述解碼器。然后用avcodec_alloc_context、avcodec_alloc_frame完成解碼上下文和數(shù)據(jù)緩存幀的分配。在FFMPEG實(shí)際解碼的時(shí)候,通過avcodec_decode_video解碼 H.264 NALU得到Y(jié)UV420圖像,通過avcodec_decode_audio解碼AAC PayloadMux得到PCM數(shù)據(jù)。對(duì)于視頻捕獲和編解碼應(yīng)用來說,通常使用YUV[13]顏色空間替代RGB顏色空間。以YUV420格式為例,圖像中平均一個(gè)像素可以比RGB格式節(jié)省一半的數(shù)據(jù)量,只需占用極少的帶寬。PCM(脈沖編碼調(diào)制)格式數(shù)據(jù)直接由音頻驅(qū)動(dòng)程序根據(jù)采樣率恢復(fù)為人耳可辨的模擬音頻信號(hào)。

        其次,使用SDL對(duì)YUV420圖像和PCM數(shù)據(jù)進(jìn)行處理。SDL處理前同樣得初始化:調(diào)用SDL_Init裝載支持視頻和音頻的鏈接庫(kù)并初始化子系統(tǒng),設(shè)置分辨率和圖像格式后使用SDL_CreateYUVOverlay創(chuàng)建YUV覆蓋層,同時(shí)設(shè)置好解碼音頻的采樣率(48kHz)、通道數(shù)(2)、緩存等參數(shù)。最后調(diào)用SDL提供的底層接口驅(qū)動(dòng)顯示設(shè)備和音頻設(shè)備來呈現(xiàn)圖像和聲音。

        3.2 同步處理

        視頻和音頻的播放不是完全獨(dú)立的2個(gè)過程,因?yàn)榫鸵曨l信息和音頻信息而言這兩種媒體在時(shí)間上有很強(qiáng)的相關(guān)性,必須保證兩者的同步才能為接收端的用戶帶來良好的播放效果。視音頻同步即實(shí)現(xiàn)每一幀圖像顯示的同時(shí),對(duì)應(yīng)的聲音信號(hào)能夠進(jìn)行回放。視音頻同步的概念由來已久,但真正做到同步又能保證播放質(zhì)量卻不簡(jiǎn)單。同步的方法有很多種,如基于緩存區(qū)數(shù)據(jù)控制的媒體內(nèi)同步、基于時(shí)間戳的媒體間同步、基于實(shí)時(shí)通信協(xié)議的同步和音頻嵌入視頻的同步等[14]。CMMB中視音頻單元的相對(duì)播放時(shí)間共用一個(gè)起始播放時(shí)間,所以系統(tǒng)適合采用基于相對(duì)播放時(shí)間的媒體間同步方法。

        基于時(shí)間戳媒體間同步的原理是:將媒體數(shù)據(jù)按照時(shí)間先后順序作時(shí)間戳,相同時(shí)間戳的數(shù)據(jù)同時(shí)表現(xiàn)。時(shí)間戳(Time-Stamp)相當(dāng)于時(shí)間標(biāo)記,記錄著某個(gè)媒體的時(shí)間屬性。這種方法的優(yōu)點(diǎn)是不需要附加信道,不需要額外的同步信息且不改變媒體流數(shù)據(jù)。

        人的聽覺敏感度要大于視覺敏感度,所以允許少許畫面不流暢而絕不允許聲音的斷斷續(xù)續(xù)。同步處理中以音頻為時(shí)間主導(dǎo),音頻流為主媒體流,視頻流為從媒體流。利用基于相同時(shí)間基點(diǎn)的媒體單元的時(shí)間戳屬性,音頻保持采樣率速率連續(xù)回放,調(diào)整視頻的播放幀率來實(shí)現(xiàn)媒體間同步。根據(jù)視音頻同步的感覺特性指標(biāo),要求數(shù)字電視的視頻和音頻顯示時(shí)間差在-120~+45毫秒之間人才感覺不到視聽質(zhì)量的變化[15]?;谏鲜鲆蛩?,本文的視音頻同步控制算法如下:

        (1)獲得當(dāng)前音頻單元解碼后的音頻幀相對(duì)播放時(shí)間TSaudio,音頻幀直接由SDL驅(qū)動(dòng)回放。

        (2)獲得當(dāng)前視頻單元解碼后的視頻幀相對(duì)播放時(shí)間 TSvideo,計(jì)算時(shí)間差△T(△T=TSvideo-TSaudio,單位毫秒)分3種情況控制:

        ①-120≤△T≤+45,視頻幀由SDL驅(qū)動(dòng)顯示;

        ②△T<-120,當(dāng)前視頻幀滯后作丟棄處理;

        ③△T>+45,當(dāng)前視頻幀超前音頻幀,重復(fù)播放當(dāng)前視頻幀,等待下一個(gè)音頻幀的處理。

        (3)重復(fù)上述①、②過程直到業(yè)務(wù)處理完畢。

        圖6 視音頻同步的控制機(jī)制

        同步處理的控制機(jī)制如圖6所示,而且程序?qū)崿F(xiàn)過程中采用了多線程技術(shù)應(yīng)用于視頻和音頻的并發(fā)處理。由于解碼速率與播放速率的不匹配,兩者之間還需要建立反饋機(jī)制來保證合適的解碼緩沖量。

        4 實(shí)驗(yàn)結(jié)果與分析

        在對(duì)CMMB復(fù)用碼流解復(fù)用時(shí),針對(duì)同一復(fù)用子幀中的視音頻計(jì)算并記錄各個(gè)單元的實(shí)際播放時(shí)間,在播放處理時(shí)用于做基于時(shí)間戳的媒體間同步。針對(duì)本文使用的cmmb.mfs碼流,提取其中CCTV1電視業(yè)務(wù)的時(shí)間戳信息并繪制成圖7,提取視音頻流解碼并同步播放,效果如圖8所示。

        圖7 CCTV1頻道的時(shí)間戳信息

        圖8 解復(fù)用播放效果圖

        在圖7中,CCTV1頻道的節(jié)目持續(xù)了約6秒,其中單元編號(hào)與播放時(shí)間呈線性遞增關(guān)系。由于視音頻這2種媒體的幀率不同,相同時(shí)間內(nèi)單元數(shù)目的不一致導(dǎo)致圖7中2條數(shù)據(jù)線不完全重合,但使用基于時(shí)間戳的媒體間同步方法完全可以實(shí)現(xiàn)節(jié)目?jī)?nèi)容的同步播放。如圖8所示,CCTV1對(duì)應(yīng)廣播信道幀中MF_ID為2的復(fù)用幀中的一個(gè)業(yè)務(wù),控制幀承載的控制信息由左側(cè)列表框顯示,業(yè)務(wù)所承載的視頻由右側(cè)小窗口顯示,承載的音頻交給音頻驅(qū)動(dòng)程序回放。

        5 結(jié)束語(yǔ)

        隨著移動(dòng)終端和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,移動(dòng)多媒體業(yè)務(wù)的推行也日漸成熟。本文在分析CMMB復(fù)用結(jié)構(gòu)的基礎(chǔ)上,在PC平臺(tái)下設(shè)計(jì)并實(shí)現(xiàn)了碼流解復(fù)用和同步播放的方案,且實(shí)際播放的效果較好地驗(yàn)證了該方案的可行性和可靠性。該方案中的核心功能使用C語(yǔ)言開發(fā),由于C語(yǔ)言具有良好的可移植性,本設(shè)計(jì)為下一步在嵌入式平臺(tái)上的方案應(yīng)用奠定了基礎(chǔ)。

        [1]解偉.移動(dòng)多媒體廣播系統(tǒng)與標(biāo)準(zhǔn)[J].現(xiàn)代電信科技,2008,38(6):22-29.

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

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

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

        [5]Joint Video Team of ITU-T and ISO/IEC JTC 1,Draft ITUT Recommendation and Final Draft International Standard of Joint Video Specification(ITU-T Rec.H.264|ISO/IEC 14496-10 AVC)[S].

        [6]ISO/IEC 14496-3,MPEG-4 Part3:Audio[S].

        [7]畢厚杰.新一代視頻壓縮編碼標(biāo)準(zhǔn):H.264/AVC[M].北京:人民郵電出版社,2009:190-206.

        [8]RFC 3984,RTP Payload Format for H.264 Video[S].

        [9]RFC 3016,RTP Payload Format for MPEG-4 Audio/Visual Streams[S].

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

        [11]王立煒.MPEG-4 AAC音頻解碼器的優(yōu)化與實(shí)現(xiàn)[D].武漢:華中科技大學(xué),2010.

        [12]Martin Bohme.An ffmpeg and SDL Tutorial[EB/OL].http://dranger.com/ffmpeg/,2012-11-25.

        [13]劉云粼,王樹東.基于SSE2的YUV與RGB色彩空間轉(zhuǎn)換[J].中國(guó)圖象圖形學(xué)報(bào),2010,15(1):45-49.

        [14]齊成明.音視頻同步問題的研究與實(shí)現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2009.

        [15]徐康興.音頻與視頻信號(hào)時(shí)間差及其測(cè)量[J].電視技術(shù),2009,33(2):85-87.

        亚洲精品尤物av在线网站| 亚洲国产成人久久综合下载| 妓院一钑片免看黄大片| 日韩丝袜亚洲国产欧美一区| 精品亚洲视频免费观看网站| 熟女人妻丰满熟妇啪啪| 丁香婷婷激情俺也去俺来也| 国产亚洲成人精品久久| 两个人看的www免费视频中文| 国产日韩欧美亚洲精品中字| 国产欧美亚洲精品第二区首页| 国内精品毛片av在线播放| 日韩人妻熟女中文字幕a美景之屋| 国产精品久久国产三级国不卡顿 | 午夜亚洲www湿好大| 亚洲性爱区免费视频一区| 亚洲国产一区二区中文字幕| 国产激情无码一区二区| 国产自国产在线观看免费观看 | 成人做爰高潮尖叫声免费观看| 97精品国产高清自在线看超| 经典黄色一区二区三区| 男人的天堂av网站| 亚洲一区二区三区日本久久九| 亚洲国产一区二区三区在观看| 美女脱了内裤洗澡视频| 亚洲精品国产美女久久久| 国产美女免费国产| 人妻少妇无乱码中文字幕| 国产成人自拍高清在线| 精品无码久久久久成人漫画| 亚洲福利天堂网福利在线观看| 韩国黄色三级一区二区| 人人妻人人澡人人爽国产| 欧美国产精品久久久乱码| 99久久国产综合精品女乱人伦| 蜜桃噜噜一区二区三区| 无遮挡18禁啪啪羞羞漫画| 日本五月天婷久久网站| 亚洲精品精品日本日本| 变态调教一区二区三区女同|