YUV ビデオ サブタイプ

YUV フォーマットは、パックされたフォーマットと平面フォーマットに分けられる。パックされたフォーマットでは、Y、U、V 成分は、単一の配列に格納される。ピクセルは、マクロピクセルのグループにまとめられる。このレイアウトはフォーマットに依存する。平面フォーマットでは、Y、U、V 成分は、3 つの平面として個別に格納される。

パックされた YUV フォーマット

以下のサブタイプ GUID がパックされた YUV フォーマットを識別する。

GUID 説明
MEDIASUBTYPE_AYUV 4:4:4 YUV フォーマット
MEDIASUBTYPE_UYVY UYVY (4:2:2 にパック)
MEDIASUBTYPE_Y411 Y41P と同じ
MEDIASUBTYPE_Y41P Y41P (4:1:1 にパック)
MEDIASUBTYPE_Y211 Y211
MEDIASUBTYPE_YUY2 YUY2 (4:2:2 にパック)
MEDIASUBTYPE_YVYU YVYU (4:2:2 にパック)
MEDIASUBTYPE_YUYV YUY2 と同じ (Canopus が使用、FOURCC 'YUYV')
  • AYUV は 4:4:4 YUV フォーマットで、バイト順序は以下のとおりである。

    A0 Y0 U0 V0

    A0 にはアルファ値が格納される。

  • UYVY フォーマットは、2:1 水平ダウンサンプリングを使い、垂直ダウンサンプリングは使わない。Y はすべてのピクセルでサンプルされる。U および V は、2 ピクセルごとに水平にサンプルされる。各マクロピクセルは 4 バイトで、2 ピクセルを含んでいる。以下のバイト順序を使う。

    U0 Y0 V0 Y1

    Y41P フォーマットは、4:1 水平ダウンサンプリングを使い、垂直ダウンサンプリングは使わない。Y はすべてのピクセルでサンプルされる。U および V は、4 ピクセルごとに水平にサンプルされる。各マクロピクセルは 12 バイトで、8 ピクセルを含んでいる。以下のバイト順序を使う。

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

  • YUY2 は UYVY と似ているが、バイト順序が異なる。

    Y0 U0 Y1 V0

  • YVYU も UYVY と似ているが、バイト順序が異なる。

    Y0 V0 Y1 U0

  • Y211 フォーマットでは、Y は 2 ピクセルごとに水平にサンプリングされ、U および V は 4 ピクセルごとに水平にサンプリングされる。各マクロピクセルは 4 バイトで、4 ピクセルを含んでいる。以下のバイト順序を使う。

    Y0 U0 Y2 V0

平面 YUV フォーマット

以下のサブタイプ GUID が水平 YUV フォーマットを識別する。

GUID 説明
MEDIASUBTYPE_IF09 Indeo YVU9
MEDIASUBTYPE_IYUV IYUV
MEDIASUBTYPE_YV12 YV12
MEDIASUBTYPE_YVU9 YVU9
  • YVU9 フォーマットは、8 bpp Y 平面、それに続く 8 bpp 4×4 U および V 平面で構成される。

    サンプリング頻度 水平 垂直
    Y 1 1
    U 4 4
    V 4 4
  • Indeo YVU9 フォーマット (MEDIASUBTYPE_IF09) は、YVU9 のバリエーションで、U 平面の後に追加のデルタ フレーム情報が付く。

  • IYUV フォーマットは、8 bpp Y 平面、それに続く 8 bpp 2×2 U および V 平面で構成される。

    サンプリング頻度 水平 垂直
    Y 1 1
    U 2 2
    V 2 2
  • YV12 フォーマットは IYUV と同一であるが、U および V 平面が入れ替わっており、V 平面が U 平面の前にくる。

参照