(ゲーム装置の構成)
以下、本発明の一実施形態に係るゲーム装置について説明する。図1〜図3は、ゲーム装置10の外観を示す平面図である。ゲーム装置10は携帯型のゲーム装置であり、図1〜図3に示すように折り畳み可能に構成されている。図1および図2は、開いた状態(開状態)におけるゲーム装置10を示し、図3は、閉じた状態(閉状態)におけるゲーム装置10を示している。図1は、開状態におけるゲーム装置10の正面図であり、図2は、開状態におけるゲーム装置10の右側面図である。ゲーム装置10は、撮像部によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることが可能である。また、ゲーム装置10は、交換可能なメモリカード内に記憶され、または、サーバーや他のゲーム装置から受信したゲームプログラムを実行可能であり、仮想空間に設定された仮想カメラで撮像した画像などのコンピュータグラフィックス処理により生成された画像を画面に表示したりすることができる。
まず、図1〜図3を参照して、ゲーム装置10の外観構成について説明する。図1〜図3に示されるように、ゲーム装置10は、下側ハウジング11および上側ハウジング21を有する。下側ハウジング11と上側ハウジング21とは、開閉可能(折り畳み可能)に接続されている。本実施形態では、各ハウジング11および21はともに横長の長方形の板状形状であり、互いの長辺部分で回転可能に接続されている。
図1および図2に示されるように、下側ハウジング11の上側長辺部分には、下側ハウジング11の内側面(主面)11Bに対して垂直な方向に突起する突起部11Aが設けられる。また、上側ハウジング21の下側長辺部分には、上側ハウジング21の下側面から当該下側面に垂直な方向に突起する突起部21Aが設けられる。下側ハウジング11の突起部11Aと上側ハウジング21の突起部21Aとが連結されることにより、下側ハウジング11と上側ハウジング21とが、折り畳み可能に接続される。
(下側ハウジングの説明)
まず、下側ハウジング11の構成について説明する。図1〜図3に示すように、下側ハウジング11には、下側LCD(Liquid Crystal Display:液晶表示装置)12、タッチパネル13、各操作ボタン14A〜14L(図1、図3)、アナログスティック15、LED16A〜16B、挿入口17、および、マイクロフォン用孔18が設けられる。以下、これらの詳細について説明する。
図1に示すように、下側LCD12は下側ハウジング11に収納される。下側LCD12は横長形状であり、長辺方向が下側ハウジング11の長辺方向に一致するように配置される。下側LCD12は下側ハウジング11の中央に配置される。下側LCD12は、下側ハウジング11の内側面(主面)に設けられ、下側ハウジング11に設けられた開口部から当該下側LCD12の画面が露出される。ゲーム装置10を使用しない場合には閉状態としておくことによって、下側LCD12の画面が汚れたり傷ついたりすることを防止することができる。下側LCD12の画素数は、例えば、256dot×192dot(横×縦)であってもよい。下側LCD12は、後述する上側LCD22とは異なり、画像を(立体視可能ではなく)平面的に表示する表示装置である。なお、本実施形態では表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置など、他の任意の表示装置を利用してもよい。また、下側LCD12として、任意の解像度の表示装置を利用することができる。
図1に示されるように、ゲーム装置10は、入力装置として、タッチパネル13を備えている。タッチパネル13は、下側LCD12の画面上に装着されている。なお、本実施形態では、タッチパネル13は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。本実施形態では、タッチパネル13として、下側LCD12の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル13の解像度と下側LCD12の解像度が一致している必要はない。また、下側ハウジング11の上側面には挿入口17(図1および図3(d)に示す点線)が設けられている。挿入口17は、タッチパネル13に対する操作を行うために用いられるタッチペン28を収納することができる。なお、タッチパネル13に対する入力は通常タッチペン28を用いて行われるが、タッチペン28に限らずユーザの指でタッチパネル13に対する入力をすることも可能である。
各操作ボタン14A〜14Lは、所定の入力を行うための入力装置である。図1に示されるように、下側ハウジング11の内側面(主面)には、各操作ボタン14A〜14Lのうち、十字ボタン14A(方向入力ボタン14A)、ボタン14B、ボタン14C、ボタン14D、ボタン14E、電源ボタン14F、セレクトボタン14J、HOMEボタン14K、およびスタートボタン14Lが、設けられる。十字ボタン14Aは、十字の形状を有しており、上下左右の方向を指示するボタンを有している。ボタン14B、ボタン14C、ボタン14D、ボタン14Eは、十字状に配置される。ボタン14A〜14E、セレクトボタン14J、HOMEボタン14K、およびスタートボタン14Lには、ゲーム装置10が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン14Aは選択操作等に用いられ、各操作ボタン14B〜14Eは例えば決定操作やキャンセル操作等に用いられる。また、電源ボタン14Fは、ゲーム装置10の電源をオン/オフするために用いられる。
アナログスティック15は、方向を指示するデバイスであり、下側ハウジング11の内側面の下側LCD12より左側領域の上部領域に設けられる。図1に示すように、十字ボタン14Aは下側LCD12より左側領域の下部領域に設けられるので、アナログスティック15は、十字ボタン14Aの上方に設けられる。また、アナログスティック15、および、十字ボタン14Aは、下側ハウジングを把持した左手の親指で操作可能な位置に設計される。また、アナログスティック15を上部領域に設けたことにより、下側ハウジング11を把持する左手の親指が自然と位置するところにアナログスティック15が配され、十字ボタン14Aは、左手の親指を少し下にずらした位置に配される。アナログスティック15は、そのキートップが、下側ハウジング11の内側面に平行にスライドするように構成されている。アナログスティック15は、ゲーム装置10が実行するプログラムに応じて機能する。例えば、3次元仮想空間に所定のオブジェクトが登場するゲームがゲーム装置10によって実行される場合、アナログスティック15は、当該所定のオブジェクトを3次元仮想空間内で移動させるための入力装置として機能する。この場合において、所定のオブジェクトはアナログスティック15のキートップがスライドした方向に移動される。なお、アナログスティック15として、上下左右および斜め方向の任意の方向に所定量だけ傾倒することでアナログ入力を可能としたものを用いても良い。
十字状に配置される、ボタン14B、ボタン14C、ボタン14D、ボタン14Eの4つのボタンは、下側ハウジング11を把持する右手の親指が自然と位置するところに配置される。また、これらの4つのボタンと、アナログスティック15とは、下側LCD12を挟んで、左右対称に配置される。これにより、ゲームプログラムによっては、例えば、左利きの人が、これらの4つのボタンを使用して方向指示入力をすることも可能である。
また、下側ハウジング11の内側面には、マイクロフォン用孔18が設けられる。マイクロフォン用孔18の下部には後述する音声入力装置としてのマイク(図7参照)が設けられ、当該マイクがゲーム装置10の外部の音を検出する。
図3(a)は閉状態におけるゲーム装置10の左側面図であり、図3(b)は閉状態におけるゲーム装置10の正面図であり、図3(c)は閉状態におけるゲーム装置10の右側面図であり、図3(d)は閉状態におけるゲーム装置10の背面図である。図3(b)および(d)に示されるように、下側ハウジング11の上側面には、Lボタン14GおよびRボタン14Hが設けられている。Lボタン14Gは、下側ハウジング11の上面の左端部に設けられ、Rボタン14Hは、下側ハウジング11の上面の右端部に設けられる。後述のように、Lボタン14GおよびRボタン14Hは、撮像部のシャッターボタン(撮影指示ボタン)として機能する。また、図3(a)に示されるように、下側ハウジング11の左側面には、音量ボタン14Iが設けられる。音量ボタン14Iは、ゲーム装置10が備えるスピーカの音量を調整するために用いられる。
図3(a)に示されるように、下側ハウジング11の左側面には開閉可能なカバー部11Cが設けられる。このカバー部11Cの内側には、ゲーム装置10とデータ保存用外部メモリ45とを電気的に接続するためのコネクタ(図示せず)が設けられる。データ保存用外部メモリ45は、コネクタに着脱自在に装着される。データ保存用外部メモリ45は、例えば、ゲーム装置10によって撮像された画像のデータを記憶(保存)するために用いられる。なお、上記コネクタおよびそのカバー部11Cは、下側ハウジング11の右側面に設けられてもよい。
また、図3(d)に示されるように、下側ハウジング11の上側面には、ゲーム装置10とゲームプログラムを記録した外部メモリ44を挿入するための挿入口11Dが設けられ、その挿入口11Dの内部には、外部メモリ44と電気的に着脱自在に接続するためのコネクタ(図示せず)が設けられる。当該外部メモリ44がゲーム装置10に接続されることにより、所定のゲームプログラムが実行される。なお、上記コネクタおよびその挿入口11Dは、下側ハウジング11の他の側面(例えば、右側面等)に設けられてもよい。
また、図1および図3(c)に示されるように、下側ハウジング11の下側面にはゲーム装置10の電源のON/OFF状況をユーザに通知する第1LED16A、下側ハウジング11の右側面にはゲーム装置10の無線通信の確立状況をユーザに通知する第2LED16Bが設けられる。ゲーム装置10は他の機器との間で無線通信を行うことが可能であり、第1LED16Bは、無線通信が確立している場合に点灯する。ゲーム装置10は、例えば、IEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。下側ハウジング11の右側面には、この無線通信の機能を有効/無効にする無線スイッチ19が設けられる(図3(c)参照)。
なお、図示は省略するが、下側ハウジング11には、ゲーム装置10の電源となる充電式電池が収納され、下側ハウジング11の側面(例えば、上側面)に設けられた端子を介して当該電池を充電することができる。
(上側ハウジングの説明)
次に、上側ハウジング21の構成について説明する。図1〜図3に示すように、上側ハウジング21には、上側LCD(Liquid Crystal Display:液晶表示装置)22、外側撮像部23(外側撮像部(左)23aおよび外側撮像部(右)23b)、内側撮像部24、3D調整スイッチ25、および、3Dインジケータ26が設けられる。以下、これらの詳細について説明する。
図1に示すように、上側LCD22は上側ハウジング21に収納される。上側LCD22は、横長形状であり、長辺方向が上側ハウジング21の長辺方向に一致するように配置される。上側LCD22は上側ハウジング21の中央に配置される。上側LCD22の画面の面積は、下側LCD12の画面の面積よりも大きく設定される。また、上側LCD22の画面は、下側LCD12の画面よりも横長に設定される。すなわち、上側LCD22の画面のアスペクト比における横幅の割合は、下側LCD12の画面のアスペクト比における横幅の割合よりも大きく設定される。
上側LCD22の画面は、上側ハウジング21の内側面(主面)21Bに設けられ、上側ハウジング21に設けられた開口部から当該上側LCD22の画面が露出される。また、図2および図4に示すように、上側ハウジング21の内側面は、透明なスクリーンカバー27によって覆われている。図4は、上側ハウジング21の内側面からスクリーンカバー27を分解した状態を示す分解図である。当該スクリーンカバー27は、上側LCD22の画面を保護するとともに、上側LCD22と上側ハウジング21の内側面と一体的にさせ、これにより統一感を持たせている。上側LCD22の画素数は、例えば、640dot×200dot(横×縦)であってもよい。なお、本実施形態では上側LCD22は液晶表示装置であるとしたが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置などが利用されてもよい。また、上側LCD22として、任意の解像度の表示装置を利用することができる。
上側LCD22は、立体視可能な画像を表示することが可能な表示装置である。また、本実施例では、実質的に同一の表示領域を用いて左目用画像と右目用画像が表示される。具体的には、左目用画像と右目用画像が所定単位で(例えば、1列ずつ)横方向に交互に表示される方式の表示装置である。または、左目用画像と右目用画像とが交互に表示される方式の表示装置であってもよい。また、本実施例では、裸眼立体視可能な表示装置である。そして、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式(視差バリア方式)のものが用いられる。本実施形態では、上側LCD22はパララックスバリア方式のものとする。上側LCD22は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像(立体画像)を表示する。すなわち、上側LCD22は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像を視認させることにより、ユーザにとって立体感のある立体画像(立体視可能な画像)を表示することができる。また、上側LCD22は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる(上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右目にも左目にも見えるような表示モードである)。このように、上側LCD22は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する(平面視画像を表示する)平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、後述する3D調整スイッチ25によって行われる。
外側撮像部23は、上側ハウジング21の外側面(上側LCD22が設けられた主面と反対側の背面)21Dに設けられた2つの撮像部(23aおよび23b)の総称である。外側撮像部(左)23aと外側撮像部(右)23bの撮像方向は、いずれも当該外側面21Dの外向きの法線方向である。また、これらの撮像部はいずれも、上側LCD22の表示面(内側面)の法線方向と180度反対の方向に設計される。すなわち、外側撮像部(左)23aの撮像方向および外側撮像部(右)23bの撮像方向は、平行である。外側撮像部(左)23aと外側撮像部(右)23bとは、ゲーム装置10が実行するプログラムによって、ステレオカメラとして使用することが可能である。また、プログラムによっては、2つの外側撮像部(23aおよび23b)のいずれか一方を単独で用いて、外側撮像部23を非ステレオカメラとして使用することも可能である。また、プログラムによっては、2つの外側撮像部(23aおよび23b)で撮像した画像を合成してまたは補完的に使用することにより撮像範囲を広げた撮像をおこなうことも可能である。本実施形態では、外側撮像部23は、外側撮像部(左)23aおよび外側撮像部(右)23bの2つの撮像部で構成される。外側撮像部(左)23aおよび外側撮像部(右)23bは、それぞれ所定の共通の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
図1の破線および図3(b)の実線で示されるように、外側撮像部23を構成する外側撮像部(左)23aおよび外側撮像部(右)23bは、上側LCD22の画面の横方向と平行に並べられて配置される。すなわち、2つの撮像部を結んだ直線が上側LCD22の画面の横方向と平行になるように、外側撮像部(左)23aおよび外側撮像部(右)23bが配置される。図1の破線で示す23aおよび23bは、上側ハウジング21の内側面とは反対側の外側面に存在する外側撮像部(左)23aおよび外側撮像部(右)23bをそれぞれ表している。図1に示すように、ユーザが上側LCD22の画面を正面から視認した場合に、外側撮像部(左)23aは左側に外側撮像部(右)23bは右側にそれぞれ位置している。外側撮像部23をステレオカメラとして機能させるプログラムが実行されている場合、外側撮像部(左)23aは、ユーザの左目で視認される左目用画像を撮像し、外側撮像部(右)23bは、ユーザの右目で視認される右目用画像を撮像する。外側撮像部(左)23aおよび外側撮像部(右)23bの間隔は、人間の両目の間隔程度に設定され、例えば、30mm〜70mmの範囲で設定されてもよい。なお、外側撮像部(左)23aおよび外側撮像部(右)23bの間隔は、この範囲に限らない。
なお、本実施例においては、外側撮像部(左)23aおよび外側撮像部(右)23はハウジングに固定されており、撮像方向を変更することはできない。
また、外側撮像部(左)23aおよび外側撮像部(右)23bは、上側LCD22(上側ハウジング21)の左右方向に関して中央から対称となる位置にそれぞれ配置される。すなわち、外側撮像部(左)23aおよび外側撮像部(右)23bは、上側LCD22を左右に2等分する線に対して対称の位置にそれぞれ配置される。また、外側撮像部(左)23aおよび外側撮像部(右)23bは、上側ハウジング21を開いた状態において、上側ハウジング21の上部であって、上側LCD22の画面の上端よりも上方の位置の裏側に配置される。すなわち、外側撮像部(左)23aおよび外側撮像部(右)23bは、上側ハウジング21の外側面であって、上側LCD22を外側面に投影した場合、投影した上側LCD22の画面の上端よりも上方に配置される。
このように、外側撮像部23の2つの撮像部(23aおよび23b)が、上側LCD22の左右方向に関して中央から対称の位置に配置されることにより、ユーザが上側LCD22を正視した場合に、外側撮像部23の撮像方向をユーザの視線方向と一致させることができる。また、外側撮像部23は、上側LCD22の画面の上端より上方の裏側の位置に配置されるため、外側撮像部23と上側LCD22とが上側ハウジング21の内部で干渉することがない。従って、外側撮像部23を上側LCD22の画面の裏側に配置する場合と比べて、上側ハウジング21を薄く構成することが可能となる。
内側撮像部24は、上側ハウジング21の内側面(主面)21Bに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。内側撮像部24は、所定の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
図1に示すように、内側撮像部24は、上側ハウジング21を開いた状態において、上側ハウジング21の上部であって、上側LCD22の画面の上端よりも上方に配置され、上側ハウジング21の左右方向に関して中央の位置(上側ハウジング21(上側LCD22の画面)を左右に2等分する線の線上)に配置される。具体的には、図1および図3(b)に示されるように、内側撮像部24は、上側ハウジング21の内側面であって、外側撮像部23の左右の撮像部(外側撮像部(左)23aおよび外側撮像部(右)23b)の中間の裏側の位置に配置される。すなわち、上側ハウジング21の外側面に設けられた外側撮像部23の左右の撮像部を上側ハウジング21の内側面に投影した場合、当該投影した左右の撮像部の中間に、内側撮像部24が設けられる。図3(b)で示される破線24は、上側ハウジング21の内側面に存在する内側撮像部24を表している。
このように、内側撮像部24は、外側撮像部23とは反対方向を撮像する。内側撮像部24は、上側ハウジング21の内側面であって、外側撮像部23の左右の撮像部の中間位置の裏側に設けられる。これにより、ユーザが上側LCD22を正視した際、内側撮像部24でユーザの顔を正面から撮像することができる。また、外側撮像部23の左右の撮像部と内側撮像部24とが上側ハウジング21の内部で干渉することがないため、上側ハウジング21を薄く構成することが可能となる。
3D調整スイッチ25は、スライドスイッチであり、上述のように上側LCD22の表示モードを切り替えるために用いられるスイッチである。また、3D調整スイッチ25は、上側LCD22に表示された立体視可能な画像(立体画像)の立体感を調整するために用いられる。図1〜図3に示されるように、3D調整スイッチ25は、上側ハウジング21の内側面および右側面の端部に設けられ、ユーザが上側LCD22を正視した場合に、当該3D調整スイッチ25を視認できる位置に設けられる。また、3D調整スイッチ25の操作部は、内側面および右側面の両方に突出しており、どちらからも視認および操作することができる。なお、3D調整スイッチ25以外のスイッチは全て下側ハウジング11に設けられる。
図5は、図1に示す上側ハウジング21のA−A’線断面図である。図5に示すように、上側ハウジング21の内側面の右端部には、凹部21Cが形成され、当該凹部21Cに3D調整スイッチ25が設けられる。3D調整スイッチ25は、図1および図2に示されるように、上側ハウジング21の正面および右側面から視認可能に配置される。3D調整スイッチ25のスライダ25aは、所定方向(上下方向)の任意の位置にスライド可能であり、当該スライダ25aの位置に応じて上側LCD22の表示モードが設定される。
図6Aから図6Cは、3D調整スイッチ25のスライダ25aがスライドする様子を示す図である。図6Aは、3D調整スイッチ25のスライダ25aが最下点(第3の位置)に存在する様子を示す図である。図6Bは、3D調整スイッチ25のスライダ25aが最下点よりも上方位置(第1の位置)に存在する様子を示す図である。図6Cは、3D調整スイッチ25のスライダ25aが最上点(第2の位置)に存在する様子を示す図である。
図6Aに示すように、3D調整スイッチ25のスライダ25aが最下点位置(第3の位置)に存在する場合、上側LCD22は平面表示モードに設定され、上側LCD22の画面には平面画像が表示される(なお、上側LCD22を立体表示モードのままとして、左目用画像と右目用画像を同一の画像とすることにより平面表示してもよい)。一方、図6Bに示す位置(最下点より上側の位置(第1の位置))から図6Cに示す位置(最上点の位置(第2の位置))までの間にスライダ25aが存在する場合、上側LCD22は立体表示モードに設定される。この場合、上側LCD22の画面には立体視可能な画像が表示される。スライダ25aが第1の位置から第2の位置の間に存在する場合、スライダ25aの位置に応じて、立体画像の見え方が調整される。具体的には、スライダ25aの位置に応じて、右目用画像および左目用画像の横方向の位置のずれ量が調整される。なお、立体表示モードにおける立体画像の見え方の調整については後述する。3D調整スイッチ25のスライダ25aは、第3の位置で固定されるように構成されており、第1の位置と第2の位置との間では上下方向に任意の位置にスライド可能に構成されている。例えば、スライダ25aは、第3の位置において、3D調整スイッチ25を形成する側面から図6Aに示す横方向に突出した凸部(図示せず)によって固定されて、所定以上の力が上方に加わらないと第3の位置よりも上方にスライドしないように構成されている。第3の位置から第1の位置にスライダ25aが存在する場合、立体画像の見え方は調整されないが、これはいわゆるあそびである。他の例においては、あそびをなくして、第3の位置と第1の位置とを同じ位置としてもよい。また、第3の位置を第1の位置と第2の位置の間としてもよい。その場合、スライダを第3の位置から第1の位置の方向に動かした場合と、第2の方向に動かした場合とで、右目用画像および左目用画像の横方向の位置のずれ量の調整する方向が逆になる。
なお、本実施例のゲーム装置が実行するプログラムには、立体写真を表示するためのプログラムと、立体的なCG画像を表示するためのプログラムがある。後者のプログラムでは、左目用の仮想カメラと右目用の仮想カメラで仮想空間を撮影して、左目用画像と右目用画像を生成する。本実施例のゲーム装置は、このようなプログラムの実行時において、3D調整スイッチ25のスライダ25aの位置に応じて、2つの仮想カメラの間隔を変更することにより、立体感を調整する。
3Dインジケータ26は、上側LCD22が立体表示モードか否かを示す。3Dインジケータ26は、LEDであり、上側LCD22の立体表示モードが有効の場合に点灯する。なお、3Dインジケータ26は、上側LCD22が立体表示モードになっており、かつ、立体視画像を表示するプログラム処理が実行されているとき(すなわち、3D調整スイッチが上記第1の位置から上記第2の位置にあるときに、左目用画像と右目用画像が異なるような画像処理が実行されているとき)に限り、点灯するようにしてもよい。図1に示されるように、3Dインジケータ26は、上側ハウジング21の内側面に設けられ、上側LCD22の画面近傍に設けられる。このため、ユーザが上側LCD22の画面を正視した場合、ユーザは3Dインジケータ26を視認しやすい。従って、ユーザは上側LCD22の画面を視認している状態でも、上側LCD22の表示モードを容易に認識することができる。
また、上側ハウジング21の内側面には、スピーカ孔21Eが設けられる。後述するスピーカ43からの音声がこのスピーカ孔21Eから出力される。
(ゲーム装置10の内部構成)
次に、図7を参照して、ゲーム装置10の内部の電気的構成について説明する。図7は、ゲーム装置10の内部構成を示すブロック図である。図7に示すように、ゲーム装置10は、上述した各部に加えて、情報処理部31、メインメモリ32、外部メモリインターフェイス(外部メモリI/F)33、データ保存用外部メモリI/F34、データ保存用内部メモリ35、無線通信モジュール36、ローカル通信モジュール37、リアルタイムクロック(RTC)38、加速度センサ39、電源回路40、およびインターフェイス回路(I/F回路)41等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング11(または上側ハウジング21でもよい)内に収納される。
情報処理部31は、所定のプログラムを実行するためのCPU(Central Processing Unit)311、画像処理を行うGPU(Graphics Processing Unit)312等を含む情報処理手段である。本実施形態では、所定のプログラムがゲーム装置10内のメモリ(例えば外部メモリI/F33に接続された外部メモリ44やデータ保存用内部メモリ35)に記憶されている。情報処理部31のCPU311は、当該所定のプログラムを実行することによって、後述する撮影処理(図12)を実行する。なお、情報処理部31のCPU311によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。また、情報処理部31は、VRAM(Video RAM)313を含む。情報処理部31のGPU312は、情報処理部31のCPU311からの命令に応じて画像を生成し、VRAM313に描画する。そして、情報処理部31のGPU312は、VRAM313に描画された画像を上側LCD22及び/又は下側LCD12に出力し、上側LCD22及び/又は下側LCD12に当該画像が表示される。
情報処理部31には、メインメモリ32、外部メモリI/F33、データ保存用外部メモリI/F34、および、データ保存用内部メモリ35が接続される。外部メモリI/F33は、外部メモリ44を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリI/F34は、データ保存用外部メモリ45を着脱自在に接続するためのインターフェイスである。
メインメモリ32は、情報処理部31(のCPU311)のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ32は、上記撮影処理に用いられる各種データを一時的に記憶したり、外部(外部メモリ44や他の機器等)から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ32として例えばPSRAM(Pseudo−SRAM)を用いる。
外部メモリ44は、情報処理部31によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ44は、例えば読み取り専用の半導体メモリで構成される。外部メモリ44が外部メモリI/F33に接続されると、情報処理部31は外部メモリ44に記憶されたプログラムを読み込むことができる。情報処理部31が読み込んだプログラムを実行することにより、所定の処理が行われる。データ保存用外部メモリ45は、不揮発性の読み書き可能なメモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ45には、外側撮像部23で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ45がデータ保存用外部メモリI/F34に接続されると、情報処理部31はデータ保存用外部メモリ45に記憶された画像を読み込み、上側LCD22及び/又は下側LCD12に当該画像を表示することができる。
データ保存用内部メモリ35は、読み書き可能な不揮発性メモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ35には、無線通信モジュール36を介した無線通信によってダウンロードされたデータやプログラムが格納される。
無線通信モジュール36は、例えばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。また、ローカル通信モジュール37は、所定の通信方式(例えば赤外線通信)により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール36およびローカル通信モジュール37は情報処理部31に接続される。情報処理部31は、無線通信モジュール36を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール37を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
また、情報処理部31には、加速度センサ39が接続される。加速度センサ39は、3軸(xyz軸)方向に沿った直線方向の加速度(直線加速度)の大きさを検出する。加速度センサ39は、下側ハウジング11の内部に設けられる。加速度センサ39は、図1に示すように、下側ハウジング11の長辺方向をx軸、下側ハウジング11の短辺方向をy軸、下側ハウジング11の内側面(主面)に対して垂直な方向をz軸として、各軸の直線加速度の大きさを検出する。なお、加速度センサ39は、例えば静電容量式の加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ39は1軸又は2軸方向を検出する加速度センサであってもよい。情報処理部31は、加速度センサ39が検出した加速度を示すデータ(加速度データ)を受信して、ゲーム装置10の姿勢や動きを検出する。本実施形態では、情報処理部31は、加速度センサ39が検出した加速度に基づいて、ゲーム装置10の姿勢(傾き)を判定する。
また、情報処理部31には、RTC38および電源回路40が接続される。RTC38は、時間をカウントして情報処理部31に出力する。情報処理部31は、RTC38によって計時された時間に基づき現在時刻(日付)を計算する。電源回路40は、ゲーム装置10が有する電源(下側ハウジング11に収納される上記充電式電池)からの電力を制御し、ゲーム装置10の各部品に電力を供給する。
また、情報処理部31には、I/F回路41が接続される。I/F回路41には、マイク42およびスピーカ43が接続される。具体的には、I/F回路41には、図示しないアンプを介してスピーカ43が接続される。マイク42は、ユーザの音声を検知して音声信号をI/F回路41に出力する。アンプは、I/F回路41からの音声信号を増幅し、音声をスピーカ43から出力させる。また、タッチパネル13はI/F回路41に接続される。I/F回路41は、マイク42およびスピーカ43(アンプ)の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換およびD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル13からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部31に出力する。タッチ位置データは、タッチパネル13の入力面において入力が行われた位置の座標を示す。なお、タッチパネル制御回路は、タッチパネル13からの信号の読み込み、および、タッチ位置データの生成を所定時間に1回の割合で行う。情報処理部31は、タッチ位置データを取得することにより、タッチパネル13に対して入力が行われた位置を知ることができる。
操作ボタン14は、上記各操作ボタン14A〜14Lからなり、情報処理部31に接続される。操作ボタン14から情報処理部31へは、各操作ボタン14A〜14Iに対する入力状況(押下されたか否か)を示す操作データが出力される。情報処理部31は、操作ボタン14から操作データを取得することによって、操作ボタン14に対する入力に従った処理を実行する。
下側LCD12および上側LCD22は情報処理部31に接続される。下側LCD12および上側LCD22は、情報処理部31(のGPU312)の指示に従って画像を表示する。本実施形態では、情報処理部31は、操作用の画像を下側LCD12に表示させ、各撮像部23および24のいずれかから取得した画像を上側LCD22に表示させる。すなわち、情報処理部31は、上側LCD22に外側撮像部23で撮像した右目用画像と左目用画像とを用いた立体画像(立体視可能な画像)を表示させたり、内側撮像部24で撮像した平面画像を上側LCD22に表示させたりする。
具体的には、情報処理部31は、上側LCD22のLCDコントローラ(図示せず)と接続され、当該LCDコントローラに対して視差バリアのON/OFFを制御する。上側LCD22の視差バリアがONになっている場合、情報処理部31のVRAM313に格納された(外側撮像部23で撮像された)右目用画像と左目用画像とが、上側LCD22に出力される。より具体的には、LCDコントローラは、右目用画像について縦方向に1ライン分の画素データを読み出す処理と、左目用画像について縦方向に1ライン分の画素データを読み出す処理とを交互に繰り返すことによって、VRAM313から右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素を縦に1ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側LCD22の画面に表示される。そして、上側LCD22の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側LCD22の画面には立体視可能な画像が表示される。
外側撮像部23および内側撮像部24は、情報処理部31に接続される。外側撮像部23および内側撮像部24は、情報処理部31の指示に従って画像を撮像し、撮像した画像データを情報処理部31に出力する。本実施形態では、情報処理部31は外側撮像部23および内側撮像部24のいずれか一方に対して撮像指示を行い、撮像指示を受けた撮像部が画像を撮像して画像データを情報処理部31に送る。具体的には、本実施形態では、ユーザによるタッチパネル13を用いたタッチ操作によって使用する撮像部が選択される。撮像部が選択されたことを情報処理部31(CPU311)が検知し、情報処理部31が外側撮像部23または内側撮像部24に対して撮像指示を行う。
3D調整スイッチ25は、情報処理部31に接続される。3D調整スイッチ25は、スライダ25aの位置に応じた電気信号を情報処理部31に送信する。
また、3Dインジケータ26は、情報処理部31に接続される。情報処理部31は、3Dインジケータ26の点灯を制御する。本実施形態では、情報処理部31は、上側LCD22が立体表示モードである場合、3Dインジケータ26を点灯させる。以上がゲーム装置10の内部構成の説明である。
次に、図8〜図11を参照して、ゲーム装置10の使用状態の一例を示す。図8は、ユーザがゲーム装置10を両手で把持する様子を示す図である。図8に示されるように、ユーザは、下側LCD12および上側LCD22がユーザの方向を向く状態で、両手の掌と中指、薬指および小指とで下側ハウジング11の側面および外側面(内側面の反対側の面)を把持する。このように把持することで、ユーザは、下側ハウジング11を把持したまま、各操作ボタン14A〜14Eおよびアナログスティック15に対する操作を親指で行い、Lボタン14GおよびR14Hに対する操作を人差し指で行うことができる。また、図9は、ユーザがゲーム装置10を片手で把持する様子を示す図である。タッチパネル13に対して入力を行う場合には、図9に示すように、下側ハウジング11を把持していた一方の手を離して他方の手のみで下側ハウジング11を把持することによって、当該一方の手でタッチパネル13に対する入力を行うことができる。
図10は、上側LCD22の画面に表示される画像の一例を示す図である。ユーザが外側撮像部23を選択して図8に示す状態でゲーム装置10を把持すると、外側撮像部23によって撮像された右目用画像および左目用画像が上側LCD22の画面にリアルタイムで表示される。例えば、図10に示されるような立体画像60が上側LCD22の画面に表示される。図10に示されるように、立体画像60には、空間に実在する撮像対象51を撮像した撮像対象画像61と、空間に実在する撮像対象52を撮像した撮像対象画像62とが含まれる。立体画像60は、ユーザが立体的に見える画像であり、例えば、撮像対象画像61および撮像対象画像62が上側LCD22の画面からユーザの手前側に飛び出しているように見える。また、上側LCD22の画面には、破線で示される基準線63(水平基準線63aおよび垂直基準線63b)およびゲーム装置10の傾きを示す水準線64が、立体画像60に重畳表示される。水平基準線63aは、上側LCD22の画面を上下に2等分する線分であり、実空間には存在しない線分である。垂直基準線63bは、上側LCD22の画面を左右に2等分する線分であり、実空間には存在しない線分である。また、水準線64は、ゲーム装置10の水平方向の傾きを示す線分であり、実空間には存在しない線分である。ゲーム装置10の水平方向の傾きは、上記加速度センサ39によって検出された加速度に基づいて算出される。水準線64は、算出されたゲーム装置10の水平方向の傾きに応じた傾きで画面に表示される。すなわち、水準線64は、加速度センサ39が検出した重力方向に垂直な線分であり、ゲーム装置10が傾いていない場合は水平基準線63aと一致する。図10に示される例では、水準線64は水平基準線63aに対して左側に傾いているため、ユーザは、ゲーム装置10が左側に傾いていることを認識することができる。水準線64を参考に撮影を行うことによって、撮像対象を水平に撮影することができる。
このように、上側LCD22の画面にはゲーム装置10の水平方向の傾きを示す水準線64が表示されるため、ユーザは容易にゲーム装置10が水平方向に傾いているか否かを判定することができる。ゲーム装置10が水平方向に傾いたまま立体画像を撮像して保存(撮影)すると、外側撮像部23によって撮像された右目用画像および左目用画像がその画像中心の周りに回転したまま保存される。図11は、ゲーム装置10が水平方向に大きく傾いた状態で画像が撮影される様子を示す図である。図11に示されるようにゲーム装置10が左側に大きく傾いたまま画像が撮影されると、右目用画像および左目用画像はその画像中心の周りに大きく回転したまま撮影(保存)される。保存された右目用画像および左目用画像を上側LCD22に表示すると、図11に示すような回転した立体画像60が表示される。この場合において、立体画像60の傾きを解消するために、ユーザが立体画像60の回転方向とは反対方向にゲーム装置10を回転させると、ユーザは立体画像60を立体的に見ることができなくなる。なぜなら、ユーザが上側LCD22を水平に把持して正面から視認した場合に、上側LCD22の視差バリアを通してユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認されるからである。すなわち、上側LCD22の視差バリアは上側LCD22の縦方向にバリアが形成されており、その視差バリアによって、ユーザの右目の位置からは左目用画像が遮蔽され、ユーザの左目の位置からは右目用画像が遮蔽される。その結果、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。一方、上側LCD22を水平方向に傾かせると、視差バリアも傾くため、右目用画像および左目用画像の一部が混在した画像がそれぞれの目で視認される。従って、ユーザは画像を立体的に認識することができなくなる。しかしながら、本実施形態では、画像の撮影時にゲーム装置10の傾き(姿勢)を示す水準線64が表示されるため、ユーザは、容易にゲーム装置10が傾いているか否かを認識することができ、ゲーム装置10を水平方向に傾いていない状態にして画像を撮影することができる。なお、水準線64は、重力方向と平行な線分であってもよい。この場合において、ゲーム装置10が傾いていないとき、水準線64は、垂直基準線63bと一致する。
(撮影処理の詳細)
次に、図12から図14を参照して、本実施形態に係る撮影処理の詳細について説明する。まず、撮影処理の際にメインメモリ32に記憶される主なデータについて説明する。図12は、ゲーム装置10のメインメモリ32のメモリマップを示す図である。図12に示されるように、メインメモリ32には、データ記憶領域70が設けられる。データ記憶領域70には、カメラ選択データ71、左目用画像位置データ72、右目用画像位置データ73、加速度データ74、表示モードデータ75、操作データ76等が記憶される。これらのデータの他、メインメモリ32には、上記撮影処理を実行するプログラムやタッチパネル13へのタッチ位置を示すデータ、下側LCD12に表示されるカメラ選択のための画像を示すデータ等が記憶される。
カメラ選択データ71は、現在選択されている撮像部を示すデータである。カメラ選択データ71は、現在選択されている撮像部が外側撮像部23か内側撮像部24かを示すデータである。
左目用画像位置データ72は、外側撮像部(左)23aによって撮像された左目用画像の上側LCD22上の表示位置を示すデータであり、左目用画像の画像中心の座標値を示すデータである。右目用画像位置データ73は、外側撮像部(右)23bによって撮像された右目用画像の上側LCD22上の表示位置を示すデータであり、右目用画像の画像中心の座標値を示すデータである。
加速度データ74は、加速度センサ39によって検出された最新の加速度を示すデータである。具体的には、加速度データ74は、加速度センサ39によって検出されたx軸方向、y軸方向、およびz軸方向の加速度の値を示す。加速度センサ39は所定時間に1回の割合で加速度を検出し、情報処理部31(CPU311)に送信する。情報処理部31は、加速度センサ39が加速度を検出するたびにメインメモリ32の加速度データ74を更新する。
表示モードデータ75は、上側LCD22の表示モードが立体表示モードか平面表示モードかを示すデータである。
操作データ76は、各操作ボタン14A〜E、G〜H、および、アナログスティック15に対して行われた操作を示すデータである。
次に、撮影処理の詳細について図13および図14を参照して説明する。図13は、本実施形態に係る撮影処理の詳細を示すメインフローチャートである。ゲーム装置10の電源が投入されると、ゲーム装置10の情報処理部31(CPU311)は、図示しないROMに記憶されている起動プログラムを実行し、これによってメインメモリ32等の各ユニットが初期化される。次に、データ保存用内部メモリ35に記憶された撮影処理プログラムがメインメモリ32に読み込まれ、情報処理部31のCPU311によって当該プログラムの実行が開始される。図13に示すフローチャートは、以上の処理が完了した後に情報処理部31(CPU311又はGPU312)によって行われる処理を示すフローチャートである。なお、図13では、本発明に直接関連しない処理については記載を省略する。また、図13に示すステップS1〜ステップS12の処理ループは、1フレーム(例えば1/30秒。フレーム時間という)毎に繰り返し実行される。
まず、ステップS1において、情報処理部31は、撮像部の切り替え指示があったか否かを判定する。例えば、下側LCD12の画面には、外側撮像部23および内側撮像部24を示すアイコンがそれぞれ表示されている。情報処理部31は、タッチパネル13が検出したタッチ位置に基づいて、撮像部の切り替え指示があったか否かを判定する。具体的には、情報処理部31は、タッチ位置が検出された場合、当該タッチ位置が現在選択されている撮像部とは異なる撮像部のアイコンの表示位置であるとき、撮像部の切り替え指示があったと判定する。例えば、現在外側撮像部23が選択されている場合において、タッチパネル13が検出したタッチ位置が内側撮像部24のアイコンの表示位置であるとき、情報処理部31は、切り替え指示があったと判定する。判定結果が肯定の場合、情報処理部31は、次にステップS2の処理を実行する。一方、判定結果が否定の場合、情報処理部31は、次にステップS3の処理を実行する。外側撮像部23が選択されている場合には内側撮像部24に切り替えるためのアイコンのみが表示され、内側撮像部24が選択されている場合には外側撮像部23切り替えるためのアイコンのみが表示されるようにしてもよい。なお、タッチパネル13を用いた下側LCD12に対する画面操作以外に、各操作ボタン14A〜Eが押された場合に、撮像部の切り替え指示があったと判定されてもよい。
ステップS2において、情報処理部31は、撮像部を選択する。具体的には、情報処理部31は、画像の撮像に使用される撮像部をステップS1でタッチされた撮像部に切り替えて、メインメモリ32のカメラ選択データ71を更新する。次に、情報処理部31は、ステップS3の処理を実行する。
ステップS3において、情報処理部31は、撮像画像を取得する。具体的には、情報処理部31は、現在選択されている撮像部によって撮像された画像を示す画像データを取得し、VRAM313に格納する。例えば、外側撮像部23が選択されている場合、情報処理部31は、外側撮像部23によって撮像された右目用画像と左目用画像とを取得する。また、内側撮像部24が選択されている場合、情報処理部31は、内側撮像部24によって撮像された画像を取得する。次に、情報処理部31は、ステップS4の処理を実行する。
ステップS4において、情報処理部31は、ゲーム装置10の姿勢を検出する。具体的には、情報処理部31は、メインメモリ32の加速度データ74を参照して、ゲーム装置10の水平方向の傾きを検出する。より具体的には、情報処理部31は、加速度センサ39によって検出された3軸方向の加速度のうち、x軸方向の加速度の値に基づいて、ゲーム装置10の姿勢を検出する。
図15Aおよび図15Bは、ゲーム装置10の姿勢の検出について説明するための図である。図15Aは、ゲーム装置10が水平方向に傾いていない状態を示す図である。図15Bは、ゲーム装置10が水平方向(左側)に傾いている状態を示す図である。図15Aおよび図15Bにおいて、XYZ座標系は、空間に固定された空間座標系であり、xyz座標系はゲーム装置10に固定された物体座標系である。ここで、Z軸の負方向を重力の方向とする。図15Aに示されるように、ゲーム装置10が水平方向(横方向)に傾いていない状態で静止している場合、加速度センサ39は重力を検出する。具体的には、加速度センサ39が検出するy軸方向の加速度は、−G(Gは重力加速度の大きさ)となり、x軸方向およびz軸方向の加速度の値は0となる。一方、図15Bに示されるように、ゲーム装置10が水平方向(横方向)に傾いている状態で静止している場合、重力加速度は、x軸方向成分の加速度gx、および、y軸方向成分の加速度gyとして検出される。すなわち、ゲーム装置10が水平方向に傾いている状態で静止している場合、加速度センサ39が検出するx軸方向の加速度は0でない値を示す。従って、x軸方向の加速度の大きさから、ゲーム装置10がどの程度傾いているかを知ることができる。
なお、図15A又は図15Bにおいてゲーム装置10が前後方向に傾いている場合、すなわち、ゲーム装置10がx軸周りに回転している場合であっても、加速度センサ39が検出するx軸方向の加速度の値のみで、ゲーム装置10の水平方向の傾きを検出する。x軸周りにゲーム装置10が回転している場合であっても、ゲーム装置10がz軸周りに回転していない場合(横方向に傾いていない場合)、外側撮像部23の撮像方向が空間の上下方向に変化するだけであり、上述のような立体画像の表示には影響がない。
また、加速度センサ39は、ゲーム装置10の動きに応じた重力加速度以外の加速度を検出する。例えば、ゲーム装置10がユーザによって意図的に振られている場合、ゲーム装置10は重力加速度の方向を正確に知ることができない。この場合、加速度センサ39が検出する加速度の大きさは、重力加速度の大きさと比べて大きくなる(又は、小さくなる)。従って、検出した加速度の大きさが重力加速度の大きさと比べて所定の閾値よりも大きい場合は、ゲーム装置10の姿勢を検出しなくてもよい。また、ユーザが意図的にゲーム装置10を振らない場合であっても、ゲーム装置10は僅かに動くため重力加速度以外の加速度を検出する。しかしながら、この場合、所定期間に検出される加速度は平均的には重力加速度と等しくなるため、所定期間に検出された加速度に基づいて、ゲーム装置10の姿勢を検出してもよい。
ステップS4の後、ステップS5の処理が実行される。ステップS5において、情報処理部31は、外側撮像部23が選択されているか否かを判定する。具体的には、情報処理部31は、カメラ選択データ71を参照して現在選択されている撮像部が外側撮像部23か否かを判定する。判定結果が肯定の場合(外側撮像部23が選択されている場合)、情報処理部31は、次にステップS6の処理を実行する。一方、判定結果が否定の場合、情報処理部31は、次にステップS9の処理を実行する。
ステップS6において、情報処理部31は、3D調整スイッチ25のスライダ25aが最下点位置か否かを判定する。情報処理部31は、3D調整スイッチ25からの信号に基づいて、スライダ25aが最下点位置か否かを判定する。判定結果が否定の場合、情報処理部31は、3Dインジケータ26を点灯させて、次にステップS7の処理を実行する。一方、判定結果が肯定の場合、情報処理部31は、3Dインジケータ26を消灯させて、次にステップS9の処理を実行する。
ステップS7において、情報処理部31は、右目用画像および左目用画像の位置を調整する。具体的には、情報処理部31は、3D調整スイッチ25のスライダ25aの位置に応じて、ステップS3で取得された右目用画像および左目用画像の横方向(上側LCD22の左右方向)の表示位置を更新する。より具体的には、情報処理部31は、スライダ25aの位置に応じて、左目用画像が左方向に、右目用画像が右方向に所定距離移動するように、左目用画像位置データ72および右目用画像位置データ73を更新する。ステップS7において左目用画像位置データ72および右目用画像位置データ73が更新されることにより、後述するステップS10(ステップS23)の実行の際に、左目用画像および右目用画像が調整後の位置に表示される。左目用画像および右目用画像の移動量(ずれ量)は、スライダ25aの位置に応じて定められ、スライダ25aが第2の位置(図6C参照)に存在する場合、左目用画像および右目用画像のずれ量は最大となる。ここで、左目用画像および右目用画像のずれ量とは、左目用画像および右目用画像の表示位置の横方向のずれを示し、左目用画像および右目用画像の画像中心の横方向(x方向)の座標値の差を示す。スライダ25aが第1の位置(図6B参照)に存在する場合、左目用画像および右目用画像のずれ量は0となる。このように、ステップS7においては、3D調整スイッチ25のスライダ25aの位置に応じて、右目用画像および左目用画像の表示位置の横方向のずれ量が決定される。ステップS7の処理の後、情報処理部31は、次にステップS8の処理を実行する。
ステップS8において、情報処理部31は、表示モードデータ75を更新して、上側LCD22の表示モードを立体表示モード(3D表示モード)に設定する。次に、情報処理部31は、ステップS10の処理を実行する。
一方、ステップS9において、情報処理部31は、表示モードデータ75を更新して、上側LCD22の表示モードを平面表示モード(2D表示モード)に設定する。ステップS8の処理は、ステップS5で内側撮像部24が選択されていると判定された場合、または、ステップS6で3D調整スイッチ25によって平面表示モードに設定されていると判定された場合に実行される。次に、情報処理部31は、ステップS10の処理を実行する。
ステップS10において、情報処理部31は、上側LCD22の表示処理を実行する。ステップS9における表示処理の詳細を、図14を参照して説明する。図14は、上側LCD22の表示処理(ステップS10)の詳細を示すフローチャートである。
ステップS21において、情報処理部31は、上側LCD22の表示モードが平面表示モード(2D表示モード)か否かを判定する。具体的には、情報処理部31は、表示モードデータ75を参照して、上側LCD22の表示モードが平面表示モードか否かを判定する。判定結果が否定の場合、情報処理部31は、次にステップS22の処理を実行する。一方、判定結果が肯定の場合、情報処理部31は、次にステップS24の処理を実行する。
ステップS22において、情報処理部31は、上側LCD22の表示モードが立体表示モードに設定されているため、上側LCD22の視差バリアをONに設定する。具体的には、情報処理部31は、上側LCD22のLCDコントローラに対して、視差バリアをONにする信号を送信する。情報処理部31は、次にステップS23の処理を実行する。
ステップS23において、情報処理部31は、左目用画像と右目用画像とを上側LCD22に出力する。具体的には、情報処理部31は、ステップS7で位置が調整された左目用画像と右目用画像とを上側LCD22に出力する。すなわち、情報処理部31は、ステップS7で更新された左目用画像位置データ72を参照して、当該左目用画像位置データ72が示す位置に左目用画像が表示されるように、左目用画像を上側LCD22に出力する。同様に、情報処理部31は、ステップS7で更新された右目用画像位置データ73を参照して、当該右目用画像位置データ73が示す位置に右目用画像が表示されるように、右目用画像を上側LCD22に出力する。より具体的には、情報処理部31は、右目用画像について縦方向に1ライン分の画素データを出力する処理と、左目用画像について縦方向に1ライン分の画素データを出力する処理とを交互に繰り返す。これにより、右目用画像が縦方向に分割された短冊状画像と左目用画像が縦方向に分割された短冊状画像とが交互に配置されて、上側LCD22に表示される。この場合において、2つの画像のずれ量(ステップS7で更新された各画像のx方向座標値の差)に応じて、右目用画像の短冊状画像と左目用画像の短冊状画像とが配置される。このようにして2つの画像が上側LCD22に出力されることにより、ユーザが上側LCD22の画面を正視すると、ユーザの右目には右目用画像が、ユーザの左目には左目用画像がそれぞれステップS7で調整された位置に表示されているように見える。
図16Aおよび図16Bは、左目用画像および右目用画像の位置のずれを示す図である。図16Aは、左目用画像および右目用画像のずれ量が0の場合において、上側LCD22に表示される左目用画像と右目用画像との位置関係を示した図である。図16Bは、左目用画像および右目用画像のずれ量が最大値に設定された場合において、上側LCD22に表示される左目用画像と右目用画像との位置関係を示した図である。図16Aおよび図16Bでは、左目用画像81(実線)と、右目用画像82(破線)とが示されている。左目用画像81には、実空間に存在する撮像対象51を撮像した撮像対象画像811と、実空間に存在する撮像対象52を撮像した撮像対象画像812とが含まれている。また、右目用画像82には、実空間に存在する撮像対象51を撮像した撮像対象画像821と、実空間に存在する撮像対象52を撮像した撮像対象画像822とが含まれている。左目用画像81および右目用画像82が表示された上側LCD22をユーザが正視した場合、ユーザは、これら2つの画像が一体となった立体画像(図10に示す立体感のある画像)として認識する。なお、上側LCD22に左目用画像81および右目用画像82が表示される場合、左目用画像81および右目用画像82の全体又は一部が上側LCD22に表示される。例えば、図16Aに示すように2つの画像のずれ量が0の場合、左目用画像81および右目用画像82の全体が上側LCD22に表示されてもよいし、左目用画像81および右目用画像82の中心から所定の長方形の範囲が上側LCD22に表示されてもよい。また、例えば、図16Bに示すように2つの画像のずれ量が最大値に設定された場合、左目用画像81および右目用画像82のうち、重なり合う部分のみが上側LCD22に表示されてもよい。なお、図16Aでは、説明のため左目用画像81および右目用画像82は僅かに上下方向にずらされて表示されているが、実際にはこれら2つの画像の位置(画像中心の位置)は一致しているものとする。
図16Aに示されるように、3D調整スイッチ25のスライダ25aが図6Bに示す第1の位置(最下点よりも僅かに上側の位置)に存在する場合、左目用画像および右目用画像のずれ量が0に設定される。また、図16Bに示されるように、3D調整スイッチ25のスライダ25aが図6Cに示す第2の位置(最上点)に存在する場合、左目用画像および右目用画像のずれ量は最大に設定される。図16Aに示された状態と図16Bに示された状態とを比較すると、立体画像の見え方が異なる。具体的には、図16Bに示される状態では図16Aに示される状態よりも、立体画像に含まれる撮像対象が上側LCD22の画面の奥方向に位置しているように見える。例えば、図16Aに示される状態において、ユーザが立体画像に含まれる撮像対象が画面近傍に位置していると感じる場合、図16Bに示される状態では、ユーザは立体画像に含まれる撮像対象が画面より奥方向に位置していると感じる。
図17Aおよび図17Bは、左目用画像および右目用画像が表示される位置に応じてユーザが感じる立体画像の見え方の違いを示す図である。図17Aは、図16Aで示す位置関係で左目用画像および右目用画像が上側LCD22に表示される場合において、ユーザが感じる撮像対象の位置を示す図である。図17Bは、図16Bで示す位置関係で左目用画像および右目用画像が上側LCD22に表示される場合において、ユーザが感じる撮像対象の位置を示す図である。図17Aおよび図17Bは、ユーザが立体画像を見たときに感じる、ユーザと、上側LCD22と、撮像対象51および52との位置関係を示す図である。図17Aに示すように、左目用画像および右目用画像が図16Aに示す位置関係の場合、立体画像に含まれる撮像対象51および52が上側LCD22の画面の手前に位置しているようにユーザは感じる。一方、図17Bに示すように、左目用画像および右目用画像が図16Bに示す位置関係の場合、立体画像に含まれる撮像対象51および52が図17Aに示す場合よりも上側LCD22の画面の奥方向に位置しているようにユーザは感じる。このように、左目用画像および右目用画像の横方向の表示位置が変化することによって、ユーザが感じる立体画像に含まれる撮像対象の位置が変化する。従って、ユーザは、外側撮像部23で撮像した画像の見え方を3D調整スイッチ25のスライダ25aの位置に応じて変化させることができる。
図14に戻り、ステップS21の判定結果が肯定の場合、ステップS24の処理が実行される。
ステップS24において、情報処理部31は、上側LCD22の表示モードが平面表示モードに設定されているため、上側LCD22の視差バリアをOFFに設定する。具体的には、情報処理部31は、上側LCD22のLCDコントローラに対して、視差バリアをOFFにする信号を送信する。情報処理部31は、次にステップS25の処理を実行する。
ステップS25において、情報処理部31は、1つの画像を上側LCD22に出力する。具体的には、内側撮像部24が選択されている場合、情報処理部31は、内側撮像部24で撮像された画像(ステップS3で取得された画像)を上側LCD22に出力する。また、外側撮像部23が選択されている場合、情報処理部31は、外側撮像部23で撮像された2つの画像のうち、何れか一方の画像を上側LCD22に出力する。これにより、上側LCD22には、外側撮像部23または内側撮像部24で撮像された画像が平面的に表示される。情報処理部31は、次にステップS26の処理を実行する。
ステップS26において、情報処理部31は、基準線63および水準線64を上側LCD22に表示させる。具体的には、情報処理部31は、上側LCD22の画面の中心を通り上側LCD22の画面の横方向に平行な水平基準線63aと、上側LCD22の画面の中心を通り上側LCD22の画面の縦方向に平行な垂直基準線63bとを上側LCD22に表示させる。また、情報処理部31は、ステップS5で検出したゲーム装置10の姿勢に応じた傾きを有する水準線64を上側LCD22に表示させる。
ここで、基準線63および水準線64をユーザが見た場合、基準線63および水準線64が表示される上側LCD22の画面の奥方向の位置は、画面と略同じ位置である。すなわち、ユーザが上側LCD22を見た場合、基準線63および水準線64が図17A又は図17Bに示される上側LCD22の画面上に表示されているように、ユーザは感じる。具体的には、左目用画像に重畳表示される基準線63および水準線64と、右目用画像に重畳表示される基準線63および水準線64とは、上側LCD22の画面上の同じ位置に表示される。外側撮像部23で撮像された左目用画像および右目用画像が3D調整スイッチ25で調整されることによって、これらの画像に含まれる撮像対象の位置が画面の手前又は奥方向に移動された場合であっても、基準線63および水準線64の画面に垂直な方向の位置は変化しない。このように、外側撮像部23で撮像された左目用画像および右目用画像の位置が3D調整スイッチ25によって調整された場合でも、基準線63および水準線64は常に画面上に表示される。
なお、図14に示すフローチャートから明らかなように、基準線63および水準線64は2D表示モードの場合であっても表示される。すなわち、基準線63および水準線64は、外側撮像部23を用いて立体画像を撮影する際にも、内側撮像部24を用いて平面画像を撮影する際にも、表示される。上述のように、外側撮像部23を用いて立体画像を撮影する際には、基準線63および水準線64は、ゲーム装置10が傾いたまま立体画像が撮影されることを防止することができる。また、内側撮像部24を用いて平面画像を撮影する際にも基準線63および水準線64が表示されるため、ユーザはゲーム装置の傾きを確認することができ、写真の構図を決定する際の参考とすることができる。
次に、情報処理部31は、上側LCDの表示処理を終了し、図13に示すステップS11の処理を実行する。
図13に戻り、ステップS11において、情報処理部31は、撮影指示があったか否かを判定する。具体的には、情報処理部31は、操作データ76を参照して、シャッターボタン(Lボタン14GまたはRボタン14H)が押されたか否かを判定する。シャッターボタンが押された場合、情報処理部31は、撮影指示があったと判定する。判定結果が肯定の場合、情報処理部31は、次にステップS12の処理を実行する。判定結果が否定の場合、情報処理部31は、次にステップS13の処理を実行する。
ステップS12において、情報処理部31は、ステップS3で取得された撮像画像を保存する。例えば、情報処理部31は、外側撮像部23で撮像された2つの画像又は内側撮像部24で撮像された画像をデータ保存用内部メモリ35(不揮発性メモリ)に恒久的に保存する。あるいは、情報処理部31は、外側撮像部23で撮像された2つの画像又は内側撮像部24で撮像された画像を静止画像としてメインメモリ32(揮発性メモリ)に一時的に保存する。なお、説明は省略するが、一時的に保存された画像は、ユーザからの所定の指示(例えば、不揮発性メモリへの保存を示すボタンが押されたこと)に応じてデータ保存用内部メモリ35等の不揮発性メモリに保存される。また、立体画像が保存される場合、右目用画像と左目用画像の画像データに加えて、これらの画像の位置のずれ量(ステップ7の調整量)も保存される。また、外側撮像部23が選択され、かつ、上側LCD22の表示モードが2D表示モードに設定されている場合(ステップS6でYes)、上側LCD22には左目用画像及び右目用画像のうち1つの画像のみが表示されるが、ステップS12ではこれら2つの画像が保存される。なお、外側撮像部23が選択され、かつ、上側LCD22の表示モードが2D表示モードに設定されている場合、外側撮像部23によって撮像された2つの画像のうち1つの画像のみが保存されてもよい。情報処理部31は、次にステップS13の処理を実行する。
ステップS13において、情報処理部31は、撮影処理の終了か否かを判定する。情報処理部31は、例えば、ユーザによって所定の操作がなされたか否か(例えば、セレクトボタン14J等が押されたか否か)を判定する。判定結果が否定の場合、情報処理部31は、次にステップS1の処理を実行する。判定結果が肯定の場合、情報処理部31は、図13に示す撮影処理を終了する。以上で本実施形態に係る撮影処理は終了する。
以上のように、本実施形態では、外側撮像部23でユーザの視線方向を立体画像として撮像することができ、内側撮像部24でユーザの顔(ユーザの視線方向とは反対方向)を撮像することができる。
本実施形態では、上側ハウジング21の内側面には、立体視可能な画像(立体画像)を表示する上側LCD22が設けられ、下側ハウジング11の内側には画像を平面的に表示する下側LCD12が設けられる。下側ハウジング11には、ユーザによって操作される各操作ボタン14やタッチパネル13が設けられる。このように下側ハウジング11をユーザに把持させて操作させる構成としたことにより、ゲーム装置10に対する操作をしやすく、かつ、上側ハウジング21に設けられた上側LCD22を見やすい構成とすることができる。ユーザがゲーム装置10を操作している状態であっても、裸眼で立体画像を表示することが可能な上側LCD22にはユーザの手や指がかからないため、上側LCD22を見やすい。立体画像が上側LCD22に表示される場合、ユーザは上側LCD22の画面よりも手前または画面よりも奥方向の位置に目の焦点を合わせることにより、上側LCD22に表示された画像を立体画像として認識する。この場合において、上側LCD22の画面の手前やその周辺にユーザの手や指等(その他の物体も含む)が存在すると、ユーザは目の焦点を合わせ難い。一方、本実施形態に係るゲーム装置10では、ユーザによって把持および操作される下側ハウジング11が設けられるため、上側ハウジング21に設けられた上側LCD22にはユーザの手や指がかからず、ユーザは目の焦点を合わせやすい。
また、上側ハウジング21の内側面とは反対側の外側面には、外側撮像部23(ステレオカメラ)が設けられ、上側ハウジング21の内側面には、内側撮像部24が設けられる。外側撮像部23の2つの撮像部(外側撮像部(左)23aおよび外側撮像部(右)23b)は、下側LCD12の画面の横方向と平行に並べられて配置される。また、内側撮像部24は、外側撮像部23の2つの撮像部の中間の裏側に配置される。以上のような構成により、ユーザが上側LCD22の画面を正面から視認した状態で、ユーザの視線方向を外側撮像部23を用いて撮像することができる。外側撮像部23で撮像された右目用画像および左目用画像は上側LCD22に表示され、視差バリアを介してユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。これにより、立体視可能な画像が上側LCD22に表示される。上側LCD22には、外側撮像部23によって撮像された立体画像がリアルタイムで表示され、ユーザは、上側LCD22の画面に表示された立体画像を見ながら、シャッターボタン(Lボタン14G又はRボタン14H)を押すことで、当該立体画像を保存することができる。また、ユーザが上側LCD22に表示された立体画像を視認した状態で(上側LCD22の画面を正面から視認した状態で)、ユーザが内側撮像部24に切り替えた場合、ユーザは内側撮像部24を正視した状態となる。この状態のまま、ユーザは、撮像部のシャッターボタン(Lボタン14G又はRボタン14H)を押すことで、ユーザ自信の顔を正面から撮影することができる(画像を保存することができる)。従って、ユーザは、使用する撮像部を外側撮像部23から内側撮像部24に切り替えた場合に、顔の位置を正しい位置(内側撮像部24の正面の位置)に移動させる必要がなく、ユーザ自身の顔をまっすぐに撮影することができる。なお、使用する撮像部(外側撮像部23又は内側撮像部24)の選択は、下側ハウジング11に設けられた各操作ボタン14A〜14Eを用いた選択操作によって行われてもよい。
また、上側LCD22の画面の面積は、下側LCD12の画面の面積よりも大きく設定される。具体的には、上側LCD22の画面は、下側LCD12の画面よりも横長である。すなわち、上側LCD22の画面のアスペクト比(縦横比)における横幅の割合は、下側LCD12の画面のアスペクト比における横幅の割合よりも大きい。これにより、ユーザを上側LCD22の画面に注目させることができる。また、上側LCD22の画面よりも下側LCD12の画面を大きくすることにより、ユーザに各ハウジングの長辺方向が横方向となる持ち方(図8に示す持ち方;横持ち)が正しい持ち方であると認識させることができる。すなわち、ユーザが下側ハウジング11および上側ハウジング21の右側面が下になるように把持した場合(図8に示すゲーム装置10が時計回りに90度回転させて把持する場合;縦持ち)、2つの画面は左右対称ではないため、ユーザに横持ちが正しい持ち方であると認識させることができる。
また、上側LCD22の横方向の解像度は、下側LCD12の横方向の解像度よりも高く設定される。これにより、上側LCD22に立体画像が、下側LCD12に平面画像が表示された場合でも、ユーザを上側LCD22に注目させることができる。すなわち、上側LCD22と下側LCD12の横方向の解像度が同じである場合、上側LCD22に立体画像として表示されて、下側LCD12に平面画像として表示されると、上側LCD22に表示される右目用画像および左目用画像は下側LCD12に表示される平面画像と比べて横方向の解像度が低下する。そうすると、下側LCD12に表示される画像が、上側LCD22に表示される画像と比較して、鮮明な画像となり、ユーザを上側LCD22に注目させづらくなる。
例えば、上側LCD22の横方向の解像度は、下側LCD12の横方向の解像度の1.5倍程度以上(好ましくは2倍以上)に設定されてもよい。上側LCD22に立体画像を表示する場合、1つの画面に右目用画像と左目用画像とが表示されるため、右目用画像および左目用画像によって表示される立体画像の横方向の解像度は実質的に半分になる。上側LCD22と下側LCD12の横方向の解像度が同じに設定されると、下側LCD12の方が上側LCD22よりも画面が鮮明になる。そうすると、ユーザは上側LCD22より下側LCD12に注目してしまう。しかしながら、上側LCD22の横方向の解像度を下側LCD12の横方向の解像度よりも高くすることで、上側LCD22に立体画像を表示させた場合にユーザを上側LCD22に注目させることができる。
また、ユーザによって把持される下側ハウジング11が設けられ、上側ハウジング21に上側LCD22の表示モードを切り替える3D調整スイッチ25が設けられる。このように上側ハウジング21に3D調整スイッチ25が設けられることによって、ユーザが上側LCD22を視認している間に、誤って3D調整スイッチ25を操作してしまい、上側LCD22の表示モードが切り替わることを防止することができる。また、3D調整スイッチ25は、2つの画像間の横方向の距離を調整する機能も有するため、ユーザが上側LCD22を視認している間に、誤って画像間のずれ量が変化して立体画像の見え方が変化することを防止することができる。
また、上側ハウジング21には、上側LCD22が立体表示モードか否かを示す3Dインジケータ26が設けられる。これにより、ユーザは立体表示モードか否かを容易に認識することができる。また、3Dインジケータ26以外のゲーム装置10の状態を示すインジケータ(電源のON/OFFを示す第1LED16Aや無線の有効/無効を示す第2LED16B)は、下側ハウジング11に設けられる。なお、3Dインジケータ26以外のインジケータは、上側ハウジング21の外側面や側面に設けられてもよいし、下側ハウジング11の内側面、外側面、側面の何れかに設けられてもよい。すなわち、3Dインジケータ26以外のインジケータが上側ハウジング21の内側面とは異なる面に設けられてもよい。このように、ユーザが上側LCD22を正視したときにユーザの視界に入らない位置に、3Dインジケータ26以外のインジケータが設けられることにより、上側LCD22に表示される立体画像の視認性の低下を防止することができる。
(他の実施形態)
次に、ゲーム装置10の他の実施形態について説明する。他の実施形態では、立体画像が上側LCD22に表示されている間、下側LCD12(タッチパネル13)をタッチすることで、上側LCD22上の位置を指示する。具体的には、立体画像が上側LCD22に表示されている間、タッチパネル13に対してタッチ操作がされると、当該タッチ位置に対応した上側LCD22上の位置が指示される。指示された上側LCD22上の位置には、カーソルが表示されてもよい。そして、例えば、指示された上側LCD22上の位置が画面の中心になるように画像がスクロールされる。他の例では、指示された上側LCDの位置に表示されているオブジェクトの奥行位置が表示面付近になるように、右目用画像と左目用画像とのずれ量を調整してもよい。
図18は、タッチパネル13を用いて上側LCD22上の位置を指示する様子を示す図である。図18では、上側LCD22には撮像対象画像61と撮像対象画像62とを含む立体画像60が表示されている。ユーザが指やタッチペン28を用いてタッチパネル13をタッチすると、タッチパネル13はタッチ位置を検出する。図18に示されるように、当該タッチ位置に対応する上側LCD22上の位置に、カーソル65が表示される。タッチパネル13によって検出されたタッチ位置に対応する上側LCD22上の位置は、2つの画面の横方向の長さの比率および縦方向の長さの比率に応じて、算出される。例えば、上側LCD22上の位置は、以下の式を用いて算出される。
x22=x12・A
y22=y12・B
ここで、x22は上側LCD22の横方向の座標値を示し、x12は下側LCD12の横方向の座標値を示す。y22は上側LCD22の縦方向の座標値を示し、y12は下側LCD12の縦方向の座標値を示す。また、Aは下側LCD12の横方向の長さと上側LCD22の横方向の長さとの比を示し、Bは下側LCD12の縦方向の長さと上側LCD22の縦方向の長さとの比を示す。
このように、上側LCD22上の位置を直接指示することなく、下側LCD12上の位置を指示することによって、上側LCD22上の位置を間接的に指示する。これにより、上側LCD22に立体画像が表示される場合であっても、ユーザは、表示された立体画像を容易に指示することができる。すなわち、立体画像を直接タッチする場合、目の焦点が画面上にないため、ユーザは、画面の手前の空間をタッチしようとしたり、画面の奥方向の位置をタッチしようとしたりすることがある。従って、上側LCD22上の位置を直接指示することは困難である。また、立体画像を指やタッチペン28を用いて直接タッチすると、指やタッチペン28がユーザの視界に入るため、立体視の妨げとなる。しかしながら、下側LCD12上の位置を指示することによって、上側LCD22上の位置を間接的に指示することによって、立体視が妨げられることなく、ユーザは、上側LCD22上の位置を容易に指示することができる。
そして、例えば、外側撮像部23によって撮像されて保存されている画像が立体画像として表示されている場合において、指示された上側LCD22上の位置が上側LCD22の画面の中心になるように、立体画像がスクロールされてもよい。
なお、外側撮像部23によって撮像された立体画像がリアルタイムで表示されている場合において、指示された上側LCD22上の位置に基づいて、右目用画像および左目用画像の横方向の位置が調整されてもよい。例えば、図18において、指示された上側LCD22上の位置に存在する撮像対象51を、右目用画像および左目用画像の中からパターンマッチング等によって検出し、当該撮像対象51が上側LCD22の画面上にくるように、右目用画像および左目用画像の横方向の位置を調整してもよい。すなわち、右目用画像および左目用画像に含まれる撮像対象画像61(撮像対象51)の横方向の位置を一致させる。これにより、撮像対象51が画面の奥方向又は手前方向に移動して、画面付近に位置するように見える。
また、他の実施形態では、ゲーム装置10は、姿勢検出手段として加速度センサ39に替えて(または加えて)、角速度センサを備えてもよい。角速度センサは、図1に示すxyzの3軸周りの角速度を検出するものでもよいし、z軸周りの角速度を検出するものでもよい。当該角速度センサによって、ゲーム装置10の姿勢(水平方向(横方向)の傾き)を算出することが可能である。具体的には、角速度センサによって検出されたz軸周りの角速度を時間で積分することによって、z軸周りのゲーム装置10の回転角を算出することができる。この場合において、ゲーム装置10が水平方向に傾いていない状態で角速度センサの初期化が行われる必要がある。
なお、ゲーム装置10が姿勢検出手段として加速度センサ39と角速度センサとを備える場合、加速度および角速度を用いて、ゲーム装置10の姿勢をより正確に検出することができる。すなわち、ゲーム装置10が静止している状態では、加速度センサ39によって検出された加速度に基づいて、ゲーム装置10の姿勢を正確に検出することができる。ゲーム装置10が動いている場合(重力加速度以外の加速度が発生している場合)、角速度センサによって検出された角速度に基づいて、ゲーム装置10の姿勢を検出する。なお、角速度センサによる角速度の検出にはある程度の誤差があり、時間が経過するに伴って算出される回転角の誤差が蓄積される。しかしながら、ゲーム装置10が静止した状態では加速度センサ39が検出した加速度に基づいて正確にゲーム装置10の姿勢を検出することができるため、静止状態において角速度センサによって算出される回転角を初期化することができる。このように、加速度センサ39と角速度センサとを用いることにより、ゲーム装置10が動いている場合でも動いていない場合でも、ゲーム装置10の姿勢をより正確に検出することができる。
また、他の実施形態では、ゲーム装置10が所定のゲームを実行する。例えば、所定のゲームプログラムがデータ保存用内部メモリ35や外部メモリ44に記憶され、ゲーム装置10が当該プログラムを実行することによりゲームが行われる。例えば、当該ゲームでは、3次元仮想空間に存在するオブジェクトが上側LCD22に立体表示され、ユーザからの指示に従って当該オブジェクトが3次元仮想空間を移動するものとする。
図19は、上側LCD22に表示されるゲーム画像の一例を示す図である。例えば、図19に示されるように、上側LCD22には仮想空間に存在するキャラクタオブジェクト91、障害物オブジェクト92および93が立体表示される。具体的には、仮想空間および当該仮想空間に存在するオブジェクトをポリゴン等の3Dモデルを用いて生成し、これを所定距離だけ横方向に離した2つの仮想カメラ(仮想ステレオカメラ)で撮像することで、右目用画像と左目用画像を生成することができる。ユーザは、アナログスティック15を用いて、3次元仮想空間に存在するキャラクタオブジェクト91を障害物オブジェクト92および93を回避しながら移動させる。3次元空間におけるオブジェクトの操作では、アナログスティック15の方が十字ボタン14Aよりもオブジェクトの操作がしやすい。アナログスティック15を用いると任意の方向を指示することが可能であり、3次元仮想空間における任意の方向にオブジェクトを移動させることができる。一方、十字ボタン14Aを用いる場合、基本的には8方向(上下左右およびこれらの斜め45度の方向)しか指示することができず、任意の方向を指示することができない。このように、アナログスティック15を用いると任意の方向を指示することが可能であるため、3次元仮想空間を前提としたゲームでは、十字ボタン14Aを用いる場合よりも操作性がよい。
上述の実施形態に係るゲーム装置10では、アナログスティック15の下に十字ボタン14Aが設けられ、画像を平面表示する下側LCD12が下側に設けられる。下側LCD12に画像が平面表示されるゲームの場合は、アナログスティック15ではなく十字ボタン14Aが用いられてもよい。このように、2つの操作手段がゲーム装置10に設けられることにより、画像が立体表示される場合と平面表示される場合とで、2つの操作手段を使い分けることができる。また、アナログスティック15を上側に配置し、十字ボタン14Aを下側に配置することで、上側LCD22とアナログスティック15、下側LCD12と十字ボタン14Aという対応付けをユーザに示唆することができる。
また、本実施形態では、3D調整スイッチ25のスライダの位置に応じて、左目用画像および右目用画像のずれ量が調整された。他の実施形態では、3D調整スイッチ25は、立体表示のON/OFFのみに用いられ、左目用画像および右目用画像のずれ量は、下側LCD12に対するタッチ操作によって行われてもよい。例えば、外側撮像部23が選択されている場合において、3D調整スイッチ25のスライダが第1の位置から第2の位置の間に存在するとき、上側LCD22には外側撮像部23で撮像された左目用画像および右目用画像が表示されて、立体画像が表示される。この場合において、下側LCD12には、例えば、左目用画像と右目用画像とのずれ量を調整するための調整バーが表示されてもよい。そして、ユーザが当該調整バーのスライダをタッチして所定方向(例えば、横方向)にスライドさせることによって、左目用画像と右目用画像とのずれ量が調整されてもよい。また、下側LCD12には、左目用画像および右目用画像が半透明で重ね合わされて表示されてもよい。この場合において、ユーザは左目用画像および右目用画像をそれぞれ両目で視認することができるため、2つの画像の位置関係を容易に認識することができる。そして、例えば、ユーザが左目用画像又は右目用画像をタッチして移動させることで、2つの画像のずれ量が調整されてもよい。また、他の実施形態では、操作ボタン14A〜Eによる操作に応じて、左目用画像および右目用画像のずれ量が調整されてもよい。例えば、十字ボタン14Aの左右方向のボタンが押された場合に、左目用画像および右目用画像の左右方向のずれ量が調整されてもよい。
また、本実施形態では、上側ハウジング21の内側面に上側LCD22が設けられ、下側ハウジング11の内側面に下側LCD12が設けられた。他の実施形態では、上側LCD22および下側LCD12は、各ハウジングの外側面に設けられてもよい。すなわち、2つのハウジングを開いた場合に、各LCDが設けられた面が同じ方向を向くように構成されていればよい。
また、本実施形態では、上側ハウジング21と下側ハウジング11とが折り畳み可能に構成された。他の実施形態では、上側ハウジング21又は下側ハウジングが上下方向にスライド可能であり、スライドした場合に上側LCD22および下側LCD12が上下に連結された配置される構成であってもよい。
また、上記実施形態で示された各操作ボタン14の位置は、単なる一例であって、これらはどのように配置されてもよい。また、上記実施形態では、3D調整スイッチ25が上側ハウジング21の内側面に設けられることで、ユーザが上側LCD22を視認している際でもユーザは当該3D調整スイッチ25を視認することができるようにした。他の実施形態では、3D調整スイッチ25は、上側ハウジング21の外側面や側面に配置されてもよいし、下側ハウジング11に配置されてもよい。
また、上記実施形態では、加速度センサ39又は/及び角速度センサを用いてゲーム装置10の姿勢を検出することについて説明した。そして、図10および図11に示されるように検出した姿勢を示す基準線63および水準線64を上側LCD22に表示した。他の実施形態では、検出した姿勢を音やゲーム装置10の振動等によって、ユーザに報知してもよい。これにより、ユーザは、ゲーム装置10が水平方向に傾いているか否かを知ることができる。
また、上記実施形態では、上側LCD22はパララックスバリア方式の液晶表示装置であるとして、視差バリアのON/OFFを制御することにより、立体表示モードと平面表示モードとに切り替えられた。他の実施形態では、例えば、レンチキュラー方式の液晶表示装置を用いて、立体画像および平面画像を表示可能としてもよい。レンチキュラー方式の場合でも、外側撮像部23で撮像した2つの画像を縦方向に短冊状に分割して交互に配置することで画像が立体表示される。また、レンチキュラー方式の場合でも、内側撮像部24で撮像した1つの画像をユーザの左右の目に視認させることによって、当該画像を平面表示させることができる。すなわち、レンチキュラー方式の液晶表示装置であっても、同じ画像を縦方向に短冊状に分割し、これら分割した画像を交互に配置することにより、ユーザの左右の目に同じ画像を視認させることができる。これにより、内側撮像部24で撮像された画像を平面画像として表示することが可能である。
また、他の実施形態では、ゲーム装置に限らず任意の携帯型電子機器、例えば、PDA(Personal Digital Assistant)や携帯電話、パーソナルコンピュータ、カメラ等であってもよい。例えば、携帯電話が、1つのハウジングの主面に立体視可能な画像を表示する表示部と、当該主面に配置された撮像部と、主面と反対側の当該ハウジングの背面に配置されたステレオカメラとを備えてもよい。
また、上記実施形態においては、ゲーム装置10の情報処理部31が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われた。他の実施形態においては、上記処理の一部又は全部は、ゲーム装置10が備える専用回路によって行われてもよい。