JP7392723B2 - 情報処理装置、情報処理方法、およびプログラム - Google Patents

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

Info

Publication number
JP7392723B2
JP7392723B2 JP2021536919A JP2021536919A JP7392723B2 JP 7392723 B2 JP7392723 B2 JP 7392723B2 JP 2021536919 A JP2021536919 A JP 2021536919A JP 2021536919 A JP2021536919 A JP 2021536919A JP 7392723 B2 JP7392723 B2 JP 7392723B2
Authority
JP
Japan
Prior art keywords
displayed
information processing
initial position
size
display
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.)
Active
Application number
JP2021536919A
Other languages
English (en)
Other versions
JPWO2021020130A1 (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 JPWO2021020130A1 publication Critical patent/JPWO2021020130A1/ja
Application granted granted Critical
Publication of JP7392723B2 publication Critical patent/JP7392723B2/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
    • G06T19/00Manipulating 3D models or images for computer graphics
    • 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
    • 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
    • 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
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/012Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本技術は、情報処理装置、情報処理方法、およびプログラムに関し、例えば仮想的なオブジェクトを表示するとき、ユーザにとって好ましい表示が行われるようにする情報処理装置、情報処理方法、およびプログラムに関する。
実空間に付加的な情報を重畳してユーザに提示する拡張現実(AR:Augmented Reality)と呼ばれる技術が知られている。AR技術においてユーザに提示される情報は、アノテーションとも呼ばれる。アノテーションは、テキスト、アイコン、アニメーションなどさまざまな形態の仮想的なオブジェクトによって可視化される。
特許文献1では、仮想オブジェクトの表示を適切に制御し、仮想オブジェクトの表示の乱れによってユーザに混乱を与えないようにすることが提案されている。
特開2012-221250号公報
オブジェクトを表示するとき、ユーザとオブジェクトの位置関係が適切でなければ、適切な表示とはならない。例えば、オブジェクトがユーザの目の前(ユーザに近い位置)に表示されると、オブジェクトの一部しか見えないなど適切な表示とはならず、ユーザに不快感や違和感を与えてしまう可能性があった。
本技術は、このような状況に鑑みてなされたものであり、オブジェクトなどの表示を適切に行えるようにするものである。
本技術の一側面の情報処理装置は、現実世界に重畳されて表示されるオブジェクトの仮想三次元空間内において提示する提示位置に関する提示位置情報、前記オブジェクトのサイズに関するサイズ情報、および前記オブジェクトを表示する表示部の視界領域に関する視界領域情報に基づいて、前記オブジェクトを前記表示部に初期表示する初期位置を設定する設定部を備え、前記設定部は、前記初期位置を、前記現実世界を基準とする座標系において、前記提示位置情報が表す位置よりも奥行方向において奥に設定する。
本技術の一側面の情報処理方法は、情報処理装置が、現実世界に重畳されて表示されるオブジェクトの仮想三次元空間内において提示する提示位置に関する提示位置情報、前記オブジェクトのサイズに関するサイズ情報、および前記オブジェクトを表示する表示部の視界領域に関する視界領域情報に基づいて、前記オブジェクトを前記表示部に初期表示する初期位置を設定し、前記初期位置を、前記現実世界を基準とする座標系において、前記提示位置情報が表す位置よりも奥行方向において奥に設定する。
本技術の一側面のプログラムは、コンピュータに、現実世界に重畳されて表示されるオブジェクトの仮想三次元空間内において提示する提示位置に関する提示位置情報、前記オブジェクトのサイズに関するサイズ情報、および前記オブジェクトを表示する表示部の視界領域に関する視界領域情報に基づいて、前記オブジェクトを前記表示部に初期表示する初期位置を設定し、前記初期位置を、前記現実世界を基準とする座標系において、前記提示位置情報が表す位置よりも奥行方向において奥に設定するステップを含む処理を実行させる。
本技術の一側面の情報処理装置、情報処理方法、並びにプログラムにおいては、現実世界に重畳されて表示されるオブジェクトの仮想三次元空間内において提示する提示位置に関する提示位置情報、オブジェクトのサイズに関するサイズ情報、およびオブジェクトを表示する表示部の視界領域に関する視界領域情報に基づいて、オブジェクトを表示部に初期表示する初期位置が設定される。初期位置は、現実世界を基準とする座標系において、提示位置情報が表す位置よりも奥行方向において奥に設定される。
なお、情報処理装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
また、プログラムは、伝送媒体を介して伝送することにより、または、記録媒体に記録して、提供することができる。
本開示に係わる情報処理システムの一実施の形態の構成を示す図である。 表示デバイスの一例を示す図である。 本開示に係る技術を適用したAR-HMDの外観構成を示す図である。 情報処理装置としてのAR-HMDの構成例を示すブロック図である。 AR-HMDの機能構成例を示すブロック図である。 仮想スクリーンサイズについて説明するための図である。 ユーザの動作の一例を示す図である。 表示される画面の一例を示す図である。 表示される画面の一例を示す図である。 表示される画面の一例を示す図である。 表示設定について説明するための図である。 表示される画面の一例を示す図である。 表示設定について説明するための図である。 表示設定について説明するための図である。 表示設定について説明するための図である。 情報処理装置の動作について説明するためのフローチャートである。 記録媒体について説明するための図である。
以下に、本技術を実施するための形態(以下、実施の形態という)について説明する。
<ARコンテンツの表示デバイスについて>
図1は、本技術の一実施の形態に係る情報処理システムの構成例を示す図である。
図1の情報処理システムは、AR-HMD1と情報処理装置2が、LAN(Local Area Network)やインターネットなどのネットワーク3を介して接続されることによって構成される。
図1に示すように、AR-HMD1は、透過型の表示部を備えた眼鏡型のウェアラブル端末である。AR-HMD1は、ネットワーク3を介して行われる情報処理装置2による制御に従って、キャラクタなどの各種のオブジェクトを含む映像を表示部に表示する。ユーザは、自分の前方の風景に重ねてオブジェクトを見ることになる。
オブジェクトを含む映像の投影方式は、虚像投影方式であってもよいし、ユーザの目の網膜に直接結像させる網膜投影方式であってもよい。
情報処理装置2は、ARコンテンツを再生し、再生して得られた映像データをAR-HMD1に送信することによって、ARコンテンツの映像をAR-HMD1において表示させる。情報処理装置2は、例えばPC(Personal Computer)により構成される。
AR-HMD1に代えて、図2のAに示すビデオ透過型のHMDであるAR-HMD1Aや、図2のBに示すスマートフォン1Bなどの携帯端末が、ARコンテンツの表示デバイスとして用いられるようにしてもよい。
表示デバイスとしてAR-HMD1Aが用いられる場合、情報処理装置2が再生するARコンテンツの映像は、AR-HMD1Aに設けられたカメラにより撮影された、AR-HMD1Aの前方の風景の画像に重ねて表示される。AR-HMD1Aを装着したユーザの目の前方には、カメラにより撮影された画像に重ねてARコンテンツを表示するディスプレイが設けられている。
また、スマートフォン1Bが用いられる場合、情報処理装置2が再生するARコンテンツの映像は、スマートフォン1Bの背面に設けられたカメラにより撮影された、スマートフォン1Bの前方の風景の画像に重ねて表示される。スマートフォン1Bの正面には、各種の画像を表示するディスプレイが設けられている。
実際のシーンに存在する物体の表面に映像を投影するプロジェクタがARコンテンツの表示デバイスとして用いられるようにしてもよい。タブレット端末、テレビジョン受像機などの各種のデバイスをARコンテンツの表示デバイスとして用いることが可能である。
表示デバイスと情報処理装置2がネットワーク3を介して無線で接続されるのではなく、有線で接続されるようにしてもよい。
<AR-HMDの外観構成>
以下の説明においては、図3に示すように、本技術を適用した情報処理装置として、眼鏡型の形状を有するウェアラブル端末を例に挙げて説明する。
図3に示したAR-HMD1は、全体として眼鏡型の形状を採り、表示部11およびカメラ12を備えている。
表示部11は、眼鏡のレンズ部分に対応し、例えばその全部が透過型のディスプレイとして構成される。したがって、表示部11は、ユーザが直接視認している実世界の像(実オブジェクト)に、アノテーション(仮想オブジェクト)を透過的に重畳表示する。
カメラ12は、AR-HMD1を装着するユーザの左眼に対応する表示部11の端に設けられ、そのユーザの視界に含まれる実空間の像を撮像する。カメラ12は、例えばCCD(Charge Coupled Device)イメージセンサや、CMOS(Complementary Metal Oxide Semiconductor)イメージセンサなどの固体撮像素子を用いて構成される。なお、各センサは、それぞれ複数設けられていてもよい。すなわち、カメラ12は、ステレオカメラとして構成されてもよい。
表示部11には、カメラ12により取得された画像を表示させるとともに、その画像に対してアノテーションを重畳表示させるようにすることもできる。
また、図示はしないが、AR-HMD1において眼鏡のフレームに対応する筐体には、各種のセンサ類やボタン、スピーカなどが、収納または搭載されている。
なお、AR-HMD1の形状は、図3に示される形状に限らず、帽子形状、ユーザの頭部を一周して固定されるベルト形状、ユーザの頭部全体を覆うヘルメット形状など、さまざまな形状を採ることができる。すなわち、本開示に係る技術は、HMD全般に適用することができる。
<情報処理装置としてのAR-HMDの構成例>
図4は、情報処理装置としてのAR-HMD1の構成例を示すブロック図である。
図4のAR-HMD1は、CPU(Central Processor Unit)31、メモリ32、センサ部33、入力部34、出力部35、および通信部36を備えている。これらは、バス37を介して相互に接続されている。
CPU31は、メモリ32に記憶されているプログラムやデータなどに従って、AR-HMD1が備える各種の機能を実現するための処理を実行する。
メモリ32は、半導体メモリまたはハードディスクなどの記憶媒体によって構成され、CPU31による処理のためのプログラムやデータを格納する。
センサ部33は、図3のカメラ12を始め、マイクロフォン、ジャイロセンサ、加速度センサなどの各種のセンサ類から構成される。センサ部33により取得された各種のセンサ情報もまた、CPU31による処理に用いられる。
入力部34は、ボタンやキー、タッチパネルなどから構成される。出力部35は、図3の表示部11やスピーカなどから構成される。通信部36は、各種の通信を仲介する通信インタフェースとして構成される。
<AR-HMDの機能構成例>
図5は、本開示に係る技術を適用したAR-HMD1の機能構成例を示すブロック図である。
図3のAR-HMD1は、制御部51、センサ部52、表示部53、スピーカ54、通信部55、操作入力部56、および記憶部57から構成される。
制御部51は、図4のCPU31に対応し、AR-HMD1が備える各種の機能を実現するための処理を実行する。
センサ部52は、図3のセンサ部33に対応し、各種のセンサ類から構成される。
具体的には、センサ部52は、図3のカメラ12に対応する外向きカメラ52a、AR-HMD1を装着するユーザを撮像する内向きカメラ52b、および、AR-HMD1の周囲の音声を集音するマイクロフォン52cを有している。特に、内向きカメラ52bによれば、ユーザの視線を検出することが可能となる。
また、センサ部52は、AR-HMD1の角度(姿勢)や角速度を検出するジャイロセンサ52d、加速度を検出する加速度センサ52e、および、方角を検出する方位センサ52fを有している。これらは、個別に構成されていてもよいし、一体となって構成されるようにしてもよい。
さらに、センサ部52は、GPS(Global Positioning System)システムなどの衛星測位システムにより位置を測位するための位置測位部52g、および、AR-HMD1を装着しているユーザの生体情報(心拍数、体温、脳波など)を取得する生体センサ52hを有している。
これらのセンサにより取得された各種のセンサ情報は、制御部51により実行される処理に用いられる。
表示部53は、図3の表示部11に対応し、制御部51の制御に従ってアノテーション表示したり、外向きカメラ52aにより取得された画像を表示したりする。
スピーカ54は、ユーザに向けて出力される音声の音源となり、制御部51の制御に従って音声を出力する。
通信部55は、図4の通信部36に対応し、他の装置、例えば、情報処理装置2(図1)との間で各種の通信を行う。
操作入力部56は、図4の入力部34に対応し、AR-HMD1に対するユーザの操作入力を受け付ける。
制御部51は、AR-HMD1の表示部53の表示領域と三次元空間中に配置された実オブジェクトまたは仮想オブジェクトとの間の位置関係、および、ユーザの動作を表すユーザ動作情報(以下、単に動作情報ともいう)に基づいて、その実オブジェクトまたは仮想オブジェクトの位置に関連付けられた出力を制御する。ここでいう三次元空間は、実空間とすることもできるし、仮想空間とすることもできる。
具体的には、制御部51は、所定のプログラムを実行することにより、センサ情報取得部71、頭部位置・方向検出部72、オブジェクトサイズ設定部73、レイアウトパラメータ計算部74、レイアウト決定部75、および出力制御部76を実現する。
センサ情報取得部71は、センサ部52からセンサ情報を取得し、そのセンサ情報に基づいて、AR-HMD1を装着するユーザの動作を表すユーザ動作情報を取得する。ユーザ動作情報には、ユーザの身体全体またはその各部位の動作、ユーザの視線の動き(視線位置の変化)、ユーザとオブジェクトとの距離の変化などに関する動的情報が含まれる。また、センサ情報取得部71は、センサ部52から取得したセンサ情報に基づいて、AR-HMD1を装着するユーザの位置や姿勢を表すユーザ位置姿勢情報(以下、単に位置姿勢情報ともいう)を取得する。ユーザ位置姿勢情報には、ユーザの姿勢や位置、ユーザとオブジェクトとの距離などに関する静的情報が含まれる。
頭部位置・方向検出部72は、センサ情報取得部71により取得された情報から、ユーザの頭部の位置や、ユーザの頭部が向いている方向(ユーザが見ている方向)を検出する。
オブジェクトサイズ設定部73は、表示するオブジェクトの大きさや、表示位置などを設定する。後述するように、表示するオブジェクトがあった場合、そのオブジェクトをユーザに違和感や不快感を与えることなく見せるために、ユーザとの位置関係を考慮して、オブジェクトの大きさや、表示位置が設定される。
レイアウトパラメータ計算部74は、センサ情報取得部71により取得されたセンサ情報、具体的には、そのセンサ情報から取得されたユーザ動作情報およびユーザ位置姿勢情報に基づいて、また、オブジェクトサイズ設定部73により設定されたオブジェクトの大きさや表示位置に基づいて、ユーザの動作・位置・状態などを表すパラメータを計算する。
レイアウト決定部75は、レイアウトパラメータ計算部74により計算されたパラメータに基づいて、表示部53の表示領域に表示するオブジェクトに関する出力の出力形態を決定する。
出力制御部76は、レイアウト決定部75により決定された出力形態で、表示部53の表示領域においてオブジェクトに関する出力を制御する。
記憶部57は、制御部51が制御を行うのに必要な各種のデータを記憶している。記憶部57と制御部51の一部は、情報処理装置2(図1)が有する構成とすることもできる。
<オブジェクトが画角切れする場合について>
本技術を適用したAR-HMD1は、状況に応じて、表示するオブジェクトの大きさや表示位置を設定する。ここで、オブジェクトとは、例えば、テキスト、アイコン、アニメーションなどのコンテンツである。
図6を参照し、オブジェクトと、仮想スクリーンの大きさの関係について説明する。AR-HDM1では、AR-HDM1の装着者(図6ではユーザ101)とオブジェクト(図6ではオブジェクト121)の距離に応じて、表示可能なオブジェクトの最大サイズは異なる。表示可能なオブジェクトのサイズは、仮想スクリーンのサイズに依存する。
仮想スクリーンとは、表示部53に仮想的に表示される画面である。仮想スクリーンのサイズについては、次式(1)に基づいて算出することができる。
Figure 0007392723000001
式(1)において、dは、ユーザ101と仮想スクリーンまでの距離を表す。FOV(h)は、FOVの水平角度または垂直角度を表す。FOVは、Field Of Viewの略であり、視界を表す。一般的に、AR-HDM1のFOVは、水平角度が40度、垂直角度が20度である。以下の説明は、FOVの値として、この値が設定されている場合を例に挙げて説明を続ける。
式(1)を用いて、100cm(1m)の位置に表示できる最大コンテンツサイズ(仮想スクリーンサイズ)を算出すると、横73cm、縦35cmとなる。また300cm(3m)の位置に表示できる最大コンテンツサイズ(仮想スクリーンサイズ)を算出すると、横160cm、縦105mとなる。また500cm(5m)の位置に表示できる最大コンテンツサイズ(仮想スクリーンサイズ)を算出すると、横267cm、縦176mとなる。
図6を参照するに、100cm(1m)の位置に表示される仮想スクリーンを、仮想スクリーン122とし、500cm(5m)の位置に表示される仮想スクリーンを、仮想スクリーン123とする。図6中、オブジェクト121を、円形で表す。
1mに位置する仮想スクリーン122で、オブジェクト121を表示すると、画角切れを起こしている。図6に示した状態では、オブジェクト121の中央部分しか表示されていない状態となる。なお、以下の説明において、画角切れとは、表示部53にオブジェクトが収まらない状態で表示されていることを意味する。また、画角切れとは、ユーザの視界領域内にオブジェクトが収まらない状態で表示されていることを意味する。
5mに位置する仮想スクリーン123で、オブジェクト121を表示すると、垂直方向は画角切れを起こしている(視界領域内に収まっていない)が、水平方向は画角内に収まっている(視界領域内に収まっている)。よって、図6に示した状態では、オブジェクト121の垂直方向は一部見えないが、水平方向は全て見えている状態となる。
例えば、図6に示した仮想スクリーン122での表示状態の場合、ユーザは、何が表示されているのか理解できず、慌ててしまう、不快に感じてしまうなど、好ましくない状態となる可能性がある。また、状況が理解できずに、どのようにして良いかもわからず、動きが止まってしまう可能性もある。
図6に示した仮想スクリーン123での表示状態の場合も、画角切れしている部分はあるが、水平方向(図中左右方向)では、全体が見えているため、オブジェクト121の大きさをユーザは認識することができる。よって、例えば、ユーザは、後に下がれば、オブジェクト121全体を見ることができるといった判断を下すことができ、その判断に基づく動作を行うことができる。
このようなことから、図6に示した距離d=1mで画角切れが起きている仮想スクリーン122のような表示状態が発生しないようにすることが好ましい。このことについて、図7を参照して説明を加える。なお、以下の説明においては特に断りがない場合、座標、位置などは、ワールド座標系での座標や位置などである。
なお、オブジェクトを表示する位置は、現実世界を基準とした位置で定義されても良いし、仮想三次元空間を基準とした位置で定義されても良い。ここでは、仮想三次元空間に設定されているワールド座標系で定義される位置である場合を例に挙げて説明を続ける。
例えば、図7のAに示すように、オブジェクトAは、ワールド座標系で規定される位置P1で表示されるオブジェクトとして設定されている。ユーザ151が、位置P2に位置しているときにオブジェクトAを見た場合、画角切れなく表示される。例えば、図8のAに示すように、オブジェクトA(お化けのような形状のオブジェクトとする)が、画角切れなく表示部53に表示される。
図7のBに示すように、オブジェクトAが表示される位置P1付近の位置P3に、ユーザ151は位置し、方向D2の方を向いている。方向D2は、ワールド座標系でX軸方向であり、オブジェクトAが表示されるZ軸方向とは異なる方向である。よって、ユーザ151が方向D2を向いているときに、オブジェクトAが位置P1で表示されても、ユーザ151がそのオブジェクトAを見える状態ではない。
ユーザ151が、方向D2を向いている状態から、方向D1に方向転換した場合、オブジェクトAが目の前に表示される。例えば、図8のBに示すように、表示部53にオブジェクトAが大きく表示され、画角切れを起こしている。このように、ユーザ151が振り返るなどしたときに、突然画面にオブジェクトAの一部が表示されると、ユーザは、何が起きたのかわからず、慌ててしまったり、動作が止まってしまったりする。
オブジェクトAが、図9に示すような不動物体である場合もある。不動物体として、例えば、看板を例に挙げて説明する。図9のAは、図7のAのように、オブジェクトAとユーザ151が適切な位置関係にあるときに表示部53に表示される画面であり、オブジェクトとしての看板の全体が表示されている。
図9のBは、図7のBのように、オブジェクトAとユーザ151が適切ではない位置関係にあるときに、表示部53に表示される画面であり、オブジェクトとしての看板の一部が表示されている。看板の一部のみが表示されているため、ユーザは、表示されているのが何であるのか認識しづらい状態である。
オブジェクトAは、ユーザに何らかの情報をテキストで通知するオブジェクトである場合もある。例えば、図10のAに示したように、“目的のお店”というメッセージがオブジェクトAとして表示部53に表示される場合もある。図10のAは、図7のAのように、オブジェクトAとユーザ151が適切な位置関係にあるときに表示部53に表示される画面であり、オブジェクトとしての通知されたメッセージ全体が表示されているため、ユーザは、そのメッセージを読むことができる。
図10のBは、図7のBのように、オブジェクトAとユーザ151が適切ではない位置関係にあるときに、表示部53に表示される画面であり、オブジェクトとしての通知(メッセージ)の一部が表示されている。メッセージの一部のみが表示されているため、ユーザは、表示されているメッセージを読むことができない状態である。
このように、オブジェクトとユーザの位置関係が適切ではない場合、ユーザがオブジェクトを認識できないなどの不都合が発生する可能性がある。また、ユーザの動作によっても、オブジェクトが急に表示されたり、ユーザがオブジェクトを認識できない状態で表示されたりする。そこで、以下に説明するように、オブジェクトの属性により、オブジェクトの表示が制御される。
<オブジェクトの表示位置、大きさの設定について>
<第1の表示設定>
図8に示したように、オブジェクトAがお化けのような可動物体である場合について説明する。オブジェクトAが可動物体であり、何らかの動作を伴う表示がされた場合でも、ユーザに違和感を与えるようなことがないようなオブジェクトの場合、図11に示すような表示が行われる。
図11を参照するに、ユーザ151は、時刻t1において、位置P3に位置する。また、位置P3は、オブジェクトAが表示される位置P1の近傍である。この状態は、図7のBを参照して説明した場合と同じく、オブジェクトAが位置P1に表示されると、ユーザ151に提示される画面は、図8のBのようになり、画角切れが起きている画面となる。
時刻t1において、ユーザ151に提示したいオブジェクトAがあるが、オブジェクトAを表示する位置として設定されている位置P1で表示した場合、画角切れなど不都合な表示がされると判定された場合、時刻t2において、位置P4にオブジェクトAが表示される。位置P4は、位置P1よりもユーザ151から離れた位置である。そのようなユーザ151から離れた位置P4に、オブジェクトAが表示される。
例えば、位置P4は、図8のAに示したように、オブジェクトAが画角切れすることなく、表示される位置である。換言すれば、オブジェクトAがユーザの死や領域内に収まるように表示される位置である。一旦、オブジェクトA全体が表示される位置P4までオブジェクトを後退させる。その後の時刻t3に、位置P1にオブジェクトAを表示する。位置P4から位置P1まで、オブジェクトAは、徐々にユーザ151に近づいてくるようなアニメーション表示がなされる。
このような表示がなされることで、ユーザ151には、例えば、図12に示すような画面が提示される。時刻t2においては、オブジェクトAは、遠くの位置に表示されているため、オブジェクトA全体が表示されている状態である。時刻t2から時刻t3の間に、徐々にオブジェクトAの表示は大きくなる。
時刻t2の次の時刻t2’のときのオブジェクトAは、時刻t2のときのオブジェクトAよりも大きく表示される。さらに、時刻t2’の次の時刻t2”のときのオブジェクトAは、時刻t2’のときのオブジェクトAよりも大きく表示される。そして、時刻t2”の次の時刻t3のときのオブジェクトAは、時刻t2”のときのオブジェクトAよりも大きく表示される。
ユーザ151から見ると、オブジェクトAが、徐々に自身に近づいてくるような表示である。
オブジェクトが表示される位置として設定されている位置P1を、適宜、提示予定位置と記載する。またオブジェクトが画角切れしない位置として、オブジェクトを最初に表示させる位置を、適宜、初期位置と記載する。
提示予定位置や初期位置などの位置とは、3次元空間において仮想オブジェクトを表示する位置であり、AR-HMD1を装着したユーザが表示部53(図5)に表示された画面を見たときに、重畳表示された実空間内において仮想オブジェクトが存在すると知覚する3次元的な位置を表す。
本技術を、図1乃至3に示したAR-HMD1に適用した場合、AR-HDM1により、3次元空間中に配置された実オブジェクトや仮想オブジェクトが表示された画面がユーザに提示される。位置とは、ユーザに提示される画面において、ユーザが実オブジェクトや仮想オブジェクトを知覚(視認)する、3次元空間における位置である。
AR-HMD1は、オブジェクトが、可動物体という属性を有している場合、初期位置を設定し、その初期位置にオブジェクトを一旦表示してから、予め設定されている提示予定位置まで、アニメーション表示する。
初期位置は、例えば、次式(2)により設定できる。
Figure 0007392723000002
式(2)は、ユーザの位置を(0,0,0)としたときの初期位置を算出する式である。式(2)において、(x,y,z)は、提示予定位置の座標を表し、(X、Y、Z)は、初期位置を表す。式(2)中、dは、奥行情報(Z座標)であり、式(3)により求められる。
Figure 0007392723000003
式(3)は、式(1)を変形した式である。すなわち、dは、ユーザと仮想スクリーンまでの距離である。式(2)と式(3)から、初期位置が設定される。以下の説明においても、初期位置は、式(2)と式(3)から算出されるとして説明を続ける。
なお、ここでは、位置P4(初期位置)でオブジェクトAが表示される場合、オブジェクトAの全体が表示されるとして説明をしたが、オブジェクトAの水平方向または垂直方向の少なくとも一方において画角切れを起こしていなければ良い。換言すれば、オブジェクトAの水平方向または垂直方向の少なくとも一方において画角切れを起こさない位置が、初期位置として設定される。
さらに換言するに、表示部53の横方向とオブジェクトAの横方向のサイズが調整されることで、オブジェクトAが視界領域内に入るように調整されるか、表示部53の縦方向とオブジェクトAの縦方向のサイズが調整されることで、オブジェクトAが視界領域内に入るように調整される。
視界領域内に収まるようにオブジェクトAの初期位置が設定されるが、その奥行に制限を設けても良い。例えば、オブジェクトAが可動できる範囲が設定されているような場合、その可動範囲内に収まるように初期位置が設定されるようにしても良い。
また、位置P4は、提示予定位置のZ軸方向(奥行方向)の座標が変更されるとして説明を続けるが、例えば、上方向(または下方向)から、徐々に近づいてくるようなアニメーションを行うために、提示予定位置のZ軸方向とY軸方向のそれぞれの座標が変更されるようにしても良い。
なお、視界領域は、視野角で、人間の視野角(例えば、180度)以下に設定されており、上記した処理を行うときに用いられる視界領域情報は、その設定されている視野角の情報となる。
<第2の表示設定>
オブジェクトAが可動物体である場合の他の表示の仕方について図13を参照して説明する。図13の時刻t11のところに示した状態は、図11の時刻t1と同様の状態であり、オブジェクトAが位置P1に表示されると、ユーザ151に提示される画面は画角切れが起きている画面となる状態である。よって、このような場合、図11を参照して説明したように、オブジェクトAは、画角切れが起きない位置P4の位置が初期位置として設定され、表示される。
しかしながら、図13の時刻t11のところに示した状態は、位置P1と位置P4との間の位置P5に、壁などの障害物がある状態である。この障害物は、現実世界において存在する障害物である場合もあるし、仮想三次元空間内に設定されている障害物である場合もある。
このように、初期位置として設定したい位置と、ユーザが位置している位置P3との間に、壁などの障害物がある場合に、位置P4を初期位置として、オブジェクトAを表示させることはできない。
このような場合、できるだけユーザ151から離れた位置が初期位置として設定される。図13の時刻t11に示したような状況の場合、壁がある位置P5の位置が初期位置に設定される。図13の時刻t12のところに示したように、位置P6が初期位置に設定される。位置P6は、正確には、位置P5よりも位置P1に近い側である。また、位置P6は、位置P5よりも奥行き方向で前側(ユーザ151側)であり、位置P6よりも所定の距離離れた位置である。
このように、奥行方向に障害物など、オブジェクトを表示することができない領域がある場合には、その障害物までの距離(深度)を検出し、その深度の手前側に初期位置が設定される。
時刻t12において、位置P6(初期位置)にオブジェクトAが表示される。時刻t13に、位置P1(提示予定位置)にオブジェクトAが表示される。位置P6から位置P1まで、オブジェクトAは、徐々にユーザ151に近づいてくるようなアニメーション表示がなされる。
オブジェクトが、可動物体という属性を有している場合、初期位置を設定し、その初期位置にオブジェクトを一旦表示してから、予め設定されている提示予定位置まで、アニメーション表示される。また初期位置として設定したい場所と提示予定位置との間に、壁などの障害物がある場合、その障害物の位置を、初期位置として設定することができる。
図13の時刻t12では、初期位置として設定された位置P6にオブジェクトAが表示されるとしたが、この位置P6は、画角切れが発生する可能性がある位置である。そこで、設定した初期位置でも、画角切れが発生する可能性がある場合、図14の時刻t12’→t13のところに示すように、オブジェクトAを一旦小さく表示するようにしても良い。小さく表示するとは、オブジェクトAのサイズ情報で示されるサイズよりも小さく表示することを意味する。
時刻t12’において、位置P6に、画角切れしないぐらいの大きさで、オブジェクトAが表示される。換言すれば、位置P6に、小さくオブジェクトAが表示される。その後、時刻t13になるまでの間に、オブジェクトAは徐々に大きく、かつ徐々にユーザに近づくようなアニメーションが行われて表示される。
このような表示は、オブジェクトが、不動物体である場合にも適用することができる。オブジェクトが、図9に示したような不動物体である場合について説明する。オブジェクトAが不動物体である場合、仮に、図11、図12を参照して説明した可動物体と同じような表示をした場合、動かない物体が動く表示がされることになり、ユーザに違和感を与えることになる。そこで、オブジェクトが不動物体の場合、図14を参照して説明したように、一旦小さく表示してから、元の大きさ(サイズ情報で示されるサイズ)に表示されるようにしても良い。
ただし、不動物体である場合、可動物体のように、可動しているようなアニメーションが行われるのではなく、提示予定位置を初期位置とし、その初期位置で一旦小さく表示される。このような表示について、図15を参照して説明する。
図15の時刻t21のところに示した状態は、図11の時刻t1と同様の状態であり、オブジェクトAが位置P1に表示されると、ユーザ151に提示される画面は画角切れが起きている画面となる状態である。オブジェクトAが、不動物体との属性を付与されている場合、初期位置は、提示予定位置に設定される。
時刻t22において、位置P1に、オブジェクトAが小さく表示される。時刻t23において、位置P1に、オブジェクトAが、本来表示される大きさとして設定されている大きさで表示される。
時刻t22から時刻t23の間、オブジェクトAが徐々に大きくなるアニメーションがされても良い。または、オブジェクトAが不動物体である場合、アニメーションは行われずに、小さい表示から大きな表示に切り替えられるようにしても良い。
または、小さい表示のときには、薄く表示されるようにしても良い。または小さく表示するのではなく、薄く表示し、その後濃く表示されるようにしても良い。
不動物体が、位置P1にあるということを、ユーザに認識させることが1つの目的である。ユーザが不動物体の存在を認識することで、ユーザの意思により、不動物体の全体を見たければ、後に下がるなどの行動を行う。このようなユーザに自発的な行動を起こさせるために、一旦小さく表示したり、薄く表示したりする。
なお、オブジェクトAが不動物体である場合、上記したような表示が行われることで、ユーザにより違和感を与えてしまうことも考えられる。オブジェクトAが不動物体の場合には、画角切れが起こるような場合でも、位置変更や大きさの変更は行われずに提示予定位置に、設定されている大きさで表示されるようにするという設定もできる。
また、不動物体の場合、サブ属性を設け、上記したような表示を変えた表示を行う属性と、上記したような表示を変えた表示を行わない属性を設け、その属性により、表示が制御されるようにしてもよい。
<第3の表示設定>
不動物体のオブジェクトには、その不動物体をユーザが見たとき(ユーザの視界角内に不動物体が入ったとき)に、例えば話し出すといったアクションを開始するように設定されているオブジェクトもある。このようなオブジェクトの場合、例えば、図9のBのように、画角切れを起こしている状態のときに、オブジェクトAが発話すると、ユーザは、どこで声が発せられているのかわからずに、戸惑ってしまう可能性が高い。
そこで、上記したように、一旦小さく表示して、ユーザにオブジェクトAの存在を認識させ、認識させた後、音を出すようにしても良い。
または、不動物体であり、ユーザの視界角内に入ったときに何らかのアクションを起こす物体である場合、画角切れを起こしているような状態で表示がされるときには、アクションを起こさないように設定してあっても良い。アクションが起こる条件として、以下の条件1と条件2が満たされるときと設定されていても良い。
条件1
オブジェクトがユーザの視界角内にある(表示部53に全体が表示されている)
条件2
オブジェクトとユーザの距離が一定の範囲内(閾値以下)である
条件1は、オブジェクトがユーザに見えている状態のときに、また画角切れしていないときに、アクションが開始されるという条件である。上記したように、画角切れを起こしている状態のときに、アクションが開始されることがないようにするための条件である。条件1は、例えば以下の判定式(4)により判定することができる。
Figure 0007392723000004
Figure 0007392723000005
式(4)において、pt.w、pt.x、pt.yは、それぞれ式(5)で算出される幅を表す値、x軸方向の値、y軸方向の値を表す。また、式(4)は、正規化した計算式とするために、幅wで、x軸方向の長さと、y軸方向の長さを、それぞれ除算した値を用いている。
式(4)は、オブジェクトのx軸方向の長さと、y軸方向の長さを2辺とする直角三角形の斜辺の長さが1以下に収まるか否かを判定する式であり、換言すれば、オブジェクトを囲む四角形の対角線が、1以下に収まるか否かを判定する式であり、この判定式が満たされるとき、オブジェクトは視界角内にあると判定される式である。
式(5)において、Mworldは、ワールド座標における行列、Mprojectionは、プロジェクションに関する行列、Mobjposは、オブジェクトに関する行列であり、視錐体にオブジェクトの座標を投影するための式である。
条件1を、上記した式が満たされるか否かで判定するようにしても良いし、他の方法で判定するようにしても良い。
条件1だけだと、ユーザから離れた位置にあるオブジェクトは、全て条件1を満たすと判定される可能性がある。そこで、条件2により、ユーザがオブジェクトに近い位置に居るか否かが判定されるようにする。換言すれば、アクションを起こすと設定されている範囲内に、ユーザが居るか否かが条件2として判定されるようにする。条件2があることで、ユーザから離れた位置にあるオブジェクトがアクションを起こすようなことを防ぐことができる。
条件2は、例えば、以下の判定式(6)により判定することができる。
Figure 0007392723000006
式(6)において、Mobjposは、オブジェクトの位置を表し、Mcameraは、カメラの位置、すなわちユーザの位置を表す。式(6)は、オブジェクトとユーザの位置の差分が距離dとなり、この距離dが予め設定されている閾値Constより小さいか否かを判定する式となる。
条件2により、オブジェクトがアクションを発動するために設定されている範囲内に、ユーザが入ったと判定され、かつ、条件1により視界角内に画角切れすることなくオブジェクトが表示されると判定されたとき、オブジェクトに関連付けられているアクションが発動される。
<第4の表示設定>
図15を参照して説明した表示の仕方は、図10を参照して説明したオブジェクトAがテキストなどの通知である場合にも適用できる。テキストの場合、図10のBを参照して説明したように、メッセージの一部が表示されても、ユーザにそのメッセージを伝えることは難しく、図10のAを参照して説明したように、メッセージ全体が見えるようにすることで、そのメッセージを伝えることができると考えられる。
そこで、図10のBのように、メッセージの一部しか表示されないような場合には、一旦、メッセージ(オブジェクトA)を小さく表示し、ユーザにオブジェクトAの存在を認識させる。このとき、小さく表示されるメッセージをユーザが読み取れるか否かは問題とはならず、メッセージの存在を認識させることができれば良い。
図15の時刻t21のところに示した状態は、図11の時刻t1と同様の状態であり、オブジェクトAが位置P1に表示されると、ユーザ151に提示される画面は画角切れが起きている画面となる状態である。オブジェクトAが、テキスト(メッセージ)との属性を付与されている場合、初期位置は、提示予定位置に設定される。即ちこの場合、初期位置は、提示予定位置として設定されている位置P1に設定される。
時刻t22において、位置P1に、オブジェクトAが小さく表示される。時刻t23において、位置P1に、オブジェクトAが、本来表示される大きさとして設定されている大きさで表示される。
時刻t22から時刻t23の間、オブジェクトA(メッセージ)が徐々に大きくなるアニメーションがされても良い。または、アニメーションは行われずに、小さい表示から大きな表示に切り替えられるようにしても良い。
メッセージが、位置P1にあるということを、ユーザに認識させることで、ユーザの意思により、メッセージの全体を見たければ、後に下がるなどの行動を行う。例えば、時刻t23において、図10のBに示したように、メッセージの一部が表示されている状態であっても、そこにメッセージがあることを認識していれば、ユーザは、後に下がり、図10のAに示したように、メッセージ全体が表示されている状態にすることができ、メッセージを読むことができる。
このように、オブジェクトの属性により、表示の仕方が設定されている。このように、表示の仕方が設定されているAR-HMD1の動作について説明する。
<AR-HMD1の動作について>
このような表示を行うAR-HMD1の動作について図16のフローチャートを参照して説明する。
ステップS11において、環境情報が取得される。環境情報は、ユーザの周囲の環境情報であり、AR-HMD1を介してユーザが見ている現実の風景に関する情報である。例えば、環境情報として、周囲の奥行情報、物体認識、認識した物体の形状、移動物体の有無などの情報が取得される。
ステップS12において、ユーザの位置情報が取得される。ここでは、ユーザの身体情報、例えば頭部の位置や視線の方向が取得される。ステップS11とステップS12における処理は、センサ情報取得部71が、センサ部52からのセンサ情報を取得し、処理することで行われる。
ステップS13において、表示するオブジェクトがあるか否かが判定される。ユーザの視界内に、表示すべき所定のオブジェクトがあるか否かが判定される。ステップS13において、表示すべきオブジェクトはないと判定された場合、ステップS11に処理が戻され、それ以降の処理が繰り返される。
一方、ステップS13において、表示すべきオブジェクトがあると判定された場合、処理は、ステップS14に進められる。ステップS14において、オブジェクトサイズ情報が取得される。オブジェクトサイズ情報としては、表示するオブジェクトの提示位置情報(提示予定位置の情報)と、オブジェクトの大きさに関する情報(サイズ情報)が取得される。サイズ情報としては、3Dモデルデータを用いることができる。
ステップS15において、ステップS14において取得されたオブジェクトサイズ情報を用いて、画角切れが発生するか否か(視界領域内に収まるか否か)が判定される。ステップS15において、画角切れは起きないと判定された場合、ステップS20に処理は進められる。ステップS20において、出力処理、この場合、オブジェクトの表示が行われる。
一方、ステップS15において、画角切れが起きると判定された場合、処理はステップS16に進められる。ステップS16において、表示するオブジェクトの属性が参照される。属性は、画角切れを起こすときに、上記した第1乃至第4の表示設定のいずれの設定で表示するか判定するために用いられる情報である。
属性情報としては、上記したように、可動物体、不動物体、テキストなどの表示されるオブジェクトの特徴を表した情報としても良い。また属性情報は、第1乃至第4の表示設定のいずれかを直接表すような情報、例えば、第1の表示設定で表示する場合には“1”、第2の表示設定で表示する場合には“2”といった情報であっても良い。
また第1や第2の表示設定のように、初期位置を設定する表示を位置変更属性とし、第4の表示設定のように、提示予定位置でサイズを変更して表示するサイズ変更属性とし、このような情報が属性情報として用いられるようにしても良い。以下の説明では、属性情報として、位置変更属性とサイズ変更属性が用いられる場合を例に挙げて説明を続ける。
このような属性情報は、オブジェクトサイズ情報に付随する情報として、オブジェクトサイズ情報とともに取得されるようにしても良い。
ステップS16において、表示するオブジェクトの属性は、位置変更属性であると判定された場合、処理はステップS17に進められる。ステップS17において、奥行方向に表示制限があるか否かが判定される。奥行方向とは、ワールド座標系においてZ軸方向であり、そのZ軸方向に表示制限があるか否かが判定される。
例えば、図13を参照して説明したように、奥行方向に壁などの障害物があり、そのような障害物よりも先の位置にはオブジェクトを表示することができない場合、ステップS17において、奥行方向に表示制限があると判定される。
ステップS17において、奥行方向に表示制限はないと判定された場合、処理はステップS18に進められる。ステップS18において、オブジェクトのZ方向の位置をずらした初期位置が設定される。ステップS18の処理が実行されるのは、第1の表示設定が実行されるときであり、図11を参照して説明したような表示を行う場合である。
ステップS18においては、図11を参照した説明において、位置P4と称した初期位置を設定する処理である。初期位置が設定されると、ステップS19に処理は進められる。ステップS19において、初期位置にオブジェクトを表示し、提示予定位置(図11などで位置P1と称した位置)まで、アニメーション表示するための表示データが生成され、その生成された表示データに基づく表示が、ステップS20において行われる。
一方、ステップS17において、奥行方向に表示制限があると判定された場合、ステップS21に処理は進められる。ステップS21において、アクションがあるオブジェクトであるか否かが判定される。ステップS21において、アクションがあるオブジェクトではないと判定された場合、ステップS22に処理が進められる。
ステップS22の処理が実行されるのは、第2の表示設定が実行されるときである。第2の表示設定については、図13、図14、図15を参照して説明した。図13、図14を参照して説明したように、初期位置を障害物より奥行き方向で前側(ユーザと面している側)の位置、好ましくは障害物の奥行き方向の位置よりも所定の距離離れた前側の位置に設定し、その初期位置から、アニメーションにより提示予定位置まで表示する(第2-1の表示設定とする)ようにしても良い。または、図15を参照して説明したように、提示予定位置を初期位置として、その初期位置で小さく表示してから大きく表示する(第2-2の表示設定とする)ようにしても良い。
奥行方向に表示制限があり、アクションを起こさないオブジェクトの場合、第2-1の表示設定により表示を行うか、第2-2の表示設定により表示を行うかも、属性情報としてオブジェクトに関連付けられて付与されているようにしても良い。また、可動物体の場合には、第2-1の表示設定により表示を行うとし、不動物体の場合には、第2-2の表示設定により表示を行うとしても良い。
また、奥行方向に表示制限がある場合、提示予定位置を初期位置に設定するという構成にすることもできる。このように構成された場合、提示予定位置にオブジェクトは表示される。
ステップS22において、初期位置が、障害物より奥行き方向で前側の位置に設定、または提示予定位置に設定される。ステップS23において、初期位置にオブジェクトを表示し、提示予定位置まで、アニメーション表示するための表示データが生成され、その生成された表示データに基づく表示が、ステップS20において行われる。
なお、ステップ23において、アニメーション表示を行うか否かは、オブジェクトに応じて設定されるようにすることができる。ステップS23において、アニメーション表示を行わないという設定がされ、初期位置にオブジェクトが表示された後、提示予定位置での表示に切り替えられるようなデータが生成されるようにしても良い。
一方、ステップS21において、アクションがあるオブジェクトであると判定された場合、ステップS24に処理は進められる。ステップS24の処理が実行されるのは、第3の表示設定が実行されるときである。
第3の表示設定は、ユーザがオブジェクトの近傍に位置し、ユーザの視界角内にオブジェクトの全体(水平方向または垂直方向の少なくとも一方の方向で画角切れが起きない状態)が表示されるときに、関連付けられているアクション(例えば発話するというアクション)が発動されるという表示である。
よって、初期位置は提示予定位置であるため、初期位置の設定は省略される(初期位置として提示予定位置が設定される処理が実行されるようにしてもよい)。ステップS24においてはトリガーが設定される。このトリガーは、アクションを発動するための条件として事前に設定されているトリガーであり、上記したように、この場合、ユーザの視界角内にオブジェクトが表示されるという条件である。換言すれば、上記した条件1と条件2が満たされたときに、アクションを発動するというトリガーが設定される。
なお、条件2は、ステップS13において、表示するオブジェクトがあると判定された時点で満たされている。すなわち、ユーザが設定されている範囲内に入ってきたとき、ステップS13において、表示するオブジェクトがあると判定される。よって、ステップS24において設定されるトリガーは、条件1に関するトリガーであれば良い。
なお、上記したように、第3の表示設定は、第2の表示設定と組み合わせてもよい。すなわち、一旦小さく表示されたり、表示位置が変更されたりした後に、トリガーが発生するまでの待機状態とされるようにすることもできる。
またここでは、アクションが関連付けられているオブジェクトの属性情報は、位置変更属性である場合を例に挙げて説明しているが、サイズ変更属性であっても良く、サイズ変更属性の場合には、図16に示した処理のフローを入れ替えることで対応することができる。
ステップS25において、トリガーが発生するまで待機状態とされ、トリガーが発生すると、ステップS20に処理が進められ、オブジェクトに関連付けられているアクションが発動される。すなわち、アクションを発動させるための条件が、事前に複数設定されており、それらの条件のうちの少なくとも一部、この場合、トリガーとして設定されたユーザの視界内にオブジェクトが表示されるという条件が満たされたと判定されたとき、アクションが発動される。
一方、ステップS16において、表示するオブジェクトは、位置変更属性ではないと判定された場合、ステップS26に処理は進められる。ステップS26において、サイズ変更属性であるか否かが判定される。ステップS26において、サイズ変更属性であると判定された場合、ステップS27に処理は進められる。
ステップS27の処理が実行されるのは、第4の表示設定が実行されるときであり、図15を参照して説明したような表示を行うときである。すなわち、テキストのようなオブジェクトは、提示予定位置で、一旦、提示予定位置で表示する大きさよりも小さなサイズで表示してから、提示予定の大きさまで大きくする表示が行われる。
ステップS27において、初期出力サイズが変更される。ステップS28において、初期出力サイズでオブジェクトを表示し、提示予定サイズになるまで、アニメーション表示するための表示データが生成され、その生成された表示データに基づく表示が、ステップS20において行われる。
一方、ステップS26において、サイズ変更属性ではないと判定された場合、ステップS20に処理が進められる。この場合、オブジェクトが画角切れを起こした状態で表示される可能性があるが、そのような状態であっても、初期位置を変更したり、サイズを変更したりした表示は行われないと設定されているオブジェクトである。よって、ステップS20において、オブジェクトは、提示予定位置で、提示予定サイズで表示される。
このように、画角切れが発生する可能性がある場合、初期位置を変更したり、サイズを変更したりして表示が制御される。このような表示が、画角切れが起こる前の時点で行われることで、ユーザは、一旦オブジェクト全体を確認することができるようになり、その後画角切れが起きても、その画角切れを意識してしまうようなことを防ぐことができる。
画角切れが発生し、ユーザが画角切れを意識してしまうと、AR体験への没入感が薄れてしまう可能性があるが、本技術によれば、没入感が薄れてしまうようなことを防ぎ、AR体験をより楽しませることが可能となる。
なお、上記した実施の形態において、属性情報を設定することで、より細かい表示設定を行うことができる。また属性情報や、表示設定は、設計者が設定することができる。
上記した実施の形態において、初期位置が設定され、その初期位置で表示され、その後、提示予定位置で表示された後に、再び初期位置で表示するような状況が発生した場合、再度初期位置を設定し、同じような表示が繰り返されるようにしても良いし、2度目以降のときには、初期位置は設定せずに、提示予定位置で表示するようにしても良い。
なお、上記した例えば、第1の表示設定のように、表示位置が変更されると、現実世界の位置や物体に、紐付けられているオブジェクトの場合、その紐付けが意味をなさなくなる可能性がある。そこで、現実世界の位置や物体に、紐付けられているオブジェクトには、表示位置の変更(調整)が行われることは禁止するという属性が付与され、表示位置の変更は行われないようにしても良い。
また、そのようなオブジェクトの場合には、紐付けが崩れない範囲内での表示サイズの変更は可能とし、そのような属性が付与されるようにしても良い。
<記録媒体について>
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図17は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。コンピュータにおいて、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を駆動する。
以上のように構成されるコンピュータでは、CPU1001が、例えば、記憶部1008に記憶されているプログラムを、入出力インタフェース1005およびバス1004を介して、RAM1003にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU1001)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体1011に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブル記録媒体1011をドライブ1010に装着することにより、入出力インタフェース1005を介して、記憶部1008にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部1009で受信し、記憶部1008にインストールすることができる。その他、プログラムは、ROM1002や記憶部1008に、予めインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また他の効果があってもよい。
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
なお、本技術は以下のような構成も取ることができる。
(1)
現実世界に重畳されて表示されるオブジェクトの仮想三次元空間内において提示する提示位置に関する提示位置情報、前記オブジェクトのサイズに関するサイズ情報、および前記オブジェクトを表示する表示部の視界領域に関する視界領域情報に基づいて、前記オブジェクトを前記表示部に初期表示する初期位置を設定する設定部を備え、
前記設定部は、前記初期位置を、前記現実世界を基準とする座標系において、前記提示位置情報が表す位置よりも奥行方向において奥に設定する
情報処理装置。
(2)
前記設定部は、前記オブジェクトを、前記提示位置に、前記サイズ情報が表すサイズで表示した場合に、前記視界領域内に前記オブジェクトの少なくとも一部が収まらないと判定したとき、前記初期位置を設定する
前記(1)に記載の情報処理装置。
(3)
前記設定部は、前記オブジェクトが前記視界領域内に収まる位置を前記初期位置として設定する
前記(1)または(2)に記載の情報処理装置。
(4)
前記設定部は、前記オブジェクトの横方向または縦方向の少なくとも一方向が、前記視界領域内に収まる位置を前記初期位置として設定する
前記(1)乃至(3)のいずれかに記載の情報処理装置。
(5)
前記初期位置から前記提示位置まで前記オブジェクトを移動させるアニメーションを表示する
前記(1)乃至(4)のいずれかに記載の情報処理装置。
(6)
前記設定部は、前記奥行方向に障害物がある場合、前記障害物の位置に基づいて、前記初期位置を設定する
前記(1)乃至(5)のいずれかに記載の情報処理装置。
(7)
前記設定部は、前記奥行方向に障害物がある場合、前記奥行方向における前記障害物の位置よりも前の位置を前記初期位置に設定する
前記(6)に記載の情報処理装置。
(8)
前記設定部は、前記奥行方向に障害物がある場合、前記提示位置を前記初期位置として設定する
前記(6)または(7)に記載の情報処理装置。
(9)
前記設定部は、前記奥行方向に障害物がある場合、設定された前記初期位置に、前記オブジェクトを前記サイズ情報が示すサイズよりも小さく表示する
前記(6)乃至(8)のいずれかに記載の情報処理装置。
(10)
前記設定部は、前記提示位置を前記初期位置として設定し、前記オブジェクトを、前記視界領域内に前記オブジェクトが収まるサイズに設定する
前記(1)乃至(9)のいずれか」に記載の情報処理装置。
(11)
前記設定部は、前記オブジェクトに所定のアクションが関連付けられている場合、前記視界領域内に前記オブジェクトが収まったと判定されたとき、前記所定のアクションを発動させるための条件の少なくとも一部が満たされたと判定する
前記(1)乃至(10)のいずれかに記載の情報処理装置。
(12)
前記オブジェクトの属性に基づいて、前記初期位置を設定する
前記(1)乃至(11)のいずれかに記載の情報処理装置。
(13)
前記設定部は、前記オブジェクトの属性が可動物体の属性である場合、前記オブジェクトが前記視界領域に収まる位置を前記初期位置として設定する
前記(12)に記載の情報処理装置。
(14)
前記設定部は、前記オブジェクトの属性が不動物体の属性である場合、前記提示位置を前記初期位置として設定する
前記(12)に記載の情報処理装置。
(15)
前記設定部は、前記オブジェクトの属性がサイズ変更属性である場合、前記オブジェクトが表示されるサイズを変更する
前記(12)に記載の情報処理装置。
(16)
前記オブジェクトは、テキストである
前記(14)に記載の情報処理装置。
(17)
情報処理装置が、
現実世界に重畳されて表示されるオブジェクトの仮想三次元空間内において提示する提示位置に関する提示位置情報、前記オブジェクトのサイズに関するサイズ情報、および前記オブジェクトを表示する表示部の視界領域に関する視界領域情報に基づいて、前記オブジェクトを前記表示部に初期表示する初期位置を設定し、
前記初期位置を、前記現実世界を基準とする座標系において、前記提示位置情報が表す位置よりも奥行方向おいて奥に設定する
情報処理方法。
(18)
コンピュータに、
現実世界に重畳されて表示されるオブジェクトの仮想三次元空間内において提示する提示位置に関する提示位置情報、前記オブジェクトのサイズに関するサイズ情報、および前記オブジェクトを表示する表示部の視界領域に関する視界領域情報に基づいて、前記オブジェクトを前記表示部に初期表示する初期位置を設定し、
前記初期位置を、前記現実世界を基準とする座標系において、前記提示位置情報が表す位置よりも奥行方向おいて奥に設定する
ステップを含む処理を実行させるためのプログラム。
1 AR-HMD, 2 情報処理装置, 3 ネットワーク, 11 表示部, 12 カメラ, 31 CPU, 32 メモリ, 33 センサ部, 34 入力部, 35 出力部, 36 通信部, 37 バス, 51 制御部, 52 センサ部, 53 表示部, 54 スピーカ, 55 通信部, 56 操作入力部, 57 記憶部, 71 センサ情報取得部, 72 方向検出部, 73 オブジェクトサイズ設定部, 74 レイアウトパラメータ計算部, 75 レイアウト決定部, 76 出力制御部, 101 ユーザ, 121 オブジェクト, 122,123 仮想スクリーン

