ITパスポート 2010年 秋期 問85
問題文
図を画素で表す手法を考える。図1の場合、個の画素を左上から1行ずつ右方向へ1画素ずつ読み取り、黒ならB、白ならWと書くと“BWBBBBBWB”(9文字)となる。次に、BやWが文字連続する場合を“Bn”、“Wn”と表す(は以上の整数)と、図1は“BWB5WB”(6文字)と表現でき、このときの圧縮率をであると定義する。図2のの図形について同じ手法で表現すると、圧縮率は何%か。

選択肢
ア:48.0
イ:52.0(正解)
ウ:76.0
エ:88.0
🔒 解説は解答すると表示されます
図2の圧縮率を求める問題【ITパスポート 解説】
正解の理由
この問題は、画面を1画素ずつ左上から右へ、上から下へと順に読み取り、同じ色が連続する場合に「色+連続数」で表す手法(ランレングス圧縮:RLE, Run-Length Encoding)を適用して圧縮率を計算する問題です。図2を読み取ったときに得られる連続する色のまとまり(ラン)を正しく数え、その符号長(文字数)を元画像の画素数で割ればよいので、計算の結果が52.0%となります。
(注)本問では灰色の塗りを「B(黒に相当)」、白を「W」と表しています。画素(がそ:画像を構成する小さな点)を1つずつ扱います。
解法ステップ
-
図2は5×5で合計25画素です。まず行ごとに左右から並べると得られる色の列を確認します。
- 1行目:B B B B B
- 2行目:B W W W W
- 3行目:B B B B W
- 4行目:B W W W W
- 5行目:B W W W W
-
上から順に連結して1列の長い列にします(行の境で色が同じなら連続とみなします)。すると画素列は: BBBBB BWWWW BBBBW BWWWW BWWWW (合計25文字)
-
この連続列を前から見てラン(同じ文字が連続するまとまり)に分けます。ランの長さは次の通りです。
- B が6個連続 → B6
- W が4個連続 → W4
- B が4個連続 → B4
- W が1個 → W
- B が1個 → B
- W が4個 → W4
- B が1個 → B
- W が4個 → W4
-
ランレングス表記ルール:2個以上なら「色+数(例:B4)」、1個なら単に「色(例:W)」と表すので、上の表記は B6 W4 B4 W B W4 B W4 となり、これを文字数で数えると、各「B6」「W4」「B4」「W」「B」「W4」「B」「W4」の長さはそれぞれ 2,2,2,1,1,2,1,2 → 合計13文字です。
-
圧縮率は「圧縮後の文字数 ÷ 元の文字数 × 100%」なので
したがって正解はイ(52.0%)です。
選択肢別の誤答解説
-
ア: 48.0
- 48.0% はもし圧縮後が12文字なら出る値です(12/25=48%)。しかし図のランを正しく数えると圧縮後は13文字になるため誤りです。行のつながりでBが6連になる点を見落とすと12と誤計算しやすいです。
-
イ: 52.0(正解)
- 正しくランをつなげて数えると圧縮後13文字、元は25画素で52.0%になります。
-
ウ: 76.0
- 76.0% は(19/25)や(~0.76)に相当しますが、本問の符号長や元画素数とは合いません。圧縮後を過大に見積もった結果の数字です。
-
エ: 88.0
- 88.0% は(22/25)に相当します。ほとんど圧縮されていないと仮定した場合の値で、ランを適切にまとめるとこの値にはなりません。
よくある誤解
-
行ごとに別々に処理する
- 誤り:各行ごとにリセットして考え、行末と次行先頭の同色を別のランと考えてしまう。
- 正解:読み取りは連続する1列として扱うため、行末と次行先頭が同色ならランはつながります(本問では1行目の終わりBと2行目の先頭Bがつながり、B6になります)。
-
「1個の連続」も「B1」や「W1」と書いてしまう
- 誤り:「B1」と書くと2文字になり、問題のルール(は2以上の整数で、1は単に文字)に反します。1個は単に「B」や「W」と書きます。
-
画素の対応を間違える(灰色をWと見るなど)
- 誤り:灰色を白(W)と誤認すると全体の並びが変わり圧縮率も違ってしまいます。図の色の対応(ここでは灰色→B、白→W)を最初に明確にしてください。
補足コラム:ランレングス圧縮(RLE)について
ランレングス圧縮(RLE:Run-Length Encoding)は、同じデータが連続する部分を「データ+回数」で表す単純な圧縮法です。白黒(あるいは2色)の画像や、同一値が長く続くデータに強く効率的です。一方、色が頻繁に切り替わる画像(ノイズが多い写真など)では逆にデータが増えることがあります。
覚え方のヒント:Run(連続)+Length(長さ)=連続する長さを記録する方式、です。
FAQ
Q1. 行の終わりと次の行の先頭が同じ色なら結合して良いですか?
A1. はい。問題文の読み取り順は「左上から1行ずつ右方向へ1画素ずつ読み取り、上から下へ」とあるため、上下行の境も連続として扱います。
A1. はい。問題文の読み取り順は「左上から1行ずつ右方向へ1画素ずつ読み取り、上から下へ」とあるため、上下行の境も連続として扱います。
Q2. 1個だけの連続も「B1」と書いてよいですか?
A2. いいえ。問題のルールでは は2以上の整数です。1個の場合は単に「B」や「W」と書きます。
A2. いいえ。問題のルールでは は2以上の整数です。1個の場合は単に「B」や「W」と書きます。
Q3. 圧縮率が100%になるのはどんな時ですか?
A3. 圧縮後の文字数が元の画素数と同じ場合です。たとえば交互に色が続き、すべてが単独のラン(B W B W ...)になると圧縮効果はなく100%になります。
A3. 圧縮後の文字数が元の画素数と同じ場合です。たとえば交互に色が続き、すべてが単独のラン(B W B W ...)になると圧縮効果はなく100%になります。
関連キーワード: 画素、ランレングス圧縮、RLE(Run-Length Encoding:連長圧縮)、圧縮率、二値画像

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

