特許第6351870号(P6351870)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

<>
  • 特許6351870-モバイル装置の全方向立体撮影 図000002
  • 特許6351870-モバイル装置の全方向立体撮影 図000003
  • 特許6351870-モバイル装置の全方向立体撮影 図000004
  • 特許6351870-モバイル装置の全方向立体撮影 図000005
  • 特許6351870-モバイル装置の全方向立体撮影 図000006
  • 特許6351870-モバイル装置の全方向立体撮影 図000007
  • 特許6351870-モバイル装置の全方向立体撮影 図000008
  • 特許6351870-モバイル装置の全方向立体撮影 図000009
  • 特許6351870-モバイル装置の全方向立体撮影 図000010
  • 特許6351870-モバイル装置の全方向立体撮影 図000011
  • 特許6351870-モバイル装置の全方向立体撮影 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6351870
(24)【登録日】2018年6月15日
(45)【発行日】2018年7月4日
(54)【発明の名称】モバイル装置の全方向立体撮影
(51)【国際特許分類】
   H04N 5/232 20060101AFI20180625BHJP
   G06T 3/00 20060101ALI20180625BHJP
   H04N 13/106 20180101ALI20180625BHJP
   G03B 37/00 20060101ALI20180625BHJP
【FI】
   H04N5/232 380
   G06T3/00 780
   H04N13/106
   G03B37/00
