LZWLは、 LZW (Lempel-Ziv-Welch) 圧縮アルゴリズムの音節ベースの変形であり、任意の音節分解アルゴリズムから派生した音節で機能するように設計されています。このアプローチにより、LZWL は音節と単語の両方を効率的に処理でき、データ圧縮の微妙な方法を提供します。
アルゴリズム
LZWL アルゴリズムは、アルファベットのすべての文字を辞書に入力して初期化します。次に、辞書と入力のエンコードされていない部分のプレフィックスの両方に存在する最長の文字列Sを検索します。アルゴリズムはSの識別子を出力し、 Sと入力内の後続の文字を組み合わせた新しいフレーズで辞書を拡張します。入力位置はSの長さだけ進みます。デコード中、LZWL は、最後に追加されたフレーズとその最初の文字の連結から不足しているフレーズを構築することで、受信したフレーズ識別子が辞書に存在しないシナリオに対処します。
音節ベースの適応
音節ベースの適応では、LZWL は音節のリストをアルファベットとして使用します。初期化ステップでは空の音節が含まれ、頻繁に出現する小さな音節が辞書に統合されます。Sを識別してその識別子をエンコードする手順は、S が音節文字列を表すという点を除けば、元のアルゴリズムと同じです。Sが空の音節の場合、アルゴリズムは入力から音節K を抽出し、新しい音節のメソッドを使用してK をエンコードしてから、K を辞書に追加し、それに応じて入力位置を進めます。
辞書の拡張
音節ベースの LZWL の注目すべきバリエーションは、辞書の拡張です。Sと後続の文字列S1の両方が空でない音節である場合、S1 をSの最初の音節と連結することにより、新しいフレーズが辞書に追加されます。この方法により、一度だけ出現する音節から文字列が形成されるのを防ぎ、デコーダーが未定義のフレーズ識別子に遭遇しないようにします。
参考文献
- LZWL アルゴリズムを使用したデータ圧縮
- Salomon, David; Motta, Giovanni (2010-01-18). Handbook of Data Compression . Springer. ISBN 9781848829039. Google ブックス. 2014-07-11 に取得。
