カラー画像を表示するときに、さまざまなモニター(モバイル画面を含む)が大幅に異なるガンマ関数を使用しますか?色を表現する標準化された方法はありますか?それはモニターのガンマに応じて変換できますか?それとも今日の必要性を排除するのに十分に類似していますか?
カラー画像を表示するときに、さまざまなモニター(モバイル画面を含む)が大幅に異なるガンマ関数を使用しますか?色を表現する標準化された方法はありますか?それはモニターのガンマに応じて変換できますか?それとも今日の必要性を排除するのに十分に類似していますか?
回答:
はい、多くの画面とOS操作で2.2のガンマが使用されていますが、ハードウェアと計算結果を修正する必要があります。異なるガンマを持つ放送テレビのような特別な媒体もあります。カメラなどのセンサー機器はほとんど線形であるため、それに応じて調整する必要があります。これに加えて、ユーザーは好みのガンマにシステムを設定できます。
コンピュータグラフィックスでは、ガンマを考慮する主な理由は、計算が線形空間*で行われる可能性が高いこと、または光の寄与の合計が不必要に複雑になることです。いずれにせよ、ガンマは本当に物事を単純化したものであり、計算時間を費やすことが可能であれば、プロファイルからプロファイルへの変換を行う方がはるかに良いでしょう。
これは理解しやすいかもしれません。モニターには表示エラーがありますが、データがg (x )に準拠している場合は問題ありませんが、以下を計算する場合:
そして、B、C、D、の誤差持つG (X )あなたが実際に計算する必要がありますが。
これを各サブ要素に対して繰り返し行う必要があります。したがって、毎回すべてを線形に変換してから再び変換するたびに変換を実行する代わりに。
ガンマが異なると、見た目が良くなる場合があります。多くのゲームには、このためにガンマ調整があります。
*最悪の場合は、計算を線形と見なしますが、モニターの非線形出力特性を補正しません。
最近のデジタル画像の事実上の標準色空間はsRGBです。sRGBは、正確な色空間がわからないディスプレイ(つまり、誰かがアプリを実行する可能性のある最もランダムなディスプレイ)、または色空間エンコードがわからない画像(つまり、遭遇する可能性のある最もランダムな画像ファイル) 。
sRGB規格は、純粋な赤、緑、青の原色と白色点のCIE色度を定義します。つまり、純粋な波長に対して、原色と白が知覚的にどのように見えるかを定義します。
sRGBは、RGB値のエンコードに使用されるガンマ曲線も定義します。ガンマ曲線は、グラフィックプログラマが通常関心を持っている部分です。sRGBとリニアの間で色を変換し、物理的に正確に照明計算を行う必要があるためです。最新のすべてのGPUにはsRGBサポートが組み込まれています。テクスチャをサンプリングするとき、またはレンダーターゲットにピクセル値を書き込むときに、ハードウェアでガンマ変換を自動的に適用できます。
モニターに関する限り、高品質のモニターでは、出力をできるだけ忠実にsRGBに一致させるために、設定を調整する(または事前に調整されている場合があります)必要があります。モニター自体でできない場合は、スキャンアウト中にGPUで限られた量の色補正を行うこともできます。いくつかの小さなハードウェアルックアップテーブルがあり、それらはRGB値がワイヤを介して送信される前にマップされます。
また、Recに出くわすかもしれません。709は、HDTVの標準色空間です。sRGBと非常によく似ており、同じ原色と白色点を使用しますが、ガンマ曲線はわずかに異なります。一部のハイエンドモニターはAdobe RGB色空間を使用しますが、これはsRGBよりやや広い色域です。写真家は、印刷されたときに写真がどのように見えるかをより忠実に表すため、それらを好む傾向があります。今後数年以内に(できれば)登場する次世代のHDR TVはRecを使用します。2020、これは広色域を持ち、8ではなくコンポーネントごとに10または12ビットを必要とします
異なるガンマを持つ異なるモニターについて心配する必要があるかどうかあなたの質問に戻るために:あまりない。ゲームや一般的なPCグラフィックスでは、sRGBを想定することができます。ユーザーが色の正確性を本当に気にかけているのであれば、適切なキャリブレーションされたモニターが用意されているはずです。写真家や印刷メディア、または次世代のHDRビデオ規格向けのソフトウェアを作成している場合は、広色域のカラースペースについて心配する必要があります。