Nothing Special   »   [go: up one dir, main page]

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 PDF

Info

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
Application number
JP2022040899A
Other languages
Japanese (ja)
Other versions
JP2022087111A5 (en
JP7394158B2 (en
Inventor
一晃 澤木
Kazuaki Sawaki
健登 中島
Kento Nakajima
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.)
Colopl Inc
Original Assignee
Colopl Inc
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 Colopl Inc filed Critical Colopl Inc
Priority to JP2022040899A priority Critical patent/JP7394158B2/en
Publication of JP2022087111A publication Critical patent/JP2022087111A/en
Publication of JP2022087111A5 publication Critical patent/JP2022087111A5/ja
Priority to JP2023199585A priority patent/JP2024023399A/en
Application granted granted Critical
Publication of JP7394158B2 publication Critical patent/JP7394158B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

PROBLEM TO BE SOLVED: To enrich the communication between an avatar and an object in a virtual space.
SOLUTION: Processing performed by a processor includes the steps of: defining a virtual space (S1810); projecting content onto the virtual space (S1820); presenting an NPC object to the virtual space (S1830); generating a visual field image on the basis of a posture of a virtual camera (S1840); detecting an operation by an HMD user on the basis of a signal sent from a computer (S1850); controlling a behavior of the NPC object in response to the detected operation (S1860); and presenting the NPC object whose behavior was controlled to the virtual space (S1870).
SELECTED DRAWING: Figure 18
COPYRIGHT: (C)2022,JPO&INPIT

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]).

特開2009-181457号公報Japanese Unexamined Patent Publication No. 2009-181457 特許第6212667号公報Japanese Patent No. 6212667

仮想空間を介してコミュニケーションを促進するためには、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.

ある実施の形態に従うHMDシステム100の構成の概略を表す図である。It is a figure which shows the outline of the structure of the HMD system 100 according to a certain embodiment. 一局面に従うコンピュータ200のハードウェア構成の一例を表すブロック図である。It is a block diagram which shows an example of the hardware composition of the computer 200 which follows one aspect. ある実施の形態に従うHMD110に設定されるuvw視野座標系を概念的に表す図である。It is a figure which conceptually represents the uvw field coordinate system set in the HMD 110 according to a certain embodiment. ある実施の形態に従う仮想空間2を表現する一態様を概念的に表す図である。It is a figure which conceptually represents one aspect which expresses the virtual space 2 according to a certain embodiment. ある実施の形態に従うHMD110を装着するユーザ190の頭部を上から表した図である。It is a figure which showed the head of the user 190 who wears an HMD 110 according to a certain embodiment from the top. 仮想空間2において視界領域23をX方向から見たYZ断面を表す図である。It is a figure which shows the YZ cross section which looked at the visual field area 23 from the X direction in the virtual space 2. 仮想空間2において視界領域23をY方向から見たXZ断面を表す図である。It is a figure which shows the XZ cross section which looked at the visual field area 23 from the Y direction in virtual space 2. ある実施の形態に従うコントローラ160の概略構成を表す図である。It is a figure which shows the schematic structure of the controller 160 according to a certain embodiment. ある実施の形態に従うコンピュータ200をモジュール構成として表すブロック図である。FIG. 3 is a block diagram showing a computer 200 according to an embodiment as a module configuration. ある実施の形態に従うHMDシステム100において実行される処理の一部を表すシーケンスチャートである。It is a sequence chart which shows a part of the processing performed in the HMD system 100 according to a certain embodiment. ユーザの顔画像50から口を検出する制御について説明する図である。It is a figure explaining the control which detects a mouth from a user's face image 50. トラッキングモジュール262が口の形状を検出する処理を説明する図(その1)である。It is a figure (the 1) explaining the process which the tracking module 262 detects the shape of a mouth. トラッキングモジュール262が口の形状を検出する処理を説明するための図(その2)である。FIG. 2 is a diagram (No. 2) for explaining a process of detecting the shape of the mouth by the tracking module 262. フェイストラッキングのためにストレージ12に格納されたデータの一例を表す図である。It is a figure which shows an example of the data stored in the storage 12 for face tracking. ユーザ190が無表情時に取得される顔の特徴点を表す図である。It is a figure which shows the feature point of the face acquired when the user 190 is expressionless. ユーザ190が驚いたときに取得される顔の特徴点を表す図である。It is a figure which shows the feature point of the face acquired when the user 190 is surprised. ネットワーク19に接続されている複数のHMDのそれぞれが、複数のユーザのそれぞれに仮想空間を提供する状況を模式的に示す図である。It is a figure which shows typically the situation that each of the plurality of HMDs connected to the network 19 provides a virtual space to each of a plurality of users. NPCオブジェクトが提示される処理の一部を表わすフローチャートである。It is a flowchart which shows a part of the process which NPC object is presented. サーバ150が備えるストレージ154におけるデータの格納の一態様を表わす図である。It is a figure which shows one aspect of the storage of data in the storage 154 provided in the server 150. HMD110を装着したユーザ190の表情の変化がそのままリアルにアバターオブジェクトに反映されないようにするための処理の一部を表わすフローチャートである。It is a flowchart which shows a part of the process for preventing the change of the facial expression of the user 190 wearing the HMD 110 from being reflected in the avatar object as it is. ストレージ154におけるデータの格納の他の態様を表わす図である。It is a figure which shows the other mode of storing data in a storage 154. プロセッサが実行する処理の一部を表わすフローチャートである。It is a flowchart which shows a part of the processing executed by a processor. ポーカーフェイスオブジェクトの購入を受け付けるインターフェイスを表わす図である。It is a figure which shows the interface which accepts the purchase of a poker face object. 二人のユーザが同一のアプリケーションを実行することにより、仮想空間2を共有している状態を表わす図である。It is a figure which shows the state which two users share the virtual space 2 by executing the same application. プロセッサ151が実行する処理の一部を表わすフローチャートである。It is a flowchart which shows a part of the process which a processor 151 executes. ポーカーフェイスオブジェクトとして他ユーザに視認されるアバターオブジェクトの表示を表わす図である。It is a figure which shows the display of the avatar object which is seen by other users as a poker face object.

以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。 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) system 100 will be described with reference to FIG. FIG. 1 is a diagram illustrating an outline of a configuration of an HMD system 100 according to an embodiment. In certain aspects, the HMD system 100 is provided as a home system or a business system.

HMDシステム100は、HMD110と、HMDセンサ120と、コントローラ160と、コンピュータ200とを備える。HMD110は、モニタ112と、注視センサ140と、スピーカ115と、第1カメラ116と、第2カメラ117と、マイク119とを含む。コントローラ160は、モーションセンサ130を含み得る。 The HMD system 100 includes an HMD 110, an HMD sensor 120, a controller 160, and a computer 200. The HMD 110 includes a monitor 112, a gaze sensor 140, a speaker 115, a first camera 116, a second camera 117, and a microphone 119. The controller 160 may include a motion sensor 130.

ある局面において、コンピュータ200は、インターネットその他のネットワーク19に接続可能であり、ネットワーク19に接続されているサーバ150その他のコンピュータと通信可能である。他の局面において、HMD110は、HMDセンサ120の代わりに、センサ114を含み得る。 In one aspect, the computer 200 can connect to the Internet or other network 19 and can communicate with the server 150 or other computer connected to the network 19. In another aspect, the HMD 110 may include the sensor 114 instead of the HMD sensor 120.

サーバ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 server 150 includes a processor 151, a memory 152, and a communication interface 153. The server 150 is realized by a computer having a well-known configuration. Processor 151 executes the instruction. The memory 152 is a RAM (Random Access Memory) or other volatile memory. The communication interface 153 communicates with the computer 200, the user terminals 201A, 201N, and the like. The storage 154 holds data received by the server 150 from the computer 200 or other external device or data generated by the processor 151. The storage 154 can be realized by, for example, a hard disk, an SSD (Solid State Disc) or other non-volatile storage device.

HMD110は、ユーザ190の頭部に装着され、動作中に仮想空間2をユーザ190に提供し得る。より具体的には、HMD110は、右目用の画像および左目用の画像をモニタ112にそれぞれ表示する。ユーザ190の各目がそれぞれの画像を視認すると、ユーザ190は、両目の視差に基づき当該画像を3次元の画像として認識し得る。 The HMD 110 may be mounted on the head of the user 190 and provide the virtual space 2 to the user 190 during operation. More specifically, the HMD 110 displays an image for the right eye and an image for the left eye on the monitor 112, respectively. When each eye of the user 190 visually recognizes the respective image, the user 190 can recognize the image as a three-dimensional image based on the parallax of both eyes.

モニタ112は、たとえば、非透過型の表示装置として実現される。ある局面において、モニタ112は、ユーザ190の両目の前方に位置するようにHMD110の本体に配置されている。したがって、ユーザ190は、モニタ112に表示される3次元画像を視認すると、仮想空間2に没入することができる。ある実施の形態において、仮想空間2は、たとえば、背景、ユーザ190が操作可能なオブジェクト、ユーザ190が選択可能なメニューの画像を含む。複数のコンピュータ200が各ユーザの動作に基づく信号を受け渡しすることで、複数のユーザが一の仮想空間2で仮想体験できる構成であれば、各ユーザに対応するアバターオブジェクトが、仮想空間2に提示される。 The monitor 112 is realized, for example, as a non-transparent display device. In one aspect, the monitor 112 is arranged in the body of the HMD 110 so as to be located in front of both eyes of the user 190. Therefore, the user 190 can immerse himself / herself in the virtual space 2 when he / she visually recognizes the three-dimensional image displayed on the monitor 112. In certain embodiments, the virtual space 2 includes, for example, a background, an object operable by the user 190, and an image of a menu selectable by the user 190. If the configuration is such that a plurality of computers 200 can experience a virtual experience in one virtual space 2 by passing a signal based on the operation of each user, the avatar object corresponding to each user is presented in the virtual space 2. Will be done.

なお、オブジェクトとは、仮想空間2に存在する仮想の物体である。ある局面において、オブジェクトは、ユーザに対応するアバターオブジェクト、アバターオブジェクトが身に着ける仮想アクセサリおよび仮想衣類、ユーザに関する情報が示されたパネルを模した仮想パネル、手紙を模した仮想手紙、およびポストを模した仮想ポストなどを含む。さらに、アバターオブジェクトは、仮想空間2においてユーザ190を象徴するキャラクタであり、たとえば人型、動物型、ロボット型などを含む。オブジェクトの形は様々である。ユーザ190は、予め決められたオブジェクトの中から好みのオブジェクトを仮想空間2に提示するようにしてもよいし、自分が作成したオブジェクトを仮想空間2に提示するようにしてもよい。 The object is a virtual object existing in the virtual space 2. In one aspect, the object may be an avatar object corresponding to the user, virtual accessories and clothing worn by the avatar object, a virtual panel imitating a panel showing information about the user, a virtual letter imitating a letter, and a post. Includes imitated virtual posts. Further, the avatar object is a character that symbolizes the user 190 in the virtual space 2, and includes, for example, a human type, an animal type, a robot type, and the like. Objects come in many shapes. The user 190 may present a favorite object from predetermined objects to the virtual space 2, or may present the object created by the user 190 to the virtual space 2.

ある実施の形態において、モニタ112は、所謂スマートフォンその他の情報表示端末が備える液晶モニタまたは有機EL(Electro Luminescence)モニタとして実現され得る。 In certain embodiments, the monitor 112 can be realized as a liquid crystal monitor or an organic EL (Electro Luminescence) monitor included in a so-called smartphone or other information display terminal.

ある局面において、モニタ112は、右目用の画像を表示するためのサブモニタと、左目用の画像を表示するためのサブモニタとを含み得る。他の局面において、モニタ112は、右目用の画像と左目用の画像とを一体として表示する構成であってもよい。この場合、モニタ112は、高速シャッタを含む。高速シャッタは、画像がいずれか一方の目にのみ認識されるように、右目用の画像と左目用の画像とを交互に表示可能に作動する。 In certain aspects, the monitor 112 may include a sub-monitor for displaying an image for the right eye and a sub-monitor for displaying an image for the left eye. In another aspect, the monitor 112 may be configured to display the image for the right eye and the image for the left eye as a unit. In this case, the monitor 112 includes a high speed shutter. The high-speed shutter operates so that the image for the right eye and the image for the left eye can be alternately displayed so that the image is recognized by only one of the eyes.

注視センサ140は、ユーザ190の右目および左目の視線が向けられる方向(視線方向)を検出する。当該方向の検出は、たとえば、公知のアイトラッキング機能によって実現される。注視センサ140は、当該アイトラッキング機能を有するセンサにより実現される。ある局面において、注視センサ140は、右目用のセンサおよび左目用のセンサを含むことが好ましい。注視センサ140は、たとえば、ユーザ190の右目および左目に赤外光を照射するとともに、照射光に対する角膜および虹彩からの反射光を受けることにより各眼球の回転角を検出するセンサであってもよい。注視センサ140は、検出した各回転角に基づいて、ユーザ190の視線方向を検知することができる。 The gaze sensor 140 detects the direction (line-of-sight direction) in which the line of sight of the right eye and the left eye of the user 190 is directed. Detection in that direction is achieved, for example, by a known eye tracking function. The gaze sensor 140 is realized by a sensor having the eye tracking function. In certain aspects, the gaze sensor 140 preferably includes a sensor for the right eye and a sensor for the left eye. The gaze sensor 140 may be, for example, a sensor that detects the angle of rotation of each eyeball by irradiating the right eye and the left eye of the user 190 with infrared light and receiving the reflected light from the cornea and the iris with respect to the irradiation light. .. The gaze sensor 140 can detect the line-of-sight direction of the user 190 based on each detected rotation angle.

スピーカ115は、コンピュータ200から受信した音声データに対応する音声(発話)を外部に出力する。マイク119は、ユーザ190の発話に対応する音声データをコンピュータ200に出力する。ユーザ190は、マイク119を用いて他のユーザに向けて発話する一方で、スピーカ115を用いて他のユーザの音声(発話)を聞くことができる。 The speaker 115 outputs the voice (utterance) corresponding to the voice data received from the computer 200 to the outside. The microphone 119 outputs voice data corresponding to the utterance of the user 190 to the computer 200. The user 190 can use the microphone 119 to speak to another user, while the speaker 115 can hear the voice (utterance) of the other user.

より具体的には、ユーザ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 user 190 speaks into the microphone 119, the voice data corresponding to the utterance of the user 190 is input to the computer 200. The computer 200 outputs the voice data to the server 150 via the network 19. The server 150 outputs the voice data received from the computer 200 to another computer 200 via the network 19. The other computer 200 outputs the voice data received from the server 150 to the speaker 115 of the HMD 110 worn by another user. As a result, other users can hear the voice of the user 190 through the speaker 115 of the HMD 110. Similarly, utterances from other users are output from the speaker 115 of the HMD 110 worn by the user 190.

第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 first camera 116 is provided in the housing of the HMD 110 so as to photograph the lower part of the face of the user 190. More specifically, the first camera 116 captures the nose, cheeks, mouth, etc. of the user 190. The second camera 117 is provided in the housing of the HMD 110 so as to photograph the eyes and eyebrows of the user 190. In the present embodiment, the housing on the user 190 side of the HMD 110 is defined as the inside of the HMD 110, and the housing on the opposite side of the user 190 of the HMD 110 is defined as the outside of the HMD 110. In certain aspects, the first camera 116 may be located outside the HMD 110 and the second camera 117 may be located inside the HMD 110. The images generated by the first camera 116 and the second camera 117 are input to the computer 200.

コンピュータ200は、他のユーザのコンピュータ200から受信した音声データに応じて、当該他のユーザに対応する他アバターオブジェクトを動かすような画像をモニタ112に表示する。たとえば、ある局面において、コンピュータ200は、他アバターオブジェクトの口を動かすような画像をモニタ112に表示することで、あたかも仮想空間2内でアバターオブジェクト同士が会話しているかのように仮想空間2を表現する。このように、複数のコンピュータ200間で音声データの送受信が行なわれることで、一の仮想空間2内で複数のユーザ間での会話(チャット)が実現される。 The computer 200 displays on the monitor 112 an image that moves another avatar object corresponding to the other user according to the voice data received from the computer 200 of the other user. For example, in a certain situation, the computer 200 displays an image that moves the mouth of another avatar object on the monitor 112, so that the virtual space 2 is displayed as if the avatar objects are talking to each other in the virtual space 2. express. By transmitting and receiving voice data between the plurality of computers 200 in this way, a conversation (chat) between a plurality of users is realized in one virtual space 2.