Claims (18)

  1. 現実世界に重畳されて表示されるオブジェクトの仮想三次元空間内において提示する提示位置に関する提示位置情報、前記オブジェクトのサイズに関するサイズ情報、および前記オブジェクトを表示する表示部の視界領域に関する視界領域情報に基づいて、前記オブジェクトを前記表示部に初期表示する初期位置を設定する設定部を備え、
    前記設定部は、前記初期位置を、前記現実世界を基準とする座標系において、前記提示位置情報が表す位置よりも奥行方向において奥に設定する
    情報処理装置。
  2. 前記設定部は、前記オブジェクトを、前記提示位置に、前記サイズ情報が表すサイズで表示した場合に、前記視界領域内に前記オブジェクトの少なくとも一部が収まらないと判定したとき、前記初期位置を設定する
    請求項1に記載の情報処理装置。
  3. 前記設定部は、前記オブジェクトが前記視界領域内に収まる位置を前記初期位置として設定する
    請求項1に記載の情報処理装置。
  4. 前記設定部は、前記オブジェクトの横方向または縦方向の少なくとも一方向が、前記視界領域内に収まる位置を前記初期位置として設定する
    請求項1に記載の情報処理装置。
  5. 前記初期位置から前記提示位置まで前記オブジェクトを移動させるアニメーションを表示する
    請求項1に記載の情報処理装置。
  6. 前記設定部は、前記奥行方向に障害物がある場合、前記障害物の位置に基づいて、前記初期位置を設定する
    請求項1に記載の情報処理装置。
  7. 前記設定部は、前記奥行方向に障害物がある場合、前記奥行方向における前記障害物の位置よりも前の位置を前記初期位置に設定する
    請求項6に記載の情報処理装置。
  8. 前記設定部は、前記奥行方向に障害物がある場合、前記提示位置を前記初期位置として設定する
    請求項6に記載の情報処理装置。
  9. 前記設定部は、前記奥行方向に障害物がある場合、設定された前記初期位置に、前記オブジェクトを前記サイズ情報が示すサイズよりも小さく表示する
    請求項6に記載の情報処理装置。
  10. 前記設定部は、前記提示位置を前記初期位置として設定し、前記オブジェクトを、前記視界領域内に前記オブジェクトが収まるサイズに設定する
    請求項1に記載の情報処理装置。
  11. 前記設定部は、前記オブジェクトに所定のアクションが関連付けられている場合、前記視界領域内に前記オブジェクトが収まったと判定されたとき、前記所定のアクションを発動させるための条件の少なくとも一部が満たされたと判定する
    請求項1に記載の情報処理装置。
  12. 前記オブジェクトの属性に基づいて、前記初期位置を設定する
    請求項1に記載の情報処理装置。
  13. 前記設定部は、前記オブジェクトの属性が可動物体の属性である場合、前記オブジェクトが前記視界領域に収まる位置を前記初期位置として設定する
    請求項12に記載の情報処理装置。
  14. 前記設定部は、前記オブジェクトの属性が不動物体の属性である場合、前記提示位置を前記初期位置として設定する
    請求項12に記載の情報処理装置。
  15. 前記設定部は、前記オブジェクトの属性がサイズ変更属性である場合、前記オブジェクトが表示されるサイズを変更する
    請求項12に記載の情報処理装置。
  16. 前記オブジェクトは、テキストである
    請求項15に記載の情報処理装置。
  17. 情報処理装置が、
    現実世界に重畳されて表示されるオブジェクトの仮想三次元空間内において提示する提示位置に関する提示位置情報、前記オブジェクトのサイズに関するサイズ情報、および前記オブジェクトを表示する表示部の視界領域に関する視界領域情報に基づいて、前記オブジェクトを前記表示部に初期表示する初期位置を設定し、
    前記初期位置を、前記現実世界を基準とする座標系において、前記提示位置情報が表す位置よりも奥行方向おいて奥に設定する
    情報処理方法。
  18. コンピュータに、
    現実世界に重畳されて表示されるオブジェクトの仮想三次元空間内において提示する提示位置に関する提示位置情報、前記オブジェクトのサイズに関するサイズ情報、および前記オブジェクトを表示する表示部の視界領域に関する視界領域情報に基づいて、前記オブジェクトを前記表示部に初期表示する初期位置を設定し、
    前記初期位置を、前記現実世界を基準とする座標系において、前記提示位置情報が表す位置よりも奥行方向おいて奥に設定する
    ステップを含む処理を実行させるためのプログラム。
