詳細な説明
用語解説
明画素=対応する暗画素よりも明るい画素。
暗画素=対応する明画素よりも暗い画素。
属性=輝度、彩度、色相、色空間値、明度、RGB色、ルミナンス、またはクロミナンスを含む、画素の特徴。
スカラー=第1の画素属性と第2の画素属性とに基づいて識別された結果。
ブレンド=2つ以上の画素に基づくプロセスであり、2つ以上の画素点の平均を求めること、各画素点に関連する色属性を合計し正規化すること、次に正規化され得るRGBベクトル長を求めること、または、明画素と暗画素とを各々の属性の関数に基づいて組合わせることを含む。
デジタル写真撮影システム=モバイルデバイス、カメラ、タブレット、またはデスクトップコンピュータ。
ワイヤレスモバイルデバイス=デジタルカメラを含むように構成されたスマートフォン、ワイヤレスネットワーク接続性を含むように構成されたデジタルカメラ、現実拡張デバイス、または、デジタルカメラとワイヤレスネットワーク接続性とを含むように構成されたラップトップコンピュータ。
強さ関数または係数=2つ以上の画素に対して演算する関数の範囲を制御するための要素。
イベントタイミング誤差=意図されたイベント発生時間から対応する実際のイベント発生時間までの時間差。
エフェクト機能=輝度、彩度、色相、色空間値、明度、RGB色、ルミナンス、クロミナンス、コントラストレベル関数、曲線関数を変更するための機能、または、フィルタを含む機能であり、フィルタは、パステル画調、水彩画機能、木炭画調、ペン画調、検出されたエッジの輪郭、グレインのもしくはノイズの変更、またはテクスチャの変更を含む。
露光パラメータ=ISO、露光時間、または絞り。
画像スタック=2つ以上の画像。
レベルマッピング=伝達関数に基づく輝度レベルの調整。
アナログ画素データ=各々が連続するアナログ値で表わされる一組の空間的に離散した輝度サンプル。
図1は、可能な一実施形態に従う高ダイナミックレンジ(HDR)画素ストリームを生成するための代表的な方法100を示す。選択肢として、方法100は図面のうちのいずれの図面の文脈でも実行し得る。しかしながら、当然、方法100はいずれの所望の環境でも実行し得る。さらに、上述の定義は以下の説明に等しく適用され得る。
示されているように、動作102において、画素ストリームを受信する。この画素ストリームは、画像センサの複数の画素のうちの1画素当たり少なくとも2つの露光を含む。一実施形態において、画素ストリームは画像センサから直接受信してもよい。別の実施形態において、画素ストリームはコントローラから受信してもよい。このコントローラは最初に画像センサから画素ストリームを受信する。さらに別の実施形態において、画素ストリームは、画像センサによって生成された画素ストリームを最初に受信し得るカメラモジュールまたは他のハードウェアコンポーネントから受信してもよい。
上記画素ストリームは、画像センサの複数の画素のうちの1画素当たり少なくとも2つの露光を含む。一実施形態において、この画素ストリームは、画像センサの画素に関連付けられたデジタル画素データのシーケンスを含む。デジタル画素データのシーケンスは、画素ごとに、明度、輝度、色等の画素属性を表わす値を含み得る。所与の画素の各露光はそれぞれ、露光各々が固有の属性値を含むように、明度等の所与の属性に関する異なる値に関連付けられていてもよい。たとえば、一実施形態において、所与の画素の第1の露光に関する画素データは第1の属性値を含み得るものであり、この画素の第3の露光に関する画素データは第1の値と異なる第3の属性値を含み得るものであり、この画素の第2の露光に関する画素データは第1の値と第3の値との間の第2の値を含み得るものである。一実施形態において、各値は明度値を含み得る。
さらに、この画素ストリームは、画素ごとに少なくとも2つの単位のデジタル画素データを含み得る。デジタル画素データの各単位はそれぞれ異なる露光に関連付けられている。さらに、ある画素の第1の単位のデジタル画素データは第1の組のデジタル画素データに関連付けられていてもよく、この画素の第2の単位のデジタル画素データは第2の組のデジタル画素データに関連付けられていてもよい。このような実施形態において、各組のデジタル画素データはデジタル画像の少なくとも一部分に関連付けられていてもよい。たとえば、第1の組のデジタル画素データは第1のデジタル画像に関連付けられていてもよく、第2の組のデジタル画素データは第2のデジタル画像に関連付けられていてもよい。
一実施形態において、各組のデジタル画素データは、画像センサに投影した撮影シーンの光学画像を表わしていてもよい。たとえば、画素ストリームにおける第1の組のデジタル画素データは、画像センサに投影した光学画像の第1の露光を表わしていてもよく、この画素ストリームにおける第2の組のデジタル画素データは、上記画像センサに投影した光学画像の第2の露光を表わしていてもよい。
そのために、画素ストリームは2組のデジタル画素データを含んでいてもよく、各組は、異なる露光における画像センサの所与の画素に関する、対応する1単位のデジタル画素データを含む。この画素ストリームは、同一の撮影シーン画像の2つの異なる露光に関するデジタル画素データを含む。
一実施形態において、画素ストリームは、第2の組のデジタル画素データとインタリーブされた第1の組のデジタル画素データを含み得る。たとえば、画素ストリームは、第1列の画素に関する第1のデジタル画素データを含み、次に、第1列の画素に関する第2のデジタル画素データを含み、次に、第2列の画素に関する第1のデジタル画素データを含み、次に第2列の画素に関する第2のデジタル画素データを含み、以降同様にデジタル画素データを含み得る。当然ながら、画素ストリームは何らかのやり方でインタリーブされた2つ以上の組のデジタル画素データを含み得る。さらに、画素ストリームは、インタリーブされないやり方で組織された2つ以上の組のデジタル画素データを含み得る。
一実施形態において、上記少なくとも2つの露光は同一の撮影シーンの露光であってもよい。たとえば、上記少なくとも2つの露光は、同一の撮影シーンの明露光と暗露光とを含み得る。別の例として、上記少なくとも2つの露光は、同一の撮影シーンの、明露光、暗露光、および中間露光各々を含み得る。中間露光は、暗露光よりも明るいが明露光よりも暗い露光であってもよい。一実施形態において、露光の明るさは、1つ以上の露光時間を用いて制御し得る。別の実施形態において、露光の明るさは1つ以上のゲインまたは1つ以上のISO値を用いて制御し得る。当然ながら、各露光の明るさは、技術的に可能であればいずれの技術でも制御し得る。
一実施形態において、画像センサは二次元格子またはアレイに配置された複数の画素を含み得る。さらに、これらの画素は各々1つ以上のセルを含み得る。各セルは1つ以上のフォトダイオードを含む。1つ以上の制御信号によって制御されて、画像センサの各セルは、そのフォトダイオードに投影された入射光の量を測定またはサンプリングしサンプリングした入射光を表わすアナログ値を記憶し得る。一実施形態において、ある画素の1つ以上のセルに記憶されたアナログ値は、アナログ信号として出力されてもよい。このアナログ信号はその後増幅されおよび/または2つ以上のデジタル信号に変換されてもよい。各デジタル信号はそれぞれ異なる有効露光量に関連付けられていてもよい。アナログ画素データは、1つ以上の所定の画素に関連付けられたアナログ信号値であってもよい。
別の実施形態において、画素の各セルは2つ以上のアナログ値を記憶し得る。各アナログ値はそれぞれ異なるサンプリング期間の入射光の露光をサンプリングすることによって得られる。画素の1つ以上のセルに記憶されたアナログ値は2つ以上のアナログ信号として出力されてもよく、これらのアナログ信号はその後増幅されおよび/または2つ以上のデジタル信号に変換されてもよく、各デジタル信号はそれぞれ異なる有効露光量に関連付けられていてもよい。
そのために、1つ以上のデジタル信号は、画像センサの複数の画素からの1画素当たり少なくとも2つの露光を含む画素ストリームを含み得る。
さらに、動作104において、受信した画素ストリームに対してHDRブレンドを実施することにより高ダイナミックレンジ(HDR)画素ストリームを生成する。一実施形態において、受信した画素ストリームのHDRブレンドにより、画像センサの複数の画素のうちの画素ごとにHDR画素を生成してもよく、HDR画素は上記画素の少なくとも2つの露光に基づき得る。たとえば、HDRブレンド動作は、入力として、画像センサの画素の少なくとも2つの露光を受けてもよく、その後、上記画素の少なくとも2つの露光をブレンドすることによりHDR画素を生成してもよい。特定の実施形態において、上記画素の少なくとも2つの露光のブレンドは、混合動作を含み得る。一実施形態において、所与の画素について生成されたHDR画素は、HDR画素ストリームとして出力されてもよく、このHDR画素ストリームはまた、所与の画素の近隣画素から受けた露光に基づいて生成されたHDR画素を含む。
最後に、動作106において、HDR画素ストリームを出力する。一実施形態において、HDR画素ストリームは、個々のHDR画素のシーケンスとして出力されてもよい。別の実施形態において、HDR画素ストリームはアプリケーションプロセッサに出力されてもよい。そうすると、アプリケーションプロセッサは、HDR画素ストリームの記憶および/または表示を制御してもよい。さらに別の実施形態において、HDR画素ストリームは、HDR画素ストリームの生成に使用された画素ストリームに関連付けて記憶されてもよい。画素ストリームをHDR画素ストリームに関連付けて記憶することにより、その後の画素ストリームを取出し易くすることができる。
図2は、一実施形態に従うHDR画素ストリームを生成するためのシステム200を示す。選択肢として、システム200は図面のうちのいずれの図面の文脈でも実現し得る。しかしながら、当然、システム200はいずれの所望の環境でも実現し得る。さらに、上述の定義は以下の説明に等しく適用され得る。
図2に示されるように、システム200は、画素ストリーム204を画像センサ202から受ける高ダイナミックレンジ(HDR)ブレンド回路206を含む。さらに、示されているHDRブレンド回路206はHDR画素ストリーム208を出力する。
一実施形態において、画像センサ202は、相補型金属酸化膜半導体(CMOS)画像センサ、または電荷結合素子(CCD)画像センサ、または他の技術的に可能な形態の画像センサを含み得る。別の実施形態において、画像センサ202は、画像センサ202の表面上の二次元アレイまたは平面に配置された複数の画素を含み得る。
別の実施形態において、画像センサ202に光学画像が投影された結果、複数のアナログ値がアナログ信号として記憶および出力されてもよい。このアナログ信号は、画像センサの画素ごとに少なくとも1つのアナログ値を含む。このアナログ信号を、2つ以上のゲインを用いて増幅することによって2つ以上の増幅されたアナログ信号を生成してもよい。このような実施形態では、次に、増幅された各アナログ信号に基づいてデジタル信号が生成されることで、2つ以上のデジタル信号が生成されてもよい。さまざまな実施形態において、上記2つ以上のデジタル信号は画素ストリーム204を含み得る。
さらに別の実施形態において、第1の組のアナログ値は、画像センサの画素ごとに少なくとも1つのアナログ値を含む第1のアナログ信号として出力されてもよく、第2の組のアナログ値は、画像センサの画素ごとに少なくとも1つのアナログ値を含む第2のアナログ信号として出力されてもよい。このような実施形態において、各アナログ信号はその後処理され1つ以上のデジタル信号に変換され結果として2つ以上のデジタル信号が生成されてもよい。さまざまな実施形態において、上記2つ以上のデジタル信号は画素ストリーム204を含み得る。
したがって、一実施形態において、画像センサ202によって生成された画素ストリーム204は、画像センサ202に投影された光学画像の少なくとも2つの電子表現を含み得る。さらに、この光学画像の各電子表現は1つ以上のアナログ信号を用いて生成されたデジタル画素データを含み得る。
一実施形態において、HDRブレンド回路206は、画素ストリームを受け受けた画素ストリームの内容に基づいてHDR画素ストリームを生成するように動作可能なハードウェアコンポーネントまたは回路を含み得る。先に述べたように、画素ストリームはデジタル画素データの複数のインスタンスを含み得る。たとえば、画素ストリームは、撮影シーンの第1の露光からの第1のデジタル画素データと、この撮影シーンの第2の露光からの第2のデジタル画素データとを含み得る。第1の露光および第2の露光は、露光またはサンプリングタイミング、ゲインの適用もしくは増幅、または、撮影シーンの第1の露光と第1の露光と異なる撮影シーンの第2の露光を得ることができるその他の露光パラメータに基づいて、変化し得る。
加えて、HDRブレンド回路206は、HDR画素ストリーム208を生成するように機能し得るブレンド動作を画素ストリーム204に対して実施し得る。一実施形態において、HDRブレンド回路206のブレンド動作は、画像センサ202の画素から受けた2つの露光をブレンドすることを含み得る。別の実施形態において、HDRブレンド回路206のブレンド動作は、画像センサ202の画素から受けた3つ以上の露光をブレンドすることを含み得る。
最後に、HDR画素ストリーム208はHDRブレンド回路206から出力される。一実施形態において、HDRブレンド回路206から出力されたHDR画素ストリーム208は1つ以上のHDR画像の1つ以上のHDR画素を含むストリームを含み得る。たとえば、HDR画素ストリーム208は、HDR画像の一部分の、HDR画像全体の、または、HDRビデオの複数のフレーム等の2つ以上のHDR画像のHDR画素を含み得る。
上述の方法がユーザの希望に従って実行されてもされなくてもよいさまざまな随意のアーキテクチャおよび使用に関して、より例示的な情報が以下に記載される。以下の情報は例示目的で記載されており、如何なる意味でも限定的であると解釈されるべきでないことに強く留意すべきである。以下の特徴はいずれも、説明される他の特徴を除外してまたは除外せずに随意に組込まれ得る。
図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は、画素ストリーム520を受信しHDR画素データ545の少なくとも1つのインスタンスをアプリケーションプロセッサ335に出力するブレンド回路501を含む。示されているブレンド回路501は、バッファ531とHDR画素生成器541とを含む。一実施形態において、画素ストリーム520は、図3Gの画像センサ332のような画像センサから受信されてもよい。たとえば、画素ストリーム520は、画像センサ332のインターフェイスから受信されてもよい。別の実施形態において、画素ストリーム520は、図3Gのコントローラ333のようなコントローラから受信されてもよい。たとえば、画素ストリーム520は、コントローラ333のインターフェイスから受信されてもよい。図5のアプリケーションプロセッサ335は図3Gのアプリケーションプロセッサ335と実質的に同一であってもよい。したがって、ブレンド回路501は、画素データ520が画像センサからアプリケーションプロセッサ335に送信されているときに画素データ520を含む信号をインターセプトするように動作してもよい。
図5に示されているように、示されている画素ストリーム520はデジタル画素データ単位521〜526を含む。デジタル画素データ単位521〜526は各々、画像センサの1つ以上の画素に関するデジタル画素データを含み得る。一実施形態において、デジタル画素データ単位521〜526は各々、画像センサの1画素で測定またはサンプリングされた光を表わすデジタル画素データを含み得る。別の実施形態において、デジタル画素データ単位521〜526は各々、画像センサの一列の画素等、画像センサの2つ以上の画素に関するデジタル画素データを含み得る。さらに別の実施形態において、デジタル画素データ単位521〜526は各々、画像センサの画素のフレームに関するデジタル画素データを含み得る。
さまざまな実施形態において、デジタル画素データ単位521〜526は、画像センサの画素、列、またはフレームによってインタリーブされていてもよい。たとえば、一実施形態において、画素ストリーム520は、第1の露光におけるあるシーケンス内の複数の画素に関するデジタル画素データを含み次に第2の露光におけるこのシーケンス内の複数の画素に関するデジタル画素データを含むように、出力されてもよい。このシーケンス内の複数の画素は、画像センサの一列の画素のうちの少なくとも一部を含み得る。別の実施形態において、画素ストリーム520は、1つの画素の異なる露光のシーケンスを含み次に別の画素の異なる露光のシーケンスを含むように出力されてもよい。
一例として、画像センサの複数の画素のうちの1画素当たり2つの露光を画素ストリーム520が含む実施形態において、デジタル画素データ単位521は画像センサの第1の画素に関する第1のデジタル画素データを含み得る。デジタル画素データ単位522は画像センサの第1の画素に関する第2のデジタル画素データを含み得る。デジタル画素データ単位523は画像センサの第2の画素に関する第1のデジタル画素データを含み得る。デジタル画素データ単位524は、画像センサの第2の画素に関する第2のデジタル画素データを含み得る。デジタル画素データ単位525は画像センサの第3の画素に関する第1のデジタル画素データを含み得る。デジタル画素データ単位526は、画像センサの第3の画素に関する第2のデジタル画素データを含み得る。このような例において、デジタル画素データの各組はそれぞれ異なる露光に関連付けられていてもよく、具体的には、第1のデジタル画素データは各々第1の露光に関連付けられ、第2のデジタル画素データは各々第1の露光と異なる第2の露光に関連付けられていてもよい。
別の例として、画素ストリーム520が画像センサの複数の画素のうちの1画素当たり3つの露光を含む実施形態において、デジタル画素データ単位521は画像センサの第1の画素に関する第1のデジタル画素データを含み得る。デジタル画素データ単位522は画像センサの第1の画素に関する第2のデジタル画素データを含み得る。デジタル画素データ単位523は画像センサの第1の画素に関する第3のデジタル画素データを含み得る。デジタル画素データ単位524は画像センサの第2の画素に関する第1のデジタル画素データを含み得る。デジタル画素データ単位525は画像センサの第2の画素に関する第2のデジタル画素データを含み得る。デジタル画素データ単位526は画像センサの第2の画素に関する第3のデジタル画素データを含み得る。このような例において、デジタル画素データの各組はそれぞれ異なる露光に関連付けられていてもよく、具体的には、第1のデジタル画素データは各々第1の露光に関連付けられ、第2のデジタル画素データは各々第1の露光と異なる第2の露光に関連付けられ、第3のデジタル画素データは各々第1の露光および第2の露光と異なる第3の露光に関連付けられていてもよい。
さらに別の例として、画素ストリーム520が画像センサの複数の画素のうちの1画素当たり2つの露光を含みおよび画素ストリーム520が画素のグループによってインタリーブされている実施形態において、デジタル画素データ単位521は画像センサの第1の複数の画素に関する第1デジタル画素データを含み得る。デジタル画素データ単位522は画像センサの第1の複数の画素に関する第2のデジタル画素データを含み得る。デジタル画素データ単位523は画像センサの第2の複数の画素に関する第1のデジタル画素データを含み得る。デジタル画素データ単位524は画像センサの第2の複数の画素に関する第2のデジタル画素データを含み得る。デジタル画素データ単位525は画像センサの第3の複数の画素に関する第1のデジタル画素データを含み得る。デジタル画素データ単位526は画像センサの第3の複数の画素に関する第2のデジタル画素データを含み得る。このような例において、各複数の画素は、以下のように一列の画素を含み得る。すなわち、第1の複数の画素は第1列の画素を含み、第2の複数の画素は第2列の画素を含み、第3の複数の画素は第3列の画素を含み得る。さらに、デジタル画素データの各組は、以下のようにそれぞれ異なる露光に関連付けられていてもよい。すなわち、各第1のデジタル画素データは第1の露光に関連付けられ、各第2のデジタル画素データは第1の露光と異なる第2の露光に関連付けられていてもよい。
さらに別の例として、画素ストリーム520が画像センサの複数の画素のうちの1画素当たり3つの露光を含みおよび画素ストリーム520が画素のグループによってインタリーブされている実施形態において、デジタル画素データ単位521は、画像センサの第1の複数の画素に関する第1のデジタル画素データを含み得る。デジタル画素データ単位522は画像センサの第1の複数の画素に関する第2のデジタル画素データを含み得る。デジタル画素データ単位523は画像センサの第1の複数の画素に関する第3のデジタル画素データを含み得る。デジタル画素データ単位524は画像センサの第2の複数の画素に関する第1のデジタル画素データを含み得る。デジタル画素データ単位525は画像センサの第2の複数の画素に関する第2のデジタル画素データを含み得る。デジタル画素データ単位526は画像センサの第2の複数の画素に関する第3のデジタル画素データを含み得る。このような例において、各複数の画素は、以下のように一列の画素を含み得る。すなわち、第1の複数の画素は第1列の画素を含み、第2の複数の画素は第2の列の画素を含み得る。さらに、デジタル画素データの各組は、以下のようにそれぞれ異なる露光に関連付けられていてもよい。すなわち、各第1のデジタル画素データは第1の露光に関連付けられ、各第2のデジタル画素データは第1の露光と異なる第2の露光に関連付けられ、各第3のデジタル画素データは第1の露光および第2の露光と異なる第3の露光に関連付けられていてもよい。
図5に示されるように、ブレンド回路501のバッファ531は画素ストリーム520を受信するように動作する。一実施形態において、バッファ531は画素ストリームをデインタリーブするように動作する。別の実施形態において、バッファ531は画像センサの特定の画素の各露光を識別するように動作する。たとえば、画像センサの複数の画素のうちの所与の画素について、バッファ531はその画素の少なくとも2つの異なる露光を識別し得る。より具体的には、バッファ531は、第1の単位のデジタル画素データから画素の第1の露光を識別し第2の単位のデジタル画素データから画素の第2の露光を識別してもよい。同様に、1画素当たり3つの露光を含む実施形態において、バッファ531は、第1の単位のデジタル画素データから画素の第1の露光を識別し、第2の単位のデジタル画素データから画素の第2の露光を識別し、第3の単位のデジタル画素データから画素の第3の露光を識別してもよい。そのために、バッファは、画像センサの画素アレイの1つの画素の少なくとも2つの露光を識別し得る。
画素ストリーム520において列がインタリーブされている実施形態において、バッファ531は、同じ列の2つ以上のデジタル画素データ単位を受信してもよい。この場合、各デジタル画素データ単位はそれぞれその列の異なる露光に関連付けられていてもよい。さらに、バッファ531は次にその列の所与の画素の各露光における画素データを識別して選択してもよい。このような実施形態において、所与の画素に関連付けられていない画素データは一時的に記憶されてもよい。さらに、一時的に記憶された画素データは、列の別の所与の画素の複数の露光各々における画素データを識別して選択するために使用されてもよい。この画素データの記憶と画素データの取出しのプロセスは、列の画素ごとに繰返されてもよい。
本明細書で使用される画素に関する画素データは、RGB色空間の赤、緑、および青、または、CMYK色空間のシアン、マゼンタ、イエロー、およびブラック等の、色空間の一組の成分を記述し得る。さらに、色成分各々の輝度は、可変であってもよく、成分ごとに1つ以上の値を用いて記述されてもよい。このように、一実施形態において、ある画素の所与の露光に関する画素データは、所与の露光における画素の色成分に関する1つ以上の値を含み得る。さらに、画素の色成分に関する1つ以上の値を用いて、色に加えて、たとえば、彩度、明度、色相、ルミナンス等の画素のさまざまな属性を計算してもよい。
所与の画素の少なくとも2つの露光を識別した後に、バッファ531は、この所与の画素に関する第1の露光画素データ533と、この所与の画素に関する第2の露光画素データ535と、この所与の画素に関する第3の露光画素データ537とを出力してもよい。図5に示されるように、第1の露光画素データ533、第2の露光画素データ535、および第3の露光画素データ537は各々、バッファ531からHDR画素生成器541に出力される。当然ながら、その他の実施形態において、バッファ531は、この画素の2つの露光のみに関するまたはこの画素の4つ以上の露光に関する画素データをHDR画素生成器541に出力してもよい。
バッファ531は、1つの列の所与の画素の2つ以上の露光の画素データを識別する一方で、その列の残りの画素およびその他の列に関する受信したデジタル画素データをその後の処理のために保存する。たとえば、バッファ531が所与の列に関する第1の画素データとこの所与の列に関する第2の画素データとこの所与の列に関する第3の画素データとを受信し画素データの単位がそれぞれこの所与の列の異なる露光に対応する場合、バッファ531は、受信した画素データ単位各々における第1の画素に関連付けられた画素データの部分を識別するように動作し得る。たとえば、バッファ531は、画素の第1の露光とこの画素の第2の露光とこの画素の第3の露光とを識別してもよい。さらにバッファ531は、受信した画素データの各単位の未選択の画素データを記憶しその後受信した画素データ単位各々の第2の画素に関連する画素データを識別するように動作してもよい。たとえば、バッファ531は、第1の画素に隣接する第2の画素の第1の露光と、第2の画素の第2の露光と、第2の画素の第3の露光とを識別してもよい。そのために、バッファ531は、ある列の画素各々の複数の露光のうちの各露光を識別するように動作してもよい。
再び図5を参照して、示されているバッファ531は、第1の露光画素データ533、第2の露光画素データ535、および第3の露光画素データ537各々をHDR画素生成器541に出力する。上記のように、第1の露光画素データ533、第2の露光画素データ535、および第3の露光画素データ537はそれぞれ、同一画素の異なる露光に関する画素データを含み得る。
一実施形態において、画素の各露光は露光値(EV)を有するものとして特徴付けられてもよい。このような実施形態において、画素の露光は露光値0(EV0)で得られるものとして特徴付けられてもよく、このときのEV0露光は捕捉パラメータの第1の集合を利用して捕捉されるものとして特徴付けられる。このような捕捉パラメータは、ISOもしくは光感度、絞り、シャッタースピードもしくはサンプリング時間、または、制御もしくは変調し得る画像捕捉に関連付けられたその他のパラメータを含み得る。EV0で捕捉されたものとして特徴付けられる画素は、特定のISOと特定のシャッタースピード等の捕捉パラメータの特定の組合わせを用いて捕捉されたものであってもよい。
さらに、画素の別の捕捉またはサンプルの露光は、EV0画素の捕捉パラメータに基づいて選択されてもよい。より具体的には、画素の他の捕捉またはサンプルは、EV0画素の露光との比較において増大されたまたは減じられた露光を有するように選択されてもよい。たとえば、画素の他のサンプルのISO捕捉パラメータは、EV0画素の露光よりも露光が増大されるまたは減じられるように選択されてもよい。またさらに、画素の他のサンプルの露光時間という捕捉パラメータは、露光時間がEV0画素の露光時間よりも増大されるまたは減じられるように選択されてもよい。具体例として、画素の他のサンプルは、EV0画素との比較においてより速いISOと同一の露光時間を用いてまたは同一のISOでより長い露光時間を用いて捕捉されるときには増大された露光で捕捉されてもよい。このような実施形態において、画素の他の捕捉または露光を、EV+露光またはEV+画素と呼ぶことがある。同様に、画素の他のサンプルは、EV0画素との比較においてより遅いISOと同一の露光時間を用いてまたは同一のISOでより短い露光時間を用いて捕捉されるときには減じられた露光で捕捉されてもよい。このような実施形態において、画素の他の捕捉または露光を、EV−露光またはEV−画素と呼ぶことがある。
いくつかの実施形態において、所与の画素の異なる露光は、捕捉動作中にまたは捕捉動作に続いて、画素に関連付けられたISO値に基づいて制御されてもよく、ISO値は、捕捉動作中に画像センサから出力されるアナログ信号に適用し得る1つ以上のゲインにマッピングされてもよい。
他の実施形態において、所与の画素の異なる露光は、画素で同時にまたは並行して発生する2つ以上のサンプリング動作の露光時間を制御することによって得られてもよい。
いくつかの実施形態において、第1の露光画素データ533は所与の画素のEV−露光に関する画素データを含み得る。第2の露光画素データ535はこの画素のEV0露光に関する画素データを含み得る。第3の露光画素データ537はこの画素のEV+露光に関する画素データを含み得る。当然、画素データ533〜537のうちのいずれも画素の露光に関する画素データを含み得る。そのために、示されている同一画素の異なる3つの露光に関する画素データは、図5のバッファ531からHDR画素生成器541に与えられる。
他の実施形態において、HDR画素生成器541は、所与の画素の異なる数の露光を受信し得る。たとえば、一実施形態において、HDR画素生成器541は、所与の画素の2つの露光に関する画素データを受信し得る。選択肢として、このような実施形態において、HDR画素生成器541は、所与の画素のEV−露光とEV0露光に関するデータ、または、所与の画素のEV0露光とEV+露光に関するデータを受信し得る。
第1の露光画素データ533、第2の露光画素データ535、および第3の露光画素データ537各々を受信した後に、HDR画素生成器541は、画素データのこれら3つのインスタンスに対してブレンド動作を実行してHDR画素データ545を出力してもよい。
そのために、HDR画素生成器541は、画像センサの所与の画素の複数の露光からの画素データのみを用いてHDR画素に関するHDR画素データ545を生成するように動作し得る。よって、HDR画素生成器541は、所与の画素の近隣にある画像センサの他の画素の画素データを必要としない。また、HDR画素生成器541は、1つの画素の2つ以上の露光のみを用いて動作を実行し得る。さらに、所与の画素の2つ以上の露光は各々、ゼロまたはほぼゼロのインターフレーム時間を用いる態様で生成されてもよいので、画素の2つ以上の露光を用い、アライメントステップを実行することなくHDR画素を生成し得る。言い換えると、画素ストリーム520は本質的に、ブレンド回路501がHDR画素を生成するのに使用し得る予め整列された画素データを含み得る。
そのために、比較的ローパワーのリソースを用いて、HDR画素のストリームが画素データの入力ストリームに基づいて急速に生成されて出力されてもよい。たとえば、HDR画素のストリームは、画素データのストリームが画像センサから搬送されるときに生成されてもよい。さらに、HDR画素のストリームは、グラフィックス処理装置(GPU)を用いずに生成されてもよい。そうすると、GPUの少なくとも一部をディスエーブルする、または、GPUを他の処理タスクの実行のために使用することができる。このような処理タスクは、HDR画素ストリームに対してヘイズ除去動作またはコントラスト強調を実行することを含み得る。
さらに、HDR画素データ545を出力することに加えて、ブレンド回路501は、第1の受信画素データ543および第2の受信画素データ547も出力し得る。一実施形態において、第1の受信画素データ543は、第1の露光画素データ533、第2の露光画素データ535、および第3の露光画素データ537のうちの1つを含み得る。このような実施形態において、第2の受信画素データ547は、第1の露光画素データ533、第2の露光画素データ535、および第3の露光画素データ537のうちの別の1つを含み得る。
たとえば、第1の受信画素データ543は第1の露光画素データ533を含んでいてもよく、第2の受信画素データ547は第3の露光画素データ537を含んでいてもよい。先に述べたように、第1の露光画素データ533は所与の画素のEV−露光に関する画素データを含んでいてもよく、第3の露光画素データ537はこの所与の画素のEV+露光に関する画素データを含んでいてもよい。よって、このような例では、第1の受信画素データ543は所与の画素のEV−露光に関する画素データを含んでいてもよく、第2の受信画素データ547はこの所与の画素のEV+露光に関する画素データを含んでいてもよい。そのために、HDR画素データ545を出力することに加えて、ブレンド回路501はまた、HDR画素データ545を生成するのに利用される画素データのさまざまなインスタンスを出力し得る。たとえば、ブレンド回路501は、ある画素について、その画素のEV+露光、その画素のEV−露光、およびHDR画素各々を出力し得る。
当然、他の実施形態において、ブレンド回路501は、画素のEV0露光を、次の処理および/または記憶のために画素のEV0露光がHDR画素とともに出力されるように、第1の受信画素データ543または第2の受信画素データ547として出力してもよい。一実施形態において、画素のいずれの出力露光も、HDR画素とともにフラッシュ記憶装置に格納されてもよい。いくつかの実施形態において、HDR画素の生成に使用された画素の1つ以上の露光を保持することが有用であろう。たとえば、HDR画素の生成に使用された画素の1つ以上の露光は、次のHDR処理において非HDR画像を生成するためにまたは他の技術的に可能なやり方で使用されてもよい。
またさらに、第1の画素の複数の露光に関する画素データを用いて生成されたHDR画素データ545を出力した後に、ブレンド回路501は、第2のHDR画素に関する第2のHDR画素データを出力してもよい。この第2のHDR画素データは、HDR画素生成器541によって、第2の画素の複数の露光に関する画素データを用いて生成されてもよい。第2の画素データは第1の画素の近隣画素であってもよい。たとえば、第2の画素は、画像センサの画素のある行または列における第1の画素に隣接していてもよい。またさらに、第2のHDR画素データを出力した後に、ブレンド回路501は第3のHDR画素を出力してもよい。第3のHDR画素は、HDR画素生成器541によって、第3の画素の複数の露光に関する画素データを用いて生成されてもよい。第3の画素は第2の画素の近隣画素であってもよい。たとえば、第3の画素は、画像センサの画素のある行または列における第2の画素に隣接していてもよい。またさらに、第2のHDR画素および第3のHDR画素各々とともに、ブレンド回路501は、第2のHDR画素および第3のHDR画素それぞれの生成に用いられた受信画素データを出力してもよい。
ブレンド回路501は、HDR画像のHDR画素に関する画素データのストリームを出力するように動作し得る。これらのHDR画素は各々画像センサのそれぞれの画素に基づいて生成される。またさらに、各出力HDR画素とともに、この画素の対応する2つ以上の露光に関する画素データも出力されてもよい。よって、HDR画素は、このHDR画素の生成に使用された画素データとともに出力されてもよい。
加えて、ブレンド回路501は画素ストリーム520を受信すると画素ストリーム520の画素データを連続的に処理するように動作し得るので、画素ストリーム520は複数フレーム/秒という速度で画素データを捕捉し送信する画像センサから受信されてもよい。このような実施形態において、デジタル画素データ単位521〜526は、画像センサから出力されたビデオの1フレームの画素または列に関する画素データを含み得る。そのために、ブレンド回路501は、2つ以上の露光におけるビデオのフレームの画素を受信し受信した画素を用いてこのビデオのフレームのHDR画素を生成するように動作し得る。さらに、ブレンド回路501は、2つ以上の露光におけるビデオのフレームの画素を受信し、1つ以上の他のビデオフレームの他のデジタル画素データを画素ストリーム520で受信しつつ、フレームのHDR画素を生成するように動作し得る。一実施形態において、ビデオの第2のフレームの1つ以上の画素は、HDR画素生成器541がビデオの第1のフレームのHDR画素を出力しているときに、バッファ531によってバッファされてもよい。
図5に示されるように、ブレンド回路501は、画像センサとアプリケーションプロセッサ335との間の1つ以上の電気的相互配線に沿って存在する離散要素であってもよい。一実施形態において、画素ストリーム520は、1つの電気的相互配線上のブレンド回路501によって受信されてもよい。他の実施形態において、画素ストリーム520は、2つ以上の電気的相互配線に沿うブレンド回路501によって受信されてもよい。このような実装例により、ブレンド回路501において画素データの複数のインスタンスを同時に受信することができる。一実施形態において、第1の受信画素データ543、第2の受信画素データ547、およびHDR画素データ545は、1つの電気的相互配線に沿ってアプリケーションプロセッサ335に出力されてもよい。他の実施形態において、第1の受信画素データ543、第2の受信画素データ547、およびHDR画素データ545は、2つ以上の電気的相互配線に沿ってアプリケーションプロセッサ335に出力されてもよい。このような実装例により、アプリケーションプロセッサ335で画素データの複数のインスタンスを同時に受信することができる。
そのために、ブレンド回路501は、2つ以上の露光におけるビデオのフレームの画素を受信し受信した画素を用いてこのビデオのフレームのHDR画素を生成するように動作し得る。さらに、ブレンド回路501は、2つ以上の露光におけるビデオのフレームの画素を受信し、1つ以上の他のビデオフレームの他のデジタル画素データを画素ストリーム520で受信しつつ、フレームのHDR画素を生成するように動作し得る。
上記のように、ブレンド回路501は、画素ストリーム520を受信すると、HDR画素のストリームがブレンド回路501から出力されるように、画素ストリーム520の画素データを連続的に処理するように動作し得る。このような実施形態において、第1の受信画素データ543は第1の露光に関連付けられた画素データのストリームに含まれていてもよく、第2の受信画素データ547は第2の露光に関連付けられた画素データのストリームに含まれていてもよい。よって、一実施形態において、HDR画素を出力することに加えて、ブレンド回路501は、HDR画素の生成に使用した画素データの少なくとも1つのストリームを出力し得る。たとえば、ブレンド回路は、HDR画素の生成に使用したEV0画素データのストリーム、HDR画素の生成に使用したEV−画素データのストリーム、および/またはHDR画素の生成に使用したEV+画素データのストリームを出力し得る。
一実施形態において、画素データの複数の組は別々に保存されてもよい。たとえば、EV0画素データのストリームは、ブレンド回路501でHDR画素のストリームを生成するために使用されてもよく、その後、EV0画素のストリームはHDR画素のストリームとは別に保存されてもよい。同様に、EV−またはEV+画素のストリームはHDR画素とは別に格納されてもよい。そのために、格納されたHDR画素のストリームはHDRビデオを含んでいてもよく、格納されたEV0画素のストリームはEV0で捕捉された同じビデオを含んでいてもよく、格納されたEV+またはEV−画素のストリームはEV+またはEV−で捕捉された同じビデオを含んでいてもよい。
別の実施形態において、アプリケーションプロセッサ335は、受信した2つ以上の画素ストリームを用いて残像を生成してもよい。たとえば、アプリケーションプロセッサ335は、HDR画素のストリームをブレンド回路501から受信するとともに受信画素データの1つ以上のストリームをブレンド回路501から受信してもよい。受信画素データの1つ以上のストリームは各々、EV0、EV+、またはEV−画素ストリームを含み得る。アプリケーションプロセッサ335は、受信したHDR画素のストリームをEV0、EV+、またはEV−画素ストリームのうちの1つ以上と比較する比較動作を実行することにより残像を生成してもよい。たとえば、アプリケーションプロセッサ335は、HDR画素ストリーム内の所与の画素をEV0画素ストリーム内の所与の画素と比較することにより、相違またはスケーリング値を生成し、その後、この相違またはスケーリング値を格納してもよい。アプリケーションプロセッサ335は、HDR画素ストリームとEV0画素ストリームとの間の複数の対応する画素に関する複数の相違値またはスケーリング値を生成してもよい。複数の相違値またはスケーリング値は次に残像として記憶されてもよい。当然、EV+、EV0、およびEV−画素ストリームのうちのいずれかとHDR画素ストリームとの比較は、相違値またはスケーリング値の生成に等しく有効に機能する。
さらに、生成された1つ以上の残像はその後HDR画素ストリームに関連付けて記憶されてもよい。このような実施形態において、EV0、EV−、またはEV+画素ストリームのうちの1つ以上が破棄されてもよい。破棄されたEV0、EV−、またはEV+画素ストリームのうちの1つ以上の代わりに残像を記憶すると、使用する記憶空間が少なくなるであろう。たとえば、破棄されたEV−画素ストリームを、その後、関連付けられたHDR画素ストリーム、関連付けられたEV0画素ストリームおよび/または関連付けられたEV+画素ストリームと、破棄されたEV−画素ストリームを用いて、先に生成された残像とともに、再構成してもよい。このような実施形態において、残像の記憶は、EV−画素ストリームの記憶と比較して、必要な記憶容量が実質的に少なくて済むであろう。
別の実施形態において、ブレンド回路はアプリケーションプロセッサ335に含まれていてもよい。特定の実施形態において、ブレンド回路は、コントラスト制限付適応ヒストグラム平坦化(contrast-limited adaptive histogram equalization:CLAHE)等のレベルマッピングを実現するためのヒストグラム累積回路を含む。このような実施形態において、累積回路は、局所レベルマッピングを実行するように機能する累積分布関数(cumulative distribution function:CDF)を生成する。そのために、局所コントラスト強調が、たとえば、CDFに基づいてブレンド回路またはアプリケーションプロセッサ335いずれかによって実現されてもよい。
図6は、一実施形態に従うHDR画素を出力するためのシステム600を示す。選択肢として、システム600は図面のうちのいずれの図面の文脈でも実現し得る。しかしながら、当然、システム600はいずれの所望の環境でも実現し得る。さらに、上述の定義は以下の説明に等しく適用され得る。
示されているように、システム600は非線形混合機能630を含む。一実施形態において、非線形混合機能630は、明画素650と暗画素652とを受けることを含む。一実施形態において、明画素650よび暗画素652は、混合機能666を介してブレンドされ結果としてHDR画素659が生成されてもよい。
一実施形態において、非線形混合機能630は図5のブレンド回路501によって実行されてもよい。たとえば、非線形混合機能630は図5のHDR画素生成器501によって実行されてもよい。一実施形態において、HDR画素生成器501は、2つの画素を受け、これら2つの画素各々の属性を識別し、これら2つの画素の属性に基づいてスカラーまたは混合値を選択した後に、選択したスカラーまたは混合値を用いて混合機能を2つの画素に対して実行するように構成されてもよい。このとき、選択されたスカラーまたは混合値を用いて混合機能を2つの画素に対して実行することにより、HDR画素が生成される。HDR画素はその後HDR画素ストリームにおいて出力されてもよい。
図6の文脈で説明したように、所与の画素からの1つ以上の露光に関する画素データを「画素」と呼ぶ場合がある。たとえば、ある画素の第1の露光からの画素データを第1の画素と呼び、この画素の第2の露光からの画素データを第2の画素と呼び、この画素の第3の露光からの画素データを第3の画素と呼ぶ場合がある。さらに第1の露光、第2の露光、および第3の露光からの画素データを各々、画像センサの同一画素からサンプリングされた他の画素データとの比較において、明画素もしくは明露光画素、中間画素もしくは中間露光画素、または暗画素もしくは暗露光画素を呼ぶ場合がある。たとえば、EV0露光で捕捉された画素データを中間露光画素と呼び、EV−露光で捕捉された画素データを暗露光画素と呼び、EV+露光で捕捉された画素データを明露光画素と呼ぶ場合がある。選択肢として、EV0露光を、同一画素のその他の露光次第で、明画素または暗画素と呼ぶ場合がある。したがって、図6の文脈では、2つ以上の画素をブレンドまたは混合する動作は、2つ以上の露光でサンプリングされた画像センサの1つの画素から取得された画素データをブレンドまたは混合する動作であることが、理解されるはずである。
一実施形態において、混合機能666は、2つの入力値(たとえば、画素など)を組合わせることができる如何なる機能も含み得る。混合機能666は、混合値658に基づいて、明画素650に関連付けられたvec3値と、暗画素652に関連付けられたvec3値とをブレンドすることによって、HDR画素659に関連付けられたvec3値を生成するための線形ブレンド動作を規定し得る。たとえば、混合機能666は、周知のOpenGL混合機能を実現し得る。他の例において、混合機能は、2つの異なる画素に関する値の加重和を正規化すること;入力画素に関連付けられたベクトル(たとえば、RGBなど)を合計して正規化すること;2つの入力画素についての加重平均を計算すること;および/または、明画素と暗画素とを何らかの態様で結合し得る他の任意の機能を適用すること;を含み得る。一実施形態においては、混合値658は、0〜1の範囲であってもよく、混合機能666は、混合値658に基づいて、暗画素652と明画素650とを混合する。別の実施形態においては、混合値658は、0から任意の大きな値までの範囲であるが、混合機能666は、1よりも大きい値を、あたかもこのような値が1に等しいように、混合するように反応するように構成される。さらに、混合値はスカラーであってもよい。
一実施形態において、混合値関数は、2つの多項式の積を含み、強さ係数を含み得る。特定の例においては、混合値関数は、混合値658を生成するように作用する混合値表面664として実現される。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に示されるような表面図に一致し得る。
別の実施形態においては、明画素650が画素属性機能660によって受取られてもよく、暗画素552が画素属性機能662によって受取られてもよい。さまざまな実施形態においては、画素属性機能660および/または662は、入力画素(たとえば、明画素、暗画素など)に関連付けられた属性を決定することができる如何なる機能をも含み得る。たとえば、さまざまな実施形態においては、画素属性機能660および/または662は、輝度、彩度、色相、色空間(たとえば、EGB、YCbCr、YUVなど)、RGBブレンド、明度、RGB色、ルミナンス、クロミナンス、および/または、何らかの態様で画素に関連付けられ得る他の特徴を決定することを含み得る。
画素属性機能660に応じて、明画素650に関連付けられた画素属性655が結果として生じ、混合値表面664などの混合値関数に入力される。加えて、画素属性機能662に応じて、暗画素652に関連付けられた画素属性656が結果として生じ、混合値関数に入力される。
一実施形態においては、所与の混合値関数が表面図に関連付けられてもよい。たとえば、一実施形態においては、x値は、第1の画素属性(または複数の画素属性)に関連付けられた多項式に関連付けられてもよく、y値は、第2の画素属性(または複数の画素属性)に関連付けられた多項式に関連付けられてもよい。さらに、別の実施形態においては、強さ関数は、混合値関数によって計算される混合値をスケーリングするために用いられてもよい。一実施形態において、混合値はスカラーを含み得る。
一実施形態においては、混合値関数によって決定された混合値658が、表面図を具体化する表から選択されてもよい。別の実施形態においては、第1の多項式に関連付けられた第1の値および第2の多項式に関連付けられた第2の値は各々、表から対応する値を選択するために用いられてもよく、2つ以上の値を用いて混合値を補間してもよい。言いかえれば、混合値関数の少なくとも一部は、zの値を決定するために、xおよびyにおいて標識付されている表(たとえばルックアップテーブル)として実現されてもよい。zの各々の値は、表においては直接表わされてもよく、または表を含むサンプル点から補間されてもよい。したがって、スカラーは、生成、選択、および補間のうちの少なくとも1つによって識別されてもよい。
図示のとおり、混合値658は、混合値表面664に起因するものであり、先に述べたように混合機能666に入力される。
HDR画素659は、この明細書中に記載されるさまざまな実施形態に従って、明画素650および暗画素652に基づいて生成され得る。
図7Aは、別の実施形態に係る、HDR画素とエフェクト機能との組合わせに基づいてHDR画素を生成するための方法700を示す。選択肢として、方法700は、図のいずれかの詳細の文脈において実現され得る。しかしながら、当然、方法700は所望の如何なる環境においても実行され得る。さらに、上述の定義は、以下の記載に同様に適用され得る。
図7A〜図7Bの文脈で説明したように、所与の画素からの1つ以上の露光に関する画素データを「画素」と呼ぶ場合がある。たとえば、ある画素の第1の露光からの画素データを第1の画素と呼び、この画素の第2の露光からの画素データを第2の画素と呼び、この画素の第3の露光からの画素データを第3の画素と呼ぶ場合がある。さらに第1の露光、第2の露光、および第3の露光からの画素データを各々、画像センサの同一画素からサンプリングされた他の画素データとの比較において、明画素もしくは明露光画素、中間画素もしくは中間露光画素、または暗画素もしくは暗露光画素を呼ぶ場合がある。たとえば、EV0露光で捕捉された画素データを中間露光画素と呼び、EV−露光で捕捉された画素データを暗露光画素と呼び、EV+露光で捕捉された画素データを明露光画素と呼ぶ場合がある。選択肢として、EV0露光を、同一画素のその他の露光次第で、明画素または暗画素と呼ぶ場合がある。したがって、図7A〜図7Bの文脈では、2つ以上の画素をブレンドまたは混合する動作は、2つ以上の露光でサンプリングされた画像センサの1つの画素から取得された画素データをブレンドまたは混合する動作であることが、理解されるはずである。
図示のとおり、一実施形態においては、中間−明HDR画素が、中間露光画素および明露光画素に基づいて生成され得る。動作702を参照されたい。加えて、中間−暗HDR画素は、中間露光画素および暗露光画素に基づいて生成され得る。動作704を参照されたい。たとえば、一実施形態においては、中間露光画素はEV0露光を含んでもよく、明露光画素はEV+1露光を含んでもよく、中間−明HDR画素は、EV0露光画素とEV+1露光画素とのブレンドであってもよい。当然、明露光画素は、(たとえば、任意の量などが)中間露光値よりも大きい露光を含み得る。
別の実施形態においては、中間露光画素はEV0露光を含んでもよく、暗露光画素はEV−1露光を含んでもよく、中間−暗HDR画素は、EV0露光とEV−1露光との間のブレンドであってもよい。当然、暗露光画素は、(たとえば、任意の量などが)中間露光値よりも小さい露光を含み得る。
図示のとおり、結合されたHDR画素は、中間−明HDR画素および中間−暗HDR画素に基づいて生成され得る。動作706を参照されたい。別の実施形態においては、結合されたHDR画素は、複数の中間−明HDR画素および複数の中間−暗HDR画素に基づいて生成され得る。
別個の実施形態においては、第2の結合されたHDR画素は、結合されたHDR画素および中間−明HDR画素に基づいていてもよく、または、結合されたHDR画素および中間−暗HDR画素に基づいてもよい。さらなる実施形態においては、第3の結合されたHDR画素は、第1の結合されたHDR画素、第2の結合されたHDR画素、中間−明HDR画素、中間−暗HDR画素、および/または、そのいずれかの組合わせに基づいてもよい。
さらに、図示のとおり、出力HDR画素は結合されたHDR画素およびエフェクト機能に基づいて生成されてもよい。動作708を参照されたい。たとえば、一実施形態においては、エフェクト機能は、輝度、彩度、色相、色空間(たとえば、EGB、YCbCr、YUVなど)、RGBブレンド、明度、RGB色、ルミナンス、クロミナンス、コントラスト、属性レベル関数および/または属性曲線関数を変更する機能を含み得る。さらに、エフェクト機能は、パステル画調、水彩画機能、木炭画調、ペン画調、検出されたエッジの輪郭、グレインもしくはノイズの変更、テクスチャの変更、および/または、何らかの態様で出力HDR画素を変更し得る他の任意の修正などを含むがこれらには限定されないフィルタを含み得る。
図7Bは、別の実施形態に係る、HDR画素を出力するためのシステム730を示す。選択肢として、システム730は、図のいずれかの詳細の文脈において実現され得る。しかしながら、当然、システム730は所望の如何なる環境においても実行され得る。さらに、上述の定義は、以下の記載に同様に適用され得る。
一実施形態においては、システム730は画素ブレンド動作731を含み得る。一実施形態においては、画素ブレンド動作731は、非線形混合機能732において、明露光画素710および中間露光画素712を受取ることを含み得る。別の実施形態においては、非線形混合機能732は、図6の非線形混合機能630と一致する態様で動作し得る。別の実施形態においては、画素ブレンド動作731は、非線形混合機能734において暗露光画素714および中間露光画素712を受取ることを含み得る。別の実施形態においては、非線形混合機能734は、図6の要素630と一致する態様で動作し得る。
一実施形態において、画素ブレンド動作731は図5のブレンド回路501によって実行されてもよい。たとえば、画素ブレンド動作731は図5のHDR画素生成器501によって実行されてもよい。一実施形態において、HDR画素生成器501は、3つの画素を受け、これら3つの画素各々の属性を識別し、これら3つの画素の属性に基づいて混合値を選択し、選択した混合値を用いて混合機能を実行することにより、2つの画素を取得した後に、得られた画素を組合わせることによってHDR画素を生成するように構成されてもよい。HDR画素はその後HDR画素ストリームにおいて出力されてもよい。
さまざまな実施形態においては、非線形混合機能732および/または734は、それぞれ、明混合限度720または暗混合限度722から入力を受取り得る。一実施形態においては、明混合限度720および/または暗混合限度722は、自動設定または手動設定を含み得る。たとえば、いくつかの実施形態においては、混合限度は、予め規定された設定(たとえば、最適化された設定など)によって設定され得る。一実施形態においては、各々の混合限度は、混合機能を最適化するように予め規定されていてもよい。別の実施形態においては、手動設定はユーザ入力を受取ることを含んでもよい。たとえば、一実施形態においては、ユーザ入力はスライドするユーザインターフェイス上のスライダ設定と一致していてもよい。各々の混合限度は、式1〜式3に関連付けて上述されたそれぞれの強さ係数に対応し得る。
たとえば、一実施形態においては、混合値関数は、2つの多項式の積を含み得るとともに、強さ係数を含み得る。特定の例においては、混合値関数は、混合値658を生成するように作用する混合値表面664として実現される。
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が、コンバイナ機能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ブレンド、明度、RGB色、ルミナンス、クロミナンス、コントラスト、および/または、曲線関数を変更する機能を含み得る。さらに、エフェクト機能は、パステル画調、水彩画機能、木炭画調、ペン画調、検出されたエッジの輪郭、グレインのもしくはノイズの変更、テクスチャの変更、および/または、結合されたHDR画素を何らかの態様で変更し得る他の任意の修正などを含むがこれらに限定されないフィルタを含み得る。いくつかの実施形態においては、出力HDR画素746は、エフェクト機能738によって生成されてもよい。代替的には、エフェクト機能738は効果を及ぼさないように構成されてもよく、出力HDR画素746は結合されたHDR画素744と同等である。
いくつかの実施形態および代替例においては、結合されたHDR画素744には効果が適用されなくてもよい。エフェクト機能738を通過した後、出力HDR画素746が結果として生じる。
図8は、別の実施形態に係る、結合されたHDR画素とエフェクト機能とに基づいてHDR画素を生成するための方法800を示す。選択肢として、方法800は、図のいずれかの詳細の文脈において実現され得る。しかしながら、当然、方法800は所望の如何なる環境においても実行され得る。さらに、上述の定義は、以下の記載に同様に適用され得る。
一実施形態においては、中間露光パラメータが中間露光画像のために評価され得る。動作802を参照されたい。加えて、暗露光画像について暗露光パラメータが評価され(動作804を参照)、明露光画像について明露光パラメータが評価される(動作806を参照)。
さまざまな実施形態においては、(たとえば、中間露光、暗露光または明露光などに関連付けられた)露光パラメータは、ISO、露光時間、露光値、アパーチャ、および/または、画像取込み時間に影響を与える可能性のある他のパラメータを含み得る。一実施形態においては、取込み時間は、対応するカメラレンズによって示される光学情報に画像センサが晒される時間の量を含み得る。
一実施形態においては、中間露光パラメータ、暗露光パラメータおよび/または明露光パラメータを評価することは、写真撮影シーンに関連付けられた画像を計測することを含み得る。たとえば、さまざまな実施形態においては、レンズの視界内における光の明度が決定され得る。さらに、画像の計測は、スポット計測(たとえば、狭い区域のカバレッジなど)、平均計測(たとえば、全体写真全体にわたる計測など)、マルチパターン計測(たとえば、マトリックス計測、セグメント化された計測など)、および/または、他のタイプの計測システムを含み得る。画像の計測は、画像センサから利用可能となるよりも低い解像度を含む如何なる解像度で実行されてもよく、これにより、結果として、計測のレイテンシがより高速となる可能性がある。
図示のとおり、暗露光画像、中間露光画像および明露光画像が取込まれる。動作808を参照されたい。さまざまな実施形態においては、画像(たとえば、暗露光画像、中間露光画像、明露光画像など)を取込むことは、画像プロセッサに(たとえば、対応するカメラレンズなどを通して視認されるような)画像を委託することを含んでもよく、および/または、それ以外の場合には、何らかの態様で一時的に画像を記憶してもよい。当然、他の実施形態においては、取込みを行う場合、光(たとえば、RGB光など)を検出し得るフォトダイオード、(たとえば、光などの輝度を格納するための)バイアス電圧もしくはコンデンサ、および/または、光の輝度を受取って格納するのに必要な他のいずれかの回路を含み得る。他の実施形態においては、フォトダイオードは、(たとえば、露光時間などに関連付けられる)入射光輝度に比例する速度でコンデンサを充電または放電してもよい。
加えて、一実施形態においては、結合されたHDR画像は、暗露光画像、中間露光画像および明露光画像に基づいて生成されてもよい。動作810を参照されたい。さまざまな実施形態においては、結合されたHDR画像は、図7Bにおける結合されたHDR画素744と一致する態様で生成されてもよい。さらに、一実施形態においては、出力HDR画像は、結合されたHDR画素744およびエフェクト機能を含む結合されたHDR画像に基づいて生成されてもよい。動作812を参照されたい。さまざまな実施形態においては、出力HDR画像は、図7Bにおける出力HDR画素746と一致する態様で生成されてもよい。
図9は、別の実施形態に係る、結合されたHDR画素およびエフェクト機能に基づいてHDR画素を生成するための方法900を示す。選択肢として、方法900は、図のいずれかの詳細の文脈において実現され得る。しかしながら、当然、方法900は所望の如何なる環境においても実行され得る。さらに、上述の定義は、以下の記載に同様に適用され得る。
一実施形態においては、中間露光パラメータが中間露光画像のために評価されてもよい。動作902を参照されたい。さまざまな実施形態においては、中間露光パラメータは、ISO、露光時間、露光値、アパーチャ、および/または、取込み時間に影響を与える可能性のある他の任意のパラメータを含み得る。一実施形態においては、取込み時間は、対応するカメラレンズによって示される光学情報に画像センサが晒される時間の量を含み得る。一実施形態においては、中間露光パラメータを評価することは画像を計測することを含み得る。たとえば、さまざまな実施形態においては、レンズの視界内おける光の明度が決定され得る。さらに、画像の計測は、スポット計測(たとえば、狭い区域のカバレッジなど)、平均計測(たとえば、全体写真全体にわたる計測など)、マルチパターン計測(たとえば、マトリックス計測、セグメント化された計測など)、および/または、他の任意のタイプの計測システムを含み得る。画像の計測は、画像センサから利用可能となるよりも低い解像度を含む如何なる解像度で実行されてもよく、これにより、結果として、計測のレイテンシがより高速となる可能性がある。加えて、一実施形態においては、中間露光画像のための計測には、EV0における画像が含まれ得る。しかしながら、当然、他の実施形態においては、計測には、如何なるシャッター停止および/または露光値での画像も含まれ得る。
図示のとおり、一実施形態においては、アナログ画像は、中間露光パラメータに基づいて画像センサ内に取込まれてもよい。動作904を参照されたい。さまざまな実施形態においては、アナログ画像を取込むことは、画像センサに(たとえば、対応するカメラレンズなどを通して視認されるような)画像を委託することを含んでもよく、および/または、それ以外の場合には、何らかの態様で一時的に画像を記憶してもよい。当然、他の実施形態においては、取込みには、光(たとえば、RGB光など)を検出し得るフォトダイオード、(たとえば、光などの輝度を格納するための)バイアス電圧もしくはコンデンサ、および/または、光の輝度を受取って格納するのに必要な他のいずれかの回路を含み得る。他の実施形態においては、フォトダイオードは、(たとえば、露光時間などに関連付けられる)入射光輝度に比例する速度でコンデンサを充電または放電してもよい。
加えて、一実施形態においては、中間露光画像はアナログ画像に基づいて生成されてもよい。動作906を参照されたい。加えて、暗露光画像はアナログ画像に基づいて生成されてもよく(動作908を参照)、明露光画像はアナログ画像に基づいて生成されてもよい(動作910を参照)。さまざまな実施形態においては、露光画像(たとえば、中間、暗、明など)を生成することは、ISOまたはフィルム速度をアナログ画像に適用することを含み得る。当然、別の実施形態においては、光に対するアナログ画像の感度を変更し得る如何なる機能が適用されてもよい。一実施形態においては、複数の画像(たとえば、中間露光画像、暗露光画像、明露光画像など)を生成するために、同じアナログ画像が繰り返しサンプリングされてもよい。たとえば、一実施形態においては、回路内に蓄えられた電流が複数回読出されてもよい。
加えて、一実施形態においては、結合されたHDR画像は、暗露光画像、中間露光画像および明露光画像に基づいて生成され得る。動作912を参照されたい。さまざまな実施形態においては、結合されたHDR画像は、図7Bにおける結合されたHDR画素744と一致する態様で生成されてもよい。さらに、一実施形態においては、出力HDR画像は、結合されたHDR画像およびエフェクト機能に基づいて生成され得る。動作914を参照されたい。さまざまな実施形態においては、出力HDR画像は、図7Bにおける出力HDR画素746と一致する態様で生成されてもよい。
図10Aは、別の実施形態に係る表面図1000を示す。選択肢として、表面図1000は、図のいずれかの詳細の文脈において実現され得る。しかしながら、当然、表面図1000は所望の如何なる環境においても実行され得る。さらに、上述の定義は、以下の記載に同様に適用され得る。
図10A〜図10Bの文脈で説明したように、所与の画素からの1つ以上の露光に関する画素データを「画素」と呼ぶ場合がある。たとえば、ある画素の第1の露光からの画素データを第1の画素と呼び、この画素の第2の露光からの画素データを第2の画素と呼び、この画素の第3の露光からの画素データを第3の画素と呼ぶ場合がある。さらに第1の露光、第2の露光、および第3の露光からの画素データを各々、画像センサの同一画素からサンプリングされた他の画素データとの比較において、明画素もしくは明露光画素、中間画素もしくは中間露光画素、または暗画素もしくは暗露光画素を呼ぶ場合がある。たとえば、EV0露光で捕捉された画素データを中間露光画素と呼び、EV−露光で捕捉された画素データを暗露光画素と呼び、EV+露光で捕捉された画素データを明露光画素と呼ぶ場合がある。選択肢として、EV0露光を、同一画素のその他の露光次第で、明画素または暗画素と呼ぶ場合がある。したがって、図10A〜図10Bの文脈では、2つ以上の画素をブレンドまたは混合する動作は、2つ以上の露光でサンプリングされた画像センサの1つの画素から取得された画素データをブレンドまたは混合する動作であることが、理解されるはずである。
一実施形態においては、表面図1000は、2つの画素についての2つの画素属性に基づいて、2つの画素についての混合値を決定するために式2に関連付けられた表面を示す。図示のとおり、表面図1000は、x軸1002、y軸1004およびz軸1006を有する単位立方体内に例示される。式2において記載されたように、変数「x」は、第1の(たとえば、暗)画素についての属性に関連付けられ、変数「y」は、第2の(たとえば、明)画素についての属性に関連付けられている。たとえば、各々の属性は、単位立方体のそれぞれのx軸およびy軸に沿って0〜1にわたる範囲の輝度値を表わし得る。第1の画素についての属性が図6の画素属性656に対応し得るとともに、第2の画素についての属性が画素属性655に対応し得る。式2において記載されたように、変数「z」は、HDR画素659などのHDR画素を2つの画素から生成するための混合値658などの混合値に関連付けられている。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を示す。一実施形態においては、混合値表面664が、表面図1000を実現する。別の実施形態においては、図7Bの非線形混合機能732が表面図1000を実現する。さらに別の実施形態においては、図7Bの非線形混合機能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はいずれの所望の環境でも実現し得る。さらに、上述の定義は以下の説明に等しく適用され得る。
図示のとおり、画像合成動作1200を含む画像ブレンド動作1240は、本発明の一実施形態に従って、画像スタック1202から合成画像1250を生成し得る。加えて、さまざまな実施形態においては、画像スタック1202は、高明度領域1220および低明度領域1222を含み得るシーンの画像1210、1212および1214を含み得る。このような実施形態においては、中間露光画像1212が全体的なシーン明度に従って露光され、これにより、シーン詳細を概ね取込む。
別の実施形態においては、中間露光画像1212はまた、場合によっては、高明度領域1220内における何らかの詳細と低明度領域1222内における何らかの詳細とを取込み得る。加えて、暗露光画像1210は、高明度領域1220内における画像詳細を取込むために、露光され得る。一実施形態においては、シーン内における高明度詳細を取込むために、画像1210が、中間露光画像1212からオフセットされた露光に従って露光され得る。
別個の実施形態においては、暗露光画像1210は、シーンにおいて最も明るい領域のうち1つ以上についての局所的な輝度条件に従って露光され得る。このような実施形態においては、暗露光画像1210は、全体的な明度がより低いシーンにおける他の領域を除外して、高明度領域1220に従って露光され得る。同様に、低明度領域1222内における画像詳細を取込むために、明露光画像1214が露光される。加えて、一実施形態においては、シーン内における低明度詳細を取込むために、明露光画像1214が、中間露光画像1212からオフセットされた露光に従って露光され得る。代替的には、明露光画像1214は、シーンの最も暗い領域のうち1つ以上の領域についての局所的な輝度条件に従って露光されてもよい。
図示のとおり、一実施形態においては、画像ブレンド動作1240は、画像スタック1202から合成画像1250を生成し得る。加えて、別の実施形態においては、合成画像1250は、高明度領域1220および低明度領域1222からの画像詳細だけでなく、全体的な画像詳細を含み得る。さらに、別の実施形態においては、画像ブレンド動作1240は、画像スタックをブレンドするための技術的に実現可能な如何なる動作も実現し得る。たとえば、一実施形態においては、画像ブレンド動作1240を実行するために、双方向フィルタリング、グローバルレンジの圧縮およびブレンド、ローカルレンジの圧縮およびブレンド、ならびに/または、1つ以上の画像をブレンドし得る他の任意の技術を含むがこれらに限定されない任意の高ダイナミックレンジ(HDR)ブレンド技術が実現され得る。一実施形態においては、画像ブレンド動作1240は画素ブレンド動作1242を含む。画素ブレンド動作1242は、画像1210、1212および1214のうち少なくとも2つの画像から受取られた対応する画素についての値に基づいて、合成画像1250内の画素を生成し得る。一実施形態において、画素ブレンド動作1242は図7Bの画素ブレンド動作731を含む。さらに、画素ブレンド動作1242は、図5のブレンド回路501等のブレンド回路内で実現し得る。たとえば、合成画像1250は、画像の2つ以上の露光を含む受信画素ストリームに基づいて生成されたHDR画素ストリームの複数のHDR画素を含み得る。
特定の実施形態において、画像1210、1212、1214のうちの少なくとも2つの画像を1つのアナログ画像から生成することにより、画像1210、1212、1214をブレンドする前に必要な如何なるアライメント処理も実質的に排除する。他の実施形態において、画像1210、1212、1214のうちの少なくとも2つの画像を、同時に捕捉またはサンプリングした2つ以上のアナログ画像から生成することにより、画像1210、1212、1214をブレンドする前に必要な如何なるアライメント処理も実質的に排除する。
さらに、さまざまな実施形態において、本明細書に開示された1つ以上の技術は、さまざまな市場および/または製品に適用することができる。たとえば、これらの技術は、スチール写真撮影に関して開示されているが、テレビ、ビデオ・キャプチャ、ウェブ会議(またはライブストリーミング能力)、セキュリティカメラ(たとえば、特徴を特定するためにコントラストを増加する)、自動車(たとえば、運転手支援システム、車載インフォテインメントシステムなど)、および/またはカメラ入力を含む任意の他の製品であってもよい。
上記でさまざまな実施形態を説明してきたが、これらの実施形態は、限定ではなく、単なる例示として提供されることを理解すべきである。したがって、好ましい実施形態の範囲は、上記の例示的な実施形態のいずれによっても限定されるべきではなく、添付の特許請求の範囲およびそれらの均等物によって規定されるべきである。