0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

YUV入門前

Last updated at Posted at 2025-03-24

YUVを扱うとき最低限これだけは抑えておこう。

YUVとは?

まず抑えておいてほしいのはYUVは画像フォーマットであるが「YUVはRGBのように赤緑青で保存していない」ということ。具体的にどのように保存されるかは後述する。

Q.そもそもなぜYUVを使うのか。

ディスプレイ表示などする場合最終的にビデオメモリにはRGB形式で画像が配置されることがほとんど、ならなぜYUVなどというフォーマットを使用するのか?

A.データ効率が良いから(+歴史的経緯)

RGBが色を赤、緑、青の3つに分けるのに対して、YUVでは輝度(Y),青色差成分(U),赤色差成分(V)に分ける。

人間の目が輝度に敏感な性質を使ってUVを少ないビットで表現しても画質の劣化が少ない。

例えばNV12であればYを8bit、UVをそれぞれ2bitで1画素あたり12bitで表現できる。RGBで1画素あたり12bitを表現しようとすると各色4bitしか使うことができず非常に画質が劣化する。

なお、当初YUVが採用されたのは白黒テレビとカラーテレビの互換性を保つためだったらしい。[要出典]

4:4:4とか4:2:0ってなに?

これらはサンプリング方法を表している。(フォーマットとは違うので注意)

<輝度>:<水平方向色差>:<垂直方向色差>で表しているが言葉で説明するのは難しい。

下の図がわかりやすい。

image.png

サンプリングとフォーマットはどう違うのか。

サンプリングはあくまで画素からデータを取得する方法にすぎない。フォーマットはそれに加えて取得したデータをメモリやファイル上にどのように配置するかまでを規定するものとなる。

  • 4:4:4 (32 bpp)
    • AYUV
  • 4:2:2 (16 bpp)
    • YUY2
    • UYVY
  • 4:2:0 (16 bpp)
    • IMC1
    • IMC3
  • 4:2:0 (12 bpp)
    • IMC2
    • IMC4
    • YV12
    • NV12
    • YUV420

UYVY

例えばUYVYならメモリ上にYUVが以下のように並ぶ

image.png

NV12

NV12などはYとUVが別で配置されており、Yの領域とUVの領域は必ずしも連続している必要はない。それぞれのメモリ領域はプレーンと呼ばれており特に複数のプレーンからなるフォーマットはmulti-planarと呼ばれる。

image.png

YUV420

YUV420という紛らわしい名前が有るが、これはサンプリング方法ではなくフォーマット名。(サンプリング方法は4:2:0)
YUV420の中でさらに細かくI420,YV12…等に分かれる。

以下はI420のフォーマット。

image.png

いろんな4:2:0

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?