本文へスキップ

平成23年度 秋期 ITパスポート試験 問92

この問題の解説と、これまでの解答の記録です。

問92
頻出度★☆☆

文字や図形を白黒で縦 7 画素,横 7 画素のディジタル画像で表すとき,数字の“0”を図 1 のように表現する。このディジタル画像を画素データとして出力する処理,画素データを圧縮する処理及びディジタル画像を回転させる処理について考える。 図 1 数字の“0”のディジタル画像

1列2列3列4列5列6列7列
1行□□■■■□□
2行□■□□□■□
3行□■□□□■□
4行□■□□□■□
5行□■□□□■□
6行□■□□□■□
7行□□■■■□□

画素データを出力する処理の概要と圧縮する処理の概要は,次のとおりである。 〔画素データを出力する処理の概要〕 (1) 画素の色が白のときは“w”,黒のときは“b”を画素データとして出力する。 (2) 1 行 1 列,1 行 2 列,…,1 行 7 列,2 行 1 列,2 行 2 列,…,7 行 7 列の順番に各位置の画素データを出力する。 (3) 画素データを出力する際は,各画素データの間をコンマ“,”で区切る。 (4) 図 1 の画素データを出力した結果は次のとおりになり,文字数はコンマを含めて 97 文字になる。 w,w,b,b,b,w,w,w,b,w,w,w,b,w,w,b,w,w,w,b,w,w,b,w,w,w,b,w,w,b,w,w,w,b,w,w,b,w,w,w,b,w,w,w,b,b,b,w,w 〔画素データを圧縮する処理の概要〕 (1) 同じ色の画素データが連続する場合,“w”又は“b”の後に連続する画素の数をつなげて出力する。例えば,“b,b,b”は“b3”になる。 (2) 図 1 の画素データを圧縮した結果の出力は次のとおりになり,文字数はコンマを含めて 64 文字になる。 w2,b3,w3,b,w3,b,w2,b,w3,b,w2,b,w3,b,w2,b,w3,b,w2,b,w3,b,w3,b3,w2 図4の三つのディジタル画像をそれぞれ右に90度回転させたとき, 回転前の画素データを圧縮した結果の文字数から, 回転後の画素データを圧縮した結果の文字数を引いた値が大きい順に並べたものはどれか。ここで, 文字数にはコンマを含める。

出典 平成23年度 秋期 ITパスポート試験 問92
解説

問 92

  • 不正解ア

    画像①、画像②、画像③の順としていますが、画像②の差は−17で3つの中で最小です。画像②は回転すると縦に伸びていた白帯が横向きから縦向きに変わって塊が細かくなり、76文字から93文字へ増えてしまうため、2番目ではなく最後に来ます。差が0の画像③が2番目です。

  • イ

    正解 圧縮の規則は「1行1列から7行7列まで行の順に画素を並べ、同じ色が続く塊(ラン)を『色+連続数』の1項にまとめ、連続数が1のときは数字を省いてコンマで区切る」というものです。したがって文字数は、走査方向(横方向)に同色がどれだけ長く続くかで決まります。 各画像を実際に圧縮すると次のようになります。 ・画像①:中央の第4列だけが縦につながった白帯で、横方向にはほとんど1画素ごとに色が変わるため塊が多く、93文字。 ・画像②:3行目と5行目の2〜6列が黒で連続し、4行目の2〜6列が白で連続するので、横方向に長い塊ができて76文字。 ・画像③:3行目と5行目に白3連続、4行目に白5連続があり、その中間で84文字。 ここで大切なのは、画像①と画像②が互いに右90度回転の関係にあり、画像③は右90度回転しても元と同じ形になる(回転対称である)という点です。回転前i行j列の画素は回転後j行(8-i)列に移るので、実際に回すと画像①→画像②の形、画像②→画像①の形、画像③→画像③の形になります。 よって「回転前の文字数−回転後の文字数」は、 ・画像①:93−76=+17 ・画像②:76−93=−17 ・画像③:84−84=0 となり、大きい順に並べると画像①、画像③、画像②です。したがって正解は「イ」です。

  • 不正解ウ

    画像②を先頭に置いていますが、画像②は回転後に文字数が増える(76→93)ため差はマイナスであり、先頭になることはありません。先頭は回転で93→76と大きく減る画像①です。

  • 不正解エ

    画像②、画像③、画像①の順は、正しい順(画像①、画像③、画像②)をちょうど逆にしたものです。差の小さい順に並べてしまった場合の誤りで、設問は「大きい順」を求めているので当てはまりません。

ここがポイント
  • ランレングス法(可逆圧縮)では、走査方向に同じ色が長く続くほど項の数が減って文字数が小さくなる。画像を90度回転させると模様と走査方向の関係が変わるので、同じ画像でも圧縮後の文字数が変わる。
  • 7×7画像の右90度回転は「回転前のi行j列→回転後のj行(8-i)列」で対応する。回転しても形が変わらない画像(回転対称)は圧縮後の文字数も変わらず、差は0になる。
用語

解答の記録