視頻壓縮:H.264、VC-1 及其他高級編解碼技術的系統考慮
作者:Jeremiah Golston,TI 首席技術官 j-golston@ti.com
Ajit Rao 博士,TI 技術應用工程師 ajitr@ti.com
2006 年 4 月加州舊金山嵌入式系統會資料
1. 前言
數字視頻產品需求近些年出現猛增。主流應用包括視頻通信、安全監控與工業自動化,而較熱門的要算娛樂應用,如 DVD、HDTV、衛星電視、高清 (HD) 機頂盒、因特網視頻流、數碼相機與 HD 攝像機、視頻光盤庫 (video jukebox)、高端顯示器(LCD、等離子顯示器、DLP)以及個人攝像機等。眾多精彩的新應用目前也處于設計或前期部署中,例如針對家庭與手持設備及地面/衛星標準(DVB-T、DVB-H、DMB)的高清 DVD(藍光/HD-DVD)和數字視頻廣播、高清視頻電話、數碼相機以及 IP 機頂盒。由于手持終端計算能力的提高以及電池技術與高速無線連接的發展,較終產品的移動性與集成性也在不斷提高。
視頻壓縮是所有令人振奮的、新型視頻產品的重要動力。壓縮-解壓(編解碼)算法可以實現數字視頻的存儲與傳輸。典型的編解碼器要么采用行業標準,如 MPEG2、MPEG4、H.264/AVC 與 AVS,要么采用專有算法,如 On2、Real Video、Nancy與Windows Media Video (WMV) 等。WMV 是個例外——它較初是微軟公司的專有算法,而現在則以 VC-1 的新名稱在業界實現了標準化。編解碼技術在過去十年中不斷改進。較新的編解碼技術(H.264/AVC 與 VC-1)代表著第三代視頻壓縮技術。這兩種編解碼技術利用如可編程 DSP 與ASIC 等低成本 IC 的處理能力,都能夠達到極高的壓縮比。不過,為具體應用選擇正確的編解碼器并優化其實時處理仍然是一項巨大的挑戰。較佳的設計必須權衡壓縮效率及可用的計算能力。此外,如何在計算能力有限的情況下獲得較佳壓縮效率也是一門大學問。
在本文中,我們首先概述視頻編碼的主要概念,同時介紹傳統壓縮標準。然后我們重點介紹其中包括 H.264/AVC、WMV9/VC-1與AVS 等在內的較新編解碼技術的功能,此外,還將深入探討壓縮能力與復雜性之間的權衡。較后,討論市場中可能會影響主流視頻編解碼器未來的實時處理與主要趨勢。
2. 視頻壓縮挑戰
數字視頻的主要挑戰在于原始或未壓縮的視頻需要存儲或傳輸大量數據。例如,標準清晰度的 NTSC 視頻的數字化一般是每秒 30 幀速率,采用 4:2:2 YcrCb 及 720′480,其要求超過 165Mbps 的數據速率。保存 90 分鐘的視頻需要 110GB 空間,或者說超過標準 DVD-R 存儲容量的 25 倍。即使是視頻流應用中常用的低分辨率視頻(如:CIF:352x288 4:2:0、30 幀/秒)也需要超過 36.5Mbps 的數據速率,這是 ADSL 或 3G 無線等寬帶網絡速度的許多倍。目前的寬帶網可提供 1~10Mbps 的持續傳輸能力。顯然數字視頻的存儲或傳輸需要采用壓縮技術。
視頻壓縮的目的是對數字視頻進行編碼——在保持視頻質量的同時占用盡可能少的空間。編解碼技術理論依據為信息理論的數學原理。不過,開發實用的編解碼技術需要藝術性的精心考慮。
3. 壓縮權衡
在選擇數字視頻系統的編解碼技術時需要考慮諸多因素。主要因素包括應用的視頻質量要求、傳輸通道或存儲介質所處的環境(速度、時延、錯誤特征)以及源內容的格式。同樣重要的還有預期分辨率、目標比特率、色彩深度、每秒幀數以及內容和顯示是逐行掃描還是隔行掃描。壓縮通常需要在應用的視頻質量要求與其他需求之間做出取舍。首先,用途是存儲還是單播、多播、雙向通信或廣播?對于存儲應用,到底有多少可用的存儲容量以及存儲時間需要多久?對于存儲之外的應用,較高比特率是多少?對于雙向視頻通信,時延容差或容許的端到端系統延遲是多少?如果不是雙向通信,內容需要在脫機狀態提前完成編碼還是需要實時編碼?網絡或存儲介質的容錯能力如何?根據基本目標應用,不同壓縮標準以不同方式處理這些問題的權衡。
如 H.264/AVC 或 WMV9/VC-1等能夠實現較高壓縮比的新算法需要更高的處理能力,這會影響編解碼器件的成本、系統功耗以及系統內存。
4. 標準化機構
在視頻編解碼技術定義方面有兩大標準機構。國際電信聯盟 (ITU) 致力于電信應用,已經開發了用于低比特率視頻電話的 H.26x 標準,其中包括 H.261、H.262、H.263 與 H.264;國際標準化組織 (ISO) 主要針對消費類應用,已經針對運動圖像壓縮定義了 MPEG 標準。MPEG 標準包括 MPEG1、MPEG2 與 MPEG4。圖 1 說明了視頻編解碼標準的發展歷程。
MPEG 與 ISO 根據基本目標應用往往做出稍有不同的取舍。有時它們也會開展合作,如:聯合視頻小組 (JVT),該小組定義了 H.264 編解碼技術,這種技術在 MPEG 系列中又被稱為 MPEG4-Part 10 或 MPEG4 高級視頻編解碼 (AVC)。我們在本文中將這種聯合標準稱為 H.264/AVC。同樣,H.262 對應 MPEG2,而 H.263 基本規范類 (Baseline Profile) 技術在原理方面與 MPEG4 簡單類 (Simple Profile) 編解碼技術存在較多重復。
標準對編解碼技術的普及至關重要。出于規模經濟原因,用戶根據可承受的標準尋找相應產品。由于能夠保障廠商之間的互操作性,業界樂意在標準方面進行投資。而由于自己的內容可以獲得較長的生命周期及廣泛的需求,內容提供商也對標準青睞有加。盡管幾乎所有視頻標準都是針對少數特定應用的,但是在能夠適用的情況下,它們在其他應用中也能發揮優勢。
圖1:ITU 與MPEG 標準的發展歷程[10]
為了實現更好的壓縮及獲得新的市場機遇,ITU 與 MPEG 一直在不斷發展壓縮技術和開發新標準。中國較近開發了一種稱為 AVS 的國家視頻編碼標準,我們在后面也會做一介紹。目前正在開發的標準包括 ITU/MPEG 聯合可擴展視頻編碼 (Joint Scalable Video Coding)(對 H264/ AVC 的修訂)和MPEG 多視角視頻編碼 (Multi-view Video Coding)。另外,為了滿足新的應用需求,現有標準也在不斷發展。例如,H.264 較近定義了一種稱為高精度拓展 (Fidelity Range Extensions) 的新模式,以滿足新的市場需求,如專業數字編輯、HD-DVD 與無損編碼等。
除了 ITU 與 ISO 開發的行業標準以外,還出現了幾種專用于因特網流媒體應用、廣受歡迎的專有解決方案,其中包括 Real Networks Real Video (RV10)、Microsoft Windows Media Video 9 (WMV9) 系列、ON2 VP6 以及 Nancy。由于這些格式在內容中得到了廣泛應用,因此專有編解碼技術可以成為業界標準。2003 年 9 月,微軟公司向電影與電視工程師學會 (SMPTE) 提議在該機構的支持下實現 WMV9 位流與語法的標準化。該提議得到了采納,現在 WMV9 已經被 SMPTE 作為 VC-1 實現標準化。
5. 視頻編碼原理
我們感興趣的所有視頻標準都采用基于模塊的處理方式。每個宏模塊一般包含 4 個 8′8 的光度塊和 2 個 8′8 的色度塊(4:2:0 色度格式)。視頻編碼基于運動補償預測(MC) 原理,變換與量化及熵編碼。圖 2 說明的是一種典型的、基于運動補償的視頻編解碼技術。在運動補償中,通過預測與較新編碼的(“參考”)視頻幀處于同一區域的視頻幀中各宏模塊的像素來實現壓縮。例如,背景區域通常在各幀之間保持不變,因此不需要在每個幀中重新傳輸。運動估計 (ME) 是確定當前幀——即與它較相似的參考幀的 16′16 區域中每個 MB 的過程。ME 通常是視頻壓縮中較消耗性能的功能。有關當前幀中各模塊較相似區域相對位置的信息(“運動矢量”)被發送至解碼器。
MC 之后的殘差部分分為 8′8 的模塊,各模塊綜合利用變換編碼、量化編碼與可變長度編碼技術進行編碼。變換編碼(如:離散余弦變換或 DCT)利用殘差信號中的空間冗余。量化編碼可以消除感知冗余 (perceptual redundancy) 并且降低編碼殘差信號所需要的數據量。可變長度編碼利用殘差系數的統計性質。通過 MC 進行的冗余消除過程在解碼器中以相反過程進行,來自參考幀的預測數據與編碼后的殘差數據結合在一起產生對原始視頻幀的再現 。
圖2:標準運動補償視頻編碼
在視頻編解碼器中,單個幀可以采用三個模式中的一個進行編碼 —— 即 I、P 或 B 幀模式(見圖 3)。幾個稱為 Intra (I) 的幀單獨編碼,無需參考任何其他幀(無運動補償)。某些幀可以利用 MC 編碼,以前一個幀為參考(前向預測)。這些幀稱為預測幀 (P)。
B 幀或雙向預測幀通過之前的幀以及當前幀的后續幀進行預測。B 幀的優勢是能夠匹配堵塞在采用前向預測的上一幀中的背景區域。雙向預測通過平衡前向及后向預測可以降低噪聲。在編碼器中采用這種功能會要求更多處理量,因為必須同時針對前向及后向預測執行 ME,而這會明顯使運動估計計算需求加倍。為了保存兩個參考幀,編碼器與解碼器都需要更多內存。B 幀工具需要更復雜的數據流,因為相對采集及顯示順序而言,幀不按順序解碼。這個特點會增加時延,因此不適合實時性較高的應用。B 幀不用于預測,因此可以針對某些應用進行取舍。例如,在低幀速應用中可以跳過它們而不會影響隨后 I 與 P 幀的解碼。
圖3:I、P 與 B 幀間預測圖示
6. 傳統視頻編碼標準
H.261
ITU 編制的 H.261[2] 標準是第一個主流視頻壓縮標準。它主要針對雙工視頻會議應用,是為支持 40kpbs~2Mbps 的 ISDN 網絡而設計的。H.261 支持 352′288 (CIF) 及 176′144 (QCIF) 分辨率,色度分辨率二次采樣為 4:2:0。由于可視電話需要同步實時編解碼,因此復雜性設計得較低。由于主要用于對延遲敏感的雙向視頻,因此 H.261 僅允許采用 I 與 P 幀,而不允許 B 幀。
H.261 采用基于塊的 DCT 進行殘差信號的變換編碼。DCT 把像素的每個 8′8 塊映射到頻
相關閱讀:
- ...2011/05/30 16:13·視頻壓縮:H.264、VC-1 及其他高級編解碼技術的系統考慮
- ...· Efinix® 全力驅動AI邊緣計算,成功推出Trion™ T20 FPGA樣品, 同時將產品擴展到二十萬邏輯單元的T200 FPGA
- ...· 英飛凌亮相進博會,引領智慧新生活
- ...· 三電產品開發及測試研討會北汽新能源專場成功舉行
- ...· Manz亞智科技跨入半導體領域 為面板級扇出型封裝提供化學濕制程、涂布及激光應用等生產設備解決方案
- ...· 中電瑞華BITRODE動力電池測試系統順利交付北汽新能源
- ...· 中電瑞華FTF系列電池測試系統中標北京新能源汽車股份有限公司
- ...· 中電瑞華大功率高壓能源反饋式負載系統成功交付中電熊貓
- ...· 中電瑞華國際在電動汽車及關鍵部件測評研討會上演繹先進測評技術