冬期講習 2026-2027、募集中。総復習は売りません。90分×完全1対1で、穴だけを塞ぎます 詳しく →
電話 0422-27-7828チャットで質問無料相談を予約

武蔵野個別指導塾の特徴

高校情報I 画像の階調と色—各成分のビット数から色の組合せと容量を求める|武蔵野個別指導塾

学習のイメージ写真 武蔵野個別指導塾
X LINE Facebook

展示図案の容量上限を手掛かりに、RGBの組合せと画素数の交換条件をたどり、選択を支える画像の階調へ迫ります。

よくあるのは、高校生が展示図案の赤・緑・青の各成分に4段階ずつあると聞き、色は4と4と4を足した12種類だと考える場面です。1画素の色は、赤の段階を決めてから緑と青も選んで初めて決まります。各成分の選択肢がどのように組み合わさるかを追えば、色数と保存量を区別できます。図案の保存先に上限があるときは、画素の数も一緒に考えます。

どんな問いが出るか

1つ目は、各成分のビット数から表現できる段階数と色の組合せを求める問いです。赤だけの段階数を答えるのか、赤・緑・青を合わせた1画素の色数を答えるのかを読み分けます。成分のビット数が同じとは限らないため、成分ごとに段階数を書き出すと確実です。

2つ目は、縦横の画素数と1画素あたりのビット数から、非圧縮のデータ量を求める問いです。透明度やヘッダがあるか、バイトへどう換算するかで計算に入れる量が変わります。条件が書かれていなければ、実際のファイル全体の容量を一意に決めたことにはなりません。

3つ目は、容量の上限の下で複数案を比較する問いです。画素を増やすと形の細部を記録しやすくなり、成分の段階を増やすと明るさの差を細かく区別できます。どちらが適切かは図案と用途によります。数値で容量を確かめた後、何を残したいかを理由に選びます。

段階と組合せを別に数える

画素は画像を構成する小さな点です。単色の濃淡を扱うとき、1画素に割り当てたビット列で明るさの段階を表します。1ビットなら0と1の2通り、2ビットなら00、01、10、11の4通りです。一般に、nビットの異なる並びは2のn乗通りです。0を含めて数えるので、2ビットの番号を0から付ければ最大番号は3ですが、段階数は4です。

RGBは赤、緑、青の光の成分を使う表し方です。各成分の強さを選び、光を加えることで色を表します。成分がすべて最小なら暗く、すべて最大なら明るい方向になります。これは絵の具を混ぜる説明とは区別します。実際に見える色は表示機器や環境にも左右されるので、計算した組合せ数を、人が必ず見分けられる色数と同一視しません。

図1のように、赤の選択肢のそれぞれに緑の選択肢が付き、さらに青の選択肢が付きます。例えば赤が2段階、緑が4段階、青が2段階なら、2かける4かける2で16通りです。足し算の8は各成分の選択肢の個数の合計で、色の組合せ数ではありません。

図1 成分ごとの段階から色の組合せを数える関係

図1の各段階は同時に選ぶため、積になります。赤と緑と青にそれぞれ1、2、1ビットを使うなら、1画素には合計4ビットを使います。全ビット列は2の4乗で16通りあり、成分別に数えた結果とも一致します。色数を求めるときは段階数を掛け、1画素のビット数を求めるときは成分のビット数を足します。この2つの操作を混ぜないことが要点です。

非圧縮で各画素に同じビット数を使う条件では、画素数に1画素のビット数を掛けると画像データのビット数が出ます。縦と横の画素数の積が総画素数です。透明度を表す成分がある場合は、そのビット数も1画素分に加えます。ただし透明度を追加すると、色と透明度の状態の組合せは増えても、RGBの色の組合せ自体が増えるとは限りません。

問題で1バイトを8ビットと定めた場合、ビット数を8で割ってバイトに直します。割り切れないときは、問題が端数をどう保存するかを指定しているかが必要です。画素ごとの詰め物、行の境界の余分なビット、ヘッダなどがあれば単純な積だけでは足りません。以下の例では明示した条件で計算し、現実の画像形式の規格だとは考えません。

基本例題:1画素から図案全体へ

