新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 視頻壓縮技術(shù)的系統(tǒng)考慮

視頻壓縮技術(shù)的系統(tǒng)考慮

作者: 時間:2012-12-01 來源:網(wǎng)絡(luò) 收藏

解碼最初對于通用處理器及 DSP 具有很高的處理要求。優(yōu)化的固定功能 解碼器開發(fā)已問世,由于使用量較高,成本已逐漸降低。MPEG2 證明低成本芯片解決方案的供應(yīng)是視頻編解碼標(biāo)準(zhǔn)成功和普及的關(guān)鍵。

H.263

H.263[5] 在 H.261 之后得到開發(fā),主要是為了以更低的比特率實(shí)現(xiàn)更高的質(zhì)量。其主要目標(biāo)之一是基于普通 28.8Kbps 電話調(diào)制解調(diào)器的視頻。目標(biāo)分辨率是 SQCIF (128(96)~CIF (352(288)。其基本原理與 H.261 大同小異。

H.263 的運(yùn)動矢量在兩個方向上允許是 1/2 的倍數(shù)(“半像素”),參考圖像以數(shù)字方式內(nèi)插到更高的分辨率。這種方法可以提高 MC 精度及壓縮比。MV 可采用更大的范圍。為不同方案提供許多新的選項(xiàng),包括:

* 4 個運(yùn)動矢量——每個塊采用一個運(yùn)動矢量,而非整個 MB 采用單個運(yùn)動矢量。

* 3D VLC:Huffman 編碼——將塊結(jié)束 (EOB) 指示符與每個運(yùn)行級別對結(jié)合在一起。這種功能主要用于低比特率,這時大多時候只有一、兩個編碼系數(shù)。

盡管存在這些功能,但是仍然很難在普通電話線上實(shí)現(xiàn)理想的視頻質(zhì)量,而且目前基于標(biāo)準(zhǔn)調(diào)制解調(diào)器的可視電話仍然是一個難題。不過,由于 H.263 一般情況下可提供優(yōu)于 H.261 的效率,它成為了電視會議首選的算法,但是,為了兼容舊系統(tǒng),仍然需要支持 H.261。H.263 逐漸發(fā)展成為了 H.263+,其增加了可選的附件,為提高壓縮并實(shí)現(xiàn)分組網(wǎng)的魯棒性提供支持。H.263 及其附件構(gòu)成了MPEG-4 中許多編碼工具的核心。

MPEG-4

MPEG-4[6] 由 ISO 提出,以延續(xù) 的成功。一些早期的目標(biāo)包括:提高容錯能力以支持無線網(wǎng)、對低比特率應(yīng)用進(jìn)行更好的支持、實(shí)現(xiàn)各種新工具以支持圖形對象及視頻之間的融合。大部分圖形功能并未在產(chǎn)品中受到重視,相關(guān)實(shí)施主要集中在改善低比特率壓縮及提高容錯性上。.

MPEG-4 簡化類 (SP) 以H.263為基礎(chǔ),為改善壓縮增加了新的工具,包括:

無限制的運(yùn)動矢量:支持對象部分超出幀邊界時的預(yù)測。

可變塊大小運(yùn)動補(bǔ)償:可以在 16(16 或 8(8 粒度下進(jìn)行運(yùn)動補(bǔ)償。

上下文自適應(yīng)幀內(nèi) DC/AC 預(yù)測:可以通過當(dāng)前塊的左右相鄰塊預(yù)測 DC/AC 系數(shù)。

擴(kuò)展量化 AC 系數(shù)的動態(tài)范圍,支持高清視頻:從 H.263 的 [-127:127] 到 [-2047, 2047]。

增加了容錯功能,以支持丟包情況下的恢復(fù),包括:

片斷重同步 (Slice Resynchronization):在圖像內(nèi)建立片斷 (slice),以便在出現(xiàn)錯誤后更快速的進(jìn)行重新同步。與 MPEG-2 數(shù)據(jù)包大小不同,MPEG4 數(shù)據(jù)包大小與用于描述 MB 的比特數(shù)量脫離了聯(lián)系。因此,不管每個 MB 的信息量多少,都可以在位流中按相同間隔進(jìn)行重新同步。

數(shù)據(jù)分割:這種模式允許利用唯一的運(yùn)動邊界標(biāo)記將視頻數(shù)據(jù)包中的數(shù)據(jù)分割成運(yùn)動部分和 數(shù)據(jù)部分。這樣就可以實(shí)現(xiàn)對運(yùn)動矢量數(shù)據(jù)更嚴(yán)格的檢查。如果出現(xiàn)錯誤,我們可以更清楚地了解錯誤之處,從而避免在發(fā)現(xiàn)錯誤情況下拋棄所有運(yùn)動數(shù)據(jù)。

可逆 VLC:VLC 編碼表允許后向及前向解碼。在遇到錯誤時,可以在下一個slice進(jìn)行同步,或者開始編碼并且返回到出現(xiàn)錯誤之處。

新預(yù)測 (NEWPRED):主要用于在實(shí)時應(yīng)用中實(shí)現(xiàn)快速錯誤恢復(fù),這些應(yīng)用中的解碼器在出現(xiàn)丟包情況下采用逆向通道向解碼器請求補(bǔ)充信息。

MPEG-4 高級簡化類 (ASP) 以簡化類為基礎(chǔ),增加了與 MPEG-2 類似的 B 幀及隔行工具(用于Level 4 及以上級別)。另外它還增加了四分之一像素運(yùn)動補(bǔ)償及用于全局運(yùn)動補(bǔ)償?shù)倪x項(xiàng)。MPEG-4 高級簡化類比簡化類的處理性能要求更高,而且復(fù)雜性與編碼效率都高于 MPEG-2。

MPEG-4 最初用于因特網(wǎng)數(shù)據(jù)流,例如,已經(jīng)被 Apple 的 QuickTime 播放器采用。MPEG-4 簡化類目前在移動數(shù)據(jù)流中得到廣泛應(yīng)用。MPEG-4 ASP 是已經(jīng)流行的專有 DivX 編解碼器的基石。

工具與壓縮增益

當(dāng)我們查看 H.261、MPEG1、MPEG2 與 H.263 視頻編解碼技術(shù)中引入的功能時,明顯可以發(fā)現(xiàn)幾種基本技巧提供了大部分壓縮增益。圖 4 說明這些技巧及其相關(guān)效果。與 4 個運(yùn)動矢量以及四分之一像素運(yùn)動補(bǔ)償?shù)裙ぞ呦啾?,運(yùn)動補(bǔ)償(整數(shù)像素與半像素)的效果顯然更為突出。

圖 4:基本技巧的效果:1) 無 MC;2) 增加 Skip 模式構(gòu)成 CR 編碼器;3) 僅允許零 MV;4) 允許整數(shù)像素 MC;5) 允許半像素 MC;6) 允許 4-MV;7) 允許四分之一像素MC。如欲了解有關(guān)詳細(xì)說明,敬請參見 [7]。

