(57)【要約】  マルチユーザ拡張現実(AR)システムは、オンザフライで参照画像を生成することによって、以前に収集された共通参照物なしに動作する。平面オブジェクトの少なくとも2つの画像をキャプチャし、画像を使用して平面オブジェクトに関する第1のモバイルプラットフォームのポーズ(ポジションおよび方位)を判断することによって、参照画像は作られる。モバイルプラットフォームの方位に基づいて、平面オブジェクトの画像(初期画像のうちの1つまたは後にキャプチャされた画像であってよい)はワープされて、平面オブジェクトの正面図の参照画像が作られる。参照画像はモバイルプラットフォームによって、またはたとえばサーバによって作られ得る。他のモバイルプラットフォームは、参照画像を使用して平面オブジェクトに関するそれらのポーズを判断して、マルチユーザ拡張現実アプリケーションを実行することができる。
2013539872.tif 000002
【特許請求の範囲】
【請求項１】
平面オブジェクトの少なくとも2つの画像をキャプチャするステップと、
前記少なくとも2つの画像を使用して、前記平面オブジェクトに関する第1のモバイルプラットフォームの、ポジションおよび方位を含む第1のポーズを判断するステップと、
前記平面オブジェクトに関する前記第1のモバイルプラットフォームの前記方位を使用して、前記第1のモバイルプラットフォームによってキャプチャされた前記平面オブジェクトの画像をワープして、前記平面オブジェクトの正面図の参照画像を作るステップと、
前記平面オブジェクトに関する第2のモバイルプラットフォームの第2のポーズを、前記第2のモバイルプラットフォームによってキャプチャされた前記平面オブジェクトの第2の画像および前記参照画像を使用して判断するステップと
を含む方法。
【請求項２】
前記平面オブジェクトに関する前記第2のモバイルプラットフォームの前記第2のポーズに基づいて、前記第2のモバイルプラットフォームにより拡張現実アプリケーションを実行するステップをさらに含む、請求項1に記載の方法。
【請求項３】
前記平面オブジェクトに関する前記第1のモバイルプラットフォームの、前記ポジションおよび前記方位を含む前記第1のポーズを判断するステップは、
前記少なくとも2つの画像から特徴を抽出するステップと、
前記特徴を使用して、前記少なくとも2つの画像間の2D-2Dホモグラフィhを計算するステップと、
前記特徴の3D座標を計算して、前記平面オブジェクトの面に対応する3D面を定義するステップと、
前記特徴および前記3D面を使用して、前記3D面と前記少なくとも2つの画像のうちの1つとの間の3D-2DホモグラフィHを計算するステップと、
前記3D-2DホモグラフィHを使用して、前記第1のポーズを判断するステップと
を含む、請求項1に記載の方法。
【請求項４】
前記平面オブジェクトに関する前記第2のモバイルプラットフォームの前記第2のポーズを、前記第2のモバイルプラットフォームによってキャプチャされた前記平面オブジェクトの前記画像および前記参照画像を使用して判断するステップは、
前記参照画像から特徴を抽出するステップと、
前記参照画像から抽出された前記特徴に対応する3D面上における3Dポイントを定義するステップと、
前記3Dポイントの2D投影と合致する、前記第2のモバイルプラットフォームによってキャプチャされた前記平面オブジェクトの前記画像内のポイントを発見するステップと、
合致した3D-2Dポイントペアを使用して、前記第2のモバイルプラットフォームの前記第2のポーズを推定するステップと
を含む、請求項1に記載の方法。
【請求項５】
前記参照画像から抽出された前記特徴は、ポイント特徴またはライン特徴を含む、請求項4に記載の方法。
【請求項６】
前記平面オブジェクトに関する前記第1のモバイルプラットフォームの、前記ポジションおよび前記方位を含む前記第1のポーズを判断するステップは、前記第1のモバイルプラットフォームによって実行される、請求項1に記載の方法。
【請求項７】
前記平面オブジェクトの前記画像をワープするステップは、前記第1のモバイルプラットフォームによって実行される、請求項1に記載の方法。
【請求項８】
前記第2のモバイルプラットフォームに前記参照画像を送信するステップをさらに含む、請求項1に記載の方法。
【請求項９】
前記第1のモバイルプラットフォームによって前記平面オブジェクトの前記少なくとも2つの画像を送信するステップをさらに含み、前記平面オブジェクトに関する前記第1のモバイルプラットフォームの、前記ポジションおよび前記方位を含む前記第1のポーズを判断するステップは、サーバによって実行される、請求項1に記載の方法。
【請求項１０】
前記平面オブジェクトの前記画像をワープするステップは、サーバによって実行される、請求項1に記載の方法。
【請求項１１】
ワープされる前記第1のモバイルプラットフォームによってキャプチャされた前記平面オブジェクトの前記画像は、前記平面オブジェクトの前記少なくとも2つの画像のうちの1つである、請求項1に記載の方法。
【請求項１２】
前記第1のモバイルプラットフォームにより前記平面オブジェクトの追加画像をキャプチャするステップをさらに含み、ワープされる前記第1のモバイルプラットフォームによってキャプチャされた前記平面オブジェクトの前記画像は、前記平面オブジェクトの前記追加画像である、請求項1に記載の方法。
【請求項１３】
前記第1のモバイルプラットフォームにより前記平面オブジェクトの追加画像をキャプチャするステップと、
前記平面オブジェクトの前記追加画像および前記参照画像を使用して、前記平面オブジェクトに関する前記第1のモバイルプラットフォームの更新された第1のポーズを生成するステップと、
前記平面オブジェクトに関する前記第1のモバイルプラットフォームの前記更新された第1のポーズに基づいて、前記第1のモバイルプラットフォームにより拡張現実アプリケーションを実行するステップと
をさらに含む、請求項1に記載の方法。
【請求項１４】
前記第2のモバイルプラットフォームを使用して、前記平面オブジェクトの前記正面図の前記参照画像に含まれない前記平面オブジェクトの一部分を含む新規画像をキャプチャするステップと、
前記新規画像と前記参照画像とをマージして、前記平面オブジェクトの前記正面図の新規参照画像を生成するステップと、
前記平面オブジェクトに関する前記第2のモバイルプラットフォームの更新された第2のポーズを、前記第2のモバイルプラットフォームによってキャプチャされた前記平面オブジェクトの後続画像および前記新規参照画像を使用して判断するステップと
をさらに含む、請求項1に記載の方法。
【請求項１５】
前記新規画像と前記参照画像とをマージして、前記平面オブジェクトの前記正面図の前記新規参照画像を生成するステップは、恒等変換を通じて前記参照画像のピクセルを前記新規参照画像に変換するステップと、前記新規画像のピクセルを前記新規参照画像に変換するステップとを含む、請求項14に記載の方法。
【請求項１６】
前記新規画像のピクセルを前記新規参照画像に変換するステップは、計算されたホモグラフィまたはアフィン変換のうちの少なくとも1つを使用して実行される、請求項15に記載の方法。
【請求項１７】
前記平面オブジェクトの前記少なくとも2つの画像の両方は、前記第1のモバイルプラットフォームによってキャプチャされる、請求項1に記載の方法。
【請求項１８】
前記平面オブジェクトの前記少なくとも2つの画像のうちの1つは、前記第1のモバイルプラットフォームによってキャプチャされ、前記平面オブジェクトの前記少なくとも2つの画像のうちのもう1つは、前記第2のモバイルプラットフォームによってキャプチャされる、請求項1に記載の方法。
【請求項１９】
前記第1のモバイルプラットフォームの前記方位を使用して、前記第1のモバイルプラットフォームによってキャプチャされた前記平面オブジェクトの前記画像をワープするステップは、計算されたホモグラフィを使用するステップを含む、請求項1に記載の方法。
【請求項２０】
前記平面オブジェクトの前記画像をワープするステップは、ワープされた画像を作り、前記方法は、前記ワープされた画像を平行移動およびスケーリングして、前記平面オブジェクトの前記正面図の前記参照画像を作るステップをさらに含む、請求項1に記載の方法。
【請求項２１】
処理される少なくとも2つの画像を受信するためのインターフェースであって、前記少なくとも2つの画像が平面オブジェクトの異なるビューを包含し、前記少なくとも2つの画像のうちの少なくとも1つが第1のカメラによってキャプチャされる、インターフェースと、
データ送信インターフェースと、
処理される少なくとも2つの画像を受信するための前記インターフェースおよび前記データ送信インターフェースに接続されたプロセッサと、
前記プロセッサに接続されたメモリと、
前記メモリに保存された、前記平面オブジェクトの前記少なくとも2つの画像を分析し、前記少なくとも2つの画像を使用して前記平面オブジェクトに関する前記第1のカメラの、ポジションおよび方位を含むポーズを判断すること、前記方位を使用して前記平面オブジェクトの画像をワープして、前記平面オブジェクトの正面図の参照画像を作ること、前記データ送信インターフェースを介して第2のカメラを有するモバイルプラットフォームに前記参照画像を送信して、前記参照画像を使用してマルチユーザ拡張現実アプリケーションを実行することを前記プロセッサに行わせるように構成されたソフトウェアと
を含む装置。
【請求項２２】
前記装置はサーバであり、処理される少なくとも2つの画像を受信するための前記インターフェースおよび前記データ送信インターフェースは、外部インターフェースであり、前記参照画像は、複数のモバイルプラットフォームに送信される、請求項21に記載の装置。
【請求項２３】
前記装置は、前記第1のカメラをさらに含む第1のモバイルプラットフォームであり、処理される少なくとも2つの画像を受信するための前記インターフェースは、前記第1のカメラと前記プロセッサとの間のインターフェースであり、前記データ送信インターフェースはワイヤレストランシーバである、請求項21に記載の装置。
【請求項２４】
前記メモリに保存された、前記参照画像を使用して前記マルチユーザ拡張現実アプリケーションを実行することを前記プロセッサに行わせるように構成されたソフトウェアは、前記参照画像および前記平面オブジェクトの追加画像を使用して前記平面オブジェクトに関する前記第1のカメラの前記ポーズを更新することを前記プロセッサに行わせるソフトウェアを含む、請求項23に記載の装置。
【請求項２５】
前記第1のカメラの前記ポーズを更新することを前記プロセッサに行わせる前記ソフトウェアは、前記参照画像から特徴を抽出し、前記参照画像から抽出された前記特徴に対応する3D面上における3Dポイントを定義し、前記3Dポイントの2D投影と合致する前記平面オブジェクトの前記追加画像内のポイントを発見し、前記合致した3D-2Dポイントペアを使用して前記ポーズを更新するソフトウェアを含む、請求項24に記載の装置。
【請求項２６】
前記メモリに保存された、前記平面オブジェクトに関する前記第1のカメラの前記ポーズを判断することを前記プロセッサに行わせるように構成された前記ソフトウェアは、前記メモリに保存された、前記少なくとも2つの画像から特徴を抽出し、前記特徴を使用して前記少なくとも2つの画像間の2D-2Dホモグラフィhを計算し、前記特徴の3D座標を計算して、前記平面オブジェクトの面に対応する3D面を定義し、前記特徴および前記3D面を使用して前記3D面と前記少なくとも2つの画像のうちの1つとの間の3D-2DホモグラフィHを計算し、前記3D-2DホモグラフィHを使用して前記ポーズを判断するように前記プロセッサ内で作動するソフトウェアを含む、請求項21に記載の装置。
【請求項２７】
前記参照画像を作るためにワープされる前記平面オブジェクトの前記画像は、前記平面オブジェクトの前記少なくとも2つの画像のうちの1つである、請求項21に記載の装置。
【請求項２８】
前記参照画像を作るためにワープされる前記平面オブジェクトの前記画像は、前記平面オブジェクトの追加画像である、請求項21に記載の装置。
【請求項２９】
前記メモリに保存された前記ソフトウェアは、前記参照画像と前記参照画像に含まれない前記平面オブジェクトの一部分を含む新規画像とをマージして、前記平面オブジェクトの前記正面図の新規参照画像を生成すること、前記データ送信インターフェースを介して前記第2のカメラを有する前記モバイルプラットフォームに前記新規参照画像を送信して、前記新規参照画像を使用して前記マルチユーザ拡張現実アプリケーションを実行することを前記プロセッサに行わせるように構成される、請求項21に記載の装置。
【請求項３０】
前記メモリに保存された前記ソフトウェアは、恒等変換を通じて前記参照画像のピクセルを前記新規参照画像に変換すること、および計算されたホモグラフィまたはアフィン変換のうちの少なくとも1つを使用して前記新規画像のピクセルを前記新規参照画像に変換することによって、前記新規画像と前記参照画像とをマージして前記新規参照画像を生成することを前記プロセッサに行わせるように構成される、請求項29に記載の装置。
【請求項３１】
前記メモリに保存された前記ソフトウェアは、計算されたホモグラフィを使用して前記平面オブジェクトの前記画像をワープすることを前記プロセッサに行わせるように構成される、請求項21に記載の装置。
【請求項３２】
前記メモリに保存された前記ソフトウェアは、前記平面オブジェクトの前記画像をワープして、ワープされた画像を生成することを前記プロセッサに行わせるように構成され、前記メモリに保存された、前記プロセッサ内で作動する前記ソフトウェアは、前記ワープされた画像を平行移動およびスケーリングして、前記平面オブジェクトの前記正面図の前記参照画像を作ることを前記プロセッサにさらに行わせる、請求項21に記載の装置。
【請求項３３】
モバイルプラットフォームであって、
カメラと、
ワイヤレストランシーバと、
前記カメラおよび前記ワイヤレストランシーバに接続されたプロセッサと、
前記プロセッサに接続されたメモリと、
前記メモリに接続されたディスプレイと、
前記メモリに保存された、平面オブジェクトの少なくとも2つのキャプチャされた画像を分析し、前記少なくとも2つのキャプチャされた画像を使用して前記平面オブジェクトに関する前記モバイルプラットフォームの、ポジションおよび方位を含むポーズを判断すること、前記方位を使用して前記平面オブジェクトの画像をワープして、前記平面オブジェクトの正面図の参照画像を作ること、少なくとも1つの他のモバイルプラットフォームに前記参照画像を送信すること、および前記ディスプレイに表示される前記参照画像を使用して前記少なくとも1つの他のモバイルプラットフォームによりマルチユーザ拡張現実アプリケーションを実行することを前記プロセッサに行わせるソフトウェアと
を含むモバイルプラットフォーム。
【請求項３４】
平面オブジェクトの少なくとも2つの画像をキャプチャするための手段と、
前記少なくとも2つの画像を使用して、前記平面オブジェクトに関する第1のモバイルプラットフォームの、ポジションおよび方位を含むポーズを判断するための手段と、
前記平面オブジェクトに関する前記第1のモバイルプラットフォームの前記方位を使用して、前記平面オブジェクトの画像をワープして、前記平面オブジェクトの正面図の参照画像を作るための手段と、
前記平面オブジェクトに関する第2のモバイルプラットフォームの第2のポーズを、前記第2のモバイルプラットフォームによってキャプチャされた前記平面オブジェクトの第2の画像および前記参照画像を使用して判断するための手段と
を含むシステム。
【請求項３５】
前記平面オブジェクトに関する前記第2のモバイルプラットフォームの前記第2のポーズに基づいて、前記第2のモバイルプラットフォームにより拡張現実アプリケーションを実行するための手段をさらに含む、請求項34に記載のシステム。
【請求項３６】
前記第1のモバイルプラットフォームは、前記平面オブジェクトに関する、前記ポジションおよび前記方位を含む前記ポーズを判断するための前記手段と、前記平面オブジェクトの前記画像をワープするための前記手段とを含み、前記第1のモバイルプラットフォームは、前記第2のモバイルプラットフォームに前記参照画像を送信するための手段をさらに含む、請求項34に記載のシステム。
【請求項３７】
前記平面オブジェクトに関する、前記ポジションおよび前記方位を含む前記ポーズを判断するための前記手段と、前記平面オブジェクトの前記画像をワープするための前記手段とを含むサーバをさらに含み、前記サーバは、前記平面オブジェクトの前記少なくとも2つの画像を受信するための手段と、前記第2のモバイルプラットフォームに前記参照画像を送信するための手段とをさらに含む、請求項34に記載のシステム。
【請求項３８】
ワープされる前記平面オブジェクトの前記画像は、前記平面オブジェクトの前記少なくとも2つの画像のうちの1つまたは前記平面オブジェクトの追加画像を含む、請求項34に記載のシステム。
【請求項３９】
前記参照画像と前記参照画像に含まれない前記平面オブジェクトの一部分を含む新規画像とをマージして、前記平面オブジェクトの前記正面図の新規参照画像を生成するための手段をさらに含み、前記第2のモバイルプラットフォームの前記第2のポーズを判断するための前記手段は、前記第2のモバイルプラットフォームによってキャプチャされた前記平面オブジェクトの異なる画像および前記新規参照画像を使用して前記平面オブジェクトに関する前記第2のモバイルプラットフォームの前記第2のポーズを更新する、請求項34に記載のシステム。
【請求項４０】
前記新規画像と前記参照画像とをマージして前記新規参照画像を生成するための前記手段は、恒等変換を通じて前記参照画像のピクセルを前記新規参照画像に変換し、計算されたホモグラフィまたはアフィン変換のうちの少なくとも1つを使用して前記新規画像のピクセルを前記新規参照画像に変換する、請求項39に記載のシステム。
【請求項４１】
前記第1のモバイルプラットフォームの前記方位を使用して前記平面オブジェクトの前記画像をワープするための前記手段は、平行移動を含む計算されたホモグラフィおよび前記方位を使用する、請求項34に記載のシステム。
【請求項４２】
前記平面オブジェクトの前記画像をワープするための前記手段は、ワープされた画像を作り、前記システムは、前記ワープされた画像を平行移動およびスケーリングして、前記平面オブジェクトの前記正面図の前記参照画像を作るための手段をさらに含む、請求項34に記載のシステム。
【請求項４３】
コンピュータにより実行可能なプログラムコードを記録したコンピュータ可読記録媒体であって、
平面オブジェクトの少なくとも2つの画像を分析して、前記平面オブジェクトに関する前記少なくとも2つの画像のうちの少なくとも1つをキャプチャしたカメラの、ポジションおよび方位を含むポーズを判断するためのプログラムコードと、
前記方位を使用して前記平面オブジェクトの画像をワープして、前記平面オブジェクトの正面図の参照画像を作るためのプログラムコードと、
前記参照画像を送信するためのプログラムコードと、
前記参照画像を使用してマルチユーザ拡張現実アプリケーションを実行するためのプログラムコードと
を含むコンピュータ可読記録媒体。
【請求項４４】
前記参照画像と前記参照画像に含まれない前記平面オブジェクトの一部分を含む新規画像とをマージして、前記平面オブジェクトの前記正面図の新規参照画像を生成するためのプログラムコードと、
前記新規参照画像を送信するためのプログラムコードと、
前記新規参照画像を使用して前記マルチユーザ拡張現実アプリケーションを実行するためのプログラムコードと
をさらに含む、請求項43に記載のコンピュータ可読記録媒体。
【請求項４５】
前記新規画像と前記参照画像とをマージして、前記新規参照画像を生成するための前記プログラムコードは、
恒等変換を通じて前記参照画像のピクセルを前記新規参照画像に変換するためのプログラムコードと、
計算されたホモグラフィまたはアフィン変換のうちの少なくとも1つを使用して、前記新規画像のピクセルを前記新規参照画像に変換するためのプログラムコードと
を含む、請求項44に記載のコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
係属中の仮出願の相互参照
本出願は、2010年9月9日に出願された「Online Reference Generation And Tracking For Multi-User Augmented Reality」という表題の米国特許仮出願第61/381,344号の優先権を、米国特許法第119条に基づき主張し、前記の出願は本出願の譲受人に譲渡され、参照により本明細書に組み込まれる。
【背景技術】
【０００２】
拡張現実システムは、実世界のユーザのビューに仮想オブジェクトを挿入することができる。成功する拡張現実システムの1つの重要な要件は、参照物に対して正確にユーザのポジションおよび方位(ポーズ)を推定できる追跡システムである。そうでない場合、仮想オブジェクトは誤ったロケーションに現れるか、環境の周りを浮動する。マルチユーザ拡張現実システムにおいて、仮想オブジェクトは、各ユーザの固有の観点から環境内の同じロケーションに現れる必要がある。したがって、環境に関する各ユーザの固有のポーズが、同じ参照物に対して推定される必要がある。
【０００３】
マルチユーザ拡張現実システムにおける従来型の追跡システムは、以前に収集された共通参照物を必要とする。参照物は、環境の3Dモデル、環境内に配置された人工的なマーカー、または環境内の平坦面の正面図画像であり得る。したがって、そのような拡張現実システムは、既知の環境内でのみ動作する。しかしながら、事前に参照物を取得することが常に好都合または可能であるとは限らない。環境の事前知識に対する依存は、マルチユーザ拡張現実技術の使用を著しく限定する。
【０００４】
Georg KleinおよびDavid Murray、「Parallel Tracking and Mapping on a Camera Phone」、2009 8th IEEE International Symposium on Mixed and Augmented Reality (ISMAR)、2009年10月19〜22日、83〜86頁のような、環境の事前知識を必要としない追跡技術がある。しかしながら、これらの技術は、任意の参照物に対するユーザのポーズのみを推定し、マルチユーザ拡張現実アプリケーションには使用できない。
【０００５】
W. Lee、Y. Park、V. Lepetit、W. Woo、「Point-and-Shoot for Ubiquitous Tagging on Mobile Phones」、2010 9th IEEE International Symposium on Mixed and Augmented Reality (ISMAR)、2010年10月13〜16日、57〜64頁に説明されているような押すだけ方法は、複数のユーザのポーズを推定する。押すだけ方法では、カメラの方位は、オンボード加速度計によって推定される画像が正面図にワープされ、1組の「平均パッチ」が生成される。各平均パッチは、視点の限定された範囲におけるパッチの平均として計算され、いくつかの範囲平均パッチが、すべての生じ得るビューをカバーするために作り出される。入ってくる各画像を平均パッチと比較することによって、ポーズが推定され得る。しかしながら、押すだけ方法は、運動センサに依存して正面図画像を生成し、したがって、カメラ内の追加構成要素を必要とし、運動センサによる誤りを起こしやすい。加えて、押すだけ方法は、複数の平均パッチに依存する。さらに、押すだけ方法は、垂直または水平の平坦面でのみ機能し、限定的である。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Georg KleinおよびDavid Murray、「Parallel Tracking and Mapping on a Camera Phone」、2009 8th IEEE International Symposium on Mixed and Augmented Reality (ISMAR)、2009年10月19〜22日、83〜86頁
【非特許文献２】W. Lee、Y. Park、V. Lepetit、W. Woo、「Point-and-Shoot for Ubiquitous Tagging on Mobile Phones」、2010 9th IEEE International Symposium on Mixed and Augmented Reality (ISMAR)、2010年10月13〜16日、57〜64頁
【発明の概要】
【発明が解決しようとする課題】
【０００７】
したがって、以前の未知のシーンにおける複数のユーザのポーズを推定できる改善されたシステムが望まれる。
【課題を解決するための手段】
【０００８】
マルチユーザ拡張現実(AR)システムは、オンザフライで参照画像を生成することによって、以前に収集された共通参照物なしに動作する。平面オブジェクトの少なくとも2つの画像をキャプチャし、少なくとも2つの画像を使用して平面オブジェクトに関する第1のモバイルプラットフォームのポーズ(ポジションおよび方位)を判断することによって、参照画像は作られる。平面オブジェクトの画像は、初期画像のうちの1つまたは後にキャプチャされた画像であってよく、第1のモバイルプラットフォームの方位を使用してワープされて、平面オブジェクトの正面図の参照画像が作られる。平面オブジェクトに関する第2のモバイルプラットフォームのポーズは、第2のモバイルプラットフォームによってキャプチャされた平面オブジェクトの画像および参照画像を使用して判断される。第1のモバイルプラットフォームのポーズを判断すること、および/または画像をワープして参照物を作ることは、第1のモバイルプラットフォームまたはサーバによって実行され得る。加えて、所望される場合、参照画像に含まれない平面オブジェクトの一部分を包含する新規画像を含むように、参照画像は拡張され得る。たとえば、第2のモバイルプラットフォームは、参照画像に含まれない平面オブジェクトの異なる部分を含む新規画像をキャプチャすることがある。新規画像と参照画像とをマージして、平面オブジェクトの正面図の新規参照画像を生成することができ、平面オブジェクトに関する第2のモバイルプラットフォームのポーズが、第2のモバイルプラットフォームによってキャプチャされた平面オブジェクトの後続画像および新規参照画像を使用して更新され得る。
【０００９】
別の態様では、装置は、処理される少なくとも2つの画像を受信するためのインターフェースであって、少なくとも2つの画像のうちの少なくとも1つが第1のカメラによってキャプチャされ、少なくとも2つの画像が平面オブジェクトの異なるビューを包含する、インターフェースを含む。たとえば、インターフェースは、モバイルプラットフォームにおける第1のカメラとプロセッサとの間のインターフェースであってよく、またはモバイルプラットフォームから画像を受信するサーバにおける外部インターフェースであってよい。装置は、データ送信インターフェースと、処理される少なくとも2つの画像を受信するためのインターフェースおよびデータ送信インターフェースに接続されたプロセッサと、プロセッサに接続されたメモリとをさらに含む。メモリに保存された、プロセッサ内で作動するソフトウェアは、平面オブジェクトの少なくとも2つの画像を分析すること、および少なくとも2つのキャプチャされた画像を使用して平面オブジェクトに関する第1のカメラのポーズ(ポジションおよび方位)を判断することをプロセッサに行わせる。ソフトウェアは、方位を使用して平面オブジェクトの画像をワープして、平面オブジェクトの正面図の参照画像を作ること、およびデータ送信インターフェースを介して第2のカメラを有する少なくとも1つのモバイルプラットフォームに参照画像を送信して、参照画像を使用してマルチユーザ拡張現実アプリケーションを実行することをプロセッサにさらに行わせる。所望される場合、メモリに保存された、プロセッサ内で作動するソフトウェアは、参照画像と参照画像に含まれない平面オブジェクトの一部分を含む新規画像とをマージして、平面オブジェクトの正面図の新規参照画像を生成すること、およびデータ送信インターフェースを介して少なくとも1つの他のモバイルプラットフォームに新規参照画像を送信して、新規参照画像を使用してマルチユーザ拡張現実アプリケーションを実行することをプロセッサにさらに行わせることができる。
【００１０】
別の態様では、モバイルプラットフォームは、カメラと、ワイヤレストランシーバと、カメラおよびワイヤレストランシーバに接続されたプロセッサと、プロセッサに接続されたメモリと、メモリに接続されたディスプレイとを含む。メモリに保存された、プロセッサ内で作動するソフトウェアは、平面オブジェクトの少なくとも2つのキャプチャされた画像を分析し、少なくとも2つのキャプチャされた画像を使用して平面オブジェクトに関するモバイルプラットフォームのポーズ(ポジションおよび方位)を判断すること、方位を使用して平面オブジェクトの画像をワープして、平面オブジェクトの正面図の参照画像を作ること、少なくとも1つの他のモバイルプラットフォームに参照画像を送信すること、およびディスプレイに表示される参照画像を使用して少なくとも1つの他のモバイルプラットフォームによりマルチユーザ拡張現実アプリケーションを実行することをプロセッサに行わせる。
【００１１】
別の態様では、システムは、平面オブジェクトの少なくとも2つの画像をキャプチャするための手段と、少なくとも2つの画像を使用して平面オブジェクトに関する第1のモバイルプラットフォームのポーズ(ポジションおよび方位)を判断するための手段とを含む。システムは、平面オブジェクトに関する第1のモバイルプラットフォームの方位を使用して平面オブジェクトの画像をワープして、平面オブジェクトの正面図の参照画像を作るための手段と、第2のモバイルプラットフォームによってキャプチャされた平面オブジェクトの画像および参照画像を使用して、平面オブジェクトに関する第2のモバイルプラットフォームのポーズを判断するための手段とをさらに含む。所望される場合、システムは、参照画像と参照画像に含まれない平面オブジェクトの一部分を含む新規画像とをマージして、平面オブジェクトの正面図の新規参照画像を生成するための手段を含むことができる。そのようなシステムでは、第2のモバイルプラットフォームのポーズを判断するための手段は、第2のモバイルプラットフォームによってキャプチャされた平面オブジェクトの異なる画像および新規参照画像を使用して、平面オブジェクトに関する第2のモバイルプラットフォームのポーズを更新する。
【００１２】
さらに別の態様では、プログラムコードを記憶したコンピュータ可読媒体は、平面オブジェクトの少なくとも2つの画像を分析して、平面オブジェクトに関する少なくとも2つの画像のうちの少なくとも1つをキャプチャしたカメラのポーズ(ポジションおよび方位)を判断するためのプログラムコードと、方位を使用して平面オブジェクトの画像をワープして、平面オブジェクトの正面図の参照画像を作るためのプログラムコードとを含む。コンピュータ可読媒体は、参照画像を送信するためのプログラムコードと、参照画像を使用してマルチユーザ拡張現実アプリケーションを実行するためのプログラムコードとをさらに含む。所望される場合、コンピュータ可読媒体は、参照画像と参照画像に含まれない平面オブジェクトの一部分を含む新規画像とをマージして、平面オブジェクトの正面図の新規参照画像を生成するためのプログラムコードと、新規参照画像を送信するためのプログラムコードと、新規参照画像を使用してマルチユーザ拡張現実アプリケーションを実行するためのプログラムコードとをさらに含むことができる。
【図面の簡単な説明】
【００１３】
【図１】以前に収集された共通参照物なしに動作するマルチユーザ拡張現実(AR)システムを示す図である。
【図２】以前に収集された共通参照物なしに複数のユーザによりARを実行するプロセスを説明するフローチャートである。
【図３】平面オブジェクトの画像を平面オブジェクトの正面図の参照画像にワープすることを示す図である。
【図４】以前に収集された共通参照物なしに動作し、サーバを使用して参照画像を生成するマルチユーザARシステムを示す図である。
【図５】面上における3Dポイントおよび面のビューが異なる2つの画像上における3Dポイントの2D投影を示す図である。
【図６】マルチユーザARシステムの初期化プロセスを実行することが可能なモバイルプラットフォームまたはサーバのようなデバイスのブロック図である。
【発明を実施するための形態】
【００１４】
図1は、以前に収集された共通参照物なしに動作するマルチユーザ拡張現実(AR)システム100を示している。マルチユーザARシステム100は、マスタデバイス110Aと呼ばれることのある第1のモバイルプラットフォーム110A、ならびにモバイルプラットフォーム110と総称されることのある追加モバイルプラットフォーム110Bおよび110Cを含む。各モバイルプラットフォーム110は、環境を画像化するための背面カメラ114を含む。マスタデバイス110Aは、様々な視点から平面オブジェクト102の複数の画像(ディスプレイ112に102Aとして1つの画像が示されている)をキャプチャすることによって初期化プロセスを少なくとも部分的に実行する。複数のキャプチャされた画像から、オブジェクト102に関するマスタデバイス110Aのポーズ(ポジションおよび方位)を判断することができ、それにより参照画像104を生成し、次いでそれぞれ画像102Bおよび102Cによって示されているように同じ平面オブジェクト102を閲覧している他のモバイルプラットフォーム110Bおよび110Cに(矢印103によって示されているように)配布することができる。参照画像104を使用して、各モバイルプラットフォーム110A、110B、および110Cは、マルチユーザAPアプリケーションを実行するためにオブジェクト102に関するその固有のポーズを判断することによってオブジェクト102を追跡することができる。モバイルプラットフォームは、セルラーまたは他のワイヤレス通信デバイス、パーソナル通信システム(PCS)デバイス、パーソナルナビゲーションデバイス(PND)、個人情報マネージャ(PIM)、携帯情報端末(PDA)、ラップトップカメラ、または拡張現実(AR)に対応可能な他の適したモバイルデバイスなどの携帯電子デバイスであり得ることを理解されたい。
【００１５】
図2は、以前に収集された共通参照物なしに複数のユーザによりARを実行するプロセスを説明するフローチャートである。マスタデバイス110Aは、背面カメラ114によりオブジェクト102の2つ以上の画像をキャプチャする(202)。本明細書では、キャプチャされた画像は、静止画像またはビデオフレームであり得ることを理解されたい。オブジェクト102の2つ以上の画像が、マスタデバイス110Aによって様々な視点、すなわちオブジェクト102に関する様々なポーズで、または異なる視点を持つ異なるモバイルプラットフォーム110Aおよび110Bによってキャプチャされる。複数のキャプチャされた画像を使用して、オブジェクト102に関するマスタデバイス110Aのポーズ(ポジションおよび方位)が判断される(204)。オブジェクト102の画像は、マスタデバイス110Aによってキャプチャされた初期画像のうちの1つまたはオブジェクト102の新規画像もしくは異なる画像であってよく、次いで、マスタデバイス110Aの方位に基づいてワープされて、オブジェクト102の正面図として参照画像104作られ(206)、そのことは図3の矢印106によって示されている。参照画像104を共通参照画像として使用し、その画像から各モバイルプラットフォーム110は、マルチユーザARを実行するために追跡するオブジェクトに関するその固有のポーズを判断することができる(208)。
【００１６】
図1に示すように、マスタデバイス110Aはそのポーズを判断し(図2のステップ204)、オブジェクトの画像をワープし(図2のステップ206)、矢印103によって示されているように他のモバイルプラットフォーム110Bおよび110Cに参照画像104を送信することができる。次いで、マスタデバイス110A、ならびに他のモバイルプラットフォーム110Bおよび110Cは、作られた参照画像104を使用して、ARアプリケーションにおいてオブジェクトに関するそれらのそれぞれのポーズを判断することができる。
【００１７】
ただし、所望される場合、プロセスのうちの1つまたは複数を、マスタデバイス110Aからリモートで実行することができる。たとえば、別個のサーバを使用して、初期化機能のうちの1つまたは複数を実行することができる。図4に示すように、マルチユーザARシステム100'において、マスタデバイス110Aは、オブジェクト102の複数の画像(図4のディスプレイ112に102Aとして1つの画像が示されている)をキャプチャすることができ(図2のステップ202)、サーバ130に(矢印105によって示されているように)キャプチャされた画像を送信することができる。次いでサーバ130は、キャプチャされた画像を使用して、マスタデバイス110Aのポーズを判断し(図2のステップ204)、オブジェクト102の画像をワープして、参照画像104を作ることができる(図2のステップ206)。次いでサーバ130は、矢印107によって示されているように、マスタデバイス110Aおよび他のモバイルプラットフォーム(図4ではモバイルプラットフォーム110Bのみが示されている)に参照画像104を送信する。所望される場合、マスタデバイス110Aは、ポーズを判断し(図2のステップ204)、ポーズに関連する画像とともにポーズをサーバ130に送信することができる。次いでサーバ130は、画像をワープし(図2のステップ206)、マスタデバイス110Aおよびモバイルプラットフォーム110Bに参照画像104を送信する。あるいは、サーバ130を使用する代わりに、プロセスステップのうちの1つまたは複数は、他のモバイルプラットフォーム110Bおよび/または110Cによって実行され得る。たとえば、マスタデバイス110A(またはマスタデバイス110Aおよび別のモバイルプラットフォーム110B)は、オブジェクト102の複数の画像をキャプチャすることができ(図2のステップ202)、マスタデバイス110Aからのキャプチャされた画像は、別のモバイルプラットフォーム110Bに送信され得る。他のモバイルプラットフォーム110Bは、マスタデバイス110Aのポーズを判断し(図2のステップ204)、オブジェクト102の画像のうちの1つを参照画像104にワープし(図2のステップ206)、ワープされた画像を、マスタデバイス110Aを含む他のモバイルプラットフォームに送信することができる。代替的に、オブジェクト102のキャプチャされた複数の画像(図2のステップ202)を他のモバイルプラットフォーム110Bおよび110Cの各々に送信することができ、次いで他のモバイルプラットフォーム110Bおよび110Cは、マスタデバイス110Aのポーズを独自に判断し(図2のステップ204)、オブジェクト102の画像のうちの1つを参照画像104にワープする(図2のステップ206)。所望される場合、マスタデバイス110Aは、ポーズを判断し(図2のステップ204)、ポーズに関連する画像とともにポーズを他のモバイルプラットフォーム110Bおよび110Cに送信することができる。次いで他のモバイルプラットフォーム110Bおよび110Cは独自に、画像を正面図にワープする(図2のステップ206)。
【００１８】
図5は、面π上における3DポイントQ、および面πのビューが異なる2つのそれぞれの画像I、I'上における3DポイントQの2D投影q、q'を示しており、これにより、以下の表記法を使用してマスタデバイス110Aのポーズを判断することを示している。
【００１９】
3DポイントQ=(X,Y,Z)Tは、式1および式2のとおり3×4投影行列Pによって、カメラ画像上におけるその2D投影q=(x,y,1)Tに関係付けられる。
q≒PQ      式1
【００２０】
ここで、≒はスケール係数まで等しいことを表している。
P=K[R|t]      式2
【００２１】
ここで、Rは回転を表し、tは平行移動を表し、Kは固有のカメラパラメータを表している。
【００２２】
図5に示すように、面π上における3DポイントQが2つの画像I'およびI上において閲覧される場合、画像I'上におけるその2D投影q'=(x',y',1)および画像I上におけるその投影q=(x,y,1)は、式3のとおり2D-2Dホモグラフィhによって関係付けられる。
q'≒hq      式3
【００２３】
画像Iの投影行列がK[I|0]で、画像のI'の投影行列がK'[R'|t']である場合、式4のとおりとなる。
【００２４】
【数１】
2013539872.tif 000003
【００２５】
ここで、3DポイントQ∈πにおいてnTQ=dであり、nは、面法線の方向にある単位ベクトルであり、dは、起点から面までの距離である。同じカメラを使用して画像Iと画像I'の両方を作る場合、固有のカメラパラメータは変化しない、すなわちK'=Kである。nおよびdの値は、画像Iのカメラ座標フレームで定義される。
【００２６】
面π上における3Dポイントおよびカメラ画像上におけるその2D投影qは、式5のとおり3D-2DホモグラフィHによって関係付けられる。
q≒HQ      式5
【００２７】
世界座標フレームが定義されて、z軸が面法線と整合し、起点が面上にある場合、ホモグラフィHは式6のフォーマットを有する。
H≒K[r1r2t]      式6
【００２８】
ここで、r1およびr2は、回転行列Rの第1の列および第2の列であり、tは、式2で定義された平行移動ベクトルである。
【００２９】
マルチユーザ拡張現実システム100の初期化プロセス中に、ユーザ、すなわちモバイルプラットフォーム110A、110Bおよび110Cは、拡張のための接地面として機能する同じ平坦面、たとえば図1のオブジェクト102を閲覧している。マスタデバイス110Aの固有のカメラパラメータKは、事前に較正され、プロセス全体を通じて同じままである。マスタデバイス110Aはオブジェクト102に関して移動して、様々な視点からオブジェクト102の画像をキャプチャする。所望される場合、初期画像が様々なデバイスによって様々な視点でキャプチャされることがあり、たとえばマスタデバイス110Aが1つの画像をキャプチャすることがあり、別のモバイルプラットフォーム110Bが別の画像をキャプチャすることがあり、次いでその画像がマスタデバイス110A(またはサーバ130)に、他のモバイルプラットフォーム110Bの固有のカメラパラメータK'とともに送信される。キャプチャされた画像またはビデオフレームごとに、キャプチャされた各画像から特徴が抽出される。特徴を局所化し、それらの記述を生成する、Scale Invariant Feature Transform(SIFT)のようなよく知られている技法を使用して、特徴が抽出され得る。所望される場合、他の技法、たとえば、Speed Up Robust Features(SURF)、Gradient Location-Orientation Histogram(GLOH)、Compressed Histogram of Gradients(CHoG)または他の同等の技法を使用してもよい。画像に関して抽出された特徴の数がしきい値、たとえばポイント特徴100個を上回ったとき、画像は初期画像として保存され、抽出された特徴は参照ポイントとして定義される。参照ポイントとして定義された各画像からの抽出された特徴を有する画像が少なくとも2つ存在するようになるまで、後続画像は同様に処理される。
【００３０】
マスタデバイス110Aのポーズは、少なくとも2つの画像および定義された参照ポイントに基づいて判断される(図2のステップ204)。ポーズを判断するにあたり、初期画像と少なくとも1つの後続画像との間の2D-2Dホモグラフィhを計算することによって、ドミナントプレーンが検出される。ホモグラフィhは、初期画像が保存されるときに恒等行列として初期化される。後続画像ごとに、初期画像からの参照ポイントがホモグラフィhによって後続画像に投影される。後続画像における対応するポイントは、投影される各参照ポイントの周りで検索される。対応するポイントペアからのホモグラフィを計算するためにRANdom SAmpling Consensus(RANSAC)最適化手法を使用してホモグラフィhの値が更新される。所望される場合、オプティカルフローのような、一連の画像にわたって2Dポイントを追跡するための他の技法を使用してもよく、したがって任意の2Dポイント追跡またはマッチング方法をドミナントプレーンの検出に使用できる。
【００３１】
ホモグラフィhは、上述した相対カメラ運動[R'|t']および面法線nに分解され得る。しかしながら、キャプチャされた画像間におけるマスタデバイス110Aのカメラの平行移動運動が小さすぎる場合、分解される面法線nは正確ではない。したがって、hthの最大固有値および最小固有値の割合としてメトリックSを定義することができ、ここで、ホモグラフィhは、メトリックSがしきい値、たとえば2.0を超えた後、相対カメラ運動[R'|t']および面法線nに分解される。
【００３２】
面π上における3DポイントQに関して、その2D投影qおよびポイントOとして図5に示すカメラ114の中心が光線を形成する。光線を面πと交差させた後、3DポイントQの座標が判断され得る。複数の参照ポイントが複数の3Dポイントに対応し、これらは3D面を形成する。一般に、ホモグラフィ分解には2つの解がある。適切な解を選択するために、結果として生じる2つの3D面を記憶し、使用して、後続フレームにおけるマスタデバイス110Aのポーズを推定する。一方の面の平均投影誤差が他方の面の平均投影誤差よりも大きい、たとえば一方の誤差が他方の誤差の1.2倍の大きさである場合、投影誤差が大きい方の面が除去される。初期画像が概ね平面オブジェクト102の正面図である場合、面法線nを使用して適切な3D面を選択することができる。適切な3D面が選択された後、面上に起点を有する形で面法線nとz軸を整合させるように、世界座標フレームが定義される。したがって、3D-2DホモグラフィHが判断されるのに伴い、オブジェクト102に関するマスタデバイス110Aのポーズが、式6を参照しながら上述した回転行列Rおよび平行移動ベクトルtに基づいて判断される。所望される場合、他のポーズ判断技法を使用してもよい。
【００３３】
次いで、平面オブジェクト102の正面図が生成される(図2のステップ206)。たとえば、オブジェクト102上における3Dポイントおよび画像上におけるそれらの2D投影を使用して、投影行列P=K[R|t]を推定することができる。回転Rおよび平行移動tは、3D-2DホモグラフィHから推定され得る。Rの第1の列r1および第2の列r2は、Hの第1の列および第2の列からのものである。Rの第3の列は、r3=r1×r2として作成され得る。平行移動tは、Hの第3の列である。図3に示すように、画像102Aを、矢印106によって示されるように回転R-1のみを使用して正面図参照画像104にワープすることができる。ただし、所望される場合、3D面と画像上におけるその2D投影との間のホモグラフィHを使用して(すなわちH-1)、画像をワープすることができる。方位を使用して正面図に画像をワープした後、正面図画像をスケーリングし、面上のどこにでも平行移動させることができる。たとえば、面に投影された後の画像の左下隅を特定して、平行移動に使用する。同様に、画像およびその投影の対角比を使用して、スケーリング係数(スケール)を導出することができる。
【００３４】
さらに、所望される場合、初期のキャプチャされた画像のうちの1つを使用する代わりに、オブジェクト102の新規画像をキャプチャし、ワープして参照画像104を作ることができるが、新規画像に関するポーズは、たとえば、新規画像に関する以前に判断されたポーズおよびビジョンに基づく追跡、ならびに新規画像をワープするために使用される方位を使用して判断すべきである。ただし、カメラ114の視聴方向と面法線nとの間の角度αが大きすぎる場合、参照画像の品質はポーズ推定に十分な品質ではないことがある。角度αは、式7のとおり計算され得る。
α=cos-1(r33)      式7
【００３５】
ここで、r33は、回転行列Rの第3の列における第3の要素である。
【００３６】
したがって、高品質の参照画像を生成するために、初期のキャプチャされた画像および/または最新のキャプチャされた画像について角度αが判断される。角度αがしきい値、たとえば8度よりも小さい場合、対応する画像が正面図にワープされる。キャプチャされた画像の角度αがしきい値よりも大きい場合、追加画像をキャプチャして使用することができる。たとえば、適切な画像が発見されるまで、追加画像をキャプチャすることができ、それらの角度αをしきい値と比較することができる。代替的に、M個の追加画像をマスタデバイス110Aによってキャプチャすることができ、最小角度αを有する画像が参照画像として正面図にワープされる。次いで参照画像が他のモバイルプラットフォーム110Bおよび110Cに送られ得る。参照画像は標準画像であるので、既存のネットワークプロトコルおよび画像標準を使用して、参照画像を圧縮し、送り、展開することができる。
【００３７】
所望される場合、単一の画像を使用して参照画像104を生成する代わりに、複数の画像を使用して高解像度の参照画像を作ることができる。たとえば、複数の画像をキャプチャし、すべてを平均して、最終的な高解像度の参照画像を作ることができる。たとえば、参照画像は、N個のキャプチャされた画像から生成され得る。参照画像内のピクセルごとに、各候補画像が、対応するピクセルについて検索される。様々な候補画像内に複数の対応部分がある場合、対応部分のピクセル値の平均が、参照画像上のピクセル値として使用される。
【００３８】
各モバイルプラットフォームが参照画像104を受信した後(参照画像104は、マスタデバイス110A、サーバ130から受信されること、または各モバイルプラットフォームによって独自に作られることがある)、参照画像104を共通参照画像として使用することができ、この画像から各モバイルプラットフォーム110は、マルチユーザARアプリケーションを実行するために追跡するそのポーズを判断することができる(図2のステップ208)。参照画像に関するモバイルプラットフォームのポーズを判断するために、第1に、ポイント特徴もしくはライン特徴のような特徴または他の適切な特徴が参照画像104上で検出され、特徴ごとに記述子が作られる。上述のSIFT、SURF、GLOH、CHoGのようなよく知られた技法を使用して、特徴が抽出され得る。各モバイルプラットフォーム110はポイント特徴を独自に抽出することができ、その結果、参照画像104のみがモバイルプラットフォーム110に送信されることが必要となり、これは既存のネットワークプロトコルおよび画像標準を使用して実行され得る。参照画像104はオブジェクト102の正面図であり、したがって参照画像104内の任意の検出された2Dポイント(x,y)に関して、対応する3Dポイントを(sx,sy,0)として定義でき、ここで、sは定数であり、すべてのモバイルプラットフォーム110において同じである。この座標定義は、世界座標系のz軸を面法線と整合させ、面上に世界座標の起点を作る。所望される場合、座標の他の定義も可能である。次いで、3Dポイントの2D投影が、モバイルプラットフォームからの後にキャプチャされた各画像において検索される。次いで、オブジェクト102に関するモバイルプラットフォームのポーズが、合致した3D-2Dポイントペアを使用して推定され得る。
【００３９】
所望される場合、元の参照画像104を拡張することができ、拡張された参照画像を他のモバイルプラットフォームに配布することができる。初期化プロセス中に、参加モバイルプラットフォームのカメラが、オブジェクト102の同じ部分からの画像をキャプチャするように向けられる。マスタデバイス110Aは、様々な観点からの画像をキャプチャし、様々な観点からの画像を使用して、参照画像が生成され、次いで他のユーザに送信され得る。各モバイルプラットフォームは、オブジェクト102の画像を引き続きキャプチャし、参照画像を使用して、最新画像に関するポーズを推定する。最新画像のかなりの部分が参照画像内で見えない場合、参照画像と最新画像とをマージして、新規参照画像を生成することができ、新規参照画像を他のモバイルプラットフォームに送信することができる。
【００４０】
参照画像を拡張するために、2Dポイントが参照画像上で検出され、それらの2D対応部分が最新画像内で検索される。参照画像と最新画像との間に著しい差異が存在する場合、上述したように合致したポイントペアに基づいてホモグラフィhが計算される。参照画像と最新画像とをマージすることによって、新規参照画像が生成され得る。たとえば、元の参照画像上のピクセルを、恒等変換を通じて新規参照画像に変換することができ、最新画像上のピクセルを、ホモグラフィhを通じて新規参照画像に変換することができる。
【００４１】
参照画像と最新画像との間に著しい差異があるか否かを判断する方法がいくつかある。たとえば、2つの画像間のカメラ運動を使用して、著しい差異が存在するか否かを判断することができ、この場合、カメラ運動は、本明細書で説明するビジョンに基づく技法を使用して、または加速度計およびジャイロスコープのようなオンボード運動センサによって判断される。著しい差異が存在するか否かを判断する別の方法は、参照画像上のポイントおよび最新画像上のそれらの対応部分を検出することである。次いで、最新画像上のポイントの密閉型長方形(enclosed rectangle)が計算され得る。比率rが、最新画像のエリアに対する長方形のエリアの比率として定義され得る。rが所望のしきい値を下回る場合、2つの画像間の差異が著しいと考えられ得る。
【００４２】
たとえば、すべてのモバイルプラットフォーム110Bおよび110Cが、参照画像と著しく異なる画像をマスタデバイス110Aまたはサーバ130に送ることによって、拡張された参照画像は作られ得る。マスタデバイス110Aまたはサーバ130は、異なるモバイルプラットフォームからの受信画像をマージすることによって参照画像を拡張し、拡張された参照画像を他のモバイルプラットフォームに送信することができる。拡張された参照画像が大きすぎて、ネットワークで配布できない場合、拡張された参照画像を複数のタイトルに分割することができ、拡張された参照画像はタイトルごとに配布され得る。代替的に、複数のタイトルをビデオファイルに統合し、ビデオとして配布してもよい。
【００４３】
図6は、上述のようにマルチユーザARシステムの初期化プロセスを実行することが可能なデバイス300のブロック図である。図6に示すデバイス300は、たとえばマスタデバイス110Aまたはサーバ130であり得る。デバイス300は、処理される画像を受信するためのインターフェース、データ送信インターフェース、およびプロセッサ161を含む。たとえば、デバイス300がマスタデバイス110Aである場合、処理される画像を受信するためのインターフェースは、カメラ114とプロセッサ161との間のインターフェースであってよく、データ送信インターフェースはトランシーバ140であってよい。デバイス300がサーバ130であり、したがってカメラ114を含まない場合、処理される画像を受信するためのインターフェースおよびデータ送信インターフェースはトランシーバ140であってよい。したがって、デバイス300は、参照画像または初期のキャプチャされた画像のようなデータを送信するための手段を含む。データを送信するための手段は、デバイス300がモバイルプラットフォームであるとき、セルラタワーへのおよびそこからのまたはワイヤレスアクセスポイントからの通信の送信および受信が可能なセルラモデムまたはワイヤレスネットワーク無線受信機/送信機のようなワイヤレストランシーバ140であり得る。代替的に、デバイス300がサーバであるとき、トランシーバは、たとえば、イーサネット(登録商標)または任意の他の有線形式を介して信号を送信および受信するための有線通信インターフェースであり得る。
【００４４】
デバイス300がモバイルプラットフォームである場合、デバイス300は、カメラ114のような平面オブジェクトの画像をキャプチャするための手段をさらに含み、加速度計、ジャイロスコープ、電子コンパス、または他の同様の運動検知要素のような運動センサ111を随意に含むことができる。デバイス300は、ディスプレイ112のような画像およびARオブジェクトを表示するための手段を含むユーザインターフェース150をさらに含むことができる。ユーザインターフェース150はまた、キーパッド152、またはユーザが情報をデバイス300に入力することのできる他の入力デバイスを含むことができる。所望される場合、タッチセンサ付きディスプレイ112に仮想キーパッドを統合することによって、キーパッド152をなくすことができる。たとえば、デバイス300がセルラー電話のようなモバイルプラットフォームであるとき、ユーザインターフェース150は、マイクロフォン154およびスピーカー156も含み得る。もちろん、デバイス300は、衛星測位システム受信機のような本開示に無関係な他の要素を含んでもよい。
【００４５】
デバイス300はまた、デバイス300がモバイルプラットフォームであるとき、トランシーバ140およびユーザインターフェース150、ならびにカメラ114および随意の運動センサ111に接続され、これらと通信する制御ユニット160を含む。制御ユニット160は、カメラ114によってキャプチャされた画像を受け取り、処理し、トランシーバ140およびディスプレイ112を制御する。制御ユニット160は、プロセッサ161および関連メモリ164、ハードウェア162、ソフトウェア165、ならびにファームウェア163によって提供され得る。制御ユニット160は、上述したように、カメラ114からの初期画像を処理して、2D-2Dホモグラフィhを判断し、3D-2DホモグラフィHを判断し、世界座標フレームを定義するための画像プロセッサ166を含むことができる。制御ユニット160は、グラフィックスエンジン167をさらに含むことができ、これは、たとえばゲームエンジンであってよく、初期画像のうちの1つ(または異なる画像)を正面図参照画像104にワープし、正面図参照画像104はトランシーバ140を介して他のモバイルプラットフォームに送信される。グラフィックスエンジン167はまた、ディスプレイ112に表示される所望のARオブジェクトをレンダリングすることができる。制御ユニットはまた、カメラ114からの画像および参照画像104に基づいてオブジェクト102に関するマスタデバイス110Aのポジションおよび方位を判断し追跡するためのポーズプロセッサ168を含むことができる。画像プロセッサ166、グラフィックスエンジン167、およびポーズプロセッサ168は、明確にするためにプロセッサ161とは別個に示されているが、プロセッサ161の一部であってもよく、またはプロセッサ161内で作動するソフトウェア165内の命令に基づいてプロセッサ内で実施されてもよい。本明細書では、プロセッサ161は、1つまたは複数のマイクロプロセッサ、組込み型プロセッサ、コントローラ、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)などを含み得るが、必ずしもそれらを含む必要もないことが理解されよう。「プロセッサ」という用語は、特定のハードウェアではなくてシステムによって実装される機能を述べることを意図する用語である。さらに、本明細書では、「メモリ」という用語は、長期メモリ、短期メモリ、またはモバイルプラットフォームに関連付けられた他のメモリを含む任意の種類のコンピュータ記憶媒体を指し、メモリのいかなる特定の種類またはメモリの数、あるいはメモリが記憶される媒体の種類に限定されない。
【００４６】
したがって、それぞれ図1および図4に示すマルチユーザARシステム100および100'は、カメラ114を含み得る、第1のモバイルプラットフォームから平面オブジェクトの少なくとも2つの画像をキャプチャするための手段と、画像プロセッサ166およびポーズプロセッサ168を含み得る、少なくとも2つの画像を使用して平面オブジェクトに関する第1のモバイルプラットフォームのポジションおよび方位を判断するための手段とを含む。システムは、画像プロセッサ166、ポーズプロセッサ168、およびグラフィックスエンジン167を含み得る、平面オブジェクトに関する方位を使用して平面オブジェクトの画像をワープして、平面オブジェクトの正面図の参照画像を作るための手段をさらに含む。システムは、第2のモバイルプラットフォーム110B内にある画像プロセッサ166およびポーズプロセッサ168を含み得る、第2のモバイルプラットフォームによってキャプチャされた平面オブジェクトの画像および参照画像を使用して平面オブジェクトに関する第2のモバイルプラットフォームのポジションおよび方位を判断するための手段をさらに含む。所望される場合、システムは、マスタデバイス110A、サーバ130、または第2のモバイルプラットフォーム110Bに位置し得る画像プロセッサ166、ポーズプロセッサ168、およびグラフィックスエンジン167を含み得る、参照画像と参照画像に含まれない平面オブジェクトの一部分を含む新規画像とをマージして、新規参照画像を生成するための手段とをさらに含むことができ、第2のモバイルプラットフォームのポジションおよび方位を判断するための手段は、第2のモバイルプラットフォームによってキャプチャされた平面オブジェクトの異なる画像および新規参照画像を使用して平面オブジェクトに関する第2のモバイルプラットフォームのポジションおよび方位を更新する。
【００４７】
本明細書で説明する方法は、用途に応じて様々な手段によって実装され得る。たとえば、これらの方法は、ハードウェア162、ファームウェア163、ソフトウェア165、またはそれらの任意の組合せで実装され得る。ハードウェア実装形態の場合、処理ユニットは、本明細書で説明する機能を実行するように設計された、1つもしくは複数の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号プロセッシングデバイス(DSPD)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子デバイス、他の電子ユニット、またはそれらの組合せ内で実装され得る。
【００４８】
ファームウェアおよび/またはソフトウェア実装形態の場合、これらの方法は、本明細書で説明する機能を実行するモジュール(たとえば、プロシージャ、関数など)によって実装されてもよい。本明細書で説明する方法を実施する際に、命令を有形に具現化する任意の機械可読媒体を使用してもよい。たとえば、ソフトウェアコードをメモリ164に記憶し、プロセッサ161によって実行してもよい。メモリは、プロセッサ161の内部または外部に実装され得る。
【００４９】
ファームウェアおよび/またはソフトウェアで実装する場合、機能は、コンピュータ可読媒体上に1つもしくは複数の命令またはコードとして記憶されてもよい。例としては、データ構造で符号化された非一時的コンピュータ可読媒体、およびコンピュータプログラムで符号化されたコンピュータ可読媒体がある。たとえば、プログラムコードを記憶したコンピュータ可読媒体は、平面オブジェクトの少なくとも2つの画像を分析して、平面オブジェクトに関する少なくとも2つの画像のうちの少なくとも1つをキャプチャしたカメラのポジションおよび方位を判断するためのプログラムコードと、方位を使用して平面オブジェクトの画像をワープして、平面オブジェクトの正面図の参照画像を作るためのプログラムコードと、参照画像を送信するためのプログラムコードと、参照画像を使用してマルチユーザ拡張現実アプリケーションを実行するためのプログラムコードとを含むことができる。所望される場合、コンピュータ可読媒体は、参照画像と参照画像に含まれない平面オブジェクトの一部分を含む新規画像とをマージして、平面オブジェクトの正面図の新規参照画像を生成するためのプログラムコードと、新規参照画像を送信するためのプログラムコードと、新規参照画像を使用してマルチユーザ拡張現実アプリケーションを実行するためのプログラムコードとをさらに含むことができる。コンピュータ可読媒体は、物理コンピュータ記憶媒体を含み、一時的伝播信号は指さない。記憶媒体は、コンピュータによってアクセスされ得る任意の使用可能な媒体であってよい。限定ではなく、一例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROM、または他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気記憶デバイス、あるいは所望のプログラムコードを命令またはデータ構造の形で記憶するのに使用することができ、かつコンピュータからアクセスすることのできる任意の他の媒体を備えてよく、本明細書で使用するディスク(diskおよびdisc)には、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フレキシブルディスク、およびブルーレイディスクが含まれ、ディスク(disk)は通常、データを磁気的に再生し、一方、ディスク(disc)はデータをレーザによって光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含めるべきである。
【００５０】
本発明をその説明のために特定の実施形態に関連して例示したが、本発明はそれらの実施形態に限定されない。本発明の範囲から逸脱せずに様々な適合および修正を施してもよい。したがって、添付の特許請求の範囲の趣旨および範囲を上記の説明に限定すべきではない。
【符号の説明】
【００５１】
100  マルチユーザ拡張現実(AR)システム
100'  マルチユーザARシステム
102  平面オブジェクト、オブジェクト
102A  画像
102B  画像
102C  画像
103  矢印
104  参照画像
105  矢印
106  矢印
107  矢印
110  モバイルプラットフォーム
110A  マスタデバイス、第1のモバイルプラットフォーム
110B  追加モバイルプラットフォーム、他のモバイルプラットフォーム
110C  追加モバイルプラットフォーム、他のモバイルプラットフォーム
114  背面カメラ
130  サーバ
300  デバイス
【図１】
2013539872.tif 000004
【図２】
2013539872.tif 000005
【図３】
2013539872.tif 000006
【図４】
2013539872.tif 000007
【図５】
2013539872.tif 000008
【図６】
2013539872.tif 000009
【国際調査報告】
2013539872.tif 000010
2013539872.tif 000011