關(guān)于H.264視頻編碼傳輸的QoS特性分析
在過(guò)去的20年里,Internet、移動(dòng)通信和多媒體通信獲得了前所未有的發(fā)展,并獲得了巨大的商業(yè)成功。移動(dòng)通信和多媒體技術(shù)的融合正在加速進(jìn)行,諸如網(wǎng)絡(luò )架構、低功耗的集成電路、功能強大的數字信號處理芯片、高效的壓縮算法等方面的研究成果不斷涌現。面向無(wú)線(xiàn)網(wǎng)絡(luò )和因特網(wǎng)的視頻圖像編碼與傳輸技術(shù)已成為當今信息科學(xué)與技術(shù)的前沿課題。
2003年,ISO/IEC的運動(dòng)圖像專(zhuān)家組(MPEG)與ITU-T的視頻編碼專(zhuān)家組(VCEG)聯(lián)手制定了最新的第三代視頻編碼標準H.264/AVC[1]。其主要目的就是為了提供更高的編碼效率和更好的網(wǎng)絡(luò )適應性。在相同重構圖像質(zhì)量下,與H.263+和MPEG-4 ASP標準相比,能節約50%的碼流;采用分層模式,定義了視頻編碼層(VCL)和網(wǎng)絡(luò )提取層(NAL),后者專(zhuān)為網(wǎng)絡(luò )傳輸設計,能適應不同網(wǎng)絡(luò )中的視頻傳輸,進(jìn)一步提高網(wǎng)絡(luò )的“親和性”。H.264引入了面向IP包的編碼機制,有利于網(wǎng)絡(luò )中的分組傳輸,支持網(wǎng)絡(luò )中視頻的流媒體傳輸;具有較強的抗誤碼特性,特別適應丟包率高、干擾嚴重的無(wú)線(xiàn)視頻傳輸的要求。
二、視頻通信容錯算法的回顧
目前視頻編碼壓縮標準主要有MPEG-x和H.26x兩大系列,這些壓縮算法都是基于宏塊的[2],分別從三個(gè)方面改善編碼效率:
?。?)運動(dòng)估計/運動(dòng)補償(MP/MC)消除視頻時(shí)間冗余;
?。?)圖像差值的離散余弦變換(DCT)消除空間冗余;
?。?)量化系數的可變長(cháng)編碼(VLC)消除統計冗余。
實(shí)踐表明,通過(guò)上述方法,視頻編碼標準獲得了極高的壓縮效率。但壓縮后的碼流在Internet,特別是無(wú)線(xiàn)信道上的傳輸仍然存在著(zhù)一些棘手的問(wèn)題,其中比較突出的一點(diǎn)是:一方面,這些壓縮后的碼流對信道比特誤碼非常敏感;而另一方面,無(wú)線(xiàn)信道由于多徑反射和衰落引入了大量的隨機誤碼和突發(fā)誤碼,影響了碼流的正常傳輸。尤其是當采用了VLC方案后,碼流更加容易受到誤碼的影響,結果在解碼端將失去與編碼端的同步,導致在遇到下一個(gè)同步碼字之前無(wú)法對VLC 碼字進(jìn)行正確的解碼;同時(shí)預測編碼技術(shù)會(huì )將錯誤擴散到整個(gè)視頻序列中,極大地降低重建圖像的質(zhì)量。因此,為了實(shí)現良好質(zhì)量的視頻傳輸,必須結合實(shí)際應用信道的傳輸特性,采取一定的容錯措施。
根據在視頻傳輸系統中位置的不同,容錯算法[3]主要可分為基于編碼器的容錯算法,基于解碼器的容錯算法和基于反饋信道的容錯算法。其中:
?。?)基于編碼器的容錯算法,通過(guò)再編碼比特流中添加冗余信息,這些冗余信息被添加在信源或信道編碼器中,降低了編碼的效率,增加了實(shí)現的復雜度,以換取編碼的容錯性能,大致包括:分層編碼、多描述編碼、獨立分段編碼、再同步編碼和前向糾錯編碼(FEC)等。
?。?)基于解碼器的容錯算法,是指利用被損壞的宏塊與其相鄰的宏塊之間的相關(guān)性來(lái)完成恢復工作的,這部分工作包括錯誤檢測和錯誤恢復。對于錯誤的檢測,一般采用針對語(yǔ)法的檢錯和嵌入數據的檢錯;對于錯誤恢復,可采用時(shí)域和空域的錯誤隱藏方法。
?。?)基于反饋信道的容錯算法,指利用解碼器獲得誤碼信息,并通過(guò)反饋信道,傳送給編碼器進(jìn)行誤碼處理的一種方式。主要包括:誤碼跟蹤,有條件的ARQ,幀內/幀間編碼模式選擇和參考圖像選擇模式等。
與此同時(shí),在信源編碼器中,從視頻碼流結構上研究其抗誤碼性能,成為近兩年來(lái)研究的一個(gè)熱點(diǎn)。H.264/AVC作為最新的視頻編碼標準,采取了一系列切合實(shí)際的技術(shù)措施,提高了網(wǎng)絡(luò )適應性,增強了數據抗誤碼的頑健性,從而保證了視頻傳輸后的壓縮視頻的QoS。與以往的視頻編碼標準不同的是,H.264/AVC標準從系統層面定義了視頻編碼層(VCL,Video Coding Layer)和網(wǎng)絡(luò )提取層(NAL,Network Abstraction Layer)。其中,視頻編碼層獨立于網(wǎng)絡(luò ),主要包括核心壓縮引擎和塊、宏塊和片的語(yǔ)法句法定義。通過(guò)引入一系列新特性,不但使H.264的編碼壓縮效率提升了近1倍,而且多種錯誤恢復工具又增強了視頻流的頑健性。網(wǎng)絡(luò )提取層的主要功能是定義數據的封裝格式,把VCL產(chǎn)生的比特字符串適配到各種各樣的網(wǎng)絡(luò )和多元環(huán)境中。涉及片級別以上的語(yǔ)法定義,包括獨立片解碼所要求的數據表示,類(lèi)似以往視頻壓縮標準中的圖像和頭部順序數據;防止競爭的編碼;附加的增強信息以及編碼片的比特字符串。
H.264從框架結構上將NAL與VCL分離,主要有兩個(gè)目的:首先,可以定義VCL視頻壓縮處理與NAL網(wǎng)絡(luò )傳輸機制的接口,這樣允許視頻編碼層VCL的設計可以在不同的處理器平臺進(jìn)行移植,而與NAL層的數據封裝格式無(wú)關(guān);其二,VCL和NAL都被設計成工作于不同的傳輸環(huán)境,異構的網(wǎng)絡(luò )環(huán)境并不需要對VCL比特流進(jìn)行重構和重編碼。下面分別就VCL和NAL對于視頻傳輸的QoS進(jìn)行分析。
三、H.264的視頻編碼層的錯誤恢復[1,4]
在H.261、H.263、MPEG-1、MPEG-2、MPEG-4中,許多錯誤恢復工具已經(jīng)得到了很好的應用:圖像分割的不同形式(片、塊組),I模式宏塊,片和圖像的內插,參考圖像選擇(帶有和不帶反饋、圖像級別、GOB/SLICE或MB級別),數據分割等。
評論