無料体験

【情報Ⅰ#69】色のデジタル表現について|色の三原色・光の三原色とは?|情報1の授業動画【高校・共通テスト対策】プログラミング

  • 前回は、画素についてお話ししました。 画素とは、画像の最小単位のことで、画像や画面全体のマスの数のことを画素数と言い、ピクセルと呼んだりpxと書いたりすることもあります。 画素数というとスマホのカメラやテレビを思い浮かべる人も多いと思いますが、この「画素数」が高ければ、大きな紙への印刷や大画面にも対応できるということなのです。 今回は、以前解説した「解像度」と関係が深い、色のデジタル表現について詳しく解説していきますよ。

①階調

  • 解像度の動画では、アナログ画像をデジタル化する過程である「A/D変換」について説明しました。 A/D変換は、標本化→量子化→符号化という流れで行われますが、量子化する際のルールとして、
    ・白のマスには0、黒のマスには1を割り当てる
    としていました。 一方で、Aの図の場合、白と黒が混在するマスが存在します。 そのため、
    ・マスに白と黒が混在している場合、白の部分の面積が大きい場合には0、黒の部分の面積が大きい場合には1とする
    という量子化のルールを追加していましたね? そのルールで量子化した画像はデジタル化することにより、ギザギザしたシャギーができてしまいます。 以前は、解像度を高くすることでシャギーを少なくすることができると説明しましたが、今回は別な方法を用いてシャギーをさらに少なくしていきたいと思います。
  • へぇ、他にも方法があるんだね!
  • 続きの解説は、動画をご覧ください。

②色の3原色と光の3原色

  • 突然ですが、ここで問題です。
Q.絵の具と色鉛筆を購入するとき、絵の具セットは大体10種類くらいの色しか無いのに対し、色鉛筆セットは数10種類、多いもので数100種類の色があります。それはなぜでしょう?

A.絵の具は混ぜ合わせることで、他の色をつくることができるから。
  • 皆さんは、色の3原色というのを聞いたことはありますか? 青緑、赤紫、黄の3色の絵の具を組み合わせれば、どんな色でもつくりり出せるというものです。 青緑(C:シアン)、赤紫(M:マゼンタ)、黄(Y:イエロー)の3色の絵の具を組み合わせれば、どんな色でもつくりり出せるというものです。 この特徴を利用しているのが、カラープリンタです。 カラープリンタでも、3原色のシアン、マゼンタ、イエローに黒(BK:ブラック)を加えた4種類のインクしか使っていません。 この4種類のインク量を調整することで、綺麗な写真の印刷もできてしまうのです。 また、このシアン、マゼンタ、イエローの3色を均等に混ぜると黒になります。
  • えっ!そうなんだ
  • 紙の色は基本的には白ですから、この組み合わせで色を塗ることで白→黒に近づいていきます。このような色の混ぜ方を、混ぜるほど明るさが減っていき暗くなっていくので「減法混色」と言います。減法混色で使われる3原色のCyan(シアン)、Magenta(マゼンタ)、Yellow(イエロー)に、黒ではなく墨を表すKey plate(キープレート)を使った色表現を、それぞれの色の頭文字をとって、CMYKと呼びます。 一方で、スマホの画面やパソコンのディスプレイに表示する際は、光の三原色である赤(R:レッド)・緑(G:グリーン)・青(B:ブルー)の組み合わせで色をつくり出しています。 例えると、1マスに赤・緑・青色の懐中電灯が1つずつあり、それぞれの明るさを調整することで、鮮やかな色を表現していると思ってください。

③色のデジタル表現

  • スマホの画面では、帯状となった赤・緑・青の光具合を調整することで、様々な色を表現しています。 そして、その光具合のレベルを赤・緑・青、それぞれ256段階用意しています。 この256という数字で何かピンときませんか?
  • ん?僕のインスタをフォローしている熱狂的JKの数?
  • 256は2の8乗でしたよね? つまり、2進数の8bitの最小値である00000000~最大値である11111111の256パターンで、各色の色を決めているということなのです。 もう一つピンときてほしいことがあります。2進数の8桁ということはどういうことですか?
  • ん?長くてわかりづらい!
  • 4桁の2進数は、1桁の16進数で表すことができますよね?この法則を忘れてしまった人は、16進法のIT領域展開動画を見直し、ルークススクールの再生数向上に貢献してください。 つまり、16進数の場合、00~ffの256パターンで表現できるということなのです。 そして、赤(R:レッド)・緑(G:グリーン)・青(B:ブルー)の順番で指定したコードをカラーコードと呼びます。 例えば、赤と青を均等に混ぜてできる紫を表示したい場合、赤が128、緑は0、青は128となるので、「800080」となります。 また黄緑の場合、赤173、緑255、青47の割合で混色させるので、それぞれを16進数に変換した「adff2f」となります。 このように、1画素当たり8bit×3=24bitの色情報で表現する手法のことを、24ビットフルカラーと呼び、256の3乗となる16,777,216色を表現することができます。 また、インターネットで「カラーコード」と検索すると、カラーコード辞典が見られますので、どの色のときにどのようなコードになるのかを是非見てください。 ちなみに、この24ビットフルカラーが使われる代表例が、Webサイトの装飾です。 Webサイトで文字の色や背景色を指定する際は、6桁の16進数で色を指定します。 例えばこのように、紫の文字で背景色を黄緑にしたい場合には、こんな感じでコードを書きます。
  • なるほどね。16進数の使い道もなんとなくわかったよ。

まとめ

  1. コンピュータが画像を扱う際に、色の濃さや明るさを何段階で表現することができるかを表す数を階調といい、この数が大きいほど鮮彩に表現できるが、データ量は増大する。
  2. 色の3原色となる「シアン」「マゼンタ」「イエロー」を使って色を表現する手法を減法混色と言い、「赤」「緑」「青」を使って色を表現する手法を加法混色と言う。
  3. スマホ等のディスプレイ表示には加法混色が使われ、6桁の16進数で色を指定することで、16,777,216色を表現することができる。