Brotli

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索

Brotli[読み疑問点]は、Jyrki AlakuijalaとZoltán Szabadka英語版により開発されたオープンソースデータ圧縮ライブラリである[1][2]

概要[編集]

BrotliはLZ77LZ78ハフマン符号化、および2次文脈モデリング英語版処理の近代的な亜種がベースである。

ChromeOperaFirefoxはこのライブラリによる圧縮の恩恵を受けたWebブラウジングが可能である[3]。同じくGoogleにより開発されたZopfli英語版と同じく、スイスのパンであるbrötli英語版に由来している[4]

詳細[編集]

Brotliの最初の発表は2015年、webフォントのオフライン圧縮を目的にしてのことであった[5]。同年9月、Googleのソフトウェア技術者により汎用データ圧縮、特にHTTP圧縮英語版を目的とする改良がなされた版が発表される。 これはエンコーダの一部書き直しにより、圧縮率の向上、エンコーダ/デコーダ両方の高速化、ストリーミングAPIの改善、圧縮品質レベルの調整項目などが追加されたものであった。 加えてこの新しい版ではクロスプラットフォーム性の向上や使用メモリの削減もなされていた。

多くの汎用圧縮アルゴリズムと異なり、Brotliは事前に定義された120KBの辞書を使用している。 辞書は13000以上の共通の単語や熟語、テキストやHTMLドキュメントから構成された巨大なコーパスから生成される部分文字列から成っており[6][7]、小さいデータファイルに対する圧縮率を高めることに寄与している。

テキストファイルを圧縮する局面において、Brotliは一般的にDeflateに対し20%程の圧縮率の優越を、圧縮/伸長速度におおかた変化なく行うことができる。ストリーミング圧縮におけるBrotliのコンテンツエンコーディングタイプ[注 1]は"br"である。

サポート状況[編集]

ブラウザ[編集]

  • Google Chrome 49とそれ以降のバージョンでサポートされている。
  • Microsoft Edge はBrotli対応の途上である。
  • Mozilla Firefox 44とそれ以降のバージョンでサポートされている[8][9]
  • Opera 36とそれ以降のバージョンでサポートされている。
  • Safariにおいては、2016年10月時点で公に言及されていない。

Webサーバー[編集]

  • Apache HTTPサーバにおいては機能開発の最終段階にある[10]
  • Microsoft IISにおいては公式サポートも開発への取り組みもなされていないが、対応させるコミュニティモジュールが存在する[11]
  • nginxにおいては公式サポートも開発への取り組みもなされておらず、Googleの提供する ngx_brotliモジュールにより対応する[12]

脚注[編集]

[ヘルプ]

注釈[編集]

出典[編集]

  1. ^ Brotli Compressed Data Format”. IETF Internet Drafts (2014年5月16日). 2016年11月1日閲覧。
  2. ^ Brotli Source Code - GitHub”. github.com. 2017年1月17日閲覧。
  3. ^ Slater-Robbins, Max (2016年1月20日). “Chrome and Firefox are about to get a lot faster thanks to Google's new data compression algorithm”. 2016年1月20日閲覧。
  4. ^ Google Open Source Blog: Introducing Brotli: a new compression algorithm for the internet
  5. ^ Smaller Fonts with WOFF 2.0 and unicode-range” (2015年2月18日). 2016年1月20日閲覧。
  6. ^ Richard Chirgwin (2015年9月23日). “Google's new squeeze: Brotli compression open-sourced”. The Register. 2017年1月17日閲覧。
  7. ^ Comparison of Brotli, Deflate, Zopfli, LZMA, LZHAM and Bzip2 Compression Algorithms”. Google (2015年9月22日). 2015年10月25日閲覧。
  8. ^ Can I use... Support tables for HTML5, CSS3, etc”. 2016年1月7日閲覧。
  9. ^ Firefox 44 release notes”. 2016年1月26日閲覧。
  10. ^ New Brotli compression filter module now in Apache Web Server”. 2016年10月6日閲覧。
  11. ^ IIS Brotli extension page”. 2016年10月6日閲覧。
  12. ^ ngx_brotli project page”. 2016年10月6日閲覧。

関連項目[編集]

外部リンク[編集]