SDR と HDR の違いを深掘り:PQ、HLG、トーンマッピング、HDR10 エンコード
PQ と HLG による光の符号化、HDR に 10 ビットが必要な理由、HDR10 メタデータ、トーンマッピングのしくみを解説。検証済みの x265、SVT-AV1、FFmpeg コマンド付き。
要点
SDR と HDR の違いは、動画がコード値を光に変える方法にあります。SDR は 100 nit のディスプレイを前提にしたガンマカーブと BT.709 の色を使います。HDR は ITU-R BT.2100 の PQ または HLG カーブ、BT.2020 の色、10 ビット以上を使い、多くの場合はマスターがどれだけ明るかったかをディスプレイに伝えるメタデータを伴います。
- SDR と HDR は 4 つの層で違います。伝達関数、色域(原色)、ビット深度、メタデータです。
- PQ は各コード値を 10,000 nit までの決まった明るさに結び付けます。HLG はディスプレイのピークに対する相対値なので、マスタリングのメタデータが要りません。
- PQ には 10 ビット以上が必要です。私たちの計算では、100 nit 付近の 8 ビット PQ の 1 段は光量で 4.7% の跳び、10 ビットなら 1.1% です。
- トーンマッピングは HDR のハイライトをより暗いディスプレイに収めます。作品全体で 1 本の静的なカーブを使う方法と、シーンごとの動的メタデータ(HDR10+、Dolby Vision)を使う方法があります。
- タグはピクセルにラベルを貼るだけです。ピクセルの意味を変えるには本当の変換が必要で、どちらも ffprobe で確認できます。
動画を HDR にするものは?
HDR 動画とは、SDR よりはるかに広い範囲の光をコード値で表し、ITU-R BT.2100 の PQ か HLG の伝達関数で符号化し、BT.2020 の原色、10 ビットまたは 12 ビットで運ぶ動画です。
| 層 | SDR | HDR |
|---|---|---|
| 伝達関数 | BT.709 のカメラカーブ、BT.1886 のディスプレイカーブ(ガンマ 2.4) | PQ(SMPTE ST 2084)または HLG(ARIB STD-B67)、どちらも BT.2100 |
| 基準ピーク | 100 nit | PQ は 10,000 nit まで、HLG は相対値で 1,000 nit が基準 |
| 基準白 | グレーディング済み SDR で信号の約 90% | 203 nit:PQ 信号の 58%、HLG の 75% |
| 原色 | BT.709 | BT.2020 |
| ビット深度 | 配信では 8 ビットが一般的 | 10 ビットまたは 12 ビット |
| メタデータ | なし | 静的(HDR10)、動的(HDR10+、Dolby Vision)、またはなし(HLG) |
各層は独立しています。10 ビットの SDR も、メタデータのない PQ もありえます。それぞれに専用のタグがあり、プレーヤーはピクセルから推測するのではなくタグを読みます。
伝達関数:BT.1886、PQ、HLG
伝達関数は信号値を光に対応付けます。ITU-R BT.1886 は SDR のディスプレイカーブを、基準白 100 nit の 2.4 乗の関数として定めています。対になる BT.709 のカメラカーブは 0.45 乗で、黒付近は直線区間です。
PQ(SMPTE ST 2084) はディスプレイ基準です。どのコード値も 10,000 nit までの特定の輝度を意味します。BT.2100 によれば、PQ は人間の視覚に合わせたカーブで、一定のビット深度に対してきわめて広い明るさの範囲に届きます。式から計算すると、100 nit は信号の 51%、203 nit は 58%、1,000 nit は 75% にあたり、範囲の下半分で 0〜約 92 nit をカバーします。
HLG(ARIB STD-B67) はシーン基準です。信号はシーンの相対的な光を表し、どれだけ明るく表示するかはディスプレイが決めます。報告書 ITU-R BT.2390 は、信号の下半分は SDR に近い平方根のカーブ、上半分は対数カーブだと説明しています。BT.2100 はディスプレイのシステムガンマを 1,000 nit で 1.2 とし、ほかのピークでは調整する(γ = 1.2 + 0.42 log10(Lw / 1000))と定めているので、1 つの HLG 信号がメタデータなしで 600 nit のテレビにも 1,500 nit のモニターにも合わせられます。

