ソフトウェア

JPEGをさらに高圧縮する「mozjpeg 2.0」で2GB超の画像ファイルを圧縮

By Sharon Drummond

JPEG画像の圧縮率をさらに高くし、ネット全体のトラフィックの負荷を軽減することを目的にコーデックの開発が進められているプロジェクト「mozjpeg」には注目が集まっており、Facebookが資金を提供したことも報じられています。2014年7月にはその最新バージョンとなる「mozjpeg 2.0」が公開されたのですが、ウェブサーバの負荷を分散して高速化を実現するコンテンツデリバリネットワーク(CDN)サービスを提供するCloudFlareがそんなmozjpeg 2.0の性能を調査し、同社のブログで公開しました。

Experimenting with mozjpeg 2.0 | CloudFlare Blog
http://blog.cloudflare.com/experimenting-with-mozjpeg-2-0

CloudFlareでは有償のCDNサービスを利用するユーザーに対して「Polish」と呼ばれる画像最適化サービスを提供しています。その目的はもちろん画像データのサイズを小さくしてサーバの負荷軽減と転送速度の向上を実現させるものなのですが、先日、Polishを新バージョンにするにあたってCloudFlareではmozjpeg 2.0の性能に着目、圧縮能力をベンチマーク比較しています。

検証では、従来のコーデックとしてlibjpeg-turboと最新コーデックであるmozjpeg 2.0が用いられ、検証用にCloudFlareで保管している画像ファイルから1万個のファイルをランダムに抽出して最適化処理を実施。各ファイルの平均サイズは256KBで、総サイズは2,564,135,285バイト(約2.39GB)に達したとのこと。使用されたコマンドは以下のものが用いられました。


処理後でもファイルサイズが減少せずに処理が失敗したファイルの数を比較すると、libjpeg-turboでは3471ファイルだったのに対してozjpeg 2.0では691ファイルと明らかに少なかったことが判明し、mozjpeg 2.0の高い圧縮能力が浮き彫りになりました。また、双方のコーデックで圧縮できたファイルの平均圧縮率はmozjpeg 2.0で3.0%、libjpeg-turboの場合は2.5%だったことも明らかになっており、こちらでもmozjpeg 2.0の優秀さが目立つ結果となっています。

一例として、以下のファイル(クリックで元ファイル表示)を双方のコーデックで圧縮したところ、元ファイルの容量が1,984,669バイト(約1.89MB)あったのに対し、libjpeg-turboでの圧縮後には1,956,200バイト(約1.87MB・2.4%減少)、そしてmozjpeg 2.0では1,874,491バイト(約1.79MB・5.6%減少)となり、mozjpeg 2.0のほうが4.0%圧縮率が高かったことが判明しています。


そんなmozjpeg 2.0で処理した全ファイルの圧縮率をパーセントごとにグラフに表したのが以下のチャート。2%未満から3%未満の圧縮率を実現したファイルが最も多かったことが示されています。


ただし、高圧縮率を達成するためには多少の「犠牲」が発生していることも事実で、全ファイルの処理に要した時間はlibjpeg-turboが273秒だったのに対してmozjpeg 2.0は474秒と、じつに1.7倍程度長い時間を要したことが判明しています。

この記事のタイトルとURLをコピーする

・関連記事
無料でJPG、PNG、GIF、SVG画像を圧縮して小さくしてくれる「Compressor」 - GIGAZINE

ウェブ全体の高速化を実現させるMozillaの「mozjpeg」にFacebookが資金を提供 - GIGAZINE

無料でPNGファイルを最大70%圧縮してファイルサイズを減らす「TinyPNG」 - GIGAZINE

無料で画像のファイルサイズを減らして軽量化してくれる「Kraken.io」 - GIGAZINE

GIFアニメーション画像を動いたままTwitter上に投稿できる「GIFMAGAZINE」 - GIGAZINE

in ソフトウェア,   ネットサービス, Posted by darkhorse_log

You can read the machine translated English article here.