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