過去問ぽちぽちby KKM Studio

平成24年度秋期 ITパスポート 問96 解説

中問C(問93〜96)

画像データの符号化に関する次の記述を読んで,四つの問いに答えよ。

図1は,8×8画素の白黒の画像例である。この図に対して,白を0,黒を1として表すと,図2に示すように8ビットのビット列が8行あるディジタルデータとして,画像データを表現することができる。

文字データしか送れない通信で画像データを送ろうとする場合,画像データを文字データであるかのように変換して通信する必要がある。

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

平成24年度秋期 中問C(問93〜96) 図1

次に示す画像データの表現方法は,画像データの情報量を圧縮することを目的とする変換である。図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”を補う。

  1. ア27
  2. イ30
  3. ウ33
  4. エ36
答えを見る

正解 ア27

要点桁数情報+区切り0+2進値で各ランレングスを表す

解説

図2は白から始まり,ランレングスは10・34・20です。

  • 10=1010(m=4)→ ①“11”+②“0”+③“1010”=7ビット
  • 34=100010(m=6)→ ①“1111”+②“0”+③“100010”=11ビット
  • 20=10100(m=5)→ ①“111”+②“0”+③“10100”=9ビット(問題文の例)

合計 7 + 11 + 9=27[ビット]でアです。

白から始まるので先頭の“000”の補いは不要です。イ(30)はこの“000”を誤って加えた値です。

App

スキマ時間に、1問ずつ。
アプリ「ITパスポート 過去問ぽちぽち」

全問を正答・解説つきで収録。毎日の10問に、忘れた頃の復習が自然に混ざります。広告なし・買い切り。

App Store近日公開Google Play近日公開