IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ドルビー ラボラトリーズ ライセンシング コーポレイションの特許一覧

特許7130777シングルショットHDRカラーイメージセンサからのHDR画像生成
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-26
(45)【発行日】2022-09-05
(54)【発明の名称】シングルショットHDRカラーイメージセンサからのHDR画像生成
(51)【国際特許分類】
   G06T 3/40 20060101AFI20220829BHJP
   G06T 5/50 20060101ALI20220829BHJP
   G06T 7/254 20170101ALI20220829BHJP
   G06T 7/215 20170101ALI20220829BHJP
   H04N 5/355 20110101ALI20220829BHJP
   H04N 9/07 20060101ALI20220829BHJP
【FI】
G06T3/40 740
G06T5/50
G06T7/254 A
G06T7/215
H04N5/355 540
H04N9/07 C
【請求項の数】 54
(21)【出願番号】P 2020562115
(86)(22)【出願日】2019-06-04
(65)【公表番号】
(43)【公表日】2021-09-30
(86)【国際出願番号】 US2019035454
(87)【国際公開番号】W WO2019236626
(87)【国際公開日】2019-12-12
【審査請求日】2021-01-05
(31)【優先権主張番号】18176403.6
(32)【優先日】2018-06-07
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】62/681,789
(32)【優先日】2018-06-07
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/837,361
(32)【優先日】2019-04-23
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】507236292
【氏名又は名称】ドルビー ラボラトリーズ ライセンシング コーポレイション
(74)【代理人】
【識別番号】100101683
【弁理士】
【氏名又は名称】奥田 誠司
(74)【代理人】
【識別番号】100155000
【弁理士】
【氏名又は名称】喜多 修市
(74)【代理人】
【識別番号】100188813
【弁理士】
【氏名又は名称】川喜田 徹
(74)【代理人】
【識別番号】100202197
【弁理士】
【氏名又は名称】村瀬 成康
(72)【発明者】
【氏名】リー, ユエロン
(72)【発明者】
【氏名】マケルエイン, ジョン, エス.
(72)【発明者】
【氏名】トゥフィギ, モハマド
【審査官】鈴木 明
(56)【参考文献】
【文献】特開2015-082675(JP,A)
【文献】特開2004-056573(JP,A)
【文献】特開2014-220760(JP,A)
【文献】特開2014-220759(JP,A)
【文献】特開2017-098784(JP,A)
【文献】特開2015-041984(JP,A)
【文献】特表2015-508589(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 3/40
G06T 5/50
G06T 7/254
G06T 7/215
H04N 5/30-5/378
H04N 9/04-9/11
(57)【特許請求の範囲】
【請求項1】
二重露光時間シングルショットHDRカラーイメージセンサから、動き補償されたハイダイナミックレンジ(HDR)カラー画像を生成するための方法であって、
前記二重露光時間シングルショットHDRカラーイメージセンサの、一ローカル領域のそれぞれのセンサ画素群によって生成された画素値を取得するステップであって、前記ローカル領域は、前記動き補償されたHDRカラー画像のある画像画素の位置に対応しており、前記ローカル領域の前記センサ画素群は、3つの異なる色の各々について、それぞれの色に感度を有する複数の短露光時間画素と複数の長露光時間画素とを含む、ステップと、
第1の色に対応付けられた、前記短露光時間画素および前記長露光時間画素の画素値から、前記ローカル領域の動きパラメータを決定するステップと、
前記ローカル領域の画素値をデモザイキングすることにより、各色について、前記短露光時間画素と前記長露光時間画素とから、前記画像画素の出力値を決定するステップであって、前記出力値に対する前記短露光時間画素と前記長露光時間画素との相対寄与率は、前記動きパラメータに従って重み付けされる、ステップと、
を含む方法。
【請求項2】
生成される前記動き補償されたHDRカラー画像の各画像画素に対し、前記二重露光時間シングルショットHDRカラーイメージセンサの一ローカル領域のそれぞれのセンサ画素によって生成された画素値を取得するステップの後、各色について、
動き補償が可能かつ/または必要であるか否かを評価するステップと、
前記色に対応付けられた、前記画像画素の出力値を生成するステップと、
をさらに含み、前記生成するステップは、
(i)動き補償が可能かつ/または必要である場合に、前記動きパラメータを決定するステップとデモザイキングのステップとを行うことにより、動き補償を用いて前記色について、前記画像画素の前記出力値を決定するステップと、
(ii)動き補償が不可能かつ/または不要であるでない場合に、非動き補償デモザイキングを行うことにより、前記色について、前記画像画素の前記出力値を決定するステップと、
を含む、請求項1に記載の方法。
【請求項3】
動き補償が可能かつ/または必要であるか否かを評価する前記ステップは、
(a)前記ローカル領域の、前記色に対応付けられた前記長露光時間画素の前記画素値が不飽和基準を満たしているとき、
(b)前記色が前記第1の色とは異なる場合に、前記ローカル領域の、前記第1の色に対応付けられた前記長露光時間画素の前記画素値が、前記不飽和基準を満たしているとき、または、
(c)前記ローカル領域の、前記第1の色に対応付けられた前記長露光時間画素の前記画素値が前記不飽和基準を満たしている場合に、前記ローカル領域の、前記第1の色に対応付けられた前記短露光時間画素と前記長露光時間画素との差異が、センサノイズに関連する画素値変動に対応付けられた差異閾値を超えるとき
に限り、動き補償が可能かつ/または必要であるものと判定することを含む、請求項2に記載の方法。
【請求項4】
動き補償が可能かつ/または必要であるか否かを評価する前記ステップは、さらに、
前記第1の色に対応付けられた前記短露光時間画素の前記画素値に、第1のモデルによるそれぞれの第1の適合重みを乗じることにより、前記画像画素の短露光時間第1色値を決定するステップと、
前記第1の色に対応付けられた前記長露光時間画素のうち不飽和なものについての前記画素値に、第2のモデルによるそれぞれの第2の適合重みを乗じることにより、前記画像画素の長露光時間第1色値を決定するステップと、
共通のスケールにスケーリングされた前記短露光時間第1色値と前記長露光時間第1色値との差の絶対値として、前記差異を算出するステップと、
を含む、請求項3に記載の方法。
【請求項5】
動き補償が可能かつ/または必要であるか否かを評価する前記ステップはさらに、
前記二重露光時間シングルショットHDRカラーイメージセンサのノイズモデルに基づき、前記画像画素と前記第1の色とに対応付けられた画素値変動の期待値を推定するステップと、
前記期待値から前記差異閾値を算出するステップと、
を含む、請求項3に記載の方法。
【請求項6】
前記画素値を取得するステップは、前記動き補償されたHDRカラー画像が前記二重露光時間シングルショットHDRカラーイメージセンサに比べてダウンサンプリングされた解像度で生成されるように、前記ローカル領域を選択することを含む、請求項2に記載の方法。
【請求項7】
前記画素値を取得するステップは、前記動き補償されたHDRカラー画像が前記二重露光時間シングルショットHDRカラーイメージセンサと同一の解像度で生成されるように、前記ローカル領域を選択することを含む、請求項2に記載の方法。
【請求項8】
前記動きパラメータは、前記ローカル領域における動き度を表す、請求項1に記載の方法。
【請求項9】
前記動きパラメータを決定するステップは、
前記第1の色に対応付けられた前記短露光時間画素の前記画素値に、第1のモデルによるそれぞれの第1の適合重みを乗じることにより、前記画像画素の短露光時間第1色値を決定するステップと、
前記第1の色に対応付けられた前記長露光時間画素のうち不飽和なものについての前記画素値に、第2のモデルによるそれぞれの第2の適合重みを乗じることにより、前記画像画素の長露光時間第1色値を決定するステップと、
前記短露光時間第1色値と前記長露光時間第1色値との差異を算出することにより、前記動きパラメータを決定するステップと、
を含み、
前記第1および第2のモデルは、前記二重露光時間シングルショットHDRカラーイメージセンサのノイズ特性および/または飽和挙動のモデルである、、請求項1に記載の方法。
【請求項10】
前記適合重みは画素値の予期される信号品質の増加関数である、請求項9に記載の方法。
【請求項11】
前記動きパラメータを決定するステップは、
前記第1の色に対応付けられた前記短露光時間画素の前記画素値に、第1のモデルによるそれぞれの第1の適合重みを乗じることにより、前記画像画素の短露光時間第1色値を決定するステップと、
前記第1の色に対応付けられた前記長露光時間画素のうち飽和していない画素の前記画素値に、第2のモデルによるそれぞれの第2の適合重みを乗じることにより、前記画像画素の長露光時間第1色値を決定するステップと、
前記短露光時間第1色値と前記長露光時間第1色値との差異を算出することにより、前記動きパラメータを決定するステップと、
を含み、
前記第1のモデルおよび前記第2のモデルの各々は、センサ画素位置の二次元多項式関数であり、前記二次元多項式関数の出力値は、それぞれ前記第1の適合重みまたは前記第2の適合重みである、請求項1に記載の方法。
【請求項12】
前記二次元多項式関数は、1次多項式、2次多項式、または3次多項式である、請求項11に記載の方法。
【請求項13】
前記デモザイキングのステップは、
前記色に対応付けられた前記短露光時間画素に基づき、前記画像画素の短露光値を決定するステップと、
前記色に対応付けられた前記長露光時間画素のうち不飽和なものに基づき、前記画像画素の長露光値を決定するステップと、
前記動きパラメータを重みとして用いて、前記短露光値と前記長露光値との加重平均として、前記出力値を算出するステップと、
を含む、請求項1に記載の方法。
【請求項14】
前記動きパラメータを決定するステップにおける、
(a)前記第1の色の前記短露光時間画素に基づき、前記画像画素の短露光時間第1色値を決定するステップ、
(b)前記長露光時間画素に基づき、前記画像画素の長露光時間第1色値を決定するステップ、および、
(c)前記短露光時間第1色値と前記長露光時間第1色値との差異を算出することにより、前記動きパラメータを決定するステップ、ならびに、
前記デモザイキングのステップにおける、前記第1の色について、前記第1の色の前記短露光値を前記短露光時間第1色値に設定するステップ、および、前記第1の色の前記長露光値を前記長露光時間第1色値に設定するステップ、
を含む、請求項13に記載の方法。
【請求項15】
前記短露光値を決定するステップにおける、前記色に対応付けられた前記短露光時間画素の前記画素値に、第1のモデルによるそれぞれの第1の適合重みを乗じることにより、前記短露光値を決定するステップと、
前記長露光値を決定するステップにおける、前記色に対応付けられた前記長露光時間画素のうち不飽和なものについての前記画素値に、第2のモデルによるそれぞれの第2の適合重みを乗じることにより、前記長露光値を決定するステップと、
を含み、
前記第1および第2のモデルは、前記二重露光時間シングルショットHDRカラーイメージセンサのノイズ特性および/または飽和挙動のモデルである、
む、請求項13に記載の方法。
【請求項16】
前記短露光値を決定するステップにおける、前記色に対応付けられた前記短露光時間画素の前記画素値に、第1のモデルによるそれぞれの第1の適合重みを乗じることにより、前記短露光値を決定するステップと、
前記長露光値を決定するステップにおける、前記色に対応付けられた前記長露光時間画素のうち不飽和なものについての前記画素値に、第2のモデルによるそれぞれの第2の適合重みを乗じることにより、前記長露光値を決定するステップと、
を含み、
前記第1のモデルおよび前記第2のモデルの各々は、センサ画素位置の二次元多項式関数である、請求項13に記載の方法。
【請求項17】
前記第1の色に対し、前記二次元多項式関数は、1次多項式、2次多項式、または3次多項式であり、
前記第1の色と異なる各色に対し、前記二次元多項式関数は、前記第1の色に用いられる前記二次元多項式よりも低次数である、
請求項16に記載の方法。
【請求項18】
前記動きパラメータを決定するステップは、前記第1の色として、前記二重露光時間シングルショットHDRカラーイメージセンサの最大個数のセンサ画素に対応付けられた色を用いることを含む、請求項1に記載の方法。
【請求項19】
前記3つの異なる色は赤、緑、および青であり、前記第1の色は緑である、請求項18に記載の方法。
【請求項20】
前記第1の色は緑であり、前記3つの異なる色の残りの2つは、それぞれ異なる赤、緑、および青の線形結合である、請求項18に記載の方法。
【請求項21】
前記二重露光時間シングルショットHDRカラーイメージセンサは、ジグザグHDRイメージセンサである、請求項18に記載の方法。
【請求項22】
さらに、前記動きパラメータを決定するステップの前に、前記ローカル領域における前記色の各々の輝度の評価に基づき、前記第1の色を選択するステップを含む、請求項1に記載の方法。
【請求項23】
前記ローカル領域として、少なくとも5×5の隣接センサ画素で規定された、前記二重露光時間シングルショットHDRカラーイメージセンサの正方形区画を用いることをさらに含む、請求項1に記載の方法。
【請求項24】
前記二重露光時間シングルショットHDRカラーイメージセンサとして、ジグザグHDRイメージセンサを用いることをさらに含む、請求項23に記載の方法。
【請求項25】
さらに、前記動き補償されたHDRカラー画像の各画像画素に対し、
前記画素値の取得を行うステップと、
前記3つの異なる色の各々について、出力値を生成するステップと、
を含む、請求項1に記載の方法であって、前記生成するステップは、
(i)第1の色について、
(a)前記第1の色に対応付けられた前記長露光時間画素が不飽和基準を満たす場合に、
(1)前記ローカル領域の、前記第1の色に対応付けられた短露光時間画素と長露光時間画素との差異を算出するステップと、
(2)前記画像画素と前記第1の色とに対応付けられた画素値変動の期待値から、差異閾値を算出するステップと、
(3)前記差異が前記差異閾値を超える場合に、前記動きパラメータを決定するステップと、前記第1の色に対するデモザイキングのステップとを行うことにより、動き補償を用いて、前記第1の色に対応付けられた前記画像画素の前記出力値を決定するステップと、
(4)前記差異が前記差異閾値を超えない場合に、前記第1の色について非動き補償HDRデモザイキングを行うことにより、前記第1の色に対応付けられた前記短露光時間画素と前記長露光時間画素との合成から、前記色に対応付けられた前記画像画素の前記出力値を決定するステップと、
(b)前記第1の色に対応付けられた前記長露光時間画素が前記不飽和基準を満たさない場合に、前記第1の色について非動き補償デモザイキングを行うことにより、前記第1の色に対応付けられた前記短露光時間画素のみから、前記第1の色に対応付けられた前記画像画素の前記出力値を決定するステップと、
(ii)前記第1の色と異なる各色について、
(a)前記色および前記第1の色に対応付けられた前記長露光時間画素が前記不飽和基準を満たし、かつ、前記差異が前記差異閾値を超える場合に、前記色に対するデモザイキングのステップを行うことにより、動き補償を用いて、前記色に対応付けられた前記画像画素の前記出力値を決定するステップと、
(b)前記色および前記第1の色に対応付けられた前記長露光時間画素が前記不飽和基準を満たし、かつ、前記差異が前記差異閾値を超えない場合に、前記色について非動き補償デモザイキングを行うことにより、前記色に対応付けられた前記短露光時間画素と前記長露光時間画素との合成から、前記色に対応付けられた前記画像画素の前記出力値を決定するステップと、
(c)前記色に対応付けられた前記長露光時間画素が前記不飽和基準を満たさないか、または、前記第1の色に対応付けられた前記長露光時間画素が前記不飽和基準を満たさない場合に、前記色について非動き補償デモザイキングを行うことにより、前記色に対応付けられた前記短露光時間画素のみから、前記色に対応付けられた前記画像画素の前記出力値を決定するステップと、
を含む、請求項1に記載の方法。
【請求項26】
非一時的メモリ中に符号化され機械可読命令を含む、二重露光時間シングルショットHDRカラーイメージセンサから動き補償されたハイダイナミックレンジ(HDR)カラー画像を生成するためのコンピュータプログラムであって、前記命令は、
プロセッサによって実行されるとき、前記二重露光時間シングルショットHDRカラーイメージセンサの一ローカル領域のそれぞれのセンサ画素によって生成された画素値を取り出す、データ選択命令であって、前記ローカル領域は、前記動き補償されたHDRカラー画像のある画像画素の位置に対応しており、前記ローカル領域の前記センサ画素は、3つの異なる色の各々について、前記それぞれの色に感度を有する複数の短露光時間画素と複数の長露光時間画素とを含む、データ選択命令と、
前記プロセッサによって実行されるとき、第1の色に対応付けられた前記短露光時間画素と前記長露光時間画素との前記画素値から前記ローカル領域の動きパラメータを決定する、動き命令と、
プロセッサによって実行されるとき、前記ローカル領域の前記画素値をデモザイキングすることにより、各色について、前記短露光時間画素と前記長露光時間画素とから前記画像画素の出力値を決定する、デモザイキング命令であって、前記出力値に対する前記短露光時間画素と前記長露光時間画素との相対寄与率は、前記動きパラメータに従い重み付けされる、デモザイキング命令と、
を含む、コンピュータプログラム
【請求項27】
前記ローカル領域内におけるセンサノイズから生じる画素値変動のモデルと、
前記画素値の信号品質とともに増加する、適合重み関数と、
前記動き命令において
前記プロセッサが前記動き命令を実行する際に呼び出され、前記画素値変動のモデルから導出された、前記適合重み関数の適合重みを前記第1の色に対応付けられた前記ローカル領域の画素値に適用することにより、前記画像画素について短露光時間第1色値および長露光時間第1色値を決定する、適合化命令と、
前記プロセッサが前記動き命令を実行する際に呼び出され、前記第1の色に対応付けられた前記ローカル領域の画素値に画素値変動の前記モデルから導出された前記適合重み関数からの適合重みを適用する前記短露光時間第1色値と前記長露光時間第1色値との差異を算出することにより、前記動きパラメータを決定する、差異命令と、
をさらに含む、請求項26に記載のコンピュータプログラム
【請求項28】
前記デモザイキング命令は、前記プロセッサによって実行されるときに、
前記第1の色と異なる各色に対し、前記色に対応付けられた前記短露光時間画素に基づいて前記画像画素の短露光値を決定し、かつ、前記色に対応付けられた前記長露光時間画素のうち不飽和なものに基づいて前記画像画素の長露光値を決定することと、
前記第1の色に対し、前記第1の色の短露光値を前記短露光時間第1色値に設定し、かつ、前記第1の色の長露光値を前記長露光時間第1色値に設定することと、
各色について、前記動きパラメータを重みとして用いて、前記短露光値と前記長露光値との加重平均として前記出力値を算出することと、
を行うように構成される、請求項27に記載のコンピュータプログラム
【請求項29】
一時的メモリ中に
領域サイズと、
ステップサイズと、
を含むラメータ記憶域が符号化され
前記コンピュータプログラムは、前記命令において
前記プロセッサによって実行されるときに、前記動き補償されたHDRカラー画像の各画像画素について、(i)前記領域サイズに従ってサイズ決めされた前記ローカル領域と、(ii)前記ステップサイズに従って設定された、隣接し合う画像画素に対応するローカル領域の中心間の距離と、を用いた、プロセッサによるデータ選択命令の実行を命じる、サンプリング命令と、
前記プロセッサによって実行されるときに、前記サンプリング命令に従って処理された各画像画素に対し、前記色の各々につき出力値を生成するマスター命令であって、前記マスター命令は、前記動き命令およびデモザイキング命令を、動きに対応付けられた画像画素と、不飽和基準を満たす長露光時間画素とに対して適用するように構成される、マスター命令と、
を含む、請求項26に記載のコンピュータプログラム
【請求項30】
前記命令はさらに、
前記プロセッサによって実行されるときに、非動き補償デモザイキングを行うことにより、前記動き補償されたHDRカラー画像の、対応付けられた色における画像画素の出力値を決定する、非動き補償デモザイキング命令と、
前記プロセッサによって実行されるときに、前記動き補償されたHDRカラー画像の各画像画素について、
前記プロセッサによる前記データ選択命令の実行を命令し、
前記画像画素に対応付けられた各色について、動き補償が可能かつ/または必要であるか否かを評価し、
動き補償が可能かつ/または必要である場合には、前記プロセッサによる前記動き命令および前記デモザイキング命令の実行を命じることにより、動き補償を用いて前記色について、前記画像画素の前記出力値を決定し、
動き補償が不可能かつ/または不要である場合には、前記プロセッサによる前記非動き補償デモザイキング命令の実行を命じることにより、前記色について前記画像画素の前記出力値を決定する、マスター命令と、
を含む、請求項26に記載のコンピュータプログラム
【請求項31】
一時的メモリ中に
長露光時間画素の画素値について許容上限(upper acceptance limit)を規定する、不飽和基準と、
センサノイズに関連する画素値変動に対応付けられた、動きの最小閾値を規定する、差異閾値と、
を含むラメータ記憶域が符号化され
前記コンピュータプログラムは、前記マスター命令において、前記プロセッサによって実行されるときに、各画像画素および色について、前記ローカル領域の画素値を前記不飽和基準および前記差異閾値に照らして評価することにより、動き補償が可能かつ/または必要であるか否かを決定する、評価命令を含む、
請求項30に記載のコンピュータプログラム
【請求項32】
プロセッサに接続された非一時的メモリに格納された請求項26に記載のコンピュータプログラムと、前記コンピュータプログラムにより処理される画素値を生成するための二重露光時間シングルショットHDRカラーイメージセンサとを備える、動き補償ハイダイナミックレンジ(HDR)カメラ。
【請求項33】
前記二重露光時間シングルショットHDRカラーイメージセンサは、ジグザグHDRイメージセンサである、請求項32に記載の動き補償HDRカメラ。
【請求項34】
請求項32に記載の動き補償HDRカメラを備える、セルラーフォン。
【請求項35】
複数の短露光時間画素と、複数の中露光時間画素と、複数の長露光時間画素と、を有する三重露光時間シングルショットHDRカラーイメージセンサから、ハイダイナミックレンジ(HDR)カラー画像を生成するための方法であって、
(a)前記短露光時間画素からの短露光時間画素値と(b)前記中露光時間画素からの中露光時間画素値との第1の合成より、第1の二重露光時間HDR画像を生成するステップと、
(a)前記中露光時間画素からの中露光時間画素値と(b)前記長露光時間画素からの長露光時間画素値との第2の合成より、第2の二重露光時間HDR画像を生成するステップと、
前記第1の二重露光時間HDR画像と、前記第2の二重露光時間HDR画像とから、三重露光時間HDRカラー画像を生成するステップと、
を含む方法。
【請求項36】
前記第1の二重露光時間HDR画像を生成するステップは、前記第1の合成に対する前記短露光時間画素値と前記中露光時間画素値との相対寄与率を、これらの間の差異と前記中露光時間画素値の飽和度とに少なくとも部分に基づいてローカルに重み付けするステップを含み、
前記第2の二重露光時間HDR画像を生成するステップは、前記第2の合成に対する前記中露光時間画素値と前記長露光時間画素値との相対寄与率を、これらの間の差異と前記長露光時間画素値の飽和度とに少なくとも部分的に基づいてローカルに重み付けするステップを含む、
請求項35に記載の方法。
【請求項37】
前記三重露光時間HDRカラー画像を生成するステップは、前記三重露光時間HDRカラー画像に対する前記第1の二重露光時間HDR画像と前記第2の二重露光時間HDR画像との相対寄与率を、(i)前記短露光時間画素値と前記中露光時間画素値との差異と、(ii)前記中露光時間画素値と前記長露光時間画素値との差異と、のうち少なくとも1つに少なくとも部分的に基づいてローカルに重み付けするステップを含む、請求項36に記載の方法。
【請求項38】
前記三重露光時間HDRカラー画像を生成するステップは、前記第1の二重露光時間HDR画像と前記第2の二重露光時間HDR画像とを、前記三重露光時間HDRカラー画像の1つ以上の品質尺度のローカルな最適化に則って融合するステップを含む、請求項36に記載の方法。
【請求項39】
前記ローカルに融合するステップは、前記三重露光時間HDRカラー画像に対する前記第1の二重露光時間HDR画像と前記第2の二重露光時間HDR画像との相対寄与率を、(i)前記短露光時間画素値と前記中露光時間画素値との差異、および、(ii)前記中露光時間画素値と前記長露光時間画素値との差異、のいずれも考慮せずに、前記ローカルな最適化のみに則って設定するステップを含む、請求項38に記載の方法。
【請求項40】
前記ローカルに融合するステップは、
前記第1の二重露光時間HDR画像および前記第2の二重露光時間HDR画像のうち少なくとも1つをスケーリングすることにより、前記第1の二重露光時間HDR画像および前記第2の二重露光時間HDR画像を共通スケールに置くステップと、
前記三重露光時間HDRカラー画像を、前記第1の二重露光時間HDR画像および前記第2の二重露光時間HDR画像の各々のダイナミックレンジをカバーするダイナミックレンジで生成するステップと、
を含む、請求項38に記載の方法。
【請求項41】
前記1つ以上の品質尺度は、コントラスト、飽和度、および露光十分性のうち少なくとも1つを含む、請求項38に記載の方法。
【請求項42】
前記第1の二重露光時間HDR画像を生成するステップにおいて、かつ、その中に含まれる、相対寄与率をローカルに重み付けするステップの前に、前記短露光時間画素値および前記中露光時間画素値をノイズ除去するステップと、
前記第2の二重露光時間HDR画像を生成するステップにおいて、かつ、その中に含まれる、相対寄与率をローカルに重み付けするステップの前に、前記中露光時間画素値および前記長露光時間画素値をノイズ除去するステップと、
をさらに含む、請求項36に記載の方法。
【請求項43】
さらに、前記中露光時間画素値および前記長露光時間画素値を不飽和基準と比較するステップを含む、請求項35に記載の方法であって、
もしもローカル領域が、1つ以上の中露光時間画素値が前記不飽和基準を満たさないことを特徴とするならば、
(i)前記第1の二重露光時間HDR画像を生成するステップにおいて、前記ローカル領域の前記第1の二重露光時間HDR画像は、前記短露光時間画素値のみから生成され、
(ii)前記三重露光時間HDRカラー画像を生成するステップにおいて、前記ローカル領域の前記三重露光時間HDRカラー画像は、前記第1の二重露光時間HDR画像のみから生成され、
もしもローカル領域が、1つ以上の長露光時間画素値が前記不飽和基準を満たしておらず、かつ、前記ローカル領域の各中露光時間画素値が前記不飽和基準を満たしていることを、特徴とするならば、
(i)前記第2の二重露光時間HDR画像を生成するステップにおいて、前記ローカル領域の前記第2の二重露光時間HDR画像は、前記中露光時間画素値のみから生成される、請求項35に記載の方法。
【請求項44】
前記第1の二重露光時間HDR画像および前記第2の二重露光時間HDR画像の各々は、少なくとも3つの異なる色に対応付けられた二重HDR画素値のモザイクで構成され、前記三重露光時間HDRカラー画像を生成するステップは、
前記第1の二重露光時間HDR画像および前記第2の二重露光時間HDR画像から、前記少なくとも3つの異なる色に対応付けられた三重HDR画素値のモザイクで構成される、中間三重露光時間HDR画像を生成するステップと、
前記中間三重露光時間HDR画像をデモザイキングすることにより、前記三重露光時間HDRカラー画像を生成するステップと、
を含む、請求項35に記載の方法。
【請求項45】
前記三重露光時間シングルショットHDRカラーイメージセンサは、同一の4×4画素ブロックによるアレイを有し、各4×4画素ブロックは、第1の色の光に感度を有する1つの第1の色2×2画素グループと、第2の色の光に感度を有する2つの第2の色緑2×2画素グループと、第3の色の光に感度を有する1つの第3の色2×2画素グループとで構成され、前記2×2画素グループの各々は、前記短露光時間画素のうちの1つと、前記中露光時間画素のうち2つと、前記長露光時間画素のうちの1つとを含む、
請求項35に記載の方法であって、
(i)前記2×2画素グループの各々が、前記第1の二重露光時間HDR画像のちょうど1つの画素値で表現され、かつ(ii)前記第1の二重露光時間HDR画像が、前記第1の色に対応付けられた1つの画素値と、前記第2の色に対応付けられた2つの画素値と、前記第3の色に対応付けられた1つの画素値と、を有する2×2画素ブロックで構成されるようなものとして、前記第1の二重露光時間HDR画像を生成するステップを行うことと、
少なくとも、前記中露光時間画素が不飽和基準を満たす箇所において、(i)前記2×2画素グループの各々が、前記第2の二重露光時間HDR画像のちょうど1つの画素値で表現され、かつ(ii)前記第2の二重露光時間HDR画像が、前記第1の色に対応付けられた1つの画素値と、前記第2の色に対応付けられた2つの画素値と、前記第3の色に対応付けられた1つの画素値と、を有する2×2画素ブロックで構成されるようなものとして、前記第2の二重露光時間HDR画像を生成するステップを行うことと、
を含む、請求項35に記載の方法。
【請求項46】
前記三重露光時間HDRカラー画像を生成するステップは、
前記第1の二重露光時間HDR画像および前記第2の二重露光時間HDR画像のうち少なくとも1つをスケーリングすることにより、前記第1の二重露光時間HDR画像および前記第2の二重露光時間HDR画像を共通スケールに置くステップと、
前記第1の二重露光時間HDR画像および前記第2の二重露光時間HDR画像を処理することにより、前記三重露光時間シングルショットHDRカラーイメージセンサの前記4×4画素ブロックの各々につき2×2画素ブロックを有する、三重露光時間HDR画像を生成するステップであって、前記三重露光時間HDR画像の各2×2画素ブロックは、前記第1の色に対応付けられた1つの画素値と、前記第2の色に対応付けられた2つの画素値と、前記第3の色に対応付けられた1つの画素値とで構成される、ステップと、
前記三重露光時間HDR画像をデモザイキングすることにより、前記三重露光時間HDRカラー画像を生成するステップであって、前記三重露光時間シングルショットHDRカラーイメージセンサの前記4×4画素ブロックの各々は、前記三重露光時間HDRカラー画像の単一のフルカラーHDR画素値で表現される、ステップと、
を含む、請求項45に記載の方法。
【請求項47】
前記第1の二重露光時間HDR画像を生成するステップは、少なくとも、前記中露光時間画素が不飽和基準を満たす箇所において、前記第1の二重露光時間HDR画像の各出力画素値Voutについて、前記出力画素値Voutを、等式Vout=(1-f)V+fVに従って、短露光時間画素値Vと中露光時間画素値Vとの線形結合として算出するステップを含み、ここでfは、前記短露光時間画素値Vと中露光時間画素値Vとのノイズ超の差異に少なくとも部分的に依存するブレンディング関数であり、前記ノイズ超の差異は、前記短露光時間画素値Vと、前記中露光時間画素値Vと、前記出力画素値Voutのノイズレベルとの関数であり、前記ノイズレベルは、前記ブレンディング関数fの関数である、
請求項35に記載の方法。
【請求項48】
前記ブレンディング関数fは、前記短露光時間画素値Vがゼロに近づくときに前記ブレンディング関数fをゼロのほうへ追いやる項を含む、請求項47に記載の方法。
【請求項49】
前記出力画素値Voutを算出するステップは、前記ブレンディング関数fを第1のパラメータの関数として第2のパラメータの単一値のみについて列挙する一次元ルックアップテーブルをもとに、前記ブレンディング関数fの値を演繹するステップを含む、請求項47に記載の方法であって、前記第1のパラメータは、前記短露光時間画素値Vおよび中露光時間画素値Vのうち一方を表し、前記第2のパラメータは、前記短露光時間画素値Vおよび中露光時間画素値Vのうち他方を表す、請求項47に記載の方法。
【請求項50】
前記ブレンディング関数fは、前記第1のパラメータと前記第2のパラメータとが等しい箇所においてディップを呈する、請求項49に記載の方法であって、前記演繹するステップは、
前記第2のパラメータの前記単一値と実際値との差分だけ、前記第1のパラメータを移動させるステップであって、前記差分は前記第1のパラメータに対応付けられた露光時間に合わせてスケーリングされる、ステップと、
前記移動させるステップの後で、前記第2のパラメータの前記単一値と前記実際値との比率により、移動された前記第1のパラメータをさらにスケーリングするステップと、
前記スケーリングするステップの後で、移動されスケーリングされた前記第1のパラメータに対応する前記ルックアップテーブルのインデックスにおいて、前記ブレンディング関数fの値を読み出すステップと、
を含む、請求項49に記載の方法。
【請求項51】
複数の短露光時間画素と、複数の中露光時間画素と、複数の長露光時間画素と、を有する三重露光時間シングルショットHDRカラーイメージセンサから、ハイダイナミックレンジ(HDR)カラー画像を生成するためのコンピュータプログラムであって、前記コンピュータプログラムは、非一時的メモリ中に符号化された機械可読命令を含み、前記命令は、
プロセッサによって実行されるときに、(a)前記短露光時間画素からの短露光時間画素値と、前記中露光時間画素からの中露光時間画素値との、第1の合成か、または(b)前記中露光時間画素からの中露光時間画素値と、前記長露光時間画素からの長露光時間画素値との、第2の合成か、のいずれか一方より二重露光時間HDR画像を生成する、二重露光時間命令と、
前記プロセッサによって実行されるときに、(a)前記第1の合成に基づく前記二重露光時間HDR画像の第1のインスタンスと、(b)前記第2の合成に基づく前記二重露光時間HDR画像の第2のインスタンスとの合成から、三重露光時間HDRカラー画像を生成する、二重から三重へのHDR命令と、
を含む、コンピュータプログラム
【請求項52】
請求項51に記載のコンピュータプログラムを格納した記録媒体と、前記三重露光時間シングルショットHDRカラーイメージセンサとを備える、ハイダイナミックレンジ(HDR)カメラ。
【請求項53】
前記三重露光時間シングルショットHDRカラーイメージセンサは、同一の4×4画素ブロックによるアレイを有し、各4×4画素ブロックは、第1の色の光に感度を有する1つの第1の色2×2画素グループと、第2の色の光に感度を有する2つの第2の色緑2×2画素グループと、第3の色の光に感度を有する1つの第3の色2×2画素グループとで構成され、前記2×2画素グループの各々は、前記短露光時間画素のうちの1つと、前記中露光時間画素のうち2つと、前記長露光時間画素のうちの1つとを含む、請求項52に記載のHDRカメラ。
【請求項54】
請求項52に記載のHDRカメラを備える、セルラーフォン。
【発明の詳細な説明】
【技術分野】
【0001】
<関連出願への相互参照>
本願は、2018年6月7日に出願された米国仮特許出願第62/681,789号、2018年6月7日に出願された欧州特許出願第18176403.6号、および2019年4月23日に出願された米国仮特許出願第62/837,361号に基づく優先権を主張するものであり、これらの出願の開示内容の全てを本願に援用する。
【0002】
本願は、ハイダイナミックレンジイメージング(high-dynamic-range imaging)に関する。
【背景技術】
【0003】
スマートフォンなどの殆どのハンドヘルドカメラデバイスは、8ビットまたは場合によっては10ビットのビット深度を有するイメージセンサを利用する。多くのシーンにとって、このビット深度は、当該シーンにおける最も明るい領域と最も暗い領域の両方をキャプチャするためには、不十分である。例えば、背後から照明された人物の写真を撮影する場合、その人物の顔は露光が不足しているように見えるかも知れない。あるいは、より明るい背景のほうが露光されすぎているように見えるかも知れない。
【0004】
ハイダイナミックレンジ(HDR)イメージング機能は、この問題の克服を追及する。典型的なアプローチにおいて、HDRデジタルカメラは、同一シーンの2つの画像をキャプチャする。シーンの明るい部分について良好な画像データを得るための短い露光時間の画像と、シーンのより暗い部分について良好な画像データを得るためのより長い露光時間の画像である。これらの2つの画像を、共通のスケールにスケーリングし、合成することにより、より明るいシーンの部分とより暗いシーンの部分の両方を適切に描写する、当該シーンの単一のHDR画像が生成される。このようなHDRイメージングは、多くの状況において良好に機能し、HDRイメージング機能は、スマートフォンなどの多くのデバイスにおける標準的要素となっている。しかし、これらの長短の露光は異なる時刻に記録され、その間に少なくとも1フレーム全体の読み出し処理が伴う。したがって、その画像の組み合わせは、当該シーンが静的ではない場合、望ましくないアーティファクトをしばしば生じさせる。短い露光と長い露光との間に被写体が動くと、そのHDR画像は、酷い場合には動く被写体についてずれのある二重の画像を示すことがあり、あるいは、より程度が軽い場合、動く被写体のところでエッジアーティファクトを示すことがある。
【0005】
HDR画像におけるモーションアーティファクトを解消しようとする努力の中で、業界は、単一の撮影で、より明るい露光とより薄暗い露光とを達成する、いわゆる「シングルショット」のHDRイメージセンサを開発してきた。ある種のシングルショットイメージセンサにおいては、同一の画素アレイの中に、大小の画素が集積される。小さい画素は、大きい方の画素よりも少ない光を集める。したがって、大小の画素間のサイズの差は、長短の露光時間を用いることと同様のダイナミックレンジの利点を与える。残念ながら、このようなデュアルサイズのイメージセンサの画素レイアウトは、相当な製造上の複雑さをもたらす。別のタイプのシングルショットHDRイメージセンサは、全て同一のサイズの画素群を有するが、いくつかの画素には短い露光時間が適用され、他の画素には長い露光時間が適用される。これらの2つの異なるタイプの画素における露光は、完全に別々ではなく、時間的にオーバーラップしているため、この設計により、モーションアーティファクトが大きく低減される。
【発明の概要】
【0006】
しかし、たとえ2つの異なるタイプの画素の露光時間がオーバーラップしていたとしても、動きの存在は、記録された画像の品質になお悪影響を及ぼし得る。ここで、動きは、例えば、イメージセンサの助けを借りて記録される任意の移動可能な被写体の運動によって引き起こされることもあれば、イメージセンサ自体の運動によって引き起こされることもある。長い露光時間の画素センサおよび短い露光時間の画素センサが、オーバーラップする期間にわたって記録しているかオーバーラップしない期間にわたって記録しているかにかかわらず、結果物である画像は、これらの画素センサの異なる露光時間に起因して異なるものになり得る。したがって、短露光の画素値と長露光の画素値とに基づいて画像を生成するための改良された画像生成方法を提供することが本明細書の1つの目的であるといえる。より具体的には、二重露光時間(dual-exposure-time)シングルショットイメージセンサのための改良された画像生成方法を提供することが本明細書の1つの目的であり、当該方法は動きに関してロバストである。
【0007】
US2015062368(A1)は、交互に配置された短露光画素値の行と長露光画素値の行とを有するインターリーブ画像(interleaved images)をキャプチャするイメージセンサ群を備えた電子機器を記載している。この電子機器における処理回路は、インターリーブ画像を複数のビンに(空間的に)分割することができる。処理回路は、各ビンについて重み付けされた長露光画素値と、各ビンについて重み付けされた短露光画素値とを生成できる。各ビンにおける重み付けされた長露光の値および短露光の値は、当該ビンについてのビニングされた(binned)ハイダイナミックレンジ(HDR)画素値を生成するために合成され得る。処理回路は、ビニングされたHDR画素値から形成されたビニングされたHDR画像を、さらなる画像処理演算を行う映像処理回路などの別の回路に出力することができる。望まれる場合、イメージセンサと処理回路とを統合して、単一のビニングされたHDR画素値を生成する1つの集積構造を構成することができ、複数の集積構造を用いてもよい。US2014152694(A1)は、ハイダイナミックレンジ(HDR)画像を生成する方法を記載している。この方法は、シーンの長露光画像と短露光画像とをキャプチャするステップと、長露光画像の各画素位置についての統合重み(merging weight)を、当該画素位置の画素値と、飽和閾値(saturation threshold)とに基づいて算出するステップと、HDR画像の各画素位置についての画素値を、長露光画像および短露光画像における対応する画素値の重み付けされた和として算出するステップとを含む。短露光画像の当該画素位置の画素値に適用される重みと、長露光画像の当該画素位置の画素値に適用される重みは、当該画素位置について算出された統合重みに基づき、長露光画像および短露光画像のシーンにおける動きに応答して決定される。
【0008】
ある実施形態において、二重露光時間シングルショットHDRカラーイメージセンサから動き補償されたハイダイナミックレンジ(HDR)カラー画像を生成するための方法は、二重露光時間シングルショットHDRカラーイメージセンサの、一ローカル領域のそれぞれのセンサ画素群によって生成された画素値を取得するステップを含む。このローカル領域は、動き補償されたHDRカラー画像の、ある画像画素の位置に対応している。当該ローカル領域のセンサ画素群は、3つの異なる色の各々について、それぞれの色に感度を有する、複数の短露光画素と複数の長露光時間画素とを含む。本方法はさらに、(a)第1の色に対応付けられた短露光画素および長露光時間画素の画素値から、当該ローカル領域の動きパラメータを決定するステップと、(b)当該ローカル領域の画素値をデモザイキングすることにより、各色について、短露光画素と長露光時間画素とから、当該画像画素の出力値を決定するステップとを含む。当該出力値に対する短露光画素と長露光時間画素との相対寄与率は、動きパラメータに従って重み付けされる。
【0009】
ある実施形態において、二重露光時間シングルショットHDRカラーイメージセンサから動き補償されたハイダイナミックレンジ(HDR)カラー画像を生成するための製品は、非一時的メモリ中に符号化された機械可読命令を含む。これらの命令は、プロセッサによって実行されるとき、二重露光時間シングルショットHDRカラーイメージセンサの一ローカル領域のそれぞれのセンサ画素によって生成された画素値を取り出すデータ選択命令を含む。このローカル領域は、動き補償されたHDRカラー画像の、ある画像画素の位置に対応する。当該ローカル領域のセンサ画素は、3つの異なる色の各々について、それぞれの色に感度を有する、複数の短露光時間画素と複数の長露光時間画素とを含む。これらの命令はさらに、(a)プロセッサによって実行されるとき、第1の色に対応付けられた短露光時間画素および長露光時間画素の画素値から、当該ローカル領域の動きパラメータを決定する動き命令と、(b)プロセッサによって実行されるとき、当該ローカル領域の画素値をデモザイキングすることにより、各色について、短露光時間画素と長露光時間画素とから当該画像画素の出力値を決定するデモザイキング命令とを含む。当該出力値に対する短露光時間画素と長露光時間画素との相対寄与率は、動きパラメータに従って重み付けされる。
【0010】
ある実施形態において、方法は、複数の短露光時間画素と、複数の中露光時間画素と、複数の長露光時間画素と、を有する三重露光時間シングルショットHDRカラーイメージセンサから、ハイダイナミックレンジ(HDR)カラー画像を生成するように構成される。本方法は、(I)(a)短露光時間画素からの短露光時間画素値と(b)中露光時間画素からの中露光時間画素値との第1の合成から、第1の二重露光時間HDR画像を生成するステップと、(II)(a)中露光時間画素からの中露光時間画素値と(b)長露光時間画素からの長露光時間画素値との第2の合成から、第2の二重露光時間HDR画像を生成するステップと、(III)第1の二重露光時間HDR画像と、第2の二重露光時間HDR画像とから、三重露光時間HDRカラー画像を生成するステップと、を含む。
【0011】
ある実施形態において、製品は、複数の短露光時間画素と、複数の中露光時間画素と、複数の長露光時間画素とを有する三重露光時間シングルショットHDRカラーイメージセンサから、ハイダイナミックレンジ(HDR)カラー画像を生成するように構成される。本製品は、非一時的メモリ中に符号化された機械可読命令を含む。これらの命令は、(I)プロセッサによって実行されるときに、(a)短露光時間画素からの短露光時間画素値と、中露光時間画素からの中露光時間画素値との第1の合成、または(b)中露光時間画素からの中露光時間画素値と、長露光時間画素からの長露光時間画素値との第2の合成のいずれかから二重露光時間HDR画像を生成する二重露光時間命令と、(II)プロセッサによって実行されるときに、(a)第1の合成に基づく二重露光時間HDR画像の第1のインスタンスと、(b)第2の合成に基づく二重露光時間HDR画像の第2のインスタンスとの合成から、三重露光時間HDRカラー画像を生成する、二重から三重へのHDR命令とを含む。
【図面の簡単な説明】
【0012】
図1図1は、ある実施形態による、動き補償されたHDR画像を生成するための、動き補償ハイダイナミックレンジ(HDR)カメラを例示している。
図2図2は、ある実施形態による、図1のカメラの二重露光時間シングルショット・カラーHDRイメージセンサを、さらに詳細に示している。
図3図3は、ある実施形態による、ジグザグHDRカラーイメージセンサを例示している。
図4図4は、ある実施形態による、拡張ベイヤーHDRカラーイメージセンサを例示している。
図5図5は、ある実施形態による、二重露光時間シングルショットHDRカラーイメージセンサによってキャプチャされた単一の画像フレームに基づき、動き補償されたHDRカラー画像の画像画素に対する出力値を生成する方法を例示している。
図6図6は、ジグザグHDRカラーイメージセンサに基づく図5の方法の一部についての例を示している。
図7図7は、拡張ベイヤーHDRカラーイメージセンサに基づく図5の方法の一部についての例を示している。
図8図8は、ある実施形態による、動き補償されたHDRカラー画像の1つ以上の画像画素について動き補償されたHDR出力値を生成する動き補償HDR画像生成器を例示している。
図9図9は、ある実施形態による、単一の撮影で二重露光時間シングルショット・カラーHDRイメージセンサによって生成された画素値から、動き補償されたHDRカラー画像を生成する動き補償HDR画像生成器を例示している。
図10図10は、ローカル領域定義の一例を示している。
図11A図11Aは、ある実施形態による、二重露光時間シングルショットHDRカラーイメージセンサによりキャプチャされた単一の画像フレームから取得される画素値に基づき、条件付きデモザイキングを用いて動き補償されたHDRカラー画像を生成する方法を例示している。
図11B図11Bは、ある実施形態による、二重露光時間シングルショットHDRカラーイメージセンサによりキャプチャされた単一の画像フレームから取得される画素値に基づき、条件付きデモザイキングを用いて動き補償されたHDRカラー画像を生成する方法を例示している。
図12図12は、ある実施形態による、短露光時間画素と長露光時間画素との動き差異を評価する方法を例示している。
図13A図13Aは、適合重み関数の例を示している。
図13B図13Bは、適合重み関数の例を示している。
図14図14は、ある実施形態による、HDRカラー画像の一画像画素に対応付けられたローカル領域の画素値に動き補償デモザイキングを行う方法を例示している。
図15図15は、ある実施形態による、単一の撮影で二重露光時間シングルショット・カラーHDRイメージセンサによって生成された画素値から、動き補償されたHDRカラー画像を生成する別の動き補償HDR画像生成器を例示している。
図16図16は、ある実施形態による、二重露光時間シングルショットHDRカラーイメージセンサから、動き補償されたHDRカラー画像を生成するためのシステムを例示している。
図17図17は、ある実施形態による、二重露光時間シングルショットHDRカラーイメージセンサから動き補償されたHDRカラー画像を生成する別のシステムを例示している。
図18図18は、ある実施形態による、HDR画像を生成するための短露光カラー画像と長露光カラー画像との相対的な合成重みを規定する、ブレンディング関数のマップである。
図19図19は、長露光時間画素に対する図18のブレンディング関数のプロットである。
図20図20は、ある実施形態による、一次元ルックアップテーブルを用いて超越ブレンディング関数の値を決定する方法を例示している。
図21図21は、図20の方法のあるステップにおける、画素値移動の一例を示すプロットである。
図22図22は、ある実施形態による、三重露光時間HDRカラー画像を生成するためのHDRカメラを例示している。
図23図23は、図22のシステムの三重露光時間シングルショットHDRカラーイメージセンサを、さらに詳細に示している。
図24図24は、ある実施形態による、三重露光時間シングルショットHDRカラーイメージセンサから、HDRカラー画像を生成する方法を例示している。
図25図25は、ある実施形態による、三重露光時間HDRカラーイメージセンサから、二重露光時間HDR画像を生成する方法を例示している。
図26図26は、ある実施形態による、2つの二重露光時間HDR画像から三重露光時間HDRカラー画像を生成するための、差異ベースの方法を例示している。
図27図27は、ある実施形態による、2つの二重露光時間HDR画像から三重露光時間HDRカラー画像を生成するための、融合ベースの方法を例示している。
図28図28は、ある実施形態による、その所属する画素が、3つの異なる露光時間において感度を有する画素を各々が含む色別の四つ組において配列されている、三重露光時間HDRカラーイメージセンサを例示している。
図29図29は、ある実施形態による、図28の三重露光時間HDRカラーイメージセンサから三重露光時間HDRカラー画像を生成する方法を例示している。
図30図30は、ある実施形態による、三重露光時間シングルショットHDRカラーイメージセンサから三重露光時間HDRカラー画像を生成するシステムを例示している。
【発明を実施するための形態】
【0013】
図1は、動き補償されたHDRカラー画像(motion-compensated HDR color images)180を生成する動き補償ハイダイナミックレンジ(HDR)カメラ110を例示している。HDRカメラ110は、二重露光時間シングルショットHDRカラーイメージセンサ120と、動き補償HDR画像生成器(motion-compensating HDR image generator)100とを備える。イメージセンサ120は、その感光性画素(photosensitive pixels)のいくつかを短露光時間で露出し、その感光性画素の他のいくつかを、より長い露光時間で露出するように構成される。したがって、イメージセンサ120によってキャプチャされる各画像フレームは、短露光時間画像データと長露光時間画像データの両方を有する。しかし、より短い露光時間とより長い露光時間との異なる持続時間に起因して、短露光時間画像データと長露光時間画像データとは、当該シーンが動きに晒されている場合には、異なるシーン構成(scene compositions)を表すことがある。動き補償HDR画像生成器100は、シーン中の動きを補償することによってモーションアーティファクトを解消または少なくとも低減しながら、イメージセンサ120による単一フレーム(すなわちシングルショット)の記録ステップによって生成された短露光時間画像データと長露光時間画像データとを合成し、単一のHDR画像にする。
【0014】
HDRカメラ110は、画像キャプチャデバイス140において実現され得る。画像キャプチャデバイス140は、例えば、スマートフォン、デジタル一眼レフ(DSLR)カメラ、またはその他のハンドヘルドデバイスである。
【0015】
図1に示すユースシナリオにおいて、イメージセンサ120は、シーン160からの光168を受ける。HDRカメラ110または画像キャプチャデバイス140は、イメージセンサ120にシーン160の画像を形成するためのレンズまたは対物レンズ(lens or imaging objective)を有し得るものと理解される(図を明確にするために図1には示されていない)。シーン160は、明るい領域(例えばスタジアム照明166)と暗い領域(例えばスタジアム照明166によって照光されない観客エリア165および観客164)の両方を有する。シーン160は、動く被写体、すなわちサッカー選手162およびボール163も含む。動き補償HDR画像生成器100は、イメージセンサ120の短露光時間画素および長露光時間画素の両方によって生成された画素値170を処理することにより、動き補償されたHDRカラー画像180を生成する。動き補償HDR画像生成器100は、イメージセンサ120のHDR機能を利用して、明るいスタジアム照明166、および照光されていない観客エリア165における観客164の両方を正確に描写する、シーン160の動き補償されたHDRカラー画像180を生成する。イメージセンサ120の短露光時間画素および長露光時間画素からの画素値170を合成するとき、HDR画像生成器100は動きを補償する。したがって、結果物である動き補償されたHDRカラー画像180は、モーションアーティファクトを伴うことなく、サッカー選手162およびボール163を示す。
【0016】
これに対し、仮に、動き補償HDR画像生成器100を、動きを補償しない従来の画像合成アルゴリズムで置き換えた場合、結果物であるシステムは、サッカー選手162およびボール163の輪郭においてモーションアーティファクト195を被った(文献において一般に「ゴースト発生」(ghosting)として知られる)HDR画像190を代わりに生成することになる。
【0017】
図2は、二重露光時間シングルショットHDRカラーイメージセンサ120をさらに詳細に示している。イメージセンサ120は、複数の同一の画素グループ220を有する画素アレイ210を備える。各画素グループ220は、短露光時間画素222と長露光時間画素224とを含む。イメージセンサ120は、長露光時間画素224を、短露光時間画素222よりも長く露出するように構成される。短露光時間画素222は、第1の色、第2の色、および第3の色の光168にそれぞれ感度を有する画素232S、234S、および236Sを含む。同様に、長露光時間画素224は、第1の色、第2の色、および第3の色の光168にそれぞれ感度を有する画素232L、234L、および236Lを含む。第1の色、第2の色、および第3の色は、例えば、緑、赤、および青である。
【0018】
各画素グループ220は、本開示の範囲から逸脱しない範囲で、センサ画素232S、234S、236S、232L、234L、および236Lのうちの1つ以上についての、1つよりも多いインスタンス(instance)を含み得る。例えば、各画素グループ220は、第1の色に感度を有する、複数の画素232Sと複数の画素232Lとを含んでもよい。一態様において、第1の色は緑である。
【0019】
図1を再び参照する。動き補償HDR画像生成器100は、各画素グループ220のセンサ画素232S、234S、236S、232L、234L、および236Lによって生成された、画素値170を処理することにより、動き補償されたHDRカラー画像180を生成する。
【0020】
動き補償HDR画像生成器100は、プロセッサ、および当該プロセッサによって実行された場合にイメージセンサ120からの画素値170を処理することにより、動き補償されたHDRカラー画像180またはその一部を生成する、非一時的メモリ中に符号化された機械可読命令の形態で実現されてもよい。動き補償HDR画像生成器100のいくつかの特定の実施形態は、非一時的メモリ中に符号化された機械可読命令として提供される。これらの機械可読命令は、サードパーティーによって提供されるプロセッサと協働してイメージセンサ120からの画素値170を処理することにより、動き補償されたHDRカラー画像180またはその一部を生成するように構成される。
【0021】
本開示の範囲から逸脱しない範囲で、HDR画像生成器100は、サードパーティーによって提供される二重露光時間シングルショットHDRカラーイメージセンサ120から受け取った画素値170をもとに、動き補償されたHDRカラー画像180を生成するように構成されたスタンドアローンの製品として提供されてもよい。
【0022】
図3は、ジグザグHDRカラーイメージセンサ300を例示している。イメージセンサ300は、二重露光時間シングルショットHDRカラーイメージセンサ120の一実施形態である。イメージセンサ300の画素は、正方形の画素グループ310において配列されている。イメージセンサ300は、図3に示されているものよりも多数の画素グループ310(例えば数百または数千の画素グループ310)を有し得るものと理解される。各画素グループ310は、短露光時間画素322(図3において白の背景で図示)と、長露光時間画素324(図3において網掛けの背景で図示)とを含む。各画素グループ310において、短露光時間画素322は、緑色光に感度を有する4つの画素「GS」と、赤色光に感度を有する2つの画素「RS」と、青色光に感度を有する2つの画素「BS」とを含み、長露光時間画素324は、緑色光に感度を有する4つの画素「GL」と、赤色光に感度を有する2つの画素「RL」と、青色光に感度を有する2つの画素「BL」とを含む。画素グループ310において、短露光時間画素322と長露光時間画素324とは、交互に入れ替わるジグザグの経路(図3における白および網掛けのジグザグの経路を参照)に沿って配列される。あるいは、イメージセンサ300は、複数の錯列画素グループ(staggered pixel groups)312を有するものと考えることもできる。各画素グループ312は、2つのGS画素、2つのGL画素、1つのRS画素、1つのRL画素、1つのBS画素、および1つのBL画素から構成される。画素グループ310および画素グループ312の各々は、画素グループ220の一実施形態である。
【0023】
図4は、拡張ベイヤー(extended-Bayer)HDRカラーイメージセンサ400を例示している。イメージセンサ400は、二重露光時間シングルショットHDRカラーイメージセンサ120の一実施形態である。イメージセンサ400の画素は、正方形の画素グループ410において配列されている。イメージセンサ400は、図4に示されているものよりも多数の画素グループ410(例えば、数百または数千の画素グループ410によるアレイ)を有し得るものと理解される。各画素グループ410は、短露光時間画素322と、長露光時間画素324とを含む。各画素グループ410において、短露光時間画素322は、緑色光に感度を有する4つの画素「GS」と、赤色光に感度を有する2つの画素「RS」と、青色光に感度を有する2つの画素「BS」とを含み、長露光時間画素324は、緑色光に感度を有する4つの画素「GL」と、赤色光に感度を有する2つの画素「RL」と、青色光に感度を有する2つの画素「BL」とを含む。各画素グループ410において、これらの画素は、4つのベイヤー型ブロック内で配列される。すなわち、各々が2つのGS画素と1つのRS画素と1つのBS画素とを有する2つのベイヤー型ブロック414と、各々が2つのGL画素と1つのRL画素と1つのBL画素とを有する2つのベイヤー型ブロック416内で配列される。イメージセンサ400は、1つのベイヤー型ブロック414および1つのベイヤー型ブロック416から構成された、複数の錯列画素グループ412を有するものと考えてもよい。
【0024】
図5は、二重露光時間シングルショットHDRカラーイメージセンサ120によってキャプチャされた単一の画像フレームに基づき、動き補償されたHDRカラー画像180の画像画素についての出力値を生成するための方法500を例示している。方法500は、動き補償HDR画像生成器100によって行われ得る。方法500を、HDRカラー画像180の各画像画素について繰り返すことにより、HDRカラー画像180の全体を形成(populate)することが可能である。
【0025】
ステップ510において、方法500は、イメージセンサ120の一ローカル領域のそれぞれのセンサ画素によって生成された画素値170を取得する。このローカル領域は、動き補償されたHDRカラー画像180の考慮されている画像画素の位置に対応する画素アレイ210中の位置にある。ローカル領域のこれらのセンサ画素は、(図2を参照して前述した)第1の色、第2の色、および第3の色の各々について、それぞれの色に感度を有する複数の短露光時間画素222および複数の長露光時間画素224を含む。したがって、当該ローカル領域は、センサ画素232S、234S、236S、232L、234L、および236Lの各々を、複数個ずつ有する。
【0026】
図6は、ジグザグHDRカラーイメージセンサ300に基づく方法500におけるステップ510の一例を示している。本例において、ステップ510は、イメージセンサ300のローカル領域620から画素値170を取得する。これらの画素値に基づき、方法500の後続のステップにおいて、対応する位置にある動き補償されたHDRカラー画像180の画素610についての出力値が生成される。ローカル領域620は、センサ画素の5×5アレイであって、ローカル領域620の中央および各隅に同一タイプのセンサ画素が見受けられるようなものとなっている。図6に示すローカル領域620は、その中央および各隅に画素GLを有する。あるいは、ローカル領域620は、画素GS、RS、RL、BS、またはBLを中央としてもよい。ローカル領域620はまた、5×5よりも大きいセンサ画素群(例えば7×7のセンサ画素群)であってもよい。
【0027】
本開示の範囲から逸脱しない範囲で、ローカル領域620の位置と画像画素610の位置との対応は、HDRカラー画像180がイメージセンサ300の画素アレイ全体を表すように構成されてもよいし、その一部分のみを表すように構成されてもよい。
【0028】
図7は、拡張ベイヤーHDRカラーイメージセンサ400に基づく方法500におけるステップ510の別の一例を示している。図7の例は、図6の例と同様であるが、イメージセンサ400に基づいており、したがって画素GS、GL、RS、RL、BS、およびBLの異なるレイアウトに基づいている点で異なる。図7の例においては、ステップ510は、画素値170をローカル領域720から取得する。本ローカル領域は、センサ画素の5×5アレイであって、ローカル領域620の中央および各隅に同一タイプのセンサ画素が見受けられるようなものとなっている。図7に示されるローカル領域720は、その中央および各隅に画素GSを有する。あるいは、ローカル領域720は、画素GL、RS、RL、BS、またはBLを中央としてもよい。ローカル領域720はまた、5×5よりも大きいセンサ画素群(例えば7×7のセンサ画素群)であってもよい。
【0029】
図5を再び参照する。ステップ510のローカル領域は、方法500の複数回の反復によって形成されるHDRカラー画像180が画素アレイ210の一部のみ(例えば中央領域または関心領域)を表現し得るようなものとして構成されてもよい。HDRカラー画像180は、画素アレイ210のセンサ画素解像度と同一の解像度か、より低い解像度を有し得る。
【0030】
ステップ530において、方法500は、第1の色(例えば緑)に対応付けられた短露光時間画素232Sおよび長露光時間画素232Lの画素値から、当該ローカル領域の動きパラメータmを決定する。動きパラメータは、ステップ510において画素値170の取得元であるローカル領域における動き度(degree of motion)を表す。小さい動きパラメータは、少ない動きを表し、大きい動きパラメータはより多くの動きを表す。一例において、ステップ530は、露光時間の差を補償するために共通のスケールにスケーリングされた短露光時間画素232Sと長露光時間画素232Lとの差異(disparity)Δから、動きパラメータを決定する。
【0031】
一実施形態において、差異Δは、画像画素の第1の色についての(露光時間の差を補償するために共通のスケールにスケーリングされた)短露光値β1,Sと長露光値β1,Lとの差の絶対値
Δ=|rβ1,S-β1,L| (式1)
である。ここでrは長露光時間の短露光時間に対する比である。ステップ530は、(a)ステップ510において取得された短露光時間画素232Sの画素値170からβ1,Sを導出し、(b)ステップ510において取得された長露光時間画素232Lの画素値170からβ1,Lを導出する。一般に、短露光値β1,Sおよび長露光値β1,Lは、複数の異なる方法で共通のスケールにスケーリングされ得る。第1の方法によれば、比率rは、前述の例で述べたように、長露光時間の短露光時間に対する比として決定され得る。そして、比率rを用いて、短露光値β1,Sに比率rを乗じることにより、短露光値β1,Sを共通のスケールにスケーリングすることができる。あるいは、第2の方法によれば、第2の比率rが、短露光時間の長露光時間に対する比として決定され得る。そして、第2の比率rを用いて、長露光値β1,Lに第2の比率rを乗じることにより、長露光値β1,Lを共通のスケールにスケーリングすることができる。さらに別の方法によれば、スケーリングは、(a)長露光値β1,Lに短露光時間を乗じ、(b)短露光値β1,Sに長露光時間を乗じることとによって達成されてもよい。したがって、短露光値β1,Sおよび長露光値β1,Lを共通のスケールにスケーリングするためのさらなる代替法を当業者が容易に思い付くであろうことは、もはや明らかである。
【0032】
別の実施形態において、差異Δは、センサノイズから生じる予期される画素値変動を超えて統計的に有意な隔たりのみが反映されるように、センサノイズについて補正される。本実施形態において、差異Δは、ノイズ超の差異(above-noise-disparity)
【数1】

として表され得る。ここで、kは定数であり、Var(β1,S,β1,L)は、短露光時間画素232Sの画素値170と、長露光時間画素232Lの画素値170との、合成ノイズ分散(combined noise variance)である。
【0033】
一態様において、Var(β1,S,β1,L)=rVar+Varであり、Varは短露光時間画素232Sの画素値170のノイズ分散であり、Varは長露光時間画素232Lの画素値170のノイズ分散である。VarおよびVarの各々は、イメージセンサ120の既知のまたは想定されるノイズ特性に基づき、予め決定されてもよい。センサノイズは画素値に依存し得るため、VarおよびVarは、それぞれβ1,Sおよび長露光値β1,Lの関数であり得る。
【0034】
さらに他の実施形態において、ステップ530で、センサノイズから生じる予期される画素値変動に対しての、ノイズ超の差異Δが考慮される。本実施形態において、差異Δは、相対的なノイズ超の差異
【数2】

として表され得る。
【0035】
ステップ530において、動きパラメータは、m=sinh(Δ/α)、m=tanh(Δ/α)、またはm=Δ/αとして算出され得る。ここでαは正規化パラメータであり、差異Δは、Δ、Δ、およびΔのうちの任意の1つであり得る。この、動きパラメータmの関数的マッピングは、mを0から1までの範囲内の値に制限するように構成される。10ビットのビット深度を有するイメージセンサ120の一例において、αは、5と50の間の範囲に納まり得る。
【0036】
長露光時間画素232Lの1つ以上が飽和しているならば、ステップ530において、そのような飽和長露光時間画素232Lを考慮から除き、短露光時間画素232Sと、不飽和長露光時間画素232Lとから、動きパラメータが決定されるようにしてもよい。
【0037】
ステップ540において、方法500は、ステップ510において取得された画素値170をデモザイク(demosaic)することにより、第1の色、第2の色、および第3の色の各々について、当該画像画素の出力値を決定する。ステップ540のデモザイキング処理は、HDR合成(HDR combination)と統合されている。より具体的には、各色について、ステップ540は、当該色に対応付けられた短露光時間画素222と、当該色に対応付けられた長露光時間画素224とから、当該画像画素の出力値を決定する。ステップ540は、ステップ530において決定された動きパラメータmに従い、出力値に対する短露光時間画素222と長露光時間画素224との相対寄与率(relative contributions)を重み付けする。各色について、当該画像画素に対する出力値Vout,Cは、
out,C=(1-m)βC,L+mrβC,S (式4)
と表され得る。ここで、インデックスCは、第1の色、第2の色、または第3の色をそれぞれ指す値である1、2、および3のうちの1つをとり、βC,SおよびβC,Lは、それぞれ、考慮中の画像画素と色に対する、短露光値および長露光値である。ステップ540は、ステップ510で取得された画素値170から、βC,SおよびβC,Lを導出する。ステップ540において、飽和長露光時間画素224を考慮から除き、各出力値の決定を、短露光時間画素222と不飽和長露光時間画素224とに基づいて行ってもよい。式4において、動きパラメータmは、0から1までの範囲内にあることができ、より小さい動きパラメータmは、ローカル領域における、より低い動き度を表し、より大きい動きパラメータmは、ローカル領域における、より高い動き度を表し得る。もしも一方で、ローカル領域に動きが無ければ、動きパラメータmは0であってもよく、当該画像画素に対する出力値Vout,Cは、長露光値βC,Lのみに基づき決定され得る。他方で、もしもローカル領域における動きの量が既定の動き最大量を超えるならば、動きパラメータmは1であってもよく、当該画像画素に対する出力値Vout,Cは、短露光値βC,Sのみに基づき決定され得る。すなわち一般に、ローカル領域における、より高い動き度は、画像画素の出力値Vout,Cが短露光値βC,Sに支配されるような、短露光値βC,Sのより高い重み付けおよび長露光値βC,Lのより低い重み付けに帰結することになる。逆に、ローカル領域における、より低い動き度は、画像画素の出力値Vout,Cが長露光値βC,Lに支配されるような、長露光値βC,Lのより高い重み付けおよび短露光値βC,Sのより低い重み付けに帰結することになる。
【0038】
ある実施形態において、ステップ540は、各色につき式1を、ステップ530において予め決定された動きパラメータmを用いて、当該色に対応付けられた短露光時間画素222と、長露光時間画素224との、画素値170に適合させる。
【0039】
ステップ530を再び参照する。合成ノイズ分散Var(β1,S,β1,L)の、別の(かつ潜在的により正確な)決定法は、式3において用いられる相対的な合成重み1-mおよびmを考慮し、合成ノイズ分散は動きパラメータmに依存し得るものと考える。この別の態様においては、ステップ530で、より一般的な形式の合成ノイズ分散Var(β1,S,β1,L,m)が考慮される。ノイズ超の差異Δは、このとき、代わりに
【数3】

と表され、かつ、相対的なノイズ超の差異Δは、代わりに
【数4】
と表され得る。ノイズ超の差異Δ´に基づく態様においては、ステップ530で、以下の超越方程式(transcendental equations)のうちの1つを解くことにより、動きパラメータmを決定し得る。すなわち、
【数5】

である。ノイズ超の差異Δ´に基づく態様においては、ステップ530で、以下の超越方程式のうちの1つを解くことにより、動きパラメータmを決定し得る。すなわち、
【数6】

である。合成ノイズ分散は、Var(β1,S,β1,L,m)=(1-m)Var+mrVarとして表され得る。以上に列挙された超越方程式(式7~12)は、短露光時間画素232Sの画素値170がゼロに近づくときに動きパラメータmをゼロに近づけるさらなる項を含むように改変されてもよい。本改変は、式11に対し、以下のように明示的に記述される。すなわち、
【数7】

であり、ここでαはスケーリングパラメータである。超越方程式の式7~10および12の各々が、同様に改変され得る。超越方程式の式7~13のうちの1つを実装するステップ530の実施形態は、ニュートン法(iterative Newton’s method)などの数値的方法(numerical methods)を用いるか、またはルックアップテーブル(図18~21に関連してさらに詳細に説明する)を用いることにより、動きパラメータmについて超越方程式を解くことが可能である。
【0040】
差異Δは、短露光値β1,Sと長露光値β1,Lとの差(露光時間の差を補償するために共通のスケールにスケーリングされた)に依存するゆえに、動き以外の作用(effects)が、動きパラメータmへ入り込むことがある。例えば、短露光値β1,Sおよび長露光値β1,Lのうちの1つまたは両方におけるノイズが差異Δに寄与する可能性があり、それゆえに、動きパラメータmに影響を及ぼし得る。従って、動きパラメータmをより一般的に、動きとノイズのうちの1つまたは両方などの、1つ以上の異なる作用を考慮に入れる、「ブレンディング関数」(blending function)と呼ぶこともできる。
【0041】
動き補償が適切ではない状況が起こることがある。例えば、当該ローカル領域において、第1の色に対応付けられた全ての長露光時間画素232Lが飽和しているならば、動きが存在するかどうかを決定することは不可能である。同様に、例えば、第1の色に対応付けられた長露光時間画素232Lの大半が飽和しているならば、動き補償を担保するにあたって十分な正確度で動き度を評価することは、不可能かも知れない。このような状況において、HDRカラー画像180におけるモーションアーティファクトを回避するために、長露光時間画素222の画素値170の使用をあきらめることのほうが望ましいことがある。他の状況において、画素値170は正確な動き評価を可能にするかも知れないが、そのような動き評価により、当該ローカル領域は動きによって有意に影響されていないことが判明するならば、動き補償をあきらめて、代わりに、動きを考慮せずに短露光時間画素232Sと長露光時間画素232Lとを合成することが、演算上効率的であることもある。さらに、一様なシーン部分、すなわち、明度や色における変動を全く有しないか、または些細な変動しか有しないシーン部分は、動きのもとでも不変であり、したがって動き補償を必要としない。
【0042】
方法500のある実施形態は、適切な場合にのみ動き補正を行うことにより、このような状況に対処する。本実施形態において、方法500はさらに、ステップ520および550を含む。ステップ520は、ステップ510の後で、かつ、潜在的にステップ530へ進む前に行われる。ステップ520において、第1の色、第2の色、および第3の色の各々について、動き補償が適切であるか否かが評価される。ステップ520において動き補償が適切であると判定される各色に対し、方法500は、続いて、当該色をステップ530および540によって処理する。ステップ520において動き補償が適切ではないと判定される各色に対し、方法500は代わりに、続いて、当該色をステップ550によって処理する。
【0043】
ステップ550へ送られた各色について、方法500は、ステップ510において取得された画素値170の非動き補償デモザイキング(non-motion-compensated demosaicing)を行うことにより、当該画像画素の出力値を決定する。より具体的には、そのような各色に対し、ステップ550にて当該画像画素の出力値は、(a)当該色に対応付けられた短露光時間画素222か、または、(b)当該色に対応付けられた短露光時間画素222と長露光時間画素224との、動きの補償を伴わない合成か、のいずれか一方から決定される。
【0044】
ステップ520は、ステップ522、524、および526のうちの1つ以上を含み得る。ステップ522において、方法500は、ステップ510にて取得された長露光時間画素224の飽和度(saturation)を評価する。一例において、ステップ522で、第1の色(ステップ530における処理はこれに基づく)に対応付けられた、閾値を上回る個数の長露光時間画素224が飽和していると判定される。すると、ステップ520で、動き補償は適切でないと結論される。別の例において、ステップ522で、第1の色とは別の色に対応付けられた、閾値を上回る個数の長露光時間画素224が飽和していると判定される。すると、ステップ522で、当該色に対応付けられた長露光時間画素224から入手可能なデータはステップ540のデモザイキングにおける使用のためには不十分であるがゆえに、当該色に対する動き補償は適切ではないと結論される。
【0045】
ステップ524において、ステップ510にて取得された短露光時間画素232Sと長露光時間画素232Lとの、画素値170(露光時間の差を補償するために共通のスケールにスケーリングされた)の差異を評価することにより、動きが有意であるか否かが判定される。ステップ524において、動きが全く存在しないか、または些細な動きしか存在しないと判定されるならば、ステップ524で、動き補償は不適切であると結論される。一態様において、ステップ524は、ステップ530に関して前述したものと同様な手法を用いて、例えば式1~3、5、および6のうちの1つに従い、差異を算出する。このような態様において、ステップ524は、代わりにステップ530の一部として行われてもよく、ステップ530において決定された動きパラメータが所定の閾値未満の場合にはステップ550へ進路を変更し、動きパラメータが閾値を超える場合に限り、ステップ540により処理を行うことができる。
【0046】
各色について、ステップ526において、ステップ510にて取得された画素値170の分散が評価される。もしも、当該色に対応付けられた短露光時間画素222の分散と、当該色に対応付けられた長露光時間画素224の分散との両方が、センサノイズから予期されるものなどの、ある閾分散(threshold variance)未満であるならば、動き補償は不要であるものとステップ526において判定され、その後、方法500はステップ550へ進む。
【0047】
ステップ522、524、および526のうち2つ以上を含む実施形態において、もしもステップ522、524、および526のうちの1つにより、動き補償は不適切または不要であると判定されるならば、方法500は、ステップ522、524、および526の残りのステップを実行せずに、ステップ550へ進み得るものと理解される。
【0048】
ステップ550において、ステップ522にて取得された情報を利用することにより、長露光時間画素222をデモザイキング処理に含めることが適切か否かを決定し得る。
【0049】
本開示の範囲から逸脱しない範囲で、それぞれ第1の色、第2の色、および第3の色に対応付けられた3種類の画素値を処理する代わりに、方法500は、これらの色の線形結合を処理してもよい。例えば、(それぞれ赤、緑、および青色光に感度を有するセンサ画素から取得された)画素値R、G、およびBを処理する代わりに、方法500は、G、(R-G)/2、および(B-G)/2を処理することができる。
【0050】
ある実施形態において、方法500はさらに、第1の色を選択するステップ502を含む。ステップ502において、ステップ510で受け取った画素値170を評価することにより、いずれの色が動き評価に最も相応しいのかを決定することができる。典型的には、イメージセンサ120の殆どの実施形態、および殆どのシナリオにおいて、殆どのイメージセンサ120は青画素や赤画素の2倍の数の緑画素を有するため、緑が、第1の色のための好適な選択である。しかし、あるシーン部分が緑チャネルの信号を殆ど有しないならば、ステップ502において、異なる色を第1の色として選択することがある。一態様において、ステップ502は、最大輝度を有する色を選択する。
【0051】
図8は、動き補償されたHDRカラー画像180の1つ以上の画像画素について動き補償されたHDR出力値874を生成するための、ある動き補償HDR画像生成器800を例示している。HDR画像生成器800は、動き補償HDR画像生成器100の一実施形態であり、方法500を行うことができる。HDR画像生成器800は、イメージセンサ120と結合されて、動き補償HDRカメラ802を形成し得る。HDRカメラ802は、HDRカメラ110の一実施形態である。
【0052】
HDR画像生成器800は、データ選択器(data selector)810と、動き解析器(motion analyzer)820と、動き補償HDRデモザイキングモジュール(motion-compensating HDR demosaicing module)830とを備える。HDR画像生成器800は、イメージセンサ120によってキャプチャされた単一の画像フレームから画素値170を取得し、これらの画素値170を処理することにより、動き補償されたHDRカラー画像180の、動き補償されたHDR出力値874を生成する。HDR画像生成器800は、画素値170のうちの異なるものを処理することにより、HDRカラー画像180の全体をポピュレートし得る。
【0053】
各動き補償されたHDR出力値874を生成するために、HDR画像生成器800は、以下に記載のように動作する。ステップ510の一例において、データ選択器810により、画素値170の中から、考慮中の画像画素に対応付けられたローカル領域に位置する、ローカル領域画素値(local region pixel values)870が選択される。ステップ530の一例において、動き解析器820によって、第1の色に対応付けられた、ローカル領域画素値870の部分集合を処理することにより、動きパラメータ872が決定される。ステップ540の一例において、動き補償HDRデモザイキングモジュール830により、第1の色、第2の色、および第3の色の各々について、(a)当該色に対応付けられた、ローカル領域画素値870の部分集合と、(b)動きパラメータ872とから、動き補償されたHDR出力値874が決定される。
【0054】
ある実施形態において、HDR画像生成器800は、動き補償が適切か否かを判定し、それに応じて動き補償デモザイキングまたは非動き補償デモザイキングを行うように、構成される。本実施形態において、HDR画像生成器800はさらに、評価器(evaluator)812と、非動き補償デモザイキングモジュール(non-motion-compensating demosaicing module)832とを備える。ステップ520の一例において、データ選択器810により出力されたローカル領域画素値870の各組について、評価器812によって、第1の色、第2の色、および第3の色の各々に対し、動き補償が適切か否かが判定される。もしも評価器812において、動き補償が適切であると判定されるならば、HDR画像生成器800は、動き解析器820および動き補償HDRデモザイキングモジュール830を適用することにより、動き補償されたHDR出力値874を前述のように決定する。評価器812において動き補償が不適切であると判定される各画像画素および対応付けられた色については、(a)HDR画像生成器800は代わりに、非動き補償デモザイキングモジュール832を適用し、すると、(b)ステップ550の一例において、非動き補償デモザイキングモジュール832が、対応付けられたローカル領域画素値870の部分集合を処理することにより、画像画素の当該色についての動き補償されていないHDR出力値876を決定する。
【0055】
HDR画像生成器800は、プロセッサ、およびこのプロセッサにより実行されるとき、イメージセンサ120からの画素値170を処理することにより、動き補償されたHDR出力値874および/または動き補償されていない出力値876を生成する、非一時的メモリ中に符号化された機械可読命令、という形態で実現されてもよい。データ選択器810、動き解析器820、および動き補償HDRデモザイキングモジュール830は、同一のプロセッサを共有してもよい。さらに、データ選択器810と、動き解析器820と、動き補償HDRデモザイキングモジュール830とに関連付けられたそのような機械可読命令を含む非一時的メモリが、サードパーティーのプロセッサと協働してイメージセンサ120からの画素値170を処理することにより、動き補償されたHDR出力値874および/または動き補償されていない出力値876を生成するように構成された、スタンドアローンの製品として提供されてもよい。
【0056】
本開示の範囲から逸脱しない範囲で、それぞれ第1の色、第2の色、および第3の色に対応付けられた3種類の画素値を処理する代わりに、HDR画像生成器800は、これらの色の線形結合を処理してもよい。例えば、画素値R、G、およびB(それぞれ赤、緑、および青色光に感度を有するセンサ画素から取得された)を処理する代わりに、HDR画像生成器800は、G、(R-G)/2、および(B-G)/2を処理することができる。
【0057】
図9は、単一の撮影で二重露光時間シングルショットHDRカラーイメージセンサ120によって生成された画素値170から、動き補償されたHDRカラー画像180を生成するための、ある動き補償HDR画像生成器900を例示している。HDR画像生成器900は、非動き補償デモザイキングモジュール832を備え、かつ、サンプリング器(sampler)942とマスター940とをさらに備えた、動き補償HDR画像生成器800の一実施形態である。マスター940は、評価器812の一態様である。HDR画像生成器900は、方法500を行うことができる。
【0058】
HDRカラー画像180の各画像画素について、サンプリング器942は、データ選択器810による、画素値170からの、対応するローカル領域画素値870の選択を制御する。サンプリング器942およびデータ選択器810は、協調してステップ510の一例を行う。サンプリング器942は、データ選択器810による画素値選択を、HDRカラー画像180の所望の画素解像度と、当該ローカル領域の所望のサイズとに応じて、制御するように構成される。
【0059】
図10は、サンプリング器942によるローカル領域定義の一例を示している。図10において、イメージセンサ120の画素アレイ210が表されている。画素アレイ210は、複数のセンサ画素1010を有する。センサ画素1010とは、画素232S、232L、234S、234L、236S、および236Lのいずれかのことを、総称的に指す。図を明確にするために、図10の中では、1つのセンサ画素1010のみに符号を付している。図10において、HDRカラー画像180の2つの隣接する画像画素について、データ選択器810によるローカル領域選択に対応する、2つのローカル領域1020(1)および1020(2)が示されている。各ローカル領域1020は、高さ1030および幅1032を有する。図10の例において、高さ1030および幅1032は、5×5画素のローカル領域1020を規定する。しかし、サンプリング器942は、データ選択器810に対し、高さ1030および幅1032を相応に規定することにより、画素アレイ210の、より小さいまたはより大きい領域をサンプリングするように、命じることもできる。図10において、ローカル領域1020は、正方形であるものとして表されている。しかし、本開示の範囲から逸脱しない範囲で、ローカル領域1020は、細長い長方形などの異なる形状を有してもよい。
【0060】
ローカル領域1020(1)および1020(2)は、それぞれ中心画素1022(1)および1022(2)を有する。中心画素1022(1)および1022(2)は、センサ画素1010の例である。ローカル領域1020(1)とローカル領域1020(2)とは、中心間の間隔(center-to-center spacing)1040を有する。図10の例において、中心間の間隔1040は2画素1010であり、このため、少なくとも水平寸法において、HDRカラー画像180の解像度が1/2倍にダウンサンプリングされる。サンプリング器942は、所望の解像度が達成されるように、中心間の間隔1040を設定することができる。例えば、サンプリング器942は、中心間の間隔1040を1画素に設定することにより、画素アレイ210のフル画素解像度をHDRカラー画像180の中に維持し得る。あるいは、サンプリング器942は、水平および垂直寸法の各々において、HDRカラー画像180の画素解像度が例えば1/2、1/4、もしくは1/8倍、または1/10倍にまでダウンサンプリングされるように、中心間の間隔1040を設定してもよい。
【0061】
図9を再び参照する。マスター940は、ローカル領域画素値870を処理することにより、対応付けられた画像画素の各色について、いずれのタイプの動き補償が適切であるかを決定する。マスター940は、ステップ520の一例を行う。結果物であるHDRカラー画像180は、動き補償されたHDR出力値874と動き補償されていない出力値876との組み合わせから構成され得る。ある画像画素の、ある色に対する出力値は動き補償されたHDR出力値874でありながら、その一方で、同じ画像画素の、別の色に対する出力値は動き補償されていない出力値876であることさえも、可能である。マスター940は、飽和度評価器(saturation evaluator)950と、差異評価器(disparity evaluator)960とを含む。
【0062】
飽和度評価器950は、ステップ522に関して前述したように、ローカル領域画素値870の、各インスタンスの飽和度レベルを評価する。ある実施形態において、飽和度評価器950は、不飽和基準(below-saturation criterion)952を含む。各色について、不飽和基準952は例えば、(当該色に対応付けられた)ある一定数のローカル領域画素値870が不飽和でなければならないという要件である。
【0063】
差異評価器960は、ステップ524に関して前述したように、ローカル領域画素値870について、第1の色に対応付けられた長露光時間画素と短露光時間画素との差異(露光時間の差を補償するために共通のスケールにスケーリングされている)を評価する。ある実施形態において、差異評価器960は、差異閾値(disparity threshold)966を含む。式2に従って差異を算出する場合、差異閾値966は、ゼロであるか、またはゼロに近くてよい。式1に従って差異を算出する場合、差異閾値966は、
【数8】

であり得る。あるいは、差異閾値966は、動き補償と処理時間との所望の妥協点(動き補償デモザイキングは一般に非動き補償デモザイキングよりも演算的に高くつくゆえに)を達成するように、定義される。
【0064】
特定の実施形態において、マスター940はさらに、ステップ526に関して前述したようにローカル領域画素値870の分散を評価する、分散評価器(variance evaluator)968を含む。マスター940はさらに、ステップ502を行うように構成されてもよい。
【0065】
HDR画像生成器900は、プロセッサ、およびこのプロセッサにより実行されるとき、イメージセンサ120からの画素値170を処理することにより、動き補償されたHDR出力値874および/または動き補償されていない出力値876を生成する、非一時的メモリ中に符号化された機械可読命令、という形態で実現されてもよい。マスター940、サンプリング器942、データ選択器810、動き解析器820、動き補償HDRデモザイキングモジュール830、および非動き補償デモザイキングモジュール832は、同一のプロセッサを共有してもよい。さらに、マスター940と、サンプリング器942と、データ選択器810と、動き解析器820と、動き補償HDRデモザイキングモジュール830と、非動き補償デモザイキングモジュール832と、に関連付けられたそのような機械可読命令を含む非一時的メモリが、サードパーティーのプロセッサと協働してイメージセンサ120からの画素値170を処理することにより、動き補償されたHDR出力値874および/または動き補償されていない出力値876を生成するように構成された、スタンドアローンの製品として提供されてもよい。
【0066】
図11Aおよび図11Bは、二重露光時間シングルショットHDRカラーイメージセンサ120によりキャプチャされた単一の画像フレームから取得される画素値に基づき、条件付きデモザイキングを用いて動き補償されたHDRカラー画像180を生成するための、ある方法1100を例示している。方法1100において、少なくとも飽和度レベルと動き差異とを評価することにより、HDRカラー画像180の各画像画素および対応付けられた各色について、相応に適切なタイプのデモザイキングが適用される。方法1100の各繰り返し(iteration)において、HDRカラー画像180の、ある画像画素の第1の色、第2の色、および第3の色の各々に対し、出力値が生成される。方法1100をHDRカラー画像180の各画像画素に対して繰り返すことにより、HDRカラー画像180の全体をポピュレートすることが可能である。方法1100は、方法500の一実施形態である。方法1100は、例えば、HDR画像生成器900により行われる。図11Aは、方法1100の第1の部分を示しており、図11Bは、方法1100の第2の部分を示している。図11A図11Bとは、以下の説明の中で一緒に見ることが最良である。
【0067】
方法1100は、ステップ1110、1120、および1130を含む。ステップ1110において、画素値170が取得される。ステップ1120において、選択パラメータ群が取得される。ステップ1110および1120の一例において、データ選択器810は、(a)イメージセンサ120からの画素値170と、(b)サンプリング器942からのデータ選択パラメータ群(高さ1030、幅1032、および中心間の間隔1040など)とを受け取る。ステップ1130において、ステップ1110にて取得された画素値170の中から、ステップ1120にて取得されたデータ選択パラメータに従い、二重露光時間シングルショットHDRカラーイメージセンサの、一ローカル領域のそれぞれのセンサ画素によって生成された画素値870が選択される。ステップ1130の一例において、データ選択器810は、ステップ1120において取得されたローカル領域1020の定義に従い、イメージセンサ120によって生成された画素値870を選択する。ある実施形態において、方法1100はさらに、第1の色を選択するステップ502を含む。
【0068】
ステップ1110、1120、および1130、ならびにオプションとしてステップ502を完了した後に、方法1100は続けて、第1の色に対するステップ群のブロック1102と、第2の色および第3の色の各々に対するステップ群のブロック1104と、を行う。ブロック1102は、判定1140で始まる。判定1140において、第1の色に対応付けられた長露光時間画素の飽和度が評価される。もしも、第1の色に対応付けられた長露光時間画素の画素値870が不飽和基準を満たしているならば、方法1100は、もう一つの判定1144へ進む。さもなくば、方法1100は続けて、(a)ステップ1142で、第1の色の画素値870を処理し、(b)ステップ1152により、第2の色および第3の色の各々についての画素値870を処理する。判定1140の一例において、飽和度評価器950は、長露光時間画素232Lの画素値870の飽和度レベルを、不飽和基準952と比較する。次に、本例において、もしも長露光時間画素232Lが不飽和基準952を満たしていなければ、マスター940は、非動き補償デモザイキングモジュール832に対し、以下にさらに詳細に説明するように、ステップ1142および1152により、第1の色、第2の色、および第3の色の各々についての画素値870を処理するように命じる。他方で、もしも長露光時間画素232Lが不飽和基準952を満たしているならば、マスター940は続けて、第1の色に対応付けられた画素値870に対し、差異評価器960を適用する。
【0069】
第1の色に対応付けられた長露光時間画素の画素値870が判定1140における飽和度基準を満たさない場合、長露光時間画素のデータ品質は、動き解析のためには不十分であるものと見做される。この場合、方法1100は、動きの情報(knowledge)を取得しない。したがって、方法1100において、画素値870の非動き補償デモザイキングが用いられる。さらに、たとえ第2の色または第3の色に対応付けられた長露光時間画素が飽和度基準を満たしているとしても、方法1100は、短露光時間画素と長露光時間画素との間のいかなる潜在的な動き差異の情報も有しない。この場合、方法1100はゆえに、第1の色、第2の色、および第3の色の各々について、短露光時間画素のみに基づいて非動き補償デモザイキングを行う。従って、ステップ1142において、短露光時間画素のみを用いて非動き補償デモザイキングを行うことにより、第1の色について、当該画像画素の出力値が決定される。同様に、ステップ1152において、短露光時間画素のみを用いて非動き補償デモザイキングを行うことにより、第2の色および第3の色の各々について、当該画像画素の出力値が決定される。ステップ1142および1152の一例において、マスター940は、非動き補償デモザイキングモジュール832に対し、第1の色、第2の色、および第3の色の各々に対応付けられた短露光時間画素の画素値870を処理することにより、各色に対する動き補償されていない出力値876を決定するように命じる。本例において、非動き補償デモザイキングモジュール832は、(a)第1の色についての短露光時間画素232Sの画素値870をデモザイクし、(b)第2の色についての短露光時間画素234Sの画素値870をデモザイクし、かつ、(c)第3の色についての短露光時間画素236Sの画素値870をデモザイクする。
【0070】
判定1144は、第1の色に対応付けられた短露光時間画素と長露光時間画素との差異(露光時間の差を補償するために共通のスケールにスケーリングされた)を算出し、この差異を、差異閾値と比較する。もしも差異が差異閾値を超えるならば、方法1100は続けて、(a)ステップ1148において、第1の色に対応付けられた画素値870をステップ530および540によって処理することにより、当該画像画素の第1の色に対する動き補償された出力値を決定し、かつ、(b)判定1150において、第2の色および第3の色の各々の長露光時間画素の飽和度レベルを評価する。他方で、もしも差異が差異閾値を超えなければ、方法1100は続けて、(a)ステップ1146により、第1の色に対応付けられた画素値870を処理し、かつ、(b)判定1150のもう一つのインスタンス1150’において、第2の色および第3の色の各々の長露光時間画素の飽和度レベルを評価する。判定1144の一例において、差異評価器960は、図9に関して前述したように、短露光時間画素232Sと長露光時間画素232Lとの、画素値870(露光時間の差を補償するために共通のスケールにスケーリングされた)の差異を算出し、この差異を、差異閾値966と比較する。本例において、差異が差異閾値を超える場合、マスター940は、非動き補償デモザイキングモジュール832に対し、ステップ1146において、第1の色に対応付けられた画素値870を処理することにより、当該画像画素の第1の色に対する動き補償されていない出力値876を決定するように命じる。もしも代わりに、差異が差異閾値を下回るならば、マスター940は続けて、判定1150において、第2の色および第3の色に対応付けられた長露光時間画素の画素値870に、飽和度評価器950を適用する。差異が差異閾値を下回り、かつ、第1の色に対応付けられた長露光時間画素の画素値870が飽和度基準を満たしている場合(判定1144における結果「いいえ」に対応)、方法1100は、短露光時間画素と長露光時間画素との両方を利用して、当該画像画素の第1の色に対する出力値を決定することが可能である。但し、動き補償は不要であると見做される。したがってステップ1146において、第1の色に対応付けられた短露光時間画素と長露光時間画素とを用いて非動き補償デモザイキングを行うことにより、当該画像画素の第1の色に対する出力値が決定される。差異が差異閾値を超えており、かつ、第1の色に対応付けられた長露光時間画素の画素値870が飽和度基準を満たしている場合(判定1144における結果「はい」に対応)、第1の色に動き補償デモザイキングを行うことが適切であるものと見做される。したがってステップ1148において、第1の色についてステップ530およびステップ540を行うことにより、第1の色に対する当該画像画素の動き補償された出力値が決定される。ステップ1146は、飽和長露光時間画素を考慮から除き、各出力値の決定を、短露光時間画素と、不飽和長露光時間画素とに基づいて行ってもよい。ステップ1146の一例において、非動き補償デモザイキングモジュール832は、短露光時間画素232Sおよび不飽和長露光時間画素232Lの画素値870の合成に基づき、第1の色に対する動き補償されていない出力値876を決定する。ステップ1148の一例において、動き解析器820および動き補償HDRデモザイキングモジュール830は、第1の色に対応付けられた短露光時間画素232Sおよび長露光時間画素232Lの画素値870を処理することにより、当該画像画素の第1の色に対する動き補償されたHDR出力値874を決定する。
【0071】
判定1150は、第1の色ではなく、第2の色および第3の色の各々に適用されることを除いては、判定1140と同様である。もしも判定1150において、長露光時間画素が飽和度基準を満たしているものと判定されるならば、方法1100は続けて、ステップ1158において、ステップ530と、考慮中の色に対応付けられたステップ540の一部とを行うことにより、考慮中の色に対する画像画素の動き補償された出力値を決定する。さもなくば、方法1100は、ステップ1152へ進む。ステップ1158は、第2の色および/または第3の色に適用されることを除いては、ステップ1148と同様である。判定1150’は、判定1150と全く同じであるが、方法1100の判定プロセス中の異なる地点に位置する。判定1150’に対する応答が「いいえ」ならば、方法1100は、ステップ1152へ進む。判定1150’に対する応答が「はい」ならば、方法1100は、ステップ1156へ進む。ステップ1156は、第2の色および/または第3の色に適用されることを除いては、ステップ1146と同様である。
【0072】
一実施形態において、方法1100はさらに、画素値870の分散を考慮することにより、最適なタイプのデモザイキングを決定する。方法1100の本実施形態はさらに、判定1149および1149’を含む。判定1149は、判定1144からステップ1148への経路を遮る。判定1149はステップ526の一実施形態であり、第1の色に対応付けられた画素値870の分散が閾分散を超えるか否かを評価する。もしも超えるならば、方法1100は、ステップ1148へ進む。もしも超えなければ、方法1100は代わりに、ステップ1146へ進路を変更する。判定1149’は、判定1150からステップ1158への経路を遮る。判定1149’はステップ526の一実施形態であり、第2の色および第3の色の各々について、考慮中の色に対応付けられた画素値870の分散が閾分散を超えるか否かを評価する。もしも超えるならば、方法1100は、当該色について、ステップ1158へ進む。もしも超えなければ、方法1100は、当該色について、ステップ1156へ進路を変更する。
【0073】
図12は、第1の色に対応付けられた短露光時間画素と長露光時間画素との動き差異(motion discrepancy)を評価するための、ある方法1200を例示している。方法1200は、ステップ530の一実施形態であり、動きパラメータmを決定する。方法1200は、動き解析器820により行われて、画素値870に基づき、動きパラメータ872を決定し得る。方法1200は、ステップ1210、1220、および1230を含む。
【0074】
ステップ1210において、第1のモデルを、短露光時間画素232S(第1の色に対応付けられた)の画素値870に適合させることにより、当該画像画素に対する短露光時間第1色値(short-exposure-time first-color value)(例えば式1のβ1,S)が決定される。この短露光時間第1色値は、当該画像画素に対応付けられた実際の第1の色輝度の、最良の推定値を表している。ステップ510に関して前述したように、画素値870を取得する元となるローカル領域は、第1の色に感度を有する複数の短露光時間画素232Sを含むゆえ、当該画像画素に対する短露光時間第1色値を決定するにあたり、複数の画素値が利用可能である。当該ローカル領域の中心は、短露光時間画素232Sに一致してもよいし、一致しなくてもよい。ステップ1210は、当該ローカル領域内の全ての短露光時間画素232Sを考慮することにより、当該画像画素に対する短露光時間第1色値を補間する。ローカル領域の中心が短露光時間画素232Sに一致している場合でさえも、ステップ1210において用いられる適合化処理は、ノイズを平均化するうえで役立つと言え、ゆえに、短露光時間第1色値の決定のロバスト性を増すことができる。
【0075】
ステップ1220は、長露光に関するものであることを除いては、ステップ1210と同様である。ステップ1220において、第2のモデルを、長露光時間画素232L(第1の色に対応付けられた)の画素値870に適合させることにより、当該画像画素に対する長露光時間第1色値(long-exposure-time first-color)(例えば式1のβ1,L)が決定される。
【0076】
ステップ1210および1220は、β1,Sおよびβ1,Lを共通のスケールにスケーリングすることにより、露光時間の差を補償することを含み得る。あるいはステップ1230において、このスケーリングを行う。
【0077】
ステップ1230において、ステップ1210にて決定された短露光時間第1色値と、ステップ1220にて決定された長露光時間第1色値との、差異を算出することにより、動きパラメータが決定される。ここで、短露光時間第1色値および長露光時間第1色値は、共通のスケールにスケーリングされる。ステップ1230は、式1~3、5または6を利用できる。ある実施形態において、ステップ1230で、動きパラメータは、ステップ530に関して前述したように、m=sinh(Δ/α)、m=tanh(Δ/α)、もしくはm=Δ/αとして算出されるか、または、式7~13のうちの1つに従い算出される。
【0078】
ある実施形態において、ステップ1210はステップ1212を含み、ステップ1220はステップ1222を含む。一方では、ステップ1212において、ステップ1210による適合化の中で使用される各画素値870に対し、適合重みが適用される。例えば、ステップ1212は、短露光時間画素の画素値に適合重みを乗じることにより、短露光時間画素に前記適合重みを適用できる。ステップ1212の適合重みは、画素値870の信号品質、または画素値870の予期される信号品質の増加関数であり、適合化において、より優れたデータ品質の画素値870に対し、相対的により多量の重みが割り当てられるようなものとなっている。ステップ1212の適合重みは、イメージセンサ120のセンサノイズのモデルから導出され得る。他方では、ステップ1222において、ステップ1220による適合化の中で使用される各画素値870に対し、適合重みが適用される。例えば、ステップ1222は、長露光時間画素の画素値に適合重みを乗じることにより、長露光時間画素に前記適合重みを適用できる。ステップ1222の適合重みもまた、画素値870の信号品質、または画素値870の予期される信号品質の増加関数である。ステップ1212および1222の適合重みは、イメージセンサ120の、ノイズ特性および/または飽和挙動(saturation behavior)のモデルに基づき得る。
【0079】
図13Aおよび図13Bは、ステップ1212および1222において使用され得る、適合重み関数の例を表している。図13Aは、短露光時間画素232Sなどの短露光時間画素に適用可能な、適合重み関数1310を表している。図13Bは、長露光時間画素232Lなどの長露光時間画素に適用可能な、適合重み関数1350を表している。図13Aおよび図13Bは、以下の説明の中で一緒に見ることが最良である。図13Aおよび図13Bの各々は、それぞれの適合重み関数を、画素値1302に対する適合重み1304としてプロットしている。
【0080】
適合重み関数1310は、下方閾値1312と最大画素値1314との間においては1であり、画素値が下方閾値1312からゼロまで減少するとき、適合重み関数1310はゼロまで漸減する。この減少は、センサノイズが画素値に増々有意な寄与を及ぼすようになるにつれて、劣化してゆくデータ品質を反映している。一実施形態において、適合重み関数1310はまた、破線1320に示されるように、漸減して最高画素値において消失する。この減少は、飽和が画素値を制限し始めるにつれて、劣化してゆくデータ品質を反映している。
【0081】
適合重み関数1350は、ゼロと上方閾値1352との間においては1であり、画素値が上方閾値1352から最大画素値1354まで増加するとき、適合重み関数1350はゼロまで漸減する。この減少は、飽和が画素値を制限し始めるにつれて、劣化してゆくデータ品質を反映している。一態様において、最大画素値1354は、イメージセンサが出力し得る最高画素値である。別の態様において、最大画素値1354は、イメージセンサが出力し得る最高画素値未満であり、代わりに、そのレベルを上回る飽和度は容認し得ないあるレベルを規定する。本態様により、著しく飽和した画素値は考慮から除かれる。
【0082】
一実施形態において、適合重み関数1350はまた、破線1360に示されるように、漸減して最低画素値において消失する。この減少は、センサノイズが画素値に増々有意な寄与を及ぼすようになるにつれて、劣化してゆくデータ品質を反映している。
【0083】
図12を再び参照する。ステップ1212は、適合重み関数1310(漸減部1320有りまたは無しの)を利用し得る。ステップ1222は、適合重み関数1350(漸減部1360有りまたは無しの)を利用し得る。
【0084】
ある実施形態において、ステップ1210は、ある二次元(2D)多項式モデルを用いるステップ1214を含み、ステップ1220は、別の2D多項式モデルを用いるステップ1224を含む。ステップ1214および1224の2D多項式モデルは、同一でもよいし、相異なってもよい。各2D多項式モデルは、水平および垂直画素座標の両方を入力パラメータとして有し、それぞれの適合重みを出力パラメータとして有する、多項式関数である。図13Aおよび図13Bに例示される適合重み関数1310および1350と同様に、多項式関数は、正規化(例えば最大値1に正規化)されてもよい。
【0085】
ステップ1214において適用される2D多項式の次数は、ローカル領域のサイズに依存し得る。例えば、図6および図7に表したような5×5領域により、短露光時間画素232Sの画素値870に対し、1次2D多項式のロバストな適合が可能にされ得る。ところが、7×7領域においては、短露光時間画素232Sの画素値870に対し、2次または3次2D多項式のロバストな適合が可能にされ得る。一般に、より大きい領域において、より高次の多項式の適合が可能にされる。一方において、より高次の多項式は、ローカル領域内の画素変動に対するより正確な適合を可能にする。他方において、より大きいローカル領域は、所望以上のボケ(blurring)を誘発するかも知れない。さらに、より高次の多項式を大きいローカル領域に適合させることは、より低次の多項式を小さいローカル領域に適合させることよりも、演算的に高くつく。一実施形態において、ステップ1210で、1次多項式(平面)またはゼロ次多項式(定数)を利用することにより、例えば処理時間が最小化される。
【0086】
ステップ1220は、より飽和を被り易い、長露光時間画素232Lを処理するがゆえに、ステップ1220において、飽和画素から取得された画素値870を省き、不飽和画素値870のみを考慮することができる。従って、ステップ1220の適合化処理のために利用可能な画素値870の個数は、当該ローカル領域における長露光時間画素232Lの個数よりも少ないことがある。よって、ステップ1224において適用される2D多項式の次数はさらに、不飽和長露光時間画素232Lの実際の個数にも依存し得る。
【0087】
一実施形態において、ステップ1212の2D多項式モデルは、1次、2次または3次の2D多項式であり、ステップ1224の2D多項式モデルは、ステップ1212の2D多項式モデルよりも、次数が1または2だけ少ない。例えば、ステップ1212の2D多項式モデルは、2次または3次の2D多項式であり、ステップ1212の2D多項式モデルは、ゼロ次または1次の2D多項式である。別の実施形態において、第1および第2のモデルは、同一次数の2D多項式である。
【0088】
図14は、HDRカラー画像180の一画像画素に対応付けられたローカル領域の画素値に動き補償デモザイキングを行うための、ある方法1400を例示している。方法1400は、当該画像画素の一色についての出力値を決定するものである。ステップ540において、各色について、方法1400を行うことができる。動き補償HDRデモザイキングモジュール830は、方法1400を行うことにより、画素値870と、動きパラメータ872とに基づき、動き補償されたHDR出力値874を生成し得る。方法1400は、ステップ1410、1420、および1430を含む。
【0089】
ステップ1410において、第1のモデルを、考慮中の色に対応付けられた短露光時間画素222の画素値870に適合させることにより、当該画像画素の当該色についての短露光値(例えば式4のβC,S)が決定される。この短露光値は、当該画像画素の当該色に対応付けられた実際の輝度の、最良の推定値を表している。モデルを画素値870に適合させることの利点は、ステップ1210に関して前述したものと同様である。
【0090】
ステップ1420は、長露光に関するものであることを除いては、ステップ1410と同様である。ステップ1420において、第2のモデルを、考慮中の色に対応付けられた長露光時間画素224の画素値870に適合させることにより、当該画像画素の当該色についての長露光値(例えば式4のβC,L)が決定される。
【0091】
ステップ1410および1420は、βC,SおよびβC,Lを共通のスケールにスケーリングすることにより、露光時間の差を補償することを含み得る。あるいはステップ1430において、このスケーリングを行う。
【0092】
ステップ1430において、考慮中の色に対し、当該画像画素の出力値は、(a)ステップ1410において決定された短露光値と、(b)長露光値との、加重平均(weighted average)として算出される。加重平均は、式4に関して前述したように、動きパラメータmを重みとして用いる。
【0093】
ある実施形態において、ステップ1410はステップ1412を含み、ステップ1420はステップ1422を含む。ステップ1412および1422の各々は、それぞれ対応付けられた画素値にモデルを適合させる。ステップ1412は、第1の色、第2の色、および第3の色のいずれか1つに適用可能であることを除いては、ステップ1210と同様である。同じく、ステップ1422は、第1の色、第2の色、および第3の色のいずれか1つに適用可能であることを除いては、ステップ1220と同様である。ステップ1412は、ステップ1414および1416のうちの1つまたは両方を含み得る。ステップ1422は、ステップ1424および1426のうちの1つまたは両方を含み得る。ステップ1414および1424は、それぞれ、ステップ1212および1222と同様である。ステップ1416は、ステップ1416の2D多項式の次数が考慮中の色に依存し得ることを除いては、ステップ1214と同様である。例えば、ステップ1416は、第2の色および第3の色に対し、ステップ1214にて第1の色に適用されるものよりも低次数の2D多項式を適用することにより、第2の色および第3の色の各々に属する、第1の色よりも少数の画素値870に対処し得る。同じく、ステップ1426は、ステップ1426の2D多項式の次数が考慮中の色に依存し得ることを除いては、ステップ1224と同様である。例えば、ステップ1426は、第2の色および第3の色に対し、ステップ1224にて第1の色に適用されたものよりも低次数の2D多項式を適用することができる。
【0094】
さて、図5図12、および図14を併せて参照する。方法500は、方法1200を用いてステップ530を行い、方法1400を用いてステップ540を行うことができる。このような実施形態において、方法1400は、第1の色に対してステップ1410および1420における演算を繰り返す必要はない。というのも、ステップ530が方法1200を用いて、これらの演算を既に行っているからである。本実施形態において、考慮中の色が第1の色である場合、ステップ1410および1420は、それぞれステップ1418および1428を実施し得る。ステップ1418において、第1の色に対する短露光値は、ステップ1210にて決定された短露光時間第1色値に設定される。同様に、ステップ1428において、第1の色に対する長露光値は、ステップ1220にて決定された長露光時間第1色値に設定される。
【0095】
さて、図11図12図14を併せて参照する。ステップ1148および1158の各々は、方法1200および1400に則って行われ得る。ステップ1146および1156の各々は、方法1400に則って行われ得るが、ステップ1430における加重平均を、単純な非加重平均(unweighted average)か、または、動きパラメータを重みとして用いない加重平均かのいずれかで置き換えるという、1つの改変が加えられる。後者の場合、重みは、図13Aおよび図13Bに示される適合重みについての集合的考慮から導出することができる。ステップ1142および1152の各々は、ステップ1410に則って行われ得る。さらに、判定1144は、方法1200の少なくとも一部を利用することにより、判定1144の差異を決定できる。
【0096】
図15は、単一の撮影で二重露光時間シングルショットHDRカラーイメージセンサ120によって生成された画素値170から、動き補償されたHDRカラー画像180を生成するための、別の動き補償HDR画像生成器1500を例示している。HDR画像生成器1500は、動き補償HDR画像生成器900の一実施形態であって、方法1200と、ステップ1412および1422を含む1400の一実施形態と、を実施する方法1100を行うように適応されたものである。
【0097】
HDR画像生成器1500において、マスター940は、それぞれ飽和度評価器950および差異評価器960の実施形態としての、飽和度評価器1550および差異評価器1560を実施する。飽和度評価器1550は、不飽和基準952を含んでおり、かつ、判定1140、1150、および1150’を行うように構成されている。差異評価器1560は、1つ以上のモデル1562と、判定1144において使用されて方法1200の少なくとも一部に従い差異を決定するように構成された、適合重み1564群とを含む。適合重み1564は、例えば、図13Aおよび図13Bの適合重みである。各モデル1562は、例えば、2D多項式である。差異評価器1560はまた、差異閾値966をも含む。HDR画像生成器1500において実施されるときのマスター940は、さらに、判定1149および1149’を行うための分散評価器968を含んでもよい。
【0098】
HDR画像生成器1500は、それぞれ動き解析器820および動き補償HDRデモザイキングモジュール830の実施形態としての、動き解析器1520および動き補償HDRデモザイキングモジュール1530を含む。動き解析器1520は、1つ以上のモデル1522と、適合重み1524群とを含む。動き解析器1520は、モデル1522(群)と適合重み1524群とを利用することにより、ステップ1212、1214、1222、および1224を含む方法1200の一実施形態を行う。動き補償HDRデモザイキングモジュール1530は、1つ以上のモデル1532と、適合重み1534群とを含む。動き補償HDRデモザイキングモジュール1530は、モデル1532(群)と適合重み1534群とを利用することにより、ステップ1414、1416、1424、および1426を含む方法1400の一実施形態を行う。各モデル1522および1532は、例えば、2D多項式である。適合重み1524および1534は、例えば、図13Aおよび図13Bの適合重みである。動き解析器1520および動き補償HDRデモザイキングモジュール1530は、ステップ1148および1158を行うように構成される。
【0099】
HDR画像生成器1500は、非動き補償デモザイキングモジュール832の一実施形態である、非動き補償デモザイキングモジュール1540を含む。非動き補償デモザイキングモジュール1540は、1つ以上のモデル1542と、適合重み1544群とを含む。非動き補償デモザイキングモジュール1540は、モデル1522(群)と適合重み1524群とを利用することにより、ステップ1142、1146、1152、および1156を行うように構成される。
【0100】
ある実施形態において、適合重み1524、1534、1544、および1564のうち、少なくともいくつかは、全く同じである。本実施形態において、HDR画像生成器1500は、同じ適合重みの複製(duplicate copies)を含む必要はなく、代わりに、そのような適合重みの唯1つのインスタンスを有してもよいものと理解される。同様に、モデル1522、1532、1542、および1562のうち、少なくともいくつかは全く同じであり得る。この場合、HDR画像生成器1500は、同じモデルの複製を含む必要はなく、代わりに、そのようなモデルの唯1つのインスタンスを有してもよい。
【0101】
HDR画像生成器1500は、プロセッサ、およびこのプロセッサにより実行されるとき、イメージセンサ120からの画素値170を処理することにより、動き補償されたHDR出力値874および/または動き補償されていない出力値876を生成する、非一時的メモリ中に符号化された機械可読命令、という形態で実現されてもよい。マスター940、サンプリング器942、データ選択器810、動き解析器1520、動き補償HDRデモザイキングモジュール1530、および非動き補償デモザイキングモジュール1540は、同一のプロセッサを共有してもよい。さらに、マスター940と、サンプリング器942と、データ選択器810と、動き解析器1520と、動き補償HDRデモザイキングモジュール1530と、非動き補償デモザイキングモジュール1540と、に関連付けられたそのような機械可読命令を含む非一時的メモリが、サードパーティーのプロセッサと協働してイメージセンサ120からの画素値170を処理することにより、動き補償されたHDR出力値874および/または動き補償されていない出力値876を生成するように構成された、スタンドアローンの製品として提供されてもよい。
【0102】
図16は、二重露光時間シングルショットHDRカラーイメージセンサ120から、動き補償されたHDRカラー画像180を生成するための、あるシステム1600を例示している。システム1600は、コンピュータにより実現されてもよく、方法500を行うように構成される。システム1600は、プロセッサ1610と、非一時的メモリ1620と、インターフェース1690とを備える。プロセッサ1610およびメモリ1620(ならびに、特定の実施形態において、インターフェース1690)は協働して、HDR画像生成器800の一実施形態を形成する。システム1600はさらに、二重露光時間シングルショットHDRカラーイメージセンサ120をも備えてもよく、この場合、システム1600はHDRカメラ802の一実施形態である。
【0103】
メモリ1620は、機械可読命令1630を含む。命令1630は、メモリ1620の不揮発性部分の中に符号化され得る。命令1630は、データ選択命令1632と、動き命令(motion instruction)1634と、動き補償HDRデモザイキング命令1636とを含む。一実施形態において、メモリ1620はさらに、インターフェース1690を介して受信されるデータおよび/またはプロセッサ1610で実行されるときに命令1630によって生成されるデータを格納するように構成された、動的データ記憶域1680をも含むことができる。別の実施形態において、システム1600はメモリ1620を備えておらず、代わりに、例えばサードパーティーにより提供された、外部メモリと協働するように構成される。
【0104】
プロセッサ1610によって実行されるとき、データ選択命令1632は、ローカル領域画素値870を取得する。データ選択命令1632は、ローカル領域画素値870を、インターフェース1690を介して、または動的データ記憶域1680から取得するように、構成され得る。動的データ記憶域1680は、画素値170からローカル領域画素値870を選択するようにデータ選択命令1632を構成し得るようなものとして、イメージセンサ120により記録された一フレームの全ての画素値170を含むことができる。データ選択命令1632とプロセッサ1610は協働して、データ選択器810の一実施形態を形成する。
【0105】
プロセッサ1610によって実行されるとき、動き命令1634は、第1の色に対応付けられた、ローカル領域画素値870の部分集合を処理することにより、動きパラメータ872を決定する。動き命令1634は、動きパラメータ872を動的データ記憶域1680に格納するように、構成され得る。動き命令1634とプロセッサ1610は協働して、動き解析器820の一実施形態を形成する。
【0106】
プロセッサ1610によって実行されるとき、動き補償HDRデモザイキング命令1636は、第1の色、第2の色、および第3の色の各々について、(a)当該色に対応付けられた、ローカル領域画素値870の部分集合と、(b)動きパラメータ872とから、動き補償されたHDR出力値874を決定する。動き補償HDRデモザイキング命令1636は、(a)動きパラメータ872と、ローカル領域画素値870の部分集合とを、動的データ記憶域1680から取り出し、(b)動き補償されたHDR出力値874を動的データ記憶域1680に格納するか、または、動き補償されたHDR出力値874をインターフェース1690を介して出力するように、構成され得る。動き補償HDRデモザイキング命令1636とプロセッサ1610は協働して、動き補償HDRデモザイキングモジュール830の一実施形態を形成する。
【0107】
ある実施形態において、命令1630はさらに、評価命令(evaluation instructions)1640と、非動き補償デモザイキング命令1642とを含む。プロセッサ1610によって実行されるとき、評価命令1640は、第1の色、第2の色、および第3の色の各々について、動き補償が適切か否かを判定する。評価命令1640とプロセッサ1610は協働して、評価器812の一実施形態を形成する。もしも、プロセッサ1610における評価命令1640の実行によって動き補償が適切であると判定されるならば、プロセッサ1610は、前述の、動き補償HDRデモザイキング命令1636を実行する。他方で、プロセッサ1610における評価命令1640の実行によって動き補償は適切でないと判定されるならば、プロセッサ1610は代わりに、非動き補償デモザイキング命令1642を実行する。プロセッサ1610によって実行されるとき、非動き補償デモザイキング命令1642は、考慮中の色に対応付けられた、ローカル領域画素値870の部分集合を処理することにより、当該画像画素の当該色に対する動き補償されていない出力値876を決定する。非動き補償デモザイキング命令1642は、(a)ローカル領域画素値870の部分集合を、動的データ記憶域1680から取り出し、(b)動き補償されていない出力値876を動的データ記憶域1680に格納するか、または、動き補償されていない出力値876をインターフェース1690を介して出力するように、構成され得る。非動き補償デモザイキング命令1642とプロセッサ1610は協働して、非動き補償デモザイキングモジュール832の一実施形態を形成する。
【0108】
本開示の範囲から逸脱しない範囲で、機械可読命令1630は、(a)機械可読命令1630の格納のための非一時的メモリと(b)機械可読命令1630の実行のためのプロセッサと、を有するサードパーティーのコンピュータでの実施のために構成された、スタンドアローンのソフトウェア製品として提供されてもよい。
【0109】
図17は、二重露光時間シングルショットHDRカラーイメージセンサ120から、動き補償されたHDRカラー画像180を生成するための、別のシステム1700を例示している。システム1700は、コンピュータにより実現されてもよく、方法1200と、ステップ1412および1422を含む1400の一実施形態と、を実施する方法1100を行うように構成される。システム1700は、プロセッサ1610と、非一時的メモリ1720と、インターフェース1690とを備える。プロセッサ1610およびメモリ1720(ならびに、特定の実施形態において、インターフェース1690)は協働して、HDR画像生成器1500の一実施形態を形成する。システム1700はさらに、二重露光時間シングルショットHDRカラーイメージセンサ120をも備えてもよく、この場合、システム1700は、方法1200と、ステップ1412および1422を含む1400の一実施形態と、を実施する方法1100を行うように構成された、HDRカメラ802の一実施形態である。さらに、システム1700は、システム1600の一実施形態である。
【0110】
メモリ1720は、機械可読命令1730と、パラメータ記憶域(parameter storage)1770とを含む。命令1730は、メモリ1720の不揮発性部分の中に符号化され得る。メモリ1720は、メモリ1620の一実施形態である。命令1730は、サンプリング命令1732、適合化命令(fitting instructions)1750、およびマスター命令(master instructions)1740をさらに含む命令1630の一実施形態である。マスター命令1740は、評価命令1742を含む。評価命令1742は、飽和度評価命令1744と差異評価命令1746とを含む、評価命令1640の一実施形態である。評価命令1742はさらに、分散評価命令(variance evaluation instructions)1748をも含んでもよい。パラメータ記憶域1770は、1つ以上のモデル1762、適合重み964群、不飽和基準952、および差異閾値966を含む。パラメータ記憶域1770はさらに、領域サイズ1772およびステップサイズ(step size)1774をも含んでもよい。
【0111】
プロセッサ1610によって実行されるとき、サンプリング命令1732は、プロセッサ1610がデータ選択命令1632を実行するときに使用されるローカル領域画素値870の選択を指定する。サンプリング命令1732は、領域サイズ1772(例えば高さ1030と幅1032)およびステップサイズ1774(例えば中心間の間隔1040)を、パラメータ記憶域1770から取り出すか、あるいは、領域サイズ1772およびステップサイズ1774をインターフェース1690を介して受信し、その後、領域サイズ1772およびステップサイズ1774をパラメータ記憶域1770または動的データ記憶域1780に格納するように、構成され得る。サンプリング命令1732とプロセッサ1610は協働して、サンプリング器942の一実施形態を形成する。
【0112】
プロセッサ1610によって実行されるとき、適合化命令1750は、(a)モデル1762および適合重み964群をパラメータ記憶域1770から取り出し、(b)このモデル1762を、適合重み964群を用いて特定のローカル領域画素値870に適合させることにより、短露光時間画素値1782または長露光時間画素値1784のいずれか一方を決定する。適合化命令1750は、短露光時間画素値1782および長露光時間画素値1784を動的データ記憶域1780に格納するように、構成され得る。
【0113】
システム1700において、動き補償HDRデモザイキング命令1636および非動き補償デモザイキング命令1642は、適合化命令1750の実行を命令するように構成される。したがって、システム1700において実施されるときの動き補償HDRデモザイキング命令1636および非動き補償デモザイキング命令1642は、それぞれ、動き補償HDRデモザイキングモジュール1530および非動き補償デモザイキングモジュール1540の実施形態を形成する。同様に、システム1700において、動き命令1634は、適合化命令1750の実行を命令するように構成される。したがって、システム1700において実施されるときの動き命令1634は、動き解析器1520の一実施形態を形成する。
【0114】
プロセッサ1610によって実行されるとき、飽和度評価命令1744は、パラメータ記憶域1770から取り出された不飽和基準952をローカル領域画素値870が満たしているか否かを、評価する。飽和度評価命令1744は、適合化命令1750を利用する。飽和度評価命令1744は、ローカル領域画素値870を動的データ記憶域1780から取り出すように、構成され得る。飽和度評価命令1744とプロセッサ1610は協働して、飽和度評価器1550の一実施形態を形成する。
【0115】
プロセッサ1610によって実行されるとき、差異評価命令1746は、第1の色に対応付けられた長露光時間画素値870と短露光時間画素値870との差異を、パラメータ記憶域1770から取り出された差異閾値966と比較する。差異評価命令1746は、適合化命令1750を利用する。差異評価命令1746は、ローカル領域画素値870を動的データ記憶域1780から取り出すように、構成され得る。差異評価命令1746とプロセッサ1610は協働して、差異評価器1560の一実施形態を形成する。
【0116】
プロセッサ1610によって実行されるとき、分散評価命令1748は、画素値870の分散を評価する。分散評価命令1748は、ローカル領域画素値870を動的データ記憶域1780から取り出すように、構成され得る。分散評価命令1748とプロセッサ1610は協働して、分散評価器968の一実施形態を形成する。
【0117】
プロセッサ1610によって実行されるとき、マスター命令1740は、プロセッサ1610による(a)評価命令1742の実行と、(b)評価命令1742の実行結果に応じて、動き補償HDRデモザイキング命令1636または非動き補償デモザイキング命令1642の実行と、を命令する。マスター命令1740とプロセッサ1610は協働して、HDR画像生成器1500において実施されるマスター940の一実施形態を形成する。
【0118】
本開示の範囲から逸脱しない範囲で、機械可読命令1730は、例えばパラメータ記憶域1770のパラメータとともに、(a)機械可読命令1730およびオプションとしてパラメータ記憶域1770のパラメータを格納するための、非一時的メモリと、(b)機械可読命令1730を実行するためのプロセッサと、を有するサードパーティーのコンピュータで実施されるように構成された、スタンドアローンのソフトウェア製品として提供されてもよい。
【0119】
図18は、HDR画像を生成するための短露光カラー画像と長露光カラー画像との相対的な合成重みを規定する、ブレンディング関数の一例fにおけるマップ1800である。HDR画像の各画素の画素値Vout,Cは、
out,C=(1-f)VC,L+frVC,S (式14)
として表され得る。ここで、インデックスCは、第1の色、第2の色、または第3の色をそれぞれ指す値である1、2、および3のうちの1つを取り、VC,SおよびVC,Lはそれぞれ、考慮中の画像画素および色に対する、短露光値および長露光値である。rは、長露光時間の短露光時間に対する比である。式14は各色を別々に取り扱っており、結果物であるHDR画像はゆえに、カラーモザイク(color mosaic)の形態を取る。このカラーモザイクをデモザイクすることにより、各画素がフルカラー情報を有する、HDRカラー画像を生成することが可能である。式14のブレンディング関数fは、少なくとも1色についてのVC,SおよびVC,Lの関数である。例えばブレンディング関数fは、V1,SおよびV1,Lに基づき決定されて、その後、空間的に同位置の(co-located)画素についてのV2,S、V2,L、V3,S、およびV3,Lに適用され得る。あるいは、ブレンディング関数fは、各色につき別個に決定される。ブレンディング関数fは、図5および式7~13に関して前述した、動きパラメータmと同一または同様であり得る。VC,SおよびVC,Lは、それぞれβC,SおよびβC,Lでもよい。
【0120】
マップ1800において、ブレンディング関数fの値は、スケール1802に従い、VC,S(縦軸)およびVC,L(横軸)の関数としてプロットされている。VC,LがrVC,Sに略等しい領域1810から離れた箇所では、ブレンディング関数fの値は1に近い。ブレンディング関数fは、VC,LがrVC,Sに略等しい領域1810(マップ1800の中で暗い帯として見える)においては、ゼロまで沈下(dip)する。
【0121】
図18にプロットされたブレンディング関数の例fは、式13による動きパラメータmと同一形態のものである。ブレンディング関数の本例fは、したがって超越方程式
【数9】

で定義される。しかし、本開示の範囲から逸脱しない範囲で、ブレンディング関数fは、全般に1に近いがVC,LがrVC,Sに略等しいときにはゼロまで沈下する別の超越関数であってもよい。図18にプロットされた例において、露光時間比rは8に等しく、VC,L=8VC,Sの周辺領域においてブレンディング関数fがゼロまで沈下するようなものとなっている。本開示の範囲から逸脱しない範囲で、露光時間比rは、8とは異なってもよい。
【0122】
図19は、短露光値VC,Sの単一値、すなわちVC,S=60について、長露光時間画素値VC,Lに対する曲線1910としてプロットされた、図18のブレンディング関数fのプロット1900である。曲線1910は、破線1890(VC,S=60によって規定される)に沿って取られた、マップ1800のラインプロファイル(line profile)に相当する。曲線1910は、VC,L=8VC,S=480においてピークに達するディップ1912を除いては、全般に1に近い。VC,L=8VC,Sの周辺領域において、ディップ1912は、式15のmax関数により、ゼロにクランプ(clamped)される。
【0123】
HDR画像の各出力画素値にそれぞれ対応付けられた、画素値VC,SとVC,Lとの各組に対し、例えばニュートン法を用いて、式14を数値的に解くことにより、ブレンディング関数fを決定することが可能である。しかし、必要とされる時間および/または演算能力に起因して、そのようなアプローチの魅力は低減される。特にこれらの演算が、携帯型デバイス(例えばセルラーフォン)において映像ストリームの各フレームにつき行われるならば、そうである。リアルタイムで式14を解く代わりに、マップ1800は、予め算出されて、二次元ルックアップテーブルとして符号化されてもよい。
【0124】
図20は、一次元(1D)ルックアップテーブルを用いて超越ブレンディング関数(transcendental blending function)の値を決定する、ある方法2000を例示している。方法2000を用いることにより、短露光値VC,Sと長露光時間画素値VC,Lとの任意の値のペアに対し、図18および図19に関して前述したブレンディング関数fの値を決定できる。方法2000は、方法500のステップ530において実施されてもよい。方法2000は、VC,Sの単一値V C,Sについてのf(VC,L)を符号化する一次元ルックアップテーブルを利用する。
【0125】
図19の曲線1910は、方法2000により用いられる1Dルックアップテーブル中に符号化された値の、一例である。より一般には、1Dルックアップテーブルは、ピークを有する関数を符号化する。以下の記載において、ピークは負のピーク(すなわちディップ)であるものと考えられるが、ピークは代わりに正のピークであってもよい。
【0126】
1Dルックアップテーブルにおける検索の前に、VC,Sの実際の値がどのようにV C,Sと異なるかに応じてVC,Lの値を操作することにより、方法2000によって、V C,Sについて妥当な1Dルックアップテーブルを用いて、V C,Sとは異なるVC,Sの値についてのブレンディング関数の値を読み出すことが可能である。方法2000は、検索ステップ(lookup step)2030を行う前にVC,Lの値を操作するための、移動ステップ(shifting step)2010と、スケーリングステップ(scaling step)2020とを含む。ステップ2010で、VC,Lの値を移動させることにより、移動値V´C,L=VC,L-r(VC,S-V C,S)が決定される。
【0127】
特定の実施シナリオにおいて、方法2000は、ブレンディング関数fの値を決定するうえで、2Dルックアップテーブルを用いる方法よりも著しく高速であり得る。カメラ付きスマートフォンなどの、制限されたメモリリソースを有する携帯型デバイスにおいて、方法2000により使用される1Dルックアップテーブルは、高速ローカルメモリキャッシュに格納されることにより、1Dルックアップテーブルからの読み出しが高速であるようなものにされ得る。方法2000の先行操作であるステップ2010および2020は、乗法および加法/減法演算を用いて行われることが可能であって、これらは演算的に安くつき、ゆえに比較的高速である。ちなみに、2Dルックアップテーブルならば、数メガバイトの格納スペースを必要とするであろう。これは、典型的な携帯型カメラデバイスの高速ローカルメモリキャッシュの容量を超えるものである。このようなデバイスにおいて、2Dルックアップテーブルはゆえに、より低速なメモリに格納される必要があり、読み出しプロセスは、高速ローカルメモリキャッシュに格納された1Dルックアップテーブルよりも著しく低速なものになるだろう。
【0128】
図21は、方法2000のステップ2010における画素値移動の一例を示す、プロット2100である。図21において、図19の曲線1910が、曲線2120および2130とともにプロットされている。曲線1910は、V C,S=60におけるf(VC,L)を規定している。曲線2120は、VC,S=20におけるf(VC,L)を規定している。曲線2120は、破線1892に沿って取られた、マップ1800のラインプロファイルに相当する。曲線2120は、VC,L≒8×20=160の箇所にディップ2122を有する。曲線2130は、VC,S=100におけるf(VC,L)を規定している。曲線2130は、破線1894に沿って取られた、マップ1800のラインプロファイルに相当する。曲線2130は、
【数10】

の箇所に、ディップ2132を有する。
【0129】
さて、一例として、図20および図21を組み合わせて参照する。実際値VC,S=20である場合、ステップ2010で、移動値V´C,L=VC,L-r(VC,S-V C,S)=VC,L-8(20-60)=VC,L+320が算出される。例えば、VC,Lの実際値が160ならば、曲線2120により、ブレンディング関数fの値はゼロであるべきことが示される。しかし、1Dルックアップテーブルは、曲線2120ではなく、曲線1910のデータを含んでいる。ステップ2010は、VC,Lの実際値(すなわち160)をV´C,L=160+320=480(ブレンディング関数fが実際にゼロとなる、曲線1910のディップ1912に一致)へ移動することにより、本問題を部分的に補正する。矢印2124により表されるこの移動において、ディップ2122とディップ1912とのずれ(offset)が補償される。ある問題が残っている。すなわち、ディップ2122がディップ1912よりも狭いということである。(ディップ2122、1912、および2132の幅に示されるように、ディップの幅は、VC,Sの値とともに増加する。)ゆえに、ディップ2122の勾配上におけるVC,Lの実際値について、さらなる補正によってブレンディング関数fの値を正確に決定することが、必要とされる。
【0130】
ステップ2020はさらに、V C,Sと、VC,Sの実際値との比により、V´C,Lをスケーリングする。これにより、ステップ2020で、少なくとも近似的に、VC,Sの値とともに増加するディップ幅の問題が補正される。ステップ2020において、スケーリング値
【数11】

が算出される。ここでV C,Lは、f(VC,L,V C,S)のディップの中心位置である。V C,S=60の例(曲線1910)において、中心位置V C,L=480である。V C,S=60かつVC,S=20の例において、ステップ2020にて行われるスケーリングは、係数
【数12】

によるディップ幅のスケーリングに相当する。ステップ2020において行われるスケーリングは優れた近似であり、ディップ幅のVC,Sに対する依存性を少なくとも殆ど完璧に補正することが、シミュレーションによって示されている。
【0131】
特定の実施形態において、ステップ2020は、1Dスケーリング係数ルックアップテーブルから、スケーリング係数√(V C,S/VC,S)を読み出すステップ2022を含む。ここで、1Dスケーリング係数ルックアップテーブルの各エントリは、VC,Sのそれぞれの値に対するスケーリング係数√(V C,S/VC,S)を列挙している。スケーリング係数√(V C,S/VC,S)を1Dスケーリング係数ルックアップテーブルから読み出すことは、スケーリング係数を算出することよりも高速であり得る。カメラ付きスマートフォンなどの、制限されたメモリリソースを有する携帯型デバイスにおいて、ステップ2022にて使用される1Dルックアップテーブルは、高速ローカルメモリキャッシュに格納されることができ、ステップ2022はゆえに、ステップ2030の1Dルックアップテーブルを高速ローカルメモリキャッシュに符号化する方法2000の態様に関して前述したものと同一の、高速読み出しの恩恵を享受し得る。本開示の範囲から逸脱しない範囲で、スケーリング係数は√(V C,S/VC,S)よりも複雑なVC,Sの関数であってもよく、この場合、1Dルックアップテーブルにおけるスケーリング関数の符号化は、演算効率の観点から、さらにいっそう有利であると言える。
【0132】
ステップ2010および2020におけるVC,Lの移動およびスケーリングの後で、ステップ2030で、1DルックアップテーブルのインデックスV"C,Lにおけるブレンディング関数fの値が読み出される。例えば、VC,S=20かつVC,L=180(図21における曲線2120の右枝勾配上の位置2126に対応)かつV C,S=60である場合、ステップ2030は、インデックス
【数13】

における1Dルックアップテーブルのエントリを読み出す。本インデックス位置において、ステップ2030は、図21中の位置2128で表される曲線1910の値を読み出すが、これは、曲線2120上の位置2126によって正しい値であると示されている値にマッチする。
【0133】
本開示の範囲から逸脱しない範囲で、方法2000は、VC,LとVC,Sの役割を入れ替えて行われてもよく、代わりに、VC,Lの単一値についてのf(VC,S)を列挙する1Dルックアップテーブルを利用し得る。
【0134】
方法2000は、方法500のステップ530において実施されて、動きパラメータm(例えば動きパラメータ872)を決定することができる。方法200は、システム1600の動き命令1634の中に符号化され得る(例えば、動き命令1634の一部として符号化または動的データ記憶域1680に格納された、1Dルックアップテーブルとともに)。
【0135】
図22は、三重露光時間(triple-exposure-time)HDRカラー画像2290を生成するための、あるHDRカメラ2202を例示している。HDRカメラ2202は、画像キャプチャデバイス140において実現されてもよい。HDRカメラ2202は、三重露光時間シングルショットHDRカラーイメージセンサ2230と、三重露光時間HDR画像生成器2200とを備える。イメージセンサ2230は、その感光性画素のいくつかを短露光時間Tで、その感光性画素の別のいくつかを中露光時間Tで、かつ、その感光性画素のさらにまた別のいくつかを長露光時間Tで、露出するように構成される。ここで、T<T<Tである。ゆえに、イメージセンサ2230によりキャプチャされた各画像フレームは、短露光時間画像データと、中露光時間画像データと、長露光時間画像データとを含む。三重露光時間HDR画像生成器2200において、短露光時間画像データと、中露光時間画像データと、長露光時間画像データとを合成することにより、三重露光時間HDRカラー画像2290が形成される。三重露光時間HDR画像生成器2200は、この画像データ合成を2段階の処理において行う。まず、二重露光時間HDR画像生成器2210によって、(a)短露光時間画素からの短露光時間画素値と中露光時間画素からの中露光時間画素値との合成より、二重露光時間HDR画像2280SMが生成され、かつ、(b)中露光時間画素からの中露光時間画素値と長露光時間画素からの長露光時間画素値との合成より、二重露光時間HDR画像2280MLが生成される。次に、二重から三重へのHDR画像生成器2220(dual-to-triple HDR image generator)によって、二重露光時間HDR画像2280SMおよび2280MLから、三重露光時間HDRカラー画像2290が生成される。
【0136】
HDRカメラ110と比較すると、HDRカメラ2202において、2つのみの異なる露光時間ではなくて、3つの異なる露光時間を用いることにより、ダイナミックレンジのさらなる拡張が可能にされる。あるいは、HDRカメラ2202は、イメージセンサ120よりも小さいビット深度を特徴とするイメージセンサ2230の一実施形態を用いつつ、HDRカメラ110と同様のダイナミックレンジを達成するように構成されてもよい。
【0137】
短、中、および長露光時間の異なる持続時間に起因して、短露光時間画像データ、中露光時間画像データ、および長露光時間画像データは、当該シーンが動きに晒されている場合には、異なるシーン構成を表すことがある。三重露光時間HDR画像生成器2200は、シーン中の動きを補償することにより、モーションアーティファクトを解消または少なくとも低減するように構成され得る。イメージセンサ2230のビット深度は、イメージセンサ120のビット深度と同じでもよいし、より小さくてもよいし、より大きくてもよい。
【0138】
図23は、三重露光時間シングルショットHDRカラーイメージセンサ2230を、さらに詳細に示している。イメージセンサ2230は、画素アレイ2310を備える。画素アレイ2310は、同一の画素グループ2320によるアレイを含む。各画素グループ2320は、短露光時間画素2322Sと、中露光時間画素2322Mと、長露光時間画素2322Lとを含む。短露光時間画素2322Sは、第1の色、第2の色、および第3の色の光に対して感度をそれぞれ有する、画素2332S、2334S、および2336Sを含む。第1の色、第2の色、および第3の色は、それぞれ緑、赤、および青であってもよい。中露光時間画素2322Mは、第1の色、第2の色、および第3の色の光に対して感度をそれぞれ有する、画素2332M、2334M、および2336Mを含む。長露光時間画素2322Lは、第1の色、第2の色、および第3の色の光に対して感度をそれぞれ有する、画素2332L、2334L、および2336Lを含む。
【0139】
各画素グループ2320は、本開示の範囲から逸脱しない範囲で、センサ画素2332S、2334S、2336S、2332M、2334M、2336M、2332L、2334L、および2336Lのうちの1つ以上についての、1つより多いインスタンスを含み得る。例えば、各画素グループ2320は、第1の色に感度を有する、複数の画素2332Sと複数の画素2332Mと複数の画素232Lとを含んでもよい。一態様において、第1の色は緑である。
【0140】
図22を再び参照する。三重露光時間HDR画像生成器2200は、各画素グループ2320のセンサ画素2332S、2334S、2336S、2332M、2334M、2336M、2332L、2334L、および2336Lによって生成された、画素値2270を処理することにより、三重露光時間HDRカラー画像2290を生成する。
【0141】
三重露光時間HDR画像生成器2200は、プロセッサ、およびこのプロセッサにより実行されるとき、イメージセンサ2230からの画素値2270を処理することにより、三重露光時間HDRカラー画像2200またはその一部を生成する、非一時的メモリ中に符号化された機械可読命令、という形態で実現されてもよい。三重露光時間HDR画像生成器2200のいくつかの特定の実施形態は、非一時的メモリ中に符号化された機械可読命令として提供される。これらの機械可読命令は、サードパーティーによって提供されるプロセッサと協働してイメージセンサ2230からの画素値2270を処理することにより、三重露光時間HDRカラー画像2290またはその一部を生成するように、構成される。
【0142】
本開示の範囲から逸脱しない範囲で、三重露光時間HDR画像生成器2200は、サードパーティーにより提供される三重露光時間シングルショットHDRカラーイメージセンサ2230から受け取った画素値2270をもとに、三重露光時間HDRカラー画像2290を生成するように構成された、スタンドアローンの製品として提供されてもよい。
【0143】
図24は、複数の短露光時間画素と、複数の中露光時間画素と、複数の長露光時間画素と、を有する三重露光時間シングルショットHDRカラーイメージセンサから、HDRカラー画像を生成するための、ある方法2400を例示している。方法2400は、例えば、三重露光時間HDR画像生成器2200により行われる。方法2400は、ステップ2410、2420、および2430を含む。
【0144】
ステップ2410で、(a)短露光時間画素からの短露光時間画素値と(b)中露光時間画素からの中露光時間画素値との合成より、第1の二重露光時間HDR画像が生成される。ステップ2410の一例において、二重露光時間画像HDR生成器2210は、(a)短露光時間画素2322Sからの画素値2270と、(b)中露光時間画素2322Mからの画素値2270との合成より、二重露光時間HDR画像2280SMを生成する。
【0145】
ステップ2420で、(a)中露光時間画素からの中露光時間画素値と、(b)長露光時間画素からの長露光時間画素値との合成より、第2の二重露光時間HDR画像が生成される。ステップ2420の一例において、二重露光時間HDR画像生成器2210は、(a)中露光時間画素2322Mからの画素値2270と、(b)長露光時間画素2322Lからの画素値2270との合成より、二重露光時間HDR画像2280MLを生成する。
【0146】
ステップ2430は、ステップ2410および2420にてそれぞれ生成された、第1の二重露光時間HDR画像および第2の二重露光時間HDR画像から、三重露光時間HDRカラー画像を生成する。ステップ2430の一例において、二重から三重へのHDR画像生成器2220は、二重露光時間HDR画像生成器2210から受け取った二重露光時間HDR画像2280SMおよび2280MLから、三重露光時間HDRカラー画像2290を生成する。
【0147】
一実施形態において、ステップ2410および2420にて形成された二重露光時間画像は、フルカラー画像である。別の実施形態において、ステップ2410および2420にて形成された二重露光時間画像は、カラーモザイク画像である。ここで、「フルカラー画像」とは、各画素がフルカラー情報を有する画像を指し、「カラーモザイク画像」とは、異なるタイプの色別画素(color-specific pixels)(例えば、赤、緑、および青)によるモザイクで形成された画像を指す。
【0148】
フルカラー実施形態において、ステップ2410および2420は、それぞれステップ2412および2422を実施し、ステップ2430はステップ2432を実施する。ステップ2412および2422で、第1および第2の二重露光時間HDR画像は、それぞれ第1および第2のフルカラー画像として生成される。ステップ2412および2422の各々は、デモザイキングのステップを含む。ステップ2412および2422の一例において、二重露光時間HDR画像生成器2210は、二重露光時間HDR画像2280SMおよび2280MLを、フルカラー画像として生成する。本例において、二重露光時間HDR画像生成器2210は、二重露光時間HDR画像2280SMおよび2280MLの各々を、方法500と同様の(すなわち、デモザイキングがHDR合成に統合されている)方法によって生成してもよい。あるいは、二重露光時間HDR画像生成器2210は、まず、二重露光時間HDR画像2280SMおよび2280MLの各々をカラーモザイクHDR画像として生成し、その後に、引き続きカラーモザイクHDR画像をデモザイクすることにより、HDRフルカラー画像を生成してもよい。ステップ2432で、三重露光時間HDRカラー画像は、第1および第2のカラー画像から生成される。ステップ2432の一例において、二重から三重へのHDR画像生成器2220は、二重露光時間HDR画像生成器2210から受け取った二重露光時間HDR画像2280SMおよび2280MLのフルカラー実施形態から、三重露光時間HDRカラー画像2290を生成する。
【0149】
カラーモザイク実施形態において、ステップ2410および2420は、それぞれステップ2414および2424を実施し、ステップ2430は、逐次的なステップ2434および2436を実施する。ステップ2414および2424で、第1および第2の二重露光時間HDR画像は、それぞれ第1および第2のカラーモザイク画像として生成される。ステップ2414および2424の一例において、二重露光時間HDR画像生成器2210は、二重露光時間HDR画像2280SMおよび2280MLを、カラーモザイク画像として生成する。例えば、二重露光時間HDR画像生成器2210は、(a)画素2332Sおよび2332Mからの画素値2270を合成することにより、1組の、二重露光時間HDR画像2280SMの第1の色画素を生成し、(b)画素2332Mおよび2332Lからの画素値2270を合成することにより、1組の、二重露光時間HDR画像2280MLの第1の色画素を生成する。ステップ2434で、ステップ2414および2424で生成された第1および第2のカラーモザイク画像から、カラーモザイク画像である、中間三重露光時間HDR画像(intermediate triple-exposure-time HDR image)が生成される。次に、ステップ2436で、この中間三重露光時間HDR画像をデモザイクすることにより、HDRフルカラー画像が生成される。ステップ2434および2436の一例において、二重から三重へのHDR画像生成器2220は、二重露光時間HDR画像2280SMおよび2280MLのカラーモザイク実施形態を合成(ステップ2434にて)することにより、カラーモザイク三重露光時間HDR画像を形成し、その後、このカラーモザイク三重露光時間HDR画像をデモザイク(ステップ2436にて)することにより、三重露光時間HDRカラー画像2290を生成する。
【0150】
図25は、第1の二重露光時間HDR画像を三重露光時間HDRカラーイメージセンサから生成するための、ある方法2500を例示している。方法2500は、方法2400のステップ2410の一実施形態であり、二重露光時間HDR画像生成器2210によって行われ得る。方法2500は、方法2400のフルカラー実施形態および方法2400のカラーモザイク実施形態のうち、いずれか一方により実施されることができる。
【0151】
方法2500は、第1の合成に対する短露光時間画素値と中露光時間画素値との相対寄与率を、ローカルに重み付けするステップ2520を含む。ステップ2520で、相対寄与率は、(a)短露光時間画素値と中露光時間画素値との差異(例えば、図5に関して前述したΔ、Δ、およびΔのいずれか)と、(b)中露光時間画素値の飽和度とに、少なくとも部分的に基づいて重み付けされる。ステップ2520の一例において、二重露光時間HDR画像生成器2210は、二重露光時間HDR画像2280SMに対する短露光時間画素2322Sの画素値2270の寄与と中露光時間画素2322Mの画素値2270の寄与とを、(a)短露光時間画素2322Sと中露光時間画素2322Mとの差異と、(b)中露光時間画素2322Mの飽和度と、に少なくとも部分に基づき、ローカルに重み付けする。
【0152】
ステップ2520は、各色について、第1の二重露光時間HDR画像における各画素の画素値を、対応する短露光時間画素値および対応する中露光時間画素値の線形結合として算出する、ステップ2522を含み得る。ステップ2522において、相対的な合成重みは、短露光時間画素値と中露光時間画素値とに依存するブレンディング関数によって規定される。方法2400のカラーモザイク実施形態に属するステップ2522の一例において、二重露光時間HDR画像生成器2210は、二重露光時間HDR画像2280SMの各画素の画素値を、式14によって算出する。方法2400のフルカラー実施形態に属する、ステップ2522の別の例において、二重露光時間HDR画像生成器2210は、二重露光時間HDR画像2280SMの各画素の画素値を、方法500によって算出する。
【0153】
ステップ2520は、ステップ2524および2526を含み得る。ステップ2524で、中露光時間画素値は、ある不飽和基準と比較される。ステップ2524の一例において、二重露光時間HDR画像生成器2210は、中露光時間画素2322Mを不飽和基準952と比較する。ステップ2526は、ステップ2524にて行われた比較を用いることにより、中露光時間画素値の1つ以上が不飽和基準を満たしていないことを特徴とするローカル領域において、ステップ2520が短露光時間画素値のみから第1の二重露光時間HDR画像を生成することを、確実にする。ステップ2526の一例において、二重露光時間HDR画像生成器2210は、いずれのローカル領域において中露光時間画素2322Mが不飽和基準952を満たしており、かつ、いずれのローカル領域において中露光時間画素2322Mが不飽和基準952を満たしていないのか、についての情報を使用する。ステップ2526において、第1の二重露光時間HDR画像の画素値の演算に対し、この情報が課せられる。すなわち、中露光時間画素2322Mが不飽和基準952を満たしていない領域に対し、ステップ2526は、二重露光時間HDR画像生成器2210が短露光時間画素2322Sの画素値2270のみから二重露光時間HDR画像2280SMを生成することを、確実にする。
【0154】
方法2500は、ステップ2520に先行するステップ2510を含んでいてもよい。ステップ2510で、ステップ2520におけるHDR合成の前に、短露光時間画素値と中露光時間画素値は、ノイズ除去(denoises)される。ステップ2510は、短露光時間画素値に対し、中露光時間画素値に対するよりも積極的にノイズ除去を適用し得る。なぜならば、ステップ2520においてこれらの画素値を合成する際に、短露光時間画素値は、中露光時間画素値に比べ、スケールアップされるからである。それゆえに、短露光時間画素値における任意の残留ノイズは、中露光時間画素値における任意の残留ノイズよりも、ステップ2520の正確度に大きな影響を及ぼすものと見込まれる。ステップ2520の一例において、二重露光時間HDR画像生成器2210は、短露光時間画素2322Sおよび中露光時間画素2322Mの画素値2270をノイズ除去する。ステップ2520において、当該技術分野で知られる1つ以上のノイズ除去方法を使用できる。
【0155】
方法2500には、ステップ2410ではなく、方法2400のステップ2420の一実施形態を形成するカウンターパート(counterpart)が存在する。このカウンターパートの方法は、短露光時間画素値と中露光時間画素値との代わりに、それぞれ中露光時間画素値と長露光時間画素値とを処理することにより、第1の二重露光時間HDR画像の代わりに第2の二重露光時間HDR画像を生成することを除いては、方法2500と同様である。特定の実施形態において、さらにもう1つの差が該当する。すなわち、カウンターパートの方法は、中露光時間画素値が不飽和基準を満たしていないことを特徴とするローカル領域において、第2の二重露光時間HDR画像の画素値の演算をスキップしてもよい。
【0156】
図26は、2つの二重露光時間HDR画像から三重露光時間HDRカラー画像を生成するための、ある差異ベースの方法2600を例示している。方法2600は、方法2400のステップ2430の一実施形態であり、方法2400のフルカラー実施形態およびカラーモザイク実施形態のうち、いずれか一方において実施されることが可能である。方法2600は、二重から三重へのHDR画像生成器2220によって行われ得る。
【0157】
方法2600は、三重露光時間HDRカラー画像に対する第1および第2の二重露光時間HDR画像の相対寄与率を、ローカルに重み付けするステップ2610を含む。ステップ2610で、これらの相対寄与率は、少なくとも(a)短露光時間画素値と中露光時間画素値との差異(以後「短中差異」と呼ぶ)および/または(b)中露光時間画素値と長露光時間画素値との差異(以後「中長差異」と呼ぶ)に、少なくとも部分的に基づいて重み付けされる。例えば、もしも短中差異および中長差異が両方ともに、あるローカル領域において有意ならば、これは、当該ローカル領域が動きに影響されていることを示していると言え、ステップ2610で、第1の二重露光時間HDR画像に対し、より大きな重みが割り当てられてよい。もしも、あるローカル領域において、中長差異が有意であって、短中差異を超えるならば、これもまた動きを示していると言え、ステップ2610で、第1の二重露光時間HDR画像に対し、より大きな重みが割り当てられてよい。逆に、短中差異が中長差異を著しく超えるならば、これは、第1の二重露光時間HDR画像における過剰なノイズの結果であると言え、ステップ2610で、第2の二重露光時間HDR画像に対し、より大きな重みが割り当てられてよい。ステップ2610の一例において、二重から三重へのHDR画像生成器2220は、三重露光時間HDRカラー画像2290に対する二重露光時間HDR画像2280SMおよび2280MLの相対寄与率を、(a)方法2500のステップ2520にて決定された短露光時間画素2322Sと中露光時間画素2322Mとの差異、および/または(b)第2の二重露光時間HDR画像の生成に関するステップ2520のカウンターパートにおいて決定された中露光時間画素2322Mと長露光時間画素2322Lとの差異に、少なくとも部分的に基づいて、ローカルに重み付けする。
【0158】
ステップ2610は、ステップ2612を含み得る。ステップ2612で、ステップ2610に対し、1つ以上の長露光時間画素値が不飽和基準を満たしていないことを特徴とするローカル領域において、三重露光時間HDR画像を第1の二重露光時間HDR画像のみから生成することが課される。ステップ2612の一例において、二重から三重へのHDR画像生成器2220は、長露光時間画素2322Lが不飽和基準(例えば不飽和基準952)を満たしていないことを特徴とするローカル領域において、対応する画素値が二重露光時間HDR画像2280SMのみに基づいているような、三重露光時間HDRカラー画像を生成する。
【0159】
図27は、2つの二重露光時間HDR画像から三重露光時間HDRカラー画像を生成するための、ある融合ベースの(fusion-based)方法2700を例示している。方法2700は、方法2400のステップ2430の一実施形態である。方法2700は、方法2600の代替法であり、二重から三重へのHDR画像生成器2220によって行われ得る。方法2600は、後方に目を向け、第1および第2の二重露光時間画像(方法2400のステップ2410および2420において生成された)を、方法2600に対するこれらの入力画像が生成される元となったデータについての情報(knowledge)に少なくとも部分的に基づき、合成する。これに対し、方法2700は、前方に目を向け、方法2700によって生成される出力画像の所望の品質の最適化に従い、第1および第2の二重露光時間画像をを合成する。
【0160】
方法2700は、三重露光時間HDRカラー画像の1つ以上の品質尺度(quality measures)のローカルな最適化に従い2つの二重露光時間HDR画像を融合する、ステップ2710を含む。ゆえにステップ2710において、第1および第2の二重露光時間画像に対し、位置感度の(position-sensitive)合成重みを適用することにより、位置感度を有するやり方で、三重露光時間HDRカラー画像の1つ以上の品質尺度が最適化される。ステップ2710の一例において、二重から三重へのHDR画像生成器2220は、三重露光時間HDRカラー画像2290の1つ以上の品質尺度のローカルな最適化に則って、二重露光時間HDR画像2280SMおよび2280MLを融合することにより、三重露光時間HDRカラー画像2290を生成する。
【0161】
ある実施形態において、ステップ2710で、三重露光時間HDRカラー画像に対する第1および第2の二重露光時間HDR画像の相対寄与率を、ローカルな最適化のみに従い設定するステップ2712が、実施される。方法2600のアプローチとは対照的に、ステップ2712において、これらの相対寄与率は、(a)短露光時間画素値と中露光時間画素値との差異、および、b)中露光時間画素値と長露光時間画素値との差異の、いずれも考慮されずに設定される。本実施形態の一例において、二重露光時間HDR画像2280SMおよび2280MLは、二重から三重へのHDR画像生成器2220に与えられる、画素値2270から生じる唯一のデータである。
【0162】
ステップ2710は、三重露光時間HDRカラー画像のコントラスト、飽和度、および露光十分性(well-exposedness)のうち少なくとも1つを最適化するステップ2714を実施し得る。ステップ2714で、これらのパラメータは、Mertens, T., Kautz, J. and Van Reeth, F., 2007, October, “Exposure fusion”, in Computer Graphics and Applications, 2007, PG’07, 15th Pacific Conference, pp. 382-390, IEEEに記載のものと同様な手法で最適化され得る(本願において、最適化は、入力画像群よりも高いダイナミックレンジの出力画像に対し、トーンマッピングを伴わずに適用されるが、このMertensらによる論文は、入力画像群と同一のダイナミックレンジを有するトーンマッピング化出力画像を形成するための、入力画像群の合成に関するものである)。
【0163】
特定の実施形態において、ステップ2710は、ステップ2716および2718を含む。ステップ2716で、第1および第2の二重露光時間HDR画像のうち少なくとも1つをスケーリングすることにより、第1および第2の二重露光時間HDR画像が共通スケールに置かれる。ステップ2716の一例において、二重から三重へのHDR画像生成器2220は、二重露光時間HDR画像2280SMおよび2280MLのうち少なくとも1つをスケーリングすることにより、二重露光時間HDR画像2280SMおよび2280MLを共通スケールに置く。例えば、二重露光時間HDR画像2280SMは当初、中露光時間を反映するスケールにあると言え、二重露光時間HDR画像2280MLは当初、長露光時間を反映するスケールにあると言える。ステップ2718で、三重露光時間HDRカラー画像は、第1および第2の二重露光時間HDR画像の各々のダイナミックレンジをカバーする(encompasses)ダイナミックレンジで生成される。ステップ2718の一例において、二重から三重へのHDR画像生成器2220は、三重露光時間HDRカラー画像2290を、二重露光時間HDR画像2280SMおよび2280MLの、各々のダイナミックレンジをカバーするダイナミックレンジで生成する。例えば、三重露光時間HDRカラーイメージセンサ2230のビット深度は10ビットであり、かつ、露光時間は数式T=8*TおよびT=8*Tに従って関係付けられるシナリオについて考える。本シナリオにおいて、二重露光時間HDR画像2280SMおよび2280MLの各々のビット深度は、13ビットであって、(a)二重露光時間HDR画像2280SMによって短露光時間画素2322Sと中露光時間画素2322Mとの合成ダイナミックレンジ(combined dynamic range)がカバーされ、かつ、(b)二重露光時間HDR画像2280MLによって中露光時間画素2322Mと長露光時間画素2322Lとの合成ダイナミックレンジがカバーされるようなものとなってい得る。さらに、本シナリオにおいて、三重露光時間HDRカラー画像2290のビット深度は、二重露光時間HDR画像2280SMおよび2280MLの合成ダイナミックレンジをカバーし、かつ、それゆえにまた、短露光時間画素2322Sと中露光時間画素2322Mと長露光時間画素2322Lとの合成ダイナミックレンジをもカバーするように、16ビットであり得る。
【0164】
ある改変された実施形態において、ステップ2710はステップ2718を含むが、ステップ2716は省かれる。方法2700の本実施形態は、方法2700により受け取られたときに第1および第2の二重露光時間画像が既に同一スケールにある場合、有用と言える。
【0165】
方法2700において、第1および第2の二重露光時間画像を融合する際、各色を別々に最適化できる。あるいは、方法2700は、異なる色(例えば赤、緑、および青)を、互いに依存し合うようなやり方で最適化してもよいし、これらの色のうちの1つのみ(例えば緑)を最適化してもよい。
【0166】
図28は、色別の四つ組(color-specific quadruplets)においてその画素が配列されている、ある三重露光時間HDRカラーイメージセンサ2800を例示しており、これらの四つ組の各々は、3つの異なる露光時間に感度を有する画素を含んでいる。イメージセンサ2800は、イメージセンサ2230の一実施形態である。イメージセンサ2800は、同一の4×4画素ブロック2810によるアレイを有する。図を明確にするために、図28の中では、4つの4×4画素ブロック2810のみが表されている。イメージセンサ2800は、数百、数千、または数百万の4×4画素ブロック2810を有し得るものと理解される。各4×4画素ブロック2810は、4つの色別四つ組、すなわち、第1の色(例えば緑)に対して感度を有する2つの2×2画素グループ2812と、第2の色(例えば赤)に対して感度を有する1つの2×2画素グループ2814と、第3の色(例えば青)に対して感度を有する1つの2×2画素グループ2816と、を含む。2×2画素グループ2812、2814、および1816の各々は、1つの短露光時間画素2822Sと、2つの中露光時間画素2822Mと、1つの長露光時間画素2822Lとを含む。
【0167】
図28に表す特定の例において、イメージセンサ2800は、色赤、緑、青に特異的に感応する。本例において、各2×2画素グループ2812は、緑色光に感度を有しており、「GS」として標示された1つの短露光時間画素2822Sと、「GM」として標示された2つの中露光時間画素2822Mと、「GL」として標示された1つの長露光時間画素2822Lとを含む。同様に、各2×2画素グループ2814は、赤色光に感度を有しており、「RS」として標示された1つの短露光時間画素2822Sと、「RM」として標示された2つの中露光時間画素2822Mと、「RL」として標示された1つの長露光時間画素2822Lとを含む。また、各2×2画素グループ2816は、青色光に感度を有しており、「BS」として標示された1つの短露光時間画素2822Sと、「BM」として標示された2つの中露光時間画素2822Mと、「BL」として標示された1つの長露光時間画素2822Lとを含む。
【0168】
図29は、三重露光時間HDRカラーイメージセンサ2800から三重露光時間HDRカラー画像を生成するための、ある方法2900を例示している。方法2900は、方法2400のカラーモザイク実施形態の一例である。方法2900は、三重露光時間HDR画像生成器2200によって行われ得る。
【0169】
方法2900に対する入力は、複数の4×4画素値ブロック2910である。図を明確にするために、図29の中では、単一のブロック2910のみが表されている。各4×4画素値ブロック2910は、イメージセンサ2800の、対応する4×4画素ブロック2810の画素値を含む。各4×4画素値ブロック2910は、イメージセンサ2800の、2つの対応する2×2画素グループ2812の画素値を含んだ、2つの2×2画素値グループ2912を含む。各2×2画素値グループ2912はゆえに、イメージセンサ2800の対応する画素GS、GM、およびGLから取得された、1つの画素値GS、2つの画素値GM、および1つの画素値GLを含む。各2×2画素値グループ2914は、イメージセンサ2800の対応する画素RS、RM、およびRLから取得された、1つの画素値RS、2つの画素値RM、および1つの画素値RLを含む。各2×2画素値グループ2916は、イメージセンサ2800の対応する画素BS、BM、およびBLから取得された、1つの画素値BS、2つの画素値BM、および1つの画素値BLを含む。
【0170】
方法2900は、ステップ2901、2902、2903、2904、2906、および2908を含む。ステップ2901および2903は、方法2400のステップ2410の一実施形態を形成する。ステップ2902および2904は、方法2400のステップ2420の一実施形態を形成する。ステップ2906および2908は、方法2400の、それぞれステップ2434および2436の実施形態である。ステップ2901、2902、2903、および2904は、二重露光時間HDR画像生成器2210によって行われ得る。ステップ2906および2908は、二重から三重へのHDR画像生成器2220によって行われ得る。
【0171】
ステップ2901で、各4×4画素値ブロック2910から、短露光時間画素値と中露光時間画素とが抽出される。各画素値ブロック2910について、ステップ2901はゆえに、(a)2つの2×2画素グループ2912SMの各々における1つの画素値GSおよび2つの画素値GMと、(b)2×2画素グループ2914SMにおける1つの画素値RSおよび2つの画素値RMと、(c)2×2画素グループ2916SMにおける1つの画素値BSおよび2つの画素値BMとを含んだ、画素ブロック2910SMを取得する。
【0172】
ステップ2903で、その後、2×2画素グループ2912SM、2914SM、および2916SMの各々の中で、HDR合成が行われる。ステップ2903は、方法2500に従って短露光時間画素値と中露光時間画素とを合成し得る。ステップ2903の出力は、緑色チャネル(G)に属する2つの二重露光時間HDR画素値2922SMと、赤色チャネル(R)に属する1つの二重露光時間HDR画素値2924SMと、青色チャネル(B)に属する1つの二重露光時間HDR画素値2926SMとを含んだ、2×2HDR画素ブロック2920SMである。ステップ2903において形成される複数の2×2画素ブロック2920SMは、協調して、二重露光時間HDR画像2280SMのカラーモザイク実施形態の一例を形成する。二重露光時間画像2280SMの本例は、イメージセンサ2800の解像度に比較して、垂直および水平寸法の各々において半分の解像度を有する。例えば、もしもイメージセンサ2800が4000×3000画素を有するならば、ステップ2903にて形成された二重露光時間HDR画像は、本シナリオにおいて、2000×1500画素を有する。
【0173】
一態様において、ステップ2903で、方法2500のカラーモザイク実施形態は、ステップ2522と、またオプションとして、ステップ2524と2526をも含めて、行われる。本態様において、ステップ2522は、式14のブレンディング関数fを利用することにより、各4×4画素ブロック2910SMの各2×2画素グループ2912SM、2914SM、および2916SMの中で、短露光時間画素と中露光時間画素との相対的な合成重みを設定することができる。ステップ2913において、ブレンディング関数fは、各2×2画素グループ2912SM、2914SM、および2916SMにつきブレンディング関数fが別個に決定されるようなものとして、各色につき別々に決定され得る。あるいは、ステップ2913は、各4×4画素ブロック2910SMについて、所定の色(例えば、2つの2×2画素グループ2912SMにおける画素値に基づく緑)に対するブレンディング関数fを一回決定し、その後、このブレンディング関数fの値を、当該4×4画素ブロック2910SMの中の全ての2×2画素グループ2912SM、2914SM、および2916SMに対して適用してもよい。ステップ2903は、方法2000を利用することにより、ブレンディング関数fの値を決定できる。
【0174】
ステップ2902および2904は、中露光時間画素値と長露光時間画素値との合成に関するものであることを除いては、それぞれステップ2901および2903と同様である。ステップ2902で、各4×4画素値ブロック2910から、中露光時間画素値と長露光時間画素とが抽出される。各画素値ブロック2910について、ステップ2902はゆえに、(a)2つの2×2画素グループ2912MLの各々における1つの画素値GLおよび2つの画素値GMと、(b)2×2画素グループ2914MLにおける1つの画素値RLおよび2つの画素値RMと、(c)2×2画素グループ2916MLにおける1つの画素値BLおよび2つの画素値BMとを含んだ、画素値ブロック2910MLを取得する。
【0175】
ステップ2904で、その後、2903に関して前述したものと同様な手法で、2×2画素グループ2912ML、2914ML、および2916MLの各々の中で、HDR合成が行われる。ステップ2904の出力は、緑色チャネル(G)に属する2つの二重露光時間HDR画素値2922MLと、赤色チャネル(R)に属する1つの二重露光時間HDR画素値2924MLと、青色チャネル(B)に属する1つの二重露光時間HDR画素値2926MLとを含んだ、2×2HDR画素ブロック2920MLである。ステップ2904において形成される複数の2×2画素ブロック2920MLは、協調して、二重露光時間画像HDR2280MLのカラーモザイク実施形態の一例を形成する。
【0176】
特定の実施形態において、ステップ2903および2904の各々で、ノイズ除去が適用される。あるそのような実施形態において、ステップ2903は、ステップ2904よりも積極的にノイズ除去を適用する。なぜならば、後続のステップ2906において、2×2画素ブロック2920SMにおける残留ノイズは、2×2画素ブロック2920MLにおける残留ノイズに比べ、スケールアップされることになるからである。ステップ2903はまた、短露光時間画素値に対し、中露光時間画素値に対するよりも積極的にノイズ除去を適用し得る。なぜならば、ステップ2903において、短露光時間画素値における残留ノイズは、中露光時間画素値における残留ノイズに比べ、スケールアップされるからである。同様な理由により、ステップ2904は、中露光時間画素値に対し、長露光時間画素値に対するよりも積極的にノイズ除去を適用し得る。
【0177】
ステップ2906で、2×2画素ブロック2920SMおよび2920MLの対応するペアを合成することにより、各色につき別々に、三重露光時間HDR画素値が達成される。より具体的には、ステップ2906において、各2×2画素ブロック2920SMのカラーモザイクを、対応する2×2画素ブロック2920MLのカラーモザイクと合成することにより、中間2×2画素ブロック(intermediate 2x2 pixel block)2930が生成される。各2×2画素ブロック2930は、緑チャネル(G)に属する2つの三重露光時間HDR画素値2932SMLと、赤チャネル(R)に属する1つの三重露光時間HDR画素値2934SMLと、青チャネル(B)に属する1つの三重露光時間HDR画素値2936SMLとを含む。ステップ2906は、例えば方法2600または2700に従い、各三重露光時間HDR画素値2932SMLを、対応する、同位置の二重露光時間HDR画素値2922SMおよび2922MLのペアから形成する。ステップ2906は、例えば方法2600または2700に従い、各三重露光時間HDR画素値2934SMLを、対応する、同位置の二重露光時間HDR画素値2924SMおよび2924MLのペアから形成する。ステップ2906は、例えば方法2600または2700に従い、各三重露光時間HDR画素値2936SMLを、対応する、同位置の二重露光時間HDR画素値2926SMおよび2926MLのペアから形成する。ステップ2906にて形成される複数の中間2×2画素ブロック2930は協働して、各画素が色別の情報を有する、カラーモザイク三重露光時間HDR画像を形成する。
【0178】
ステップ2908で、各中間2×2画素ブロック2930をデモザイクすることにより、それぞれのフルカラー三重露光時間HDR2940が形成される。ステップ2908は、当該技術分野で知られるデモザイキング方法を用いることができる。複数の三重露光時間HDR2940は協働して、三重露光時間HDRカラー画像2290の一実施形態を形成する。
【0179】
図30は、三重露光時間シングルショットHDRカラーイメージセンサ2230から、三重露光時間HDRカラー画像2290を生成するための、あるシステム3000を例示している。システム3000は、コンピュータにより実現されてもよく、方法2400を行うように構成される。システム3000は、プロセッサ3010と、非一時的メモリ3020と、インターフェース3090とを備える。プロセッサ3010およびメモリ3020(ならびに、特定の実施形態において、インターフェース3090)は協働して、三重露光時間HDR画像生成器2200の一実施形態を形成する。システム3000はさらに、三重露光時間シングルショットHDRカラーイメージセンサ2230を含んでもよく、この場合、システム3000はHDRカメラ2202の一実施形態である。
【0180】
メモリ3020は、機械可読命令3030を含む。命令3030は、メモリ3020の不揮発性部分の中に符号化され得る。命令3030は、二重露光時間命令(dual-exposure-time instructions)3032と、二重から三重へのHDR命令(dual-to-triple HDR instructions)3040とを含む。一実施形態において、メモリ3020はさらに、インターフェース3090を介して受信されるデータおよび/またはプロセッサ3010で実行されるときに命令3030によって生成されるデータを格納するように構成された、動的データ記憶域3080をも含む。別の実施形態において、システム3000はメモリ3020を備えておらず、代わりに、例えばサードパーティーにより提供された、外部メモリと協働するように構成される。メモリ3020はまた、パラメータ記憶域3070をも含んでもよい。
【0181】
プロセッサ3010によって実行されるとき、二重露光時間命令3032は、イメージセンサ2230または動的データ記憶域3080から、画素値2270を取得し、(a)方法2400のステップ2410を行うことにより、二重露光時間HDR画像2280SMを生成し、かつ/または(b)方法2400のステップ2420を行うことにより、二重露光時間HDR画像2280MLを生成する。二重露光時間命令3032は、プロセッサ3010に対し、二重露光時間HDR画像2280SMおよび/または2280MLを動的データ記憶域3080に格納するように、命じることができる。
【0182】
ある実施形態において、二重露光時間命令3032は、方法2500に従ってステップ2410を行い、かつ、また、方法2500の対応するカウンターパート(図25に関して前述した)に従ってステップ2420を行うように、構成される。本実施形態において、二重露光時間命令3032は、差異評価命令3034、飽和度評価命令3036、およびブレンディング関数評価命令3038のうち、1つ以上を含み得る。プロセッサ3010によって実行されるとき、差異評価命令3034は、方法2500のステップ2520を行う。差異評価命令3034は、飽和度評価命令3036を呼び出すことにより、方法2500のステップ2524および2526を行うように構成されてもよい。飽和度評価命令3036は、パラメータ記憶域3070から不飽和基準3052を取り出すことをプロセッサ3010に命じるように、構成され得る。不飽和基準3052は、不飽和基準952の一例である。差異評価命令3034はまた、ブレンディング関数評価命令3038を呼び出すことにより、方法2500のステップ2524を行うように構成されてもよい。一態様において、ブレンディング関数評価命令3038は、方法2000を行うように構成される。本態様において、ブレンディング関数評価命令3038は、プロセッサ3010に対し、パラメータ記憶域3070からブレンディング関数ルックアップテーブル3054にアクセスするように、命じ得る。ブレンディング関数評価命令3038は、プロセッサ3010に対し、ブレンディング関数値3082を動的データ記憶域3080に格納し、必要な折にブレンディング関数値3082を動的データ記憶域3080から取り出すように、命令することができる。
【0183】
プロセッサ3010によって実行されるとき、二重から三重へのHDR命令3040は、動的データ記憶域3080から二重露光時間HDR画像2280SMおよび2280MLを取得し、方法2400のステップ2430を行うことにより、三重露光時間HDRカラー画像2290を生成する。二重から三重へのHDR命令3040は、プロセッサ3010に対し、三重露光時間HDRカラー画像2290を動的データ記憶域3080に格納するか、または、三重露光時間HDRカラー画像2290をインターフェース3090を介して出力するように、命じ得る。一実施形態において、二重から三重へのHDR命令3040は、プロセッサ3010によって実行されるときに方法2600を行う、差異ベースの二重から三重への命令3042を含む。別の実施形態において、二重から三重へのHDR命令3040は、プロセッサ3010によって実行されるときに方法2700を行う、融合ベースの二重から三重への命令3044を含む。
【0184】
本開示の範囲から逸脱しない範囲で、機械可読命令3030は、(a)機械可読命令3030の格納のための非一時的メモリと(b)機械可読命令3030の実行のためのプロセッサと、を有するサードパーティーのコンピュータでの実施のために構成された、スタンドアローンのソフトウェア製品として提供されてもよい。
【0185】
本明細書の範囲から逸脱しない範囲で、上記のデバイス、システム、および方法に変更を加え得る。従って、以上の明細書に含まれる内容および添付の図面に示される内容は、例示的であって限定的な意味ではないものと解釈されるべきであることに留意されたい。以下に続く請求項は、本明細書に記載の一般的および具体的な特徴、そして本デバイス、システム、および方法の範囲に関して表現的にその中間にあると見なし得るすべての記述をも、網羅するように意図されている。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11A
図11B
図12
図13A
図13B
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30