(57)【要約】      （修正有）【課題】モバイル装置を用いて撮影した画像から、全方向立体パノラマを生成する方法を提供する。【解決手段】方法は、撮影シーンの複数の画像を撮影するための指示を受信するステップと、モバイル装置に備えられたカメラを用いて、複数の画像を撮影するステップと、撮影中に複数の画像の表現をモバイル装置の画面に表示し、複数の画像の撮影中にターゲット撮影経路とモバイル装置に関連するソース撮影経路に対応する整列情報を提供する標識とを含む合成画像を提示するステップとを含む。システムは、ソース撮影経路の一部がターゲット撮影経路に一致していないことを検出し、更新された標識を画面に提供することができる。この更新された標識は、ソース撮影経路をターゲット撮影経路に合わせるようにモバイル装置を調整するように、モバイル装置のユーザを促すプロンプトを含む。【選択図】図９
2018160917.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって実施される方法であって、
モバイル装置を用いて、撮影シーンの複数の画像を撮影するための指示を受信するステップと、
前記モバイル装置に備えられたカメラを用いて、前記複数の画像を撮影するステップと、
前記複数の画像の撮影中に前記複数の画像の表現を前記モバイル装置の画面に表示し、前記複数の画像の撮影中にターゲット撮影経路と前記モバイル装置に関連するソース撮影経路に対応する整列情報を提供する標識とを含む合成画像を前記画面に提示するステップと、
撮影中に、前記ソース撮影経路の一部が前記ターゲット撮影経路の一部に一致していないことを検出することに応答して、更新された標識を前記画面に提供するステップとを含み、前記一致は、少なくとも部分的に閾値条件に基づき、
前記更新された標識は、前記ソース撮影経路を前記ターゲット撮影経路に合わせるように、前記モバイル装置のユーザに前記モバイル装置を調整させるためのプロンプトを含む、方法。
【請求項２】
前記ソース撮影経路は、前記撮影シーンの前記複数の画像を撮影するために、前記モバイル装置によって行った掃引動作を含み、
前記ソース撮影経路は、前記モバイル装置の向きおよび角度に関連する、請求項１に記載の方法。
【請求項３】
前記ターゲット撮影経路は、円形経路を含み、
前記複数の画像を撮影するステップは、前記モバイル装置が約１０ｃｍ〜約７５ｃｍの直径を有する前記ターゲット撮影経路を横移動するように、前記モバイル装置を整列させることによって、前記モバイル装置を用いて画像コンテンツを記録することに対応する、請求項１に記載の方法。
【請求項４】
前記整列情報は、前記モバイル装置の向きおよび位置角に関連する移動に対応するジャイロ測定値のグラフ表現を含む、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記モバイル装置の前記位置角は、基面および前記ソース撮影経路に関連する平面に対する方位角を形成する半透明画像内の図形として表され、
前記半透明画像は、前記合成画像に結合される、請求項４に記載の方法。
【請求項６】
前記モバイル装置の前記位置角は、前記モバイル装置上のカメラレンズの前面と直交する平面から回転された角度の測定値と、前記モバイル装置上の前記カメラレンズの前面と平行する平面から回転された角度の測定値とを含む、請求項４に記載の方法。
【請求項７】
撮影中に、より遅い速度で前記画像を撮影するための指示を前記画面で受け取るステップをさらに含む、請求項１〜６のいずれか１項に記載の方法。
【請求項８】
前記撮影シーン内の追加の画像コンテンツを撮影するための更新された位置角を用いて前記撮影シーンの追加の画像撮影を実行するための指示を前記画面で受け取るステップをさらに含む、請求項１〜７のいずれか１項に記載の方法。
【請求項９】
前記画面内の前記指示は、前記追加の画像撮影を実行している間に、前記モバイル装置を前記更新された位置角に維持することを前記モバイル装置のユーザに指示し、
前記追加の画像撮影は、前記モバイル装置のカメラレンズを前記撮影シーンに関連する基面と直交するときに、実行され、
前記更新された位置角は、（ｉ）カメラレンズに対して約４０°の後方傾斜、または（ｉｉ）カメラレンズに対して約４０°の前方傾斜を含む、請求項８に記載の方法。
【請求項１０】
命令を含むコンピュータプログラムであって、これらの命令は、プロセッサによって実行されると、コンピュータシステムに以下のステップを実行させ、当該ステップは、
モバイル装置を用いて、撮影シーンの複数の画像を撮影するための指示を受信するステップと、
前記モバイル装置に備えられたカメラを用いて、前記複数の画像を撮影するステップと、
前記複数の画像の撮影中に前記複数の画像の表現を前記モバイル装置の画面に表示し、前記複数の画像の撮影中にターゲット撮影経路と前記モバイル装置に関連するソース撮影経路に対応する整列情報を提供する標識とを含む合成画像を前記画面に提示するステップと、
撮影中に、前記ソース撮影経路の一部が前記ターゲット撮影経路の一部に一致していないことを検出することに応答して、更新された標識を前記画面に提供するステップとを含み、前記一致は、少なくとも部分的に閾値条件に基づき、
前記更新された標識は、前記ソース撮影経路を前記ターゲット撮影経路に合わせるように、前記モバイル装置のユーザに前記モバイル装置を調整させるためのプロンプトを含む、プログラム。
【請求項１１】
前記ソース撮影経路は、前記撮影シーンの前記複数の画像を撮影するために、前記モバイル装置によって行った掃引動作を含み、
前記ソース撮影経路は、前記モバイル装置の向きおよび角度に関連する、請求項１０に記載のプログラム。
【請求項１２】
前記整列情報は、前記モバイル装置の向きおよび位置角に関連する移動に対応するジャイロ測定値のグラフ表現を含む、請求項１０または１１に記載のプログラム。
【請求項１３】
前記撮影シーン内の追加の画像コンテンツを撮影するための更新された位置角を用いて前記撮影シーンの追加の画像撮影を実行するための指示を前記画面で受け取るステップをさらに含む、請求項１０〜１２のいずれか１項に記載のプログラム。
【請求項１４】
前記画面内の前記指示は、前記追加の画像撮影を実行している間に、前記モバイル装置を前記更新された位置角に維持することを前記モバイル装置のユーザに指示し、
前記追加の画像撮影は、前記モバイル装置のカメラレンズを前記撮影シーンに関連する基面と直交するときに、実行され、
前記更新された位置角は、（ｉ）カメラレンズに対して約４０°の後方傾斜、または（ｉｉ）カメラレンズに対して約４０°の前方傾斜を含む、請求項１３に記載のプログラム。
【請求項１５】
システムであって、
少なくとも１つのプロセッサと、
命令を記憶するメモリとを備え、これらの命令は、前記少なくとも１つのプロセッサによって実行されると、前記システムに以下の動作、すなわち、
撮影中にモバイル装置の画面に表示されるコンテンツを撮影する動作と、
撮影中に前記モバイル装置の前記画面に絵入りグラフィックを表示する動作とを実行させ、前記絵入りグラフィックは、ターゲット撮影経路と前記モバイル装置の移動に関連するソース撮影経路に対応する整列情報を提供する標識とを提供するように構成され、
画像撮影中に、前記モバイル装置の移動に関連する前記ソース撮影経路が前記ターゲット撮影経路と異なることを検出することに応答して、前記画面に更新された標識を提供する動作を実行させ、前記更新された標識は、前記ソース撮影経路を前記ターゲット撮影経路に合わせるように、前記モバイル装置のユーザに前記モバイル装置を調整させるためのプロンプトを含む、システム。
【請求項１６】
前記絵入りグラフィックは、前記モバイル装置の移動を検出したことに応答して、リアルタイムで動的に更新する、請求項１５に記載のシステム。
【請求項１７】
前記絵入りグラフィックは、前記ターゲット撮影経路を示す第１部分と、前記モバイル装置の移動に関連する前記ソース撮影経路を示す第２部分とを含み、
前記第１部分および第２部分は、前記第２部分を前記第１部分に合わせるコースを示す、請求項１５に記載のシステム。
【請求項１８】
前記第１部分は、円を示し、
前記第２部分は、前記円からの偏差を示す、請求項１７に記載のシステム。
【請求項１９】
前記整列情報は、前記モバイル装置の位置角に沿った移動に対応するジャイロ測定値の絵入りグラフィックを含む、請求項１５〜１８のいずれか１項に記載のシステム。
【請求項２０】
前記絵入りグラフィックは、前記モバイル装置の前記移動に関連する前記ソース撮影経路を前記ターゲット撮影経路に合わせるためのコースを提供する少なくとも１つの標識を含む、請求項１５〜１９のいずれか１項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願との相互参照
本願は、２０１５年５月２６日に出願され、「Omnistereo Capture For Mobile Devices」と題された米国特許出願第１４／７２１６１２号の優先権および利益を主張するもの
であり、その開示が引用により本明細書に援用される。
【０００２】
技術分野
本願は、一般に、全方向立体パノラマの生成に関する。具体的には、本願は、モバイル装置を用いて撮影した画像から、全方向立体パノラマを生成することに関する。
【背景技術】
【０００３】
背景
画像およびビデオに対してパノラマ撮影技術を行うことによって、広い視界で撮影シーンを形成することができる。従来、パノラマ撮影技術および画像化技術を使用して、従来のカメラで撮影したいくつかの隣接する写真から、パノラマ画像を形成することができる。これらの写真を一列にマウントすることによって、完全なパノラマ画像を形成することができる。
【発明の概要】
【課題を解決するための手段】
【０００４】
概要
１つ以上のコンピュータからなるシステムに、作動されると、システムに動作を実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせがインストールされているため、このようなシステムは、特定の操作または動作を実行するように構成することができる。１つ以上のコンピュータプログラムは、実行されたと、データ処理装置に動作を実行させる命令を含むため、特定の操作または動作を実行するように構成することができる。
【０００５】
１つの一般的な態様において、コンピュータ実装の方法は、撮影シーンの複数の画像を撮影するための指示をモバイル装置に受信するステップと、モバイル装置に備えられたカメラを用いて、複数の画像を撮影するステップと、複数の画像の撮影中に複数の画像の表現をモバイル装置の画面に表示し、複数の画像の撮影中にターゲット撮影経路とモバイル装置に関連するソース撮影経路に対応する整列情報を提供する標識とを含む合成画像を画面に提示するステップと、撮影中に、ソース撮影経路の一部がターゲット撮影経路の一部に一致していないことを検出することに応答して、更新された標識を画面に提供するステップとを含む。一致は、少なくとも部分的に閾値条件に基づいている。更新された標識は、ソース撮影経路をターゲット撮影経路に合わせるように、モバイル装置のユーザにモバイル装置を調整させるためのプロンプトを含むことができる。
【０００６】
実現例は、単独で以下の特徴のうち１つ以上を含むことができ、または以下の特徴のうちの１つ以上を１つ以上の他の特徴と合わせて含むことができる。例えば、ソース撮影経路は、撮影シーンの複数の画像を撮影するために、モバイル装置の横移動による掃引動作であってもよく、ソース撮影経路は、モバイル装置の向きおよび位置角に関連してもよい。また、ターゲット撮影経路は、円形経路であってもよく、複数の画像を撮影するステップは、モバイル装置が約１０ｃｍ〜約７５ｃｍの直径を有するターゲット撮影経路を横移動するように、モバイル装置を整列させることによって、モバイル装置を用いて画像コンテンツを記録することに対応してもよい。いくつかの実現例において、整列情報は、モバ
イル装置の向きおよび位置角に関連する移動に対応するジャイロ測定値のグラフ表現を含むことができる。モバイル装置の位置角は、基面およびソース撮影経路に関連する平面に対する方位角を形成する半透明画像内の図形として表されてもよく、半透明画像は、合成画像に結合されてもよい。いくつかの実現例において、モバイル装置の位置角は、モバイル装置上のカメラレンズの前面と直交する平面から回転された角度の測定値と、モバイル装置上のカメラレンズの前面と平行する平面から回転された角度の測定値とを含む。
【０００７】
上述した実現例のいずれか１つまたは全てにおいて、方法は、撮影中に、より遅い速度で画像を撮影するための指示を画面で受け取ることを含むことができる。上述した実現例のいずれか１つまたは全てにおいて、この方法は、撮影シーン内の追加の画像コンテンツを撮影するための更新された位置角を用いて撮影シーンの追加の画像撮影を実行するための指示を画面で受け取るステップをさらに含むこともできる。いくつかの実現例において、画面内の指示は、追加の画像撮影を実行している間に、モバイル装置を更新された位置角に維持することをモバイル装置のユーザに指示する。追加の画像撮影は、モバイル装置のカメラレンズを撮影シーンに関連する基面と直交するときに、実行され手もよい。更新された位置角は、（ｉ）カメラレンズに対して約４０°の後方傾斜、または（ｉｉ）カメラレンズに対して約４０°の前方傾斜を含む。
【０００８】
上述した実現例のいずれか１つまたは全てにおいて、方法は、モバイル装置を用いて撮影した画像をコンピューティング装置に取得するステップを含み、画像は、円形経路上の複数の点から取得されたコンテンツを含み、コンピューティング装置を用いて、３Ｄ空間においてレンダリングするための画像を調整するステップを含むことができる。調整するステップは、少なくとも２つの画像の間の少なくとも１つの重複部分を判定するステップを含み、重複部分は、少なくとも２つの画像内の画素間の一致部分を含み、重複部分に含まれた画素の一部を選択するステップと、画素の各部分を垂直に整列させ、各部分を結合することによって、撮影シーンの３Ｄセグメントを生成するステップと、少なくとも２つの画像の間に重複部分が存在していないと判定したことに応答して、少なくとも２つの画像から複数の画素をサンプリングすることによって、少なくとも２つの画像の間に入れる追加の画像コンテンツを生成し、追加の画像コンテンツを３Ｄセグメントに結合するステップとを含むことができる。上述した実現例のいずれか１つまたは全てにおいて、方法は、ヘッドマウントディスプレイにおいて、３Ｄセグメントを撮影シーンの一部としてレンダリングするステップをさらに含むことができる。
【０００９】
上述した実現例のいずれか１つまたは全てにおいて、円形経路は、約１０ｃｍ〜約７５ｃｍの直径を有する可変経路を含むことができる。上述した実現例のいずれか１つまたは全てにおいて、この方法は、撮影時に発生した横方向ロール移動、撮影時に発生したカメラの非共形円弧移動、および撮影時に発生した一貫性のない半径測定を補正することによって、３Ｄ空間にレンダリングするための画像を調整するステップをさらに含むことができる。
【００１０】
上述した実現例のいずれか１つまたは全てにおいて、方法は、画像の乱れを除去するために２つ以上の画像からの複数の画素をブレンドすることによって、画像コンテンツを結合するステップを含むことができる。乱れは、撮影姿勢に少なくとも部分的に関連する整列不良を含むことができる。上述した実現例のいずれか１つまたは全てにおいて、画像は、撮影シーンの複数の連続の画像フレームを含むことができる。
【００１１】
別の一般的な態様において、システムは、少なくとも１つのプロセッサと、命令を記憶するメモリとを備えることができる。これらの命令は、少なくとも１つのプロセッサによって実行されると、システムに以下の動作、すなわち、撮影中にモバイル装置の画面に表示されるコンテンツを撮影する動作と、撮影中にモバイル装置の画面に絵入りグラフィッ
クを表示する動作とを実行させ、グラフィックは、ターゲット撮影経路とモバイル装置の移動に関連するソース撮影経路に対応する整列情報を提供する標識とを提供するように構成され、画像撮影中に、モバイル装置の移動に関連するソース撮影経路がターゲット撮影経路と異なることを検出することに応答して、画面に更新された標識を提供する動作を実行させ、更新された標識は、ソース撮影経路をターゲット撮影経路に合わせるように、モバイル装置のユーザにモバイル装置を調整させるためのプロンプトを含む。
【００１２】
上述した実現例のいずれか１つまたは全てにおいて、システムは、モバイル装置の移動を検出したことに応答して、リアルタイムで動的に更新する絵入りグラフィックを含むことができる。上述した実現例のいずれか１つまたは全てにおいて、絵入りグラフィックは、ターゲット撮影経路を示す第１部分と、モバイル装置の移動に関連するソース撮影経路を示す第２部分とを含み、第１部分および第２部分は、第２部分を第１部分に合わせるコースを示す。上述した実現例のいずれか１つまたは全てにおいて、第１部分は、円を示し、第２部分は、円からの偏差を示す。
【００１３】
上述した実現例のいずれか１つまたは全てにおいて、整列情報は、モバイル装置の位置角に沿った移動に対応するジャイロ測定値の絵入りグラフィックを含む。上述した実現例のいずれか１つまたは全てにおいて、絵入りグラフィックは、モバイル装置の移動に関連するソース撮影経路をターゲット撮影経路に合わせるためのコースを提供する少なくとも１つの標識を含む。
【００１４】
この態様の他の実施形態は、各々が方法の動作を実行するように構成された対応のコンピュータシステム、コンピュータ装置、および１つ以上のコンピュータ記憶装置に記録されたコンピュータプログラムを含む。
【００１５】
１つ以上の実現例の詳細は、添付の図面および以下の説明に記載されている。他の特徴は、説明および図面ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１６】
【図１】３Ｄバーチャルリアリティ（ＶＲ）環境において立体画像を取得してレンダリングするための例示的なシステムを示すブロック図である。
【図２】パノラマビューを撮影するモバイル装置の一例を示す図である。
【図３】視界内の撮影シーンの画像を撮影するモバイル装置の一例を示す図である。
【図４】モバイル装置を用いて画像を撮影する例示的な経路を示す図である。
【図５】モバイル装置を用いて画像を撮影する例を示す図である。
【図６】画像撮影中のモバイル装置の一例を示す図である。
【図７】画像撮影中のモバイル装置の別の例を示す図である。
【図８】画像撮影中のモバイル装置のさらに別の例を示す図である。
【図９】画像を撮影するプロセスの一実施形態を示すフローチャートである。
【図１０】画像をレンダリングするプロセスの一実施形態を示すフローチャートである。
【図１１】本明細書に記載の技術を実施するために使用できるコンピュータ装置およびモバイルコンピュータ装置の例を示す図である。
【発明を実施するための形態】
【００１７】
詳細な説明
様々な図面において、同様の参照符号は、同様の要素を示す。
【００１８】
以下の開示は、モバイル装置上で全方向立体パノラマの取得および生成に使用することができるいくつかの技術を記載する。モバイル装置は、画像コンテンツを撮影することに
関する指示、通知、または他の通信を受信することができる。例えば、モバイル装置上で動作するアプリケーションは、撮影中に、装置の向きが斜めになっているまたはコンテンツを取得していないことをユーザに通知することができる。これに応答して、ユーザは、モバイル装置の向きを変更することによって撮影を修正することができる。特定の撮影が完了すると、本開示に記載のアルゴリズムは、モバイル装置からの撮影コンテンツを使用して、３Ｄ全方向立体画像を形成することができる。
【００１９】
図１は、３Ｄバーチャルリアリティ（ＶＲ）環境における立体画像を取得してレンダリングするための例示的なシステム１００を示すブロック図である。例示的なシステム１００において、モバイル装置１０２を用いて画像および／またはビデオを撮影し、解析および処理のために、ネットワーク１０４を介してこれらの画像またはビデオを画像処理システム１０６に提供することができ、またはこれらの画像またはビデオを直接に画像処理システム１０６に提供することができる。システム１００のいくつかの実現例において、画像処理システム１０６は、モバイル装置１０２の一部として設けられる。他の実現例において、画像処理システム１０６のいくつかの部分は、モバイル装置１０２上に設けられ、画像処理システム１０６の他の部分は、別のコンピューティングシステムに設けられる。
【００２０】
モバイル装置１０２は、携帯電話、電子タブレット、ラップトップ、カメラ、または画像データを取得するために使用できる他の電子装置であってもよい。いくつかの実現例において、モバイル装置１０２は、静止画像を撮影するように構成することができる。いくつかの実現例において、モバイル装置１０２は、ビデオを撮影し、撮影したコンテンツを個々のフレームまたはビデオ（例えば、．ａｖｉファイル）として格納するように構成することができる。格納された画像は、インターネット、別のサーバまたは装置にアップロードされてもよく、モバイル装置１０２にローカルに格納されてもよい。いくつかの実現例において、入来画像は、エンコードされた画像またはビデオとして格納されてもよい。一般に、本開示の全体に記載された画像は、撮影シーンの複数の連続の画像フレームまたは不連続の画像フレームを含むことができる。いくつかの実現例において、本開示の全体に記載された画像は、連続の画像セットおよび不連続の画像セットの両方を含むことができる。画像は、２次元または３次元で撮影されてもよい。
【００２１】
装置１０２の作動時に、ユーザは、装置１０２上のカメラ（撮影装置とも呼ぶことができる）を利用して、装置１０２を選定した方向に保持し、装置１０２を撮影経路に沿ってパンするまたは掃引することによって、画像を撮影することができる。一般に、装置１０２を撮影経路に沿って掃引することは、ユーザが頭部または身体（もしくは身体の一部）の周りの円形撮影経路（または別の形状または輪郭の撮影経路）に沿って装置１０２を移動することを含む。このような掃引中、ユーザは、円形撮影経路（または別の形状または輪郭の撮影経路）に沿って、装置１０２をユーザから離れて外側の風景に向けることができる。いくつかの実現例において、撮影経路は、単一の平面内に配置されてもよく、または単一の平面に沿って整列されてもよく、または湾曲されてもよく、または直線部分を有してもよく、または１つ以上の不連続部を有してもよい。いくつかの実現例において、撮影経路は、複数の平面内に配置された部分または複数の平面に沿って整列された部分を有してもよい。
【００２２】
経路（例えば、撮影経路）を掃引しながら画像を撮影する間に、モバイル装置１０２は、特定の撮影設定を変更する指示を受信することができる。撮影設定は、モバイル装置の姿勢／撮影位置／角度／ピッチ／ロール／、カメラの照明／露出に関する設定、水平傾きまたは垂直傾きまたは回転、カメラ撮影の掃引速度などを含むが、これらに限定されない。
【００２３】
画像の撮影中にモバイル装置１０２が画像を撮影するユーザに指示を与えることによっ
て、ユーザは、画像の撮影中に変更を行うことができる。指示は、ユーザが画像を撮影している向きおよび／または角度を変更するような指示であってもよい。一例において、指示は、装置１０２の画面に表示されてもよい。一例において、指示は、装置１０２によって撮影されているコンテンツと共に、装置１０２の画面に表示されてもよい。非限定的な例において、指示は、撮影されているコンテンツに重ねられて表示され、合成画像を形成する。この合成画像は、撮影されている画像と、撮影設定を変更するための指示とを示している。いくつかの実現例において、合成画像は、撮影されている画像と、撮影されている画像上に重ねられた（例えば、可視的に重ねられ、透明に重ねられまたｈ半透明に重ねられた）指示とを含むことができる。装置１０２の画面に示されたように、アプリケーションコンテンツは、標識１０３を用いて、能動的に画像を撮影し、撮影設定に関するフィードバックを受信する画像撮影アプリケーションを表現している。
【００２４】
画像を撮影した後、画像処理システム１０６（またはモバイル装置１０２）は、画像にいくつかの処理を実行することによって、３Ｄ全方向立体画像を生成することができる。生成された３Ｄ全方向立体画像は、例えば、ネットワーク１０４を介してレンダリングするために、頭部装着型ディスプレイ（ＨＭＤ）装置１１０に提供されてもよい。一部の実現例において、画像処理システム１０６は、レンダリング、格納またはさらに処理するために、既に処理された画像をモバイル装置１０２および／またはコンピューティング装置１１２に提供することもできる。
【００２５】
ＨＭＤ装置１１０は、バーチャルリアリティヘッドセット、バーチャルリアリティ眼鏡、バーチャルリアリティ接眼鏡、またはバーチャルリアリティコンテンツを表示することができる他の装着装置であってもよい。動作中、ＨＭＤ装置１１０は、ＶＲアプリケーション（図示せず）を実行することができ、このＶＲアプリケーションは、受信した画像および／または処理した画像をユーザに対して再生することができる。いくつかの実現例において、ＶＲアプリケーションは、図１に示された１つ以上の装置１０２、１０６または１１２にホストされてもよい。一例において、ＨＭＤ装置１１０は、モバイル装置１０２によって取得された撮影シーンの静止画像および／またはビデオを再生することができる。一般に、再生は、画像を３Ｄ立体シーンに作成することによって、撮影シーンのリアルなビューをユーザに提供することができる。
【００２６】
いくつかの実施態様において、複数のモバイル装置を使用して、撮影シーンの画像を撮影することができる。例えば、モバイル装置１０２は、特定の撮影シーンの追加画像を撮影するために、カメラリグ（図示せず）上に配置された多くのモバイル装置のうちの１つであってもよい。カメラリグは、例えば、ＶＲ環境においてコンテンツをレンダリングするための画像データを収集するための画像撮影装置および／または画像処理装置として使用するように構成することができる。カメラリグは、ビデオカメラ、画像センサおよび／または赤外線カメラ、ならびに撮影された画像を処理する処理回路を備えるように構成されたモバイル装置を含むことができる。
【００２７】
図１に示すように、画像処理システム１０６は、撮影調整モジュール１１６と、スティッチングモジュール１１８と、レンダリングモジュール１２０とを含む。撮影調整モジュール１１６は、画像撮影中に、モバイル装置の向きおよび／または位置を調整するように、ユーザに指示を与えるように構成することができる。例えば、ユーザが特定の撮影経路に一致していない角度でモバイル装置１０２を保持している場合、装置１０２は、グラフィック、命令、または他の通信を装置のディスプレイ上に表示することができる。
【００２８】
いくつかの実現例において、撮影調整モジュール１１６は、モバイル装置１０２上で動作するアプリケーションにコンテンツを提供することができる。コンテンツは、画像撮影中に提供されてもよく、モバイル装置１０２の画面上の絵入りグラフィックを含んでもよ
い。絵入りグラフィックは、撮影された画像と並んで、撮影された画像に重ねて、または撮影された画像に結合された形で、画面上に提示されてもよい。絵入りグラフィックは、撮影経路の候補と、モバイル装置１０２の移動に関連する撮影経路に対応する整列情報を提供する標識とを与えるように構成することができる。整列情報を提供する標識は、モバイル装置１０２の撮影方向または位置を調整するように、ユーザを支援することができる指示に関するテキストまたはグラフィックを提供する修正標識であってもよい。例えば、撮影経路の候補を示すグラフィックは、モバイル装置１０２の掃引動作によって通過した実際の撮影経路を示すグラフィックと重なることができる。モバイル装置１０２を用いて撮影シーンを掃引するユーザは、これらの経路を視認しながら、実際の撮影経路の一部を撮影経路の候補の一部に合わせるように、手動でモバイル装置の向きまたは位置を調整することができる。いくつかの実現例において、グラフィックは、撮影経路に沿って撮影シーンの特定の部分を再掃引するように、ユーザに指示することができる。例えば、グラフィックは、ビデオをバックアップし、その一部を再撮影するように、ユーザに指示することができる。別の例において、グラフィックは、特定の撮影シーンの撮影経路の全体を再掃引するように、ユーザに指示することができる。このような例において、グラフィックまたはグラフィックと並んだテキストは、再撮影の角度を示すことができる。いくつかの例において、グラフィックは、追加の撮影を行う前に、カメラの詳細設定を調整するように、ユーザに指示することができる。
【００２９】
提案される特定の撮影経路は、モバイル装置１０２に備えられたカメラの検出された向きまたは角度に基づいて構成することができる。例えば、モバイル装置１０２は、オンボード加速度計またはジャイロ検出装置（図示せず）を含むことができる。これらのオンボード加速度計またはジャイロ検出装置を使用して、カメラ（例えば、モバイル装置１０２に備えられたカメラ）の向きまたは角度を決定することができる。これらの情報を用いて、提案／所望の撮影経路を生成して提供することができる。例えば、モバイル装置１０２は、撮影中に撮影シーンを分析することによって、照明、水平配置または視界を決定することができ、撮影経路または撮影速度の候補は、これらの情報に基づいていてもよい。いくつかの実現例において、撮影経路の候補は、カメラの設定または制限に基づいて構成されてもよい。例えば、モバイル装置１０２は、縦方向に対応する１つの視界を使用して画像を撮影することができ、横方向に対応する別の視界を使用して画像を撮影することもできる。それに応じて、撮影経路を修正することができる。モバイル装置上のアプリケーションは、撮影経路の候補を動的に更新および変更することができ、撮影中にそれらの変更をモバイル装置１０２の画面にリアルタイムに表示させることができる。
【００３０】
例えば、ユーザは、カメラを所望の向き／角度に保持して、撮影経路の初期位置を規定することによって、撮影経路の候補（またはターゲット経路）を生成することができる。（ユーザがカメラのＵＩ上でボタンを押すことによって特定することができる）初期位置に基づいて、モバイル装置は、経路を計算することができる。経路は、円形に形成される。カメラの現在（初期）位置は、当該円形の上に位置している。当該円形は、カメラの光軸に平行な平面に位置し且つ所定の半径（またはユーザによって選択され得る半径）を有する。このような計算に基づいて、提案された経路を「目標経路」として計算することができる。なお、１つ以上の例において、目標経路は、撮影中にカメラが取る位置を示すだけでなく、撮影中に経路を追従するカメラの特定の角度および向きを示す。撮影経路の候補は、撮影中にカメラが追従する軌道を示すと共に、軌道を追従するときにカメラが取る向きおよび角度を示す。１つ以上の例において、撮影中にカメラの移動によって形成された（およびモバイル装置の加速度計／ジャイロなどによって測定された）実際の撮影経路は、実際の撮影中にカメラの位置、向きおよび角度と撮影経路の候補によって指定されたカメラの位置、向きおよび角度とを比較することによって、撮影経路の候補と比較することができる。したがって、１つ以上の例において、撮影経路の候補上のカメラの位置、角度および／または向きと、実際の撮影経路上のカメラの位置、角度および／または向きと
の間の偏差または不一致をユーザに表示することができる。このような偏差または不一致は、撮影経路の候補の１つ以上の部分が実際の撮影経路の（対応）部分と一致しない場合に生じ得る。このようにして、画像の撮影品質を向上させることができる。その目的のために、１つ以上の例において、ユーザへの指示は、撮影経路の候補と実際の撮影経路とを再度一致させるように、カメラの位置および／または向きおよび／または角度を修正する方法を示す指示を含むことができる。
【００３１】
例えば、撮影経路を表示するアプリケーションは、画像撮影中に、モバイル装置の移動に関連する撮影経路（例えば、実際の撮影経路）が撮影経路の候補と異なることを検出することができる。アプリケーションは、両方の経路が一致しないことを検出した場合、モバイル装置１０２に更新された標識を提供することができる。更新された標識は、調整が必要であることをモバイルユーザに指示するプロンプト、グラフィック、サウンドまたはテキストを含むことができる。いくつかの実現例において、撮影調整モジュール１１６は、画像撮影中にカメラの非円形軌道の一方または両方を補正するおよび／または画像撮影中にカメラの非平行主軸を補正するように構成することができる。このような補正の更なる例は、図４〜図８を参照して詳細に説明される。
【００３２】
いくつかの実現例において、撮影調整モジュール１１６は、撮影後の画像を修正するように構成することができる。一部の例として、画像が撮影された後、モジュール１１６は、例えば、非円形のカメラの軌道または掃引、非平行な（カメラ）主軸、および／またはカメラの軌道に関する不正確な視線方向を補正することができる。
【００３３】
スティッチングモジュール１１８は、画像の乱れを除去するために、いくつかの画像フレームからの２列以上の画素をブレンドするまたはステッチするように構成することができる。例示的な乱れは、露出不良（または画像フレーム間の露出変化）に起因する乱れ、および／またはモバイル装置カメラに関連する姿勢に基づく整列不良に起因する乱れを含む。いくつかの実現例において、モジュール１１８は、２列画素の間に追加のコンテンツをブレンドすることによって、画像フレームに欠落したコンテンツを提供することができる。他の実現例において、モジュール１１８は、２列画素の間に追加のコンテンツをブレンドすることによって、画像フレーム内の乱れを除去することができる。
【００３４】
いくつかの実現例において、スティッチングモジュール１１８は、画像撮影中に発生した横方向ロール移動を補正することによって、３Ｄ空間にレンダリングするための撮影画像を調整するように構成することができる。いくつかの実現例において、スティッチングモジュール１１８は、画像撮影中に生じたカメラの非共形円弧移動を補正することによって、３Ｄ空間にレンダリングするための撮影画像を調整するように構成することができる。いくつかの実現例において、スティッチングモジュール１１８は、画像撮影中に生じた（撮影経路に関連する）一貫性のない半径測定を補正することによって、３Ｄ空間にレンダリングするための画像を調整するように構成することができる。
【００３５】
いくつかの実現例において、スティッチングモジュール１１８は、共にステッチする（例えば、ブレンドする）画素列を判断することができる。例えば、モジュール１１８は、撮影された画像のデータを解析することによって、少なくとも２つの画像間の少なくとも１つの重複部分を決定することができる。重複部分は、例えば、２つの画像からの画素の一致した列または領域を含むことができる。発見した各重複部分に対して、モジュール１１８は、一致した画素の一部を選択し、各部分を垂直に整列させるようにこれらの画素を結合することができる。垂直に整列させられた画素を結合することによって、３Ｄ撮影シーンの１つのセグメントを生成することができる。重複部分が検出されなかった場合、スティッチングモジュール１１８は、画像間にブレンドされる追加の画像コンテンツを生成することができる。例えば、ヘッドマウントディスプレイにスティッチされたコンテンツ
をレンダリングすることによって、コンテンツをＶＲ環境において表示することができる。
【００３６】
いくつかの実現例において、スティッチングモジュール１１８は、モバイル装置１０２を用いて取得した画像に基づいて３Ｄ立体画像を生成するように構成することができる。スティッチングモジュール１１８は、複数の画像部分からの画素および／または画像ストリップをブレンドするように構成することができる。いくつかの実現例において、画像補間要素（図示せず）によって決定されるフローフィールド（flow field）に基づいてブレンドを行うことができる。例えば、スティッチングモジュール１１８は、隣接する画像内の関連画素の間のフローフィールド（および／またはフローベクトル）を決定するように構成することができる。フローフィールドを使用して、画像に対して行った変換と、変換が行われた画像に対する処理との両方を補正することができる。例えば、フローフィールドを使用して、撮影画像の特定の画素グリッドに対して行った変換を補正することができる。いくつかの実現例において、モジュール１１８は、周りの画像を補間することによって、撮影画像の一部ではない１つ以上の画像を生成し、生成された画像を撮影画像にインターリーブすることによって、ＶＲ環境で表示される撮影シーンの追加のバーチャルリアリティコンテンツを生成することができる。
【００３７】
いくつかの実現例において、スティッチングモジュール１１８は、特定の画像を調整することによって、オプティカルフロー（optical flow）を推定することができる。調整は、例えば、画像の一部を修正すること、画像の一部に関連するカメラの推定姿勢を決定すること、および画像の部分間のフローを決定することを含むことができる。いくつかの実現例において、スティッチングモジュール１１８は、撮影シーンの画像を撮影するために、特定の撮影経路に沿った複数の掃引によって、画像を取得する。撮影経路に沿った複数の掃引に対応する画像をスティッチすることによって、撮影シーンの３Ｄ立体映像を形成することができる。
【００３８】
撮影経路に沿った１つ以上の掃引によって撮影された画像が（歪みなくまたは不要な残像なく）実際の撮影シーンを正確に表すように適切にスティッチされていない場合、本開示に記載のシステムは、実際の撮影シーンを正確に表すように画像を調整することができる。例えば、モバイル装置１０２のようなモバイル装置を使用する場合、撮影経路は、モバイル装置１０２を保持するユーザが装置の向きを操縦することによって、激しく変化することができる。上記の図面から見られるように、撮影経路は、拘束されていない撮影経路の掃引を表す円弧または他の形状になり得る。装置の回転、撮影半径の変化、ロール、ピッチ、またはヨーの変更が全て生じる可能性がある。システム１００は、３Ｄ空間においてコンテンツをレンダリングし、コンテンツ内の特定の残光を選択し、特定の部分をスティッチして適切な視差およびオプティカルフローを提供することによって、撮影された画像のコンテンツの一部または全部を調整することができる。
【００３９】
いくつかの実現例において、モバイル装置１０２は、画像処理システム１０６として機能することができる。例えば、モバイル装置１０２を用いて撮影した特定の画像の結合が正確な３Ｄ立体シーンを形成していない場合、同一の装置１０２は、精度を改善または補正するためにこれらの画像を処理し、その後、生成された３Ｄ立体シーンをレンダリングする。特に、モバイル装置１０２は、ＶＲ環境に表示される撮影シーンの正確なレンダリングを提供するために、撮影された画像を最適化する画像処理システムを備えるように構成することができる。
【００４０】
最適化は、特定の画像フレームをスティッチすることを含むことができる。例えば、画像の撮影中に、モバイル装置１０２は、撮影された各画像フレーム内のスティッチできる画素列を決定することができる。モバイル装置１０２は、画像フレームを分析し、スティ
ッチすることによって撮影シーンを提供するポイント／列を決定することができる。モバイル装置１０２は、スティッチングに選択された各ポイント／列に対して、ポイント／列の配置データを取得し、適切なポイント／列を線状にスティッチすることによって、最終画像を形成することができる。このような最適化は、露出の不一致を修正し、カメラの位置ずれ／姿勢誤差を修正し、および／または欠落した画像フレームを修正するように機能することができる。
【００４１】
画像が適切に調整され、スティッチされると、レンダリングモジュール１２０は、画像を仮想視点から提供された現実に見えるシーンにレンダリングすることができる。例えば、モジュール１２０は、モバイル装置を用いて撮影した画像の集合をレンダリングし、これらの画像に基づいたバーチャルリアリティコンテンツを、例えばＨＭＤ装置１１０を介してユーザに提供することができる。図２〜１０に詳細に示すように、撮影シーンは、単一の円形掃引、部分掃引、複数掃引および／またはいくつかの姿勢位置で撮影されたシーンの画像に基づいて、レンダリングされてもよい。
【００４２】
本開示に記載された実施形態は、１つ以上の利点を提供することができる。例えば、本明細書に記載の方法およびシステムは、モバイル装置に設けられたカメラに関連する限定的な視界を使用して、撮影シーンに対して行った複数の撮影イベントから得られたコンテンツをスティッチすることによって、３Ｄ全方向立体画像を生成することができる。いくつかの実現例において、約９０°の垂直視界および／または約９０°の水平視界を有する装置を用いて、画像を撮影することができる。また、本明細書に記載の方法およびシステムは、モバイル装置１０２のユーザに、リアルタイムで（すなわち、シーンの撮影中に）モバイル装置１０２を調整して、カメラの経路、方向およびカメラの角度を監視および制御するように指示することによって、特定のコンテンツまたは特定の角度がシーンにおいて正確に取得されることを保証することができる。
【００４３】
例示的なシステム１００において、装置１０６および１１２は、ラップトップコンピュータ、デスクトップコンピュータ、モバイルコンピューティング装置、またはゲームコンソールであってもよい。いくつかの実現例において、装置１０６および１１２は、ＨＭＤ装置１１０の近くにまたはＨＭＤ装置１１０の内部に配置するまたは設置することができるモバイルコンピューティング装置であってもよい。モバイルコンピューティング装置は、ＨＭＤ装置１１０の画面として使用され得る表示装置を含むことができる。装置１０２、１０６および１１２は、ＶＲアプリケーションを実行するためのハードウェアおよび／またはソフトウェアを含むことができる。また、装置１０２、１０６および１１２は、ＨＭＤ装置１１０の正面の位置にまたはＨＭＤ装置１１０に対して一定範囲の位置に配置または保持されたときに、ＨＭＤ装置１１０の３次元移動を認識、監視および追跡することができるハードウェアおよび／またはソフトウェアを含むことができる。いくつかの実現例において、装置１０２、１０６および１１２は、ネットワーク１０４を介して、追加のコンテンツをＨＭＤ装置１１０に提供することができる。いくつかの実現例において、装置１０２、１０６、１１０および１１２は、ペアリングまたはネットワーク１０４を介して、他の装置の中の１台とまたは全てと接続されてもよい。接続は、有線であってもよく、無線でもあってもよい。ネットワーク１０４は、公衆通信ネットワークまたは私設通信ネットワークであってもよい。
【００４４】
システム１００は、電子記憶装置を含むことができる。電子記憶装置は、情報を電子的に記憶する非一時的な記憶媒体を含むことができる。電子記憶装置は、撮影された画像、取得された画像、前処理された画像、後処理された画像などを記憶するように構成されてもよい。開示されたカメラまたは装置のいずれかで撮影された画像は、処理後、１つ以上のビデオストリームまたは個々のフレームとして保存されてもよい。いくつかの実現例において、撮影中に格納を行い、画像の一部が撮影された直後にレンダリングを行うことが
できる。これによって、撮影および処理を同時に行う場合よりも、立体画像コンテンツをより早く利用することができる。
【００４５】
図２は、パノラマビューを撮影するモバイル装置の一例を示す図である。図中のモバイル装置は、モバイル装置１０２（図１）であってもよい。この例において、ユーザは、オンボードカメラ２０１を用いて、撮影シーン２００の画像を能動的に撮影することができる。一般に、カメラ２０１は、装置１０２の画面の反対側に設けられ、ユーザから離れる方向に面する。撮影が行われている間、撮影シーンの各部分が装置１０２の画面に表示される。ユーザが撮影シーン２００の全体に亘って装置１０２を掃引するときに、画面上の風景が更新される。
【００４６】
図示の例において、ユーザは、モバイル装置１０２を垂直方向（例えば、縦方向）に保持し、撮影経路２０２に沿って装置１０２を動かす。いくつかの実現例において、モバイル装置１０２は、水平（例えば、横方向）にまたは１８０°の範囲に沿ってｘｙｚ平面内の任意の場所に保持され、装置１０２に設けられたカメラに面する撮影シーンを撮影することができる。ユーザは、円、半円または全円の一部に沿って腕または全身を移動することによって、身体の周りの円形経路に沿った掃引を行うことができる。ユーザは、様々な速度でモバイル装置１０２を移動することができ、掃引の途中で速度を変更することもできる。
【００４７】
図２に示すように、撮影経路２０２は、ユーザが装置１０２を動かして撮影シーン２００を撮影するときに、ユーザが通過した経路を示すいくつかのジョグまたはバンプを含む。また、撮影経路の候補２０４が提供され、整列した経路の例をユーザーに示すことができる。撮影経路２０４は、撮影シーン２００の掃引中に同一の方向および傾きで画像を撮影するために使用できる平滑な（例えば、連続な）円形経路として示されている。
【００４８】
モバイル装置１０２を用いて画像を撮影するときに使用された掃引動作は、一般に、ユーザによって実行された手動操作であるため、撮影経路の候補２０４以外の経路、例えば撮影経路２０２を用いて撮影された画像に対して、いくつかの修正を行う必要がある。これらの修正は、不均一な方法で撮影された画像を補正することができる。さらに、携帯電話の垂直方向は、水平方向とは異なる視界を提供することができるため、狭い視界で撮影された画像を補正するように追加の修正を行うことができる。
【００４９】
非限定的な例において、撮影経路２０２は、円形空間の円周として表すことができる。モバイル装置１０２は、オンボードカメラ（例えば、２０１）を用いて、経路２０２を掃引しながら、画像を撮影することができる。画像を撮影することは、撮影経路を通過するようにモバイル装置１０２を整列して、モバイル装置１０２で画像コンテンツを記録することに対応することができる。
【００５０】
図３は、視界内の撮影シーンの画像を撮影するモバイル装置の一例を示す図である。図中のモバイル装置は、モバイル装置１０２（図１）であってもよい。この例において、ユーザは、（例えば、オンボードカメラ２０１を用いて）、特定の視界角３０２を有する撮影シーンの画像を能動的に撮影することができる。図示の視界３０２は、約１２０°である。典型的なモバイル装置は、カメラの仕様に応じてより小さいまたはより大きな視界を提供することができるオンボードカメラを含むため、他の視界も可能である。
【００５１】
図示の例において、ユーザ３０４は、モバイル装置１０２を水平方向（例えば、横方向）に保持し、撮影経路（図示せず）に沿って装置１０２を掃引しようと準備している。図２に示すように、モバイル装置１０２を横方向に保持することによって、装置１０２を縦方向に保持する場合よりも広い水平視界で画像を撮影することができる。しかしながら、
装置を横方向に保持する場合、垂直視界が狭くなる。装置１０２上に撮影提案を提供するアプリケーションは、場合に応じて、装置の向きを提案することができる。
【００５２】
非限定的な例において、モバイル装置１０２に関連する視界は、約１００°〜約１２０°であってもよい。本明細書に記載のシステムは、補正を行うことによって、約１８０°の視界に近い画像を構築することができる。例えば、システム１００は、ユーザに指示して、装置１０２を用いて、特定の撮影経路の複数掃引を行うことによって、撮影シーンの画像を撮影することができる。複数の掃引で得られた画像は、例えば、スティッチングモジュール１１８を用いてスティッチすることによって、より大きな視界を用いて撮影した画像と似たような画像を形成することができる。
【００５３】
図４は、モバイル装置を用いて画像を撮影する例示的な経路４０２を示す図である。図示の撮影経路４０２は、円形空間の円周として表すことができる。モバイル装置１０２は、例えば、オンボードカメラ２０１を用いて経路４０２を掃引しながら、画像を撮影することができる。モバイル装置（例えば、モバイル装置１０２）を保持するユーザは、平面の円形経路４０２からなる基面に対して、装置１０２の底面（すなわち、オンボードカメラレンズの底部縁）を９０°に傾け、装置１０２を基面と同様の高さで水平に保持することができる。図示のモバイル装置１０２は、撮影シーンに向かって外側に面し、撮影経路４０２に沿って０°から３６０°まで画像コンテンツを撮影する。ユーザ４０４は、腕を水平に掃引するまたは身体を回すことによって、撮影経路４０２に沿って画像の撮影を行うことができる。
【００５４】
図５は、モバイル装置を用いて画像を撮影するための別の例示的な経路を示す図である。この例において、モバイル装置（例えば、モバイル装置１０２）は、アプリケーションコンテンツ５０２を含み、ユーザによって縦方向に保持される。アプリケーションコンテンツ５０２は、例えば、経路４０２の掃引を実行するときに、画像を適切に撮影するように、ユーザに指示して、装置の向き、方向または傾きを修正する機能を含む。
【００５５】
図５に示すように、アプリケーションコンテンツ５０２は、ナビゲーション図形ディスプレイ５０４を含む。ナビゲーション図形ディスプレイ５０４は、方向矢印５０６および５０８を用いて、異なる方法で装置１０２に設けられたカメラを移動する、傾けるまたはカメラの向きを変更するように、装置１０２のユーザに指示することができる。図示の装置１０２は、円形撮影経路４０２と一致しない撮影経路５１０を使用している。アプリケーションコンテンツ５０４は、画像掃引中（すなわち、撮影中）に提供されてもよい。この例において、モバイル装置１０２は、方向矢印５０６および５０８を含むナビゲーション図形ディスプレイ５０４を受信して、現在の撮影経路５１０を撮影経路の候補４０２にうまく整列させるために、装置１０２の向きおよび傾きを変更するようにユーザを促すことができる。これらの指示は、モバイル装置１０２で撮影されている画像コンテンツの横に、画像コンテンツの近くに、画像コンテンツの上方に、または画像コンテンツの上方に透明に（例えば、半透明に）して、モバイル装置の画面に表示されてもよい。例えば、指示は、半透明の指示を画像コンテンツの上方に重なることによって形成された合成画像として提供されてもよい。これによって、ユーザが撮影されている画像コンテンツを視認すると共に、撮影経路またはプロセスを変更するための命令を読むことができるという利点を提供することができる。
【００５６】
非限定的な例において、ナビゲーション図形ディスプレイ５０４に示された標識は、モバイル装置１０２の位置角での移動に対応するジャイロ測定値（装置１０２によって取られる）のグラフ表現を提供することができる。いくつかの実現例において、ナビゲーション図形ディスプレイ５０４は、モバイル装置１０２によって測定された様々な検知入力に基づいて、アプリケーションコンテンツを提供することができる。非限定的な例において
、アプリケーションコンテンツ５０２および標識５０６、５０８は、装置１０２を撮影経路の候補または装置の位置角に整列させることに関する静止画または動画、グラフもしくはテキストを含むことができる。モバイル装置１０２の位置角は、モバイル装置上のカメラレンズの前面と直交する平面から回転された角度の測定値と、モバイル装置上のカメラレンズの前面と平行する平面から回転された角度の測定値とによって表すことができる。例えば、標識は、整列情報を提供することができ、モバイル装置１０２上のカメラレンズの前面と直交する平面に対してモバイル装置を約３０°の傾斜角から０°の傾斜角まで移動するように、ユーザに与える指示を含むことができる。いくつかの実現例において、モバイル装置１０２の位置角は、基面５１２ａおよび撮影面５１２ｂに対する方位角（標識５０６および５０８によって示される）を提供するグラフとして、装置１０２の画面に表示される。一般に、モバイル装置の位置角は、基面およびソース撮影経路に関連する平面に対する方位角を提供する半透明画像を示すグラフとして、装置１０２の画面に表示される。いくつかの実現例において、半透明画像は、上述した合成画像に結合される。
【００５７】
別の非限定的な例において、アプリケーションコンテンツ５０２および／または標識５０６、５０８は、点滅矢印、アイコンなどの印しを含むことができる。これらの印しは、標識によって装置１０２の画面に表示された撮影経路にモバイル装置１０２を維持するために、モバイル装置１０２を上下または左右移動するようにユーザに指示することができる。例えば、ユーザが特定の撮影経路を修正したことに応答して、標識は、点滅しなくなるまたは消えることができる。他の形状の標識および内容が可能である。
【００５８】
いくつかの実現例において、モバイル装置１０２は、ユーザによって実行された特定の掃引が３Ｄ画像スティッチングには不十分であることを検出したことに応答して、アプリケーションコンテンツ５０２および／または標識５０６、５０８を生成し、表示する。このような場合、モバイル装置１０２は、同様の向きまたは異なる向きで追加の掃引を実行するように、ユーザに指示することができる。同様に、モバイル装置１０２は、異なる傾斜角でいくつかの掃引を実行するように、ユーザに指示することができる。
【００５９】
一般に、指示（例えば、５０６、５０８）は、モバイル装置１０２に関連するディスプレイ上に提供されてもよい。これらの指示は、撮影されている画像コンテンツに重なることができるアプリケーションに表示されてもよい。これらの指示は、追加の掃引を実行しながら、特定の位置角で装置１０２を保持するように、モバイル装置１０２のユーザに指示することができる。追加の掃引は、例えば、撮影シーンに関連する基面に垂直に面しているモバイル装置のカメラレンズを用いて行うことができる。いくつかの例において、追加の掃引は、（例えば、基面に平行（例えば、実質的に平行）な）円形（例えば、実質的に円形）の撮影経路を用いて画像の撮影を行うときに、ユーザの外側に伸出して（モバイル装置を持っている）腕と同様の高さまたはそれに近い高さに位置する第１経路で掃引して撮影シーンを撮影する。これらの指示は、その後、第１経路の上方または下方にある撮影経路の掃引を実行するように、ユーザに指示することができる。例えば、追加の掃引を実行するために、モバイル装置の画面内で位置角を更新することができる。これによって、撮影シーンの画像を取得するために、同様の撮影経路または異なる撮影経路の特定の掃引を実行するように、ユーザに指示することができる。更新された位置角の一例は、基面に平行（例えば、実質的に平行）な撮影経路からカメラレンズを約４０°後方に傾けることを含むことができる。更新された位置角の別の例は、基面に実質的に平行な撮影経路からカメラレンズを約４０°前方に傾けることを含むことができる。上記の各掃引からの画像コンテンツを結合することによって、システム１００は、撮影シーンの球面表現を生成することができる。このような表現を用いて、３ＤのＶＲ環境において立体画像を提供することができる。
【００６０】
いくつかの実現例において、装置１０２は、特定のシーンの複数の掃引をガイドするこ
とができる。これによって、以前の掃引とほぼ同様の向きおよび異なる傾斜角で後続の掃引を行うことを保証することができる。これらの類似掃引は、各々の全方向立体画像／パノラマを提供する。これらの全方向立体画像／パノラマは、例えば、画像内の水平画素ライン上のステッチ線に沿ってスティッチすることができる。複数の掃引に差があった場合、（本明細書に記載の）オプティカルフロー技術を使用して、撮影シーンに対する掃引の間の対応関係を見付けることができる。オプティカルフローを使用して、複数の掃引をブレンドすることができる。
【００６１】
いくつかの実現例において、モバイル装置１０２は、撮影中に、モバイル装置１０２によって行った撮影シーンの掃引がモバイル装置１０２の画面に表示された提案の撮影経路に対して非直交であることを検出したことに応答して、アプリケーションコンテンツ５０２および標識５０６、５０８を生成し、表示する。この例において、ユーザが撮影経路または装置の向きを変更する場合、モバイル装置１０２は、更新された修正指示または情報を装置１０２の画面に表示することができる。いくつかの実現例において、更新された情報は、装置１０２を調整するようにユーザに指示する構成されたグラフィック、アイコン、テキスト命令、サウンド、または追加の標識を含むことができる。例えば、モバイル装置１０２は、撮影中に、より遅い速度またはより速い速度で掃引を行うように、アプリケーションコンテンツ５０２に対応する装置１０２の画面内に指示を受信することができる。他の実現例において、ユーザが撮影経路をモバイル装置１０２内に構成された特定の仕様に一致する経路に調整する場合、画面内のアプリケーションコンテンツ５０２が表示されなくてもよい。
【００６２】
図６は、画像の撮影中に、モバイル装置１０２の画面６０４に示されたコンテンツ６０２の一例を示す図である。図中のモバイル装置は、モバイル装置１０２（図１）であってもよい。ユーザは、モバイル装置１０２を操作して、オンボードカメラ（例えば、カメラ２０１）を使用することができる。この例において、ユーザは、撮影シーンの中心に位置しており、撮影経路を掃引することによって、ユーザを囲む（例えば、少なくとも部分的に囲む）撮影シーンの画像を撮影する。図示の撮影経路４０２は、約１０ｃｍ〜約３５ｃｍの半径６０１を有する。いくつかの実現例において、撮影経路に沿って画像を撮影するときに、半径を変更してもよい。例えば、この例ではユーザが手動でモバイル装置を操作しているため、掃引がユーザのグリップおよび物理的な移動に基づいて変化すると、半径６０１も自然に変化する。この例において、ユーザは、撮影経路６０６の全体を通過して撮影シーンの画像を撮影する可能性がある。図示のように、撮影シーンは、モバイル装置１０２上のカメラによって撮影され得る木６０８ａ、周囲の地平線、地面および空を含む。ユーザが撮影経路を掃引して撮影シーンを撮影すると、撮影シーンの各部分が装置１０２上に示される。図示のモバイル装置１０２は、木６０８ａを含む撮影シーンの一部を撮影している。木６０８ａの画像は、木６０８ｂとして表示画面６０４に表示される。また、ユーザの撮影経路６０６は、表示画面６０４上に示されている。ユーザが撮影経路６０６に沿って装置１０２をパンするまたは掃引すると、装置は、ユーザの経路６０６が撮影シーンを３Ｄ立体視およびパノラマ状況で適切に表現できる画像の提供に十分ではないことを検出することができる。すなわち、装置１０２は、例えば、３Ｄ  ＶＲ環境において撮影シーンを不正確に表示させる向き、掃引速度、モバイル装置の角度、または他の変数を検出することができる。
【００６３】
場合によって、（装置１０２上で動作する）アプリケーションは、撮影経路６０６に沿って撮影を行っている間に、モバイル装置１０２の位置、向きおよび／または角度を検出することができる。例えば、モバイル装置１０２が撮影経路４０２と一致していない撮影経路を掃引していることを検出したことに応答して、アプリケーションは、装置１０２が画像を不適切に撮影しているという指示を提供するアプリケーションコンテンツを表示させることができる。例えば、図６の円および逆斜線からなり、「ＮＯ」を示す記号６１０
は、ユーザが装置１０２にとって好ましくない方法で画像の撮影を行っていることをユーザに通知することができる。記号６１０を受信するための１つの例示的な理由は、撮影速度違反を挙げることができる。この場合、ユーザが撮影シーンの周りの撮影経路を掃引する速度が速すぎるため、装置は、特定の風景を撮影および処理することができない。
【００６４】
図７は、画像撮影中のモバイル装置の画面７０４に示されたコンテンツ７０２の別の例を示す図である。図中のモバイル装置は、モバイル装置１０２（図１）であってもよい。ユーザは、モバイル装置１０２を操作して、オンボードカメラを使用することができる。この例において、ユーザは、撮影シーンの画像を取得するために撮影経路７０６の全体を通過している間に、装置１０２を垂直方向にして画像コンテンツを撮影している。図示のように、撮影シーンは、モバイル装置１０２上のカメラによって撮影され得る木７０８ａ、周囲の地平線、地面および空を含む。ユーザが掃引して撮影シーンを撮影すると、撮影シーンの各部分が装置１０２上に示される。図６と同様に、図示のモバイル装置１０２は、木７０８ａを含む撮影シーンの一部を撮影している。木７０８ａの画像は、木７０８ｂとして表示画面７０４に表示される。
【００６５】
図７に示すように、場合によって、装置１０２は、ユーザが装置１０２を用いて僅かに傾斜した角度でコンテンツを撮影していることを検出することができる。モバイル装置１０２は、角度を修正するように、装置１０２のユーザに指示を提供することができる。例えば、標識７１０が装置１０２の画面に示されている。標識７１０は、装置１０２を左に傾けるようにユーザに指示する矢印である。装置１０２は、ユーザが傾きを補正したことを検出すると、標識７１０の表示を中止する。ユーザが傾きを過補正する場合に、標識７１０を更新して、撮影方向を修正するために装置１０２を異なる方向に傾けるように、ユーザに通知することができる。また、装置１０２は、特定のコンテンツを撮影するために装置を整列させる際にユーザを支援するアプリケーションコンテンツを提供することができる。例えば、モバイル装置１０２は、撮影シーン内の水平線が撮影経路７０６に亘って均一に撮影されていないことを検出することができる。すなわち、装置１０２は、強く傾けられた装置を用いて写真を撮影する場合、得られた写真がスティッチし難いということを判断することができる。したがって、装置１０２は、ユーザが異なる方法でモバイル装置１０２を整列させるべきであることを示す命令および／またはマーカを提供することができる。１つの例示的なマーカは、十字線７１２を含む。十字線７１２は、例えば、装置１０２を撮影経路４０２に整列させる際にユーザを支援するために使用され得る。完全な位置グリッドまたはマップ、経緯度座標、水平記号／非水平記号および他の位置標識を含む他のマーカも可能である。これらの標識およびマーカの各々は、画像コンテンツを撮影するアプリケーションに対して、装置１０２上に表示されてもよい。このようにして、補正機構が表示されている間に画像コンテンツを見ることができる。
【００６６】
図８は、画像撮影中のモバイル装置の画面８０４に示されたコンテンツ８０２のさらに別の例を示す図である。この例において、モバイル装置は、モバイル装置１０２（図１）であってもよい。ユーザは、モバイル装置１０２を操作して、オンボードカメラを使用することができる。この例において、ユーザは、撮影シーンの画像を撮影するために、撮影経路８０６の全体を通過する。モバイル装置１０２は、ユーザが３Ｄ立体コンテンツの生成に使用可能な画像を提供できない角度で装置１０２を傾けることを検出することができる。したがって、装置１０２上で動作するアプリケーションは、例えば、撮影経路を変更するようにユーザに促すことができる標識およびコンテンツを提供することができる。図８に示す標識は、十字線８１０内に位置する矢印８０８、ＮＯ記号８１２および「右に傾ける」テキスト命令８１４を含む。各記号は、命令を実行するようにモバイル装置１０２のユーザに指示することができる。いくつかの実現例において、記号は、同一の命令を示す。例えば、矢印８０８およびテキスト命令８１４の両方は、撮影経路または画像撮影プロセスを修正するために、モバイル装置１０２を右に傾ける必要があることをユーザに示
している。
【００６７】
図９は、画像を撮影するプロセス９００の一実施形態を示すフローチャートである。様々な実施形態において、プロセス９００は、図１および図１１などのシステムによって使用されてもよく、生成されてもよい。
【００６８】
一実施形態において、ブロック９０２は、モバイル装置が画像の撮影を開始する指示を受信することができることを示している。例えば、ユーザは、特定の撮影シーンの画像の撮影を開始するためにカメラアプリケーションを選択することによって、モバイル装置１０２に組み込まれたまたはモバイル装置１０２に利用可能なカメラを利用することができる。撮影シーンの画像を撮影することは、特定の撮影経路を通過するようにモバイル装置を整列させることによって、モバイル装置で画像コンテンツを記録することに対応することができる。撮影経路の直径が変化してもよい。
【００６９】
ブロック９０４において、モバイル装置１０２は、カメラを用いて、画像を撮影することができる。画像の撮影は、撮影シーンの撮影経路に沿った円形掃引の少なくとも一部の画像を取得することを含むことができる。例えば、モバイル装置１０２は、撮影シーンの円形の撮影経路に沿って記録掃引を実行しながら、画像を撮影することができる。撮影シーンの記録掃引は、静止画像の撮影および／またはビデオ動画の撮影を含むことができる。記録掃引において、例えば、撮影シーンに関連して撮影されたコンテンツが記録され、装置１０２にまたはリモートコンピューティング装置に記憶される。撮影シーンの掃引は、ユーザが手動で半円または全円に沿ってモバイル装置１０２を円弧状に移動して撮影シーンの画像を取得することを伴う。円弧状移動は、モバイル装置１０２を外側の風景に向かわせると共に、ユーザの頭または身体の周りを掃引することに対応する。
【００７０】
ブロック９０６および撮影中において、モバイル装置１０２は、装置１０２上の画像の表現を表示すると共に、目標（提案）撮影経路および標識を提示することができる。これらの標識は、画像の撮影中にモバイル装置の移動に関連するソース撮影経路に対応する整列情報を提供する。標識は、調整が必要であることをモバイル装置のユーザに示すプロンプト、グラフィック、サウンド、またはテキストを含むことができる。標識は、完全な位置グリッドまたはマップ、経緯度座標、水平記号／非水平記号、テキスト位置データおよび他の位置標識を含むが、これに限定されない典型的な位置または整列プロトコルに関連してもよい。
【００７１】
一般に、ソース撮影経路は、モバイル装置１０２が撮影シーンの複数の画像を撮影するためにソース撮影経路に沿って行った掃引動作を表すことができる。したがって、ソース撮影経路は、撮影中にモバイル装置の向きに関連する。同様に、ソース撮影経路は、モバイル装置１０２の位置角にも関連している。ターゲット撮影経路は、装置１０２またはシステム１００によって決定された所定の撮影経路または予め選択された撮影経路であり得る円形経路を表すことができる。
【００７２】
ブロック９０８において、モバイル装置１０２によって実行した撮影シーンの掃引（例えば、モバイル装置１０２によって通過したソース撮影経路）の一部がターゲット撮影経路の一部と一致していないことを検出したことに応答して、整列情報を提供する標識は、モバイル装置１０２の画面に表示されてもよい。これらの標識は、撮影中にモバイル装置１０２の画面にリアルタイムで表示されてもよい。いくつかの実現例において、標識は、合成画像の一部としてまたはそれに加えて提供される。この合成画像は、ターゲット撮影経路および標識並びに撮影されている複数の画像の１つ以上の表現を含む。標識は、例えば、撮影経路（例えば、ソース撮影経路）の全部または一部を撮影経路の候補（例えば、ターゲット撮影経路）の全部または一部に一致させるためにモバイル装置を調整するよう
に、モバイル装置のユーザを促すプロンプトを含むことができる。
【００７３】
いくつかの実現例において、プロセス９００は、モバイル装置の画面に追加の標識を受信することを含むことができる。例えば、モバイル装置１０２は、撮影中に、より遅い移動速度で特定の画像の撮影を実行する指示を受信することができる。別の例において、モバイル装置１０２は、撮影シーン内の追加コンテンツを撮影するために、更新された位置角を用いて、撮影シーンの追加画像の撮影を実行する指示を受信することができる。更新された位置角は、撮影シーンをＶＲ環境に表示するために、３Ｄ全方向立体シーンにスティッチまたはブレンドするための追加の画像コンテンツを提供することができる。例えば、ユーザが垂直方向（すなわち、縦向き）にしたモバイル装置を使用して撮影シーンの画像を撮影する場合、水平方向（すなわち、横向き）にした装置を使用して撮影した画像に対して、撮影画像に追加の垂直空間を与えることができる。この例において、ユーザがモバイル装置を円形の撮影経路の円周のから離れてまたは円周に向けて回転する場合、円形撮影から通常に使用できる光線を利用できない可能性がある。すなわち、モバイル装置１０２が円形の撮影経路にほぼ正接している撮影シーンに向かって外側に面するように保持されていない場合、得られた画像は、正確にステッチまたはブレンドすることができず、３６０°の視界を有する撮影シーンの３Ｄ全方向立体像を提供するできない。
【００７４】
いくつかの実現例において、プロセス９００は、撮影中に、モバイル装置の画面に画像コンテンツを撮影して表示すると共に、モバイル装置の画面に絵入りグラフィックを表示することができる。絵入りグラフィックは、例えば、画面に半透明に重なることによって、ユーザに提示するための撮影画像と絵入りグラフィック（または他の指示）との合成画像であってもよい。絵入りグラフィックは、ターゲット撮影経路（すなわち、ＶＲ環境の３Ｄ全方向立体シーンを生成するために画像を撮影するための提案された円形撮影経路）と、ソース撮影経路に対応する整列情報を提供する標識とを提供するように構成することができる。整列情報は、特定の位置角におけるモバイル装置の移動に対応するジャイロ測定値を表す絵入りグラフィックを含むことができる。いくつかの実現例において、絵入りグラフィックは、モバイル装置の移動に関連するソース撮影経路をターゲット撮影経路に一致させるためのコースを提供する少なくとも１つの標識を含む。
【００７５】
いくつかの実現例において、特定の撮影経路の一部または全部の一致（または不一致）は、閾値条件に基づくことができる。例えば、閾値条件は、ソース撮影経路の約５％〜約１０％がターゲット撮影経路と異なる場合、ソース撮影経路とターゲット経路とが不一致であることを含むことができる。すなわち、装置１０２は、移動した経路がターゲット撮影経路から５％〜１０％でずれたことを検出した場合、絵入りグラフィックまたは他の修正標識を表示することができる。別の例において、閾値条件は、ソース撮影経路の約１０％〜約２５％がターゲット撮影経路と異なる場合、ソース撮影経路とターゲット経路とが不一致であることを含むことができる。別の例において、閾値条件は、ソース撮影経路の約２０％〜約４０％がターゲット撮影経路と異なる場合、ソース撮影経路とターゲット経路とが不一致であることを含むことができる。一部の例として、モバイル装置１０２は、比率、限度値または限度率、撮影角度などの閾値に基づいて、モバイル装置１０２によって通過した特定の画像撮影経路からの偏差を検出することを可能にする構成設定を含むことができる。
【００７６】
一般に、ソース撮影経路は、モバイル装置１０２の移動（すなわち、ユーザがモバイル装置を用いて円形状に掃引することによって通過した撮影経路）に関連することができる。絵入りグラフィックは、例えば、モバイル装置の移動を検出することに応答して、リアルタイムで動的に更新することができる。絵入りグラフィックは、複数の部分を含むことができる。例えば、絵入りグラフィックは、ターゲット撮影経路を示す第１部分と、（上述したように）モバイル装置の移動に関連するソース撮影経路を示す第２部分とを含むこ
とができる。第１部分および第２部分は、特定のコースに沿って第２部分を第１部分に整列させるように、ユーザに指示または通知することができる。この例において、第１部分は、円の一部または全円であってもよく、第２部分は、円の一部からの偏差または全円からの偏差であってもよい。本明細書において、円は、ユーザがモバイル装置を用いて撮影シーンの画像を撮影するために通過すべきである理想的な円形の掃引経路を表すことができる。
【００７７】
図１０は、画像をレンダリングするプロセス１０００の一実施形態を示すフローチャートである。様々な実施形態において、プロセス１０００は、図１および図１１などのシステムによって使用されてもよく、生成されてもよい。
【００７８】
一実施形態において、ブロック１００２は、画像処理システム１０６がモバイル装置で撮影された画像を取得することができることを示している。取得された画像は、３６０°の円上の複数のポイントから取得されたコンテンツを含むことができる。この円は、画像を取得するためにモバイル装置が掃引するように構成され得る撮影経路を表すことができる。一例において、３６０°の円は、約１０ｃｍ〜約７５ｃｍの直径を有する可変の撮影経路を表すことができる。撮影経路が約１０ｃｍの直径を有する場合、取得された画像は、約９０°の水平視界で取得された画像であり得る。
【００７９】
いくつかの実現例において、取得された画像は、特定の撮影シーンの複数の連続の画像フレームを含むことができる。他の実現例において、取得された画像は、複数の断続または不連続の画像フレームを含むことができる。さらに他の実現例において、取得された画像は、連続の画像と不連続の画像の組み合わせを含むことができる。
【００８０】
非限定的な例において、得られた画像は、円周の０°から２５°までの撮影シーンを表す画像セット、円周の３０°から３００°までの撮影シーンを表す画像セット、および円周の３１０°から３４９°までの撮影シーンを表す画像セットを含むことができる。システム１０６は、これらの画像セットを使用して、３６０°の立体３Ｄ撮影シーンを生成することができる。３６０°の立体３Ｄ撮影シーンの生成は、画像セットをスティッチするまたはブレンドするために、複数の画像を調整することを含むことができる。
【００８１】
ブロック１００４において、システム１０６は、３Ｄ空間においてレンダリングするために、得られた画像（または画像セット）を調整することができる。３Ｄ空間は、ＶＲ環境内の空間として表現することができる。得られた画像を調整することは、ブロック１００６において、少なくとも２つの画像間の少なくとも１つの重複部分を判定することを含むことができる。重複部分は、少なくとも２つの画像における画素間の一致部分を含むことができる。例えば、システム１０６は、画像セットにおける画像フレーム内の画素列を分析し、第１画素列における画像コンテンツが第２画素列における画像コンテンツと一致するか否かを判定することができる。重複部分が見付けた場合、システム１０６は、ブロック１００８において、各重複部分に含まれた画素の一部を選択することができる。ブロック１０１０において、選択された重複部分に対応する画素各部分を垂直に整列させることによって、撮影シーンの３Ｄパノラマセグメントを生成するように、各部分を結合する。
【００８２】
少なくとも２つの画像の間に重複部分が存在していないと判定したことに応答して、システム１０６は、ブロック１０１２において、少なくとも２つの画像の間にブレンドされる追加の画像コンテンツを生成することができる。その後、システム１０６は、追加の画像コンテンツを結合することによって、セグメントを更新する。追加の画像コンテンツを結合することは、画像の乱れを除去するために、２つ以上の画像からの画素列をブレンドすることを含むことができる。乱れは、撮影姿勢に少なくとも部分的に依存する整列不良
を含むがこれに限定されない。いくつかの実現例において、プロセス１０００は、（ｉ）撮影時に発生した横方向ロール移動、（ｉｉ）撮影時に発生したカメラの非共形円弧移動、または（ｉｉｉ）撮影時に発生した一貫性のない半径測定を補正することによって、３Ｄ空間においてレンダリングするための画像を調整するステップを含むことができる。
【００８３】
ブロック１０１４において、システム１０６は、例えば、レンダリングするためのセグメントの更新を提供し、ＶＲ環境に使用されるヘッドマウントディスプレイに表示することができる。
【００８４】
図１１は、本明細書に記載の技術を実施するために使用できる汎用コンピュータ装置１１００および汎用モバイルコンピュータ装置１１５０の一例を示す図である。コンピューティング装置１１００は、ラップトップ、デスクトップ、ワークステーション、ＰＤＡ（Personal Digital Assistant）、サーバ、ブレードサーバ、メインフレームおよび他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すように意図されている。コンピューティング装置１１５０は、ＰＤＡ、携帯電話、スマートフォンおよび他の類似するコンピューティング装置などの様々な形態のモバイル装置を表すように意図されている。図示された構成要素、それらの接続および関係並びにそれらの機能は、例示的なものに過ぎず、本明細書に記載および／または請求される発明の実施を限定するものではない。
【００８５】
コンピューティング装置１１００は、プロセッサ１１０２と、メモリ１１０４と、記憶装置１１０６と、メモリ１１０４および高速拡張ポート１１１０を連結する高速インターフェイス１１０８と、低速バス１１１４および記憶装置１１０６を連結する低速インターフェイス１１１２とを含む。構成要素１１０２、１１０４、１１０６、１１０８、１１１０および１１１２は、様々なバスを使用して相互に接続され、共通のマザーボード上に実装されてもよく、または適切な他の方法で実装されてもよい。プロセッサ１１０２は、メモリ１１０４または記憶装置１１０６に記憶された命令を含むコンピューティング装置１１００内に実行される命令を処理することによって、外部入力／出力装置のＧＵＩに、例えば高速インターフェイス１１０８に接続されたディスプレイ１１１６にグラフィック情報を表示することができる。他の実施態様において、複数のプロセッサおよび／または複数のバスは、複数のメモリおよび複数種類のメモリと共に、適切に使用されることができる。また、各装置が（例えば、サーババンク、一群のブレードサーバ、またはマルチプロセッサシステムとして）必要な動作の一部を実行するように、複数のコンピューティング装置１１００を接続することができる。
【００８６】
メモリ１１０４は、コンピューティング装置１１００に情報を格納する。一実現例において、メモリ１１０４は、揮発性メモリユニットである。別の実現例において、メモリ１１０４は、不揮発性メモリユニットである。メモリ１１０４は、別の形態のコンピュータ可読媒体、例えば、磁気ディスクまたは光ディスクであってもよい。
【００８７】
記憶装置１１０６は、コンピューティング装置１１００に大容量の記憶を提供することができる。一実現例において、記憶装置１１０６は、例えば、フロッピー（登録商標）ディスク装置、ハードディスク装置、光学ディスク装置、テープディスク装置、フラッシュメモリまたは他の同様の固体メモリ装置、または記憶エリアネットワークまたは他の構成内の装置を含むアレイ記憶装置などのコンピュータ可読媒体を含むことができる。コンピュータプログラム製品は、情報担体に有形的に具体化することができる。また、コンピュータプログラム製品は、命令を含むことができる。これらの命令は、実行されると、上述したような１つ以上の方法を実行することができる。情報担体は、例えば、メモリ１１０４、記憶装置１１０６、またはプロセッサ１１０２上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【００８８】
高速コントローラ１１０８は、コンピューティング装置１１００の高速の帯域幅集約動作を管理し、低速コントローラ１１１２は、低速の帯域幅集約動作を管理する。このような機能の割り当ては、例示に過ぎない。一実現例において、高速コントローラ１１０８は、メモリ１１０４、（例えば、グラフィックプロセッサまたはアクセラレータを介して）ディスプレイ１１１６、および様々な拡張カード（図示せず）を挿入できる高速拡張ポート１１１０に連結される。この実現例において、低速コントローラ１１１２は、記憶装置１１０６および低速拡張ポート１１１４に連結される。様々な通信ポート（例えば、ＵＳＢ、ブルートゥース（登録商標）、イーサネット（登録商標）、無線イーサネット）を含み得る低速拡張ポートは、例えば、キーボード、ポインティング装置、スキャナなどの１つ以上の入出力装置に連結されてもよく、またはネットワークアダプタを介して、スイッチまたはルータなどのネットワーキング装置に連結されてもよい。
【００８９】
図示のように、コンピューティング装置１１００は、いくつかの異なる形態で実装されることができる。例えば、コンピューティング装置１１００は、標準サーバ１１２０として実装されてもよく、または標準サーバのグループ内に複数回実装されてもよい。また、コンピューティング装置１１００は、サーバラックシステム１１２４の一部として実装されてもよい。さらに、コンピューティング装置１１００は、ラップトップコンピュータ１１２２のようなパーソナルコンピュータに実装されてもよい。代替的には、コンピューティング装置１１００の要素は、装置１１５０などのモバイル装置（図示せず）内の他の要素と組み合わてもよい。このような装置の各々は、１つ以上のコンピューティング装置１１００、１１５０を含むことができ、システムの全体は、互いに通信できる複数のコンピューティング装置１１００、１１５０から構成されることができる。
【００９０】
コンピューティング装置１１５０は、プロセッサ１１５２、メモリ１１６４、ディスプレイ１１５４などの入出力装置、通信インターフェイス１１６６、およびトランシーバ１１６８を含む。装置１１５０は、追加の記憶を提供するために、マイクロドライブまたは他の素子などの記憶装置を備えることもできる。要素１１５０、１１５２、１１６４、１１５４、１１６６および１１６８は、様々なバスを介して相互に接続され、一部の要素は、共通のマザーボード上に実装されてもよく、または適切な他の方法で実装されてもよい。
【００９１】
プロセッサ１１５２は、メモリ１１６４に格納された命令を含むコンピューティング装置１１５０内の命令を実行することができる。このプロセッサは、互いに独立している複数のアナログプロセッサおよびデジタルプロセッサを備えるチップのチップセットとして実装されてもよい。このプロセッサは、装置１１５０の他の要素の協調、例えば、ユーザインターフェイスの制御、装置１１５０によるアプリケーションの実行、および装置１１５０による無線通信を提供することができる。
【００９２】
プロセッサ１１５２は、制御インターフェイス１１５８およびディスプレイ１１５４に結合されたディスプレイインターフェイス１１５６を介してユーザと通信することができる。ディスプレイ１１５４は、例えば、ＴＦＴ  ＬＣＤ（薄膜トランジスタ液晶ディスプレイ）またはＯＬＥＤ（有機発光ダイオードディスプレイ）、または他の適切なディスプレイ技術を使用することができる。表示インターフェイス１１５６は、グラフィック情報および他の情報をユーザに表示するために、ディスプレイ１１５４を駆動する適切な回路を含むことができる。制御インターフェイス１１５８は、ユーザからの指令を受信し、変換してからプロセッサ１１５２に提供することができる。また、プロセッサ１１５２と通信するように外部インターフェイス１１６２を設けることによって、装置１１５０は、他の装置と近距離通信を行うことができる。外部インターフェイス１１６２は、例えば、いくつかの実現例において有線通信を提供することができ、他の実現例において無線通信を
提供することができる。複数のインターフェイスを使用することもできる。
【００９３】
メモリ１１６４は、コンピューティング装置１１５０に情報を格納する。メモリ１１６４は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットのうち、１つまたは複数として実装することができる。拡張メモリ１１７４は、例えば、ＳＩＭＭ（Single In Line Memory Module）カードインターフェイスを含む拡張インターフェイス１１７２を介して、装置１１５０に提供され、接続されてもよい。具体的には、拡張メモリ１１７４は、上述したプロセスを実行するまたは補足するための命令を格納することができ、セキュリティ情報を格納することもできる。したがって、拡張メモリ１１７４は、例えば、装置１１５０のセキュリティモジュールとして提供されてもよく、装置１１５０の安全使用を可能にする命令でプログラムされてもよい。さらに、ＳＩＭＭカードを介して、追加情報と共に、セキュリティアプリケーションを配置することができる。例えば、ハッキングできない方法で、ＳＩＭＭカード上に識別情報を配置することができる。
【００９４】
以下に説明するように、メモリは、例えば、フラッシュメモリおよび／またはＮＶＲＡＭメモリを含むことができる。一実現例において、コンピュータプログラム製品は、情報担体に有形的に具体化される。コンピュータプログラム製品は、命令を含み、これらの命令は、実行されると、上述したような１つ以上の方法を実行する。情報担体は、例えば、メモリ１１６４、拡張メモリ１１７４、またはプロセッサ１１５２上のメモリなどのコンピュータ可読媒体または機械可読媒体であり、トランシーバ１１６８または外部インターフェイス１１６２を介して受信動作を実行してもよい。
【００９５】
装置１１５０は、必要に応じてデジタル信号処理回路を含む通信インターフェイス１１６６を介して無線通信を行うことができる。通信インターフェイス１１６６は、とりわけ、ＧＳＭ（登録商標）通話、ＳＭＳ、ＥＭＳ、またはＭＭＳメッセージング、ＣＤＭＡ、ＴＤＭＡ、ＰＤＣ、ＷＣＤＭＡ（登録商標）、ＣＤＭＡ２０００、またはＧＰＲＳなどの様々なモードまたはプロトコルに基づいて、通信を提供することができる。このような通信は、例えば、高周波トランシーバ１１６８を介して行われてもよい。また、ブルートゥース（登録商標）、ＷｉＦｉ（登録商標）、または他のトランシーバ（図示せず）を用いて、短距離通信を行うことができる。さらに、ＧＰＳ（全地球測位システム）受信モジュール１１７０は、追加のナビゲーション関連無線データおよび位置関連無線データを装置１１５０に提供することができる。これらの無線データは、装置１１５０上で動作するアプリケーションに適宜に使用される。
【００９６】
また、装置１１５０は、音声コーデック１１６０を使用して音声通信を行うことができる。音声コーデック１１６０は、ユーザから受信した音声情報を使用可能なデジタル情報に変換することができる。同様に、音声コーデック１１６０は、例えば、装置１１５０の送受話器内のスピーカを介して、ユーザに可聴な音声を生成することができる。このような音声は、音声電話からの音声を含むことができ、記録された音声（例えば、音声メッセージ、音楽ファイル）を含むことができ、装置１１５０上で動作するアプリケーションによって生成された音声を含むこともできる。
【００９７】
図示のように、コンピューティング装置１１５０は、いくつかの異なる形態で実装されることができる。例えば、コンピューティング装置１１５０は、携帯電話１１８０として実装されてもよく、スマートフォン１１８２、ＰＤＡまたは他の類似するモバイル装置の一部として実装されてもよい。
【００９８】
本明細書に記載のシステムおよび技術の様々な実装は、デジタル電子回路、集積回路、特別に設計されたＡＳＩＣ（特定用途向け集積回路）、コンピュータハードウェア、ファ
ームウェア、ソフトウェアおよび／またはそれらの組み合わせで実現することができる。これらの様々な実装は、プログラム可能なシステム上で実行可能および／または解釈可能な１つ以上のコンピュータプログラムにおける実装を含むことができる。このプログラム可能なシステムは、記憶システムからデータおよび命令を受信し、データおよび命令を記憶システムに送信するように記憶システムに連結された少なくとも１つのプログラム可能な専用または汎用のプロセッサ、少なくとも１つの入力装置、および少なくとも１つの出力装置を含む。
【００９９】
（プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている）これらのコンピュータプログラムは、プログラム可能なプロセッサ用の機械命令を含み、高度な手続き型プログラミング言語および／または高度なオブジェクト指向プログラミング言語で実装することができ、および／またはアセンブリ言語／機械言語で実装することができる。「機械可読媒体」という用語は、本明細書に使用された場合、プログラム可能なプロセッサに機械命令および／またはデータを提供するために使用された機械可読信号としての機械命令を受け取る機械可読媒体を含む任意のコンピュータプログラム製品、機械および／または装置（例えば、磁気ディスク、光学ディスク、メモリ、プログラム可能な論理装置（ＰＬＤ））を指す。「機械可読信号」という用語は、機械命令および／またはデータをプログラム可能なプロセッサに提供するために使用された任意の信号を指す。
【０１００】
ユーザと情報交換を行うために、本明細書に記載のシステムおよび技術は、ディスプレイ素子（例えば、ＣＲＴ（ブラウン管）モニタまたはＬＣＤ（液晶ディスプレイ）モニタ）と、キーボードと、ポインティング装置（例えば、マウスまたはトラックボール）とを含むコンピュータ上で実装することができる。ディスプレイ素子は、情報を表示することができ、ユーザは、キーボードとポインティング装置とを用いて、コンピュータに入力を提供することができる。他の種類の装置を使用して、ユーザと情報交換を行うこともできる。例えば、ユーザに与えるフィードバックは、任意の形の感覚フィードバック（例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック）であってもよく、ユーザから受け入れる入力は、音響入力、音声入力、または触覚入力を含む任意の形態であってもよい。
【０１０１】
本明細書に記載のシステムおよび技術は、バックエンド要素（例えば、データサーバ）を含むコンピューティングシステム、またはミドルウェア要素（例えば、アプリケーションサーバ）を含むコンピューティングシステム、またはフロントエンド要素（例えば、ユーザが本明細書に記載のシステムおよび技術の実装と情報交換することができるグラフィカルユーザインターフェイスまたはウェブブラウザを含むクライアントコンピュータ）を含むコンピューティングシステム、またはバックエンド要素、ミドルウェア要素およびフロントエンド要素の任意の組み合わせを含むコンピューティングシステムに実装されてもよい。これらのシステム要素は、任意の形式または媒体のデジタルデータ通信（例えば、通信ネットワーク）によって相互接続することができる。通信ネットワークの例は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）およびインターネットを含む。
【０１０２】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントとサーバとは、一般に互いに遠隔であり、典型的には通信ネットワークを介して情報交換を行う。クライアントとサーバとの関係は、各々のコンピュータ上で動作しており、互いにクライアント−サーバ関係を有するコンピュータプログラムに依存する。
【０１０３】
複数の実施形態を説明したことにも拘わらず、本明細書の精神および範囲から離脱することなく、様々な変更をなし得ることが理解されるであろう。例えば、以下の各請求項お
よび上述した請求項の例を任意に組み合わせることによって、更なる例示的実施形態を生み出すことができる。
【０１０４】
また、望ましい結果を達成するために、図示の論理フローは、示された特定の順序でまたは逐次に行う必要がない。図示のフローに他のステップを追加してもよく、または図示のフローから他のステップを省いてもよい。記載のシステムに他の要素を追加してもよく、システムから他の要素を除去してもよい。したがって、他の実施形態は、添付の特許請求の範囲内に含まれる。
【図１】
2018160917.tif 000003
【図２】
2018160917.tif 000004
【図３】
2018160917.tif 000005
【図４】
2018160917.tif 000006
【図５】
2018160917.tif 000007
【図６】
2018160917.tif 000008
【図７】
2018160917.tif 000009
【図８】
2018160917.tif 000010
【図９】
2018160917.tif 000011
【図１０】
2018160917.tif 000012
【図１１】
2018160917.tif 000013
【外国語明細書】
2018160917000001.pdf