JP2020173656A - 情報処理装置、情報処理方法、及び記録媒体 - Google Patents

情報処理装置、情報処理方法、及び記録媒体 Download PDF

Info

Publication number
JP2020173656A
JP2020173656A JP2019075688A JP2019075688A JP2020173656A JP 2020173656 A JP2020173656 A JP 2020173656A JP 2019075688 A JP2019075688 A JP 2019075688A JP 2019075688 A JP2019075688 A JP 2019075688A JP 2020173656 A JP2020173656 A JP 2020173656A
Authority
JP
Japan
Prior art keywords
terminal
spatial information
update
operating state
control unit
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.)
Pending
Application number
JP2019075688A
Other languages
English (en)
Inventor
春香 藤澤
Haruka Fujisawa
春香 藤澤
富士夫 荒井
Fujio Arai
富士夫 荒井
秀憲 青木
Hidenori Aoki
秀憲 青木
遼 深澤
Ryo Fukazawa
遼 深澤
京二郎 永野
Kyojiro Nagano
京二郎 永野
智彦 後藤
Tomohiko Goto
智彦 後藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2019075688A priority Critical patent/JP2020173656A/ja
Priority to US17/438,771 priority patent/US20220164981A1/en
Priority to PCT/JP2020/015326 priority patent/WO2020209199A1/ja
Priority to DE112020001867.9T priority patent/DE112020001867T5/de
Priority to CN202080026525.6A priority patent/CN113678171A/zh
Publication of JP2020173656A publication Critical patent/JP2020173656A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/292Multi-camera tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/771Feature selection, e.g. selecting representative features from a multi-dimensional feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】複数の表示端末が同一の仮想オブジェクトを表示する場合の表示位置の相違を軽減することが可能な情報処理装置の提供。【解決手段】実空間に関連付けられた座標系を用いて仮想オブジェクトを前記実空間に配置する表示端末を制御する制御部、を備え、前記制御部は、第1の表示端末の第1の動作状態と、前記第1の表示端末と前記仮想オブジェクトを共有する第2の表示端末の第2の動作状態とに基づき、前記仮想オブジェクトの位置の決定に用いられる前記第1の表示端末の第1の空間情報及び前記第2の表示端末の第2の空間情報を更新するか否かを決定する、情報処理装置。【選択図】図3

Description

