《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > 視頻壓縮技術(shù)的系統(tǒng)考慮
視頻壓縮技術(shù)的系統(tǒng)考慮
摘要: 編解碼技術(shù)在過去十年中不斷改進。最新的編解碼技術(shù)(H.264/AVC與VC-1)代表著第三代視頻壓縮技術(shù)。為具體應(yīng)用選擇正確的編解碼器并優(yōu)化其實時實施仍然是一項巨大的挑戰(zhàn),最佳的設(shè)計必須權(quán)衡壓縮效率及可用的計算能力。
關(guān)鍵詞: DSP H.264 DCT MPEG-2
Abstract:
Key words :

 1.前言

       編解碼技術(shù)在過去十年中不斷改進。最新的編解碼技術(shù)(?H.264/AVC與VC-1)代表著第三代視頻壓縮技術(shù)。為具體應(yīng)用選擇正確的編解碼器并優(yōu)化其實時實施仍然是一項巨大的挑戰(zhàn),最佳的設(shè)計必須權(quán)衡壓縮效率及可用的計算能力。本文探討了壓縮能力與復(fù)雜性之間的權(quán)衡,并討論市場中可能會影響主流視頻編解碼器未來的實時實施與主要趨勢。

        數(shù)字視頻產(chǎn)品需求近些年出現(xiàn)猛增。主流應(yīng)用包括視頻通信、安全監(jiān)控與工業(yè)自動化,而最熱門的要算娛樂應(yīng)用,如 DVD、HDTV、衛(wèi)星電視、高清 (HD) 機頂盒、因特網(wǎng)視頻流、數(shù)碼相機與 HD 攝像機、視頻光盤庫 (video jukebox)、高端顯示器(LCD、等離子顯示器、DLP)以及個人攝像機等。眾多精彩的新應(yīng)用目前也處于設(shè)計或前期部署中,例如針對家庭與手持設(shè)備及地面/衛(wèi)星標準(DVB-T、DVB-H、DMB)的高清 DVD(藍光/HD-DVD)和數(shù)字視頻廣播、高清視頻電話、數(shù)碼相機以及 IP 機頂盒。由于手持終端計算能力的提高以及電池技術(shù)與高速無線連接的發(fā)展,最終產(chǎn)品的移動性與集成性也在不斷提高。

        頻壓縮是所有令人振奮的、新型視頻產(chǎn)品的重要動力。壓縮-解壓(編解碼)算法可以實現(xiàn)數(shù)字視頻的存儲與傳輸。典型的編解碼器要么采用行業(yè)標準,如 MPEG2、MPEG4、H.264" target="_blank">H.264/AVCAVS,要么采用專有算法,如 On2、Real Video、Nancy與Windows Media Video (WMV) 等。WMV 是個例外——它最初是微軟公司的專有算法,而現(xiàn)在則以 VC-1 的新名稱在業(yè)界實現(xiàn)了標準化。編解碼技術(shù)在過去十年中不斷改進。最新的編解碼技術(shù)(H.264/AVC 與 VC-1)代表著第三代視頻壓縮技術(shù)。這兩種編解碼技術(shù)利用如可編程 DSP" target="_blank">DSPASIC 等低成本 IC 的處理能力,都能夠達到極高的壓縮比。不過,為具體應(yīng)用選擇正確的編解碼器并優(yōu)化其實時處理仍然是一項巨大的挑戰(zhàn)。最佳的設(shè)計必須權(quán)衡壓縮效率及可用的計算能力。此外,如何在計算能力有限的情況下獲得最佳壓縮效率也是一門大學(xué)問。

        在本文中,我們首先概述視頻編碼的主要概念,同時介紹傳統(tǒng)壓縮標準。然后我們重點介紹其中包括 H.264/AVC、WMV9/VC-1與AVS 等在內(nèi)的最新編解碼技術(shù)的功能,此外,還將深入探討壓縮能力與復(fù)雜性之間的權(quán)衡。最后,討論市場中可能會影響主流視頻編解碼器未來的實時處理與主要趨勢。

