×

tomoロゴ tomo

【高校情報】ランレングス圧縮とは何かわかりやすく解説・実例付き

 

イリエダ
イリエダ
こんにちは、イルカの妖精イリエダよ。今日はランレングス圧縮について、分かりやすく解説していくわね。

 

ランレングス圧縮とは??

「ランレングス圧縮」とは、

同じデータが連続している部分をまとめて表現する圧縮方法

よ。

 

ランレングス圧縮とは わかりやすく

 

まずはランレングス圧縮の基本的な手順を理解しましょう。

  1. データの中で連続する同じ文字や数字を見つける。
  2. その連続する文字や数字を1つにまとめ、何回続いているかを記録する。

簡単でしょ?

例えば、おなじみの画像形式の一つ、JPEGや、古いけどまだ使われているFAXなどに使われているのよ。

 

ランレングス圧縮のわかりやすい例

言葉だけじゃ分かりにくいから、具体例を見ましょう!

 

例えば、こんな文字列を考えてみて。

AAABBBCCDAA

これをランレングス圧縮するとどうなるかしら?

  1. 「A」が3回続いているから、記録すればA3になるわね。
  2. 「B」も3回続いてるから、B3
  3. 次は「C」が2回続くので、C2
  4. 「D」は1個なので、D1
  5. 最後に「A」が2回で、A2

すると、圧縮された結果は、

A3B3C2D1A2

になるのよ。

 

イリエダ
イリエダ
分かってきたわね!とってもいいわ!次はもう少し深堀りしていきましょう。

 

ランレングス圧縮のメリットとデメリット

ランレングス圧縮には当然、いい面とそうでない面があるのよ。

 

メリット

  • とってもシンプルなアルゴリズムだから、計算リソースが少なくて済む。
  • 連続するデータであれば大幅にデータのサイズが小さくなる。

 

デメリット

  • データの中に連続する部分が少ないと、逆にサイズが大きくなることもある。
  • 画像のようなディテールが大事なデータでは、利用が難しいこともあるの。

 

ね、ちょっと理解が深まったかしら。

 

なぜ「ランレングス」という名前なの?

ところでこの「ランレングス圧縮」って、ちょっと変わった名前よね。

「ラン・レングスさん」という人にちなんで名付けられたのかしら……?

 

ランレングス圧縮とは わかりやすく

 

それとも新しいファッションアイテムの名前かしら。

ノンノン、じつは違うのよ。

 

イリエダ
イリエダ
これは人の名前じゃなくて、英語の意味そのままなの。

 

run(ラン)は「連続」、length(レングス)は「長さ」という意味よ。

つまり、ランレングス圧縮とは、

「連続しているデータの長さ」を記録する圧縮方法ということなの。

たとえば、こんなデータがあったとするわね。

AAAAA

普通ならAを5回書くけれど、ランレングス圧縮ではこうなるの。

A5

つまり、「Aが5回続いている」という長さ(length)だけを記録しているのよ。

 

イリエダ
イリエダ
連続している部分(run)を見つけて、その長さ(length)を数える、という仕組みね。

 

こう考えると、「ランレングス」という名前も、とっても分かりやすいでしょ?

 

それじゃあね!

妖精

ここまで読んでくれてありがとう!おつかれさまでした。

「高校情報Iのまとめページ」で他の記事も復習してみてね。

▶ まとめを見に行く