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