補足: BT.2100 は、制作では 1 つの方式を一貫して使い、PQ と HLG を混在させないよう求めています。両者のあいだの移行は変換であって、ラベルの貼り替えではありません。
色域:BT.709 と BT.2020
原色は、信号が表せるいちばん赤い赤、いちばん緑の緑、いちばん青い青を決めます。BT.709 は CIE 1931 xy 色度図上の (0.640, 0.330)、(0.300, 0.600)、(0.150, 0.060) に置き、BT.2100 は BT.2020 の原色 (0.708, 0.292)、(0.170, 0.797)、(0.131, 0.046) を使います。白色点はどちらも D65 です。私たちの計算では、BT.2020 の三角形の面積は BT.709 の約 1.9 倍ですが、それを埋めるマスターはほとんどありません。グレーディングモニターは P3-D65 であることが多く、そのため x265 自身のマスタリング文字列の例も P3-D65 を記述しています。

同じ色でも、入れ物によってコード値が違います。BT.709 の純粋な赤は、BT.2020 では約 (0.627, 0.069, 0.016) のリニア RGB になります。BT.709 のピクセルを変換せずに BT.2020 とラベル付けすると、すべての色の彩度が上がります。YouTube は、Rec. 2020 の原色でタグ付けした P3 マスターは彩度が高すぎ、色相もずれて見えると警告しています。
ビット深度:PQ に 10 ビット以上が必要な理由
バンディングは、隣り合うコード値のあいだの光の跳びが目に見えるほど大きいときに現れます。PQ は、SDR が 0〜100 nit に使うコード範囲に 0〜10,000 nit を広げています。BT.2100 と BT.1886 の式から計算した、ナローレンジのコードでの値は次のとおりです。
| 明るさ | 8 ビット PQ | 10 ビット PQ | 12 ビット PQ | 8 ビット SDR、ガンマ 2.4 |
|---|---|---|---|---|
| 1 nit | 1 段あたり 9.4% | 1 段あたり 2.3% | 1 段あたり 0.56% | 1 段あたり 7.7% |
| 100 nit | 1 段あたり 4.7% | 1 段あたり 1.1% | 1 段あたり 0.28% | 1 段あたり 1.1% |
| 1,000 nit | 1 段あたり 4.3% | 1 段あたり 1.1% | 1 段あたり 0.26% | SDR の範囲外 |
100 nit 付近では、10 ビット PQ は白付近の 8 ビット SDR とほぼ同じ細かさで、しかも 10,000 nit までカバーします。BT.2390 はこの段差を Barten モデルの視認しきい値と比べています。12 ビット PQ は 10,000 nit から 0.001 nit 未満までしきい値を下回り、10 ビット PQ はわずかに上回りますが、実際にはカメラのノイズがそれを隠します。

