- トップページ
- ITパスポート
- 平成24年度秋季問題
- 平成24年度秋季解答・解説
平成24年度秋季解答
データの符号化に関する次の記述を読んで,四つの問いに答えよ。 図1は,8×8画素の白黒の画像例である。この図に対して,白を0,黒を1として表すと,図2に示すように8ビットのビット列が8行あるディジタルデータとして,画像データを表現することができる。
文字データしか送れない通信で画像データを送ろうとする場合,画像データを文字データであるかのように変換して通信する必要がある。 また,文字データと比べてデータ量の大きい画像データを効率よく通信するために,データを圧縮して送るという工夫がなされる。図2のビット列を左上から順に見ていくと,0が10個続き,次に1が34個続き,その次に0が20個続いていることが分かる。この同じ値が続く個数のことをランレングスという。これを利用して画像データを圧縮する方法を考える。
問題93
次に示す画像データの表現方法は,画像データを文字データに変換するものである。図2の画像データの中の9~12ビット(2行目の先頭4ビット)のビット列は,どの文字として表現されるか。
〔画像データの表現方法〕
(1) 画像データのビット列を4ビットずつ取り出し,それぞれの先頭に4ビットの値"0100"を補い,8ビットで表現する。
(2) (1)で求めた各8ビットの値をJIS X 0201の文字コードに対応する文字で表現する。01000000,01000001,01000010,…,01001111の8ビットの値は,JIS X 0201の文字コード体系では,文字@,A,B,…,Oに対応する。
ア | @ |
イ | B |
ウ | C |
エ | O |
解答:ウ
<解説>
- 9~12ビットは0011である。
- 0011の先頭に"0100"を補い,8ビットで表現する。
→01000011 - JIS X 0201の文字コードは次のようになる。
よって、ウが正解である。
問題94
次に示す画像データの表現方法は,画像データの情報量を圧縮することを目的とする変換である。図2に示す画像データは,何ビットで表現されるか。
〔画像データの表現方法〕
(1)画像データをランレングスで表現し,それらの値を最大15の範囲で区切っていく。例えば,ランレングスが20の場合は,15と5の二つのランレングスに分ける。
(2)白と黒のランレングスをそれぞれ4ビットの2進数で表し,常に"白と黒"の8ビットの組みとして表現する。例えば,白のランレングスが15と5というように続く場合は,その間にランレングス0(2進数では0000)の黒を補い,白のランレングス15と黒のランレングス0の組みを作る。このように,白又は黒が続く場合は間に黒又は白,黒で始まる場合は先頭に白,白で終わる場合は末尾に黒のランレングス0を補うことで,常に白と黒の8ビットの組みを作る。
ア | 12 |
イ | 24 |
ウ | 40 |
エ | 48 |
解答:ウ
<解説>
- 図2は次のように、3つで構成されている。
- 青色の部分は、0が10ビット続いているので、1010です。(2進4ビットの表記で1010)
- 黄色の部分は、1が34ビット続いているので、最大15の範囲に分けると、15,15,4のランレングスになります。15,15,4のラングレンスはそれぞれ、1111,1111,0100になります。ただし黒のラングレンスが3つ続くので、それぞれの間にランレングス0(2進表記で0000)の白を補うので、11110000111100000100です。
- 赤色の部分は、0が20ビット続いているので、最大15の範囲に分けると、15,5のランレングスになります。15,5のラングレンスはそれぞれ、1111,0101になります。ただし白のラングレンスが2つ続くので、それぞれの間にランレングス0(2進表記で0000)の黒を補うので、111100000101である。ランレングスが白で終わるので、末尾に黒のランレングス0を補うと、1111000001010000になります。
- 1~4より1010 1111 0000 1111 0000 0100 1111 0000 0101 0000となります。
- 4ビットのランレングスが10個あるので、(ウ)40ビットが正解である。
問題95
次に示す画像データの表現方法は,画像データの情報量を圧縮することを目的とする変換である。図2に示す画像データは,何ビットで表現されるか。
〔画像データの表現方法〕
(1)画像データをランレングスで表現し,それらの値を最大128の範囲で区切る。例えば,ランレングスが200の場合は,128と72の二つのランレングスに分ける。
(2)(1)で表現したそれぞれの値から1を引き,2進数7ビットで表現する。各7ビットに対して,白の場合は0を,黒の場合は1を,それぞれの色情報として先頭ビットに補って各8ビットで表現する。
ア | 7 |
イ | 8 |
ウ | 21 |
エ | 24 |
解答:エ
<解説>
- 図2は次のように、3つで構成されている。
- 青色の部分は、0が10ビット続いているので、1010です。(2進7ビットの表記で00001010)
先頭に、0(白)を補った00001010となります。 - 黄色の部分は、1が34ビット続いているので、0100010です。
先頭に、1(黒)を補った10100010となります。 - 赤色の部分は、0が20ビット続いているので、0010100です。
先頭に、0(白)を補った00010100となります。 - 1~4より00001010 10100010 00010100となる。
- 8ビットのランレングスが3個あるので、(エ)24ビットが正解である。
問題96
次に示す画像データの表現方法は,画像データの情報量を圧縮することを目的とする変換である。図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は次のように、3つで構成されている。
- 青色の部分は、0が10ビット続いているので、ランレングスnは1010です。その桁数mは4です。①は(4-2)ビットの連続する1なので11になります。
区切りの情報②は0,n(③)は1010なので、結果は1101010になります。
- 黄色の部分は、1が34ビット続いているので、ランレングスnは1000010です。その桁数mは6です。①は(6-2)ビットの連続する1なので1111になります。
区切りの情報②は0,n(③)は100010なので、結果は11110100010になります。 - 赤色の部分は、0が20ビット続いているので、ランレングスnは10100です。その桁数mは5です。①は(5-2)ビットの連続する1なので10100になります。
区切りの情報②は0,n(③)は10100なので、結果は111010100になります。 - 1~4より1101010 11110100010 111010100となります。
- したがって、(ア)27ビットが正解である。
お問い合わせ