(57)【要約】  複数の視野角で捕捉されたフレームをステッチする方法であって、撮像素子によって捕捉されたフレームのセットを受け取ることと、隣接フレームのペアの各々において識別することとを備え、各隣接フレームは、互いに重複する視野を有する撮像素子によって他方とほぼ同時に捕捉される。各重複エリアについて、隣接フレームのペアそれぞれの中心を結ぶ中心連結軸が識別され、隣接フレームのペアの各フレームについて動き勾配が計算され、少なくとも１つの重複エリアにおける隣接フレームのペアの画素が中心連結軸に沿って動き勾配のうちの対応する値に基づいて適合され、適合された隣接フレームのペアは、共通中心を取り囲む環境を少なくとも部分的に画像化するパノラマフレームにステッチされる。【選択図】図３Ａ
2019511016.tif 000002
【特許請求の範囲】
【請求項１】
共通中心の周囲に取り付けられた複数の撮像素子によって複数の視野角で捕捉された複数のフレームを、前記共通中心を取り囲む環境を少なくとも部分的に画像化するパノラマフレームにステッチする方法であって、
共通中心領域を取り囲む環境を撮像するために、前記共通中心領域の周囲に取り付けられた複数の撮像素子によって複数の視野角で捕捉された複数のフレームのセットを受け取ることと、
前記複数のフレームにおける隣接フレームの複数のペアの各々において少なくとも１つの重複エリアを識別することであって、前記隣接フレームの各ペアは、前記複数の撮像素子のうちの重複する視野を有する２つの撮像素子によってほぼ同時に捕捉されたフレームを備えることと、
前記少なくとも１つの重複エリアの各々について、
前記隣接フレームの各ペアの中心を結ぶ中心連結軸を特定することと、
前記隣接フレームのペアの各フレームについて動き勾配を計算することであって、前記動き勾配の値は、それぞれの前記フレームの側縁に向かって増加することと、
前記少なくとも１つの重複エリアにおける前記隣接フレームのペアの画素を前記中心連結軸に沿って前記動き勾配のうちの対応する値に基づいて適合することと、
前記適合された隣接フレームのペアを、前記共通中心を取り囲む環境を少なくとも部分的に画像化するパノラマフレームにステッチすることと
を備える方法。
【請求項２】
前記パノラマフレームは左目用パノラマフレームであり、前記複数の撮像素子は、右目用パノラマフレームに組み合わされる複数の追加のフレームを捕捉する複数の追加の撮像素子と交錯しており、
立体フレームを作成するために、前記右目用パノラマフレームを前記左目用パノラマフレームと組み合わせることを更に備える、請求項１に記載の方法。
【請求項３】
前記複数の撮像素子のメンバおよび前記複数の追加のフレームは、前記共通中心を取り囲む仮想円に沿って交互に配置される、請求項２に記載の方法。
【請求項４】
前記パノラマフレームは右目用パノラマフレームであり、前記複数の撮像素子は、左目用パノラマフレームに組み合わされる複数の追加のフレームを捕捉する複数の追加の撮像素子と交錯しており、
立体フレームを作成するために、前記左目用パノラマフレームを前記右目用パノラマフレームと組み合わせることを更に備える、請求項１に記載の方法。
【請求項５】
前記複数の撮像素子は、前記共通中心を取り囲む仮想円に沿って配置され、前記複数の撮像素子の各々は、それらの光軸が、前記共通中心およびそれぞれの前記撮像素子の視野の起点の正接点を通る軸に対して傾斜するように取り付けられる、請求項１に記載の方法。
【請求項６】
前記パノラマフレームは、前記共通中心の周囲の前記環境を画像化する３６０度の球形パノラマフレームである、請求項１に記載の方法。
【請求項７】
前記パノラマフレームは、立体フレームを備える２つのフレームの１つとして用いられる、請求項６に記載の方法。
【請求項８】
前記方法は、複数の連続的に捕捉されたセットの各々の各フレームにおける前記少なくとも１つの重複エリアの各々を適合するために反復される、請求項１に記載の方法。
【請求項９】
前記複数のフレームの仮想表現の球体スケルトンへの投影を推定することを更に備える、請求項１に記載の方法。
【請求項１０】
前記少なくとも１つの重複エリアは、前記複数の撮像素子の少なくとも１つに関して定義された少なくとも１つの較正モデルによるパラメータを用いて識別される、請求項１に記載の方法。
【請求項１１】
前記少なくとも１つの較正モデルは、主点パラメータ、焦点距離パラメータ、および魚眼歪みパラメータから成るグループの少なくとも１つのメンバに従って、前記複数の撮像素子の各々について定義される、請求項１０に記載の方法。
【請求項１２】
前記少なくとも１つの較正モデルは、画素の座標を、前記撮像素子の各々の結像面の対称軸に従って定義された補正座標にマップする魚眼補正マトリクスおよび付帯的カメラ較正マトリクスを備える、請求項１０に記載の方法。
【請求項１３】
前記複数のフレームの各々において、前記少なくとも１つの重複エリアは、前記魚眼補正マトリクスに従って生成された結合マトリクスに基づいて計算され、前記付帯的カメラ較正マトリクスは連結マトリクスに組み合わされ、連結マトリクスは、各２つの連続フレームを各画素が３Ｄベクトルになるように球体に投影し、連結されたフル較正マトリクスに従って３Ｄベクトルを補正することによって、各２つの連続フレーム間で重複する前記少なくとも１つの重複エリアを計算するために用いられる、請求項１２に記載の方法。
【請求項１４】
前記複数の撮像素子の各々は、魚眼レンズを備えるカメラである、請求項１に記載の方法。
【請求項１５】
前記複数の撮像素子の各々は、カメラリグ較正を用いて較正される、請求項１に記載の方法。
【請求項１６】
前記適合することは、前記重複エリアに位置する画素を前記それぞれの軸に沿って前記側縁の方へシフトすることを備える、請求項１に記載の方法。
【請求項１７】
前記シフトの結果として形成された複数のブランク画素を補間によって補正することを更に備える、請求項１６に記載の方法。
【請求項１８】
共通中心の周囲に取り付けられた複数の撮像素子によって複数の視野角で捕捉された複数のフレームを、前記共通中心を取り囲む環境を少なくとも部分的に画像化するパノラマフレームにステッチするシステムであって、
共通中心領域を取り囲む環境を撮像するために、前記共通中心領域の周囲に取り付けられた複数の撮像素子によって複数の視野角でほぼ同時に捕捉された複数のフレームのセットを受け取るように適合されたインタフェースと、
コードを格納するように適合されたコードストアと、
前記複数のフレームにおける隣接フレームの複数のペアの各々において少なくとも１つの重複エリアを識別することであって、前記隣接フレームの各ペアは、前記複数の撮像素子のうちの重複する視野を有する２つの撮像素子によってほぼ同時に捕捉されたフレームを備えること、
前記少なくとも１つの重複エリアの各々について、
前記隣接フレームの各ペアの中心を結ぶ中心連結軸を識別すること、
前記隣接フレームのペアの各フレームについて動き勾配を計算することであって、前記動き勾配の値は、前記各フレームの側縁に向かって増加すること、
前記少なくとも１つの重複エリアにおける前記隣接フレームのペアの画素を前記中心連結軸に沿って前記動き勾配のうちの対応する値に基づいて適合すること、および
前記適合された隣接フレームのペアを、前記共通中心を取り囲む環境を少なくとも部分的に画像化するパノラマフレームにステッチすること
のために前記コードを実行するように適合されたプロセッサと
を備えるシステム。
【請求項１９】
前記複数の撮像素子は、仮想現実撮像デバイスの筐体の側面に取り付けられる、請求項１８に記載のシステム。
【請求項２０】
共通中心の周囲に取り付けられた複数の撮像素子によって複数の視野角で捕捉された複数のフレームを、前記共通中心を取り囲む環境を少なくとも部分的に画像化するパノラマフレームにステッチするためのソフトウェアプログラム製品であって、
非一時的コンピュータ可読記憶媒体と、
共通中心領域を取り囲む環境を撮像するために、前記共通中心領域の周囲に取り付けられた複数の撮像素子によって複数の視野角で捕捉された複数のフレームのセットを受け取るための第１のプログラム命令と、
前記複数の撮像素子のうちの重複する視野を有する２つの撮像素子によってほぼ同時に捕捉されたフレームを備える、前記複数のフレームにおける隣接フレームの複数のペアの各々において、少なくとも１つの重複エリアを識別するための第２のプログラム命令と、
前記少なくとも１つの重複エリアの各々について、
前記隣接フレームの各ペアの中心を結ぶ中心連結軸を識別すること、
前記隣接フレームのペアの各フレームについて動き勾配を計算することであって、前記動き勾配の値は前記各フレームの側縁に向かって増加すること、
前記少なくとも１つの重複エリアにおける前記隣接フレームのペアの画素を前記中心連結軸に沿って前記動き勾配のうちの対応する値に基づいて適合すること、および
前記適合された隣接フレームのペアを、前記共通中心を取り囲む環境を少なくとも部分的に画像化するパノラマフレームにステッチすること
を実行するための第３のプログラム命令と
を備え、前記第１、第２、および第３のプログラム命令は、前記非一時的コンピュータ可読記憶媒体から、少なくとも１つのコンピュータ化プロセッサによって実行される、ソフトウェアプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
［0001］  本発明は、いくつかの実施形態において画像処理に関し、限定ではないが特に、フレームのステッチングに関する。
【背景技術】
【０００２】
［0002］  仮想現実（ＶＲ）は、特別な種類の画像またはビデオコンテンツである。ＶＲは、その名称が示すように、ビデオおよびオーディオを含む記録コンテンツの没入感を視聴者に提供するために、現実に代替するように設計される。視聴者は、一般的にＶＲヘッドセット、ＶＲゴーグル、またはＶＲグラスと称される特別な種類のディスプレイグラスを使用する。ＶＲヘッドセットは、視聴者の自然の視野を効果的に遮断し、記録または生放送コンテンツと置き換える。
【０００３】
［0003］  ＶＲは自然の視野に代替するように設計されるので、ＶＲコンテンツは、平坦なスクリーンに提示されるように設計された通常のデジタルコンテンツとは異なる。ＶＲは、ステレオビジョンを提供しながら広い視野（ＦＯＶ）に提示されるように設計される。
【発明の概要】
【課題を解決するための手段】
【０００４】
［0004］  本発明のいくつかの実施形態によると、共通中心の周囲に取り付けられた複数の撮像素子によって複数の視野角で捕捉された複数のフレームを、共通中心を取り囲む環境を少なくとも部分的に画像化するパノラマフレームにステッチする方法が提供される。方法は、共通中心領域を取り囲む環境を撮像するために、共通中心領域の周囲に取り付けられた複数の撮像素子によって複数の視野角で捕捉された複数のフレームのセットを受け取ることと、複数のフレームにおける隣接フレームの複数のペアの各々において少なくとも１つの重複エリアを識別することであって、隣接フレームの各ペアは、複数の撮像素子のうちの重複する視野を有する２つの撮像素子によってほぼ同時に捕捉されたフレームを備えることと、少なくとも１つの重複エリアの各々について、各隣接フレームのペアの中心を結ぶ中心連結軸を特定することと、隣接フレームのペアの各フレームについて動き勾配を計算することであって、動き勾配の値は、各フレームの側縁に向かって増加することと、少なくとも１つの重複エリアにおける隣接フレームのペアの画素を中心連結軸に沿って動き勾配のうちの対応する値に基づいて適合することと、適合された隣接フレームのペアを、共通中心を取り囲む環境を少なくとも部分的に画像化するパノラマフレームにステッチすることとを備える。
【０００５】
［0005］  任意選択的に、パノラマフレームは左目用パノラマフレームであり、複数の撮像素子は、右目用パノラマフレームに組み合わされる複数の追加のフレームを捕捉する複数の追加の撮像素子と交錯する。方法は、立体フレームを作成するために、右目用パノラマフレームを左目用パノラマフレームと組み合わせることを更に備える。
【０００６】
［0006］  更に任意選択的に、複数の撮像素子のメンバおよび複数の追加のフレームは、共通中心を取り囲む仮想円に沿って交互に配置される。
【０００７】
［0007］  任意選択的に、パノラマフレームは右目用パノラマフレームであり、複数の撮像素子は、左目用パノラマフレームに組み合わされる複数の追加のフレームを捕捉する複数の追加の撮像素子と交錯する。方法は、立体フレームを作成するために、左目用パノラマフレームを右目用パノラマフレームと組み合わせることを更に備える。
【０００８】
［0008］  任意選択的に、複数の撮像素子は、共通中心を取り囲む仮想円に沿って配置され、複数の撮像素子の各々は、それらの光軸が、共通中心および各撮像素子の視野の起点の正接点を通る軸に対して傾斜するように取り付けられる。
【０００９】
［0009］  任意選択的に、パノラマフレームは、共通中心の周囲の環境を画像化する３６０度の球形パノラマフレームである。
【００１０】
［0010］  更に任意選択的に、パノラマフレームは、立体フレームを備える２つのフレームの１つとして用いられる。
【００１１】
［0011］  任意選択的に、方法は、複数の連続的に捕捉されたセットの各々の各フレームにおける少なくとも１つの重複エリアの各々を適合するために反復される。
【００１２】
［0012］  任意選択的に、複数のフレームの仮想表現の球体スケルトンへの投影を推定することを更に備える。
【００１３】
［0013］  任意選択的に、少なくとも１つの重複エリアは、複数の撮像素子の少なくとも１つに関して定義された少なくとも１つの較正モデルによるパラメータを用いて識別される。
【００１４】
［0014］  任意選択的に、少なくとも１つの較正モデルは、主点パラメータ、焦点距離パラメータ、および魚眼歪みパラメータから成るグループの少なくとも１つのメンバに従って、複数の撮像素子の各々について定義される。
【００１５】
［0015］  更に任意選択的に、少なくとも１つの較正モデルは、画素の座標を、各撮像素子の結像面の対称軸に従って定義された補正座標にマップする魚眼補正マトリクスおよび付帯的カメラ較正マトリクスを備える。
【００１６】
［0016］  更に任意選択的に、複数のフレームの各々において、少なくとも１つの重複エリアは、魚眼補正マトリクスに従って生成された結合マトリクスに基づいて計算され、付帯的カメラ較正マトリクスは、連結マトリクスに組み合わされ、連結マトリクスは、各２つの連続フレームを各画素が３Ｄベクトルになるように球体に投影し、連結されたフル較正マトリクスに従って３Ｄベクトルを補正することによって、各２つの連続フレーム間で重複する少なくとも１つの重複エリアを計算するために用いられる。
【００１７】
［0017］  任意選択的に、複数の撮像素子の各々は、魚眼レンズを備えるカメラである。
【００１８】
［0018］  任意選択的に、複数の撮像素子の各々は、カメラリグ較正を用いて較正される。
【００１９】
［0019］  任意選択的に、適合することは、重複エリアに位置する画素をそれぞれの軸に沿って側縁の方へシフトすることを備える。
【００２０】
［0020］  更に任意選択的に、方法は、シフトの結果として形成された複数のブランク画素を補間によって補正することを更に備える。
【００２１】
［0021］  本発明のいくつかの実施形態によると、共通中心の周囲に取り付けられた複数の撮像素子によって複数の視野角で捕捉された複数のフレームを、共通中心を取り囲む環境を少なくとも部分的に画像化するパノラマフレームにステッチするシステムが提供される。システムは、共通中心領域を取り囲む環境を撮像するために、共通中心領域の周囲に取り付けられた複数の撮像素子によって複数の視野角でほぼ同時に捕捉された複数のフレームのセットを受け取るように適合されたインタフェースと、コードを格納するように適合されたコードストアと、複数のフレームにおける隣接フレームの複数のペアの各々において少なくとも１つの重複エリアを識別することであって、隣接フレームの各ペアは、複数の撮像素子のうちの重複する視野を有する２つの撮像素子によってほぼ同時に捕捉されたフレームを備えること、少なくとも１つの重複エリアの各々について、隣接フレームの各ペアの中心を結ぶ中心連結軸を識別すること、隣接フレームのペアの各フレームについて動き勾配を計算することであって、動き勾配の値は、各フレームの側縁に向かって増加すること、少なくとも１つの重複エリアにおける隣接フレームのペアの画素を中心連結軸に沿って動き勾配のうちの対応する値に基づいて適合すること、および、適合された隣接フレームのペアを、共通中心を取り囲む環境を少なくとも部分的に画像化するパノラマフレームにステッチすることのためにコードを実行するように適合されたプロセッサとを備える。
【００２２】
［0022］  例外が明記されない限り、本明細書で用いられる全ての技術用語および／または科学用語は、本発明が関与する技術の当業者によって一般的に理解されるものと同じ意味を有する。本明細書で説明されるものと同様または同等の方法および材料が本発明の実施形態の実施または試験において用いられ得るが、典型的な方法および／または材料が以下で説明される。抵触する場合、定義を含む本特許明細書はこれを規制するものである。また、材料、方法、および例は例示的なものにすぎず、必ずしも限定的であることは意図されない。
【００２３】
［0023］  本発明のいくつかの実施形態は、本明細書において、添付図面を参照して単に例として説明される。ここでの図面への詳しい明確な言及により、図示された事項は本発明の実施形態を例示的に説明することを目的としており一例にすぎないことが強調される。この点に関して、図面を用いた説明は、本発明の実施形態が実施され得る方法を当業者に対し明らかにする。
【図面の簡単な説明】
【００２４】
【図１】［0024］本発明のいくつかの実施形態に係る、共通中心領域の周囲で複数の視野角で捕捉されたフレームをパノラマフレームにステッチングする方法のフローチャートである。
【図２】［0025］本発明のいくつかの実施形態に係る、複数の視野角で捕捉されたフレームをパノラマフレームにステッチするシステムの構成要素のブロック図である。
【図３Ａ】［0026］本発明のいくつかの実施形態に係る、本明細書で説明されるシステムおよび／または方法を用いてパノラマフレームにステッチされるフレームを複数の視野角で捕捉する撮像素子の典型的な配置の略図である。
【図３Ｂ】［0027］本発明のいくつかの実施形態に係る、本明細書で説明される方法を用いて、複数の視野角でフレームを捕捉し、捕捉したフレームをパノラマフレームにステッチするための撮像素子の配置を有する仮想現実（ＶＲ）撮像デバイスの略側面図である。
【図３Ｃ】［0028］本発明のいくつかの実施形態に係る、撮像素子の取付け点を通る仮想円の径に対して傾斜した光軸および傾斜していない光軸をそれぞれ有する撮像素子の視野間の重複の略図である。
【図３Ｄ】［0028］本発明のいくつかの実施形態に係る、撮像素子の取付け点を通る仮想円の径に対して傾斜した光軸および傾斜していない光軸をそれぞれ有する撮像素子の視野間の重複の略図である。
【図４】［0029］本発明のいくつかの実施形態に係る、推定重複エリア、およびステッチングのために適合されるフレームを取得した隣接撮像素子の２つの中心間に伸長する軸を描く略図である。
【図５Ａ】［0030］本発明のいくつかの実施形態に係る、複数の視野角で捕捉されたフレームの取得、フレームの適合、および作成されたパノラマフレームのプロセスを描く典型的な画像である。
【図５Ｂ】［0030］本発明のいくつかの実施形態に係る、複数の視野角で捕捉されたフレームの取得、フレームの適合、および作成されたパノラマフレームのプロセスを描く典型的な画像である。
【図５Ｃ】［0030］本発明のいくつかの実施形態に係る、複数の視野角で捕捉されたフレームの取得、フレームの適合、および作成されたパノラマフレームのプロセスを描く典型的な画像である。
【発明を実施するための形態】
【００２５】
［0031］  本発明は、いくつかの実施形態において画像処理に関し、限定ではないが特に、フレームのステッチングに関する。
【００２６】
［0032］  本発明のいくつかの実施形態の態様は、配置された複数の撮像素子（たとえばカメラ、画像センサ）によって複数の視野角で、任意選択的には共通中心領域の周囲で捕捉された（簡潔性のために本明細書において相互置換的に称される）画像またはフレームを、簡潔性のために本明細書において共通中心とも称される共通中心領域を取り巻く環境を描画するパノラマフレームまたはパノラマフレーム画像にステッチするためのシステムおよび／または方法（たとえば、コンピューティングデバイスのプロセッサによって実行されるコード）に関する。ステッチングは、ステッチングの継目の可視性を低減し、かつ捕捉された周囲環境により近い改善されたパノラマフレーム視聴体験をユーザにもたらすように実行される。
【００２７】
［0033］  本発明の実施形態によってステッチされるフレームは、アライメントおよびレジストレーションに関して事前（すなわちステッチ前に）処理されてよい。本明細書において隣接撮像素子とも称される、環境の共通部分を撮像する視野を有することによって捕捉された２つの連続するフレーム間の重複エリアが識別される。重複エリアは、必ずしも視野内の重複エリアの分析によって識別されるのではなく、外部方法を用いて推定されてもよい。
【００２８】
［0034］  任意選択的に、重複エリアは、仮想球体スケルトンモデルにフレームの視覚表現を投影することによって推定される。代替または追加として、重複エリアは、重複フレームを捕捉する撮像素子の一方または両方に関して定義された較正モデル（たとえば数学的モデル）に基づいて推定される。較正モデルは、主点パラメータ（複数も可）、焦点距離パラメータ（複数も可）、および／または魚眼歪みパラメータ（複数も可）に基づいて定義され得る。
【００２９】
［0035］  アライメントおよびレジストレーションの微細修正が重複エリア内で実行される。隣接撮像素子によって捕捉された隣接フレームのペアの中心を結ぶ軸が識別される。各連結軸は、それぞれの識別された重複エリアを通る。各重複エリアについて動き勾配が計算され、動き値は、重複エリアの各フレームの側縁に向かって（かつ、任意選択的に魚眼視野である視野の中心から離れるにつれ）増加する。動き勾配は任意選択的に、少なくとも重複エリアまたはその一部における画素のオプティカルフロー分析によって計算される。
【００３０】
［0036］  それぞれの重複エリアにおける各フレームの領域（複数も可）は、各軸に沿って動き勾配に従って適合され、適合フレームのセットが作成される。領域は、各フレームの側縁に向かって各軸に沿って画素をシフトすることによって適合されてよく、ここでシフト強度は、動き勾配に従って決定される（画素が縁部に近いほど、シフトは強い）。シフト中に形成されたブランク画素は、任意選択的に、たとえば隣接画素に基づいて値を補間することによって埋められてよい。適合されたフレームは、パノラマフレームにステッチされる。
【００３１】
［0037］  本明細書で説明されるシステムおよび／または方法は、複数の視野角で捕捉されたフレームを組み合わせることによってパノラマフレームが作成される場合、共通中心を取り囲む環境を描画するパノラマフレームにおける継目の可視性をどのように低減するかという技術的問題に対する技術的解決策を提供する。ステッチされるフレームは、ＶＲファイルのフレームであってよい。そのようなＶＲファイルは、仮想現実システム内で用いられ、たとえばＶＲビデオを視聴するためのＶＲヘッドセット内でユーザに提示され得る。互いにステッチするために取得されたフレームは、様々なパースペクティブおよび／または様々な焦点、露出、ホワイトバランスなどの特性を有する様々なカメラによって捕捉される。撮像素子に用いられるレンズ（たとえば広角および／または魚眼レンズ）は、フレームのステッチングに更なる難題をもたらす、たとえばバレル、ピンクッション、およびビネットなどの視覚的歪みを与え得る。継目の可視性を低減または除去するような方法で様々なカメラによって捕捉された、様々な特性および（たとえば固定または調節可能カメラの小さな動きによる）配向の変化を有するフレームのステッチングが副技術的問題となり得る。可視の継目は、ＶＲビデオが提供することができる自然な外観または現実感を低下させる。（たとえば各々がそれぞれ左目および右目で見るように設計された左右のパノラマフレームにおける）ステッチングの歪みおよび／または様々な乱れを低減または除去することは、視聴者の不快感および／または悪心の原因となる不調和な非水平視差を除去または低減することによってＶＲビデオを改善する。
【００３２】
［0038］  本明細書で説明されるシステムおよび／または方法は、数学的演算（たとえば、フレームの重複エリアの推定、動き勾配（複数も可）の計算、およびフレームステッチング）と、たとえば共通中心の周囲で複数の視野角において取得されたフレームをパノラマフレームにステッチすることによってデジタル画像を処理するプロセッサの能力とを結び付けるものである。
【００３３】
［0039］  本明細書で説明されるシステムおよび／または方法は、共通中心の周囲に取り付けられた撮像素子によって複数の視野角で取得されたフレームを処理することに関する。取得されたフレームをステッチすることによって、新たなデータがパノラマフレーム形式で作成される。パノラマフレームはメモリデバイスに格納され、任意選択的に、たとえばＶＴヘッドギアに表示されるなど、ユーザに向けて再生され得る。パノラマフレームは、複数の連続したパノラマフレームを含むビデオに組み込まれ得る。
【００３４】
［0040］  本明細書で説明されるシステムおよび／または方法は、たとえば、より少ないメモリの使用および／または改善されたデジタル画像の生成における計算時間の改善によって、コンピュータの性能を改善する。
【００３５】
［0041］  したがって、本明細書で説明されるシステムおよび／または方法は必然的に、デジタル画像処理において生じる実際の技術的問題を克服するためのコンピュータ技術に根差したものである。
【００３６】
［0042］  本発明の少なくとも１つの実施形態を詳細に説明する前に、本発明は、その応用において、以下の説明に記載され、および／または図面および／または例に示された構成要素および／または方法の構造および構成の細部に必ずしも限定されるものではないことを理解すべきである。本発明は、他の実施形態を受け入れる余地があり、あるいは様々な方法で実施または実行することができる。
【００３７】
［0043］  本発明は、システム、方法、および／またはコンピュータプログラム製品であってよい。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体（複数も可）を含んでよい。
【００３８】
［0044］  コンピュータ可読記憶媒体は、命令実行デバイスによって使用するための命令を保持および格納することができる有形デバイスであってよい。コンピュータ可読記憶媒体は、たとえば電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、またはそれらの任意の適切な組み合わせであってよいが、これに限定されない。コンピュータ可読記憶媒体のより具体的な例の非限定的リストは、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、消去可能プログラマブル読取専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ポータブルコンパクトディスク読取専用メモリ（ＣＤ‐ＲＯＭ）、デジタルバーサタイルディスク（ＤＶＤ）、メモリスティック、フロッピーディスク、およびそれらの任意の適切な組み合わせを含む。コンピュータ可読記憶媒体は、本明細書で用いられる場合、たとえばラジオ波または他の自由に伝搬する電磁波、導波管または他の伝送媒体（たとえば、光ファイバケーブルを通過する光パルス）を介して伝搬する電磁波、またはワイヤを介して送信される電気信号などのようにそれ自体が一時的な信号として解釈されるものではない。
【００３９】
［0045］  本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング／処理デバイスにダウンロードされ、あるいは、たとえばインターネット、ローカルエリアネットワーク、広域ネットワーク、および／または無線ネットワークなどのネットワークを介して外部コンピュータまたは外部記憶デバイスにダウンロードされ得る。ネットワークは、銅製伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイヤウォール、スイッチ、ゲートウェイコンピュータ、および／またはエッジサーバを備えてよい。各コンピューティング／処理デバイスにおけるネットワークアダプタカードまたはネットワークインタフェースは、ネットワークからのコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング／処理デバイス内のコンピュータ可読記憶媒体に格納するためにコンピュータ可読プログラム命令を転送する。
【００４０】
［0046］  本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、たとえばＳｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語およびたとえば「Ｃ」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む１または複数のプログラミング言語の任意の組み合わせで書かれたソースコードまたはオブジェクトコードのいずれかであってよい。コンピュータ可読プログラム命令は、全体がユーザのコンピュータで、一部がユーザのコンピュータで、スタンドアロンソフトウェアパッケージとして、一部がユーザのコンピュータおよび一部が遠隔コンピュータで、または全体が遠隔コンピュータまたはサーバで実行してよい。後者のシナリオにおいて、遠隔コンピュータは、ローカルエリアネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてよく、あるいは外部コンピュータとの接続が（たとえばインターネットサービスプロバイダを用いるインターネットを介して）なされてもよい。いくつかの実施形態において、たとえばプログラマブル論理回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、またはプログラマブル論理アレイ（ＰＬＡ）を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を用いて電子回路を個人化することによって、コンピュータ可読プログラム命令を実行してよい。
【００４１】
［0047］  本発明の態様は、本発明の実施形態に係る方法、装置（システム）、およびコンピュータプログラム製品のフローチャート図および／またはブロック図を参照して本明細書で説明される。フローチャート図および／またはブロック図の各ブロック、およびフローチャート図および／またはブロック図におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実装され得ることが理解される。
【００４２】
［0048］  これらのコンピュータ可読プログラム命令は、機械を製造するための汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに提供されてもよく、それによって、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行する命令は、フローチャートおよび／またはブロック図のブロックまたは複数のブロックに記載された機能／動作を実装するための手段を作成する。これらのコンピュータ可読プログラム命令は、コンピュータ、プログラマブルデータ処理装置、および／または他のデバイスに特定の方法で機能するように指示することができるコンピュータ可読記憶媒体に格納されてもよく、それによって、命令が格納されたコンピュータ可読記憶媒体は、フローチャートおよび／またはブロック図のブロックまたは複数のブロックに記載された機能／動作の態様を実装する命令を含む製品を備える。
【００４３】
［0049］  コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスにロードされてもよく、コンピュータ、他のプログラマブル装置、または他のデバイスで実行される一連の動作ステップに、コンピュータ実装プロセスを生成させ、それによって、コンピュータ、他のプログラマブル装置、または他のデバイスで実行する命令は、フローチャートおよび／またはブロック図のブロックまたは複数のブロックに記載された機能／動作を実装する。
【００４４】
［0050］  図面におけるフローチャートおよびブロック図は、本発明の様々な実施形態に係るシステム、方法、およびコンピュータプログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。この点に関して、フローチャートまたはブロック図における各ブロックは、記載された論理機能（複数も可）を実装するための１または複数の実行可能命令を備えるモジュール、セグメント、または命令の一部を表してよい。いくつかの代替の実装において、ブロックに記載された機能は、図内に記載された順序以外で生じてもよい。たとえば連続して示される２つのブロックは、実際はほぼ同時に実行されてもよく、またはブロックは場合によっては、含まれる機能に依存して逆の順序で実行されてもよい。ブロック図および／またはフローチャート図の各ブロック、およびブロック図および／またはフローチャート図におけるブロックの組み合わせは、特定の機能または動作を実行する、または専用ハードウェアおよびコンピュータ命令の組み合わせを実行する専用ハードウェアシステムによって実装され得ることにも留意する。
【００４５】
［0051］  ここで、本発明のいくつかの実施形態に係る、複数の視野角で捕捉されたフレームをパノラマフレームにステッチする方法のフローチャートである図１が参照される。方法は、結果として生じるパノラマフレームにおけるステッチングの継目の可視性を低減するために、動き勾配の値に従ってフレーム内の重複エリアを適合する。また、共通中心領域の周囲で各々が様々な角度に向けられた複数の撮像素子を用いて、共通中心領域を（少なくとも部分的に）取り囲む環境のパノラマフレームのシーケンスのビデオまたは個々のパノラマフレームをユーザが補足することを可能にするシステム２００の構成要素のブロック図である図２も参照される。ユーザは、たとえばＶＲヘッドセットの使用など、仮想現実セッティングにおける再生のためにビデオを記録し得る。請求項１の方法は、図２のシステム２００によって実装され得る。
【００４６】
［0052］  システム２００は、たとえば本明細書においてＶＲ撮像デバイスと称されるカスタム設計ユニットなど、撮像素子２１２とともに収容されたコンピューティングユニット２０２（たとえばＶＲ撮像デバイスの典型的な筐体である図３Ｂを参照）、または、たとえばパーソナルコンピュータ、サーバ、モバイルデバイス、装着型コンピュータ、または他の実装など、撮像素子２１２を含む筐体から独立したコンピューティングユニット２０２を含む。コンピューティングユニット２０２は、１または複数のプロセッサ（複数も可）２０４と、プロセッサ（複数も可）２０４によって実行するためのコード命令を格納するプログラムストア２０６とを含む。命令は任意選択的に、図１において説明される方法を実装するものである。
【００４７】
［0053］  プロセッサ（複数も可）２０４は、たとえば、処理ユニット（複数も可）（ＣＰＵ）、１または複数のグラフィック処理ユニット（ＧＰＵ）、フィールドプログラマブルゲートアレイ（複数も可）（ＦＰＧＡ）、デジタル信号プロセッサ（複数も可）（ＤＳＰ）、および特定用途向け集積回路（複数も可）（ＡＳＩＣ）であってよい。プロセッサ（複数も可）は、並列処理のために構成された複数のプロセッサ（同種または異種）をクラスタとして、および／または１または複数のマルチコア処理ユニットとして含む処理ユニットの一部であってよい。
【００４８】
［0054］  プログラムストア２０６は、たとえばランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、および／または、たとえば不揮発性メモリ、磁気媒体、半導体メモリデバイス、ハードドライブ、リムーバブルストレージ、および光媒体（たとえばＤＶＤ、ＣＤ‐ＲＯＭ）などのストレージデバイスなど、プロセッサ（複数も可）２０４によって実装可能なコード命令を格納する。
【００４９】
［0055］  コンピューティングユニット２０２は、たとえばメモリ、ストレージユニット、ハードドライブ、光ディスク、遠隔ストレージサーバ、および／または（たとえばネットワーク接続を介してアクセスされる）クラウドサーバといったデータリポジトリ２０８を含むか、またはそれらと通信状態にある。データリポジトリ２０８は、取得された生フレームを（たとえば生フレームリポジトリ２０８Ａに）格納し、本明細書で説明されるシステムおよび／または方法によって説明されるように適合されたフレームを（たとえば適合フレームリポジトリ２０８Ｂに）格納し、および／または作成されたパノラマフレームを（たとえばパノラマフレームリポジトリ２０８Ｃに）格納してよい。
【００５０】
［0056］  コンピューティングユニット２０２は、複数の撮像素子２１２（たとえばデジタルカメラ）の各々から取得されたフレームを受信するためのデータインタフェース２１０（たとえば物理、仮想、および／またはソフトウェアインタフェース）を含む。撮像素子２１２（たとえば赤、緑、青（ＲＧＢ）撮像素子）は、たとえば以下で詳述される図３Ａに参照されるように、共通中心領域の周囲に任意選択的に少なくとも１８０度、任意選択的に３６０度（水平および／または垂直に）、環境を描画するフレームのセットを取得するように配置される。
【００５１】
［0057］  任意選択的に、撮像素子２１２は、たとえばＶＴヘッドセットを用いて異なる目に提示され得る、左目または右目用のフレームを捕捉するようにペアになっている。そのような実施形態において、撮像素子は、左目グループおよび右目グループの２つのグループに分けられ得る。左目グループのメンバは偶数位置にあり、右目グループのメンバは奇数位置にあり（この位置は、共通中心領域を取り囲む円に順番に配置されるものとする）、またはその逆でもよい。そのような実施形態において、左目グループの撮像素子によって捕捉されたフレームは、左目パノラマ画像を形成するためにステッチされ、右目グループの撮像素子によって捕捉されたフレームは、右目パノラマ画像を形成するためにステッチされる。左目パノラマ画像および右目パノラマ画像の各々のステッチングは、たとえば後述するように別々に行われる（重複エリアはグループメンバによって捕捉されたフレーム間にある）。左目パノラマ画像および右目パノラマ画像は、立体パノラマ画像を作成するために組み合わされる。たとえば、図３Ａの構成３０４、３０６において、点線で示す長方形は左目グループのメンバであってよく、実線で示す長方形は右目グループのメンバである。
【００５２】
［0058］  代替または追加として、撮像素子２１２は、たとえば１８０度の劇場に投影されるなど、両目に同時に表示されるフレームを捕捉する。
【００５３】
［0059］  撮像素子２１２の各々は、たとえば魚眼レンズなど、広い視野を捕捉するように設計された広角レンズを有してよい。典型的な撮像素子２１２は、水平に約１２０度かつ垂直に約１７５度、または他の値を捕捉する超広角および／または頂角レンズを有するカメラである。
【００５４】
［0060］  撮像素子２１２の数は、設計された環境をカバーするように選択され（立体パノラマフレームが作成される実施形態においては２倍）、たとえば４つの撮像素子、または８つの撮像素子、１０の撮像素子、１６の撮像素子、および／または任意の中間の数またはより多い数の撮像素子など、カメラのレンズによって捕捉され得る視野に基づいてよい。
【００５５】
［0061］  ここで、本発明のいくつかの実施形態に係る、（たとえば図２に関して説明されたような撮像素子２１２に対応する）撮像素子３１２の配置に関する典型的な実装を示す図３Ａが参照される。撮像素子３１２は、共通中心３０２の周囲に取り付けられる。撮像素子３１２は、複数の視野角でフレームを取得するように配置される。フレームは、共通中心３０２を取り囲む環境を描画するパノラマフレームに（本明細書で説明されるシステムおよび／または方法を用いて）ステッチされる。
【００５６】
［0062］  配置３０４および３０６の各々は、共通中心３０２の周囲を３６０度カバーするように配置された８つの撮像素子３１２を含む。実装３０４は、正方形３０８（または長方形）状に配置された撮像素子３１２を示し、正方形３０８の各辺に、左目および右目のためのフレームを捕捉するためのペアであってよい２つの撮像素子３１２を含む。また図３Ｂも参照され、これは、４ペアの側面撮像素子１３１２を含むカスタム設計ユニットの切頭コーナーを有する典型的な四角筐体の側面図であり、各ペアは、典型的な四角筐体の別の切頭コーナーに位置する。配置３０６は、円３１０の周に沿って間隔を有する、円３１０（または楕円形）形状に配置された撮像素子３１２を含む。撮像素子３１２は、左目および右目のためのフレームを捕捉してよい。ただし、他の実装形状が用いられてもよい。
【００５７】
［0063］  本発明のいくつかの実施形態によると、撮像素子はペアに分けられ、各ペアが立体フレームを捕捉するように設計される。そのような実施形態において、立体フレームのペアにおける重複エリアが識別され、後述するようにパノラマ画像を作成するために用いられる。簡潔性のために、立体フレームは本明細書においてフレームと称され、立体フレームを捕捉するように設計された撮像素子のペアは本明細書において撮像素子と称される。たとえば、立体フレームを捕捉するための撮像素子のペアの配置を有するＶＲ撮像デバイスが用いられ、その場合、視野は図３Ｃに示すとおりである。任意選択的に、撮像素子のペアにおける各撮像素子の光軸は、撮像素子のペアの他方の撮像素子に向かって、たとえばその光軸に向かって傾く。任意選択的に、光軸の傾きは、たとえば図３Ｃおよび図３Ｄに示す円に参照されるように、全ての撮像素子の視野の起点全てを通る仮想円における各撮像素子の視野の起点の各正接点を通り、かつ共通中心を通る軸に関連する。任意選択的に、傾きは２０〜３０度であり、たとえば図３Ｃに示すように２２度である。撮像素子の傾きは、視野間の重複エリアを低減する。これは、各撮像素子がペアの撮像素子に向かって傾く撮像素子の配置を示す図３Ｃにおける撮像素子と、各撮像素子の光軸が全ての撮像素子の取付け点、たとえば撮像素子の光軸の起点を通る仮想円の径を延長するように位置合わせされた別の撮像素子の配置を示す図３Ｄとを比較すると分かる。図３Ｃと図３Ｄとを比較すると、撮像素子の視野の交差部分である暗いエリアは、上述したように撮像素子の光軸が傾いている場合により大きくなることが分かる。
【００５８】
［0064］  実装３０４および３０６は、ほぼ円盤形状を有してよく、撮像素子３１２は平面に沿って配置される。ただし、たとえば球状、半球状など、他の実装外形が用いられてもよい。
【００５９】
［0065］  追加の撮像素子３１２が表を上または下にするように位置付けられてよい（不図示）。
【００６０】
［0066］  コンピューティングユニット２０２および撮像素子３１２は、たとえば、家庭内で消費者によって用いられ得るスタンドアロンポータブルユニットとして、実装３０４および／または３０６に基づくケーシング内に収容されてよい。
【００６１】
［0067］  再び図２を参照すると、コンピューティングユニット２０２は、たとえばＷｉ‐Ｆｉ（登録商標）モジュールまたはブルートゥース（登録商標）モジュールなど、作成されたパノラマフレーム（たとえばビデオ）を格納および／または提示するための１または複数の外部デバイスと通信するための通信インタフェース２１４（たとえば物理、ソフトウェア、および／または仮想）を含む。典型的な外部デバイスは、パーソナルディスプレイデバイス２１６（たとえばＶＲヘッドセット）、今後の再生のためにビデオを格納するためのストレージデバイス２１８、およびネットワーク２２２を介して通信され得るサーバ２２０（たとえばウェブサーバ、ストレージサーバ、ビデオサーバ）を含む。ただし、記録されたビデオは、たとえば劇場、室内、または家庭で、たとえばプロジェクタ（不図示）によってパノラマスクリーンに投影されるなど、公に再生されてもよい。
【００６２】
［0068］  コンピューティングユニット２０２は、たとえばタッチスクリーン、キーボード、マウス、およびスピーカおよびマイクロフォンを用いる音声起動ソフトウェアなど、（コンピューティングユニット２０２を含む筐体内に統合され得る、ソフトウェアとしてクライアント端末に実装され得る、および／またはパノラマフレームを表示するディスプレイデバイスの一部として実装され得る）ユーザインタフェース２２４を含み、またはそれと通信状態にある。ユーザインタフェース２２４は、ユーザ入力に基づいてパノラマフレームの作成をカスタマイズするために（たとえばクライアント端末および／またはコンピューティングユニット２０２に格納された）コードにアクセスしてよい。
【００６３】
［0069］  本発明のいくつかの実施形態によると、撮像素子は、画像アライメントとともに視差歪みの低減のためにカメラ較正モデルを計算するために較正される。任意選択的に、カメラ較正モデルは、たとえば主点パラメータ（複数も可）、焦点距離パラメータ（複数も可）、および／または魚眼歪みパラメータ（複数も可）など各撮像素子に固有のパラメータに基づいて、および任意選択的に付帯的なパラメータ（複数も可）に基づいて計算される。たとえば付帯的パラメータは、魚眼歪みパラメータを含んでよい。
【００６４】
［0070］  使用中、パラメータは、ＶＲ撮像デバイスが回転する間、ＶＲ撮像デバイスの撮像素子を碁盤パターンの正面に載置し、フレームのシーケンス（複数も可）を捕捉することによって計算され得る。
【００６５】
［0071］  任意選択的にプロセッサ（複数も可）２０４を用いて実行されるカメラ較正モデルの計算中、碁盤タイルのパターンｎ×ｍのコーナーが、たとえばパターンの線形最小２乗ホモグラフィを発見することによって検出される。上記の撮像素子パラメータ、および碁盤のいくつかのビューの検出されたホモグラフィを生じる撮像素子の回転および変換を発見するために、ガウスニュートン法が適用され得る。ヤコビアン行列が計算され、平均２乗誤差法に基づいて品質判定基準が計算される。それによって、遠隔物体が撮影されたフレームへのバンドル調整によって相互回転、カメラ較正モデルの計算のためのそれぞれのリグの付帯的パラメータを較正することができる。たとえば、付帯的パラメータは、３Ｄ空間（たとえば、チルト、パン、およびロール）における各撮像素子の回転角度（たとえば光軸角度）である。水平に配置されることによって（ステレオペア）同じ方向を向いた各２つの撮像素子の間のオプティカルフローを計算することによって、遠隔コンテンツが検出され得る。遠隔コンテンツを含むフレームのペアの視差は、非常に低い視差でなければならない。たとえばスケール不変特徴変換（ＳＩＦＴ）プロセスまたは高速化ロバスト特徴（ＳＵＲＦ）プロセスを用いて、特徴点を合致させることによってホモグラフィが検出され得る。回転は、Ｌｅｖｅｎｅｒｇ‐Ｍａｃａｒｔ法によって発見され得る。ヤコビアン行列は、数値的に概算される。固有パラメータは、この段階では変更されなくてよい。較正は、最初に、撮像素子ごとの碁盤パターンの２０フレームを用いて実行され得る。任意選択的に、低い画素再投影誤差を保証するために、閾値を上回る品質を有するフレームのみが較正に用いられることを確実にするため、較正コーナーの高い画素再投影誤差を有する不鮮明なフレームは除去される。上述したように、較正は、碁盤パターンアイテムのコーナーで行われる。任意選択的に、盤は動かないものであり、（０，０，０）で始まる正方形を有する世界座標系（ＸＹ平面）における一定の座標を保つことが前提とされる。バンドル調整アルゴリズムが適用され得る。
【００６６】
［0072］  任意選択的に、以下の疑似コードは、固有パラメータを計算するために反復的にフレームを収集する。
【００６７】
［0073］  各フレームについて、フレーム内に碁盤が検出されると、
［ＲＭＳ，Ｋ，ＤｉｓｔｏｒｔｉｏｎＣｏｅｆｆｓ，ｒｏｔａｔｉｏｎ＿ｖｅｃｔｏｒｓ＿ｏｆ＿ｃａｍｅｒａｓ，ｔｒａｎｓｌａｔｉｏｎ＿ｖｅｃｔｏｒｓ＿ｏｆ＿ｃａｍｅｒａｓ］＝較正（これまで収集された全ての画像における碁盤目世界座標、碁盤目画像座標、スキューを０に固定）であり、（較正が成功した）かつ（ＲＭＳ＜３ｐｉｘまたはこれが碁盤を描く最初のフレームである）場合、現在の画像による画像収集を更新する。
【００６８】
［0074］  最後に、これまで捕捉された全てのフレームから導かれた解を戻す。
【００６９】
［0075］  任意選択的に、以下の疑似コードは、付帯的パラメータを計算するために用いられる。
開始
元の歪み画像ごとに、
１．歪んだ特徴を発見する。
２．各特徴（たとえば碁盤のコーナー）について、（固有パラメータからの）歪み係数を用いて歪みのない位置が計算される。
３．全ての特徴を（歪みのない特徴点位置と）合致させる。
４．ステップ３から受け取った合致にバンドル調整を用いて付帯的配向を解く。
５．ステップ４に対して受け取った解の２乗平均平方根（ＲＭＳ）を計算する（任意選択的に、ＲＭＳが閾値を上回る場合のみフレームが追加される）。
６．所望の「前方カメラ」回転マトリクスがＩ３ｘ３になるように撮像素子を回転させる。
終了
【００７０】
［0076］  任意選択的に、２〜５は、較正プロセス中に計算されたそれぞれの撮像素子の固有パラメータを用いて、標準的なコンピュータビジョンルーティンを用いて実行される。
【００７１】
［0077］  任意選択的に、撮像素子がペアで配置される場合、各撮像素子は別々に較正される。たとえば、８つの撮像素子が用いられる場合、較正プロセスは、４つの偶数（左側）撮像素子に実行され、その後、４つの奇数（右側）撮像素子に実行される。０番目の撮像素子は、較正のために疑似的かつ一時的に奇数撮像素子に追加されてよい。このように、偶数および奇数撮像素子の両方が共通視野を有する。
【００７２】
［0078］  ここで、図１が再び参照される。この図は、フレームのセットが連続的に受け取られる反復プロセスを説明する。フレームの各セットは任意選択的に、たとえば上述した配置を用いて、たとえば図２に示すシステム、および任意選択的に図３Ａに示す配置のいずれかを用いて、共通中心の周囲に取り付けられた複数の撮像素子によって同時に、または（たとえば技術上の小さな時間ドリフトを伴い）ほぼ同時に捕捉されたフレームを含む。それによって、写真で捕捉されたパノラマの作成およびビューイングおよび複数の視野角で撮像された画像を通した物体の探査のための複数の連続パノラマフレームを有するＶＲファイルを作成することができる。パノラマフレームまたは画像（相互置換的に言及される）は任意選択的に、中心エリアを取り囲む環境を記録して視聴者（内側で外を向いている）の周囲環境を模倣し、場所感覚および任意選択的に場所の経時的変化をもたらすＶＲパノラマフレームである。
【００７３】
［0079］  各反復において、１０２に示すように、フレームのセットは、たとえば上述したように、たとえば図２に示すようなシステムおよび／または図３Ａに示すような配置を用いて、複数の視野角において同時に（本明細書で用いられるこの用語は、たとえば１秒未満の小さい時間ずれを伴う場合など、ほぼ同時であることも表す）捕捉される。
【００７４】
［0080］  １０４に示すように、各フレームは前処理されてよい。
【００７５】
［0081］  １０６に示すように、推定重複エリアは、隣接撮像素子によって捕捉されたフレームのペアごとに識別される。たとえば、１〜８の撮像素子が円状に配置される場合、推定重複は、撮像素子１および２によって同時に捕捉されたフレームのペア、撮像素子１および２によって同時に捕捉されたフレームのペア、撮像素子２および３によって同時に捕捉されたフレームのペア、撮像素子３および４によって同時に捕捉されたフレームのペア、撮像素子４および５によって同時に捕捉されたフレームのペア、撮像素子５および６によって同時に捕捉されたフレームのペア、撮像素子６および７によって同時に捕捉されたフレームのペア、撮像素子７および８によって同時に捕捉されたフレームのペア、および撮像素子８および１によって同時に捕捉されたフレームのペアについて識別される。推定重複エリアは、他の撮像素子によって同時に捕捉された１または複数の他のフレームにおいて表される、たとえば上述した中心領域などの中心領域を取り囲む環境の一部を描画する。
【００７６】
［0082］  任意選択的に、重複エリアは、上述したカメラ較正モデルを用いて計算される。任意選択的に、隣接撮像素子（たとえば、他の任意の撮像素子よりも時計回り方向または反時計回り方向に近くに位置するＶＲ撮像デバイスの他の撮像素子とペアであるＶＲ撮像デバイスの撮像素子）を用いて捕捉されたフレームのペア間の重複エリアの縁部の座標は、以下のとおりである。
１．各撮像素子の（たとえば上述したように計算された）固有パラメータに基づいて魚眼補正マトリクス（たとえば、画素ごとの補正座標を指定するルックアップテーブル）を計算する。
２．フレームの画素（１または複数の画素が本明細書においてフレームの領域と称され得る）を、（たとえば上述したように計算された）付帯的パラメータに基づいて撮像素子（複数も可）のパン（ヨー）角、チルト（ピッチ）角、およびロール角に従って補正座標にマップする、付帯的カメラ較正マトリクスを計算する。
３．連結マトリクス（たとえばルックアップテーブル）の計算は、魚眼補正マトリクスと付帯的カメラ較正マトリクスとを組み合わせることによって計算される。連結較正マトリクスは、魚眼の補正および遠近の補正のために用いられ、任意選択的に、各画素の位置シフトを定義する。
４．各画素が光線（球径）および／または３Ｄベクトルを用いて中心領域に連結されるように、ペアになったフレームを球体に投影する。
５．結合較正マトリクスに従って光線および／または３Ｄベクトルを補正する。
６．補正された光線および／または３Ｄベクトルに基づいて重複エリアを識別する、ここで、ペアになったフレームの補正光線は、同様の値を有する（ほぼ「同じ方向を指す」）光線と比較され、重複エリアを定義する。
【００７７】
［0083］  １０８に示すように、シフト軸、たとえばフレームの各ペアの中心を通る直線が、重複エリアが計算された各ペアフレームの中心間で識別される。各中心の座標は任意選択的に、各フレームのＸ軸の中間部およびＹ軸の中間部にあるように計算される。
【００７８】
［0084］  ここで、１１０に示すように、それぞれのシフト軸に沿った各重複エリアに関して動き勾配が計算される。動き勾配は、計算されたグローバル動きおよび／または局所動きに基づいて画素（複数も可）値シフトに与えられた重みを定義することを可能にする。動き勾配の値は、重複エリアの側縁からの距離の関数として定義される。重複エリアの画素または画素のクラスタが重複エリアの側縁に近いほど、小さい動きを示す値が画素に割り当てられる。そのようにして、動き勾配の値に基づくシフト関数が画素（または重複エリアの端に近い画素のクラスタ）に適用されると、画素は、重複エリアの中心または重複エリアの中心のより近くに位置する他の画素（または他の画素のクラスタ）よりも小さくシフトされる。たとえば、最大シフト（たとえば重複エリアの中心から最も遠い位置にある画素）は、１／ｎとして定義されてよく、ここでｎは、任意選択的な値に反応するユーザ入力（たとえば１〜１００）に基づいて選択される。たとえば、１００フレームを作成するために１〜１００の間でｎが定義され、ユーザ（複数も可）はフレームの各々に投票し、所望のｎ値を選択することができる。
【００７９】
［0085］  ここで、１１２に示すように、フレーム内の重複エリアが、各々それぞれの動き勾配に基づいて処理される。たとえばここで、本発明のいくつかの実施形態に係る、推定された重複エリア４０２、およびステッチングのために適合される隣接フレーム４０８Ａ、４０８Ｂを取得した隣接撮像素子の２つの中心４０６間に伸長する軸４０４の略図である図４が参照される。図４において、重複エリア内に位置するフレーム１（左側の４０８Ａ）の画素は、たとえば以下のように、動き勾配を用いてシフトされる。
・重複エリアの左側境界線上に位置する最も左の画素はそのままである。
・たとえば値「ｎ」に従って、左端縁部から遠ざかるほど大きくシフトされるように、離れた画素がシフトされる。
【００８０】
［0086］  フレーム２（右側の４０８Ｂ）の画素は、重複エリアの端、この場合は右端からの距離との同様の依存関係を用いて反対方向へシフトされる。
【００８１】
［0087］  ここで、１１４に示すように、重複エリアが後処理される。任意選択的に、シフトすることによって形成された穴は、たとえば隣接画素の規則的補間に基づいて閉じられるなど、処理される。
【００８２】
［0088］  １１６において、適合フレームは、少なくとも部分的に共通中心を取り囲む環境を撮像するパノラマフレームにステッチされる。ステッチングは、適合された重複エリアに基づく。パノラマフレームは、共通中心の周囲の環境を撮像する球形パノラマフレームであってよい。ステッチングは任意選択的に、同発明人による、パノラマフレームを作成するプロセスにおけるフレームの適合ステッチングと題された同時出願において説明されたように実行される。
【００８３】
［0089］  １１８および１２０に示すように、ＶＲファイルを作成するための複数の連続的に捕捉されたフレームのセットの各々におけるフレームのペアの少なくとも１つの推定された重複エリアをそれぞれ適合するために１０２〜１１６が反復される。
【００８４】
［0090］  １２２に示すように、それによってＶＲファイルを出力することができる。
【００８５】
［0091］  ここで、典型的なフレーム撮像である図５Ａ〜図５Ｃが参照され、ここで、複数の視野角で撮像素子によって捕捉されたフレームのプロセスは、システム２００を用いる、図１に示す方法に従って、パノラマフレームを作成するためにステッチされる。
【００８６】
［0092］  図５Ａは、撮像素子２１２によって取得される典型的なフレームのセットである。４つの個々のフレームが、図３Ａの実装３０４に示すように配置された４つの異なる撮像素子２１２によって取得される。４つのフレームは、左目または右目のために用いられ（各対応する撮像素子のペアではない撮像素子の１セットによって捕捉され）てよい。図５Ｂは、図１のブロック１０４〜１１４に関して説明されたように、図５Ａに示す対応するフレームを適合することによって作成された適合フレームを示す。図５Ｃは、図１のブロック１１６に関して説明されたように、図５Ｂの適合フレームをステッチすることによって作成されたパノラマフレームを示す。
【００８７】
［0093］  本発明の様々な実施形態の説明は例示を目的として提示され、網羅的であること、または開示された実施形態に限定されることは意図されない。当業者には、説明された実施形態の範囲および主旨から逸脱することなく多数の変更例および変形例が明らかである。本明細書で用いられた用語は、実施形態の原理、実用化、または市場で見出される技術に対する技術的改善を最も良く説明するため、あるいは本明細書に開示された実施形態を当業者が理解することができるように選択されている。
【００８８】
［0094］  本出願に由来する特許権の有効期間中に多くの関連技術が開発されることが予想されるが、フレームという用語の範囲は、そのような新たな技術の全てを先験的に含むことが意図される。
【００８９】
［0095］  本明細書で用いられる場合、「約」という用語は±１０％を指す。
【００９０】
［0096］  「備える」、「備えている」、「含む」、「含んでいる」、「有する」という用語およびそれらの活用形は、「含むが限定されない」ことを意味する。この用語は、「〜から成る」および「主に〜から成る」という表現を包含する。
【００９１】
［0097］  「主に〜から成る」という表現は、構成物または方法が追加の成分および／またはステップを含んでよいが、追加の成分および／またはステップが特許請求された構成物または方法の基本的かつ新規特徴を実質的に変更するものではない場合を意味する。
【００９２】
［0098］  本明細書で用いられる場合、単数形の「ａ」、「ａｎ」、および「ｔｈｅ」は、文脈が明確に例外を示さない限り、複数形への言及を含む。たとえば、「化合物」または「少なくとも１つの化合物」という用語は、それらの混合物を含む複数の化合物を含んでよい。
【００９３】
［0099］  「典型的な」という用語は本明細書において、「例、実例、または例証となる」ことを意味するように用いられる。「典型的」として説明された任意の実施形態は、必ずしも他の実施形態よりも好適または有利であると解釈されず、および／または他の実施形態からの特徴を組み込むことを除外するものではない。
【００９４】
［0100］  「任意選択的に」という用語は本明細書において、「いくつかの実施形態には提供されるが他の実施形態には提供されない」ことを意味するように用いられる。本発明の任意の特定の実施形態は、それらが矛盾しない限り、複数の「任意選択的な」特徴を含んでよい。
【００９５】
［0101］  本出願を通して、本発明の様々な実施形態は、範囲形式で提示され得る。範囲形式での記載は単に利便性および簡潔性のためであり、本発明の範囲を変更不可能に限定するものとして解釈されてはならないことを理解すべきである。したがって、範囲の記載は、具体的に開示された全ての可能な部分範囲ならびに範囲内の個々の数値を有するものと考えるべきである。たとえば１〜６などの範囲の記載は、たとえば１〜３、１〜４、１〜５、２〜４、２〜６、３〜６などの具体的に開示された部分範囲ならびにたとえば１、２、３、４、５、および６など範囲内の個々の数を有するものと考えるべきである。これは、範囲の大きさにかかわらず適用される。
【００９６】
［0102］  本明細書において数的範囲が示される場合、それは、示された範囲内の任意の記載数値（分数または整数）を含むことを意味する。第１に示す数と第２に示す数との「間の領域／範囲」および第１に示す数「から」第２に示す数「までの領域／範囲」という表現は、本明細書において相互置換的に用いられ、示された第１および第２の数、およびそれらの間にある全ての分数および整数とを含むことを意味する。
【００９７】
［0103］  明確性のために別々の実施形態の文脈で説明された本発明の特定の特徴は、単一の実施形態に組み合わせて提供されてもよいことが理解される。逆に、簡潔性のために単一の実施形態の文脈で説明された本発明の様々な特徴は、別々に、または任意の適切な部分的組み合わせで、または本発明の他の任意の説明された実施形態に適したように提供されてもよい。様々な実施形態の文脈で説明された特定の特徴は、実施形態がそれらの要素なしでは動作不可能でない限り、それらの実施形態に不可欠な特徴として解釈されるものではない。
【００９８】
［0104］  本発明は、特定の実施形態に関連して説明されたが、多数の代替例、変更例、および変形例が当業者には明らかであることが明白である。したがって、そのような代替例、変更例、および変形例の全てを、特許請求の範囲の主旨および広い範囲に収まるように包含することが意図される。
【００９９】
［0105］  本明細書において言及された全ての出版物、特許文献、および特許出願書類は、個々の出版物、特許文献、または特許出願書類が参照によって本明細書に組み込まれるように明示的かつ個々に示された場合と同じ範囲まで、参照によってその全体が本明細書に組み込まれるものである。また、本出願における任意の参照文献の引用または識別は、そのような参照文献が本発明に対する従来技術として利用可能であることを認めるものとして解釈されるものではない。セクションの見出しが用いられるという点で、それらは必ずしも限定的なものとして解釈されてはならない。  
【図１】
2019511016.tif 000003
【図２】
2019511016.tif 000004
【図３Ａ】
2019511016.tif 000005
【図３Ｂ】
2019511016.tif 000006
【図３Ｃ】
2019511016.tif 000007
【図３Ｄ】
2019511016.tif 000008
【図４】
2019511016.tif 000009
【図５Ａ】
2019511016.tif 000010
【図５Ｂ】
2019511016.tif 000011
【図５Ｃ】
2019511016.tif 000012
【国際調査報告】
2019511016.tif 000013