ネットワーク性能が向上した現代のPCに最適化された画像コーデック「rdopng」
PC上で扱う画像ファイルは、多様なコーデックによって圧縮された状態で保存されています。しかし、ValveやMicrosoftの従業員として働いた経歴を持つソフトウェアエンジニアのRichard Geldreich氏は「主流のコーデックは、ストレージ容量やネットワーク性能が向上した現代の環境では、時代遅れになっている面もある」として、自らが開発したコーデック「rdopng」について解説しています。
GitHub - richgel999/rdopng: Rate-Distortion Optimized Lossy PNG/QOI Encoding Tool
https://github.com/richgel999/rdopng
Richard Geldreich's Blog: The Dark Horse of the Image Codec World: Near-Lossless Image Formats Using Ultra-Fast LZ Codecs
http://richg42.blogspot.com/2023/04/a-dead-simple-lossless-or-lossy-lz4.html
JPGやPNG、GIFといった主流の画像形式の多くは数十年前に開発されたものであり、各種画像のエンコードやデコードを担うコーデックも開発から数十年経過したものが主流コーデックとして使われています。しかし、主流のコーデックはコンピューターのストレージ容量やネットワークの速度・安定性が高くない時期に開発されたものであることから、Geldreich氏は、「主流のコーデックは、ストレージ容量やネットワーク性能が発達した現代では、無意味に複雑な圧縮処理を施し、解凍処理に時間やエネルギーが無駄に費やされる状態に陥っている」と指摘しています。
さらに、Geldreich氏はストレージ容量やネットワーク性能が向上した現代では「圧縮率が低く、高速処理できるコーデック」が求められると指摘。その上で、高速な圧縮・解凍アルゴリズムとして知られる「LZ4」を採用したPNG画像用のコーデック「rdopng」を開発しました。
Geldreich氏によると、rdopngに採用したLZ4には「処理速度が非常に高速」「実行ファイルが肥大化しない」「古くから開発されているため、新たなセキュリティリスクが発生しにくい」といったメリットがあるとのこと。
記事作成時点ではrdopngは不可逆圧縮のみに対応しており、将来的に可逆圧縮への対応を目指すとのこと。Geldreich氏が公開している圧縮例を見ると、不可逆圧縮のみにしか対応していない現時点でも十分に画質を保てていることが分かります。
なお、rdopngはオープンソースで開発されており、以下のリンク先でソースコードを確認できます。
GitHub - richgel999/rdopng: Rate-Distortion Optimized Lossy PNG/QOI Encoding Tool
https://github.com/richgel999/rdopng
・関連記事
NASAが宇宙規模の通信などで発生する損失にも耐えられるよう作った画像圧縮アルゴリズム「ICER」が誰でも利用可能に - GIGAZINE
PNG画像を最大50倍高速にエンコード可能なライブラリ「QOI」が登場したので使ってみた - GIGAZINE
GoogleがJPEGエンコーダー「Guetzli」をオープンソースで公開 - GIGAZINE
JPEG画像をロスレスで22%も圧縮できるオープンソースソフト「Lepton」をDropboxがリリース - GIGAZINE
3kbpsという低いビットレートでも高音質を実現するコーデック「Lyra」をGoogleが開発 - GIGAZINE
無料で5ミリ秒という超低遅延を実現する非可逆音声圧縮コーデック「Opus」、何がすごいのかまとめ - GIGAZINE
・関連コンテンツ