以下、本発明の一実施形態について、図面を参照して説明する。
[第1の実施形態]
本発明の第1の実施形態について説明する。
本実施形態では、3D(3次元)の仮想空間を立体視可能なHMD(Head Mounted Display)における表示を例に説明する。例えば、HMDは、ユーザの頭部に装着され、仮想空間内の仮想視点からの視界を表す視界画像を、右眼と左眼との両眼視差(以下、単に「視差」ともいうことがある)を利用した立体視画像として表示可能である。仮想視点は、仮想空間内におけるユーザの眼の位置に相当する視点であり、例えば、ユーザが仮想空間を利用したゲームをプレイする場合、ユーザ(プレイヤ)またはユーザ(プレイヤ)のキャラクタの視点を示す。キャラクタとは、表示されうるオブジェクトであって、例えば、ゲームに登場する人、動物、モンスター、ロボット、物体(例えば、乗り物)等を表すものである。例えば、キャラクタは、ユーザの操作対象となったり、ユーザの操作またはゲーム処理等に基づいて移動したりする。また、HMDは、ジャイロセンサ等のHMDの動きや傾きを検知するセンサを搭載しており、装着されているユーザの頭部の動きや傾きの変化などを検知し、その変化に応じて仮想空間の視界画像を表示する。例えば、HMDに映し出される視界画像は、ユーザの頭部が右方向を向けば仮想空間内の右方向の視界画像に変化し、上方向を向けば仮想空間内の上方向の視界画像に変化し、あたかもその場にいるような没入感をユーザに与えることができる。
図1は、本実施形態に係るHMDの使用例を示す図である。本図では、ユーザの頭部にHMD10が装着されている様子を示している。ここで、ユーザが直立する方向である垂直方向をZ軸とし、Z軸に直交する軸であってユーザからHMD10の表示画面へ直交する方向をX軸とし、Z軸及びX軸と直交する軸をY軸とする。なお、HMD10の表示画面において、縦方向がZ軸方向、横方向がY軸方向、奥行き方向がX軸方向にそれぞれ対応する。
また、Z軸を軸とした回転方向への変化をヨー方向(または左右方向)への変化ともいい、Y軸を軸とした回転方向への変化をピッチ方向(または上下方向)への変化ともいい、X軸を軸とした回転方向への変化をロール方向への変化ともいう。
図2は、本実施形態に係る仮想空間内の視界の説明図である。この図において、仮想視点KをX軸、Y軸、及びZ軸の交点(原点)とし、仮想視点Kからの視界方向(視界の中心方向)をX軸方向とすると、仮想視点Kからの視界を表す視界画像の範囲(即ち、視界)は、視界方向(X軸方向)を中心としたヨー角α(破線aと破線bとの内角、及び破線cと破線dとの内角)とピッチ角β(破線aと破線dとの内角、及び破線bと破線cとの内角)とで定まる範囲である。ここで、ヨー角α及びピッチ角βは、HMDシステム1に表示させる仮想空間の視界画像の画角として予め設定された角度である。例えば、X軸上の点x1における視界は、点x1においてX軸に直交する面L1と視界を示す破線a、b、c、dとの交点a1、b1、c1、d1を頂点とした四角形で囲まれる範囲となる。
つまり、視界方向(X軸方向)を中心としたヨー角αとピッチ角βとの内側の範囲が視界であり、仮想空間に配置されているオブジェクトのうち、この視界の中に配置されているオブジェクト(構造物、植物、キャラクタ等)等が視界画像として立体視表示される。ユーザの頭部がピッチ方向またはヨー方向に変化すると、その変化に応じて視界方向がX軸方向からピッチ方向またはヨー方向に変化し、視界もピッチ方向またはヨー方向に変化する。また、ユーザの頭部がロール方向に変化すると、視界方向はX軸方向のまま、視界がロール方向に回転する。
一般的に、視界画像は歪曲及び伸縮されて表示される。図3は、視界画像の一例を示す図である。図示する例は、屋内のプール施設の視界画像であるが、コースロープやコースライン、観客席など実際には直線であるものが、視界画像の中心から離れるほど画像の歪曲や伸縮の度合が大きくなる。これは、所謂ボリューム歪像ともいわれるものであり、広角歪として物理的に発生する現象である。ここで、視界画像の中心とは、視界の中心であり、一例として、仮想視点からの仮想視線方向の先の位置に相当する。仮想視線方向は、仮想視点からの視線の先を示す方向であり、仮想空間を撮影する仮想カメラのレンズの中心(光軸方向)に相当する。即ち、仮想視線方向は、視界画像において最も歪の少ない方向となる。図3に示す例では、仮想視線方向の先の位置が視界画像の中心であるため、視界画像の中心が最も歪曲や伸縮が少なく、中心から離れるほど画像の歪曲や伸縮の度合が大きくなる。仮想視線方向が視界画像の中心からずれると、ずれたところが最も歪曲や伸縮が少なくなる。つまり、視界画像は、視界方向によって範囲が定まり、且つ仮想視線方向を基準として歪曲や伸縮の度合が定まる。
ここで、図4及び図5を参照して、一般的な視界画像の歪について説明する。図4は、仮想空間に配置されているオブジェクトの一例を示す図である。この図では、上方向(Z軸の上方向)からの仮想空間を表しており、仮想視点Kからの仮想視線方向の先にオブジェクトH1が存在し、仮想視線方向から角度θ離れた方向(Z軸を中心として右方向へ角度θ回転した方向)の先にオブジェクトH2が存在している。オブジェクトH1とオブジェクトH2とは同形の長方形の面を有する板であり、どちらのオブジェクトも仮想視点Kと対面する向き(オブジェクトの面と直交する方向が仮想視点Kとなる向き)に向いている(図4では、上方向から見た図であるため板の厚みを表している)。
図5は、図4に示す仮想空間における視界画像の一例を示す図である。図示する視界画像G10では、オブジェクトH1は仮想視点Kからの仮想視線方向に存在しているため、実際の形である長方形をほぼ保って表示される。一方、HMD10を動かさずにオブジェクトH2をユーザが見た場合、仮想視線方向から離れているため、長方形よりもやや歪曲及び伸縮されて表示されることになる。このように、視界画像は、仮想視線方向を基準として、仮想視線方向から離れるほど画像の歪曲や伸縮の度合が大きくなる(図中の破線を参照)。
しかし、現実空間においてユーザがオブジェクトH2を見た場合、このようなことは起こらず、オブジェクトH1と同様にほぼ長方形に見える。これは、仮想空間内の仮想視線方向と実際のユーザの眼の視線方向とが異なることによって生じるものである。仮想空間の視界画像の表示の場合、実際には上記のように現実とは異なる見え方をしていることになる。この現実の見え方との違いにより、仮想空間の表示が見難い表示となったり、あるいはVR酔いを起こしたりする場合がある。
この問題は、仮想視点Kと視界画像に表示されるオブジェクトとの距離が近いほど顕著となる。具体的には、ユーザの右眼と左眼の距離が上記の仮想視線方向に大きく影響が出るくらいにユーザが近いオブジェクトを見る場合に顕著となる。
図6は、オブジェクトとの距離が近いほど右眼と左眼の距離が仮想視線方向に影響することを説明する説明図である。この図は、上方向(Z軸の上方向)からの仮想空間を表しており、仮想視点Kから比較的に遠い位置にオブジェクトH3が存在し、比較的に近い位置にオブジェクトH4が存在している。ユーザの左眼に対応する仮想視点を左眼仮想視点K(L)とし、右眼に対応する仮想視点を右眼仮想視点K(R)とすると、左眼用の視界画像の仮想視線方向は、左眼仮想視点K(L)からX軸方向に沿った左眼仮想視線方向KL1となる。また、右眼用の視界画像の仮想視線方向は、右眼仮想視点K(R)からX軸方向に沿った右眼仮想視線方向KR1となる。ここでは、左眼仮想視線方向KL1と右眼仮想視線方向KR1とは、X軸方向と平行かつ互いに平行に設定されているが、若干の角度を持って互いに近づく方向に設定されてもよい。この左眼仮想視線方向KL1と右眼仮想視線方向KR1とのそれぞれが、左眼用の視界画像と右眼用の視界画像とのそれぞれを生成する際に基準となる仮想視線方向である。
また、図示する角度「m」、「n」は、仮想視線方向とオブジェクトH3、H4に対するユーザの実際の視線方向との角度の差を示している。比較的に遠い位置にあるオブジェクトH3に対する実際の視線方向が視線方向KL2(左眼の視線方向)と視線方向KR2(右眼の視線方向)であり、比較的に近い位置にあるオブジェクトH4に対する実際の視線方向が視線方向KL3(左眼の視線方向)と視線方向KR3(右眼の視線方向)である。オブジェクトH3に対する実際の視線方向KL2と左眼仮想視線方向KL1との角度の差が「m」であり、オブジェクトH4に対する実際の視線方向KL3と左眼仮想視線方向KL1との角度の差が「n」である。オブジェクトH3よりも近い位置にあるオブジェクトH4の方が仮想視線方向と実際の視線方向との角度の差が大きくなるため(m<n)、仮想視線方向からより離れることとなり、オブジェクトの歪曲及び伸縮の度合も大きくなる。ここでは、左眼側の角度の差のみを示しているが、右眼側の右眼仮想視線方向KR1向と実際の視線方向KR3との角度の差も同様に、オブジェクトH3よりも近い位置にあるオブジェクトH4の方が大きくなり、オブジェクトの歪曲及び伸縮の度合も大きくなる。そのため、近い位置にあるオブジェクトほど、右眼から見た場合と左眼から見た場合の形が異なる度合いが大きくなり、視認しにくい状況となる。場合によっては一つのオブジェクトの表示として視認できず、右眼と左眼にそれぞれ別のオブジェクトがあるように視認されてしまうこともあり得る。
そこで、本実施形態では、仮想視点とオブジェクトとの距離に応じて仮想視線の方向を変更することにより、近距離にあるオブジェクトであっても見やすい表示を実現する。具体的には、左右両眼の視界画像を生成する際に基準となる上記の仮想視線方向を「基本仮想視線方向」として設定し、これに対し、近距離を見るための仮想視線方向を「近距離仮想視線方向」として、基本仮想視線方向とは異なる別の仮想視線方向を設定する。なお、仮想視点は、前述したように仮想空間内におけるユーザの眼の位置に相当する視点であるが、左眼の位置でもよいし、右眼の位置でもよいし、両眼の距離に基づく位置でもよいし、左眼と右眼の中心の位置などであってもよい。
図7は、本実施形態に係る視界画像の視線方向の変更を説明する説明図である。この図は、図6に示すオブジェクトH4について、近距離仮想視線方向が設定される例を示している。左眼仮想視線方向KL1と右眼仮想視線方向KR1とが基本仮想視線方向である。近距離仮想視線方向は、左眼用としては左眼仮想視線方向KL1より右方向(即ち、オブジェクトH4がある方向)に移動した左眼仮想視線方向KL4に設定され、右眼用としては、右眼仮想視線方向KR1より左方向(即ち、オブジェクトH4がある方向)に移動した右眼仮想視線方向KR4に設定される。例えば、基本仮想視線方向である左眼仮想視線方向KL1と実際の視線方向KL3との角度の差が「n1」であるのに対して、近距離仮想視線方向である左眼仮想視線方向KL4と実際の視線方向KL3との角度の差は「n1」より小さい「n2」であり(n1>n2)、差異が少なくなる。ここでは、左眼側の角度の差のみを示しているが、右眼側も同様に、基本仮想視線方向である右眼仮想視線方向KR1と実際の視線方向KR3との角度の差よりも、近距離仮想視線方向である右眼仮想視線方向KR4と実際の視線方向KR3との角度の差の方が差異が少なくなる。よって、基本仮想視線方向から近距離仮想視線方向に変更することで、近距離を見た場合の実際の眼の視線方向と仮想視線方向との差異をより少なくすることができる。
図8は、近距離仮想視線方向への変更処理を行っていない視界画像の一例を示す図である。一方、図9は、近距離仮想視線方向への変更処理を行った視界画像の一例を示す図である。つまり、図8及び図9では、両眼の仮想視点の位置が同じであり、仮想視線方向のみが異なる。なお、図8及び図9では、近距離に配置されたオブジェクトとしてキャラクタが表示される視界画像を例に、左眼用の視界画像を左側に、右眼用の視界画像を右側に並べて示している。例えば、キャラクタの口に注目した場合、図8に示す未処理の左眼用の視界画像における口の右半分IL1は、歪が少なく水平に近い形をしているが、右眼用の視界画像における口の右半分IR1は、横方向に圧縮かつ縦方向に伸びて歪んでおり、両者はかなり異なる形状になっている。この視界画像をHMD10で見た場合、左右の視界画像で同一の口の形状が異なって見えるため、同一の口として認識しにくくなる。これに対し、図9に示す近距離仮想視線方向への変更処理を行った視界画像では、右眼用の視界画像におけるキャラクタの口の右半分IR2の形状は、図8に比べて歪が少なくなっている。これにより、左眼用の視界画像におけるキャラクタの口の右側部分IL2と右眼用の視界画像におけるキャラクタの口の右側部分IR2との形状の差異が図8に比べて減少しているため、同一の口として認識しやすくなる。
このように、本実施形態では、仮想視点とオブジェクトとの位置関係に基づいて、視界画像を生成する際の仮想視線方向を変更することで、両眼視差を利用した仮想空間の表示を、より見やすくすることができる。なお、仮想視線方向を変更するのは、実際にユーザが近距離のオブジェクトを見ているが否かによって変更するのが望ましい。そのため、本実施形態では、仮想空間内のオブジェクトと仮想視点との距離に基づいて仮想視線方向を変更するか否かを判定する。
また、この仮想視線方向の変更処理は、仮想空間内に存在する全てのオブジェクトを対象とするのではなく、特定のオブジェクト(特定オブジェクト)に対象を限定する。例えば、特定オブジェクトは、予め設定されたオブジェクトであり、キャラクタ(人、知人、ペット等)や所持品等である。なお、特定オブジェクトは、ユーザの操作によって予め設定されたオブジェクトであってもよい。例えば、特定オブジェクトは、ユーザの操作によってロックオンされたオブジェクト、タッチされたオブジェクト等であってもよい。このように限定することで、不必要に上記の変更処理を行うことを抑制することができる。例えば、注目する必要の無い、背景としての観葉植物等はむしろ仮想視線方向の変更処理を行わない方が、自然であり、またVR酔いも抑制できる。
なお、図8及び図9の例では特定オブジェクトが左眼仮想視点K(L)と右眼仮想視点K(R)とから等位置となる直線上にある例としたが、特定オブジェクトはこの直線上になくてもよく、この直線に対して左右または上下にずれた位置にあってもよい。上記の仮想視線方向の変更処理を行う場合、左眼仮想視点K(L)と右眼仮想視点K(R)とが特定オブジェクトの方向を向きさえすればよい。
以下、本実施形態に係るHMDシステムの構成について、詳しく説明する。
〔HMDシステムの構成〕
図10は、本実施形態に係るHMDシステムのハードウェア構成の一例を示す図である。図示するHMDシステム1は、HMD10と、HMD10にゲーム画像を表示させるゲーム装置20とを備えている。
HMD10は、表示部11と、センサ12と、通信部13と、CPU(Central Processing Unit)14とを備えている。表示部11は、画像やテキスト等の情報を表示するディスプレイであり、例えば、液晶ディスプレイパネル、有機EL(ElectroLuminescence)ディスプレイパネルなどを含んで構成される。例えば、表示部11は、仮想空間内の仮想視点(HMDを装着しているユーザの眼)からの視界画像として、両眼視差を利用した立体視画像(右眼用画像及び左眼用画像)を表示する。また、表示部11は、仮想空間内に配置された各種オブジェクトを視界画像とともに表示する。各種オブジェクトとは、例えば、ゲームに登場するキャラクタやアイテム、ゲームの進行に応じて行われる演出、ユーザの操作により選択可能な選択メニューや各種アイコン等である。
センサ12は、HMD10の方向に関する情報を検知するセンサである。例えば、センサ12は、物体の角度、角速度、角加速度等を検知するジャイロセンサである。なお、センサ12は、方向の変化を検知するセンサであってもよいし、方向そのものを検知するセンサであってもよい。例えば、センサ12は、ジャイロセンサに限られるものではなく、加速度センサ、傾斜センサ、地磁気センサ等であってもよい。通信部13は、ゲーム装置20と有線または無線により通信を行う。CPU14は、HMD10が備える各部を制御する制御中枢として機能する。例えば、CPU14は、ゲーム装置20から送信されるゲーム画像(例えば、視界画像)の画像データを通信部13を介して取得し、表示部11に表示させる。また、CPU14は、センサ12の検知結果に基づいてHMD10の方向に関する情報を、ゲーム装置20へ送信する。
なお、上述したHMD10が備える各ハードウェア構成は、バス(Bus)を介して相互に通信可能に接続されている。
ゲーム装置20は、仮想空間を用いたゲームのゲーム処理を実行するコンピュータ装置であり、家庭用ゲーム機、パーソナルコンピュータ、ゲームセンター等に設置されているアーケードゲーム機、スマートフォンやフィーチャーフォン等の携帯電話機、携帯情報端末(PDA:Personal Digital Assistant)、タブレットPC、等が適用できる。本実施形態では、ゲーム装置20は家庭用ゲーム機であるとして説明する。
図示するゲーム装置20は、入力部21と、スピーカ22と、記憶部23と、通信部24と、CPU25と、を備えている。入力部21は、ユーザの操作により各種の指示が入力される入力装置である。例えば、入力部21は、コントローラ、キーボードやマウス、タッチパッドや、音声により各種の指示が入力されるマイクロホンなど、その他の入力装置であってもよい。スピーカ22は、音声信号に基づいて音声を出力する出力装置である。なお、スピーカ22に代えて、外部スピーカやヘッドフォンやイヤフォン等に音声信号を出力する音声出力端子であってもよい。また、スピーカ22は、HMD10側に備えられてもよい。
記憶部23は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、EEPROM(Electrically Erasable Programmable Read-Only Memory)、ROM(Read-Only Memory)、RAM(Random Access Memory)などを含み、仮想空間内にオブジェクトが配置されている仮想空間データ(画像データ)や、仮想空間を用いたゲームのプログラムやデータ等を記憶する。通信部24は、HMD10と有線または無線により通信を行う。
CPU25は、ゲーム装置20が備える各部を制御する制御中枢として機能する。例えば、CPU25は、記憶部23に記憶されたゲームのプログラムを実行することで、ゲーム処理を実行し、HMD10へ表示させるゲーム画像の表示を制御する制御部として機能する。
なお、上述したゲーム装置20が備える各ハードウェア構成は、バス(Bus)を介して相互に通信可能に接続されている。
〔機能構成〕
図11は、本実施形態に係るゲーム装置20の機能構成の一例を示すブロック図である。ゲーム装置20は、記憶部23に記憶されているプログラムをCPU25が実行することにより実現される機能構成として、制御部250を備えている。制御部250は、検出部251と、視界画像生成部252と、変更部253と、表示制御部254と、を備え、ゲーム画像(例えば、視界画像)の表示を制御する表示制御装置の少なくとも一部として機能する。ここでは、制御部250が、HMD10に表示させる視界画像を生成する際に仮想視線方向を変更する機能について説明する。
検出部251は、HMD10から通信部24を介して取得するセンサ12の検知結果に基づいて、HMD10の方向に関する情報を検出する。また、検出部251は、HMD10の方向に関する情報に基づいて、仮想空間における仮想視点からの視界方向を検出する。例えば、検出部251は、HMD10の方向または方向の変化を示す情報に基づいて、視界方向または視界方向の変化を検出する。なお、検出部251は、HMD10の方向の変化速度に関する情報に基づいて視界方向の変化速度に関する情報を検出してもよい。
視界画像生成部252は、記憶部23に記憶されている仮想空間データに基づく仮想空間内の仮想視点からの視界を表す視界画像(左右両眼それぞれの視界画像)を、検出部251が検出した視界方向に基づいて生成する。また、視界画像生成部252は、この視界画像を生成する際に、仮想視点からの仮想視線方向を基準として生成する。仮想視線方向は、通常は基本仮想視線方向に設定されており、仮想視点と特定オブジェクトとの位置関係によって近距離仮想視線方向に変更される。
変更部253は、仮想空間内に配置される特定オブジェクトのうち視界画像に含まれる特定オブジェクトと仮想視点との位置関係に基づいて、視界画像生成部252が視界画像(左右両眼それぞれの視界画像)を生成する際に基準となる仮想視線方向(左眼仮想視線方向、右眼仮想視線方向)を変更する。例えば、変更部253は、特定オブジェクトと仮想視点との距離に基づいて、仮想視線方向を変更する。具体的には、変更部253は、特定オブジェクトと仮想視点との距離が一定距離以内の場合に、特定オブジェクトへの方向と仮想視線方向との差が少なくなるように、基本仮想視線方向から近距離仮想視線方向(即ち、特定オブジェクトへの実際の視線方向に近づく方向)へ変更する(図7参照)。
ここで、特定オブジェクトと仮想視点との距離は、例えば、仮想空間内における特定オブジェクトの座標位置と仮想視点の座標位置とに基づいて算出される。特定オブジェクトの座標位置は、特定オブジェクトに設定された特定の位置であり、移動を伴うものであってもよい。仮想視点の座標位置は、仮想空間内に予め設定されたユーザの位置に基づくものであり、同様に移動を伴うものであってもよい。
また、上記の一定距離とは、近距離仮想視線方向へ変更する閾値として予め設定された値であり、任意に設定することができる。例えば、この一定距離は、ユーザの右眼と左眼の距離が仮想視線方向に大きく影響が出るくらいの特定オブジェクトと仮想視点との距離を考慮して設定される。
一方、仮想視点と特定オブジェクトとが一定距離より離れている場合には、変更部253は、近距離仮想視線方向への変更処理を実行しない。これは、仮想視点から特定オブジェクトにある程度の距離があれば実際の視線方向と差が少なく上記のような問題が発生しにくく、この変更処理の必要性が希薄となることと、むやみに仮想視線を動かすことによってVR酔いが生じてしまうことを防止できることによる。
また、変更部253は、近距離仮想視線方向へ変更した後に、特定オブジェクトと仮想視点との距離が一定距離より離れた場合には、近距離仮想視線方向から基本仮想視線方向へ戻す。
表示制御部254は、視界画像生成部252が生成した視界画像のデータを通信部24を介してHMD10に送信することにより、HMD10の表示部11に表示させる。以下では、表示制御部254が視界画像のデータを通信部24を介して送信することによりHMD10に表示部11に表示させることを、省略して、表示制御部254が表示部11(またはHMD10)に表示させる、とも記述する。これにより、視界画像生成部252が生成した視界画像(左右両眼それぞれの視界画像)がHMD10の表示部11に両眼視差を利用した立体視画像として表示される。
〔視界画像生成処理の動作〕
次に、図12を参照して、ゲーム装置20が視界画像を生成する際に仮想視線方向を変更する視界画像生成処理の動作を説明する。図12は、本実施形態に係る視界画像生成処理の一例を示すフローチャートである。まず、制御部250は、HMD10のセンサ12の検知結果に基づいて視界方向を検出する(ステップS100)。次に、制御部250は、検出した視界方向に基づいて、仮想空間内の視界の中に特定オブジェクトがあるか否かを判定する(ステップS102)。
視界の中に特定オブジェクトがあると判定された場合(YES)、制御部250は、仮想視点から特定オブジェクトまでの距離を検出する。(ステップS104)。
次に、制御部250は、検出した仮想視点から特定オブジェクトまでの距離が一定距離以内であるか否かを判定する(ステップS106)。仮想視点から特定オブジェクトまでの距離が一定距離以内であると判定された場合(YES)、制御部250は、視界画像を生成する際の基準となる仮想視線方向を近距離仮想視線方向に設定する。即ち、制御部250は、基本仮想視線方向から近距離仮想視線方向へ変更する(ステップS108)。
一方、ステップS102において視界の中に特定オブジェクトがないと判定された場合(NO)、及び、ステップS106において仮想視点から特定オブジェクトまでの距離が一定距離以内ではないと判定された場合(NO)、制御部250は、視界画像を生成する際の基準となる仮想視線方向を基本仮想視線方向に設定する。即ち、制御部250は、仮想視線方向を近距離仮想視線方向へ変更しない(ステップS110)。
そして、制御部250は、ステップS108またはステップS110において設定された近距離仮想視線方向または基本仮想視線方向を基準として、ステップS100において検出された視界方向の視界画像を生成する(ステップS112)。
〔第1の実施形態のまとめ〕
以上説明してきたように、本実施形態に係るゲーム装置20(表示制御装置の一例)は、両眼視差を利用した立体視画像として、仮想空間内の仮想視点からの視界を表す視界画像を表示可能な表示部11を備えたHMD10の表示を制御する。例えば、ゲーム装置20は、検出部251と、視界画像生成部252と、変更部253と、表示制御部254とを備えている。検出部251は、表示部11(HDM10)の方向に関する情報に基づいて仮想視点からの視界方向を検出する。視界画像生成部252は、検出部25が検出した視界方向に基づく視界画像を、仮想視点からの仮想視線方向を基準として生成する。変更部253は、仮想空間内に配置される特定オブジェクトのうち視界画像に含まれる特定オブジェクトと仮想視点との位置関係に基づいて、仮想視線方向を変更する。表示制御部254は、視界画像生成部252が生成した視界画像を表示部11に表示させる。
これにより、ゲーム装置20は、仮想視点と特定オブジェクトとの位置関係に基づいて視界画像を生成する際の仮想視線方向を変更するので、左眼用の視界画像と右眼用の視界画像とで特定オブジェクトの画像の歪曲及び伸縮による違いを抑制することができ、両眼視差を利用した仮想空間の視界画像の表示を、より見やすくすることができる。また、それによりVR酔いを抑制することができる。
例えば、特定オブジェクトと仮想視点との位置関係は、特定オブジェクトと仮想視点との距離に基づく位置関係である。これにより、ゲーム装置20は、仮想視点と特定オブジェクトとの距離に基づいて視界画像を生成する際の仮想視線方向を変更するので、左眼用の視界画像と右眼用の視界画像とで特定オブジェクトの画像の歪曲及び伸縮による違いを抑制することができ、両眼視差を利用した仮想空間の視界画像の表示を、より見やすくすることができる。
一例として、変更部253は、特定オブジェクトと仮想視点との距離が一定距離以内の場合に、仮想視線方向を変更する。これにより、ゲーム装置20は、特定オブジェクトが近距離にある場合には、その特定オブジェクトをユーザが見ていると判断し、その特定オブジェクトに合わせて近距離仮想視線方向に変更するので、特定オブジェクトが近距離にある場合であっても視界画像を見やすくすることができる。
具体的には、変更部253は、仮想視点から特定オブジェクトへの方向と仮想視線方向との差が少なくなるように、仮想視線方向を変更する。これにより、ゲーム装置20は、近距離を見た場合の実際のユーザの眼の視線方向と仮想視線方向との差異を少なくするため、ユーザが見ていると判断した特定オブジェクトの画像の歪曲及び伸縮を抑えることができる。よって、ゲーム装置20は、ユーザが見ていると判断した特定オブジェクトを現実の見え方と同じように視界画像を表示させることができるため、より見やすくすることができるとともに、VR酔いを抑制できる。
また、特定オブジェクトは、予め設定されたオブジェクトである。これにより、ゲーム装置20は、主要なオブジェクト(例えば、キャラクタ)を特定オブジェクトに設定しておくことで、その主要なオブジェクトが近距離に存在した場合であっても画像の歪曲及び伸縮を抑えることができるため、より見やすくすることができるとともに、VR酔いを抑制できる。また、ゲーム装置20は、複数のオブジェクトの中から特定のオブジェクトに限定することで、不必要に仮想視線方向を変更することを軽減できるため、VR酔いを軽減できる。
[第2の実施形態]
次に、本発明の第2の実施形態について説明する。
本実施形態に係るHMDシステム1の基本的な構成は、図10及び図11に示す各構成と同様であるので、本実施形態において特徴的な処理について説明する。第1の実施形態では、仮想視点と特定オブジェクトとの距離に基づいて仮想視線方向の変更処理を行う例を説明したが、本実施形態では、仮想視点と特定オブジェクトとに応じた輻輳角に基づいて仮想視線方向の変更処理を行う例を説明する。
輻輳角は、特定オブジェクトとの距離と相関がある。例えば、図6に示すように、仮想視点KとオブジェクトH3とに応じた輻輳角r1は、左眼仮想視点K(L)からオブジェクトH3へ向かう視線方向KL2と、右眼仮想視点K(R)からオブジェクトH3へ向かう視線方向KR2とのなす角となる。一方、仮想視点KとオブジェクトH4とに応じた輻輳角r2は、左眼仮想視点K(L)からオブジェクトH4へ向かう視線方向KL3と、右眼仮想視点K(R)からオブジェクトH4へ向かう視線方向KR3とのなす角となる。オブジェクトH3よりも近距離のオブジェクトH4に対する輻輳角r2の方が、オブジェクトH3に対する輻輳角r1よりも大きい角度となる(輻輳角r1<輻輳角r2)。即ち、輻輳角が大きいほど、特定オブジェクトとの距離が近いことになる。
変更部253は、仮想空間内に配置される特定オブジェクトのうち視界画像に含まれる特定オブジェクトと仮想視点とに応じた輻輳角に基づく位置関係に基づいて、視界画像生成部252が視界画像(左右両眼それぞれの視界画像)を生成する際に基準となる仮想視線方向(左眼仮想視線方向、右眼仮想視線方向)を変更する。具体的には、変更部253は、特定オブジェクトと仮想視点とに応じた輻輳角が一定値以上の場合に、特定オブジェクトへの方向と仮想視線方向との差が少なくなるように、基本仮想視線方向から近距離仮想視線方向(即ち、特定オブジェクトへの実際の視線方向に近づく方向)へ変更する。
なお、上記の一定値は、近距離仮想視線方向へ変更する閾値として予め設定された値であり、任意に設定することができる。例えば、この一定値は、ユーザの右眼と左眼の距離が仮想視線方向に大きく影響が出るくらいの特定オブジェクトと仮想視点との距離に相当する輻輳角を考慮して設定される。
一方、仮想視点と特定オブジェクトとに応じた輻輳角が一定値より小さい場合には、変更部253は、近距離仮想視線方向への変更処理を実行しない。また、変更部253は、近距離仮想視線方向へ変更した後に、特定オブジェクトと仮想視点とに応じた輻輳角が一定値未満となった場合には、近距離仮想視線方向から基本仮想視線方向へ戻す。
図13は、本実施形態に係る視界画像生成処理の一例を示すフローチャートである。この図13において、ステップS200、S202、S208、S210、S212の各処理は、図12のステップS100、S102、S108、S110、S112の各処理と同様の処理であるため、その説明を適宜省略する。
ステップS204において、制御部250は、仮想視点と特定オブジェクトとに応じた輻輳角を検出する。次に、制御部250は、検出した輻輳角が一定値以上であるか否かを判定する(ステップS206)。輻輳角が一定値以上であると判定された場合(YES)、制御部250は、視界画像を生成する際の基準となる仮想視線方向を近距離仮想視線方向に設定する。即ち、制御部250は、基本仮想視線方向から近距離仮想視線方向へ変更する(ステップS208)。
一方、ステップS202において視界の中に特定オブジェクトがないと判定された場合(NO)、及び、ステップS206において輻輳角が一定値未満であると判定された場合(NO)、制御部250は、視界画像を生成する際の基準となる仮想視線方向を基本仮想視線方向に設定する。即ち、制御部250は、仮想視線方向を近距離仮想視線方向へ変更しない(ステップS210)。
以上説明したように、本実施形態においては、特定オブジェクトと仮想視点との位置関係は、仮想視点と特定オブジェクトとに応じた輻輳角に基づく位置関係である。これにより、ゲーム装置20は、仮想視点と特定オブジェクトに応じた輻輳角に基づいて視界画像を生成する際の仮想視線方向を変更するので、左眼用の視界画像と右眼用の視界画像とで特定オブジェクトの画像の歪曲及び伸縮による違いを抑制することができ、両眼視差を利用した仮想空間の視界画像の表示を、より見やすくすることができる。
例えば、変更部253は、上記輻輳角が一定値以上の場合に、仮想視線方向を変更する。これにより、ゲーム装置20は、輻輳角が一定値以上の場合、即ち特定オブジェクトが近距離にある場合には、その特定オブジェクトをユーザが見ていると判断し、その特定オブジェクトに合わせて近距離仮想視線方向に変更するので、特定オブジェクトが近距離にある場合であっても視界画像を見やすくすることができる。
[第3の実施形態]
次に、本発明の第3の実施形態について説明する。
本実施形態に係るHMDシステム1の基本的な構成は、図10及び図11に示す各構成と同様であるので、本実施形態において特徴的な処理について説明する。本実施形態では、第1及び第2の実施形態で説明した仮想視線方向の変更に加えて、視界の広さも変更する例を説明する。
図5を参照して説明したように、視界画像は、仮想視線方向から離れるほど画像の歪曲や伸縮の度合が大きくなる。そのため、視界を狭めることにより、視界画像において歪曲及び伸縮する画像領域を少なく抑えることができる。なお、視界を狭めるとは、結果的にはズーム(拡大)するのと同様の処理である。通常の視界に広さに対して狭める範囲は、任意に設定することができ、予め設定されていてもよいし、特定オブジェクトとの距離または特定オブジェクトの大きさ等に基づいて設定されてもよい。
本実施形態では、変更部253は、仮想視線方向を変更する際に、視界画像の仮想空間における視界の広さを変更する。例えば、変更部253は、仮想視線方向を近距離視線方向に変更する際に、視界画像の仮想空間における視界の広さを通常の視界の広さよりも狭くする。
これにより、ゲーム装置20は、ユーザが近距離を見る場合には、近距離視線方向に変更するのに加えて、視界を狭めることで歪曲及び伸縮する画像領域を少なく抑えることができるため、両眼視差を利用した仮想空間の視界画像の表示を、より見やすくすることができる。
図14は、本実施形態に係る視界画像生成処理の一例を示すフローチャートである。この図14において、ステップS300、S302、S304、S306、S308、S312、S316の各処理は、図12のステップS100、S102、S104、S106、S108、S110、S112の各処理と同様の処理であるため、その説明を適宜省略する。
ステップS306において仮想視点から特定オブジェクトまでの距離が一定距離以内であると判定された場合(YES)、制御部250は、視界画像を生成する際の基準となる仮想視線方向を近距離仮想視線方向に設定する。即ち、制御部250は、基本仮想視線方向から近距離仮想視線方向へ変更する(ステップS308)。また、制御部250は、視界の広さを通常の標準値から狭い範囲に変更する(ステップS310)。
一方、ステップS302において視界の中に特定オブジェクトがないと判定された場合(NO)、及び、ステップS306において仮想視点から特定オブジェクトまでの距離が一定距離以内ではないと判定された場合(NO)、制御部250は、視界画像を生成する際の基準となる仮想視線方向を基本仮想視線方向に設定する。即ち、制御部250は、仮想視線方向を近距離仮想視線方向へ変更しない(ステップS312)。また、制御部250は、視界の広さを通常の標準値に設定する(ステップS314)。
なお、図14に示す視界画像生成処理は、仮想視点と特定オブジェクトとの距離に基づいて仮想視線方向の変更処理と視界の変更処理とを行う例であるが、第2の実施形態で説明したように、仮想視点と特定オブジェクトに応じた輻輳角に基づいて仮想視線方向の変更処理と視界の変更処理とを行ってもよい。即ち、図12に示す視界画像生成処理に視界の変更処理を加えた例であるが、図13に示す視界画像生成処理に視界の変更処理を加えてもよい。
[変形例]
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成は上述の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。例えば、上述の第1〜3の実施形態において説明した各構成は、任意に組み合わせることができる。
また、上記実施形態では、仮想視線方向の変更処理の対象となる特定オブジェクトが予め設定されたオブジェクト(例えば、キャラクタ等)である例を説明したが、これに限られるものではない。例えば、特定オブジェクトは、視界画像内において所定の表示態様となったオブジェクトであってもよい。所定の表示態様となったオブジェクトとは、例えば、近距離のオブジェクトであって、そのオブジェクトの表示面積の割合が視界画像の面積に対して所定の割合(例えば、50%)以上になったオブジェクトである。つまり、上記実施形態で説明したように特定オブジェクトを予め設定しておくのではなく、視界画像内に含まれる近距離のオブジェクトの表示面積の割合によって特定オブジェクトに設定し、仮想視線方向の変更処理を行ってもよい。例えば、視界画像内に仮想視点から30cm以内に位置する近距離のオブジェクトの表示面積の割合が視界画像に対して50%以上になった場合に、当該オブジェクトを特定オブジェクトとして仮想視線方向の変更処理を行うようにしてもよい。これにより、ゲーム装置20は、予め設定された特定オブジェクトに限らず、視界画像の多くの割合を占める近距離のオブジェクトがある場合には、当該オブジェクトをユーザが見ているものと判断して仮想視線方向の変更処理を行うため、その特定オブジェクトの画像の歪曲及び伸縮を抑えることができ、より見やすくすることができる。
また、上記実施形態において、HMD10がユーザの頭部に装着可能な構成例を説明したが、HMD10は、頭部に完全に装着可能な形状の構成に限られるものではない。例えば、HMD10は、ユーザが眼の前に把持することで、ユーザの眼と表示部11との位置関係を所定の関係に保ち、仮想空間内の視界画像や各種オブジェクトを視認可能とする装置(例えば、双眼鏡のような形状)であってもよい。
また、HMD10は、スマートフォン等の端末装置をアタッチメントに装着することでHMDとして利用できるものであってもよい。この場合、端末装置の表示部及びセンサがHMD10の表示部11及びセンサ12として機能し、また、端末装置のCPUが、ゲーム装置20のCPU25として機能する。即ち、ゲーム装置20の制御部250が備える、検出部251、視界画像生成部252、変更部253、及び表示制御部254、及びゲーム装置20の記憶部23の仮想空間データ等は、上記の端末装置が備える。
また、上記実施形態では、仮想空間を利用したゲームを例に説明したが、これに限られるものではない。例えば、仮想空間を利用したアプリケーションであれば、ゲームに限らず、どのようなアプリケーションであってもよい。また、オブジェクトが配置される仮想空間は、現実空間に基づくものであってもよい。例えば、現実空間をユーザが移動することにより、現実空間内のユーザの視点に応じた視界の景色がリアルタイムに撮影されながら視界画像として表示されるものであってもよい。その場合、特定オブジェクトは、現実空間に基づく視界画像に追加されてもよいし、現実空間内の実オブジェクトの中から認識されてもよい。
また、上記実施形態では、HMD10の方向に応じて視界方向変化する例を説明したが、これに限られるものではなく、視界は固定であってもよい。視界が固定の場合であっても、仮想視点と特定オブジェクトとの位置関係に基づいて、仮想視線方向の変更処理が行われてもよい。
また、上述の制御部250の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより制御部250としての処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD−ROM等の非一過性の記録媒体であってもよい。また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部または外部に設けられた記録媒体も含まれる。配信サーバの記録媒体に記憶されるプログラムのコードは、制御部250で実行可能な形式のプログラムのコードと異なるものでもよい。すなわち、配信サーバからダウンロードされて制御部250で実行可能な形でインストールができるものであれば、配信サーバで記憶される形式は問わない。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に制御部250で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、上述した制御部250の機能の一部または全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
[付記]
以上の記載から本発明は例えば以下のように把握される。なお、本発明の理解を容易にするために添付図面の参照符号を便宜的に括弧書きにて付記するが、それにより本発明が図示の態様に限定されるものではない。
(付記1)本発明の一態様に係る表示制御装置(20)は、両眼視差を利用した立体視画像として、仮想空間内の仮想視点からの視界を表す視界画像を表示可能な表示部(11)を備えたヘッドマウントディスプレイ(10)の表示を制御する表示制御装置であって、前記表示部の方向に関する情報に基づいて前記仮想視点からの視界方向を検出する検出部(251、S100、S200、S300)と、前記検出部が検出した視界方向に基づく前記視界画像を、前記仮想視点からの仮想視線方向を基準として生成する視界画像生成部(252、S112、S212、S316)と、前記仮想空間内に配置される特定オブジェクトのうち前記視界画像に含まれる特定オブジェクトと前記仮想視点との位置関係に基づいて、前記仮想視線方向を変更する変更部(253、S108、S208、S308)と、前記視界画像生成部が生成した前記視界画像を表示部に表示させる表示制御部(254)と、を備える。
付記1の構成によれば、表示制御装置は、仮想視点と特定オブジェクトとの位置関係に基づいて視界画像を生成する際の仮想視線方向を変更するので、左眼用の視界画像と右眼用の視界画像とで特定オブジェクトの画像の歪曲及び伸縮による違いを抑制することができ、両眼視差を利用した仮想空間の視界画像の表示を、より見やすくすることができる。また、それによりVR酔いを抑制することができる。
(付記2)また、本発明の一態様は、付記1に記載の表示制御装置であって、前記位置関係は、前記特定オブジェクトと前記仮想視点との距離に基づく位置関係である。
付記2の構成によれば、表示制御装置は、仮想視点と特定オブジェクトとの距離に基づいて視界画像を生成する際の仮想視線方向を変更するので、左眼用の視界画像と右眼用の視界画像とで特定オブジェクトの画像の歪曲及び伸縮による違いを抑制することができ、両眼視差を利用した仮想空間の視界画像の表示を、より見やすくすることができる。
(付記3)また、本発明の一態様は、付記2に記載の表示制御装置であって、前記変更部は、前記距離が一定距離以内の場合に、前記仮想視線方向を変更する。
付記3の構成によれば、表示制御装置は、特定オブジェクトが近距離にある場合には、その特定オブジェクトをユーザが見ていると判断し、その特定オブジェクトに合わせて近距離仮想視線方向に変更するので、特定オブジェクトが近距離にある場合であっても視界画像を見やすくすることができる。
(付記4)また、本発明の一態様は、付記2または付記3に記載の表示制御装置であって、前記位置関係は、前記仮想視点と前記特定オブジェクトとに応じた輻輳角に基づく位置関係である。
付記4の構成によれば、表示制御装置は、仮想視点と特定オブジェクトに応じた輻輳角に基づいて視界画像を生成する際の仮想視線方向を変更するので、左眼用の視界画像と右眼用の視界画像とで特定オブジェクトの画像の歪曲及び伸縮による違いを抑制することができ、両眼視差を利用した仮想空間の視界画像の表示を、より見やすくすることができる。
(付記5)また、本発明の一態様は、付記4に記載の表示制御装置であって、前記変更部は、前記輻輳角が一定値以上の場合に、前記仮想視線方向を変更する。
付記5の構成によれば、表示制御装置は、輻輳角が一定値以上の場合、即ち特定オブジェクトが近距離にある場合には、その特定オブジェクトをユーザが見ていると判断し、その特定オブジェクトに合わせて近距離仮想視線方向に変更するので、特定オブジェクトが近距離にある場合であっても視界画像を見やすくすることができる。
(付記6)また、本発明の一態様は、付記1から付記5のいずれか一に記載の表示制御装置であって、前記変更部は、前記仮想視点から前記特定オブジェクトへの方向と前記仮想視線方向との差が少なくなるように、前記仮想視線方向を変更する。
付記6の構成によれば、表示制御装置は、近距離を見た場合の実際のユーザの眼の視線方向と仮想視線方向との差異を少なくするため、ユーザが見ていると判断した特定オブジェクトの画像の歪曲及び伸縮を抑えることができる。
(付記7)また、本発明の一態様は、付記1から付記6のいずれか一に記載の表示制御装置であって、前記特定オブジェクトは、予め設定されたオブジェクトである。
付記7の構成によれば、表示制御装置は、主要なオブジェクト(例えば、キャラクタ)を特定オブジェクトに設定しておくことで、その主要なオブジェクトが近距離に存在した場合であっても画像の歪曲及び伸縮を抑えることができるため、より見やすくすることができる。また、表示制御装置は、複数のオブジェクトの中から特定のオブジェクトに限定することで、不必要に仮想視線方向を変更することを軽減できるため、VR酔いを軽減できる。
(付記8)また、本発明の一態様は、付記1から付記7のいずれか一に記載の表示制御装置であって、前記特定オブジェクトは、前記視界画像内において所定の表示態様となったオブジェクトである。
付記8の構成によれば、表示制御装置は、予め設定された特定オブジェクトに限らず、視界画像のうちの多くの割合を占める近距離のオブジェクトがある場合には、当該オブジェクトをユーザが見ている特定オブジェクトであると判断して仮想視線方向の変更処理を行うため、その特定オブジェクトの画像の歪曲及び伸縮を抑えることができ、より見やすくすることができる。
(付記9)また、本発明の一態様は、付記1から付記8のいずれか一に記載の表示制御装置であって、前記変更部は、前記仮想視線方向を変更する際に、前記視界画像の前記仮想空間における視界範囲の広さを変更する。
付記9の構成によれば、表示制御装置は、ユーザが近距離を見る場合には、近距離視線方向に変更するのに加えて、視界を狭めることで歪曲及び伸縮する画像領域を少なく抑えることができるため、両眼視差を利用した仮想空間の視界画像の表示を、より見やすくすることができる。
(付記10)また、本発明の一態様に係るプログラムは、コンピュータを、付記1から付記9のいずれか一に記載の表示制御装置として機能させるためのプログラムである。
付記10の構成によれば、プログラムは、仮想視点と特定オブジェクトとの位置関係に基づいて視界画像を生成する際の仮想視線方向を変更するので、左眼用の視界画像と右眼用の視界画像とで特定オブジェクトの画像の歪曲及び伸縮による違いを抑制することができ、両眼視差を利用した仮想空間の視界画像の表示を、より見やすくすることができる。また、それによりVR酔いを抑制することができる。