必ず受かる情報処理技術者試験

当サイトは、情報処理技術者試験に合格するためのWebサイトです。
ITパスポート試験,基本情報技術者,応用情報技術者,高度試験の過去問題と解答及び詳細な解説を掲載しています。
  1. トップページ
  2. ITパスポート
  3. 平成24年度秋季問題一覧
  4. 平成24年度秋季問題96-解答・解説-分析

平成24年度秋季問題

問題96

データの符号化に関する次の記述を読んで,四つの問いに答えよ。 図1は,8×8画素の白黒の画像例である。この図に対して,白を0,黒を1として表すと,図2に示すように8ビットのビット列が8行あるディジタルデータとして,画像データを表現することができる。

文字データしか送れない通信で画像データを送ろうとする場合,画像データを文字データであるかのように変換して通信する必要がある。 また,文字データと比べてデータ量の大きい画像データを効率よく通信するために,データを圧縮して送るという工夫がなされる。図2のビット列を左上から順に見ていくと,0が10個続き,次に1が34個続き,その次に0が20個続いていることが分かる。この同じ値が続く個数のことをランレングスという。これを利用して画像データを圧縮する方法を考える。

次に示す画像データの表現方法は,画像データの情報量を圧縮することを目的とする変換である。図2に示す画像データは,何ビットで表現されるか。

〔データの表現方法〕

(1)画像データをランレングスで表現し,それらの値を2進数で表現する。

(2)ランレングスの値を2進数で表現したときの値nに対して,そのnの桁数がmのとき,次の形式で,一つのランレングスを表現する。

①桁数の情報::(m-2)ビットの連続する1で表現。なお,mが0~2の場合は,"0" と表現

②区切りの情報:区切りは"0"で表現

③ランレングスの情報:n
例えば,ランレングスの値が20のとき,それを2進数で表現したときの値nは"10100" となり,その桁数mは5となる。したがって,mが5のとき,①は(5-2)ビットの連続する1なので"111"となり,これに区切りの"0"とnをつなげ,結果は"111010100" となる。

(3)(2)で求めた形式の値をつなげていく。このとき,画像データは必ず白から始まるものとし,もし,画像データが黒から始まる場合は,ランレングス0の白があるとして先頭に"000" を補う。

27
30
33
36

次に示す画像データの表現方法は,画像データの情報量を圧縮することを目的とする変換である。図2に示す画像データは,何ビットで表現されるか。

〔データの表現方法〕

(1)画像データをランレングスで表現し,それらの値を2進数で表現する。

(2)ランレングスの値を2進数で表現したときの値nに対して,そのnの桁数がmのとき,次の形式で,一つのランレングスを表現する。

①桁数の情報::(m-2)ビットの連続する1で表現。なお,mが0~2の場合は,"0" と表現

②区切りの情報:区切りは"0"で表現

③ランレングスの情報:n
例えば,ランレングスの値が20のとき,それを2進数で表現したときの値nは"10100" となり,その桁数mは5となる。したがって,mが5のとき,①は(5-2)ビットの連続する1なので"111"となり,これに区切りの"0"とnをつなげ,結果は"111010100" となる。

(3)(2)で求めた形式の値をつなげていく。このとき,画像データは必ず白から始まるものとし,もし,画像データが黒から始まる場合は,ランレングス0の白があるとして先頭に"000" を補う。

27
30
33
36

解答:ア

<解説>

  1. 図2は次のように、3つで構成されている。
  2. 青色の部分は、0が10ビット続いているので、ランレングスnは1010です。その桁数mは4です。①は(4-2)ビットの連続する1なので11になります。
    区切りの情報②は0,n(③)は1010なので、結果は1101010になります。
  3. 黄色の部分は、1が34ビット続いているので、ランレングスnは1000010です。その桁数mは6です。①は(6-2)ビットの連続する1なので1111になります。
    区切りの情報②は0,n(③)は100010なので、結果は11110100010になります。
  4. 赤色の部分は、0が20ビット続いているので、ランレングスnは10100です。その桁数mは5です。①は(5-2)ビットの連続する1なので10100になります。
    区切りの情報②は0,n(③)は10100なので、結果は111010100になります。
  5. 1~4より1101010 11110100010 111010100となります。
  6. したがって、(ア)27ビットが正解である。