本開示は、情報処理装置、情報処理方法及び記録媒体に関する。
近年、実空間に付加的な情報(以下、仮想オブジェクトとも称する)を重畳してユーザに提示する拡張現実(AR:Augmented Reality)と呼ばれる技術が注目されている。AR技術を用いた情報提示には、HMD(Head Mounted Display)等の表示端末が利用される。提示される仮想オブジェクトには、グローバル座標系における位置が与えられる場合がある。その場合、表示端末は、グローバル座標系における自己位置を推定した上で、仮想オブジェクトに与えられたグローバル座標系における位置に仮想オブジェクトが表示されるように、仮想オブジェクトの表示位置を決定する。
表示端末の自己位置を推定する手法は種々存在するが、その一例として、下記特許文献1には、キーフレームベースのSLAM(Simultaneous Localization and Mapping)技術を用いる手法が開示されている。
特表2016−528476号公報
表示端末の自己位置の推定結果には誤差が生じ得る。その結果、仮想オブジェクトに与えられたグローバル座標系における位置と、表示端末が表示した仮想オブジェクトのグローバル座標系における位置との間に、誤差が生じ得る。ここで、複数の表示端末において同一の仮想オブジェクトを表示しようとすると、表示端末ごとの自己位置の推定精度及び推定結果のばらつきに起因して、各々の表示端末において表示される仮想オブジェクトのグローバル座標系における位置が相違し得る。
そこで、本開示では、複数の表示端末が同一の仮想オブジェクトを表示する場合の表示位置の相違を軽減することが可能な、新規かつ改良された情報処理装置、情報処理方法、及び記録媒体を提案する。
本開示によれば、実空間に関連付けられた座標系を用いて仮想オブジェクトを前記実空間に配置する表示端末を制御する制御部、を備え、前記制御部は、第1の表示端末の第1の動作状態と、前記第1の表示端末と前記仮想オブジェクトを共有する第2の表示端末の第2の動作状態とに基づき、前記仮想オブジェクトの位置の決定に用いられる前記第1の表示端末の第1の空間情報及び前記第2の表示端末の第2の空間情報を更新するか否かを決定する、情報処理装置が提供される。
また、本開示によれば、第1のユーザに対して、仮想オブジェクトを提示する第1の出力装置を有する出力部と、実空間に関連付けた座標系に配置する前記仮想オブジェクトの位置を決定する制御部と、を備え、前記制御部は、前記第1の出力装置の第1の動作状態と、前記第1の出力装置と前記仮想オブジェクトを共有する外部の第2の出力装置の第2の動作状態とに基づき、前記仮想オブジェクトの位置の決定に用いられる前記第1の出力装置の第1の空間情報及び前記第2の出力装置の第2の空間情報を更新するか否かを決定する、情報処理装置が提供される。
また、本開示によれば、実空間に関連付けられた座標系を用いて仮想オブジェクトを前記実空間に配置する表示端末を制御することと、第1の表示端末の第1の動作状態と、前記第1の表示端末と前記仮想オブジェクトを共有する第2の表示端末の第2の動作状態とに基づき、前記仮想オブジェクトの位置の決定に用いられる前記第1の表示端末の第1の空間情報及び前記第2の表示端末の第2の空間情報を更新するか否かを決定することと、を含む、プロセッサにより実行される情報処理方法が提供される。
また、本開示によれば、コンピュータに、実空間に関連付けられた座標系を用いて仮想オブジェクトを前記実空間に配置する表示端末を制御することと、第1の表示端末の第1の動作状態と、前記第1の表示端末と前記仮想オブジェクトを共有する第2の表示端末の第2の動作状態とに基づき、前記仮想オブジェクトの位置の決定に用いられる前記第1の表示端末の第1の空間情報及び前記第2の表示端末の第2の空間情報を更新するか否かを決定することと、を実行させるためのプログラムが記録された記録媒体が提供される。
本開示の実施形態に係る情報処理システムのシステム構成例を示す図である。 同実施形態に係るAR端末のハードウェア構成例を示すブロック図である。 同実施形態に係る情報処理システムの機能構成例を示すブロック図である。 標準的なローカライズ処理の流れを示すフローチャートである。 本開示の実施形態に係るローカライズ処理の流れを示すフローチャートである。 同実施形態に係るキーフレーム更新判定処理の流れを示すフローチャートである。 同実施形態に係る情報処理システムにおける処理の流れを示すシーケンス図である。 同実施形態に係る第1の具体例における複数のユーザの位置関係を示す図である。 同実施形態に係る第1の具体例における各々のユーザの見え方を示す図である。 同実施形態に係る第2の具体例における複数のユーザの位置関係を示す図である。 同実施形態に係る第2の具体例における各々のユーザの見え方を示す図である。 同実施形態に係る第3の具体例における複数のユーザの位置関係を示す図である。 同実施形態に係る第3の具体例における各々のユーザの見え方を示す図である。 同実施形態に係る第4の具体例におけるキーフレームの時系列変化を示す図である。 同実施形態に係る第1の変形例におけるキーフレーム更新判定処理の流れを示すフローチャートである。 同実施形態に係る第2の変形例におけるキーフレーム更新判定処理の流れを示すフローチャートである。 同実施形態に係る情報処理装置のハードウェア構成例を示すブロック図である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.第1の実施形態
2.第2の実施形態
3.ハードウェア構成例
<<1.第1の実施形態>>
本開示の実施形態に係る技術は、複数の表示端末における同一の仮想オブジェクトの表示を制御する情報処理装置に関する。以下では、一例として、表示端末がAR端末により実現され、情報処理装置がサーバにより実現されるものとする。
<1−1.システム構成例>
まず、図1及び図2を参照しながら、本開示の実施形態に係る情報処理システムのシステム構成例について説明する。図1は、本開示の実施形態に係る情報処理システムのシステム構成例を示す図である。図1に示すように、本実施形態に係る情報処理システム1000は、AR端末10、サーバ20、及びネットワーク30を備える。なお、本実施形態では、図1に示すように、ユーザ12aがAR端末10a(第1の表示端末)を装着し、ユーザ12bがAR端末10b(第2の表示端末)を装着しているものとする。また、AR端末10aとAR端末10bは、同一の仮想オブジェクトを共有して表示するものとする。
(1)AR端末10
AR端末10は、仮想オブジェクトを表示する端末である。本実施形態に係るAR端末10は、例えば、頭部装着型の端末(HMD:Head Mounted Display)等により実現される。AR端末10に適用可能なHMDの一例としては、例えば、シースルー型HMD、ビデオシースルー型HMD、及び網膜投射型HMDが挙げられる。
シースルー型HMDは、例えば、ハーフミラーや透明な導光板を用いて、透明な導光部等からなる虚像光学系をユーザ12の眼前に保持し、当該虚像光学系の内側に画像を表示させる。そのため、シースルー型HMDを装着したユーザ12は、虚像光学系の内側に表示された画像を視聴している間も、外部の風景を視野に入れることが可能となる。このような構成により、シースルー型HMDは、例えば、AR技術に基づき、当該シースルー型HMDの位置及び姿勢のうち少なくともいずれかの認識結果に応じて、実空間に位置する実オブジェクトの光学像に対して仮想オブジェクトの画像を重畳させることも可能となる。なお、シースルー型HMDの具体的な一例として、メガネのレンズに相当する部分を虚像光学系として構成した、所謂メガネ型のウェアラブルデバイスが挙げられる。
ビデオシースルー型HMDは、ユーザ12の頭部または顔部に装着された場合に、ユーザ12の眼を覆うように装着され、ユーザ12の眼前にディスプレイ等の表示部が保持される。また、ビデオシースルー型HMDは、周囲の風景を撮像するための撮像部を有し、当該撮像部により撮像されたユーザ12の前方の風景の画像を表示部に表示させる。このような構成により、ビデオシースルー型HMDを装着したユーザ12は、外部の風景を直接視野に入れることは困難ではあるが、表示部に表示された画像により、外部の風景を確認することが可能となる。また、このときビデオシースルー型HMDは、例えば、AR技術に基づき、当該ビデオシースルー型HMDの位置及び姿勢のうち少なくともいずれかの認識結果に応じて、外部の風景の画像に対して仮想オブジェクトを重畳させてもよい。
網膜投射型HMDは、ユーザ12の眼前に投影部が保持されており、当該投影部からユーザ12の眼に向けて、外部の風景に対して画像が重畳するように当該画像が投影される。より具体的には、網膜投射型HMDでは、ユーザ12の眼の網膜に対して、投影部から画像が直接投射され、当該画像が網膜上で結像する。このような構成により、近視や遠視のユーザ12の場合においても、より鮮明な画像を視聴することが可能となる。また、網膜投射型HMDを装着したユーザ12は、投影部から投影される画像を視聴している間も、外部の風景を視野に入れることが可能となる。このような構成により、網膜投射型HMDは、例えば、AR技術に基づき、当該網膜投射型HMDの位置や姿勢のうち少なくともいずれかの認識結果に応じて、実空間に位置する実オブジェクトの光学像に対して仮想オブジェクトの画像を重畳させることも可能となる。
また、上記に説明した例以外にも、没入型HMDと呼ばれるHMDが挙げられる。没入型HMDは、ビデオシースルー型HMDと同様に、ユーザ12の眼を覆うように装着され、ユーザ12の眼前にディスプレイ等の表示部が保持される。そのため、没入型HMDを装着したユーザ12は、外部の風景(即ち、現実世界の風景)を直接視野に入れることが困難であり、表示部に表示された画像のみが視界に入ることとなる。このような構成により、没入型HMDは、画像を視聴しているユーザ12に対して没入感を与えることが可能となる。そのため、没入型HMDは、例えば、主にVR(Virtual Reality)技術に基づき情報を提示する場合に適用され得る。
なお、AR端末10は、上述のHMDに限定されない。例えば、AR端末10は、表示部を備えるスマートフォン、タブレット端末、ウェアラブル端末、又はエージェントデバイス等の端末装置であってもよい。
AR端末10は、ネットワーク30を介してサーバ20と接続されており、サーバ20と情報の送受信を行える。
(AR端末10のハードウェア構成)
ここで、図2を参照しながら、AR端末10のハードウェア構成例について説明する。図2は、本開示の実施形態に係るAR端末10のハードウェア構成例を示すブロック図である。なお、AR端末10のハードウェア構成例は、かかる例に限定されない。
図2に示すように、AR端末10は、CPU(Central Processing Unit)100、ROM(Read Only Memory)102、及びRAM(Random Access Memory)104を備える。また、AR端末10は、通信I/F(Interface)コントローラ106、入力画像コントローラ108、カメラ110、周辺状況情報入力コントローラ112、周辺状況情報検知センサ114、出力画像コントローラ116、及びディスプレイ118を備える。
CPU100は、例えば、演算処理装置又は制御装置として機能し、ROM102、RAM104、又はストレージ装置に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM102は、CPU100に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM104には、例えば、CPU100に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
通信I/Fコントローラ106は、通信に関する制御を行うコントローラである。例えば、通信I/Fコントローラ106は、ネットワーク30を介した外部装置との通信を制御する。
入力画像コントローラ108は、画像(静止画像又は動画像)の入力に関する制御を行うコントローラである。例えば、入力画像コントローラ108は、カメラ110が撮像した撮像画像の入力を制御する。また、入力画像コントローラ108は、カメラ110による撮像処理を制御してもよい。
カメラ110は、AR端末10の周辺を撮像する撮像装置である。当該撮像装置により、AR端末10は、ユーザ12の周辺を示す撮像画像を取得することができる。なお、AR端末10に設けられるカメラ110の数は特に限定されず、任意の数のカメラ110が設けられてもよい。本実施形態に係るAR端末10には、例えば、右目用のカメラと左目用のカメラが設けられる。
周辺状況情報入力コントローラ112は、AR端末10の周辺の状況を示す情報(以下、「周辺状況情報」とも称される)の入力に関する制御を行うコントローラである。例えば、周辺状況情報入力コントローラ112は、周辺状況情報検知センサ114が取得する周辺状況情報の入力を制御する。また、周辺状況情報入力コントローラ112は、周辺状況情報検知センサ114による周辺状況情報の取得処理を制御してもよい。
周辺状況情報検知センサ114は、周辺状況情報をセンシングするセンサ装置である。周辺状況情報検知センサ114は、例えば、カメラにより、AR端末10の周辺の状況を示す撮像画像を周辺状況情報として取得する。なお、当該カメラは、上述したカメラ110であってもよいし、カメラ110とは異なるカメラであってもよい。
出力画像コントローラ116は、画像の出力に関する制御を行うコントローラである。例えば、出力画像コントローラ116は、ディスプレイ118における出力画像の出力を制御する。また、出力画像コントローラ116は、ディスプレイ118が出力する出力画像の生成に関する処理を制御してもよい。
ディスプレイ118は、出力画像を出力する装置である。ディスプレイ118の一例として、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置等が挙げられる。なお、AR端末10に設けられるディスプレイ118の数は特に限定されず、任意の数のディスプレイが設けられてもよい。本実施形態に係るAR端末10には、例えば、右目用のディスプレイと左目用のディスプレイが設けられる。
(2)サーバ20
サーバ20は、複数のAR端末10における仮想オブジェクトの表示を制御する機能を有する情報処理装置である。例えば、サーバ20は、AR端末10の動作状態を示す情報に基づき、AR端末10における仮想オブジェクトの表示を制御するための判定処理を行う。具体的に、サーバ20は、AR端末10aの動作状態(第1の動作状態)と、AR端末10bの動作状態(第2の動作状態)とに基づき、仮想オブジェクトの位置の決定に用いられるキーフレーム(空間情報)を更新するか否かを決定する処理を行う。そして、AR端末10は、サーバ20による決定に従いキーフレームを逐次的に更新しながら、仮想オブジェクトの位置の決定及び表示を行う。仮想オブジェクトの位置の決定に用いられるキーフレームは、以下では、「位置決定キーフレーム」とも称される。位置決定キーフレームを更新するか否かを決定する処理は、以下では、「キーフレーム更新判定処理」とも称される。キーフレーム更新判定処理にて、位置決定キーフレームを更新させるとサーバ20が判定した場合、AR端末10aの位置決定キーフレーム(第1の空間情報)とAR端末10bの位置決定キーフレーム(第2の空間情報)の両方が更新される。
キーフレームには、撮像画像、当該撮像画像の特徴点、当該撮像画像を撮像した際のカメラの自己位置を示す情報が含まれ得る。当該キーフレームは、例えば、上述したAR端末10のカメラ110が撮像する度に、AR端末10が備える記憶部に保存される。AR端末10の記憶部に記憶されている複数のキーフレームは、以下では、「キーフレーム群」とも称される。
複数のAR端末10の各々では、キーフレーム群の中から、位置決定キーフレームの更新に用いられる候補となるキーフレーム(以下、「更新先候補キーフレーム」と称される)が取得される。例えば、AR端末10aは、AR端末10aのキーフレーム群から、AR端末10aの更新先候補キーフレーム(第3の空間情報)を取得する。また、AR端末10bは、AR端末10bのキーフレーム群から、AR端末10bの更新先候補キーフレーム(第4の空間情報)を取得する。サーバ20は、複数のAR端末10の各々が取得した更新先候補キーフレームを受信し、受信した更新先候補キーフレームに基づき、キーフレーム更新判定処理を行う。
更新先候補キーフレームは、AR端末10の動作状態を示す情報に基づき、AR端末10により取得される。AR端末10の動作状態は、例えば、AR端末10の姿勢のことである。AR端末10の姿勢には、AR端末10の自己位置を示す情報も含まれ得る。例えば、動作状態を示す情報は、例えば、AR端末10が備えるカメラ110が取得する撮像画像である。AR端末10は、例えば、キーフレーム更新判定処理の直前に撮像された撮像画像の特徴点と、キーフレーム群の各々のキーフレームに含まれる撮像画像の特徴点とのマッチングを行い、マッチングしたキーフレームを更新先候補キーフレームとして取得する。
サーバ20は、ネットワーク30を介してAR端末10と接続されており、AR端末10と情報の送受信を行える。例えば、サーバ20は、AR端末10aとAR端末10bから更新先候補キーフレームを受信する。また、サーバ20は、判定処理における判定結果をAR端末10aとAR端末10bに対して送信する。
(3)ネットワーク30
ネットワーク30は、AR端末10とサーバ20を接続する機能を有する。また、ネットワーク30は、複数のAR端末10同士を接続する機能を有してもよい。例えば、ネットワーク30は、AR端末10aとAR端末10bを接続する。
ネットワーク30は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、WAN(Wide Area Network)などを含んでもよい。また、ネットワーク30は、IP−VPN(Internet Protocol−Virtual Private Network)などの専用回線網を含んでもよい。また、ネットワーク30は、Wi−Fi(登録商標)、Bluetooth(登録商標)など無線通信網を含んでもよい。
<1−2.機能構成例>
以上、本実施形態に係るシステム構成例について説明した。続いて、図3を参照しながら、本開示の実施形態に係る情報処理システム1000の機能構成例について説明する。図3は、本開示の実施形態に係る情報処理システム1000の機能構成例を示すブロック図である。
<1−2−1.AR端末の機能構成>
図3に示すように、本実施形態に係るAR端末10は、通信部120、センサ部130、制御部140、記憶部150、及び出力部160を備える。
(1)通信部120
通信部120は、外部装置と通信を行う機能を有する。通信部120は、例えば、外部装置との通信において、外部装置から受信する情報を制御部140へ出力する。一例として、通信部120は、ネットワーク30を介したサーバ20との通信において、サーバ20から判定結果を受信し、制御部140へ出力する。
通信部120は、例えば、外部装置との通信において、制御部140から入力される情報を外部装置へ送信する。一例として、通信部120は、更新先候補キーフレームをサーバ20へ送信する。
(2)センサ部130
センサ部130は、制御部140における処理に用いられる情報をセンシングする機能を有する。センシング後、センサ部130は、各種センサがセンシングにより取得したセンシング情報を制御部140へ出力する。
センサ部130は、多様なセンサ装置を備え得る。一例として、センサ部130は、カメラ、デプスセンサ、加速度センサ、ジャイロセンサ等を備え得る。なお、センサ部130が備えるセンサ装置は上述の例に限定されず、他の任意のセンサ装置を備えてもよい。
カメラは、RGBカメラ等のレンズ系、駆動系、及び撮像素子を有し、撮像画像を撮像する撮像装置である。かかる撮像装置は、AR端末10の周辺を撮像可能にAR端末10に備えられ得る。かかる構成により、センサ部130は、AR端末10の周辺の撮像画像を取得することができる。なお、ユーザ12がAR端末10を装着または携帯している場合、センサ部130が取得するAR端末10の周辺の撮像画像は、即ちユーザ12の周辺の撮像画像でもある。
デプスセンサは、赤外線測距装置、超音波測距装置、LiDAR(Laser Imaging Detection and Ranging)又はステレオカメラ等の深度情報を取得する装置である。センサ部130は、当該デプスセンサにより取得される情報に基づき、AR端末10の位置情報を取得することができる。なお、ユーザ12がAR端末10を装着または携帯している場合、センサ部130が取得するAR端末10の位置情報は、即ちユーザ12の位置情報でもある。
加速度センサは、加速度を取得する装置である。例えば、加速度センサは、対象が移動した際の速度の変化量である加速度を計測する。ジャイロセンサは、角速度を取得する装置である。例えば、ジャイロセンサは、対象の姿勢の変化量である角速度を計測する。加速度センサ及びジャイロセンサにより取得される情報は、以下では、「慣性情報」とも称される。かかる構成により、センサ部130は、AR端末10の慣性情報を取得することができる。なお、ユーザ12がAR端末10を装着または携帯している場合、センサ部130が取得する慣性情報は、即ちユーザ12の慣性情報でもある。
(3)制御部140
制御部140は、AR端末10全体の動作を制御する機能を有する。当該機能を実現するために、制御部140は、図3に示すように、周辺状況情報取得部1402、周辺状況情報管理部1404、空間情報取得部1406、空間情報管理部1408、画像出力制御部1410、及び出力画像生成部1412を有する。
(3−1)周辺状況情報取得部1402
周辺状況情報取得部1402は、AR端末10の周辺状況情報の取得を制御する機能を有する。例えば、周辺状況情報取得部1402は、センサ部130の動作を制御し、センサ部130に周辺状況情報を取得させる。また、周辺状況情報取得部1402は、通信部120の動作を制御し、通信部120を介してAR端末10と接続されている外部装置から周辺状況情報を取得してもよい。当該外部装置の一例として、AR端末10の外部に設置されているセンサ装置、サーバ20等が挙げられる。
(3−2)周辺状況情報管理部1404
周辺状況情報管理部1404は、周辺状況情報を管理する機能を有する。例えば、周辺状況情報管理部1404は、記憶部150が有する周辺状況情報が記憶されるデータベース(以下、「周辺状況情報DB」とも称される)の更新処理を行う。一例として、周辺状況情報管理部1404は、周辺状況情報取得部1402が取得する周辺状況情報を記憶部150に周辺状況情報DBへ追加させる。
(3−3)空間情報取得部1406
空間情報取得部1406は、AR端末10の空間情報に関する情報の取得を制御する機能を有する。例えば、空間情報取得部1406は、センサ部130の動作を制御し、センサ部130に空間情報に関する情報を取得させる。一例として、空間情報取得部1406は、センサ部130に設けられたカメラを制御し、AR端末10の動作状態を示す撮像画像を撮像させる。
(3−4)空間情報管理部1408
空間情報管理部1408は、空間情報を管理する機能を有する。例えば、空間情報管理部1408は、空間情報に関する処理の制御を行う。一例として、空間情報管理部1408は、クエリ画像の生成、更新先候補キーフレームの取得、位置決定キーフレームの更新、初期ポーズ推定、及び最終ポーズ推定等の処理を行う。
(クエリ画像の生成)
空間情報管理部1408は、クエリ画像の生成に関する処理を行う。例えば、空間情報管理部1408は、空間情報取得部1406が取得する撮像画像に基づき、クエリ画像を生成する。当該クエリ画像は、キーフレーム群から更新先候補キーフレームを取得する際に用いられる。
クエリ画像の生成時、空間情報管理部1408は、撮像画像に基づき、撮像時のカメラの自己位置(AR端末10の自己位置)を推定する。さらに、空間情報管理部1408は、撮像画像の特徴点の検出と特徴量の記述を行い、2次元特徴点を取得する。
(更新先候補キーフレームの取得)
空間情報管理部1408は、AR端末10の動作状態に基づき、AR端末10の更新先候補キーフレームを取得する。例えば、空間情報管理部1408は、センサ部130のカメラが撮像するAR端末10の動作状態を示す撮像画像から生成されたクエリ画像を用いて、記憶部150に記憶されているキーフレーム群から更新先候補キーフレームを検索する。更新先候補キーフレームを検索する際、空間情報管理部1408は、クエリ画像の生成時に取得された2次元特徴点と、キーフレーム群の各々のキーフレームに含まれる2次元特徴点とのマッチングを行う。そして、空間情報管理部1408は、2次元特徴点がマッチングしたキーフレームを更新先候補キーフレームとして取得する。
(位置決定キーフレームの更新)
空間情報管理部1408は、サーバ20におけるキーフレーム更新判定処理の判定結果に基づき、位置決定キーフレームの更新処理を行う。キーフレーム更新判定処理にて位置決定キーフレームを更新すると判定された場合、空間情報管理部1408は、位置決定キーフレームを更新先候補キーフレームで更新する。一方、キーフレーム更新判定処理にて位置決定キーフレームを更新しないと判定された場合、空間情報管理部1408は、位置決定キーフレームを更新しない。
(初期ポーズ推定)
空間情報管理部1408は、位置決定キーフレームに基づき、AR端末10の初期ポーズを推定する。ポーズは、AR端末10の位置姿勢を示す。また、初期ポーズは、カメラが撮像画像を撮像した時のAR端末10の位置姿勢を示す。例えば、空間情報管理部1408は、位置決定キーフレームと関連付けられた自己位置を示す情報から、AR端末10の初期ポーズを推定する。
この時、空間情報管理部1408は、センサ部130のカメラが撮像した撮像画像の2次元特徴点と、位置決定キーフレームの2次元特徴点との特徴点マッチングを行う。特徴点マッチングが成功した場合、空間情報管理部1408は、位置決定キーフレームに含まれる自己位置を示す情報をAR端末10の初期ポーズとして用いる。特徴点マッチングが成功しなかった場合、空間情報管理部1408は、位置決定キーフレームを更新し、成功するまで特徴点マッチングを繰り返す。
(最終ポーズ推定)
空間情報管理部1408は、推定した初期ポーズを補正することで、AR端末10の最終ポーズを推定する。最終ポーズは、現時刻におけるAR端末10の位置姿勢を示す。最終ポーズは、例えば、空間情報管理部1408は、センサ部130のカメラが撮像した撮像画像と、位置決定キーフレームに含まれる撮像画像との画像マッチングを行う。画像マッチングの結果、両画像間の差分が検出された場合、空間情報管理部1408は、当該差分に基づき初期ポーズを補正し、補正後のポーズをAR端末10の最終ポーズとする。
(3−5)画像出力制御部1410
画像出力制御部1410は、画像の出力を制御する機能を有する。例えば、画像出力制御部1410は、出力画像生成部1412が生成する出力画像を、出力部160に出力させる。AR端末10に右目用のディスプレイと左目用のディスプレイが設けられる場合、画像出力制御部1410は、各々のディスプレイに、各々のディスプレイに応じた形式で出力画像を出力させる。
(3−6)出力画像生成部1412
出力画像生成部1412は、画像を生成する機能を有する。例えば、出力画像生成部1412は、出力部160が出力する出力画像を生成する。例えば、出力画像生成部1412は、空間情報管理部1408が推定したAR端末10の最終ポーズに基づき、仮想オブジェクトを配置した出力画像を生成する。
(4)記憶部150
記憶部150は、AR端末10における処理に関する情報を記憶する機能を有する。例えば、記憶部150は、周辺状況情報取得部1402が取得した周辺状況情報を、周辺状況情報管理部1404の制御により周辺状況情報DBに記憶する。また、記憶部150は、あらかじめ用意されたマップDB(キーフレーム群)を空間情報DBに記憶する。
なお、記憶部150が記憶する情報は、かかる例に限定されない。例えば、記憶部150は、各種アプリケーション等のプログラムを記憶してもよい。
(5)出力部160
出力部160は、画像を出力する機能を有する。例えば、出力部160は、出力画像生成部1412が生成した出力画像を、画像出力制御部1410の制御に基づき出力する。
<1−2−2.サーバの機能構成>
図3に示すように、本実施形態に係るサーバ20は、通信部210、制御部220、及び記憶部230を備える。
(1)通信部210
通信部210は、外部装置と通信を行う機能を有する。通信部210は、例えば、外部装置との通信において、外部装置から受信する情報を制御部220へ出力する。一例として、通信部210は、ネットワーク30を介したAR端末10との通信において、AR端末10から更新先候補キーフレームを受信し、制御部220へ出力する。
通信部210は、例えば、外部装置との通信において、制御部220から入力される情報を外部装置へ送信する。一例として、通信部210は、判定結果をAR端末10へ送信する。
(2)制御部220
制御部220は、サーバ20全体の動作を制御する機能を有する情報処理装置である。例えば、制御部220は、AR端末10における仮想オブジェクトの配置の制御に関する処理を行う機能を有する。当該処理の一例として、制御部220は、キーフレーム更新判定処理を行う。
(キーフレーム更新判定処理)
キーフレーム更新判定処理では、制御部220は、AR端末10aの動作状態とAR端末10bの動作状態とに基づき、AR端末10aの位置決定キーフレーム及びAR端末10bの位置決定キーフレームを更新するか否かを決定する。AR端末10aの位置決定キーフレーム及びAR端末10bの位置決定キーフレームを更新するか否かは、AR端末10aの動作状態とAR端末10bの動作状態とが類似しているか否かに応じて決定される。
動作状態が類似していることは、即ち、ユーザ12aとユーザ12bが見ている方向が類似していることを示している。よって、AR端末10aの動作状態とAR端末10bの動作状態とが類似している場合、制御部220は、AR端末10aの位置決定キーフレーム及びAR端末10bの位置決定キーフレームを更新しないと決定する。キーフレームを更新しないことにより、動作状態が類似している間は、少なくとも類似した位置決定キーフレーム(正確には、動作状態が類似した状態で得られたキーフレーム)をAR端末10a及びAR端末10bに継続して使用させることが可能となる。これにより、AR端末10ごとの自己位置の推定精度及び推定結果のばらつきを軽減することができ、それに伴い、複数のAR端末10間での同一の仮想オブジェクトの表示位置の相違を軽減することができる。
一方、動作状態が類似していないことは、即ち、ユーザ12aとユーザ12bが見ている方向が類似していないことを示している。よって、AR端末10aの動作状態とAR端末10bの動作状態とが類似していない場合、制御部220は、AR端末10aの位置決定キーフレーム及びAR端末10bの位置決定キーフレームを更新すると決定する。かかる構成により、各々のユーザに対して、各々のユーザが見ている方向に応じた位置に仮想オブジェクトを表示することができる。
−類似度による判定
AR端末10aの動作状態とAR端末10bの動作状態とが類似しているか否かは、制御部220が算出するAR端末10aの動作状態とAR端末10bの動作状態との類似度と、第1の閾値との比較結果に応じて決定される。類似度が第1の閾値以上である場合、制御部220は、AR端末10aの動作状態とAR端末10bの動作状態とが類似していると判定する。一方、類似度が第1の閾値以上でない場合、制御部220は、AR端末10aの動作状態とAR端末10bの動作状態とが類似していないと判定する。
制御部220は、AR端末10aの動作状態においてAR端末10aが取得した位置決定キーフレームと、AR端末10bの動作状態においてAR端末10bが取得した位置決定キーフレームとに基づき、類似度を算出する。具体的に、制御部220は、AR端末10aが取得した位置決定キーフレームに含まれる特徴点と、AR端末10bが取得した位置決定キーフレームに含まれる特徴点との特徴点マッチングを行い、マッチングした特徴点の数に基づいて類似度を算出する。類似度を示す具体的な値として、制御部220は、例えば、スコアを算出する。一例として、制御部220は、マッチングした特徴点の数をスコアとして算出する。
なお、類似度を算出する方法は、かかる例に限定されない。例えば、更新先候補キーフレームに対応するカメラの3次元座標系における位置姿勢行列(3×4の行列)の一致度を類似度として算出してもよい。なお、行列の一致度は、行列の各要素の2乗和とする。
また、第1の閾値に設定される値は特に限定されず、任意の値が設定されてよい。例えば、複数のAR端末が同一の仮想オブジェクトを表示する場合の表示位置の相違をより軽減したい場合、第1の閾値は、高く設定されることが望ましい。
また、第1の閾値は動的に変更されてもよい。例えば、制御部220は、AR端末10aとAR端末10bとの位置関係、即ち、ユーザ12aとユーザ12bとの位置関係に応じて、第1の閾値を変更する。
ユーザ12aとユーザ12bとが近い位置関係にある場合、仮想オブジェクトの表示位置の相違を知覚しやすくなり得る。そこで、ユーザ12aとユーザ12bとが近い位置にいる場合、制御部220は、第1の閾値を高く設定してもよい。これにより、表示位置の相違が軽減されるため、仮想オブジェクトの表示位置の装置をユーザ12aとユーザ12bに知覚されにくくすることができる。
一方、ユーザ12aとユーザ12bとが遠い位置関係にある場合、仮想オブジェクトの表示位置の相違を知覚しづらくなり得る。そこで、ユーザ12aとユーザ12bとが遠い位置関係にある場合、制御部220は、第1の閾値を低く設定してもよい。これにより、表示位置の相違が増加するが、仮想オブジェクトの表示位置の装置がユーザ12aとユーザ12bに知覚されにくい状態を維持することができる。
−類似度の最大値判定
キーフレーム更新判定処理にて、位置決定キーフレームを更新するか否かは、類似度のスコアが最大値であるか否かに基づき決定されてもよい。例えば、制御部220は、類似度が最大値(第3の閾値)を超えるか否かに応じて、AR端末10aの位置決定キーフレーム及びAR端末10bの位置決定キーフレームを更新するか否かをさらに決定する。
なお、最大値は、所定の条件が満たされる期間において算出された類似度の最大値である。所定の期間とは、例えば、後述する移動距離判定にて、位置決定キーフレームを更新しないと判定され続けている機関である。
判定の結果、類似度が最大値を超える場合、制御部220は、AR端末10aの位置決定キーフレーム及びAR端末10bの位置決定キーフレームを更新すると決定する。一方、類似度が最大値を超えない場合、制御部220は、AR端末10aの位置決定キーフレーム及びAR端末10bの位置決定キーフレームを更新しないと決定する。
更新先候補キーフレームの類似度が最大値を示すということは、即ち、当該更新先候補キーフレームの類似度が、現在使用されている位置決定キーフレームの類似度よりも高いことを示している。よって、現在使用されている位置決定キーフレームを類似度が最大の更新先候補キーフレームで更新することで、仮想オブジェクトの表示位置の相違を軽減することができる。
−移動距離判定
キーフレーム更新判定処理にて、位置決定キーフレームを更新するか否かは、前回位置決定キーフレームの更新時以降のAR端末10の移動距離に基づき決定されてもよい。例えば、制御部220は、AR端末10aの位置決定キーフレームの前回更新時以降のAR端末10aの移動距離と、AR端末10bの位置決定キーフレームの前回更新時以降のAR端末10bの移動距離を算出する。
なお、移動距離は、位置決定キーフレームの前回更新時の位置と、現在キーフレーム更新判定処理を行っている位置とを結ぶ直線の距離である。当該移動距離は、例えば、位置決定キーフレームの前回更新時のAR端末10の自己位置と、現在キーフレーム更新判定処理が行われている時のAR端末10の自己位置との差分から算出することができる。そのため、制御部220は、位置決定キーフレームの更新時のAR端末10の自己位置を取得し、記憶部230に保持しておく。
移動距離の算出後、制御部220は、算出した移動距離と第2の閾値とを比較し、比較結果に応じて、位置決定キーフレームを更新するか否かを決定する。
例えば、AR端末10aとAR端末10bの移動距離の内、すくなくとも一方の移動距離が第2の閾値以上である場合、制御部220は、AR端末10aの位置決定キーフレーム及びAR端末10bの位置決定キーフレームを更新すると決定する。一方、AR端末10aとAR端末10bの移動距離の内、全ての移動距離が第2の閾値以上でない場合、制御部220は、AR端末10aの位置決定キーフレーム及びAR端末10bの位置決定キーフレームを更新しないと決定する。
なお、複数のAR端末10の内、少なくとも1台のAR端末10の移動距離が第2の閾値以上であった場合、制御部220は、全てのAR端末10の位置決定キーフレームを更新すると決定する。
また、類似度による判定処理の結果と移動距離による判定処理の結果では、移動距離による判定処理の結果が優先され得る。例えば、類似度による判定処理で複数のAR端末10の更新先候補キーフレームが類似していると判定されても、移動距離による判定処理で移動距離が第2の閾値以上であると判定された場合、制御部220は、位置決定キーフレームを更新すると判定する。
これは、AR端末10が所定の距離以上を移動したことで、AR端末10の自己位置の推定に誤差が生じている可能性があるためである。複数のAR端末10の更新先候補キーフレームが類似していても、当該誤差により、仮想オブジェクトの表示位置に相違が生じる可能性がある。
なお、AR端末における自己位置推定では、例えば、SLAMによるトラッキング処理が行われる。当該トラッキング処理では、キーフレームに対応したカメラの座標位置と、慣性計測装置等のセンサの計測値に基づき算出される移動距離に基づき、AR端末10の移動距離が算出される。AR端末10の移動距離が第2の閾値以上であると、AR端末10の自己位置推定結果は慣性計測装置等のセンサの計測値に基づき算出される移動距離部分への依存が大きくなっている可能性が高い。さらに、推定結果にドリフト誤差が多く乗っている可能性も高い。
よって、制御部220は、少なくとも1台のAR端末10の移動距離が第2の閾値以上であった場合、制御部220は、全てのAR端末10の位置決定キーフレームを更新すると決定する。また、制御部220は、類似度による判定処理で複数のAR端末10の更新先候補キーフレームが類似していると判定されても、移動距離による判定処理の結果に応じて位置決定キーフレームを更新するか否かを決定する。かかる構成により、仮想オブジェクトの表示位置の相違を軽減することができる。
(3)記憶部230
記憶部230は、サーバ20における処理に関する情報を記憶する機能を有する。例えば、記憶部230は、制御部220が算出したスコアの最大値を記憶する。また、記憶部230は、各種アプリケーション等のプログラム、及びデータ等を記憶する。なお、記憶部230が記憶するデータは、上述の例に限定されない。
<1−3.処理例>
以上、本実施形態に係る機能構成例について説明した。続いて、図4〜7を参照しながら、本開示の実施形態に係る情報処理システム1000における処理例について説明する。
(1)ローカライズ処理
まず、図4及び図5を参照しながら、ローカライズ処理について説明する。図4は、標準的なローカライズ処理の流れを示すフローチャートである。図5は、本開示の実施形態に係るローカライズ処理の流れを示すフローチャートである。なお、標準的なローカライズ処理は、標準的なAR端末により行われるものとする。また、本実施形態に係るローカライズ処理は、本実施形態に係るAR端末10により行われるものとする。
(1−1)標準的なローカライズ処理
図4に示すように、まず、標準的なAR端末は、撮像画像に対して特徴点の検出と特徴量の記述を行い、2次元特徴点を取得する(S102)。次いで、標準的なAR端末は、標準的なAR端末の記憶部に記憶されているマップDBのキーフレーム群に対して、取得した2次元特徴点を用いてキーフレームの検索を行い、出力画像の生成に用いるキーフレームを取得する(S104)。次いで、標準的なAR端末は、取得したキーフレームの特徴点と撮像画像の特徴点との特徴点マッチングを行い、標準的なAR端末の初期ポーズを推定する(S106)。そして、標準的なAR端末は、取得したキーフレームと撮像画像との画像マッチングを行い、標準的なAR端末の最終ポーズを推定する(S108)。
上述の標準的なローカライズ処理は、標準的なAR端末が他の標準的なAR端末とキーフレーム等の情報を共有することは行われない。よって、標準的なAR端末では、他の標準的なAR端末との位置関係を考慮した仮想オブジェクトの表示位置の決定は行われていない。
(1−2)本実施形態に係るローカライズ処理
図5に示すように、まず、AR端末10は、撮像画像に対して特徴点の検出と特徴量の記述を行い、2次元特徴点を取得する(S202)。次いで、AR端末10は、AR端末10の記憶部150に記憶されているマップDBのキーフレーム群に対して、取得した2次元特徴点を用いてキーフレームの検索を行い、更新先候補キーフレームを取得する(S204)。次いで、AR端末10は、更新先候補キーフレームをサーバ20に送信し、サーバ20にキーフレーム更新判定処理を行わせる(S206)。なお、キーフレーム更新判定処理の詳細は、後述される。
キーフレーム更新判定処理後、AR端末10は、判定処理にて位置決定キーフレームを更新すると判定されたか否かを確認する(S208)。判定処理にて位置決定キーフレームを更新すると判定された場合(S208/YES)、AR端末10は、位置決定キーフレームを更新し(S210)、S212の処理へ進む。判定処理にて位置決定キーフレームを更新しないと判定された場合(S208/NO)、AR端末10は、位置決定キーフレームを更新せず、S212の処理へ進む。
S212では、AR端末10は、位置決定キーフレームの特徴点と撮像画像の特徴点との特徴点マッチングを行う(S212)。特徴点マッチング後、AR端末10は、特徴点がマッチングしたか否かを確認する(S214)。
特徴点がマッチングしなかった場合(S214/NO)、AR端末10は、S210から処理を繰り返す。特徴点がマッチングした場合(S214/YES)、AR端末10は、AR端末10の初期ポーズの推定を行う(S216)。そして、AR端末10は、位置決定キーフレームと撮像画像との画像マッチングを行い、AR端末10の最終ポーズを推定する(S218)。
上述の本実施形態に係るローカライズ処理は、AR端末10が他のAR端末10とサーバ20上でキーフレームを共有している。そして、AR端末10は、サーバ20によるキーフレーム更新判定処理の結果に基づき、他の標準的なAR端末との位置関係を考慮した仮想オブジェクトの表示位置を決定している。かかる構成により、複数のAR端末が同一の仮想オブジェクトを表示する場合の表示位置の相違を軽減することができる。
(2)キーフレーム更新判定処理
続いて、図6を参照しながら、本開示の実施形態に係るキーフレーム更新判定処理の流れを説明する。図6は、本開示の実施形態に係るキーフレーム更新判定処理の流れを示すフローチャートである。また、本実施形態に係るキーフレーム更新判定処理は、本実施形態に係るサーバ20により行われるものとする。
図6に示すように、まず、サーバ20は、AR端末10aが取得した更新先候補キーフレームとAR端末10bが取得した更新先候補キーフレームとの類似度を示すスコアを算出する(S302)。スコアの算出後、サーバ20は、スコアが第1の閾値以上であるか否かを確認する(S304)。
スコアが第1の閾値以上でない場合(S304/NO)、サーバ20は、位置決定キーフレームを更新すると判定し(S314)、キーフレーム更新判定処理を終了する。
スコアが第1の閾値以上である場合(S304/YES)、サーバ20は、スコアが最大値以上であるか否かを確認する(S306)。スコアが最大値以上である場合(S306/YES)、サーバ20は、スコアの最大値を更新する(S308)。最大値の更新後、サーバ20は、位置決定キーフレームを更新すると判定し(S314)、キーフレーム更新判定処理を終了する。
スコアが最大値以上でない場合(S306/NO)、サーバ20は、位置決定キーフレームの前回更新時以降、AR端末10aまたはAR端末10bの移動距離が第2の閾値以上であるか否かを確認する(S310)。
移動距離が第2の閾値以上である場合(S310/YES)、サーバ20は、スコアの最大値を0に更新する(S312)。最大値の更新後、サーバ20は、位置決定キーフレームを更新すると判定し(S314)、キーフレーム更新判定処理を終了する。
移動距離が第2の閾値以上でない場合(S310/NO)、サーバ20は、位置決定キーフレームを更新しないと判定し(S316)、キーフレーム更新判定処理を終了する。
(3)情報処理システム1000における処理
続いて、図7を参照しながら、本開示の実施形態に係る情報処理システム1000における処置の流れを説明する。図7は、本開示の実施形態に係る情報処理システム1000における処理の流れを示すシーケンス図である。
図7に示すように、まず、AR端末10aは、S202〜S204の処理の実行により更新先候補キーフレームを取得する(S402)。取得後、AR端末10aは、取得した更新先候補キーフレームをサーバ20へ送信する(S404)。同様に、AR端末10bは、S202〜S204の処理の実行により更新先候補キーフレームを取得する(S406)。取得後、AR端末10bは、取得した更新先候補キーフレームをサーバ20へ送信する(S408)。
AR端末10aとAR端末10bから更新先候補キーフレームを受信したサーバ20は、S206の実行により、キーフレーム更新判定処理を行う(S410)。キーフレーム更新判定処理後、サーバ20は、判定結果をAR端末10aとAR端末10bへ送信する(S412、S416)
サーバ20から判定結果を受信したAR端末10aは、S208〜S218の処理を実行する(S414)。同様に、サーバ20から判定結果を受信したAR端末10bは、S208〜S218の処理を実行する(S418)。
<1−4.具体例>
以上、本実施形態に係る構成例について説明した。続いて、図8a〜図11を参照しながら、本実施形態に係る具体例について説明する。以下では、位置決定キーフレームの更新に関する具体例について説明する。
(1)第1の具体例
まず、図8a及び図8bを参照しながら、ユーザ12aとユーザ12bが同じ方向を見ている際の位置決定キーフレームの更新例について説明する。図8aは、本開示の実施形態に係る第1の具体例における複数のユーザ12の位置関係を示す図である。図8bは、本開示の実施形態に係る第1の具体例における各々のユーザ12の見え方を示す図である。なお、第1の具体例における時刻は時刻tであるものとする。
図8aに示すように、AR端末10aを装着したユーザ12aの視界40aには、お化け50の仮想オブジェクトと観葉植物51の実オブジェクトが含まれている。この時、ユーザ12aには、図8bの左側に示す図のように、お化け50と観葉植物51が見えている。
また、AR端末10bを装着したユーザ12bの視界40bにも、お化け50の仮想オブジェクトと観葉植物51の実オブジェクトが含まれている。この時、ユーザ12bには、図8bの右側に示す図のように、お化け50と観葉植物51が見えている。
時刻tにおいてキーフレーム更新判定処理が行われる場合、AR端末10aは、図8bの左側の図に示す撮像画像60aに基づき、更新先候補キーフレームを決定する。また、AR端末10bは、図8bの右側の図に示す撮像画像60bに基づき、更新先候補キーフレームを取得する。撮像画像60aと撮像画像60bは類似しているため、各々の撮像画像に基づき取得される更新先候補キーフレームは、類似したものが取得される。よって、サーバ20におけるキーフレーム更新判定処理では、AR端末10が位置決定キーフレームを更新しないと判定される。そして、AR端末10aとAR端末10bでは位置決定キーフレームが更新されず、同一のキーフレームの使用が継続される。
(2)第2の具体例
続いて、図9a及び図9bを参照しながら、ユーザ12aとユーザ12bが異なる方向を見ている際の位置決定キーフレームの更新例について説明する。図9aは、本開示の実施形態に係る第2の具体例における複数のユーザ12の位置関係を示す図である。図9bは、本開示の実施形態に係る第2の具体例における各々のユーザ12の見え方を示す図である。なお、第2の具体例における時刻は時刻tであるものとする。
ユーザ12aは、第1の具体例の時刻tから、視界40aの方向及び位置を変更していない。よって、図9aに示すように、AR端末10aを装着したユーザ12aの視界40aには、お化け50の仮想オブジェクトと観葉植物51の実オブジェクトが含まれている。この時、ユーザ12aには、図9bの左側に示す図のように、お化け50と観葉植物51が見えている。
一方、ユーザ12bは、第1の具体例に示した時刻tから、位置を変更していないが視界40bの方向を変更している。よって、図9aに示すように、AR端末10bを装着したユーザ12bの視界40bには、花52の実オブジェクトのみが含まれている。この時、ユーザ12bには、図9bの右側に示す図のように、花52が見えている。
時刻tにおいてキーフレーム更新判定処理が行われる場合、AR端末10aは、図9bの左側の図に示す撮像画像60aに基づき、更新先候補キーフレームを決定する。また、AR端末10bは、図9bの右側の図に示す撮像画像60bに基づき、更新先候補キーフレームを取得する。撮像画像60aと撮像画像60bは類似していないため、各々の撮像画像に基づき取得される更新先候補キーフレームは、類似していないものが取得される。よって、サーバ20におけるキーフレーム更新判定処理では、AR端末10が位置決定キーフレームを更新すると判定される。そして、AR端末10aとAR端末10bでは位置決定キーフレームが更新される。
(3)第3の具体例
続いて、図10a及び図10bを参照しながら、ユーザ12aとユーザ12bの位置関係が変更した際の位置決定キーフレームの更新例について説明する。図10aは、本開示の実施形態に係る第3の具体例における複数のユーザ12の位置関係を示す図である。図10bは、本開示の実施形態に係る第3の具体例における各々のユーザ12の見え方を示す図である。なお、第3の具体例における時刻は時刻tであるものとする。
ユーザ12aは、第2の具体例の時刻tから、視界40aの方向及び位置を変更していない。よって、図10aに示すように、AR端末10aを装着したユーザ12aの視界40aには、お化け50の仮想オブジェクトと観葉植物51の実オブジェクトが含まれている。この時、ユーザ12aには、図10bの左側に示す図のように、お化け50と観葉植物51が見えている。
一方、ユーザ12bは、第2の具体例に示した時刻tから、視界40bの方向を変更しているが、第1の具体例の時刻tと同一の方向に変更している。よって、図10aに示すように、AR端末10bを装着したユーザ12bの視界40bには、お化け50の仮想オブジェクトと観葉植物51の実オブジェクトが含まれている。この時、ユーザ12bには、図10bの右側に示す図のように、お化け50と観葉植物51が見えている。しかしながら、ユーザ12bは、第2の具体例に示した時刻tから、移動距離が第2の閾値以上となるように位置を変更している。
時刻tにおいてキーフレーム更新判定処理が行われる場合、AR端末10aは、図10bの左側の図に示す撮像画像60aに基づき、更新先候補キーフレームを決定する。また、AR端末10bは、図10bの右側の図に示す撮像画像60bに基づき、更新先候補キーフレームを取得する。撮像画像60aと撮像画像60bは類似しているため、各々の撮像画像に基づき取得される更新先候補キーフレームは、類似しているものが取得される。しかしながら、ユーザ12bの移動距離が第2の閾値以上であるため、サーバ20におけるキーフレーム更新判定処理では、位置決定キーフレームを更新すると判定される。そして、AR端末10aとAR端末10bでは位置決定キーフレームが更新される。
(4)第4の具体例
最後に、図11を参照しながら、上述した第1の具体例〜第3の具体例における位置決定キーフレームの時系列変化について説明する。図11は、本開示の実施形態に係る第4の具体例におけるキーフレームの時系列変化を示す図である。
図11に示す表は、AR端末10aとAR端末10bの位置決定キーフレームの時系列変化を示している。なお、AR端末10aでは、位置決定キーフレーム1〜5が使用され、AR端末10bでは、位置決定キーフレーム6〜10が使用されるものとする。
まず、時刻tから時刻tの間では、AR端末10aの位置決定キーフレームは、位置決定キーフレーム3、5、4、1の順に変化している。同様にまた、AR端末10bの位置決定キーフレームは、位置決定キーフレーム8、10、9、7の順に変化している。
上述の第1の具体例で示したように、時刻tにおけるキーフレーム更新判定処理では、AR端末10が位置決定キーフレームを更新しないと判定されている。そのため、時刻tから時刻tになるまで、AR端末10aでは位置決定キーフレーム1が使用され続け、AR端末10bでは位置決定キーフレーム7が使用され続けている。
上述の第2の具体例で示したように、時刻tにおけるキーフレーム更新判定処理では、AR端末10が位置決定キーフレームを更新すると判定されている。そのため、時刻tから時刻tになるまで、AR端末10aの位置決定キーフレームは、位置決定キーフレーム3、1、2、1、4の順に変化している。同様に、AR端末10bの位置決定キーフレームは、位置決定キーフレーム6、9、6、8、10の順に変化している。
上述の第3の具体例で示したように、時刻tにおけるキーフレーム更新判定処理では、AR端末10が位置決定キーフレームを更新すると判定されている。そのため、時刻tに以降、AR端末10aの位置決定キーフレームは、位置決定キーフレーム4、1、3、・・・の順に変化している。同様に、AR端末10bの位置決定キーフレームは、位置決定キーフレーム10、9、10、・・・の順に変化している。
<1−5.変形例>
以下では、本開示の実施形態の変形例を説明する。なお、以下に説明する変形例は、単独で本開示の実施形態に適用されてもよいし、組み合わせで本開示の実施形態に適用されてもよい。また、変形例は、本開示の実施形態で説明した構成に代えて適用されてもよいし、本開示の実施形態で説明した構成に対して追加的に適用されてもよい。
(1)第1の変形例
上述の実施形態では、同一の仮想オブジェクトを共有するAR端末10が2台(ユーザ12が2人)である例について説明したが、同一の仮想オブジェクトを共有するAR端末10の台数は特に限定されず、任意の台数であってよい。以下では、図12を参照しながら、同一の仮想オブジェクトを共有するAR端末10が3台である例について説明する。図12は、本開示の実施形態に係る第1の変形例におけるキーフレーム更新判定処理の流れを示すフローチャートである。
サーバ20は、同一の仮想オブジェクトを共有する全てのAR端末10から、更新先候補キーフレームを受信し、受信した更新先候補キーフレームの全組み合わせを考慮したキーフレーム更新判定処理を行う。例えば、サーバ20は、受信した更新先候補キーフレームの全組み合わせにおける類似度のスコアを算出し、算出したスコアと最大値との比較を行う。また、サーバ20は、全てのAR端末10の移動距離と第2の閾値との比較を行う。
かかる構成により、サーバ20は、同一の仮想オブジェクトを共有するAR端末10が3台以上であっても、キーフレーム更新判定処理を行うことができる。また、3台以上のAR端末10の各々は、当該キーフレーム更新判定処理の結果に基づき、3台以上の表示端末が同一の仮想オブジェクトを表示する場合の表示位置の相違を軽減することができる。
ここで、図12を参照しながら、第1の変形例におけるキーフレーム更新判定処理の流れを説明する。図12に示すように、サーバ20は、まず、N台のAR端末10から2台のAR端末10を選択する場合の全組み合わせ(通り)において、更新先候補キーフレームの類似度を示すスコアを算出する(S502)。本変形例では、AR端末10の台数は3台であるため、組み合わせは=3通りである。
個のスコアの算出後、サーバ20は、個のスコアが第1の閾値以上であるか否かを確認する(S504)。本変形例では、個のスコアが第1の閾値以上であるか否かを確認する。
スコアが第1の閾値以上でない場合(S504/NO)、サーバ20は、位置決定キーフレームを更新すると判定し(S514)、キーフレーム更新判定処理を終了する。
スコアが第1の閾値以上である場合(S504/YES)、サーバ20は、個のスコアの少なくともいずれか1個のスコアが最大値以上であるか否かを確認する(S506)。少なくともいずれか1個のスコアが最大値以上である場合(S506/YES)、サーバ20は、スコアの最大値を更新する(S508)。最大値の更新後、サーバ20は、位置決定キーフレームを更新すると判定し(S514)、キーフレーム更新判定処理を終了する。
全てのスコアが最大値以上でない場合(S506/NO)、サーバ20は、位置決定キーフレームの前回更新時以降、N台のAR端末10の少なくともいずれか1台の移動距離が第2の閾値以上であるか否かを確認する(S510)。
少なくともいずれか1台の移動距離が第2の閾値以上である場合(S510/YES)、サーバ20は、スコアの最大値を0に更新する(S512)。最大値の更新後、サーバ20は、位置決定キーフレームを更新すると判定し(S514)、キーフレーム更新判定処理を終了する。
少なくともいずれか1台の移動距離が所定の閾値以上でない場合(S510/NO)、サーバ20は、位置決定キーフレームを更新しないと判定し(S516)、キーフレーム更新判定処理を終了する。
(2)第2の変形例
上述の実施形態では、複数のAR端末10が同時刻において同一の仮想オブジェクトを共有する例について説明したが、複数のAR端末10が同一の仮想オブジェクトを共有する時刻は異なっていてもよい。以下では、図13を参照しながら、複数のAR端末10が同一の仮想オブジェクトを共有する時刻が異なる例について説明する。図13は、本開示の実施形態に係る第2の変形例におけるキーフレーム更新判定処理の流れを示すフローチャートである。
ある時刻tに、仮想オブジェクトが表示される所定の位置において、AR端末10aのユーザ12aが、仮想オブジェクトを見たとする。ユーザ12aが当該仮想オブジェクトを見た時刻とは異なる時刻tにて、同じ所定の位置にて同じ仮想オブジェクトを見たとする。この時、ユーザ12bのAR端末10bには、ユーザ12aが仮想オブジェクトを見た時と同じように仮想オブジェクトが表示されるべきである。
具体例として、AR謎解きゲームやAR脱出ゲーム等が挙げられる。例えば、ユーザ12aが部屋のある位置に仮想物を置き、部屋から去ったとする。続いて、ユーザ12bが同じ部屋に入り、ユーザ12aが置いた仮想物の位置を把握する必要があるとする。この時、ユーザ12aが置いた仮想物の位置を、ユーザ12bが正確に把握しないとゲームの進行に影響を及ぼす恐れがある。例えば、部屋の中に赤い椅子と青い椅子があり、ユーザ12aが仮想物を赤い椅子の上に置いたとする。しかしながら、ユーザ12bが当該仮想物を見た時に位置ずれが生じ、仮想物が青い椅子の上に表示されたとする。この場合、ユーザ12bは、ユーザ12aが仮想物を置いた位置の正解を知ることができず、ゲームをクリアできなくなってしまう。
これを解消するためには、異なる時系列であっても、サーバ20がAR端末10aの更新先候補キーフレームとAR端末10bの更新先候補キーフレームとに基づき、仮想オブジェクトの表示を制御する必要がある。しかしながら、時刻tには、ユーザ12aのAR端末10aがユーザ12bのAR端末10bと同じ位置にいないため、サーバ20は、当該位置におけるAR端末10aの更新先候補キーフレームを取得することができない。
そこで、サーバ20の制御部220は、所定の位置と特定の位置関係にあるAR端末10aの動作状態と、AR端末10aの動作状態とは異なる時系列における所定の位置と特定の関係にあるAR端末10bの動作状態との類似度を算出し、キーフレーム更新判定処理を行う。
所定の位置との特定の位置関係は、例えば、ユーザ12が所定の位置に表示される仮想オブジェクトを見ている時の所定の位置とAR端末10の位置関係である。よって、所定の位置との特定の位置関係にあるAR端末10の動作状態は、言い換えれば、ユーザ12が所定の位置に表示される仮想オブジェクトを見ている時のAR端末10の動作状態のことである。
例えば、サーバ20は、所定の位置に表示される仮想オブジェクトを最初に見たユーザ12aのAR端末10aの動作状態に基づき取得された位置決定キーフレームを、リファレンスとなるキーフレーム(以下、「キーフレームX」とも称される)として取得しておく。ユーザ12aとは異なる時刻に、ユーザ12bが所定の位置に表示される仮想オブジェクトを見た時、サーバ20は、ユーザ12bのAR端末10bの動作状態に基づき取得された更新先候補キーフレームを取得する。そして、サーバ20は、キーフレームXとAR端末10bの更新先候補キーフレームとの類似度を算出し、キーフレーム更新判定処理を行う。
かかる構成により、複数のユーザが同一の仮想オブジェクトを見る時刻が同一でなくても、複数の表示端末が同一の仮想オブジェクトを表示する場合の表示位置の相違を軽減することができる。
ここで、図13を参照しながら、第2の変形例におけるキーフレーム更新判定処理の流れを説明する。なお、最初に所定の位置を見たユーザ12aのAR端末10aの位置決定キーフレームが、キーフレームXであるものとする。また、キーフレーム更新判定処理は、ユーザ12bがユーザ12aよりも遅い時刻に所定の位置を見た時に実行されたものとする。
図13に示すように、サーバ20は、まず、AR端末10bの位置決定キーフレームとキーフレームXとの類似度を示すスコアを算出する(S602)。スコアの算出後、サーバ20は、スコアが第1の閾値以上であるか否かを確認する(S604)。
スコアが第1の閾値以上でない場合(S604/NO)、サーバ20は、位置決定キーフレームを更新すると判定し(S614)、キーフレーム更新判定処理を終了する。
スコアが第1の閾値以上である場合(S604/YES)、サーバ20は、スコアが最大値以上であるか否かを確認する(S606)。スコアが最大値以上である場合(S606/YES)、サーバ20は、スコアの最大値を更新する(S608)。最大値の更新後、サーバ20は、位置決定キーフレームを更新すると判定し(S614)、キーフレーム更新判定処理を終了する。
スコアが最大値以上でない場合(S606/NO)、サーバ20は、位置決定キーフレームの前回更新時以降、AR端末10aまたはAR端末10bの移動距離が第2の閾値以上であるか否かを確認する(S610)。
移動距離が第2の閾値以上である場合(S610/YES)、サーバ20は、スコアの最大値を0に更新する(S612)。最大値の更新後、サーバ20は、位置決定キーフレームを更新すると判定し(S614)、キーフレーム更新判定処理を終了する。
移動距離が第2の閾値以上でない場合(S610/NO)、サーバ20は、位置決定キーフレームを更新しないと判定し(S616)、キーフレーム更新判定処理を終了する。
<<2.第2の実施形態>>
以上、第1の実施形態について説明した。続いて、本開示の第2の実施形態について説明する。上述の実施形態では、キーフレーム更新判定処理がサーバ20にて行われる例を説明したが、キーフレーム更新処理はAR端末10で行われてもよい。
第2の実施形態に係るAR端末10は、第1の実施形態で説明したAR端末10の機能に加え、第1の実施形態で説明したサーバ20の制御部220と同一の機能をさらに有する。かかる構成により、第2の実施形態に係るAR端末10は、サーバ20に依存することなく、キーフレーム更新判定処理を行うことができる。
なお、キーフレーム更新判定処理を実行可能なAR端末10が複数存在する場合、各AR端末10の処理能力に応じて、キーフレーム更新判定処理を行うAR端末が決定されてもよい。例えば、処理能力に最も余裕があるAR端末が、キーフレーム更新判定処理を行うと決定される。
<<3.ハードウェア構成例>>
最後に、図14を参照しながら、本実施形態に係る情報処理装置のハードウェア構成例について説明する。図14は、本実施形態に係る情報処理装置のハードウェア構成例を示すブロック図である。なお、図14に示す情報処理装置900は、例えば、図3に示したサーバ20を実現し得る。本実施形態に係るサーバ20に処理は、ソフトウェアと、以下に説明するハードウェアとの協働により実現される。
図14に示すように、情報処理装置900は、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、及びRAM(Random Access Memory)903を備える。また、情報処理装置900は、ホストバス904、ブリッジ905、外部バス906、インタフェース907、入力装置908、出力装置909、ストレージ装置910、ドライブ911、接続ポート912、及び通信装置913を備える。なお、ここで示すハードウェア構成は一例であり、構成要素の一部が省略されてもよい。また、ハードウェア構成は、ここで示される構成要素以外の構成要素をさらに含んでもよい。
CPU901は、例えば、演算処理装置又は制御装置として機能し、ROM902、RAM903、又はストレージ装置910に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM902は、CPU901に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM903には、例えば、CPU901に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。これらはCPUバスなどから構成されるホストバス904により相互に接続されている。CPU901、ROM902およびRAM903は、例えば、ソフトウェアとの協働により、図3を参照して説明した制御部220の機能を実現し得る。
CPU901、ROM902、及びRAM903は、例えば、高速なデータ伝送が可能なホストバス904を介して相互に接続される。一方、ホストバス904は、例えば、ブリッジ905を介して比較的データ伝送速度が低速な外部バス906に接続される。また、外部バス906は、インタフェース907を介して種々の構成要素と接続される。
入力装置908は、例えば、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチ及びレバー等、ユーザによって情報が入力される装置によって実現される。また、入力装置908は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置900の操作に対応した携帯電話やPDA等の外部接続機器であってもよい。さらに、入力装置908は、例えば、上記の入力手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、CPU901に出力する入力制御回路などを含んでいてもよい。情報処理装置900のユーザは、この入力装置908を操作することにより、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりすることができる。
他にも、入力装置908は、ユーザに関する情報を検知する装置により形成され得る。例えば、入力装置908は、画像センサ(例えば、カメラ)、深度センサ(例えば、ステレオカメラ)、加速度センサ、ジャイロセンサ、地磁気センサ、光センサ、音センサ、測距センサ(例えば、ToF(Time of Flight)センサ)、力センサ等の各種のセンサを含み得る。また、入力装置908は、情報処理装置900の姿勢、移動速度等、情報処理装置900自身の状態に関する情報や、情報処理装置900の周辺の明るさや騒音等、情報処理装置900の周辺環境に関する情報を取得してもよい。また、入力装置908は、GNSS(Global Navigation Satellite System)衛星からのGNSS信号(例えば、GPS(Global Positioning System)衛星からのGPS信号)を受信して装置の緯度、経度及び高度を含む位置情報を測定するGNSSモジュールを含んでもよい。また、位置情報に関しては、入力装置908は、Wi−Fi(登録商標)、携帯電話・PHS・スマートフォン等との送受信、または近距離通信等により位置を検知するものであってもよい。
出力装置909は、取得した情報をユーザに対して視覚的又は聴覚的に通知することが可能な装置で形成される。このような装置として、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置、レーザープロジェクタ、LEDプロジェクタ及びランプ等の表示装置や、スピーカ及びヘッドフォン等の音声出力装置や、プリンタ装置等がある。出力装置909は、例えば、情報処理装置900が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置900が行った各種処理により得られた結果を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。
ストレージ装置910は、情報処理装置900の記憶部の一例として形成されたデータ格納用の装置である。ストレージ装置910は、例えば、HDD等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等により実現される。ストレージ装置910は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。このストレージ装置910は、CPU901が実行するプログラムや各種データ及び外部から取得した各種のデータ等を格納する。ストレージ装置910は、例えば、図3を参照して説明した記憶部230の機能を実現し得る。
ドライブ911は、記憶媒体用リーダライタであり、情報処理装置900に内蔵、あるいは外付けされる。ドライブ911は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体に記録されている情報を読み出して、RAM903に出力する。また、ドライブ911は、リムーバブル記憶媒体に情報を書き込むこともできる。
接続ポート912は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS−232Cポート、又は光オーディオ端子等のような外部接続機器を接続するためのポートである。
通信装置913は、例えば、ネットワーク920に接続するための通信デバイス等で形成された通信インタフェースである。通信装置913は、例えば、有線若しくは無線LAN(Local Area Network)、LTE(Long Term Evolution)、Bluetooth(登録商標)又はWUSB(Wireless USB)用の通信カード等である。また、通信装置913は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ又は各種通信用のモデム等であってもよい。この通信装置913は、例えば、インターネットや他の通信機器との間で、例えばTCP/IP等の所定のプロトコルに則して信号等を送受信することができる。通信装置913は、例えば、図3を参照して説明した通信部210の機能を実現し得る。
なお、ネットワーク920は、ネットワーク920に接続されている装置から送信される情報の有線、または無線の伝送路である。例えば、ネットワーク920は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、WAN(Wide Area Network)などを含んでもよい。また、ネットワーク920は、IP−VPN(Internet Protocol−Virtual Private Network)などの専用回線網を含んでもよい。
以上、本実施形態に係る情報処理装置900の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて実現されていてもよいし、各構成要素の機能に特化したハードウェアにより実現されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
<<4.補足>>
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
また、本明細書において説明した各装置による一連の処理は、ソフトウェア、ハードウェア、及びソフトウェアとハードウェアとの組合せのいずれを用いて実現されてもよい。ソフトウェアを構成するプログラムは、例えば、各装置の内部又は外部に設けられる記録媒体(非一時的な媒体:non−transitory media)に予め格納される。そして、各プログラムは、例えば、コンピュータによる実行時にRAMに読み込まれ、CPUなどのプロセッサにより実行される。
また、本明細書においてフローチャート及びシーケンス図を用いて説明した処理は、必ずしも図示された順序で実行されなくてもよい。いくつかの処理ステップは、並列的に実行されてもよい。また、追加的な処理ステップが採用されてもよく、一部の処理ステップが省略されてもよい。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
実空間に関連付けられた座標系を用いて仮想オブジェクトを前記実空間に配置する表示端末を制御する制御部、
を備え、
前記制御部は、第1の表示端末の第1の動作状態と、前記第1の表示端末と前記仮想オブジェクトを共有する第2の表示端末の第2の動作状態とに基づき、前記仮想オブジェクトの位置の決定に用いられる前記第1の表示端末の第1の空間情報及び前記第2の表示端末の第2の空間情報を更新するか否かを決定する、情報処理装置。
(2)
前記制御部は、前記第1の動作状態と前記第2の動作状態とが類似しているか否かに応じて、前記第1の空間情報及び前記第2の空間情報を更新するか否かを決定する、前記(1)に記載の情報処理装置。
(3)
前記第1の動作状態と前記第2の動作状態とが類似している場合、
前記制御部は、前記第1の空間情報及び前記第2の空間情報を更新しないと決定し、
前記第1の動作状態と前記第2の動作状態とが類似していない場合、
前記制御部は、前記第1の空間情報及び前記第2の空間情報を更新すると決定する、前記(2)に記載の情報処理装置。
(4)
前記制御部は、前記第1の動作状態と前記第2の動作状態との類似度を算出し、前記類似度と第1の閾値との比較結果に応じて、前記第1の動作状態と前記第2の動作状態とが類似しているか否かを判定する、前記(2)または(3)に記載の情報処理装置。
(5)
前記制御部は、前記第1の動作状態において前記第1の表示端末が取得した更新先候補である第3の空間情報と、前記第2の動作状態において前記第2の表示端末が取得した更新先候補である第4の空間情報とに基づき、前記類似度を算出する、前記(4)に記載の情報処理装置。
(6)
前記制御部は、前記第3の空間情報に含まれる特徴点と、前記第4の空間情報に含まれる特徴点とのマッチング処理を行い、マッチングした特徴点の数に基づいて前記類似度を算出する、前記(5)に記載の情報処理装置。
(7)
前記制御部は、前記第1の表示端末と前記第2の表示端末との位置関係に応じて、前記第1の閾値を変更する、前記(4)に記載の情報処理装置。
(8)
前記制御部は、前記類似度が第3の閾値を超えるか否かに応じて、前記第1の空間情報及び前記第2の空間情報を更新するか否かをさらに決定し、
前記第3の閾値は、所定の条件が満たされる期間において算出された類似度の最大値である、前記(4)〜(7)のいずれか1項に記載の情報処理装置。
(9)
前記類似度が前記第3の閾値を超える場合、
前記制御部は、前記第1の空間情報及び前記第2の空間情報を更新すると決定し、
前記類似度が前記第3の閾値を超えない場合、
前記制御部は、前記第1の空間情報及び前記第2の空間情報を更新しないと決定する、前記(8)に記載の情報処理装置。
(10)
前記制御部は、前記第1の空間情報及び前記第2の空間情報の前回更新時以降の前記第1の表示端末の移動距離または前記第2の表示端末の移動距離に応じて、前記第1の空間情報及び前記第2の空間情報を更新するか否かをさらに決定する、前記(2)〜(9)のいずれか1項に記載の情報処理装置。
(11)
前記移動距離が第2の閾値以上である場合、
前記制御部は、前記第1の空間情報及び前記第2の空間情報を更新すると決定し、
前記移動距離が第2の閾値以上でない場合、
前記制御部は、前記第1の空間情報及び前記第2の空間情報を更新しないと決定する、前記(10)に記載の情報処理装置。
(12)
前記制御部は、所定の位置と特定の位置関係にある前記第1の動作状態と、前記第1の動作状態とは異なる時系列における前記所定の位置と特定の関係にある前記第2の動作状態との前記類似度を算出する、前記(4)に記載の情報処理装置。
(13)
第1のユーザに対して、仮想オブジェクトを提示する第1の出力装置を有する出力部と、
実空間に関連付けた座標系に配置する前記仮想オブジェクトの位置を決定する制御部と、
を備え、
前記制御部は、前記第1の出力装置の第1の動作状態と、前記第1の出力装置と前記仮想オブジェクトを共有する外部の第2の出力装置の第2の動作状態とに基づき、前記仮想オブジェクトの位置の決定に用いられる前記第1の出力装置の第1の空間情報及び前記第2の出力装置の第2の空間情報を更新するか否かを決定する、情報処理装置。
(14)
実空間に関連付けられた座標系を用いて仮想オブジェクトを前記実空間に配置する表示端末を制御することと、
第1の表示端末の第1の動作状態と、前記第1の表示端末と前記仮想オブジェクトを共有する第2の表示端末の第2の動作状態とに基づき、前記仮想オブジェクトの位置の決定に用いられる前記第1の表示端末の第1の空間情報及び前記第2の表示端末の第2の空間情報を更新するか否かを決定することと、
を含む、プロセッサにより実行される情報処理方法。
(15)
コンピュータに、
実空間に関連付けられた座標系を用いて仮想オブジェクトを前記実空間に配置する表示端末を制御することと、
第1の表示端末の第1の動作状態と、前記第1の表示端末と前記仮想オブジェクトを共有する第2の表示端末の第2の動作状態とに基づき、前記仮想オブジェクトの位置の決定に用いられる前記第1の表示端末の第1の空間情報及び前記第2の表示端末の第2の空間情報を更新するか否かを決定することと、
を実行させるためのプログラムが記録された記録媒体。
10 AR端末
12 ユーザ
20 サーバ
30 ネットワーク
120 通信部
130 センサ部
140 制御部
150 記憶部
160 出力部
210 通信部
220 制御部
230 記憶部
1000 情報処理システム
1402 周辺状況情報取得部
1404 周辺状況情報管理部
1406 空間情報取得部
1408 空間情報管理部
1410 画像出力制御部
1412 出力画像生成部

