JP2022087111A - Program executed by computer to provide virtual space via head mount device, method, and information processing device - Google Patents
Program executed by computer to provide virtual space via head mount device, method, and information processing device Download PDFInfo
- Publication number
- JP2022087111A JP2022087111A JP2022040899A JP2022040899A JP2022087111A JP 2022087111 A JP2022087111 A JP 2022087111A JP 2022040899 A JP2022040899 A JP 2022040899A JP 2022040899 A JP2022040899 A JP 2022040899A JP 2022087111 A JP2022087111 A JP 2022087111A
- Authority
- JP
- Japan
- Prior art keywords
- user
- facial expression
- virtual space
- hmd
- npc
- 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
Links
- 238000000034 method Methods 0.000 title claims description 41
- 230000010365 information processing Effects 0.000 title claims description 4
- 230000004044 response Effects 0.000 claims abstract description 20
- 230000008921 facial expression Effects 0.000 claims description 201
- 238000001514 detection method Methods 0.000 claims description 71
- 230000009471 action Effects 0.000 claims description 68
- 230000008859 change Effects 0.000 claims description 48
- 230000006399 behavior Effects 0.000 claims description 23
- 230000008451 emotion Effects 0.000 claims description 12
- 230000014509 gene expression Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 abstract description 36
- 230000000007 visual effect Effects 0.000 abstract description 28
- 238000012545 processing Methods 0.000 abstract description 8
- 210000001508 eye Anatomy 0.000 description 35
- 238000010586 diagram Methods 0.000 description 22
- 210000003128 head Anatomy 0.000 description 19
- 210000000056 organ Anatomy 0.000 description 19
- 230000008569 process Effects 0.000 description 18
- 230000001815 facial effect Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 210000003811 finger Anatomy 0.000 description 9
- 210000004709 eyebrow Anatomy 0.000 description 5
- 210000001331 nose Anatomy 0.000 description 5
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 4
- 208000013057 hereditary mucoepithelial dysplasia Diseases 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 3
- 210000003813 thumb Anatomy 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000005401 electroluminescence Methods 0.000 description 2
- 210000003414 extremity Anatomy 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000002834 transmittance Methods 0.000 description 2
- 241001547860 Gaya Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 210000005252 bulbus oculi Anatomy 0.000 description 1
- 210000003467 cheek Anatomy 0.000 description 1
- 238000003169 complementation method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 210000004087 cornea Anatomy 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 210000004247 hand Anatomy 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000001678 irradiating effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 210000004932 little finger Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
本開示は、ヘッドマウントデバイス(Head Mounted Device:HMD)を用いた仮想体験の提供に関し、より特定的には、HMDによって提供される仮想現実空間におけるアバターオブジェクトの表示を制御する技術に関する。 The present disclosure relates to the provision of a virtual experience using a Head Mounted Device (HMD), and more specifically to a technique for controlling the display of an avatar object in the virtual reality space provided by the HMD.
仮想現実空間(以下、単に「仮想空間」ともいう。)を介してコンテンツを提供し、あるいは、アバター(「アバターオブジェクト」という場合もある。)を用いてコミュニケーションを行なう技術が知られている。例えば、特開2009-181457号公報(特許文献1)は、「チャット・ソフトにおいて、活発に発言を行うアバターと、そうでないアバターとを視覚的に判別できる」技術を開示している([要約]の[解決手段]参照)。また、特許第6212667号公報(特許文献2)は、「仮想空間を介した通信においてアバターオブジェクトの表示と音声出力とを同期させ、違和感を感じさせない技術」を開示している([要約]の[解決手段]参照)。 There is known a technique of providing content via a virtual reality space (hereinafter, also simply referred to as "virtual space") or communicating using an avatar (sometimes referred to as an "avatar object"). For example, Japanese Patent Application Laid-Open No. 2009-181457 (Patent Document 1) discloses a technique for "visually distinguishing between an avatar who actively speaks and an avatar who does not speak in chat software" ([Summary]. ], See [Solution]). Further, Japanese Patent No. 6212667 (Patent Document 2) discloses "a technique for synchronizing the display of an avatar object and the audio output in communication via virtual space so as not to give a sense of discomfort" ([Summary]). See [Solution]).
仮想空間を介してコミュニケーションを促進するためには、HMDのユーザに対応するアバターオブジェクトおよび対応しないオブジェクトのいずれについても、場面に応じた適切な表情を有することが必要となる。したがって、仮想空間に提示されるアバターオブジェクトの表情を豊かにする技術が必要とされている。 In order to promote communication via the virtual space, it is necessary for both the avatar object corresponding to the HMD user and the object not corresponding to the HMD user to have an appropriate facial expression according to the scene. Therefore, a technique for enriching the facial expression of the avatar object presented in the virtual space is required.
また、現実空間における通信相手となるHMDのユーザのアバターオブジェクト以外に、所謂ノンプレイヤーキャラクタ(NPC)オブジェクトと言われる、仮想空間で提示されるコンテンツに予め組み込まれているオブジェクトも仮想空間に提示される場合がある。したがって、仮想空間におけるコミュニケーションにおいて、そのようなNPCオブジェクトの表情も豊かにする必要性も生じ得る。また、この場合、コンテンツの進行に合わせてリアルタイムに表情をNPCオブジェクトに反映する技術が必要となる。その一方、アバターオブジェクトの表情をリアルタイムに反映させたくない場合も生じ得る。したがって、アバターオブジェクトの表情を適切に制御するための技術が必要とされている。 In addition to the avatar object of the HMD user who is the communication partner in the real space, a so-called non-player character (NPC) object, which is preliminarily incorporated in the content presented in the virtual space, is also presented in the virtual space. May occur. Therefore, in communication in virtual space, it may be necessary to enrich the facial expressions of such NPC objects. Further, in this case, a technique for reflecting facial expressions on NPC objects in real time as the content progresses is required. On the other hand, there may be cases where you do not want to reflect the facial expression of the avatar object in real time. Therefore, a technique for appropriately controlling the facial expression of the avatar object is required.
本開示は上述のような問題点を解決するためになされたものであって、ある局面における目的は、アバターオブジェクトの表情を豊かにする技術を提供することである。他の局面における目的は、アバターオブジェクトの表情を適切に制御するための技術を提供することである。 The present disclosure has been made to solve the above-mentioned problems, and an object in a certain aspect is to provide a technique for enriching the facial expression of an avatar object. The purpose in other aspects is to provide techniques for properly controlling the facial expressions of avatar objects.
ある実施の形態に従うと、ヘッドマウントデバイスを介して仮想空間を提供するためにコンピュータで実行されるプログラムが提供される。このプログラムはコンピュータに、仮想空間を定義するステップと、仮想空間にノンプレイヤーキャラクター(NPC)オブジェクトを提示するステップと、ヘッドマウントデバイスのユーザによる動作を検出するステップと、動作を検出したことに応答して、NPCオブジェクトの行動を制御するステップとを実行させる。 According to certain embodiments, a program is provided that is run on a computer to provide virtual space via a headmount device. The program responds to the computer by defining a virtual space, presenting a non-player character (NPC) object to the virtual space, detecting the user's behavior on the headmount device, and detecting the behavior. Then, the step of controlling the behavior of the NPC object is executed.
ある局面において、現実空間においてヘッドマウントデバイスを装着したユーザの表情変化が仮想空間に提示されるアバターオブジェクトの表情にリアルタイムに反映されるので、コミュニケーションが促進され得る。 In a certain aspect, the facial expression change of the user wearing the head mount device in the real space is reflected in the facial expression of the avatar object presented in the virtual space in real time, so that communication can be promoted.
この発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解されるこの発明に関する次の詳細な説明から明らかとなるであろう。 The above and other objects, features, aspects and advantages of the invention will become apparent from the following detailed description of the invention as understood in connection with the accompanying drawings.
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the following description, the same parts are designated by the same reference numerals. Their names and functions are the same. Therefore, the detailed description of them will not be repeated.
[HMDシステムの構成]
図1を参照して、HMD(Head-Mounted Device)システム100の構成について説明する。図1は、ある実施の形態に従うHMDシステム100の構成の概略を表す図である。ある局面において、HMDシステム100は、家庭用のシステムとしてあるいは業務用のシステムとして提供される。
[HMD system configuration]
The configuration of the HMD (Head-Mounted Device)
HMDシステム100は、HMD110と、HMDセンサ120と、コントローラ160と、コンピュータ200とを備える。HMD110は、モニタ112と、注視センサ140と、スピーカ115と、第1カメラ116と、第2カメラ117と、マイク119とを含む。コントローラ160は、モーションセンサ130を含み得る。
The
ある局面において、コンピュータ200は、インターネットその他のネットワーク19に接続可能であり、ネットワーク19に接続されているサーバ150その他のコンピュータと通信可能である。他の局面において、HMD110は、HMDセンサ120の代わりに、センサ114を含み得る。
In one aspect, the
サーバ150は、プロセッサ151と、メモリ152と、通信インターフェイス153とを含む。サーバ150は、周知の構成を有するコンピュータによって実現される。プロセッサ151は、命令を実行する。メモリ152は、RAM(Random Access Memory)その他の揮発性メモリである。通信インターフェイス153は、コンピュータ200、ユーザ端末201A,201N等と通信する。ストレージ154は、サーバ150がコンピュータ200その他の外部の装置から受信したデータまたはプロセッサ151によって生成されたデータを保持する。ストレージ154は、例えば、ハードディスク、SSD(Solid State Disc)その他の不揮発性の記憶装置によって実現され得る。
The
HMD110は、ユーザ190の頭部に装着され、動作中に仮想空間2をユーザ190に提供し得る。より具体的には、HMD110は、右目用の画像および左目用の画像をモニタ112にそれぞれ表示する。ユーザ190の各目がそれぞれの画像を視認すると、ユーザ190は、両目の視差に基づき当該画像を3次元の画像として認識し得る。
The
モニタ112は、たとえば、非透過型の表示装置として実現される。ある局面において、モニタ112は、ユーザ190の両目の前方に位置するようにHMD110の本体に配置されている。したがって、ユーザ190は、モニタ112に表示される3次元画像を視認すると、仮想空間2に没入することができる。ある実施の形態において、仮想空間2は、たとえば、背景、ユーザ190が操作可能なオブジェクト、ユーザ190が選択可能なメニューの画像を含む。複数のコンピュータ200が各ユーザの動作に基づく信号を受け渡しすることで、複数のユーザが一の仮想空間2で仮想体験できる構成であれば、各ユーザに対応するアバターオブジェクトが、仮想空間2に提示される。
The
なお、オブジェクトとは、仮想空間2に存在する仮想の物体である。ある局面において、オブジェクトは、ユーザに対応するアバターオブジェクト、アバターオブジェクトが身に着ける仮想アクセサリおよび仮想衣類、ユーザに関する情報が示されたパネルを模した仮想パネル、手紙を模した仮想手紙、およびポストを模した仮想ポストなどを含む。さらに、アバターオブジェクトは、仮想空間2においてユーザ190を象徴するキャラクタであり、たとえば人型、動物型、ロボット型などを含む。オブジェクトの形は様々である。ユーザ190は、予め決められたオブジェクトの中から好みのオブジェクトを仮想空間2に提示するようにしてもよいし、自分が作成したオブジェクトを仮想空間2に提示するようにしてもよい。
The object is a virtual object existing in the
ある実施の形態において、モニタ112は、所謂スマートフォンその他の情報表示端末が備える液晶モニタまたは有機EL(Electro Luminescence)モニタとして実現され得る。
In certain embodiments, the
ある局面において、モニタ112は、右目用の画像を表示するためのサブモニタと、左目用の画像を表示するためのサブモニタとを含み得る。他の局面において、モニタ112は、右目用の画像と左目用の画像とを一体として表示する構成であってもよい。この場合、モニタ112は、高速シャッタを含む。高速シャッタは、画像がいずれか一方の目にのみ認識されるように、右目用の画像と左目用の画像とを交互に表示可能に作動する。
In certain aspects, the
注視センサ140は、ユーザ190の右目および左目の視線が向けられる方向(視線方向)を検出する。当該方向の検出は、たとえば、公知のアイトラッキング機能によって実現される。注視センサ140は、当該アイトラッキング機能を有するセンサにより実現される。ある局面において、注視センサ140は、右目用のセンサおよび左目用のセンサを含むことが好ましい。注視センサ140は、たとえば、ユーザ190の右目および左目に赤外光を照射するとともに、照射光に対する角膜および虹彩からの反射光を受けることにより各眼球の回転角を検出するセンサであってもよい。注視センサ140は、検出した各回転角に基づいて、ユーザ190の視線方向を検知することができる。
The
スピーカ115は、コンピュータ200から受信した音声データに対応する音声(発話)を外部に出力する。マイク119は、ユーザ190の発話に対応する音声データをコンピュータ200に出力する。ユーザ190は、マイク119を用いて他のユーザに向けて発話する一方で、スピーカ115を用いて他のユーザの音声(発話)を聞くことができる。
The
より具体的には、ユーザ190がマイク119に向かって発話すると、当該ユーザ190の発話に対応する音声データがコンピュータ200に入力される。コンピュータ200は、その音声データを、ネットワーク19を介してサーバ150に出力する。サーバ150は、コンピュータ200から受信した音声データを、ネットワーク19を介して他のコンピュータ200に出力する。他のコンピュータ200は、サーバ150から受信した音声データを、他のユーザが装着するHMD110のスピーカ115に出力する。これにより、他のユーザは、HMD110のスピーカ115を介してユーザ190の音声を聞くことができる。同様に、他のユーザからの発話は、ユーザ190が装着するHMD110のスピーカ115から出力される。
More specifically, when the
第1カメラ116は、ユーザ190の顔の下部を撮影するようにHMD110の筐体に設けられている。より具体的には、第1カメラ116は、ユーザ190の鼻、頬、および口などを撮影する。第2カメラ117は、ユーザ190の目および眉などを撮影するようにHMD110の筐体に設けられている。本実施の形態において、HMD110のユーザ190側の筐体をHMD110の内側、HMD110のユーザ190とは逆側の筐体をHMD110の外側と定義する。ある局面において、第1カメラ116は、HMD110の外側に配置され、第2カメラ117は、HMD110の内側に配置され得る。第1カメラ116および第2カメラ117が生成した画像は、コンピュータ200に入力される。
The
コンピュータ200は、他のユーザのコンピュータ200から受信した音声データに応じて、当該他のユーザに対応する他アバターオブジェクトを動かすような画像をモニタ112に表示する。たとえば、ある局面において、コンピュータ200は、他アバターオブジェクトの口を動かすような画像をモニタ112に表示することで、あたかも仮想空間2内でアバターオブジェクト同士が会話しているかのように仮想空間2を表現する。このように、複数のコンピュータ200間で音声データの送受信が行なわれることで、一の仮想空間2内で複数のユーザ間での会話(チャット)が実現される。
The
HMDセンサ120は、複数の光源(図示しない)を含む。各光源は、たとえば、赤外線を発するLED(Light Emitting Diode)により実現される。HMDセンサ120は、HMD110の動きを検出するためのポジショントラッキング機能を有する。HMDセンサ120は、この機能を用いて、現実空間内におけるHMD110の位置および傾きを検出する。
The
なお、他の局面において、HMDセンサ120は、カメラにより実現されてもよい。この場合、HMDセンサ120は、カメラから出力されるHMD110の画像情報を用いて、画像解析処理を実行することにより、HMD110の位置および傾きを検出することができる。
In another aspect, the
他の局面において、HMD110は、位置検出器として、HMDセンサ120の代わりに、センサ114を備えてもよい。HMD110は、センサ114を用いて、HMD110自身の位置および傾きを検出し得る。たとえば、センサ114が、角速度センサ、地磁気センサ、加速度センサ、あるいはジャイロセンサなどである場合、HMD110は、HMDセンサ120の代わりに、これらの各センサのいずれかを用いて、自身の位置および傾きを検出し得る。一例として、センサ114が角速度センサである場合、角速度センサは、現実空間におけるHMD110の3軸周りの角速度を経時的に検出する。HMD110は、各角速度に基づいて、HMD110の3軸周りの角度の時間的変化を算出し、さらに、角度の時間的変化に基づいて、HMD110の傾きを算出する。
In another aspect, the
また、HMD110は、透過型表示装置を備えていても良い。この場合、当該透過型表示装置は、その透過率を調整することにより、一時的に非透過型の表示装置として構成可能であってもよい。また、視野画像は仮想空間2を構成する画像の一部に、現実空間を提示する構成を含んでいてもよい。たとえば、HMD110に搭載されたカメラで撮影した画像を視野画像の一部に重畳して表示させてもよいし、当該透過型表示装置の一部の透過率を高く設定することにより、視野画像の一部から現実空間を視認可能にしてもよい。
Further, the
サーバ150は、コンピュータ200にプログラムを送信し得る。他の局面において、サーバ150は、他のユーザによって使用されるHMD110に仮想現実を提供するための他のコンピュータ200と通信し得る。たとえば、アミューズメント施設において、複数のユーザが参加型のゲームを行なう場合、各コンピュータ200は、各ユーザの動作に基づく信号を他のコンピュータ200と通信して、同じ仮想空間2において複数のユーザが共通のゲームを楽しむことを可能にする。また、上述したように、複数のコンピュータ200が各ユーザの動作に基づく信号を送受信することで、一の仮想空間2内で複数のユーザが会話を楽しむことができる。
The
コントローラ160は、ユーザ190からコンピュータ200への命令の入力を受け付ける。ある局面において、コントローラ160は、ユーザ190によって把持可能に構成される。他の局面において、コントローラ160は、ユーザ190の身体あるいは衣類の一部に装着可能に構成される。他の局面において、コントローラ160は、コンピュータ200から送られる信号に基づいて、振動、音、光のうちの少なくともいずれかを出力するように構成されてもよい。他の局面において、コントローラ160は、仮想現実を提供する空間に配置されるオブジェクトの位置や動きを制御するためにユーザ190によって与えられる操作を受け付ける。
The
モーションセンサ130は、ある局面において、ユーザ190の手に取り付けられて、ユーザ190の手の動きを検出する。たとえば、モーションセンサ130は、手の回転速度、回転数などを検出する。モーションセンサ130によって得られたユーザ190の手の動きの検出結果を表すデータ(以下、検出データともいう)は、コンピュータ200に送られる。モーションセンサ130は、たとえば、手袋型のコントローラ160に設けられている。ある実施の形態において、現実空間における安全のため、コントローラ160は、手袋型のようにユーザ190の手に装着されることにより容易に飛んで行かないものに装着されるのが望ましい。他の局面において、ユーザ190に装着されないセンサがユーザ190の手の動きを検出してもよい。たとえば、ユーザ190を撮影するカメラの信号が、ユーザ190の動作を表す信号として、コンピュータ200に入力されてもよい。モーションセンサ130とコンピュータ200とは、有線により、または無線により互いに接続される。無線の場合、通信形態は特に限られず、たとえば、Bluetooth(登録商標)その他の公知の通信手法が用いられる。
The
他の局面において、HMDシステム100は、テレビジョン放送受信チューナを備えてもよい。このような構成によれば、HMDシステム100は、仮想空間2においてテレビ番組を表示することができる。
In another aspect, the
さらに他の局面において、HMDシステム100は、インターネットに接続するための通信回路、あるいは、電話回線に接続するための通話機能を備えていてもよい。
In still other aspects, the
[コンピュータのハードウェア構成]
図2を参照して、本実施の形態に係るコンピュータ200について説明する。図2は、一局面に従うコンピュータ200のハードウェア構成の一例を表すブロック図である。コンピュータ200は、主たる構成要素として、プロセッサ10と、メモリ11と、ストレージ12と、入出力インターフェース13と、通信インターフェース14とを備える。各構成要素は、それぞれ、バス15に接続されている。
[Computer hardware configuration]
The
プロセッサ10は、コンピュータ200に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ11またはストレージ12に格納されているプログラムに含まれる一連の命令を実行する。ある局面において、プロセッサ10は、CPU(Central Processing Unit)、MPU(Micro Processor Unit)、FPGA(Field-Programmable Gate Array)その他のデバイスとして実現される。
The
メモリ11は、プログラムおよびデータを一時的に保存する。プログラムは、たとえば、ストレージ12からロードされる。データは、コンピュータ200に入力されたデータと、プロセッサ10によって生成されたデータとを含む。ある局面において、メモリ11は、RAM(Random Access Memory)その他の揮発メモリとして実現される。
The
ストレージ12は、プログラムおよびデータを永続的に保持する。ストレージ12は、たとえば、ROM(Read-Only Memory)、ハードディスク装置、フラッシュメモリ、その他の不揮発記憶装置として実現される。ストレージ12に格納されるプログラムは、HMDシステム100において仮想空間2を提供するためのプログラム、シミュレーションプログラム、ゲームプログラム、ユーザ認証プログラム、他のコンピュータ200との通信を実現するためのプログラムを含む。ストレージ12に格納されるデータは、仮想空間2を規定するためのデータおよびオブジェクトなどを含む。
なお、他の局面において、ストレージ12は、メモリカードのように着脱可能な記憶装置として実現されてもよい。さらに他の局面において、コンピュータ200に内蔵されたストレージ12の代わりに、外部の記憶装置に保存されているプログラムおよびデータを使用する構成が使用されてもよい。このような構成によれば、たとえば、アミューズメント施設のように複数のHMDシステム100が使用される場面において、プログラムやデータの更新を一括して行なうことが可能になる。
In another aspect, the
ある実施の形態において、入出力インターフェース13は、HMD110、HMDセンサ120またはモーションセンサ130との間で信号を通信する。ある局面において、入出力インターフェース13は、USB(Universal Serial Bus)インターフェース、DVI(Digital Visual Interface)、HDMI(登録商標)(High-Definition Multimedia Interface)その他の端子を用いて実現される。なお、入出力インターフェース13は上述のものに限られない。
In certain embodiments, the input /
ある実施の形態において、入出力インターフェース13は、さらに、コントローラ160と通信し得る。たとえば、入出力インターフェース13は、モーションセンサ130から出力された信号の入力を受ける。他の局面において、入出力インターフェース13は、プロセッサ10から出力された命令を、コントローラ160に送る。当該命令は、振動、音声出力、発光などをコントローラ160に指示する。コントローラ160は、当該命令を受信すると、その命令に応じて、振動、音声出力または発光のいずれかを実行する。
In certain embodiments, the input /
通信インターフェース14は、ネットワーク19に接続されて、ネットワーク19に接続されている他のコンピュータ(たとえば、サーバ150、他のユーザのコンピュータ200など)と通信する。ある局面において、通信インターフェース14は、たとえば、LAN(Local Area Network)その他の有線通信インターフェース、あるいは、WiFi(Wireless Fidelity)、Bluetooth(登録商標)、NFC(Near Field Communication)その他の無線通信インターフェースとして実現される。なお、通信インターフェース14は上述のものに限られない。
The
ある局面において、プロセッサ10は、ストレージ12にアクセスし、ストレージ12に格納されている1つ以上のプログラムをメモリ11にロードし、当該プログラムに含まれる一連の命令を実行する。当該1つ以上のプログラムは、コンピュータ200のオペレーティングシステム、仮想空間2を提供するためのアプリケーションプログラム、コントローラ160を用いて仮想空間2で実行可能なゲームソフトウェアなどを含み得る。プロセッサ10は、入出力インターフェース13を介して、仮想空間2を提供するための信号をHMD110に送る。HMD110は、その信号に基づいてモニタ112に映像を表示する。
In one aspect, the
なお、図2に示される例では、コンピュータ200は、HMD110の外部に設けられる構成が示されているが、他の局面において、コンピュータ200は、HMD110に内蔵されてもよい。一例として、モニタ112を含む携帯型の情報通信端末(たとえば、スマートフォン)がコンピュータ200として機能してもよい。
In the example shown in FIG. 2, the
また、コンピュータ200は、複数のHMD110に共通して用いられる構成であってもよい。このような構成によれば、たとえば、複数のユーザに同一の仮想空間2を提供することもできるので、各ユーザは同一の仮想空間2で他のユーザと同一のアプリケーションを楽しむことができる。
Further, the
ある実施の形態において、HMDシステム100では、グローバル座標系が予め設定されている。グローバル座標系は、現実空間における鉛直方向、鉛直方向に直交する水平方向、ならびに、鉛直方向および水平方向の双方に直交する前後方向にそれぞれ平行な、3つの基準方向(軸)を有する。本実施の形態では、グローバル座標系は視点座標系の一つである。そこで、グローバル座標系における水平方向、鉛直方向(上下方向)、および前後方向は、それぞれ、x軸、y軸、z軸と規定される。より具体的には、グローバル座標系において、x軸は現実空間の水平方向に平行である。y軸は、現実空間の鉛直方向に平行である。z軸は現実空間の前後方向に平行である。
In one embodiment, the
ある局面において、HMDセンサ120は、赤外線センサを含む。赤外線センサが、HMD110の各光源から発せられた赤外線をそれぞれ検出すると、HMD110の存在を検出する。HMDセンサ120は、さらに、各点の値(グローバル座標系における各座標値)に基づいて、HMD110を装着したユーザ190の動きに応じた、現実空間内におけるHMD110の位置および傾きを検出する。より詳しくは、HMDセンサ120は、経時的に検出された各値を用いて、HMD110の位置および傾きの時間的変化を検出できる。
In one aspect, the
グローバル座標系は現実空間の座標系と平行である。したがって、HMDセンサ120によって検出されたHMD110の各傾きは、グローバル座標系におけるHMD110の3軸周りの各傾きに相当する。HMDセンサ120は、グローバル座標系におけるHMD110の傾きに基づき、uvw視野座標系をHMD110に設定する。HMD110に設定されるuvw視野座標系は、HMD110を装着したユーザ190が仮想空間2において物体を見る際の視点座標系に対応する。
The global coordinate system is parallel to the coordinate system in real space. Therefore, each inclination of the
[uvw視野座標系]
図3を参照して、uvw視野座標系について説明する。図3は、ある実施の形態に従うHMD110に設定されるuvw視野座標系を概念的に表す図である。HMDセンサ120は、HMD110の起動時に、グローバル座標系におけるHMD110の位置および傾きを検出する。プロセッサ10は、検出された値に基づいて、uvw視野座標系をHMD110に設定する。
[Uvw field coordinate system]
The uvw field coordinate system will be described with reference to FIG. FIG. 3 is a diagram conceptually representing the uvw field coordinate system set in the
図3に示されるように、HMD110は、HMD110を装着したユーザ190の頭部を中心(原点)とした3次元のuvw視野座標系を設定する。より具体的には、HMD110は、グローバル座標系を規定する水平方向、鉛直方向、および前後方向(x軸、y軸、z軸)を、グローバル座標系内においてHMD110の各軸周りの傾きだけ各軸周りにそれぞれ傾けることによって新たに得られる3つの方向を、HMD110におけるuvw視野座標系のピッチ方向(u軸)、ヨー方向(v軸)、およびロール方向(w軸)として設定する。
As shown in FIG. 3, the
ある局面において、HMD110を装着したユーザ190が直立し、かつ、正面を視認している場合、プロセッサ10は、グローバル座標系に平行なuvw視野座標系をHMD110に設定する。この場合、グローバル座標系における水平方向(x軸)、鉛直方向(y軸)、および前後方向(z軸)は、HMD110におけるuvw視野座標系のピッチ方向(u軸)、ヨー方向(v軸)、およびロール方向(w軸)に一致する。
In a certain aspect, when the
uvw視野座標系がHMD110に設定された後、HMDセンサ120は、HMD110の動きに基づいて、設定されたuvw視野座標系におけるHMD110の傾き(傾きの変化量)を検出できる。この場合、HMDセンサ120は、HMD110の傾きとして、uvw視野座標系におけるHMD110のピッチ角(θu)、ヨー角(θv)、およびロール角(θw)をそれぞれ検出する。ピッチ角(θu)は、uvw視野座標系におけるピッチ方向周りのHMD110の傾き角度を表す。ヨー角(θv)は、uvw視野座標系におけるヨー方向周りのHMD110の傾き角度を表す。ロール角(θw)は、uvw視野座標系におけるロール方向周りのHMD110の傾き角度を表す。
After the uvw visual field coordinate system is set to the
HMDセンサ120は、検出されたHMD110の傾き角度に基づいて、HMD110が動いた後のHMD110におけるuvw視野座標系を、HMD110に設定する。HMD110と、HMD110のuvw視野座標系との関係は、HMD110の位置および傾きに関わらず、常に一定である。HMD110の位置および傾きが変わると、当該位置および傾きの変化に連動して、グローバル座標系におけるHMD110のuvw視野座標系の位置および傾きが変化する。
The
ある局面において、HMDセンサ120は、赤外線センサからの出力に基づいて取得される赤外線の光強度および複数の点間の相対的な位置関係(たとえば、各点間の距離など)に基づいて、HMD110の現実空間内における位置を、HMDセンサ120に対する相対位置として特定してもよい。また、プロセッサ10は、特定された相対位置に基づいて、現実空間内(グローバル座標系)におけるHMD110のuvw視野座標系の原点を決定してもよい。
In one aspect, the
[仮想空間]
図4を参照して、仮想空間2についてさらに説明する。図4は、ある実施の形態に従う仮想空間2を表現する一態様を概念的に表す図である。仮想空間2は、中心21の360度方向の全体を覆う全天球状の構造を有する。図4では、説明を複雑にしないために、仮想空間2のうちの上半分の天球が例示されている。仮想空間2では各メッシュが規定される。各メッシュの位置は、仮想空間2に規定されるXYZ座標系における座標値として予め規定されている。コンピュータ200は、仮想空間2に展開可能なコンテンツ(静止画、動画など)を構成する各部分画像を、仮想空間2において対応する各メッシュにそれぞれ対応付けて、ユーザ190によって視認可能な仮想空間画像22が展開される仮想空間2をユーザ190に提供する。
[Virtual space]
The
ある局面において、仮想空間2では、中心21を原点とするXYZ座標系が規定される。XYZ座標系は、たとえば、グローバル座標系に平行である。XYZ座標系は視点座標系の一種であるため、XYZ座標系における水平方向、鉛直方向(上下方向)、および前後方向は、それぞれX軸、Y軸、Z軸として規定される。したがって、XYZ座標系のX軸(水平方向)がグローバル座標系のx軸と平行であり、XYZ座標系のY軸(鉛直方向)がグローバル座標系のy軸と平行であり、XYZ座標系のZ軸(前後方向)がグローバル座標系のz軸と平行である。
In a certain aspect, the
HMD110の起動時、すなわちHMD110の初期状態において、仮想カメラ1が、仮想空間2の中心21に配置される。仮想カメラ1は、現実空間におけるHMD110の動きに連動して、仮想空間2を同様に移動する。これにより、現実空間におけるHMD110の位置および向きの変化が、仮想空間2において同様に再現される。
At the time of starting the
仮想カメラ1には、HMD110の場合と同様に、uvw視野座標系が規定される。仮想空間2における仮想カメラのuvw視野座標系は、現実空間(グローバル座標系)におけるHMD110のuvw視野座標系に連動するように規定されている。したがって、HMD110の傾きが変化すると、それに応じて、仮想カメラ1の傾きも変化する。また、仮想カメラ1は、HMD110を装着したユーザ190の現実空間における移動に連動して、仮想空間2において移動することもできる。
As in the case of the
仮想カメラ1の向きは、仮想カメラ1の位置および傾きに応じて決まるので、ユーザ190が仮想空間画像22を視認する際に基準となる視線(基準視線5)は、仮想カメラ1の向きに応じて決まる。コンピュータ200のプロセッサ10は、基準視線5に基づいて、仮想空間2における視界領域23を規定する。視界領域23は、仮想空間2のうち、HMD110を装着したユーザ190の視界に対応する。
Since the orientation of the
注視センサ140によって検出されるユーザ190の視線方向は、ユーザ190が物体を視認する際の視点座標系における方向である。HMD110のuvw視野座標系は、ユーザ190がモニタ112を視認する際の視点座標系に等しい。また、仮想カメラ1のuvw視野座標系は、HMD110のuvw視野座標系に連動している。したがって、ある局面に従うHMDシステム100は、注視センサ140によって検出されたユーザ190の視線方向を、仮想カメラ1のuvw視野座標系におけるユーザ190の視線方向とみなすことができる。
The line-of-sight direction of the
[ユーザの視線]
図5を参照して、ユーザ190の視線方向の決定について説明する。図5は、ある実施の形態に従うHMD110を装着するユーザ190の頭部を上から表した図である。
[User's line of sight]
The determination of the line-of-sight direction of the
ある局面において、注視センサ140は、ユーザ190の右目および左目の各視線を検出する。ある局面において、ユーザ190が近くを見ている場合、注視センサ140は、視線R1およびL1を検出する。他の局面において、ユーザ190が遠くを見ている場合、注視センサ140は、視線R2およびL2を検出する。この場合、ロール方向wに対して視線R2およびL2がなす角度は、ロール方向wに対して視線R1およびL1がなす角度よりも小さい。注視センサ140は、検出結果をコンピュータ200に送信する。
In one aspect, the
コンピュータ200が、視線の検出結果として、視線R1およびL1の検出値を注視センサ140から受信した場合には、その検出値に基づいて、視線R1およびL1の交点である注視点N1を特定する。一方、コンピュータ200は、視線R2およびL2の検出値を注視センサ140から受信した場合には、視線R2およびL2の交点を注視点として特定する。コンピュータ200は、特定した注視点N1の位置に基づき、ユーザ190の視線方向N0を特定する。コンピュータ200は、たとえば、ユーザ190の右目Rと左目Lとを結ぶ直線の中点と、注視点N1とを通る直線の延びる方向を、視線方向N0として検出する。視線方向N0は、ユーザ190が両目により実際に視線を向けている方向である。また、視線方向N0は、視界領域23に対してユーザ190が実際に視線を向けている方向に相当する。
When the
[視界領域]
図6および図7を参照して、視界領域23について説明する。図6は、仮想空間2において視界領域23をX方向から見たYZ断面を表す図である。図7は、仮想空間2において視界領域23をY方向から見たXZ断面を表す図である。
[Visibility area]
The
図6に示されるように、YZ断面における視界領域23は、領域24を含む。領域24は、仮想カメラ1の基準視線5と仮想空間2のYZ断面とによって定義される。プロセッサ10は、仮想空間2おける基準視線5を中心として極角αを含む範囲を、領域24として規定する。
As shown in FIG. 6, the field of
図7に示されるように、XZ断面における視界領域23は、領域25を含む。領域25は、基準視線5と仮想空間2のXZ断面とによって定義される。プロセッサ10は、仮想空間2における基準視線5を中心とした方位角βを含む範囲を、領域25として規定する。
As shown in FIG. 7, the field of
ある局面において、HMDシステム100は、コンピュータ200からの信号に基づいて、視界画像をモニタ112に表示させることにより、ユーザ190に仮想空間2を提供する。視界画像は、仮想空間画像22のうちの視界領域23に重畳する部分に相当する。ユーザ190が、頭に装着したHMD110を動かすと、その動きに連動して仮想カメラ1も動く。その結果、仮想空間2における視界領域23の位置が変化する。これにより、モニタ112に表示される視界画像は、仮想空間画像22のうち、仮想空間2においてユーザ190が向いた方向の視界領域23に重畳する画像に更新される。ユーザ190は、仮想空間2における所望の方向を視認することができる。
In one aspect, the
ユーザ190は、HMD110を装着している間、現実世界を視認することなく、仮想空間2に展開される仮想空間画像22のみを視認できる。そのため、HMDシステム100は、仮想空間2への高い没入感覚をユーザ190に与えることができる。
While wearing the
ある局面において、プロセッサ10は、HMD110を装着したユーザ190の現実空間における移動に連動して、仮想空間2において仮想カメラ1を移動し得る。この場合、プロセッサ10は、仮想空間2における仮想カメラ1の位置および向きに基づいて、HMD110のモニタ112に投影される画像領域(すなわち、仮想空間2における視界領域23)を特定する。
In a certain aspect, the
ある実施の形態に従うと、仮想カメラ1は、二つの仮想カメラ、すなわち、右目用の画像を提供するための仮想カメラと、左目用の画像を提供するための仮想カメラとを含むことが望ましい。また、ユーザ190が3次元の仮想空間2を認識できるように、適切な視差が、二つの仮想カメラに設定されていることが好ましい。本実施の形態においては、仮想カメラ1が二つの仮想カメラを含み、二つの仮想カメラのロール方向が合成されることによって生成されるロール方向(w)がHMD110のロール方向(w)に適合されるように構成されているものとして、本開示に係る技術思想を例示する。
According to certain embodiments, the
[コントローラ]
図8を参照して、コントローラ160の一例について説明する。図8は、ある実施の形態に従うコントローラ160の概略構成を表す図である。
[controller]
An example of the
図8の分図(A)に示されるように、ある局面において、コントローラ160は、右コントローラ800と左コントローラ(図示しない)とを含み得る。右コントローラ800は、ユーザ190の右手で操作される。左コントローラは、ユーザ190の左手で操作される。ある局面において、右コントローラ800と左コントローラとは、別個の装置として対称に構成される。したがって、ユーザ190は、右コントローラ800を把持した右手と、左コントローラを把持した左手とをそれぞれ自由に動かすことができる。他の局面において、コントローラ160は両手の操作を受け付ける一体型のコントローラであってもよい。以下、右コントローラ800について説明する。
As shown in FIG. 8A, the
右コントローラ800は、グリップ30と、フレーム31と、天面32とを備える。グリップ30は、ユーザ190の右手によって把持されるように構成されている。たとえば、グリップ30は、ユーザ190の右手の掌と3本の指(中指、薬指、小指)とによって保持され得る。
The
グリップ30は、ボタン33,34と、モーションセンサ130とを含む。ボタン33は、グリップ30の側面に配置され、右手の中指による操作を受け付ける。ボタン34は、グリップ30の前面に配置され、右手の人差し指による操作を受け付ける。ある局面において、ボタン33,34は、トリガー式のボタンとして構成される。モーションセンサ130は、グリップ30の筐体に内蔵されている。なお、ユーザ190の動作がカメラその他の装置によってユーザ190の周りから検出可能である場合には、グリップ30は、モーションセンサ130を備えなくてもよい。
The
フレーム31は、その円周方向に沿って配置された複数の赤外線LED35を含む。赤外線LED35は、コントローラ160を使用するプログラムの実行中に、当該プログラムの進行に合わせて赤外線を発光する。赤外線LED35から発せられた赤外線は、右コントローラ800と左コントローラとの各位置や姿勢(傾き、向き)を検出するために使用され得る。図8に示される例では、二列に配置された赤外線LED35が示されているが、配列の数は図8に示されるものに限られない。一列あるいは3列以上の配列が使用されてもよい。
The
天面32は、ボタン36,37と、アナログスティック38とを備える。ボタン36,37は、プッシュ式ボタンとして構成される。ボタン36,37は、ユーザ190の右手の親指による操作を受け付ける。アナログスティック38は、ある局面において、初期位置(ニュートラルの位置)から360度任意の方向への操作を受け付ける。当該操作は、たとえば、仮想空間2に配置されるオブジェクトを移動するための操作を含む。
The
ある局面において、右コントローラ800および左コントローラは、赤外線LED35その他の部材を駆動するための電池を含む。電池は、充電式、ボタン型、乾電池型などを含むが、これらに限定されない。他の局面において、右コントローラ800と左コントローラは、たとえば、コンピュータ200のUSBインターフェースに接続され得る。この場合、右コントローラ800および左コントローラは、電池を必要としない。
In one aspect, the
図8の分図(B)は、右コントローラ800を把持するユーザ190の右手に対応して仮想空間2に配置されるハンドオブジェクト810の一例を示す。たとえば、ユーザ190の右手に対応するハンドオブジェクト810に対して、ヨー、ロール、ピッチの各方向が規定される。たとえば、入力操作が、右コントローラ800のボタン34に対して行なわれると、ハンドオブジェクト810の人差し指を握りこんだ状態とし、入力操作がボタン34に対して行なわれていない場合には、分図(B)に示すように、ハンドオブジェクト810の人差し指を伸ばした状態とすることもできる。たとえば、ハンドオブジェクト810において親指と人差し指とが伸びている場合に、親指の伸びる方向がヨー方向、人差し指の伸びる方向がロール方向、ヨー方向の軸およびロール方向の軸によって規定される平面に垂直な方向がピッチ方向としてハンドオブジェクト810に規定される。
FIG. 8B shows an example of a
[HMDの制御装置]
図9を参照して、HMD110の制御装置について説明する。ある実施の形態において、制御装置は周知の構成を有するコンピュータ200によって実現される。図9は、ある実施の形態に従うコンピュータ200をモジュール構成として表すブロック図である。
[HMD control device]
The control device of the
図9に示されるように、コンピュータ200は、表示制御モジュール220と、仮想空間制御モジュール230と、メモリモジュール240と、通信制御モジュール250と、フェイストラッキングモジュール260と、動作検出モジュール271と、行動制御モジュール272とを備える。
As shown in FIG. 9, the
表示制御モジュール220は、サブモジュールとして、仮想カメラ制御モジュール221と、視界領域決定モジュール222と、視界画像生成モジュール223と、基準視線特定モジュール224と、傾き特定モジュール225と、視点特定モジュール226とを含む。
The
仮想空間制御モジュール230は、サブモジュールとして、仮想空間定義モジュール231と、仮想オブジェクト生成モジュール232と、手オブジェクト制御モジュール233とを含む。
The virtual
ある実施の形態において、表示制御モジュール220、仮想空間制御モジュール230、フェイストラッキングモジュール260、動作検出モジュール271、および、行動制御モジュール272は、プロセッサ10によって実現される。他の実施の形態において、複数のプロセッサ10が表示制御モジュール220、仮想空間制御モジュール230、フェイストラッキングモジュール260、動作検出モジュール271、および、行動制御モジュール272として作動してもよい。メモリモジュール240は、メモリ11またはストレージ12によって実現される。通信制御モジュール250は、通信インターフェース14によって実現される。
In one embodiment, the
ある局面において、表示制御モジュール220は、HMD110のモニタ112における画像表示を制御する。仮想カメラ制御モジュール221は、仮想空間2に仮想カメラ1を配置し、仮想カメラ1の挙動、向きなどを制御する。視界領域決定モジュール222は、HMD110を装着したユーザ190の頭の向きに応じて、視界領域23を規定する。視界画像生成モジュール223は、決定された視界領域23に基づいて、モニタ112に表示される視界画像のデータ(視界画像データともいう)を生成する。さらに、視界画像生成モジュール223は、仮想空間制御モジュール230から受信したデータに基づいて、視界画像データを生成する。視界画像生成モジュール223によって生成された視界画像データは、通信制御モジュール250によってHMD110に出力される。基準視線特定モジュール224は、注視センサ140からの信号に基づいて、ユーザ190の視線を特定する。
In one aspect, the
傾き特定モジュール225は、HMDセンサ120の出力に基づいて、HMD110の傾きを特定する。他の局面において、傾き特定モジュール225は、モーションセンサとして機能するセンサ114の出力に基づいて、HMD110の傾きを特定する。
The
視点特定モジュール226は、注視センサ140からの信号に基づいて、仮想空間2におけるユーザ190の視線を検出する。視点特定モジュール226は、検出したユーザ190の視線と仮想空間2の天球とが交わる視点位置(XYZ座標系における座標値)を検出する。より具体的には、視点特定モジュール226は、仮想カメラ1の位置および傾きに基づいて、uvw座標系で規定されるユーザ190の視線をXYZ座標系に変換して視点位置を検出する。
The
フェイストラッキングモジュール260は、HMD110を装着したユーザ190の顔の動きまたは表情を検出する。より具体的には、フェイストラッキングモジュール260は、顔器官検出モジュール261と、トラッキングモジュール262とを含む。顔器官検出モジュール261は、第1カメラ116および第2カメラ117からそれぞれ出力される画像データによって生成されるユーザ190の顔の画像から、ユーザ190の顔を構成する器官(例えば、口,目,眉)を検出する。トラッキングモジュール262は、顔器官検出モジュール261によって検出された各器官ごとの特徴点(の位置)を、例えば間欠的に(離散的に)検出する。トラッキングモジュール262は、ユーザ190の表情を検出することになる。顔器官検出モジュール261およびトラッキングモジュール262の制御内容は後述する。
The
仮想空間制御モジュール230は、ユーザ190に提供される仮想空間2を制御する。仮想空間定義モジュール231は、仮想空間2を表す仮想空間データを生成することにより、HMDシステム100における仮想空間2を規定する。
The virtual
仮想オブジェクト生成モジュール232は、仮想空間2に配置されるオブジェクトのデータを生成する。オブジェクトは、たとえば、他アバターオブジェクト、仮想パネル、仮想手紙、および仮想ポストなどを含み得る。仮想オブジェクト生成モジュール232によって生成されたデータは、視界画像生成モジュール223に出力される。
The virtual
手オブジェクト制御モジュール233は、手オブジェクトを仮想空間2に配置する。手オブジェクトは、たとえば、コントローラ160を保持したユーザ190の右手あるいは左手に対応する。ある局面において、手オブジェクト制御モジュール233は、右手あるいは左手に対応する手オブジェクトを仮想空間2に配置するためのデータを生成する。また、手オブジェクト制御モジュール233は、ユーザ190によるコントローラ160の操作に応じて、手オブジェクトを動かすためのデータを生成する。手オブジェクト制御モジュール233によって生成されたデータは、視界画像生成モジュール223に出力される。
The hand object control module 233 arranges the hand object in the
他の局面において、ユーザ190の体の一部の動き(たとえば、左手、右手、左足、右足、頭などの動き)がコントローラ160に関連付けられている場合、仮想空間制御モジュール230は、ユーザ190の体の一部に対応する部分オブジェクトを仮想空間2に配置するためのデータを生成する。仮想空間制御モジュール230は、ユーザ190が体の一部を用いてコントローラ160を操作すると、部分オブジェクトを動かすためのデータを生成する。これらのデータは、視界画像生成モジュール223に出力される。
In other aspects, if the movement of a part of the body of the user 190 (eg, the movement of the left hand, right hand, left foot, right foot, head, etc.) is associated with the
プロセッサ10は、ネットワーク19を介して他のユーザのコンピュータ200から音声データを受信すると、当該音声データに対応する音声(発話)をスピーカ115から出力する。
When the
動作検出モジュール271は、コンピュータ200に入力される信号に基づいて、ユーザ190の動作を検出する。ユーザ190の動作は、例えば、ユーザ190が表情を変更することを含む。動作検出モジュール271は、第1カメラ116から出力される信号および第2カメラ117から出力される信号を用いて、ユーザ190の表情を検出する。動作検出モジュール271は、さらに、これらの信号に加えて、注視センサ140からの出力を用いて、ユーザ190の表情を検出し得る。視線も考慮されることにより、表情が検出される精度が向上し得る。
The
行動制御モジュール272は、ユーザ190の表情が検出されたことに基づいて、NPC(Non-Players Character)オブジェクトの行動を制御する。別の局面において、行動制御モジュール272は、表情の検出結果に基づいて、ユーザ190の感情を判定し、判定したユーザ190の感情に応じて、NPCオブジェクトの行動を制御する。別の局面において、行動制御モジュール272は、NPCオブジェクトの行動として予め準備された複数の行動テンプレートから、検出された表情に対応する行動テンプレートを選択し、選択された行動テンプレートをNPCオブジェクトに反映することにより、ユーザ190の表情の検出結果に応じた行動を行うNPCオブジェクトを提示する。別の局面において、行動制御モジュール272は、NPCオブジェクトの第1の行動に反応したユーザ190の表情の検出結果に対して予め準備された複数の行動テンプレートから、ユーザ190の表情の検出結果に対応する行動テンプレートを第2の行動として選択し、第1の行動に続けて第2の行動をNPCオブジェクトに反映することにより、ユーザ190の表情の検出結果に応じた行動を行うNPCオブジェクトを提示する。
The
メモリモジュール240は、コンピュータ200が仮想空間2をユーザ190に提供するために使用されるデータを保持している。ある局面において、メモリモジュール240は、空間情報241と、オブジェクト情報242と、ユーザ情報243と、顔情報244とを保持している。
The memory module 240 holds data used by the
空間情報241は、仮想空間2を提供するために規定された1つ以上のテンプレートを保持している。
オブジェクト情報242は、仮想空間2において再生されるコンテンツ、当該コンテンツで使用されるオブジェクトを配置するための情報を保持している。当該コンテンツは、たとえば、ゲーム、現実社会と同様の風景を表したコンテンツなどを含み得る。さらに、オブジェクト情報242は、コントローラ160を操作するユーザ190の手に相当する手オブジェクトを仮想空間2に配置するためのデータと、各ユーザのアバターオブジェクトを仮想空間2に配置するためのデータと、仮想パネルなどのその他のオブジェクトを仮想空間2に配置するためのデータとを含む。
The
ユーザ情報243は、HMDシステム100の制御装置としてコンピュータ200を機能させるためのプログラム、オブジェクト情報242に保持される各コンテンツを使用するアプリケーションプログラムなどを保持している。メモリモジュール240に格納されているデータおよびプログラムは、HMD110のユーザ190によって入力される。あるいは、プロセッサ10が、当該コンテンツを提供する事業者が運営するコンピュータ(たとえば、サーバ150)からプログラムあるいはデータをダウンロードして、ダウンロードされたプログラムあるいはデータをメモリモジュール240に格納する。
The
顔情報244は、顔器官検出モジュール261がユーザ190の顔器官を検出するために予め記憶されたテンプレートを含む。ある実施形態において、顔情報244は、口テンプレート245と、目テンプレート246と、眉テンプレート247とを含む。各テンプレートは、顔を構成する器官に対応する画像であり得る。例えば、口テンプレート245は、口の画像であり得る。なお、各テンプレートは複数の画像を含んでもよい。顔情報244は、基準データ248をさらに含む。基準データ248は、ユーザ190が無表情である状態において、トラッキングモジュール262によって検出されるデータである。
The
通信制御モジュール250は、ネットワーク19を介して、サーバ150その他の情報通信装置と通信し得る。
The
[HMDシステムの制御構造]
図10を参照して、HMDシステム100の制御構造について説明する。図10は、ある実施の形態に従うHMDシステム100において実行される処理の一部を表すシーケンスチャートである。
[Control structure of HMD system]
The control structure of the
図10に示されるように、ステップS1010にて、コンピュータ200のプロセッサ10は、仮想空間定義モジュール231として、仮想空間画像データを特定し、仮想空間2を定義する。
As shown in FIG. 10, in step S1010, the
ステップS1020にて、プロセッサ10は、仮想カメラ1を初期化する。たとえば、プロセッサ10は、メモリのワーク領域において、仮想カメラ1を仮想空間2において予め規定された中心点に配置し、仮想カメラ1の視線をユーザ190が向いている方向に向ける。
In step S1020, the
ステップS1030にて、プロセッサ10は、視界画像生成モジュール223として、初期の視界画像を表示するための視界画像データを生成する。生成された視界画像データは、通信制御モジュール250によってHMD110に出力される。
In step S1030, the
ステップS1032にて、HMD110のモニタ112は、コンピュータ200から受信した視界画像データに基づいて、視界画像を表示する。HMD110を装着したユーザ190は、視界画像を視認すると仮想空間2を認識し得る。
In step S1032, the
ステップS1034にて、HMDセンサ120は、HMD110から発信される複数の赤外線光に基づいて、HMD110の位置と傾きを検知する。検知結果は、動き検知データとして、コンピュータ200に出力される。
In step S1034, the
ステップS1040にて、プロセッサ10は、HMD110の動き検知データに含まれる位置と傾きとに基づいて、HMD110を装着したユーザ190の視界方向を特定する。
In step S1040, the
ステップS1050にて、プロセッサ10は、アプリケーションプログラムを実行し、アプリケーションプログラムに含まれる命令に基づいて、仮想空間2にオブジェクトを提示する。このとき提示されるオブジェクトは、他アバターオブジェクトを含む。
In step S1050, the
ステップS1060にて、コントローラ160は、モーションセンサ130から出力される信号に基づいて、ユーザ190の操作を検出し、その検出された操作を表す検出データをコンピュータ200に出力する。なお、他の局面において、ユーザ190によるコントローラ160の操作は、ユーザ190の周囲に配置されたカメラからの画像に基づいて検出されてもよい。
In step S1060, the
ステップS1065にて、プロセッサ10は、コントローラ160から取得した検出データに基づいて、ユーザ190によるコントローラ160の操作を検出する。
In step S1065, the
ステップS1070にて、プロセッサ10は、手オブジェクトを仮想空間2に提示するための視界画像データを生成する。
In step S1070, the
ステップS1080にて、プロセッサ10は、ユーザ190によるコントローラ160の操作に基づく視界画像データを生成する。生成された視界画像データは、通信制御モジュール250によってHMD110に出力される。
In step S1080, the
ステップS1092にて、HMD110は、受信した視界画像データに基づいて視界画像を更新し、更新後の視界画像をモニタ112に表示する。
In step S1092, the
[フェイストラッキング]
以下、図11~図16を参照して、ユーザの表情(顔の動き)を検出する方法について説明する。まず、図11~図13では、一例として、ユーザ190の口の動きを検出する具体例について説明する。なお、図11~図13で説明される検出方法は、ユーザ190の口の動きに限られず、ユーザ190の顔を構成する他の器官(例えば、目、眉、鼻、頬)の動きの検出にも適用され得る。
[Face tracking]
Hereinafter, a method of detecting a user's facial expression (face movement) will be described with reference to FIGS. 11 to 16. First, in FIGS. 11 to 13, a specific example of detecting the movement of the mouth of the
図11は、ユーザの顔画像50から口を検出する制御について説明する図である。第1カメラ116により生成された顔画像50は、ユーザ190の鼻と口とを含む。
FIG. 11 is a diagram illustrating control for detecting a mouth from a user's
顔器官検出モジュール261は、顔情報244に格納される口テンプレート245を利用したパターンマッチングにより、顔画像50から口領域51を特定する。ある局面において、顔器官検出モジュール261は、顔画像50において、矩形上の比較領域を設定し、この比較領域の大きさ、位置および角度をそれぞれ変えながら、比較領域の画像と、口テンプレート245の画像との類似度を算出する。顔器官検出モジュール261は、予め定められたしきい値よりも大きい類似度が算出された比較領域を、口領域51として特定する。
The face organ detection module 261 identifies the
顔器官検出モジュール261は、さらに、算出した類似度がしきい値よりも大きい比較領域の位置と、他の顔器官(例えば、目、鼻)の位置との相対関係に基づいて、当該比較領域が口領域に相当するか否かを判断する。 The facial organ detection module 261 is further based on the relative relationship between the position of the comparison region whose calculated similarity is greater than the threshold value and the position of other facial organs (eg, eyes, nose). Determines if is equivalent to the mouth area.
トラッキングモジュール262は、顔器官検出モジュール261が検出した口領域51から、より詳細な口の形状を検出する。
The
図12は、トラッキングモジュール262が口の形状を検出する処理を説明する図(その1)である。図12を参照して、トラッキングモジュール262は、口領域51に含まれる口の形状(唇の輪郭)を検出するための複数の輪郭検出線52を設定する。複数の輪郭検出線52は、顔の高さ方向に直交する方向に、予め定められた間隔で設定される。
FIG. 12 is a diagram (No. 1) illustrating a process by which the
トラッキングモジュール262は、複数の輪郭検出線52の各々に沿った口領域51の輝度値の変化を検出し、輝度値の変化が急激な位置を輪郭点として特定し得る。より具体的には、トラッキングモジュール262は、隣接画素との輝度差(すなわち、輝度値変化)が予め定められた閾値以上である画素を、輪郭点として特定する。画素の輝度値は、例えば、画素のRBG値を予め規定された重み付けで積算することにより得られる。
The
トラッキングモジュール262は、口領域51に対応する画像から2種類の輪郭点を特定する。トラッキングモジュール262は、口(唇)の外側の輪郭に対応する輪郭点53と、口(唇)の内側の輪郭に対応する輪郭点54とを特定する。ある局面において、トラッキングモジュール262は、1つの輪郭検出線52上に3つ以上の輪郭点が検出された場合には、両端の輪郭点を外側の輪郭点53として特定し得る。この場合、トラッキングモジュール262は、外側の輪郭点53以外の輪郭点を、内側の輪郭点54として特定し得る。また、トラッキングモジュール262は、1つの輪郭検出線52上に2つ以下の輪郭点が検出された場合には、検出された輪郭点を外側の輪郭点53として特定し得る。
The
図13は、トラッキングモジュール262が口の形状を検出する処理を説明するための図(その2)である。図13では、外側の輪郭点53は白丸、内側の輪郭点54はハッチングされた丸としてそれぞれ示されている。
FIG. 13 is a diagram (No. 2) for explaining the process of detecting the shape of the mouth by the
トラッキングモジュール262は、内側の複数の輪郭点54間を補完することにより、口形状55を特定する。この場合、輪郭点54は、口の特徴点といえる。ある局面において、トラッキングモジュール262は、スプライン補完などの非線形の補完方法を用いて、口形状55を特定する。なお、他の局面において、トラッキングモジュール262は、外側の複数の輪郭点53間を補完することにより口形状55を特定してもよい。さらに他の局面において、トラッキングモジュール262は、想定される口形状(人の上唇と下唇とによって形成され得る所定の形状)から、大きく逸脱する輪郭点を除外し、残った輪郭点によって口形状55を特定してもよい。このようにして、トラッキングモジュール262は、ユーザの口の動作(形状)を特定する。なお、口形状55の検出方法は上記に限られず、トラッキングモジュール262は、他の手法により口形状55を検出してもよい。また、トラッキングモジュール262は、同様にして、ユーザの目および眉の動作を検出し得る。なお、トラッキングモジュール262は、頬、鼻などの器官の形状を検出可能に構成されてもよい。
The
図14を参照して、フェイストラッキングデータの構造について説明する。図14は、フェイストラッキングのためにストレージ12に格納されたデータの一例を表す図である。フェイストラッキングデータは、各器官の形状を構成する複数の特徴点のuvw視野座標系における位置座標を表す。例えば、図14に示されるポイントm1,m2,・・・は、口形状55を構成する内側の輪郭点54に対応する。ある局面において、フェイストラッキングデータは、第1カメラ116の位置を基準(原点)としたuvw視野座標系における座標値である。他の局面において、フェイストラッキングデータは、各器官ごとに予め定められた特徴点を基準(原点)とした座標系における座標値である。一例として、ポイントm1,m2,・・・は、内側の輪郭点54のうち口角に対応するいずれか一方の特徴点を原点とした座標系における座標値である。
The structure of face tracking data will be described with reference to FIG. FIG. 14 is a diagram showing an example of data stored in the
コンピュータ200は、生成されたフェイストラッキングデータをサーバ150に送信する。サーバ150は、コンピュータ200と通信する他のコンピュータ200にこのデータを転送する。他のコンピュータ200は、受信したフェイストラッキングデータを、当該フェイストラッキングデータをもたらしたコンピュータ200のユーザ190に対応するアバターオブジェクトに反映する。ユーザ190と通信する他のユーザは、表情が反映されたアバターオブジェクトを視認することができる。
The
図15および図16を参照して、ユーザ190の感情の変化について説明する。図15は、ユーザ190が無表情時に取得される顔の特徴点を表す。図16は、ユーザ190が驚いたときに取得される顔の特徴点を表す。図15および図16に示される特徴点Pは、トラッキングモジュール262によって取得されるユーザ190の顔の特徴点を表す。
The emotional changes of the
ある局面において、プロセッサ10は、第1カメラ116および第2カメラ117によってユーザ190の顔を撮影する。プロセッサ10は、取得した画像に基づいてフェイストラッキングデータを生成する。このとき生成されたフェイストラッキングは基準データ248として機能する。プロセッサ10は、生成した基準データ248をメモリモジュール240に保存する。
In one aspect, the
図15に示される特徴点Pは、基準データ248に対応する。一方、図16に示される特徴点Pは、ユーザ190が仮想空間2に没入している間に随時取得されるフェイストラッキングデータに対応する。
The feature point P shown in FIG. 15 corresponds to the
図16に示される例において、ユーザ190は驚いているため、図15と比較して目の特徴点Pが顔の高さ方向に広がり、眉の特徴点Pが上方向に移動している。このように、基準データに対するフェイストラッキングデータの変動量は、仮想空間2に展開されるコンテンツに対するユーザ190の関心の度合いを表す。
In the example shown in FIG. 16, since the
ある局面において、プロセッサ10は、各々の特徴点ごとに基準データに対するフェイストラッキングデータの変動量を算出し、その総和に基づいて上記の判断を行なう。他の局面において、プロセッサ10は、感情による変化の度合いが大きい予め定められた特徴点(例えば、口角に対応する特徴点)についてのみ変動量を算出し、その総和に基づいて上記判断を行なう。
In a certain aspect, the
[技術思想]
まず、本実施の形態に係る技術思想について説明する。当該技術思想は、要約すると、仮想空間2におけるアバターオブジェクト間のコミュニケーションをより豊かにするために、HMD110を装着しているユーザ190の表情をトラッキングした結果に応じて、仮想空間2に提示されるアバターオブジェクトを制御するというものである。アバターオブジェクトは、ユーザ190に対応しないアバターオブジェクト、および、ユーザ190に対応するアバターオブジェクトのいずれであってもよい。
[Technical Thought]
First, the technical idea according to the present embodiment will be described. In summary, the technical idea is presented in the
例えば、ある局面において、仮想空間2に展開されるコンテンツにおいて予め準備されているノンプレイヤーキャラクタ(NPC)アバターオブジェクトが仮想空間2に提示されている場合に、当該NPCオブジェクトの動作を、ユーザ190の表情をトラッキングした結果に応じて制御する。の表情をトラッキングする技術は、例えば上述のフェイストラッキングであるが、その他のトラッキング技術が用いられてもよい。当該トラッキングの結果として判別されるユーザ190の感情をもとに、NPCオブジェクトの動作が制御される。このような制御を実現するために、例えば、ユーザ190の喜怒哀楽などの感情に対するNPCオブジェクトの表情を規定する表情テンプレートを予め複数パターン用意しておく。HMD110を装着しているユーザ190の表情が、HMD110に設けられたカメラやセンサーによって検出され、その検出結果に応じて表情テンプレートが選択され、NPCオブジェクトの表情に反映される。一例として、ユーザ190が笑っているときは、当該コンテンツにおいてガヤ(にぎやかし)として登場しているNPCオブジェクトも笑っているように動作する。このような構成により、NPCオブジェクトの表情がユーザ190の表情の変化に応じてリアルタイムで反応するようになるので、HMD110を装着したユーザ190による仮想空間2に対する没入感が高まり得る。
For example, in a certain situation, when a non-player character (NPC) avatar object prepared in advance in the content expanded in the
別の局面において、ユーザ190の表情の変化を一定の範囲でNPCオブジェクトに反映され得る。ユーザ190の表情の変化が常にNPCオブジェクトに反映されると、NPCオブジェクトを視認しているユーザ190その他のユーザは、あまりのリアルさに違和感を覚える場合もあり得る。そこで、ユーザ190の表情の変化の程度が予め定められた閾値を超えた場合には、予め用意された表情テンプレートがNPCオブジェクトの表情として割り当てられる。すなわち、ユーザ190の表情とNPCオブジェクトの表情とがリニアな関係にはならず、ユーザ190の表情の変化が一定の範囲の場合には、NPCオブジェクトの表情は一定の表情となる。これにより、例えば、ユーザ190の僅かな表情変化が全てアバターオブジェクトに反映されなくなるので、当該アバターオブジェクトを視認するユーザは違和感を覚えにくくなる。
In another aspect, changes in the facial expression of the
さらに別の局面において、ユーザ190の表情のトラッキングの結果を敢えて仮想空間2に提示されるユーザ190のアバターオブジェクトに反映させない、ということも実現される。仮想空間2では他ユーザのアバターオブジェクトが不意にユーザ190の視界範囲外から視界範囲内に入ってくる場合もある。そこで、ある局面においては、ユーザ190がアバターオブジェクトの表情として予め選択された表情が自らのアバターオブジェクトに反映され、ユーザ190の表情の変化が敢えてリアルタイムに反映されない。これにより、仮想空間2を介してコミュニケーションをとっている他ユーザに対して、ユーザ190の意図しない表情が示されることが防止され得る。なお、ユーザ190によって予め選択される表情は、コンテンツの提供者によって予め作成された有料または無料の表情テンプレートのいずれに基づくものであってもよい。また、ユーザ190の表情を当該ユーザのアバターオブジェクトにリアルタイムに反映されるか、あるいは、予めユーザ190に選択された表情テンプレートに基づく表情が当該ユーザのアバターオブジェクトに反映されるか否かは、ユーザ190が予め選択し得る。別の局面において、コンテンツを提供するサーバ150その他のプロセッサが当該コンテンツに応じて予め設定してもよい。例えば、ユーザ190の視界領域に新たに他ユーザのアバターオブジェクトが入ってくる場合には、少なくとも、ユーザ190の真顔の表情あるいは微笑みの表情がユーザ190のアバターオブジェクトに反映されてもよい。
In yet another aspect, it is also realized that the result of tracking the facial expression of the
(1)ある局面に従うと、コンピュータ(例えば、サーバ150)のプロセッサ151が、仮想現実空間として例えば仮想空間2を定義し、仮想空間2にノンプレイヤーキャラクター(NPC)オブジェクトを提示し、HMD110のユーザ190による動作(例えば、表情の変化、発話、四肢の動作等)を検出し、動作を検出したことに応答して、NPCオブジェクトの行動(例えば、表情の変化、発話、四肢の動作等)を制御する。
(1) According to a certain aspect, a
(2)ある局面に従うと、プロセッサ151は、ユーザの表情を検出し、当該表情の検出結果に基づいて、NPCオブジェクトの行動を制御する。例えば、NPCオブジェクトは、ユーザ190に向かって微笑む。
(2) According to a certain aspect, the
(3)ある局面に従うと、上記に加えて、プロセッサ151は、表情の検出結果に基づいて、ユーザ190の感情を判定し、判定したユーザの感情に応じて、NPCオブジェクトの行動を制御する。例えば、ユーザ190が笑っている場合には、プロセッサ151は、ユーザ190が喜んでいると判定し、NPCオブジェクトの表情も笑っている表情にする。
(3) According to a certain aspect, in addition to the above, the
(4)ある局面に従うと、上記に加えて、プロセッサ151は、NPCオブジェクトの行動として予め準備された複数の行動テンプレートから検出された表情に対応する行動テンプレートを選択し、選択された行動テンプレートをNPCオブジェクトに反映することにより、ユーザ190の表情の検出結果に応じた行動を行うNPCオブジェクトを提示する。
(4) According to a certain aspect, in addition to the above, the
(5)ある局面に従うと、上記に加えて、プロセッサ151は、第1の行動をNPCオブジェクトに行わせ、NPCオブジェクトが第1の行動を行ったことに反応したHMD110のユーザの表情を検出する。プロセッサ151は、NPCオブジェクトの第1の行動に反応したユーザの表情の検出結果に対して予め準備された複数の行動テンプレートから、ユーザの表情の検出結果に対応する行動テンプレートを第2の行動として選択し、第1の行動に続けて第2の行動をNPCオブジェクトに反映することにより、ユーザの表情の検出結果に応じた行動を行うNPCオブジェクトを提示する。
(5) According to a certain aspect, in addition to the above, the
(6)ある局面に従うと、プロセッサ151は、HMD110によって提供される仮想空間2を介して通信するためのプログラムを実行する。より詳しくは、プロセッサ151は、仮想空間2を定義し、HMD110のユーザ190の表情を検出する。プロセッサ151は、HMD110のユーザ190に対応するアバターオブジェクトとして、予め準備された一つ以上の表情を有するアバターオブジェクトを表示するためのデータにアクセスし、検出されるユーザの表情の変化に応じて、当該データに基づく表情を有するアバターオブジェクトを仮想空間2に提示する。
(6) According to a certain aspect, the
(7)ある局面に従うと、上記に加えて、ユーザ190の表情の検出結果の変化率が予め定められた範囲内にある場合に、アバターオブジェクトの表情が一定の表情となるように、当該データは規定されている。係る構成によれば、ユーザ190の表情の変化に幅がある場合には、アバターオブジェクトの表情は一定の表情となるので、ユーザ190の表情が全てアバターオブジェクトに反映されることを防止することができる。
(7) According to a certain aspect, in addition to the above, when the rate of change of the facial expression detection result of the
(8)ある局面に従うと、上記に加えて、プロセッサ151は、検出された表情をユーザ190に対応するアバターオブジェクトの表情に反映させることなく、予め準備された表情が反映されたアバターオブジェクトを提示する。
(8) According to a certain aspect, in addition to the above, the
(9)ある局面に従うと、上記に加えて、プロセッサ151は、予め準備された表情が反映されたアバターオブジェクトの購入を受け付けるインターフェイスオブジェクトを仮想空間2に提示する。係る構成によれば、ユーザ190は、必要と判断したタイミングで当該アバターオブジェクトを購入できるので、当該アバターオブジェクトを直ぐに利用できるようになり、シームレスなコミュニケーションが可能になり、また、コンテンツを継続して楽しむことができる。
(9) According to a certain aspect, in addition to the above, the
(10)ある局面に従うと、上記に加えて、プロセッサ151は、ユーザ190の表情の検出結果をアバターオブジェクトに反映するか否かの指定をユーザ190から受け付ける。プロセッサ151は、ユーザの表情をアバターオブジェクトに反映するか否かを規定する設定に従って、当該アバターオブジェクトを提示する。例えば、当該アバターオブジェクトを使用するアプリケーションの実行前に、上記指定がユーザ190によって入力されると、その指定が有効である場合には、ユーザ190の表情がリアルタイムにアバターオブジェクトに反映される。その指定が有効でない場合には、ユーザ190の表情はリアルタイムに反映されず、例えば、予め準備された表情がアバターオブジェクトに反映される。これにより、ユーザ190のニーズに応じてアバターオブジェクトの表示を切り替えることができる。
(10) According to a certain aspect, in addition to the above, the
(11)ある局面に従うと、上記に加えて、プロセッサ151は、仮想空間2を共有する他のユーザの視界に対応する領域内にHMD110のユーザ190のアバターオブジェクトが入ったことに基づいて、ユーザ190のアバターオブジェクトの表情を予め準備された表情に変更して、変更後の表情が反映されたアバターオブジェクトを仮想空間2に提示する。これにより、仮想空間2を移動して偶然に他ユーザの視界に入った場合には、ユーザ190が意図しない表情を見られないようにできるので、ユーザ190は安心して仮想空間2に没入できる。
(11) According to a certain aspect, in addition to the above, the
[ネットワーク上でのユーザ間の交流]
図17を参照して、ネットワーク19上に展開される仮想空間を介したユーザ間の交流について説明する。図17は、ネットワーク19に接続されている複数のHMDのそれぞれが、複数のユーザのそれぞれに仮想空間を提供する状況を模式的に示す図である。
[Interaction between users on the network]
With reference to FIG. 17, the interaction between users via the virtual space developed on the
図17に示されるように、ある局面において、コンピュータ200A~200Fのそれぞれが、HMD110に対するコンテンツ提供装置として機能する。コンピュータ200A~200Fは、ネットワーク19を介してサーバ150と通信可能である。コンピュータ200A~200Fのそれぞれは、HMD110A~110Fのそれぞれに、仮想空間画像22A~22Fのそれぞれを表示させる。仮想空間画像22A~22Fは、例えば、アバターオブジェクト1701,1702,1703,1704を含む、同一のコンテンツを表わす画像である。アバターオブジェクト1701,1704は、HMD110A,110Bのユーザにそれぞれ対応する。オブジェクト1702,1703は、現実空間におけるユーザに対応するアバターオブジェクトではなく、NPCオブジェクトとして、コンテンツの進行に応じて仮想空間2に出現する。
As shown in FIG. 17, in a certain aspect, each of the
アバターオブジェクト1701は、HMD110Aのユーザに対応する。HMD110Aのユーザに提供される仮想空間画像22Aは、アバターオブジェクト1701の目の位置に対応する視界画像を表わす。HMD110Aのユーザの位置および傾きに従って、コンピュータ200Aは、仮想空間画像22Aによって表される視界画像を更新する。
The
HMD110Aは、仮想空間におけるユーザ190の位置および頭の傾きをサーバ150に通知してもよい。ユーザ190の位置は、コントローラ160の操作に応じて変更され得る。頭の傾きは、HMD110Aに内蔵されているセンサ114その他のセンサによって検出される。サーバ150は、HMD110Aのユーザの位置および傾きを、ネットワーク19に接続されている他のHMD110(例えば、HMD110B~110F)に通知できる。HMD110B~110Fは、当該通知に応じて、HMD110Aに対応するアバターオブジェクト1701の表示態様(たとえば、仮想空間における位置および姿勢)を変更し得る。
The
アバターオブジェクト1704は、HMD110Bのユーザを表わす。HMD110Bのユーザに提供される仮想空間画像22Bは、アバターオブジェクト1704の目の位置に対応する視界画像を表わす。
The
サーバ150から送信されるデータに基づいて、HMD110A,110B等は、仮想空間2にコンテンツを提示する。現実空間において、二人のユーザがHMD110A、110Bをそれぞれ装着している場合には、各ユーザは、仮想空間2において互いのアバターオブジェクトを視認しつつ、NPCオブジェクトも視認し得る。
Based on the data transmitted from the
なお、本実施の形態に係る技術思想が適用される局面は、図17に示されるように、複数のユーザが仮想空間2を共有する局面に限られない。HMD110を装着した一人のユーザが、NPCオブジェクトが登場するコンテンツを視聴する局面にも適用され得る。
The aspect to which the technical idea according to the present embodiment is applied is not limited to the aspect in which a plurality of users share the
図18を参照して、本開示に係る技術思想についてさらに説明する。図18は、NPCオブジェクトが提示される処理の一部を表わすフローチャートである。当該処理は、サーバ150、コンピュータ200その他の情報処理装置が備えるプロセッサあるいは回路素子の組み合わせによって実行される。以下、サーバ150が当該処理を実行する場合について説明する。
The technical idea according to the present disclosure will be further described with reference to FIG. FIG. 18 is a flowchart showing a part of the process in which the NPC object is presented. The process is executed by a combination of processors or circuit elements included in the
ステップS1810にて、プロセッサ151は、仮想空間2を定義する。ステップS1820にて、プロセッサ151は、仮想空間2にコンテンツを投影する。当該コンテンツは、例えば、映画、ドラマその他の動画コンテンツである。少なくとも、一人以上のNPCオブジェクトが当該コンテンツに含まれていればよい。NPCオブジェクトは、例えば、動画コンテンツに予め組み込まれているオブジェクトでる。ステップS1830にて、プロセッサ151は、仮想空間2にNPCオブジェクトを提示する。
In step S1810, the
ステップS1840にて、プロセッサ151は、仮想カメラ1の姿勢に基づき、視界画像を生成する。視界画像のデータがHMD110に送られると、ユーザ190は、モニタ112を介して視界画像を視認することができる。
In step S1840, the
ステップS1850にて、プロセッサ151は、コンピュータ200から送られた信号に基づいて、HMD110のユーザ190による動作を検出する。当該動作は、ユーザ190の表情の変化、コントローラ160の操作等を含む。表情の変化は、HMD110に取り付けられている第1カメラ116および第2カメラ117から出力される各信号に基づいて、上記のフェイストラッキング手法等を用いて行なわれる。ユーザ190の手に装着されたコントローラ160は、その手の動きに応じた信号をコンピュータ200に送信し、コンピュータ200は受信した当該信号をサーバ150に送信する。
In step S1850, the
ステップS1860にて、プロセッサ151は、検出された動作に応答して、NPCオブジェクトの行動を制御する。例えば、ユーザ190がNPCオブジェクトに対して微笑んだ場合、プロセッサ151は、フェイストラッキング処理を実行してユーザ190の当該微笑みを検出し、NPCオブジェクトの顔がユーザ190に向けられてNPCオブジェクトが微笑んだデータを生成する。
In step S1860, the
ステップS1870にて、プロセッサ151は、行動が制御されたNPCオブジェクトを仮想空間2に提示する。例えば、プロセッサ151は、仮想カメラ1による撮影範囲の中に、ユーザ190に向かって微笑んでいるNPCオブジェクトを配置する。仮想カメラ1による視界画像データは、プロセッサ151によってHMD110に送信される。ユーザ190は、モニタ112において、NPCオブジェクトがユーザ190に向かって微笑んでいることを認識できる。
In step S1870, the
ステップS1880にて、プロセッサ151は、サーバ150に対する命令に基づいて、コンテンツの表示を終了するか否かを判断する。例えば、ユーザ190が「再生停止」と発話した場合において、プロセッサ151が音声認識処理に基づき当該発話の内容を認識すると、コンテンツの表示を途中で終了すると判断し得る。あるいは、コンテンツの再生が終了している場合、プロセッサ151はコンテンツの表示を終了すると判断する。プロセッサ151がコンテンツの表示を終了すると判断すると(ステップS1880にてYES)、処理は終了する。そうでない場合には(ステップS1880にてNO)、プロセッサ151は制御をステップS1830に戻す。
In step S1880, the
[データ構造]
図19を参照して、サーバ150のデータ構造について説明する。図19は、サーバ150が備えるストレージ154におけるデータの格納の一態様を表わす図である。ストレージ154は、行動テンプレートを保有している。より詳しくは、ストレージ154は、NPCオブジェクトID1910と、行動テンプレートID1920と、表情ID1930とを含む。NPCオブジェクトID1910は、仮想空間2に提示されるNPCオブジェクトを識別する。行動テンプレートID1920は、当該NPCオブジェクトの行動を識別する。表情ID1930は、NPCオブジェクトの表情として予め規定された表情を識別する。
[data structure]
The data structure of the
[ユーザの表情変化をアバターオブジェクトにリアルに反映しない場合]
図20を参照して、本実施の形態の他の局面について説明する。図20は、HMD110を装着したユーザ190の表情の変化がそのままリアルにアバターオブジェクトに反映されないようにするための処理の一部を表わすフローチャートである。
[When the change in the user's facial expression is not realistically reflected in the avatar object]
Other aspects of this embodiment will be described with reference to FIG. FIG. 20 is a flowchart showing a part of the process for preventing the change in the facial expression of the
ステップS1810にて、プロセッサ151は、仮想空間2を定義する。
ステップS2010にて、プロセッサ151は、第1カメラ116および第2カメラ117からそれぞれ出力される各信号に基づいて、ユーザ190の表情を検出する。
In step S1810, the
In step S2010, the
ステップS2020にて、プロセッサ151は、表情の検出結果に基づいて、アバターオブジェクトを表示するためのデータにアクセスする。例えば、プロセッサ151は、ユーザ190の表情の変化率を算出し、その変化率に関連付けられている表情区分を特定し、その表情区分に関連付けられている表情を有するアバターオブジェクトを決定する。
In step S2020, the
ステップS2030にて、プロセッサ151は、アクセスされたデータを用いて、アバターオブジェクトを仮想空間2に提示する。
In step S2030, the
上記では、各処理がサーバ150によって実行される場合として説明されたが、当該処理は、コンピュータ200その他演算機能を備える他のコンピュータによって実行されてもよい。例えば、HMD110がプロセッサを備える場合には、そのプロセッサが当該処理を実行してもよい。
In the above, the case where each process is executed by the
[データ構造]
図21を参照して、サーバ150のデータ構造について説明する。図21は、ストレージ154におけるデータの格納の他の態様を表わす図である。ストレージ154は、テーブル2100を保持している。テーブル2100は、アバターオブジェクトID2110と、表情ID2120と、表情の変化率レンジ2130とを含む。アバターオブジェクトID2110は、HMD110を使用するユーザに対応するアバターオブジェクトを識別する。表情ID2120は、当該アバターオブジェクトの表情として予め規定されて割り当てられている表情を識別する。表情の変化率レンジ2130は、HMD110を装着したユーザ190の表情の変化率の範囲を特定する。
[data structure]
The data structure of the
例えば、ユーザ190の表情は、第1カメラ116および第2カメラ117から出力される各信号に基づいて、継続的に、例えば一定時間ごとに検出され、表情を表わすデータが出力される。時間的に隣接する二つのデータを用いて変化率が算出される。その変化率が表情の変化率レンジ2130のいずれかの範囲に属している場合、その変化率で特定される表情ID2120で特定される表情がアバターオブジェクトID2110で特定されるアバターオブジェクトに反映される。したがって、ユーザ190の表情の変化が常にリアルタイムで、そのアバターオブジェクトに反映されないようにすることができる。
For example, the facial expression of the
[表情を見せたくない場合における愛想笑い]
図22を参照して、本実施の形態に係るさらに他の局面について説明する。図22は、プロセッサが実行する処理の一部を表わすフローチャートである。
[Laughter when you don't want to show your facial expression]
Yet another aspect of this embodiment will be described with reference to FIG. 22. FIG. 22 is a flowchart showing a part of the processing executed by the processor.
ステップS2210にて、プロセッサ151は、ユーザ190に選択されたアプリケーションをメモリ152にロードする。ステップS1810にて、プロセッサ151は、アプリケーションの初期設定処理を実行し、仮想空間2を定義する。
In step S2210,
ステップS2220にて、プロセッサ151は、ユーザ190の表情をアバターオブジェクトに反映するか否かの設定の入力を受け付ける。例えば、当該設定画面がモニタ112に表示され、ユーザ190は、コントローラ160を操作することにより、あるいは、予め規定されたメニュー項目を視線で選択することにより、設定を入力できる。入力された設定内容は、メモリ152に保持される。
In step S2220, the
ステップS2230にて、プロセッサ151は、アプリケーションの実行を開始する。ステップS2010にて、プロセッサ151は、ユーザ190の表情を検出する。ステップS2240にて、プロセッサ151は、メモリ152に保存されている設定内容に基づいて、ユーザ190の表情をアバターオブジェクトに反映する設定が有効であるか否かを判断する。当該設定が有効である場合には(ステップS2240にてYES)、プロセッサ151は制御をステップS2250に切り替える。そうでない場合には(ステップS2240にてNO)、プロセッサ151は、制御をステップS2260に切り替える。
In step S2230, the
ステップS2250にて、プロセッサ151は、ユーザ190の表情の検出結果(例えば、表情の変化率)に基づいて、アバターオブジェクトを表示するためのデータ(表情ID2120)にアクセスする。
In step S2250, the
ステップS2260にて、プロセッサ151は、予め準備された表情を表わすデータ(表情ID1930で特定されるデータ)にアクセスする。ステップS2270にて、プロセッサ151は、アクセスされたデータを用いて、ユーザ190の変化した表情をアバターオブジェクトに反映する。
In step S2260, the
ステップS2280にて、プロセッサ151は、変化後の表情が反映されたアバターオブジェクトを仮想空間2に提示する。ユーザ190と他ユーザとが仮想空間2を共有している場合には、他ユーザは、ユーザ190の変化後の表情を認識する。
In step S2280, the
[ポーカーフェイスオブジェクト]
図23を参照して、ポーカーフェイスオブジェクトについて説明する。図23は、ポーカーフェイスオブジェクトの購入を受け付けるインターフェイスを表わす図である。本実施の形態において、ポーカーフェイスオブジェクトとは、ユーザ190の表情に依存しないアバターオブジェクトをいう。ポーカーフェイスオブジェクトは、例えば、ユーザ190が、その表情の変化をチャット相手に知られたくない場合等に使用される。
[Poker Face Object]
A poker face object will be described with reference to FIG. FIG. 23 is a diagram showing an interface that accepts purchases of poker face objects. In the present embodiment, the poker face object means an avatar object that does not depend on the facial expression of the
状態(A)に示されるように、モニタ112は、インターフェイスオブジェクト2310を表示する。インターフェイスオブジェクト2310は、例えば、ユーザ190が仮想空間2を介して他のユーザとチャットするためのアプリケーションを起動した場合に提示される。インターフェイスオブジェクト2310は、ポーカーフェイスオブジェクトの購入を問い合わせるメッセージと、購入するという選択を受け付けるアイコン(「買う」)と、購入しないという選択を受け付けるアイコン(「買わない」)とを含む。
As shown in state (A), monitor 112
ユーザ190がアイコン(「買う」)を選択すると、状態(B)に示されるように、モニタ112は、インターフェイスオブジェクト2320を表示する。インターフェイスオブジェクト2320は、例えば、3つのポーカーフェイスオブジェクト2340,2350,2360を含む。ユーザ190がいずれかのポーカーフェイスオブジェクトを選択して、購入確定アイコンを選択(あるいは押下)すると、その選択されたポーカーフェイスオブジェクトのデータは、ユーザ190が使用可能なアバターオブジェクトとして、ユーザ190のアカウントに関連付けられる。その後、ユーザ190は、自らの表情の変化をアバターオブジェクトに反映したくない場合には、購入したポーカーフェイスオブジェクトを使用することができる。
When the
図24を参照して、仮想空間2の共有について説明する。図24は、二人のユーザが同一のアプリケーションを実行することにより、仮想空間2を共有している状態を表わす図である。当該アプリケーションが実行されると、各ユーザは、それぞれ手に装着したコントローラ160を操作することで、仮想空間2を移動することができる。
The sharing of the
状態(A)に示されるように、ある局面において、第1ユーザに対する仮想カメラ1Aと、第2ユーザに対応する仮想カメラ1Bとが、仮想空間2に配置されている。状態(A)では、仮想カメラ1Aの視界領域23と、仮想カメラ1Bの視界領域23Bとは重なっていない。したがって、仮想カメラ1Aに対応するユーザの視界には、仮想カメラ1Bに対応するユーザの姿が入っていない。
As shown in the state (A), in a certain aspect, the
状態(B)に示されるように、別の局面において、仮想カメラ1Aに対応するユーザが仮想空間2における視線を変更するためにコントローラ160を操作すると、その操作に応じて仮想カメラ1Aの向きも変更される。例えば、HMD110を装着したユーザが頭を右方向に少し回転させると、その回転に応じて、仮想カメラ1Aも時計回りに回転し、仮想カメラ1Bが視界領域23Aに含まれる。仮想カメラ1Bの場所には、仮想カメラ1Bに対応するユーザがいる。そのユーザは、仮想カメラ1Aに対応するユーザが装着しているHMD110のモニタ112において視認され得る。この時、仮想カメラ1Bに対応するユーザは、アバターオブジェクトに反映された自らの表情を見られたくない場合もある。そこで、ユーザによる設定に基づいて、ポーカーフェイスオブジェクトが代わりに表示され得る。例えば、ユーザはポーカーフェイスオブジェクトとして、微笑んだ表情を有するポーカーフェイスオブジェクトを予め選択できる。このようにすると、当該ユーザが他ユーザの視界に不意に含まれることとなっても、微笑んだ表情が他ユーザに視認されるようにすることができる。
As shown in the state (B), in another aspect, when the user corresponding to the
図25を参照して、サーバ150の制御構造についてさらに説明する。図25は、プロセッサ151が実行する処理の一部を表わすフローチャートである。
The control structure of the
ステップS1810にて、プロセッサ151は、複数のユーザに共有される仮想空間2を定義する。例えば、各ユーザが同じアプリケーションを実行する場合、仮想空間2の共有は、例えば、複数のユーザが、仮想現実で規定されているコミュニケーションルームに入室した場合に実現される。
In step S1810, the
ステップS2510にて、プロセッサ151は、各ユーザのアバターオブジェクトを仮想空間2に配置する。
In step S2510, the
ステップS2520にて、プロセッサ151は、各ユーザの仮想カメラに基づく視界画像を生成する。
In step S2520, the
ステップS2530にて、プロセッサ151は、各視界画像を表示するためのデータを各ユーザのHMDに出力する。
In step S2530, the
ステップS2540にて、プロセッサ151は、各ユーザの動作に応じて、仮想空間における仮想カメラの位置を変化させる。各ユーザの視界もその変化に応じて変わる。
In step S2540, the
ステップS2550にて、プロセッサ151は、第1ユーザの仮想カメラ1Aの視界(撮影範囲)に第2ユーザの仮想カメラ1Bが入ったことを検知する。例えば、プロセッサ151は、仮想空間2における各仮想カメラの位置と、各仮想カメラの視界(角度)とに基づいて、仮想カメラ1Aの視界に仮想カメラ1Bが入ったか否かを判断し得る。上記のように、各ユーザの仮想カメラの位置と、各ユーザのアバターオブジェクトの位置とが関連付けられているため、プロセッサ151は、第1ユーザの仮想カメラ1Aの視界に、第2ユーザに対応するアバターオブジェクトが入ったことを検知する構成としてもよい。
In step S2550, the
ステップS2560にて、プロセッサ151は、予め準備された(笑っている)表情を第2ユーザのアバターオブジェクト(仮想カメラ1B)に反映する。
In step S2560, the
ステップS2570にて、プロセッサ151は、第1ユーザに対応する仮想カメラ1Aから、仮想カメラ1Bに対応する第2ユーザを含む視界画像のデータを取得する。
In step S2570, the
ステップS2580にて、プロセッサ151は、取得した視界画像のデータを、第1ユーザのHMD110に出力する。第1ユーザは、自らの視界に入ってきた第2ユーザのアバターオブジェクトを見て、第2ユーザが笑っていると認識し得る。
In step S2580, the
図26を参照して、図24に示される配置に基づくポーカーフェイスオブジェクトの表示態様について説明する。図26は、ポーカーフェイスオブジェクトとして他ユーザに視認されるアバターオブジェクトの表示を表わす図である。 A display mode of the poker face object based on the arrangement shown in FIG. 24 will be described with reference to FIG. FIG. 26 is a diagram showing the display of an avatar object that is visible to other users as a poker face object.
状態(A)に示されるように、モニタ112は、仮想カメラ1Aによって撮影される視界画像を表示している。この時、仮想カメラ1Aの視界領域23Aと、仮想カメラ1Bの視界領域23Bとは重なっていないので(図24の状態(A))、モニタ112には仮想カメラ1Bに対応するユーザのアバターオブジェクトは映っていない。
As shown in the state (A), the
その後、HMD110を装着したユーザが頭を右に回すことにより、仮想カメラ1Aが時計回りに回転すると、視界領域23Aと視界領域23Bとは、重なる。
After that, when the user wearing the
そうすると、仮想カメラ1Aの撮影範囲には、仮想カメラ1Bとして表される他ユーザが含まれることになる。そこで、状態(B)に示されるように、モニタ112は、他ユーザに対応するアバターオブジェクト2610を表示する。アバターオブジェクト2610は、他ユーザによって予め購入されて当該他ユーザのアカウントに登録されているデータに基づいて表示される。このようにすると、不意に他のユーザの視界に入った場合であっても、ポーカーフェイスオブジェクトに基づく適切な表情がそのユーザに視認されるようにできる。
Then, the shooting range of the
以上開示された技術的特徴は、以下のように要約される。
(構成1) ある局面に従うと、ヘッドマウントデバイスを介して仮想空間を提供するためにコンピュータで実行されるプログラムは、コンピュータに、仮想空間を定義するステップと、仮想空間にノンプレイヤーキャラクターオブジェクトを提示するステップと、ヘッドマウントデバイスのユーザによる動作を検出するステップと、動作を検出したことに応答して、NPCオブジェクトの行動を制御するステップとを実行させる。
The technical features disclosed above are summarized as follows.
(Structure 1) According to a certain aspect, a program executed on a computer to provide a virtual space via a headmount device presents the computer with a step of defining the virtual space and a non-player character object in the virtual space. A step of detecting an action by the user of the head mount device, and a step of controlling the action of the NPC object in response to the detection of the action are executed.
(構成2) ある局面に従うと、上記構成に加えて、動作を検出するステップは、ユーザの表情を検出するステップを含む。制御するステップは、当該表情の検出結果に基づいて、NPCオブジェクトの行動を制御するステップを含む。 (Structure 2) According to a certain aspect, in addition to the above configuration, the step of detecting the motion includes the step of detecting the facial expression of the user. The control step includes a step of controlling the behavior of the NPC object based on the detection result of the facial expression.
(構成3) ある局面に従うと、上記構成に加えて、制御するステップは、表情の検出結果に基づいて、ユーザの感情を判定し、判定したユーザの感情に応じて、NPCオブジェクトの行動を制御することを含む。 (Structure 3) According to a certain aspect, in addition to the above configuration, the control step determines the user's emotion based on the facial expression detection result, and controls the behavior of the NPC object according to the determined user's emotion. Including doing.
(構成4) ある局面に従うと、上記構成に加えて、制御するステップは、NPCオブジェクトの行動として予め準備された複数の行動テンプレートから検出された表情に対応する行動テンプレートを選択するステップと、選択された行動テンプレートをNPCオブジェクトに反映することにより、ユーザの表情の検出結果に応じた行動を行うNPCオブジェクトを提示するステップとを含む。 (Structure 4) According to a certain aspect, in addition to the above configuration, the step to control is the step of selecting the action template corresponding to the facial expression detected from the plurality of action templates prepared in advance as the action of the NPC object, and the selection. It includes a step of presenting an NPC object that performs an action according to a detection result of a user's facial expression by reflecting the performed action template in the NPC object.
(構成5) ある局面に従うと、上記構成に加えて、NPCオブジェクトを提示するステップは、第1の行動をNPCオブジェクトに行わせることを含む。検出するステップは、NPCオブジェクトが第1の行動を行ったことに反応したヘッドマウントデバイスのユーザの表情を検出することを含む。制御するステップは、NPCオブジェクトの第1の行動に反応したユーザの表情の検出結果に対して予め準備された複数の行動テンプレートから、ユーザの表情の検出結果に対応する行動テンプレートを第2の行動として選択するステップと、第1の行動に続けて第2の行動をNPCオブジェクトに反映することにより、ユーザの表情の検出結果に応じた行動を行うNPCオブジェクトを提示するステップとを含む。 (Structure 5) According to a certain aspect, in addition to the above configuration, the step of presenting the NPC object includes causing the NPC object to perform the first action. The detecting step involves detecting the facial expression of the user of the head mount device in response to the NPC object performing the first action. The step to control is to select an action template corresponding to the detection result of the user's facial expression from a plurality of action templates prepared in advance for the detection result of the user's facial expression in response to the first action of the NPC object. It includes a step of selecting as, and a step of presenting an NPC object that performs an action according to the detection result of the user's facial expression by reflecting the second action on the NPC object following the first action.
(構成6) ある局面に従うと、ヘッドマウントデバイスによって提供される仮想空間を介して通信するためにコンピュータで実行されるプログラムは、コンピュータに、仮想空間を定義するステップと、ヘッドマウントデバイスのユーザの表情を検出するステップと、ヘッドマウントデバイスのユーザに対応するアバターオブジェクトとして、予め準備された一つ以上の表情を有するアバターオブジェクトを表示するためのデータにアクセスするステップと、検出されるユーザの表情の変化に応じて、データに基づく表情を有するアバターオブジェクトを仮想空間に提示するステップとを実行させる。 (Structure 6) According to a certain aspect, a program executed on a computer to communicate through the virtual space provided by the head mount device is a step of defining the virtual space on the computer and the user of the head mount device. A step to detect a facial expression, a step to access data for displaying an avatar object having one or more facial expressions prepared in advance as an avatar object corresponding to the user of the head mount device, and a user's facial expression to be detected. In response to the change in, the step of presenting an avatar object having a data-based expression in the virtual space is executed.
(構成7) ある局面に従うと、上記構成に加えて、ユーザの表情の検出結果の変化率が予め定められた範囲内にある場合に、アバターオブジェクトの表情が一定の表情となるように、データは規定されている。 (Structure 7) According to a certain aspect, in addition to the above configuration, data so that the facial expression of the avatar object becomes a constant facial expression when the rate of change of the detection result of the user's facial expression is within a predetermined range. Is stipulated.
(構成8) ある局面に従うと、上記構成に加えて、アバターオブジェクトを仮想空間に提示するステップは、検出された表情を当該ユーザに対応するアバターオブジェクトの表情に反映させることなく、予め準備された表情が反映されたアバターオブジェクトを提示するステップを含む。 (Structure 8) According to a certain aspect, in addition to the above configuration, the step of presenting the avatar object to the virtual space is prepared in advance without reflecting the detected facial expression on the facial expression of the avatar object corresponding to the user. Includes a step to present an avatar object that reflects the facial expression.
(構成9) ある局面に従うと、上記構成に加えて、プログラムはコンピュータに、予め準備された表情が反映されたアバターオブジェクトの購入を受け付けるインターフェイスオブジェクトを仮想空間に提示するステップをさらに実行させる。 (Structure 9) According to a certain aspect, in addition to the above configuration, the program further causes the computer to perform a step of presenting to the virtual space an interface object that accepts the purchase of the avatar object reflecting the prepared facial expression.
(構成10) ある局面に従うと、上記構成に加えて、プログラムはコンピュータに、ユーザの表情の検出結果をアバターオブジェクトに反映するか否かの指定をユーザから受け付けるステップをさらに実行させる。予め準備された表情が反映されたアバターオブジェクトを提示するステップは、ユーザの表情をアバターオブジェクトに反映するか否かを規定する設定に従って、当該アバターオブジェクトを提示するステップを含む。 (Structure 10) According to a certain aspect, in addition to the above configuration, the program further causes the computer to perform a step of accepting from the user whether or not to reflect the detection result of the user's facial expression on the avatar object. The step of presenting the avatar object reflecting the prepared facial expression includes the step of presenting the avatar object according to the setting defining whether or not the user's facial expression is reflected in the avatar object.
(構成11) ある局面に従うと、上記構成に加えて、予め準備された表情が反映されたアバターオブジェクトを提示するステップは、仮想空間を共有する他のユーザの視界に対応する領域内にヘッドマウントデバイスのユーザのアバターオブジェクトが入ったことに基づいて、当該アバターオブジェクトの表情を予め準備された表情が反映されたアバターオブジェクトを提示するステップを含む。 (Structure 11) According to a certain aspect, in addition to the above configuration, the step of presenting the avatar object reflecting the prepared facial expression is head-mounted in the area corresponding to the view of other users sharing the virtual space. Includes a step of presenting an avatar object that reflects a pre-prepared facial expression of the avatar object based on the inclusion of the user's avatar object on the device.
(構成12) ある局面に従うと、上記のプログラムを格納したメモリと、当該プログラムを実行するためのプロセッサとを備える情報処理装置が提供される。 (Structure 12) According to a certain aspect, an information processing apparatus including a memory for storing the above program and a processor for executing the program is provided.
(構成13) ある局面に従うと、ヘッドマウントデバイスを介して仮想空間を提供するためにコンピュータで実行される方法は、仮想空間を定義するステップと、仮想空間にノンプレイヤーキャラクター(NPC)オブジェクトを提示するステップと、ヘッドマウントデバイスのユーザによる動作を検出するステップと、動作を検出したことに応答して、NPCオブジェクトの行動を制御するステップと含む。 (Structure 13) According to one aspect, the method performed on a computer to provide a virtual space via a headmount device presents a step of defining the virtual space and a non-player character (NPC) object in the virtual space. A step of detecting an action by the user of the head mount device, and a step of controlling the action of the NPC object in response to the detection of the action are included.
(構成14) ある局面に従うと、ヘッドマウントデバイスによって提供される仮想空間を介して通信するためにコンピュータで実行される方法は、仮想空間を定義するステップと、ヘッドマウントデバイスのユーザの表情を検出するステップと、ヘッドマウントデバイスのユーザに対応するアバターオブジェクトとして、予め準備された一つ以上の表情を有するアバターオブジェクトを表示するためのデータにアクセスするステップと、検出されるユーザの表情の変化に応じて、データに基づく表情を有するアバターオブジェクトを仮想空間に提示するステップとを含む。 (Structure 14) According to one aspect, the method performed by the computer to communicate over the virtual space provided by the headmount device is to detect the steps of defining the virtual space and the user's facial expression on the headmount device. Steps to access data to display data for displaying an avatar object with one or more facial expressions prepared in advance as an avatar object corresponding to the user of the head mount device, and changes in the detected user's facial expressions. Correspondingly, it includes a step of presenting an avatar object with a data-based facial expression in the virtual space.
[まとめ]
以上の次第で、本実施の形態によれば、仮想空間2におけるアバターオブジェクト間のコミュニケーションがより豊かになる。ある局面において、NPCオブジェクトの表情がユーザ190の表情の変化に応じてリアルタイムで反応されるので、HMD110を装着したユーザ190による仮想空間2に対する没入感が高まり得る。
[summary]
Based on the above, according to the present embodiment, the communication between the avatar objects in the
別の局面において、ユーザ190の僅かな表情変化が全てアバターオブジェクトに反映されなくなるので、当該アバターオブジェクトを視認するユーザは違和感を覚えにくくなる。さらに別の局面において、仮想空間2を介してコミュニケーションをとっている他ユーザに対して、ユーザ190の意図しない表情が示されることが防止され得る。
In another aspect, since all the slight changes in facial expressions of the
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 It should be considered that the embodiments disclosed this time are exemplary in all respects and not restrictive. The scope of the present invention is shown by the scope of claims rather than the above description, and is intended to include all modifications within the meaning and scope equivalent to the scope of claims.
1 仮想カメラ、2 仮想空間、5 基準視線、10,151 プロセッサ、11,152 メモリ、12,154 ストレージ、13 入出力インターフェース、14 通信インターフェース、15 バス、19 ネットワーク、20,2000 オブジェクト、21 中心、22 仮想空間画像、23 視界領域、24,25 領域、30 グリップ、31 フレーム、32 天面、33,34,36,37 ボタン、38 アナログスティック、50 顔画像、51 口領域、52 輪郭検出線、53,54 輪郭点、55 口形状、100 システム、110 HMD、112 モニタ、114,120 センサ、115 スピーカ、116 第1カメラ、117 第2カメラ、119 マイク、130 モーションセンサ、140 注視センサ、150 サーバ、153 通信インターフェイス、160 コントローラ。
1 virtual camera, 2 virtual space, 5 reference line of sight, 10,151 processor, 11,152 memory, 12,154 storage, 13 input / output interface, 14 communication interface, 15 bus, 19 network, 20,2000 object, 21 center, 22 Virtual space image, 23 View area, 24, 25 area, 30 grip, 31 frame, 32 top surface, 33, 34, 36, 37 buttons, 38 analog stick, 50 face image, 51 mouth area, 52 contour detection line, 53,54 contour points, 55 mouth shapes, 100 systems, 110 HMDs, 112 monitors, 114,120 sensors, 115 speakers, 116 first camera, 117 second cameras, 119 microphones, 130 motion sensors, 140 gaze sensors, 150 servers , 153 communication interface, 160 controller.
Claims (14)
仮想空間を定義するステップと、
前記仮想空間にノンプレイヤーキャラクター(NPC)オブジェクトを提示するステップと、
前記ヘッドマウントデバイスのユーザによる動作を検出するステップと、
前記動作を検出したことに応答して、前記NPCオブジェクトの行動を制御するステップとを実行させる、プログラム。 A program that is run on a computer to provide virtual space through a headmount device, said program to the computer.
Steps to define virtual space and
The step of presenting a non-player character (NPC) object in the virtual space,
The step of detecting the user's operation of the head mount device, and
A program that executes a step of controlling the behavior of the NPC object in response to detecting the behavior.
前記制御するステップは、前記表情の検出結果に基づいて、前記NPCオブジェクトの行動を制御するステップを含む、請求項1に記載のプログラム。 The step of detecting the operation includes the step of detecting the facial expression of the user.
The program according to claim 1, wherein the controlling step includes a step of controlling the behavior of the NPC object based on the detection result of the facial expression.
NPCオブジェクトの行動として予め準備された複数の行動テンプレートから前記検出された表情に対応する行動テンプレートを選択するステップと、
前記選択された行動テンプレートを前記NPCオブジェクトに反映することにより、前記ユーザの表情の検出結果に応じた行動を行うNPCオブジェクトを提示するステップとを含む、請求項2に記載のプログラム。 The control step is
A step of selecting an action template corresponding to the detected facial expression from a plurality of action templates prepared in advance as an action of an NPC object, and
The program according to claim 2, comprising a step of presenting an NPC object that performs an action according to a detection result of the user's facial expression by reflecting the selected action template in the NPC object.
前記検出するステップは、前記NPCオブジェクトが第1の行動を行ったことに反応した前記ヘッドマウントデバイスのユーザの表情を検出することを含み、
前記制御するステップは、
NPCオブジェクトの第1の行動に反応した前記ユーザの表情の検出結果に対して予め準備された複数の行動テンプレートから、前記ユーザの表情の検出結果に対応する行動テンプレートを第2の行動として選択するステップと、
前記第1の行動に続けて前記第2の行動を前記NPCオブジェクトに反映することにより、前記ユーザの表情の検出結果に応じた行動を行うNPCオブジェクトを提示するステップとを含む、請求項2に記載のプログラム。 The step of presenting the NPC object comprises causing the NPC object to perform a first action.
The detecting step comprises detecting the facial expression of the user of the head mount device in response to the NPC object performing the first action.
The control step is
From a plurality of action templates prepared in advance for the detection result of the user's facial expression in response to the first action of the NPC object, the action template corresponding to the detection result of the user's facial expression is selected as the second action. Steps and
2. The second aspect of the present invention includes a step of presenting an NPC object that performs an action according to a detection result of the user's facial expression by reflecting the second action on the NPC object following the first action. The program described.
仮想空間を定義するステップと、
前記ヘッドマウントデバイスのユーザの表情を検出するステップと、
前記ヘッドマウントデバイスのユーザに対応するアバターオブジェクトとして、予め準備された一つ以上の表情を有するアバターオブジェクトを表示するためのデータにアクセスするステップと、
前記検出される前記ユーザの表情の変化に応じて、前記データに基づく表情を有するアバターオブジェクトを前記仮想空間に提示するステップとを実行させる、プログラム。 A program that is run on a computer to communicate over the virtual space provided by the headmount device, said program to the computer.
Steps to define virtual space and
The step of detecting the facial expression of the user of the head mount device,
A step of accessing data for displaying an avatar object having one or more facial expressions prepared in advance as an avatar object corresponding to the user of the head mount device.
A program that executes a step of presenting an avatar object having a facial expression based on the data to the virtual space in response to the detected change in the facial expression of the user.
前記予め準備された表情が反映されたアバターオブジェクトを提示するステップは、前記ユーザの表情を前記アバターオブジェクトに反映するか否かを規定する前記設定に従って、当該アバターオブジェクトを提示するステップを含む、請求項8または9に記載のプログラム。 The program further causes the computer to perform a step of accepting from the user whether or not to reflect the detection result of the user's facial expression on the avatar object.
The step of presenting the avatar object reflecting the prepared facial expression includes the step of presenting the avatar object according to the setting defining whether or not the facial expression of the user is reflected in the avatar object. Item 28 or 9.
前記メモリに結合され、前記プログラムを実行するためのプロセッサとを備える、情報処理装置。 A memory in which the program according to any one of claims 1 to 11 is stored, and
An information processing device coupled to the memory and comprising a processor for executing the program.
仮想空間を定義するステップと、
前記仮想空間にノンプレイヤーキャラクター(NPC)オブジェクトを提示するステップと、
前記ヘッドマウントデバイスのユーザによる動作を検出するステップと、
前記動作を検出したことに応答して、前記NPCオブジェクトの行動を制御するステップと含む、方法。 A method performed on a computer to provide virtual space through a headmount device,
Steps to define virtual space and
The step of presenting a non-player character (NPC) object in the virtual space,
The step of detecting the user's operation of the head mount device, and
A method comprising the step of controlling the behavior of the NPC object in response to detecting the behavior.
仮想空間を定義するステップと、
前記ヘッドマウントデバイスのユーザの表情を検出するステップと、
前記ヘッドマウントデバイスのユーザに対応するアバターオブジェクトとして、予め準備された一つ以上の表情を有するアバターオブジェクトを表示するためのデータにアクセスするステップと、
前記検出される前記ユーザの表情の変化に応じて、前記データに基づく表情を有するアバターオブジェクトを前記仮想空間に提示するステップとを含む、方法。
A method performed by a computer to communicate over the virtual space provided by a headmount device.
Steps to define virtual space and
The step of detecting the facial expression of the user of the head mount device,
A step of accessing data for displaying an avatar object having one or more facial expressions prepared in advance as an avatar object corresponding to the user of the head mount device.
A method comprising the step of presenting an avatar object having a facial expression based on the data to the virtual space in response to the detected change in the facial expression of the user.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022040899A JP7394158B2 (en) | 2019-03-27 | 2022-03-16 | Program and method executed on a computer and information processing apparatus for providing a virtual space via a head-mounted device |
JP2023199585A JP2024023399A (en) | 2019-03-27 | 2023-11-27 | Program and information processing device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019059690A JP7043449B2 (en) | 2019-03-27 | 2019-03-27 | Programs and methods and information processing equipment run on a computer to provide virtual space through headmount devices. |
JP2022040899A JP7394158B2 (en) | 2019-03-27 | 2022-03-16 | Program and method executed on a computer and information processing apparatus for providing a virtual space via a head-mounted device |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019059690A Division JP7043449B2 (en) | 2019-03-27 | 2019-03-27 | Programs and methods and information processing equipment run on a computer to provide virtual space through headmount devices. |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023199585A Division JP2024023399A (en) | 2019-03-27 | 2023-11-27 | Program and information processing device |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2022087111A true JP2022087111A (en) | 2022-06-09 |
JP2022087111A5 JP2022087111A5 (en) | 2022-08-09 |
JP7394158B2 JP7394158B2 (en) | 2023-12-07 |
Family
ID=67062441
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019059690A Active JP7043449B2 (en) | 2019-03-27 | 2019-03-27 | Programs and methods and information processing equipment run on a computer to provide virtual space through headmount devices. |
JP2022040899A Active JP7394158B2 (en) | 2019-03-27 | 2022-03-16 | Program and method executed on a computer and information processing apparatus for providing a virtual space via a head-mounted device |
JP2023199585A Pending JP2024023399A (en) | 2019-03-27 | 2023-11-27 | Program and information processing device |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019059690A Active JP7043449B2 (en) | 2019-03-27 | 2019-03-27 | Programs and methods and information processing equipment run on a computer to provide virtual space through headmount devices. |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023199585A Pending JP2024023399A (en) | 2019-03-27 | 2023-11-27 | Program and information processing device |
Country Status (1)
Country | Link |
---|---|
JP (3) | JP7043449B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7295045B2 (en) * | 2020-01-16 | 2023-06-20 | 株式会社コロプラ | Programs, computer implemented methods and computers |
CN112221142B (en) * | 2020-11-06 | 2022-05-17 | 腾讯科技(深圳)有限公司 | Control method and device of virtual prop, computer equipment and storage medium |
WO2024080135A1 (en) * | 2022-10-13 | 2024-04-18 | ソニーグループ株式会社 | Display control device, display control method, and display control program |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10271470A (en) * | 1997-03-24 | 1998-10-09 | Olympus Optical Co Ltd | Image/voice communication system and video telephone transmission/reception method |
JP2014225801A (en) * | 2013-05-16 | 2014-12-04 | 株式会社ニコン | Conference system, conference method and program |
JP6223614B1 (en) * | 2017-03-24 | 2017-11-01 | 株式会社コロプラ | Information processing method, information processing program, information processing system, and information processing apparatus |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010067240A (en) * | 2008-09-10 | 2010-03-25 | Domani:Kk | System for automatically generating and growing avatar image |
JP2015201669A (en) * | 2014-04-04 | 2015-11-12 | アルパイン株式会社 | Display control device of on-vehicle television telephone and display control method |
JP2016018313A (en) * | 2014-07-07 | 2016-02-01 | 任天堂株式会社 | Program, information processing apparatus, communication system, and communication method |
JP6212666B1 (en) * | 2017-03-02 | 2017-10-11 | 株式会社コロプラ | Information processing method, program, virtual space distribution system, and apparatus |
-
2019
- 2019-03-27 JP JP2019059690A patent/JP7043449B2/en active Active
-
2022
- 2022-03-16 JP JP2022040899A patent/JP7394158B2/en active Active
-
2023
- 2023-11-27 JP JP2023199585A patent/JP2024023399A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10271470A (en) * | 1997-03-24 | 1998-10-09 | Olympus Optical Co Ltd | Image/voice communication system and video telephone transmission/reception method |
JP2014225801A (en) * | 2013-05-16 | 2014-12-04 | 株式会社ニコン | Conference system, conference method and program |
JP6223614B1 (en) * | 2017-03-24 | 2017-11-01 | 株式会社コロプラ | Information processing method, information processing program, information processing system, and information processing apparatus |
Also Published As
Publication number | Publication date |
---|---|
JP2024023399A (en) | 2024-02-21 |
JP7043449B2 (en) | 2022-03-29 |
JP7394158B2 (en) | 2023-12-07 |
JP2019106220A (en) | 2019-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10341612B2 (en) | Method for providing virtual space, and system for executing the method | |
JP6244593B1 (en) | Information processing method, apparatus, and program for causing computer to execute information processing method | |
JP6263252B1 (en) | Information processing method, apparatus, and program for causing computer to execute information processing method | |
US10313481B2 (en) | Information processing method and system for executing the information method | |
US10223064B2 (en) | Method for providing virtual space, program and apparatus therefor | |
JP6290467B1 (en) | Information processing method, apparatus, and program causing computer to execute information processing method | |
JP7394158B2 (en) | Program and method executed on a computer and information processing apparatus for providing a virtual space via a head-mounted device | |
JP6257826B1 (en) | Method, program, and information processing apparatus executed by computer to provide virtual space | |
US10515481B2 (en) | Method for assisting movement in virtual space and system executing the method | |
JP7181148B2 (en) | System, program, method, and information processing device | |
JP2019128721A (en) | Program for reflecting user motion on avatar, information processing device for executing the same and method for distributing image containing avatar | |
JP2018125003A (en) | Information processing method, apparatus, and program for implementing that information processing method in computer | |
JP2018124981A (en) | Information processing method, information processing device and program causing computer to execute information processing method | |
JP7271171B2 (en) | Program, method and information processing device | |
JP6820299B2 (en) | Programs, information processing equipment, and methods | |
JP7192151B2 (en) | Program, information processing device, and information processing method | |
JP2019030638A (en) | Information processing method, device, and program for causing computer to execute information processing method | |
JP2018092635A (en) | Information processing method, device, and program for implementing that information processing method on computer | |
JP2018206340A (en) | Method which is executed on computer for providing virtual space, program and information processor | |
JP7356827B2 (en) | Program, information processing method, and information processing device | |
JP6826082B2 (en) | Programs, information processing equipment, and methods | |
JP6623199B2 (en) | Computer-executable program and information processing apparatus for providing virtual reality using a head-mounted device | |
JP7295045B2 (en) | Programs, computer implemented methods and computers | |
JP7111848B2 (en) | Program, Information Processing Apparatus, and Method | |
JP6718930B2 (en) | Program, information processing apparatus, and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220414 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220801 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230426 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230523 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230721 |
|
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: 20231031 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231127 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7394158 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |