2022-01-09
ウェブでHDRを自在に操りたい。16bitPNGとICCプロファイルを使えば実現できるかも?と期待しつつ、UPNG-esを、ICC Profileの読み書きに対応、HDRで使われるプロファイル「Rec. 2020」を適応してみるも失敗。HDRにはならなかった。残念ながら、現時点のPNGはHDRIには未対応のようだ。やはり本命はAVIFの普及かも。


example 16bit PNG with ICC Profile
PNGのICCプロファイル組み込みで、sRGBより鮮やかな「Display P3」と「Rec. 2020」に対応。それぞれクリックで切り替えて、違いを体験できる。

ICC Profileのデコードには、Node.js用のiccをforkしたICC-esを使用。今回、同リポジトリにJPEGファイルからICCプロフィルを取り出す、parseICCFromJPEGを追加。ガンマカーブの計算などには未対応なので、必要な人は、仕様書「ICC spec ICC.1:2010 (Profile version 4.3.0.0)」などを参考に、実装したりオープンの実装を探したりしましょう。

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / RSS