有著AVC/H.264的MPEG-4標準定義了一個擁有最新,最高技術的實用的,充滿尖端科技的視頻編碼格式。
2003年,ISO的MPEG(Moving Pictures Experts Group/運動圖像專家組)與聯合國(United Nations/UNO)下設的ITU(International Telecommunication Union/國際電信聯盟)的VCEG(Video Coding Experts Group/視頻編碼專家組)這2大組織最終完成并共同規定了AVC/H.264視頻編碼標準,其中后者曾標準化H.263格式(現主用于視頻會議)。
AVC/H.264標準它自身是由MPEG和VCEG的專家構成的Joint Video Team(JVT/聯合視頻組)發展的。
由MPEG來看,該標準被叫做MPEG-4 Part 10(ISO 14496-10);由ITU來看,它叫做H.264(ITU的公文號) 其中作為后者已廣泛流傳開來。
新標準選擇Advanced Video Coding(AVC/進階視頻編碼)作為“官方”名 - 因為對應視頻的音頻格式是Advanced Audio Coding(AAC/先進音頻編碼)。
AVC/H.264 Profile AVC/H.264定義了4種不同的Profile(類):Baseline(基線類), Main(主要類), Extended(擴展類)和High Profile(高端類)(它們各自下分成許多個層):
-
Baseline Profile 提供I/P幀,僅支持progressive(逐行掃描)和CAVLC
-
Extended Profile 提供I/P/B/SP/SI幀,僅支持progressive(逐行掃描)和CAVLC
-
Main Profile 提供I/P/B幀,支持progressive(逐行掃描)和interlaced(隔行掃描),提供CAVLC或CABAC
-
High Profile (也就是FRExt)在Main Profile基礎上新增:8x8 intra prediction(8x8 幀內預測), custom quant(自定義量化), lossless video coding(無損視頻編碼), 更多的yuv格式(4:4:4...)
只有未來會告訴我們哪一種框架和工具最可能被用于DVD備份,但是我猜想會是有著以下的工具大力幫助的Main和/或High Profile(同樣請核實MPEG-4 ASP的工具描述,除了GMC,所有的工具在AVC下都是可用的):
CAVLC/CABAC: AVC/H.264定義了2種先進的重構數據流(包括macroblock-type(宏塊), motionvectors(運動矢量) + reference-index(參考索引)...)的熵編碼工具,一舉超越MPEG-4 ASP:
Context-Adaptive Variable Length Coding(CAVLC/上下文自適應變長編碼)和 Context-Adaptive Binary Arithmetic Coding(CABAC/上下文自適應二進制算術編碼)
CABAC,與AVC/H.264中只是默認算法的CAVLC(也叫UVLC)相比,是個壓縮率更強大的算法,據說能額外降低10-15%的比特率(特別在高碼率)。CABAC(同CAVLC一樣)是一種無損算法,因此不會降低質量,但會減緩編碼和解碼速度。
Loop/Deblocking Filter(循環/去塊濾波器): 與預處理濾波器(例如通過avisynth作用于輸入端),或后處理濾波器(通過解碼器作用于最終輸出端)相反,循環濾波器在編碼過程中對每楨進行濾波,編碼完成后被用于下一楨的參考。它能消除塊效應,尤其在低碼率時,但同樣會減緩編碼和解碼速度。
Variable Block Sizes/Macroblock Partitions(塊大小可變/宏塊劃分): 與MPEG-4 ASP(僅Inter4V/4MV能作16x16和8x8塊變換)相比,AVC/H.264把動態搜尋精度(Motion Search Precision)提高到4x4(包含的步驟有8x4...)。子塊大小是自適應/可變的,一個優秀的編碼器應能對每個宏塊明智地作出最恰當的劃分大小 決定。
Multiple Reference Frames(多重參考楨): 與MPEG-4 ASP(僅允許當前楨的前一楨作為參考楨)相比,AVC/H.264使用幀間搜索方式并提供成倍的參考楨選擇,它意味著AVC/H.264編碼能決定是否 只是簡單地參考前一楨或甚至參考比前楨更過去的楨。因此(例如某個P楨能參考最近I楨前的某楨)不得不提出一種新型楨型:IDR楨,是種其后的楨不允許參 考其前的楨的I楨。使用多重參考楨會減慢編碼和解碼速度并且可能導致只能在IDR楨剪切。
Weighted Prediction(加權預測): 有了加權預測就能對參考楨進行加權(例如你能測量前一幅圖象的亮度程度)。它特別有助于在那些隨時可能淡入或淡出的場景中前后圖象極為相似,只是畫面變暗 的圖象的處理。WP對于同時出現淡入及淡出的圖象沒有效果(例如當圖象從一個場景轉到另一個場景就會同時出現淡入及淡出)。
Rate Distortion Optimisation(RDO/碼率-失真/損耗最佳化): 只要編碼器不得不在眾多選擇中作出絕擇時,RDO允許選擇最有效的編碼方式(例如面臨采用楨間/楨內的動態搜尋的決定...)
RDO不是AVC/H.264本身定義的工具,它是第一個由H.264參考軟件引入的工具,可謂一種新的途徑。其他的編碼也能利用RDO,如XviD'的VHQ模式能使用RDO
AVC/H.264與其他流行的視頻編碼格式的比較測評:
?
現有的AVC/H.264編碼 可用于終端用戶的AVC/H.264執行者有
x264, Nero, Apple, Sorenson, Elecard, Moonlight, VSS, mpegable, Envivio, Hdot264 (binary), DSPR, JM (參考軟件) (binary), ffmpeg, Philips, FastVDO, Skal, Sony和更多
編碼器 -
x264:第一個公開的可使用High Profile的編碼器,開源(GPL)(源碼),使用VFW的有:x264vfw, ffdshow(輸出.avi),命令行的:x264cli(輸出raw的.mp4), mencoder(輸出raw的.avi)(Doom9的MeGUI)或ffmpeg
x264支持2pass, CABAC, 循環濾波, 多重B幀, 雙向參考(B-Reference), 多重參考楨, 4x4 P幀塊變換, 8x8 B幀塊劃分, 失真信號化(anamorphic signalling)和High Profile:8x8 dtc(離散余弦變換)與幀內預測, 無損視頻編碼和自定義無損量化矩陣(custom quant matrix)
-
NeroDigital AVC:Nero Recode2內含,輸出為.mp4
ND AVC支持2pass, CABAC, 自適應循環濾波, 多重B幀, 多重參考楨, 加權預測, 8x8 B幀塊劃分, 16x16 B幀塊劃分, 自適應量化(高度Psy)
-
Sorenson:Sorenson Squeeze 4內含,輸出.mp4,
Sorenson支持2pass, 最大2連續B幀, 雙向參考, 循環濾波和多重Slice
-
Apple:Quicktime 7內含,輸出.mp4, .3gp和.mov,編碼速度很慢
支持2pass, 最大1連續B幀, 循環濾波(0,0), 8x8 P幀塊變換, 8x8 B幀塊變換, 4x4 I幀塊變換, 自適應量化, 5級Slice, 沒有CABAC, 沒有加權預測, 沒有多重參考楨
-
JM: 此AVC參考軟件v9.3版提供Main和High Profile:B/SP幀, CABAC, 循環濾波器, 4x4 塊劃分, 多重參考楨, 自適應量化, 差錯修復(Error Resilience), RDO, 無損視頻編碼, 自定義量化), 比率控制(Rate Control)等...
-
Hdot264:由doom9會員charact3r發展的開源(GPL)的VFW版參考軟件,仍然以很老的參考軟件(JM 4.0c)為基礎
-
VSS:免費的VFW編碼器(可預覽5天),以參考編碼器為基礎
-
Elecard: Elecard Mobile Converter內含,輸出.mp4, MainConcept's v2 encoder也內含,輸出.264和.mpg PS/TS
不再公開的:
-
Moonlight:Moonlight的OneClick Compressor v1.1和CyberLink的PowerEncoder內含,輸出.mpg
Moonlight支持1pass(VBR/CBR/預設 量化), CABAC, 循環濾波, 最大2連續B幀, 8x8 B幀塊劃分, 自適應量化, 自動調整PAR(Pixel Aspect Ratio/象素縱橫比), 隔行掃描
-
MainConcept:免費的編碼器(有水印),輸出.264和.mpg PS/TS
1pass(CBR/VBR/預設 量化), P幀重排(P-Frame Reorder), CABAC, 循環濾波, 多重B-Vops(Bidirectional Video Object Planes/雙向視頻對象平面), 多重參考楨, 4x4 P幀塊劃分), PAR, RDO
-
mpegable:提供試用有限的免費VFW編碼器(不以參考軟件為基礎),不支持YV12
mpegable支持僅限P幀的1pass(預設量化), 8x8 P幀塊劃分, 只支持CAVLC, 循環濾波
-
Envivio:4Coder內含,輸出.mp4
解碼器 (比較測評)
-
ffmpeg:開源(LGPL),包含在ffdshow(VFW和DShow編碼器), mplayer和VideoLAN等
支持B幀, 雙向參考, CABAC, 循環濾波, 加權預測和High Profile (8x8 dct與幀內預測, 無損視頻編碼)
-
Apple:Quicktime 7支持AVC解碼,支持.mp4/.mov,解碼速度很慢
僅支持最大1連續B幀, CABAC, 不作后幀參考的循環濾波, 多重B幀和隔行掃描
-
NeroDigital AVC:Recode2附帶DShow解碼器和.mp4 Parser
支持Main和High Profile
-
VSS:VFW解碼器 (預覽5天) 和DShow解碼器 (限制30天)
VSS DShow支持.avi (支持VSSH和H264 fourcc), CABAC, 循環濾波, B幀
-
Elecard:Elecard's MPEG Player v4.0和MainConcept's v2 encoder內含
-
Envivio:有個名叫EnvivioTV的非免費AVC DShow解碼器,(從2.0版開始,當前版本為2-1-181)支持混合AVC的.mp4
-
Philips:AVC Alliance播放器內含免費的DShow AVC解碼器(只支持raw AVC)
-
FastVDO:有時間限制(每個視頻文件5分鐘)的High Profile DShow解碼器
-
Pegasus:這里有發展不成熟的DShow AVC解碼器
-
Basic AVC Decoder用C編寫,是一所大學的工程,見這里
不再公開的:
-
Moonlight:DShow解碼器/Parser支持混合AVC的.mpg, .mp4和.264 Moonlight's MPEG Player v3.0內含
支持Main和High Profile
-
MainConcept:v1預覽版提供免費DShow AVC解碼器(有水印) 并且Parser支持AVC和.mpg PS/TS
-
mpegable:提供試用有限的VFW解碼器 (可用于DShow),支持.avi (支持 DAVC fourcc)
預覽樣本 NeroDigital:mp4, mp4
Sorenson:mp4
AVC Alliance:raw
Moonlight:raw/中碼率, raw/低碼率, raw, mpg
FastVDO:raw/high profile
Apple:mov
Videosoft: avi, avi/新, avi/老
Lead:ogm
當前AVC/H.264的爭論 - 互通性:大多數執行者支持多種容器格式:
.mp4:由MPEG-4標準(ISO 14496-15)定義的AVC容器,Apple, Nero, Sorenson, Envivio, Elecard/Moonlight和x264都支持
.mpg PS/TS:由MPEG-2標準(ISO 13818-1, AMD3)定義的AVC容器,Mainconcept和Elecard/Moonlight支持
.avi:采取AVC-in-AVI的方式非標準,因此會造成不兼容問題。
AVI和VFW的局限(如關于B幀或任意幀的編碼順序),混合這兩種格式混合會完全阻礙AVC提供的所有可能特性的執行,因此可能降低質量,或至少降低處理速度和互通性,其競爭性也因此下降。當前VSS和x264(mencoder 和vfw)支持使用AVI
.264/.h264:未混合入容器的原始數據流。JM參考軟件, x264cli, mencoder和mainconcept都可輸出
- 速度:當前一些執行者編碼器速度不敢恭維,依然只有x264和NeroDigital's AVC的編碼器看上去能提供不俗的速度與品質。但這不會改變AVC是種先進的視頻編碼方式的事實。所以老的CPU編解碼AVC會非常耗時
MPEG-4 AVC/H.264的硬件應用化 - HD-DVD/藍光(Blu-ray) DVD論壇(DVD Forum)和藍光光盤協會(Blu-ray Disc Association)正在討論能支持高清晰(High Definition)內容(存儲容量完全超過當前的DVD)下一代DVD格式的繼承人選:HD-DVD和BD-ROM
據這里報道HD-DVD會強制采用MPEG-4 AVC/H.264,而藍光支持老早被MPEG-4 AVC/H.264 High Profile納入-這里
因此AVC/H.264極有可能成為下一代視頻格式,會被廣泛地使用和支持,就象今天MPEG-2(用于DVD)的情形一樣
更多的文檔 關于MPEG-4 AVC/H.264的文檔:詳細說明-這里,摘要信息-這里或這里,
執行者清單
AVC的測試結論參看這里
下載完整的AVC/H.264標準詳述這里(Draft from the 7-14 March 2003)
藍光的技術信息參看這里