JP2021536919A 2019-07-29 2020-07-15 情報処理装置、情報処理方法、およびプログラム Active JP7392723B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019138532 2019-07-29
JP2019138532 2019-07-29
PCT/JP2020/027508 WO2021020130A1 (ja) 2019-07-29 2020-07-15 情報処理装置、情報処理方法、およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2021020130A1 JPWO2021020130A1 (ja) 2021-02-04
JP7392723B2 true JP7392723B2 (ja) 2023-12-06

Family

ID=74230612

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021536919A Active JP7392723B2 (ja) 2019-07-29 2020-07-15 情報処理装置、情報処理方法、およびプログラム

Country Status (5)

Country Link
US (1) US11908090B2 (ja)
JP (1) JP7392723B2 (ja)
KR (1) KR20220043106A (ja)
CN (1) CN114207670A (ja)
WO (1) WO2021020130A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017169001A1 (ja) 2016-03-29 2017-10-05 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP2018147002A (ja) 2017-03-01 2018-09-20 任天堂株式会社 画像処理プログラム、画像処理システム、画像処理装置および画像処理方法
JP2019125278A (ja) 2018-01-19 2019-07-25 ソニー株式会社 情報処理装置、情報処理方法及び記録媒体
US20190265945A1 (en) 2018-02-27 2019-08-29 Dish Network L.L.C. Apparatus, systems and methods for presenting content reviews in a virtual world

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5732988B2 (ja) 2011-04-08 2015-06-10 ソニー株式会社 画像処理装置、表示制御方法及びプログラム
JP6684559B2 (ja) * 2015-09-16 2020-04-22 株式会社バンダイナムコエンターテインメント プログラムおよび画像生成装置
US9824500B2 (en) * 2016-03-16 2017-11-21 Microsoft Technology Licensing, Llc Virtual object pathing
JP2019016044A (ja) * 2017-07-04 2019-01-31 富士通株式会社 表示制御プログラム、表示制御方法及び表示制御装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017169001A1 (ja) 2016-03-29 2017-10-05 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP2018147002A (ja) 2017-03-01 2018-09-20 任天堂株式会社 画像処理プログラム、画像処理システム、画像処理装置および画像処理方法
JP2019125278A (ja) 2018-01-19 2019-07-25 ソニー株式会社 情報処理装置、情報処理方法及び記録媒体
US20190265945A1 (en) 2018-02-27 2019-08-29 Dish Network L.L.C. Apparatus, systems and methods for presenting content reviews in a virtual world

