(57)【特許請求の範囲】
【請求項１】
立体視表示が可能な表示装置を制御するための表示制御プログラムであって、前記表示装置のコンピュータを、
左目用画像および右目用画像を前記表示装置に出力する画像出力手段と、
オブジェクトを前記表示装置に表示した場合に生じる視差を算出する視差算出手段と、
前記算出された視差に応じて、表示されているオブジェクトを表示範囲外へ移動させる、および、表示されていないオブジェクトを表示範囲内へ移動させる、の少なくとも一方を行なう移動表示手段として機能させる、表示制御プログラム。
【請求項２】
前記移動表示手段は、表示されているオブジェクトに生じる視差が第１条件を満たしたことに応答して、当該オブジェクトを表示範囲外へ移動させ、表示されていないオブジェクトが前記表示装置に表示されれば生じる視差が前記第１条件とは異なる第２条件を満たしたことに応答して、当該オブジェクトを表示範囲内へ移動させる、請求項１に記載の表示制御プログラム。
【請求項３】
前記移動表示手段は、
仮想空間内に配置されたオブジェクトを一対の仮想カメラで撮像することで前記左目用画像および前記右目用画像を生成する画像生成手段と、
前記仮想空間内に配置された前記オブジェクトと前記一対の仮想カメラとの間の相対的な位置関係を更新する位置関係更新手段とを含む、請求項１または２に記載の表示制御プログラム。
【請求項４】
前記移動表示手段は、前記仮想空間内において前記一対の仮想カメラを含む平面である基準面から前記オブジェクトまでの距離を所定値と比較することで、表示されているオブジェクトを表示範囲外へ移動させるか、または、表示されていないオブジェクトを表示範囲内へ移動させるかを行なう、請求項３に記載の表示制御プログラム。
【請求項５】
前記移動表示手段は、前記基準面から前記オブジェクトまでの距離が第１所定値以下である場合に、表示されているオブジェクトを表示範囲外へ移動させ、前記基準面から前記オブジェクトまでの距離が前記第１所定値とは異なる第２所定値以上である場合に、表示されていないオブジェクトを表示範囲内へ移動させる、請求項４に記載の表示制御プログラム。
【請求項６】
前記第２所定値は、前記第１所定値より大きい、請求項５に記載の表示制御プログラム。
【請求項７】
前記移動表示手段は、移動中のオブジェクトに生じる視差を実質的に維持するように、前記オブジェクトを移動させる、請求項４〜６のいずれか１項に記載の表示制御プログラム。
【請求項８】
前記位置関係更新手段は、前記仮想空間内において、前記基準面に平行な向きにオブジェクトを移動させることで、オブジェクトを移動表示させる、請求項７に記載の表示制御プログラム。
【請求項９】
前記移動表示手段は、オブジェクトを徐々に移動させる、請求項１〜８のいずれか１項に記載の表示制御プログラム。
【請求項１０】
前記移動表示手段は、前記表示装置の表示面におけるオブジェクトの表示位置に応じて、オブジェクトを移動させる向きを異ならせる、請求項１〜９のいずれか１項に記載の表示制御プログラム。
【請求項１１】
前記移動表示手段は、オブジェクトの表示位置から表示範囲外までの距離に応じて、オブジェクトを移動させる向きを異ならせる、請求項１〜９のいずれか１項に記載の表示制御プログラム。
【請求項１２】
前記移動表示手段は、オブジェクトの表示位置から表示範囲外までの移動距離が最も短くなる向きに、オブジェクトを移動させる、請求項１１に記載の表示制御プログラム。
【請求項１３】
立体視表示が可能な表示部と、
左目用画像および右目用画像を前記表示部に出力する画像出力手段と、
オブジェクトを前記表示部に表示した場合に生じる視差を算出する視差算出手段と、
前記算出された視差に応じて、表示されているオブジェクトを表示範囲外へ移動させる、および、表示されていないオブジェクトを表示範囲内へ移動させる、の少なくとも一方を行なう移動表示手段とを備える、表示装置。
【請求項１４】
立体視表示が可能な表示装置のコンピュータで実行される表示制御方法であって、
左目用画像および右目用画像を前記表示装置に出力する画像出力ステップと、
オブジェクトを前記表示装置に表示した場合に生じる視差を算出する視差算出ステップと、
前記算出された視差に応じて、表示されているオブジェクトを表示範囲外へ移動させる、および、表示されていないオブジェクトを表示範囲内へ移動させる、の少なくとも一方を行なう移動表示ステップとを備える、表示制御方法。
【請求項１５】
立体視表示が可能な表示部と、前記表示部での表示を制御するための制御主体とを備える表示システムであって、
左目用画像および右目用画像を前記表示部に出力する画像出力手段と、
オブジェクトを前記表示部に表示した場合に生じる視差を算出する視差算出手段と、
前記算出された視差に応じて、表示されているオブジェクトを表示範囲外へ移動させる、および、表示されていないオブジェクトを表示範囲内へ移動させる、の少なくとも一方を行なう移動表示手段とを備える、表示システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、立体視表示が可能な表示装置を制御するための表示制御プログラム、表示装置、表示システム、および、表示制御方法に関する。
【背景技術】
【０００２】
従来から、視差を有する２つの画像を用いて立体視表示を行なう方法が知られている。例えば、特開２００４−７３９６号公報（特許文献１）は、２つのカメラから得られる視差画像（左右画像）を、左右両目にそれぞれ与えることにより人工的に立体感を感じさせる技術を開示する。特許文献１に記載の発明では、ユーザの適正視差を読み込み、この適正視差に従って視差画像の視差を調整することにより、ユーザに適切な立体画像を生成または表示することができる。また、特許文献１に記載の発明では、立体表示がなされているときに、簡単な操作でその立体感を調整することもできる。
【０００３】
特許文献１に開示されるような視差画像を生成する典型的な方法としては、３次元仮想空間に表示すべきオブジェクトを配置するとともに、このオブジェクトを一対の仮想カメラで撮像する方法がある。このような方法を採用した場合、当該一対の仮想カメラがオブジェクトと相対的に近い場合には、ユーザ（観察者）から見れば、当該オブジェクトが表示面（ディスプレイ面）からより手前に飛び出して見える。すなわち、表示面におけるオブジェクトの視差が相対的に大きくなり、その結果、ユーザは、より強い立体感をもってオブジェクトを視認する。
【０００４】
特許文献１に記載の発明は、カメラに近い位置にあるオブジェクトの立体感を調整（すなわち、視差画像の視差を調整）することにより、オブジェクトが適正視差で視認されるようにしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−７３９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の特許文献１に開示されるように、オブジェクトの立体感（視差画像の視差）を調整すると、当該オブジェクトと仮想カメラとの間の相対的な位置関係によって定まる本来的な視差（立体感）とは異なる立体感でオブジェクトが表示されることになる。
【０００７】
そこで、この発明の主たる目的は、より自然な立体視表示を実現できる表示制御プログラム、表示制御装置、表示制御方法および表示制御システムを提供することである。
【課題を解決するための手段】
【０００８】
本発明の第１の局面に従えば、立体視表示が可能な表示装置を制御するための表示制御プログラムを提供する。表示制御プログラムは、表示装置のコンピュータを、左目用画像および右目用画像を表示装置に出力する画像出力手段と、オブジェクトを表示装置に表示した場合に生じる視差を算出する視差算出手段と、算出された視差に応じて、表示されているオブジェクトを表示範囲外へ移動させる、および、表示されていないオブジェクトを表示範囲内へ移動させる、の少なくとも一方を行なう移動表示手段として機能させる。
【０００９】
本発明の第１の局面によれば、それぞれのオブジェクトを本来的に発生すべき視差をもって立体視表示されるとともに、表示装置に表示した場合に生じる視差が所定条件となったオブジェクトについては、表示状態から非表示状態へ切り換え、または、非表示状態から表示状態へ切り換えられる。そのため、立体視表示されるオブジェクト間の立体感を自然に表現できる。
【００１０】
本発明の第２の局面に従えば、移動表示手段は、表示されているオブジェクトに生じる視差が第１条件を満たしたことに応答して、当該オブジェクトを表示範囲外へ移動させ、表示されていないオブジェクトが表示装置に表示されれば生じる視差が第１条件とは異なる第２条件を満たしたことに応答して、当該オブジェクトを表示範囲内へ移動させる。
【００１１】
本発明の第２の局面によれば、オブジェクトの表示／非表示に係る条件が異なるので、発生する視差が表示のための条件を満足するようになった場合には、一旦非表示に切り換えられたオブジェクトであっても、再度表示状態に切り換えられるため、よりスムーズな立体視表示も実現できる。
【００１２】
本発明の第３の局面に従えば、上述の第１または２の局面に従う発明において、移動表示手段は、仮想空間内に配置されたオブジェクトを一対の仮想カメラで撮像することで左目用画像および右目用画像を生成する画像生成手段と、仮想空間内に配置されたオブジェクトと一対の仮想カメラとの間の相対的な位置関係を更新する位置関係更新手段とを含む。
【００１３】
本発明の第３の局面によれば、オブジェクトを表示装置に表示した場合に生じる視差の制御を、仮想空間内におけるオブジェクトと一対の仮想カメラとの間の相対的な位置関係を調整することで実現できる。そのため、複数のオブジェクトを立体視表示する場合であっても、処理を簡素化できる。
【００１４】
本発明の第４の局面に従えば、上述の第３の局面に従う発明において、移動表示手段は、仮想空間内において一対の仮想カメラを含む平面である基準面からオブジェクトまでの距離を所定値と比較することで、表示されているオブジェクトを表示範囲外へ移動させるか、または、表示されていないオブジェクトを表示範囲内へ移動させるかを行なう。
【００１５】
本発明の第５の局面に従えば、上述の第４の局面に従う発明において、移動表示手段は、基準面からオブジェクトまでの距離が第１所定値以下である場合に、表示されているオブジェクトを表示範囲外へ移動させ、基準面からオブジェクトまでの距離が第１所定値とは異なる第２所定値以上である場合に、表示されていないオブジェクトを表示範囲内へ移動させる。
【００１６】
本発明の第６の局面に従えば、上述の第５の局面に従う発明において、第１所定値より大きい、請求項５に記載の表示制御プログラム。
【００１７】
本発明の第４〜６の局面によれば、表示されているオブジェクトを表示範囲外へ移動させて表示されていない状態にする処理と、表示されていないオブジェクトを表示されている状態にした上で当該オブジェクトの表示位置まで移動させる処理とが繰返し生じる事態を防止できる。
【００１８】
本発明の第７の局面に従えば、上述の第４〜６のいずれかの局面に従う発明において、移動表示手段は、移動中のオブジェクトに生じる視差を実質的に維持するように、オブジェクトを移動させる。
【００１９】
本発明の第７の局面によれば、移動中のオブジェクトについても自然に立体視表示できる。
【００２０】
本発明の第８の局面に従えば、上述の第７の局面に従う発明において、位置関係更新手段は、仮想空間内において、基準面に平行な向きにオブジェクトを移動させることで、オブジェクトを移動表示させる。
【００２１】
本発明の第８の局面によれば、仮想空間内において基準面に平行な向きにオブジェクトを移動させることで、移動中のオブジェクトに生じる視差を実質的に維持することができる。そのため、移動中のオブジェクトに生じる視差を逐次計算する必要がなく、処理を簡素化できる。
【００２２】
本発明の第９の局面に従えば、上述の第１〜８のいずれかの局面に従う発明において、移動表示手段は、オブジェクトを徐々に移動させる。
【００２３】
本発明の第９の局面によれば、一定の時間をかけてオブジェクトを表示範囲外に移動させることができる。したがって、オブジェクトをすぐに非表示にするのではなく、しばらくしてから非表示にするといった演出を行うことができる。
【００２４】
本発明の第１０の局面に従えば、上述の第１〜９のいずれかの局面に従う発明において、移動表示手段は、表示装置の表示面におけるオブジェクトの表示位置に応じて、オブジェクトを移動させる向きを異ならせる。
【００２５】
本発明の第１０の局面によれば、オブジェクトの表示位置に応じて、オブジェクトを表示範囲外へ移動させる方向、および／または、オブジェクトを表示範囲外から移動させる方向を決定できるので、オブジェクトの表示状態と非表示状態とを切り換える際の移動方向をより適切に設定できる。
【００２６】
本発明の第１１の局面に従えば、上述の第１〜９のいずれかの局面に従う発明において、移動表示手段は、オブジェクトの表示位置から表示範囲外までの距離に応じて、オブジェクトを移動させる向きを異ならせる。
【００２７】
本発明の第１１の局面によれば、表示位置から表示範囲外までの距離に応じて、オブジェクトを表示範囲外へ移動させる方向、および／または、オブジェクトを表示範囲外から移動させる方向を決定できるので、オブジェクトの表示状態と非表示状態とを切り換える際の移動方向をより適切に設定できる。
【００２８】
本発明の第１２の局面に従えば、上述の第１１の局面に従う発明において、移動表示手段は、オブジェクトの表示位置から表示範囲外までの移動距離が最も短くなる向きに、オブジェクトを移動させる。
【００２９】
本発明の第１２の局面によれば、オブジェクトを表示範囲外へ移動させる時間、および／または、オブジェクトを表示範囲外から移動させる時間を、より短くできるので、ユーザがオブジェクトの移動の際に感じる不自然感をより低減できる。
【００３０】
本発明の第１３の局面に従う表示装置は、立体視表示が可能な表示部と、左目用画像および右目用画像を表示部に出力する画像出力手段と、オブジェクトを表示部に表示した場合に生じる視差を算出する視差算出手段と、算出された視差に応じて、表示されているオブジェクトを表示範囲外へ移動させる、および、表示されていないオブジェクトを表示範囲内へ移動させる、の少なくとも一方を行なう移動表示手段とを含む。
【００３１】
本発明の第１４の局面に従えば、立体視表示が可能な表示装置のコンピュータで実行される表示制御方法を提供する。表示制御方法は、左目用画像および右目用画像を表示装置に出力する画像出力ステップと、オブジェクトを表示装置に表示した場合に生じる視差を算出する視差算出ステップと、算出された視差に応じて、表示されているオブジェクトを表示範囲外へ移動させる、および、表示されていないオブジェクトを表示範囲内へ移動させる、の少なくとも一方を行なう移動表示ステップとを含む。
【００３２】
本発明の第１５の局面に従えば、立体視表示が可能な表示部と、表示部での表示を制御するための制御主体とを備える表示システムを提供する。表示システムは、左目用画像および右目用画像を表示部に出力する画像出力手段と、オブジェクトを表示部に表示した場合に生じる視差を算出する視差算出手段と、算出された視差に応じて、表示されているオブジェクトを表示範囲外へ移動させる、および、表示されていないオブジェクトを表示範囲内へ移動させる、の少なくとも一方を行なう移動表示手段とを含む。
【発明の効果】
【００３３】
本発明によれば、オブジェクトをより自然に立体視表示できる。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施の形態に従うゲーム装置の正面図（開状態）である。
【図２】図１に示すゲーム装置の上面側を中心とする投影図である。
【図３】図１に示すゲーム装置の底面側を中心とする投影図である。
【図４】本発明の実施の形態に従うゲーム装置の電気的構成を示すブロック図である。
【図５】本発明の実施の形態に従うゲーム装置での表示制御を実現するための電気的構成を示すブロック図である。
【図６】図５に示す上側ＬＣＤの断面模式図である。
【図７】本発明の実施の形態に従うゲーム装置における表示制御に用いられる画像を生成する方法の一例について説明するための図である。
【図８】図７に示す方法によって生成された画像を用いて立体視表示を実現する方法について説明するための図である。
【図９】本発明の実施の形態に従うゲーム装置において提供されるユーザインターフェイスの一例を示す図である。
【図１０】図９に表示されるオブジェクトの立体深度（飛び出し量）を説明するための図である。
【図１１】本発明の実施の形態に従うゲーム装置での立体視表示を実現するための画像生成処理を説明するための図である。
【図１２】本発明の実施の形態に従うゲーム装置での立体視表示を実現するための画像生成処理を説明するための図である。
【図１３】オブジェクトの移動例を説明するための図である。
【図１４】オブジェクトの移動速度を説明するための図である。
【図１５】本発明の実施の形態に従うゲーム装置において実現される機能ブロック図である。
【図１６】本発明の実施の形態に従うゲーム装置において実行される処理手順を示すフローチャートである。
【発明を実施するための形態】
【００３５】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００３６】
本発明に係る表示装置の代表例として、以下では、コンピュータである携帯型のゲーム装置１について説明する。特に、本実施の形態に従うゲーム装置１は、立体視表示が可能な表示部を有している。
【００３７】
本発明に係る表示装置としては、携帯型のゲーム装置１として具現化される場合に限られず、据置型のゲーム装置や、パーソナルコンピュータ、携帯電話、携帯端末などとして具現化することもできる。さらに、立体視表示が可能な表示装置を制御するための表示制御プログラムとして具現化することもできる。あるいは、これらの表示制御プログラムを格納した記録媒体と当該記録媒体を装着可能な処理装置本体とを含む表示システムとして具現化してもよい。さらに、立体視表示が可能な表示部を有する表示装置と表示装置と通信可能な主体とが連係して本発明に係る表示制御方法を具現化してもよい。
【００３８】
＜Ａ．用語＞
本明細書において、「立体視表示」、「３次元表示」、「３Ｄ表示」とは、ユーザが画像（オブジェクト）の少なくとも一部を立体的に視認することができるように、当該画像を表現することを意味する。ユーザにオブジェクトを立体的に視認させるために、典型的には、人間の目や脳の生理的な働きを利用する。このような立体視表示は、ユーザがオブジェクトを立体的に視認できるように生成された画像（典型的には、視差を有するステレオ画像）を用いて実現される。
【００３９】
本明細書において、オブジェクトを立体視表示した場合に、オブジェクトが存在しているとユーザが視認する、当該オブジェクトの表示面の垂直方向における位置を「立体深度」や「飛び出し量」とも称す。この「立体深度」または「飛び出し量」の度合いは、表示面におけるオブジェクトの視差の大きさに依存する。
【００４０】
本明細書において、「視差」は、同一のオブジェクトを左目および右目でそれぞれ見た場合に生じる差であり、典型的には、ステレオ画像の一方の画像（左目用画像）内でオブジェクトが表現される位置と、当該ステレオ画像の他方の画像（右目用画像）内で同一のオブジェクトが表現される位置との距離として定義される。
【００４１】
＜Ｂ．概要＞
本実施の形態に従う表示装置の典型例であるゲーム装置１は、立体視表示が可能な表示部（上側ＬＣＤ１１０）を有する。ゲーム装置１のコンピュータが表示制御プログラムを実行することで、様々なオブジェクトを立体視表示する。本実施の形態に従う表示制御プログラムは、オブジェクトを表示装置に表示した場合に生じる視差を算出する。そして、表示されているオブジェクトについての当該算出された視差が所定値を超えるときには、当該オブジェクトを表示範囲外へ移動させて表示されていない状態にする。これにより、オブジェクトが立体視表示される際の視差を適切に保つことができる。一方で、表示されていないオブジェクトについても、表示部で表示した場合に生じ得る視差が算出される。そして、この算出された視差が所定値を下回るときには、当該表示されていないオブジェクトを表示させるとともに、表示範囲外から本来の表示位置へ移動させる。
【００４２】
すなわち、本実施の形態に従う表示制御プログラムは、各オブジェクトに生じる視差に応じて、当該オブジェクトの表示位置と表示範囲外との間でオブジェクトを移動させるようなユーザインターフェイスを提供する。
【００４３】
＜Ｃ．ゲーム装置の全体構成＞
まず、本実施の形態に従うゲーム装置１の全体構成について説明する。
【００４４】
図１は、本発明の実施の形態に従うゲーム装置１の正面図（開状態）である。図２は、図１に示すゲーム装置１の上面側を中心とする投影図である。すなわち、図２（Ａ）は、ゲーム装置１の正面図（閉状態）を示し、図２（Ｂ）は、ゲーム装置１の前面図を示し、図２（Ｃ）は、ゲーム装置１の左側面図を示し、図２（Ｄ）は、ゲーム装置１の右側面図を示す。図３は、図１に示すゲーム装置１の底面側を中心とする投影図である。すなわち、図３（Ａ）は、ゲーム装置１の底面図を示し、図３（Ｂ）は、ゲーム装置１の背面図を示す。本明細書においては、便宜上、ゲーム装置１を図１に示すように配置した状態を基準として、「正面」、「前面」、「左側面」、「右側面」、「底面」、「背面」という用語を用いるが、これらの用語は形式的な呼称であり、ユーザによるゲーム装置１の使用形態の制約などを意図するものではない。
【００４５】
図１〜図３を参照して、携帯型のゲーム装置１は、折り畳み可能に構成されている。ゲーム装置１は、開いた状態では、図１のような外観であり、閉じた状態では、図２（Ａ）のような外観となっている。ゲーム装置１は、開いた状態であっても、ユーザが両手または片手で把持することができるようなサイズであることが好ましい。
【００４６】
ゲーム装置１は、上側ハウジング２と下側ハウジング３とを有する。上側ハウジング２と下側ハウジング３とは、折り畳み可能（開閉可能）に連結されている。図１に示す例では、上側ハウジング２および下側ハウジング３の各々は、長方形の板状に形成され、互いの長辺部分でヒンジ４を介して回転可能に連結されている。ゲーム装置１は、ユーザによって使用するときに、開状態に維持され、使用されないときに、閉状態に維持される。
【００４７】
また、ゲーム装置１では、上側ハウジング２と下側ハウジング３との間の角度を、閉状態の位置と開状態の位置との間（略０°〜略１８０°）の任意の角度で維持することもできる。このハウジング間の静止には、上側ハウジング２と下側ハウジング３との連結部分に発生する摩擦力などが用いられる。摩擦力に加えて、あるいは、摩擦力に代えて、上側ハウジング２と下側ハウジング３との連結部内にラッチ機構を採用してもよい。
【００４８】
上側ハウジング２には、立体視表示が可能な表示部（表示手段）として、上側ＬＣＤ（Liquid Crystal Display：液晶表示装置）１１０が設けられている。上側ＬＣＤ１１０は、長方形状の表示領域を有し、その長辺方向が上側ハウジング２の長辺方向に一致するように配置される。ゲーム装置１では、ユーザが立体視表示をより楽しむことができるように、下側ＬＣＤ１２０の画面サイズに比較してより大きな画面サイズを有する上側ＬＣＤ１１０を採用する構成を示す。但し、必ずしも、このように画面サイズを異ならせる必要はなく、アプリケーションの用途やゲーム装置１のサイズなどに応じて、画面サイズは適宜設計することができる。上側ＬＣＤ１１０の詳細な構成については、後述する。
【００４９】
上側ハウジング２には、何らかの被写体を撮像するための撮像装置（撮像手段）が設けられている。より具体的には、上側ハウジング２には、一対の外側カメラ１３１Ｌおよび１３１Ｒ（図２（Ａ）参照）と、内側カメラ１３３（図１参照）とが設けられている。内側カメラ１３３は、上側ＬＣＤ１１０の上部に配置されており、一対の外側カメラ１３１Ｌおよび１３１Ｒは、内側カメラ１３３が配置されている内側主面とは反対側の面、すなわち上側ハウジング２の外側主面（ゲーム装置１が閉状態となった場合に外側となる面に相当）に配置されている。このような位置関係によって、一対の外側カメラ１３１Ｌおよび１３１Ｒは、上側ハウジング２の外側主面が向く方向に存在する被写体を撮像することができ、一方、内側カメラ１３３は、外側カメラ１３１Ｌおよび１３１Ｒの撮像方向の逆方向、すなわち、上側ハウジング２の内側主面が向く方向に存在する被写体を撮像することができる。
【００５０】
一対の外側カメラ１３１Ｌおよび１３１Ｒは、所定の間隔だけ離して配置されており、外側カメラ１３１Ｌおよび１３１Ｒの撮像によって取得される一対の入力画像の間には、外側カメラ１３１Ｌと外側カメラ１３１Ｒとの相対的な位置関係に応じた、所定の視差が存在する。そのため、これらの外側カメラ１３１Ｌおよび１３１Ｒが取得する一対の画像データを用いて、被写体を立体視表示することもできる。
【００５１】
一方、内側カメラ１３３の撮像によって取得される入力画像は、基本的には、非立体視表示（平面表示）に用いられる。したがって、ゲーム装置１においては、外側カメラ１３１Ｌおよび１３１Ｒを有効化すると、立体視表示をするための一対の入力画像を取得でき、内側カメラ１３３を有効化すると、非立体視表示をするための入力画像を取得できる。
【００５２】
さらに、上側ハウジング２には、上側ＬＣＤ１１０の右側に立体視ボリューム１４５が設けられている。この立体視ボリューム１４５は、上側ＬＣＤ１１０における立体視表示の立体感の度合い（視差および強さ）を調整するために用いられる。
【００５３】
上側ハウジング２には、音声発生装置（音声発生手段）としてのスピーカ（図４に示すスピーカ１５１）が収納されている。より具体的には、上側ハウジング２の内側主面中央部に配置されている上側ＬＣＤ１１０に対して、左右両側に音抜き孔１５１Ｌおよび１５１Ｒがそれぞれ配置されている。スピーカ１５１で発生した音声は、スピーカ１５１とそれぞれ連通する音抜き孔１５１Ｌおよび１５１Ｒを通じて、ユーザへ向けて放射される。
【００５４】
一方、下側ハウジング３には、表示部（表示手段）として、下側ＬＣＤ１２０が設けられている。下側ＬＣＤ１２０は、長方形状の表示領域を有し、その長辺方向が下側ハウジング３の長辺方向と一致するように配置される。
【００５５】
下側ＬＣＤ１２０としては、後述するような立体視表示が可能な表示部を採用してもよいが、本実施の形態においては、オブジェクトや各種情報などを非立体視表示（平面表示）する一般的な表示デバイスが採用される。そのため、下側ＬＣＤ１２０としては、例えば、ＥＬ（Electro Luminescence：電界発光）を利用したものといった、他の適切な形式の表示部を採用してもよい。さらに、表示部（表示手段）の解像度は、実行されるアプリケーションなどに応じて適切に設計される。
【００５６】
下側ハウジング３には、ユーザなどからの入力操作を受付ける入力手段（入力装置）として、コントロールパッド１５４と、十字ボタン１６１と、ボタン群１４２，１６２とが設けられている。これらの入力部は、上側ハウジング２と下側ハウジング３とを折り畳んだときに内側となる、下側ハウジング３の主面上に設けられている。特に、コントロールパッド１５４および十字ボタン１６１は、ユーザがゲーム装置１を把持した際に、その左手で容易に操作できる位置に配置され、ボタン群１６２は、ユーザがゲーム装置１を把持した際に、その右手で容易に操作できる位置に配置される。
【００５７】
コントロールパッド１５４は、主として、ゲーム装置１における立体視表示を調整するための操作を受付ける。より具体的には、コントロールパッド１５４は、ユーザの操作を受付ける突起部を有するとともに、下側ハウジング３に対する相対的な位置関係を、少なくとも紙面上下方向および紙面左右方向に変更することが可能な構造となっている。図１に示すコントロールパッド１５４に代えて、アナログスティック、または、ジョイスティックなどを採用してもよい。
【００５８】
十字ボタン１６１は、２つの方向を独立して操作可能な入力部であり、ユーザがそれぞれの方向におけるボタン操作をすることで、それに応じた値をもつ指令が出力される。ボタン群１６２は、紙面上下左右方向にそれぞれ対応付けられた、４つの操作ボタン１６２Ａ，１６２Ｂ，１６２Ｘ，１６２Ｙを含む。
【００５９】
十字ボタン１６１および／またはボタン群１６２が出力する操作入力は、ゲーム装置１における立体視表示の調整に用いられてもよい。あるいは、ゲーム装置１で実行される各種アプリケーションにおいては、これらの操作入力は、ゲーム進行などに係る、選択・決定・キャンセルといった操作に用いられる。
【００６０】
ボタン群１４２は、セレクトボタン１４２ａと、ＨＯＭＥボタン１４２ｂと、スタートボタン１４２ｃと、電源ボタン１４２ｄとを含む。セレクトボタン１４２ａは、典型的には、ゲーム装置１で実行されるアプリケーションを選択するために用いられる。ＨＯＭＥボタン１４２ｂは、典型的には、ゲーム装置１で実行されるメニューアプリケーションや各種アプリケーションを初期状態にするために用いられる。スタートボタン１４２ｃは、典型的には、ゲーム装置１においてアプリケーションの実行を開始するために用いられる。電源ボタン１４２ｄは、ゲーム装置１の電源をオン／オフするために用いられる。
【００６１】
下側ハウジング３内には、音声取得装置（音声取得手段）としてのマイク（図４に示すマイク１５３）が収納されている。そして、下側ハウジング３の主面上には、マイク１５３がゲーム装置１の周囲における音を取得するためのマイク用孔１５３ａが設けられている。なお、マイク１５３が収納される位置、および、当該マイク１５３と連通するマイク用孔１５３ａの位置は、下側ハウジング３の主面上に限られることなく、例えば、マイク１５３をヒンジ４内に収納するとともに、ヒンジ４の表面であって、マイク１５３の収納位置に対応する位置にマイク用孔１５３ａを設けてもよい。
【００６２】
ゲーム装置１には、コントロールパッド１５４、十字ボタン１６１、および、ボタン群１４２，１６２に加えて、別の入力部（入力手段）であるポインティングデバイスとして、タッチパネル１２２がさらに設けられている。タッチパネル１２２は、下側ＬＣＤ１２０の画面上を覆うように装着され、ユーザによる入力操作（位置指示操作、ポインティング操作）が行われた場合に、対応する２次元座標値を検出する。
【００６３】
タッチパネル１２２としては、典型的には、抵抗膜方式を採用することができる。但し、抵抗膜方式に限らず、各種の押圧式のタッチパネルを採用することもできる。また、タッチパネル１２２の解像度（検出精度）は、下側ＬＣＤ１２０の解像度（表示精度）と同程度であることが好ましい。但し、タッチパネル１２２の解像度と下側ＬＣＤ１２０の解像度とを完全に一致させる必要はない。
【００６４】
タッチパネル１２２に対するポインティング操作は、通常、ユーザがスタイラス１７７を用いることで行われるが、スタイラス１７７に代えて、ユーザ自身の指などでポインティング操作（入力操作）を行なうことも可能である。図１，図３（Ｃ）に示すように、下側ハウジング３の背面には、スタイラス１７７の収納部１７６が設けられている。タッチパネル１２２に対する入力操作を行なうためのスタイラス１７７は、通常、収納部１７６に格納されており、ユーザが必要に応じて取り出すことになる。
【００６５】
なお、ユーザからの位置指示を受付ける入力部（入力手段）であるポインティングデバイスとしては、タッチパネル１２２に代えて、あるいは、これに加えて、マウス、トラックボール、ペンタブレットなどを用いてもよい。また、表示部の表示面に対して遠隔から座標値を指示できるポインタ装置（典型的には、Ｗｉｉ（登録商標）のコントローラなど）を採用してもよい。いずれのデバイスを用いた場合であっても、下側ＬＣＤ１２０の表示領域内の位置に関連付けられた位置指示を受付けるように構成されることが好ましい。
【００６６】
図２（Ｃ），図２（Ｄ），図３（Ａ），図３（Ｂ）に示すように、下側ハウジング３の背面の左端部には、Ｌボタン１６２Ｌが設けられており、下側ハウジング３の背面の右端部には、Ｒボタン１６２Ｒが設けられている。Ｌボタン１６２ＬおよびＲボタン１６２Ｒについては、ゲーム装置１で実行される各種のアプリケーションにおいて、選択などの操作に用いられる。
【００６７】
図２（Ｃ）に示すように、下側ハウジング３の左側面には、音量ボリューム１４４が設けられている。音量ボリューム１４４は、ゲーム装置１に搭載されているスピーカ（図４に示すスピーカ１５１）からの音量を調整するために用いられる。
【００６８】
図２（Ｄ）に示すように、下側ハウジング３の右側面には、無線スイッチ１４３が設けられている。無線スイッチ１４３は、ゲーム装置１における無線通信をオン状態（有効化状態）またはオフ状態（無効化状態）に切り換える。
【００６９】
ゲーム装置１に対しては、ゲームカード１７１および／またはメモリカード１７３が装着可能となっている。より具体的には、図３（Ｂ）に示すように、下側ハウジング３の背面には、ゲームカード１７１を装着するためのゲームカードスロット１７０が設けられている。ゲームカードスロット１７０の奥側には、ゲーム装置１とゲームカード１７１との間を電気的に接続するためのインターフェイスが設けられている。ゲームカードスロット１７０は、ゲームカード１７１を着脱自在に構成されている。ゲームカード１７１は、アプリケーションプログラムやゲームプログラム（いずれも命令セットを含む）などを保持する。
【００７０】
また、図２（Ｃ）に示すように、下側ハウジング３の左側面には、メモリカード１７３を装着するためのメモリカードスロット１７２が設けられている。メモリカードスロット１７２の奥側には、ゲーム装置１とメモリカード１７３との間を電気的に接続するためのインターフェイスが設けられている。メモリカードスロット１７２は、メモリカード１７３を着脱自在に構成されている。メモリカード１７３は、他の情報処理装置・ゲーム装置から取得したプログラムや画像データの読出し、ならびに、ゲーム装置１によって撮像および／または画像処理された画像データの記憶（保存）などに用いられる。ゲームカード１７１は、例えば、ＳＤ（Secure Digital）カードなどの不揮発性記録媒体からなる。
【００７１】
ゲーム装置１には、動作状態などをユーザに提示するためのインジケータが設けられている。より具体的には、下側ハウジング３および上側ハウジング２には、複数のＬＥＤ（Light Emitting Diode）からなるインジケータ群１４７が設けられている。インジケータ群１４７は、立体表示インジケータ１４７ａと、お知らせインジケータ１４７ｂと、無線インジケータ１４７ｃと、電源インジケータ１４７ｄと、充電インジケータ１４７ｅとを含む。立体表示インジケータ１４７ａは、上側ハウジング２の主面上に設けており、その他のインジケータは、下側ハウジング３の主面または側面に設けられている。
【００７２】
立体表示インジケータ１４７ａは、上側ＬＣＤ１１０において立体視表示が行われているか否かを通知する。典型的には、上側ＬＣＤ１１０での立体視表示が有効化されているときに、立体表示インジケータ１４７ａは点灯する。
【００７３】
お知らせインジケータ１４７ｂは、ユーザに通知すべき情報が存在するか否かを通知する。典型的には、ユーザに対して未読のメールが存在しているときや、各種のサーバから何らかのメッセージを受信しているときに、お知らせインジケータ１４７ｂは点灯する。
【００７４】
無線インジケータ１４７ｃは、ゲーム装置１における無線通信の状態を通知する。典型的には、無線通信が有効化されているときに、無線インジケータ１４７ｃは点灯する。
【００７５】
電源インジケータ１４７ｄは、ゲーム装置１における電源状態を通知する。ゲーム装置１は、図示しないバッテリを内蔵しており（典型的には、下側ハウジング３に収納される）、主として、このバッテリからの電力で駆動する。そのため、電源インジケータ１４７ｄは、ゲーム装置１における電源の投入状態、および／または、バッテリの残量の状態などを通知する。典型的には、ゲーム装置１の電源が投入状態（オン状態）であって、かつ、バッテリの残量が十分であるときに、電源インジケータ１４７ｄは、緑色に点灯し、ゲーム装置１の電源が投入状態（オン状態）であって、かつ、バッテリの残量が低下しているときに、赤色に点灯する。
【００７６】
充電インジケータ１４７ｅは、上述のバッテリに対する充電状態を通知する。典型的には、ゲーム装置１に対して充電アダプタ（図示しない）などが装着されて内蔵のバッテリが充電状態であるときに、充電インジケータ１４７ｅは点灯する。なお、充電アダプタは、図３（Ａ）に示すように、ゲーム装置１の背面に設けられている充電端子１７４に接続される。
【００７７】
また、ゲーム装置１は、赤外線通信の機能を搭載しており、ゲーム装置１の背面には、赤外線ポート１７９が設けられている。この赤外線ポート１７９は、データ通信の搬送波である赤外線を投光／受光する。
【００７８】
ゲーム装置１の前面には、ゲーム装置１を吊り下げるためのストラップを接続するためのフック３１，３２が設けられている。下側ハウジング３の前面には、ヘッドホンおよび／またはマイクを接続するための接続端子１５８が設けられている。
【００７９】
＜Ｄ．ゲーム装置の電気的構成＞
次に、本実施の形態に従うゲーム装置１の電気的構成について説明する。
【００８０】
図４は、本発明の実施の形態に従うゲーム装置１の電気的構成を示すブロック図である。
【００８１】
図４を参照して、ゲーム装置１は、演算処理部１００と、上側ＬＣＤ１１０と、下側ＬＣＤ１２０と、タッチパネル１２２と、外側カメラ１３１Ｌ，１３１Ｒと、内側カメラ１３３と、無線モジュール１３４と、不揮発性メモリ１３６と、メインメモリ１３８と、マイコン１４０と、ボタン群１４２と、音量ボリューム１４４と、立体視ボリューム１４５と、電源管理ＩＣ（Integrated Circuit）１４６と、インジケータ群１４７と、加速度センサ１４８と、インターフェイス回路１５０と、スピーカ１５１と、ヘッドホン用アンプ１５２と、マイク１５３と、接続端子１５８と、十字ボタン１６１と、ボタン群１６２と、ゲームカードスロット１７０と、メモリカードスロット１７２と、赤外線モジュール１７８とを含む。また、ゲーム装置１は、図示しないバッテリおよび電源回路を含む。
【００８２】
演算処理部１００は、ゲーム装置１の全体の制御を司る。演算処理部１００は、上側ＬＣＤ１１０および下側ＬＣＤ１２０での表示を制御するための制御主体でもある。より具体的には、演算処理部１００は、不揮発性メモリ１３６に予め格納されているファームウェア（命令セット）、ゲームカードスロット１７０に装着されるゲームカード１７１から読出されるプログラム（命令セット）やデータ、メモリカードスロット１７２に装着されるメモリカード１７３から読出されるプログラム（命令セット）やデータなどを実行することで、上側ＬＣＤ１１０における立体視表示の制御を含む各種処理を実現する。
【００８３】
なお、演算処理部１００で実行されるプログラム（命令セット）がゲームカード１７１やメモリカード１７３を通じて提供される場合に加えて、ＣＤ−ＲＯＭやＤＶＤなどの光学式の記録媒体を通じて、ゲーム装置１へ提供されるようにしてもよい。さらに、ネットワークを通じて接続されるサーバ装置（図示しない）からプログラムが提供されるようにしてもよい。
【００８４】
より具体的には、演算処理部１００は、ＣＰＵ（Central Processing Unit）１０２と、ＧＰＵ（Graphical Processing Unit）１０４と、ＶＲＡＭ（Video Random Access Memory）１０６と、ＤＳＰ（Digital Signal Processor）１０８とを含む。これらの各部の処理については、後述する。また、演算処理部１００は、各部との間でデータを遣り取りする。
【００８５】
外側カメラ１３１Ｌおよび１３１Ｒならびに内側カメラ１３３の各々は、演算処理部１００に接続され、演算処理部１００からの指示に応答して、撮像により取得した入力画像を演算処理部１００へ出力する。これらのカメラの各々は、ＣＣＤ（Charge Coupled Device）やＣＩＳ（CMOS Image Sensor）といった撮像素子と、撮像素子で取得された画像データ（入力画像）を読出すための周辺回路とを含む。
【００８６】
無線モジュール１３４は、他のゲーム装置１や何らかの情報処理装置との間で無線信号を介してデータを遣り取りする。一例として、無線モジュール１３４は、ＩＥＥＥ８０２．１１ａ／ｂ／ｇ／ｎといった規格に準拠した無線ＬＡＮ方式により、他の装置との間でデータ通信を行なう。
【００８７】
不揮発性メモリ１３６は、ゲーム装置１の基本動作に必要なファームウェアなどを格納しており、そのファームウェアを記述するコードがメインメモリ１３８に展開される。演算処理部１００のＣＰＵ１０２がメインメモリ１３８に展開されたコードを実行することで、ゲーム装置１での基本処理が実現される。また、不揮発性メモリ１３６には、ゲーム装置１において予め設定される各種パラメータに関するデータ（プリセットデータ）が格納されてもよい。一例として、不揮発性メモリ１３６は、フラッシュメモリからなる。
【００８８】
メインメモリ１３８は、演算処理部１００が処理を実行するためのワーク領域またはバッファ領域として用いられる。メインメモリ１３８は、演算処理部１００での処理に必要なプログラム（コード）やデータを一時的に記憶する。一例として、メインメモリ１３８は、ＰＳＲＡＭ（Pseudo-SRAM）からなる。
【００８９】
マイコン１４０は、主として、ユーザインターフェイスに係る処理を提供する。より具体的には、マイコン１４０は、演算処理部１００と接続されるとともに、ボタン群１４２、音量ボリューム１４４、立体視ボリューム１４５、電源管理ＩＣ１４６、インジケータ群１４７、および、加速度センサ１４８と接続される。マイコン１４０は、ユーザによるボタン操作などを検知して、その検知結果を演算処理部１００へ出力するとともに、演算処理部１００からの信号に応答して、ユーザへ各種情報を通知するためのインジケータを点灯する。
【００９０】
また、マイコン１４０は、リアルタイムカウント（ＲＴＣ：Real Time Clock）１４１を有している。リアルタイムカウンタ１４１は、計時機能を提供する部位であり、予め定まった周期で時間をカウントする。このカウント結果は、逐次、演算処理部１００へ出力される。演算処理部１００は、リアルタイムカウンタ１４１によってカウントされたカウント値に基づいて、現在時刻（日付）などを算出することもできる。
【００９１】
電源管理ＩＣ１４６は、ゲーム装置１に搭載される電源（典型的には、上述のバッテリ）から各部へ電力を供給するとともに、その供給量を制御する。
【００９２】
加速度センサ１４８は、ゲーム装置１の変位を検出し、その検出結果は、マイコン１４０を通じて演算処理部１００へ出力される。加速度センサ１４８による検出結果は、ゲーム装置１で実行されるプログラム（ゲームアプリケーション）などに利用される。
【００９３】
赤外線モジュール１７８は、他のゲーム装置１との間で無線通信（赤外線通信）を行なう。この赤外線モジュール１７８による無線通信は、無線モジュール１３４による無線通信に比較して到達可能距離が短くなっている。この赤外線通信の搬送波である赤外線は、赤外線ポート１７９（図３（Ｂ）参照）を通じて投光／受光される。
【００９４】
インターフェイス回路１５０は、演算処理部１００と接続されるとともに、スピーカ１５１、ヘッドホン用アンプ１５２、マイク１５３、コントロールパッド１５４、および、タッチパネル１２２と接続される。より具体的には、インターフェイス回路１５０は、スピーカ１５１、ヘッドホン用アンプ１５２、マイク１５３の制御を行なうための音声制御回路（図示しない）と、タッチパネル１２２の制御を行なうためのタッチパネル制御回路（図示しない）とを含む。
【００９５】
スピーカ１５１は、インターフェイス回路１５０からの音声信号を増幅して、音抜き孔１５１Ｌおよび１５１Ｒから音声を出力する。ヘッドホン用アンプ１５２は、インターフェイス回路１５０からの音声信号を増幅して、接続されるヘッドホンから音声を出力する。マイク１５３は、ゲーム装置１に向かって発声されたユーザの音声などを検知して、検知した音声を示す音声信号をインターフェイス回路１５０に出力する。
【００９６】
以上のように、インターフェイス回路１５０を構成する音声制御回路は、マイク１５３で検知されたアナログの音声信号に対してＡ／Ｄ（アナログ／デジタル）変換を行い、その結果得られたデジタルの音声信号を演算処理部１００へ出力するとともに、演算処理部１００などで生成されたデジタルの音声信号に対してＤ／Ａ（デジタル／アナログ）変換を行い、その結果得られたアナログの音声信号をスピーカ１５１および／または接続されるヘッドホンへ出力する。
【００９７】
また、インターフェイス回路１５０を構成するタッチパネル制御回路は、タッチパネル１２２からの検出信号に応答して、ユーザが入力操作（ポインティング操作）した位置を示すタッチ位置データを生成して演算処理部１００へ出力する。
【００９８】
ゲームカードスロット１７０およびメモリカードスロット１７２は、それぞれ、演算処理部１００と接続される。ゲームカードスロット１７０は、演算処理部１００からの指令に応答して、コネクタを介して、装着されたゲームカード１７１との間でデータの読出しおよび書込みを行なう。メモリカードスロット１７２は、演算処理部１００からの指令に応答して、コネクタを介して、装着されたメモリカード１７３との間でデータの読出しおよび書込みを行なう。
【００９９】
下側ＬＣＤ１２０および上側ＬＣＤ１１０は、演算処理部１００からの指令に従って、それぞれ画像を表示する。ゲーム装置１の典型的な使用形態においては、下側ＬＣＤ１２０に各種操作を受付けるための画像が表示されるとともに、上側ＬＣＤ１１０では、立体視表示が行われる。
【０１００】
＜Ｅ．立体視表示を提供するための構成＞
次に、本実施の形態に従うゲーム装置１において立体視表示を提供するための構成について説明する。
【０１０１】
図５は、本発明の実施の形態に従うゲーム装置１での表示制御を実現するための電気的構成を示すブロック図である。図６は、図５に示す上側ＬＣＤ１１０の断面模式図である。
【０１０２】
図５を参照して、演算処理部１００は、ＣＰＵ１０２に加えて、主として、上側ＬＣＤ１１０および下側ＬＣＤ１２０においてそれぞれ画像を表示するための処理（画像処理）を行なうためのＧＰＵ１０４を含む。ＧＰＵ１０４は、画像処理に特化した処理回路を有しており、ＣＰＵ１０２からの指令に応答して、上側ＬＣＤ１１０および下側ＬＣＤ１２０にそれぞれ表示すべき画像を逐次生成する。これらの画像は、上側ＬＣＤ１１０用のＶＲＡＭ１０６ａ、および、下側ＬＣＤ１２０用のＶＲＡＭ１０６ｂへそれぞれ転送される。
【０１０３】
このとき、上側ＬＣＤ１１０において立体視表示を行なうための一対の画像（左目用画像および右目用画像）は互いに独立してＶＲＡＭ１０６ａへ書き込まれる。これに対して、下側ＬＣＤ１２０においては平面表示（非立体視表示）が行われるので、単一の画像がＶＲＡＭ１０６ｂへ書き込まれる。
【０１０４】
上側ＬＣＤ１１０は、ＬＣＤコントローラ１１１と、ＬＣＤパネル１１２と、バリア液晶１１３とを含む。これに対して、下側ＬＣＤ１２０は、ＬＣＤコントローラ１２１と、ＬＣＤパネル１２３とを含む。
【０１０５】
さらに、上側ＬＣＤ１１０の構造について説明する。
図６には、上側ＬＣＤ１１０の典型例として、パララックスバリア方式の液晶表示デバイスの構造を示す。上側ＬＣＤ１１０は、ガラス基板１１８とガラス基板１１９との間に配置されたＬＣＤパネル１１２を含む。
【０１０６】
ＬＣＤパネル１１２は、左目用画素群１１２Ｌおよび右目用画素群１１２Ｒを含む。ガラス基板１１８のガラス基板１１９の側とは反対側に、図示しないバックライトが設けられており、このバックライトからの光は左目用画素群１１２Ｌおよび右目用画素群１１２Ｒに向けて照射される。そして、左目用画素群１１２Ｌおよび右目用画素群１１２Ｒは、バックライトからの光を調節するための空間光変調器として機能する。ここで、左目用画素群１１２Ｌの各画素と右目用画素群１１２Ｒの各画素とは交互に配置される。
【０１０７】
ガラス基板１１８の左目用画素群１１２Ｌおよび右目用画素群１１２Ｒに接する側とは反対の側に、視差光学系であるバリア液晶１１３が設けられる。このバリア液晶１１３には、複数のスリット１１４が所定間隔で行列状に設けられている。各スリット１１４の中心位置を通り、かつガラス基板１１８の面に対して垂直方向の軸を基準として、左目用画素群１１２Ｌおよび右目用画素群１１２Ｒとが対称的に配置される。このように、各スリットに対応付けられる左目用画素群１１２Ｌおよび右目用画素群１１２Ｒの各組について、スリットとの間の位置関係を適切に設計することで、ユーザは、その左目で左目用画素群１１２Ｌだけを視認するとともに、その右目で右目用画素群１１２Ｒだけを視認することになる。
【０１０８】
バリア液晶１１３に含まれる各スリット１１４が、ユーザの右目および左目による視界をそれぞれ対応する角度に制限する。その結果、ユーザの左目の視線ＡＸＬには左目用画素群１１２Ｌのみが存在し、一方、ユーザの右目の視線ＡＸＲには右目用画素群１１２Ｒのみが存在することになる。
【０１０９】
ここで、左目用画素群１１２Ｌおよび右目用画素群１１２Ｒに、所定の視差を有する一対の画像を表示させることで、所定の視差を有する画像をユーザに提示することができる。このような所定の視差を有する一対の画像を表示することで、ユーザから見れば、オブジェクトを立体的に見ていると感じることになる。以下では、バリア液晶１１３のユーザ側の表面、すなわち、この画像が実際に表示される面を（上側ＬＣＤ１１０の）表示面とも称す。
【０１１０】
より具体的には、図５に示すように、ＧＰＵ１０４は、左目用画像および右目用画像をＶＲＡＭ１０６ａのアドレスを指定して順次書き込む。ＬＣＤコントローラ１１１は、ＶＲＡＭ１０６ａに書き込まれた左目用画像および右目用画像を構成する列方向の画像が、ＬＣＤパネル１１２に交互に並んで表示されるように、ＶＲＡＭ１０６ａの対象となるアドレスから各列の画像データを順次読出して、ＬＣＤパネル１１２を駆動する。
【０１１１】
なお、上側ＬＣＤ１１０では、画像を平面表示、すなわち、非立体視表示することもできる。この場合には、ＬＣＤコントローラ１１１に対して指令を与えることで、バリア液晶１１３を無効化する方法と、表示に用いられる左目用画像と右目用画像との間の視差を実質的にゼロとする方法とが存在する。
【０１１２】
前者の方法の場合、バリア液晶１１３が提供する複数のスリット１１４が無効化されるので、ユーザの左目および右目には、実質的に、左目用画素群１１２Ｌおよび右目用画素群１１２Ｒからの光が入射することになる。なお、この場合には、ユーザから見た解像度は、立体視表示のときの解像度に比べて、実質的に２倍となる。
【０１１３】
後者の方法の場合、ユーザの左目で視認される画像と、右目で視認される画像とが実質的に同一に制御されるので、ユーザは、同じ画像を左目および右目で視認することになる。
【０１１４】
一方、下側ＬＣＤ１２０においては、非立体視表示がなされる。ＧＰＵ１０４は、表示すべき画像をＶＲＡＭ１０６ｂのアドレスを指定して順次書込み、ＬＣＤコントローラ１２１は、ＶＲＡＭ１０６ｂに書き込まれた画像を順次読出して、ＬＣＤパネル１２３を駆動する。
【０１１５】
なお、図６には、立体視表示が可能な表示部の典型例として、パララックスバリア方式の表示デバイスを例示したが、例えば、レンチキュラ方式の表示デバイスなどを採用することもできる。これらの方式は、左目用画像の表示エリアと右目用画像の表示エリアとが一定のパターンで（典型的には交互に）配置される。
【０１１６】
なお、シャッタメガネ（時分割方式）を利用した方法のように、左目用画像の表示エリアと右目用画像の表示エリアとを共通としつつ、左目用画像と右目用画像とを交互に表示する形態を採用することもできる。
【０１１７】
＜Ｆ．立体視表示／平面表示の実現例＞
次に、上側ＬＣＤ１１０におけるオブジェクトの立体視表示、および、下側ＬＣＤ１２０におけるオブジェクトの平面表示の実現例について説明する。以下では、ゲーム装置における典型的な実現例として、３次元仮想空間に配置されたオブジェクトを、仮想カメラを用いて（仮想的に）撮像することで画像を生成し、この生成された画像を表示するという方法について説明する。
【０１１８】
図７は、本発明の実施の形態に従うゲーム装置１における表示制御に用いられる画像を生成する方法の一例について説明するための図である。図８は、図７に示す方法によって生成された画像を用いて立体視表示を実現する方法について説明するための図である。
【０１１９】
図７（Ａ）を参照して、３次元仮想空間にオブジェクトＯＢＪとして「りんご」が配置されており、この「りんご」を一対の仮想カメラ（左仮想カメラ４００Ｌおよび右仮想カメラ４００Ｒ）で撮像することで、上側ＬＣＤ１１０において「りんご」を立体視表示するための一対の画像（左目用画像ＰＩＭＧＬおよび右目用画像ＰＩＭＧＲ）が生成される。また、この「りんご」を単一の仮想カメラ４００Ｃ（典型的には、左仮想カメラ４００Ｌと右仮想カメラ４００Ｒとの間の中点位置に配置される）で撮像することで、下側ＬＣＤ１２０において「りんご」を平面表示するための単一の画像（平面表示用画像ＰＩＭＧＣ）が生成される。
【０１２０】
なお、３次元仮想空間において、一対の仮想カメラ（左仮想カメラ４００Ｌおよび右仮想カメラ４００Ｒ）は水平方向（以下、Ｘ方向と称す）に整列配置されているものとする。このとき、垂直方向をＹ方向と称し、それぞれの仮想カメラのカメラ方向（撮像の光軸方向）をＺ’方向と称す。なお、３次元仮想空間におけるＸ方向およびＹ方向は、それぞれ表示面の横方向（Ｘ方向）および縦方向（Ｙ方向）に対応する。また、３次元仮想空間におけるＺ’方向は、オブジェクトの奥行き値に相当する。各オブジェクトについてのＺ’方向における位置（奥行き値）は、立体視表示したときの立体深度を決定する。すなわち、基準オブジェクト（奥行き値が「０」）からより離れた位置（より大きな奥行き値）に配置されるオブジェクトほど、立体深度がより大きく表示されることになる。このように奥行き値を設定することによって、一対の仮想カメラによって撮像された一対の画像（左目用画像ＰＩＭＧＬおよび右目用画像ＰＩＭＧＲ）を用いて立体視表示した場合に、３次元仮想空間において奥行き値が大きいオブジェクトほど相対的に大きな立体深度を有することになる。
【０１２１】
すなわち、立体視表示される各オブジェクトの立体深度の絶対値は、３次元仮想空間におけるＺ’方向での位置（奥行き値）と、一対の仮想カメラ間の距離ｄ１とによって決定される。
【０１２２】
図７（Ｂ）に示す一対の画像（左目用画像ＰＩＭＧＬおよび右目用画像ＰＩＭＧＲ）は、実質的に同一の表示領域に表示される。すなわち、図６に示すようなレンチキュラ方式では、左目用画素と右目用画素とが交互に配置されることで、対象の左目用画像ＰＩＭＧＬおよび右目用画像ＰＩＭＧＲは、表示面の横方向に空間的に交互に表示されることになる。あるいは、シャッタメガネ（時分割方式）では、同一の表示面を時間的に分割することで、対象の左目用画像ＰＩＭＧＬおよび右目用画像ＰＩＭＧＲが時間的に交互に表示されることになる。
【０１２３】
したがって、図７（Ｂ）に示す一対の画像（左目用画像ＰＩＭＧＬおよび右目用画像ＰＩＭＧＲ）のうち、視差がゼロとなる領域は、ユーザから見れば表示面に存在しているように見える。すなわち、目的の領域についての視差をゼロとすることで、ユーザは、その領域に含まれるオブジェクトが上側ＬＣＤ１１０の表示面あるいは表示面付近に位置しているように感じる。
【０１２４】
一方、図７（Ｂ）に示す平面表示用画像ＰＩＭＧＣは、その全体が下側ＬＣＤ１２０に表示される。そのため、ユーザから見れば通常の平面表示となる。
【０１２５】
上側ＬＣＤ１１０において立体視表示されるオブジェクトの立体深度（奥行き位置、すなわち飛び出し量または引込み量）は、一対の仮想カメラ（左仮想カメラ４００Ｌおよび右仮想カメラ４００Ｒ）間の距離ｄ１に依存して変化する。すなわち、一対の仮想カメラ間の距離ｄ１が大きくなるほど、それぞれの仮想カメラが撮像する撮像範囲（視野）の間の差が大きくなるので、一対の画像（左目用画像ＰＩＭＧＬおよび右目用画像ＰＩＭＧＲ）の間に生じる視差も大きくなる。
【０１２６】
より具体的には、図８（Ａ）に示すように、オブジェクトＯＢＪについて視差が増大する方向に、一対の仮想カメラ（左仮想カメラ４００Ｌおよび右仮想カメラ４００Ｒ）の間の位置関係を変更すると、ユーザは、上側ＬＣＤ１１０の表示面よりユーザ側にオブジェクトＯＢＪが存在しているように感じる。いわば、ユーザは、オブジェクトＯＢＪの像が表示面から「飛び出し」ているように視認する。
【０１２７】
これに対して、図８（Ｂ）に示すように、オブジェクトＯＢＪについて視差が減少する方向に、一対の仮想カメラ（左仮想カメラ４００Ｌおよび右仮想カメラ４００Ｒ）の間の位置関係を変更すると、ユーザは、上側ＬＣＤ１１０の表示面よりユーザとは反対側にオブジェクトＯＢＪが存在しているように感じる。いわば、ユーザは、オブジェクトＯＢＪの像が表示面へ「引込み」されているように視認する。
【０１２８】
このように、一対の仮想カメラ（左仮想カメラ４００Ｌおよび右仮想カメラ４００Ｒ）の間の位置関係を変更することで、ユーザが視認する立体深度を適宜調整することができる。
【０１２９】
なお、代替の方法として、一対の仮想カメラ（左仮想カメラ４００Ｌおよび右仮想カメラ４００Ｒ）の間の位置関係を固定した上で、それぞれ撮像される一対の画像（左目用画像ＰＩＭＧＬおよび右目用画像ＰＩＭＧＲ）を取得し、さらに、上側ＬＣＤ１１０の表示面での、一対の画像の間の相対的な表示位置を変更することで、ユーザが視認する立体深度を調整することもできる。さらに、一対の仮想カメラ（左仮想カメラ４００Ｌおよび右仮想カメラ４００Ｒ）の間の位置関係および一対の画像（左目用画像ＰＩＭＧＬおよび右目用画像ＰＩＭＧＲ）の間の相対的な表示位置の両方を変更することで、ユーザが視認する立体深度を適宜調整してもよい。
【０１３０】
＜Ｇ．アプリケーション＞
次に、本実施の形態に従う表示制御プログラムが提供するオブジェクトの表示制御機能について説明する。
【０１３１】
図９は、本発明の実施の形態に従うゲーム装置１において提供されるユーザインターフェイスの一例を示す図である。図１０は、図９に表示されるオブジェクトの立体深度（飛び出し量）を説明するための図である。
【０１３２】
図９には、本実施の形態に従う表示制御機能を含むアプリケーションの一例として、ユーザがゲーム装置１の入力部を操作することで、ユーザキャラクタ３００を移動させて各種の冒険などを体験するゲームを示す。このゲームでは、仮想的な世界に各種のオブジェクトが配置されており、ユーザキャラクタ３００の位置に応じて、ディスプレイに表示（レンダリング）される内容が順次変っていくものとする。後述するように、このような表示を実現するための典型的な方法として、仮想空間に対象となるオブジェクトを配置するとともに、ユーザキャラクタ３００をユーザの操作に応じた位置に配置する。そして、ユーザキャラクタ３００の位置に連動して配置された仮想カメラを用いて、仮想空間のオブジェクトを撮像することで、表示に用いられる画像が生成される。
【０１３３】
上述したように、立体視表示が可能な上側ＬＣＤ１１０でこれらの画像を立体的に表示する場合には、一対の仮想カメラを用いて撮像することで、左目用画像および右目用画像を生成し、これらの一対の画像（ステレオ画像）を上側ＬＣＤ１１０に出力する。これにより、ユーザは、仮想カメラ間の距離ｄ１に依存する立体深度（立体感）をもって、立体的にオブジェクトを視認することができる。
【０１３４】
図９には、これらのゲームの一場面を上側ＬＣＤ１１０に表示した状態を例示する。この図９に示すゲームでは、ユーザキャラクタ３００は仮想的な世界における地面を移動し、この地面より高い位置に、アイテムを示すオブジェクト３１０が「浮いた状態」で存在しているものとする。図９（Ａ）には、この浮いた状態のオブジェクト３１０を示す。図９（Ａ）に示す状態では、仮想空間において仮想カメラにより近い位置にオブジェクト３１０が存在し、オブジェクト３１０の奥側にユーザキャラクタ３００が存在しているものとする。そのため、仮想カメラから見ると、ユーザキャラクタ３００がオブジェクト３１０の陰になってしまい、表示されていない。また、オブジェクト３１０は、上側ＬＣＤ１１０の表示面（ディスプレイ面）から手前に飛び出して見える。
【０１３５】
図９（Ｂ）には、図９（Ａ）に示す状態から、ユーザキャラクタ３００が仮想的な世界のさらに奥に移動した状態を示す。この図９（Ｂ）に示す状態では、仮想空間におけるオブジェクト３１０は仮想カメラにより接近している。そのため、オブジェクト３１０をそのまま立体視表示した場合には、図９（Ａ）における立体深度（飛び出し量）に比較して、より大きな飛び出し量をもって表示されることになる。
【０１３６】
本実施の形態に従う表示制御機能では、このように立体視表示した場合に現れるオブジェクトの立体深度（飛び出し量）が所定値を超える場合には、当該オブジェクトをそのまま立体視表示するのではなく、当該オブジェクトを表示範囲外へ移動させて表示されていない状態にする。すなわち、図９（Ａ）に示すように、オブジェクト３１０が浮いて存在している状態から、図９（Ｂ）に示すように、オブジェクト３１０が画面下方向へ移動して、図９（Ｃ）に示すように、表示されなくなる。
【０１３７】
一方、ユーザキャラクタ３００が仮想的な世界の手前側に戻り、かつ、オブジェクト３１０を立体視表示した場合に生じる立体深度（飛び出し量）が所定値を下回る場合には、オブジェクト３１０は本来の表示位置に表示される。このとき、図９（Ａ）〜図９（Ｃ）の動作と逆に、オブジェクト３１０が画面の外周側から中心部へ向けて移動する演出が行なわれる。
【０１３８】
オブジェクト３１０の立体深度（飛び出し量）に関して説明すると、図９（Ａ）に示す状態のオブジェクト３１０は、図１０（Ａ）に示すように、上側ＬＣＤ１１０の表示面（ディスプレイ面）から距離ｚ１だけ手前に飛び出して見える。一方、図９（Ｂ）に示す状態のオブジェクト３１０は、図１０（Ｂ）に示すように、上側ＬＣＤ１１０の表示面（ディスプレイ面）から距離ｚ２（＞ｚ１）だけ手前に飛び出して見える。この場合には、オブジェクト３１０は、この距離ｚ２を保ったまま表示範囲外へ移動する。また、オブジェクト３１０を再表示する場合も、立体深度（飛び出し量）を保ったままオブジェクト３１０は移動表示される。
【０１３９】
このように、オブジェクト３１０を表示範囲外へ移動させて表示されてない状態にする場合、および、表示されてないオブジェクト３１０を表示させて表示位置へ移動させる場合、のいずれにおいても、オブジェクト３１０に現れる立体深度（飛び出し量）は、基本的には維持される。このような立体深度（飛び出し量）の調整は、上側ＬＣＤ１１０で出力される左目用画像および右目用画像の間でのオブジェクト３１０についての視差の調整によって実現される。これにより、オブジェクト３１０が立体視表示される際の立体深度（飛び出し量）を適切に保つことができる。
【０１４０】
すなわち、本実施の形態に従うゲーム装置１は、オブジェクト３１０を上側ＬＣＤ１１０（表示装置）に表示した場合に生じる視差を算出する。この視差は、オブジェクト３１０の立体深度（飛び出し量）の度合いを示す。そして、ゲーム装置１は、算出された視差に応じて、表示されているオブジェクト３１０を表示範囲外へ移動させて表示されていない状態にする、および、表示されていないオブジェクト３１０を表示されている状態にした上でオブジェクト３１０の元の表示位置まで移動させる、の少なくとも一方を行なう。このとき、移動中のオブジェクトに生じる視差を実質的に維持するように、左目用画像および右目用画像が生成される。
【０１４１】
なお、ユーザの操作によってユーザキャラクタ３００の位置が小刻みに変化する場合も多いと想定される。このような操作によって、オブジェクト３１０が表示／非表示の切換および移動を頻繁に繰返すようなことを防止するため、表示されているオブジェクト３１０を表示されていない状態に変更する場合の立体深度（飛び出し量）についての条件と、表示されていないオブジェクト３１０を表示させる場合の立体深度（飛び出し量）についての条件とを異ならせることが好ましい。
【０１４２】
すなわち、ゲーム装置１は、表示されているオブジェクトに生じる視差が第１条件を満たしたことに応答して、当該オブジェクトを表示範囲外へ移動させ、表示されていないオブジェクトが上側ＬＣＤ１１０（表示装置）に表示されれば生じる視差が第１条件とは異なる第２条件を満たしたことに応答して、当該オブジェクトを表示範囲内へ移動させる。より具体的には、ゲーム装置１は、表示されているオブジェクト３１に生じる立体深度（左目用画像と右目用画像との間の視差）が第１所定値を超えたことに応答して、オブジェクト３１０を表示されていない状態にする一方で、表示されていないオブジェクト３１０を上側ＬＣＤ１１０（表示装置）に表示すれば生じる視差が第１所定値より小さい第２所定値を下回ったことに応答して、オブジェクト３１０を表示する。
【０１４３】
＜Ｈ．立体視用の画像生成処理について＞
上述したようなオブジェクト３１０に関する演出を実現するための画像生成処理について説明する。
【０１４４】
図１１および図１２は、本発明の実施の形態に従うゲーム装置１での立体視表示を実現するための画像生成処理を説明するための図である。
【０１４５】
図１１を参照して、仮想空間（ｘｙｚ座標系）にオブジェクト３１０が配置されるとともに、一対の仮想カメラ（左仮想カメラ４００Ｌおよび右仮想カメラ４００Ｒ）を用いて、オブジェクト３１０を撮像する。なお、仮想空間には、図９に示すゲームに必要な各種のオブジェクトが配置されているものとする。一対の仮想カメラがオブジェクト３１０を撮像することで、左目用画像および右目用画像が生成される。なお、仮想空間における一対の仮想カメラの位置は、ユーザ操作に応じて順次変更される。図９に示すゲームの例では、ユーザキャラクタ３００の位置に応じて一対の仮想カメラの位置も更新され、この結果、一対の仮想カメラとオブジェクト３１０との相対的な位置関係についても、順次更新される。
【０１４６】
上述したような、オブジェクト３１０を上側ＬＣＤ１１０（表示装置）で立体表示した場合に生じる視差は、図１１に示す仮想空間における一対の仮想カメラとオブジェクト３１０との相対的な位置関係によって規定できる。より具体的には、上側ＬＣＤ１１０にオブジェクト３１０が立体視表示される際の視差は、一対の仮想カメラとオブジェクト３１０との間の距離Ｌ１に反比例する。すなわち、距離Ｌ１が小さくなるほど、上側ＬＣＤ１１０に立体視表示されるオブジェクト３１０に生じる視差が大きくなる。
【０１４７】
そのため、本実施の形態においては、上側ＬＣＤ１１０に立体視表示されるオブジェクト３１０に生じる視差を評価（算出）する方法の一つとして、一対の仮想カメラとオブジェクト３１０との間の距離Ｌ１の大きさを利用する。
【０１４８】
もちろん、このような３次元仮想空間における一対の仮想カメラとオブジェクト３１０との間の距離ではなく、他の方法を用いて視差を評価（算出）することもできる。たとえば、立体視表示した場合に生じる視差がゼロとなる３次元仮想空間上の面に対するオブジェクト３１０の距離に基づいて、視差を評価（算出）することもできる。あるいは、上側ＬＣＤ１１０で表示される、左目用画像と右目用画像との間のずれ量（画素量）に基づいて、視差を評価（算出）することもできる。あるいは、３次元仮想空間における左仮想カメラ４００Ｌと右仮想カメラ４００Ｒとの間の距離に基づいて、視差を評価（算出）することもできる。
【０１４９】
本実施の形態においては、オブジェクト３１０が上述したような表示／非表示の切換対象である場合には、オブジェクト３１０を上側ＬＣＤ１１０で立体視表示されるに生じる視差を評価するために、一対の仮想カメラとオブジェクト３１０との間の距離Ｌ１（すなわち、上側ＬＣＤ１１０にオブジェクト３１０が立体視表示される際の視差）が逐次算出される。この距離Ｌ１は、左仮想カメラ４００Ｌの撮像面および右仮想カメラ４００Ｒの撮像面を含む基準面４１０の法線上の距離を意味する。
【０１５０】
そして、仮想空間内において一対の仮想カメラを含む平面である基準面４１０からオブジェクト３１０までの距離を所定値と比較することで、表示されているオブジェクトを表示範囲外へ移動させる処理、および／または、表示されていないオブジェクトを表示範囲内へ移動させる処理が実行される。
【０１５１】
より具体的には、立体視表示しているオブジェクト３１０に生じている視差が所定値以上となると、すなわち、基準面４１０からオブジェクト３１０までの距離Ｌ１が予め定められた値（以下、表示状態から非表示状態への切り換えに係る「判定値Ａ」とも称す。）以下になると、図１１および図１２に示すように、オブジェクト３１０を一対の仮想カメラの撮像範囲外へ移動させる。
【０１５２】
オブジェクト３１０の移動方向は、基準面４１０に平行な方向に設定される。これは、上側ＬＣＤ１１０に立体視表示される移動中のオブジェクト３１０に生じる立体深度（左目用画像と右目用画像との間の視差）を維持するためである。すなわち、仮想空間内において、基準面４１０に平行な向きにオブジェクト３１０を移動させることで、オブジェクト３１０を移動表示させる。
【０１５３】
より具体的には、仮想空間における基準面４１０に平行な任意のベクトルをｖ＝（Δｘ１，Δｙ１，Δｚ１）とすると、座標値（ｘ１，ｙ１，ｚ１）に存在するオブジェクト３１０は、座標値（ｘ１＋ｋ×Δｘ１，ｙ１＋ｋ×Δｘ１，ｚ１＋ｋ×Δｘ１）に移動する。なお、乗数ｋは、オブジェクト３１０を一対の仮想カメラの撮像範囲外に移動させるための係数であり、この値を時間的に変化させることで、オブジェクト３１０の位置が順次更新される。
【０１５４】
言い換えれば、ベクトルｖは、左仮想カメラ４００Ｌおよび右仮想カメラ４００Ｒのそれぞれのカメラ方向に対して直交するベクトルである。ベクトルｖは、基準面４１０に平行であれば任意の向きをとることができるが、後述するように、上側ＬＣＤ１１０の表示面内におけるオブジェクト３１０の位置などに応じて、ベクトルｖの向きを決定してもよい。
【０１５５】
一方、表示されていないオブジェクト３１０を表示に切り換える場合には、表示されていない状態に切り換えられる前のオブジェクト３１０の位置（座標値）に基づいて判断される。すなわち、座標値（ｘ１，ｙ１，ｚ１）に存在していたオブジェクト３１０は、基準面４１０からその本来の座標値（ｘ１，ｙ１，ｚ１）までの距離Ｌ１に基づいて、オブジェクト３１０を表示した場合に生じる視差が評価される。
【０１５６】
より具体的には、オブジェクト３１０が立体視表示されれば生じる視差が所定値以下となると、すなわち、基準面４１０から本来のオブジェクト３１０の位置までの距離Ｌ１が予め定められた値（以下、非表示状態から表示状態への切り換えに係る「判定値Ｂ」（但し、判定値Ｂ＞判定値Ａである）とも称す。）以上になると、オブジェクト３１０は、一対の仮想カメラの撮像範囲内へ移動する。
【０１５７】
このとき、オブジェクト３１０は、座標値（ｘ１＋ｋ×Δｘ１，ｙ１＋ｋ×Δｘ１，ｚ１＋ｋ×Δｘ１）から座標値（ｘ１，ｙ１，ｚ１）へ移動する。これは、基準面４１０に平行なベクトルｖに従ってオブジェクト３１０を徐々に（連続的に）移動させることで、上側ＬＣＤ１１０に立体視表示される移動中のオブジェクト３１０に生じる立体深度（左目用画像と右目用画像との間の視差）を維持するためである。
【０１５８】
上述したように、ベクトルｖは、基準面４１０に平行な方向なベクトルであり、基準面４１０は、一対の仮想カメラの位置および／または向き（視点方向）に依存して決定される。そのため、表示されていないオブジェクト３１０を表示状態に切り換えて移動させる場合には、移動開始直前の基準面４１０に依存するベクトルｖを決定し、続いて、オブジェクト３１０の軌跡を決定することになる。そのため、一対の仮想カメラの撮像範囲外に移動後のオブジェクト３１０の座標値は、基本的には保持する必要がない。
【０１５９】
もちろん、オブジェクト３１０の移動後の座標値を保持するような処理を含めてもよいが、この場合には、基準面４１０の更新毎に、オブジェクト３１０の移動後の座標値を逐次更新する必要がある。
【０１６０】
なお、厳密に言えば、オブジェクト３１０の移動中に一対の仮想カメラの位置および／または向き（視点方向）が変化した場合には、基準面４１０も変化することになる。そのため、オブジェクト３１０を移動する向き（ベクトルｖ）についても、オブジェクト３１０の移動開始時の初期値とは異なる値に更新する必要がある。そうしなければ、移動中のオブジェクト３１０を上側ＬＣＤ１１０（表示装置）に表示した場合に生じる視差が一定に維持されなくなるからである。
【０１６１】
そのため、ベクトルｖを一対の仮想カメラの位置および／または向き（視点方向）に依存して逐次更新するとともに、最新のベクトルｖを用いて、オブジェクト３１０の位置を逐次更新するようにしてもよい。
【０１６２】
しかしながら、オブジェクト３１０が移動表示される時間が相対的に短い場合には、移動開始時に算出したベクトルｖを用いて、移動完了までの軌跡を算出してもよい。この場合には、移動中のオブジェクト３１０を上側ＬＣＤ１１０（表示装置）に表示した場合に生じる視差に若干の変動が生じ得るが、オブジェクト３１０の移動に要する時間が相対的に短ければ、ユーザに与える影響は無視できる。
【０１６３】
そのため、本実施の形態に係る、移動中のオブジェクトに生じる視差を「実質的に」維持するという記載は、立体視表示されるオブジェクト３１０の視差を厳密に一定に保つ場合と、一対の仮想カメラの位置および／または向きの変化に影響されて、立体視表示されるオブジェクト３１０の視差が変動し得る場合とを含む概念である。
【０１６４】
＜Ｉ．オブジェクトの移動例＞
次に、オブジェクト３１０の移動例について説明する。
【０１６５】
図１３は、オブジェクト３１０の移動例を説明するための図である。図１４は、オブジェクト３１０の移動速度を説明するための図である。
【０１６６】
図１３を参照して、上側ＬＣＤ１１０（表示装置）の表示面におけるオブジェクト３１０の表示位置に応じて、オブジェクト３１０を移動させる向きを異ならせてもよい。具体的には、図１３（Ａ）に示すように、オブジェクト３１０が表示面の上方に存在する場合には、画面上側へ移動するようにしてもよい。一方、図１３（Ｂ）に示すように、オブジェクト３１０が表示面の下方に存在する場合には、画面下側へ移動するようにしてもよい。いずれの場合も、非表示から表示に切り換えられた後は、同一の経路を反対向きに移動する。
【０１６７】
なお、オブジェクト３１０の移動方向は、画面上下方向であってもよいし、画面左右方向であってもよいが、レンチキュラ方式の表示デバイスを採用した場合には、画面上下方向が好ましい。
【０１６８】
あるいは、オブジェクト３１０の表示位置から表示範囲外までの距離に応じて、オブジェクト３１０を移動させる向きを異ならせてもよい。すなわち、再度図１３（Ａ）に示す例では、オブジェクト３１０から画面上側までの距離が最も短いので、この移動距離が最も短くなる方向へオブジェクト３１０が移動する。同様に、図１３（Ｂ）に示す例では、オブジェクト３１０から画面下側までの距離が最も短いので、この移動距離が最も短くなる方向へオブジェクト３１０が移動する。
【０１６９】
このように、オブジェクト３１０の表示位置から表示範囲外までの移動距離が最も短くなる向きに、オブジェクト３１０を移動させてもよい。
【０１７０】
なお、オブジェクト３１０は、一定の速度で移動させてもよいが、何らかの移動パターン（速度パターン）をもたせてもよい。たとえば、図１４に示すように、時間の経過に伴って、または、移動した距離に伴って、オブジェクト３１０の移動速度を変化させてもよい。このようなオブジェクト３１０の移動速度を変化させることによって、より演出の効果を高めることができる。
【０１７１】
上述したような、オブジェクト３１０の移動の向きや速度に関するパターンは、全てのオブジェクトについて共通に設定してもよいし、オブジェクト３１０の形状や大きさなどに応じて、オブジェクト毎に設定してもよい。
【０１７２】
＜Ｊ．制御ブロック図＞
図１５は、本発明の実施の形態に従うゲーム装置１において実現される機能ブロック図である。図１５に示す各機能ブロックは、演算処理部１００（ＣＰＵ１０２）がゲームカード１７１などに格納されている表示制御プログラムを読出して実行することで実現される。すなわち、この表示制御プログラムは、立体視表示が可能な上側ＬＣＤ１１０（表示装置）を制御する。
【０１７３】
図１５を参照して、演算処理部１００は、その機能として、仮想空間メモリ１００２と、視差算出部１００４と、ゲーム進行部１００６と、移動表示部１０１０と、画像出力部１０１６とを含む。また、ゲーム装置１の不揮発性メモリ１３６またはメインメモリ１３８（図４）には、キャラクタデータ格納部１００８が形成される。
【０１７４】
仮想空間メモリ１００２は、図１１に示すような仮想空間を実現するための構成であり、仮想空間上に配置されるオブジェクトや一対の仮想カメラの情報を保持する。
【０１７５】
視差算出部１００４は、各オブジェクトを上側ＬＣＤ１１０（表示装置）に表示した場合に生じる視差を算出する。視差算出部１００４は、仮想空間内において一対の仮想カメラを含む平面である基準面からオブジェクトまでの距離に基づいて視差を算出する。より具体的には、視差算出部１００４は、仮想空間メモリ１００２を参照して、配置されているオブジェクトの位置および大きさについての情報、ならびに、設定されている一対の仮想カメラについての情報を取得し、これらの情報から、一対の仮想カメラからオブジェクトまでの距離、すなわち視差を算出する。視差算出部１００４は、算出した視差を移動表示部１０１０へ出力する。
【０１７６】
ゲーム進行部１００６は、入力部を介したユーザ操作に応答して、ゲームを進行する。具体的には、仮想空間に配置されたオブジェクトの内容を変更したり、新たなオブジェクトを配置したり、オブジェクトを仮想空間から削除したりする。ゲーム進行部１００６は、キャラクタデータ格納部１００８に格納されているキャラクタデータを選択的に読み出して、仮想空間メモリ１００２へ書き込む。このキャラクタデータは、各オブジェクトについての情報などを含む。
【０１７７】
移動表示部１０１０は、視差算出部１００４によって算出された視差に応じて、上述したような、表示されているオブジェクトを表示範囲外へ移動させる、および、表示されてないオブジェクトを表示範囲内へ移動させる、の少なくとも一方を行なう。移動表示部１０１０は、移動中のオブジェクトに生じる視差を実質的に維持するように、オブジェクトを移動させる。より具体的には、移動表示部１０１０は、画像生成部１０１２と、位置関係更新部１０１４とを含む。
【０１７８】
画像生成部１０１２は、仮想空間内に配置されたオブジェクトを一対の仮想カメラで撮像することで左目用画像および右目用画像を生成する。すなわち、画像生成部１０１２は、仮想空間メモリ１００２を参照して、それぞれの仮想カメラで撮像される範囲をレンダリングすることで、左目用画像および右目用画像を生成する。
【０１７９】
位置関係更新部１０１４は、仮想空間内に配置されたオブジェクトと一対の仮想カメラとの間の相対的な位置関係を更新する。位置関係更新部１０１４は、仮想空間内において、基準面に平行な向きにオブジェクトを移動させることで、オブジェクトを移動表示させる。より具体的には位置関係更新部１０１４は、入力部を介したユーザ操作に応答して、仮想空間内における一対の仮想カメラの位置を更新するとともに、視差算出部１００４により算出される視差がオブジェクトを表示しない状態へ切り換えるための条件を満たした場合に、対象のオブジェクトを一対の仮想カメラの撮像範囲外へ移動させる。
【０１８０】
このように、移動表示部１０１０は、表示されているオブジェクトに生じる視差が第１所定値を超えたことに応答して、すなわち、仮想空間において基準面４１０からオブジェクト３１０までの距離Ｌ１が第１所定値（判定値Ａ）以下になると、当該オブジェクトを非表示にする。一方で、移動表示部１０１０は、表示されていないオブジェクトを表示装置に表示すれば生じる視差が第１所定値より小さい第２所定値を下回ったことに応答して、すなわち、仮想空間において基準面４１０からオブジェクト３１０の本来位置までの距離Ｌ１が第２所定値（判定値Ｂ）以上になると、当該オブジェクトを表示する。
【０１８１】
上述したように、表示されているオブジェクト３１０を表示されていない状態に変更するための条件（判定値Ａ）と、表示されていないオブジェクト３１０を表示された状態に変更するための条件（判定値Ｂ）とを異ならせることが好ましい。より具体的には、判定値Ｂは、判定値Ａよりその値が大きく設定される。
【０１８２】
画像出力部１０１６は、左目用画像および右目用画像を立体視表示デバイス（表示装置）に出力する。
【０１８３】
＜Ｋ．処理手順＞
次に、本実施の形態に従う表示制御プログラムによって実行される処理手順について説明する。
【０１８４】
図１６は、本発明の実施の形態に従うゲーム装置１において実行される処理手順を示すフローチャートである。図１６に示す各フローチャートの各ステップは、典型的には、演算処理部１００がゲームカード１７１などに格納されている表示制御プログラムなどを読出して実行することで提供される。なお、演算処理部１００で実行されるプログラムは、単一でなくともよく、基本的なＯＳ（Operating System）を提供するプログラム（あるいは、ファームウェア）とともに、一または複数のアプリケーションが実行されてもよい。さらに、以下に示す処理の全部または一部を複数のハードウェアによって実現してもよい。
【０１８５】
まず、ユーザが入力部を介してゲームの開始を指示すると、演算処理部１００は、ゲームに必要なキャラクタ（ユーザキャラクタ３００を含む）や背景といったオブジェクトを仮想空間に配置する（ステップＳ２）。より具体的には、上述したように、仮想空間メモリ１００２（図１５）に各オブジェクトの情報が書き込まれる。
【０１８６】
続いて、演算処理部１００は、一対の仮想カメラを仮想空間に配置する（ステップＳ４）とともに、一対の仮想カメラの撮像範囲に存在するオブジェクトを撮像することで、左目用画像および右目用画像を生成し、生成した左目用画像および右目用画像を上側ＬＣＤ１１０へ出力する（ステップＳ６）。なお、下側ＬＣＤ１２０に表示される画像についても、演算処理部１００が生成および出力する。
【０１８７】
その後、演算処理部１００は、ユーザキャラクタ３００の移動がユーザによって指示されたか否かを判断する（ステップＳ８）。すなわち、演算処理部１００は、入力部を介してユーザキャラクタ３００を移動させるための指令を受信したか否かを判断する。ユーザキャラクタ３００の移動がユーザによって指示されていない場合（ステップＳ８においてＮＯの場合）には、処理はステップＳ３６へ進む。
【０１８８】
これに対して、ユーザキャラクタ３００の移動がユーザによって指示された場合（ステップＳ８においてＹＥＳの場合）には、演算処理部１００は、指示に従って、ユーザキャラクタ３００の位置を更新するとともに、ユーザキャラクタ３００の更新後の位置に応じて、一対の仮想カメラの位置および／または向き（視点方向）を更新する（ステップＳ１０）。
【０１８９】
続いて、演算処理部１００は、一対の仮想カメラと表示されているオブジェクトとの間の距離、すなわち一対の仮想カメラを含む平面である基準面４１０からオブジェクト３１０までの距離Ｌ１を算出する（ステップＳ１２）。この距離Ｌ１が上側ＬＣＤ１１０に各オブジェクトを立体視表示した場合に生じる視差の度合いを示す。なお、仮想空間内に配置されたすべてのオブジェクトを本実施の形態に従う表示制御機能の対象とする必要はなく、特定のオブジェクトのみを対象としてもよい。そのため、ステップＳ１２において、基準面４１０からの距離が算出されるのは、予め定められた特定のオブジェクトのみとしてもよい。
【０１９０】
続いて、演算処理部１００は、ステップＳ１２において算出された基準面４１０から表示されているオブジェクトまでの距離Ｌ１が判定値Ａ以下であるか否かを判断する（ステップＳ１４）。すなわち、表示されているオブジェクトのうち、その立体深度（立体感）が所定値以上であるものが存在するか否かが判断される。
【０１９１】
ステップＳ１２において算出された距離Ｌ１が判定値Ａ以下である場合（ステップＳ１４においてＹＥＳの場合）には、演算処理部１００は、一対の仮想カメラの基準面４１０に基づいて、対象のオブジェクトを仮想空間内で移動させる方向を示すベクトル（上述のベクトルｖ）を算出する（ステップＳ１６）。このベクトルは、上側ＬＣＤ１１０（表示装置）の表示面におけるオブジェクト３１０の表示位置などに応じて定められる。
【０１９２】
続いて、演算処理部１００は、対象のオブジェクトの位置をステップＳ１６において算出したベクトルに基づいて更新し（ステップＳ１８）、対象のオブジェクトの位置を更新した後の状態で、一対の仮想カメラの撮像範囲に存在するオブジェクトを撮像することで、左目用画像および右目用画像を生成し、生成した左目用画像および右目用画像を上側ＬＣＤ１１０へ出力する（ステップＳ２０）。さらに、演算処理部１００は、対象のオブジェクトの一対の仮想カメラの撮像範囲外への移動が完了したか否かを判断する（ステップＳ２２）。一対の仮想カメラの撮像範囲外への移動が完了していない場合（ステップＳ２２においてＮＯの場合）には、ステップＳ１８以下の処理が繰返される。
【０１９３】
これに対して、一対の仮想カメラの撮像範囲外への移動が完了している場合（ステップＳ２２においてＹＥＳの場合）には、処理はステップＳ２４へ進む。このとき、演算処理部１００は、対象のオブジェクトについて、表示状態から非表示状態へ切り換えられたことを示す情報（フラグなど）を付加する。
【０１９４】
一方、ステップＳ１２において算出された基準面４１０から表示されているオブジェクトまでの距離Ｌ１が判定値Ａ以下ではない場合（ステップＳ１４においてＮＯの場合）には、上述のステップＳ１６〜Ｓ２２の処理はスキップされる。
【０１９５】
続いて、演算処理部１００は、一対の仮想カメラと仮想空間内の表示されていないオブジェクトの本来の表示位置との間の距離、すなわち一対の仮想カメラを含む平面である基準面４１０からオブジェクト３１０の本来の位置までの距離Ｌ１を算出する（ステップＳ２４）。この距離Ｌ１が上側ＬＣＤ１１０に各オブジェクトを立体視表示した場合に生じる視差の度合いを示す。このとき、距離の算出対象は、先に非表示状態に変更されたオブジェクトのみとなる。このような距離の算出対象は、表示状態から非表示状態へ切り換えられたことを示す情報（フラグなど）に基づいて決定される。
【０１９６】
続いて、演算処理部１００は、ステップＳ２４において算出された基準面４１０から表示されていないオブジェクトの本来の表示位置までの距離Ｌ１が判定値Ｂ以上であるか否かを判断する（ステップＳ２６）。すなわち、表示されていないオブジェクトのうち、その立体深度（立体感）が所定値以下であるものが存在するか否かが判断される。
【０１９７】
ステップＳ２４において算出された距離Ｌ１が判定値Ｂ以上である場合（ステップＳ２６においてＹＥＳの場合）には、演算処理部１００は、一対の仮想カメラの基準面４１０に基づいて、対象のオブジェクトを仮想空間内で移動させる方向を示すベクトル（上述のベクトルｖ）を算出する（ステップＳ２８）。このベクトルは、上側ＬＣＤ１１０（表示装置）の表示面におけるオブジェクト３１０の表示位置などに応じて定められる。
【０１９８】
続いて、演算処理部１００は、対象のオブジェクトの位置をステップＳ２８において算出したベクトルに基づいて更新し（ステップＳ３０）、対象のオブジェクトの位置を更新した後の状態で、一対の仮想カメラの撮像範囲に存在するオブジェクトを撮像することで、左目用画像および右目用画像を生成し、生成した左目用画像および右目用画像を上側ＬＣＤ１１０へ出力する（ステップＳ３２）。さらに、演算処理部１００は、対象のオブジェクトの本来的な表示位置への移動が完了したか否かを判断する（ステップＳ３４）。対象のオブジェクトの本来的な表示位置への移動が完了していない場合（ステップＳ３４においてＮＯの場合）には、ステップＳ３０以下の処理が繰返される。
【０１９９】
これに対して、対象のオブジェクトの本来的な表示位置への移動が完了している場合（ステップＳ３４においてＹＥＳの場合）には、処理はステップＳ３６へ進む。
【０２００】
一方、ステップＳ２４において算出された基準面４１０から表示されていないオブジェクトの本来の位置までの距離Ｌ１が判定値Ｂ以上ではない場合（ステップＳ２６においてＮＯの場合）には、上述のステップＳ２８〜Ｓ３４の処理はスキップされる。
【０２０１】
そして、演算処理部１００は、ユーザが入力部を介してゲームの終了を指示したか否かを判断する（ステップＳ３６）。ユーザが入力部を介してゲームの終了を指示した場合（ステップＳ３６においてＹＥＳの場合）には、処理は終了する。これに対して、ユーザが入力部を介してゲームの終了を指示していない場合（ステップＳ３６においてＮＯの場合）には、ステップＳ８以下の処理が繰返される。
【０２０２】
なお、図１６に示す処理手順には、表示されているオブジェクトを表示されていない状態に切り換える場合の処理と、表示されていないオブジェクトを表示に切り換える場合の処理とをそれぞれ別に行なう例を示したが、これらの処理を並列的に行なってもよい。この場合には、一対の仮想カメラと表示されているおよび表示されていないすべてのオブジェクトとの間の距離を一括して算出し、それぞれ算出された距離が所定条件を満足しているか否かを判断すればよい。そして、いずれかの条件を満足した場合には、対応する処理が実行される。
【０２０３】
図１６に示す処理手順では、ステップＳ６，Ｓ２０，Ｓ３２において、左目用画像および右目用画像を表示装置に出力する処理が実行される。また、ステップＳ１２，Ｓ２４において、オブジェクトを表示装置に表示した場合に生じる視差を算出する処理が実行される。また、ステップＳ１４〜Ｓ２２において、算出された視差に応じて、表示されているオブジェクトを表示範囲外へ移動させて表示されていない状態にする処理が実行される。また、ステップＳ２６〜Ｓ３４において、算出された視差に応じて、表示されていないオブジェクトを表示されている状態にした上で当該オブジェクトの表示位置まで移動させる処理が実行される。これらのオブジェクトを移動表示する処理では、移動中のオブジェクトに生じる視差を実質的に維持するように、左目用画像および右目用画像が生成される。
【０２０４】
＜Ｌ．その他の形態＞
上述の実施の形態においては、３次元仮想空間内においてオブジェクトを移動させる例について示したが、オブジェクトの移動とは、表示面上での移動についても含むものである。
【０２０５】
上述の実施の形態においては、一連の処理が単一のゲーム装置１において実行される場合を説明したが、上記一連の処理が複数の主体に分散して実現されてもよい。例えば、ゲーム装置１と、ネットワークを介してゲーム装置１と通信可能なサーバ装置とを含む情報処理システムにおいて、上記一連の処理のうち一部がサーバ装置によって実行されてもよい。さらに、ゲーム装置１と、ゲーム装置１へネットワークを介して通信可能なサーバ装置とを含む情報処理システムにおいて、上記一連の処理のうち主要な部分がサーバ装置によって実行され、ゲーム装置１では一部の処理が実行されてもよい。
【０２０６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０２０７】
１  ゲーム装置、２  上側ハウジング、３  下側ハウジング、４  ヒンジ、３１，３２  フック、１００  演算処理部、１０２  ＣＰＵ、１０４  ＧＰＵ、１０６ａ，１０６ｂ  ＶＲＡＭ、１１０  上側ＬＣＤ、１１１，１２１  ＬＣＤコントローラ、１１２，１２３  ＬＣＤパネル、１１２Ｌ  左目用画素群、１１２Ｒ  右目用画素群、１１３  バリア液晶、１１４  スリット、１１８，１１９  ガラス基板、１２０  下側ＬＣＤ、１２２  タッチパネル、１３１Ｌ，１３１Ｒ  外側カメラ、１３３  内側カメラ、１３４  無線モジュール、１３６  不揮発性メモリ、１３８  メインメモリ、１４０  マイコン、１４１  リアルタイムカウンタ、１４２，１６２  ボタン群、１４２ａ  セレクトボタン、１４２ｂ  ボタン、１４２ｃ  スタートボタン、１４２ｄ  電源ボタン、１４３  無線スイッチ、１４４  音量ボリューム、１４５  立体視ボリューム、１４６  電源管理ＩＣ、１４７  インジケータ群、１４７ａ  立体表示インジケータ、１４７ｂ  お知らせインジケータ、１４７ｃ  無線インジケータ、１４７ｄ  電源インジケータ、１４７ｅ  充電インジケータ、１４８  加速度センサ、１５０  インターフェイス回路、１５１  スピーカ、１５１Ｌ，１５１Ｒ  音抜き孔、１５２  ヘッドホン用アンプ、１５３  マイク、１５３ａ  マイク用孔、１５４  コントロールパッド、１５８  接続端子、１６１  十字ボタン、１６２Ａ，１６２Ｂ，１６２Ｘ，１６２Ｙ  操作ボタン、１６２Ｌ  Ｌボタン、１６２Ｒ  Ｒボタン、１７０  ゲームカードスロット、１７１  ゲームカード、１７２  メモリカードスロット、１７３  メモリカード、１７４  充電端子、１７６  収納部、１７７  スタイラス、１７８  赤外線モジュール、１７９  赤外線ポート、１００２  仮想空間メモリ、１００４  視差算出部、１００６  ゲーム進行部、１００８  キャラクタデータ格納部、１０１０  移動表示部、１０１２  画像生成部、１０１４  位置関係更新部、１０１６  画像出力部。
【図１】
0005738077.tif 000002
【図２】
0005738077.tif 000003
【図３】
0005738077.tif 000004
【図４】
0005738077.tif 000005
【図５】
0005738077.tif 000006
【図６】
0005738077.tif 000007
【図９】
0005738077.tif 000008
【図１０】
0005738077.tif 000009
【図１１】
0005738077.tif 000010
【図１２】
0005738077.tif 000011
【図１３】
0005738077.tif 000012
【図１４】
0005738077.tif 000013
【図１５】
0005738077.tif 000014
【図１６】
0005738077.tif 000015
【図７】
0005738077.tif 000016
【図８】
0005738077.tif 000017