YUV422(YCbCr 4:2:2)完全ガイド:サブサンプリングの仕組み・レンジ・サイティングと実装の実務ポイント

はじめに — YUV422(YCbCr 4:2:2)とは何か

YUV422(一般には「YUV 4:2:2」や「YCbCr 4:2:2」と表記されることが多い)は、映像の色情報を表現・圧縮する際に使われる色空間・サブサンプリング方式の一つです。人間の視覚が輝度(明るさ)情報に対して色差(クロマ)情報ほど高い解像度を必要としないことを利用し、データ量を削減しつつ視覚的な品質を保つために「クロマを水平方向に半分にサンプリング」する方式が4:2:2です。プロフェッショナル映像制作や放送系のワークフローで広く使われるフォーマットです。

YUV と YCbCr の違い(用語の整理)

まず用語の整理をします。歴史的に「YUV」という名称はアナログ信号時代から使われてきましたが、デジタル映像では正確には「Y'CbCr(輝度 Y'、青差 Cb、赤差 Cr)」が使われます。YUV と書かれていても実際には Y'CbCr(ガンマ補正後の輝度を使う)を指すことが多い点に注意してください。

4:2:2 の意味 — サンプリング比の読み方

「4:2:2」は JPEG 等で使われる J:a:b の記述法に従った表現で、水平参照単位(通常は4サンプルの輝度)に対してクロマがどれだけ共有されるかを示します。簡単に言えば:

  • 4:4:4 — 輝度(Y)も色差(Cb/Cr)も各ピクセルごとにサンプリング(色解像度がフル)。
  • 4:2:2 — クロマが水平方向に半分(左右2ピクセルで1つのCb/Crペア)、垂直方向はフル。横方向の色解像度が半分。
  • 4:2:0 — 横と縦のいずれか(標準的には縦方向も半分)でクロマが低く、エンコードに多用される(例:多くのビデオコーデック、DVD、Blu-ray)。

つまり4:2:2では、隣接する2つの輝度サンプル(ピクセル)で1つのCbと1つのCrを共有します。これによりデータ量を約1/3〜1/2削減できます(フォーマットとビット深度に依存)。

データ構造とパッキング例

YUV422 は実装によって「パック(インタリーブ)型」と「プレーン(プランar)型」があります。よく見られる例:

  • YUY2 / YUYV: バイト列が Y0 U0 Y1 V0 の順。2ピクセルで4バイト(8bit/component の場合)=2B/ピクセル。
  • UYVY: U0 Y0 V0 Y1 の順。
  • YVYU: Y0 V0 Y1 U0 の順。
  • NV16: プランar 形式で、Y平面がフル、UV平面が1ラインごとに交互(横方向半分)。
  • v210 / P210 等: 10ビットパックされた 4:2:2 形式(放送・プロ向け)。

8bit/コンポーネントの場合、YUV422 はおおむね「2バイト/ピクセル(16ビット)」です。例えば 1920×1080(フルHD)の1フレームは 1920×1080×2 ≒ 4,147,200 バイト(約4.15 MB)になります。

輝度と色差の計算(変換行列)

RGB と Y'CbCr の間の変換は標準(規格)によって異なります。代表的には ITU-R BT.601(SD)と ITU-R BT.709(HD)があります。ガンマ補正を施した R'G'B' と Y'CbCr の線形変換は次のようになります(8bitの範囲やスケーリングなどの扱いは別途考慮)。

BT.601(概略):

  • Y' = 0.299 R' + 0.587 G' + 0.114 B'
  • Cb = 0.564 (B' − Y')
  • Cr = 0.713 (R' − Y')

BT.709(概略)では係数が異なり、色再現がHDに最適化されています。実際のデジタル化ではスケーリング(Yの「リミテッドレンジ」16–235など)やオフセットを伴います。

フルレンジ(0–255)とスタジオレンジ(16–235)の違い

デジタルY'CbCrには「フルレンジ(0–255)」と「リミテッドレンジ(スタジオレンジ、通常 Y:16–235, C:16–240)」があります。放送やSDIではリミテッドレンジが標準の場合が多く、PCやCGではフルレンジが使われやすいです。範囲の誤認識はコントラストや色かぶりの原因となるため、取り扱いには注意が必要です。

