|
LZWは、辞書式圧縮である Lempel-Ziv法 (LZ78) を、スペリー社のテリー・ウェルチが改良したアルゴリズム。 開発者の Lempel、Ziv、Welch の頭文字を取ってLZWと呼ばれる。 圧縮効率と高速化の両面を追求している為、LZSSとハフマン符号化を組み合わせたDeflateアルゴリズム(LZHやZIPなどが採用)と比べると30%ほど圧縮効率が悪い。GIFやTIFFなどの圧縮で利用されている。UNIX Compressで使える。 ==実装== 以下、Groovyでの実装。まず、ビット列を扱うストリームを用意する。 class BitStream 圧縮は以下の通り。 BitStream compress(byte[] data) 解凍は以下の通り。 byte[] decompress(BitStream bs) 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「LZW」の詳細全文を読む スポンサード リンク
|