JPWO2020066682A1 - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
JPWO2020066682A1
JPWO2020066682A1 JP2020548455A JP2020548455A JPWO2020066682A1 JP WO2020066682 A1 JPWO2020066682 A1 JP WO2020066682A1 JP 2020548455 A JP2020548455 A JP 2020548455A JP 2020548455 A JP2020548455 A JP 2020548455A JP WO2020066682 A1 JPWO2020066682 A1 JP WO2020066682A1
Authority
JP
Japan
Prior art keywords
display
virtual object
user
parameter
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.)
Granted
Application number
JP2020548455A
Other languages
English (en)
Other versions
JP7405085B2 (ja
Inventor
敦 石原
敦 石原
浩丈 市川
浩丈 市川
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
Sony Group Corp
Original Assignee
Sony Corp
Sony Group 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, Sony Group Corp filed Critical Sony Corp
Publication of JPWO2020066682A1 publication Critical patent/JPWO2020066682A1/ja
Application granted granted Critical
Publication of JP7405085B2 publication Critical patent/JP7405085B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/32Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections
    • A63F13/327Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections using wireless networks, e.g. Wi-Fi® or piconet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5252Changing parameters of virtual cameras using two or more virtual cameras concurrently or sequentially, e.g. automatically switching between fixed virtual cameras when a character changes room or displaying a rear-mirror view in a car-driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5255Changing parameters of virtual cameras according to dedicated instructions from a player, e.g. using a secondary joystick to rotate the camera around a player's character
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • 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
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • 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
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/37Details of the operation on graphic patterns
    • G09G5/377Details of the operation on graphic patterns for mixing or overlaying two or more graphic patterns
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6653Methods for processing data by generating or executing the game program for rendering three dimensional images for altering the visibility of an object, e.g. preventing the occlusion of an object, partially hiding an object
    • 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/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/62Semi-transparency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/024Multi-user, collaborative environment
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Optics & Photonics (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Position Input By Displaying (AREA)

Abstract

本開示は、仮想オブジェクトを遮蔽する際に視認性を担保することができるようにする情報処理装置、情報処理方法、及びプログラムに関する。
表示装置の第1のユーザから見て、表示装置によって表示される仮想オブジェクトが少なくとも1つの実オブジェクトによって隠れると判定される第1の状態において、第1の表示パラメータを用いて仮想オブジェクトを表示し、第1のユーザから見て、仮想オブジェクトが第1の状態よりも多くの実オブジェクトによって隠れると判定される第2の状態において、第1の表示パラメータと異なる第2の表示パラメータを用いて仮想オブジェクトを表示するように表示装置を制御する表示制御部を備える情報処理装置が提供される。本開示は、例えば、拡張現実システムを構成する機器に適用することができる。

Description

本開示は、情報処理装置、情報処理方法、及びプログラムに関し、特に、仮想オブジェクトの遮蔽と視認性の担保を両立することができるようにした情報処理装置、情報処理方法、及びプログラムに関する。
近年、各種の電子機器を利用して、実世界における実オブジェクトに対して仮想オブジェクトを重畳表示させることで実世界を拡張する拡張現実(AR:Augmented Reality)に関する技術の研究・開発が盛んに行われている。
例えば、特許文献1には、光学的透過性を有する透過ディスプレイに、透過ディスプレイ越しに見える実オブジェクトに関する表示オブジェクト(仮想オブジェクト)を表示する技術が開示されている。
特開2013-15796号公報
ところで、仮想オブジェクトを実世界に重畳表示する際の違和感の低減や、ユーザに奥行きの手がかりを与えるなどの目的で、実オブジェクトにより仮想オブジェクトを遮蔽する遮蔽処理を行う場合がある。
しかしながら、このような遮蔽処理を行うことで、周辺にある実オブジェクトとの位置関係よっては、実オブジェクトにより過度に遮蔽されて仮想オブジェクトが見えなくなる恐れがある。そのため、仮想オブジェクトの視認性を担保するための技術が求められている。
本開示はこのような状況に鑑みてなされたものであり、仮想オブジェクトの遮蔽と視認性の担保を両立することができるようにするものである。
本開示の一側面の情報処理装置は、表示装置の第1のユーザから見て、前記表示装置によって表示される仮想オブジェクトが少なくとも1つの実オブジェクトによって隠れると判定される第1の状態において、第1の表示パラメータを用いて前記仮想オブジェクトを表示し、前記第1のユーザから見て、前記仮想オブジェクトが前記第1の状態よりも多くの実オブジェクトによって隠れると判定される第2の状態において、前記第1の表示パラメータと異なる第2の表示パラメータを用いて前記仮想オブジェクトを表示するように前記表示装置を制御する表示制御部を備える情報処理装置である。
本開示の一側面の情報処理装置は、独立した装置であってもよいし、1つの装置を構成する内部ブロックであってもよい。
本開示の一側面の情報処理方法、及びプログラムは、上述した本開示の一側面の情報処理装置に対応する情報処理方法、及びプログラムである。
本開示の一側面の情報処理装置、情報処理方法、及びプログラムにおいては、表示装置の第1のユーザから見て、前記表示装置によって表示される仮想オブジェクトが少なくとも1つの実オブジェクトによって隠れると判定される第1の状態において、第1の表示パラメータを用いて前記仮想オブジェクトが表示され、前記第1のユーザから見て、前記仮想オブジェクトが前記第1の状態よりも多くの実オブジェクトによって隠れると判定される第2の状態において、前記第1の表示パラメータと異なる第2の表示パラメータを用いて前記仮想オブジェクトが表示される。
本開示の一側面によれば、仮想オブジェクトの遮蔽と視認性の担保を両立することができる。
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
本開示に係る技術を適用した拡張現実システムの構成の例を示す図である。 本開示に係る技術を適用した拡張現実システムの使用の例を示す図である。 クライアント端末と位置共有サーバの構成の例を示すブロック図である。 表示方法決定部の詳細な構成の例を示すブロック図である。 複数のユーザにより拡張現実システムを使用した場合における仮想オブジェクトの遮蔽の例を示す図である。 実オブジェクトにより隠される仮想オブジェクトの様子を時系列で表した図である。 遮蔽された仮想オブジェクトの表示位置の第1の例を示す図である。 遮蔽された仮想オブジェクトの表示位置の第2の例を示す図である。 クライアント端末の動作を説明するフローチャートである。 第1の表示方法決定処理の流れを説明するフローチャートである。 遮蔽された仮想オブジェクトの色の透過度の第1の例を示す図である。 遮蔽された仮想オブジェクトの色の透過度の第2の例を示す図である。 遮蔽された仮想オブジェクトの色の透過度を変更する場合におけるユーザとオブジェクトの配置の例を示す図である。 第2の表示方法決定処理の流れを説明するフローチャートである。 第3の表示方法決定処理の流れを説明するフローチャートである。 クライアント端末とマップ提供サーバの構成の例を示すブロック図である。 本開示に係る技術を適用した拡張現実システムの使用の例を示す図である。 実オブジェクトにより隠される仮想オブジェクトの様子を模式的に表した図である。 クライアント端末の動作を説明するフローチャートである。 コンピュータの構成の例を示す図である。
以下、図面を参照しながら本開示に係る技術(本技術)の実施の形態について説明する。なお、説明は以下の順序で行うものとする。
1.第1の実施の形態
2.第2の実施の形態
3.変形例
4.コンピュータの構成
<1.第1の実施の形態>
(システムの構成の例)
図1は、本開示に係る技術を適用した拡張現実システムの構成の例を示す図である。
図1において、拡張現実システムは、クライアント端末10−1乃至10−N(N:1以上の整数)、位置共有サーバ20、及びネットワーク50から構成される。クライアント端末10−1乃至10−Nのそれぞれと、位置共有サーバ20とは、インターネットや携帯電話網等を含むネットワーク50を介して相互にデータをやり取りすることが可能である。
クライアント端末10−1は、例えば、メガネ型情報端末等のウェアラブル端末、ヘッドマウントディスプレイ(HMD:Head Mounted Display)、スマートフォンや携帯電話機、タブレット型のコンピュータ、パーソナルコンピュータ、ゲーム機などの電子機器(情報処理装置)である。なお、クライアント端末10−1は、主に、ユーザが携帯して使用可能な携帯端末を想定しているが、それに限らず、固定端末であってもよい。
クライアント端末10−1は、例えばユーザの頭部に装着され、そのユーザの視線の方向に固定された表示デバイス(表示装置)に、実世界に存在する実オブジェクトを表示(透過)するとともに、AR(Augmented Reality)技術によって実世界(実空間)に存在しない仮想オブジェクトを重畳表示する。
クライアント端末10−2乃至10−Nは、クライアント端末10−1と同様に、ウェアラブルコンピュータやヘッドマウントディスプレイ、スマートフォン等の電子機器から構成され、ユーザに対して実オブジェクトとともに仮想オブジェクトを提示する。
位置共有サーバ20は、クライアント端末10−1乃至10−Nのそれぞれ(を装着したユーザ)の位置情報や向き情報を共有するためのサーバである。位置共有サーバ20は、ネットワーク50を介してクライアント端末10−1乃至10−Nから送信されてくる位置情報や向き情報を受信する。また、位置共有サーバ20は、各クライアント端末10から受信した位置情報や向き情報を、ネットワーク50を介して他のクライアント端末10に送信する。
以上のように構成される拡張現実システムでは、クライアント端末10を装着(又は把持)した複数のユーザが、同一のARサービスを利用する場合に、実世界に仮想オブジェクトを表示させるとき、各ユーザの位置(視点)に応じて仮想オブジェクトが表示されることになる。なお、以下の説明では、実世界(実空間)に存在する実オブジェクト(ユーザ等の人物を含む)を、実オブジェクトORとも称する一方で、現実の世界(実空間)には存在しない仮想オブジェクトを、仮想オブジェクトOVとも称する。
ここで、図2は、本開示に係る技術を適用した拡張現実システムの使用の例を示している。
図2においては、ユーザ11−1乃至11−4の4人のユーザが、それぞれクライアント端末10−1乃至10−4を装着して同一のARサービスを利用している場合に、4人のユーザの前方に、表示対象物12を表示する場合を模式的に表している。この場合において、ユーザ11−1乃至11−4は実オブジェクトORであり、表示対象物12は、仮想オブジェクトOVであると言える。
なお、以下の説明では、同一のARサービス(例えばARゲーム)の提供を受けている複数のユーザのうち、注目しているユーザを、単にユーザ(第1のユーザ)と称し、注目しているユーザと異なるユーザを他のユーザ(第2のユーザ)と称して区別する。
例えば、クライアント端末10−1を装着したユーザ11−1(第1のユーザ)からすれば、ユーザ11−2乃至11−4は、他のユーザ11(第2のユーザ)であるし、あるいは、例えば、クライアント端末10−4を装着したユーザ11−4(第1のユーザ)からすれば、ユーザ11−1乃至11−3は、他のユーザ11(第2のユーザ)であると言える。
クライアント端末10−1乃至10−4のそれぞれは、ネットワーク50を介して位置共有サーバ20と位置情報をやり取りすることで、同一の座標内でのお互いの位置を共有することができる。また、ここでは、位置情報とともに、各ユーザ11の頭部の向きを示す向き情報を共有することができる。
具体的には、クライアント端末10−1を装着したユーザ11−1の位置P1及び頭部の向きD1と、クライアント端末10−2を装着したユーザ11−2の位置P2及び頭部の向きD2と、クライアント端末10−3を装着したユーザ11−3の位置P3及び頭部の向きD3と、クライアント端末10−4を装着したユーザ11−4の位置P4及び頭部の向きD4とが、クライアント端末10−1乃至10−4の間で共有される。
クライアント端末10−1乃至10−4のそれぞれは、位置共有サーバ20を介して共有された位置情報及び向き情報などの情報に基づき、表示対象物12に対する他のユーザ11の遮蔽の程度を判定し、その判定結果に対応する表示パラメータを決定して、決定した表示パラメータを用いて表示対象物12を表示する。この表示パラメータは、例えば、表示対象物12の表示位置などの属性に関連付けられている。
このように、本開示に係る技術を適用した拡張現実システムにおいて、各クライアント端末10では、仮想オブジェクトOVを表示するに際し、仮想オブジェクトOVに対する実オブジェクトORの遮蔽の程度が判定され、その判定結果に対応する表示パラメータに基づき、仮想オブジェクトOVが表示される。
なお、図1においては、説明の都合上、拡張現実システムとして、最小限の構成を示したが、例えば、AR技術に関する機能を提供する専用のARサーバなどを設置するなど、他の構成要素が追加されるようにしてもよい。また、実オブジェクトORとしては、ユーザ11に限らず、例えば、家具や建物などの実オブジェクトが含まれる。
(クライアント端末の構成)
図3は、図1のクライアント端末10−1の構成の例を示している。
図3において、クライアント端末10−1は、測定部101、位置推定部102、通信部103、表示方法決定部104、表示制御部105、及び表示部106を含む。
測定部101は、例えば、ステレオカメラ、ジャイロセンサや加速度センサ等の各種のセンサなどから構成される。測定部101は、クライアント端末10−1を装着したユーザ11−1の動作に応じて、各種の測定を行い、その測定の結果得られる測定情報を、位置推定部102に供給する。
この測定情報としては、例えば、ステレオカメラにより測定される距離情報のほか、ジャイロセンサにより測定される角速度情報や、加速度センサにより測定される加速度情報等のセンサ情報などの情報を含む。
位置推定部102は、測定部101から供給される測定情報に基づいて、クライアント端末10−1の位置を推定し、その推定の結果得られる位置情報を、通信部103及び表示方法決定部104に供給する。ここでは、測定情報として、距離情報等の情報を用いることで、例えば、周辺の実オブジェクトに対するユーザ11−1の位置(相対的な位置)を推定することができる。
また、位置推定部102は、測定部101から供給される測定情報に基づいて、クライアント端末10−1を装着したユーザ11−1の頭部の向きを推定し、その推定の結果得られる向き情報を、通信部103及び表示方法決定部104に供給する。ここでは、測定情報として、角速度情報や加速度情報等の情報を用いることで、例えば、のユーザ11−1の頭部の向き(姿勢)を推定することができる。
通信部103は、例えば、無線LAN(Local Area Network)、セルラー方式の通信(例えばLTE-Advancedや5G等)、若しくはBluetooth(登録商標)等の無線通信、又はイーサネット(登録商標)等の有線通信に対応した通信モジュールなどから構成される。
通信部103は、位置推定部102から供給されるユーザ11−1の位置情報及び向き情報を、ネットワーク50を介して位置共有サーバ20に送信する。また、通信部103は、ネットワーク50を介して位置共有サーバ20から送信されてくる他のユーザ11−2乃至11−Nの位置情報及び向き情報を受信し、表示方法決定部104に供給する。
表示方法決定部104には、位置推定部102からのユーザ11−1の位置情報及び向き情報と、通信部103からの他のユーザ11−2乃至11−Nの位置情報及び向き情報が供給される。表示方法決定部104は、ユーザ11−1の位置情報及び向き情報、並びに他のユーザ11−2乃至11−Nの位置情報及び向き情報などの情報に基づいて、仮想オブジェクトOVの表示方法を決定する。
ここで、図4は、表示方法決定部104の詳細な構成を示している。図4において、表示方法決定部104は、位置情報取得部111、遮蔽判定部112、遮蔽割合計算部113、表示パラメータ設定部114、及び属性判定部115を含む。
位置情報取得部111は、位置推定部102により推定されるユーザ11−1の位置情報及び向き情報、又は通信部103により受信される他のユーザ11−2乃至11−Nの位置情報及び向き情報を取得し、遮蔽判定部112、遮蔽割合計算部113、及び表示パラメータ設定部114に供給する。
遮蔽判定部112は、位置情報取得部111から供給される位置情報及び向き情報などの情報に基づいて、仮想オブジェクトOVが実オブジェクトORにより隠れているかどうかを判定し、その判定結果を、遮蔽割合計算部113及び表示パラメータ設定部114に供給する。ここでは、仮想オブジェクトOVに対する実オブジェクトORの遮蔽の程度が判定されるが、この遮蔽の程度としては、実際に隠れている場合に限らず、隠れる可能性がある場合を含めるようにしてもよい。
遮蔽割合計算部113は、遮蔽判定部112から供給される判定結果が遮蔽していることを示している場合、位置情報取得部111から供給される位置情報及び向き情報などの情報に基づいて、仮想オブジェクトOVに対する実オブジェクトORの遮蔽割合(遮蔽具合)を計算し、その計算の結果を、表示パラメータ設定部114に供給する。
表示パラメータ設定部114は、位置情報取得部111から供給される位置情報及び向き情報、遮蔽判定部112から供給される遮蔽の判定結果、並びに遮蔽割合計算部113からの遮蔽割合の計算の結果などの情報に基づいて、表示パラメータを生成し、表示制御部105に供給(設定)する。
属性判定部115は、仮想オブジェクトOVの属性を確認し、仮想オブジェクトOVが実世界の特定の位置に紐付いているかどうかを判定し、その判定結果を、表示パラメータ設定部114に供給する。このとき、表示パラメータ設定部114は、表示パラメータを生成するに際し、属性判定部115から供給される判定結果を用いるようにする。
図3に戻り、表示制御部105は、表示方法決定部104から供給される表示パラメータに基づいて、仮想オブジェクトOV等の情報を、表示部106に表示する制御を行う。なお、表示制御部105が、位置情報取得部111乃至属性判定部115(図4)を含むことで、表示パラメータを生成するようにしてもよい。
表示部106は、例えば、液晶ディスプレイ(LCD:Liquid Crystal Display)や有機ELディスプレイ(OLED:Organic Light Emitting Diode)、プロジェクタ等の表示デバイス(表示装置)から構成される。表示部106は、表示制御部105からの制御に従い、仮想オブジェクトOV等の情報(を含む映像又は画像)を表示する。
なお、クライアント端末10−1において、位置推定部102、表示方法決定部104、又は表示制御部105は、CPU(Central Processing Unit)等のプロセッサ(図20のCPU1001)がプログラムを実行することで実現されてもよいし、専用のハードウェアにより実現されてもよい。
また、図3において、クライアント端末10−1は、最小限の構成を示しているが、例えば、仮想オブジェクトOVに関する音声を出力するための音声出力装置(例えば、スピーカやイヤホン等)など、他の構成要素が追加されるようにしてもよい。
(位置共有サーバの構成)
また、図3は、図1の位置共有サーバ20の構成の例を示している。
図3において、位置共有サーバ20は、制御部201、及び通信部202を含む。
制御部201は、例えば、CPU等のプロセッサから構成され、各部の動作の制御や各種の演算処理を行う中心的な処理装置として機能する。
通信部202は、無線通信又は有線通信に対応した通信モジュールなどから構成される。
通信部202は、制御部201からの制御に従い、ネットワーク50を介してクライアント端末10−1から送信されてくる位置情報及び向き情報を受信し、ネットワーク50を介してクライアント端末10−2乃至10−Nにそれぞれ送信する。
また、通信部202は、制御部201からの制御に従い、ネットワーク50を介してクライアント端末10−2乃至10−Nから送信されてくる位置情報及び向き情報をそれぞれ受信し、ネットワーク50を介してクライアント端末10−1に送信する。
なお、図3において、クライアント端末10−2乃至10−Nは、クライアント端末10−1と同様に構成されるため、ここでは、その詳細な説明は省略する。
(仮想オブジェクトOVの遮蔽時の問題点と解決手段)
ところで、本開示に係る技術を適用した拡張現実システムを利用することで、様々なARサービスを提供することができるが、ここでは、例えば、ARサービスとして、複数のユーザ11が協力してプレイする拡張現実(AR)を利用したゲームであるARゲームを一例にして説明する。
例えば、ARゲームにおいては、クライアント端末10−1乃至10−Nをそれぞれ装着した複数のユーザ11−1乃至11−Nによる協力プレイの進行に合わせて、実世界に仮想オブジェクトOVが重畳表示される場合がある。
このような場合において、仮想オブジェクトOVを実世界に重畳表示するに際の違和感の低減や、ユーザ11に奥行きの手がかりを与えるなどの目的で、実オブジェクトOR(例えば他のユーザ11等)によって、仮想オブジェクトOV(例えばARゲームの登場人物やアイテム等の表示対象物12等)を遮蔽する遮蔽処理を行うときがある。
このような遮蔽処理を行うことで、違和感の低減や奥行きの手がかりを与えることが可能となる一方で、実オブジェクトORにより仮想オブジェクトOVが遮蔽されるため、その状況によっては、ユーザ11が、仮想オブジェクトOVを見ることができなくなる恐れがある。
ここで、図5は、複数のユーザ11がARゲームを協力プレイしている場面を表している。なお、図5は、ユーザ11−1乃至11−4の4人のユーザが、それぞれクライアント端末10−1乃至10−4を装着して同一のARサービスを利用している場合に、ユーザ11−1乃至11−3の後方に位置するユーザ11−4の視界とされる。
図5においては、ARゲームの進行の途中で、登場人物やアイテム等の表示対象物12が表示されているが、ユーザ11−2とユーザ11−3によって、表示対象物12の大部分が遮蔽されている。そのため、ユーザ11−2とユーザ11−3の後方に位置するユーザ11−4からすれば、ユーザ11−2とユーザ11−3によって表示対象物12が遮られてしまい、表示対象物12の一部(図中の左下の極一部)しか視認することができない。
このように、現状の技術であると、その状況(周辺にある実オブジェクトORとの位置関係)によっては過度に遮蔽されて仮想オブジェクトOVを視認できなくなる可能性があるため、仮想オブジェクトOVを実オブジェクトORにより遮蔽する際には、視認性を担保することが求められる。そこで、本開示に係る技術を適用した拡張現実システムでは、仮想オブジェクトOVを実オブジェクトORにより遮蔽するに際して、仮想オブジェクトOVの遮蔽と視認性の担保を両立するための技術を提案する。
なお、本開示に係る技術における遮蔽処理は、実オブジェクトORによって仮想オブジェクトOVが隠されているかのように仮想オブジェクトOVを表示する処理とみなされもよい。より具体的には、ユーザから見て仮想オブジェクトOVの手前に配置された実オブジェクトORの形状に基づいて、仮想オブジェクトOVの一部を非表示にする処理とみなされてもよい。言い換えると、このような非表示処理の結果、実オブジェクトORに重なる仮想オブジェクトOVの一部が切り取られる。仮想オブジェクトOVのこのような表示処理は、拡張現実の技術の分野において「オクルージョン」と言われる場合がある。
図6は、他のユーザ11により遮蔽され得る表示対象物12の様子を時系列で表している。なお、図6のAは、ある時刻t11における各ユーザ11の視界を模式的に表し、図6のBは、時刻t11よりも時間的に後の時刻t12における各ユーザ11の視界を模式的に表している。
図6のAにおいて、ユーザ11−1乃至11−4のそれぞれの視界V1乃至V4には、表示対象物12の大部分がそれぞれ入っており、かつ、他のユーザ11により遮蔽もされていない。そのため、時刻t11において、ユーザ11−1乃至11−4は、表示対象物12をそれぞれ視認可能な状態となっている。
一方で、図6のBにおいて、ユーザ11−1乃至11−4のそれぞれの視界V1乃至V4には、表示対象物12の大部分又は一部が入っているが、一部のユーザ11の視界が他の一部のユーザ11により遮蔽されている。より具体的には、例えば、ユーザ11−4の視界V4には、その前方に存在するユーザ11−2が入っている。そのため、時刻t12において、ユーザ11−1乃至11−4は、表示対象物12をそれぞれ視認可能な状態とはなっていない。
このように、仮想オブジェクトOVを隠す可能性のある実オブジェクトORの数が多い場合(例えばユーザ4人)には、ある時点(例えば、時刻t11)では仮想オブジェクトOVの見える部分が多くても、将来的(例えば、時刻t12)には仮想オブジェクトOVが隠れてしまう可能性が高い。
そこで、本開示に係る技術を適用した拡張現実システムでは、仮想オブジェクトOVを隠している実オブジェクトORの数や、遮蔽されている割合(遮蔽割合)などの遮蔽の程度に基づいて、全てのユーザ11−1乃至11−4が見える位置に、仮想オブジェクトOVが表示(移動)されるようにする。
図7は、実オブジェクトORにより遮蔽された仮想オブジェクトOVの表示位置の第1の例を示している。図7においては、ARゲームの進行の途中で、表示対象物12を表示するタイミングとなったが、デフォルトの位置に表示すると、図中の点線の枠で示すように、ユーザ11−4にとっては、表示対象物12が、2人のユーザ(他のユーザ11−1,11−2)によって遮蔽されてしまう。
そのため、図7においては、表示対象物12を、図中の矢印で示すように、デフォルトの位置からその上方の位置に所定の距離だけ移動させて、全てのユーザ11−1乃至11−4が視認可能な位置に表示されるようにする。これにより、仮想オブジェクトOVを表示するに際し、遮蔽処理を行った場合と同様に、実オブジェクトOR(他のユーザ11−1乃至11−3)によって違和感の低減や奥行きの手がかりを与えることが可能となるとともに、仮想オブジェクトOVの視認性を担保することができる。
また、図8は、実オブジェクトORにより遮蔽された仮想オブジェクトOVの表示位置の第2の例を示している。図8においては、表示対象物12の表示タイミングで、デフォルトの位置に表示すると、ユーザ11−4にとっては、表示対象物12の一部(図中の左下の極一部)が、1人のユーザ(他のユーザ11−1)によって遮蔽されることになる。
この場合において、表示対象物12をデフォルトの位置に表示したとしても、ユーザ11−1乃至11−3は表示対象物12の全てを視認可能であるし、ユーザ11−4からしても、表示対象物12の左下の極一部を視認することはできないものの、表示対象物12の大部分を視認できることから、表示対象物12の内容や状態等を認識することは可能である。
そのため、図8においては、表示対象物12をデフォルトの位置に表示して、全てのユーザ11−1乃至11−4が視認可能な位置に表示されるようにする。これにより、仮想オブジェクトOVを表示するに際し、実オブジェクトORによって違和感の低減や奥行きの手がかりを与えることが可能となるとともに、仮想オブジェクトOVの視認性を担保することができる。
なお、図8においては、表示対象物12をデフォルトの位置に表示するとして説明したが、表示対象物12をデフォルトの位置からその右方に所定の距離だけ移動させて、ユーザ11−4を含む全てのユーザ11が完全に視認可能な位置に表示させるようにしてもよい。
ここで、図8の第2の例に示した状態を、図7の第1の例に示した状態と比較すれば、図8の第2の例に示した状態(第1の状態)では、仮想オブジェクトOV(表示対象物12)が少なくとも1つの実オブジェクトOR(1人のユーザ:他のユーザ11−1)によって隠れると判定され、仮想オブジェクトOV(表示対象物12)の表示位置(デフォルトの位置、又はデフォルトの位置よりも右方に所定の距離だけ離れた位置)に関連付けられた表示パラメータ(第1の表示パラメータ)を用いて、仮想オブジェクトOV(表示対象物12)が表示される。
一方で、図7の第1の例に示した状態(第2の状態)では、仮想オブジェクトOV(表示対象物12)が図8の第2の例に示した状態(第1の状態)よりも多くの実オブジェクトOR(2人のユーザ:他のユーザ11−1,11−2)によって隠れると判定され、仮想オブジェクトOV(表示対象物12)の表示位置(デフォルトの位置よりも上方に所定の距離だけ離れた位置)に関連付けられた表示パラメータ(第2の表示パラメータ)を用いて、仮想オブジェクトOV(表示対象物12)が表示される。
(クライアント端末の動作)
次に、図9及び図10のフローチャートを参照して、上述したクライアント端末10の動作を説明する。なお、ここでは、上述した図5乃至図8の例と同様に、ARゲームを協力してプレイしているユーザ11−1乃至11−4のうち、ユーザ11−4に装着されるクライアント端末10−4の動作を一例に説明する。
クライアント端末10−4では、マップがロードされる(S11)。すなわち、クライアント端末10−4では、事前に、測定部101(のカメラ)により撮像した複数の撮像画像に基づき、その周辺の3次元の地図情報(マップ)をあらかじめ生成しておくことで、現在位置に対応したマップ(いわば内部生成マップ)をロードすることができる。
ステップS12において、位置情報取得部111は、ユーザ11−4の位置情報及び向き情報を取得する。
ステップS13において、遮蔽判定部112は、ロードしたマップ上のユーザ11−4の位置や向きなどの状況に基づいて、表示対象物12等の仮想オブジェクトOVが他のユーザ11−1乃至11−3以外の実オブジェクトOR(例えば、マップ上の家具や建物等)に隠れているかどうかを判定する。
ステップS13の判定処理が肯定(S13の「YES」)である場合、処理は、ステップS14に進められる。ステップS14において、遮蔽割合計算部113は、仮想オブジェクトOVを遮蔽している実オブジェクトORの遮蔽割合を計算する。
ステップS14の処理が終了すると、処理は、ステップS15に進められる。また、ステップS13の判定処理が否定(S13の「NO」)である場合、ステップS14はスキップされ、処理は、ステップS15に進められる。
ステップS15において、位置情報取得部111は、他のユーザ11−1乃至11−3の位置情報及び向き情報を取得する。
ステップS16において、遮蔽判定部112は、ロードしたマップ上の他のユーザ11−1乃至11−3の位置や向きなどの状況に基づいて、表示対象物12等の仮想オブジェクトOVが他のユーザ11−1乃至11−3に隠れているかどうかを判定する。
ステップS16の判定処理が肯定(S16の「YES」)である場合、処理は、ステップS17に進められる。ステップS17において、表示方法決定部104は、表示方法決定処理を実行する。
この表示方法決定処理では、仮想オブジェクトOVに対する実オブジェクトORの遮蔽の程度が判定され、その判定結果に対応する表示パラメータが設定される。
ここで、遮蔽の程度とは、例えば、表示対象物12とユーザ11−4との間に存在して表示対象物12を隠している他のユーザ11−1乃至11−3の数や、表示対象物12における全体の領域に対する他のユーザ11−1乃至11−3により隠れている領域の割合(遮蔽の割合)などを含んでいる。また、ここでは、表示パラメータが、表示対象物12の表示位置である属性に関連付けられている。
なお、この表示方法決定処理の詳細は、図10のフローチャートを参照して後述する。
ステップS17の処理が終了すると、処理は、ステップS18に進められる。また、ステップS16の判定処理が否定(S16の「NO」)である場合、ステップS17はスキップされ、処理は、ステップS18に進められる。
ステップS18において、表示制御部105は、仮想オブジェクトOVの表示を制御する。
例えば、この表示制御処理では、ステップS13の判定処理が肯定(S13の「YES」)である場合に、ステップS14の処理で計算される遮蔽割合に基づき、仮想オブジェクトOV(表示対象物12)が、実オブジェクトOR(例えば家具や建物等の他のユーザ11−1乃至11−3以外の実オブジェクトOR)によって所定の割合で遮蔽されて表示される。
また、例えば、この表示制御処理では、ステップS16の判定処理が肯定(S16の「YES」)である場合に、ステップS17の処理で設定された表示パラメータに基づき、仮想オブジェクトOV(表示対象物12)が表示される。
ステップS18の処理が終了すると、処理は、ステップS19に進められる。ステップS19においては、処理を終了するかどうかが判定される。
ステップS19の判定処理が否定(S19の「NO」)である場合、処理は、ステップS12に戻り、上述したステップS12乃至S19の処理が繰り返され、実オブジェクトORに対する仮想オブジェクトOVの表示が制御される。また、ステップS19の判定処理が肯定(S19の「YES」)である場合、図9に示した処理は終了される。
以上、クライアント端末10の動作を説明した。
なお、クライアント端末10において、仮想オブジェクトOVの表示を制御するタイミングとしては、例えば、仮想オブジェクトOVが実世界に重畳表示されるタイミングのほか、例えば、既に表示済みの仮想オブジェクトOVが実オブジェクトORにより遮蔽されるときなどのタイミングとされる。
(第1の表示方法決定処理の流れ)
次に、図10のフローチャートを参照して、図9のステップS17に対応する第1の表示方法決定処理の流れを説明する。
ステップS111において、遮蔽判定部112は、表示対象物12等の仮想オブジェクトOVを隠している他のユーザ11の数及び遮蔽割合が閾値未満かどうかを判定する。
ステップS111の判定処理が肯定(S111の「YES」)である場合、処理は、ステップS112に進められる。ステップS112において、表示パラメータ設定部114は、全てのユーザが視認可能な第1の位置に仮想オブジェクトOVを表示させる第1の表示パラメータを設定する。
これにより、例えば、図8に示したように、表示対象物12が1人のユーザ(他のユーザ11−1)により遮蔽され、その遮蔽割合が所定の割合未満となる場合には、表示対象物12を、デフォルトの位置に表示させる第1の表示パラメータが設定され(図10のS112)、表示対象物12は、全てのユーザ11−1乃至11−4が視認可能な第1の位置に表示される(図9のS18)。
一方で、ステップS111の判定処理が否定(S111の「NO」)である場合、処理は、ステップS113に進められる。ステップS113において、表示パラメータ設定部114は、全てのユーザが視認可能な第2の位置に仮想オブジェクトOVを表示させる第2の表示パラメータを設定する。
これにより、例えば、図7に示したように、表示対象物12が2人のユーザ(他のユーザ11−1,11−2)により遮蔽され、その遮蔽割合が所定の割合以上となる場合には、表示対象物12を、デフォルトの位置からその上方の第2の位置に移動させる(表示位置を変更させる)第2の表示パラメータが設定され(図10のS113)、表示対象物12は、全てのユーザ11−1乃至11−4が視認可能な第2の位置に表示される(図9のS18)。
ステップS112又はS113の処理が終了すると、処理は、図9のステップS17に戻され、それ以降の処理が行われる。
このように、第1の表示方法決定処理では、遮蔽の程度の判定に際し、仮想オブジェクトOV(表示対象物12)が少なくとも1つの実オブジェクトOR(1人のユーザ:他のユーザ11−1)によって隠れると判定される第1の状態(図8の第2の例に示した状態)において、第1の表示パラメータ(第1の表示位置に表示させるためのパラメータ)を用いて仮想オブジェクトOV(表示対象物12)を表示する。
一方で、第1の表示方法決定処理では、遮蔽の程度の判定に際し、仮想オブジェクトOV(表示対象物12)が第1の状態よりも多くの実オブジェクトOR(2人のユーザ:他のユーザ11−1,11−2)によって隠れると判定される第2の状態(図7の第1の例に示した状態)において、第2の表示パラメータ(第2の表示位置に表示させるためのパラメータ)を用いて仮想オブジェクトOV(表示対象物12)を表示する。
なお、第1の表示方法決定処理では、ステップS111の判定処理で、遮蔽の程度を判定するに際して、判定の対象に、仮想オブジェクトOVを隠している他のユーザの数とともに遮蔽割合を含めたが、この遮蔽割合を判定の対象に含めないようにしてもよい。また、遮蔽の程度の判定の対象としては、仮想オブジェクトOVを隠している他のユーザ11の数が含まれていれば、他の遮蔽の程度を表す指標を用いるようにしてもよい。また、判定の基準となる閾値は、例えばARサービスの内容や場面などに応じて適宜調整することができる。
以上のように、第1の実施の形態では、仮想オブジェクトOVの表示位置に関連付けられている表示パラメータを、仮想オブジェクトOVを遮蔽している実オブジェクトORの数に応じて変更して、全てのユーザが視認可能な位置に仮想オブジェクトOVを表示させることで、仮想オブジェクトOVを遮蔽する際に視認性を担保している。特に、クライアント端末10が携帯端末である場合には、表示デバイス(表示装置)の表示領域が狭くなるが、遮蔽している実オブジェクトORの数に応じて仮想オブジェクトOVの表示位置を変更することで、仮想オブジェクトOVの視認性を担保することができる。
<2.第2の実施の形態>
ところで、仮想オブジェクトOVには、実世界の特定の位置に紐付いているものと、実世界の特定の位置には紐付いていないものとがある。ここで、仮想オブジェクトOVが実世界に紐付いている場合に、仮想オブジェクトOVを視認可能な位置に移動させると、不自然な移動になる場合がある。
そこで、本開示に係る技術を適用した拡張現実システムにおいては、仮想オブジェクトOVが実世界に紐付いている場合に、仮想オブジェクトOVに対する実オブジェクトORによる遮蔽時の視認性を確保可能にするために、次のような構成を有している。
すなわち、本開示に係る技術を適用した拡張現実システムでは、仮想オブジェクトOVを隠している実オブジェクトORの数や、遮蔽されている割合(遮蔽割合)などの遮蔽の程度に基づいて、仮想オブジェクトOVの色の透過度を変化させるようにする。
図11は、実オブジェクトORにより遮蔽された仮想オブジェクトOVの色の透過度の第1の例を示している。図11においては、ARゲームの進行の途中で、表示対象物12を表示するタイミングとなったが、デフォルトの色で表示すると、ユーザ11−4にとっては、表示対象物12の大部分が、1人のユーザ(他のユーザ11−1)によって遮蔽されてしまう。
そのため、図11においては、表示対象物12の色の透過度を変更して、他のユーザ11−1(の一部)に表示対象物12(の一部)を重ねて表示されるようにする。これにより、仮想オブジェクトOVを表示するに際し、遮蔽処理を行った場合と同様に、実オブジェクトOR(他のユーザ11−1乃至11−3)によって違和感の低減や奥行きの手がかりを与えることが可能となるとともに、仮想オブジェクトOVの視認性を担保することができる。
また、図12は、実オブジェクトORにより遮蔽された仮想オブジェクトOVの色の透過度の第2の例を示している。図12においては、表示対象物12の表示タイミングで、デフォルトの色で表示すると、ユーザ11−4にとっては、表示対象物12の大部分が、2人のユーザ(他のユーザ11−2,11−3)に遮蔽されてしまう。
そのため、図12においては、表示対象物12の色の透過度を変更して、他のユーザ11−2,11−3(の一部)に表示対象物12(の一部)を重ねて表示されるようにする。これにより、仮想オブジェクトOVを表示するに際し、実オブジェクトORによって違和感の低減や奥行きの手がかりを与えることが可能となるとともに、仮想オブジェクトOVの視認性を担保することができる。
ただし、図12の2人のユーザ(他のユーザ11−2,11−3)に重畳される表示対象物12の色の透過度(第2の透過度)は、上述した図11の1人のユーザ(他のユーザ11−1)に重畳される表示対象物12の色の透過度(第1の透過度)と比べて、その透過度が高く、表示対象物12を遮蔽している2人のユーザ(他のユーザ11−2,11−3)の後ろ姿が割とはっきりと見える。換言すれば、第1の透過度(図11)は、第2の透過度(図12)と比べて、その透過度が低く、表示対象物12を遮蔽している1人のユーザ(他のユーザ11−1)の後ろ姿がややぼやけて見えるとも言える。
より具体的には、第1の透過度(図11)、及び第2の透過度(図12)は、完全透過を100%とし、完全不透過を0%とした場合に、0%よりも高く、かつ、100%よりも低い値となる。また、この場合において、第1の透過度(例えば、透過度40%)は、第2の透過度(例えば、透過度60%)よりも低い値となる。
また、このとき、図13に示すように、例えば、実オブジェクトORとして、他のユーザ11−1乃至11−3以外の実オブジェクト13(例えば家具や建物等の実空間に固定された実オブジェクトOR)が存在する場合には、実オブジェクトORが他のユーザ11−1乃至11−3であるか、又は実オブジェクト13であるかによって、表示対象物12を遮蔽するかどうかを決定することができる。なお、本開示において、実オブジェクト13を静的実オブジェクト13という場合がある。
例えば、表示対象物12−1が、他のユーザ11−1乃至11−3と、静的実オブジェクト13との間に存在する場合には、他のユーザ11−1乃至11−3により表示対象物12−1を完全には遮蔽せずに、その遮蔽の程度(遮蔽している他のユーザ11の数など)に応じた色の透過度で、表示対象物12−1を表示するようにする。
一方で、例えば、表示対象物12−2が静的実オブジェクト13の後ろ側に存在する場合には、その静的実オブジェクト13により表示対象物12−2を完全に遮蔽して(透過度0%に設定して)、ユーザ11−1乃至11−4からは、遮蔽割合に応じてその一部が見える状態か、又は全てが見えない状態となる。
このように、ARゲームにおいて、仮想オブジェクトOVは、協力プレイをしている他のユーザ11の陰になっても完全には遮蔽されないが、協力プレイをしている他のユーザ11以外の静的実オブジェクト13により遮られた場合には、遮蔽されて各ユーザ11からはその遮蔽された部分は完全に見えないことになる。換言すれば、例えば家具や建物等の静的実オブジェクト13によって、仮想オブジェクトOVを完全に遮蔽する一方で、動的なオブジェクトであるユーザ11によっては、仮想オブジェクトOVの表示状態を変化させて完全には遮蔽しないことになる。
より具体的には、実空間にある実オブジェクトORが静的なオブジェクトと動的なオブジェクトのいずれであるかが判定される。ここで、動的なオブジェクトであると判定された実オブジェクトORは、本開示に係る技術を適用した拡張現実システムによって継続的にトラッキングされ、動的なオブジェクトによる仮想オブジェクトOVの遮蔽処理は抑制又は禁止される。その結果として、遮蔽処理を簡略化することができ、プロセッサ等の処理負荷を低下させることができる。なお、本開示に係る技術における遮蔽処理の抑制及び禁止の詳細は後述する。
(第2の表示方法決定処理の流れ)
次に、クライアント端末10の動作を説明するが、第2の実施の形態では、第1の実施の形態と同様に、図9に示したフローチャートの処理が実行されるが、図9のステップS17の表示方法決定処理の処理内容が異なる。
そのため、ここでは、図14のフローチャートを参照して、図9のステップS17に対応する第2の表示方法決定処理の流れを説明する。ただし、ここでは、表示パラメータが、表示対象物12の透過度である属性に関連付けられている。
ステップS121において、遮蔽判定部112は、表示対象物12等の仮想オブジェクトOVを隠している他のユーザ11の数が閾値未満かどうかを判定する。
ステップS121の判定処理が肯定(S121の「YES」)である場合、処理は、ステップS122に進められる。ステップS122において、表示パラメータ設定部114は、仮想オブジェクトOVの色を第1の透過度で表示させる第1の表示パラメータを設定する。
これにより、例えば、図11に示したように、表示対象物12が1人の他のユーザ11−1により遮蔽され、その数が閾値未満となる場合には、表示対象物12の色を、第2の透過度(例えば、透過度60%)よりも透過度が低い第1の透過度(例えば、透過度40%)で表示させる第1の表示パラメータが設定され、表示対象物12は、他のユーザ11−1により遮蔽された部分の色の透過度が第1の透過度(例えば、透過度40%)となるように、デフォルトの位置に表示される。
一方で、ステップS121の判定処理が否定(S121の「NO」)である場合、処理は、ステップS123に進められる。ステップS123において、表示パラメータ設定部114は、仮想オブジェクトOVの色を第2の透過度で表示させる第2の表示パラメータを設定する。
これにより、例えば、図12に示したように、表示対象物12が2人の他のユーザ11−2,11−3により遮蔽され、その数が閾値以上となる場合には、表示対象物12の色を、第1の透過度(例えば、透過度40%)よりも透過度が高い第2の透過度(例えば、透過度60%)で表示させる第2のパラメータが設定され、表示対象物12は、他のユーザ11−2,11−3により遮蔽された部分の色の透過度が第2の透過度(例えば、透過度60%)となるように、デフォルトの位置に表示される。
ステップS122又はS123の処理が終了すると、処理は、図9のステップS17に戻され、それ以降の処理が行われる。
このように、第2の表示方法決定処理では、遮蔽の程度の判定に際し、仮想オブジェクトOV(表示対象物12)を隠している実オブジェクトOR(他のユーザ11)の数を判定の対象に用いて判定の基準となる閾値との比較を行い、当該他のユーザ11の数が閾値未満の場合には、第1の表示パラメータ(第1の透過度)が設定される一方で、当該他のユーザ11の数が閾値以上の場合には、第2の表示パラメータ(第2の透過度)が設定される。
なお、判定の基準となる閾値は、例えばARサービスの内容や場面などに応じて適宜調整することができる。また、ここでは、1つの閾値を判定の基準として用いたが、例えば、3つ以上の透過度に応じた表示パラメータを設定可能にする場合には、例えば第1の閾値や第2の閾値など、複数の閾値を判定の基準に用いるようにしてもよい。
さらに、ここでは、遮蔽の程度の判定の対象に、仮想オブジェクトOV(表示対象物12)を隠している他のユーザ11の数を用いた場合を例示したが、判定の対象としては、仮想オブジェクトOVを隠している他のユーザ11の数が含まれていれば、例えば遮蔽割合などの他の遮蔽の程度を表す指標をさらに含めるようにしてもよい。
ところで、第1の実施の形態で説明した第1の表示方法決定処理と、第2の実施の形態で説明した第2の表示方法決定処理とは、選択的に実行されるようにしてもよく、そのような処理の流れを、図15のフローチャートを参照しながら説明する。
(第3の表示方法決定処理の流れ)
図15は、図9のステップS17に対応する第3の表示方法決定処理の流れを説明するフローチャートである。
ステップS131において、属性判定部115は、表示対象の仮想オブジェクトOVの属性を確認する。
ステップS132において、属性判定部115は、ステップS131の処理の確認の結果に基づいて、仮想オブジェクトOVが実世界の特定の位置に紐付いているかどうかを判定する。
ステップS132の判定処理が肯定(S132の「YES」)である場合、処理は、ステップS133に進められる。ステップS133において、表示方法決定部104は、第2の表示方法決定処理(図14)を実行する。
この第2の表示方法決定処理では、仮想オブジェクトOV(表示対象物12)が実世界(実空間)の所定の面に固定されたオブジェクト(例えば、ARゲームのプレイ中に表示される植物や建物等)であってデフォルトの位置に表示されるのを前提に、遮蔽の程度に応じた色の透過度で表示させるための表示パラメータが設定される。
一方で、ステップS132の判定処理が否定(S132の「NO」)である場合、処理は、ステップS134に進められる。ステップS134において、表示方法決定部104は、第1の表示方法決定処理(図10)を実行する。
この第1の表示方法決定処理では、仮想オブジェクトOV(表示対象物12)が実世界(実空間)の面に非固定のオブジェクト(例えば、ARゲームのプレイ中に表示されるメッセージやシンボル等)であってデフォルトの位置から移動して表示可能であることを前提に、遮蔽の程度に応じた位置に表示させるための表示パラメータが設定される。
ステップS133又はS134の処理が終了すると、処理は、図9のステップS17に戻され、それ以降の処理が行われる。
このように、第3の表示方法決定処理では、仮想オブジェクトOVが実世界の特定の位置に紐付いているかどうか、すなわち、仮想オブジェクトOVが、実世界の所定の面に固定されたオブジェクトであるか、あるいは実世界の面に非固定のオブジェクトであるかによって表示方法を切り替えることができるため、例えば、ARサービスの内容や場面などに応じてより適切に仮想オブジェクトOVを表示することができる。
以上のように、第2の実施の形態では、仮想オブジェクトOV(の色)の透過度に関連付けられている表示パラメータを、仮想オブジェクトOVを遮蔽している実オブジェクトORの数に応じて変更して、デフォルトの位置に仮想オブジェクトOVを表示させることで、仮想オブジェクトOVを遮蔽する際に視認性を担保している。特に、クライアント端末10が携帯端末である場合には、表示デバイス(表示装置)の表示領域が狭くなるが、遮蔽している実オブジェクトORの数に応じて仮想オブジェクトOVの透過度を変更することで、仮想オブジェクトOVの視認性を担保することができる。
なお、上述した第1の実施の形態では、表示パラメータが、仮想オブジェクトOVの表示位置である属性に関連付けられ、上述した第2の実施の形態では、表示パラメータが、仮想オブジェクトOVの透過度である属性に関連付けられた場合を説明したが、表示パラメータは、表示位置や透過度以外の属性に関連付けられてもよい。
すなわち、表示パラメータは、例えば、仮想オブジェクトOVの表示位置、実オブジェクトORに対する仮想オブジェクトOVの透過度、仮想オブジェクトOVの表示姿勢、仮想オブジェクトOVのサイズ、及び仮想オブジェクトOVの色のうち、少なくとも1つの属性に関連付けることができる。例えば、表示パラメータが、表示姿勢やサイズである属性に関連付けられた場合には、表示対象物12を隠している他のユーザ11の数などの遮蔽の程度に応じて、表示対象物12の表示姿勢やサイズが調整されて表示されることになる。
上述した第1、第2の実施の形態では、第1の状態及び第2の状態は、仮想オブジェクトOVが実オブジェクトORによって実際に隠された後に判定されている。これらの判定に代えて、第1の状態及び第2の状態は、仮想オブジェクトOVが実オブジェクトORによって実際に隠される前に判定、すなわち、推定されてもよい。このような推定は、例えば、ユーザ11−4と表示対象物12を結ぶ方向(奥行方向)において、ユーザ11−4と表示対象物12の間に存在する他のユーザ11の数に基づいて行われ得る。この推定において、ユーザ11−4から見て奥行方向に垂直な方向(左右方向)におけるユーザ間の位置関係は考慮されなくてよい。このような構成によれば、本開示に係る技術における第1の表示パラメータと第2の表示パラメータの選択にかかる処理負荷を低減することができる。その結果として、遮蔽処理の適用の程度をより適切に変更することが可能になる。
上記のユーザ間の位置関係の推定を実行するトリガーとして、例えばユーザ11−4から所定距離以内に他のユーザ11が居るか否かといった判定処理の結果が採用され得る。この判定処理において、ユーザ同士の位置関係を平面的にではなく実質的に直線的に判定される。このような判定処理によれば、ユーザ間の位置関係の推定がより高速に行われ、第1の状態か第2の状態かの推定をさらに高速に行うことができる。
上述した第1、第2の実施の形態では、仮想オブジェクトOVと実オブジェクトORの位置関係が第1の状態にあるか第2の状態に応じて、第1の表示パラメータと第2の表示パラメータの選択を行っている。より具体的には、表示方法決定部104(又は表示制御部105)は、第1の状態において、第1の表示パラメータに基づいて実オブジェクトORの形状に基づく仮想オブジェクトOVの遮蔽処理を行う。一方で、表示方法決定部104(又は表示制御部105)は、第2の状態において、遮蔽処理を抑制しつつ第2の表示パラメータに基づく仮想オブジェクトOVの表示処理を行う。
すなわち、本開示に係る技術における表示処理は、仮想オブジェクトOVの遮蔽処理の抑制を行うか否かの処理とみなされ得る。この遮蔽処理の抑制には、遮蔽処理の禁止が含まれ得る。このような表示処理によれば、遮蔽処理のためのオブジェクト間の位置関係の計算や仮想オブジェクトの描画処理にかかる処理負荷を適応的に低減することができる。この遮蔽処理の抑制には、遮蔽処理のための実オブジェクトORの形状の認識精度の低減や、認識される実オブジェクトORの形状の簡略化が含まれ得る。なお、遮蔽処理のための実オブジェクトORの認識の抑制や禁止に関わらず、ユーザ11の自己位置推定に掛かるSLAM(Simultaneously Localization and Mapping)処理のための実空間の認識は実行されてよい点に留意されたい。これらの遮蔽処理の抑制は、上記のユーザ間の位置関係の推定と組み合わせて行われてもよい。
<3.変形例>
ところで、上述した説明では、ARサービスの一例として、複数のユーザが協力してプレイするARゲームを一例に説明したが、本開示に係る技術を適用した拡張現実システムを利用することで、様々なARサービスを提供することができる。例えば、本開示に係る技術を適用した拡張現実システムでは、ARサービスとして、拡張現実(AR)によりユーザの移動を支援するARナビゲーションサービスを提供することができる。
このARナビゲーションサービスでは、クライアント端末10を装着したユーザ11に対し、例えば、人型のナビゲータである案内人(仮想オブジェクトOV)により目的地までの経路(ルート)を案内する際に、案内人が、曲がり角や建物などの実オブジェクト実オブジェクトORで隠れた場合に、どの実オブジェクトORの陰に隠れたかを認識できるように、仮想オブジェクトOVや実オブジェクトORに対する表示を制御する。
(クライアント端末とマップ提供サーバの構成)
本開示に係る技術を適用した拡張現実システムは、ARナビゲーションサービスを提供する場合、位置共有サーバ20の代わりに、マップ提供サーバ30が設けられる。図16は、クライアント端末10とマップ提供サーバ30の構成の例を示している。
図16において、クライアント端末10は、図3のクライアント端末10と同様に、測定部101乃至表示部106から構成される。なお、図16の測定部101乃至表示部106は、図3の測定部101乃至表示部106と比べて、表示方法決定部104により実行される表示方法決定処理の内容が異なるが、その詳細な内容は後述する。
また、図16において、マップ提供サーバ30は、制御部301、通信部302、及びマップDB303を含む。
制御部301は、例えば、CPU等のプロセッサから構成され、各部の動作の制御や各種の演算処理を行う中心的な処理装置として機能する。通信部302は、無線通信又は有線通信に対応した通信モジュールなどから構成される。
マップDB303は、ハードディスク等の記憶装置に記録され、様々な地域の3次元の地図情報をデータベースとして管理している。
以上のように構成されるマップ提供サーバ30においては、通信部302が、制御部301からの制御に従い、ネットワーク50を介してクライアント端末10から送信されてくる位置情報を受信し、受信した位置情報に対応する地図情報を、ネットワーク50を介してクライアント端末10に送信する。
(ARナビゲーションサービスの例)
図17は、ユーザ11がARナビゲーションサービスを利用して、人型のナビゲータである案内人14により目的地までの経路の案内を受けている場面を表している。
ここで、図17は、クライアント端末10を装着したユーザ11が、ある屋外の場所で見ているときの視界とされ、実世界に、仮想オブジェクトOVとしての案内人14が表示されている。なお、図17のAは、ある時刻t21におけるユーザ11の視界を表し、図17のBは、時刻t21よりも時間的に後の時刻t22におけるユーザ11の視界を表している。
図17のAにおいて、ユーザ11の視界には、道路やその左右の建物などの実オブジェクト15(マップ上に存在する実オブジェクトOR)と、案内人14(仮想オブジェクトOV)が見えている。案内人14は、「こちらです」であるメッセージによって、ユーザ11を目的地の方向に誘導している。
その後、目的地までの経路として、実オブジェクト15における建物の間の通路を通る必要がある場合、その通路が、案内人14により案内されることになる。
このとき、図17のBに示すように、ユーザ11に対し、案内人14がどの建物に隠れたかを認識させるために、実オブジェクト15のうち、対象の建物にフォーカス表示(例えば強調表示)する。図17のBの例では、案内人14が、実オブジェクト15のうち、右側の手前のビルとその隣のビルの間の通路上を動くとき、手前のビルが陰になって見えなくなるため、この手前のビルに対する強調表示(図中のドットパターンの表示)がなされる。
また、ここでは、手前のビルに遮蔽された案内人14の表示を、遮蔽前の表示と変えることで(図17のAの実線から、図17のBの点線に変化させることで)、ユーザ11に対し、案内人14が遮蔽された場所に存在することを認識させることができる。
さらには、通行人等の実オブジェクト16(マップ上に存在しない実オブジェクトOR)が、ユーザ11の視界に入ってきた場合に、実オブジェクト16によって、案内人14が遮蔽されるときには、その状態が、ユーザ11に認識されるようにする。図17のBの例では、強調表示された建物の手前に、3人の通行人が存在し、そこに、案内人14が重畳して表示されていることから、ユーザ11は、通行人によって案内人14が遮蔽されていることを認識することができる。
このように、クライアント端末10は、マップ提供サーバ30から取得した地図情報を用いることで、のユーザ11の位置と、マップ上に存在する実オブジェクトORである建物等の実オブジェクト15の位置との関係を認識可能となるので、対象の建物等の実オブジェクト15にフォーカス表示することができる。
具体的には、図18に示すように、建物15−1や建物15−2のようなマップ上に存在する実オブジェクトORと、通行人16−1乃至16−3のようなマップ上に存在しない実オブジェクトORとが実世界に存在する場合において、クライアント端末10を装着したユーザ11に対し、案内人14等の仮想オブジェクトOVを提示するに際し、仮想オブジェクトOVが実オブジェクトORにより遮蔽されるときには、次のような表示が行われる。
すなわち、クライアント端末10では、地図情報により特定可能な実オブジェクトORであって、仮想オブジェクトOV(例えば案内人14)を遮蔽しているもの(例えば建物15−1)にフォーカス表示を行うことができる。また、クライアント端末10では、地図情報により特定不可能な実オブジェクトORであって、仮想オブジェクトOV(例えば案内人14)を遮蔽しているもの(例えば通行人16−2,16−3)に対して、遮蔽をしていることが認識可能な表示を行うことができる。
(クライアント端末の動作)
次に、図19のフローチャートを参照して、上述したクライアント端末10の動作を説明する。なお、ここでは、上述した図17及び図18の例と同様に、ユーザ11に装着されるクライアント端末10において、ARナビゲーションサービスが提供される場合の動作を一例に説明する。
クライアント端末10では、マップがロードされる(S211)。すなわち、クライアント端末10では、事前に、位置情報をマップ提供サーバ30に送信して、ネットワーク50を介してマップ提供サーバ30から3次元の地図情報をあらかじめ取得しておくことで、現在位置に対応するマップ(いわば外部生成マップ)をロードすることができる。
ステップS212において、位置情報取得部111は、ユーザ11の位置情報及び向き情報を取得する。
ステップS213において、遮蔽判定部112は、案内人14等の仮想オブジェクトOVが、マップ上に存在する実オブジェクトOR(例えば建物等の実オブジェクト15)に隠れているかどうかを判定する。
ステップS213の判定処理が肯定(S213の「YES」)である場合、処理は、ステップS214に進められる。ステップS214において、遮蔽割合計算部113は、案内人14等の仮想オブジェクトOVを遮蔽している実オブジェクトORであって、マップ上に存在するもの(例えば建物)の遮蔽割合を計算する。
ステップS215において、表示パラメータ設定部114は、仮想オブジェクトOVを遮蔽割合に応じた表示に変更させるとともに、仮想オブジェクトOVを遮蔽している実オブジェクトORをフォーカス表示させる表示パラメータを設定する。
ここでは、例えば、ARナビゲーションサービスの提供時に、案内人14が、1又は複数の建物等の実オブジェクト15により遮蔽される場合に、案内人14における建物により遮蔽されている部分の表示を遮蔽前の表示と変更させるとともに、案内人14を遮蔽している建物にフォーカス表示(強調表示)させる表示パラメータ(第1の表示パラメータ)が設定される。
ステップS215の処理を終了すると、処理は、ステップS216に進められる。また、ステップS213の判定処理が否定(S213の「NO」)である場合、ステップS214,S215はスキップされ、処理は、ステップS216に進められる。
ステップS216において、遮蔽判定部112は、案内人14等の仮想オブジェクトOVが、マップ上に存在しない実オブジェクトOR(例えば通行人等の実オブジェクト16)に隠れているかどうかを判定する。
ステップS216の判定処理が肯定(S216の「YES」)である場合、処理は、ステップS217に進められる。ステップS217において、遮蔽割合計算部113は、案内人14等の仮想オブジェクトOVを遮蔽している実オブジェクトORであって、マップ上に存在しないもの(例えば通行人)の遮蔽割合を計算する。
ステップS218において、表示パラメータ設定部114は、仮想オブジェクトOVを遮蔽割合に応じた表示に変更させる表示パラメータを設定する。
ここでは、例えば、ARナビゲーションサービスの提供時に、案内人14が、1又は複数の通行人等の実オブジェクト16により遮蔽される場合に、案内人14における通行人により遮蔽されている部分の表示を遮蔽前の表示と変更させる表示パラメータ(第2の表示パラメータ)が設定される。
ステップS218の処理が終了すると、処理は、ステップS219に進められる。また、ステップS216の判定処理が否定(S216の「NO」)である場合、ステップS217,S218はスキップされ、処理は、ステップS219に進められる。
ステップS219において、表示制御部105は、仮想オブジェクトOVや実オブジェクトORの表示を制御する。
例えば、この表示制御処理では、ステップS213の判定処理が肯定(S213の「YES」)である場合に、ステップS215の処理で設定された表示パラメータに基づき、仮想オブジェクトOVと実オブジェクトORの表示が制御される。より具体的には、図17のBに示したように、手前のビルにより遮蔽されている案内人14の表示が、遮蔽前の表示から変更されるとともに、その手前のビルがフォーカス表示(強調表示)される。
また、例えば、この表示制御処理では、ステップS216の判定処理が肯定(S216の「YES」)である場合に、ステップS218の処理で設定された表示パラメータに基づき、仮想オブジェクトOVの表示が制御される。より具体的には、図17のBに示したように、手前の通行人により遮蔽されている案内人14の表示が、遮蔽前の表示から変更される。
ステップS219の処理が終了すると、処理は、ステップS220に進められる。ステップS220においては、処理を終了するかどうかが判定される。
ステップS220の判定処理が否定(S220の「NO」)である場合、処理は、ステップS212に戻り、上述したステップS212乃至S220の処理が繰り返され、仮想オブジェクトOVや実オブジェクトORの表示が制御される。また、ステップS220の判定処理が肯定(S220の「YES」)である場合、図19に示した処理は終了される。
以上、クライアント端末10の動作を説明した。
なお、上述した説明では、図1の拡張現実システムとして、クライアント端末10−1乃至10−Nが、ネットワーク50を介して位置共有サーバ20とデータをやり取りすることで、位置情報や向き情報を共有する構成を示したが、位置共有サーバ20を設けずに、クライアント端末10−1乃至10−Nのそれぞれが直接データをやり取りして、位置情報や向き情報を共有するようにしてもよい。
また、上述した説明では、クライアント端末10−1乃至10−Nの間で共有する情報として、位置情報と向き情報を例示したが、向き情報は必ずしも共有する必要はなく、さらには、位置情報と向き情報以外の他の情報が共有されるようにしてもよい。さらに、クライアント端末10−1乃至10−Nで共有される位置情報としては、例えば実オブジェクトORや仮想オブジェクトOV等に対する相対的な位置のほか、例えばGPS(Global Positioning System)等で得られる信号に基づいた絶対的な位置などを用いるようにしてもよい。
また、クライアント端末10は、例えば、メガネ型情報端末等のウェアラブル端末や、ヘッドマウントディスプレイ(HMD)などの電子機器として構成されるが、その表示部106は、例えば、メガネのレンズの内側等に映像を表示する透過型のディスプレイであってもよいし、あるいはユーザ11の視界を(完全に)覆った密閉型のディスプレイであってもよい。
さらに、上述した説明では、各クライアント端末10側で表示パラメータを生成しているが、表示パラメータを生成するための情報(例えば位置情報や向き情報等の情報)をネットワーク50上のサーバに送信することで、サーバ側で、各クライアント端末10で用いられる表示パラメータを生成(集中的に処理)し、ネットワーク50を介して各クライアント端末10に送信するようにしてもよい。
なお、ネットワーク50においては、有線通信や無線通信は勿論、無線通信と有線通信とが混在した通信、すなわち、ある区間では無線通信が行われ、他の区間では有線通信が行われるようにしてもよい。さらに、ネットワーク50においては、ある装置から他の装置への通信が有線通信で行われ、他の装置からある装置への通信が無線通信で行われるようにしてもよい。
<4.コンピュータの構成>
上述した一連の処理(例えば、図9又は図19に示したクライアント端末10の動作)は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、各装置のコンピュータにインストールされる。図20は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成の例を示すブロック図である。
コンピュータ1000において、CPU(Central Processing Unit)1001、ROM(Read Only Memory)1002、RAM(Random Access Memory)1003は、バス1004により相互に接続されている。バス1004には、さらに、入出力インターフェース1005が接続されている。入出力インターフェース1005には、入力部1006、出力部1007、記録部1008、通信部1009、及び、ドライブ1010が接続されている。
入力部1006は、マイクロフォン、キーボード、マウスなどよりなる。出力部1007は、スピーカ、ディスプレイなどよりなる。記録部1008は、ハードディスクや不揮発性のメモリなどよりなる。通信部1009は、ネットワークインターフェースなどよりなる。ドライブ1010は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブル記録媒体1011を駆動する。
以上のように構成されるコンピュータ1000では、CPU1001が、ROM1002や記録部1008に記録されているプログラムを、入出力インターフェース1005及びバス1004を介して、RAM1003にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ1000(CPU1001)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体1011に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線又は無線の伝送媒体を介して提供することができる。
コンピュータ1000では、プログラムは、リムーバブル記録媒体1011をドライブ1010に装着することにより、入出力インターフェース1005を介して、記録部1008にインストールすることができる。また、プログラムは、有線又は無線の伝送媒体を介して、通信部1009で受信し、記録部1008にインストールすることができる。その他、プログラムは、ROM1002や記録部1008に、あらかじめインストールしておくことができる。
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。また、プログラムは、1のコンピュータ(プロセッサ)により処理されてもよいし、複数のコンピュータによって分散処理されてもよい。
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本開示に係る技術の要旨を逸脱しない範囲において種々の変更が可能である。
また、上述した一連の処理(例えば、図9又は図19に示したクライアント端末10の動作)の各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
なお、本開示に係る技術は、以下のような構成をとることができる。
(1)
表示装置の第1のユーザから見て、前記表示装置によって表示される仮想オブジェクトが少なくとも1つの実オブジェクトによって隠れると判定される第1の状態において、第1の表示パラメータを用いて前記仮想オブジェクトを表示し、
前記第1のユーザから見て、前記仮想オブジェクトが前記第1の状態よりも多くの実オブジェクトによって隠れると判定される第2の状態において、前記第1の表示パラメータと異なる第2の表示パラメータを用いて前記仮想オブジェクトを表示する
ように前記表示装置を制御する表示制御部を備える
情報処理装置。
(2)
前記実オブジェクトによる前記仮想オブジェクトの遮蔽の程度を判定する判定部をさらに備え、
前記表示制御部は、前記判定部による前記遮蔽の程度の判定結果に応じた状態に対応した表示パラメータを用いて前記仮想オブジェクトの表示を制御する
前記(1)に記載の情報処理装置。
(3)
前記第1の表示パラメータ及び前記第2の表示パラメータはそれぞれ、前記仮想オブジェクトの表示位置、表示姿勢、サイズ、色、及び前記実オブジェクトに対する透過度のうち、少なくとも1つの属性に関連付けられている
前記(1)又は(2)に記載の情報処理装置。
(4)
前記第1の表示パラメータは、前記仮想オブジェクトを前記遮蔽の程度に応じた第1の位置に表示させるためのパラメータであり、
前記第2の表示パラメータは、前記仮想オブジェクトを前記遮蔽の程度に応じた前記第1の位置と異なる第2の位置に表示させるためのパラメータである
前記(3)に記載の情報処理装置。
(5)
前記第1の表示パラメータは、前記仮想オブジェクトの表示位置を、前記第1の位置に変更するためのパラメータであり、
前記第2の表示パラメータは、前記仮想オブジェクトの表示位置を、前記第2の位置に変更するためのパラメータである
前記(4)に記載の情報処理装置。
(6)
前記第1の表示パラメータ及び前記第2の表示パラメータの少なくとも一方のパラメータは、前記仮想オブジェクトを、デフォルトの表示位置から、上方の位置に移動させるためのパラメータである
前記(4)又は(5)に記載の情報処理装置。
(7)
前記仮想オブジェクトは、実空間の面に非固定のオブジェクトである
前記(4)乃至(6)のいずれかに記載の情報処理装置。
(8)
前記第1の表示パラメータは、前記仮想オブジェクトを前記遮蔽の程度に応じた第1の透過度で表示させるためのパラメータであり、
前記第2の表示パラメータは、前記仮想オブジェクトを前記遮蔽の程度に応じた前記第1の透過度と異なる第2の透過度で表示させるためのパラメータである
前記(3)に記載の情報処理装置。
(9)
前記第1の透過度及び前記第2の透過度は、完全透過を100%とし、完全不透過を0%とした場合に、0%よりも高く、かつ、100%よりも低い値となる
前記(8)に記載の情報処理装置。
(10)
前記第1の透過度は、前記第2の透過度よりも低い値である
前記(9)に記載の情報処理装置。
(11)
前記実オブジェクトは、動的なオブジェクトである
前記(1)乃至(10)のいずれかに記載の情報処理装置。
(12)
前記動的なオブジェクトは、人物を含む
前記(11)に記載の情報処理装置。
(13)
前記人物は、前記第1のユーザと同一のサービスの提供を受けている、前記第1のユーザとは異なる第2のユーザである
前記(12)に記載の情報処理装置。
(14)
前記第1のユーザの位置情報及び前記第2のユーザの位置情報を取得する取得部と、
前記第1のユーザの位置情報及び前記第2のユーザの位置情報に基づいて、前記第1の表示パラメータ及び前記第2の表示パラメータを設定する設定部と
をさらに備える前記(13)に記載の情報処理装置。
(15)
前記サービスは、拡張現実(AR:Augmented Reality)を利用したサービスである
前記(13)又は(14)に記載の情報処理装置。
(16)
前記表示制御部は、
前記第1の状態において、前記第1の表示パラメータに基づいて前記実オブジェクトの形状に基づく前記仮想オブジェクトの遮蔽処理を行い、
前記第2の状態において、前記遮蔽処理を抑制しつつ、前記第2の表示パラメータに基づく前記仮想オブジェクトの表示処理を行う
前記(1)乃至(15)のいずれかに記載の情報処理装置。
(17)
前記表示装置を有する携帯端末として構成される
前記(1)乃至(16)のいずれかに記載の情報処理装置。
(18)
前記携帯端末は、ウェアラブル端末又はヘッドマウントディスプレイを含む
前記(17)に記載の情報処理装置。
(19)
情報処理装置が、
表示装置の第1のユーザから見て、前記表示装置によって表示される仮想オブジェクトが少なくとも1つの実オブジェクトによって隠れると判定される第1の状態において、第1の表示パラメータを用いて前記仮想オブジェクトを表示し、
前記第1のユーザから見て、前記仮想オブジェクトが前記第1の状態よりも多くの実オブジェクトによって隠れると判定される第2の状態において、前記第1の表示パラメータと異なる第2の表示パラメータを用いて前記仮想オブジェクトを表示する
ように前記表示装置を制御する
情報処理方法。
(20)
コンピュータを、
表示装置の第1のユーザから見て、前記表示装置によって表示される仮想オブジェクトが少なくとも1つの実オブジェクトによって隠れると判定される第1の状態において、第1の表示パラメータを用いて前記仮想オブジェクトを表示し、
前記第1のユーザから見て、前記仮想オブジェクトが前記第1の状態よりも多くの実オブジェクトによって隠れると判定される第2の状態において、前記第1の表示パラメータと異なる第2の表示パラメータを用いて前記仮想オブジェクトを表示する
ように前記表示装置を制御する表示制御部
として機能させるためのプログラム。
10,10−1乃至10−N クライアント端末, 20 位置共有サーバ, 30 マップ提供サーバ, 50 ネットワーク, 101 測定部, 102 位置推定部, 103 通信部, 104 表示方法決定部, 105 表示制御部, 106 表示部, 111 位置情報取得部, 112 遮蔽判定部, 113 遮蔽割合計算部, 114 表示パラメータ設定部, 115 属性判定部, 201 制御部, 202 通信部, 301 制御部, 302 通信部, 303 マップデータベース, 1000 コンピュータ, 1001 CPU, OR 実オブジェクト, OV 仮想オブジェクト

Claims (20)

  1. 表示装置の第1のユーザから見て、前記表示装置によって表示される仮想オブジェクトが少なくとも1つの実オブジェクトによって隠れると判定される第1の状態において、第1の表示パラメータを用いて前記仮想オブジェクトを表示し、
    前記第1のユーザから見て、前記仮想オブジェクトが前記第1の状態よりも多くの実オブジェクトによって隠れると判定される第2の状態において、前記第1の表示パラメータと異なる第2の表示パラメータを用いて前記仮想オブジェクトを表示する
    ように前記表示装置を制御する表示制御部を備える
    情報処理装置。
  2. 前記実オブジェクトによる前記仮想オブジェクトの遮蔽の程度を判定する判定部をさらに備え、
    前記表示制御部は、前記判定部による前記遮蔽の程度の判定結果に応じた状態に対応した表示パラメータを用いて前記仮想オブジェクトの表示を制御する
    請求項1に記載の情報処理装置。
  3. 前記第1の表示パラメータ及び前記第2の表示パラメータはそれぞれ、前記仮想オブジェクトの表示位置、表示姿勢、サイズ、色、及び前記実オブジェクトに対する透過度のうち、少なくとも1つの属性に関連付けられている
    請求項2に記載の情報処理装置。
  4. 前記第1の表示パラメータは、前記仮想オブジェクトを前記遮蔽の程度に応じた第1の位置に表示させるためのパラメータであり、
    前記第2の表示パラメータは、前記仮想オブジェクトを前記遮蔽の程度に応じた前記第1の位置と異なる第2の位置に表示させるためのパラメータである
    請求項3に記載の情報処理装置。
  5. 前記第1の表示パラメータは、前記仮想オブジェクトの表示位置を、前記第1の位置に変更するためのパラメータであり、
    前記第2の表示パラメータは、前記仮想オブジェクトの表示位置を、前記第2の位置に変更するためのパラメータである
    請求項4に記載の情報処理装置。
  6. 前記第1の表示パラメータ及び前記第2の表示パラメータの少なくとも一方のパラメータは、前記仮想オブジェクトを、デフォルトの表示位置から、上方の位置に移動させるためのパラメータである
    請求項5に記載の情報処理装置。
  7. 前記仮想オブジェクトは、実空間の面に非固定のオブジェクトである
    請求項6に記載の情報処理装置。
  8. 前記第1の表示パラメータは、前記仮想オブジェクトを前記遮蔽の程度に応じた第1の透過度で表示させるためのパラメータであり、
    前記第2の表示パラメータは、前記仮想オブジェクトを前記遮蔽の程度に応じた前記第1の透過度と異なる第2の透過度で表示させるためのパラメータである
    請求項3に記載の情報処理装置。
  9. 前記第1の透過度及び前記第2の透過度は、完全透過を100%とし、完全不透過を0%とした場合に、0%よりも高く、かつ、100%よりも低い値となる
    請求項8に記載の情報処理装置。
  10. 前記第1の透過度は、前記第2の透過度よりも低い値である
    請求項9に記載の情報処理装置。
  11. 前記実オブジェクトは、動的なオブジェクトである
    請求項1に記載の情報処理装置。
  12. 前記動的なオブジェクトは、人物を含む
    請求項11に記載の情報処理装置。
  13. 前記人物は、前記第1のユーザと同一のサービスの提供を受けている、前記第1のユーザとは異なる第2のユーザである
    請求項12に記載の情報処理装置。
  14. 前記第1のユーザの位置情報及び前記第2のユーザの位置情報を取得する取得部と、
    前記第1のユーザの位置情報及び前記第2のユーザの位置情報に基づいて、前記第1の表示パラメータ及び前記第2の表示パラメータを設定する設定部と
    をさらに備える請求項13に記載の情報処理装置。
  15. 前記サービスは、拡張現実(AR:Augmented Reality)を利用したサービスである
    請求項13に記載の情報処理装置。
  16. 前記表示制御部は、
    前記第1の状態において、前記第1の表示パラメータに基づいて前記実オブジェクトの形状に基づく前記仮想オブジェクトの遮蔽処理を行い、
    前記第2の状態において、前記遮蔽処理を抑制しつつ、前記第2の表示パラメータに基づく前記仮想オブジェクトの表示処理を行う
    請求項1に記載の情報処理装置。
  17. 前記表示装置を有する携帯端末として構成される
    請求項1に記載の情報処理装置。
  18. 前記携帯端末は、ウェアラブル端末又はヘッドマウントディスプレイを含む
    請求項17に記載の情報処理装置。
  19. 情報処理装置が、
    表示装置の第1のユーザから見て、前記表示装置によって表示される仮想オブジェクトが少なくとも1つの実オブジェクトによって隠れると判定される第1の状態において、第1の表示パラメータを用いて前記仮想オブジェクトを表示し、
    前記第1のユーザから見て、前記仮想オブジェクトが前記第1の状態よりも多くの実オブジェクトによって隠れると判定される第2の状態において、前記第1の表示パラメータと異なる第2の表示パラメータを用いて前記仮想オブジェクトを表示する
    ように前記表示装置を制御する
    情報処理方法。
  20. コンピュータを、
    表示装置の第1のユーザから見て、前記表示装置によって表示される仮想オブジェクトが少なくとも1つの実オブジェクトによって隠れると判定される第1の状態において、第1の表示パラメータを用いて前記仮想オブジェクトを表示し、
    前記第1のユーザから見て、前記仮想オブジェクトが前記第1の状態よりも多くの実オブジェクトによって隠れると判定される第2の状態において、前記第1の表示パラメータと異なる第2の表示パラメータを用いて前記仮想オブジェクトを表示する
    ように前記表示装置を制御する表示制御部
    として機能させるためのプログラム。
JP2020548455A 2018-09-28 2019-09-13 情報処理装置、情報処理方法、及びプログラム Active JP7405085B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018183270 2018-09-28
JP2018183270 2018-09-28
PCT/JP2019/036033 WO2020066682A1 (ja) 2018-09-28 2019-09-13 情報処理装置、情報処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2020066682A1 true JPWO2020066682A1 (ja) 2021-08-30
JP7405085B2 JP7405085B2 (ja) 2023-12-26

Family

ID=69949669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020548455A Active JP7405085B2 (ja) 2018-09-28 2019-09-13 情報処理装置、情報処理方法、及びプログラム

Country Status (5)

Country Link
US (1) US11417051B2 (ja)
EP (1) EP3859687A4 (ja)
JP (1) JP7405085B2 (ja)
CN (1) CN112753050A (ja)
WO (1) WO2020066682A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018209607A1 (de) * 2018-06-14 2019-12-19 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zum Bestimmen einer Position eines Kraftfahrzeugs
EP4112143A4 (en) 2021-05-14 2023-01-11 Tencent Technology (Shenzhen) Company Limited METHOD AND APPARATUS FOR CONTROL DISPLAY, DEVICE, MEDIA, AND PROGRAM PRODUCT
CN113134233B (zh) * 2021-05-14 2023-06-20 腾讯科技(深圳)有限公司 控件的显示方法、装置、计算机设备及存储介质
JP7354185B2 (ja) 2021-06-18 2023-10-02 ヤフー株式会社 表示制御装置、表示制御方法および表示制御プログラム
WO2023233447A1 (ja) * 2022-05-30 2023-12-07 マクセル株式会社 仮想オブジェクトを表示する装置およびその表示方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005293142A (ja) * 2004-03-31 2005-10-20 Canon Inc 画像処理方法および画像処理装置
JP2005310020A (ja) * 2004-04-26 2005-11-04 Nintendo Co Ltd 3次元画像生成装置および3次元画像生成プログラム
US20160307374A1 (en) * 2013-12-19 2016-10-20 Metaio Gmbh Method and system for providing information associated with a view of a real environment superimposed with a virtual object

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9159165B2 (en) * 2010-07-13 2015-10-13 Sony Computer Entertainment Inc. Position-dependent gaming, 3-D controller, and handheld as a remote
US9122053B2 (en) * 2010-10-15 2015-09-01 Microsoft Technology Licensing, Llc Realistic occlusion for a head mounted augmented reality display
JP5830987B2 (ja) 2011-07-06 2015-12-09 ソニー株式会社 表示制御装置、表示制御方法およびコンピュータプログラム
CN102509342A (zh) * 2011-09-22 2012-06-20 北京航空航天大学 一种共享增强现实场景中协同式虚实遮挡处理方法
US9081177B2 (en) * 2011-10-07 2015-07-14 Google Inc. Wearable computer with nearby object response
US9255813B2 (en) * 2011-10-14 2016-02-09 Microsoft Technology Licensing, Llc User controlled real object disappearance in a mixed reality display
US9052804B1 (en) * 2012-01-06 2015-06-09 Google Inc. Object occlusion to initiate a visual search
JP5777786B1 (ja) * 2014-09-12 2015-09-09 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
JP6780642B2 (ja) * 2015-06-15 2020-11-04 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
WO2018064213A1 (en) * 2016-09-27 2018-04-05 Duke University Systems and methods for using sensing of real object position, trajectory, or attitude to enable user interaction with a virtual object
US10297090B2 (en) * 2017-06-12 2019-05-21 Nintendo Co., Ltd. Information processing system, apparatus and method for generating an object in a virtual space

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005293142A (ja) * 2004-03-31 2005-10-20 Canon Inc 画像処理方法および画像処理装置
JP2005310020A (ja) * 2004-04-26 2005-11-04 Nintendo Co Ltd 3次元画像生成装置および3次元画像生成プログラム
US20160307374A1 (en) * 2013-12-19 2016-10-20 Metaio Gmbh Method and system for providing information associated with a view of a real environment superimposed with a virtual object

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
小田島 太郎 ほか2名: "拡張現実感技術を用いた屋外型ウェアラブル注釈提示システム", 画像電子学会誌, vol. 第32巻 第6号, JPN6023032385, 25 November 2003 (2003-11-25), pages 832 - 840, ISSN: 0005124231 *

Also Published As

Publication number Publication date
EP3859687A4 (en) 2021-11-24
CN112753050A (zh) 2021-05-04
WO2020066682A1 (ja) 2020-04-02
US20210350611A1 (en) 2021-11-11
US11417051B2 (en) 2022-08-16
JP7405085B2 (ja) 2023-12-26
EP3859687A1 (en) 2021-08-04

Similar Documents

Publication Publication Date Title
JPWO2020066682A1 (ja) 情報処理装置、情報処理方法、及びプログラム
US10127917B2 (en) Filtering sounds for conferencing applications
KR102289389B1 (ko) 가상 오브젝트 방위 및 시각화
US10132633B2 (en) User controlled real object disappearance in a mixed reality display
CN111713121B (zh) 用于混合现实的双听者位置
US9384737B2 (en) Method and device for adjusting sound levels of sources based on sound source priority
WO2016203792A1 (ja) 情報処理装置、情報処理方法及びプログラム
WO2017030037A1 (ja) 仮想空間を提供するためにコンピュータで実行される方法、当該方法をコンピュータに実行させるプログラム、および、仮想空間を提供するための装置
KR20220005564A (ko) 복수의 헤드셋들 간의 오디오 공간화 및 강화
KR20190030746A (ko) 증강된/가상의 현실 환경에서의 가상 캐릭터들의 배치를 위한 시스템 및 방법
WO2019131143A1 (ja) 情報処理装置、情報処理方法、及びプログラム
WO2019130708A1 (ja) 情報処理装置、情報処理方法及びプログラム
CN116210021A (zh) 确定角加速度
WO2022004422A1 (ja) 情報処理装置、情報処理方法、及び記録媒体
US20190130631A1 (en) Systems and methods for determining how to render a virtual object based on one or more conditions
Li et al. Augmented reality and virtual reality
CN117981347A (zh) 用于对虚拟声源进行空间化的音频系统
US20240005511A1 (en) Immediate Proximity Detection and Breakthrough with Visual Treatment
US11983306B2 (en) Peripheral tracking system and method
US20230334794A1 (en) Presenting Communication Data Based on Environment
US20240031552A1 (en) Head-mounted display and image displaying method
WO2020202747A1 (ja) 情報処理装置、情報処理方法、及び記録媒体
US20230334676A1 (en) Adjusting Display of an Image based on Device Position
JP2024012898A (ja) 電子機器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230929

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: 20231114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231127

R151 Written notification of patent or utility model registration

Ref document number: 7405085

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151