(57)【要約】  デジタルパノラマ画像を作成するための、視差ずれに関連付けられるデジタル画像を処理する方法であって、それぞれの第１のポジションに位置する各カメラに対して、シーンの領域までの距離を表す値を格納するそれぞれの深さマップ、を計算し、各カメラによって、それぞれの画像を撮影し、各カメラを、そのカメラの中心点に対する画像の特定の領域に従って計算されるそれぞれの角度における第２のポジションまで仮想的に回転させ、各それぞれの第２のポジションに関連付けられる画像の各それぞれの領域と、それぞれのカメラに対して計算されたそれぞれの深さマップの対応する領域との間でマッピングし、各画像の領域のピクセルの強度値を、それぞれのカメラの深さマップのマッピングされた領域の対応する距離値に従って調整して、パノラマ画像を作成するための複数の調整された画像を作成する、方法、を提供する。【選択図】  図１
2020525912.tif 000002
【特許請求の範囲】
【請求項１】
デジタルパノラマ画像を作成するための、視差ずれに関連付けられるデジタル画像、を処理する、コンピュータによって実施される方法であって、
それぞれの第１のポジションに位置する、複数のカメラの各カメラに対して、シーンの領域までの距離を表す値を格納するそれぞれの深さマップ、を計算するステップと、
前記それぞれの第１のポジションにおける前記複数のカメラの各々によって、それぞれの画像を撮影するステップと、
前記複数のカメラの各々を、それぞれのカメラの中心点の周囲に、それぞれの角度における複数のそれぞれの第２のポジションまで仮想的に回転させるステップであって、
各それぞれの角度が、前記それぞれのカメラの前記中心点に対する、前記画像の複数の領域の特定の領域に従って計算される、回転させるステップと、
各それぞれの第２のポジションに関連付けられる画像の各それぞれの領域と、前記それぞれのカメラに対して計算された前記それぞれの深さマップの対応する領域との間でマッピングするステップと、
前記複数のカメラの各カメラによって撮影された各それぞれの画像の領域のピクセルの強度値を、前記それぞれのカメラの前記深さマップの前記マッピングされた領域の対応する距離値に従って調整して、複数の調整された画像を作成するステップと、
パノラマ画像を作成するために、前記複数の調整された画像をスティッチするステップと、
を含む、方法。
【請求項２】
各それぞれの第２のポジションに関連付けられる領域と、前記それぞれの深さマップの対応する領域との間での前記マッピングが、
前記画像を撮影した前記第１のポジションにおける前記それぞれのカメラの中心から、前記それぞれのカメラに関連付けられる前記深さマップの対応する領域までの複数の光線を計算するステップであって、各それぞれの光線の長さが、前記深さマップの前記対応する領域の前記距離値から得られる、計算するステップと、
前記複数の光線の各々を、前記それぞれのカメラの前記中心から、前記それぞれのカメラの前記中心を中心とする投影球の表面まで平行移動させるステップであって、前記複数の光線の各々が前記投影球の接線であるように、前記それぞれの光線の方向、向き、および長さを維持しながら前記複数の光線の各々が平行移動される、ステップと、
前記それぞれの長さを有する、前記複数の平行移動された光線の各々の遠位端部における領域を、前記それぞれのカメラによって撮影された前記画像の対応する領域に投影するステップと、
前記それぞれのカメラによって撮影された前記画像の各領域の少なくとも１つのピクセルの強度値を、前記複数の平行移動された光線の各々の、前記深さマップの前記投影された領域の前記距離値、に従って調整するステップと、
に基づいて計算される、
請求項１に記載の方法。
【請求項３】
前記マッピングが、前記それぞれのカメラの内部パラメータ行列および外部パラメータ行列に従って実行される、請求項１に記載の方法。
【請求項４】
前記画像の対応する領域にマッピングすることのできない前記深さマップの領域に、強度スケールに従って最小強度値が割り当てられる、請求項１に記載の方法。
【請求項５】
前記調整された複数の画像の少なくとも１つのスティッチを、前記複数の調整された画像内に現れる近接被写体に沿って選択するステップであって、前記近接被写体が、前記それぞれの深さマップに従って識別される、ステップ、
をさらに含む、請求項１に記載の方法。
【請求項６】
前記複数のカメラが、立体視ペアの第１のセットの重なり合う画像および第２のセットの重なり合う画像を撮影する立体視ペアのセットとして配置されており、前記それぞれの深さマップが、前記立体視ペアのカメラの各々に対して計算され、前記スティッチするステップが、調整された第１のセットの重なり合う画像と第２のセットの重なり合う画像をスティッチして、第１のパノラマ画像および第２のパノラマ画像を作成するステップを含む、請求項１に記載の方法。
【請求項７】
前記スティッチするステップが、前記第１のパノラマ画像および前記第２のパノラマ画像の対応する位置に従って実行される、請求項６に記載の方法。
【請求項８】
各立体視ペアに対して、
前記立体視ペアの前記カメラの各々によって撮像された各対応する領域の間でマッピングするステップと、
各対応する領域の３次元（３Ｄ）座標を、前記立体視ペアの前記カメラの各々によって撮影された画像に基づいて、それぞれの前記対応する領域の三角法によって、計算するステップと、
各対応する領域の前記３Ｄ座標を、前記立体視ペアの各カメラの中心に対する向きおよび距離に従って変換するステップと、
を実行することによって、前記立体視ペアのカメラの各々に対して、前記それぞれの深さマップが計算される、
請求項６に記載の方法。
【請求項９】
前記深さマップの未定義領域を補間するステップ、
をさらに含む、請求項８に記載の方法。
【請求項１０】
前記複数の調整された画像の前記スティッチの各々に近傍の少なくとも１つの範囲を分析するステップであって、前記少なくとも１つの範囲が、重なり領域内に位置しており、前記少なくとも１つの範囲のサイズが要件に従って定義される、分析するステップと、
少なくとも１つの各範囲内の各特徴点の両眼視差値を計算するステップと、
各スティッチについて、それぞれの前記スティッチの前記少なくとも１つの範囲の最も高頻度の両眼視差値を識別するステップと、
各スティッチについて、前記最も高頻度の両眼視差値に従って半径値を計算するステップと、
をさらに含み、
各画像の前記スティッチの各々に近傍の前記少なくとも１つの範囲内に位置する各画像の領域の前記マッピングが、それぞれの前記スティッチに関連付けられる前記半径値を有する投影球に従って実行される、
請求項１に記載の方法。
【請求項１１】
各重なり領域の前記スティッチの各々に近傍の前記少なくとも１つの範囲に、１つの深さ値が割り当てられる、請求項１０に記載の方法。
【請求項１２】
前記マッピングが、前記複数の調整された画像の各重なり領域の前記スティッチの各々に近傍の前記少なくとも１つの範囲に対して、実行される、請求項１０に記載の方法。
【請求項１３】
前記複数の調整された画像の、前記スティッチの各々に近傍の前記少なくとも１つの範囲の外側の他の部分、に対しては、前記マッピングが実行されない、請求項１２に記載の方法。
【請求項１４】
前記複数のカメラが、異なる位置に動かされる１台のカメラを表す、請求項１に記載の方法。
【請求項１５】
前記深さマップが、２次元（２Ｄ）データ構造として実施され、距離を表す前記値が、前記複数のカメラの各それぞれのカメラによって撮影された画像ごとに計算される、請求項１に記載の方法。
【請求項１６】
前記深さマップが、被写体の動きに起因する前記深さマップ間の変動を回避する時間要件内で、前記複数のカメラの各カメラに対して計算される、請求項１に記載の方法。
【請求項１７】
受信される複数の前記デジタル画像が、３６０×１８０の視野を撮影しており、前記複数のデジタル画像の少なくとも１枚が、４枚の別のデジタル画像と重なる、請求項１に記載の方法。
【請求項１８】
デジタルパノラマ画像を作成するための、視差ずれに関連付けられるデジタル画像、を処理するシステムであって、
計算装置の少なくとも１つのハードウェアプロセッサによって実行されるコードを記憶している不揮発性メモリ、を備えており、前記コードが、
それぞれの第１のポジションに位置する、複数のカメラの各カメラに対して、シーンの領域までの距離を表す値を格納するそれぞれの深さマップ、を計算するためのコードと、
前記それぞれの第１のポジションにおける前記複数のカメラの各々によって、それぞれの画像を撮影するためのコードと、
前記複数のカメラの各々を、それぞれのカメラの中心点の周囲に、それぞれの角度における複数のそれぞれの第２のポジションまで仮想的に回転させるためのコードであって、
各それぞれの角度が、前記それぞれのカメラの前記中心点に対する、前記画像の複数の領域の特定の領域に従って計算される、コードと、
各それぞれの第２のポジションに関連付けられる画像の各それぞれの領域と、前記それぞれのカメラに対して計算された前記それぞれの深さマップの対応する領域との間でマッピングするためのコードと、
前記複数のカメラの各カメラによって撮影された各それぞれの画像の領域のピクセルの強度値を、前記それぞれのカメラの前記深さマップの前記マッピングされた領域の対応する距離値に従って調整して、複数の調整された画像を作成するためのコードと、
パノラマ画像を作成するために、前記複数の調整された画像をスティッチするためのコードと、
を備えている、
システム。
【請求項１９】
デジタルパノラマ画像を作成するための、視差ずれに関連付けられるデジタル画像、を処理するコンピュータプログラム製品であって、
計算装置の少なくとも１つのハードウェアプロセッサによって実行されるコードを記憶している不揮発性メモリ、を備えており、前記コードが、
それぞれの第１のポジションに位置する、複数のカメラの各カメラに対して、シーンの領域までの距離を表す値を格納するそれぞれの深さマップ、を計算するための命令と、
前記それぞれの第１のポジションにおける前記複数のカメラの各々によって、それぞれの画像を撮影するための命令と、
前記複数のカメラの各々を、それぞれのカメラの中心点の周囲に、それぞれの角度における複数のそれぞれの第２のポジションまで仮想的に回転させるための命令であって、
各それぞれの角度が、前記それぞれのカメラの前記中心点に対する、前記画像の複数の領域の特定の領域に従って計算される、命令と、
各それぞれの第２のポジションに関連付けられる画像の各それぞれの領域と、前記それぞれのカメラに対して計算された前記それぞれの深さマップの対応する領域との間でマッピングするための命令と、
前記複数のカメラの各カメラによって撮影された各それぞれの画像の領域のピクセルの強度値を、前記それぞれのカメラの前記深さマップの前記マッピングされた領域の対応する距離値に従って調整して、複数の調整された画像を作成するための命令と、
パノラマ画像を作成するために、前記複数の調整された画像をスティッチするための命令と、
を備えている、
コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、そのいくつかの実施形態においては、パノラマ画像に関し、より詳細には、これに限定されないが、パノラマ画像を作成するためのデジタル画像を処理するシステムおよび方法に関する。
【背景技術】
【０００２】
パノラマ画像とは、見る人の周囲の角度の視覚情報を有する画像である。カラーデジタルパノラマ画像のピクセルは、パノラマ画像を定義する球面座標系での方位角および極角における色および強度を定義する。
【０００３】
３６０×１８０パノラマ画像は、見る人の周囲３６０度と、見る人の上１８０度（上部／天頂から下部／天底を含む）の視野空間を捕捉する。パノラマ画像は、頭部を任意の方向および任意の角度に向けて見ることのできる人の視野を撮影する。
【発明の概要】
【課題を解決するための手段】
【０００４】
第１の態様によれば、デジタルパノラマ画像を作成するための、視差ずれに関連付けられるデジタル画像、を処理する、コンピュータによって実施される方法は、それぞれの第１のポジションに位置する、複数のカメラの各カメラに対して、シーンの領域までの距離を表す値を格納するそれぞれの深さマップ、を計算するステップと、それぞれの第１のポジションにおける複数のカメラの各々によって、それぞれの画像を撮影するステップと、複数のカメラの各々を、それぞれのカメラの中心点の周囲に、それぞれの角度における複数のそれぞれの第２のポジションまで仮想的に回転させるステップであって、各それぞれの角度が、それぞれのカメラの中心点に対する、画像の複数の領域の特定の領域に従って計算される、ステップと、各それぞれの第２のポジションに関連付けられる画像の各それぞれの領域と、それぞれのカメラに対して計算されたそれぞれの深さマップの対応する領域との間でマッピングするステップと、複数のカメラの各カメラによって撮影された各それぞれの画像の領域のピクセルの強度値を、それぞれのカメラの深さマップのマッピングされた領域の対応する距離値に従って調整して、複数の調整された画像を作成するステップと、パノラマ画像を作成するために、複数の調整された画像をスティッチするステップと、を含む。
【０００５】
第２の態様によれば、デジタルパノラマ画像を作成するための、視差ずれに関連付けられるデジタル画像、を処理するシステムは、計算装置の少なくとも１つのハードウェアプロセッサによって実行されるコードを記憶している不揮発性メモリ、を備えており、コードが、それぞれの第１のポジションに位置する、複数のカメラの各カメラに対して、シーンの領域までの距離を表す値を格納するそれぞれの深さマップ、を計算するためのコードと、それぞれの第１のポジションにおける複数のカメラの各々によって、それぞれの画像を撮影するためのコードと、複数のカメラの各々を、それぞれのカメラの中心点の周囲に、それぞれの角度における複数のそれぞれの第２のポジションまで仮想的に回転させるためのコードであって、各それぞれの角度が、それぞれのカメラの中心点に対する、画像の複数の領域の特定の領域に従って計算される、コードと、各それぞれの第２のポジションに関連付けられる画像の各それぞれの領域と、それぞれのカメラに対して計算されたそれぞれの深さマップの対応する領域との間でマッピングするためのコードと、複数のカメラの各カメラによって撮影された各それぞれの画像の領域のピクセルの強度値を、それぞれのカメラの深さマップのマッピングされた領域の対応する距離値に従って調整して、複数の調整された画像を作成するためのコードと、パノラマ画像を作成するために、複数の調整された画像をスティッチするためのコードと、を備えている。
【０００６】
第３の態様によれば、デジタルパノラマ画像を作成するための、視差ずれに関連付けられるデジタル画像、を処理するコンピュータプログラム製品は、計算装置の少なくとも１つのハードウェアプロセッサによって実行されるコードを記憶している不揮発性メモリ、を備えており、コードが、それぞれの第１のポジションに位置する、複数のカメラの各カメラに対して、シーンの領域までの距離を表す値を格納するそれぞれの深さマップ、を計算するための命令と、それぞれの第１のポジションにおける複数のカメラの各々によって、それぞれの画像を撮影するための命令と、複数のカメラの各々を、それぞれのカメラの中心点の周囲に、それぞれの角度における複数のそれぞれの第２のポジションまで仮想的に回転させるための命令であって、各それぞれの角度が、それぞれのカメラの中心点に対する、画像の複数の領域の特定の領域に従って計算される、命令と、各それぞれの第２のポジションに関連付けられる画像の各それぞれの領域と、それぞれのカメラに対して計算されたそれぞれの深さマップの対応する領域との間でマッピングするための命令と、複数のカメラの各カメラによって撮影された各それぞれの画像の領域のピクセルの強度値を、それぞれのカメラの深さマップのマッピングされた領域の対応する距離値に従って調整して、複数の調整された画像を作成するための命令と、パノラマ画像を作成するために、複数の調整された画像をスティッチするための命令と、を備えている。
【０００７】
本明細書に記載されているシステムおよび／または方法および／またはコード命令は、視差ずれを有するデジタル画像（オプションとして重なり合っているデジタル画像）を合成してパノラマ画像にするという技術課題に対する技術的解決策を提供する。視差ずれは、１台のカメラが、デジタル画像の各々を撮影するために移動されるとき、および／または、それぞれがデジタル画像を撮影する複数のカメラが、異なる位置に配置されているときに、生じる。視差ずれは、画像を撮影する（１台または複数の）カメラが、それらの節点が異なるポジションに位置するように移動されるときに生じる。視差ずれを有する画像は、近接被写体および遠隔被写体の両方を含む。既存の方法は複雑であり、自然な、および／または高品質のパノラマ画像は作成されず、例えば、近接被写体および遠隔被写体の両方が存在するときに、視差ずれに起因して背景が重複する、および／または、近接被写体が切り取られることがある。この技術的課題を説明するさらなる詳細については、後から図５Ａ〜図５Ｃを参照しながら説明する。
【０００８】
本明細書に記載されているシステムおよび／または方法および／またはコード命令は、改良された、および／または、より高い品質のパノラマ画像を作成するために、個々のデジタル画像を処理する計算装置の動作性能を向上させる。計算装置は、撮影されたデジタル画像の間の（１つまたは複数の）視野ずれを補正する。視差補正されたデジタル画像を、改良された品質でスティッチ（stitch、繋ぎ合わせる）することによって、より高い品質のパノラマ画像が作成される。改良された、より高い品質の球面状および／または多視点のパノラマ画像を作成するために、計算装置は個々の画像を処理する。
【０００９】
第１の態様、第２の態様、および第３の態様のさらなる実施形態においては、各それぞれの第２のポジションに関連付けられる領域と、それぞれの深さマップの対応する領域との間でのマッピングは、画像を撮影した第１のポジションにおけるそれぞれのカメラの中心から、それぞれのカメラに関連付けられる深さマップの対応する領域までの複数の光線を計算するステップであって、各それぞれの光線の長さが、深さマップの対応する領域の距離値から得られる、ステップと、複数の光線の各々を、それぞれのカメラの中心から、それぞれのカメラの中心を中心とする投影球の表面まで平行移動させるステップであって、複数の光線の各々が投影球の接線であるように、それぞれの光線の方向、向き、および長さを維持しながら複数の光線の各々が平行移動される、ステップと、それぞれの長さを有する、複数の平行移動された光線の各々の遠位端部における領域を、それぞれのカメラによって撮影された画像の対応する領域に投影するステップと、それぞれのカメラによって撮影された画像の各領域の少なくとも１つのピクセルの強度値を、複数の平行移動された光線の各々の、深さマップの投影された領域の距離値、に従って調整するステップと、に基づいて計算される。
【００１０】
第１の態様、第２の態様、および第３の態様のさらなる実施形態においては、マッピングは、それぞれのカメラの内部パラメータ行列（intrinsic matrix）および外部パラメータ行列（extrinsic matrix）に従って実行される。
【００１１】
第１の態様、第２の態様、および第３の態様のさらなる実施形態においては、画像の対応する領域にマッピングすることのできない深さマップの領域に、強度スケールに従って最小強度値が割り当てられる。
【００１２】
第１の態様、第２の態様、および第３の態様のさらなる実施形態においては、本方法は以下のステップをさらに含む、および／または、プロセッサは以下のステップを行うようにさらに構成されている、および／または、コンピュータプログラム製品は以下のステップを行うための追加の命令を含み、すなわち、調整された複数の画像の少なくとも１つのスティッチを、複数の調整された画像内に現れる近接被写体に沿って選択するステップであって、近接被写体が、それぞれの深さマップに従って識別される、ステップ。
【００１３】
第１の態様、第２の態様、および第３の態様のさらなる実施形態においては、複数のカメラは、立体視ペア（stereoscopic pairs）の第１のセットの重なり合う画像および第２のセットの重なり合う画像を撮影する立体視ペアのセットとして配置されており、それぞれの深さマップが、立体視ペアのカメラの各々に対して計算され、スティッチするステップが、調整された第１のセットの重なり合う画像と第２のセットの重なり合う画像をスティッチして、第１のパノラマ画像および第２のパノラマ画像を作成するステップを含む。
【００１４】
第１の態様、第２の態様、および第３の態様のさらなる実施形態においては、スティッチするステップは、第１のパノラマ画像および第２のパノラマ画像の対応する位置に従って実行される。
【００１５】
第１の態様、第２の態様、および第３の態様のさらなる実施形態においては、各立体視ペアに対して、立体視ペアのカメラの各々によって撮像された各対応する領域の間でマッピングするステップと、各対応する領域の３次元（３Ｄ）座標を、立体視ペアのカメラの各々によって撮影された画像に基づいてそれぞれの対応する領域の三角法によって、計算するステップと、各対応する領域の３Ｄ座標を、立体視ペアの各カメラの中心に対する向きおよび距離に従って変換するステップと、を実行することによって、立体視ペアのカメラの各々に対して、それぞれの深さマップが計算される。
【００１６】
第１の態様、第２の態様、および第３の態様のさらなる実施形態においては、本方法は以下のステップをさらに含む、および／または、プロセッサは以下のステップを行うようにさらに構成されている、および／または、コンピュータプログラム製品は以下のステップを行うための追加の命令を含み、すなわち、深さマップの未定義領域を補間するステップ。
【００１７】
第１の態様、第２の態様、および第３の態様のさらなる実施形態においては、本方法は以下のステップをさらに含む、および／または、プロセッサは以下のステップを行うようにさらに構成されている、および／または、コンピュータプログラム製品は以下のステップを行うための追加の命令を含み、すなわち、複数の調整された画像のスティッチの各々に近傍の少なくとも１つの範囲を分析するステップであって、少なくとも１つの範囲が、重なり領域内に位置しており、少なくとも１つの範囲のサイズが要件に従って定義される、ステップと、少なくとも１つの各範囲内の各特徴点の両眼視差（binocular disparity）値を計算するステップと、各スティッチについて、それぞれのスティッチの少なくとも１つの範囲の最も高頻度の両眼視差値を識別するステップと、各スティッチについて、最も高頻度の両眼視差値に従って半径値を計算するステップであって、各画像のスティッチの各々に近傍の少なくとも１つの範囲内に位置する各画像の領域のマッピングが、それぞれのスティッチに関連付けられる半径値を有する投影球に従って実行される、ステップ。
【００１８】
第１の態様、第２の態様、および第３の態様のさらなる実施形態においては、各重なり領域のスティッチの各々に近傍の少なくとも１つの範囲に、１つの深さ値が割り当てられる。
【００１９】
深さマップの、より大きい部分（例：全体）のデータを作成する、および／または使用するのではなく、各スティッチに１つの深さ値を割り当てることによって、深さマップのより大きい部分を処理することから生じる誤差が低減または防止される。正確な深さマップを作成することは、均質な範囲内の外れ値の理由で、技術的に難しい。パノラマ画像を形成するためにスティッチされる、作成された画像内に、このような誤差によって大きなゆがみが形成されうる。
【００２０】
第１の態様、第２の態様、および第３の態様のさらなる実施形態においては、マッピングは、複数の調整された画像の各重なり領域のスティッチの各々に近傍の少なくとも１つの範囲に対して、実行される。
【００２１】
第１の態様、第２の態様、および第３の態様のさらなる実施形態においては、複数の調整された画像の、スティッチの各々に近傍の少なくとも１つの範囲の外側の他の部分、に対しては、マッピングが実行されない。
【００２２】
対応するスティッチの位置によって、左側パノラマ画像と右側パノラマ画像との間の変動が防止または低減される。
【００２３】
第１の態様、第２の態様、および第３の態様のさらなる実施形態においては、複数のカメラは、異なる位置に動かされる１台のカメラを表す。
【００２４】
第１の態様、第２の態様、および第３の態様のさらなる実施形態においては、深さマップは、２次元（２Ｄ）データ構造として実施され、距離を表す値は、複数のカメラの各それぞれのカメラによって撮影された画像ごとに計算される。
【００２５】
第１の態様、第２の態様、および第３の態様のさらなる実施形態においては、深さマップは、被写体の動きに起因する深さマップ間の変動を回避する時間要件内で、複数のカメラの各カメラに対して計算される。
【００２６】
時間要件は、その環境で起こる大きな変化が、異なる深さマップにおいて異なって現れることを回避するのに十分に近いように選択することができる。例えば、動いている被写体を考慮するためであり、例えば、道路に沿って走行している自動車が、１つの時点に撮影された１つの深さマップにおいて１つの位置に現れ、数秒後、その自動車が道路に沿って大きな距離だけ走行したときに撮影された別の深さマップにおいて別の位置に現れるシナリオ、を防止するためである。
【００２７】
第１の態様、第２の態様、および第３の態様のさらなる実施形態においては、受信される複数のデジタル画像は、３６０×１８０の視野を撮影しており、複数のデジタル画像の少なくとも１枚が、４枚の別のデジタル画像と重なる。
【００２８】
特に定義しない限り、本明細書で使用する全ての技術および／または科学用語は、本発明が属する技術分野の当業者によって通常に理解されるものと同じ意味を有する。本明細書に記載されている方法および材料に類似するかまたは等価な方法および材料を、本発明の実施形態の実践または試験に使用することができるが、例示的な方法および／または材料は、以下に記載してある。矛盾する場合、定義を含めて本特許明細書が優先する。さらには、材料、方法、および実施例は単なる例示であり、必ずしも限定を意図するものではない。
【００２９】
本明細書には、本発明のいくつかの実施形態を、添付の図面を参照しながら一例としてのみ説明してある。以下では図面を詳細に参照するが、図示されている細部は一例であり、本発明の実施形態を実例を通じて説明することを目的としていることを強調しておく。これに関して、図面を参照しながらの説明によって、当業者には、本発明の実施形態をどのように実施することができるかが明らかになる。
【図面の簡単な説明】
【００３０】
【図１】本発明のいくつかの実施形態による、視差ずれに関連付けられる重なり合うデジタル画像のピクセルの強度値を、対応する深さマップの値に基づいて補正する方法の流れ図である。
【図２】本発明のいくつかの実施形態による、視差ずれに関連付けられる重なり合うデジタル画像を受信し、（１つまたは複数の）深さマップに従って補正されたデジタル画像を出力するシステムの、構成要素のブロック図である。
【図３】本発明のいくつかの実施形態による、左側パノラマ画像と右側パノラマ画像を作成するために合成される立体画像を撮影する例示的な装置を描いた概略図である。
【図４Ａ】視差ずれに関連付けられる生画像をスティッチすることによって作成されたパノラマ画像と、本発明のいくつかの実施形態による、（１つまたは複数の）深さマップに従って（１つまたは複数の）視差ずれを考慮するように調整された画像をスティッチすることによって作成されたパノラマ画像とを比較する例示的な画像である。
【図４Ｂ】視差ずれに関連付けられる生画像をスティッチすることによって作成されたパノラマ画像と、本発明のいくつかの実施形態による、（１つまたは複数の）深さマップに従って（１つまたは複数の）視差ずれを考慮するように調整された画像をスティッチすることによって作成されたパノラマ画像とを比較する例示的な画像である。
【図４Ｃ】視差ずれに関連付けられる生画像をスティッチすることによって作成されたパノラマ画像と、本発明のいくつかの実施形態による、（１つまたは複数の）深さマップに従って（１つまたは複数の）視差ずれを考慮するように調整された画像をスティッチすることによって作成されたパノラマ画像とを比較する例示的な画像である。
【図４Ｄ】視差ずれに関連付けられる生画像をスティッチすることによって作成されたパノラマ画像と、本発明のいくつかの実施形態による、（１つまたは複数の）深さマップに従って（１つまたは複数の）視差ずれを考慮するように調整された画像をスティッチすることによって作成されたパノラマ画像とを比較する例示的な画像である。
【図５Ａ】本明細書に記載されているシステム、方法、および／またはコード命令によって対処される技術的問題の理解を助けるための概略図である。
【図５Ｂ】本明細書に記載されているシステム、方法、および／またはコード命令によって対処される技術的問題の理解を助けるための概略図である。
【図５Ｃ】本明細書に記載されているシステム、方法、および／またはコード命令によって対処される技術的問題の理解を助けるための概略図である。
【図６】本発明のいくつかの実施形態による、立体視カメラのペアに対して計算される深さマップの特定の点Ｐに関する計算を描いた概略図である。
【図７】本発明のいくつかの実施形態による、画像の領域を対応する深さマップにマッピングするステップと、画像のピクセルの値をマッピングに基づいて調整するステップを描いた概略図である。
【図８】本発明のいくつかの実施形態による、カメラによって撮影された画像のピクセルの強度値を調整するための、深さマップと交差する左側接線および右側接線を描いた概略図である。
【発明を実施するための形態】
【００３１】
本発明は、そのいくつかの実施形態においては、パノラマ画像に関し、より詳細には、これに限定されないが、パノラマ画像を作成するためのデジタル画像を処理するシステムおよび方法に関する。
【００３２】
本発明のいくつかの実施形態の一態様は、デジタルパノラマ画像を作成するために、視差ずれに関連付けられるデジタル画像を（１つまたは複数の）深さマップに従って調整する装置、システム、方法、および／またはコード命令（データ記憶装置に記憶されており、１つまたは複数のハードウェアプロセッサによって実行可能である）に関する。デジタル画像は、デジタル画像が撮影される第１のポジションに位置している各カメラに対して計算される深さマップに従って調整される。カメラを、それぞれのカメラの中心点に対するそれぞれの角度における複数の第２のポジションまで仮想的に回転させる。各回転角度は、カメラの中心点に対する、画像の特定の領域（例：１つまたは複数のピクセル）に従って計算される。各画像の各回転角度に関連付けられる各領域を、それぞれのカメラに関連付けられる深さマップの対応する領域にマッピングする。各画像の領域のピクセルの強度値を、深さマップの対応するマッピングされた領域の値に従って調整する。スティッチしてパノラマ画像を作成するための調整された画像を提供する。
【００３３】
本明細書に記載されているシステムおよび／または方法および／またはコード命令は、視差ずれを有するデジタル画像（オプションとして重なり合っているデジタル画像）を合成してパノラマ画像にするという技術課題に対する技術的解決策を提供する。視差ずれは、１台のカメラが、デジタル画像の各々を撮影するために移動されるとき、および／または、それぞれがデジタル画像を撮影する複数のカメラが、異なる位置に配置されているときに、生じる。視差ずれは、画像を撮影する（１台または複数の）カメラが、それらの節点が異なるポジションに位置するように移動されるときに生じる。視差ずれを有する画像は、近接被写体および遠隔被写体の両方を含む。既存の方法は複雑であり、自然な、および／または高品質のパノラマ画像は作成されず、例えば、近接被写体および遠隔被写体の両方が存在するときに、視差ずれに起因して背景が重複する、および／または、近接被写体が切り取られることがある。この技術的課題を説明するさらなる詳細については、後から図５Ａ〜図５Ｃを参照しながら説明する。
【００３４】
本明細書に記載されているシステムおよび／または方法および／またはコード命令は、改良された、および／または、より高い品質のパノラマ画像を作成するために、個々のデジタル画像を処理する計算装置の動作性能を向上させる。計算装置は、撮影されたデジタル画像の間の（１つまたは複数の）視野ずれを補正する。視差補正されたデジタル画像を、改良された品質でスティッチすることによって、より高い品質のパノラマ画像が作成される。改良された、より高い品質の球面状および／または多視点のパノラマ画像を作成するために、計算装置は個々の画像を処理する。
【００３５】
本明細書に記載されているシステムおよび／または方法および／またはコード命令（記憶装置に記憶されており、１つまたは複数のプロセッサによって実行される）は、画像処理の技術分野の中の、具体的には、視差ずれに関連付けられる個々の画像を処理する分野の中の、基礎となるプロセスを改良して、視差ずれに関連付けられる個々の画像をスティッチすることにより作成されるパノラマ画像の品質を向上させる。本明細書に記載されているシステムおよび／または方法および／またはコード命令（記憶装置に記憶されており、１つまたは複数のプロセッサによって実行される）は、数学的演算ならびにデータの受信および格納を使用して処理されるデジタル画像の計算を単純に記載するのではなく、（１つまたは複数の）深さマップを計算する動作と、各カメラによって（１つまたは複数の）画像を撮影する動作と、（１つまたは複数の）画像の領域を（１つまたは複数の）深さマップにマッピングする動作と、（１つまたは複数の）画像を、対応する（１つまたは複数の）深さマップに従って調整する動作と、を組み合わせる。これによって、本明細書に記載されているシステムおよび／または方法（例：記憶装置に記憶されており、１つまたは複数のプロセッサによって実行される記憶装置に記憶されているコード命令）は、コンピュータを使用して単純にデータを取得して合成するだけのコンセプトより優れている。
【００３６】
本明細書に記載されているシステムおよび／または方法、および／またはコード命令（記憶装置に記憶されており、１つまたは複数のプロセッサによって実行される）は、実在する物理的な構成要素に関係しており、これらの構成要素は、パノラマ画像を作成するためにスティッチされるデジタル画像を撮影する１つまたは複数のデジタルカメラと、撮影されたデジタル画像、処理されたデジタル画像、および／または作成されたパノラマ画像を記憶するデータ記憶装置と、作成されたパノラマ画像を提示するディスプレイと、コード命令を実行してデジタル画像を処理するハードウェアプロセッサ、の１つまたは複数を含む。
【００３７】
本明細書に記載されているシステムおよび／または方法、および／またはコード命令（記憶装置に記憶されており、１つまたは複数のプロセッサによって実行される）は、スティッチされてより高い品質のパノラマ画像を作成する、処理されたデジタル画像の形の新規のデータを作成する。
【００３８】
したがって、本明細書に記載されているシステムおよび／または方法および／またはコードは、スティッチされてパノラマ画像を形成するデジタル画像の処理において生じる実際の技術的課題を克服するための計算技術および／または物理的な構成要素に、密接に関係している。
【００３９】
本発明の少なくとも一実施形態を詳しく説明する前に、本発明は、その適用において、以下の説明に記載されている、および／または、図面もしくは実施例またはその両方に説明されている、構成要素の構造および配置および／または方法の細部に、必ずしも限定されないことを理解されたい。本発明は、別の実施形態が可能である、またはさまざまな方法で実施または実行することが可能である。
【００４０】
本発明は、システム、方法、および／またはコンピュータプログラム製品とすることができる。コンピュータプログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令を有する（１つまたは複数の）コンピュータ読み取り可能な記憶媒体を含むことができる。
【００４１】
コンピュータ読み取り可能な記憶媒体は、命令実行装置によって使用するための命令を保持および記憶することのできる有形装置とすることができる。コンピュータ読み取り可能な記憶媒体は、例えば、以下に限定されないが、電子記憶装置、磁気記憶装置、光記憶装置、電磁記憶装置、半導体記憶装置、またはこれらの任意の適切な組合せ、とすることができる。コンピュータ読み取り可能な記憶媒体のさらなる具体例のリスト（すべては網羅していない）には、以下、すなわち、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラマブル読み出し専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ポータブルコンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリスティック、フロッピーディスク、およびこれらの任意の適切な組合せ、が含まれる。コンピュータ読み取り可能な記憶媒体は、本明細書において使用されるときには、本質的に一時的な信号（電波または他の自由に伝搬する電磁波、導波路または他の伝送媒体中を伝搬する電磁波（例：光ファイバケーブルを通る光パルス）、またはワイヤを伝わる電気信号など）であるとは解釈されないものとする。
【００４２】
本明細書に記載されているコンピュータ可読プログラム命令は、コンピュータ読み取り可能な記憶媒体からそれぞれの計算装置／処理装置にダウンロードする、またはネットワーク（例えばインターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、および／またはワイヤレスネットワーク）を介して外部のコンピュータまたは外部の記憶装置にダウンロードすることができる。ネットワークは、銅の伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイヤウォール、スイッチ、ゲートウェイコンピュータ、および／またはエッジサーバを備えていることができる。各計算装置／処理装置内のネットワークアダプタカードまたはネットワークインタフェースが、ネットワークからコンピュータ可読プログラム命令を受信して、それらのコンピュータ可読プログラム命令を、記憶されるようにそれぞれの計算装置／処理装置内のコンピュータ読み取り可能な記憶媒体に転送する。
【００４３】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、機械語命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、１種類または複数種類のプログラミング言語（ＳｍａｌｌｔａｌｋやＣ＋＋などのオブジェクト指向プログラミング言語、「Ｃ」プログラミング言語や類似するプログラミング言語などの従来の手続型プログラミング言語を含む）の任意の組合せで書かれたソースコードまたはオブジェクトコードのいずれかとすることができる。コンピュータ可読プログラム命令は、独立したソフトウェアパッケージとして、その全体を使用者のコンピュータ上で実行する、またはその一部を使用者のコンピュータ上で実行する、または一部を使用者のコンピュータ上で実行しかつ一部を遠隔のコンピュータ上で実行する、または全体を遠隔のコンピュータまたはサーバ上で実行することができる。後者のシナリオでは、遠隔のコンピュータは、任意のタイプのネットワーク（ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）を含む）を通じて使用者のコンピュータに接続することができる、または、（例えばインターネットサービスプロバイダを使用してインターネットを通じて）外部のコンピュータへの接続を形成することができる。いくつかの実施形態においては、本発明の態様を実行する目的で、電子回路（例えばプログラマブル論理回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、またはプログラマブル論理アレイ（ＰＬＡ）を含む）が、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることによって、コンピュータ可読プログラム命令を実行することができる。
【００４４】
本明細書では、本発明の実施形態に係る方法、装置（システム）、およびコンピュータプログラム製品の、流れ図および／またはブロック図を参照しながら、本発明の態様を説明してある。流れ図および／またはブロック図の各ブロック、および、流れ図および／またはブロック図におけるブロックの組合せを、コンピュータ可読プログラム命令によって実施できることが理解されるであろう。
【００４５】
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータ、またはマシンを形成するための他のプログラマブルデータ処理装置のプロセッサに提供することができ、したがってこれらの命令（コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行される）は、流れ図および／またはブロック図の１つまたは複数のブロックに指定されている機能／動作を実施するための手段を形成する。これらのコンピュータ可読プログラム命令は、コンピュータ、プログラマブルデータ処理装置、および／または他の装置が特定の方法で機能するように導くことができるコンピュータ読み取り可能な記憶媒体に記憶することもでき、したがって、命令を記憶しているコンピュータ読み取り可能な記憶媒体は、流れ図および／またはブロック図の１つまたは複数のブロックに指定されている機能／動作の態様を実施する命令を含む製品を備える。
【００４６】
コンピュータ、他のプログラマブルデータ処理装置、または他の装置上で一連の動作ステップが実行されて、コンピュータによって実施されるプロセスが生成されるように、コンピュータ、他のプログラマブルデータ処理装置、または他の装置に、コンピュータ可読プログラム命令をロードしてもよく、したがって、コンピュータ、他のプログラマブルデータ処理装置、または他の装置で実行される命令が、流れ図および／またはブロック図の１つまたは複数のブロックに指定されている機能／動作を実施する。
【００４７】
図における流れ図およびブロック図は、本発明のさまざまな実施形態に係るシステム、方法、およびコンピュータプログラム製品の可能な実装形態のアーキテクチャ、機能性、および動作を示している。これに関して、流れ図またはブロック図における各ブロックは、指定された（１つまたは複数の）論理機能を実施するための１つまたは複数の実行可能命令を含むモジュール、セグメント、または命令の一部を表しうる。いくつかの代替実装形態においては、ブロックに記載されている機能は、図面に記載されている以外の順序で実行してもよい。例えば、連続して示されている２つのブロックを、関与する機能に応じて、実際には、実質的に同時に実行する、あるいは場合によってはブロックを逆の順序で実行することができる。さらに、ブロック図および／または流れ図の各ブロックと、ブロック図および／または流れ図におけるブロックの組合せは、指定された機能または動作を実行する専用ハードウェアベースのシステムによって、または専用ハードウェアおよびコンピュータ命令の組合せを実行する専用ハードウェアベースのシステムによって、実施してもよいことに留意されたい。
【００４８】
次に図１を参照し、図１は、本発明のいくつかの実施形態による、視差ずれに関連付けられる重なり合うデジタル画像のピクセルの強度値を、対応する深さマップに基づいて補正する方法の流れ図である。さらに図２も参照し、図２は、本発明のいくつかの実施形態による、視差ずれに関連付けられる重なり合うデジタル画像を受信し、重なり合う画像の領域に対応する少なくとも１つの深さマップに従って補正されたデジタル画像を出力するシステム２００の、構成要素のブロック図である。システム２００は、図１を参照しながら説明する方法の動作を、プログラム記憶部２０６に記憶されているコード命令を実行する計算装置２０４の（１つまたは複数の）プロセッサ２０２によって、実施することができる。
【００４９】
計算装置２０４は、（（１つまたは複数の）デジタルカメラ２０８によって撮影された）複数の画像を受信して処理する。これらの画像は、画像をスティッチしてパノラマ画像にすることによって形成されるシーンの一部を撮影している。画像は、３６０度のシーン、オプションとして３６０度×１８０度のシーン、またはより小さいシーン角度を撮影することができる。画像は、１つまたは複数のデジタルカメラ２０８によって提供する、および／または、画像リポジトリ２０８Ａ（例：カメラ２０８内のメモリカード、ストレージサーバ、カメラ２０８に関連付けられるリムーバブル記憶装置、および／またはコンピューティングクラウド）から取得することができる。（１つまたは複数の）デジタルカメラ２０８は、静止画デジタルカメラ、および／またはビデオカメラ（この場合には画像は動画のフレームとして取得される）として実施することができる。（１つまたは複数の）デジタルカメラ２０８は、２次元デジタル画像（２Ｄ）を撮影することができる、および／または、オプションとして２つ以上の画像センサを使用して３次元画像（３Ｄ）を撮影することができる。（１つまたは複数の）デジタルカメラ２０８は、カラー（例：赤、緑、青をベースとする）画像、および／または白黒画像（この場合には本明細書に記載されているチャネルはピクセルの強度の１つのチャネルを指す）を撮影することができる。デジタルカメラ２０８は、例えば図３を参照して説明するように、立体視ペアの１つまたは複数のセットとして配置することができる。
【００５０】
単一のデジタルカメラ２０８が実装されているときには、単一のカメラ２０８が異なる位置に動くときに画像の間に視差ずれが生じる。複数のカメラ２０８が実装されているときには、それぞれ異なるポジションに位置している複数の異なるカメラ２０８によって撮影される画像の間に、視差ずれが生じる。
【００５１】
計算装置２０４は、（１つまたは複数の）カメラ２０８によって撮影された、および／または、画像リポジトリ２０８Ａに格納されている、（１つまたは複数の）画像を、１つまたは複数の撮像インタフェース２１０、例えば、有線接続、無線接続、他の物理的なインタフェース実装、および／または、仮想インタフェース（例：ソフトウェアインタフェース、アプリケーションプログラミングインタフェース（ＡＰＩ）、ソフトウェア開発キット（ＳＤＫ））、を使用して、受信する。
【００５２】
計算装置２０４は、例えば、カスタマイズされたユニット（例：図３を参照しながら説明するユニット）、クライアント端末、サーバ、コンピューティングクラウド、モバイル機器、デスクトップコンピュータ、シンクライアント、スマートフォン、タブレットコンピュータ、ノートブックコンピュータ、ウェアラブルコンピュータ、メガネ型コンピュータ、ウォッチ型コンピュータとして、実施することができる。計算装置２０４は、図１を参照しながら説明する動作の１つまたは複数を実行するローカルに格納されたソフトウェアを含むことができる、および／または、サービス（例：図１を参照しながら説明する動作の１つまたは複数）をネットワーク２１４を通じて１つまたは複数のクライアント端末２１２に提供する１つまたは複数のサーバ（例：ネットワークサーバ、Ｗｅｂサーバ、コンピューティングクラウド）として機能することができ、例えば、ソフトウェア・アズ・ア・サービス（ＳａａＳ）を（１つまたは複数の）クライアント端末２１２に提供する、および／または、ローカルダウンロード用のアプリケーションを（１つまたは複数の）クライアント端末２１２に提供する、および／または、リモートアクセスセッションを使用する機能を（例えばＷｅｂブラウザ、もしくはモバイル機器に格納されているアプリケーションまたはその両方を通じて）クライアント端末２１２に提供する。
【００５３】
計算装置２０４の（１つまたは複数の）プロセッサ２０２は、例えば、（１つまたは複数の）中央処理装置（ＣＰＵ）、（１つまたは複数の）グラフィック処理装置（ＧＰＵ）、（１つまたは複数の）フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、（１つまたは複数の）デジタル信号プロセッサ（ＤＳＰ）、（１つまたは複数の）特定用途向け集積回路（ＡＳＩＣ）、として実施することができる。プロセッサ２０２は、１つまたは複数のプロセッサ（同種または異種）を含むことができ、これらのプロセッサは、クラスタとして、および／または、１つまたは複数のマルチコア処理装置として、並列処理用に配置することができる。
【００５４】
記憶装置（プログラム記憶部（例：メモリ）としても知られている）２０６は、（１つまたは複数の）プロセッサ２０２によって実行可能なコード命令を記憶し、例えば、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、および／またはストレージデバイスであり、例えば、不揮発性メモリ、磁気媒体、半導体記憶装置、ハードディスクドライブ、リムーバブル記憶装置、および光媒体（例：ＤＶＤ、ＣＤ−ＲＯＭ）である。記憶装置２０６は、図１を参照しながら説明する方法の１つまたは複数の動作を実行する画像処理コード２０６Ａを記憶している。
【００５５】
計算装置２０４は、データを格納するデータリポジトリ２１６（例えば、出力された処理済み画像（これらはスティッチされてパノラマ画像を形成する）を格納する処理済み画像リポジトリ２１６Ａ、および／または、作成された（１つまたは複数の）パノラマ画像を格納するパノラマ画像リポジトリ２１６Ｂ）を含むことができる。データリポジトリ２１６は、例えば、メモリ、ローカルハードディスクドライブ、リムーバブル記憶装置、光ディスク、ストレージデバイスとして、および／または、リモートサーバおよび／またはコンピューティングクラウド（例：ネットワーク接続を使用してアクセスされる）として、実施することができる。
【００５６】
計算装置２０４は、ネットワーク２１４に接続するためのネットワークインタフェース２１８（例えば、ネットワークインタフェースカード、無線ネットワークに接続するための無線インタフェース、ネットワーク接続用のケーブルに接続するための物理インタフェース、ソフトウェアにおいて実施される仮想インタフェース、ネットワーク接続の上位層を提供するネットワーク通信ソフトウェア、および／または他の実装形態、のうちの１つまたは複数）を含むことができる。
【００５７】
計算装置２０４は、直接リンク（例：ケーブル、無線）、および／または間接リンク（例：サーバなどの中間計算ユニットを介する、および／または、記憶装置を介する）を通じてなど、ネットワーク２１４（または別の通信路）を使用して、以下の１つまたは複数に接続することができる。
【００５８】
＊（１つまたは複数の）クライアント端末２１２（例えば計算装置２０４がサーバとして機能して、ＳａａＳを提供する、および／または遠隔画像処理サービスを提供するとき）。クライアント端末２１２それぞれは、画像をネットワーク２１４を通じて計算装置２０４に提供して処理させることができる。（１つまたは複数の）カメラ２０８（および／または、画像リポジトリ２０８Ａを格納する記憶装置）をクライアント端末２１２に接続し、ネットワーク２１４を使用して画像を提供してもよいことに留意されたい。処理された画像および／または作成されたパノラマ画像を、（１つまたは複数の）クライアント端末２１２に提供することができる。
【００５９】
＊処理された画像を受信し、処理された画像をスティッチしてパノラマ画像を作成する、遠隔に位置するサーバ２２０。サーバ２２０は、パノラマ画像を受信することができる。サーバ２２０は、パノラマ画像をローカルに表示する、および／または、処理された画像もしくはパノラマ画像またはその両方を格納する、および／または、処理された画像もしくはパノラマ画像またはその両方を別のサーバに送信する、ことができる。
【００６０】
＊画像リポジトリ２０８Ａ、処理済み画像リポジトリ２１６Ａ、および／または、パノラマ画像リポジトリ２１６Ｂ、の１つまたは複数を格納する記憶装置２２２。
【００６１】
計算装置２０４および／または（１つまたは複数の）クライアント端末は、ユーザがデータを入力する（例：撮影された画像を指定する、および／またはアップロードする）、および／または、提示されたデータ（例：処理された画像および／または作成されたパノラマ画像）を表示する、ためのメカニズムを含む、および／または、このようなメカニズムと通信する。例示的なユーザインタフェース２２４は、例えば、タッチスクリーン、ディスプレイ、キーボード、マウス、スピーカーおよびマイクロフォンを使用する音声作動ソフトウェア、の１つまたは複数を含む。
【００６２】
次に図３を参照し、図３は、本発明のいくつかの実施形態による、左側パノラマ画像および右側パノラマ画像を作成するために合成される立体画像を撮影する例示的な装置４５０を描いた概略図である。装置４５０は、実質的に正方形として形成されており、正方形の４つの角部の各々に、左目用および右目用の画像を撮影するカメラのペアを含む。正方形の各角部にそれぞれ位置するカメラ４０１，４０３，４０５，４０７は、一方の目のための第１の画像のセットを形成する画像を撮影する。正方形の対応する角部にそれぞれ位置するカメラ４０２，４０４，４０６，４０８は、他方の目のための第２の画像のセットを形成する別の画像をそれぞれ撮影する。第１の画像のセットおよび第２の画像のセットを、独立して処理および補正して、第１のパノラマ画像および第２のパノラマ画像を作成することができる。
【００６３】
カメラ４０１〜４０８は、互いに対する視差ずれを有する画像を撮影することに留意されたい。
【００６４】
装置４５０は、図２を参照しながら説明した以下の構成要素、すなわち、（１つまたは複数の）カメラ２０８、画像リポジトリ、撮像インタフェース２１０、計算装置２０４、（１つまたは複数の）プロセッサ２０２、メモリ２０６、データリポジトリ２１６、画像処理コード２０６Ａ、処理済み画像リポジトリ２１６Ａ、パノラマ画像リポジトリ２１６Ｂ、ネットワークインタフェース２１８、およびユーザインタフェース２２４、の１つまたは複数を、（例えばその物理的容器の中に）含むことができる。
【００６５】
１０２においては、各カメラ２０８に対して深さマップを計算する。深さマップは、計算装置２０４によって計算することができる。深さマップは、各カメラ２０８の現在のポジションにおいて計算される。
【００６６】
各深さマップは、各それぞれのカメラによって写されているシーンの領域までの距離を表す値を格納する。これらの領域は、例えば、深さマップを作成するために使用されたカメラのピクセルサイズに基づいて、および／または、座標（例：φ、θ）の値および／または範囲に基づいて、および／または、サイズの要件に基づいて、定義することができる。深さマップの各要素（例：ピクセル）によって格納される値（例：強度値）は、それぞれのカメラの周囲の実世界における最も近接被写体までの距離を表す（すなわち、深さマップを計算するために使用される画像を撮影するカメラには見えない、最も近接被写体の背後の被写体は、無視される）。深さマップは、スケール（例えば０〜２５５）または他の分割に基づいて、実施することができる。
【００６７】
深さマップは、２次元（２Ｄ）データ構造（画像として提示することができる）として実施することができる。配列の各要素は、座標（オプションとして動径座標）の特定の値および／または値の範囲を表すことができ、例えば、各要素は、特定のφ値（および／または値の範囲）、および特定のθ値（および／または値の範囲）を表す。
【００６８】
（オプションとして配列の各要素における）深さの値は、グレースケール強度値を表すことができる（例えば、０が黒を表し、２５５が白を表す）。
【００６９】
各深さマップの要素の値は、時間内に撮影された１つのフレームに対して計算することができる。
【００７０】
オプションとして、複数のカメラに基づく実装形態の場合、カメラの深さマップは、時間的に同期され、オプションとして時間要件内で計算される。時間要件は、その環境で起こる大きな変化が、異なる深さマップにおいて異なって現れることを回避するのに十分に近いように選択することができる。例えば、動いている被写体を考慮するためであり、例えば、道路に沿って走行している自動車が、１つの時点に撮影された１つの深さマップにおいて１つの位置に現れ、数秒後、その自動車が道路に沿って大きな距離だけ走行したときに撮影された別の深さマップにおいて別の位置に現れるシナリオ、を防止するためである。
【００７１】
深さマップは、カメラの各立体視ペアの各カメラに対して計算することができる。各立体視ペアに対しては、各立体視ペアのカメラの各々によって撮像された各対応する領域の間のマッピングを計算する。これらの領域は、特徴および／またはピクセル（例えば各カメラによって写された被写体）を含むことができる。各対応する領域の３次元（３Ｄ）座標（例：デカルト座標）を計算する。３Ｄ座標は、立体視ペアのカメラの各々によって撮影された画像に基づいてそれぞれの対応する領域の三角法によって、計算することができる。各領域の３Ｄ座標を、立体視ペアの各カメラの中心に対する向き（例：φおよびθによって表される動径座標）および距離（例：動径座標系に基づく）に変換する。オプションとして、深さマップの未定義値を補間する。
【００７２】
図３を参照しながら説明した装置４５０の場合、８つの深さマップ（４つの立体視ペアの各々の左側カメラおよび右側カメラの各々に対して１つの深さマップ）が計算される。
【００７３】
次に図６を参照し、図６は、本発明のいくつかの実施形態による、立体視カメラのペア６９８Ａ，６９８Ｂに対して計算される深さマップの特定の領域Ｐ  ６９２に関する計算を描いた概略図である。領域Ｐ  ６９２は、各カメラ６９８Ａ，６９８Ｂによってマッピングされる。領域Ｐ  ６９２の３Ｄ座標を、カメラ６９８Ａ，６９８Ｂによって撮影された画像に基づいて三角法によって計算する。これらの３Ｄ座標を、各カメラ６９８Ａ，６９８Ｂに関連する向きおよび距離に変換する。
【００７４】
再び図１を参照し、１０４においては、デジタルパノラマ画像を作成するためのデジタル画像を撮影し（例：（１つまたは複数の）デジタルカメラ２０８によって撮影されるデジタル画像、および／または、画像リポジトリ２０８Ａによって格納されているデジタル画像）、これらのデジタル画像を（例えば画像インタフェース２１０を使用して）計算装置２０４によって受信する。なお、ブロック１０４は、ブロック１０２の一部として実行してもよく、例えば、撮影したデジタル画像に基づいて深さマップを作成してもよい。
【００７５】
デジタル画像は、初期ポジションにおけるカメラの各々によって撮影される。
【００７６】
デジタル画像は、視差ずれに関連付けられる。
【００７７】
各デジタル画像は、（１つまたは複数の）重なり領域において１つまたは複数の別のデジタル画像と重なり合う。１枚または複数の画像は、２枚、３枚、４枚、または５枚以上の別のデジタル画像と重なり合い、例えば、パノラマ画像の内側で画像の各境界において１枚の画像と重なり合うことによって、パノラマ画像の内側で画像が４枚の別のデジタル画像と重なり合う。
【００７８】
デジタル画像は、１つまたは複数のカメラ２０８によって撮影することができる。広い視野、オプションとして３６０度の視野（またはより小さい角度）、オプションとして３６０×１８０度の視野（またはより小さい角度）をカバーするため、各画像は異なる角度において撮影される。
【００７９】
オプションとして、（例えば左目および右目に対応する）立体画像を撮影するように配置されたカメラ２０８のペアによって、デジタル画像を撮影する。画像を撮影するカメラの複数のペア（例えば、左目用の画像を撮影するカメラのセットと、右目用の画像を撮影するカメラの別のセット）が存在してもよい。２枚のパノラマ画像を作成し、すなわち左目用の画像を撮影するカメラのセットからの左目用の１枚のパノラマ画像と、右目用の画像を撮影するカメラのセットからの右目用のもう１枚のパノラマ画像である。
【００８０】
再び図１を参照し、１０６においては、カメラの各々を、カメラの角度（すなわちφ値および／またはθ値）を仮想的に変化させることによって、複数の別のポジションまで仮想的に回転させる。なお、仮想的な回転は、（１つまたは複数の）それぞれの画像が撮影された初期ポジションから離れるように（１つまたは複数の）カメラを実際に物理的に回転させることなく、計算的に実行されることに留意されたい。
【００８１】
各回転角度は、それぞれのカメラの中心点に対する画像の領域に従って計算する。
【００８２】
オプションとして、出力解像度がＸピクセル（または領域）×Ｙピクセル（または領域）として表されるとき、各０＜ｉ≦Ｘについてと、各０＜ｉ≦Ｙについて、各ピクセルｐ（ｉ，ｊ）の角度を計算する。この角度に従って仮想的な回転を計算する。
【００８３】
仮想的な回転は、必ずしもすべてのピクセルに対して計算されないことに留意されたい。例えば、ピクセルのグループに対して仮想的な回転を計算することができる。パノラマ画像を生成するのに十分なピクセルの強度値を計算する目的で、出力されるパノラマ画像のピクセルに従って、仮想的な回転を決定することができる。
【００８４】
仮想的な回転は、エンドユーザに透過的とすることができる。
【００８５】
１０８においては、仮想的に回転させた各ポジション（すなわち各角度）に関連付けられる各画像の領域（例：ピクセル、ピクセルのグループ）を、それぞれのカメラに対して計算された深さマップの対応する領域にマッピングする。
【００８６】
画像の対応する領域にマッピングすることのできない、深さマップの領域（例：別の被写体の背後に位置する領域）には、強度スケールに従って最小強度値を割り当てる（オプションとして黒として提示される）。強度スケールは、例えば、２５６個、１０２４個、または別の数の強度レベルに基づくことができる。範囲が大きいほど精度が良好である。
【００８７】
第２のポジションに関連付けられる画像の領域と、対応する深さマップとのマッピングは、各カメラの中心に対して計算される投影球のφおよびθの、定義される値毎（またはそのサブセット）または値の範囲に対して、計算する。（回転したポジションに位置する）それぞれのカメラの投影球の中心から、深さマップの対応する領域までの光線を計算する。各光線の長さは、光線が到達する深さマップの領域の距離値から得られる（Ｖ（φ，θ）として表される）。各光線を、カメラの中心（すなわち光線の起点は投影球の中心に位置する）から、投影球の表面（すなわち光線の起点は投影球の表面に位置する）まで平行移動させる。光線は、光線の方向、向き、および長さを維持しながら平行移動させる。各光線は、投影球の表面に接する。定義された長さを有する平行移動した各光線の遠位端部（本明細書ではＴと表す）における各領域（例：ピクセル、ピクセルのグループ）を、それぞれのカメラによって撮影された画像の対応する領域に投影する。この投影は、それぞれのカメラの内部パラメータ行列および外部パラメータ行列に従って実行することができる。
【００８８】
１１０においては、各画像の各投影された領域の（１つまたは複数の）ピクセルの（１つまたは複数の）強度値を、深さマップの投影された領域の対応する値（Ｉと表す）に従って調整する。数学的に表記すると、各カメラによって撮影された各画像において、各領域（φ，θ）＝Ｉである。
【００８９】
ブロック１０８，１１０は、各深さマップによって表される動径座標および／または領域（例：φおよび／またはθの値の範囲）の大部分またはすべてに対して実行する。深さマップとの投影接線の（１つまたは複数の）交点が、動径座標に対して求められる。各接線に対応する画像のピクセルの強度値を調整する。
【００９０】
次に図７を参照し、図７は、本発明のいくつかの実施形態による、画像の領域を対応する深さマップにマッピングするステップと、ピクセル値をマッピングに基づいて調整するステップを描いた概略図である。カメラ７０８（オプションとして、図３を参照しながら説明した装置４５０に位置している）が、本明細書に説明したように、仮想的に回転したポジションにおける画像を取得する。光線７１０は、カメラ７０８の中心７１２から、中心７１２に対する特定の領域（φ，θ）に位置する深さマップの特定の領域７１４まで定義される。光線７１０の長さは、深さマップの領域（φ，θ）に対応する距離値によって定義される（Ｖと表される）。
【００９１】
光線７１０を、カメラ７０８の投影球７１８の接線７１６まで平行移動させる。接線７１６への平行移動は、光線７１０の方向、向き、および長さＶを維持しながら実行する。点Ｔ  ７２０は、長さＶを有する接線７１６の遠位端部を表す。
【００９２】
Ｔ  ７２０を、初期ポジションにおけるカメラ７０８によって撮影された画像の特定の領域に投影する（矢印７２２によって表してある）。この特定の領域（Ｔ  ７２０の投影）のピクセルに、Ｉと表される特定の強度値を指定する。特定の（φ，θ）に対応する、カメラ７０８によって撮影された画像の領域のピクセルが、強度値Ｉに従って調整される。
【００９３】
次に図８を参照し、図８は、本発明のいくつかの実施形態による、カメラ（オプションとして、図３を参照しながら説明した装置４５０のカメラ）によって撮影された画像のピクセルの強度値を調整するための、深さマップ８２０と交差する左側接線８１６Ａおよび右側接線８１６Ｂを描いている。左側接線８１６Ａおよび右側接線８１６Ｂは、カメラの立体視ペアの各カメラに関連付けられている。
【００９４】
再び図１を参照し、１１２においては、オプションとして、（１つまたは複数の）デジタルパノラマ画像を作成するための調整されたデジタル画像に従って、スティッチを選択する。スティッチは、計算装置２０４、および／または遠隔装置（例：クライアント端末２１２および／またはサーバ２２０）によって選択することができる。スティッチは、画像の重なり領域内で選択することができる。
【００９５】
オプションとして、選択されたスティッチおよび近くの（例：要件（例えば各スティッチを囲むピクセルの数）以内の、オプションとして重なり領域内の）領域に従って、修正された深さマップを作成する、調整する、および／または選択する。オプションとして、各スティッチに１つの深さ値を割り当てる。深さマップの、より大きい部分（例：全体）のデータを作成する、および／または使用するのではなく、各スティッチに１つの深さ値を割り当てることによって、深さマップのより大きい部分を処理することから生じる誤差が低減または防止される。正確な深さマップを作成することは、均質な範囲内の外れ値の理由で、技術的に難しい。パノラマ画像を形成するためにスティッチされる、作成された画像内に、このような誤差によって大きなゆがみが形成されうる。
【００９６】
スティッチは、重なり領域内で選択する。立体視カメラペアの場合、左目用の画像の（１つまたは複数の）スティッチは、右目用の画像の（１つまたは複数の）スティッチに（オプションとして許容差の要件内で）対応するように選択することができる。スティッチの位置が対応していることによって、左側パノラマ画像と右側パノラマ画像との間の変動が防止または低減される。
【００９７】
調整された画像の選択されたスティッチの各々に近傍の１つまたは複数の範囲を分析する。分析する（１つまたは複数の）範囲は、要件（例えば、特定の数のピクセル、および／または特定の寸法）に基づくことができる。
【００９８】
選択されたスティッチの各々に近傍の各範囲内の各特徴点の両眼視差値を計算する。両眼視差値は、スティッチされる重なり合う画像を撮影したカメラに関連して計算する。例示的な特徴点としては、画像内の被写体、ピクセルまたはピクセルのグループの格子、画像内の境界領域が挙げられる。
【００９９】
各スティッチに近傍の各範囲の（および／または、各スティッチに近傍の複数の範囲の）、最も高頻度の両眼視差値を識別する。
【０１００】
各スティッチに近傍の範囲に関連付けられる投影球の半径値を、最も高頻度の両眼視差値に従って計算する。
【０１０１】
この半径は、各スティッチに近傍の各範囲の（および／または、各スティッチに近傍の複数の範囲の）最も高頻度の両眼視差に従って、カメラの中心からそれぞれの（１つまたは複数の）被写体までの距離を定義する。
【０１０２】
シーリングエリア（ceiling area）からの半径は、カメラの中心と天頂点（カメラの中心の真上の点）における被写体との間の距離として定義され、フロアエリア（floor area）からの半径は、カメラの中心と天底点（カメラの中心の真下の点）における被写体との間の距離として定義される。これらの半径（すなわち距離）は、左右のカメラのペアの間の視差に従って計算される。天底点および天頂点は、そこを過ぎるとカメラがシーン内で撮影することのできない位置を示す。カメラによって撮影される画像には、シーンのうち天頂点より上の部分および天底点より下の部分は撮影されない。天底点および天頂点は、カメラの盲点に相当する。天底点および天頂点は、これら盲点における視差を計算するための特徴を含むことがあり、例えば、天頂点が単純な空を表し、天底点が単純な床を表すことがある。このような場合、天頂および／または天底までの推定される距離および／または半径は、約５〜１０度の最も近い上部円および／または下部円から計算され、内挿および／または外挿される。
【０１０３】
１１４においては、ブロック１０８〜１１０を繰り返す。最も高頻度の両眼視差値に基づく半径値に従って、投影球を計算する。
【０１０４】
各画像のスティッチの各々に近傍の（１つまたは複数の）範囲内に位置する領域のマッピングは、各それぞれのスティッチに関連付けられる半径値を有する投影球に従って実行する。
【０１０５】
マッピングは、複数の重なり合う画像の各重なり領域のスティッチの各々に近傍の（１つまたは複数の）範囲に対して実行する。スティッチの各々に近傍の（１つまたは複数の）範囲の外側の、重なり合う画像の他の部分に対しては、必ずしもマッピングを実行しない。
【０１０６】
オプションとして、重なり合う画像の各重なり領域のスティッチの各々に近傍の各範囲に、１つの深さ値を割り当てる。
【０１０７】
オプションとして、調整された画像の（１つまたは複数の）スティッチは、選択される（１つまたは複数の）スティッチ内に現れる近い特徴および／または近接被写体に従って選択する。これら（１つまたは複数の）スティッチは、（１つまたは複数の）近い特徴および／または（１つまたは複数の）近接被写体を横切るように選択する。選択された（１つまたは複数の）スティッチを含む領域内に現れる各被写体および／または各特徴までの距離を、（１つまたは複数の）深さマップに基づいて推定する。１つまたは複数の近接被写体が、２枚以上の画像の領域内に位置しているときには、（１つまたは複数の）スティッチを、それら（１つまたは複数の）近接被写体および／または近い特徴を横切るように選択する。調整された画像を、近接被写体を横切るスティッチに沿ってスティッチすることにより、各近接被写体および／または特徴が１つ写し出される。（１つまたは複数の）スティッチが横切る近接被写体および／または近い特徴に従って（１つまたは複数の）スティッチを選択することによって、（例えば後の図５Ｂに描かれているように）結果としてのパノラマ画像において遠隔被写体が二重になることが防止または低減される。あるいは、選択される（１つまたは複数の）スティッチ内に、近接被写体および／または近い特徴が現れていないときには、（１つまたは複数の）スティッチを遠隔被写体に従って調整し、これにより、（例えば後の図５Ｃに描かれているように）結果としてのパノラマ画像から近接被写体が消失することが防止または低減される。
【０１０８】
１１６においては、１つまたは複数のデジタルパノラマ画像（例えば各目のためのそれぞれのパノラマ画像）を作成するための調整されたデジタル画像を提供する。
【０１０９】
オプションとして、調整されたデジタル画像を、オプションとして、選択されたスティッチに従ってスティッチし、（１つまたは複数の）デジタルパノラマ画像を作成する。
【０１１０】
調整されたデジタル画像は、格納しておく目的で、および／または、スティッチしてデジタルパノラマ画像にする目的で、計算装置２０４によって（例えば処理済み画像リポジトリ２１６Ａに）ローカルに格納する、および／または、それらデジタル画像を提供した元のクライアント端末２１２に送信する、および／または、別のサーバ２２０もしくは記憶装置２２２またはその両方に送信することができる。調整されたデジタル画像を、ディスプレイ（例：２２４）上でユーザに提示することができる。
【０１１１】
作成された（１つまたは複数の）デジタルパノラマ画像は、ディスプレイ（例：２２４）上でユーザに提示する、および／または、クライアント端末２１２、記憶装置２２２、サーバ２２０、他の装置のうちの１つまたは複数に送信することができる。
【０１１２】
次に図４Ａ〜図４Ｄを参照し、これらの図は、（１つまたは複数の）カメラからの（すなわち調整されていない）、視差ずれに関連付けられる生画像をスティッチすることによって作成されたパノラマ画像と、本発明のいくつかの実施形態による、（１つまたは複数の）視差ずれを考慮するように調整された画像をスティッチすることによって作成されたパノラマ画像とを比較する例示的な画像である。図４Ａおよび図４Ｃは、近接被写体に従っての調整を描いている。図４Ｂおよび図４Ｄは、遠隔被写体に従っての調整を描いている。
【０１１３】
図４Ａは、視差ずれに関連付けられる生画像をスティッチすることによって作成されたパノラマ画像６０２を示している。個々の画像は、視差ずれに起因してスティッチ線６０４に沿って良好に整列していないことに留意されたい。これと比較して、パノラマ画像６０６は、本明細書に記載されているシステム、方法、および／またはコード命令に従って、視差ずれについて調整された画像をスティッチすることによって作成されている。スティッチは、シーン内で検出された近接被写体（矢印６０８によって示してある）に従って調整されている。
【０１１４】
図４Ｂは、視差ずれに関連付けられる生画像をスティッチすることによって作成された図４Ａのパノラマ画像６０２を示している。これと比較して、パノラマ画像６１６は、本明細書に記載されているシステム、方法、および／またはコード命令に従って、視差ずれについて調整された画像をスティッチすることによって作成されている。スティッチは、シーン内で検出された遠隔被写体（矢印６１８によって示してある）に従って調整されている。
【０１１５】
図４Ｃは、視差ずれに関連付けられる生画像をスティッチすることによって作成されたパノラマ画像６２２を示している。個々の画像は、視差ずれに起因してスティッチ線６２４に沿って良好に整列していないことに留意されたい。これと比較して、パノラマ画像６２６は、本明細書に記載されているシステム、方法、および／またはコード命令に従って、視差ずれについて調整された画像をスティッチすることによって作成されている。スティッチは、シーン内で検出された近接被写体（矢印６２８によって示してある）に従って調整されている。
【０１１６】
図４Ｄは、視差ずれに関連付けられる生画像をスティッチすることによって作成された図４Ｃのパノラマ画像６２２を示している。これと比較して、パノラマ画像６３６は、本明細書に記載されているシステム、方法、および／またはコード命令に従って、視差ずれについて調整された画像をスティッチすることによって作成されている。スティッチは、シーン内で検出された遠隔被写体（矢印６３８によって示してある）に従って調整されている。
【０１１７】
次に図５Ａ〜図５Ｃを参照し、これらの図は、本明細書に記載されているシステム、方法、および／またはコード命令によって対処される技術的問題の理解を助けるための概略図である。
【０１１８】
図５Ａは、異なるカメラによって撮影された２枚の画像の間で視差ずれが生じるシナリオの例を描いている。第１の球５０２および第２の球５０４は、第１のカメラ５１０と第２のカメラ５１２の間の中心点５０８に関連する軸線５０６に沿って整列している。
【０１１９】
第１のカメラ５１０によって撮影される第１の画像には、視野５１４の中で、第１の球５０２が第２の球５０４の左側に写される。
【０１２０】
第２のカメラ５１２によって撮影される第２の画像には、視野５１６の中で、第１の球５０２が第２の球５０４の右側に写される。
【０１２１】
図５Ｂは、第１の画像と第２の画像が合成される一例を描いている。第１のカメラ５１０は、軸線５１０Ａに関連して画像を撮影する。第２のカメラ５１２は、軸線５１２Ａに関連して画像を撮影する。第１のカメラ５１０によって撮影された第１の画像からのピクセルが、点Ｋ  ５１８まで抽出される。第２のカメラ５１２によって撮影された第２の画像からのピクセルが、点Ｋ  ５１８まで抽出される。
【０１２２】
画像５２０は、第１の画像と第２の画像をスティッチすることによって作成された結果のパノラマ画像を描いている。第１の球５０２が第２の球５０４の背後で二重になっていることに留意されたい。
【０１２３】
ブロック１１６に関連して上述したように、画像５２０は、近い方の第２の球５０４に沿って位置していないスティッチを不適切に選択することによって作成されており、遠い方の第１の球５０２が二重に形成されている。近い方の第２の球５０４に沿った（１つまたは複数の）スティッチを選択することによって、結果としてのパノラマ画像において第１の球５０２が二重になることが防止される。
【０１２４】
図５Ｃは、第１の画像と第２の画像が合成される別の例を描いている。第１のカメラ５１０によって撮影された第１の画像からのピクセルが、点Ｋ’  ５２２まで抽出される。第２のカメラ５１２によって撮影された第２の画像からのピクセルが、点Ｋ’  ５２２まで抽出される。
【０１２５】
画像５２４は、第１の画像と第２の画像をスティッチすることによって作成された結果のパノラマ画像を描いている。第１の球５０２のみが現れていることに留意されたい。第２の球５０４は画像５２４内に存在しない。
【０１２６】
ブロック１１６に関連して上述したように、スティッチを不適切に選択する結果として、近い第２の球５０４が切り取られて、生成されるパノラマ画像５２４から第２の球５０４が完全に隠されている。
【０１２７】
ここまで本発明のさまざまな実施形態を、実例を目的として説明してきたが、上記の説明は、すべてを網羅する、または開示される実施形態に限定されることを意図するものではない。この技術分野における通常の技術を有する者には、説明した実施形態の範囲および趣旨から逸脱することなく、多数の修正形態および変形形態が明らかであろう。本明細書において使用されている専門用語は、実施形態の原理、実際の用途、または市場に存在する技術に優る技術的改善を最良に説明するために、あるいは、この技術分野における通常の技術を有する者が、本明細書に開示されている実施形態を理解することができるように、選択されている。
【０１２８】
本出願から発生する特許権の存続期間中、数多くの関連するパノラマ画像が開発されることが予測されるが、用語「パノラマ画像」の範囲は、このような新規の技術すべてをアプリオリに含むものとする。
【０１２９】
本明細書において使用されている語「約」は、±１０％を意味する。
【０１３０】
語「備える」、「備えている」、「含む」、「含んでいる」、「有する」、およびこれらの活用形は、「〜を含み、ただしそれらに限定されない」を意味する。この語は、語「〜からなる」および「本質的に〜からなる」を包含する。
【０１３１】
「本質的に〜からなる」という表現は、組成物または方法が、追加の成分および／または追加のステップを含んでもよく、ただし、それら追加の成分および／または追加のステップが、特許請求の範囲に記載されている組成物または方法の基本的かつ新規の特徴を実質的に変化させない場合に限られることを意味する。
【０１３２】
本明細書において使用されているとき、単数形（「ａ」、「ａｎ」、および「ｔｈｅ」）は、文脈から明らかに複数の場合が除外されない限り、複数の場合も含む。例えば、語「化合物」または「少なくとも１種類の化合物」は、複数種類の化合物（それらの混合物を含む）を含むことができる。
【０１３３】
語「例示的な」は、本明細書においては、「例、一例、または説明としての役割を果たす」を意味する目的で使用されている。「例示的な」として説明されている実施形態は、必ずしも他の実施形態よりも好ましい、または有利であるとは解釈されないものとする、および／または、他の実施形態の特徴を組み込むことが排除されないものとする。
【０１３４】
語「オプションとして」は、本明細書においては、「いくつかの実施形態において設けられ、他の実施形態では設けられない」を意味する目的で使用されている。本発明のいずれの実施形態も、互いに矛盾しない限りは複数の「オプションの」特徴を含むことができる。
【０１３５】
本出願の全体を通じて、本発明のさまざまな実施形態は、範囲形式で提示されていることがある。範囲形式での記述は、便宜上および簡潔さのみを目的としており、本発明の範囲を固定的に制限するようには解釈されないことを理解されたい。したがって、範囲の記述には、具体的に開示されている可能な部分範囲すべてと、その範囲内の個々の数値とが含まれるものとみなされたい。例えば、１〜６などの範囲の記述には、具体的に開示された部分範囲（例えば、１〜３、１〜４、１〜５、２〜４、２〜６、３〜６など）と、この範囲内の個々の数（例えば１、２、３、４、５、および６）とが含まれるものとみなされたい。このことは、範囲の広さにかかわらずあてはまる。
【０１３６】
本明細書中に数値範囲が示されているときには、示された範囲内の任意の該当する数値（分数または整数）が含まれるものとする。第１の指示数と第２の指示数「との間の範囲」、および、第１の指示数「から」第２の指示数「までの範囲」という表現は、本明細書においては互換的に使用され、第１の示された数および第２の示された数と、それらの間のすべての分数および整数を含むものとする。
【０１３７】
明確さを目的として個別の実施形態の文脈の中で説明されている本発明の特定の複数の特徴は、１つの実施形態の中に組み合わせて設けることもできることを理解されたい。逆に、簡潔さを目的として１つの実施形態の文脈の中で説明されている本発明のさまざまな特徴は、個別に設ける、または任意の適切な部分的な組合せとして設ける、または本発明の任意の他の説明されている実施形態において適切に設けることもできる。さまざまな実施形態の文脈の中で説明されている特定の特徴は、実施形態がそれらの要素なしでは動作・機能しない場合を除いて、それらの実施形態の本質的な特徴とはみなさないものとする。
【０１３８】
本発明についてその特定の実施形態に関連して説明してきたが、当業者には多数の代替形態、修正形態、および変形形態が明らかであろう。したがって、添付の請求項の趣旨および広義の範囲内に含まれるすべての代替形態、修正形態、および変形形態を包含するように意図されている。
【０１３９】
本明細書に記載されているすべての刊行物、特許、および特許出願は、これら個々の刊行物、特許、または特許出願それぞれが、参照によって本明細書に組み込まれることを明示的かつ個別に示されている場合と同じように、それぞれの全体が参照によって本明細書に組み込まれている。さらには、本出願において参考文献が引用または特定されていることは、そのような参考文献が本発明の従来技術として利用可能であることを自認するものとして解釈されない。セクションの見出しが使用されている場合、それらの見出しは必ずしも本発明を制限するものとして解釈されない。
【図１】
2020525912.tif 000003
【図２】
2020525912.tif 000004
【図３】
2020525912.tif 000005
【図４Ａ】
2020525912.tif 000006
【図４Ｂ】
2020525912.tif 000007
【図４Ｃ】
2020525912.tif 000008
【図４Ｄ】
2020525912.tif 000009
【図５Ａ】
2020525912.tif 000010
【図５Ｂ】
2020525912.tif 000011
【図５Ｃ】
2020525912.tif 000012
【図６】
2020525912.tif 000013
【図７】
2020525912.tif 000014
【図８】
2020525912.tif 000015
【国際調査報告】
2020525912.tif 000016