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

次に示す画像データの表現方法は,画像データの情報量を圧縮することを目的とする変換である。図2に示す画像データは,何ビットで表現されるか。
〔画像データの表現方法〕
(1) 画像データをランレングスで表現し,それらの値を最大15の範囲で区切っていく。例えば,ランレングスが20の場合は,15と5の二つのランレングスに分ける。
(2) 白と黒のランレングスをそれぞれ4ビットの2進数で表し,常に“白と黒”の8ビットの組みとして表現する。例えば,白のランレングスが15と5というように続く場合は,その間にランレングス0(2進数では0000)の黒を補い,白のランレングス15と黒のランレングス0の組みを作る。このように,白又は黒が続く場合は間に黒又は白,黒で始まる場合は先頭に白,白で終わる場合は末尾に黒のランレングス0を補うことで,常に白と黒の8ビットの組みを作る。
- ア12
- イ24
- ウ40
- エ48
答えを見る
正解 ウ40
要点ランレングスを15以下に区切り,白黒の組で8ビットずつ表す
解説
図2のランレングスは,白10・黒34・白20です。最大15で区切ると白10,黒15・15・4,白15・5になります。常に(白,黒)の組にし,足りない所には0を補います。
- (白10,黒15),(白0,黒15),(白0,黒4),(白15,黒0),(白5,黒0)
- 黒が続く所は間に白0,白が続く所は間に黒0,白で終わるので末尾に黒0を補う
組は5組なので,5 × 8=40[ビット]でウです。