【請求項の数】16
【全頁数】28
(21)【出願番号】特願2017-549605(P2017-549605)
(86)(22)【出願日】2016年5月26日
(86)【国際出願番号】US2016034317
(87)【国際公開番号】WO2016191554
(87)【国際公開日】20161201
【審査請求日】2017年11月2日
(31)【優先権主張番号】14/721,612
(32)【優先日】2015年5月26日
(33)【優先権主張国】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】アンダーソン,ロバート
(72)【発明者】
【氏名】ザイツ,スティーブン・マックスウェル
(72)【発明者】
【氏名】エステバン,カルロス・ヘルナンデス
【審査官】 ▲徳▼田 賢二
(56)【参考文献】
【文献】 国際公開第2013/069050(WO,A1)
【文献】 特開2012−68380(JP,A)
【文献】 特開2013−30874(JP,A)
【文献】 特開2000−32379(JP,A)
【文献】 特開2011−76249(JP,A)
【文献】 特開2001−94857(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/232
G03B 37/00
G06T 3/00
H04N 13/106
(57)【特許請求の範囲】
【請求項1】
コンピュータによって実施される方法であって、
モバイル装置を用いて撮影した画像をコンピューティング装置に取得するステップを含み、前記画像は、円形経路上の複数の点から取得されたコンテンツを含み、
前記コンピューティング装置を用いて、3D空間においてシーンをレンダリングするための1つ以上の前記画像を調整するステップを含み、
前記調整するステップは、
少なくとも2つの画像の間の少なくとも1つの重複部分を判定したことに応答して、前記重複部分は、前記少なくとも2つの画像内の画素間の一致部分を含み、前記重複部分に含まれた画素の一部を選択し、画素の各部分を垂直に整列させ、前記各部分を結合することによって、前記シーンの3Dセグメントを生成するステップと、
前記少なくとも2つの画像の間に重複部分が存在していないと判定したことに応答して、前記少なくとも2つの画像から複数の画素をサンプリングすることによって、前記少なくとも2つの画像の間に入れる追加の画像コンテンツを生成し、前記追加の画像コンテンツを結合することによって、前記シーンの3Dセグメントを生成するステップとを含み、前記方法は、
ヘッドマウントディスプレイにおいて、少なくとも1つの前記3Dセグメントを前記シーンの一部としてレンダリングするステップをさらに含む、方法。
【請求項2】
前記円形経路は、約10cm〜約75cmの直径を有する可変経路を含む、請求項に記載の方法。
【請求項3】
3D空間においてシーンをレンダリングするための1つ以上の前記画像を調整する前記ステップは、撮影時に発生した横方向ロール移動、撮影時に発生したカメラの非共形円弧移動、および撮影時に発生した一貫性のない半径測定を補正することをさらに含む、請求項1または請求項2に記載の方法。
【請求項4】
前記追加の画像コンテンツを結合するステップは、前記画像の乱れを除去するために、2つ以上の画像から複数の画素をブレンドすることを含む、請求項1〜請求項3のいずれか1項に記載の方法。
【請求項5】
前記乱れは、撮影姿勢に少なくとも部分的に関連する整列不良を含む、請求項に記載の方法。
【請求項6】
モバイル装置を用いて撮影した前記画像は、前記シーンの複数の連続する画像フレームを含む、請求項1〜請求項5のいずれか1項に記載の方法。
【請求項7】
システムであって、
少なくとも1つのプロセッサと、
命令を記憶するメモリとを備え、これらの命令は、前記少なくとも1つのプロセッサによって実行されると、前記システムに以下の動作を実行させ、すなわち、
モバイル装置を用いて撮影した画像を取得する動作を実行させ、前記画像は、円形経路上の複数の点から取得されたコンテンツを含み、
3D空間においてシーンをレンダリングするための1つ以上の前記画像を調整する動作を実行させ、
前記調整する動作は、
少なくとも2つの画像の間の少なくとも1つの重複部分を判定したことに応答して、前記重複部分は、前記少なくとも2つの画像内の画素間の一致部分を含み、前記各重複部分に含まれた画素の一部を選択し、画素の各部分を垂直に整列させ、前記各部分を結合することによって、前記シーンの3Dセグメントを生成する動作と、
前記少なくとも2つの画像の間に重複部分が存在していないと判定したことに応答して、前記少なくとも2つの画像から複数の画素をサンプリングすることによって、前記少なくとも2つの画像の間に入れる追加の画像コンテンツを生成し、前記追加の画像コンテンツを結合することによって、前記シーンの3Dセグメントを生成する動作とを含み、
前記少なくとも1つのプロセッサは、前記システムに、
ヘッドマウントディスプレイにおいて、少なくとも1つの前記3Dセグメントを前記シーンの一部としてレンダリングする動作を実行させる、
システム。
【請求項8】
前記円形経路は、約10cm〜約75cmの直径を有する可変経路を含む、請求項7に記載のシステム。
【請求項9】
3D空間においてシーンをレンダリングするための1つ以上の前記画像を調整する前記動作は、撮影時に発生した横方向ロール移動、撮影時に発生したカメラの非共形円弧移動、および撮影時に発生した一貫性のない半径測定を補正することによって、3D空間において前記シーンをレンダリングするための画像を調整する動作をさらに含む、請求項7または請求項8に記載のシステム。
【請求項10】
前記追加の画像コンテンツを結合する動作は、前記画像の乱れを除去するために、2つ以上の画像から複数の画素をブレンドすることを含む、請求項7〜請求項9のいずれか1項に記載のシステム。
【請求項11】
前記乱れは、撮影姿勢に少なくとも部分的に関連する整列不良を含む、請求項10に記載のシステム。
【請求項12】
前記画像は、前記シーンの複数の連続する画像フレームを含む、請求項7〜請求項11のいずれか1項に記載のシステム。
【請求項13】
前記少なくとも2つの画像内の画素間の一致部分は、前記少なくとも2つの画像の第1画像内の少なくとも1列の画素を前記少なくとも2つの画像の第2画像内の複数列の画素と比較することによって見出した少なくとも1列の整合画素を含む、請求項1〜請求項6のいずれか1項に記載の方法。
【請求項14】
前記少なくとも2つの画像内の画素間の一致部分は、前記少なくとも2つの画像の第1画像内の少なくとも1列の画素を前記少なくとも2つの画像の第2画像内の複数列の画素と比較することによって見出した少なくとも1列の整合画素を含む、請求項7〜請求項12のいずれか1項に記載のシステム。
【請求項15】
非一時的なコンピュータ可読媒体上に有形的に具体化され、命令を含むコンピュータプログラム製品であって、これらの命令は、実行されると、少なくとも1つのプロセッサに、請求項1〜請求項6および請求項13のいずれか1項に記載の方法を実行させる、コンピュータプログラム製品。
【請求項16】
少なくとも1つのプロセッサに請求項1〜請求項6および請求項13のいずれか1項に記載の方法を実行させる命令を含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願との相互参照
本願は、2015年5月26日に出願され、「Omnistereo Capture For Mobile Devices」と題された米国特許出願第14/721612号の優先権および利益を主張するものであり、その開示が引用により本明細書に援用される。
【0002】
技術分野
本願は、一般に、全方向立体パノラマの生成に関する。具体的には、本願は、モバイル装置を用いて撮影した画像から、全方向立体パノラマを生成することに関する。
【背景技術】
【0003】
背景
画像およびビデオに対してパノラマ撮影技術を行うことによって、広い視界で撮影シーンを形成することができる。従来、パノラマ撮影技術および画像化技術を使用して、従来のカメラで撮影したいくつかの隣接する写真から、パノラマ画像を形成することができる。これらの写真を一列にマウントすることによって、完全なパノラマ画像を形成することができる。
【発明の概要】
【課題を解決するための手段】
【0004】
概要
1つ以上のコンピュータからなるシステムに、作動されると、システムに動作を実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせがインストールされているため、このようなシステムは、特定の操作または動作を実行するように構成することができる。1つ以上のコンピュータプログラムは、実行されたと、データ処理装置に動作を実行させる命令を含むため、特定の操作または動作を実行するように構成することができる。
【0005】
1つの一般的な態様において、コンピュータ実装の方法は、撮影シーンの複数の画像を撮影するための指示をモバイル装置に受信するステップと、モバイル装置に備えられたカメラを用いて、複数の画像を撮影するステップと、複数の画像の撮影中に複数の画像の表現をモバイル装置の画面に表示し、複数の画像の撮影中にターゲット撮影経路とモバイル装置に関連するソース撮影経路に対応する整列情報を提供する標識とを含む合成画像を画面に提示するステップと、撮影中に、ソース撮影経路の一部がターゲット撮影経路の一部に一致していないことを検出することに応答して、更新された標識を画面に提供するステップとを含む。一致は、少なくとも部分的に閾値条件に基づいている。更新された標識は、ソース撮影経路をターゲット撮影経路に合わせるように、モバイル装置のユーザにモバイル装置を調整させるためのプロンプトを含むことができる。
【0006】
実現例は、単独で以下の特徴のうち1つ以上を含むことができ、または以下の特徴のうちの1つ以上を1つ以上の他の特徴と合わせて含むことができる。例えば、ソース撮影経路は、撮影シーンの複数の画像を撮影するために、モバイル装置の横移動による掃引動作であってもよく、ソース撮影経路は、モバイル装置の向きおよび位置角に関連してもよい。また、ターゲット撮影経路は、円形経路であってもよく、複数の画像を撮影するステップは、モバイル装置が約10cm〜約75cmの直径を有するターゲット撮影経路を横移動するように、モバイル装置を整列させることによって、モバイル装置を用いて画像コンテンツを記録することに対応してもよい。いくつかの実現例において、整列情報は、モバイル装置の向きおよび位置角に関連する移動に対応するジャイロ測定値のグラフ表現を含むことができる。モバイル装置の位置角は、基面およびソース撮影経路に関連する平面に対する方位角を形成する半透明画像内の図形として表されてもよく、半透明画像は、合成画像に結合されてもよい。いくつかの実現例において、モバイル装置の位置角は、モバイル装置上のカメラレンズの前面と直交する平面から回転された角度の測定値と、モバイル装置上のカメラレンズの前面と平行する平面から回転された角度の測定値とを含む。
【0007】
上述した実現例のいずれか1つまたは全てにおいて、方法は、撮影中に、より遅い速度で画像を撮影するための指示を画面で受け取ることを含むことができる。上述した実現例のいずれか1つまたは全てにおいて、この方法は、撮影シーン内の追加の画像コンテンツを撮影するための更新された位置角を用いて撮影シーンの追加の画像撮影を実行するための指示を画面で受け取るステップをさらに含むこともできる。いくつかの実現例において、画面内の指示は、追加の画像撮影を実行している間に、モバイル装置を更新された位置角に維持することをモバイル装置のユーザに指示する。追加の画像撮影は、モバイル装置のカメラレンズを撮影シーンに関連する基面と直交するときに、実行され手もよい。更新された位置角は、(i)カメラレンズに対して約40°の後方傾斜、または(ii)カメラレンズに対して約40°の前方傾斜を含む。
【0008】
上述した実現例のいずれか1つまたは全てにおいて、方法は、モバイル装置を用いて撮影した画像をコンピューティング装置に取得するステップを含み、画像は、円形経路上の複数の点から取得されたコンテンツを含み、コンピューティング装置を用いて、3D空間においてレンダリングするための画像を調整するステップを含むことができる。調整するステップは、少なくとも2つの画像の間の少なくとも1つの重複部分を判定するステップを含み、重複部分は、少なくとも2つの画像内の画素間の一致部分を含み、重複部分に含まれた画素の一部を選択するステップと、画素の各部分を垂直に整列させ、各部分を結合することによって、撮影シーンの3Dセグメントを生成するステップと、少なくとも2つの画像の間に重複部分が存在していないと判定したことに応答して、少なくとも2つの画像から複数の画素をサンプリングすることによって、少なくとも2つの画像の間に入れる追加の画像コンテンツを生成し、追加の画像コンテンツを3Dセグメントに結合するステップとを含むことができる。上述した実現例のいずれか1つまたは全てにおいて、方法は、ヘッドマウントディスプレイにおいて、3Dセグメントを撮影シーンの一部としてレンダリングするステップをさらに含むことができる。
【0009】
上述した実現例のいずれか1つまたは全てにおいて、円形経路は、約10cm〜約75cmの直径を有する可変経路を含むことができる。上述した実現例のいずれか1つまたは全てにおいて、この方法は、撮影時に発生した横方向ロール移動、撮影時に発生したカメラの非共形円弧移動、および撮影時に発生した一貫性のない半径測定を補正することによって、3D空間にレンダリングするための画像を調整するステップをさらに含むことができる。
【0010】
上述した実現例のいずれか1つまたは全てにおいて、方法は、画像の乱れを除去するために2つ以上の画像からの複数の画素をブレンドすることによって、画像コンテンツを結合するステップを含むことができる。乱れは、撮影姿勢に少なくとも部分的に関連する整列不良を含むことができる。上述した実現例のいずれか1つまたは全てにおいて、画像は、撮影シーンの複数の連続の画像フレームを含むことができる。
【0011】
別の一般的な態様において、システムは、少なくとも1つのプロセッサと、命令を記憶するメモリとを備えることができる。これらの命令は、少なくとも1つのプロセッサによって実行されると、システムに以下の動作、すなわち、撮影中にモバイル装置の画面に表示されるコンテンツを撮影する動作と、撮影中にモバイル装置の画面に絵入りグラフィックを表示する動作とを実行させ、グラフィックは、ターゲット撮影経路とモバイル装置の移動に関連するソース撮影経路に対応する整列情報を提供する標識とを提供するように構成され、画像撮影中に、モバイル装置の移動に関連するソース撮影経路がターゲット撮影経路と異なることを検出することに応答して、画面に更新された標識を提供する動作を実行させ、更新された標識は、ソース撮影経路をターゲット撮影経路に合わせるように、モバイル装置のユーザにモバイル装置を調整させるためのプロンプトを含む。
【0012】
上述した実現例のいずれか1つまたは全てにおいて、システムは、モバイル装置の移動を検出したことに応答して、リアルタイムで動的に更新する絵入りグラフィックを含むことができる。上述した実現例のいずれか1つまたは全てにおいて、絵入りグラフィックは、ターゲット撮影経路を示す第1部分と、モバイル装置の移動に関連するソース撮影経路を示す第2部分とを含み、第1部分および第2部分は、第2部分を第1部分に合わせるコースを示す。上述した実現例のいずれか1つまたは全てにおいて、第1部分は、円を示し、第2部分は、円からの偏差を示す。
【0013】
上述した実現例のいずれか1つまたは全てにおいて、整列情報は、モバイル装置の位置角に沿った移動に対応するジャイロ測定値の絵入りグラフィックを含む。上述した実現例のいずれか1つまたは全てにおいて、絵入りグラフィックは、モバイル装置の移動に関連するソース撮影経路をターゲット撮影経路に合わせるためのコースを提供する少なくとも1つの標識を含む。
【0014】
この態様の他の実施形態は、各々が方法の動作を実行するように構成された対応のコンピュータシステム、コンピュータ装置、および1つ以上のコンピュータ記憶装置に記録されたコンピュータプログラムを含む。
【0015】
1つ以上の実現例の詳細は、添付の図面および以下の説明に記載されている。他の特徴は、説明および図面ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0016】
図1】3Dバーチャルリアリティ(VR)環境において立体画像を取得してレンダリングするための例示的なシステムを示すブロック図である。
図2】パノラマビューを撮影するモバイル装置の一例を示す図である。
図3】視界内の撮影シーンの画像を撮影するモバイル装置の一例を示す図である。
図4】モバイル装置を用いて画像を撮影する例示的な経路を示す図である。
図5】モバイル装置を用いて画像を撮影する例を示す図である。
図6】画像撮影中のモバイル装置の一例を示す図である。
図7】画像撮影中のモバイル装置の別の例を示す図である。
図8】画像撮影中のモバイル装置のさらに別の例を示す図である。
図9】画像を撮影するプロセスの一実施形態を示すフローチャートである。
図10】画像をレンダリングするプロセスの一実施形態を示すフローチャートである。
図11】本明細書に記載の技術を実施するために使用できるコンピュータ装置およびモバイルコンピュータ装置の例を示す図である。
【発明を実施するための形態】
【0017】
詳細な説明
様々な図面において、同様の参照符号は、同様の要素を示す。
【0018】
以下の開示は、モバイル装置上で全方向立体パノラマの取得および生成に使用することができるいくつかの技術を記載する。モバイル装置は、画像コンテンツを撮影することに関する指示、通知、または他の通信を受信することができる。例えば、モバイル装置上で動作するアプリケーションは、撮影中に、装置の向きが斜めになっているまたはコンテンツを取得していないことをユーザに通知することができる。これに応答して、ユーザは、モバイル装置の向きを変更することによって撮影を修正することができる。特定の撮影が完了すると、本開示に記載のアルゴリズムは、モバイル装置からの撮影コンテンツを使用して、3D全方向立体画像を形成することができる。
【0019】
図1は、3Dバーチャルリアリティ(VR)環境における立体画像を取得してレンダリングするための例示的なシステム100を示すブロック図である。例示的なシステム100において、モバイル装置102を用いて画像および/またはビデオを撮影し、解析および処理のために、ネットワーク104を介してこれらの画像またはビデオを画像処理システム106に提供することができ、またはこれらの画像またはビデオを直接に画像処理システム106に提供することができる。システム100のいくつかの実現例において、画像処理システム106は、モバイル装置102の一部として設けられる。他の実現例において、画像処理システム106のいくつかの部分は、モバイル装置102上に設けられ、画像処理システム106の他の部分は、別のコンピューティングシステムに設けられる。
【0020】
モバイル装置102は、携帯電話、電子タブレット、ラップトップ、カメラ、または画像データを取得するために使用できる他の電子装置であってもよい。いくつかの実現例において、モバイル装置102は、静止画像を撮影するように構成することができる。いくつかの実現例において、モバイル装置102は、ビデオを撮影し、撮影したコンテンツを個々のフレームまたはビデオ(例えば、.aviファイル)として格納するように構成することができる。格納された画像は、インターネット、別のサーバまたは装置にアップロードされてもよく、モバイル装置102にローカルに格納されてもよい。いくつかの実現例において、入来画像は、エンコードされた画像またはビデオとして格納されてもよい。一般に、本開示の全体に記載された画像は、撮影シーンの複数の連続の画像フレームまたは不連続の画像フレームを含むことができる。いくつかの実現例において、本開示の全体に記載された画像は、連続の画像セットおよび不連続の画像セットの両方を含むことができる。画像は、2次元または3次元で撮影されてもよい。
【0021】
装置102の作動時に、ユーザは、装置102上のカメラ(撮影装置とも呼ぶことができる)を利用して、装置102を選定した方向に保持し、装置102を撮影経路に沿ってパンするまたは掃引することによって、画像を撮影することができる。一般に、装置102を撮影経路に沿って掃引することは、ユーザが頭部または身体(もしくは身体の一部)の周りの円形撮影経路(または別の形状または輪郭の撮影経路)に沿って装置102を移動することを含む。このような掃引中、ユーザは、円形撮影経路(または別の形状または輪郭の撮影経路)に沿って、装置102をユーザから離れて外側の風景に向けることができる。いくつかの実現例において、撮影経路は、単一の平面内に配置されてもよく、または単一の平面に沿って整列されてもよく、または湾曲されてもよく、または直線部分を有してもよく、または1つ以上の不連続部を有してもよい。いくつかの実現例において、撮影経路は、複数の平面内に配置された部分または複数の平面に沿って整列された部分を有してもよい。
【0022】
経路(例えば、撮影経路)を掃引しながら画像を撮影する間に、モバイル装置102は、特定の撮影設定を変更する指示を受信することができる。撮影設定は、モバイル装置の姿勢/撮影位置/角度/ピッチ/ロール/、カメラの照明/露出に関する設定、水平傾きまたは垂直傾きまたは回転、カメラ撮影の掃引速度などを含むが、これらに限定されない。
【0023】
画像の撮影中にモバイル装置102が画像を撮影するユーザに指示を与えることによって、ユーザは、画像の撮影中に変更を行うことができる。指示は、ユーザが画像を撮影している向きおよび/または角度を変更するような指示であってもよい。一例において、指示は、装置102の画面に表示されてもよい。一例において、指示は、装置102によって撮影されているコンテンツと共に、装置102の画面に表示されてもよい。非限定的な例において、指示は、撮影されているコンテンツに重ねられて表示され、合成画像を形成する。この合成画像は、撮影されている画像と、撮影設定を変更するための指示とを示している。いくつかの実現例において、合成画像は、撮影されている画像と、撮影されている画像上に重ねられた(例えば、可視的に重ねられ、透明に重ねられまたh半透明に重ねられた)指示とを含むことができる。装置102の画面に示されたように、アプリケーションコンテンツは、標識103を用いて、能動的に画像を撮影し、撮影設定に関するフィードバックを受信する画像撮影アプリケーションを表現している。
【0024】
画像を撮影した後、画像処理システム106(またはモバイル装置102)は、画像にいくつかの処理を実行することによって、3D全方向立体画像を生成することができる。生成された3D全方向立体画像は、例えば、ネットワーク104を介してレンダリングするために、頭部装着型ディスプレイ(HMD)装置110に提供されてもよい。一部の実現例において、画像処理システム106は、レンダリング、格納またはさらに処理するために、既に処理された画像をモバイル装置102および/またはコンピューティング装置112に提供することもできる。
【0025】
HMD装置110は、バーチャルリアリティヘッドセット、バーチャルリアリティ眼鏡、バーチャルリアリティ接眼鏡、またはバーチャルリアリティコンテンツを表示することができる他の装着装置であってもよい。動作中、HMD装置110は、VRアプリケーション(図示せず)を実行することができ、このVRアプリケーションは、受信した画像および/または処理した画像をユーザに対して再生することができる。いくつかの実現例において、VRアプリケーションは、図1に示された1つ以上の装置102、106または112にホストされてもよい。一例において、HMD装置110は、モバイル装置102によって取得された撮影シーンの静止画像および/またはビデオを再生することができる。一般に、再生は、画像を3D立体シーンに作成することによって、撮影シーンのリアルなビューをユーザに提供することができる。
【0026】
いくつかの実施態様において、複数のモバイル装置を使用して、撮影シーンの画像を撮影することができる。例えば、モバイル装置102は、特定の撮影シーンの追加画像を撮影するために、カメラリグ(図示せず)上に配置された多くのモバイル装置のうちの1つであってもよい。カメラリグは、例えば、VR環境においてコンテンツをレンダリングするための画像データを収集するための画像撮影装置および/または画像処理装置として使用するように構成することができる。カメラリグは、ビデオカメラ、画像センサおよび/または赤外線カメラ、ならびに撮影された画像を処理する処理回路を備えるように構成されたモバイル装置を含むことができる。
【0027】
図1に示すように、画像処理システム106は、撮影調整モジュール116と、スティッチングモジュール118と、レンダリングモジュール120とを含む。撮影調整モジュール116は、画像撮影中に、モバイル装置の向きおよび/または位置を調整するように、ユーザに指示を与えるように構成することができる。例えば、ユーザが特定の撮影経路に一致していない角度でモバイル装置102を保持している場合、装置102は、グラフィック、命令、または他の通信を装置のディスプレイ上に表示することができる。
【0028】
いくつかの実現例において、撮影調整モジュール116は、モバイル装置102上で動作するアプリケーションにコンテンツを提供することができる。コンテンツは、画像撮影中に提供されてもよく、モバイル装置102の画面上の絵入りグラフィックを含んでもよい。絵入りグラフィックは、撮影された画像と並んで、撮影された画像に重ねて、または撮影された画像に結合された形で、画面上に提示されてもよい。絵入りグラフィックは、撮影経路の候補と、モバイル装置102の移動に関連する撮影経路に対応する整列情報を提供する標識とを与えるように構成することができる。整列情報を提供する標識は、モバイル装置102の撮影方向または位置を調整するように、ユーザを支援することができる指示に関するテキストまたはグラフィックを提供する修正標識であってもよい。例えば、撮影経路の候補を示すグラフィックは、モバイル装置102の掃引動作によって通過した実際の撮影経路を示すグラフィックと重なることができる。モバイル装置102を用いて撮影シーンを掃引するユーザは、これらの経路を視認しながら、実際の撮影経路の一部を撮影経路の候補の一部に合わせるように、手動でモバイル装置の向きまたは位置を調整することができる。いくつかの実現例において、グラフィックは、撮影経路に沿って撮影シーンの特定の部分を再掃引するように、ユーザに指示することができる。例えば、グラフィックは、ビデオをバックアップし、その一部を再撮影するように、ユーザに指示することができる。別の例において、グラフィックは、特定の撮影シーンの撮影経路の全体を再掃引するように、ユーザに指示することができる。このような例において、グラフィックまたはグラフィックと並んだテキストは、再撮影の角度を示すことができる。いくつかの例において、グラフィックは、追加の撮影を行う前に、カメラの詳細設定を調整するように、ユーザに指示することができる。
【0029】
提案される特定の撮影経路は、モバイル装置102に備えられたカメラの検出された向きまたは角度に基づいて構成することができる。例えば、モバイル装置102は、オンボード加速度計またはジャイロ検出装置(図示せず)を含むことができる。これらのオンボード加速度計またはジャイロ検出装置を使用して、カメラ(例えば、モバイル装置102に備えられたカメラ)の向きまたは角度を決定することができる。これらの情報を用いて、提案/所望の撮影経路を生成して提供することができる。例えば、モバイル装置102は、撮影中に撮影シーンを分析することによって、照明、水平配置または視界を決定することができ、撮影経路または撮影速度の候補は、これらの情報に基づいていてもよい。いくつかの実現例において、撮影経路の候補は、カメラの設定または制限に基づいて構成されてもよい。例えば、モバイル装置102は、縦方向に対応する1つの視界を使用して画像を撮影することができ、横方向に対応する別の視界を使用して画像を撮影することもできる。それに応じて、撮影経路を修正することができる。モバイル装置上のアプリケーションは、撮影経路の候補を動的に更新および変更することができ、撮影中にそれらの変更をモバイル装置102の画面にリアルタイムに表示させることができる。
【0030】
例えば、ユーザは、カメラを所望の向き/角度に保持して、撮影経路の初期位置を規定することによって、撮影経路の候補(またはターゲット経路)を生成することができる。(ユーザがカメラのUI上でボタンを押すことによって特定することができる)初期位置に基づいて、モバイル装置は、経路を計算することができる。経路は、円形に形成される。カメラの現在(初期)位置は、当該円形の上に位置している。当該円形は、カメラの光軸に平行な平面に位置し且つ所定の半径(またはユーザによって選択され得る半径)を有する。このような計算に基づいて、提案された経路を「目標経路」として計算することができる。なお、1つ以上の例において、目標経路は、撮影中にカメラが取る位置を示すだけでなく、撮影中に経路を追従するカメラの特定の角度および向きを示す。撮影経路の候補は、撮影中にカメラが追従する軌道を示すと共に、軌道を追従するときにカメラが取る向きおよび角度を示す。1つ以上の例において、撮影中にカメラの移動によって形成された(およびモバイル装置の加速度計/ジャイロなどによって測定された)実際の撮影経路は、実際の撮影中にカメラの位置、向きおよび角度と撮影経路の候補によって指定されたカメラの位置、向きおよび角度とを比較することによって、撮影経路の候補と比較することができる。したがって、1つ以上の例において、撮影経路の候補上のカメラの位置、角度および/または向きと、実際の撮影経路上のカメラの位置、角度および/または向きとの間の偏差または不一致をユーザに表示することができる。このような偏差または不一致は、撮影経路の候補の1つ以上の部分が実際の撮影経路の(対応)部分と一致しない場合に生じ得る。このようにして、画像の撮影品質を向上させることができる。その目的のために、1つ以上の例において、ユーザへの指示は、撮影経路の候補と実際の撮影経路とを再度一致させるように、カメラの位置および/または向きおよび/または角度を修正する方法を示す指示を含むことができる。
【0031】
例えば、撮影経路を表示するアプリケーションは、画像撮影中に、モバイル装置の移動に関連する撮影経路(例えば、実際の撮影経路)が撮影経路の候補と異なることを検出することができる。アプリケーションは、両方の経路が一致しないことを検出した場合、モバイル装置102に更新された標識を提供することができる。更新された標識は、調整が必要であることをモバイルユーザに指示するプロンプト、グラフィック、サウンドまたはテキストを含むことができる。いくつかの実現例において、撮影調整モジュール116は、画像撮影中にカメラの非円形軌道の一方または両方を補正するおよび/または画像撮影中にカメラの非平行主軸を補正するように構成することができる。このような補正の更なる例は、図4図8を参照して詳細に説明される。
【0032】
いくつかの実現例において、撮影調整モジュール116は、撮影後の画像を修正するように構成することができる。一部の例として、画像が撮影された後、モジュール116は、例えば、非円形のカメラの軌道または掃引、非平行な(カメラ)主軸、および/またはカメラの軌道に関する不正確な視線方向を補正することができる。
【0033】
スティッチングモジュール118は、画像の乱れを除去するために、いくつかの画像フレームからの2列以上の画素をブレンドするまたはステッチするように構成することができる。例示的な乱れは、露出不良(または画像フレーム間の露出変化)に起因する乱れ、および/またはモバイル装置カメラに関連する姿勢に基づく整列不良に起因する乱れを含む。いくつかの実現例において、モジュール118は、2列画素の間に追加のコンテンツをブレンドすることによって、画像フレームに欠落したコンテンツを提供することができる。他の実現例において、モジュール118は、2列画素の間に追加のコンテンツをブレンドすることによって、画像フレーム内の乱れを除去することができる。
【0034】
いくつかの実現例において、スティッチングモジュール118は、画像撮影中に発生した横方向ロール移動を補正することによって、3D空間にレンダリングするための撮影画像を調整するように構成することができる。いくつかの実現例において、スティッチングモジュール118は、画像撮影中に生じたカメラの非共形円弧移動を補正することによって、3D空間にレンダリングするための撮影画像を調整するように構成することができる。いくつかの実現例において、スティッチングモジュール118は、画像撮影中に生じた(撮影経路に関連する)一貫性のない半径測定を補正することによって、3D空間にレンダリングするための画像を調整するように構成することができる。
【0035】
いくつかの実現例において、スティッチングモジュール118は、共にステッチする(例えば、ブレンドする)画素列を判断することができる。例えば、モジュール118は、撮影された画像のデータを解析することによって、少なくとも2つの画像間の少なくとも1つの重複部分を決定することができる。重複部分は、例えば、2つの画像からの画素の一致した列または領域を含むことができる。発見した各重複部分に対して、モジュール118は、一致した画素の一部を選択し、各部分を垂直に整列させるようにこれらの画素を結合することができる。垂直に整列させられた画素を結合することによって、3D撮影シーンの1つのセグメントを生成することができる。重複部分が検出されなかった場合、スティッチングモジュール118は、画像間にブレンドされる追加の画像コンテンツを生成することができる。例えば、ヘッドマウントディスプレイにスティッチされたコンテンツをレンダリングすることによって、コンテンツをVR環境において表示することができる。
【0036】
いくつかの実現例において、スティッチングモジュール118は、モバイル装置102を用いて取得した画像に基づいて3D立体画像を生成するように構成することができる。スティッチングモジュール118は、複数の画像部分からの画素および/または画像ストリップをブレンドするように構成することができる。いくつかの実現例において、画像補間要素(図示せず)によって決定されるフローフィールド(flow field)に基づいてブレンドを行うことができる。例えば、スティッチングモジュール118は、隣接する画像内の関連画素の間のフローフィールド(および/またはフローベクトル)を決定するように構成することができる。フローフィールドを使用して、画像に対して行った変換と、変換が行われた画像に対する処理との両方を補正することができる。例えば、フローフィールドを使用して、撮影画像の特定の画素グリッドに対して行った変換を補正することができる。いくつかの実現例において、モジュール118は、周りの画像を補間することによって、撮影画像の一部ではない1つ以上の画像を生成し、生成された画像を撮影画像にインターリーブすることによって、VR環境で表示される撮影シーンの追加のバーチャルリアリティコンテンツを生成することができる。
【0037】
いくつかの実現例において、スティッチングモジュール118は、特定の画像を調整することによって、オプティカルフロー(optical flow)を推定することができる。調整は、例えば、画像の一部を修正すること、画像の一部に関連するカメラの推定姿勢を決定すること、および画像の部分間のフローを決定することを含むことができる。いくつかの実現例において、スティッチングモジュール118は、撮影シーンの画像を撮影するために、特定の撮影経路に沿った複数の掃引によって、画像を取得する。撮影経路に沿った複数の掃引に対応する画像をスティッチすることによって、撮影シーンの3D立体映像を形成することができる。
【0038】
撮影経路に沿った1つ以上の掃引によって撮影された画像が(歪みなくまたは不要な残像なく)実際の撮影シーンを正確に表すように適切にスティッチされていない場合、本開示に記載のシステムは、実際の撮影シーンを正確に表すように画像を調整することができる。例えば、モバイル装置102のようなモバイル装置を使用する場合、撮影経路は、モバイル装置102を保持するユーザが装置の向きを操縦することによって、激しく変化することができる。上記の図面から見られるように、撮影経路は、拘束されていない撮影経路の掃引を表す円弧または他の形状になり得る。装置の回転、撮影半径の変化、ロール、ピッチ、またはヨーの変更が全て生じる可能性がある。システム100は、3D空間においてコンテンツをレンダリングし、コンテンツ内の特定の残光を選択し、特定の部分をスティッチして適切な視差およびオプティカルフローを提供することによって、撮影された画像のコンテンツの一部または全部を調整することができる。
【0039】
いくつかの実現例において、モバイル装置102は、画像処理システム106として機能することができる。例えば、モバイル装置102を用いて撮影した特定の画像の結合が正確な3D立体シーンを形成していない場合、同一の装置102は、精度を改善または補正するためにこれらの画像を処理し、その後、生成された3D立体シーンをレンダリングする。特に、モバイル装置102は、VR環境に表示される撮影シーンの正確なレンダリングを提供するために、撮影された画像を最適化する画像処理システムを備えるように構成することができる。
【0040】
最適化は、特定の画像フレームをスティッチすることを含むことができる。例えば、画像の撮影中に、モバイル装置102は、撮影された各画像フレーム内のスティッチできる画素列を決定することができる。モバイル装置102は、画像フレームを分析し、スティッチすることによって撮影シーンを提供するポイント/列を決定することができる。モバイル装置102は、スティッチングに選択された各ポイント/列に対して、ポイント/列の配置データを取得し、適切なポイント/列を線状にスティッチすることによって、最終画像を形成することができる。このような最適化は、露出の不一致を修正し、カメラの位置ずれ/姿勢誤差を修正し、および/または欠落した画像フレームを修正するように機能することができる。
【0041】
画像が適切に調整され、スティッチされると、レンダリングモジュール120は、画像を仮想視点から提供された現実に見えるシーンにレンダリングすることができる。例えば、モジュール120は、モバイル装置を用いて撮影した画像の集合をレンダリングし、これらの画像に基づいたバーチャルリアリティコンテンツを、例えばHMD装置110を介してユーザに提供することができる。図2〜10に詳細に示すように、撮影シーンは、単一の円形掃引、部分掃引、複数掃引および/またはいくつかの姿勢位置で撮影されたシーンの画像に基づいて、レンダリングされてもよい。
【0042】
本開示に記載された実施形態は、1つ以上の利点を提供することができる。例えば、本明細書に記載の方法およびシステムは、モバイル装置に設けられたカメラに関連する限定的な視界を使用して、撮影シーンに対して行った複数の撮影イベントから得られたコンテンツをスティッチすることによって、3D全方向立体画像を生成することができる。いくつかの実現例において、約90°の垂直視界および/または約90°の水平視界を有する装置を用いて、画像を撮影することができる。また、本明細書に記載の方法およびシステムは、モバイル装置102のユーザに、リアルタイムで(すなわち、シーンの撮影中に)モバイル装置102を調整して、カメラの経路、方向およびカメラの角度を監視および制御するように指示することによって、特定のコンテンツまたは特定の角度がシーンにおいて正確に取得されることを保証することができる。
【0043】
例示的なシステム100において、装置106および112は、ラップトップコンピュータ、デスクトップコンピュータ、モバイルコンピューティング装置、またはゲームコンソールであってもよい。いくつかの実現例において、装置106および112は、HMD装置110の近くにまたはHMD装置110の内部に配置するまたは設置することができるモバイルコンピューティング装置であってもよい。モバイルコンピューティング装置は、HMD装置110の画面として使用され得る表示装置を含むことができる。装置102、106および112は、VRアプリケーションを実行するためのハードウェアおよび/またはソフトウェアを含むことができる。また、装置102、106および112は、HMD装置110の正面の位置にまたはHMD装置110に対して一定範囲の位置に配置または保持されたときに、HMD装置110の3次元移動を認識、監視および追跡することができるハードウェアおよび/またはソフトウェアを含むことができる。いくつかの実現例において、装置102、106および112は、ネットワーク104を介して、追加のコンテンツをHMD装置110に提供することができる。いくつかの実現例において、装置102、106、110および112は、ペアリングまたはネットワーク104を介して、他の装置の中の1台とまたは全てと接続されてもよい。接続は、有線であってもよく、無線でもあってもよい。ネットワーク104は、公衆通信ネットワークまたは私設通信ネットワークであってもよい。
【0044】
システム100は、電子記憶装置を含むことができる。電子記憶装置は、情報を電子的に記憶する非一時的な記憶媒体を含むことができる。電子記憶装置は、撮影された画像、取得された画像、前処理された画像、後処理された画像などを記憶するように構成されてもよい。開示されたカメラまたは装置のいずれかで撮影された画像は、処理後、1つ以上のビデオストリームまたは個々のフレームとして保存されてもよい。いくつかの実現例において、撮影中に格納を行い、画像の一部が撮影された直後にレンダリングを行うことができる。これによって、撮影および処理を同時に行う場合よりも、立体画像コンテンツをより早く利用することができる。
【0045】
図2は、パノラマビューを撮影するモバイル装置の一例を示す図である。図中のモバイル装置は、モバイル装置102(図1)であってもよい。この例において、ユーザは、オンボードカメラ201を用いて、撮影シーン200の画像を能動的に撮影することができる。一般に、カメラ201は、装置102の画面の反対側に設けられ、ユーザから離れる方向に面する。撮影が行われている間、撮影シーンの各部分が装置102の画面に表示される。ユーザが撮影シーン200の全体に亘って装置102を掃引するときに、画面上の風景が更新される。
【0046】
図示の例において、ユーザは、モバイル装置102を垂直方向(例えば、縦方向)に保持し、撮影経路202に沿って装置102を動かす。いくつかの実現例において、モバイル装置102は、水平(例えば、横方向)にまたは180°の範囲に沿ってxyz平面内の任意の場所に保持され、装置102に設けられたカメラに面する撮影シーンを撮影することができる。ユーザは、円、半円または全円の一部に沿って腕または全身を移動することによって、身体の周りの円形経路に沿った掃引を行うことができる。ユーザは、様々な速度でモバイル装置102を移動することができ、掃引の途中で速度を変更することもできる。
【0047】
図2に示すように、撮影経路202は、ユーザが装置102を動かして撮影シーン200を撮影するときに、ユーザが通過した経路を示すいくつかのジョグまたはバンプを含む。また、撮影経路の候補204が提供され、整列した経路の例をユーザーに示すことができる。撮影経路204は、撮影シーン200の掃引中に同一の方向および傾きで画像を撮影するために使用できる平滑な(例えば、連続な)円形経路として示されている。
【0048】
モバイル装置102を用いて画像を撮影するときに使用された掃引動作は、一般に、ユーザによって実行された手動操作であるため、撮影経路の候補204以外の経路、例えば撮影経路202を用いて撮影された画像に対して、いくつかの修正を行う必要がある。これらの修正は、不均一な方法で撮影された画像を補正することができる。さらに、携帯電話の垂直方向は、水平方向とは異なる視界を提供することができるため、狭い視界で撮影された画像を補正するように追加の修正を行うことができる。
【0049】
非限定的な例において、撮影経路202は、円形空間の円周として表すことができる。モバイル装置102は、オンボードカメラ(例えば、201)を用いて、経路202を掃引しながら、画像を撮影することができる。画像を撮影することは、撮影経路を通過するようにモバイル装置102を整列して、モバイル装置102で画像コンテンツを記録することに対応することができる。
【0050】
図3は、視界内の撮影シーンの画像を撮影するモバイル装置の一例を示す図である。図中のモバイル装置は、モバイル装置102(図1)であってもよい。この例において、ユーザは、(例えば、オンボードカメラ201を用いて)、特定の視界角302を有する撮影シーンの画像を能動的に撮影することができる。図示の視界302は、約120°である。典型的なモバイル装置は、カメラの仕様に応じてより小さいまたはより大きな視界を提供することができるオンボードカメラを含むため、他の視界も可能である。
【0051】
図示の例において、ユーザ304は、モバイル装置102を水平方向(例えば、横方向)に保持し、撮影経路(図示せず)に沿って装置102を掃引しようと準備している。図2に示すように、モバイル装置102を横方向に保持することによって、装置102を縦方向に保持する場合よりも広い水平視界で画像を撮影することができる。しかしながら、装置を横方向に保持する場合、垂直視界が狭くなる。装置102上に撮影提案を提供するアプリケーションは、場合に応じて、装置の向きを提案することができる。
【0052】
非限定的な例において、モバイル装置102に関連する視界は、約100°〜約120°であってもよい。本明細書に記載のシステムは、補正を行うことによって、約180°の視界に近い画像を構築することができる。例えば、システム100は、ユーザに指示して、装置102を用いて、特定の撮影経路の複数掃引を行うことによって、撮影シーンの画像を撮影することができる。複数の掃引で得られた画像は、例えば、スティッチングモジュール118を用いてスティッチすることによって、より大きな視界を用いて撮影した画像と似たような画像を形成することができる。
【0053】
図4は、モバイル装置を用いて画像を撮影する例示的な経路402を示す図である。図示の撮影経路402は、円形空間の円周として表すことができる。モバイル装置102は、例えば、オンボードカメラ201を用いて経路402を掃引しながら、画像を撮影することができる。モバイル装置(例えば、モバイル装置102)を保持するユーザは、平面の円形経路402からなる基面に対して、装置102の底面(すなわち、オンボードカメラレンズの底部縁)を90°に傾け、装置102を基面と同様の高さで水平に保持することができる。図示のモバイル装置102は、撮影シーンに向かって外側に面し、撮影経路402に沿って0°から360°まで画像コンテンツを撮影する。ユーザ404は、腕を水平に掃引するまたは身体を回すことによって、撮影経路402に沿って画像の撮影を行うことができる。
【0054】
図5は、モバイル装置を用いて画像を撮影するための別の例示的な経路を示す図である。この例において、モバイル装置(例えば、モバイル装置102)は、アプリケーションコンテンツ502を含み、ユーザによって縦方向に保持される。アプリケーションコンテンツ502は、例えば、経路402の掃引を実行するときに、画像を適切に撮影するように、ユーザに指示して、装置の向き、方向または傾きを修正する機能を含む。
【0055】
図5に示すように、アプリケーションコンテンツ502は、ナビゲーション図形ディスプレイ504を含む。ナビゲーション図形ディスプレイ504は、方向矢印506および508を用いて、異なる方法で装置102に設けられたカメラを移動する、傾けるまたはカメラの向きを変更するように、装置102のユーザに指示することができる。図示の装置102は、円形撮影経路402と一致しない撮影経路510を使用している。アプリケーションコンテンツ504は、画像掃引中(すなわち、撮影中)に提供されてもよい。この例において、モバイル装置102は、方向矢印506および508を含むナビゲーション図形ディスプレイ504を受信して、現在の撮影経路510を撮影経路の候補402にうまく整列させるために、装置102の向きおよび傾きを変更するようにユーザを促すことができる。これらの指示は、モバイル装置102で撮影されている画像コンテンツの横に、画像コンテンツの近くに、画像コンテンツの上方に、または画像コンテンツの上方に透明に(例えば、半透明に)して、モバイル装置の画面に表示されてもよい。例えば、指示は、半透明の指示を画像コンテンツの上方に重なることによって形成された合成画像として提供されてもよい。これによって、ユーザが撮影されている画像コンテンツを視認すると共に、撮影経路またはプロセスを変更するための命令を読むことができるという利点を提供することができる。
【0056】
非限定的な例において、ナビゲーション図形ディスプレイ504に示された標識は、モバイル装置102の位置角での移動に対応するジャイロ測定値(装置102によって取られる)のグラフ表現を提供することができる。いくつかの実現例において、ナビゲーション図形ディスプレイ504は、モバイル装置102によって測定された様々な検知入力に基づいて、アプリケーションコンテンツを提供することができる。非限定的な例において、アプリケーションコンテンツ502および標識506、508は、装置102を撮影経路の候補または装置の位置角に整列させることに関する静止画または動画、グラフもしくはテキストを含むことができる。モバイル装置102の位置角は、モバイル装置上のカメラレンズの前面と直交する平面から回転された角度の測定値と、モバイル装置上のカメラレンズの前面と平行する平面から回転された角度の測定値とによって表すことができる。例えば、標識は、整列情報を提供することができ、モバイル装置102上のカメラレンズの前面と直交する平面に対してモバイル装置を約30°の傾斜角から0°の傾斜角まで移動するように、ユーザに与える指示を含むことができる。いくつかの実現例において、モバイル装置102の位置角は、基面512aおよび撮影面512bに対する方位角(標識506および508によって示される)を提供するグラフとして、装置102の画面に表示される。一般に、モバイル装置の位置角は、基面およびソース撮影経路に関連する平面に対する方位角を提供する半透明画像を示すグラフとして、装置102の画面に表示される。いくつかの実現例において、半透明画像は、上述した合成画像に結合される。
【0057】
別の非限定的な例において、アプリケーションコンテンツ502および/または標識506、508は、点滅矢印、アイコンなどの印しを含むことができる。これらの印しは、標識によって装置102の画面に表示された撮影経路にモバイル装置102を維持するために、モバイル装置102を上下または左右移動するようにユーザに指示することができる。例えば、ユーザが特定の撮影経路を修正したことに応答して、標識は、点滅しなくなるまたは消えることができる。他の形状の標識および内容が可能である。
【0058】
いくつかの実現例において、モバイル装置102は、ユーザによって実行された特定の掃引が3D画像スティッチングには不十分であることを検出したことに応答して、アプリケーションコンテンツ502および/または標識506、508を生成し、表示する。このような場合、モバイル装置102は、同様の向きまたは異なる向きで追加の掃引を実行するように、ユーザに指示することができる。同様に、モバイル装置102は、異なる傾斜角でいくつかの掃引を実行するように、ユーザに指示することができる。
【0059】
一般に、指示(例えば、506、508)は、モバイル装置102に関連するディスプレイ上に提供されてもよい。これらの指示は、撮影されている画像コンテンツに重なることができるアプリケーションに表示されてもよい。これらの指示は、追加の掃引を実行しながら、特定の位置角で装置102を保持するように、モバイル装置102のユーザに指示することができる。追加の掃引は、例えば、撮影シーンに関連する基面に垂直に面しているモバイル装置のカメラレンズを用いて行うことができる。いくつかの例において、追加の掃引は、(例えば、基面に平行(例えば、実質的に平行)な)円形(例えば、実質的に円形)の撮影経路を用いて画像の撮影を行うときに、ユーザの外側に伸出して(モバイル装置を持っている)腕と同様の高さまたはそれに近い高さに位置する第1経路で掃引して撮影シーンを撮影する。これらの指示は、その後、第1経路の上方または下方にある撮影経路の掃引を実行するように、ユーザに指示することができる。例えば、追加の掃引を実行するために、モバイル装置の画面内で位置角を更新することができる。これによって、撮影シーンの画像を取得するために、同様の撮影経路または異なる撮影経路の特定の掃引を実行するように、ユーザに指示することができる。更新された位置角の一例は、基面に平行(例えば、実質的に平行)な撮影経路からカメラレンズを約40°後方に傾けることを含むことができる。更新された位置角の別の例は、基面に実質的に平行な撮影経路からカメラレンズを約40°前方に傾けることを含むことができる。上記の各掃引からの画像コンテンツを結合することによって、システム100は、撮影シーンの球面表現を生成することができる。このような表現を用いて、3DのVR環境において立体画像を提供することができる。
【0060】
いくつかの実現例において、装置102は、特定のシーンの複数の掃引をガイドすることができる。これによって、以前の掃引とほぼ同様の向きおよび異なる傾斜角で後続の掃引を行うことを保証することができる。これらの類似掃引は、各々の全方向立体画像/パノラマを提供する。これらの全方向立体画像/パノラマは、例えば、画像内の水平画素ライン上のステッチ線に沿ってスティッチすることができる。複数の掃引に差があった場合、(本明細書に記載の)オプティカルフロー技術を使用して、撮影シーンに対する掃引の間の対応関係を見付けることができる。オプティカルフローを使用して、複数の掃引をブレンドすることができる。
【0061】
いくつかの実現例において、モバイル装置102は、撮影中に、モバイル装置102によって行った撮影シーンの掃引がモバイル装置102の画面に表示された提案の撮影経路に対して非直交であることを検出したことに応答して、アプリケーションコンテンツ502および標識506、508を生成し、表示する。この例において、ユーザが撮影経路または装置の向きを変更する場合、モバイル装置102は、更新された修正指示または情報を装置102の画面に表示することができる。いくつかの実現例において、更新された情報は、装置102を調整するようにユーザに指示する構成されたグラフィック、アイコン、テキスト命令、サウンド、または追加の標識を含むことができる。例えば、モバイル装置102は、撮影中に、より遅い速度またはより速い速度で掃引を行うように、アプリケーションコンテンツ502に対応する装置102の画面内に指示を受信することができる。他の実現例において、ユーザが撮影経路をモバイル装置102内に構成された特定の仕様に一致する経路に調整する場合、画面内のアプリケーションコンテンツ502が表示されなくてもよい。
【0062】
図6は、画像の撮影中に、モバイル装置102の画面604に示されたコンテンツ602の一例を示す図である。図中のモバイル装置は、モバイル装置102(図1)であってもよい。ユーザは、モバイル装置102を操作して、オンボードカメラ(例えば、カメラ201)を使用することができる。この例において、ユーザは、撮影シーンの中心に位置しており、撮影経路を掃引することによって、ユーザを囲む(例えば、少なくとも部分的に囲む)撮影シーンの画像を撮影する。図示の撮影経路402は、約10cm〜約35cmの半径601を有する。いくつかの実現例において、撮影経路に沿って画像を撮影するときに、半径を変更してもよい。例えば、この例ではユーザが手動でモバイル装置を操作しているため、掃引がユーザのグリップおよび物理的な移動に基づいて変化すると、半径601も自然に変化する。この例において、ユーザは、撮影経路606の全体を通過して撮影シーンの画像を撮影する可能性がある。図示のように、撮影シーンは、モバイル装置102上のカメラによって撮影され得る木608a、周囲の地平線、地面および空を含む。ユーザが撮影経路を掃引して撮影シーンを撮影すると、撮影シーンの各部分が装置102上に示される。図示のモバイル装置102は、木608aを含む撮影シーンの一部を撮影している。木608aの画像は、木608bとして表示画面604に表示される。また、ユーザの撮影経路606は、表示画面604上に示されている。ユーザが撮影経路606に沿って装置102をパンするまたは掃引すると、装置は、ユーザの経路606が撮影シーンを3D立体視およびパノラマ状況で適切に表現できる画像の提供に十分ではないことを検出することができる。すなわち、装置102は、例えば、3D VR環境において撮影シーンを不正確に表示させる向き、掃引速度、モバイル装置の角度、または他の変数を検出することができる。
【0063】
場合によって、(装置102上で動作する)アプリケーションは、撮影経路606に沿って撮影を行っている間に、モバイル装置102の位置、向きおよび/または角度を検出することができる。例えば、モバイル装置102が撮影経路402と一致していない撮影経路を掃引していることを検出したことに応答して、アプリケーションは、装置102が画像を不適切に撮影しているという指示を提供するアプリケーションコンテンツを表示させることができる。例えば、図6の円および逆斜線からなり、「NO」を示す記号610は、ユーザが装置102にとって好ましくない方法で画像の撮影を行っていることをユーザに通知することができる。記号610を受信するための1つの例示的な理由は、撮影速度違反を挙げることができる。この場合、ユーザが撮影シーンの周りの撮影経路を掃引する速度が速すぎるため、装置は、特定の風景を撮影および処理することができない。
【0064】
図7は、画像撮影中のモバイル装置の画面704に示されたコンテンツ702の別の例を示す図である。図中のモバイル装置は、モバイル装置102(図1)であってもよい。ユーザは、モバイル装置102を操作して、オンボードカメラを使用することができる。この例において、ユーザは、撮影シーンの画像を取得するために撮影経路706の全体を通過している間に、装置102を垂直方向にして画像コンテンツを撮影している。図示のように、撮影シーンは、モバイル装置102上のカメラによって撮影され得る木708a、周囲の地平線、地面および空を含む。ユーザが掃引して撮影シーンを撮影すると、撮影シーンの各部分が装置102上に示される。図6と同様に、図示のモバイル装置102は、木708aを含む撮影シーンの一部を撮影している。木708aの画像は、木708bとして表示画面704に表示される。
【0065】
図7に示すように、場合によって、装置102は、ユーザが装置102を用いて僅かに傾斜した角度でコンテンツを撮影していることを検出することができる。モバイル装置102は、角度を修正するように、装置102のユーザに指示を提供することができる。例えば、標識710が装置102の画面に示されている。標識710は、装置102を左に傾けるようにユーザに指示する矢印である。装置102は、ユーザが傾きを補正したことを検出すると、標識710の表示を中止する。ユーザが傾きを過補正する場合に、標識710を更新して、撮影方向を修正するために装置102を異なる方向に傾けるように、ユーザに通知することができる。また、装置102は、特定のコンテンツを撮影するために装置を整列させる際にユーザを支援するアプリケーションコンテンツを提供することができる。例えば、モバイル装置102は、撮影シーン内の水平線が撮影経路706に亘って均一に撮影されていないことを検出することができる。すなわち、装置102は、強く傾けられた装置を用いて写真を撮影する場合、得られた写真がスティッチし難いということを判断することができる。したがって、装置102は、ユーザが異なる方法でモバイル装置102を整列させるべきであることを示す命令および/またはマーカを提供することができる。1つの例示的なマーカは、十字線712を含む。十字線712は、例えば、装置102を撮影経路402に整列させる際にユーザを支援するために使用され得る。完全な位置グリッドまたはマップ、経緯度座標、水平記号/非水平記号および他の位置標識を含む他のマーカも可能である。これらの標識およびマーカの各々は、画像コンテンツを撮影するアプリケーションに対して、装置102上に表示されてもよい。このようにして、補正機構が表示されている間に画像コンテンツを見ることができる。
【0066】
図8は、画像撮影中のモバイル装置の画面804に示されたコンテンツ802のさらに別の例を示す図である。この例において、モバイル装置は、モバイル装置102(図1)であってもよい。ユーザは、モバイル装置102を操作して、オンボードカメラを使用することができる。この例において、ユーザは、撮影シーンの画像を撮影するために、撮影経路806の全体を通過する。モバイル装置102は、ユーザが3D立体コンテンツの生成に使用可能な画像を提供できない角度で装置102を傾けることを検出することができる。したがって、装置102上で動作するアプリケーションは、例えば、撮影経路を変更するようにユーザに促すことができる標識およびコンテンツを提供することができる。図8に示す標識は、十字線810内に位置する矢印808、NO記号812および「右に傾ける」テキスト命令814を含む。各記号は、命令を実行するようにモバイル装置102のユーザに指示することができる。いくつかの実現例において、記号は、同一の命令を示す。例えば、矢印808およびテキスト命令814の両方は、撮影経路または画像撮影プロセスを修正するために、モバイル装置102を右に傾ける必要があることをユーザに示している。
【0067】
図9は、画像を撮影するプロセス900の一実施形態を示すフローチャートである。様々な実施形態において、プロセス900は、図1および図11などのシステムによって使用されてもよく、生成されてもよい。
【0068】
一実施形態において、ブロック902は、モバイル装置が画像の撮影を開始する指示を受信することができることを示している。例えば、ユーザは、特定の撮影シーンの画像の撮影を開始するためにカメラアプリケーションを選択することによって、モバイル装置102に組み込まれたまたはモバイル装置102に利用可能なカメラを利用することができる。撮影シーンの画像を撮影することは、特定の撮影経路を通過するようにモバイル装置を整列させることによって、モバイル装置で画像コンテンツを記録することに対応することができる。撮影経路の直径が変化してもよい。
【0069】
ブロック904において、モバイル装置102は、カメラを用いて、画像を撮影することができる。画像の撮影は、撮影シーンの撮影経路に沿った円形掃引の少なくとも一部の画像を取得することを含むことができる。例えば、モバイル装置102は、撮影シーンの円形の撮影経路に沿って記録掃引を実行しながら、画像を撮影することができる。撮影シーンの記録掃引は、静止画像の撮影および/またはビデオ動画の撮影を含むことができる。記録掃引において、例えば、撮影シーンに関連して撮影されたコンテンツが記録され、装置102にまたはリモートコンピューティング装置に記憶される。撮影シーンの掃引は、ユーザが手動で半円または全円に沿ってモバイル装置102を円弧状に移動して撮影シーンの画像を取得することを伴う。円弧状移動は、モバイル装置102を外側の風景に向かわせると共に、ユーザの頭または身体の周りを掃引することに対応する。
【0070】
ブロック906および撮影中において、モバイル装置102は、装置102上の画像の表現を表示すると共に、目標(提案)撮影経路および標識を提示することができる。これらの標識は、画像の撮影中にモバイル装置の移動に関連するソース撮影経路に対応する整列情報を提供する。標識は、調整が必要であることをモバイル装置のユーザに示すプロンプト、グラフィック、サウンド、またはテキストを含むことができる。標識は、完全な位置グリッドまたはマップ、経緯度座標、水平記号/非水平記号、テキスト位置データおよび他の位置標識を含むが、これに限定されない典型的な位置または整列プロトコルに関連してもよい。
【0071】
一般に、ソース撮影経路は、モバイル装置102が撮影シーンの複数の画像を撮影するためにソース撮影経路に沿って行った掃引動作を表すことができる。したがって、ソース撮影経路は、撮影中にモバイル装置の向きに関連する。同様に、ソース撮影経路は、モバイル装置102の位置角にも関連している。ターゲット撮影経路は、装置102またはシステム100によって決定された所定の撮影経路または予め選択された撮影経路であり得る円形経路を表すことができる。
【0072】
ブロック908において、モバイル装置102によって実行した撮影シーンの掃引(例えば、モバイル装置102によって通過したソース撮影経路)の一部がターゲット撮影経路の一部と一致していないことを検出したことに応答して、整列情報を提供する標識は、モバイル装置102の画面に表示されてもよい。これらの標識は、撮影中にモバイル装置102の画面にリアルタイムで表示されてもよい。いくつかの実現例において、標識は、合成画像の一部としてまたはそれに加えて提供される。この合成画像は、ターゲット撮影経路および標識並びに撮影されている複数の画像の1つ以上の表現を含む。標識は、例えば、撮影経路(例えば、ソース撮影経路)の全部または一部を撮影経路の候補(例えば、ターゲット撮影経路)の全部または一部に一致させるためにモバイル装置を調整するように、モバイル装置のユーザを促すプロンプトを含むことができる。
【0073】
いくつかの実現例において、プロセス900は、モバイル装置の画面に追加の標識を受信することを含むことができる。例えば、モバイル装置102は、撮影中に、より遅い移動速度で特定の画像の撮影を実行する指示を受信することができる。別の例において、モバイル装置102は、撮影シーン内の追加コンテンツを撮影するために、更新された位置角を用いて、撮影シーンの追加画像の撮影を実行する指示を受信することができる。更新された位置角は、撮影シーンをVR環境に表示するために、3D全方向立体シーンにスティッチまたはブレンドするための追加の画像コンテンツを提供することができる。例えば、ユーザが垂直方向(すなわち、縦向き)にしたモバイル装置を使用して撮影シーンの画像を撮影する場合、水平方向(すなわち、横向き)にした装置を使用して撮影した画像に対して、撮影画像に追加の垂直空間を与えることができる。この例において、ユーザがモバイル装置を円形の撮影経路の円周のから離れてまたは円周に向けて回転する場合、円形撮影から通常に使用できる光線を利用できない可能性がある。すなわち、モバイル装置102が円形の撮影経路にほぼ正接している撮影シーンに向かって外側に面するように保持されていない場合、得られた画像は、正確にステッチまたはブレンドすることができず、360°の視界を有する撮影シーンの3D全方向立体像を提供するできない。
【0074】
いくつかの実現例において、プロセス900は、撮影中に、モバイル装置の画面に画像コンテンツを撮影して表示すると共に、モバイル装置の画面に絵入りグラフィックを表示することができる。絵入りグラフィックは、例えば、画面に半透明に重なることによって、ユーザに提示するための撮影画像と絵入りグラフィック(または他の指示)との合成画像であってもよい。絵入りグラフィックは、ターゲット撮影経路(すなわち、VR環境の3D全方向立体シーンを生成するために画像を撮影するための提案された円形撮影経路)と、ソース撮影経路に対応する整列情報を提供する標識とを提供するように構成することができる。整列情報は、特定の位置角におけるモバイル装置の移動に対応するジャイロ測定値を表す絵入りグラフィックを含むことができる。いくつかの実現例において、絵入りグラフィックは、モバイル装置の移動に関連するソース撮影経路をターゲット撮影経路に一致させるためのコースを提供する少なくとも1つの標識を含む。
【0075】
いくつかの実現例において、特定の撮影経路の一部または全部の一致(または不一致)は、閾値条件に基づくことができる。例えば、閾値条件は、ソース撮影経路の約5%〜約10%がターゲット撮影経路と異なる場合、ソース撮影経路とターゲット経路とが不一致であることを含むことができる。すなわち、装置102は、移動した経路がターゲット撮影経路から5%〜10%でずれたことを検出した場合、絵入りグラフィックまたは他の修正標識を表示することができる。別の例において、閾値条件は、ソース撮影経路の約10%〜約25%がターゲット撮影経路と異なる場合、ソース撮影経路とターゲット経路とが不一致であることを含むことができる。別の例において、閾値条件は、ソース撮影経路の約20%〜約40%がターゲット撮影経路と異なる場合、ソース撮影経路とターゲット経路とが不一致であることを含むことができる。一部の例として、モバイル装置102は、比率、限度値または限度率、撮影角度などの閾値に基づいて、モバイル装置102によって通過した特定の画像撮影経路からの偏差を検出することを可能にする構成設定を含むことができる。
【0076】
一般に、ソース撮影経路は、モバイル装置102の移動(すなわち、ユーザがモバイル装置を用いて円形状に掃引することによって通過した撮影経路)に関連することができる。絵入りグラフィックは、例えば、モバイル装置の移動を検出することに応答して、リアルタイムで動的に更新することができる。絵入りグラフィックは、複数の部分を含むことができる。例えば、絵入りグラフィックは、ターゲット撮影経路を示す第1部分と、(上述したように)モバイル装置の移動に関連するソース撮影経路を示す第2部分とを含むことができる。第1部分および第2部分は、特定のコースに沿って第2部分を第1部分に整列させるように、ユーザに指示または通知することができる。この例において、第1部分は、円の一部または全円であってもよく、第2部分は、円の一部からの偏差または全円からの偏差であってもよい。本明細書において、円は、ユーザがモバイル装置を用いて撮影シーンの画像を撮影するために通過すべきである理想的な円形の掃引経路を表すことができる。
【0077】
図10は、画像をレンダリングするプロセス1000の一実施形態を示すフローチャートである。様々な実施形態において、プロセス1000は、図1および図11などのシステムによって使用されてもよく、生成されてもよい。
【0078】
一実施形態において、ブロック1002は、画像処理システム106がモバイル装置で撮影された画像を取得することができることを示している。取得された画像は、360°の円上の複数のポイントから取得されたコンテンツを含むことができる。この円は、画像を取得するためにモバイル装置が掃引するように構成され得る撮影経路を表すことができる。一例において、360°の円は、約10cm〜約75cmの直径を有する可変の撮影経路を表すことができる。撮影経路が約10cmの直径を有する場合、取得された画像は、約90°の水平視界で取得された画像であり得る。
【0079】
いくつかの実現例において、取得された画像は、特定の撮影シーンの複数の連続の画像フレームを含むことができる。他の実現例において、取得された画像は、複数の断続または不連続の画像フレームを含むことができる。さらに他の実現例において、取得された画像は、連続の画像と不連続の画像の組み合わせを含むことができる。
【0080】
非限定的な例において、得られた画像は、円周の0°から25°までの撮影シーンを表す画像セット、円周の30°から300°までの撮影シーンを表す画像セット、および円周の310°から349°までの撮影シーンを表す画像セットを含むことができる。システム106は、これらの画像セットを使用して、360°の立体3D撮影シーンを生成することができる。360°の立体3D撮影シーンの生成は、画像セットをスティッチするまたはブレンドするために、複数の画像を調整することを含むことができる。
【0081】
ブロック1004において、システム106は、3D空間においてレンダリングするために、得られた画像(または画像セット)を調整することができる。3D空間は、VR環境内の空間として表現することができる。得られた画像を調整することは、ブロック1006において、少なくとも2つの画像間の少なくとも1つの重複部分を判定することを含むことができる。重複部分は、少なくとも2つの画像における画素間の一致部分を含むことができる。例えば、システム106は、画像セットにおける画像フレーム内の画素列を分析し、第1画素列における画像コンテンツが第2画素列における画像コンテンツと一致するか否かを判定することができる。重複部分が見付けた場合、システム106は、ブロック1008において、各重複部分に含まれた画素の一部を選択することができる。ブロック1010において、選択された重複部分に対応する画素各部分を垂直に整列させることによって、撮影シーンの3Dパノラマセグメントを生成するように、各部分を結合する。
【0082】
少なくとも2つの画像の間に重複部分が存在していないと判定したことに応答して、システム106は、ブロック1012において、少なくとも2つの画像の間にブレンドされる追加の画像コンテンツを生成することができる。その後、システム106は、追加の画像コンテンツを結合することによって、セグメントを更新する。追加の画像コンテンツを結合することは、画像の乱れを除去するために、2つ以上の画像からの画素列をブレンドすることを含むことができる。乱れは、撮影姿勢に少なくとも部分的に依存する整列不良を含むがこれに限定されない。いくつかの実現例において、プロセス1000は、(i)撮影時に発生した横方向ロール移動、(ii)撮影時に発生したカメラの非共形円弧移動、または(iii)撮影時に発生した一貫性のない半径測定を補正することによって、3D空間においてレンダリングするための画像を調整するステップを含むことができる。
【0083】
ブロック1014において、システム106は、例えば、レンダリングするためのセグメントの更新を提供し、VR環境に使用されるヘッドマウントディスプレイに表示することができる。
【0084】
図11は、本明細書に記載の技術を実施するために使用できる汎用コンピュータ装置1100および汎用モバイルコンピュータ装置1150の一例を示す図である。コンピューティング装置1100は、ラップトップ、デスクトップ、ワークステーション、PDA(Personal Digital Assistant)、サーバ、ブレードサーバ、メインフレームおよび他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すように意図されている。コンピューティング装置1150は、PDA、携帯電話、スマートフォンおよび他の類似するコンピューティング装置などの様々な形態のモバイル装置を表すように意図されている。図示された構成要素、それらの接続および関係並びにそれらの機能は、例示的なものに過ぎず、本明細書に記載および/または請求される発明の実施を限定するものではない。
【0085】
コンピューティング装置1100は、プロセッサ1102と、メモリ1104と、記憶装置1106と、メモリ1104および高速拡張ポート1110を連結する高速インターフェイス1108と、低速バス1114および記憶装置1106を連結する低速インターフェイス1112とを含む。構成要素1102、1104、1106、1108、1110および1112は、様々なバスを使用して相互に接続され、共通のマザーボード上に実装されてもよく、または適切な他の方法で実装されてもよい。プロセッサ1102は、メモリ1104または記憶装置1106に記憶された命令を含むコンピューティング装置1100内に実行される命令を処理することによって、外部入力/出力装置のGUIに、例えば高速インターフェイス1108に接続されたディスプレイ1116にグラフィック情報を表示することができる。他の実施態様において、複数のプロセッサおよび/または複数のバスは、複数のメモリおよび複数種類のメモリと共に、適切に使用されることができる。また、各装置が(例えば、サーババンク、一群のブレードサーバ、またはマルチプロセッサシステムとして)必要な動作の一部を実行するように、複数のコンピューティング装置1100を接続することができる。
【0086】
メモリ1104は、コンピューティング装置1100に情報を格納する。一実現例において、メモリ1104は、揮発性メモリユニットである。別の実現例において、メモリ1104は、不揮発性メモリユニットである。メモリ1104は、別の形態のコンピュータ可読媒体、例えば、磁気ディスクまたは光ディスクであってもよい。
【0087】
記憶装置1106は、コンピューティング装置1100に大容量の記憶を提供することができる。一実現例において、記憶装置1106は、例えば、フロッピー(登録商標)ディスク装置、ハードディスク装置、光学ディスク装置、テープディスク装置、フラッシュメモリまたは他の同様の固体メモリ装置、または記憶エリアネットワークまたは他の構成内の装置を含むアレイ記憶装置などのコンピュータ可読媒体を含むことができる。コンピュータプログラム製品は、情報担体に有形的に具体化することができる。また、コンピュータプログラム製品は、命令を含むことができる。これらの命令は、実行されると、上述したような1つ以上の方法を実行することができる。情報担体は、例えば、メモリ1104、記憶装置1106、またはプロセッサ1102上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【0088】
高速コントローラ1108は、コンピューティング装置1100の高速の帯域幅集約動作を管理し、低速コントローラ1112は、低速の帯域幅集約動作を管理する。このような機能の割り当ては、例示に過ぎない。一実現例において、高速コントローラ1108は、メモリ1104、(例えば、グラフィックプロセッサまたはアクセラレータを介して)ディスプレイ1116、および様々な拡張カード(図示せず)を挿入できる高速拡張ポート1110に連結される。この実現例において、低速コントローラ1112は、記憶装置1106および低速拡張ポート1114に連結される。様々な通信ポート(例えば、USB、ブルートゥース(登録商標)、イーサネット(登録商標)、無線イーサネット)を含み得る低速拡張ポートは、例えば、キーボード、ポインティング装置、スキャナなどの1つ以上の入出力装置に連結されてもよく、またはネットワークアダプタを介して、スイッチまたはルータなどのネットワーキング装置に連結されてもよい。
【0089】
図示のように、コンピューティング装置1100は、いくつかの異なる形態で実装されることができる。例えば、コンピューティング装置1100は、標準サーバ1120として実装されてもよく、または標準サーバのグループ内に複数回実装されてもよい。また、コンピューティング装置1100は、サーバラックシステム1124の一部として実装されてもよい。さらに、コンピューティング装置1100は、ラップトップコンピュータ1122のようなパーソナルコンピュータに実装されてもよい。代替的には、コンピューティング装置1100の要素は、装置1150などのモバイル装置(図示せず)内の他の要素と組み合わてもよい。このような装置の各々は、1つ以上のコンピューティング装置1100、1150を含むことができ、システムの全体は、互いに通信できる複数のコンピューティング装置1100、1150から構成されることができる。
【0090】
コンピューティング装置1150は、プロセッサ1152、メモリ1164、ディスプレイ1154などの入出力装置、通信インターフェイス1166、およびトランシーバ1168を含む。装置1150は、追加の記憶を提供するために、マイクロドライブまたは他の素子などの記憶装置を備えることもできる。要素1150、1152、1164、1154、1166および1168は、様々なバスを介して相互に接続され、一部の要素は、共通のマザーボード上に実装されてもよく、または適切な他の方法で実装されてもよい。
【0091】
プロセッサ1152は、メモリ1164に格納された命令を含むコンピューティング装置1150内の命令を実行することができる。このプロセッサは、互いに独立している複数のアナログプロセッサおよびデジタルプロセッサを備えるチップのチップセットとして実装されてもよい。このプロセッサは、装置1150の他の要素の協調、例えば、ユーザインターフェイスの制御、装置1150によるアプリケーションの実行、および装置1150による無線通信を提供することができる。
【0092】
プロセッサ1152は、制御インターフェイス1158およびディスプレイ1154に結合されたディスプレイインターフェイス1156を介してユーザと通信することができる。ディスプレイ1154は、例えば、TFT LCD(薄膜トランジスタ液晶ディスプレイ)またはOLED(有機発光ダイオードディスプレイ)、または他の適切なディスプレイ技術を使用することができる。表示インターフェイス1156は、グラフィック情報および他の情報をユーザに表示するために、ディスプレイ1154を駆動する適切な回路を含むことができる。制御インターフェイス1158は、ユーザからの指令を受信し、変換してからプロセッサ1152に提供することができる。また、プロセッサ1152と通信するように外部インターフェイス1162を設けることによって、装置1150は、他の装置と近距離通信を行うことができる。外部インターフェイス1162は、例えば、いくつかの実現例において有線通信を提供することができ、他の実現例において無線通信を提供することができる。複数のインターフェイスを使用することもできる。
【0093】
メモリ1164は、コンピューティング装置1150に情報を格納する。メモリ1164は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットのうち、1つまたは複数として実装することができる。拡張メモリ1174は、例えば、SIMM(Single In Line Memory Module)カードインターフェイスを含む拡張インターフェイス1172を介して、装置1150に提供され、接続されてもよい。具体的には、拡張メモリ1174は、上述したプロセスを実行するまたは補足するための命令を格納することができ、セキュリティ情報を格納することもできる。したがって、拡張メモリ1174は、例えば、装置1150のセキュリティモジュールとして提供されてもよく、装置1150の安全使用を可能にする命令でプログラムされてもよい。さらに、SIMMカードを介して、追加情報と共に、セキュリティアプリケーションを配置することができる。例えば、ハッキングできない方法で、SIMMカード上に識別情報を配置することができる。
【0094】
以下に説明するように、メモリは、例えば、フラッシュメモリおよび/またはNVRAMメモリを含むことができる。一実現例において、コンピュータプログラム製品は、情報担体に有形的に具体化される。コンピュータプログラム製品は、命令を含み、これらの命令は、実行されると、上述したような1つ以上の方法を実行する。情報担体は、例えば、メモリ1164、拡張メモリ1174、またはプロセッサ1152上のメモリなどのコンピュータ可読媒体または機械可読媒体であり、トランシーバ1168または外部インターフェイス1162を介して受信動作を実行してもよい。
【0095】
装置1150は、必要に応じてデジタル信号処理回路を含む通信インターフェイス1166を介して無線通信を行うことができる。通信インターフェイス1166は、とりわけ、GSM(登録商標)通話、SMS、EMS、またはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSなどの様々なモードまたはプロトコルに基づいて、通信を提供することができる。このような通信は、例えば、高周波トランシーバ1168を介して行われてもよい。また、ブルートゥース(登録商標)、WiFi(登録商標)、または他のトランシーバ(図示せず)を用いて、短距離通信を行うことができる。さらに、GPS(全地球測位システム)受信モジュール1170は、追加のナビゲーション関連無線データおよび位置関連無線データを装置1150に提供することができる。これらの無線データは、装置1150上で動作するアプリケーションに適宜に使用される。
【0096】
また、装置1150は、音声コーデック1160を使用して音声通信を行うことができる。音声コーデック1160は、ユーザから受信した音声情報を使用可能なデジタル情報に変換することができる。同様に、音声コーデック1160は、例えば、装置1150の送受話器内のスピーカを介して、ユーザに可聴な音声を生成することができる。このような音声は、音声電話からの音声を含むことができ、記録された音声(例えば、音声メッセージ、音楽ファイル)を含むことができ、装置1150上で動作するアプリケーションによって生成された音声を含むこともできる。
【0097】
図示のように、コンピューティング装置1150は、いくつかの異なる形態で実装されることができる。例えば、コンピューティング装置1150は、携帯電話1180として実装されてもよく、スマートフォン1182、PDAまたは他の類似するモバイル装置の一部として実装されてもよい。
【0098】
本明細書に記載のシステムおよび技術の様々な実装は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェアおよび/またはそれらの組み合わせで実現することができる。これらの様々な実装は、プログラム可能なシステム上で実行可能および/または解釈可能な1つ以上のコンピュータプログラムにおける実装を含むことができる。このプログラム可能なシステムは、記憶システムからデータおよび命令を受信し、データおよび命令を記憶システムに送信するように記憶システムに連結された少なくとも1つのプログラム可能な専用または汎用のプロセッサ、少なくとも1つの入力装置、および少なくとも1つの出力装置を含む。
【0099】
(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている)これらのコンピュータプログラムは、プログラム可能なプロセッサ用の機械命令を含み、高度な手続き型プログラミング言語および/または高度なオブジェクト指向プログラミング言語で実装することができ、および/またはアセンブリ言語/機械言語で実装することができる。「機械可読媒体」という用語は、本明細書に使用された場合、プログラム可能なプロセッサに機械命令および/またはデータを提供するために使用された機械可読信号としての機械命令を受け取る機械可読媒体を含む任意のコンピュータプログラム製品、機械および/または装置(例えば、磁気ディスク、光学ディスク、メモリ、プログラム可能な論理装置(PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラム可能なプロセッサに提供するために使用された任意の信号を指す。
【0100】
ユーザと情報交換を行うために、本明細書に記載のシステムおよび技術は、ディスプレイ素子(例えば、CRT(ブラウン管)モニタまたはLCD(液晶ディスプレイ)モニタ)と、キーボードと、ポインティング装置(例えば、マウスまたはトラックボール)とを含むコンピュータ上で実装することができる。ディスプレイ素子は、情報を表示することができ、ユーザは、キーボードとポインティング装置とを用いて、コンピュータに入力を提供することができる。他の種類の装置を使用して、ユーザと情報交換を行うこともできる。例えば、ユーザに与えるフィードバックは、任意の形の感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であってもよく、ユーザから受け入れる入力は、音響入力、音声入力、または触覚入力を含む任意の形態であってもよい。
【0101】
本明細書に記載のシステムおよび技術は、バックエンド要素(例えば、データサーバ)を含むコンピューティングシステム、またはミドルウェア要素(例えば、アプリケーションサーバ)を含むコンピューティングシステム、またはフロントエンド要素(例えば、ユーザが本明細書に記載のシステムおよび技術の実装と情報交換することができるグラフィカルユーザインターフェイスまたはウェブブラウザを含むクライアントコンピュータ)を含むコンピューティングシステム、またはバックエンド要素、ミドルウェア要素およびフロントエンド要素の任意の組み合わせを含むコンピューティングシステムに実装されてもよい。これらのシステム要素は、任意の形式または媒体のデジタルデータ通信(例えば、通信ネットワーク)によって相互接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)およびインターネットを含む。
【0102】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントとサーバとは、一般に互いに遠隔であり、典型的には通信ネットワークを介して情報交換を行う。クライアントとサーバとの関係は、各々のコンピュータ上で動作しており、互いにクライアント−サーバ関係を有するコンピュータプログラムに依存する。
【0103】
複数の実施形態を説明したことにも拘わらず、本明細書の精神および範囲から離脱することなく、様々な変更をなし得ることが理解されるであろう。例えば、以下の各請求項および上述した請求項の例を任意に組み合わせることによって、更なる例示的実施形態を生み出すことができる。
【0104】
また、望ましい結果を達成するために、図示の論理フローは、示された特定の順序でまたは逐次に行う必要がない。図示のフローに他のステップを追加してもよく、または図示のフローから他のステップを省いてもよい。記載のシステムに他の要素を追加してもよく、システムから他の要素を除去してもよい。したがって、他の実施形態は、添付の特許請求の範囲内に含まれる。
【要約】
全方向立体コンテンツを撮影するモバイル装置のシステムおよび方法は、撮影シーンの複数の画像を撮影するための指示を受信するステップと、モバイル装置に備えられたカメラを用いて、複数の画像を撮影するステップと、撮影中に複数の画像の表現をモバイル装置の画面に表示し、複数の画像の撮影中にターゲット撮影経路とモバイル装置に関連するソース撮影経路に対応する整列情報を提供する標識とを含む合成画像を提示するステップとを含む。システムは、ソース撮影経路の一部がターゲット撮影経路に一致していないことを検出することができる。システムは、更新された標識を画面に提供することができる。この更新された標識は、ソース撮影経路をターゲット撮影経路に合わせるようにモバイル装置を調整するように、モバイル装置のユーザを促すプロンプトを含む。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11