GoogleがJPEGエンコーダー「Guetzli」をオープンソースで公開
by greyloch
Google製のJPEGエンコーダー「Guetzli」がGitHubで公開されています。生成されるJPEGファイルはlibjpegと比較したとき、同等の品質でファイルサイズが20~30%ほど小さくなるとのことです。
GitHub - google/guetzli
https://github.com/google/guetzli
特にニュースリリースなどは発表されていないようなのですが、2016年10月にEncode.ruというフォーラムにJyrki Alakuijala氏が投稿した内容(Googleキャッシュ)によると、このGuetzliはGoogleが新たな圧縮アルゴリズムとして2013年に発表した「Zopfli」ライクな、非常に遅いJPEGエンコーダーだとのこと。
画像の品質とファイルサイズについて、butteraugliを用いてlibjpegと結果を比較したところ、同等のスコア(品質)でもファイルサイズを35%減らすことができたそうです。なお、The Structural SIMilarity(SSIM)とPSNR-HVS-Mでのスコアは13%~14%悪化したとのこと。ただ、目視の限りでは「ブロックノイズなどが減少してきれいになっている」そうです。
GitHubのページ内ではPOSIX(UbuntuやArch LinuxなどUNIX系OS)向けとWindows向けのビルド方法、およびBazelを使ったビルド方法が紹介されています。
Windowsの場合、Visual Studio 2015とvcpkgが必要。なお、vcpkgの利用に、さらにgit.exeが必要になってくるので、Git for Windows などを入れる必要があります。
ただし、「Release」のページではバイナリファイルが公開されているので、こちらを利用する手もあります。Windowsの場合、「guetzli_windows_x86.exe」をダウンロード。
GUIはないので、こんな感じでコマンドプロンプトから利用することになります。実行ファイルのみなので任意のフォルダに置き、「入力するファイル名」と「出力するファイル名」を渡して実行します。画面はサンプルとして配布されている「bees.png」を変換してみたところ。
結果、174KBのPNGファイルが38KBのJPEGファイルに縮みました。入力可能なファイルはJPEGとPNG、出力はJPEGのみです。
これが実際に使用したファイル。まずは変換前の「bees.png」。
そしてこれが変換後の「bees-v2.jpg」。ファイルサイズでは100KBちょっと縮んでいますが、その違いはほぼわかりません。
・2017/03/17 9:50 追記
GoogleがオープンソースのJPEGエンコーダーGuetzliのリリースを発表しました。
Research Blog: Announcing Guetzli: A New Open Source JPEG Encoder
・関連記事
JPEG画像をロスレスで22%も圧縮できるオープンソースソフト「Lepton」をDropboxがリリース - GIGAZINE
JPEGファイルのサイズを最大で1/12ほどに縮められる「JPEGmini」と「JPEGmini Pro」を使ってみた - GIGAZINE
画質の劣化なしでファイルサイズを簡単に圧縮できる「mozjpeg encoder」 - GIGAZINE
画像データから不要なメタデータを一発で削除できる「JPEG&PNG Stripper」 - GIGAZINE
・関連コンテンツ