2. 視頻壓縮挑戰(zhàn)

        數(shù)字視頻的主要挑戰(zhàn)在于原始或未壓縮的視頻需要存儲或傳輸大量數(shù)據(jù)。例如,標準清晰度的 NTSC 視頻的數(shù)字化一般是每秒 30 幀速率,采用 4:2:2 YcrCb 及 720(480,其要求超過 165Mbps 的數(shù)據(jù)速率。保存 90 分鐘的視頻需要 110GB 空間,或者說超過標準 DVD-R 存儲容量的 25 倍。即使是視頻流應(yīng)用中常用的低分辨率視頻(如:CIF:352x288 4:2:0、30 幀/秒)也需要超過 36.5Mbps 的數(shù)據(jù)速率,這是ADSL 或 3G 無線等寬帶網(wǎng)絡(luò)速度的許多倍。目前的寬帶網(wǎng)可提供 1~10Mbps 的持續(xù)傳輸能力。顯然數(shù)字視頻的存儲或傳輸需要采用壓縮技術(shù)。

        視頻壓縮的目的是對數(shù)字視頻進行編碼——在保持視頻質(zhì)量的同時占用盡可能少的空間。編解碼技術(shù)理論依據(jù)為信息理論的數(shù)學(xué)原理。不過,開發(fā)實用的編解碼技術(shù)需要藝術(shù)性的精心考慮。

3. 壓縮權(quán)衡

        在選擇數(shù)字視頻系統(tǒng)的編解碼技術(shù)時需要考慮諸多因素。主要因素包括應(yīng)用的視頻質(zhì)量要求、傳輸通道或存儲介質(zhì)所處的環(huán)境(速度、時延、錯誤特征)以及源內(nèi)容的格式。同樣重要的還有預(yù)期分辨率、目標比特率、色彩深度、每秒幀數(shù)以及內(nèi)容和顯示是逐行掃描還是隔行掃描。壓縮通常需要在應(yīng)用的視頻質(zhì)量要求與其他需求之間做出取舍。首先,用途是存儲還是單播、多播、雙向通信或廣播?對于存儲應(yīng)用,到底有多少可用的存儲容量以及存儲時間需要多久?對于存儲之外的應(yīng)用,最高比特率是多少?對于雙向視頻通信,時延容差或容許的端到端系統(tǒng)延遲是多少?如果不是雙向通信,內(nèi)容需要在脫機狀態(tài)提前完成編碼還是需要實時編碼?網(wǎng)絡(luò)或存儲介質(zhì)的容錯能力如何?根據(jù)基本目標應(yīng)用,不同壓縮標準以不同方式處理這些問題的權(quán)衡。

        另一方面是需要權(quán)衡編解碼實時處理的成本。如 H.264/AVC 或 WMV9/VC-1等能夠?qū)崿F(xiàn)較高壓縮比的新算法需要更高的處理能力,這會影響編解碼器件的成本、系統(tǒng)功耗以及系統(tǒng)內(nèi)存。

4. 標準化機構(gòu)

        在視頻編解碼技術(shù)定義方面有兩大標準機構(gòu)。國際電信聯(lián)盟 (ITU) 致力于電信應(yīng)用,已經(jīng)開發(fā)了用于低比特率視頻電話的 H.26x 標準,其中包括 H.261、H.262、H.263 與 H.264;國際標準化組織 (ISO) 主要針對消費類應(yīng)用,已經(jīng)針對運動圖像壓縮定義了 MPEG 標準。MPEG 標準包括 MPEG1 、MPEG2MPEG4。圖 1 說明了視頻編解碼標準的發(fā)展歷程。

        MPEG 與 ISO 根據(jù)基本目標應(yīng)用往往做出稍有不同的取舍。有時它們也會開展合作,如:聯(lián)合視頻小組 (JVT),該小組定義了 H.264 編解碼技術(shù),這種技術(shù)在 MPEG 系列中又被稱為 MPEG4-Part 10 或 MPEG4 高級視頻編解碼 (AVC)。我們在本文中將這種聯(lián)合標準稱為 H.264/AVC。同樣,H.262 對應(yīng) MPEG2,而 H.263 基本規(guī)范類 (Baseline Profile) 技術(shù)在原理方面與 MPEG4 簡單類 (Simple Profile) 編解碼技術(shù)存在較多重復(fù)。

        標準對編解碼技術(shù)的普及至關(guān)重要。出于規(guī)模經(jīng)濟原因,用戶根據(jù)可承受的標準尋找相應(yīng)產(chǎn)品。由于能夠保障廠商之間的互操作性,業(yè)界樂意在標準方面進行投資。而由于自己的內(nèi)容可以獲得較長的生命周期及廣泛的需求,內(nèi)容提供商也對標準青睞有加。盡管幾乎所有視頻標準都是針對少數(shù)特定應(yīng)用的,但是在能夠適用的情況下,它們在其他應(yīng)用中也能發(fā)揮優(yōu)勢。

