色の変換


コンピュータやテレビでは一般に、色は 赤 (R)緑(G)青(B) の三色で表されます。ディスプレイや、テレビの表面 を虫眼鏡で見てみましょう。 の三色が 見えるはずです。この方式を RGB方式と呼びます。

JPEG ではまず色を RGB方式から YCrCb方式に変換します。規格上は RGB方式 や、HSV方式(色相・彩度・輝度に分ける)、YCMK方式(黄・シアン・マゼンタ・ 黒に分ける)も扱えるのですが、普通は YCrCb方式を使います。


YCrCb方式とは、色を輝度(明るさ・Y)、色相(色合い・CrCb)で表す方法です。 RGB方式との変換公式は次式です。

	Y  = 0.29900×R + 0.58700×G + 0.11400×B
	Cr = 0.50000×R - 0.41869×G - 0.08131×B
	Cb =-0.16874×R - 0.33126×G + 0.50000×B

	R = Y               + 1.40200×Cr
	G = Y - 0.34414×Cb - 0.71414×Cr
	B = Y + 1.77200×Cb
なぜこのような方式で表すかと言うと、人間の目は色の変化に鈍感だからです。 次の絵を見て見ましょう。

風景 Q=75 C=1:1:1 風景 Q=75 C=4:1:1

左の絵は色を間引いてません。右の絵は色を 1/4 に間引いています。ところ が、全然違いは分からないと思います。

まだ信じられない人は、テレビを見てみましょう。違和感を感じますか?テレ ビも色信号をかなり省いています。テレビでは、明るさの水平解像度は 300〜 400本位ですが、色の解像度はたったの 80 本程度しかありません。アニメの、 特に赤色の部分をよ〜く見てみれば、色が滲んでいる事が分かります。


実際に JPEG圧縮を行なう場合、色を RGB方式から YCrCb方式に変換します。 次に元の画像を 8×8 ドットのブロックに分割します。元画像が 640×480 ドッ トならば、80×60 個のブロックが出来ます。

ところが、これは輝度の場合です。CrCb の場合は、1ドット毎に間引いてから ブロック化します。つまり、40×30個のブロックしか作りません。でも人間は この違いはほとんど分かりません。この事を「サンプリング比が 4:1:1」と言 います。実はこれだけで半分に圧縮された事になります。

また、色を半分しか間引かず、80×30個のブロックにする事を「サンプリング 比が 2:1:1」、色をまったく間引かず80×60個のブロックにする事を「サンプ リング比が 1:1:1」と言います。


前へ 次へ
戻る
(c)1998 村上 智一
Last modified: Mon May 18 00:02:23 1998