用途と利点・欠点

主な用途:

  • 放送とプロビデオ(SDI/HD-SDI のワークフロー、ベースバンド映像)— 動きの多い映像での色保持と帯域効率のバランスが良い。
  • 中間コーデック(Apple ProRes 422、Avid DNxHD など)— ポスプロでの利便性と画質のバランス。
  • ビデオキャプチャーデバイスやカメラ内部フォーマット。

利点:

  • 4:4:4 よりデータ量が小さい(記憶/転送効率が向上)。
  • 4:2:0 に比べて縦解像度を保ち、動きのある映像での色ノイズやアーチファクトが少ない。
  • 放送用に最適化された規格との相性が良い。

欠点:

  • 色再現が4:4:4より劣る(高度な色補正や合成で限界が出る)。
  • サブサンプリングやアップサンプリング時に色ずれ(chroma shift)や輪郭に色エッジが見えることがある。

クロマ・サイティング(chroma siting)と実装上の注意点

クロマサンプリングではクロマがどの位置に「寄せられる(sit)」かが重要です。つまり、U/VがどのY位置に対応するか(左寄せ、中央寄せなど)は規格や実装で異なり、異なるサイティング間での変換は位置ずれ(チラツキや色の輪郭)を生みます。MPEG/ITU/SDI 等で指定があるため、異なる機器間でやり取りする際はサイティングの扱いを確認する必要があります。

サンプル計算 — ファイルサイズと帯域

例:8bit YUV422、解像度 1920×1080、フレームレート 30fps の場合

  • 1フレーム = 1920×1080×2 = 4,147,200 バイト ≒ 3.96 MiB
  • 30fps のデータ率 = 4,147,200 × 30 ≒ 124,416,000 バイト/s ≒ 118.7 MiB/s(約 0.95 Gbit/s)

10bit や 12bit、あるいは圧縮形式を用いると必要帯域は変わります(例:10bit でパッキング方式により 2.5 バイト/ピクセル等)。

フォーマット名と実世界の例

よく耳にする名前と対応:

  • YUY2 / YUYV / YUY2 (FourCC) — Windows/DirectShow や古いキャプチャーデバイスでよく見る 8bit packed 4:2:2。
  • UYVY — 別のバイトオーダの packed 4:2:2。
  • NV16 — Android/ハードウェア系での 4:2:2 planar 形式。
  • v210 / P210 — 放送・プロ用途の 10bit packed 4:2:2。
  • ProRes 422、DNxHD — 4:2:2 を基本とした中間コーデック。

変換時の注意 — アーティファクトと画質劣化

YUV422 から RGB への復元(あるいはその逆)ではいくつかの問題があります:

  • クロマのアップサンプリング方式(線形補間、ランチョス、再サンプリングフィルタ等)により結果の鋭さや色の輪郭が変わる。
  • レンジ(フル/リミテッド)や変換行列(BT.601/BT.709)の不一致でコントラストや色味が異なって見える。
  • クロマサイティングの違いで色ズレ(特に縦・横に高コントラストの物体がある場合)を生む。

従って、色空間・レンジ・サイティングに関するメタデータは映像パイプラインで正確に伝搬させることが非常に重要です。

実装とツール

プログラミングやツールで YUV422 を扱う場合、注意すべき点:

  • ピクセルフォーマット識別(FourCC、FFmpeg の pixel formats など)を正確に扱う。
  • 行(stride)やパディング(幅が偶数・16の倍数などの要件)に注意。
  • 色変換は既定の規格(BT.601 / BT.709)とレンジを合わせる。FFmpeg, libav, OpenCV 等のライブラリが変換関数を提供している。

まとめ — いつ YUV422 を選ぶか

YUV422 は「データ効率」と「色の忠実度」のバランスが良い方式で、特に動きの多い映像や放送ワークフロー、ポストプロダクションの中間フォーマットとして有用です。一方で、色補正や合成で最大の柔軟性が必要な場合は 4:4:4(フルクロマ)を選ぶべき場面もあります。実運用ではビット深度(8/10/12bit)、レンジ(フル/リミテッド)、クロマサイティング、パッキング方式などをプロジェクト全体で統一することが重要です。

参考文献