【文献】
野口 孝文等,コンストラクションセットを持つマイクロワールド,情報処理学会論文誌,日本,1995年 1月31日,第36巻 第1号,153−166頁
(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
従来は、再生された画像のダイナミックレンジは、通常の視野に関して大幅に低減される傾向にあった。実際に、現実の世界において発生する輝度レベルは、月のない夜から直接太陽をのぞきこむことまで変化する、14桁の大きさのダイナミックレンジに渡る。瞬間的な輝度ダイナミックレンジ及び対応する人間の視覚系応答は、快晴日又は夜(明るい反射対暗い影領域)に関して10.000:1と100.000:1との間に入り得る。昔から、ディスプレイのダイナミックレンジは、約2−3桁に限られていた。また、センサは、ノイズ許容可能性に依存して、制限された範囲を有していた(例えば<10.000:1)。従って、従来のレンダリングデバイス上に知覚的に目立つアーチファクトを取り込むことなく8ビットガンマエンコードされたフォーマットにおいて画像を格納及び送信することが昔から考えられていた。しかしながら、より精密な及びより鮮明なイメージを記録する努力において、6桁を超えるダイナミックレンジを記録可能な新規なHDR(High Dynamic Range)画像センサが開発されている。更に、ほとんどの特殊効果、コンピュータグラフィックス強化及び他の製造後の作業は、より高いビット深度で及びより高いダイナミックレンジによって既に日常的に行われている。
【0003】
更に、最高水準のディスプレイシステムのコントラスト及びピーク輝度は増大し続けている。近年では、新たな試作品ディスプレイは、3000cd/m
2の高さのピーク輝度及び5−6桁のコントラスト比によって示されている。(ディスプレイ固有、表示環境は、最後にレンダリングされたコントラスト比に影響するだろう。これは、日中のテレビ表示に対するものであっても50:1よりも低下し得る)。将来のディスプレイは、より高いダイナミックレンジ及び詳細にはより高いピーク輝度及びコントラスト比を与え得ることが期待される。
【0004】
HDR画像は、例えば、複数の低ダイナミックレンジ(LDR)画像を組み合わせることにより生成され得る。例えば、3つのLDR画像は異なる範囲で取り込まれ、3つのLDR画像は、個々のLDR画像のダイナミックレンジの組み合わせに等しいダイナミックレンジを有する単一の画像を生成するために組み合わせられ得る。
【0005】
HDRイメージングを正常に取り込むため、及び、HDRの将来性を完全に利用するために、増大したダイナミックレンジを扱い得るシステム及びアプローチが開発されることが重要である。更に、これは、LDR画像処理の種々の要素及び機能がHDRによって再利用されるのを可能にする機能が取り込まれた場合に望ましい。例えば、LDRのために規定されたインタフェース、通信手段又は配布媒体がHDR画像のために再利用され得ることが望ましいだろう。
【0006】
HDRイメージングに関連した1つの重要な特徴は、HDR画像データを効率的にエンコードする方法である。
【0007】
最近、例えばWO2005/1040035において開示されたドルビーのデュアルレイヤ方法のような、幾つかのHDRエンコード技術が提案されている。
【0008】
例えばHDR画像を効率的に処理するために、多くのシナリオにおいて、比較的大きな数のビットにより典型的に表されるHDRのより大きなダイナミックレンジが実質的に低減された数のビットを用いた表現に変換されることが重要である。
【0009】
例えば、幾つかのシナリオにおいて、LDRのために開発された入力インタフェースを有するディスプレイ上でHDR画像を表示することが有利であり得る。故に、例えばディスプレイインタフェースによりLDR値として処理され得る値を生成することが望ましいかもしれない。他のシナリオにおいて、より低いビットレートを有するとともにいくらかの下位互換性を有するHDR値をLDRにエンコードすることが望ましいかもしれない。
【0010】
適切なフォーマットにおいてLDR画像を表すために、これは、多くの場合、HDR線形輝度値から適切に量子化されたlumaコードにマッピングするコード配分関数を用いるために用いられる。HDR線形輝度値は、多くの場合、例えば値毎に比較的高い数のビットを有する浮動ポイント値として表される(例えば16ビット)。これに対し、量子化されたlumaコードは、典型的には、比較的低い数のビット(例えば8ビット)により、及び、多くの場合整数値として、luma値を表す。
【0011】
LDRとHDRとの間の差はダイナミックレンジのサイズだけではない。むしろ、ほとんどのシーンにおける強度の相対分布は、LDR及びHDR表現の間で大幅に異なる。
【0012】
実際に、HDR画像/ビデオは、典型的には、従来の(LDR)画像/ビデオとは異なる強度分布を有する。とりわけ、高ダイナミックレンジ画像データのピーク対平均輝度比は非常により高くなる。それ故、現在適用されているコード配分曲線又は電子光学的伝達関数(EOTF;electro optical transfer function)は、HDRデータに対して準最適になる傾向がある。故に、HDR輝度値からエンコードされたluma値への従来のLDRマッピングが用いられる場合、重大な画像劣化が典型的には生じる。例えば、画像コンテンツのほとんどは、少しのコード値によってのみ表され得る。多数のコードは増大された輝度範囲に対して保存されるためである。これは、しかしながら、典型的には、少しの極めて明るい画像オブジェクトに対してのみ用いられる。
【0013】
実用的なシナリオの一例として、色等級づけ(リファレンス[1]を参照)又は色補正は、商業映画又はフォトグラフィ生産の一体的部分である。とりわけ、これは、製造後のステージ(リファレンス[2])の部分である。色等級づけアーティスト又はカラリストは、色等級づけセットにおいて機能し、これは、色等級づけ/補正ツールと等級分け/補正された画像又はビデオ上の色等級づけツール動作の効果のリアルタイムプレビューとを供給する。
【0014】
HDRカメラの導入並びにHDR画像及びビデオを撮影及び表示するためのディスプレイによれば、色等級づけセットは、この高ダイナミックレンジコンテンツを等級分けするために適してなければならない。HDRの導入を促進するために、既存のツールに対する最小限の変化を有する色等級づけ/補正を可能にすることが有益である。
【0015】
例えば100cd/m
2のピーク輝度のリファレンスモニタ上に表示されることを意図した現在の規格のダイナミックレンジビデオは、通常、現在の規格のluma/輝度領域においてエンコードされ、これらは、これらのログ曲線又はEOTF(電気光学伝達関数)を用いて特定される。これの例は、sRGB(リファレンス[4])又はITU Rec.709(リファレンス[5])対数関数的データのために使用される曲線である。ビデオデータは、この対数関数的領域において、色等級づけツール(例えばPC上のソフトウェア)からハードウェアインタフェース(典型的にはHD−SDI)を介してプレビューディスプレイに送られる。ハードウェアインタフェースのビット深度は、通常、例えば8又は10ビットに限定される。
【0016】
HDR画像/ビデオは、典型的には、現在の規格のダイナミックレンジ画像とは異なる(例えば、ディスプレイにレンダリングされた輝度として規定されたときの)輝度分布を有する。例えば、現在のビデオコンテンツ分布が典型的には(lumaコードが例えば255値の半分にうまく広がることを意味する)ピーク輝度の約20%でピークに達する一方で、HDRコンテンツは、典型的には、しばしば、ピーク輝度の非常に低い割合(例えば1%)周辺でピークに達し得る(少なくともHDR画像のより暗い領域のデータがコード最大のコード1/100に広がる)。故に、関連したHDRコンテンツのほとんどは、現在の規格のログ曲線を用いてエンコードされるときに、8ビット又は10ビットのビデオレベルの少数のみに含まれるだろう。これは、プレビュー画像における厳しい及び受け入れられない量子化アーチファクトをもたらし、それ故、カラリストがHDR画像を色等級分け/補正するのを妨げる。
【0017】
従って、従来のコード配分関数が、斯様な8ビット又は10ビットの入力フォーマットを有する既存のディスプレイのための適切なコードを生成するためにHDR画像に対して用いられる場合、表示された画像の大幅に低減された質は、例えば少しだけの入力レベルに渡って分布される画像に存在する強度のほとんどによって生じるだろう。
【0018】
実際の技術的なコードをレンダリングするディスプレイ上でどのようにみられるか又はその逆に関する線形光輝度をマッピングするコード配分関数は、しかしながら、主として、(ガンマ2.2のような)LDRモデルに基づいているが、約100nit又はcd/m
2のピーク輝度のLDRディスプレイ対してのみ最適だった(以後は、nit及びcd/m
2の双方が用いられるだろう)。HDRディスプレイ(例えば5000nitのピーク輝度)への接続ケーブルを介した伝送のための非常に粗いコードのHDRビデオの場合、ビデオのより暗い部分におけるバンディングのようなアーチファクトを見るリスクがある(例えば、とりわけ色あせたダークブルーの空におけるバンディング)。
【0019】
従って、例えば現在の色等級づけツール及びインタフェースを用いてHDR画像の色等級づけを可能にするために、異なるコード配分曲線が、ビデオデータをエンコードするために用いられるべきであり、従って、充分な数の量子化レベルは最も重要なビデオデータに割り当てられる。
【0020】
しかしながら、適切なコード配分関数を見つけることは、重要なだけではなく、困難でもある。実際に、チャレンジは、コード配分関数を決定するときに入力輝度値とlumaコードとの間で最良にマッピングする方法である。実際に、選択されたマッピングが(例えば量子化エラーに起因して)生ずる質に対して強い影響を与えるので、これは重要な問題である。更に、画像の質に対する影響は、エンコード/デコードされる画像の特性及び性質や、画像をレンダリングするために使用される機器に依存し得る。
【0021】
もちろん、最も単純なアプローチは、単純に均一の量子化を用いることであるだろう。しかしながら、斯様なアプローチは、多くのシナリオにおいて最適状態に及ばないパフォーマンスをもたらす傾向がある。従って、不均一性の量子化が適用されたコード配分関数が開発された。これは、詳細には、非線形関数(lumaコードマッピング/色調マッピング関数)を入力輝度値に適用することにより実行されてもよい。その後に線形量子化が続く。しかしながら、述べられるように、多くのシナリオにおける規定された関数が最適状態に及ばない結果を与えることが解っている。例えば、例えば値(典型的には8ビット)毎に比較的低い数のビットでLDR回路により処理されるのを可能にするためにコード配分関数をHDR画像に適用することは、HDR画像の最適状態に及ばない変換をもたらす傾向があり、詳細には、少しの量子化レベル/コード周辺に集中される画像値をもたらす。
【0022】
詳細には例えばHDR画像のために最適化される明示的な関数を開発及び規定することが可能であるが、これは、多くのシナリオにおいて非実用的であり得る。実際に、斯様なアプローチは、個々の及び専門の関数が各シナリオのために開発されるのを必要とする。更に、典型的には、機器及び/又は画像における差分を補償するために、多数の考えられる関数が選択のために利用可能であることを必要とする。
【0023】
これは、更に、動作を複雑にし、追加のリソース要件を取り込む。
【0024】
例えば、専用の関数を用いることは、どの特定の関数が用いられるかをエンコーダが通信するのを必要とするだけでなく、加えて、エンコーダ及びデコーダは、全ての考えられる関数のローカル表現を格納することを必要とする。これは、メモリ格納要件を大幅に増大させるだろう。他のオプションは、使用されるコード配分関数を完全に規定するデータをエンコーダがエンコードすることであるが、斯様なアプローチはデータレートを大幅に増大させるだろう。
【0025】
更に、専用の及び明示的なHDRコード配分関数を用いることは、多くのシナリオにおいて、適切な関数を規格化及び特定することについてかなりの仕事を必要とするだろう。更に、既存の機器は新たな関数をサポートしないので、後方互換性が問題になるだろう。例えば、既存の回路は、詳細にはHDR画像をサポートするために規定された新たな関数をサポートすることができないだろう。
【発明を実施するための形態】
【0056】
図1は、本発明の幾つかの実施形態によるHDR画像演算処理システムの一例を示している。この図は、HDRシステムのためのソース、エンコーディング又は送信側を示す。本例において、コード配分関数は、HDR線形輝度である入力値からlumaコードにマッピングするために用いられる。本例において、コード配分関数は、Nビットにより表される入力値からMビットにより表される出力値にマッピングする(N>M)。加えて、本例において、入力HDR線形輝度値は、浮動小数点値として(例えば16ビットの浮動小数点値として)表され、出力lumaコードは、整数(例えば8ビットの整数)により表される。
【0057】
図1の例において、本システムは、HDR画像又はビデオシーケンスのソース101を有する。
【0058】
従来のディスプレイは、典型的にはLDR表現を用いる。典型的には、斯様なLDR表現は、指定された原色に関する3つの成分の8ビットの表現により与えられる。例えば、RGB色表現は、赤、緑及び青の原色にそれぞれ参照される3つの8ビットのサンプルにより与えられてもよい。他の表現は、1つの輝度成分及び2つの彩度成分(例えばYCbCr)を用いる。これらのLDR表現は、所与の輝度又は輝度範囲に対応する。
【0059】
HDRは、詳細には、HDRディスプレイ上に適切に示されるかなり明るい画像(又は画像エリア)を可能にする。実際には、HDRディスプレイ上に表示されるHDR画像は、LDRディスプレイ上に示される対応するLDR画像により与えられ得るかなり明るい白色を与え得る。実際には、HDRディスプレイは、典型的には、LDRディスプレイより少なくとも4倍明るい白色を可能にし得る。輝度は、詳細には、所与のグレー又は黒いレベルに対して表され得るか又は測定され得る最も濃い黒に対して測定されてもよい。
【0060】
LDR画像は、詳細には、特定の白色ポイント及び/又は原色の特定のセットに関連した固定されたビット分解能のような、特定の表示パラメータに対応してもよい。例えば、8ビットは、RGB原色の所与のセット及び例えば500cd/m2の白色ポイントに対して与えられてもよい。HDR画像は、これらの制限を越えるようにされるべきであるデータを含む画像である。とりわけ、輝度は、白色ポイント(例えば2000cd/m2)より4倍を超える明るさであってもよく、又は、それより明るくてもよい。
【0061】
高ダイナミックレンジ画素値は、NTSC及びMPEG2時代に規格化されたディスプレイ上に忠実に表示され得る範囲より(非常に)大きい輝度コントラスト範囲(最も暗い輝度で割った画素のセットにおける最も明るい輝度)を有する(その典型的なRGB原色を伴う、及び、最大駆動レベル[255、255、255]を伴うD65の白色、例えば500nit又はそれより低い基準輝度)。典型的には、斯様な基準ディスプレイに関して、8ビットは、視覚的に小さな段階において約500nitと約0.5nitとの間の(即ち、コントラスト範囲1000:1又はそれより低い範囲を伴う)全てのグレー値を表示するのに十分であるのに対し、HDR画像は、より高いビット語(例えば16ビット)によってエンコードされる。とりわけ、HDR画像は、典型的には、白色のシーンより高い(明るい画像オブジェクトの多くの画素値を含む。とりわけ、幾つかの画素は、白色のシーンの2倍より明るい。白色のこのシーンは、典型的には、NTSC/MPEG2基準ディスプレイの白色と同等視され得る。
【0062】
LDR画像とHDR画像との間の差は、より多くのビットがLDR画像よりHDR画像に対して用いられるということだけではないことに留意すべきでる。むしろ、HDR画像は、LDR画像より大きな輝度範囲をカバーし、典型的には、より高い最大の輝度値(即ち、より高い白色ポイント)を有する。実際には、LDR画像は、500nitに過ぎない値に対応する最大輝度(白色)ポイントを有するのに対し、HDR画像は、500nitを超える値、多くの場合、1000nit、2000nit、4000nit又はそれ以上に対応する最大輝度(白色)ポイントを有する。故に、HDR画像は、より高い粒状又は改良された量子化に対応するより多くのビットを用いるだけでなく、むしろより大きな実際の輝度範囲に対応する。故に、最も明るい考えられるピクセル値は、概して、LDR画像よりもHDR画像に対して高くなる輝度/光出力に対応する。実際には、HDR画像及びLDR画像は、同じビット数を用い得るが、LDR画像値よりも大きな輝度ダイナミックレンジ/明るい最大輝度に参照されるHDR画像値を有する(それ故、輝度スケール上のより粗い量子化によって表されるHDR画像を有する)。
【0063】
HDR画像のために使用されるビット数Xは、典型的には、LDR画像のために使用されるビット数Yより大きくてもよく、又は、これに等しくてもよい(Xは、典型的には例えば(チャネルの幾つかが用いられる場合、色チャネル当たり)12、14又は16ビットであってもよく、Yは、例えば8又は10ビットであってもよい)。
【0064】
HDR画像が、LDRに準拠したディスプレイインタフェース又は画像エンコーディングアルゴリズムのような、LDRに準拠した機器又はインタフェースで用いられるのを可能にするために、変換/マッピングは、HDR値をより小さな範囲に合わせるために必要とされ得る。例えば圧縮スケーリングが要求され得る。斯様な変換は、典型的にはむしろ複雑であり、輝度範囲の単純なスケーリングに等しいだけではない。斯様なスケーリングが、異常に見えるものとして知覚される、典型的には大きな量子化エラーを伴う画像をもたらすためである。むしろ複雑な変換が典型的に用いられ、これらの変換は、多くの場合、色調マッピングという用語を用いて言及される。
【0065】
図1のシステムにおいて、HDR画像は、HDR画像の画素の線形輝度値を、各線形輝度値よりも各lumaコードに対して与えられる低減された数のビットを有するlumaコードにマッピングするコード配分関数103に供給される。
【0066】
それ故、コード配分関数は、HDR画像の線形輝度値である入力値を有する。
【0067】
所与の画素のための輝度値は、その画素の輝度を示す。即ち、これは、その画素により放射された(それ故、画素により知覚される輝度の)、供給されるべき光の量を示す。本例において、輝度入力値は、最大の輝度に関して(即ち、白色ポイントに関して)所与のレベルに関連付けられる。例えば、入力輝度が、範囲が放散された輝度レベルに関連付けられる所与の範囲における値として与えられてもよい。詳細には、範囲の低い側は、例えば放射される光のないものに対応する黒色ポイントに関連付けられてもよい。範囲の高い側は、白色ポイントに関連付けられてもよい。白色ポイントは、(例えば5000nit又は1000nitのような)HDR輝度である。
【0068】
故に、コード配分関数への入力は、放散された光値に対応する実際の白色ポイント及び黒色ポイントに関連付けられ得る輝度値であってもよい。例えば、入力輝度値は、[0;1]の範囲における値として与えられてもよい。ここで、値0は、例えば0nitの黒色ポイントに対応し、値1は、500nitを超える値、多くの場合1000nit、2000nit、4000nit又はそれ以上の白色ポイントに対応する。
【0069】
故に、所与の輝度値は、所望の輝度に直接対応する。
【0070】
HDRソース101からの入力輝度値は、本例においては、線形輝度値である。故に、輝度値と所望の放散された輝度との間に直接的線形関係が存在する。即ち、線形輝度値と画素からの対応する光放射との間に直接的線形関係が存在する。例えば、0が0nitの黒色ポイントに対応するとともに1が5000nitの白色ポイントに対応する[0;1]の範囲における輝度値に関して、0.25の値は、1250nitの輝度に対応し、0.5の値は、2500nit輝度に対応する等である。
【0071】
入力輝度値は、比較的大きいビット数及びそれ故に比較的高い精度により表される。これは、更に、浮動小数点値として表されてもよい。故に、線形輝度は、実質的に非量子化されたものとみなされ得る。
【0072】
本例において、輝度値は、詳細には、画素の全体輝度であってもよい。即ち、(Rチャネル輝度、Gチャネル輝度又はBチャネル輝度のような)色チャネルの輝度だけよりもむしろ画素全体の輝度を反映してもよい。例えば、本例において、画素色は、別々の輝度及び彩度成分を有するフォーマットにより表されてもよい。例えば、これらは、(ピクセル値が輝度値Y及び2つの彩度値uvにより表される)Yuvフォーマットにおいて与えられてもよい。この場合、コード配分関数は、Y成分(輝度成分)に適用され得る一方で、彩度成分uvを一定に保つ。幾つかの実施形態において、本システムは、入力値を例えばRGBフォーマットから例えばYuvフォーマットに変換するための色表現コンバータを有してもよい。
【0073】
線形輝度入力は、詳細には、SI及びCIEにより言及される線形輝度であってもよい。
【0074】
コード配分関数への入力信号は、それ故、実際の輝度レベル(即ち、特定の白色ポイント又は最大輝度)に関連付けられた輝度値であってもよい。詳細には、HDRソース101は、特定の輝度レベルに対して色等級分けされた画像を与えてもよい。例えば、色等級分け部は、入力輝度範囲に関連付けられた白色ポイントに対応する白色ポイントを伴うHDRディスプレイ上に示されるときに、HDR画像の画素色/輝度値が所望の見て美しい画像を得るように手動で調整してもよい。
【0075】
コード配分関数103の出力は、luma値又はコードである。lumaは、色がない輝度値の任意の非線形関数であってもよい。故に、luma値は、典型的には、対応する輝度の単調な表現を与えるが、luma値を画素輝度に関連付ける関数は、任意の適切なもの、詳細には非線形関数であってもよい。故に、luma値に関して、他の値の2倍の大きさは、2倍の大きさいである所望の輝度に対応するために想定され得ない。幾つかのシナリオにおいて、luma値は、所与の輝度範囲に直接関連付けられないものとみなされ得る。例えば、luma値に対して利用可能な範囲は、例えば[0;1]から[0;255]までの範囲として与えられてもよい。しかしながら、この範囲は、所与の輝度範囲に又は実際には所与の黒色ポイント若しくは白色ポイントに直接関連付けられなくてもよい。例えば、幾つかの実施形態において、luma値は、画像輝度範囲又は分布の抽象的表現を与えてもよく、特定の輝度レベルへの正確なマッピングは、例えば画像を示すために使用されるディスプレイの輝度品質に依存して適合されてもよい。
【0076】
luma値は、詳細には、CIE_XYZから輝度表記法に対応してもよい。
【0077】
故に、画素のためのluma値は、画素に対する輝度又はルミナンス値の表現を与えてもよいが、これらの値に対する予め決められた又は直接的なマッピングを有してなくてもよく、とりわけ、線形マッピングを表さなくてもよい。むしろ、luma値は、エンコーディングを提供するが、lumaコードを特定の輝度値に戻すようマッピングするために、lumaコードと元の線形ルミナンス値との間の関係を規定する関数を用いることが必要である。
図1のエンコーダにおいて、コード配分関数は、線形ルミナンス入力からlumaコードにマッピングする。lumaコードをルミナンスコードに戻すようマッピングするために、逆コード配分関数が適用され得る。詳細には、lumaコードをエンコーダへの入力の線形ルミナンス範囲に戻すようマッピングするために、コード配分関数の逆は、ルミナンス値を生成するために用いられてもよい。lumaコードからルミナンス値へのマッピングは、以下において逆コード配分関数と呼ばれる。この関数は、幾つかのシナリオにおいて、それ自身、コード配分関数と呼ばれることに留意すべきである。
【0078】
コード配分関数103は、線形ルミナンス値を、後に量子化されるluma値にマッピングする非線形マッピングを含む。詳細には、コード配分関数は、線形ルミナンス入力値をluma値にマッピングするlumaコードマッピング107を含む。マッピングは非線形マッピングである。lumaコードマッピング107の出力におけるluma値は、コード配分関数103からの出力lumaコードを生成するためにluma値の量子化を実行する量子化部109に供給される。
【0079】
量子化部109は、線形ルミナンス値のより大きいビット数が既存のLDR機能の使用を可能にするより低いビット数まで低減されるように、ビット低減を実行する。詳細には、量子化部109は、luma値のビット数をNからMまで低減してもよい。量子化部109は、詳細には、均一の量子化を実行する。
【0080】
lumaコードマッピング107は、線形ルミナンス入力から逆量子化されていないluma値への非線形マッピングを実行するように構成される。それ故、lumaコードマッピング107及び量子化部109の組み合わせられた効果は、非均一の量子化に対応し得る。
【0081】
詳細には、非線形マッピングは、値の分布が改良されることを保証してもよい。例えば、非線形マッピングは、入力ルミナンス値の範囲の最も暗いもの(即ち、10%)が量子化されていないluma値の範囲の最も暗いもの(即ち、70%)にマッピングされるようになる。これは、LDR画像と典型的に関連付けられた低減された解像度を用いたHDR画像の画像特性の効率的なエンコーディングを保証するだろう。
【0082】
故に、
図1のシステムにおいて、コード配分関数は、luma値を生成するために線形ルミナンス入力値に適用されるlumaコードマッピング107から構成され、その後に、出力lumaコードを生成するためにluma値の(線形)量子化が続く。lumaコードマッピング107は、入力線形ルミナンスをluma値にマッピングするマッピングを供給する。即ち、lumaコードマッピング107は、線形ルミナンス値からluma値への色調マッピングを供給するために考慮されてもよい。
【0083】
しかしながら、本システムにおいて、lumaコードマッピング107は、単一の関数又はマッピングとして構成されるだけでなく、むしろ、lumaコードマッピング107の全体マッピングを与えるために一緒に機能する2つの部分関数111,113又はマッピングから構成される。
図1の例において、lumaコードマッピング107は、第1及び第2の部分関数111,113のみで作られるが、他の実施形態において、lumaコードマッピング107は、更なる関数を含んでもよく、とりわけ追加のマッピングを含んでもよいことは言うまでもないだろう。例えば、後述するように、コード配分関数は、ユーザにより変更され得る可変マッピングを含んでもよく、実際には、幾つかの実施形態において、コード配分関数は、ユーザにより制御される色等級づけを含んでもよい。
【0084】
詳細には、
図1のシステムにおいて、lumaコードマッピング107は、線形ルミナンス入力値をHDRソース101から受信する第1の部分関数111を有する。第1の部分関数111は、線形ルミナンス入力値を第1のluma値にマッピングするように構成される。第1の部分関数111は、全ての考えられる線形ルミナンス入力値のための出力luma値を規定する。即ち、線形ルミナンス入力値により表され得る最大ルミナンス範囲全体は、出力luma範囲にマッピングされる。更に、第1の部分関数111のマッピングは、線形ルミナンス入力値により表され得る最大ルミナンス範囲を、出力において表され得る最大luma範囲にマッピングするようになっている。詳細には、最も低い考えられる線形ルミナンス入力値は、最も低い考えられるluma値にマッピングされる。同様に、最も高い考えられる線形ルミナンス入力値は、最も高い考えられるluma値にマッピングされる。
【0085】
更に、マッピングは、非線形マッピングである。典型的には、マッピングは、典型的な輝度値に対応するサブレンジが増大され、極めて高い輝度値に対応するサブレンジが圧縮されるようになる。故に、HDR分布は、LDR制限(詳細にはビット制限)により適し得る分布にマッピングされる。
【0086】
第1の部分関数111のマッピングは、更に、可逆関数である。詳細に、第1の部分関数111は、ルミナンス入力からluma出力への1対1マッピングを提供し、実際には、luma出力からルミナンス入力への1対1マッピングが存在する。故に、第1の部分関数111は、上への(surjective)又は全単射の(bijective)関数/マッピングである。線形ルミナンス入力の範囲のあらゆる考えられる線形ルミナンス入力値に関して、第1の部分関数111は、luma出力の範囲の正確な1つのluma値にマッピングする。更に、第1の部分関数111の逆のものが存在し、luma出力の範囲のあらゆる考えられるluma値は、線形ルミナンス入力の範囲の正確な1つの線形ルミナンス入力値にマッピングする。
【0087】
詳細には、線形ルミナンス入力値は、[0;1]からの間隔における(例えば浮動小数点)値により表されてもよい。同様に、luma値は、[0;1]からの間隔における浮動小数点値により表されてもよい。第1の部分関数111は、ルミナンス入力値範囲[0;1]の、luma出力値[0;1]への全単射の非線形マッピングを与えてもよい。
【0088】
図1の例において、第1の部分関数111の出力は、第2の部分関数113に供給される。
【0089】
第2の部分関数113は、luma値をマッピングするように構成され、実際には、
図1の具体例において、第1の部分関数111からのluma値を第2のluma値にマッピングするように構成される。第2の部分関数113は、全ての考えられるluma入力値のためのluma出力値を規定する。即ち、luma入力値により表され得る最大luma範囲全体は、出力luma範囲にマッピングされる。更に、第2の部分関数113のマッピングは、入力luma範囲を、出力において表され得る最大luma範囲にマッピングするようになる。詳細には、最も低い考えられるluma入力値は、最も低い考えられるluma出力値にマッピングされる。同様に、最も高い考えられるluma入力値は、最も高い考えられるluma出力値にマッピングされる。
【0090】
更に、マッピングは、非線形マッピングである。多くのシナリオにおいて、マッピングは、典型的な輝度値に対応するサブレンジは増大され、極めて高い輝度値に対応するサブレンジは圧縮されるようになる。故に、HDR分布は、LDR制限により適し得る分布にマッピングされる。
【0091】
第2の部分関数113のマッピングは、更に、可逆関数である。詳細には、第2の部分関数113は、luma入力からluma出力への1対1マッピングを与え、実際には、luma出力からluma入力への1対1マッピングが存在する。故に、第2の部分関数113は、上への又は全単射の関数/マッピングである。luma入力の範囲のあらゆる考えられるluma入力値に関して、第2の部分関数113は、luma出力の範囲の正確に1つのluma値にマッピングする。更に、第2の部分関数113の逆のものが存在し、luma出力の範囲のあらゆる考えられるluma値は、線形luma入力の範囲の正確に1つのluma入力値にマッピングする。
【0092】
詳細には、luma入力値は、[0;1]からの間隔における値により表されてもよい。同様に、luma出力値は、[0;1]からの間隔における値により表されてもよい。第2の部分関数113は、luma値範囲[0;1]の、luma出力値[0;1]への全単射の非線形マッピングを与えてもよい。luma値は、浮動小数点値であってもよい。
【0093】
従って、第1の部分関数111及び第2の部分関数113の連続した適用の全体の組み合わせられた効果は、HDR信号の入力線形ルミナンス表現からの、より少ないビットによる表現により適した表現への非線形マッピングである。故に、luma値への入力線形ルミナンスの組み合わせられた非線形lumaコードマッピング又は色調マッピングが実現される。
【0094】
図1のシステムにおいて、第2のluma出力値、即ち、第2の部分関数113からのluma値は、量子化部109に供給される。量子化部109は、量子化を第2のluma値に適用し、これにより出力lumaコードを生成する。
【0095】
量子化部109による量子化は、各画素輝度を表すために使用されるビット数をより少ないビットまで低減する。例えば、luma値は、16ビットの浮動小数点値であってもよく、これは、8又は10ビットの整数に量子化されてもよい。
【0096】
コード配分関数の結果として、HDR輝度をかなり少ないビットで表す一方でより少ないビットが元のHDR画像の適切な表現を与えるのを可能にするlumaコードがそれ故に生成され得る。実際には、コード配分関数は、LDRのために開発された例えば通信、エンコーディング又は画像処理機能により扱われ得るコードを生成し得る。
【0097】
例えば、ディスプレイインタフェースは、例えば、Y成分のために割り当てられる例えば10ビットを有するYuvデータとして表される画像をサポートするように規定されてもよい。斯様なディスプレイインタフェースは、LDRを考慮して設計されてもよい。しかしながら、HDR線形ルミナンスを10ビットのlumaコードにマッピングすることにより、同じディスプレイインタフェースが、HDR画像をサポートするために用いられてもよい。
【0098】
他の例として、エンコーディングアルゴリズムは、Y成分のための8ビットを用いたYuv表現に基づいて生成されてもよい。HDR線形ルミナンスを8ビットのlumaコードにマッピングすることにより、同じエンコーディングアルゴリズムが、HDR画像のエンコーディングをサポートするために用いられ得る。
【0099】
故に、
図1のシステムは、HDR線形ルミナンスをluma表現に効果的に圧縮し、多くのシナリオにおいて、生ずる信号がLDR機能により扱われるのを可能にする。とりわけ、生ずる信号は、LDRのために設計された通信媒体、チャネル又は中間体を用いて通信されてもよい。
【0100】
更に、これが実現され得る一方で、HDR特性の効率的な表現を依然として可能にする。故に、画像データは、後に用いられるLDR画像に変換されない。むしろ、LDRに準拠した容器内のHDR表現が用いられ得る。
【0101】
多くの実施形態において、レシーバは、lumaコード値を受信してもよく、線形ルミナンスHDR表現を生成しようとしてもよい。例えば、luma値を受信するHDRディスプレイは、ディスプレイを駆動させるために後に用いられるHDR線形ルミナンス値を生成しようとしてもよい。
【0102】
斯様なシンク、デコーディング又は受信側の一例が
図2に示されている。
【0103】
本例において、レシーバは、
図1の送信側から生成された符号化された値を受信する画像レシーバ201を有する。幾つかの実施形態において、lumaコードは、符号化された信号において受信されてもよく、データ受信器201は、lumaコードを取り出すために符号化信号をデコードするための機能を有してもよいことは言うまでもないだろう。符号化信号は、彩度値を更に有してもよく、例えば、lumaコード及び彩度値は、画像における各画素に対して供給されてもよく、例えば、各画素は、Yuvフォーマットにおいて表されてもよいことは言うまでもないだろう。
【0104】
受信したlumaコードは、受信したlumaコードを線形ルミナンス値にマッピングするように構成されたコードマッピング関数203に供給される。詳細には、コードマッピング関数203は、HDR画像に適している線形ルミナンス値を生成し得る非線形マッピングを与える。
【0105】
線形ルミナンス値は、本例においては、HDRディスプレイを駆動させるように構成される駆動部205に供給される。故に、特定の例において、レシーバは、例えば、HDR画像を表す(lumaコードがLDR通信チャネルに準拠するのを可能にするフォーマットを用いた)lumaコードを受信し、これらのlumaコードをHDR線形ルミナンス値に変換するための機能を有するHDRディスプレイであってもよい。
【0106】
幾つかの実施形態において、コードマッピング関数203は、コード配分関数103の逆関数に対応してもよい。故に、コードマッピング関数203により実行されるマッピングは、線形ルミナンス値を生成するときに、lumaコードマッピング107の動作を反転させてもよい。
【0107】
他の実施形態において、コードマッピング関数203は、変更された又は追加のマッピングを有してもよい。例えば、HDRルミナンス値へのマッピングは、ローカル特性又は優先度に、例えば特定のディスプレイの白色ポイント又は例えば特定のユーザ優先度に、適合されてもよい。
【0108】
しかしながら、一般に、コードマッピング関数203は、送信側のコード配分関数/lumaコードマッピング107を考慮するために生成される。それ故、このアプローチは、HDR線形ルミナンス範囲が、LDRフォーマットに制限された通信チャネルを用いて通信され、その後、遠端においてHDR線形ルミナンス範囲に戻すようマッピングされ得る、LDRフォーマットに準拠した表現にマッピングされ得るシステムを可能にする。
【0109】
コードマッピング関数203は、2つの部分関数に基づいて生成され、以下のものは、第1の逆部分関数及び第2の逆部分関数と呼ばれるだろう。特定の例において、第1の逆部分関数は、
図1のトランスミッタの第1の部分関数の逆関数であり、第2の逆部分関数は、
図1のトランスミッタの第2の部分関数113の逆関数である。
【0110】
第2の逆部分関数は、従って、受信したlumaコードのluma値へのマッピングを与え、第1の逆部分関数は、luma値の線形ルミナンス値へのマッピングを与える。
【0111】
第1の逆部分関数及び第2の逆部分関数は、これらが逆関数であるので、第1の部分関数111及び第2の部分関数113に対応する特性を有することは言うまでもないだろう。
【0112】
詳細には、第1の逆部分関数は、入力luma値の最大luma範囲の、画素線形ルミナンス入力値の最大ルミナンス範囲への非線形可逆マッピングを規定する。
【0113】
従って、第2の逆部分関数は、入力lumaコードの最大luma範囲の、luma出力値の最大のluma範囲への非線形可逆マッピングを規定する。
【0114】
従って、本例において、レシーバは、レシーバにおいて用いられる部分関数を決定するように構成される部分関数生成部209を有する。詳細には、部分関数生成部209は、第1の逆部分関数及び第2の逆部分関数を決定してもよい。
【0115】
幾つかの実施形態において、第1の逆部分関数及び第2の逆部分関数は、例えば、逆部分関数を規定する例えばユーザ入力又はローカル情報に基づいて生成されてもよい。
【0116】
しかしながら、多くの実施形態において、第1の逆部分関数及び第2の逆部分関数は、画像データと一緒に受信される制御データに基づいて決定される。詳細には、
図1のトランスミッタは、第1の部分関数111及び第2の部分関数113を規定するデータを含んでもよい。データは、幾つかの実施形態において、2つの関数の識別を単純に規定してもよく、
図2のレシーバは、異なる関数が関連した識別と一緒に格納されるローカルストアを有してもよい。幾つかの実施形態において、受信したデータは、部分関数の1又はそれ以上のパラメータを更に有してもよい。例えば、ガンマ関数が識別されてもよく、ガンマ値は、ガンマ変換のためのパラメータとしての受信したデータストリームにおいて供給されてもよい。
【0117】
部分関数生成部209は、決定された部分関数に基づいてコードマッピング関数203を生成するように構成されるマッピング生成部211に結合される。マッピング生成部211は、例えば、第2の逆部分関数及び第1の逆部分関数の連続した適用としてコードマッピング関数203を直接生成してもよい。
【0118】
実際には、幾つかの実施形態において、コードマッピング関数203は、第2の逆部分関数及び第1の逆部分関数の連続した適用として生成されてもよい。実際には、受信した入力lumaコードは、第2の逆部分関数に供給されてもよく、第2の逆部分関数のluma出力値は、第1の逆部分関数に直接供給されてもよい。幾つかの実施形態において、生ずる線形ルミナンス値が直接用いられてもよく、実際には、この線形ルミナンスは、元のHDR画像に対応するだろう。
【0119】
図3は、追加のマッピングが実行され得るコードマッピング関数203の一例を示している。本例において、lumaコードは、luma出力値を生成するために非線形マッピングを適用する第2の逆部分関数301に供給される。luma出力値は、luma対lumaマッピングを実行し得る第3の関数303に供給される。このマッピングは、例えば、ローカル優先度に従う自動化された補正であってもよく、又は、luma値に適用される手動色等級づけであってもよい。そして、生ずるluma値は、これらのluma値を線形ルミナンス値にマッピングする第1の逆部分関数に供給される。
【0120】
第1の逆部分関数及び第2の逆部分関数を直接適用するよりはむしろ、これらのうち少なくとも1つの変更されたバージョンが用いられてもよいことは言うまでもないだろう。例えば、第1の逆部分関数は、ガンマ変換を有してもよく、第1の逆部分関数は、第1の部分関数111において適用されるものとは異なるガンマ値を用いるように構成されてもよい。しかしながら、斯様なアプローチは、第1の逆部分関数を最初に適用し、その後、生ずる値から、変更されたガンマ関数に対応する値にマッピングする第2の関数が続くのと同じである。換言すれば、例えば異なるガンマ値を適用する場合であっても、(例えば第1の部分関数111による)エンコーダにおけるマッピングの情報が依然として考慮され、それ故、コードマッピング関数203は、第1の逆部分関数及び第2の逆部分関数の双方に依然として依存する。
【0121】
幾つかの実施形態及びシナリオにおいて、コードマッピング関数203は、量子化部109のマッピングを表してもよいことは言うまでもないだろう。とりわけ、量子化部が(例えば浮動小数点から整数値までの)表現の変換を含む場合、その効果は、コードマッピング関数203により反転されてもよい。
【0122】
コードマッピング関数203及び/又は逆関数を決定するための異なるアプローチは、異なる実施形態において用いられてもよいことは言うまでもないだろう。
【0123】
例えば、先に述べた通りに、幾つかの実施形態において、受信したデータは、第1の逆部分関数及び第2の逆部分関数を直接識別してもよく、コードマッピング関数203は、(例えば他のマッピングに加えて)これらの関数を受信したデータに適用することにより決定されてもよい。
【0124】
幾つかの実施形態において、レシーバは、コード配分関数の少なくとも部分を最初に決定して、典型的にはコード配分関数の部分の反転を決定することにより、コードマッピング関数203を決定してもよい。
【0125】
例えば、幾つかの実施形態において、部分関数生成部209は、エンコーダにおいて使用される第1の部分関数111及び第2の部分関数113(又はこれらのうちの1つ)を最初に決定してもよい。そして、逆関数を、即ち、第1の部分関数111から第1の逆部分関数を、第2の部分関数113から第2の逆部分関数を、決定するよう進行してもよい。逆関数の決定は、幾つかの実施形態において、関数がエンコーダにより第1の部分関数111又は第2の部分関数113として用いられ得る考えられる関数の逆関数であるという予め決められた認識に基づいてもよい。他の実施形態において、第1の部分関数111の定義は、例えば、線形ルミナンス値と第1の部分関数111の対応する出力luma値とのルックアップテーブルを生成するために用いられてもよい。そして、このルックアップテーブルは、格納されたluma値を入力パラメータとして用いることにより逆関数として用いられてもよい。即ち、所与のluma値のために、ルックアップテーブルにおいて関連付けられた線形ルミナンス値が取り出されてもよい。もちろん、同じアプローチが、第2の部分関数113及び第2の逆部分関数に対して用いられてもよい。
【0126】
以下において、考えられる部分関数、コードマッピング関数及びコードマッピング関数203の仕様を含む、幾つかの特定の有利な実施形態が更に詳細に述べられるだろう。本例において、関数及びマッピングは、簡潔さ及び分かりやすさのために、曲線と呼ばれる。
【0127】
多くの実施形態において、コード配分関数は、対数関数的曲線を与えるために生成されてもよい。即ち、コード配分関数は、対数曲線に対応してもよい。本アプローチにおいて、これらの曲線は既存のツールにおいて容易に利用可能であり/実装されるので、対数曲線は、既存の対数曲線(即ち部分関数)の単純な連結により構成される。とりわけ、HDRに適した新たな対数曲線を構成する構成ブロックとしてsRGB、Rec709及びガンマ曲線を用いることが提案される。最も簡単な形態において、新たな曲線は、これらの構成ブロックのうちの2つだけを連結することにより取得されるが、これらのブロックのうちの3つを連結することにより、より小さな(あまり可視でない)量子化アーチファクトを有する曲線も取得されてもよい。
【0128】
"構成ブロックの"アプローチは、我々が、(1)多数の曲線を素早く構成及び評価すること、(2)例えば色等級づけツールにおいて既に利用可能である曲線の利点を利用すること、を可能にする。
【0129】
曲線をHDR信号に適用する基本的なブロック図が
図4に示されている(全ての図面は、本アプローチのより一般的な概念を説明するためだけの実施形態を説明していることに留意されたい)。
【0130】
図4において、下向きの矢印は、或る曲線により((典型的にはこのように行われるのを必要としない)ディスプレイ上にこの画像を直接レンダリングする場合に、輝度方向に一緒に近づく比較的暗くて中間の範囲のより代表的な画素を見る)ダイナミックレンジの低減を示し、上向きの矢印は、逆の曲線によるダイナミックレンジ展開を示す。Qは、量子化ステップを表す。即ち、我々は、これらに基づく信号及び全ての処理は、チェインにおける位置Qにおける浮動小数点(又は高い精度の整数、例えば12ビット又は16ビット)において規定されると想定する一方で、表現レベルの数は、例えば256又は1024まで低減され、従って、信号は、例えば8ビット量子化部インデックスにより表されてもよく、これは、制限されたビット深度/帯域幅のインタフェースを介して格納、送信及び/又はエンコードされてもよい。以下において、我々は、全ての信号及び曲線が、0...1の正規化された浮動小数範囲上で規定されることを想定するだろう。
【0131】
図4中の図は、ルミナンス成分に対応する、単一の信号経路のみを示すという点で、簡素化されている。詳細には、画素色値は、ルミナンス成分及び2つの彩度成分(例えばYuv表現))として与えられてもよい。
図4は、(
図1〜3と同様に)ルミナンス成分のための(即ちYのための)信号経路を示す。
【0132】
画素値が例えばRGB又はXYZ色表現のような色チャネルとして与えられる幾つかのシナリオにおいて、色チャネルの各々は、個々のモノクロ画像を提供するものとみなされ得る。斯様な考察において、各色チャネルの値は、関連付けられたモノクロ画像のルミナンス表現に対応するものとみなされ得る。故に、実際には、同じ対数曲線は、
図5に示すように、各色成分/チャネルに独立して適用され得る。
【0133】
本アプローチは、幾つかの容易に利用可能な曲線を、所望の特性を有する組み合わせられた曲線に組み合わせる。我々が要求する特別な特性は、詳細には、最も低い考えられる知覚的な歪みを有するHDR信号を量子化するための曲線の適合性である。我々は、(我々が量子化アーチファクトに対して敏感になるように確立した)幾つかの元の(量子化されていない浮動小数点)HDRテスト画像に適用し、HDR基準ディスプレイ上の(逆曲線を適用した後の)量子化された画像におけるアーチファクト(即ちオリジナルとの差分)を視覚的に評価することにより、この目的のための曲線の適合性を確立する。我々は、2又は3の曲線を構成ブロックとして組み合わせることが非常に適切に組み合わせられた曲線を与えることを見出した。
【0134】
3つの曲線を組み合わせる一般的な例、より詳細には、これらを連結する一般的な例(組み合わせられた曲線及び反転の組み合わせられた曲線を組み込むために3本の曲線を連結する例)が
図6に示されている。
【0135】
幾つかの実施形態において、量子化前の全ての曲線は、下向きの矢印により示されるように、ダイナミックレンジを低下させる方向に機能し得る(正規化された0...1範囲上で出力≧入力)。量子化後の全ての曲線は、上向きの矢印により示されるように、ダイナミックレンジを増大させるだろう(正規化された0...1範囲上で出力≦入力)。
【0136】
しかしながら、容易に利用可能な構成ブロック(その一つは可変ガンマ曲線であってもよく、少なくともガンマパワーは一部の基準状況で機能するように最適化される)が適用されてもよいので、また、及び、有利には、全体の組み合わせられた曲線が所望の下方又は上方への補正を維持する限り、反対方向に機能するように個々の構成ブロックを適用してもよい(即ち、第1の曲線があまりに急激に曲がる、即ち黒を強く引き伸ばし、その後、利用可能なコードにおいて高を離れたレベルになる場合、黒があまり引き伸ばされないように最終結果の曲線をあまり曲げない第2の補正ブロックを用いてもよく、これは、我々が例えば深い黒色に進まない映画を有する場合に有利になり得る)。これを示す一例が
図7に示される。ここで、曲線(c)は、曲線(a)及び(b)"に対して"機能する。即ち、他のものが圧縮された場合に局所的に引き伸ばし、その逆も同様である。
【0137】
我々は、5000cd/m
2のピーク輝度によりHDR基準ディスプレイ上に示されるHDR信号の量子化のために良好に機能するために実験的に決定された種々の組み合わせられた曲線をここで示すだろう(ここで、0..5000cd/m
2の範囲は曲線を適用するために0..1の範囲に正規化される)。我々の基準ディスプレイEOTFは、1.25のガンマであり、これは、我々が正確な暗いサラウンドレンダリングの意図を与えるために見出したものであり、従来の基準ディスプレイ(Cathode Ray Tube)を用いた従来のテレビチェインにおいて生じる値でもある(〔6〕セクション23.14,19.13及び11.9を参照)。EOTFは、(1.25に等しいガンマを有する)追加のガンマ曲線構成ブロックであるものとみなされ得る。これは、デコーダ/ディスプレイ側で(のみ)連結される。ほとんどの曲線は、広く実装されるが他の曲線が構成ブロックとして用いられてもよいので、sRGB、Rec709及びガンマ曲線構成ブロックを用いて作られた。曲線、従って構成ブロックは、線形のより高度なダイナミックな表現から"対数関数的な"/圧縮されたより低いダイナミックレンジ表現に変換するために、量子化の前に、これらがソース側で用いられるか、又は、"対数関数的"表現からより線形の表現に変換するためにシンク側で用いられるかに依存して、標準及び逆の形式において存在する。構成ブロックとして使用された曲線の正確な定義は、付録:building block curve definitionsにおいて与えられる。
【0138】
ガンマ及びsRGB構成ブロック(及びこれらの逆)から構成される第1の曲線が
図8に示される。2.1(約2.0..2.2の範囲)のまわりのガンマの値は、このチェインにおいて適切に機能する。第2の曲線部分を、基準(例えば標準的な状況)と比較される、補正前又は調整後のものとみなしてもよい。
【0139】
ガンマ及びRec.709構成ブロックから構成される第2の2つのブロック曲線が
図9に示される。
【0140】
最後に、我々は、PQがガンマ曲線構成ブロックを追加することにより改良され得ることを実験的に見出した。ここで、PQは、〔7〕の式(7)により与えられる。
【0141】
PQ関数は、
【数1】
として規定される。
【0142】
この式において、Yは、割り当てられた結果として生じるlumaコードであり、Vは、(例えば、最適な映画の観察のためにカメラで取得された又は等級分けされた)入力の、0<=V<=1の範囲内の浮動小数点としてスケールされたルミナンスであり、Lは、10000nit、m=78.8438、n=0.1593、c1=0.8359、c2=18.8516、c3=18.6875であるように利用された定数であり、
【数2】
は、べき関数である。
【0143】
この曲線は、事前の想定によって規定された。10000nitより高い(又は、少なくとも10000nitより上ではレンダリングしない)シーンルミナンスをエンコードすることはない。その範囲内において(ソフト)クリッピングにより太陽のようにより明るいオブジェクトを常に処理することができるためである。
【0144】
我々は、これからの例示的な実施形態として、基準範囲を規定してもよく、これは、最大5000nitに常に規定される(そして、より明るいディスプレイは、これのエンコードされた値を例えば7000nitのこれらのピーク輝度に(すばやく)ブーストするだろう)。技術を要する読者は、我々は5000nitの白色基準レベルを有する実施形態を教示するが、例えば符号化可能な規格である15000nit基準ルミナンス範囲の要求を満たすコーデックに我々の教示を同様に適用することができることをもちろん理解する。
【0145】
PQは、0...10000cd/m
2の範囲上に規定されたが、我々は、我々の実験において例えば0の..5000cd/m
2の部分だけを用いる(及び、0の..1への制限された範囲のための入出力範囲を正規化した)。
【0146】
これを行うために、線形からLogへの変換において、我々は、10000で0..1の入力範囲を乗算し(そして、0の..5000の入力範囲のみを用いる)、その後、doPQ()関数の出力をdoPQ(5000)により除算することにより、再び、出力を0..1の範囲に正規化する。Logから線形への変換において、我々は、最初にdoPQ(5000)により乗算することにより入力範囲を適宜スケールし、その後、出力範囲を0..1に正規化するためにdoPQinv()の出力を5000により除算する必要がある。
【数3】
【数4】
【0147】
図10に示すように、我々が見出した最良に実行するガンマ値は、約1.25である。
図10におけるPQ構成ブロックは、上で述べられるように、0..5000上にcd/m
2の範囲で動作する曲線である。
【0148】
前に示された曲線は2つの構成ブロックの組み合わせであった一方で、我々は、3つの構成ブロックの組み合わせを用いて、概ね良好な曲線、即ちより小さな知覚可能な量子化アーチファクトを有する曲線を見出した。例えば、
図11は、2つのsRGB構成ブロック及びガンマブロックから構成される曲線を示す。
図12は、2つのRec.709構成ブロック及びガンマブロックを用いた同様の設計を示している。
【0149】
示された曲線の迅速な概観及び比較を与えるために、これらは、
図13において一緒にプロットされた。横軸は、0..1の範囲に正規化された、対数関数的/LDR領域を表す。縦軸は、0..1の範囲に正規化された、線形/HDR領域を表す。ここで、1の値は、この場合において5000cd/m
2のピーク輝度に対応する。より小さな線形値のより明瞭な可視性に関して、値のlog2()は、実際の値の代わりにプロットされる。
【0150】
適切な曲線の他の例は、
図14−16に示される。本例において、マッピングは、コードマッピング関数を参照して示される。即ち、lumaコードの線形ルミナンス値へのマッピングが示される。
【0151】
これらの例は、
【数5】
として与えられるLC(a)と呼ばれる部分関数に基づく。ここで、xは、0..1の範囲に正規化された出力値であり、vは、0..1の範囲に正規化された、入力値である。値b、c及びdは、所望のマッピングを与えるために選択され得る設計パラメータである。
【0152】
我々は、2つの部分曲線定義が色等級づけにおいて、とりわけ既存のLDR哲学の等級分けツールをHDRフレームワークに適合させることにおいて、どのように極めて有用に用いられ得るかを述べるだろう。このフレームワークにおいて、我々は、LDRの標準的なソフトウェアをHDRモニタに結合し、HDRワークフローに変換するためにここで恭二された数学的処理を用いる。我々は、例えばAdobe After Effects[8]を用いることができる(同様の実装は、もちろん、Da Vinci 等からのような異なる色等級づけを用いて行われ得る)。
【0153】
(
図8に示された構造までの同様の)曲線の適用のブロック図が
図17に示されている。ここで特別なことは、電子光学的伝達関数曲線を割り当てる完全なコードを、色等級分けツールにおいて用いられる前後のデータに適用する代わりに、我々は、色等級分けの道筋においてEOTF定義の第1の部分のみ(即ちガンマ構成ブロックのみ)を適用することである。これは、統計的に変えられた最適な前処理済みの画像をもたらし、これは、しかしながら、HDR統計を等級分けツールの内部特性(とりわけ、例えば全体的又は局所的に関わらず画像における異なるオブジェクトの明るさを変えるためのluma曲線曲げツールのようなツールのluma範囲)に最適にマッピングする。
【0154】
その理由は、色等級分けツールの一部は、データを、これらの処理のための(例えば2.2に近いガンマを想定する)線形領域に内部的に変換することであり、従って、ツールは、線形光空間において例えば良好な彩度処理を行うことができる。HDR対数曲線全体の部分だけを入力された画像/ビデオデータに適用することにより、これらのツールは、実質的に正しく機能し続けるだろう。
【0155】
リアルタイムプレビューパス、即ち、標準コネクタ(例えばHDMI等)を介してHDRディスプレイに進むパスにおいて(注記、関連するHDRディスプレイの更なる所有者の駆動があってもよく、これは、伝達コード又は駆動コード等に変換するためにビデオ画素データ上に更なるマッピングを行うが、我々は、ここでは、一般的なHDRエンコーディング(例えば、HDR色等級分けされたビデオコードがどのようにBDディスク上へ書き込まれ得たか)にフォーカスする)、我々は、もちろん、インタフェースを介して量子化アーチファクトを制限するために完全な曲線を用いなければならない。従って、等級分け出力の後、我々は、追加のsRGB構成ブロックを追加する。長期的には、HDR色等級分けが適切に確立されてログ曲線が規格化されたときに、これらの規格化された曲線は、もちろん、色等級分けツールにおいても実装されるだろう。従って、曲線の特別な崩壊はもはや必要とされないだろう。
【0156】
従って、標準の/"理論的な"HDRワークフローは、(我々が1つのEOTF部分の模式的な近似値として平方根sqrtを利用する場合)以下のようになるだろう。
[linearize sqrt(sqrt)_encoded "LDR-ed" HDR]又は線形から開始、カメラで取得されたマスターHDR→線形光エンコーディングにおけるマスター色等級分け→HDRストレージのためのsqrt(sqrt)エンコード又は標準機能のケーブル接続を介した伝送、又は無線(即ち、十分な量子化は、この方法により暗い部分を可能にした、及び、細かい等級分け失われないだろう)→ディスプレイは、前と同じように、元のカメラで取り込まれたシーン/等級分けされた光を略線形的にレンダリングするために、累乗
【数6】
を行う。
【0157】
ここで、我々は、HDR等級分けに関して、以下のようにそれを分けた。必要とされる追加のガンマは、事前補償として参照され、我々は、LDR線形化される(が、実際のHDR線形光及び格納又は伝送のためのコードと比較して統計学的に変えられる)画像を我々が等級分けを始める前の等級分けセットにロードする。その利点は、(既存の等級分けツール及びこれらの精度による)我々の等級分けを介して非常に良好な制御を有することである。これは、この疑似画像において、暗い領域は、等級分け部が処理することがほとんどできない幾つかの暗いコードに一緒に束ねられないが(例えば黒い部分においてルミナンスが変化する曲線を少し曲げようとする場合、lumasは既に大きく変化する)、全体の利用可能な範囲に渡る重大な部分に広がるためであり、従って、我々は、これらを正確に等級分けすることができる。後で、すべては反対に補正され、従って、これらの暗いものは、表示されるときに、ルミナンス位置をレンダリングするこれらの必要とされる線形光で終わる。
【0158】
入力としての線形マスターHDR→第1のsqrt_preproces→この最適化された"疑似ピクチャ"に対する等級分け→ストレージ又はケーブル伝送のための第2のsqrtを行う→ディスプレイは復元する累乗
【数7】
を再び行う。
【0159】
ビデオ信号として送信又は格納されるものは、例えば以下の手段において規定される用いられたコード配分を有してもよい。2つのガンマ関数濃青色(しかし、典型的には基準/標準関数は、1=sRGB、2=709等のようなタイプインジケータのみを割り当てられ、我々は、差分/第2のブロックガンマ関数のみ、即ち典型的には少なくともガンマ累乗及びおそらくオフセット及びゲインをエンコードする)。(全ての部分ブロックの連続的適用である)全体のコード配分関数をエンコードし得る(例えば、関数、LUT又は結果として生じるガンマを伴う近似最終的なガンマ関数として[暗いオフセットのため必ずしも2つのガンマの製品を必要としない]、及び、主として我々の提案したデュアルブロック曲線に続くオフセット及びゲイン)。
【0160】
本アプローチは、例えば以下のものに適用され得る良好なHDRコード配分曲線を生成するツールとして適用され得る。
1.(前に詳細に述べられるような)色等級分け
2.異なるダイナミックレンジ間の信号の色調マッピング(対数関数的データのダイナミックレンジは、直接的なレンダリングのために適用する場合、線形データのものより低い。極めて暗いコードを有する画素がほとんどないため。最も関連した詳細はより低いピーク輝度を有するディスプレイ上で視覚化され得る)、例えば自動又は半自動式の色調マッピング
3.効率的なHDR格納/伝送(現在のビデオコーデックは、画像/ビデオデータサンプル当たり8、10又は12ビットを用いた整数データ表現で機能する。構成された曲線は、視覚的な質の最小限の損失を伴う斯様な整数フォーマットにおいてHDRデータをエンコードするために適用され得る)
【0161】
当業者は、我々が教示するものの組み合わせが存在し得ること、及び、我々が1つの段落において述べたものが他の実施形態にも関連することを理解する。単なる例のいずれも限定的であると思われないし、明確に意図されない場合の特定の用語も限定的であると思われない。全ての方法機能は、装置構成と同様に実現され、逆もまた同じである。
【0162】
付録:構成ブロック曲線の定義
この付録は、ANSI Cコード実装を与えることにより個々の構成ブロックを詳細に述べる。全ての入力及び出力は、正規化された0..1の範囲を想定する。
【0163】
sRGB構成ブロックは、sRGB仕様(IEC 61966−2−1:1999)から導出される。↓sRGB曲線は表1において規定され、逆↑RGB曲線は表2において規定される。
【0164】
Rec.709構成ブロックは、Rec.ITU−R BT.709−5から導出される。↓Rec.709曲線は表3において規定され、↑Rec.709曲線は表4において規定される。
【0165】
(パラメータγを有する)ガンマ構成ブロックは単純な累乗関数である。下向きに関してγ<1を有し、上向きに関してγ>1を有する。それ故、↓γ及び↑γ構成ブロックは、表5において規定される。
表1:↓sRGB曲線の定義
【表1】
表2:↑sRGB曲線の定義
【表2】
表3:↓Rec.709曲線の定義
【表3】
表4:↑Rec.709曲線の定義
【表4】
表5:ガンマ曲線の定義
【表5】
【0166】
リファレンス
[1]"Color grading," Wikipedia, the free encyclopedia, [オンライン].入手可能: http://en.wikipedia.org/wiki/Color_grading.[アクセス 07 08 2012].
[2]"Post-production," Wikipedia, the free encyclopedia, [オンライン]. 入手可能: http://en.wikipedia.org/wiki/Post_production.[アクセス 26 06 2013].
[3]"High-dynamic-range imaging," Wikipedia, the free encyclopedia, [オンライン].入手可能: http://en.wikipedia.org/wiki/High-dynamic-range_imaging. [アクセス 27 06 2013].
[4]"sRGB," Wikipedia, the free encyclopedia, [オンライン]. 入手可能: http://en.wikipedia.org/wiki/SRGB. [アクセス 10 08 2012].
[5]"Rec.709," Wikipedia, the free encyclopedia, [オンライン]. 入手可能: http://en.wikipedia.org/wiki/Rec._709. [アクセス10 08 2012].
[6]R. Hunt, The Reproduction of Colour, Sixth ed., Wiley, 2006.
[7]S. Miller, M. Nezamabadi及びS. Daly, "Perceptual Signal Coding for More Efficient Usage of Bit Codes," SMPTE Annual Technical Conference & Exhibition, Hollywood, CA, 2012.
[8]"Adobe After Effects," Wikipedia, the free encyclopedia, [オンライン]. 入手可能: http://en.wikipedia.org/wiki/Adobe_After_Effects. [アクセス 28 06 2013].