[中問C]
データの符号化に関する次の記述を読んで、問に答えよ。
図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
答:エ
ランレングスが最大128で区切られるので、白10、黒34、白20という図2のランレングスは、白10、黒34、白20で変わらない。
(2)によって以下の通りになる。
白10:先頭ビットが0である8ビットの9
黒34:先頭ビットが1である8ビットの33
白20:先頭ビットが0である8ビットの19
よって8ビット×3=24ビット必要になり、正解はエとなる。