JP6262283B2 - Method, program, and recording medium for providing virtual space - Google Patents
Method, program, and recording medium for providing virtual space Download PDFInfo
- Publication number
- JP6262283B2 JP6262283B2 JP2016099088A JP2016099088A JP6262283B2 JP 6262283 B2 JP6262283 B2 JP 6262283B2 JP 2016099088 A JP2016099088 A JP 2016099088A JP 2016099088 A JP2016099088 A JP 2016099088A JP 6262283 B2 JP6262283 B2 JP 6262283B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual space
- hmd
- operation object
- user
- mode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 68
- 230000000007 visual effect Effects 0.000 claims description 153
- 230000008859 change Effects 0.000 claims description 25
- 238000005192 partition Methods 0.000 claims description 7
- 238000001514 detection method Methods 0.000 description 48
- 238000003860 storage Methods 0.000 description 30
- 238000010586 diagram Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 19
- 238000012545 processing Methods 0.000 description 19
- 210000001508 eye Anatomy 0.000 description 18
- 238000004891 communication Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 14
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 6
- 238000007654 immersion Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000003825 pressing Methods 0.000 description 3
- 210000005252 bulbus oculi Anatomy 0.000 description 2
- 210000000887 face Anatomy 0.000 description 2
- 210000003128 head Anatomy 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000000547 structure data Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 210000004087 cornea Anatomy 0.000 description 1
- 230000001678 irradiating effect Effects 0.000 description 1
- 206010025482 malaise Diseases 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Description
本開示は、仮想空間を提供する方法、プログラム、および記録媒体に関する。 The present disclosure relates to a method, a program, and a recording medium that provide a virtual space.
特許文献1には、仮想空間において再生されるコンテンツを、ヘッドマウントディスプレイを通じてユーザに視認させるための技術が開示されている。
上述した従来技術では、ユーザがHMDを動かすと、仮想空間におけるユーザの視認箇所を変えることができるので、仮想空間に対するユーザの没入感を高めることができる。一方で、仮想空間における没入間を高めつつ、より簡単に仮想空間における任意の箇所をユーザが視認できるように仮想空間における操作性をより高めるための工夫が、求められている。 In the above-described conventional technique, when the user moves the HMD, the user's visual recognition location in the virtual space can be changed, so that the user's immersion feeling in the virtual space can be enhanced. On the other hand, there is a need for a device for improving the operability in the virtual space so that the user can more easily visually recognize an arbitrary place in the virtual space while increasing the immersion space in the virtual space.
本開示は前記の課題を解決するためになされたものである。そして、その目的は、仮想空間における操作性をより高めることにある。 This indication is made in order to solve the above-mentioned subject. The purpose is to further improve the operability in the virtual space.
前記の課題を解決するために、本開示に係る仮想空間を提供する方法は、ヘッドマウントディスプレイ(以下、HMD)を装着したユーザに仮想空間を提供する方法であって、第1のモードにおいて、仮想空間内に配置されかつHMDに連動する仮想カメラのロール方向に基づく視界画像をHMDに表示させるステップと、第2のモードにおいて、ユーザの操作に基づき少なくとも回転方向を特定すると共に、操作が検出され続ける間、仮想カメラまたは仮想空間の空間座標系を回転方向に回転させ続けながら、HMDに視界画像を更新させるステップとを有する。 In order to solve the above problems, a method of providing a virtual space according to the present disclosure is a method of providing a virtual space to a user wearing a head mounted display (hereinafter, HMD), in the first mode, In the second mode, the visual image based on the roll direction of the virtual camera that is arranged in the virtual space and interlocked with the HMD is displayed on the HMD. In the second mode, at least the rotation direction is specified based on the user operation, and the operation is detected. While continuing to be performed, the HMD has a step of updating the visual field image while continuously rotating the virtual camera or the space coordinate system of the virtual space in the rotation direction.
本開示によれば、仮想空間における操作性をより高めることができる。 According to this indication, operativity in virtual space can be raised more.
[本発明の実施形態の詳細]
本発明の実施形態に係る仮想空間を提供する方法、および、プログラムの具体例を、以下に図面を参照しつつ説明する。本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が本発明に含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
[Details of the embodiment of the present invention]
A specific example of a method and program for providing a virtual space according to an embodiment of the present invention will be described below with reference to the drawings. The present invention is not limited to these exemplifications, but is defined by the scope of claims for patent, and it is intended that all modifications within the meaning and scope equivalent to the scope of claims for patent are included in the present invention. In the following description, the same reference numerals are given to the same elements in the description of the drawings, and repeated description is not repeated.
(HMDシステム100の構成)
図1は、HMDシステム100の構成を示す図である。この図に示すように、HMDシステム100は、HMD110、HMDセンサ120、制御回路部200、およびコントローラ300を備えている。
(Configuration of HMD system 100)
FIG. 1 is a diagram showing a configuration of the
HMD110は、ユーザの頭部に装着される。HMD110は、非透過型の表示装置であるディスプレイ112、センサ114、および注視センサ130を備えている。HMD110は、右目用画像および左目用画像をディスプレイ112にそれぞれ表示することにより、ユーザの両目の視差に基づきユーザに立体的に視認される3次元画像を、ユーザに視認させる。これにより仮想空間をユーザに提供する。ディスプレイ112がユーザの眼前に配置されているので、ユーザは、ディスプレイ112に表示される画像を通じて仮想空間に没入できる。仮想空間は、背景、ならびにユーザが操作可能な各種のオブジェクトおよびメニュー画像等を含み得る。
The HMD 110 is worn on the user's head. The HMD 110 includes a
ディスプレイ112は、右目用画像を表示する右目用サブディスプレイと、左目用画像を表示する左目用サブディスプレイとを含んでもよい。または、ディスプレイ112は、右目用画像および左目用画像を共通の画面に表示する1つの表示装置であってもよい。このような表示装置として、たとえば、表示画像が一方の目にしか認識できないようにするシャッターを高速に切り替えることにより、右目用画像および左目用画像を独立して交互に表示する表示装置が挙げられる。
The
(制御回路部200のハード構成)
図2は、制御回路部200のハード構成を示す図である。制御回路部200は、HMD110に仮想空間を提供させるためのコンピュータである。図2に示すように、制御回路部200は、プロセッサ、メモリ、ストレージ、入出力インターフェース、および通信インターフェースを備えている。これらは、データ伝送路としてのバスを通じて、制御回路部200内において互いに接続されている。
(Hard structure of the control circuit unit 200)
FIG. 2 is a diagram illustrating a hardware configuration of the
プロセッサは、CPU(Central Processing Unit)、MPU(Micro-processing unit)、またはGPU(Graphics Processing Unit)等を含んで構成され、制御回路部200およびHMDシステム100全体の動作を制御する。
The processor includes a central processing unit (CPU), a micro-processing unit (MPU), a graphics processing unit (GPU), and the like, and controls operations of the
メモリは、主記憶として機能する。メモリには、プロセッサによって処理されるプログラムおよび制御用データ(演算パラメータなど)が記憶される。メモリは、ROM(Read Only Memory)またはRAM(Random Access Memory)等を含んで構成され得る。 The memory functions as main memory. The memory stores a program processed by the processor and control data (such as calculation parameters). The memory may include a ROM (Read Only Memory) or a RAM (Random Access Memory).
ストレージは、補助記憶として機能する。ストレージには、HMDシステム100全体の動作を制御するためのプログラム、各種のシミュレーションプログラム、ユーザ認証プログラム、および、仮想空間を規定するための各種のデータ(画像およびオブジェクト等)が格納されている。さらには、各種のデータを管理するためのテーブルを含むデータベースがストレージに構築されていてもよい。ストレージは、フラッシュメモリまたはHDD(Hard Disc Drive)等を含んで構成され得る。
The storage functions as auxiliary storage. The storage stores a program for controlling the operation of the
入出力インターフェースは、USB(Universal Serial Bus)端子、DVI(Digital Visual Interface)端子、HDMI(登録商標)(High-Definition Multimedia Interface)端子等の各種の有線接続端子、および、無線接続のための各種の処理回路を含んで構成されている。入出力インターフェースは、HMD110と、HMDセンサ120を含む各種のセンサと、コントローラ300とを互いに接続する。
The input / output interface includes various wired connection terminals such as a USB (Universal Serial Bus) terminal, a DVI (Digital Visual Interface) terminal, an HDMI (registered trademark) (High-Definition Multimedia Interface) terminal, and various wireless connection terminals. These processing circuits are included. The input / output interface connects the
通信インターフェースは、ネットワークNWを介して外部装置と通信するための各種の有線接続端子、および、無線接続のための各種の処理回路を含んで構成される。通信インターフェースは、LAN(Local Area Network)またはインターネットを介して通信するための各種の通信規格およびプロトコルに適合するように、構成されている。 The communication interface includes various wired connection terminals for communicating with an external device via the network NW, and various processing circuits for wireless connection. The communication interface is configured to conform to various communication standards and protocols for communicating via a LAN (Local Area Network) or the Internet.
制御回路部200は、ストレージに格納された所定のアプリケーションプログラムをメモリにロードして実行することによって、ユーザに仮想空間を提供する。プログラムの実行時に、メモリおよびストレージには、仮想空間内に配置される各種のオブジェクトを操作したり、各種のメニュー画像等を表示および制御したりするための各種のプログラムが格納される。
The
制御回路部200は、HMD110に搭載されていてもよいし、されていなくてもよい。すなわち制御回路部200は、HMD110から独立した別のハードウェア(たとえば、パーソナルコンピュータ、またはネットワークを通じてHMD110と通信可能なサーバ装置)であってもよい。制御回路部200は、複数のハードウェアの協働によって1または複数の機能が実装される形態の装置であってもよい。または、制御回路部200が有する全機能のうち一部の機能のみがHMD110に実装され、残りの機能が別のハードウェアに実装されていてもよい。
The
HMDシステム100を構成するHMD110等の各要素には、予め、グローバル座標系(基準座標系、xyz座標系)が設定されている。このグローバル座標系は、現実空間における、鉛直方向、鉛直方向と直交する横方向、ならびに、鉛直方向および横方向の双方と直交する前後方向にそれぞれ平行な、3つの基準方向(軸)を有する。本実施形態では、グローバル座標系は視点座標系の一種であるため、グローバル座標系における横方向、鉛直方向(上下方向)、および前後方向を、それぞれx軸、y軸、z軸とする。具体的には、グローバル座標系のx軸は現実空間の横方向に平行であり、y軸は現実空間の鉛直方向に平行であり、z軸は現実空間の前後方向に平行である。
A global coordinate system (reference coordinate system, xyz coordinate system) is set in advance for each element such as the
HMDセンサ120は、HMD110の動きを検出するためのポジション・トラッキング機能を有する。HMDセンサ120は、この機能によって、現実空間内におけるHMD110の位置および傾きを検出する。この検出を実現するために、HMD110は、図示しない複数の光源を備えている。各光源は、たとえば赤外線を発するLEDである。HMDセンサ120は、たとえば赤外線センサを含んで構成される。HMDセンサ120は、HMD110の光源から照射された赤外線を、赤外線センサによって検出することによって、HMD110の検出点を検出する。さらに、HMD110の検出点の検出値に基づき、ユーザの動きに応じたHMD110の現実空間内における位置および傾きを検出する。HMDセンサ120は、検出値の経時的変化に基づき、HMD110の位置および傾きの時間変化を決定することができる。
The
HMDセンサ120は、光学カメラを含んで構成されてもよい。この場合、HMDセンサ120は、光学カメラによって得られたHMD110の画像情報に基づき、HMD110の位置および傾きを検出する。
The
HMDセンサ120の代わりに、HMD110が、センサ114を用いて自身の位置および傾きを検出してもよい。この場合、センサ114は、たとえば角速度センサ、地磁気センサ、加速度センサ、またはジャイロセンサであればよい。HMD110は、これらのうち少なくとも1つを用いる。センサ114が角速度センサである場合、センサ114は、HMD110の動きに応じて、HMD110の現実空間における3軸回りの角速度を経時的に検出する。HMD110は、角速度の検出値に基づき、HMD110の3軸回りの角度の時間的変化を決定し、さらに、角度の時間的変化に基づきHMD110の傾きを検出することができる。
Instead of the
HMD110がセンサ114による検出値に基づきHMD110の位置および傾きを自ら検出する場合、HMDシステム100にHMDセンサ120は不要である。逆に、HMD110から離れた位置に配置されるHMDセンサ120がHMD110の位置および傾きを検出する場合、HMD110にセンサ114は不要である。
When the
上述したように、グローバル座標系は現実空間の座標系と平行である。そのため、HMDセンサ120によって検出されたHMD110の各傾きは、グローバル座標系におけるHMD110の3軸周りの各傾きに相当する。HMDセンサ120は、グローバル座標系におけるHMDセンサ120の傾きの検出値に基づき、uvw視野座標系をHMD110に設定する。HMD110に設定されるuvw視野座標系は、HMD110を装着したユーザが物体を見る際の視点座標系に対応する。
As described above, the global coordinate system is parallel to the real space coordinate system. Therefore, each inclination of the
(uwv視野座標系)
図3は、HMD110に設定されるuwv視野座標系を例示する図である。HMDセンサ120は、HMD110の起動時に、グローバル座標系におけるHMD110の位置および傾きを検出する。そして、傾きの検出値に基づく3次元のuvw視野座標系を、HMD110に設定する。図3に示すように、HMDセンサ120は、HMD110を装着したユーザの頭部を中心(原点)とした3次元のuvw視野座標系を、HMD110に設定する。具体的には、グローバル座標系を規定する横方向、鉛直方向、および前後方向(x軸、y軸、z軸)を、グローバル座標系内においてHMD110の各軸周りの傾きだけ各軸周りにそれぞれ傾けることによって得られる新たな3つの方向を、HMD110におけるuvw視野座標系のピッチ方向(u軸)、ヨー方向(v軸)、およびロール方向(w軸)として設定する。
(Uuv visual field coordinate system)
FIG. 3 is a diagram illustrating a uwv visual field coordinate system set in the
図3に示すように、HMDセンサ120は、HMD110を装着したユーザが直立しかつ正面を視認している場合、グローバル座標系に平行なuvw視野座標系をHMD110に設定する。この場合、グローバル座標系の横方向(x軸)、鉛直方向(y軸)、および前後方向(z軸)が、そのまま、HMD110におけるuvw視野座標系のピッチ方向(u軸)、ヨー方向(v軸)、およびロール方向(w軸)に一致する。
As shown in FIG. 3, when the user wearing the
HMDセンサ120は、HMD110にuvw視野座標系を設定した後、HMD110の動きに応じて、現在設定中のuvw視野座標系におけるHMD110の傾き(傾きの変化量)を検出することができる。この場合、HMDセンサ120は、HMD110の傾きとして、現在設定中のuvw視野座標系におけるHMD110のピッチ角(θu)、ヨー角(θv)、およびロール角(θw)をそれぞれ検出する。ピッチ角(θu)は、uvw視野座標系におけるピッチ方向周りのHMD110の傾き角度である。ヨー角(θv)は、uvw視野座標系におけるヨー方向周りのHMD110の傾き角度である。ロール角(θw)は、uvw視野座標系におけるロール方向周りのHMD110の傾き角度である。
After setting the uvw visual field coordinate system in the
HMDセンサ120は、HMD110の傾きの検出値に基づき、動いた後のHMD110におけるuvw視野座標系を、新たにHMD110に設定する。HMD110と、HMD110のuvw視野座標系との関係は、HMD110の位置および傾きによらず常に一定である。HMD110の位置および傾きが変わると、それの変化に連動して、グローバル座標系におけるHMD110のuvw視野座標系の位置および傾きが同様に変化する。
Based on the detected value of the inclination of the
HMDセンサ120は、赤外線センサによって取得される赤外線の光強度および複数の検出点間の相対位置関係(検出点間の距離等)に基づき、HMD110の現実空間内における位置を、HMDセンサ120に対する相対位置として特定してもよい。また、特定した相対位置に基づき、現実空間内(グローバル座標系)におけるHMD110のuvw視野座標系の原点を決定してもよい。また、HMDセンサ120は、複数の検出点間の相対位置関係に基づきHMD110の現実空間内における傾きを検出し、さらに、その検出値に基づき現実空間内(グローバル座標系)におけるHMD110のuvw視野座標系の向きを決定してもよい。
The
(仮想空間2の概要)
図4は、ユーザに提供される仮想空間2の概要を説明する図である。この図に示すように、仮想空間2は、中心21の360°方向全体を覆う全天球状の構造を有する。図4には、仮想空間2の全体のうち上半分の天球のみを例示する。仮想空間2には、略正方形または略長方形の複数のメッシュが関連付けられている。仮想空間2における各メッシュの位置は、仮想空間2に規定される空間座標系(XYZ座標系)における座標として、予め規定されている。制御回路部200は、仮想空間2に展開可能なコンテンツ(静止画、動画等)を構成する各部分画像を、仮想空間2における対応する各メッシュに対応付けることによって、ユーザによって視認可能な仮想空間画像22が展開される仮想空間2をユーザに提供する。
(Outline of virtual space 2)
FIG. 4 is a diagram illustrating an outline of the
仮想空間2には、中心21を原点とするXYZ空間座標系が規定されている。XYZ座標系は、たとえばグローバル座標系に平行である。XYZ座標系は視点座標系の一種であるため、XYZ座標系における横方向、鉛直方向(上下方向)、および前後方向を、それぞれX軸、Y軸、Z軸とする。すなわち、XYZ座標系のX軸(横方向)がグローバル座標系のx軸と平行であり、XYZ座標系のY軸(上下方向)がグローバル座標系のy軸と平行であり、XYZ座標系のZ軸(前後方向)がグローバル座標系のz軸と平行である。
The
HMD110の起動時(初期状態)において、仮想空間2の中心21に仮想カメラ1が配置されている。仮想カメラ1は、現実空間内におけるHMD110の動きに連動して、仮想空間2内において同様に動く。これにより、現実空間内におけるHMD110の位置および向きの変化が、仮想空間2内において同様に再現される。
When the
仮想カメラ1には、HMD110と同様にuvw視野座標系が規定される。仮想空間2内における仮想カメラ1のuvw視野座標系は、現実空間(グローバル座標系)内におけるHMD110のuvw視野座標系に変動するように規定されている。したがって、HMD110の傾きが変化すると、それに連動して仮想カメラ1の傾きも変化する。仮想カメラ1は、HMD110を装着したユーザの現実空間における移動に連動して、仮想空間2において移動することもできる。
As with the
仮想空間2における仮想カメラ1の位置および傾きに応じて、仮想空間2における仮想カメラ1の向きが決まる。これにより、仮想空間2に展開される仮想空間画像22をユーザが視認する際の基準となる視線(基準視線5)が決まる。制御回路部200は、基準視線5に基づき、仮想空間2における視界領域23を決定する。視界領域23は、仮想空間2のうち、HMD110を装着したユーザの視界に対応する領域である。
The orientation of the
図5は、視界領域23の断面を示す図である。図5の(a)に、仮想空間2において視界領域23をX方向から見たYZ断面を示す。図5の(b)に、仮想空間2において視界領域23をY方向から見たXZ断面を示す。視界領域23は、基準視線5と仮想空間2のYZ断面とによって定義される範囲である第1領域24(図5の(a)参照)と、基準視線5と仮想空間2のXZ断面とによって定義される範囲である第2領域25(図5の(b)参照)とを有する。制御回路部200は、仮想空間2における基準視線5を中心として極角αを含む範囲を、第1領域24として設定する。また、仮想空間2における基準視線5を中心とした方位角βを含む範囲を、第2領域25として設定する。
FIG. 5 is a view showing a cross section of the
HMDシステム100は、仮想空間画像22のうち視界領域23に重畳する部分である視界画像26をHMD110のディスプレイ112に表示させることによって、ユーザに仮想空間2を提供する。ユーザがHMD110を動かせば、それに連動して仮想カメラ1も動き、その結果、仮想空間2における視界領域23の位置が変化する。これによりディスプレイ112に表示される視界画像26が、仮想空間画像22のうち、仮想空間2においてユーザが向いた箇所(=視界領域23)に重畳する画像に更新される。したがってユーザは、仮想空間2における所望の箇所を視認することができる。
The
ユーザは、HMD110を装着している間、現実世界を目にすることなく、仮想空間2に展開される仮想空間画像22のみを視認する。そのためHMDシステム100は、仮想空間2への高い没入感をユーザに与えることができる。
While wearing the
制御回路部200は、HMD110を装着したユーザの現実空間における移動に連動して、仮想カメラ1を仮想空間2内において移動させてもよい。この場合、制御回路部200は、仮想カメラ1の仮想空間2内における位置および向きに基づき、仮想空間2のうちHMD110のディスプレイ112に投影されることによってユーザが視認する視界領域23を特定する。
The
仮想カメラ1は、右眼用画像を提供する右眼用仮想カメラと、左眼用画像を提供する左眼用仮想カメラとを含むことが好ましい。さらに、2つの仮想カメラには、ユーザが3次元の仮想空間2を認識できるように適切な視差が設定されていることが好ましい。本実施形態では、このような2つの仮想カメラのロール方向が合成されることによって生成されるロール方向(w)がHMD110のロール方向(w)に適合されるような仮想カメラ1のみを、代表して図示および説明するものとする。
The
(視線方向の検出)
注視センサ130は、ユーザの右目および左目の視線が向けられる方向(視線方向)を検出するアイトラッキング機能を有する。注視センサ130として、アイトラッキング機能を有する公知のセンサを採用することができる。注視センサ130は、右目用センサおよび左目用センサを備えていることが好ましい。注視センサ130は、たとえば、ユーザの右目および左目に赤外光を照射すると共に、照射光に対する角膜および虹彩からの反射光を受光することによって、各眼球の回転角を検出するセンサでもよい。注視センサ130は、検出した各回転角に基づき、ユーザの視線方向を検知することができる。
(Gaze direction detection)
The
注視センサ130によって検出されるユーザの視線方向は、ユーザが物体を視認する際の視点座標系における方向である。上述したように、HMD110のuvw視野座標系は、ユーザがディスプレイ112を視認する際の視点座標系に等しい。また、仮想カメラ1のuvw視野座標系は、HMD110のuvw視野座標系に連動している。したがってHMDシステム100では、注視センサ130によって検出されたユーザの視線方向を、仮想カメラ1のuvw視野座標系におけるユーザの視線方向と見なすことができる。
The user's gaze direction detected by the
図6は、ユーザの視線方向を決定する方法を例示する図である。この図に示すように、注視センサ130は、ユーザUの右目および左目の視線を検出する。ユーザUが近くを見ている場合、注視センサ130は、ユーザUの視線R1およびL1を検出する。ユーザが遠くを見ている場合、注視センサ130は、ユーザの視線R1およびL1よりも、HMD110のロール方向(w)とのなす角が小さい視線R2およびL2を特定する。注視センサ130は、検出値を制御回路部200に送信する。
FIG. 6 is a diagram illustrating a method of determining the user's line-of-sight direction. As shown in this figure, the
制御回路部200は、視線の検出値として視線R1およびL1を受信した場合、両者の交点である注視点N1を特定する。一方、視線R2およびL2を受信した場合も、両者の交点である注視点N1(不図示)を特定する。制御回路部200は、特定した注視点N1に基づき、ユーザUの視線方向N0を検出する。制御回路部200は、たとえば、ユーザUの右目Rと左目Lとを結ぶ直線の中点と、注視点N1とを通る直線の伸びる方向を、視線方向N0として検出する。視線方向N0は、ユーザUが両目により実際に視線を向けている方向である。視線方向N0はまた、視界領域23に対してユーザUが実際に視線を向けている方向でもある。
When receiving the line of sight R1 and L1 as the line-of-sight detection value, the
HMDシステム100は、HMDシステム100を構成するいずれかの要素に、マイクおよびスピーカを備えていてもよい。これにより、ユーザは仮想空間2内に対して、音声による指示を与えることができる。また、仮想空間内の仮想テレビにテレビ番組の放送を受信するために、HMDシステム100はいずれかの要素にテレビジョン受像機を含んでいてもよい。また、ユーザが取得した電子メール等を表示させるための、通信機能等を含んでいてもよい。
The
(コントローラ300)
コントローラ300は、ユーザの操作に基づく各種の指令を制御回路部200に対して送信ことができるデバイスである。コントローラ300は、有線または無線通信が可能な携帯端末であり得る。コントローラ300は、たとえば、スマートフォン、PDA(Personal Digital Assistant)、タブレット型コンピュータ、ゲーム用コンソール、汎用のPC(Personal Computer)等であればよい。コントローラ300は、タッチパネルを備えるデバイスであることが好ましく、互いにバス接続されたプロセッサ、メモリ、ストレージ、通信部、表示部と入力部が一体として構成されたタッチパネル、を備える任意の端末が採用され得る。ユーザは、コントローラ300のタッチパネルに対し、タップ、スワイプ、およびホールドを含む各種のタッチ動作を入力することによって、仮想空間2に配置される各種のオブジェクトおよびUI(User Interface)に対して影響を及ぼすことができる。
(Controller 300)
The
(制御回路部200の機能的構成)
図7は、制御回路部200の機能的構成を示すブロック図である。制御回路部200は、HMDセンサ120、注視センサ130、およびコントローラ300から受信した各種のデータを用いることによって、ユーザに提供される仮想空間2を制御すると共に、HMD110のディスプレイ112への画像表示を制御する。図7に示すように、制御回路部200は、検出部210、表示制御部220、仮想空間制御部230、記憶部240、および通信部250を備えている。制御回路部200は、図2に示す各ハードウェアの協働によって、検出部210、表示制御部220、仮想空間制御部230、記憶部240、および通信部250として機能する。検出部210、表示制御部220、および仮想空間制御部230は、主としてプロセッサおよびメモリの協働によってその機能が実現され得る。記憶部240は、主としてメモリおよびストレージの協働によってその機能が実現され得る。通信部250は、主としてプロセッサおよび通信インターフェースの協働によってその機能が実現され得る。
(Functional configuration of control circuit unit 200)
FIG. 7 is a block diagram showing a functional configuration of the
検出部210は、制御回路部200に接続される各種のセンサ(HMDセンサ120等)から検出値を受信する。また、必要に応じて、受信した検出値を用いた所定の処理を実行する。検出部210は、HMD検出部211、視線検出部212、および操作受付部213を備えている。HMD検出部211は、HMD110およびHMDセンサ120から検出値をそれぞれ受信する。視線検出部212は、注視センサ130から検出値を受信する。操作受付部213は、コントローラ300に対するユーザの操作に応じて送信された指令を受信することによって、当該操作を受け付ける。
The detection unit 210 receives detection values from various sensors (such as the HMD sensor 120) connected to the
表示制御部220は、HMD110のディスプレイ112への画像表示を制御する。表示制御部220は、仮想カメラ制御部221、視界領域決定部222、および視界画像生成部223を備えている。仮想カメラ制御部221は、仮想空間2内に仮想カメラ1を配置すると共に、仮想空間2内における仮想カメラ1の挙動を制御する。視界領域決定部222は、視界領域23を決定する。視界画像生成部223は、決定された視界領域23に基づき、ディスプレイ112に表示される視界画像26を生成する。
The
仮想空間制御部230は、ユーザに提供される仮想空間2を制御する。仮想空間制御部230は、仮想空間規定部231、視線管理部232、コンテンツ特定部233、操作オブジェクト制御部234、および回転制御部235を備えている。仮想空間規定部231は、ユーザに提供される仮想空間2を表す仮想空間データを生成することによって、HMDシステム100における仮想空間2を規定する。視線管理部232は、仮想空間2におけるユーザの視線を管理する。コンテンツ特定部233は、仮想空間2における再生対象のコンテンツを特定する。操作オブジェクト制御部234は、仮想空間2における操作オブジェクト27を制御する。回転制御部235は、操作オブジェクト27への操作に基づく仮想カメラ1または仮想空間2の回転を制御する。
The virtual
記憶部240は、制御回路部200が仮想空間2をユーザに提供するために用いる各種のデータを格納している。記憶部240は、雛形格納部241およびコンテンツ格納部242を備えている。雛形格納部241は、各種の雛形データを格納している。コンテンツ格納部242は、各種のコンテンツを格納している。
The
雛形データは、仮想空間2の雛形を表すデータである。雛形データは、仮想空間2の空間構造を規定する空間構造データを有する。空間構造データは、たとえば、中心21を中心とする360°の全天球の空間構造を規定するデータである。雛形データは、仮想空間2のXYZ座標系を規定するデータをさらに有する。雛形データは、天球を構成する各メッシュのXYZ座標系における位置を特定する座標データをさらに有する。また、雛形データは、仮想空間2内にオブジェクトを配置可能であるか否かを示すフラグをさらに有する。
The template data is data representing a template of the
コンテンツは、仮想空間2において再生可能なコンテンツである。コンテンツの例として、たとえば、プラットフォームコンテンツおよび視聴用コンテンツが挙げられる。
The content is content that can be reproduced in the
プラットフォームコンテンツは、ユーザが視聴したい視聴用コンテンツを仮想空間2においてユーザに選択させるための環境(プラットフォーム)に関するコンテンツである。このプラットフォームコンテンツが仮想空間2において再生されることによって、コンテンツ選択用のプラットフォームがユーザに提供される。プラットフォームコンテンツは、背景画像、および、オブジェクトを規定するデータを少なくとも有する。
The platform content is content related to an environment (platform) for allowing the user to select viewing content that the user wants to view in the
視聴用コンテンツは、たとえば静止画コンテンツまたは動画コンテンツである。静止画コンテンツは、背景画像を有する。動画コンテンツは、各フレームの画像(静止画)を少なくとも有する。動画コンテンツは、さらに音声データを有してもよい。 The viewing content is, for example, a still image content or a moving image content. The still image content has a background image. The moving image content includes at least an image (still image) of each frame. The moving image content may further include audio data.
動画コンテンツは、たとえば、全天球カメラによって生成されるコンテンツである。全天球カメラは、当該カメラのレンズを中心とした現実空間の全方向を一度に撮影することによって、全方向の画像を一度に生成することができるカメラである。全天球カメラによって得られる動画コンテンツを構成する各画像は歪んでいるが、動画コンテンツが仮想空間2において再生されるとき、各画像の歪みは、HMD110のディスプレイ112を構成するレンズによってキャンセルされることによって解消される。したがって動画コンテンツの再生時、ユーザは仮想空間2内において歪みのない自然な画像を視認することができる。
The moving image content is content generated by an omnidirectional camera, for example. An omnidirectional camera is a camera that can generate images in all directions at once by photographing all directions in a real space around the lens of the camera at once. Each image constituting the moving image content obtained by the omnidirectional camera is distorted, but when the moving image content is reproduced in the
各コンテンツには、HMD110の初期状態(起動時)にユーザに見せる画像を向いた初期方向が、予め規定されている。全天球カメラによって生成される動画コンテンツに規定される初期方向は、通常、動画コンテンツの撮影に用いた全天球カメラに規定される所定の撮影方向に一致する。この初期方向を、撮影方向とは異なる方向に変更することもできる。具体的には、全天球カメラによる撮影後、得られた動画コンテンツを適宜編集することによって、撮影方向からずれた方向を初期方向として動画コンテンツに規定することができる。
In each content, an initial direction facing an image to be shown to the user in the initial state (at the time of activation) of the
通信部250は、ネットワークNWを介して外部機器400(たとえばサーバ)との間でデータを送受信する。
The
(仮想空間2の提供処理)
図8は、HMDシステム100が仮想空間2をユーザに提供する処理の流れを示すシーケンス図である。仮想空間2は、基本的に、HMD110および制御回路部200の協働によってユーザに提供される。図8に示す処理が開始されると、まず、S1において、仮想空間規定部231が、ユーザに提供される仮想空間2を表す仮想空間データを生成することによって、仮想空間2を規定する。生成の手順は次の通りである。まず仮想空間規定部231は、仮想空間2の雛形データを雛形格納部241から取得することによって、仮想空間2の原型を定義する。仮想空間規定部231は、さらに、仮想空間2において再生されるコンテンツを、コンテンツ格納部242から取得する。仮想空間規定部231は、取得した雛形データに、取得したコンテンツを適合することによって、仮想空間2を規定する仮想空間データを生成する。仮想空間規定部231は、仮想空間データにおいて、仮想空間2の天球を構成する各メッシュの管理データに、コンテンツに含まれる背景画像を構成する各部分画像を適宜関連付ける。仮想空間規定部231は、コンテンツに規定される初期方向を仮想空間2のXYZ座標系におけるZ方向に合致させるように、各部分画像と各メッシュとを関連付けることが好ましい。
(Process of providing virtual space 2)
FIG. 8 is a sequence diagram showing a flow of processing in which the
仮想空間規定部231は、さらに、必要に応じて、コンテンツに含まれる各オブジェクトの管理データを、仮想空間データに追加する。その際、各管理データに、対応するオブジェクトが仮想空間2において配置される位置を表す座標を、設定する。これにより各オブジェクトが、仮想空間2における当該座標の位置にそれぞれ配置される。
The virtual
その後、ユーザによってHMD110が起動されると、S2において、HMDセンサ120が、HMD110の初期状態における位置および傾きを検出して、S3において、検出値を制御回路部200に出力する。HMD検出部211は、この検出値を受信する。この後、S4において、仮想カメラ制御部221は、仮想空間2において仮想カメラ1を初期化する。
After that, when the
初期化の手順は次の通りである。まず仮想カメラ制御部221は、仮想空間2内における初期位置(図4における中心21等)に、仮想カメラ1を配置する。次に、仮想空間2における仮想カメラ1の向きを設定する。その際、仮想カメラ制御部221は、HMDセンサ120からの検出値に基づき初期状態のHMD110のuvw視野座標系を特定すると共に、HMD110のuvw視野座標系に一致するuvw視野座標系を仮想カメラ1に設定することによって、仮想カメラ1の向きを設定すればよい。仮想カメラ制御部221は、仮想カメラ1にuvw視野座標系を設定する際、仮想カメラ1のロール方向(w軸)をXYZ座標系のZ方向(Z軸)に適合させる。具体的には、仮想カメラ制御部221は、仮想カメラ1のロール方向をXZ平面に投影して得られる方向を、XYZ座標系のZ方向に一致させると共に、XZ平面に対する仮想カメラ1のロール方向の傾きを、水平面に対するHMD110のロール方向の傾きに一致させる。このような適合処理によって、初期状態の仮想カメラ2のロール方向がコンテンツの初期方向に適合されるので、コンテンツの再生開始後におけるユーザが最初に向く水平方向の向きを、コンテンツの初期方向に一致させることができる。
The initialization procedure is as follows. First, the virtual camera control unit 221 places the
仮想カメラ1の初期化処理が終わると、視界領域決定部222は、仮想カメラ1のuvw視野座標系に基づき、仮想空間2における視界領域23を決定する。具体的には、仮想カメラ1のuvw視野座標系のロール方向(w軸)をユーザの基準視線5として特定し、この基準視線5に基づき視界領域23を決定する。S5において、視界画像生成部223は、仮想空間データを処理することによって、仮想空間2に展開される仮想空間画像22の全体のうち、仮想空間2における視界領域23に投影される部分に相当する視界画像26を生成(レンダリング)する。S6において、視界画像生成部223は、生成した視界画像26を初期視界画像としてHMD110に出力する。S7において、HMD110は、受信した初期視界画像をディスプレイ112に表示する。これによりユーザは初期視界画像を視認する。
When the initialization process of the
その後、S8において、HMDセンサ120が、HMD110の現在の位置および傾きを検出して、S9において、これらの検出値を制御回路部200に出力する。HMD検出部211は、各検出値を受信する。仮想カメラ制御部221は、HMD110の位置および傾きの検出値に基づき、HMD110における現在のuvw視野座標系を特定する。さらに、S10において、仮想カメラ制御部221は、XYZ座標系におけるuvw視野座標系のロール方向(w軸)を、HMD110の視界方向として特定する。
Thereafter, in S8, the
本実施形態では、S11において、仮想カメラ制御部221が、特定したHMD110の視界方向を、仮想空間2におけるユーザの基準視線5として特定する。S12において、仮想カメラ制御部221は、特定した基準視線5に基づき、仮想カメラ1を制御する。仮想カメラ制御部221は、基準視線5の位置(起点)および方向が仮想カメラ1の初期状態と同一であれば、仮想カメラ1の位置および方向をそのまま維持する。一方、基準視線5の位置(起点)および/または方向が、仮想カメラ1の初期状態から変化していれば、仮想空間2内における仮想カメラ1の位置および/または傾きを、変化後の基準視線5に応じた位置および/または傾きに変更する。また、制御後の仮想カメラ1に対してuvw視野座標系を再設定する。
In the present embodiment, in S <b> 11, the virtual camera control unit 221 identifies the identified visual field direction of the
S13において、視界領域決定部222は、特定した基準視線5に基づき、仮想空間2における視界領域23を決定する。その後、S14において、視界画像生成部223は、仮想空間データを処理することによって、仮想空間2に展開される仮想空間画像22の全体のうち、仮想空間2における視界領域23に投影(重畳)される部分である視界画像26を生成(レンダリング)する。S15において、視界画像生成部223は、生成した視界画像26を更新用の視界画像としてHMD110に出力する。S16において、HMD110は、受信した視界画像26をディスプレイ112に表示することによって、視界画像26を更新する。これにより、ユーザがHMD110を動かせば、それに連動して視界画像26が更新される。
In S <b> 13, the visual field region determination unit 222 determines the
(プラットフォームの提供およびコンテンツの再生処理)
本実施形態では、HMDシステム100は、仮想空間2においてユーザが視聴したいコンテンツを仮想空間2においてユーザに選択するための環境(プラットフォーム)を、ユーザに提供する。ユーザが、仮想空間2に展開されるプラットフォームを通じて、視聴したいコンテンツを選択すれば、制御回路部200は、選択されたコンテンツの仮想空間2における再生を開始する。以下に、プラットフォームの提供およびコンテンツの再生処理の詳細について、説明する。
(Platform provision and content playback processing)
In the present embodiment, the
図9は、HMDシステム100が、仮想空間2内のプラットフォームを通じてユーザが選択した動画コンテンツを仮想空間2において再生する処理の流れを示すシーケンス図である。図10は、仮想空間2内のプラットフォームを通じた動画コンテンツの選択および再生を説明する図である。図9に示す処理が開始されると、まず、S21において、仮想空間規定部231が、プラットフォーム提供用の仮想空間2を表す仮想空間データを生成することによって、プラットフォーム提供用の仮想空間2を規定する。生成の手順は次の通りである。まず仮想空間規定部231は、プラットフォームに対応した仮想空間2の雛形データを、雛形格納部241から取得する。ここでは、オブジェクトが使用可能な仮想空間2の雛形データが取得される。
FIG. 9 is a sequence diagram illustrating a flow of processing in which the
仮想空間規定部231は、さらに、仮想空間2において提供されるプラットフォームに関するプラットフォームコンテンツを、コンテンツ格納部242から取得する。仮想空間規定部231は、取得した雛形データに、取得したプラットフォームコンテンツを適合することによって、プラットフォームを提供するための仮想空間2を規定する仮想空間データを生成する。仮想空間規定部231は、仮想空間データにおいて、仮想空間2の天球を構成する各メッシュの管理データに、プラットフォームコンテンツに含まれる背景画像を構成する各部分画像を適宜関連付ける。
The virtual
仮想空間規定部231は、さらに、プラットフォームコンテンツに含まれる各オブジェクトの管理データを、仮想空間データに追加する。これにより各オブジェクトが、プラットフォームを提供する仮想空間2における所定の位置にそれぞれ配置される。各オブジェクトのうち1つは、ユーザによって操作される操作オブジェクトである。詳しくは後述するが、操作オブジェクト27は、仮想カメラ1または仮想空間2を回転させるために用いられる。残りは、視聴用コンテンツの概要画像(サムネイル)を表示するために用いられるサムネイルオブジェクトである。仮想空間規定部231は、次に、コンテンツ格納部242に格納される一定数の視聴用コンテンツ(ここでは動画コンテンツ)のサムネイルを、それぞれ取得する。仮想空間規定部231は、取得した各サムネイルを、仮想空間データ内のいずれかのサムネイルオブジェクトの管理データに関連付ける。これにより、仮想空間2に配置される各サムネイルオブジェクトに、サムネイルが関連付けられる。以下では、説明の便宜のために、仮想空間2に配置される、サムネイルが関連付けられたサムネイルオブジェクトのことを、単にサムネイルと表記する場合がある。
The virtual
対応するサムネイルがオブジェクトに関連付けられた各視聴用コンテンツは、ユーザが仮想空間2において再生させるために選択可能な動画コンテンツの候補(候補動画コンテンツ)である。ユーザは、サムネイルをの選択を通じて、対応する候補動画コンテンツを選択することができる。制御回路部200は、プラットフォームにおいてユーザによって選択された候補動画コンテンツを、仮想空間2において再生させる動画コンテンツとして特定する。
Each viewing content in which the corresponding thumbnail is associated with the object is a moving image content candidate (candidate moving image content) that can be selected for reproduction in the
図10の(a)に、プラットフォーム提供用の仮想空間2の一例を示す。この図には、1つの操作オブジェクト27および4つのサムネイルSN1〜SN4が配置される、プラットフォーム提供用の仮想空間2を示す。これらのサムネイルSN1〜SN4は、いずれも、対応する動画コンテンツの概要画像(サムネイル)が関連付けられたオブジェクトである。操作オブジェクト27の形状は、基本的に円形である。詳しくは後述するが、操作オブジェクト27は、ユーザによる操作オブジェクト27への操作に応じて弾性変形(伸張)する。
FIG. 10A shows an example of a
図10の(a)に示す仮想空間2を表す仮想空間データの生成後、S22において、視界画像生成部223は、ユーザの基準視線5に基づき視界画像26を生成する。この生成方法は図8を参照して説明した方法と同一である。ここでは、プラットフォームに対応した視界画像26が生成される。図10の(a)では、サムネイルSN1〜N4のうち、ユーザの基準視線5によって規定される視界領域23の内部に、操作オブジェクト27、サムネイルSN1、およびSN2が配置されている。一方、サムネイルSN3およびSN4は、視界領域23の外部に配置されている。そのため視界画像生成部223は、操作オブジェクト27、サムネイルSN1、SN2を含む視界画像26を生成する。詳しくは後述するが、視界画像生成部223は、さらに注視点28を含む視界画像26を生成する。注視点28は、ユーザが視界画像26におけるどの位置に視線を当てているのかを示す情報である。
After generating the virtual space data representing the
S23において、視界画像生成部223は、生成した視界画像26をHMD110に出力する。S24においてHMD110は、受信した視界画像26をディスプレイ112に表示する。ユーザは、プラットフォームの視界画像26を視認する。サムネイルが関連付けられたオブジェクトが視界画像26に含まれる場合、視界画像26の表示時、当該オブジェクトに関連付けられたサムネイルがディスプレイ112に表示される。これによりユーザは、サムネイルを含む視界画像26を視認する。また、操作オブジェクト27が視界画像26に含まれる場合、視界画像26の表示時、操作オブジェクト27がディスプレイ112に表示される。これによりユーザは、操作オブジェクト27を含む視界画像26を視認する。
In S <b> 23, the visual field
図10の(b)に、プラットフォームの視界画像26の一例を示す。この図に示す視界画像26は、操作オブジェクト27、注視点28、サムネイルSN1、およびサムネイルSN2を含む。したがってユーザは、仮想空間2において、操作オブジェクト27、注視点28、サムネイルSN1、およびサムネイルSN2を視認する。
FIG. 10B shows an example of the
視界画像生成部223は、基準視線5および視線方向N0に基づき視界画像26における注視点28の位置を決定する。ユーザが正面を視認している場合、すなわち、基準視線5が視線方向N0に一致する場合、視界画像生成部223は、視界画像26の生成時に、基準視線5に基づき視界画像26の中央に注視点28を配置する。ユーザが正面を視認したまま視線を変えない場合、基準視線5は視線方向N0に一致するので、注視点28は常に視界画像26の中央に配置される。
The visual field
一方、視界画像生成部223は、ユーザが視線を動かしたために視線方向N0が基準視線5からずれた場合、現在の視線方向N0に基づき、視界画像26における注視点28の位置を決定する。具体的には、視界領域23における視線方向N0が交わる交点を特定し、次に、視界画像26におけるこの交点に対応する位置に注視点28が当てられた視界画像26を生成する。
On the other hand, the visual field
ユーザがHMD110を動かさずに(基準視線5が固定されたまま)視線だけを動かすと、その視線の動きに追随して、視界画像26における注視点28の位置が変更される。これにより、視界画像26においてユーザが視線を当てた位置に注視点28が表示されるように、視界画像26が更新される。言い換えると、ユーザは、視線の動きによって、視界画像26内において注視点28を自在に動かすことができる。したがってユーザは、注視点28を確認することによって、視界画像26におけるどの箇所に視線を当てているのかを正確に把握することができる。
When the user moves only the line of sight without moving the HMD 110 (while the reference line of
図9には示さないが、この後、ユーザがHMD110を動かせば、その動きに連動して視界画像26が更新される。たとえば、ユーザがHMD110を動かすことによって、視界領域23の位置が、サムネイルSN1およびSN3を含む位置に変化すれば、サムネイルSN1およびSN3を含む視界画像26がディスプレイ112に表示される。したがってユーザは、HMD110を適宜動かすことによって、視聴したい動画コンテンツのサムネイルを、自身の視界のうちに収めることができる。
Although not shown in FIG. 9, if the user moves the
プラットフォームの視界画像26が表示された後、S25において、注視センサ130は、ユーザの右目の視線および左目の視線をそれぞれ検出し、S26において、各検出値を制御回路部200に送信する。視線検出部212が、この検出値を受信する。S27において、視線検出部212は、受信した検出値を用いて、仮想カメラ1のuvw視野座標系におけるユーザの視線方向N0を特定する。
After the
S28において、視線管理部232は、視線方向N0と、視界領域23に含まれる各サムネイルとに基づき、視界画像26に含まれる特定のサムネイルに規定時間以上ユーザの視線(注視点28)が当たったか否かを判定する。より詳細には、視線管理部232は、視界領域23における視線方向N0が交わる点が、視界領域23に含まれる特定のサムネイルの表示範囲(配置範囲)に含まれているか否かを判定する。この判定結果がYESであれば、視界画像26に含まれる特定のサムネイルに視線が当たったと判定し、NOであれば、視線は特定のサムネイルに当たっていないと判定する。
In S28, based on the line-of-sight direction N0 and each thumbnail included in the field-of-
S28がNoの場合、図9の処理はS25の直前に戻る。この後、S28がYESになるまで、S25〜S28の処理が繰り返される。一方、S28がYESの場合、S29において、コンテンツ特定部233は、規定時間以上視線が当たったと判定されたサムネイルに対応するコンテンツを特定する。たとえばユーザがサムネイルSN1に視線を当てれば、視界画像26においてサムネイルSN1に注視点28が重畳される。さらに、ユーザがサムネイルSN1に規定時間以上視線を当てれば、サムネイルSN1に対応するコンテンツとして、サムネイルSN1の管理データに関連付けられる動画コンテンツを特定する。
When S28 is No, the process of FIG. 9 returns to immediately before S25. Thereafter, the processes of S25 to S28 are repeated until S28 becomes YES. On the other hand, when S28 is YES, in S29, the
この後、S30において、仮想空間規定部231は、特定された動画コンテンツを再生するための仮想空間データを生成することによって、動画コンテンツ再生用の仮想空間2を規定する。生成の手順は次の通りである。まず仮想空間規定部231は、動画コンテンツに対応した仮想空間2の雛形データを、雛形格納部241から取得する。
Thereafter, in S30, the virtual
仮想空間規定部231は、コンテンツ特定部233によって特定された動画コンテンツを、コンテンツ格納部242から取得する。仮想空間規定部231は、取得した雛形データに、取得した動画コンテンツを適合することによって、動画コンテンツ再生用の仮想空間2を規定する仮想空間データを生成する。仮想空間規定部231は、仮想空間データにおいて、仮想空間2の天球を構成する各メッシュの管理データに、動画コンテンツに含まれる最初のフレームの画像を構成する各部分画像を適宜関連付ける。
The virtual
ここで生成される仮想空間データによって規定される仮想空間2においては、オブジェクトを配置することが想定されていない。さらに、動画コンテンツには、オブジェクトを規定する管理データが含まれない。そのためS30において、仮想空間規定部231は、オブジェクトの管理データを含まない仮想空間データを生成する。
In the
動画コンテンツ再生用の仮想空間2を表す仮想空間データの生成後、S31において、視界画像生成部223は、ユーザの基準視線5に基づき視界画像26を生成する。この生成方法は図8を参照して説明した方法と同一である。ここでは、動画コンテンツの視界画像26が生成される。S32において、視界画像生成部223は、生成した視界画像26をHMD110に出力する。S33においてHMD110は、受信した視界画像26をディスプレイ112に表示することによって、視界画像26を更新する。これにより仮想空間2における動画コンテンツの再生が開始され、ユーザは動画コンテンツの視界画像26を視認する。
After generating the virtual space data representing the
図9には示さないが、この後、ユーザがHMD110を動かせば、その動きに連動して視界画像26が更新される。したがってユーザは、HMD110を適宜動かすことによって、動画コンテンツを構成する各フレームの全天球画像における所望の位置の部分画像(視界画像26)を、視認することができる。
Although not shown in FIG. 9, if the user moves the
図10の(c)に、動画コンテンツの視界画像26の一例を示す。この図に示す視界画像26は、ユーザによって選択されたサムネイルSN1に対応する動画コンテンツの視界画像26である。このように、ユーザが、図10の(b)に示すプラットフォームの視界画像26を視認中にサムネイルSN1を視線によって選択すると、ディスプレイ112に表示されるプラットフォームの視界画像26が、図10の(c)に示す動画コンテンツの視界画像26に更新される。すなわちユーザは、仮想空間2において視線移動によってサムネイルSN1を選択することによって、これに対応した動画コンテンツを仮想空間2において視聴することができる。
FIG. 10C shows an example of the
以上のように、ユーザは、仮想空間2において視聴したい動画コンテンツを、仮想空間2における動画コンテンツ選択用のプラットフォームを通じて選択することができる。したがってユーザは、HMD110を装着する前に、制御回路部200に接続される他の一般的なディスプレイを現実空間において視認しながら、仮想空間2において視聴したい動画コンテンツを選択する必要がない。これにより、仮想空間2に対するユーザの没入感をより一層高めることができる。
As described above, the user can select the moving image content desired to view in the
また、制御回路部200は、動画コンテンツの再生中にユーザが所定の操作をHMDシステム100に対して(たとえばコントローラ300を通じて)行えば、動画コンテンツが再生される仮想空間2をユーザに提供することを終了し、それから再び、動画コンテンツ選択用のプラットフォームが展開される仮想空間2をユーザに提供する。これによりユーザは、他のサムネイルを選択することによって、他の動画コンテンツを仮想空間2において視聴することができる。ユーザは、視聴したい動画コンテンツを切り替える際にHMD110を外す必要がないので、仮想空間2に対するユーザの没入感をより一層高めることができる。
In addition, if the user performs a predetermined operation on the HMD system 100 (for example, through the controller 300) during reproduction of the moving image content, the
(仮想カメラ1の回転制御)
本実施形態に係る制御回路部200は、通常モード(第1のモード)または回転モード(第2のモード)において動作する。通常モードと回転モードとでは、制御回路部200による仮想カメラ1の制御方法が相違する。通常モードにおいて、制御回路部200は、HMD110の傾きに連動させて仮想空間2における仮想カメラ1の傾きを制御する。したがって、通常モードにおいてユーザがHMD110を傾けると、それに連動して仮想カメラ1も傾き、その傾きに応じた視界画像26がHMD110に表示される。
(Rotation control of virtual camera 1)
The
回転モードにおいて、制御回路部200は、仮想空間2における仮想カメラ1の傾きを、HMD110の傾きに連動させて制御しない。したがって、回転モードにおいてユーザがHMD110を傾けても、それに連動して仮想カメラ1は傾かない。その代わりに、制御回路部200は、ユーザによる操作オブジェクト27の操作に応じて、仮想空間2において仮想カメラ1を回転させる。本実施形態ではユーザはHMD110の動きによって操作オブジェクト27を操作することができる。したがって、制御回路部200は、回転モードおいて、HMD110の傾きに応じて仮想カメラ1を回転させる。
In the rotation mode, the
通常モードでは、ユーザがHMD110の動きを止めると、仮想カメラ1の動きも止まる。したがって、視界画像26の更新も止まる。一方、回転モードでは、ユーザがHMD110の動きを止めても、仮想カメラ1の回転は止まらない。すなわち、ユーザがHMD110を回転開始時の状態からさらに傾けた状態を維持し続ける限り、仮想カメラ1は回転し続ける。これにより、視界画像26も更新され続ける。
In the normal mode, when the user stops the movement of the
図11は、HMDシステム100が回転モードに移行する際の処理の流れを示すシーケンス図である。以下では、プラットフォームが再生される仮想空間2がユーザに提供されている場合を例に挙げて説明する。
FIG. 11 is a sequence diagram illustrating a processing flow when the
プラットフォームの視界画像26が表示された後、S41において、HMDセンサ120が、HMD110の位置および傾きを検出して、S42において、検出値を制御回路部200に出力する。HMD検出部211は、この検出値を受信する。仮想カメラ制御部221は、HMD110の位置および傾きの検出値に基づき、上述した手順によって基準視線5を特定する。仮想カメラ制御部221は、特定した基準視線5に基づき、仮想カメラ1を制御する。
After the
次に、S43において、操作オブジェクト制御部234は、仮想空間2において操作オブジェクト27に基準視線5が規定時間以上当たったか否かを判定する。S43においてNOの場合、視界領域決定部222は、特定した基準視線5に基づき、仮想空間2における視界領域23を決定する。その後、S44において、視界画像生成部223は、視界画像26を生成し、S45においてHMD110に出力する。S46において、HMD110は、受信した視界画像26をディスプレイ112に表示することによって、視界画像26を更新する。これにより、通常モードにおいてユーザがHMD110を動かせば、それに連動して視界画像26が更新される。
Next, in S43, the operation
ユーザがHMD110を動かした場合、操作オブジェクト27が視界領域23に含まれていれば、操作オブジェクト27は他のオブジェクトと同様に動かない。一方、ユーザがHMD110を動かすことによって、操作オブジェクト27が視界領域23から外れた場合、操作オブジェクト27は視界領域23内に戻るように動く。
When the user moves the
これを実現する手順は次の通りである。まず操作オブジェクト制御部234は、操作オブジェクト27の少なくとも一部が視界領域23の外に位置することを検出する。次に操作オブジェクト制御部234は、操作オブジェクト27の少なくとも一部が視界領域23の外に位置することを検出した場合、操作オブジェクト27を視界領域23の中に移動させる。具体的には、操作オブジェクト27を規定するデータにおける、操作オブジェクト27の位置(座標)を、現在の視界領域23内のいずれかの座標に更新する。
The procedure for realizing this is as follows. First, the operation
操作オブジェクト27が視界領域23に戻る位置は、視界領域23内の任意の位置であればよい。操作オブジェクト27が移動する際に移動量が最も少なくなる位置であることが好ましい。たとえば、操作オブジェクト27が視界領域23の右側に位置するようになった場合、操作オブジェクト制御部234は、操作オブジェクト27を視界領域23の右端に移動させることが好ましい。
The position where the
これにより、通常モードおいて、視界領域23に常に操作オブジェクト27が含まれるので、視界領域23に基づき生成される視界画像26にも、常に操作オブジェクト27が含まれる。したがってユーザは、操作オブジェクト27を選択したい場合、操作オブジェクト27を容易に見つけ出すことができる。また、後述するように基準視線5によって操作オブジェクト27を選択する場合、基準視線5を操作オブジェクト27に当てるためのHMD110の移動制御を、最小限にすることができる。
Thereby, in the normal mode, since the
一方、S43においてYESの場合、操作オブジェクト制御部234は、S47において、ユーザによって操作オブジェクト27が選択されたことを検出する。このように、ユーザは、視線を操作オブジェクト27に当てることによって、操作オブジェクト27を選択することができる。操作オブジェクト27の選択をトリガとして、S48において、制御回路部200は回転モードに移行する。これにより、ユーザは自らの意思で制御回路部200を回転モードに移行させることができる。回転モードへの移行後、操作オブジェクト27へのユーザの操作に応じて、仮想カメラ1の回転が開始される。
On the other hand, in the case of YES in S43, the operation
図12は、制御回路部200が回転モードにおいて仮想カメラ1の回転を開始する際の処理の流れを示すシーケンス図である。
FIG. 12 is a sequence diagram showing a flow of processing when the
回転モードへの移行後、S51において、HMDセンサ120が、HMD110の位置および傾きを検出して、S52において、検出値を制御回路部200に出力する。HMD検出部211は、この検出値を受信する。S53において、操作オブジェクト制御部234は、HMD110の傾きが変化したか否かを判定する。S53においてNOの場合、図12の処理はS51の前に戻る。したがって、操作オブジェクト27の選択後、ユーザがHMD110をさらに傾けるまで、S51〜S53の工程が繰り返される。
After shifting to the rotation mode, the
一方、S53においてYESの場合、S54において、操作オブジェクト制御部234は、HMD110の傾きの変化量を特定する。S55において、操作オブジェクト制御部234は、特定した傾きの変化量に基づき、ユーザによって指定された操作オブジェクト27の伸張方向(所定方向)および伸張量(所定量)を特定する。S56において、操作オブジェクト制御部234は、操作オブジェクト27を、特定した伸張方向に、特定した伸張量だけ伸張させる。その際、操作オブジェクト制御部234は、操作オブジェクト27の根本から伸張方向の終端部に向かって徐々に操作オブジェクト27が細くなるように、操作オブジェクト27を伸張する。また、操作オブジェクト27の伸張方向の終端部に基準視線5が重畳するように、操作オブジェクト27の表示状態を変更する。
On the other hand, in the case of YES in S53, the operation
その後、S57において、回転制御部235は、操作オブジェクト27の伸張方向に基づき仮想カメラ1の回転方向を決定すると共に、操作オブジェクト27の伸張量に基づき仮想カメラ1の回転速度を決定する。その際、操作オブジェクト制御部234は、伸張方向における水平方向の成分に平行な方向を、仮想カメラ1の回転方向として特定することが好ましい。これにより、仮想カメラ1は仮想空間2におけるY軸周りにのみ回転する。また、仮想カメラ1が仮想空間2におけるZ軸周りに回転することを防止することができる。これにより、視界画像26の更新時に仮想空間2の地面が上下に移動するユーザが視認することを防止できるので、仮想空間2におけるユーザの酔い発生を防止することができる。
Thereafter, in S <b> 57, the
S58において、仮想カメラ制御部221は、決定された回転方向に決定された回転速度で仮想カメラ1の回転を開始する。仮想カメラ1が回転すると、仮想空間2における仮想カメラ1のロール方向が変わるので、視界領域23が変更される。操作オブジェクト制御部234は、仮想カメラ1の回転時に操作オブジェクト27が常に視界領域23の中央に配置されるように、操作オブジェクト27を制御する。具体的には、操作オブジェクト27の管理データにおいて、操作オブジェクト27の座標を視界領域23の中央の座標に更新する。これにより仮想カメラ1のuvw視野座標系における操作オブジェクト27の位置が固定された状態で、仮想カメラ1および操作オブジェクト27がいずれも仮想空間2において回転する。
In S58, the virtual camera control unit 221 starts the rotation of the
視界領域決定部222は、一定時間回転後の仮想カメラ1の向き(ロール方向)に基づき視界領域23を決定する。そして、S59において、視界画像生成部223は、決定された視界領域23に基づき視界画像26を生成し、S60においてHMD110に送信する。S61おいて、HMD110は、受信した視界画像26をディスプレイ112に表示することによって、視界画像26を更新する。これにより、仮想カメラ1の回転前の視界画像26が、仮想カメラ1の回転後の視界画像26に更新される。
The visual field area determination unit 222 determines the
図13は、仮想カメラ1が回転した後の仮想空間2および視界画像26を示す図である。図13の(a)に仮想空間2を示し、図13の(b)に視界画像26を示す。以下では、操作オブジェクト27の選択後、ユーザが首を左側にねじることによって、操作オブジェクト27を左側に伸張させる操作を操作オブジェクト27に対して行った例を説明する。この場合、操作オブジェクト27の伸張方向はユーザから見て左側の方向なので、仮想カメラ1の回転方向として、Y軸を自転軸とした左回りの回転方向が決定される。したがって仮想カメラ1は、Y軸を自転軸として左回りに回転する。
FIG. 13 is a diagram illustrating the
仮想カメラ1が左回りに回転することによって、視界領域23の位置が、仮想空間2において左回りにずれる。これにより、図13の(a)に示すように、視界領域23におけるサムネイルSN1およびサムネイルSN2の位置が、回転開始前の位置よりも相対的に右側にずれるようになる。仮想カメラ1は回転中であるので、操作オブジェクト27は伸張している。
By rotating the
図13の(b)に示すように、仮想カメラ1が回転した後の視界領域23に基づく視界画像26には、サムネイルSN1およびサムネイルSN2が含まれる。視界領域23におけるサムネイルSN1およびサムネイルSN2の位置が仮想カメラ1の回転開始前よりも右側にずれていることから、これに対応して、視界画像26におけるサムネイルSN1およびサムネイルSN2の位置も、仮想カメラ1の回転開始前よりも右側にずれている。したがってユーザは、仮想カメラ1が左回りの回転を開始したことを把握することができる。
As shown in FIG. 13B, the
仮想カメラ1の回転開始後、ユーザが左側に首をねじり続けている間、仮想カメラ1は左回りに回転し続ける。一方、ユーザが、首をねじることを止めて、顔を正面に向けると、仮想カメラ1の回転は停止される。以下では、これらの処理の流れを説明する。
After the
図14は、制御回路部200が回転モードにおいて仮想カメラ1をさらに回転させるかまたは仮想カメラ1の回転を停止させる際の処理の流れを示すシーケンス図である。
FIG. 14 is a sequence diagram illustrating a processing flow when the
仮想カメラ1の回転中に、S71において、HMDセンサ120が、HMD110の位置および傾きを検出して、S72において、検出値を制御回路部200に出力する。HMD検出部211は、この検出値を受信する。S73において、操作オブジェクト制御部234は、HMD110の現在の傾きが、操作オブジェクト27の選択時のHMD110の傾き一致するか否かを判定する。S73においてNOの場合、S74において、仮想カメラ制御部221は、仮想カメラ1をさらに回転させる。
While the
その後、視界領域決定部222は、一定時間回転後の仮想カメラ1の向き(ロール方向)に基づき視界領域23を決定する。そして、S75において、視界画像生成部223は、決定された視界領域23に基づき視界画像26を生成し、S76においてHMD110に送信する。S77において、HMD110は、受信した視界画像26をディスプレイ112に表示することによって、視界画像26を更新する。これにより、仮想カメラ1を一定時間回転した後の視界画像26が、仮想カメラ1をさらに回転した後の視界画像26に更新される。
Thereafter, the visual field region determination unit 222 determines the
S77の後、図14に示す処理はS71の前に戻る。したがって、仮想カメラ1の回転開始後、ユーザがHMD110の傾きを元に戻す(操作オブジェクト27の選択時の傾きに戻す)まで、S71〜S77の工程が繰り返される。すなわち、操作オブジェクト27に対するユーザの操作が検出され続ける限り、仮想カメラ制御部221は仮想カメラ1を回転させ続ける。
After S77, the process shown in FIG. 14 returns to before S71. Therefore, after the rotation of the
図15は、仮想カメラ1がさらに回転した後の仮想空間2および視界画像26を示す図である。図15の(a)に仮想空間2を示し、図15の(b)に視界画像26を示す。仮想カメラ1が左回りにさらに回転することによって、視界領域23の位置も、仮想空間2においてさらに左回りにずれる。これにより視界領域23は、仮想空間2におけるサムネイルSN1、サムネイルSN3、およびサムネイルSN4を含む位置に配置されるようになる。仮想カメラ1が回転中であるので、操作オブジェクト27も依然として伸張したままである。
FIG. 15 is a diagram illustrating the
図15の(b)に示すように、仮想カメラ1がさらに回転した後の視界領域23に基づく視界画像26には、サムネイルSN1、サムネイルSN3、およびサムネイルSN4が含まれる。したがってユーザは、仮想カメラ1の回転中に、サムネイルSN4が新たに自身の視界に入ったことを把握する。以下では、この時点で仮想カメラ1の回転を停止させるための操作を操作オブジェクト27に対して行う例を説明する。
As shown in FIG. 15B, the
S73においてYESの場合、S78において、操作オブジェクト制御部234は、ユーザによる操作オブジェクト27への伸張方向および伸張量の指定が解除されたことを検出する。これにより操作オブジェクト制御部234は、S79において、操作オブジェクト27の形状を元の円形に戻す。次にS80において、操作オブジェクト制御部234は、操作オブジェクト27の選択を解除する。次にS81において、仮想カメラ制御部221は、仮想カメラ1の回転を停止させる。
If YES in S73, in S78, the operation
仮想カメラ1の回転停止後、S82において、制御回路部200は、通常モードに移行する。これにより視界領域決定部222は、仮想カメラ1の回転が停止した時点での仮想カメラ1の向きに基づき視界領域23を特定する。視界画像生成部223は、S83において、視界領域23に基づき視界画像26を生成し、S84において視界画像26をHMD110に出力する。HMD110は、S85において、受信した視界画像26をディスプレイ112に表示することによって、視界画像26を更新する。
After the rotation of the
図16は、仮想カメラ1の回転が停止した後の仮想空間2および視界画像26を示す図である。図16の(a)に仮想空間2を示し、図16の(b)に視界画像26を示す。図16には、図15に示す状態まで仮想カメラ1が回転した直後に、仮想カメラ1の回転が停止した場合の例を示す。仮想カメラ1の回転停止後、仮想空間2における操作オブジェクト27の形状は元の円形に戻っている。これに対応して、視界画像26に含まれる操作オブジェクト27の形状も、元の円形に戻っている。操作オブジェクト27は選択されておらず、さらに制御回路部200は通常モードで動作している。したがってユーザは、通常通り、視線を動かすことによって視界画像26内の所望のサムネイルを選択することができる。
FIG. 16 is a diagram showing the
図16の(b)に示す視界画像26には、仮想空間2においてサムネイルSN1から離れた位置にあるサムネイルSN4が含まれる。したがってユーザは、仮想カメラ1の回転前には視認できなかったサムネイルSN4を、簡単な操作によって容易に自身の視野に収めることができる。また、ユーザは、サムネイルSN4に視線を当てることによって、サムネイルSN4に対応した動画コンテンツの視聴を開始することができる。
The field-of-
以上のように、本発明に係るHMDシステム100は、通常モードでは仮想空間2に対するユーザの没入感を高めることができる。さらに、回転モードでは、ユーザは、通常モードに比べてより簡単な操作で、仮想空間2における所望の箇所を視認することができる。HMDシステム100が通常モードおよび回転モードの両方に対応していることによって、仮想空間2におけるユーザの没入間を高めつつ、仮想空間2における操作性をより高めることができる。また、各サムネイルを仮想空間2における幅広い範囲にそれぞれ配置することができるので、仮想空間2をより有効に活用することができる。
As described above, the
制御回路部200は、回転モードにおいて、操作オブジェクト27の伸張量が閾値を超えた場合、仮想カメラ1の回転を停止してもよい。具体的には、操作オブジェクト制御部234は、第2のモードにおいて、操作オブジェクト27の伸張量が閾値を超えた場合、操作オブジェクトを元の形状に戻し、かつ、操作オブジェクトの選択を解除する。操作オブジェクト制御部234は、操作オブジェクト27を元の形状に戻す前に、伸張した操作オブジェクト27を切るように操作オブジェクト27の表示状態を変更してもよい。仮想カメラ制御部221は、操作オブジェクト27の伸張量が閾値を超えた場合、仮想カメラ1の回転を停止する。この後、制御回路部200は、通常モードに移行する。この場合も、ユーザは簡単な操作で仮想カメラ1の停止させることができる。
In the rotation mode, the
(仮想空間2を回転させる例)
制御回路部200は、回転モードにおいて、操作オブジェクト27に対するユーザの操作に基づき、仮想カメラ1ではなく仮想空間2を回転させてもよい。この場合、回転制御部235は、特定した回転方向および回転速度を、仮想空間規定部231に通知する。仮想空間規定部231は、通知された回転方向および回転速度で仮想空間2を回転させる。ここでいう「回転」とは、仮想空間2の中心21を通る軸を自転軸とした仮想空間2の自転を意味する。
(Example of rotating the virtual space 2)
The
仮想空間規定部231は、仮想空間2のXYZ座標系をグローバル座標系において回転させることによって、仮想空間2を回転させる。このとき、仮想空間データに含まれるXYZ座標系を規定するデータを処理することによって、回転後のXYZ座標系を規定するデータに更新する。仮想空間2における各メッシュの位置はXYZ座標系における座標として各メッシュの管理データに規定されているので、XYZ座標系がグローバル座標系において回転することによって、各メッシュもグローバル座標系において同様に回転する。同様に、仮想空間2に配置されるサムネイルSN1〜SN4の位置も、XYZ座標系における座標として各サムネイルの管理データに規定されているので、XYZ座標系がグローバル座標系において回転することによって、サムネイルSN1〜SN4もグローバル座標系において同様に回転する。
The virtual
仮想空間規定部231は、仮想空間2を回転させる際、仮想カメラ1を仮想空間2と共に回転させない。すなわち、グローバル座標系における仮想カメラ1の位置および傾きを固定したまま、仮想空間2を回転させる。したがって、仮想空間2が回転すると、仮想空間2における仮想カメラ1のロール方向が相対的に変化する(仮想空間2に対して相対的に回転する)。その結果、視界領域23の位置も相対的に変化するので、その変化に追随して視界領域23に基づく視界画像26も変化する。
The virtual
仮想空間2が鉛直方向を自転軸として左回りに回転すると、仮想空間2における視界領域23の位置は、仮想空間2において相対的に右回りの方向に移動する。これにより視界画像26は、ユーザから見て右から左に流れるように更新される。逆に、仮想空間2が鉛直方向を自転軸として右回りに回転すると、仮想空間2における視界領域23の位置は、仮想空間2において相対的に左回りの方向に移動する。これにより視界画像26は、ユーザから見て左から右に流れるように更新される。
When the
仮想空間規定部231は、仮想空間2を回転させる際、操作オブジェクト27は仮想空間2と共に回転させないように制御する。具体的には、仮想カメラ1のuvw視野座標系における基準視線5と操作オブジェクトとの位置関係を維持したまま、仮想空間2を回転させる。言い換えると、仮想空間2の回転時、視界領域23において基準視線5が交わる点に操作オブジェクト27が常に配置されるように、仮想空間2における操作オブジェクト27の位置を更新する。この結果、回転モードにおいて仮想空間2がどれだけ回転しても、視界画像26には必ず操作オブジェクト27が含まれる。ユーザは、仮想空間2の回転中において、伸張した操作オブジェクト27を常に視認することによって、現在、操作オブジェクト27に対する操作に基づき仮想空間2が回転していることを認識することができる。
The virtual
ユーザによって指定された操作オブジェクト27の伸張方向に基づく仮想空間2の回転方向は、同じ伸張方向が指定された場合の仮想カメラ1の回転方向と逆であることが好ましい。これにより、視界画像26が流れる方向を、仮想カメラ1の回転時と仮想空間2の回転時とで一致させることができる。したがって、仮想カメラ1または仮想空間2のいずれを回転させる場合でも、操作オブジェクト27に対するユーザの同一の操作に基づく視界画像26の流れる方向に一貫性を持たせることができる。
The rotation direction of the
(視線による操作オブジェクト27の操作)
通常モードにおいて、ユーザは、HMD110ではなく視線を動かすことによって、操作オブジェクト27を選択したり操作したりしてもよい。この場合、ユーザは、視界画像26に含まれる操作オブジェクト27に視線を向けることによって、視界画像26において注視点28を操作オブジェクト27に当てる。視線管理部232は、注視点28が操作オブジェクト27に規定時間以上当たった否かを判定する。この判定結果が真である場合、操作オブジェクト制御部234は、操作オブジェクト27がユーザによって選択されたことを検出する。これにより、制御回路部200は回転モードに移行する。
(Operation of the
In the normal mode, the user may select or operate the
視線による操作オブジェクト27の選択後、ユーザは、視線移動によって操作オブジェクト27を操作することができる。この場合、ユーザは、操作オブジェクト27が選択されているときに、視線をいずれかの方向に変化させる。視線管理部232は、視線変化前後の各視線方向N0に基づき、視線方向N0の移動方向および移動量を特定する。操作オブジェクト制御部234は、視線方向N0の移動方向に基づき操作オブジェクト27の伸張方向を決定し、さらに、視線方向N0の移動量に基づき操作オブジェクト27の伸張量を決定する。伸張方向および伸張量の決定後の操作オブジェクト27の伸張および仮想カメラ1(または仮想空間2)の回転方法は、上述した例と同一である。
After selecting the
以上の例では、ユーザは、HMD110を動かすことなく、視線を変化させる(眼球を動かす)ことによって、仮想カメラ1または仮想空間2を所望の方向に回転させることができる。たとえば、回転モードにおいてユーザが正面右側に視線を移せば、仮想カメラ1を右回り(仮想空間2を左回り)に回転させることができる。一方、回転モードにおいてユーザが正面左側に視線を移せば、仮想カメラ1を左回り(仮想空間2を右回り)に回転させることができる。これらのようにユーザは、より簡単な操作で、仮想空間2における所望の箇所を自身の視界に収めることができる。
In the above example, the user can rotate the
(コントローラ300による回転制御)
ユーザは、コントローラ300を操作することによって、操作オブジェクト27を選択したり操作したりこともできる。この場合、通常モードにおいて、操作オブジェクト制御部234は、ユーザがコントローラ300に対して操作オブジェクト27を選択するための操作を行った場合、ユーザによって操作オブジェクト27が選択されたことを検出する。また、回転モードにおいて、操作オブジェクト制御部234は、ユーザがコントローラ300を操作することによって操作オブジェクト27の伸張方向および伸張量を操作オブジェクト27に指定する操作を行った場合、これらの伸張方向および伸張量を特定する。伸張方向および伸張量の決定後の操作オブジェクト27の伸張および仮想カメラ1(または仮想空間2)の回転方法は、上述した例と同一である。
(Rotation control by the controller 300)
The user can also select and operate the
以上の例では、ユーザは、HMD110を動かすことなく、かつ視線を変化させることなく、コントローラ300を操作することによって、仮想カメラ1または仮想空間2を所望の方向に回転させることができる。たとえば、回転モードにおいてユーザが操作オブジェクト27を右側に伸張させるための操作をコントローラ300に対して行えば、仮想カメラ1を右回り(仮想空間2を左回り)に回転させることができる。一方、回転モードにおいてユーザが操作オブジェクト27を左側に伸張するための操作をコントローラ300に対して行えば、仮想カメラ1を左回り(仮想空間2を右回り)に回転させることができる。
In the above example, the user can rotate the
コントローラ300は、ユーザが右手で持つ右コントローラと、ユーザが左手で持つ左コントローラとからなるものであってもよい。この場合、制御回路部200は、右コントローラの位置および傾きの検知値、ならびに、右コントローラが備える各ボタンへのユーザの押下操作の検出結果に基づき、ユーザの仮想右手を仮想空間2に生成することができる。同様に、制御回路部200は、左コントローラの位置および傾きの検知値、ならびに、左コントローラが備える各ボタンへのユーザの押下操作の検出結果に基づき、ユーザの仮想左手を仮想空間2に生成することができる。仮想右手および仮想左手は、いずれもオブジェクトである。
The
この態様では、ユーザは、仮想右手または仮想左手によって操作オブジェクト27に作用を与えることによって、操作オブジェクト27を選択したり操作したりすることができる。たとえばユーザが、仮想右手を操作オブジェクト27に接触させるように右手を動かした場合、操作オブジェクト制御部234は、操作オブジェクト27がユーザによって選択されたことを検出する。この後、ユーザが、仮想右手で操作オブジェクト27をつまむための操作をコントローラ300に対して行う(たとえば右コントローラのいずれかのボタンを押下する)と共に、仮想右手によって操作オブジェクト27を所定方向にドラッグするように右手を動かした場合、操作オブジェクト制御部234は、右手を動かす前後の右コントローラの位置の各検知値に基づき、操作オブジェクト27の伸張方向および伸張量を特定する。伸張方向および伸張量の決定後の操作オブジェクト27の伸張および仮想カメラ1(または仮想空間2)の回転方法は、上述した例と同一である。
In this aspect, the user can select and operate the
以上の例では、ユーザは、HMD110を動かすことなく、かつ視線を変化させることなく、右コントローラを操作することによって、仮想カメラ1または仮想空間2を所望の方向に回転させることができる。たとえば、回転モードにおいて、ユーザが、仮想右手によって操作オブジェクト27を右方向にドラッグするように右コントローラを操作すれば、仮想カメラ1を右回り(仮想空間2を左回り)に回転させることができる。一方、回転モードにおいて、ユーザが、仮想右手によって操作オブジェクト27を左側にドラッグするように右コントローラを操作すれば、仮想カメラ1を左回り(仮想空間2を右回り)に回転させることができる。これらの場合、ユーザは、より直感的に、仮想カメラ1または仮想空間2を回転させることができる。
In the above example, the user can rotate the
(機能区画による回転制御)
プラットフォームが展開される仮想空間2を構成する天球面におけるいずれかの位置に、機能区画が規定されていてもよい。機能区画は、所定の機能を割り当てることができる領域である。以下では、機能区画をユーザが選択した場合に、制御回路部200が回転モードに移行する例を説明する。以下の例では、機能区画には、ユーザの視線(視界方向または視線方向N0)が機能区画に当たったか否かを検出する機能が割り当てられている。さらに、機能区画には、ユーザの視線が機能区画に当たった時間を検出する機能も割り当てられている。
(Rotation control by functional section)
A functional partition may be defined at any position on the celestial sphere constituting the
視線管理部232は、通常モードにおいて機能区画に対してユーザの視線(基準視線5または視線方向N0)が規定時間以上当たったことを検出した場合、機能区画をユーザが選択したことを検出する。これにより制御回路部200は、回転モードに移行する。この後、ユーザによる何らかの操作に基づき、制御回路部200は仮想カメラ1または仮想空間2の回転を開始する。たとえば制御回路部200は、規定時間以上の注視によってユーザが選択した機能区画からユーザの視線が外れたか否かを判定する。制御回路部200は、ユーザの視線が機能区画から外れたと判定した場合、視線が外れた方向を特定する。そして、視線が外れた方向を視線の移動方向として特定し、さらに、特定した視線の移動方向に基づく回転方向に仮想カメラ1または仮想空間2を回転させる。本例のように機能区画を活用すれば、操作オブジェクト27を規定することができない仮想空間2がユーザに提供される場合も、ユーザの操作に基づき仮想カメラ1または仮想空間2を回転させることができる。
When the line-of-
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態も、本発明の技術的範囲に含まれる。各実施形態にそれぞれ開示された技術的手段を組み合わせることによって、新しい技術的特徴を形成することもできる。 The present invention is not limited to the above-described embodiments, and various modifications can be made within the scope of the claims. Embodiments obtained by appropriately combining technical means disclosed in different embodiments are also included in the technical scope of the present invention. A new technical feature can also be formed by combining the technical means disclosed in each embodiment.
〔ソフトウェアによる実現例〕
制御回路部200の制御ブロック(検出部210、表示制御部220、仮想空間制御部230、記憶部240、および通信部250)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
[Example of software implementation]
A control block (detection unit 210,
後者の場合、制御ブロックは、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、前記プログラムおよび各種データがコンピュータ(又はCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、前記プログラムを展開するRAM(Random Access Memory)等を備えている。そして、コンピュータ(又はCPU)が前記プログラムを前記記録媒体から読み取って実行することにより、本発明の目的が達成される。前記記録媒体としては、「一時的でない有形の媒体」、たとえば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路等を用いることができる。また、前記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して前記コンピュータに供給されてもよい。なお、本発明は、前記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。 In the latter case, the control block includes a CPU that executes instructions of a program that is software that realizes each function, a ROM (Read Only Memory) or a memory in which the program and various data are recorded so as to be readable by a computer (or CPU). A device (these are referred to as “recording media”), a RAM (Random Access Memory) for expanding the program, and the like are provided. And the objective of this invention is achieved when a computer (or CPU) reads the said program from the said recording medium and runs it. As the recording medium, a “non-temporary tangible medium” such as a tape, a disk, a card, a semiconductor memory, a programmable logic circuit, or the like can be used. The program may be supplied to the computer via an arbitrary transmission medium (such as a communication network or a broadcast wave) that can transmit the program. The present invention can also be realized in the form of a data signal embedded in a carrier wave, in which the program is embodied by electronic transmission.
〔付記事項〕
(項目1)ヘッドマウントディスプレイ(以下、HMD)を装着したユーザに仮想空間を提供する方法であって、第1のモードにおいて、前記仮想空間内に配置されかつ前記HMDに連動する仮想カメラのロール方向に基づく視界画像を前記HMDに表示させるステップと、第2のモードにおいて、前記ユーザの操作に基づき少なくとも回転方向を特定すると共に、前記操作が検出され続ける間、前記仮想カメラまたは前記仮想空間を前記回転方向に回転させ続けながら、前記HMDに表示させる前記視界画像を更新するステップとを有する、方法。仮想空間における操作性を高めることができる。
[Additional Notes]
(Item 1) A method of providing a virtual space to a user wearing a head-mounted display (hereinafter referred to as HMD), and in the first mode, a virtual camera roll arranged in the virtual space and interlocked with the HMD In the second mode, at least a direction of rotation is specified based on the user's operation, and the virtual camera or the virtual space is detected while the operation continues to be detected. Updating the field-of-view image displayed on the HMD while continuing to rotate in the rotation direction. The operability in the virtual space can be improved.
(項目2)
前記視界画像を前記HMDに表示させるステップにおいて、前記仮想空間に配置される操作オブジェクトを含む前記視界画像を前記HMDに表示させ、前記第1のモードにおいて、前記操作オブジェクトが前記ユーザによって選択されたことを検出するステップと、前記第1のモードにおいて、前記操作オブジェクトが選択されたことが検出された後、前記第2のモードに移行するステップとをさらに有する、項目1の方法。ユーザの意思により、第2のモードに移行することができる。
(Item 2)
In the step of displaying the view image on the HMD, the view image including the operation object arranged in the virtual space is displayed on the HMD, and the operation object is selected by the user in the first mode. The method according to
(項目3)前記第2のモードにおいて、前記操作オブジェクトが選択されたことが検出された後、前記ユーザによって前記操作オブジェクトに指定された所定方向を特定するステップと、前記第2のモードにおいて、前記操作オブジェクトを前記所定方向に弾性変形させるステップとをさらに有し、前記回転方向を決定するステップにおいて、前記所定方向に基づき前記回転方向を決定する、項目2の方法。操作オブジェクトに対するユーザの操作に基づき、仮想カメラまたは仮想空間を回転させることができる。
(Item 3) In the second mode, after it is detected that the operation object is selected, a step of specifying a predetermined direction designated by the user for the operation object; and in the second mode, The method according to
(項目4)
前記回転方向を決定するステップにおいて、前記所定方向における水平方向の成分に基づき前記回転方向を決定する、項目3の方法。ユーザが仮想空間において酔うことを防止できる。
(Item 4)
4. The method according to item 3, wherein in the step of determining the rotation direction, the rotation direction is determined based on a horizontal component in the predetermined direction. It is possible to prevent the user from getting drunk in the virtual space.
(項目5)
前記第2のモードにおいて、前記操作オブジェクトへの前記所定方向の指定が解除されたことを検出するステップと、前記第2のモードにおいて、前記所定方向の指定が解除されたことが検出された場合、前記操作オブジェクトを元の形状に戻すと共に、前記操作オブジェクトの選択を解除する変更するステップと、前記第2のモードにおいて、前記所定方向の指定が解除されたことが検出された場合、前記仮想カメラまたは前記仮想空間の回転を停止させると共に、前記第1のモードに移行するステップとをさらに有する、項目4の方法。ユーザは簡単な操作で仮想カメラまたは仮想空間の回転を停止させることができる。
(Item 5)
In the second mode, detecting that the designation of the predetermined direction to the operation object has been released; and in the second mode, detecting that the designation of the predetermined direction has been released. A step of returning the operation object to the original shape and canceling the selection of the operation object; and in the second mode, when it is detected that the designation of the predetermined direction is released, The method according to item 4, further comprising the step of stopping rotation of the camera or the virtual space and shifting to the first mode. The user can stop the rotation of the virtual camera or the virtual space with a simple operation.
(項目6)
前記第2のモードにおいて、前記操作オブジェクトが選択されたことが検出された後、基準座標系における前記HMDの傾きの変化量を特定するステップと、前記所定方向を特定するステップにおいて、前記傾きの変化量に基づき前記所定方向を特定する、項目3〜5のいずれかの方法。ユーザはHMDを傾ける方向を変えることによって仮想カメラまたは仮想空間の回転速方法を調整することができる。
(Item 6)
In the second mode, after detecting that the operation object is selected, in the step of specifying the amount of change in the inclination of the HMD in the reference coordinate system and the step of specifying the predetermined direction, The method according to any one of items 3 to 5, wherein the predetermined direction is specified based on a change amount. The user can adjust the rotation speed method of the virtual camera or the virtual space by changing the direction in which the HMD is tilted.
(項目7)
前記所定方向の指定が解除されたことを検出するステップにおいて、前記仮想カメラまたは仮想空間の回転が開始された後の前記HMDの傾きが、前記操作オブジェクトが選択されたことが検出された時点の前記HMDの傾きに一致した場合、前記所定方向の指定が解除されたことを検出する、項目6の方法。ユーザは簡単な操作によって仮想カメラまたは仮想空間の回転を停止させることができる。
(Item 7)
In the step of detecting that the designation of the predetermined direction has been canceled, the inclination of the HMD after the rotation of the virtual camera or virtual space is started is detected when the operation object is selected. The method according to Item 6, wherein when the inclination of the HMD coincides, it is detected that the designation of the predetermined direction is cancelled. The user can stop the rotation of the virtual camera or the virtual space with a simple operation.
(項目8)
前記第2のモードにおいて、前記操作オブジェクトが選択されたことが検出された後、前記ユーザによって前記操作オブジェクトに指定された所定量を特定するステップと、前記第2のモードにおいて、前記所定量に基づき、前記仮想カメラまたは前記仮想空間を回転させる際の回転速度を決定するステップとをさらに有し、前記操作オブジェクトを弾性変形させるステップにおいて、前記操作オブジェクトを前記所定量だけ伸張させ、前記視界画像を更新するステップにおいて、前記仮想カメラまたは仮想空間を前記回転速度で回転させ続ける、項目3〜7のいずれかの方法。ユーザは所望の回転速度で仮想カメラまたは仮想空間を回転させることができる。
(Item 8)
In the second mode, after detecting that the operation object is selected, a step of specifying a predetermined amount designated for the operation object by the user; and in the second mode, the predetermined amount And a step of determining a rotation speed when rotating the virtual camera or the virtual space, and in the step of elastically deforming the operation object, the operation object is expanded by the predetermined amount, and the view image The method according to any one of items 3 to 7, wherein in the step of updating, the virtual camera or the virtual space is continuously rotated at the rotation speed. The user can rotate the virtual camera or the virtual space at a desired rotation speed.
(項目9)
前記第2のモードにおいて、前記所定量が閾値を超えた場合、前記操作オブジェクトを元の形状に戻し、かつ、前記操作オブジェクトの選択を解除するステップと、前記第2のモードにおいて、前記所定量が閾値を超えた場合、前記仮想カメラまたは前記仮想空間の回転を停止させるステップと、前記第2のモードにおいて、前記仮想カメラまたは前記仮想空間の回転が停止した後、前記第1のモードに移行するステップとをさらに有する、項目8の方法。ユーザは簡単な操作で仮想カメラまたは仮想空間の回転を停止させることができる。
(Item 9)
In the second mode, when the predetermined amount exceeds a threshold value, the step of returning the operation object to the original shape and canceling the selection of the operation object; and in the second mode, the predetermined amount When the threshold value exceeds a threshold, the step of stopping the rotation of the virtual camera or the virtual space and the second mode, the rotation of the virtual camera or the virtual space is stopped, and then the mode is shifted to the first mode. The method of
(項目10)
前記第2のモードにおいて、前記操作オブジェクトが選択されたことが検出された後、基準座標系における前記HMDの傾きの変化量を特定するステップをさらに備えており、、前記所定量を特定するステップにおいて、前記傾きの変化量に基づき前記所定量を特定する、項目8または9の方法。ユーザはHMDを傾ける度合いを変えることによって仮想カメラまたは仮想空間の回転速方法を調整することができる。
(Item 10)
In the second mode, after detecting that the operation object is selected, the method further includes a step of specifying a change amount of the inclination of the HMD in a reference coordinate system, and the step of specifying the predetermined amount The method according to
(項目11)
前記第1のモードにおいて、前記操作オブジェクトの少なくとも一部が、前記仮想カメラの視界領域の外に位置することを検出するステップと、前記第1のモードにおいて、前記操作オブジェクトの少なくとも一部が、前記視界領域の外に位置することが検出された場合、前記操作オブジェクトを前記視界領域の中に移動させるステップとをさらに有する、項目2〜10のいずれかの1つの方法。ユーザがオブジェクトを見つけ出しやすくなる。
(Item 11)
In the first mode, detecting that at least a part of the operation object is located outside the field of view of the virtual camera; in the first mode, at least a part of the operation object is: The method according to any one of
(項目12)
前記第1のモードにおいて、前記仮想空間に規定される機能区画をユーザが選択したことを検出するステップと、前記第1のモードにおいて、前記仮想空間に規定される機能区画をユーザが選択したことが検出された場合、前記第2のモードに移行するステップをさらに有する、項目1の方法。オブジェクトを用いることができない仮想空間が提供される場合も、ユーザの操作に基づき仮想カメラまたは仮想空間を回転させることができる。
(Item 12)
Detecting that a user has selected a functional partition defined in the virtual space in the first mode; and a user selecting a functional partition defined in the virtual space in the first mode. The method of
(項目13)
項目1〜12のいずれかの方法の各ステップを、コンピュータに実行させるプログラム。
(Item 13)
A program for causing a computer to execute each step of the method according to any one of
(項目14)
項目13のプログラムを記録したコンピュータ読み取り可能な記録媒体。
(Item 14)
A computer-readable recording medium on which the program of item 13 is recorded.
1 仮想カメラ、2 仮想空間、5 基準視線、21 中心、22 仮想空間画像、23 視界領域、24 第1領域、25 第2領域、26 視界画像、100 HMDシステム、110 HMD、112 ディスプレイ、114 センサ、120 HMDセンサ、130 注視センサ、200 制御回路部、210 検出部、211 HMD検出部、212 視線検出部、213 操作受付部、220 表示制御部、221 仮想カメラ制御部、222 視界領域決定部、223 視界画像生成部、230 仮想空間制御部、231 仮想空間規定部、231 視線管理部、232 コンテンツ特定部、233 操作オブジェクト制御部、 記憶部、241 雛形格納部、242 コンテンツ格納部、250 通信部、300 コントローラ
1 virtual camera, 2 virtual space, 5 reference line of sight, 21 center, 22 virtual space image, 23 view area, 24 first area, 25 second area, 26 view image, 100 HMD system, 110 HMD, 112 display, 114
Claims (12)
第1のモードにおいて、前記仮想空間内に配置されかつ前記HMDに連動する仮想カメラのロール方向に基づく視界画像を前記HMDに表示させるステップと、
第2のモードにおいて、前記ユーザの操作に基づき少なくとも回転方向を特定すると共に、前記操作が検出され続ける間、前記仮想カメラまたは前記仮想空間を前記回転方向に回転させ続けながら、前記HMDに前記視界画像を更新させるステップとを有し、
前記視界画像を前記HMDに表示させるステップにおいて、前記仮想空間に配置される操作オブジェクトを含む前記視界画像を前記HMDに表示させ、
前記第1のモードにおいて、前記操作オブジェクトが前記ユーザによって選択されたことを検出するステップと、
前記第1のモードにおいて、前記操作オブジェクトが選択されたことが検出された後、前記第2のモードに移行するステップと、
前記第2のモードにおいて、前記操作オブジェクトが選択されたことが検出された後、前記ユーザによって前記操作オブジェクトに指定された所定方向を特定するステップとをさらに有し、
前記視界画像を更新させるステップにおいて、前記所定方向に基づき前記回転方向を特定し、
前記第2のモードにおいて、前記操作オブジェクトを前記所定方向に弾性変形させるステップをさらに有する、方法。 A method of providing a virtual space to a user wearing a head mounted display (hereinafter, HMD),
In the first mode, causing the HMD to display a field-of-view image based on a roll direction of a virtual camera disposed in the virtual space and interlocked with the HMD;
In the second mode, at least the rotation direction is specified based on the user's operation, and the field of view is displayed on the HMD while continuously rotating the virtual camera or the virtual space in the rotation direction while the operation is continuously detected. Updating the image, and
In the step of displaying the visual field image on the HMD, the visual field image including the operation object arranged in the virtual space is displayed on the HMD,
Detecting that the operation object is selected by the user in the first mode;
After detecting that the operation object is selected in the first mode, the step of transitioning to the second mode;
After detecting that the operation object is selected in the second mode, further comprising the step of specifying a predetermined direction designated by the user as the operation object;
In the step of updating the view image, the rotation direction is specified based on the predetermined direction ,
The method further comprising the step of elastically deforming the operation object in the predetermined direction in the second mode .
前記第2のモードにおいて、前記所定方向の指定が解除されたことが検出された場合、前記操作オブジェクトを元の形状に戻すと共に、前記操作オブジェクトの選択を解除する変更するステップと、
前記第2のモードにおいて、前記所定方向の指定が解除されたことが検出された場合、前記仮想カメラまたは前記仮想空間の回転を停止させると共に、前記第1のモードに移行するステップとをさらに有する、請求項2に記載の方法。 Detecting in the second mode that the designation of the predetermined direction to the operation object has been canceled;
In the second mode, when it is detected that the designation of the predetermined direction has been canceled, the operation object is returned to the original shape and changed to cancel the selection of the operation object;
In the second mode, when it is detected that the designation of the predetermined direction has been canceled, the method further includes the step of stopping the rotation of the virtual camera or the virtual space and shifting to the first mode. The method according to claim 2.
前記所定方向を特定するステップにおいて、前記傾きの変化量に基づき前記所定方向を特定する、請求項1〜3のいずれか1項に記載の方法。 In the second mode, after detecting that the operation object is selected, specifying a change amount of the inclination of the HMD in a reference coordinate system;
The method according to claim 1, wherein in the step of specifying the predetermined direction, the predetermined direction is specified based on a change amount of the inclination.
前記第2のモードにおいて、前記所定量に基づき、前記仮想カメラまたは前記仮想空間を回転させる際の回転速度を特定するステップとをさらに有し、
前記操作オブジェクトを弾性変形させるステップにおいて、前記操作オブジェクトを前記所定量だけ伸張させ、
前記視界画像を更新するステップにおいて、前記仮想カメラまたは仮想空間を前記回転速度で回転させ続ける、請求項1に記載の方法。 In the second mode, after detecting that the operation object has been selected, specifying a predetermined amount designated for the operation object by the user;
In the second mode, further comprising the step of specifying a rotation speed when rotating the virtual camera or the virtual space based on the predetermined amount;
In the step of elastically deforming the operation object, the operation object is extended by the predetermined amount,
Wherein in the step of updating the view field image, continue the virtual camera or a virtual space is rotated at the rotational speed, The method according to claim 1.
前記第2のモードにおいて、前記所定量が閾値を超えた場合、前記仮想カメラまたは前記仮想空間の回転を停止させるステップと、
前記第2のモードにおいて、前記仮想カメラまたは前記仮想空間の回転が停止した後、前記第1のモードに移行するステップとをさらに有する、請求項6に記載の方法。 In the second mode, when the predetermined amount exceeds a threshold, returning the operation object to an original shape, and deselecting the operation object;
Stopping the rotation of the virtual camera or the virtual space when the predetermined amount exceeds a threshold in the second mode;
The method according to claim 6 , further comprising the step of transitioning to the first mode after rotation of the virtual camera or the virtual space is stopped in the second mode.
前記所定量を特定するステップにおいて、前記傾きの変化量に基づき前記所定量を特定する、請求項6または7に記載の方法。 In the second mode, after detecting that the operation object is selected, specifying a change amount of the inclination of the HMD in a reference coordinate system;
The method according to claim 6 or 7 , wherein, in the step of specifying the predetermined amount, the predetermined amount is specified based on a change amount of the slope.
前記第1のモードにおいて、前記操作オブジェクトの少なくとも一部が、前記視界領域の外に位置することが検出された場合、前記操作オブジェクトを前記視界領域の中に移動させるステップとをさらに有する、請求項1〜8のいずれか1項に記載の方法。 In the first mode, detecting that at least a part of the operation object is located outside the field of view of the virtual camera;
In the first mode, when it is detected that at least a part of the operation object is located outside the visual field area, the operation object further includes a step of moving the operation object into the visual field area. Item 9. The method according to any one of Items 1 to 8 .
前記第1のモードにおいて、前記仮想空間に規定される機能区画をユーザが選択したことが検出された場合、前記第2のモードに移行するステップをさらに有する、請求項1に記載の方法。 Detecting that a user has selected a functional partition defined in the virtual space in the first mode;
The method according to claim 1, further comprising the step of transitioning to the second mode when it is detected in the first mode that a user has selected a functional partition defined in the virtual space.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016099088A JP6262283B2 (en) | 2016-05-17 | 2016-05-17 | Method, program, and recording medium for providing virtual space |
US15/588,590 US10539797B2 (en) | 2016-05-06 | 2017-05-05 | Method of providing virtual space, program therefor, and recording medium |
PCT/JP2017/017878 WO2017199848A1 (en) | 2016-05-17 | 2017-05-11 | Method for providing virtual space, program, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016099088A JP6262283B2 (en) | 2016-05-17 | 2016-05-17 | Method, program, and recording medium for providing virtual space |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017187257A Division JP2017228322A (en) | 2017-09-27 | 2017-09-27 | Method, program, and storage medium for providing virtual space |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017224003A JP2017224003A (en) | 2017-12-21 |
JP6262283B2 true JP6262283B2 (en) | 2018-01-17 |
Family
ID=60686921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016099088A Active JP6262283B2 (en) | 2016-05-06 | 2016-05-17 | Method, program, and recording medium for providing virtual space |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6262283B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6445499B2 (en) * | 2016-09-08 | 2018-12-26 | 株式会社ソニー・インタラクティブエンタテインメント | Display control program, display control apparatus, and display control method |
KR20200009594A (en) * | 2018-07-19 | 2020-01-30 | (주)코믹스브이 | Method for providing virtual-reality cartoon service using panoramic image |
US11960635B2 (en) | 2019-02-01 | 2024-04-16 | Maxell, Ltd. | Virtual object display device and virtual object display method |
JP2022051972A (en) * | 2019-02-06 | 2022-04-04 | ソニーグループ株式会社 | Information processing device and method, and program |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09179062A (en) * | 1995-12-25 | 1997-07-11 | Canon Inc | Computer system |
JP3048927B2 (en) * | 1996-07-29 | 2000-06-05 | 北海道日本電気ソフトウェア株式会社 | Pointing device for large screen presentation system |
JP2010231290A (en) * | 2009-03-26 | 2010-10-14 | National Institute Of Advanced Industrial Science & Technology | Input device and method using head motion |
JP5343692B2 (en) * | 2009-05-12 | 2013-11-13 | ソニー株式会社 | Information processing apparatus, information processing method, and information processing program |
WO2011084895A1 (en) * | 2010-01-08 | 2011-07-14 | Kopin Corporation | Video eyewear for smart phone games |
JP5394299B2 (en) * | 2010-03-30 | 2014-01-22 | 富士フイルム株式会社 | Ultrasonic diagnostic equipment |
JP5552947B2 (en) * | 2010-07-30 | 2014-07-16 | ソニー株式会社 | Information processing apparatus, display control method, and display control program |
JP5724422B2 (en) * | 2011-02-07 | 2015-05-27 | 富士通株式会社 | Operation control device, operation control program, and operation control method |
JP2013258614A (en) * | 2012-06-13 | 2013-12-26 | Sony Computer Entertainment Inc | Image generation device and image generation method |
US9908048B2 (en) * | 2013-06-08 | 2018-03-06 | Sony Interactive Entertainment Inc. | Systems and methods for transitioning between transparent mode and non-transparent mode in a head mounted display |
CN105359063B (en) * | 2013-06-09 | 2018-08-17 | 索尼电脑娱乐公司 | Utilize the head-mounted display of tracking |
JP5845211B2 (en) * | 2013-06-24 | 2016-01-20 | キヤノン株式会社 | Image processing apparatus and image processing method |
GB2517143A (en) * | 2013-08-07 | 2015-02-18 | Nokia Corp | Apparatus, method, computer program and system for a near eye display |
JP5876607B1 (en) * | 2015-06-12 | 2016-03-02 | 株式会社コロプラ | Floating graphical user interface |
JP5914739B1 (en) * | 2015-08-27 | 2016-05-11 | 株式会社コロプラ | Program to control the head mounted display system |
JP5944600B1 (en) * | 2015-08-28 | 2016-07-05 | 株式会社タカラトミー | Information processing device with head-mounted display |
JP5869177B1 (en) * | 2015-09-16 | 2016-02-24 | 株式会社コロプラ | Virtual reality space video display method and program |
-
2016
- 2016-05-17 JP JP2016099088A patent/JP6262283B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017224003A (en) | 2017-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018016553A1 (en) | Method for providing virtual space, method for providing virtual experience, program, and recording medium | |
JP5914739B1 (en) | Program to control the head mounted display system | |
JP6130478B1 (en) | Program and computer | |
JP6126271B1 (en) | Method, program, and recording medium for providing virtual space | |
JP6262283B2 (en) | Method, program, and recording medium for providing virtual space | |
JP6276434B1 (en) | Method for supporting movement in virtual space, program for causing computer to execute the method, and information processing apparatus for executing the program | |
JP6189497B1 (en) | Method for providing virtual space, method for providing virtual experience, program, and recording medium | |
JP6523493B1 (en) | PROGRAM, INFORMATION PROCESSING DEVICE, AND INFORMATION PROCESSING METHOD | |
JP6306083B2 (en) | Method, program, and recording medium for providing virtual space | |
JP6113897B1 (en) | Method for providing virtual space, method for providing virtual experience, program, and recording medium | |
JP6126272B1 (en) | Method, program, and recording medium for providing virtual space | |
JP2017045296A (en) | Program for controlling head-mounted display system | |
JP2017121082A (en) | Program and computer | |
JP2017228322A (en) | Method, program, and storage medium for providing virtual space | |
JP6203346B1 (en) | Method, program, and recording medium for providing virtual space | |
JP6223614B1 (en) | Information processing method, information processing program, information processing system, and information processing apparatus | |
JP2017208808A (en) | Method of providing virtual space, program, and recording medium | |
JP6159455B1 (en) | Method, program, and recording medium for providing virtual space | |
JP7030075B2 (en) | Programs, information processing devices, and information processing methods | |
WO2017199848A1 (en) | Method for providing virtual space, program, and recording medium | |
JP2017201524A (en) | Method, program and storage medium for providing virtual space | |
WO2020188721A1 (en) | Head-mounted information processing device and head-mounted display system | |
JP2017208809A (en) | Method, program and recording medium for providing virtual space | |
JP2018014109A (en) | Method for providing virtual space, method for providing virtual experience, program and recording medium | |
JP6121495B2 (en) | Program to control the head mounted display system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20170808 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171107 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20171113 |
|
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: 20171205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171213 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6262283 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |