TOPへ

ビデオ編集と色

はじめに

 動画の編集をしているとよくYUY2やRGBといった色に関する設定がでてくる。ところが動画の編集作業を扱っている様々な解説書に当たってみたところで、どのような設定にするのかの手順は載っていても、それらの意味について触れられているものは皆無である。結果として専門外の私のような者は、今だにこれらの意味が分からないままになっている。確かに編集だけをやるのであれば作業内容まで厳密に理解する必要はないのかもしれない。極端な話、ボタンを1つ押せば最初から最後まですべて自動的にやってくれるソフトがあればそれで十分であろう。そして実際にそのようなソフトも実在する。

 しかし私は自分のやっていることの意味が分からないということには我慢がならない性格なのである。どのような原理によって、どういう工程を経てそれらの作業がなされるのか、気になって仕方がないのである。とは言うものの、表面的にある程度知ることができればそれで満足するような単純な性格でもある。そこで、これらの色空間について少しばかり調べてみることにした。このページはそのまとめである。文章の内容については一切保証しない。もし間違いがあれば訂正していただければ幸いである。

色の表し方について

 我々が通常よく目にするものには、大きく二つのものがある。RGBとCMYがそれである。どちらかと言えばRGBの方が馴染み深いのではないだろうか。このRGBはそれぞれ赤(Red)、緑(Green)、青(Blue)の頭文字をとったもので、テレビのブラウン管で採用されていることはよく知られている。光の3原色などともいい、さまざまな色を赤緑青の3色で表すことができる。

 光の3原色とは別に、色料の3原色というものがある。色料の3原色は、青緑のシアン(cyan)、赤紫のマゼンタ(magenta)、黄色のイエロー(yellow)の3色からなっており、CMYと表される。CMYではRGBでは表すことのできなかったスペクトルを表すことができ、印刷の現場などで一般的に用いられている規格である。

 さて、普段目にすることはないが動画の編集を始めると頻繁にでてくるのが、YUVやYCbCrなどである。この他にもYUY2やUYVY、さらにYVYU、IYUなども目にすることだろう。これらが特にややこしいのは、YUV444(またはYUV4:4:4)やYUV422(またはYUV4:2:2)などのように、後ろに様々な数字を伴うことであり、その表記の仕方がまちまちなことである。確かにRGBでも後ろに数字を伴い、RGB 16bitやRGB 32bitなどと表記をすることもあるのだが、こちらの場合は16bitよりも32bitの方が厳密で、より色の再現度が高そうだということが容易に推測できる。しかしYUV400, YUV411, YUV420, YUV422, YUV444に至っては、 同時にYUV4:0:0, YUV4:1:1, YUV4:2:0, YUV4:2:2, YUV4:4:4などの表記を思い起こせば、同じYUV間でもその違いは想像し難いものがある。この節ではいくつかある規格のうちYUVとYCbCrについてのみ説明をし、次節以降でこれらの規格とその他の規格との関係についてより詳しくみていくことにする。

 YUVは輝度(きど)と色差(いろざし?)で色を表現しようとするものだ。Yは輝度を表し、UとVがそれぞれ色差を表している。輝度のYは国際照明委員会(CIE)が1931年に勧告した色空間XYZのYから来ているようだが、UとVの起源についてはわからない。急に輝度や色差などということばが出てきて難解になってきたが、輝度とは簡単に言えば明るさのことであり、明暗に関するものだと思っていただければよい。Uは赤色差で輝度と赤色との差、Vは青色差で輝度と青色との差を意味している。

 このYUVにはRGBとの相関式があるが、その相関式にしたがえば誤差が生じてしまい不都合である。そこで新たな規格として出てきたのがYCbCrである。このYCbCrもYUVと同じく輝度のUと赤色差と青色差のCb, Crから成り立っているのだが、RGBとの相関式に違いがある。YCbCrの方がRGBとの関係上都合がよいのだ。

