視頻壓縮的目標是在盡可能保證視覺效果的前提下減少視頻數(shù)據(jù)率。視頻壓縮比一般指壓縮后的數(shù)據(jù)量與壓縮前的數(shù)據(jù)量之比。由于視頻是連續(xù)的靜態(tài)圖像,因此其壓縮編碼算法與靜態(tài)圖像的壓縮編碼算法有某些共同之處,但是運動的視頻還有其自身的特性,因此在壓縮時還應(yīng)考慮其運動特性才能達到高壓縮的目標。
通常視頻流中視頻數(shù)據(jù)分幀傳輸,幀分三種類型I幀、P幀和B幀。
I幀(Intra幀):描述當前圖像的所有信息,信息比較多,所以占空間和帶寬比較大。I圖為不要基準圖像編碼作為基準所產(chǎn)生的圖像,稱為幀內(nèi)編碼圖(ICP-IntraCodedPictures)。特點是:數(shù)據(jù)量最大;幀內(nèi)中等程度壓縮;無運動預(yù)測,可采用自相關(guān)性,即幀內(nèi)相鄰像素、相鄰行的亮度、色度信號都具有漸變的空間相關(guān)性,可作靜止圖像處理,無條件傳送;圖像可隨機進入壓縮圖像數(shù)據(jù)序列,進行編碼。
P幀(Inter幀):描述當前圖像和上一幀圖像不同的地方或某塊區(qū)域移動信息,需要對照上幀解碼后的圖像進行解碼,這樣就減小了該幀的數(shù)據(jù)量。P圖是以最近的上一個I圖或P圖為基準進行運動補償預(yù)測所產(chǎn)生的圖像,稱為預(yù)測編碼圖(PCP-PredictiveCodedPictures)。P圖的特點是:本身是前I圖或P圖的前向預(yù)測(FP-ForwardPrediction)結(jié)果,也是產(chǎn)生下一個P圖的基準圖像;高編碼效率,與I圖相較,可提供更大的壓縮比;前一個P圖是下一個P圖補償預(yù)測的基準,如果前者存在誤碼,則后者會將編碼誤差積累起來、傳播下去。
B幀:描述當前圖像和上一幀以及下一幀圖像不同的地方或某些區(qū)域的移動信息,由于可以參考下一幀的信息進行編碼,從而減小B幀的大小。目前對B圖有兩種趨同的理解:其一,B圖是同時以前面的I圖或P圖和后面的P圖或I圖為基準進行運動補償預(yù)測所產(chǎn)生的圖像,稱為雙向預(yù)測編碼圖(BPCP-BidirectionalPredictiveCodedPicture)。前面的I圖或P圖代表“過去信息”,后面的P圖或I圖代表“未來信息”,由于同時使用了“過去”和“未來”兩種信息,所以稱為雙向預(yù)測。其二,由于幀序列相鄰幀畫面間的運動部分具有連續(xù)到時間相關(guān)性,可將當前畫面看成是前一畫面某一時刻圖像的位移,當然位移方向及幅值在幀內(nèi)各處未必相同,只要用前面最近時刻的I圖或P圖及代表運動的位移信息,便可預(yù)測出當前圖像,稱為前向預(yù)測(FP)。根據(jù)某時刻的圖像及反映位移信息的運動矢量,預(yù)測出某時刻以前的圖像,以便預(yù)測出前一幀中沒有顯露而現(xiàn)在出現(xiàn)的信息,稱為后向預(yù)測(BP-BackwordPrediction)。B圖是將前向預(yù)測(FP)與后向預(yù)測(BP)同時使用并取其平均值后所產(chǎn)生的圖像,稱為雙向預(yù)測圖或平均值預(yù)測圖。
為了在高效壓縮編碼的條件下、獲得可隨機存取的高壓縮比、高質(zhì)量圖像,MPEG定義了I、P、B三種圖像格式,分別簡稱為幀內(nèi)圖(IntraPicture)、預(yù)測圖(PredictedPicture)及雙向圖(BidirectionalPicture),即I圖、P圖及B圖,用于表示1/30s時間間隔的幀序列畫面。因為,要滿足隨機存取的要求,僅利用I圖本身信息進行幀內(nèi)編碼就可以了;要滿足高壓縮比和高質(zhì)量圖像的要求,單靠I圖幀內(nèi)編碼還不行,還要加上由P圖和B圖參與的幀間編碼,以及塊匹配運動補償預(yù)測,即用前一幀圖像預(yù)測當前圖像的因果預(yù)測和用后一幀圖像預(yù)測當前圖像的內(nèi)插預(yù)測。這就要求幀內(nèi)編碼與幀間編碼平衡,因果預(yù)測與內(nèi)插預(yù)測間的平衡。平衡的結(jié)果是隨機存取的高壓縮比、高質(zhì)量圖像的統(tǒng)一。
一個GOP由I為起始的一串IBP幀組成,GOP的長度是前一個I幀到下一個I幀之前的B幀之間的間隔,如I1B2B3P4B5B6P7B8B9I10中從I1到B9就是GOP的長度。GOP越長,MPEG-2編碼越有效,而數(shù)據(jù)流的編輯及組接越困難。一般,最多由12幀組成。基準幀重復(fù)頻率的不同,可提供不同的輸出碼率。GOP的結(jié)構(gòu)隨碼率變化而不同,如碼率大于40Mbps時,幀重復(fù)方式為只有I幀,GOP最短,具有高效率的優(yōu)點;碼率為15-40Mbps時,幀重復(fù)方式為IB,GOP較短;碼率小于15Mbps時,幀重復(fù)方式為IBP或IBBP,GOP較長,有延遲,影響存取速度??傊瑘D像質(zhì)量隨著碼率10-50Mbps的升高而提高,隨著幀重復(fù)方式I-IB-IBBP使GOP變長而增長。盡管幀重復(fù)方式可以是IP,IB,IBP,IBBP,甚至是只有I幀,但針對不同的應(yīng)用及碼率,有不同的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)系及應(yīng)用,圖中編碼規(guī)則是:I幀4:2:2@MLMPEG速率為40-50Mbps;IBIBIB序列速率為25-30Mbps;長GOPIBP序列速率為12-18Mbps。