カラーモードの違い CMYK/RGB

CMYK

シアン、マゼンタ、イエロー、ブラックの4種から成る。 CMYKはシアン(Cyan)、マゼンタ(Magenta)、イエロー(Yellow)とキー(Key)から頭文字1字を取ったもの。 但し同様の意味でCMYBkと表現される場合はBkはブラックを指す。 CMYKはCMYから派生した色の表現法である。 理論上ではCMYによって全ての色を表現できるが、実際にはCMYのインクを混色して綺麗な黒色を表現するのは技術的に困難で、 鈍い暗色にしかならない為、プリンターなどの印刷機で黒色をより美しく表現する為にCMYKが採用されている。美しさ以外にも、 黒を表現するのに必要なインク量が少なくなるため経済的、乾燥が速く高速印刷に向く、といった利点がある。 なお、インクジェット・プリンターなどでは、発色を良くする為にフォトインクと呼ばれるCMYKとは別のインクを使用する場合があるが、 色の表現法としてはCMYKとの違いはない。

CMYKとRGBの違い

デジタルカメラなどで撮影された画像、 あるいはパソコンのディスプレイ上に表現される色は光の発光を利用して色を表現(加法混色法)するRGB形式であるが、 塗料(絵具)ではRGB形式で全ての色の表現が出来ない為、印刷する場合はCMYK形式への変換作業が必要となる。 原理的には(C=1-R),(Y=1-B),(M=1-G)でRGB値からCMY値が得られる。 さらにK=min(C,M,Y)を求め、(C'=C-K)(M'=M-K),(Y'=Y-K)で、CMYK値を得る。 しかし、この計算で得られた濃度を印刷に適用すると一般的なRGB色空間とCMYK色空間のγ特性が全く正反対である事が考慮されていない事、 RGBとCMYKそれぞれの補色の波長が一致していない事から、 印刷結果は全く期待通りとならない(インクジェットシステムで紙に印刷すると紙に乗り切れなかったインクがプリンターの底に溜まる程である)。 この為、それぞれの色空間をカラーマネージメントシステムで補正する必要がある。 通常の画面表示用カラーマネージメントシステムでは実解像度をリアルタイムで処理すれば良いので精密に再現されるが、 プリンターの場合にはきわめて高い解像度と非常に少ないインク液粒(ピコリットル単位)やトナー(ナノグラム単位) を制御しなければならない事から莫大な量の演算が必要になるので、 事前に発色特性をサンプリングして作った多次元ベジェ曲線等によって特性をシミュレートする事で演算を軽減し印刷速度を向上させている。 完全な再現が不可能である事から、予め印刷対象がどのような物であるかをユーザーが手動で指示したり、 あるいはプリンタドライバソフトウエアが画像解析によって印刷対象を予測するといった、高度なシステムが実装されている。

RGB

赤(Red)、緑(Green)、青(Blue)の三つの原色を混ぜて幅広い色を再現する加法混色の一種である。 RGBは三原色の頭文字である。ブラウン管(CRT)や液晶ディスプレイ(LCD)、デジタルカメラなどで画像再現に使われている。 同様の表色系に「RGBA」というものもある。 これは赤(Red)、緑(Green)、青(Blue)、アルファチャンネル(Alpha)の略である。RGBAはカラーモデルとしてはRGBと異なるものではないが、 異なる表現法である。アルファチャンネルは透過(透明度)を表現するもので、画像合成などに使われる補助的なデータである。 RGBカラーモデル自体は、「赤」・「緑」・「青」とは測色学(colorimetry、比色法)的にどのような色を意味するかを定義していない。 赤・緑・青の三原色を測色学的に厳密に定量化した場合、sRGBやAdobeRGBなどさまざまな色空間(RGB色空間)が定義される。 ここでは、RGBカラーモデルを使う異なるRGB色空間に共通した概念や、かつて電子工学分野で使用されていたカラーモデルについて説明する。

加法混色における原色

色度図上のsRGBカラートライアングル。三角形の頂点がSRGBで定義される赤・緑・青の三原色に当たり、中央に白色点(white point)がある(ここでは「D65」という白色が使用されている)。パソコンのディスプレイで正確に表示されるのはこの三角形の範囲内のみで、三角形の外は実際には再現されていないどのような色を「原色」として選択するかは、人間の目の生理学的特徴と関係する。より適切に選ばれた光の波長をもつ三原色は、網膜にある三種類の錐体細胞(すいたいさいぼう)それぞれに色刺激として働きかけ、それぞれの種類の錐体細胞からの反応の差を最大化させ、より大きな色域を表現することができる。 もっとも淡い白色からもっとも鮮やかなスペクトル色までを示す「色度図」内において、三原色として選ばれた色を頂点にした三角形をカラートライアングル[1]といい、三原色が表現できる色域の広さと関係する。 可視光線にはさまざまな波長の光がさまざまな割合で合成されているが、人間の錐体細胞はそれぞれある特定の波長の範囲に最大限反応するようになっている。ひとつは長波長(L、黄色付近)、ひとつは中波長(M、緑色付近)、もうひとつは短波長(S、紫色付近)である。これら三種類の錐体細胞からの刺激を大脳が組み合わせて、光の色が認識される。たとえばオレンジ色の光(波長577ナノメートルから597ナノメートル)が目に入り網膜を刺激すると、長波長に反応する錐体細胞と中波長に反応する錐体細胞が興奮するが、短波長に反応する錐体細胞はほとんど興奮しない。これら三種類の錐体細胞の反応の差を大脳が分析し「オレンジ色」と結び付けられる。 三原色を測色学的に定義してできるカラートライアングル内の色のみが加法混色で再現される。カラートライアングルをいかに大きくするか、いかに必要な色の範囲をカバーするか、再現に使われる物質にかかるコストなどから、様々な組み合わせの三原色が構成されてきた。

RGBとディスプレイ

RGBによる写真をR,G,Bに分解したところ。雪の白は、強い赤・緑・青の合成になっている 液晶ディスプレイのピクセル。オレンジと青が表示されている(右半分)。左半分はその拡大RGBカラーモデルを使用している一般的な例は、ブラウン管・液晶ディスプレイ・プラズマディスプレイなど、コンピュータやテレビの映像表示に使われるディスプレイであろう。画面を構成する各ピクセルは、コンピュータやグラフィクスカードなどによって赤色・緑色・青色の明度(Value)として表現される。これらの数値はガンマ補正によって、表現したい輝度でディスプレイ上に表示されるような輝度(intensity)や電圧に転換されている。 適切な赤・緑・青の輝度の組み合わせで様々な色が表現される。2007年現在で典型的なディスプレイは一つのピクセルに24ビットまでの情報を使用している。これは8ビット分を赤・緑・青にそれぞれ割り当てることで各色相(hue)ごとに256通りの明度や輝度を与えることができる。このシステムにより、16,777,216通り(2563もしくは224)の色相(hue)・彩度(saturation)・明度(value)が特定できる。

ビデオエレクトロニクス

RGBはビデオ技術で用いられるコンポーネント映像信号に使われる。ここでは、3つのケーブルと端子にそれぞれ赤・緑・青の信号が割り当てられている。また同期信号のためにもう一本ケーブルを使う時もある。ビデオ信号のタイミングには、もともとモノクロームビデオ信号のために使われた規格であるRS-170 やRS-343を修正したものが使われている。RGBビデオ信号は、SCART端子には最適の規格であるためヨーロッパではビデオほかテレビ周辺機器に広く使われているが、それ以外の地域ではS端子が使われRGBビデオ信号は一般にはあまり使われない規格である。しかし、コンピュータのモニターには全世界的にRGB信号が用いられる。

非直線性

ガンマ補正により、コンピュータ機器による色出力の際の輝度は、ふつうイメージファイルのR・G・Bの明度の比率とは異なる。明度0.5は、輝度0(最小)から輝度1.0(最大)の半分に非常に近いが、(0.5, 0.5, 0.5)を表示する際のディスプレイ上の輝度はふつう(標準的な 2.2-gamma のブラウン管・液晶ディスプレイで)、(1.0, 1.0, 1.0)を表示する際の50%の輝度ではなく、わずか22%ほどの輝度である[2]。

プロの使用する環境下

高度な専門家などが映像・画像を制作・編集・出力する環境下では、色の適切な再生には、制作・編集の過程で使用される全機器において正確に色を合わせるためのカラーキャリブレーション(color calibration、色補正、色較正)を必要とする。この結果、制作・編集過程において色の一貫性を保証するため、機器依存の色空間の間での透過の変換などが行われる。しかし制作過程でデジタルイメージが様々な機器を経由しそのたびに変換されることで、イメージの色域が削減されるなどの劣化が起こる。このため、オリジナルのデジタル化画像の色域が広いほど、視覚的な劣化なく処理する方式が求められる。プロの機器やソフトウェアは色域の濃度を高めるため、48bpp(ピクセル当たり48ビット、RGBの各チャンネル当たり16ビット)の精細な画像を扱えるようになっている。

数値表示

立方体上にマッピングされたRGBカラーモデル詳細はビット深度を参照 RGBカラーモデルにおける色は、赤・緑・青の各要素がどれだけ含まれているかで記述することができる。各要素は輝度最小(闇)から輝度最大までの範囲を持つ。もし各要素とも最小なら、表示結果は黒になる。もし各要素とも最大なら、表示結果は白になる。 これらの色はいくつかの方法で数量化できる。 色彩の研究者は、分析する個々の色を赤・緑・青に分解しそれぞれの要素の明度を0(最小)から1(最大)の間に置く。多くの色は、これらの明度からなる数式で表現できる。たとえば輝度最大の赤色は、この表示方法を使えば、 1,0,0 (赤・緑・青の順)となる。 色の明度はパーセンテージでも表現できる。最小は0%、最大は100%となる。輝度最大の赤は、100%,0%,0%となる。 色の明度は0から255までの256個の数字でも表現できる。これはコンピュータにおける色の表示によく使われているが、プログラマが各要素の明度を8ビット(1バイト)以内の数字で表すのに便利なためである。このモデルを使えば輝度最大の赤は255,0,0となる。この明度の幅は他と比例していないが、非直線性のガンマ補正スケールには比例する。 0から255までの数字は十六進記数法でも表される。1バイトの情報は十六進数で二桁で表示できる。輝度最大の赤はFF, 00, 00 となる。またHTMLでは#FF0000と短縮される。 24bpp(ピクセル当たり24ビット)でエンコードされたRGB明度は、赤・緑・青の輝度を示す三つの8ビット符号無し整数(8-bit unsigned integers、0から255まで)で表せる。たとえば次の画像はRGB立方体の三面を開いたものであるが、その上の色は次のように表される。 (0, 0, 0) は黒 (255, 255, 255) は白 (255, 0, 0) は赤 (0, 255, 0) は緑 (0, 0, 255) は青 (255, 255, 0) は黄 (0, 255, 255) はシアン (255, 0, 255) はマゼンタ yellow (255,255,0) green (0,255,0) cyan (0,255,255) red (255,0,0) blue (0,0,255) red (255,0,0) magenta (255,0,255) これは「full-range RGB」という変換方法を用いている。full-range RGB は各原色ごとに8ビットを用いるため、各原色の明度を白から黒まで256通りに表示できる。ただしガンマ補正のため、256段階の数字は等間隔の輝度にはならない。またデジタルビデオのRGBはフルレンジではない。その代りビデオRGBはCCIR 601(放送局用)などのエンコード規格を用いている。 この24ビットカラー(24-bit color)、および32ビットカラー(32-bit color)は「トゥルーカラー」(Truecolor)と呼ばれる。その他、256色までしか表示できない8ビットカラー(8-bit color)、16ビットのハイカラー(16-bit color : Highcolor)、Adobe Photoshopなどで使われる48ビットカラー(48-bit color)などがある。

メモリ領域

圧縮されていない画像に使われるメモリの領域は、画像のピクセル数および各ピクセルの色深度によって決定される。24ビットカラーの画像では、24ビット×ピクセル数の数値が、その画像の情報量となる。これをバイトに換算するには、8で割る必要がある(8ビット=1バイト)。 640ピクセル×480ピクセルのサイズの画像の情報量: 24 × 640 × 480 = 7,372,800 ビット 7,372,800 / 8 = 921,600 バイト(921.6 キロバイト)

15ビットカラー・16ビットカラー

24ビットカラーのほか、1ピクセルあたり16ビットの輝度の情報を割り当てる15ビットカラーや16ビットカラー(Highcolor、ハイカラー)もあり、一般的な色彩の表現のためには十分な色数を表示できる。この場合、赤・緑・青の各色当たり5ビットずつが使われる(555 mode、555モード)。合計15ビットのほか、緑は人間の目がもっとも反応しやすい色であるため、緑にもう1ビット分の輝度の情報を加え合計16ビットとする(565 mode、565モード)こともある。

32ビットカラー

1ピクセルあたり32ビットの情報を使う32ビットカラーは、表示の正確さにおいてはほとんど常に24ビットカラーと同じである。24ビットモードに比べ、1ピクセル当たりあと8ビットの情報を使うことができるが、これはほとんどの場合使用されない。32ビットモードが存在する理由は、現代のハードウェアは2の乗数のバイト数に整列されたデータには、整列されていないデータよりも速いスピードでアクセスできるためである(32=25)。

48ビットカラー

48ビットカラー(48ビットモード)は1ピクセルの三原色それぞれに16ビットの情報量を当てるもので(それゆえ、16ビットモードと呼ばれることもある)、1ピクセル当たり48ビットの情報がある。このモードでは三原色のそれぞれに対し輝度は65,536段階で表現できる。48ビットカラーは、Adobe Photoshopなどプロ向けのソフトウェアで使われており、画像処理を繰り返した場合の画像の誤差蓄積による劣化を防ぐことができる。

関連記事

スポンサーリンク

xray レントゲン(X線)で撮影されたようなフィルタ効果を指定する

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る