Zopfli
Zopfliは、Deflate・gzip・zlib形式でのデータ圧縮を行うソフトウェアである[2]。他のDeflate・zlibの実装よりも高い圧縮…
|
| |
| 初版 | 2013年2月 |
|---|---|
| 最新版 |
1.0.3
/ 2019年11月27日[1] |
| リポジトリ | |
| プログラミング 言語 | C言語 |
| 対応OS | クロスプラットフォーム |
| 種別 | データ圧縮 |
| ライセンス | Apache 2.0 |
| 公式サイト |
github |
Zopfliは、Deflate・gzip・zlib形式でのデータ圧縮を行うソフトウェアである[2]。他のDeflate・zlibの実装よりも高い圧縮率となるが、圧縮時により多くの時間が必要となる[3]。2013年2月にGoogleよってライブラリとしてApache 2.0の下で自由ソフトウェアとしてリリースされた[4]。"Zöpfli"という名前は甘くない種類のヘーフェツォプフであるツオップに、スイスドイツ語の指小辞である"li"を付けたものである。
特性と用例
Zopfliは生のDeflateデータストリームか、gzipかzlib形式でカプセルされたDeflateデータを出力することができる。デフォルトでは15回処理が繰り返されるが、これを変更することで処理時間と圧縮率のどちらを優先するかを選ぶことができる。
デフォルトの設定ではZopfliの出力はzlibの最大圧縮のものより一般的に3 - 8%小さくなるが、圧縮処理には80倍の時間が必要となる[3][4]。伸長速度はzlibの出力と殆ど同じである。
Zopfliの圧縮速度は非常に遅いのでオンザフライ圧縮にはあまり適しておらず、一般的に静的なコンテンツを1回だけ圧縮するのに使用されている[5][6]。これは一般的にDeflateベースのHTTP圧縮で配信されるウェブコンテンツか、PNGやWOFFなどのDeflateベースのファイルフォーマットのウェブコンテンツに当てはまる。別の使用例はAPKやJARなどのZIPベースのソフトウェアパッケージを使用したソフトウェアのアップデートやダウンロードをする場合である。これは特にモバイル通信で当てはまる。
技術
Zopfliの高い圧縮率はより徹底して圧縮処理を行うことによって達成されている。この方法はエントロピーモデルの反復と最短経路アルゴリズムを繰り返し使用し、全ての可能なDeflate表現のグラフからビットコストの低いパスを見つけるものである[7]。
実装
Googleによるリファレンス実装はC言語で書かれており、ライブラリとしてリリースされた。これはApache 2.0の下で自由ソフトウェアとして配布されている[2]。
ラッパーはPHP用に作成された。
C#によるZopfliの実装は"CompressSharper"ライブラリの"ZopfliDeflater.cs"で見られる[8]。
歴史
ZopfliはJyrki Alakuijalaによるアルゴリズムに基づいている。Zopfliのリファレンス実装はGoogleの従業員であるJyrki AlakuijalaとLode Vandevenneによって書かれた。2013年2月に初めて公開され、4月25日にバージョン1.0.0がリリースされた[9]。PNG圧縮のためのZopfliの幾つかの改良がGitHubに登場した後、ZopfliPNGは5月にリファレンス実装にコミットされた[10]。
PNGの最適化
PNGはDeflateを使用するので、Zopfliを使用して圧縮することができる。Zopfliの作者によるZopfliPNGというPNG最適化ツールがある。ZopfliアルゴリズムはAdvanceCOMPのadvpngような他のPNG最適化ツールにも統合されている[11]。
脚注
- ^ “Releases”. GitHub. 2020年9月21日閲覧。
- ^ a b “google/zopfli”. GitHub. 2019年4月12日閲覧。
- ^ a b “A Look At Zopfli, Google's Open Source Compression Algorithm”. Lifehacker Australia (2013年3月2日). 2019年4月12日閲覧。
- ^ a b “Compress data more densely with Zopfli”. Google Developers Blog (2013年2月28日). 2019年4月12日閲覧。
- ^ Dean Hume (2015年6月1日). “Improved Compression Ratios Using Zopfli”. 2019年4月12日閲覧。
- ^ “Google open sources very slow compression algorithm”. The Register (2013年3月1日). 2019年4月12日閲覧。
- ^ “Zopfli: Google's new data compression algorithm”. Digit.in (2013年3月1日). 2019年4月12日閲覧。
- ^ “CompressSharper”. Microsoft. 2019年4月12日閲覧。
- ^ “Release zopfli-1.0.0”. GitHub (2013年4月25日). 2019年4月12日閲覧。
- ^ “ZopfliPNG”. GitHub (2013年5月7日). 2019年4月12日閲覧。
- ^ “Advance Projects”. Advance Projects. 2019年4月12日閲覧。
関連項目
外部リンク
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.