(58)【調査した分野】(Int.Cl.,DB名)
前記張り合わせることは、複数の継目ラインと前記複数の継目ラインの各々に対応するエネルギーレベルとを評価することと、最低のエネルギーレベルを有する継目ラインを選択することとを備える、請求項1に記載の方法。
前記ディスプレイが、前記第1の画像のライブプレビュー上に前記グループの前記第2の部分のために確保されたスペースの指示を表示するようにさらに構成される、請求項8に記載の画像キャプチャデバイス。
前記ディスプレイ上の前記第1の画像と、前記第2の画像の前記ライブプレビューと、前記第2の画像との表示を管理するように構成されたユーザインターフェース制御モジュールをさらに備える、請求項8に記載の画像キャプチャデバイス。
前記ユーザインターフェース制御モジュールが、前記第1の画像と前記第2の画像の前記ライブプレビューとの一方にあるレベルの透過性を割り当てるように構成された透過性モジュールをさらに備える、請求項13に記載の画像キャプチャデバイス。
【発明を実施するための形態】
【0014】
序論
[0022]本明細書で説明する画像キャプチャ/張合せ技法は、各々がグループの一部分と実質的に同様の背景とを含む、2つ以上の画像をキャプチャし張り合わせることができる。いくつかの実施形態は、プロセスの様々な段階において、たとえば画像整合において、および画像を互いに張り合わせるための境界を画定する継目ラインを配置することにおいて、ユーザ入力を受け取るように設計されたユーザインターフェースを実装することができる。いくつかの実施形態は、画像を整合させ、低エネルギーレベルを有する継目ラインを生成するための自動プロセスを実施することができ、継目ラインが視覚的に満足できる張合せ画像の結果を生成する可能性が高いことを示している。さらに他の実施形態は、ユーザにキャプチャ機能および張合せ機能を推奨しながら、必要な場合、推奨された機能をユーザが変更することを可能にするために、ユーザ入力と自動画像整合とを組み合わせることができる。
【0015】
[0023]本明細書で説明するシステムおよび方法の一実施形態は、たとえば、撮影者がグループの第1の部分の第1の画像をキャプチャし、次いでグループの第2の部分の第2の画像をキャプチャしながら第1の画像の透光性オーバーレイを見ることを可能にする、画像キャプチャデバイスのビューファインダーまたは画像キャプチャデバイスに関連付けられた別のディスプレイ中にユーザインターフェースを提供することができる。一実施形態では、第2の画像は、第1の画像中にキャプチャされた第1のグループの一部分でなかった追加の人を含むためにキャプチャされる。他の実施形態は、ビューファインダー中の不透明な第1の画像上に第2の画像のプレビュー画像の透光性オーバーレイを表示し得る。いくつかの実施形態では、ユーザは、たとえば、第1の画像と第2の画像とのどちらが透光性で表示されるかを選択し、選択された画像の不透明度レベルを選択することによって透光パラメータを制御することができる。
【0016】
[0024]ユーザインターフェースは、ユーザ、たとえば第2の撮影者が第1の画像と第2の画像との相対位置決めを調整することを可能にする場合もある。いくつかの実施形態では、第1の画像の透光性オーバーレイは、第2の画像のキャプチャ中に第2の画像のビューファインダープレビュー画像を用いて再整合され得る。タッチセンシティブスクリーンを有する画像キャプチャデバイスの一実装形態では、たとえば、ユーザは、不透明な画像に対して透光性画像を再配置するために指によるドラッグまたはスワイプのジェスチャーを使用することができ、透光性画像または不透明な画像をズームインまたはズームアウトするためにツーフィンガーのピンチを使用することができ、透光性画像の水平線と不透明な画像の水平線とを整合させるために回転ドラッグジェスチャーを使用することができる。第1の画像と第2の画像とを整合させるための他の実施形態では、ボタン制御または音声制御が使用され得る。相対位置決めは、画像張合せのために第1の画像と第2の画像とを整合させるために使用され得る。ユーザインターフェースは、第1の画像の一部分に第2の画像の一部分を張り合わせるために使用され得る継目ライン領域をユーザが識別することを可能にする場合もある。
【0017】
[0025]いくつかの実施形態は、画像を自動的に整合させ張り合わせることができ、画像を張り合わせるための境界として継目ラインを自動的に決定することができる。継目ラインは、第1の画像および第2の画像の重複部分に関して決定され得る。いくつかの実施形態は、重複部分を決定するために第1の画像と第2の画像とを自動的に整合させ得るが、いくつかの実施形態は、画像のユーザ整合に少なくとも部分的inに基づいて重複部分を決定し得る。次いで、最低エネルギー径路決定プロセスが、最低エネルギー径路を求めて重複領域を探索する場合があり、画像または画像前景を互いに張り合わせるためにその径路を使用する場合がある。
【0018】
[0026]低エネルギーまたは最低エネルギーの継目ラインは、重複領域中の開始ピクセルを選択し、ルミナンス、クロミナンス、深度、または別のピクセル値などの、開始ピクセルの値を識別することによって決定され得る。この値は、開始ピクセルに隣接するピクセルに関して決定される場合があり、隣接ピクセルの値と開始ピクセルの値との間の差分を表す差分値が、複数の隣接ピクセルの各々に関して計算され得る。隣接ピクセルのうちの1つが、現在の継目ラインピクセル、たとえば最低の差分値を有する隣接ピクセルとして設定され得る。次いで、現在の継目ラインピクセルに隣接するピクセルに関して差分値が計算される場合があり、重複領域のエッジに達するまで次の現在の継目ラインピクセルが選択され得る。開始ピクセルおよび他の継目ラインピクセルの座標または位置は、継目ラインピクセル位置データを構築するために記憶される場合があり、画像を互いに張り合わせるために使用される場合がある。
【0019】
[0027]いくつかの実施形態では、たとえば、重複領域中のピクセルのエネルギーマップから複数の継目ラインが生成され得る。いくつかの実施形態では、エネルギーマップは、勾配値から生成され得る。画像張合せのために使用する複数の継目ラインのうちの1つを選択することは、各継目ラインの累積エネルギーコスト、たとえば最小累積勾配差分を検査することを含むことができる。同じ最低累積エネルギーコストを有する2つ以上の継目ラインが存在する場合、いくつかの実施形態では、継目ラインの長さに基づいて画像張合せのために一方が他方に優先して選択される場合があり、すなわち、直接下方に動く継目ラインが対角線方向に動く継目ラインよりも優先され得る。他の実施形態では、各継目ラインに関して最大の差分を有する継目ラインピクセルが決定される場合があり、最低の最大差分値を有する継目ラインが選択され得る。さらなる実施形態では、これらの継目ラインを使用することによって複数の考えられる一意の張合せ結果が生成されユーザに表示される場合があり、ユーザは、張り合わせられた画像オプションから選択することができる。
【0020】
[0028]最低エネルギー径路決定プロセスは、いくつかの実施形態では重複領域の最上行の左端ピクセルであり得るが、他の実施形態では重複領域内の任意の他のピクセルであり得る、開始ピクセルにおいて開始し得る。次いで、最低エネルギー径路決定プロセスは、開始ピクセルに隣接するピクセルの各々に関して第1の画像および第2の画像からのピクセル値間の差分値を計算し得る。最低の差分値を有するピクセルが現在の継目ラインピクセルとして設定される場合があり、現在の継目ラインピクセルの方向に継目ラインが描かれる場合がある。いくつかの実施形態では、現在の継目ラインピクセルの位置情報が、継目ラインピクセル位置データを含むメモリ中に記憶され得る。継目ラインピクセル位置データは、画像張合せ中に継目ラインを構築するために使用され得る。
【0021】
[0029]いくつかの実施形態では、しきい値未満の差分値を有する隣接ピクセルがない場合、最低エネルギー径路決定プロセスは、開始ピクセルとして異なるピクセルを設定する場合があり、新規の開始ピクセルに隣接するピクセルに関する差分値を計算し得る。重複領域中のピクセルのいずれもしきい値未満の差分値を有しないと決定される場合、最低エネルギー径路決定プロセスは、第1の画像および第2の画像が十分な類似性を含まないことをユーザに示す場合があり、ユーザは、しきい値を調整するための、または張合せのために新規の画像をキャプチャするための選択可能なオプションを表示される場合がある。
【0022】
[0030]最低エネルギー径路決定プロセスは、現在の継目ラインピクセルを決定した後、現在の継目ラインピクセルに隣接するピクセルの各々に関して第1の画像および第2の画像からのピクセル値間の差分値を計算し得る。しきい値未満の差分値を有する隣接ピクセルがない場合、このプロセスは、新規の開始ピクセルで再び開始し得る。少なくとも1つの隣接ピクセルがしきい値未満の差分値を有する場合、現在の継目ラインピクセルは、最低の差分値を有する隣接ピクセルになるように更新される場合があり、継目ラインピクセル位置データが、更新された現在の継目ラインピクセルの位置情報を含むように更新される場合がある。いくつかの実施形態では、継目ラインピクセル位置データは、現在の継目ラインピクセル位置を前の継目ラインピクセル位置と比較するために使用され得る。現在の継目ラインピクセル位置データが前の継目ラインピクセル位置データ内の任意の登録項目にマッチングする場合、継目ラインは再びそれ自体に重なり、このプロセスは、継続することが可能ならば、無限ループに立ち往生する場合がある。したがって、現在の継目ラインピクセル位置データが前の継目ラインピクセル位置データ内の任意の登録項目にマッチングする場合、このプロセスは、新規の開始ピクセルを選択し再び開始する場合がある。
【0023】
[0031]最低エネルギー径路決定プロセスは、このプロセスが重複領域の最終行のピクセルに達するまで、隣接ピクセルに関する少なくとも1つの差分値がしきい値未満である限り、また現在の継目ラインピクセル位置データが前の継目ラインピクセル位置データ内の任意の登録項目にマッチングしない限り、現在の継目ラインピクセルに隣接するピクセルの各々に関して第1の画像および第2の画像からのピクセル値間の差分値を計算し続け得る。継目ラインの開始ピクセルが開始行にあり、継目ラインの最終ピクセルが最終行にあるとプロセスが決定するとき、このプロセスは、完成された継目ラインを記憶するか、または、ユーザへの表示のために、もしくは画像張合せのために完成された継目ラインを出力し得る。最上行の開始ピクセルで継目ラインを描き始める実施形態では、最終行は、最下行であり得る。いくつかの実施形態では、継目ラインがエッジの行で終了する場合、プロセスは、継目ラインが不完全な最終張合せ画像を提供し得るか、または新規の開始ピクセルで再び開始し得るという指示とともにユーザに継目ラインを表示し得る。
【0024】
[0032]いくつかの実施形態では、たとえば各継目ラインピクセルの差分値を合計することによって、完成された継目ラインの総エネルギーレベルが計算され得る。継目ラインの総エネルギーレベルは、画像張合せにおける使用前に、またはユーザへの表示前に、しきい値と比較され得る。以下で説明するように、完成された継目ラインの総エネルギーは、最終的な張合せ画像のあり得る品質のユーザへの指示を生成するために使用され得る。いくつかの実施形態では、単一の最低エネルギー継目ラインの代わりに複数の低エネルギー継目ラインオプションがユーザに表示される場合があり、低エネルギー継目ラインオプションは各々しきい値未満の総エネルギーレベルを有する。
【0025】
[0033]述べたように、いくつかの実施形態は、ユーザ入力と、画像張合せファクタの自動決定とを組み合わせることができる。一実施形態では、ユーザが案内されるグループ画像キャプチャインターフェースは、ユーザが画像整合位置および継目ライン位置のうちの1つまたは複数を見るか、変更するか、または入力することを可能にすることができる。複数の継目ラインが生成された場合、ユーザは、画像を互いに張り合わせるために継目ラインのうちのどれを使用すべきかを選択するためのオプションを有し得る。いくつかの実施形態では、継目ラインの外観は、たとえば、エネルギーレベルに基づいて色スペクトルで継目ラインを表示することによって、ユーザに継目ラインの総エネルギーを示すように変化することができる。説明のために、一実施形態では、緑の継目ラインは、低エネルギー継目ラインを表すことができ、黄色は中間レベルのエネルギー継目ラインを表すことができ、赤い継目ラインは高エネルギー継目ラインを表すことができる。このシステムは、継目ラインエネルギーの指示を提供するために、自動的に生成されるか、またはユーザによって入力された継目ラインの外観を変更することができる。
【0026】
[0034]たとえば画像の一方を他方に対して再配置することによって、ユーザが第1の画像と第2の画像との間の空間関係を変更する場合、いくつかの実施形態では、更新された継目ラインは、自動的に生成および/または表示され得る。現在の位置決めおよび/または選択された継目ラインを使用して第1の画像および第2の画像から生成された最終的な張合せ画像のプレビューは、現在の画像位置決めと、張合せのために現在選択された継目ラインとを使用して画像張合せを続けるべきかどうかを決定する際に使用するためにユーザに出力され得る。
【0027】
[0035]本明細書で開示する実装形態は、グループのサブセットを含む複数の画像から組み合わされたグループ画像を生成するためのシステム、方法、および装置を提供する。これらの実施形態は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得ることを当業者は認識されよう。
【0028】
[0036]以下の説明では、例の完全な理解を与えるために具体的な詳細を与える。ただし、例はこれらの具体的な詳細なしに実施され得ることを当業者は理解されよう。たとえば、例を不必要な詳細において不明瞭にしないために、電気的構成要素/デバイスをブロック図で示す場合がある。他の事例では、例についてさらに説明するために、そのような構成要素、他の構造および技法を詳細に図示する場合がある。
【0029】
[0037]例は、フローチャート、流れ図、有限状態図、構造図、またはブロック図として示されるプロセスとして説明される場合があることにも留意されたい。フローチャートは動作を逐次プロセスとして説明することがあるが、動作の多くは並列にまたは同時に実行される場合があり、プロセスは繰り返される場合がある。さらに、動作の順序は並べ替えられ得る。プロセスは、その動作が完了すると終了する。プロセスは、方法、関数、プロシージャ、サブルーチン、サブプログラムなどに対応し得る。プロセスがソフトウェア関数に対応するとき、その終了は呼出し関数またはメイン関数への関数の復帰に対応する。
【0030】
[0038]情報および信号は、多種多様な技術および技法のいずれかを使用して表され得ることを当業者は理解されよう。たとえば、上の説明全体を通じて参照され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場または磁気粒子、光場または光粒子、あるいはそれらの任意の組合せによって表現され得る。
例示的なユーザインターフェースの概要
[0039]
図1A〜
図1Cは、グループの第1のサブセットを含む第1の画像とグループの第2のサブセットを含む第2の画像とからグループ画像を生成するための1つの考えられるプロセス中のいくつかの例示的なステップを示す、画像キャプチャデバイス100の様々なユーザインターフェースディスプレイを示す。ユーザインターフェースは、画像キャプチャデバイスのビューファインダーディスプレイなどのディスプレイ上、または画像キャプチャデバイスに関連付けられた別のディスプレイ上に表示され得る。
【0031】
[0040]たとえば、様々な実装形態では、
図1Aに示すように、グループ115の第1の部分の第1の画像125がキャプチャされる場合があり、第1の画像125中のスペース120が、第1の撮影者105のために確保される場合がある。第1の画像125は、第1の背景110および第1の前景を含む場合があり、第1の前景はグループ115の第1の部分と場合によっては他の前景オブジェクトとを含む。いくつかの実施形態では、画像キャプチャデバイス100は、たとえば、第1の画像および第2の画像のピクセルに関連付けられた深度マップデータを分析することによって、または、一般に画像の前景領域または背景領域のうちの1つに関連付けられた顔または空などのオブジェクトの認識によって、前景を含む第1のピクセル領域と背景を含む第2のピクセル領域とを決定し得る。他の実施形態では、画像キャプチャデバイス100は、前景および背景を決定することなく本明細書で説明する画像張合せ方法を実行し得る。
【0032】
[0041]
図1Bに示すように、第1の撮影者105は、第1の画像125をキャプチャした後、次いで、撮影者のために確保されたスペース120に移動し、第2の撮影者(手135によって示す)が画像キャプチャデバイスの制御を引き継ぐ場合がある。次いで、画像キャプチャデバイス100は、第2の画像130のキャプチャを導くために重畳ライブビューを起動し得る。重畳ライブビューでは、
図1Bに示すように、第2の画像130のライブプレビューが、画像キャプチャデバイス100上に表示され得る。第1の画像125の少なくとも一部分が、ライブプレビュー上に重畳され得る。他の実施形態では、ライブプレビューは、第1の画像125上に重畳され得る。第1の画像125と第2の画像130のライブプレビューとの一方または両方は、第1の画像とライブプレビューの両方が少なくとも部分的に見えるように、一定のレベルの透過性を割り当てられ得る。画像キャプチャデバイスのユーザは、第1の画像およびライブプレビューのうちのどちらが最上層であるかを選択する場合があり、いくつかの実装形態では、各層の不透明度を設定することができる。第2の撮影者は、ライブプレビューに対する第1の画像125の表示部分の位置、レイアウト、および/またはサイズを調整し得る。第2の撮影者は、第1の撮影者105の位置が第2の画像130中の確保されたスペース120内に入るように案内するために重畳ライブビューを使用する場合もある。
【0033】
[0042]第2の画像130は、背景110および第2の前景を含む場合があり、第2の前景は第1の撮影者105を含む。第2の画像の背景は、第1の背景110と実質的に同じであり得る。いくつかの実施形態では、第1および第2の画像は、第1および第2の背景が実質的に同様になるようにしきい値時間期間内に同様の視点から取得され得る。画像キャプチャデバイス100は、第1の画像の背景のフレーミングの指示を第2の撮影者に提供するように構成され得る。画像キャプチャデバイス100は、第1および第2の画像の他の属性、たとえば背景オブジェクトの明暗および位置の類似性のレベルに関する他の指示を第2の撮影者に提供する場合もある。いくつかの実施形態では、画像キャプチャデバイスは、第1および第2の画像の属性の類似性のレベルを決定するために、第1の画像のピクセルのうちの少なくとも一部のピクセル値を第2の画像のピクセルのうちの少なくとも一部のピクセル値と比較し得る。ピクセル値は、たとえば、ルミナンス、クロミナンス、勾配値、または深度値であり得る。
【0034】
[0043]
図1Cに示すように、画像キャプチャデバイス100は、第2の画像130をキャプチャした後、第1の画像125と第2の画像130とを互いに融合するか、張り合わせるか、またはさもなければ併合することによって実質的にシームレスな張合せまたは合成で最終的な画像135を構成し得る。第1の画像の前景および第2の画像の前景は、共有される背景110上で互いに張り合わされ得る。したがって、最終画像135は、第1の撮影者を含むグループ全体を含む。カメラのユーザは、たとえば、第1の画像および第2の画像を互いに動かすことによって、画像シーン中の重要な構成要素の輪郭を描くことによって、または第1の画像および第2の画像が互いに張り合わされるべき境界を画定することによって、最終的な画像が生成される方法を介して多少の制御を用いる場合がある。
【0035】
[0044]
図2A〜
図2Cは、様々な重複構成の1対の画像200、205を示す。重複領域は、1つまたは複数の継目ラインを用いて表示される。継目ラインは、第1の画像の一部分が第2の画像の一部分に張り合わされ得る境界を表す。いくつかの実施形態では、継目ラインは、共有される背景上で互いに張り合わされた第1の前景と第2の前景との間の境界を決定するために使用され得る。いくつかの実施形態では、継目ラインは、以下でより詳細に説明するように、最低エネルギー径路決定プロセスを介して画像キャプチャデバイスまたは別のコンピューティングデバイスによって自動的に決定され得る。最低エネルギー径路決定プロセスは、上述の画像張合せプロセスのサブプロセスであり得るか、または任意の画像張合せアプリケーション、画像合成アプリケーション、もしくは他の画像組合せアプリケーションにおいて使用され得る。継目ラインは、いくつかの実施形態では、たとえば、タッチセンシティブディスプレイ上で指またはスタイラスなどを用いて第1の前景と第2の前景との一方または両方の境界を示すラインをユーザが描くことによって、ユーザによって提供され得る。いくつかの実施形態は、ユーザ入力継目ラインを改善するために最低エネルギー径路決定技法を使用し得る。
【0036】
[0045]
図2Aおよび
図2Bに示すように、ユーザは、第1の画像200と第2の画像205とを手動で整合させる場合があり、重複部分上に表示される1つまたは複数の継目ライン225、230を入力するか、またはこれらの継目ラインを表示される場合がある。いくつかの実施形態では、最低エネルギー径路決定プロセスは、1つまたは複数の継目ラインを提供するように構成され得る。他の実施形態では、ユーザは、継目ラインを入力することができる。いくつかの実施形態では、継目ラインを決定するために、ユーザ入力と自動プロセスとの組合せが使用され得る。ユーザは、表示された継目ラインおよび選択された重複領域を使用して第1の画像200および第2の画像205が張り合わされた場合、これらの画像がどのように見えるかのプレビュー210、215を表示される場合もある。プレビュー画像210、215によって示されるように、
図2Aおよび
図2Bの重複領域は、張合せ画像210、215中に複製された背景要素が存在するとき、最適の張合せ画像を生成しない。
【0037】
[0046]いくつかの実施形態では、1つまたは複数の継目ラインの視覚的外観は、たとえば、継目ラインのエネルギーレベルの決定に応答してディスプレイ上に示された継目ラインの色を変更することによって、1つまたは複数の継目ラインのエネルギーレベルの指示を提供することができる。いくつかの実施形態では、赤い継目ラインは、高レベルのエネルギーを示す場合があり、最終的な張合せ画像において削除される第1の前景と第2の前景との一方または両方におけるオブジェクトの一部分をもたらし得る。黄色の継目ラインは、中間のエネルギー量を示す場合があり、右側に表示されるように、最終的な張合せ画像中に表示される複製背景オブジェクトをもたらし得る。緑の継目ライン、または複数の考えられる継目ラインを含む重複部分の緑の領域は、低いエネルギー量を示す場合がある。他の実施形態では他の視覚的指示が使用される場合があり、いくつかの実施形態では、総継目ラインエネルギーまたは継目ラインとは別個の別の指示とが、継目ラインエネルギーの評価のためにユーザに表示され得る。
【0038】
[0047]
図2Cの重複した第1の画像200および第2の画像205に示されるように、第1の画像200および第2の画像205をカットもしくはトリミングするために、または共有される背景上で張り合わせるために第1の画像の前景と第2の画像の前景とをカットもしくはトリミングするために低エネルギーの継目ラインの領域235内の継目ラインを使用することは、撮影されたグループのすべてのメンバーを含み、認識可能な繰返しの背景オブジェクトを含まない、実質的にシームレスな最終的な張合せ画像220をもたらし得る。
システム概要
[0048]
図3は、グループ画像または張合せ画像をキャプチャおよび生成するための例示的なシステム300のハイレベルブロック図を示し、システム300は、撮像センサ315にリンクされたプロセッサ320を含む構成要素のセットを有する。作業メモリ305、記憶装置310、電子ディスプレイ325、およびメモリ330もプロセッサ320と通信している。
【0039】
[0049]システム300は、セルフォン、デジタルカメラ、タブレットコンピュータ、携帯情報端末などのデバイスであり得る。システム300は、画像をキャプチャするための内部または外部のカメラを使用する、デスクトップパーソナルコンピュータ、ビデオ会議局などの、より動かないデバイスである場合もある。システム300は、画像キャプチャデバイスと、画像キャプチャデバイスから画像データを受け取る別個の処理デバイスとの組合せである場合もある。システム300上で、複数のアプリケーションがユーザにとって利用可能であり得る。これらのアプリケーションは、従来の写真アプリケーションと、パノラマ静止画像およびビデオと、画像張合せアプリケーションとを含み得る。
【0040】
[0050]画像キャプチャシステム300は、画像をキャプチャするための画像センサ315を含む。画像センサ315は、たとえば、電荷結合デバイス(CCD)、相補型金属酸化物半導体(CMOS)センサなどであり得る。画像センサ315は、キャプチャされた画像を画像プロセッサ320に伝送するためにプロセッサ320に結合され得る。画像プロセッサ320は、以下でより詳細に説明するように、高品質の張合せ画像を出力するために、受信したキャプチャ画像に対して様々な動作を実行するように構成され得る。
【0041】
[0051]プロセッサ320は、汎用処理ユニット、または撮像アプリケーションのために特別に設計されたプロセッサであり得る。図示のように、プロセッサ320は、メモリ330と作業メモリ305とに接続される。示される実施形態では、メモリ330は、撮像センサ制御モジュール335と、ユーザインターフェース制御モジュール340と、張合せ画像生成モジュール345と、キャプチャ制御モジュール350と、オペレーティングシステム355とを記憶する。これらのモジュールは、様々な画像処理タスクとデバイス管理タスクとを実行するようにプロセッサを構成する命令を含む。作業メモリ305は、メモリ330のモジュール中に含まれるプロセッサ命令の作業セットを記憶するためにプロセッサ320によって使用され得る。代替的に、作業メモリ305は、デバイス300の動作中に作成された動的データを記憶するためにプロセッサ320によって使用される場合もある。
【0042】
[0052]上述のように、プロセッサ320は、メモリ330に記憶されたいくつかのモジュールによって構成される。撮像センサ制御モジュール335は、撮像センサ315の焦点位置を調整するようにプロセッサ320を構成する命令を含む。撮像センサ制御モジュール335は、撮像センサ315を用いて画像をキャプチャするようにプロセッサ320を構成する命令も含む。したがって、プロセッサ320は、画像キャプチャ制御モジュール335、撮像センサ315、および作業メモリ305とともに、張り合わされる画像または画像のセットをキャプチャするための1つの手段を表す。
【0043】
[0053]ユーザインターフェース制御モジュール340は、画像のセットをキャプチャし張り合わせる際に1つまたは複数のユーザを案内するためのディスプレイ325上に様々なユーザインターフェース要素を出力するようにプロセッサ320を構成する命令を含む。
図1A〜
図2Cに関して上記で説明したように、ユーザインターフェース要素は、透過的に表示された第1の画像および第2の画像と、第1の画像の撮影者のスペースを確保するための第1の画像中のマーキングされた位置と、1つまたは複数の継目ラインと、プレビュー画像とを含み得る。ユーザインターフェース制御モジュール340は、ユーザ入力、たとえば張り合わされる画像の相対位置決めと継目ラインの入力および選択とを受け取るように、またユーザ入力に少なくとも部分的に基づいて画像のセットを張り合わせるようにプロセス320を構成する命令も含む。
【0044】
[0054]張合せ画像生成モジュールは、画像のセットを互いに張り合わせて最終的な張合せ画像にするようにプロセッサ320を構成する命令を含み得る。いくつかの実施形態では、これらの命令は、プロセッサに画像のセットの各々の前景を識別させ、画像のセットの共有される背景を識別させ得る。張合せ画像生成モジュールは、画像のセットを整合させ、重複部分を決定することができる。張合せ画像生成モジュールは、重複部分中の「低エネルギー」継目ラインを識別し、低エネルギー継目ラインに基づいて画像のセット中の各画像の一部分を互いに張り合わせるようにプロセッサ320を構成する命令を含むこともできる。
【0045】
[0055]キャプチャ制御モジュール350は、システム300の画像キャプチャ機能全体を制御する命令を含み得る。たとえば、一実施形態では、キャプチャ制御モジュール350は、撮像センサ315を使用してターゲット画像シーンの第1の画像データをキャプチャするようにプロセッサ320を構成するためのサブルーチンを呼び出す命令を含み得る。次いで、キャプチャ制御モジュール350は、撮像センサ315を使用してターゲット画像シーンの第2の画像データをキャプチャする際にユーザを案内するユーザインターフェース制御モジュール340を呼び出し得る。キャプチャ制御モジュール350は、ターゲット画像シーンの第1の画像と第2の画像とを自動的に整合させ、整合された画像の重複領域に関する低エネルギー継目ラインを決定し、整合および継目ラインに基づいて第1の画像および第2の画像を張り合わせるために張合せ画像生成モジュール345を呼び出す場合もある。キャプチャ制御モジュール260は、自動整合および継目ライン決定を含むユーザ入力に基づいて画像張合せを補足するためにユーザインターフェース制御モジュール340の呼出しと張合せ画像生成モジュール345の呼出しとの間で交代する場合もある。
【0046】
[0056]オペレーティングシステムモジュール355は、システム300のメモリと処理リソースとを管理するようにプロセッサ320を構成する。たとえば、オペレーティングシステムモジュール355は、電子ディスプレイ325、記憶装置310、または撮像センサ315などのハードウェアリソースを管理するためのデバイスドライバを含み得る。したがって、いくつかの実施形態では、上記で説明した画像処理モジュール中に含まれる命令は、これらのハードウェアリソースと直接対話せず、代わりに、オペレーティングシステム構成要素355中にある標準サブルーチンまたはAPIを通して対話し得る。オペレーティングシステム355内の命令は、次いで、これらのハードウェア構成要素と直接対話し得る。
【0047】
[0057]プロセッサ320は、ユーザにキャプチャ画像を表示するためにディスプレイ325を制御するようにさらに構成され得る。ディスプレイ325は、画像センサ315を含む撮像デバイスの外部にあるか、または撮像デバイスの一部であり得る。ディスプレイ325はまた、画像をキャプチャする前にユーザにビューファインダーを提供するように構成され得るか、または、メモリに記憶されるか、もしくはユーザによって最近キャプチャされたキャプチャ画像を表示するように構成され得る。ディスプレイ325は、LCDまたはLEDスクリーンを備える場合があり、タッチセンシティブ技術を実装する場合がある。ユーザインターフェース制御モジュール340によって生成されるユーザインターフェースは、ディスプレイ325上に全体的にまたは部分的に実装され得る。たとえば、ディスプレイ325がタッチセンシティブ技術を備える場合、ユーザインターフェースは、ディスプレイ325上に全体的に実装され得る。タッチ技術がディスプレイ325に使用されない、いくつかの実施形態では、ユーザインターフェースは、ボタンまたはホイールなどの、表示要素およびユーザ入力手段を含み得る。
【0048】
[0058]プロセッサ320は、データ、たとえば、キャプチャ画像と、画像整合と、継目ラインの位置およびエネルギーのデータとを表すデータを記憶モジュール310に書き込み得る。記憶モジュール310は、従来のディスクデバイスとして図式的に表されているが、記憶モジュール310が任意の記憶媒体デバイスとして構成され得ることを当業者ならば理解されよう。たとえば、記憶モジュール310は、フロッピー(登録商標)ディスクドライブ、ハードディスクドライブ、光ディスクドライブもしくは光磁気ディスクドライブなどのディスクドライブ、またはフラッシュメモリ、RAM、ROM、および/もしくはEEPROM(登録商標)などの固体メモリを含み得る。記憶モジュール310は、複数のメモリユニットを含むこともでき、メモリユニットのうちのいずれか1つが、画像キャプチャデバイス300の内部に構成されるか、または画像キャプチャシステム300の外部にある場合がある。たとえば、記憶モジュール310は、画像キャプチャシステム300内に記憶されたシステムプログラム命令を含むROMメモリを含み得る。記憶モジュール310は、カメラから取り外され得る、キャプチャ画像を記憶するように構成されたメモリカードまたは高速メモリも含み得る。
【0049】
[0059]
図3は、プロセッサと撮像センサとメモリとを含むように別個の構成要素を備えるシステムを示しているが、これらの別個の構成要素は、特定の設計目標を達成するために様々な方法で組み合わせられ得ることを当業者は認識されよう。たとえば、代替実施形態では、メモリ構成要素は、コストを節約し性能を改善するために、プロセッサ構成要素と組み合わせられ得る。
【0050】
[0060]さらに、
図3は、2つのメモリ構成要素、すなわち、いくつかのモジュールを備えるメモリ構成要素330と、作業メモリを備える別のメモリ305とを示しているが、当業者は、異なるメモリアーキテクチャを利用するいくつかの実施形態を認識されよう。たとえば、メモリ330に含まれるモジュールを実装するプロセッサ命令の記憶のために設計は、ROMまたはスタティックRAMメモリを利用し得る。代替的に、プロセッサ命令は、システム300に組み込まれるかまたは外部デバイスポートを介して接続されたディスク記憶デバイスからシステム開始時に読み取られ得る。プロセッサ命令は、次いで、プロセッサによる実行を容易にするためにRAMにロードされ得る。たとえば、作業メモリ305はRAMメモリである場合があり、命令は、プロセッサ320による実行前に作業メモリ305にロードされる。
ユーザインターフェース制御システムの概要
[0061]
図4は、
図3のユーザインターフェース制御モジュール340の一実施形態を示す。ユーザインターフェース制御モジュール340は、第1の画像表示モジュール405と、第2の画像表示モジュール410と、透過性モジュール415と、画像位置決めモジュール420と、継目表示モジュール425と、ユーザ入力モジュール430と、張合せプレビューモジュール435とを含む。ユーザインターフェース制御モジュール340は、画像キャプチャシステム300のコンテキスト内で論じたが、画像張合せのためにターゲットシーンの複数の画像の画像データをキャプチャするのに適した他の画像キャプチャシステム、たとえばパノラマ画像キャプチャおよび張合せのためのシステムに実装され得る。
【0051】
[0062]第1の画像表示モジュール405は、ディスプレイ325上に第1の画像のプレビュー画像を表示するようにプロセッサ320を構成する命令を含み得る。プレビュー画像は、
図1Aに示すように、第1の画像の撮影者などの、1人または複数の欠落したグループメンバーのスペースを確保する、マーキングされた位置を含み得る。第1の画像表示モジュール405は、確保されたスペースが第1の画像の検出された前景の左側もしくは右側にあるべきか、または別の位置にあるべきかを要求するユーザまたは撮影者にプロンプトを提供するようにプロセッサ320を構成する命令を含むこともでき、ユーザが確保されたスペースのサイズを選択することを可能にする場合もある。第1の画像表示モジュール405は、第2の画像または後続の画像のキャプチャ中に、第2の画像または後続の画像のプレビュー画像を含む並列表示のためにメモリから第1の画像の記憶されたバージョンを呼び出すことができる。
【0052】
[0063]第2の画像表示モジュール410は、ディスプレイ325上に第2の画像のプレビュー画像を表示するようにプロセッサ320を構成する命令を含み得る。第2の画像表示モジュール410は、2つの画像が張合せに適しているかどうか、または一方もしくは両方の画像が奪還されるべきかどうかをユーザが評価することができるように、第1の画像の背景部分と第2の画像の背景部分との間の類似性のレベルの指示を表示される場合もある。第2の画像表示モジュール410は、第1の画像の背景と同様の背景を有する画像をキャプチャする際に第2の撮影者を助けるために、ディスプレイ325上に第1の画像のフレーミング情報を表示するようにプロセッサ320を構成する命令を含み得る。3つ以上の画像の張合せ画像を生成するように構成された実施形態では、追加の画像表示モジュールは、ユーザインターフェース制御モジュール340に含まれ得る。
【0053】
[0064]透過性モジュール415は、第2の画像のキャプチャ中にディスプレイ325上に第2の画像のプレビュー画像を含む第1の画像のオーバーレイを表示し、第1の画像と第2の画像のプレビュー画像との少なくとも一方に透過性レベルを割り当てるようにプロセッサ320を構成する命令を含み得る。透過性モジュール415は、第2の画像のキャプチャの後、ディスプレイ325上に第2の画像を含む第1の画像のオーバーレイを表示し、第1の画像と第2の画像との少なくとも一方に透過性レベルを割り当てるようにプロセッサ320を構成し得る。透過性モジュール415は、ユーザが透過的に表示する画像を選択し、画像にあるレベルの透過性を割り当てることを可能にするプロンプトをユーザに提供するようにプロセッサ320を構成する命令も含み得る。たとえば、第1の画像が、あるレベルの透過性を割り当てられ、前景位置に割り当てられる場合があり、第2の画像のプレビューまたは第2の画像が、背景位置に割り当てられ、不透明に表示される場合がある。別の例では、第2の画像のプレビューまたはキャプチャされた第2の画像が、あるレベルの透過性を割り当てられ、前景位置に割り当てられる場合があり、第1の画像が、背景位置に割り当てられ、不透明に表示される場合がある。いくつかの実施形態では、ユーザは、第2の画像を前景に、第1の画像を背景に移動させるか、またはその逆のオプションを選択することができる。
【0054】
[0065]画像位置決めモジュール420は、第1の画像と第2の画像とを、または第1の画像と第2の画像のプレビューとを互いに整合させ得る。いくつかの実施形態では、第1の画像および第2の画像は各々、最初に、デフォルトの開始位置に位置決めされる場合があり、たとえば、
図1Bに示すように、第2の画像がビューファインダー全体を占有し、表示される第1の画像の第1の部分が、表示されない第1の画像の第2の部分とともに第2の画像と重なる。画像位置決めモジュール420は、たとえばユーザ入力モジュール430から、第1の画像および第2の画像の再配置に関するユーザ入力を受け取ることができる。いくつかの実施形態では、画像位置決めモジュール420は、張合せ画像生成モジュール345からの共通の特性の分析に基づいて、第1の画像と第2の画像とを、または第1の画像と第2の画像のプレビューとを整合させ得る。
【0055】
[0066]継目表示モジュール425は、第1の画像と第2の画像との重複部分内でディスプレイ325上に継目ラインを表示するようにプロセッサ320を構成する命令を含み得る。いくつかの実施形態では、継目ライン位置は、ユーザ入力モジュール430から受け取られる場合がある。他の実施形態では、継目ライン位置は、張合せ画像生成モジュール345から受け取られる場合がある。継目表示モジュール425は、継目ラインの視覚的外観を変更するか、または継目ラインの総エネルギーレベルのユーザへの別の指示を提供するようにプロセッサ320を構成する命令を含み得る。継目ラインの総エネルギーレベルは、張合せ画像生成モジュール345によって提供される場合があり、最終的な張合せ画像の品質レベルを評価する際にユーザに役立つ場合がある。
【0056】
[0067]ユーザ入力モジュール430は、画像キャプチャプロセスおよび画像張合せプロセス中にユーザ入力を受け取るために、ディスプレイ325および画像キャプチャシステム300の任意の他のユーザインターフェース要素と通信することができる。ユーザ入力は、撮影者の確保されたスペースのサイズおよび/または位置決め、透過性の割当て、画像の相対位置決め、背景および前景の外観、整合用の共通のオブジェクトの識別、継目入力、画像張合せのための現在の整合および継目ラインの許容、ならびにトリミングなどの、1つまたは複数のファクタに画像キャプチャ/張合せプロセス中に提供される場合がある。いくつかの実施形態では、ユーザ入力がこれらのファクタのうちの1つまたは複数に提供されない場合、ユーザ入力モジュール430は、そのファクタに必要な情報を張合せ画像生成モジュール345に求める指示をプロセッサ320に提供することができる。いくつかの実施形態では、これらのファクタに関するユーザ入力および自動決定が組み合わされ得るか、またはファクタに関する自動決定が、そのファクタに関するユーザ入力の代替としてユーザに表示され得る。
【0057】
[0068]張合せプレビューモジュール435は、
図2A〜
図2Cのプレビュー210、215、および220に示すように、現在選択された画像整合/継目ラインを使用して最終的な張合せ画像の結果がどのように見えるかのプレビューをディスプレイ325上に表示するようにプロセッサ320を構成する命令を含み得る。いくつかの実施形態では、このプレビューは、ディスプレイ325の様々な部分上に第1の画像および第2の画像のオーバーレイとともに表示され得る。他の実施形態では、張合せプレビューモジュール435は、オーバーレイビューとプレビュービューとの間で切り替えるためにディスプレイ325上にユーザ選択可能なオプションを表示するようにプロセッサ320を構成する命令を含み得る。プレビューを表示することは、最終的な張合せ画像の生成を進めることを選ぶ前に、ユーザが、相対的な画像整合および/または継目ライン位置に対する調整を行い、最終的な張合せ画像に対する調整の効果を見ることを可能にし得る。
自動張合せ画像生成システムの概要
[0069]
図5は、ユーザが案内される画像キャプチャおよび張合せを補足するために、または自動画像張合せプロセスを実行するためにユーザが案内される画像キャプチャおよび張合せの代わりに使用され得る、
図3の張合せ画像生成モジュール345の一実施形態を示す。張合せ画像生成モジュール345は、画像キャプチャシステム300のコンテキスト内で論じたが、画像張合せのためにターゲットシーンの複数の画像の画像データをキャプチャするのに適した他の画像キャプチャシステム、たとえばパノラマ画像キャプチャおよび張合せのためのシステムに実装され得る。
【0058】
[0070]張合せ画像生成モジュール345は、整合モジュール505と、重複決定モジュール510と、継目生成部515と、継目エネルギー計算部520と、画像張合せモジュール525と、画像トリミングモジュール530とを含む。画像データは張合せ画像生成モジュール345の様々なモジュールを通って直線的に流れるように示されるが、いくつかの実施形態では、個々のモジュールが、画像データをモジュールのすべてに通過させることなくデータを生成するために呼び出され得る。
【0059】
[0071]画像1〜Nの画像データが、整合モジュール505に入力され得る。整合モジュール505は、第1の画像と第2の画像とを整合させるようにプロセッサ320を構成する命令を含み得る。たとえば、整合モジュール505は、第1の画像からのピクセル座標を第2の画像の対応するピクセル座標にマッピングするための既知の整合技法を使用して画像間の対応関係を発見することができる。たとえば、画像間の対応関係を識別するために、ピクセル間マッチングまたは特徴点ベースの方法が使用され得る。整合モジュールは、対応関係に基づいて第1の画像と第2の画像との一方を第1の画像と第2の画像との他方に整合させるために、第1の画像と第2の画像との一方の回転、スケーリング、レンズひずみ、および/または視点を変換することができる。整合モジュール505は、整合された画像データを画像張合せモジュール525に伝送することができる。
【0060】
[0072]整合された画像データは、整合モジュール505から重複決定モジュール510に伝送され得る。重複決定モジュール510は、整合された第1の画像および第2の画像の重複領域を識別するようにプロセッサ320を構成する命令を含み得る。いくつかの実施形態では、重複領域は、各整合画像のエッジにX値およびY値を配置することによって識別され得る。各画像は、上部、下部、左、および右のエッジを有する。水平に延びるx軸および垂直に延びるy軸とともに両方の整合画像を含む矩形領域を含む(x,y)座標系を使用するとき、各上部エッジおよび各下部エッジは、この座標系内でその垂直位置決めに基づいてY値を割り当てられる場合があり、各左エッジおよび各右エッジは、この座標系内でその水平位置決めに基づいてX値を割り当てられる場合がある。この座標系の左上のピクセルが(0,0)と表示される場合、2つ以上の画像の重複領域は、最高のY値を有する上部エッジと、最低のY値を有する下部エッジと、最高のX値を有する左エッジと、最低のX値を有する右エッジとによって画定され得る。この例は、説明のために提供され、重複領域を確認するための他の既知の手段は、他の実施形態では、重複決定モジュール510によって実施され得る。重複決定モジュール510は、重複領域を画像張合せモジュール525に伝送することができる。
【0061】
[0073]重複領域は、重複決定モジュール510から継目生成部515に伝送され得る。継目生成部515は、重複領域内の少なくとも1つの低エネルギー継目ラインを識別するようにプロセッサ320を構成する命令を含み得る。低エネルギー継目ラインは、場合によっては高品質の最終的な張合せ画像を生成することができる、第1の画像と第2の画像との間の境界を表し得る。低エネルギー継目ライン生成プロセスは、いくつかの実施形態では重複領域の最上行の左端ピクセルであり得るが、他の実施形態では重複領域内の任意の他のピクセルであり得る、開始ピクセルにおいて開始し得る。次いで、低エネルギー継目ライン生成プロセスは、開始ピクセルに隣接するピクセルの各々に関して第1の画像および第2の画像からのピクセル値間の差分値を計算し得る。最低の差分値を有するピクセルが現在の継目ラインピクセルとして設定される場合があり、現在の継目ラインピクセルの方向に継目ラインが描かれる場合がある。いくつかの事例では、低エネルギー継目ライン生成プロセスは、現在生成されている継目ラインが画像張合せに適していないと決定する場合があり、新規の開始ピクセルで開始する場合がある。これらのステップは、継目ラインが完成するまで繰り返され得る。
【0062】
[0074]いくつかの実施形態では、継目ライン位置データと継目ライン中の各ピクセル(開始ピクセルを除く)の差分値とは、場合によっては、継目生成部515から継目エネルギー計算部520に伝送され得る。継目エネルギー計算部520は、たとえば、差分値を合計することによって、継目ラインの総エネルギーレベルを計算するようにプロセッサ320を構成する命令を含み得る。いくつかの実施形態では、継目ラインの総エネルギーレベルがしきい値を超える場合、継目エネルギー計算部520は、新規の継目ラインを生成するために継目生成部515を呼び出すようにプロセッサ320を構成する命令を含み得る。継目エネルギー計算部520は、継目ライン位置を画像張合せモジュール525に出力することができる。他の実施形態では、継目生成部515は、継目ライン位置を画像張合せモジュール525に直接、出力し得る。
【0063】
[0075]画像張合せモジュール525は、画像1〜Nの張合せバージョンを生成するために画像整合データおよび継目ライン位置を使用するようにプロセッサ320を構成する命令を含む。たとえば、2画像セットでは、継目ラインの左に配置された2つの画像のうちの左端の画像からのピクセルが、最終的な張合せ画像にマッピングされる場合があるが、継目ラインの右に配置された2つの画像のうちの右端の画像からのピクセルが、最終的な張合せ画像にマッピングされ、視差およびシーンの動きによって生じるぼけまたはゴースト発生ならびに変化する画像露出などの潜在的な問題を注意深く修正する場合がある。3つ以上の画像を含む画像セットでは、複数の継目ラインの左右に配置されたピクセルと複数の継目ラインによって形成された境界間に配置されたピクセルとは、最終的な画像を形成するために互いに合成され得る。継目ラインに沿って、画像張合せモジュール525は、継目ラインに沿って張り合わされる一方または両方の画像からのピクセル値を組み合わせるか、重み付けするか、合成するか、または選択することができる。
【0064】
[0076]画像張合せモジュール525によって生成された張合せ画像データは、画像トリミングモジュール530に伝送され得る。トリミングモジュール530は、張合せ画像データを所望の比、たとえば一般的な画像比またはユーザによってプリセットされた比にトリミングすることができる。トリミングモジュール530は、最終的な張合せ画像から空のピクセル領域を除外するために張合せ画像をトリミングすることができる。最終的な張合せ画像は、記憶および/またはユーザへの表示のために画像張合せモジュール525から出力され得る。
【0065】
[0077]上述のように、張合せ画像生成モジュール345は、ユーザ入力なしに画像のセットを互いに自動的に張り合わせることが可能であるが、いくつかの実施形態では、整合、継目ライン、またはトリミングなどの1つまたは複数の画像張合せファクタに関するユーザ入力が、ユーザの選好または画像張合せプロセスへの個人的な流儀を提供するために張合せ画像生成モジュール345の対応するモジュールに入力され得る。他の実施形態では、張合せ画像生成モジュール345のモジュールのうちの1つまたは複数は、ユーザが案内される画像張合せプロセス中に情報を提供するために呼び出される場合があり、このプロセスでは、ユーザは、画像張合せファクタに関する情報を提供しないか、または準最適な最終的な張合せ画像の結果をもたらし得る情報を提供する。ユーザが画像張合せプロセスに関わる場合、画像張合せモジュール525および画像トリミングモジュール530は、プレビュー張合せ画像を生成するために呼び出される場合があり、ユーザが整合または継目ライン位置などの画像張合せファクタのうちの1つまたは複数を調整する場合、更新されたプレビュー張合せ画像を生成するためにさらに呼び出される場合がある。
例示的な画像張合せプロセスの概要
[0078]
図6は、ユーザが案内される画像張合せのための例示的なプロセス600を示す。説明しやすいように、プロセス600は、
図3および
図4のユーザインターフェース制御モジュール340によって実施されるものとして論じられる。他の実施形態では、他の適切な画像キャプチャシステムがプロセス600を実施し得る。
【0066】
[0079]プロセス600は、ブロック605において、グループの第1の部分を含むターゲットシーンの第1の画像がキャプチャされるとき、開始する。ブロック605は、いくつかの実施形態では、第1の画像表示モジュール405と、画像センサ315と、撮像センサ制御モジュール335との組合せによって実行され得る。ブロック605の一実施形態は、
図1Aに示される。
【0067】
[0080]次いで、プロセス600は、第2の画像表示モジュール410が、画像キャプチャシステム300のディスプレイ325上にターゲットシーンの第2の画像のプレビュー画像を表示するブロック610に移行するが、第2の画像はグループの第2の部分を含む。次いで、プロセス600は、透過性モジュール415および第1の画像表示モジュール405が、第1の画像と第2の画像のプレビュー画像との両方の画像の表示された領域の特性がユーザによって同時に見られ得るように、画像のうちの少なくとも1つの透過性を使用して両方の画像を重ねるために協働する、ブロック615に移行する。プロセス600は、ユーザ入力モジュール430が第1の画像とプレビュー画像との整合に関するユーザ入力を受け取り、画像位置決めモジュール420がユーザによって設定された相対整合を記憶する、ブロック620に移行する。いくつかの実施形態では、ブロック620は、
図5の整合モジュール505によって補足または実行され得る。ブロック610、615、および620の一実施形態は、
図1Bに示される。
【0068】
[0081]プロセス600は、グループの第2の部分を含むターゲットシーンの第2の画像がキャプチャされる、ブロック625に移行する。ブロック625は、いくつかの実施形態では、第2の画像表示モジュール410と、画像センサ315と、撮像センサ制御モジュール335との組合せによって実行され得る。ブロック630では、ユーザ入力モジュール430は、第1の画像および第2の画像を張り合わせる境界の継目ライン位置に関するユーザ入力を受け取ることができる。ブロック630は、いくつかの実施形態では、継目生成部515によって補足または実行され得る。
【0069】
[0082]ブロック635では、プロセス600は、第1の画像と第2の画像とを張り合わせ、相対画像整合および継目ライン位置に関するユーザ入力に少なくとも部分的に基づいて張合せ画像をトリミングし最終的な画像にする。場合によっては、張合せプレビューモジュール435は、ユーザが品質を判定し、相対画像位置決めおよび/または継目ライン位置に対する任意の所望の調整を行うことを可能にするためにユーザに最終的な張合せ画像のプレビューを表示することができる。最終的な張合せ画像は、記憶され、および/またはユーザに表示され得る。いくつかの実施形態では、第1の画像および第2の画像と、第1の画像と第2の画像との相対整合と、継目ライン位置とを含む画像データのいくつかまたはすべては、最終的な張合せ画像の完成後に処分され得る。他の実施形態では、そのような画像データのいくつかまたはすべては、ユーザが元の画像にアクセスし元の画像を変更することを可能にするために保持される場合がある。
【0070】
[0083]
図7は、2つの画像を互いに張り合わせるために継目ラインを自動的に決定するための例示的なプロセス700を示す。説明しやすいように、プロセス700は、
図3および
図5の張合せ画像生成モジュール345によって実施されるものとして論じられる。他の実施形態では、他の適切な画像張合せシステムがプロセス700を実施し得る。
【0071】
[0084]プロセス700は、ブロック705において、第1の画像および第2の画像の画像データが整合モジュール505によって受け取られるとき、開始する。第1の画像は、グループの第1の部分と第1の背景とを含む。第2の画像は、グループの第2の部分と、第1の背景と実質的に同様の第2の背景とを含む。他の実施形態では、3つ以上の画像を含む画像データは、整合モジュール505によって受け取られる場合があり、各画像は、グループの一部分と、他の画像の背景と実質的に同様の背景とを含む。
【0072】
[0085]プロセス700は、整合モジュール505が、上述のように、たとえばピクセルごとの比較または特徴点マッチングによって、第1の画像と第2の画像とを整合させる、ブロック710に移行する。次に、プロセス700は、重複決定モジュール510が、たとえば
図5に関して上記で説明した方法のうちのいずれかによって整合画像の重複領域を決定する、ブロック715に移行する。
【0073】
[0086]ブロック720では、継目生成部515が、継目ラインピクセルの位置を決定する。継目生成部515は、いくつかの実施形態では重複領域の最上行の左端ピクセルであり得るが、他の実施形態では重複領域内の任意の他のピクセルであり得る、開始ピクセルにおいて開始し得る。次いで、継目生成部515は、開始ピクセルに隣接するピクセルの各々に関して第1の画像および第2の画像からのピクセル値間の差分値を計算し得る。最低の差分値を有するピクセルが現在の継目ラインピクセルとして設定される場合があり、現在の継目ラインピクセルの方向に継目ラインが描かれる場合がある。いくつかの事例では、継目生成部515は、現在生成されている継目ラインが画像張合せに適していないと決定する場合があり、新規の開始ピクセルで開始する場合がある。これらのステップは、継目ラインが完成するまで繰り返され得る。
【0074】
[0087]ブロック725では、継目ラインの継目エネルギー計算部520総エネルギーは、たとえば、いくつかの実施形態では差分値を割り当てられない開始ピクセルを除く各継目ラインピクセルの差分値を合計することによって、ブロック720において継目生成部515によって生成された継目ラインの総エネルギーを計算する。決定ブロック730では、継目ラインの総エネルギーがしきい値を超えると継目エネルギー計算部520が決定する場合、プロセス700は、継目生成部515が新規の継目ラインの継目ラインピクセルの位置を決定し、たとえば異なる開始ピクセルで開始する、ブロック720に再びループする。決定ブロック730では、継目ラインの総エネルギーがしきい値を下回ると継目エネルギー計算部520が決定する場合、プロセス700は、ブロック735に続く。しきい値は、視覚的に満足できる張合せ結果に相当するN個のピクセルを有する継目ラインに関する所定のエネルギーレベルであり得るか、または、いくつかの実施形態ではユーザによって設定されたしきい値であり得る。
【0075】
[0088]ブロック735では、画像張合せモジュール525は、第1の画像と第2の画像とを互いに張り合わせるために継目ライン位置isを使用する。次いで、張合せ画像は、画像トリミングモジュール530によってトリミングされる。最終的な張合せ画像は、記憶され、および/またはユーザに表示され得る。いくつかの実施形態では、第1の画像および第2の画像と、第1の画像と第2の画像との相対整合と、継目ラインの位置およびエネルギーレベルとを含む画像データのいくつかまたはすべては、最終的な張合せ画像の完成後に処分され得る。他の実施形態では、そのような画像データのいくつかまたはすべては、ユーザが元の画像にアクセスし元の画像を変更することを可能にするために保持される場合がある。
例示的な継目ラインピクセル選択プロセスの概要
[0089]
図8は、いくつかの実施形態における、
図7のブロック725において継目ラインピクセルを選択するために使用され得る、例示的な継目ラインピクセル選択プロセス800を示す。プロセス800は、継目生成部515が、いくつかの実施形態では重複領域の最上行の左端ピクセルであり得るが、他の実施形態では重複領域内の任意の他のピクセルであり得る、開始ピクセルを選択する、ブロック805において開始する。
【0076】
[0090]ブロック810では、継目ライン生成部515は、開始ピクセルに隣接する各ピクセルに関する差分値を計算する。たとえば、いくつかの実施形態では、差分値は、第2の画像中の対応するピクセルの勾配値から、重複領域中の第1の画像の各ピクセルの勾配値を減算することによって、またはその逆によって計算され得る。他の実施形態では、ピクセルのルミナンス値またはクロミナンス値は、勾配値の代わりに、または勾配値に加えて使用され得る。2つのグレースケール画像を互いに張り合わせる実施形態では、ルーマと勾配値との一方または両方が使用され得る。2つのRGB画像を互いに張り合わせる実施形態では、ルミナンス、クロミナンス、および勾配値のいくつかまたはすべてが使用され得る。
【0077】
[0091]決定ブロック815では、継目ライン生成部515は、隣接ピクセルの各々の差分値をしきい値と比較する。しきい値は、オブジェクトをカットしないことなどによって、視覚的に満足できる張合せ画像の結果を生成する継目ラインを生成する際のピクセル間の差分の許容レベルを示し得る。いくつかの実施形態では、しきい値を超える差分値は、オブジェクトのエッジを示し得る。しきい値未満の差分値を有する隣接ピクセルがない場合、プロセス800は、新規の開始ピクセルを選択するためにブロック805に再びループする。新規の開始ピクセルは、いくつかの実施形態では、次の最上行のピクセルであり得るか、または、継目ライン生成部515は、いくつかの実施形態では、新規の開始ピクセルの位置を決定するために、継目ラインが垂直にまたは水平に生成されているかどうかに応じて、前の開始ピクセルの位置を規定する(x,y)座標の対のX値またはY値に値を追加し得る。
【0078】
[0092]ブロック908〜815の繰返しの後、重複領域中の開始ピクセルに隣接するピクセルがしきい値未満の差分値を有しないと継目ライン生成部515が決定する場合、最低エネルギー径路決定プロセスは、第1の画像および第2の画像が十分な類似性を含まないことをユーザに示す場合があり、ユーザは、しきい値を調整するための、または張合せのために新規の画像をキャプチャするための選択可能なオプションを表示される場合がある。
【0079】
[0093]少なくとも1つの隣接ピクセルがしきい値未満の値を有する場合、プロセス800は、継目ライン生成部515が現在の継目ラインピクセルとして隣接ピクセルを設定する、ブロック820に移行する。いくつかの事例では、複数の隣接ピクセルは、しきい値未満の差分値を有し得る。一実施形態では、最低の差分値を有するピクセルが、現在の継目ラインピクセルとして設定され得る。別の実施形態では、継目ライン生成部515は、継目ラインが描かれる方向、すなわち上部重複エッジから下部重複エッジへの方向を決定する場合があり、正しい方向に継目ラインを続ける、しきい値未満の差分値を有する隣接ピクセルが選択され得る。いくつかの実施形態では、重複領域に関するエッジマップが決定される場合があり、識別されたエッジからのしきい値距離を維持するために隣接ピクセルが選択され得る。選択された隣接ピクセルは、現在の継目ラインピクセルとして設定される。
【0080】
[0094]ブロック825では、継目ライン生成部515が、継目ラインピクセル位置データのセットに現在の継目ラインピクセルの位置を追加する。継目ラインピクセル位置データは、開始ピクセルおよび各選択された継目ラインピクセルの位置、たとえば、画像の重複領域として画定された座標フレームを有する(x,y)座標を含む。継目ラインピクセル位置データは、画像張合せ中に継目ラインを構築し、画像間の境界を規定するために使用され得る。
【0081】
[0095]決定ブロック830では、継目ライン生成部515は、継目ラインが完成したかどうかを決定するために現在の継目ラインピクセルの位置を使用する。たとえば、継目ライン生成部515は、現在の継目ラインピクセルが開始継目ラインピクセルとは反対のエッジに沿って配置されることを示す位置データに基づいて継目ラインが完成したと決定することができる。説明のために、最上行の開始ピクセルで継目ラインを描き始める実施形態では、最終行は、最下行であり得る。いくつかの実施形態では、継目ラインは、左から右に、またはその逆に描かれ得る。いくつかの実施形態では、継目ラインがエッジの行で終了する場合、プロセスは、継目ラインが不完全な最終張合せ画像を提供し得るか、または新規の開始ピクセルで再び開始し得るという指示とともにユーザに継目ラインを表示し得る。
【0082】
[0096]ブロック830において、継目ラインが完成していないと継目ライン生成部515が決定する場合、プロセス800は、継目ライン生成部515が開始ピクセルに隣接するピクセルの差分値を計算したブロック810と同様に、現在の継目ラインピクセルに隣接する各ピクセルの差分値を計算するためにブロック840に移行する。ブロック845では、現在の継目ラインピクセルに隣接するピクセルの差分値は、ブロック815において実行された比較と同様に、しきい値と比較される。しきい値未満の差分値がない場合、プロセス800は、新規の開始ピクセルを選択するためにブロック805に再びループする。しきい値未満の差分値を有する少なくとも1つの隣接ピクセルが存在する場合、プロセス800は、次の現在の継目ラインピクセルとしてしきい値未満の差分値を有する隣接ピクセルのうちの1つを選択するために、ブロック85に移行する。
【0083】
[0097]決定ブロック855では、継目ライン生成部515は、現在選択された継目ラインピクセルが前に継目ラインに含まれたかどうかを決定するために、現在の継目ラインピクセルの位置を継目ラインピクセル位置データ内の位置と比較する。これは、有益にも、継目ライン生成プロセス800が無限ループに立ち往生するのを防ぐが、無限ループでは、このプロセスが継目ラインのための循環回路を継続的に決定する。現在の継目ラインピクセル位置が前の継目ラインピクセル位置データ内の任意の登録項目にマッチングする場合、継目ラインは再びそれ自体に重なり、このプロセスは、継続することが可能ならば、無限ループに立ち往生する場合がある。したがって、現在の継目ラインピクセル位置が前の継目ラインピクセル位置データ内の任意の登録項目にマッチングする場合、プロセス800は、ブロック805に再びループし得、新規の開始ピクセルを選択し再び開始する。
【0084】
[0098]いくつかの実施形態では、更新された現在の継目ラインピクセルが継目ラインピクセル位置データに含まれる場合、プロセス800は、新規の開始ピクセルを選択するためにブロック805に再びループするのではなく、現在の継目ラインピクセルを更新するためにブロック850に再びループする場合があり、異なる隣接ピクセルの差分値がしきい値より低い限り、異なる隣接ピクセルを選択する場合がある。しきい値未満の差分値を有するすべての隣接ピクセルが、継目ラインピクセル位置データに対してテストされ、含まれることがわかった場合、しきい値が引き上げられるか、または、プロセス400がブロック805に再びループし新規の開始ピクセルを選択する場合がある。いくつかの実施形態では、プロセス800は、現在の継目ラインピクセルとして隣接ピクセルを選択する前に、ブロック855において継目ラインピクセル位置データに対して各隣接ピクセルをテストし得る。いくつかの実施形態では、隣接ピクセルは、連続的に、たとえば上部から下部に、また左から右にテストされる場合があり、最初にテストされた隣接ピクセルに到達すると、プロセス800は、すべての隣接ピクセルが継目ラインピクセル位置データにすでに含まれている場合、ステップ805に再びループし得る。
【0085】
[0099]決定ブロック855では、現在の継目ラインピクセルの位置が既存の継目ライン位置データ内に存在しないと継目ライン生成部515が決定した場合、プロセス800は、継目ライン生成部515が継目ラインピクセル位置データのセットに現在の継目ラインピクセルの位置を追加する、ブロック825に移行する。プロセス800は、継目ラインが完成したかどうかを決定するためにブロック830に再び移行する。ブロック830において、継目ラインが完成したと継目ライン生成部515が決定する場合、プロセス800は、ユーザへの表示のために、または画像張合せの際の使用のために完成した継目ラインとして継目ラインピクセル位置データを出力または記憶するために、ブロック835に移行する。
【0086】
[0100]図示されていないが、いくつかの実施形態では、プロセス800は継続する場合があり、継目エネルギー計算部520が、たとえば各継目ラインピクセルの差分値を合計することによって、完成した継目ラインの総エネルギーレベルを計算する。継目ラインの総エネルギーレベルは、画像張合せにおける使用前に、またはユーザへの表示前に、しきい値と比較され得る。完成された継目ラインの総エネルギーは、最終的な張合せ画像のあり得る品質のユーザへの指示を生成するために、または新規の継目ラインが生成されるべきであることを自動プロセス800に示すために使用され得る。いくつかの実施形態では、複数の低エネルギー継目ラインオプションが、生成され、最低エネルギー継目ラインを決定するために比較される場合があり、各低エネルギー継目ラインオプションはしきい値未満の総エネルギーレベルを有する。
追加の実施形態
[0101]本明細書で説明する画像張合せプロセスおよび最低エネルギー継目ライン決定プロセスは、主に第1の画像および第2の画像のコンテキスト内で論じられたが、3つ以上の画像に適応し得る。たとえば、複数の低エネルギー継目ラインが、複数の画像を互いに張り合わせるために決定され得る。決定された継目ラインの数は、画像の数マイナス1であり得る。いくつかの実施形態では、3つ以上の画像の各々は、前景および背景にセグメント化される場合があり、3つ以上の前景は、共通の背景上で張り合わさる場合がある。
【0087】
[0102]さらに、上述のシステムおよびプロセスは、いくつかの実施形態では、静止画像に加えてビデオ画像を生成するために使用され得る。さらに、上記の説明は人々のグループの張合せ画像を生成することについて概略的に論じたが、これは単に説明用であり、そのようなプロセスは、他の写真コンテンツの張合せ画像を生成する際にも有益であり得る。たとえば、開示したシステムおよび方法は、人の一連のアクション写真、または背景上で動いているオブジェクトを互いに張り合わせるために使用され得る。
【0088】
[0103]本明細書で説明する画像張合せプロセスは、画像キャプチャデバイスのビューファインダー、画像キャプチャデバイスと通信する別のディスプレイ、または画像キャプチャデバイスによってキャプチャされた画像データを受け取るコンピューティングデバイスのディスプレイを使用して実施され得る。したがって、画像キャプチャデバイス、画像編集機能を有する別のコンピューティングデバイス、またはそれらの組合せは、本明細書で説明する画像張合せプロセスを実行し得る。
用語
[0104]さらに、本明細書で開示する実装形態に関連して説明した様々な例示的な論理ブロック、モジュール、回路、およびプロセスステップは、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実装され得ることを当業者は諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップが、概してそれらの機能に関して上記で説明されている。そのような機能性が、ハードウェアまたはソフトウェアのどちらとして実施されるのかは、特定の応用例と、システム全体に課せられる設計制約とに依存する。当業者は、特定の適用例ごとに様々な方法で記載された機能を実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を引き起こすと解釈されるべきではない。当業者は、ある一部分または一部が、全体よりも少ないかまたはそれに等しいものを備え得ることを認識されよう。たとえば、ピクセルの集合の一部分は、それらのピクセルの部分集合を指す場合がある。
【0089】
[0105]本明細書で開示する実装形態に関して説明した様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替では、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであり得る。また、プロセッサは、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。
【0090】
[0106]本明細書で開示する実装形態に関して説明した方法またはプロセスのステップは、直接ハードウェアで実施されるか、プロセッサによって実行されるソフトウェアモジュールで実施されるか、またはその2つの組合せで実施され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、または当技術分野で知られている任意の他の形態の非一時的記憶媒体中に存在し得る。例示的なコンピュータ可読記憶媒体は、プロセッサがコンピュータ可読記憶媒体から情報を読み取り、コンピュータ可読記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。プロセッサおよび記憶媒体はASIC中に存在し得る。ASICは、ユーザ端末、カメラ、または他のデバイス中に存在し得る。代替として、プロセッサおよび記憶媒体は、ユーザ端末、カメラ、または他のデバイス中に個別構成要素として存在し得る。
【0091】
[0107]本明細書には、参照のための、および様々なセクションを見つけるのを助けるための見出しが含まれる。これらの見出しは、見出しに関連して説明した概念の範囲を限定するものではない。そのような概念は、本明細書全体にわたって適用性を有し得る。
【0092】
[0108]開示した実装形態の以上の説明は、当業者が本発明を製作または使用することができるようにするために提供したものである。これらの実装形態への様々な修正は当業者には容易に明らかになり、本明細書で定義した一般原理は、本発明の趣旨または範囲から逸脱することなく他の実装形態に適用され得る。したがって、本発明は、本明細書で示した実装形態に限定されるものではなく、本明細書で開示した原理および新規の特徴に一致する最も広い範囲を与
えられるべきである。
以下に、出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
個人のグループの画像をキャプチャする、電子デバイス中の方法であって、
前記グループの第1の部分の第1の画像をキャプチャすることと、
第2の画像のライブプレビューを前記電子デバイスのディスプレイ上に生成することと、前記第2の画像が前記グループの第2の部分を備える、
前記第2の画像の前記ライブプレビュー上に前記第1の画像の少なくとも一部分を重畳することと、
前記グループの前記第2の部分の前記第2の画像をキャプチャすることと、
前記第1の画像と前記第2の画像の前記ライブプレビューおよび前記第2の画像の一方との相対位置決めに関するユーザ入力を受け取ることと、
前記ユーザ入力に少なくとも部分的に基づいて前記第1の画像と前記第2の画像とを最終的な張合せ画像になるように張り合わせることと、前記最終的な画像が前記グループの前記第1の部分と前記グループの前記第2の部分とを備える、
を備える、方法。
[C2]
前記第2の画像の前記ライブプレビュー上に前記第1の画像の少なくとも一部分を重畳することが、前記第1の画像にあるレベルの透過性を割り当てることを備える、C1に記載の方法。
[C3]
前記第2の画像の前記ライブプレビュー上に前記第1の画像の少なくとも一部分を重畳することが、
前記第2の画像にあるレベルの透過性を割り当てることと、
前景位置に前記第2の画像を割り当てることと、
背景位置に前記第1の画像を割り当てることと
を備える、C1に記載の方法。
[C4]
前記電子デバイスの前記ディスプレイがタッチセンシティブディスプレイスクリーンを備える、C1に記載の方法。
[C5]
前記ユーザ入力が、前記第2の画像の前記ライブプレビュー上に重畳された前記第1の画像の前記少なくとも一部分を、前記第2の画像の前記ライブプレビューに対する新規の位置までドラッグすることを備える、C4に記載の方法。
[C6]
前記ユーザに前記最終的な張合せ画像のプレビューを表示することをさらに備える、C1に記載の方法。
[C7]
前記第1の画像と前記第2の画像との相対位置決めに関する更新されたユーザ入力を受け取ることと、
前記更新されたユーザ入力に少なくとも部分的に基づいて前記第1の画像と前記第2の画像とを張り合わせることと
をさらに備える、C6に記載の方法。
[C8]
前記張り合わせることは、複数の継目ラインと前記複数の継目ラインの各々に対応するエネルギーレベルとを評価することと、最低のエネルギーレベルを有する継目ラインを選択することとを備える、C1に記載の方法。
[C9]
継目ラインの位置に関するユーザ入力を受け取ることをさらに備える、ここにおいて、前記継目ラインが前記第2の画像に前記第1の画像を張り合わせるための境界を決定する、C1に記載の方法。
[C10]
個人のグループの第1の部分の第1の画像と前記グループの第2の部分の第2の画像とをキャプチャするように構成された画像センサと、
前記第2の画像のライブプレビューを表示するように構成され、前記第2の画像の前記ライブプレビュー上に重畳された前記第1の画像の少なくとも一部分を表示するようにさらに構成されたディスプレイと、
前記第2の画像の前記ライブプレビューと前記第1の画像の前記少なくとも一部分との相対位置決めに関するユーザ入力を受け取るように構成されたユーザ入力モジュールと、
前記ユーザ入力に少なくとも部分的に基づいて前記第1の画像と前記第2の画像とを最終的な画像になるように張り合わせるように構成された画像張合せモジュールと、前記最終的な画像が前記グループの前記第1の部分と前記グループの前記第2の部分とを備える、
を備える、画像キャプチャデバイス。
[C11]
前記ディスプレイが、前記第1の画像のライブプレビュー上に前記グループの前記第2の部分のために確保されたスペースの指示を表示するようにさらに構成される、C10に記載の画像キャプチャデバイス。
[C12]
前記ディスプレイがタッチセンシティブディスプレイである、C10に記載の画像キャプチャデバイス。
[C13]
ユーザインターフェースをさらに備える、ここにおいて、前記ユーザインターフェースが前記タッチセンシティブディスプレイを備える、C12に記載の画像キャプチャデバイス。
[C14]
前記ディスプレイが、前記第1の画像と前記第2の画像とを張り合わせる前に、前記最終的な画像のプレビューを表示するようにさらに構成される、C10に記載の画像キャプチャデバイス。
[C15]
前記ディスプレイ上の前記第1の画像と、前記第2の画像の前記ライブプレビューと、前記第2の画像との表示を管理するように構成されたユーザインターフェース制御モジュールをさらに備える、C10に記載の画像キャプチャデバイス。
[C16]
前記ユーザインターフェース制御モジュールが、前記第1の画像と前記第2の画像の前記ライブプレビューとの一方にあるレベルの透過性を割り当てるように構成された透過性モジュールをさらに備える、C15に記載の画像キャプチャデバイス。
[C17]
前記第1の画像と前記第2の画像との重複領域に低エネルギー継目ラインを配置するように構成された継目ライン生成モジュールをさらに備える、C10に記載のデバイス。
[C18]
低エネルギー継目ラインを決定する方法であって、
特定の実行可能な命令とともに構成された1つまたは複数のコンピューティングデバイスによって実施されるとき、
第1の画像および第2の画像を備える画像データを受け取ることと、
前記第1の画像と前記第2の画像との重複領域を決定することと、前記重複領域が複数のピクセルを備える、
開始ピクセルを選択することと、前記開始ピクセルが複数の隣接ピクセルに隣接する、
前記複数の隣接ピクセルの各々の差分値を計算することと、ここにおいて、前記差分値が隣接ピクセルのピクセル値を前記開始ピクセルのピクセル値と比較することによって計算される、
前記複数の隣接ピクセルのうちの1つを現在の継目ラインピクセルとして選択することと、
前記開始ピクセルの第1の位置データと前記現在の継目ラインピクセルの第2の位置データとを備える継目ラインピクセル位置データを構築することと
を備える、方法。
[C19]
重複領域を決定することが、前記第1の画像と前記第2の画像とを整合させることを備える、C18に記載の方法。
[C20]
重複領域を決定することが、前記第1の画像と前記第2の画像との相対位置決めに関するユーザ入力を受け取ることを備える、C18に記載の方法。
[C21]
前記複数の隣接ピクセルのうちの1つを現在の継目ラインピクセルとして選択することが、最低の差分値を有する隣接ピクセルを選択することを備える、C18に記載の方法。
[C22]
前記複数の隣接ピクセルのうちの1つを現在の継目ラインピクセルとして選択することが、前記複数の隣接ピクセルの各々の前記差分値をしきい値と比較することを備える、C18に記載の方法。
[C23]
前記ピクセル値が、ルーマ、ルミナンス、クロミナンス、または勾配のうちの少なくとも1つである、C22に記載の方法。
[C24]
前記現在の継目ラインピクセルに隣接する複数のピクセルの各々の差分値を計算することと、
前記現在の継目ラインピクセルに隣接する前記複数のピクセルのうちの1つを更新された現在の継目ラインピクセルとして選択することをさらに備える、C18に記載の方法。
[C25]
前記更新された現在の継目ラインピクセルの位置が前記継目ラインピクセル位置データに含まれないと決定することをさらに備える、C24に記載の方法。
[C26]
前記継目ラインピクセル位置データを前記更新された現在の継目ラインピクセル位置の第3の位置データを含むように更新することをさらに備える、C25に記載の方法。
[C27]
前記重複領域内に複数の低エネルギー継目ラインを生成することと、
前記第1の画像を前記第2の画像に張り合わせるために使用する前記複数の低エネルギー継目ラインのうちの1つの選択に関するユーザ入力を受け取ることと
をさらに備える、C18に記載の方法。
[C28]
第1の画像と第2の画像との重複領域を決定するように構成された重複決定モジュールと、
前記重複領域内に低エネルギー継目ラインを生成するように構成された継目生成部と、前記低エネルギー継目ラインが前記第1の画像を前記第2の画像に張り合わせるための境界を表す、
前記継目ラインの総エネルギーレベルを計算するように構成された継目エネルギー計算部と
を備える、継目ライン生成システム。
[C29]
前記低エネルギー継目ラインを使用して前記第1の画像を前記第2の画像に張り合わせるように構成された画像張合せモジュールをさらに備える、C28に記載の継目ライン生成システム。
[C30]
前記第1の画像と前記第2の画像とを整合させるように構成された整合モジュールをさらに備える、C28に記載の継目ライン生成システム。