由於工作的需求,我也參與了公司H.265 Decoder 開發工作,現在decoder在Cortex-A9, 1.2G 單個Core, QP = 28, bitrate 1.5mpbs, 720p 能解40fps。在這轉載一下這篇主流的視頻轉碼器簡單的總結blog, 寫的還不錯。
1、宏塊匹配像素精度: MPEG2中,運動估計的精度是1/2的像素,通過線性插值實現;
H.264/AVC和MPEG4 都可以支援1/4像素的精度.
2、參考幀的數量: MPEG2,MPEG4的P幀只能有一幀參考幀,B幀可以有兩幀參考幀 ,H.264/AVC可以最多有15幀參考幀(創新之處),
一般情況下選擇3-5幀作為參考幀.
3、濾波器的結構: 插值濾波器不同,在MPEG4裡面是簡單的線性插值,
而H.264/AVC裡面是5抽頭的濾波器(首次提出環路濾波概念);
MPEG2沒有環內deblocking工具,MPEG4有deblocking工具,但是屬於postprocessing;
H.264/AVC有環內deblocking工具. 4、I幀的編碼: MPEG2沒有INTRA預測,但是有DC參數預測;MPEG4沒有INTRA預測,支援DC預測,
並且支援兩個AC參數的預測(這可以理解為早期的幀內預測)。H.264/AVC支援INTRA預測,
4*4共有9種模式(這就是H.264的創新之處).
5、匹配宏塊大小的區別:MPEG2最小匹配塊尺寸為8*8,MPEG4同樣也為8*8,
H.264/AVC最小可以到4*4尺寸(創新點,不過複雜度成倍增加)
6、DCT變換的不同: MPEG系列為8*8的DCT變換,逆變換時會出現漂移現象;
H.264/AVC為整數4*4的DCT變換,而且直流係數經過HADMARD變換之後做的DCT變換,
整數DCT變換可以防止逆變 換時出現漂移現象.
7、量化之後的編碼: MPEG2/MPEG4則都是基於huffman,並且頭部的文法相對比較簡單,很少使用變長碼;
H.264/AVC提供基於內容相關的CAVLC和CABAC(複雜,但是節省碼流) 。
8、編碼之後的結構: MPEG2/MPEG4都是分層結構;
H.264/AVC則是提供NAL單層結構,提供參數集合的形式
9、量化參數的區別: MPEG4提供31個量化參數(量化模式:常量化,系統預設量化矩陣,自訂量化矩陣),
H.264/AVC提供51個量化參數(量化模式:常量化,量化矩陣,自訂有否還不確定);
轉自:http://blog.csdn.net/feixiang_john/article/details/7992327