2016年9月13日 更新

JPEGに代わる新しい画像処理BPG

JPEGと同じ圧縮率でも解像度を高く保つことが出来る圧縮方法が開発されました。

270 view お気に入り 0
 (207)

(上のLena画像は右がBPG(5836bytes)、左がJPEG(5872bytes))
まだMacはコンパイラが対応してなくて、Windows対応だけのようである。今後に期待したい。
JPEGは小さめにしておけばさほど気にはならないが、Webページで大きな画像を表示しようとするとJPEGでは画像が粗くなってしまうが、質を高めると画像容量が重くなってしまう。

開発したのはフランスのエンジニア。圧縮処理した画像を変換出力する際の損失を少なくすることが出来るそうだ。

JPEG圧縮では、画像を波形として捉え、周波数変換という手法で画像の大まかなところと細かいところに分けて考え、再現しにくい細かい部分を間引く処理を行っている。

JPEGでは周波数変換の際に0~7番目迄の余弦波を用いて変換する。これをDCT(離散コサイン変換)と呼ぶ。DCTは周波数成分を8x8のマトリクスによって再現する。

この方法で変換、復元を行うと、元の画像では見られなかったノイズ、モスキートノイズ、ブロックノイズが発生してしまう。JPEGは便利だが、こうしたノイズが難点だ。

BPGでも、同様にDCTを行っているようだが、変換処理のプロセスがJPEGと異なるそうだ。こうした問題を解決してくれるだろう。
<参考URL>
BPG Encoder and Decoder(Github)…C++で書かれているみたい。
BPG Image Format(Fabrice Bellardさんサイト)
4 件

関連する記事 こんな記事も人気です♪

画像のセグメンテーション - Level set 法の実装 (Chan-Vese) -

画像のセグメンテーション - Level set 法の実装 (Chan-Vese) -

画像処理のセグメンテーションの分野で用いられるLevel set 法を用いて画像のセグメンテーションを行います.
三好 裕之 | 826 view
画像の一部を消すInpainting という技術とその実装 (python)

画像の一部を消すInpainting という技術とその実装 (python)

Python + OpenCVにより,画像の修復の技術,「Inpainting 」の実装を行います.
三好 裕之 | 1,849 view
画像のFilter をPython で視覚的に理解する (Gaussian, Edge 抽出).

画像のFilter をPython で視覚的に理解する (Gaussian, Edge 抽出).

Python を用いて,画像のFilter を視覚的に理解してみます.コードを載せていますので,実装可能です.
三好 裕之 | 4,321 view
スパースモデリング ~少量データから画像を復元~

スパースモデリング ~少量データから画像を復元~

matlab のコードをもとに,スパースモデリングとは何かについて説明します.今回はスパースモデリングの説明です.
三好 裕之 | 3,099 view
Pythonで画像処理② Data Augmentation (画像の水増し)

Pythonで画像処理② Data Augmentation (画像の水増し)

画像の水増し、Data Augmentationと呼ばれる方法になりますが、学習に使う画像に変形を加えたり、ノイズを加えたり、明るさを変えたりといった処理を行う方法を紹介します。学習画像に様々な処理を行うことで認識がロバストになるというメリットがあります。
望月 優輝 | 16,208 view

この記事のキーワード

この記事のキュレーター

エルピクセル編集部 エルピクセル編集部