圖1:ITU 與 MPEG 標準的發(fā)展歷程 [10]

         為了實現(xiàn)更好的壓縮及獲得新的市場機遇,ITUMPEG 一直在不斷發(fā)展壓縮技術(shù)和開發(fā)新標準。中國最近開發(fā)了一種稱為 AVS 的國家視頻編碼標準,我們在后面也會做一介紹。目前正在開發(fā)的標準包括 ITU/MPEG 聯(lián)合可擴展視頻編碼 (Joint Scalable Video Coding)(對 H264/ AVC 的修訂)和MPEG 多視角視頻編碼 (Multi-view Video Coding)。另外,為了滿足新的應(yīng)用需求,現(xiàn)有標準也在不斷發(fā)展。例如,H.264 最近定義了一種稱為高精度拓展 (Fidelity Range Extensions) 的新模式,以滿足新的市場需求,如專業(yè)數(shù)字編輯、HD-DVD 與無損編碼等。

        除了 ITU 與 ISO 開發(fā)的行業(yè)標準以外,還出現(xiàn)了幾種專用于因特網(wǎng)流媒體應(yīng)用、廣受歡迎的專有解決方案,其中包括 Real Networks Real Video (RV10)、Microsoft Windows Media Video 9 (WMV9) 系列、ON2 VP6 以及 Nancy。由于這些格式在內(nèi)容中得到了廣泛應(yīng)用,因此專有編解碼技術(shù)可以成為業(yè)界標準。2003 年 9 月,微軟公司向電影與電視工程師學(xué)會 (SMPTE) 提議在該機構(gòu)的支持下實現(xiàn) WMV9 位流與語法的標準化。該提議得到了采納,現(xiàn)在 WMV9 已經(jīng)被 SMPTE 作為 VC-1 實現(xiàn)標準化。