Claims (15)

  1. 実空間に関連付けられた座標系を用いて仮想オブジェクトを前記実空間に配置する表示端末を制御する制御部、
    を備え、
    前記制御部は、第1の表示端末の第1の動作状態と、前記第1の表示端末と前記仮想オブジェクトを共有する第2の表示端末の第2の動作状態とに基づき、前記仮想オブジェクトの位置の決定に用いられる前記第1の表示端末の第1の空間情報及び前記第2の表示端末の第2の空間情報を更新するか否かを決定する、情報処理装置。
  2. 前記制御部は、前記第1の動作状態と前記第2の動作状態とが類似しているか否かに応じて、前記第1の空間情報及び前記第2の空間情報を更新するか否かを決定する、請求項1に記載の情報処理装置。
  3. 前記第1の動作状態と前記第2の動作状態とが類似している場合、
    前記制御部は、前記第1の空間情報及び前記第2の空間情報を更新しないと決定し、
    前記第1の動作状態と前記第2の動作状態とが類似していない場合、
    前記制御部は、前記第1の空間情報及び前記第2の空間情報を更新すると決定する、請求項2に記載の情報処理装置。
  4. 前記制御部は、前記第1の動作状態と前記第2の動作状態との類似度を算出し、前記類似度と第1の閾値との比較結果に応じて、前記第1の動作状態と前記第2の動作状態とが類似しているか否かを判定する、請求項2に記載の情報処理装置。
  5. 前記制御部は、前記第1の動作状態において前記第1の表示端末が取得した更新先候補である第3の空間情報と、前記第2の動作状態において前記第2の表示端末が取得した更新先候補である第4の空間情報とに基づき、前記類似度を算出する、請求項4に記載の情報処理装置。
  6. 前記制御部は、前記第3の空間情報に含まれる特徴点と、前記第4の空間情報に含まれる特徴点とのマッチング処理を行い、マッチングした特徴点の数に基づいて前記類似度を算出する、請求項5に記載の情報処理装置。
  7. 前記制御部は、前記第1の表示端末と前記第2の表示端末との位置関係に応じて、前記第1の閾値を変更する、請求項4に記載の情報処理装置。
  8. 前記制御部は、前記類似度が第3の閾値を超えるか否かに応じて、前記第1の空間情報及び前記第2の空間情報を更新するか否かをさらに決定し、
    前記第3の閾値は、所定の条件が満たされる期間において算出された類似度の最大値である、請求項4に記載の情報処理装置。
  9. 前記類似度が前記第3の閾値を超える場合、
    前記制御部は、前記第1の空間情報及び前記第2の空間情報を更新すると決定し、
    前記類似度が前記第3の閾値を超えない場合、
    前記制御部は、前記第1の空間情報及び前記第2の空間情報を更新しないと決定する、請求項8に記載の情報処理装置。
  10. 前記制御部は、前記第1の空間情報及び前記第2の空間情報の前回更新時以降の前記第1の表示端末の移動距離または前記第2の表示端末の移動距離に応じて、前記第1の空間情報及び前記第2の空間情報を更新するか否かをさらに決定する、請求項2に記載の情報処理装置。
  11. 前記移動距離が第2の閾値以上である場合、
    前記制御部は、前記第1の空間情報及び前記第2の空間情報を更新すると決定し、
    前記移動距離が第2の閾値以上でない場合、
    前記制御部は、前記第1の空間情報及び前記第2の空間情報を更新しないと決定する、請求項10に記載の情報処理装置。
  12. 前記制御部は、所定の位置と特定の位置関係にある前記第1の動作状態と、前記第1の動作状態とは異なる時系列における前記所定の位置と特定の関係にある前記第2の動作状態との前記類似度を算出する、請求項4に記載の情報処理装置。
  13. 第1のユーザに対して、仮想オブジェクトを提示する第1の出力装置を有する出力部と、
    実空間に関連付けた座標系に配置する前記仮想オブジェクトの位置を決定する制御部と、
    を備え、
    前記制御部は、前記第1の出力装置の第1の動作状態と、前記第1の出力装置と前記仮想オブジェクトを共有する外部の第2の出力装置の第2の動作状態とに基づき、前記仮想オブジェクトの位置の決定に用いられる前記第1の出力装置の第1の空間情報及び前記第2の出力装置の第2の空間情報を更新するか否かを決定する、情報処理装置。
  14. 実空間に関連付けられた座標系を用いて仮想オブジェクトを前記実空間に配置する表示端末を制御することと、
    第1の表示端末の第1の動作状態と、前記第1の表示端末と前記仮想オブジェクトを共有する第2の表示端末の第2の動作状態とに基づき、前記仮想オブジェクトの位置の決定に用いられる前記第1の表示端末の第1の空間情報及び前記第2の表示端末の第2の空間情報を更新するか否かを決定することと、
    を含む、プロセッサにより実行される情報処理方法。
  15. コンピュータに、
    実空間に関連付けられた座標系を用いて仮想オブジェクトを前記実空間に配置する表示端末を制御することと、
    第1の表示端末の第1の動作状態と、前記第1の表示端末と前記仮想オブジェクトを共有する第2の表示端末の第2の動作状態とに基づき、前記仮想オブジェクトの位置の決定に用いられる前記第1の表示端末の第1の空間情報及び前記第2の表示端末の第2の空間情報を更新するか否かを決定することと、
    を実行させるためのプログラムが記録された記録媒体。
