(57)【特許請求の範囲】
【請求項１】
立体視可能な立体視画像を生成する画像処理システムであって、
オブジェクトが配置された仮想３次元空間を仮想カメラで撮像して、両画像間に視差が設けられた左目用画像及び右目用画像から成る立体視画像を生成する立体視画像生成手段と、
前記立体視画像生成手段が生成した立体視画像を表示部に表示させる表示制御手段とを備え、
前記立体視画像生成手段は、前記立体視画像を生成する際に、前記オブジェクトの前記左目用画像における位置をユーザから見て左方向に移動させる補正、及び／又は、当該オブジェクトの前記右目用画像における位置をユーザから見て右方向に移動させる補正を行うことによって、当該オブジェクトの視差を減少させる補正を行う、画像処理システム。
【請求項２】
立体視可能な立体視画像を生成する画像処理システムであって、
オブジェクトが配置された仮想３次元空間を仮想カメラで撮像して、両画像間に視差が設けられた左目用画像及び右目用画像から成る立体視画像を生成する立体視画像生成手段と、
前記立体視画像生成手段が生成した立体視画像を表示部に表示させる表示制御手段とを備え、
前記立体視画像生成手段は、前記立体視画像を生成する際に、前記オブジェクトの前記仮想カメラに対する相対位置を当該仮想カメラから見て左右方向にのみ補正した後に当該仮想カメラによって当該オブジェクトを描画することによって、当該オブジェクトの視差を減少させる補正を行う、画像処理システム。
【請求項３】
立体視可能な立体視画像を生成する画像処理システムであって、
オブジェクトが配置された仮想３次元空間を仮想カメラで撮像して、両画像間に視差が設けられた左目用画像及び右目用画像から成る立体視画像を生成する立体視画像生成手段と、
前記立体視画像生成手段が生成した立体視画像を表示部に表示させる表示制御手段とを備え、
前記立体視画像生成手段は、前記立体視画像を生成する際に、前記仮想カメラからオブジェクトまでの距離に応じて当該オブジェクトの視差を減少させる補正を行い、当該距離が所定距離よりも小さくなった場合、当該オブジェクトの視差をそれ以上は減少させない、画像処理システム。
【請求項４】
立体視可能な立体視画像を生成する画像処理システムであって、
オブジェクトが配置された仮想３次元空間を仮想カメラで撮像して、両画像間に視差が設けられた左目用画像及び右目用画像から成る立体視画像を生成する立体視画像生成手段と、
前記立体視画像生成手段が生成した立体視画像を表示部に表示させる表示制御手段とを備え、
前記立体視画像生成手段は、前記立体視画像を生成する際に、前記仮想カメラからオブジェクトまでの距離に応じて当該オブジェクトの視差を減少させる補正を行い、当該距離が所定距離よりも大きい場合、当該オブジェクトの視差を減少させる補正を行わない、画像処理システム。
【請求項５】
立体視可能な立体視画像を生成する画像処理システムのコンピュータで実行される画像処理プログラムであって、
前記コンピュータを、
オブジェクトが配置された仮想３次元空間を仮想カメラで撮像して、両画像間に視差が設けられた左目用画像及び右目用画像から成る立体視画像を生成する立体視画像生成手段と、
前記立体視画像生成手段が生成した立体視画像を表示部に表示させる表示制御手段として機能させ、
前記立体視画像生成手段は、前記立体視画像を生成する際に、前記オブジェクトの前記左目用画像における位置をユーザから見て左方向に移動させる補正、及び／又は、当該オブジェクトの前記右目用画像における位置をユーザから見て右方向に移動させる補正を行うことによって、当該オブジェクトの視差を減少させる補正を行う、画像処理プログラム。
【請求項６】
立体視可能な立体視画像を生成する画像処理システムのコンピュータで実行される画像処理プログラムであって、
前記コンピュータを、
オブジェクトが配置された仮想３次元空間を仮想カメラで撮像して、両画像間に視差が設けられた左目用画像及び右目用画像から成る立体視画像を生成する立体視画像生成手段と、
前記立体視画像生成手段が生成した立体視画像を表示部に表示させる表示制御手段として機能させ、
前記立体視画像生成手段は、前記立体視画像を生成する際に、前記オブジェクトの前記仮想カメラに対する相対位置を当該仮想カメラから見て左右方向にのみ補正した後に当該仮想カメラによって当該オブジェクトを描画することによって、当該オブジェクトの視差を減少させる補正を行う、画像処理プログラム。
【請求項７】
立体視可能な立体視画像を生成する画像処理システムのコンピュータで実行される画像処理プログラムであって、
前記コンピュータを、
オブジェクトが配置された仮想３次元空間を仮想カメラで撮像して、両画像間に視差が設けられた左目用画像及び右目用画像から成る立体視画像を生成する立体視画像生成手段と、
前記立体視画像生成手段が生成した立体視画像を表示部に表示させる表示制御手段として機能させ、
前記立体視画像生成手段は、前記立体視画像を生成する際に、前記仮想カメラからオブジェクトまでの距離に応じて当該オブジェクトの視差を減少させる補正を行い、当該距離が所定距離よりも小さくなった場合、当該オブジェクトの視差をそれ以上は減少させない、画像処理プログラム。
【請求項８】
立体視可能な立体視画像を生成する画像処理システムのコンピュータで実行される画像処理プログラムであって、
前記コンピュータを、
オブジェクトが配置された仮想３次元空間を仮想カメラで撮像して、両画像間に視差が設けられた左目用画像及び右目用画像から成る立体視画像を生成する立体視画像生成手段と、
前記立体視画像生成手段が生成した立体視画像を表示部に表示させる表示制御手段として機能させ、
前記立体視画像生成手段は、前記立体視画像を生成する際に、前記仮想カメラからオブジェクトまでの距離に応じて当該オブジェクトの視差を減少させる補正を行い、当該距離が所定距離よりも大きい場合、当該オブジェクトの視差を減少させる補正を行わない、画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理システム、画像処理プログラム、画像処理方法及び画像処理装置に関し、より特定的には、立体視表示を実現する画像処理システム、画像処理プログラム、画像処理方法及び画像処理装置に関する。
【背景技術】
【０００２】
従来、両画像間で視差を設けた左目用画像及び右目用画像を用いて立体視表示を行う技術がある。例えば、特許文献１には、仮想３次元空間を仮想カメラで撮像して左目用画像及び右目用画像を生成し、これらの画像を用いて仮想３次元空間を立体視表示する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平２００３−１０７６０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記した従来の技術によれば、仮想３次元空間に配置されたオブジェクトは、所定位置よりも仮想カメラに近い場合には、ディスプレイ面から手前に飛び出して視認されるように表示され、所定位置よりも仮想カメラから遠い場合には、ディスプレイ面から奥に引っ込んで視認されるように表示される。ここで、仮想カメラに近いオブジェクトについて、左目用画像と右目用画像の視差が大きくなって見づらい場合がある。
【０００５】
それ故に、本発明の主たる目的は、見易い立体視表示を実現する画像処理システム等を提供することである。
【課題を解決するための手段】
【０００６】
本発明の一局面は、上述の課題を解決するために、以下の構成を採用した。
【０００７】
立体視可能な立体視画像を生成する画像処理システムであって、立体視画像生成手段と表示制御手段とを備える。立体視画像生成手段は、オブジェクトが配置された仮想３次元空間を仮想カメラで撮像して、両画像間に視差が設けられた左目用画像及び右目用画像から成る立体視画像を生成する。表示制御手段は、立体視画像生成手段が生成した立体視画像を表示部に表示させる。そして、立体視画像生成手段は、立体視画像を生成する際に、当該オブジェクトの視差を減少させる補正を行う。
【０００８】
この構成によれば、表示部に立体視表示されるオブジェクトについて、飛び出して視認される程度を緩和する補正を行うことができる。このことから、ユーザにとって見易い立体視表示を実現することができる。
【０００９】
また、立体視画像生成手段は、立体視画像を生成する際に、仮想カメラからオブジェクトまでの距離に応じて当該オブジェクトの視差を減少させる補正を行ってもよい。
【００１０】
この構成によれば、仮想カメラからオブジェクトまでの距離に応じて、当該オブジェクトの飛び出してくる程度を緩和することができる。
【００１１】
また、立体視画像生成手段は、立体視画像を生成する際に、仮想カメラからオブジェクトまでの距離が近い程、当該オブジェクトの視差を多く減少させる補正を行ってもよい。
【００１２】
この構成によれば、表示部に立体視表示されるオブジェクトについて、ユーザにとって見づらくなる程に大きく飛び出してくるオブジェクト程、飛び出してくる程度を大きく緩和することができる。
【００１３】
また、立体視画像生成手段は、立体視画像を生成する際に、仮想カメラに近いオブジェクト程視差が大きくなるように、補正を行ってもよい。
【００１４】
この構成によれば、複数のオブジェクトに対して飛び出してくる程度を緩和した場合において、各オブジェクトの前後間の位置関係を正常に維持することができる。また、或る１つのオブジェクトが手前に飛び出してくる場合において、瞬間的に少し戻ってしまうように視認されることなく、移動の態様が自然なものとなる。
【００１５】
また、立体視画像生成手段は、立体視画像を生成する際に、オブジェクトの左目用画像における位置をユーザから見て左方向に移動させる補正、及び／又は、当該オブジェクトの右目用画像における位置をユーザから見て右方向に移動させる補正を行うことによって、当該オブジェクトの視差を減少させる補正を行ってもよい。
【００１６】
この構成によれば、表示部に立体視表示されるオブジェクトについて、飛び出して視認される程度を緩和する補正を行うことができる。
【００１７】
また、立体視画像生成手段は、左目用画像を撮像する仮想左カメラと、右目用画像を撮像する仮想右カメラと、仮想左カメラと仮想右カメラとの間に配置される仮想中間カメラを用いて、立体視画像を生成する際に、オブジェクトの左目用画像における位置が、仮想左カメラに基づく位置と仮想中間カメラに基づく位置との間の位置となるように調整する補正、及び／又は、当該オブジェクトの右目用画像における位置が、仮想右カメラに基づく位置と仮想中間カメラに基づく位置との間の位置となるように調整する補正を行うことによって、当該オブジェクトの視差を減少させる補正を行ってもよい。
【００１８】
この構成によれば、仮想中間カメラを用いた補正処理を行うことによって、オブジェクトが飛び出して視認される程度を緩和する補正を実現することができる。
【００１９】
また、立体視画像生成手段は、立体視画像を生成する際に、オブジェクトの左目用画像における位置が、仮想左カメラに基づく位置と仮想中間カメラに基づく位置とを当該仮想カメラから当該オブジェクトまでの距離に応じて補間した補間位置となるように調整する補正、及び／又は、当該オブジェクトの右目用画像における位置が、仮想右カメラに基づく位置と仮想中間カメラに基づく位置とを当該仮想カメラから当該オブジェクトまでの距離に応じて補間した補間位置となるように調整する補正を行うことによって、当該オブジェクトの視差を減少させる補正を行ってもよい。
【００２０】
この構成によれば、仮想中間カメラを用いた補正処理を行うことによって、仮想カメラからオブジェクトまでの距離に応じて当該オブジェクトが飛び出して視認される程度を緩和する補正を実現することができる。
【００２１】
また、立体視画像生成手段は、立体視画像を生成する際に、オブジェクトの仮想カメラに対する相対位置を補正した後に仮想カメラによって当該オブジェクトを描画することによって、当該オブジェクトの視差を減少させる補正を行ってもよい。
【００２２】
この構成によれば、仮想カメラに対するオブジェクトの相対位置を補正することによって、当該オブジェクトが飛び出して視認される程度を緩和する補正を実現することができる。
【００２３】
また、立体視画像生成手段は、立体視画像を生成する際に、仮想カメラのビュー座標系におけるオブジェクトの位置を補正した後に仮想カメラによって当該オブジェクトを描画することによって、当該オブジェクトの視差を減少させる補正を行ってもよい。
【００２４】
この構成によれば、仮想カメラによってオブジェクトを描画する処理において、ワールド座標系から仮想カメラのビュー座標系に座標変換した後に当該ビュー座標系においてオブジェクトの位置を補正する。このことから、ワールド空間に配置されているオブジェクト（又はその頂点）の位置は移動させることなく、当該オブジェクトが飛び出して視認される程度を緩和する補正を実現することができる。
【００２５】
また、立体視画像生成手段は、立体視画像を生成する際に、オブジェクトの仮想カメラに対する相対位置を仮想カメラから見て左右方向にのみ補正した後に仮想カメラによって当該オブジェクトを描画することによって、当該オブジェクトの視差を減少させる補正を行ってもよい。
【００２６】
この構成によれば、仮想カメラに対するオブジェクトの相対位置を、仮想カメラから見て奥行き方向（深度方向）及び上下方向には移動させる処理を行う必要がない。このことから、オブジェクトの視差を減少させる補正を行うための処理負荷を低減することができる。
【００２７】
また、立体視画像生成手段は、立体視画像を生成する際に、オブジェクトの仮想左カメラに対する相対位置及び当該オブジェクトの仮想右カメラに対する相対位置の少なくとも一方を補正した後に仮想左カメラ及び仮想右カメラによって当該オブジェクトを描画することによって、当該オブジェクトの視差を減少させる補正を行ってもよい。
【００２８】
この構成によれば、仮想左カメラに対するオブジェクトの相対位置及び仮想右カメラに対する当該オブジェクトの相対位置の少なくとも一方を補正することによって、オブジェクトの視差を減少させることができる。このことから、オブジェクトの視差を減少させる補正を行うための処理負荷を低減することができる。
【００２９】
また、オブジェクトの仮想左カメラに対する相対位置の補正と、当該オブジェクトの仮想右カメラに対する相対位置の補正とは、補正の方向が相異なってもよい。
【００３０】
この構成によれば、表示部に立体視表示されるオブジェクトについて、飛び出して視認される程度を緩和する補正を行うことができる。
【００３１】
また、立体視画像生成手段は、立体視画像を生成する際に、仮想カメラによってオブジェクトを描画するために当該オブジェクトの仮想カメラに対する相対位置を一時的に補正して、当該オブジェクトの視差を減少させる補正を行ってもよい。
【００３２】
この構成によれば、ワールド空間に配置されているオブジェクト（又はその頂点）の位置は移動させることなく、当該オブジェクトが飛び出して視認される程度を緩和する補正を実現することができる。
【００３３】
また、立体視画像生成手段は、左目用画像を撮像する仮想左カメラと、右目用画像を撮像する仮想右カメラと、仮想左カメラと仮想右カメラとの間に配置される仮想中間カメラを用いて、左目用画像を生成する際に、仮想左カメラに対するオブジェクトの相対位置と仮想中間カメラに対する当該オブジェクトの相対位置との間で当該仮想カメラから当該オブジェクトまでの距離に応じて補間を行って補間位置を算出して該補間位置を用いて仮想左カメラによって当該オブジェクトの描画を実行、及び／又は、右目用画像を生成する際に、仮想右カメラに対する当該オブジェクトの相対位置と仮想中間カメラに対する当該オブジェクトの相対位置との間で当該仮想カメラから当該オブジェクトまでの距離に応じて補間を行って補間位置を算出して当該補間位置を用いて仮想右カメラによって当該オブジェクトの描画を実行することによって、当該オブジェクトの視差を減少させる補正を行ってもよい。
【００３４】
この構成によれば、上記の補間を行うことによって、左目用画像におけるオブジェクトと右目用画像における当該オブジェクトとの視差を、減少させる方向に補正することができる。また、上記の補間において、仮想３次元空間における当該オブジェクトの仮想カメラから距離に応じて上記補間位置を算出することによって、当該オブジェクトの距離に応じて上記視差の減少量を設定することができる。
【００３５】
また、立体視画像生成手段は、左目用画像を生成する際に、仮想左カメラに対するオブジェクトの各頂点の相対座標と仮想中間カメラに対する当該オブジェクトの各頂点の相対座標との間で当該仮想カメラから当該各頂点までの距離に応じて補間を行って補間座標を算出して当該補間座標を用いて仮想左カメラによって当該頂点の描画を実行、及び／又は、右目用画像を生成する際に、仮想右カメラに対するオブジェクトの各頂点の相対座標と仮想中間カメラに対する当該オブジェクトの各頂点の相対座標との間で当該仮想カメラから当該各頂点までの距離に応じて補間を行って補間座標を算出して当該補間座標を用いて仮想右カメラによって当該頂点の描画を実行することによって、当該オブジェクトの各頂点の視差をそれぞれ減少させる補正を行ってもよい。
【００３６】
この構成によれば、オブジェクトを構成する頂点単位で、視差を緩和する補正が行われる。このことから、例えば、大きなオブジェクト（大きな奥行きを持つオブジェクト）が大きく飛び出してくる場合であっても自然で最適な補正を行うことができる。
【００３７】
また、立体視画像生成手段は、立体視画像を生成する際に、仮想カメラからオブジェクトを構成する各頂点までの距離に応じて、当該各頂点の視差をそれぞれ減少させる補正を行ってもよい。
【００３８】
この構成によれば、オブジェクトを構成する頂点単位で、視差を緩和する補正が行われる。このことから、例えば、大きなオブジェクト（大きな奥行きを持つオブジェクト）が大きく飛び出してくる場合であっても自然で最適な補正を行うことができる。
【００３９】
また、立体視画像生成手段は、立体視画像を生成する際に、仮想カメラからオブジェクトまでの距離が所定距離よりも小さくなった場合、当該オブジェクトの視差をそれ以上は減少させないものとしてもよい。
【００４０】
この構成によれば、上記所定距離を設けることによって視差の補正量（減少量）が極端に大きくなることを回避できるので、複数のオブジェクトに対して飛び出してくる程度を緩和した場合において、各オブジェクトの前後間の位置関係を正常に維持することができる。
【００４１】
また、立体視画像生成手段は、立体視画像を生成する際に、仮想カメラからオブジェクトまでの距離が所定距離よりも大きい場合、当該オブジェクトの視差を減少させる補正を行わないこととしてもよい。
【００４２】
この構成によれば、上記の補正を実施する必要のない位置（奥行き）に配置されたオブジェクトに対しては、この補正は実施されない。このことから、画像処理の負担を軽減することができる。
【００４３】
また、立体視画像生成手段は、立体視画像を生成する際に、補正対象のオブジェクトに対してのみ上記補正を行ってもよい。
【００４４】
この構成によれば、オブジェクト毎に上記補正を行うか否かを設定できる。このことから、上記補正の必要がない（又は低い）オブジェクト（例えば、ほとんど目立たないオブジェクト）については、補正を行わないことができる。この結果として、画像処理の負担を軽減することができる。
【００４５】
以上では、画像処理システムとして本発明を構成する場合について記載した。しかし、本発明は、画像処理プログラム、画像処理方法、又は画像処理装置として構成されてもよい。更には、本発明は、上記画像処理プログラムを記録したコンピュータで読み取り可能な記録媒体として構成されてもよい。
【発明の効果】
【００４６】
本発明によれば、見易い立体視表示を実現する画像処理システム等を提供することができる。
【図面の簡単な説明】
【００４７】
【図１】開状態におけるゲーム装置１０の正面図
【図２】閉状態におけるゲーム装置１０の左側面図、正面図、右側面図および背面図
【図３】ゲーム装置１０の内部構成を示すブロック図
【図４】本実施形態における特徴的動作の概要について説明するための図
【図５】本実施形態における特徴的動作の概要について説明するための図
【図６】ゲーム装置１０のメインメモリ３２のメモリマップに一例を示す図
【図７】ブレンド値決定式の一例をグラフで表した図
【図８】ＣＰＵ３１１によって実行されるゲーム処理のフローチャートの一例
【図９】図８のステップＳ２の座標変換処理のフローチャートの一例
【図１０】仮想左カメラ５０、仮想右カメラ５１及び仮想中間カメラ５２の位置関係及び撮像範囲を説明するための図
【図１１】図９のステップＳ１３の処理について説明するための図
【図１２】図９のステップＳ１４の処理について説明するための図
【図１３】図９のステップＳ１５の処理について説明するための図
【図１４】図９のステップＳ１６の処理について説明するための図
【図１５】図９のステップＳ１７の処理について説明するための図
【図１６】図９のステップＳ１７の処理について説明するための図
【図１７】図９のステップＳ１７の処理について説明するための図
【図１８】図９のステップＳ１７の処理について説明するための図
【図１９】図９のステップＳ１７の処理について説明するための図
【図２０】図８のステップＳ２の座標変換処理のフローチャートの他の一例
【図２１】仮想左カメラ５０及び仮想右カメラ５１の撮像範囲を説明するための図
【発明を実施するための形態】
【００４８】
（一実施形態）
以下、本発明の一実施形態に係る画像処理装置であるゲーム装置について説明する。なお、本発明は、このような装置に限定されるものではなく、このような装置の機能を実現する画像処理システムであってもよく、このような装置における画像処理方法であってもよく、このような装置において実行される画像処理プログラムであってもよい。更には、本発明は、この画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体であってもよい。
【００４９】
（ゲーム装置の外観構成）
以下、本発明の一実施形態に係るゲーム装置について説明する。図１および図２は、ゲーム装置１０の外観を示す平面図である。ゲーム装置１０は携帯型のゲーム装置であり、図１および図２に示すように折り畳み可能に構成されている。図１は、開いた状態（開状態）におけるゲーム装置１０を示し、図２は、閉じた状態（閉状態）におけるゲーム装置１０を示している。図１は、開状態におけるゲーム装置１０の正面図である。ゲーム装置１０は、撮像部によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることが可能である。また、ゲーム装置１０は、交換可能なメモリカード内に記憶され、または、サーバや他のゲーム装置から受信したゲームプログラムを実行可能であり、仮想空間に設定された仮想カメラで撮像した画像などのコンピュータグラフィックス処理により生成された画像を画面に表示したりすることができる。
【００５０】
まず、図１および図２を参照して、ゲーム装置１０の外観構成について説明する。図１および図２に示されるように、ゲーム装置１０は、下側ハウジング１１および上側ハウジング２１を有する。下側ハウジング１１と上側ハウジング２１とは、開閉可能（折り畳み可能）に接続されている。
【００５１】
（下側ハウジングの説明）
まず、下側ハウジング１１の構成について説明する。図１および図２に示すように、下側ハウジング１１には、下側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１２、タッチパネル１３、各操作ボタン１４Ａ〜１４Ｌ、アナログスティック１５、ＬＥＤ１６Ａ〜１６Ｂ、挿入口１７、および、マイクロフォン用孔１８が設けられる。以下、これらの詳細について説明する。
【００５２】
図１に示すように、下側ＬＣＤ１２は下側ハウジング１１に収納される。下側ＬＣＤ１２の画素数は、例えば、３２０ｄｏｔ×２４０ｄｏｔ（横×縦）であってもよい。下側ＬＣＤ１２は、後述する上側ＬＣＤ２２とは異なり、画像を（立体視可能ではなく）平面的に表示する表示装置である。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用してもよい。また、下側ＬＣＤ１２として、任意の解像度の表示装置を利用することができる。
【００５３】
図１に示されるように、ゲーム装置１０は、入力装置として、タッチパネル１３を備えている。タッチパネル１３は、下側ＬＣＤ１２の画面上に装着されている。なお、本実施形態では、タッチパネル１３は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。本実施形態では、タッチパネル１３として、下側ＬＣＤ１２の解像度と同解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１３の解像度と下側ＬＣＤ１２の解像度が一致している必要はない。また、下側ハウジング１１の上側面には挿入口１７（図１および図２（ｄ）に示す点線）が設けられている。挿入口１７は、タッチパネル１３に対する操作を行うために用いられるタッチペン２８を収納することができる。なお、タッチパネル１３に対する入力は通常タッチペン２８を用いて行われるが、タッチペン２８に限らずユーザの指でタッチパネル１３に対する入力をすることも可能である。
【００５４】
各操作ボタン１４Ａ〜１４Ｌは、所定の入力を行うための入力装置である。図１に示されるように、下側ハウジング１１の内側面（主面）には、各操作ボタン１４Ａ〜１４Ｌのうち、十字ボタン１４Ａ（方向入力ボタン１４Ａ）、ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、ボタン１４Ｅ、電源ボタン１４Ｆ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、およびスタートボタン１４Ｌが、設けられる。十字ボタン１４Ａは、十字の形状を有しており、上下左右の方向を指示するボタンを有している。ボタン１４Ａ〜１４Ｅ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、およびスタートボタン１４Ｌには、ゲーム装置１０が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン１４Ａは選択操作等に用いられ、各操作ボタン１４Ｂ〜１４Ｅは例えば決定操作やキャンセル操作等に用いられる。また、電源ボタン１４Ｆは、ゲーム装置１０の電源をオン／オフするために用いられる。
【００５５】
アナログスティック１５は、方向を指示するデバイスである。アナログスティック１５は、そのキートップが、下側ハウジング１１の内側面に平行にスライドするように構成されている。アナログスティック１５は、ゲーム装置１０が実行するプログラムに応じて機能する。例えば、仮想３次元空間に所定のオブジェクトが登場するゲームがゲーム装置１０によって実行される場合、アナログスティック１５は、当該所定のオブジェクトを仮想３次元空間内で移動させるための入力装置として機能する。この場合において、所定のオブジェクトはアナログスティック１５のキートップがスライドした方向に移動される。なお、アナログスティック１５として、上下左右および斜め方向の任意の方向に所定量だけ傾倒することでアナログ入力を可能としたものを用いても良い。
【００５６】
また、下側ハウジング１１の内側面には、マイクロフォン用孔１８が設けられる。マイクロフォン用孔１８の下部には後述する音声入力装置としてのマイク４２（図３参照）が設けられ、当該マイク４２がゲーム装置１０の外部の音を検出する。
【００５７】
図２（ａ）は閉状態におけるゲーム装置１０の左側面図であり、図２（ｂ）は閉状態におけるゲーム装置１０の正面図であり、図２（ｃ）は閉状態におけるゲーム装置１０の右側面図であり、図２（ｄ）は閉状態におけるゲーム装置１０の背面図である。図２（ｂ）および（ｄ）に示されるように、下側ハウジング１１の上側面には、Ｌボタン１４ＧおよびＲボタン１４Ｈが設けられている。Ｌボタン１４ＧおよびＲボタン１４Ｈは、例えば、撮像部のシャッターボタン（撮影指示ボタン）として機能することができる。また、図２（ａ）に示されるように、下側ハウジング１１の左側面には、音量ボタン１４Ｉが設けられる。音量ボタン１４Ｉは、ゲーム装置１０が備えるスピーカの音量を調整するために用いられる。
【００５８】
図２（ａ）に示されるように、下側ハウジング１１の左側面には開閉可能なカバー部１１Ｃが設けられる。このカバー部１１Ｃの内側には、ゲーム装置１０とデータ保存用外部メモリ４５とを電気的に接続するためのコネクタ（図示せず）が設けられる。データ保存用外部メモリ４５は、コネクタに着脱自在に装着される。データ保存用外部メモリ４５は、例えば、ゲーム装置１０によって撮像された画像のデータを記憶（保存）するために用いられる。
【００５９】
また、図２（ｄ）に示されるように、下側ハウジング１１の上側面には、ゲーム装置１０とゲームプログラムを記録した外部メモリ４４を挿入するための挿入口１１Ｄが設けられ、その挿入口１１Ｄの内部には、外部メモリ４４と電気的に着脱自在に接続するためのコネクタ（図示せず）が設けられる。当該外部メモリ４４がゲーム装置１０に接続されることにより、所定のゲームプログラムが実行される。
【００６０】
また、図１および図２（ｃ）に示されるように、下側ハウジング１１の下側面にはゲーム装置１０の電源のＯＮ／ＯＦＦ状況をユーザに通知する第１ＬＥＤ１６Ａ、下側ハウジング１１の右側面にはゲーム装置１０の無線通信の確立状況をユーザに通知する第２ＬＥＤ１６Ｂが設けられる。ゲーム装置１０は他の機器との間で無線通信を行うことが可能であり、第２ＬＥＤ１６Ｂは、無線通信が確立している場合に点灯する。ゲーム装置１０は、例えば、ＩＥＥＥ８０２．１１ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。下側ハウジング１１の右側面には、この無線通信の機能を有効／無効にする無線スイッチ１９が設けられる（図２（ｃ）参照）。
【００６１】
なお、図示は省略するが、下側ハウジング１１には、ゲーム装置１０の電源となる充電式電池が収納され、下側ハウジング１１の側面（例えば、上側面）に設けられた端子を介して当該電池を充電することができる。
【００６２】
（上側ハウジングの説明）
次に、上側ハウジング２１の構成について説明する。図１および図２に示すように、上側ハウジング２１には、上側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）２２、外側撮像部２３（外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂ）、内側撮像部２４、３Ｄ調整スイッチ２５、および、３Ｄインジケータ２６が設けられる。以下、これらの詳細について説明する。
【００６３】
図１に示すように、上側ＬＣＤ２２は上側ハウジング２１に収納される。上側ＬＣＤ２２の画素数は、例えば、８００ｄｏｔ×２４０ｄｏｔ（横×縦）であってもよい。なお、本実施形態では上側ＬＣＤ２２は液晶表示装置であるとしたが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置などが利用されてもよい。また、上側ＬＣＤ２２として、任意の解像度の表示装置を利用することができる。
【００６４】
上側ＬＣＤ２２は、立体視可能な画像（立体視画像）を表示することが可能な表示装置である。また、本実施例では、実質的に同一の表示領域を用いて左目用画像と右目用画像が表示される。具体的には、左目用画像と右目用画像が所定単位で（例えば、１列ずつ）横方向に交互に表示される方式の表示装置である。または、左目用画像と右目用画像とが時分割で交互に表示される方式の表示装置であってもよい。また、本実施例では、裸眼立体視可能な表示装置である。そして、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式（視差バリア方式）のものが用いられる。本実施形態では、上側ＬＣＤ２２はパララックスバリア方式のものとする。上側ＬＣＤ２２は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像（立体画像）を表示する。すなわち、上側ＬＣＤ２２は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像を視認させることにより、ユーザにとって立体感のある立体画像（立体視可能な画像）を表示することができる。また、上側ＬＣＤ２２は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる（上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右目にも左目にも見えるような表示モードである）。このように、上側ＬＣＤ２２は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する（平面視画像を表示する）平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、後述する３Ｄ調整スイッチ２５によって行われる。
【００６５】
外側撮像部２３は、上側ハウジング２１の外側面（上側ＬＣＤ２２が設けられた主面と反対側の背面）２１Ｄに設けられた２つの撮像部（２３ａおよび２３ｂ）の総称である。外側撮像部（左）２３ａと外側撮像部（右）２３ｂの撮像方向は、いずれも当該外側面２１Ｄの外向きの法線方向である。外側撮像部（左）２３ａと外側撮像部（右）２３ｂとは、ゲーム装置１０が実行するプログラムによって、ステレオカメラとして使用することが可能である。外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂは、それぞれ所定の共通の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【００６６】
内側撮像部２４は、上側ハウジング２１の内側面（主面）２１Ｂに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。内側撮像部２４は、所定の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【００６７】
３Ｄ調整スイッチ２５は、スライドスイッチであり、上述のように上側ＬＣＤ２２の表示モードを切り替えるために用いられるスイッチである。また、３Ｄ調整スイッチ２５は、上側ＬＣＤ２２に表示された立体視可能な画像（立体画像）の立体感を調整するために用いられる。３Ｄ調整スイッチ２５のスライダ２５ａは、所定方向（上下方向）の任意の位置にスライド可能であり、当該スライダ２５ａの位置に応じて上側ＬＣＤ２２の表示モードが設定される。また、スライダ２５ａの位置に応じて、立体画像の見え方が調整される。具体的には、スライダ２５ａの位置に応じて、右目用画像および左目用画像の横方向の位置のずれ量が調整される。
【００６８】
３Ｄインジケータ２６は、上側ＬＣＤ２２が立体表示モードか否かを示す。３Ｄインジケータ２６は、ＬＥＤであり、上側ＬＣＤ２２の立体表示モードが有効の場合に点灯する。なお、３Ｄインジケータ２６は、上側ＬＣＤ２２が立体表示モードになっており、かつ、立体視画像を表示するプログラム処理が実行されているときに限り、点灯するようにしてもよい。
【００６９】
また、上側ハウジング２１の内側面には、スピーカ孔２１Ｅが設けられる。後述するスピーカ４３からの音声がこのスピーカ孔２１Ｅから出力される。
【００７０】
（ゲーム装置１０の内部構成）
次に、図３を参照して、ゲーム装置１０の内部の電気的構成について説明する。図３は、ゲーム装置１０の内部構成を示すブロック図である。図３に示すように、ゲーム装置１０は、上述した各部に加えて、情報処理部３１、メインメモリ３２、外部メモリインターフェイス（外部メモリＩ／Ｆ）３３、データ保存用外部メモリＩ／Ｆ３４、データ保存用内部メモリ３５、無線通信モジュール３６、ローカル通信モジュール３７、リアルタイムクロック（ＲＴＣ）３８、加速度センサ３９、電源回路４０、およびインターフェイス回路（Ｉ／Ｆ回路）４１等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング１１（または上側ハウジング２１でもよい）内に収納される。
【００７１】
情報処理部３１は、所定のプログラムを実行するためのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１１、画像処理を行うＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１２等を含む情報処理手段である。情報処理部３１のＣＰＵ３１１は、ゲーム装置１０内のメモリ（例えば外部メモリＩ／Ｆ３３に接続された外部メモリ４４やデータ保存用内部メモリ３５）に記憶されているプログラムを実行することによって、当該プログラムに応じた処理を実行する。なお、情報処理部３１のＣＰＵ３１１によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。また、情報処理部３１は、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）３１３を含む。情報処理部３１のＧＰＵ３１２は、情報処理部３１のＣＰＵ３１１からの命令に応じて画像を生成し、ＶＲＡＭ３１３に描画する。そして、情報処理部３１のＧＰＵ３１２は、ＶＲＡＭ３１３に描画された画像を上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に出力し、上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に当該画像が表示される。
【００７２】
情報処理部３１には、メインメモリ３２、外部メモリＩ／Ｆ３３、データ保存用外部メモリＩ／Ｆ３４、および、データ保存用内部メモリ３５が接続される。外部メモリＩ／Ｆ３３は、外部メモリ４４を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリＩ／Ｆ３４は、データ保存用外部メモリ４５を着脱自在に接続するためのインターフェイスである。
【００７３】
メインメモリ３２は、情報処理部３１（のＣＰＵ３１１）のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ３２は、上記プログラムに基づく処理に用いられる各種データを一時的に記憶したり、外部（外部メモリ４４や他の機器等）から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ３２として例えばＰＳＲＡＭ（Ｐｓｅｕｄｏ−ＳＲＡＭ）を用いる。
【００７４】
外部メモリ４４は、情報処理部３１によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ４４は、例えば読み取り専用の半導体メモリで構成される。外部メモリ４４が外部メモリＩ／Ｆ３３に接続されると、情報処理部３１は外部メモリ４４に記憶されたプログラムを読み込むことができる。情報処理部３１が読み込んだプログラムを実行することにより、所定の処理が行われる。データ保存用外部メモリ４５は、不揮発性の読み書き可能なメモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ４５には、外側撮像部２３で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ４５がデータ保存用外部メモリＩ／Ｆ３４に接続されると、情報処理部３１はデータ保存用外部メモリ４５に記憶された画像を読み込み、上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に当該画像を表示することができる。
【００７５】
データ保存用内部メモリ３５は、読み書き可能な不揮発性メモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ３５には、無線通信モジュール３６を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【００７６】
無線通信モジュール３６は、例えばＩＥＥＥ８０２．１１ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。また、ローカル通信モジュール３７は、所定の通信方式（例えば独自プロトコルによる通信や、赤外線通信）により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール３６およびローカル通信モジュール３７は情報処理部３１に接続される。情報処理部３１は、無線通信モジュール３６を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール３７を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【００７７】
また、情報処理部３１には、加速度センサ３９が接続される。加速度センサ３９は、３軸（ｘｙｚ軸）方向に沿った直線方向の加速度（直線加速度）の大きさを検出する。加速度センサ３９は、下側ハウジング１１の内部に設けられる。加速度センサ３９は、図１に示すように、下側ハウジング１１の長辺方向をｘ軸、下側ハウジング１１の短辺方向をｙ軸、下側ハウジング１１の内側面（主面）に対して垂直な方向をｚ軸として、各軸の直線加速度の大きさを検出する。なお、加速度センサ３９は、例えば静電容量式の加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ３９は１軸又は２軸方向を検出する加速度センサであってもよい。情報処理部３１は、加速度センサ３９が検出した加速度を示すデータ（加速度データ）を受信して、ゲーム装置１０の姿勢や動きを検出することができる。なお、情報処理部３１には、上記した加速度センサ３９に加えて（又はその代わりに）角度センサや角速度センサ等の他のセンサが接続され、このセンサによってゲーム装置１０の姿勢や動きを検出してもよい。
【００７８】
また、情報処理部３１には、ＲＴＣ３８および電源回路４０が接続される。ＲＴＣ３８は、時間をカウントして情報処理部３１に出力する。情報処理部３１は、ＲＴＣ３８によって計時された時間に基づき現在時刻（日付）を計算する。電源回路４０は、ゲーム装置１０が有する電源（下側ハウジング１１に収納される上記充電式電池）からの電力を制御し、ゲーム装置１０の各部品に電力を供給する。
【００７９】
また、情報処理部３１には、ＬＥＤ１６（１６Ａ、１６Ｂ）が接続される。情報処理部３１は、ＬＥＤ１６を用いて、ゲーム装置１０の電源のＯＮ／ＯＦＦ状況をユーザに通知し、又、ゲーム装置１０の無線通信の確立状況をユーザに通知する。
【００８０】
また、情報処理部３１には、Ｉ／Ｆ回路４１が接続される。Ｉ／Ｆ回路４１には、マイク４２およびスピーカ４３が接続される。具体的には、Ｉ／Ｆ回路４１には、図示しないアンプを介してスピーカ４３が接続される。マイク４２は、ユーザの音声を検知して音声信号をＩ／Ｆ回路４１に出力する。アンプは、Ｉ／Ｆ回路４１からの音声信号を増幅し、音声をスピーカ４３から出力させる。また、タッチパネル１３はＩ／Ｆ回路４１に接続される。Ｉ／Ｆ回路４１は、マイク４２およびスピーカ４３（アンプ）の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換およびＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル１３からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部３１に出力する。タッチ位置データは、タッチパネル１３の入力面において入力が行われた位置の座標を示す。なお、タッチパネル制御回路は、タッチパネル１３からの信号の読み込み、および、タッチ位置データの生成を所定時間に１回の割合で行う。情報処理部３１は、タッチ位置データを取得することにより、タッチパネル１３に対して入力が行われた位置を知ることができる。
【００８１】
操作ボタン１４は、上記各操作ボタン１４Ａ〜１４Ｌからなり、情報処理部３１に接続される。操作ボタン１４から情報処理部３１へは、各操作ボタン１４Ａ〜１４Ｉに対する入力状況（押下されたか否か）を示す操作データが出力される。情報処理部３１は、操作ボタン１４から操作データを取得することによって、操作ボタン１４に対する入力に従った処理を実行する。
【００８２】
アナログスティック１５は情報処理部３１に接続される。アナログスティック１５から情報処理部３１へは、アナログスティック１５に対するアナログ入力（操作方向及び操作量）を示す操作データが出力される。情報処理部３１は、アナログスティック１５から操作データを取得することによって、アナログスティック１５に対する入力に従った処理を実行する。
【００８３】
下側ＬＣＤ１２および上側ＬＣＤ２２は情報処理部３１に接続される。下側ＬＣＤ１２および上側ＬＣＤ２２は、情報処理部３１（のＧＰＵ３１２）の指示に従って画像を表示する。本実施形態では、情報処理部３１は、上側ＬＣＤ２２に立体視画像（立体視可能な画像）を表示させる。
【００８４】
具体的には、情報処理部３１は、上側ＬＣＤ２２のＬＣＤコントローラ（図示せず）と接続され、当該ＬＣＤコントローラに対して視差バリアのＯＮ／ＯＦＦを制御する。上側ＬＣＤ２２の視差バリアがＯＮになっている場合、情報処理部３１のＶＲＡＭ３１３に格納された右目用画像と左目用画像とが、上側ＬＣＤ２２に出力される。より具体的には、ＬＣＤコントローラは、右目用画像について縦方向に１ライン分の画素データを読み出す処理と、左目用画像について縦方向に１ライン分の画素データを読み出す処理とを交互に繰り返すことによって、ＶＲＡＭ３１３から右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素を縦に１ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側ＬＣＤ２２の画面に表示される。そして、上側ＬＣＤ２２の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側ＬＣＤ２２の画面には立体視可能な画像が表示される。
【００８５】
外側撮像部２３および内側撮像部２４は、情報処理部３１に接続される。外側撮像部２３および内側撮像部２４は、情報処理部３１の指示に従って画像を撮像し、撮像した画像データを情報処理部３１に出力する。
【００８６】
３Ｄ調整スイッチ２５は、情報処理部３１に接続される。３Ｄ調整スイッチ２５は、スライダ２５ａの位置に応じた電気信号を情報処理部３１に送信する。
【００８７】
また、３Ｄインジケータ２６は、情報処理部３１に接続される。情報処理部３１は、３Ｄインジケータ２６の点灯を制御する。例えば、情報処理部３１は、上側ＬＣＤ２２が立体表示モードである場合、３Ｄインジケータ２６を点灯させる。以上がゲーム装置１０の内部構成の説明である。
【００８８】
（本実施形態における特徴的動作の概要）
次に、図４及び図５を参照して、本実施形態における特徴的動作の概要について説明する。図４及び図５は、立体視表示によって、オブジェクトがユーザに向かって飛び出して視認される場合の例を示す図である。なお、図４及び図５において、（１）は、立体視表示を行うディスプレイをユーザが視認している状況を上方から見た概念図であり、（２）は、ユーザが視認する（１）の状況のディスプレイを示す図である。
【００８９】
図４（１）に示すように、ディスプレイによって、オブジェクトＡ、Ｂ及びＣが、画面からユーザに向かって飛び出してくるように立体視表示されている。具体的には、ディスプレイによって、オブジェクトＡは画面上よりもユーザに近い位置に視認される視差で表示され、オブジェクトＣはオブジェクトＡよりもユーザに近い位置に視認される視差で表示され、オブジェクトＢはオブジェクトＣよりもユーザに近い位置に視認される視差で表示されている。ここで、極端に大きく手前に飛び出して視認されるような視差で（つまり、極端に大きい視差で）オブジェクトが表示された場合、ユーザは、このオブジェクトを視認しづらくなる場合がある。具体的には、ユーザは、大きく飛び出してくるオブジェクトＣ及び更に大きく飛び出してくるオブジェクトＢを、図４（２）に例示するように、各オブジェクトを２つにぶれた画像として視認してしまう場合がある。
【００９０】
そこで、本実施形態では、上側ＬＣＤ２２によって所定位置よりも手前に飛び出してくるように立体視表示されるオブジェクトについて、飛び出してくる程度を緩和する。具体的には、図５（１）に示すように、図４（１）に示したオブジェクトＣ及びＢの飛び出してくる程度（つまり、視差）を、それぞれ緩和する補正を行う。なお、図５（１）において、オブジェクトの補正前の位置を点線で示している。このことによって、本実施形態では、図５（２）に示すように、オブジェクトＡ、Ｂ及びＣを、ユーザに見やすく立体視させることができる。また、本実施形態では、図５（２）から解るように、各オブジェクト間の奥行き方向の位置関係を、補正の前後で崩すことなく、補正が行われる。また、本実施形態では、オブジェクトを形成する頂点毎に視差を緩和する処理を行って上記補正を行う。このことから、例えば、大きなオブジェクト（大きな奥行きを持つオブジェクト）が大きく飛び出してくる場合であっても自然で最適な補正を行うことができる。
【００９１】
（画像処理の詳細）
次に、ゲーム装置１０によってゲーム処理が実行される際に行われる画像処理の詳細を説明する。まず、ゲーム処理の際にメインメモリ３２に記憶されるデータについて説明する。図６は、ゲーム装置１０のメインメモリ３２のメモリマップに一例を示す図である。図６に示すように、メインメモリ３２は、プログラム記憶領域４００およびデータ記憶領域５００を含む。プログラム記憶領域４００およびデータ記憶領域５００のデータの一部は、例えば外部メモリ４４に記憶されており、ゲーム処理の実行時にはメインメモリ３２に読み込まれて記憶される。
【００９２】
プログラム記憶領域４００には、後述する図８に示すフローチャートの処理を実行するゲーム処理プログラム４０１や、後述する図９に示すフローチャートの処理を実行する描画処理プログラム４０２等のプログラムが記憶される。
【００９３】
データ記憶領域５００には、操作データ５０１、仮想カメラデータ５０２、深度閾値データ５０６、ブレンド値決定式データ５０７、及びオブジェクトデータ５０８等が記憶される。
【００９４】
操作データ５０１は、各操作ボタン１４Ａ〜Ｅ、Ｇ〜Ｈ、アナログスティック１５及びタッチパネル１３に対して行われたユーザの操作を示すデータである。この操作データ５０１は、例えば、ユーザがプレイヤオブジェクトを移動させる操作を示すデータでる。
【００９５】
仮想カメラデータ５０２は、仮想左カメラデータ５０３、仮想右カメラデータ５０４、及び仮想中間カメラデータ５０５等を含む。
【００９６】
仮想左カメラデータ５０３は、ユーザの左目に見せるための左目用画像を撮像（描画）する仮想左カメラ５０に関するデータであり、ゲームが展開される仮想３次元空間における仮想左カメラ５０の位置、撮像方向、及び撮像画角等を示すデータである。
【００９７】
仮想右カメラデータ５０４は、ユーザの右目に見せるための右目用画像を撮像（描画）する仮想右カメラ５１に関するデータであり、ゲームが展開される仮想３次元空間における仮想右カメラ５１の位置、撮像方向、及び撮像画角等を示すデータである。
【００９８】
仮想中間カメラデータ５０５は、図４及び図５を用いて説明した視差の補正を行うために用いられる仮想中間カメラ５２に関するデータであり、ゲームが展開される仮想３次元空間における仮想中間カメラ５２の位置及び撮像方向等を示すデータである。
【００９９】
なお、仮想左カメラ５０、仮想右カメラ５１及び仮想中間カメラ５２の位置関係については、図１０を用いて後に説明する。また、これら３つの仮想カメラは、１つの仮想カメラが位置等を切り替えて撮像（描画）を行うことによって、実質的にこれら３つの仮想カメラとして機能しているものと考えてもよい。
【０１００】
深度閾値データ５０６は、仮想中間カメラ５２のビュー座標系におけるｚ座標値（仮想中間カメラ５２からの深度と考えてもよい）に設定される深度閾値ＤＴを示すデータである。なお、本実施形態では、一例として、深度閾値ＤＴ＝１０．０とする。深度閾値ＤＴについては、後に図１２を用いて具体的に説明する。
【０１０１】
ブレンド値決定式データ５０７は、図４及び図５を用いて説明した視差の補正を行うために用いられるブレンド値ｄと、仮想中間カメラ５２のビュー座標系（ビュー空間）におけるｚ座標値との関係を規定する数式（ブレンド値決定式）を示すデータである。図７は、ブレンド値決定式の一例をグラフで表した図である。図７に示すように、ブレンド値ｄは、上記ｚ座標値が深度閾値ＤＴ（１０．０）以上である場合に最大値（１．００）であり、このｚ座標値が深度閾値ＤＴから減少すると共に線形的に減少し、クランプ値（０．３５）に達するとこのｚ座標値の減少に関わらずそれ以上は減少しない（固定される）。なお、クランプ値が設けられるのは、各オブジェクトが飛び出して視認される程度（視差の大きさ）を緩和する補正によって、各オブジェクトの前後間の位置関係が崩れることを防止するためである。なお、ブレンド値決定式は、図７に示す関係を規定するテーブルに置き換えられてもよい。
【０１０２】
オブジェクトデータ５０８は、プレイヤオブジェクトデータ５０９、ノンプレイヤオブジェクトデータ５１０、及び他オブジェクトデータ５１１を含む。
【０１０３】
プレイヤオブジェクトデータ５０９は、仮想３次元空間におけるプレイヤオブジェクトの位置、向き、形状（ポリゴン形状）、及び色彩（テクスチャ）等を示すデータである。
【０１０４】
ノンプレイヤオブジェクトデータ５１０は、仮想３次元空間におけるノンプレイヤオブジェクトの位置、向き、形状（ポリゴン形状）、及び色彩（テクスチャ）等を示すデータである。なお、ノンプレイヤオブジェクトは、例えば、敵オブジェクトや道具オブジェクトである。
【０１０５】
他オブジェクトデータ５１１は、仮想３次元空間における他オブジェクトの位置、向き、形状（ポリゴン形状）、及び色彩（テクスチャ）等を示すデータである。なお、他オブジェクトは、例えば、建物オブジェクトや背景オブジェクトである。
【０１０６】
次に、図８を参照して、ゲーム装置１０によって実行されるゲーム処理のフローについて簡単に説明する。ゲーム装置１０の電源が投入されると、ゲーム装置１０のＣＰＵ３１１は、データ保存用内部メモリ３５等に記憶されている起動プログラムを実行し、これによってメインメモリ３２等の各ユニットが初期化される。そして、外部メモリ４４に記憶されたゲーム処理プログラム４０１等がメインメモリ３２に読み込まれ、ＣＰＵ３１１によってゲーム処理プログラム４０１が実行される。
【０１０７】
図８は、ＣＰＵ３１１によって実行されるゲーム処理のフローチャートの一例である。図８のフローチャートで示す処理は、１フレーム（例えば１／６０秒）毎に繰り返し実行される。なお、以下の説明では、本発明とは直接関連しない処理についての説明は省略する。
【０１０８】
まず、ステップＳ１において、ＣＰＵ３１１は、ゲーム処理を実行してゲームを進行させる。具体的には、ＣＰＵ３１１は、オブジェクトデータ５０８に従って仮想３次元空間にプレイヤオブジェクト、ノンプレイヤオブジェクト、及び他オブジェクト等を配置し、仮想カメラデータ５０２に従って仮想３次元空間に仮想左カメラ５０、仮想右カメラ５１及び仮想中間カメラ５２を配置し、操作データ５０１に従ってプレイヤオブジェクトを制御してゲームを進行させる。ここで、図１０に示すように、仮想中間カメラ５２を中心として、矢印６０Ｃで示す仮想中間カメラ５２の撮像方向と垂直な方向に、仮想左カメラ５０及び仮想右カメラ５１が配置される。仮想中間カメラ５２と仮想左カメラ５０との間隔と、仮想中間カメラ５２と仮想右カメラ５１との間隔とは同一である。また、仮想右カメラ５１及び仮想左カメラ５０の撮像方向６０Ｌ及び６０Ｒは、仮想中間カメラ５２の撮像方向６０Ｃと、それぞれ同一である。また、仮想中間カメラ５２の位置を点ＯＣで示し、仮想左カメラ５０の位置を点ＯＬ示し、仮想右カメラ５１の位置を点ＯＲで示す。そして、仮想中間カメラ５２、仮想左カメラ５０及び仮想右カメラ５１（以下、これらを総称して仮想カメラという場合がある）を用いて、撮像対象のオブジェクト５３が撮像（描画）される。Ｄ０は、左目用画像の表示位置と右目用画像の表示位置との差がゼロとなる深度であり、この深度が示す位置に在るオブジェクトはディスプレイ面（上側ＬＣＤ２２の表示面）上に視認される（つまり、飛び出したようにも引っ込んだようにも見えない）。ここで、深度とは、仮想カメラからの当該仮想カメラの撮像方向における距離であり、具体的には、後述する図１３及び図１４等における仮想カメラ（５０〜５２）のビュー座標系のｚ座標値によって規定される距離である。８０Ｌは仮想左カメラ５０が描画する領域を示し、８０Ｒは仮想右カメラ５１が描画する領域を示す。そして、深度Ｄ０の位置にスクリーン（投影面）が在るとした場合において、仮想左カメラ５０によって描画された画像７０Ｌのうちの領域７５が切り取られて上側ＬＣＤ２２に左目用画像として表示され、仮想右カメラ５１によって描画された画像７０Ｒのうちの領域７５が切り取られて上側ＬＣＤ２２に右目用画像として表示される。また、ステップＳ１の処理において、ＣＰＵ３１１は、所定のオブジェクトについては、図４及び図５を用いて説明した視差を緩和する処理（図９を用いて後述するステップＳ１５〜Ｓ１８の処理）の対象とならないように、仮想カメラから常に所定の距離（後述する深度閾値ＤＴ）以上離れるように位置関係を制御する。なお、この所定のオブジェクトは、例えば、プレイヤによって操作されるプレイヤオブジェクトや、背景オブジェクトである。その後、処理はステップＳ２に移る。
【０１０９】
ここで、ステップＳ２及びＳ３の処理は、ＧＰＵ３１２が描画処理プログラム４０２を実行することによって、ステップＳ１の処理によってゲームが進行している仮想３次元空間（ゲーム空間）を仮想カメラで描画して上側ＬＣＤ２２に表示させる処理である。
【０１１０】
ステップＳ２において、ＧＰＵ３１２は、座標変換処理を行う。図９は、ＧＰＵ３１２によって実行される描画処理における座標変換処理のフローチャートの一例である。以下、図９を用いて、ステップＳ２の座標変換処理について詳細に説明する。
【０１１１】
まず、ステップＳ１１において、ＧＰＵ３１２は、描画対象として、座標変換処理が行われていないオブジェクトを１つ選択する。その後、処理はステップＳ１２に移る。
【０１１２】
ステップＳ１２において、ＧＰＵ３１２は、ステップＳ１１で選択したオブジェクトを構成する座標変換処理が行われていない頂点Ｐ（ワールド空間における頂点）を、１つ選択する。その後、処理はステップＳ１３に移る。
【０１１３】
ステップＳ１３において、ＧＰＵ３１２は、図１１に例示するように、仮想中間カメラ５２によって、Ｓ１２で選択した頂点Ｐの深度ＤＰを算出する。言い換えると、ＧＰＵ３１２は、仮想中間カメラ５２のビュー空間における頂点Ｐのｚ座標を算出する。なお、ビュー空間は、ビューイング空間又はカメラ空間と言われる場合もあり、ビュー空間を規定する座標系をビュー座標系と呼ぶ。その後、処理はステップＳ１４に移る。
【０１１４】
ステップＳ１４において、ＧＰＵ３１２は、深度閾値データ５０６を参照して、ステップＳ１３で算出した深度ＤＰが深度閾値ＤＴよりも小さいか否かを判定する。ここで、図１２に例示するように、深度閾値ＤＴは、ディスプレイ面（上側ＬＣＤ２２の表示面）上に視認される位置（Ｄ０）から、仮想中間カメラ５２に所定距離近づいた位置の深度を示す値である。以下では、一例として、ディスプレイ面（上側ＬＣＤ２２の表示面）上に視認される位置の深度Ｄ０を「１５．０」とし、深度閾値ＤＴを「１０．０」として説明を行う。ステップＳ１４での判定がＹＥＳの場合（つまり、図１２（２）に示す位置関係の場合）、処理はステップＳ１５に移り、この判定がＮＯの場合（つまり、図１２（１）に示す位置関係の場合）、処理はステップＳ１９に移る。
【０１１５】
ステップＳ１５において、ＧＰＵ３１２は、ステップＳ１２で選択した頂点Ｐを、仮想中間カメラ５２のビュー空間における頂点Ｐ１に変換（ビュー変換）する。ここで、ステップＳ１３の処理によって、仮想中間カメラ５２のビュー空間における頂点Ｐ１のｚ座標は既に算出されているので、ＧＰＵ３１２は、仮想中間カメラ５２のビュー空間における頂点Ｐ１のｘ座標及びｙ座標を算出する処理を行うことによって、このビュー変換を行う。図１３は、ステップＳ１５の処理を説明するための図である。図１３に示すように、図１２（２）に示したワールド空間における頂点Ｐは、仮想中間カメラ５２のビュー空間におけるＰ１に変換されている。以下では、一例として、頂点Ｐ１の座標を（−１．０，１．５，８．５）として説明を行う。その後、処理はステップＳ１６に移る。
【０１１６】
ステップＳ１６において、ＧＰＵ３１２は、ステップＳ１２で選択した頂点Ｐを、仮想
左カメラ５０のビュー空間における頂点Ｐ２に変換（ビュー変換）し、又、この頂点Ｐを
、仮想右カメラ５１のビュー空間における頂点Ｐ３に変換（ビュー変換）する。図１４は
、ステップＳ１６の処理を説明するための図である。図１４に示すように、図１２（２）
に示したワールド空間における頂点Ｐは、仮想左カメラ５０のビュー空間におけるＰ２に
変換され、また、この頂点Ｐは、仮想右カメラ５１のビュー空間におけるＰ３に変換され
る。ここで、仮想左カメラ５０、仮想右カメラ５１及び仮想中間カメラ５２は図１０を用
いて説明した位置関係にあるので、Ｐ２のｘ座標値はＰ１のｘ座標値よりも所定の値（仮
想左カメラ５０と仮想中間カメラ５２との間隔）だけ大きい値となり、Ｐ３のｘ座標値は
Ｐ１のｘ座標値よりも所定の値（仮想左カメラ５０と仮想中間カメラ５２との間隔）だけ
小さい値となる。ここで、本実施形態では、仮想左カメラ５０と仮想中間カメラ５２との
間隔、及び仮想右カメラ５１と仮想中間カメラ５２との間隔を、何れも「１．０」とする
。この様にすると、Ｐ２の座標は（０．０，１．５，８．５）となり、Ｐ３の座標は（−
２．０，１．５，８．５）となる。その後、処理はステップＳ１７に移る。
【０１１７】
ステップＳ１７において、ＧＰＵ３１２は、ステップＳ１５で求めた頂点Ｐ１とステッ
プＳ１６で求めた頂点Ｐ２とをブレンド値ｄを用いて補間（ブレンド）して、仮想左カメ
ラ５０のビュー座標における補正頂点Ｐ４を算出する。また、ステップＳ１７において、
ＧＰＵ３１２は、ステップＳ１５で求めた頂点Ｐ１とステップＳ１６で求めた頂点Ｐ３と
をブレンド値ｄを用いて補間（ブレンド）して、仮想右カメラ５１のビュー座標における
補正頂点Ｐ５を算出する。このことによって、結果として、オブジェクトの飛び出してく
る程度（視差の大きさ）が緩和されることとなる。以下、具体的に説明する。
【０１１８】
まず、仮想左カメラ５０のビュー座標における補正頂点Ｐ４を算出する手順について、説明する。ＧＰＵ３１２は、ブレンド値決定式データ５０７が示すブレンド値決定式（図７参照）を用いて、図１５に示すように、頂点Ｐ１のｚ座標値「８．５」に対応するブレンド値ｄとして「０．８５」を決定する。
【０１１９】
ここで、ＧＰＵ３１２は、ブレンド値ｄに応じて、頂点Ｐ２のｘ座標値をどの程度頂点Ｐ１のｘ座標値に近付ける補正を行うかを決定する。具体的には、ＧＰＵ３１２は、図１６に示す直線Ｈに従って、上記補正の程度を決定する。図１６から解るように、ＧＰＵ３１２は、ブレンド値ｄが最大値「１．００」である場合には、頂点Ｐ２のｘ座標値を、補正頂点Ｐ４のｘ座標値として決定する。つまり、補正は行わない。また、ＧＰＵ３１２は、ブレンド値ｄが最大値と最小値（クランプ値）「０．３５」の間の値をとる範囲では、直線Ｈに従って、ブレンド値ｄが減少する程、頂点Ｐ１のｘ座標値に近づく値となるように、補正頂点Ｐ４のｘ座標値を決定する。つまり、補正の程度を直線的に増加させる。なお、図１６に示すように、直線Ｈの傾きは、実際はブレンド値ｄはクランプ値よりも小さい値をとらないが、仮にブレンド値ｄが「０」となった場合には頂点Ｐ１のｘ座標値が補正頂点Ｐ４のｘ座標値として決定されることとなる傾きである。なお、図１５に示すグラフにおけるブレンド値ｄのクランプ値は、図５を用いて説明したように、オブジェクトが飛び出してくる程度（視差の大きさ）を緩和する補正を行っても、各オブジェクトの前後間の位置関係が逆転する（崩れる）ことがない値に設定される。また、図１５に示すグラフにおけるブレンド値ｄのクランプ値から最大値までの範囲のグラフの傾きと、図１６に示す直線Ｈの傾きは、オブジェクトが飛び出してくる程度（視差の大きさ）を緩和する補正を行っても、各オブジェクトの前後間の位置関係が逆転することがない傾きに設定される。
【０１２０】
ＧＰＵ３１２は、図１６を用いて上記した方法を用いて、ブレンド値「０．８５」に対
応する補正頂点Ｐ４のｘ座標値を算出する。この場合、ＧＰＵ３１２は、図１７から解る
ように、ブレンド値「０．８５」に対応する補正頂点Ｐ４のｘ座標値「−０．１５」を算
出する。この結果として、ＧＰＵ３１２は、ステップＳ１５で求めた図１３に示す頂点Ｐ
１（−１．０，１．５，８．５）と、ステップＳ１６で求めた図１４（１）に示す頂点Ｐ
２（０．０，１．５，８．５）とをブレンド値ｄ「０．８５」を用いて補間して、図１９
（１）に示すように、仮想左カメラ５０のビュー座標における補正頂点Ｐ４（−０．１５
，１．５，８．５）を算出する。なお、頂点Ｐ１のｙ座標値及びｚ座標値と、頂点Ｐ２の
ｙ座標値及びｚ座標値とは、それぞれ同一なので（つまり補正されないので）、補正頂点
Ｐ４のｙ座標値及びｚ座標値は、頂点Ｐ２のｙ座標値「１．５」及びｚ座標値「８．５」
をそのまま使用することができる。
【０１２１】
次に、仮想右カメラ５１のビュー座標における補正頂点Ｐ５を算出する手順について、説明する。ＧＰＵ３１２は、ブレンド値決定式データ５０７が示すブレンド値決定式（図７参照）を用いて、図１５に示すように、頂点Ｐ１のｚ座標値「８．５」に対応するブレンド値ｄとして「０．８５」を決定する。
【０１２２】
ＧＰＵ３１２は、図１６を用いて上記した方法を用いて、ブレンド値「０．８５」に対応する補正頂点Ｐ５のｘ座標値を算出する。この場合、ＧＰＵ３１２は、図１８から解るように、ブレンド値「０．８５」に対応する補正頂点Ｐ５のｘ座標値「−１．８５」を算出する。この結果として、ＧＰＵ３１２は、ステップＳ１５で求めた図１３に示す頂点Ｐ１（−１．０，１．５，８．５）と、ステップＳ１６で求めた図１４（２）に示す頂点Ｐ３（−２．０，１．５，８．５）とをブレンド値ｂ「０．８５」を用いて補間して、図１９（２）に示すように、仮想右カメラ５１のビュー座標における補正頂点Ｐ５（−１．８５，１．５，８．５）を算出する。なお、頂点Ｐ１のｙ座標値及びｚ座標値と、頂点Ｐ３のｙ座標値及びｚ座標値とは、それぞれ同一なので、補正頂点Ｐ５のｙ座標値及びｚ座標値は、頂点Ｐ３のｙ座標値「１．５」及びｚ座標値「８．５」をそのまま使用することができる。
【０１２３】
以上のように、ステップＳ１７において、ＧＰＵ３１２は、仮想左カメラ５０のビュー座標系において、図１４（１）に示す頂点Ｐ２（０．０，１．５，８．５）を、図１９（１）に示す頂点Ｐ４（−０．１５，１．５，８．５）に補正する。また、ＧＰＵ３１２は、仮想右カメラ５１のビュー座標系において、図１４（２）に示す頂点Ｐ３（−２．０，１．５，８．５）を、図１９（２）に示す頂点Ｐ５（−１．８５，１．５，８．５）に補正する。このことによって、頂点Ｐ２のｘ座標値（０．０）と頂点Ｐ３のｘ座標値（−２．０）との差「２．０」は、頂点Ｐ４のｘ座標値（−０．１５）と頂点Ｐ５のｘ座標値（−１．８５）との差「１．７」に減少する。この結果として、ステップＳ１２で処理対象として選択された頂点Ｐは、左目用画像と右目用画像との間の視差を緩和（減少）されて、上側ＬＣＤ２２に表示されることとなる。言い換えれば、左目用画像における頂点Ｐはユーザから見て左方向に移動する補正を施され（図１４（１）、図１９（１）参照）、右目用画像における頂点Ｐはユーザから見て右方向に移動する補正を施され（図１４（２）、図１９（２）参照）、このことによって、頂点Ｐの左目用画像と右目用画像との間の視差が緩和（減少）されることとなる。その後、処理はステップＳ１８に移る。
【０１２４】
ステップＳ１８において、ＧＰＵ３１２は、ステップＳ１７で算出した補正頂点Ｐ４の座標を、左目用画像のスクリーン座標に変換し、ステップＳ１７で算出した補正頂点Ｐ５の座標を、右目用画像のスクリーン座標に変換する。つまり、ＧＰＵ３１２は、補正頂点Ｐ４を左目用画像のスクリーンに描画し、補正頂点Ｐ５を右目用画像のスクリーンに描画する。その後、処理はステップＳ２１に移る。
【０１２５】
一方、ステップＳ１９において、ＧＰＵ３１２は、ステップＳ１６と同様にして、ステップＳ１２で選択した頂点Ｐを、仮想左カメラ５０のビュー空間における頂点Ｐ２に変換（ビュー変換）し、又、この頂点Ｐを、仮想右カメラ５１のビュー空間における頂点Ｐ３に変換（ビュー変換）する。ステップＳ１９の処理は、ステップＳ１６の処理と同一であるので、その説明を省略する。その後、処理はステップＳ２０に移る。
【０１２６】
ステップＳ２０において、ＧＰＵ３１２は、ステップＳ１９で求めた頂点Ｐ２の座標を
、左目用画像のスクリーン座標に変換し、ステップＳ１９で求めた頂点Ｐ３の座標を、右
目用画像のスクリーン座標に変換する。つまり、ＧＰＵ３１２は、頂点Ｐ２を左目用画像
のスクリーンに描画し、頂点Ｐ３を右目用画像のスクリーンに描画する。その後、処
理はステップＳ２１に移る。
【０１２７】
ステップＳ２１において、ＧＰＵ３１２は、ステップＳ１１で選択した処理対象のオブジェクトを構成する頂点の全てについて処理を実行したか否かを判定する。ステップＳ２１での判定がＹＥＳの場合には処理はステップＳ２２に移り、この判定がＮＯの場合には処理はステップＳ１２に戻る。そして、処理がステップＳ１２に戻った場合には、ステップＳ１２において未処理の頂点Ｐが選択されて、この頂点Ｐについて処理が行われる。
【０１２８】
ステップＳ２２において、ＧＰＵ３１２は、仮想カメラの撮像範囲内の全てのオブジェクトに対して処理を行ったか否かを判定する。ステップＳ２２での判定がＹＥＳの場合には図９の座標変換処理は終了し処理は図８のステップＳ３に移り、この判定がＮＯの場合には処理はステップＳ１１に戻る。そして、処理がステップＳ１１に戻った場合には、ステップＳ１１において未処理のオブジェクトが選択されて、このオブジェクトについて処理が行われる。ステップＳ２１及びＳ２２の判定処理が行われることによって、仮想カメラの撮像範囲内の全てのオブジェクトに対して、座標変換処理が行われることとなる。
【０１２９】
図８のステップＳ３において、ＧＰＵ３１２は、オブジェクトデータ５０８を参照して、ステップＳ２によって座標変換処理された頂点に基づいて、各オブジェクトを構成する多数のポリゴンにテクスチャを貼り付けて、左目用画像及び右目用画像を生成し、上側ＬＣＤ２２に出力する。このことによって、上側ＬＣＤ２２に立体視画像が表示されることとなる。その後、処理はステップＳ４に移る。
【０１３０】
ステップＳ４において、ＣＰＵ３１１は、ゲームが終了したか否かを判定する。具体的には、ＣＰＵ３１１は、仮想３次元空間で進行しているゲームが所定の終了状態になったか否か、及び操作データ５０１に基づいてユーザがゲームを終了させる操作を行ったか否かを判定し、所定の終了状態になった場合又はゲームを終了させる操作が行われた場合（ステップＳ４でＹＥＳ）には、ゲームを終了させる。一方、ステップＳ４でＮＯと判定した場合、ＣＰＵ３１１は、処理をＳ１に戻す。
【０１３１】
以上に説明したように、本実施形態によれば、上側ＬＣＤ２２によって所定位置よりも手前に飛び出してくるように立体視表示されるオブジェクトについて、左目用画像と右目用画像との間の視差を低減する補正を行うことによって、飛び出してくる程度を緩和する。また、本実施形態では、各オブジェクト間の奥行き方向の位置関係を、補正の前後で崩すことなく、補正が行われる。この結果として、オブジェクト間の前後関係が不適切に反転して視認されることがない。また、本実施形態では、オブジェクトを形成する頂点毎に視差を緩和する処理を行う。このことから、例えば、大きなオブジェクト（大きな奥行きを持つオブジェクト）が大きく飛び出してくる場合であっても、自然で最適な補正を行うことができる。以上のことから、本実施形態によれば、見易い立体視表示を実現することができる。
【０１３２】
（変形例）
なお、以上に説明した本実施形態では、図１２を用いて説明したように、深度閾値ＤＴが、ディスプレイ面（上側ＬＣＤ２２の表示面）上に視認される位置（Ｄ０）よりも手前（仮想中間カメラ５２側）の位置の深度を示す値である場合を、一例に挙げて説明した。しかし、深度閾値ＤＴは、ディスプレイ面（上側ＬＣＤ２２の表示面）上に視認される位置よりも奥の位置の深度を示す値であってもよいし、このディスプレイ面上に視認される位置の深度を示す値をであってもよい。
【０１３３】
また、本実施形態では、図１５を用いて説明したように、ブレンド値ｄと深度ＤＰとは線形関係として説明した。しかし、オブジェクトが飛び出してくる程度（視差の大きさ）を緩和する補正を行っても、各オブジェクトの前後間の位置関係が逆転する（崩れる）ことがないのであれば、この関係は線形関係でなくともよい。また、本実施形態では、図１６を用いて説明したように、ブレンド値ｄと補正の度合いとの関係は、線形関係（直線Ｈ）として説明した。しかし、オブジェクトが飛び出してくる程度（視差の大きさ）を緩和する補正を行っても、各オブジェクトの前後間の位置関係が逆転することがないのであれば、この関係は線形関係でなくともよい。
【０１３４】
また、本実施形態では、図８のステップＳ１で説明したように、所定のオブジェクト（プレイヤオブジェクト等）については、視差を緩和する処理（図９のステップＳ１５〜Ｓ１８の処理）の対象とならないように、仮想カメラから常に所定の距離（深度閾値ＤＰ）以上離れるように位置関係を制御されていた。しかし、図８のステップＳ１においてこの様な処理を行わず、図８のステップ２の座標変換処理（図９参照）において、上記所定のオブジェクトについて視差を緩和する処理の対象とならないようにしてもよい。具体的には、図２０に示すように、図８のステップ２の座標変換処理を変形してもよい。図２０のフローチャートは、図９のフローチャートのステップＳ１２とステップＳ１３との間に、ステップＳ３０を追加したものである。図２０のステップＳ３０において、ＧＰＵ３１２は、ステップＳ１２で選択した頂点Ｐが、上記所定のオブジェクト（プレイヤオブジェクト等）ではない補正対象のオブジェクトの頂点であるか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ１３に移り補正処理が行われることとなる。一方、この判定がＮＯの場合、処理はステップＳ１９に移り補正処理は行われないこととなる。
【０１３５】
また、本実施形態では、上側ＬＣＤ２２に表示される立体視画像が、裸眼で立体視できる画像であるものとして説明した。しかし、上側ＬＣＤ２２には、立体視できる画像が表示されればよく、例えば、プレイヤが立体視用の眼鏡をかけることによって立体視できる画像（つまり、左目用画像と右目用画像とが時分割で交互に表示される画像）が表示されてもよい。
【０１３６】
また、本実施形態では、図９のステップＳ１７の処理によって、左目用画像及び右目用画像における描画対象オブジェクト（描画対象オブジェクトの頂点）の位置を、それぞれ補正した。しかし、左目用画像及び右目用画像における描画対象オブジェクト（描画対象オブジェクトの頂点）の位置の何れか一方のみを補正してもよい。
【０１３７】
また、本実施形態では、図１０を用いて説明したように、仮想左カメラ５０によって描画された画像７０Ｌのうちの領域７５が切り取られて上側ＬＣＤ２２に左目用画像として表示され、仮想右カメラ５１によって描画された画像７０Ｒのうちの領域７５が切り取られて上側ＬＣＤ２２に右目用画像として表示されるものとして説明した。しかし、図２１に示すように、仮想左カメラ５０によって描画される画像７０Ｌが領域７５と一致するように仮想左カメラ５０の描画領域を予め設定し、又、仮想右カメラ５１によって描画される画像７０Ｒが領域７５と一致するように仮想右カメラ５１の描画領域を予め設定してもよい。この様にした場合、図１０の場合とは異なり、描画後に領域７５を切り出す処理が不要となる。
【０１３８】
また、本実施形態では、仮想左カメラ５０の撮像方向と仮想右カメラ５１の撮像方向とは同一方向であるものとして説明した。しかし、仮想左カメラ５０の撮像方向及び仮想右カメラ５１の撮像方向は、同一方向ではなく、それぞれ、撮像対象のオブジェクト（より正確には、このオブジェクトを構成する処理対象の頂点）に向く方向であってもよい。
【０１３９】
また、本実施形態は、本発明をゲーム装置１０に適用したものであるが、本発明はゲーム装置１０に限定されない。例えば、携帯電話機、簡易型携帯電話機（ＰＨＳ）、ＰＤＡ等の携帯情報端末にも本発明の適用は可能である。また、据え置き型ゲーム機やパーソナルコンピュータ等にも本発明の適用は可能である。
【０１４０】
また、本実施形態では、１つのゲーム装置１０で上述した処理を実行しているが、有線又は無線で通信可能な複数の装置で上記処理を分担してもよい。
【０１４１】
また、本実施形態において、ゲーム装置１の形状や、それに設けられている各種操作ボタン１４等、タッチパネル１３の形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる値等は、単なる一例に過ぎず、本発明の範囲を逸脱しなければ他の順序や値であっても、本発明を実現できることは言うまでもない。
【０１４２】
また、本実施形態のゲーム装置１０において実行される各種情報処理プログラムは、外部メモリ４４等の記憶媒体を通じてゲーム装置１０に供給されるだけでなく、有線又は無線の通信回線を通じてゲーム装置１０に供給されてもよい。また、上記プログラムは、ゲーム装置１０内部の不揮発性記憶装置（データ保存用内部メモリ３５等）に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、ＣＤ−ＲＯＭ、ＤＶＤ、或いはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ等であってもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを一時的に記憶する揮発性メモリでもよい。
【０１４３】
以上、本発明を詳細に説明してきたが、上述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。
【符号の説明】
【０１４４】
１０  ゲーム装置
１１  下側ハウジング
１２  下側ＬＣＤ
１３  タッチパネル
１４  操作ボタン
１５  アナログスティック
１６  ＬＥＤ
２１  上側ハウジング
２２  上側ＬＣＤ
２３  外側撮像部
２３ａ  外側撮像部（左）
２３ｂ  外側撮像部（右）
２４  内側撮像部
２５  ３Ｄ調整スイッチ
２６  ３Ｄインジケータ
２８  タッチペン
３１  情報処理部
３２  メインメモリ
５０、５１、５２  仮想カメラ
３１１  ＣＰＵ
３１２  ＧＰＵ
３１３  ＶＲＡＭ
【図１】
0005723149.tif 000002
【図２】
0005723149.tif 000003
【図３】
0005723149.tif 000004
【図４】
0005723149.tif 000005
【図５】
0005723149.tif 000006
【図６】
0005723149.tif 000007
【図７】
0005723149.tif 000008
【図８】
0005723149.tif 000009
【図９】
0005723149.tif 000010
【図１０】
0005723149.tif 000011
【図１１】
0005723149.tif 000012
【図１２】
0005723149.tif 000013
【図１３】
0005723149.tif 000014
【図１４】
0005723149.tif 000015
【図１５】
0005723149.tif 000016
【図１６】
0005723149.tif 000017
【図１７】
0005723149.tif 000018
【図１８】
0005723149.tif 000019
【図１９】
0005723149.tif 000020
【図２０】
0005723149.tif 000021
【図２１】
0005723149.tif 000022