高級視頻編碼(AVC,Advanced Video Coding)技術,是由ITU-T的視頻編碼專家組(VCEG,Video Coding Experts Group)和ISO/IEC的運動圖像專家組(MPEG,Moving Picture Coding Experts Group)組成的聯合視頻組(JVT,Joint Video Team)共同開發的,是一種高度壓縮的數字視頻編解碼器標準(該標準第一版的最終草案是在2003年5月完成)。為此,兩個標準化組織分別以自己的標準名稱命名格式進行了發布,ITU-T以H.26x系列來命名,名稱為H.264;ISO/IEC以MPEG-4 第10部分來命名,正式名稱為ISO/IEC 14496-10。于是乎,這個采用了AVC的高度壓縮數字視頻編解碼器標準的名稱多了起來,H.264/AVC、或者AVC/H.264、或者H.264/MPEG-4 AVC、或者MPEG-4/H.264 AVC,等等,也有稱之為“JVT編解碼器”的。其實,作為兩個機構合作開發同一個標準的事情并非空前,之前的視頻編碼標準MPEG-2也是由MPEG和ITU-T兩方合作開發的,因此MPEG-2在ITU-T的命名規范中被稱之為H.262。
該標準最早來自于ITU-T的稱之為H.26L的項目的開發。H.26L這個名稱雖然不常見,但是一直被使用著。開發H.26L項目的目的,是為了通過采用“Back-To-Basics”方法,開發出一種基于通用模塊的,簡單直接的高性能視頻編碼標準。H.26L標準的開發工作起始是由ITU-T視頻編碼專家組(VCEG)發起的,開始于1997年。到2001年年底,他們發現,基于H.26L的軟件所能提供的視頻質量,就是現有的最好的基于MPEG-4的軟件也無法與之媲美。于是,ISO/IEC MPEG與ITU-T VCEG結合起來組成了一個聯合視頻開發組(JVT),接管了H.26L項目。JVT希望建立一個唯一的視頻編碼標準,同時使其成為MPEG-4標準家族和ITU-T建議家族的新成員。
H.264/AVC項目最初的目標是希望新的編解碼器能夠在比相對以前的視頻標準(如MPEG-2或者H.263)低很多的碼率下(比如說,一半或更少)提供很好的視頻質量,將帶寬需求從H.263+所需的320kbps降低到160kbps;同時,又不增加很多復雜的編碼工具,使得硬件難以實現。另外一個目標是可適應性,即該編解碼器能夠在一個很廣的范圍內使用(即包含高碼率也包含低碼率,以及不同的視頻分辨率),并能在各種網絡和系統上(如組播、DVD存儲、RTP/IP包網絡、ITU-T多媒體電話系統)工作。后來,JVT完成了一個對原標準的拓展,該拓展被稱高精度拓展(Fidelity Range Extensions,FRExt)。該拓展通過支持更高的像素精度(包括10比特和12比特像素精度)和支持更高的色度精度,以支持更高精度的視頻編碼。該拓展加入了一些新的特性(比如自適應的4x4或8x8的整數變換、用戶自定義量化加權矩陣、高效的幀間無失真編碼、支持新的色度空間和色度參差變換)。
此外,許多視頻會議解決方案為了保證視頻質量令人滿意,仍在采用二次(two-pass)編碼方式,但這種編碼方法會為會議呼叫引入令人討厭的延時。H.264/AVC則保證了即使只采用一次性(one pass)編碼仍能得到優秀的視頻信號,這樣做也就降低了二次編碼方法中的處理延時。盡管在目前,大多數視頻會議呼叫都發生在本地專用網上,但在分組傳輸中仍然會出現一定程度的分組丟失。H.264/AVC具備的編碼端的誤差處理能力和在解碼端的隱藏錯誤的能力使其即使在分組丟失率很高的情況下也能有效對抗這種分組丟失。
H.264/AVC定義了三種視頻服務類型,即會話型服務,如可視電話、視頻會議等;現場或先期錄制的視頻流型服務;多媒體消息類服務MMS。為適應NGN IP網絡及帶寬資源有限的時變型移動/無線信道的傳輸需要,H.264/AVC無論從壓縮編碼效率、視頻內容自適性處理能力方面及網絡層面,特別是對IP網絡及移動網絡的自適應處理能力、抗干擾能力與頑健性等方面,相比H.263/MPEG-4均有大幅度提高。H.264/AVC比H.263可節省一半的帶寬而維持同等視頻圖像質量或有3dB等效信噪比改進確有其巨大魅力。
H.264/AVC標準中包含了一些能夠使其區別于現有的一些其它標準的特點,如:
1)對位率的節約高達50%。在大多數位率的情況下,當編碼優化程度接近時,H.264/AVC與H.263v2(即2005年1月的新版)或MPEG-4簡化版相比,H.264/AVC可以允許位率的降低程度平均達到50%。
2)可提供高質量的視頻信號。H.264/AVC即使在位率很低的情況下也能提供質量穩定的視頻信號。
3)對延時約束的適應性較強。當用于實時通信應用中(例如視頻會議)時,H.264/AVC可以以低延時模式工作,而應用于對延時沒有要求的應用中(例如視頻存儲)時,H.264/AVC又可以以較高的效率處理延時。
4)具有誤差處理能力。在分組網絡中出現分組丟失時或在較易出錯的無線網絡中出現誤碼時,H.264/AVC能夠提供處理這類問題所必需的工具。
5)網絡非常友好。H.264/AVC中,有一個新的特性,那就是視頻編碼層和網絡適配層從概念上分離開來。視頻編碼層用于對視頻圖像的內容進行高比壓縮,而網絡適配層用于根據用戶所使用的網絡類型的不同,將壓縮后的信息打包。這使得分組過程變得更加靈活和簡單,同時也改善了對信息優先權的控制情況。
H.264/AVC標準在具體技術細節上所具備的新功能特性詳見附錄1。
附錄1:H.264/AVC標準在具體技術細節上所具有的新功能特性
但H.264/AVC的實現方法和以前的那些標準(例如H.263和MPEG-4)中所用到的方法差別并不顯著,它包含以下四個主要步驟:
首先,將每個視頻幀分成像素塊,于是,對視頻幀的處理可以建立在處理像素塊的基礎上。其次,通過進行變換、量化和熵編碼(或可變長度編碼),對一些原始像素塊編碼,從而將視頻幀中的空間冗余度利用起來。然后,只對連續幀之間出現的變化進行編碼,從而充分利用連續幀之間存在的時間冗余度。這個過程是通過運動估值和補償來實現的。最后,對余差模塊編碼,也就是說,通過變換、量化和熵編碼對原始模塊和相應的預測模塊之間的差異進行編碼,從而充分利用視頻幀內剩余的空間冗余度。