HMDセンサ120は、複数の光源(図示しない)を含む。各光源は、たとえば、赤外線を発するLED(Light Emitting Diode)により実現される。HMDセンサ120は、HMD110の動きを検出するためのポジショントラッキング機能を有する。HMDセンサ120は、この機能を用いて、現実空間内におけるHMD110の位置および傾きを検出する。 The HMD sensor 120 includes a plurality of light sources (not shown). Each light source is realized by, for example, an LED (Light Emitting Diode) that emits infrared rays. The HMD sensor 120 has a position tracking function for detecting the movement of the HMD 110. The HMD sensor 120 uses this function to detect the position and tilt of the HMD 110 in the real space.

なお、他の局面において、HMDセンサ120は、カメラにより実現されてもよい。この場合、HMDセンサ120は、カメラから出力されるHMD110の画像情報を用いて、画像解析処理を実行することにより、HMD110の位置および傾きを検出することができる。 In another aspect, the HMD sensor 120 may be realized by a camera. In this case, the HMD sensor 120 can detect the position and tilt of the HMD 110 by executing the image analysis process using the image information of the HMD 110 output from the camera.

他の局面において、HMD110は、位置検出器として、HMDセンサ120の代わりに、センサ114を備えてもよい。HMD110は、センサ114を用いて、HMD110自身の位置および傾きを検出し得る。たとえば、センサ114が、角速度センサ、地磁気センサ、加速度センサ、あるいはジャイロセンサなどである場合、HMD110は、HMDセンサ120の代わりに、これらの各センサのいずれかを用いて、自身の位置および傾きを検出し得る。一例として、センサ114が角速度センサである場合、角速度センサは、現実空間におけるHMD110の3軸周りの角速度を経時的に検出する。HMD110は、各角速度に基づいて、HMD110の3軸周りの角度の時間的変化を算出し、さらに、角度の時間的変化に基づいて、HMD110の傾きを算出する。 In another aspect, the HMD 110 may include the sensor 114 as the position detector instead of the HMD sensor 120. The HMD 110 may use the sensor 114 to detect the position and tilt of the HMD 110 itself. For example, if the sensor 114 is an angular velocity sensor, a geomagnetic sensor, an acceleration sensor, or a gyro sensor, the HMD 110 uses any of these sensors instead of the HMD sensor 120 to determine its position and tilt. Can be detected. As an example, when the sensor 114 is an angular velocity sensor, the angular velocity sensor detects the angular velocity around the three axes of the HMD 110 in real space over time. The HMD 110 calculates the temporal change of the angle around the three axes of the HMD 110 based on each angular velocity, and further calculates the inclination of the HMD 110 based on the temporal change of the angle.

また、HMD110は、透過型表示装置を備えていても良い。この場合、当該透過型表示装置は、その透過率を調整することにより、一時的に非透過型の表示装置として構成可能であってもよい。また、視野画像は仮想空間2を構成する画像の一部に、現実空間を提示する構成を含んでいてもよい。たとえば、HMD110に搭載されたカメラで撮影した画像を視野画像の一部に重畳して表示させてもよいし、当該透過型表示装置の一部の透過率を高く設定することにより、視野画像の一部から現実空間を視認可能にしてもよい。 Further, the HMD 110 may be provided with a transmissive display device. In this case, the transmissive display device may be temporarily configured as a non-transparent display device by adjusting its transmittance. Further, the visual field image may include a configuration for presenting the real space as a part of the image constituting the virtual space 2. For example, an image taken by a camera mounted on the HMD 110 may be superimposed on a part of the field image and displayed, or by setting a high transmittance of a part of the transmissive display device, the field image can be displayed. The real space may be visible from a part.

サーバ150は、コンピュータ200にプログラムを送信し得る。他の局面において、サーバ150は、他のユーザによって使用されるHMD110に仮想現実を提供するための他のコンピュータ200と通信し得る。たとえば、アミューズメント施設において、複数のユーザが参加型のゲームを行なう場合、各コンピュータ200は、各ユーザの動作に基づく信号を他のコンピュータ200と通信して、同じ仮想空間2において複数のユーザが共通のゲームを楽しむことを可能にする。また、上述したように、複数のコンピュータ200が各ユーザの動作に基づく信号を送受信することで、一の仮想空間2内で複数のユーザが会話を楽しむことができる。 The server 150 may send the program to the computer 200. In another aspect, the server 150 may communicate with another computer 200 to provide virtual reality to the HMD 110 used by another user. For example, in an amusement facility, when a plurality of users play a participatory game, each computer 200 communicates a signal based on the operation of each user with another computer 200, and the plurality of users are common in the same virtual space 2. Allows you to enjoy the game. Further, as described above, the plurality of computers 200 transmit and receive signals based on the actions of each user, so that a plurality of users can enjoy a conversation in one virtual space 2.

コントローラ160は、ユーザ190からコンピュータ200への命令の入力を受け付ける。ある局面において、コントローラ160は、ユーザ190によって把持可能に構成される。他の局面において、コントローラ160は、ユーザ190の身体あるいは衣類の一部に装着可能に構成される。他の局面において、コントローラ160は、コンピュータ200から送られる信号に基づいて、振動、音、光のうちの少なくともいずれかを出力するように構成されてもよい。他の局面において、コントローラ160は、仮想現実を提供する空間に配置されるオブジェクトの位置や動きを制御するためにユーザ190によって与えられる操作を受け付ける。 The controller 160 receives an instruction input from the user 190 to the computer 200. In one aspect, the controller 160 is configured to be grippable by the user 190. In another aspect, the controller 160 is configured to be wearable on a part of the body or clothing of the user 190. In another aspect, the controller 160 may be configured to output at least one of vibration, sound, and light based on the signal sent from the computer 200. In another aspect, the controller 160 accepts operations given by the user 190 to control the position and movement of objects placed in the space that provides virtual reality.

モーションセンサ130は、ある局面において、ユーザ190の手に取り付けられて、ユーザ190の手の動きを検出する。たとえば、モーションセンサ130は、手の回転速度、回転数などを検出する。モーションセンサ130によって得られたユーザ190の手の動きの検出結果を表すデータ(以下、検出データともいう)は、コンピュータ200に送られる。モーションセンサ130は、たとえば、手袋型のコントローラ160に設けられている。ある実施の形態において、現実空間における安全のため、コントローラ160は、手袋型のようにユーザ190の手に装着されることにより容易に飛んで行かないものに装着されるのが望ましい。他の局面において、ユーザ190に装着されないセンサがユーザ190の手の動きを検出してもよい。たとえば、ユーザ190を撮影するカメラの信号が、ユーザ190の動作を表す信号として、コンピュータ200に入力されてもよい。モーションセンサ130とコンピュータ200とは、有線により、または無線により互いに接続される。無線の場合、通信形態は特に限られず、たとえば、Bluetooth(登録商標)その他の公知の通信手法が用いられる。 The motion sensor 130 is attached to the hand of the user 190 in a certain aspect and detects the movement of the hand of the user 190. For example, the motion sensor 130 detects the rotation speed, the number of rotations, and the like of the hand. Data representing the detection result of the hand movement of the user 190 obtained by the motion sensor 130 (hereinafter, also referred to as detection data) is sent to the computer 200. The motion sensor 130 is provided in, for example, a glove-shaped controller 160. In certain embodiments, for safety in real space, it is desirable that the controller 160 be attached to something that does not easily fly by being attached to the user 190's hand, such as a glove type. In another aspect, a sensor not attached to the user 190 may detect the movement of the user 190's hand. For example, the signal of the camera that captures the user 190 may be input to the computer 200 as a signal representing the operation of the user 190. The motion sensor 130 and the computer 200 are connected to each other by wire or wirelessly. In the case of wireless communication, the communication mode is not particularly limited, and for example, Bluetooth (registered trademark) or other known communication method is used.

他の局面において、HMDシステム100は、テレビジョン放送受信チューナを備えてもよい。このような構成によれば、HMDシステム100は、仮想空間2においてテレビ番組を表示することができる。 In another aspect, the HMD system 100 may include a television broadcast receiving tuner. According to such a configuration, the HMD system 100 can display a television program in the virtual space 2.

さらに他の局面において、HMDシステム100は、インターネットに接続するための通信回路、あるいは、電話回線に接続するための通話機能を備えていてもよい。 In still other aspects, the HMD system 100 may include a communication circuit for connecting to the Internet or a telephone function for connecting to a telephone line.

[コンピュータのハードウェア構成]
図2を参照して、本実施の形態に係るコンピュータ200について説明する。図2は、一局面に従うコンピュータ200のハードウェア構成の一例を表すブロック図である。コンピュータ200は、主たる構成要素として、プロセッサ10と、メモリ11と、ストレージ12と、入出力インターフェース13と、通信インターフェース14とを備える。各構成要素は、それぞれ、バス15に接続されている。
[Computer hardware configuration]
The computer 200 according to the present embodiment will be described with reference to FIG. FIG. 2 is a block diagram showing an example of the hardware configuration of the computer 200 according to one aspect. The computer 200 includes a processor 10, a memory 11, a storage 12, an input / output interface 13, and a communication interface 14 as main components. Each component is connected to the bus 15.

プロセッサ10は、コンピュータ200に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ11またはストレージ12に格納されているプログラムに含まれる一連の命令を実行する。ある局面において、プロセッサ10は、CPU(Central Processing Unit)、MPU(Micro Processor Unit)、FPGA(Field-Programmable Gate Array)その他のデバイスとして実現される。 The processor 10 executes a series of instructions included in the program stored in the memory 11 or the storage 12 based on the signal given to the computer 200 or based on the condition that a predetermined condition is satisfied. In a certain aspect, the processor 10 is realized as a CPU (Central Processing Unit), an MPU (Micro Processor Unit), an FPGA (Field-Programmable Gate Array) or other device.

メモリ11は、プログラムおよびデータを一時的に保存する。プログラムは、たとえば、ストレージ12からロードされる。データは、コンピュータ200に入力されたデータと、プロセッサ10によって生成されたデータとを含む。ある局面において、メモリ11は、RAM(Random Access Memory)その他の揮発メモリとして実現される。 The memory 11 temporarily stores programs and data. The program is loaded from storage 12, for example. The data includes data input to the computer 200 and data generated by the processor 10. In a certain aspect, the memory 11 is realized as a RAM (Random Access Memory) or other volatile memory.

ストレージ12は、プログラムおよびデータを永続的に保持する。ストレージ12は、たとえば、ROM(Read-Only Memory)、ハードディスク装置、フラッシュメモリ、その他の不揮発記憶装置として実現される。ストレージ12に格納されるプログラムは、HMDシステム100において仮想空間2を提供するためのプログラム、シミュレーションプログラム、ゲームプログラム、ユーザ認証プログラム、他のコンピュータ200との通信を実現するためのプログラムを含む。ストレージ12に格納されるデータは、仮想空間2を規定するためのデータおよびオブジェクトなどを含む。 Storage 12 permanently retains programs and data. The storage 12 is realized as, for example, a ROM (Read-Only Memory), a hard disk device, a flash memory, or other non-volatile storage device. The program stored in the storage 12 includes a program for providing the virtual space 2 in the HMD system 100, a simulation program, a game program, a user authentication program, and a program for realizing communication with another computer 200. The data stored in the storage 12 includes data and objects for defining the virtual space 2.

なお、他の局面において、ストレージ12は、メモリカードのように着脱可能な記憶装置として実現されてもよい。さらに他の局面において、コンピュータ200に内蔵されたストレージ12の代わりに、外部の記憶装置に保存されているプログラムおよびデータを使用する構成が使用されてもよい。このような構成によれば、たとえば、アミューズメント施設のように複数のHMDシステム100が使用される場面において、プログラムやデータの更新を一括して行なうことが可能になる。 In another aspect, the storage 12 may be realized as a removable storage device such as a memory card. In still other aspects, configurations may be used that use programs and data stored in an external storage device instead of the storage 12 built into the computer 200. With such a configuration, it becomes possible to collectively update programs and data in a situation where a plurality of HMD systems 100 are used, for example, in an amusement facility.

ある実施の形態において、入出力インターフェース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 / output interface 13 communicates a signal with the HMD 110, the HMD sensor 120, or the motion sensor 130. In a certain aspect, the input / output interface 13 is realized by using a USB (Universal Serial Bus) interface, a DVI (Digital Visual Interface), an HDMI (registered trademark) (High-Definition Multimedia Interface), and other terminals. The input / output interface 13 is not limited to the above.

ある実施の形態において、入出力インターフェース13は、さらに、コントローラ160と通信し得る。たとえば、入出力インターフェース13は、モーションセンサ130から出力された信号の入力を受ける。他の局面において、入出力インターフェース13は、プロセッサ10から出力された命令を、コントローラ160に送る。当該命令は、振動、音声出力、発光などをコントローラ160に指示する。コントローラ160は、当該命令を受信すると、その命令に応じて、振動、音声出力または発光のいずれかを実行する。 In certain embodiments, the input / output interface 13 may further communicate with the controller 160. For example, the input / output interface 13 receives an input of a signal output from the motion sensor 130. In another aspect, the input / output interface 13 sends an instruction output from the processor 10 to the controller 160. The command instructs the controller 160 to vibrate, output voice, emit light, and the like. Upon receiving the command, the controller 160 executes either vibration, audio output, or light emission in response to the command.

