データ圧縮(RLE・ハフマン)
ランレングス符号化とハフマン符号化の流れを、ステップごとの可視化で体験できます。
- RLE(ランレングス): 同じ文字が連続する区間をまとめて「個数 + 文字」で表します。例: AAABBBCCCC
- スキャンの様子を「行1: 元の文字列 / 行2: スキャン位置 / 行3: RLE出力」の3行で並べて表示します。
- 「進む」を押すと、先頭から連続する文字のグループを1つずつ見つけていきます。
- ハフマン符号化: 出現頻度の高い文字に短いビット列を割り当てる圧縮方法です。木の左枝と右枝をたどって符号を作ります。
- 圧縮が効かない例: ランレングス符号化は、同じ文字が連続しない並びではかえってデータが増えます。圧縮は「よく出るパターンを短く表す」工夫であって、どんなデータでも小さくできるわけではありません。
入力文字列を自分で変えて、圧縮の効きやすい並びと効きにくい並びの違いを比べられます。