(57)【要約】  画素データに対して演算を実行するためのシステム、方法およびコンピュータプログラム製品が提供される。使用時、画素データを受信する。次に、回路のハードワイヤード論理素子を利用して、画素データの第１特徴を特定する。さらに、回路のハードワイヤード論理素子を利用して、画素データの第１特徴に関連して演算を実行し、演算結果をフィードバックする。さらに、演算結果が所定の必要条件を満たすまで、演算の実行または演算結果のフィードバックの少なくとも一方を繰り返す。追加のシステム、方法およびコンピュータプログラム製品も開示される。
2018503325.tif 000002
【特許請求の範囲】
【請求項１】
装置であって、
回路を備え、
前記回路は、
ａ）画素データを受信し、
ｂ）前記回路のハードワイヤード論理素子を利用して、前記画素データの第１特徴を特定し、
ｃ）前記回路のハードワイヤード論理素子を利用して、前記画素データの前記第１特徴に関連して演算を実行し、
ｄ）前記演算結果をフィードバックし、
ｅ）前記演算結果が所定の必要条件を満たすまで、ｃ）またはｄ）の少なくとも一方を繰り返すように構成される、装置。
【請求項２】
前記装置は、前記画素データが画像センサから受信されるように動作可能である、請求項１に記載の装置。
【請求項３】
前記演算結果のフィードバックが、前記画像センサ、アナログ−デジタルコンバータ、または前記アナログ−デジタルコンバータのデジタル出力のうち少なくとも１つに前記結果を提供することを含むように、前記装置は動作可能である、請求項２に記載の装置。
【請求項４】
前記第１特徴がホワイトバランス、焦点、露光または輝度のうち少なくとも１つを含むように、前記装置は動作可能である、請求項１に記載の装置。
【請求項５】
前記結果が、前記画素データの露光に関連する正規化素子もしくは加算素子の結果、前記画素データのホワイトバランスに関連する正規化素子もしくは加算素子の結果、前記画素データの焦点に関連する正規化素子もしくは加算素子の結果、または前記画素データの輝度に関連する正規化素子または加算素子の結果のうち少なくとも１つを含むように、前記装置は動作可能である、請求項１に記載の装置。
【請求項６】
前記演算が少なくとも部分的にアプリケーションプロセッサで実行されるように、前記装置は動作可能である、請求項１に記載の装置。
【請求項７】
前記演算が少なくとも部分的にカメラモジュールで実行されるように、前記装置は動作可能である、請求項１に記載の装置。
【請求項８】
前記演算が全てカメラモジュールで実行されるように、前記装置は動作可能である、請求項１に記載の装置。
【請求項９】
前記必要条件が最大値、閾値または範囲のうち少なくとも１つを含むように、前記装置は動作可能である、請求項１に記載の装置。
【請求項１０】
前記必要条件が前記範囲を含み、前記範囲が少なくとも中央値を含むように、前記装置は動作可能である、請求項９に記載の装置。
【請求項１１】
前記必要条件が前記範囲を含み、前記範囲が前記画素データの前記第１特徴に関連する４０％〜６０％の分布を含むように、前記装置は動作可能である、請求項９に記載の装置。
【請求項１２】
前記必要条件が前記範囲を含み、前記範囲が前記画素データの前記第１特徴に関連する特定の設定値を含むように、前記装置は動作可能である、請求項９に記載の装置。
【請求項１３】
目標部位が前記画素データ内の画素領域を含み、前記画素データの前記第１特徴が２つ以上の目標部位を含むように、前記装置は動作可能である、請求項１に記載の装置。
【請求項１４】
前記２つ以上の目標部位が、２つ以上のホワイトバランス点、２つ以上の焦点、２つ以上の露光点、または２つ以上の輝度点のうち少なくとも１つを含むように、前記装置は動作可能である、請求項１３に記載の装置。
【請求項１５】
前記第１特徴がホワイトバランス値に関連付けられ、前記演算結果のフィードバックが前記ホワイトバランス値に基づいて前記画素データを調整することを含むように、前記装置は動作可能である、請求項１に記載の装置。
【請求項１６】
前記回路の前記ハードワイヤード論理素子を利用して、前記調整の全てをカメラモジュール内で実行するように、前記装置は動作可能である、請求項１５に記載の装置。
【請求項１７】
前記第１特徴の特定が、前記画素データに関連する領域の１つ以上の値を加算することと、前記画素データに関連する前記領域の最高点範囲を決定することとを含み、前記演算の実行が、前記画素データに関連する前記領域の最高点範囲に基づいて行われるように、前記装置は動作可能である、請求項１に記載の装置。
【請求項１８】
前記最高点範囲が、前記領域の周波数値の上位１０％を表す前記領域の高周波数値を含むように、前記装置は動作可能である、請求項１７に記載の装置。
【請求項１９】
非一時的なコンピュータ可読媒体上で具体化されたコンピュータプログラム製品であって、
ａ）画素データを受信するためのコードと、
ｂ）回路のハードワイヤード論理素子を利用して、前記画素データの第１特徴を特定するコードと、
ｃ）前記回路のハードワイヤード論理素子を利用して、前記画素データの前記第１特徴に関連して演算を実行するためのコードと、
ｄ）前記演算結果をフィードバックするためのコードと、
ｅ）前記演算結果が所定の必要条件を満たすまで、ｃ）またはｄ）の少なくとも一方を繰り返すためのコードとを含む、コンピュータプログラム製品。
【請求項２０】
ａ）画素データを受信するステップと、
ｂ）回路のハードワイヤード論理素子を利用して、前記画素データの第１特徴を特定するステップと、
ｃ）前記回路のハードワイヤード論理素子を利用して、前記画素データの前記第１特徴に関連して演算を実行するステップと、
ｄ）前記演算結果をフィードバックするステップと、
ｅ）前記演算結果が所定の必要条件を満たすまで、ｃ）またはｄ）の少なくとも一方を繰り返すステップとを含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
本発明は、デジタル撮影システムに関し、より具体的には、画素データに対して演算を実行するためのシステムおよび方法に関する。
【背景技術】
【０００２】
背景
従来のデジタル撮影システムは、本質的に、撮像画像センサのダイナミックレンジによって制限される。そのような制限に対する１つの解決策は、高ダイナミックレンジ（ＨＤＲ）撮影を使用することである。ＨＤＲ撮影は、異なる露光で露出した同一のシーンを複数枚撮影し、撮影した複数枚の写真を合併することによって、より大きなダイナミックレンジを有する画像を作成する。
【０００３】
概要
画素データに対して演算を実行するためのシステム、方法およびコンピュータプログラム製品が提供される。使用時、画素データを受信する。次に、回路のハードワイヤード論理素子を利用して、画素データの第１特徴を特定する。さらに、回路のハードワイヤード論理素子を利用して、画素データの第１特徴に関連して演算を実行し、演算結果をフィードバックする。さらに、演算結果が所定の要件を満たすまで、演算の実行または結果のフィードバックの少なくとも一方を繰り返す。追加のシステム、方法およびコンピュータプログラム製品も開示される。
【発明の概要】
【課題を解決するための手段】
【０００４】
一実施形態において、装置は、回路を備え、回路は、画素データを受信し、回路のハードワイヤード論理素子を利用して、画素データの第１特徴を特定し、回路のハードワイヤード論理素子を利用して、画素データの第１特徴に関連して演算を実行し、演算結果をフィードバックし、演算結果が所定の要件を満たすまで、演算の実行または結果のフィードバックの少なくとも一方を繰り返すように構成される。
【０００５】
別の実施形態において、画素データは、画像センサから受信される。別の実施形態において、演算結果のフィードバックは、演算結果を画像センサおよびアナログ−デジタルコンバータのうち少なくとも１つにまたはアナログ−デジタルコンバータのデジタル出力に提供することを含む。
【０００６】
さらに別の実施形態において、第１特徴は、ホワイトバランス、フォーカス、露光または輝度のうち少なくとも１つを含む。別の実施形態において、演算結果は、画素データのホワイトバランスに関連する正規化素子または加算素子の結果、画素データの焦点に関連する正規化素子または加算素子の結果、または画素データの輝度に関連する正規化素子または加算素子のうち少なくとも１つを含む。
【０００７】
別の実施形態において、演算は、少なくとも部分的にアプリケーションプロセッサで実行される。別の実施形態において、演算は、少なくとも部分的にカメラモジュールで実行される。別の実施形態において、演算は、全てカメラモジュールで実行される。
【０００８】
一実施形態において、要件は、最大値、閾値または範囲のうち少なくとも１つを含む。さらに、別の実施形態において、要件は、範囲を含み、範囲は、少なくとも中央値を含む。別の実施形態において、要件は、範囲を含み、範囲は、画素データの第１特徴に関連する４０％〜６０％の分布を含む。
【０００９】
別の実施形態において、要件は範囲を含み、範囲は画素データの第１特徴に関連する特定の設定値を含む。別の実施形態において、目標部位（Point Of Interest）は、画素データ内の画素領域を含み、画素データの第１特徴は、２つ以上の目標部位を含む。別の実施形態において、２つ以上の目標部位は、２つ以上のホワイトバランス点、２つ以上の焦点、２つ以上の露光点、または２つ以上の輝度点のうち少なくとも１つを含む。
【００１０】
さらに別の実施形態において、第１特徴は、ホワイトバランス値に関連付けられ、ホワイトバランス値に関連付けられ、演算結果のフィードバックは、ホワイトバランス値に基づいて画素データを調整することを含む。別の実施形態において、回路のハードワイヤード論理素子を利用して、カメラモジュール内で全ての調整を実行する。別の実施形態において、第１特徴の特定は、画素データに関連する領域の１つ以上の値を加算することと、画素データに関連する領域の最高点範囲を決定することとを含み、演算の実行は、画素データに関連する領域の最高点範囲に基づいて行われる。別の実施形態において、最高点範囲は、領域の周波数値の上位１０％を表す領域の高周波数値を含む。
【００１１】
一実施形態において、非一時的なコンピュータ可読媒体上で具体化されたコンピュータプログラム製品は、画素データを受信するコードと、画素データの第１特徴を特定するコードと、回路のハードワイヤード論理素子を利用して、画素データの第１特徴を特定するコードと、回路のハードワイヤード論理素子を利用して、画素データの第１特徴に関連して演算を実行するためのコードと、演算結果をフィードバックするためのコードと、演算結果が所定の要件を満たすまで、演算の実行または結果のフィードバックの少なくとも一方を繰り返すためのコードとを含む。
【００１２】
一実施形態において、方法は、画素データを受信するステップと、回路のハードワイヤード論理素子を利用して、画素データの第１特徴を特定するステップと、回路のハードワイヤード論理素子を利用して、画素データの第１特徴に関連して演算を実行するステップと、演算結果をフィードバックするステップと、演算結果が所定の要件を満たすまで、演算の実行または結果のフィードバックの少なくとも一方を繰り返すステップとを含む。
【図面の簡単な説明】
【００１３】
【図１】一可能な実施形態に従って、ハードワイヤード素子を利用して、画素データに対して演算を実行するための例示的なフローチャートを示す図である。
【図２】一実施形態に従って、ハードワイヤード素子を利用して、画素データに対して演算を実行するための例示的な方法を示す図である。
【図３Ａ】一実施形態に従ったデジタル撮影システムを示す図である。
【図３Ｂ】一実施形態に従ったデジタル撮影システム内のプロセッサ複合体を示す図である。
【図３Ｃ】一実施形態に従ったデジタルカメラを示す図である。
【図３Ｄ】別の実施形態に従った無線モバイル装置を示す図である。
【図３Ｅ】一実施形態に従って、画像を撮影するように構成されたカメラモジュールを示す図である。
【図３Ｆ】別の実施形態に従って、画像を撮影するように構成されたカメラモジュールを示す図である。
【図３Ｇ】一実施形態に従って、アプリケーションプロセッサと通信するカメラモジュールを示す図である。
【図４】別の実施形態に従ったネットワークサービスシステムを示す図である。
【図５】一実施形態に従って、アプリケーションプロセッサと通信するカメラシステムを示す図である。
【図６】一実施形態に従って、１つ以上の目標部位を処理するためのカメラシステムを示す図である。
【図７】一実施形態に従って、ホワイトバランスを調整するためのカメラシステムを示す図である。
【図８】一実施形態に従って、合焦を行うための周波数方法を示す図である。
【図９】さらに別の実施形態に従って、合成画像を生成するためのユーザインターフェイスを示す図である。
【図１０】一実施形態に従って、合成画像を生成するための方法ステップを示すフローチャートである。
【発明を実施するための形態】
【００１４】
詳細な説明
図１は、一実施形態に従って、ハードワイヤード素子を利用して、画素データに対して演算を実行するための例示的なフローチャート１００を示す。必要に応じて、フローチャート１００は、図面のいずれかの細部に関連して実行することができる。しかしながら言うまでもなく、任意の所望の環境でフローチャート１００を実行することができる。さらに、前述した定義は、以下の説明に同様に適用することができる。
【００１５】
図示のように、演算は、ステップ１０２で画素データを受信することによって開始する。１つ以上の実施形態において、画素データは、露光データ、露光統計、色データ、色統計値、色空間データ、輝度データ、彩度データ、ルミナンスデータ、色度データ、および／またはあらゆる形で画素に関連する他のデータを含むことができる。さまざまな実施形態において、画素データは、画像センサによって受信されてもよい。他の実施形態において、画素データは、編集に使用された圧縮後の写真に関連付けられてもよい。
【００１６】
一実施形態において、色データおよび／または色統計値は、ホワイトバランスに関連するデータを含むことができる。例えば、さまざまな実施形態において、色チャネル（例えば、赤色チャネル、緑色チャネル、青色チャネル）を用いて、カラーバランスの彩度を決定することができ、カラーバランスの輝度を用いて、関連する画像のホワイトバランスを補正することができる。いくつかの実施形態において、色統計値は、ホワイトバランス曲線および／またはの他の数学的モデルに関連付けられてもよい。
【００１７】
他の実施形態において、色データおよび／または色統計値を用いて、色合わせを行うことができる。例えば、一実施形態において、色合わせを使用して、１つ以上の画像（例えば、ＨＤＲミックス）を結合または混合する前に、１つ以上の画像と関連付けることができる。さまざまな実施形態において、色統計値を計算することによって、画素データに関連する色の決定を支援することができる。
【００１８】
図示のように、画素データの受信に応答して、ステップ１０４において、ハードワイヤード素子を利用して、画素データに対して演算を実行する。さまざまな実施形態において、演算は、露光を調整すること、ホワイトバランスを調整すること、画素データの測定を調整すること、焦点を調整すること、および／または画素データに関連する任意の特徴を調整することを含むことができる。
【００１９】
いくつかの実施形態において、画素データがカメラモジュール内にある間に、演算を実行することができる。例えば、一実施形態において、カメラモジュール内に配置された画像センサとイメージコントローラとの間にデータを伝送する間に、データに対して演算を実行することができる。他の実施形態において、カメラモジュールとアプリケーションプロセッサとの間で画素データを伝送する間に、データに対して演算を実行することができる。当然ながら、カメラモジュールおよび／または画像センサに関連する任意の他のモジュールまたはプロセッサの任意箇所で、画素データに対して演算を実行することができる。
【００２０】
一実施形態において、ハードワイヤード素子を利用して、演算を実行することができる。画素データに対して実行され得る演算と同様に、ハードワイヤード素子は、カメラモジュール、アプリケーションプロセッサ、および／または画像センサに関連する任意の他のモジュールもしくはプロセッサ内に配置されてもよい。
【００２１】
図示のように、判定ステップ１０６において、必要条件が満たされているか否かを判定する。当然ながら、一実施形態において、当該必要条件は、１つ以上の必要条件を含んでもよい。さまざまな実施形態において、１つ以上の必要条件は、画素データが設定された範囲内にあるか否かを判定することを含んでもよい。例えば、一実施形態において、画素データは、露光を含んでもよく、必要条件は、設定された数値範囲内に中央露光点を設定することを含んでもよい。例えば、画素輝度に関連する数値範囲は、０．０〜１．０であり、０．５という中央露光点は、画像が目標露光範囲内にあることを示してもよい。他の実施形態において、必要条件は、設定した百分率の画素データが露光データの上位５％および下位の５％に含まれないことを保証してもよい。例えば、一実施形態において、必要条件は、５％以下の画素データが露光データの上位５％にあることを保証してもよい。したがって、露光データの上位５％に入る画素データが５％以下になるまで、画素データが画像センサに連続的にフィードバックされてもよい。
【００２２】
他の実施形態において、必要条件は、ヒストグラムに関連付けられてもよい。例えば、一実施形態において、数値範囲は、画素データのヒストグラム出力に依存してもよい。別の実施形態において、ヒストグラムを用いて、例えば露光および／または画素データに関連する他の任意のパラメータに関連する画素の輝度分布を判定してもよい。例えば、一実施形態において、各露光時の画素数がカウントされてもよく、設定された数の画素が設定されたヒストグラム部分内に含まれなければならないことが必要条件にされてもよい。例えば、ヒストグラムの上位および下位の５％に位置するの画素の数を決定し、（例えば、カウントによって決定された）９０％の画素が必ずヒストグラムの５％〜９５％の区域に含まれることが必要条件にされてもよい。当然ながら、他の実施形態において、区域および／または必要条件は、任意の数値であってもよい。
【００２３】
一実施形態において、必要条件は、ユーザによって設定されてもよい。例えば、一実施形態において、ユーザは、範囲、数値、中央値、分布、および／または任意の他の制約条件を選択および／または入力し、これらを必要条件として使用することができる。別の実施形態において、必要条件は、自動的に設定されてもよい。例えば、一実施形態において、最適設定を画素データに関連付けてもよい。この最適設定は、１つ以上の必要条件を含むことができる。例えば、一実施形態において、ユーザがモバイル装置Ｘに関連するカメラモジュールを使用しており、画像が高比率で画素データを失っている（例えば、大量の画素データは、ヒストグラム分布上で９０％を超える過度露出範囲にある）と仮定する。この場合、最適設定は、モバイル装置Ｘに実際に存在するレンズ歪みを補正すること（例えば、設定値の歪み補正を適用する）、ヒストグラム分布の下位５％または上位５％に含まれていない少なくとも８０％の画素データの目標百分率を適用すること、および／または最適設定を適用するためのいずれかの他の行動をとることを含んでもよい。いくつかの実施形態において、１つ以上の必要条件は、装置（例えば、Apple iPhone（登録商標）、Samsung Galaxy（登録商標）、Canon Mark III（登録商標）、Nikon（登録商標）D、Panasonic Lumix（登録商標））に関連するパラメータから取得することができる。
【００２４】
他の実施形態において、１つ以上の必要条件は、個人のユーザ、２つ以上の単位（例えば、グループ設定、グループ共有）、遠隔実体（例えば、Dropbox（登録商標）、Google（登録商標）ドライブ、Box.com）、および／または任意の他のソースに関連付けられてもよい。いくつかの実施形態において、１つ以上の必要条件は、装置（例えば、装置のローカルメモリ）に格納されてもよく、（例えば、Bluetooth（登録商標）、WiFi（登録商標）、WiFi Directを介して）別の装置から伝送されてもよく、クラウド（Facebook（登録商標）、Dropbox（登録商標）、Google（登録商標）ドライブ、Microsoft One（登録商標））および／またはその他の格納場所に格納されてもよい。
【００２５】
図示のように、必要条件が満たされている場合、フローは終了する。しかしながら、必要条件が満たされていない場合、フローは、ステップ１０６に戻り、ハードワイヤード素子を利用して、画素データに対して演算を実行する。いくつかの実施形態において、演算は、フィードバックに基づいて変化し得る。例えば、一実施形態において、（例えば、画素数に基づいて）ホワイトバランスが正しくないことを判定することができる。したがって、ホワイトバランスが所定値の閾値に含まれるまでまたは所定値に達するまで、ホワイトバランスを補正してもよい。
【００２６】
さまざまな実施形態において、ハードワイヤード素子を利用することによって、シーンおよび／または画像を迅速に計測することができ、および／または画素データに関連するパラメータを調整することができる。いくつかの実施形態において、ハードワイヤード素子を用いて、画像センサ、カメラレンズおよび／またはカメラモジュールに関連する別の素子に関連する欠陥を補正することができる。したがって、ハードワイヤード素子を利用すると、制御ループの時間を短縮することができる。例えば、一実施形態において、画素データを計測し、ハードワイヤード素子でパラメータ（例えば、露光）を評価することによって、パラメータが設定した必要条件に適合しているか否かを判断することができる。適合している場合は、画像を撮影する。適合していない場合、必要条件に適合するようにパラメータに関連する設定を変更する。いくつかの実施形態において、必要条件が満たされるまで、この制御ループを数回に繰り返す必要がある。
【００２７】
図２は、一実施形態に従って、ハードワイヤード素子を利用して、画素データに対して演算を実行するための例示的な方法２００を示す。必要に応じて、方法２００は、図面のいずれかの詳部に関連して実行することができる。しかしながら言うまでもなく、任意の所望の環境で方法２００を実行することができる。さらに、前述した定義は、以下の説明に同様に適用することができる。
【００２８】
図示のように、ステップ２０２において、画素データを受信する。次に、ステップ２０４において、回路のハードワイヤード論理素子を利用して、画素データの第１特徴を特定する。さらに、ステップ２０６において、回路のハードワイヤード論理素子を利用して、画素データの第１特徴に関連して演算を実行する。
【００２９】
一実施形態において、画素データは、画像センサから受信されてもよい。いくつかの実施形態において、画素データは、画像センサから受信したデータの単一のスカラ要素を含むことができ、および／または画像センサから受信したデータの１つ以上の彩度を含むことができる。
【００３０】
さまざまな実施形態において、ステップ２０６の少なくとも一部は、アプリケーションプロセッサおよび／またはカメラモジュール内で行うことができる。別の実施形態において、演算は、全てカメラモジュール内で行うことができる。当然ながら、他の実施形態において、演算は、画像センサに関連する任意のプロセッサおよび／またはモジュール内で行うことができる。
【００３１】
一実施形態において、第１特徴は、ホワイトバランス、焦点、露光、彩度および／または画素データに関連する他のパラメータのうち、少なくとも１つを含むことができる。一実施形態において、画素データの第１特徴は、画素データ内の２つ以上の目標部位（Point Of Interest）を含むことができる。２つ以上の目標部位は、２つ以上のホワイトバランス点、２つ以上の焦点、２つ以上の露光点、２つ以上の彩度点、および／または２つ以上画素データに関連する別のパラメータのうち、少なくとも１つを含むことができる。さらに、目標部位は、画素データ内の画素領域を含むことができる。
【００３２】
さまざまな実施形態において、２つ以上の目標部位は、関連付けられてもよい。例えば、一実施形態において、第１目標部位は、第１白色点に関連し、第２の目標部位は、第２白色点に関連し、第１特徴は、第１白色点および第２白色点の両方を含むことができる。いくつかの実施形態において、第１目標部位および第２目標部位に関連するパラメータをブレンドし、混合し、正規化し、平均化し、および／または何らかの方法で合併し、合併した情報を画素データの第１特徴として使用することができる。
【００３３】
他の実施形態において、２つ以上の目標部位は、関連付けられなくてもよい。例えば、一実施形態において、第１目標部位は、屋外を示す画像の一部の露光設定に関連し、第２目標部位は、屋内を示す画像の一部の露光設定に関連する。当然ながら、他の実施形態において、目標部位は、写真の場所に関連付けられ、画素データの任意のパラメータに関連付けられてもよい。
【００３４】
さらに、一実施形態において、第１特徴の特定は、画素データに関連する領域の１つ以上の値を加算するステップと、画素データに関連する領域の最高点範囲を決定ステップを含むことができる。特定の一実施形態において、画素データに関連する領域の最高点範囲に基づいて、演算を実行することができる。当然ながら、他の実施形態において、演算として、任意の数学演算を使用することができる。
【００３５】
図示のように、ステップ２０８において、演算結果をフィードバックする。一実施形態において、演算結果のフィードバックは、結果を画像センサに提供することを含むことができる。いくつかの実施形態において、結果を画像センサにフィードバックすることに応答して、画像センサは、パラメータを調整することによって、必要条件に適合する確率を高めることができる。
【００３６】
一実施形態において、演算結果は、画素データの露光に関連する正規化素子もしくは加算素子の結果、画素データのホワイトバランスに関連する正規化素子もしくは加算素子の結果、画素データの焦点に関連する正規化素子もしくは加算素子の結果、画素データの彩度に関連する正規化素子もしくは加算素子の結果、および／または数学的演算結果のうち少なくとも１つを含むことができる。
【００３７】
一実施形態において、第１特徴は、ホワイトバランス値に関連付けることができ、演算結果のフィードバックは、ホワイトバランス値に基づいて画素データを調整することを含むことができる。さらに、一実施形態において、回路のハードワイヤード論理素子を利用して、調整を行うことができる。別の実施形態において、カメラモジュール内で全ての調整を実行する。
【００３８】
さらに、図示のように、ステップ２１０において、演算結果が所定の必要条件を満たすまで、回路のハードワイヤード論理素子を利用して画素データの第１特徴に関連する演算の実行または演算結果のフィードバックのうち少なくとも一方を繰り返す。
【００３９】
一実施形態において、必要条件は、最大値、閾値および／または範囲のうち少なくとも１つを含むことができる。一実施形態において、必要条件は、範囲を含むことができ、範囲は、少なくとも中央値を含むことができる。さらに別の実施形態において、必要条件は、範囲を含むことができ、範囲は、画素データの第１特徴（例えば、露光、彩度、輝度、色彩、ホワイトバランス）に関連する４０％〜６０％の分布を含むことができる。さらに一実施形態において、必要条件は、範囲を含むことができ、範囲は、画素データの第１特徴に関連する特定の設定値を含むことができる。
【００４０】
さまざまな実施形態において、カメラモジュールは、光学情報を画像センサに取り込むために絞り（例えば、調節可能な絞りまたは非調節可能な絞り）を合焦するレンズ組立体を備えるように設けられてもよい。一実施形態において、カメラモジュール内にコントローラを設けることができる。コントローラを設けることによって、画像センサ上の熱を減少することができ、それによって撮影された画像の潜在的なノイズを低減することができる。当然ながら、いくつかの実施形態において、アナログ／デジタルコンバータが、画像センサに含まれてもよく、コントローラ上に設けられてもよく、および／または、カメラモジュールの内部および／または画像センサに関連する他の素子の内部に配置されてもよい。
【００４１】
一実施形態において、カメラモジュールは、光学部品（例えば、レンズ）、画像センサ、コントローラ、および前述した部品のいずれかをアプリケーションプロセッサに結合する機能を含むことができる。さらに、一実施形態において、画像センサは、ハードウェア（例えば、カメラモジュール）または処理カーネル（例えば、アプリケーションプロセッサ）に処理される画像データを提供することができる。当然ながら、他の実施形態において、データは、画像センサに取り込まれた後、任意の時点で処理されてもよい。
【００４２】
別の実施形態において、画素データの第１特徴に関連して演算を実行することは、焦点を測定することを含むことができる。例えば、一実施形態において、画像センサは、焦点駆動装置を含むことができる。画素データがカメラモジュールのハードワイヤード論理素子に入力されると、その結果が画像センサにフィードバックされ、焦点駆動装置を調整する。このようにして、非常に迅速且つ精確に合焦を行うことができる。例えば、一実施形態において、画像センサは、初期掃引を行い、その後、画素データをオーバーシュートし、次に、必要条件に適合するように、（例えば、フィードバック結果に基づいて）最適設定を適用することができる。一実施形態において、画像センサは、より低い解像度で画素データを取り込み、画素データを回路のハードワイヤード論理素子に供給し、より高い解像度で画素データを取り込む前に、設定を精密に決定することができる。
【００４３】
一実施形態において、画素データの第１特徴に関連して演算を実行することは、中央値の一方側にある画素の数をカウントすることを含むことができる。例えば、一実施形態において、より多くの画素が中央値の右側にあると評価された場合、画像センサは、画素データの過度露光を防止するために、ＩＳＯを減少する、露光時間を短縮する、および／または他の行動をとることができる。当然ながら、他の実施形態において、露光時間および／またはＩＳＯ（または画像センサに関連する可能性のある他のパラメータ）を調整することによって、ヒストグラムを直接シフトすることができるため、必要条件に適合するように調整を行うことができる。
【００４４】
別の実施形態において、画素数は、１つ以上のデータグループを含むことができる。例えば、一実施形態において、画素データは、統計を用いて処理される。統計は、計数器を用いて、各画素の輝度が輝度ヒストグラムの０〜０．５に位置するかまたは０．５〜１．０に位置するかを決定する。このようにして、画素を２つのグループに分類し、各グループをカウントする。当然ながら、他の実施形態において、中央値は、任意の値であってもよい。演算子（例えば、＞、＝または＜）を用いて、データグループを比較することができる。さらに、回路のハードワイヤード論理素子を利用して、画素のカウントを行うこともできる。
【００４５】
別の例として、一実施形態において、画素データが全て輝度ヒストグラムの中央値の左側（例えば、０〜０．５）にある場合、画素データが著しく露光不足である可能性がある。一方、画素データが全て輝度ヒストグラムの中央値の右側（例えば、０．５〜１．０）にある場合、画素データが著しく過剰露光である可能性がある。当然ながら、さまざまな実施形態において、ハードワイヤード論理素子を用いて、ＩＳＯ、露光時間および画像センサに関連する他のパラメータを変更することは、輝度ヒストグラム全体の画素のより均一な分布を得ることを支援することができる。
【００４６】
さらに別の実施形態において、任意種類の統計（または数学演算）を用いて、カウント、または、所定の必要条件に適合するか否かを判定するために画像センサによって使用される他の結果を、計算することができる。一実施形態において、ソフトウェアおよび／またはメモリモジュールではなく、ハードワイヤード論理素子を利用して、画素データの処理に必要な時間を減すことができる。
【００４７】
別の実施形態において、１つ以上のグループの画素データを用いて、輝度、焦点、露光、および／または画素データに関連する任意の他のパラメータを決定することができる。一実施形態において、画素データの全体ではなく、画素データ全体の一部を処理に使用することができる。例えば、一実施形態において、１０００個の入来画素を処理するように待ち行列に入れる。１００個の画素を処理した後、最初の１００個の画素のカウントが特定の閾値を超えてしまう（例えば、画素のカウントが特定の輝度ヒストグラム範囲を超えた）と判定することができる。このような実施形態において、残りの９００個の画素を処理する必要がないため、処理に必要な時間を短縮する。したがって、いくつかの実施形態において、一定量の画素が閾値を超えた場合、残りの画素を処理せず、直ちに画像センサにフィードバックすることができる。
【００４８】
いくつかの実施形態において、画像センサは、（例えば、ハードワイヤード論理素子からの）フィードバック結果、カメラモジュールの製造、（例えば、色の欠損を補正するための）レンズ組立体の製造、および／または画素データに影響を及ぼし、画像センサによって何らかの方法で補正することができる他の情報を考慮することができる。当然ながら、さまざまな実施形態において、画像センサによって適用された設定は、（例えば、レンズまたはカメラモジュールの）最良動作パラメータを与えることができる。
【００４９】
一実施形態において、数学演算を実行する（例えば、グループに分類された画素をカウントする）のではなく、プロセッサ（例えば、アプリケーションプロセッサ）を用いて、画素データを処理する（画像センサ内のテーブルと比較する）ことができる。しかしながら、このような実施形態において、アプリケーションプロセッサは、（例えば、アプリケーションプロセッサの）全てのシステムメモリを使用せず、（例えば、画像センサ内の）１つ以上の参照テーブルを用いて、画素データを処理することができる。アプリケーションプロセッサは、これらのテーブルを検索し、画素データ値および対応する検索値に基づいて、判定を行うことができる。
【００５０】
さまざまな実施形態において、検索は、カメラモジュール、アプリケーションプロセッサ、ソフトウェア内（例えば、アプリケーションプロセッサに配置されているもの、カメラモジュールに配置されているもの、等）、デバイスドライバ（アプリケーションプロセッサモジュール内の、等）を含むさまざまな部位、および／または、検索を実行し検索に基づく判断を実行することができるいかなる部位において、実行されてもよい。
【００５１】
当然ながら、別の実施形態において、画素をグループ化した後、グループに下位グループをさらに作成することができる。例えば、一実施形態において、画素を０〜０．５輝度ヒストグラムにグループ化することができる。しかしながら、０〜０．１バケットの画素（例えば、過度に露光不足）と０．１〜０．５バケットの画素（例えば、ある程度の露光不足）とは、かなり異なる場合がある。したがって、必要に応じて、グループ内のサブグループを使用して、関連情報（例えば、閾値に基づいたトリガを有する０〜０．１範囲内の画素数）を抽出することができる。
【００５２】
他の実施形態において、ハードワイヤード論理素子および１つ以上のソフトウェア要素は、少なくとも一部の処理に同時に関与することができる。例えば、一実施形態において、ハードワイヤード論理素子を用いて、画素データの露光設定を調整することができる。ハードワイヤード論理素子で露光設定を迅速且つ精密に決定した後、画素データは、（例えば、カメラモジュールまたはアプリケーションプロセッサ内の）ソフトウェアモジュールに伝送され、さらに処理されてもよい。例えば、一実施形態において、ハードワイヤード論理素子は、輝度ヒストグラムに従って決定された中央値に基づいて、露光を精密に決定することができる。しかしながら、場合によって、画素データを露光過剰のままにすることが望まれる。この場合、ハードワイヤード論理素子によって設定された中央値は、正確ではない可能性がある。一実施形態において、ソフトウェア（例えば、ドライバ、専用ソフトウェア）を用いて、画像を調整することによって、得られた画像が中央値（または任意の数学統計値）のみに基づくではなく、実現され得る最適設定を考慮したものとすることもできる。
【００５３】
一実施形態において、ユーザは、少なくとも部分的にソフトウェアを制御することができる。例えば、さまざまな実施形態において、ユーザは、ヒストグラムの中央値を調整することができ、および／または写真を調整するために使用できる他のフィードバックを提供することができる。他の実施形態において、ソフトウェアは、製造業者、クラウドソース、および／または他のソースによって決定された最適設定（例えば、カメラのために実現される最良設定）を実現することができる。したがって、いくつかの実施形態において、ユーザは、ハードワイヤード論理素子および／または画像センサに関連するソフトウェア要素によって与えられた設定を無視することができる。さらに、ユーザは、画素データに適用された過剰耀さおよび／または過剰暗さを意図的に測定することができる。
【００５４】
一実施形態において、デバイスドライバを使用して、画素データに関連する範囲を決定することができる。例えば、一実施形態において、完全に暗い画素または完全に明るい画素に焦点を合わせないことが望まれる場合がある。このような実施形態において、ヒストグラムデータに所定の曲線を乗算し、その結果を画像センサにフィードバックして、画素データの取り込みを調整することができる。さらに、一実施形態において、ヒストグラムデータに曲線を乗算することによって、ヒストグラム分布の中央に位置する画素に焦点を合わせることができる。
【００５５】
さまざまな実施形態において、ヒストグラムを用いて、画素データを分類することができる。他の実施形態において、８ビットの解像度（例えば、８ビットカラー）を使用する場合、分類は、より細かい細分性を可能にする２５６個（例えば、８ビットカラーグループの最大数）のグループを含むことができる。当然ながら、別の方法を用いて、画素データを分類することができる。
【００５６】
いくつかの実施形態において、フィードバックは、数学計算（例えば、グループ内の画素のカウント）に基づく結果を含むことができる。他の実施形態において、フィードバックは、ハードワイヤード論理素子によって決定された最新の露光パラメータを含むことができる。例えば、一実施形態において、画素データが過度露光された場合、最新の露光パラメータは、ＩＳＯの減少、シャッタ速度の増加、絞りの制限（例えば、ｆ絞りをより高い数値に変更すること）、および／または画像センサに進入する光線の量を制限するために適用される他の設定を含むことができる。当然ながら、他の実施形態において、任意の命令および／またはパラメータを画像センサにフィードバックし、画像センサは、それらを用いて、画像の取り込みを変更することができる。
【００５７】
いくつかの実施形態において、目標部位は、２次領域を含むことができる。例えば、一実施形態において、２次領域は、目標部位の周りの境界領域を含むことができる。さまざまな実施形態において、境界領域を用いて、露光の差（例えば、内側の露光と外側の露光との差）を決定することができ、および／または輪郭を決定することができる。一実施形態において、輪郭を用いて、２つ以上のフィルタおよび／または設定を適用することができる。例えば、一実施形態において、検出された輪郭によって、第１露光を第１領域に適用させ、第２露光を第２領域に適用させることができる。当然ながら、他の実施形態において、検出された輪郭に関連する任意のパラメータを使用することができる。さらに、他の実施形態において、２次領域は、写真の任意の領域および／または目標部位を含むことができる。
【００５８】
一実施形態において、ユーザ入力に基づいて、輪郭を検出することができる。例えば、一実施形態において、ユーザは、輪郭の検出に使用されるパターンを見い出すことができる。いくつかの実施形態において、見い出されたパターンは、適用される輪郭を規定することができる。他の実施形態において、見い出されたパターンは、輪郭の自動検出に使用される画像領域を決定することができる。例えば、一実施形態において、ユーザは、適用される輪郭に対応する領域を見い出すことができる。装置は、探し出された領域に基づいて、自動的に輪郭を検出することができる。
【００５９】
他の実施形態において、輪郭を自動的に検出することができる。例えば、一実施形態において、装置は、コントラストを増加し、１つ以上のチャネル（例えば、赤色、緑色、青色）で画像をフィルタリングし、および／または他のパラメータを適用することによって、輪郭を決定することができる。当然ながら、一実施形態において、輪郭を決定するために画像に適用されたパラメータは、一時的であり、専ら輪郭の決定に適用されてもよい。別の実施形態において、色彩、輝度（例えば、露光）および／または画素データに関連する任意の他のパラメータにおける差を分析することによって、輪郭を検出することができる。当然ながら、他の実施形態において、輪郭を検出するために技術的に実現可能な他の方法を使用することができる。
【００６０】
さらに、一実施形態において、１対１マッピング（例えば、ＣＣＤ上の領域を特定し、次いで画像センサ上の領域を特定する）、（例えば、選択された目標部位および／または領域に基づいた）行選択および列選択、（例えば、必要ないおよび／または関連性のないデータを破棄する）全フレーム測定、および／または何らかの方法で目標領域または目標部位の選択に使用され得る任意の他の方法を含むがこれらに限定されないさまざまな方法を用いて、目標部位をマッピングすることができる。一実施形態において、画素データに関連するフレームの全体を取得し、次いで、選択された領域によって選択されなかった全ての行および／または列を廃棄してもよい。このようにして、選択された領域に関連する画素データを更なる処理および／または分析の基礎として使用することができる。
【００６１】
一実施形態において、ハードワイヤード論理素子を使用して、第１パラメータ（例えば、全体的な露光）を補正することができ、ソフトウェアを使用して、第２パラメータ（例えば、領域特定の露光）を補正することができる。他の実施形態において、任意の方法で個別にまたは組み合わせてハードワイヤード論理素子およびソフトウェアを使用することによって、１つ以上のパラメータを補正することができる。
【００６２】
別の実施形態において、混ぜられた２つ以上のパラメータに基づいて、画像を出力することができる。例えば、一実施形態において、第１のＩＳＯで画素データを取り込み、第２のＩＳＯで画素データを取り込み、両方のＩＳＯからの画素データを混合することができる。さらに、第１のＩＳＯで取り込んだ画素データは、第１領域に関連し、第２のＩＳＯで取り込んだ画素データは、第２領域に関連する。両方のＩＳＯからの画素データを混合することは、第１領域または第２領域にそれぞれ関連する画素データに（混合する）優先度を与えることができる。当然ながら、画像の任意の部分が特定のＩＳＯおよび／またはパラメータに関連付けられるため、混合は、特定のＩＳＯおよび／またはパラメータに関連する画像部分を考慮しなければならない。
【００６３】
一例として、一実施形態において、第１目標部位に関連して第１露光を行い、ハードワイヤード論理素子を用いて、第１目標部位に対する第１露光を計測することができる。さらに、このような実施形態において、ソフトウェアを用いて、第２目標部位の第２露光パラメータを特定することができる。その後、ソフトウェアは、特定された第１および第２の露光パラメータに基づいて１組以上の画素データを露光して取り込むように、カメラモジュール（例えば、画像センサ）に指示することができる。さらに、得られた画像は、取り込まれた１組以上の画素データに基づいて、混合されてもよい。
【００６４】
別の実施形態において、ハードワイヤード論理素子を用いて、第１露光で写真の全フレームを計測することができる。さらに、フレーム内の一領域を選択して、別個に計測することができる。画像センサは、計測された情報に基づいて、第１露光で第１フレームを取り込み、その後、第２露光で第２フレームを取り込むことができる。他の実施形態において、画像センサは、１組の画素データを取り込み、２つ以上のＩＳＯ値（または他の適用可能なパラメータ）を画素データに適用することができる。
【００６５】
一実施形態において、正規化計算を用いて、ホワイトバランスを計算することができる。例えば、１つの特定の実施形態において、各色チャネル（例えば、赤、緑、青）に関連する画素輝度を個別にカウントすることができる。次いで、各色チャネルの加算を用いて、色チャネルを正規化することができ、各色チャネルを用いて、（例えば、グレーワールド設定における）ホワイトバランスを計算することができる。１つの追加の実施形態において、ハードワイヤード論理素子上で、各色チャネルの加算および正規化を行うことができる。さまざまな実施形態において、ハードワイヤード論理素子は、ソフトウェアと合わせて、加算および／または正規化の少なくとも一部を使用することができる。例えば、一実施形態において、ハードワイヤード論理素子は、ホワイトバランスを行ったＲＧＢデータを返し、ソフトウェアは、この正規化データを受け取り、圧縮（例えば、ＪＰＥＧ圧縮または無損失圧縮）を実行することができる。このようにして、得られる画像（例えば、ＪＰＥＧ）は、ハードワイヤード論理素子によって出力された正確なホワイトバランスに基づいて補償される。
【００６６】
一実施形態において、ハードワイヤード論理素子は、画像の焦点合わせに用いることができる。例えば、一実施形態において、画素データをハードワイヤード論理素子に入力し、周波数分析を行うことができる。一実施形態において、周波数分析は、画素データの１つ以上のラインに対する高速フーリエ変換（ＦＦＴ）を含むことができる。別の実施形態において、周波数分析は、画素データのブロックに対する離散コサイン変換（ＤＣＴ）を含むことができる。一実施形態において、画像の焦点が合っておらず、この画像に対してＤＣＴを実行した場合、より多くの低周波エネルギー（低周波数成分）が画像に関連するＤＣＴブロックの大部分に現れる可能性がある。対照的に、例えば、焦点が合っている画像の場合、より多くのブロックが支配的に高い周波数のエネルギー（高周波成分）を有する。合焦画像において、ＤＣおよび低周波数成分は、ＤＣＴブロックの大部分において相対的に減衰する。このような実施形態において、ハードワイヤード論理素子を用いて、画素データの少なくとも１つ以上のラインを分析することができる。この分析は、周波数分析を含む。
【００６７】
特定の実施形態において、画素データのラインをハードワイヤード論理素子に入力し、画素データに対して１次元フーリエ変換（例えば、ＦＦＴ）を含む演算を実行することによって、高周波数データおよび低周波数データの両方を含む結果を生成することができる。特定の範囲の周波数値を加算し、複数の範囲に対する加算を繰り返すことによって、画像内の複数のラインの周波数データを示すヒストグラムを集計することができる。この実施形態において、画素データの新しいラインをハードワイヤード論理素子に入力し、ライン範囲のヒストグラムにおいて周波数値の最終加算を行うことができる。このようにして、複数ラインの画素データに基づいて、完全なヒストグラムを構築することができる。一実施形態において、全てのラインの正味値は、最大値を生成し、この最大値は、画像を合焦すべきポイントに対応する。当然ながら、技術的に実現可能な任意の方法（例えば、派生分析、試行値に基づく確率分析）を用いて、曲線に関連する最大値を計算することができる。
【００６８】
このようにして、さまざまな実施形態において、画像の全体または画像の１つ以上の目標部位を、焦点を計算するための基礎として使用することができる。別の実施形態において、８×８ブロックの画素データをハードワイヤード論理素子に入力し、画素データに対してＤＣＴを含む演算を実行することによって、高周波数データおよび低周波数データの両方を含む結果を生成することができる。特定の範囲（および／または複数の範囲）の周波数値を加算し、ヒストグラム上で結果を表示することができる。一実施形態において、ヒストグラムを用いて、画素データの複数のブロック、画素データの複数の行、画素データの複数の列に基づいて、最大値を計算することができる。当然ながら、いくつかの実施形態では、上記の記載に基づいて、合焦する機能は、シーン情報および／またはテキスト情報を含む画像データに影響を及ぼす場合がある。さらに、一実施形態において、特定のフレームの焦点距離は、そのフレームの高周波数成分の加算値であってもよい。別の実施形態において、特定のフレームの焦点距離は、そのフレームを構成するラインまたはそのフレームを構成するＤＣＴブロックに対して得られた周波数領域ヒストグラムの中央値を含む。さらに別の実施形態において、特定のフレームの焦点距離は、そのフレームを構成する１つ以上のＤＣＴブロックを含む線に対して得られた周波数領域ヒストグラムの高閾値（例えば、上位１０％）を含む。
【００６９】
他の実施形態において、ソフトウェア論理素子およびハードウェア論理素子の組み合わせは、焦点合わせに用いることができる。例えば、一実施形態において、ハードウェア論理素子を用いて、静的シーンを完全に合焦することができる。しかしながら、別の実施形態において、対象物は、周囲に走っている子供である可能性がある。このような実施形態において、ソフトウェアを用いて対象物を追跡し、ハードウェア論理素子を用いて、ソフトウェアによって決定された位置に基づいて合焦することができる。当然ながら、他の実施形態において、ハードウェアおよびソフトウェアの任意の組み合わせが、画素データの焦点合わせに用いられてもよい。
【００７０】
さまざまな実施形態において、上述したようなハードワイヤード論理素子を用いたホワイトバランスの計算は、表示装置に適用することができ（例えば、モニタの較正）、演示装置に適用することができ（例えば、プロジェクタの較正）、２つ以上の装置に適用することができ（例えば、複数の装置のスクリーンの較正）、および／または何らかの方法で画素データを表示するために使用され得る任意の他の装置に適用することができる。別の実施形態において、ワイヤハードワイヤード論理素子を用いたホワイトバランスの計算は、３Ｄ撮像に使用することができる。この場合、２つのレンズから得られた画素データが整合するように、２つ以上のレンズの入力を関連させてもよい。
【００７１】
図３Ａは、一実施形態に従ったデジタル撮影システム３００を示す。必要に応じて、デジタル撮影システム３００は、本明細書に開示された図面のいずれかの詳部に関連して実装されてもよい。しかしながら言うまでもなく、任意の所望の環境でデジタル撮影システム３００を実装することができる。さらに、前述した定義は、以下の説明に同様に適用することができる。
【００７２】
図示のように、デジタル撮影システム３００は、相互接続３３４を介してカメラモジュール３３０に接続されたプロセッサ複合体３１０を含むことができる。一実施形態において、プロセッサ複合体３１０は、ストロボユニット３３６に接続される。デジタル撮影システム３００は、各々がプロセッサ複合体３１０に接続された表示ユニット３１２、入力／出力素子３１４、不揮発性メモリ３１６、揮発性メモリ３１８、無線ユニット３４０およびセンサ素子３４２を含むがこれらに限定されない。一実施形態において、電力管理サブシステム３２０は、デジタル撮影システム３００内の各電気負荷素子に適切な給電電圧を生成するように構成される。電池３２２は、電力管理サブシステム３２０に電気エネルギーを供給するように構成することができる。電池３２２は、一次電池または二次電池を含む、技術的に実現可能なエネルギー貯蔵システムを備える。当然ながら、他の実施形態において、システムは、追加のまたはより少ない特徴、ユニット、装置、センサまたはサブシステムを含むことができる。
【００７３】
一実施形態において、ストロボユニット３３６は、デジタル撮影システム３００に一体化され、デジタル撮影システム３００によって実行される画像の撮影中にストロボ照明光３５０を提供するように構成されてもよい。別の実施形態において、ストロボユニット３３６は、デジタル撮影システム３００から独立した装置として実装され、デジタル撮影システム３００によって実行される画像の撮影中にストロボ照明光３５０を提供するように構成されてもよい。ストロボユニット３３６は、１つ以上のＬＥＤ素子、ガス放電発光体（キセノンストロボ素子、キセノンフラッシュランプ）、または技術的に実現可能な他の照明素子を含むことができる。特定の実施形態において、２つ以上のストロボユニットは、画像の撮影と連動してストロボ照明光を同期に提供するように構成される。一実施形態において、ストロボユニット３３６がストロボ照明光３５０を出射するか否かは、ストロボ制御信号３３８によって制御される。ストロボ制御信号３３８は、技術的に実現可能な任意の信号伝送プロトコルを用いて実現することができる。ストロボ制御信号３３８は、特定の強度および／または色のストロボ照明光３５０を生成させるようにストロボユニット３３６に指示するためのストロボパラメータ（例えば、ストロボ強度、ストロボ色、ストロボ時間）を含むことができる。ストロボ制御信号３３８は、プロセッサ複合体３１０、カメラモジュール３３０、またはそれらの技術的に実現可能な任意の組み合わせによって生成されることができる。一実施形態において、ストロボ制御信号３３８は、プロセッサ複合体３１０内のカメラインターフェイスユニットによって生成され、相互接続３３４を介してストロボユニット３３６およびカメラモジュール３３０の両方に伝送される。別の実施形態において、ストロボ制御信号３３８は、カメラモジュール３３０によって生成され、相互接続３３４を介してストロボユニット３３６に伝送される。
【００７４】
撮影シーン内の物体から反射されたストロボ照明光３５０の少なくとも一部を含み得る光学シーン情報３５２は、光学画像としてカメラモジュール３３０内の画像センサ３３２に集束される。画像センサ３３２は、光学画像の電子的表現を生成する。電子的表現は、異なる色彩度サンプル（例えば、赤色、緑色および青色光）を含み得る空間色彩度情報を含む。他の実施形態において、空間色彩度情報は、白色光サンプルを含むこともできる。電子的表現は、技術的に実現可能な任意の信号伝送プロトコルを実現することができる相互接続３３４を介して、プロセッサ複合体３１０に送信される。
【００７５】
一実施形態において、入力／出力素子３１４は、容量性タッチ入力面、抵抗性タブレット入力面、１つ以上のボタン、１つ以上のノブ、発光素子、検光素子、発音素子、検音素子、またはユーザ入力を受信して電気信号に変換するまたは電気信号を物理信号に変換するための技術的に実現可能な任意の他の素子を含むが、これらに限定されない。一実施形態において、入力／出力素子３１４は、表示ユニット３１２に接続された容量性タッチ入力面を含む。タッチ入力表示システムは、プロセッサ複合体３１０に共に接続された表示ユニット３１２および容量性タッチ入力面を含んでもよい。
【００７６】
さらに、他の実施形態において、不揮発性（ＮＶ）メモリ３１６は、電力が中断されたときにデータを記憶するように構成される。一実施形態において、不揮発性メモリ３１６は、１つ以上のフラッシュメモリ装置（たとえば、ＲＯＭ、ＰＣＭ、ＦｅＲＡＭ、ＦＲＡＭ（登録商標）、ＰＲＡＭ、ＭＲＡＭ、ＮＲＡＭ）を含む。不揮発性メモリ３１６は、非一時的なコンピュータ可読媒体を含み、この非一時的なコンピュータ可読媒体は、プロセッサ複合体３１０に設けられた１つ以上の処理ユニットによって実行されるプログラム命令を格納するように構成される。プログラム命令は、非限定的な一例として、オペレーティングシステム（ＯＳ）、ＵＩソフトウェアモジュール、画像処理および格納ソフトウェアモジュール、プロセッサ複合体３１０に接続された１つ以上の入力／出力素子３１４、カメラモジュール３３０を介して画像スタックを撮影するための１つ以上のソフトウェアモジュール、表示ユニット３１２を介して画像スタックまたは画像スタックから生成された１つ以上の合成画像を表示させるための１つ以上のソフトウェアモジュールを実装することができる。一例として、一実施形態において、プログラム命令は、画像スタック内の画像または画像部分を合併するための１つ以上のソフトウェアモジュール、画像スタック内の各画像の少なくとも一部を整列するための１つ以上のソフトウェアモジュール、またはそれらの組み合わせを実装することができる。別の実施形態において、プロセッサ複合体３１０は、高ダイナミックレンジ（ＨＤＲ）画像を生成するように動作可能な１つ以上のソフトウェアモジュールを実装することができるプログラム命令を実行するように構成することができる。
【００７７】
さらに、一実施形態において、不揮発性メモリ３１６を構成する１つ以上のメモリ装置は、ユーザによって取付けられまたは取外されるように構成されたモジュールとしてパッケージ化されてもよい。一実施形態において、揮発性メモリ３１８は、デジタル撮影システム３００の通常動作中に利用されるプログラム命令または画像スタックに関連するデータなどの画像データを一時的に格納するように構成されたダイナミックランダムアクセスメモリ（ＤＲＡＭ）を含む。当然ながら、任意の方法で揮発性メモリを使用することができ、プロセッサ複合体３１０に取り付けられた任意の他の入力／出力素子３１４またはセンサ素子３４２と共に、揮発性メモリを使用することができる。
【００７８】
一実施形態において、センサ素子３４２は、動きおよび／または向きを検出するための１つ以上の加速度計、動きおよび／または向きを検出するための電子ジャイロ、向きを検出するための磁束検出器、地理位置を検出するための全地球測位システム（ＧＰＳ）モジュール、またはそれらの任意の組み合わせを含むが、これらに限定されない。当然ながら、動き検出センサ、近接センサ、ＲＧＢ光センサ、ジェスチャセンサ、３Ｄ入力画像センサ、圧力センサ、および屋内位置センサを含むがこれらに限定されない他のセンサをセンサ素子として一体化することができる。一実施形態において、センサ素子は、入力／出力素子３１４の一例であってもよい。
【００７９】
無線ユニット３４０は、デジタルデータを送受信するように構成された１つ以上のデジタル無線機を含むことができる。特に、無線ユニット３４０は、無線通信規格（例えば、WiFi（登録商標）、Bluetooth（登録商標）、NFC）を実装することができ、デジタル移動通信規格（例えば、CDMA、3G、4G、LTE（登録商標）、LTE-Advanced）を実装することができる。当然ながら、任意の無線通信規格またはデジタル移動通信規格を使用してもよい。
【００８０】
一実施形態において、デジタル撮影システム３００は、無線ユニット３４０を介して、１つ以上のデジタル写真をネットワークベース（オンライン）写真媒体サービスまたはクラウドベース写真媒体サービスに送信するように構成される。１つ以上のデジタル写真は、不揮発性メモリ３１６または揮発性メモリ３１８もしくはプロセッサ複合体３１０に関連する任意の他のメモリ装置内に格納されてもよい。一実施形態において、ユーザは、１つ以上のデジタル写真をオンライン写真媒体サービスに保存し、そこから読取および閲覧するために、オンライン写真媒体サービスにアクセスし、デジタル写真をオンライン写真媒体サービスに送信する認証情報を有する。認証情報は、デジタル写真を送信する前にデジタル撮影システム３００内に記憶されまたは生成されてもよい。オンライン写真媒体サービスは、デジタル写真の格納、デジタル写真の処理、デジタル写真の送信、デジタル写真の共有またはそれらの任意の組み合わせを提供するソーシャルネットワークサービス、写真共有サービス、または他のネットワークサービスを含むことができる。特定の実施形態において、オンライン写真媒体サービスは、関連するサーバに送信された画像データ（例えば、画像スタック、ＨＤＲ画像スタック、画像パッケージ）に基づいて、１つ以上のデジタル写真を生成することができる。このような実施形態において、ユーザは、オンライン写真媒体サービスによる処理のために、デジタル撮影システム３００から１つ以上の元画像をアップロードすることができる。
【００８１】
一実施形態において、デジタル撮影システム３００は、少なくとも１つのカメラモジュール３３０を備える。別の実施形態において、デジタル撮影システム３００は、複数のカメラモジュール３３０を備える。このような実施形態は、複数のカメラモジュール３３０によって複数の視図として撮影された撮影シーンを照明するように構成された少なくとも１つのストロボユニット３３６を含む。複数のカメラモジュール３３０は、パノラマ写真を生成するために、（例えば、４５度以上のカメラ掃引角度で）広角視図を撮影するように構成されてもよい。一実施形態において、複数のカメラモジュール３３０は、立体写真を生成するために、（例えば、４５度未満のカメラ掃引角度で）２つ以上の狭角視図を撮影するように構成されてもよい。他の実施形態において、複数のカメラモジュール３３０は、３Ｄ画像を生成するように構成されてもよく、または遠近感（例えば、ｚ成分）のある写真を表示ユニット３１２または任意の他の表示装置に表示するように構成されてもよい。
【００８２】
一実施形態において、表示ユニット３１２は、２次元の画素配列を表示することによって、画像表示部を形成するように構成されてもよい。表示ユニット３１２は、液晶（ＬＣＤ）ディスプレイ、発光ダイオード（ＬＥＤ）ディスプレイ、有機ＬＥＤディスプレイ、または技術的に実現可能な任意の他のディスプレイを含むことができる。特定の実施形態において、表示ユニット３１２は、単一のＨＤＲ画像内または多重露光またはＨＤＲ画像スタックを含む２つ以上の画像セットのような撮影シーンから撮影された完全範囲の輝度値よりも狭いダイナミックレンジの画像彩度値を表示することができる。一実施形態において、技術的に実現可能な任意のＨＤＲ混成技術に従って、画像スタックを構成する画像を合併することによって、表示ユニット３１２のダイナミックレンジで表示できる合成画像を生成することができる。一実施形態において、制限されたダイナミックレンジは、対応する色彩強度の色チャネルごとに８ビットのバイナリ表現を指定することができる。他の実施形態において、制限されたダイナミックレンジは、色チャネルごとに８ビット以上（例えば、１０ビット、１２ビットまたは１４ビット）のバイナリ表現を指定することができる。
【００８３】
図３Ｂは、一実施形態に従って、図３Ａのデジタル撮影システム３００内のプロセッサ複合体３１０を示す。必要に応じて、プロセッサ複合体３１０は、本明細書に開示された図面のいずれかの詳部に関連して実装することができる。しかしながら言うまでもなく、任意の所望の環境でプロセッサ複合体３１０を実装することができる。さらに、前述した定義は、以下の説明に同様に適用することができる。
【００８４】
図示のように、プロセッサ複合体３１０は、プロセッササブシステム３６０を含み、メモリサブシステム３６２を含んでもよい。一実施形態において、プロセッサ複合体３１０は、プロセッササブシステム３６０を実装するシステムオンチップ（ＳｏＣ）素子を含んでもよく、メモリサブシステム３６２は、プロセッササブシステム３６０に接続された１つ以上のＤＲＡＭ素子を含む。別の実施形態において、プロセッサ複合体３１０は、ＳｏＣ素子およびメモリサブシステム３６２を構成する１つ以上のＤＲＡＭ素子を封入したマルチチップモジュール（ＭＣＭ）を含むことができる。
【００８５】
プロセッササブシステム３６０は、各々が相互接続３７４に接続している１つ以上の中央処理ユニット（ＣＰＵ）コア３７０、メモリインターフェイス３８０、入力／出力インターフェイスユニット３８４、および表示インターフェイスユニット３８２を含むことができるが、これらに限定されない。１つ以上のＣＰＵコア３７０は、メモリサブシステム３６２、揮発性メモリ３１８、不揮発性メモリ３１６、またはそれらの任意の組み合わせ内に常駐する命令を実行するように構成されてもよい。１つ以上のＣＰＵコア３７０の各々は、相互接続３７４およびメモリインターフェイス３８０を介して、データを取り出して格納するように構成することができる。一実施形態において、１つ以上のＣＰＵコア３７０の各々は、データキャッシュおよび命令キャッシュを含むことができる。さらに、２つ以上のＣＰＵコア３７０は、データキャッシュ、命令キャッシュ、またはそれらの任意の組み合わせを共有することができる。一実施形態において、キャッシュ階層を実装して、各々のＣＰＵコア３７０に私有（private）キャッシュ層および共有（public）キャッシュ層を提供することができる。
【００８６】
いくつかの実施形態において、プロセッササブシステム３６０は、１つ以上の画像処理ユニット（ＧＰＵ）コア３７２を含むことができる。各ＧＰＵコア３７２は、画像処理高速化を実行するようにプログラムされた複数のマルチスレッド実行ユニットを含むが、これらに限定されない。さまざまな実施形態において、ＧＰＵコア３７２は、周知の規格（例えば、OpenGL（登録商標）、WebGL（登録商標）、OpenCL（登録商標）、CUDA（登録商標））および／または任意の他のプログラム可能な画像処理規格に従って、マルチスレッドプログラムを実行するように構成されることができる。特定の実施形態において、少なくとも１つのＧＰＵコア３７２は、周知のHarris検出器または周知のHessian-Laplace検出器のような動き推定機能の少なくとも一部を実装する。この動き推定機能を用いて、画像スタック内の画像または画像部分を少なくとも部分的に整列することができる。例えば、一実施形態において、画像スタックに基づいてＨＤＲ画像をコンパイルすることができる。ＨＤＲ画像をコンパイルする前に、まず、画像スタック内の２つ以上の画像を整列する必要がある。
【００８７】
図示のように、相互接続３７４は、メモリインターフェイス３８０、表示インターフェイスユニット３８２、入力／出力インターフェイスユニット３８４、ＣＰＵコア３７０、およびＧＰＵコア３７２の間でデータを伝送するように構成される。さまざまな実施形態において、相互接続３７４は、１つ以上のバス、１つ以上のリング、クロスバー、メッシュ、または技術的に実現可能な任意の他のデータ伝送構造または技術を実装することができる。メモリインターフェイス３８０は、メモリサブシステム３６２を相互接続３７４に接続するように構成される。メモリインターフェイス３８０はまた、不揮発性メモリ３１６、揮発性メモリ３１８またはそれらの任意の組み合わせを相互接続３７４に接続することができる。表示インターフェイスユニット３８２は、表示ユニット３１２を相互接続３７４に接続するように構成されてもよい。表示インターフェイスユニット３８２は、特定のフレームバッファ機能（例えば、フレームリフレッシュ）を実現することができる。代わりに、別の実施形態において、表示ユニット３１２は、特定のフレームバッファ機能（例えば、フレームリフレッシュ）を実現することができる。入力／出力インターフェイスユニット３８４は、さまざまな入力／出力素子を相互接続３７４に接続するように構成されてもよい。
【００８８】
特定の実施形態において、カメラモジュール３３０は、画像スタック内の各画像を撮影するための露光パラメータを格納するように構成される。例えば、一実施形態において、撮影シーンを撮影するように指示されたときに、カメラモジュール３３０は、格納された露光パラメータに従って、画像スタックを構成する画像を撮影することができる。プロセッサ複合体３１０内で実行されるプログラム命令を含むソフトウェアモジュールは、画像スタックを撮影するようにカメラモジュール３３０に指示する前に、露光パラメータを生成して格納することができる。他の実施形態において、カメラモジュール３３０は、画像または画像スタックを計測するために使用され、プロセッサ複合体３１０内で実行されるプログラム命令を含むソフトウェアモジュールは、画像を取り込むようにカメラモジュール３３０に指示する前に、計測パラメータを生成して格納することができる。当然ながら、任意の方法でプロセッサ複合体３１０と組み合わせて、カメラモジュール３３０を使用することができる。
【００８９】
一実施形態において、画像スタックを構成する画像に関連する露光パラメータは、１つ以上の画像の露光パラメータを含む露光パラメータデータ構造内に格納されてもよい。別の実施形態において、プロセッサ複合体３１０内のカメラインターフェイスユニット（図３Ｂに図示せず）は、撮影シーンを撮影する前に、露光パラメータデータ構造から露光パラメータを読み出し、読み出した露光パラメータをカメラモジュール３３０に伝送するように構成することができる。露光パラメータに従ってカメラモジュール３３０を設定した後、カメラインターフェイスは、撮影シーンを撮影するようにカメラモジュール３３０に指示して、それに応じて、カメラモジュール３３０は、画像スタックを生成することができる。露光パラメータデータ構造は、カメラインターフェイスユニット、プロセッサ複合体３１０内のメモリ回路、揮発性メモリ３１８、不揮発性メモリ３１６、カメラモジュール３３０、または技術的に実現可能な任意の他のメモリ回路内に格納することができる。さらに、別の実施形態において、プロセッサ複合体３１０内で実行されるソフトウェアモジュールは、露光パラメータデータ構造を生成して格納することができる。
【００９０】
図３Ｃは、一実施形態に従ったデジタルカメラ３０２を示す。必要に応じて、デジタルカメラ３０２は、本明細書に開示された図面のいずれかの詳部に関連して実施されてもよい。しかしながら言うまでもなく、任意の所望の環境でデジタルカメラ３０２を実装することができる。さらに、前述した定義は、以下の説明に同様に適用することができる。
【００９１】
一実施形態において、デジタルカメラ３０２は、図３Ａのデジタル撮影システム３００のようなデジタル撮影システムを含むように構成することができる。図示のように、デジタルカメラ３０２は、カメラモジュール３３０を含む。カメラモジュール３３０は、撮影シーンを表す光学シーン情報を画像センサに合焦するように構成された光学素子を含むことができる。画像センサは、撮影シーンの光学シーン情報を電子的表現に変換することができる。
【００９２】
さらに、デジタルカメラ３０２は、ストロボユニット３３６およびシャッタレリーズボタン３１５を含むことができる。シャッタレリーズボタン３１５を用いて写真の撮影をトリガすることによって、デジタルカメラ３０２は、電子的表現を構成する１つ以上の画像を撮影する。他の実施形態において、技術的に実現可能な任意の他のシャッタレリーズ機構（例えば、タイマまたはリモート制御装置）を用いて、写真の撮影をトリガすることができる。
【００９３】
図３Ｄは、一実施形態に従った無線モバイル装置３７６を示す。必要に応じて、モバイル装置３７６は、本明細書に開示された図面のいずれかの詳部に関連して実装されてもよい。しかしながら言うまでもなく、任意の所望の環境でモバイル装置３７６を実装することができる。さらに、前述した定義は、以下の説明に同様に適用することができる。
【００９４】
一実施形態において、モバイル装置３７６は、撮影シーンを撮影するように構成されたデジタル撮影システム（例えば、図３Ａのデジタル撮影システム３００）を含むように構成することができる。さまざまな実施形態において、カメラモジュール３３０は、光学シーン情報を撮影シーンの電子的表現に変換するように構成された画像センサに、撮影シーンを表す光学シーン情報を合焦するように構成された光学素子を含むことができる。さらに、技術的に実現可能な任意のメカニズム、例えば、表示ユニット３１２を構成するタッチ入力表示システム上に設置されたタッチジェスチャなどの仮想ボタン、またはモバイル装置３７６の任意の側面または表面に配置された物理的ボタンを起動することによって、シャッタレリーズ命令を生成することができる。当然ながら、他の実施形態において、任意の数の他のボタン、外部入力／出力、またはデジタル入力／出力は、モバイル装置３７６に設けることができ、カメラモジュール３３０と共に使用することができる。
【００９５】
図示のように、一実施形態において、表示ユニット３１２を構成するタッチ入力表示システムは、カメラモジュール３３０が配置されたモバイル装置３７６の側面と反対側の側面に配置される。特定の実施形態において、モバイル装置３７６は、ユーザに面するカメラモジュール３３１を含み、ユーザに面するストロボユニット（図示せず）を含むこともできる。当然ながら、他の実施形態において、モバイル装置３７６は、任意の数のユーザに面するカメラモジュールまたは後方に面するカメラモジュール、ならびに任意の数のユーザに面するストロボユニットまたは後方に面するストロボユニットを含むことができる。
【００９６】
いくつかの実施形態において、デジタルカメラ３０２およびモバイル装置３７６は各々、カメラモジュール３３０によって撮影された画像スタックに基づいて、合成画像を生成し、格納することができる。画像スタックは、環境照明条件で撮影された１つ以上の画像、ストロボユニット３３６からのストロボ照明光で撮影された１つ以上の画像、またはそれらの組み合わせを含むことができる。
【００９７】
図３Ｅは、一実施形態に従ったカメラモジュール３３０を示す。必要に応じて、カメラモジュール３３０は、本明細書に開示された図面のいずれかの詳部に関連して実装されてもよい。しかしながら言うまでもなく、任意の所望の環境でカメラモジュール３３０を実装することができる。さらに、前述した定義は、以下の説明に同様に適用することができる。
【００９８】
一実施形態において、カメラモジュール３３０は、ストロボ制御信号３３８を介してストロボユニット３３６を制御するように構成される。図示のように、レンズ３９０は、撮影される光学シーン情報３５２を画像センサ３３２に合焦するように構成される。一実施形態において、画像センサ３３２は、ストロボ制御信号３３８を介して、ストロボユニット３３６の詳細なタイミングを有利に制御することによって、ストロボユニット３３６を有効にした時に撮影した画像とストロボユニット３３６を無効にした時に撮影した画像との間の撮影時間を短縮する。例えば、画像センサ３３２が環境画像の撮影に関連する露光時間を完了した後であって、ストロボ画像を撮影する前に、画像センサ３３２は、ストロボユニット３３６が１マイクロ秒（または任意の所望の長さ）未満の時間でストロボ照明光３５０を出射できるようにしてもよい。
【００９９】
他の実施形態において、１つ以上の所望の目標点に基づいて、ストロボ照明光３５０を設定することができる。例えば、一実施形態において、露光時間に応じて、ストロボ照明光３５０は、画像の前景に位置する物体を照明することができ、画像の背景に位置する物体を照明することもできる。一実施形態において、ストロボユニット３３６を有効にすると、画像センサ３３２は、ストロボ画像の露光を直ちに開始することができる。したがって、画像センサ３３２は、画像スタックの生成に関連するストロボユニット３３６の有効化および無効化を含む撮影動作を直接に制御することができる。この画像スタックは、ストロボユニット３３６を無効にした状態で撮影した少なくとも１つの画像、およびストロボユニット３３６を有効または無効にした状態で撮影した少なくとも１つの画像を含み得る。一実施形態において、画像センサ３３２によって撮影された画像スタックを含むデータは、相互接続３３４を介して、プロセッサ複合体３１０内のカメラインターフェイスユニット３８６に送信される。いくつかの実施形態において、カメラモジュール３３０は、画像センサコントローラを含み、画像センサコントローラは、画像センサ３３２の動作を制御しながらストロボ制御信号３３８を生成するように構成される。
【０１００】
図３Ｆは、一実施形態に従ったカメラモジュール３３０を示す。必要に応じて、カメラモジュール３３０は、本明細書に開示された図面のいずれかの詳部に関連して実装されてもよい。しかしながら言うまでもなく、任意の所望の環境でカメラモジュール３３０を実装することができる。さらに、前述した定義は、以下の説明に同様に適用することができる。
【０１０１】
一実施形態において、カメラモジュール３３０は、ストロボユニット３３６の状態情報に基づいて画像を撮影するように構成することができる。状態情報は、特定の強度および／または色のストロボ照明光３５０を生成するようにストロボユニット３３６に指示するための１つ以上のストロボパラメータ（例えば、ストロボ強度、ストロボの色、ストロボの時間）を含むがこれらに限定されない。一実施形態において、ストロボユニット３３６に関連する状態情報を設定するためのコマンドは、ストロボ制御信号３３８を介して送信することができ、カメラモジュール３３０は、ストロボ制御信号３３８を監視することによって、ストロボユニット３３６を有効にした時間を検出することができる。例えば、一実施形態において、カメラモジュール３３０は、ストロボ制御信号３３８によってストロボユニット３３６が有効または無効にされてからマイクロ秒以内に、ストロボユニット３３６が有効または無効にされた時間を検出することができる。ストロボ照明光を必要とする画像を撮影するために、カメラインターフェイスユニット３８６は、ストロボ制御信号３３８を介してイネーブルコマンドを送信することによって、ストロボユニット３３６を有効にすることができる。一実施形態において、カメラインターフェイスユニット３８６は、図３Ｂの入力／出力インターフェイス３８４として、プロセッサ複合体３１０のプロセッササブシステム３６０内に含まれてもよい。イネーブルコマンドは、信号レベル遷移コマンド、データパケットコマンド、レジスタ書き込みコマンド、または技術的に伝送可能な任意の他のコマンドを含むことができる。カメラモジュール３３０は、ストロボユニット３３６が有効にされたことを感知し、ストロボユニット３３６が有効にされている間にストロボ照明光を必要とする１つ以上の画像を画像センサ３３２に撮影させる。このような実施形態において、画像センサ３３２は、新しい露光撮影を開始するために、トリガ信号としてストロボユニット３３６に発行されるイネーブル信号を待機するように構成することができる。
【０１０２】
一実施形態において、カメラインターフェイスユニット３８６は、相互接続３３４を介して、露光パラメータおよびコマンドをカメラモジュール３３０に送信することができる。特定の実施形態において、カメラインターフェイスユニット３８６は、ストロボ制御信号３３８を介してストロボユニット３３６に制御コマンドを送信することによって、ストロボユニット３３６を直接に制御するように構成することができる。カメラインターフェイスユニット３８６は、カメラモジュール３３０およびストロボユニット３３６の両方を直接に制御することによって、カメラモジュール３３０およびストロボユニット３３６に精確な時間同期で各々の動作を行わせることができる。一実施形態において、精確な時間同期は、イベントタイミング誤差の５００マイクロ秒未満であってもよい。さらに、イベントタイミング誤差は、意図したイベントの発生時間と実際のイベントの発生時間との差であってもよい。
【０１０３】
別の実施形態において、カメラインターフェイスユニット３８６は、カメラモジュール３３０から画像データを受信しながら統計値を累積するように構成することができる。特に、カメラインターフェイスユニット３８６は、相互接続３３４を介して、画像データを受信しながら、所定の画像の露光統計値を累積することができる。露光統計値は、輝度ヒストグラム、過度露光の画素数、露光不足の画素数、画素強度の強度加重和のうち１つ以上、またはそれらの任意の組み合わせを含むがこれらに限定されない。カメラインターフェイスユニット３８６は、プロセッサ複合体３１０内の１つ以上のＣＰＵコア３７０などのプロセッサによって定義された物理的または仮想的アドレス空間内のメモリにマップされた記憶場所として、露光統計値を提示することができる。一実施形態において、露光統計値は、メモリにマップされたレジスタ空間にマップされた記憶回路に記憶され、相互接続３３４を介してアクセスすることができる。他の実施形態において、露光統計値は、取り込まれた画像の画素データを送信すると共に送信される。例えば、所定の画像の露光統計値は、取り込まれた画像の画素強度データを送信した後、インラインデータとして送信されてもよい。露光統計値は、カメラインターフェイスユニット３８６内で計算、記憶またはキャッシュすることができる。
【０１０４】
一実施形態において、カメラインターフェイスユニット３８６は、シーンホワイトバランスを推定するために、色統計値を累積することができる。技術的に実現可能な任意の色統計値、例えば赤、緑、および青色チャネルを含む異なる色チャネルの彩度加算値を累積することによって、ホワイトバランスを推定することができる。色チャネルの彩度加算値を用いて、ホワイトバランスモデル例えばグレーワールドホワイトバランスモデルに従って、関連する画像に対してホワイトバランスカラー補正を行うことができる。他の実施形態において、曲線近似統計値は、線形曲線近似または二次曲線近似のために蓄積され、画像のホワイトバランス補正に使用される。
【０１０５】
一実施形態において、カメラインターフェイスユニット３８６は、周囲画像と、ストロボ照明光で撮影された１つ以上の画像との間など、画像間のカラーマッチングを実行するための空間色統計値を累積することができる。露光統計値と同様に、色統計値は、プロセッサ複合体３１０内のメモリにマップされた記憶場所として提示されてもよい。一実施形態において、色統計値は、プロセッササブシステム３６０内のメモリにマップされたレジスタ空間にマップされ、相互接続３３４を介してアクセスすることができる。他の実施形態において、色統計値は、取り込まれた画像の画素データを送信すると共に送信されてもよい。例えば、一実施形態において、所定の画像の色統計値は、取り込まれた画像の画素強度データを送信した後、インラインデータとして送信されてもよい。色統計値は、カメラインターフェイスユニット３８６内で計算、記憶またはキャッシュすることができる。
【０１０６】
一実施形態において、カメラモジュール３３０は、ストロボ制御信号３３８をストロボユニット３３６に送信することによって、カメラモジュール３３０が画像を撮影している間にストロボユニット３３６に照明光を生成させることができる。別の実施形態において、カメラモジュール３３０は、カメラインターフェイスユニット３８６からストロボユニット３３６が有効にされていることを示す指示信号を受信すると、ストロボユニット３３６によって照明された画像を撮影することができる。さらに別の実施形態において、カメラモジュール３３０は、シーン照明の急激な上昇によって撮影シーン内のストロボ照明を検出すると、ストロボユニット３３６によって照明された画像を撮影することができる。さらに別の実施形態において、カメラモジュール３３０は、１つの画像を撮影する時に、ストロボ照明光を生成するようにストロボユニット３３６を有効にすることができ、異なる画像を撮影する時に、ストロボユニット３３６を無効にすることができる。
【０１０７】
図３Ｇは、一実施形態に従ったカメラモジュール３３０を示す。必要に応じて、カメラモジュール３３０は、本明細書に開示された図面のいずれかの詳部に関連して実装されてもよい。しかしながら言うまでもなく、任意の所望の環境でカメラモジュール３３０を実装することができる。さらに、前述した定義は、以下の説明に同様に適用することができる。
【０１０８】
一実施形態において、カメラモジュール３３０は、アプリケーションプロセッサ３３５と通信することができる。図示のカメラモジュール３３０は、コントローラ３３３と通信する画像センサ３３２を含む。さらに、図示のコントローラ３３３は、アプリケーションプロセッサ３３５と通信する。
【０１０９】
一実施形態において、アプリケーションプロセッサ３３５は、カメラモジュール３３０の外部に設けることができる。図示のように、レンズ３９０は、撮影される光学シーン情報を画像センサ３３２に合焦するように構成され得る。その後、画像センサ３３２によって撮影された光学シーン情報は、後続処理およびアプリケーションプロセッサ３３５への送信の少なくとも一方のために、画像センサ３３２からコントローラ３３３に送信されてもよい。別の実施形態において、コントローラ３３３は、画像センサ３３２によって撮影された光学シーン情報の記憶または処理された光学シーン情報の記憶を制御することができる。
【０１１０】
別の実施形態において、コントローラ３３３は、画像センサ３３２が周囲画像の撮影に関連する露光時間を完了した後、ストロボユニットが短時間（例えば、１マイクロ秒未満）ストロボ照明光を出射することを可能にすることができる。さらに、コントローラ３３３は、画像センサ３３２の制御動作と連動して、ストロボ制御信号３３８を生成するように構成されてもよい。
【０１１１】
一実施形態において、画像センサ３３２は、相補型金属酸化膜半導体（ＣＭＯＳ）センサまたは電荷結合素子（ＣＣＤ）センサであってもよい。別の実施形態において、コントローラ３３３および画像センサ３３２の両方は、一体化システムまたは集積回路としてパッケージ化されてもよい。さらに別の実施形態において、コントローラ３３３および画像センサ３３２は、個別のパッケージに形成されてもよい。一実施形態において、コントローラ３３３は、画像センサ３３２から光学シーン情報の受信、光学シーン情報の処理、さまざまな機能の時間調整、およびアプリケーションプロセッサ３３５に関連する信号の生成を行うための回路を提供することができる。さらに別の実施形態において、コントローラ３３３は、露光、シャッタ、ホワイトバランス、およびゲイン調整のうち１つ以上を制御するための回路を提供することができる。コントローラ３３３の回路による光学シーン情報の処理は、ゲインの適用、増幅およびアナログ−デジタル変換のうち１つ以上を含むことができる。光学シーン情報を処理した後、コントローラ３３３は、対応するデジタル画素データをアプリケーションプロセッサ３３５などに送信することができる。
【０１１２】
一実施形態において、アプリケーションプロセッサ３３５は、プロセッサ複合体３１０と、揮発性メモリ３１８および不揮発性メモリ３１６のうち少なくとも１つ、または任意の他のメモリ装置および／またはシステム上で実装することができる。アプリケーションプロセッサ３３５は、予め、受信された光学シーン情報またはカメラモジュール３３０からアプリケーションプロセッサ３３５に送信されたデジタル画素データを処理するように構成されてもよい。
【０１１３】
図４は、一実施形態に従ったネットワークサービスシステム４００を示す。必要に応じて、ネットワークサービスシステム４００は、本明細書に開示された図面のいずれかの詳部に関連して実装されてもよい。しかしながら言うまでもなく、任意の所望の環境でネットワークサービスシステム４００を実装することができる。さらに、前述した定義は、以下の説明に同様に適用することができる。
【０１１４】
一実施形態において、ネットワークサービスシステム４００は、デジタル撮影システムを実装する装置に、ネットワークアクセスを提供するように構成されてもよい。図示のように、ネットワークサービスシステム４００は、無線モバイル装置３７６、無線アクセスポイント４７２、データネットワーク４７４、データセンタ４８０、およびデータセンタ４８１を含む。無線モバイル装置３７６は、デジタル無線回線４７１を介して無線アクセスポイント４７２と通信することによって、デジタル画像に関連するデータを含むデジタルデータを送受信することができる。無線モバイル装置３７６および無線アクセスポイント４７２は、本発明の範囲および精神を逸脱することなく、デジタル無線回線４７１を介してデジタルデータを送信するための技術的に実現可能な任意の送信技術を実現することができる。特定の実施形態において、仮想構造を用いて１つ以上のデータセンタ４８０、４８１を実装することができる。これによって、所定のデータセンタ４８０、４８１内の各システムおよびサブシステムは、特定のデータ処理およびネットワーク作業を実行するように構成された仮想マシンを構成することができる。他の実施形態において、１つ以上のデータセンタ４８０および４８１は、複数の物理サイトに亘って物理的に分散されてもよい。
【０１１５】
無線モバイル装置３７６は、デジタルカメラを含むように構成されたスマートフォン、無線ネットワーク接続を含むように構成されたデジタルカメラ、実物増強装置、デジタルカメラおよび無線ネットワーク接続を含むように構成されたラップトップ、またはデジタル撮影システムおよび無線ネットワーク接続を含むように構成された他の技術的に実現可能な任意のコンピューティング装置を含むことができる。
【０１１６】
さまざまな実施形態において、無線アクセスポイント４７２は、デジタル無線回線４７１を介して無線モバイル装置３７６と通信し、技術的に実行可能な任意の伝送媒体、例えば、任意の電気伝送媒体、任意の光学伝送媒体または任意の無線伝送媒体を介してデータネットワーク４７４と通信するように構成されてもよい。例えば、一実施形態において、無線アクセスポイント４７２は、無線アクセスポイント４７２およびデータネットワーク４７４内のルータシステムまたはスイッチシステムに接続された光ファイバを介して、データネットワーク４７４と通信することができる。広域ネットワーク（ＷＡＮ）リンクなどのネットワークリンク４７５は、データネットワーク４７４とデータセンタ４８０との間にデータを送信するように構成することができる。
【０１１７】
一実施形態において、データネットワーク４７４は、ルータ、スイッチ、長距離伝送システム、支給システム、認可システム、およびネットワークエンドポイントの間に、例えば無線アクセスポイント４７２とデータセンタ４８０との間にデータを伝送するように構成された通信および演算サブシステムの技術的に実現可能な組み合わせを含むことができる。一実現例において、モバイル装置３７６は、データネットワーク４７４に接続された１つ以上の無線アクセスポイントを介してデータセンタ４８０と通信するように構成された複数の無線モバイル装置のうち１つを含むことができる。
【０１１８】
さらに、さまざまな実施形態において、データセンタ４８０は、スイッチ／ルータ４８２および少なくとも１つのデータサービスシステム４８４を含むがこれらに限定されない。スイッチ／ルータ４８２は、ネットワークリンク４７５と各データサービスシステム４８４との間に、データトラフィックを伝送することができる。スイッチ／ルータ４８２は、イーサネット（登録商標）メディアレイヤ伝送、レイヤ２スイッチング、レイヤ３ルーティングなどの技術的に実現可能な伝送技術を実装することができる。スイッチ／ルータ４８２は、データサービスシステム４８４とデータネットワーク４７４との間に、データを送信するように構成された１つ以上の個別のシステムを備えることができる。
【０１１９】
一実施形態において、スイッチ／ルータ４８２は、複数のデータサービスシステム４８４の間でセッションレベルの負荷分散を実現することができる。各データサービスシステム４８４は、少なくとも１つの計算システム４８８および１つ以上の記憶システムを含むことができる。各計算システム４８８は、１つ以上の処理装置、例えば、中央処理装置、グラフィック処理装置またはそれらの任意の組み合わせを含むことができる。所定のデータサービスシステム４８４は、共同動作するように構成された１つ以上の物理的に異なるシステムを備える物理システムとして実装されてもよい。代替的には、所定のデータサービスシステム４８４は、任意の物理システム上で実行される１つ以上の仮想システムを備える仮想システムとして実装されてもよい。特定のシナリオにおいて、データネットワーク４７４は、例えばネットワークリンク４７６を介して、データセンタ４８０と別のデータセンタ４８１との間でデータを送信するように構成することができる。
【０１２０】
別の実施形態において、ネットワークサービスシステム４００は、本発明の１つ以上の実施形態を実装するように構成された任意のネットワーク接続モバイル装置を含むことができる。例えば、いくつかの実施形態において、２つの異なる無線モバイル装置間に、アドホック無線ネットワークなどのピアツーピア（Ｐ２Ｐ）ネットワークを確立することができる。このような実施形態において、デジタル画像データをデータセンタ４８０に送信する必要なく、２つの無線モバイル装置間で送信することができる。
【０１２１】
以下、ユーザの要望に従って、前述した方法が実施され得るさまざまなオプション構造および用途に関するより事例的な情報を説明する。特に留意すべきことは、以下の情報は、説明の目的のために記載されたものであり、いかなる限定として考えるではないことである。以下の特徴のいずれかは、必要に応じて、記載された他の特徴をと共に組み込むことができ、または他の特徴を除外して組み込むことができる。
【０１２２】
図５は、一実施形態に従って、アプリケーションプロセッサと通信するカメラシステム５００を示す。必要に応じて、カメラシステム５００は、本明細書に開示された図面のいずれかの詳部に関連して実装されてもよい。しかしながら言うまでもなく、任意の所望の環境でカメラシステム５００を実装することができる。さらに、前述した定義は、以下の説明に同様に適用することができる。
【０１２３】
図示のように、カメラモジュール３３０は、画像センサ３３２を含み、画像センサ３３２は、アナログ−デジタルコンバータ５０２（Ａ／Ｄコンバータ）と通信し、Ａ／Ｄコンバータ５０２は、コントローラ３３３と通信し、コントローラ３３３は、アプリケーションプロセッサと通信することができる。一実施形態において、Ａ／Ｄコンバータの出力５０４は、コントローラ３３３に提供される。別の実施形態において、Ａ／Ｄコンバータ５０２は、コントローラ３３３に一体化される。
【０１２４】
一実施形態において、レンズ３９０は、撮影される光学シーン情報を画像センサ３３２上に合焦するように構成されてもよい。その後、画像センサ３３２によって撮影された光学シーン情報は、後続処理およびアプリケーションプロセッサ３３５への送信の少なくとも一方のために、画像センサ３３２からＡ／Ｄコンバータ５０２に送信される。コントローラ３３３は、画像センサ３３２によって撮影された光学シーン情報の記憶または処理された光学シーン情報の記憶を制御することができる。
【０１２５】
一実施形態において、コントローラ３３３は、画像センサ３３２と直接に通信することができる。例えば、一実施形態において、コントローラは、ハードワイヤード論理素子を含み、ハードウェア論理素子は、画像センサ３３２によって撮影され、Ａ／Ｄコンバータ５０２によって変換された画素データの少なくとも一部を処理するように構成される。このような実施形態において、コントローラは、変換された画素データを処理し、得られた制御信号を画像センサに送り返すことができる。例えば、一実施形態において、コントローラは、撮影画像の露光レベルを処理し、撮影画像に応じて制御信号の形にしたフィードバック（例えば、正確露光、過度露光、露光不足）を画像センサに提供することができる。
【０１２６】
別の実施形態において、コントローラ３３３は、アプリケーションプロセッサ３３５と通信することができる。さらに、図示のように、アプリケーションプロセッサ３３５は、デバイスドライバ５０８およびソフトウェアモジュール５１０と通信可能なカメラインターフェイス５０６を含む。
【０１２７】
一実施形態において、カメラインターフェイス５０６は、カメラモジュール３３０内のコントローラ３３３からの要求を受信し、結果をコントローラ３３３に直接にフィードバックすることができる。別の実施形態において、カメラインターフェイス５０６は、デバイスドライバ５０８と通信することができる。さまざまな実施形態において、コントローラ３３３内、カメラインターフェイス５０６内、デバイスドライバ５０８内、および／またはソフトウェアモジュール５１０内で、検索を行うことができる。
【０１２８】
一実施形態において、デバイスドライバ５０８を用いて、画素データに関連する範囲を決定することができる。例えば、一実施形態において、完全に暗い画素または完全に明るい画素に合焦しないことが望ましい場合がある。このような実施形態において、ヒストグラムデータに所定の関連曲線を乗算し、その結果を画像センサにフィードバックすることによって、画素データの取り込みを調整することができる。さらに、一実施形態において、ヒストグラムデータに関連曲線を乗算することにより、ヒストグラム分布の中央画素を合焦の目標にすることができる。当然ながら、他の実施形態において、カメラインターフェイス５０６および／またはソフトウェアモジュール５１０を用いて、画素データに関連する範囲を決定することができる。
【０１２９】
さらに、別の実施形態において、カメラモジュール３３０と共に、アプリケーションプロセッサ３３５の任意の構成素子を使用して、画素データの処理（例えば、画素データの露光の決定、画素データのホワイトバランスの決定）、画素データの計測（例えば、適切な露光の決定）、画素データの出力（例えば、ＪＰＥＧへの変換）、目標部位の決定（例えば、自動的にまたは手動フィードバックを介して）、目標部位の追跡、（例えば、製造者またはクラウド設定に基づいて）１つ以上の最適設定の適用、および／または画像センサ３３２に関連する任意の他の機能の提供を支援することができる。一実施形態において、図３Ａのプロセッサ複合体３１０は、アプリケーションプロセッサ３３５を含む。
【０１３０】
図６は、一実施形態に従って、１つ以上の目標部位を処理するためのカメラシステム６００を示す。必要に応じて、カメラシステム６００は、本明細書に開示された図面のいずれかの詳部に関連して実装されてもよい。しかしながら言うまでもなく、任意の所望の環境でカメラシステム６００を実装することができる。さらに、前述した定義は、以下の説明に同様に適用することができる。
【０１３１】
図示のように、カメラモジュール３３０は、これまで説明したように、画像センサ３３２で画像６０２を受信することができる。さらに、画像センサ３３２は、Ａ／Ｄコンバータ５０２を介して画像を出力することができる。画像６０２は、１つ以上の目標部位６０４および６０６を含むことができる。
【０１３２】
いくつかの実施形態において、１つ以上の目標部位６０４および６０６は、装置によって自動で選択されてもよい。例えば、一実施形態において、第１露光を画像に関連し、屋内露光設定で計測しない。さらに、第１目標部位（例えば、部位６０４）は、屋外に関連する露光に対応し、第２目標部位（例えば、部位６０６）は、顔に関連する露光に対応することができる。このような実施形態において、結果を最適化するために、（例えば、ハードワイヤード論理素子によって）最初に第１露光を計測しておいてもよい。目標部位は、（例えば、過度露光領域、検出された顔および／または物体に基づいて）装置によって選択されてもよい。
【０１３３】
別の実施形態において、目標部位は、ユーザによって手動で選択されてもよい。例えば、一実施形態において、画像センサ３３２は、Ａ／Ｄコンバータ５０２を介して画像を出力し、演示装置（例えば、スクリーン）に表示させることができる。装置のユーザは、（例えば、スクリーンにタッチすることによって）第１目標部位（例えば、屋外）を選択し、選択された領域を暗くするように指示することができる。さらに、ユーザは、第２目標部位（例えば、顔）を選択し、選択されたものが顔であり、顔最適化設定を適用すべきであることを指示することができる。これらの選択に基づいて、目標部位から生成された露光情報（付随する露光および／または設定などを含む）が、画像センサ３３２にフィードバックされる。その後、画像センサは、目標部位に関連する情報に基づいて、画像を取り込むことができる。
【０１３４】
一実施形態において、画像センサ３３２は、（例えば、通常の第１露光、屋外設定に基づく第２露光、顔の特徴を最適化する第３露光で）複数の画像を取り込み、取り込んだ複数の画像を混合することによって、１つの合成画像を形成することができる。別の実施形態において、画像センサ３３２は、１組の画素データを取り込み、画素データに複数のゲインを適用し（例えば、画素データに第１のＩＳＯを適用してから、画素データに第２のＩＳＯを適用し）、結果として得られた各画像（例えば、ゲイン＋画素データ）を使用して、他の全ての結果画像と組み合わせることによって、１つの混合画像を形成することができる。
【０１３５】
いくつかの実施形態において、２つ以上の結果画像の混合は、目標部位に優先順位の割り当てを含むことができる。例えば、一実施形態において、第１結果画像は、通常露光に関連付けられ、第２結果画像は、第１目標部位に関連付けられる。第１結果画像および第２結果画像を混合する場合、第１目標部位に関して第２画像に優先度を与える（すなわち、主に第２画像からの第１目標部位に関連する画素データを混合する）。
【０１３６】
別の実施形態において、目標部位に関連して、画素データを取り込むことができる。例えば、一実施形態において、ユーザは、第１目標部位を選択し、露光を暗くする必要があること（例えば、屋外）を示すことができる。したがって、目標部位の露光を低減することができ、画素データを取り込むときに、画像センサは、目標部位に関連する画素データのみを取り込むことができる（すなわち、目標部位以外の画素データを取り込みない）。このようにして、目標部位に関連する画素データのみを取り込むため、取り込む量が低減する。画素データの取り込む量が低減したため、その後の処理がより迅速になり、画像の全体を取り込むための露光情報を決定することができる。別の実施形態において、画像センサが画素データを取り込み、アナログ画素データに第１ゲイン（例えば、第１通常露光）を適用した場合、第１目標部位に関連するアナログ画素に第２ゲインを適用することができる。アナログ画素に第２ゲインを適用する場合、第２ゲインは、第１目標部位のみに適用されてもよい（すなわち、他の領域の画素データを除外する）。
【０１３７】
当然ながら、他の実施形態において、上記に説明したように（例えば、図５、図３Ｇ）、Ａ／Ｄコンバータ５０２からの出力は、継続して他の構成要素に与えることができる。
【０１３８】
図７は、一実施形態に従って、ホワイトバランスを調整するためのカメラシステム７００を示す。必要に応じて、カメラシステム７００は、本明細書に開示された図面のいずれかの詳部に関連して実装されてもよい。しかしながら言うまでもなく、任意の所望の環境でカメラシステム７００を実装することができる。さらに、前述した定義は、以下の説明に同様に適用することができる。
【０１３９】
図示のように、カメラシステム７００は、カメラモジュール３３０、画像センサ３３２、Ａ／Ｄコンバータ５０２、Ａ／Ｄコンバータ出力５０４、ＲＧＢコントローラ７０２、赤色チャネル出力７０４、緑色チャネル出力７０６、青色チャネル出力７０８、加算モジュール７１０、および補正信号７１２を含んでもよい。
【０１４０】
さまざまな実施形態において、画像センサ３３２、Ａ／Ｄコンバータ５０２およびＡ／Ｄコンバータ出力５０４は、既に説明したように動作することができる。
【０１４１】
一実施形態において、ＲＧＢコントローラ７０２は、Ａ／Ｄコンバータ５０２からの出力を受信し、処理することができる。一実施形態において、ＲＧＢコントローラ７０２を用いて、画素データの各色チャネルに関連する画素輝度を決定することができる。さらに、ＲＧＢコントローラ７０２を用いて、各チャネル（例えば、赤、緑、青）を正規化することができる。
【０１４２】
ＲＧＢコントローラ７０２は、画素データの処理（例えば、各チャンネルの正規化）を終了した後、ＲＧＢコントローラ７０２は、カラーチャンネル出力を出力することができる。例えば、一実施形態において、ＲＧＢコントローラ７０２は、赤色チャネル、緑色チャネルおよび青色チャネルの係数を出力することができる。さまざまな実施形態において、この係数は、赤色チャネル出力７０４、緑色チャネル出力７０６、および青色チャネル出力７０８に対応することができる。
【０１４３】
一実施形態において、係数は、一画素に対する一色チャネルの輝度値を含むことができる。例えば、一実施形態において、ホワイトバランスの補正は、加算モジュール７１０においてフレームごとに行うことができ、アナログゲインを指定するフィードバックは、（例えば、色補正係数に基づいて）達成すべきホワイトバランス制約を引き起こすことができる。このような実施形態において、ホワイトバランス補正は、少なくとも部分的に、グレイワールド制約（例えば、グレイワールドアルゴリズム、全てのカラーの平均がグレーであること）に基づくことができる。さらに、各カラーチャンネルのアナログゲインを指定するフィードバックは、画像センサ３３２にフィードバックされてもよい。
【０１４４】
別の実施形態において、ホワイトバランスの補正は、加算モジュール７１０においてフレームごとに行うことができ、ホワイトバランス補正を指定するフィードバックは、（例えば、Ａ／Ｄコンバータ５０２による）デジタル量子化の前に、アナログ領域（例えば、画像センサ３３２）に、または（例えば、ＲＧＢコントローラ７０２の）デジタル領域に適用することができる。当然ながら、一実施形態において、演算結果をフィードバックすることは、画像センサ、アナログ−デジタルコンバータ、またはアナログ−デジタルコンバータからのデジタル出力のうち少なくとも１つに、結果を与えることを含んでもよい。
【０１４５】
一実施形態において、補正信号７１２は、ＲＧＢコントローラ７０２からのデジタル画素データに適用されてもよい。一実施形態において、ＲＧＢコントローラ７０２は、デジタル画素データを色成分（例えば、赤、緑）を分離し、７０４、７０６および７０８（および／または他のパス）を介してデジタル画素を加算モジュール７１０に送信することができる。一実施形態において、加算モジュールは、グレーワールド制約を仮定して、各色チャネルを加算し、平均化する。
【０１４６】
別の実施形態において、加算モジュール７１０からの画素データは、ＲＧＢコントローラにフィードバックされ、他のパラメータ（例えば、露光、彩度）を変更する必要があるか否かを決定することができる。当然ながら、他の実施形態において、同一の素子（例えば、同一の画像センサダイ、コントローラダイ、またはプロセッサ複合体／アプリケーションプロセッサのダイ）上で、ＲＧＢコントローラ７０２および加算モジュール７１０を実装することができる。
【０１４７】
別の実施形態において、加算モジュール７１０を使用して、画素データに関連する他の統計値を得ることができる。例えば、一実施形態において、加算モジュールは、ホワイトバランス補正係数の計算に使用される色チャネル彩度値を加算することができる。このような実施形態において、補正信号７１２は、ホワイトバランス補償信号を含むことができる。別の実施形態において、加算モジュール７１０は、所定のフレームのヒストグラムを生成するように構成される。その後、ヒストグラムを処理することによって、露光情報を生成することができる。生成された露光情報は、次のフレームで画像センサ３３２にフィードバックすることができる。
【０１４８】
一実施形態において、補正信号７１２をＲＧＢコントローラ７０２の出力画素７１４に適用することは、ＲＧＢコントローラ７０２（またはプロセッサーダイ上の他の処理複合体）によって、（例えば、加算モジュール７１０によって計算された）補正係数を現在画像（または任意の後続画像）に適用することを含む。さらに、ＲＧＢコントローラ７０２によって、補正係数を次の画像に適用することができる。このような実施形態において、次の画像に補正係数を適用することは、ビデオフレームに対して特定の用途を有することができる。この場合、ビデオフレームを再生しながら、リアルタイムで色補正（例えば、ホワイトバランス）を計算し、フレームを補正することができる（すなわち、ビデオストリームの表示を遅くしないように、各フレームを計算および補正するのではなく、各フレームを後続のフレームに対して補正する）。
【０１４９】
一実施形態において、補正信号７１２は、加算モジュール７１０からの統計値を含むことができ、その統計値（例えば、ホワイトバランス統計値、ホワイトバランス係数、露光、露光係数）は、ローパスフィルタ（例えば、移動平均フィルタ）を用いて減衰することができる。例えば、減衰によって、次のフレームではなく、数秒内で実質的に新しいホワイトバランスを有効にすることができる。したがって、一実施形態において、シーンが変化する場合（例えば、カメラを移動して、新しい被写体に合焦する場合）、例えば、カメラを第１シーンから第２シーンに移動するときに各フレームのホワイトバランスを再調整するのではなく、最初のシーン（最初にカメラを向けた場所）および最終のシーン（現在カメラを向けている場所）に基づき、ホワイトバランスを再調整することができる。
【０１５０】
図８は、一実施形態に従って、合焦を行うための周波数方法８００を示す。必要に応じて、周波数方法８００は、本明細書に開示された図面のいずれかの詳部に関連して実行されてもよい。しかしながら言うまでもなく、任意の所望の環境で周波数方法８００を実行することができる。さらに、前述した定義は、以下の説明に同様に適用することができる。
【０１５１】
図示のように、周波数方法８００は、画素データの行８０２を含むことができる。一実施形態において、行８０２は、画素データの１つ以上のブロック８０４を含むことができる。一実施形態において、１つ以上のブロック８０４は、画素データの８×８ブロック組を含むことができる。さらに、一実施形態において、画素データ（例えば、画素データのブロック）に対して、離散コサイン変換（ＤＣＴ）を実行することができる。他の実施形態において、画素データは、ＤＣＴによって既に処理されたものであってもよい。
【０１５２】
別の実施形態において、画素データのラインは、１次元高速フーリエ変換（１ＤＦＦＴ）８０６に従って処理されてもよい。このような実施形態において、空間領域画像データ（例えば、彩度画像データ）は、周波数領域画像データに変換される。同様に、他の技術を適用して、空間領域画像データを周波数領域画像データに変換することができる。
【０１５３】
図示のように、周波数領域グラフ８１０は、低周波数値８０８および高周波数値８１２を含むことができる。一実施形態において、周波数領域グラフ８１０を用いて、１つ以上の周波数値に基づいて画素データを分類することができる。一実施形態において、周波数領域値の上位２５％（８１６）を表す値の加算値を基準として用いて、合焦信号を生成することができる。
【０１５４】
一実施形態において、画像の焦点が非常に合っておらず、画像に対してＤＣＴを実行した場合、非常に低い周波数成分が存在する可能性がある。このことは、例えば、焦点が合っており、より高い周波数成分（例えば、ＤＣ成分が低くなる）の加算値を含む画像とは対照的である。このような実施形態において、ハードワイヤード論理素子を用いて、画素データの少なくとも１つ以上のラインを分析することができ、分析操作は、周波数分析の実行を含む。
【０１５５】
特定の実施形態において、画素データのラインをハードワイヤード論理素子に入力し、画素データに対して、１ＤＦＦＴ（例えば、ＦＦＴ）を含む演算を実行することによって、高周波数データおよび低周波数データの両方を含む結果を生成することができる。画像フレームを構成する周波数値ラインの加算に基づき、周波数データを示すヒストグラムをコンパイルすることができる。この実施形態において、画素データの新しいラインをハードワイヤード論理素子に入力し、所定のフレームに対して、周波数ヒストグラム内の周波数値の最終的な加算値を生成することができる。このようにして、画素データのフレームを構成する画素データのラインに基づいて、完全なヒストグラムを構築することができる。一実施形態において、周波数中央点などのヒストグラムパラメータは、焦点距離を表す。カメラモジュール内のレンズの焦点範囲に亘って焦点距離を最大化することは、画像が最適な焦点に位置するポイントに対応する。周波数領域ヒストグラムを計算する操作は、画像の焦点を目標部位の周りに合わせするために、フレーム内のサブ領域に対して実行されてもよい。図示のように、曲線８１８は、レンズの焦点位置の関数としての焦点距離を示す。図示のように、焦点距離を最適化するレンズの焦点位置を見付けるために、シーク処理を実行することができる。当然ながら、技術的に実現可能な任意の方法（例えば、派生分析、試行値に基づく確率分析）を用いて、曲線に関連する最大値を計算することができる。
【０１５６】
このようにして、さまざまな実施形態において、画像の全体または画像の１つ以上の目標部位を、焦点を計算するための基礎として使用することができる。別の実施形態において、８×８ブロックの画素データをハードワイヤード論理素子に入力し、画素データに対してＤＣＴを含む演算を実行することによって、高周波数データおよび低周波数データの両方を含む結果を生成することができる。特定の範囲（および／または複数の範囲）の周波数値を加算し、その結果を用いて、周波数ヒストグラムを生成することができる。一実施形態において、ヒストグラムを用いて、画素データの複数のブロック、画素データの複数の行、画素データの複数の列に基づいて、最大値（例えば、焦点距離）を計算することができる。当然ながら、いくつかの実施形態において、上記の記載に基づいて、合焦する機能は、シーン情報および／またはテキスト情報を含む画像データに影響を及ぼす。さらに、一実施形態において、特定のフレームの焦点距離は、そのフレームの高周波数成分の加算値であってもよい。
【０１５７】
他の実施形態において、ソフトウェア論理素子およびハードウェア論理素子の組み合わせを用いて、焦点を合わせることができる。例えば、一実施形態において、ハードウェア論理素子を用いて、静的シーンに焦点を完全に合わせることができる。しかしながら、別の実施形態において、対象物は、周囲に走っている子供である可能性がある。このような実施形態において、ソフトウェアを用いて対象物を追跡し、ハードウェア論理素子を用いて、ソフトウェアによって決定された位置に基づいて焦点を合わせることができる。当然ながら、他の実施形態において、ハードウェアおよびソフトウェアの任意の組み合わせを用いて、画素データの焦点を合わせることができる。
【０１５８】
図示のように、プロット８２０は、焦点距離−焦点位置を示す。一実施形態において、曲線８１８は、焦点位置の関数としての焦点距離に対応する。さらに、第１点８２２は、第１ぼやけた焦点位置（ぼやけ１）を表し、第２点８２４は、第２ぼやけた焦点位置（ぼやけ２）を表す。第１点８２２および第２点８２４に基づいて、最大焦点距離に対応する正しい点８２６が決定される。さまざまな実施形態において、１つ以上のプロセッサは、焦点距離曲線８１８に沿って２つ以上の点を算入することによって、焦点位置を決定することができる。当然ながら、当技術分野で知られている任意の方法（例えば、最大値を決定するための微分）を用いて、焦点距離の最大値を決定することができる。他の実施形態において、焦点距離曲線８１８は、フレームの高周波数成分の単純和を表す。例えば、焦点距離曲線８１８は、焦点位置の関数としての周波数成分の上位２５％の和を表すことができる。
【０１５９】
図９は、本発明の一実施形態に従って、合成画像９２０を生成するためのユーザインターフェイス（ＵＩ）システム９００を示す。必要に応じて、ＵＩシステム９００は、本明細書に開示された図面のいずれかの詳部に関連して実装されてもよい。しかしながら言うまでもなく、任意の所望の環境でＵＩシステム９００を実装することができる。さらに、前述した定義は、以下の説明に同様に適用することができる。
【０１６０】
一実施形態において、合成画像９２０は、少なくとも２つの関連するデジタル画像の組み合わせを含む。一実施形態において、合成画像９２０は、第１デジタル画像と第２デジタル画像とを組み合わせた表現を含むがこれに限定されない。別の実施形態において、合成画像９２０を計算するために使用されたデジタル画像は、少なくとも２つの異なるゲインでアナログ信号を増幅することによって生成され得る。このアナログ信号は、画像センサに集束された光学画像に基づいて取り込まれた光学シーン情報を含む。さらに別の実施形態において、アナログ信号は、少なくとも２つの異なるゲインを用いて、画素ごと、ラインごと、またはフレームごとに増幅されてもよい。
【０１６１】
一実施形態において、ＵＩシステム９００は、画像表示部９１０を提供する。画像表示部９１０は、合成画像９２０、トラック９３２に沿って移動するように構成されたスライダ制御部９３０、および各々が画像表示部９１０内に表示された視覚マーカを含む２つ以上の指示点９４０を含むが、これらに限定されない。
【０１６２】
一実施形態において、ＵＩシステム９００は、デジタル撮影システム３００のプロセッサ複合体３１０内で実行される調整ツールによって生成され、画像表示部９１０は、表示ユニット３１２上で表示される。一実施形態において、少なくとも２つのデジタル画像、例えば少なくとも２つの関連するデジタル画像は、合成画像９２０を生成するための元画像を構成する。少なくとも２つのデジタル画像は、不揮発性メモリ３１６、揮発性メモリ３１８、メモリサブシステム３６２、またはそれらの任意の組み合わせに保存され得る。別の実施形態において、ＵＩシステム９００は、ラップトップコンピュータまたはデスクトップコンピュータなどのコンピュータシステム内で実行される調整ツールによって生成される。少なくとも２つのデジタル画像は、コンピュータシステムに送信されてもよく、または付属のカメラ装置によって生成されてもよい。さらに別の実施形態において、ＵＩシステム９００は、クラウドベースのサーバコンピュータシステムによって生成され、このサーバコンピュータシステムは、少なくとも２つのデジタル画像をクライアントブラウザにダウンロードすることができる。クライアントブラウザは、以下で説明する合成動作を実行することができる。別の実施形態において、ＵＩシステム９００は、クラウドベースのサーバコンピュータシステムによって生成され、このサーバコンピュータシステムは、モバイル装置内のデジタル撮影システムから少なくとも２つのデジタル画像を受信し、以下で説明する合成動作を実行して、合成画像９２０を生成することができる。
【０１６３】
スライダ制御部９３０は、指示点９４０−Ａおよび９４０−Ｃに対応する２つの端点の間に移動するように構成されてもよい。１つ以上の指示点、例えば指示点９４０−Ｂは、２つの端点の間に配置されてもよい。各指示点９４０は、特定のバージョンの合成画像９２０または少なくとも２つのデジタル画像の特定の組み合わせに関連付けられてもよい。例えば、指示点９４０−Ａは、第１ゲインを用いて生成された第１デジタル画像に関連付けられ、指示点９４０−Ｃは、第２ゲインを用いて生成される第２デジタル画像と関連付けられてもよい。第１デジタル画像および第２デジタル画像の両方は、単一の撮影シーンの同一のアナログ信号から生成される。一実施形態において、スライダ制御部９３０が指示点９４０−Ａに位置する場合、第１デジタル画像のみが画像表示部９１０において合成画像９２０として表示されてもよい。同様に、スライダ制御部９３０が指示点９４０−Ｃに位置する場合、第２デジタル画像のみが画像表示部９１０において合成画像９２０として表示されてもよい。
【０１６４】
一実施形態において、指示点９４０−Ｂは、第１デジタル画像および第２デジタル画像の混合画像に関連付けられてもよい。例えば、スライダ制御部９３０が指示点９４０−Ｂに位置する場合、合成画像９２０は、第１デジタル画像および第２デジタル画像の混合画像であってもよい。一実施形態において、第１デジタル画像および第２デジタル画像の混合は、アルファブレンディング、輝度ブレンディング、ダイナミックレンジブレンディング、および／またはトーンマッピングまたは他の非線形ブレンディングおよびマッピング演算を含むことができる。別の実施形態において、第１デジタル画像および第２デジタル画像の混合は、より大きなダイナミックレンジまたは単独の第１画像および第２画像のいずれかとは異なる他の視覚特性を有する新しい画像を形成することができる。したがって、第１デジタル画像および第２デジタル画像の混合は、合成画像９２０として表示され得るまたは合成画像９２０を生成するために使用され得る新しいＨＤＲ画像を形成することができる。そのために、第１デジタル信号および第２デジタル信号を組み合わせて、ＨＤＲ画像の少なくとも一部を生成することができる。さらに、第１デジタル信号および第２デジタル信号のうちの一方を、別のデジタル画像またはデジタル信号の少なくとも一部とさらに組み合わせることができる。一実施形態において、他のデジタル画像は、別のＨＤＲ画像を含むことができる。
【０１６５】
一実施形態において、スライダ制御部９３０が指示点９４０−Ａに位置する場合、第１デジタル画像は、合成画像９２０として表示され、スライダ制御部９３０が指示点９４０−Ｃに位置する場合、第２デジタル画像は、合成画像９２０として表示される。さらに、スライダ制御部９３０が指示点９４０−Ｂに位置する場合、混合画像は、合成画像９２０として表示される。このような実施形態において、スライダ制御部９３０が指示点９４０−Ａと指示点９４０−Ｃとの間に位置する場合、第１デジタル画像および第２デジタル画像のミックス（例えば、混合）重みを計算することができる。第１デジタル画像の場合、スライダ制御部９３０が指示点９４０−Ｃに位置するときに、ミックス重みは、０．０という値を有するように計算され、スライダ制御部９３０が指示点９４０−Ａに位置するときに、ミックス重みは、１．０という値を有するように計算され、スライダ制御部９３０が指示点９４０−Ｃと９４０−Ａとの間に位置するときに、ミックス重みは、０．０〜１．０の範囲にある。ミックス演算を参照すると、スライダ制御部９３０が指示点９４０−Ｃに位置するときに、ミックス重みは、０．０という値を有するように計算され、スライダ制御部９３０が指示点９４０−Ａに位置するときに、ミックス重みは、１．０という値を有するように計算され、スライダ制御部９３０が指示点９４０−Ｃと９４０−Ａとの間に位置するときに、ミックス重みは、０．０〜１．０の範囲にある。
【０１６６】
一実施形態において、第１デジタル画像および第２デジタル画像の少なくとも１つに関連する少なくとも１つのミックス重みに基づいて、第１デジタル画像および第２デジタル画像にミックス演算を適用することができる。一実施形態において、１．０のミックス重みは、１．０ミックス重みに関連付けられたデジタル画像に完全なミックス重みを与える。このようにして、ユーザは、第１デジタル画像および第２デジタル画像を混合することができる。この目的のために、第１デジタル信号および第２デジタル信号は、ユーザの入力に応答して、混合されてもよい。例えば、スライド指示が表示され、第１デジタル信号および第２デジタル信号が、ユーザによって操作されたスライド指示に応答して、混合されてもよい。
【０１６７】
このミックス重みおよびミックス操作システムは、第１デジタル画像、第２デジタル画像、および第１デジタル画像から第２デジタル画像に段階的な進行するものとしての混合画像を観察するためのＵＩツールを提供する。一実施形態において、ユーザは、スライダ制御部９３０の任意位置に対応して合成画像９２０を保存することができる。ＵＩシステム９００を実現する調整ツールは、技術的に実現可能な任意のジェスチャまたは技術を介して合成画像９２０を保存するコマンドを受信することができる。例えば、調整ツールは、ユーザが合成画像９２０によって占められた領域内にジェスチャをする場合、合成画像９２０を保存するように構成されてもよい。代替的には、調整ツールは、ユーザがスライダ制御部９３０を移動せず、単に押しているときに、合成画像９２０を保存する。別の実施態様において、調整ツールは、ユーザが保存コマンドを受信するように構成された保存ボタンなどのＵＩ要素（図示せず）を押すなどのジェスチャをするときに、合成画像９２０を保存することができる。
【０１６８】
したがって、スライダ制御部を用いて、合成画像９２０のような最終の計算画像を生成するために、２つ以上のデジタル画像の寄与度を決定することができる。当業者であれば、本発明の範囲および精神を逸脱することなく、２つ以上の関連する画像に関連する２つ以上の指示点を含むように、上述のミックス重みおよびミックス操作システムを一般化することができる。これらの関連画像は、以下に限定されないが、例えば同一のアナログ信号を用いて生成され、異なる輝度値を有する任意数のデジタル画像を含んでもよく、それらのゼロフレーム間時間は、ゼロであってもよい。
【０１６９】
さらに、ユーザからミックス重み入力または色調整入力を与えるように、スライダ９３０ではなく、回転ノブのような異なる連続位置ＵＩ制御部を実装することができる。
【０１７０】
当然ながら、他の実施形態において、他のユーザインターフェイスを用いて、１つ以上の（例えば、合焦、計測）目標部位の選択、画像に関連する１つ以上のパラメータ（ホワイトバランス、彩度、露光）の調整に関する入力、および／または何らかの方法で画像に影響を与える可能性のある他の入力を受信することができる。
【０１７１】
図１０は、本発明の一実施形態に従って、合成画像を生成するための方法１０００を示すフローチャートである。必要に応じて、方法１０００は、本明細書に開示された図面のいずれかの詳部に関連して実行されてもよい。しかしながら言うまでもなく、任意の所望の環境で方法１０００を実行することができる。さらに、前述した定義は、以下の説明に同様に適用することができる。
【０１７２】
方法１０００は、ステップ１０１０から開始する。ステップ１０１０において、プロセッサ複合体３１０などのプロセッサ複合体に実行される調整ツールは、少なくとも２つの関連する元画像、例えば、図９に関連して記載された第１デジタル画像および第２デジタル画像をロードする。ステップ１０１２において、調整ツールは、ＵＩ制御部、例えば図９のスライダ制御部９３０の位置を初期位置に初期化する。一実施形態において、初期位置は、ＵＩ制御部の範囲値の端点、例えば指示点９４０−Ａを含む。別の実施形態において、初期位置は、少なくとも２つの関連する元画像のうちの１つ以上に基づいて計算された値を含む。特定の実施形態において、初期位置は、少なくとも第１デジタル画像および第２デジタル画像を含む画像に関連して、ユーザによって以前に選択された値に初期化される。
【０１７３】
ステップ１０１４において、調整ツールは、ＵＩ制御部の位置および少なくとも２つの関連する元画像に基づいて、合成画像、例えば図９の合成画像９２０を生成して表示する。一実施形態において、合成画像を生成することは、図９を参照して記載したように、少なくとも２つの関連する元画像を混合することを含む。ステップ１０１６において、調整ツールは、ユーザ入力を受信する。ユーザ入力は、画像表示部９１０内の選択ジェスチャまたはクリックジェスチャなどのＵＩジェスチャを含むがこれらに限定されない。ステップ１０２０で、ユーザ入力がＵＩ制御部の位置を変更する場合、調整ツールは、ＵＩ制御部の位置を変更し、方法は、ステップ１０１４に戻る。そうでない場合、方法は、ステップ１０３０に進む。
【０１７４】
ステップ１０３０において、ユーザ入力が終了コマンドを含まない場合、方法は、ステップ１０４０に進む。ステップ１０４０において、調整ツールは、ユーザ入力に関連するコマンドを実行する。一実施形態において、コマンドは、保存コマンドを含み、調整ツールは、ＵＩ制御部の位置に従って生成された合成画像を保存する。その後、方法は、ステップ１０１６に戻る。
【０１７５】
ステップ１０３０において、ユーザ入力が終了コマンドを含む場合、方法は、ステップ１０９０で終了する。調整ツールは、終了することによって、実行を終了させる。
【０１７６】
当然ながら、さまざまな実施形態において、調整ツールは、画像に関連する１つ以上目標部位、１つ以上のホワイトバランスポイントおよび／または任意の他のパラメータを混合するために使用されてもよい。いくつかの実施形態において、調整ツールは、２つ以上の画像に関連するフルシーン（例えば、画像の全体）に関連してもよい。他の実施形態において、調整ツールは、画像のサブセット（例えば、特定の点）に関連してもよい。
【０１７７】
本発明の１つの利点は、撮影シーンの単一撮影時に２つ以上の異なる露光を用いて、ユーザ入力に基づいて、デジタル写真を選択的に生成することができることである。したがって、ユーザ入力に基づいて生成されたデジタル写真は、個別の露光よりも大きなダイナミックレンジを有することができる。さらに、フレーム間時間がゼロである２つ以上の異なる露光を用いてＨＤＲ画像を生成することによって、モーションアーチファクトを有しなく、ＨＤＲ画像を迅速に生成することができる。
【０１７８】
さらに、さまざまな実施形態において、シーン内に動きがあった場合または撮影中に撮影装置にジッタが発生した場合、いくつかの実施形態は、フレーム間露光時間が最終的に合併された写真に動きぼやけを生じさせることを対処する。このようなぼやけは、フレーム間時間の増加に連れて著しく大きくなる可能性がある。この問題を解決するために、ＨＤＲは、非常に静的シーン以外の状況でも、鮮明な画像を取り込む効果的な解決策である。
【０１７９】
さらに、他の実施形態において、ＨＤＲ写真を生成するための従来の技術は、多くの計算資源を必要とする一方、結果として得られる画像の画質を低下させるアーチファクトを生成することもある。したがって、厳密に必要に応じて、本明細書に開示される１つ以上の技術を利用して、上記の問題の１つ以上を対処することができる。
【０１８０】
さらに、さまざまな実施形態において、本明細書に開示された１つ以上の技術は、さまざまな市場および／または製品に適用することができる。例えば、これらの技術は、写真撮影に関して開示されているが、テレビ、ウェブ会議（またはライブストリーミング能力）、セキュリティカメラ（例えば、特徴を特定するために、コントラストを増加する）、自動車（例えば、運転手支援システム、車載インフォテインメントシステム）、および／またはカメラ入力を含む任意の他の製品であってもよい。
【０１８１】
上記でさまざまな実施形態を説明してきたが、これらの実施形態は、限定ではなく、単なる例示として提供されることを理解すべきである。したがって、好ましい実施形態の範囲は、上記の例示的な実施形態のいずれによっても制限されるべきではなく、添付の特許請求の範囲およびそれらの等価物によって規定されるべきである。
【図１】
2018503325.tif 000003
【図２】
2018503325.tif 000004
【図３Ａ】
2018503325.tif 000005
【図３Ｂ】
2018503325.tif 000006
【図３Ｃ】
2018503325.tif 000007
【図３Ｄ】
2018503325.tif 000008
【図３Ｅ】
2018503325.tif 000009
【図３Ｆ】
2018503325.tif 000010
【図３Ｇ】
2018503325.tif 000011
【図４】
2018503325.tif 000012
【図５】
2018503325.tif 000013
【図６】
2018503325.tif 000014
【図７】
2018503325.tif 000015
【図８】
2018503325.tif 000016
【図９】
2018503325.tif 000017
【図１０】
2018503325.tif 000018
【国際調査報告】
2018503325.tif 000019