(57)【要約】  フレームに示される重なりにおいて識別される不規則な線に沿って前記フレームをつなぎ合わせることによってパノラマフレームを生成する方法。当該方法は、第１フレームの第１フレーム部分に記録されたコンテンツと第２フレームの第２フレーム部分に記録されたコンテンツとの重複を識別するステップと、前記第１フレーム部分における複数の物体をセグメント化するステップと、前記複数の物体の複数の境界を識別するステップと、前記複数の物体の少なくとも一部の前記複数の境界の少なくとも一部に沿って前記第１フレーム部分の対向する２つの辺の間をつなぐ不規則な線経路を識別するステップと、パノラマフレームを生成するプロセスにおいて前記不規則な線経路に沿って前記第１フレームおよび前記第２フレームをステッチするステップと、を有する。
2019511024.tif 000002
【特許請求の範囲】
【請求項１】
フレームに示される重なりにおいて識別される不規則な線に沿って前記フレームをつなぎ合わせることによってパノラマフレームを生成する方法であって、
第１フレームの第１フレーム部分に記録されたコンテンツと第２フレームの第２フレーム部分に記録されたコンテンツとの間の重複を識別するステップと、
前記第１フレーム部分における複数の物体をセグメント化するステップと、
前記複数の物体の複数の境界を識別するステップと、
前記複数の物体の少なくとも一部の前記複数の境界の少なくとも一部に沿って前記第１フレーム部分の対向する２つの辺の間をつなぐ不規則な線経路を識別するステップと、
パノラマフレームを生成するプロセスにおいて前記不規則な線経路に沿って前記第１フレームおよび前記第２フレームをステッチするステップと、
を有する、前記方法。
【請求項２】
前記第１フレームにおいて複数の特徴点を検出するステップであって、各特徴点が少なくとも１つの所定の特徴点特性を有する、前記ステップ、をさらに有し、前記複数の物体は、前記複数の特徴点に従ってセグメント化される、請求項１に記載の方法。
【請求項３】
前記複数の物体は、前記複数の特徴点に基づいて前記第１部分から生成された分水嶺画像上に識別される、請求項２に記載の方法。
【請求項４】
前記複数の特徴点は、加速化断片試験（ＦＡＳＴ）プロセスを用いて識別される、請求項２に記載の方法。
【請求項５】
前記重複は、特徴記述子照合処理を行うことによって識別される、請求項１に記載の方法。
【請求項６】
前記第１フレームおよび前記第２フレームは、撮像デバイスの複数の撮像素子からの撮像素子によって捕捉される、請求項１に記載の方法。
【請求項７】
前記第１フレームおよび前記第２フレームは、前記複数の撮像素子からの２つの隣接撮像素子によって捕捉され、前記２つの隣接撮像素子の一方の撮像素子の第１視野は、前記２つの隣接撮像素子の他方の撮像素子の第２視野と重なり合い、前記２つの隣接撮像素子は、他の撮像素子と共に共通の中心の周りに取り付けられている、請求項６に記載の方法。
【請求項８】
前記２つの隣接撮像素子の第１撮像素子の光軸は、前記共通の中心と、前記複数の撮像素子の視野の原点すべてを通る仮想円上の前記第１隣接撮像素子の視野の原点それぞれの接点とを通る軸に対して傾斜している、請求項７に記載の方法。
【請求項９】
前記第１フレームおよび前記第２フレームの後に捕捉された一対の新たなフレームに対して前記不規則な線経路と同様に計算された新たな不規則な線経路に従って前記不規則な線経路を調整するステップと、
前記新たな画像をステッチするために前記調整された不規則な線経路を使用するステップと、
をさらに有する、請求項８に記載の方法。
【請求項１０】
前記調整するステップおよび前記使用するステップは、前記不規則な線経路と前記新たな不規則な線経路との差が閾値よりも大きい場合に実行される、請求項９に記載の方法。
【請求項１１】
前記パノラマフレームは、仮想現実（ＶＲ）ファイルの複数のフレームの１つである、請求項１に記載の方法。
【請求項１２】
前記パノラマフレームは、左目パノラマフレームであり、前記複数の撮像素子は、つなぎ合わせて右目パノラマフレームにする複数の追加フレームを捕捉する複数の追加撮像素子と結び付けられており、
立体フレームを生成するために前記右目パノラマフレームを前記左目パノラマフレームとつなぎ合わせるステップ、
をさらに有する、請求項６に記載の方法。
【請求項１３】
前記複数の撮像素子および前記複数の追加フレームの各メンバーは、共通の中心を取り囲む仮想円に沿って交互に配置されている、請求項１２に記載の方法。
【請求項１４】
前記パノラマフレームは、右目パノラマフレームであり、前記複数の撮像素子は、つなぎ合わせて左目パノラマフレームにする複数の追加フレームを捕捉する複数の追加撮像素子と結び付けられており、
立体フレームを生成するために前記左目パノラマフレームを前記右目パノラマフレームとつなぎ合わせるステップ、
をさらに有する、請求項６に記載の方法。
【請求項１５】
前記複数の撮像素子は、共通の中心を取り囲む仮想円に沿って配置され、前記複数の撮像素子はそれぞれ、その光軸が、前記共通の中心と、前記撮像素子それぞれの視野の原点の接点とを通る軸に対して傾斜するように取り付けられている、請求項６に記載の方法。
【請求項１６】
フレームに示される重なりにおいて識別される不規則な線に沿って前記フレームをつなぎ合わせることによってパノラマフレームを生成するシステムであって、
撮像デバイスの複数の撮像素子によって捕捉された複数のフレームの２つから第１フレームおよび第２フレームを受け取るように適合されたインタフェースと、
コードを記憶するように適合されたコードストアと、
前記コードを実行するように適合されたプロセッサと、
を有し、前記コードは、
第１フレームの第１フレーム部分に記録されたコンテンツと第２フレームの第２フレーム部分に記録されたコンテンツとの間の重複を識別するためのコード命令と、
前記第１フレーム部分における複数の物体をセグメント化するためのコード命令と、
前記複数の物体の複数の境界を識別するためのコード命令と、
前記複数の物体の少なくとも一部の前記複数の境界の少なくとも一部に沿って前記第１フレーム部分の対向する２つの辺の間をつなぐ不規則な線経路を識別するためのコード命令と、
パノラマフレームを生成するプロセスにおいて前記不規則な線経路に沿って前記第１フレームおよび前記第２のフレームをステッチするためのコード命令と、
を有する、前記システム。
【請求項１７】
フレームに示される重なりにおいて識別される不規則な線に沿って前記フレームをつなぎ合わせることによってパノラマフレームを生成するためのソフトウェアプログラム製品であって、
非一時的コンピュータ可読記憶媒体と、
第１フレームの第１フレーム部分に記録されたコンテンツと第２フレームの第２フレーム部分に記録されたコンテンツとの間の重複を識別するための第１プログラム命令と、
前記第１フレーム部分における複数の物体をセグメント化するための第２プログラム命令と、
前記複数の物体の複数の境界を識別するための第３プログラム命令と、
前記複数の物体の少なくとも一部の前記複数の境界の少なくとも一部に沿って前記第１フレーム部分の対向する２つの辺の間をつなぐ不規則な線経路を識別するための第４プログラム命令と、
パノラマフレームを生成するプロセスにおいて前記不規則な線経路に沿って前記第１フレームおよび前記第２フレームをステッチするための第５プログラム命令と、
を有し、
前記第１プログラム命令、前記第２プログラム命令、前記第３プログラム命令、前記第４プログラム命令、および前記第５プログラム命令は、前記非一時的コンピュータ可読記憶媒体から少なくとも１つのコンピュータ化されたプロセッサによって実行される、
前記ソフトウェアプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、そのいくつかの実施形態において、画像処理に関し、より詳しくは、フレームのステッチングに関するが、それに限定されない。
【背景技術】
【０００２】
仮想現実（ＶＲ：Virtual Reality）は、特別な種類の画像または映像コンテンツである。ＶＲは、その名前が示す通り、映像および音声を含む、記録されたコンテンツの没入感を視聴者に与えるために現実と置き換わるように設計されている。視聴者は、一般にＶＲヘッドセット、ＶＲゴーグルまたはＶＲ眼鏡と呼ばれる、特別な種類の表示眼鏡を使用する。ＶＲヘッドセットは、視聴者の自然視を効果的に遮断し、それを記録されたまたは生放送されるコンテンツで置き換える。
【０００３】
ＶＲコンテンツは、ＶＲが自然視と置き換わるように設計されているので、平面型画面上に提示されるように設計された標準的なデジタルコンテンツとは異なる。ＶＲは、立体視を提供しながら、広い視野（ＦＯＶ：field of view）に提示されるように設計されている。
【発明の概要】
【課題を解決するための手段】
【０００４】
本発明のいくつかの実施形態によれば、フレームに示される重なりにおいて識別される不規則な線に沿ってフレームをつなぎ合わせることによってパノラマフレームを生成する方法は、
第１フレームの第１フレーム部分に記録された（documented）コンテンツと第２フレームの第２フレーム部分に記録されたコンテンツとの間の重複を識別するステップと、
前記第１フレーム部分における複数の物体をセグメント化するステップと、
前記複数の物体の複数の境界を識別するステップと、
前記複数の物体の少なくとも一部の前記複数の境界の少なくとも一部に沿って前記第１フレーム部分の対向する２つの辺の間をつなぐ不規則な線経路を識別するステップと、
パノラマフレームを生成するプロセスにおいて前記不規則な線経路に沿って前記第１フレームおよび前記第２フレームをステッチするステップと、
を有する。
【０００５】
任意選択で、前記方法は、前記第１のフレームにおいて複数の特徴点を検出するステップであって、各特徴点が少なくとも１つの所定の特徴点特性を有する、前記ステップを有し、前記複数の物体は、前記複数の特徴点に従ってセグメント化される。
【０００６】
より任意選択で、前記複数の物体は、前記複数の特徴点に基づいて前記第１部分から生成された分水嶺画像（watershed image）上に識別される。
【０００７】
より任意選択で、前記複数の特徴点は、加速化断片試験（ＦＡＳＴ：accelerated segment test）プロセスを用いて識別される。
【０００８】
任意選択で、前記重複は、特徴記述子照合処理を行うことによって識別される。
【０００９】
任意選択で、前記第１フレームおよび前記第２フレームは、撮像デバイスの複数の撮像素子からの撮像素子によって捕捉される。
【００１０】
より任意選択で、前記第１フレームおよび前記第２フレームは、前記複数の撮像素子からの２つの隣接撮像素子によって捕捉され、前記２つの隣接撮像素子の一方の撮像素子の第１視野は、前記２つの隣接撮像素子の他方の撮像素子の第２視野と重なり合い、前記２つの隣接撮像素子は、他の撮像素子と共に共通の中心の周りに取り付けられている。
【００１１】
より任意選択で、前記２つの隣接撮像素子の第１撮像素子の光軸は、前記共通の中心と、前記複数の撮像素子の視野の原点すべてを通る仮想円上の前記第１隣接撮像素子の視野の原点それぞれの接点とを通る軸に対して傾斜している。
【００１２】
任意選択で、前記方法は、前記第１フレームおよび前記第２フレームの後に捕捉された一対の新たなフレームに対して前記不規則な線経路と同様に計算された新たな不規則な線経路に従って前記不規則な線経路を調整するステップと、前記新たな画像をステッチするために前記調整された不規則な線経路を使用するステップと、をさらに有する。
【００１３】
任意選択で、前記方法が有する前記調整するステップおよび前記使用するステップは、不規則な線経路と新たな不規則な線経路との差が閾値よりも大きい場合に実行される。
【００１４】
任意選択で、前記パノラマフレームは、仮想現実（ＶＲ：virtual reality）ファイルの複数のフレームの１つである。
【００１５】
より任意選択で、前記パノラマフレームは、左目パノラマフレームであり、前記複数の撮像素子は、つなぎ合わせて右目パノラマフレームにする複数の追加フレームを捕捉する複数の追加撮像素子と結び付けられている。
【００１６】
任意選択で、前記方法は、立体フレームを生成するために前記右目パノラマフレームを前記左目パノラマフレームとつなぎ合わせるステップをさらに有する。
【００１７】
より任意選択で、前記複数の撮像素子および前記複数の追加フレームの各メンバーは、共通の中心を取り囲む仮想円に沿って交互に配置されている。
【００１８】
より任意選択で、前記パノラマフレームは、右目パノラマフレームであり、前記複数の撮像素子は、つなぎ合わせて左目パノラマフレームにする複数の追加フレームを捕捉する複数の追加撮像素子と結び付けられており、立体フレームを生成するために前記左目パノラマフレームを前記右目パノラマフレームとつなぎ合わせるステップをさらに有する。
【００１９】
より任意選択で、前記複数の撮像素子は、共通の中心を取り囲む仮想円に沿って配置され、前記複数の撮像素子はそれぞれ、その光軸が前記共通の中心と、前記撮像素子それぞれの視野の原点の接点とを通る軸に対して傾斜するように取り付けられている。
【００２０】
本発明のいくつかの実施形態によれば、フレームに示される重なりにおいて識別される不規則な線に沿ってフレームをつなぎ合わせることによってパノラマフレームを生成するシステム。当該システムは、撮像デバイスの複数の撮像素子によって捕捉された複数のフレームの２つから第１フレームおよび第２フレームを受け取るように適合されたインタフェースと、コードを記憶するように適合されたコードストアと、前記コードを実行するように適合されたプロセッサとを有し、前記コードは、第１フレームの第１フレーム部分に記録されたコンテンツと第２フレームの第２フレーム部分に記録されたコンテンツとの間の重複を識別するためのコード命令と、前記第１フレーム部分における複数の物体をセグメント化するためのコード命令と、前記複数の物体の複数の境界を識別するためのコード命令と、前記複数の物体の少なくとも一部の前記複数の境界の少なくとも一部に沿って前記第１フレーム部分の対向する２つの辺の間をつなぐ不規則な線経路を識別するためのコード命令と、パノラマフレームを生成するプロセスにおいて前記不規則な線経路に沿って前記第１フレームおよび前記第２フレームをステッチするためのコード命令とを有する。
【００２１】
特に他の定義がない限り、本明細書で使用されるすべての技術的および／または科学的用語は、本発明が関係する技術分野の当業者によって一般に理解されるものと同じ意味を有する。本明細書に記載されたものと同様または同等の方法および材料は本発明の実施形態の実施または試験にも使用することができるが、例示的な方法および／または材料を以下に説明する。矛盾する場合、定義を含む特許明細書が支配する。さらに、材料、方法、および例は、例示的なものにすぎず、必ずしも限定的であることは意図されていない。
【００２２】
本明細書では、添付の図面を参照して、本発明のいくつかの実施形態について、単なる例として説明する。そして具体的に図面を詳細に参照して、図示する詳細が例としてでありかつ本発明の実施形態の例示的な説明のためであることが強調される。この点において、図面と併せて理解される説明により、本発明の実施形態をどのように実施することができるかは当業者には明らかとなる。
【図面の簡単な説明】
【００２３】
【図１】本発明のいくつかの実施形態に係る、共通の中心領域の周りに複数の視野角を有する複数の撮像素子によって捕捉された隣接フレームの重なり部分において識別される不規則なステッチ線を利用してパノラマフレームを生成するフローチャートである。
【図２】本発明のいくつかの実施形態に係る、例えば図１に示す方法を実行することによって、パノラマフレームを生成するシステムの構成要素のブロック図である。
【図３Ａ】本発明のいくつかの実施形態に係る、本明細書に記載のシステムおよび／または方法を用いてステッチされてパノラマフレームにする複数の視野角でフレームを捕捉する複数の撮像素子の例示的な配置の概略図である。
【図３Ｂ】本発明のいくつかの実施形態に係る、本明細書に記載の方法を用いて、複数の視野角でフレームを捕捉しかつ捕捉されたフレームをステッチしてパノラマフレームにする複数の撮像素子が配置された仮想現実（ＶＲ）撮像デバイスの概略側面図である。
【図３Ｃ】本発明のいくつかの実施形態に係る、複数の撮像素子の取り付け位置を通る仮想円の半径に対して傾斜している光軸および傾斜していない光軸をそれぞれ有する前記複数の撮像素子の視野間の重複を示す概略図である。
【図３Ｄ】本発明のいくつかの実施形態に係る、複数の撮像素子の取り付け位置を通る仮想円の半径に対して傾斜している光軸および傾斜していない光軸をそれぞれ有する前記複数の撮像素子の視野間の重複を示す概略図である。
【図４】本発明のいくつかの実施形態に係る、複数の特徴点（ドット）、複数の物体の複数の境界（緑色の線）、および前記複数の境界の一部に沿った例示的な重複領域を横断する最短の不規則な経路、が付された前記例示的な重複領域である。
【図５】本発明のいくつかの実施形態に係る、例示的な重複領域に示される物体の境界が付された前記例示的な重複領域である。
【図６Ａ】本発明のいくつかの実施形態に係る、複数の視野角で捕捉された複数のフレームを取得し、当該複数のフレームを適合させるプロセス、および生成されたパノラマフレームを示す例示的な画像である。
【図６Ｂ】本発明のいくつかの実施形態に係る、複数の視野角で捕捉された複数のフレームを取得し、当該複数のフレームを適合させるプロセス、および生成されたパノラマフレームを示す例示的な画像である。
【図６Ｃ】本発明のいくつかの実施形態に係る、複数の視野角で捕捉された複数のフレームを取得し、当該複数のフレームを適合させるプロセス、および生成されたパノラマフレームを示す例示的な画像である。
【発明を実施するための形態】
【００２４】
本発明は、そのいくつかの実施形態において、画像処理に関し、より詳しくは、フレームのステッチング（stitching）に関するが、それに限定されない。
【００２５】
本発明のいくつかの実施形態の態様は、配置された複数の撮像素子（例えば、カメラ、画像センサ）によって、任意選択で共通の中心領域の周りに、複数の視野角で捕捉されたフレームまたは画像（簡潔のため、本明細書では同じ意味で言及される）をステッチしてパノラマフレーム、つまり前記共通の中心領域（簡潔のため、本明細書では共通の中心ともいう）を囲む環境を示すパノラマフレームにするシステムおよび／または方法（例えば、計算装置のプロセッサによって実行されるコード）に関する。ステッチングは、ステッチの継ぎ目の可視性を低減して、ユーザのパノラマフレーム視聴体験を改善する（これにより、捕捉された周囲環境により酷似する）ために行われる。
【００２６】
フレームのステッチングは、フレームの視野間の重複領域において識別される不規則な線に沿って行われる。不規則な線は、任意選択で、重複領域に位置する物体またはセグメント化領域の境界に沿って識別される。
【００２７】
本発明の実施形態によってステッチされるフレームは、位置合わせと登録のために事前に（つまり、ステッチングの前に）処理されうる。環境の共通部分を撮像する視野を有する撮像素子（本明細書では隣接撮像素子ともいう）による捕捉の結果として生じる２つのフレーム間の重複領域が識別される。重複領域は、必ずしも視野内の重複領域の解析から識別されるわけではなく、むしろ外部の方法を用いて推定されうる。
【００２８】
任意選択で、重複領域は、フレームの視覚表現を仮想球体骨格モデル上に投影することによって推定される。代替的にまたは追加的に、重複領域は、重複するフレームを捕捉する撮像素子の一方または両方に対して定義されたキャリブレーションモデル（例えば、数学モデル）に基づいて推定される。キャリブレーションモデルは、主点パラメータ、焦点距離パラメータ、および／または魚眼歪みパラメータに基づいて定義されうる。
【００２９】
本明細書に記載のシステムおよび／または方法は、複数の視野角で捕捉されたフレームをつなぎ合わせてパノラマフレームを生成する際に、共通の中心を囲む環境を示すパノラマフレームにおける継ぎ目の可視性をどのように低減するかという技術的課題に対する技術的解決策を提供する。ステッチされたフレームは、ＶＲファイルのフレームでありうる。このＶＲファイルは、例えば、ＶＲビデオを視聴するためにＶＲヘッドセット内でユーザに提示される仮想現実システムにおいて使用されうる。つなぎ合わせるために取得されるフレームは、異なるカメラで捕捉される。異なるカメラは、異なる透視投影（perspective）および／または異なる特性（焦点や露出、ホワイトバランスなど）を有する。撮像素子が使用するレンズ（例えば、広角レンズおよび／または魚眼レンズ）は、たる形歪みや糸巻形歪み、ビネット（vignette）歪みなどの視覚的な歪みを加えることがあり、これにより、フレームをステッチする際に追加の課題が生じる。副次的な技術的課題は、異なるカメラによって捕捉されたフレームをステッチすることである。異なるカメラは、継ぎ目の可視性を低減または除去するように、異なる特性および変化する向き（例えば、固定カメラまたは調整可能カメラの小さな動きに役立つ）を有する。目に見える継ぎ目は、ＶＲビデオが提供することができる自然な見た目または現実感を低減する。ステッチング歪み（例えば、左目および右目でそれぞれ見るように設計された左右のパノラマフレームにおける）および／または異なるアーチファクト（artifact）を低減または除去することにより、一貫性のない非水平視差が除去または低減されて、ＶＲビデオが改善される。一貫性のない非水平視差は、さもなければ、視聴者に不快感および／または嫌悪感を生じさせるものである。
【００３０】
本明細書に記載のシステムおよび／または方法は、数学演算（例えば、フレームの重複領域の推定、モーショングラデーションの計算、およびフレームのステッチング）を、例えば、フレームの重複領域を横断する不規則な線に基づいて共通の中心の周りに複数の視野角で取得されたフレームをステッチしてパノラマフレームにすることによって、デジタル画像を処理するプロセッサの能力に結び付ける。異なるカメラモジュールが生成したコンテンツをステッチする必要がある場合の正確な領域を定義する、画像の登録および位置合わせの方法にはいくつかあることに留意されたい。登録が計算されると、第２の必要不可欠な部分は、フレームをつなぎ合わせる重複領域をいかに正確に切断し融合するかを定義することである。
【００３１】
切断線を定義する方法にはいくつかある。最も簡単なものは、選択された座標において、直線に沿って両方の重複するフレームを切断する真っ直ぐな垂直線である。１つの重複フレームから別の重複フレームへのグラデーション移行を追加することも、直線を適合させるのに使用される。例えば、左右の２つのフレームをつなぎ合わせるとき、左フレームの重複領域の透明性は、左フレーム上、左から右へ透明度が次第に増加し、右フレームにおいては全く逆でありうる。直線切断法はすべて１つの重大な欠点を有する。それは、人間の視覚が直線のような明確に定義された幾何学的図形に特に敏感であるため、明確に定義されたあらゆるステッチング線はユーザの目を引くものとなる。
【００３２】
本明細書に記載のシステムおよび／または方法は、共通の中心の周りに取り付けられた撮像素子によって複数の視野角で取得したフレームを処理することに関する。取得したフレームをつなぎ合わせることによって、新たなデータがパノラマフレームの形で生成される。パノラマフレームは、メモリデバイスに記憶され、任意選択で、ユーザに対して再生されうる（例えば、ＶＴヘッドギアに表示されうる）。パノラマフレームは、結果として生じた複数のパノラマフレームを含むビデオに組み込みうる。
【００３３】
本明細書に記載のシステムおよび／または方法は、例えば、より少ないメモリを使用することによって、および／または、改善されたデジタル画像を生成する際の計算時間を改善することによって、コンピュータの性能を改善する。
【００３４】
したがって、本明細書に記載のシステムおよび／または方法は、デジタル画像処理において実際に生じる技術的課題を克服するコンピュータ技術に必然的に根差している。
【００３５】
本発明の少なくとも１つの実施形態を詳細に説明する前に、本発明は、その適用において、以下の説明に記載し、ならびに／または図面および／もしくは例に示す構造の詳細および構成要素の配列および／または方法に必ずしも限定されないことを理解されたい。本発明は、他の実施形態が可能であり、または様々なやり方で実施もしくは実行されることが可能である。
【００３６】
本発明は、システム、方法、および／またはコンピュータプログラム製品でもよい。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体（または複数のコンピュータ可読記憶媒体）を含むことができる。
【００３７】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用されるための命令を保持し、記憶することができる有形のデバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁気記憶デバイス、半導体記憶デバイス、または前述のものの任意の適切な組合せでもよいが、それらに限定されない。コンピュータ可読記憶媒体のより具体的な例の包括的でないリストには、携帯用コンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、消去可能プログラム可能読出し専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、携帯用コンパクトディスク読出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリスティック、フロッピーディスク、および前述のものの任意の適切な組合せが含まれる。コンピュータ可読記憶媒体は、本明細書で使用される際には、電波もしくは他の自由に伝搬する電磁波、導波管中を伝搬する電磁波もしくは他の伝送媒体（例えば、光ファイバケーブル中を通過する光パルス）、または電線中を伝送される電気信号など、一時的信号それ自体であると解釈されないものとする。
【００３８】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれの計算／処理デバイスに、またはネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワークおよび／もしくはワイヤレスネットワークを介して外部コンピュータもしくは外部記憶デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータおよび／またはエッジサーバを備えることができる。各計算／処理デバイスにおけるネットワークアダプタカードまたはネットワークインタフェースは、コンピュータ可読プログラム命令をネットワークから受け取り、それぞれの計算／処理デバイス内のコンピュータ可読記憶媒体における記憶のためにコンピュータ可読プログラム命令を転送する。
【００３９】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいはＳｍａｌｌｔａｌｋもしくはＣ＋＋などのオブジェクト指向プログラミング言語および「Ｃ」プログラミング言語などの従来の手続き型プログラミング言語または同様のプログラミング言語を含む、１つまたは複数のプログラミング言語の任意の組合せで書かれたソースコードまたはオブジェクトコードのいずれかでもよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に、ユーザのコンピュータ上で部分的に、独立型ソフトウェアパッケージとして、ユーザのコンピュータ上で部分的におよび遠隔コンピュータ上で部分的にまたは遠隔コンピュータもしくはサーバ上で全体的に実行することができる。後者のシナリオでは、遠隔コンピュータは、ローカルエリアネットワーク（ＬＡＮ）もしくはワイドエリアネットワーク（ＷＡＮ）を含む、任意の種類のネットワークを通してユーザのコンピュータに接続することができ、または接続は、外部コンピュータ（例えば、インターネットサービスプロバイダを使用するインターネットを通して）に対して行うことができる。いくつかの実施形態において、例えば、プログラム可能論理回路、フィールド・プログラマブルゲートアレイ（ＦＰＧＡ）、またはプログラマブルロジックアレイ（ＰＬＡ）を含む電子回路は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して、電子回路を個人向けにすることによってコンピュータ可読プログラム命令を実行することができる。
【００４０】
本発明の態様は、本発明の実施形態に係る方法、装置（システム）、およびコンピュータプログラム製品のフローチャートおよび／またはブロック図を参照して本明細書に説明する。フローチャートおよび／またはブロック図の各ブロック、ならびに、フローチャートおよび／またはブロック図におけるブロックの組合せは、コンピュータ可読プログラム命令によって実装することができることを理解されるであろう。
【００４１】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行される命令が、フローチャートおよび／またはブロック図のブロック（複数を含む）において特定された機能／動作を実装するための手段を生成するように、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供して、マシンを製作することができる。これらのコンピュータ可読プログラム命令は、中に記憶された命令を有するコンピュータ可読記憶媒体が、フローチャートおよび／またはブロック図のブロック（複数を含む）において特定された機能／動作の態様を実装する命令を含む製品を備えるように、コンピュータプログラム可能データ処理装置および／または他のデバイスに、特定のやり方で機能させるように指示することができるコンピュータ可読記憶媒体に記憶することもできる。
【００４２】
コンピュータ可読プログラム命令は、コンピュータ、他のプログラム可能装置、または他のデバイス上で実行される命令が、フローチャートおよび／またはブロック図のブロック（複数を含む）において特定された機能／動作を実装するように、コンピュータ、他のプログラム可能データ処理装置、または他のデバイス上に読み込んで、一連の動作ステップをコンピュータ、他のプログラム可能装置または他のデバイス上で実施させ、それによって、コンピュータ実装プロセスを発生させることもできる。
【００４３】
図面におけるフローチャートおよびブロック図は、本発明の様々な実施形態に係るシステム、方法、およびコンピュータプログラム製品の可能な実装例のアーキテクチャ、機能、および動作を示す。この点において、フローチャートまたはブロック図における各ブロックは、命令のモジュール、セグメント、または一部分を表すことができ、それは特定された論理機能を実装するための１つまたは複数の実行可能な命令を含む。いくつかの代替実装例において、ブロックに記載された機能は、図面に記載された順番以外で発生することができる。例えば、連続して示す２つのブロックは、実際に、実質的に同時に実行することができ、またはブロックは、関与する機能により、時には逆の順序で実行することもできる。ブロック図および／またはフローチャートの各ブロック、ならびにブロック図および／またはフローチャートにおけるブロックの組合せは、特定された機能もしくは動作を実施する、または専用ハードウェアとコンピュータ命令との組合せを実行する、専用ハードウェアベースのシステムによって実装することができることにも留意されよう。
【００４４】
次に図１を参照すると、図１は、本発明のいくつかの実施形態に係る、隣接する撮像素子によって複数の視野角で捕捉されたフレームをステッチしてパノラマフレームにする方法のフローチャートである。本方法は、フレームの重複領域における物体の境界またはその他セグメント化された領域を検出し、前記重複領域を横断する（例えば、２つに分割する）最短の不規則な線を識別することによって、前記重複領域における不規則な線を識別する。本方法は、パノラマ撮像デバイスの撮像素子によってほぼ同時に捕捉されたフレームの各対に対して繰り返される。図２も参照すると、図２は、ユーザが、それぞれ共通の中心領域の周りで異なる角度の方に向けられている複数の視覚撮像素子を使用して、前記共通の中心領域を囲む（少なくとも部分的に）環境の一連のパノラマフレームのうちの個々のパノラマフレームまたは映像を捕捉することを可能にするシステム２００の構成要素のブロック図である。ユーザは、例えばＶＲヘッドセットを使用して、仮想現実設定で再生するために映像を記録しうる。請求項１に記載の方法は、図２のシステム２００によって実施されうる。
【００４５】
システム２００は、撮像素子２１２とともに収納された計算ユニット２０２、例えば、本明細書ではＶＲ撮像デバイスと呼ばれる、特注設計されたユニット（例えば、ＶＲ撮像デバイスの例示的な筐体である図３Ｂを参照）、または、撮像素子２１２を含む筐体とは別個の計算ユニット２０２、例えばパソコンやサーバ、モバイル機器、ウェアラブルコンピュータその他実装例を含む。計算ユニット２０２は、１つ以上のプロセッサ２０４と、プロセッサ２０４によって実行されるコード命令を記憶するプログラムストア２０６とを含む。
【００４６】
プロセッサ２０４は、例えば、１つ以上の処理ユニット（ＣＰＵ）、１つ以上のグラフィックス処理ユニット（ＧＰＵ）、１つ以上のフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、１つ以上のデジタル信号プロセッサ（ＤＳＰ）、および１つ以上の特定用途向け集積回路（ＡＳＩＣ）でもよい。プロセッサは、複数のクラスタとしておよび／または１つ以上のマルチコア処理ユニットとして、並列処理のために配列された複数のプロセッサ（同質または異質のもの）を含む処理ユニットの一部でもよい。
【００４７】
プログラムストア２０６、例えば、ランダムアクセスメモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、および／または記憶デバイス、例えば、不揮発性メモリ、磁気媒体、半導体メモリデバイス、ハードドライブ、取外し可能記憶装置、および光媒体（例えば、ＤＶＤ、ＣＤ−ＲＯＭ）は、プロセッサ２０４によって実行可能なコード命令を記憶する。当該命令は、任意選択で、図１に記載の方法を実行する。
【００４８】
計算ユニット２０２は、データリポジトリ２０８、例えば、メモリ、記憶ユニット、ハードドライブ、光ディスク、遠隔記憶サーバ、および／またはクラウドサーバ（例えば、ネットワーク接続を介してアクセスされる）を含み、またはそれらと通信する。データリポジトリ２０８は、取得された生フレームを記憶し（例えば、生フレームリポジトリ２０８Ａに）、本明細書に記載のシステムおよび／もしくは方法によって、記載のように適合されたフレームを記憶し（例えば、適合フレームリポジトリ２０８Ｂに）、ならびに／または生成されたパノラマフレームを記憶する（例えば、パノラマフレームリポジトリ２０８Ｃに）ことができる。
【００４９】
計算ユニット２０２は、複数の撮像素子２１２（例えば、デジタルカメラ）のそれぞれから、取得されたフレームを受け取るためのデータインタフェース２１０（例えば、物理的インタフェース、仮想インタフェース、および／またはソフトウェアインタフェース）を含む。撮像素子２１２（例えば、赤色、緑色、青色（ＲＧＢ）の撮像素子）は、共通の中心領域の周りに、任意選択で、少なくとも１８０度、任意選択で、３６０度（水平方向および／または鉛直方向に）（例えば、以下、より詳細に説明する図３Ａを参照）、の環境を示す一連のフレームを取得するように配置されている。
【００５０】
任意選択で、撮像素子２１２は、左目または右目のフレームを捕捉するように対を成しており、当該フレームは、例えば、ＶＴヘッドセットを使用して、異なる目に提示されうる。このような実施形態では、撮像素子は、２つの群、つまり左目群と右目群に分割されうる。左目群のメンバーは、偶数の場所にあり、右目群のメンバーは、奇数の場所にあり（場所は、共通の中心領域を囲む円において順番に分布していると仮定して）、またはその逆である。このような実施形態では、左目群の撮像素子によって捕捉されたフレームは、左目パノラマフレームを形成するようにステッチされ、右目群の撮像素子によって捕捉されたフレームは、右目パノラマフレームを形成するようにステッチされる。左目パノラマフレームおよび右目パノラマフレームのそれぞれのステッチングは、例えば後述するように別々に行われる（重複領域は、各群のメンバーによって捕捉されたフレーム間にある）。左目パノラマフレームおよび右目パノラマフレームは、立体的なパノラマフレームを生成するために組み合わされる。例えば、図３Ａの配置３０４、３０６において、破線付きの長方形は、左目群のメンバーであり、破線付きでない長方形は、右目群のメンバーである。
【００５１】
代替的にまたは追加的に、撮像素子２１２は、両方の目に同時に表示される、例えば、１８０度の劇場内で投影されるフレームを捕捉する。
【００５２】
各撮像素子２１２は、広い視野を捕捉するように設計された広角レンズ、例えば、魚眼レンズを有しうる。例示的な撮像素子２１２は、水平方向に約１２０度、鉛直方向に約１７５度（または他の値）捕捉する超広角および／または鉛直角レンズを有するカメラである。
【００５３】
撮像素子２１２の数は、設計された環境をカバーするように選択され（立体的なパノラマフレームが生成される実施形態では２倍）、例えば、４つの撮像素子、８つの撮像素子、１０個の撮像素子、１６個の撮像素子、および／またはあらゆる中間数もしくはより多くの撮像素子など、カメラのレンズによって捕捉されうる視野に基づくものでありうる。
【００５４】
次に図３Ａを参照すると、図３Ａは、本発明のいくつかの実施形態に係る、撮像素子３１２（例えば、図２を参照して説明した撮像素子２１２に対応する）の配置に対する例示的な実装例を示す。撮像素子３１２は、共通の中心３０２の周りに取り付けられている。撮像素子３１２は、複数の視野角でフレームを取得するように配置されている。フレームは、ステッチされて（本明細書に記載のシステムおよび／または方法を使用して）、共通の中心３０２を囲む環境を示すパノラマフレームが生成される。
【００５５】
各配列３０４、３０６は、共通の中心３０２の周りに３６０度カバーするように配置された８つの撮像素子３１２を含む。実装例３０４は、正方形３０８（または長方形）の形に配置された撮像素子３１２を示し、正方形３０８の各辺に２つの撮像素子３１２を含んでおり、これらは、左目と右目のフレームを捕捉するように対を成しうる。４対の側面撮像素子１３１２を含む特注設計のユニットの、コーナーが切断された例示的な二次筐体の側面図である図３Ｂも参照。側面撮像素子１３１２の各対は、例示的な二次筐体の別の切断されたコーナーにある。実装例３０６は、円形３１０（または楕円形）の形に配置され、円形３１０の円周に沿って離隔された撮像素子３１２を含む。撮像素子３１２は、左目および右目のフレームを捕捉しうる。他の実装形状も使用しうることに留意されたい。
【００５６】
本発明のいくつかの実施形態によれば、撮像素子は、対を成すように分けられており、各対は、立体フレームを捕捉するように設計される。このような実施形態では、後述するように、立体フレームの各対の重複領域が識別され、パノラマフレームを生成するのに使用される。簡潔のため、立体フレームは、本明細書ではフレームと称し、立体フレームを捕捉するように設計された撮像素子の対は、本明細書では撮像素子と称する。例えば、視野が図３Ｃに示す通りである、立体フレームを捕捉する撮像素子対が配置されたＶＲ撮像デバイスが使用される。任意選択で、一対の撮像素子における各撮像素子の光軸は、当該撮像素子対の他の撮像素子に向かって、例えばその光軸に向かって、傾斜している。任意選択で、光軸の傾斜は、共通の中心を通ると共に、全撮像素子の視野の原点すべてを通る仮想円上の各撮像素子の視野の原点それぞれの接点を通る軸に対して傾斜している（例えば、図３Ｃおよび図３Ｄに示す円を参照）。任意選択で、傾斜は、２０〜３０度、例えば、図３Ｃに示すように２２度である。撮像素子の傾斜は、視野間の重複領域を低減する。これは、各撮像素子が対を成す撮像素子に向かって傾斜している撮像素子配置を示す図３Ｃの撮像素子を、各撮像素子の光軸が全撮像素子の取り付け位置、例えば撮像素子の光軸の原点を通る仮想円の半径を維持するように配列されている別の撮像素子配置を示す図３Ｄと比較すると、理解しやすい。図３Ｃを図３Ｄと比較すると、上記のように撮像素子の光軸が傾斜している場合、撮像素子の視野が交わる部分である比較的暗い領域が大きくなることが分かる。
【００５７】
実装例３０４、３０６は、ほぼディスク形状を有しうる。この場合、撮像素子３１２は、平面に沿って配置される。他の実装形状、例えば、球体または半球も使用しうることに留意されたい。
【００５８】
追加の撮像素子３１２を上向きまたは下向きになるように配置しうる（図示せず）。
【００５９】
計算ユニット２０２および撮像素子３１２は、例えば、消費者が自宅で使用しうる独立型携帯用ユニットとして、実装例３０４および／または３０６に基づく筐体内に収納されうる。
【００６０】
次に図２に戻ると、計算ユニット２０２は、生成したパノラマフレーム（例えば、ビデオ）を記憶および／または提示するために、１つ以上の外部デバイスと通信する通信インタフェース２１４（例えば、物理的、ソフトウェア的、および／または仮想的）、例えばＷｉ−Ｆｉ（商標）モジュールまたはＢｌｕｅｔｏｏｔｈ（商標）モジュールを含む。例示的な外部デバイスは、個人用表示デバイス２１６（例えば、ＶＲヘッドセット）、今後の再生のためにビデオを記憶する記憶デバイス２１８、およびネットワーク２２２を介して通信可能なサーバ２２０（例えば、ウェブサーバ、記憶サーバ、映像サーバ）を含む。記録されたビデオは、公に再生されうる、例えば、劇場内、室内、または自宅において、例えばプロジェクター（図示せず）によって、パノラマスクリーン上に投影されうることに留意されたい。
【００６１】
計算ユニット２０２は、ユーザインタフェース２２４（クライアント端末上にソフトウェアとして実装された、および／またはパノラマフレームを表示する表示デバイスの一部として実装された計算ユニット２０２を内蔵する筐体内に統合されうる）、例えば、タッチ画面、キーボード、マウス、ならびにスピーカおよびマイクロホンを使用する音声作動ソフトウェアを含み、またはそれらと通信する。ユーザインタフェース２２４は、コード（例えば、クライアント端末上および／または計算ユニット２０２上に記憶された）にアクセスして、ユーザ入力に基づいてパノラマフレームの生成をカスタマイズしうる。
【００６２】
本発明のいくつかの実施形態によれば、撮像素子は、画像の位置合せおよび視差歪みの低減のためにカメラキャリブレーションモデルを計算するためにキャリブレーションされる。任意選択で、カメラキャリブレーションモデルは、各撮像素子の固有パラメータ、例えば、主点パラメータ、焦点距離パラメータ、および／または魚眼歪みパラメータに基づいて、また、任意選択で、外部パラメータに基づいて計算される。例えば、固有パラメータは、魚眼歪みパラメータを含みうる。
【００６３】
使用に当たって、パラメータは、ＶＲ撮像デバイスの撮像素子をチェスボードパターンの前に置いて、ＶＲ撮像デバイスを回転させて一連のフレームを捕捉することによって計算されうる。
【００６４】
カメラキャリブレーションモデルの計算中に（これは任意選択でプロセッサ２０４を使用して実行される）、ｎ×ｍチェスボードタイルのパターンのコーナーが、例えば、そのパターンの線形最小二乗ホモグラフィを求めることによって、検出される。ガウス・ニュートン法を適用して、いくつかのチェスボードの表示に対する検出されたホモグラフィを生じさせる上記の撮像素子パラメータ、ならびに撮像素子の回転および平行移動を求めうる。ヤコビ行列が計算され、平均二乗誤差法に基づいて品質基準が計算される。これにより、カメラキャリブレーションモデルの計算、遠隔の物体が撮影されるフレームに対するバンドル調整による相互回転のための各装置の外部パラメータをキャリブレーションすることが可能になる。例えば、外部パラメータは、３Ｄ空間（例えば、傾斜、パン、およびロール）における各撮像素子の回転の角度（例えば、光軸角度）である。遠隔コンテンツは、同じ方向を向いているが、水平に変位された（ステレオ対）各２つの撮像素子の間のオプティカルフローを計算することによって検出することができる。遠隔コンテンツを含むフレームの対の視差は、顕著に、より低い視差を有するはずである。ホモグラフィは、例えばスケール不変特徴変換（ＳＩＦＴ）プロセスまたは頑健な特徴量の高速化（ＳＵＲＦ）プロセスを使用して、特徴点を照合することによって検出されうる。回転は、レーベンバーグ・マーカート法で求めうる。ヤコビ行列は、数値的に近似される。固有パラメータは、この段階では変更されない場合がある。キャリブレーションは、最初に、撮像素子ごとにチェスボードパターンの２０個のフレームを使用して実行されうる。任意選択で、キャリブレーションコーナーの高画素再投影誤差を有する不明瞭なフレームは、低画素再投影誤差を確実にするために取り除かれて、閾値よりも高い品質を有するフレームだけがキャリブレーションに使用されることを確実にする。上記のように、キャリブレーションは、チェッカーボードパターンアイテムのコーナーに対して行われる。任意選択で、上記ボードは、動いておらず、したがって、盤目が（０，０，０）から開始する世界座標系（Ｘ−Ｙ平面）の固定座標にとどまると仮定される。バンドル調整アルゴリズムが適用されうる。
【００６５】
任意選択で、以下の疑似コードは、固有パラメータを計算するためのフレームを反復的に収集する。
For rach frame: when a chessboard is detected in the frame:
[RMS, K, DistortionCoeffs, rotation_vectors_of_cameras, translation_vectors_of_ cameras]
= calibrate(board squares world-coordinates, board squares image coordinates in ALL image that were collected so far, fix the skew to 0)
if ( calibration succeeded ) AND ( RMS < 3pix OR this is a first frame to image a chessboard ) than update images collection with the current image
Finally, return the solution that comes out from all frames captured so far.
【００６６】
任意選択で、以下の疑似コードが、外部パラメータを計算するのに使用される。
開始
オリジナルの各歪んだ画像に対して
１．歪んだ特徴を求める。
２．各特徴（例えば、チェスボードのコーナー）に対して、（固有パラメータからの）歪み係数を使用して歪みのない位置が計算される。
３．すべての特徴を（歪みのない特徴点位置と）照合する。
４．ステップ３から受け取った照合によるバンドル調整を使用して外部指向を解く。
５．ステップ４に対する受け取った解決の二乗平均平方根（ＲＭＳ）を計算する（任意選択で、ＲＭＳが閾値より高いときにだけフレームが追加される）。
６．所望の「前方カメラ」回転行列がＩ３ｘ３となるように画像を回転させる。
終了
【００６７】
任意選択で、２〜５は、キャリブレーションプロセス中に計算された各撮像素子の固有パラメータを使用し、標準コンピュータビジョンルーチンを使用して実行される。
【００６８】
任意選択で、撮像素子が対を成して配置されるとき、各撮像素子は、別々にキャリブレーションされる。例えば、８つの撮像素子が使用されるとき、キャリブレーションプロセスは、４つの偶数（左）撮像素子に対して実行され、次いで、４つの奇数（右）撮像素子に対して実行される。０番目の撮像素子が、キャリブレーションのために人為的にかつ一時的に奇数の撮像素子に追加されうる。このようにして、両方の偶数および奇数の撮像素子は、共通の視野を有する。
【００６９】
次に図１をもう一度参照する。この図面は、環境の共通部分を示す重複領域を有するフレーム対が当該フレーム対をステッチするために処理されるプロセスを説明する。当該プロセスは、任意選択で、フレームの組を捕捉するのに使用される隣接する撮像素子によって捕捉されたフレーム対に対して反復的または同時のいずれかで繰り返される。フレームの組は、任意選択で、例えば上記の配置を使用して、例えば図２に示すシステムおよび任意選択で図３Ａに示す配置のいずれかを使用して、共通の中心の周りに取り付けられた複数の撮像素子によって、同時に、または、ほぼ同時に（例えば、小さな技術的時間ドリフトにより）捕捉されたフレームを含む。任意選択で、本方法は、図３Ｂに示す撮像デバイスなどの撮像デバイスを使用して連続して捕捉された複数のフレームの組をステッチして、複数のパノラマフレーム、任意選択で立体的なパノラマフレームにするのに使用される。これにより、写真で捕捉されたパノラマの生成および表示、ならびに複数の視野角で撮られたフレームによる物体の診断のために、複数の連続的パノラマフレームを有するＶＲファイルを生成することが可能になる。パノラマフレームまたは画像（同じ意味で言及される）は、任意選択で、中心領域を囲む環境を記録して視聴者の周りの環境を模倣し（内側で、外を見る）、場所の感覚および任意選択で時間に対する場所の変化を生じる、ＶＲパノラマフレームである。
【００７０】
各反復において、１０２に示すように、環境の共通部分を示す重複領域を有するフレーム対が、処理のために、同時に（本明細書では、ほぼ同時に、例えば、１秒未満の小さな時差で、という意味でも使用される）捕捉されるフレームの組から選択される。フレームの組は、例えば上記のように、例えば図２に示すシステムおよび／または図３Ａに示す配置を使用して、複数の撮像素子によって複数の視野角で捕捉されたフレームを有する。任意選択で、当該フレームは球体上に投影される。
【００７１】
次に、１０４に示すように、当該フレーム対のフレーム間の重複領域は、参照により本明細書に組み込まれている、同一発明者らの「ＳＴＩＴＣＨＩＮＧ  ＦＲＡＭＥＳ  ＩＮＴＯ  Ａ  ＰＡＮＯＲＡＭＩＣ  ＦＲＡＭＥ」という名称の同時提出出願（代理人参照番号６４９４０）に記載されているように識別される。さらなる処理のために、当該フレームを示す複数のフレームの１つのフレームの一部分が、任意選択でランダムに、選択される。
【００７２】
次に、１０５に示すように、重複領域に示される物体の境界に沿って当該重複領域を横断する不規則な線経路が、各フレーム対において識別される。任意選択で、この段階の間に、特徴点が、例えば、加速化断片試験（ＦＡＳＴ：accelerated segment test）またはその他適切な特徴検出プロセスなどのコーナー検出法を実行することによって、各重複領域において検出される。例えば、ＦＡＳＴプロセスを使用して識別された特徴点である、図４の付されたドットを参照。特徴点は、１つ以上の所定の特徴点特性（値または値の範囲）を有するあらゆる点、例えば、幾何学的形状および／またはサイズ、色、色相および／またはあらゆる特性強度でありうる。
【００７３】
任意選択で、１０６に示すように、重複領域に示される物体、例えば、重複領域における領域またはセグメントが、任意選択で重複領域における特徴点の位置に基づいて、検出される。物体は、特徴点の周りに領域を拡張する、分水嶺プロセス（Watershed process）などの領域拡張アルゴリズム（grow-region algorithm）を使用して検出されうる。
【００７４】
次に、１０８に示すように、重複領域に示される物体の境界が、例えば境界マーキングまたは識別プロセスを使用して、識別される。
【００７５】
これにより、１１０に示すように、境界に沿って選択された識別された境界に沿って重複領域を横断する不規則な線経路、例えば、重複領域を横断する最短の不規則な線経路、を識別することが可能になる。
【００７６】
任意選択で、不規則な線経路は、境界から構成されるグラフに付された頂点上の経路である。ここで、Ｇは、グラフＧ＝（Ｖ，Ｅ，ｗ）を示し、ここで、Ｖは、境界間の交点、例えば、コーナーを示す特徴点を示し、Ｅは、交点間のポリライン（polyline）を示し、ｅは、Ｅのエッジを示し、ｗ（ｅ）は、最も近い１０個の特徴に対するＡｖｇ＿Ｄの合計（特徴点、ポリライン）を示す。ここで、Ａｖｇ＿Ｄ（点、ポリライン）は、点の、ポリラインの複数の点からの平均距離を示す。
【００７７】
任意選択で、最上部の点および最低部の頂点は、不規則な線経路が通る頂点でなければならない。次いで、グラフは、セグメントまたは領域の境界に沿って重複領域を横断する最短の不規則な線経路を識別するために解析される。例えば、図４は、本発明のいくつかの実施形態に係る、複数の特徴点（ドット）、複数の物体の複数の境界（緑色の線）、およびその複数の境界の一部に沿った例示的な重複領域を横断する最短の不規則な経路、が付されたその例示的な重複領域である。図５は、本発明のいくつかの実施形態に係る、例示的な重複領域に示される物体の境界が付されたその例示的な重複領域を示す。
【００７８】
ステッチされたフレームの例が、複数の撮像素子によって複数の視野角で捕捉された例示的な４つのフレームの組である図６Ａと、図１に示す上記のプロセスに従ってステッチされたパノラマフレームの一部である図６Ｂおよび図６Ｃとに提供されている。フレームは、図２を参照して説明したように、システム２００を使用して取得される。
【００７９】
任意選択で、１１５に示すように、パノラマフレームを次から次へと提示したときにちらつきとなるコンテンツの急速な変化を回避するために、選択された不規則な経路の座標が、同じ撮像素子からのフレームに対して計算される、前に計算された不規則な経路と照合される。所定の閾値よりも高いシフトが検出された場合には、前に計算された不規則な経路の座標を現在の不規則な経路の座標の方にシフトさせることによって別の不規則な経路が計算される。
【００８０】
任意選択で、１１６に示すように、それぞれのフレームは、不規則な経路（継ぎ目として使用される）に沿ってステッチされる。１１８に示すように、プロセスは、パノラマフレームを生成するために、隣接する撮像素子を使用して捕捉された全てのフレーム対に対して繰り返される。１２０に示すように、生成されたパノラマフレームは、パノラマＶＲファイルを生成するために、前に生成されたパノラマフレームに追加される（適用できる場合）。例えば、参照により本明細書に組み込まれている、同一発明者らの「ＳＴＩＴＣＨＩＮＧ  ＦＲＡＭＥＳ  ＩＮＴＯ  Ａ  ＰＡＮＯＲＡＭＩＣ  ＦＲＡＭＥ」という名称の同時提出出願（代理人参照番号６４９４０）を参照。
【００８１】
本発明の様々な実施形態の説明を例示のために提示してきたが、包括的であること、または開示した実施形態に限定されることは意図されていない。説明した実施形態の範囲および精神から逸脱することなく多くの変更および変形が当業者には明らかであろう。本明細書に使用された専門用語は、実施形態の原理、市場で見出される技術に対する実際の適用もしくは技術的改善を最も良く説明するように、または本明細書に開示した実施形態を他の当業者が理解することが可能になるように選択されたものである。
【００８２】
本出願から開始する特許の寿命の間、多くの関連した撮像素子が開発され、フレームという用語の範囲が、すべてのそのような新たな先験的な技術を含むことが意図されていることが予測される。
【００８３】
本明細書で使用される際には、「約（about）」という用語は±１０％を表す。
【００８４】
「備える（comprises）」、「備える（comprising）」、「含む（includes）」、「含む（including）」、「有する（having）」という用語およびそれらの同根語は、「含むが、それ（それら）に限定されない」を意味する。この用語は、「からなる（consisting of）」および「本質的に、からなる（consisting essentially of）」という用語を包含する。
【００８５】
「本質的に、からなる（consisting essentially of）」という語句は、組成または方法が追加の成分および／またはステップを含むことができるが、ただし、追加の成分および／またはステップが、特許請求された組成または方法の基本的なおよび新規の特性を実質的に改変しない場合のみであることを意味する。
【００８６】
本明細書で使用される際には、「ａ」、「ａｎ」および「ｔｈｅ」という単数形は、別段文脈によって明確に示されていない限り、複数の参照を含む。例えば、「化合物（a compound）」または「少なくとも１つの化合物（at least one compound）」という用語は、その混合物を含めて複数の化合物を含むことができる。
【００８７】
「例示的な（exemplary）」という単語は、本明細書では「例、事例または例示として働くこと」を意味するのに使用される。「例示的な（exemplary）」として説明した任意の実施形態は、必ずしも他の実施形態よりも好ましいもしくは有利であると解釈されず、および／または他の実施形態からの特徴の組込みを除外しないものとする。
【００８８】
「任意選択で（optionally）」という単語は、本明細書では「いくつかの実施形態において提供され、他の実施形態において提供されない」を意味するのに使用される。本発明の任意の特定の実施形態は、複数の「任意選択の（optional）」特徴を含むことができるが、ただし、そのような特徴が矛盾しない場合に限る。
【００８９】
本出願全体を通して、本発明の様々な実施形態を範囲形式で提示することができる。範囲形式の説明は、単に便宜のためおよび簡潔にするためであり、本発明の範囲に対する融通の利かない限定と解釈すべきではないことを理解されたい。したがって、範囲の説明は、すべての可能な部分的な範囲およびその範囲内の個々の数値を具体的に開示したとみなすべきである。例えば、１から６までのなどの範囲の説明は、１から３までの、１から４までの、１から５までの、２から４までの、２から６までの、３から６までのなどの部分的な範囲、ならびにその範囲内の個々の数、例えば、１、２、３、４、５、および６を具体的に開示したとみなすべきである。これは、範囲の幅にかかわらず適用される。
【００９０】
数値範囲を本明細書において指示したときはいつでも、指示した範囲内の任意の引用した数値（分数または整数）を含むことが意図されている。第１の指示数と第２の指示数と「の間に及ぶ（ranging/ranges between）」および第１の指示数「から（from）」第２の指示数「までに及ぶ（ranging/ranges to）」という語句は、本明細書では互換可能に使用され、第１および第２の指示された数ならびにその間のすべての分数および整数を含むことが意図されている。
【００９１】
明確にするために、別々の実施形態の文脈で説明している、本発明のある特徴は、単一の実施形態における組合せで提供することもできることを理解されたい。反対に、簡潔にするために、単一の実施形態の文脈で説明している、本発明の様々な特徴は、別々に、または任意の適切な部分的な組合せで、または本発明の任意の他の説明した実施形態において適切であるとして提供することもできる。様々な実施形態の文脈で説明したある特徴は、それらの実施形態の必要不可欠な特徴とみなされないものとするが、ただし、実施形態がそれらの要素なしでも動作不能でない場合に限る。
【００９２】
本発明をその具体的な実施形態と併せて説明してきたが、多くの代替、変更、および変形が当業者には明らかであることは明白である。したがって、添付の特許請求の範囲の精神および広い範囲内に含まれるすべてのそのような代替、変更および変形を包含することが意図されている。
【００９３】
本明細書に記述したすべての刊行物、特許および特許出願は、各個々の刊行物、特許または特許出願が参照により本明細書に組み込まれるように具体的におよび個々に指示されたかのように同じ程度まで、参照によりそれらの全体が本明細書に組み込まれている。さらに、本出願における任意の参照の引用または識別は、そのような参照が本発明の先行技術として利用可能であるとの承認と解釈すべきではない。節の見出しが使用される限りでは、それらは必ずしも限定と解釈すべきではない。
【図１】
2019511024.tif 000003
【図２】
2019511024.tif 000004
【図３Ａ】
2019511024.tif 000005
【図３Ｂ】
2019511024.tif 000006
【図３Ｃ】
2019511024.tif 000007
【図３Ｄ】
2019511024.tif 000008
【図４】
2019511024.tif 000009
【図５】
2019511024.tif 000010
【図６Ａ】
2019511024.tif 000011
【図６Ｂ】
2019511024.tif 000012
【図６Ｃ】
2019511024.tif 000013
【国際調査報告】
2019511024.tif 000014