ですから、中間ステップは 10 ビット以上に保ち、8 ビットに落とすときはディザをかけてください。私たちのテストでは、zscale の d=error_diffusion はトーンマッピングした暗いグラデーションのレベル数を保ったまま、まっすぐな帯の境目を細かなノイズに崩しました。バンディング対策は 8 ビットと 10 ビットの動画の違い をご覧ください。
HDR メタデータ:静的と動的
HDR10 は、BT.2020 の原色・10 ビットの PQ に、作品全体で 1 つの記述である静的メタデータを加えたものです。
| メタデータ | 何を記述するか | 定義 |
|---|---|---|
| マスタリングディスプレイ | グレーディングモニターの原色、白色点、ピークと黒 | SMPTE ST 2086(x265 の master-display) |
| MaxCLL | 作品中でいちばん明るいピクセル(nit) | CTA-861.3(max-cll の 1 つ目の値) |
| MaxFALL | フレーム平均の明るさの最大値(nit) | CTA-861.3(max-cll の 2 つ目の値) |
| HDR10+ | シーンごと、またはフレームごとの明るさ、コントラスト、色 | SMPTE ST 2094-40(x265 の dhdr10-info) |
| Dolby Vision | すべての画像に対する動的メタデータ、最大 12 ビットの色 | Dolby |
静的メタデータでは、全体に暗い映画に明るい爆発が 1 回あるだけでも、その爆発を念頭に選んだ 1 本のカーブが使われます。HDR10+ は自らの動的メタデータを、ディスプレイがリアルタイムにトーンマッピングを最適化するための指示だと説明し、Dolby は Dolby Vision がすべての画像をテレビの性能に合わせて対応付けるとしています。HLG はマスタリングのメタデータを持たず、ディスプレイのシステムガンマが調整を担います。
ヒント: 実際のグレーディングモニターと実測したレベルを記述してください。MaxCLL を測れない場合、x265 では「最大値の指定なし」を意味する 0 を指定でき、当て推量よりましです。
トーンマッピング:HDR を暗いディスプレイに収める
トーンマッピングは、映像のダイナミックレンジをディスプレイに収まるよう縮めます。報告書 ITU-R BT.2446 は、その逆を逆トーンマッピングと呼んでいます。静的マッピングは作品全体で 1 本のカーブを使い、たいていマスタリングのピークか MaxCLL から選びます。動的マッピングは、メタデータやフレームの測定にもとづいて時間とともに変化し、BT.2390 によればシーンの最大値などの統計に適応できます。
| カーブ | 何をするか | トレードオフ |
|---|---|---|
| Clip | 範囲内の値は残し、残りを切り捨てる | ハイライトが平らなかたまりになる |
| Reinhard | 単純なロールオフ、L / (L + c) | 明るさは均一、細部と色は平板に |
| Hable(フィルミック) | トウとショルダーを持つ S 字カーブ | 両端の細部が残り、映像はやや暗め |
| Möbius | ニーより下はそのまま、上でロールオフ | 範囲内のコントラストと色を保つ |
| BT.2390 EETF | PQ 信号上で、ニーより下は 1:1、上はエルミートスプライン | マスターより暗い PQ ディスプレイ向けに設計 |
EETF は PQ 信号をマスタリングの範囲で正規化し、ニーを KS = 1.5 × maxLum − 0.5(maxLum はそのスケールでのターゲットのピーク)から始め、上部を曲げてソースのピークがディスプレイのピークに来るようにします。1,000 nit のマスターなら、ニーは 100 nit のディスプレイで約 28 nit、300 nit のディスプレイで約 161 nit になります。

