JP2012141819A - 画像処理システム、画像処理プログラム、画像処理方法及び画像処理装置 - Google Patents

画像処理システム、画像処理プログラム、画像処理方法及び画像処理装置 Download PDF

Info

Publication number
JP2012141819A
JP2012141819A JP2010294469A JP2010294469A JP2012141819A JP 2012141819 A JP2012141819 A JP 2012141819A JP 2010294469 A JP2010294469 A JP 2010294469A JP 2010294469 A JP2010294469 A JP 2010294469A JP 2012141819 A JP2012141819 A JP 2012141819A
Authority
JP
Japan
Prior art keywords
virtual
camera
stereoscopic image
image
correction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010294469A
Other languages
English (en)
Other versions
JP5723149B2 (ja
Inventor
Masahiro Sakurai
政博 桜井
Satoshi Furuhira
敏志 古平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2010294469A priority Critical patent/JP5723149B2/ja
Priority to EP11194320.5A priority patent/EP2472474B1/en
Priority to US13/329,984 priority patent/US9113144B2/en
Publication of JP2012141819A publication Critical patent/JP2012141819A/ja
Application granted granted Critical
Publication of JP5723149B2 publication Critical patent/JP5723149B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/282Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems

Abstract

【課題】見易い立体視表示を実現する画像処理システム等を提供すること。
【解決手段】オブジェクトが配置された仮想3次元空間を仮想カメラで撮像して、両画像間に視差が設けられた左目用画像及び右目用画像から成る立体視画像を生成する立体視画像生成手段と、立体視画像生成手段が生成した立体視画像を表示部に表示させる表示制御手段とを備え、立体視画像生成手段は、立体視画像を生成する際に、当該オブジェクトの視差を減少させる補正を行う。
【選択図】図9

Description

本発明は、画像処理システム、画像処理プログラム、画像処理方法及び画像処理装置に関し、より特定的には、立体視表示を実現する画像処理システム、画像処理プログラム、画像処理方法及び画像処理装置に関する。
従来、両画像間で視差を設けた左目用画像及び右目用画像を用いて立体視表示を行う技術がある。例えば、特許文献1には、仮想3次元空間を仮想カメラで撮像して左目用画像及び右目用画像を生成し、これらの画像を用いて仮想3次元空間を立体視表示する技術が開示されている。
特開平2003−107603号公報
上記した従来の技術によれば、仮想3次元空間に配置されたオブジェクトは、所定位置よりも仮想カメラに近い場合には、ディスプレイ面から手前に飛び出して視認されるように表示され、所定位置よりも仮想カメラから遠い場合には、ディスプレイ面から奥に引っ込んで視認されるように表示される。ここで、仮想カメラに近いオブジェクトについて、左目用画像と右目用画像の視差が大きくなって見づらい場合がある。
それ故に、本発明の主たる目的は、見易い立体視表示を実現する画像処理システム等を提供することである。
本発明は、上述の課題を解決するために、以下の構成を採用した。
立体視可能な立体視画像を生成する画像処理システムであって、立体視画像生成手段と表示制御手段とを備える。立体視画像生成手段は、オブジェクトが配置された仮想3次元空間を仮想カメラで撮像して、両画像間に視差が設けられた左目用画像及び右目用画像から成る立体視画像を生成する。表示制御手段は、立体視画像生成手段が生成した立体視画像を表示部に表示させる。そして、立体視画像生成手段は、立体視画像を生成する際に、当該オブジェクトの視差を減少させる補正を行う。
この構成によれば、表示部に立体視表示されるオブジェクトについて、飛び出して視認される程度を緩和する補正を行うことができる。このことから、ユーザにとって見易い立体視表示を実現することができる。
また、立体視画像生成手段は、立体視画像を生成する際に、仮想カメラからオブジェクトまでの距離に応じて当該オブジェクトの視差を減少させる補正を行ってもよい。
この構成によれば、仮想カメラからオブジェクトまでの距離に応じて、当該オブジェクトの飛び出してくる程度を緩和することができる。
また、立体視画像生成手段は、立体視画像を生成する際に、仮想カメラからオブジェクトまでの距離が近い程、当該オブジェクトの視差を多く減少させる補正を行ってもよい。
この構成によれば、表示部に立体視表示されるオブジェクトについて、ユーザにとって見づらくなる程に大きく飛び出してくるオブジェクト程、飛び出してくる程度を大きく緩和することができる。
また、立体視画像生成手段は、立体視画像を生成する際に、仮想カメラに近いオブジェクト程視差が小さくなるように、補正を行ってもよい。
この構成によれば、複数のオブジェクトに対して飛び出してくる程度を緩和した場合において、各オブジェクトの前後間の位置関係を正常に維持することができる。また、或る1つのオブジェクトが手前に飛び出してくる場合において、瞬間的に少し戻ってしまうように視認されることなく、移動の態様が自然なものとなる。
また、立体視画像生成手段は、立体視画像を生成する際に、オブジェクトの左目用画像における位置をユーザから見て左方向に移動させる補正、及び/又は、当該オブジェクトの右目用画像における位置をユーザから見て右方向に移動させる補正を行うことによって、当該オブジェクトの視差を減少させる補正を行ってもよい。
この構成によれば、表示部に立体視表示されるオブジェクトについて、飛び出して視認される程度を緩和する補正を行うことができる。
また、立体視画像生成手段は、左目用画像を撮像する仮想左カメラと、右目用画像を撮像する仮想右カメラと、仮想左カメラと仮想右カメラとの間に配置される仮想中間カメラを用いて、立体視画像を生成する際に、オブジェクトの左目用画像における位置が、仮想左カメラに基づく位置と仮想中間カメラに基づく位置との間の位置となるように調整する補正、及び/又は、当該オブジェクトの右目用画像における位置が、仮想右カメラに基づく位置と仮想中間カメラに基づく位置との間の位置となるように調整する補正を行うことによって、当該オブジェクトの視差を減少させる補正を行ってもよい。
この構成によれば、仮想中間カメラを用いた補正処理を行うことによって、オブジェクトが飛び出して視認される程度を緩和する補正を実現することができる。
また、立体視画像生成手段は、立体視画像を生成する際に、オブジェクトの左目用画像における位置が、仮想左カメラに基づく位置と仮想中間カメラに基づく位置とを当該仮想カメラから当該オブジェクトまでの距離に応じて補間した補間位置となるように調整する補正、及び/又は、当該オブジェクトの右目用画像における位置が、仮想右カメラに基づく位置と仮想中間カメラに基づく位置とを当該仮想カメラから当該オブジェクトまでの距離に応じて補間した補間位置となるように調整する補正を行うことによって、当該オブジェクトの視差を減少させる補正を行ってもよい。
この構成によれば、仮想中間カメラを用いた補正処理を行うことによって、仮想カメラからオブジェクトまでの距離に応じて当該オブジェクトが飛び出して視認される程度を緩和する補正を実現することができる。
また、立体視画像生成手段は、立体視画像を生成する際に、オブジェクトの仮想カメラに対する相対位置を補正した後に仮想カメラによって当該オブジェクトを描画することによって、当該オブジェクトの視差を減少させる補正を行ってもよい。
この構成によれば、仮想カメラに対するオブジェクトの相対位置を補正することによって、当該オブジェクトが飛び出して視認される程度を緩和する補正を実現することができる。
また、立体視画像生成手段は、立体視画像を生成する際に、仮想カメラのビュー座標系におけるオブジェクトの位置を補正した後に仮想カメラによって当該オブジェクトを描画することによって、当該オブジェクトの視差を減少させる補正を行ってもよい。
この構成によれば、仮想カメラによってオブジェクトを描画する処理において、ワールド座標系から仮想カメラのビュー座標系に座標変換した後に当該ビュー座標系においてオブジェクトの位置を補正する。このことから、ワールド空間に配置されているオブジェクト(又はその頂点)の位置は移動させることなく、当該オブジェクトが飛び出して視認される程度を緩和する補正を実現することができる。
また、立体視画像生成手段は、立体視画像を生成する際に、オブジェクトの仮想カメラに対する相対位置を仮想カメラから見て左右方向にのみ補正した後に仮想カメラによって当該オブジェクトを描画することによって、当該オブジェクトの視差を減少させる補正を行ってもよい。
この構成によれば、仮想カメラに対するオブジェクトの相対位置を、仮想カメラから見て奥行き方向(深度方向)及び上下方向には移動させる処理を行う必要がない。このことから、オブジェクトの視差を減少させる補正を行うための処理負荷を低減することができる。
また、立体視画像生成手段は、立体視画像を生成する際に、オブジェクトの仮想左カメラに対する相対位置及び当該オブジェクトの仮想右カメラに対する相対位置の少なくとも一方を補正した後に仮想左カメラ及び仮想右カメラによって当該オブジェクトを描画することによって、当該オブジェクトの視差を減少させる補正を行ってもよい。
この構成によれば、仮想左カメラに対するオブジェクトの相対位置及び仮想右カメラに対する当該オブジェクトの相対位置の少なくとも一方を補正することによって、オブジェクトの視差を減少させることができる。このことから、オブジェクトの視差を減少させる補正を行うための処理負荷を低減することができる。
また、オブジェクトの仮想左カメラに対する相対位置の補正と、当該オブジェクトの仮想右カメラに対する相対位置の補正とは、補正の方向が相異なってもよい。
この構成によれば、表示部に立体視表示されるオブジェクトについて、飛び出して視認される程度を緩和する補正を行うことができる。
また、立体視画像生成手段は、立体視画像を生成する際に、仮想カメラによってオブジェクトを描画するために当該オブジェクトの仮想カメラに対する相対位置を一時的に補正して、当該オブジェクトの視差を減少させる補正を行ってもよい。
この構成によれば、ワールド空間に配置されているオブジェクト(又はその頂点)の位置は移動させることなく、当該オブジェクトが飛び出して視認される程度を緩和する補正を実現することができる。
また、立体視画像生成手段は、左目用画像を撮像する仮想左カメラと、右目用画像を撮像する仮想右カメラと、仮想左カメラと仮想右カメラとの間に配置される仮想中間カメラを用いて、左目用画像を生成する際に、仮想左カメラに対するオブジェクトの相対位置と仮想中間カメラに対する当該オブジェクトの相対位置との間で当該仮想カメラから当該オブジェクトまでの距離に応じて補間を行って補間位置を算出して該補間位置を用いて仮想左カメラによって当該オブジェクトの描画を実行、及び/又は、右目用画像を生成する際に、仮想右カメラに対する当該オブジェクトの相対位置と仮想中間カメラに対する当該オブジェクトの相対位置との間で当該仮想カメラから当該オブジェクトまでの距離に応じて補間を行って補間位置を算出して当該補間位置を用いて仮想右カメラによって当該オブジェクトの描画を実行することによって、当該オブジェクトの視差を減少させる補正を行ってもよい。
この構成によれば、上記の補間を行うことによって、左目用画像におけるオブジェクトと右目用画像における当該オブジェクトとの視差を、減少させる方向に補正することができる。また、上記の補間において、仮想3次元空間における当該オブジェクトの仮想カメラから距離に応じて上記補間位置を算出することによって、当該オブジェクトの距離に応じて上記視差の減少量を設定することができる。
また、立体視画像生成手段は、左目用画像を生成する際に、仮想左カメラに対するオブジェクトの各頂点の相対座標と仮想中間カメラに対する当該オブジェクトの各頂点の相対座標との間で当該仮想カメラから当該各頂点までの距離に応じて補間を行って補間座標を算出して当該補間座標を用いて仮想左カメラによって当該頂点の描画を実行、及び/又は、右目用画像を生成する際に、仮想右カメラに対するオブジェクトの各頂点の相対座標と仮想中間カメラに対する当該オブジェクトの各頂点の相対座標との間で当該仮想カメラから当該各頂点までの距離に応じて補間を行って補間座標を算出して当該補間座標を用いて仮想右カメラによって当該頂点の描画を実行することによって、当該オブジェクトの各頂点の視差をそれぞれ減少させる補正を行ってもよい。
この構成によれば、オブジェクトを構成する頂点単位で、視差を緩和する補正が行われる。このことから、例えば、大きなオブジェクト(大きな奥行きを持つオブジェクト)が大きく飛び出してくる場合であっても自然で最適な補正を行うことができる。
また、立体視画像生成手段は、立体視画像を生成する際に、仮想カメラからオブジェクトを構成する各頂点までの距離に応じて、当該各頂点の視差をそれぞれ減少させる補正を行ってもよい。
この構成によれば、オブジェクトを構成する頂点単位で、視差を緩和する補正が行われる。このことから、例えば、大きなオブジェクト(大きな奥行きを持つオブジェクト)が大きく飛び出してくる場合であっても自然で最適な補正を行うことができる。
また、立体視画像生成手段は、立体視画像を生成する際に、仮想カメラからオブジェクトまでの距離が所定距離よりも小さくなった場合、当該オブジェクトの視差をそれ以上は減少させないものとしてもよい。
この構成によれば、上記所定距離を設けることによって視差の補正量(減少量)が極端に大きくなることを回避できるので、複数のオブジェクトに対して飛び出してくる程度を緩和した場合において、各オブジェクトの前後間の位置関係を正常に維持することができる。
また、立体視画像生成手段は、立体視画像を生成する際に、仮想カメラからオブジェクトまでの距離が所定距離よりも大きい場合、当該オブジェクトの視差を減少させる補正を行わないこととしてもよい。
この構成によれば、上記の補正を実施する必要のない位置(奥行き)に配置されたオブジェクトに対しては、この補正は実施されない。このことから、画像処理の負担を軽減することができる。
また、立体視画像生成手段は、立体視画像を生成する際に、補正対象のオブジェクトに対してのみ上記補正を行ってもよい。
この構成によれば、オブジェクト毎に上記補正を行うか否かを設定できる。このことから、上記補正の必要がない(又は低い)オブジェクト(例えば、ほとんど目立たないオブジェクト)については、補正を行わないことができる。この結果として、画像処理の負担を軽減することができる。
以上では、画像処理システムとして本発明を構成する場合について記載した。しかし、本発明は、画像処理プログラム、画像処理方法、又は画像処理装置として構成されてもよい。更には、本発明は、上記画像処理プログラムを記録したコンピュータで読み取り可能な記録媒体として構成されてもよい。
本発明によれば、見易い立体視表示を実現する画像処理システム等を提供することができる。
開状態におけるゲーム装置10の正面図 閉状態におけるゲーム装置10の左側面図、正面図、右側面図および背面図 ゲーム装置10の内部構成を示すブロック図 本実施形態における特徴的動作の概要について説明するための図 本実施形態における特徴的動作の概要について説明するための図 ゲーム装置10のメインメモリ32のメモリマップに一例を示す図 ブレンド値決定式の一例をグラフで表した図 CPU311によって実行されるゲーム処理のフローチャートの一例 図8のステップS2の座標変換処理のフローチャートの一例 仮想左カメラ50、仮想右カメラ51及び仮想中間カメラ52の位置関係及び撮像範囲を説明するための図 図9のステップS13の処理について説明するための図 図9のステップS14の処理について説明するための図 図9のステップS15の処理について説明するための図 図9のステップS16の処理について説明するための図 図9のステップS17の処理について説明するための図 図9のステップS17の処理について説明するための図 図9のステップS17の処理について説明するための図 図9のステップS17の処理について説明するための図 図9のステップS17の処理について説明するための図 図8のステップS2の座標変換処理のフローチャートの他の一例 仮想左カメラ50及び仮想右カメラ51の撮像範囲を説明するための図
(一実施形態)
以下、本発明の一実施形態に係る画像処理装置であるゲーム装置について説明する。なお、本発明は、このような装置に限定されるものではなく、このような装置の機能を実現する画像処理システムであってもよく、このような装置における画像処理方法であってもよく、このような装置において実行される画像処理プログラムであってもよい。更には、本発明は、この画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体であってもよい。
(ゲーム装置の外観構成)
以下、本発明の一実施形態に係るゲーム装置について説明する。図1および図2は、ゲーム装置10の外観を示す平面図である。ゲーム装置10は携帯型のゲーム装置であり、図1および図2に示すように折り畳み可能に構成されている。図1は、開いた状態(開状態)におけるゲーム装置10を示し、図2は、閉じた状態(閉状態)におけるゲーム装置10を示している。図1は、開状態におけるゲーム装置10の正面図である。ゲーム装置10は、撮像部によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることが可能である。また、ゲーム装置10は、交換可能なメモリカード内に記憶され、または、サーバや他のゲーム装置から受信したゲームプログラムを実行可能であり、仮想空間に設定された仮想カメラで撮像した画像などのコンピュータグラフィックス処理により生成された画像を画面に表示したりすることができる。
まず、図1および図2を参照して、ゲーム装置10の外観構成について説明する。図1および図2に示されるように、ゲーム装置10は、下側ハウジング11および上側ハウジング21を有する。下側ハウジング11と上側ハウジング21とは、開閉可能(折り畳み可能)に接続されている。
(下側ハウジングの説明)
まず、下側ハウジング11の構成について説明する。図1および図2に示すように、下側ハウジング11には、下側LCD(Liquid Crystal Display:液晶表示装置)12、タッチパネル13、各操作ボタン14A〜14L、アナログスティック15、LED16A〜16B、挿入口17、および、マイクロフォン用孔18が設けられる。以下、これらの詳細について説明する。
図1に示すように、下側LCD12は下側ハウジング11に収納される。下側LCD12の画素数は、例えば、320dot×240dot(横×縦)であってもよい。下側LCD12は、後述する上側LCD22とは異なり、画像を(立体視可能ではなく)平面的に表示する表示装置である。なお、本実施形態では表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置など、他の任意の表示装置を利用してもよい。また、下側LCD12として、任意の解像度の表示装置を利用することができる。
図1に示されるように、ゲーム装置10は、入力装置として、タッチパネル13を備えている。タッチパネル13は、下側LCD12の画面上に装着されている。なお、本実施形態では、タッチパネル13は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。本実施形態では、タッチパネル13として、下側LCD12の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル13の解像度と下側LCD12の解像度が一致している必要はない。また、下側ハウジング11の上側面には挿入口17(図1および図2(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は、十字の形状を有しており、上下左右の方向を指示するボタンを有している。ボタン14A〜14E、セレクトボタン14J、HOMEボタン14K、およびスタートボタン14Lには、ゲーム装置10が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン14Aは選択操作等に用いられ、各操作ボタン14B〜14Eは例えば決定操作やキャンセル操作等に用いられる。また、電源ボタン14Fは、ゲーム装置10の電源をオン/オフするために用いられる。
アナログスティック15は、方向を指示するデバイスである。アナログスティック15は、そのキートップが、下側ハウジング11の内側面に平行にスライドするように構成されている。アナログスティック15は、ゲーム装置10が実行するプログラムに応じて機能する。例えば、仮想3次元空間に所定のオブジェクトが登場するゲームがゲーム装置10によって実行される場合、アナログスティック15は、当該所定のオブジェクトを仮想3次元空間内で移動させるための入力装置として機能する。この場合において、所定のオブジェクトはアナログスティック15のキートップがスライドした方向に移動される。なお、アナログスティック15として、上下左右および斜め方向の任意の方向に所定量だけ傾倒することでアナログ入力を可能としたものを用いても良い。
また、下側ハウジング11の内側面には、マイクロフォン用孔18が設けられる。マイクロフォン用孔18の下部には後述する音声入力装置としてのマイク42(図3参照)が設けられ、当該マイク42がゲーム装置10の外部の音を検出する。
図2(a)は閉状態におけるゲーム装置10の左側面図であり、図2(b)は閉状態におけるゲーム装置10の正面図であり、図2(c)は閉状態におけるゲーム装置10の右側面図であり、図2(d)は閉状態におけるゲーム装置10の背面図である。図2(b)および(d)に示されるように、下側ハウジング11の上側面には、Lボタン14GおよびRボタン14Hが設けられている。Lボタン14GおよびRボタン14Hは、例えば、撮像部のシャッターボタン(撮影指示ボタン)として機能することができる。また、図2(a)に示されるように、下側ハウジング11の左側面には、音量ボタン14Iが設けられる。音量ボタン14Iは、ゲーム装置10が備えるスピーカの音量を調整するために用いられる。
図2(a)に示されるように、下側ハウジング11の左側面には開閉可能なカバー部11Cが設けられる。このカバー部11Cの内側には、ゲーム装置10とデータ保存用外部メモリ45とを電気的に接続するためのコネクタ(図示せず)が設けられる。データ保存用外部メモリ45は、コネクタに着脱自在に装着される。データ保存用外部メモリ45は、例えば、ゲーム装置10によって撮像された画像のデータを記憶(保存)するために用いられる。
また、図2(d)に示されるように、下側ハウジング11の上側面には、ゲーム装置10とゲームプログラムを記録した外部メモリ44を挿入するための挿入口11Dが設けられ、その挿入口11Dの内部には、外部メモリ44と電気的に着脱自在に接続するためのコネクタ(図示せず)が設けられる。当該外部メモリ44がゲーム装置10に接続されることにより、所定のゲームプログラムが実行される。
また、図1および図2(c)に示されるように、下側ハウジング11の下側面にはゲーム装置10の電源のON/OFF状況をユーザに通知する第1LED16A、下側ハウジング11の右側面にはゲーム装置10の無線通信の確立状況をユーザに通知する第2LED16Bが設けられる。ゲーム装置10は他の機器との間で無線通信を行うことが可能であり、第2LED16Bは、無線通信が確立している場合に点灯する。ゲーム装置10は、例えば、IEEE802.11b/gの規格に準拠した方式により、無線LANに接続する機能を有する。下側ハウジング11の右側面には、この無線通信の機能を有効/無効にする無線スイッチ19が設けられる(図2(c)参照)。
なお、図示は省略するが、下側ハウジング11には、ゲーム装置10の電源となる充電式電池が収納され、下側ハウジング11の側面(例えば、上側面)に設けられた端子を介して当該電池を充電することができる。
(上側ハウジングの説明)
次に、上側ハウジング21の構成について説明する。図1および図2に示すように、上側ハウジング21には、上側LCD(Liquid Crystal Display:液晶表示装置)22、外側撮像部23(外側撮像部(左)23aおよび外側撮像部(右)23b)、内側撮像部24、3D調整スイッチ25、および、3Dインジケータ26が設けられる。以下、これらの詳細について説明する。
図1に示すように、上側LCD22は上側ハウジング21に収納される。上側LCD22の画素数は、例えば、800dot×240dot(横×縦)であってもよい。なお、本実施形態では上側LCD22は液晶表示装置であるとしたが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置などが利用されてもよい。また、上側LCD22として、任意の解像度の表示装置を利用することができる。
上側LCD22は、立体視可能な画像(立体視画像)を表示することが可能な表示装置である。また、本実施例では、実質的に同一の表示領域を用いて左目用画像と右目用画像が表示される。具体的には、左目用画像と右目用画像が所定単位で(例えば、1列ずつ)横方向に交互に表示される方式の表示装置である。または、左目用画像と右目用画像とが時分割で交互に表示される方式の表示装置であってもよい。また、本実施例では、裸眼立体視可能な表示装置である。そして、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式(視差バリア方式)のものが用いられる。本実施形態では、上側LCD22はパララックスバリア方式のものとする。上側LCD22は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像(立体画像)を表示する。すなわち、上側LCD22は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像を視認させることにより、ユーザにとって立体感のある立体画像(立体視可能な画像)を表示することができる。また、上側LCD22は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる(上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右目にも左目にも見えるような表示モードである)。このように、上側LCD22は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する(平面視画像を表示する)平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、後述する3D調整スイッチ25によって行われる。
外側撮像部23は、上側ハウジング21の外側面(上側LCD22が設けられた主面と反対側の背面)21Dに設けられた2つの撮像部(23aおよび23b)の総称である。外側撮像部(左)23aと外側撮像部(右)23bの撮像方向は、いずれも当該外側面21Dの外向きの法線方向である。外側撮像部(左)23aと外側撮像部(右)23bとは、ゲーム装置10が実行するプログラムによって、ステレオカメラとして使用することが可能である。外側撮像部(左)23aおよび外側撮像部(右)23bは、それぞれ所定の共通の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
内側撮像部24は、上側ハウジング21の内側面(主面)21Bに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。内側撮像部24は、所定の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
3D調整スイッチ25は、スライドスイッチであり、上述のように上側LCD22の表示モードを切り替えるために用いられるスイッチである。また、3D調整スイッチ25は、上側LCD22に表示された立体視可能な画像(立体画像)の立体感を調整するために用いられる。3D調整スイッチ25のスライダ25aは、所定方向(上下方向)の任意の位置にスライド可能であり、当該スライダ25aの位置に応じて上側LCD22の表示モードが設定される。また、スライダ25aの位置に応じて、立体画像の見え方が調整される。具体的には、スライダ25aの位置に応じて、右目用画像および左目用画像の横方向の位置のずれ量が調整される。
3Dインジケータ26は、上側LCD22が立体表示モードか否かを示す。3Dインジケータ26は、LEDであり、上側LCD22の立体表示モードが有効の場合に点灯する。なお、3Dインジケータ26は、上側LCD22が立体表示モードになっており、かつ、立体視画像を表示するプログラム処理が実行されているときに限り、点灯するようにしてもよい。
また、上側ハウジング21の内側面には、スピーカ孔21Eが設けられる。後述するスピーカ43からの音声がこのスピーカ孔21Eから出力される。
(ゲーム装置10の内部構成)
次に、図3を参照して、ゲーム装置10の内部の電気的構成について説明する。図3は、ゲーム装置10の内部構成を示すブロック図である。図3に示すように、ゲーム装置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等を含む情報処理手段である。情報処理部31のCPU311は、ゲーム装置10内のメモリ(例えば外部メモリI/F33に接続された外部メモリ44やデータ保存用内部メモリ35)に記憶されているプログラムを実行することによって、当該プログラムに応じた処理を実行する。なお、情報処理部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.11b/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には、LED16(16A、16B)が接続される。情報処理部31は、LED16を用いて、ゲーム装置10の電源のON/OFF状況をユーザに通知し、又、ゲーム装置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に対する入力に従った処理を実行する。
アナログスティック15は情報処理部31に接続される。アナログスティック15から情報処理部31へは、アナログスティック15に対するアナログ入力(操作方向及び操作量)を示す操作データが出力される。情報処理部31は、アナログスティック15から操作データを取得することによって、アナログスティック15に対する入力に従った処理を実行する。
下側LCD12および上側LCD22は情報処理部31に接続される。下側LCD12および上側LCD22は、情報処理部31(のGPU312)の指示に従って画像を表示する。本実施形態では、情報処理部31は、上側LCD22に立体視画像(立体視可能な画像)を表示させる。
具体的には、情報処理部31は、上側LCD22のLCDコントローラ(図示せず)と接続され、当該LCDコントローラに対して視差バリアのON/OFFを制御する。上側LCD22の視差バリアがONになっている場合、情報処理部31のVRAM313に格納された右目用画像と左目用画像とが、上側LCD22に出力される。より具体的には、LCDコントローラは、右目用画像について縦方向に1ライン分の画素データを読み出す処理と、左目用画像について縦方向に1ライン分の画素データを読み出す処理とを交互に繰り返すことによって、VRAM313から右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素を縦に1ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側LCD22の画面に表示される。そして、上側LCD22の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側LCD22の画面には立体視可能な画像が表示される。
外側撮像部23および内側撮像部24は、情報処理部31に接続される。外側撮像部23および内側撮像部24は、情報処理部31の指示に従って画像を撮像し、撮像した画像データを情報処理部31に出力する。
3D調整スイッチ25は、情報処理部31に接続される。3D調整スイッチ25は、スライダ25aの位置に応じた電気信号を情報処理部31に送信する。
また、3Dインジケータ26は、情報処理部31に接続される。情報処理部31は、3Dインジケータ26の点灯を制御する。例えば、情報処理部31は、上側LCD22が立体表示モードである場合、3Dインジケータ26を点灯させる。以上がゲーム装置10の内部構成の説明である。
(本実施形態における特徴的動作の概要)
次に、図4及び図5を参照して、本実施形態における特徴的動作の概要について説明する。図4及び図5は、立体視表示によって、オブジェクトがユーザに向かって飛び出して視認される場合の例を示す図である。なお、図4及び図5において、(1)は、立体視表示を行うディスプレイをユーザが視認している状況を上方から見た概念図であり、(2)は、ユーザが視認する(1)の状況のディスプレイを示す図である。
図4(1)に示すように、ディスプレイによって、オブジェクトA、B及びCが、画面からユーザに向かって飛び出してくるように立体視表示されている。具体的には、ディスプレイによって、オブジェクトAは画面上よりもユーザに近い位置に視認される視差で表示され、オブジェクトCはオブジェクトAよりもユーザに近い位置に視認される視差で表示され、オブジェクトBはオブジェクトCよりもユーザに近い位置に視認される視差で表示されている。ここで、極端に大きく手前に飛び出して視認されるような視差で(つまり、極端に大きい視差で)オブジェクトが表示された場合、ユーザは、このオブジェクトを視認しづらくなる場合がある。具体的には、ユーザは、大きく飛び出してくるオブジェクトC及び更に大きく飛び出してくるオブジェクトBを、図4(2)に例示するように、各オブジェクトを2つにぶれた画像として視認してしまう場合がある。
そこで、本実施形態では、上側LCD22によって所定位置よりも手前に飛び出してくるように立体視表示されるオブジェクトについて、飛び出してくる程度を緩和する。具体的には、図5(1)に示すように、図4(1)に示したオブジェクトC及びBの飛び出してくる程度(つまり、視差)を、それぞれ緩和する補正を行う。なお、図5(1)において、オブジェクトの補正前の位置を点線で示している。このことによって、本実施形態では、図5(2)に示すように、オブジェクトA、B及びCを、ユーザに見やすく立体視させることができる。また、本実施形態では、図5(2)から解るように、各オブジェクト間の奥行き方向の位置関係を、補正の前後で崩すことなく、補正が行われる。また、本実施形態では、オブジェクトを形成する頂点毎に視差を緩和する処理を行って上記補正を行う。このことから、例えば、大きなオブジェクト(大きな奥行きを持つオブジェクト)が大きく飛び出してくる場合であっても自然で最適な補正を行うことができる。
(画像処理の詳細)
次に、ゲーム装置10によってゲーム処理が実行される際に行われる画像処理の詳細を説明する。まず、ゲーム処理の際にメインメモリ32に記憶されるデータについて説明する。図6は、ゲーム装置10のメインメモリ32のメモリマップに一例を示す図である。図6に示すように、メインメモリ32は、プログラム記憶領域400およびデータ記憶領域500を含む。プログラム記憶領域400およびデータ記憶領域500のデータの一部は、例えば外部メモリ44に記憶されており、ゲーム処理の実行時にはメインメモリ32に読み込まれて記憶される。
プログラム記憶領域400には、後述する図8に示すフローチャートの処理を実行するゲーム処理プログラム401や、後述する図9に示すフローチャートの処理を実行する描画処理プログラム402等のプログラムが記憶される。
データ記憶領域500には、操作データ501、仮想カメラデータ502、深度閾値データ506、ブレンド値決定式データ507、及びオブジェクトデータ508等が記憶される。
操作データ501は、各操作ボタン14A〜E、G〜H、アナログスティック15及びタッチパネル13に対して行われたユーザの操作を示すデータである。この操作データ501は、例えば、ユーザがプレイヤオブジェクトを移動させる操作を示すデータでる。
仮想カメラデータ502は、仮想左カメラデータ503、仮想右カメラデータ504、及び仮想中間カメラデータ505等を含む。
仮想左カメラデータ503は、ユーザの左目に見せるための左目用画像を撮像(描画)する仮想左カメラ50に関するデータであり、ゲームが展開される仮想3次元空間における仮想左カメラ50の位置、撮像方向、及び撮像画角等を示すデータである。
仮想右カメラデータ504は、ユーザの右目に見せるための右目用画像を撮像(描画)する仮想右カメラ51に関するデータであり、ゲームが展開される仮想3次元空間における仮想右カメラ51の位置、撮像方向、及び撮像画角等を示すデータである。
仮想中間カメラデータ505は、図4及び図5を用いて説明した視差の補正を行うために用いられる仮想中間カメラ52に関するデータであり、ゲームが展開される仮想3次元空間における仮想中間カメラ52の位置及び撮像方向等を示すデータである。
なお、仮想左カメラ50、仮想右カメラ51及び仮想中間カメラ52の位置関係については、図10を用いて後に説明する。また、これら3つの仮想カメラは、1つの仮想カメラが位置等を切り替えて撮像(描画)を行うことによって、実質的にこれら3つの仮想カメラとして機能しているものと考えてもよい。
深度閾値データ506は、仮想中間カメラ52のビュー座標系におけるz座標値(仮想中間カメラ52からの深度と考えてもよい)に設定される深度閾値DTを示すデータである。なお、本実施形態では、一例として、深度閾値DT=10.0とする。深度閾値DTについては、後に図12を用いて具体的に説明する。
ブレンド値決定式データ507は、図4及び図5を用いて説明した視差の補正を行うために用いられるブレンド値dと、仮想中間カメラ52のビュー座標系(ビュー空間)におけるz座標値との関係を規定する数式(ブレンド値決定式)を示すデータである。図7は、ブレンド値決定式の一例をグラフで表した図である。図7に示すように、ブレンド値dは、上記z座標値が深度閾値DT(10.0)以上である場合に最大値(1.00)であり、このz座標値が深度閾値DTから減少すると共に線形的に減少し、クランプ値(0.35)に達するとこのz座標値の減少に関わらずそれ以上は減少しない(固定される)。なお、クランプ値が設けられるのは、各オブジェクトが飛び出して視認される程度(視差の大きさ)を緩和する補正によって、各オブジェクトの前後間の位置関係が崩れることを防止するためである。なお、ブレンド値決定式は、図7に示す関係を規定するテーブルに置き換えられてもよい。
オブジェクトデータ508は、プレイヤオブジェクトデータ509、ノンプレイヤオブジェクトデータ510、及び他オブジェクトデータ511を含む。
プレイヤオブジェクトデータ509は、仮想3次元空間におけるプレイヤオブジェクトの位置、向き、形状(ポリゴン形状)、及び色彩(テクスチャ)等を示すデータである。
ノンプレイヤオブジェクトデータ510は、仮想3次元空間におけるノンプレイヤオブジェクトの位置、向き、形状(ポリゴン形状)、及び色彩(テクスチャ)等を示すデータである。なお、ノンプレイヤオブジェクトは、例えば、敵オブジェクトや道具オブジェクトである。
他オブジェクトデータ511は、仮想3次元空間における他オブジェクトの位置、向き、形状(ポリゴン形状)、及び色彩(テクスチャ)等を示すデータである。なお、他オブジェクトは、例えば、建物オブジェクトや背景オブジェクトである。
次に、図8を参照して、ゲーム装置10によって実行されるゲーム処理のフローについて簡単に説明する。ゲーム装置10の電源が投入されると、ゲーム装置10のCPU311は、データ保存用内部メモリ35等に記憶されている起動プログラムを実行し、これによってメインメモリ32等の各ユニットが初期化される。そして、外部メモリ44に記憶されたゲーム処理プログラム401等がメインメモリ32に読み込まれ、CPU311によってゲーム処理プログラム401が実行される。
図8は、CPU311によって実行されるゲーム処理のフローチャートの一例である。図8のフローチャートで示す処理は、1フレーム(例えば1/60秒)毎に繰り返し実行される。なお、以下の説明では、本発明とは直接関連しない処理についての説明は省略する。
まず、ステップS1において、CPU311は、ゲーム処理を実行してゲームを進行させる。具体的には、CPU311は、オブジェクトデータ508に従って仮想3次元空間にプレイヤオブジェクト、ノンプレイヤオブジェクト、及び他オブジェクト等を配置し、仮想カメラデータ502に従って仮想3次元空間に仮想左カメラ、仮想右カメラ及び仮想中間カメラを配置し、操作データ501に従ってプレイヤオブジェクトを制御してゲームを進行させる。ここで、図10に示すように、仮想中間カメラ52を中心として、矢印60Cで示す仮想中間カメラ52の撮像方向と垂直な方向に、仮想左カメラ50及び仮想右カメラ51が配置される。仮想中間カメラ52と仮想左カメラ50との間隔と、仮想中間カメラ52と仮想右カメラ51との間隔とは同一である。また、仮想中間カメラ52及び仮想左カメラ50の撮像方向60L及び60Rは、仮想右カメラ51の撮像方向60Cと、それぞれ同一である。また、仮想中間カメラ52の位置を点OCで示し、仮想左カメラ50の位置を点OL示し、仮想右カメラ51の位置を点ORで示す。そして、仮想中間カメラ52、仮想左カメラ50及び仮想右カメラ51(以下、これらを総称して仮想カメラという場合がある)を用いて、撮像対象のオブジェクト53が撮像(描画)される。D0は、左目用画像の表示位置と右目用画像の表示位置との差がゼロとなる深度であり、この深度が示す位置に在るオブジェクトはディスプレイ面(上側LCD22の表示面)上に視認される(つまり、飛び出したようにも引っ込んだようにも見えない)。ここで、深度とは、仮想カメラからの当該仮想カメラの撮像方向における距離であり、具体的には、後述する図13及び図14等における仮想カメラ(50〜51)のビュー座標系のz座標値によって規定される距離である。80Lは仮想左カメラ50が描画する領域を示し、80Rは仮想右カメラ51が描画する領域を示す。そして、深度D0の位置にスクリーン(投影面)が在るとした場合において、仮想左カメラ50によって描画された画像70Lのうちの領域75が切り取られて上側LCD22に左目用画像として表示され、仮想右カメラ51によって描画された画像70Rのうちの領域75が切り取られて上側LCD22に右目用画像として表示される。また、ステップS1の処理において、CPU311は、所定のオブジェクトについては、図4及び図5を用いて説明した視差を緩和する処理(図9を用いて後述するステップS15〜S18の処理)の対象とならないように、仮想カメラから常に所定の距離(後述する深度閾値DT)以上離れるように位置関係を制御する。なお、この所定のオブジェクトは、例えば、プレイヤによって操作されるプレイヤオブジェクトや、背景オブジェクトである。その後、処理はステップS2に移る。
ここで、ステップS2及びS3の処理は、GPU312が描画処理プログラム402を実行することによって、ステップS1の処理によってゲームが進行している仮想3次元空間(ゲーム空間)を仮想カメラで描画して上側LCD22に表示させる処理である。
ステップS2において、GPU312は、座標変換処理を行う。図9は、GPU312によって実行される描画処理における座標変換処理のフローチャートの一例である。以下、図9を用いて、ステップS2の座標変換処理について詳細に説明する。
まず、ステップS11において、GPU312は、描画対象として、座標変換処理が行われていないオブジェクトを1つ選択する。その後、処理はステップS12に移る。
ステップS12において、GPU312は、ステップS11で選択したオブジェクトを構成する座標変換処理が行われていない頂点P(ワールド空間における頂点)を、1つ選択する。その後、処理はステップS13に移る。
ステップS13において、GPU312は、図11に例示するように、仮想中間カメラ52によって、S12で選択した頂点Pの深度DPを算出する。言い換えると、GPU312は、仮想中間カメラ52のビュー空間における頂点Pのz座標を算出する。なお、ビュー空間は、ビューイング空間又はカメラ空間と言われる場合もあり、ビュー空間を規定する座標系をビュー座標系と呼ぶ。その後、処理はステップS14に移る。
ステップS14において、GPU312は、深度閾値データ506を参照して、ステップS13で算出した深度DPが深度閾値DTよりも小さいか否かを判定する。ここで、図12に例示するように、深度閾値DTは、ディスプレイ面(上側LCD22の表示面)上に視認される位置(D0)から、仮想中間カメラ52に所定距離近づいた位置の深度を示す値である。以下では、一例として、ディスプレイ面(上側LCD22の表示面)上に視認される位置の深度D0を「15.0」とし、深度閾値DTを「10.0」として説明を行う。ステップS14での判定がYESの場合(つまり、図12(2)に示す位置関係の場合)、処理はステップS15に移り、この判定がNOの場合(つまり、図12(1)に示す位置関係の場合)、処理はステップS19に移る。
ステップS15において、GPU312は、ステップS12で選択した頂点Pを、仮想中間カメラ52のビュー空間における頂点P1に変換(ビュー変換)する。ここで、ステップS13の処理によって、仮想中間カメラ52のビュー空間における頂点P1のz座標は既に算出されているので、GPU312は、仮想中間カメラ52のビュー空間における頂点P1のx座標及びy座標を算出する処理を行うことによって、このビュー変換を行う。図13は、ステップS15の処理を説明するための図である。図13に示すように、図12(2)に示したワールド空間における頂点Pは、仮想中間カメラ52のビュー空間におけるP1に変換されている。以下では、一例として、頂点P1の座標を(−1.0,1.5,8.5)として説明を行う。その後、処理はステップS16に移る。
ステップS16において、GPU312は、ステップS12で選択した頂点Pを、仮想左カメラ50のビュー空間における頂点P2に変換(ビュー変換)し、又、この頂点Pを、仮想右カメラ51のビュー空間における頂点P3に変換(ビュー変換)する。図14は、ステップS16の処理を説明するための図である。図14に示すように、図12(2)に示したワールド空間における頂点Pは、仮想左カメラ50のビュー空間におけるP2に変換され、また、この頂点Pは、仮想右カメラ51のビュー空間におけるP3に変換される。ここで、仮想左カメラ50、仮想右カメラ51及び仮想中間カメラ52は図10を用いて説明した位置関係にあるので、P2のx座標値はP1のx座標値よりも所定の値(仮想左カメラ50と仮想中間カメラ52との間隔)だけ大きい値となり、P3のx座標値はP1のx座標値よりも所定の値(仮想左カメラ50と仮想中間カメラ52との間隔)だけ小さい値となる。ここで、本実施形態では、仮想左カメラ50と仮想中間カメラ52との間隔、及び仮想左カメラ50と仮想中間カメラ52との間隔を、何れも「1.0」とする。この様にすると、P2の座標は(0.0,1.5,8.5)となり、P3の座標は(−2.0,1.5,8.5)となる。その後、処理はステップS17に移る。
ステップS17において、GPU312は、ステップS15で求めた頂点P1とステップS16で求めた頂点P2とをブレンド値bを用いて補間(ブレンド)して、仮想左カメラ50のビュー座標における補正頂点P4を算出する。また、ステップS17において、GPU312は、ステップS15で求めた頂点P1とステップS16で求めた頂点P3とをブレンド値bを用いて補間(ブレンド)して、仮想右カメラ51のビュー座標における補正頂点P5を算出する。このことによって、結果として、オブジェクトの飛び出してくる程度(視差の大きさ)が緩和されることとなる。以下、具体的に説明する。
まず、仮想左カメラ50のビュー座標における補正頂点P4を算出する手順について、説明する。GPU312は、ブレンド値決定式データ507が示すブレンド値決定式(図7参照)を用いて、図15に示すように、頂点P1のz座標値「8.5」に対応するブレンド値dとして「0.85」を決定する。
ここで、GPU312は、ブレンド値dに応じて、頂点P2のx座標値をどの程度頂点P1のx座標値に近付ける補正を行うかを決定する。具体的には、GPU312は、図16に示す直線Hに従って、上記補正の程度を決定する。図16から解るように、GPU312は、ブレンド値dが最大値「1.00」である場合には、頂点P2のx座標値を、補正頂点P4のx座標値として決定する。つまり、補正は行わない。また、GPU312は、ブレンド値dが最大値と最小値(クランプ値)「0.35」の間の値をとる範囲では、直線Hに従って、ブレンド値dが減少する程、頂点P1のx座標値に近づく値となるように、補正頂点P4のx座標値を決定する。つまり、補正の程度を直線的に増加させる。なお、図16に示すように、直線Hの傾きは、実際はブレンド値dはクランプ値よりも小さい値をとらないが、仮にブレンド値dが「0」となった場合には頂点P1のx座標値が補正頂点P4のx座標値として決定されることとなる傾きである。なお、図15に示すグラフにおけるブレンド値dのクランプ値は、図5を用いて説明したように、オブジェクトが飛び出してくる程度(視差の大きさ)を緩和する補正を行っても、各オブジェクトの前後間の位置関係が逆転する(崩れる)ことがない値に設定される。また、図15に示すグラフにおけるブレンド値dのクランプ値から最大値までの範囲のグラフの傾きと、図16に示す直線Hの傾きは、オブジェクトが飛び出してくる程度(視差の大きさ)を緩和する補正を行っても、各オブジェクトの前後間の位置関係が逆転することがない傾きに設定される。
GPU312は、図16を用いて上記した方法を用いて、ブレンド値「0.85」に対応する補正頂点P4のx座標値を算出する。この場合、GPU312は、図17から解るように、ブレンド値「0.85」に対応する補正頂点P4のx座標値「−0.15」を算出する。この結果として、GPU312は、ステップS15で求めた図13に示す頂点P1(−1.0,1.5,8.5)と、ステップS16で求めた図14(1)に示す頂点P2(0.0,1.5,8.5)とをブレンド値b「0.85」を用いて補間して、図19(1)に示すように、仮想左カメラ50のビュー座標における補正頂点P4(−0.15,1.5,8.5)を算出する。なお、頂点P1のy座標値及びz座標値と、頂点P2のy座標値及びz座標値とは、それぞれ同一なので(つまり補正されないので)、補正頂点P4のy座標値及びz座標値は、頂点P2のy座標値「1.5」及びz座標値「8.5」をそのまま使用することができる。
次に、仮想右カメラ51のビュー座標における補正頂点P5を算出する手順について、説明する。GPU312は、ブレンド値決定式データ507が示すブレンド値決定式(図7参照)を用いて、図15に示すように、頂点P1のz座標値「8.5」に対応するブレンド値dとして「0.85」を決定する。
GPU312は、図16を用いて上記した方法を用いて、ブレンド値「0.85」に対応する補正頂点P5のx座標値を算出する。この場合、GPU312は、図18から解るように、ブレンド値「0.85」に対応する補正頂点P5のx座標値「−1.85」を算出する。この結果として、GPU312は、ステップS15で求めた図13に示す頂点P1(−1.0,1.5,8.5)と、ステップS16で求めた図14(2)に示す頂点P3(−2.0,1.5,8.5)とをブレンド値b「0.85」を用いて補間して、図19(2)に示すように、仮想右カメラ51のビュー座標における補正頂点P5(−1.85,1.5,8.5)を算出する。なお、頂点P1のy座標値及びz座標値と、頂点P3のy座標値及びz座標値とは、それぞれ同一なので、補正頂点P5のy座標値及びz座標値は、頂点P3のy座標値「1.5」及びz座標値「8.5」をそのまま使用することができる。
以上のように、ステップS17において、GPU312は、仮想左カメラ50のビュー座標系において、図14(1)に示す頂点P2(0.0,1.5,8.5)を、図19(1)に示す頂点P4(−0.15,1.5,8.5)に補正する。また、GPU312は、仮想右カメラ51のビュー座標系において、図14(2)に示す頂点P3(−2.0,1.5,8.5)を、図19(2)に示す頂点P5(−1.85,1.5,8.5)に補正する。このことによって、頂点P2のx座標値(0.0)と頂点P3のx座標値(−2.0)との差「2.0」は、頂点P4のx座標値(−0.15)と頂点P5のx座標値(−1.85)との差「1.7」に減少する。この結果として、ステップS12で処理対象として選択された頂点Pは、左目用画像と右目用画像との間の視差を緩和(減少)されて、上側LCD22に表示されることとなる。言い換えれば、左目用画像における頂点Pはユーザから見て左方向に移動する補正を施され(図14(1)、図19(1)参照)、右目用画像における頂点Pはユーザから見て右方向に移動する補正を施され(図14(2)、図19(2)参照)、このことによって、頂点Pの左目用画像と右目用画像との間の視差が緩和(減少)されることとなる。その後、処理はステップS18に移る。
ステップS18において、GPU312は、ステップS17で算出した補正頂点P4の座標を、左目用画像のスクリーン座標に変換し、ステップS17で算出した補正頂点P5の座標を、右目用画像のスクリーン座標に変換する。つまり、GPU312は、補正頂点P4を左目用画像のスクリーンに描画し、補正頂点P5を右目用画像のスクリーンに描画する。その後、処理はステップS21に移る。
一方、ステップS19において、GPU312は、ステップS16と同様にして、ステップS12で選択した頂点Pを、仮想左カメラ50のビュー空間における頂点P2に変換(ビュー変換)し、又、この頂点Pを、仮想右カメラ51のビュー空間における頂点P3に変換(ビュー変換)する。ステップS19の処理は、ステップS16の処理と同一であるので、その説明を省略する。その後、処理はステップS20に移る。
ステップS20において、GPU312は、ステップS19で求めた頂点P2の座標を、左目用画像のスクリーン座標に変換し、ステップS19で求めた頂点P3の座標を、右目用画像のスクリーン座標に変換する。つまり、GPU312は、頂点P2を左目用画像のスクリーンに描画し、補正頂点P3を右目用画像のスクリーンに描画する。その後、処理はステップS21に移る。
ステップS21において、GPU312は、ステップS11で選択した処理対象のオブジェクトを構成する頂点の全てについて処理を実行したか否かを判定する。ステップS21での判定がYESの場合には処理はステップS22に移り、この判定がNOの場合には処理はステップS12に戻る。そして、処理がステップS12に戻った場合には、ステップS12において未処理の頂点Pが選択されて、この頂点Pについて処理が行われる。
ステップS22において、GPU312は、仮想カメラの撮像範囲内の全てのオブジェクトに対して処理を行ったか否かを判定する。ステップS22での判定がYESの場合には図9の座標変換処理は終了し処理は図8のステップS3に移り、この判定がNOの場合には処理はステップS11に戻る。そして、処理がステップS11に戻った場合には、ステップS11において未処理のオブジェクトが選択されて、このオブジェクトについて処理が行われる。ステップS21及びS22の判定処理が行われることによって、仮想カメラの撮像範囲内の全てのオブジェクトに対して、座標変換処理が行われることとなる。
図8のステップS3において、GPU312は、オブジェクトデータ508を参照して、ステップS2によって座標変換処理された頂点に基づいて、各オブジェクトを構成する多数のポリゴンにテクスチャを貼り付けて、左目用画像及び右目用画像を生成し、上側LCD22に出力する。このことによって、上側LCD22に立体視画像が表示されることとなる。その後、処理はステップS4に移る。
ステップS4において、CPU311は、ゲームが終了したか否かを判定する。具体的には、CPU311は、仮想3次元空間で進行しているゲームが所定の終了状態になったか否か、及び操作データ501に基づいてユーザがゲームを終了させる操作を行ったか否かを判定し、所定の終了状態になった場合又はゲームを終了させる操作が行われた場合(ステップS4でYES)には、ゲームを終了させる。一方、ステップS4でNOと判定した場合、CPU311は、処理をS1に戻す。
以上に説明したように、本実施形態によれば、上側LCD22によって所定位置よりも手前に飛び出してくるように立体視表示されるオブジェクトについて、左目用画像と右目用画像との間の視差を低減する補正を行うことによって、飛び出してくる程度を緩和する。また、本実施形態では、各オブジェクト間の奥行き方向の位置関係を、補正の前後で崩すことなく、補正が行われる。この結果として、オブジェクト間の前後関係が不適切に反転して視認されることがない。また、本実施形態では、オブジェクトを形成する頂点毎に視差を緩和する処理を行う。このことから、例えば、大きなオブジェクト(大きな奥行きを持つオブジェクト)が大きく飛び出してくる場合であっても、自然で最適な補正を行うことができる。以上のことから、本実施形態によれば、見易い立体視表示を実現することができる。
(変形例)
なお、以上に説明した本実施形態では、図12を用いて説明したように、深度閾値DTが、ディスプレイ面(上側LCD22の表示面)上に視認される位置(D0)よりも手前(仮想中間カメラ52側)の位置の深度を示す値である場合を、一例に挙げて説明した。しかし、深度閾値DTは、ディスプレイ面(上側LCD22の表示面)上に視認される位置よりも奥の位置の深度を示す値であってもよいし、このディスプレイ面上に視認される位置の深度を示す値をであってもよい。
また、本実施形態では、図15を用いて説明したように、ブレンド値dと深度DPとは線形関係として説明した。しかし、オブジェクトが飛び出してくる程度(視差の大きさ)を緩和する補正を行っても、各オブジェクトの前後間の位置関係が逆転する(崩れる)ことがないのであれば、この関係は線形関係でなくともよい。また、本実施形態では、図16を用いて説明したように、ブレンド値dと補正の度合いとの関係は、線形関係(直線H)として説明した。しかし、オブジェクトが飛び出してくる程度(視差の大きさ)を緩和する補正を行っても、各オブジェクトの前後間の位置関係が逆転することがないのであれば、この関係は線形関係でなくともよい。
また、本実施形態では、図8のステップS1で説明したように、所定のオブジェクト(プレイヤオブジェクト等)については、視差を緩和する処理(図9のステップS15〜S18の処理)の対象とならないように、仮想カメラから常に所定の距離(深度閾値DP)以上離れるように位置関係を制御されていた。しかし、図8のステップS1においてこの様な処理を行わず、図8のステップ2の座標変換処理(図9参照)において、上記所定のオブジェクトについて視差を緩和する処理の対象とならないようにしてもよい。具体的には、図20に示すように、図8のステップ2の座標変換処理を変形してもよい。図20のフローチャートは、図9のフローチャートのステップS12とステップS13との間に、ステップS30を追加したものである。図20のステップS30において、GPU312は、ステップS12で選択した頂点Pが、上記所定のオブジェクト(プレイヤオブジェクト等)ではない補正対象のオブジェクトの頂点であるか否かを判定する。この判定がYESの場合、処理はステップS13に移り補正処理が行われることとなる。一方、この判定がNOの場合、処理はステップS19に移り補正処理は行われないこととなる。
また、本実施形態では、上側LCD22に表示される立体視画像が、裸眼で立体視できる画像であるものとして説明した。しかし、上側LCD22には、立体視できる画像が表示されればよく、例えば、プレイヤが立体視用の眼鏡をかけることによって立体視できる画像(つまり、左目用画像と右目用画像とが時分割で交互に表示される画像)が表示されてもよい。
また、本実施形態では、図9のステップS17の処理によって、左目用画像及び右目用画像における描画対象オブジェクト(描画対象オブジェクトの頂点)の位置を、それぞれ補正した。しかし、左目用画像及び右目用画像における描画対象オブジェクト(描画対象オブジェクトの頂点)の位置の何れか一方のみを補正してもよい。
また、本実施形態では、図10を用いて説明したように、仮想左カメラ50によって描画された画像70Lのうちの領域75が切り取られて上側LCD22に左目用画像として表示され、仮想右カメラ51によって描画された画像70Rのうちの領域75が切り取られて上側LCD22に右目用画像として表示されるものとして説明した。しかし、図21に示すように、仮想左カメラ50によって描画される画像70Lが領域75と一致するように仮想左カメラ50の描画領域を予め設定し、又、仮想右カメラ51によって描画される画像70Rが領域75と一致するように仮想右カメラ51の描画領域を予め設定してもよい。この様にした場合、図10の場合とは異なり、描画後に領域75を切り出す処理が不要となる。
また、本実施形態では、仮想左カメラ50の撮像方向と仮想右カメラ51の撮像方向とは同一方向であるものとして説明した。しかし、仮想左カメラ50の撮像方向及び仮想右カメラ51の撮像方向は、同一方向ではなく、それぞれ、撮像対象のオブジェクト(より正確には、このオブジェクトを構成する処理対象の頂点)に向く方向であってもよい。
また、本実施形態は、本発明をゲーム装置10に適用したものであるが、本発明はゲーム装置10に限定されない。例えば、携帯電話機、簡易型携帯電話機(PHS)、PDA等の携帯情報端末にも本発明の適用は可能である。また、据え置き型ゲーム機やパーソナルコンピュータ等にも本発明の適用は可能である。
また、本実施形態では、1つのゲーム装置10で上述した処理を実行しているが、有線又は無線で通信可能な複数の装置で上記処理を分担してもよい。
また、本実施形態において、ゲーム装置1の形状や、それに設けられている各種操作ボタン14等、タッチパネル13の形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる値等は、単なる一例に過ぎず、本発明の範囲を逸脱しなければ他の順序や値であっても、本発明を実現できることは言うまでもない。
また、本実施形態のゲーム装置10において実行される各種情報処理プログラムは、外部メモリ44等の記憶媒体を通じてゲーム装置10に供給されるだけでなく、有線又は無線の通信回線を通じてゲーム装置10に供給されてもよい。また、上記プログラムは、ゲーム装置10内部の不揮発性記憶装置(データ保存用内部メモリ35等)に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、CD−ROM、DVD、或いはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ等であってもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを一時的に記憶する揮発性メモリでもよい。
以上、本発明を詳細に説明してきたが、上述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。
10 ゲーム装置
11 下側ハウジング
12 下側LCD
13 タッチパネル
14 操作ボタン
15 アナログスティック
16 LED
21 上側ハウジング
22 上側LCD
23 外側撮像部
23a 外側撮像部(左)
23b 外側撮像部(右)
24 内側撮像部
25 3D調整スイッチ
26 3Dインジケータ
28 タッチペン
31 情報処理部
32 メインメモリ
50、51、52 仮想カメラ
311 CPU
312 GPU
313 VRAM
また、立体視画像生成手段は、立体視画像を生成する際に、仮想カメラに近いオブジェクト程視差が大きくなるように、補正を行ってもよい。
まず、ステップS1において、CPU311は、ゲーム処理を実行してゲームを進行させる。具体的には、CPU311は、オブジェクトデータ508に従って仮想3次元空間にプレイヤオブジェクト、ノンプレイヤオブジェクト、及び他オブジェクト等を配置し、仮想カメラデータ502に従って仮想3次元空間に仮想左カメラ50、仮想右カメラ51及び仮想中間カメラ52を配置し、操作データ501に従ってプレイヤオブジェクトを制御してゲームを進行させる。ここで、図10に示すように、仮想中間カメラ52を中心として、矢印60Cで示す仮想中間カメラ52の撮像方向と垂直な方向に、仮想左カメラ50及び仮想右カメラ51が配置される。仮想中間カメラ52と仮想左カメラ50との間隔と、仮想中間カメラ52と仮想右カメラ51との間隔とは同一である。また、仮想カメラ5及び仮想左カメラ50の撮像方向60L及び60Rは、仮想中間カメラ5の撮像方向60Cと、それぞれ同一である。また、仮想中間カメラ52の位置を点OCで示し、仮想左カメラ50の位置を点OL示し、仮想右カメラ51の位置を点ORで示す。そして、仮想中間カメラ52、仮想左カメラ50及び仮想右カメラ51(以下、これらを総称して仮想カメラという場合がある)を用いて、撮像対象のオブジェクト53が撮像(描画)される。D0は、左目用画像の表示位置と右目用画像の表示位置との差がゼロとなる深度であり、この深度が示す位置に在るオブジェクトはディスプレイ面(上側LCD22の表示面)上に視認される(つまり、飛び出したようにも引っ込んだようにも見えない)。ここで、深度とは、仮想カメラからの当該仮想カメラの撮像方向における距離であり、具体的には、後述する図13及び図14等における仮想カメラ(50〜5)のビュー座標系のz座標値によって規定される距離である。80Lは仮想左カメラ50が描画する領域を示し、80Rは仮想右カメラ51が描画する領域を示す。そして、深度D0の位置にスクリーン(投影面)が在るとした場合において、仮想左カメラ50によって描画された画像70Lのうちの領域75が切り取られて上側LCD22に左目用画像として表示され、仮想右カメラ51によって描画された画像70Rのうちの領域75が切り取られて上側LCD22に右目用画像として表示される。また、ステップS1の処理において、CPU311は、所定のオブジェクトについては、図4及び図5を用いて説明した視差を緩和する処理(図9を用いて後述するステップS15〜S18の処理)の対象とならないように、仮想カメラから常に所定の距離(後述する深度閾値DT)以上離れるように位置関係を制御する。なお、この所定のオブジェクトは、例えば、プレイヤによって操作されるプレイヤオブジェクトや、背景オブジェクトである。その後、処理はステップS2に移る。
ステップS16において、GPU312は、ステップS12で選択した頂点Pを、仮想
左カメラ50のビュー空間における頂点P2に変換(ビュー変換)し、又、この頂点Pを
、仮想右カメラ51のビュー空間における頂点P3に変換(ビュー変換)する。図14は
、ステップS16の処理を説明するための図である。図14に示すように、図12(2)
に示したワールド空間における頂点Pは、仮想左カメラ50のビュー空間におけるP2に
変換され、また、この頂点Pは、仮想右カメラ51のビュー空間におけるP3に変換され
る。ここで、仮想左カメラ50、仮想右カメラ51及び仮想中間カメラ52は図10を用
いて説明した位置関係にあるので、P2のx座標値はP1のx座標値よりも所定の値(仮
想左カメラ50と仮想中間カメラ52との間隔)だけ大きい値となり、P3のx座標値は
P1のx座標値よりも所定の値(仮想左カメラ50と仮想中間カメラ52との間隔)だけ
小さい値となる。ここで、本実施形態では、仮想左カメラ50と仮想中間カメラ52との
間隔、及び仮想カメラ5と仮想中間カメラ52との間隔を、何れも「1.0」とする
。この様にすると、P2の座標は(0.0,1.5,8.5)となり、P3の座標は(−
2.0,1.5,8.5)となる。その後、処理はステップS17に移る。
ステップS17において、GPU312は、ステップS15で求めた頂点P1とステッ
プS16で求めた頂点P2とをブレンド値を用いて補間(ブレンド)して、仮想左カメ
ラ50のビュー座標における補正頂点P4を算出する。また、ステップS17において、
GPU312は、ステップS15で求めた頂点P1とステップS16で求めた頂点P3と
をブレンド値を用いて補間(ブレンド)して、仮想右カメラ51のビュー座標における
補正頂点P5を算出する。このことによって、結果として、オブジェクトの飛び出してく
る程度(視差の大きさ)が緩和されることとなる。以下、具体的に説明する。
GPU312は、図16を用いて上記した方法を用いて、ブレンド値「0.85」に対
応する補正頂点P4のx座標値を算出する。この場合、GPU312は、図17から解る
ように、ブレンド値「0.85」に対応する補正頂点P4のx座標値「−0.15」を算
出する。この結果として、GPU312は、ステップS15で求めた図13に示す頂点P
1(−1.0,1.5,8.5)と、ステップS16で求めた図14(1)に示す頂点P
2(0.0,1.5,8.5)とをブレンド値「0.85」を用いて補間して、図19
(1)に示すように、仮想左カメラ50のビュー座標における補正頂点P4(−0.15
,1.5,8.5)を算出する。なお、頂点P1のy座標値及びz座標値と、頂点P2の
y座標値及びz座標値とは、それぞれ同一なので(つまり補正されないので)、補正頂点
P4のy座標値及びz座標値は、頂点P2のy座標値「1.5」及びz座標値「8.5」
をそのまま使用することができる。
ステップS20において、GPU312は、ステップS19で求めた頂点P2の座標を
、左目用画像のスクリーン座標に変換し、ステップS19で求めた頂点P3の座標を、右
目用画像のスクリーン座標に変換する。つまり、GPU312は、頂点P2を左目用画像
のスクリーンに描画し、頂点P3を右目用画像のスクリーンに描画する。その後、処
理はステップS21に移る。

Claims (22)

  1. 立体視可能な立体視画像を生成する画像処理システムであって、
    オブジェクトが配置された仮想3次元空間を仮想カメラで撮像して、両画像間に視差が設けられた左目用画像及び右目用画像から成る立体視画像を生成する立体視画像生成手段と、
    前記立体視画像生成手段が生成した立体視画像を表示部に表示させる表示制御手段とを備え、
    前記立体視画像生成手段は、前記立体視画像を生成する際に、前記オブジェクトの視差を減少させる補正を行う、画像処理システム。
  2. 前記立体視画像生成手段は、前記立体視画像を生成する際に、前記仮想カメラからオブジェクトまでの距離に応じて当該オブジェクトの視差を減少させる補正を行う、請求項1に記載の画像処理システム。
  3. 前記立体視画像生成手段は、前記立体視画像を生成する際に、前記仮想カメラからオブジェクトまでの距離が近い程、当該オブジェクトの視差を多く減少させる補正を行う、請求項2に記載の画像処理システム。
  4. 前記立体視画像生成手段は、前記立体視画像を生成する際に、前記仮想カメラに近いオブジェクト程視差が小さくなるように、前記補正を行う、請求項2又は3に記載の画像処理システム。
  5. 前記立体視画像生成手段は、前記立体視画像を生成する際に、前記オブジェクトの前記左目用画像における位置をユーザから見て左方向に移動させる補正、及び/又は、当該オブジェクトの前記右目用画像における位置をユーザから見て右方向に移動させる補正を行うことによって、当該オブジェクトの視差を減少させる補正を行う、請求項1〜4の何れか1項に記載の画像処理システム。
  6. 前記立体視画像生成手段は、
    前記左目用画像を撮像する仮想左カメラと、前記右目用画像を撮像する仮想右カメラと、当該仮想左カメラと当該仮想右カメラとの間に配置される仮想中間カメラを用いて、
    前記立体視画像を生成する際に、オブジェクトの前記左目用画像における位置が、前記仮想左カメラに基づく位置と前記仮想中間カメラに基づく位置との間の位置となるように調整する補正、及び/又は、当該オブジェクトの前記右目用画像における位置が、前記仮想右カメラに基づく位置と当該仮想中間カメラに基づく位置との間の位置となるように調整する補正を行うことによって、当該オブジェクトの視差を減少させる補正を行う、請求項5に記載の画像処理システム。
  7. 前記立体視画像生成手段は、前記立体視画像を生成する際に、前記オブジェクトの前記左目用画像における位置が、前記仮想左カメラに基づく位置と前記仮想中間カメラに基づく位置とを当該仮想カメラから当該オブジェクトまでの距離に応じて補間した補間位置となるように調整する補正、及び/又は、当該オブジェクトの前記右目用画像における位置が、前記仮想右カメラに基づく位置と当該仮想中間カメラに基づく位置とを当該仮想カメラから当該オブジェクトまでの距離に応じて補間した補間位置となるように調整する補正を行うことによって、当該オブジェクトの視差を減少させる補正を行う、請求項6に記載の画像処理システム。
  8. 前記立体視画像生成手段は、前記立体視画像を生成する際に、前記オブジェクトの前記仮想カメラに対する相対位置を補正した後に当該仮想カメラによって当該オブジェクトを描画することによって、当該オブジェクトの視差を減少させる補正を行う、請求項1〜4の何れか1項に記載の画像処理システム。
  9. 前記立体視画像生成手段は、前記立体視画像を生成する際に、前記仮想カメラのビュー座標系における前記オブジェクトの位置を補正した後に当該仮想カメラによって当該オブジェクトを描画することによって、当該オブジェクトの視差を減少させる補正を行う、請求項8に記載の画像処理システム。
  10. 前記立体視画像生成手段は、前記立体視画像を生成する際に、前記オブジェクトの前記仮想カメラに対する相対位置を当該仮想カメラから見て左右方向にのみ補正した後に当該仮想カメラによって当該オブジェクトを描画することによって、当該オブジェクトの視差を減少させる補正を行う、請求項8に記載の画像処理システム。
  11. 前記立体視画像生成手段は、前記立体視画像を生成する際に、前記オブジェクトの仮想左カメラに対する相対位置及び当該オブジェクトの仮想右カメラに対する相対位置の少なくとも一方を補正した後に当該仮想左カメラ及び当該仮想右カメラによって当該オブジェクトを描画することによって、当該オブジェクトの視差を減少させる補正を行う、請求項8に記載の画像処理システム。
  12. 前記オブジェクトの前記仮想左カメラに対する相対位置の補正と、当該オブジェクトの前記仮想右カメラに対する相対位置の補正とは、補正の方向が相異なる、請求項11に記載の画像処理システム。
  13. 前記立体視画像生成手段は、前記立体視画像を生成する際に、前記仮想カメラによって前記オブジェクトを描画するために当該オブジェクトの当該仮想カメラに対する相対位置を一時的に補正して、当該オブジェクトの視差を減少させる補正を行う、請求項8に記載の画像処理システム。
  14. 前記立体視画像生成手段は、
    前記左目用画像を撮像する仮想左カメラと、前記右目用画像を撮像する仮想右カメラと、当該仮想左カメラと当該仮想右カメラとの間に配置される仮想中間カメラを用いて、
    前記左目用画像を生成する際に、前記仮想左カメラに対するオブジェクトの相対位置と前記仮想中間カメラに対する当該オブジェクトの相対位置との間で当該仮想カメラから当該オブジェクトまでの距離に応じて補間を行って補間位置を算出して当該補間位置を用いて当該仮想左カメラによって当該オブジェクトの描画を実行、及び/又は、
    前記右目用画像を生成する際に、前記仮想右カメラに対する前記オブジェクトの相対位置と前記仮想中間カメラに対する当該オブジェクトの相対位置との間で当該仮想カメラから当該オブジェクトまでの距離に応じて補間を行って補間位置を算出して当該補間位置を用いて当該仮想右カメラによって当該オブジェクトの描画を実行することによって、
    当該オブジェクトの視差を減少させる補正を行う、請求項2〜4の何れか1項に記載の画像処理システム。
  15. 前記立体視画像生成手段は、
    前記左目用画像を生成する際に、前記仮想左カメラに対するオブジェクトの各頂点の相対座標と前記仮想中間カメラに対する当該オブジェクトの各頂点の相対座標との間で当該仮想カメラから当該各頂点までの距離に応じて補間を行って補間座標を算出して当該補間座標を用いて当該仮想左カメラによって当該頂点の描画を実行、及び/又は、
    前記右目用画像を生成する際に、前記仮想右カメラに対する前記オブジェクトの各頂点の相対座標と前記仮想中間カメラに対する当該オブジェクトの各頂点の相対座標との間で当該仮想カメラから当該各頂点までの距離に応じて補間を行って補間座標を算出して当該補間座標を用いて当該仮想右カメラによって当該頂点の描画を実行することによって、
    当該オブジェクトの各頂点の視差をそれぞれ減少させる補正を行う、請求項14に記載の画像処理システム。
  16. 前記立体視画像生成手段は、前記立体視画像を生成する際に、前記仮想カメラからオブジェクトを構成する各頂点までの距離に応じて、当該各頂点の視差をそれぞれ減少させる補正を行う、請求項2〜13の何れか1項に記載の画像処理システム。
  17. 前記立体視画像生成手段は、前記立体視画像を生成する際に、前記仮想カメラからオブジェクトまでの距離が所定距離よりも小さくなった場合、当該オブジェクトの視差をそれ以上は減少させない、請求項2〜16の何れか1項に記載の画像処理システム。
  18. 前記立体視画像生成手段は、前記立体視画像を生成する際に、前記仮想カメラからオブジェクトまでの距離が所定距離よりも大きい場合、当該オブジェクトの視差を減少させる補正を行わない、請求項2〜17の何れか1項に記載の画像処理システム。
  19. 前記立体視画像生成手段は、前記立体視画像を生成する際に、補正対象のオブジェクトに対してのみ前記補正を行う、請求項1〜18の何れか1項に記載の画像処理システム。
  20. 立体視可能な立体視画像を生成する画像処理システムのコンピュータで実行される画像処理プログラムであって、
    前記コンピュータを、
    オブジェクトが配置された仮想3次元空間を仮想カメラで撮像して、両画像間に視差が設けられた左目用画像及び右目用画像から成る立体視画像を生成する立体視画像生成手段と、
    前記立体視画像生成手段が生成した立体視画像を表示部に表示させる表示制御手段として機能させ、
    前記立体視画像生成手段は、前記立体視画像を生成する際に、前記オブジェクトの視差を減少させる補正を行う、画像処理プログラム。
  21. 立体視可能な立体視画像を生成する画像処理方法であって、
    オブジェクトが配置された仮想3次元空間を仮想カメラで撮像して、両画像間に視差が設けられた左目用画像及び右目用画像から成る立体視画像を生成する立体視画像生成ステップと、
    前記立体視画像生成手段が生成した立体視画像を表示部に表示させる表示制御ステップとを備え、
    前記立体視画像生成ステップでは、前記立体視画像を生成する際に、前記オブジェクトの視差を減少させる補正を行う、画像処理方法。
  22. 立体視可能な立体視画像を生成する画像処理装置であって、
    オブジェクトが配置された仮想3次元空間を仮想カメラで撮像して、両画像間に視差が設けられた左目用画像及び右目用画像から成る立体視画像を生成する立体視画像生成手段と、
    前記立体視画像生成手段が生成した立体視画像を表示部に表示させる表示制御手段とを備え、
    前記立体視画像生成手段は、前記立体視画像を生成する際に、前記オブジェクトの視差を減少させる補正を行う、画像処理装置。
JP2010294469A 2010-12-29 2010-12-29 画像処理システム、画像処理プログラム、画像処理方法及び画像処理装置 Active JP5723149B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010294469A JP5723149B2 (ja) 2010-12-29 2010-12-29 画像処理システム、画像処理プログラム、画像処理方法及び画像処理装置
EP11194320.5A EP2472474B1 (en) 2010-12-29 2011-12-19 Image processing system, image processing program, image processing method and image processing apparatus
US13/329,984 US9113144B2 (en) 2010-12-29 2011-12-19 Image processing system, storage medium, image processing method, and image processing apparatus for correcting the degree of disparity of displayed objects

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010294469A JP5723149B2 (ja) 2010-12-29 2010-12-29 画像処理システム、画像処理プログラム、画像処理方法及び画像処理装置

Publications (2)

Publication Number Publication Date
JP2012141819A true JP2012141819A (ja) 2012-07-26
JP5723149B2 JP5723149B2 (ja) 2015-05-27

Family

ID=45491257

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010294469A Active JP5723149B2 (ja) 2010-12-29 2010-12-29 画像処理システム、画像処理プログラム、画像処理方法及び画像処理装置

Country Status (3)

Country Link
US (1) US9113144B2 (ja)
EP (1) EP2472474B1 (ja)
JP (1) JP5723149B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017203818A1 (ja) * 2016-05-23 2017-11-30 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP2019021057A (ja) * 2017-07-18 2019-02-07 株式会社カプコン ゲームプログラム及びゲームシステム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10178368B2 (en) * 2012-10-23 2019-01-08 Intuitive Surgical Operations, Inc. Stereo imaging system with automatic disparity adjustment for displaying close range objects
US20150035952A1 (en) * 2013-08-05 2015-02-05 Samsung Electronics Co., Ltd. Photographing apparatus, display apparatus, photographing method, and computer readable recording medium
US11017257B2 (en) * 2016-04-26 2021-05-25 Sony Corporation Information processing device, information processing method, and program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10188034A (ja) * 1996-12-28 1998-07-21 Olympus Optical Co Ltd 立体画像生成装置および距離演算装置
JPH11338457A (ja) * 1998-05-26 1999-12-10 Nippon Telegr & Teleph Corp <Ntt> 両眼視差式立体表示方法及び記録媒体
JP2005110120A (ja) * 2003-10-01 2005-04-21 Sharp Corp 立体画像表示装置および立体画像表示方法
JP2005295004A (ja) * 2004-03-31 2005-10-20 Sanyo Electric Co Ltd 立体画像処理方法および立体画像処理装置
JP2006178900A (ja) * 2004-12-24 2006-07-06 Hitachi Displays Ltd 立体画像生成装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003107603A (ja) 2001-09-28 2003-04-09 Namco Ltd 立体視画像生成装置、立体視画像生成情報および情報記憶媒体
US8369607B2 (en) * 2002-03-27 2013-02-05 Sanyo Electric Co., Ltd. Method and apparatus for processing three-dimensional images
JP4125252B2 (ja) 2004-03-02 2008-07-30 株式会社東芝 画像生成装置、画像生成方法、及び画像生成プログラム
JP2005353047A (ja) * 2004-05-13 2005-12-22 Sanyo Electric Co Ltd 立体画像処理方法および立体画像処理装置
JP4555722B2 (ja) * 2005-04-13 2010-10-06 株式会社 日立ディスプレイズ 立体映像生成装置
US8228327B2 (en) * 2008-02-29 2012-07-24 Disney Enterprises, Inc. Non-linear depth rendering of stereoscopic animated images
US9251621B2 (en) * 2008-08-14 2016-02-02 Reald Inc. Point reposition depth mapping
WO2010040146A1 (en) * 2008-10-03 2010-04-08 Real D Optimal depth mapping
US7899321B2 (en) * 2009-03-23 2011-03-01 James Cameron Stereo camera with automatic control of interocular distance
JP2011139281A (ja) * 2009-12-28 2011-07-14 Sony Corp 三次元画像生成装置、三次元画像表示装置、三次元画像生成方法およびプログラム
US20120069143A1 (en) * 2010-09-20 2012-03-22 Joseph Yao Hua Chu Object tracking and highlighting in stereoscopic images

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10188034A (ja) * 1996-12-28 1998-07-21 Olympus Optical Co Ltd 立体画像生成装置および距離演算装置
JPH11338457A (ja) * 1998-05-26 1999-12-10 Nippon Telegr & Teleph Corp <Ntt> 両眼視差式立体表示方法及び記録媒体
JP2005110120A (ja) * 2003-10-01 2005-04-21 Sharp Corp 立体画像表示装置および立体画像表示方法
JP2005295004A (ja) * 2004-03-31 2005-10-20 Sanyo Electric Co Ltd 立体画像処理方法および立体画像処理装置
JP2006178900A (ja) * 2004-12-24 2006-07-06 Hitachi Displays Ltd 立体画像生成装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017203818A1 (ja) * 2016-05-23 2017-11-30 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
US10834382B2 (en) 2016-05-23 2020-11-10 Sony Corporation Information processing apparatus, information processing method, and program
JP2019021057A (ja) * 2017-07-18 2019-02-07 株式会社カプコン ゲームプログラム及びゲームシステム

Also Published As

Publication number Publication date
US20120169723A1 (en) 2012-07-05
JP5723149B2 (ja) 2015-05-27
US9113144B2 (en) 2015-08-18
EP2472474A1 (en) 2012-07-04
EP2472474B1 (en) 2018-04-25

Similar Documents

Publication Publication Date Title
JP5689707B2 (ja) 表示制御プログラム、表示制御装置、表示制御システム、および、表示制御方法
US9001192B2 (en) Storage medium having stored therein stereoscopic image display program, stereoscopic image display device, stereoscopic image display system, and stereoscopic image display method
JP2012174237A (ja) 表示制御プログラム、表示制御装置、表示制御システム、及び表示制御方法
JP5689637B2 (ja) 立体視表示制御プログラム、立体視表示制御システム、立体視表示制御装置、および、立体視表示制御方法
JP5725902B2 (ja) 画像処理プログラム、画像処理装置、画像処理方法および画像処理システム
US9639972B2 (en) Computer-readable storage medium having stored therein display control program, display control apparatus, display control method, and display control system for performing display control of a display apparatus capable of stereoscopic display
US20130057574A1 (en) Storage medium recorded with program, information processing apparatus, information processing system, and information processing method
JP5876983B2 (ja) 表示制御プログラム、表示制御装置、表示制御方法および表示制御システム
JP5723149B2 (ja) 画像処理システム、画像処理プログラム、画像処理方法及び画像処理装置
US8872891B2 (en) Storage medium, information processing apparatus, information processing method and information processing system
JP2016001476A (ja) 表示制御プログラム、表示制御装置、表示制御システム、及び表示制御方法
JP5525924B2 (ja) 立体画像表示プログラム、立体画像表示装置、立体画像表示システム、および、立体画像表示方法
JP5770018B2 (ja) 表示制御プログラム、表示制御装置、表示制御方法及び表示制御システム
JP2012175358A (ja) 表示制御プログラム、表示制御装置、表示制御方法及び表示制御システム
JP5548038B2 (ja) 立体画像表示プログラム、立体画像表示装置、立体画像表示システム、および、立体画像表示方法
JP2014135771A (ja) 立体視表示制御プログラム、立体視表示制御システム、立体視表示制御装置、および、立体視表示制御方法
JP2012141753A (ja) 画像処理装置、画像処理プログラム、画像処理方法および画像処理システム
JP5541973B2 (ja) 立体画像表示プログラム、立体画像表示装置、立体画像表示システム、および、立体画像表示方法
JP5759797B2 (ja) 画像生成プログラム、画像生成方法、画像生成装置及び画像生成システム
JP5546960B2 (ja) 立体画像表示プログラム、立体画像表示装置、立体画像表示システム、および、立体画像表示方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141006

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150302

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150327

R150 Certificate of patent or registration of utility model

Ref document number: 5723149

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250