展示用の小さな図案は横8画素、縦6画素です。各画素の赤を2ビット、緑を2ビット、青を1ビットで記録します。透明度はなく、ヘッダも詰め物もない非圧縮データとします。全画素を連続して記録し、1バイトは8ビットです。1画素の色の組合せ数を通りで、全体の容量をバイトで答えてください。

まず赤は2の2乗で4段階、緑も4段階、青は2の1乗で2段階です。したがって色の組合せは4かける4かける2で32通りです。図2のように、画素に必要なビット数は2と2と1を足して5ビットです。

図2 展示図案の画素数と成分から容量を求める流れ

図2の横8画素と縦6画素から、総画素数は48画素です。1画素5ビットなので、画像データは48かける5で240ビットです。8ビットを1バイトとすると240割る8で30バイトです。答えを戻して確かめると、30バイトは240ビットで、48画素に5ビットずつ割り当てられます。また5ビットの並びは2の5乗で32通りあり、成分別に数えた色数と合います。

同じ図案でも青を2ビットに増やすと、青は4段階になり、色数は64通りです。1画素は6ビットになるので全体は288ビット、36バイトです。青の段階を2倍にすると色の組合せは2倍ですが、容量は30バイトから36バイトへ増えます。色数が2倍だから容量も2倍、とはなりません。容量に効くのは色数そのものではなく、記録するビット数です。

標準例題:上限内で何を残すか

展示図案の候補Aは横16画素、縦12画素、RGB各2ビットです。候補Bは横24画素、縦16画素、RGB各1ビットです。透明度、ヘッダ、詰め物はなく、非圧縮で全画素を連続して保存します。1バイトは8ビット、上限は150バイトです。各候補の色の組合せ数と容量を求め、上限内か判定してください。細い輪郭を優先する場合と、なだらかな色の変化を優先する場合の選び方も説明してください。

Aは192画素、1画素6ビットです。1152ビットは144バイトで、上限に収まります。各成分は4段階なので色は4かける4かける4で64通りです。Bは384画素、1画素3ビットです。1152ビットは同じく144バイトで、こちらも収まります。各成分は2段階なので色は2かける2かける2で8通りです。

両方とも144バイトを8倍すると1152ビットに戻り、それぞれ192画素に6ビット、384画素に3ビットを割り当てた量と一致します。輪郭の細部を優先するなら、同じ範囲を描く条件では画素の多いBが候補です。色の細かな変化を優先するなら、成分ごとの段階が多いAが候補です。ただし画素が多くても元の図案や表示方法によって見え方は変わります。計算だけで作品の良し悪しまで断定せず、試しに表示して確かめます。

発展例題:上限から逆算する

別の展示図案を横20画素、縦12画素で記録します。RGBの3成分には同じ整数のビット数を割り当て、各成分は少なくとも1ビットとします。透明度、ヘッダ、詰め物はなく非圧縮、1バイトは8ビットです。容量上限が180バイトのとき、各成分に使える最大のビット数と、そのときの色の組合せ数を答えてください。

上限は1440ビット、画素は240個です。1440を240で割ると、1画素あたり最大6ビットです。3成分に同じ数を割り当てるので、各成分は最大2ビットです。各成分4段階ですから色の組合せは64通りです。答えを戻すと240画素に6ビットずつで1440ビット、180バイトとなり、ちょうど上限に一致します。

各成分3ビットなら1画素9ビットで、240画素では2160ビット、270バイトです。これは上限を超えるため、2ビットが最大と確かめられます。ここでは成分ごとに同じ整数という条件が効いています。異なるビット数を認める問題なら、重要な成分へ多く割り当てる案も考えられますが、色の偏りや用途を別途検討します。

誤答を見つけて直す

基本例題で「色数は4と4と2を足して10通り」と答えた場合、成分の選択肢を別々のものとして数えている可能性があります。図3のように赤の1つの段階に対しても緑と青の選択が残るので、4かける4かける2と直します。10という値は成分別の段階数の合計にはなりますが、1画素の色の数にはなりません。

図3 階調数を足した誤答を組合せの積に直す手順

図3の修正後は32通りです。別の誤りとして、5ビットの1画素を5通りと数えることもあります。ビット数は選択肢の数ではなく、0と1の位置の数です。2の5乗に戻し、32通りと確認します。

