エンコード | デコード | 圧縮

> rle | 圧縮 | 繰り返し <

// Run-Length Encoding - 繰り返しデータ向けのシンプルな圧縮

[COMPRESS]

データ圧縮

繰り返しシーケンスを効率的に符号化し、ファイルサイズを削減します。

[SIMPLE]

シンプルなアルゴリズム

オーバーヘッドが小さく、高速で分かりやすい圧縮方式です。

[FORMATS]

複数フォーマット対応

シンプルな RLE と PackBits(TIFF)形式をサポートします。

>> 技術情報

RLE の仕組み:

Run-Length Encoding は、繰り返されるデータ列を回数と 1 つの値に置き換える方式です。シンプルな RLE は回数と値のペアを使い、PackBits は制御バイトによってランとリテラルを区別します。

圧縮例:

Simple RLE: AAAABBBCC → 4A3B2C ABCDE → 1A1B1C1D1E PackBits: [Run] AAA → FD 41 (3 × 'A') [Literal] ABC → 02 41 42 43

RLE を使う場面:

  • >画像圧縮(BMP, PCX, TIFF)
  • >ファクス伝送
  • >アイコンやスプライトの保存
  • >スパースデータの圧縮
  • >実装が容易

>> よくある質問

Run-Length Encoding とは?

RLE は、連続する同一要素を回数と 1 つの値に置き換えるシンプルな圧縮アルゴリズムです。単純なグラフィックスやスパース行列など、繰り返しの多いデータに効果的です。

シンプル RLE と PackBits の違いは?

シンプル RLE は回数+値のペア(4A = AAAA)を使います。PackBits は制御バイトを使い、負の値でラン、正の値でリテラル列を表します。PackBits は TIFF 画像で使われ、混在したデータに強い方式です。

RLE はいつ有効ですか?

RLE は、同じ値が長く繰り返されるデータに最も効果的です。ランダムなデータには向かず、繰り返しが無い場合はサイズが逆に大きくなることもあります。

他の圧縮方式と比べて RLE は?

RLE は LZ77 や Huffman 符号化などより単純ですが、圧縮効率は低くなります。そのため、しばしば前処理ステップとして、またはファクスのようにシンプルさが重要なフォーマットで利用されます。

その他の言語