2007年4月21日 星期六

MPEG-2, H.264

MPEG-2 是由ISO/IEC Motion Pictures Expert Group所開發的一種針對動態影像及其聲音的編碼標準, 在國際標準規範中為ISO/IEC 13818, 而規範中的part 1及part 2是與ITU-T共同發展, 所以ITU-T中也訂了對應的標準
其中Part 1為system part (MPEG-2/System, ISO/IEC 1318-1, ITU-T H.222.0), 定義了兩種格式, 一為Transport Stream用在於不可靠的傳輸媒介上傳送數位影音如數位廣撥系統DVB, 另一為Program Stream用於一般可靠的儲存媒體上如DVD
Part 2為Video part一般也稱為MPEG-2/Video, ISO/IEC 13818-2, ITU-T H.262
Part 3為audio part可將audio program以兩個頻道做編碼
Part 7是與先前規範不相容的audio格式, 也被稱為MPEG-2 AAC

廣撥電視中的電視攝影機通常每秒產生50個畫面(in Europe)或59.94個畫面(in North America), 將畫面以數位化表示時, 每個圖點(pixel)可用一個亮度值(luminance)及兩個色訊值(chrominance)表示,一般以YCbCr, 為了降低傳輸的資料量, 於是有一種舊技巧, 將畫面分成奇數列及偶數列, 畫面交錯顯示這兩種列, 如此frame rate可降為每秒25或29.97個frame
另一種技巧是利用人類眼睛對亮度較敏感而減少色度表示值的數量, 以達到降低資料量的需求, 這種技巧是以留下來的圖點色度值來表示該圖點附近的色度, 4:2:2或4:2:0(Y:Cb:Cr)皆是去掉部份圖點色度表示數量的一種表示法

一般動態畫面圖像中是連續性的, 所以連續的畫面中大部份含有重覆影像元, 若對這些重覆的部份加以編碼及記錄移動的部份, 則可再降低畫面表示的資料量
MPEG-2的壓縮技巧將畫面分成三種, I(ntra-coded)-frame, P(redictive-coded)-frame, B(idirectionally predictive-coded)-frame
I frame是針對一個raw frame作壓縮, 將raw frame切成8pixels * 8pixels的block, 再將每個block的資料作discrete cosine transform, 將空間的變化轉成頻率的變化, 如此轉化後一般許多高頻的部份系數會為0, 量化的系數矩陣再以ZigZag(三字形)方式取出形成一個表示字串, , 利用run-length codes的方式將幾個連續的0代換掉, 再用Huffman編碼方式將結果加以編碼
P-frame 及B-frame則會參考前面或後面的frame來作編碼
一般每隔幾個frame就會以 I-frame來編碼, 如此I-frame之間就形成GOP (group of picture), 如IBBPBBPBBPBB(I)
P-frame編碼是以前面的I-frame或P-frame為參考frame, 正要被壓縮編碼的frame則以16*16的macroblock 方式切割, 將這個macroblock與參考frame中的macroblock作比對, 找到最適配者後計算其與相對參考frame的移動量稱為”motion vector”, 若沒有找到適配的macroblock, 那麼這個正要進行編碼的macroblock就會以如同I-frame中的編碼方式一樣加以編碼

Wikipedia MPEG-2
蒐集了很多MPEG相關的參考資料

H.264/AVC/MPEG-4 part 10增加許多特色, 可以降低複雜度, 提高壓縮比, 提升品質, 在MPEG-2時參考畫面為1~2個, 而在MPEG-4時參考畫面可以到32個, block-size可為變動的從16*16到4*4, 以便對移動的影像元做更精確的切分, 在intra-coding時也增加相鄰block的比對預測, 為了能降低因傳輸中的錯誤造成解碼問題而影響畫面, 也定義了”Data Partitioning”的技巧, 將影像重要元素及比較不重要元素分開放置於不同的封包中, 另外也可在畫面中的一些區域加入額外的表示, 以用在當主要區塊表示因傳輸錯誤而遺失時, 可用以重建, 這種技巧稱為Redundant Slices,另外也定義了一些已知某些元素遺失機率時能更聰明地編碼成較不易遺失的編碼方式, 這些編碼歸類為Entropy Coding, 規範中依據不同的應用需求, 定出七種特性組合, 稱之為profiles, 包括Baseline Profile, Main Profile, Extended Profile等
目前有許多數位衛星廣播應用已採用H.264/AVC, 包括韓國的DMB, 日本的ISDB-T, 歐州的DVB等
Wikipedia H.264
有更進一步的資料可以參考

1 則留言:

Nobody but you 提到...

This is a test for comments.