(57)【要約】      （修正有）【課題】ビデオフレームの画像データを選択的に合成するためのシステムおよび方法を提供する。【解決手段】第１のビデオフレームに対応する第１の画像データ、および、第２のビデオフレームに対応する第２の画像データを画像センサから受信する。第２の画像データを、第１の画像データと第２の画像データとの対応する部分間のオフセットを少なくとも部分的に補償するように調整し、調整された第２の画像データを生成する。第１の画像データおよび調整された第２の画像データとを階層的に結合することによって合成ビデオフレームに対応する合成画像データを生成する。【選択図】図４
2015053694.tif 000002
【特許請求の範囲】
【請求項１】
第１のビデオフレームに対応する第１の画像データと、第２のビデオフレームに対応する第２の画像データとを受信することと、なお、前記第１のビデオフレームと前記第２のビデオフレームは、画像センサから受信され、
前記第２の画像データの対応する部分に対して前記第１の画像データの部分間のオフセットを少なくとも部分的に補償することによって、前記第２の画像データを調整して、調整された第２の画像データを生成することと、
前記第１の画像データと、前記調整された第２の画像データに対して階層型合成動作を実行することによって、合成ビデオフレームに対応する合成画像データを生成することと
を備える方法。
【請求項２】
前記合成画像データは、前記第１の画像データよりも高い解像度、前記第１の画像データよりも高いダイナミックレンジ、前記第１の画像データよりも広い被写界深度、前記第１の画像データよりも少ないノイズ、または、前記第１の画像データよりも少ない動きによるぼやけのうちの少なくとも１つを有する、請求項１に記載の方法。
【請求項３】
前記合成画像データを圧縮することと、前記圧縮された合成画像データをメモリデバイスに格納することとをさらに備える、請求項１に記載の方法。
【請求項４】
前記階層型合成動作は、粗い合成動作およびファイン合成動作を含む、請求項１に記載の方法。
【請求項５】
前記粗い合成動作は、前記調整された第２の画像データの１つ以上のマクロブロックと、前記第１の画像データの対応するマクロブロックとの差分が選択可能な閾値を超える場合に、前記調整された第２の画像データの前記１つ以上のマクロブロックを選択的に破棄することを含む、請求項４に記載の方法。
【請求項６】
前記ファイン合成動作は、フィルタリングされた画像特性を比較するために、前記第１の画像データと、前記調整された第２の画像データをフィルタリングすることを含み、前記第１の画像データの第１の値と、前記第２の画像データの対応する第２の値は、前記フィルタリングされた画像特性に基づいて選択的に合成される、請求項４に記載の方法。
【請求項７】
前記第２の画像データを調整することは、前記第２の画像の前記対応する部分に対して前記第１の画像データの部分間の前記オフセットに対応する動きベクトルのセットのデータを適用することを含む、請求項１に記載の方法。
【請求項８】
前記動きベクトルデータのセットは、階層型レジストレーションプロセスを介して決定される、請求項７に記載の方法。
【請求項９】
前記階層型レジストレーションプロセスは、
前記第１の画像の第１の部分と、前記第２の画像の第１の部分との第１の位置合わせされたオフセットを決定することと、
前記第１の位置合わせオフセットに基づいて、前記第１の画像の第２の部分と、前記第２の画像の第２の部分との第２の位置合わせされたオフセットを決定することとを含み、
前記第１の画像の第２の部分は、前記第１の画像の前記第１の部分内に存在する、請求項８に記載の方法。
【請求項１０】
第１のビデオフレームに対応する第１の画像データと、第２のビデオフレームに対応する第２の画像データとに基づいて動きベクトルデータのセットを生成するように構成されたレジストレーション回路と、なお、前記第１のビデオフレームおよび前記第２のビデオフレームは、画像センサから受信され、
階層型合成動作を実行して、前記第１の画像データと、調整された第２の画像データとを選択的に合成するために結合された合成回路と、ここで、前記調整された第２の画像データは、前記動きベクトルデータに従って調整された後の前記第２の画像データに対応し、
前記合成回路を制御して、合成ビデオフレームに対応する合成画像データを生成するための制御回路と
を備える装置。
【請求項１１】
前記合成画像データは、前記第１の画像データよりも高い解像度、前記第１の画像データよりも高いダイナミックレンジ、前記第１の画像データよりも広い被写界深度、前記第１の画像データよりも少ないノイズ、または、前記第１の画像データよりも少ない動きによるぼやけのうちの少なくとも１つを有する、請求項１０に記載の装置。
【請求項１２】
前記合成回路は、粗い合成回路と、ファイン合成回路とを含む、請求項１０に記載の装置。
【請求項１３】
前記合成回路は、
前記第１の画像データを受信するために結合された第１の入力と、前記第２の画像データを受信するために結合された第２の入力と、マクロブロック動きベクトル信号を受信するために結合された第３の入力と、位置合わせされた第１の画像出力と、位置合わせされた第２の画像出力とを有するマクロブロック画像位置合わせ回路と、
前記位置合わせされた第１の画像出力を受信するために結合された第１の入力と、前記位置合わせされた第２の画像出力を受信するために結合された第２の入力と、マクロブロック差分信号を受信するために結合された第３の入力とを有し、且つ、第１の画像差分出力と、第２の画像差分出力とを有するブロック差分弁別器回路と、
前記ブロック差分弁別器回路に結合され、平均画素差分結果を示すために画素差分出力信号を提供するように構成された第１の入力を有する平均画素差分回路と
を備える、請求項１０に記載の装置。
【請求項１４】
前記ブロック差分弁別器回路および前記平均画素差分回路の間に結合され、前記第１の画像差分出力を受信するために結合された第１の入力と、フィルタリングされた第１の画像差分出力を提供する出力とを有する第１のフィルタと、
前記ブロック差分弁別器回路および前記平均画素差分回路の間に結合された、前記第２の画像差分出力を受信するために結合された第１の入力と、フィルタリングされた第２の画像差分出力を提供するための出力とを有する第２のフィルタと
をさらに備える、請求項１３に記載の装置。
【請求項１５】
前記合成画像データを圧縮し、前記圧縮された合成画像データをメモリデバイスに格納するように構成された圧縮および記憶モジュールをさらに備える、請求項１０に記載の装置。
【請求項１６】
カメラレンズと、
前記第１の画像データを生成し、且つ、前記第２の画像データを生成するために前記カメラレンズに結合されたビデオキャプチャ回路と
をさらに備える、請求項１０に記載の装置。
【請求項１７】
アンテナを介してデータを送信および受信するために無線トランシーバに結合されプロセッサをさらに備える、請求項１６に記載の装置。
【請求項１８】
第１のビデオフレームに対応する第１の画像データと、第２のビデオフレームに対応する第２の画像データとに基づいて動きベクトルデータのセットを生成するためのレジストレーション手段と、なお、前記第１のビデオフレームおよび前記第２のビデオフレームは、画像センサから受信され、
階層型合成動作を実行して、前記第１の画像データと、調整された第２の画像データとを選択的に合成するための合成手段と、ここで、前記調整された第２の画像データは、前記動きベクトルデータに従って調整された後の前記第２の画像データに対応し、
前記合成回路を制御して、合成ビデオフレームに対応する合成画像データを生成するための制御手段と
を備える装置。
【請求項１９】
カメラレンズと、
前記第１の画像データおよび前記第２の画像データを生成するために前記カメラレンズに結合されたビデオキャプチャ手段と
をさらに備える、請求項１８に記載の装置。
【請求項２０】
前記合成画像データをエンコードして、エンコードされたビデオデータを生成するための手段をさらに備える、請求項１８に記載の装置。
【請求項２１】
コンピュータ実行可能コードを格納するコンピュータ可読媒体であって、前記コンピュータ実行可能コードは、
第１のビデオフレームに対応する第１の画像データと、第２のビデオフレームに対応する第２の画像データとを受信するためのコードと、なお、前記第１のビデオフレームと前記第２のビデオフレームは、画像センサから受信され、
前記第２の画像データの対応する部分に対して前記第１の画像データの部分間のオフセットを少なくとも部分的に補償することによって、前記第２の画像データを調整して、調整された第２の画像データを生成するためのコードと、
前記第１の画像データと、前記調整された第２の画像データに対して階層型合成動作を実行することによって、合成ビデオフレームに対応する合成画像データを生成するためのコードと
を備える、コンピュータ可読媒体。
【請求項２２】
前記合成画像データは、前記第１の画像データよりも高い解像度、前記第１の画像データよりも高いダイナミックレンジ、前記第１の画像データよりも広い被写界深度、前記第１の画像データよりも少ないノイズ、または、前記第１の画像データよりも少ない動きによるぼやけのうちの少なくとも１つを有する、請求項２１に記載のコンピュータ可読媒体。
【請求項２３】
ビデオエンコーダに前記合成画像データを提供して、エンコードされたビデオデータを生成するためのコードをさらに備える、請求項２１に記載のコンピュータ可読媒体。
【請求項２４】
前記階層型合成動作は、粗い合成動作およびファイン合成動作を含む、請求項２１に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［分野］
本開示は一般に、ビデオフレームの画像データを選択的に合成するためのシステムおよび方法に関する。
【背景技術】
【０００２】
［関連技術の記載］
テクノロジの進歩は、より小さく、よりパワフルな計算デバイスをもたらした。例えば、現在、小さく、軽量で、ユーザが容易に持ち運び可能なポータブル無線電話、携帯情報端末（ＰＤＡ）、ページングデバイスのような、無線計算デバイスを含む、様々なポータブルパーソナル計算デバイスが存在している。より具体的には、セルラ電話およびインターネットプロトコル（ＩＰ）電話のようなポータブル無線電話は、無線ネットワークを通して音声およびデータパケットを通信することができる。さらに、多くのそのような無線電話は、それに組み込まれる別のタイプのデバイスを含む。例えば、無線電話は、さらに、デジタルスチールカメラ、デジタルビデオカメラ、デジタルレコーダ、および、オーディオファイルプレーヤを含みうる。そのような無線電話は、インターネットにアクセスするために使用されうるウェブブラウザアプリケーションなどの、ソフトウェアアプリケーションを含む、実行可能な命令を処理することができる。そういうものとして、これらの無線電話は、重要な計算能力を含むことができる。
【０００３】
デジタル信号プロセッサ（ＤＳＰ）、画像プロセッサ、および別の処理デバイスは、デジタルカメラを含むポータブルパーソナル計算デバイスか、あるいは、デジタルカメラによってキャプチャされた画像(captured image)またはビデオデータを表示するポータブルパーソナル計算デバイスで頻繁に使用される。そのような処理デバイスは、ビデオおよびオーディオ機能を提供するため、キャプチャされた画像データのような受信データを処理するため、あるいは、別の機能を実行するために利用されうる。
【０００４】
キャプチャされた画像データは、手ブレによるズレ誤差（shifting error）、画像内の被写体の移動、露光過度、露光不足、近距離または遠距離における不十分な焦点整合（focus）、縦色収差(lateral chromatic aberration)、および幾何歪み(geometric distortion)のような１つ以上の問題を被る可能性がある。
【発明の概要】
【０００５】
ビデオフレームに対応する複数の画像は、個々の画像に起こりうる問題を克服するために画像のレジストレーション(registration)および合成を実行する構成可能な画像処理アーキテクチャを使用して合成されうる。制御装置は、入力画像データを合成する様々な効果を可能するために、階層型画像レジストレーションおよび階層型画像合成の動作を調整することができる。例えば、連続したビデオフレームに対応する画像データは、ゴースト（ghosting）を減らすことで手ブレを減らすため、向上された被写体深度(depth of field)を生成するため、解像度を改善するため、ダイナミックレンジを増やすため、あるいは、それらの組み合わせのために合成されうる。
【０００６】
ある特定の実施形態において、第１のビデオフレームに対応する第１の画像データおよび第２のビデオフレームに対応する第２の画像データを受信することを含む方法が開示される。この方法は、さらに、調整された第２の画像データを生成するために、対応する第２の画像データの部分に関する、第１の画像データの部分間のオフセットに関し少なくとも部分的に補償することによって、第２の画像データを調整することを含む。方法は、さらに、第１の画像データと、調整された第２の画像データとに階層型合成動作(hierarchical combining operation)を実行することによって、合成ビデオフレームに対応する合成画像データを生成することを含む。
【０００７】
別の特定の実施形態において、第１のビデオフレームに対応する第１の画像データおよび第２のビデオフレームに対応する第２の画像データに基づいて、動きベクトルデータ(motion vector data)のセットを生成するように構成されたレジストレーション回路を含む装置が開示される。第１のビデオフレームおよび第２のビデオフレームは、画像センサから受信される。装置はさらに、その動きベクトルデータに従って第２の画像データを調整するように構成されうる合成回路を含む。合成回路は、階層型合成動作を実行して、第１の画像データと、調整された第２の画像データとを選択的に合成するために結合される。装置は、さらに、合成ビデオフレームに対応する合成画像データを生成するために合成回路を制御する制御回路を含む。
【０００８】
別の特定の実施形態において、装置は、第１のビデオフレームに対応する第１の画像データと、第２のビデオフレームに対応する第２の画像データとに基づいて動きベクトルデータのセットを生成するためのレジストレーション手段(registration means)を含む。装置はさらに、その動きベクトルデータに従って第２の画像データを調整するための手段を含みうる。装置はさらに、階層型合成動作を実行して、第１の画像データと、調整された第２の画像データとを選択的に合成するための合成手段を含む。装置はさらに、合成ビデオフレームに対応する合成画像データを生成する合成回路を制御するための制御手段を含む。
【０００９】
ある特定の実施形態において、装置は、第１および第２の画像データを受信するため、画像データを調整するためのオフセット（offset）を決定するため、調整された画像データを選択的に合成するため、あるいは、それらの任意の組み合わせのための専用回路の１つ以上のハードウェアブロックを含む。あるいは、または、さらに、専用回路のハードウェアブロックによって実施されない１つ以上の機能は、コンピュータ実行可能コードを実行するプロセッサによって実施されうる。ある特定の実施形態において、コンピュータ実行可能コードを格納しているコンピュータ可読媒体が開示される。コンピュータ実行可能コードは、第１のビデオフレームに対応する第１の画像データと、第２のビデオフレームに対応する第２の画像データとを受信するためのコードを含む。調整された第２の画像データを生成するために、コンピュータ可読コードは、第２の画像データの対応する部分に関する第１の画像データの部分間のオフセットに関し少なくとも部分的に補償することによって第２の画像データを調整するためのコードをさらに含む。コンピュータコードは、さらに、第１の画像データおよび調整された第２の画像データに階層的合成動作を実行することによって、合成ビデオフレームに対応する合成画像を生成するためのコードを含む。
【００１０】
開示される方法および装置の実施形態によって提供される１つの特定の利点は、手ブレによるズレ(shifting)、画像内の被写体の移動、露光過度、露光不足、近距離または遠距離における不十分な焦点整合、縦色収差(lateral chromatic aberration)、および幾何歪み(geometric distortion)のような画像に関連した問題の補正または改善である。
【００１１】
本開示の別の態様、利点、および特徴は、次のセクション（図面の簡単な説明、発明の詳細な説明、特許請求の範囲）を含む本出願全体のレビューの後に、より明白になるであろう。
【図面の簡単な説明】
【００１２】
【図１】図１は、画像合成モジュールを有する画像処理システムを含むシステムのある特定の例証となる実施形態のブロック図である。
【図２】図２は、画像合成エンジンを含むシステムの第１の実施形態を例証するブロック図である。
【図３】図３は、画像合成エンジンを含むシステムの第２の実施形態を例証するブロック図である。
【図４】図４は、画像合成エンジンを含むシステムのある実施形態を例証するブロック図である。
【図５】図５は、手ブレの補正、および、動く被写体（moving object）による被写体ブレの削減を提供する画像合成エンジンの実施形態の動作を論理的に例証する図である。
【図６】図６は、ハイダイナミックレンジ画像を生成するための、画像合成エンジンの実施形態の動作を論理的に例証する図である。
【図７】図７は、被写界深度の向上（depth of field enhancement）を提供する画像合成エンジンの実施形態の動作を論理的に例証する図である。
【図８】図８は、縦色収差を例証する。
【図９】図９は、画像の幾何歪みの第１の実施形態を例証する。
【図１０】図１０は、画像の幾何歪みの第２の実施形態を例証する。
【図１１】図１１は、画像の幾何歪みの補正を提供する画像合成エンジンの実施形態の動作を論理的に例証する図である。
【図１２】図１２は、画像を選択的に合成する方法のフロー図である。
【図１３】図１３は、階層型合成プロセスを実行する方法のフロー図である。
【図１４】図１４は、画像改善プロセスを実行する方法のフロー図である。
【図１５】図１５は、画像合成モジュールを含むポータブル電子デバイスのブロック図である。
【図１６】図１６は、ビデオフレームを合成するためのシステムの実施形態を例証するブロック図である。
【図１７】図１７は、ビデオフレームを合成する方法のフロー図である。
【発明の詳細な説明】
【００１３】
［詳細な記載］
図１は、画像合成モジュールを有する画像処理システムを含むシステムの特定の例証となる実施形態のブロック図である。システム１００は、画像処理システム１３０に結合された画像キャプチャデバイス１０１を含む。画像処理システム１３０は、画像記憶デバイス１４０に結合される。画像処理システム１３０は、画像データ１０９を画像キャプチャデバイス１０１から受信し、手ブレによるズレ、画像内の被写体移動、露光過度、露光不足、近距離または遠距離における不十分な焦点整合、縦色収差、および幾何歪みのような、複数の画像と関連付けられた問題の補正または改善を提供するために複数の画像を合成するように構成される。一般的に、システム１００は、比較的制限された処理リソースを使用してリアルタイム画像処理を実行するように構成された電子デバイスに実装されうる。
【００１４】
ある特定の実施形態において、画像キャプチャデバイス１０１は、ビデオカメラまたはスチールカメラのようなカメラである。別の実施形態において、画像キャプチャデバイス１０１は、セルラ電話、携帯情報端末（ＰＤＡ）、または同様のものに組み込まれたカメラでありうる。画像キャプチャデバイス１０１は、焦点整合モジュール１０４と露光モジュール１０６に敏感なレンズ１０２を含む。センサ１０８は、レンズ１０２を介して光を受信し、レンズ１０２を介して受信された画像に応答して画像データ１０９を生成するために結合される。焦点整合モジュール１０４は、センサ１０８に敏感であり、レンズ１０２の焦点整合を自動的に制御することに適応しうる。露光モジュール１０６もまた、センサ１０８に敏感であり、画像の露光を制御することに適応しうる。ある特定の実施形態において、センサ１０８は、隣接する検出器が、異なる色の光を検出するように配列された複数の検出器、すなわち、ピクセルウェル（pixel well）を含む。例えば、受信された光は、各検出器が、赤、緑、または青の入射光を受信するためにフィルタリングされうる。
【００１５】
画像キャプチャデバイス１０１は、画像データ１０９を画像処理システム１３０に提供するために結合される。画像処理システム１３０は、画像キャプチャデバイス１０１から受信した画像データ１０９にデモザイク動作（demosaic operation）を実行するデモザイクモジュール（demosaic module）１１０を含む。色補正モジュール１１２は、デモザイクされた画像データに色補正を実行するように構成される。ガンマモジュール(gamma module)１１４は、色補正モジュール１１２から受信したデータから、ガンマ補正された画像データを生成するように構成される。色変換モジュール１１６は、ガンマ補正された画像データに色空間変換を実行するために結合される。画像処理システム１３０は、さらに、図２〜１４に関して議論されるような、複数の画像を合成するように構成された画像合成モジュール１１８を含む。圧縮および記憶モジュール１２０は、画像合成モジュール１１８の出力を受信し、圧縮された出力データを画像記憶デバイス１４０に格納するために結合される。画像記憶デバイス１４０は、１つ以上のディスプレイバッファ、レジスタ、キャッシュ、フラッシュメモリエレメント、ハードディスク、任意の別の記憶デバイス、または、それらの任意の組み合わせのようなあらゆるタイプの記憶媒体を含みうる。
【００１６】
議論されたように、ある特定の実施形態において、センサ１０８は、赤、緑、青（ＲＧＢ）のような異なる色の光を検出する複数の検出器を含む。このように、画像は、ＲＧＢ色空間で受信されうる。ある特定の実施形態において、画像は、色変換モジュール１１６によって、「ＹＣｂＣｒ」色空間のような別の色空間に変換されうる。ＹＣｂＣｒ色空間は、画像が、輝度（ｌｕｍａ)（または、明るさ）コンポーネント（ＹＣｂＣｒ色空間におけるＹコンポーネント）および彩度（ｃｈｒｏｍａ）コンポーネント（ＹＣｂＣｒ色空間におけるＣｂおよびＣｒコンポーネント）で表される色空間の例である。ＹＣｂＣｒ色空間において、Ｃｂは、青から輝度（Ｂ−Ｙ）を差し引いたものであり、Ｃｒは、赤から輝度（Ｒ−Ｙ）差し引いたものである。
【００１７】
動作の間、画像合成モジュール１１８は、入力画像データ１０９に対応する画像を補正または改善する。例えば、手ブレによるズレ、画像内の被写体移動、露光過度、露光不足、近距離または遠距離における不十分な焦点整合、縦色収差、幾何歪みのような、キャプチャされた画像に関連した問題を補償するために、画像に対して補正または改善が行われる。
【００１８】
図１に例証されるある特定の実施形態において、画像合成モジュール１１８は、画像処理パイプラインの色変換モジュール１１６の次に位置するが、別の実施形態において、画像合成モジュール１１８は、画像処理パイプラインの別の位置に実装されうる。さらに、画像キャプチャデバイス１０２は、単一のセンサ１０８を有しているように例証されるが、別の実施形態において、画像キャプチャデバイス１０２は、複数のセンサを有しうる。例えば、画像キャプチャデバイス１０２は、同じ状況の下、あるいは、異なる露光設定または異なる焦点整合設定を使用するなど様々な条件の下で、特定のシーンの複数の同時画像キャプチャを実行するように構成された２つ以上のセンサを有しうる。
【００１９】
図２は、第１の画像に対応する第１の画像データを受信する第１の画像入力２０１を備える画像合成エンジン(image combination engine)２０５を有するシステム２００を例証する。ある特定の実施形態において、システム２００は、図１の画像合成モジュール１１８に含まれうる。例えば、第１の画像は、カメラレンズ１０２によってキャプチャされ、センサ１０８、デモザイクモジュール(demosaic moule)１１０、色補正モジュール１１２、ガンマモジュール１１４、および色変換モジュール１１６を通り、第１の画像入力２０１で画像合成エンジン２０５に提供されうる。
【００２０】
画像合成エンジン２０５は、さらに、第２の画像に対応する第２の画像データを受信する第２の画像入力２０２を含む。ある特定の実施形態において、第２の画像は、カメラレンズ１０２によってキャプチャされ、センサ１０８、デモザイクモジュール１１０、色補正モジュール１１２、ガンマモジュール１１４、および色変換モジュール１１６を通り、第２の画像入力２０２で画像合成エンジン２０５に提供されうる。
【００２１】
第１および第２の画像は、画像合成エンジン２０５によって合成される。例えば、画像合成エンジン２０５は、図３〜１４に関して記述される実施形態に従って動作しうる。
【００２２】
画像合成エンジン２０５は、合成画像出力２０６を生成するように構成される。ある特定の実施形態において、画像合成エンジン２０５は、第１の画像の第１の特徴と第２の画像の第２の特徴との比較に少なくとも部分的に基づいて、第１の画像入力２０１からの第１の値と、第２の画像入力２０２からの調整された第２の値とを選択的に合成することによって合成画像出力２０６を生成する。例えば、第１の画像のある領域の焦点は合っていないが、第２の画像の対応する領域の焦点は合っている場合、画像合成エンジン２０５は、その領域に対応する画素値を合成画像出力２０６に第２の画像から選択しうる。比較されうる特徴の別の例は、画像のコントラスト、画像の輝度コンポーネント間の偏差(deviation)、および、フィルタリングされた画像の特性（例えば、ローパスフィルタリングされたデータ、ハイパスフィルタリングされたデータ）を含む。ある特定の実施形態において、合成画像出力２０６は、画像記憶デバイス１４０のような画像記憶デバイスに結合されうる。
【００２３】
別の実施形態において、画像合成エンジン２０５は、さらなる画像入力を含みうる。さらに、または、あるいは、合成画像出力２０６は、第１の画像入力２０１に結合され、出力画像を追加の入力画像と繰り返し合成するために、画像合成エンジン２０５の出力を、第２の画像入力２０２で受信される追加の画像入力と合成する能力を提供しうる。例えば、第１の画像データのセットを第１の画像入力２０１に、第２の画像データのセットを第２の画像入力２０２に適用し、結果として得られた合成画像を第１の画像入力２０１に、第３の画像データのセットを第３の画像入力２０２に適用することによって、単一の画像を形成するために画像データの３つのセットが合成され、画像データの３つ全てのセットの合成画像が結果として生じうる。
【００２４】
図３は、画像合成エンジン３０５を有するシステム３００を例証する。システム３００において、画像合成エンジン３０５は、別々の画像入力をレジスタするレジストレーション回路３２１と、別々の画像入力を合成する合成回路３２３と、レジストレーション回路３２１および合成回路３２３を制御する制御回路３２５とを含む。ある例証となる実施形態において、システム３００は、図１の画像合成モジュール１１８、または、図２の画像合成エンジン２０５に含まれうる。
【００２５】
ある特定の実施形態において、レジストレーション回路３２１は、合成回路３２３に結合された第１の輝度入力３１１、第２の輝度入力３１３、および出力３２２を含む。レジストレーション回路３２１は、第１の輝度入力３１１のデータと、第２の輝度入力３１３のデータとの差分を決定し、オフセットデータを、出力３２２で合成回路３２３に提供するように構成される。ある特定の実施形態において、第１の輝度入力３１１は、ＹＣｂＣｒ色空間でコード化された第１の画像のＹコンポーネントデータであり、第２の輝度入力３１３は、ＹＣｂＣｒ色空間でコード化された第２の画像のＹコンポーネントデータである。図３で例証されるように、レジストレーション回路３２１は、レジスタされるべき画像の輝度コンポーネントのみを使用して画像レジストレーションを実行する。別の実施形態において、レジストレーション回路３２１は、輝度コンポーネントに加えて、または、それの代わりに、画像データの別のコンポーネントを使用してレジストレーションを実行しうる。
【００２６】
合成回路３２３は、第１の画像入力３１５、第２の画像入力３１７、レジストレーションデータをレジストレーション回路３２１から受け取るための入力、および、合成画像出力３０６を含む。ある特定の実施形態において、第１の画像入力３１５は、ＹＣｂＣｒ色空間でコード化された第１の画像のデータを受信し、第２の画像入力３１７は、ＹＣｂＣｒ色空間でコード化された第２の画像のデータを受信する。合成回路３２３は、第１の画像と、レジストレーション路３２１によって検出された差分に基づいて調整された（すなわち、第１の画像データと位置合わせる(align)ように調整された）第２の画像とを選択的に合成するように構成される。レジストレーション回路３２１は、制御回路３２５の制御下で動作するために、入力３２６に敏感になるように構成され、合成回路３２３は、制御回路３２５の制御下で動作するために、入力３２６に敏感になるように構成される。
【００２７】
ある特定の実施形態において、画像合成回路３２３は、第１の画像の第１の特性と、第２の画像の第２の特性との比較に少なくとも部分的に基づいて、第１の画像入力３１５からの第１の値と、第２の画像入力３１７からの第２の値とを選択的に合成することによって、合成画像出力３０６を生成する。その特性は、例証となる例として、焦点整合、コントラスト、分散(variance)、または周波数スペクトルを含みうる。例えば、画像合成回路３２３は、その領域においてどちらの画像入力の焦点がより合っているか、その領域においてどちらの画像入力がより良いコントラストを有するか、レジストレーションの後にその領域内の２つの画像入力の間でどれだけの分散が検出されたか、または、合成画像出力３０６の品質を改善するための別の特性に基づいて、第１の画像入力３１５と第２の画像入力３１７の領域を合成しうる。画像合成回路３２３は、選択された特性を示す入力３２４を制御回路３２５から受信し、それぞれの画像を領域単位または画素単位で評価し、その評価された特性に基づく入力画像の領域または画素の選択的な合成に基づいて合成画像を生成する。
【００２８】
図４を参照すると、複数の画像を選択的に合成するシステムが描写され、全体として４００で示されている。ある特定の実施形態において、システム４００は、図１の画像合成モジュール１１８、図２の画像合成エンジン２０５、図３の画像合成エンジン３０５、または、それらの任意の組み合わせに含まれうる。システム４００は、階層型合成回路４６０に結合された階層型レジストレーション（hierarchical registration）回路４２０を含む。階層型レジストレーション回路４２０および階層型合成回路４６０は、特定用途向け制御回路４３２に結合される。特定用途向け制御回路４３２および階層型合成回路４６０は、さらに、重み付けテーブル（weighting table）４３４に結合される。
【００２９】
階層型レジストレーション回路４２０は、第１の画像に対応する第１の画像輝度データ４０２、および、第２の画像に対応する第２の画像輝度データ４０４を受信し、粗いレジストレーション（coarse registration）回路４２２およびファインレジストレーション（fine registration）回路４２４を使用して、第１の画像輝度データ４０２および第２の画像輝度データ４０４にレジストレーションプロセスを実行するように構成される。階層型レジストレーション回路４２０は、第１の画像輝度データ４０２と第２の画像輝度データ４０４の対応する部分の間の検出されたオフセットを示す動きベクトルのファインセット(fine set of motion vector)４２９を生成するように構成される。ある特定の実施形態において、動きベクトルのファインセット４２９は、カメラぶれ、画像ぶれ、またはその両方によって誤って位置合わせされた画像を位置合わせするための垂直および水平ズレデータを含む。例証されるように、階層型レジストレーション回路４２０は、計算効率のために、画像輝度データ上で動作する。しかしながら、別の実施形態において、階層型レジストレーション回路４２０は、輝度データに加えて、あるいは、それの代わりに、彩度コンポーネントデータ(chroma component data)、赤データ、青データ、または緑データ、あるいは、それらの組み合わせのような別タイプの画像データを使用して動作しうる。
【００３０】
ある特定の実施形態において、粗いレジストレーション回路(coarse registration circuit)４２２は、動きベクトル生成回路４２６を含む。動きベクトル生成回路４２６は、ブロック間で粗いレジストレーションプロセスを実行するために、第１の画像輝度データ４０２と第２の画像輝度データ４０４の各々をブロックに分割するように構成されうる。例えば、動きベクトル生成回路４２６は、第１の画像輝度データ４０２と第２の画像輝度データ４０４の各々を、オーバーラッピングブロック(overlapping block)の３×３のセットに論理的に分割し、そのオーバーラッピングブロックの投影を使用して、第２の画像輝度データ４０４の各ブロックを、第１の画像輝度データ４０２の対応するブロックに対して位置合わせするのに適用可能な粗い動きベクトルのセット４２７を生成しうる。別の実施形態において、任意の数のブロックが使用され、そのブロックのうちのいくつかまたは全ては、オーバラッピングしていないブロックである。
【００３１】
ファインレジストレーション回路４２４は、粗い動きベクトルのセット４２７を受信し、動きベクトルのファインセット４２９を生成するように構成される。ある特定の実施形態において、ファインレジストレーション回路４２４は、マクロブロック(macroblock)洗練化回路（refining circuit）４３０に結合された動きベクトルアップサンプリング(motion vector upsampling)回路４２８を含む。動きベクトルアップサンプリング回路４２８は、粗い動きベクトルのセット４２７を受信およびアップサンプリングして、粗い動きベクトルのセット４２７よりも細かい粒度を有する動きベクトルを生成しうる。例証するために、画像輝度データ４０２および４０４は、マクロブロックのＭ×Ｎ個のアレイとして構成されうる。ここで、各マクロブロックは、画像の１６画素×１６画素の領域に対応する。動きベクトルアップサンプリング回路４２８は、粗い動きベクトルのセット４２７の対応する動きベクトルを各マクロブロックに適用する動きベクトルのＭ×Ｎ個のセットを生成しうる。
【００３２】
ある特定の実施形態において、マクロブロック動きベクトル洗練化回路４３０は、アップサンプリングされた動きベクトルのセット４２７並びに画像輝度データ４０２と４０４を受信し、洗練化された動きベクトルのセット４２９を生成するために結合される。例えば、マクロブロック動きベクトル洗練化回路４３０は、アップサンプリングされた動きベクトルのセット４２７の各動きベクトルを、第２の画像データの対応するマクロブロックに適用し、第２の画像データのマクロブロックを、第１の画像データの対応するマクロブロックと粗く位置合わせするように構成されうる。マクロブロック動きベクトル洗練化回路４３０は、第１の画像データ４０２に対して、粗く位置合わせされたマクロブロックのより正確な位置合わせを決定するために、粗く位置合わせされたマクロブロックの周りの第１の画像データ４０２の領域を探索しうる。探索領域は、特定用途向け制御回路４３２から受信される探索領域制御信号４３５に基づいて選択されうる。洗練化された動きベクトルのセット４２９は、第１の画像輝度デー４０２および第２の画像輝度データ４０４のマクロブロック単位のレジストレーションを可能にする、各マクロブロックのより正確な位置合わせに対応するベクトルデータを示しうる。
【００３３】
マクロブロック動きベクトルリファイン回路４３０は、各動きベクトルに対して、算出された最小の平均二乗誤差（ＭＳＥ）または複数の可能なＭＳＥのうちの他の標準（norm)を選択するアルゴリズムを実行することによって、動きベクトルのリファインされたセット４２９を決定しうる。例えば、第２の画像輝度データ４０４の特定のマクロブロックについて、第１の画像輝度データ４０２との複数の可能なマクロブロックの位置合わせが考慮され、計算された最小ＭＳＥに帰着する位置合わせが、洗練化動きベクトルのセット４２９のために選択される。各マクロブロックに対して決定される平均二乗誤差は、動きベクトル（ＭＶ）平均二乗差分データ４３１として階層型合成回路４６０に提供されうる。
【００３４】
ある特定の実施形態において、階層型合成回路４６０は、粗い合成回路(coarse combination circuit)４６２およびファイン合成回路(fine combination circuit)４６４を使用して、第１の画像データ４０６と第２の画像データ４０８とを合成するように構成されうる。第１の画像データ４０６は、第１の画像の第１の輝度データ４０２を含み、さらに、ＹＣｂＣｒ画像データとして、第１の画像の彩度データを含みうる。第２の画像データ４０８は、第２の画像の第２の輝度データ４０４を含み、さらに、ＹＣｂＣｒ画像データとして、第２の画像の彩度データを含みうる。
【００３５】
ある特定の実施形態において、粗い合成回路４６２は、マクロブロック画像位置合わせ回路４６６およびブロックＭＳＥ差分弁別器回路（block MSE difference discriminator circuit）４６８を含む。マクロブロック画像位置合わせ回路４６６は、洗練化された動きベクトルのセット４２９を、第２の画像データ４０８に適用して、第１の画像データに位置合わせされた、第２の画像の画像データを生成するように構成されうる。例えば、マクロブロック画像位置合わせ回路４６６は、マクロブロックがオーバラップしていると決定された場合に、第２の画像の画素値を合成するように、または、いずれのマクロブロックにも存在しない第２の画像データの領域に帰着するように、マクロブロックが再度位置合わせされる画素値を補間するように構成されうる。マクロブロック画像位置合わせ回路４６６は、第１の画像データ４０６、および、第２の画像の位置合わせされた画像データを、ブロックＭＳＥ差分弁別器回路４６８に提供しうる。
【００３６】
ある特定の実施形態において、ブロックＭＳＥ差分弁別器回路４６８は、粗い合成プロセスを、マクロブロック画像位置合わせ回路４６６から受信されるデータに実行するように構成される。特に、ブロックＭＳＥ差分弁別器回路４６８は、第１の画像データ４０６と十分に一致しない第２の画像の位置合わせされた画像データのマクロブロックを除去しうる。例えば、各マクロブロックについてのＭＶ ＭＳ差分データ４３１が、閾値に対して比較されうる。特定のマクロブロックについて、ＭＳ差分が閾値を超えた場合、特定のマクロブロックは、第１の画像データ４０６と、第２の画像データの位置合わせされた画像データとが非常に異なっていると決定され、そのため、その特定のマクロブロックについて、画像データは合成されるべきではない。
【００３７】
例えば、動く被写体が、第１の画像データ４０６の第１のマクロブロックに現れ（第２の画像の位置合わせされた画像データの第１のマクロブロックには現れず）、且つ、その動く被写体が、第２の画像の位置合わせされた画像データのマクロブロックに現れ（第１の画像データ４０６の第２のマクロブロックには現れなかった）場合、対応する平均二乗誤差の差分により、第１のマクロブロックは、第１の画像と第２の画像との間で合成不可能であると決定され、且つ、第２のマクロブロックは、第１の画像と第２の画像との間で合成不可能であると決定さる。ブロックＭＳＥ差分弁別器回路４６８は、第１の画像データ４０６のマクロブロックに対する画素値のみが、使用されるように、合成不可能なマクロブロックの各々を、位置合わせされた第２の画像データから除去するように構成される。例えば、マクロブロックに対する画素値は、第２の画像に対する位置合わせされた画像データの対応するマクロブロックの画素値と入れ替えるため、第１の画像データ４０６から複写されうる。
【００３８】
例証されるように、ブロックＭＳＥ差分弁別器回路(block MSE difference discriminator circuit)４６８は、特定用途向け制御回路４３２に敏感である。例えば、特定用途向け制御回路４３２は、第１の画像データのマクロブロックと、第２の画像に対して位置合わせされた画像データのマクロブロックとのＭＳＥ差分を比較するために使用されるべき閾値差分を示す閾値制御信号４３７を提供しうる。ブロックＭＳＥ差分弁別器回路４６８は、粗い合成プロセスの後に、第１の画像に対応する画像データ、および、第２の画像に対応する画像データを含む画像データの２つのセットを、ファイン合成回路４６４に出力しうる。
【００３９】
ファイン合成回路４６４は、レジスタされ、粗く位置合わせされた第１および第２の画像データを受信し、出力画像データ４８０を生成するためにファイン合成プロセスを実行するように構成される。ある特定の実施形態において、ファイン合成回路４６４は、平均画素ＭＳ差分回路（mean pixel MS difference circuit）４７４に結合された第１のフィルタ４７０および第２のフィルタ４７２を含む。ファイン合成回路４６４は、さらに、平均画素ＭＳ差分回路４７４および重み付けテーブル４３４に結合された画像合成化回路４７６を含む。
【００４０】
受信された第１の画像データは、第１のフィルタ４７０によって処理され、フィルタリングされた第１の画像のデータは、平均画素ＭＳ差分回路４７４に提供される。第２の画像につていの受信されたデータは、第２のフィルタ４７２によって処理され、第２の画像につていのフィルタリングされたデータは、平均画素ＭＳ差分回路４７４に提供される。フィルタ４７０および４７２は、特定用途向け制御回路４３２に敏感でありうる。例えば、フィルタ４７０および４７２は、ローパス応答、ハイパス応答、バンドパス応答、任意の別のフィルタ応答、あるいは、それらのあらゆる組み合わせのようなフィルタ応答特性を示す応答制御信号４３９を特定用途向け制御回路４３２から受信しうる。フィルタ４７０および４７２は、３×３のカーネル、あるいは、任意の別のサイズのカーネルを含みうる。ある特定の実施形態において、フィルタ４７０および４７２は、特定用途向け制御回路４３２に敏感なカーネルサイズを有する。
【００４１】
平均画素ＭＳ差分回路４７４は、各画像に対応する、フィルタリングされたデータを受信し、ピクセル毎に符号付けされた（signed）平均二乗差分動作を実行するように構成されうる。差分動作は、特定の画素の輝度値および彩度値の各々を使用して、特定の画素の各々に対して、フィルタリングされた第１の画像データと、フィルタリングされた第２の画像データとの差分を示す符号付けされた値を生成しうる。平均画素ＭＳ差分回路４７４は、差分データを、平均画素差分結果として、画像合成化回路４７６に提供するように構成されうる。
【００４２】
画像合成化回路４７６は、各画素について、平均画素ＭＳ差分回路４７４から差分値を受信し、出力画像データ４８０の各画素の画素値を決定するように構成されうる。例えば、特定の画素に対する受信された差分値は、重み付けテーブル４３４において、ルックアップ動作として提供されうる。ルックアップ動作の結果は、出力画像データ４８０の画素値が、粗い合成回路４６２から受信された第１の画像データからの値を有するか、粗い合成回路４６２から受信された第２の画像データからの値を有するか、あるいはそれらの組み合わせを有するかを決定しうる。
【００４３】
重み付けテーブル４３４は、第１の画像データの画素値に適用されるべき第１の重み、および、第２の画像データの画素値に適用されるべき第２の重みを示すデータを含みうる。重み付けテーブル４３４は、第１の画像データに適用されるべき重みに対応する約０〜１の範囲を有する出力値「Ｗ」、および、第２の画像データに適用されるべき重みに対応する値１−Ｗを提供しうる。重み付けテーブルは、特定用途向け制御回路４３２からのテーブル制御信号４３３に敏感でありうる。
【００４４】
動作の間、特定用途向け制御回路４３２は、システム４００において、画像レジストレーションおよび合成プロセスを制御するために１つ以上の制御パラメータを決定しうる。例えば、特定用途向け制御回路４３２は、マクロブロックレジストレーションの積極性を示すための探索領域制御信号４３５の値、マクロブロック合成に対して許容可能な差分量を示すための閾値制御信号４３３、実行されるべきフィルタリングのタイプを示すための応答制御信号４３９、画像間のフィルタリングされた画素差分に基づいて画像がどのように合成されるかの重み付けを示すためのテーブル制御信号４３３を選択しうる。
【００４５】
システム４００は、特定のプロセスを実行するように構成されたハードウェア回路を含むように例証されているが、別の実施形態において、システム４００の１つ以上のコンポーネントが、プロセッサ命令を実行するプロセッサによって実行されうる。例えば、回路４２０、４２２、４２４、４２６、４２８、４３０、４３２、４３４、４６０、４６２、４６４、４６６、４６８、４７０、４７４、または４７６によって実行される機能のうちの１つ以上は、画像プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、あるいは、上に記述された機能または一般的なアルゴリズムの１つ以上を実行するようにプログラムされた汎用プロセッサによって実行されうる。別の実施形態において、回路４２０、４２２、４２４、４２６、４２８、４３０、４３２、４３４、４６０、４６２、４６４、４６６、４６８、４７０、４７４、または４７６のうちの１つ以上は、ハードウェア、ファームウェア、コンピュータ可読命令群を実行するプロセッサ、あるいはそれらの任意の組み合わせに含まれるコンポーネントと置き換えられうる。
【００４６】
画像合成化を例証する特定の実施形態が図５〜１１に関して議論され、これらの特定の実施形態で実装される場合、図４の画像合成回路４００の動作を理解するのに有益である。
【００４７】
図５を参照すると、手ブレの補正と、動く被写体による被写体ブレの削減を提供する画像合成エンジンの実施形態の動作を論理的に例証する図が提供される。図５において例証を目的として、動く被写体５０２は丸で表され、ブレ５０４によってズレた画像の一部は三角形で示される。第１の列５２１は、全体的に、第１の画像の処理経路を表し、第２の列５２３は、全体的に、第２の画像の処理経路を表す。
【００４８】
ある例証となる実施形態において、手ブレを除去するための第１および第２の画像のデータフロー５０１は、図１の画像合成モジュール１１８、図２の画像合成エンジン２０５、図３の画像合成エンジン３０５、図４の画像合成回路４００、あるいは、それらの任意の組み合わせにおいて実行されうる。第２の例証となる実施形態において、手ブレを除去するための第１および第２の画像のデータフロー５０１は、図１２の画像の選択的合成の方法１２００、図１３の階層型レジストレーションプロセス１３００、図１４の画像改善プロセス、あるいは、それらの任意の組み合わせに従って実行されうる。
【００４９】
最初に、第１の画像および第２の画像は、粗いレジストレーション５１２に帰着する粗いレジストレーションプロセス、および、ファインレジストレーション５１４に帰着するファインレジストレイションプロセスに、入力として提供される。粗いレジストレーションプロセスおよびファインレジストレイションプロセスは、第１の画像と第２の画像との差分を決定するように構成される。例証されるように、粗いレジストレーション５１２は、画像データの各セットを、第１の部分５３０のような部分にさらに分割し、第１の画像の第１の部分と第２の画像の第１の部分とのオフセットを決定しうる。ファインレジストレイション５１４は、各部分を、第１の部分５３０の中にある第２の部分５３２として描かれている、画像の１６画素×１６画素のエリアに対応するマクロブロックなどにさらに分割しうる。ファインレジストレイション５１６は、第１の画像の第２の部分と、第２の画像の第２の部分とのオフセットを決定し、図４のファイン動きベクトルのセット４２９の動きベクトルのような動きベクトルを介してオフセットを表しうる。
【００５０】
第２の画像のブロックは、画像のレジストレーションに基づいて、第１の画像のブロックと位置合わせされ、粗い合成ブロック位置合わせ５１６を生成しうる。
【００５１】
粗い合成ブロック差分プロセスは、被写体５０２が第１の画像と第２の画像との間でズレた画素数に基づいて動く被写体５０２（円で表される）を検出し、粗い合成ブロック差分５１８を生成する。動く被写体であるとみなされる前に被写体がシフトしなければならない画素の数は、アプリケーション毎に変ることができ、ある実施形態において、それは、図４の特定用途向けレジストレーション制御モジュール４３１または図３の制御回路３２５のような、特定用途向けレジストレーション制御モジュールによって制御されうる。動く被写体が検出されると、第２の画像内の動く被写体を有するブロックを、第１の画像の対応するブロックと置き換えることによって動く被写体が第２の画像から除去され、画像合成の際に、動く被写体によって生じる「ゴースト」を実質的に減らすことができる。三角で示される手ブレによるズレ５０４は、画像を画素単位で合成するために、粗いレジストレーションプロセスおよびファインレジストレイションプロセスによって調整される。例えば、ファイン合成プロセスは、画像エラーを減らし、ノイズを除去するために、第１および第２レジスタされた画像の値を平均化しうる。結果として得られる合成画像は、第１の画像データまたは第２の画像データのいずれかよりも少ないノイズで、手ブレによるズレおよび画像内の被写体の移動によるゴーストのような、画像と関連付けられた問題の補正または改善を提供する。
【００５２】
例証となる非限定的な例として、データフロー５０１は、図４のシステム４００において、特定用途向け制御回路（ＡＳＣＣ）４３２によって制御される被写体ブレ軽減モードを用いて、手ブレを減らす際に実行されうる。ＡＳＣＣ ４３２は、階層型レジストレーション回路４２０に対して、探索範囲制御信号４３５を介して被写体の動きを検索するために、大きい探索範囲を使用するように指示しうる。ＡＳＣＣ ４３２は、粗い合成回路４６２に対して、最大の期待または測定ノイズ値および既定のマージンに従って閾値を設定することによって、互いに非常に異なるブロックを合成しないように閾値信号４３７を介して指示する。ＡＳＣＣ ４３２は、フィルタリングされた画像特性に基づく比較を可能にするために、応答信号４３９を介してファイン合成回路４６４のフィルタ４７０および４７２を、各プレーン（例えば、Ｔ、Ｃｂ、およびＣｒ）に対してオールパスモード（all-pass mode）で動作するように構成しうる。ＡＳＣＣ ４３２は、フィルタリングされた画像データの平均画素ＭＳ差分の大きさが、選択された量よりも少ない場合に、粗い合成回路４６２から受信される第１の画像データと第２の画像データの画素値の平均を使用して、ファイン合成回路４６４に対して、出力画像データ４８０の画素値を生成させ、そうでない場合に、第１の画像データの画素値のみを使用させる重み付け関数を提供するように、テーブル信号４３３を介して重み付けテーブル４３４を構成しうる。
【００５３】
図６を参照すると、ハイダイナミックレンジ画像を生成するための、画像合成の実施形態の動作を論理的に例証する図が示される。第１の列６２１は、適正に露光され、適正露光部６０２で表される画像の一部と、露光が不十分である、露光不足部６０４で表される画像の一部とに帰着する比較的短い露光時間で撮られた画像の処理経路を表す。第２の列６３２は、露光が過度であり、露光過度部６０６で表される画像の一部と、適正に露光されて、適正露光部６０８で表される画像の一部とに帰着する比較的長い露出時間で撮られた画像の処理経路を表す。
【００５４】
ある例証となる実施形態において、ハイダイナミックレンジ（ＨＤＲ）画像を提供するための、第１および第２の画像のデータフロー６０１は、図１の画像合成モジュール１１８、図２の画像合成エンジン２０５、図３の画像合成エンジン３０５、図４の画像合成回路４００、あるいは、それらの任意の組み合わせにおいて実行されうる。第２の例証となる実施形態において、ＨＤＲ画像を提供するための、第１および第２の画像のデータフロー６０１は、図１２の画像の選択的合成方法１２００、図１３の階層型レジストレーションプロセス１３００、図１４の画像改善プロセス１４００、あるいは、それらの任意の組み合わせに従って実行されうる。
【００５５】
最初に、第１の処理経路６２１の第１の画像および、第２の処理経路６２３の第２の画像は、粗いレジストレーション６１２を提供する粗いレジストレーションプロセス、および、ファインレジストレイション６１４を提供するファインレジストレイションプロセスに入力として提供される。粗いレジストレーションプロセスおよびファインレジストレイションプロセスは、第１の画像と第２の画像との差分を決定する。
【００５６】
第２の画像のブロックは、画像のレジストレーションに基づいて、第１の画像のブロックと位置合わせされ、粗い合成６１６を生成する。粗い合成６１６は、さらに、図５に記述されるように、画像内の被写体の移動などによって適切に一致しない、レジスタされた画像のブロックを除去する。
【００５７】
ファイン合成プロセスは、第１の画像の適正露光部６０２を、画素単位で、第２の画像の適正露光部６０８と合成し、それは、適正に露光されたＨＤＲ画像を有するファイン合成に帰着する。ある実施形態において、別の画像向上機能が、ファイン合成プロセスを使用して実行されうる。
【００５８】
例証となる非限定的な例として、図４のシステム４００において、データフロー６０１は、特定用途向け制御回路（ＡＳＣＣ）４３２によって制御されるハイダイナミックレンジモードで実行されうる。ＡＳＣＣ ４３２は、例えば、極めて小さい探索レンジを使用するか、あるいは、探索レンジを使用しないなど、ファイン動きベクトル推定に頼らないように、探索レンジ制御信号４３５を介して階層型レジストレーション回路４２０に指示しうる。ＡＳＣＣ ４３２は、極めて高い閾値を使用するように、あるいは、ブロックの破棄を無効にするように、閾値信号４３７を介して粗い合成回路４６２に指示しうる。ＡＳＣＣ ４３２は、フィルタリングされた画像特性に基づく比較を可能にするために、参照画像のための輝度フィルタを平均値へ、その他全てをゼロに設定するように、応答信号４３９を介して、ファイン合成回路４６４のフィルタ４７０および４７２を構成しうる。ＡＳＣＣ ４３２は、ファイン合成回路４６４に対して、フィルタリングされた画像データの平均画素ＭＳ差分が第１の量よりも低い場合に第１の画像データの画素値を使用し、フィルタリングされた画像データの平均画素ＭＳ差分が第２の量よりも高い場合に第２の画像データの画素値を使用し、フィルタリングされた画像データの平均画素ＭＳ差分の大きさが、第１の量と第２の量との間である場合に、粗い合成回路４６２から受信された第１の画像データおよび第２の画像データの画素値の平均値に平滑に偏移して、出力画像データ４８０の画素値を生成させる重み付け関数を提供するように、テーブル信号４３３を介して重み付けテーブル４３４を構成しうる。
【００５９】
図７は、被写界深度の向上を提供する画像合成エンジンの実施形態の動作を論理的に例証する図である。図７に例証されるように、第１の処理経路７２１の第１の画像は、焦点が合っている近距離部７０２と、ぼやけている(blurry)遠距離部７０４とを含む。第２の処理経路７３２の第２の画像は、ぼやけている近距離部７０６と、焦点が合っている遠距離部７０８とを含む。
【００６０】
例証となる実施形態において、被写界深度の向上を提供するための第１および第２の画像のデータフロー７０１は、図１の画像合成モジュール１１８、図２の画像合成エンジン２０５、図３の画像合成エンジン３０５、図４の画像合成回路４００、またはそれらの任意の組み合わせにおいて実行されうる。第２の例証となる実施形態において、被写界深度の向上を提供するための第１および第２の画像のデータフロー７０１は、図１２の画像の選択的合成の方法１２００、図１３の階層型レジストレーションプロセス１３００、図１４の画像改善プロセス１４００、あるいは、それらの任意の組み合わせに従って実行されうる。
【００６１】
最初に、第１の画像および第２の画像は、粗いレジストレーション画像７１２を生成する粗いレジストレーションプロセス、および、ファインレジストレイション画像７１４を生成するファインレジストレイションプロセスに入力として提供される。粗いレジストレーション画像７１２およびファインレジストレイション画像７１４は、第１の画像と第２の画像との差分を決定するように構成される。レジストレーションの後、第２の画像のブロックは、粗い合成プロセスによる画像のレジストレーションに基づいて第１の画像のブロックと位置合わせされ、粗い合成画像７１６を生成する。粗い合成プロセスは、さらに、レジスタされた画像のうちの１つにおいて動く被写体により一致しないブロックを除去する。
【００６２】
ファイン合成プロセスは、画素単位で、第１の画像の焦点の合っている近距離部７０２を、第２の画像の焦点の合っている遠距離部７０８と合成し、結果として、ファイン合成画像７１８を生成するための焦点の合っている合成画像が生じる。ある実施形態において、別の画像向上機能が、ファイン合成プロセスを使用して実行されうる。向上された被写界深度を有する画像が提供される。
【００６３】
例証となる非限定的な例として、データフロー７０１は、図４のシステム４００において、特定用途向け制御回路（ＡＳＣＣ）４３２によって制御される向上された被写界深度モードで、実行されうる。ＡＳＣＣ４３２は、被写体移動検出を可能する大きな探索レンジを使用するように、探索レンジ制御信号４３５を介して階層型レジストレーション回路４２０に指示しうる。ＡＳＣＣ ４３２は、最大の期待または測定ノイズ値、および、既定のマージンに従って閾値を設定することによって、互いに異なるブロックを合成しないように、閾値信号４３７を介して粗い合成回路４６２に指示しうる。ＡＳＣＣ ４３２は、フィルタリングされた画像特性に基づく比較を可能にするために、輝度データに対してハイパスフィルタ応答を、彩度データに対してゼロを有するように、応答信号４３９を介してファイン合成回路４６４のフィルタ４７０および４７２を構成しうる。ＡＳＣＣ ４３２は、フィルタリングされた画像データの平均画素ＭＳ差分がゼロ未満の場合に第１の画像データの画素値を使用しフィルタリングされた画像データの平均画素ＭＳ差分がゼロより大きい場合に、第２の画像データの画素値を使用するように偏移して、ファイン合成回路４６４に、出力画像データ４８０の画素値を生成させる重み付け関数を提供するように、テーブル信号４３３を介して重み付けテーブル４３４を構成しうる。
【００６４】
図８には、縦色収差が例証されている。図８で例証されるように、入射光は、レンズに入射するプレーン８０３、８０５、８０７で描写されるレンズの屈折の性質により、検出された入射光の各色は、センサアレイで受信されると、それぞれ、視野８１３、８１５、８１７で示されるように、わずかに異なる視野を有しうる。ある特定の実施形態において、赤、緑、青のカラープレーンのようなセンサ出力を使用して生成される３色のカラープレーンのレジストレーションは、異なる視野を補償することができる。
【００６５】
図９および図１０は、それぞれ、幾何歪みを有する画像９０２および１００２を例証する。幾何歪みは、レンズ歪み、および、画像化システムの機械、光、電子コンポーネントにおける別の歪みを含む多くの要因によって引き起こされうる。ある特定の実施形態において、幾何学的に歪んだ画像のリサンプリング（resampling）は、幾何歪みを補正することができる。
【００６６】
図１１は、画像の幾何歪みの補正を提供する画像合成エンジンの実施形態の動作を論理的に例証するブロック図である。図１１において、幾何歪みを有する単一の画像１１０４が、粗いレジストレーション画像１１１２を生成するために、入力として粗いレジストレーションプロセスに提供される。粗いレジストレーションプロセスは、予め定義され、且つ、画像化システムの機械、光、電子コンポーネントによって生じる既知の幾何歪みに基づきうる粗いレジストレーショベクトルのセットを使用して、画像１１０４の粗いリサンプリングを作成しうる。
【００６７】
次に、ファインレジストレイションプロセスは、予め定義され、且つ、既知の幾何歪みに基づきうるファインレジストレイションベクトルのセットを使用して、画像１１０４の細かいリサンプリングを作成し、ファインレジストレイション画像１１１４を生成しうる。次に、リサンプリングされた画像１１１５は、粗い合成画像１１１６を生成する粗い合成プロセスと、ファイン合成画像１１１８を生成するファイン合成モジュールとに提供される。ある特定の実施形態において、画像１１０４は、さらに、補正画像１１２０を提供する別の補正のために、別の画像と合成され、
ある例証となる実施形態において、画像の幾何歪みの補正を提供するための画像のデータフロー１１０１は、図１の画像合成モジュール１１８、図２の画像合成エンジン２０５、図３の画像合成エンジン３０５、図４のシステム４００、またはそれらの任意の組み合わせにおいて、実行されうる。第２の例証となる実施形態において、画像の幾何歪みの補正を提供するための画像のデータフロー１１０１は、図１２の画像の選択的合成の方法１２００、図１３の階層型レジストレーションプロセス１３００、図１４の画像改善プロセス１４００、または、それらの任意の組み合わせに従って実行されうる。
【００６８】
図１２を参照すると、画像の選択的合成の方法が、全体的に１２００で示される。ある例証となる実施形態において、方法１２００は、図１の画像合成化モジュール１１８、図２の画像合成エンジン２０５、図３の画像合成エンジン３０５、図４のシステム４００、またはそれらの任意の組み合わせによって実行されうる。１２０２において、第１の画像に対応する第１の画像データおよび第２の画像に対応する第２の画像データが受信される。ある特定の実施形態において、第１の画像データおよび第２の画像データは、輝度コンポーネントおよび彩度コンポーネントを有する色空間で受信されうる。別の特定の実施形態において、第１の画像データおよび第２の画像データは、ＹＣｂＣｒ色空間で受信されうる。１２０４において、第１の画像データの対応する部分に関する、第２の画像データの部分間のオフセットに対応して、動きベクトルデータのセットが算出されうる。例えば、動きベクトルデータのセットは、画像データを粗く位置合わせするための第１の動きベクトルのセットを生成する粗いレジストレーション回路を、第１の動きベクトルのセットに基づいてよりファイン動きベクトルのセットを生成するファインレジストレイション回路を使用して算出されうる。
【００６９】
１２０６において、第２の画像データは、記述されるように、第１の画像データの対応する部分に対して、第２の画像データの部分間のオフセットに対応する動きベクトルデータのセットを適用することによって調整される。結果として、第２の画像データは、第１の画像データと第２の画像データをキャプチャする間に、カメラの移動または画像内の被写体の移動を補償するために、第１の画像データに、より近く位置合わせされるように調整される。１２０８において、第１の画像データの第１の特性を、第２の画像データの第２の特性と比較することに少なくとも部分的に基づいて、第１の画像データからの第１の値を、調整された第２の画像データからの第２の値と選択的に合成することによって、第３の画像データが生成される。比較されうる特性の例は、画像の焦点整合、画像のコントラスト、画像の輝度コンポーネント間の偏差、画像のフィルタリングされた特性（例えば、ローパスフィルタリングされたデータ、ハイパスフィルタリングされたデータ）を含む。
【００７０】
ある特定の実施形態において、選択的に合成することは、粗い合成動作およびファイン合成動作を含む。粗い合成動作は、調整された第２の画像データのマクロブロックに実行され、ファイン合成動作は、第１の画像データおよび第２の調整された画像データの画素に実行されうる。粗い合成動作は、調整された第２の画像データの１つ以上のマクロブロックと、第１の画像データの対応するマクロブロックとの差分が選択可能な閾値を超えた場合に、調整された第２の画像データの１つ以上のマクロブロックを選択的に破棄することを含みうる。例えば、選択可能な閾値は、図４の特定用途向け制御回路４３２によって提供される閾値制御信号４３７によって示されうる。別の特定な実施形態において、ファイン合成動作は、フィルタリングされた画像特性を比較するために、第１の画像データおよび調整された第２の画像データをフィルタリングすることを含み、第１および第２の値は、フィルタリングされた画像特性に基づいて選択的に合成される。フィルタリングされた画像特性は、第１の画像データと、調整された第２の画像データとの重み付けされた合成に対する重みを生成するために、図４の平均画素差分回路(mean pixel difference circuit)４７４において比較され、重み付けテーブル４３４を照会するために使用されうる。
【００７１】
ある特定の実施形態において、第１の画像データの第１の特性と、第２の画像データの第２の特性は、画像の焦点整合条件（例えば、焦点が合っているか、焦点が合っていないか）、第１の画像と第２の画像内の被写体の移動、または、画像の露光を表す。加えて、ある特定の実施形態において、第１および第２の画像データの値は、第１の画像データのフィルタリングされた部分と、第２の画像データのフィルタリングされた部分との比較に基づいて合成されうる。例えば、第１の画像データのフィルタリングされた部分は、図４の平均画素差分回路４７４において、第２の画像データのフィルタリングされた部分と比較され、その比較の結果は、第１の画像データの値と、第２の画像データの値とに適用されるべき相対的重みを決定するために使用されうる。第１の画像データおよび第２の画像データは、例えば、カメラの画像センサでキャプチャされた連続フレームでありうる。
【００７２】
ある実施形態において、第１または第２の画像データの画素またはブロックは、ある条件が満たされると、破棄され、第１または第２の画像データのうちの他方の画素またはブロックと置き換えられうる。例えば、調整された第２の画像ブロックのマクロブロック内の画素は、手ブレまたは動きの検出に対して画像が調整されると破棄されうる。第１の画像、または、調整された第２の画像の画素は、被写界深度の向上のために破棄されうる。結果として得られる第３の画像データは、手ブレ、移動、被写界深度の向上、縦色収差、および幾何歪みついて、第１の画像または第２の画像よりも向上されうる。
【００７３】
ある特定の実施形態において、図１３で示されるように、動きベクトルデータのセットは、階層型レジストレーションプロセス１３００に基づいて決定される。階層型レジストレーションプロセス１３００は、図１の画像合成化モジュール１１８、図２の画像合成エンジン２０５、図３の画像合成エンジン３０５、図４のシステム４００、あるいは、それらの任意の組み合わせによって実行されうる。階層型構造プロセスは、解像度対ロバスト性の動作ポイントを調整する能力を提供し、計算の需要を減らす。階層型レジストレーションプロセス１３００は、１３０２において、第１の画像の第１の部分と、第２の画像の第１の部分との第１の位置合わせオフセットを決定すること、および、１３０４において、第１の位置合わせオフセットに基づいて、第１の画像の第２の部分と、第２の画像の第２の部分との第２の位置合わせオフセットを決定することを含む。ここで、第１の画像の第２の部分は、第１の画像の第１の部分内である。１つの特定の実施形態において、第１の画像の第１の部分は、第１の画像の３×３の行列の９つの分割のうちの１つであり、第１の画像の第２の部分は、第１の画像の１６画素×１６画素に対応する。
【００７４】
図１４は、画像改善方法１４００の実施形態を例証するフローチャートを描写する。ある例証となる実施形態において、画像改善方法１４００は、図１の画像合成化モジュール１１８、図２の画像合成エンジン２０５、図３の画像合成エンジン３０５、図４のシステム４００、あるいは、それらの任意の組み合わせによって実行されうる。第１の動きベクトルのセットは、１４０２において、第１の画像データの第１のブロックのセットの各ブロックと、第２の画像データの第１のブロックのセットのうちの対応するブロックとのオフセットに応答して決定される。例えば、第１の動きベクトルのセットは、図４の粗い動きベクトルのセット４２７でありうる。
【００７５】
１４０４において、第２の画像データの第１のブロックのセットのうちの特定のブロックに対応する第１の動きベクトルのセットのうちの動きベクトルは、アップサンプリングされ、その動きベクトルを第２の画像データの第２のブロックのセットに適用する。なお、第２の画像データの第２のブロックのセットは、特定のブロックに含まれる。例えば、図４の動きベクトルアップサンプリング回路４２８は、オーバーラッピングブロックの３x３のセットのうちの特定のブロックの動きベクトルを、その特定のブロック内のマクロブロックのセットにアップサンプリングしうる。
【００７６】
１４０６において、第１の動きベクトルのセットのうちの動きベクトルを適用した後、第１の画像データの第２のブロックのセットの各々と、第２の画像データの第２のブロックのセットのうちの対応するブロックとのオフセットに対応する第２の動きベクトルのセットが決定されうる。例えば、第２の動きベクトルのセットは、図４のマクロブロック洗練化回路４３０によって生成されたファイン動きベクトルのセット４２９でありうる。１４０８において、第２の動きベクトルのセットは、調整された第２の画像データを生成する第２の画像データに適用されうる。
【００７７】
特定の実施形態では、第２の動きベクトルのセットは、図３の入力３２６のような制御入力を介して示される選択可能な探索範囲、あるいは、図４のマクロブロック洗練化回路４３０において受信される探索範囲制御信号４３５に基づいて決定されうる。選択可能な探索範囲は、第１の動きベクトルのセットの動きベクトルを適用した後、第１の画像データの第２のブロックのセットの各々と、第２の画像データの第２のブロックのセットの対応するブロックとのオフセットを制限しうる。
【００７８】
１４１０において、第１の画像データおよび調整された第２の画像データの一部が、選択的に合成されうる。例えば、第１の画像データおよび第２の画像データは、領域単位または画素単位、あるいはその両方で合成されうる。例証するために、第１の画像データおよび調整された第２の画像データは、図４の階層型合成回路４６０によって合成されうる。
【００７９】
特定の実施形態において、第１の画像データおよび調整された第２の画像データの選択的な合成は、第３の画像データを生成する。第３の画像データは、第１の画像データよりも被写界深度が広いか、第１の画像データよりもノイズが少ないか、あるいは、第１の画像データよりも大きなダイナミック解像度を有しうる。
【００８０】
図１５は、画像合成モジュールを含むシステムの特定の実施形態のブロック図である。システム１５００は、ポータブル電子デバイスに実装され、メモリ１５３２に結合された、デジタル信号プロセサ(ＤＳＰ)のような信号プロセッサ１５１０を含む。システム１５００は、画像合成モジュール１５６４を含む。ある例証となる例において、画像合成モジュール１５６４は、図１〜５のシステムのうちのいずれかを含み、図１２〜１４の方法のうちのいずれか、あるいは、それらの任意の組み合わせに従って動作する。画像合成モジュール１５６４は、信号プロセッサ１５１０に組み込まれるか、あるいは個別のデバイスでありうる。
【００８１】
カメラインターフェース１５６８は、信号プロセッサ１５１０に結合され、さらに、カメラ１５７０のようなカメラに結合されうる。カメラ１５７０は、ビデオカメラまたはスチール画像カメラであるか、あるいは、両方の機能性を実装しうる。ディスプレイコントローラ１５２６は、信号プロセッサ１５１０およびディスプレイデバイス１５２８に結合されうる。コーダ/デコーダ(ＣＯＤＥＣ)１５３４も、信号プロセッサ１５１０に結合されうる。スピーカ１５３６およびマイクロホン１５３８はＣＯＤＥＣ １５３４に結合されうる。無線インターフェース１５４０は、信号プロセッサ１５１０および無線アンテナ１５４２に結合されうる。
【００８２】
ある特定の実施形態において、信号プロセッサ１５１０は、第１の画像データの第１のブロックのセットの各ブロックと、第２の画像データの第１のブロックのセットのうちの対応するブロックとのオフセットに対応する第１の動きベクトルのセットを決定することに適応した画像合成モジュール１５６４を含む。画像合成モジュール１５６４は、第２の画像データの第１のブロックのセットのうちの特定のブロックに対応する第１の動きベクトルのセットのうちの動きベクトルをアップサンプリングし、その動きベクトルを、第２の画像データの第２のブロックのセットに適用することに適応しうる。第２の画像データの第２のブロックのセットは特定のブロックに含まれうる。画像合成モジュール１５６４は、第１の動きベクトルのセットのうちの動きベクトルを適用した後、第１の画像データの第２のブロックのセットの各々と、第２の画像データの第２のブロックのセットのうちの対応するブロックとのオフセットに対応する第２の動きベクトルのセットを決定することに適応しうる。画像合成モジュール１５６４は、調整された第２の画像データを生成するために、動きベクトルの第２のセットを第２の画像データに適用することに適応しうる。画像合成モジュール１５６４は、第１の画像データおよび調整された第２の画像データの一部を選択的に合成して第３の画像データを生成することに適応しうる。
【００８３】
例えば、画像合成モジュール１５６４は、粗い動きベクトルのセット４２７の動きベクトルをアップサンプリングするために、動きベクトルアップサンプリング回路４２８を含む図４の階層型レジストレーション回路４２０を含みうる。アップサンプリングされた動きベクトルは、ブロックの３×３グリッドの特定のブロックに対応し、特定のブロック内の各マクロブロックにアップサンプリングされうる。画像合成モジュール１５６４は、さらに、粗い合成回路４６２およびファイン合成回路４６４などにおいて、画像データを選択的に合成するための図４の階層型合成回路４６０を含みうる。
【００８４】
信号プロセッサ１５１０は、さらに、画像合成モジュール１５６４によって処理された画像データを生成することに適応しうる。処理された画像データは、例証となる非限定的な例として、ビデオカメラ１５７０からのビデオデータ、無線送信あるいはＵＳＢインターフェース（図示されない）を介して結合された外部デバイスからの無線インターフェース１５４０を介した画像データを含みうる。
【００８５】
ディスプレイコントローラ１５２６は、処理された画像データを受信し、処理された画像データをディスプレイデバイス１５２８に提供するように構成される。さらに、メモリ１５３２は、処理された画像データを受信して、格納するように構成され、無線インターフェース１５４０は、アンテナ１５４２を介して送信するために、処理された画像データを受信するように構成されうる。
【００８６】
特定の実施形態において、信号プロセッサ１５１０、ディスプレイコントローラ１５２６、メモリ１５３２、ＣＯＤＥＣ １５３４、無線インターフェース１５４０およびカメラインターフェース１５６８は、システム・イン・パッケージまたはシステム・オン・チップデバイス１５２２に含まれる。ある特定の実施形態において、入力デバイス１５３０および電源１５４４は、システム・オン・チップ・デバイス１５２２に結合されうる。さらに、ある特定の実施形態において、図１５で例証されるように、ディスプレイデバイス１５２８、入力デバイス１５３０、スピーカ１５３６、マイクロホン１５３８、無線アンテナ１５４２、ビデオカメラ１５７０、および電源１５４４は、システム・オン・チップ・デバイス１５２２に外付けである。しかしながら、ディスプレイデバイス１５２８、入力デバイス１５３０、スピーカ１５３６、マイクロホン１５３１５、無線アンテナ１５４２、ビデオカメラ１５７０、および電源１５４４の各々は、インターフェースまたはコントローラのようなシステム・オン・チップ・デバイス１５２２コンポーネントに結合されうる。
【００８７】
ある特定の実施形態において、システム１５００は、携帯情報端末(「ＰＤＡ」)、セルラ電話あるいは類似デバイスとして機能しうる。システム１５００は、入力デバイス１５３０などを通してユーザ制御可能入力を提供することに適応し、且つ、制御画像合成モジュール１５６４を制御し、ユーザ制御可能入力を受信するための制御回路を含みうる。
【００８８】
図１６を参照すると、ビデオフレームを合成するためのシステムのある特定の実施形態が描写され、全体として、１６００で示される。システム１６００は、画像合成エンジン１６１４に結合されたビデオカメラ１６０２を含む。画像合成エンジン１６１４は、ビデオコーダ／デコーダ（コーデック）１６２２のような圧縮および記憶モジュールに結合される。ビデオコーデック１６２２は、エンコードされたビデオデータをビデオファイル１６２６としてメモリデバイス１６２４に格納するために結合される。
【００８９】
ある特定の実施形態において、ビデオカメラ１６０２は、カメラレンズ１６０４およびビデオキャプチャ（video capture)回路１６０６を含む。ビデオキャプチャ回路１６０６は、第１のビデオフレーム１６０８に対応する第１の画像データを生成し、第２の画像フレーム１６１０に対応する第２の画像データを生成するためにカメラレンズ１６０４に結合されうる。例えば、画像キャプチャ回路１６０６は、図１のセンサ１０８のような画像センサ１６３０を含みうる。ある例証となる実施形態において、ビデオカメラ１６０２は、図１の画像キャプチャデバイス１０１である。別の例証となる実施形態において、ビデオカメラ１６０２は、図１５のビデオカメラ１５７０である。
【００９０】
ある特定の実施形態において、画像合成エンジン１６１４は、図１の画像合成モジュール、図２の画像合成エンジン２０５、図３の画像合成エンジン３０５、図４のシステム４００、または、図１５の画像合成モジュール１５６４でありうる。ある例証となる実施形態において、画像合成エンジン１６１４は、図７〜９、図１１〜１４のいずれか、あるいは、それらのあらゆる組み合わせに従って動作する。
【００９１】
画像合成エンジン１６１４は、レジストレーション回路１６１６、合成回路１６１８、および制御回路１６３２を含む。制御回路１６３２は、合成ビデオフレーム１６２０に対応する合成画像データを生成するために合成回路１６１８を制御するように構成される。ある例証となる実施形態において、制御回路１６３２は、図３の制御回路３２５、または、図４の特定用途向け制御回路４２３を含む。
【００９２】
レジストレーション回路１６１６は、第１のビデオフレーム１６０８の第１の画像データ、および、第２のビデオフレーム１６１０の第２の画像データに基づいて、動きベクトルデータのセットを生成するように構成される。ここで、画像データは、ビデオキャプチャ回路１６０６の画像センサ１６３０から受信される。例証するために、レジストレーション回路１６１６は、図３のレジストレーション回路３２１、または、図４の階層型レジストレーション回路４２０を含みうる。
【００９３】
合成回路１６１８は、階層型合成動作を実行して、第１のビデオフレームの第１の画像データ１６０８のような第１の画像データと、調整された第２の画像データとを選択的に合成するために結合されうる。調整された第２の画像データは、動きベクトルデータに従って調節された後の第２のビデオフレームの第２の画像データ１６１０に対応する。合成回路１６１８は、粗い合成回路およびファイン合成回路を含みうる。例えば、合成回路１６１８は、粗い合成回路４６２およびファイン合成回路４６４を含む図４の階層型合成回路４６０を含み、動きベクトルデータは、粗い合成回路４６２で受信される洗練化された動きベクトルのセット４２９を含みうる。
【００９４】
合成画像データは、第１の画像データよりも良い解像度、第１の画像データよりも高いダイナミックレンジ、第１の画像データよりも大きな被写界深度、第１の画像データよりも少ないノイズ、あるいは第１の画像データよりも少ない、動きによるぼやけのうちの少なくとも１つを有しうる。例えば、合成ビデオフレーム１６２０に対応する合成画像データは、合成したフレームについての特性を改善するために複数のフレームを合成しうる。別の例として、複数の動作が、２つ以上の画像を連続的にあるいは同時に使用して実行されうる。例えば、ビデオカメラ１６０２は、３０フレーム／秒のビデオプレゼンテーションと１２０フレーム／秒のビデオキャプチャなど、ビデオプレゼンテーションレートよりも速いレートでビデオフレームをキャプチャしうる。このように、画像合成エンジン１６１４は、ビデオコーデック１６２２に提供される合成出力フレームの各々に対する４つの入力ビデオフレームを平均化することができる。
【００９５】
ある特定の実施形態において、ビデオコーデック１６２２は、合成画像データを圧縮し、圧縮された合成画像データをメモリデバイスに格納するように構成される。例えば、ビデオコーデック１６２２は、圧縮し、合成ビデオフレーム１６２０に対応する合成画像データを含む圧縮された合成画像データをビデオファイル１６２６に格納するＨ．２６４コーデックあるいはＭＰＥＧ（Motion Pictures Expert Group）コーデックでありうる。例えば、ビデオファイルは、ＭＰＥＧファイルフォーマットを有しうる。
【００９６】
個々の回路として実施されると記述されているが、別の実施形態において、レジストレーション回路１６１６、合成回路１６１８、およびビデオコーデック１６２２のうちのいずれか１つ以上は、１つ以上の個々の回路の動作を実行するようにプログラムされるハードウェアプロセッサ１６１２として実施されうる。例証するために、プロセッサ１６１２は、メモリ１６２４からのコードのような実行可能コード１６２８をロードし、レジストレーション回路１６１６、合成回路１６１８、およびビデオコーデック１６２２のうちの１つ以上の少なくとも一部の機能を実施するための実行可能コード１６２８を実行するように構成されうる。ある特定の実施形態において、プロセッサ１６１２は、図１５のアンテナ１５４２のようなアンテを介してデータを送信または受信するために図１５の無線インターフェース１５４０などを介して無線トランシーバに結合されうる。
【００９７】
図１７を参照すると、ビデオフレームを合成する方法のある特定の実施形態が描写され、全体的に１７００で示される。ある特定の実施形態において、方法１７００は、図１６の実行可能コード１６２８を実行するプロセッサ１６１２によって実行される。別の実施形態において、方法１７００は、開示されるハードウェアだけの実施形態において、図１の画像処理装置１０２、図４のシステム４００、あるいは、図１６のシステム１６００によって実行される。
【００９８】
方法１７００は、１７０２において、第１のビデオフレームに対応する第１の画像データ、および第２のビデオフレームに対応する第２の画像データを受信することを含む。なお、第１のビデオフレームおよび第２のビデオフレームは、画像センサから受信される。例えば、第１の画像データおよび第２の画像データは、図１の画像キャプチャデバイス１０１、図１５のビデオカメラ１５７０、あるいは、図１６のビデオカメラ１６０２のような画像キャプチャデバイスから受信されうる。第１のビデオフレームおよび第２のビデオフレームは、図１２に関して記述されたように、連続フレームでありうる。第１のビデオフレームに対応する第１の画像データは、図１６の第１のビデオフレーム１６０８の第１の画像データであり、第２のビデオフレームに対応する第２の画像データは、図１６の第２のビデオフレーム１６１０の第２の画像データでありうる。
【００９９】
第２の画像データは、１７０４において、調整された第２の画像データを生成するために、第２の画像データの対応する部分に関する第１の画像データの部分間のオフセットについて少なくとも部分的に補償することによって調整される。第２の画像データを調節することは、第２の画像の対応する部分に関する第１の画像データの部分間のオフセットに対応する動きベクトルデータのセットを適用することを含みうる。動きベクトルデータのセットは、階層型レジストレーションプロセスを介して決定されうる。例えば、階層型レジストレーションプロセスは、第１の画像の第１の部分と第２の画像の第１部分との第１の位置合わせオフセットを決定することと、第１の位置合わせオフセットに基づいて、第１の画像の第２の部分と、第２の画像の第２の部分との第２位置合わせオフセットを決定することとを含みうる。第１の画像の第２の部分は、第１の画像の第１の部分内でありうる。例えば、第２の画像データは、図５〜７、図１１〜１４、または、その任意の組み合わせのうちのいずれかに従って、図３のレジストレーション回路３２１、図４の階層型レジストレーション回路４２０、図１６のレジストレーション回路１６１６によって調整されうる。
【０１００】
１７０６において、合成ビデオフレームに対応する合成画像データは、第１の画像データおよび調整された第２の画像データ上に階層型合成動作を実行することによって生成される。例えば、合成画像データは、第１の画像データよりも良い解像度、第１の画像データよりも高いダイナミックレンジ、第１の画像データよりも大きな被写界深度、第１の画像データよりも少ないノイズ、あるいは、第１の画像データよりも少ない動きによるぼやけのうちの少なくとも１つを有しうる。例証となる実施形態において、階層型合成動作は、図４の階層型合成回路４６０、あるいは、図１６の合成回路１６１８によって実行されうる。
【０１０１】
階層型合成動作は、粗い合成動作およびファイン合成動作を含みうる。粗い合成動作は、調整された第２の画像データの１つ以上のマクロブロックと、第１の画像データの対応するマクロブロックとの差が、選択可能な閾値を超えた場合に、調整された第２の画像データの１つ以上のマクロブロックを選択的に廃棄することを含みうる。例えば、粗い合成動作は、図５〜７、図１１〜１４、あるいは、その任意の組み合わせのうちのいずれかに従って、図４の粗い合成回路４６２によって実行されうる。
【０１０２】
ファイン合成動作は、フィルタリングされた画像特性を比較するために、第１画像データおよび調整された第２の画像データをフィルタリングすることを含みうる。第１の画像データの第１の値と、第２の画像データの対応する第２の値とは、フィルタリングされた画像特性に基づいて、選択的に合成されうる。例えば、ファイン合成動作は、図５〜７、図１１〜１４のいずれか、あるいは、その任意の組み合わせに従って、図４のファイン合成回路４６４によって実行されうる。
【０１０３】
１７０８において、合成画像データは圧縮され、その圧縮された合成画像データは、メモリデバイスに格納されうる。例えば、合成画像データは、図１の圧縮および記憶モジュール１２０で圧縮され、図１の画像記憶装置１４０で格納されうる。ある例証となる実施形態において、合成画像データは、ビデオエンコーダを介して圧縮され、ビデオファイルとして格納されうる。例えば、合成画像データは、ビデオコーデック１６２２を介してエンコードされ、図１６のビデオファイル１６２６としてメモリ１６２４に格納されうる。
【０１０４】
ある特定の実施形態において、ビデオカメラは、プレゼンテーションフレームレート(presentation frame rate)よりも高いフレームレートでビデオデータをキャプチャする。例えば、ビデオカメラは、１２０フレーム／秒でビデオデータをキャプチャし、結果として生じるビデオは、３０フレーム／秒で提示されうる。従って、プレゼンテーションフレームレートに影響なく提示するために、最大４つフレームが単一の合成フレームへと合成されうる。
【０１０５】
当業者はさらに、本明細書に開示された実施形態に関して記述されている様々な実例となる論理ブロック、構成、モジュール、回路、アルゴリズムステップが、電子ハードウェア、コンピュータ使用可能有形媒体に格納され、コンピュータプロセッサによって実行されるコンピュータソフトウェア、または両方の組み合わせとして実装されることを認識するであろう。様々な実例となるコンポーネント、ブロック、構成、モジュール、回路、ステップが、それらの機能性という観点から一般的に上に記述されている。ハードウェア、または、ソフトウェアとしてそのような機能性が実施されるか否かは、特定のアプリケーションとシステム全体に課された設計制約とに依存する。当業者は、各特定アプリケーションについて様々な方法で上記機能性を実施することができるが、そのような実施の決定は本発明の範囲からの逸脱の原因になるとして解釈されるべきではない。
【０１０６】
本明細書に開示された態様に関して示される方法またはアルゴリズムのステップは、直接的にハードウェアに、プロセッサによって実行されるソフトウェアモジュールに、またはそれら二つの組み合わせに組み込まれうる。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、読取専用メモリ（ＲＯＭ）、プログラマブル読取専用メモリ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（EＥＰＲＯＭ）、レジスタ、ハードディスク、取外し可能ディスク、コンパクトディスク読取専用メモリ（ＣＤ−ＲＯＭ）のようなコンピュータ可読有形媒体、または本技術分野において周知の有形記憶媒体の任意の他の形態に存在しうる。本明細書で使用される際、「有形媒体（tangible medium）」という用語は、上にリストされたコンピュータ可読有形媒体の例のような製品（article of manufacture）を指す。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替において、記憶媒体はプロセッサに一体化される。プロセッサと記憶媒体は、特定用途向け集積回路（ＡＳＩＣ）に存在しうる。ＡＳＩＣは、コンピュータデバイスまたはユーザ端末に存在しうる。代替において、プロセッサと記憶媒体は、計算デバイスまたはユーザ端末の個別コンポーネントとして、ユーザ端末に存在しうる。
【０１０７】
開示された実施形態の以上の記述は、当業者が開示された実施形態を実施または使用することを可能にするために提供される。これらの実施形態に対する様々な変更は、当業者には容易に明らかであり、本明細書において定義された包括的な原理は、本開示の範囲を逸脱することなく、他の実施形態に適用されうる。従って、本開示は、本明細書に示された実施形態に制限されることを企図せず、次に続く特許請求の範囲によって定義されるような原理および新規特徴と合致する範囲が与えられる。
【図１】
2015053694.tif 000003
【図２】
2015053694.tif 000004
【図３】
2015053694.tif 000005
【図４】
2015053694.tif 000006
【図５】
2015053694.tif 000007
【図６】
2015053694.tif 000008
【図７】
2015053694.tif 000009
【図８】
2015053694.tif 000010
【図９】
2015053694.tif 000011
【図１０】
2015053694.tif 000012
【図１１】
2015053694.tif 000013
【図１２】
2015053694.tif 000014
【図１３】
2015053694.tif 000015
【図１４】
2015053694.tif 000016
【図１５】
2015053694.tif 000017
【図１６】
2015053694.tif 000018
【図１７】
2015053694.tif 000019
【手続補正書】
【提出日】平成26年11月10日(2014.11.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のビデオフレームに対応する第１の画像データと、第２のビデオフレームに対応する第２の画像データとを受信することと、なお、前記第１のビデオフレームと前記第２のビデオフレームは、前記第１の画像データおよび前記第２の画像データを、プレゼンテーションフレームレートよりも高いキャプチャフレームレートでキャプチャする画像センサから受信され、
前記第２の画像データの対応する部分に対して前記第１の画像データの部分間のオフセットを少なくとも部分的に補償することによって、前記第２の画像データを調整して、調整された第２の画像データを生成することと、
前記第１の画像データと、前記調整された第２の画像データに対して合成動作を実行することによって、合成ビデオフレームに対応する合成画像データを生成することと
を備え、
前記調整された第２の画像データは、前記第１の画像データの対応する部分に対して、前記第２の画像データの部分間の前記オフセットに対応する動きベクトルデータのセットを適用することによって調整され、
前記合成動作は、前記調整された第２の画像データの１つ以上のマクロブロックと、前記第１の画像データの対応するマクロブロックとの差分が選択可能な閾値を超える場合に、前記調整された第２の画像データの前記１つ以上のマクロブロックを選択的に破棄することを含み、
前記合成動作は、フィルタリングされた画像特性を比較するために、前記第１の画像データと、前記調整された第２の画像データをフィルタリングすることを含み、前記第１の画像データの第１の値と、前記第２の画像データの対応する第２の値は、前記フィルタリングされた画像特性に基づいて選択的に合成される方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１０７
【補正方法】変更
【補正の内容】
【０１０７】
開示された実施形態の以上の記述は、当業者が開示された実施形態を実施または使用することを可能にするために提供される。これらの実施形態に対する様々な変更は、当業者には容易に明らかであり、本明細書において定義された包括的な原理は、本開示の範囲を逸脱することなく、他の実施形態に適用されうる。従って、本開示は、本明細書に示された実施形態に制限されることを企図せず、次に続く特許請求の範囲によって定義されるような原理および新規特徴と合致する範囲が与えられる。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
（１）  第１のビデオフレームに対応する第１の画像データと、第２のビデオフレームに対応する第２の画像データとを受信することと、なお、前記第１のビデオフレームと前記第２のビデオフレームは、画像センサから受信され、
前記第２の画像データの対応する部分に対して前記第１の画像データの部分間のオフセットを少なくとも部分的に補償することによって、前記第２の画像データを調整して、調整された第２の画像データを生成することと、
前記第１の画像データと、前記調整された第２の画像データに対して階層型合成動作を実行することによって、合成ビデオフレームに対応する合成画像データを生成することと
を備える方法。
（２）  前記合成画像データは、前記第１の画像データよりも高い解像度、前記第１の画像データよりも高いダイナミックレンジ、前記第１の画像データよりも広い被写体深度、前記第１の画像データよりも少ないノイズ、または、前記第１の画像データよりも少ない動きによるぼやけのうちの少なくとも１つを有する、（１）に記載の方法。
（３）  前記合成画像データを圧縮することと、前記圧縮された合成画像データをメモリデバイスに格納することとをさらに備える、（１）に記載の方法。
（４）  前記階層型合成動作は、粗い合成動作およびファイン合成動作を含む、（１）に記載の方法。
（５）  前記粗い合成動作は、前記調整された第２の画像データの１つ以上のマクロブロックと、前記第１の画像データの対応するマクロブロックとの差分が選択可能な閾値を超える場合に、前記調整された第２の画像データの前記１つ以上のマクロブロックを選択的に破棄することを含む、（４）に記載の方法。
（６）  前記ファイン合成動作は、フィルタリングされた画像特性を比較するために、前記第１の画像データと、前記調整された第２の画像データをフィルタリングすることを含み、前記第１の画像データの第１の値と、前記第２の画像データの対応する第２の値は、前記フィルタリングされた画像特性に基づいて選択的に合成される、（４）に記載の方法。
（７）  前記第２の画像データを調整することは、前記第２の画像の前記対応する部分に対して前記第１の画像データの部分間の前記オフセットに対応する動きベクトルのセットのデータを適用することを含む、（１）に記載の方法。
（８）  前記動きベクトルデータのセットは、階層型レジストレーションプロセスを介して決定される、（７）に記載の方法。
（９）  前記階層型レジストレーションプロセスは、
前記第１の画像の第１の部分と、前記第２の画像の第１の部分との第１の位置合わせされたオフセットを決定することと、
前記第１の位置合わせオフセットに基づいて、前記第１の画像の第２の部分と、前記第２の画像の第２の部分との第２の位置合わせされたオフセットを決定することとを含み、
前記第１の画像の第２の部分は、前記第１の画像の前記第１の部分内に存在する、（８）に記載の方法。
（１０）  第１のビデオフレームに対応する第１の画像データと、第２のビデオフレームに対応する第２の画像データとに基づいて動きベクトルデータのセットを生成するように構成されたレジストレーション回路と、なお、前記第１のビデオフレームおよび前記第２のビデオフレームは、画像センサから受信され、
階層型合成動作を実行して、前記第１の画像データと、調整された第２の画像データとを選択的に合成するために結合された合成回路と、ここで、前記調整された第２の画像データは、前記動きベクトルデータに従って調整された後の前記第２の画像データに対応し、
前記合成回路を制御して、合成ビデオフレームに対応する合成画像データを生成するための制御回路とを備える装置。
（１１）  前記合成画像データは、前記第１の画像データよりも高い解像度、前記第１の画像データよりも高いダイナミックレンジ、前記第１の画像データよりも広い被写界深度、前記第１の画像データよりも少ないノイズ、または、前記第１の画像データよりも少ない動きによるぼやけのうちの少なくとも１つを有する、（１０）に記載の装置。
（１２）  前記合成回路は、粗い合成回路と、ファイン合成回路とを含む、（１０）に記載の装置。
（１３）  前記合成回路は、
前記第１の画像データを受信するために結合された第１の入力と、前記第２の画像データを受信するために結合された第２の入力と、マクロブロック動きベクトル信号を受信するために結合された第３の入力と、位置合わせされた第１の画像出力と、位置合わせされた第２の画像出力とを有するマクロブロック画像位置合わせ回路と、
前記位置合わせされた第１の画像出力を受信するために結合された第１の入力と、前記位置合わせされた第２の画像出力を受信するために結合された第２の入力と、マクロブロック差分信号を受信するために結合された第３の入力とを有し、且つ、第１の画像差分出力と、第２の画像差分出力とを有するブロック差分弁別器回路と、
前記ブロック差分弁別器回路に結合され、平均画素差分結果を示すために画素差分出力信号を提供するように構成された第１の入力を有する平均画素差分回路と
を備える、（１０）に記載の装置。
（１４）  前記ブロック差分弁別器回路および前記平均画素差分回路の間に結合され、前記第１の画像差分出力を受信するために結合された第１の入力と、フィルタリングされた第１の画像差分出力を提供する出力とを有する第１のフィルタと、
前記ブロック差分弁別器回路および前記平均画素差分回路の間に結合された、前記第２の画像差分出力を受信するために結合された第１の入力と、フィルタリングされた第２の画像差分出力を提供するための出力とを有する第２のフィルタと
をさらに備える、（１３）に記載の装置。
（１５）  前記合成画像データを圧縮し、前記圧縮された合成画像データをメモリデバイスに格納するように構成された圧縮および記憶モジュールをさらに備える、（１０）に記載の装置。
（１６）  カメラレンズと、
前記第１の画像データを生成し、且つ、前記第２の画像データを生成するために前記カメラレンズに結合されたビデオキャプチャ回路と
をさらに備える、（１０）に記載の装置。
（１７）  アンテナを介してデータを送信および受信するために無線トランシーバに結合されプロセッサをさらに備える、（１６）に記載の装置。
（１８）  第１のビデオフレームに対応する第１の画像データと、第２のビデオフレームに対応する第２の画像データとに基づいて動きベクトルデータのセットを生成するためのレジストレーション手段と、なお、前記第１のビデオフレームおよび前記第２のビデオフレームは、画像センサから受信され、
階層型合成動作を実行して、前記第１の画像データと、調整された第２の画像データとを選択的に合成するための合成手段と、ここで、前記調整された第２の画像データは、前記動きベクトルデータに従って調整された後の前記第２の画像データに対応し、
前記合成回路を制御して、合成ビデオフレームに対応する合成画像データを生成するための制御手段と
を備える装置。
（１９）  カメラレンズと、
前記第１の画像データおよび前記第２の画像データを生成するために前記カメラレンズに結合されたビデオキャプチャ手段と
をさらに備える、（１８）記載の装置。
（２０）  前記合成画像データをエンコードして、エンコードされたビデオデータを生成するための手段をさらに備える、（１８）に記載の装置。
（２１）  コンピュータ実行可能コードを格納するコンピュータ可読媒体であって、前記コンピュータ実行可能コードは、
第１のビデオフレームに対応する第１の画像データと、第２のビデオフレームに対応する第２の画像データとを受信するためのコードと、なお、前記第１のビデオフレームと前記第２のビデオフレームは、画像センサから受信され、
前記第２の画像データの対応する部分に対して前記第１の画像データの部分間のオフセットを少なくとも部分的に補償することによって、前記第２の画像データを調整して、調整された第２の画像データを生成するためのコードと、
前記第１の画像データと、前記調整された第２の画像データに対して階層型合成動作を実行することによって、合成ビデオフレームに対応する合成画像データを生成するためのコードと
を備える、コンピュータ可読媒体。
（２２）  前記合成画像データは、前記第１の画像データよりも高い解像度、前記第１の画像データよりも高いダイナミックレンジ、前記第１の画像データよりも広い被写界深度、前記第１の画像データよりも少ないノイズ、または、前記第１の画像データよりも少ない動きによるぼやけのうちの少なくとも１つを有する、（２１）に記載のコンピュータ可読媒体。
（２３）  ビデオエンコーダに前記合成画像データを提供して、エンコードされたビデオデータを生成するためのコードをさらに備える、（２１）に記載のコンピュータ可読媒体。
（２４）  前記階層型合成動作は、粗い合成動作およびファイン合成動作を含む、（２１）に記載のコンピュータ可読媒体。
【外国語明細書】
2015053694000001.pdf