容量では、48画素に色数32を掛けてしまう誤りがあります。保存するのは色の候補そのものではなく、選ばれた色を表す各画素の5ビットです。単位を書き、画素にビット毎画素を掛けるとビットになるかを点検します。透明度の有無やヘッダを読み落とした場合は、計算を続ける前に条件表へ戻ります。条件が不足していれば、不足した項目を挙げてから仮定の下で答えます。

練習:条件を表にしてから解く

以下はすべて自作の条件です。1バイトは8ビットで、透明度、ヘッダ、詰め物はなく、非圧縮で画素を連続して記録します。答えには指定された単位を付けてください。

  1. 白黒の濃淡画像では1画素に3ビットを使います。濃淡の段階数を通りで、横10画素、縦8画素の容量をバイトで答えてください。
  2. 案内板の色は赤3ビット、緑2ビット、青1ビットで表します。1画素の色の組合せを通りで答え、段階数の和と区別してください。
  3. 作品の記録は横12画素、縦10画素、RGB各2ビットです。容量をバイトで求め、90バイトの上限に収まるか答えてください。
  4. 模様の記録は横16画素、縦10画素です。RGB各成分に同じ整数のビット数を割り当てます。上限120バイトで各成分に使える最大ビット数と色の組合せ数を答えてください。
  5. 同じ範囲を描く候補Cは横20画素、縦12画素、RGB各1ビット、候補Dは横10画素、縦12画素、RGB各2ビットです。それぞれの容量をバイトで求め、細い線と色の段階をそれぞれ優先するときの候補と、不足する確認事項を答えてください。

練習の答えと確かめ方

  1. 3ビットの並びは2の3乗で8通りです。80画素に3ビットずつなので240ビット、30バイトです。30バイトを8倍すると240ビット、80画素で割ると元の3ビットに戻ります。最大番号の7を段階数としないよう、0から7までの8個を数えます。

  2. 赤は8段階、緑は4段階、青は2段階です。積は8かける4かける2で64通りです。和の14は各成分の段階数を並べて足した値で、同時に選ぶ組合せではありません。合計6ビットの並びも64通りなので、全成分を合わせた数と一致します。

  3. 120画素に1画素6ビットを使い、720ビット、90バイトです。上限と等しいため収まります。90バイトを8倍し、120画素で割ると6ビットに戻ります。上限を超えないことと、上限より小さいことは同じではありません。

  4. 120バイトは960ビット、160画素で割ると1画素6ビットまでです。3成分に等しく分けて各2ビット、色は4かける4かける4で64通りです。160画素に6ビットずつで960ビットとなり上限に一致します。各3ビットでは1440ビットとなり、上限を超えます。

  5. Cは240画素に3ビットずつで720ビット、90バイトです。Dは120画素に6ビットずつで同じく90バイトです。容量を戻すと両方720ビットで、それぞれの画素数と1画素分の積に合います。細い線なら画素数の多いC、色の段階なら各成分4段階のDが候補です。ただし元の模様にどの程度細い線や色の変化があるか、どの大きさで表示するかが不足しています。両案を表示して目的の部分が読めるかも確かめます。

覚えておくこと

つまずきの場所を探す

個別指導では、まず本人が各成分のビット数、段階数、1画素のビット数を別々の欄に書けるかを確かめます。段階数は合っていても和を色数にしていれば、赤の1段階に緑と青がそれぞれ組み合わさる様子を一緒に描きます。容量で間違えた場合は、画素数とビット数の単位をたどり、答えを元の画素数へ戻します。上限の比較では、数値が収まるかと、その案が目的に合うかを別々に説明できるかを見ます。色の選択肢と記録量を分けると、図案の条件変更を自分の言葉で判断できます。

読んで終わりにするか、ここから変えるか。

武蔵境駅徒歩30秒、講師1人に生徒1人の完全1対1。授業のあいだ、先生は隣を離れません。いまの詰まりを、無料相談でそのまま話してください。

まず15分だけ電話で話したい方は、無料電話相談(15分)から。塾からお電話を差し上げます。

本気になった日が、入塾の日。

お子様の教育、迷ったら「丸投げ」してください。必ず、期待以上の結果で返します。武蔵野で育む、武蔵境で学ぶ。

電話は年中無休。365日、24時間、お電話可能。

チャットで質問チャット
無料相談を予約する 電話 0422-27-7828電話 LINE チャット
で質問