次の方法で共有


YUV ビデオ サブタイプ

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]

YUV 形式は、次の情報に従って分類されます。

パック形式と平面形式。 パック形式では、Y、U、V の各コンポーネントが 1 つの配列に格納されます。 ピクセルはマクロピクセルのグループに編成され、レイアウトは形式によって異なります。 平面形式では、Y、U、V コンポーネントは 3 つの平面として個別に格納されます。

クロマ サンプリング。 A:B:C 表記と呼ばれる表記は、Y を基準にしてサンプリングされるユーザーと V の頻度を示すために使用されます。

  • 4:4:4はクロマチャンネルのダウンサンプリングがないことを意味します。
  • 4:2:2 は 2:1 水平ダウンサンプリングを意味し、垂直ダウンサンプリングは行われません。 すべてのスキャン ラインには、2 つの U または V サンプルごとに 4 つの Y サンプルが含まれています。
  • 4:2:0 は 2:1 の水平ダウンサンプリングを意味し、垂直ダウンサンプリングは 2:1 です。
  • 4:1:1 は 4:1 水平ダウンサンプリングを意味し、垂直ダウンサンプリングは行われません。 すべてのスキャンラインには、U または V サンプルごとに 4 つの Y サンプルが含まれています。 4:1:1 サンプリングは他の形式よりも一般的ではなく、この記事では詳しく説明しません。

チャネルあたりのビット数。 最も一般的なサンプル サイズは、サンプルあたり 8、10、または 16 ビットです。 一部の YUV 形式は淡色化されています。

メモリ レイアウト。 2 つの YUV 形式の種類は同じにすることができますが、メモリ内の Y、V、U サンプルでは異なる順序を使用します。

推奨される YUV 形式

GUID フォーマット サンプリング パックまたは平面 チャネルあたりのビット数
MEDIASUBTYPE_AYUV AYUV 4:4:4 Packed 8
MEDIASUBTYPE_YUY2 YUY2 4:2:2 Packed 8
MEDIASUBTYPE_UYVY UYVY 4:2:2 Packed 8
MEDIASUBTYPE_IMC1 IMC1 4:2:0 平面 8
MEDIASUBTYPE_IMC3 IMC2 4:2:0 平面 8
MEDIASUBTYPE_IMC2 IMC3 4:2:0 平面 8
MEDIASUBTYPE_IMC4 IMC4 4:2:0 平面 8
MEDIASUBTYPE_YV12 YV12 4:2:0 平面 8
MEDIASUBTYPE_NV12 NV12 4:2:0 平面 8

 

Windows でのビデオ レンダリング用の YUV 形式に関するページの説明については、「 ビデオ レンダリングに推奨される 8 ビット YUV 形式 」を参照してください。

その他の YUV 形式の種類

GUID フォーマット サンプリング パックまたは平面 チャネルあたりのビット数
MEDIASUBTYPE_I420 I420 4:2:0 平面 8
MEDIASUBTYPE_IF09 サポート対象から除外されました。
Indeo YVU9
サポート対象から除外されました。
「解説」を参照してください。
サポート対象から除外されました。
平面
サポート対象から除外されました。
8
MEDIASUBTYPE_IYUV IYUV 4:2:0 平面 8
MEDIASUBTYPE_Y211 Y211 「解説」を参照してください。 Packed 8
MEDIASUBTYPE_Y411 Y411 4:1:1 Packed 8
MEDIASUBTYPE_Y41P Y41P 4:1:1 Packed 8
MEDIASUBTYPE_YVU9 YVU9 「解説」を参照してください。 平面 8
MEDIASUBTYPE_YVYU YVYU 4:2:2 Packed 8

 

  • I420 は、Y プレーン、U プレーン、V プレーンで構成されます。

  • IYUV は I420 と同じです。

  • Y211 はパック形式で、Y は水平方向に 2 ピクセルごとにサンプリングされ、You と V は 4 ピクセルごとに水平方向にサンプリングされます。 各マクロピクセルは 4 バイトで、4 ピクセルが含まれています。 次のバイト順が使用されます。

    Y0 U0 Y2 V0    Y4 U4 Y6 V4    Y8 U8 Y10 V8

  • Y41P は 4:1:1 パック形式です。 次のバイト順が使用されます。

    U0 Y0 V0 Y1    U4 Y2 V4 Y3    Y4 Y5 Y6 Y7

  • YVU9 は平面形式で、ユーザーと V は 4 ピクセルごとに水平方向と垂直方向にサンプリングされます (16:1:1 とも呼ばれます)。 V プレーンは U プレーンの前に表示されます。

  • Indeo YVU9 形式 (MEDIASUBTYPE_IF09) は、U 平面の後に追加のデルタ フレーム情報を含む YVU9 のバリエーションです。 Indeo コーデックは、Windows ではサポートされなくなりました。

  • YVYU は、異なるバイト順の UYVY に似ています。 Y0 V0 Y1 U0

  • Indeo コーデックは、Windows ではサポートされなくなりました。

要件

要件
ヘッダー
Dshow.h

関連項目

ビデオ レンダリングに推奨される 8 ビット YUV 形式

ビデオ サブタイプ

ビデオ フレームの操作