(57)【要約】      （修正有）【課題】特に立体視効果に関する画像の視覚的効果を調節するためのシステムおよび方法を提供する。【解決手段】仮想カメラ位置と対象オブジェクト位置との間の線に沿って交差が検出されるかどうかを判定し、次に交差に関連付けられる交差ポイントに基づいて仮想カメラのパラメータを調節することができる。【選択図】図５Ｃ
2019217269.tif 000002
【特許請求の範囲】
【請求項１】
立体視表示用に構成される表示装置上に表示されるビデオゲーム中の立体視画像を調節するように構成されるシステムであって、
プロセッサと、
前記プロセッサに動作するように結合されかつコンピュータ読出可能命令を記憶するメモリとを備え、当該命令は、前記プロセッサによって実行されると、前記システムに、
少なくとも１つの仮想カメラを、前記仮想カメラの基準仮想面が仮想プレイヤキャラクタオブジェクトの位置に従って位置決めされた状態で、仮想三次元空間中に位置決めさせ、
前記仮想カメラの視点位置と前記仮想プレイヤキャラクタオブジェクトとの間の線に基づいて前記視点位置と前記線に沿った位置との間に交差が存在するかどうかを判定させ、
前記交差が存在する前記線に沿った位置に基づいて、前記仮想カメラの前記基準仮想面を調節させ、かつ
前記仮想カメラの前記視点位置の視点からの前記仮想三次元空間を示す立体視画像を生成させて表示させる、システム。
【請求項２】
前記交差は、前記線に沿った位置が前記仮想三次元空間中のゲーム地形の基準ジオメトリと交差する場合に存在する、請求項１に記載のシステム。
【請求項３】
前記仮想三次元空間は、少なくともゲーム地形および前記仮想プレイヤキャラクタオブジェクトを有するゲーム世界と、前記ゲーム世界の周囲に設定されるバウンディングボックスとをさらに含み、
前記線に沿った位置が前記バウンディングボックスの少なくとも１つの部分と交差する場合に前記交差が存在する、請求項１に記載のシステム。
【請求項４】
前記コンピュータ読出可能命令は、実行されると、前記システムにさらに、
前記仮想カメラの視点位置と前記仮想プレイヤキャラクタオブジェクトとの間の複数の線に基づいて前記視点位置と前記複数の線に沿った位置との間に１つ以上の交差が存在するかどうかを判定させ、かつ
前記仮想カメラに最も近い前記複数の線のうちの１本に沿った位置に基づいて前記仮想カメラの前記基準仮想面を調節させる、請求項１に記載のシステム。
【請求項５】
前記仮想三次元空間は、少なくともゲーム地形および前記仮想プレイヤキャラクタオブジェクトを有するゲーム世界と、前記ゲーム世界を覆うように設定される複数のバウンディングボックスとをさらに含み、
前記線に沿った位置が前記複数のバウンディングボックスのうち１つの少なくとも一部と交差する場合に前記交差が存在する、請求項１に記載のシステム。
【請求項６】
少なくとも１つの仮想カメラに関連付けられるパラメータを調節するように構成されるシステムであって、
プロセッサと、
前記プロセッサに動作するように結合されかつコンピュータ読出可能命令を記憶するメモリとを備え、当該命令は、前記プロセッサによって実行されると、前記システムに、
仮想三次元空間中の仮想カメラの視点位置と前記仮想三次元空間中の対象との間の線に基づいて前記視点位置と前記線に沿った位置との間に交差が存在するかどうかを判定させ、
前記交差が存在する前記線に沿った位置に基づいて、前記仮想カメラに関連付けられるパラメータを設定させ、
前記仮想カメラの視点からの前記仮想三次元空間を表わす画像を生成させて表示させる、システム。
【請求項７】
前記交差は、前記線に沿った位置が前記仮想三次元空間中のゲーム地形の基準ジオメトリと交差する場合に存在する、請求項６に記載のシステム。
【請求項８】
前記仮想三次元空間は、少なくともゲーム地形および仮想プレイヤキャラクタオブジェクトを有するゲーム世界と、前記ゲーム世界の周囲に設定されるバウンディングボックスとをさらに含み、
前記線に沿った位置が前記バウンディングボックスの少なくとも１つの部分と交差する場合に前記交差が存在する、請求項６に記載のシステム。
【請求項９】
前記コンピュータ読出可能命令は、実行されると、前記システムにさらに、
前記仮想カメラの視点位置と仮想プレイヤキャラクタオブジェクトとの間の複数の線に基づいて前記視点位置と前記複数の線に沿った位置との間に１つ以上の交差が存在するかどうかを判定させ、かつ
前記仮想カメラに最も近い前記複数の線のうちの１本に沿った位置に基づいて前記仮想カメラの基準仮想面を調節させる、請求項６に記載のシステム。
【請求項１０】
前記仮想三次元空間は、少なくともゲーム地形および仮想プレイヤキャラクタオブジェクトを有するゲーム世界と、前記ゲーム世界を覆うように設定される複数のバウンディングボックスとをさらに含み、
前記線に沿った位置が前記複数のバウンディングボックスのうち１つの少なくとも一部と交差する場合に前記交差が存在する、請求項６に記載のシステム。
【請求項１１】
前記対象は、前記仮想三次元空間中に位置決めされる仮想プレイヤキャラクタオブジェクトである、請求項６に記載のシステム。
【請求項１２】
前記視点位置は、少なくとも２つの仮想カメラの位置に基づいて判定され、生成されて表示される前記画像は、前記少なくとも２つの仮想カメラの位置に基づいて判定された前記視点位置から見た立体視画像である、請求項６に記載のシステム。
【請求項１３】
情報処理装置の表示装置を用いて表示される画像における視覚的効果を調節する方法であって、
少なくとも１つの仮想カメラを仮想三次元空間中に位置決めすることと、
前記仮想三次元空間中の前記仮想カメラの視点位置と前記仮想三次元空間中の対象との間の線に基づいて前記視点位置と前記線に沿った位置との間に交差が存在するかどうかを判定することと、
前記交差が存在する前記線に沿った位置に基づいて、前記仮想カメラに関連付けられるパラメータを設定することと、
前記仮想カメラの視点からの前記仮想三次元空間を表わす画像を生成して表示することとを備える、方法。
【請求項１４】
前記交差は、前記線に沿った位置が前記仮想三次元空間中のゲーム地形の基準ジオメトリと交差する場合に存在する、請求項１３に記載の方法。
【請求項１５】
前記仮想三次元空間は、少なくともゲーム地形および仮想プレイヤキャラクタオブジェクトを有するゲーム世界と、前記ゲーム世界の周囲に設定されるバウンディングボックスとをさらに含み、
前記線に沿った位置が前記バウンディングボックスの少なくとも１つの部分と交差する場合に前記交差が存在する、請求項１３に記載の方法。
【請求項１６】
前記仮想三次元空間は、少なくともゲーム地形および仮想プレイヤキャラクタオブジェクトを有するゲーム世界と、前記ゲーム世界を覆うように設定される複数のバウンディングボックスとをさらに含み、
前記線に沿った位置が前記複数のバウンディングボックスのうち１つの少なくとも一部と交差する場合に前記交差が存在する、請求項１３に記載の方法。
【請求項１７】
コンピュータ読出可能命令を備えるコンピュータ読出可能記憶媒体であって、当該命令は、情報処理装置のプロセッサによって実行されると、前記情報処理装置に、
少なくとも１つの仮想カメラを仮想三次元空間中に位置決めすることと、
前記仮想三次元空間中の前記仮想カメラの視点位置と前記仮想三次元空間中の仮想オブジェクトとの間の線に基づいて前記視点位置と前記線に沿った位置との間に交差が存在するかどうかを判定することと、
前記交差が存在する前記線に沿った位置に基づいて前記仮想カメラの基準仮想面を設定することと、
前記仮想カメラの視点からの前記仮想三次元空間を表わす立体視画像を生成して表示することと、
を行なわせる、コンピュータ読出可能記憶媒体。
【請求項１８】
前記交差は、前記線に沿った位置が前記仮想三次元空間中のゲーム地形の基準ジオメトリと交差する場合に存在する、請求項１７に記載のコンピュータ読出可能記憶媒体。
【請求項１９】
前記仮想三次元空間は、少なくともゲーム地形および前記仮想オブジェクトを有するゲーム世界と、前記ゲーム世界の周囲に設定されるバウンディングボックスとをさらに含み、
前記線に沿った位置が前記バウンディングボックスの少なくとも１つの部分と交差する場合に前記交差が存在する、請求項１７に記載のコンピュータ読出可能記憶媒体。
【請求項２０】
前記仮想三次元空間は、少なくともゲーム地形および前記仮想オブジェクトを有するゲーム世界と、前記ゲーム世界を覆うように設定される複数のバウンディングボックスとをさらに含み、
前記線に沿った位置が前記複数のバウンディングボックスのうち１つの少なくとも一部と交差する場合に前記交差が存在する、請求項１７に記載のコンピュータ読出可能記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
技術的概要
多くの現代のビデオゲームは、仮想三次元空間にオブジェクトが存在する仮想環境を確立し、仮想三次元空間は１つ以上の仮想カメラによって「画像化」される。次に、仮想カメラがキャプチャする画像は表示装置上にレンダリングされ、そこでユーザは仮想三次元環境でオブジェクトと対話することができる。場合により、表示装置は「リアルな」三次元画像を生成するように構成される。そのような装置の一例が立体視表示装置であり、当該立体視表示装置が生成することができる画像により、見る人は、表示されるオブジェクトがあたかも「現実の」世界に存在するかのような奥行き感を感じることができる。そのような装置はユーザに非常に「リアルな３Ｄ」体験を与えることができるが、三次元環境の仮想画像をレンダリングする際にはある欠点が存在する。
【０００２】
著作権表示
この特許文献の開示の一部は著作権保護の対象となる内容を含む。著作権者は、当該特許文献または特許開示が特許商標庁の特許ファイルまたは記録に現われる限りにおいては、何人によるその完全な複写に対しても異議を申立てるものではないが、それ以外の一切の著作権を留保する。
【図面の簡単な説明】
【０００３】
【図１】情報処理機器の外観図である。
【図２】情報処理機器の内部構成の例を示すブロック図である。
【図３】図３Ａおよび３Ｂは仮想空間の画像を生成するための非限定的かつ例示的な図である。
【図４】ビデオゲーム世界の非限定的かつ例示的な仮想環境の図である。
【図５Ａ】画像の視覚的効果を調節するための例示的な方法の図である。
【図５Ｂ】画像の視覚的効果を調節するための例示的な方法の図である。
【図５Ｃ】画像の視覚的効果を調節するための例示的な方法の図である。
【図６Ａ】画像の視覚的効果を調節するための別の例示的な方法の図である。
【図６Ｂ】画像の視覚的効果を調節するための別の例示的な方法の図である。
【図６Ｃ】画像の視覚的効果を調節するための別の例示的な方法の図である。
【図６Ｄ】画像の視覚的効果を調節するための別の例示的な方法の図である。
【図７Ａ】画像の視覚的効果を調節するための別の例示的な方法の図である。
【図７Ｂ】画像の視覚的効果を調節するための別の例示的な方法の図である。
【図７Ｃ】画像の視覚的効果を調節するための別の例示的な方法の図である。
【発明を実施するための形態】
【０００４】
技術の例示的かつ非限定的な実施形態の詳細な説明
ソフトウェアプログラムは、表示装置上に表示可能な仮想三次元空間を生成することができる。たとえば、多くのビデオゲームは、プレイヤキャラクタ、敵オブジェクト、ならびに他の仮想オブジェクトおよび地形が存在する仮想三次元環境の中に「ゲーム世界」を生成する。ゲーム世界を生成する際、１つ以上の仮想カメラがゲーム世界を「画像化」することができ、それにより「キャプチャされた」画像がレンダリングされて表示される。
【０００５】
立体視表示の例では、ゲーム世界は、少なくとも左仮想カメラおよび右仮想カメラを用いて画像化され得る。ゲーム世界の中のあるオブジェクトは、互いに異なる左仮想カメラおよび右仮想カメラの観察位置に存在し得る。当該特定のオブジェクトについてのこの差の大きさが視差量と考えられ得る。
【０００６】
立体視表示用の画像をレンダリングする際、視差量の結果、（ディスプレイ内部に）引込むまたはディスプレイから「飛び出す」ようなオブジェクトの奥行き感が知覚される。そのため、（視差量に依存して）あるオブジェクトは、ディスプレイから飛び出している、またはディスプレイ内部に引込んでいるように見え、これにより、あたかも画像がリアルな三次元画像であるかのような知覚を画像に与える。同様に、あるオブジェクトは、位置の差がほとんどか全くないような左仮想カメラと右仮想カメラとの両方の観察位置にあることがある。これらの事例では、オブジェクト同士の間には視差がほとんどないか全くなく、それらはあたかもディスプレイ上にある（すなわちディスプレイの内部に引込んだりディスプレイから飛び出したりしていない）ように見える。
【０００７】
ビデオゲーム環境などのある環境では、１つ以上の仮想カメラは、仮想三次元空間において特定のオブジェクトに追従することがある。さらに、仮想カメラは、視差がほとんどか全くない（すなわち、何らかの奥行き感を有するよりもむしろディスプレイ上に存在すると知覚される）ようにオブジェクトをレンダリングすることによって、オブジェクトに「焦点合わせ」することがある。ある事例では、画像が生成されているときに、さまざまなオブジェクトまたは地形の一部がオブジェクトの視界を妨げることがある。立体視画像がレンダリング中である状況では、画像はさまざまな障害物を示すことがあるだけでなく、不自然であるまたは見て違和感があることがある。
【０００８】
１つの例では、ゲームはカメラシステムの自由な動きを許容し得る。たとえば、三人称視点のゲーム（たとえばアクションパズルゲーム）では、ユーザは何らかの種類の入力装置を用いてプレイヤキャラクタをコントロールし得る。この例では、カメラはプレイヤの入力に基づいて対象位置の周りで実質的に自由に回転することができ、対象位置はズームレベルに依存して異なり得る（たとえば、最も遠いズームは地形／ステージ全体の中心に照準を合わせる可能性がある一方で、最も近いズームは仮想オブジェクトの位置に中心を合わせる可能性がある）。
【０００９】
カメラシステムの自由な動きにより、地形の距離全体にわたって俯瞰し（またはプレイヤキャラクタのカメラ視界を遮る壁を見すら）しながら、プレイヤキャラクタにぴったりとズームインすることが可能である。そのような場合、プレイヤキャラクタの前のオブジェクトは画面から「飛び」出すように見えることがあり、極端な場合、方向感覚を大きく失わせるかつ不自然な態様で見えることがある。さらに、ディスプレイの縁にあるオブジェクトは部分的にしか描かれない（すなわちクリッピングされる）ことがあり、したがって立体視画像としてレンダリングされた際にディスプレイから飛び出すと非常に不自然に見えることがある。一般的に、見る人が立体視効果をもって画像を見ることができる範囲は非常に限られていることがあり、そのため大き過ぎる引込み効果または飛び出し効果が感じられるのは望ましくない。さらに、飛び出し効果を有するオブジェクトの好ましい範囲は、引込み効果を有するオブジェクトの好ましい範囲よりも狭い。
【００１０】
本明細書中に記載される技術は、特に立体視効果についての画像の視覚的効果を調節するためのシステムおよび方法を提示する。１つの例示的な実施形態では、当該技術は、仮想世界における仮想カメラ位置とオブジェクトとの位置との間に「衝突」が検出されるかどうかを判定し、次に「衝突」に関連付けられる交差ポイントに基づいて仮想カメラの基準仮想面を調節することができる。そうする際に、当該技術は有利には、視覚的効果（たとえば立体視効果）の調節に大量の処理資源を費やすことなく、ユーザが快適に見る態様で仮想三次元画像をレンダリングする。この明細書を通じて記載される例は、表示される画像の立体視効果を調節することに向けられることを認めるべきである。しかしながら、当該技術は立体視表示に限定されるのではなく、当該技術は、本明細書中に記載する技法が二次元表示と三次元表示との両方を含む任意のさまざまな表示装置において用いられることを企図する。
【００１１】
さらに、明細書に記載される技術は、ある例では、仮想カメラの「焦点」を調節することを指す。１つの非限定的な例では、１つ以上の仮想カメラの「焦点」を調節することは、基準仮想面に近い位置にあるオブジェクトが視差をほとんどか全く有しない（かつ、したがって画面上ではディスプレイ上にあるかのように見える）ように仮想カメラの基準仮想面（「ゼロ面」と称されることがある）を調節することを指すことがあることを認めるべきである。加えて、この明細書に記載されるある例は、プレイヤキャラクタオブジェクトに照準を合わせる仮想カメラを指す。しかしながら、仮想カメラは、任意の特定のオブジェクトに照準を合わせてもよく、本明細書中に記載される技術は、如何なる態様でもプレイヤキャラクタオブジェクトに照準を合わせることに限定されるものではないことを認めるべきである。
【００１２】
この要約は、以下で詳細な説明にさらに記載するさまざまな概念を簡略化した形態で紹介するために提供される。この要約は、請求される主題の重要な特徴または必須の特徴を同定することも、請求される主題の範囲を限定するために用いられることも意図しない；むしろ、この要約は、この書類に記載される主題の概要を提供することを意図する。したがって、上述の特徴は例に過ぎず、本明細書中に記載される主題の他の特徴、局面、および利点が以下の詳細な説明、図、および請求項から明らかになるであろうことが認められる。
【００１３】
以下の記載では、説明および非限定の目的のため、記載される技術の理解を与えるために特定のノード、機能的エンティティ、技法、プロトコルなどの具体的な詳細を述べる。以下に記載する具体的詳細とは別に他の実施形態を実践してもよいことが当業者には明らかであろう。他の事例では、不要な詳細で記載を曖昧にしないために、周知の方法、装置、技法などの詳細な記載を省略する。
【００１４】
この詳細な説明では、セクションは、各セクションの一般的主題について読み手を導くためにのみ用いられる；以下に見られるように、多くの特徴の説明は複数のセクションにわたり、見出しは任意のセクションに含まれる記載の意味に影響を及ぼすと解釈されるべきではない。
【００１５】
視覚的効果を調節するための例示的なシステム
図１は、本実施形態に従う携帯型ゲーム機器１０の外観図を示す。図１に示されるように、携帯型ゲーム機器１０は、下側筐体１１と上側筐体２１とを含む。下側筐体１１と上側筐体２１とは、折畳んだ態様で開閉可能（折畳み可能）に互いに接続される。通常、ユーザは、携帯型ゲーム機器１０を開いた状態で使用する。携帯型ゲーム機器１０を使用しないときは、ユーザは携帯型ゲーム機器１０を閉じた状態にしておく。下側筐体１１には、下側ＬＣＤ（液晶ディスプレイ：液晶ディスプレイ装置）１２およびタッチパネル１３が設けられる。さらに、下側筐体１１には、操作ボタン、アナログスティックなども設けられる。一方、上側筐体２１には、上側ＬＣＤ（液晶ディスプレイ：液晶ディスプレイ装置）２２が設けられる。
【００１６】
上側ＬＣＤ２２および／または下側ＬＣＤ１２は、二次元画像および／または三次元画像（たとえばリアルな３Ｄ画像）の両方を表示するように構成可能であることを認めるべきである。たとえば、上側ＬＣＤ２２は、立体視可能画像を表示することができる表示装置であることができる。上側ＬＣＤ２２は、実質的に同じ表示領域を用いて左目画像と右目画像とを表示することができる。具体的に、上側ＬＣＤ２２は、左目画像と右目画像とが予め定められた単位で（たとえば１行置きに）水平方向に交互に表示される方法を用いた表示装置であることができる。上側ＬＣＤ２２は、左目画像と右目画像とがある期間交互に表示される方法を用いる表示装置であってもよいことに留意すべきである。さらに、上側ＬＣＤ２２は、裸眼で立体視可能な画像を表示することができる表示装置であることができる。この場合、レンチキュラー式表示装置またはパララックスバリア式表示装置が用いられるため、水平方向に交互に表示される左目画像と右目画像とをそれぞれ左目および右目で別々に見ることができる。
【００１７】
１つの実施形態では、上側ＬＣＤ２２は、パララックスバリア式表示装置であることができる。上側ＬＣＤ２２は、右目画像と左目画像とを用いて裸眼で立体視可能な画像（立体視画像）を表示する。すなわち、上側ＬＣＤ２２は、視差バリアを用いて、ユーザが自身の左目で左目画像を、自身の右目で右目画像を見られるようにする。これにより、立体視画像を表示してユーザに立体視効果（立体視可能画像）を与えることができる。さらに、上側ＬＣＤ２２はパララックスバリアをオフにすることができる。パララックスバリアをオフにすると、上側ＬＣＤ２２は平面の態様で画像を表示することができる（上側ＬＣＤ２２は、上述の立体視可能画像に対して平面視画像を表示することができる。これは、同じ表示画像を左目と右目との両方で見ることができる表示モードである）。このように、上側ＬＣＤ２２は、立体視可能画像を表示するための立体視表示モードと画像を平面の態様で表示する（平面視画像を表示する）ための平面表示モードとの間での切換えが可能な表示装置であることができる。表示モードの切換えは、３Ｄ調節スイッチ２５によって行なわれる。
【００１８】
３Ｄ調節スイッチ２５はスライドスイッチであることができ、上述のように上側ＬＣＤ２２の表示モードの切換えに用いられる。３Ｄ調節スイッチ２５は、上側ＬＣＤ２２上に表示される立体視可能画像（立体視画像）の立体視効果を調節するのにも用いられる。１つの例示的な実施形態では、３Ｄ調節スイッチ２５は、ゲーム機器１０の開閉状態に拘わらずユーザに見えるように、上側筐体２１の内側面と右側面とで共有される端部に設けられる。３Ｄ調節スイッチ２５は、予め定められた方向（たとえば上下方向）の任意の位置にスライド可能なスライダを含むことができ、上側ＬＣＤ２２の表示モードはスライダの位置に応じて設定される。
【００１９】
たとえば、３Ｄ調節スイッチ２５のスライダが最も低い位置に配置される場合、上側ＬＣＤ２２は平面表示モードに設定され、上側ＬＣＤ２２の画面には平面画像が表示される。上側ＬＣＤ２２が立体視表示モードに設定されたままの間に同じ画像を左目画像および右目画像として用いることができ、それにより平面表示を行なうことを認めるべきである。一方で、スライダが最も低い位置よりも上に配置されると、上側ＬＣＤ２２は立体視表示モードに設定される。この場合、上側ＬＣＤ２２の画面上に立体視可能画像が表示される。スライダが最も低い位置よりも上に配置される場合、立体視画像の見やすさはスライダの位置に応じて調節される。具体的に、右目画像の位置と左目画像の位置との間の水平方向のずれ量はスライダの位置に応じて調節される。
【００２０】
携帯型ゲーム機器１０はカメラ１０１も含む。カメラ１０１は、上側筐体２１の表面上（図１の上側ＬＣＤ２２の上方）に設けられる。このように、カメラ１０１は、携帯型ゲーム機器１０の前にいるユーザの顔を撮像することができる。一例として、カメラ１０１は、上側ＬＣＤ２２または下側ＬＣＤ１２を見ながらゲームをプレイしている状態のユーザを撮像することができる。
【００２１】
さらに、携帯型ゲーム機器１０は、赤外光を発する赤外光発光器１０２を含む。赤外光発光器１０２は、上側筐体２１の表面上のカメラ１０１に隣接する位置に設けられる。換言すると、赤外光発光器１０２は、ユーザが携帯型ゲーム機器１０を使用している間（たとえばゲームをプレイしている間など）にユーザの顔があるであろう位置に向けて赤外光を発することができる位置に設けられる。この時、カメラ１０１は、可視光画像に加えて赤外光画像も撮影することができる。赤外光発光器１０２から発せられる赤外光はユーザの顔を照射し、その反射光がカメラ１０１に入射する。反射光に基づき、カメラ１０１は赤外光画像を撮影することができる。
【００２２】
図２は、ゲーム機器１０の内部構成の例を示すブロック図である。ゲーム機器１０は、上述の構成要素とともに、情報処理部３１、メインメモリ３２、外部メモリインターフェイス（外部メモリＩ／Ｆ）３３、データ記憶外部メモリＩ／Ｆ３４、データ記憶内部メモリ３５、無線通信モジュール３６、ローカル通信モジュール３７、リアルタイムクロック（ＲＴＣ）３８、加速度センサ３９、角速度センサ４０、電力回路４１、およびインターフェイス回路（Ｉ／Ｆ回路）４２などの電子構成要素を含む。これらの電子構成要素は電子回路基板上に実装され、下側筐体１１に収容される、または上側筐体２１に収容されてもよい。
【００２３】
情報処理部３１は、予め定められたプログラムを実行する中央処理装置（ＣＰＵ）３１１と、画像処理などを行なうグラフィック処理装置（ＧＰＵ）３１２とを含む情報処理である。１つの例示的な実施形態では、予め定められたプログラムがゲーム機器１０に含まれるメモリ（たとえば、外部メモリＩ／Ｆ３３に接続される外部メモリ４５またはデータ記憶内部メモリ３５）に記憶される。情報処理部３１のＣＰＵ３１１は予め定められたプログラムを実行し、それにより後述する画像処理またはゲーム処理を行なう。
【００２４】
情報処理部３１のＣＰＵ３１１が実行するプログラムは、別の装置から、当該別の装置との通信によって取得されてもよいことに留意すべきである。情報処理部３１はさらに、ビデオＲＡＭ（ＶＲＡＭ）３１３を含む。情報処理部３１のＧＰＵ３１２は、情報処理部３１のＣＰＵ３１１からの命令に従って画像を生成し、ＶＲＡＭ３１３において画像を描く。情報処理部３１のＧＰＵ３１２は、ＶＲＡＭ３１３において描かれる画像を上側ＬＣＤ２２および／または下側ＬＣＤ１２に出力し、画像は上側ＬＣＤ２２および／または下側ＬＣＤ１２上に表示される。
【００２５】
情報処理部３１には、メインメモリ３２、外部メモリＩ／Ｆ３３、データ記憶外部メモリＩ／Ｆ３４、およびデータ記憶内部メモリ３５が動作するように結合される。外部メモリＩ／Ｆ３３は、外部メモリ４５との取り外し可能な接続を確立するためのインターフェイスである。データ記憶外部メモリＩ／Ｆ３４は、データ記憶外部メモリ４６との取り外し可能な接続を確立するためのインターフェイスである。
【００２６】
メインメモリ３２は、情報処理部３１（ＣＰＵ３１１）の作業領域またはバッファ領域として用いられる揮発性記憶手段である。すなわち、メインメモリ３２は、画像処理またはゲーム処理に用いられるさまざまな種類のデータを一時的に記憶し、ゲーム機器１０が外部（外部メモリ４５、別の装置など）から取得したプログラムも一時的に記憶する。１つの例示的な実施形態では、メインメモリ３２は、たとえば、擬似ＳＲＡＭ（ＰＳＲＡＭ）である。
【００２７】
外部メモリ４５は、情報処理部３１が実行するプログラムを記憶するための不揮発性記憶手段である。外部メモリ４５は、たとえば、読出専用半導体メモリによって構成される。外部メモリ４５が外部メモリＩ／Ｆ３３に接続される場合、情報処理部３１は、外部メモリ４５に記憶されるプログラムをロードすることができる。情報処理部３１がロードするプログラムの実行に応じて、予め定められたプロセスが行なわれる。
【００２８】
データ記憶外部メモリ４６は読出可能／書込可能不揮発性メモリ（たとえばＮＡＮＤフラッシュメモリ）から構成され、予め定められたデータを記憶するのに用いられる。たとえば、データ記憶外部メモリ４６は、外側キャプチャ部２３がキャプチャする画像および／または別の装置がキャプチャする画像を記憶する。データ記憶外部メモリ４６がデータ記憶外部メモリＩ／Ｆ３４に接続されると、情報処理部３１は、データ記憶外部メモリ４６に記憶される画像をロードし、当該画像を上側ＬＣＤ２２および／または下側ＬＣＤ１２上に表示することができる。
【００２９】
データ記憶内部メモリ３５は読出可能／書込可能不揮発性メモリ（たとえばＮＡＮＤフラッシュメモリ）から構成され、予め定められたデータを記憶するのに用いられる。たとえば、データ記憶内部メモリ３５は、無線通信モジュール３６を通じて無線通信によってダウンロードされるデータおよび／またはプログラムを記憶する。
【００３０】
無線通信モジュール３６は、たとえば、ＩＥＥＥ８０２．１１．ｂ／ｇ規格に基づく方法によって無線ＬＡＮとの接続を確立する機能を有する。さらに、ローカル通信モジュール３７は、予め定められた通信方法（たとえば赤外線通信）によって同じ種類の別のゲーム機器と無線通信する機能を有する。無線通信モジュール３６およびローカル通信モジュール３７は情報処理部３１に接続される。情報処理部３１は、無線通信モジュール３６を用いてインターネットを介して別の装置にデータを送信しかつ別の装置からデータを受信することができ、ローカル通信モジュール３７を用いて同じ種類の別のゲーム機器にデータを送信しかつ別のゲーム機器からデータを受信することができる。
【００３１】
加速度センサ３９は情報処理部３１に接続される。加速度センサ３９は、三軸（本実施形態ではｘ、ｙ、およびｚ軸）方向にそれぞれ沿った直線の方向の加速度（直線加速度）の大きさを検出することができる。加速度センサ３９は、たとえば、下側筐体１１内に設けられる。加速度センサ３９はそれぞれの軸方向に発生する直線加速度の大きさを検出することができる。
【００３２】
加速度センサ３９は、たとえば静電容量式加速度センサであるが、別の種類の加速度センサであってもよいことに留意すべきである。さらに、加速度センサ３９は、１つの軸方向の加速度または２つの軸方向の加速度を検出するための加速度センサであってもよい。情報処理部３１は、加速度センサ３９が検出する加速度を示すデータ（加速度データ）を受信し、ゲーム機器１０の向きおよび移動を算出する。
【００３３】
角速度センサ４０は情報処理部３１に接続される。角速度センサ４０は、ゲーム機器１０の３本の軸（本実施形態ではｘ、ｙ、およびｚ軸）の周りに生成される角速度を検出し、検出された角速度を示すデータ（角速度データ）を情報処理部３１に出力する。角速度センサ４０は、たとえば、下側筐体１１内に設けられる。情報処理部３１は、角速度センサ４０から出力される角速度データを受信し、ゲーム機器１０の向きおよび移動を算出する。
【００３４】
ＲＴＣ３８および電力回路４１は情報処理部３１に接続される。ＲＴＣ３８は時間を計測し、計測した時間を情報処理部３１に出力する。情報処理部３１は、ＲＴＣ３８が計測した時間に基づいて現在時刻（日付）を算出する。電力回路４１は、ゲーム機器１０の電源（上述の下側筐体１１に収容される充電式電池）からの電力を制御し、電力をゲーム機器１０の各構成要素に供給する。
【００３５】
Ｉ／Ｆ回路４２は情報処理部３１に接続される。マイク４３、スピーカ４４、およびタッチパネル１３がＩ／Ｆ回路４２に接続される。具体的に、図示しない増幅器を通してスピーカ４４がＩ／Ｆ回路４２に接続される。マイク４３はユーザからの音声を検出し、音声信号をＩ／Ｆ回路４２に出力する。増幅器はＩ／Ｆ回路４２からの音声信号を増幅し、当該音声をスピーカ４４から出力する。Ｉ／Ｆ回路４２は、マイク４３およびスピーカ４４（増幅器）を制御する音声制御回路と、タッチパネル１３を制御するタッチパネル制御回路とを含む。たとえば、音声制御回路は音声信号に対してＡ／Ｄ変換およびＤ／Ａ変換を行ない、音声信号を予め定められた形式の音声データに変換する。
【００３６】
タッチパネル制御回路は、タッチパネル１３からの信号に基づいて、予め定められた形式でタッチ位置データを生成し、タッチ位置データを情報処理部３１に出力する。タッチ位置データは、入力が与えられたタッチパネル１３の入力表面上の位置（タッチ位置）の座標を示す。タッチパネル制御回路は、タッチパネル１３からの信号を読出し、予め定められた時間に１度タッチ位置データを生成することに留意すべきである。情報処理部３１はタッチ位置データを取得し、それによりタッチパネル１３上に入力が与えられたタッチ位置を認識する。
【００３７】
操作ボタン１４は上述の操作ボタン１４Ａから１４Ｌを含み、情報処理部３１に接続される。操作データは操作ボタン１４から情報処理部３１に出力され、操作データは、それぞれの操作ボタン１４Ａから１４Ｉに与えられる入力の状態を示す（操作ボタン１４Ａから１４Ｉが押下されたか否かを示す）。情報処理部３１は操作ボタン１４から操作データを取得し、それにより、操作ボタン１４に与えられる入力に応じて処理を行なう。
【００３８】
下側ＬＣＤ１２および上側ＬＣＤ２２は情報処理部３１に接続される。下側ＬＣＤ１２および上側ＬＣＤ２２は各々、情報処理部３１（ＧＰＵ３１２）からの命令に従って画像を表示する。１つの例示的な実施形態では、情報処理部３１は、下側ＬＣＤ１２に手描き画像入力操作用の画像を表示させ、上側ＬＣＤ２２に外側キャプチャ部２３および内側キャプチャ部２４のいずれか一方から取得した画像を表示させる。すなわち、たとえば、情報処理部３１は、上側ＬＣＤ２２に、内側キャプチャ部２４がキャプチャした右目画像および左目画像を用いて立体視画像（立体視可能画像）を表示させるか、または上側ＬＣＤ２２に、外側キャプチャ部２３がキャプチャした右目画像および左目画像の一方を用いて平面画像を表示させる。
【００３９】
具体的に、情報処理部３１は、上側ＬＣＤ２２のＬＣＤコントローラ（図示せず）に接続され、ＬＣＤコントローラにパララックスバリアをオン／オフに設定させる。上側ＬＣＤ２２においてパララックスバリアがオンである場合、情報処理部３１のＶＲＡＭ３１３に記憶される（外側キャプチャ部２３によってキャプチャされる）右目画像および左目画像が上側ＬＣＤ２２に出力される。より具体的には、ＬＣＤコントローラは、鉛直方向の１行の右目画像の画素データの読出しと鉛直方向の１行の左目画像の画素データの読出しとを繰返し交互に行なって、これによりＶＲＡＭ３１３から右目画像および左目画像を読出す。このように、右目画像および左目画像は各々短冊状の画像に分割され、その各１行の画素は鉛直方向に配置され、交互に配置された分割後左目短冊状画像および分割後右目短冊状画像を含む画像が上側ＬＣＤ２２の画面上に表示される。ユーザは上側ＬＣＤ２２のパララックスバリアを通して画像を見て、これにより、ユーザの右目で右目画像を見て、ユーザの左目で左目画像を見る。これにより、上側ＬＣＤ２２の画面上に立体視可能画像が表示される。
【００４０】
外側キャプチャ部２３と内側キャプチャ部２４とは情報処理部３１に接続される。外側キャプチャ部２３および内側キャプチャ部２４は各々、情報処理部３１からの命令に従って画像をキャプチャし、キャプチャされた画像のデータを情報処理部３１に出力する。第１の実施形態では、情報処理部３１は、外側キャプチャ部２３および内側キャプチャ部２４のいずれか一方に画像をキャプチャする命令を与え、命令を受信したキャプチャ部が画像をキャプチャし、キャプチャされた画像のデータを情報処理部３１に送信する。具体的に、ユーザは、タッチパネル１３および操作ボタン１４を用いた操作により、用いるべきキャプチャ部を選択する。情報処理部３１（ＣＰＵ３１１）は、キャプチャ部が選択されたことを検出して、情報処理部３１は、外側キャプチャ部２３および内側キャプチャ部２４のうち選択された一方に画像をキャプチャする命令を与える。
【００４１】
情報処理部３１（ＣＰＵ３１１）からの命令によって起動されると、外側キャプチャ部２３および内側キャプチャ部２４は、たとえば、１秒当たり画像６０枚の速度でキャプチャを行なう。外側キャプチャ部２３および内側キャプチャ部２４がキャプチャするキャプチャ画像は情報処理部３１に順次送信され、情報処理部３１（ＧＰＵ３１２）によって上側ＬＣＤ２２または下側ＬＣＤ１２上に表示される。情報処理部３１に出力されると、キャプチャ画像はＶＲＡＭ３１３中に記憶され、上側ＬＣＤ２２または下側ＬＣＤ１２に出力され、予め定められた時間に削除される。このように、画像は、たとえば１秒当たり画像６０枚の速度でキャプチャされ、キャプチャ画像が表示され、これによりゲーム機器１０は、リアルタイムで上側ＬＣＤ２２または下側ＬＣＤ１２上に、外側キャプチャ部２３および内側キャプチャ部２４の画像化範囲のビューを表示することができる。
【００４２】
３Ｄ調節スイッチ２５は情報処理部３１に接続される。３Ｄ調節スイッチ２５は、スライダの位置に応じて電気信号を情報処理部３１に送信する。
【００４３】
３Ｄインジケータ２６は情報処理部３１に接続される。情報処理部３１は、３Ｄインジケータ２６が点灯すべきか否かを制御する。たとえば、上側ＬＣＤ２２が立体視表示モードにある場合、情報処理部３１は３Ｄインジケータ２６を点灯させる。
【００４４】
図３Ａは、オブジェクトＯＢＪ１およびＯＢＪ２を含む三次元仮想空間を表現する画像がディスプレイ２２（たとえば上側ＬＣＤ２２）上に表示される非限定的かつ例示的な場合を示す。この例では、仮想カメラ３００を三次元仮想空間内の任意の位置に設定することができ、この場合、オブジェクトＯＢＪ１およびＯＢＪ２も当該仮想空間中に配置される。次に、仮想カメラ３００を用いて三次元仮想空間内でオブジェクトＯＢＪ１およびＯＢＪ２を仮想的に撮影することによって、画像（平面二次元画像）が生成される。基準仮想カメラ３００が生成する画像を含む表示データに基づいて二次元表示をディスプレイ２２上に与えることができる。この時、仮想カメラ３００は、三次元仮想空間および三次元仮想空間内のオブジェクトを仮想的に撮影して、（たとえば立体視表示を与えずに）二次元表示を与える。
【００４５】
図３Ｂは、上述の二次元表示においてレンダリングされる範囲と同様の範囲を立体視表示するための処理の非限定的な例を示す。この例では、オブジェクトＯＢＪ１およびＯＢＪ２を含む三次元仮想空間において、少なくとも図３Ａに示される二次元表示と同様に仮想カメラ３００が指定される（「二次元表示と同様に設定される仮想カメラ」を基準仮想カメラと称することを注記する）。この基準仮想カメラ３００の配置位置を基準として、右画像を生成するための右仮想カメラ３０２および左画像を生成するための左仮想カメラ３０４のそれぞれの位置および方向が設定される。より具体的には、基準仮想カメラ３００のカメラ位置を基準として、右仮想カメラ３０２は、基準仮想カメラ３００から右方向に距離Ｃだけ離れるように設定され、左仮想カメラ３０４は、基準仮想カメラ３００から左方向に距離Ｃだけ離れるように設定される。右仮想カメラと左仮想カメラとのそれぞれのカメラ方向および視野角は、基準仮想カメラ３００のカメラ方向および視野角と同じ値に設定されることを注記する。具体的には、右仮想カメラ３０２と左仮想カメラ３０４とのそれぞれの視野（視体積）も設定される。配置された右仮想カメラ３０２および左仮想カメラ３０４を用いて、このように三次元仮想空間内のオブジェクトＯＢＪ１およびＯＢＪ２を仮想的に撮影することにより、右画像および左画像がそれぞれ生成される。次に、右目用の表示データが右画像に基づいて生成され、左目用の表示データが左画像に基づいて生成される。次に、そのような表示データに基づいてディスプレイ２２上での立体視表示を与えることができる。
【００４６】
要約すると、１つの例示的な実施形態に従う立体視表示処理では、（基準仮想カメラ３００を基準として）ディスプレイ２２上に仮想空間を表現する画像を立体視表示するのに用いられる右画像および左画像を生成するために、仮想空間（およびその中に含まれるオブジェクト）の仮想撮影に用いられる右仮想カメラ３０２および左仮想カメラ３０４が仮想空間内に設定される。この時、右仮想カメラ３０２および左仮想カメラ３０４は、右仮想カメラ３０２のカメラ方向３０３と、左仮想カメラ３０４のカメラ方向３０５とが同じ（すなわち、カメラ方向３０３とカメラ方向３０５とが互いに平行）になり、かつカメラ方向３０３（およびカメラ方向３０５）が右仮想カメラ３０２および左仮想カメラ３０４のそれぞれの位置を通過する直線（基準線３５０）に対して垂直となるように、仮想空間内に設定される。
【００４７】
右仮想カメラ３０２と左仮想カメラ３０４とがこのように設定されると、右仮想カメラ３０２と左仮想カメラ３０４との視野（視体積）がそれぞれ設定される。この例では、望ましくはディスプレイ２２の表示面の周囲に表示すべき範囲である表示対象領域（典型的には、特定的なオブジェクトが存在する仮想空間または範囲内に設定される二次元平面である基準仮想面領域３６０）が指定される。すなわち、表示対象領域は、ディスプレイ上に表示すべき仮想空間中の領域に少なくとも対応する。この表示対象領域はカメラ方向３０３および３０５に対して垂直であり、カメラ方向３０３および３０５の側に設定される。右仮想カメラ３０２および左仮想カメラ３０４について、右仮想カメラ３０２の視体積３８２および左仮想カメラ３０４の視体積３８４はそれぞれ、その両者ともが表示対象領域を含むように設定される。
【００４８】
すなわち、表示対象領域の平面は、カメラ方向３０３および３０５に対して垂直である。さらに、右仮想カメラ３０２または左仮想カメラ３０４から見ると、表示対象領域は、カメラ方向３０３および３０５の側に存在する。さらに、右仮想カメラ３０２と左仮想カメラ３０４との間の中間点から表示対象領域の中心へ延在する方向は、カメラ方向３０３および３０５に一致する。さらに、少なくとも１つの仮想カメラに関して、一方の仮想カメラの視体積は、他方の仮想カメラが存在する側に向けて、対応のカメラ方向（カメラ方向３０３または３０５）の他方の仮想カメラの位置から延在する線に対して非対称に延在するように設定される。
【００４９】
仮想カメラの視体積は、仮想空間（および仮想空間中に含まれるオブジェクト）の画像をレンダリングするための範囲のことであると認めるべきである。すなわち、仮想カメラは、視体積によって規定される範囲内のオブジェクトしかレンダリングしないことがあり、それにより、この範囲外のいずれのオブジェクトもレンダリングされない。視体積は仮想カメラの近傍の側に設定されるニアクリップ面を含むことがある。視体積は、仮想カメラからより遠い側に設定されるファークリップ面も含むことがある。ニアクリップ面およびファークリップ面は、カメラ視線方向に対して垂直に設定されることがあり、ニアクリップ面とファークリップ面との間に位置決めされかつ仮想カメラの視野角内に含まれる１つ以上のオブジェクトがレンダリングされることがある。
【００５０】
この時、一方の仮想カメラの視体積が、仮想カメラのカメラ方向に対して非対称に他方の仮想カメラが存在する側「に向けて延在する」という表現は、カメラ軸としてカメラ方向の一方の仮想カメラの位置から延在する直線を仮定して、視体積に含まれる仮想カメラのカメラ軸に対して垂直の任意の平面の中心（たとえば重心）が、カメラ軸に対して、他方の仮想カメラが存在する側のより近くにあることを意味する。換言すると、当該表現は、一方の仮想カメラの視体積全体の重心が、一方の仮想カメラのカメラ軸に対して、他方の仮想カメラが存在する側のより近くに存在する状態を指す。より好ましくは、非対称に延在する右仮想カメラ３０２の視体積と、非対称に延在する左仮想カメラ３０４の視体積とが互いに対して対称となる態様で延在する。このように、人間の視野に対応する右画像および左画像を生成することができ、したがってより自然な立体視表示を与えることができる。
【００５１】
立体視表示を生成する際、基準仮想面は視体積内にもあってもよい。基準仮想面は三次元仮想空間内に設定され、表示装置の表示面（たとえば、立体視表示を見ているユーザが、その存在を三次元仮想空間中の表示面の位置で感じる平面）の位置に対応することができる。すなわち、基準仮想面にある位置またはその近くにある位置にある仮想三次元空間中のオブジェクトは、（すなわち引込みまたは飛び出し効果を有するよりもむしろ）ディスプレイ上に見えるようにレンダリングされる。この基準仮想面をカメラ方向に対して垂直に設定することもできる。さらに、表示面の実際の大きさは有限であるので、基準仮想面中のディスプレイの表示面上にレンダリングされる範囲に対応する基準仮想面領域を規定することができる。すなわち、無限平面である基準仮想面中のレンダリング範囲（視体積に含まれる範囲）が基準仮想面領域である。
【００５２】
「基準仮想面領域」は、立体視表示を与える際にユーザがその存在を表示面の付近に感じる三次元仮想空間内の位置および領域を規定する（それはまさに表示面の位置であることができるが、当該位置は、たとえば表示面から所定のオフセットを有する位置として設定されてもよい）。すなわち、立体視表示は、表示面から前方に飛び出しているかのように見える部分、または表示面の後方の内部に向かって引込んでいるかのように見える部分を含む。右仮想カメラ３０２および左仮想カメラ３０４が図３Ｂに示されるようにそれぞれの位置に設定されると、基準仮想面領域の周囲の部分に対応する空間の中に位置するオブジェクトがどのように表示されるかは、それぞれの仮想カメラが生成する右画像と左画像との間で同じである（すなわち視差は実質的にない）。したがって、表示面を見るユーザにとっては、基準仮想面領域に対応する部分に位置するオブジェクトは、右目で視認する画像（右画像）と左目で視認する画像（左画像）との間で実質的に同じ位置に存在するかのように見え、結果的に、当該部分は、表示面自体（すなわち、これらの画像を実際に表示する表面）の上に位置決めされているように見える。一方で、基準仮想面領域とは異なる位置に設定される平面に対応する部分に位置するオブジェクトに関しては、右オブジェクト画像と左オブジェクト画像とは、右仮想カメラ３０２と左仮想カメラ３０４との間の位置的関係に依存して表示位置が異なり（すなわち、いくらかの視差を有する表示）、ユーザには、当該部分は表示面から飛び出す位置または表示面から引込んだ位置にあるように見える。
【００５３】
本明細書中に記載される技法は、立体視効果を調節するために基準仮想面（および対応の基準仮想面領域）を調節することに関することを認めるべきである。以下により詳細に論じるように、仮想カメラは、仮想カメラの視点位置と仮想世界中の対象オブジェクトとの間の交差に基づいて基準仮想面の位置を変更することによって「焦点」を調節することができることがある。同一人に譲渡される（引用により本明細書中に援用される）米国特許出願第１２／９３８，０８９号で、立体視画像に関連の処理を記載するさまざまな技法をさらに詳細に論じている。
【００５４】
図４はビデオゲーム世界の非限定的かつ例示的な仮想環境４００を示す。仮想空間４００は、オブジェクトを少なくとも三方向に配置しかつ移動させることができる仮想三次元ゲーム空間として表示される。仮想環境は、少なくとも、地形４１０、プレイヤキャラクタ４０１、および１つ以上の敵オブジェクト４０２を含む。この例は当然ながら非限定的であり、仮想空間４００は任意のさまざまな地形および／またはオブジェクトを示すように構成される。
【００５５】
図４に見られるように、地形４１０は、草、木、花、梯子、および／またはさまざまな構造などのさまざまなオブジェクトを含む三次元風景を備える。地形は少なくとも三方向に通行可能でもあり、ユーザは、ｘ軸とｙ軸との両方およびｚ軸に沿ってプレイヤキャラクタ４０１を進めることができる。図４に示される例では、プレイヤキャラクタ４０１は、場合によっては、（たとえば梯子を用いて）オブジェクトに登るまたは階段を歩いて上ることによって、地形を上下移動することができる。１つの例示的な実施形態では、ゲームの目的は、地形４１０を進んでいってさまざまな宝物およびオブジェクトを見つけて、当該宝物およびオブジェクトを得ることによってユーザが報酬としてポイントを得ることができることを含み得る。地形４１０を進んでいく際に、プレイヤキャラクタ４０１は敵キャラクタ４０２を避けよ（またはやり過ごすやり方を見出そ）うとする。敵キャラクタ４０２は、代わりに、（プレイヤキャラクタ４０１の味方である）フレンドキャラクタ４０２であってもよく、ゲームは仮想空間４００内の敵キャラクタとフレンドキャラクタとの組合せを含むことができることを認めるべきである。
【００５６】
仮想空間４００は仮想カメラ３００から画像化可能である。先に言及したように、仮想カメラ３００は、二次元画像または三次元画像（たとえば立体視画像）として表示される画像を生成することができる。図４に示される例では、カメラ３００の配置に基づき、生成されるであろう仮想空間４００の画像は、プレイヤキャラクタ４０１に向かって地形４１０を俯瞰しながら仮想空間全体を見る（たとえば「ロング」ショットでゲーム地形４１０を見る）というものであろう。１つの例示的な実施形態では、カメラ３００は、プレイヤキャラクタ４０１が地形４１０に沿って移動するにつれてプレイヤキャラクタ４０１に追従することがある。
【００５７】
図４の例では、プレイヤキャラクタ４０１は、ユーザがゲーム装置のアナログスティックをコントロールすることによって移動され得る。たとえば、ユーザがアナログスティックを左方向に動かすと、プレイヤキャラクタ４０１は表示画面上で左に移動し得る。この例は当然ながら非限定的であり、技術は、（たとえば加速度計および／またはジャイロスコープを用いて）ゲーム装置の動きおよび／または姿勢に対応するようにキャラクタ４０１を動かすことを含む、プレイヤキャラクタ４０１を動かすための任意のさまざまな方法を企図する。ユーザは、ゲーム装置に対する１つ以上の入力を用いてカメラ３００の位置および／または向きも操作し得る。たとえば、ユーザは、ゲーム装置に装着されている「Ｌ」または「Ｒ」トリガボタンを押すことによって、カメラを左または右に４５度回転させ得る。ユーザは、ゲーム空間中でカメラが対象位置の周りを実質的に自由に回転および移動することができるさまざまな方法を用いて、カメラを移動させることができる。
【００５８】
ユーザは、カメラ３００を用いてズームインまたはズームアウトもし得る。１つの例では、対象位置は、最も遠いズームが地形全体４１０の中心に照準を合わせかつ最も近いズームがプレイヤキャラクタ４０１位置に中心を合わせることができるズームレベルに基づいて異なることがある。１つの非限定的かつ例示的な実施形態では、ステージ／レベルは、実質的に矩形の形状の小さなジオラマとして設計されることを認めるべきである。カメラ３００はステージ自体を「クリッピング」しないようにも設計されてもよく、したがって、画像は、部分的に「クリッピングされた」地形４１０を決して示さない（なぜなら、たとえば、カメラ３００は「ロング」ショットでゲーム地形を見ているからである）。
【００５９】
以上で言及したように、カメラ３００を用いて三次元立体視画像を生成してもよい。ある例示的な実施形態では、三次元効果は、地形４１０の強過ぎる奥行き感を与えることがあるとともに、プレイヤキャラクタ４０１に焦点合わせするのがより容易になる（すなわち、ほとんどか全く立体視効果なしにプレイヤキャラクタ４０１がディスプレイ自体の上に見えるように表示され得る）ようにプレイヤキャラクタ４０１を立体視野の位置に保とうともすることがある。カメラ３００の実質的に自由な動きにより、地形４１０の全距離にわたって下方を俯瞰（または、プレイヤキャラクタ４０１のカメラ３００ビューを遮る壁を見すら）しながら、プレイヤキャラクタ４０１を見ることができる。これらの事例では、プレイヤキャラクタ４０１の前にあるオブジェクト（すなわち、キャラクタ４０１とカメラ３００の位置との間にあるオブジェクト）は、画面から「飛び」出して見えることがある。カメラ３００ビューを遮る壁などのある事例では、立体視表示は、方向感覚を失わせかつ不自然に見えることがある。
【００６０】
図５Ａから図７Ｃは、以上で言及した問題に対処するためのさまざまな方法を描く。より具体的には、図５Ａから図７Ｃは、対象オブジェクトに対する仮想カメラ３００の視点に基づいて画像の視覚的効果（たとえば立体視効果）を調節するための方法を描く。図５Ａ−図７Ｃについて記載する例は対象オブジェクトをプレイヤキャラクタ４０１として描くことを認めるべきである。しかしながら、この例は非限定的であり、本明細書中に記載される技術は、仮想空間中の任意のさまざまな対象オブジェクトまたは仮想空間中の任意の位置を企図する。すなわち、例はプレイヤキャラクタ４０１に照準を合わせることを記載するが、所望の対象は、別の仮想オブジェクト（たとえば味方もしくは敵オブジェクト）である可能性があり、または仮想空間中の単に任意の位置である可能性がある。
【００６１】
図５Ａ−図５Ｃは画像の視覚的効果を調節するための１つの例示的な方法を示す。図５Ａに示される例では、カメラ３００は仮想空間４００の一方端に配置され、この時、プレイヤキャラクタ４０１は仮想空間４００のほぼ反対側の端にある地形４１０の上に位置決めされる。この例では、１つ以上の地形４０１はキャラクタ４０１とカメラ３００との間であってプレイヤキャラクタ４０１の前に存在する。図５Ａはこのように、１つの地形４１０が「飛び」出て見える、または見る人が見て違和感を生じる画像を与えることがあるシナリオを描いている。さらに、カメラ３００の基準仮想面は、キャラクタ４０１がほとんどか全く視差を有しない（およびしたがってディスプレイ上に見えるように表示される）ように、キャラクタ４０１の位置に設定されてもよい。
【００６２】
そのような問題に対処するための１つの例示的な方法が本明細書中に記載される技術によって提供される。図５Ａに示される例では、カメラ３００位置からプレイヤキャラクタ４０１へ基準線３５０が設定される。より具体的には、システムは、カメラ３００位置からプレイヤキャラクタ４０１への線３５０を設定し、基準ジオメトリとの交差が発生するかどうかを判定する。１つの非限定的な例では、基準ジオメトリとは、仮想空間４００のより単純な表示のことであってもよい。すなわち、仮想空間４００は、草の個々の葉を有する地形オブジェクト、または仮想空間４００に住むと異なる表情を呈するさまざまなプレイヤキャラクタを含む一層の詳細をもって描かれることがある。これらの詳細は、仮想空間４００の画像を形成する多数の多角形を用いてレンダリングされる。基準ジオメトリは、実際の画像自体の一層の詳細なしに地形および／または仮想オブジェクトのさまざまな局面を表わす仮想空間４００のより単純なもののことであり得る。基準ジオメトリをさまざまな画像レンダリングおよび／または衝突検出技法に用いることができることが認められる。たとえば、基準ジオメトリを用いると、１つ以上の仮想オブジェクトが地形を「通って落ちる」または仮想空間中の壁を通り抜けて歩くことが確実になくなり得る。詳細さが「より低い」基準ジオメトリはこのように、そのような衝突検出を行なうことをより容易にする。というのも、システムが確認を行なわなければならないジオメトリ（または多角形データ）の数がより少ないからである。
【００６３】
図５Ｂは、二次元側面視視点からの図５Ａの例を示す。図５Ａおよび図５Ｂに示される例では、線３５０は交差ポイント４１１および４１２で地形４１０と交差する。この例では、線３５０は、カメラ３００の位置の近くで上向きに突き出す地形の一部と交差（または「衝突」）し、そうすると、この場所で地形の一部が立体視画像中で適切に表示されなくなってしまう。
【００６４】
システムは、プレイヤキャラクタ４０１よりもむしろ最も近い交差ポイント（この例では交差ポイント４１１）にカメラ３００の基準仮想面を調節することによって、当該問題に対処することができる。１つの非限定的かつ例示的な実施形態では、システムは、カメラ３００の基準仮想面を調節するのにカメラ３００と交差ポイント４１１との間の距離を用いることがある。たとえば、カメラ３００からの基準仮想面の距離は、まず、カメラ３００とプレイヤキャラクタ４０１との間の距離として設定され得る。ポイント４１１でカメラ３００とキャラクタ４０１との間の交差が検出されると、システムは、カメラ３００の基準仮想面の距離をカメラ３００と交差ポイント４１１との間の距離として設定し得る。この方策は有利には地形が「飛び出す」のを防止する。というのも、この調節の後に表示されるあらゆるものが画面「内部」に見えるからである。
【００６５】
図５Ｃは、図５Ａおよび図５Ｂに描かれる方法を実行するためのプロセスの流れを描く。プロセスは５１０で開始する。ここで、システムは、さまざまなオブジェクト（たとえば、地形、プレイヤキャラクタ、敵キャラクタ、障害物、宝物）を含む仮想空間中に１つ以上の仮想カメラ３００を位置決めすることができる。
【００６６】
５２０で、システムは、カメラ３００の仮想三次元空間中の場所を得ることができる。この位置を、ｘ、ｙ、およびｚ軸に沿った三次元座標として表わすことができる。システムは、仮想三次元空間中の対象オブジェクトの場所も得ることができる（ステップ５３０）。この例では、対象オブジェクトはプレイヤキャラクタ４０１であってもよい。当然ながら、この例は非限定的であり、対象オブジェクトは、仮想空間中の任意の他のオブジェクトおよび／またはポイントであってもよい。
【００６７】
カメラ３００およびキャラクタ４０１の当該位置で、システムは、カメラ３００からキャラクタ４０１への線３５０を設定することができる（５４０）。１つの非限定的な例では、線３５０は、表示されていないが線３５０に沿って交差が存在するかどうかを判定する（５５０）目的のためにのみ用いられる基準線である。
【００６８】
システムが交差を検出しない場合、カメラ３００の基準仮想面は、対象オブジェクト（たとえばプレイヤキャラクタ４０１）に設定されてもよい（５６０）。１つの非限定的な例では、カメラ３００とキャラクタ４０１との間の距離を用いて、カメラ３００からの基準仮想面の距離を設定してもよい。別の例では、代わりに具体的な値を用いて基準仮想面の距離を設定してもよい。たとえば、カメラ３００のニアクリップ面を用いて基準仮想面の位置を設定してもよい。
【００６９】
システムが交差を検出すると、カメラ３００の基準仮想面は、カメラ３００に最も近い交差／衝突ポイントに設定される（５７０）。１つの非限定的な例では、カメラ３００と交差ポイントとの間の距離を用いて、カメラ３００からの基準仮想面の距離を設定してもよい。次にシステムは、仮想カメラ３００の視点から画像をレンダリングすることができる（５８０）。
【００７０】
線３５０は実際には画面上に描かれない（すなわち表示されない）ことがあるが、代わりに、交差ポイントを判定するための基準として用いられることを認めるべきである。さらに、図５Ａ−図５Ｃに示される例では、交差は、１個以上の基準ジオメトリとの線３５０の交差に基づいて発生する。この検出に基づき、システムは、（１つよりも多くの交差が発生する事例では）カメラに最も近い交差ポイントを選択し、次にカメラ３００と最も近い衝突ポイントとの間の距離に基準仮想面を設定することができる。当然ながら、衝突が検出されない場合、システムは、基準仮想面の位置をプレイヤキャラクタ４０１の位置（または別の具体的な値）に維持してもよい。
【００７１】
図６Ａ−図６Ｄは、画像の視覚的効果を調節するための別の例示的な方法を示す。図５Ａ−図５Ｃに示される例と同様に、図６Ａ−図６Ｄに描かれる方法は、仮想カメラ３００の基準仮想面を調節するのに「衝突確認」を用いる。図６Ａ−図６Ｄは、バウンディングボックス４２０を用いて基準仮想面が調節を必要とするかどうかを判定する非限定的かつ例示的な実施形態を示す。
【００７２】
図６Ａで、カメラ３００はここでも仮想空間４００の一方端に配置され、この時、プレイヤキャラクタ４０１は、仮想空間４００のほぼ反対側の端にある地形４１０の上に位置決めされる。図５Ａと同様に、この例は、キャラクタ４０１とカメラ３００との間であってプレイヤキャラクタ４０１の前にある１つ以上の地形４１０を描く。このように、ここでも、１つ以上の地形４１０（または仮想空間４００中に表示される仮想オブジェクト）は「飛び」出るように見える、または見る人が見て違和感を生じる画像を与えることがある。
【００７３】
図６Ａに示される例では、バウンディングボックス４２０は、交差が存在するか否かを判定するように設けられる。１つの例示的な実施形態では、システムは、仮想空間４００の全体を包含するバウンディングボックス４２０を設定することができる。次に、カメラ３００の位置から対象（たとえばプレイヤキャラクタ４０１）へ基準線３５０を設定することができる。次にシステムは、線３５０とバウンディングボックス４２０の１つ以上の表面との間に交差が発生するかどうかを検出することができる。図６Ａに示される例では、交差ポイント４１１で少なくとも１つの交差／衝突が発生する。この具体例では、交差ポイント４１１は、カメラ３００に最も近いボックス４２０の裏面に沿って発生する（すなわち表面上の斜め線で示される）。
【００７４】
１つの例示的な実施形態では、カメラ３００の位置からキャラクタ４０１の位置へ、１本よりも多くの線３５０が設定され得る。たとえば、本明細書中に記載される技術は、視錐台の左側、中央、および右側について用いられる少なくとも３本の線を設定することができる。そのような実現例は有利には、バウンディングボックス４２０が中心からずれているカメラ３００のニアクリップ面の一部と交差する状況を防止し得る。当該技術により、バウンディングボックス４２０上の任意のポイントとカメラ３００ニアクリップ面との間の最短距離を算出できるようにもなる。システムに対する処理コストはより高くなるが、カメラ３００の視点位置から任意の数の線を設定してもよく、線の数がより多くなると精度レベルがより高くなり得ることを認めるべきである。さらに、仮想空間４００に対してバウンディングボックス４２０が表わされる一方で、代替的な方策では、バウンディングボックス４２０を（たとえばカメラ３００の）カメラ空間に変換してもよく、その場合は、カメラ３００とボックス４２０との両方の位置を判定することがより正確になり得ることを認めるべきである。
【００７５】
図６Ｂは、側面視視点からの図６Ａの例示的な実施形態を示す一方で、図６Ｃは上からの視点（たとえば俯瞰図）からの図６Ａの例示的な実施形態を示す。図６Ｃは、少なくとも３本の基準線３５０ａ−３５０ｃを描いてバウンディングボックス４２０とのさまざまな交差を検出する例示的な実施形態も具体的に示す。
【００７６】
図６Ｂ中の基準線３５０は、側面図中の「いちばん右の」壁に沿ってバウンディングボックス４２０と「衝突する」。図６Ｃでは、基準線３５０ａ−３５０ｃは、カメラ３００の位置から少なくとも３本の線３５０ａ−３５０ｃを設定することができる例を示すように描かれる。図６Ｃの図では、交差ポイントは、（基準線３５０ａと交差する）ポイント４１１ａ、（基準線３５０ｂと交差する）ポイント４１１ｂ、および（基準線３５０ｃと交差する）ポイント４１１ｃにおいて発生する。
【００７７】
１つの例示的な実施形態では、システムは、図６Ｂに示されるような最も近い交差ポイント４１１（または図６Ｃに示されるポイント４１１ａ）に基づいて、カメラ３００の基準仮想面を調節してもよい。すなわち、システムは、カメラ３００と最も近い交差ポイント４１１（または図６Ｃに示されるポイント４１１ａ）との間の距離を用いて、基準仮想面を、プレイヤキャラクタ４０１に関連付けられる位置から、最も近い交差ポイント４１１に関連付けられる位置に、調節してもよい。システムは、付加的な制限も加えて（たとえば、カメラ３００がその方向に回転することを許されておらず、したがってバウンディングボックス４２０を強制的に「軸整列」させる場合、任意の頂部または底部での交差の確認を無効化することによって）調節を向上させてもよい。
【００７８】
図６Ｄは、図６Ａ−図６Ｃに描かれる方法を実行するためのプロセスの流れを描く。プロセスは、ステップ６１０で開始する。ここで、システムは、さまざまなオブジェクト（たとえば、地形、プレイヤキャラクタ、敵キャラクタ、障害物、宝物）を含む仮想空間中に１つ以上の仮想カメラを位置決めすることができる。ステップ６２０で、システムは、カメラ３００の仮想三次元空間中の場所を得ることができる。この位置を、ｘ、ｙ、およびｚ軸に沿った三次元座標として表わすことができる。同様に、ステップ６２５で、システムは、（ｘ、ｙ、およびｚ軸に沿った三次元座標としても表わすことができる）仮想三次元空間中の対象（たとえばプレイヤキャラクタ４０１）の場所を得ることができる。
【００７９】
ステップ６３０で、システムは、仮想空間４００の周りにバウンディングボックス４２０を設定することができる。１つの非限定的な例では、バウンディングボックス４２０は、仮想空間４００全体を包含してもよい。この例は当然ながら非限定的であり、技術は、バウンディングボックス４２０が仮想空間４００の一部のみを包含することを企図する。ボックス４２０は必ずしも実質的に立方形状で表わされないことがあり、円筒形、球形、円錐形、または任意の他の形状を含む任意の形状であることができることを認めるべきである。
【００８０】
カメラ３００およびプレイヤキャラクタ４０１の当該位置で、システムは、カメラ３００から対象（たとえばプレイヤキャラクタ４０１）の方向に仮想空間４００に向けて１つ以上の線３５０を設定することができる（ステップ６４０）。図６Ｂに示される例では、カメラ３００の位置からプレイヤキャラクタ４０１へ基準線３５０が設定され、この場合、バウンディングボックス４２０の壁との交差が検出される。図６Ｃに示される例では、カメラ３００の位置から対象（たとえばプレイヤキャラクタ４０１）に関連付けられる方向（たとえばそれぞれ左、中央、および右方向に）に仮想空間４００に向けて３本の基準線３５０ａ−３５０ｃが設定される。１つの例示的な実施形態では、中央の基準線３５０ｂをカメラ３００からプレイヤキャラクタ４０１に向けて設定してもよく、この場合、左基準線３５０ａおよび右基準線３５０ｃは、中央基準線３５０ｂに対して実質的に同じ角度で設定されてもよい。
【００８１】
１つの非限定的な例では、線３５０（または線３５０ａ−３５０ｃ）は、表示されないが交差が線３５０に沿って発生しているかどうかを判定する（ステップ６５０）目的のためにのみ用いられる基準線であることが認められるべきである。より具体的には、システムは、（図６Ｂに線３５０としておよび図６Ｃに線３５０ａ−３５０ｃとして示される）線のうち１本がバウンディングボックス４２０の表面と交差するかどうかを判定する。交差／衝突ポイントに基づいて、システムは、カメラ３００の基準仮想面を調節することができる。
【００８２】
より詳細には、システムは、ボックス４２０の１つ以上の表面との交差が線３５０に沿って発生したかどうかを判定することができる（ステップ６６０）。交差がない場合またはキャラクタ４０１とカメラ３００との間の距離がボックス４２０とのいずれの交差ポイントよりも近い場合、システムは、カメラ３００の基準仮想面を、具体的な値（たとえば最小の「非常に近い」値）に基づいて設定し（ステップ６８０）、次に仮想空間４００の画像をレンダリングする（ステップ６９０）ことができる。たとえば、カメラ３００は、ボックス４２０内の位置にある仮想空間４００内部に位置決めされてもよく、この場合、カメラ３００とプレイヤキャラクタ４０１との間の距離は、ボックス４２０の壁とのいずれの衝突よりも近い。この場合、カメラ３００の基準仮想面は、具体的な値（たとえばカメラ３００ニアクリップ面）に基づいて設定されてもよい。
【００８３】
ボックス４２０の１つ以上の表面との１つ以上の交差が発生すると、システムは、最も近い交差ポイントの位置を判定することができる（ステップ６７０）。図６Ｂの例では、システムはポイント４１１において最も近い交差を検出し、これにより、仮想カメラ３００の基準仮想面は、カメラ３００とポイント４１１との間の距離に基づいて調節される（ステップ６７５）。たとえば、システムは、カメラ３００とポイント４１１との間の距離を用いてカメラ３００の基準仮想面を設定してもよい。
【００８４】
図６Ｃに示される例では、システムは、基準線３５０ａ、３５０ｂ、および３５０ｃに沿ってそれぞれ交差ポイント４１１ａ、４１１ｂ、および４１１ｃを検出する。衝突ポイント４１１ａがカメラ３００に最も近い位置にあるため、システムはカメラ３００とポイント４１１ａとの間の距離を用いて基準仮想面を設定することができる（ステップ６７５）。基準仮想面が一旦設定されると、システムは、仮想空間４００の画像をレンダリングすることができる（ステップ６９０）。
【００８５】
線３５０（または線３５０ａ−３５０ｃ）は、実際には画面上に描かれ（すなわち表示され）ないことがあるが、代わりに交差ポイントを判定するための基準として用いられることを認めるべきである。さらに、ボックス４２０は、画面上に描かれ（すなわち表示され）ないことがあるが、代わりに交差ポイントを判定するための基準としても用いられる。非限定的例として、システムは、地形、障害物、プレイヤキャラクタ、敵キャラクタ、および任意の他のさまざまな仮想オブジェクトを構成する複数の多角形を生成することによって、図６Ａの例に示される画像をレンダリングする。画面がリフレッシュされる前に（すなわち次の画像がディスプレイ上に描かれる前に）、システムは、バウンディングボックス４２０の１つ以上の表面との交差が線３５０（または線３５０ａ−３５０ｃ）の各々のポイントに沿って存在するか否かを検出する。この検出に基づき、システムは、（１つよりも多くの衝突が発生する事例では）カメラに最も近い交差ポイントを選択し、次に最も近い衝突ポイントに基づいてカメラ３００の基準仮想面を設定することができる。
【００８６】
バウンディングボックス４２０の使用は、他の方法に勝るある利点を与えることができることも認めるべきである。特に、プロセッサの能力がより低いシステム上では、ジオメトリとの交差の確認は、ゲーム処理に対して不要な処理コストを追加する可能性がある。さらに、交差検出は、より短い光線による確認を用いるとよりうまくいくことがあり、したがって、レベル／風景全体の交差確認は他の交差確認よりも高価になる。加えて、交差確認について、線から離れて位置するオブジェクトが「飛び」出る状況が発生する。１つの非限定的な例では、バウンディングボックス４２０の使用は、これらの他の方策に勝る利点を与える。なぜなら、ボックス４２０は、より効率的な交差／衝突検出を可能にするからである。たとえば、基準ジオメトリの各々の部分との交差確認を行なわなければならないというよりもむしろ、システムは有利には、バウンディングボックス４２０を用いて、ボックス４２０の異なる表面に沿って交差が発生しているかどうかを判定することができる。すなわち、「直線」交差は、ジオメトリのすべてを通過しなければならないが、バウンディングボックス４２０は、ボックス４２０の異なる表面との交差しか検出する必要がない。そのような実現例は、他の方策と比較して、確認を１００倍超より迅速に行ない得、したがって、システムは、有利には、処理コストを節約する（これは、特に処理資源がより低いシステムにとっては有用である）。
【００８７】
図７Ａ−図７Ｃは、画像の視覚的効果を調節するための別の例示的な方法を示す。図５Ａ−図５Ｃおよび図６Ａ−図６Ｄに示される例と同様に、図７Ａ−図７Ｃに描かれる方法は、仮想カメラ３００の基準仮想面を調節するのに交差確認も用いる。ある例示的な実施形態では、プレイヤキャラクタ４０１は、単一バウンディングボックス法を用いるのがより困難な仮想空間４００の部分に位置決めされることがある。たとえば、プレイヤキャラクタ４０１は、バウンディングボックスの壁がプレイヤの実際の壁から遠過ぎる「木の塔」の中に位置決めされることがある。加えて、いくつかのレベルは、異なるオブジェクトおよび障害物（たとえば、パイプ、大砲、傾斜面）を通して接続されるいくつかの小さな区域を含むことがある。
【００８８】
図７Ａ−図７Ｃは、１つ以上のバウンディングボックス４２１および４２２を用いて基準仮想面が調節を必要とするかどうかを判定する非限定的かつ例示的な実施形態を示す。図７Ａ−図７Ｃに提示される方法を用いて、これら先に言及した問題のうちいくつかに対処し得る。
【００８９】
図７Ａでは、カメラ３００はここでも仮想空間４００の一方端に配置され、この時、プレイヤキャラクタ４０１は仮想空間４００のほぼ反対側の端にある地形４１０上に位置決めされる。この例はここでも、１つ以上の地形４１０および／またはキャラクタ４０１とカメラ３００との間であってプレイヤキャラクタ４０１の前にある仮想空間４００中に表示される仮想オブジェクトを描く。１つ以上の地形４１０は、「飛び」出るように見える、または見る人が見て違和感を生じる画像を提供することがある。
【００９０】
図７Ａに示される例では、交差が存在するか否かを判定するのに、複数のバウンディングボックス（すなわち、バウンディングボックス４２１およびバウンディングボックス４２２）が設けられる。１つの例示的な実施形態では、システムは、１つ以上の地形４１０にわたって複数のバウンディングボックス４２１／４２２を設定することができる。カメラ３００の位置から対象（たとえばプレイヤキャラクタ４０１）の位置へ、基準線３５０を設定することができる。システムは次に、基準線３５０と１つ以上のバウンディングボックス４２１／４２２の任意の表面との間に交差が存在するかどうかを検出することができる。仮想カメラ３００の位置から１本よりも多くの基準線３５０を設定してもよいことを認めるべきである。たとえば、システムは、図６Ｃに描かれる例と同様に、３本の基準線３５０ａ−３５０ｃを設定してもよい。
【００９１】
図７Ａに示される例では、２つの異なるバウンディングボックス４２１／４２２上の少なくとも２つのポイントに沿ってそれぞれ交差が発生する。１つの非限定的かつ例示的な実施形態では、システムは、仮想カメラ３００に最も近いそれぞれのボックス４２１／４２２に関連付けられる交差ポイントに基づいて、仮想カメラ３００の基準仮想面を調節してもよい。
【００９２】
いくつかの例示的な実施形態では、２つ以上のバウンディングボックス同士の間での切換えの際にクリッピングポイントで立体視値が急に変化する可能性があることを認めるべきである。立体視値が突然変化しないようにするために、システムは、以前の立体視値から次の立体視値に移行するように多数のフレームにわたって内挿を行なうことがある。ある確認をレベルのすべてのバウンディングボックスについても行なって、基準ジオメトリのうち１つも、確実に立体視焦点と交差しないようにしてもよい。図７Ａ−図７Ｃに記載される複数バウンディングボックス法について論じたが、そのような技法を本明細書中に記載される方法（たとえば、図５Ａ−図５Ｃについて論じる基準ジオメトリ法および／または図６Ａ−図６Ｄについて論じる単一バウンディングボックス法）のうち任意のものに適用してもよいことを認めるべきである。
【００９３】
カメラ３００が特定のバウンディングボックス内に完全に入っている場合、最小値（たとえばカメラ３００のニアクリップ面）を用いて基準仮想面を調節してもよい。加えて、立体視焦点で衝撃があるような遷移を防止するために、システムは、基準仮想面がより遠くなる場合には内挿を行なうことができる。さらに、システムは、オブジェクトが基準仮想面を横切るのを一切防止するために、基準仮想面が近づくときには内挿を行なわなくてもよい。そうするにあたって、システムは、基準仮想面を異なるバウンディングボックスの端縁を横切ってスムーズに「スライド」させ、かつ衝撃の強い遷移をさせないようなカメラ３００の移動を可能にし得る。ここでも、図７Ａ−図７Ｃに記載する複数バウンディングボックス法に関して論じたが、そのような技法を本明細書中に記載される方法（たとえば、図５Ａ−図５Ｃについて論じた基準ジオメトリ法および／または図６Ａ−図６Ｄについて論じた単一バウンディングボックス法）のうち任意のものに適用してもよいことを認めるべきである。
【００９４】
図７Ｂは、図７Ａに描かれるシナリオを示す仮想空間４００の側面図を描く。図７Ｂは、基準線３５０に沿ったバウンディングボックス４２１／４２２との交差ポイントを具体的に示す。図７Ｂに見られるように、プレイヤキャラクタ４０１は、カメラ３００から仮想空間の反対側の端に位置決めされ、この時、地形の１つ以上の部分はキャラクタ４０１とカメラ３００との間に存在する。
【００９５】
この例では、複数個の地形がボックス４２１／４２２で示される複数のバウンディングボックスで包含される。図５Ｃに示される例と同様に、基準線３５０は、地形のそれぞれの部分を包含する１つ以上のバウンディングボックス４２１／４２２と交差し得る。この例では、線３５０は、交差ポイント４１１および４１２でボックス４２１および４２２とそれぞれ交差する。システムは最も近い交差ポイントを判定して、カメラ３００と最も近い交差ポイントとの間の距離を用いてカメラ３００の基準仮想面を調節し得る。図７Ｂに示される例では、最も近い交差ポイントはポイント４１１で表わされ、カメラ３００とポイント４１１との間の距離を用いてカメラ３００の基準仮想面を調節し得る。
【００９６】
図７Ｃは、図７Ａおよび図７Ｂに描かれる方法を実行するためのプロセスの流れを描く。プロセスはステップ７１０で開始し、ここでは、システムは、さまざまなオブジェクト（たとえば、地形、プレイヤキャラクタ、敵キャラクタ、障害物、宝物）を含む仮想空間を生成することができる。ステップ７２０で、システムは、カメラ３００および対象（たとえばプレイヤキャラクタ４０１）の仮想三次元空間中での場所を得ることができる。この位置を、ｘ、ｙ、およびｚ軸に沿った三次元座標として表わすことができる。
【００９７】
ステップ７３０で、システムは、仮想空間４００中の地形４１０のさまざまな部分の周りに複数のバウンディングボックス（たとえばボックス４２１および４２２）を設定することができる。１つの非限定的な例では、地形４１０は、複数のバウンディングボックスで完全に覆われてもよい。すなわち、地形４１０の各区域が少なくとも１つのバウンディングボックスで覆われるように複数のバウンディングボックスを設定してもよい。さらに、複数のバウンディングボックスは仮想空間４００の中で互いに重なることができる。当然ながら、この例は非限定的であり、本明細書中に記載される技術は、地形４１０の一部だけがバウンディングボックスによって包含されることを企図する。
【００９８】
システムは、次に、仮想カメラ３００の位置から対象（たとえばプレイヤキャラクタ４０１）の位置に向けて、１つ以上の基準線３５０を設定し得る（ステップ７４０）。１つの非限定的な例では、線３５０は、表示されないが線３５０に沿って交差が存在するかどうかを判定する目的のためにのみ用いられる基準線である（ステップ７５０）。より具体的には、システムは、線３５０が１つ以上のバウンディングボックスの１つ以上の表面と交差するかどうかを判定する。交差が存在する場合、システムは、どの交差ポイントがカメラ３００に最も近いかを判定して、次に、最も近い交差ポイントに基づいて基準仮想面を調節することができる。
【００９９】
より詳細には、システムは、線３５０に沿ってボックス４２１／４２２の１つ以上の表面との交差が発生したかどうかを判定することができる。衝突が１回だけある場合、システムは、検出された交差ポイントに関連付けられる位置に基づいてカメラ３００の基準仮想面を設定し（ステップ７７０）、次に仮想空間４００の画像をレンダリングすることができる（ステップ７８０）。１つよりも多くの交差ポイントが検出される場合、システムは、最も近い交差ポイントの位置を判定し、次にカメラ３００と最も近い交差ポイントとの間の距離を用いて、仮想カメラ３００の基準仮想面を設定することができる。基準仮想面が一旦設定されると、システムは、仮想空間４００の画像をレンダリングすることができる（ステップ７８０）。
【０１００】
システムが線３５０とバウンディングボックスのいずれかとの交差を全く検出しない場合、システムは、具体的な値（たとえば、最小の「非常に近い」値）に基づいて仮想カメラ３００の基準仮想面を設定することができる（ステップ７６０）。１つの非限定的な例では、カメラ３００の基準仮想面を設定する際、システムは、カメラ３００ニアクリップ面の距離を用い、次に仮想空間の画像をレンダリングし得る（ステップ７８０）。
【０１０１】
線３５０は、実際には画面上に描かれ（すなわち表示され）ないことがあるが、代わりに衝突ポイントを判定するための基準として用いられることを認めるべきである。さらに、ボックス４２１／４２２は、画面上に描かれ（すなわち表示され）ないことがあるが、代わりに衝突ポイントを判定するための基準としても用いられることがある。
【０１０２】
非限定的な例として、システムは、地形、障害物、プレイヤキャラクタ、敵キャラクタ、および任意の他のさまざまな仮想オブジェクトを構成する複数の多角形を生成することによって、図７Ａ中の例に示される画像をレンダリングする。画面がリフレッシュされる前に（すなわち次の画像がディスプレイ上に描かれる前に）、システムは、線３５０の各々のポイントに沿ってバウンディングボックス４２１／４２２の１つ以上の表面との交差が発生したか否かを検出する。この検出に基づいて、システムは、（１つよりも多くの衝突が発生する事例では）カメラに最も近い交差ポイントを選択し、次に、カメラ３５０と最も近い交差ポイントとの間の距離を用いて基準仮想面を設定することができる。
【０１０３】
この文書を通じて言及する例は仮想カメラ３００を参照することをさらに認めるべきである。仮想カメラ３００は単一の仮想カメラおよび／または複数の仮想カメラを表わすことがあることを理解すべきである。さらに、仮想カメラ３００は、（上記図３Ｂに関して論じる）基準仮想カメラ３００を表わすことがあり、その場合、基準仮想カメラ３００は、少なくとも、左右の仮想カメラ３０４および３０２に基づいている。当然ながら、基準仮想カメラ３００は左右の仮想カメラ３０４／３０２のみに限定されるのではなく、本明細書中に記載される技術は、任意の数および種類の仮想カメラを用いる基準仮想カメラ３００を企図する。
【０１０４】
この文書の多くの場所で、ソフトウェアモジュールおよびソフトウェアモジュールが行なう行為を説明する。これは記載の容易さのためになされる；この文書中でソフトウェアモジュールが何らかの行為を行なうと記載する際は常に、当該行為は実際には、命令に従って、（プロセッサおよびメモリなどの）背後にあるハードウェア構成要素およびソフトウェアモジュールを備えるデータによって行なわれることを理解すべきである。
【０１０５】
技術的利点
本明細書中に記載される技術は、特に表示技術が立体視表示される画像に係る場合に、既存の表示技術に対する改良を提供する。１つの非限定的な例では、当該技術により、表示される仮想空間を表わす基準ジオメトリに対するおよび／または仮想空間の一部もしくは全体を包含する１つ以上のバウンディングボックスに対する交差を検出することによって、表示される画像の調節が可能になる。当該技法は、表示されるオブジェクトが不自然に（または見て違和感を生じるように）見えることがなく、これによりユーザインターフェイスが向上するように、表示される画像を調節するという利点を与える。さらに、以上で説明したように、バウンディングボックスに関連付けられる技法は、他の技法に対して、より迅速でより効率的な検出を提供し得る。なぜなら、システムは、基準ジオメトリのあらゆる要素に対して（しかし、１つ以上のバウンディングボックスの表面に対してしか）検出を行なう必要がないからである。そのような方策により、他の方策よりも１００倍超速い速度での検出が可能になり得る。
【０１０６】
選択される定義
この文書中で、所与の項目が「いくつかの実施形態」、「さまざまな実施形態」、「ある実施形態」、「ある例示的な実施形態」、「いくつかの例示的な実施形態」、「例示的な実施形態」に存在すると記載される場合は常に、または任意の他の同様の文言が用いられる場合は常に、所与の項目が、必ずしもすべての実施形態に存在するわけではないが、少なくとも１つの実施形態に存在することを理解すべきである。以上に矛盾することなく、この文書中で、ある行為が行なわれ「得る（てもよい）」、「ることができる」、もしくは「る可能性がある」、ある特徴、要素、もしくは構成要素が所与の文脈の中に含まれ「得る（てもよい）」、「ることができる」、もしくは「る可能性がある」もしくは所与の文脈に適用可能であ「り得る（ってもよい）」、「ることができる」、もしくは「る可能性がある」、所与の項目が所与の属性を有「し得る（てもよい）」、「することができる」、もしくは「する可能性がある」と記載される場合は常に、または「得る（てもよい）」、「することができる」、もしくは「する可能性がある」という語に係る任意の同様の表現が用いられる場合は常に、所与の行為、特徴、要素、構成要素、属性などが、必ずしもすべての実施形態に存在するわけではないが、少なくとも１つの実施形態に存在することを理解すべきである。この文書およびその変形において用いる語および表現は、はっきりとそうでないと述べていなければ、限定的というよりは限定を設けないと解釈されるべきである。以上の例として、「および／または」は、関連付けられる列挙される項目の１つ以上のありとあらゆる組合せを含む（たとえば、ａおよび／またはｂは、ａ、ｂ、またはａとｂとを意味する）；単数形「ａ」、「an」、および「the」は、「少なくとも１つ」、「１つ以上」などの意味として解釈されるべきである；「例」という語は、その網羅的または限定的な列挙を提供するためではなく、論じている主題の例を与えるのに用いられる；「備える」および「含む」（ならびにその他の活用形および他の変形）という語は、関連付けられる列挙される項目の存在を特定するが、１つ以上の他の項目の存在または追加を排除しない；かつ、項目が「任意の」と記載されていれば、そのような記載は、他の項目も任意でないと示すように理解されるべきではない。
【０１０７】
本明細書中で用いるように、「非一時的コンピュータ読出可能記憶媒体」という用語は、レジスタ、キャッシュメモリ、ＲＯＭ、（Ｄ−ＲＡＭ、Ｓ−ＲＡＭ、もしくは他のＲＡＭなどの）半導体メモリ装置、フラッシュメモリ、ハードディスク、磁気光学媒体などの磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤ、もしくはブルーレイディスク（登録商標）などの光学媒体、または非一時的電子データ記憶のための他の種類の装置を含む。「非一時的コンピュータ読出可能記憶媒体」という用語は、一時的な伝播する電磁信号を含まない。
【０１０８】
記載される主題のさらなる適用例
図１−図７Ｃを参照して限定されることなく含むプロセスステップ、アルゴリズムなどは特定の順序で記載または請求され得るが、そのようなプロセスは、異なる順序で機能するように構成されることがある。換言すると、この文書の中で明示的に記載または請求され得るステップの任意の順または順序は必ずしも、当該ステップをその順序で行なうという要件を示すものではない；むしろ、本明細書中に記載されるプロセスのステップは、任意の可能な順序で行なわれてもよい。さらに、いくつかのステップは、（たとえば１つのステップが他のステップの後に記載されているために）同時でなく発生するように記載または暗示されるにも拘わらず、同時に（または並行して）行なわれてもよい。さらに、図面に描かれることによるプロセスの図示は、図示されるプロセスがその他の変形例および修正例を排除することを暗示するのではなく、図示されるプロセスまたはそのステップのうち任意のものが必要であることを暗示するのではなく、かつ図示されるプロセスが好ましいことを暗示するのではない。
【０１０９】
さまざまな実施形態を詳細に示しかつ記載したが、請求項は、任意の特定の実施形態または例に限定されるわけではない。上記記載のうちいずれも、任意の特定の要素、ステップ、範囲、または機能が必須であることを暗示すると解釈されるべきではない。当業者には公知の上述の実施形態の要素に対するすべての構造的かつ機能的均等物が本明細書中に引用により明示的に援用されかつ包含されることが意図される。さらに、装置または方法が、本発明が解決しようとするありとあらゆる課題に対処する必要はなく、それが発明によって包含される必要はない。この文書中のいずれの実施形態、特徴、要素、構成要素、またはステップも、公衆に放棄されることを意図されない。
【符号の説明】
【０１１０】
１０  携帯型ゲーム機器、１１  下側筐体、１２  下側ＬＣＤ、１３  タッチパネル、２１  上側筐体、２２  上側ＬＣＤ、２５  ３Ｄ調節スイッチ、３１  情報処理部、３２メインメモリ、３６  無線通信モジュール、３７  ローカル通信モジュール、１０１  カメラ、３００  基準仮想カメラ、３０２  右仮想カメラ、３０４  左仮想カメラ、３１１  ＣＰＵ、３１２  ＧＰＵ、３５０  基準線、４００  仮想空間、４０１  プレイヤキャラクタ、４０２  敵キャラクタ、４１０  地形、４１１，４１２  交差ポイント、４２０，４２１，４２２  バウンディングボックス
【図１】
2019217269.tif 000003
【図２】
2019217269.tif 000004
【図３】
2019217269.tif 000005
【図４】
2019217269.tif 000006
【図５Ａ】
2019217269.tif 000007
【図５Ｂ】
2019217269.tif 000008
【図５Ｃ】
2019217269.tif 000009
【図６Ａ】
2019217269.tif 000010
【図６Ｂ】
2019217269.tif 000011
【図６Ｃ】
2019217269.tif 000012
【図６Ｄ】
2019217269.tif 000013
【図７Ａ】
2019217269.tif 000014
【図７Ｂ】
2019217269.tif 000015
【図７Ｃ】
2019217269.tif 000016
【外国語明細書】
2019217269000001.pdf