(Translated by https://www.hiragana.jp/)
Deflate - Wikipedia コンテンツにスキップ

Deflate

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』

Deflate(デフレート)とはLZ77ハフマン符号ふごうわせた可逆かぎゃくデータ圧縮あっしゅくアルゴリズムフィル・カッツ開発かいはつした圧縮あっしゅくツールPKZIPのバージョン2で使つかわれていた。ZIPgzipなどで使つかわれている。1996ねん5がつRFC 1951 としてドキュメントされた。ヘッダーフッターをつけた zlib (RFC 1950) 形式けいしきgzip (RFC 1952) 形式けいしきとともに使つかわれることおおい。

特徴とくちょう

[編集へんしゅう]
  • 可逆かぎゃく圧縮あっしゅく
  • インターネットひろ使つかわれている圧縮あっしゅく形式けいしき
  • 圧縮あっしゅく比較的ひかくてき高速こうそく伸長しんちょうもともどすこと/展開てんかい)は非常ひじょう高速こうそく。ただし、LZWなどとくらべると計算けいさんりょうおおい。
  • 特許とっきょ問題もんだいLZ77には色々いろいろ会社かいしゃ法人ほうじん人物じんぶつ特許とっきょっていた。zlib実装じっそうにおいては、特許とっきょ回避かいひするように注意深ちゅういぶか実装じっそうされた。保証ほしょうされておらず、かつ、議論ぎろんもあったが特許とっきょにかかわるアルゴリズムすべ回避かいひできたとかんがえられている。また、開発かいはつ当初とうしょ問題もんだいとなった特許とっきょ現在げんざいでは大半たいはん特許とっきょけん、ライセンスとう消滅しょうめつし、パブリックドメインとなっている。

日本人にっぽんじんにより考案こうあんされたLHAとほぼおなじアルゴリズムを使つかう。

技術ぎじゅつ詳細しょうさい

[編集へんしゅう]

deflateは、LZ77実際じっさいにはその変種へんしゅLZSS)でデータを「文字もじそのもの」または (一致いっちちょう, 一致いっち位置いち) ペアに符号ふごうする。その結果けっかのうち、「文字もじそのもの」および「一致いっちちょう」をわせてひとつのハフマン符号ふごう符号ふごうし、「一致いっち位置いち」をべつのハフマン符号ふごう符号ふごうする。deflateのハフマン符号ふごうは、ブロックごと符号ふごうを(さい)構築こうちくする方式ほうしきで、ダイナミックハフマン符号ふごう英語えいご: dynamic Huffman coding)とんでいる。日本にっぽん一般いっぱん動的どうてきハフマン符号ふごうばれている適応てきおうがたハフマン符号ふごう英語えいごばんとはことなるので注意ちゅうい

利用りようれい

[編集へんしゅう]

Deflateアルゴリズムが利用りようされているソフトウェアのいちれいげる。

また、ほとんどのプログラミング言語げんご利用りようできる。以下いかはそのいちれい

  • Java - Deflater クラスで nowrap を有効ゆうこうにすることによりもとの deflate があつかえ、別途べっと zlib 形式けいしきや gzip 形式けいしきのヘッターやフッターのいたものあつかえる。
  • Perl
  • PHP
  • Python
  • Ruby
  • C#VB.NETひとし.NET Framework 2.0以降いこう対応たいおう言語げんご - DeflateStream クラスでもとの deflate もしくは GZipStream クラスで gzip 形式けいしき

Apache HTTP ServerなどのWebサーバでも圧縮あっしゅく通信つうしんを zlib 形式けいしきで Deflate を使つかって実装じっそうしている。

deflateとともによく使つかわれるヘッダー・フッターには zlib (RFC 1950) と gzip (RFC 1952) などがある。zlib はヘッダーが2バイト以上いじょう、フッターが4バイトであるのにたいして、gzip はヘッダーが10バイト以上いじょう、フッターが8バイトである。gzip のほう情報じょうほうおおく、どのファイルシステムじょう圧縮あっしゅくされたかもいてある。フッターには zlib は Adler-32使つかい、gzip は CRC-32使つかっている。

関連かんれん項目こうもく

[編集へんしゅう]

外部がいぶリンク

[編集へんしゅう]