电竞比分网-中国电竞赛事及体育赛事平台

分享

[圖文]MPEG-2壓縮編碼技術(shù)原理應用(四)

 lvgs 2006-07-18

二、MPEG-2的編碼

    編碼是MPEG-2標準的核心內(nèi)容之一,其涉及到MPEG-2視頻流層結(jié)構(gòu)、MPEG-2幀間編碼結(jié)構(gòu)、MPEG-2的類與級、MPEG-2運動估值等技術(shù)。

1. MPEG-2視頻流層結(jié)構(gòu)

    為了便利于誤碼處理、隨機搜索及編輯,MPEG-2用句法定義了1個層次性結(jié)構(gòu),用于表示視頻編碼數(shù)據(jù)。MPEG-2具體的視頻流層結(jié)構(gòu)如圖10所示:將MPEG-2視頻流分為圖像序列層(VSL-Video Sequence Layer)、圖像組層 (GOPL-Group of Pictures Layer)、圖像層(PL-Picture Layer)、宏塊條層(SL-Slice Layer)、宏塊層(ML-Macroblock Layer)、塊層(BL-Block Layer)共6個部分,每層都有確定的功能與其對應。

1) 圖像序列層(VSL)

    VSL是由數(shù)據(jù)頭及一系列圖像組(GOP)組成的視頻數(shù)據(jù)包,具體是指一整個要處理的連續(xù)圖像。用于定義整個視頻序列結(jié)構(gòu),可采用逐行或隔行兩種掃描方式。其中,數(shù)據(jù)頭給出了有關(guān)圖像水平大小、垂直大小、寬高比、幀速率、碼率、視頻緩存校驗器的大小、量化矩陣、層號(Layer-id)、分級法(Scalable mode)等,為解碼提供了重要依據(jù)。

2) 圖像組層(GOPL)

    GOPL是圖像序列層中若干圖像組的1組圖像,由數(shù)據(jù)頭和若干幅圖像組成,用于支持解碼過程中的隨機存取功能。圖像分組是從有利于隨機存取及編輯出發(fā)的,不是MPEG-2結(jié)構(gòu)組成的必要條件,可在分組與否之間靈活選擇。其中,數(shù)據(jù)頭給出了圖像編碼類型、碼表選擇、圖像組頭部開始碼、視頻磁帶記錄時間及控制碼、涉及B幀處理的closed GOP、broken link。為了給編輯數(shù)據(jù)流提供接入點,第1個總是I幀。

3)圖像層(PL)

    PL由數(shù)據(jù)頭和1幀圖像數(shù)據(jù)組成,是圖像組層若干幅圖像中的1幅,包含了1幅圖像的全部編碼信息。MPEG-2圖像掃描可有逐行或隔行兩種方式:當為逐行時,圖像為逐幀壓縮;當為隔行時,圖像為逐場或逐幀壓縮,即在運動多的場景采用逐場壓縮,在運動少的場景采用逐幀壓縮。

    因為,從整個幀中去除的空間冗余度比從個別場中去除得多。其中,數(shù)據(jù)頭提供的基本部分有頭起始碼、圖像編號的時間基準、圖像(I,B,P)幀類型、視頻緩存檢驗器延遲時間等,擴展部分有圖像編碼擴展、圖像顯示擴展、圖像空間分級擴展、圖像時間分級擴展等。其中,基本部分由MPEG-1及MPEG-2共用,擴展部分由MPEG-2專用。

    一幅視頻圖像是由亮度取樣值和色度取樣值組成的,而亮度與色度樣值比例的大小是由取樣頻率之比決定的。在MPEG-2中,亮度與色度之間的比例格式有4:2:0(或4:0:2)、4:2:2、4:4:4三種。

4) 宏塊條層(SL)

    SL由附加數(shù)據(jù)和一系列宏塊組成,其最小長度 = 1個宏塊,當長度 = 圖像寬度時,就成了MPEG-2層面中最大宏塊條長度。為了隱匿誤差,提高圖像質(zhì)量,將圖像數(shù)據(jù)分成由若干個宏塊或宏塊條組成的一條條位串。一旦某宏塊條發(fā)生誤差,解碼器可跳過此宏塊條至下一宏塊條的位置,使下一宏塊條不受有誤差而無法糾正的宏塊條的影響,一個位串中的宏塊條越多,隱匿誤差性能就越好。為此,附加數(shù)據(jù)部分定義了宏塊條在整個圖像中的位置、默認的全局量化參數(shù)、變量優(yōu)先切換點(PBP-Priority Break Point)。其中,PBP用于指明數(shù)據(jù)流在何處分開,解碼器要在兩個數(shù)據(jù)流的恰當點處切換,以保證讀取完整、正確的解碼信息,確保解碼完整無誤。注意,在離散余弦反變換(IDCT-Inverse Discrete Cosine Transform)時,SL可提供重新同步功能。