FFmpeg の tonemap フィルターは clip、linear、gamma、Reinhard、Hable、Möbius を実装しています。ドキュメントによれば、カーブは浮動小数点のリニアな光でしか機能しないので、zscale でリニア化し、トーンマッピングして、元に戻すチェーンにします。
ffmpeg -i hdr10.mp4 -vf "zscale=t=linear:npl=100,format=gbrpf32le,zscale=p=bt709,tonemap=tonemap=mobius:peak=10:desat=0,zscale=t=bt709:m=bt709:r=tv:d=error_diffusion,format=yuv420p" -c:v libx264 -crf 18 -color_primaries bt709 -color_trc bt709 -colorspace bt709 -color_range tv -c:a copy sdr.mp4npl=100 でリニアの 1.0 が 100 nit になるので、peak=10 は 1,000 nit を意味します。0 のままにすると、ピークはファイルのメタデータから取られます。desat=0 は、ごく明るいピクセルを白へ寄せる既定の処理をオフにします。0〜1,000 nit の合成 PQ グラデーションで、8 ビット出力のコードは次のとおりでした(平均値、リミテッドレンジなので 235 が白)。
| ソースのレベル | clip | reinhard | hable | mobius |
|---|---|---|---|---|
| 25 nit | コード 139 | コード 133 | コード 98 | コード 139 |
| 100 nit | コード 235 | コード 187 | コード 151 | コード 201 |
| 204 nit | コード 235 | コード 209 | コード 182 | コード 218 |
| 1,000 nit | コード 235 | コード 235 | コード 235 | コード 235 |
clip は 100 nit を超えるものをすべて同じ白にしました。Hable はハイライトの階調をもっとも多く残し、中間調をもっとも暗くしました。Möbius はニーより下の値をそのままにしました。ご自身の素材で判断してください。SDR 側の症状については 書き出し後に動画が白っぽくなる理由 をご覧ください。
補足: tonemap には BT.2390 のモードがなく、私たちがテストした FFmpeg 8.1 のビルドには libplacebo、tonemap_opencl、tonemap_vaapi フィルターがないため、それらはテストしていません。
SDR から HDR へ:配置と拡張
配置 は、映像のダイナミックレンジを保ったまま PQ や HLG として再エンコードし、SDR 素材を HDR の番組に入れられるようにします。BT.2446 はこれについて報告書 ITU-R BT.2408 を参照しており、基準になるのは BT.2100 が 203 nit と定める HDR の基準白です。
ffmpeg -i input_sdr.mp4 -vf "zscale=t=linear:npl=203,format=gbrpf32le,zscale=p=bt2020:t=smpte2084:m=bt2020nc:r=tv:npl=203,format=yuv420p10le" -c:v libx265 -preset slow -crf 18 -profile:v main10 -color_primaries bt2020 -color_trc smpte2084 -colorspace bt2020nc -color_range tv -tag:v hvc1 -c:a copy sdr_in_pq.mp4私たちのテストでは、SDR のピーク白は 10 ビットのコード 573、つまり PQ の 203 nit になりました。npl=100 ではコード 509(100 nit)、npl=1000 では 723(1,000 nit)です。ファイルは正しい PQ ですが、中身に基準白より明るいものはありません。
拡張 は逆トーンマッピングです。ハイライトを基準白より上に持ち上げ、色を広げます。BT.2446 は、暗部と中間調はほぼそのままにし、見ていて不快になるほど平均の明るさを上げないよう求め、拡張がソースにすでにあるアーティファクトを増幅しうると警告しています。示されている手法は静的なカーブですが、適応的で空間的に変化する手法もあると記しており、AI による SDR→HDR 変換はそこに位置します。ほかの処理との組み合わせ方は SDR→HDR と滑らかな動き をご覧ください。
補足: タグを変えるだけでは、どちらにもなりません。10 ビット SDR のピーク白(コード 940)を PQ として読むと、ディスプレイに 10,000 nit を要求することになります。
x265 と SVT-AV1 で HDR10 をエンコードする
エンコーダーは、10 ビットのプロファイル、色の記述、静的メタデータを書き込む必要があります。
x265(HEVC Main 10)
ffmpeg -i master_pq.mov -c:v libx265 -preset slow -crf 18 -pix_fmt yuv420p10le -x265-params "profile=main10:colorprim=bt2020:transfer=smpte2084:colormatrix=bt2020nc:range=limited:hdr10=1:repeat-headers=1:master-display=G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,50):max-cll=1000,400" -tag:v hvc1 -c:a copy hdr10.mp4-x265-params の各キーは x265 のオプション(--colorprim、--hdr10、--master-display など)に対応しています。
| 設定 | 何をするか |
|---|---|
colorprim、transfer、colormatrix | BT.2020、PQ、非定輝度のマトリクスをストリームのタグとして書き込む |
master-display | ST 2086 の値:x,y は 0.00002 単位、輝度は 0.0001 nit 単位なので、L(10000000,50) はピーク 1,000 nit、黒 0.005 nit |
max-cll=1000,400 | MaxCLL と MaxFALL(nit) |
hdr10=1 | HDR10 のメッセージを強制する(master-display か max-cll を指定すると x265 は自動でも有効にする) |
repeat-headers=1 | キーフレームごとにストリームヘッダーを繰り返す |
原色は、x265 のドキュメントにある P3-D65・1,000 nit モニターの例です。ご自身の値を使ってください。HLG では transfer=arib-std-b67 にし、マスタリングの値を外して、x265 が HLG に必要としている atc-sei=18 を加えます。完全なコマンドは YouTube の HDR ガイド にあります。hdr10-opt=1 は、10 ビット 4:2:0 の BT.2020 PQ 入力に対して x265 のブロック単位の QP 調整を加えます。
SVT-AV1(AV1、10 ビット)
ffmpeg -i master_pq.mov -c:v libsvtav1 -preset 6 -crf 30 -pix_fmt yuv420p10le -color_primaries bt2020 -color_trc smpte2084 -colorspace bt2020nc -color_range tv -svtav1-params "mastering-display=G(0.265,0.690)B(0.150,0.060)R(0.680,0.320)WP(0.3127,0.3290)L(1000,0.005):content-light=1000,400" -c:a copy hdr10_av1.mkvSVT-AV1 は CIE x,y を小数で、輝度を nit で受け取ります。FFmpeg は -color_* フラグをエンコーダーの色オプションに渡しました。FFmpeg 8.1 と SVT-AV1 4.0.1 で、どちらのコマンドも BT.2020、PQ、BT.2020 NCL のタグが付き、最初のフレームにマスタリングと明るさのメタデータを持つ 10 ビットのファイルを出力しました。
再エンコードせずに欠けたタグを直す。 ピクセルがすでに PQ なら、hevc_metadata ビットストリームフィルターで色の記述だけを書き換え、映像には手を付けずに済みます。
ffmpeg -i untagged.mp4 -c copy -bsf:v "hevc_metadata=colour_primaries=9:transfer_characteristics=16:matrix_coefficients=9" retagged.mp4MP4 に入れた HEVC のテストファイルでは、デコードしたフレームのチェックサムは前後で同一で、タグは unknown から BT.2020、PQ、BT.2020 NCL(コード 9、16、9。HLG は 18)に変わりました。ST 2086 や MaxCLL は加わらないので、それには再エンコードが必要です。
ffprobe でファイルを確認する
ffprobe -v error -select_streams v:0 -show_entries stream=profile,pix_fmt,color_range,color_space,color_transfer,color_primaries:frame=side_data_list -read_intervals "%+#1" -show_frames -of json hdr10.mp41 回の呼び出しで、色のタグと最初のフレームのサイドデータが返ります。上の x265 のファイルでは次のとおりです。
| フィールド | 値 | 意味 |
|---|---|---|
profile、pix_fmt | Main 10、yuv420p10le | 10 ビット HEVC、4:2:0 |
color_primaries、color_transfer、color_space | bt2020、smpte2084、bt2020nc | BT.2020、PQ、非定輝度 |
color_range | tv | リミテッド(ナロー)レンジ |
| Mastering display metadata | max_luminance=10000000/10000、min_luminance=50/10000 | ピーク 1,000 nit、黒 0.005 nit |
| Content light level metadata | max_content=1000、max_average=400 | MaxCLL と MaxFALL |
値はコーデックごとの単位の分数で表示されます。私たちの AV1 ファイルでは max_luminance=256000/256 で、これも 1,000 nit です。HLG のファイルは arib-std-b67 と表示され、たいていマスタリングのデータはありません。HDR でグレーディングしたのに bt709 や unknown と出るファイルは、SDR として再生されます。
KwaFlux での HDR の扱い
- SDR→HDR 変換は逆トーンマッピングです。 AI カラー調整の SDR→HDR 変換 は、AI モデルで SDR クリップを広いダイナミックレンジ、明るいハイライト、見やすい暗部へと拡張します。シーン で見た目を決めます。風景(既定)、夜景、または 2.0〜5.0(既定 3.8)の 明るさ スライダー付きの カスタム です。
- 書き出しの選択肢。 色空間 には HDR PQ (Rec.2020)(既定)、HDR HLG (Rec.2020)、SDR (BT.709) があり、コーデックは H.265(推奨)か AV1、コンテナは MKV が推奨です。HDR の書き出しは 10 ビット、SDR は 8 ビットで、書き出し設定は各選択肢に対応する伝達関数、BT.2020 の原色とマトリクス、リミテッドレンジのタグを組み合わせます。
- 納品前に確認します。 書き出したファイルに上の ffprobe コマンドを実行し、プラットフォームが必要とする ST 2086 や MaxCLL の値がなければ、x265 の設定で再エンコードしてください。
- SDR 画面での HDR プレビュー。 プレビューのレンダラーは PQ と HLG をデコードし、BT.2020 の色を BT.709 に変換して、Reinhard 型のカーブでハイライトを圧縮します。HDR 出力用の HDR パススルーモードもあります。
- 修復と複数ステップのジョブ。 画質修復 の書き出しには色空間のオプションがないので、修復した HDR ファイルのタグを確認してください。複数ステップのジョブでは、KwaFlux はステップ間で 10 ビットの中間ファイルを受け渡すので、8 ビットの丸め誤差が積み重なってバンディングになることはありません。
よくあるトラブルと対処
| 問題 | 考えられる原因 | 対処 |
|---|---|---|
| HDR ファイルが灰色っぽく平板に見える | タグがない、または HDR 非対応のプレーヤー | タグを確認する。ピクセルが PQ の場合だけタグを付け直す。トーンマッピングした SDR 版を作る |
| PQ とタグ付けした SDR クリップがきつく見える | 変換せずにタグだけを変えた | zscale での配置か逆トーンマッピングで再エンコードする |
| 色の彩度が高すぎる | BT.709 や P3 のピクセルを BT.2020 とタグ付けした | 先に zscale の p=bt2020 で原色を変換する |
| SDR 版の空にバンディング | ディザなしの 8 ビット出力 | d=error_diffusion を加え、中間ファイルは 10 ビットに保つ |
| ハイライトが白く平らなかたまりになる | clip カーブ、または peak が低すぎる | 実際のピークを指定して Möbius、Reinhard、Hable を使う |
| マスタリングのメタデータがない | master-display と max-cll を指定していない | x265 か SVT-AV1 で指定し、最初のフレームを確認する |
できないこと
- トーンマッピングで 1,000 nit を 100 nit の画面に表示することはできません。 何を残すか(ハイライトの細部、中間調のコントラスト、色)を選ぶだけです。
- 逆トーンマッピングで白飛びした細部は戻りません。 BT.2446 は、圧縮アーティファクトが目立つようになりうると警告しています。
- メタデータでグレーディングは直せません。 ディスプレイが調整できるよう、マスターを記述するだけです。
- タグでピクセルは変換できません。 変換せずにタグを変えると、映像の見え方が変わります。
まとめ
SDR か HDR かは 1 つではなく、カーブ、原色、ビット深度、メタデータの 4 つの決定です。それぞれを意図して設定し、ffprobe で確認し、映像が SDR と HDR のあいだを行き来するときはラベルを貼り替えるのではなく変換してください。
KwaFlux はご自身の GPU でAI カラー調整を実行し、PQ や HLG での SDR→HDR 変換の書き出しにも対応しています。AI 処理はご自身の GPU 上で実行され、メディアファイルが処理のためにアップロードされることはありません。Windows 10(64 ビット、バージョン 1809 以降)、Windows 11、Apple Silicon 搭載の macOS 12 以降で動きます。プレビューにアカウントは不要です。どのクリップでも 1・3・5 秒のプレビューを出せます。ログインと有料プランが必要なのは、書き出し、変換、ファイル修復、リンクからのファイルダウンロードだけです。
ご自身の素材で効果をテスト
KwaFlux を入手し、支払う前に自分の素材で効果を無料プレビュー。アカウント不要、処理はご自身の GPU で行い、メディアはアップロードしません。 動画のプレビューは 1、3、または5 秒、手ぶれ補正のプレビューは 5、15、または30 秒から選べます。
よくある質問
PQ が SDR のガンマより多くのビットを必要とするのはなぜ?
PQ は、SDR が 0〜100 nit に使うコード範囲に 0〜10,000 nit を広げているからです。私たちの計算では、100 nit 付近の 8 ビット PQ の 1 段は光量が約 4.7% 変わり、はっきりバンディングになります。10 ビットなら約 1.1% に下がります。バンディングの直し方は 8 ビットと 10 ビットの動画の違い で扱っています。
HLG は SDR テレビと互換性がある?
一部はあります。報告書 ITU-R BT.2390 によれば、HLG は SDR ディスプレイでかなりの互換性を持つよう設計されていますが、それは BT.2020 の色の入れ物を受け付けるディスプレイに限られます。BT.709 しか扱えない画面には、変換した SDR 版がやはり必要です。
MaxCLL と MaxFALL とは?
MaxCLL は作品中でいちばん明るいピクセルの明るさ、MaxFALL は 1 フレームの平均の明るさの最大値で、どちらも nit で表します。CTA-861.3 で定められ、HDR10 の静的メタデータとして運ばれ、プレーヤーはトーンマッピングのカーブを選ぶのに使えます。
ハイライトの細部を失わずに HDR を SDR にトーンマッピングできる?
一部はできます。Hable、Möbius、BT.2390 EETF のようなロールオフカーブなら、ハイライトを切り捨てずに階調を残せます。ただ、100 nit のディスプレイでは余分な明るさは残らず、どのカーブもその細部を残す代わりに中間調のコントラストか色を多少あきらめます。
色のタグを変えれば SDR は HDR になる?
なりません。タグはプレーヤーに数値の読み方を伝えるだけで、10 ビット SDR のピーク白を PQ として読むと 10,000 nit を要求することになります。本当の変換で SDR を PQ の入れ物に配置するか、逆トーンマッピングで拡張してください。SDR→HDR と滑らかな動き もご覧ください。
参考資料
- ITU-R, Recommendation BT.2100-3 (PQ constants, HLG system gamma, BT.2020 primaries, 203-nit reference white) (2026-10-21 閲覧)
- ITU-R, Recommendation BT.1886 (gamma 2.4 display curve, 100 cd/m² white, BT.709 camera curve and primaries) (2026-10-21 閲覧)
- ITU-R, Report BT.2390-12 (PQ bit depth against the Barten threshold, HLG curve and compatibility) (2026-10-21 閲覧)
- ITU-R, Report BT.2390-8, sections 5.4.1 and 7.4 (EETF; clip, static, and dynamic mapping) (2026-10-21 閲覧)
- ITU-R, Report BT.2446-1 (tone mapping and inverse tone mapping, reference white levels, artifact amplification) (2026-10-21 閲覧)
- x265 Documentation, "Command Line Options" (color, HDR10, and HLG options) (2026-10-21 閲覧)
- SVT-AV1, "Parameters" (color description, mastering-display, content-light) (2026-10-21 閲覧)
- FFmpeg Filters Documentation (`tonemap`, `zscale`) (2026-10-21 閲覧)
- FFmpeg source, vf_tonemap.c (curve formulas for our chart) (2026-10-21 閲覧)
- FFmpeg Bitstream Filters Documentation (`hevc_metadata`) (2026-10-21 閲覧)
- YouTube Help, "Upload High Dynamic Range (HDR) videos" (P3 masters tagged as Rec. 2020) (2026-10-21 閲覧)
- Dolby Professional, "Dolby Vision HDR at Home" (dynamic metadata, 12-bit color) (2026-10-21 閲覧)
- HDR10+, "How does dynamic metadata in HDR10+ improve upon this?" (2026-10-21 閲覧)
- CVRL, CIE 1931 2-degree colour matching functions (spectral locus for our chart) (2026-10-21 閲覧)