通信インターフェース14は、ネットワーク19に接続されて、ネットワーク19に接続されている他のコンピュータ(たとえば、サーバ150、他のユーザのコンピュータ200など)と通信する。ある局面において、通信インターフェース14は、たとえば、LAN(Local Area Network)その他の有線通信インターフェース、あるいは、WiFi(Wireless Fidelity)、Bluetooth(登録商標)、NFC(Near Field Communication)その他の無線通信インターフェースとして実現される。なお、通信インターフェース14は上述のものに限られない。 The communication interface 14 is connected to the network 19 and communicates with another computer (for example, a server 150, another user's computer 200, etc.) connected to the network 19. In a certain aspect, the communication interface 14 is realized as, for example, a LAN (Local Area Network) or other wired communication interface, or a WiFi (Wireless Fidelity), Bluetooth (registered trademark), NFC (Near Field Communication) or other wireless communication interface. Will be done. The communication interface 14 is not limited to the above.

ある局面において、プロセッサ10は、ストレージ12にアクセスし、ストレージ12に格納されている1つ以上のプログラムをメモリ11にロードし、当該プログラムに含まれる一連の命令を実行する。当該1つ以上のプログラムは、コンピュータ200のオペレーティングシステム、仮想空間2を提供するためのアプリケーションプログラム、コントローラ160を用いて仮想空間2で実行可能なゲームソフトウェアなどを含み得る。プロセッサ10は、入出力インターフェース13を介して、仮想空間2を提供するための信号をHMD110に送る。HMD110は、その信号に基づいてモニタ112に映像を表示する。 In one aspect, the processor 10 accesses the storage 12, loads one or more programs stored in the storage 12 into the memory 11, and executes a series of instructions contained in the program. The one or more programs may include an operating system of the computer 200, an application program for providing the virtual space 2, game software that can be executed in the virtual space 2 using the controller 160, and the like. The processor 10 sends a signal for providing the virtual space 2 to the HMD 110 via the input / output interface 13. The HMD 110 displays an image on the monitor 112 based on the signal.

なお、図2に示される例では、コンピュータ200は、HMD110の外部に設けられる構成が示されているが、他の局面において、コンピュータ200は、HMD110に内蔵されてもよい。一例として、モニタ112を含む携帯型の情報通信端末(たとえば、スマートフォン)がコンピュータ200として機能してもよい。 In the example shown in FIG. 2, the computer 200 is configured to be provided outside the HMD 110, but in other aspects, the computer 200 may be built in the HMD 110. As an example, a portable information communication terminal (for example, a smartphone) including a monitor 112 may function as a computer 200.

また、コンピュータ200は、複数のHMD110に共通して用いられる構成であってもよい。このような構成によれば、たとえば、複数のユーザに同一の仮想空間2を提供することもできるので、各ユーザは同一の仮想空間2で他のユーザと同一のアプリケーションを楽しむことができる。 Further, the computer 200 may have a configuration commonly used for a plurality of HMD 110s. According to such a configuration, for example, the same virtual space 2 can be provided to a plurality of users, so that each user can enjoy the same application as other users in the same virtual space 2.

ある実施の形態において、HMDシステム100では、グローバル座標系が予め設定されている。グローバル座標系は、現実空間における鉛直方向、鉛直方向に直交する水平方向、ならびに、鉛直方向および水平方向の双方に直交する前後方向にそれぞれ平行な、3つの基準方向(軸)を有する。本実施の形態では、グローバル座標系は視点座標系の一つである。そこで、グローバル座標系における水平方向、鉛直方向(上下方向)、および前後方向は、それぞれ、x軸、y軸、z軸と規定される。より具体的には、グローバル座標系において、x軸は現実空間の水平方向に平行である。y軸は、現実空間の鉛直方向に平行である。z軸は現実空間の前後方向に平行である。 In one embodiment, the HMD system 100 has a preset global coordinate system. The global coordinate system has three reference directions (axises) that are parallel to the vertical direction in the real space, the horizontal direction orthogonal to the vertical direction, and the front-back direction orthogonal to both the vertical direction and the horizontal direction. In this embodiment, the global coordinate system is one of the viewpoint coordinate systems. Therefore, the horizontal direction, the vertical direction (vertical direction), and the front-back direction in the global coordinate system are defined as the x-axis, the y-axis, and the z-axis, respectively. More specifically, in the global coordinate system, the x-axis is parallel to the horizontal direction of the real space. The y-axis is parallel to the vertical direction in real space. The z-axis is parallel to the front-back direction of the real space.

ある局面において、HMDセンサ120は、赤外線センサを含む。赤外線センサが、HMD110の各光源から発せられた赤外線をそれぞれ検出すると、HMD110の存在を検出する。HMDセンサ120は、さらに、各点の値(グローバル座標系における各座標値)に基づいて、HMD110を装着したユーザ190の動きに応じた、現実空間内におけるHMD110の位置および傾きを検出する。より詳しくは、HMDセンサ120は、経時的に検出された各値を用いて、HMD110の位置および傾きの時間的変化を検出できる。 In one aspect, the HMD sensor 120 includes an infrared sensor. When the infrared sensor detects infrared rays emitted from each light source of the HMD 110, the presence of the HMD 110 is detected. The HMD sensor 120 further detects the position and inclination of the HMD 110 in the real space according to the movement of the user 190 wearing the HMD 110 based on the value of each point (each coordinate value in the global coordinate system). More specifically, the HMD sensor 120 can detect a temporal change in the position and inclination of the HMD 110 by using each value detected over time.

グローバル座標系は現実空間の座標系と平行である。したがって、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 HMD 110 detected by the HMD sensor 120 corresponds to each inclination of the HMD 110 around three axes in the global coordinate system. The HMD sensor 120 sets the uvw field coordinate system to the HMD 110 based on the tilt of the HMD 110 in the global coordinate system. The uvw field-of-view coordinate system set in the HMD 110 corresponds to the viewpoint coordinate system when the user 190 wearing the HMD 110 sees an object in the virtual space 2.

[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 HMD 110 according to an embodiment. The HMD sensor 120 detects the position and tilt of the HMD 110 in the global coordinate system when the HMD 110 is activated. The processor 10 sets the uvw field coordinate system to the HMD 110 based on the detected values.

図3に示されるように、HMD110は、HMD110を装着したユーザ190の頭部を中心(原点)とした3次元のuvw視野座標系を設定する。より具体的には、HMD110は、グローバル座標系を規定する水平方向、鉛直方向、および前後方向(x軸、y軸、z軸)を、グローバル座標系内においてHMD110の各軸周りの傾きだけ各軸周りにそれぞれ傾けることによって新たに得られる3つの方向を、HMD110におけるuvw視野座標系のピッチ方向(u軸)、ヨー方向(v軸)、およびロール方向(w軸)として設定する。 As shown in FIG. 3, the HMD 110 sets a three-dimensional uvw visual field coordinate system centered (origin) on the head of the user 190 wearing the HMD 110. More specifically, the HMD 110 defines the global coordinate system in the horizontal, vertical, and front-back directions (x-axis, y-axis, z-axis) by the inclination of the HMD 110 around each axis in the global coordinate system. The three directions newly obtained by tilting each around the axis are set as the pitch direction (u-axis), the yaw direction (v-axis), and the roll direction (w-axis) of the uvw field coordinate system in the HMD 110.

ある局面において、HMD110を装着したユーザ190が直立し、かつ、正面を視認している場合、プロセッサ10は、グローバル座標系に平行なuvw視野座標系をHMD110に設定する。この場合、グローバル座標系における水平方向(x軸)、鉛直方向(y軸)、および前後方向(z軸)は、HMD110におけるuvw視野座標系のピッチ方向(u軸)、ヨー方向(v軸)、およびロール方向(w軸)に一致する。 In a certain aspect, when the user 190 wearing the HMD 110 is upright and visually recognizing the front, the processor 10 sets the uvw field coordinate system parallel to the global coordinate system to the HMD 110. In this case, the horizontal direction (x-axis), the vertical direction (y-axis), and the anteroposterior direction (z-axis) in the global coordinate system are the pitch direction (u-axis) and the yaw direction (v-axis) of the uvw field coordinate system in the HMD 110. , And the roll direction (w-axis).

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 110, the HMD sensor 120 can detect the inclination (change amount of the inclination) of the HMD 110 in the set uvw visual field coordinate system based on the movement of the HMD 110. In this case, the HMD sensor 120 detects the pitch angle (θu), yaw angle (θv), and roll angle (θw) of the HMD 110 in the uvw visual field coordinate system as the inclination of the HMD 110, respectively. The pitch angle (θu) represents the tilt angle of the HMD 110 around the pitch direction in the uvw visual field coordinate system. The yaw angle (θv) represents the tilt angle of the HMD 110 around the yaw direction in the uvw visual field coordinate system. The roll angle (θw) represents the tilt angle of the HMD 110 around the roll direction in the uvw visual field coordinate system.

HMDセンサ120は、検出されたHMD110の傾き角度に基づいて、HMD110が動いた後のHMD110におけるuvw視野座標系を、HMD110に設定する。HMD110と、HMD110のuvw視野座標系との関係は、HMD110の位置および傾きに関わらず、常に一定である。HMD110の位置および傾きが変わると、当該位置および傾きの変化に連動して、グローバル座標系におけるHMD110のuvw視野座標系の位置および傾きが変化する。 The HMD sensor 120 sets the uvw field coordinate system in the HMD 110 after the HMD 110 has moved based on the detected tilt angle of the HMD 110 in the HMD 110. The relationship between the HMD 110 and the uvw field coordinate system of the HMD 110 is always constant regardless of the position and tilt of the HMD 110. When the position and inclination of the HMD 110 change, the position and inclination of the uvw visual field coordinate system of the HMD 110 in the global coordinate system change in conjunction with the change of the position and inclination.

ある局面において、HMDセンサ120は、赤外線センサからの出力に基づいて取得される赤外線の光強度および複数の点間の相対的な位置関係(たとえば、各点間の距離など)に基づいて、HMD110の現実空間内における位置を、HMDセンサ120に対する相対位置として特定してもよい。また、プロセッサ10は、特定された相対位置に基づいて、現実空間内(グローバル座標系)におけるHMD110のuvw視野座標系の原点を決定してもよい。 In one aspect, the HMD sensor 120 is based on the infrared light intensity obtained based on the output from the infrared sensor and the relative positional relationship between the points (eg, the distance between the points). The position of the light in the real space may be specified as a relative position with respect to the HMD sensor 120. Further, the processor 10 may determine the origin of the uvw visual field coordinate system of the HMD 110 in the real space (global coordinate system) based on the specified relative position.

[仮想空間]
図4を参照して、仮想空間2についてさらに説明する。図4は、ある実施の形態に従う仮想空間2を表現する一態様を概念的に表す図である。仮想空間2は、中心21の360度方向の全体を覆う全天球状の構造を有する。図4では、説明を複雑にしないために、仮想空間2のうちの上半分の天球が例示されている。仮想空間2では各メッシュが規定される。各メッシュの位置は、仮想空間2に規定されるXYZ座標系における座標値として予め規定されている。コンピュータ200は、仮想空間2に展開可能なコンテンツ(静止画、動画など)を構成する各部分画像を、仮想空間2において対応する各メッシュにそれぞれ対応付けて、ユーザ190によって視認可能な仮想空間画像22が展開される仮想空間2をユーザ190に提供する。
[Virtual space]
The virtual space 2 will be further described with reference to FIG. FIG. 4 is a diagram conceptually representing one aspect of expressing the virtual space 2 according to a certain embodiment. The virtual space 2 has an all-sky spherical structure that covers the entire center 21 in the 360-degree direction. In FIG. 4, the celestial sphere in the upper half of the virtual space 2 is illustrated so as not to complicate the explanation. Each mesh is defined in the virtual space 2. The position of each mesh is predetermined as a coordinate value in the XYZ coordinate system defined in the virtual space 2. The computer 200 associates each partial image constituting the contents (still image, moving image, etc.) expandable in the virtual space 2 with each corresponding mesh in the virtual space 2, and the virtual space image visible to the user 190. The virtual space 2 in which 22 is expanded is provided to the user 190.

ある局面において、仮想空間2では、中心21を原点とするXYZ座標系が規定される。XYZ座標系は、たとえば、グローバル座標系に平行である。XYZ座標系は視点座標系の一種であるため、XYZ座標系における水平方向、鉛直方向(上下方向)、および前後方向は、それぞれX軸、Y軸、Z軸として規定される。したがって、XYZ座標系のX軸(水平方向)がグローバル座標系のx軸と平行であり、XYZ座標系のY軸(鉛直方向)がグローバル座標系のy軸と平行であり、XYZ座標系のZ軸(前後方向)がグローバル座標系のz軸と平行である。 In a certain aspect, the virtual space 2 defines an XYZ coordinate system with the center 21 as the origin. The XYZ coordinate system is, for example, parallel to the global coordinate system. Since the XYZ coordinate system is a kind of viewpoint coordinate system, the horizontal direction, the vertical direction (vertical direction), and the front-back direction in the XYZ coordinate system are defined as the X-axis, the Y-axis, and the Z-axis, respectively. Therefore, the X-axis (horizontal direction) of the XYZ coordinate system is parallel to the x-axis of the global coordinate system, and the Y-axis (vertical direction) of the XYZ coordinate system is parallel to the y-axis of the global coordinate system. The Z-axis (front-back direction) is parallel to the z-axis of the global coordinate system.

HMD110の起動時、すなわちHMD110の初期状態において、仮想カメラ1が、仮想空間2の中心21に配置される。仮想カメラ1は、現実空間におけるHMD110の動きに連動して、仮想空間2を同様に移動する。これにより、現実空間におけるHMD110の位置および向きの変化が、仮想空間2において同様に再現される。 At the time of starting the HMD 110, that is, in the initial state of the HMD 110, the virtual camera 1 is arranged at the center 21 of the virtual space 2. The virtual camera 1 moves in the virtual space 2 in the same manner as the movement of the HMD 110 in the real space. As a result, changes in the position and orientation of the HMD 110 in the real space are similarly reproduced in the virtual space 2.

仮想カメラ1には、HMD110の場合と同様に、uvw視野座標系が規定される。仮想空間2における仮想カメラのuvw視野座標系は、現実空間(グローバル座標系)におけるHMD110のuvw視野座標系に連動するように規定されている。したがって、HMD110の傾きが変化すると、それに応じて、仮想カメラ1の傾きも変化する。また、仮想カメラ1は、HMD110を装着したユーザ190の現実空間における移動に連動して、仮想空間2において移動することもできる。 As in the case of the HMD 110, the virtual camera 1 is defined with the uvw field-of-view coordinate system. The uvw field-of-view coordinate system of the virtual camera in the virtual space 2 is defined to be linked to the uvw field-of-view coordinate system of the HMD 110 in the real space (global coordinate system). Therefore, when the inclination of the HMD 110 changes, the inclination of the virtual camera 1 also changes accordingly. Further, the virtual camera 1 can also move in the virtual space 2 in conjunction with the movement of the user 190 wearing the HMD 110 in the real space.

仮想カメラ1の向きは、仮想カメラ1の位置および傾きに応じて決まるので、ユーザ190が仮想空間画像22を視認する際に基準となる視線(基準視線5)は、仮想カメラ1の向きに応じて決まる。コンピュータ200のプロセッサ10は、基準視線5に基づいて、仮想空間2における視界領域23を規定する。視界領域23は、仮想空間2のうち、HMD110を装着したユーザ190の視界に対応する。 Since the orientation of the virtual camera 1 is determined according to the position and inclination of the virtual camera 1, the line of sight (reference line of sight 5) as a reference when the user 190 visually recognizes the virtual space image 22 depends on the orientation of the virtual camera 1. Is decided. The processor 10 of the computer 200 defines the field of view 23 in the virtual space 2 based on the reference line of sight 5. The field of view 23 corresponds to the field of view of the user 190 wearing the HMD 110 in the virtual space 2.

注視センサ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 user 190 detected by the gaze sensor 140 is the direction in the viewpoint coordinate system when the user 190 visually recognizes the object. The uvw field-of-view coordinate system of the HMD 110 is equal to the viewpoint coordinate system when the user 190 visually recognizes the monitor 112. Further, the uvw field-of-view coordinate system of the virtual camera 1 is linked to the uvw field-of-view coordinate system of the HMD 110. Therefore, the HMD system 100 according to a certain aspect can consider the line-of-sight direction of the user 190 detected by the gaze sensor 140 as the line-of-sight direction of the user 190 in the uvw field-of-view coordinate system of the virtual camera 1.

[ユーザの視線]
図5を参照して、ユーザ190の視線方向の決定について説明する。図5は、ある実施の形態に従うHMD110を装着するユーザ190の頭部を上から表した図である。
[User's line of sight]
The determination of the line-of-sight direction of the user 190 will be described with reference to FIG. FIG. 5 is a top view of the head of a user 190 wearing an HMD 110 according to an embodiment.

ある局面において、注視センサ140は、ユーザ190の右目および左目の各視線を検出する。ある局面において、ユーザ190が近くを見ている場合、注視センサ140は、視線R1およびL1を検出する。他の局面において、ユーザ190が遠くを見ている場合、注視センサ140は、視線R2およびL2を検出する。この場合、ロール方向wに対して視線R2およびL2がなす角度は、ロール方向wに対して視線R1およびL1がなす角度よりも小さい。注視センサ140は、検出結果をコンピュータ200に送信する。 In one aspect, the gaze sensor 140 detects each line of sight of the user 190's right and left eyes. In one aspect, when the user 190 is looking near, the gaze sensor 140 detects the lines of sight R1 and L1. In another aspect, when the user 190 is looking far away, the gaze sensor 140 detects the lines of sight R2 and L2. In this case, the angle formed by the lines of sight R2 and L2 with respect to the roll direction w is smaller than the angle formed by the lines of sight R1 and L1 with respect to the roll direction w. The gaze sensor 140 transmits the detection result to the computer 200.

コンピュータ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 computer 200 receives the detection values of the lines of sight R1 and L1 from the gaze sensor 140 as the detection result of the line of sight, the computer 200 identifies the gaze point N1 which is the intersection of the lines of sight R1 and L1 based on the detected values. On the other hand, when the computer 200 receives the detected values of the lines of sight R2 and L2 from the gaze sensor 140, the computer 200 identifies the intersection of the lines of sight R2 and L2 as the gaze point. The computer 200 specifies the line-of-sight direction N0 of the user 190 based on the position of the specified gazing point N1. For example, the computer 200 detects the midpoint of the straight line connecting the right eye R and the left eye L of the user 190 and the extending direction of the straight line passing through the gazing point N1 as the line-of-sight direction N0. The line-of-sight direction N0 is the direction in which the user 190 actually directs the line of sight with both eyes. Further, the line-of-sight direction N0 corresponds to the direction in which the user 190 actually directs the line of sight to the field-of-sight area 23.

[視界領域]
図6および図7を参照して、視界領域23について説明する。図6は、仮想空間2において視界領域23をX方向から見たYZ断面を表す図である。図7は、仮想空間2において視界領域23をY方向から見たXZ断面を表す図である。
[Visibility area]
The view area 23 will be described with reference to FIGS. 6 and 7. FIG. 6 is a diagram showing a YZ cross section of the field of view 23 as viewed from the X direction in the virtual space 2. FIG. 7 is a diagram showing an XZ cross section of the field of view 23 as viewed from the Y direction in the virtual space 2.

図6に示されるように、YZ断面における視界領域23は、領域24を含む。領域24は、仮想カメラ1の基準視線5と仮想空間2のYZ断面とによって定義される。プロセッサ10は、仮想空間2おける基準視線5を中心として極角αを含む範囲を、領域24として規定する。 As shown in FIG. 6, the field of view region 23 in the YZ cross section includes the region 24. The region 24 is defined by the reference line of sight 5 of the virtual camera 1 and the YZ cross section of the virtual space 2. The processor 10 defines a range including the polar angle α around the reference line of sight 5 in the virtual space 2 as a region 24.

図7に示されるように、XZ断面における視界領域23は、領域25を含む。領域25は、基準視線5と仮想空間2のXZ断面とによって定義される。プロセッサ10は、仮想空間2における基準視線5を中心とした方位角βを含む範囲を、領域25として規定する。 As shown in FIG. 7, the field of view 23 in the XZ cross section includes the region 25. The region 25 is defined by the reference line of sight 5 and the XZ cross section of the virtual space 2. The processor 10 defines a range including the azimuth angle β centered on the reference line of sight 5 in the virtual space 2 as a region 25.

ある局面において、HMDシステム100は、コンピュータ200からの信号に基づいて、視界画像をモニタ112に表示させることにより、ユーザ190に仮想空間2を提供する。視界画像は、仮想空間画像22のうちの視界領域23に重畳する部分に相当する。ユーザ190が、頭に装着したHMD110を動かすと、その動きに連動して仮想カメラ1も動く。その結果、仮想空間2における視界領域23の位置が変化する。これにより、モニタ112に表示される視界画像は、仮想空間画像22のうち、仮想空間2においてユーザ190が向いた方向の視界領域23に重畳する画像に更新される。ユーザ190は、仮想空間2における所望の方向を視認することができる。 In one aspect, the HMD system 100 provides the user 190 with the virtual space 2 by displaying a field of view image on the monitor 112 based on a signal from the computer 200. The visual field image corresponds to a portion of the virtual space image 22 that is superimposed on the visual field region 23. When the user 190 moves the HMD 110 attached to the head, the virtual camera 1 also moves in conjunction with the movement. As a result, the position of the field of view 23 in the virtual space 2 changes. As a result, the field-of-view image displayed on the monitor 112 is updated to the image superimposed on the field-of-view area 23 in the direction in which the user 190 faces in the virtual space 2 among the virtual space images 22. The user 190 can visually recognize the desired direction in the virtual space 2.

ユーザ190は、HMD110を装着している間、現実世界を視認することなく、仮想空間2に展開される仮想空間画像22のみを視認できる。そのため、HMDシステム100は、仮想空間2への高い没入感覚をユーザ190に与えることができる。 While wearing the HMD 110, the user 190 can visually recognize only the virtual space image 22 developed in the virtual space 2 without visually recognizing the real world. Therefore, the HMD system 100 can give the user 190 a high sense of immersion in the virtual space 2.

ある局面において、プロセッサ10は、HMD110を装着したユーザ190の現実空間における移動に連動して、仮想空間2において仮想カメラ1を移動し得る。この場合、プロセッサ10は、仮想空間2における仮想カメラ1の位置および向きに基づいて、HMD110のモニタ112に投影される画像領域(すなわち、仮想空間2における視界領域23)を特定する。 In a certain aspect, the processor 10 may move the virtual camera 1 in the virtual space 2 in conjunction with the movement of the user 190 wearing the HMD 110 in the real space. In this case, the processor 10 identifies an image region (that is, a view region 23 in the virtual space 2) projected onto the monitor 112 of the HMD 110 based on the position and orientation of the virtual camera 1 in the virtual space 2.

ある実施の形態に従うと、仮想カメラ1は、二つの仮想カメラ、すなわち、右目用の画像を提供するための仮想カメラと、左目用の画像を提供するための仮想カメラとを含むことが望ましい。また、ユーザ190が3次元の仮想空間2を認識できるように、適切な視差が、二つの仮想カメラに設定されていることが好ましい。本実施の形態においては、仮想カメラ1が二つの仮想カメラを含み、二つの仮想カメラのロール方向が合成されることによって生成されるロール方向(w)がHMD110のロール方向(w)に適合されるように構成されているものとして、本開示に係る技術思想を例示する。 According to certain embodiments, the virtual camera 1 preferably includes two virtual cameras, i.e., a virtual camera for providing an image for the right eye and a virtual camera for providing an image for the left eye. Further, it is preferable that an appropriate parallax is set in the two virtual cameras so that the user 190 can recognize the three-dimensional virtual space 2. In the present embodiment, the virtual camera 1 includes two virtual cameras, and the roll direction (w) generated by combining the roll directions of the two virtual cameras is adapted to the roll direction (w) of the HMD 110. Assuming that it is configured as such, the technical idea according to the present disclosure will be exemplified.

[コントローラ]
図8を参照して、コントローラ160の一例について説明する。図8は、ある実施の形態に従うコントローラ160の概略構成を表す図である。
[controller]
An example of the controller 160 will be described with reference to FIG. FIG. 8 is a diagram showing a schematic configuration of a controller 160 according to an embodiment.

図8の分図(A)に示されるように、ある局面において、コントローラ160は、右コントローラ800と左コントローラ(図示しない)とを含み得る。右コントローラ800は、ユーザ190の右手で操作される。左コントローラは、ユーザ190の左手で操作される。ある局面において、右コントローラ800と左コントローラとは、別個の装置として対称に構成される。したがって、ユーザ190は、右コントローラ800を把持した右手と、左コントローラを把持した左手とをそれぞれ自由に動かすことができる。他の局面において、コントローラ160は両手の操作を受け付ける一体型のコントローラであってもよい。以下、右コントローラ800について説明する。 As shown in FIG. 8A, the controller 160 may include a right controller 800 and a left controller (not shown) in certain aspects. The right controller 800 is operated by the right hand of the user 190. The left controller is operated by the left hand of the user 190. In one aspect, the right controller 800 and the left controller are symmetrically configured as separate devices. Therefore, the user 190 can freely move the right hand holding the right controller 800 and the left hand holding the left controller. In another aspect, the controller 160 may be an integrated controller that accepts the operation of both hands. Hereinafter, the right controller 800 will be described.

右コントローラ800は、グリップ30と、フレーム31と、天面32とを備える。グリップ30は、ユーザ190の右手によって把持されるように構成されている。たとえば、グリップ30は、ユーザ190の右手の掌と3本の指(中指、薬指、小指)とによって保持され得る。 The right controller 800 includes a grip 30, a frame 31, and a top surface 32. The grip 30 is configured to be gripped by the right hand of the user 190. For example, the grip 30 may be held by the palm of the user 190's right hand and three fingers (middle finger, ring finger, little finger).

グリップ30は、ボタン33,34と、モーションセンサ130とを含む。ボタン33は、グリップ30の側面に配置され、右手の中指による操作を受け付ける。ボタン34は、グリップ30の前面に配置され、右手の人差し指による操作を受け付ける。ある局面において、ボタン33,34は、トリガー式のボタンとして構成される。モーションセンサ130は、グリップ30の筐体に内蔵されている。なお、ユーザ190の動作がカメラその他の装置によってユーザ190の周りから検出可能である場合には、グリップ30は、モーションセンサ130を備えなくてもよい。 The grip 30 includes buttons 33 and 34 and a motion sensor 130. The button 33 is arranged on the side surface of the grip 30 and accepts an operation by the middle finger of the right hand. The button 34 is arranged on the front surface of the grip 30 and accepts an operation by the index finger of the right hand. In one aspect, the buttons 33, 34 are configured as trigger type buttons. The motion sensor 130 is built in the housing of the grip 30. If the operation of the user 190 can be detected from around the user 190 by a camera or other device, the grip 30 does not have to include the motion sensor 130.

フレーム31は、その円周方向に沿って配置された複数の赤外線LED35を含む。赤外線LED35は、コントローラ160を使用するプログラムの実行中に、当該プログラムの進行に合わせて赤外線を発光する。赤外線LED35から発せられた赤外線は、右コントローラ800と左コントローラとの各位置や姿勢(傾き、向き)を検出するために使用され得る。図8に示される例では、二列に配置された赤外線LED35が示されているが、配列の数は図8に示されるものに限られない。一列あるいは3列以上の配列が使用されてもよい。 The frame 31 includes a plurality of infrared LEDs 35 arranged along its circumferential direction. The infrared LED 35 emits infrared rays as the program progresses while the program using the controller 160 is being executed. The infrared rays emitted from the infrared LED 35 can be used to detect each position and posture (tilt, orientation) of the right controller 800 and the left controller. In the example shown in FIG. 8, infrared LEDs 35 arranged in two rows are shown, but the number of arrays is not limited to that shown in FIG. An array with one column or three or more columns may be used.

天面32は、ボタン36,37と、アナログスティック38とを備える。ボタン36,37は、プッシュ式ボタンとして構成される。ボタン36,37は、ユーザ190の右手の親指による操作を受け付ける。アナログスティック38は、ある局面において、初期位置(ニュートラルの位置)から360度任意の方向への操作を受け付ける。当該操作は、たとえば、仮想空間2に配置されるオブジェクトを移動するための操作を含む。 The top surface 32 includes buttons 36 and 37 and an analog stick 38. The buttons 36 and 37 are configured as push-type buttons. Buttons 36 and 37 accept operations by the thumb of the user 190's right hand. The analog stick 38 accepts an operation in any direction 360 degrees from the initial position (neutral position) in a certain aspect. The operation includes, for example, an operation for moving an object arranged in the virtual space 2.

ある局面において、右コントローラ800および左コントローラは、赤外線LED35その他の部材を駆動するための電池を含む。電池は、充電式、ボタン型、乾電池型などを含むが、これらに限定されない。他の局面において、右コントローラ800と左コントローラは、たとえば、コンピュータ200のUSBインターフェースに接続され得る。この場合、右コントローラ800および左コントローラは、電池を必要としない。 In one aspect, the right controller 800 and the left controller include a battery for driving the infrared LED 35 and other components. Batteries include, but are not limited to, rechargeable, button type, dry cell type and the like. In other aspects, the right controller 800 and the left controller may be connected to, for example, the USB interface of the computer 200. In this case, the right controller 800 and the left controller do not require batteries.

図8の分図(B)は、右コントローラ800を把持するユーザ190の右手に対応して仮想空間2に配置されるハンドオブジェクト810の一例を示す。たとえば、ユーザ190の右手に対応するハンドオブジェクト810に対して、ヨー、ロール、ピッチの各方向が規定される。たとえば、入力操作が、右コントローラ800のボタン34に対して行なわれると、ハンドオブジェクト810の人差し指を握りこんだ状態とし、入力操作がボタン34に対して行なわれていない場合には、分図(B)に示すように、ハンドオブジェクト810の人差し指を伸ばした状態とすることもできる。たとえば、ハンドオブジェクト810において親指と人差し指とが伸びている場合に、親指の伸びる方向がヨー方向、人差し指の伸びる方向がロール方向、ヨー方向の軸およびロール方向の軸によって規定される平面に垂直な方向がピッチ方向としてハンドオブジェクト810に規定される。 FIG. 8B shows an example of a hand object 810 arranged in the virtual space 2 corresponding to the right hand of the user 190 holding the right controller 800. For example, yaw, roll, and pitch directions are defined for the hand object 810 corresponding to the right hand of the user 190. For example, if the input operation is performed on the button 34 of the right controller 800, the index finger of the hand object 810 is grasped, and if the input operation is not performed on the button 34, the segmentation diagram ( As shown in B), the index finger of the hand object 810 may be extended. For example, in the hand object 810, when the thumb and index finger are extended, the direction in which the thumb is extended is the yaw direction, and the direction in which the index finger is extended is the roll direction, the yaw direction axis, and the plane perpendicular to the plane defined by the roll direction axis. The direction is defined by the hand object 810 as the pitch direction.

[HMDの制御装置]
図9を参照して、HMD110の制御装置について説明する。ある実施の形態において、制御装置は周知の構成を有するコンピュータ200によって実現される。図9は、ある実施の形態に従うコンピュータ200をモジュール構成として表すブロック図である。
[HMD control device]
The control device of the HMD 110 will be described with reference to FIG. In certain embodiments, the control device is implemented by a computer 200 having a well-known configuration. FIG. 9 is a block diagram showing a computer 200 according to an embodiment as a module configuration.

図9に示されるように、コンピュータ200は、表示制御モジュール220と、仮想空間制御モジュール230と、メモリモジュール240と、通信制御モジュール250と、フェイストラッキングモジュール260と、動作検出モジュール271と、行動制御モジュール272とを備える。 As shown in FIG. 9, the computer 200 includes a display control module 220, a virtual space control module 230, a memory module 240, a communication control module 250, a face tracking module 260, an motion detection module 271, and an action control. It is equipped with a module 272.

表示制御モジュール220は、サブモジュールとして、仮想カメラ制御モジュール221と、視界領域決定モジュール222と、視界画像生成モジュール223と、基準視線特定モジュール224と、傾き特定モジュール225と、視点特定モジュール226とを含む。 The display control module 220 includes a virtual camera control module 221, a view area determination module 222, a view image generation module 223, a reference line-of-sight identification module 224, an inclination identification module 225, and a viewpoint identification module 226 as submodules. include.

仮想空間制御モジュール230は、サブモジュールとして、仮想空間定義モジュール231と、仮想オブジェクト生成モジュール232と、手オブジェクト制御モジュール233とを含む。 The virtual space control module 230 includes a virtual space definition module 231, a virtual object generation module 232, and a hand object control module 233 as submodules.

ある実施の形態において、表示制御モジュール220、仮想空間制御モジュール230、フェイストラッキングモジュール260、動作検出モジュール271、および、行動制御モジュール272は、プロセッサ10によって実現される。他の実施の形態において、複数のプロセッサ10が表示制御モジュール220、仮想空間制御モジュール230、フェイストラッキングモジュール260、動作検出モジュール271、および、行動制御モジュール272として作動してもよい。メモリモジュール240は、メモリ11またはストレージ12によって実現される。通信制御モジュール250は、通信インターフェース14によって実現される。 In one embodiment, the display control module 220, the virtual space control module 230, the face tracking module 260, the motion detection module 271, and the behavior control module 272 are realized by the processor 10. In other embodiments, the plurality of processors 10 may operate as the display control module 220, the virtual space control module 230, the face tracking module 260, the motion detection module 271, and the behavior control module 272. The memory module 240 is realized by the memory 11 or the storage 12. The communication control module 250 is realized by the communication interface 14.

ある局面において、表示制御モジュール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 display control module 220 controls the image display on the monitor 112 of the HMD 110. The virtual camera control module 221 arranges the virtual camera 1 in the virtual space 2 and controls the behavior, orientation, and the like of the virtual camera 1. The visual field determination module 222 defines the visual field region 23 according to the orientation of the head of the user 190 wearing the HMD 110. The visual field image generation module 223 generates data (also referred to as visual field image data) of the visual field image displayed on the monitor 112 based on the determined visual field region 23. Further, the view image generation module 223 generates the view image data based on the data received from the virtual space control module 230. The view image data generated by the view image generation module 223 is output to the HMD 110 by the communication control module 250. The reference line-of-sight identification module 224 identifies the line-of-sight of the user 190 based on the signal from the gaze sensor 140.

傾き特定モジュール225は、HMDセンサ120の出力に基づいて、HMD110の傾きを特定する。他の局面において、傾き特定モジュール225は、モーションセンサとして機能するセンサ114の出力に基づいて、HMD110の傾きを特定する。 The tilt specifying module 225 identifies the tilt of the HMD 110 based on the output of the HMD sensor 120. In another aspect, the tilt specifying module 225 identifies the tilt of the HMD 110 based on the output of the sensor 114, which functions as a motion sensor.

視点特定モジュール226は、注視センサ140からの信号に基づいて、仮想空間2におけるユーザ190の視線を検出する。視点特定モジュール226は、検出したユーザ190の視線と仮想空間2の天球とが交わる視点位置(XYZ座標系における座標値)を検出する。より具体的には、視点特定モジュール226は、仮想カメラ1の位置および傾きに基づいて、uvw座標系で規定されるユーザ190の視線をXYZ座標系に変換して視点位置を検出する。 The viewpoint specifying module 226 detects the line of sight of the user 190 in the virtual space 2 based on the signal from the gaze sensor 140. The viewpoint specifying module 226 detects the viewpoint position (coordinate value in the XYZ coordinate system) where the detected line of sight of the user 190 and the celestial sphere in the virtual space 2 intersect. More specifically, the viewpoint specifying module 226 detects the viewpoint position by converting the line of sight of the user 190 defined by the uvw coordinate system into the XYZ coordinate system based on the position and inclination of the virtual camera 1.

フェイストラッキングモジュール260は、HMD110を装着したユーザ190の顔の動きまたは表情を検出する。より具体的には、フェイストラッキングモジュール260は、顔器官検出モジュール261と、トラッキングモジュール262とを含む。顔器官検出モジュール261は、第1カメラ116および第2カメラ117からそれぞれ出力される画像データによって生成されるユーザ190の顔の画像から、ユーザ190の顔を構成する器官(例えば、口,目,眉)を検出する。トラッキングモジュール262は、顔器官検出モジュール261によって検出された各器官ごとの特徴点(の位置)を、例えば間欠的に(離散的に)検出する。トラッキングモジュール262は、ユーザ190の表情を検出することになる。顔器官検出モジュール261およびトラッキングモジュール262の制御内容は後述する。 The face tracking module 260 detects the facial movement or facial expression of the user 190 wearing the HMD 110. More specifically, the face tracking module 260 includes a face organ detection module 261 and a tracking module 262. The facial organ detection module 261 uses organs (for example, mouth, eyes, etc.) constituting the face of the user 190 from the image of the face of the user 190 generated by the image data output from the first camera 116 and the second camera 117, respectively. Brow) is detected. The tracking module 262 detects (positions) of feature points for each organ detected by the facial organ detection module 261 intermittently (discretely), for example. The tracking module 262 will detect the facial expression of the user 190. The control contents of the facial organ detection module 261 and the tracking module 262 will be described later.

仮想空間制御モジュール230は、ユーザ190に提供される仮想空間2を制御する。仮想空間定義モジュール231は、仮想空間2を表す仮想空間データを生成することにより、HMDシステム100における仮想空間2を規定する。 The virtual space control module 230 controls the virtual space 2 provided to the user 190. The virtual space definition module 231 defines the virtual space 2 in the HMD system 100 by generating virtual space data representing the virtual space 2.

仮想オブジェクト生成モジュール232は、仮想空間2に配置されるオブジェクトのデータを生成する。オブジェクトは、たとえば、他アバターオブジェクト、仮想パネル、仮想手紙、および仮想ポストなどを含み得る。仮想オブジェクト生成モジュール232によって生成されたデータは、視界画像生成モジュール223に出力される。 The virtual object generation module 232 generates data of an object arranged in the virtual space 2. Objects can include, for example, other avatar objects, virtual panels, virtual letters, and virtual posts. The data generated by the virtual object generation module 232 is output to the field of view image generation module 223.

手オブジェクト制御モジュール233は、手オブジェクトを仮想空間2に配置する。手オブジェクトは、たとえば、コントローラ160を保持したユーザ190の右手あるいは左手に対応する。ある局面において、手オブジェクト制御モジュール233は、右手あるいは左手に対応する手オブジェクトを仮想空間2に配置するためのデータを生成する。また、手オブジェクト制御モジュール233は、ユーザ190によるコントローラ160の操作に応じて、手オブジェクトを動かすためのデータを生成する。手オブジェクト制御モジュール233によって生成されたデータは、視界画像生成モジュール223に出力される。 The hand object control module 233 arranges the hand object in the virtual space 2. The hand object corresponds, for example, to the right or left hand of the user 190 holding the controller 160. In a certain aspect, the hand object control module 233 generates data for arranging the hand object corresponding to the right hand or the left hand in the virtual space 2. Further, the hand object control module 233 generates data for moving the hand object in response to the operation of the controller 160 by the user 190. The data generated by the hand object control module 233 is output to the field of view image generation module 223.

他の局面において、ユーザ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 controller 160, the virtual space control module 230 will be the user 190. Generate data for arranging a partial object corresponding to a part of the body in the virtual space 2. When the user 190 operates the controller 160 using a part of the body, the virtual space control module 230 generates data for moving the partial object. These data are output to the field of view image generation module 223.

プロセッサ10は、ネットワーク19を介して他のユーザのコンピュータ200から音声データを受信すると、当該音声データに対応する音声(発話)をスピーカ115から出力する。 When the processor 10 receives voice data from another user's computer 200 via the network 19, the processor 10 outputs voice (utterance) corresponding to the voice data from the speaker 115.

動作検出モジュール271は、コンピュータ200に入力される信号に基づいて、ユーザ190の動作を検出する。ユーザ190の動作は、例えば、ユーザ190が表情を変更することを含む。動作検出モジュール271は、第1カメラ116から出力される信号および第2カメラ117から出力される信号を用いて、ユーザ190の表情を検出する。動作検出モジュール271は、さらに、これらの信号に加えて、注視センサ140からの出力を用いて、ユーザ190の表情を検出し得る。視線も考慮されることにより、表情が検出される精度が向上し得る。 The motion detection module 271 detects the motion of the user 190 based on the signal input to the computer 200. The operation of the user 190 includes, for example, changing the facial expression of the user 190. The motion detection module 271 detects the facial expression of the user 190 by using the signal output from the first camera 116 and the signal output from the second camera 117. The motion detection module 271 can further detect the facial expression of the user 190 by using the output from the gaze sensor 140 in addition to these signals. By considering the line of sight, the accuracy of detecting facial expressions can be improved.

行動制御モジュール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 behavior control module 272 controls the behavior of the NPC (Non-Players Character) object based on the detection of the facial expression of the user 190. In another aspect, the behavior control module 272 determines the emotion of the user 190 based on the detection result of the facial expression, and controls the behavior of the NPC object according to the determined emotion of the user 190. In another aspect, the action control module 272 selects an action template corresponding to the detected facial expression from a plurality of action templates prepared in advance as the action of the NPC object, and reflects the selected action template in the NPC object. Thereby, an NPC object that performs an action according to the detection result of the facial expression of the user 190 is presented. In another aspect, the action control module 272 corresponds to the detection result of the facial expression of the user 190 from a plurality of action templates prepared in advance for the detection result of the facial expression of the user 190 in response to the first action of the NPC object. By selecting the action template to be performed as the second action and reflecting the second action on the NPC object following the first action, an NPC object that performs the action according to the detection result of the facial expression of the user 190 is presented. ..

メモリモジュール240は、コンピュータ200が仮想空間2をユーザ190に提供するために使用されるデータを保持している。ある局面において、メモリモジュール240は、空間情報241と、オブジェクト情報242と、ユーザ情報243と、顔情報244とを保持している。 The memory module 240 holds data used by the computer 200 to provide the virtual space 2 to the user 190. In a certain aspect, the memory module 240 holds spatial information 241 and object information 242, user information 243, and face information 244.

空間情報241は、仮想空間2を提供するために規定された1つ以上のテンプレートを保持している。 Spatial information 241 holds one or more templates defined to provide virtual space 2.

オブジェクト情報242は、仮想空間2において再生されるコンテンツ、当該コンテンツで使用されるオブジェクトを配置するための情報を保持している。当該コンテンツは、たとえば、ゲーム、現実社会と同様の風景を表したコンテンツなどを含み得る。さらに、オブジェクト情報242は、コントローラ160を操作するユーザ190の手に相当する手オブジェクトを仮想空間2に配置するためのデータと、各ユーザのアバターオブジェクトを仮想空間2に配置するためのデータと、仮想パネルなどのその他のオブジェクトを仮想空間2に配置するためのデータとを含む。 The object information 242 holds the content to be reproduced in the virtual space 2 and the information for arranging the object used in the content. The content may include, for example, a game, content representing a landscape similar to the real world, and the like. Further, the object information 242 includes data for arranging a hand object corresponding to the hand of the user 190 who operates the controller 160 in the virtual space 2, and data for arranging the avatar object of each user in the virtual space 2. Includes data for arranging other objects such as virtual panels in virtual space 2.

ユーザ情報243は、HMDシステム100の制御装置としてコンピュータ200を機能させるためのプログラム、オブジェクト情報242に保持される各コンテンツを使用するアプリケーションプログラムなどを保持している。メモリモジュール240に格納されているデータおよびプログラムは、HMD110のユーザ190によって入力される。あるいは、プロセッサ10が、当該コンテンツを提供する事業者が運営するコンピュータ(たとえば、サーバ150)からプログラムあるいはデータをダウンロードして、ダウンロードされたプログラムあるいはデータをメモリモジュール240に格納する。 The user information 243 holds a program for operating the computer 200 as a control device of the HMD system 100, an application program using each content held in the object information 242, and the like. The data and programs stored in the memory module 240 are input by the user 190 of the HMD 110. Alternatively, the processor 10 downloads a program or data from a computer (for example, a server 150) operated by a business operator that provides the content, and stores the downloaded program or data in the memory module 240.

顔情報244は、顔器官検出モジュール261がユーザ190の顔器官を検出するために予め記憶されたテンプレートを含む。ある実施形態において、顔情報244は、口テンプレート245と、目テンプレート246と、眉テンプレート247とを含む。各テンプレートは、顔を構成する器官に対応する画像であり得る。例えば、口テンプレート245は、口の画像であり得る。なお、各テンプレートは複数の画像を含んでもよい。顔情報244は、基準データ248をさらに含む。基準データ248は、ユーザ190が無表情である状態において、トラッキングモジュール262によって検出されるデータである。 The face information 244 includes a template stored in advance for the face organ detection module 261 to detect the face organ of the user 190. In certain embodiments, the face information 244 includes a mouth template 245, an eye template 246, and an eyebrow template 247. Each template can be an image corresponding to the organs that make up the face. For example, the mouth template 245 can be an image of the mouth. In addition, each template may include a plurality of images. The face information 244 further includes reference data 248. The reference data 248 is data detected by the tracking module 262 while the user 190 is expressionless.

通信制御モジュール250は、ネットワーク19を介して、サーバ150その他の情報通信装置と通信し得る。 The communication control module 250 may communicate with the server 150 and other information communication devices via the network 19.

[HMDシステムの制御構造]
図10を参照して、HMDシステム100の制御構造について説明する。図10は、ある実施の形態に従うHMDシステム100において実行される処理の一部を表すシーケンスチャートである。
[Control structure of HMD system]
The control structure of the HMD system 100 will be described with reference to FIG. FIG. 10 is a sequence chart showing a part of the processing performed in the HMD system 100 according to an embodiment.

図10に示されるように、ステップS1010にて、コンピュータ200のプロセッサ10は、仮想空間定義モジュール231として、仮想空間画像データを特定し、仮想空間2を定義する。 As shown in FIG. 10, in step S1010, the processor 10 of the computer 200 specifies the virtual space image data as the virtual space definition module 231 and defines the virtual space 2.

ステップS1020にて、プロセッサ10は、仮想カメラ1を初期化する。たとえば、プロセッサ10は、メモリのワーク領域において、仮想カメラ1を仮想空間2において予め規定された中心点に配置し、仮想カメラ1の視線をユーザ190が向いている方向に向ける。 In step S1020, the processor 10 initializes the virtual camera 1. For example, the processor 10 arranges the virtual camera 1 at a predetermined center point in the virtual space 2 in the work area of the memory, and directs the line of sight of the virtual camera 1 in the direction in which the user 190 is facing.

ステップS1030にて、プロセッサ10は、視界画像生成モジュール223として、初期の視界画像を表示するための視界画像データを生成する。生成された視界画像データは、通信制御モジュール250によってHMD110に出力される。 In step S1030, the processor 10 generates the field of view image data for displaying the initial field of view image as the field of view image generation module 223. The generated view image data is output to the HMD 110 by the communication control module 250.

ステップS1032にて、HMD110のモニタ112は、コンピュータ200から受信した視界画像データに基づいて、視界画像を表示する。HMD110を装着したユーザ190は、視界画像を視認すると仮想空間2を認識し得る。 In step S1032, the monitor 112 of the HMD 110 displays the view image based on the view image data received from the computer 200. The user 190 wearing the HMD 110 can recognize the virtual space 2 when he / she visually recognizes the visual field image.

ステップS1034にて、HMDセンサ120は、HMD110から発信される複数の赤外線光に基づいて、HMD110の位置と傾きを検知する。検知結果は、動き検知データとして、コンピュータ200に出力される。 In step S1034, the HMD sensor 120 detects the position and tilt of the HMD 110 based on the plurality of infrared rays emitted from the HMD 110. The detection result is output to the computer 200 as motion detection data.

ステップS1040にて、プロセッサ10は、HMD110の動き検知データに含まれる位置と傾きとに基づいて、HMD110を装着したユーザ190の視界方向を特定する。 In step S1040, the processor 10 identifies the viewing direction of the user 190 wearing the HMD 110 based on the position and inclination included in the motion detection data of the HMD 110.

ステップS1050にて、プロセッサ10は、アプリケーションプログラムを実行し、アプリケーションプログラムに含まれる命令に基づいて、仮想空間2にオブジェクトを提示する。このとき提示されるオブジェクトは、他アバターオブジェクトを含む。 In step S1050, the processor 10 executes the application program and presents an object to the virtual space 2 based on the instruction included in the application program. The object presented at this time includes other avatar objects.

ステップS1060にて、コントローラ160は、モーションセンサ130から出力される信号に基づいて、ユーザ190の操作を検出し、その検出された操作を表す検出データをコンピュータ200に出力する。なお、他の局面において、ユーザ190によるコントローラ160の操作は、ユーザ190の周囲に配置されたカメラからの画像に基づいて検出されてもよい。 In step S1060, the controller 160 detects the operation of the user 190 based on the signal output from the motion sensor 130, and outputs the detection data representing the detected operation to the computer 200. In another aspect, the operation of the controller 160 by the user 190 may be detected based on the image from the camera arranged around the user 190.

ステップS1065にて、プロセッサ10は、コントローラ160から取得した検出データに基づいて、ユーザ190によるコントローラ160の操作を検出する。 In step S1065, the processor 10 detects the operation of the controller 160 by the user 190 based on the detection data acquired from the controller 160.

ステップS1070にて、プロセッサ10は、手オブジェクトを仮想空間2に提示するための視界画像データを生成する。 In step S1070, the processor 10 generates visual field image data for presenting the hand object to the virtual space 2.

ステップS1080にて、プロセッサ10は、ユーザ190によるコントローラ160の操作に基づく視界画像データを生成する。生成された視界画像データは、通信制御モジュール250によってHMD110に出力される。 In step S1080, the processor 10 generates view image data based on the operation of the controller 160 by the user 190. The generated view image data is output to the HMD 110 by the communication control module 250.

ステップS1092にて、HMD110は、受信した視界画像データに基づいて視界画像を更新し、更新後の視界画像をモニタ112に表示する。 In step S1092, the HMD 110 updates the view image based on the received view image data, and displays the updated view image on the monitor 112.

[フェイストラッキング]
以下、図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 user 190 will be described as an example. The detection method described with reference to FIGS. 11 to 13 is not limited to the movement of the mouth of the user 190, but is the detection of the movement of other organs (for example, eyes, eyebrows, nose, cheeks) constituting the face of the user 190. Can also be applied to.

図11は、ユーザの顔画像50から口を検出する制御について説明する図である。第1カメラ116により生成された顔画像50は、ユーザ190の鼻と口とを含む。 FIG. 11 is a diagram illustrating control for detecting a mouth from a user's face image 50. The face image 50 generated by the first camera 116 includes the nose and mouth of the user 190.

顔器官検出モジュール261は、顔情報244に格納される口テンプレート245を利用したパターンマッチングにより、顔画像50から口領域51を特定する。ある局面において、顔器官検出モジュール261は、顔画像50において、矩形上の比較領域を設定し、この比較領域の大きさ、位置および角度をそれぞれ変えながら、比較領域の画像と、口テンプレート245の画像との類似度を算出する。顔器官検出モジュール261は、予め定められたしきい値よりも大きい類似度が算出された比較領域を、口領域51として特定する。 The face organ detection module 261 identifies the mouth region 51 from the face image 50 by pattern matching using the mouth template 245 stored in the face information 244. In a certain aspect, the facial organ detection module 261 sets a comparison area on a rectangle in the face image 50, and while changing the size, position, and angle of the comparison area, the image of the comparison area and the mouth template 245 Calculate the similarity with the image. The facial organ detection module 261 identifies a comparison region in which a similarity larger than a predetermined threshold value is calculated as a mouth region 51.

顔器官検出モジュール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 tracking module 262 detects a more detailed mouth shape from the mouth region 51 detected by the facial organ detection module 261.

図12は、トラッキングモジュール262が口の形状を検出する処理を説明する図(その1)である。図12を参照して、トラッキングモジュール262は、口領域51に含まれる口の形状(唇の輪郭)を検出するための複数の輪郭検出線52を設定する。複数の輪郭検出線52は、顔の高さ方向に直交する方向に、予め定められた間隔で設定される。 FIG. 12 is a diagram (No. 1) illustrating a process by which the tracking module 262 detects the shape of the mouth. With reference to FIG. 12, the tracking module 262 sets a plurality of contour detection lines 52 for detecting the shape of the mouth (the contour of the lips) included in the mouth region 51. The plurality of contour detection lines 52 are set at predetermined intervals in a direction orthogonal to the height direction of the face.

トラッキングモジュール262は、複数の輪郭検出線52の各々に沿った口領域51の輝度値の変化を検出し、輝度値の変化が急激な位置を輪郭点として特定し得る。より具体的には、トラッキングモジュール262は、隣接画素との輝度差(すなわち、輝度値変化)が予め定められた閾値以上である画素を、輪郭点として特定する。画素の輝度値は、例えば、画素のRBG値を予め規定された重み付けで積算することにより得られる。 The tracking module 262 can detect a change in the luminance value of the mouth region 51 along each of the plurality of contour detection lines 52, and can specify a position where the change in the luminance value is abrupt as a contour point. More specifically, the tracking module 262 specifies as a contour point a pixel whose luminance difference (that is, change in luminance value) from adjacent pixels is equal to or greater than a predetermined threshold value. The luminance value of the pixel is obtained, for example, by integrating the RBG value of the pixel with a predetermined weighting.

トラッキングモジュール262は、口領域51に対応する画像から2種類の輪郭点を特定する。トラッキングモジュール262は、口(唇)の外側の輪郭に対応する輪郭点53と、口(唇)の内側の輪郭に対応する輪郭点54とを特定する。ある局面において、トラッキングモジュール262は、1つの輪郭検出線52上に3つ以上の輪郭点が検出された場合には、両端の輪郭点を外側の輪郭点53として特定し得る。この場合、トラッキングモジュール262は、外側の輪郭点53以外の輪郭点を、内側の輪郭点54として特定し得る。また、トラッキングモジュール262は、1つの輪郭検出線52上に2つ以下の輪郭点が検出された場合には、検出された輪郭点を外側の輪郭点53として特定し得る。 The tracking module 262 identifies two types of contour points from the image corresponding to the mouth region 51. The tracking module 262 identifies a contour point 53 corresponding to the outer contour of the mouth (lips) and a contour point 54 corresponding to the inner contour of the mouth (lips). In a certain aspect, when three or more contour points are detected on one contour detection line 52, the tracking module 262 may specify the contour points at both ends as the outer contour points 53. In this case, the tracking module 262 may specify contour points other than the outer contour point 53 as the inner contour point 54. Further, when two or less contour points are detected on one contour detection line 52, the tracking module 262 can specify the detected contour points as the outer contour points 53.

図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 tracking module 262. In FIG. 13, the outer contour point 53 is shown as a white circle, and the inner contour point 54 is shown as a hatched circle.

トラッキングモジュール262は、内側の複数の輪郭点54間を補完することにより、口形状55を特定する。この場合、輪郭点54は、口の特徴点といえる。ある局面において、トラッキングモジュール262は、スプライン補完などの非線形の補完方法を用いて、口形状55を特定する。なお、他の局面において、トラッキングモジュール262は、外側の複数の輪郭点53間を補完することにより口形状55を特定してもよい。さらに他の局面において、トラッキングモジュール262は、想定される口形状(人の上唇と下唇とによって形成され得る所定の形状)から、大きく逸脱する輪郭点を除外し、残った輪郭点によって口形状55を特定してもよい。このようにして、トラッキングモジュール262は、ユーザの口の動作(形状)を特定する。なお、口形状55の検出方法は上記に限られず、トラッキングモジュール262は、他の手法により口形状55を検出してもよい。また、トラッキングモジュール262は、同様にして、ユーザの目および眉の動作を検出し得る。なお、トラッキングモジュール262は、頬、鼻などの器官の形状を検出可能に構成されてもよい。 The tracking module 262 identifies the mouth shape 55 by complementing between the plurality of inner contour points 54. In this case, the contour point 54 can be said to be a characteristic point of the mouth. In one aspect, the tracking module 262 identifies the mouth shape 55 using a non-linear complementation method such as spline complementation. In another aspect, the tracking module 262 may specify the mouth shape 55 by complementing between the plurality of outer contour points 53. In yet another aspect, the tracking module 262 excludes contour points that deviate significantly from the assumed mouth shape (a predetermined shape that can be formed by the upper and lower lips of a person), and the remaining contour points make the mouth shape. 55 may be specified. In this way, the tracking module 262 identifies the movement (shape) of the user's mouth. The method for detecting the mouth shape 55 is not limited to the above, and the tracking module 262 may detect the mouth shape 55 by another method. The tracking module 262 may also detect user eye and eyebrow movements in the same manner. The tracking module 262 may be configured to be able to detect the shape of an organ such as a cheek or a nose.

図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 storage 12 for face tracking. The face tracking data represents the position coordinates in the uvw visual field coordinate system of a plurality of feature points constituting the shape of each organ. For example, the points m1, m2, ... Shown in FIG. 14 correspond to the inner contour points 54 constituting the mouth shape 55. In a certain aspect, the face tracking data is a coordinate value in the uvw visual field coordinate system with respect to the position of the first camera 116 as a reference (origin). In another aspect, the face tracking data is a coordinate value in a coordinate system with a predetermined feature point as a reference (origin) for each organ. As an example, the points m1, m2, ... Are the coordinate values in the coordinate system with the feature point of one of the inner contour points 54 corresponding to the corner of the mouth as the origin.

コンピュータ200は、生成されたフェイストラッキングデータをサーバ150に送信する。サーバ150は、コンピュータ200と通信する他のコンピュータ200にこのデータを転送する。他のコンピュータ200は、受信したフェイストラッキングデータを、当該フェイストラッキングデータをもたらしたコンピュータ200のユーザ190に対応するアバターオブジェクトに反映する。ユーザ190と通信する他のユーザは、表情が反映されたアバターオブジェクトを視認することができる。 The computer 200 transmits the generated face tracking data to the server 150. The server 150 transfers this data to another computer 200 that communicates with the computer 200. The other computer 200 reflects the received face tracking data in the avatar object corresponding to the user 190 of the computer 200 who brought the face tracking data. Other users communicating with the user 190 can see the avatar object reflecting the facial expression.

図15および図16を参照して、ユーザ190の感情の変化について説明する。図15は、ユーザ190が無表情時に取得される顔の特徴点を表す。図16は、ユーザ190が驚いたときに取得される顔の特徴点を表す。図15および図16に示される特徴点Pは、トラッキングモジュール262によって取得されるユーザ190の顔の特徴点を表す。 The emotional changes of the user 190 will be described with reference to FIGS. 15 and 16. FIG. 15 shows facial feature points acquired when the user 190 is expressionless. FIG. 16 represents facial feature points acquired when the user 190 is surprised. The feature points P shown in FIGS. 15 and 16 represent the facial feature points of the user 190 acquired by the tracking module 262.

ある局面において、プロセッサ10は、第1カメラ116および第2カメラ117によってユーザ190の顔を撮影する。プロセッサ10は、取得した画像に基づいてフェイストラッキングデータを生成する。このとき生成されたフェイストラッキングは基準データ248として機能する。プロセッサ10は、生成した基準データ248をメモリモジュール240に保存する。 In one aspect, the processor 10 captures the face of the user 190 with the first camera 116 and the second camera 117. The processor 10 generates face tracking data based on the acquired image. The face tracking generated at this time functions as reference data 248. The processor 10 stores the generated reference data 248 in the memory module 240.

図15に示される特徴点Pは、基準データ248に対応する。一方、図16に示される特徴点Pは、ユーザ190が仮想空間2に没入している間に随時取得されるフェイストラッキングデータに対応する。 The feature point P shown in FIG. 15 corresponds to the reference data 248. On the other hand, the feature point P shown in FIG. 16 corresponds to the face tracking data acquired at any time while the user 190 is immersed in the virtual space 2.

図16に示される例において、ユーザ190は驚いているため、図15と比較して目の特徴点Pが顔の高さ方向に広がり、眉の特徴点Pが上方向に移動している。このように、基準データに対するフェイストラッキングデータの変動量は、仮想空間2に展開されるコンテンツに対するユーザ190の関心の度合いを表す。 In the example shown in FIG. 16, since the user 190 is surprised, the feature points P of the eyes spread in the height direction of the face and the feature points P of the eyebrows move upward as compared with FIG. As described above, the fluctuation amount of the face tracking data with respect to the reference data represents the degree of interest of the user 190 in the content developed in the virtual space 2.

ある局面において、プロセッサ10は、各々の特徴点ごとに基準データに対するフェイストラッキングデータの変動量を算出し、その総和に基づいて上記の判断を行なう。他の局面において、プロセッサ10は、感情による変化の度合いが大きい予め定められた特徴点(例えば、口角に対応する特徴点)についてのみ変動量を算出し、その総和に基づいて上記判断を行なう。 In a certain aspect, the processor 10 calculates the amount of fluctuation of the face tracking data with respect to the reference data for each feature point, and makes the above determination based on the sum. In another aspect, the processor 10 calculates the amount of fluctuation only for predetermined feature points (for example, feature points corresponding to the corners of the mouth) having a large degree of change due to emotions, and makes the above determination based on the sum.

[技術思想]
まず、本実施の形態に係る技術思想について説明する。当該技術思想は、要約すると、仮想空間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 virtual space 2 according to the result of tracking the facial expression of the user 190 wearing the HMD 110 in order to enhance the communication between the avatar objects in the virtual space 2. It controls the avatar object. The avatar object may be either an avatar object that does not correspond to the user 190 or an avatar object that corresponds to the user 190.

例えば、ある局面において、仮想空間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 virtual space 2 is presented in the virtual space 2, the operation of the NPC object is performed by the user 190. Control according to the result of tracking the facial expression. The technique for tracking facial expressions is, for example, the face tracking described above, but other tracking techniques may be used. The operation of the NPC object is controlled based on the emotion of the user 190 determined as a result of the tracking. In order to realize such control, for example, a plurality of facial expression templates that define the facial expressions of the NPC object for emotions such as emotions of the user 190 are prepared in advance. The facial expression of the user 190 wearing the HMD 110 is detected by a camera or sensor provided on the HMD 110, and a facial expression template is selected according to the detection result and reflected in the facial expression of the NPC object. As an example, when the user 190 is laughing, the NPC object appearing as a gaya (lively) in the content also behaves as if it is laughing. With such a configuration, the facial expression of the NPC object reacts in real time according to the change in the facial expression of the user 190, so that the user 190 wearing the HMD 110 can feel more immersive in the virtual space 2.

別の局面において、ユーザ190の表情の変化を一定の範囲でNPCオブジェクトに反映され得る。ユーザ190の表情の変化が常にNPCオブジェクトに反映されると、NPCオブジェクトを視認しているユーザ190その他のユーザは、あまりのリアルさに違和感を覚える場合もあり得る。そこで、ユーザ190の表情の変化の程度が予め定められた閾値を超えた場合には、予め用意された表情テンプレートがNPCオブジェクトの表情として割り当てられる。すなわち、ユーザ190の表情とNPCオブジェクトの表情とがリニアな関係にはならず、ユーザ190の表情の変化が一定の範囲の場合には、NPCオブジェクトの表情は一定の表情となる。これにより、例えば、ユーザ190の僅かな表情変化が全てアバターオブジェクトに反映されなくなるので、当該アバターオブジェクトを視認するユーザは違和感を覚えにくくなる。 In another aspect, changes in the facial expression of the user 190 may be reflected in the NPC object to a certain extent. When the change in the facial expression of the user 190 is always reflected in the NPC object, the user 190 and other users who are visually recognizing the NPC object may feel uncomfortable with the realism. Therefore, when the degree of change in the facial expression of the user 190 exceeds a predetermined threshold value, a facial expression template prepared in advance is assigned as the facial expression of the NPC object. That is, the facial expression of the user 190 and the facial expression of the NPC object do not have a linear relationship, and when the change in the facial expression of the user 190 is within a certain range, the facial expression of the NPC object becomes a constant facial expression. As a result, for example, all the slight changes in facial expressions of the user 190 are not reflected in the avatar object, so that the user who visually recognizes the avatar object is less likely to feel a sense of discomfort.

さらに別の局面において、ユーザ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 user 190 is not intentionally reflected in the avatar object of the user 190 presented in the virtual space 2. In the virtual space 2, an avatar object of another user may suddenly enter the field of view from outside the field of view of the user 190. Therefore, in a certain aspect, the facial expression selected in advance by the user 190 as the facial expression of the avatar object is reflected in the own avatar object, and the change in the facial expression of the user 190 is not intentionally reflected in real time. As a result, it is possible to prevent the user 190 from showing an unintended facial expression to another user who is communicating via the virtual space 2. The facial expression preselected by the user 190 may be based on either a paid or free facial expression template created in advance by the content provider. Whether or not the facial expression of the user 190 is reflected in the avatar object of the user in real time, or whether the facial expression based on the facial expression template selected in advance by the user 190 is reflected in the avatar object of the user is determined by the user. 190 can be preselected. In another aspect, the server 150 or other processor that provides the content may be preset according to the content. For example, when a new user's avatar object enters the field of view of the user 190, at least the facial expression of the user 190 or the facial expression of a smile may be reflected in the avatar object of the user 190.

(1)ある局面に従うと、コンピュータ(例えば、サーバ150)のプロセッサ151が、仮想現実空間として例えば仮想空間2を定義し、仮想空間2にノンプレイヤーキャラクター(NPC)オブジェクトを提示し、HMD110のユーザ190による動作(例えば、表情の変化、発話、四肢の動作等)を検出し、動作を検出したことに応答して、NPCオブジェクトの行動(例えば、表情の変化、発話、四肢の動作等)を制御する。 (1) According to a certain aspect, a processor 151 of a computer (for example, a server 150) defines, for example, a virtual space 2 as a virtual reality space, presents a non-player character (NPC) object to the virtual space 2, and a user of the HMD 110. The movement by 190 (for example, change in facial expression, speech, movement of limbs, etc.) is detected, and in response to the detection of the movement, the action of the NPC object (for example, change in facial expression, speech, movement of limbs, etc.) is performed. Control.

(2)ある局面に従うと、プロセッサ151は、ユーザの表情を検出し、当該表情の検出結果に基づいて、NPCオブジェクトの行動を制御する。例えば、NPCオブジェクトは、ユーザ190に向かって微笑む。 (2) According to a certain aspect, the processor 151 detects the facial expression of the user and controls the behavior of the NPC object based on the detection result of the facial expression. For example, the NPC object smiles at user 190.

(3)ある局面に従うと、上記に加えて、プロセッサ151は、表情の検出結果に基づいて、ユーザ190の感情を判定し、判定したユーザの感情に応じて、NPCオブジェクトの行動を制御する。例えば、ユーザ190が笑っている場合には、プロセッサ151は、ユーザ190が喜んでいると判定し、NPCオブジェクトの表情も笑っている表情にする。 (3) According to a certain aspect, in addition to the above, the processor 151 determines the emotion of the user 190 based on the detection result of the facial expression, and controls the behavior of the NPC object according to the determined emotion of the user. For example, when the user 190 is laughing, the processor 151 determines that the user 190 is pleased, and makes the facial expression of the NPC object a laughing facial expression.

(4)ある局面に従うと、上記に加えて、プロセッサ151は、NPCオブジェクトの行動として予め準備された複数の行動テンプレートから検出された表情に対応する行動テンプレートを選択し、選択された行動テンプレートをNPCオブジェクトに反映することにより、ユーザ190の表情の検出結果に応じた行動を行うNPCオブジェクトを提示する。 (4) According to a certain aspect, in addition to the above, the processor 151 selects an action template corresponding to the facial expression detected from a plurality of action templates prepared in advance as the action of the NPC object, and selects the selected action template. By reflecting it on the NPC object, an NPC object that performs an action according to the detection result of the facial expression of the user 190 is presented.

(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 processor 151 causes the NPC object to perform the first action, and detects the facial expression of the user of the HMD 110 in response to the NPC object performing the first action. .. The processor 151 uses an action template corresponding to the detection result of the user's facial expression as the second action 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. By selecting and reflecting the second action on the NPC object following the first action, an NPC object that performs an action according to the detection result of the user's facial expression is presented.

(6)ある局面に従うと、プロセッサ151は、HMD110によって提供される仮想空間2を介して通信するためのプログラムを実行する。より詳しくは、プロセッサ151は、仮想空間2を定義し、HMD110のユーザ190の表情を検出する。プロセッサ151は、HMD110のユーザ190に対応するアバターオブジェクトとして、予め準備された一つ以上の表情を有するアバターオブジェクトを表示するためのデータにアクセスし、検出されるユーザの表情の変化に応じて、当該データに基づく表情を有するアバターオブジェクトを仮想空間2に提示する。 (6) According to a certain aspect, the processor 151 executes a program for communication via the virtual space 2 provided by the HMD 110. More specifically, the processor 151 defines the virtual space 2 and detects the facial expression of the user 190 of the HMD 110. The processor 151 accesses data for displaying an avatar object having one or more facial expressions prepared in advance as an avatar object corresponding to the user 190 of the HMD 110, and responds to a change in the detected user's facial expression. An avatar object having an expression based on the data is presented in the virtual space 2.

(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 user 190 is within a predetermined range, the data so that the facial expression of the avatar object becomes a constant facial expression. Is stipulated. According to this configuration, when there is a range of changes in the facial expression of the user 190, the facial expression of the avatar object becomes a constant facial expression, so that it is possible to prevent all the facial expressions of the user 190 from being reflected in the avatar object. can.

(8)ある局面に従うと、上記に加えて、プロセッサ151は、検出された表情をユーザ190に対応するアバターオブジェクトの表情に反映させることなく、予め準備された表情が反映されたアバターオブジェクトを提示する。 (8) According to a certain aspect, in addition to the above, the processor 151 presents an avatar object reflecting a prepared facial expression without reflecting the detected facial expression on the facial expression of the avatar object corresponding to the user 190. do.

(9)ある局面に従うと、上記に加えて、プロセッサ151は、予め準備された表情が反映されたアバターオブジェクトの購入を受け付けるインターフェイスオブジェクトを仮想空間2に提示する。係る構成によれば、ユーザ190は、必要と判断したタイミングで当該アバターオブジェクトを購入できるので、当該アバターオブジェクトを直ぐに利用できるようになり、シームレスなコミュニケーションが可能になり、また、コンテンツを継続して楽しむことができる。 (9) According to a certain aspect, in addition to the above, the processor 151 presents an interface object in the virtual space 2 that accepts the purchase of the avatar object reflecting the prepared facial expression. According to this configuration, the user 190 can purchase the avatar object at the timing when he / she deems it necessary, so that the avatar object can be used immediately, seamless communication becomes possible, and the content can be continued. You can enjoy it.

(10)ある局面に従うと、上記に加えて、プロセッサ151は、ユーザ190の表情の検出結果をアバターオブジェクトに反映するか否かの指定をユーザ190から受け付ける。プロセッサ151は、ユーザの表情をアバターオブジェクトに反映するか否かを規定する設定に従って、当該アバターオブジェクトを提示する。例えば、当該アバターオブジェクトを使用するアプリケーションの実行前に、上記指定がユーザ190によって入力されると、その指定が有効である場合には、ユーザ190の表情がリアルタイムにアバターオブジェクトに反映される。その指定が有効でない場合には、ユーザ190の表情はリアルタイムに反映されず、例えば、予め準備された表情がアバターオブジェクトに反映される。これにより、ユーザ190のニーズに応じてアバターオブジェクトの表示を切り替えることができる。 (10) According to a certain aspect, in addition to the above, the processor 151 receives from the user 190 whether or not to reflect the detection result of the facial expression of the user 190 in the avatar object. The processor 151 presents the avatar object according to the setting that defines whether or not the facial expression of the user is reflected in the avatar object. For example, if the above specification is input by the user 190 before the application that uses the avatar object is executed, the facial expression of the user 190 is reflected in the avatar object in real time if the specification is valid. If the specification is not valid, the facial expression of the user 190 is not reflected in real time, for example, the facial expression prepared in advance is reflected in the avatar object. As a result, the display of the avatar object can be switched according to the needs of the user 190.

(11)ある局面に従うと、上記に加えて、プロセッサ151は、仮想空間2を共有する他のユーザの視界に対応する領域内にHMD110のユーザ190のアバターオブジェクトが入ったことに基づいて、ユーザ190のアバターオブジェクトの表情を予め準備された表情に変更して、変更後の表情が反映されたアバターオブジェクトを仮想空間2に提示する。これにより、仮想空間2を移動して偶然に他ユーザの視界に入った場合には、ユーザ190が意図しない表情を見られないようにできるので、ユーザ190は安心して仮想空間2に没入できる。 (11) According to a certain aspect, in addition to the above, the processor 151 is based on the fact that the avatar object of the user 190 of the HMD 110 is within the area corresponding to the view of another user sharing the virtual space 2. The facial expressions of the 190 avatar objects are changed to the prepared facial expressions, and the avatar objects reflecting the changed facial expressions are presented in the virtual space 2. As a result, when the user 190 moves in the virtual space 2 and accidentally enters the field of view of another user, the user 190 can be prevented from seeing an unintended facial expression, so that the user 190 can immerse himself in the virtual space 2 with peace of mind.

[ネットワーク上でのユーザ間の交流]
図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 network 19 will be described. FIG. 17 is a diagram schematically showing a situation in which each of the plurality of HMDs connected to the network 19 provides a virtual space to each of the plurality of users.

図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 computers 200A to 200F functions as a content providing device for the HMD 110. The computers 200A to 200F can communicate with the server 150 via the network 19. Each of the computers 200A to 200F causes each of the HMDs 110A to 110F to display each of the virtual space images 22A to 22F. The virtual space images 22A to 22F are images representing the same content, including, for example, the avatar objects 1701,1702,1703,1704. The avatar objects 1701 and 1704 correspond to the users of HMD 110A and 110B, respectively. The objects 1702 and 1703 appear in the virtual space 2 as the content progresses as NPC objects, not as avatar objects corresponding to the user in the real space.

アバターオブジェクト1701は、HMD110Aのユーザに対応する。HMD110Aのユーザに提供される仮想空間画像22Aは、アバターオブジェクト1701の目の位置に対応する視界画像を表わす。HMD110Aのユーザの位置および傾きに従って、コンピュータ200Aは、仮想空間画像22Aによって表される視界画像を更新する。 The avatar object 1701 corresponds to the user of the HMD 110A. The virtual space image 22A provided to the user of the HMD 110A represents a field image corresponding to the eye position of the avatar object 1701. According to the user's position and tilt of the HMD 110A, the computer 200A updates the view image represented by the virtual space image 22A.

HMD110Aは、仮想空間におけるユーザ190の位置および頭の傾きをサーバ150に通知してもよい。ユーザ190の位置は、コントローラ160の操作に応じて変更され得る。頭の傾きは、HMD110Aに内蔵されているセンサ114その他のセンサによって検出される。サーバ150は、HMD110Aのユーザの位置および傾きを、ネットワーク19に接続されている他のHMD110(例えば、HMD110B~110F)に通知できる。HMD110B~110Fは、当該通知に応じて、HMD110Aに対応するアバターオブジェクト1701の表示態様(たとえば、仮想空間における位置および姿勢)を変更し得る。 The HMD 110A may notify the server 150 of the position and head tilt of the user 190 in the virtual space. The position of the user 190 may be changed according to the operation of the controller 160. The tilt of the head is detected by the sensor 114 and other sensors built in the HMD 110A. The server 150 can notify the position and inclination of the user of the HMD 110A to other HMD 110s (for example, HMD 110B to 110F) connected to the network 19. The HMD 110B to 110F may change the display mode (for example, the position and the posture in the virtual space) of the avatar object 1701 corresponding to the HMD 110A in response to the notification.

アバターオブジェクト1704は、HMD110Bのユーザを表わす。HMD110Bのユーザに提供される仮想空間画像22Bは、アバターオブジェクト1704の目の位置に対応する視界画像を表わす。 The avatar object 1704 represents a user of the HMD 110B. The virtual space image 22B provided to the user of the HMD 110B represents a field image corresponding to the eye position of the avatar object 1704.

サーバ150から送信されるデータに基づいて、HMD110A,110B等は、仮想空間2にコンテンツを提示する。現実空間において、二人のユーザがHMD110A、110Bをそれぞれ装着している場合には、各ユーザは、仮想空間2において互いのアバターオブジェクトを視認しつつ、NPCオブジェクトも視認し得る。 Based on the data transmitted from the server 150, the HMD 110A, 110B, etc. present the content in the virtual space 2. In the real space, when two users are wearing the HMD 110A and 110B, respectively, each user can visually recognize each other's avatar objects in the virtual space 2 while also visually recognizing the NPC object.

なお、本実施の形態に係る技術思想が適用される局面は、図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 virtual space 2, as shown in FIG. It can also be applied to a situation in which one user wearing the HMD 110 views content in which an NPC object appears.

図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 server 150, the computer 200 and other information processing devices. Hereinafter, a case where the server 150 executes the process will be described.

ステップS1810にて、プロセッサ151は、仮想空間2を定義する。ステップS1820にて、プロセッサ151は、仮想空間2にコンテンツを投影する。当該コンテンツは、例えば、映画、ドラマその他の動画コンテンツである。少なくとも、一人以上のNPCオブジェクトが当該コンテンツに含まれていればよい。NPCオブジェクトは、例えば、動画コンテンツに予め組み込まれているオブジェクトでる。ステップS1830にて、プロセッサ151は、仮想空間2にNPCオブジェクトを提示する。 In step S1810, the processor 151 defines the virtual space 2. In step S1820, the processor 151 projects the content into the virtual space 2. The content is, for example, movie, drama or other video content. At least one or more NPC objects may be included in the content. The NPC object is, for example, an object that is preliminarily incorporated in the video content. In step S1830, processor 151 presents an NPC object to virtual space 2.

ステップS1840にて、プロセッサ151は、仮想カメラ1の姿勢に基づき、視界画像を生成する。視界画像のデータがHMD110に送られると、ユーザ190は、モニタ112を介して視界画像を視認することができる。 In step S1840, the processor 151 generates a field of view image based on the posture of the virtual camera 1. When the view image data is sent to the HMD 110, the user 190 can visually recognize the view image via the monitor 112.

ステップS1850にて、プロセッサ151は、コンピュータ200から送られた信号に基づいて、HMD110のユーザ190による動作を検出する。当該動作は、ユーザ190の表情の変化、コントローラ160の操作等を含む。表情の変化は、HMD110に取り付けられている第1カメラ116および第2カメラ117から出力される各信号に基づいて、上記のフェイストラッキング手法等を用いて行なわれる。ユーザ190の手に装着されたコントローラ160は、その手の動きに応じた信号をコンピュータ200に送信し、コンピュータ200は受信した当該信号をサーバ150に送信する。 In step S1850, the processor 151 detects the operation by the user 190 of the HMD 110 based on the signal sent from the computer 200. The operation includes a change in the facial expression of the user 190, an operation of the controller 160, and the like. The change in facial expression is performed by using the above-mentioned face tracking method or the like based on each signal output from the first camera 116 and the second camera 117 attached to the HMD 110. The controller 160 mounted on the hand of the user 190 transmits a signal corresponding to the movement of the hand to the computer 200, and the computer 200 transmits the received signal to the server 150.

ステップS1860にて、プロセッサ151は、検出された動作に応答して、NPCオブジェクトの行動を制御する。例えば、ユーザ190がNPCオブジェクトに対して微笑んだ場合、プロセッサ151は、フェイストラッキング処理を実行してユーザ190の当該微笑みを検出し、NPCオブジェクトの顔がユーザ190に向けられてNPCオブジェクトが微笑んだデータを生成する。 In step S1860, the processor 151 controls the behavior of the NPC object in response to the detected behavior. For example, when the user 190 smiles at the NPC object, the processor 151 executes a face tracking process to detect the smile of the user 190, the face of the NPC object is turned toward the user 190, and the NPC object smiles. Generate data.

ステップS1870にて、プロセッサ151は、行動が制御されたNPCオブジェクトを仮想空間2に提示する。例えば、プロセッサ151は、仮想カメラ1による撮影範囲の中に、ユーザ190に向かって微笑んでいるNPCオブジェクトを配置する。仮想カメラ1による視界画像データは、プロセッサ151によってHMD110に送信される。ユーザ190は、モニタ112において、NPCオブジェクトがユーザ190に向かって微笑んでいることを認識できる。 In step S1870, the processor 151 presents the behavior-controlled NPC object to the virtual space 2. For example, the processor 151 arranges an NPC object smiling toward the user 190 in the shooting range of the virtual camera 1. The field of view image data obtained by the virtual camera 1 is transmitted to the HMD 110 by the processor 151. The user 190 can recognize on the monitor 112 that the NPC object is smiling towards the user 190.

ステップS1880にて、プロセッサ151は、サーバ150に対する命令に基づいて、コンテンツの表示を終了するか否かを判断する。例えば、ユーザ190が「再生停止」と発話した場合において、プロセッサ151が音声認識処理に基づき当該発話の内容を認識すると、コンテンツの表示を途中で終了すると判断し得る。あるいは、コンテンツの再生が終了している場合、プロセッサ151はコンテンツの表示を終了すると判断する。プロセッサ151がコンテンツの表示を終了すると判断すると(ステップS1880にてYES)、処理は終了する。そうでない場合には(ステップS1880にてNO)、プロセッサ151は制御をステップS1830に戻す。 In step S1880, the processor 151 determines whether or not to end the display of the content based on the instruction to the server 150. For example, when the user 190 utters "playback stop" and the processor 151 recognizes the content of the utterance based on the voice recognition process, it can be determined that the display of the content ends in the middle. Alternatively, when the reproduction of the content is finished, the processor 151 determines that the display of the content is finished. When it is determined that the processor 151 ends the display of the content (YES in step S1880), the process ends. Otherwise (NO in step S1880), processor 151 returns control to step S1830.

[データ構造]
図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 server 150 will be described with reference to FIG. FIG. 19 is a diagram showing an aspect of data storage in the storage 154 included in the server 150. Storage 154 holds an action template. More specifically, the storage 154 includes an NPC object ID 1910, an action template ID 1920, and a facial expression ID 1930. The NPC object ID 1910 identifies the NPC object presented in the virtual space 2. The action template ID 1920 identifies the action of the NPC object. The facial expression ID 1930 identifies a pre-defined facial expression as the facial expression of the NPC object.

[ユーザの表情変化をアバターオブジェクトにリアルに反映しない場合]
図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 user 190 wearing the HMD 110 from being reflected in the avatar object as it is.

ステップS1810にて、プロセッサ151は、仮想空間2を定義する。
ステップS2010にて、プロセッサ151は、第1カメラ116および第2カメラ117からそれぞれ出力される各信号に基づいて、ユーザ190の表情を検出する。
In step S1810, the processor 151 defines the virtual space 2.
In step S2010, the processor 151 detects the facial expression of the user 190 based on each signal output from the first camera 116 and the second camera 117, respectively.

ステップS2020にて、プロセッサ151は、表情の検出結果に基づいて、アバターオブジェクトを表示するためのデータにアクセスする。例えば、プロセッサ151は、ユーザ190の表情の変化率を算出し、その変化率に関連付けられている表情区分を特定し、その表情区分に関連付けられている表情を有するアバターオブジェクトを決定する。 In step S2020, the processor 151 accesses the data for displaying the avatar object based on the facial expression detection result. For example, the processor 151 calculates the rate of change of the facial expression of the user 190, identifies the facial expression category associated with the rate of change, and determines the avatar object having the facial expression associated with the facial expression category.

ステップS2030にて、プロセッサ151は、アクセスされたデータを用いて、アバターオブジェクトを仮想空間2に提示する。 In step S2030, the processor 151 presents the avatar object to the virtual space 2 using the accessed data.

上記では、各処理がサーバ150によって実行される場合として説明されたが、当該処理は、コンピュータ200その他演算機能を備える他のコンピュータによって実行されてもよい。例えば、HMD110がプロセッサを備える場合には、そのプロセッサが当該処理を実行してもよい。 In the above, the case where each process is executed by the server 150 has been described, but the process may be executed by the computer 200 or another computer having an arithmetic function. For example, if the HMD 110 includes a processor, that processor may perform the processing.

[データ構造]
図21を参照して、サーバ150のデータ構造について説明する。図21は、ストレージ154におけるデータの格納の他の態様を表わす図である。ストレージ154は、テーブル2100を保持している。テーブル2100は、アバターオブジェクトID2110と、表情ID2120と、表情の変化率レンジ2130とを含む。アバターオブジェクトID2110は、HMD110を使用するユーザに対応するアバターオブジェクトを識別する。表情ID2120は、当該アバターオブジェクトの表情として予め規定されて割り当てられている表情を識別する。表情の変化率レンジ2130は、HMD110を装着したユーザ190の表情の変化率の範囲を特定する。
[data structure]
The data structure of the server 150 will be described with reference to FIG. FIG. 21 is a diagram showing another aspect of data storage in the storage 154. The storage 154 holds the table 2100. The table 2100 includes an avatar object ID 2110, a facial expression ID 2120, and a facial expression change rate range 2130. The avatar object ID 2110 identifies the avatar object corresponding to the user using the HMD 110. The facial expression ID 2120 identifies a facial expression that is predetermined and assigned as the facial expression of the avatar object. The facial expression change rate range 2130 specifies a range of facial expression change rates for the user 190 wearing the HMD 110.

例えば、ユーザ190の表情は、第1カメラ116および第2カメラ117から出力される各信号に基づいて、継続的に、例えば一定時間ごとに検出され、表情を表わすデータが出力される。時間的に隣接する二つのデータを用いて変化率が算出される。その変化率が表情の変化率レンジ2130のいずれかの範囲に属している場合、その変化率で特定される表情ID2120で特定される表情がアバターオブジェクトID2110で特定されるアバターオブジェクトに反映される。したがって、ユーザ190の表情の変化が常にリアルタイムで、そのアバターオブジェクトに反映されないようにすることができる。 For example, the facial expression of the user 190 is continuously detected, for example, at regular time intervals, based on the signals output from the first camera 116 and the second camera 117, and data representing the facial expression is output. The rate of change is calculated using two data that are adjacent in time. When the change rate belongs to any range of the change rate range 2130 of the facial expression, the facial expression specified by the facial expression ID 2120 specified by the change rate is reflected in the avatar object specified by the avatar object ID 2110. Therefore, it is possible to prevent the change in the facial expression of the user 190 from being reflected in the avatar object in real time at all times.

[表情を見せたくない場合における愛想笑い]
図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, processor 151 loads the application selected by user 190 into memory 152. In step S1810, the processor 151 executes the initial setting process of the application and defines the virtual space 2.

ステップS2220にて、プロセッサ151は、ユーザ190の表情をアバターオブジェクトに反映するか否かの設定の入力を受け付ける。例えば、当該設定画面がモニタ112に表示され、ユーザ190は、コントローラ160を操作することにより、あるいは、予め規定されたメニュー項目を視線で選択することにより、設定を入力できる。入力された設定内容は、メモリ152に保持される。 In step S2220, the processor 151 accepts an input for setting whether or not to reflect the facial expression of the user 190 on the avatar object. For example, the setting screen is displayed on the monitor 112, and the user 190 can input the setting by operating the controller 160 or by selecting a predetermined menu item with a line of sight. The input setting contents are held in the memory 152.

ステップS2230にて、プロセッサ151は、アプリケーションの実行を開始する。ステップS2010にて、プロセッサ151は、ユーザ190の表情を検出する。ステップS2240にて、プロセッサ151は、メモリ152に保存されている設定内容に基づいて、ユーザ190の表情をアバターオブジェクトに反映する設定が有効であるか否かを判断する。当該設定が有効である場合には(ステップS2240にてYES)、プロセッサ151は制御をステップS2250に切り替える。そうでない場合には(ステップS2240にてNO)、プロセッサ151は、制御をステップS2260に切り替える。 In step S2230, the processor 151 starts executing the application. In step S2010, the processor 151 detects the facial expression of the user 190. In step S2240, the processor 151 determines whether or not the setting for reflecting the facial expression of the user 190 on the avatar object is effective based on the setting content stored in the memory 152. If the setting is valid (YES in step S2240), the processor 151 switches control to step S2250. If not (NO in step S2240), processor 151 switches control to step S2260.

ステップS2250にて、プロセッサ151は、ユーザ190の表情の検出結果(例えば、表情の変化率)に基づいて、アバターオブジェクトを表示するためのデータ(表情ID2120)にアクセスする。 In step S2250, the processor 151 accesses the data (facial expression ID 2120) for displaying the avatar object based on the detection result of the facial expression of the user 190 (for example, the rate of change of the facial expression).

ステップS2260にて、プロセッサ151は、予め準備された表情を表わすデータ(表情ID1930で特定されるデータ)にアクセスする。ステップS2270にて、プロセッサ151は、アクセスされたデータを用いて、ユーザ190の変化した表情をアバターオブジェクトに反映する。 In step S2260, the processor 151 accesses the data representing the facial expression prepared in advance (data specified by the facial expression ID 1930). In step S2270, the processor 151 uses the accessed data to reflect the changed facial expression of the user 190 on the avatar object.

ステップS2280にて、プロセッサ151は、変化後の表情が反映されたアバターオブジェクトを仮想空間2に提示する。ユーザ190と他ユーザとが仮想空間2を共有している場合には、他ユーザは、ユーザ190の変化後の表情を認識する。 In step S2280, the processor 151 presents the avatar object reflecting the changed facial expression in the virtual space 2. When the user 190 and another user share the virtual space 2, the other user recognizes the changed facial expression of the user 190.

[ポーカーフェイスオブジェクト]
図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 user 190. The poker face object is used, for example, when the user 190 does not want the chat partner to know the change in facial expression.

状態(A)に示されるように、モニタ112は、インターフェイスオブジェクト2310を表示する。インターフェイスオブジェクト2310は、例えば、ユーザ190が仮想空間2を介して他のユーザとチャットするためのアプリケーションを起動した場合に提示される。インターフェイスオブジェクト2310は、ポーカーフェイスオブジェクトの購入を問い合わせるメッセージと、購入するという選択を受け付けるアイコン(「買う」)と、購入しないという選択を受け付けるアイコン(「買わない」)とを含む。 As shown in state (A), monitor 112 displays interface object 2310. The interface object 2310 is presented, for example, when the user 190 launches an application for chatting with another user via the virtual space 2. The interface object 2310 includes a message inquiring about the purchase of the poker face object, an icon accepting the choice to purchase (“buy”), and an icon accepting the choice not to purchase (“not buy”).

ユーザ190がアイコン(「買う」)を選択すると、状態(B)に示されるように、モニタ112は、インターフェイスオブジェクト2320を表示する。インターフェイスオブジェクト2320は、例えば、3つのポーカーフェイスオブジェクト2340,2350,2360を含む。ユーザ190がいずれかのポーカーフェイスオブジェクトを選択して、購入確定アイコンを選択(あるいは押下)すると、その選択されたポーカーフェイスオブジェクトのデータは、ユーザ190が使用可能なアバターオブジェクトとして、ユーザ190のアカウントに関連付けられる。その後、ユーザ190は、自らの表情の変化をアバターオブジェクトに反映したくない場合には、購入したポーカーフェイスオブジェクトを使用することができる。 When the user 190 selects the icon (“buy”), the monitor 112 displays the interface object 2320, as shown in the state (B). The interface object 2320 includes, for example, three poker face objects 2340, 2350, 2360. When the user 190 selects one of the poker face objects and selects (or presses) the purchase confirmation icon, the data of the selected poker face object is the account of the user 190 as an avatar object that can be used by the user 190. Associated with. After that, the user 190 can use the purchased poker face object if he / she does not want the change in his / her facial expression to be reflected in the avatar object.

図24を参照して、仮想空間2の共有について説明する。図24は、二人のユーザが同一のアプリケーションを実行することにより、仮想空間2を共有している状態を表わす図である。当該アプリケーションが実行されると、各ユーザは、それぞれ手に装着したコントローラ160を操作することで、仮想空間2を移動することができる。 The sharing of the virtual space 2 will be described with reference to FIG. 24. FIG. 24 is a diagram showing a state in which two users share the virtual space 2 by executing the same application. When the application is executed, each user can move the virtual space 2 by operating the controller 160 worn on his / her hand.

状態(A)に示されるように、ある局面において、第1ユーザに対する仮想カメラ1Aと、第2ユーザに対応する仮想カメラ1Bとが、仮想空間2に配置されている。状態(A)では、仮想カメラ1Aの視界領域23と、仮想カメラ1Bの視界領域23Bとは重なっていない。したがって、仮想カメラ1Aに対応するユーザの視界には、仮想カメラ1Bに対応するユーザの姿が入っていない。 As shown in the state (A), in a certain aspect, the virtual camera 1A corresponding to the first user and the virtual camera 1B corresponding to the second user are arranged in the virtual space 2. In the state (A), the field of view area 23 of the virtual camera 1A and the field of view area 23B of the virtual camera 1B do not overlap. Therefore, the user's field of view corresponding to the virtual camera 1A does not include the user corresponding to the virtual camera 1B.

状態(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 virtual camera 1A operates the controller 160 in order to change the line of sight in the virtual space 2, the orientation of the virtual camera 1A also changes according to the operation. Be changed. For example, when the user wearing the HMD 110 rotates his head slightly to the right, the virtual camera 1A also rotates clockwise according to the rotation, and the virtual camera 1B is included in the field of view region 23A. At the location of the virtual camera 1B, there is a user corresponding to the virtual camera 1B. The user can be visually recognized on the monitor 112 of the HMD 110 worn by the user corresponding to the virtual camera 1A. At this time, the user corresponding to the virtual camera 1B may not want to see his / her facial expression reflected in the avatar object. There, poker face objects may be displayed instead, based on user settings. For example, the user can preselect a poker face object with a smiling expression as the poker face object. By doing so, even if the user is unexpectedly included in the field of view of the other user, the smiling facial expression can be visually recognized by the other user.

図25を参照して、サーバ150の制御構造についてさらに説明する。図25は、プロセッサ151が実行する処理の一部を表わすフローチャートである。 The control structure of the server 150 will be further described with reference to FIG. 25. FIG. 25 is a flowchart showing a part of the processing executed by the processor 151.

ステップS1810にて、プロセッサ151は、複数のユーザに共有される仮想空間2を定義する。例えば、各ユーザが同じアプリケーションを実行する場合、仮想空間2の共有は、例えば、複数のユーザが、仮想現実で規定されているコミュニケーションルームに入室した場合に実現される。 In step S1810, the processor 151 defines a virtual space 2 shared by a plurality of users. For example, when each user executes the same application, sharing of the virtual space 2 is realized, for example, when a plurality of users enter a communication room defined by virtual reality.

ステップS2510にて、プロセッサ151は、各ユーザのアバターオブジェクトを仮想空間2に配置する。 In step S2510, the processor 151 arranges each user's avatar object in the virtual space 2.

ステップS2520にて、プロセッサ151は、各ユーザの仮想カメラに基づく視界画像を生成する。 In step S2520, the processor 151 generates a field of view image based on each user's virtual camera.

ステップS2530にて、プロセッサ151は、各視界画像を表示するためのデータを各ユーザのHMDに出力する。 In step S2530, the processor 151 outputs data for displaying each field of view image to each user's HMD.

ステップS2540にて、プロセッサ151は、各ユーザの動作に応じて、仮想空間における仮想カメラの位置を変化させる。各ユーザの視界もその変化に応じて変わる。 In step S2540, the processor 151 changes the position of the virtual camera in the virtual space according to the operation of each user. The field of view of each user also changes according to the change.

ステップS2550にて、プロセッサ151は、第1ユーザの仮想カメラ1Aの視界(撮影範囲)に第2ユーザの仮想カメラ1Bが入ったことを検知する。例えば、プロセッサ151は、仮想空間2における各仮想カメラの位置と、各仮想カメラの視界(角度)とに基づいて、仮想カメラ1Aの視界に仮想カメラ1Bが入ったか否かを判断し得る。上記のように、各ユーザの仮想カメラの位置と、各ユーザのアバターオブジェクトの位置とが関連付けられているため、プロセッサ151は、第1ユーザの仮想カメラ1Aの視界に、第2ユーザに対応するアバターオブジェクトが入ったことを検知する構成としてもよい。 In step S2550, the processor 151 detects that the second user's virtual camera 1B is in the field of view (shooting range) of the first user's virtual camera 1A. For example, the processor 151 can determine whether or not the virtual camera 1B is in the field of view of the virtual camera 1A based on the position of each virtual camera in the virtual space 2 and the field of view (angle) of each virtual camera. As described above, since the position of each user's virtual camera is associated with the position of each user's avatar object, the processor 151 corresponds to the second user in the view of the first user's virtual camera 1A. It may be configured to detect that an avatar object has been entered.

ステップS2560にて、プロセッサ151は、予め準備された(笑っている)表情を第2ユーザのアバターオブジェクト(仮想カメラ1B)に反映する。 In step S2560, the processor 151 reflects the prepared (laughing) facial expression on the avatar object (virtual camera 1B) of the second user.

ステップS2570にて、プロセッサ151は、第1ユーザに対応する仮想カメラ1Aから、仮想カメラ1Bに対応する第2ユーザを含む視界画像のデータを取得する。 In step S2570, the processor 151 acquires the data of the field of view image including the second user corresponding to the virtual camera 1B from the virtual camera 1A corresponding to the first user.

ステップS2580にて、プロセッサ151は、取得した視界画像のデータを、第1ユーザのHMD110に出力する。第1ユーザは、自らの視界に入ってきた第2ユーザのアバターオブジェクトを見て、第2ユーザが笑っていると認識し得る。 In step S2580, the processor 151 outputs the acquired view image data to the HMD 110 of the first user. The first user can see the avatar object of the second user coming into his / her field of view and recognize that the second user is laughing.

図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 monitor 112 displays the field of view image taken by the virtual camera 1A. At this time, since the field of view 23A of the virtual camera 1A and the field of view 23B of the virtual camera 1B do not overlap (state (A) in FIG. 24), the monitor 112 has the user's avatar object corresponding to the virtual camera 1B. Not reflected.

その後、HMD110を装着したユーザが頭を右に回すことにより、仮想カメラ1Aが時計回りに回転すると、視界領域23Aと視界領域23Bとは、重なる。 After that, when the user wearing the HMD 110 turns his head to the right and the virtual camera 1A rotates clockwise, the visual field region 23A and the visual field region 23B overlap.

そうすると、仮想カメラ1Aの撮影範囲には、仮想カメラ1Bとして表される他ユーザが含まれることになる。そこで、状態(B)に示されるように、モニタ112は、他ユーザに対応するアバターオブジェクト2610を表示する。アバターオブジェクト2610は、他ユーザによって予め購入されて当該他ユーザのアカウントに登録されているデータに基づいて表示される。このようにすると、不意に他のユーザの視界に入った場合であっても、ポーカーフェイスオブジェクトに基づく適切な表情がそのユーザに視認されるようにできる。 Then, the shooting range of the virtual camera 1A includes another user represented as the virtual camera 1B. Therefore, as shown in the state (B), the monitor 112 displays the avatar object 2610 corresponding to the other user. The avatar object 2610 is displayed based on the data purchased in advance by another user and registered in the account of the other user. In this way, even if the user unexpectedly enters the field of view of another user, the appropriate facial expression based on the poker face object can be visually recognized by that user.

以上開示された技術的特徴は、以下のように要約される。
(構成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 virtual space 2 becomes richer. In a certain aspect, since the facial expression of the NPC object is reacted in real time according to the change in the facial expression of the user 190, the immersive feeling of the user 190 wearing the HMD 110 in the virtual space 2 can be enhanced.

別の局面において、ユーザ190の僅かな表情変化が全てアバターオブジェクトに反映されなくなるので、当該アバターオブジェクトを視認するユーザは違和感を覚えにくくなる。さらに別の局面において、仮想空間2を介してコミュニケーションをとっている他ユーザに対して、ユーザ190の意図しない表情が示されることが防止され得る。 In another aspect, since all the slight changes in facial expressions of the user 190 are not reflected in the avatar object, the user who visually recognizes the avatar object is less likely to feel a sense of discomfort. In yet another aspect, it is possible to prevent the user 190 from showing an unintended facial expression to another user communicating via the virtual space 2.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 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オブジェクトの行動を制御することを含む、請求項2に記載のプログラム。 The control step according to claim 2, further comprising determining the emotion of the user based on the detection result of the facial expression, and controlling the behavior of the NPC object according to the determined emotion of the user. Program. 前記制御するステップは、
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オブジェクトに行わせることを含み、
前記検出するステップは、前記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.
前記ユーザの表情の検出結果の変化率が予め定められた範囲内にある場合に、前記アバターオブジェクトの表情が一定の表情となるように、前記データは規定されている、請求項6に記載のプログラム。 The data is defined in claim 6, so that the facial expression of the avatar object becomes a constant facial expression when the rate of change of the facial expression detection result of the user is within a predetermined range. program. 前記アバターオブジェクトを前記仮想空間に提示するステップは、前記検出された表情を当該ユーザに対応するアバターオブジェクトの表情に反映させることなく、予め準備された表情が反映されたアバターオブジェクトを提示するステップを含む、請求項7に記載のプログラム。 The step of presenting the avatar object to the virtual space is a step of presenting the avatar object reflecting the prepared facial expression without reflecting the detected facial expression on the facial expression of the avatar object corresponding to the user. The program of claim 7, including. 前記プログラムは、前記コンピュータに、前記予め準備された表情が反映されたアバターオブジェクトの購入を受け付けるインターフェイスオブジェクトを前記仮想空間に提示するステップをさらに実行させる、請求項7に記載のプログラム。 The program according to claim 7, wherein the program further causes the computer to perform a step of presenting an interface object that accepts the purchase of the avatar object reflecting the prepared facial expression to the virtual space. 前記プログラムは、前記コンピュータに、前記ユーザの表情の検出結果をアバターオブジェクトに反映するか否かの指定を前記ユーザから受け付けるステップをさらに実行させ、
前記予め準備された表情が反映されたアバターオブジェクトを提示するステップは、前記ユーザの表情を前記アバターオブジェクトに反映するか否かを規定する前記設定に従って、当該アバターオブジェクトを提示するステップを含む、請求項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.
予め準備された表情が反映されたアバターオブジェクトを提示するステップは、前記仮想空間を共有する他のユーザの視界に対応する領域内に前記ヘッドマウントデバイスのユーザのアバターオブジェクトが入ったことに基づいて、当該アバターオブジェクトの表情を前記予め準備された表情が反映されたアバターオブジェクトを提示するステップを含む、請求項8~10のいずれかに記載のプログラム。 The step of presenting the avatar object reflecting the prepared facial expression is based on the fact that the user's avatar object of the head mount device is within the area corresponding to the view of another user sharing the virtual space. The program according to any one of claims 8 to 10, further comprising a step of presenting an avatar object in which the expression of the avatar object reflects the prepared expression. 請求項1~11のいずれかに記載のプログラムを格納したメモリと、
前記メモリに結合され、前記プログラムを実行するためのプロセッサとを備える、情報処理装置。
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.

JP2022040899A 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 Active JP7394158B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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