Googleがニューラルネットワークを使った画像圧縮技術を開発。イメージを分解し個別に最適な圧縮処理を実施

写真拡大

 

Googleが、ニューラルネットワークを使う新しい画像圧縮技術を開発しています。この技術はJPEGを凌ぐ圧縮率を実現するために無数の画像をニューラルネットワークで分析し、画像を細切れにして処理することで既存の方式に対して4〜8%効率的な圧縮を実現できるとのこと。Googleは実験で約600万枚のランダムな画像データをニューラルネットワークに読み込ませ、それらを32x32ピクセルに断片化、各画像から最も画質への影響が少ない100の断片をそれぞれ選び出しました。さらに、各断片の圧縮および展開プロセスをバイナリーコードレベルまで分析し、断片ごとの効果的な圧縮を学習させたとしています。

さらに画像を圧縮処理する際は断片ごとに最適な圧縮を施し、ブロック化しやすい継ぎ目の部分は人間の視覚認知特性に最適となるよう調整したうえで、1枚の画像に再構成して保存します。これにより高い圧縮効率と画質を保った画像ファイルになるとのこと。

とは言えこれは「非常に大雑把に言えば」という前置きつきの話で、実際には裏でかなり複雑な処理をしていることが論文からはうかがえます。特徴に絞っていえば、JPEGなどの画像なら圧縮処理が1枚の画像全体を対象に施されるのに対し、この研究では画像を細切れにして、その部分ごとに最適な圧縮処理を施しているのが他と異なるポイントと言えそうです(JPEGはDCT変換の際8x8ピクセルに分割して処理しますが、圧縮処理は画像全体で施しています)。

 

 

なお、今回の研究は画像フォーマットそのものを開発するのでなく、画像の圧縮プロセスを工夫して視覚的な画質を保ったままファイルサイズを小さくしようという試みです。よって最終的な画像のフォーマットについてはとくに定められてはおらず、WebPのような新フォーマットとして公開されるものでもない模様です。

ただ、もしかするとGoogleフォトなど膨大な写真を保管するサービスなどでは、ストレージ容量の削減(電力消費の削減)のために、いずれこの圧縮方式が使われるようになる可能性はありそうです。

ちなみにArXiv.orgに掲載された論文では、エンコード/デコード処理、バイナリー変換、エントロピー符号化といった画像処理の専門的な用語がずらずらと登場します。好きな人が読めばさぞ楽しそうな内容となっていますのでご興味のある方はどうぞ。