JP2019075688A 2019-04-11 2019-04-11 情報処理装置、情報処理方法、及び記録媒体 Pending JP2020173656A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2019075688A JP2020173656A (ja) 2019-04-11 2019-04-11 情報処理装置、情報処理方法、及び記録媒体
US17/438,771 US20220164981A1 (en) 2019-04-11 2020-04-03 Information processing device, information processing method, and recording medium
PCT/JP2020/015326 WO2020209199A1 (ja) 2019-04-11 2020-04-03 情報処理装置、情報処理方法、及び記録媒体
DE112020001867.9T DE112020001867T5 (de) 2019-04-11 2020-04-03 Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren und aufzeichnungsmedium
CN202080026525.6A CN113678171A (zh) 2019-04-11 2020-04-03 信息处理装置、信息处理方法和记录介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019075688A JP2020173656A (ja) 2019-04-11 2019-04-11 情報処理装置、情報処理方法、及び記録媒体

Publications (1)

Publication Number Publication Date
JP2020173656A true JP2020173656A (ja) 2020-10-22

Family

ID=72751572

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019075688A Pending JP2020173656A (ja) 2019-04-11 2019-04-11 情報処理装置、情報処理方法、及び記録媒体

Country Status (5)

Country Link
US (1) US20220164981A1 (ja)
JP (1) JP2020173656A (ja)
CN (1) CN113678171A (ja)
DE (1) DE112020001867T5 (ja)
WO (1) WO2020209199A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9589000B2 (en) * 2012-08-30 2017-03-07 Atheer, Inc. Method and apparatus for content association and history tracking in virtual and augmented reality
US20220172386A1 (en) * 2020-11-27 2022-06-02 Samsung Electronics Co., Ltd. Method and device for simultaneous localization and mapping (slam)
US11831973B2 (en) * 2021-08-05 2023-11-28 Qualcomm Incorporated Camera setting adjustment based on event mapping

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5158007B2 (ja) * 2009-04-28 2013-03-06 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
JP5499762B2 (ja) * 2010-02-24 2014-05-21 ソニー株式会社 画像処理装置、画像処理方法、プログラム及び画像処理システム
US20140323148A1 (en) 2013-04-30 2014-10-30 Qualcomm Incorporated Wide area localization from slam maps
JP2015192436A (ja) * 2014-03-28 2015-11-02 キヤノン株式会社 送信端末、受信端末、送受信システム、およびそのプログラム
US20170169617A1 (en) * 2015-12-14 2017-06-15 II Jonathan M. Rodriguez Systems and Methods for Creating and Sharing a 3-Dimensional Augmented Reality Space
US10812936B2 (en) * 2017-01-23 2020-10-20 Magic Leap, Inc. Localization determination for mixed reality systems
US10347037B2 (en) * 2017-05-31 2019-07-09 Verizon Patent And Licensing Inc. Methods and systems for generating and providing virtual reality data that accounts for level of detail
US10297087B2 (en) * 2017-05-31 2019-05-21 Verizon Patent And Licensing Inc. Methods and systems for generating a merged reality scene based on a virtual object and on a real-world object represented from different vantage points in different video data streams
US10311630B2 (en) * 2017-05-31 2019-06-04 Verizon Patent And Licensing Inc. Methods and systems for rendering frames of a virtual scene from different vantage points based on a virtual entity description frame of the virtual scene
WO2019026713A1 (ja) * 2017-08-04 2019-02-07 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム

Also Published As

Publication number Publication date
DE112020001867T5 (de) 2022-01-20
WO2020209199A1 (ja) 2020-10-15
US20220164981A1 (en) 2022-05-26
CN113678171A (zh) 2021-11-19

Similar Documents

Publication Publication Date Title
EP2774022B1 (en) Amplifying audio-visual data based on user's head orientation
JP6780642B2 (ja) 情報処理装置、情報処理方法及びプログラム
US20220006973A1 (en) Placement of virtual content in environments with a plurality of physical participants
US11340072B2 (en) Information processing apparatus, information processing method, and recording medium
JP2022000640A (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
WO2020209199A1 (ja) 情報処理装置、情報処理方法、及び記録媒体
US11250636B2 (en) Information processing device, information processing method, and program
JP2017129904A (ja) 情報処理装置、情報処理方法、及び記録媒体
US11670157B2 (en) Augmented reality system
JP2021060627A (ja) 情報処理装置、情報処理方法、およびプログラム
US20200211275A1 (en) Information processing device, information processing method, and recording medium
KR20220145807A (ko) 신경 네트워크를 사용한 깊이 추정
CN113260954B (zh) 基于人工现实的用户群组
TWI813068B (zh) 計算系統、用於識別可控制裝置之位置之方法及非暫時性電腦可讀媒體
WO2022176450A1 (ja) 情報処理装置、情報処理方法、およびプログラム
US11908055B2 (en) Information processing device, information processing method, and recording medium
US20220253196A1 (en) Information processing apparatus, information processing method, and recording medium
US20230120092A1 (en) Information processing device and information processing method
WO2019026392A1 (ja) 情報処理装置、情報処理方法、およびプログラム

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190515

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190522