色とビット

 パソコンで色を扱う場合、当然のことながらデータとしての量が必要となってくる。より厳密に言えば色そのものというよりも、色を入れるために用意する入れ物の大きさに応じて、データ量が問題となってくる。たとえば、みかん4個がぴったり入る大きさの箱は、みかんが1個だけぴったり入る大きさの箱と比べて4倍の場所を取るのと同じようなものである。パソコンでは一番小さいデータ量の単位をビット(bit)とし、ビットが8つ集まったものをバイト(byte)とあらわす。バイトが1,000(または1,024)集まれば1キロバイトになり、それが1,000(または1,024)集まれば1メガバイトになる。

 いまここで、RGB 24bitのついて考えてみる。これはRとGとBがそれぞれ8bitずつデータを使用した場合に、8bit + 8bit + 8bit = 24bitという計算によってRGB全体で24bitのデータ量を使用することになる。それでは8bit使用するとはどういうことなのか。それは、それぞれの色が8通りの赤、緑、青を表すことができるということである。同じ赤でも薄いものから濃いものまで様々である。その中で8通りの赤の表し方ができるということだ。

 みかんが8個入る箱を3つ用意した場合、必要な場所はみかん1個分の24倍である。だから8通りの色の諧調を表すことができるものが3つあれば、24bitになる。これはデータ量である。ところが3つの色のさまざまな諧調を組み合わせて表すことのできる色の数は、積の法則により8通り × 8通り × 8通り = 256色である。なぜ組み合わせは積の法則が当てはまるのかいまいち納得のできない人は、高校数学の「数学A」の教科書に当たってみるといいだろう。

 YUV422(またはYUV4:2:2)はどうであろうか。これはYUVの中でも最も興味深いものの一つであり、YUY2とビットの配列を除けば同じである。422というのはY, U, Vのビット数の比率になっている。もともとはY : U : V = 8bit : 4bit : 4bitであるが、比を簡単にして4:2:2になっているようだ。ではなぜ2:1:1にしないのか。おそらくそれは、8bit : 2bit : 2bitの規格を考慮し2bitを基準に揃えているのであろう。つまり、もし8bit : 4bit : 4bitを2:1:1としてしまえば、8bit : 2bit : 2bitは2:0.5:0.5になってしまうであろうし、8bit : 2bit : 2bitを4:1:1としてしまえば、今度は8bit : 4bit : 4bitとの関係でビット数の大小関係が不明瞭になってしまうだろう。

 いま触れたようにYUV422はY, U, Vのビット数の比率が4:2:2で、Yが8bit、Uが4bit、Vが4bitである。しかしこのことは決してYだけが8通りの諧調を現すことができ、UとVが4通りの諧調しか表すことができないということを意味するものではない。YもUもVも共に8通りの諧調を表すことができるのだが、UとVに関しては横に隣り合う二つの点(ドット)で同じ色を共有しているため、データ量は半分になり4bitに収まっているのだ。

色関係用語集

色度図
色光の3原色(three primary colors)
広い範囲の色を表すために用いられる光の色で、赤(Red)、緑(Green)、青(Blue)の3つがそれにあたる。それぞれの頭文字をとって、RGBなどと表記することもある。絵の具、印刷インクで広範な色を表すための基本的な色は「色料の3原色」を参考のこと。
色料の3原色
絵の具や印刷インクで広範な色を表すための基本的な3つの色で、青緑のシアン(cyan)、赤紫のマゼンタ(magenta)、黄色のイエロー(yellow)の3色からなっている。

関連リンク集

FOURCC(Four Character Code)
http://www.fourcc.org/

CIE(国際照明委員会)
http://www.cie.co.at/cie/

日本照明委員会(JCIE)
http://village.infoweb.ne.jp/~ciejapan/

ISO
http://www.iso.org/

参考サイト

 色空間に関する参考サイトのリンク集です。

色空間与太話
http://homepage2.nifty.com/vagrantz/documents/document07.html

カラーフォーマットのナゾ
http://www.nnet.ne.jp/~hi6/lab/pixel/index.html



SEIICHI MORIMOTO <森本誠一>
kant1724@hotmail.com