説明

高ダイナミック・レンジ画像の発生およびレンダリング

高ダイナミック・レンジ(HDR)画像レンダリングおよび発生のための技法およびツール。HDR画像発生システムは、1組の低ダイナミック・レンジ(LDR)画像に対して動き検出を実行し、この動き検出において得られた情報に基づいて、画像に対する相対的露出レベルを導き出す。これらの相対的露出レベルは、LDR画像を統合するときに、HDR画像を形成するために用いられる。HDR画像レンダリング・システムは、HDR画像におけるサンプル値をそれぞれの低ダイナミック・レンジ値にトーン・マッピングして、局所コントラスト値を計算する。局所コントラストに基づいて残差信号が導き出され、LDR画像のサンプル値が、トーン・マップ・サンプル値および残差信号に基づいて計算される。HDR画像発生またはレンダリングの種々の段階において、ユーザー好み情報を使用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
[0001] 本技術は、ディジタル画像の発生およびレンダリングに関し、更に特定すれば、高ダイナミック・レンジ画像の発生およびレンダリングに関する。
【背景技術】
【0002】
[0002] ビデオおよび撮像システムでは、色は一般に3つ以上のチャネルを有する多次元「色空間」におけるベクトル座標として表される。広く知られている例には、周知の部類のRGBおよびYUV色空間が含まれる。RGB色空間は、赤、緑、および青色光の強度をそれぞれ表す座標を使用して、画素値を指定する。YUV色空間は、ルミナンス値およびクロミナンス値を表す座標を使用して、画素値を指定する。
【0003】
[0003] 現在、多くの画像取り込み、処理、および表示デバイスは、8ビットで表される、チャネル当たり256(2)離散値という小さなダイナミック・レンジで画素値を扱えるに過ぎない。このような画像は、8ビットの「ビット深度」を有すると記述することができる。赤、緑、および青色チャネルにおいてチャネル当たり8ビット(8bpc)を有する典型的なRGBディジタル画像では、赤、緑、および青値の各々に、256個の異なる値しか可能でない。他の値(例えば、アルファまたは不透明値、ルミナンス等)も、低いダイナミック・レンジ制限によって制約を受けることがある。デバイスの中には、チャネルあたり10または12ビットまでのダイナミック・レンジを扱えるものもある。しかしながら、人間の視覚系は、14乗という広いルミナンス範囲を検出することができ、これを換算すると約46ビットになる。自然におけるルミナンス値は、明るい日光では10カンデラ/mもの高さ、そして月が出ていない夜の岩の下側では10−6カンデラ/mという低さになる可能性がある。
【0004】
[0004] 高ダイナミック・レンジ(HDR)撮像は、人間の視覚系になじむ多様で自然な画像表現を示す。HDR画像は、従来の8−ビット、10−ビット、および12−ビット表現よりも高いダイナミック・レンジを有し、はるかに高い画質を達成することができる。HDR画像のフォーマットがデバイスまたはツールと互換性があるのであれば、HDR画像は、従来の画像を処理するのと同じ種類のデバイスおよびソフトウェア・ツールにおいて用いることができる。様々なHDR画像フォーマットが開発されており、カメラ、コンピューター・グラフィクス、およびディスプレイ・デバイスが、広がりつつあるダイナミック・レンジで画像を生成、処理、および表示し始めている。また、HDR画像は、低ダイナミック・レンジ画像の集合体で構成することもできる。Debevec et al., "Recovering High Dynamic Range Radiance Maps from Photographs"(写真からの高ダイナミック・レンジ輝度マップの再現)、 SIGGRAPH '97 (August 1997)を参照のこと。
【0005】
[0005] 種々の先行技術が、高解像度および/または高ダイナミック・レンジ画像の表示または処理に伴う問題に取り組んでいる
[0006] 米国特許第7,120,293号は、「インタラクティブ画像」について記載しており、このインタラクティブ画像における各画素位置は、異なる特性を有する数個の代表画像の内の1つに割り当てられている。選択された画素位置と関連付けて、数個の代表画像の内どれが最良の露出レベルまたは焦点設定を表すのか判断するために、画像処理技法が採用されている。
【0006】
[0007] 米国特許第7,492,375号は、HDR画像における1つ以上の特定の対象領域を選択し表示することを可能にするHDRビューアーについて記載する。対象領域において、HDRビューアーはHDR画像の対応する1つまたは複数の部分を表示する。この対応する1つまたは複数の部分は、元のHDR画像とはいくらか変化する。例えば、対象領域に対応するHDR画像の一部が、異なるダイナミック・レンジにトーン・マッピング(tone mapping)されている可能性がある。
【0007】
[0008] HDRビューと呼ばれる公に入手可能なアプリケーションは、ユーザーがHDR画像を、それよりもダイナミック・レンジが低いディスプレイ上において開き、HDR画像において選択された画素位置上でシフト−クリックして、選択された画素位置における露出レベルにしたがって、画像の露出を変化させることを可能にする。HDRビューの説明は、http://athens/ict.usc.edu/FiatLux/hdrview/において入手可能である。
【0008】
[0009] また、技術者は、HDRまたはSDRディジタル画像のようなディジタル・メディアを表すために必要とされるビット量を低減するために圧縮(符号化またはエンコードとも呼ばれる)を使用する。圧縮によって、ディジタル画像をビット・レートを低下させた形態に変換することによって、ディジタル画像を格納および送信するコストを低減する。伸張(デコードとも呼ばれる)によって、圧縮形態から元の画像のバージョンを再現する。「コデック」とは、エンコーダー/デコーダー・システムのことである。
【0009】
[0010] エンコードまたはその他の処理の後においてディジタル画像の中で知覚できる欠点を、アーチファクトと呼ぶことがある。何故なら、これらはエンコードまたはその他の処理によって生じ、それが発生したことを示すからである。これらのアーチファクトは、ブロッキング・アーチファクト(blocking artifact)、バンディング・アーチファクト(banding artifact)、およびリンギング・アーチファクト(ringing artifact)を含む。
【0010】
[0011] 圧縮によって混入され再現画像に現れるブロック・パターンは、ブロック・アーチファクトと呼ばれることが多い。ブロック・アーチファクトは、特に、明るい空の画像のような、滑らかに変化する勾配領域において目立つ可能性がある。ブロック・アーチファクトは、例えば、エンコードのために画像を複数のブロックに分割することによって生じ、このエンコードは、周波数変換プロセス、およびブロックに対するAC係数の量子化を含む。バンディングまたは輪郭(contouring)アーチファクトが生ずるのは、例えば、画像におけるサンプル値を高いビット分解能(例えば、サンプル値当たり10ビットまたは12ビット)からそれより低いビット分解能(例えば、サンプル値当たり8ビット)に変換するときである。サンプル値が低い方のビット分解能に間引かれる(clip)と、値の帯域間の段差が、特にサンプル値が滑らかに変化している領域(例えば、明るい値から暗い値への漸次遷移)において知覚可能になる可能性がある。リンギング・アーチファクトは、アーチファクトのエッジから写真の背景に移るリップル・パターンまたはその他のノイズ帯域として現れる可能性がある。リンギング・アーチファクトは、オブジェクトまたはオブジェクトの一部を含むブロックに対する周波数変換プロセスおよび量子化によって生ずる可能性がある。また、リンギング・アーチファクトは、編集中における過度な鮮鋭処理(sharpening)によってエッジに混入する可能性がある。
【0011】
[0012] アーチファクトを制御する後処理手法の中には、アーチファクトを和らげるまたそうでなければ隠すように、デコードの後に画像を処理するものがある。システムの中には、ブロック・アーチファクトの可視性を低減するために、ブロック境界にまたがって適応的にフィルタリングを行うものもある。他のシステムには、後処理の間に、再現された写真のサンプル値を調節するために、ディザリングを使用するものがある。例えば、ディザリングはぎざぎざなエッジ周囲の値に小さな調節を導入して、見る人がその値を「平均化し」滑らかになったエッジを知覚することができる。
【0012】
[0013] 従来の技法にどのような便益があったにせよ、これらは以下に紹介する技法およびツールの利点を有していない。
【発明の概要】
【0013】
[0014] 高ダイナミック・レンジ(HDR)画像のレンダリングおよび発生のための技法およびツールについて記載する。記載する様々な実施形態では、HDR画像発生システムは、1組の低ダイナミック・レンジ(LDR)画像に対して動き分析を実行し、この動き分析において得られた情報に基づいて、画像に対する相対的露出レベルを導き出す。これらの相対的露出レベルは、LDR画像を統合するときに、HDR画像を形成するために用いられる。記載する様々な実施形態では、HDR画像レンダリング・システムは、HDR画像におけるサンプル値をそれぞれの低ダイナミック・レンジ値にトーン・マッピングし、局所コントラスト値を計算する。局所コントラストに基づいて残差信号が導き出され、LDR画像のサンプル値が、トーン・マップ・サンプル値および残差信号に基づいて計算される。HDR画像発生またはレンダリングの種々の段階において、ユーザー好み情報を使用することができる。
【0014】
[0015] 一態様において、場面を描写する1組のディジタル画像における基準画像に対して、動き分析を行う。基準画像は、(例えば、ユーザー好み情報または画像内において検出された露出範囲に基づいて)選択することができる。この動き分析は、1組の中にある1つ以上の非基準画像の各々について、基準画像に対する画像差を判定することを含む。動き分析に少なくとも部分的に基づいて、基準画像に対する1つ以上の相対的露出レベルを、非基準画像毎に導き出す。例えば、相対的露出レベルは、線形ドメインに変換されたサンプル値、およびそれぞれの非基準画像に対する平均サンプル比に基づいて導き出される。相対的露出レベルに少なくとも部分的に基づいて、1組の複数のディジタル画像を統合し、場面を描写するHDR画像を形成する。サンプル値は、相対的露出レベルに基づいて、正規化レベルにスケーリングすることができる。HDR画像を形成するために統合されている画像における画像アーチファクトを除去するために、前処理を(例えば、動き検出の前に)行うことができる。
【0015】
[0016] 動き分析は、正規化相互相関を使用して、基準画像に対する画像差を判定することを含むことができる。動き分析は、非基準画像においてサンプル値の部分集合を選択し、基準画像に対する画像差を判定することを含むことができ、この部分集合は、ある範囲の露出値にサンプル値が該当するか否かに基づいて選択される。動き分析は、全域動き分析、およびこれに続く局所動き分析を含むことができる。動き分析は、1つ以上の非基準画像の各々における1つ以上の画素について、動きベクトルを決定することを含むことができる。
【0016】
[0017] 前述の統合は、HDR画像におけるサンプル位置毎に、基準画像におけるサンプル位置に対応するサンプル値の加重平均と、各非基準画像におけるサンプル位置に対応する、スケーリングされたサンプル値とを計算することを含むことができる。例えば、加重平均におけるサンプル値s毎の重み計数wは、信頼レベル、相対的露出値、および正の指数(例えば、0.5)に基づいて計算される。信頼レベルは、サンプル値に基づいて、様々に変化する可能性がある。例えば、信頼レベルは、極端なサンプル値(例えば、非常に明るいまたは非常に暗い)程小さくなる。
【0017】
[0018] 他の態様では、HDR画像をLDR画像としてレンダリングする。HDR画像におけるサンプル値を、それぞれの低ダイナミック・レンジ値にトーン・マッピングする。トーン・マップ・サンプル値の各々について、局所コントラスト値を計算する。それぞれの局所コントラスト値に少なくとも部分的に基づいて、トーン・マップ・サンプル値の各々について、残差信号を導き出す。例えば、各トーン・マップ・サンプル値に、それぞれの局所コントラスト値を乗算する。残差信号に、スケーリングおよびフィルタリングを適用することができる。スケーリングは、それぞれの残差信号に対応するトーン・マップ・サンプル値の関数であるスケーリング係数を適用することを含むことができる。トーン・マップ・サンプル値およびそれぞれの残差信号に少なくとも部分的に基づいて、LDR画像のサンプル値を計算する。例えば、LDR画像のサンプル値は、トーン・マップ・サンプル値、残差信号、および高周波ディザリング信号を組み合わせ、0から255までを含む範囲における整数値にマッピングすることによって、計算することができる。次いで、LDR画像を表示するか、または何らかの他の方法で処理することができる。トーン・マッピングの前に、前処理(例えば、ピクチャーのサイズ変更、明示的な露出調節、明示的なダイナミック・レンジ調節、色温度調節、色強調)を、HDR画像に対して行うことができる。
【0018】
[0019] トーン・マッピングは、全域トーン・マッピング参照表を発生し、この参照表において参照を行うことによってというようにして、HDR画像におけるサンプル値に対してLDR値を識別することを含むことができる。全域トーン・マッピング参照表は、適応ガンマ関数に基づいて発生することができる。トーン・マッピングは、HDR画像の低解像度プレビュー・バージョン、またはHDR画像の最大解像度バージョンに適用することができる。例えば、画像のプレビュー・バージョンに適用されるトーン・マッピングは、最終画像をセーブするときに、画像の最大解像度バージョンに適用することができる。修正トーン・マッピング・パラメーターをHDR画像のコピーに適用することができ、トーン・マップ・バージョンを順次表示して、例えば、アニメーション効果を生み出すことができる。
【0019】
[0020] 他の態様では、1つ以上のユーザー好み制御部を、HDR画像レンダリング・パラメーターに対してユーザーの好みを設定するために設ける。例えば、ユーザー調節可能な制御部を、ユーザー・インターフェースを通じて、画像編集アプリケーションの一部として設けることができる。ユーザー好み情報は、ユーザー好み制御部から受け取られる。ユーザー好み情報は、HDR画像を収容するHDR画像ファイルに対するHDR画像レンダリング・パラメーターに対応する。ユーザー好み情報に少なくとも部分的に基づいて、HDRディジタル画像をレンダリングする。このレンダリングは、複数のトーン・マップ・サンプル値の各々について、局所コントラスト値を計算すること、およびそれぞれのトーン・マップ・サンプル値に対する局所コントラスト値に少なくとも部分的に基づいて、LDR画像のサンプル値を計算することを含むことができる。
【0020】
[0021] 一人のユーザーまたは多数のユーザーと関連のあるユーザー好み情報は、画像ファイルにおけるメタデーターとして格納することができる。例えば、ユーザー識別情報をユーザー好み情報と共に格納することができ、ユーザー識別情報をそれぞれのユーザーにリンクすることができる。ユーザー好み情報をメタデーターとして格納することによって、元のHDR画像情報をファイルに保存することを容易にすることができる。ユーザー好み制御部は、例えば、信号スケーリング制御、信号フィルタリング制御、ガンマ制御、色強調制御、サイズ変更制御、色温度制御、および白点制御を含むことができる。
【0021】
[0022] 本発明の以上のおよびその他の目的、特徴、ならびに利点は、添付図面を参照して進む以下の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0022】
【図1A】図1Aは、記載する実施形態のいくつかを実現することができる、適した計算環境を一般化した例を示す。
【図1B】図1Bは、記載する実施形態を実現することができる、適した実施態様環境を一般化した例を示す。
【図2】図2は、1つ以上の記載する実施形態にしたがって、HDR画像発生およびHDR画像レンダリングを含む、ディジタルHDR撮像ワークフローの一例を示す図である。
【図3】図3は、1つ以上の記載する実施形態による、一般化したHDR画像処理システムを示す図である。
【図4】図4は、1つ以上の記載する実施形態にしたがって、1組のSDR画像からHDR画像を発生する技法の一例を示すフロー・チャートである。
【図5】図5は、1つ以上の記載する実施形態による、HDR画像発生システムの実施態様の一例を示す図である。
【図6】図6は、1つ以上の記載する実施形態にしたがって、HDR画像をレンダリングする技法の一例を示すフロー・チャートである。
【図7】図7は、1つ以上の記載する実施形態によるHDR画像レンダリング・システムの実施態様の一例を示す図である。
【図8】図8は、1つ以上の記載する実施形態による、フィルタリング動作のための現在のサンプル位置を含む軸を示す図である。
【図9】図9は、1つ以上の実施形態にしたがって、ユーザー好み情報に応じてHDR画像を処理する技法の一例を示すフロー・チャートである。
【図10】図10は、1つ以上の実施形態にしたがって、ユーザー好み情報に応じてHDR画像を発生またはレンダリングするHDR画像処理システムの実施態様例を示す図である。
【発明を実施するための形態】
【0023】
[0034] 記載する技法およびツールは、高ダイナミック・レンジ(HDR)ディジタル画像を発生およびレンダリングする異なる態様、ならびに関係するユーザー・インターフェースの機構を含む。
【0024】
[0035] 本明細書において記載する実施態様には、種々の代替が可能である。例えば、フローチャートを参照して説明する技法は、そのフローチャートにおいて示される段階の順序を変更することによって、ある段階を繰り返すまたは省略する等によって、変更することができる。他の例として、具体的なディジタル・メディア・フォーマットを参照して説明する実施態様もあるが、他のフォーマットを使用することもできる。
【0025】
[0036] 種々の技法およびツールは、組み合わせてまたは独立して使用することができる。異なる実施形態では、記載する技法およびツールの内1つ以上を実現する。本明細書において記載する技法およびツールの中には、コンピューター・システムにおいてディジタル静止画像を処理するソフトウェアと共に使用することができるものもあり、またはディジタル静止画像の処理に具体的に限定されない他の何らかのシステムにおいて使用することができるものもある。例えば、本明細書において記載する技法およびツールは、ディジタル・ビデオを処理するために使用することができる。
1.計算環境例
[0037] 図1Aは、記載する実施形態の内数個を実現することができる、適した計算環境100を一般化した例を示す。計算環境(100)は、使用範囲や機能についていかなる限定をも示唆することは意図していない。何故なら、本明細書において記載する技法およびツールは、多様な汎用または特殊目的計算環境において実現することができるからである。
【0026】
[0038] 図1Aを参照すると、計算環境100は、少なくとも1つのCPU110および付随するメモリー120、ならびにビデオ高速化のための少なくとも1つのGPUまたは他の共通演算装置(co-processing unit)115および付随するメモリー125を含む。図1Aでは、この最も基本的な構成130は破線の中に含まれている。演算装置110は、コンピューター実行可能命令を実行し、実在のプロセッサーまたは仮想プロセッサーであってもよい。マルチ処理・システムでは、多数の演算装置が、処理パワーを高めるために、コンピューター実行可能命令を実行する。メモリー120、125は、揮発性メモリー(例えば、レジスター、キャッシュ、RAM)、不揮発性メモリー(例えば、ROM、EEPROM、フラッシュ・メモリー等)、またはこれら2つの何らかの組み合わせとすることができる。メモリー120、125は、記載する技法およびツールの内1つ以上をシステムに実現するためのソフトウェア180を格納する。
【0027】
[0039] 計算環境は、追加の特徴を有してもよい。例えば、計算環境100は、ストレージ140、1つ以上の入力デバイス150、1つ以上の出力デバイス160、および1つ以上の通信接続170を含む。バス、コントローラー、またはネットワークというような相互接続メカニズム(図示せず)が、計算環境100のコンポーネントを相互接続する。通例では、オペレーティング・システム・ソフトウェア(図示せず)が、計算環境100において実行するほかのソフトウェアに合った動作環境を提供し、計算環境100のコンポーネントの動作(activities)を調整する。
【0028】
[0040] ストレージ140は、リムーバブルでも非リムーバブルでもよく、磁気ディスク、磁気テープまたはカセット、CD−ROM、DVD、あるいは情報を格納するために用いることができしかも計算環境100内においてアクセスすることができるその他のあらゆる媒体も含む。ストレージ140は、記載する技法およびツールを実現するソフトウェア180の命令を格納する。
【0029】
[0041] 入力デバイス(1つまたは複数)150は、キーボード、マウス、ペン、またはトラックボールまたはタッチ・スクリーンのような接触入力デバイス、音声入力デバイス、走査デバイス、ディジタル・カメラまたは計算環境100に入力を供給する他のデバイスとすることができる。ビデオについては、入力デバイス150は、ビデオ・カード、TVチューナー・カード、あるいはアナログまたはディジタル形態でビデオ・入力を受け入れる同様のデバイス、あるいはビデオ・サンプルを計算環境100に供給するCD−ROMまたはCD−RWとすることができる。出力デバイス(1つまたは複数)160は、ディスプレイ、プリンター、スピーカー、CD−ライター、または計算環境100からの出力を供給するその他のデバイスとすることができる。
【0030】
[0042] 通信接続(1つまたは複数)170は、通信媒体を通じたほかの計算エンティティへの通信を可能にする。通信媒体は、コンピューター実行可能命令、オーディオまたはビデオ入力または出力、あるいは変調データー信号におけるその他のデーターというような情報を伝達する。変調データー信号とは、その信号の中に情報をエンコードするような態様で、その特性の1つ以上を設定または変化させた信号のことである。一例として、そして限定ではなく、通信媒体は、電気、光、RF、赤外線、音響、またはその他の搬送波で実現した有線またはワイヤレス技法を含む。
【0031】
[0043] 本技法およびツールは、コンピューター読み取り可能媒体という一般的なコンテキストで説明することができる。コンピューター読み取り可能媒体は、計算環境内においてアクセスすることができ、入手可能なあらゆる有形媒体である。一例として、そして限定ではなく、計算環境100では、コンピューター読み取り可能媒体は、メモリー120、125およびストレージ140、ならびに以上のあらゆるものの組み合わせも含む。
【0032】
[0044] 本技術およびツールは、目標とする実在のまたは仮想のプロセッサー上にある計算環境において実行するプログラム・モジュールに含まれるような、コンピューター実行可能命令という一般的なコンテキストで説明することができる。一般に、プログラム・モジュールは、ルーチン、プログラム、ライブラリー、オブジェクト、クラス、コンポーネント、データー構造等を含み、特定のタスクを実行するかまたは特定の抽象データー・タイプを実現する。プログラム・モジュールの機能は、種々の実施形態における所望に応じて、プログラム・モジュール間で組み合わせることや分割することができる。プログラム・モジュールのコンピューター実行可能命令は、局在的計算環境または分散型計算環境内においても実行することができる。
【0033】
[0045] 紹介のために、以上の詳細な説明では、「選択する」および「判定する」というような用語を用いて、計算環境におけるコンピューター動作を説明した。これらの用語は、コンピューターが実行する動作についての上位抽象であり、人間が行う行為と混同すべきでない。これらの用語に対応する実際のコンピューターの動作は、実施態様に応じて変化する。
II.実施態様の環境例
図1Bは、記載する実施形態、技法、および技術を実現することができる、適した実施態様環境190を一般化した例を示す。
【0034】
環境例190では、種々のタイプのサービス(例えば、計算サービス)がクラウド192によって提供される。例えば、クラウド192は、計算機の集合体を備えることができ、これらの計算機の集合体は、集中して配置することまたは分散することができ、クラウドに基づくサービスを、インターネットのようなネットワークを通じて接続されている種々のタイプのユーザーおよびデバイスに提供する。
【0035】
環境例190では、クラウド192は、種々の画面能力を有する、接続されているデバイス194A〜194Nにサービスを提供する。接続されているデバイス194Aは、中間サイズの画面を有するデバイスを表す。例えば、接続されているデバイス194Aは、デスクトップ・コンピューター、ラップトップ、ノートブック等のような、パーソナル・コンピューターとすることができる。接続されているデバイス194Bは、小型画面を有するデバイスを表す。例えば、接続されているデバイス194Bは、移動体電話機、スマート・フォン、パーソナル・ディジタル・アシスタント、タブレット・コンピューター等とすることができる。接続されているデバイス194Nは、大型画面を有するデバイスを表す。例えば、接続されているデバイス194Nは、テレビジョン(例えば、スマート・テレビジョン)、あるいはテレビジョンまたはプロジェクター画面に接続されている他のデバイス(例えば、セットトップ・ボックス、ゲーミング・コンソール)とすることができる。
【0036】
1つ以上のサービス・プロバイダー(図示せず)を通じて、クラウド192によって種々のサービスを提供することができる。例えば、クラウド192は、HDR画像発生およびレンダリングに関するサービスを、種々の接続されているデバイス194A〜194Nの内1つ以上に提供することができる。クラウド・サービスは、画面サイズ、表示能力、または個々の接続されているデバイス(例えば、接続されているデバイス194A〜194N)のその他の機能に合わせてカスタム化することができる。例えば、クラウド・サービスは、画面サイズ、入力デバイス、および移動体デバイスに通例伴う通信帯域幅の制限を考慮に入れることによって、移動体デバイスに合わせてカスタム化することができる。
III.高ダイナミック・レンジ撮像−全体像
[0046] 人の視覚系は、非常に広いダイナミック・レンジにおいて、特に、明るさに関して詳細を検出することができるが、人間は通常一度でこのダイナミック・レンジの全ての幅にわたって詳細を拾い上げることはできない。例えば、非常に明るいエリアおよび非常に暗いエリアにおいて同時に詳細を拾い上げることは、人間にといって難しい。しかしながら、場面における種々の局所エリアに合焦することによって、人の視覚系は、局所エリアにおける明るさに非常に素早く適応し、明るいエリア(例えば、空)およびそれよりも暗いエリア(例えば、影)において詳細を見ることができる。
【0037】
[0047] 多くの既存のディジタル・カメラ(殆どのDSLR(ディジタル一眼レフ)カメラを含む)は、直接HDR画像取り込み能力を欠いており、標準的なダイナミック・レンジにおいて各ショットを1つの視点(perspective)から給送する(deliver)ことができるに過ぎない。したがって、人間が知覚することができる詳細のレベルと、SDR画像において表すことができる詳細のレベルとの間には、大きな格差がある。この問題に対する実現可能な解決策は、高ダイナミック・レンジ(HDR)撮像である。HDR画像は、場面における豊富な情報を取り込むことができ、適正にレンダリングされれば、非常に現実的な視覚体験を給送することができる。人の視覚系の非線形性および局所適応性のために、HDR撮像体験の殆どは、通常の印刷出力または既存のディスプレイで行うことができ、HDR画像の市場は潜在的に非常に大きい。したがって、HDR撮像技術は、プロの写真家や愛好家を含むユーザーから近年増々関心を寄せられている。
A.トーン・マッピング
[0048] HDR画像をSDRディスプレイに合わせてレンダリングするためというような、HDR画像情報をより低いダイナミック・レンジに変換する1つの方法は、トーン・マッピングをHDR画像情報に適用することである。トーン・マッピングとは、画像サンプル値sをサンプル値g(s)にマッピングする関数gを指す。全域トーン・マッピングとは、全域トーン・マッピングを所与の画像Iにおけるサンプル値の各々に適用するプロセスである。例えば、全域トーン・マッピングを画像に適用して、その画像の明るさおよび/またはコントラストを、ユーザーが望む通りに変更して、トーン・マップ画像G(I)を得ることができる。局所トーン・マッピングとは、画像Iをトーン・マップ画像L(I)に変換する関数Lを指す。全域トーン・マッピングと同様、局所トーン・マッピングは、画像における明るさおよびコントラストを調節するという目的で、画像に適用することができる。しかしながら、局所トーン・マッピングは、画像全体にわたって均一に適用しない方がよい局所的な調節に対処することができる。
【0038】
[0049] トーン・マッピングは、異なる目的で画像に適用することができる。例えば、トーン・マッピングは、HDR画像におけるサンプル値を、より狭いダイナミック・レンジにマッピングすることを伴うことができる。この主のトーン・マッピングの適用の1つは、HDR画像の全ダイナミック・レンジを表示することができないモニター上での表示のために、HDR画像をレンダリングすることである。この種のトーン・マッピングの他の用途は、より低い画像のビット深度表現を必要とするフォーマットでエンコードするために、HDR画像を準備することである。
B.画像フォーマット例
[0050] 本明細書において記載するディジタル画像は、色、中間諧調、または他のタイプの画像が可能であり、種々のファイル・フォーマットで表すことができる(例えば、GIF、PNG、BMP、TIFF、TIFF Float32、JP2、HDR、OpenEXR、JPEG、XR、Radiance RGBE、および/または他のフォーマット)。この章では、HDR画像を発生しHDR画像をレンダリングするための記載する技法およびツールと共に使用することができる画像フォーマットの一部についての詳細、ならびに関係のあるユーザー・インターフェース機構について示す。例えば、記載する技法およびツールは、JPEG XRフォーマットのHDR画像を扱うことができる。
【0039】
[0051] JPEG XRは、HDR画像をエンコードするのに有用な、柔軟性があり強力なフォーマットであり、32ビット浮動小数点までサポートする。JPEG XRは、HDR画像符号化をサポートするが、圧縮および伸張双方に整数演算(除算なし)しか必要としない。JPEG XRは、画像データーおよびメタデーターを格納するファイル・コンテナと互換性があり、HDフォト・メタデーター、XMPメタデーター、およびExifメタデーターを、IFDタグを通じて含むことができる。TIFF Float、OpenEXR、およびRadiance RGBEのような既存のHDRフォーマットと比較して、JPEG XRフォーマットは、それなりの画質を保存しつつ、遙かに高い圧縮能力に備えている。JPEG XRファイル・フォーマットは拡張可能であるので、画像ビット・ストリームを変化させることなく、追加のメタデーター(企業固有のまたは標準的な)をJPEG XRファイルに挿入することができる。
【0040】
[0052] Radiance RGBEは、HDR画像データーを搬送するための他のフォーマットである。RGBE画像では、各画素が32ビットで表され、1つのビット群(例えば、1バイト)が赤の仮数(R)に、1つのビット群(例えば、1バイト)が緑の仮数(G)に、1つのビット群(例えば、1バイト)が青の仮数(B)に、そして残りのビット(例えば、1バイト)が、R、G、およびBチャネルの各々について仮数によって表される値に適用される共通指数(E)に割り当てられる。RGBEでは、有効画素値(fR、fG、fB)は浮動小数点数であり、fR=R×2(E−128)、fG=G×2(E−128)、およびfB=B×2(E−128)である。RGBE規則は、最大の8ビット仮数を[128、255]の範囲に制限するが、他の2つの8ビット仮数は制限されない(即ち、範囲は[0、255]である)。したがって、RGBからRGBEへのマッピングは一意となる。RGBEが表現することができるダイナミック・レンジは、[2−127、2+127]となり、これは約76乗である。RGBE画素から再現されるRGB値は、符号なしであり、全ての非ゼロ値は正である。しかしながら、3つの成分が同じ指数を共有するので、2つの小さい方の成分の精度が犠牲になる。E=0は、特殊な場合であり、対応する画素値が0であることを示す。
【0041】
[0053] Radiance RGBE(9;9;9;5)の1つの異体は、9ビットを赤、緑、および青の仮数チャネルの各々に割り当て、5ビットを指数に割り当てる。つまり、各画素を32ビットで、前述の8;8;8;8フォーマットにおけるように表す。また、他のRGBEの表現も可能であり、異なるビット数が仮数および指数に割り当てられる。
【0042】
[0054] 32ビット浮動小数点(「32ビット浮動」)は、浮動小数点画像データーを表す際に共通して使用される。32ビット浮動小数点画像を定義するコンテナ・フォーマットは、Portable Float Map(「PFM]:移植可能浮動マップ)およびTagged Image File Format([TIFF」:タグ付き画像ファイル・フォーマット)を含む。IEEE 754 32ビット単精度浮動小数点数(float number)は、符号(s)に1ビット、指数(e)に8ビット、そして仮数(m)に23ビットを含む。16ビット浮動(「ハーフ」とも呼ばれる)は、符号に1ビット、指数に5ビット、そして仮数に10ビットを有する。16ビットおよび32ビット浮動小数点表現は、フィールド長の具体的な差以外は、構造的に同一であるので、これらを総称して「浮動小数点」と呼ぶことができる。
【0043】
[0055] 画像フォーマットの中には、国際標準によって指定されるものがある。例えば、JPEGおよびJPEG200規格は、それぞれ、JPEGおよびJPEG2000フォーマットでエンコードされた画像をデコードするためのデコーダーの要件を記述する。JPEG200に準拠するエンコーダーおよびデコーダー(「コデック」)は、高い圧縮効率で、高品質の画像を提供する。JPEG XR規格は、Windows Media PhotoおよびHDフォトから発展した。これらは、Microsoft Corporationによって、Windows Media系技術の一部として開発された、企業固有の画像圧縮フォーマットである。JPEG XRについては、国際規格ISO/IEC29199−2:2009に記載されている。
IV.高ダイナミック・レンジ画像発生およびレンダリングのための技法およびツール
[0056] 記載する実施形態は、HDR画像を発生するための技法およびツール(例えば、種々の露出レベルがある1組のSDR画像からHDR画像を発生するアルゴリズム)、HDR画像をレンダリングするための技法およびツール(例えば、HDR画像をSDR画像またはディスプレイにレンダリングするアルゴリズム)、およびHDR画像処理に対して制御パラメーターを設定するための技法およびツール(例えば、制御パラメーターとして埋め込まれたレンダリング・パラメーターによって、HDR画像符号化を容易にするツール)を含む。
【0044】
[0057] 図2に示すように、ディジタルHDR撮像ワークフロー200は、HDR画像発生210、およびHDR画像レンダリング220を含む。HDR画像発生210では、HDR画像を発生する。例えば、HDR画像は、多数のSDR画像(例えば、少しずつ異なる時点で撮影し、各々、露出設定が異なる、同じ場面の画像)からの情報を合成することによって発生することができる。また、多数の画像を組み合わせることなく、HDRビット深度で元の画像を取り込むことができる画像キャプチャー・デバイスによって画像を取り込むことによってというようにして、直接HDR画像を発生することも可能である。HDR画像発生210は、望ましくない画像アーチファクト(例えば、HDR画像を形成するために使用されるソース画像を圧縮するときに混入するアーチファクト)を除去するための前処理(例えば、手動または自動動作)を含むことができる。
【0045】
[0058] HDR画像レンダリング220では、HDR画像情報を他の形態に変換する。例えば、HDR画像は、SDR画像(例えば、JPEG画像)としてレンダリングし、SDRディスプレイ上に表示することができる。画像レンダリングは、トーン・マッピング・プロセス(例えば、自動または半自動トーン・マッピング・プロセス)を伴う可能性がある。レンダリングされた画像は、公開することまたは保管することができる。しかしながら、HDR画像をSDR画像に変換するときに、画像データーが失われるのが通例である。したがって、HDR画像の元のバージョンを保管することは有用であることができる(例えば、後の段階において元の画像に更に修正を行うために)。また、ディスプレイが、HDR画像の全ダイナミック・レンジを、マッピングし直すことなく、レンダリングすることができるというようなときには、標準的なダイナミック・レンジにマッピングし直すことなく、HDR画像をレンダリングすることも可能である。
【0046】
[0059] ワークフロー例200は、HDR画像発生210、およびそれに続くHDR画像レンダリング220を示すが、HDR画像を格納のためまたは更なる処理のために発生するが、表示されないというようなときには、HDR画像処理システムは、これらをレンダリングすることなく、HDR画像を発生することができる。また、HDR画像処理システムが、最初にHDR画像を発生することなく、何らかの他のソースからHDR画像情報を(例えば、通信媒体を通じて)入手するというようなときには、HDR画像処理システムは、HDR画像を発生することなく、これらをレンダリングすることもできる。
【0047】
[0060] 本明細書において記載する例では、SDR画像は色チャネル当たり8ビット(bpc)の画像であり、HDR画像は、16bpc以上の画像である。更に一般的には、「標準的ダイナミック・レンジ」、即ち、SDRとは、HDR画像よりもダイナミック・レンジが狭いまたは低いディスプレイ、画像、フォーマット等を指す(SDR画像を低ダイナミック・レンジ画像またはLDR画像と呼ぶこともできる)。同様に、「高ダイナミック・レンジ」即ちHDRとは、ダイナミック・レンジがSDR画像よりも広いまたは高いディスプレイ、画像、フォーマット等を指す。例えば、記載する実施形態は、32bpcHDR画像を、16bpcSDR画像から発生するために使用することができ、または16bpcモニター上における表示のために32bpcHDR画像をレンダリングするために使用することができる。
【0048】
[0061] 一般に、本明細書において記載するディジタル画像は、ディジタル画像を取り込むことができるデバイス(例えば、ディジタル静止画像カメラ、ディジタル・ビデオ・カメラ、スキャナー、またはカメラ・フォンのような画像取り込み能力がある多目的デバイス)、またはディジタル画像を格納することができる媒体(例えば、揮発性メモリーあるいは光ディスクまたはフラッシュ・メモリーのような不揮発性メモリー)であればいずれによっても取り込んで格納することができる。
A.一般化したHDR撮像システム
[0062] 図3は、一般化したHDR画像処理システム310を示す図である。図3は、システム310が受け入れることができる異なる種類の画像入力を示す。例えば、図3は、HDR画像320と、HDR画像320よりもダイナミック・レンジが低い(例えば、露出範囲が狭い)、1組330のSDR画像332、334、336、および338を示す。一般に、システム310に入力される画像入力は、1つの画像、1組の画像(例えば、HDR画像を組み立てるために使用される、異なるダイナミック・レンジを有する1組の画像、または数枚から成る1組のHDR画像)、および/または画像に関するメタデーターまたはユーザー好みデーター(図示せず)というような他の情報とすることができる。メタデーターは、例えば、カメラの設定を示す情報を含むことができる。ユーザー好みデーターは、例えば、画像を見るまたは修正するためのユーザー制御パラメーター設定値を含むことができる。メタデーターおよびユーザー好みデーターは、画像ファイル内に収容することができ、あるいは別個に供給することができる。図3には1つのHDR画像しか示されていないが、システム310は1つよりも多いHDR画像を入力として受け入れることができる。
【0049】
[0063] 図3は、HDR画像を発生するように動作可能なHDR画像発生部340と、表示のためにHDR画像をレンダリングするように動作可能な画像レンダラー350とを示す。システム310はHDR画像発生部340およびHDR画像レンダラー350を示すが、HDR画像が格納または更なる処理のために発生されるが表示されないというようなときには、システム310は、レンダリングせずに、HDR画像の発生を実行することができる。また、HDR画像処理システムが、最初にHDR画像を発生せずに、何らかの他のHDRからHDR画像情報を(例えば、通信媒体を通じて)入手するときのように、システム310は、HDR画像発生を行わずに、HDR画像のレンダリングを行うこともできる。
【0050】
[0064] 図3に示す例では、HDR画像発生部340は、SDR画像集合330からの情報(例えば、少しずつ異なる時点で撮影し、各々、露出設定が異なる、同じ場面の画像)を合成する。HDR画像レンダラー350は、次いで、発生されたHDR画像をSDR画像にマッピングし、ディスプレイ360上への出力のために、SDR画像を準備することができる。また、ディスプレイがその最大ダイナミック・レンジにおいて、HDR画像をマッピングし直すことなく表示することができるような場合、標準ダイナミック・レンジにマッピングし直すことなく、HDR画像をレンダリングすることも可能である。
【0051】
[0065] システム310内においてモジュール間に示される関係は、当該システムにおける一般的な情報の流れを示す。簡略化のために、他の関係は示されていない。特定の実施形態では、一般化されたシステム310の変形または補足バージョンを使用するのが通例である。実施態様および所望の処理タイプに応じて、システムのモジュールを追加すること、省略すること、多数のモジュールに分割すること、他のモジュールと組み合わせること、および/または同様のモジュールと置き換えることができる。代替実施形態では、異なるモジュールおよび/または他のモジュールの構成としたシステムが、記載する技法の1つ以上を実行する。
【0052】
[0066] 例えば、システム310はプリプロセッサーを含むことができる。プリプロセッサーは、ロー・パス・フィルターまたはその他のフィルターを使用して入力ディジタル画像をスムージングし、高周波成分を選択的に除去する。または、プリプロセッサーはその他の前処理タスクを実行する。また、システム310は、画像データーを圧縮し、圧縮したディジタル画像情報のビット・ストリームを出力する1つ以上のエンコーダーを含むこともできる。エンコーダーによって行われる正確な動作は、圧縮フォーマットに応じて、様々に変化することができる。例えば、エンコーダーは、JPEG XRのような、HDR画像フォーマットにしたがって、HDR画像情報を圧縮することができ、あるいはエンコーダーは、JPEGのようなフォーマットにしたがって、SDR画像情報を圧縮することができる。また、システム310は、1つ以上のデコーダーも含むことができる。デコーダーは、圧縮された画像データーを伸張し、伸張したディジタル画像情報のビット・ストリームを出力する。デコーダーによって行われる正確な動作は、圧縮フォーマットに応じて様々に変化することができる。例えば、JPEG XRに準拠するデコーダーは、JPEG XRファイルにおけるHDR画像情報を伸張することができ、JPEGに準拠するデコーダーは、JPEGファイルにおけるSDR画像情報を伸張することができる。
B.高ダイナミック・レンジ画像発生のための手法
1.一般化した技法
[0067] 図4は、1組のSDR画像からHDR画像を発生する技法400を示す。ここでは、動き分析に基づいてSDR画像に対する相対的露出を導き出す。図3に示したHDR画像処理システム310のようなシステム、または他のシステムがこの技法400を実行する。
【0053】
[0068] 410において、本システムは、場面を描写する1組の画像における基準画像に対して動き分析を実行する。この動き分析は、1組の中にある非基準画像(non-reference image)の各々について、基準画像に対する画像の相違を判定することを含む。一実施態様では、本システムは、1組の画像の内どれが、容認可能な露出範囲内に該当する最も大きなサンプル値を有するか判定し、この画像を基準画像に指定することによって、1組の候補画像から基準画像を選択する。あるいは、基準画像は、他の何らかの方法で基準画像として指定される。
【0054】
[0069] 420において、本システムは、少なくとも部分的に動き分析に基づいて、基準画像に対する露出レベルを導き出す。例えば、本システムは、非基準画像についての動き分析情報に基づいて、非基準画像毎に相対的露出レベルを導き出す。
【0055】
[0070] 430において、本システムは、1組の複数のディジタル画像を統合して、場面を描画するHDRディジタル画像を形成する。この統合は、少なくとも部分的に、相対的な露出レベルに基づく。例えば、相対的露出レベルが、非基準画像毎に導き出された場合、本システムは、これらの相対的露出レベルを使用して、HDRディジタル画像のサンプル値を計算する。
2.実施態様例
[0071] この章では、1組のSDR画像からHDR画像を発生する手法の1群の実施態様例について、実施態様の詳細を示す。
【0056】
[0072] HDR画像発生システムの実施態様例を図5に示す。この例では、HDR画像発生システム510は、入力として、SDR画像情報520を取り込む。SDR画像情報520は、1組のSDR画像522、524、526、528についての画像情報を含み、これらは、画像が処理され統合されるときに、より高いダイナミック・レンジの画像590を生成する1つ以上の異なる設定値を有する場面の画像である。例えば、SDR画像522、524、526、528は、異なる時点において異なる露出設定で撮影された、ある場面の画像である。図5は、種々の処理段階を実現し、出力としてHDR画像590を生成するモジュール例を示す。
a.動き分析
[0073] 動き分析部530は、入力SDR画像522、524、526、528における動きを分析する。例えば、SDR画像522、524、526、528が異なる時点における場面の視覚状態を表す場合、動き分析部530は、これらの画像のシーケンスにおいて発生する動きを分析する。場面の画像が異なる時点において撮影された場合、場面の異なるショット間には画像の動き(全域的または局所的)がある可能性が非常に高い。動き分析部530は、種々のショットに跨がって画像のテクスチャーを整合し、動きを定量化して、更に処理を行うときに、このような動きを考慮できるようにする。
【0057】
[0074] 動き分析部530は、基準画像に対する動き分析を行う。図5に示す例では、画像524が基準画像に指定されている。基準画像とは、通例、露出範囲が中間にある画像である(即ち、1組の入力画像の内、最も明るいのでも、最も暗いのでもない露出範囲)。一実施態様では、基準画像は、1組の入力画像の内、「通常」範囲内、即ち、高すぎず(飽和)低すぎない(露出不足)範囲内で最も大きなサンプル値を有する画像はどれかに基づいて選択される。通常露出範囲の限度、および通常範囲を判定する方法は、様々に変化する可能性がある。例えば、通常露出範囲は、全ての画像について予め決定しておくことができ、各画像または入力画像集合毎に適応的に(例えば、画像情報および/またはユーザーの好みに基づいて)決定することができる。基準画像の選択は、動き分析部530によって自動的に(例えば、画像情報および/またはユーザー好み情報に基づいて)行うことができ、あるいは画像が動き分析部530に供給される前に、ある画像を基準画像に指定することができる。
【0058】
[0075] 動き分析部530は、画像の差を使用して、入力画像522、524、526、528における動きをモデル化する。ビデオにおける動きを分析するためにビデオ・ピクチャーにおける差を測定する技法は種々開発されているが(例えば、平均二乗差、二乗差の和)、実施態様例では、異なるショットにおける露出の差を考慮することが望ましいので、典型的なビデオ・アプリケーションにおいて使用されるものとは異なる静止画像において動きを分析する測定(measure)を使用する。一実施態様では、動き分析部530は、「正規化相互相関」メトリックによってサンプル値の差を計算することによって、画像の差を測定する。例えば、1つの画像t(x、y)の他の画像f(x、y)との正規化相互相関は、次の通りである。
【0059】
【数1】

【0060】
ここで、nはt(x、y)およびf(x、y)における画素数であり、σは標準偏差を表す。あるいは、画像の差の測定は、各ピクチャーにおいて平均サンプル値(fバーおよびtバー)の減算を排除するというようなことによって、他の方法で行うことができる。
【0061】
[0076] 言い変えると、2つの画像(または画像領域)をi1(x、y)およびi2(x’、y’)と定義する。(x、y)および(x’、y’)は、それぞれのサンプルの2D座標である。これら2つの画像または画像領域間の差(「diff」)(同じ分解能およびサイズと仮定する)は、次のように表すことができる。
【0062】
【数2】

【0063】
ここで、<i>はそれぞれの画像または画像領域「i」の平均サンプル値を表し、sd(i)は、それぞれのデーター集合の標準偏差(sqrt(<i−<i>)2>)を表す。「corr」は、露出レベルを調節するためのスケーリング係数のような定数でデーターをスケーリングした場合における不変量である。即ち、
【0064】
【数3】

【0065】
ここで、Sはスケーリング係数を表す定数である。これは、露出レベルが異なる画像間で差を測定するには有用な測定となることができる。ここで、露出レベルの差は、スケーリング係数を表す定数として表すことができる。有色画像(例えば、RGB画像)については、画像の差は、色チャネルの各々についての「corr」の平均、またはチャネルの加重平均(例えば、R、G、およびBチャネルについて、それぞれ、1/4、1/2、および1/4の重み係数)とすることができる。
【0066】
[0077] あるいは、画像の差の測定は、平均サンプル値の減算を省略する式(例えば、前述の式(1)におけるfバーおよびtバー)を使用するというようなことによって、他の方法で行うこともできる。他の代案として、正規化相関係数のような、他のメトリックを動き分析において適用することができる。
【0067】
[0078] 動き分析部530は、基準画像における画素位置と、非基準画像における画素位置との間の一致を求める。一実施態様では、正規化相互相関メトリックを使用して、サンプル値を分析し、一致があるか否か判断する。一致を構成する(constitute)のは何かについての規準、および一致を検出するために使用されるサーチ・パターンというような動き分析の詳細は、実施態様に応じて様々に変えることができる。例えば、動き分析部530は、近隣の画素位置において一致を求め、次いで徐々に(拡大螺旋パターンでというように)サーチ・エリアを広げて行き、非基準画像における画素を基準画像における画素と照合する。
【0068】
[0079] 全域動き分析とは、パンニング、シャダー(shudder)、回転、ズーム、または画像全体に影響を及ぼす動き(movement)のような動き(motion)をモデル化することを目的とする分析のことである。全域動き分析は、特定の種類の全域的な動きと一貫性のある画素位置にあり、一致するサンプル値を探すことを必要とすることがあり得る。例えば、非基準画像におけるパンニングの動きを探す場合、基準信号において主に水平方向に一致するサンプル値を求める必要があることがあり得る。局所動き分析とは、オブジェクトまたは人間主体(human subject)の動きのような、画像の個々の部分における動きをモデル化することを目的とする分析のことである。
【0069】
[0080] 特定の画素位置から他の画素位置への動きを検出した後、動き検出部530は、この動きを定量化する。一実施態様では、動き分析部530は、画像における画素毎に、基準画素に対する動きベクトルを計算する。例えば、動きベクトルは、基準画像に対して相対的な、水平次元における変位、および垂直次元における変位を示すことができる。ゼロの動きベクトルは、特定の画素について動きが検出されなかったことを示すために使用することができる。あるいは、動き分析部530は、動きを何らかの他の方法で定量化することができる。例えば、動き分析部530は、入力画像を再度サンプリングし(subsample)、再度サンプリングされた画像における画素について動きベクトルを計算することができる。
【0070】
[0081] 実施形態例では、異常に低いサンプル値または異常に高いサンプル値は、動き分析において考慮されない。何故なら、これらは多くの場合信頼性がないからである。例えば、サンプルの高い値または低い値は、画像ノイズが原因であるかもしれず、あるいは画像キャプチャー・デバイスにおける画像センサーのダイナミック・レンジの限界のために、値が正確な測定値でないかもしれない。動き分析に使用するための容認可能なサンプル値の範囲、およびこの範囲を決定する方法は、様々に変わる可能性がある。例えば、動き分析に使用するための容認可能なサンプル値の範囲は、全ての画像について予め決定しておくことができ、あるいは画像毎または入力画像集合毎に(例えば、画像情報および/またはユーザーの好みに基づいて)適応的に決定することができる。
【0071】
[0082] 全域および局所分析を行うために使用される個々の技法は、実施態様に応じて様々に変化する可能性があり、全域動き分析に使用される技法は、局所動き分析に使用される技法とは異なる場合もある。
b.ガンマ−リニア変換
[0083] ガンマ−リニア変換部540は、線形ドメインにない入力画像信号を変換するために使用することができる。静止画像ファイル(例えば、JPEGファイル)におけるデーターは、通例、ガンマ・エンコード値(gamma-encoded value)を含む。一実施態様では、全てのR/G/Bサンプルが、各画像において伝達される色プロファイル、またはHDR画像発生システム510におけるデフォルトの色プロファイルにしたがって、線形ドメインに変換される。これによって、カンマ・エンコード・サンプルを線形ドメインに変換することが可能となり、画像データーをHDR画像に統合する前に、サンプル値をスケーリングすることができる(以下で更に詳しく説明する)。あるいは、ガンマ−リニア変換が必要でないというようなときには、ガンマ−線形変換部540を省略することができる。
c.相対的露出レベルの導出
[0084] 相対的露出導出部550は、動き分析に基づいて、入力SDR画像522、524、526、528に対する相対的露出を導き出す。このように、動きを考慮に入れつつ、各画像の相対的露出レベルを、基準画像に対して導き出すことができる。例えば、サンプル値を有する非基準画像における画素について、動きベクトルは基準画像に対する動きを示す。動きベクトルは、基準画像において、それ自体のサンプル値を有する対応する画素を指し示す。この1対のサンプル値の比率は、サンプル比率となる。このように、サンプル比率は、動き分析に基づいて、サンプル値の対毎に導き出すことができる。次いで、サンプル比率の平均を求めることによって、相対的露出を計算することができる。一実施態様では、相対的露出は、ガンマ−リニア変換部540によって与えられる線形RGBドメインにおけるデーターに基づいて導き出される。あるいは、露出導出部550が他の何らかの方法で相対的露出レベルを計算する。
d.画像信号のスケーリング
[0085] 画像信号スケーラー560は、相対的露出レベルに基づいて、サンプル値をスケーリングする。一実施態様では、画像信号スケーラー560は、非基準入力SDR画像522、526、527毎のサンプル値に、それぞれの画像についての相対的露出レベルに対応するスケーリング係数を乗算するが、基準画像524のスケーリングを省略する。このスケーリングは、スケーリングしたサンプル値を同じ(基準)正規化レベルに持って行く。一実施態様では、スケーリング動作は、ガンマ−リニア変換部540によって与えられる線形RGBデーターに対して適用され、同じスケーリング係数が画像のR、G、およびBサンプル値全てにわたって適用される。あるいは、スケーリングは動き分析の前に行われ、動き分析を、スケーリングされたピクチャーに対して行うことができる。しかしながら、この場合、スケーリング後のサンプル値に対して動き分析が行われるので、動き分析の信頼性が低くなる可能性がある。
e.画像統合
[0086] 画像統合部570は、入力SDR画像522、524、526、528を統合する。HDR画像発生システム510が場面を描画する数個のSDR画像を入力として取り込んである場合、場面におけるサンプル位置毎に多数のサンプル値がある。画像統合部570は、サンプル値を統合して、HDR画像における対応するサンプル位置に対するサンプル値を形成する。
【0072】
[0087] 一実施態様では、画像統合部570は、サンプル位置毎にスケーリング後のサンプル値(scaled sample value)を含む、サンプル値の加重平均を計算する。つまり、同じ「基準」露出レベルにスケーリングされた線形信号が、加重平均として統合される。サンプル値毎の重み係数は、スケーリングおよび線形変換前に対応する元のサンプル値にしたがって決定される信頼レベルに基づく。重み係数は、信頼レベルに比例する。信頼レベルが高い程、重み係数は大きくなる。信頼レベルは、元の値がどの位離れている(extreme)かに応じて変化する。例えば、過度に暗いエリアまたは飽和エリアに対して、信頼レベルは0に設定される。
【0073】
[0088] 元の値がガンマ・ドメインにある(線形ドメインではなく)場合に、どのように信頼レベルC(s)を計算できるかということの一例を以下に示す。
【0074】
【数4】

【0075】
式(4)は、ゼロの信頼レベルが、余りに高いまたは低い値に適用されることを示す。あるいは、信頼レベルは、他の何らかの方法で計算される。例えば、0の信頼レベルが割り当てられる値の範囲の閾値は、実施態様に応じて、様々に変化する可能性がある。
【0076】
[0089] 一実施態様では、重み係数も露出レベルの関数となる。加重平均を計算する際、露出が高い方のショットからのサンプル値は、露出が低い方の画像からのサンプル値よりも大きく重み付けされる。これは、統計的に、画像センサーに入る光子の数が多い程、サンプル値は増々精度が高くなるという観察に基づく。
【0077】
[0090] 一例として、元の値が「s」であるサンプルの重み係数w(sは[0,1]の範囲に正規化されている)は、次のように表すことができる。
【0078】
【数5】

【0079】
ここで、「e」は、相対的露出値(相対的露出導出部550によって計算された相対的露出値のような)であり、C(s)は信頼レベルである。乗数「a」の典型的な値は、0.25および1.0の間である。一実施形態では、乗数「a」を0.5に設定する(即ち、eの二乗根)。
【0080】
[0091] 重み係数が決定されているときには、加重平均を導き出すことができる。例えば、加重平均は、加重算術平均または加重幾何学的平均として計算することができる。
f.フォーマット変換
[0092] フォーマット変換部/エンコーダー580は、統合画像をしかるべき画素フォーマットに変換する。例えば、フォーマット変換部/エンコーダー580は、画像統合部570から供給された統合画素データーを取り込み、このデーターをエンコードしてJPEG XR画像ファイルを作成する。あるいは、フォーマット変換部/エンコーダー580は、このデーターを処理して、RGBEファイル、「半浮動」ファイル(half-float file)、またはHDR画像データーを表すのに適した他のファイルというような、異なる画像ファイルを作成する。フォーマット変換部/エンコーダー580は、あらゆる所望の画像フォーマットに合わせてエンコード・モジュールを含むことができる。生のHDR画素データーが所望の出力であり、特殊なフォーマットまたはエンコード処理が不要であるというような場合には、フォーマット変換部/エンコーダー580をHDR画像発生システム510から省略することができる。
g.拡張および代替
[0093] システム510内部にあるモジュール間で示される関係は、本システムにおける情報の一般的な流れを示す。簡略化のために、他の関係は示されていない。実施態様および望ましい処理のタイプに応じて、本システムのモジュールを追加すること、省略すること、多数のモジュールに分割すること、他のモジュールと組み合わせること、および/または同様のモジュールと置き換えることができる。代替実施形態では、異なるモジュールおよび/またはモジュールの異なる構成を有するシステムが、以上で説明した技法の内1つ以上を実行する。
【0081】
[0094] 例えば、システム510は、プリプロセッサーを含むことができる。プリプロセッサーは、ロー・パス・フィルターまたはその他のフィルターを使用して入力ディジタル画像をスムージングし、高周波成分を選択的に除去する。または、プリプロセッサーはその他の前処理タスクを実行する。例えば、プリプロセッサーは、ブロック・アーチファクト、バンディング・アーチファクト、リンギング・アーチファクト、または画像キャプチャー・デバイスにおけるデモザイク動作(demosaicing operation)によって生じたアーチファクトというような、画像アーチファクトを低減することに特定的なタスクを実行することができる。
B.高ダイナミック・レンジ画像レンダリングのための手法
1.一般化した技法
[0095] 図6は、HDR画像をレンダリングするための技法例600を示すフロー・チャートである。図3に示したHDR画像処理システム310のようなシステムまたは他のシステムが技法600を実行する。本明細書において使用する場合、「レンダリング」という用語は、HDR画像データーを異なる形態に変換することを意味する。HDR画像データーをレンダリングするアプリケーションの例には、HDR画像を、それよりもダイナミック・レンジが低いモニター上に表示するために準備すること、またはSDR画像ファイルに格納するためにHDR画像ファイルの中にあるHDR画像データーを変換することを含む。
【0082】
[0096] 技法例600では、610において、本システムは、HDRディジタル画像におけるサンプル値を、それぞれの低ダイナミック・レンジ(LDR)値にトーン・マッピングする。例えば、本システムは、全域トーン・マッピング参照表の中にあるそれぞれのLDR値を識別し、識別した値をLDR画像バッファーに格納する。
【0083】
[0097] 620において、本システムは、トーン・マップ・サンプル値の各々について、局所コントラスト値を計算する。例えば、本システムは、線形ドメインにおける画像データーに基づいて、局所コントラスト値を計算する。
【0084】
[0098] 630において、本システムは、トーン・マップ・サンプル値の各々について、少なくとも部分的にそれぞれの局所コントラスト値に基づいて、残差信号を導き出す。例えば、本システムは、LDR画像バッファーにおけるサンプル値に、対応する局所コントラスト値を乗算する。
【0085】
[0099] 640において、本システムは、トーン・マップ・サンプル値およびそれぞれの残差信号に少なくとも部分的に基づいて、LDRディジタル画像に対してサンプル値を計算する。例えば、本システムは、LDRバッファーにおけるサンプル値、対応する残差信号、および高周波ディザリング信号を全て加算する。
2.実施態様例
[0100] この章では、HDR画像をレンダリングする手法の1群の実施態様例についての実施態様の詳細を示す。
【0086】
[0101] 図7は、HDR画像レンダリング・システム710の実施態様例を示す図である。図7に示す例では、システム710は入力としてHDR画像720を取り込む。図7は、種々の処理段階を実現し、LDR画像790を出力として生成するモジュール例を示す。具体的には、システム710は、相互画像処理によってHDRレンダリングを実現するモジュールを示す。「相互画像処理」とは、本明細書で使用する場合、元のHDR画像情報、およびトーン・マッピングされた、低ダイナミック・レンジの情報の双方を使用するHDR画像処理のことを指す。例えば、システム710は、元のHDR画像情報およびトーン・マップ画像情報の双方を使用して、HDR画像レンダリングの間、局所画像コントラスト計算を実行する。
a.前処理
[0102] 図7に示す例において、システム710はプリプロセッサー722を含む。プリプロセッサー722は、前処理段階において、HDR画像720からのHDR画像データーに対して、ディジタル信号処理(DSP)動作を実行する。プリプロセッサー722において実行することができる動作には、限定ではないが、画像のサイズ変更、明示的な露出またはダイナミック・レンジ制御、色温度制御、および色強調が含まれる。前処理動作は、画像品質に種々の効果を得るために行うことができる。例えば、色強調は、レンダリングされたピクチャーに更に芸術的な外観を与えるために使用することができる。前処理動作は、実施態様に応じて、異なる方法で実行することができる。例えば、色強調は、色相−彩度−明暗度(HIS)空間において彩度を高めることによって遂行することができ、あるいはもっと単純な代案として、画素毎の優勢色チャネル(例えば、RGB色空間におけるR、G、またはB)を高めることができる。ユーザーの好みに基づいて、前処理動作を調節すること、あるいはオンまたはオフに切り替えることができる。
【0087】
[0103] プリプロセッサー722を参照して説明した動作は、前処理段階において形成されることに限定されるのではなく、代わりに、レンダリングされたLDR画像(例えば、LDR画像790)に対して実行することもできる。しかしながら、このような動作を前処理段階においてHDR画像に対して実行すると、一層精度が高い結果を得ることができる。何故なら、HDR画像データーをそれよりも低いダイナミック/レンジにマッピングすると、何らかの画像データーが失われるのが通例であるからである。
b.トーン・マッピング
[0104] 図7に示す例では、システム710はトーン・マッパー(tone mapper)730を含む。一実施態様では、線形ドメインにおけるサンプル毎に、トーン・マッパー730は、LUT732を使用して、対応するLDR値を特定し、この対応する値をLDR画像バッファーに格納する。線形ドメインからガンマ補正ドメインへのトーン・マッピング・プロセスでは、通例では式x’=xgammaにしたがって線形サンプル値xをガンマ補正値x’に変換する。ここで、制御パラメーター「gamma」は実際には定数となる。一旦LUT732を発生したなら、トーン・マッパー730はHDR画像サンプル値をLUT732において参照して、LDRサンプル値を決定する。HDR画像におけるサンプル値毎に対応するLDR値を特定し、これらをLDR画像バッファーに格納するこのプロセスは、第1パス・トーン・マッピングと呼ぶことができる。HDR画像の全ての部分に適用した場合、このプロセスは、第1パス・全域トーン・マッピングと呼ぶことができる。
【0088】
[0105] LUT732は、適応ガンマ関数に基づいて発生することができる。適応ガンマ関数は、LUT732を発生するための適応ガンマ・パラメーターを発生する。ガンマが線形サンプル値xの関数であるとき(適応ガンマ関数)、この状況を一般にx’=xgamma(x)と表すことができる。一実施態様では、ガンマ・ドメインにおけるサンプル値xに対する適応ガンマ・パラメーターγ(x)は、式(6)に示すように、2つの制御パラメーターγおよびγの加重平均となる。
【0089】
【数6】

【0090】
[0106] 簡略化した場合では、ガンマ0を2.2に設定することができる。ガンマ制御パラメーターは、ガンマ制御部734から得られる情報において指定することができ、ガンマ・パラメーターに関するユーザー好み情報を得るために用いることができる。あるいは、ガンマ制御部734を省略する。
【0091】
[0107] 加重関数w(x)は、異なる方法で実現することができる。一例として、関数w(x)は、w(x)=√xと表すことができ、あるいは更に柔軟性を得るために、関数w(x)は、w(x)=xと表すことができる。「b」は[0.2、1.0]の範囲にある。あるいは、bを異なる範囲に制限するか、または加重関数w(x)を何らかの他の方法で実装する。
【0092】
[0108] 第1パス・トーン・マッピング(例えば、第1パス・全域トーン・マッピング)では、比較的明るい領域における画像コントラストを大幅に低減することができる。しかしながら、システム710における他のモジュールは、画像コントラストを正常に戻すために、または視覚品質に関して高いレベルに持って行くためにも使用することができる。
c.残差信号抽出および関連フィルタリング
[0109] 図7に示す例では、システム710は残差信号抽出部740を含む。残差信号抽出部740は、局所画像コントラストを計算する。一実施態様では、残差信号抽出部740は、線形ドメインにおけるデーターに基づいてサンプル毎にロー・パス・フィルターを使用して局所画像コントラストを計算し、第1パス・トーン・マッピングにおいて得られたデーターを使用してフィルタリングに対する閾値Tを設定するので、強いテクスチャーが更に強調されることはない。また、閾値Tはユーザー制御パラメーターとなることもできる(例えば、任意のフィルター制御部742から得られるユーザー好み情報に基づいて)。
【0093】
[0110] 残差信号抽出部740は、相互画像処理を使用して、局所画像コントラストを計算する。例えば、閾値Tは、第1パス・全域トーン・マッピングの結果に基づくが、他のフィルター動作はHDRデーター空間において行われる。HDR空間では、フィルターの出力が「背景」を確定する。元のサンプル値と「背景」との間の相対的デルタが、式(7)に示すように、局所コントラスト値となる。
【0094】
【数7】

【0095】
[0111] 次いで、局所コントラスト値に、LDRバッファーにおける対応するサンプル値を乗算することによって、サンプル毎の残差信号を導き出す。
「0112」 残差信号抽出のフィルタリング段階では、システム710は画像の現サンプルにフィルタリングをかける。例えば、本システムは、現サンプルを含む1本以上のサンプル・ラインの各々に沿って、適応閾値フィルターを使用する。または、本システムは対応する二次元フィルターを使用する。このフィルタリングの強度(例えば、閾値にしたがって設定される)は、第1パス・トーン・マッピングの結果に応じて、ユーザーの設定値(例えば、任意のフィルター制御部742から得られるユーザー好み情報)に応じて、および/またはその他の要因に応じて、様々に変化する可能性がある。あるいは、本システムは他のフィルターを使用する。
【0096】
[0113] 一実施態様では、入力信号の位置(x、y)における現サンプル値s(x、y)に対して、フィルタリングを次のように表すことができる。
【0097】
【数8】

【0098】
この式において、w(i,j)はNの正規化係数を有する2Dロー・パス・フィルターを表し、Kはフィルター範囲を表す。つまり、s’(x、y)は、フィルタリングされたサンプル値を表す。
【0099】
[0114] 2Dフィルターは、2Dウィンドウとして、または1本以上の軸に沿った1Dフィルターの組み合わせとして実装することができる。図8は、4方向、即ち、水平、垂直、左上から右下、および左下から右上の方向に沿った軸を示す。各軸は、現在のサンプル位置810を含む。これらの軸の1つに該当しない位置にあるサンプル値には、重みが与えられない(w(i,j)=0)。これらの軸の1つに該当する位置にあるサンプル値には、最大の重み(w(i,j)=1)が与えられ、正規化係数が得られることになる。あるいは、フィルターは他の形状を使用する。
【0100】
[0115] サイズ値Kは、このフィルターを使用するフィルタリングの可能な範囲を示す。一実施態様では、K=8であり、現在の位置(x、y)に対して水平および垂直方向に−8から+8までのサンプル位置が、潜在的にある可能性があると考えられる。その考えは、ロー・パス・フィルタリング・プロセスの間中心にあるサンプル810に近いサンプル値のみを使用するということである。
【0101】
[0116] 実施態様の中には、ウィンドウ内において、ある位置を排除するようにフィルターが閾値を使用する場合がある。一般性を失うことなく、以下の規則が示すのは、1D水平ウィンドウにおけるフィルタリングにどのサンプル位置が寄与するかを、どのように閾値が適応的に変化させるかということである。位置オフセットmは、1Dウィンドウ内における同様の値の現在の位置(x、y)から遠ざかる方向の広がりを表す。例えば、オフセットmは、−K<i<Kに対して、以下の制約を満たすiの最小絶対値となるように設定される。
【0102】
【数9】

【0103】
ここで、t(x、y)はLDRバッファーにおける値を表す。iの値がいずれもこの制約を満たさない場合、m=Kとなる。適応フィルターは、簡略化のために対称とし、同じオフセットmを各方向において使用する。あるいは、現在の位置から遠ざかる異なる方向に、異なるオフセット値を使用する。閾値Tは、フィルター閾値制御パラメーターである。現在の位置(x、y)に対するオフセットm以内の位置にあるサンプル値には、フィルタリングのときに重みが与えられ、1Dウィンドウにおける他のサンプル値には与えられない。
【0104】
【数10】

【0105】
ここで、1D水平ウィンドウにおけるフィルタリングに対してj=0であり、−K<i<Kである。
[0117] 1D水平ウィンドウにおけるサンプル値67、67、67、68、68、69、69、70、71、72、73、73、74、75、76のシーケンスについて考える。ここで、現在のサンプル値は、t(x、y)=70である。T=3の場合、オフセット値m=5となる。何故なら、オフセット+5において、|74−70|>3となるからである。
【0106】
[0118] 同様に、1D垂直ウィンドウに沿った適応閾値規則では、位置オフセットmが求められるとき、jは−K<j<Kの範囲で変化する。対角線1Dウィンドウに沿った適応閾値規則では、iおよびj双方が変化することができ、位置オフセットmを求めるための−KおよびKの限度内では、i=j(図8に示す一方の対角線について)、またはi=−j(図8に示す他方の対角線について)となる。2Dウィンドウに対して、位置オフセットmを求めるために、−KおよびKの限度内にあるiおよびjの異なる値における位置までのユークリッド距離を考慮することができる。
【0107】
[0119] 適応閾値規則を適用するかまたは適用しないかには関係なく、w(i,j)の値を設定するときに、正規化係数Nを決定する。実施態様の中には、簡略化のために、w(i,j)のタップ係数が0または1のいずれかである場合もある。正規化係数Nは、単にw(i,j)=1のときの位置の計数値である。更に一般的には、w(i,j)における異なる位置は、例えば、現在の位置により多くの重みを与えるために、あるいは双一次または双三次(bicubic)フィルターを実装するために、異なるタップ値を有することができ、その場合、フィルタリングに寄与する位置に対するタップ値を合計して、正規化係数Nを決定する。
【0108】
[0120] フィルタリングの強度は、パラメーター値TおよびKを設定することによって、効果的に制御することができる。Kを増大させると、フィルタリングのために可能なウィンドウ・サイズが増大し、潜在的により強くなる可能性があるフィルタリングが行われることになる。Tを増大させると、類似性の制約を満たすサンプル値が増えるので、フィルタリングに寄与する位置が多くなるという結果につながり、一層強いフィルタリングが行われる結果につながる。
d.残差信号フィルタリング
[0121] 図7に示す例では、システム710は残差信号フィルター760を含む。残差信号フィルター760は、残差信号抽出部740から得られた残差信号を、ロー・パス・フィルターを使用してフィルタリングする。残差信号フィルター760において行われるフィルタリングは、残差信号抽出部740において行われるフィルタリングに追加されるものであり、このフィルタリングは、局所コントラスト値を得るために行われる。
【0109】
[0122] 残差信号フィルター760では、望ましくないサンプル値を除去するために、フィルタリングが行われる。例えば、残差信号フィルター760は、3×3ボックスカー・フィルター(boxcar filter)を使用して、異常なサンプル値(例えば、それらのコンテキストに対して、明るすぎるまたは暗すぎるサンプル値)を除去し、更に画像ノイズを除去する。この例では、3×3ボックスカー・フィルターは、フィルタリングが行われる「現在の」画素位置を中心とした3×3行列に配列された9個のサンプルの等加重平均であり、{{1/9,1/9,1/9},{1/9,1/9,1/9},{1/9,1/9,1/9}}と表すことができる。ロー・パス・フィルタリングの後信号が反対の符号を有する場合(例えば、正から負に変化した)、フィルタリングされた値を「0」に設定する。フィルタリングの強さは、ユーザーの設定値(例えば、任意のフィルター制御部742から得られるユーザー好み情報)に応じて、および/または他の要因に応じて様々に変化する可能性がある。あるいは、本システムは他のフィルターを使用する。他の代案として、残差信号フィルター760を省略する。
e.残差信号スケーリング
[0123] 図7に示す例では、システム710は残差信号スケーラー770を含む。残差信号スケーラー770は、残差信号(例えば、残差信号抽出部740から得られた残差信号)をスケーリングする。残差信号スケーリングは、ユーザー制御に基づいて調節することができる。例えば、ユーザーの好みを、スケーリング制御部772から得られるパラメーターで表すことができる。あるいは、スケーリング制御部772を省略する。
【0110】
[0124] 一実施形態では、残差信号スケーラー770は、以下の式(11)に示すスケーリング関数を適用する。
【0111】
【数11】

【0112】
ここで、「x」はLDR画像バッファーの中にあるサンプル値であり、0から1の範囲を取る。「S」はユーザー制御スケーリング係数である。このユーザー制御スケーリング係数は、異なる値を取ることができ、更にデフォルト値(例えば4)を取ることができる。
【0113】
[0125] 残差信号スケーラー770によって適用されるスケーリング係数は、LDR画像バッファー内にあるサンプル値の関数とすることができる。例えば、スケーリング係数は、LDR画像バッファーの中にある対応するサンプル値が低いときには小さくすることができ、またはスケーリング係数は、LDR画像バッファーの中にある対応するサンプル値が高いときには、大きくすることができる。サンプル値に依存するスケーリング係数を適用するスケーリング(例えば、LDR画像バッファーの中にあるLDRサンプル値)を、相対的残差スケーリングと呼ぶことができる。
【0114】
[0126] 一実施形態では、残差信号スケーラーは、残差信号フィルター760から得られた、フィルタリング後の残差信号をスケーリングする。あるいは、残差信号スケーリングを省略することができ、または残差信号フィルタリングの前に適用することができる。
f.ディザリング
[0127] 図7に示す例では、システム710は選択的にディザリング信号782をサンプル値に追加する。例えば、本システムは、現在のサンプルの位置に対して、ディザリング・オフセットを決定する。
【0115】
[0128] 人間の視覚系は、些細な低周波信号レベル変化に対して、特に暗い画像エリアにおいて、比較的敏感であるが、高周波信号に対しては特に敏感ではない。従来の前処理では、高周波ノイズを除去する。しかしながら、高空間−時間周波ディザリング信号をしかるべく追加すると、人間の視覚系はディザリング信号を画像信号と「統合」する。これによって、効果的に、ディザリング信号を知覚的に目立たなくする一方、画像またはディスプレイにおいてビット深度が制限されることによって生ずる、それ以外の知覚可能なバンディング・アーチファクトまたはその他のアーチファクトを取り除く。例えば、3ピクチャーの高さ(three picture heights)というような適正な距離から見ると、追加されたディザリング信号は、整数値の間にあるサンプル値の認識を生み出すことができる。これは、人間の視覚系が、サンプル値をディザリングと統合するからである。
【0116】
[0129] 実施態様の中には、整数値(例えば、8ビット整数値)に切り捨てる(clip)前に、変換の最終丸め段階においてディザリング信号を適用する場合もある。他の実施態様では、ディザリング信号は、切り捨ての後に適用される。ディザリング信号の強度は、実施態様に依存し、局所的な画像特性、ディジタル画像に対するハイ・パス信号の特性、またはその他の要因に応じて、適応的に変化することができる。通例、ディザリング信号の信号強度(または標準偏差)は、整数レベル内に十分収まる。
g.LDR画像発生
[0130] 図7に示す例では、システム710はLDR画像発生部780を含む。LDR画像発生部780は、他の処理段階において得られた情報に基づいて、出力LDR画像790のサンプル値を発生する。例えば、LDR画像バッファーの中にあるサンプル値毎に、LDR画像発生部780は、このサンプル値を残差信号および高周波ディザリング信号と組み合わせる。
【0117】
[0131] 一実施形態では、LDR画像生成部は、LDRバッファーから得られたLDRサインプル値、残差信号、およびディザリング信号を互いに加算し、その結果を丸めて整数にし、この結果を8ビット値に切り詰める(crop)(例えば、8bpcカラー・モニター上で表示する画像では)。例えば、LDR画像生成部780は、出力LDR画像790に対して出力サンプル値を決定するために、次の式を使用する。
【0118】
【数12】

【0119】
ここで、LDR画像バッファーから得られたサンプル値は、8ビット整数(基底10値0〜255を表す)であり、ディザリング信号は、丸め動作を滑らかにする(smooth out)ために、値が−0.5および+0.5の間となる「ブルー・ノイズ」(blue noises)である。式(12)に示す例では、最も近い整数に丸めるために、0.5を加算する。あるいは、0.5の加算を省略することもできる。例えば、ディザリング信号が、0の代わりに、0.5を中心とする場合、丸めのための0.5の加算を省略することができる。
h.拡張および代替
[0132] システム710内にあるモジュール間で示す関係は、当該システムにおける一般的な情報の流れを示す。簡略化のために、他の関係は示されていない。実施態様および所望の処理タイプに応じて、システムのモジュールを追加すること、省略すること、多数のモジュールに分割すること、他のモジュールと組み合わせること、および/または同様のモジュールと置き換えることができる。代替実施形態では、異なるモジュールおよび/または異なるモジュールの構成としたシステムが、記載した技法の1つ以上を実行する。
【0120】
[0133] 例えば、システム710は、圧縮画像データーを伸張するためにデコーダーを含むことができる。デコーダーは、プリプロセッサーが伸張HDR画像データーに対して前処理動作を実行できるように、本システムに含ませることができる。このデコーダーによって行われる正確な動作は、圧縮フォーマットに応じて、様々に変化する可能性がある。例えば、JPEG XRに準拠するデコーダーでは、JPEG XRファイルのHDR画像情報を伸張することができ、またJPEGに準拠するデコーダーでは、JPEGファイルのSDR画像情報を伸張することができる。
【0121】
[0134] また、システム710は1つ以上のエンコーダーも含むことができる。エンコーダーは、画像信号を圧縮し、圧縮ディジタル画像情報のビット・ストリームを出力する。このエンコーダーによって行われる正確な動作は、圧縮フォーマットに応じて様々に変化する可能性がある。例えば、エンコーダーは、JPEGのようなフォーマットにしたがって、LDR画像情報を圧縮することができる。
C.ユーザー対話処理およびパラメーター制御の手法
この章では、HDR画像を発生するまたはレンダリングするシステムとのユーザーの対話処理の手法について説明する。例えば、ユーザー好み情報を、HDR画像発生、HDR画像レンダリング、またはHDR画像発生およびHDR画像レンダリングの組み合わせに適用することができる。ここで記載する例では、HDR画像レンダリングに関連のあるパラメーターを調節するために使用される、ユーザー調節可能な制御に言及するが、HDR画像発生に関連のあるパラメーターを調節するために使用される、ユーザー調節可能な制御も使用することができる。
1.一般化した技法
[0135] 図9は、ユーザー好み情報にしたがってHDR画像を処理する技法900を示す。図10に示すHDR画像処理システム1010のようなシステム、または他のシステムが技法900を実行する。
【0122】
[0136] 910において、本システムは、HDR画像発生パラメーターまたはHDR画像レンダリング・パラメーターに対してユーザーの好みを設定するために、1つ以上のユーザー好み制御部を設ける。920において、本システムは、ユーザー好み制御部と関連のあるユーザー好み情報を受け取る。930において、本システムは、ユーザー好み情報に少なくとも部分的に基づいて、HDRディジタル画像を発生またはレンダリングする。940において、HDR画像処理が行われた場合、本プロセスは終了し、あるいは本システムは、同じユーザーまたは異なるユーザーから、同じユーザー好み制御部または異なるユーザー好み制御部から追加のユーザー好み情報を得て、異なる方法でHDRディジタル画像を発生またはレンダリングすることができる。例えば、ユーザーは、ガンマ調節に対するユーザーの好みにしたがってHDR画像のLDRバージョンを見ることができ、次いでフィルタリングに対するユーザーの好みにしたがってHDR画像の他のLDRバージョンを見ることができる。元のHDRディジタル画像は、ディジタル・ネガとして保存し、元の画像データーに基づいて今後修正を可能にすることができる。
2.実施態様例
[0137] この章では、ユーザー好み情報にしたがってHDR画像を発生またはレンダリングする手法の一群の実施態様例について、実施態様の詳細を示す。
【0123】
[0138] 図10は、ユーザー好み情報にしたがってHDR画像を発生またはレンダリングするHDR画像処理システム1010の実施態様例を示す図である。図10に示す例では、システム1010は入力画像(1つまたは複数)1020を処理する。システム1010は、HDR画像レンダリングのために入力HDR画像を処理し、またはHDR画像発生のために入力LDR画像を処理する。図10は、種々の処理段階を実現し出力画像(1つまたは複数)1060を発生するモジュール例を示す。具体的には、システム1010は、ユーザー・インターフェースを設けるおよび/またはユーザー入力1080を解釈するために、ユーザー好みモジュール1070を含む。例えば、ユーザーは1つ以上のユーザー入力デバイス(例えば、マウス、キーボード、マイクロフォン、目追跡デバイス(eye-tracking device)、タッチ・スクリーン、または他の何らかのデバイス)上で動作を実行することができる。あるいは、HDR画像処理システム1010は、画像ファイルに格納されているユーザー好みメタデーターを受け取るというようなことによって、他の何らかの方法でユーザーの好みを判定する。ユーザー好みモジュール1070は、実行する処理のタイプに応じて、ユーザー好み情報をHDR画像発生部1040および/またはHDR画像レンダラー1050に提供する。
【0124】
[0139] 個々のユーザーは、多数の方法で画像を処理することができ、多数のユーザーが同じ画像に対してユーザーの好みを設定することができる。ユーザー好み情報は、画像データーを変更することなく、メタデーターとして画像ファイルに格納することができる。これによって、元の画像データーを保存しつつ、異なるユーザーが、彼ら自身のユーザーの好みを画像に適用することによって、画像を共有することが可能になる。ユーザーの好みは、ガンマ制御パラメーター、残差フィルター制御パラメーター、残差スケーリング制御パラメーター、色強調パラメーター、サイズ変更パラメーター、色温度制御パラメーター、および白点制御パラメーターというような、画像処理パラメーターを調節するために使用することができる。また、ユーザー識別情報も、対応するユーザー好み情報と共にセーブすることができる。多数の組のメタデーターを画像ファイルに格納することができるので、同じピクチャーを種々の方法で異なるユーザーによって同じシステムにおいてレンダリングすることができる。
【0125】
[0140] 例えば、ユーザー好みモジュール1070は、ユーザー調節可能制御部を設けて、ユーザーがHDR画像レンダリングのパラメーターを制御することを可能にすることができる。ユーザー好みモジュール1070によって設けられる具体的な制御部は、実施態様に応じて様々に変化する可能性がある。例えば、再度図7を参照すると、画像レンダリングのためのユーザー調節可能制御部は、トーン・マッピング・パラメーターを調節するための制御部(例えば、ガンマ制御部734)、フィルター制御部742、およびスケーリング制御部722を含むことができる。
【0126】
[0141] システム1010内にあるモジュール間に示す関係は、当該システムにおける一般的な情報の流れを示す。簡略化のために、他の関係は示されていない。実施態様および所望の処理タイプに応じて、システムのモジュールを追加すること、省略すること、多数のモジュールに分割すること、他のモジュールと組み合わせること、および/または同様のモジュールと置き換えることができる。代替実施形態では、異なるモジュールおよび/または異なるモジュールの構成としたシステムが、記載した技法の1つ以上を実行する。
V.拡張および代替
[0142] この章では、以上で鍾愛した技法およびツールのその他の拡張、代替、および応用の一部について資料を提供する。
【0127】
[0143] 記載したHDR画像発生およびレンダリングのための技法およびツールは、画像修正を前もって見るために、HDR画像のダウン・サンプル(即ち、解像度を落とした)バージョンに適用することができる。例えば、トーン・マッピング制御パラメーターおよびトーン・マッピング動作は、画像修正を前もって見るためにHDR画像のダウン・サンプル(即ち、解像度を落とした)バージョンに適用することができる。次いで、同じパラメーターまたは動作、あるいは異なるパラメーターまたは動作を、画像の最大解像度バージョンに適用することができる(例えば、画像の最終バージョンを発生するとき)。
【0128】
[0144] 記載したHDR画像発生およびレンダリングのための技法およびツールは、HDR画像アチーブ・アニメーション(HDR images achieve animation)または遷移効果に適用することができ、または画像における異なる情報を明らかにするために適用することができる。例えば、HDR画像は、一連のLDR画像としてレンダリングすることができ、各LDR画像は、異なるトーン・マッピング・パラメーターを有し、低い露出設定からそれよりも高い露出設定への遷移を動画化することができ、異なる画像の詳細および異なる露出設定を潜在的に明らかにすることができる。
【0129】
[0145] 記載したHDR画像発生およびレンダリングのための技法およびツールは、ビデオまたは仮想3D環境に適用することができる。
[0146] 記載したHDR画像発生およびレンダリングのための技法およびツールは、他のディジタル画像処理技法およびツールと合わせて使用することができる。例えば、記載したHDR画像発生およびレンダリングのための技法およびツールは、ディジタル写真編集というシナリオにおいて使用して、例えば、HDR画像の異なる部分においてトーン・マッピング・パラメーターを変更することを伴う画像修正を、ユーザーが前もって見ることを可能にすることによって、コンピューター上でHDR画像を編集することができる。
【0130】
[0147] 以上、記載した実施形態を参照しながら、本発明の原理について説明し図示したが、記載した実施形態は、このような原理から逸脱することなく、その構成および詳細において変更が可能であることは認められよう。尚、本明細書において記載したプログラム、プロセス、または方法は、特に示されていない限り、いずれの特定のタイプの計算環境にも関係付けられることも、限定されることもないことは言うまでもない。種々のタイプの汎用または特殊計算環境を、本明細書において記載した教示と共に使用することができ、あるいはその教示にしたがって動作を実行することができる。ソフトウェアで示した記載した実施形態のエレメントは、ハードアウェアで実現することもでき、そしてその逆もかのうである。
【0131】
[0148] 本発明の原理を適用することができる実施形態が多くあることに鑑み、出願人は、以下の請求項の範囲および主旨、ならびにその均等物に該当すると考えられる全てのそのような実施形態を、本出願人の発明として特許請求することとする。

【特許請求の範囲】
【請求項1】
コンピューター・システムにおいて、高ダイナミック・レンジ・ディジタル画像を発生する方法であって、
シーンを描写する1組の複数のディジタル画像において、基準画像に対する動き分析を行うステップであって、前記動き分析が、前記1組の中にある1つ以上の非基準画像の各々について、前記基準画像に対する画像差を判定することを含む、ステップと、
前記動き分析に少なくとも部分的に基づいて、非基準画像毎に、前記基準画像に対する1つ以上の相対的露出レベルを導き出すステップと、
前記1つ以上の相対的露出レベルに少なくとも部分的に基づいて、前記シーンを描写する高ダイナミック・レンジ・ディジタル画像を形成するために、前記1組の複数のディジタル画像を統合するステップと、
を備えている、方法。
【請求項2】
請求項1記載の方法であって、更に、
前記1つ以上の相対的露出レベルに少なくとも部分的に基づいて、各非基準画像におけるサンプル値を正規化レベルにスケーリングするステップを備えておあり、
前記統合が、前記高ダイナミック・レンジ・ディジタル画像における各サンプル位置について、前記基準画像における前記サンプル位置に対応するサンプル値の加重平均と、各非基準画像における前記サンプル位置に対応する、スケーリングされたサンプル値とを計算することを含む、方法。
【請求項3】
請求項1記載の方法であって、更に、
1組の候補画像の内どの画像が、容認可能な露出範囲に該当するサンプル値をより多く有するか判定することによって、前記1組の候補画像から前記基準画像を選択するステップを備えている、方法。
【請求項4】
請求項1記載の方法において、前記動き検出が、前記基準画像に対する画像差を判定するために、正規化相互相関を使用することを含む、方法。
【請求項5】
請求項1記載の方法において、前記動き検出が、前記基準画像に対する画像差を判定するために、非基準画像におけるサンプル値の部分集合を選択するステップを含み、前記部分集合が、前記サンプル値がある範囲の露出値に該当するか否かに基づいて選択される、方法。
【請求項6】
請求項1記載の方法において、前記動き検出が、全域的動き検出、およびその後に続く局所的動き検出を含む、方法。
【請求項7】
請求項1記載の方法において、前記1つ以上の相対的露出レベルが、各々、それぞれの非基準画像に対する平均サンプル比に基づいて導き出される、方法。
【請求項8】
コンピューターに方法を実行させるコンピューター実行可能命令が格納されている1つ以上のコンピューター読み取り可能媒体であって、前記方法が、
高ダイナミック・レンジ・ディジタル画像における複数のサンプルの各々を、それよりも低いそれぞれのダイナミック・レンジ値にトーン・マッピングするステップと、
前記トーン・マップ・サンプル値(tone-mapped sample value)の各々について、局所コントラスト値を計算するステップと、
前記トーン・マップ・サンプル値の各々について、残差信号を導き出すステップであって、前記それぞれの局所コントラスト値に少なくとも部分的に基づいて導き出す、ステップと、
前記トーン・マップ・サンプル値および前記それぞれの残差信号に少なくとも部分的に基づいて、より低いダイナミック・レンジ・ディジタル画像のサンプル値を計算するステップと、
を備えている、1つ以上のコンピューター読み取り可能媒体。
【請求項9】
請求項8記載のコンピューター読み取り可能媒体において、前記トーン・マッピングを行うステップが、
全域トーン・マッピング参照表を発生するステップと、
前記高ダイナミック・レンジ・ディジタル画像における複数のサンプル値の各々について、それよりも低いダイナミック・レンジ値を特定するステップと、
を備えており、前記特定するステップが、前記全域トーン・マッピング参照表において前記複数のサンプル値の各々を参照することを含む、コンピューター読み取り可能媒体。
【請求項10】
請求項9記載のコンピューター読み取り可能媒体において、前記全域トーン・マッピング参照表が、適応ガンマ関数に基づいて発生される、コンピューター読み取り可能媒体。
【請求項11】
請求項8記載のコンピューター読み取り可能媒体において、前記トーン・マップ・サンプル値の各々について前記残差信号を導き出すステップが、各トーン・マップ・サンプル値に前記それぞれの局所コントラスト値を乗算するステップを含む、コンピューター読み取り可能媒体。
【請求項12】
請求項8記載のコンピューター読み取り可能媒体において、前記方法が、更に、
前記残差信号の1つ以上にスケーリングを適用するステップを備えており、前記スケーリングが、前記それぞれの残差信号に対応するトーン・マップ・サンプル値の関数であるスケーリング係数を適用することを含む、コンピューター読み取り可能媒体。
【請求項13】
請求項8記載のコンピューター読み取り可能媒体において、前記より低いダイナミック・レンジ・ディジタル画像のサンプル値が、各々、トーン・マップ・サンプル値、残差信号、および高周波ディザリング信号を組み合わせることによって計算される、コンピューター読み取り可能媒体。
【請求項14】
請求項8記載のコンピューター読み取り可能媒体において、前記方法が、更に、
前記高ダイナミック・レンジ・ディジタル画像の解像度を落としたプレビュー・バージョンにおける前記複数のサンプル値の各々に対して、より低いダイナミック・レンジ値を特定するステップと、
前記低解像度プレビュー・バージョンにおける前記複数のサンプル値を、前記それぞれの特定された低ダイナミック・レンジ値にトーン・マッピングするステップと、
前記低解像度プレビュー・バージョンにおける前記トーン・マップ・サンプル値の各々について、局所コントラスト値を計算するステップと、
前記低解像度プレビュー・バージョンにおける前記トーン・マップ・サンプル値の各々について、残差信号を導き出すステップであって、前記それぞれの局所コントラスト値に少なくとも部分的に基づいて導き出すステップと、
前記低解像度プレビュー・バージョンにおける前記トーン・マップ・サンプル値の各々および前記それぞれの残差信号に少なくとも部分的に基づいて、プレビュー画像のサンプル値を計算するステップと、
を備えている、コンピューター読み取り可能媒体。
【請求項15】
1つ以上のプロセッサーおよび1つ以上の記憶媒体を備えている計算機であって、前記1つ以上の記憶媒体が、ユーザー好み情報に基づいて高ダイナミック・レンジ画像をレンダリングする方法を、前記計算機に実行させるコンピューター実行可能命令を格納しており、前記方法が、
高ダイナミック・レンジ画像レンダリング・パラメーターを設定するために、1つ以上のユーザー好み制御部を設けるステップと、
ユーザーと関連のあるユーザー好み情報を、前記ユーザー好み制御部から受け取るステップであって、前記ユーザー好み情報が、高ダイナミック・レンジ・ディジタル画像を収容する高ダイナミック・レンジ・ディジタル画像ファイルに対する高ダイナミック・レンジ・レンダリング・パラメーターに対応する、ステップと、
前記ユーザー好み情報に少なくとも部分的に基づいて、前記高ダイナミック・レンジ・ディジタル画像をレンダリングするステップと、
を備えており、前記レンダリングするステップが、
複数のトーン・マップ・サンプル値の各々について、局所コントラスト値を計算するステップと、
前記それぞれのトーン・マップ・サンプル値に対する前記局所コントラスト値に少なくとも部分的に基づいて、より低いダイナミック・レンジ・ディジタル画像のサンプル値を計算するステップと、
を備えている、計算機。

【図1A】
image rotate

【図1B】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公表番号】特表2013−519157(P2013−519157A)
【公表日】平成25年5月23日(2013.5.23)
【国際特許分類】
【出願番号】特願2012−551989(P2012−551989)
【出願日】平成23年1月16日(2011.1.16)
【国際出願番号】PCT/US2011/021441
【国際公開番号】WO2011/097060
【国際公開日】平成23年8月11日(2011.8.11)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】