MPEG I、P、Bフレームとは何ですか?


8

私は最近、MPEGの記事とビデオを調べて、それがどのように機能するかを理解していました。私、P、Bフレームの機能は理解していますが、予測の計算方法がわかりません。
空から地面に落下し、最後に数回跳ねるボールが最後に停止するまでのビデオを録画したいとします。
また、16x16マクロブロックの概念も明確ではありません。教えてください:

  • 予測の計算方法
  • マクロブロックとは何であり、MPEGエンコーディングでどのように役立つか

  • 私の参照:
  • MPEG予測
  • MPEG変換のビデオ
  • 回答:


    14

    短い答え
    ブロックはフレーム間の比較の単位です。
    予測は、前後の両方の画像に表示されるブロックの量に基づいています。

    より長い答え
    ビデオエンコーダーは、入力として、一連のフレームしか受け取りません。
    ほとんどの場合、隣接するフレームは互いに非常に類似しており、エンコーダーはこれらのフレームが本当に類似しているかどうかを把握しようとします。

    2つの画像が類似している場合はどう言いますか?

    • 両方の画像はマクロブロックに分割されます(画像全体を比較することはできません。それらは確かに異なります!)
    • アルゴリズムは、前の画像のブロックが次の画像に存在するかどうかを調べようとします(元の位置から一定の距離内)。
    • 次の画像に存在するほとんどのブロックが特定のしきい値に達すると、次の画像は前の画像との差として計算されP-frameます();
      • もちろん、異なるブロックはそのままエンコードされます。
    • そうでない場合、次の画像は別のシーンに属していると見なされ、完全に保持する以外に方法はありません(I-frame)。

    予測の仕組みを理解するために、この画像を見てください。これはのdeshakerプラグインによって作成VirtualDubされ、別の目的(カメラの振れの検出)に使用されますが、非常に代表的なようです。

    デシェーカー

    矢印は、現在の画像が前の画像とどのように異なるかを示しています。
    フレーム全体がマクロブロックに分割されます(ただし、16x16より大きい)。
    前の画像と比較した各ブロックの違いは、動きベクトルです。
    ご覧のとおり、ほとんどのマクロブロック(白い矢印)は共通のパターンに従っているため、転置行列を前のフレームに適用するだけでエンコードできます
    ただし、一部のブロック(赤い矢印)は一般的なパターンに準拠していないため、そのままエンコードする必要があります
    もちろん、すべてが赤の場合、フレーム全体をそのままエンコードする以外に選択肢はありません。

    弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
    Licensed under cc by-sa 3.0 with attribution required.