質問

MPEG4 がデータを圧縮する仕組みを簡単にわかりやすく説明できる人はいますか。私は主にビデオに興味があります。さまざまな基準や部分があることは承知しています。MPEG4 を使用した全体的な圧縮方式があれば、それを探しているだけです。

役に立ちましたか?

解決

MPEG-4 は巨大な標準であり、高い圧縮率を実現するために多くの技術が採用されています。

一般に、ビデオ圧縮は、エンド ユーザーの視聴エクスペリエンスへの影響を最小限に抑えながら、できるだけ多くの情報を廃棄することに重点を置いています。たとえば、RGB の代わりにサブサンプリングされた YUV を使用すると、ビデオ サイズがすぐに半分になります。人間の目は明るさよりも色に対して鈍感であるため、これが可能になります。YUV では、Y 値は明るさを表し、U 値と V 値は色を表します。したがって、色情報の一部を破棄することで、閲覧者が違いに気付かずにファイル サイズを削減できます。

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

時間的冗長性は、ビデオ シーケンス内の連続するフレームが非常に似ていることに注目します。通常、ビデオは 1 秒あたり 20 ~ 30 フレーム程度であり、1/30 秒では大きな変化はありません。DVD を取り出して一時停止し、1 つのフレーム上で移動して、2 つの画像がどれだけ似ているかに注目してください。したがって、MPEG-4 (およびその他の圧縮規格) では、各フレームを個別にエンコードするのではなく、連続するフレーム間の差分のみをエンコードします ( 動き推定 フレーム間の違いを見つけるため)

空間的冗長性は、一般に画像全体にわたる色の広がりが非常に低周波になる傾向があるという事実を利用します。これは、隣接するピクセルが似た色を持つ傾向があることを意味します。たとえば、赤いジャンパーを着ている画像では、ジャンパーを表すすべてのピクセルは非常に似た色になります。DCT を使用してピクセル値を周波数空間に変換することが可能で、高周波情報の一部を捨てることができます。次に、(デコード中に) 逆 DCT が実行されると、画像には高周波情報が捨てられなくなります。

高周波情報を破棄した場合の効果を確認するには、MS ペイントを開き、一連の重なった水平および垂直の黒い線を描きます。画像を JPEG として保存します (圧縮には DCT も使用されます)。ここでパターンを拡大してみると、線のエッジがそれほど鮮明ではなくなり、少しぼやけていることに注目してください。これは、一部の高周波情報 (黒から白への遷移) が圧縮中に捨てられたためです。 素敵な写真付きの説明についてはこれを読んでください

さらに読むには、 この本 数学が少し面倒であれば、かなり良いです。

他のヒント

は、他の一般的なビデオコーデックと同様に、MPEG4はと変換離散コサイン変換のバリエーションを使用しています後続のフレームに必要なデータの量を減らす(つまり役立ちます場合は、モーション予測として考えることができます)動き補償の様々な技術。 このページは、プレーンMPEG4によって行われているものの概要を説明しています。

これは、JPEGで使用される技術とは全く異ならないのです。

MPEG4ビデオを圧縮するための様々な技術を使用します。

すでにウィキペディアを見ていない場合は、

、これは/ <良い開始点になります>。

IEEE にこれらを説明しているから、この記事もありますより詳細にテクニックます。

シャープエッジは確かに高い周波数を含むようにしてください。高周波数を減少または排除することはエッジの鋭さを低減します。シャープなエッジを含むファインディテールは、高周波除去で除去される - 2つの小さな物体を解決するためのビリティは高い周波数で除去される - そして、あなただけの1を参照してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top