- CPNG("Compatible Network Graphics") は、約30年前の PNG 画像形式の100%互換フォーク。PNG の機能を現代的に拡張しつつ、既存のブラウザー、OS、エンジンなどとの互換性を維持
- 目標: 既存の PNG よりエンコード/デコード速度を大幅に高速化し(エンコードは10倍以上、デコードは2〜3倍以上)、それによって新機能の追加やライブラリ採用の推進力を生み出すこと
- 主な特徴:
- Constrained Deflate ストリーム: 既存ライブラリと比べてエンコード速度を10〜25倍、デコード速度を2〜3倍向上させる機能で、すでに fpng/fpnge に実装済み
- マルチスレッドのエンコード/デコード: Apple がすでに使用している技術。CPNG の追加チャンクに検索テーブルを追加し、画像をストリップ単位で並列エンコード/デコード可能。
- FP16 および LOGLUV32 のサポート: HDR 画像を PNG のみをサポートするブラウザーや OS でも妥当な形で表示できるよう設計。HDR データは簡単で高速な手順によって損失なく復元可能
- .EXR の代替としての CPNG: .EXR 形式は圧縮方式をあまりにも多くサポートしているため、実際には互換性がない。CPNG はロスレスなトーンマッピングの代替を提供し、ほとんどのブラウザーや OS でプレビュー可能。
- LOGLUV32 の設計: ファイルサイズの肥大化を避けつつ真の HDR を実現するための設計を進行中。他の "HDR" ソリューションでは、実際に使われるビット数より多い 16 ビットピクセルを保存しなければならず、それは無駄だと指摘。
- ライブラリ作者の重要性: 互換性を維持する限り、実質的に形式をコントロールするのはライブラリ作者である。
GN⁺の意見
- CPNG は既存の PNG 形式と完全に互換性を保ちながら現代的な機能を追加した新しい画像形式であり、とくにエンコード/デコード速度の革新的な向上と HDR サポートが注目に値する。
- このような進展は、Web 開発者、グラフィックデザイナー、ソフトウェアエンジニアなど、さまざまな分野の専門家にとって非常に有益で興味深い変化をもたらすことが期待される。
- 互換性を中心としたアプローチは、技術の進歩とユーザー体験の向上を同時に追求する現代ソフトウェア開発の重要な原則を反映している。
2件のコメント
うーん……果たして新しい画像標準になれるのでしょうか?
いまだに次世代画像標準は、webp以外はこれといって成功したものがないですし……
Webpも結局、GoogleがChromeのシェアで押し切った感じですし……
Hacker Newsの意見
PNGフォーマットが複数の互換性のないバージョンへ分裂する可能性への懸念
PNGを改善しようとする理由とその価値に対する肯定的な評価
libpngのエンコード速度がjpgやtiffより10倍以上遅い点とLOGLUV32技術への称賛
新しい画像フォーマットに対する熱意ある反応とエンジニアリングへの感想
現代の画像フォーマットの効率性に対する疑問
JPEG XTとJPEG-HDRへの言及不足の指摘
PNGの簡素化された下位互換バージョンについてのアイデア提示
「100%下位互換」の意味への質問とAPNGとの類似性に関する意見
CPNGへの感嘆と、CPNGを認識するライブラリの性能向上への期待