JP5485221B2 - ゲーム装置、ならびに、プログラム - Google Patents

ゲーム装置、ならびに、プログラム Download PDF

Info

Publication number
JP5485221B2
JP5485221B2 JP2011108723A JP2011108723A JP5485221B2 JP 5485221 B2 JP5485221 B2 JP 5485221B2 JP 2011108723 A JP2011108723 A JP 2011108723A JP 2011108723 A JP2011108723 A JP 2011108723A JP 5485221 B2 JP5485221 B2 JP 5485221B2
Authority
JP
Japan
Prior art keywords
image
user
stereoscopic image
viewpoint
virtual space
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011108723A
Other languages
English (en)
Other versions
JP2012239471A (ja
Inventor
勇太 水野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konami Digital Entertainment Co Ltd
Original Assignee
Konami Digital Entertainment Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konami Digital Entertainment Co Ltd filed Critical Konami Digital Entertainment Co Ltd
Priority to JP2011108723A priority Critical patent/JP5485221B2/ja
Publication of JP2012239471A publication Critical patent/JP2012239471A/ja
Application granted granted Critical
Publication of JP5485221B2 publication Critical patent/JP5485221B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、仮想空間内に配置されたオブジェクトをユーザに提示する際に、立体視させるか平面視させるかを適切に切り換えるのに好適なゲーム装置、ゲーム装置の制御方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
従来から、立体視が可能な立体視画像を生成する技術が提案されている。立体視画像の技術では、人間に視差を感じさせるため、右目用画像と、左目用画像と、を、個別に生成する。
このような技術では、右目用画像をユーザの右目に見せ、左目用画像をユーザの左目に見せるために、左右で見える領域を弁別した眼鏡、左右で透過色が異なる眼鏡、シャッタつきの眼鏡、スリット、各種のレンズやプリズムなどを利用する。
たとえば、下記の特許文献1においては、1つの表示画面に対向して右目用眼鏡と左目用眼鏡を配置し、右目用眼鏡に対向する領域には右目用画像を表示し、左目用眼鏡に対向する領域には左目用画像と、を表示し、表示画面の左右の境界から両眼鏡の中間に伸びる壁を設けて、反対の目用の画像が見えないように(たとえば、左目から右目用画像が見えないように)している。
特開2007−075300号公報
一般に、左右の目から同じ画像を見る平面視に比べて、立体視は、ユーザの慣れが必要であるとともに、疲労の度合も大きいと言われている。そこで、ユーザに立体視をさせるか否かを適切に判定して、ユーザの目の負担を抑制する技術が求められている。
本発明は、上記のような課題を解決するもので、仮想空間内に配置されたオブジェクトをユーザに提示する際に、立体視させるか平面視させるかを適切に切り換えるのに好適なゲーム装置、ゲーム装置の制御方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。本発明の第1の観点に係るゲーム装置は、撮影部、判定部、生成部、表示部を備える。
撮影部は、ユーザを撮影して、撮影結果画像を出力する。すなわち、撮影部は、画面に表示されるゲーム画像を見ながらプレイしているユーザを、ゲーム装置に備えられたカメラ等の画像取得装置により撮影することで、ユーザの姿を表す画像を取得し、以下の判定部へ出力する。
判定部は、撮影結果画像に含まれるユーザの姿のうち、所定の部位の位置もしくは大きさに基づいて、当該ユーザに立体視画像を提示すべきか否かを判定する。すなわち、判定部は、撮影部によって取得されたユーザの姿を表す画像を用いて、当該画像中のユーザの体の部位(目、顔の輪郭など)の位置や大きさに着目する。そして、当該位置や大きさが時間とともに変化したり、所定値に達したりしたかといったことに基づいて、当該ユーザに立体視画像を提示すべきか否かを判定する。
ここで、立体視画像とは、ユーザの右目と左目との視差を考慮することにより、ユーザに3次元の立体感をもって見させることのできる画像をいう。これに対して、以降でいう平面視画像とは、ユーザの右目と左目との視差を考慮せずに生成された画像をいう。
生成部は、判定部により立体視画像を提示すべきと判定された場合、仮想空間内に配置されるオブジェクトを表す立体視画像を生成し、判定部により立体視画像を提示すべきでないと判定された場合、当該オブジェクトを表す平面視画像を生成する。ここで、ゲーム装置は仮想空間をその記憶部等に用意し、その中にゲームを構成するための種々のオブジェクトを配置する。そして、生成部が、当該仮想空間内の所定の位置に配置された視点から見たオブジェクトの様子を表す画像を生成して、以下の表示部へ出力する。このとき、生成部は、判定部による判定結果により、画像を立体視画像として生成するか、平面視画像として生成するかのいずれかをとる。
表示部は、生成された立体視画像もしくは平面視画像を画面に表示する。すなわち、表示部は、生成部により生成された立体視画像もしくは平面視画像を、例えばディスプレイ等の画面に表示して、ユーザに提示する。ユーザは、立体視もしくは平面視することで画面に表示された画像を見ながら、ゲームを楽しむことができる。
このような構成により、本発明のゲーム装置は、画面を見ているユーザの状況に応じて、画面に立体視画像を表示するのか、それとも平面視画像を表示するのか、を切り替えることができる。
また、本発明のゲーム装置において、
所定の部位は、ユーザの瞳であり、画面に立体視画像が表示されている間、
オブジェクトの大きさと、オブジェクトの仮想空間内における奥行き方向の位置と、は、立体視画像において当該オブジェクトが描画される領域の大きさが略一定となるように変化し、
判定部は、ユーザの瞳の位置の変化と、オブジェクトの位置の変化と、の連動の度合に基づいて、当該ユーザに、以降も立体視画像を提示すべきか否かを判定する
ことも可能である。
すなわち、判定部は、撮影結果画像に含まれるユーザの姿のうち、ユーザの瞳の位置を取得する。ここで「瞳の位置」とは、ユーザの視線方向を定めることのできる撮影結果画像中の位置であり、このときの「瞳」は、瞳孔とその周囲の虹彩を含めた部分、すなわちいわゆる黒目の部分のことであってもよいし、瞳孔そのもの、すなわち虹彩の中にある網膜に光を通す円状の孔部分であってもよい。例えば「瞳」として黒目の部分を用いる場合には、判定部は、撮影結果画像からユーザの目の中の虹彩部分、すなわち白目と黒目との境界を検出し、その位置(典型的にはその中心位置)を取得する。あるいは「瞳」として瞳孔そのものを用いる場合には、判定部は、撮影結果画像からユーザの目の中の瞳孔部分、すなわち網膜に光を通す孔部分を検出し、その位置(典型的にはその中心位置)を取得する。判定部は、これらの検出のために、例えば2値化やエッジ検出等といった既知の画像処理技術を含めた種々の検出手法を用いることができる。
このように取得されたユーザの「瞳」の位置に基づいて、判定部は、当該ユーザに、以降も立体視画像を提示すべきか否かを、以下のような手法で判定する。ここでまず、仮想空間内に配置されるオブジェクトの位置は、仮想空間内の所定の位置に配置された視点から見て奥行き方向に、すなわち視点の位置に対して遠ざかったり近づいたりするように、変化する。このとき同時に、生成される立体視画像において描画されるオブジェクトの領域の大きさが略一定になるように、オブジェクトの大きさも変化する。すなわち、オブジェクトの位置が視点の位置に近いときはオブジェクトの大きさは相対的に縮小し、視点の位置から遠いときはオブジェクトの大きさが相対的に増大するというように、視点の位置からの距離に比例させた大きさへと変化する。
このような立体視画像が表示された画面を見ているユーザは、正常に立体視できている場合、オブジェクトが視点の近くにあるときは両目の焦点を近づけて画面を見ることになり、逆にオブジェクトが視点から遠くにあるときは両目の焦点を遠ざけて画面を見ることになる。そのため、オブジェクトの位置に連動してユーザの両目の瞳の位置が変化する。一方で立体視できていない場合、ユーザの両目の瞳の位置は、オブジェクトの位置に連動しないことになる。そのため、判定部は、撮影結果画像に含まれるユーザの姿のうち瞳の位置の変化に着目し、オブジェクトの位置の変化との連動の度合に基づいて、以降も立体視画像を提示すべきか否かを判定する。
ここで連動の度合とは、オブジェクトの位置とユーザの瞳の位置とがどの程度連動して変化したか、すなわち、どの程度一方が他方に影響を受け、追従するように変化したか、を示す指標である。このような連動の度合として、これら2つの位置の変化の間の相関係数を計算し、その値が指標として用いられてもよいし、あるいは変化に周期性がある場合には、これら2つの位置の変化をフーリエ変換し、周波数成分の比較が用いられてもよい。
このような構成により、本発明のゲーム装置は、ユーザが立体視を行って画面を見ているか否かを、オブジェクトの位置の変化とユーザの瞳の位置の変化との連動の度合に基づいて判定する。その結果、ユーザが立体視できていないときには、不必要に立体視画像を提示せずに、平面視画像を提示することへ切り替えることができる。
また、本発明のゲーム装置において、
判定部は、所定の部位の位置もしくは大きさの変化の範囲が所定の範囲内である場合、当該ユーザに立体視画像を提示すべきと判定する
ことも可能である。
すなわち、判定部は、撮影結果画像に含まれるユーザの姿のうち、所定の部位の位置もしくは大きさが、当該撮影結果画像の中で時間の経過とともにどれくらい変化したかを取得する。そして、判定部は、取得された変化があらかじめ定められた範囲を超えたか否かを判断し、超えていない場合に、当該ユーザに立体視画像を提示すべきと判定する。
このような構成により、本発明のゲーム装置は、ユーザが姿勢を変えて画面を斜めから見るようになるなど、立体視可能な位置から画面を見ていない状態になったときには、不必要に立体視画像を提示せずに、平面視画像を提示することへ切り替えることができる。
また、本発明のゲーム装置において、
判定部は、所定の部位の位置もしくは大きさの変化の周期が所定の範囲内である場合、当該ユーザに立体視画像を提示すべきと判定する
ことも可能である。
すなわち、判定部は、撮影結果画像に含まれるユーザの姿のうち、所定の部位の位置もしくは大きさについて、当該撮影結果画像の中での変化の周期を取得する。そして、判定部は、取得された変化の周期があらかじめ定められた範囲内であるか否かを判断し、範囲内である場合に、当該ユーザに立体視画像を提示すべきと判定する。
判定部は、このような変化の周期を取得することで、ユーザの部位がどのくらい激しく動作したかの一つの指標とする。例えば所定の部位としてユーザの目の瞳に着目した場合には、本発明のゲーム装置は、ユーザが長時間画面を見続けたことによる疲れなどで目の動きが鈍くなってきたときに、目に負担のかかりやすい立体視画像を提示し続けるのではなく、平面視画像を提示することへ切り替えることができる。
また、本発明のゲーム装置において、
所定の部位は、ユーザの両瞳、もしくは、ユーザの顔の輪郭である
ことも可能である。
すなわち、判定部は、撮影結果画像に含まれるユーザの姿のうち、ユーザの両瞳もしくはユーザの顔の輪郭に着目し、それらの位置もしくは大きさの変化、または変化の周期が所定の範囲内である場合、ユーザに立体視画像を提示すべきと判定する。このとき所定の部位として用いられるユーザの両瞳には、上記と同様に、瞳孔とその周囲の虹彩を含めた部分が用いられてもよいし、瞳孔そのものが用いられてもよい。
また、本発明のゲーム装置において、
判定部により立体視画像を提示すべきと判定された場合、生成部は、仮想空間内に配置される右視点と左視点とを所定の距離だけ離間させ、当該右視点から当該仮想空間を見た右視点画像と当該左視点から当該仮想空間を見た左視点画像とを生成することにより、立体視画像を生成する
ことも可能である。
すなわち、本発明のゲーム装置は、仮想空間内に配置されたオブジェクトを表す立体視画像を生成部が生成するために、仮想空間内に左視点と右視点という2個の視点を用意する。そして、判定部により立体視画像を提示すべきと判定された場合に、生成部は、2個の視点間の距離をあらかじめ定められた距離だけ離し、左視点から見た仮想空間内のオブジェクトを表す左視点画像と、右視点から見た仮想空間内のオブジェクトを表す右視点画像と、の2個の画像を立体視画像として生成する。
これによって、仮想空間内の同じオブジェクトであっても、左視点から見た画像と右視点から見た画像とは、見る角度が異なる画像となる。そのため、これら2個の異なる視点から見た画像から構成される立体視画像は、現実空間で人間がものを見るときに、左目と右目という異なる角度から見て立体感を認識している様子を模擬した画像となる。
また、本発明のゲーム装置において、
判定部により立体視画像を提示すべきでないと判定された場合、生成部は、仮想空間内に配置される右視点と左視点とを重ねて、当該右視点から当該仮想空間を見た右視点画像と当該左視点から当該仮想空間を見た左視点画像とを生成することにより、平面視画像を生成し、
画面とユーザとの間には、複数のスリットが用意され、
表示部は、画面のうち所定の左基準位置から複数のスリットを介して見える領域に、左視点画像を表示し、画面のうち所定の右基準位置から複数のスリットを介して見える領域に、右視点画像を表示する
ことも可能である。
すなわち、生成部は、立体視画像の生成と同様に、仮想空間内に配置された2個の視点から見た2個の画像を生成するが、判定部により立体視画像を提示すべきでないと判定された場合には、2個の視点を仮想空間内の同じ位置に設定する。そして、生成部は、同じ位置に設定された2個の視点から見た2個の同じ画像を生成して、平面視画像とする。これによって、生成部は、仮想空間内の左右2個の視点間の距離を変化させることで、立体視画像と平面視画像とを選択的に生成することができる。
またここで、ゲーム装置の画面と当該画面を見ているユーザとの間の所定の位置には、複数のスリットが用意される。ここで複数のスリットとは、穴や溝、切れ込みなどの隙間により視線を通す透過部分と、視線を通さない遮断部分とが、所定の幅と間隔で交互に並べて配置されたものである。このような複数のスリットが、画面とユーザとの間の所定の位置に配置されることで、当該ユーザから見た画面内には、スリットの陰に隠れて見えない領域とスリットの隙間から見える領域とが存在することになる。
このとき、左基準位置として、ユーザが典型的な位置から画面を見た際にユーザの左目となることが想定される位置が、右基準位置として、右目の位置となることが想定される位置が、それぞれ設定される。そして表示部は、当該設定された左基準位置から複数のスリットを介して見える画面内の領域に左視点画像を表示し、当該設定された右基準位置から複数のスリットを介して見える画面内の領域に右視点画像を表示する。
このような構成により、ユーザの左目には左視点からオブジェクトを見た画像が、右目には右視点からオブジェクトを見た画像が、それぞれ視界に入ることになり、ユーザは左右の目で異なる角度からの画像を見ることになるため、立体感をもちながら画面を見ることができる。
上記目的を達成するため、本発明の第2の観点に係るゲーム装置の制御方法は、撮影部、判定部、生成部、表示部を備えるゲーム装置が実行する制御方法であって、撮影工程、判定工程、生成工程、表示工程を備える。
撮影工程では、撮影部が、ユーザを撮影して、撮影結果画像を出力する。
判定工程では、判定部が、撮影結果画像に含まれるユーザの姿のうち、所定の部位の位置もしくは大きさに基づいて、当該ユーザに立体視画像を提示すべきか否かを判定する。
生成工程では、生成部が、判定工程にて立体視画像を提示すべきと判定された場合、仮想空間内に配置されるオブジェクトを表す立体視画像を生成し、判定工程にて立体視画像を提示すべきでないと判定された場合、当該オブジェクトを表す平面視画像を生成する。
表示工程では、表示部が、生成された立体視画像もしくは平面視画像を画面に表示する。
上記目的を達成するため、本発明の第3の観点に係るプログラムは、コンピュータを、上記のゲーム装置として機能させ、コンピュータに、上記の制御方法の各工程を実行させるように構成する。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読み取り可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配付・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配付・販売することができる。
本発明によれば、仮想空間内に配置されたオブジェクトをユーザに提示する際に、立体視させるか平面視させるかを適切に切り換えるのに好適なゲーム装置、ゲーム装置の制御方法、ならびに、プログラムを提供することができる。
本発明の実施形態に係るゲーム装置が実現される典型的な情報処理装置の概要構成を示す模式図である。 本発明の実施形態に係るゲーム装置の概要構成を示す模式図である。 本発明の実施形態に係る仮想空間内の様子を示す図である。 本発明の実施形態に係る(a)左視点画像と(b)右視点画像とを示す図である。 視差バリア方式により立体視画像を表示する仕組みを説明するため、(a)は、モニタを上部から見た様子を示す図であり、(b)は、ユーザの斜め後ろから眺めた様子を示す図である。 (a)は、カメラにより撮影されたユーザの姿を表す画像を示す図である。(b)は、位置の変化したユーザが撮影された画像を示す図である。 仮想空間内において、2個の視点が重ねられる様子を示す図である。 重ねられた2個の視点から撮影された(a)左視点画像と(b)右視点画像とを示す図である。 本発明の実施形態に係るゲーム装置における、ゲーム処理の流れを示すフローチャートである。 本発明の実施形態に係るゲーム装置における、表示・撮影処理の流れを示すフローチャートである。 実施形態2に係る仮想空間内において、オブジェクトが移動している様子を示す図である。 実施形態2に係る仮想空間内において、描画される領域の大きさが略一定になるように、オブジェクトが移動している様子を示す図である。 (a)、(b)ともに、実施形態2において、オブジェクトが大きさを変化させながら移動している状態において生成された左視点画像と右視点画像を示す図である。 (a)、(b)ともに、視差の大小が変化する立体視画像が提示されたときの、ユーザの瞳の位置変化の様子を示す図である。
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素を均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
(実施形態1)
図1は、本発明の実施形態に係るゲーム装置が実現される典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
情報処理装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、インターフェース104と、コントローラ105と、外部メモリ106と、画像処理部107と、DVD−ROM(Digital Versatile Disc ROM)ドライブ108と、NIC(Network Interface Card)109と、音声処理部110と、を備える。
ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施形態のゲーム装置等が実現される。
CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行う、また、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
インターフェース104を介して接続されたコントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。例えばコントローラ105には、上下左右を示す操作入力を行うのに利用される方向ボタンや、決定操作、取消操作、メニュー表示などの指示入力を行うためのボタンが、その表面の所定の位置に配置される。これら各ボタンには圧力センサが配備され、いずれのボタンが押圧操作されているかを検知することができる。ユーザは、コントローラ105に配置されたこのような各ボタンを押圧操作することで、情報処理装置100への操作指示を入力する。
インターフェース104を介して着脱自在に接続された外部メモリ106には、ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画したりすることが可能である。フォント情報は、ROM 102に記録されているが、DVD−ROMに記録された専用のフォント情報を利用することも可能である。
NIC 109は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
音声処理部110では、DVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカに出力することにより、音声出力が可能となる。
モニタ111は、画像処理部107に接続され、CPU 101と画像演算プロセッサが協調動作することにより、画像情報を表示する。モニタ111は、LCD(Liquid Crystal Display)、有機ELディスプレイ(organic Electro-Luminescence display)等により構成され、一般的な置き型ディスプレイの形式又は装着型のHMDの形式で用いられる。
カメラ112は、インターフェース104を介して接続され、現実世界を撮影し、撮影した映像を電気信号に変換する。CCD(Charge Coupled Device)カメラ、CMOS(Complimentary MOS)センサ等から構成される。カメラ112は、ユーザが装着してもよく、置き型ディスプレイ等に備え付けてもよい。
このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
また、ユーザからの文字列の編集入力を受け付けるためのキーボードや、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。また、本実施形態の情報処理装置100にかえて、汎用のパーソナルコンピュータを利用することもできる。
以上で説明した情報処理装置100は、いわゆる「コンシューマ向けテレビゲーム装置」に相当するものであるが、仮想空間を表示するような画像処理を行うものであれば本発明を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明を実現することが可能である。
例えば、一般的なコンピュータは、上記情報処理装置100と同様に、CPU、RAM、ROM、DVD−ROMドライブ、及び、NICを備え、情報処理装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラ105ではなく、キーボードやマウスなどを入力装置として利用する。
図2は、本発明のゲーム装置に係る概要構成を示す模式図である。本発明のゲーム装置200は、典型的には上述した情報処理装置100によって実現される。以下、本図を参照して概要構成を説明する。
ゲーム装置200は、撮影部201、判定部202、生成部203、表示部204を備える。なお、ゲーム装置200は、RAM 103等の機能により現在時刻やプレイヤからの入力の内容等を記憶するための記憶部や、画像表示部107が画像をモニタ111へ出力する際の同期タイミングを利用することで時間を計測するための計時部等も適宜備える。
撮影部201は、ユーザを撮影して、撮影結果画像を出力する。すなわち、撮影部201は、画面に表示されるゲーム画像を見ながらプレイしているユーザを撮影し、撮影されたユーザの様子を表す撮影結果画像を、RAM 103等の記憶部等を介して判定部202へと出力する。このような撮影部201は、例えばCPU 101がROM 102やRAM 103と協働しながら、カメラ112を制御することで実現される。
判定部202は、撮影結果画像に含まれるユーザの姿のうち、所定の部位の位置もしくは大きさに基づいて、当該ユーザに立体視画像を提示すべきか否かを判定する。すなわち、判定部202は、撮影部201によって撮影されたユーザの様子を表す画像から、ユーザの体の部位の位置や大きさの情報を取得する。そして、取得された情報に基づいて、立体視画像を提示すべきか否かの判定を行い、当該判定を生成部203へ提供する。このような判定部202は、例えばCPU 101がROM 102やRAM 103等と協働することで実現される。
生成部203は、判定部202により立体視画像を提示すべきと判定された場合、仮想空間内に配置されるオブジェクトを表す立体視画像を生成し、判定部202により立体視画像を提示すべきでないと判定された場合、当該オブジェクトを表す平面視画像を生成する。すなわち、生成部203は、記憶部等に記憶された仮想空間内に配置されるオブジェクトを表す画像を生成する。このとき、生成部203は、判定部202によってなされた判定結果に基づいて、立体視画像もしくは平面視画像を生成し、表示部204へ提供する。このような生成部203は、例えばCPU 101がROM 102やRAM 103、さらに画像表示部107と協働することによって実現される。
表示部204は、生成された立体視画像もしくは平面視画像を画面に表示する。すなわち、表示部204は、生成部203によって生成された画像を、例えばディスプレイに表示して、プレイヤに提供する。このような表示部204は、例えばCPU 101がROM 102やRAM 103と協働しながら画像表示部107を制御し、画像情報をモニタ111に出力することによって実現される。
図3は、本発明の実施形態に係る仮想空間内の様子を示す図である。本実施形態におけるゲーム装置200は、本図に示されるような仮想空間300を、例えばその記憶部に記憶する。仮想空間300内には、ゲームを構成するために必要なオブジェクト301が配置される。一例として本図では、仮想空間300内に、球状のオブジェクト301aと角柱状のオブジェクト301bが配置された様子が示されている。
ここで仮想空間300内には、球状のオブジェクト301aや角柱状のオブジェクト301bのような単純な形状のものに限らず、ゲームの仮想世界を構成する様々なオブジェクト301が配置されうる。例えば、建物や樹木、山や海を表すオブジェクト301が配置されてもよいし、人型や動物型のキャラクタオブジェクトが配置され、仮想空間300内を様々に動き回るようにしてもよい。
このような仮想空間300内の様子を、同じく仮想空間300内に配置された2個の視点302(仮想カメラ)が撮影する。この2個の視点302は人間の2個の目に対応するもので、生成部203は、仮想空間300内をこのような2個の視点302で撮影して画像を生成することで、人間が3次元空間を2個の目で立体的に見た様子を模擬した立体視画像を生成することができる。
具体的に、本図では、左視点302Lと右視点302Rは所定の距離Lだけ離れた異なる位置に配置され、それぞれ仮想空間300内に並べられた2個のオブジェクト301a,301bの方向へ向けられて配置されている。すなわち、縦列に並べられた2個のオブジェクト301a,301bに対して角柱状のオブジェクト301bの手前側から、左視点302Lおよび右視点302Rからの視線が向けられている。そして、左視点302Lは、オブジェクト301a,301bを相対的に左側の位置から撮影し、それに対して右視点302Rは、オブジェクト301a,301bを相対的に右側の位置から撮影している。このとき、生成部203は、これら2個の視点302L,302Rからそれぞれ撮影した2個の画像を生成する。生成された画像は、以下の図4に示されるようなものになる。
図4は、本発明の実施形態に係る左視点画像(本図(a))と右視点画像(本図(b))とを示す図である。上記図3における左視点302Lから仮想空間300内の様子を撮影して生成された画像は、本図(a)の左視点画像400Lのように、縦列して並べられた2個のオブジェクト301a,301bを左側手前から見た様子を表すものとなる。一方で、右視点302Rから仮想空間300内の様子を撮影して生成された画像は、本図(b)の右視点画像400Rのように、縦列して並べられた2個のオブジェクト301a,301bを右側手前から見た様子を表すものとなる。
本実施形態では、このように生成部203が生成した左視点画像400Lと右視点画像400Rを、それぞれ左目用の画像と右目用の画像として、表示部204がユーザへ提示する。そして、表示部204は、左視点画像400Lをユーザの左目からは見えて右目からは見えないように、そして右視点画像400Rをユーザの右目からは見えて左目からは見えないように、表示態様に加工を施して表示する。このようにすることで、ユーザは左目と右目とで異なる視点302から撮影された画像(立体視画像)を見ることになり、仮想空間300内の様子を立体的に捉えることができるようになる。これを実現するために、本実施形態での表示部204は、いわゆる視差バリア方式を用いて、立体視画像を画面(モニタ111)に表示する。
図5は、視差バリア方式により立体視画像を表示する仕組みを説明する図である。本図(a)は、モニタ111を上部から見た様子を示しており、そして本図(b)は、モニタ111を見ているユーザ550の斜め後ろから眺めた様子を示している。本図に示すように、モニタ111には、その前部に、所定の幅と間隔で縦縞状に切れ込み(隙間)が入れられた複数のスリット503を有するフィルム502が重畳される。ここで複数のスリット503とは、切れ込み(隙間)により視線を通す透過部分と、視線を通さない遮断部分とが、所定の幅と間隔で交互に並べて配置されたものである。このような複数のスリット503を有するフィルム502が、モニタ111とユーザ550との間の所定の位置に配置された状態で、ユーザ550は、当該フィルム502を介してモニタ111に表示される画像を見る。すなわち、ユーザ550の見る位置によって、モニタ111の表示領域のうち、複数のスリット503の隙間から見える領域と、複数のスリット503の陰に隠されて見えない領域とが存在することになる。
このとき、ユーザ550がモニタ111を見る典型的な位置、すなわちモニタ111の正面であって、当該モニタ111から所定の距離だけ離れた位置が想定される。そして、当該位置からユーザ550がモニタ111を見た場合にユーザ550の左目551Lとなる位置が、左基準位置504Lと設定され、ユーザ550の右目551Rとなる位置が、右基準位置504Rと設定される。このような左基準位置504Lと右基準位置504Rからは、モニタ111の前部に配置された複数のスリット503の存在により、モニタ111内で見える領域が異なることになる。すなわちモニタ111内には、左基準位置504Lからは見えるが右基準位置504Rからは見えない領域と、逆に右基準位置504Rからは見えるが左基準位置504Lからは見えない領域とが存在することになる。
このときゲーム装置200は、複数のスリット503の隙間の幅や隙間同士の間隔、および、モニタ111からの距離を適切に調整することで、左基準位置504Lからは見えるが右基準位置504Rからは見えない表示領域501Lと、右基準位置504Rからは見えるが左基準位置504Lからは見えない表示領域501Rとを、本図(a)に示されるように、モニタ111内に縦に1ラインずつ交互に並べるように配置することができる。
このように交互に並べて配置された表示領域501Lと表示領域501Rとに、表示部204は、生成部203によって上記のように生成された左視点画像400Lと右視点画像400Rとを、それぞれ表示する。これにより、想定される典型的な位置からモニタ111を見ているユーザ550は、左目551Lには左視点画像400Lのみが表示されているように見え、右目551Rには右視点画像400Rのみが表示されているように見える。すなわちユーザ550は、あたかも仮想空間300内の様子を2個の異なる視点302から見ているようになり、モニタ111内に表示されている画像を立体的に捉えることができるようになる。本実施形態での表示部204は、このような視差バリア方式による表示形態をとることで、ユーザ550に立体視表示をさせる。
ここで、例えばユーザ550がその姿勢を変えるなどによって、モニタ111を見ている位置を変化させたとする。見ている位置が変化し、左目551Lや右目551Rが、それぞれ左基準位置504Lや右基準位置504Rから離れてしまうと、左目551Lの視界に左視点画像400Lが、右目551Rの視界に右視点画像400Rが入らなくなってしまい、ユーザ550が正しく立体視できなくなってしまう。この場合に、そのまま表示部204が立体視画像(異なる視点302から撮影された左視点画像400Lと右視点画像400R)をモニタ111に表示し続けていると、ユーザ550は画像を立体的に捉えられないだけでなく、誤った角度からの歪んだ画像を見ることになって、正しい画像情報を得られなくなる。
そのため、本実施形態では、撮影部201が、図5(b)に示されたようにあらかじめ設置されたカメラ112を用いて、モニタ111を見ているユーザ550の様子を撮影する。具体的に、図5(b)では、カメラ112はモニタ111の上部に設置され、モニタ111を見ているユーザ550の姿を撮影している。そして、撮影された画像に基づいて、判定部202が、ユーザ550の位置が変化したか否かを調べ、ユーザ550に立体視画像を提示すべきか平面視画像を提示すべきかを判定する。
図6(a)は、カメラ112により撮影されたユーザ550の姿を現す画像を示す図である。上記図5(b)にて示されたようなモニタ111を見ているユーザ550を、カメラ112が撮影した結果、撮影された撮影結果画像600内には、ユーザ550の顔553を正面から見た様子、すなわち、当該ユーザ550の顔553の輪郭554内に、左目551Lや右目551R、そしてそれらの中の瞳552、などの様子が表示されている。
本実施形態では、このような撮影結果画像600を、撮影部201が取得して、所定の時間間隔ごとにRAM 103等の記憶部に蓄積していく。そして、判定部202が、蓄積された撮影結果画像600の履歴を分析して、時間の経過とともにユーザ550の位置が変化していないかを調べる。具体的に、図6(a)のように撮影されていたユーザ550が、図6(b)のようにその位置が変化したとする。
図6(b)は、位置の変化したユーザ550が撮影された画像を示す図である。ここでは説明のため、本図(a)において表示されていたユーザ550の姿を、点線で表示しているが、実際の撮影結果画像600内にはこのような点線は表示されない。本図(b)では、本図(a)に比べて、撮影されたユーザ550の位置が向かって右下方向へ移動しており、ユーザ550の顔553の向きも斜めになっている。その結果、ユーザ550の左目551Lと右目551Rの位置は、本図(a)のときから比べて変化している。
本実施形態での判定部202は、このようなユーザ550の左目551Lおよび右目551R内の瞳552の位置変化601に着目する。正しく立体視するためには、ユーザ550は、複数のスリット503を有するフィルム502を介して左目551Lの視界に左視点画像400Lが入る左基準位置504Lと右目551Rの視界に右視点画像400Rが入る右基準位置504Rとからモニタ111を見る必要があるため、この瞳552の位置変化601の値が大きければ、もはやユーザ550は正しく立体視できていない可能性が高い。
このとき判定部202が着目する瞳552は、瞳孔とその周囲の虹彩を含めた部分、すなわちいわゆる黒目の部分のことであってもよいし、瞳孔そのもの、すなわち虹彩の中にある網膜に光を通す円状の孔部分であってもよい。例えば瞳552として黒目の部分を用いる場合には、判定部202は、撮影結果画像600のユーザ550の姿のうち、左目551Lおよび右目551R内の虹彩部分、すなわち白目と黒目との境界を検出し、その位置変化601を取得する。あるいは瞳552として瞳孔そのものを用いる場合には、判定部202は、撮影結果画像600のユーザ550の姿のうち、左目551Lおよび右目551R内の瞳孔部分、すなわち網膜に光を通す孔部分を検出し、その位置変化601を取得する。判定部202は、これらの検出のために、例えば2値化やエッジ検出等といった既知の画像処理技術を含めた種々の検出手法を用いることができる。
そして判定部202は、このようにして取得された瞳552の位置変化601の値が、所定の範囲内かどうかを調べ、ユーザ550が立体視できているか否か、そして以降も立体視画像を提示すべきか否かの判定基準とする。具体的に、瞳552の位置変化601の値が小さく、所定の範囲内に収まる場合には、判定部202は、ユーザ550は正しく立体視できる位置からモニタ111を見ているとして、立体視画像を提示すべきと判定する。一方で、瞳552の位置変化601の値が大きく、所定の範囲内に収まらない場合には、判定部202は、ユーザ550はもはや正しく立体視できる位置からモニタ111を見ている状態にないとして、立体視画像を提示すべきでないと判定する。
ここでは、撮影結果画像600内の瞳552の位置変化601が所定の範囲内を超えた場合を例にとって、以下に説明する。このとき、判定部202により立体視画像を提示すべきでないとの判定を受け取った生成部203は、仮想空間300内の様子を表す平面視画像を生成するために、仮想空間300内でそれまで所定の距離Lだけ離間して配置されていた左視点302Lと右視点302Rとの位置を、同じ位置に重ねる。
図7は、仮想空間300内において、2個の視点302が重ねられる様子を示す図である。本図は、上記図3において示されたものと同様、仮想空間300内に球状のオブジェクト301aと角柱状のオブジェクト301bが配置され、さらにそれらに向けられて2個の視点302(仮想カメラ)が配置されている。図3では、この左視点302Lと右視点302Rは、所定の距離Lだけ離間して配置されていたが、それに対して本図では、当初離間して配置されていた左視点302Lと右視点302Rとが、重ねられる位置にまで近づけられている。
左視点302Lと右視点302Rが離れて配置されていた場合には、仮想空間300内のオブジェクト301a,301bについて、異なる角度から撮影された2個の画像が生成された。一方で、左視点302Lと右視点302Rの位置が重ねられる位置にまで近づけられた場合には、それぞれから撮影された2個の画像は、以下の図8に示すように、同じ画像が生成されることになる。
図8は、重ねられた2個の視点302から撮影された左視点画像400L(本図(a))と右視点画像400R(本図(b))とを示す図である。本図は、上記図4(a)および図4(b)にて示された左視点画像400Lと右視点画像400Rと同様に、縦列して並べられた2個のオブジェクト301a,301bについて、角柱状のオブジェクト301bの手前から見た様子を表すものである。
ここで、左視点302Lと右視点302Rとが所定の距離Lだけ離れていたときは、上記図4のように、左視点画像400Lには2個のオブジェクト301a,301bを左側手前から、そして右視点画像400Rには2個のオブジェクト301a,301bを右側手前から、それぞれ見た様子が表示された。一方で、左視点302Lと右視点302Rとが重ねられたときは、本図のように、左視点画像400Lと右視点画像400Rには、それぞれ2個のオブジェクト301a,301bを正面手前から見た同じ画像が表示される。
このようにして生成された同じ位置の視点302から撮影された左視点画像400Lと右視点画像400R(平面視画像)は、表示部204によってモニタ111に表示され、ユーザ550へ提示される。本実施形態では、ここでも上記図5に示したように視差バリア方式が用いられ、ユーザ550は、モニタ111の前部に設置されたフィルム502を介してモニタ111に表示された画像を見る。
このとき、図5のようにモニタ111内に交互に並べられた表示領域501Lと表示領域501Rには、立体視画像と同様に、左視点画像400Lと右視点画像400Rが表示されるが、平面視画像の場合これらは同じ画像であるため、モニタ111全体で同じ1個の画像が表示される。そのため、ユーザ550は、左基準位置504Lや右基準位置504Rに限らず、フィルム502の複数のスリット503を介してどの位置からモニタ111を見ても、左目551Lと右目551Rの視界には同じ画像が入ることになり、ユーザ550はモニタ111を平面視していることになる。
このように、本実施形態では、モニタ111を見ているユーザ550の瞳552の位置変化601の値が所定の範囲を超えている場合に、判定部202がユーザ550に立体視画像を提示すべきでないと判定し、それまで立体視画像を生成していた生成部203は、それ以降は平面視画像を生成する。
なお、本実施形態は、ユーザ550へ立体視画像を提示している状態から平面視画像を提示する状態への切り替えだけでなく、その逆の処理、すなわちユーザ550へ平面視画像を提示している状態から立体視画像を提示する状態への切り替えも行うことにしてもよい。
具体的には、生成部203が平面視画像を生成するようになって以降も、撮影部201がモニタ111を見ているユーザ550を撮影し続ける。そして、撮影結果画像600内のユーザ550の瞳552の位置変化601が所定の範囲内である場合、判定部202が立体視画像を提示すべきと判定することで、それまで平面視画像を生成していた生成部203が、立体視画像を生成するようにする。これによって、ユーザ550の状況に応じて、立体視画像を生成する状態と平面視画像を生成する状態との間で状態を柔軟に切り替えながら、画像を提示することができる。
図9は、本実施形態のゲーム装置200における、処理の流れを示すフローチャートである。ここまで説明してきた本実施形態において実現される処理の流れまとめて、以下に説明する。
本処理が開始されると、まずゲーム装置200のCPU 101は、各種の初期化処理を行う(ステップS101)。ここでは、RAM 103等の記憶部に記憶された各種の情報の初期化を行うとともに、仮想空間300やそこに配置されるオブジェクト301、視点302など、ゲームをプレイする上で必要となる各種データを読み込む。
次に、ゲーム装置200は、仮想空間300内に配置される左視点302Lと右視点302Rとを離間させる(ステップS102)。すなわち、ゲーム開始時においては、ゲーム装置200はまず立体視画像を生成して、表示する。そのため、上記図3に示されたように、仮想空間300内の左視点302Lと右視点302Rとを、その間の距離が所定の距離Lだけ離れるようにして配置する。
この状態で、ゲーム装置200の処理は、表示・撮影処理に移行する(ステップS103)。ここでの表示・撮影処理の詳細については、改めて図10のフローチャートを用いて以下に説明する。
図10は、本実施形態のゲーム装置200における、表示・撮影処理の流れを示すフローチャートである。ここでは、画像を生成して表示する処理および画像を見ているユーザ550を撮影する処理をまとめて説明する。
本図における処理が開始されると、まずゲーム装置200は、仮想空間300内に配置されたオブジェクト301の位置や大きさを設定する(ステップS201)。すなわち、ゲームを構成するために仮想空間300内に配置された様々なオブジェクト301について、例えばその位置を移動させたり大きさを変化させたりすることによって、ゲームを進行させる。
次に、生成部203が、仮想空間300内のオブジェクト301を表す画像を生成する(ステップS202)。すなわち、生成部203は、仮想空間300内に配置された2個の視点302から見たオブジェクト301の様子を撮影した2個の画像を生成する。具体的に、上記図3のように所定の距離Lだけ離れた左視点302Lと右視点302Rが、2個のオブジェクト301a,301bに向けられて配置されている場合は、上記図4に示されたような左視点画像400Lと右視点画像400Rが生成される。
そして、表示部204が、所定の周期ごとに行われる垂直同期のタイミングを待って、生成された画像を画面に表示する(ステップS203)。すなわち、表示部204は、生成部203によって生成された左視点画像400Lと右視点画像400Rとを、上記図6に示されたような視差バリア方式でモニタ111に表示して、ユーザ550に提示する。ここでは、ステップS102において2個の視点302を離間させているので、立体視画像が生成・表示されて、ユーザ550に提示されることになる。
さらに、撮影部201が、画面(モニタ111)を見るユーザ550を撮影する(ステップS204)。すなわち、撮影部201は、フィルム502を介してモニタ111に表示された画像を見ているユーザ550の様子を、カメラ112を用いて撮影する。撮影された結果、具体的には上記図6(a)に示されたような撮影結果画像600が取得される。
そして、撮影部201が、取得された撮影結果画像600の履歴を蓄積する(ステップS205)。すなわち、撮影部201は、撮影されたユーザ550の様子を表す撮影結果画像600を、RAM 103等の記憶部に記憶して蓄積する。蓄積された撮影結果画像600は、後述する判定部202による立体視画像を提示すべきか否かを判定する処理に用いられる。
なお、このステップS205での蓄積処理は、撮影結果画像600が取得されるごとに常に行わなければならないわけではなく、例えば数秒に1回の頻度で行われればよい。また、記憶部に記憶された撮影結果画像600について、使用する記憶領域を抑えるため、一定数蓄積された後は時系列順に古いものから消去する処理が、ここで随時行われてもよい。
ここまでで図10における表示・撮影処理を終えて、処理は再び図9のフローチャートへと戻り、ステップS104へと移行する。ここでゲーム装置200は、現在が所定の判定タイミングであるか、を判定する(ステップS104)。すなわち、本実施形態では、後述するステップS105における判定部202による判定処理は、例えば1分に1回の頻度で行われるということがあらかじめ定められており、ここではその判定処理を行うべきタイミングであるかが判定される。このとき、判定部202は、計時部の機能、すなわち画像表示部107によって所定の周期(例えば1/60秒)で行われる垂直同期の回数を数えることで、現在が所定の判定タイミングであるかを判定する。
現在が所定の判定タイミングでない場合(ステップS104;NO)、処理はステップS103へと戻り、図10のフローチャートにて説明された表示・撮影処理に再び移行する。すなわち、ステップS104でNOと判定される限り、ゲーム装置200は、仮想空間300内のオブジェクト301を設定して、その画像を生成・表示することでゲームを進行させ、あわせてゲームをしているユーザ550の様子を撮影・記録する処理を繰り返し続ける。
一方で、現在が所定の判定タイミングである場合(ステップS104;YES)、処理はステップS105へと移行し、判定部202が、ユーザ550に立体視させてよいか、を判定する(ステップS105)。具体的に本実施形態では、ここで上述したステップS205にて蓄積されたユーザ550の様子を表す撮影結果画像600を用いる。そして、上記図6(b)のように、撮影結果画像600内のユーザ550の瞳552の位置変化601が所定の範囲内か否かを判定する。
立体視させてよいと判定された場合(ステップS105;YES)、すなわち、撮影結果画像600内のユーザ550の瞳552の位置変化601が所定の範囲内であった場合、処理はステップS103へと戻り、ゲーム装置200は、引き続き仮想空間300内のオブジェクト301を表す画像の生成・表示し、そしてそれを見ているユーザ550を撮影する。ここでは、ステップS102において2個の視点302を離間させているので、立体視画像が生成・表示されて、ユーザ550に提示され続けることになる。
一方で、立体視させてよいと判定されなかった場合(ステップS105;NO)、すなわち、撮影結果画像600内のユーザ550の瞳552の位置変化601が所定の範囲を超えていた場合、処理はステップS106へと移行し、平面視画像を生成・表示する処理に入る。
このとき、まずゲーム装置200は、それまで仮想空間300内において離間して配置されていた左視点302Lと右視点302Rとを重ねる(ステップS106)。具体的には、図7に示されたように、左視点302Lと右視点302Rとの間の距離を縮めて、同じ位置からオブジェクト301を見るようにする。
この状態で、ゲーム装置200の処理は、ステップS103と同様の表示・撮影処理に移行する(ステップS107)。すなわち、上述した図10におけるフローチャートと同様の処理を行う。一方で、ここではステップS103のときとは異なり、仮想空間300内の左視点302Lと右視点302Rとは同じ位置に重ねられているので、ステップS202において生成される左視点画像400Lと右視点画像400Rは、上記図8のように、同一の画像(平面視画像)になる。そのため、表示部204によって表示された画像を見ているユーザ550は、平面視によってモニタ111を見ることになる。
その後、ゲーム装置200の処理は、ステップS108へと移行し、判定部202が、再度、立体視させるかを判定する(ステップS108)。すなわち、ここでのゲーム装置200の状況は、それまでユーザ550に立体視画像を提示していた状態から平面視画像を提示する状態へと一旦移行した後であるが、このステップS108では、再び立体視画像を提示する状態へと移行する必要があるかを、判定部202が判定する。このとき、判定部202は、上述したステップS105における判定処理と同様に、撮影部201によって撮影された撮影結果画像600を用いて、ユーザ550の瞳552の位置変化601が所定の範囲内か否かを基準として、判定する。
再度、立体視させると判定されなかった場合(ステップS108;NO)、処理はステップS107へと戻り、表示・撮影処理を再度行う。すなわち、ここでNOと判定されている限り、ゲーム装置200は引き続き平面視画像をユーザ550へ提示し続ける。
一方で、再度、立体視させると判定された場合(ステップS108;YES)、ゲーム装置200は、上述したステップS102と同様、仮想空間300内に配置される左視点302Lと右視点302Rとを離間させる(ステップS109)。すなわち、立体視画像を生成・表示するために、それまで仮想空間300内に重ねられて配置されていた2個の視点302を、所定の距離Lだけ離して配置する。
この後、ゲーム装置200の処理はステップS103へと戻る。すなわち、生成部203が仮想空間300内の様子を表す立体視画像を生成し、表示部204が立体視画像をモニタ111に表示することで、ユーザ550へ提示する。
このような構成によって、本実施形態におけるゲーム装置200は、モニタ111を見ているユーザ550の瞳552の位置変化601の値が所定の範囲を超えたか否かに基づいて、ユーザ550に立体視画像もしくは平面視画像を提示する。その結果、ユーザ550は、立体視が可能な位置からモニタ111を見ている状態にあるときは、立体視画像を見ることができ、立体視できない位置からモニタ111を見ている状態にあるときは、平面視画像を、すなわち不必要に立体視画像を見ずにモニタ111を見ることができる。
(実施形態2)
次に、本発明の実施形態2について説明する。実施形態1では、判定部202が、ユーザ550の瞳552の位置変化601の大きさに基づいて、ユーザ550が立体視可能な位置からモニタ111を見ているか否かを判定し、そして当該ユーザ550に立体視画像を提示すべきか否かを判定した。
それに対して本実施形態では、判定部202が、ユーザ550の瞳552の位置変化601の大きさではなく、ユーザ550の瞳552の位置変化601と仮想空間300内のオブジェクト301の位置の変化との連動の度合に基づいて、ユーザ550が立体視しているか否かを判定し、そして当該ユーザ550に以降も立体視画像を提示すべきか否かを判定する。以下に詳細を説明する。
ここでは説明のため、実施形態1と同様に、上記図3において示されたような仮想空間300が、ゲーム装置200の記憶部に用意されたとする。すなわち、図3のように、仮想空間300内に球状のオブジェクト301aと角柱状のオブジェクト301bが配置され、その様子を、2個の視点302L,302Rが撮影している状態を考える。この状態において、本実施形態では、角柱状のオブジェクト301bが仮想空間300内を移動する。
図11は、本実施形態に係る仮想空間300内において、オブジェクト301bが移動している様子を示す図である。本図は、上記図3において示された仮想空間300内の様子を真上から見たものであり、並べて配置された球状のオブジェクト301aと角柱状のオブジェクト301bに対して、角柱状のオブジェクト301bの手前側に2個の視点302L,302Rが、互いに所定の距離Lだけ離間して配置されている。
ここで本図では、角柱状のオブジェクト301bは、移動軌跡701に沿って移動する。すなわち、球状のオブジェクト301aは、仮想空間300内の所定の位置に固定されているのに対して、角柱状のオブジェクト301bは、視点302L,302Rから見て奥行き方向への周期的な位置変化を伴いながら、左から右へ、移動軌跡701に沿って移動している。
本実施形態では、このような移動しているオブジェクト301bの様子を、2個の視点302L,302Rによって撮影された画像を生成部203が生成し、表示部204が実施形態1と同様視差バリア方式によりモニタ111に表示することで、ユーザ550に立体視画像を提示する。モニタ111を見ているユーザ550は、モニタ111内で停止している球状のオブジェクト301aと、モニタ111内を移動している角柱状のオブジェクト301bとの様子を見ることができる。
このとき、本実施形態におけるゲーム装置200は、ユーザ550が正しく立体視できているかを確認するために、奥行き方向に周期的に運動している角柱状のオブジェクト301bを利用する。具体的には、以下の図12に示すように、角柱状のオブジェクト301bについて、生成される立体視画像において当該オブジェクト301bが描画される領域の大きさが略一定となるように、奥行き方向の位置変化に基づいて当該オブジェクト301bの大きさも変化させながら、移動軌跡701に沿って移動させる。
図12は、本実施形態に係る仮想空間300内において、描画される領域の大きさが略一定になるように、オブジェクト301bが移動している様子を示す図である。本図は上記図11と同様に、仮想空間300内に固定されたオブジェクト301aと移動軌跡701に沿って移動しているオブジェクト301bとの様子を真上から見た図であるが、上記図11よりも時間が進んだときの様子を表している。すなわち、角柱状のオブジェクト301bは、図11では視点302L,302Rに対して最も奥の位置(本図の点線で表示した部分)にあったが、本図では移動軌跡701に沿って移動し、視点302L,302Rに対して最も手前の位置にまで達している。
このとき、手前の位置に移動した角柱状のオブジェクト301bは、奥に位置していたときに比べて、その大きさが縮小される。すなわち、本実施形態におけるゲーム装置200は、オブジェクト301bが視点302L,302Rに近づくと、オブジェクト301bの大きさを相対的に縮小させ、反対にオブジェクト301bが視点302L,302Rから遠ざかったときは、オブジェクト301bの大きさを相対的に増大させる。このとき、ゲーム装置200は、視点302L,302Rの位置からの距離に比例した大きさとなるように、あらかじめオブジェクト301bの大きさの変化の度合を定めておくことで、生成される画像において描画されるオブジェクト301bの大きさが略一定にする。
図13は、このようにオブジェクト301bが大きさを変化させながら移動している状態において生成された左視点画像400Lと右視点画像400Rを示す図である。とくに、本図(a)は、上記図11におけるオブジェクト301a,301bを左視点302Lおよび右視点302Rが撮影したものに対応し、一方で本図(b)は、上記図12におけるオブジェクト301a,301bを左視点302Lおよび右視点302Rが撮影したものに対応する。
すなわち、角柱状のオブジェクト301bは、視点302L,302Rから見て左から右へ移動ながら、視点302L,302Rに対し、図11では相対的に奥側に、図12では相対的に手前側に、それぞれ位置していた。そのため、本図(a)の左視点画像400Lと右視点画像400Rにおける角柱状のオブジェクト301bは、本図(b)の左視点画像400Lと右視点画像400Rにおける角柱状のオブジェクト301bに比べて、相対的に小さな視差で表示されている。なお、本図では説明を明瞭にする目的で強調して示しているため、左視点画像400Lと右視点画像400Rとが、オブジェクト301a,301bを大きく異なる角度から見たものとして表示されているが、実際には左視点画像400Lと右視点画像400Rとで本図ほど視差が大きくはならないと考えられる。
このとき、上記図12にて示されたように、オブジェクト301bは、視点302L,302Rに対して手前の位置になるほどその大きさを相対的に小さくされるため、オブジェクト301bの大きさは、本図(a)から本図(b)にかけて、略一定に保たれている。そのため、このような左視点画像400Lと右視点画像400R(立体視画像)を提示されたユーザ550は、正しく立体視できていないと、オブジェクト301bが奥行き方向に周期的に運動していることを捉えられず、単にオブジェクト301bは左から右へ、その大きさを変化させずに移動しているかのように認識してしまう。
一方で、正しく立体視できているユーザ550は、オブジェクト301bの奥行き方向への周期的な運動を捉えるために、本図(a)と本図(b)との間の視差の変化を目で追うことになる。具体的には、以下の図14のように、両目の焦点を遠ざけて見ることと、両目の焦点を近づけて見ることとを、交互に繰り返すことになる。
図14は、このような視差の大小が変化する立体視画像が提示されたときの、ユーザ550の瞳552の位置変化601の様子を示す図である。本図は上記図6において示された撮影結果画像600と同様に、モニタ111を見ているユーザ550の様子を、撮影部201がカメラ112を用いて撮影して取得した画像であって、撮影された撮影結果画像600内には、ユーザ550の顔553を正面から見た様子、すなわち、当該ユーザ550の顔553の輪郭554内に、左目551Lや右目551R、そしてそれらの中の瞳552、などの様子が表示されている。なお、ここで瞳552とは、実施形態1と同様、瞳孔とその周囲の虹彩を含めた部分のことであってもよいし、瞳孔そのものであってもよい。
とくに、本図(a)は、上記図13(a)のような相対的に小さな視差を、対して本図(b)は、上記図13(b)のような相対的に大きな視差を、それぞれつけられた左視点画像400Lと右視点画像400R(立体視画像)を提示されたときに、立体視をしているユーザ550の様子が撮影されたものである。相対的に小さな視差をつけられた立体視画像を見ているユーザ550は、両目の焦点を遠ざけて見るため、本図(a)のように左目551Lの瞳552と右目551Rの瞳552とが相対的に離れる。その一方で、相対的に大きな視差をつけられた立体視画像を見ているユーザ550は、両目の焦点を近づけて見るため、本図(b)のように左目551Lの瞳552と右目551Rの瞳552とが相対的に近づく、すなわちいわゆる寄り目の状態になる。
このように、奥行き方向に周期的に運動しながら左から右へ移動しているオブジェクト301bの様子が表示された立体視画像を正しく立体視して見ているユーザ550は、左目551Lの瞳552と右目551Rの瞳552とを遠ざけたり近づけたりする位置変化601を繰り返すことになる。すなわち、撮影部201によって撮影された撮影結果画像600は、本図(a)と本図(b)のような状態が交互に繰り返されることになる。一方で、正しく立体視できていないユーザ550にとっては、提示された立体視画像内で大きさが略一定に保たれたオブジェクト301bが左から右へ移動しているだけに見えるので、左目551Lの瞳552と右目551Rの瞳552の位置変化601は、オブジェクト301bの奥行き方向への周期的な運動とは無関係なものとなる。
そのため、本実施形態では、判定部202が、撮影結果画像600のユーザ550の姿のうち瞳552の位置変化601に着目し、当該瞳552の位置変化601とオブジェクト301bの奥行き方向の位置変化との連動の度合に基づいて、ユーザ550に以降も立体視画像を提示すべきか否かを判定する。ここで連動の度合とは、オブジェクト301bの位置とユーザ550の瞳552の位置とがどの程度連動して変化したか、すなわち、どの程度一方が他方に影響を受け、追従するように変化したか、を示す指標である。判定部202は、撮影部201によって所定のタイミングごとに撮影される撮影結果画像600をRAM 103等の記憶部に蓄積しておき、蓄積された撮影結果画像600の履歴から瞳552の位置変化601を時系列順に取得して、そのときのオブジェクト301bの奥行き方向の周期的な運動と比較することで、連動の度合を求める。
このような連動の度合を求めるため、具体的に判定部202は、ユーザ550の瞳552の位置変化601と、オブジェクト301bの奥行き方向の運動の軌跡とを、それぞれフーリエ変換を施すことで周波数成分をそれぞれ抽出し、抽出された周波数同士を比較する。その結果、抽出された主な周波数成分同士の差が所定の範囲内に収まっていれば、判定部202は、ユーザ550が立体視できていると推測し、以降もユーザ550に立体視画像を提示すべきと判定する。一方で、抽出された周波数同士の差が所定の範囲内に収まっていなければ、判定部202は、ユーザ550が立体視できていないと推測し、以降はユーザ550に立体視画像の提示をやめて、平面視画像を提示すべきと判定する。
このように、本実施形態におけるゲーム装置200は、奥行き方向への周期的な運動を伴った移動をするオブジェクト301の様子を表示した立体視画像を、必要に応じてユーザ550に提示する。そして、判定部202が以降もユーザ550に立体視画像を提示すべきか否かを判定する。
ここまで説明した本実施形態における処理の流れは、実施形態1の処理の流れを説明するのに参照された図9および図10のフローチャートとほぼ同様なので、以下、図9および図10を参照しながら本実施形態における処理の流れをまとめて、説明する。
まず図9を参照して、本処理が開始されると、ゲーム装置200の処理は、各種の初期化処理(ステップS101)を経た後、仮想空間300内に配置される左視点302Lと右視点302Rとを離間させ(ステップS102)、その状態で表示・撮影処理(ステップS103)、すなわち、立体視画像を表示する処理へ移行する。
ここで、図10に示されたフローチャートへ移行し、まずゲーム装置200は、仮想空間300内に配置されたオブジェクト301の位置や大きさを設定する(ステップS201)。すなわち、ゲーム装置200は、ゲームを構成するために仮想空間300内に配置された様々なオブジェクト301を変化させながらゲームを進行させるが、本実施形態ではここで必要に応じて、上記図11および図12のように、立体視画像においてオブジェクト301が描画される領域の大きさが略一定となるように当該オブジェクト301の大きさを変化させながら、移動経路701のような奥行き方向への周期的な運動を伴った位置変化をさせる。このとき、オブジェクト301の位置変化の履歴を記憶部に蓄積しておき、後述するステップS105にて使用する。
このように位置・大きさの変化するオブジェクト301について、生成部203が、仮想空間300内のオブジェクト301を表す画像を生成し(ステップS202)、表示部204が、所定の周期ごとに行われる垂直同期のタイミングを待って、生成された画像を画面に表示する(ステップS203)。そして、撮影部201が、モニタ111を見るユーザ550を撮影し(ステップS204)、取得された撮影結果画像600の履歴を蓄積する(ステップS205)。
そして再び図9へと戻り、ゲーム装置200は、現在が所定の判定タイミングであるか、を判定する(ステップS104)。現在が所定の判定タイミングでない場合(ステップS104;NO)、処理はステップS103へと戻り、表示・撮影処理を繰り返す。
一方で、現在が所定の判定タイミングである場合(ステップS104;YES)、判定部202が、ユーザ550に立体視させてよいか、を判定する(ステップS105)。ここで本実施形態では、判定部202は、上述したステップS205にて蓄積されたユーザ550の様子を表す撮影結果画像600を用い、ステップS201におけるオブジェクト301の位置変化と比較する。そして、ユーザ550の瞳552の位置変化601と、オブジェクト301の位置変化と、の連動の度合に基づいて、ユーザ550に以降も立体視画像を提示すべきか否かを判定する。
立体視させてよいと判定された場合(ステップS105;YES)、すなわち、撮影結果画像600内のユーザ550の瞳552の位置変化601とオブジェクト301の位置変化との連動の度合が所定の条件を満たした場合、処理はステップS103へと戻り、立体視画像の表示とユーザ550の撮影処理を繰り返す。
一方で、立体視させてよいと判定されなかった場合(ステップS105;NO)、すなわち、撮影結果画像600内のユーザ550の瞳552の位置変化601とオブジェクト301の位置変化との連動の度合が所定の条件を満たさなかった場合、判定部202は、ユーザ550に立体視画像を提示すべきでないと判定する処理へ移行する。すなわち、ゲーム装置200の処理は、それまで仮想空間300内において離間して配置されていた左視点302Lと右視点302Rとを重ね(ステップS106)、その状態でステップS103と同様の表示・撮影処理(ステップS107)に移行する。すなわち、ゲーム装置200は、平面視画像をユーザ550に提示し、そのユーザ550を撮影する処理を行う。
その後、判定部202は、再度、立体視させるかを判定する(ステップS108)。すなわち、本実施形態では、上記ステップS106〜S107にて平面視画像をユーザ550へ提示した後、以降そのまま平面視画像を提示し続けるのではなく、例えば10分間といった所定の時間が経過した後は、再び立体視画像をユーザ550に提示する状態へと移行する。そのため、ここでは所定の時間が経過したか否かを、計時部の機能、すなわち画像表示部107によって所定の周期(例えば1/60秒)で行われる垂直同期の回数を数えることで、判定部202が判定する。
ここで、再度、立体視させると判定されなければ(ステップS108;NO)、処理はステップS107へと戻り、平面視画像での表示・撮影処理を繰り返し続ける。一方で、再度、立体視させると判定された場合(ステップS108;YES)、ゲーム装置200は、上述したステップS102と同様、仮想空間300内に配置される左視点302Lと右視点302Rとを離間させ(ステップS109)、処理はステップS103へと戻る。すなわち、ゲーム装置200の処理は、立体視画像をユーザ550に提示する処理へと戻る。
このような構成によって、本実施形態におけるゲーム装置200は、ユーザ550の瞳552の位置変化601と仮想空間300内のオブジェクト301の位置の変化との連動の度合に基づいて、ユーザ550に立体視画像もしくは平面視画像を提示する。その結果、立体視画像を提示されているにもかかわらず、目が慣れていない、あるいは目の疲労などによって、ユーザ550が立体視できていない状態にあるときは、不必要に立体視画像せずに、平面視画像に切り替えて提示することができる。
(他の実施形態)
以上、本発明の実施の形態について説明したが、本発明は、上述した実施形態に限定されず、種々の変形および応用が可能である。また、上述した実施形態の各構成要素を自由に組み合わせることも可能である。
例えば、上記実施形態においては、画面(モニタ111)とユーザ550との間の所定の位置に、所定の幅と間隔で縦縞状に切れ込み(隙間)が入れられた複数のスリット503を有するフィルム502を用意することで、立体的な画像を実現した。しかし、立体画像を実現する方法はこれに限られない。
例えば、画面(モニタ111)とユーザ550との間に配置されるフィルム502に換えて、レンチキュラーレンズシートと呼ばれるかまぼこ状のレンズが並んだシートを重畳したモニタ111を用いてもよい。すなわち、当該レンズが所定の幅と間隔で並べて配置されたシートを、モニタ111から所定の距離だけ離れた位置に配置することで、ユーザ550に立体視させるようにしてもよい。
レンチキュラーレンズシートを用いる場合も、フィルム502を用いる場合と同様に、表示部204は、左視点画像400Lと右視点画像400Rとをモニタ111内に縦に1ラインずつ交互に表示する。すなわち、所定の左基準位置から当該シートを介して見えるモニタ111内の領域に左視点画像400Lを表示し、所定の右基準位置から当該シートを介して見えるモニタ111内の領域に右視点画像400Rを表示する。これにより、当該シートを介してモニタ111を見ているユーザ550は、左目551Lで左視点画像400Lを、右目551Rで右視点画像400Rを、それぞれ見ることになり、あたかも仮想空間300内の様子を2個の異なる視点302から立体的に見ているようになる。
あるいは、交互に左右のシャッタを開閉する液晶シャッタメガネを用いる方式を利用してもよい。すなわち、画面(モニタ111)とユーザ550との間に配置されるフィルム502に換えて、ユーザ550が液晶シャッタを備えたメガネをかけることで、ユーザ550に立体視させるようにしてもよい。この場合、表示部204は、メガネのシャッタを開閉する周期にあわせて、左視点画像400Lと右視点画像400Rを交互にモニタ111へ出力する。これにより、ユーザ550は、左目551Lで左視点画像400Lを、右目551Rで右視点画像400Rを、それぞれ見ることになり、あたかも仮想空間300内の様子を2個の異なる視点302から立体的に見ているようになる。
また、実施形態1では、判定部202は、撮影結果画像600内のユーザ550の姿のうち、ユーザ550の瞳552、すなわち左目551Lおよび右目551R内の虹彩部分や瞳孔部分に着目して、その位置変化601の範囲が所定の範囲内である場合に立体視画像を提示すべきと判定した。しかし、これに限られず、撮影結果画像600内のユーザ550の姿のうち、様々な情報を判定基準とすることができる。
例えば、判定部202は、ユーザ550の瞳552ではなく、ユーザ550の顔553の輪郭554に着目してもよい。すなわち、判定部202は、撮影結果画像600内に表示されたユーザ550の顔553の輪郭554の位置(顔553全体の位置)が、時間の経過とともにどのくらい変化したかを取得して、立体視画像を提示すべき基準としてもよい。
顔553の輪郭554の位置が大きく変化したということは、ユーザ550は正しく立体視できる位置からモニタ111を見ていない可能性が高い。すなわち、ユーザ550の左目551Lがモニタ111に表示された左視点画像400Lを見える位置(左基準位置504L)から、そして右目551Rが右視点画像400Rを見える位置(右基準位置504R)から離れてしまい、ユーザ550が正しく立体視できていない可能性が高い。そのためここでは、判定部202は、顔553の輪郭554の位置の変化が所定の範囲内である場合に立体視画像を提示すべきと判定し、所定の範囲を超えて変化している場合には、平面視画像を提示すべきと判定する。
このような構成によって、判定部202は、実施形態1でのように直接ユーザ550の瞳552の位置の変化を調べなくても、ユーザ550の顔553の輪郭554の位置の変化に基づいて、ユーザ550が立体視できる位置からモニタ111を見ているかの判定が可能となる。
また別の例として、判定部202は、ユーザ550の瞳552の位置の変化ではなく、瞳552の大きさの変化に着目してもよい。すなわち、判定部202は、撮影結果画像600内に表示されたユーザ550の瞳552の大きさが、時間の経過とともにどのくらい変化したかを取得して、立体視画像を提示すべき基準としてもよい。あるいはまた、瞳552の大きさの変化に換えて、顔553の輪郭554の大きさの変化に着目し、立体視画像を提示すべき基準としてもよい。
瞳552や顔553の輪郭554の大きさが大きく変化したということは、ユーザ550がモニタ111に対して近づいた、あるいは、遠ざかった位置に移動したと考えられ、ユーザ550は正しく立体視できる位置からモニタ111を見ていない可能性が高い。そのためここでは、判定部202は、ユーザ550の瞳552や顔553の輪郭554の大きさの変化が所定の範囲内である場合に立体視画像を提示すべきと判定し、所定の範囲を超えて変化している場合には、平面視画像を提示すべきと判定する。
なお、このとき着目されうる瞳552もまた、上記実施形態と同様、瞳孔とその周囲の虹彩を含めた部分のことであってもよいし、瞳孔そのものであってもよい。ここで瞳孔は、そのユーザの周囲の環境、特に明るさの程度に応じて大きくなったり小さくなったりといった変化をしうるものであるが、一般的にユーザがゲームをプレイしている間に周囲の環境が大きく変動することは少ないことが想定されるため、瞳孔そのものが判定として用いられる場合にも、周囲の環境による瞳孔の大きさの変化が当該判定に与える影響は少ないものと考えられる。
このような構成によって、判定部202は、モニタ111に対するユーザ550の奥行き方向の位置の変化に基づいて、ユーザ550が立体視できる位置からモニタ111を見ているかの判定が可能となる。
さらに別の例として、判定部202は、ユーザ550の瞳552の位置の変化の値ではなく、変化の周期に着目してもよい。すなわち、判定部202は、撮影結果画像600内に表示されたユーザ550の瞳552の位置変化601に対して、フーリエ変換を施すなどで瞳552の位置変化601の周期を取得して、立体視画像を提示すべき基準としてもよい。
通常、モニタ111を見ているユーザ550の瞳552は、一方向に向けられて固定されておらず、モニタ111に表示される画像に応じるなどによって、様々な方向に向けられ激しく動き回っている。一方で、モニタ111を長時間見続けるなどにより、ユーザ550の目に疲労が溜まってくると、瞳552の動きは徐々に鈍くなってくると考えられる。このようなユーザ550の目の動きの激しさの指標として、判定部202は、撮影結果画像600内の瞳552の位置の変化の周期を用い、周期が所定の範囲内である場合(目が激しく動き回っている場合)に立体視画像を提示すべきと判定し、所定の範囲内でない場合(目の動きが鈍くなっている場合)には、平面視画像を提示すべきと判定する。
このような構成によって、判定部202は、目に疲労の溜まってきたユーザ550に対して、目に負担のかかりやすい立体視画像を提示し続けるのではなく、平面視画像を提示すべきと判定することができる。
以上説明したように、本発明は、仮想空間内に配置されたオブジェクトをユーザに提示する際に、立体視させるか平面視させるかを適切に切り換えるのに好適なゲーム装置、ゲーム装置の制御方法、ならびに、プログラムを提供することができる。
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェース
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
111 モニタ
112 カメラ
200 ゲーム装置
201 撮影部
202 判定部
203 生成部
204 表示部
300 仮想空間
301(301a,301b) オブジェクト
302(302L,302R) 視点
400L 左視点画像
400R 右視点画像
501(501L,501R) 表示領域
502 フィルム
503 スリット
504L 左基準位置
504R 右基準位置
550 ユーザ
551L 左目
551R 右目
552 瞳
553 顔
554 輪郭
600 撮影結果画像
601 位置変化
701 移動軌跡

Claims (4)

  1. ユーザを撮影して、撮影結果画像を出力する撮影部、
    前記撮影結果画像に含まれる前記ユーザの姿のうち、前記ユーザの瞳の位置もしくは大きさに基づいて、当該ユーザに立体視画像を提示すべきか否かを判定する判定部、
    前記判定部により立体視画像を提示すべきと判定された場合、仮想空間内に配置されるオブジェクトを表す立体視画像を生成し、前記判定部により立体視画像を提示すべきでないと判定された場合、当該オブジェクトを表す平面視画像を生成する生成部、
    前記生成された立体視画像もしくは平面視画像を画面に表示する表示部
    を備え
    前記画面に前記立体視画像が表示されている間、
    前記オブジェクトの大きさと、前記オブジェクトの前記仮想空間内における奥行き方向の位置と、は、前記立体視画像において当該オブジェクトが描画される領域の大きさが略一定となるように変化し、
    前記判定部は、前記ユーザの瞳の位置の変化と、前記オブジェクトの位置の変化と、の連動の度合に基づいて、当該ユーザに、以降も立体視画像を提示すべきか否かを判定する
    ことを特徴とするゲーム装置。
  2. 請求項に記載のゲーム装置であって、
    前記判定部により立体視画像を提示すべきと判定された場合、前記生成部は、前記仮想空間内に配置される右視点と左視点とを所定の距離だけ離間させ、当該右視点から当該仮想空間を見た右視点画像と当該左視点から当該仮想空間を見た左視点画像とを生成することにより、前記立体視画像を生成する
    ことを特徴とするゲーム装置。
  3. 請求項に記載のゲーム装置であって、
    前記判定部により立体視画像を提示すべきでないと判定された場合、前記生成部は、前記仮想空間内に配置される右視点と左視点とを重ねて、当該右視点から当該仮想空間を見た右視点画像と当該左視点から当該仮想空間を見た左視点画像とを生成することにより、前記平面視画像を生成し、
    前記画面と前記ユーザとの間には、複数のスリットが用意され、
    前記表示部は、前記画面のうち所定の左基準位置から前記複数のスリットを介して見える領域に、前記左視点画像を表示し、前記画面のうち所定の右基準位置から前記複数のスリットを介して見える領域に、前記右視点画像を表示する
    ことを特徴とするゲーム装置。
  4. コンピュータを、
    ユーザを撮影して、撮影結果画像を出力する撮影部、
    前記撮影結果画像に含まれる前記ユーザの姿のうち、前記ユーザの瞳の位置もしくは大きさに基づいて、当該ユーザに立体視画像を提示すべきか否かを判定する判定部、
    前記判定部により立体視画像を提示すべきと判定された場合、仮想空間内に配置されるオブジェクトを表す立体視画像を生成し、前記判定部により立体視画像を提示すべきでないと判定された場合、当該オブジェクトを表す平面視画像を生成する生成部、
    前記生成された立体視画像もしくは平面視画像を画面に表示する表示部
    として機能させ
    前記画面に前記立体視画像が表示されている間、
    前記オブジェクトの大きさと、前記オブジェクトの前記仮想空間内における奥行き方向の位置と、は、前記立体視画像において当該オブジェクトが描画される領域の大きさが略一定となるように変化し、
    前記判定部は、前記ユーザの瞳の位置の変化と、前記オブジェクトの位置の変化と、の連動の度合に基づいて、当該ユーザに、以降も立体視画像を提示すべきか否かを判定する
    ように機能させることを特徴とするプログラム。
JP2011108723A 2011-05-13 2011-05-13 ゲーム装置、ならびに、プログラム Active JP5485221B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011108723A JP5485221B2 (ja) 2011-05-13 2011-05-13 ゲーム装置、ならびに、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011108723A JP5485221B2 (ja) 2011-05-13 2011-05-13 ゲーム装置、ならびに、プログラム

Publications (2)

Publication Number Publication Date
JP2012239471A JP2012239471A (ja) 2012-12-10
JP5485221B2 true JP5485221B2 (ja) 2014-05-07

Family

ID=47461848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011108723A Active JP5485221B2 (ja) 2011-05-13 2011-05-13 ゲーム装置、ならびに、プログラム

Country Status (1)

Country Link
JP (1) JP5485221B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6499430B2 (ja) * 2014-02-28 2019-04-10 パナソニック株式会社 鮮度情報出力方法、鮮度情報出力装置、制御プログラム
JP2017018246A (ja) * 2015-07-09 2017-01-26 株式会社スクウェア・エニックス ビデオゲーム処理プログラム及びビデオゲーム処理装置
CN108144292A (zh) * 2018-01-30 2018-06-12 河南三阳光电有限公司 裸眼3d互动游戏制作设备
CN112807686A (zh) * 2021-01-28 2021-05-18 网易(杭州)网络有限公司 游戏观战方法、装置及电子设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11234703A (ja) * 1998-02-09 1999-08-27 Toshiba Corp 立体表示装置
JP4022173B2 (ja) * 2003-06-02 2007-12-12 株式会社ソフィア 遊技機
JP4911557B2 (ja) * 2004-09-16 2012-04-04 株式会社リコー 画像表示装置、画像表示制御方法、プログラム及び情報記録媒体
JP5356139B2 (ja) * 2009-07-21 2013-12-04 株式会社コナミデジタルエンタテインメント ビデオゲーム装置及び表示モード切替制御方法

Also Published As

Publication number Publication date
JP2012239471A (ja) 2012-12-10

Similar Documents

Publication Publication Date Title
US10235560B2 (en) Image processing apparatus, image processing method, and image communication system
TWI439120B (zh) 顯示裝置
JP5538483B2 (ja) 映像処理装置、映像処理方法、および映像処理システム
JP5791433B2 (ja) 情報処理プログラム、情報処理システム、情報処理装置および情報処理方法
KR100809479B1 (ko) 혼합 현실 환경을 위한 얼굴 착용형 디스플레이 장치
JP5627973B2 (ja) ゲーム処理をするためのプログラム、装置、システムおよび方法
JP4903888B2 (ja) 画像表示装置、画像表示方法、および画像補正方法
JP4917664B1 (ja) 画像表示装置、ゲームプログラム、ゲーム制御方法
JP2012058968A (ja) プログラム、情報記憶媒体及び画像生成システム
JP5483761B2 (ja) 映像出力装置、立体映像観察デバイス、映像提示システム、および映像出力方法
TWI669635B (zh) 用於顯示彈幕的方法、裝置以及非揮發性電腦可讀儲存介質
US20120306860A1 (en) Image generation system, image generation method, and information storage medium
JP2003107603A (ja) 立体視画像生成装置、立体視画像生成情報および情報記憶媒体
JP3959354B2 (ja) 画像生成装置、画像生成方法、及び画像生成プログラム
US20120056885A1 (en) Image generation system, image generation method, and information storage medium
JP5485221B2 (ja) ゲーム装置、ならびに、プログラム
KR101198557B1 (ko) 시청자세를 반영하는 3차원 입체영상 생성 시스템 및 방법
JP2011172172A (ja) 立体映像処理装置および方法、並びにプログラム
KR102009400B1 (ko) 실감형 영상 콘텐츠 제공 방법 및 이를 이용한 서버
JP2012106005A (ja) 画像表示装置、ゲームプログラム、ゲーム制御方法
JP2019212137A (ja) ヒートマップ提示装置およびヒートマップ提示用プログラム
JP5685079B2 (ja) 画像処理装置、画像処理プログラム、画像処理方法および画像処理システム
JP5325145B2 (ja) ゲーム装置、動作方法、ならびに、プログラム
JP5222407B2 (ja) 画像表示装置、画像表示方法、および画像補正方法
JP5238664B2 (ja) 立体画像生成装置、立体画像生成方法、ならびに、プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140117

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140219

R150 Certificate of patent or registration of utility model

Ref document number: 5485221

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250