Also Published As

Publication number Publication date
JPWO2021020130A1 (ja) 2021-02-04
US20220270330A1 (en) 2022-08-25
KR20220043106A (ko) 2022-04-05
US11908090B2 (en) 2024-02-20
WO2021020130A1 (ja) 2021-02-04
CN114207670A (zh) 2022-03-18

Similar Documents

Publication Publication Date Title
US10009542B2 (en) Systems and methods for environment content sharing
US20240070947A1 (en) Information processing apparatus and information processing method
JP6112878B2 (ja) ウェアラブル型表示装置及びプログラム
US11487354B2 (en) Information processing apparatus, information processing method, and program
KR20180112599A (ko) 가상 공간의 캡쳐 방법 및 그 전자장치
US11695908B2 (en) Information processing apparatus and information processing method
JP2013174642A (ja) 映像表示装置
KR20230003154A (ko) 3차원 환경들에서 아바타들의 제시
US20230215079A1 (en) Method and Device for Tailoring a Synthesized Reality Experience to a Physical Setting
US11867917B2 (en) Small field of view display mitigation using virtual object display characteristics
US11699412B2 (en) Application programming interface for setting the prominence of user interface elements
US11321926B2 (en) Method and device for content placement
WO2021020068A1 (ja) 情報処理装置、情報処理方法、およびプログラム
CN113821337A (zh) 基于参与度分数改变与媒体对象相关联的资源利用率
US20230343049A1 (en) Obstructed objects in a three-dimensional environment
US20230221833A1 (en) Methods for displaying user interface elements relative to media content
JP7392723B2 (ja) 情報処理装置、情報処理方法、およびプログラム
EP3702008A1 (en) Displaying a viewport of a virtual space
JP2023065528A (ja) ヘッドマウント情報処理装置およびヘッドマウントディスプレイシステム
US20240248532A1 (en) Method and device for visualizing multi-modal inputs
US20230260235A1 (en) Information processing apparatus, information processing method, and information processing system
EP4254348A2 (en) Method and device for multi-camera hole filling
KR20220045799A (ko) 전자 장치 및 그 동작 방법
US20240104862A1 (en) Spatially aware playback for extended reality content
WO2024060959A1 (zh) 虚拟环境中的观影画面调整方法、装置、存储介质及设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230525

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231106

R151 Written notification of patent or utility model registration

Ref document number: 7392723

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151