(58)【調査した分野】(Int.Cl.,DB名)
前記画像ファイル中の前記ベース画像がJPEG画像を含み、前記HDR再構成画像が、少なくとも一つのJPEGセグメント・マーカーを使って前記ベース画像によって分離である、請求項1記載の方法。
【発明を実施するための形態】
【0008】
画像処理技法に関係する例示的な可能な実施形態が本稿に記述される。以下の記述では、説明の目的で、本発明の十全な理解を与えるよう数多くの個別的詳細が記述される。しかしながら、本発明がそうした個別的詳細なしでも実施されうることは明白であろう。他方、よく知られた構造および装置は、本発明を無用に隠蔽し、埋没させ、あるいは曖昧にするのを避けるために、網羅的な詳細さでは記述されない。
【0009】
例示的な実施形態は次の概要に従って本稿で記述される。
1.概観
2.HDR画像エンコーダ
3.ホワイトバランス補正
4.HDR画像デコーダ
5.例示的なプロセス・フロー
6.実装機構――ハードウェアの概観
7.等価物、拡張、代替その他。
【0010】
1.概観
この概観は、本発明の可能な実施形態のいくつかの側面の基本的な記述を呈示する。この概観は、可能な実施形態の諸側面の包括的または網羅的な要約ではないことを注意しておくべきである。さらに、この概観は、可能な実施形態の特に重要な諸側面または諸要素を特定するものとも、個別的には該可能な実施形態の、一般には本発明のいかなる範囲を確定するものとも理解されることは意図されていないことを注意しておくべきである。この概観は、単に例示的な可能な実施形態に関係するいくつかの概念を凝縮され簡略化された形式で呈示するものであり、単に、後述する例示的な可能な諸実施形態のより詳細な記述に対する概念的な序章として理解されるべきである。
【0011】
幅広い多様な画像レンダリング装置上で画像を表示するために、トーンマッピング処理器(TMO: tone mapping operator)は入力HDR画像を処理してトーンマッピングされた(TM)ベース画像にする。TMベース画像は、入力画像に対して色改変(たとえば色相変化、色クリッピング、芸術的な見かけ)を有することがある。いくつかの技法のもとでは、TMベース画像は、入力HDR画像と等価なHDR画像を再構成するためにルミナンス比と一緒に下流の画像デコーダに与えられる。しかしながら、下流の画像デコーダは、TMベース画像およびグレースケールのルミナンス比に依拠して、再構成されたHDR画像における色改変を除去することはできないであろう。結果として、色改変は再構成されたHDR画像において知覚可能なままとなる。
【0012】
対照的に、本稿に記載される技法のもとでのHDR画像エンコーダは、ルミナンス比を生成するだけでなく、入力HDR画像とTMベース画像に基づく色残差値をも生成する。ルミナンス比および色残差値はまとめてHDR再構成データと表されてもよい。任意的および/または追加的に、ルミナンス比は、比較的幅広い範囲のルミナンス値をサポートするために対数領域に変換される。任意的および/または追加的に、結果として得られる対数ルミナンス比および色残差値は量子化される。任意的および/または追加的に、量子化された対数比および色残差値は残差画像に格納される。量子化された対数比および色残差値、あるいはいくつかの実施形態では残差画像は、TMベース画像とともに下流の画像デコーダに提供される。任意的および/または追加的に、量子化された対数比および色残差値に関係したパラメータ(たとえば範囲限界など)もTMベース画像とともに提供される。
【0013】
本稿でのTMOは、低い(黒い)または高い(白い)ルミナンス・レベルをもつ個々のピクセルについて色チャネルにおける色クリッピングを自由に実行しうる。また、本稿に記載されるTMOは、各ピクセルにおける色相を維持することは要求されない。本稿に記載される技法のもとでは、ユーザーは、画像内容(たとえば人物、屋内画像、屋外シーン、夜景、夕日など)または応用(たとえば映画、ポスター、結婚式の写真、雑誌などでの使用)に基づくTMOを自由に選択する。色クリッピングまたは修正は、画像の芸術的な見かけを生成するために意図的かつ自由に使用される。本稿のHDR画像エンコーダおよびデコーダは、種々の型の編集ソフトウェアおよびカメラ・メーカーによって実装されるTMOをサポートし、そうしたTMOは幅広い範囲の可能な色改変を導入しうる。本稿に記載される技法のもとでは、HDRエンコーダはHDRデコーダに色残差値を提供する。HDRデコーダのほうは、その色残差値を利用して、再構成されたHDR画像に色改変が存在することを防ぐ(または最小限にする)。
【0014】
本稿に記載される技法のもとでは、ビットストリームおよび/または画像ファイルが、TMベース画像およびその対応するHDR再構成データを格納し、下流の画像ビューワーまたはデコーダにデコードおよび/またはレンダリングのために提供するために使用されてもよい。本稿に記載される技法のもとのある画像フォーマットは、種々の型の編集ソフトウェアおよびカメラ・メーカーによって実装されるTMOをサポートする。本稿に記載される画像フォーマットの例は、これに限られないが、標準的なJPEG画像フォーマット(たとえばJPEG-HDRを含む)などを含んでいてもよい。ある例示的な実施形態では、TMベース画像をルミナンス比および色残差値とともに格納するのをサポートするために、JPEG-HDRフォーマットが使われる。追加的および/または任意的に、画像ファイルに格納されるTMベース画像および残差画像の一方または両方が圧縮される。本稿に記載される圧縮は、JPEG標準または異なる方法を使って実行されてもよい。
【0015】
本稿に記載される技法のもとでのHDR画像処理をサポートしない画像デコーダまたはビューワーは、単に画像ファイル中のTMベース画像を開く。他方、本稿に記載される技法のもとでのHDR画像デコーダは、画像ファイルを、読む/パースしてTMベース画像およびその対応するルミナンス比および色残差値にし、HDR画像を復元/再構成するよう構成される。本稿に記載される再構成されたHDR画像には、もとの入力HDR画像になかったがTMOによってTMベース画像中に導入された色改変がない。
【0016】
いくつかの可能な実施形態では、本稿に記載される機構は画像エンコーダの一部をなす。画像エンコーダは、これに限られないが、ハンドヘルド装置、ゲーム機、劇場システム、家庭娯楽システム、テレビジョン、ラップトップ・コンピュータ、ネットブック・コンピュータ、セルラー無線電話、電子書籍リーダー、ポイントオブセール端末、デスクトップ・コンピュータ、コンピュータ・ワークステーション、コンピュータ・キオスクおよびさまざまな他の種類の端末および処理ユニットを含む。
【0017】
本稿に記載される好ましい実施形態および一般原理および特徴へのさまざまな修正が当業者にはすぐ明白になるであろう。よって、本開示は示される実施形態に限定されることは意図されておらず、本稿に記載される原理および特徴と整合する最も広い範囲を与えられるべきものである。
【0018】
2.HDR画像エンコーダ
図1は、本発明のいくつかの可能な実施形態に基づく例示的なHDR画像エンコーダを示している。いくつかの可能な実施形態では、HDR画像エンコーダは、一つまたは複数のコンピューティング装置によって実装され、入力HDR画像を、標準に基づくまたは独自の画像フォーマットにおけるTM画像およびHDR再構成データにエンコードするための画像処理技法を実装するソフトウェアおよび/またはハードウェア・コンポーネントをもって構成されている。
【0019】
HDR画像エンコーダは、入力HDR画像を受領するよう構成されたソフトウェアおよび/またはハードウェア・コンポーネントを有する。本稿での用法では、「入力HDR画像」は、浮動小数点または固定小数点のダイナミックレンジ画像データを有していてもよい任意のHDR画像を指す。入力HDR画像は、高ダイナミックレンジ色範囲をサポートする任意の色空間であってもよい。ある例示的な実施形態では、入力HDR画像はRGB色空間中のRGB画像である(たとえば
図1に示されている入力HDR RGB 102)。一例では、入力HDR画像中の各ピクセルは、色空間において定義されているすべてのチャネル(たとえばRGB色空間における赤、緑および青の色チャネル)について浮動小数点ピクセル値を有する。別の例では、入力HDR画像中の各ピクセルは、色空間において定義されているすべてのチャネルについて固定小数点ピクセル値を有する(たとえばRGB色空間における赤、緑および青の色チャネルについての16ビットまたはより多数/少数のビットの固定小数点ピクセル値)。各ピクセルは、任意的および/または追加的に、色空間中のチャネルの一つまたは複数についてのダウンサンプリングされたピクセル値を有していてもよい。
【0020】
ある例示的な実施形態では、HDR画像エンコーダは、いくつかの前処理段階を実行するよう構成されたソフトウェアおよび/またはハードウェア・コンポーネントを有する。任意的および/または追加的に、前処理段階は、これに限られないが、入力HDR画像等に対するゼロ個以上の健常性チェック(sanity check)を含む。たとえば、入力HDR画像は、たとえば上流の段階によってまたはエンコードもしくは伝送中に導入されたローカルなデータ破損によって導入された、負のルミナンス値を含意するピクセル値を含んでいてもいなくてもよい。基礎になるルミナンス値が負になり、それによりその後のトーンマッピング処理において問題を引き起こすのを防ぐため、入力HDR画像中の基礎になるルミナンス値が健常性チェック(負ルミナンス検査(Negative Lum Check)104)で検査される。ピクセルの基礎になるルミナンス値が正でなければ、そのピクセルのすべての色チャネルについてのピクセル値がゼロに設定されてもよい。
【0021】
ルミナンス値が色空間中のあるピクセルについて直接与えられない可能な実施形態では、そのピクセルについてのルミナンス値が(間接的に)色空間中のピクセルのピクセル値から導出されてもよい。ある例示的な実施形態では、ピクセルについてのRGB色空間におけるピクセル値R、GおよびBは、そのピクセルについてのルミナンス値Yを次のように計算するために使用されてもよい。
【0022】
【数1】
前処理されていてもいなくてもよい入力HDR画像がトーンマッピング処理器(TMO 106)に与えられる前に、入力HDR画像はホワイトバランス処理器(105)を通される。下記でより詳細に論じるように、HDR画像中でのホワイトバランスの補正および/または調整は、HDRエンコードの一部として、またトーンマッピング処理に先立って、望ましいことがある。
【0023】
ある例示的な実施形態では、TMO 106は、入力HDR画像(これは前処理されていてもよい)に基づいて、幅広い多様な表示装置上でレンダリングされうるトーンマッピングされた(TM)画像を生成するよう構成されたソフトウェアおよび/またはハードウェア・コンポーネントを有する。本稿に記載される技法のもとでは、TMO 106は、HDR画像エンコーダにおいてブラックボックスとして扱われる。TMO 106または入力HDR画像を操作するためにTMO 106を用いるユーザーは、TMO 106からの出力TM画像の一部または全部の部分における色相またはクロマ属性に影響する一つまたは複数の色改変を自由に導入しうる。本稿に記載される技法のもとでは、TMO 106またはユーザーによって自由になされた色改変をもつTM画像が、下流の装置に対してベース画像として、HDR画像を再現/レンダリングするために使用されうる本稿に記載される技法のもとで生成されるHDR再構成データとともに、与えられてもよい。HDR再構成データは、TMO 106によってなされる色改変のないHDR画像を再現するために受け手の下流の装置に十分な情報を提供する。
【0024】
任意的および/または追加的に、HDR画像エンコーダは、TMO 106の出力、TM画像(R'G'B' 108)に対して黒修正を実行するよう構成されたソフトウェアおよび/またはハードウェア・コンポーネント(黒修正110)を有する。HDR画像エンコーダまたはその中の黒修正110は、TM画像(R'G'B' 108)中のゼロのピクセル値を位置特定する。一例では、ある色チャネルについてのピクセル値がゼロであれば、そのピクセル値は、1,2,10のような小さな値または他のより大きなもしくはより小さな値を与えられる。別の例では、あるピクセルについてのルミナンス値がゼロであれば、一つまたは複数の色チャネルについてのピクセル値は、1,2,10のような小さな値または他のより大きなもしくはより小さな値を与えられる。小さなピクセル値(たとえば10未満)は知覚的に目に見える差を生じないことがある。
【0025】
TM画像(R'G'B' 108)は8ビットのガンマ補正された画像であってもなくてもよい。単に例解のために、TMO 106によって出力されるトーンマッピングされた画像(R'G'B' 108)は、TMO 106内でガンマ補正されている。任意的および/または追加的に、HDR画像エンコーダは、TMO 106の出力パラメータまたは戻り値がTMO 106内でガンマ補正が実行されていることを示す場合、トーンマッピングされた画像(R'G'B' 108)を線形領域の中間のトーンマッピングされた画像(RGB
t)に変換するよう構成されたソフトウェアおよび/またはハードウェア・コンポーネント(逆ガンマ112)を有する。ガンマ補正および/またはガンマ変換のために使われるガンマ曲線は、sRGBまたはアドビRGBのような標準的な色空間に関係していてもよく、該標準的な色空間は、一つまたは複数の出力パラメータまたは戻り値を使ってTMO 106によって示されてもよい。ある例示的な実施形態では、RGB
tは、本稿に記載されるルミナンス比および残差値をさらに導出するために使われてもよい。
【0026】
ある例示的な実施形態では、入力HDR画像(RGB
h)におけるルミナンス値(Y
h)およびRGB
tにおけるルミナンス値(Y
t)が計算されてもよい。いくつかの可能な実施形態では、Y
hと、Y
tと、Y
hとY
tのルミナンス比とが、次のように、個々のピクセルごとに計算されてもよい。
【0027】
【数2】
ここで、Y
hはそれぞれ入力HDR画像中の異なるピクセルに対応する複数のルミナンス値を含み、Y
tはそれぞれトーンマッピングされた画像中の異なるピクセルに対応する複数のルミナンス値を含み、rはそれぞれY
h内のルミナンス値とY
t内の対応するルミナンス値との比として定義される複数のルミナンス比を含む。いくつかの実施形態では、Y
h、Y
tおよびrは、同じ次元の行列で表現されてもよい。本稿に記載される行列中での、行指数および列指数によって示される位置が、画像(たとえば入力HDR画像、トーンマッピングされた画像またはrによって形成されるルミナンス比画像)中のピクセルを示しうる。Y
hおよびY
tからのルミナンス値およびrからのルミナンス比は、それらの位置が行列中の同じ行指数および同じ列指数を共有するならば互いに対応している。ある代替的な実施形態では、Y
hおよびY
tに基づいてrを計算するための
図1に示される除算演算(Div 116)は、対数領域における引き算として実行される。
【0028】
本稿に記載される技法のもとでは、ルミナンス比rは、TMO 106またはユーザーによって実行されるいろ改変処理の帰結を含むトーンマッピングされた画像(RGB
t)を使って計算される。式(2)で計算されるルミナンス比は、トーンマッピングされた画像を乗算するとき、ルミナンス値が入力HDR画像のルミナンス値に一致する画像を生成する。
【0029】
色バランスがTMO 106によって維持され、トーンマッピングされた画像に関してTMO 106またはユーザーによって実行される色クリッピングがない場合、トーンマッピングされた画像のルミナンス比rとの乗算によって生成される複合画像は、色が入力HDR画像色に一致する。
【0030】
他方、トーンマッピングされた画像が色改変/歪みを含む場合、たとえば入力HDR画像中の色バランスがトーンマッピングされた画像中ではTMO 106によって変えられているとき、あるいはホワイトバランス105またはTMO 106において色クリッピングが生起する場合は、トーンマッピングされた画像のルミナンス比rとの乗算によって生成される複合画像は色が入力HDR画像色に一致しない。本稿に記載される技法のもとでは、ルミナンス・チャネル以外の色チャネルの差が、複合画像と入力HDR画像との間で計算され、HDR再構成データに含まれる残差値を生成する。本稿に記載される技法のもとで生成されるHDR再構成データは、ホワイトバランス105またはTMO 106においてまたはユーザーによって実行される処理において失われてしまった追加的な色情報を提供する。HDR画像デコーダまたはHDRレンダリング装置のような下流の装置が色改変/歪みをもつTM画像およびHDR再構成データを受け取るとき、TM画像の色改変/歪みは、HDR再構成データを用いて補償される。
【0031】
本稿での用法では、クリッピングは、結果として得られるピクセル値が表現されるレンジ内となるよう、色チャネルにおける境界外ピクセル値を改変/修正する色交替の型を指す。クリッピングは任意の色チャネルに起こりうる(たとえば、HDR画像のある部分におけるRGB色空間におけるR、G、Bピクセル値がTM画像においてクリッピングされうる)。クリッピングの量は色チャネルによって変わっても変わらなくてもよい(たとえば緑についてはより多くのクリッピング、青についてはより少ないクリッピングなど)。
【0032】
ルミナンス比rを使って、入力HDR画像は再マッピングされて、中間的な再マッピングされた画像(RGB
ht)を生成してもよい。その色バランスは変更されない。RGB
htは、除算演算(Div 118)で次のように計算されてもよい。
【0033】
【数3】
上記で説明したように、色バランスがTMO 106によって維持され、色クリッピングがない場合、再マッピングされた画像(RGB
ht)は、トーンマッピングされた画像(RGB
t)と同じになる。そうでない場合、これら二つの画像には差がある。二つの画像の差は、トーンマッピング画像空間(たとえば、あらゆる可能なトーンマッピングされた画像を含む空間)における残差値である。ある例示的な実施形態では、残差値(RGB
e)は、線形領域で減算(Sub 132)を用いて次のように計算される:
【数4】
残差値(RGB
e)は(
図1に示されるCSC 134ブロックによって)YCbCr色空間に変換されてもよい。本稿の技法のもとでは、トーンマッピングされた画像(RGB
t)および再マッピングされた画像(RGB
ht)は同じルミナンス値をもつ。これら二つの画像の間のルミナンス残差値はみなゼロである。YCbCr色空間における残差値(RGB
e)は、保存される必要があるクロマ情報(Diff CbCr 154)のみを含む。RGB
eからDiff CbCrへの変換は、次のように与えられてもよい。
【0034】
【数5】
ここで、M
CSCおよびその逆M
CSC-1は次のように定義される3×3行列であってもよい。
【0035】
【数6】
本稿に記載される技法のもとでは、入力HDR画像およびトーンマッピングされた画像中のルミナンス値を計算するために使われる変換係数は、式(5)および式(6)におけるM
CSCの変換係数と厳密に同じである。これらの技法のもとで、RGB
eにおけるルミナンス残差値(Y
e)は、次のように、みなゼロである。
【0036】
【数7】
式(2)において計算された、線形領域におけるルミナンス比は、広いレンジをもつ。それらの比は入力画像のHDR情報を担持するからである。ある例示的な実施形態では、効率的な量子化のために、下記の式(8)に示されるように、ルミナンス比rがまず対数領域に変換される(たとえば
図1の対数ブロック130によって)。対数領域における最大および最小のルミナンス比の値が、上限および下限それぞれlr
maxおよびlr
minをもつ対数レンジを決定するために使われてもよい(たとえば
図1のMin Maxブロックによって)。次いで、対数ルミナンス比が(たとえば一様にまたはある特定の曲線に従って)対数レンジに基づく8ビット値LogY
t(または式(8)におけるH)に量子化されてもよい(たとえば
図1のQuant 8b 136ブロックによって)。一例では、自然対数が対数領域に関して使われる。他の例では、自然対数の底以外の他の底をもつ対数が対数領域に関して使われる。
【0037】
【数8】
例示的なYCbCr色空間では、Diff CbCrにおけるCbおよびCr残差値(式(9)および(10)においてUおよびVと表される)は、同様の仕方で、それぞれ8ビット値(CbCr 158)に量子化されてもよい。
【0038】
【数9】
ある例示的な実施形態では、量子化後、HDR再構成データは、三組の二次元データH、UおよびVを有する(
図1におけるLogY
tおよびCbCr 158)。HDR再構成データ中のこれらの組のデータは、(例示的なYUV色空間のルミナンス・チャネルにおける)ルミナンス比値および(例示的なYUV色空間のクロマ差チャネルにおける)残差値を含む単一のYCbCrコンテナ144(たとえばYUV画像)内に、あたかも(たとえばYUV)画像をなすかのように保存/記憶されてもよい。終わりには、二つの画像が得られてもよい。一つはRGB色空間でのトーンマッピングされた画像であり、他方はYUV色空間でのHUV画像である。トーンマッピングされた画像は、黒修正(黒修正110)後および/または任意的な脱飽和(たとえば150)を用いた、TMO 106の出力(R'G'B' 108)であってもよい。トーンマッピングされた画像およびHUV画像はいずれも、8ビット・データを有していてもよく、たとえばJPEG標準の圧縮方法を使って圧縮されてもよい。HDR再構成データは、アプリケーション・セグメント(APP SEG 146)において、トーンマッピングされた画像とともに、単一の画像ファイルにおいて出力されてもよい。単一の画像ファイルは、標準に基づくまたは独自の画像ファイル・フォーマット(たとえばJPEG-HDR)であってもよい。アプリケーション・セグメントは、(たとえばJPEG規格で定義されるような)画像ファイル・フォーマットでのマーカー・フィールド(たとえばAPP11マーカー)であってもよい。一例では、TM画像は、JPEG圧縮後にベース画像(RGB TM Base 148)をなし、HUV画像は、出力HDR(たとえば156)画像ファイル中のAPP11マーカーのようなアプリケーション・セグメント(APP SEG 146)においてTMベース画像に添付される。
【0039】
本稿に記載される技法は、浮動小数点および固定小数点HDR画像(たとえば16ビット線形画像、14ビットのガンマ補正された画像など)の両方を処理するために使用されうる。
【0040】
ある例示的な実施形態では、TMベース画像およびHUV画像は、米国カリフォルニア州サンフランシスコのドルビー・ラボラトリーズから市販されているJPEG-HDR技法のもとで、標準的なJPEGフォーマットにおいて記憶される。TMベース画像はエントロピー符号化されたデータ・セグメント中に格納される。パラメータおよび補助データをもつHUV画像は、JPEG-HDRのもとでのAPP11アプリケーション・セグメントのようなアプリケーション・セグメント中に、適切なIDストリング(たとえば「DD」)とともに格納される。
【0041】
HUVにおける量子化値の範囲の最小および最大値はI型セグメントにおいて記憶されてもよい。これらの最小および最大値は、対数領域における最大および最小ルミナンス比値、Cb残差値についての最大および最小値ならびにCr残差値についての最大および最小値を含む。任意的および/または追加的に、ベース画像色空間(たとえばsRGB、アドビRGB)および残差モード(たとえばルミナンス比のみ)を指定する他の情報がI型セグメントに含められる。残差モードがルミナンス比のみである場合、CbおよびCrに関係するパラメータおよびデータはのちのデコードでは無視されてもよい。
【0042】
ある例示的な実施形態では、HUV画像のデータ・サイズがある大きさ、たとえば64kバイトを超える場合には、HUV画像はII型セグメントに格納され、複数のII型セグメントに分割されて、それらのセグメントのヘッダにインデックス情報があってもよい。
【0043】
3.ホワイトバランス補正
しばしば、ユーザーはデジタル・カメラで画像を取り込み、取り込まれた画像から導出されるHDR画像をレンダリングすることが望まれる。画像を取り込むカメラのカメラRAWフォーマットがわかっていたとすると、高いクロマ忠実度でHDR画像を生成することが可能であることがありうる。しかしながら、事後ホワイトバランス処理は、少なくとも二つの理由のため、標準的なJPEGを使って正しく実行するのは難しいことがある。(1)レンダリングされる色空間からセンサー色に戻す厳密なマッピングがわかっていない、(2)異なる色チャネルに対してクランピングが不均等に適用されている。もとのセンサー値に線形に関係する色空間にどのようにしてたどり着くかを知ることなく、ホワイトバランス補正はうまくできない。
【0044】
しかしながら、カメラRAWフォーマットがわかっている場合には、カメラRAWフォーマットを利用して、事後に(つまり、画像がカメラによって取り込まれた後に)露出およびホワイトバランスを調整することが可能である。標準的なJPEG画像はある程度その明るさをブーストしていることがあるが、失われたハイライトを復元することは可能ではなく、ホワイトバランス処理は全体的な画像の明るさを高めるか、ハイライトをある程度色づかせてしまう。しかしながら、本システムのある実施形態は、JPEG-HDR画像の露出およびホワイトバランスを調整する能力を提供し、標準的なJPEGおよび(多くの場合)カメラRAW画像エンコードよりも利点をもちうる。
【0045】
JPEGまたは24ビットTIFFのような標準的な画像エンコードは実際上、各チャネルにおいて最大表現可能な値をもち(255,255,255)、これは「白」に対応する。カメラの露出およびホワイトバランスが正しく設定されている限り、再生される画像は、通常の閲覧および印刷のためには受け入れ可能であろう。しかしながら、画像がわずかに過剰露出である、あるいはホワイトバランスがユーザーによってまたはカメラのファームウェアによって不適正に設定されている場合には、後処理の間に画像を補正するのは困難であろう。ひとたび一次値が255にクリッピングされたら、もとの色を復元するために使われる情報は失われる傾向がある。
【0046】
カメラRAWについて広く受け入れられている標準はないが、たいていのそのようなフォーマットは、露出およびホワイトバランスに対して控えめな調整をするのに十分な情報を各ピクセルにおいて含む。もとのセンサーA/D出力値を記録することによって、画像が撮影されたときにカメラがもっていたのとほぼ同じくらいの情報を知ることが可能となる。特に、各センサーが飽和したときを認識することが可能となり、これは取り込まれたレンジ内で露出およびホワイトバランスを調整する可能性を許容する。
【0047】
実際、カメラRAWファイルが利用可能である場合、二つの理由により状況は助けられる。(1)カメラRAWは「白」の先にも各チャネルにおいて少し追加的な余地がある。(2)カメラRAWはいつ各チャネルがクリッピングするかを正確に教えてくれるので、出力マッピングにおいてこの最大を超えないよう注意することが可能である。よって、(1)線形センサー色空間およびレンジがわかっている、また(2)クランピングに対して何の情報も失われていないため、典型的には、事後白色点補正はカメラRAWにおいて機能する。取り込みの時点で利用可能であった任意のレンダリングされた白色点が、カメラRAWデータから利用可能である。
【0048】
実際、カメラRAWにおいてホワイトバランスが実行されるとき、結果として得られる画像は、もとの画像である。ファームウェアにおいてカメラによって行われる諸段階が繰り返されるからであるが、可能性としてはスタンドアローンのソフトウェアにおいて実行される。しかしながら、ハイライト情報のどのくらいが復元できるかには限界がある。たとえば、場合によっては、このパッチにおいてチャネルうち一つがその最大値に達していた場合、RAW変換器は、中立的な結果を保証するよう他の二つのチャネルをクリップしてもよい。
【0049】
誤った白色点への原色のクランピングは、たとえどのようにして線形値に到達すべきかがわかっていたとしても、事後の補正を問題にする。センサー・データのフル・レンジが損なわれているからである。そのような事後処理は、新たなハイライトを変色させたり、色を脱飽和させ他所では詳細を失うような仕方で画像輝度を上げたりすることになりかねない。
【0050】
その状況は、
図5によって示されている。
図5は、白から黒への勾配における画像データの取り込みにおける仮想上のデジタル・カメラの性能のグラフを表している。
図5のグラフによれば、緑チャネルにおいて取り込まれたデジタル画像は第一の白色ルミナンス値において(デジタル値4095で)飽和する。次いで、赤チャネルはより高い白色ルミナンス値において飽和する。しかしながら、青チャネルはずっと高い白色ルミナンス値にならないと飽和しない。さまざまな色チャネルが飽和するこれらの点を知らないと、適正なホワイトバランスのための補正は特にトリッキーである。
【0051】
JPEG-HDRの拡張
JPEG-HDRは、高ダイナミックレンジ画像の格納を可能にするためにJPEG規格の拡張として作成された。JPEG-HDRについての既存のフォーマットでは、JPEG-HDRは事実上、ホワイトバランス補正に影響する二つの画像チャネル――つまり、基本層の(トーンマッピングされた)JPEG画像と、較正された線形色空間を復元するために利用されうる残差層――をもち、それによりカメラRAWの利点の多くを与える。追加的なダイナミックレンジは、実のところ、システムに、色値を、基本層においてレンダリングされるものを超えて補正することを許容する。しかしながら、HDRについてさえしばしばそうであるように、取り込まれたレンジがシーン値のフル・レンジをカバーしない場合には、いくらかの追加的な情報を加えることが望ましいことがある。
【0052】
ある実施形態では、システムは、RGB色チャネルのそれぞれにおける取り込まれたHDRについての上センサー・レンジを記憶してもよい。これは、2または3個のホワイトバランス・スケーリング因子および名目(たとえば0〜1)レンジ内の実効線形センサー値を生成する行列(たとえば3××3)の形を取ってもよい。「実効線形センサー値」は、HDR取り込みにおいて複数の露出からマージされうるものを単一の露出で取り込むことのできる仮想上のセンサーのフル・レンジであると解釈されうる。これらの実効線形センサー値は、そのような仮想上のセンサーのセンサー色空間値を生成するために使われてもよい。「ホワイトバランス・スケーリング因子」(または「ホワイトバランス乗数」)は、システムに、変換の際にもとのホワイトバランス設定――すなわち、現在の出力を得るために使われた設定――がどうであったかについて知らせるために使われてもよい。
【0053】
もう一つの実施形態では、一つまたは複数の実効センサー値がその上限に達した場合、復元されたHDR画像のハイライトが通常の最大を超えて非白色値まで延びることを許容するよう、JPEG-HDRに対して変更がなされてもよい。これらのピクセルはトーンマッピングされた基本層〔ベース・レイヤー〕では白色としてレンダリングされうるので、本稿でさらに記述される新たなCbCr色残差チャネルが利用されてもよい。
【0054】
アプリケーションがJPEG-HDRファイルから再結合されたHDR画像を要求するとき、白色クランピングが実行されてもよい。これは、HDR画像を「実効線形センサー値」に戻す変換をして、(補正された)ホワイトバランス乗数を適用することによって達成されてもよい。ある実施形態では、これらの乗数は、三つのチャネル乗数の最小のものがちょうど1になるよう規格化されてもよい。それに続いて、任意のセンサー*乗数値>1が1にクリッピングされるクランピング段階が行われてもよい。最後に、各ピクセルにおける修正された実効センサー値が、供給されたセンサー行列の逆行列を使って目標色空間中に変換し戻されてもよい。
【0055】
さらにもう一つの実施形態では、最適化が、HDRピクセル値がクランピングに近づくのに十分大きいかどうかを知るためにチェックしてもよい。ピクセルが取り込まれた色範囲境界内である場合、クランピングは必要なく、二つの色変換および白色調整が一つの変換に組み合わされてもよい。これは、もとのホワイトバランスが変更されない場合には恒等行列になる。たいていのピクセルは取り込まれる色範囲内でありうるので、これはこの方法に対する計算要件を軽減する。トーンマッピングされた基本層の再レンダリングが所望される場合、このようにして生成される、補正され、クランピングされたHDRがトーンマッピングされた画像を再計算するための源として使用されてもよい。
【0056】
上記の議論のいくつかを例解するために、
図6のAは、このような仕方でのカメラ・センサー色空間からモニタ色空間への可能な一組のマッピング処理を示している。カメラ・センサー色空間602は画像データを色チャネル乗算器604に送る。白色点を保証するために、最小値へのクランプ606が用いられて、その後、これらの値が、目標モニタ上へのレンダリングのために、色変換行列608に入力されてもよい。
図6のBは、可能な一組のマッピングの異なる実施形態を提示している。見て取れるように、取り込まれる画像がHDRフォーマットであれば、606におけるクランピングはバイパスされてもよく(610)、値は直接、色変換行列608に与えられてもよい。
図6のAおよび/またはBの実施形態のいずれでも、変換行列608の出力は、
図1のホワイトバランス処理器105からDiv 118およびY
hブロックへのHDR経路に沿って出力されうる。
【0057】
ある実施形態では、カメラは、画像が取り込まれたときの周辺照明条件について(可能性としてはユーザー入力を用いてまたはユーザー入力なしで)推定し、たとえばタングステン・ホワイトバランスまたは昼光ホワイトバランスを模倣することができることがある。色チャネル乗数の適正な設定のためにこれが考慮に入れられてもよい。あるいはまた、カメラ設定におけるそのような情報がなければ、ユーザーに事後ベースで適切な推定をさせたり画像中で中立的な(グレーの基準)面を選んだりすることが十分であることがある。
【0058】
4.HDR画像デコーダ
図2は、本発明のいくつかの可能な実施形態に基づく例示的なHDR画像デコーダを示している。ある例示的な実施形態では、HDR画像デコーダは、一つまたは複数のコンピューティング装置によって実装され、トーンマッピングされたベースRGB画像およびHDR再構成データを含むHDR画像データ(
図2ではHDR 202として表されている)をデコードするための画像処理技法を実装するソフトウェアおよび/またはハードウェア・コンポーネントをもって構成されている。ある例示的な実施形態では、HDR再構成データは、ルミナンス比値、CbおよびCr残差値および上記データに関係するパラメータおよび補助データをいう。ある例示的な実施形態では、HDR画像デコーダによってデコードされる画像データは、ある画像フォーマット(たとえばJPEG-HDR)での画像ファイル中にある。
【0059】
HDR画像デコーダは、HDR画像データ202(たとえばルミナンス比に加えてCbおよびCr残差値を記憶するよう向上されたフォーマットでのJPEG-HDR画像ファイル)を受領し、HDR画像データ202をトーンマッピングされたベースRGB画像(
図2ではベース画像206として表されている)およびHDR再構成データを格納する一つまたは複数のアプリケーション・セグメント(APP SEG 208)にパースするよう構成されたパーサー(たとえば204)を有していてもよい。ある例示的な実施形態では、パーサー204は標準的なJPEGデコーダである。
【0060】
ある例示的な実施形態では、HDR画像デコーダは、前記一つまたは複数のアプリケーション・セグメント(APP SEG 208)をルミナンス比画像(比画像210)および量子化されたCbおよびCr残差値(CbCr残差212)にパースするよう構成されたソフトウェアおよび/またはハードウェア・コンポーネントを有する。ルミナンス比画像(比画像210)は量子化された対数ルミナンス比を有する。
【0061】
ある例示的な実施形態では、HDR画像デコーダは、量子化された対数ルミナンス比を量子化解除して対数ルミナンス比にするよう構成された量子化解除処理ブロック(De-quant 214)を有する。HDR画像デコーダは、対数ルミナンス比を非対数領域におけるルミナンス比に変換するよう構成された逆対数処理ブロック(exp 216)を有する。
【0062】
ある例示的な実施形態では、HDR画像デコーダは、量子化されたCbおよびCr残差値を量子化解除してCbおよびCr残差値にするよう構成された量子化解除処理ブロック(De-quant 218)を有する。HDR画像デコーダは、CbおよびCr残差値を線形領域におけるRGB残差値に変換するよう構成された色空間変換処理ブロック(CSC 220)を有する。
【0063】
ある例示的な実施形態では、HDR画像デコーダは、トーンマッピングされたベース画像がエンコーダによって脱飽和されている場合、任意的および/または追加的に、脱飽和の逆プロセスを実行するよう構成された再飽和ブロック(232)を有する。ある例示的な実施形態では、HDR画像デコーダは、トーンマッピングされたベースRGB画像(ベース画像206)がガンマ・エンコードされている場合に、任意的および/または追加的に、トーンマッピングされたベースRGB画像(ベース画像206)に対してガンマ・デコードを実行するよう構成されたガンマ・デコード処理ブロック(ガンマ・デコード224)を有する。たとえば、アプリケーション・セグメントのI型セグメント内のあるパラメータが、トーンマッピングされたベース画像がガンマ・エンコードされたRGB画像(たとえばsRGB画像)であることを示してもよい。
【0064】
ガンマ・デコード処理ブロック(ガンマ・デコード224)の出力は、Mul処理ブロック226において個々のピクセルごとに比画像からのルミナンス比を乗算され、中間的なHDR画像が導出される。一方、RGB残差値は、Mul処理ブロック222(これは226と同じであってもよい)において個々のピクセルごとに比画像からの同じルミナンス比を乗算され、RGB残差画像が導出される。中間的なHDR画像およびRGB残差画像は、加算処理ブロック(Add 228)によって個々のピクセルごとに合計されて、HDR RGB画像(RGB 230)が導出されてもよい。このHDR RGB画像が、
図1における入力HDR RGB画像の復元されたバージョンでありうる。
【0065】
代替的な実施形態では、TMベース画像におけるピクセル値およびRGB残差値がまず加算される。次いで加算の結果がルミナンス比を乗算され、HDR RGB画像が導出される。
【0066】
さらにもう一つの実施形態では、ホワイトバランス232が事後のホワイトバランス補正を模倣するために実行されてもよい。
図7は、HDR画像データを処理し、該データを適正なホワイトバランスに調整するための一つの可能な実施形態を描いている。702において、システムは、何らかの利用可能なセンサー色空間データおよびホワイトバランス乗数をもつJPEG-HDR画像データを入力する。704では、システムは、現在の画像について新たな白色点が想定されるかどうかを問い合わせる(たとえばユーザーに、あるいは可能性としては画像メタデータ中に埋め込まれている)。もしそうであれば、新たなホワイトバランス乗数が計算される。もしそうでなければ、古いホワイトバランス乗数が使われ、画像データは708において、もとのセンサー色空間に変換される。各色チャネルについて、現在の(古いまたは新たに計算された)ホワイトバランス乗数が画像データに適用される。必要であれば、画像値は、712において、チャネル値の最大の最小(すなわちミニマックス(minmax))にクランピングされる。714では、画像データは、モニタ色空間中に変換される。その後、画像データは、復元されたHDR RGB出力として716において出力される。
【0067】
ある実施形態では、エンコーダにおける
図1および
図6のAおよび/またはBのホワイトバランス処理ならびにデコーダにおける
図2および
図7のホワイトバランス処理は、対になった処理として実装されてもよい。ここで、エンコーダのホワイトバランス処理は、デコーダの適正なホワイトバランス補正を模倣するよう機能する。また、
図7の処理が単に本節で記述された特徴の一部を組み込んだものであり、他の多くの特徴および/または洗練が追加されてもよいことも理解しておくべきである。
【0068】
5.例示的なプロセス・フロー
図3のAは、本発明のある可能な実施形態に基づく例示的なプロセス・フローを示している。いくつかの可能な実施形態では、(たとえば
図1に示されるような)HDR画像エンコーダのような一つまたは複数のコンピューティング装置がこのプロセス・フローを実行してもよい。HDR画像エンコーダは、JPEG画像エンコーダのような標準に基づく画像エンコーダに一つまたは複数の新たな処理ブロックを加えることによって、および/または一つまたは複数の既存の処理ブロックを修正することによって実装されてもよい。ブロック302では、HDR画像エンコーダは、高ダイナミックレンジ(HDR)画像を受け取る。ある例示的な実施形態では、HDR画像は、固定小数点画像または浮動小数点画像の一方である。ある例示的な実施形態では、HDR画像は、JPEG、JPEG-2000、MPEG、AVI、TIFF、BMP、GIFFまたは他の画像フォーマットの一つでエンコードされている。
【0069】
ブロック304では、HDR画像エンコーダは、HDR画像に基づいて生成されたトーンマッピングされた(TM)画像をも受け取る。TM画像は、TM画像とルミナンス比画像からでは復元できない一つまたは複数の色改変を含んでいる。ある例示的な実施形態では、TM画像における前記一つまたは複数の色改変のうち少なくとも一つは、(たとえばR、GまたはBピクセル値における)クリッピングまたは一つまたは複数のピクセルにおける色相の改変の一方によって引き起こされている。
【0070】
ブロック306では、HDR画像エンコーダは、HDR画像のルミナンス値を、個々のピクセルごとにTM画像のルミナンス値で割ることによって、個々のピクセルごとにルミナンス比値を計算する。
【0071】
ブロック308では、HDR画像エンコーダは、前記ルミナンス比値をHDR画像に適用して再マッピングされた画像を生成する。
【0072】
ある例示的な実施形態では、HDR画像エンコーダは、前記再マッピングされた画像および前記TM画像の少なくとも一方を一つの色空間から異なる色空間に変換する。
【0073】
ブロック310では、HDR画像エンコーダは、再マッピングされた画像およびTM画像に基づいて、ある色空間の諸色チャネルにおける残差値を決定する。もとの色が改変されていれば、残差値の少なくとも一つはゼロでない。ある例示的な実施形態では、色空間はYCbCr色空間であり、色空間の色チャネルはCb色チャネルおよびCr色チャネルを含む。色空間の色チャネルにおける残差値は、前記色チャネルにおける、再マッピングされた画像から導出された第一のピクセル値と、前記色チャネルにおける、TM画像から導出された第二のピクセル値との間の差として計算される。
【0074】
ブロック312では、HDR画像エンコーダは、HDR再構成データとともにTM画像のあるバージョンを出力する。HDR再構成データは、ルミナンス比値および色チャネル残差値から導出される。
【0075】
ある例示的な実施形態では、HDR再構成データは、ルミナンス比値から導出される量子化された値と、色空間の色チャネルにおける残差値とをもつ残差画像を有する。HDR再構成データはさらに、量子化された値のレンジを指定するパラメータを含んでいてもよい。
【0076】
ある例示的な実施形態では、HDR再構成データは、画像ファイルのアプリケーション・セグメント内に格納され、TM画像は該画像ファイル中のベース画像となる。ある例示的な実施形態では、画像ファイルはJPEG-HDRフォーマットである。
【0077】
ある例示的な実施形態では、HDR画像エンコーダは、たとえばHDR画像がトーンマッピング処理器(TMO)またはユーザーによって操作される前に、HDR画像に対して一つまたは複数の健常性チェックを実行してもよい。ある例示的な実施形態では、HDR画像エンコーダは、TM画像中のゼロ個、一個またはそれ以上の色チャネル・ゼロ値を、ある閾値より小さな値で置換する。この閾値は、さまざまな実施形態において、1,2,3,…,10,11などであってもよい。
【0078】
ある例示的な実施形態では、TM画像中の任意の数のピクセルに対する、任意のTMOを用いた任意のトーンマッピング処理および/または任意の色改変が、TM画像を生成するプロセスにおいて実行されうる。
【0079】
ある例示的な実施形態では、HDR画像エンコーダは、HDR画像、TM画像または再マッピングされた画像のうちの少なくとも一つに色空間変換を適用する。
【0080】
ある例示的な実施形態では、TM画像と再マッピングされた画像との間のルミナンス残差値はみなゼロである。たとえば、ルミナンス・チャネル(たとえばY)および二つの色チャネル(たとえばCbおよびCr)をもつ色空間(たとえばYUV)において、TM画像と再マッピングされた画像(たとえば、すでに、あるいは代替的には色空間変換後に色空間において)との間のルミナンス値の差がすべてゼロであってもよい。
【0081】
図3のBは、本発明のある可能な実施形態に基づく例示的なプロセス・フローを示している。いくつかの可能な実施形態では、(たとえば
図2に示されるような)HDR画像デコーダのような一つまたは複数のコンピューティング装置またはコンポーネントがこのプロセス・フローを実行してもよい。HDR画像デコーダは、JPEG画像デコーダのような標準に基づく画像デコーダに一つまたは複数の新たな処理ブロックを加えることによって、および/または一つまたは複数の既存の処理ブロックを修正することによって実装されてもよい。ブロック322では、HDR画像デコーダは、トーンマッピングされた(TM)画像およびHDR再構成データを含む画像ファイルをパースする。ある例示的な実施形態では、TMベース画像は、任意の数のピクセルに対する、任意のトーンマッピング処理器を用いた任意のトーンマッピング処理および/または任意の色改変の結果を含む。ある例示的な実施形態では、HDR再構成データは、量子化されたルミナンス比値(たとえばYチャネル)および色空間(YUV)の色チャネル(たとえばCbおよびCrチャネル)における量子化された残差値を含む。TMベース画像は、TMベース画像とルミナンス比画像からでは復元できない一つまたは複数の色改変を含んでいる。ある例示的な実施形態では、画像ファイルは、JPEG、JPEG-2000、MPEG、AVI、TIFF、BMP、GIFFまたは他の画像フォーマットの一つでエンコードされている。ある例示的な実施形態では、画像ファイルは、標準に基づく画像デコーダ、たとえばJPEGデコーダを用いてパースされる。
【0082】
ブロック324では、HDR画像デコーダは、量子化されたルミナンス比値および色空間の色チャネルにおける量子化された残差値に関係する量子化パラメータを抽出する。
【0083】
ブロック326では、HDR画像デコーダは、少なくとも部分的に量子化パラメータに基づいて、量子化されたルミナンス比値および量子化された残差値をルミナンス比値および色空間の色チャネルにおける残差値に変換する。ある例示的な実施形態では、量子化されたルミナンス比および量子化された残差値は、残差画像に格納されている。ある例示的な実施形態では、残差画像およびTMベース画像は、一般的な手順を使って量子化解除され、圧縮解除される。
【0084】
ブロック328では、HDR画像デコーダは、TMベース画像と、ルミナンス比値と、色空間の色チャネルにおける残差値とを使ってHDR画像を再構成する。HDR画像は、固定小数点画像または浮動小数点画像のいずれであってもよい。
【0085】
ある例示的な実施形態では、HDR画像デコーダは、たとえばTMベース画像、残差画像、HDR画像または中間画像のうちの少なくとも一つに対して、色空間変換、ガンマ・エンコード、ガンマ・デコード、ダウンサンプリングまたはアップサンプリングの工程を実行する。
【0086】
6.実装機構――ハードウェアの概観
ある実施形態によれば、本稿に記載される技法は、一つまたは複数の特殊目的コンピューティング装置によって実装される。特殊目的コンピューティング装置は、本技法を実行するよう固定構成とされていてもよいし、あるいは一つまたは複数の特定用途向け集積回路(ASIC)またはフィールド・プログラマブル・ゲート・アレイ(FPGA)のような、本技法を実行するよう持続的にプログラムされたデジタル電子デバイスを含んでいてもよいし、あるいはファームウェア、メモリ、他の記憶または組み合わせにおけるプログラム命令に従って本技法を実行するようプログラムされた一つまたは複数の汎用ハードウェア・プロセッサを含んでいてもよい。そのような特殊目的コンピューティング装置は、カスタムの固定構成論理、ASICまたはFPGAをカスタムのプログラミングと組み合わせて本技法を達成してもよい。特殊目的コンピューティング装置はデスクトップ・コンピュータ・システム、ポータブル・コンピュータ・システム、ハンドヘルド装置、ネットワーキング装置または本技法を実装するために固定構成および/またはプログラム論理を組み込んでいる他の任意の装置であってもよい。
【0087】
たとえば、
図4は、本発明のある実施形態が実装されうるコンピュータ・システム400を示すブロック図である。コンピュータ・システム400は、情報を通信するためのバス402または他の通信機構と、情報を処理するための、バス402に結合されたハードウェア・プロセッサ404とを含む。ハードウェア・プロセッサ404はたとえば汎用マイクロプロセッサであってもよい。
【0088】
コンピュータ・システム400は、ランダム・アクセス・メモリ(RAM)または他の動的記憶装置のような、情報およびプロセッサ404によって実行されるべき命令を記憶するための、バス402に結合されたメイン・メモリ406をも含む。メイン・メモリ406はまた、一時変数または他の中間的な情報を、プロセッサ404によって実行されるべき命令の実行の間、記憶しておくために使われてもよい。そのような命令は、プロセッサ404にとってアクセス可能な非一時的な記憶媒体に記憶されたとき、コンピュータ・システム400を、前記命令において指定されている処理を実行するようカスタマイズされた特殊目的機械にする。
【0089】
コンピュータ・システム400はさらに、バス402に結合された、静的な情報およびプロセッサ404のための命令を記憶するための読み出し専用メモリ(ROM)408または他の静的記憶装置を含む。磁気ディスクまたは光ディスクのような記憶装置410が提供され、情報および命令を記憶するためにバス402に結合される。
【0090】
コンピュータ・システム400は、コンピュータ・ユーザーに対して情報を表示するための、液晶ディスプレイのようなディスプレイ412にバス402を介して結合されていてもよい。英数字その他のキーを含む入力装置414が、情報およびコマンド選択をプロセッサ404に伝えるためにバス402に結合される。もう一つの型のユーザー入力装置は、方向情報およびコマンド選択をプロセッサ404に伝えるとともにディスプレイ412上でのカーソル動きを制御するための、マウス、トラックボールまたはカーソル方向キーのようなカーソル・コントロール416である。この入力装置は典型的には、第一軸(たとえばx)および第二軸(たとえばy)の二つの軸方向において二つの自由度をもち、これにより該装置は平面内での位置を指定できる。
【0091】
コンピュータ・システム400は、本稿に記載される技法を実施するのに、カスタマイズされた固定構成論理、一つまたは複数のASICもしくはFPGA、コンピュータ・システムと組み合わさってコンピュータ・システム400を特殊目的機械にするまたはプログラムするファームウェアおよび/またはプログラム論理を使ってもよい。ある実施形態によれば、本稿の技法は、プロセッサ404がメイン・メモリ406に含まれる一つまたは複数の命令の一つまたは複数のシーケンスを実行するのに応答して、コンピュータ・システム400によって実行される。そのような命令は、記憶装置410のような別の記憶媒体からメイン・メモリ406に読み込まれてもよい。メイン・メモリ406に含まれる命令のシーケンスの実行により、プロセッサ404は、本稿に記載されるプロセス段階を実行する。代替的な実施形態では、ソフトウェア命令の代わりにまたはソフトウェア命令と組み合わせて固定構成の回路が使用されてもよい。
【0092】
本稿で用いられる用語「記憶媒体」は、データおよび/または機械に特定の仕方で動作させる命令を記憶する任意の非一時的な媒体を指す。そのような記憶媒体は、不揮発性媒体および/または揮発性媒体を含んでいてもよい。不揮発性媒体は、たとえば、記憶装置410のような光学式または磁気ディスクを含む。揮発性媒体は、メイン・メモリ406のような動的メモリを含む。記憶媒体の一般的な形は、たとえば、フロッピーディスク、フレキシブルディスク、ハードディスク、半導体ドライブ、磁気テープまたは他の任意の磁気データ記憶媒体、CD-ROM、他の任意の光学式データ記憶媒体、孔のパターンをもつ任意の物理的媒体、RAM、PROMおよびEPROM、フラッシュEPROM、NVRAM、他の任意のメモリ・チップまたはカートリッジを含む。
【0093】
記憶媒体は、伝送媒体とは異なるが、伝送媒体と関連して用いられてもよい。伝送媒体は、記憶媒体間で情報を転送するのに参加する。たとえば、伝送媒体は同軸ケーブル、導線および光ファイバーを含み、バス402をなすワイヤも含む。伝送媒体は、電波および赤外線データ通信の際に生成されるような音響波または光波の形を取ることもできる。
【0094】
さまざまな形の媒体が、一つまたは複数の命令の一つまたは複数のシーケンスを実行のためにプロセッサ404に搬送するのに関与しうる。たとえば、命令は最初、リモート・コンピュータの磁気ディスクまたは半導体ドライブ上に担持されていてもよい。リモート・コンピュータは該命令をその動的メモリにロードし、該命令をモデムを使って電話線を通じて送ることができる。コンピュータ・システム400にローカルなモデムは、電話線上のデータを受信し、赤外線送信器を使ってそのデータを赤外線信号に変換することができる。赤外線検出器が赤外線信号において担持されるデータを受信することができ、適切な回路がそのデータをバス402上に載せることができる。バス402はそのデータをメイン・メモリ406に搬送し、メイン・メモリ406から、プロセッサ404が命令を取り出し、実行する。メイン・メモリ406によって受信される命令は、任意的に、プロセッサ404による実行の前または後に記憶装置410上に記憶されてもよい。
【0095】
コンピュータ・システム400は、バス402に結合された通信インターフェース418をも含む。通信インターフェース418は、ローカル・ネットワーク422に接続されているネットワーク・リンク420への双方向データ通信結合を提供する。たとえば、通信インターフェース418は、対応する型の電話線へのデータ通信接続を提供するための、統合サービス・デジタル通信網(ISDN)カード、ケーブル・モデム、衛星モデムまたはモデムであってもよい。もう一つの例として、通信インターフェース418は、互換LANへのデータ通信接続を提供するためのローカル・エリア・ネットワーク(LAN)カードであってもよい。無線リンクも実装されてもよい。そのようないかなる実装でも、通信インターフェース418は、さまざまな型の情報を表すデジタル・データ・ストリームを搬送する電気的、磁気的または光学的信号を送受信する。
【0096】
ネットワーク・リンク420は典型的には、一つまたは複数のネットワークを通じた他のデータ装置へのデータ通信を提供する。たとえば、ネットワーク・リンク420は、ローカル・ネットワーク422を通じてホスト・コンピュータ424またはインターネット・サービス・プロバイダー(ISP)426によって運営されているデータ設備への接続を提供してもよい。ISP 426は、現在一般に「インターネット」428と称される世界規模のパケット・データ通信網を通じたデータ通信サービスを提供する。ローカル・ネットワーク422およびインターネット428はいずれも、デジタル・データ・ストリームを担持する電気的、電磁的または光学的信号を使う。コンピュータ・システム400に/からデータを搬送する、さまざまなネットワークを通じた信号およびネットワーク・リンク420上および通信インターフェース418を通じた信号は、伝送媒体の例示的な形である。
【0097】
コンピュータ・システム400は、ネットワーク(単数または複数)、ネットワーク・リンク420および通信インターフェース418を通じて、メッセージを送り、プログラム・コードを含めデータを受信することができる。インターネットの例では、サーバー430は、インターネット428、ISP 426、ローカル・ネットワーク422および通信インターフェース418を通じてアプリケーション・プログラムのための要求されたコードを送信してもよい。
【0098】
受信されたコードは、受信される際にプロセッサ404によって実行されても、および/または、のちの実行のために記憶装置410または他の不揮発性記憶に記憶されてもよい。
【0099】
7.等価物、拡張、代替その他
以上の明細書では、本発明の可能な諸実施形態について、実装によって変わりうる数多くの個別的詳細に言及しつつ述べてきた。このように、何が本発明であるか、何が出願人によって本発明であると意図されているかの唯一にして排他的な指標は、この出願に対して付与される特許の請求項の、その後の訂正があればそれも含めてかかる請求項が特許された特定の形のものである。かかる請求項に含まれる用語について本稿で明示的に記載される定義があったとすればそれは請求項において使用される当該用語の意味を支配する。よって、請求項に明示的に記載されていない限定、要素、属性、特徴、利点もしくは特性は、いかなる仕方であれかかる請求項の範囲を限定すべきではない。よって、明細書および図面は制約する意味ではなく例示的な意味で見なされるべきものである。
【0100】
例解の目的で、いくつかの可能な実施形態では、HDR再構成データが量子化されたルミナンス比および量子化されたCbおよびCr残差値を含むことが記載されている。いくつかの可能な実施形態では、HDR再構成データは量子化されていないルミナンス比および/またはCbおよびCr残差値を含んでいてもよい。これらはたとえば浮動小数点または固定小数点値でありうる。たとえば、画像ファイル中の一つまたは複数のアプリケーション・セグメントがこれらの量子化されていない値を格納してもよい。本稿の技法のもとでのHDR画像デコーダは、画像ファイルをパースし、それらの量子化されていない値を取り出す。これらの量子化されていない値は、HDR画像を再構成するために、画像ファイルから抽出されたトーンマッピングされたベース画像と組み合わせるために使われてもよい。
【0101】
例解の目的で、いくつかの可能な実施形態では、可能な前処理はダウンサンプリングを含んでいてもよいことが記載されている。いくつかの可能な実施形態では、本稿の前処理は、本稿の技法によって処理されるHDR画像の画像詳細および/または色精度を維持するために、ダウンサンプリングを実行しなくてもよい。たとえば、HUV残差画像の画像符号化は、ダウンサンプリングを回避するモードをもつJPEG画像エンコーダによって実行されてもよい。
【0102】
例解の目的で、いくつかの可能な実施形態では、JPEG画像ファイルおよび/またはJPEGコーデックがHDR画像エンコーダおよび/またはデコーダにおいて使用されてもよいことが記載されている。本発明の目的のためには、JPEGコーデック以外の画像コーデックが、HDR画像エンコーダおよび/またはデコーダにおいて使用されてもよい。
【0103】
例解の目的で、いくつかの可能な実施形態では、入力HDR画像およびトーンマッピングされたベース画像がRGB画像であることが記載されている。本発明の目的のためには、本稿のHDR画像およびトーンマッピングされたベース画像を格納するために、他の型の画像が使われてもよい。たとえば、RGB色空間ではなくYUV色空間の入力HDR画像が使われてもよい。HDR画像エンコードまたはデコードのプロセスにおけるゼロ、一または複数の色空間変換が本稿に記載される技法のもとで実装されてもよい。
【0104】
例解の目的で、いくつかの可能な実施形態では、YCbCr色空間でのHUV(またはYUV)ファイルが、ルミナンス比およびルミナンス比以外の残差値を格納するために使われてもよいことが記載されている。本発明の目的のためには、他の型の色空間および他の型の画像ファイルが、ルミナンス比および残差値と等価な情報を記憶するために使われてもよい。たとえば、ルミナンス比および残差値は、YCbCr色空間以外の異なる色空間に変換されてもよい。同様に、YUVファイル以外の画像ファイルが、ルミナンス比および残差値から変換された値を記憶するために使われてもよい。いくつかの可能な実施形態では、本稿に記載される技法のもとで、色空間変換またはピクセル値変換を実行するために可逆変換が使われてもよい。
【0105】
いくつかの可能な実施形態では、ルミナンス比およびCbおよびCr残差値とともにトーンマッピングされたベース画像を含む画像ファイルは、ルミナンス比をもつがCbおよびCr残差値をもたない、トーンマッピングされたベース画像を含む別の画像ファイルのファイル・サイズと同様のファイル・サイズをもつ。ある特定の実施形態では、CbおよびCr残差値をもつ画像は、平均で、CbおよびCr残差値のない対応する画像よりたった10%大きいだけである。
【0106】
単に例解の目的で、トーンマッピングされた画像はTMOによって生成される。本発明の目的のためには、本稿に記載されるように、トーンマッピングされた画像を生成するために、二つ以上のTMOが一緒に使われてもよい。
【0107】
以上で、付属の図面とともに読まれる、本発明の原理を例解する本発明の一つまたは複数の実施形態の詳細な記述を与えた。本発明はそのような実施形態との関連で記述されているものの、本発明はいかなる実施形態にも限定されないことは理解しておくべきである。本発明の範囲は請求項によってのみ限定され、本発明は数多くの代替、修正および等価物を包含する。本発明の十全な理解を提供するために、本稿においては数多くの個別的詳細が記述されてきた。これらの詳細は、例示の目的で与えられており、本発明は、これらの個別的詳細の一部または全部なしでも請求項に従って実施されうる。明確のため、本発明に関係する技術分野において知られている技術的素材は、本発明が無用に埋没させられないよう、詳細には述べていない。
【0108】
いくつかの態様を記載しておく。
〔態様1〕
高ダイナミックレンジ(HDR)画像を受領する段階と;
HDR画像に基づいて生成されたトーンマッピングされた(TM)画像を受領する段階であって、前記TM画像は、前記TM画像とルミナンス比画像からでは回復できない一つまたは複数の色改変を含む、段階と;
前記HDR画像のルミナンス値を、個々のピクセルごとに前記TM画像のルミナンス値で割ることによって、個々のピクセルごとにルミナンス比値を計算する段階と;
前記ルミナンス比値を前記HDR画像に適用して再マッピングされた画像を生成する段階と;
前記再マッピングされた画像および前記TM画像に基づいて、ある色空間の色チャネルにおける残差値を決定する段階と;
HDR再構成データとともに前記TM画像を出力する段階であって、前記HDR再構成データは、前記ルミナンス比値および前記残差値から導出される、段階とを含む、
方法。
〔態様2〕
前記再マッピングされた画像および前記TM画像の少なくとも一方を異なる色空間から前記残差の前記色空間に変換する段階をさらに含む、態様1記載の方法。
〔態様3〕
前記色空間がYCbCr色空間であり、前記色空間の前記色チャネルがCb色チャネルおよびCr色チャネルを含む、態様1記載の方法。
〔態様4〕
前記色空間の前記色チャネルにおける残差値が、前記色チャネルにおける、前記再マッピングされた画像から導出された第一のピクセル値と、前記色チャネルにおける、前記TM画像から導出された第二のピクセル値との間の差として計算される、態様3記載の方法。
〔態様5〕
前記TM画像中の前記一つまたは複数の色改変の少なくとも一つが、一つまたは複数のピクセルにおけるクリッピングまたは色相改変の一方によって引き起こされる、態様1記載の方法。
〔態様6〕
前記HDR再構成データが、前記ルミナンス比値および前記色空間の前記色チャネルにおける前記残差値から導出される量子化された値をもつ残差画像を含む、態様1記載の方法。
〔態様7〕
前記HDR再構成データが、前記量子化された値の範囲を指定するパラメータをさらに含む、態様6記載の方法。
〔態様8〕
前記HDR再構成データが、画像ファイルのアプリケーション・セグメントに格納され、前記TM画像は前記画像ファイルにおけるベース画像となる、態様1記載の方法。
〔態様9〕
前記画像ファイルがJPEG-HDRフォーマットである、態様1記載の方法。
〔態様10〕
前記HDR画像に対して一つまたは複数の健常性チェックを実行する段階をさらに含む、態様1記載の方法。
〔態様11〕
前記TM画像中の任意の数のピクセルに対する、任意のトーンマッピング処理器を用いた任意のトーンマッピング処理および/または任意の色改変を許容することをさらに含む、態様1記載の方法。
〔態様12〕
前記TM画像中のゼロ、一または複数の色チャネル・ゼロ値をゼロまたは閾値より小さな値で置き換える段階をさらに含む、態様1記載の方法。
〔態様13〕
前記HDR画像、前記TM画像または前記再マッピングされた画像のうちの少なくとも一つに色空間変換を適用する段階をさらに含む、態様1記載の方法。
〔態様14〕
前記TM画像と前記再マッピングされた画像との間のルミナンス残差値がみなゼロである、態様1記載の方法。
〔態様15〕
前記HDR画像が固定小数点画像または浮動小数点画像の一方である、態様1記載の方法。
〔態様16〕
前記HDR画像に対するトーンマッピング処理器によって要求される前処理動作を実行する段階をさらに含み、前記前処理動作は、色空間変換、ガンマ・エンコード、ガンマ・デコード、ダウンサンプリングまたはアップサンプリングのうちの一つである、態様1記載の方法。
〔態様17〕
前記TM画像において実行されているガンマ・エンコードに関係する情報を受領し、前記色空間の色チャネルにおける前記残差値を決定する前に、前記TM画像に対してガンマ・エンコードの逆処理を実行して中間TM画像を生成することをさらに含む、態様1記載の方法。
〔態様18〕
前記HDR画像がJPEG、JPEG-2000、MPEG、AVI、TIFF、BMP、GIFFまたは他の画像フォーマットのうちの一つでエンコードされる、態様1記載の方法。
〔態様19〕
トーンマッピングされた(TM)ベース画像およびHDR再構成データを含む画像ファイルをパースする段階であって、前記HDR再構成データは、量子化されたルミナンス比値および色空間の色チャネルにおける量子化された残差値を含み、前記TMベース画像は、該TMベース画像とルミナンス比画像からでは復元できない一つまたは複数の色改変を含んでいる、段階と;
前記量子化されたルミナンス比値および前記色空間の前記色チャネルにおける前記量子化された残差値に関係する量子化パラメータを抽出する段階と;
少なくとも部分的に前記量子化パラメータに基づいて、前記量子化されたルミナンス比値および前記量子化された残差値をルミナンス比値および前記色空間の前記色チャネルにおける残差値に変換する段階と;
前記TMベース画像と、前記ルミナンス比値および前記色空間の前記色チャネルにおける残差値とを使ってHDR画像を再構成する段階とを含む、
方法。
〔態様20〕
前記画像ファイルが標準に基づく画像デコーダを用いてパースされる、態様19記載の方法。
〔態様21〕
前記量子化されたルミナンス比および前記量子化された残差値が残差画像中に格納されており、前記残差画像および前記TMベース画像が共通の手順を使って量子化解除および圧縮解除される、態様19記載の方法。
〔態様22〕
前記TMベース画像が、任意の数のピクセルに対する、任意のトーンマッピング処理器を用いた任意のトーンマッピング処理および/または任意の色改変の結果を含む、態様19記載の方法。
〔態様23〕
前記HDR画像が固定小数点画像または浮動小数点画像の一方である、態様19記載の方法。
〔態様24〕
色空間変換、ガンマ・エンコード、ガンマ・デコード、ダウンサンプリングまたはアップサンプリングのうちのあるアクションを実行する段階をさらに含む、態様19記載の方法。
〔態様25〕
前記画像ファイルがJPEG、JPEG-2000、MPEG、AVI、TIFF、BMP、GIFFまたは他の画像フォーマットのうちの一つである、態様19記載の方法。
〔態様26〕
トーンマッピングされた(TM)ベース画像およびHDR再構成データを画像ファイル中にエンコードする段階を含む方法であって、前記HDR再構成データは量子化されたルミナンス比値およびある色空間の色チャネルにおける量子化された残差値を含み、前記TMベース画像は、前記TMベース画像とルミナンス比画像からでは復元できない一つまたは複数の色改変を含む、
方法。
〔態様27〕
トーンマッピングされた(TM)画像およびHDR再構成データを含む画像ファイルを伝送する段階を含む方法であって、前記HDR再構成データは量子化されたルミナンス比値およびある色空間の色チャネルにおける量子化された残差値を含み、前記TMベース画像は、前記TMベース画像とルミナンス比画像からでは復元できない一つまたは複数の色改変を含む、
方法。
〔態様28〕
画像ファイルをトーンマッピングされた(TM)画像およびHDR再構成データにデコードする段階を含む方法であって、前記HDR再構成データは量子化されたルミナンス比値およびある色空間の色チャネルにおける量子化された残差値を含み、前記TMベース画像は、前記TMベース画像とルミナンス比画像からでは復元できない一つまたは複数の色改変を含む、
方法。
〔態様29〕
前記画像ファイルが、アプリケーション・セグメント内に色残差値を格納することをサポートするJPEG-HDRフォーマットである、態様25ないし27のうちいずれか一項記載の方法。
〔態様30〕
態様1、19、26、27または28のうちいずれか一項記載の方法を実行するよう構成された、プロセッサを有する装置。
〔態様31〕
一つまたは複数のプロセッサによって実行されたときに、態様1、19、26、27または28のうちいずれか一項記載の方法の実行を引き起こすソフトウェア命令を含むコンピュータ可読記憶媒体。
〔態様32〕
初期画像データに対してホワイトバランス補正を実行する方法であって、前記初期画像データはトーンマッピングされた(TM)画像データおよび残差画像データを含み、前記残差画像データはさらに高ダイナミックレンジ(HDR)画像データと、実効線形センサー値およびホワイトバランス乗数を含み、当該方法は:
前記残差画像データから前記実効線形センサー値および前記ホワイトバランス乗数を復元する段階と;
前記実効線形センサー値および前記初期画像データからセンサー色空間値を生成して第一の中間画像データを形成する段階と;
各色チャネルについて、前記第一の中間画像データにホワイトバランス乗数を適用して第二の中間画像データを生成する段階と;
前記初期画像データから利用可能なHDR画像データがなければ、第二の中間画像データを、最大色チャネル値の最小にクランピングして第三の中間画像データを形成する段階と;
クランピングが実行されなかった場合、前記第二の中間画像データを目標モニタ色空間に変換して最終的な画像データを形成する段階と;
クランピングが実行された場合、前記第三の中間画像データを目標モニタ色空間に変換して最終的な画像データを形成する段階とを含む、
方法。
〔態様33〕
前記初期画像データがJPEG-HDRフォーマットでフォーマットされている、態様32記載の方法。
〔態様34〕
前記初期画像データが、RGB色チャネルのそれぞれにおいて取り込まれるHDRについての上センサー・レンジを含む、態様33記載の方法。
〔態様35〕
前記上センサー・レンジが、ホワイトバランス乗数および行列を含み、前記行列はさらに実効線形センサー値を含む、態様34記載の方法。
〔態様36〕
前記最終的な画像データは画像エンコーダのHDR経路に入力される、態様35記載の方法。
〔態様37〕
初期画像データを処理する方法であって;
前記初期画像データを入力する段階と;
センサー色空間データおよびホワイトバランス乗数を入力する段階と;
前記画像データについて新たな白色点が想定される場合、新たなホワイトバランス乗数を計算して現在のホワイトバランス乗数を生成する段階と;
前記画像データ中の各ピクセルについて、前記初期画像データを、前記センサー色空間に戻して第一の中間画像データにする変換をする段階と;
前記中間画像データ中の各色チャネルについて、前記現在のホワイトバランス乗数を適用して第二の中間画像データを生成する段階と;
前記第二の中間画像データを、すべての色チャネル最大値の最小値量にクランピングして第三の中間画像データを生成する段階と;
前記第三の中間画像データを所望されるモニタ色空間に変換して第四の中間画像データを生成する段階とを含む、
方法。
〔態様38〕
前記第四の中間画像データがトーンマッピング処理器に入力される、態様37記載の方法。
〔態様39〕
前記初期画像データが、画像取り込み装置によって取り込まれ、さらに、前記画像取り込み装置のカメラRAWデータが利用可能でない、態様37記載の方法。
〔態様40〕
前記画像取り込み装置が複数の色チャネルにおいて画像データを取り込むことができ、さらに、少なくとも二つの前記色チャネルが、黒から白への勾配に沿った異なるルミナンス値において飽和する、態様39記載の方法。
〔態様41〕
高ダイナミックレンジ(HDR)画像を受領する段階と;
前記HDRデータに対してホワイトバランス補正を処理する段階と;
前記HDR画像に基づいて生成されたトーンマッピングされた(TM)画像を受領する段階であって、前記TM画像は、前記TM画像とルミナンス比画像からでは回復できない一つまたは複数の色改変を含む、段階と;
前記HDR画像のルミナンス値を、個々のピクセルごとに前記TM画像のルミナンス値で割ることによって、個々のピクセルごとにルミナンス比値を計算する段階と;
前記ルミナンス比値を前記HDR画像に適用して再マッピングされた画像を生成する段階と;
前記再マッピングされた画像および前記TM画像に基づいて、ある色空間の色チャネルにおける残差値を決定する段階と;
HDR再構成データとともに前記TM画像を出力する段階であって、前記HDR再構成データは、前記ルミナンス比値および前記残差値から導出される、段階とを含む、
方法。
〔態様42〕
トーンマッピングされた(TM)ベース画像およびHDR再構成データを含む画像データを含む画像ファイルをパースする段階であって、前記HDR再構成データは、量子化されたルミナンス比値、色空間の色チャネルにおける量子化された残差値、ホワイトバランス乗数および実効線形センサー値を含み、前記TMベース画像は、該TMベース画像とルミナンス比画像からでは復元できない一つまたは複数の色改変を含んでいる、段階と;
前記量子化されたルミナンス比値および前記色空間の前記色チャネルにおける前記量子化された残差値に関係する量子化パラメータを抽出する段階と;
少なくとも部分的に前記ホワイトバランス乗数および実効線形センサー値に基づいて、前記画像データのホワイトバランスを補正する段階と;
少なくとも部分的に前記量子化パラメータに基づいて、前記量子化されたルミナンス比値および前記量子化された残差値をルミナンス比値および前記色空間の前記色チャネルにおける残差値に変換する段階と;
前記TMベース画像と、前記ルミナンス比値および前記色空間の前記色チャネルにおける残差値とを使ってHDR画像を再構成する段階とを含む、
方法。
〔態様43〕
態様32、37、41または42のうちいずれか一項記載の方法を実行するよう構成された、プロセッサを有する装置。
〔態様44〕
一つまたは複数のプロセッサによって実行されたときに、態様32、37、41または42のうちいずれか一項記載の方法の実行を引き起こすソフトウェア命令を含む、コンピュータ可読記憶媒体。