背景
HDTVTest に Star Wars: The Rise of Skywalker の解析動画が上がっていた[1]。この解析で利用されていた輝度マップは 低輝度領域はモノクロ、高輝度領域はカラーと輝度レンジが明確に分かれるタイプで、今まで見たことが無かった。
この輝度マップは3DLUTを使えば簡単に作れると考え、実際に自分で作ることにした。
目的
- HDRコンテンツの輝度マップ生成用の 3DLUTを作る
- 対象とする HDRコンテンツは以下のいずれかとする
- Transfer characteristics: SMPTE ST2084, Gamut: ITU-R BT.2020, White point: D65
- Transfer characteristics: SMPTE ST2084, Gamut: DCI-P3, White point: D65
結論
3DLUT の作成に成功した。作成した3DLUTをHDRコンテンツおよび自作のテストパターンに適用した例を図1~図3に示す。
各図には4つの画像が貼り付けてある。内訳は以下の通りである。
- 左上: オリジナルのHDRコンテンツ
- 右上: 以前にブログで作成した輝度マップ[2]
- 左下: 【今回作成】Y成分に準じた輝度マップ
- 右下: 【今回作成】RGBの各チャネルの Code Value 最大値に相当する輝度に準じた輝度マップ
従来(右上)と比較すると高輝度領域の細かな輝度変化が格段に認識しやすくなった。高輝度領域の解析には、こういった輝度マップが有用かもしれない。
名称 | 図 |
---|---|
図1 | |
図2 | |
図3 |
作り方
概要
大したことはしてないので簡潔に説明する。以下の図4に示す通りである。
図4から分かるように輝度マップは3つの領域に分けて作成した。
まず、Linear に戻した後で Y成分を計算した。係数は RGB to XYZ 変換の Y の係数を利用した。
その後、①のSDRはグレースケールとして処理し、②のHDRは Turbo を使って色を塗り、③のHDRは Majentaでベタ塗りした。なお、図中の Turbo とは Google AI Blog にて紹介されていた Rainbow Colormap のことである[3]。
コードは make_luminance_map_3dlut.py
の make_3dlut_for_luminance_map
のところである。最初は30行くらいで書けると思っていたのだが、全然そんなことはなかった。色々と調整しているうちに難解なコードになってしまった…。
各チャネルの最大 Code Value 値に基づいたマップ
HDRコンテンツを解析する上では、Y成分だけでなく R, G, B の各チャネルの最大値について調べることも重要である(理由は…申し訳ありませんが省略させて下さい)。そこで R, G, B の各チャネルの最大値の Code Value から算出した輝度のマップも作成した。
図1~図3 の右下の結果がそれに該当する。作成の際は図4の「RGB to Y 変換」で Y を算出するのではなく、R, G, B チャネルのうちの最大値 の Code Value に相当する ST2084 の輝度を算出するようにした。
3DLUTのダウンロード
作成した 3DLUT 一式は以下に置いてある。もしも興味のある方がいれば自由に使って頂いて構わない(トラブル発生しても責任は取れません)。
2020/04/29 追記 3DLUT一式のダウンロード その2※
※オリジナルの HDR動画と sRGB のカラーマップを Side By Side で比較しやすいように、sRGBのカラーマップを ST2084 の箱に入れる版の3DLUTを追加した(意味が解らない人は使わないで下さい)
考察というか感想
動画に対して複数の3DLUTを適用して同時再生すると楽しい!
参考資料
[1] HDTVTest, "[HDR] Star Wars: The Rise of Skywalker 4K Blu-ray HDR Analysis", https://www.youtube.com/watch?v=Hssiak8c4Js&feature=youtu.be
[2] toruのブログ, "Turbo を利用した HDR10 画像の輝度マップ作成", https://trev16.hatenablog.com/entry/2019/08/25/131001
[3] Google AI Blog, "Turbo, An Improved Rainbow Colormap for Visualization", https://ai.googleblog.com/2019/08/turbo-improved-rainbow-colormap-for.html