Brotli

Brotliは、Jyrki Alakuijalaとにより開発されたオープンソースのデータ圧縮ライブラリである。
概要.
BrotliはLZ77やLZ78とハフマン符号化、および2次処理の近代的な亜種がベースである。
Chrome、Opera、Firefox、Microsoft Edgeなど、Internet Explorerを除いた主要なブラウザはこのライブラリによる圧縮の恩恵を受けたWebブラウジングが可能である。同じくGoogleにより開発されたZopfliと同じく、スイスのパンであるに由来している。
詳細.
Brotliの最初の発表は2015年、webフォントのオフライン圧縮を目的にしてのことであった。同年9月、Googleのソフトウェア技術者により汎用データ圧縮、特にを目的とする改良がなされた版が発表される。 これはエンコーダの一部書き直しにより、圧縮率の向上、エンコーダ/デコーダ両方の高速化、ストリーミングAPIの改善、圧縮品質レベルの調整項目などが追加されたものであった。 加えてこの新しい版ではクロスプラットフォーム性の向上や使用メモリの削減もなされていた。
多くの汎用圧縮アルゴリズムと異なり、Brotliは事前に定義された120KBの辞書を使用している。 辞書は13000以上の共通の単語や熟語、テキストやHTMLドキュメントから構成された巨大なコーパスから生成される部分文字列から成っており、小さいデータファイルに対する圧縮率を高めることに寄与している。
テキストファイルを圧縮する局面において、Brotliは一般的にDeflateに対し20%程の圧縮率の優越を、圧縮/伸長速度におおかた変化なく行うことができる。ストリーミング圧縮におけるBrotliのコンテンツエンコーディングタイプは"br"である。