5. 視頻編碼原理

        我們感興趣的所有視頻標準都采用基于模塊的處理方式。每個宏模塊一般包含 4 個 8(8 的光度塊和 2 個 8(8 的色度塊(4:2:0 色度格式)。視頻編碼基于運動補償預(yù)測(MC) 原理錯誤!未找到引用源。,變換與量化及熵編碼。圖 2 說明的是一種典型的、基于運動補償?shù)囊曨l編解碼技術(shù)。在運動補償中,通過預(yù)測與最新編碼的("參考")視頻幀處于同一區(qū)域的視頻幀中各宏模塊的像素來實現(xiàn)壓縮。例如,背景區(qū)域通常在各幀之間保持不變,因此不需要在每個幀中重新傳輸。運動估計 (ME) 是確定當前幀——即與它最相似的參考幀的 16(16 區(qū)域中每個 MB 的過程。ME 通常是視頻壓縮中最消耗性能的功能。有關(guān)當前幀中各模塊最相似區(qū)域相對位置的信息("運動矢量")被發(fā)送至解碼器。

        MC 之后的殘差部分分為 8(8 的模塊,各模塊綜合利用變換編碼、量化編碼與可變長度編碼技術(shù)進行編碼。變換編碼(如:離散余弦變換或 DCT" target="_blank">DCT)利用殘差信號中的空間冗余。量化編碼可以消除感知冗余 (perceptual redundancy) 并且降低編碼殘差信號所需要的數(shù)據(jù)量。可變長度編碼利用殘差系數(shù)的統(tǒng)計性質(zhì)。通過 MC 進行的冗余消除過程在解碼器中以相反過程進行,來自參考幀的預(yù)測數(shù)據(jù)與編碼后的殘差數(shù)據(jù)結(jié)合在一起產(chǎn)生對原始視頻幀的再現(xiàn) 。

圖 2:標準運動補償視頻編碼

         在視頻編解碼器中,單個幀可以采用三個模式中的一個進行編碼 —— 即 I、P 或 B 幀模式(見圖 3)。幾個稱為 Intra (I) 的幀單獨編碼,無需參考任何其他幀(無運動補償)。某些幀可以利用 MC 編碼,以前一個幀為參考(前向預(yù)測)。這些幀稱為預(yù)測幀 (P)。

        B 幀或雙向預(yù)測幀通過之前的幀以及當前幀的后續(xù)幀進行預(yù)測。B 幀的優(yōu)勢是能夠匹配堵塞在采用前向預(yù)測的上一幀中的背景區(qū)域。雙向預(yù)測通過平衡前向及后向預(yù)測可以降低噪聲。在編碼器中采用這種功能會要求更多處理量,因為必須同時針對前向及后向預(yù)測執(zhí)行 ME,而這會明顯使運動估計計算需求加倍。為了保存兩個參考幀,編碼器與解碼器都需要更多內(nèi)存。B 幀工具需要更復(fù)雜的數(shù)據(jù)流,因為相對采集及顯示順序而言,幀不按順序解碼。這個特點會增加時延,因此不適合實時性較高的應(yīng)用。B 幀不用于預(yù)測,因此可以針對某些應(yīng)用進行取舍。例如,在低幀速應(yīng)用中可以跳過它們而不會影響隨后 I 與 P 幀的解碼。

圖3:I、P 與 B 幀間預(yù)測圖示

6. 傳統(tǒng)視頻編碼標準

H.261

        ITU 編制的 H.261[2] 標準是第一個主流視頻壓縮標準。它主要針對雙工視頻會議應(yīng)用,是為支持 40kpbs~2Mbps 的 ISDN 網(wǎng)絡(luò)而設(shè)計的。H.261 支持 352(288 (CIF) 及 176(144 (QCIF) 分辨率,色度分辨率二次采樣為 4:2:0。由于可視電話需要同步實時編解碼,因此復(fù)雜性設(shè)計得較低。由于主要用于對延遲敏感的雙向視頻,因此 H.261 僅允許采用 I 與 P 幀,而不允許 B 幀。

        H.261 采用基于塊的 DCT  進行殘差信號的變換編碼。DCT 把像素的每個 8(8 塊映射到頻域,產(chǎn)生 64 個頻率成分(第一個系數(shù)稱為 DC,其他的稱為 AC)。為了量化 DCT 系數(shù),H.261 在所有 AC 系數(shù)中采用固定的線性量化。量化后的系數(shù)進行行程編碼,其可以按非零系數(shù)描述量化的頻率,后面跟隨一串零系數(shù),在最后一個非零值之后以塊代碼結(jié)束。最后,可變長度編碼 (Huffman) 將運行級別對 (run-level pair) 轉(zhuǎn)換成可變長度編碼 (VLC),其比特長度已針對典型概率分布進行過優(yōu)化。

        基于標準塊的編碼最終產(chǎn)生模塊化視頻。H.261 標準利用環(huán)路濾波避免這種現(xiàn)象。在模塊邊緣采用的簡單 2D FIR 濾波器用于平滑參考幀中的量化效應(yīng)。必須同時在編碼器及解碼器中精確地對每個比特應(yīng)用上述濾波。

MPEG-1

        MPEG-1 [3] 是 ISO 開發(fā)的第一個視頻壓縮算法。主要應(yīng)用是數(shù)字媒體上動態(tài)圖像與音頻的存儲與檢索,如速率為 1.15Mbps、采用 SIF 分辨率(352(240 - 29.97fps 或者 352(288 - 25 fps)的VCD。MPEG-1 與 H.261 相似,不過編碼器一般需要更高的性能,以便支持電影內(nèi)容的較高運動性而不是典型的可視電話功能。

        與 H.261 相比,MPEG1 允許采用 B 幀。另外它還采用自適應(yīng)感知量化,也就是說,對每個頻段采用單獨的量化比例因子(或等步長),以便優(yōu)化人們的視覺感受。MPEG-1 僅支持逐行視頻,因此新標準——MPEG2 已經(jīng)開始做出努力,同時支持分辨率及比特率更高的逐行與隔行視頻。

MPEG-2/H.262

        MPEG-2[4] 專門針對數(shù)字電視而開發(fā),很快成為了迄今最成功的視頻壓縮標準。MPEG-2 既能夠滿足標準逐行視頻的需求(其中視頻序列由一系列按一定時間間隔采集的幀構(gòu)成),又能夠滿足電視領(lǐng)域常用的隔行視頻的需求。隔行視頻交替采集及顯示圖像中兩組交替的像素(每組稱為一個場)。這種方式尤其適合電視顯示器的物理特性。MPEG2 支持標準的電視分辨率,其中包括:針對美國和日本采用的 NTSC 制式隔行 720(480 分辨率,每秒 60 場,以及歐洲和其他國家采用的PAL 制式的 720(576 分辨率,每秒 50 場。

        MPEG-2 建立在 MPEG-1 基礎(chǔ)之上,并具備擴展功能,能支持隔行視頻及更寬的運動補償范圍。由于高分辨率視頻是非常重要的應(yīng)用,因此 MPEG-2 支持的搜索范圍遠遠大于 MPEG-1。與之前的標準相比,它顯著提高了運動估計的性能要求,并充分利用更寬搜索范圍與更高分辨率優(yōu)勢的編碼器需要比 H.261 和 MPEG-1 高得多的處理能力。MPEG2 中的隔行編碼工具包含優(yōu)化運動補償?shù)哪芰Γ瑫r支持基于場和基于幀的預(yù)測,而且同時支持基于場和基于幀的 DCT/IDCT。MPEG-2 在 30:1 左右的壓縮比時運行良好。MPEG-2 在 4-8Mbps 時達到的質(zhì)量適合消費類視頻應(yīng)用,因此它很快在許多應(yīng)用中得到普及,如:數(shù)字衛(wèi)星電視、數(shù)字有線電視、DVD 以及后來的高清電視等。

        另外,MPEG-2 增加了分級視頻編碼工具,以支持多層視頻編碼,即:時域分級、空域分級、SNR 分級以及數(shù)據(jù)分割。盡管 MPEG-2 中針對分級視頻應(yīng)用定義了相關(guān)類別 (profile),不過支持單層編碼的主類 (Main Profile) 是當今大眾市場中得到廣泛應(yīng)用的唯一 MPEG-2 類。MPEG-2 通常稱為 MPEG-2 主類。

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

H.263

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

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

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

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

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

MPEG-4

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

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

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

        可變塊大小運動補償:可以在 16(16 或 8(8 粒度下進行運動補償。

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

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

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

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

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

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

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

        MPEG-4 高級簡化類 (ASP) 以簡化類為基礎(chǔ),增加了與 MPEG-2 類似的 B 幀及隔行工具(用于Level 4 及以上級別)。另外它還增加了四分之一像素運動補償及用于全局運動補償?shù)倪x項。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 編解碼器的基石。

工具與壓縮增益

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

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

7. H.264/ MPEG4-AVC

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

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

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

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

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

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

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

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

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

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

        四分之一像素運動估計:通過允許半像素和四分之一像素運動矢量分辨率可以改善運動補償。

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

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

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

        整數(shù)變換:采用 DCT 的早期標準必須為逆變換的固點實施來定義舍入誤差的容差范圍。編碼器與解碼器之間的 IDCT 精度失配造成的漂移是質(zhì)量損失的根源。H.264 利用整數(shù) 4(4 空域變換解決了這一問題——這種變換是 DCT 的近似值。4(4 的小區(qū)塊還有助于減少阻塞與振鈴失真。

        量化與變換系數(shù)掃描:變換系數(shù)通過標量量化方式得到量化,不產(chǎn)生加大的死區(qū)。與之前的標準類似,每個 MB 都可選擇不同的量化步長,不過步長以大約 12.5%的復(fù)合速率增加,而不是固定遞增。同時,更精細的量化步長還可以用于色度成分,尤其是在粗劣量化光度系數(shù)的情況下。

        熵編碼:與根據(jù)所涉及的數(shù)據(jù)類型提供多個靜態(tài) VLC 表的先前標準不同,H.264 針對變換系數(shù)采用上下文自適應(yīng) VLC,同時針對所有其他符號采用統(tǒng)一的 VLC (Universal VLC) 方法。主類還支持新的上下文自適應(yīng)二進制算術(shù)編碼器 (CABAC)。CAVLC 優(yōu)于以前的 VLC 實施,不過成本卻比VLC高。

        CABAC利用編碼器和譯碼器的機率模型來處理所有語法元素 (syntax elements),包括:變換系數(shù)和運動矢量。為了提高算術(shù)編碼的編碼效率,基本概率模型通過一種稱為上下文建模的方法對視頻幀內(nèi)不斷變換的統(tǒng)計進行適應(yīng)。上下文建模分析提供編碼符號的條件概率估計值。只要利用適當?shù)纳舷挛哪P?,就能根?jù)待編碼符號周圍的已編碼符號,在不同的概率模型間進行切換,進而充份利用符號間的冗余性。每個語法元素都可以保持不同的模型(例如,運動矢量和變換系數(shù)具有不同的模型)。相較于 VLC 熵編碼方法 (UVLC/CAVLC),CABAC 能多節(jié)省 10 % bit速率。

加權(quán)預(yù)測:它利用前向和后向預(yù)測的加權(quán)總和建立對雙向內(nèi)插宏模塊的預(yù)測,這樣可以提高場景變化時的編碼效率,尤其是在衰落情況下。

保真度范圍擴展

        2004 年 7 月,H.264 標準增加了稱為保真度范圍擴展 (FRExt) [11]的新修訂。這次擴展在H.264 中添加了一整套工具,而且允許采用附加的色域、視頻格式和位深度。另外還增加了對無損幀間編碼與立體顯示視頻的支持。FRExt 修訂版在 H.264 中引入了 4 種新類,即:

* High Profile (HP):用于標準 4:2:0 色度采樣,每分量 8 位彩色。此類引入了新的工具 —— 隨后詳述。

* High 10 Profile (Hi10P):用于更高清晰度視頻顯示的標準 4:2:0 色度采樣,10 位彩色。

* High 4:2:2 10 bit color profile (H422P):用于源編輯功能,如:( 混合。

* High 4:4:4 12 bit color profile (H444P):最高品質(zhì)的源編輯與色彩保真度,支持視頻區(qū)域的無損編碼以及與新的整數(shù)色域變換(從 RGB 到 YUV 及黑色)。

        在新的應(yīng)用領(lǐng)域中,H.264 HP 對廣播與 DVD 尤為有利。某些試驗顯示出 H.264 HP 的性能比MPEG2 提高了 3 倍。下面介紹 H.264 HP 中引入的主要附加工具。

        自適應(yīng)殘差塊大小與整數(shù) 8(8 變換:用于變換編碼的殘差塊可以在 8(8 與 4(4 之間切換。引入了用于 8(8 塊的新 16 位整數(shù)變換。較小的塊仍然可以采用以前的 4(4 變換。

        8(8 亮度幀內(nèi)預(yù)測:增加了 8 種模式,除之前的 16(16 和 4(4 塊以外,使亮度內(nèi)部宏模塊還能夠?qū)?8(8 塊進行幀內(nèi)預(yù)測。

        量化加權(quán):用于量化 8(8 變換系數(shù)的新量化加權(quán)矩陣。

        單色:支持黑/白視頻編碼。

8. Windows Media Video 9 / VC-1

        Windows Media 是提供網(wǎng)上音樂與視頻預(yù)訂服務(wù)與視頻流的主要格式。微軟公司于 2002 年推出了 Windows Media Video 9 系列編解碼器,實現(xiàn)了視頻壓縮效率的顯著提高。WMV9 另外還作為 VC-1 在 SMPTE 中實現(xiàn)了標準化[12]。

        與 H.264 類似,它包含許多高級編碼工具,不過種類有所不同。除了支持半象素雙線性插值之外,WMV9 的 ME 還允許 1/4 象素雙立方插值(采用 4 抽頭近似雙立方濾波器)。另外它還包含與 H.264 類似的環(huán)內(nèi)去塊濾波器,不過濾波器和決策細節(jié)不同。其他部分功能包括:

        多個 VLC 表:WMV9 主類包含多套針對不同類型內(nèi)容進行優(yōu)化的 VLC 表。這些表可以在幀級切換,以適應(yīng)輸入視頻的特征。

        DCT/IDCT 變換切換:WMV9 支持多種 DCT 塊大小,包括:8(8、8(4、4(8 和 4(4。其采用專用的 16 位整數(shù)變換與逆變換。

        量化:采用一般基于步長的量化和死區(qū)量化。死區(qū)量化可以在低比特率時實現(xiàn)顯著節(jié)省。

        另一個有趣的功能是能夠在涉及衰落的情況下采用明確的衰落補償。它可以提高這些情況下運動補償?shù)馁|(zhì)量。

        WMV9/VC-1 在性能方面與 MPEG-2 和 MPEG-4 簡化類相比有顯著提高,相對于 H.264,其知覺質(zhì)量感受也非常優(yōu)秀[13]。不過,在提供相似壓縮效率情況下,WMV9/VC-1 與 H.264 主類相比復(fù)雜性要求較低。WMV9 廣泛應(yīng)用于個人電腦環(huán)境,而且已經(jīng)成為互聯(lián)網(wǎng)消費設(shè)備中的重要技術(shù)。WMV9/VC-1 在好萊塢和獨立制片業(yè)正日益受寵,多部電影的發(fā)行開始采用WMV9/VC-1 進行編碼,以實現(xiàn) PC DVD 上的高清晰播放。此外,WMV9 已經(jīng)作為新興的 HD-DVD 格式壓縮選項實現(xiàn)了標準化。

9. AVS

        2002 年,中國信息產(chǎn)業(yè)部成立的音視頻技術(shù)標準 (AVS) 工作組宣布準備針對移動多媒體、廣播、DVD等應(yīng)用編寫一份國家標準。該視頻標準稱為 AVS [14],由兩個相關(guān)部分組成 - 針對移動視頻應(yīng)用的 AVS-M 和針對廣播與 DVD 的 AVS1.0。AVS 標準與 H.264 相似。

        AVS1.0 同時支持隔行和逐行掃描模式。AVS 中 P 幀可以利用 2 幀的前向參考幀,同時允許 B 幀采用前后各一個幀。在隔行模式下,4 個場可以用作參考??梢詢H在幀級執(zhí)行隔行模式中的幀/場編碼,這一點與 H.264 不同,其中允許此選項的 MB 級自適應(yīng)。AVS 具有與 H.264相似的環(huán)路濾波器,可以在幀級關(guān)閉。另外,B 幀還無需環(huán)路濾波器。幀內(nèi)預(yù)測是以 8(8 塊為單位進行。MC 允許對亮度塊進行 1/4 象素補償。ME 的塊大小可以是 16(16、16(8、8(16 或 8(8。變換方式是基于 16 位的 8(8 整數(shù)變換(與 WMV9 相似)。VLC 是基于上下文自適應(yīng) 2D 運行/級別編碼。采用 4 個不同的 Exp-Golomb 編碼。用于每個已量化系數(shù)的編碼自適應(yīng)到相同 8(8 塊中前面的符號。由于 Exp-Golomb 表是參數(shù)化的表,因此表較小。用于逐行視頻序列的 AVS 1.0 的視頻質(zhì)量在相同比特率時稍遜于 H.264 主類。

        AVS-M 主要針對移動視頻應(yīng)用,與 H.264 基本規(guī)范存在交叉。它僅支持逐行視頻、I 與 P 幀,不支持 B 幀。主要 AVS-M 編碼工具包括基于 4(4 塊的幀內(nèi)預(yù)測、1/4象素運動補償、整數(shù)變換與量化、上下文自適應(yīng) VLC 以及高度簡化的環(huán)路濾波器。與 H.264 基本規(guī)范相似,AVS-M 中的運動矢量塊大小降至 4(4,因此 MB 可擁有多達 16 個運動矢量。采用多幀預(yù)測,但僅支持 2 個參考幀。此外,AVS-M 中還定義了 H.264 HRD/SEI 消息的子集。AVS-M的編碼頻率約為 0.3dB,在相同設(shè)置下稍遜于 H.264 基本規(guī)范,而解碼器的復(fù)雜性卻降低了大約20%。

10. 各編解碼器的功能與工具對比

        表1概述我們介紹的視頻標準采用的主要壓縮功能與工具。

表 1:標準編解碼器中的主要壓縮功能

11. 市場趨勢與應(yīng)用

        視頻壓縮正在市場中催生數(shù)量日益增長的數(shù)字視頻產(chǎn)品。采用數(shù)字視頻壓縮技術(shù)的終端設(shè)備范圍廣泛,從電池驅(qū)動的便攜設(shè)備到高性能基礎(chǔ)設(shè)備。表 2 概述部分應(yīng)用、主要需求、采用的典型視頻編解碼器及其在這些應(yīng)用中的發(fā)展趨勢。

表 2:標準應(yīng)用采用的典型編解碼器與發(fā)展趨勢

12. 實時實現(xiàn)

        數(shù)字視頻的最佳處理器解決方案取決于具體的目標應(yīng)用。TI 擁有可支持多種標準并滿足主要設(shè)計及系統(tǒng)約束需求的各種 DSP。TI 的解決方案范圍廣泛,其中包括低功耗 c5000 DSP 與移動OMAP 應(yīng)用處理器、高性能 c6000 DSP 與視頻優(yōu)化的高性能 DM64x 和 DM644x 數(shù)字媒體處理器。目前倍受關(guān)注的處理器之一是未面世的 DM6446,我們將在本節(jié)中進行介紹。

        德州儀器 (TI) 的 DM 系列處理器專門針對高端視頻系統(tǒng)的需求而設(shè)計。該系列的最新處理器是功能強大的 DM6446[15],其采用了 TI 的達芬奇 (DaVinci) 技術(shù)[16]。DM6446 的雙內(nèi)核架構(gòu)兼具 DSP 和 RISC 技術(shù)優(yōu)勢,集成了時鐘頻率達 594MHz 的 c64x+ DSP 內(nèi)核與 ARM926EJ-S內(nèi)核。新一代 c64x+ DSP 是 TMS320C6000(tm) DSP 平臺中性能最高的定點 DSP,并建立在 TI 開發(fā)的第二代高性能高級 VLIW 架構(gòu)的增強版之上。c64x+ 與前代 C6000 DSP 平臺代碼兼容。DM644x 等可編程數(shù)字媒體處理器可以支持所有的現(xiàn)有業(yè)界標準以及采用單個可編程數(shù)字媒體處理器的專有視頻格式。DM6446 還具有片上內(nèi)存,包括一個 2 級高速緩存和眾多具有視頻專用功能的外設(shè)。DM6446 還包含一種視頻/影像協(xié)處理器 (VICP),用于減輕相關(guān)算法(如:JPEG、H.264、MPEG4 與 VC-1)的 DSP 內(nèi)核繁重的視頻與影像處理負擔(dān),從而使更多的 DSP MIPS 能夠用于視頻后處理或者其他并行運行等功能。

        表3說明 DM6446 在各種標準下保持 D1 (720(480) 分辨率大約所需要的頻率。

3:單片TI DM6446 平臺處理 D 1 30fps(720(480)、YUV 4:2:0 性能所需要頻率典型值。

         表解碼器性能數(shù)據(jù)是針對最差情況下的比特流。解碼器性能隨所采用功能組合的變化而變化。上述例子中假定為高品質(zhì)的編碼。DM6446 上的 c64x+ 可達到 594MHz 的時鐘頻率。

        請注意:所顯示的編碼頻率數(shù)據(jù)是根據(jù)現(xiàn)有/計劃實施而得出的典型測試數(shù)據(jù)。另外,編碼器負載隨目標應(yīng)用不同而存在顯著差異。壓縮標準規(guī)定需要的語法與可用的工具,不過許多算法結(jié)果取決于具體實施情況。主要變量包括:比特率控制算法、單通道與多通道編碼、I/B/P 幀比率、運動搜索范圍、運動搜索算法、以及選用的個別工具與模式。這種靈活性允許我們在計算負載和改進質(zhì)量之間做出不同取舍。顯然所有編碼器都可以采用或高或低的頻率實現(xiàn)不同的視頻質(zhì)量水平。

13. 結(jié)論

        越來越多的視頻壓縮標準可以針對具體最終應(yīng)用提供越來越高的壓縮效率和越來越豐富的工具。另外,向網(wǎng)絡(luò)化連接發(fā)展的趨勢意味著許多產(chǎn)品越來越需要支持多種標準。多種標準和專有算法的流行也使我們難以選擇單個標準,尤其是在硬件決策經(jīng)常超前于產(chǎn)品部署的情況下。不僅如此,每個視頻編碼算法都提供豐富的工具與功能選擇,以平衡壓縮效率的復(fù)雜性。工具和功能的選擇是與特定應(yīng)用和用例息息相關(guān)的重復(fù)過程。由于必須支持的編解碼器數(shù)量的增多以及針對具體解決方案和應(yīng)用而對編解碼器進行優(yōu)化的選擇范圍更為廣泛,因此在數(shù)字視頻系統(tǒng)中采用靈活的媒體處理器是大勢所趨。DM6446 等數(shù)字媒體處理器可充分滿足性能處理需求同時架構(gòu)靈活,從而能夠快速把新標準實施推向市場,其中包括:H.264、AVS 與 WMV9。我們可以在標準定義階段實施算法并且保持軟件算法與工具的更新,從而緊隨標準大大小小的修改并且滿足應(yīng)用不斷變化的質(zhì)量需求。

14. 參考文獻

[1] J. R. Jain與A. K. Jain,《位移測量及其在幀間圖像編碼中的應(yīng)用》,IEEE Trans. Commun.,COM-29 卷,第 12 期,1799~1808 頁,1981 年 12 月。

[2] ITU-T建議 H.261:1993,《用于 px64Kbps 音頻/視頻業(yè)務(wù)的視頻編解碼技術(shù)》。

[3] ISO/IEC 11172-2:1993,《1.5Mbps 數(shù)字存儲媒體的動態(tài)圖像及相關(guān)音頻的編碼 - 第2部分:視頻》。

[4] ISO/IEC 13818-2:1995,《動態(tài)圖像及相關(guān)音頻信息的通用編碼:音頻》。

[5] ITU-T 建議 H.263:1998,《低速率通信的視頻編碼》。

[6] ISO/IEC 14496-2:2001,《信息技術(shù) —— 音頻/視頻對象的通用編碼 —— 第2部分:視頻》。

[7] G. Sullivan與T. Wiegand,“視頻壓縮 —— 從概念到 H.264/AVC 標準”,《IEEE 學(xué)報》93 卷第 1 期,2005 年 1 月。

[8] ISO/IEC 14496-10:2003,《信息技術(shù) —— 音頻/視頻對象的編碼 —— 第 10 部分:高級視頻編碼》。

[9] 《AVC 正式檢驗測試報告》(ISO/IEC 14496-10 | ITU-T Rec. H.264),ISO/IEC JTC1/SC29/WG11,MPEG-2003/N6231,2003 年 12 月,Waikoloa。

[10] 《UB 視頻公司的 H.264 白皮書》,www.ubvideo.com。

[11] ITU-T 與 ISO/IEC 聯(lián)合視頻小組:《H.264/AVC 保真度范圍擴展修訂草案》,Doc. JVT-L047,2004 年 9 月。

[12] 《SMPTE 421M、SMPTE 電視標準草案:VC-1 壓縮視頻比特流格式與解碼過程》。

[13] Srinivasan, S.、(John) Hsu, P.、Holcomb, T.、Mukerjee, K.、Regunathan, S.L.、Lin, B.、Liang, J.、Lee, M.-C.、Ribas-Corbera, J.,“Windows Media Video 9:概述與應(yīng)用”,《信號處理:圖像通信》,19 卷,第 9 期,2004 年 10 月 1 日,851~875 頁。

[14] L. Fan、S. Ma、F. Wu:“AVS 視頻標準概述”,《ICME 2004 年學(xué)報》,423-426 頁。

[15] 《TMS320DM6446 數(shù)字媒體片上系統(tǒng)》,網(wǎng)址 www.ti.com。

[16] Bill Witowsky、Gene Frantz, 《用于數(shù)字視頻的達芬奇技術(shù)》,網(wǎng)址 www.ti.com。

作者:Jeremiah Golston

首席技術(shù)官

Ajit Rao博士

技術(shù)應(yīng)用工程師

德州儀器公司

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。