JP6635037B2 - 情報処理装置、および情報処理方法、並びにプログラム - Google Patents
情報処理装置、および情報処理方法、並びにプログラム Download PDFInfo
- Publication number
- JP6635037B2 JP6635037B2 JP2016538184A JP2016538184A JP6635037B2 JP 6635037 B2 JP6635037 B2 JP 6635037B2 JP 2016538184 A JP2016538184 A JP 2016538184A JP 2016538184 A JP2016538184 A JP 2016538184A JP 6635037 B2 JP6635037 B2 JP 6635037B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- display
- anchor
- virtual object
- information processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/63—Control of cameras or camera modules by using electronic viewfinders
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/44—Receiver circuitry for the reception of television signals according to analogue transmission standards
- H04N5/445—Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
- H04N5/44504—Circuit details of the additional information generator, e.g. details of the character or graphics signal generator, overlay mixing circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/579—Depth or shape recovery from multiple images from motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Description
これらの端末の多くは、通信機能のみならず、カメラ機能を備え、撮影画像を表示部に表示することができる。また、表示部には撮影画像のみならず、例えばネットワークを介してアクセスされるWebページ等、ネットワークを介して受信する様々な情報の表示が可能である。
なお、このような撮影画像に関連する情報を撮影画像に重畳させて表示する構成を開示した文献として、例えば特許文献1(特開2011−028763号公報)がある。
様々な施設の登録情報をその施設位置に正確に対応付けたデータを用いて、オブジェクトの撮影および表示を行うユーザ端末の位置や傾きを検出し、表示部におけるオブジェクトの移動に応じて関連情報も連動させて移動させる制御を行うことで登録情報を施設位置に合わせて重畳表示することが可能である。
一方、IMES(Indoor MEsaging System)などの屋内測位技術を利用することにより数センチメートルの高精度にて測位を行うこともできるが、測位の為にインフラ設備を導入する必要があるため運用コストの問題ある。また、スマートホンやタブレット端末などのユーザ端末が新しい測位技術に対応する必要がある。
撮像部と、
前記撮像部の撮影画像を表示する表示部と、
撮影画像に含まれる実世界の登録情報設定ポイントを示す仮想オブジェクトを前記表示部に表示するデータ処理部を有し、
前記データ処理部は、
実世界での実オブジェクトを撮影した基準画像であるアンカーと、仮想3次元空間座標系での前記アンカーの位置情報と前記登録情報設定ポイントの位置情報を記録した仮想オブジェクト表示制御データを入力し、
前記撮像部の撮影画像からアンカーを検出し、検出したアンカーの仮想3次元空間座標での位置および方向から、前記撮像部の仮想3次元空間での位置を特定して、前記表示部の座標系である表示部座標系における前記登録情報設定ポイントの位置を算出し、算出位置に基づき、前記登録情報設定ポイントを示す仮想オブジェクトを表示する情報処理装置にある。
ビーコン送信装置近傍の実オブジェクト情報を含む仮想オブジェクト表示制御データを格納した記憶部と、
情報処理装置からの制御情報取得要求に応じて前記仮想オブジェクト表示制御データを送信する通信部を有する情報提供サーバであり、
前記仮想オブジェクト表示制御データは、
ビーコン送信装置近傍の実オブジェクトを撮影した基準画像と、該基準画像に含まれる実オブジェクトと、実オブジェクト近傍の登録情報設定ポイントとの仮想3次元空間での位置情報を記録した情報である情報提供サーバにある。
情報処理装置の受信したビーコンの転送信号を、該情報処理装置から受信する通信部と、
転送されたビーコンに基づいて、該ビーコンの送信装置近傍の実オブジェクトを含む基準画像と、前記実オブジェクトと前記登録情報設定ポイントとの仮想3次元空間座標での位置情報を記録した仮想オブジェクト表示制御データを取得するためのアクセス情報を前記情報処理装置に送信する処理を実行するデータ処理部を有する検索サーバにある。
情報処理装置において実行する情報処理方法であり、
前記情報処理装置は、撮像部と、前記撮像部の撮影画像を表示する表示部と、撮影画像に含まれる実世界の登録情報設定ポイントを示す仮想オブジェクトを前記表示部に表示するデータ処理部を有し、
前記データ処理部が、
実世界での実オブジェクトを撮影した基準画像であるアンカーと、仮想3次元空間座標系での前記アンカーの位置情報と前記登録情報設定ポイントの位置情報を記録した仮想オブジェクト表示制御データを入力し、
前記撮像部の撮影画像からアンカーを検出し、検出したアンカーの仮想3次元空間座標での位置および方向から、前記撮像部の仮想3次元空間での位置を特定して、前記表示部の座標系である表示部座標系における前記登録情報設定ポイントの位置を算出し、算出位置に基づき、前記登録情報設定ポイントを示す仮想オブジェクトを表示する情報処理方法にある。
情報処理装置において情報処理を実行させるプログラムであり、
前記情報処理装置は、撮像部と、前記撮像部の撮影画像を表示する表示部と、撮影画像に含まれる実世界の登録情報設定ポイントを示す仮想オブジェクトを前記表示部に表示するデータ処理部を有し、
前記プログラムは、前記データ処理部に、
実世界での実オブジェクトを撮影した基準画像であるアンカーと、仮想3次元空間座標系での前記アンカーの位置情報と前記登録情報設定ポイントの位置情報を記録した仮想オブジェクト表示制御データを入力させ、
前記撮像部の撮影画像からアンカーを検出し、検出したアンカーの仮想3次元空間座標での位置および方向から、前記撮像部の仮想3次元空間での位置を特定して、前記表示部の座標系である表示部座標系における前記登録情報設定ポイントの位置を算出し、算出位置に基づき、前記登録情報設定ポイントを示す仮想オブジェクトを表示させるプログラムにある。
具体的には、実オブジェクトを撮影した基準画像であるアンカー、およびアンカーと登録情報設定ポイントの仮想3次元空間座標での位置情報(位置、方向等)を記録した表示制御データを入力し、撮影画像からアンカーを検出し、仮想3次元空間での情報装置の位置を特定し、特定した3次元位置と、表示制御データに記録された登録情報設定ポイントの位置情報から、端末座標系での3次元位置、および、表示デバイスの2次元座標系での表示位置を算出してポイント位置を表示する。
本構成により、実3次元空間での実オブジェクトの位置に正確に対応付けて、登録情報設定ポイント(POI)を、情報処理装置の位置を原点とした座標系に変換し、情報処理装置の位置、方向に合わせて表示部に登録情報を表示する装置、方法が実現される。
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
1.本開示の情報処理装置と、情報処理装置を含むシステムの構成例について
2.通信処理および画像表示処理の詳細について
3.登録情報設定ポイント(POI)位置識別マークの表示位置を決定する処理について
4.情報処理装置の実行する各処理のシーケンスについて
4−1.仮想オブジェクト表示制御データの取得と仮想オブジェクト表示処理
4−2.測位処理オブジェクト設定処理
4−3.仮想オブジェクト表示イベント検出に基づく仮想オブジェクト表示処理
4−4.3次元位置測位処理
5.仮想オブジェクトの表示開始または表示更新処理のトリガとなるイベントについて
6.情報処理装置、およびサーバの構成例について
7.本開示の構成のまとめ
まず、図1を参照して本開示の情報処理装置と、情報処理装置を含むシステムの構成例について説明する。
図1は、本開示の情報処理装置を含む通信システムの一構成例を示す図である。
情報処理装置(ユーザ端末)10は、例えばスマートホンや、グラス(眼鏡)型端末等、ユーザが携帯可能な通信端末である。
情報処理装置(ユーザ端末)10は、通信部、カメラ(撮像部)、表示部を備え、カメラ撮影画像を表示部に表示し、通信部を介して受信した情報を撮影画像に重畳して表示部に表示する機能を備えた装置である。
通信によって一体となった動作を行う構成の場合、例えば、頭部に装着したカメラ(撮像部)が撮像した動画、および位置・向き情報をスマートホン(表示部)にWi−Fiで送信する構成により可能になる。
本開示の処理は、情報処理装置10が物理的に一つの装置の構成であっても、通信を介して複数の装置で構成される場合においても適用可能である。
ビーコンは、ビーコン送信装置20の識別子(ID)等を格納したパケットである。
情報処理装置10は、ビーコン送信装置20から受信したビーコンを、インターネット等のネットワーク30を介して検索サーバ40に転送する。
なお、例えばWebページなどの提供地図データでは、名所や、目印となる建物など、多くの人間の興味があると推定されるポイントとして登録情報設定ポイント(POI:Point of Interest)が設定されているが、上記アクセス情報(URL)は、例えばこの登録情報設定ポイント(POI)に関する位置情報と登録情報などを含む表示制御データを取得するためのアクセス情報である。
すなわち、カメラ(撮像部)によって撮影され表示部に表示されている実オブジェクト上に、情報提供サーバ50から取得したPOIに関する位置情報や、登録情報を仮想オブジェクトとして重畳して表示する。
情報処理装置10は、このPOIの表示制御データを用いて、ビーコン送信装置20の設置場所の近辺にある様々な施設等のPOIの位置や登録情報を表示部に表示されたカメラ撮影画像上に重畳して表示する。
図2は、情報処理装置(ユ―ザ端末)10によるカメラ撮影画像の表示部に対する表示例を示している。
なお、以下では、情報処理装置(ユ―ザ端末)10の一例としてスマートホンを用いた例を説明するが、以下に説明する実施例は、スマートホン以外の様々なユーザ端末、例えばタブレット端末、PC、グラス(眼鏡)型端末等においても同様に実行可能である。
ユーザは、情報処理装置(ユーザ端末)10のカメラ機能を利用して(a)実世界の画像を撮り込み、撮影画像を表示部に表示する。
表示部に表示された撮影画像が図2(b)に示す表示画像である。
(S01)情報処理装置10は、図2(a)に示す実世界の近くにあるアクセスポイント(AP)等のビーコン送信装置20から受信したビーコンの識別情報(ID)を検索サーバ40に転送する。
(S02)検索サーバ40は、識別情報に基づき、ビーコン送信装置20の近辺の登録情報を含むデータを取得するためのアクセス情報(URL)を情報処理装置10に送信する。
(S04)情報処理装置10は、情報提供サーバ50から取得したビーコン送信装置20の近辺の施設の位置情報や登録情報の表示制御データを用いて、表示部に表示中の撮影画像上に施設の位置を示すマークや、登録情報を仮想オブジェクトとして重畳表示する。
これらの一連の処理を実行する。
図3(a)は、先に説明した図2と同様、実世界(Real World)のある景色であり、図3(b)は、上記一連の処理(S01〜S04)を実行した後に情報処理装置10の表示部に表示される表示画像である。
(1)登録情報設定ポイントA(POI−A)101の位置情報と登録情報
(2)登録情報設定ポイントB(POI−B)102の位置情報と登録情報
(1)登録情報設定ポイントA(POI−A)101の位置情報と登録情報
この情報を選択して表示した表示画像である。
表示される仮想オブジェクトは以下のデータである。
(1)ポイントA(POI−A)位置識別マーク111、
(2)ポイントA(POI−A)対応登録情報112、
これらのデータを仮想オブジェクトとして表示している。
この表示制御の具体的処理については後述する。
ポイントA(POI−A)対応登録情報112には、登録情報設定ポイントAに対応するチケットセンターに関する様々な情報が含まれる。図に示すように、チケットセンターのオープン時間、料金等の情報が表示される。これらの情報は、情報提供サーバ50のデータベースに記録された情報であり、検索サーバ40の提供するURLに従って取得される表示制御データに含まれるか、もしくは、その表示制御データに基づく取得情報である。
(2)登録情報設定ポイントB(POI−B)102の位置情報と登録情報
この情報を適用した表示画像例を示す図である。
図4(a)は実世界(Real World)の景色であり、図4(b)は、上記一連の処理(S01〜S04)を実行した後に情報処理装置10の表示部に表示される表示画像である。
表示される仮想オブジェクトは以下のデータである。
(1)ポイントB(POI−B)位置識別マーク121、
(2)ポイントB(POI−B)対応登録情報122、
これらのデータを仮想オブジェクトとして表示している。
このように、図4(b)に示す表示画像は、撮影画像である実オブジェクト上に、情報提供サーバ50から取得したデータに基づいて生成した仮想オブジェクトを重畳して表示した画像、いわゆる拡張現実(AR:Augumented Reality)画像である。
この表示制御の具体的処理については後述する。
ポイントB(POI−B)対応登録情報122には、登録情報設定ポイントBに対応する城のエントランスに関する様々な情報が含まれる。図に示すように、エントランスのオープン時間、ガイド端末の貸し出し情報、トイレ位置情報等の情報が表示される。これらの情報は、情報提供サーバ50のデータベースに記録された情報であり、検索サーバ40の提供するURLに従って取得される情報である。
図5は、図1に示した各装置間で実行する通信シーケンスと、情報処理装置(ユーザ端末)10において実行する拡張現実画像(実オブジェクトと仮想オブジェクトとの重畳画像)の表示処理シーケンスを説明するシーケンス図である。
以下、各ステップの処理について、順次、説明する。
まず、ステップS101において、ビーコン送信装置20はビーコンを出力し、情報処理装置10がこのビーコンを受信する。前述したように、ビーコンは、ビーコン送信装置20の識別子(ID)等を格納したパケットである。
情報処理装置10は、ビーコン送信装置20から受信したビーコンを検索サーバ40に転送する。
検索サーバ40は、情報処理装置10から転送されたビーコンを受信し、ビーコンに含まれるビーコン送信装置20の識別子(ID)に基づいて、データベース検索を行い、ビーコン送信装置20の近辺の登録情報を含むデータを取得するためのアクセス情報(URL)を抽出する。
図6に示すデータは、
ビーコン送信装置識別子(ID)、
ビーコン送信装置近傍施設情報取得用URL
これらの2つのデータの対応リストによって構成される。
このリスト検索によって、情報処理装置10から転送されたビーコンに含まれるビーコン送信装置20の識別子(ID)に対応付けられたアクセス情報(URL)を取得する。
このアクセス情報(URL)は、ビーコン送信装置20の近辺の登録情報を含むデータを取得するためのアクセス情報(URL)である。
次に、検索サーバ40は、ステップS104において、ステップS103の検索処理によって取得したアクセス情報(URL)を情報処理装置10に送信する。
情報処理装置10は、検索サーバ40から受信したアクセス情報(URL)を適用して情報提供サーバ50から、ビーコン送信装置20の近辺の施設の位置情報や登録情報を含むデータ(仮想オブジェクト表示制御データ)を取得する。
情報提供サーバ50が情報処理装置10に送信するデータは、情報処理装置10の表示部に表示された実オブジェクトであるカメラ撮影画像上に重畳表示するための仮想オブジェクトの実態データと、その表示制御情報を含むデータである。このデータを、仮想オブジェクト表示制御データと呼ぶ。
(1)HTML(Hyper Text Markup Language)、
(2)CSS(Cascading Style Sheet)、
(3)JavaScript(登録商標)
CSSは、HTMLによって規定される仮想オブジェクト構成データの表示形式や色、形などを規定するスタイルシートであり、情報処理装置10の表示部に表示する仮想オブジェクトのスタイルを規定するデータである。
JavaScript(登録商標)は、仮想オブジェクトの表示処理、表示更新処理、あるいは仮想オブジェクトの動きや更新処理を規定した表示制御プログラムである。例えばユーザによる表示オブジェクトに対するタッチ、クリックなどのイベント、あるいは所定時間の経過などの様々なコンテキスト(状況)に応じて検出されるイベントをトリガとして、仮想オブジャェクトの表示態様を変更するなど、表示情報に対する様々なアクションなどの表示制御を実行する表示制御プログラムである。
(1)HTML(Hyper Text Markup Language)、
(2)CSS(Cascading Style Sheet)、
(3)JavaScript(登録商標)
これらのデータを有する仮想オブジェクト表示制御データを情報処理装置10に提供する。
すなわち、HTML、CSS、JavaScript(登録商標)を構成要素とする仮想オブジェクト表示制御データは、1つの特定のビーコン送信装置20の近辺の実世界3次元空間の様々な施設に関する位置情報や案内情報を含み、図3、図4を参照して説明したポイント(POI)位置識別マークや、ポイント対応登録情報等の仮想オブジェクトの表示、および表示制御を行うためのデータである。
このデータの詳細については後段で説明する。
情報処理装置10は、ステップS106において、URLに基づいて、情報提供サーバ50から取得したデータ(仮想オブジェクト表示制御データ)に記録された登録情報設定ポイントの位置情報と、カメラ撮影画像を適用して、表示画面上のポイント位置識別マークの表示位置を算出する。
この表示位置決定処理には、情報提供サーバ50から取得したデータ(仮想オブジェクト表示制御データ)に記録された予め撮影済みの基準画像であるアンカーや登録情報設定ポイントとの仮想3次元空間での位置情報や、カメラ撮影画像を適用する。
この表示位置決定処理の具体的処理については、後述する。
最後に、情報処理装置10はステップS107において、ステップS106で算出した表示位置に、ポイント位置識別マークを表示し、さらに施設ポイント対応登録情報を表示する。
この表示結果が、例えば図3や図4を参照して説明した(b)表示画像である。
この場合、検索サーバ40は、様々なロケーションの撮影画像とアクセス情報の対応リストを記憶部に格納した構成とする。また、撮影映像はロケーションに限定されるものだけでなく、本やポスターなどであってもよい。検索サーバ40は、情報処理装置10から受信するデータに基づいてそのデータに一致する画像を含む撮影画像を、記憶部の対応リストから選択して、その画像に対応して設定されたPOI表示制御データのアクセス情報(URL)を情報処理装置10に提供する。
この場合、検索サーバ40は、様々なロケーションに記録されたマーカーやQRコード(登録商標)とアクセス情報の対応リストを記憶部に格納し、情報処理装置10から受信するマーカーやQRコード(登録商標)に基づくデータ検索を実行して、マーカーやQRコード(登録商標)に対応して記録されたアクセス情報(URL)を情報処理装置10に提供する。
次に、登録情報設定ポイント(POI)位置識別マークの表示位置を決定する処理について説明する。
図5に示すシーケンス図を参照して説明したように、情報処理装置10は、検索サーバから通知されたアクセス情報(URL)に基づいて情報提供サーバ50から仮想オブジェクト表示制御データを取得する。さらに、この仮想オブジェクト表示制御データと、カメラ撮影画像を適用して、表示画面上のポイント位置識別マークの表示位置を算出する。
図7は、検索サーバから通知されたアクセス情報(URL)に基づいて情報提供サーバ50から取得されるデータ(仮想オブジェクト表示制御データ)に含まれるHTMLデータの一部を示す図である。
図7に示すデータは、先に図3、図4を参照して説明した以下のポイント位置識別マークの表示位置を決定するために利用されるHTMLデータの一例である。
ポイントA(POI−A)位置識別マーク111、
ポイントB(POI−B)位置識別マーク121、
図7に示すように、図7のHTMLデータには以下のデータが記録されている。
(1)第1基準実オブジェクト情報
(2)第2基準実オブジェクト情報
(3)ポイントA対応情報
(4)ポイントB対応情報
基準実オブジェクトとは、実世界に存在する実オブジェクトであり、各登録情報設定ポイントの近くにある実オブジェクトである。この基準実オブジェクトは、登録情報設定ポイントの位置を算出するための基準位置となるオブジェクトでありアンカー(anchor)、またはアンカーオブジェクトと呼ばれる。基準オブジェクトを撮影した画像は、アンカー画像と呼ばれる。アンカー画像は位置の算出基準に利用されるだけなのでPOIと関連しなくても良いが、アンカー画像はPOIを含む場合もある。基準位置の検出精度を上げるには、実空間の特徴的なオブジェクトの画像が利用されるのが望ましい。また、実空間の様々な位置、方角の複数のアンカー画像を用いることで、さらに、位置基準の検出精度を上げることができ、ユーザ端末が移動、回転した場合でも位置検出が可能となる。
図8には、実世界(Real World)に存在する城等の実オブジェクトを示している。
図に示す座標軸(XYZ)は、実世界の実オブジェクトの3次元位置での位置関係を規定する仮想3次元空間座標の座標軸である。GPSのような絶対的な位置座標ではなく、仮想3次元空間座標の原点の位置は任意なローカル座標である。
また、第2基準実オブジェクト202は、城のエントランスを含む領域からなる実オブジェクトである。
これらの基準実オブジェクトは、実世界の基準実オブジェクトが仮想3次元空間座標の位置に対応するかを特定し、且つ、ユーザ端末が仮想3次元空間座標を特定し、仮想3次元空間座標でのポイント位置識別マークの表示位置を決定するため利用されるオブジェクトである。
(1)基準画像=基準実オブジェクトを撮影した画像(アンカー画像)(anchor.png)
(2)基準画像に含まれる基準実オブジェクトの位置情報(position:3次元実空間内の基準実オブジェクトの位置を示す3次元座標データ(X,Y,Z))
(3)基準画像に含まれる基準実オブジェクトの方向情報(rotation:基準実オブジェクトの姿勢を示す情報)であり、方向は一般的にはオイラー角で表わすことができるが、ここでは3Dグラフィックスで良く用いられるクオータニオン(四元数)(x,y,z;w)データで表す。
(4)基準画像の領域(ディメンション)情報(dimension:横の長さと縦の長さ)
(5)基準画像の仮想3次元空間での座標単位との実空間3D座標単位での変換(unit: メータやキロメータ)。
(2)基準画像に含まれる基準実オブジェクトの位置情報(3次元実空間内の基準実オブジェクトの位置を示す3次元座標データ(X,Y,Z))に用いる座標は、例えばワールド座標系の座標であり、基準実オブジェクトの位置を示す座標と、ポイント対応情報の位置を示す座標は、同じ座標空間を用いた座標とする。
(3)基準画像に含まれる基準実オブジェクトの方向情報についても、基準実オブジェクトとポイント対応情報各々の方向情報については、同じ基準点からの方向情報とする。
<span typeof='anchor'>
<span property='unit' content='1m'/>
<span property='position' content='152,44,37'/>
<span property='rotation' content='63,44,99,3.3'/>
<span property='dimension' content='13,7'/>
<span property='src' content='anchor1.png'/>
</span>
<span property='unit' content='1m'/>
これは、データ単位を示し、以下に示す数値の単位が1m(メートル)であることを示す。
これは、上述した(2)基準画像に含まれる基準実オブジェクトの位置情報(3次元実空間内の基準実オブジェクトの位置を示す3次元座標データ(X,Y,Z))である。
(X,Y,Z)=(152,44,37)であることを示している。これは、例えば、基準実オブジェクトの中心位置の座標に相当する。
これは、上述した(3)基準画像に含まれる基準実オブジェクトの方向情報クオータニオン(x,y,z:w)である。(x,y,z:w)=(63,44,99,3.3)である。
これは、上述した(4)基準画像の領域(ディメンション)情報(横の長さと縦の長さ)である。
具体的には、第1基準画像が横13m、縦7mの実世界の領域に対応する画像であることを示す。
これは、上述した(1)基準画像=基準実オブジェクトを撮影したアンカー画像(anchor1.png)である。
例えば、図8(b)に示す画像201pである。
<span typeof='anchor'>
<span property='unit' content='1m'/>
<span property='position' content='173,43,44'/>
<span property='rotation' content='70,88,34,4.3'/>
<span property='dimension' content='13,7'/>
<span property='src' content='anchor2.png'/>
</span>
(a)登録情報設定ポイントA(POI−A)211、
(b)登録情報設定ポイントB(POI−B)212、
これらの登録情報設定ポイントに関する情報が記録されている。
(1)登録情報設定ポイントに対応付けらた登録情報
(2)登録情報設定ポイントの位置情報(3次元実空間内の登録情報設定ポイントの位置を示す3次元座標データ(X,Y,Z))
(3)登録情報設定ポイントの方向情報(特定の基準点、例えば基準画像を撮影したカメラからの登録情報設定ポイントの方向を示す情報)
<div typeof='poi' resource='#poi−a'>
<span property='unit' content='1m'/>
<span property='position' content="163,43,32'/>
<span property='rotation' content='34,73,45,4.43'/>
<!- html elements of poi−a −−−>
</div>
<span property='unit' content='1m'/>
これは、データ単位を示し、以下に示す数値の単位が1m(メートル)であることを示す。
これは、上述した(2)登録情報設定ポイントの位置情報(3次元実空間内の登録情報設定ポイントの位置を示す3次元座標データ(X,Y,Z))である。
(X,Y,Z)=(163,43,32)であることを示している。これは、登録情報設定ポイントの3次元実空間の位置座標に相当する。
なお、前述したように、ここで用いる座標は例えばワールド座標系における座標であり、基準実オブジェクトの位置を示す座標と、ポイント対応情報の位置を示す座標は、同じ座標空間を用いた座標である。
これは、上述した(3)登録情報設定ポイントの方向情報クオータニオン(x,y,z:w)である。(x,y,z:w)=(34,73,45,4.43)である。
なお、前述したように、基準実オブジェクトとポイント対応情報各々の方向情報は、同じ基準点からの方向情報である。
これは、上述した(1)登録情報設定ポイントに対応付けらた登録情報であり、先に図3、図4を参照して説明したポイント対応登録情報112,122等の情報である。
<div typeof='poi' resource='#poi−b'>
<span property='unit' content='1m'/>
<span property='position' content="163,39,28'/>
<span property='rotation' content='34,70,41,4.53'/>
<!- html elements of poi−a −−−>
</div>
具体的には、以下のデータを含む。
基準実オブジェクトを撮影した基準画像データ、
基準画像データに含まれる基準実オブジェクトの位置、方向等の情報を含む3次元位置姿勢情報、
登録情報設定ポイントの位置、方向等の情報を含む3次元位置姿勢情報、
これらの情報を記録している。
これらの情報は、情報処理装置10が実行するポイント位置識別マークの表示位置決定処理に適用される。
図7に示す例では、HTMLにアンカーオブジェクト情報と登録設定ポイントの情報を記録しているが、HTMLの仮想オブジェクトと登録設定ポイント情報を対応づけてJavaScript(登録商標)に記録してもよい。もしくは、別データとしてJavaScript(登録商標)によって情報提供サーバ50から取得する設定としてもよい。従って、アンカーオブジェクト情報と登録ポイント情報をHTMLに記録することは必須ではない。
情報処理装置(ユーザ端末)10のデータ処理部は、HTMLデータ(仮想オブジェクト表示制御データ)、すなわち、予め撮影済みの基準画像と、該基準画像に含まれる実オブジェクトと登録情報設定ポイントの仮想3D空間座標における位置情報を記録したHTMLデータを情報提供サーバ50から入力する。
次に、表示部に表示された撮影画像から、基準画像に含まれる実オブジェクトと同じ実オブジェクト(アンカー)を検出する。検出した実オブジェクト(アンカー)の3次元位置情報と、仮想オブジェクト表示制御データに記録された相対位置情報を適用して、ユーザ端末の位置情報を特定する。なお、撮影画像と基準画像からユーザ端末の位置を特定するのは3次元位置姿勢情報解析処理が利用されこの処理については後述する。さらに、ユーザ端末を原点とした座標系おける各登録情報設定ポイントの3次元位置を算出する。
算出位置情報に基づいて表示部に表示された撮影画像上の登録情報設定ポイント表示位置を算出し、算出表示位置に仮想オブジェクトであるポイント位置識別マークを重畳表示する。仮想オブジェクトを重畳表示するにあたり、CSSの3次元TRANSFORMS機能を利用して3次元表示させることも可能である。
このような手順に従って撮影画像上の登録情報設定ポイントに一致させてポイント位置識別マークを表示する。
なお、これらの処理手順については、情報処理装置10が、情報提供サーバ50から取得するJavaScript(登録商標)に記録されている。
図9は、検索サーバから通知されたアクセス情報(URL)に基づいて情報提供サーバ50から取得されるJavaScript(登録商標)データの一部である。
情報処理装置10のデータ処理部が、図9に示すJavaScript(登録商標)に基づいて実行する処理について、図9に示す処理ステップ(S201〜S209)に従って、順次、説明する。
まず、情報処理装置10のデータ処理部は、情報処理装置のカメラによって撮影している撮影画像入力ストリームを入力する。
この撮影画像は、カメラ部を介して現在入力されている画像データである。この撮影画像は表示部に継続的に表示される。なお、ここで説明する撮影画像は、カメラ機能によって撮り込まれている画像を意味し、記憶部に対する記録処理は実行してもしなくてもよい。
次に、情報処理装置10のデータ処理部は、ステップS202において、第1基準実オブジェクト情報(第1アンカー情報)を入力する。
この第1基準実オブジェクト情報(第1アンカー情報)は、先に図7を参照して説明したHTMLデータに記録された第1基準実オブジェクト情報(第1アンカー情報)である。
(1)基準画像=基準実オブジェクトを撮影した画像(anchor1.png)
(2)基準画像に含まれる基準実オブジェクトの位置情報(3次元実空間内の基準実オブジェクトの位置を示す3次元座標データ(X,Y,Z))
(3)基準画像に含まれる基準実オブジェクトの方向情報を表したクオータニオン(x,y,z:w)である。
(4)基準画像の領域(ディメンション)情報(横の長さと縦の長さ)
情報処理装置10のデータ処理部は、HTMLデータからこれらの第1基準実オブジェクト情報(第1アンカー情報)を読み込む。
次に、情報処理装置10のデータ処理部は、ステップS203において、第2基準実オブジェクト情報(第2アンカー情報)を入力する。
この第2基準実オブジェクト情報(第2アンカー情報)も、先に図7を参照して説明したHTMLデータに記録された第2基準実オブジェクト情報(第2アンカー情報)である。
次に、情報処理装置10のデータ処理部は、ステップS204において、登録情報設定ポイントA(POI−A)対応情報を入力する。
この登録情報設定ポイントA(POI−A)対応情報は、先に図7を参照して説明したHTMLデータに記録されたポイントA対応情報である。
(1)登録情報設定ポイントに対応付けらた登録情報
(2)登録情報設定ポイントの位置情報(3次元実空間内の登録情報設定ポイントの位置を示す3次元座標データ(X,Y,Z))
(3)登録情報設定ポイントの方向情報を示したクオータニオン(x,y,z:w)である。
情報処理装置10のデータ処理部は、HTMLデータからこれらのポイントA(POI−A)対応情報を読み込む。
次に、情報処理装置10のデータ処理部は、ステップS205において、登録情報設定ポイントB(POI−B)対応情報を入力する。
この登録情報設定ポイントB(POI−B)対応情報は、先に図7を参照して説明したHTMLデータに記録されたポイントB対応情報である。
次に、情報処理装置10のデータ処理部は、ステップS206において、基準画像からユーザ端末のカメラ位置を測位する処理(3次元位置解析処理)によって算出した結果をJavaScript(登録商標)の関数(イベント処理関数)として登録する。
(1)基準実オブジェクトを撮影した基準画像データと、基準画像データに含まれる基準実オブジェクトの位置、方向等の情報を含む3次元位置姿勢情報、
(2)登録情報設定ポイントの位置、方向等の情報を含む3次元位置姿勢情報、
これらの情報と、
ステップS201において入力する、
(3)撮影画像
これらのデータを用いて実行される。
情報処理装置10のデータ処理部は、SLAMを適用した処理に際して、情報処理装置の表示部(ディスプレイ)とカメラ各々の位置(position)、方向(rotation)、領域(dimention)など、必要なパラメータを入力して利用する。
まず、カメラ撮影画像から、基準実オブジェクトに一致する実オブジェクトを検出する。これは、HTMLデータから取得した基準実オブジェクトを撮影した基準画像データと撮影画像との特徴点比較処理(特徴点マッチング)によって実行される。
基準画像を撮影したカメラの位置と、現在の画像撮影位置(情報処理装置(ユーザ端末のカメラ位置)とは一致せず、基準画像に含まれるオブジェクトと、カメラ撮影画像に含まれるオブジェクトでは方向や大きさが異なるものとなる。
これらの差分を解析して、カメラ撮影画像から検出した基準オブジェクトに対応する撮影オブジェクトを基準として実空間上でのカメラの3次元位置姿勢を解析する。
なお、これらの解析処理に際しては、情報処理装置のカメラのレンズ倍率、位置や方向情報、アングル情報などのカメラ設定情報を用いる。
次に、情報処理装置10のデータ処理部は、ステップS207において、登録情報設定ポイントA(POI−A)と、登録情報設定ポイントB(POI−B)各々の3次元位置座標をカメラ座標に変換する。
カメラ座標は、カメラ視点(撮像部)をcameraPosition, cameraRotationを原点としてカメラの向きに応じてXYZ座標軸を設定した座標系である。
次に、情報処理装置10のデータ処理部は、ステップS208において、登録情報設定ポイントA(POI−A)と、登録情報設定ポイントB(POI−B)各々のカメラ座標を表示部(ディスプレイ)座標に変換する。
ステップS208では、ステップS207で算出した登録情報設定ポイントA(POI−A)と、登録情報設定ポイントB(POI−B)各々のカメラ座標系の座標(Xc,Yc,Zc)を表示部座標(Xd,Yd)に変換する。
なお、この処理に際しては、カメラ座標系におけるZ軸(距離)の値に応じて、左眼用画像と右眼用画像に視差を持つ画像を設定することが必要であり、水平方向の座標、例えば、Xdl,Xdrの座標値を視差に応じた差分を設定する。
なお、これらの処理は、従来からの3次元画像の生成処理アルゴリズムに従って実行される。
次に、情報処理装置10のデータ処理部は、ステップS209において、登録情報設定ポイントA(POI−A)の表示部(ディスプレイ)座標位置に、ポイントA(POI−A)位置識別マークを表示し、登録情報設定ポイントB(POI−B)の表示部(ディスプレイ)座標位置に、ポイントB(POI−B)位置識別マークを表示しする。
登録情報の表示位置や、登録情報およびポイント(POI)位置識別マークの表示態様、例えば、色、文字、角度等は、情報提供サーバ50からHTML、JavaScript(登録商標)とともに受領するスタイルシートであるCSSの規定に従って決定することができる。
次に、情報処理装置(ユーザ端末)10の実行する各処理のシーケンスについて図10以下に示すフローチャートを参照して説明する。
情報処理装置10の実行する以下の各処理について、順次、説明する。
(1)仮想オブジェクト表示制御データの取得と仮想オブジェクト表示処理、ユーザのタッチ等のイベント処理(図10〜図11)
(2)3次元測位処理ための設定(図12)
(3)3次元測位の結果によるイベント検出に基づく、仮想オブジェクト表示処理(図13)
(4)基準アンカーオブジェクトからの3次元測位処理、並びに測位結果のイベント通知処理(図14〜図15)
なお、情報処理装置10の記憶部に格納されたプログラムの一部には、情報提供サーバ50から受信したプログラム、例えばJavaScript(登録商標)が含まれる。
まず、図10〜図11に示すフローチャートを参照して、仮想オブジェクト表示制御データの取得と仮想オブジェクト表示処理のシーケンスについて説明する。
以下、図10、図11に示すフローの各ステップの処理について、順次、説明する。
まず、情報処理装置は、ステップS301において、ビーコン送信装置からのビーコンが受信されたか否かのビーコン検出を行う。
ビーコンが検出されると、ステップS302に進む。
ビーコンが検出されると、情報処理装置は、ステップS302において、検索サーバに対して、ビーコン送信装置に対応付けられた仮想オブジェクト表示制御データの取得用アドレス(URL)を要求する。
情報処理装置は、この要求処理に際して、ビーコンに含まれるビーコンIDと、端末のサポートする3次元測位方法(Localization方法)の識別情報(ID)を検索サーバに送信する。
次に、情報処理装置は、ステップS303において、検索サーバから、ビーコン送信装置対応の仮想オブジェクト表示制御データ取得用アドレス(URL)を受信する。
次に、情報処理装置は、ステップS304において、検索サーバから受信したビーコン送信装置対応の仮想オブジェクト表示制御データ取得用アドレス(URL)を表示部に表示する。検索サーバは、URL以外にも表示制御データを表すタイトルなどの属性情報を送信し、情報処理装置はURLの代わりにタイトルなどユーザが理解しやすい情報を表示部に表示してもよい。
次に、情報処理装置は、ステップS305において、表示部に表示された仮想オブジェクト表示制御データ取得用アドレス(URL)ならびにタイトルなどに属性表示に対するユーザ表示指示を行なったかを否かを判定する。
検出された場合は、ステップS306に進む。検出されない場合はステップS301に戻る。
次に、情報処理装置は、ステップS306において、Webブラウザを起動し、ユーザによって指定URLに従ってアクセスされる仮想オブジェクト表示制御データを情報提供サーバから取得する。
(1)HTML(Hyper Text Markup Language)、
(2)CSS(Cascading Style Sheet)、
(3)JavaScript(登録商標)
CSSは、HTMLによって規定される仮想オブジェクト構成データの表示形式や色、形などを規定するスタイルシートであり、情報処理装置の表示部に表示する仮想オブジェクトのスタイルを規定するデータである。
JavaScript(登録商標)は、仮想オブジェクトの表示処理、表示更新処理、あるいは仮想オブジェクトの動きや更新処理を規定する表示制御プログラムであり、例えばユーザによる表示オブジェクトに対するタッチ、クリックなどのイベント、あるいは所定時間の経過などの様々なイベントをトリガとして、仮想オブジャェクトの表示態様を変更するなどの様々なアクションの制御を実行する。
すなわち、HTML、CSS、JavaScript(登録商標)を構成要素とする仮想オブジェクト表示制御データは、1つの特定のビーコン送信装置の近辺の様々な施設に関する位置情報や案内情報を含み、図3、図4を参照して説明したポイント(POI)位置識別マークや、ポイント対応登録情報等の仮想オブジェクトの表示、および表示制御を行うためのデータである。
次に、情報処理装置は、ステップS307において、情報提供サーバから取得した仮想オブジェクト表示制御データを利用して、仮想オブジェクトの表示位置や表示態様を決定して表示部に表示する。なお。この処理には、例えば、Webレンダリングプログラムと、Webページ表示御プログラム(JavaScript(登録商標))が使用される。
これらの仮想オブジェクトは、情報提供サーバから取得した仮想オブジェクト表示制御データに含まれるHTMLデータに基本情報が記録されている。これらの仮想オブジェクトの表示態様は、同様に情報提供サーバから取得した仮想オブジェクト表示制御データに含まれるCSSに従って設定することがきる。
次に、情報処理装置は、ステップS308において、表示部に表示された仮想オブジェクトの表示更新を行うトリガとなるイベントの検出有無を判定する。
この仮想オブジェクトの表示更新を行うトリガとなるイベントとしては、例えばユーザによる表示部のタッチ処理や、仮想オブジェクトの表示開始から所定時間の経過、あるいは、表示画面の移動など、様々な種類のイベントがある。
どのようなイベントの検出に基づいて表示更新を実行するかについては、情報提供サーバの提供するJavaScript(登録商標)に記述され、この記述に従って実行する。
なお、情報提供サーバの提供するJavaScript(登録商標)のみならず、情報処理装置が保持する表示制御プログラムに従ってイベント検出を実行して、検出イベントに応じて表示更新を実行する構成としてもよい。
次に、情報処理装置は、ステップS309において、Webレンダリングプログラムと、Webページ表示制御プログラム(JavaScript(登録商標)等)に基づいて、イベント対応の処理として表示データ(仮想オブジェクト)の更新を実行する。
次に、図12に示すフローチャートを参照して、測位処理のアンカー情報設定処理のシーケンスについて説明する。図12に示すフローチャートはJavaScript(登録商標)のプログラムによる処理であり、例えば、図9に示すJavaScript(登録商標)のプログラムのステップS201からS206において実行される。図12におけるオブジェクトとはJavaScript(登録商標)で処理されるオブジェクトのことを示す。
以下、図12に示すフローの各ステップの処理について、順次、説明する。
まず、情報処理装置は、ステップS401において、情報提供サーバから受信したHTMLデータに記述された基準画像を含むアンカーオブジェクトを取得する。HTMLデータはDOM(ドキュメントオブジェクトモデル)オブジェクトとしてJavaScript(登録商標)のプログラムから取得できる。
(1)基準画像=アンカーとなる基準画像(anchor1.png)
(2)基準画像に含まれるアンカーの位置情報(仮想3次元実空間内のアンカー位置を示す3次元座標データ(X,Y,Z))
(3)基準画像に含まれるアンカーの方向情報(仮想3次元空間内の方位を示すクオータニオン(x, y, z: w))
(4)基準画像の領域(ディメンション)情報(横の長さと縦の長さ)
次に、情報処理装置は、ステップS402において、情報処理装置のカメラ機能を利用して撮影される映像キャプチャーのオブジェクトからの動画ストリームオブジェクトを取得する。
次に、情報処理装置は、ステップS403において、3次元位置測位処理(Spacelocalization)オブジェクトを取得する。
次に、情報処理装置は、ステップS404において、ステップS402にて取得した動画ストリームオブジェクトを3次元位置算出処理(Spacelocalization)用オブジェクトに設定する。S402からS404の処理により、情報処理装置はカメラにて撮影された映像の動画ストリームを3次元位置測位処理にて処理することが可能になる。
次に、情報処理装置は、ステップS405において、ステップS404で設定した3次元位置測位処理(Spacelocalization)用撮影オブジェクトに、S401にて取得したアンカーオブジェクトを設定し、アンカーIDを設定して登録(記憶部に格納)する。これにより3次元位置算出処理に、HTMLデータとして記述されていたアンカー情報が入力されることになる。
次に、情報処理装置は、ステップS406において、空間位置測位処理用オブジェクトにすべてのアンカーを対応づける処理が完了したか否かを判定する。
完了していない場合は、ステップS405に戻り、未処理データに対するアンカーオブジェクトの設定を行う。
空間位置算出処理用オブジェクトにアンカーオブジェクトを対応づける処理が完了したと判定すると、ステップS407に進む。
次に、情報処理装置は、ステップS407において、3次元位置測位処理(Spacelocalization)用オブジェクトにイベント(3次元位置得意イベント)処理関数を登録する。
なお、このイベント処理関数は、アンカー情報に含まれる基準画像とカメラで撮影された動画ストリームから3次元位置測位によりカメラの仮想3次元空間での位置、方位が算出された結果の処理開始トリガとなるイベントである。
次に、図13に示すフローチャートを参照して、仮想オブジェクト表示イベント検出に基づく仮想オブジェクト表示処理のシーケンスについて説明する。このフローチャートの処理はJavaScript(登録商標)プログラムによる処理であり、例えば、図9に示すJavaScript(登録商標)のプログラムのS207からS209の3次元測位処理イベント関数内で実行される。
以下、図13に示すフローの各ステップの処理について、順次、説明する。
まず、情報処理装置は、ステップS501において、3次元位置測位処理(Spacelocalization)用オブジェクトのイベントが発生したか否かを判定する。これは前記図12のS407に登録されたイベント処理関数の呼び出しが起こったか否かに対応する。
ステップS501において、仮想オブジェクトの表示、更新イベントが発生したと判定すると、情報処理装置は、ステップS502において、端末表示部(ディスプレイ)の位置、方向、領域(ディメンション)、カメラの位置、方向、アングルを取得する。これステップは図12において登録したイベント処理関数の引数としてこれらの情報が渡されることに相当する。
次に、情報処理装置は、ステップS503において、HTMLデータに記述された登録情報設定ポイント(POI)対応情報(座標、方向等の3次元位置姿勢情報)を取得する。図12のS401で示したように、HTMLデータに記録されたアンカー情報の取得同様に、HTMLデータに記録された登録情報設定ポイント(POI)情報はDOMオブジェクトとしてJavaScript(登録商標)のプログラムで取得することができる。
次に、情報処理装置は、ステップS504において、ステップS503で情報提供サーバから受信したHTMLデータから取得した登録情報設定ポイント(POI)の座標、方向等の3次元位置姿勢情報を、端末の表示部(ディスプレイ)座標系の座標に変換し、POIリストに保存する。
この変換処理には、登録情報設定ポイント(POI)の位置、姿勢をユーザ端末(カメラ)を原点としたユーザ端末座標系にPOIの座標を変換する処理と、変換された端末座標系のPOIの座標から、さらに表示デバイスの座標系へ変換する2段の変換が行われる。
ユーザ端末座標系から表示デバイス座標系へ変換するには、仮想3次元空間でのカメラ位置、方位ならびに端末表示部(ディスプレイ)の位置、方位が必要であり、S502で取得された情報が利用される。特に、カメラ方位とディスプレイの方位が一致しないユーザ端末の場合は、それらの方位の差を考慮して、ディスプレイ座標系でのPOIの表示位置を算出する必要がある。
次に、情報処理装置は、ステップS505において、全POIの座標変換とリスト登録を完了したか否かを判定する。
完了していない場合は、ステップS503に戻り、未処理POIについて、ステップS503〜S504の処理を実行する。
全POIの座標変換とリスト登録処理が完了したと判定した場合は、ステップS506に進む。
全POIの座標変換とリスト登録処理が完了したと判定した場合は、情報処理装置は、ステップS506において、生成したPOIリストから、順にPOIを選択する。
次に、情報処理装置は、ステップS507において、リストから選択した選択POIの座標(表示部座標系の座標)が、表示部の表示範囲内にあるか否かを判定する。表示範囲内にあるか否かは、仮想3次元空間でのカメラ位置、方位ならびに端末表示部(ディスプレイ)の位置、方位の情報から判断し、特に、情報処理装置が表示部の一部分に撮影部からの映像が表示する場合は、撮影映像の表示位置に合わせてPOIの表示位置を算出することで、撮影映像に移された実オブジェクトの位置にPOIを重畳することが可能である。
POIの座標が表示部の表示範囲内にない場合は、そのPOIの処理を停止し、ステップS506に戻り、POIリストから次のPOIを選択する。
ステップS507において、リストから選択した選択POIの座標(表示部座標系の座標)が、表示部の表示範囲内にあると判定した場合はステップS508に進む。
リストから選択した選択POIの座標(表示部座標系の座標)が、表示部の表示範囲内にあると判定した場合、情報処理装置は、ステップS508において、選択POIのポイント位置識別マークと、登録情報を表示する。なお、これらの仮想オブジェクトの表示態様は、例えばCSS等を利用して設定する。
次に、情報処理装置は、ステップS509において、すべてのPOIの処理が完了したか否かを判定する。
未処理のPOIがある場合は、ステップS506に戻り、POIリストから次の未処理POIを選択してステップS507以下の処理を実行する。
ステップS509において、すべてのPOIの処理が完了したと判定した場合は、処理を終了する。
次に、図14〜図15に示すフローチャートを参照して、カメラの3次元位置測位処理シーケンスについて説明する。これらのフローチャートは、例えば、情報提供サーバ50から提供される表示制御データのJavaScript(登録商標)ではなく、情報処理装置の記録部に記録されたプログラムによって実行される。このためJavaScript(登録商標)のプログラムにより3次元位置測位のアルゴリズムが公開される問題を回避でき、また、情報処理装置のハードウェアの高速処理などを使って3次元位置測位の高速、高精度、且つ、低消費に処理を行うことができる。
以下、図14〜図15に示すフローの各ステップの処理について、順次、説明する。
まず、情報処理装置のデータ処理部は、ステップS601において、カメラ撮影画像の解像度、カメラのレンズ倍率を取得する。これらは情報処理装置のカメラ制御部のメモリに記録されたカメラ設定情報の取得によって実行される。
次に、情報処理装置は、ステップS602において、情報処理装置に付属する動きセンサを初期化する。すなわち、過去に計測されたデータをリセットし、現在位置や傾き(方向)を初期値に設定する初期化処理を実行する。動きセンサはジャイロや加速度センサなど情報処理装置の位置、姿勢を特定するのに用いられる。
次に、情報処理装置は、ステップS603において、情報提供サーバから取得したHTMLデータ(図7参照)に記述された基準実オブジェクト情報(アンカー情報)、つまり、図12のステップS405にて3次元位置測位処理に設定された(アンカー情報)に含まれる基準画像から特徴点を抽出する。
次に、情報処理装置は、ステップS604において、図12のステップS405にて3次元位置測位処理に設定された全ての基準実オブジェクト情報(アンカー情報)対応の基準画像からの特徴点抽出処理が完了したか否かを判定する。
未処理の基準画像がある場合は、ステップS603に戻り、未処理の基準画像からの特徴点抽出を実行する。
情報提供サーバから取得したHTMLデータ(図7参照)に記述された全ての基準実オブジェクト情報(アンカー情報)対応の基準画像からの特徴点抽出処理が完了したと判定した場合は、ステップS605に進む。
情報提供サーバから取得したHTMLデータ(図7参照)に記述された全ての基準実オブジェクト情報(アンカー情報)対応の基準画像からの特徴点抽出処理が完了すると、情報処理装置のデータ処理部は、ステップS605において、カメラの撮影画像入力を開始する。
次に、情報処理装置のデータ処理部は、ステップS606において、カメラ撮影画像の各フレームから、特徴点を抽出する。
次に、情報処理装置のデータ処理部は、ステップS607において、動きセンサの観測値を取得する。
次に、情報処理装置のデータ処理部は、ステップS608において、基準画像(アンカー画像)の特徴点と、カメラ撮影画像の特徴点とのマッチング処理により、実空間のカメラの位置、方向を含む3次元位置姿勢情報を算出する。この処理は、例えば前述したSLAM技術を適用して実行する。
次に、情報処理装置は、ステップS609において、全基準画像(アンカー画像)についての特徴点と、カメラ撮影画像の特徴点とのマッチング処理によるカメラの3次元位置姿勢情報算出処理が完了したか否かを判定する。
未処理の基準画像がある場合は、ステップS608に戻り未処理基準画像に対する処理を実行する。
すべての基準画像に対する処理が完了したと判定した場合は、ステップS610に進む。
次に、情報処理装置は、ステップS610において、全基準画像とカメラ撮影画像との特徴点マッチング結果に基づいて、実空間のカメラの位置、方向の最終的な3次元位置姿勢情報を算出する。
ステップS608では、1つの基準画像(アンカー画像)毎に各基準画像対応のカメラの3次元位置姿勢情報が算出され、複数の基準画像各々について、異なるカメラの3次元位置姿勢情報が算出される。
ステップS610では、例えば、これらの複数の値を平均化する等の処理を実行して最終的な実空間のカメラの位置、方向を含む3次元位置姿勢情報を算出する。複数のアンカーの基準画像を利用して3次元位置姿勢を測位することで、ユーザが移動したり、カメラの方向が移動した場合でも測位が可能であり、また、カメラ映像に複数のアンカーが検出された場合は、測位精度を上げることが可能である。さらには、端末のモーションセンサーを組み合わせることでアンカーが撮影映像から検出されていない場合でも、カメラの位置、方向を推定することも可能である。
次に、情報処理装置は、ステップS611において、前フレームで特定したカメラの3次元位置姿勢と現在のフレームから算出した次元位置姿勢との変化量を検出する。モーションセンサーの検出したカメラ自体の移動によるフレーム映像のブレなどの補完もこの検出には利用されるが、カメラ姿勢情報とともにフレーム映像のブレの補正情報も含めてイベント処理関数に渡すことで、JavaScript(登録商標)に従った制御によってカメラ撮影映像に重畳する場合の表示ずれを補正することができる。
次に、情報処理装置は、ステップS612において、ステップS611で検出した変化量が既定閾値以上変化したか否かを判定する。
閾値は、図12のステップS407にて表示制御データのJavaScript(登録商標)プログラムから予め設定された値であり、記録部に保存された値である。
表示部に表示された画像位置が、既定閾値以上変化したと判定した場合、ステップS613に進む。
カメラの3次元位置姿勢が既定閾値以上変化したと判定した場合、情報処理装置は、ステップS613において、3次元測位姿勢の結果として、表示部の位置、方向、領域(ディメンション)、カメラの位置、方向、アングル情報を設定して、イベント処理関数の処理を開始する。
上述した実施例では、表示部に表示する仮想オブジェクトである登録情報設定ポイント(POI)位置識別子や、登録情報設定ポイント(POI)対応の登録情報の表示処理、あるいは表示更新処理のトリガとなるイベントの例として、ユーザ端末(カメラ)の位置姿勢の変化がの既定閾値以上の移動などを説明した。
具体的には、例えば、以下のような情報に基づくイベント検出をトリガとして仮想オブジェクトの表示を開始、または更新する処理を行なってもよい。
(1)情報処理装置(ユーザ端末)の位置
(2)時間
(3)情報処理装置(ユーザ端末)を保有するユーザの行動履歴
(4)情報処理装置、あるいはサーバに登録されたユーザの予定情報
(5)ユーザの身体情報(心拍、脈拍等)
(6)店舗等のセール情報
(7)情報処理装置(ユーザ端末)の設定情報、
(8)情報処理装置(ユーザ端末)を保有するユーザの属性(年齢、性別、興味等)
(9)情報処理装置(ユーザ端末)を保持するユーザの視線
ユーザが情報処理装置(ユーザ端末)を保持して移動している場合、情報処理装置(ユーザ端末)と登録情報設定ポイント(POI)までの距離が既定距離(3m)以内となったことをイベントとして検出して、仮想オブジェクトの表示開始や表示更新処理を実行する。この場合、基準実オブジェクト情報(アンカー情報)から3次元位置測位処理により実世界の情報端末の位置、方位をトラッキングできていた状態ではは、情報処理装置(ユーザ端末)と登録情報設定ポイント(POI)の位置計測は3次元位置測位処理にて行われ、必ずしも、登録情報設定ポイント(POI)が撮影映像に映されている必要はない。
なお、この処理を行なう場合、例えばJavaScript(登録商標)等の表示制御プログラムには、
(a)情報処理装置(ユーザ端末)と登録情報設定ポイント(POI)までの距離計測処理、
(b)計測距離と既定閾値との比較処理、
(c)計測距離が既定閾値以下になった場合にイベント発生と判定する、
これらの一連の処理を実行するプログラムを規定する。
例えば、あるレストランの開店時間である午前11:00になったとき、情報処理装置(ユーザ端末)を保持しているユーザが、レストランの近所にいる場合に、そのレストランの位置と、レストランの提供メニュー等を仮想オブジェクトとして表示する。
なお、この処理を行なう場合、例えばJavaScript(登録商標)等の表示制御プログラムには、
(a)情報処理装置(ユーザ端末)と登録情報設定ポイント(POI)までの距離計測処理、
(b)計測距離と既定閾値との比較処理、
(c)現在時刻取得処理
(d)計測距離が既定閾値以下になり、かつ時間が登録情報設定ポイント(POI)(例えばレストラン)の開店時間になった場合にイベント発生と判定する、
これらの一連の処理を実行するプログラムを規定する。
また、情報提供サーバは、レストランの提供メニュー等を含む登録情報設定ポイント対応登録情報を仮想オブジェクトとして情報処理装置に提供する。
情報処理装置(ユーザ端末)を保持しているユーザの移動状態(歩行、ランニング、車、電車等による高速移動)を解析し、解析情報に応じた最適な情報を仮想オブジェクトとして表示する。
例えば歩行している場合、移動位置や速度に応じた経路情報、名所案内情報、トイレの場所情報等を仮想オブジェクトとして表示する。
なお、この処理を行なう場合、例えばJavaScript(登録商標)等の表示制御プログラムには、
(a)情報処理装置(ユーザ端末)と登録情報設定ポイント(POI)までの距離計測処理、
(b)計測距離と既定閾値との比較処理、
(c)計測距離が既定閾値以下になった場合にイベント発生と判定する、
これらの一連の処理を実行するプログラムを規定する。
また、情報提供サーバは、経路情報、名所案内情報、トイレの場所情報等を仮想オブジェクトとして情報処理装置に提供する。
この処理を実行する場合、ユーザの予定情報を予め情報処理装置のメモリ、あるいは情報提供サーバに登録しておく。
なお、この処理を行なう場合、例えばJavaScript(登録商標)等の表示制御プログラムには、
(a)登録済みの予定情報取得処理
(b)現在時刻取得処理
(c)時間が登録済み予定情報の設定時間、あるいはその一定時間前になった場合にイベント発生と判定する、
これらの一連の処理を実行するプログラムを規定する。
また、情報提供サーバからは、予定プランの集合位置や、予定情報等を仮想オブジェクトとして情報処理装置に提供する。
この処理を実行する場合、ユーザの身体情報を計測するセンサの検出情報を情報処理装置が入力する構成を設定することが必要である。
センサは、ユーザの心拍や脈拍等を計測し、計測情報を情報処理装置に出力する。
なお、この処理を行なう場合、例えばJavaScript(登録商標)等の表示制御プログラムには、
(a)センサからのユーザの身体情報の取得処理、
(b)入力する身体情報に応じたイベント検出処理、
これらの一連の処理を実行するプログラムを規定する。
また、情報提供サーバからは、ユーザの心拍や脈拍の状態に応じた情報、例えば、深呼吸を促す情報や、休息を促す情報、あるいは近隣の休憩所等の案内情報を仮想オブジェクトとして情報処理装置に提供する。
例えば、ある店舗のセール開始時間である午前10:00になったとき、情報処理装置(ユーザ端末)を保持しているユーザが、その店舗の近所にいる場合に、その店舗の位置と、店舗のセール内容等を仮想オブジェクトとして表示する。
なお、この処理を行なう場合、例えばJavaScript(登録商標)等の表示制御プログラムには、
(a)情報処理装置(ユーザ端末)と登録情報設定ポイント(POI)までの距離計測処理、
(b)計測距離と既定閾値との比較処理、
(c)現在時刻取得処理
(d)計測距離が既定閾値以下になり、かつ時間が登録情報設定ポイント(POI)(例えば店舗)の開店時間になった場合にイベント発生と判定する、
これらの一連の処理を実行するプログラムを規定する。
また、情報提供サーバは、店舗のセール内容等を含む登録情報設定ポイント対応登録情報を仮想オブジェクトとして情報処理装置に提供する。
情報処理装置(ユーザ端末)の設定情報とは、例えば、表示言語の設定、音声出力の有無等の設定である。
例えば、表示言語を日本語にしている場合は、日本語情報からなる登録情報を仮想オブジェクトとして提供し、英語設定にしている場合は英語情報からなる登録情報を提供する。また、音声出力をONに設定している場合は、音声出力を持つ登録情報を出力する構成としてもよい。
なお、この処理を行なう場合、例えばJavaScript(登録商標)等の表示制御プログラムには、上述した実施例に従った登録情報設定ポイント(POI)の検出処理の他、
(a)情報処理装置(ユーザ端末)の設定情報取得処理を実行するプログラムを規定する。
また、情報提供サーバは、情報処理装置(ユーザ端末)の設定情報に応じた言語、表示用データ、または音声データを情報処理装置に提供する。
この処理を実行する場合、ユーザの年齢、性別、興味等のユーザ属性情報を予め情報処理装置のメモリ、あるいは情報提供サーバに登録しておく。
なお、この処理を行なう場合、例えばJavaScript(登録商標)等の表示制御プログラムには、上述した実施例に従った登録情報設定ポイント(POI)の検出処理の他、
(a)登録済みのユーザ属性情報の取得処理を実行するプログラムを規定する。
また、情報提供サーバは、情報処理装置(ユーザ端末)の設定情報に応じた最適な提供情報を含む仮想オブジェクトを情報処理装置に提供する。
図16は、年齢が30〜50代の中年男性でアルコール好きというユーザ属性情報が登録されている場合の仮想オブジェクト表示例である。
例えば、複数の同じ属性(30〜50代の中年男性でアルコール好き)を持つユーザが連れ立って個別に情報処理装置を保持して歩いている場合の例を想定する。
この場合、各自の情報処理装置には、図16に示すような仮想オブジェクトが表示される。
すなわち居酒屋等のアルコール提供店舗の位置を示すポイント(POI)位置識別マーク301と、ポイント(POI)対応登録情報302が次々と表示される。
この場合、情報処理装置には、図17に示すような仮想オブジェクトが表示される。
すなわち20〜30代の女性が好むアイテムを販売している供店舗の位置を示すポイント(POI)位置識別マーク321と、ポイント(POI)対応登録情報322が次々と表示される。
この処理を実行する場合、ユーザの視線を計測するセンサの検出情報を情報処理装置が入力する構成を設定することが必要である。
センサは、ユーザの視線方向を検出し、検出情報を情報処理装置に出力する。
情報処理装置のデータ処理部は、ユーザの視線方向にある登録情報設定ポイント(POI)に関連する登録情報を優先的に表示する処理を実行する。
なお、この処理を行なう場合、例えばJavaScript(登録商標)等の表示制御プログラムには、上述した実施例に従った登録情報設定ポイント(POI)の検出処理の他、
(a)ユーザの視線方向検出結果を入力して、表示オブジェクトを決定するプログラムを規定する。
次に、情報処理装置(ユーザ端末)、および情報提供サーバ、検索サーバの構成例について説明する。
図18は、情報処理装置(ユーザ端末)10の一構成例を示すブロック図である。
情報処理装置10は、図18に示すように、ビーコン検出部501、データ処理部(制御部)502、動きセンサ503、記憶部504、カメラ(撮像部)505、入力部506、出力部(表示部)507、通信部508、各種センサ509、タイマ510を有する。
データ処理部(制御部)502は、情報処理装置10の実行する各種のデータ処理を実行する。具体的には、上述した例えばフローチャートに従った処理を実行する。データ処理部(制御部)502はプログラム実行機能を有するCPUを有し、例えば、記憶部504に格納されたプログラムに従った処理を実行する。
記憶部504は、たとえばRAM、ROM、HDD、その他のメディアによって構成され、データ処理部5602の実行するプログラム、各種パラメータ等を記憶し、さらに、データ処理部の実行するデータ処理のワークエリアとしても利用される。
入力部506は、ユーザ操作部であり、ユーザによる様々な指示入力が実行される。なお、表示部がタッチパネルとして構成されている場合、表示部も入力部として機能することになる。
各種センサ509は、例えば視線センサ、心拍数センサ等の様々なユーザ状況などを計測するセンサである。
データ処理部502は、これらのセンサ検出情報に応じて仮想オブジェクトの表示更新を実行することができる。
タイマ510は、現在時間の検出、所定タイミングからの経過時間の計測等を実行する。
データ処理部502は、OS(Operating System)レイヤ上で様々なアプリケーションを実行する。
表示処理アプリケーションは、カメラによって撮影された画像の表示処理や、情報提供サーバから提供される仮想オブジェクトの表示処理等を実行する。
また、表示処理アプリケーションは、表示制御データの表示ならびに様々なイベントをトリガとして仮想オブジェクトの表示更新処理を実行する。
なお、表示処理アプリケーションによる表示情報の出力あるいは更新処理は、図19の表示処理アプリケーションの下位に示す3D空間測位ライブラリ、表示制御ライブラリ、Webページ表示ライブラリの処理を伴って実行される。
表示制御ライブラリは、WebKit、JavaScript(登録商標)の実行部であり、表示部への仮想オブジェクトの表示ならびに、ユーザの操作などのイベントをトリガとした表示の更新処理等を実行する。
Webページ表示アプリケーションは、WebKit WebCore等によって構成され、Webページの表示処理を実行する。
以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
(1) 撮像部と、
前記撮像部の撮影画像を表示する表示部と、
撮影画像に含まれる実世界の登録情報設定ポイントを示す仮想オブジェクトを前記表示部に表示するデータ処理部を有し、
前記データ処理部は、
実世界での実オブジェクトを撮影した基準画像であるアンカーと、仮想3次元空間座標系での前記アンカーの位置情報と前記登録情報設定ポイントの位置情報を記録した仮想オブジェクト表示制御データを入力し、
前記撮像部の撮影画像からアンカーを検出し、検出したアンカーの仮想3次元空間座標での位置および方向から、前記撮像部の仮想3次元空間での位置を特定して、前記表示部の座標系である表示部座標系における前記登録情報設定ポイントの位置を算出し、算出位置に基づき、前記登録情報設定ポイントを示す仮想オブジェクトを表示する情報処理装置。
ビーコン送信装置から受信するビーコンを検索サーバに送信し、
検索サーバから、ビーコン送信装置近傍の実オブジェクトを撮影した基準画像であるアンカーと、前記実オブジェクトと前記登録情報設定ポイントとの相対位置情報を記録した仮想オブジェクト表示制御データを取得するためのアクセス情報を受信し、
受信したアクセス情報を適用して、情報提供サーバから前記ビーコン送信装置近傍の実オブジェクト情報を含む仮想オブジェクト表示制御データを受信する前記(1)に記載の情報処理装置。
前記データ処理部は、
前記表示部に表示された撮影画像上に、ポイント位置識別マークとともに、前記登録情報を重畳表示する前記(1)または(2)に記載の情報処理装置。
前記データ処理部は、HTMLデータを適用して、前記登録情報設定ポイントの表示部座標系における位置算出処理を実行する前記(1)〜(3)いずれかに記載の情報処理装置。
前記データ処理部は、前記プログラムを適用して、前記登録情報設定ポイント表示位置の算出処理を実行する前記(1)〜(4)いずれかに記載の情報処理装置。
前記アンカーの基準画像からの情報処理装置のの3次元位置算出処理を、SLAM(simultaneous localization and mapping)を適用して実行する前記(1)〜(5)いずれかに記載の情報処理装置。
情報処理装置自身の動きを検出する動きセンサを有し、
前記データ処理部は、
前記動きセンサの入力情報と、撮影画像から検出される実オブジェクト(アンカー)を適用して、情報処理装置自身の3次元位置算出処理を実行する前記(1)〜(6)いずれかに記載の情報処理装置。
前記表示部に表示された撮影画像の動きに応じて、前記登録情報設定ポイントの情報装置を基準とした置を新たに算出し、新たに算出した位置に前記ポイントを表示する表示更新処理を実行する前記(1)〜(7)いずれかに記載の情報処理装置。
仮想オブジェクト表示制御データに記録されたイベント検出に応じて、前記仮想オブジェクトの表示、または表示更新処理を実行する前記(1)〜(8)いずれかに記載の情報処理装置。
前記データ処理部は、左眼用画像と右眼用画像の各々について、登録情報設定ポイント表示位置を算出し、算出表示位置に仮想オブジェクトであるポイント位置識別マークを重畳表示する前記(1)〜(9)いずれかに記載の情報処理装置。
情報処理装置からの制御情報取得要求に応じて前記仮想オブジェクト表示制御データを送信する通信部を有する情報提供サーバであり、
前記仮想オブジェクト表示制御データは、
ビーコン送信装置近傍の実オブジェクトを撮影した基準画像と、該基準画像に含まれる実オブジェクトと、実オブジェクト近傍の登録情報設定ポイントとの仮想3次元空間での位置情報を記録した情報である情報提供サーバ。
前記実オブジェクトと前記登録情報設定ポイントと仮想3次元空間座標での位置情報を記録したHTML(Hyper Text Markup Language)データと、
前記情報処理装置の表示部に対する前記登録情報設定ポイントの表示位置算出処理の手順を記録したプログラムを含む前記(11)に記載の情報提供サーバ。
転送されたビーコンに基づいて、該ビーコンの送信装置近傍の実オブジェクトを含む基準画像と、前記実オブジェクトと前記登録情報設定ポイントとの仮想3次元空間座標での位置情報を記録した仮想オブジェクト表示制御データを取得するためのアクセス情報を前記情報処理装置に送信する処理を実行するデータ処理部を有する検索サーバ。
前記情報処理装置は、撮像部と、前記撮像部の撮影画像を表示する表示部と、撮影画像に含まれる実世界の登録情報設定ポイントを示す仮想オブジェクトを前記表示部に表示するデータ処理部を有し、
前記データ処理部が、
実世界での実オブジェクトを撮影した基準画像であるアンカーと、仮想3次元空間座標系での前記アンカーの位置情報と前記登録情報設定ポイントの位置情報を記録した仮想オブジェクト表示制御データを入力し、
前記撮像部の撮影画像からアンカーを検出し、検出したアンカーの仮想3次元空間座標での位置および方向から、前記撮像部の仮想3次元空間での位置を特定して、前記表示部の座標系である表示部座標系における前記登録情報設定ポイントの位置を算出し、算出位置に基づき、前記登録情報設定ポイントを示す仮想オブジェクトを表示する情報処理方法。
前記情報処理装置は、撮像部と、前記撮像部の撮影画像を表示する表示部と、撮影画像に含まれる実世界の登録情報設定ポイントを示す仮想オブジェクトを前記表示部に表示するデータ処理部を有し、
前記プログラムは、前記データ処理部に、
実世界での実オブジェクトを撮影した基準画像であるアンカーと、仮想3次元空間座標系での前記アンカーの位置情報と前記登録情報設定ポイントの位置情報を記録した仮想オブジェクト表示制御データを入力させ、
前記撮像部の撮影画像からアンカーを検出し、検出したアンカーの仮想3次元空間座標での位置および方向から、前記撮像部の仮想3次元空間での位置を特定して、前記表示部の座標系である表示部座標系における前記登録情報設定ポイントの位置を算出し、算出位置に基づき、前記登録情報設定ポイントを示す仮想オブジェクトを表示させるプログラム。
具体的には、実オブジェクトを撮影した基準画像であるアンカー、およびアンカーと登録情報設定ポイントの仮想3次元空間座標での位置情報(位置、方向等)を記録した表示制御データを入力し、撮影画像からアンカーを検出し、仮想3次元空間での情報装置の位置を特定し、特定した3次元位置と、表示制御データに記録された登録情報設定ポイントの位置情報から、端末座標系での3次元位置、および、表示デバイスの2次元座標系での表示位置を算出してポイント位置を表示する。
本構成により、実3次元空間での実オブジェクトの位置に正確に対応付けて、登録情報設定ポイント(POI)を、情報処理装置の位置を原点とした座標系に変換し、情報処理装置の位置、方向に合わせて表示部に登録情報を表示する装置、方法が実現される。
20 ビーコン送信装置
30 ネットワーク
40 検索サーバ
50 情報提供サーバ
101,102 登録情報設定ポイント(POI)
111,121 ポイント(POI)位置識別マーク
121,122 ポイント(POI)対応登録情報
201,202 基準実オブジェクト
211,212 登録情報設定ポイント(POI)
301 ポイント(POI)位置識別マーク
302 ポイント(POI)対応登録情報
321 ポイント(POI)位置識別マーク
322 ポイント(POI)対応登録情報
501 ビーコン検出部
502 データ処理部(制御部)
503 動きセンサ
504 記憶部
505 カメラ
506 入力部
507 出力部(表示部等)
508 通信部
509 各種センサ
510 タイマ
701 CPU
702 ROM
703 RAM
704 バス
705 入出力インタフェース
706 入力部
707 出力部
708 記憶部
709 通信部
710 ドライブ
711 リムーバブルメディア
Claims (14)
- 撮像部と、
前記撮像部の撮影画像を表示する表示部と、
撮影画像に含まれる実世界の登録情報設定ポイントを示す仮想オブジェクトを前記表示部に表示するデータ処理部を有し、
前記データ処理部は、
実世界での実オブジェクトを撮影した基準画像であるアンカーと、該アンカーの領域(ディメンション)情報と、仮想3次元空間座標系での前記アンカーの位置情報と前記登録情報設定ポイントの位置情報を記録した仮想オブジェクト表示制御データを入力し、
前記撮像部の撮影画像からアンカーを検出し、検出アンカーと前記仮想オブジェクト表示制御データの登録アンカーとを比較して、撮影画像に含まれるアンカーの仮想3次元空間座標での位置および方向を解析し、解析結果に基づいて前記撮像部の仮想3次元空間での位置を特定して、前記表示部の座標系である表示部座標系における前記登録情報設定ポイントの位置を算出し、算出位置に基づき、前記登録情報設定ポイントを示す仮想オブジェクトを表示する処理を実行し、
前記データ処理部は、
ビーコン送信装置から受信するビーコンを検索サーバに送信し、
検索サーバから、ビーコン送信装置近傍の実オブジェクトを撮影した基準画像であるアンカーと、前記実オブジェクトと前記登録情報設定ポイントとの相対位置情報を記録した仮想オブジェクト表示制御データを取得するためのアクセス情報を受信し、
受信したアクセス情報を適用して、情報提供サーバから前記ビーコン送信装置近傍の実オブジェクト情報を含む仮想オブジェクト表示制御データを受信する情報処理装置。 - 前記仮想オブジェクト表示制御データは、前記登録情報設定ポイントに対応する登録情報を含み、
前記データ処理部は、
前記表示部に表示された撮影画像上に、ポイント位置識別マークとともに、前記登録情報を重畳表示する請求項1に記載の情報処理装置。 - 前記仮想オブジェクト表示制御データは、前記実オブジェクトを撮影した基準画像であるアンカーと前記登録情報設定ポイントとの3次元空間での位置情報を記録したHTML(Hyper Text Markup Language)データを含み、
前記データ処理部は、HTMLデータを適用して、前記登録情報設定ポイントの表示部座標系における位置算出処理を実行する請求項1に記載の情報処理装置。 - 前記仮想オブジェクト表示制御データは、前記登録情報設定ポイントの情報処理装置の位置を基準とした位置の算出処理の手順を記録したプログラムを含み、
前記データ処理部は、前記プログラムを適用して、前記登録情報設定ポイント表示位置の算出処理を実行する請求項1に記載の情報処理装置。 - 前記データ処理部は、
前記アンカーの基準画像からの情報処理装置の3次元位置算出処理を、SLAM(simultaneous localization and mapping)を適用して実行する請求項1に記載の情報処理装置。 - 前記情報処理装置は、
情報処理装置自身の動きを検出する動きセンサを有し、
前記データ処理部は、
前記動きセンサの入力情報と、撮影画像から検出される実オブジェクト(アンカー)を適用して、情報処理装置自身の3次元位置算出処理を実行する請求項1に記載の情報処理装置。 - 前記データ処理部は、
前記表示部に表示された撮影画像の動きに応じて、前記登録情報設定ポイントの情報装置を基準とした置を新たに算出し、新たに算出した位置に前記ポイントを表示する表示更新処理を実行する請求項1に記載の情報処理装置。 - 前記データ処理部は、
仮想オブジェクト表示制御データに記録されたイベント検出に応じて、前記仮想オブジェクトの表示、または表示更新処理を実行する請求項1に記載の情報処理装置。 - 前記表示部は、3次元画像を表示可能な表示部であり、
前記データ処理部は、左眼用画像と右眼用画像の各々について、登録情報設定ポイント表示位置を算出し、算出表示位置に仮想オブジェクトであるポイント位置識別マークを重畳表示する請求項1に記載の情報処理装置。 - ビーコン送信装置近傍の実オブジェクト情報を含む仮想オブジェクト表示制御データを格納した記憶部と、
情報処理装置からの制御情報取得要求に応じて前記仮想オブジェクト表示制御データを送信する通信部を有する情報提供サーバであり、
前記仮想オブジェクト表示制御データは、
ビーコン送信装置近傍の実オブジェクトを撮影した基準画像と、該基準画像に含まれる実オブジェクトと、実オブジェクト近傍の登録情報設定ポインとの仮想3次元空間での位置情報と、前記実オブジェクトの領域(ディメンション)情報を記録した情報である情報提供サーバ。 - 前記仮想オブジェクト表示制御データは。
前記実オブジェクトと前記登録情報設定ポイントとの仮想3次元空間座標での位置情報を記録したHTML(Hyper Text Markup Language)データと、
前記情報処理装置の表示部に対する前記登録情報設定ポイントの表示位置算出処理の手順を記録したプログラムを含む請求項10に記載の情報提供サーバ。 - 情報処理装置の受信したビーコンの転送信号を、該情報処理装置から受信する通信部と、
転送されたビーコンに基づいて、該ビーコンの送信装置近傍の実オブジェクトを含む基準画像と、前記実オブジェクトと前記登録情報設定ポイントとの仮想3次元空間座標での位置情報と、前記基準画像の領域(ディメンション)情報を記録した仮想オブジェクト表示制御データを取得するためのアクセス情報を前記情報処理装置に送信する処理を実行するデータ処理部を有する検索サーバ。 - 情報処理装置において実行する情報処理方法であり、
前記情報処理装置は、撮像部と、前記撮像部の撮影画像を表示する表示部と、撮影画像に含まれる実世界の登録情報設定ポイントを示す仮想オブジェクトを前記表示部に表示するデータ処理部を有し、
前記データ処理部が、
実世界での実オブジェクトを撮影した基準画像であるアンカーと、該アンカーの領域(ディメンション)情報と、仮想3次元空間座標系での前記アンカーの位置情報と前記登録情報設定ポイントの位置情報を記録した仮想オブジェクト表示制御データを入力し、
前記撮像部の撮影画像からアンカーを検出し、検出アンカーと前記仮想オブジェクト表示制御データの登録アンカーとを比較して、撮影画像に含まれるアンカーの仮想3次元空間座標での位置および方向を解析し、解析結果に基づいて前記撮像部の仮想3次元空間での位置を特定して、前記表示部の座標系である表示部座標系における前記登録情報設定ポイントの位置を算出し、算出位置に基づき、前記登録情報設定ポイントを示す仮想オブジェクトを表示する処理を実行し、
前記データ処理部は、
ビーコン送信装置から受信するビーコンを検索サーバに送信し、
検索サーバから、ビーコン送信装置近傍の実オブジェクトを撮影した基準画像であるアンカーと、前記実オブジェクトと前記登録情報設定ポイントとの相対位置情報を記録した仮想オブジェクト表示制御データを取得するためのアクセス情報を受信し、
受信したアクセス情報を適用して、情報提供サーバから前記ビーコン送信装置近傍の実オブジェクト情報を含む仮想オブジェクト表示制御データを受信する情報処理方法。 - 情報処理装置において情報処理を実行させるプログラムであり、
前記情報処理装置は、撮像部と、前記撮像部の撮影画像を表示する表示部と、撮影画像に含まれる実世界の登録情報設定ポイントを示す仮想オブジェクトを前記表示部に表示するデータ処理部を有し、
前記プログラムは、前記データ処理部に、
実世界での実オブジェクトを撮影した基準画像であるアンカーと、該アンカーの領域(ディメンション)情報と、仮想3次元空間座標系での前記アンカーの位置情報と前記登録情報設定ポイントの位置情報を記録した仮想オブジェクト表示制御データを入力させ、
前記撮像部の撮影画像からアンカーを検出し、検出アンカーと前記仮想オブジェクト表示制御データの登録アンカーとを比較して、撮影画像に含まれるアンカーの仮想3次元空間座標での位置および方向を解析し、解析結果に基づいて前記撮像部の仮想3次元空間での位置を特定して、前記表示部の座標系である表示部座標系における前記登録情報設定ポイントの位置を算出し、算出位置に基づき、前記登録情報設定ポイントを示す仮想オブジェクトを表示させ、
前記プログラムは、前記データ処理部に、
ビーコン送信装置から受信するビーコンを検索サーバに送信させ、
検索サーバから、ビーコン送信装置近傍の実オブジェクトを撮影した基準画像であるアンカーと、前記実オブジェクトと前記登録情報設定ポイントとの相対位置情報を記録した仮想オブジェクト表示制御データを取得するためのアクセス情報を受信させ、
受信したアクセス情報を適用して、情報提供サーバから前記ビーコン送信装置近傍の実オブジェクト情報を含む仮想オブジェクト表示制御データを受信させるプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014158132 | 2014-08-01 | ||
JP2014158132 | 2014-08-01 | ||
PCT/JP2015/064894 WO2016017253A1 (ja) | 2014-08-01 | 2015-05-25 | 情報処理装置、および情報処理方法、並びにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2016017253A1 JPWO2016017253A1 (ja) | 2017-05-18 |
JP6635037B2 true JP6635037B2 (ja) | 2020-01-22 |
Family
ID=55217158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016538184A Expired - Fee Related JP6635037B2 (ja) | 2014-08-01 | 2015-05-25 | 情報処理装置、および情報処理方法、並びにプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US10462406B2 (ja) |
EP (1) | EP3176757A4 (ja) |
JP (1) | JP6635037B2 (ja) |
CN (1) | CN106663338A (ja) |
WO (1) | WO2016017253A1 (ja) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105988776B (zh) * | 2015-01-27 | 2019-11-26 | 阿里巴巴集团控股有限公司 | 信息卡处理方法及装置 |
JP6790417B2 (ja) * | 2016-03-31 | 2020-11-25 | ソニー株式会社 | 情報処理装置及び情報処理サーバ |
JP6801259B2 (ja) * | 2016-06-28 | 2020-12-16 | 富士通株式会社 | 電子機器及びシステム |
CN107979628B (zh) * | 2016-10-24 | 2020-04-21 | 腾讯科技(深圳)有限公司 | 获取虚拟物品的方法、装置及*** |
CN107392961B (zh) * | 2017-06-16 | 2019-12-06 | 华勤通讯技术有限公司 | 基于增强现实的空间定位方法及装置 |
GB201714349D0 (en) * | 2017-09-06 | 2017-10-18 | Xyz Reality Ltd | A method and equipment for setting out a construction site |
JP2019061590A (ja) * | 2017-09-28 | 2019-04-18 | 富士ゼロックス株式会社 | 情報処理装置、情報処理システム及びプログラム |
CN108197621A (zh) * | 2017-12-28 | 2018-06-22 | 北京金堤科技有限公司 | 企业信息获取方法及***和信息处理方法及*** |
US10779791B2 (en) * | 2018-03-16 | 2020-09-22 | General Electric Company | System and method for mobile X-ray imaging |
CN108682036B (zh) * | 2018-04-27 | 2022-10-25 | 腾讯科技(深圳)有限公司 | 位姿确定方法、装置及存储介质 |
JP7254464B2 (ja) * | 2018-08-28 | 2023-04-10 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、及びプログラム |
CN109558870A (zh) * | 2018-11-30 | 2019-04-02 | 歌尔科技有限公司 | 一种可穿戴设备及障碍物提示方法 |
CN109907741B (zh) * | 2019-03-06 | 2022-04-01 | 智美康民(珠海)健康科技有限公司 | 三维脉波的显示方法、装置、计算机设备及存储介质 |
CN110287872A (zh) * | 2019-06-25 | 2019-09-27 | 清华大学 | 一种基于移动终端的兴趣点视线方向识别方法及装置 |
CN110286768B (zh) * | 2019-06-27 | 2022-05-17 | Oppo广东移动通信有限公司 | 虚拟物体显示方法、终端设备及计算机可读存储介质 |
CN110275977B (zh) * | 2019-06-28 | 2023-04-21 | 北京百度网讯科技有限公司 | 一种信息展示方法及装置 |
CN110413719A (zh) * | 2019-07-25 | 2019-11-05 | Oppo广东移动通信有限公司 | 信息处理方法及装置、设备、存储介质 |
JP7303711B2 (ja) * | 2019-09-18 | 2023-07-05 | 五洋建設株式会社 | 画像表示システム |
JP7484929B2 (ja) * | 2019-10-28 | 2024-05-16 | ソニーグループ株式会社 | 情報処理装置、情報処理方法およびプログラム |
CN110926334B (zh) * | 2019-11-29 | 2022-02-22 | 深圳市商汤科技有限公司 | 测量方法、装置、电子设备及存储介质 |
CN113409385B (zh) * | 2020-03-16 | 2023-02-24 | 上海哔哩哔哩科技有限公司 | 特征图像识别定位方法及*** |
JP6889304B1 (ja) * | 2020-03-31 | 2021-06-18 | 株式会社博報堂Dyホールディングス | 拡張現実表示システム、拡張現実表示方法、及びコンピュータプログラム |
WO2021256241A1 (ja) * | 2020-06-15 | 2021-12-23 | Necソリューションイノベータ株式会社 | ガイド装置、ガイドシステム、ガイド方法、プログラム、及び、記録媒体 |
WO2021256242A1 (ja) * | 2020-06-15 | 2021-12-23 | Necソリューションイノベータ株式会社 | ガイド装置、ガイドシステム、ガイド方法、プログラム、及び、記録媒体 |
JP7215752B2 (ja) * | 2020-07-19 | 2023-01-31 | プレティア・テクノロジーズ株式会社 | コンテンツ提供システム及びコンテンツ提供方法 |
CN112148122A (zh) * | 2020-08-25 | 2020-12-29 | 中国电子科技集团公司第三十八研究所 | 面向穿戴式增强/混合现实设备的第三方视角实现方法 |
JP6975489B1 (ja) * | 2020-12-18 | 2021-12-01 | 株式会社Gatari | 情報処理システム、情報処理方法および情報処理プログラム |
JP7167207B2 (ja) * | 2021-02-12 | 2022-11-08 | 株式会社ポケモン | プログラム、方法、情報処理装置、システム |
WO2022176450A1 (ja) * | 2021-02-22 | 2022-08-25 | ソニーグループ株式会社 | 情報処理装置、情報処理方法、およびプログラム |
KR20220152736A (ko) * | 2021-05-10 | 2022-11-17 | 삼성전자주식회사 | 시청자 환경 기반 ar 서비스 제공 방법 및 장치 |
CN115543065A (zh) * | 2021-06-29 | 2022-12-30 | 富联国基(上海)电子有限公司 | 一种扩增实境环境中物件的展示方法与*** |
CN113900517B (zh) * | 2021-09-30 | 2022-12-20 | 北京百度网讯科技有限公司 | 线路导航方法和装置、电子设备、计算机可读介质 |
US11933621B2 (en) * | 2021-10-06 | 2024-03-19 | Qualcomm Incorporated | Providing a location of an object of interest |
CN114935977B (zh) * | 2022-06-27 | 2023-04-07 | 北京五八信息技术有限公司 | 空间锚点处理方法、装置、电子设备及存储介质 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4631987B2 (ja) | 1998-10-19 | 2011-02-16 | ソニー株式会社 | 情報処理端末、情報処理システム及び情報処理方法 |
GB2411532B (en) * | 2004-02-11 | 2010-04-28 | British Broadcasting Corp | Position determination |
US20060190812A1 (en) * | 2005-02-22 | 2006-08-24 | Geovector Corporation | Imaging systems including hyperlink associations |
JP2011055250A (ja) * | 2009-09-02 | 2011-03-17 | Sony Corp | 情報提供方法及び装置、情報表示方法及び携帯端末、プログラム、並びに情報提供システム |
US9001252B2 (en) * | 2009-11-02 | 2015-04-07 | Empire Technology Development Llc | Image matching to augment reality |
JP2012128779A (ja) | 2010-12-17 | 2012-07-05 | Panasonic Corp | 仮想物体表示装置 |
JP5725296B2 (ja) | 2011-07-29 | 2015-05-27 | セイコーエプソン株式会社 | 運動情報生成装置、運動情報生成プログラム及び記録媒体 |
US20150070347A1 (en) * | 2011-08-18 | 2015-03-12 | Layar B.V. | Computer-vision based augmented reality system |
EP2750110B1 (en) | 2011-08-24 | 2020-03-18 | Sony Corporation | Information processing device, information processing method, and program |
US9400941B2 (en) * | 2011-08-31 | 2016-07-26 | Metaio Gmbh | Method of matching image features with reference features |
US8891907B2 (en) * | 2011-12-06 | 2014-11-18 | Google Inc. | System and method of identifying visual objects |
JP6056178B2 (ja) * | 2012-04-11 | 2017-01-11 | ソニー株式会社 | 情報処理装置、表示制御方法及びプログラム |
KR101356192B1 (ko) * | 2012-04-26 | 2014-01-24 | 서울시립대학교 산학협력단 | 영상매칭 기반의 스마트폰의 위치자세 결정 방법 및 시스템 |
US8743224B2 (en) * | 2012-07-13 | 2014-06-03 | Intel Corporation | Context based management for secure augmented reality applications |
US10127724B2 (en) * | 2013-01-04 | 2018-11-13 | Vuezr, Inc. | System and method for providing augmented reality on mobile devices |
CN103971400B (zh) * | 2013-02-06 | 2018-02-02 | 阿里巴巴集团控股有限公司 | 一种基于标识码的三维交互的方法和*** |
US9699375B2 (en) * | 2013-04-05 | 2017-07-04 | Nokia Technology Oy | Method and apparatus for determining camera location information and/or camera pose information according to a global coordinate system |
US9183583B2 (en) * | 2013-05-13 | 2015-11-10 | A9.Com, Inc. | Augmented reality recommendations |
JP5735071B2 (ja) * | 2013-09-27 | 2015-06-17 | 株式会社ダスキン | 情報検索装置、情報検索方法、及び情報検索プログラム |
US20150098616A1 (en) * | 2013-10-03 | 2015-04-09 | Qualcomm Incorporated | Object recognition and map generation with environment references |
JP6237326B2 (ja) * | 2014-02-25 | 2017-11-29 | 富士通株式会社 | 姿勢推定装置、姿勢推定方法及び姿勢推定用コンピュータプログラム |
EP3138284A4 (en) * | 2014-04-30 | 2017-11-29 | Aurasma Limited | Augmented reality without a physical trigger |
-
2015
- 2015-05-25 WO PCT/JP2015/064894 patent/WO2016017253A1/ja active Application Filing
- 2015-05-25 JP JP2016538184A patent/JP6635037B2/ja not_active Expired - Fee Related
- 2015-05-25 US US15/326,058 patent/US10462406B2/en not_active Expired - Fee Related
- 2015-05-25 EP EP15827880.4A patent/EP3176757A4/en not_active Withdrawn
- 2015-05-25 CN CN201580041347.3A patent/CN106663338A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20170201708A1 (en) | 2017-07-13 |
WO2016017253A1 (ja) | 2016-02-04 |
US10462406B2 (en) | 2019-10-29 |
JPWO2016017253A1 (ja) | 2017-05-18 |
CN106663338A (zh) | 2017-05-10 |
EP3176757A1 (en) | 2017-06-07 |
EP3176757A4 (en) | 2018-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6635037B2 (ja) | 情報処理装置、および情報処理方法、並びにプログラム | |
JP6683127B2 (ja) | 情報処理装置、および情報処理方法、並びにプログラム | |
US11796309B2 (en) | Information processing apparatus, information processing method, and recording medium | |
CN102388406B (zh) | 使用便携式电子设备记录产生三维模型 | |
JP6329343B2 (ja) | 画像処理システム、画像処理装置、画像処理プログラム、および画像処理方法 | |
US9280851B2 (en) | Augmented reality system for supplementing and blending data | |
JP6296056B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
US10733798B2 (en) | In situ creation of planar natural feature targets | |
TW201715476A (zh) | 運用擴增實境技術之導航系統 | |
KR101413011B1 (ko) | 위치 정보 기반 증강현실 시스템 및 제공 방법 | |
JP2011060254A (ja) | 拡張現実システム、拡張現実装置および仮想オブジェクト表示方法 | |
JP5951465B2 (ja) | 道路情報に基づいて見通しエリアを決定するプログラム、情報端末、サーバ及び方法 | |
US20120281102A1 (en) | Portable terminal, activity history depiction method, and activity history depiction system | |
JP5357966B2 (ja) | 情報システム、サーバ装置、端末装置、情報処理方法、およびプログラム | |
US10735902B1 (en) | Method and computer program for taking action based on determined movement path of mobile devices | |
JP7039535B2 (ja) | 生成装置、生成方法、および生成プログラム | |
JP6959305B2 (ja) | 生成装置、生成方法、および生成プログラム | |
JP2018028455A (ja) | 案内支援装置、案内支援方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180507 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190528 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190610 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190806 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190925 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20191119 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191202 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6635037 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |