モニタなにつかってる?
テレビ業界規格のガンマカーブについて調べたことを書きます
理解できる人に見て頂いて間違いがあれば、訂正いただけるとありがたいです
・ITU-R BT.709 のガンマカーブは、単純な2.2乗ではない
ブラウン管の特性を考慮したせいか、複雑な計算式になっている
・ITU-R BT.1886 のガンマカーブは、単純な2.4乗ではない
フラットパネル(プラズマや液晶)の特性を考慮したせいか、複雑な計算式になっている
・表計算ソフトにBT.709/1886計算式を入れてグラフを作る
単純な2.2乗/2.4乗カーブと比べると、ぴったり一致しないことがわかる BT.709 カメラで撮った明るさL -> ビデオ信号V への計算
[式1] V=4.500L for 0.018>L≧0
明るさが1.8%未満の場合
4.5倍すると、ビデオ信号にできる
[式2] V=1.099L^(0.45乗)-0.099 for 1≧L≧0.018
明るさが1.8%以上の場合
0.45乗->1.099倍->マイナス0.099 すると、ビデオ信号にできる
・表計算ソフトのセルに入れる式 =L^0.45*1.099-0.099
・Windows関数電卓では Lx^y0.45*1.099-0.099=
(Lの部分を計算したい値に替え、電卓にコピペすると、Vの答えが出ます)
ーーーーーーーーーーーーーーーーーー
BT.709 ビデオ信号V -> テレビ画面の明るさL への計算
[式1] L=V/4.500 for 0.081>V≧0
ビデオ信号が8.1%未満の場合
4.5で割ると、テレビ画面の明るさにできる
[式2] L={V+0.099^(0.45の逆数で累乗)} ÷ 1.099 for 1≧V≧0.081
ビデオ信号が8.1%以上の場合
0.099を足す->1.099で割る->0.45の逆数で累乗すると、テレビ画面の明るさにできる
・表計算ソフトのセルに入れる式 =(V+0.099)/1.099^(1/0.45)
・Windows関数電卓では (V+0.099)/1.099x^y(1/x0.45)=
(Vの部分を計算したい値に替え、電卓にコピペすると、Lの答えが出ます) BT.1886 カメラで撮った明るさL -> ビデオ信号V への計算
※ これは存在しません
ーーーーーーーーーーーーーーーーーー
BT.1886 ビデオ信号V -> テレビ画面の明るさL への計算
[式1] a = { Lw^(1/γ) ー Lb^(1/γ) }^γ
[式2] b = Lb^(1/γ) ÷ { Lw^(1/γ) ー Lb^(1/γ) }
[式3] V = (D ー 64) ÷ 876
[式4] L = a ( max[(V + b), 0] )^γ
[式5] γ = 2.40
[前提1] Lw: ある特定のディスプレイが出せる、最高の明るさ=白 (絶対値 cd/m2)
[前提2] Lb: ある特定のディスプレイが出せる、最低の暗さ=黒 (絶対値 cd/m2)
[式1] a: 可変ゲイン (ある特定のディスプレイで表現できる、黒から白までの幅)
[式2] b: 可変黒レベル (ある特定のディスプレイに生じてしまう、黒浮きによる上げ底の割合)
[式3] D: 外部から送り込まれる映像データの明るさ値 (ビット)
V: データの明るさ値を、黒(0=0%)から白(1=100%)までの間に割り当てる
[式4] L: 表示させたいV値が、ある特定のディスプレイに出たときの、物理的な明るさ (cd/m2)
max[(V+b),0] は、(V+b)とゼロを比べ、数字が大きいほうを計算に使うという意味
[式5] ^γ: ガンマ2.4乗 ^(1/γ): 逆ガンマ1/2.4乗 BT.1886 なぜこのような計算式なのか推測 1/2
・ディスプレイの明るさはメーカーや機種によって違う
・バックライト光量が少ないと白が弱い
・バックライトが漏れると黒が浮く
・黒から白までの明るさ範囲が違うディスプレイを並べると、同じ絵を出しても見え方が異なってしまう
・どのディスプレイでも、明暗の表示バランスが似たような傾向に見える仕組みを用意したい
[式1] 可変ゲインa = { 白の画面輝度^(1/2.4乗) − 黒の画面輝度^(1/2.4乗) } ^2.4乗
ある特定のディスプレイが出せる、白から黒までの明るさ範囲はいくらか
[式2] 可変黒レベルb = 黒の画面輝度^(1/2.4乗) ÷ { 白の画面輝度^(1/2.4乗) ? 黒の画面輝度^(1/2.4乗) }
明るさ範囲を100%としたとき、それと比べて黒浮きの量は何%になるか
※バックライト漏れが多いと、この割合は増える BT.1886 なぜこのような計算式なのか推測 2/2
[式3] 入力信号V = (外部から送り込まれる映像データ値D ー 64) ÷ 876
Dが10ビットの場合、黒から白までの階調は1024段
だがテレビの規格では、0〜63の間と、941〜1024の間はなるべく使わない
前段の装置が異常動作してはみ出した値を送り込まれたとき、非常受入範囲に使う
正常な映像データとして受け付けるのは 64(黒0%)〜940(白100%) までの、876段
映像データ値D−64を876で割ると、黒0%〜白100%の明るさ範囲の中で、何%に達するかわかる
割り算でマイナスが出たり、1を越えたら、はみ出した値だとわかる
[式4] 実際の画面に出す明るさL = 可変ゲインa × (入力信号V + 可変黒レベルb) ^2.4乗
876で割って出した%値と、黒浮きの%値を足す
特定ディスプレイの明るさ範囲に、この%値を掛ければ、物理的な明るさを決められる
[式5] 累乗でガンマカーブを作る理由
ウェーバー・フェヒナーの法則
人間の五感は、値が小さいとき、少しの変化でも気付きやすい
値が大きくなると、少しの変化では気付かない、大きく変化させてようやく気付く
それをグラフにすると、××倍ではなく、××乗で描いたほうが近い形になる >>674 に書いた内容の一部が間違っていたので訂正
BT.709 ビデオ信号V -> テレビ画面の明るさL への計算
誤: [式2] L={V+0.099^(0.45の逆数で累乗)} ÷ 1.099
正: [式2] L={ (V+0.099) ÷ 1.099 }^(0.45の逆数で累乗)