新しい圧縮アルゴリズムのJPEGエンコーダー(Google: Guetzli)

Googleが新しい圧縮アルゴリズムを採用する JPEGエンコーダー Guetzli(グェツリ)を発表しました。Googleは通常の圧縮処理に比べ、画質を保ったまま35%小さい JPEG画像を生成できるとしています。

画像比較は、左から順に無圧縮オリジナル、libjpeg、Guetzliの順番です。

Figure 2. 20×24 pixel zoomed areas from a picture of a cat’s eye. Uncompressed original on the left. Guetzli (on the right) shows less ringing artefacts than libjpeg (middle) without requiring a larger file size. / Google

JPEG画像の品質は、色空間変換離散コサイン変換、量子化(Quantization)といった多段圧縮プロセスと密接に関わっています。Guetzliエンコーダーは、量子化の段階で、従来なら良質な状態が保てなくなるほど小さなファイルサイズをターゲットとし、従来の心理視覚モデルと Guetzli独自の心理視覚モデルの差を吸収するための検索アルゴリズムを使用することで、画質とファイルサイズのバランスをとっています。

こちらの画像比較では、左から順に オリジナル、Guetzli、libjpegの順番です。

Figure 1: Visualization of two details in an image, original in the left column,Guetzli in the middle, libjpeg on the right. Libjpeg shows more ringingartifacts than Guetzli.(pdf)

Googleが実施した人間のテスターによる評価では Guetzliを使って作り出した画像のほうが生成に時間はかかるものの、より好印象だったようです。Googleでは「これだけの画質なら圧縮時間を待つだけの価値がある」としています。また、Guetzliの心理視覚的アプローチがモバイルユーザーのためのロード時間と帯域幅コストを低減させ、画像の多いサイトがスムーズとなることを期待するとしています。

JPEGの圧縮率向上には Mozillaも取り組んでおり、高画質かつ圧縮効率の高いエンコーダー「mozjpeg」を開発しています。

Firefox22、OdinMonkey WebRTCで3Dゲームやビデオ通話もWebアプリ

REALISTIC / LARGE BENCHMARKS by ALON ZAKAI / MOZILLA
REALISTIC / LARGE BENCHMARKS by ALON ZAKAI / MOZILLA

Mozilla が Firefox 22 の正式版をリリースしました。

最大の特徴は、最適化済み JavaScript を高速実行する OdinMonkey の追加と、プラグインなしでビデオ通話やファイル共有などを可能にする WebRTC の有効化です。

橙色がネイティブ、緑色が Firefox+asm.js です。

asm.js は JavaScript のうち最適化しやすいローレベルな命令を集めたサブセットで、これで書くことで OdinMonkey なら従来よりも大幅に高速に処理できると同時に、最適化していない他の JavaScript エンジンでもそのまま実行は可能という特徴があります。

3Dゲームやビデオチャットなど、リアルタイムかつリッチなアプリをウェブ向けに開発しやすくすることで、「オープンなウェブこそ、アプリケーション開発・流通に最適なプラットフォームになる」というMozilla の主張にとって大きな意味のあるリリースです。