H.264標(biāo)準(zhǔn)是由運(yùn)動(dòng)圖像專家組MPEG和ITU下屬的視頻編碼專家組VCEG聯(lián)合制定的新一代低比特率視頻壓縮編碼標(biāo)準(zhǔn)。與以往的標(biāo)準(zhǔn)相比,它采用了更多的先進(jìn)技術(shù),使得在同樣的碼率下運(yùn)用H.264標(biāo)準(zhǔn)編碼可以獲得更好的主客觀質(zhì)量。但同時(shí),由于H.264新標(biāo)準(zhǔn)的高效率壓縮編碼,壓縮視頻流在傳輸過程中對(duì)信道誤碼也更敏感,即使單個(gè)突發(fā)性錯(cuò)誤,也可能嚴(yán)重干擾接收端的正常解碼,造成恢復(fù)視頻質(zhì)量的急劇下降。為此,H.264新標(biāo)準(zhǔn)采用了多種用于增強(qiáng)壓縮視頻流抗誤碼能力的編碼技術(shù),以保證恢復(fù)視頻流的質(zhì)量,本文對(duì)此進(jìn)行歸納研究。
2H.264視頻編解碼標(biāo)準(zhǔn)中抗誤碼技術(shù)的應(yīng)用同其他視頻編解碼標(biāo)準(zhǔn)H.263、MPEG-2和MPEG-4一樣,H.264標(biāo)準(zhǔn)也是通過多種抗誤碼技術(shù)的聯(lián)合應(yīng)用來增強(qiáng)視頻流在誤碼、丟包多發(fā)環(huán)境(如無線和IP信道)中傳輸?shù)聂敯粜浴EcH.263標(biāo)準(zhǔn)相比,H.264新標(biāo)準(zhǔn)中所采用的抗誤碼技術(shù)可分為3類,一類是H.264直接采用的舊標(biāo)準(zhǔn)中效率高、技術(shù)成熟的抗誤碼技術(shù),如圖像分割、參考圖像選擇等技術(shù);第二類是經(jīng)過改進(jìn)在H.264標(biāo)準(zhǔn)中得到更好應(yīng)用的抗誤碼技術(shù),如幀內(nèi)編碼、數(shù)據(jù)分割;第三類就是基于H.264標(biāo)準(zhǔn)的全新的視頻壓縮抗誤碼技術(shù)。在H.264中主要使用了3種新的抗誤碼技術(shù):參數(shù)集、靈活的宏塊排列次序(FMO)和冗余片技術(shù)。
第一類抗誤碼技術(shù)在很多現(xiàn)有文獻(xiàn)中都有較詳細(xì)的描述,這里不再介紹,本文僅對(duì)上面提及的后兩類抗誤碼技術(shù)加以討論。
2.1幀內(nèi)編碼
基于宏塊、片(slice)或圖像的幀內(nèi)編碼主要用于克服由于誤碼所導(dǎo)致的參考圖像漂移對(duì)當(dāng)前幀的影響,這種抗誤碼技術(shù)在標(biāo)準(zhǔn)H.263中就得到了很好的應(yīng)用,但在H.264中,幀內(nèi)編碼技術(shù)又被賦予了兩種新的特性。
(1)幀內(nèi)預(yù)測(cè)
H.264允許幀內(nèi)宏塊預(yù)測(cè),甚至可以利用經(jīng)預(yù)測(cè)編碼后的痔匭浴T贖.264中利用限制幀內(nèi)預(yù)測(cè)編碼標(biāo)志(Constrained Intra Prediction Flag)來標(biāo)識(shí)是否采用了幀內(nèi)宏塊預(yù)測(cè),當(dāng)限制幀內(nèi)預(yù)測(cè)編碼標(biāo)志被設(shè)置時(shí),表明不采用這種方式的預(yù)測(cè),并恢復(fù)幀內(nèi)信息的重同步特性。在參考文獻(xiàn)[3]中詳細(xì)討論的一個(gè)無線環(huán)境下的有損率失真優(yōu)化編碼器測(cè)試模型中,就通過設(shè)置限制幀內(nèi)預(yù)測(cè)編碼標(biāo)志取得了較好的效果。
(2)幀內(nèi)編碼片和IDR片
對(duì)幀內(nèi)編碼,新標(biāo)準(zhǔn)H.264中還采用了兩種類型的、僅包含幀內(nèi)編碼宏塊的片:幀內(nèi)編碼片和IDR(Instantaneous Decoder Refresh)片。其中,IDR片僅用于構(gòu)成一個(gè)完整的IDR圖像,也就是IDR圖像中的所有片必須是IDR片,一個(gè)IDR片只能作為IDR圖像的一部分。在解碼器端,當(dāng)解碼完一幅IDR圖像后,解碼器立即將所有的參考圖像標(biāo)識(shí)為“未用作參考”。這樣,后續(xù)圖像被解碼時(shí),肢不參考該IDR圖像前面的任何圖像。每個(gè)視頻序列的第一幅圖像一定是IDR圖像。與僅包含幀內(nèi)編碼片的圖像相比,IDR圖像具有更強(qiáng)的重同步特性。需要注意的是,由于H.264采用了多參考肘碼時(shí)所參考的圖像早于此幀內(nèi)編碼圖像時(shí),則即使此幀內(nèi)編碼圖像和所有后續(xù)圖像都是無誤碼傳輸?shù)模矡o法消除誤碼擴(kuò)散所導(dǎo)致的圖像漂移。
2.2數(shù)據(jù)分割
數(shù)據(jù)分割是一種高效的抗誤碼技術(shù)。通常情況下,一個(gè)宏塊中的所有碼元被編碼組織在單個(gè)的比特串中用于構(gòu)成片。而數(shù)據(jù)分割則為每個(gè)片生成多個(gè)比特串,即多個(gè)數(shù)據(jù)分塊,并將片中彼此之間語義相近并有緊密聯(lián)系的碼元組織在一個(gè)獨(dú)立的數(shù)據(jù)分塊中。針對(duì)信息的重要程度,對(duì)不同的數(shù)據(jù)分塊采用不等的保護(hù)措施,保證了恢復(fù)視頻的質(zhì)量。
在H.264中,共使用了3種不同類型的數(shù)據(jù)分塊:頭信息、幀內(nèi)數(shù)據(jù)分塊與?
(1)頭信息
頭信息中包含了本宏塊的類型、量化參數(shù)和運(yùn)動(dòng)矢量。這個(gè)數(shù)據(jù)分塊是最重要的,如果它丟失,即使別的數(shù)據(jù)分塊被正確接收到也將不可用,因此在分割重組后,頭信息被賦予了最大程度的保護(hù)。此數(shù)據(jù)分塊類型在H.264中稱為A類分塊。
(2)幀內(nèi)數(shù)據(jù)分塊
幀內(nèi)數(shù)據(jù)分塊也稱為B類分塊,它承載幀內(nèi)CBPs和幀內(nèi)系數(shù)。B類分塊需要相應(yīng)片的A類分塊可用。與囑包含肘碼器間的同步,相應(yīng)地,值謀;ちΧ紉滄釙帷A磽猓揮械盇類分塊可用時(shí)C類分塊才可用,但并不需B類分塊可用。
當(dāng)使用數(shù)據(jù)分割時(shí),信源編碼器將不同類型的碼元放入3個(gè)不同的比特緩存器中,以生成3種類型的數(shù)據(jù)分塊。同時(shí),調(diào)整片的大小,以保證打包最大的數(shù)據(jù)分塊時(shí)所生成的包小于MTU(maximum transfer unit)的允許值。也正是出于這個(gè)原因,在H.264中是由信源編碼器來執(zhí)行數(shù)據(jù)分割而不是NAL。
在解碼器中,所有的數(shù)據(jù)分塊都應(yīng)能有效地用于圖像重構(gòu)。特別地,如果僅僅是幀內(nèi)或囑僅是內(nèi)容信息丟失而已,可以利用先前解碼幀很好地進(jìn)行掩蓋。
2.3參數(shù)集
參數(shù)集通常應(yīng)用在所有的H.264比特流中,它所包含的信息極其重要,它的受損將影響到大量的VCL和NAL單元,被影響的單元即使能正確接收到也不能被正確解碼,在H.264新標(biāo)準(zhǔn)中共使用了兩種類型的參數(shù)集。
(1)序列參數(shù)集,包括與圖像序列(定義為兩個(gè)IDR圖像間的所有圖像)有關(guān)的所有信息,應(yīng)用于已編碼視頻序列。
(2)圖像參數(shù)集,包含所有屬于該圖像的片的相關(guān)信息,用于解碼已編碼視頻序列中的1個(gè)或多個(gè)獨(dú)立的圖像。
多個(gè)不同序列和圖像的參數(shù)集被解碼器正確接收后,存儲(chǔ)于不同的已編號(hào)位置,通過參考每個(gè)已編碼片片頭的存儲(chǔ)位置,編碼器選擇使用恰當(dāng)?shù)膱D像參數(shù)集,圖像參數(shù)集中包含1個(gè)要使用和參考的序列參數(shù)集。
參數(shù)集的靈活使用大大增強(qiáng)了編解碼器的抗誤碼能力。在有誤碼傾向環(huán)境下,使用參數(shù)集的關(guān)鍵是,在相應(yīng)的VCL與NAL單元到達(dá)解碼器時(shí),確保參數(shù)集已可靠及時(shí)地到達(dá)解碼器。最常用的手段就是重復(fù)發(fā)送,來提高數(shù)據(jù)可靠到達(dá)的機(jī)率。這種情況下典型的應(yīng)用是參數(shù)集的傳送與VCL NAL共用1個(gè)信道。另外,參數(shù)集也可以單獨(dú)使用更可靠的傳輸機(jī)制在帶外發(fā)送。
由于采用了可靠的傳輸機(jī)制和性能更好的信道,參數(shù)集能被及時(shí)可靠地送達(dá)解碼器端,保證了相應(yīng)VCL與NAL單元的正確解碼。但是,這種方式需要額外的1個(gè)信道,以及可靠的傳輸機(jī)制,如果條件許可時(shí),應(yīng)用這種傳輸方式能增強(qiáng)編解碼器的抗誤碼能力,但限于網(wǎng)絡(luò)資源的現(xiàn)狀,實(shí)際應(yīng)用中更多的是采用第一種方式來傳輸參數(shù)集。
2.4靈活的宏塊排列次序
靈活的宏塊排列次序(FMO)允許以不同于圖像掃描順序的組織方式將宏塊分配給各片,在這種方式中,每個(gè)宏塊按照宏塊配置圖固定地分配給一個(gè)片,片中的宏塊按照掃描順序被編碼,每個(gè)片單獨(dú)傳輸。若某個(gè)片在傳輸過程中丟失,可以利用其他被正確接收、包含與丟失片中宏塊相鄰宏塊的片來進(jìn)行有效的誤碼掩蓋。由于在解碼器中各個(gè)片被獨(dú)立解碼,從而有效地抑制了錯(cuò)誤的蔓延,提高了解碼的容錯(cuò)力。假定圖像足夠小剛好分為兩個(gè)片,此圖像中的所有宏塊被配置給片0或片1,其中白色的宏塊屬于片0,而灰色的宏塊屬于片1。假如在傳輸中,包含片1信息的包丟失,由于丟失片1中的每個(gè)宏塊與另一個(gè)片0中的宏塊在空間上分散相鄰,片0中包含大量與片1中宏塊相關(guān)的信息,利用它就可以對(duì)丟失片進(jìn)行有效的誤碼掩蓋。試驗(yàn)表明,在視頻會(huì)議應(yīng)用中,CIF大小的圖像,即便丟失率達(dá)10%,使用FMO后重構(gòu)視頻的視覺效果也只有專家才能確認(rèn)它是經(jīng)過有損傳輸后的重構(gòu)視頻。使用FMO的代價(jià)是它帶來的較低的編碼效率(因?yàn)樗茐牧藞D像內(nèi)相鄰宏塊間的預(yù)測(cè)機(jī)制),并且,在高優(yōu)化環(huán)境下,由于預(yù)測(cè)的難度較大,帶來大的時(shí)延。FMO有多種模式,從矩形模式到規(guī)則的散布模式或完全隨機(jī)的散布模式。
.5冗余片
冗余片技術(shù),簡單地講就是,在同一個(gè)比特流中,編碼器除了將片自身中已編碼的宏塊放置其中外,同一宏塊的1個(gè)或多個(gè)冗余的表示也同時(shí)被放置其中,通過利用宏塊的1個(gè)或多個(gè)冗余表示來克服誤碼造成的不可用片對(duì)重構(gòu)圖像的影響。這種技術(shù)與基于冗余的傳輸如包復(fù)制有著本質(zhì)的區(qū)別。在包復(fù)制冗余傳輸中,被復(fù)制的包和復(fù)制包一模一樣,而在冗余片技術(shù)的使用中,冗余片使用不同的編碼參數(shù)來編碼,從而形成對(duì)同一宏塊的不同表示。例如,主冗余片可以使用較小的QP來量化編碼,因此具有較好的重構(gòu)圖像質(zhì)量。次要的冗余片可以使用一個(gè)較大的QP來量化編碼,因而使用較少的比特?cái)?shù),重構(gòu)質(zhì)量較粗糙。在解碼器中重構(gòu)圖像時(shí),如果主冗余片可用,則僅使用主冗余片而丟棄其余的冗余片。只有當(dāng)主冗余片在傳輸?shù)倪^程中丟失或由于誤碼等原因而不可用時(shí),其余的冗余片才用于重構(gòu)圖像。這種對(duì)主次冗余片不同編碼參數(shù)的運(yùn)用,使得冗余片技術(shù)在花銷最少比特?cái)?shù)的情況下,最大限度地保證了重構(gòu)圖像的質(zhì)量,尤其是在有誤碼傾向的移動(dòng)信道或IP信道環(huán)境下,采用冗余片技術(shù)可顯著提高重構(gòu)圖像的主客觀質(zhì)量。
3.結(jié)束語
H.264是ITU-T和MPEG聯(lián)合制定的新一代低比特率視頻壓縮編碼標(biāo)準(zhǔn),其中包含了豐富的抗誤碼技術(shù),為壓縮視頻流在資源有限的不可靠網(wǎng)絡(luò)上實(shí)時(shí)、高效的傳輸提供了保證。針對(duì)新標(biāo)準(zhǔn)抗誤碼技術(shù)的分析和研究可以更好地利用這些技術(shù)提高端到端通信的質(zhì)量,對(duì)今后無線和IP視頻通信產(chǎn)品的研制與開發(fā)有著極其重要的作用和意義。