DE-S05|情報Ⅰ 対策問題
白黒2値の画像データ「白白白白黒黒白白」を、ランレングス法で「色と連続数」の形式(例: 白3黒2…)で表すとどうなるか。
解答・解説を見る
正解: 1
正答
1
この問題のポイント
ランレングス法の符号化 を問う問題です。数えて置き換えるだけの単純な仕組みを、正確に実行できるかが試されます。
解説
ランレングス法は、同じ値の連続(ラン)を「値と連続した個数」の組に置き換える可逆圧縮です。「白白白白」と4個書く代わりに「白4」と書けば短くなる、という発想です。FAXのような白黒画像の圧縮に使われてきました。
元データを先頭から区切って数えます。
- 「白白白白黒黒白白」の先頭から同じ色が続く区間を区切る → 「白白白白|黒黒|白白」。
- 最初の区間: 白が4個 → 「白4」。
- 次の区間: 黒が2個 → 「黒2」。
- 最後の区間: 白が2個 → 「白2」。
つなげて「白4黒2白2」。復元すると4+2+2=8個で、元の8個と一致することも確認できます。
同じ値が長く続くデータほどよく縮み、逆に白黒が1個ずつ交互に現れるデータでは「白1黒1白1…」と個数情報が付くぶん、かえってデータ量が増えることもあります。これが圧縮の限界です。
共通テストでは、符号化(元→符号)と復号(符号→元)の両方向、さらに「圧縮前後のデータ量を比較して圧縮率を求める」形まで出題されます。数え間違いだけが失点の原因になるので、区切り線を書き込んで丁寧に数えましょう。
選択肢の確認
1.○ 白4個→黒2個→白2個の順で「白4黒2白2」。合計8個で元と一致。
2.× 「白4黒4」は黒を4個と数えた誤り。黒は2個しか続かず、合計も8個にならない。
3.× 「白2黒2白4」は区間の順序を逆にした誤り。先頭は白4個。
4.× 「白3黒3白2」は数え間違い。白は4個、黒は2個。
ここだけは覚えよう
ランレングス法=「値×連続数」に置き換える可逆圧縮 — 連続が長いほど縮み、交互データでは逆に増える。