2009-02-27 93 views
18

任何人都可以用簡單明瞭的方式解釋MPEG4如何工作來壓縮數據。我最感興趣的是視頻。我知道有不同的標準或部分。我只是尋找主流的整體壓縮方法,如果有MPEG4的壓縮方法。MPEG4壓縮如何工作?

回答

35

MPEG-4是一個巨大的標準,並採用多種技術來實現高壓縮率,這是可以勝任的。

一般來說,視頻壓縮涉及扔掉儘可能多的信息可能同時具有對最終用戶的觀看體驗的影響最小。例如,使用二次採樣的YUV而不是RGB可以將視頻尺寸直接剪切一半。這是可能的,因爲人眼對顏色不敏感而不是亮度。在YUV中,Y值是亮度,U和V值表示顏色。因此,您可以丟棄一些減少文件大小的顏色信息,而觀衆不會注意到任何區別。

之後,大多數壓縮技術特別利用了2個冗餘。第一個是時間冗餘,第二個是空間冗餘。

時間冗餘注意到視頻序列中的連續幀非常相似。通常情況下,視頻大約爲每秒20-30幀,而在1/30秒內沒有什麼變化。拿起任何DVD並暫停播放,然後將其移動到一幀,並注意兩張圖像的相似程度。因此,MPEG-4(和其他壓縮標準)不是獨立編碼每個幀,而是僅編碼連續幀之間的差異(使用motion estimation找出幀之間的差異)。

空間冗餘利用了這樣的事實:遍佈圖像的色彩趨向於相當低的頻率。我的意思是說,相鄰的像素傾向於具有相似的顏色。例如,在穿着紅色跳線的圖像中,代表跳線的所有像素顏色都非常相似。可以使用DCT將像素值轉換爲頻率空間,其中可以丟棄一些高頻信息。然後,當執行反向DCT(在解碼期間)時,圖像現在沒有被丟棄的高頻信息。

要查看扔掉高頻信息的影響,開MS油漆和繪製一系列重疊的水平和垂直黑線的。將圖像保存爲JPEG(也使用DCT進行壓縮)。現在放大圖案,注意線條的邊緣如何不再尖銳,並且有點模糊。這是因爲一些高頻信息(從黑色到白色的過渡)在壓縮過程中被丟棄。Read this for an explanation with nice pictures

對於進一步閱讀,this book是相當不錯的,如果有點沉重的數學。

+3

尖銳的邊緣不是高頻的,因爲它們不重複。它們實際上是每個頻率的總和,這就是爲什麼DCT壓縮和某些圖像縮放會在線條周圍增加噪點而不是模糊它們。 – 2009-04-28 02:03:39

1

MPEG4使用各種技術來壓縮視頻。

如果您還沒有看維基百科,這將是一個很好starting point

也有這篇文章從詳細解釋了這些技術的IEEE

4

像任何其他流行的視頻編解碼器一樣,MPEG4使用discrete cosine transform和各種運動補償技術(如果有幫助,您可以將其視爲運動預測)的變體,以減少後續幀所需的數據量。 This page概述了普通MPEG4的功能。

這與JPEG使用的技術並不完全不一樣。

1

鋒利的邊緣肯定包含高頻率。減少或消除高頻會降低邊緣的清晰度。包括尖銳邊緣在內的精細細節可以高頻移除 - 可以解決2個小物體被高頻移除 - 然後您只能看到一個。