5) 宏塊層(ML)

    ML是宏塊條層中一系列宏塊中的1塊,由附加數(shù)據(jù)、亮度塊和色度塊共同組成。其中,亮度為16×16像素塊,稱為宏塊。宏塊是碼率壓縮中運動補償?shù)幕締卧?個8×8像素塊構(gòu)成,用于消除P圖像與B圖像之間的時間冗余度。色度塊由多少個8×8像素塊構(gòu)成,取決于亮度與色度之間取樣頻率的比例格式。如MPEG-2有4:2:0、4:2:2、4:4:4三種宏塊結(jié)構(gòu),取樣結(jié)構(gòu)如圖11所示。圖中4:2:0是由4個8×8亮度(Y)像素塊、2個8×8紅色(Cr)像素塊及0個8×8蘭色(Cb)像素塊構(gòu)成的,或4:0::2是由4個8×8亮度(Y)像素塊、0個8×8紅色(Cr)像素塊及2個8×8蘭色(Cb)像素塊構(gòu)成的,4:2:0與4:0:2是交替進行的,使垂直分解力降低(類似4:1:1使水平分解力降低),只含有1/4的色度信息。4:2:2是由4個8×8亮度(Y)像素塊、2個8×8紅色(Cr)像素塊及2個8×8蘭色(Cb)像素塊構(gòu)成的,只含有1/2的色度信息。4:4:4是由4個8×8亮度(Y)像素塊、4個8×8紅色(Cr)像素塊及4個8×8蘭色(Cb)像素塊構(gòu)成的,是全頻寬YCrCb視頻。宏塊層ML包含P幀及B幀的運動矢量(MV-Motion Vectors)。附加數(shù)據(jù)包含的信息有:表明宏塊在宏塊條層中位置的宏塊地址、說明宏塊編碼方法及內(nèi)容的宏塊類型、宏塊量化參數(shù)、區(qū)別運動矢量類型及大小、表明以場離散余弦變換(DCT- Discrete Cosine Transform)還是以幀DCT進行編碼的DCT類型。

6) 塊層(BL)

    BL是只包含1種類型像素的8×8像素塊,即是單一的8×8亮度(Y)像素塊,或是單一的8×8紅色(Cr)像素塊,或是單一的8×8蘭色(Cb)像素塊。它是提供DCT系數(shù)的最小單元,即其功能是傳送直流分量系數(shù)和交流分量系數(shù)。若需要對宏塊進行DCT,也要先將宏塊分成像素塊后再進行。

2. MPEG-2幀間編碼結(jié)構(gòu)

    為了在高效壓縮編碼的條件下、獲得可隨機存取的高壓縮比、高質(zhì)量圖像,MPEG定義了I、P、B三種圖像格式,分別簡稱為幀內(nèi)圖(Intra Picture)、預測圖(Predicted Picture)及雙向圖(Bidirec tional Picture),即I圖、P圖及B圖,用于表示1/30s時間間隔的幀序列畫面。因為,要滿足隨機存取的要求,僅利用I圖本身信息進行幀內(nèi)編碼就可以了;要滿足高壓縮比和高質(zhì)量圖像的要求,單靠I圖幀內(nèi)編碼還不行,還要加上由P圖和B圖參與的幀間編碼,以及塊匹配運動補償預測,即用前一幀圖像預測當前圖像的因果預測和用后一幀圖像預測當前圖像的內(nèi)插預測。這就要求幀內(nèi)編碼與幀間編碼平衡,因果預測與內(nèi)插預測間的平衡。平衡的結(jié)果是隨機存取的高壓縮比、高質(zhì)量圖像的統(tǒng)一。圖12是MPEG-2幀間編碼結(jié)構(gòu)圖,其中:

1) 幀內(nèi)編碼圖(ICP)

    I圖為不要基準圖像編碼作為基準所產(chǎn)生的圖像,稱為幀內(nèi)編碼圖(ICP-Intra Coded Pictures)。特點是:數(shù)據(jù)量最大;幀內(nèi)中等程度壓縮;無運動預測,可采用自相關(guān)性,即幀內(nèi)相鄰像素、相鄰行的亮度、色度信號都具有漸變的空間相關(guān)性,可作靜止圖像處理,無條件傳送;圖像可隨機進入壓縮圖像數(shù)據(jù)序列,進行編碼。

2) 預測編碼圖(PCP)

    P圖是以最近的上一個I圖或P圖為基準進行運動補償預測所產(chǎn)生的圖像,稱為預測編碼圖(PCP-Predictive Coded Pictures)。P圖的特點是:本身是前I圖或P圖的前向預測(FP-Forward Prediction)結(jié)果,也是產(chǎn)生下一個P圖的基準圖像;高編碼效率,與I圖相較,可提供更大的壓縮比;前一個P圖是下一個P圖補償預測的基準,如果前者存在誤碼,則后者會將編碼誤差積累起來、傳播下去。

3) 雙向預測編碼圖(BPCP)

    目前對B圖有兩種趨同的理解:其一,B圖是同時以前面的I圖或P圖和后面的P圖或I圖為基準進行運動補償預測所產(chǎn)生的圖像,稱為雙向預測編碼圖(BPCP-Bidirectional Predictive Coded Picture)。前面的I圖或P圖代表“過去信息”,后面的P圖或I圖代表“未來信息”,由于同時使用了“過去”和“未來”兩種信息,所以稱為雙向預測。其二,由于幀序列相鄰幀畫面間的運動部分具有連續(xù)到時間相關(guān)性,可將當前畫面看成是前一畫面某一時刻圖像的位移,當然位移方向及幅值在幀內(nèi)各處未必相同,只要用前面最近時刻的I圖或P圖及代表運動的位移信息,便可預測出當前圖像,稱為前向預測(FP)。根據(jù)某時刻的圖像及反映位移信息的運動矢量,預測出某時刻以前的圖像,以便預測出前一幀中沒有顯露而現(xiàn)在出現(xiàn)的信息,稱為后向預測(BP-Backword Prediction)。B圖是將前向預測(FP)與后向預測(BP)同時使用并取其平均值后所產(chǎn)生的圖像,稱為雙向預測圖或平均值預測圖。

    由圖12可見,一個GOP由I為起始的一串IBP幀組成,GOP的長度是前一個I幀到下一個I幀之前的B幀之間的間隔,如I1B2B3P4B5B6P7B8B9I10中從I1到B9就是GOP的長度。GOP越長,MPEG-2編碼越有效,而數(shù)據(jù)流的編輯及組接越困難。一般,最多由12幀組成?;鶞蕩貜皖l率的不同,可提供不同的輸出碼率。GOP的結(jié)構(gòu)隨碼率變化而不同,如碼率大于40Mbps時,幀重復方式為只有I幀,GOP最短,具有高效率的優(yōu)點;碼率為15-40Mbps時,幀重復方式為IB,GOP較短;碼率小于15 Mbps時,幀重復方式為IBP或IBBP,GOP較長,有延遲,影響存取速度??傊瑘D像質(zhì)量隨著碼率10-50 Mbps的升高而提高,隨著幀重復方式I-IB-IBBP使GOP變長而增長。盡管幀重復方式可以是IP,IB,IBP,IBBP,甚至是只有I幀,但針對不同的應用及碼率,有不同的GOP結(jié)構(gòu):新聞編采,碼率18Mbps,采用IB幀的GOP結(jié)構(gòu);節(jié)目分配,碼率20Mbps,采用IBBP幀的GOP結(jié)構(gòu);存檔,碼率30Mbps,采用IB幀的GOP結(jié)構(gòu):后期制作,碼率50Mbps,采用I幀GOP結(jié)構(gòu)。圖13表示了GOP與圖像質(zhì)量的關(guān)系及應用,圖中編碼規(guī)則是:I幀4:2:2 @ ML MPEG速率為40-50Mbps;IBIBIB序列速率為25-30Mbps;長GOPIBP序列速率為12-18 Mbps。

    系統(tǒng)對B幀像素不編碼、不傳送、不作為預測基準。僅在解碼時,用雙向預測的插值法建立,如I1與P4之間的B2、B3幀由I1和P4加權(quán)內(nèi)插而建立。B幀像素塊數(shù)據(jù)中,僅攜帶著為每個像素塊設(shè)置的“運動矢量”。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多