7. / MPEG4-AVC

視頻編碼技術(shù)在過去幾年最重要的發(fā)展之一是由 ITU 和 ISO/IEC 的聯(lián)合視頻小組 (JVT) 開發(fā)了 /MPEG-4 AVC[8] 標(biāo)準(zhǔn)。在發(fā)展過程中,業(yè)界為這種新標(biāo)準(zhǔn)取了許多不同的名稱。ITU 在 1997 年開始利用重要的新編碼工具處理 H.26L(長期),結(jié)果令人鼓舞,于是 ISO 決定聯(lián)手 ITU 組建 JVT 并采用一個通用的標(biāo)準(zhǔn)。因此,大家有時會聽到有人將這項(xiàng)標(biāo)準(zhǔn)稱為 JVT,盡管它并非正式名稱。ITU 在 2003 年 5 月批準(zhǔn)了新的 標(biāo)準(zhǔn)。ISO 在 2003 年 10 月以 MPEG-4 Part 10、高級視頻編碼或 AVC 的名稱批準(zhǔn)了該標(biāo)準(zhǔn)。

H.264/AVC 在壓縮效率方面取得了巨大突破,一般情況下達(dá)到 MPEG-2 及 MPEG-4 簡化類壓縮效率的大約 2 倍。在 JVT 進(jìn)行的正式測試中 [9],H.264 在 85 個測試案例中有 78% 的案例實(shí)現(xiàn) 1.5 倍以上的編碼效率提高,77% 的案例中達(dá)到 2 倍以上,部分案例甚至高達(dá) 4 倍。H.264 實(shí)現(xiàn)的改進(jìn)創(chuàng)造了新的市場機(jī)遇,如:

