平成24年秋期試験問題 問96

問93~96は、中問Cの問題文を読んでから回答してください。
次に示す画像データの表現方法は,画像データの情報量を圧縮することを目的とする変換である。図2に示す画像データは,何ビットで表現されるか。

〔データの表現方法〕
  • 画像データをランレングスで表現し,それらの値を2進数で表現する。
  • ランレングスの値を2進数で表現したときの値nに対して,そのnの桁数がmのとき,次の形式で,一つのランレングスを表現する。
    96.gif
    1. 桁数の情報:(m-2)ビットの連続する1で表現。なお,mが0~2の場合は,"0" と表現
    2. 区切りの情報:区切りは"0"で表現
    3. ランレングスの情報:n
    例えば,ランレングスの値が20のとき,それを2進数で表現したときの値nは"10100" となり,その桁数mは5となる。したがって,mが5のとき,①は(5-2)ビットの連続する1なので"111"となり,これに区切りの"0"とnをつなげ,結果は"111010100" となる。
  • (2)で求めた形式の値をつなげていく。このとき,画像データは必ず白から始まるものとし,もし,画像データが黒から始まる場合は,ランレングス0の白があるとして先頭に"000" を補う。

  • 27
  • 30
  • 33
  • 36
正解 問題へ
テクノロジ系
解説
同じく「0が10個続き、次に1が34個続き、その次に0が20個続いている」画像データで考えていきます。

それぞれの値を2進数で表現すると次のビット列になります。
  • 10→1010(2)
  • 34→100010(2)
  • 20→10100(2)
各ビット列の桁数は「1010→4桁,100010→6桁,10100→5桁」なので、ビット列の先頭に付加する桁数情報(ビット1を桁数-2回繰り返したもの)は「4桁→11,6桁→1111,5桁→111」になります。さらに桁数情報とランレングス情報の間には区切り文字"0"があるので、それぞれのランレングスは次のようになります。
  • 10→1010→1101010
  • 34→100010→11110100010
  • 20→10100→111010100
すべてビット列をつなぎ合わせるとビット長が27になるので、この方法では画像データを27ビットで表現できることになります。

Pagetop