詳細な説明
図1は、実現可能な一実施形態に係る、ブレンドされたより明るく、より暗い画素を出力するための例示的なシステムを示す。選択肢として、システム100は、如何なる図面の文脈においても実現され得る。しかしながら、当然、システム100は如何なる所望の環境においても実行され得る。さらに、上述の定義は、以下の説明に同様に適用され得る。
図示のとおり、システム100は第1の画素102および第2の画素104を含む。一実施形態においては、第1の画素がより明るい画素に関連付けられてもよく、第2の画素がより暗い画素に関連付けられてもよい。この記載の文脈においては、より明るい画素は、対応するより暗い画素よりも明るい如何なる画素をも含み、より暗い画素は、対応するより明るい画素よりも暗い如何なる画素をも含む。より明るい画素は、全体露光がより明るい画像に関連付けられてもよく、対応するより暗い画素は、全体露光がより暗い画像に関連付けられてもよい。さまざまな実施形態においては、より明るい画素およびより暗い画素は、強度、露光、色属性、飽和度および/または他の任意の画像もしくは画素パラメータに基づいて他の対応する画素を組合わせることによって計算されてもよい。
一実施形態においては、より明るい画素およびより暗い画素は、それぞれ、より明るい画素属性およびより暗い画素属性に関連付けられ得る。さまざまな実施形態においては、(たとえば、より明るい画素属性、より暗い画素属性などについての)画素属性は、強度、飽和度、色相、色空間値(たとえば、EGB、YCbCr、YUVなど)、輝度、RGB色、ルミナンス、クロミナンス、および/または、何らかの態様で画素に関連付けられ得る他の任意の特徴、を含み得る。
加えて、第1の画素102および第2の画素104がブレンドプロセス106に入力される。一実施形態においては、ブレンドは、画素に関連付けられた1つ以上の特徴に基づき得る。たとえば、ブレンドは空間位置決め特徴を含み得る。この場合、より明るい画素の画素がより暗い画素の対応する画素に位置合わせされている。当然ながら、当該技術において公知の他の任意の関連技術を用いて、2つ以上の画像上で対応する画素を位置合わせしてもよい。
他の実施形態においては、ブレンドするためのさまざまな技術が用いられてもよい。ブレンドするためのさまざまな技術は、2つ以上の画素点の平均を利用すること;各々の画素点に関連付けられた色属性を合計して正規化すること(たとえば、RGB色空間における赤成分/緑成分/青成分を合計するなど);正規化され得るRGB(またはいずれかの色空間)ベクトル長さを決定すること;より明るい画素もしくはより暗い画素とを組合わせた平均的な画素点を用いること;および/または、他のいずれかの組合せを用いて2つ以上の画素点をブレンドすること;を含み得る。一実施形態において、ブレンドは如何なる色値または色空間とも無関係に行なわれてもよい。別の実施形態においては、ブレンドは、2つ以上の画素点を混合することを含んでもよい。特定の実施形態においては、ブレンドは、OpenGL(または任意のベクトルレンダリングアプリケーション)混合動作を含み得る。これにより、この動作では、2つの入力値の間で線形補間が行なわれる。
一実施形態においては、ブレンドは、自動的に行なわれてもよく、またはユーザ入力に基づいていてもよい。たとえば、いくつかの実施形態においては、ブレンドは、1つ以上の設定対象に基づいて自動的に行なわれてもよい。設定対象は、たとえば、設定露光点、設定焦点値、設定温度(たとえば、ケルビン目盛など)、予め定められた白色点値、予め定められた色飽和値、(たとえば、色空間特性などについての)予め定められた正規化値、予め定められたレベル値、予め定められた曲線値、設定黒色点、設定白色点、設定中間値点、および/または、ブレンドするための基準として用いられ得る画素または画像の他のいずれかの特徴を含み得る。他の実施形態においては、カメラに関連付けられた特徴が、1つ以上の自動値を決定するための基準として用いられてもよい。たとえば、カメラは画素に関連付けられたメタデータを含み得る。当該メタデータは、ISO値、露光値、アパーチャ値、ヒストグラム分布、地理的位置決め座標、カメラの特定、レンズの特定、カメラのユーザの特定、時刻、および/または、カメラに関連付けられ得る他のいずれかの値、を含み得る。一実施形態においては、画素に関連付けられたメタデータは、自動的にブレンドするための1つ以上の自動点を設定するために用いられてもよい。
一実施形態においては、このような自動特徴が入力されてよく、または、クラウドベースの入力もしくはフィードバックに少なくとも部分的に基づいていてもよい。たとえば、ユーザは、将来の画像に適用されるべきバッチルールのセットまたは画像設定のパッケージを展開させてもよい。このような設定は、カメラデバイスまたはモジュールによってその後アクセスすることができるクラウドおよび/または他のメモリデバイスに保存することができる。一例として、ユーザは写真を撮影して編集するためのモバイルデバイスを用いてもよい。(たとえば、画素または画像などの編集に関して)得られたこのような過去の動作に基づいて、ユーザは、受取られた将来の画像または画素のために用いられるべきパッケージとしてこのような動作を保存してもよい。他の実施形態においては、モバイルデバイスは、ユーザが行ったこのような動作を認識および追跡し得るとともに、将来受取られる画像または画素のために適用されるべきパッケージとしてこれらの動作を保存するようにユーザに促し得る。
他の実施形態においては、動作または設定のパッケージも第三者ユーザに関連付けられ得る。たとえば、このようなパッケージは、(たとえば、写真共有サイトなどにおけるユーザに関連付けられる)オンラインリポジトリから受取られてもよく、または、デバイス間で転送されてもよい(たとえば、ブルートゥース(登録商標)、NFC、Wifi、Wifi−ダイレクトなど)。一実施形態においては、動作または設定のパッケージはデバイス特有のものであってもよい。たとえば、特有のデバイスは、画像を過度に露光するかまたは画像に色付けすることが知られており、さらに、動作または設定のパッケージを用いて、デバイス、カメラまたはレンズに関連付けられる不備を補正してもよい。他の実施形態においては、公知の設定または動作が改善され得る。たとえば、ユーザはアンセル・アダムズ(Ansel Adams)のようなタイプの写真を模倣して白黒で作成したいと考えるかもしれない。設定または動作の集合は特定のデバイスに基づいて適用され得るが、この特定のデバイスは、画素または画像(たとえば、デバイスにおける不備の補正など);最も容姿の良いアンセル・アダムズ風の外見を得る方法についてのコミュニティからのフィードバック(たとえば、クラウドベースのフィードバックなど);および/または、アンセル・アダムズ風の写真を作成するために用いられ得る他の情報;を受取るものである。
別個の実施形態においては、ブレンドはユーザ入力に基づいて行なわれてもよい。たとえば、いくつかのユーザインターフェイス要素がユーザに対してディスプレイ上に表示されてもよい。いくつかのユーザインターフェイス要素は、画像の全体的な色(たとえば、セピア、灰色調、白黒など);雰囲気を作り出すためのターゲット点のパッケージ(たとえば、ポラロイド(登録商標)感覚のパッケージは、より大きなコントラストでより高い露光を有することとなり、高輝度感覚のパッケージは飽和度レベルを高めることとなるだろう);画像のうちの1つ以上の選択的な色(たとえば、赤、青、黄などの1つ以上の色を表示するだけである);飽和度レベル;露光レベル;ISO値;黒色点;白色点;レベル値;曲線値;および/または、画像または画素に関連付けられ得る他の任意の点;を制御するための要素を含み得る。さまざまな実施形態においては、ユーザインターフェイス要素は、複数の値または点を制御するために用いられてもよく(たとえば、1つのスライド要素が設定のパッケージなどを制御する)、または、画像もしくは画素に関連付けられたありとあらゆる要素をユーザが制御することを可能にするために用いられてもよい。
当然ながら、他の実施形態においては、ブレンドは、1つ以上の自動設定およびユーザ入力に基づいて行なわれてもよい。たとえば、画素または画像は、1つ以上の自動設定を用いて最初にブレンドされてもよく、その後、ユーザは、画像に関連付けられた特定の要素を修正することができる。他の実施形態においては、自動設定または手動設定の如何なる組合せがブレンドに適用されてもよい。
さまざまな実施形態においては、ブレンドは、1つ以上の画素を混合することを含み得る。他の実施形態においては、ブレンドは、一行の画素に基づいていてもよく(すなわち、ブレンドが行ごとに行なわれる等)、画素の全体画像(たとえば、すべての行および列の画素など)によって行なわれてもよく、ならびに/または、画素に関連付けられた如何なる態様で行なわれてもよい。
一実施形態においては、2つ以上の画素間のブレンドはアルファブレンドを適用することを含み得る。当然、他の実施形態においては、2つ以上の画素を組合わせるための如何なるプロセスを用いても、最終的な結果の画像が作成され得る。
図示のとおり、ブレンドプロセスの後、出力108はブレンドされた第1の画素および第2の画素を含む。一実施形態においては、出力は、ブレンドされたより明るくより暗い画素を含み得る。加えて、第1の画素は第2の画素よりも明るくてもよい。
一実施形態においては、より明るい画素とより暗い画素とをブレンドすることにより、結果として、高ダイナミックレンジ(HDR)画素が出力として得られ得る。他の実施形態においては、出力は、第1の生成画素を与えるために中間画素とブレンドされたより明るい画素を含み得る。より明るい画素はより明るい画素属性によって特徴付けられ得るとともに、中間画素は中間の画素属性によって特徴付けられ得る。より明るい画素と中間画素とのブレンド演算は、より明るい画素属性および中間の画素属性を受取る第1の混合値関数に起因するスカラーに基づいていてもよい。さらなる実施形態においては、出力は、第2の生成画素を与えるためにより暗い画素とブレンドされた中間画素を含み得る。より暗い画素はより暗い画素属性によって特徴付けられ得る。中間画素とより暗い画素とのブレンド演算は、中間の画素属性およびより暗い画素属性を受取る第2の混合値関数に起因するスカラーに基づいていてもよい。さらに、一実施形態においては、スカラーは、第1(たとえば、より明るいなど)の画素属性および第2(たとえば、より暗いなど)の画素属性を入力として受取る混合値関数に基づいて特定されてもよい。スカラーは、2つの異なる画素間(たとえば、より明るい画素と中間画素との間、または、中間画素とより暗い画素との間)のブレンド重みを与え得る。最後に、一実施形態においては、混合値関数(たとえば、第1の混合値関数および第2の混合値関数)は、入力に関連付けられた閾値に対応する平坦領域、遷移領域および飽和領域を含み得る。
一実施形態においては、出力は、2つ以上の画素に関連付けられた混合値表面(mix value surface)に基づいていてもよい。たとえば、一実施形態においては、ブレンドにより中間値が作成されてもよく、さらに、この中間値を用いて、2つ以上の画素に関連付けられた最終値を出力してもよい。このような実施形態においては、(たとえば、2つ以上の画素間などの)中間値を用いて、三次元(three-dimensional:3D)表面に関連付けられた値を計算してもよい。結果として得られる画素は、中間値を用いて計算された値に関連付けられてもよい。当然、さまざまな実施形態においては、出力は如何なるタイプの関数、および如何なる次元数または入力数に関連付けられてもよい。
図2は、一実施形態に係る、より明るい画素とより暗い画素とをブレンドするための方法200を示す。選択肢として、方法200は如何なる図面の文脈においても実現され得る。しかしながら、当然、方法200は如何なる所望の環境においても実行され得る。さらに、上述の定義は、以下の記載にも同様に適用され得る。
図示のとおり、第1の画素の第1の画素属性が受取られる。動作202を参照されたい。加えて、第2の画素の第2の画素属性が受取られる。動作204を参照されたい。一実施形態においては、第1の画素属性はより明るい画素属性に一致し得る。第1の画素はより明るい画素に一致し得る。第2の画素属性はより暗い画素属性に一致し得る。第2の画素はより暗い画素に一致し得る。
一実施形態においては、より明るい画素属性およびより暗い画素属性は各々、強度を含み得る。一実施形態においては、強度は、第1の画素についての数値範囲(たとえば、0.0〜1.0)の第1の値と、第2の画素についての数値範囲の第2の値とに対応し得る。他の実施形態においては、第1(たとえば、より明るいなど)の画素属性および第2(たとえば、より暗いなど)の画素属性は各々、飽和度、色相、色空間値(たとえば、EGB、YCbCr、YUVなど)、輝度、色相、RGB色、ルミナンス、クロミナンス、および/または、何らかの態様で画素に関連付けられ得る他のいずれかの特徴を含み得る。
別の実施形態においては、より明るい画素よりも暗く、より暗い画素よりも明るくなり得る中間画素の中間の画素属性が受取られてもよい。別の実施形態においては、暗露光パラメータおよび明露光パラメータが評価され得る。この場合、明露光パラメータは、第1(たとえば、より明るいなど)の画素の第1(たとえば、より明るいなど)の画素属性を受取るために用いられてもよく、第2(たとえば、暗など)の露光パラメータは、より暗い画素の第2(たとえば、より暗いなど)の画素属性を受取るために用いられてもよい。さらに、別の実施形態においては、暗露光パラメータおよび明露光パラメータは露光時間に関連付けられてもよい。さらに、一実施形態においては、中間露光パラメータが評価され得る。この場合、中間露光パラメータは、中間画素の中間の画素属性を受取るために用いられる。
付加的な実施形態においては、中間画素の中間の画素属性が受取られてもよい。この場合、より明るい画素は第1の値に関連付けられ、より暗い画素は第2の値に関連付けられ、中間画素は第3の値に関連付けられ、第3の値は第1の値と第2の値との間にある。加えて、第1の生成画素は第1のHDR画素を含み得るとともに、第2の生成画素は第2のHDR画素を含み得るので、第3のHDR画素を含み得る結合画素を生成するために、予め定められた関数に基づいて、第1のHDR画素と第2のHDR画素とを結合することによって結合画素が生成され得る。
図示のとおり、スカラーは、第1の画素属性および第2の画素属性に基づいて特定される。動作206を参照されたい。
さまざまな実施形態においては、スカラーは、生成、選択、補間、および/または、結果としてスカラーをもたらし得る他の如何なる動作によっても特定され得る。さらなる実施形態においては、スカラーは1つ以上の多項式を利用して特定され得る。
一実施形態においては、複数の多項式のうち第1の多項式は、複数の多項式のうち第2の多項式の二次とは異なり得る一次を有し得る。別の実施形態においては、複数の多項式のうち第1の多項式は第1(たとえば、より明るいなど)の画素属性の関数であってもよく、複数の多項式のうちの第2の多項式は第2(たとえば、より暗いなど)の画素属性の関数であってもよい。さらに、別の実施形態においては、複数の多項式のうち第1の多項式はより明るい画素属性の関数であってもよく、より暗い画素属性の関数であり得る複数の多項式のうちの第2の多項式の二次未満であり得る一次を有し得る。加えて、一実施形態においては、第1の多項式は、第2の多項式に対して高次、等次または低次のうち少なくとも1つであってもよい。
図示のとおり、第1の画素と第2の画素とのブレンドはスカラーに基づいてもよい。この場合、第1の画素は第2の画素よりも明るい。動作208を参照されたい。
別の実施形態においては、スカラーは、形式z=(1−(1−(1−x)^A)^B)*((1−(1−y)^C)^D)の多項式、または、形式z=((1−(1−x)^A)^B)*((1−(1−y)^C)^D)の多項式のいずれかに基づいて特定され得る。この場合、zはスカラーに対応し、xは第2(たとえば、より暗いなど)の画素属性に対応し、yは(たとえば、より明るいなど)の第1の画素属性に対応し、A、B、C、Dは任意の定数に対応する。
一実施形態においては、第1(たとえば、より明るいなど)の画素と第2(たとえば、より暗いなど)の画素とをブレンドすることにより、結果として、高ダイナミックレンジ(HDR)画素が出力として得られる可能性がある。他の実施形態においては、ブレンドは、より明るい画素属性および中間の画素属性に基づいて第1のスカラーを特定することを含み得る。第1のスカラーは、より明るい画素と中間画素とをブレンドして第1の生成画素を与えるために用いられる。加えて、一実施形態においては、第2のスカラーは、中間の画素属性およびより暗い画素属性に基づいており、第2のスカラーは、中間画素とより暗い画素とをブレンドして第2の生成画素を与えるために用いられる。
一実施形態においては、第3の画素の第3の画素属性が受取られてもよい。加えて、第2の画素属性および第3の画素属性に基づいた第2のスカラーが特定され得る。さらに、第2のスカラーに基づいて、第2の画素と第3の画素とがブレンドされ得る。さらに、第1の画素と第2の画素とのブレンドに基づいた第1の生成画素が生成され得るとともに、第2の画素と第3の画素とのブレンドに基づいた第2の生成画素が生成され得る。
加えて、さまざまな実施形態においては、第1の生成画素と第2の生成画素とが結合されて、結果として結合画素が得られる。さらに、一実施形態においては、結合画素は、強度、飽和度、色相、色空間値(たとえば、RGB、YCbCr、YUVなど)、輝度、RGB色、ルミナンス、クロミナンス、および/または、結合画素に関連付けられた他のいずれかの特徴に関連付けられた入力に基づいて処理され得る。さらなる実施形態においては、結合画素は、飽和度入力またはレベルマッピング入力に基づいて処理されてもよい。
一実施形態において、レベルマッピング(またはいずれかの入力)は、ブレンドされた少なくとも1つの画素上で実行されてもよい。さまざまな実施形態において、レベルマッピング(またはいずれかの入力)は、ユーザ入力(たとえば、入力および/または入力に関連付けられた値の選択など)に応じて行なわれてもよい。当然ながら、レベルマッピング(またはいずれかの入力)は、デフォルト値または設定に基づいて、クラウドベースのソースからのフィードバック(たとえば、写真効果のためのクラウドソースの最適な設定など)に基づいて、ローカルデバイスからのフィードバック(たとえば、ユーザによって撮影されてユーザのシステムによって分析された過去の写真に基づいて、地理的に近接したセット内でユーザを含む他人によって撮られた写真などに基づいて)、および/または、自動動作に関連付けられた他の任意の設定もしくは値に基づいて、自動的に行なわれ得てもよい。一実施形態においては、レベルマッピングは、コントラスト制限付適応ヒストグラム平坦化(contrast limited adaptive histogram equalization:CLAHE)として当該技術において公知の等化技術などの等化動作を含み得る。
いくつかの実施形態においては、1つ以上のユーザインターフェイスおよびユーザインターフェイス要素がユーザ入力を受取るために用いられてもよい。たとえば、一実施形態においては、少なくとも1つのより明るい点に対応する第1の標識と、少なくとも1つのより明るい点に対応する第2の標識とが表示され得るとともに、ユーザ入力はさらに、第1の標識または第2の標識のうち少なくとも1つの操作を含むことが可能となり得る。加えて、一実施形態においては、少なくとも1つの中間点に対応する第3の標識が表示されてもよく、ユーザ入力は、第3の標識の操作を含むことがさらに可能となり得る。
別の実施形態においては、複数の多項式のうち第1の多項式は第1の画素属性の関数であってもよく、複数の多項式のうち第2の多項式は第2の画素属性の関数であってもよく、結果として得られる画素は第1の多項式と第2の多項式との積であってもよい。さらに、一実施形態においては、結果として得られる画素は、強さ関数と組合わせされた第1の多項式と第2の多項式との積であってもよい。
加えて、一実施形態においては、強さ関数および/または係数は、2つ以上の画素のブレンド(たとえば混合など)を含む2つ以上の画素に対して作用する関数を制御し得る。たとえば、さまざまな実施形態においては、強さ関数は、HDR効果を提供しない(たとえば、ev0など)こと、または、HDR効果を十分に提供すること、または、増幅されたHDR効果を提供することさえも含めて、2つ以上の画素のブレンドを制御するために用いられてもよい。この態様では、強さ関数は、第1の多項式および第2の多項式に基づいて、結果として得られる画素を制御し得る。
別の実施形態においては、ブレンドは、ブレンドプロセスにおける1つ以上の段階を含み得る。たとえば、一実施形態においては、第1の多項式は単一の画素属性に基づいていてもよく、第2の多項式は第2の単一の画素属性に基づいていてもよく、ブレンドは、第1の多項式および第2の多項式に基づいた平均を取ることを含み得る。別の実施形態においては、第1の多項式および第2の多項式は、多くの画素属性(たとえば、多重露光、複数の飽和度など)の平均に基づいていてもよく、ブレンドは、第1の多項式および第2の多項式に基づいた平均を取ることを含み得る。
当然ながら、一実施形態においては、多項式は表面図に関連付けられてもよい。たとえば、一実施形態においては、x値は、第1の画素属性(または複数の画素属性)に関連付けられた多項式に関連付けられてもよく、y値は、第2の画素属性(または複数の画素属性)に関連付けられた多項式に関連付けられてもよい。さらに、別の実施形態においては、z値は強さ関数に関連付けられてもよい。一実施形態においては、結果として得られた画素値は、表面図によって決定されるように、z値に基づいてx値とy値とをブレンドすることによって、決定されてもよい。
代替的な実施例においては、結果として得られる画素値は、表面図を具体化する表から選択されてもよい。別の実施形態においては、第1の多項式に関連付けられた第1の値および第2の多項式に関連付けられた第2の値の各々を用いて、対応する値を表から選択してもよく、2つの値は、結果として得られる画素を補間するために用いられてもよい。
上述の方法がユーザの希望に従って実行されてもされなくてもよいさまざまな随意のアーキテクチャおよび使用に関して、より例示的な情報が以下に記載される。以下の情報は例示目的で記載されており、いかなる意味でも限定的であると解釈されるべきでないことに強く留意すべきである。以下の特徴はいずれも、説明される他の特徴を除外してまたは除外せずに随意に組込まれ得る。
図3Aは、一実施形態に従うデジタル写真撮影システム300を示す。選択肢として、デジタル写真撮影システム300は本明細書に開示されている図面のうちのいずれかの図面の詳細の文脈において実現されてもよい。しかし、当然、デジタル写真撮影システム300は任意の所望の環境において実現されてもよい。さらに、上述の定義は以下の説明に等しく適用され得る。
図示のとおり、デジタル写真撮影システム300は、配線334を介してカメラモジュール330に結合されたプロセッサ複合体310を含んでいてもよい。一実施形態において、プロセッサ複合体310はストロボユニット336に結合されている。デジタル写真撮影システム300はさらに、表示ユニット312、1組の入出力デバイス314、不揮発性メモリ316、揮発性メモリ318、ワイヤレスユニット340およびセンサデバイス342を含み得るがこれらに限定されず、これらの各々はプロセッサ複合体310に結合されている。一実施形態において、電力管理サブシステム320が、デジタル写真撮影システム300内の電気負荷要素の各々に適切な電源電圧を生成するように構成される。電池322が、電気エネルギを電力管理サブシステム320に供給するように構成されてもよい。電池322は、一次電池技術または充電式電池技術を含む任意の技術的に実行可能なエネルギ貯蔵システムを実現し得る。当然、他の実施形態では、より多いもしくは少ない特徴、ユニット、デバイス、センサ、またはサブシステムがシステムに含まれていてもよい。
一実施形態において、ストロボユニット336はデジタル写真撮影システム300に統合され、デジタル写真撮影システム300が実行する画像サンプルイベント時にストロボ照明350を提供するように構成されてもよい。別の実施形態において、ストロボユニット336は、デジタル写真撮影システム300から独立したデバイスとして実現され、デジタル写真撮影システム300が実行する画像サンプルイベント時にストロボ照明350を提供するように構成されてもよい。ストロボユニット336は1つ以上のLED素子、ガス放電照明器(たとえばキセノンストロボデバイス、キセノンフラッシュランプ等)、またはその他の技術的に実行可能な照明デバイスを含んでいてもよい。特定の実施形態において、2つ以上のストロボユニットが画像のサンプリングと共にストロボ照明を同期して生成するように構成される。一実施形態において、ストロボユニット336は、ストロボ照明350を発するようにまたはストロボ照明350を発しないようにストロボ制御信号338を通して制御される。ストロボ制御信号338は、任意の技術的に実行可能な信号伝送プロトコルを用いて実現されてもよい。ストロボ制御信号338は、ストロボユニット336にストロボ照明350の指定強度および/または色を生成するように命じるためのストロボパラメータ(たとえばストロボ強度、ストロボ色、ストロボ時間等)を指示し得る。ストロボ制御信号338は、プロセッサ複合体310、カメラモジュール330によって、またはその他の技術的に実行可能なそれらの組合せによって生成されてもよい。一実施形態において、ストロボ制御信号338は、プロセッサ複合体310内のカメラインターフェイスユニットによって生成され、配線334を介してストロボユニット336およびカメラモジュール330の両方に送信される。別の実施形態において、ストロボ制御信号338はカメラモジュール330によって生成され、配線334を介してストロボユニット336に送信される。
写真撮影シーン内のオブジェクトから反射したストロボ照明350の少なくとも一部を含み得る光学シーン情報352が、カメラモジュール330内の画像センサ332上に光学画像として合焦される。画像センサ332は光学画像の電子表現を生成する。電子表現は空間色強度情報を含み、当該情報は異なる色強度サンプル(たとえば赤色、緑色および青色光等)を含んでいてもよい。他の実施形態では、空間色強度情報は白色光についてのサンプルをさらに含んでいてもよい。電子表現は、任意の技術的に実行可能な信号伝送プロトコルを実現し得る配線334を介してプロセッサ複合体310に送信される。
一実施形態において、入出力デバイス314は、容量性タッチ入力面、抵抗性タブレット入力面、1つ以上のボタン、1つ以上のノブ、発光素子、光検出素子、音放射素子、音検出素子、またはユーザ入力を受信して当該入力を電気信号に変換する、もしくは電気信号を物理的信号に変換するためのその他の技術的に実行可能な素子を含み得るがこれらに限定されない。一実施形態において、入出力デバイス314は、表示ユニット312に結合された容量性タッチ入力面を含む。タッチエントリ表示システムが、表示ユニット312、およびこれもプロセッサ複合体310に結合された容量性タッチ入力面を含んでいてもよい。
また、他の実施形態では、不揮発性(NV)メモリ316は、電力が遮断されるとデータを記憶するように構成される。一実施形態において、NVメモリ316は1つ以上のフラッシュメモリデバイス(たとえばROM、PCM、FeRAM、FRAM(登録商標)、PRAM、MRAM、NRAM等)を含む。NVメモリ316は非一時的なコンピュータ読取可能媒体を含み、当該媒体は、プロセッサ複合体310内の1つ以上の処理装置によって実行されるプログラミング命令を含むように構成されてもよい。プログラミング命令は、オペレーティングシステム(OS)、UIソフトウェアモジュール、画像処理および記憶ソフトウェアモジュール、プロセッサ複合体310に接続された1つ以上の入出力デバイス314、カメラモジュール330を通して画像スタックをサンプリングするための1つ以上のソフトウェアモジュール、画像スタックまたは画像スタックから生成された1つ以上の合成画像を表示ユニット312を通して提示するための1つ以上のソフトウェアモジュールを実現し得るがこれらに限定されない。一例として、一実施形態において、プログラミング命令はさらに、画像スタック内の画像同士もしくは画像の一部同士を併合し、画像スタック内の各画像の少なくとも一部同士を整列させるための、またはそれらの組合せのための1つ以上のソフトウェアモジュールを実現し得る。別の実施形態において、プロセッサ複合体310はプログラミング命令を実行するように構成されてもよく、当該命令は、高ダイナミックレンジ(HDR)画像を作成するように動作可能な1つ以上のソフトウェアモジュールを実現し得る。
さらに、一実施形態において、NVメモリ316を含む1つ以上のメモリデバイスが、ユーザによってインストールまたは除去されるように構成されたモジュールとしてパッケージ化されてもよい。一実施形態において、揮発性メモリ318はダイナミックランダムアクセスメモリ(DRAM)を含み、当該ダイナミックランダムアクセスメモリは、デジタル写真撮影システム300の通常動作中にアクセスされる、プログラミング命令、画像スタックと関連付けられているデータなどの画像データなどを一時的に記憶するように構成される。当然、揮発性メモリは、任意の態様で、プロセッサ複合体310に取付けられたその他の入出力デバイス314またはセンサデバイス342と関連して用いられてもよい。
一実施形態において、センサデバイス342は、動作および/もしくは方向を検出する加速度計、動作および/もしくは方向を検出する電子ジャイロスコープ、方向を検出する磁束検出器、地理的位置を検出する全地球測位システム(GPS)モジュール、の1つ以上、またはそれらのいずれかの組合せを含み得るがこれらに限定されない。当然、動作検出センサ、近接センサ、RGB光センサ、ジェスチャセンサ、3D入力画像センサ、圧力センサ、および屋内位置センサを含むがこれらに限定されない他のセンサがセンサデバイスとして統合されてもよい。一実施形態において、当該センサデバイスは入出力デバイス314の一例であり得る。
ワイヤレスユニット340は、デジタルデータを送受信するように構成された1つ以上のデジタルラジオを含んでいてもよい。特に、ワイヤレスユニット340は無線規格(たとえばWiFi、Bluetooth(登録商標)、NFC等)を実現し得、データ通信のためのデジタルセルラー電話規格(たとえばCDMA、3G、4G、LTE、LTEアドバンスト等)を実現し得る。当然、任意の無線規格またはデジタルセルラー電話規格が用いられてもよい。
一実施形態において、デジタル写真撮影システム300は、1つ以上のデジタル写真をワイヤレスユニット340を介してネットワークベースの(オンライン)または「クラウドベースの」写真メディアサービスに送信するように構成される。1つ以上のデジタル写真は、NVメモリ316もしくは揮発性メモリ318のいずれか一方、またはプロセッサ複合体310と関連付けられているその他のメモリデバイスの内部に存在し得る。一実施形態において、ユーザは、オンライン写真メディアサービスにアクセスするための、かつ、1つ以上のデジタル写真を送信してオンライン写真メディアサービスに保存する、オンライン写真メディアサービスから取出す、およびオンライン写真メディアサービスによって提示するためのクレデンシャルを所有していてもよい。クレデンシャルは、デジタル写真を送信する前にデジタル写真撮影システム300内で記憶または生成されてもよい。オンライン写真メディアサービスは、ソーシャルネットワーキングサービス、写真共有サービス、またはデジタル写真の保存、デジタル写真の処理、デジタル写真の送信、デジタル写真の共有、もしくはそれらのいずれかの組合せを提供するその他のネットワークベースのサービスを含んでいてもよい。特定の実施形態において、1つ以上のデジタル写真が、オンライン写真メディアサービスと関連付けられているサーバに送信される画像データ(たとえば画像スタック、HDR画像スタック、画像パッケージ等)に基づいてオンライン写真メディアサービスによって生成される。そのような実施形態では、ユーザはデジタル写真撮影システム300からの1つ以上のソース画像を、オンライン写真メディアサービスによって処理するためにアップロードしてもよい。
一実施形態において、デジタル写真撮影システム300はカメラモジュール330の少なくとも1つのインスタンスを含む。別の実施形態において、デジタル写真撮影システム300は複数のカメラモジュール330を含む。そのような実施形態はさらに、複数のカメラモジュール330によって多数の視野としてサンプリングされた写真撮影シーンを照明するように構成された少なくとも1つのストロボユニット336を含んでいてもよい。複数のカメラモジュール330は、広角視野(たとえばカメラ間の45度のスイープよりも大きい)をサンプリングしてパノラマ写真を生成するように構成されてもよい。一実施形態において、複数のカメラモジュール330は、2つ以上の狭角視野(たとえばカメラ間の45度のスイープよりも小さい)をサンプリングしてステレオ写真を生成するように構成されてもよい。他の実施形態では、複数のカメラモジュール330は、表示ユニット312もしくはその他の表示デバイス上に示されるような3D画像を生成するように、またはそうでなければ遠近感(たとえばz成分等)を表示するように構成されてもよい。
一実施形態において、表示ユニット312は、画素の二次元配列を表示して表示用の画像を形成するように構成されてもよい。表示ユニット312は、液晶(LCD)ディスプレイ、発光ダイオード(LED)ディスプレイ、有機LEDディスプレイ、またはその他の技術的に実行可能な種類のディスプレイを含んでいてもよい。特定の実施形態において、表示ユニット312は、単一のHDR画像内で、または多重露光もしくはHDR画像スタックを含む1組の2つ以上の画像にわたって、などで、写真撮影シーンからサンプリングされた強度値の完全な範囲よりも狭い画像強度値のダイナミックレンジを表示することが可能であり得る。一実施形態において、画像スタックを含む画像は、任意の技術的に実行可能なHDRブレンド技術に従って併合されて、表示ユニット312のダイナミックレンジ制約内で表示用の合成画像を生成してもよい。一実施形態において、制限されるダイナミックレンジは、対応する色強度の8ビット/カラーチャネルバイナリ表現を指定してもよい。他の実施形態では、制限されるダイナミックレンジは、8ビットよりも多いビット(たとえば10ビット、12ビット、または14ビット等)/カラーチャネルバイナリ表現を指定してもよい。
図3Bは、一実施形態に従う図3Aのデジタル写真撮影システム300内のプロセッサ複合体310を示す。選択肢として、プロセッサ複合体310は本明細書に開示されている図面のうちのいずれかの図面の詳細の文脈において実現されてもよい。しかし、当然、プロセッサ複合体310は任意の所望の環境において実現されてもよい。さらに、上述の定義は以下の説明に等しく適用され得る。
図示のとおり、プロセッサ複合体310はプロセッササブシステム360を含み、メモリサブシステム362を含んでいてもよい。一実施形態において、プロセッサ複合体310はプロセッササブシステム360を実現するシステムオンチップ(system on a chip:SoC)デバイスを含んでいてもよく、メモリサブシステム362はプロセッササブシステム360に結合された1つ以上のDRAMデバイスを含む。別の実施形態において、プロセッサ複合体310は、SoCデバイスと、メモリサブシステム362を含む1つ以上のDRAMデバイスとをカプセル化するマルチチップモジュール(multi-chip module:MCM)を含んでいてもよい。
プロセッササブシステム360は、1つ以上の中央処理装置(CPU)コア370、メモリインターフェイス380、入出力インターフェイスユニット384、および表示インターフェイスユニット382を含み得るがこれらに限定されず、これらの各々が配線374に結合されている。1つ以上のCPUコア370は、メモリサブシステム362、揮発性メモリ318、NVメモリ316、またはそれらのいずれかの組合せの内部に存在している命令を実行するように構成されてもよい。1つ以上のCPUコア370の各々は、配線374およびメモリインターフェイス380を通してデータを取出して記憶するように構成されてもよい。一実施形態において、1つ以上のCPUコア370の各々がデータキャッシュおよび命令キャッシュを含んでいてもよい。また、CPUコア370の2つ以上がデータキャッシュ、命令キャッシュ、またはそれらのいずれかの組合せを共有してもよい。一実施形態において、各CPUコア370にプライベートキャッシュ層および共有キャッシュ層を提供するようにキャッシュ階層が実現される。
いくつかの実施形態において、プロセッササブシステム360は1つ以上のグラフィック処理装置(GPU)コア372を含んでいてもよい。各GPUコア372は、グラフィック加速機能を実現するがこれに限定されないようにプログラミングされ得る複数のマルチスレッド実行ユニットを含んでいてもよい。さまざまな実施形態において、GPUコア372は、周知の規格(たとえばOpenGL(商標)、WebGL(商標)、OpenCL(商標)、CUDA(商標)等)、および/またはその他のプログラム可能なレンダリンググラフィック規格に従ってマルチスレッドプログラムを実行するように構成されてもよい。特定の実施形態において、少なくとも1つのGPUコア372が、周知のHarris検出器または周知のHessian−Laplace検出器などの動作推定機能の少なくとも一部を実現する。そのような動作推定機能を用いて、画像スタック内の画像同士または画像の一部同士を少なくとも部分的に整列させることができる。たとえば、一実施形態において、HDR画像が画像スタックに基づいてコンパイルされてもよく、HDR画像をコンパイルする前に2つ以上の画像がまず整列させられる。
図示のとおり、配線374は、メモリインターフェイス380、表示インターフェイスユニット382、入出力インターフェイスユニット384、CPUコア370、およびGPUコア372の間でデータを伝送するように構成される。さまざまな実施形態において、配線374は、1本以上のバス、1つ以上のリング、クロスバー、メッシュ、またはその他の技術的に実行可能なデータ伝送構造もしくは技術を実現し得る。メモリインターフェイス380は、メモリサブシステム362を配線374に結合するように構成される。メモリインターフェイス380はさらに、NVメモリ316、揮発性メモリ318、またはそれらのいずれかの組合せを配線374に結合してもよい。表示インターフェイスユニット382は、表示ユニット312を配線374に結合するように構成されてもよい。表示インターフェイスユニット382は特定のフレームバッファ機能(たとえばフレームリフレッシュ等)を実現し得る。または、別の実施形態において、表示ユニット312は特定のフレームバッファ機能(たとえばフレームリフレッシュ等)を実現し得る。入出力インターフェイスユニット384は、さまざまな入出力デバイスを配線374に結合するように構成されてもよい。
特定の実施形態において、カメラモジュール330は、画像スタックと関連付けられている各画像をサンプリングするための露光パラメータを記憶するように構成される。たとえば、一実施形態において、カメラモジュール330は、写真撮影シーンをサンプリングするように命じられると、記憶された露光パラメータに従って画像スタックを含む1組の画像をサンプリングし得る。プロセッサ複合体310内で実行されるプログラミング命令を含むソフトウェアモジュールが、カメラモジュール330に画像スタックをサンプリングするように命じる前に露光パラメータを生成して記憶してもよい。他の実施形態では、カメラモジュール330を用いて画像または画像スタックが計測されてもよく、プロセッサ複合体310内で実行されるプログラミング命令を含むソフトウェアモジュールは、カメラモジュール330に画像を捕捉するように命じる前に計測パラメータを生成して記憶してもよい。当然、カメラモジュール330はプロセッサ複合体310と組合されて任意の態様で用いられてもよい。
一実施形態において、画像スタックを含む画像と関連付けられている露光パラメータは、1つ以上の画像についての露光パラメータを含む露光パラメータデータ構造内に記憶されてもよい。別の実施形態において、プロセッサ複合体310内のカメラインターフェイスユニット(図3Bには図示せず)が、露光パラメータデータ構造から露光パラメータを読出し、写真撮影シーンのサンプリングに備えて、関連付けられている露光パラメータをカメラモジュール330に送信するように構成されてもよい。カメラモジュール330が露光パラメータに従って構成された後、カメラインターフェイスはカメラモジュール330に写真撮影シーンをサンプリングするように命じてもよく、カメラモジュール330は次いで、対応する画像スタックを生成してもよい。露光パラメータデータ構造は、カメラインターフェイスユニット、プロセッサ複合体310内のメモリ回路、揮発性メモリ318、NVメモリ316、カメラモジュール330の内部に、またはその他の技術的に実行可能なメモリ回路の内部に記憶されてもよい。さらに、別の実施形態において、プロセッサ複合体310内で実行されるソフトウェアモジュールが露光パラメータデータ構造を生成して記憶してもよい。
図3Cは、一実施形態に従うデジタルカメラ302を示す。選択肢として、デジタルカメラ302は本明細書に開示されている図面のうちのいずれかの図面の詳細の文脈において実現されてもよい。しかし、当然、デジタルカメラ302は任意の所望の環境において実現されてもよい。さらに、上述の定義は以下の説明に等しく適用され得る。
一実施形態において、デジタルカメラ302は、図3Aのデジタル写真撮影システム300などのデジタル写真撮影システムを含むように構成されてもよい。図示のとおり、デジタルカメラ302はカメラモジュール330を含み、当該カメラモジュールは、写真撮影シーンを表す光学シーン情報を画像センサ上に合焦するように構成された光学素子を含んでいてもよく、当該画像センサは、光学シーン情報を写真撮影シーンの電子表現に変換するように構成されてもよい。
また、デジタルカメラ302はストロボユニット336を含んでいてもよく、写真撮影サンプルイベントをトリガするためのシャッターリリースボタン315を含んでいてもよく、これによってデジタルカメラ302は電子表現を含む1つ以上の画像をサンプリングする。他の実施形態では、その他の技術的に実行可能なシャッターリリース機構が写真撮影サンプルイベントをトリガしてもよい(たとえばタイマトリガまたは遠隔制御トリガ等)。
図3Dは、一実施形態に従うワイヤレスモバイルデバイス376を示す。選択肢として、モバイルデバイス376は本明細書に開示されている図面のうちのいずれかの図面の詳細の文脈において実現されてもよい。しかし、当然、モバイルデバイス376は任意の所望の環境において実現されてもよい。さらに、上述の定義は以下の説明に等しく適用され得る。
一実施形態において、モバイルデバイス376は、写真撮影シーンをサンプリングするように構成されているデジタル写真撮影システム(たとえば図3Aのデジタル写真撮影システム300など)を含むように構成されてもよい。さまざまな実施形態において、カメラモジュール330は、写真撮影シーンを表す光学シーン情報を画像センサ上に合焦するように構成された光学素子を含んでいてもよく、当該画像センサは、光学シーン情報を写真撮影シーンの電子表現に変換するように構成されてもよい。さらに、表示ユニット312を含むタッチエントリ表示システム上のタッチジェスチャによって起動され得る仮想ボタン、または任意の面もしくはモバイルデバイス376の表面上に位置し得る物理ボタンなどの、任意の技術的に実行可能なメカニズムによって、シャッターリリースコマンドが生成されてもよい。当然、他の実施形態では、任意の数の他のボタン、外部入出力、またはデジタル入出力がモバイルデバイス376上に含まれていてもよく、カメラモジュール330と併用されてもよい。
図示のとおり、一実施形態において、表示ユニット312を含むタッチエントリ表示システムがモバイルデバイス376のカメラモジュール330と反対側に配置されている。特定の実施形態において、モバイルデバイス376は、ユーザの方を向くカメラモジュール331を含み、ユーザの方を向くストロボユニット(図示せず)を含んでいてもよい。当然、他の実施形態では、モバイルデバイス376は、任意の数のユーザの方を向くカメラモジュールまたは後ろ向きのカメラモジュール、および任意の数のユーザの方を向くストロボユニットまたは後ろ向きのストロボユニットを含んでいてもよい。
いくつかの実施形態において、デジタルカメラ302およびモバイルデバイス376の各々は、カメラモジュール330によってサンプリングされた画像スタックに基づいて合成画像を生成して記憶してもよい。画像スタックは、周囲照明条件下でサンプリングされた1つ以上の画像、ストロボユニット336からのストロボ照明下でサンプリングされた1つ以上の画像、またはそれらの組合せを含んでいてもよい。
図3Eは、一実施形態に従うカメラモジュール330を示す。選択肢として、カメラモジュール330は本明細書に開示されている図面のうちのいずれかの図面の詳細の文脈において実現されてもよい。しかし、当然、カメラモジュール330は任意の所望の環境において実現されてもよい。さらに、上述の定義は以下の説明に等しく適用され得る。
一実施形態において、カメラモジュール330は、ストロボ制御信号338を通してストロボユニット336を制御するように構成されてもよい。図示のとおり、レンズ390が、光学シーン情報352をサンプリングすべき画像センサ332上に合焦するように構成される。一実施形態において、画像センサ332はストロボ制御信号338を通してストロボユニット336の詳細なタイミングを有利に制御して、ストロボユニット336が有効な状態でサンプリングされた画像とストロボユニット336が無効な状態でサンプリングされた画像との間のサンプル間時間を減少させる。たとえば、画像センサ332は、画像センサ332が周囲画像のサンプリングと関連付けられている露光時間を完了した後であってストロボ画像をサンプリングする前に、ストロボユニット336が1マイクロ秒未満(または任意の所望の長さ)にわたってストロボ照明350を発することを可能にし得る。
他の実施形態では、ストロボ照明350は所望の1つ以上のターゲットポイントに基づいて構成されてもよい。たとえば、一実施形態において、ストロボ照明350は前景内のオブジェクトを照らし出してもよく、露光時間の長さに依存して、画像の背景内のオブジェクトも照らし出してもよい。一実施形態において、ストロボユニット336が有効になると、画像センサ332はその直後にストロボ画像を露光し始めてもよい。ゆえに、画像センサ332はサンプリング動作を直接制御することが可能であり得、当該サンプリング動作は、ストロボユニット336が無効な状態でサンプリングされた少なくとも1つの画像、およびストロボユニット336が有効または無効な状態でサンプリングされた少なくとも1つの画像を含み得る画像スタックの生成と関連付けられているストロボユニット336の有効化および無効化を含む。一実施形態において、画像センサ332によってサンプリングされた画像スタックを含むデータが、配線334を介してプロセッサ複合体310内のカメラインターフェイスユニット386に送信される。いくつかの実施形態において、カメラモジュール330は画像センサコントローラを含んでいてもよく、当該コントローラは画像センサ332の制御動作と共にストロボ制御信号338を生成するように構成されてもよい。
図3Fは、一実施形態に従うカメラモジュール330を示す。選択肢として、カメラモジュール330は本明細書に開示されている図面のうちのいずれかの図面の詳細の文脈において実現されてもよい。しかし、当然、カメラモジュール330は任意の所望の環境において実現されてもよい。さらに、上述の定義は以下の説明に等しく適用され得る。
一実施形態において、カメラモジュール330は、ストロボユニット336についての状態情報に基づいて画像をサンプリングするように構成されてもよい。状態情報は、ストロボユニット336にストロボ照明350の指定強度および/または色を生成するように命じるための1つ以上のストロボパラメータ(たとえばストロボ強度、ストロボ色、ストロボ時間等)を含み得るがこれらに限定されない。一実施形態において、ストロボユニット336と関連付けられている状態情報を構成するためのコマンドがストロボ制御信号338を通して送信されてもよく、当該信号は、ストロボユニット336が有効になった時を検出するためにカメラモジュール330によって監視され得る。たとえば、一実施形態において、カメラモジュール330は、ストロボユニット336が有効または無効になってから1マイクロ秒以下内にストロボユニット336が有効または無効になった時をストロボ制御信号338によって検出し得る。ストロボ照明を必要とする画像をサンプリングするために、カメラインターフェイスユニット386は、有効化コマンドをストロボ制御信号338を通して送信することによってストロボユニット336を有効にしてもよい。一実施形態において、カメラインターフェイスユニット386は、図3Bのプロセッサ複合体310のプロセッササブシステム360内の入出力インターフェイス384のインターフェイスとして含まれていてもよい。有効化コマンドは、信号レベル遷移、データパケット、レジスタ書込み、またはその他の技術的に実行可能なコマンドの送信を含んでいてもよい。カメラモジュール330はストロボユニット336が有効であることを検知し、次いで、ストロボユニット336が有効である間に、画像センサ332にストロボ照明を必要とする1つ以上の画像をサンプリングさせてもよい。そのような実現例では、画像センサ332は、ストロボユニット336宛ての有効化信号を、新たな露光のサンプリングを開始するトリガ信号として待機するように構成されてもよい。
一実施形態において、カメラインターフェイスユニット386は、露光パラメータおよびコマンドを配線334を通してカメラモジュール330に送信してもよい。特定の実施形態において、カメラインターフェイスユニット386は、制御コマンドをストロボ制御信号338を通してストロボユニット336に送信することによってストロボユニット336を直接制御するように構成されてもよい。カメラモジュール330およびストロボユニット336の両方を直接制御することによって、カメラインターフェイスユニット386は、カメラモジュール330およびストロボユニット336に、正確な時間同期でそれぞれの動作を実行させることができる。一実施形態において、正確な時間同期は500マイクロ秒未満のイベントタイミングエラーであってもよい。また、イベントタイミングエラーは、意図されたイベント発生から対応する実際のイベント発生の時間までの時間差であってもよい。
別の実施形態において、カメラインターフェイスユニット386は、カメラモジュール330から画像データを受信している間に統計を蓄積するよう構成されてもよい。特に、カメラインターフェイスユニット386は、配線334を通して所与の画像についての画像データを受信している間に当該画像についての露光統計を蓄積してもよい。露光統計は、強度ヒストグラム、露光過多の画素のカウント、露光不足の画素のカウント、画素強度の強度−加重和、の1つ以上、またはそれらのいずれかの組合せを含み得るがこれらに限定されない。カメラインターフェイスユニット386は、プロセッサ複合体310内のCPUコア370の1つ以上などのプロセッサによって規定される物理または仮想アドレス空間内のメモリマップされた記憶場所として、露光統計を提示してもよい。一実施形態において、露光統計は、メモリマップされたレジスタ空間内にマップされる記憶回路内に存在しており、これは配線334を通してアクセス可能である。他の実施形態では、露光統計は、捕捉した画像についての画素データを伝送するのと共に伝送される。たとえば、所与の画像についての露光統計は、捕捉した画像についての画素強度データの送信に引き続いて、インラインデータとして送信されてもよい。露光統計は、カメラインターフェイスユニット386内で計算、記憶、またはキャッシュされてもよい。
一実施形態において、カメラインターフェイスユニット386は、シーンホワイトバランスを推定するための色統計を蓄積してもよい。赤色、緑色および青色カラーチャネルを含む異なるカラーチャネルについての強度の和などの、ホワイトバランスを推定するための任意の技術的に実行可能な色統計が蓄積されてもよい。次いで、カラーチャネル強度の和を用いて、グレーワールドホワイトバランスモデルなどのホワイトバランスモデルに従って、関連画像に対してホワイトバランス色補正が実行されてもよい。他の実施形態では、画像に対してホワイトバランス補正を実現するために用いられる一次または二次曲線適合のための曲線適合統計が蓄積される。
一実施形態において、カメラインターフェイスユニット386は、周囲画像と、ストロボ照明を用いてサンプリングされた1つ以上の画像との間など、画像同士の間でカラーマッチングを実行するための空間色統計を蓄積してもよい。露光統計と同様に、色統計はプロセッサ複合体310内のメモリマップされた記憶場所として提示されてもよい。一実施形態において、色統計はメモリマップされたレジスタ空間内にマップされ、これはプロセッササブシステム360内で配線334を通してアクセス可能である。他の実施形態では、色統計は、捕捉した画像についての画素データを伝送するのと共に伝送されてもよい。たとえば、一実施形態において、所与の画像についての色統計は、当該画像についての画素強度データの送信に引き続いて、インラインデータとして送信されてもよい。色統計は、カメラインターフェイス386内で計算、記憶、またはキャッシュされてもよい。
一実施形態において、カメラモジュール330はストロボ制御信号338をストロボユニット336に送信して、カメラモジュール330が画像をサンプリングしている間にストロボユニット336が照明を生成することを可能にし得る。別の実施形態において、カメラモジュール330は、ストロボユニット336が有効であるという指示信号をカメラインターフェイスユニット386から受信すると、ストロボユニット336が照明している画像をサンプリングしてもよい。さらに別の実施形態において、カメラモジュール330は、シーン照明の急激な増加によって写真撮影シーン内のストロボ照明を検出すると、ストロボユニット336が照明している画像をサンプリングしてもよい。一実施形態において、シーン照明の急激な増加は、ストロボユニット336を有効にする強度と一致した強度の増加率を少なくとも含んでいてもよい。さらに別の実施形態において、カメラモジュール330は、1つの画像をサンプリングしている間にストロボユニット336を有効にしてストロボ照明を生成し、別の画像をサンプリングしている間にストロボユニット336を無効にしてもよい。
図3Gは、一実施形態に従うカメラモジュール330を示す。選択肢として、カメラモジュール330は本明細書に開示されている図面のうちのいずれかの図面の詳細の文脈において実現されてもよい。しかし、当然、カメラモジュール330は任意の所望の環境において実現されてもよい。さらに、上述の定義は以下の説明に等しく適用され得る。
一実施形態において、カメラモジュール330はアプリケーションプロセッサ335と通信していてもよい。カメラモジュール330は、コントローラ333と通信している画像センサ332を含むとして示されている。さらに、コントローラ333はアプリケーションプロセッサ335と通信しているとして示されている。
一実施形態において、アプリケーションプロセッサ335はカメラモジュール330の外部に存在していてもよい。図示のとおり、レンズ390は、光学シーン情報をサンプリングすべき画像センサ332上に合焦するように構成されてもよい。次いで、画像センサ332によってサンプリングされた光学シーン情報は、その後の処理およびアプリケーションプロセッサ335への通信の少なくとも一方のために、画像センサ332からコントローラ333に通信されてもよい。別の実施形態において、コントローラ333は、画像センサ332によってサンプリングされた光学シーン情報の記憶、または処理された光学シーン情報の記憶を制御してもよい。
別の実施形態において、コントローラ333は、画像センサ332が周囲画像のサンプリングと関連付けられている露光時間を完了した後に、ストロボユニットが短い期間(たとえば1マイクロ秒未満等)中にストロボ照明を発することを可能にし得る。さらに、コントローラ333は、画像センサ332の制御動作と共にストロボ制御信号338を生成するように構成されてもよい。
一実施形態において、画像センサ332は相補型金属酸化膜半導体(CMOS)センサまたは電荷結合素子(CCD)センサであってもよい。別の実施形態において、コントローラ333および画像センサ332は、集積システムまたは集積回路として共にパッケージ化されてもよい。さらに別の実施形態において、コントローラ333および画像センサ332は別個のパッケージを含んでいてもよい。一実施形態において、コントローラ333は、画像センサ332からの光学シーン情報の受信、光学シーン情報の処理、さまざまな機能のタイミング、およびアプリケーションプロセッサ335と関連付けられているシグナリングのための回路を提供してもよい。さらに、別の実施形態において、コントローラ333は、露光、シャッタリング、ホワイトバランス、およびゲイン調整の1つ以上を制御するための回路を提供してもよい。コントローラ333の回路による光学シーン情報の処理は、ゲイン適用、増幅、およびアナログ−デジタル変換の1つ以上を含んでいてもよい。光学シーン情報を処理した後、コントローラ333は対応するデジタル画素データをアプリケーションプロセッサ335などに送信してもよい。
一実施形態において、アプリケーションプロセッサ335は、プロセッサ複合体310および揮発性メモリ318とNVメモリ316との少なくとも一方、またはその他のメモリデバイスおよび/もしくはシステム上で実現されてもよい。アプリケーションプロセッサ335は、カメラモジュール330からアプリケーションプロセッサ335に通信される受信した光学シーン情報またはデジタル画素データの処理のために予め構成されてもよい。
図4は、一実施形態に従うネットワークサービスシステム400を示す。選択肢として、ネットワークサービスシステム400は本明細書に開示されている図面のうちのいずれかの図面の詳細の文脈において実現されてもよい。しかし、当然、ネットワークサービスシステム400は任意の所望の環境において実現されてもよい。さらに、上述の定義は以下の説明に等しく適用され得る。
一実施形態において、ネットワークサービスシステム400は、デジタル写真撮影システムを実現するデバイスにネットワークアクセスを提供するように構成されてもよい。図示のとおり、ネットワークサービスシステム400は、ワイヤレスモバイルデバイス376、無線アクセスポイント472、データネットワーク474、データセンタ480、およびデータセンタ481を含む。ワイヤレスモバイルデバイス376は、デジタル無線リンク471を介して無線アクセスポイント472と通信して、デジタル画像と関連付けられているデータを含むデジタルデータを送受信してもよい。ワイヤレスモバイルデバイス376および無線アクセスポイント472は、本発明の範囲および精神から逸脱することなく、デジタル無線リンク471を介してデジタルデータを伝送するための任意の技術的に実行可能な伝送技術を実現し得る。特定の実施形態において、データセンタ480,481の1つ以上は、所与のデータセンタ480,481内の各システムおよびサブシステムが、指定されたデータ処理およびネットワークタスクを実行するように構成された仮想マシンを含み得るように、仮想構造を用いて実現されてもよい。他の実現例では、データセンタ480,481の1つ以上は複数の物理的サイトにわたって物理的に分散していてもよい。
ワイヤレスモバイルデバイス376は、デジタルカメラを含むように構成されたスマートフォン、ワイヤレスネットワーク接続性を含むように構成されたデジタルカメラ、現実拡張デバイス、デジタルカメラおよびワイヤレスネットワーク接続性を含むように構成されたラップトップ、またはデジタル写真撮影システムおよびワイヤレスネットワーク接続性を含むように構成されたその他の技術的に実行可能なコンピューティングデバイスを含んでいてもよい。
さまざまな実施形態において、無線アクセスポイント472は、デジタル無線リンク471を介してワイヤレスモバイルデバイス376と通信するように、かつ、電気、光学、または無線伝送媒体などの任意の技術的に実行可能な伝送媒体を介してデータネットワーク474と通信するように構成されてもよい。たとえば、一実施形態において、無線アクセスポイント472は、無線アクセスポイント472に、かつデータネットワーク474内のルータシステムまたはスイッチシステムに結合された光ファイバを通してデータネットワーク474と通信してもよい。広域ネットワーク(WAN)リンクなどのネットワークリンク475がデータネットワーク474とデータセンタ480との間でデータを伝送するように構成されてもよい。
一実施形態において、データネットワーク474は、ルータ、スイッチ、長距離伝送システム、プロビジョニングシステム、認証システム、ならびに、無線アクセスポイント472とデータセンタ480との間など、ネットワーク終点同士の間でデータを伝達するように構成された通信および動作サブシステムの任意の技術的に実行可能な組合せを含んでいてもよい。一実現例において、ワイヤレスモバイルデバイス376は、データネットワーク474に結合された1つ以上の無線アクセスポイントを介してデータセンタ480と通信するように構成された複数のワイヤレスモバイルデバイスのうちの1つを含んでいてもよい。
また、さまざまな実施形態において、データセンタ480はスイッチ/ルータ482および少なくとも1つのデータサービスシステム484を含み得るがこれらに限定されない。スイッチ/ルータ482は、ネットワークリンク475と各データサービスシステム484との間でデータトラフィックを転送するように構成されてもよい。スイッチ/ルータ482は、イーサネット(登録商標)メディア層伝送、レイヤ2スイッチング、レイヤ3ルーティングなどの任意の技術的に実行可能な伝送技術を実現し得る。スイッチ/ルータ482は、データサービスシステム484とデータネットワーク474との間でデータを伝送するように構成された1つ以上の個別のシステムを含んでいてもよい。
一実施形態において、スイッチ/ルータ482は、複数のデータサービスシステム484同士の間でセッションレベルのロードバランシングを実現し得る。各データサービスシステム484は少なくとも1つの計算システム488を含んでいてもよく、さらに1つ以上の記憶システム486を含んでいてもよい。各計算システム488は、中央処理装置、グラフィック処理装置、またはそれらのいずれかの組合せなどの、1つ以上の処理装置を含んでいてもよい。所与のデータサービスシステム484は、共に動作するように構成された1つ以上の物理的に別個のシステムを含む物理的システムとして実現されてもよい。または、所与のデータサービスシステム484は、任意の物理的システム上で実行される1つ以上の仮想システムを含む仮想システムとして実現されてもよい。特定のシナリオでは、データネットワーク474は、ネットワークリンク476を通すなどしてデータセンタ480と別のデータセンタ481との間でデータを伝送するように構成されてもよい。
別の実施形態において、ネットワークサービスシステム400は、本発明の1つ以上の実施形態を実現するように構成された、任意のネットワーク化されたモバイルデバイスを含んでいてもよい。たとえば、いくつかの実施形態において、アドホック無線ネットワークなどのピアツーピアネットワークが2つの異なるワイヤレスモバイルデバイス同士の間に確立されてもよい。そのような実施形態では、デジタル画像データは、当該デジタル画像データをデータセンタ480に送信しなくても2つのワイヤレスモバイルデバイス同士の間で伝送され得る。
図5は、一実施形態に係る、HDR画素を出力するためのシステム500を示す。選択肢として、システム500は、いずれかの図面の文脈において実現され得る。しかしながら、当然、システム500は所望の如何なる環境においても実行され得る。さらに、上述の定義は、以下の記載に同様に適用され得る。
図示のとおり、システム500は非線形混合関数530を含む。一実施形態においては、非線形混合関数530は、より明るい画素550およびより暗い画素552を受取ることを含む。一実施形態においては、より明るい画素550およびより暗い画素552は、混合関数566によってブレンドされ、結果としてHDR画素559をもたらし得る。
一実施形態においては、混合関数566は、2つの入力値(たとえば、画素など)を組合わせることができる如何なる関数をも含み得る。混合関数566は、混合値558に基づいて、より明るい画素550に関連付けられたvec3値と、より暗い画素552に関連付けられたvec3値とをブレンドすることによって、HDR画素559に関連付けられたvec3値を生成するための線形ブレンド演算を規定し得る。たとえば、混合関数566は、周知のOpenGL混合関数を実現し得る。他の例においては、混合関数は、2つの異なる画素についての値の加重和を正規化すること;入力画素に関連付けられたベクトル(たとえば、RGBなど)を合計して正規化すること;2つの入力画素についての加重平均を計算すること;および/または、より明るい画素とより暗い画素とを何らかの態様で結合し得る他の任意の関数を適用すること;を含み得る。一実施形態においては、混合値558は、0〜1の範囲であってもよく、混合関数566は、混合値558に基づいて、より暗い画素552とより明るい画素550とを混合する。別の実施形態においては、混合値558は、0から任意に大きな値までの範囲であるが、混合関数566は、1より大きい値が1に等しいかのように、1よりも大きい混合値に応答するように構成される。
一実施形態においては、混合値関数は、2つの多項式の積を含み、強さ係数を含み得る。特定の例においては、混合値関数は、混合値558を生成するように作用する混合値表面564として実現される。1つの例示的な混合値関数を式1において以下に例示する:
z=p1(x)*p2(y)*s (式1)
この場合、zは、第1の画素および第2の画素についての結果として得られる混合値である。
p1はxにおける第1の多項式であり、xは第1の(より暗い)画素についての画素属性であり得る。
p2はyにおける第2の多項式であり、yは第2の(より明るい)画素についての画素属性であり得る。
sは強さ係数である(s==0:混合なし、s==1.0:規格の混合、s>1.0:過度の混合)。
式1においては、強さ係数(s)は、第1の画素と第2の画素との間で、結果として生じる混合値に、混合なし(たとえば、s=0など)、規格の混合(たとえば、s=1など)および過度の混合(たとえば、s>1.0など)を反映させ得る。
別の特定の実施形態においては、混合関数は特有の多項式形を含み得る:
z=(1−(1−(1−x)^A)^B)*((1−(1−y)^C)^D)*s (式2)
図示のとおり、式1のp1(x)は、式2において項(1−(1−(1−x)^A)^B)として実現され得るとともに、式2のp2(y)は、項((1−(1−y)^C)^D)として実現され得る。一実施形態においては、式2は以下の係数を含み得る:A=8、B=2、C=8およびD=2。当然ながら、他の実施形態においては、他の係数値は、全体的な混合を最適化するために用いられてもよく、第1の画素と第2の画素とを混合することに関連付けられた主観的な視覚的品質を含み得る。特定の実施形態においては、式2を用いて、「EV0」画素(たとえば、EV0露光を有する画像からの画素)と、「EV−」画素(たとえば、EV−1、EV−2またはEV−3などの露光を有する画像からの画素)と、「EV+」画素(たとえば、EV+1、EV+2またはEV+3などの露光を有する画像からの画素)との組合せのための混合値を生成し得る。さらに、別の実施形態においては、式2を用いて、明露光、中間露光および/または暗露光を任意に組合せて有する画像に関連付けられた画素についての混合値を生成し得る。
別の実施形態においては、z=0の場合、より暗い画素に重み全体が与えられてもよく、z=1の場合、より明るい画素に重み全体が与えられてもよい。一実施形態においては、式2は、図10Aおよび図10Bに示されるような表面図に一致し得る。
別の特定の実施形態においては、混合関数は特定の多項式形を含み得る:
z=((1−(1−x)^A)^B)*((1−(1−y)^C)^D)*s (式3)
図示のとおり、式1のp1(x)は、式3において項((1−(1−x)^A)^B)として実現され得るとともに、式3のp2(y)は、項((1−(1−y)^C)^D)として実現され得る。一実施形態においては、式3は以下の係数:A=8、B=2、C=2およびD=2を含み得る。当然ながら、他の実施形態においては、他の係数値を用いて混合を最適化してもよい。別の実施形態においては、式3を用いて、「EV0」画素および「EV−」画素(たとえばEV−1、EV−2またはEV−3)画素についての混合値を生成してもよい。さらに、別の実施形態においては、式3を用いて、明露光、中間露光および/または暗露光を任意に組合せて有する画像に関連付けられた画素についての混合値を生成し得る。
別の実施形態においては、z=0の場合、より明るい画素に重み全体が与えられてもよく、z=1の場合、より暗い画素に重み全体が与えられてもよい。一実施形態においては、式3は、図11Aおよび図11Bに示されるような表面図に一致し得る。
別の実施形態においては、より明るい画素550が画素属性関数560によって受取られてもよく、より暗い画素552が画素属性関数562によって受取られてもよい。さまざまな実施形態においては、画素属性関数560および/または562は、入力画素(たとえば、より明るい画素、より暗い画素など)に関連付けられた属性を決定することができる如何なる関数をも含み得る。たとえば、さまざまな実施形態においては、画素属性関数560および/または562は、強度、飽和度、色相、色空間値(たとえば、RGB、YCbCr、YUVなど)、輝度、RGB色、ルミナンス、クロミナンス、および/または、何らかの態様で画素に関連付けられ得る他のいずれかの特徴を決定することを含み得る。
画素属性関数560に応じて、より明るい画素550に関連付けられた画素属性555が結果として生じ、混合値表面564などの混合値関数に入力される。加えて、画素属性関数562に応じて、より暗い画素552に関連付けられた画素属性556が結果として生じ、混合値関数に入力される。
一実施形態においては、所与の混合値関数が表面図に関連付けられてもよい。たとえば、一実施形態においては、x値は、第1の画素属性(または複数の画素属性)に関連付けられた多項式に関連付けられてもよく、y値は、第2の画素属性(または複数の画素属性)に関連付けられた多項式に関連付けられてもよい。さらに、別の実施形態においては、強さ関数は、混合値関数によって計算される混合値をスケーリングするために用いられてもよい。
一実施形態においては、混合値関数によって決定された混合値558が、表面図を具体化する表から選択されてもよい。別の実施形態においては、第1の多項式に関連付けられた第1の値および第2の多項式に関連付けられた第2の値は各々、表から対応する値を選択するために用いられてもよく、2つ以上の値を用いて混合値を補間してもよい。言いかえれば、混合値関数の少なくとも一部は、zの値を決定するために、xおよびyにおいて標識付されている表(たとえばルックアップテーブル)として実現されてもよい。zの各々の値は、表においては直接表わされてもよく、または表を含むサンプル点から補間されてもよい。
図示のとおり、混合値558は、混合値表面564に起因するものであり、先に述べたように混合関数566に入力される。
HDR画素559は、この明細書中に記載されるさまざまな実施形態に従って、より明るい画素550およびより暗い画素552に基づいて生成され得る。
図6は、別の実施形態に係る、HDR画素と効果関数との組合わせに基づいてHDR画素を生成するための方法600を示す。選択肢として、方法600は、いずれかの図面の詳細についての文脈において実現され得る。しかしながら、当然、方法600は所望の如何なる環境においても実行され得る。さらに、上述の定義は、以下の記載に同様に適用され得る。
図示のとおり、一実施形態においては、中間の明るいHDR画素が、中間の露光画素および明るい露光画素に基づいて生成され得る。動作602を参照されたい。加えて、中間の暗いHDR画素は、中間の露光画素および暗い露光画素に基づいて生成され得る。動作604を参照されたい。たとえば、一実施形態においては、中間の露光画素はEV0露光を含んでもよく、明るい露光画素はEV+1露光を含んでもよく、中間の明るいHDR画素は、EV0露光画素とEV+1露光画素との間のブレンドであってもよい。当然、明るい露光画素は、(たとえば、任意の量などが)中間の露光値よりも大きい露光を含み得る。
別の実施形態においては、中間の露光画素はEV0露光を含んでもよく、暗い露光画素はEV−1露光を含んでもよく、中間の暗いHDR画素は、EV0露光とEV−1露光との間のブレンドであってもよい。当然、暗い露光画素は、(たとえば、任意の量などが)中間の露光値よりも小さい露光を含み得る。
図示のとおり、結合されたHDR画素は、中間の明るいHDR画素および中間の暗いHDR画素に基づいて生成され得る。動作606を参照されたい。別の実施形態においては、結合されたHDR画素は、複数の中間の明るいHDR画素および複数の中間の暗いHDR画素に基づいて生成され得る。
別個の実施形態においては、第2の結合されたHDR画素は、結合されたHDR画素および中間の明るいHDR画素に基づいていてもよく、または、結合されたHDR画素および中間の暗いHDR画素に基づいてもよい。さらなる実施形態においては、第3の結合されたHDR画素は、第1の結合されたHDR画素、第2の結合されたHDR画素、中間の明るいHDR画素、中間の暗いHDR画素、および/または、そのいずれかの組合せに基づいてもよい。
さらに、図示のとおり、出力HDR画素は結合されたHDR画素および効果関数に基づいて生成されてもよい。動作608を参照されたい。たとえば、一実施形態においては、効果関数は、強度、飽和度、色相、色空間値(たとえば、EGB、YCbCr、YUVなど)、輝度、RGB色、ルミナンス、クロミナンス、コントラスト、属性レベル関数および/または属性湾曲関数を変更する関数を含み得る。さらに、効果関数は、パステル調、水彩絵具機能、チャコール調、グラフィックペン調、検出されたエッジの輪郭、粒度もしくはノイズの変更、テクスチャの変更、および/または、何らかの態様で出力HDR画素を変更し得る他の任意の修正などを含むがこれらには限定されないフィルタを含み得る。
図7は、別の実施形態に係る、HDR画素を出力するためのシステム700を示す。選択肢として、システム700は、いずれかの図面の詳細についての文脈において実現され得る。しかしながら、当然、システム700は所望の如何なる環境においても実行され得る。さらに、上述の定義は、以下の記載に同様に適用され得る。
一実施形態においては、システム700は画素ブレンド演算702を含み得る。一実施形態においては、画素ブレンド演算702は、非線形混合関数732において、明るい露光画素710および中間の露光画素712を受取ることを含み得る。別の実施形態においては、非線形混合関数732は、図5の非線形混合関数530と一致する態様で作用し得る。別の実施形態においては、画素ブレンド演算702は、非線形混合関数734において暗い露光画素714および中間の露光画素712を受取ることを含み得る。別の実施形態においては、非線形混合関数734は、図5の要素530と一致する態様で作用し得る。
さまざまな実施形態においては、非線形混合関数732および/または734は、それぞれ、明るい混合限度720または暗い混合限度722から入力を受取り得る。一実施形態においては、明るい混合限度720および/または暗い混合限度722は、自動設定または手動設定を含み得る。たとえば、いくつかの実施形態においては、混合限度は、予め規定された設定(たとえば、最適化された設定など)によって設定され得る。一実施形態においては、各々の混合限度は、混合関数を最適化するように予め規定されていてもよい。別の実施形態においては、手動設定はユーザ入力を受取ることを含んでもよい。たとえば、一実施形態においては、ユーザ入力はスライドするユーザインターフェイス上のスライダ設定と一致していてもよい。各々の混合限度は、式1〜式3に関連付けて上述されたそれぞれの強さ係数に対応し得る。
たとえば、一実施形態においては、混合値関数は、2つの多項式の積を含み得るとともに、強さ係数を含み得る。特定の例においては、混合値関数は、混合値558を生成するように作用する混合値表面564として実現される。
1つの例示的な混合値関数が式1において以下に例示される:
z=p1(x)*p2(y)*s (式1)
この場合、zは、第1の画素および第2の画素についての結果として生じる混合値である。
p1はxにおける第1の多項式であり、xは第1の(より暗い)画素についての画素属性であり得る。
p2はyにおける第2の多項式であり、yは第2の(より明るい)画素についての画素属性であり得る。
sは強さ係数である(s==0:混合なし、s==1.0:規格の混合、s>1.0:過度の混合)。
式1においては、強さ係数(s)は、第1の画素と第2の画素との間で、結果として生じる混合値に、混合なし(たとえば、s=0など)、規格の混合(たとえば、s=1など)および過度の混合(たとえば、s>1.0など)を反映させ得る。
別の特定の実施形態においては、混合関数は特定の多項式形を含み得る:
z=(1−(1−(1−x)^A)^B)*((1−(1−y)^C)^D)*s (式2)
図示のとおり、式1のp1(x)は、項(1−(1−(1−x)^A)^B)として式2において実現され得るとともに、式2のp2(y)は項((1−(1−y)^C)^D)として実現され得る。一実施形態においては、式2は以下の係数:A=8、B=2、C=8およびD=2を含み得る。当然ながら、他の実施形態においては、全体的な混合を最適化するために、他の係数値が用いられてもよく、第1の画素と第2の画素とを混合することに関連付けられた主観的な視覚品質を含み得る。特定の実施形態においては、式2を用いて、「EV0」画素(たとえば、EV0露光を有する画像からの画素)と、「EV−」画素(たとえば、EV−1、EV−2またはEV−3などの露光を有する画像からの画素)と、「EV+」画素(たとえば、EV+1、EV+2またはEV+3などの露光を有する画像からの画素)との組合わせについての混合値を生成し得る。さらに、別の実施形態においては、式2を用いて、明露光、中間露光および/または暗露光を任意に組合わせて有する画像に関連付けられた画素についての混合値を生成し得る。
別の実施形態においては、z=0の場合、より暗い画素に重み全体が与えられてもよく、z=1の場合、より明るい画素に重み全体が与えられてもよい。一実施形態においては、式2は、図10Aおよび図10Bに示されるような表面図に一致し得る。
別の特定の実施形態においては、混合関数は特定の多項式形を含み得る:
z=((1−(1−x)^A)^B)*((1−(1−y)^C)^D)*s (式3)
図示のとおり、式1のp1(x)は式3において項((1−(1−x)^A)^B)として実現され得るとともに、式3のp2(y)は項((1−(1−y)^C)^D)として実現され得る。一実施形態においては、式3は以下の係数:A=8、B=2、C=2およびD=2を含み得る。当然ながら、他の実施形態においては、混合を最適化するために他の係数値が用いられてもよい。別の実施形態においては、式3を用いて、「EV0」画素および「EV−」画素(たとえばEV−1、EV−2またはEV−3)画素についての混合値を生成し得る。さらに、別の実施形態においては、式3を用いて、明露光、中間露光および/または暗露光を任意に組合せて有する画像に関連付けられた画素についての混合値を生成し得る。
別の実施形態においては、z=0の場合、より明るい画素に重み全体が与えられてもよく、z=1の場合、より暗い画素に重み全体が与えられてもよい。一実施形態においては、式3は、図11Aおよび図11Bに示されるような表面図に一致し得る。
図示のとおり、一実施形態においては、非線形混合関数732は、結果として、中間の明るいHDR画素740をもたらす。別の実施形態においては、非線形混合関数734は、結果として、中間の暗いHDR画素742をもたらす。一実施形態においては、中間の明るいHDR画素740および中間の暗いHDR画素742が、コンバイナ関数(combiner function)736に入力される。別の実施形態においては、コンバイナ関数736は、中間の明るいHDR画素740と中間の暗いHDR画素742とをブレンドする。
さまざまな実施形態においては、コンバイナ関数736は、2つ以上の画素値の平均を取ること;各々の画素値に関連付けられた色属性を合計して正規化すること(たとえば、RGB色空間における赤成分/緑成分/青成分の合計など);正規化され得るRGB(もしくは任意の色空間)ベクトル長さを決定すること;平均画素値をより明るい画素もしくはより暗い画素と組合わせて用いること;および/または、他の任意の組合せを用いて、中間の明るいHDR画素740と中間の暗いHDR画素742とをブレンドすること;を含み得る。
一実施形態においては、コンバイナ関数736は、結果として、結合されたHDR画素744をもたらす。さまざまな実施形態においては、結合されたHDR画素744は、中間の明るい画素740および中間の暗いHDR画素742に関連付けられた如何なるタイプのブレンドをも含み得る。たとえば、いくつかの実施形態においては、結合されたHDR画素は、HDR効果が適用されていない生成画素を含み得るのに対して、他の実施形態においては、任意の量のHDRまたは増幅が適用されて、最終的な結合されたHDR画素に反映され得る。
さまざまな実施形態においては、結合されたHDR画素744が効果関数738に入力される。一実施形態においては、効果関数738は、飽和パラメータ724、レベルマッピングパラメータ726、および/または、効果関数738に何らかの態様で結合HDR画素744を修正させ得る他の任意の関数パラメータを受取り得る。当然、他の実施形態においては、効果関数738は、強度、色相、色空間値(たとえば、EGB、YCbCr、YUVなど)、輝度、RGB色、ルミナンス、クロミナンス、コントラスト、および/または、湾曲関数を変更する関数を含み得る。さらに、効果関数は、パステル調、水彩絵具機能、チャコール調、グラフィックペン調、検出されたエッジの輪郭、粒度もしくはノイズの変更、テクスチャの変更、および/または、結合されたHDR画素を何らかの態様で変更し得る他の任意の修正などを含むがこれらに限定されないフィルタを含み得る。いくつかの実施形態においては、出力HDR画素746は、効果関数738によって生成されてもよい。代替的には、効果関数738は効果を及ぼさないように構成されてもよく、出力HDR画素746は結合されたHDR画素744と同等である。一実施形態においては、効果関数738は、コントラスト制限付適応ヒストグラム平坦化(CLAHE)として当該技術において公知である等化技術などの等価を実現する。
いくつかの実施形態および代替例においては、結合されたHDR画素744には効果が適用されなくてもよい。効果関数738を通過した後、出力HDR画素746が結果として生じる。
図8は、別の実施形態に係る、結合されたHDR画素と効果関数とに基づいてHDR画素を生成するための方法800を示す。選択肢として、方法800は、いずれかの図面の詳細についての文脈において実現され得る。しかしながら、当然、方法800は所望の如何なる環境においても実行され得る。さらに、上述の定義は、以下の記載に同様に適用され得る。
一実施形態においては、中間の露光画像について中間露光パラメータが評価され得る。動作802を参照されたい。加えて、暗い露光画像について暗露光パラメータが評価され(動作804を参照)、明るい露光画像について明露光パラメータが評価される(動作806を参照)。
さまざまな実施形態においては、(たとえば、中間露光、暗露光または明露光などに関連付けられた)露光パラメータは、ISO、露光時間、露光値、アパーチャ、および/または、画像捕捉時間に影響を与える可能性のある他のパラメータを含み得る。一実施形態においては、捕捉時間は、対応するカメラレンズによって示される光学情報に画像センサが晒される時間の量を含み得る。
一実施形態においては、中間露光パラメータ、暗露光パラメータおよび/または明露光パラメータを評価することは、写真撮影シーンに関連付けられた画像を計測することを含み得る。たとえば、さまざまな実施形態においては、レンズの視界内における光の輝度が決定され得る。さらに、画像の計測は、スポット計測(たとえば、狭い区域のカバレッジなど)、平均計測(たとえば、全体写真全体にわたる計測など)、マルチパターン計測(たとえば、マトリックス計測、セグメント化された計測など)、および/または、他のタイプの計測システムを含み得る。画像の計測は、画像センサから利用可能となるよりも低い解像度を含む如何なる解像度で実行されてもよく、これにより、結果として、計測のレイテンシがより高速となる可能性がある。
図示のとおり、暗い露光画像、中間の露光画像および明るい露光画像が捕捉される。動作808を参照されたい。さまざまな実施形態においては、画像(たとえば、暗い露光画像、中間の露光画像、明るい露光画像など)を捕捉することは、画像プロセッサに(たとえば、対応するカメラレンズなどを通して視認されるような)画像を処理させることを含んでもよく、および/または、それ以外の場合には、何らかの態様で一時的に画像を記憶してもよい。当然、他の実施形態においては、捕捉を行う場合、光(たとえば、RGB光など)を検出し得るフォトダイオード、(たとえば、光などの強度を格納するための)バイアス電圧もしくはコンデンサ、および/または、光の強度を受取って格納するのに必要な他のいずれかの回路を含み得る。他の実施形態においては、フォトダイオードによって、(たとえば、露光時間などに関連付けられる)入射光強度に比例する速度でコンデンサを充電または放電してもよい。
加えて、一実施形態においては、結合されたHDR画像は、暗い露光画像、中間の露光画像および明るい露光画像に基づいて生成されてもよい。動作810を参照されたい。さまざまな実施形態においては、結合されたHDR画像は、図7における結合されたHDR画素744と一致する態様で生成されてもよい。さらに、一実施形態においては、出力HDR画像は、結合されたHDR画素744を含む結合されたHDR画像および効果関数に基づいて生成されてもよい。動作812を参照されたい。さまざまな実施形態においては、出力HDR画像は、図7における出力HDR画素746と一致する態様で生成されてもよい。
図9は、別の実施形態に係る、結合されたHDR画素および効果関数に基づいてHDR画素を生成するための方法900を示す。選択肢として、方法900は、いずれかの図面の詳細についての文脈において実現され得る。しかしながら、当然、方法900は所望の如何なる環境においても実行され得る。さらに、上述の定義は、以下の記載に同様に適用され得る。
一実施形態においては、中間露光パラメータが中間の露光画像のために評価されてもよい。動作902を参照されたい。さまざまな実施形態においては、中間露光パラメータは、ISO、露光時間、露光値、アパーチャ、および/または、捕捉時間に影響を与える可能性のある他の任意のパラメータを含み得る。一実施形態においては、捕捉時間は、対応するカメラレンズによって示される光学情報に画像センサが晒される時間の量を含み得る。一実施形態においては、中間露光パラメータを評価することは画像を計測することを含み得る。たとえば、さまざまな実施形態においては、レンズの視界内おける光の輝度が決定され得る。さらに、画像の計測は、スポット計測(たとえば、狭い区域のカバレッジなど)、平均計測(たとえば、全体写真全体にわたる計測など)、マルチパターン計測(たとえば、マトリックス計測、セグメント化された計測など)、および/または、他の任意のタイプの計測システムを含み得る。画像の計測は、画像センサから利用可能となるよりも低い解像度を含む如何なる解像度で実行されてもよく、これにより、結果として、計測のレイテンシがより高速となる可能性がある。加えて、一実施形態においては、中間の露光画像のための計測には、EV0における画像が含まれ得る。しかしながら、当然、他の実施形態においては、計測には、如何なるシャッター絞りおよび/または露光値での画像も含まれ得る。
図示のとおり、一実施形態においては、アナログ画像は、中間露光パラメータに基づいて画像センサ内に捕捉されてもよい。動作904を参照されたい。さまざまな実施形態においては、アナログ画像を捕捉することは、画像センサに(たとえば、対応するカメラレンズなどを通して視認されるような)画像を委託することを含んでもよく、および/または、それ以外の場合には、何らかの態様で一時的に画像を記憶してもよい。当然、他の実施形態においては、捕捉には、光(たとえば、RGB光など)を検出し得るフォトダイオード、(たとえば、光などの強度を格納するための)バイアス電圧もしくはコンデンサ、および/または、光の強度を受取って格納するのに必要な他のいずれかの回路を含み得る。他の実施形態においては、フォトダイオードによって、(たとえば、露光時間などに関連付けられる)入射光強度に比例する速度でコンデンサを充電または放電してもよい。
加えて、一実施形態においては、中間の露光画像はアナログ画像に基づいて生成されてもよい。動作906を参照されたい。加えて、暗い露光画像はアナログ画像に基づいて生成されてもよく(動作908を参照)、より明るい露光画像はアナログ画像に基づいて生成されてもよい(動作910を参照)。さまざまな実施形態においては、露光画像(たとえば、中間、暗い、明るいなど)を生成することは、ISOまたはフィルム速度をアナログ画像に適用することを含み得る。当然、別の実施形態においては、光に対するアナログ画像の感度を変更し得る如何なる機能が適用されてもよい。一実施形態においては、複数の画像(たとえば、中間の露光画像、暗い露光画像、明るい露光画像など)を生成するために、同じアナログ画像が繰り返しサンプリングされてもよい。たとえば、一実施形態においては、回路内に蓄えられた電流が複数回使用されてもよい。
加えて、一実施形態においては、結合されたHDR画像は、暗い露光画像、中間の露光画像および明るい露光画像に基づいて生成され得る。動作912を参照されたい。さまざまな実施形態においては、結合されたHDR画像は、図7における結合されたHDR画素744と一致する態様で生成されてもよい。さらに、一実施形態においては、出力HDR画像は、結合されたHDR画像および効果関数に基づいて生成され得る。動作914を参照されたい。さまざまな実施形態においては、出力HDR画像は、図7における出力HDR画素746と一致する態様で生成されてもよい。
図10Aは、別の実施形態に係る表面図1000を示す。選択肢として、表面図1000は、いずれかの図面の詳細についての文脈において実現され得る。しかしながら、当然、表面図1000は所望の如何なる環境においても実行され得る。さらに、上述の定義は、以下の記載に同様に適用され得る。
一実施形態においては、表面図1000は、2つの画素についての2つの画素属性に基づいて、2つの画素についての混合値を決定するために式2に関連付けられた表面を示す。図示のとおり、表面図1000は、x軸1002、y軸1004およびz軸1006を有する単位立方体内に例示される。式2において記載されたように、変数「x」は、第1の(たとえば、より暗い)画素についての属性に関連付けられ、変数「y」は、第2の(たとえば、より明るい)画素についての属性に関連付けられている。たとえば、各々の属性は、単位立方体のそれぞれのx軸およびy軸に沿って0〜1にわたる範囲の強度値を表わし得る。第1の画素についての属性が図5の画素属性556に対応し得るとともに、第2の画素についての属性が画素属性555に対応し得る。式2において記載されたように、変数「z」は、HDR画素559などのHDR画素を2つの画素から生成するための混合値558などの混合値に関連付けられている。0という混合値(たとえば、z=0)は、結果として、第1の画素と実質的に同一のHDR画素をもたらし得るのに対して、1という混合値(たとえば、z=1)は、結果として、第2の画素と実質的に同一のHDR画素をもたらし得る。
図示のとおり、表面図1000は、平坦領域1014、遷移領域1010および飽和領域1012を含む。遷移領域1010は、x閾値未満のx値とy閾値未満のy値とに関連付けられている。遷移領域1010は、概して、単調に増大する対応するx値およびy値に対して、単調に増大するz値を有するものとして特徴付けられる。平坦領域1014は、x閾値よりも大きいx値に関連付けられている。平坦領域1014は、対応するx値およびy値とは無関係に実質的に一定のz値を有するものとして特徴付けられる。飽和領域1012は、x閾値よりも小さくy閾値よりも大きいx値に関連付けられている。飽和領域1012は、対応するx値の関数であるとともにy値とは比較的無関係であるz値を有するものとして特徴付けられる。たとえば、x=x1であれば、線1015は、遷移領域1010を通って単調に増加するzを示し、さらに、飽和領域1012内において実質的に一定のままであるzを示す。一実施形態においては、混合値表面564が、表面図1000を実現する。別の実施形態においては、図7の非線形混合関数732が表面図1000を実現する。さらに別の実施形態においては、図7の非線形混合関数734が表面図1000を実現する。
図10Bは別の実施形態に係る表面図1008を示す。選択肢として、表面図1008は、いずれかの図面の詳細についての文脈において実現され得る。しかしながら、当然、表面図1008は所望の如何なる環境においても実現され得る。さらに、上述の定義は、以下の記載に同様に適用され得る。
一実施形態においては、表面図1008は、図10Aの表面図1000とは別個の図(たとえば、上から下へ見下ろす図など)を提示する。加えて、図10Aに関する説明は、図10Bにも同様に適用され得る。
図11Aは別の実施形態に係る表面図1100を示す。選択肢として、表面図1100は、いずれかの図面の詳細についての文脈において実現され得る。しかしながら、当然、表面図1100は所望の如何なる環境においても実現され得る。さらに、上述の定義は、以下の記載に同様に適用され得る。
一実施形態においては、表面図1100は、2つの画素についての2つの画素属性に基づいて、2つの画素についての混合値を決定するための式3に関連付けられた表面を示している。式3において記載されたように、変数「x」は、第1の(たとえば、より暗い)画素についての属性に関連付けられており、変数「y」は、第2の(たとえば、より明るい)画素についての属性に関連付けられている。平坦領域1114は、全般的な特徴が図10Aの平坦領域1014に対応していてもよい。遷移領域1110は、全般的な特徴が遷移領域1010に対応していてもよい。飽和領域1112は、全般的な特徴が飽和領域1012に対応していてもよい。表面図1100の各々の領域は、全般的な特徴が、表面図1000についての類似する領域に対応しているとともに、対応する領域の寸法は、表面図1100と表面図1000との間で異なっている可能性がある。たとえば、表面図1100に関連付けられたx閾値は、表面図1000に関連付けられたx閾値よりも大きく、これにより、概してより小さな平坦領域1114が得られることとなる。図示のとおり、表面図1100は、平坦領域1114、遷移領域1110および飽和領域1112を含み得る。
図11Bは別の実施形態に係る表面図1102を示す。選択肢として、表面図1102は、いずれかの図面の詳細についての文脈において実現され得る。しかしながら、当然、表面図1102は所望の如何なる環境においても実現され得る。さらに、上述の定義は、以下の記載に同様に適用され得る。
一実施形態においては、表面図1102は、図11Aの表面図1100とは別個の図(たとえば、上から下へ見下ろす図など)を提示する。加えて、さまざまな実施形態においては、図11Aおよび図10Aに関する説明は、図11Bにも同様に適用され得る。
図12は別の実施形態に係るレベルマッピング関数である。選択肢として、レベルマッピング関数1200は、いずれかの図面の詳細についての文脈において実現され得る。しかしながら、当然、レベルマッピング関数1200は所望の如何なる環境においても実行され得る。さらに、上述の定義は、以下の記載に同様に適用され得る。
さまざまな実施形態においては、レベルマッピング関数1200が、入力範囲1210を出力範囲1220にマッピングする。より具体的には、白色点1216が出力範囲1220における新しい白色点にマッピングされ得るとともに、中間点1214が出力範囲1220における新しい中間点にマッピングされ得るとともに、黒色点1212が出力範囲1220における新しい黒色点にマッピングされ得る。一実施形態においては、入力範囲1210は入力画像に関連付けられてもよく、出力範囲1220はマップされた画像に関連付けられてもよい。一実施形態においては、レベルマッピングは、黒色点、白色点、中点、中間点または他の任意のマッピング関数に基づいた画像の強度レベルの調整を含み得る。
いくつかの実施形態においては、白色点、中間点、黒色点またはその如何なる組合せも、対応する点の自動的な検出に基づいてまたはユーザによって手動でマッピングされてもよい。たとえば、一実施形態においては、入力画像におけるオブジェクトが、オブジェクト認識などによって黒色点(または白色点、中間点など)と一致することが判断され得る。たとえば、ロゴが画像内に存在し、このため、特定されたオブジェクトに基づいて色点(たとえば、白、中間、黒など)を設定することが判断され得る。他の実施形態においては、自動設定は、カメラデバイスに関連付けられた1つ以上の設定に関連付けられてもよい。たとえば、いくつかの実施形態においては、カメラデバイスは、1つ以上の設定の組をレベルマッピングに少なくとも部分的に適用することによって、レンズ不備、プロセッサ不備、および/またはカメラデバイスに関連付けられた他の不備の補正を行い得る。
図13は別の実施形態に係るレベルマッピング関数1300を示す。選択肢として、レベルマッピング関数1300は、いずれかの図面の詳細についての文脈において実現され得る。しかしながら、当然、レベルマッピング関数1300は所望の如何なる環境においても実行され得る。さらに、上述の定義は、以下の記載に同様に適用され得る。
一実施形態においては、ヒストグラム1302は、図12の入力画像に関連付けられてもよい。いくつかの実施形態においては、ヒストグラム1302は、黒色点1312および白色点1316を特定するための統計を含み得る。図12に関連付けて示されるように、色点(たとえば、黒、白など)の設定は、ユーザ入力(または別の手入力など)に基づいてもよく、または自動設定に基づいてもよい。
新しい黒色点および新しい白色点の設定に基づいて、新しくマップされた画像が入力画像から作成されてもよい。マップされた画像は、新しいヒストグラム1304に関連付けられていてもよい。一実施形態においては、入力画像に新しいレベルマッピングを適用した後、新しいレベルマッピングが(たとえば、ヒストグラムなどで視覚化されるように)必要に応じてさらに修正され得る。たとえば、一実施形態においては、黒色点および白色点が(たとえば、最適化された設定などに基づいて)自動的に選択され得る。黒色点および白色点を適用した後、ユーザは、黒色点または白色点をさらに改良する(またはリセットする)ことを所望するかもしれない。当然、このような実施形態においては、いずれの色点もユーザによって設定され得る。
一実施形態においては、白色点(または任意の色点など)はユーザによって直接制御されてもよい。たとえば、白色点(または任意の色点など)に関連付けられるスライダが、直接、画素または画像の白色点を制御してもよい。別の実施形態においては、画像に関連付けられたスライダは、結果として生じる画素または画像を最適化するために、黒色点および白色点(または任意の色点など)の両方に対する自動調整を含むいくつかの設定を制御し得る。
図14は別の実施形態に係る画像合成動作1400を示す。選択肢として、画像合成動作1400は、いずれかの図面の詳細についての文脈において実現され得る。しかしながら、当然、画像合成動作1400は所望の如何なる環境においても実行され得る。さらに、上述の定義は、以下の記載に同様に適用され得る。
図示のとおり、画像合成動作1400を含む画像ブレンド演算1440は、本発明の一実施形態に従って、画像スタック1402から合成画像1450を生成し得る。加えて、さまざまな実施形態においては、画像スタック1402は、高輝度領域1420および低輝度領域1422を含み得るシーンの画像1410、1412および1414を含み得る。このような実施形態においては、中間の露光画像1412が全体的なシーン輝度に従って露光され、これにより、シーン詳細を概ね捕捉する。
別の実施形態においては、中間の露光画像1412はまた、場合によっては、高輝度領域1420内における何らかの詳細と低輝度領域1422内における何らかの詳細とを捕捉し得る。加えて、暗い露光画像1410は、高輝度領域1420内における画像詳細を捕捉するために、露光され得る。一実施形態においては、シーン内における高輝度詳細を捕捉するために、画像1410が、中間の露光画像1412からオフセットされた露光に従って露光され得る。
別個の実施形態においては、暗い露光画像1410は、シーンにおいて最も明るい領域のうち1つ以上についての局所的な強度条件に従って露光され得る。このような実施形態においては、暗い露光画像1410は、全体的な輝度がより低いシーンにおける他の領域を除外して、高輝度領域1420に従って露光され得る。同様に、低輝度領域1422内における画像詳細を捕捉するために、明るい露光画像1414が露光される。加えて、一実施形態においては、シーン内における低輝度詳細を捕捉するために、明るい露光画像1414が、中間の露光画像1412からオフセットされた露光に従って露光され得る。代替的には、明るい露光画像1414は、シーンの最も暗い領域のうち1つ以上の領域についての局所的な強度条件に従って露光されてもよい。
図示のとおり、一実施形態においては、画像ブレンド演算1440は、画像スタック1402から合成画像1450を生成し得る。加えて、別の実施形態においては、合成画像1450は、高輝度領域1420および低輝度領域1422からの画像詳細だけでなく、全体的な画像詳細を含み得る。さらに、別の実施形態においては、画像ブレンド演算1440は、画像スタックをブレンドするための技術的に実現可能な如何なる動作を実現してもよい。たとえば、一実施形態においては、画像ブレンド演算1440を実行するために、双方向フィルタリング、グローバルレンジの圧縮およびブレンド、ローカルレンジの圧縮およびブレンド、ならびに/または、1つ以上の画像をブレンドし得る他の任意の技術を含むがこれらに限定されない任意の高ダイナミックレンジ(HDR)ブレンド技術が実現され得る。一実施形態においては、画像ブレンド演算1440は画素ブレンド演算1442を含む。画素ブレンド演算1442は、画像1410、1412および1414のうち少なくとも2つの画像から受取られた対応する画素についての値に基づいて、合成画像1450内において画素を生成し得る。
一実施形態においては、ブレンド演算を適切に実行するために、画像のすべて(たとえば、暗い露光画像、中間の露光画像、明るい露光画像など)は、各々の画像における視認可能な詳細が各々の画像における同じ位置に位置決めされるように、位置合わせされる必要があるかもしれない。たとえば、各々の画像内の特徴1425は、画像1410、1412、1414をブレンドして合成画像1450を生成する目的で、同じ位置に位置させなければならない。いくつかの実施形態においては、図9の方法900に関連付けて説明されたように、画像1410、1412、1414のうち少なくとも2つの画像が、単一のアナログ画像から生成され、これにより、画像1410、1412、1414をブレンドする前に必要ないずれの位置合わせ処理も実質的に排除される。
図15は、一実施形態に係る、結合画像1520を生成するためのユーザインターフェイス(user interface:UI)システム1500を示す。選択肢として、UIシステム1500は、この明細書中に開示されるいずれかの図面の詳細についての文脈において実現され得る。しかしながら、当然、UIシステム1500は所望の如何なる環境においても実行され得る。さらに、上述の定義は、以下の記載に同様に適用され得る。
一実施形態において、結合画像1520は少なくとも2つの関連したデジタル画像の組合せを含む。一実施形態において、結合画像1520は、第1のデジタル画像および第2のデジタル画像の結合されたレンダリングを含むがこれに限定されない。別の実施形態において、結合画像1520を計算するために用いられるデジタル画像はアナログ信号を少なくとも2つの異なるゲインで増幅することによって生成されてもよく、当該アナログ信号は、画像センサ上に合焦される光学画像に基づいて捕捉される光学シーン情報を含む。さらに別の実施形態において、アナログ信号は、画素単位で、ライン単位で、またはフレーム単位で少なくとも2つの異なるゲインを用いて増幅されてもよい。
一実施形態において、UIシステム1500は、結合画像1520と、トラック1532に沿って動くように構成されたスライダコントロール1530と、各々が表示画像1510内に表示される視覚マーカを含み得る2つ以上の表示点1540とを含むがこれらに限定されない表示画像1510を提示する。
一実施形態において、UIシステム1500はデジタル写真撮影システム300のプロセッサ複合体310内で実行される調整ツールによって生成され、表示画像1510は表示ユニット312上に表示される。一実施形態において、少なくとも2つの関連したデジタル画像などの少なくとも2つのデジタル画像は、結合画像1520を生成するためのソース画像を含む。少なくとも2つのデジタル画像は、NVメモリ316、揮発性メモリ318、メモリサブシステム362またはそれらのいずれかの組合せの内部に存在してもよい。別の実施形態において、UIシステム1500は、ラップトップコンピュータまたはデスクトップコンピュータなどのコンピュータシステム内で実行される調整ツールによって生成される。少なくとも2つのデジタル画像はコンピュータシステムに送信されてもよく、または取付けられたカメラデバイスによって生成されてもよい。さらに別の実施形態において、UIシステム1500はクラウドベースのサーバコンピュータシステムによって生成されてもよく、当該サーバコンピュータシステムは少なくとも2つのデジタル画像をクライアントブラウザにダウンロードしてもよく、当該ブラウザは以下に説明する結合動作を実行してもよい。別の実施形態において、UIシステム1500はクラウドベースのサーバコンピュータシステムによって生成され、当該サーバコンピュータシステムは、モバイルデバイス内のデジタル写真撮影システムから少なくとも2つのデジタル画像を受信し、結合画像1520を生成するのと共に、以下に説明する結合動作を実行してもよい。
スライダコントロール1530は、表示点1540−Aおよび1540−Cに対応する2つの終点同士の間を動くように構成されてもよい。表示点1540−Bなどの1つ以上の表示点が2つの終点同士の間に位置決めされてもよい。各表示点1540は、結合画像1520の特定のバージョン、または少なくとも2つのデジタル画像の特定の組合せと関連付けられてもよい。たとえば、表示点1540−Aは第1のゲインを利用して生成される第1のデジタル画像と関連付けられてもよく、表示点1540−Cは第2のゲインを利用して生成される第2のデジタル画像と関連付けられてもよく、第1のデジタル画像および第2のデジタル画像の両方が、捕捉された単一の写真撮影シーンの同じアナログ信号から生成される。一実施形態において、スライダコントロール1530が表示点1540−Aの真上に位置決めされると、第1のデジタル画像のみが表示画像1510内に結合画像1520として表示されてもよく、同様に、スライダコントロール1530が表示点1540−Cの真上に位置決めされると、第2のデジタル画像のみが表示画像1510内に結合画像1520として表示されてもよい。
一実施形態において、表示点1540−Bは第1のデジタル画像と第2のデジタル画像とのブレンドと関連付けられてもよい。たとえば、スライダコントロール1530が表示点1540−Bに位置決めされると、結合画像1520は第1デジタル画像と第2のデジタル画像とのブレンドであってもよい。一実施形態において、第1のデジタル画像と第2のデジタル画像とのブレンドは、アルファブレンディング、輝度ブレンディング、ダイナミックレンジブレンディング、ならびに/またはトーンマッピングもしくは他の非線形ブレンディングおよびマッピング動作を含んでいてもよい。別の実施形態において、第1のデジタル画像と第2のデジタル画像とのブレンドはいずれも、第1の画像および第2の画像単独のいずれか一方とは異なるより大きいダイナミックレンジまたは他の視覚的特徴を有する新たな画像を提供し得る。ゆえに、第1のデジタル画像と第2のデジタル画像とのブレンドによって、結合画像1520として表示され得るかまたは結合画像1520を生成するために用いられ得る、新たに計算されたHDR画像が提供され得る。この目的で、第1のデジタル信号と第2のデジタル信号とが組合されることによって、HDR画像の少なくとも一部が得られてもよい。さらに、第1のデジタル信号および第2のデジタル信号の一方は、別のデジタル画像またはデジタル信号の少なくとも一部とさらに組合されてもよい。一実施形態において、他方のデジタル画像は別のHDR画像を含んでいてもよい。
一実施形態において、スライダコントロール1530が表示点1540−Aに位置決めされると第1のデジタル画像が結合画像1520として表示され、スライダコントロール1530が表示点1540−Cに位置決めされると第2のデジタル画像が結合画像1520として表示され、さらに、スライダコントロール1530が表示点1540−Bに位置決めされるとブレンド画像が結合画像1520として表示される。そのような実施形態では、スライダコントロール1530が表示点1540−Aと表示点1540−Cとの間に位置決めされると、第1のデジタル画像および第2のデジタル画像について混合(たとえばブレンド)重みが計算されてもよい。第1のデジタル画像について、混合重みは、スライダコントロール1530が表示点1540−Cにあるときに0.0の値を有し、スライダコントロール1530が表示点1540−Aにあるときに1.0の値を有するとして計算されてもよく、混合重み値の範囲はそれぞれ表示点1540−Cと1540−Aとの間に位置する0.0から1.0である。代わりに第2のデジタル画像の混合動作に関して、混合重みは、スライダコントロール1530が表示点1540−Aにあるときに0.0の値を有し、スライダコントロール1530が表示点1540−Cにあるときに1.0の値を有するとして計算されてもよく、混合重み値の範囲はそれぞれ表示点1540−Aと1540−Cとの間に位置する0.0から1.0である。
第1のデジタル画像および第2のデジタル画像の少なくとも一方と関連付けられている少なくとも1つの混合重み値に基づいて、第1のデジタル画像および第2のデジタル画像に混合動作が適用されてもよい。一実施形態において、1.0の混合重みは、1.0の混合重みと関連付けられているデジタル画像に完全な混合重みを与える。このように、ユーザは第1のデジタル画像と第2のデジタル画像とをブレンドしてもよい。この目的で、第1のデジタル信号および第2のデジタル信号はユーザ入力に応じてブレンドされてもよい。たとえば、スライディング標識(indicia)が表示されてもよく、ユーザがスライディング標識を操作したことに応答して第1のデジタル信号および第2のデジタル信号がブレンドされてもよい。
この混合重みおよび混合動作のシステムは、第1のデジタル画像、第2のデジタル画像およびブレンド画像を第1のデジタル画像から第2のデジタル画像への段階的な進行として見るためのUIツールを提供する。一実施形態において、ユーザは、スライダコントロール1530の任意の位置に対応する結合画像1520を保存してもよい。UIシステム1500を実現する調整ツールは、任意の技術的に実行可能なジェスチャまたは技術を介して結合画像1520の保存を指示するコマンドを受信してもよい。たとえば、調整ツールは、結合画像1520によって占められる領域内でユーザがジェスチャを行なうと結合画像1520を保存するように構成されてもよい。または、調整ツールは、ユーザがスライダコントロール1530を押すが移動させない場合に結合画像1520を保存してもよい。別の実現例では、調整ツールは、ユーザが保存コマンドを受信する専用の保存ボタンなどのUI要素(図示せず)を押すことなどによってジェスチャを行なうと結合画像1520を保存してもよい。
この目的で、スライダコントロールを用いて2つ以上のデジタル画像の寄与を求め、結合画像1520などの最終計算画像を生成することができる。当業者は、混合重みおよび混合動作の上記のシステムは、2つ以上の関連画像と関連付けられている2つ以上の表示点を含むように一般化され得ることを認識するであろう。そのような関連画像は、ゼロのフレーム間時間を有し得る、異なる輝度値を有するように同じアナログ信号を用いて生成された任意の数のデジタル画像を含み得るがこれらに限定されない。
さらに、回転ノブなどの、異なる連続位置UIコントロールがスライダ1530の代わりに実現されて、ユーザから混合重み入力または色調整入力が提供されてもよい。
図16は、一実施形態に係る結合画像を生成するための方法1600のフロー図である。選択肢として、方法1600は本明細書に開示されている図面のうちのいずれかの図面の詳細の文脈において実現されてもよい。しかし、当然、方法1600は任意の所望の環境において実行されてもよい。さらに、上述の定義は以下の説明に等しく適用され得る。
方法1600はステップ1610で開始し、プロセッサ複合体310などのプロセッサ複合体内で実行される調整ツールが、図15の文脈において説明した第1のデジタル画像および第2のデジタル画像などの少なくとも2つの関連したソース画像をロードする。ステップ1612において、調整ツールは、図15のスライダコントロール1530などのUIコントロールの位置をデフォルト設定に初期化する。一実施形態において、デフォルト設定は、UIコントロールの値の範囲について、表示点1540−Aなどの終点を含む。別の実施形態において、デフォルト設定は、少なくとも2つの関連したソース画像のうちの1つ以上に基づく計算値を含む。特定の実施形態において、デフォルト設定は、少なくとも第1のデジタル画像および第2のデジタル画像を含む画像オブジェクトと関連してユーザによって予め選択された値に初期化される。
ステップ1614において、調整ツールは、UIコントロールの位置および少なくとも2つの関連したソース画像に基づいて、図15の結合画像1520などの結合画像を生成して表示する。一実施形態において、結合画像を生成することは、図15において先に説明したように少なくとも2つの関連したソース画像同士を混合することを含む。ステップ1616において、調整ツールはユーザ入力を受信する。ユーザ入力は、表示画像1510内の選択ジェスチャまたはクリックジェスチャなどのUIジェスチャを含み得るがこれらに限定されない。ステップ1620においてユーザ入力がUIコントロールの位置を変更した場合は、調整ツールはUIコントロールの位置を変更し、方法はステップ1614に戻る。そうでなければ、方法はステップ1630に進む。
ステップ1630においてユーザ入力が終了コマンドを含んでいない場合は、方法はステップ1640に進み、調整ツールはユーザ入力と関連付けられているコマンドを実行する。一実施形態において、当該コマンドは保存コマンドを含み、調整ツールは次いで、UIコントロールの位置に従って生成される結合画像を保存する。方法は次いでステップ1616に戻る。
ステップ1630に戻って、ユーザ入力が終了コマンドを含んでいる場合は、方法はステップ1690において終わり、調整ツールが終了することによって実行を終わらせる。
要約すると、第1のデジタル画像と第2のデジタル画像とを有益にブレンドする新たなデジタル写真を生成するための技術であって、第1のデジタル画像および第2のデジタル画像の両方が画像センサから受信した単一のアナログ信号に基づいている技術が開示される。第1のデジタル画像は、任意の技術的に実行可能なブレンド技術を実現する機能に基づいて第2のデジタル画像とブレンドされてもよい。調整ツールは、ユーザが関連画像を組合せるためにパラメータの段階的な変化から新たなデジタル信号を選択して保存することを可能にするユーザインターフェイス技術を実現し得る。
開示された実施形態の1つの利点は、デジタル写真が、1回で捕捉された写真撮影シーンを2回以上別々に露光することでユーザ入力に基づいて選択的に生成され得ることである。したがって、ユーザ入力に基づいて生成されるデジタル写真は、いずれの個別の露光よりも大きいダイナミックレンジを有し得る。さらに、ゼロのフレーム間時間で2つ以上の異なる露光を用いてHDR画像を生成するので、モーションアーティファクトなしでHDR画像の迅速な生成が可能となる。
図17Aは、別の実施形態に係る、白色点および黒色点を調整するためのユーザインターフェイス(UI)システム1700を示す。選択肢として、UIシステム1700は、いずれかの図面の詳細についての文脈において実現され得る。しかしながら、当然、UIシステム1700は所望の如何なる環境においても実行され得る。さらに、上述の定義は、以下の記載に同様に適用され得る。
図示のとおり、一実施形態においては、スライダバー1720は、黒色点スライダ1722および白色点スライダ1724を含み得る。さまざまな実施形態においては、白色点スライダおよび黒色点スライダは、ユーザによって所望されるとおりに調整されてもよい。加えて、別の実施形態においては、白色点スライダおよび黒色点は自動的に調整され得る。たとえば、一実施形態においては、黒色点スライダは、画像中で最も暗い検出点と一致し得る。加えて、一実施形態においては、白色点スライダは、画像中で最も明るい検出点と一致し得る。一実施形態においては、黒色点スライダおよび白色点スライダは、各々、図12のレベルマッピング関数1200などにより、結果として生じる画像1712を生成するように入力画像を再度マッピングするための対応する黒色点および白色点を決定し得る。他の実施形態においては、黒色点スライダおよび白色点スライダは、入力範囲1210を出力範囲1220にマッピングするレベルマッピング曲線を曲げるかまたは変形させる可能性がある。図示のとおり、結果として生じる画像1712、スライダバー1720、スライダ1722、1724は、アプリケーションウィンドウ1710内においてレンダリングされ得る。
いくつかの実施形態においては、白色点および黒色点はヒストグラムに基づいていてもよい。たとえば、一実施形態においては、白色点および黒色点は、ヒストグラムに関連付けられた高い百分率閾値および低い百分率閾値を反映してもよい。
一実施形態においては、ユーザは、結果として得られる画像1712の黒色点および白色点を調整するために、白色点スライダおよび黒色点スライダを前後に独立して移動させてもよい。別の実施形態においては、黒色点スライダ1722に接触することにより、ユーザが画像上の特定の点上で黒色点をドラッグ・アンド・ドロップすることが可能になり得る。同様の態様で、白色点スライダ1724に接触することにより、ユーザが、画像上の特定の点上で白色点をドラッグ・アンド・ドロップすることが可能になり得る。当然ながら、他の実施形態においては、ユーザは、ユーザが白色点および黒色点(または他の任意の点)を選択および/または調整し得るような如何なる態様でも、白色点および黒色点(または他の任意の点)と相互に作用し得る。
図17Bは、別の実施形態に係る、白色点、中間点および黒色点を調整するためのユーザインターフェイス(UI)システム1702を示す。選択肢として、UIシステム1702は、いずれかの図面の詳細についての文脈において実現され得る。しかしながら、当然、UIシステム1702は所望の如何なる環境においても実行され得る。さらに、上述の定義は、以下の記載に同様に適用され得る。
図示のとおり、一実施形態においては、スライダバー1720は、白色点スライダ1722、中間点スライダ1723および白色点スライダ1724を含み得る。一実施形態においては、UIシステム1702は、関連付けられたレベル調整機能の範囲内において中間点スライダ1723および対応する中間点レベル調整を付加することで、UIシステム1700と実質的に同様に動作するように構成される。中間点は、ユーザが中間点スライダ1723を移動させることによって手動で、または、たとえば入力画像内における情報に基づいて自動的に、調整され得る。
さらに、さまざまな実施形態において、本明細書に開示された1つ以上の技術は、さまざまな市場および/または製品に適用することができる。たとえば、これらの技術は、スチール写真撮影に関して開示されているが、テレビ、ビデオ・キャプチャ、ウェブ会議(またはライブストリーミング能力)、セキュリティカメラ(たとえば、特徴を特定するためにコントラストを増加する)、自動車(たとえば、運転手支援システム、車載インフォテインメントシステムなど)、および/またはカメラ入力を含む任意の他の製品であってもよい。
上記でさまざまな実施形態を説明してきたが、これらの実施形態は、限定ではなく、単なる例示として提供されることを理解すべきである。したがって、好ましい実施形態の範囲は、上記の例示的な実施形態のいずれによっても限定されるべきではなく、添付の特許請求の範囲およびそれらの等価物によって規定されるべきである。