* 600Kbps 的 VHS 品質(zhì)視頻??梢酝ㄟ^ ADSL 線路實(shí)現(xiàn)視頻點(diǎn)播。

* 高清晰電影無需新的激光頭即可適應(yīng)普通 DVD。

H.264 標(biāo)準(zhǔn)化時支持三個類別:基本類、主類及擴(kuò)展類。后來一項(xiàng)稱為高保真范圍擴(kuò)展 (FRExt) 的修訂引入了稱為高級類的 4 個附加類。在初期主要是基本類和主類引起了大家的興趣?;绢惤档土擞?jì)算及系統(tǒng)內(nèi)存需求,而且針對低時延進(jìn)行了優(yōu)化。由于 B 幀的內(nèi)在時延以及 CABAC 的計(jì)算復(fù)雜性,因此它不包括這兩者?;绢惙浅_m合可視電話應(yīng)用以及其他需要低成本實(shí)時編碼的應(yīng)用。

主類提供的壓縮效率最高,但其要求的處理能力也比基本類高許多,因此使其難以用于低成本實(shí)時編碼和低時延應(yīng)用。廣播與內(nèi)容存儲應(yīng)用對主類最感興趣,它們是為了盡可能以最低的比特率獲得最高的視頻質(zhì)量。

盡管 H.264 采用與舊標(biāo)準(zhǔn)相同的主要編碼功能,不過它還具有許多與舊標(biāo)準(zhǔn)不同的新功能,它們一起實(shí)現(xiàn)了編碼效率的提高。圖 5 的編碼器框圖總結(jié)了其主要差別,概述如下:

幀內(nèi)預(yù)測與編碼:H.264 采用空域幀內(nèi)預(yù)測技術(shù)來預(yù)測相鄰塊鄰近像素的 Intra-MB 中的像素。它對預(yù)測殘差信號和預(yù)測模式進(jìn)行編碼,而不是編碼塊中的實(shí)際像素。這樣可以顯著提高幀內(nèi)編碼效率。

幀間預(yù)測與編碼:H.264 中的幀間編碼采用了舊標(biāo)準(zhǔn)的主要功能,同時也增加了靈活性及可操作性,包括適用于多種功能的幾種塊大小選項(xiàng),如:運(yùn)動補(bǔ)償、四分之一像素運(yùn)動補(bǔ)償、多參考幀、通用 (generalized) 雙向預(yù)測和自適應(yīng)環(huán)路去塊。

可變矢量塊大?。涸试S采用不同塊大小執(zhí)行運(yùn)動補(bǔ)償??梢詾樾≈?4(4 的塊傳輸單個運(yùn)動矢量,因此在雙向預(yù)測情況下可以為單個 MB 傳輸多達(dá) 32 個運(yùn)動矢量。另外還支持 16(8、8(16、8(8、8(4 和 4(8 的塊大小。降低塊大小可以提高運(yùn)動細(xì)節(jié)的處理能力,因而提高主觀質(zhì)量感受,包括消除較大的塊化失真。

四分之一像素運(yùn)動估計(jì):通過允許半像素和四分之一像素運(yùn)動矢量分辨率可以改善運(yùn)動補(bǔ)償。

多參考幀預(yù)測:16 個不同的參考幀可以用于幀間編碼,從而可以改善視頻質(zhì)量的主觀感受并提高編碼效率。提供多個參考幀還有助于提高 H.264 位流的容錯能力。值得注意的是,這種特性會增加編碼器與解碼器的內(nèi)存需求,因?yàn)楸仨氃趦?nèi)存中保存多個參考幀。

自適應(yīng)環(huán)路去塊濾波器:H.264 采用一種自適應(yīng)解塊濾波器,它會在預(yù)測回路內(nèi)

對水平和垂直區(qū)塊邊緣進(jìn)行處理,用于消除塊預(yù)測誤差造成的失真。這種濾波通常是基于 4(4 塊邊界為運(yùn)算基礎(chǔ),其中邊界各邊的 3 個像素可通過 4 級濾波器進(jìn)行更新。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