2009-02-27 19 views
18

MPEG4がデータを圧縮する方法を簡単に説明できます。私は主にビデオに興味があります。私はそれに異なる標準や部品があることを知っています。 MPEG4の圧縮方式があれば、圧倒的に優れた圧縮方式を探しています。MPEG4圧縮はどのように機能しますか?

答えて

35

MPEG-4は巨大な標準であり、可能な高い圧縮率を達成するために多くの技術を採用しています。

一般に、ビデオ圧縮は、エンドユーザーの視聴経験に与える影響を最小限に抑えながら、可能な限り多くの情報を放棄することに関係しています。たとえば、RGBの代わりにサブサンプリングされたYUVを使用すると、ビデオサイズが半減します。人間の目は明るさよりも色に敏感ではないので、これは可能です。 YUVでは、Y値は明るさであり、UおよびV値は色を表す。したがって、色の情報の一部を捨てて、ファイルのサイズを小さくすることができます。

その後、ほとんどの圧縮技術は特に2つの冗長性を利用します。第1は時間的冗長性であり、第2は空間的冗長性である。

時間的冗長性は、ビデオシーケンスの連続するフレームが非常に似ていることを示しています。通常、ビデオは毎秒20〜30フレームのオーダーであり、1/30秒では何も変化がありません。 DVDを取り出して一時停止し、1つのフレームでそれを動かし、2つの画像がどれほど似ているかをメモします。したがって、MPEG-4(および他の圧縮規格)は、連続フレーム間の差異を符号化するだけである(フレーム間の差異を見つけるためにmotion estimationを使用する)。

空間的な冗長性は、画像間の色の広がりは、かなり低い頻度である傾向がある。これは、隣接するピクセルが類似の色を持つ傾向があることを意味します。たとえば、あなたが赤いジャンパーを着ているイメージでは、あなたのジャンパーを表すすべてのピクセルが非常に似た色になります。 DCTを使用してピクセル値を周波数空間に変換することができます。周波数空間では、いくつかの高周波情報を取り除くことができます。次に、逆DCTが実行されるとき(復号化中)、画像は、捨て去られた高周波情報をもたない。

高周波情報を捨てる効果を確認するには、MSペイントを開き、一連の重なっている水平および垂直の黒線を描きます。画像をJPEG(圧縮用にDCTも使用)として保存します。パターンを拡大して、線のエッジがはっきりとはっきりしていないことに気付き、ちょっとぼやけています。これは、圧縮中にいくつかの高周波情報(黒から白への遷移)が捨てられているためです。Read this for an explanation with nice pictures

さらなる読書のために、this bookは数学で少し重い場合はかなり良いです。

+3

シャープなエッジは繰り返さないため、高周波ではありません。実際にはすべての周波数を一度に合計しています。そのため、DCT圧縮や一部の画像リサイザでは、線をぼかすのではなくノイズを追加することがあります。 –

+0

イメージ全体に対してDCT(Discrete Cosine Transform)が実行されないようにする必要があります。画像は8×8または16×16ピクセルブロックに分割され、DCTは各ブロックで実行されます。これは、大きな画像ではDCTの性能が急激に低下するためです。 MPEGはストリーミングされなければならないので、復号化は非常に高速でなければならない。 – rcz

1

MPEG4は、ビデオを圧縮するためにさまざまな手法を使用しています。

まだウィキペディアを見ていない場合は、これは良いstarting pointになります。

また、これらの技術をより詳細に説明するIEEEからの記事もあります。

4

MPEG4は、discrete cosine transformのバリエーションと、後続のフレームに必要なデータ量を削減するさまざまな動き補正技術(これが役立ちますとモーション予測と考えることができます)を使用しています。 This pageには、プレーンなMPEG4で何が行われているかの概要があります。

JPEGで使用される技術と全く同じではありません。

1

シャープエッジには確かに高い周波数が含まれています。高周波を低減または除去すると、エッジのシャープネスが低下します。鋭いエッジを含む細かいディテールは、高周波除去で除去されます - 2つの小さなオブジェクトを解決する能力は高い周波数で取り除かれます。

関連する問題