(57)【特許請求の範囲】
【請求項１】
ユーザを撮影して、撮影結果画像を出力する撮影部、
前記撮影結果画像に含まれる前記ユーザの姿のうち、前記ユーザの瞳の位置もしくは大きさに基づいて、当該ユーザに立体視画像を提示すべきか否かを判定する判定部、
前記判定部により立体視画像を提示すべきと判定された場合、仮想空間内に配置されるオブジェクトを表す立体視画像を生成し、前記判定部により立体視画像を提示すべきでないと判定された場合、当該オブジェクトを表す平面視画像を生成する生成部、
前記生成された立体視画像もしくは平面視画像を画面に表示する表示部
を備え、
前記画面に前記立体視画像が表示されている間、
前記オブジェクトの大きさと、前記オブジェクトの前記仮想空間内における奥行き方向の位置と、は、前記立体視画像において当該オブジェクトが描画される領域の大きさが略一定となるように変化し、
前記判定部は、前記ユーザの瞳の位置の変化と、前記オブジェクトの位置の変化と、の連動の度合に基づいて、当該ユーザに、以降も立体視画像を提示すべきか否かを判定する
ことを特徴とするゲーム装置。
【請求項２】
請求項１に記載のゲーム装置であって、
前記判定部により立体視画像を提示すべきと判定された場合、前記生成部は、前記仮想空間内に配置される右視点と左視点とを所定の距離だけ離間させ、当該右視点から当該仮想空間を見た右視点画像と当該左視点から当該仮想空間を見た左視点画像とを生成することにより、前記立体視画像を生成する
ことを特徴とするゲーム装置。
【請求項３】
請求項２に記載のゲーム装置であって、
前記判定部により立体視画像を提示すべきでないと判定された場合、前記生成部は、前記仮想空間内に配置される右視点と左視点とを重ねて、当該右視点から当該仮想空間を見た右視点画像と当該左視点から当該仮想空間を見た左視点画像とを生成することにより、前記平面視画像を生成し、
前記画面と前記ユーザとの間には、複数のスリットが用意され、
前記表示部は、前記画面のうち所定の左基準位置から前記複数のスリットを介して見える領域に、前記左視点画像を表示し、前記画面のうち所定の右基準位置から前記複数のスリットを介して見える領域に、前記右視点画像を表示する
ことを特徴とするゲーム装置。
【請求項４】
コンピュータを、
ユーザを撮影して、撮影結果画像を出力する撮影部、
前記撮影結果画像に含まれる前記ユーザの姿のうち、前記ユーザの瞳の位置もしくは大きさに基づいて、当該ユーザに立体視画像を提示すべきか否かを判定する判定部、
前記判定部により立体視画像を提示すべきと判定された場合、仮想空間内に配置されるオブジェクトを表す立体視画像を生成し、前記判定部により立体視画像を提示すべきでないと判定された場合、当該オブジェクトを表す平面視画像を生成する生成部、
前記生成された立体視画像もしくは平面視画像を画面に表示する表示部
として機能させ、
前記画面に前記立体視画像が表示されている間、
前記オブジェクトの大きさと、前記オブジェクトの前記仮想空間内における奥行き方向の位置と、は、前記立体視画像において当該オブジェクトが描画される領域の大きさが略一定となるように変化し、
前記判定部は、前記ユーザの瞳の位置の変化と、前記オブジェクトの位置の変化と、の連動の度合に基づいて、当該ユーザに、以降も立体視画像を提示すべきか否かを判定する
ように機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間内に配置されたオブジェクトをユーザに提示する際に、立体視させるか平面視させるかを適切に切り換えるのに好適なゲーム装置、ゲーム装置の制御方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
【背景技術】
【０００２】
従来から、立体視が可能な立体視画像を生成する技術が提案されている。立体視画像の技術では、人間に視差を感じさせるため、右目用画像と、左目用画像と、を、個別に生成する。
【０００３】
このような技術では、右目用画像をユーザの右目に見せ、左目用画像をユーザの左目に見せるために、左右で見える領域を弁別した眼鏡、左右で透過色が異なる眼鏡、シャッタつきの眼鏡、スリット、各種のレンズやプリズムなどを利用する。
【０００４】
たとえば、下記の特許文献１においては、１つの表示画面に対向して右目用眼鏡と左目用眼鏡を配置し、右目用眼鏡に対向する領域には右目用画像を表示し、左目用眼鏡に対向する領域には左目用画像と、を表示し、表示画面の左右の境界から両眼鏡の中間に伸びる壁を設けて、反対の目用の画像が見えないように（たとえば、左目から右目用画像が見えないように）している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−０７５３００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一般に、左右の目から同じ画像を見る平面視に比べて、立体視は、ユーザの慣れが必要であるとともに、疲労の度合も大きいと言われている。そこで、ユーザに立体視をさせるか否かを適切に判定して、ユーザの目の負担を抑制する技術が求められている。
【０００７】
本発明は、上記のような課題を解決するもので、仮想空間内に配置されたオブジェクトをユーザに提示する際に、立体視させるか平面視させるかを適切に切り換えるのに好適なゲーム装置、ゲーム装置の制御方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。本発明の第１の観点に係るゲーム装置は、撮影部、判定部、生成部、表示部を備える。
【０００９】
撮影部は、ユーザを撮影して、撮影結果画像を出力する。すなわち、撮影部は、画面に表示されるゲーム画像を見ながらプレイしているユーザを、ゲーム装置に備えられたカメラ等の画像取得装置により撮影することで、ユーザの姿を表す画像を取得し、以下の判定部へ出力する。
【００１０】
判定部は、撮影結果画像に含まれるユーザの姿のうち、所定の部位の位置もしくは大きさに基づいて、当該ユーザに立体視画像を提示すべきか否かを判定する。すなわち、判定部は、撮影部によって取得されたユーザの姿を表す画像を用いて、当該画像中のユーザの体の部位（目、顔の輪郭など）の位置や大きさに着目する。そして、当該位置や大きさが時間とともに変化したり、所定値に達したりしたかといったことに基づいて、当該ユーザに立体視画像を提示すべきか否かを判定する。
【００１１】
ここで、立体視画像とは、ユーザの右目と左目との視差を考慮することにより、ユーザに３次元の立体感をもって見させることのできる画像をいう。これに対して、以降でいう平面視画像とは、ユーザの右目と左目との視差を考慮せずに生成された画像をいう。
【００１２】
生成部は、判定部により立体視画像を提示すべきと判定された場合、仮想空間内に配置されるオブジェクトを表す立体視画像を生成し、判定部により立体視画像を提示すべきでないと判定された場合、当該オブジェクトを表す平面視画像を生成する。ここで、ゲーム装置は仮想空間をその記憶部等に用意し、その中にゲームを構成するための種々のオブジェクトを配置する。そして、生成部が、当該仮想空間内の所定の位置に配置された視点から見たオブジェクトの様子を表す画像を生成して、以下の表示部へ出力する。このとき、生成部は、判定部による判定結果により、画像を立体視画像として生成するか、平面視画像として生成するかのいずれかをとる。
【００１３】
表示部は、生成された立体視画像もしくは平面視画像を画面に表示する。すなわち、表示部は、生成部により生成された立体視画像もしくは平面視画像を、例えばディスプレイ等の画面に表示して、ユーザに提示する。ユーザは、立体視もしくは平面視することで画面に表示された画像を見ながら、ゲームを楽しむことができる。
【００１４】
このような構成により、本発明のゲーム装置は、画面を見ているユーザの状況に応じて、画面に立体視画像を表示するのか、それとも平面視画像を表示するのか、を切り替えることができる。
【００１５】
また、本発明のゲーム装置において、
所定の部位は、ユーザの瞳であり、画面に立体視画像が表示されている間、
オブジェクトの大きさと、オブジェクトの仮想空間内における奥行き方向の位置と、は、立体視画像において当該オブジェクトが描画される領域の大きさが略一定となるように変化し、
判定部は、ユーザの瞳の位置の変化と、オブジェクトの位置の変化と、の連動の度合に基づいて、当該ユーザに、以降も立体視画像を提示すべきか否かを判定する
ことも可能である。
【００１６】
すなわち、判定部は、撮影結果画像に含まれるユーザの姿のうち、ユーザの瞳の位置を取得する。ここで「瞳の位置」とは、ユーザの視線方向を定めることのできる撮影結果画像中の位置であり、このときの「瞳」は、瞳孔とその周囲の虹彩を含めた部分、すなわちいわゆる黒目の部分のことであってもよいし、瞳孔そのもの、すなわち虹彩の中にある網膜に光を通す円状の孔部分であってもよい。例えば「瞳」として黒目の部分を用いる場合には、判定部は、撮影結果画像からユーザの目の中の虹彩部分、すなわち白目と黒目との境界を検出し、その位置（典型的にはその中心位置）を取得する。あるいは「瞳」として瞳孔そのものを用いる場合には、判定部は、撮影結果画像からユーザの目の中の瞳孔部分、すなわち網膜に光を通す孔部分を検出し、その位置（典型的にはその中心位置）を取得する。判定部は、これらの検出のために、例えば２値化やエッジ検出等といった既知の画像処理技術を含めた種々の検出手法を用いることができる。
【００１７】
このように取得されたユーザの「瞳」の位置に基づいて、判定部は、当該ユーザに、以降も立体視画像を提示すべきか否かを、以下のような手法で判定する。ここでまず、仮想空間内に配置されるオブジェクトの位置は、仮想空間内の所定の位置に配置された視点から見て奥行き方向に、すなわち視点の位置に対して遠ざかったり近づいたりするように、変化する。このとき同時に、生成される立体視画像において描画されるオブジェクトの領域の大きさが略一定になるように、オブジェクトの大きさも変化する。すなわち、オブジェクトの位置が視点の位置に近いときはオブジェクトの大きさは相対的に縮小し、視点の位置から遠いときはオブジェクトの大きさが相対的に増大するというように、視点の位置からの距離に比例させた大きさへと変化する。
【００１８】
このような立体視画像が表示された画面を見ているユーザは、正常に立体視できている場合、オブジェクトが視点の近くにあるときは両目の焦点を近づけて画面を見ることになり、逆にオブジェクトが視点から遠くにあるときは両目の焦点を遠ざけて画面を見ることになる。そのため、オブジェクトの位置に連動してユーザの両目の瞳の位置が変化する。一方で立体視できていない場合、ユーザの両目の瞳の位置は、オブジェクトの位置に連動しないことになる。そのため、判定部は、撮影結果画像に含まれるユーザの姿のうち瞳の位置の変化に着目し、オブジェクトの位置の変化との連動の度合に基づいて、以降も立体視画像を提示すべきか否かを判定する。
【００１９】
ここで連動の度合とは、オブジェクトの位置とユーザの瞳の位置とがどの程度連動して変化したか、すなわち、どの程度一方が他方に影響を受け、追従するように変化したか、を示す指標である。このような連動の度合として、これら２つの位置の変化の間の相関係数を計算し、その値が指標として用いられてもよいし、あるいは変化に周期性がある場合には、これら２つの位置の変化をフーリエ変換し、周波数成分の比較が用いられてもよい。
【００２０】
このような構成により、本発明のゲーム装置は、ユーザが立体視を行って画面を見ているか否かを、オブジェクトの位置の変化とユーザの瞳の位置の変化との連動の度合に基づいて判定する。その結果、ユーザが立体視できていないときには、不必要に立体視画像を提示せずに、平面視画像を提示することへ切り替えることができる。
【００２１】
また、本発明のゲーム装置において、
判定部は、所定の部位の位置もしくは大きさの変化の範囲が所定の範囲内である場合、当該ユーザに立体視画像を提示すべきと判定する
ことも可能である。
【００２２】
すなわち、判定部は、撮影結果画像に含まれるユーザの姿のうち、所定の部位の位置もしくは大きさが、当該撮影結果画像の中で時間の経過とともにどれくらい変化したかを取得する。そして、判定部は、取得された変化があらかじめ定められた範囲を超えたか否かを判断し、超えていない場合に、当該ユーザに立体視画像を提示すべきと判定する。
【００２３】
このような構成により、本発明のゲーム装置は、ユーザが姿勢を変えて画面を斜めから見るようになるなど、立体視可能な位置から画面を見ていない状態になったときには、不必要に立体視画像を提示せずに、平面視画像を提示することへ切り替えることができる。
【００２４】
また、本発明のゲーム装置において、
判定部は、所定の部位の位置もしくは大きさの変化の周期が所定の範囲内である場合、当該ユーザに立体視画像を提示すべきと判定する
ことも可能である。
【００２５】
すなわち、判定部は、撮影結果画像に含まれるユーザの姿のうち、所定の部位の位置もしくは大きさについて、当該撮影結果画像の中での変化の周期を取得する。そして、判定部は、取得された変化の周期があらかじめ定められた範囲内であるか否かを判断し、範囲内である場合に、当該ユーザに立体視画像を提示すべきと判定する。
【００２６】
判定部は、このような変化の周期を取得することで、ユーザの部位がどのくらい激しく動作したかの一つの指標とする。例えば所定の部位としてユーザの目の瞳に着目した場合には、本発明のゲーム装置は、ユーザが長時間画面を見続けたことによる疲れなどで目の動きが鈍くなってきたときに、目に負担のかかりやすい立体視画像を提示し続けるのではなく、平面視画像を提示することへ切り替えることができる。
【００２７】
また、本発明のゲーム装置において、
所定の部位は、ユーザの両瞳、もしくは、ユーザの顔の輪郭である
ことも可能である。
【００２８】
すなわち、判定部は、撮影結果画像に含まれるユーザの姿のうち、ユーザの両瞳もしくはユーザの顔の輪郭に着目し、それらの位置もしくは大きさの変化、または変化の周期が所定の範囲内である場合、ユーザに立体視画像を提示すべきと判定する。このとき所定の部位として用いられるユーザの両瞳には、上記と同様に、瞳孔とその周囲の虹彩を含めた部分が用いられてもよいし、瞳孔そのものが用いられてもよい。
【００２９】
また、本発明のゲーム装置において、
判定部により立体視画像を提示すべきと判定された場合、生成部は、仮想空間内に配置される右視点と左視点とを所定の距離だけ離間させ、当該右視点から当該仮想空間を見た右視点画像と当該左視点から当該仮想空間を見た左視点画像とを生成することにより、立体視画像を生成する
ことも可能である。
【００３０】
すなわち、本発明のゲーム装置は、仮想空間内に配置されたオブジェクトを表す立体視画像を生成部が生成するために、仮想空間内に左視点と右視点という２個の視点を用意する。そして、判定部により立体視画像を提示すべきと判定された場合に、生成部は、２個の視点間の距離をあらかじめ定められた距離だけ離し、左視点から見た仮想空間内のオブジェクトを表す左視点画像と、右視点から見た仮想空間内のオブジェクトを表す右視点画像と、の２個の画像を立体視画像として生成する。
【００３１】
これによって、仮想空間内の同じオブジェクトであっても、左視点から見た画像と右視点から見た画像とは、見る角度が異なる画像となる。そのため、これら２個の異なる視点から見た画像から構成される立体視画像は、現実空間で人間がものを見るときに、左目と右目という異なる角度から見て立体感を認識している様子を模擬した画像となる。
【００３２】
また、本発明のゲーム装置において、
判定部により立体視画像を提示すべきでないと判定された場合、生成部は、仮想空間内に配置される右視点と左視点とを重ねて、当該右視点から当該仮想空間を見た右視点画像と当該左視点から当該仮想空間を見た左視点画像とを生成することにより、平面視画像を生成し、
画面とユーザとの間には、複数のスリットが用意され、
表示部は、画面のうち所定の左基準位置から複数のスリットを介して見える領域に、左視点画像を表示し、画面のうち所定の右基準位置から複数のスリットを介して見える領域に、右視点画像を表示する
ことも可能である。
【００３３】
すなわち、生成部は、立体視画像の生成と同様に、仮想空間内に配置された２個の視点から見た２個の画像を生成するが、判定部により立体視画像を提示すべきでないと判定された場合には、２個の視点を仮想空間内の同じ位置に設定する。そして、生成部は、同じ位置に設定された２個の視点から見た２個の同じ画像を生成して、平面視画像とする。これによって、生成部は、仮想空間内の左右２個の視点間の距離を変化させることで、立体視画像と平面視画像とを選択的に生成することができる。
【００３４】
またここで、ゲーム装置の画面と当該画面を見ているユーザとの間の所定の位置には、複数のスリットが用意される。ここで複数のスリットとは、穴や溝、切れ込みなどの隙間により視線を通す透過部分と、視線を通さない遮断部分とが、所定の幅と間隔で交互に並べて配置されたものである。このような複数のスリットが、画面とユーザとの間の所定の位置に配置されることで、当該ユーザから見た画面内には、スリットの陰に隠れて見えない領域とスリットの隙間から見える領域とが存在することになる。
【００３５】
このとき、左基準位置として、ユーザが典型的な位置から画面を見た際にユーザの左目となることが想定される位置が、右基準位置として、右目の位置となることが想定される位置が、それぞれ設定される。そして表示部は、当該設定された左基準位置から複数のスリットを介して見える画面内の領域に左視点画像を表示し、当該設定された右基準位置から複数のスリットを介して見える画面内の領域に右視点画像を表示する。
【００３６】
このような構成により、ユーザの左目には左視点からオブジェクトを見た画像が、右目には右視点からオブジェクトを見た画像が、それぞれ視界に入ることになり、ユーザは左右の目で異なる角度からの画像を見ることになるため、立体感をもちながら画面を見ることができる。
【００３７】
上記目的を達成するため、本発明の第２の観点に係るゲーム装置の制御方法は、撮影部、判定部、生成部、表示部を備えるゲーム装置が実行する制御方法であって、撮影工程、判定工程、生成工程、表示工程を備える。
【００３８】
撮影工程では、撮影部が、ユーザを撮影して、撮影結果画像を出力する。
判定工程では、判定部が、撮影結果画像に含まれるユーザの姿のうち、所定の部位の位置もしくは大きさに基づいて、当該ユーザに立体視画像を提示すべきか否かを判定する。
生成工程では、生成部が、判定工程にて立体視画像を提示すべきと判定された場合、仮想空間内に配置されるオブジェクトを表す立体視画像を生成し、判定工程にて立体視画像を提示すべきでないと判定された場合、当該オブジェクトを表す平面視画像を生成する。
表示工程では、表示部が、生成された立体視画像もしくは平面視画像を画面に表示する。
【００３９】
上記目的を達成するため、本発明の第３の観点に係るプログラムは、コンピュータを、上記のゲーム装置として機能させ、コンピュータに、上記の制御方法の各工程を実行させるように構成する。
【００４０】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読み取り可能な情報記憶媒体に記録することができる。
【００４１】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配付・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配付・販売することができる。
【発明の効果】
【００４２】
本発明によれば、仮想空間内に配置されたオブジェクトをユーザに提示する際に、立体視させるか平面視させるかを適切に切り換えるのに好適なゲーム装置、ゲーム装置の制御方法、ならびに、プログラムを提供することができる。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施形態に係るゲーム装置が実現される典型的な情報処理装置の概要構成を示す模式図である。
【図２】本発明の実施形態に係るゲーム装置の概要構成を示す模式図である。
【図３】本発明の実施形態に係る仮想空間内の様子を示す図である。
【図４】本発明の実施形態に係る（ａ）左視点画像と（ｂ）右視点画像とを示す図である。
【図５】視差バリア方式により立体視画像を表示する仕組みを説明するため、（ａ）は、モニタを上部から見た様子を示す図であり、（ｂ）は、ユーザの斜め後ろから眺めた様子を示す図である。
【図６】（ａ）は、カメラにより撮影されたユーザの姿を表す画像を示す図である。（ｂ）は、位置の変化したユーザが撮影された画像を示す図である。
【図７】仮想空間内において、２個の視点が重ねられる様子を示す図である。
【図８】重ねられた２個の視点から撮影された（ａ）左視点画像と（ｂ）右視点画像とを示す図である。
【図９】本発明の実施形態に係るゲーム装置における、ゲーム処理の流れを示すフローチャートである。
【図１０】本発明の実施形態に係るゲーム装置における、表示・撮影処理の流れを示すフローチャートである。
【図１１】実施形態２に係る仮想空間内において、オブジェクトが移動している様子を示す図である。
【図１２】実施形態２に係る仮想空間内において、描画される領域の大きさが略一定になるように、オブジェクトが移動している様子を示す図である。
【図１３】（ａ）、（ｂ）ともに、実施形態２において、オブジェクトが大きさを変化させながら移動している状態において生成された左視点画像と右視点画像を示す図である。
【図１４】（ａ）、（ｂ）ともに、視差の大小が変化する立体視画像が提示されたときの、ユーザの瞳の位置変化の様子を示す図である。
【発明を実施するための形態】
【００４４】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素を均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００４５】
（実施形態１）
図１は、本発明の実施形態に係るゲーム装置が実現される典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００４６】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、インターフェース１０４と、コントローラ１０５と、外部メモリ１０６と、画像処理部１０７と、ＤＶＤ−ＲＯＭ（Digital Versatile Disc ROM）ドライブ１０８と、ＮＩＣ（Network Interface Card）１０９と、音声処理部１１０と、を備える。
【００４７】
ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０８に装着して、情報処理装置１００の電源を投入することにより、当該プログラムが実行され、本実施形態のゲーム装置等が実現される。
【００４８】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、ＣＰＵ  １０１は、レジスタ（図示せず）という高速アクセスが可能な記憶域に対してＡＬＵ（Arithmetic Logic Unit）（図示せず）を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、ＣＰＵ  １０１自身が構成されているものや、コプロセッサを備えて実現するものがある。
【００４９】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００５０】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、ＣＰＵ  １０１は、ＲＡＭ  １０３に変数領域を設け、当該変数に格納された値に対して直接ＡＬＵを作用させて演算を行う、また、ＲＡＭ  １０３に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【００５１】
インターフェース１０４を介して接続されたコントローラ１０５は、ユーザがゲーム実行の際に行う操作入力を受け付ける。例えばコントローラ１０５には、上下左右を示す操作入力を行うのに利用される方向ボタンや、決定操作、取消操作、メニュー表示などの指示入力を行うためのボタンが、その表面の所定の位置に配置される。これら各ボタンには圧力センサが配備され、いずれのボタンが押圧操作されているかを検知することができる。ユーザは、コントローラ１０５に配置されたこのような各ボタンを押圧操作することで、情報処理装置１００への操作指示を入力する。
【００５２】
インターフェース１０４を介して着脱自在に接続された外部メモリ１０６には、ゲーム等のプレイ状況（過去の成績等）を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ（記録）のデータなどが書き換え可能に記憶される。ユーザは、コントローラ１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００５３】
ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０８は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００５４】
画像処理部１０７は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０７が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０７が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０７に接続されるモニタ（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【００５５】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【００５６】
また、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００５７】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画したりすることが可能である。フォント情報は、ＲＯＭ  １０２に記録されているが、ＤＶＤ−ＲＯＭに記録された専用のフォント情報を利用することも可能である。
【００５８】
ＮＩＣ  １０９は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００５９】
音声処理部１１０は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【００６０】
音声処理部１１０では、ＤＶＤ−ＲＯＭに記録された音声データがＭＩＤＩデータである場合には、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータは、そのサンプリング周波数に応じたタイミングでＤ／Ａ（Digital/Analog）変換を行って、スピーカに出力することにより、音声出力が可能となる。
【００６１】
モニタ１１１は、画像処理部１０７に接続され、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、画像情報を表示する。モニタ１１１は、ＬＣＤ（Liquid Crystal Display）、有機ＥＬディスプレイ（organic Electro-Luminescence display）等により構成され、一般的な置き型ディスプレイの形式又は装着型のＨＭＤの形式で用いられる。
【００６２】
カメラ１１２は、インターフェース１０４を介して接続され、現実世界を撮影し、撮影した映像を電気信号に変換する。ＣＣＤ（Charge Coupled Device）カメラ、ＣＭＯＳ（Complimentary MOS）センサ等から構成される。カメラ１１２は、ユーザが装着してもよく、置き型ディスプレイ等に備え付けてもよい。
【００６３】
このほか、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【００６４】
また、ユーザからの文字列の編集入力を受け付けるためのキーボードや、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。また、本実施形態の情報処理装置１００にかえて、汎用のパーソナルコンピュータを利用することもできる。
【００６５】
以上で説明した情報処理装置１００は、いわゆる「コンシューマ向けテレビゲーム装置」に相当するものであるが、仮想空間を表示するような画像処理を行うものであれば本発明を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明を実現することが可能である。
【００６６】
例えば、一般的なコンピュータは、上記情報処理装置１００と同様に、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＤＶＤ−ＲＯＭドライブ、及び、ＮＩＣを備え、情報処理装置１００よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラ１０５ではなく、キーボードやマウスなどを入力装置として利用する。
【００６７】
図２は、本発明のゲーム装置に係る概要構成を示す模式図である。本発明のゲーム装置２００は、典型的には上述した情報処理装置１００によって実現される。以下、本図を参照して概要構成を説明する。
【００６８】
ゲーム装置２００は、撮影部２０１、判定部２０２、生成部２０３、表示部２０４を備える。なお、ゲーム装置２００は、ＲＡＭ  １０３等の機能により現在時刻やプレイヤからの入力の内容等を記憶するための記憶部や、画像表示部１０７が画像をモニタ１１１へ出力する際の同期タイミングを利用することで時間を計測するための計時部等も適宜備える。
【００６９】
撮影部２０１は、ユーザを撮影して、撮影結果画像を出力する。すなわち、撮影部２０１は、画面に表示されるゲーム画像を見ながらプレイしているユーザを撮影し、撮影されたユーザの様子を表す撮影結果画像を、ＲＡＭ  １０３等の記憶部等を介して判定部２０２へと出力する。このような撮影部２０１は、例えばＣＰＵ  １０１がＲＯＭ  １０２やＲＡＭ  １０３と協働しながら、カメラ１１２を制御することで実現される。
【００７０】
判定部２０２は、撮影結果画像に含まれるユーザの姿のうち、所定の部位の位置もしくは大きさに基づいて、当該ユーザに立体視画像を提示すべきか否かを判定する。すなわち、判定部２０２は、撮影部２０１によって撮影されたユーザの様子を表す画像から、ユーザの体の部位の位置や大きさの情報を取得する。そして、取得された情報に基づいて、立体視画像を提示すべきか否かの判定を行い、当該判定を生成部２０３へ提供する。このような判定部２０２は、例えばＣＰＵ  １０１がＲＯＭ  １０２やＲＡＭ  １０３等と協働することで実現される。
【００７１】
生成部２０３は、判定部２０２により立体視画像を提示すべきと判定された場合、仮想空間内に配置されるオブジェクトを表す立体視画像を生成し、判定部２０２により立体視画像を提示すべきでないと判定された場合、当該オブジェクトを表す平面視画像を生成する。すなわち、生成部２０３は、記憶部等に記憶された仮想空間内に配置されるオブジェクトを表す画像を生成する。このとき、生成部２０３は、判定部２０２によってなされた判定結果に基づいて、立体視画像もしくは平面視画像を生成し、表示部２０４へ提供する。このような生成部２０３は、例えばＣＰＵ  １０１がＲＯＭ  １０２やＲＡＭ  １０３、さらに画像表示部１０７と協働することによって実現される。
【００７２】
表示部２０４は、生成された立体視画像もしくは平面視画像を画面に表示する。すなわち、表示部２０４は、生成部２０３によって生成された画像を、例えばディスプレイに表示して、プレイヤに提供する。このような表示部２０４は、例えばＣＰＵ  １０１がＲＯＭ  １０２やＲＡＭ  １０３と協働しながら画像表示部１０７を制御し、画像情報をモニタ１１１に出力することによって実現される。
【００７３】
図３は、本発明の実施形態に係る仮想空間内の様子を示す図である。本実施形態におけるゲーム装置２００は、本図に示されるような仮想空間３００を、例えばその記憶部に記憶する。仮想空間３００内には、ゲームを構成するために必要なオブジェクト３０１が配置される。一例として本図では、仮想空間３００内に、球状のオブジェクト３０１ａと角柱状のオブジェクト３０１ｂが配置された様子が示されている。
【００７４】
ここで仮想空間３００内には、球状のオブジェクト３０１ａや角柱状のオブジェクト３０１ｂのような単純な形状のものに限らず、ゲームの仮想世界を構成する様々なオブジェクト３０１が配置されうる。例えば、建物や樹木、山や海を表すオブジェクト３０１が配置されてもよいし、人型や動物型のキャラクタオブジェクトが配置され、仮想空間３００内を様々に動き回るようにしてもよい。
【００７５】
このような仮想空間３００内の様子を、同じく仮想空間３００内に配置された２個の視点３０２（仮想カメラ）が撮影する。この２個の視点３０２は人間の２個の目に対応するもので、生成部２０３は、仮想空間３００内をこのような２個の視点３０２で撮影して画像を生成することで、人間が３次元空間を２個の目で立体的に見た様子を模擬した立体視画像を生成することができる。
【００７６】
具体的に、本図では、左視点３０２Ｌと右視点３０２Ｒは所定の距離Ｌだけ離れた異なる位置に配置され、それぞれ仮想空間３００内に並べられた２個のオブジェクト３０１ａ，３０１ｂの方向へ向けられて配置されている。すなわち、縦列に並べられた２個のオブジェクト３０１ａ，３０１ｂに対して角柱状のオブジェクト３０１ｂの手前側から、左視点３０２Ｌおよび右視点３０２Ｒからの視線が向けられている。そして、左視点３０２Ｌは、オブジェクト３０１ａ，３０１ｂを相対的に左側の位置から撮影し、それに対して右視点３０２Ｒは、オブジェクト３０１ａ，３０１ｂを相対的に右側の位置から撮影している。このとき、生成部２０３は、これら２個の視点３０２Ｌ，３０２Ｒからそれぞれ撮影した２個の画像を生成する。生成された画像は、以下の図４に示されるようなものになる。
【００７７】
図４は、本発明の実施形態に係る左視点画像（本図（ａ））と右視点画像（本図（ｂ））とを示す図である。上記図３における左視点３０２Ｌから仮想空間３００内の様子を撮影して生成された画像は、本図（ａ）の左視点画像４００Ｌのように、縦列して並べられた２個のオブジェクト３０１ａ，３０１ｂを左側手前から見た様子を表すものとなる。一方で、右視点３０２Ｒから仮想空間３００内の様子を撮影して生成された画像は、本図（ｂ）の右視点画像４００Ｒのように、縦列して並べられた２個のオブジェクト３０１ａ，３０１ｂを右側手前から見た様子を表すものとなる。
【００７８】
本実施形態では、このように生成部２０３が生成した左視点画像４００Ｌと右視点画像４００Ｒを、それぞれ左目用の画像と右目用の画像として、表示部２０４がユーザへ提示する。そして、表示部２０４は、左視点画像４００Ｌをユーザの左目からは見えて右目からは見えないように、そして右視点画像４００Ｒをユーザの右目からは見えて左目からは見えないように、表示態様に加工を施して表示する。このようにすることで、ユーザは左目と右目とで異なる視点３０２から撮影された画像（立体視画像）を見ることになり、仮想空間３００内の様子を立体的に捉えることができるようになる。これを実現するために、本実施形態での表示部２０４は、いわゆる視差バリア方式を用いて、立体視画像を画面（モニタ１１１）に表示する。
【００７９】
図５は、視差バリア方式により立体視画像を表示する仕組みを説明する図である。本図（ａ）は、モニタ１１１を上部から見た様子を示しており、そして本図（ｂ）は、モニタ１１１を見ているユーザ５５０の斜め後ろから眺めた様子を示している。本図に示すように、モニタ１１１には、その前部に、所定の幅と間隔で縦縞状に切れ込み（隙間）が入れられた複数のスリット５０３を有するフィルム５０２が重畳される。ここで複数のスリット５０３とは、切れ込み（隙間）により視線を通す透過部分と、視線を通さない遮断部分とが、所定の幅と間隔で交互に並べて配置されたものである。このような複数のスリット５０３を有するフィルム５０２が、モニタ１１１とユーザ５５０との間の所定の位置に配置された状態で、ユーザ５５０は、当該フィルム５０２を介してモニタ１１１に表示される画像を見る。すなわち、ユーザ５５０の見る位置によって、モニタ１１１の表示領域のうち、複数のスリット５０３の隙間から見える領域と、複数のスリット５０３の陰に隠されて見えない領域とが存在することになる。
【００８０】
このとき、ユーザ５５０がモニタ１１１を見る典型的な位置、すなわちモニタ１１１の正面であって、当該モニタ１１１から所定の距離だけ離れた位置が想定される。そして、当該位置からユーザ５５０がモニタ１１１を見た場合にユーザ５５０の左目５５１Ｌとなる位置が、左基準位置５０４Ｌと設定され、ユーザ５５０の右目５５１Ｒとなる位置が、右基準位置５０４Ｒと設定される。このような左基準位置５０４Ｌと右基準位置５０４Ｒからは、モニタ１１１の前部に配置された複数のスリット５０３の存在により、モニタ１１１内で見える領域が異なることになる。すなわちモニタ１１１内には、左基準位置５０４Ｌからは見えるが右基準位置５０４Ｒからは見えない領域と、逆に右基準位置５０４Ｒからは見えるが左基準位置５０４Ｌからは見えない領域とが存在することになる。
【００８１】
このときゲーム装置２００は、複数のスリット５０３の隙間の幅や隙間同士の間隔、および、モニタ１１１からの距離を適切に調整することで、左基準位置５０４Ｌからは見えるが右基準位置５０４Ｒからは見えない表示領域５０１Ｌと、右基準位置５０４Ｒからは見えるが左基準位置５０４Ｌからは見えない表示領域５０１Ｒとを、本図（ａ）に示されるように、モニタ１１１内に縦に１ラインずつ交互に並べるように配置することができる。
【００８２】
このように交互に並べて配置された表示領域５０１Ｌと表示領域５０１Ｒとに、表示部２０４は、生成部２０３によって上記のように生成された左視点画像４００Ｌと右視点画像４００Ｒとを、それぞれ表示する。これにより、想定される典型的な位置からモニタ１１１を見ているユーザ５５０は、左目５５１Ｌには左視点画像４００Ｌのみが表示されているように見え、右目５５１Ｒには右視点画像４００Ｒのみが表示されているように見える。すなわちユーザ５５０は、あたかも仮想空間３００内の様子を２個の異なる視点３０２から見ているようになり、モニタ１１１内に表示されている画像を立体的に捉えることができるようになる。本実施形態での表示部２０４は、このような視差バリア方式による表示形態をとることで、ユーザ５５０に立体視表示をさせる。
【００８３】
ここで、例えばユーザ５５０がその姿勢を変えるなどによって、モニタ１１１を見ている位置を変化させたとする。見ている位置が変化し、左目５５１Ｌや右目５５１Ｒが、それぞれ左基準位置５０４Ｌや右基準位置５０４Ｒから離れてしまうと、左目５５１Ｌの視界に左視点画像４００Ｌが、右目５５１Ｒの視界に右視点画像４００Ｒが入らなくなってしまい、ユーザ５５０が正しく立体視できなくなってしまう。この場合に、そのまま表示部２０４が立体視画像（異なる視点３０２から撮影された左視点画像４００Ｌと右視点画像４００Ｒ）をモニタ１１１に表示し続けていると、ユーザ５５０は画像を立体的に捉えられないだけでなく、誤った角度からの歪んだ画像を見ることになって、正しい画像情報を得られなくなる。
【００８４】
そのため、本実施形態では、撮影部２０１が、図５（ｂ）に示されたようにあらかじめ設置されたカメラ１１２を用いて、モニタ１１１を見ているユーザ５５０の様子を撮影する。具体的に、図５（ｂ）では、カメラ１１２はモニタ１１１の上部に設置され、モニタ１１１を見ているユーザ５５０の姿を撮影している。そして、撮影された画像に基づいて、判定部２０２が、ユーザ５５０の位置が変化したか否かを調べ、ユーザ５５０に立体視画像を提示すべきか平面視画像を提示すべきかを判定する。
【００８５】
図６（ａ）は、カメラ１１２により撮影されたユーザ５５０の姿を現す画像を示す図である。上記図５（ｂ）にて示されたようなモニタ１１１を見ているユーザ５５０を、カメラ１１２が撮影した結果、撮影された撮影結果画像６００内には、ユーザ５５０の顔５５３を正面から見た様子、すなわち、当該ユーザ５５０の顔５５３の輪郭５５４内に、左目５５１Ｌや右目５５１Ｒ、そしてそれらの中の瞳５５２、などの様子が表示されている。
【００８６】
本実施形態では、このような撮影結果画像６００を、撮影部２０１が取得して、所定の時間間隔ごとにＲＡＭ  １０３等の記憶部に蓄積していく。そして、判定部２０２が、蓄積された撮影結果画像６００の履歴を分析して、時間の経過とともにユーザ５５０の位置が変化していないかを調べる。具体的に、図６（ａ）のように撮影されていたユーザ５５０が、図６（ｂ）のようにその位置が変化したとする。
【００８７】
図６（ｂ）は、位置の変化したユーザ５５０が撮影された画像を示す図である。ここでは説明のため、本図（ａ）において表示されていたユーザ５５０の姿を、点線で表示しているが、実際の撮影結果画像６００内にはこのような点線は表示されない。本図（ｂ）では、本図（ａ）に比べて、撮影されたユーザ５５０の位置が向かって右下方向へ移動しており、ユーザ５５０の顔５５３の向きも斜めになっている。その結果、ユーザ５５０の左目５５１Ｌと右目５５１Ｒの位置は、本図（ａ）のときから比べて変化している。
【００８８】
本実施形態での判定部２０２は、このようなユーザ５５０の左目５５１Ｌおよび右目５５１Ｒ内の瞳５５２の位置変化６０１に着目する。正しく立体視するためには、ユーザ５５０は、複数のスリット５０３を有するフィルム５０２を介して左目５５１Ｌの視界に左視点画像４００Ｌが入る左基準位置５０４Ｌと右目５５１Ｒの視界に右視点画像４００Ｒが入る右基準位置５０４Ｒとからモニタ１１１を見る必要があるため、この瞳５５２の位置変化６０１の値が大きければ、もはやユーザ５５０は正しく立体視できていない可能性が高い。
【００８９】
このとき判定部２０２が着目する瞳５５２は、瞳孔とその周囲の虹彩を含めた部分、すなわちいわゆる黒目の部分のことであってもよいし、瞳孔そのもの、すなわち虹彩の中にある網膜に光を通す円状の孔部分であってもよい。例えば瞳５５２として黒目の部分を用いる場合には、判定部２０２は、撮影結果画像６００のユーザ５５０の姿のうち、左目５５１Ｌおよび右目５５１Ｒ内の虹彩部分、すなわち白目と黒目との境界を検出し、その位置変化６０１を取得する。あるいは瞳５５２として瞳孔そのものを用いる場合には、判定部２０２は、撮影結果画像６００のユーザ５５０の姿のうち、左目５５１Ｌおよび右目５５１Ｒ内の瞳孔部分、すなわち網膜に光を通す孔部分を検出し、その位置変化６０１を取得する。判定部２０２は、これらの検出のために、例えば２値化やエッジ検出等といった既知の画像処理技術を含めた種々の検出手法を用いることができる。
【００９０】
そして判定部２０２は、このようにして取得された瞳５５２の位置変化６０１の値が、所定の範囲内かどうかを調べ、ユーザ５５０が立体視できているか否か、そして以降も立体視画像を提示すべきか否かの判定基準とする。具体的に、瞳５５２の位置変化６０１の値が小さく、所定の範囲内に収まる場合には、判定部２０２は、ユーザ５５０は正しく立体視できる位置からモニタ１１１を見ているとして、立体視画像を提示すべきと判定する。一方で、瞳５５２の位置変化６０１の値が大きく、所定の範囲内に収まらない場合には、判定部２０２は、ユーザ５５０はもはや正しく立体視できる位置からモニタ１１１を見ている状態にないとして、立体視画像を提示すべきでないと判定する。
【００９１】
ここでは、撮影結果画像６００内の瞳５５２の位置変化６０１が所定の範囲内を超えた場合を例にとって、以下に説明する。このとき、判定部２０２により立体視画像を提示すべきでないとの判定を受け取った生成部２０３は、仮想空間３００内の様子を表す平面視画像を生成するために、仮想空間３００内でそれまで所定の距離Ｌだけ離間して配置されていた左視点３０２Ｌと右視点３０２Ｒとの位置を、同じ位置に重ねる。
【００９２】
図７は、仮想空間３００内において、２個の視点３０２が重ねられる様子を示す図である。本図は、上記図３において示されたものと同様、仮想空間３００内に球状のオブジェクト３０１ａと角柱状のオブジェクト３０１ｂが配置され、さらにそれらに向けられて２個の視点３０２（仮想カメラ）が配置されている。図３では、この左視点３０２Ｌと右視点３０２Ｒは、所定の距離Ｌだけ離間して配置されていたが、それに対して本図では、当初離間して配置されていた左視点３０２Ｌと右視点３０２Ｒとが、重ねられる位置にまで近づけられている。
【００９３】
左視点３０２Ｌと右視点３０２Ｒが離れて配置されていた場合には、仮想空間３００内のオブジェクト３０１ａ，３０１ｂについて、異なる角度から撮影された２個の画像が生成された。一方で、左視点３０２Ｌと右視点３０２Ｒの位置が重ねられる位置にまで近づけられた場合には、それぞれから撮影された２個の画像は、以下の図８に示すように、同じ画像が生成されることになる。
【００９４】
図８は、重ねられた２個の視点３０２から撮影された左視点画像４００Ｌ（本図（ａ））と右視点画像４００Ｒ（本図（ｂ））とを示す図である。本図は、上記図４（ａ）および図４（ｂ）にて示された左視点画像４００Ｌと右視点画像４００Ｒと同様に、縦列して並べられた２個のオブジェクト３０１ａ，３０１ｂについて、角柱状のオブジェクト３０１ｂの手前から見た様子を表すものである。
【００９５】
ここで、左視点３０２Ｌと右視点３０２Ｒとが所定の距離Ｌだけ離れていたときは、上記図４のように、左視点画像４００Ｌには２個のオブジェクト３０１ａ，３０１ｂを左側手前から、そして右視点画像４００Ｒには２個のオブジェクト３０１ａ，３０１ｂを右側手前から、それぞれ見た様子が表示された。一方で、左視点３０２Ｌと右視点３０２Ｒとが重ねられたときは、本図のように、左視点画像４００Ｌと右視点画像４００Ｒには、それぞれ２個のオブジェクト３０１ａ，３０１ｂを正面手前から見た同じ画像が表示される。
【００９６】
このようにして生成された同じ位置の視点３０２から撮影された左視点画像４００Ｌと右視点画像４００Ｒ（平面視画像）は、表示部２０４によってモニタ１１１に表示され、ユーザ５５０へ提示される。本実施形態では、ここでも上記図５に示したように視差バリア方式が用いられ、ユーザ５５０は、モニタ１１１の前部に設置されたフィルム５０２を介してモニタ１１１に表示された画像を見る。
【００９７】
このとき、図５のようにモニタ１１１内に交互に並べられた表示領域５０１Ｌと表示領域５０１Ｒには、立体視画像と同様に、左視点画像４００Ｌと右視点画像４００Ｒが表示されるが、平面視画像の場合これらは同じ画像であるため、モニタ１１１全体で同じ１個の画像が表示される。そのため、ユーザ５５０は、左基準位置５０４Ｌや右基準位置５０４Ｒに限らず、フィルム５０２の複数のスリット５０３を介してどの位置からモニタ１１１を見ても、左目５５１Ｌと右目５５１Ｒの視界には同じ画像が入ることになり、ユーザ５５０はモニタ１１１を平面視していることになる。
【００９８】
このように、本実施形態では、モニタ１１１を見ているユーザ５５０の瞳５５２の位置変化６０１の値が所定の範囲を超えている場合に、判定部２０２がユーザ５５０に立体視画像を提示すべきでないと判定し、それまで立体視画像を生成していた生成部２０３は、それ以降は平面視画像を生成する。
【００９９】
なお、本実施形態は、ユーザ５５０へ立体視画像を提示している状態から平面視画像を提示する状態への切り替えだけでなく、その逆の処理、すなわちユーザ５５０へ平面視画像を提示している状態から立体視画像を提示する状態への切り替えも行うことにしてもよい。
【０１００】
具体的には、生成部２０３が平面視画像を生成するようになって以降も、撮影部２０１がモニタ１１１を見ているユーザ５５０を撮影し続ける。そして、撮影結果画像６００内のユーザ５５０の瞳５５２の位置変化６０１が所定の範囲内である場合、判定部２０２が立体視画像を提示すべきと判定することで、それまで平面視画像を生成していた生成部２０３が、立体視画像を生成するようにする。これによって、ユーザ５５０の状況に応じて、立体視画像を生成する状態と平面視画像を生成する状態との間で状態を柔軟に切り替えながら、画像を提示することができる。
【０１０１】
図９は、本実施形態のゲーム装置２００における、処理の流れを示すフローチャートである。ここまで説明してきた本実施形態において実現される処理の流れまとめて、以下に説明する。
【０１０２】
本処理が開始されると、まずゲーム装置２００のＣＰＵ  １０１は、各種の初期化処理を行う（ステップＳ１０１）。ここでは、ＲＡＭ  １０３等の記憶部に記憶された各種の情報の初期化を行うとともに、仮想空間３００やそこに配置されるオブジェクト３０１、視点３０２など、ゲームをプレイする上で必要となる各種データを読み込む。
【０１０３】
次に、ゲーム装置２００は、仮想空間３００内に配置される左視点３０２Ｌと右視点３０２Ｒとを離間させる（ステップＳ１０２）。すなわち、ゲーム開始時においては、ゲーム装置２００はまず立体視画像を生成して、表示する。そのため、上記図３に示されたように、仮想空間３００内の左視点３０２Ｌと右視点３０２Ｒとを、その間の距離が所定の距離Ｌだけ離れるようにして配置する。
【０１０４】
この状態で、ゲーム装置２００の処理は、表示・撮影処理に移行する（ステップＳ１０３）。ここでの表示・撮影処理の詳細については、改めて図１０のフローチャートを用いて以下に説明する。
【０１０５】
図１０は、本実施形態のゲーム装置２００における、表示・撮影処理の流れを示すフローチャートである。ここでは、画像を生成して表示する処理および画像を見ているユーザ５５０を撮影する処理をまとめて説明する。
【０１０６】
本図における処理が開始されると、まずゲーム装置２００は、仮想空間３００内に配置されたオブジェクト３０１の位置や大きさを設定する（ステップＳ２０１）。すなわち、ゲームを構成するために仮想空間３００内に配置された様々なオブジェクト３０１について、例えばその位置を移動させたり大きさを変化させたりすることによって、ゲームを進行させる。
【０１０７】
次に、生成部２０３が、仮想空間３００内のオブジェクト３０１を表す画像を生成する（ステップＳ２０２）。すなわち、生成部２０３は、仮想空間３００内に配置された２個の視点３０２から見たオブジェクト３０１の様子を撮影した２個の画像を生成する。具体的に、上記図３のように所定の距離Ｌだけ離れた左視点３０２Ｌと右視点３０２Ｒが、２個のオブジェクト３０１ａ，３０１ｂに向けられて配置されている場合は、上記図４に示されたような左視点画像４００Ｌと右視点画像４００Ｒが生成される。
【０１０８】
そして、表示部２０４が、所定の周期ごとに行われる垂直同期のタイミングを待って、生成された画像を画面に表示する（ステップＳ２０３）。すなわち、表示部２０４は、生成部２０３によって生成された左視点画像４００Ｌと右視点画像４００Ｒとを、上記図６に示されたような視差バリア方式でモニタ１１１に表示して、ユーザ５５０に提示する。ここでは、ステップＳ１０２において２個の視点３０２を離間させているので、立体視画像が生成・表示されて、ユーザ５５０に提示されることになる。
【０１０９】
さらに、撮影部２０１が、画面（モニタ１１１）を見るユーザ５５０を撮影する（ステップＳ２０４）。すなわち、撮影部２０１は、フィルム５０２を介してモニタ１１１に表示された画像を見ているユーザ５５０の様子を、カメラ１１２を用いて撮影する。撮影された結果、具体的には上記図６（ａ）に示されたような撮影結果画像６００が取得される。
【０１１０】
そして、撮影部２０１が、取得された撮影結果画像６００の履歴を蓄積する（ステップＳ２０５）。すなわち、撮影部２０１は、撮影されたユーザ５５０の様子を表す撮影結果画像６００を、ＲＡＭ  １０３等の記憶部に記憶して蓄積する。蓄積された撮影結果画像６００は、後述する判定部２０２による立体視画像を提示すべきか否かを判定する処理に用いられる。
【０１１１】
なお、このステップＳ２０５での蓄積処理は、撮影結果画像６００が取得されるごとに常に行わなければならないわけではなく、例えば数秒に１回の頻度で行われればよい。また、記憶部に記憶された撮影結果画像６００について、使用する記憶領域を抑えるため、一定数蓄積された後は時系列順に古いものから消去する処理が、ここで随時行われてもよい。
【０１１２】
ここまでで図１０における表示・撮影処理を終えて、処理は再び図９のフローチャートへと戻り、ステップＳ１０４へと移行する。ここでゲーム装置２００は、現在が所定の判定タイミングであるか、を判定する（ステップＳ１０４）。すなわち、本実施形態では、後述するステップＳ１０５における判定部２０２による判定処理は、例えば１分に１回の頻度で行われるということがあらかじめ定められており、ここではその判定処理を行うべきタイミングであるかが判定される。このとき、判定部２０２は、計時部の機能、すなわち画像表示部１０７によって所定の周期（例えば１／６０秒）で行われる垂直同期の回数を数えることで、現在が所定の判定タイミングであるかを判定する。
【０１１３】
現在が所定の判定タイミングでない場合（ステップＳ１０４；ＮＯ）、処理はステップＳ１０３へと戻り、図１０のフローチャートにて説明された表示・撮影処理に再び移行する。すなわち、ステップＳ１０４でＮＯと判定される限り、ゲーム装置２００は、仮想空間３００内のオブジェクト３０１を設定して、その画像を生成・表示することでゲームを進行させ、あわせてゲームをしているユーザ５５０の様子を撮影・記録する処理を繰り返し続ける。
【０１１４】
一方で、現在が所定の判定タイミングである場合（ステップＳ１０４；ＹＥＳ）、処理はステップＳ１０５へと移行し、判定部２０２が、ユーザ５５０に立体視させてよいか、を判定する（ステップＳ１０５）。具体的に本実施形態では、ここで上述したステップＳ２０５にて蓄積されたユーザ５５０の様子を表す撮影結果画像６００を用いる。そして、上記図６（ｂ）のように、撮影結果画像６００内のユーザ５５０の瞳５５２の位置変化６０１が所定の範囲内か否かを判定する。
【０１１５】
立体視させてよいと判定された場合（ステップＳ１０５；ＹＥＳ）、すなわち、撮影結果画像６００内のユーザ５５０の瞳５５２の位置変化６０１が所定の範囲内であった場合、処理はステップＳ１０３へと戻り、ゲーム装置２００は、引き続き仮想空間３００内のオブジェクト３０１を表す画像の生成・表示し、そしてそれを見ているユーザ５５０を撮影する。ここでは、ステップＳ１０２において２個の視点３０２を離間させているので、立体視画像が生成・表示されて、ユーザ５５０に提示され続けることになる。
【０１１６】
一方で、立体視させてよいと判定されなかった場合（ステップＳ１０５；ＮＯ）、すなわち、撮影結果画像６００内のユーザ５５０の瞳５５２の位置変化６０１が所定の範囲を超えていた場合、処理はステップＳ１０６へと移行し、平面視画像を生成・表示する処理に入る。
【０１１７】
このとき、まずゲーム装置２００は、それまで仮想空間３００内において離間して配置されていた左視点３０２Ｌと右視点３０２Ｒとを重ねる（ステップＳ１０６）。具体的には、図７に示されたように、左視点３０２Ｌと右視点３０２Ｒとの間の距離を縮めて、同じ位置からオブジェクト３０１を見るようにする。
【０１１８】
この状態で、ゲーム装置２００の処理は、ステップＳ１０３と同様の表示・撮影処理に移行する（ステップＳ１０７）。すなわち、上述した図１０におけるフローチャートと同様の処理を行う。一方で、ここではステップＳ１０３のときとは異なり、仮想空間３００内の左視点３０２Ｌと右視点３０２Ｒとは同じ位置に重ねられているので、ステップＳ２０２において生成される左視点画像４００Ｌと右視点画像４００Ｒは、上記図８のように、同一の画像（平面視画像）になる。そのため、表示部２０４によって表示された画像を見ているユーザ５５０は、平面視によってモニタ１１１を見ることになる。
【０１１９】
その後、ゲーム装置２００の処理は、ステップＳ１０８へと移行し、判定部２０２が、再度、立体視させるかを判定する（ステップＳ１０８）。すなわち、ここでのゲーム装置２００の状況は、それまでユーザ５５０に立体視画像を提示していた状態から平面視画像を提示する状態へと一旦移行した後であるが、このステップＳ１０８では、再び立体視画像を提示する状態へと移行する必要があるかを、判定部２０２が判定する。このとき、判定部２０２は、上述したステップＳ１０５における判定処理と同様に、撮影部２０１によって撮影された撮影結果画像６００を用いて、ユーザ５５０の瞳５５２の位置変化６０１が所定の範囲内か否かを基準として、判定する。
【０１２０】
再度、立体視させると判定されなかった場合（ステップＳ１０８；ＮＯ）、処理はステップＳ１０７へと戻り、表示・撮影処理を再度行う。すなわち、ここでＮＯと判定されている限り、ゲーム装置２００は引き続き平面視画像をユーザ５５０へ提示し続ける。
【０１２１】
一方で、再度、立体視させると判定された場合（ステップＳ１０８；ＹＥＳ）、ゲーム装置２００は、上述したステップＳ１０２と同様、仮想空間３００内に配置される左視点３０２Ｌと右視点３０２Ｒとを離間させる（ステップＳ１０９）。すなわち、立体視画像を生成・表示するために、それまで仮想空間３００内に重ねられて配置されていた２個の視点３０２を、所定の距離Ｌだけ離して配置する。
【０１２２】
この後、ゲーム装置２００の処理はステップＳ１０３へと戻る。すなわち、生成部２０３が仮想空間３００内の様子を表す立体視画像を生成し、表示部２０４が立体視画像をモニタ１１１に表示することで、ユーザ５５０へ提示する。
【０１２３】
このような構成によって、本実施形態におけるゲーム装置２００は、モニタ１１１を見ているユーザ５５０の瞳５５２の位置変化６０１の値が所定の範囲を超えたか否かに基づいて、ユーザ５５０に立体視画像もしくは平面視画像を提示する。その結果、ユーザ５５０は、立体視が可能な位置からモニタ１１１を見ている状態にあるときは、立体視画像を見ることができ、立体視できない位置からモニタ１１１を見ている状態にあるときは、平面視画像を、すなわち不必要に立体視画像を見ずにモニタ１１１を見ることができる。
【０１２４】
（実施形態２）
次に、本発明の実施形態２について説明する。実施形態１では、判定部２０２が、ユーザ５５０の瞳５５２の位置変化６０１の大きさに基づいて、ユーザ５５０が立体視可能な位置からモニタ１１１を見ているか否かを判定し、そして当該ユーザ５５０に立体視画像を提示すべきか否かを判定した。
【０１２５】
それに対して本実施形態では、判定部２０２が、ユーザ５５０の瞳５５２の位置変化６０１の大きさではなく、ユーザ５５０の瞳５５２の位置変化６０１と仮想空間３００内のオブジェクト３０１の位置の変化との連動の度合に基づいて、ユーザ５５０が立体視しているか否かを判定し、そして当該ユーザ５５０に以降も立体視画像を提示すべきか否かを判定する。以下に詳細を説明する。
【０１２６】
ここでは説明のため、実施形態１と同様に、上記図３において示されたような仮想空間３００が、ゲーム装置２００の記憶部に用意されたとする。すなわち、図３のように、仮想空間３００内に球状のオブジェクト３０１ａと角柱状のオブジェクト３０１ｂが配置され、その様子を、２個の視点３０２Ｌ，３０２Ｒが撮影している状態を考える。この状態において、本実施形態では、角柱状のオブジェクト３０１ｂが仮想空間３００内を移動する。
【０１２７】
図１１は、本実施形態に係る仮想空間３００内において、オブジェクト３０１ｂが移動している様子を示す図である。本図は、上記図３において示された仮想空間３００内の様子を真上から見たものであり、並べて配置された球状のオブジェクト３０１ａと角柱状のオブジェクト３０１ｂに対して、角柱状のオブジェクト３０１ｂの手前側に２個の視点３０２Ｌ，３０２Ｒが、互いに所定の距離Ｌだけ離間して配置されている。
【０１２８】
ここで本図では、角柱状のオブジェクト３０１ｂは、移動軌跡７０１に沿って移動する。すなわち、球状のオブジェクト３０１ａは、仮想空間３００内の所定の位置に固定されているのに対して、角柱状のオブジェクト３０１ｂは、視点３０２Ｌ，３０２Ｒから見て奥行き方向への周期的な位置変化を伴いながら、左から右へ、移動軌跡７０１に沿って移動している。
【０１２９】
本実施形態では、このような移動しているオブジェクト３０１ｂの様子を、２個の視点３０２Ｌ，３０２Ｒによって撮影された画像を生成部２０３が生成し、表示部２０４が実施形態１と同様視差バリア方式によりモニタ１１１に表示することで、ユーザ５５０に立体視画像を提示する。モニタ１１１を見ているユーザ５５０は、モニタ１１１内で停止している球状のオブジェクト３０１ａと、モニタ１１１内を移動している角柱状のオブジェクト３０１ｂとの様子を見ることができる。
【０１３０】
このとき、本実施形態におけるゲーム装置２００は、ユーザ５５０が正しく立体視できているかを確認するために、奥行き方向に周期的に運動している角柱状のオブジェクト３０１ｂを利用する。具体的には、以下の図１２に示すように、角柱状のオブジェクト３０１ｂについて、生成される立体視画像において当該オブジェクト３０１ｂが描画される領域の大きさが略一定となるように、奥行き方向の位置変化に基づいて当該オブジェクト３０１ｂの大きさも変化させながら、移動軌跡７０１に沿って移動させる。
【０１３１】
図１２は、本実施形態に係る仮想空間３００内において、描画される領域の大きさが略一定になるように、オブジェクト３０１ｂが移動している様子を示す図である。本図は上記図１１と同様に、仮想空間３００内に固定されたオブジェクト３０１ａと移動軌跡７０１に沿って移動しているオブジェクト３０１ｂとの様子を真上から見た図であるが、上記図１１よりも時間が進んだときの様子を表している。すなわち、角柱状のオブジェクト３０１ｂは、図１１では視点３０２Ｌ，３０２Ｒに対して最も奥の位置（本図の点線で表示した部分）にあったが、本図では移動軌跡７０１に沿って移動し、視点３０２Ｌ，３０２Ｒに対して最も手前の位置にまで達している。
【０１３２】
このとき、手前の位置に移動した角柱状のオブジェクト３０１ｂは、奥に位置していたときに比べて、その大きさが縮小される。すなわち、本実施形態におけるゲーム装置２００は、オブジェクト３０１ｂが視点３０２Ｌ，３０２Ｒに近づくと、オブジェクト３０１ｂの大きさを相対的に縮小させ、反対にオブジェクト３０１ｂが視点３０２Ｌ，３０２Ｒから遠ざかったときは、オブジェクト３０１ｂの大きさを相対的に増大させる。このとき、ゲーム装置２００は、視点３０２Ｌ，３０２Ｒの位置からの距離に比例した大きさとなるように、あらかじめオブジェクト３０１ｂの大きさの変化の度合を定めておくことで、生成される画像において描画されるオブジェクト３０１ｂの大きさが略一定にする。
【０１３３】
図１３は、このようにオブジェクト３０１ｂが大きさを変化させながら移動している状態において生成された左視点画像４００Ｌと右視点画像４００Ｒを示す図である。とくに、本図（ａ）は、上記図１１におけるオブジェクト３０１ａ，３０１ｂを左視点３０２Ｌおよび右視点３０２Ｒが撮影したものに対応し、一方で本図（ｂ）は、上記図１２におけるオブジェクト３０１ａ，３０１ｂを左視点３０２Ｌおよび右視点３０２Ｒが撮影したものに対応する。
【０１３４】
すなわち、角柱状のオブジェクト３０１ｂは、視点３０２Ｌ，３０２Ｒから見て左から右へ移動ながら、視点３０２Ｌ，３０２Ｒに対し、図１１では相対的に奥側に、図１２では相対的に手前側に、それぞれ位置していた。そのため、本図（ａ）の左視点画像４００Ｌと右視点画像４００Ｒにおける角柱状のオブジェクト３０１ｂは、本図（ｂ）の左視点画像４００Ｌと右視点画像４００Ｒにおける角柱状のオブジェクト３０１ｂに比べて、相対的に小さな視差で表示されている。なお、本図では説明を明瞭にする目的で強調して示しているため、左視点画像４００Ｌと右視点画像４００Ｒとが、オブジェクト３０１ａ，３０１ｂを大きく異なる角度から見たものとして表示されているが、実際には左視点画像４００Ｌと右視点画像４００Ｒとで本図ほど視差が大きくはならないと考えられる。
【０１３５】
このとき、上記図１２にて示されたように、オブジェクト３０１ｂは、視点３０２Ｌ，３０２Ｒに対して手前の位置になるほどその大きさを相対的に小さくされるため、オブジェクト３０１ｂの大きさは、本図（ａ）から本図（ｂ）にかけて、略一定に保たれている。そのため、このような左視点画像４００Ｌと右視点画像４００Ｒ（立体視画像）を提示されたユーザ５５０は、正しく立体視できていないと、オブジェクト３０１ｂが奥行き方向に周期的に運動していることを捉えられず、単にオブジェクト３０１ｂは左から右へ、その大きさを変化させずに移動しているかのように認識してしまう。
【０１３６】
一方で、正しく立体視できているユーザ５５０は、オブジェクト３０１ｂの奥行き方向への周期的な運動を捉えるために、本図（ａ）と本図（ｂ）との間の視差の変化を目で追うことになる。具体的には、以下の図１４のように、両目の焦点を遠ざけて見ることと、両目の焦点を近づけて見ることとを、交互に繰り返すことになる。
【０１３７】
図１４は、このような視差の大小が変化する立体視画像が提示されたときの、ユーザ５５０の瞳５５２の位置変化６０１の様子を示す図である。本図は上記図６において示された撮影結果画像６００と同様に、モニタ１１１を見ているユーザ５５０の様子を、撮影部２０１がカメラ１１２を用いて撮影して取得した画像であって、撮影された撮影結果画像６００内には、ユーザ５５０の顔５５３を正面から見た様子、すなわち、当該ユーザ５５０の顔５５３の輪郭５５４内に、左目５５１Ｌや右目５５１Ｒ、そしてそれらの中の瞳５５２、などの様子が表示されている。なお、ここで瞳５５２とは、実施形態１と同様、瞳孔とその周囲の虹彩を含めた部分のことであってもよいし、瞳孔そのものであってもよい。
【０１３８】
とくに、本図（ａ）は、上記図１３（ａ）のような相対的に小さな視差を、対して本図（ｂ）は、上記図１３（ｂ）のような相対的に大きな視差を、それぞれつけられた左視点画像４００Ｌと右視点画像４００Ｒ（立体視画像）を提示されたときに、立体視をしているユーザ５５０の様子が撮影されたものである。相対的に小さな視差をつけられた立体視画像を見ているユーザ５５０は、両目の焦点を遠ざけて見るため、本図（ａ）のように左目５５１Ｌの瞳５５２と右目５５１Ｒの瞳５５２とが相対的に離れる。その一方で、相対的に大きな視差をつけられた立体視画像を見ているユーザ５５０は、両目の焦点を近づけて見るため、本図（ｂ）のように左目５５１Ｌの瞳５５２と右目５５１Ｒの瞳５５２とが相対的に近づく、すなわちいわゆる寄り目の状態になる。
【０１３９】
このように、奥行き方向に周期的に運動しながら左から右へ移動しているオブジェクト３０１ｂの様子が表示された立体視画像を正しく立体視して見ているユーザ５５０は、左目５５１Ｌの瞳５５２と右目５５１Ｒの瞳５５２とを遠ざけたり近づけたりする位置変化６０１を繰り返すことになる。すなわち、撮影部２０１によって撮影された撮影結果画像６００は、本図（ａ）と本図（ｂ）のような状態が交互に繰り返されることになる。一方で、正しく立体視できていないユーザ５５０にとっては、提示された立体視画像内で大きさが略一定に保たれたオブジェクト３０１ｂが左から右へ移動しているだけに見えるので、左目５５１Ｌの瞳５５２と右目５５１Ｒの瞳５５２の位置変化６０１は、オブジェクト３０１ｂの奥行き方向への周期的な運動とは無関係なものとなる。
【０１４０】
そのため、本実施形態では、判定部２０２が、撮影結果画像６００のユーザ５５０の姿のうち瞳５５２の位置変化６０１に着目し、当該瞳５５２の位置変化６０１とオブジェクト３０１ｂの奥行き方向の位置変化との連動の度合に基づいて、ユーザ５５０に以降も立体視画像を提示すべきか否かを判定する。ここで連動の度合とは、オブジェクト３０１ｂの位置とユーザ５５０の瞳５５２の位置とがどの程度連動して変化したか、すなわち、どの程度一方が他方に影響を受け、追従するように変化したか、を示す指標である。判定部２０２は、撮影部２０１によって所定のタイミングごとに撮影される撮影結果画像６００をＲＡＭ  １０３等の記憶部に蓄積しておき、蓄積された撮影結果画像６００の履歴から瞳５５２の位置変化６０１を時系列順に取得して、そのときのオブジェクト３０１ｂの奥行き方向の周期的な運動と比較することで、連動の度合を求める。
【０１４１】
このような連動の度合を求めるため、具体的に判定部２０２は、ユーザ５５０の瞳５５２の位置変化６０１と、オブジェクト３０１ｂの奥行き方向の運動の軌跡とを、それぞれフーリエ変換を施すことで周波数成分をそれぞれ抽出し、抽出された周波数同士を比較する。その結果、抽出された主な周波数成分同士の差が所定の範囲内に収まっていれば、判定部２０２は、ユーザ５５０が立体視できていると推測し、以降もユーザ５５０に立体視画像を提示すべきと判定する。一方で、抽出された周波数同士の差が所定の範囲内に収まっていなければ、判定部２０２は、ユーザ５５０が立体視できていないと推測し、以降はユーザ５５０に立体視画像の提示をやめて、平面視画像を提示すべきと判定する。
【０１４２】
このように、本実施形態におけるゲーム装置２００は、奥行き方向への周期的な運動を伴った移動をするオブジェクト３０１の様子を表示した立体視画像を、必要に応じてユーザ５５０に提示する。そして、判定部２０２が以降もユーザ５５０に立体視画像を提示すべきか否かを判定する。
【０１４３】
ここまで説明した本実施形態における処理の流れは、実施形態１の処理の流れを説明するのに参照された図９および図１０のフローチャートとほぼ同様なので、以下、図９および図１０を参照しながら本実施形態における処理の流れをまとめて、説明する。
【０１４４】
まず図９を参照して、本処理が開始されると、ゲーム装置２００の処理は、各種の初期化処理（ステップＳ１０１）を経た後、仮想空間３００内に配置される左視点３０２Ｌと右視点３０２Ｒとを離間させ（ステップＳ１０２）、その状態で表示・撮影処理（ステップＳ１０３）、すなわち、立体視画像を表示する処理へ移行する。
【０１４５】
ここで、図１０に示されたフローチャートへ移行し、まずゲーム装置２００は、仮想空間３００内に配置されたオブジェクト３０１の位置や大きさを設定する（ステップＳ２０１）。すなわち、ゲーム装置２００は、ゲームを構成するために仮想空間３００内に配置された様々なオブジェクト３０１を変化させながらゲームを進行させるが、本実施形態ではここで必要に応じて、上記図１１および図１２のように、立体視画像においてオブジェクト３０１が描画される領域の大きさが略一定となるように当該オブジェクト３０１の大きさを変化させながら、移動経路７０１のような奥行き方向への周期的な運動を伴った位置変化をさせる。このとき、オブジェクト３０１の位置変化の履歴を記憶部に蓄積しておき、後述するステップＳ１０５にて使用する。
【０１４６】
このように位置・大きさの変化するオブジェクト３０１について、生成部２０３が、仮想空間３００内のオブジェクト３０１を表す画像を生成し（ステップＳ２０２）、表示部２０４が、所定の周期ごとに行われる垂直同期のタイミングを待って、生成された画像を画面に表示する（ステップＳ２０３）。そして、撮影部２０１が、モニタ１１１を見るユーザ５５０を撮影し（ステップＳ２０４）、取得された撮影結果画像６００の履歴を蓄積する（ステップＳ２０５）。
【０１４７】
そして再び図９へと戻り、ゲーム装置２００は、現在が所定の判定タイミングであるか、を判定する（ステップＳ１０４）。現在が所定の判定タイミングでない場合（ステップＳ１０４；ＮＯ）、処理はステップＳ１０３へと戻り、表示・撮影処理を繰り返す。
【０１４８】
一方で、現在が所定の判定タイミングである場合（ステップＳ１０４；ＹＥＳ）、判定部２０２が、ユーザ５５０に立体視させてよいか、を判定する（ステップＳ１０５）。ここで本実施形態では、判定部２０２は、上述したステップＳ２０５にて蓄積されたユーザ５５０の様子を表す撮影結果画像６００を用い、ステップＳ２０１におけるオブジェクト３０１の位置変化と比較する。そして、ユーザ５５０の瞳５５２の位置変化６０１と、オブジェクト３０１の位置変化と、の連動の度合に基づいて、ユーザ５５０に以降も立体視画像を提示すべきか否かを判定する。
【０１４９】
立体視させてよいと判定された場合（ステップＳ１０５；ＹＥＳ）、すなわち、撮影結果画像６００内のユーザ５５０の瞳５５２の位置変化６０１とオブジェクト３０１の位置変化との連動の度合が所定の条件を満たした場合、処理はステップＳ１０３へと戻り、立体視画像の表示とユーザ５５０の撮影処理を繰り返す。
【０１５０】
一方で、立体視させてよいと判定されなかった場合（ステップＳ１０５；ＮＯ）、すなわち、撮影結果画像６００内のユーザ５５０の瞳５５２の位置変化６０１とオブジェクト３０１の位置変化との連動の度合が所定の条件を満たさなかった場合、判定部２０２は、ユーザ５５０に立体視画像を提示すべきでないと判定する処理へ移行する。すなわち、ゲーム装置２００の処理は、それまで仮想空間３００内において離間して配置されていた左視点３０２Ｌと右視点３０２Ｒとを重ね（ステップＳ１０６）、その状態でステップＳ１０３と同様の表示・撮影処理（ステップＳ１０７）に移行する。すなわち、ゲーム装置２００は、平面視画像をユーザ５５０に提示し、そのユーザ５５０を撮影する処理を行う。
【０１５１】
その後、判定部２０２は、再度、立体視させるかを判定する（ステップＳ１０８）。すなわち、本実施形態では、上記ステップＳ１０６〜Ｓ１０７にて平面視画像をユーザ５５０へ提示した後、以降そのまま平面視画像を提示し続けるのではなく、例えば１０分間といった所定の時間が経過した後は、再び立体視画像をユーザ５５０に提示する状態へと移行する。そのため、ここでは所定の時間が経過したか否かを、計時部の機能、すなわち画像表示部１０７によって所定の周期（例えば１／６０秒）で行われる垂直同期の回数を数えることで、判定部２０２が判定する。
【０１５２】
ここで、再度、立体視させると判定されなければ（ステップＳ１０８；ＮＯ）、処理はステップＳ１０７へと戻り、平面視画像での表示・撮影処理を繰り返し続ける。一方で、再度、立体視させると判定された場合（ステップＳ１０８；ＹＥＳ）、ゲーム装置２００は、上述したステップＳ１０２と同様、仮想空間３００内に配置される左視点３０２Ｌと右視点３０２Ｒとを離間させ（ステップＳ１０９）、処理はステップＳ１０３へと戻る。すなわち、ゲーム装置２００の処理は、立体視画像をユーザ５５０に提示する処理へと戻る。
【０１５３】
このような構成によって、本実施形態におけるゲーム装置２００は、ユーザ５５０の瞳５５２の位置変化６０１と仮想空間３００内のオブジェクト３０１の位置の変化との連動の度合に基づいて、ユーザ５５０に立体視画像もしくは平面視画像を提示する。その結果、立体視画像を提示されているにもかかわらず、目が慣れていない、あるいは目の疲労などによって、ユーザ５５０が立体視できていない状態にあるときは、不必要に立体視画像せずに、平面視画像に切り替えて提示することができる。
【０１５４】
（他の実施形態）
以上、本発明の実施の形態について説明したが、本発明は、上述した実施形態に限定されず、種々の変形および応用が可能である。また、上述した実施形態の各構成要素を自由に組み合わせることも可能である。
【０１５５】
例えば、上記実施形態においては、画面（モニタ１１１）とユーザ５５０との間の所定の位置に、所定の幅と間隔で縦縞状に切れ込み（隙間）が入れられた複数のスリット５０３を有するフィルム５０２を用意することで、立体的な画像を実現した。しかし、立体画像を実現する方法はこれに限られない。
【０１５６】
例えば、画面（モニタ１１１）とユーザ５５０との間に配置されるフィルム５０２に換えて、レンチキュラーレンズシートと呼ばれるかまぼこ状のレンズが並んだシートを重畳したモニタ１１１を用いてもよい。すなわち、当該レンズが所定の幅と間隔で並べて配置されたシートを、モニタ１１１から所定の距離だけ離れた位置に配置することで、ユーザ５５０に立体視させるようにしてもよい。
【０１５７】
レンチキュラーレンズシートを用いる場合も、フィルム５０２を用いる場合と同様に、表示部２０４は、左視点画像４００Ｌと右視点画像４００Ｒとをモニタ１１１内に縦に１ラインずつ交互に表示する。すなわち、所定の左基準位置から当該シートを介して見えるモニタ１１１内の領域に左視点画像４００Ｌを表示し、所定の右基準位置から当該シートを介して見えるモニタ１１１内の領域に右視点画像４００Ｒを表示する。これにより、当該シートを介してモニタ１１１を見ているユーザ５５０は、左目５５１Ｌで左視点画像４００Ｌを、右目５５１Ｒで右視点画像４００Ｒを、それぞれ見ることになり、あたかも仮想空間３００内の様子を２個の異なる視点３０２から立体的に見ているようになる。
【０１５８】
あるいは、交互に左右のシャッタを開閉する液晶シャッタメガネを用いる方式を利用してもよい。すなわち、画面（モニタ１１１）とユーザ５５０との間に配置されるフィルム５０２に換えて、ユーザ５５０が液晶シャッタを備えたメガネをかけることで、ユーザ５５０に立体視させるようにしてもよい。この場合、表示部２０４は、メガネのシャッタを開閉する周期にあわせて、左視点画像４００Ｌと右視点画像４００Ｒを交互にモニタ１１１へ出力する。これにより、ユーザ５５０は、左目５５１Ｌで左視点画像４００Ｌを、右目５５１Ｒで右視点画像４００Ｒを、それぞれ見ることになり、あたかも仮想空間３００内の様子を２個の異なる視点３０２から立体的に見ているようになる。
【０１５９】
また、実施形態１では、判定部２０２は、撮影結果画像６００内のユーザ５５０の姿のうち、ユーザ５５０の瞳５５２、すなわち左目５５１Ｌおよび右目５５１Ｒ内の虹彩部分や瞳孔部分に着目して、その位置変化６０１の範囲が所定の範囲内である場合に立体視画像を提示すべきと判定した。しかし、これに限られず、撮影結果画像６００内のユーザ５５０の姿のうち、様々な情報を判定基準とすることができる。
【０１６０】
例えば、判定部２０２は、ユーザ５５０の瞳５５２ではなく、ユーザ５５０の顔５５３の輪郭５５４に着目してもよい。すなわち、判定部２０２は、撮影結果画像６００内に表示されたユーザ５５０の顔５５３の輪郭５５４の位置（顔５５３全体の位置）が、時間の経過とともにどのくらい変化したかを取得して、立体視画像を提示すべき基準としてもよい。
【０１６１】
顔５５３の輪郭５５４の位置が大きく変化したということは、ユーザ５５０は正しく立体視できる位置からモニタ１１１を見ていない可能性が高い。すなわち、ユーザ５５０の左目５５１Ｌがモニタ１１１に表示された左視点画像４００Ｌを見える位置（左基準位置５０４Ｌ）から、そして右目５５１Ｒが右視点画像４００Ｒを見える位置（右基準位置５０４Ｒ）から離れてしまい、ユーザ５５０が正しく立体視できていない可能性が高い。そのためここでは、判定部２０２は、顔５５３の輪郭５５４の位置の変化が所定の範囲内である場合に立体視画像を提示すべきと判定し、所定の範囲を超えて変化している場合には、平面視画像を提示すべきと判定する。
【０１６２】
このような構成によって、判定部２０２は、実施形態１でのように直接ユーザ５５０の瞳５５２の位置の変化を調べなくても、ユーザ５５０の顔５５３の輪郭５５４の位置の変化に基づいて、ユーザ５５０が立体視できる位置からモニタ１１１を見ているかの判定が可能となる。
【０１６３】
また別の例として、判定部２０２は、ユーザ５５０の瞳５５２の位置の変化ではなく、瞳５５２の大きさの変化に着目してもよい。すなわち、判定部２０２は、撮影結果画像６００内に表示されたユーザ５５０の瞳５５２の大きさが、時間の経過とともにどのくらい変化したかを取得して、立体視画像を提示すべき基準としてもよい。あるいはまた、瞳５５２の大きさの変化に換えて、顔５５３の輪郭５５４の大きさの変化に着目し、立体視画像を提示すべき基準としてもよい。
【０１６４】
瞳５５２や顔５５３の輪郭５５４の大きさが大きく変化したということは、ユーザ５５０がモニタ１１１に対して近づいた、あるいは、遠ざかった位置に移動したと考えられ、ユーザ５５０は正しく立体視できる位置からモニタ１１１を見ていない可能性が高い。そのためここでは、判定部２０２は、ユーザ５５０の瞳５５２や顔５５３の輪郭５５４の大きさの変化が所定の範囲内である場合に立体視画像を提示すべきと判定し、所定の範囲を超えて変化している場合には、平面視画像を提示すべきと判定する。
【０１６５】
なお、このとき着目されうる瞳５５２もまた、上記実施形態と同様、瞳孔とその周囲の虹彩を含めた部分のことであってもよいし、瞳孔そのものであってもよい。ここで瞳孔は、そのユーザの周囲の環境、特に明るさの程度に応じて大きくなったり小さくなったりといった変化をしうるものであるが、一般的にユーザがゲームをプレイしている間に周囲の環境が大きく変動することは少ないことが想定されるため、瞳孔そのものが判定として用いられる場合にも、周囲の環境による瞳孔の大きさの変化が当該判定に与える影響は少ないものと考えられる。
【０１６６】
このような構成によって、判定部２０２は、モニタ１１１に対するユーザ５５０の奥行き方向の位置の変化に基づいて、ユーザ５５０が立体視できる位置からモニタ１１１を見ているかの判定が可能となる。
【０１６７】
さらに別の例として、判定部２０２は、ユーザ５５０の瞳５５２の位置の変化の値ではなく、変化の周期に着目してもよい。すなわち、判定部２０２は、撮影結果画像６００内に表示されたユーザ５５０の瞳５５２の位置変化６０１に対して、フーリエ変換を施すなどで瞳５５２の位置変化６０１の周期を取得して、立体視画像を提示すべき基準としてもよい。
【０１６８】
通常、モニタ１１１を見ているユーザ５５０の瞳５５２は、一方向に向けられて固定されておらず、モニタ１１１に表示される画像に応じるなどによって、様々な方向に向けられ激しく動き回っている。一方で、モニタ１１１を長時間見続けるなどにより、ユーザ５５０の目に疲労が溜まってくると、瞳５５２の動きは徐々に鈍くなってくると考えられる。このようなユーザ５５０の目の動きの激しさの指標として、判定部２０２は、撮影結果画像６００内の瞳５５２の位置の変化の周期を用い、周期が所定の範囲内である場合（目が激しく動き回っている場合）に立体視画像を提示すべきと判定し、所定の範囲内でない場合（目の動きが鈍くなっている場合）には、平面視画像を提示すべきと判定する。
【０１６９】
このような構成によって、判定部２０２は、目に疲労の溜まってきたユーザ５５０に対して、目に負担のかかりやすい立体視画像を提示し続けるのではなく、平面視画像を提示すべきと判定することができる。
【産業上の利用可能性】
【０１７０】
以上説明したように、本発明は、仮想空間内に配置されたオブジェクトをユーザに提示する際に、立体視させるか平面視させるかを適切に切り換えるのに好適なゲーム装置、ゲーム装置の制御方法、ならびに、プログラムを提供することができる。
【符号の説明】
【０１７１】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェース
１０５  コントローラ
１０６  外部メモリ
１０７  画像処理部
１０８  ＤＶＤ−ＲＯＭドライブ
１０９  ＮＩＣ
１１０  音声処理部
１１１  モニタ
１１２  カメラ
２００  ゲーム装置
２０１  撮影部
２０２  判定部
２０３  生成部
２０４  表示部
３００  仮想空間
３０１（３０１ａ，３０１ｂ）  オブジェクト
３０２（３０２Ｌ，３０２Ｒ）  視点
４００Ｌ  左視点画像
４００Ｒ  右視点画像
５０１（５０１Ｌ，５０１Ｒ）  表示領域
５０２  フィルム
５０３  スリット
５０４Ｌ  左基準位置
５０４Ｒ  右基準位置
５５０  ユーザ
５５１Ｌ  左目
５５１Ｒ  右目
５５２  瞳
５５３  顔
５５４  輪郭
６００  撮影結果画像
６０１  位置変化
７０１  移動軌跡
【図１】
0005485221.tif 000002
【図２】
0005485221.tif 000003
【図３】
0005485221.tif 000004
【図４】
0005485221.tif 000005
【図５】
0005485221.tif 000006
【図６】
0005485221.tif 000007
【図７】
0005485221.tif 000008
【図８】
0005485221.tif 000009
【図９】
0005485221.tif 000010
【図１０】
0005485221.tif 000011
【図１１】
0005485221.tif 000012
【図１２】
0005485221.tif 000013
【図１３】
0005485221.tif 000014
【図１４】
0005485221.tif 000015