平成24年度秋期 ITパスポート 問95 解説
中問C(問93〜96)
画像データの符号化に関する次の記述を読んで,四つの問いに答えよ。
図1は,8×8画素の白黒の画像例である。この図に対して,白を0,黒を1として表すと,図2に示すように8ビットのビット列が8行あるディジタルデータとして,画像データを表現することができる。
文字データしか送れない通信で画像データを送ろうとする場合,画像データを文字データであるかのように変換して通信する必要がある。
また,文字データと比べてデータ量の大きい画像データを効率よく通信するために,データを圧縮して送るという工夫がなされる。図2のビット列を左上から順に見ていくと,0が10個続き,次に1が34個続き,その次に0が20個続いていることが分かる。この同じ値が続く個数のことをランレングスという。これを利用して画像データを圧縮する方法を考える。

次に示す画像データの表現方法は,画像データの情報量を圧縮することを目的とする変換である。図2に示す画像データは,何ビットで表現されるか。
〔画像データの表現方法〕
(1) 画像データをランレングスで表現し,それらの値を最大128の範囲で区切る。例えば,ランレングスが200の場合は,128と72の二つのランレングスに分ける。
(2) (1)で表現したそれぞれの値から1を引き,2進数7ビットで表現する。各7ビットに対して,白の場合は0を,黒の場合は1を,それぞれの色情報として先頭ビットに補って各8ビットで表現する。
- ア7
- イ8
- ウ21
- エ24
答えを見る
正解 エ24
要点ランレングスは128以下なら1つの値を8ビットで表す
解説
図2のランレングスは白10・黒34・白20で,いずれも128以下なので区切る必要はありません。
- 白10 → 10−1=9を7ビットにし,先頭に白の0を付けて8ビット
- 黒34 → 34−1=33を7ビットにし,先頭に黒の1を付けて8ビット
- 白20 → 20−1=19を7ビットにし,先頭に0を付けて8ビット
3つの値 × 8ビット=24[ビット]でエです。
ア(7)・イ(8)は値1つ分,ウ(21)は色情報ビットを付けずに7ビット × 3で計算した値なので誤り。