JP4772952B2 - 立体視画像生成装置及び情報記憶媒体 - Google Patents

立体視画像生成装置及び情報記憶媒体 Download PDF

Info

Publication number
JP4772952B2
JP4772952B2 JP2000257739A JP2000257739A JP4772952B2 JP 4772952 B2 JP4772952 B2 JP 4772952B2 JP 2000257739 A JP2000257739 A JP 2000257739A JP 2000257739 A JP2000257739 A JP 2000257739A JP 4772952 B2 JP4772952 B2 JP 4772952B2
Authority
JP
Japan
Prior art keywords
viewpoint
coordinate system
stereoscopic image
viewpoints
pixel
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.)
Expired - Fee Related
Application number
JP2000257739A
Other languages
English (en)
Other versions
JP2002073003A (ja
Inventor
雅亮 花田
克企 伊丹
篤 宮澤
源久 石井
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.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
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 Namco Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2000257739A priority Critical patent/JP4772952B2/ja
Publication of JP2002073003A publication Critical patent/JP2002073003A/ja
Application granted granted Critical
Publication of JP4772952B2 publication Critical patent/JP4772952B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、n眼式の立体視映像表示装置に表示するために、オブジェクト空間のn個の立体視画像を生成する立体視画像生成装置等に関する。
【0002】
【従来の技術】
近年では、コンピュータによって構築されたオブジェクト空間を立体的に表示する方法について様々な開発がなされている。この立体的な表示には、遠近感を幾何学的に計算する透視図法や陰影画法などの描写法によるものだけでなく、観察者の左右の目に意図的に異なる画像を認識させることによって両眼視差を引き起こし、立体視を実現するものもある。
【0003】
両眼視差とは、顔に対する両目の配置位置の違いによって生じるものであり、左右の目が認識する対象物の位置や形状のずれを意味する。例えば、図18に示すように、線分ABの端点A及びBと左右の目L及びRとの成す角の間に、∠ALB>∠ARBの関係が成り立つ場合、左目Lが認識する線分ABの長さと比較して、右目Rが認識する線分ABの長さは短くなる。このように、左右の目が異なる方向から同一の物体を同時に観察することによって物体を立体的に感じることができる。
【0004】
一般的に、1つの平面的なディスプレイによってこのような両眼視差を引き起こす奥行感のある立体視画像を表示するためには、右目用の画像と、左目用の画像との2種類の画像を生成し、生成した各々の画像が対応する目に視認されるように設定する。例えば、図19(a)に示すように、裸眼用の立体視映像表示装置(例えば、レンチキュラレンズ板を用いたもの)においては、表示する2種類の画像が打ち分けられて観察者の各目の位置で像を結ぶように設定する。したがって、コンピュータ上で構築したオブジェクト空間を立体視表示する場合には、単眼式の場合と異なり、左右の目に対応する視点をオブジェクト空間内に2つ設定し、それぞれの視点に基づく画像を生成する必要がある。
【0005】
すなわち、まず、オブジェクト空間の座標系であるワールド座標系における一方の視点位置を設定し、当該視点の視線方向を決定した後、ワールド座標系に設定された各オブジェクトを当該視点の位置及び視線方向に基づく視点座標系に変換する。そして、当該視点に対するオブジェクトの奥行に合わせた透視投影処理を実行することにより、2次元の画面座標系に変換する。更に、画面座標系に変換された各オブジェクトの色や表面特性をメモリから読み出して描画し、当該視点に基づく画像を生成する。続いて、他方の視点を一方の視点が配置された位置から人間の目の開きと対応する距離だけ離れた場所に設定し、一方の目に対して実行した処理と同等の処理を実行することにより、他方の視点に基づく画像を生成する。
【0006】
なお、以上のように、2種類の画像を左右の目にそれぞれ視認させて立体視映像を実現した場合、図19(a)に示すように、観察者の目の位置をA及びBの領域内に制限する必要がある。そこで、4眼式、5眼式、…といった具合に、ディスプレイに複数種類の画像を表示することによって、立体視映像の鑑賞領域を増加させることがある。具体的には、例えば、4眼式の立体視映像を実現するために、図19(b)に示すように、立体視映像表示装置に表示する4種類の画像が打ち分けられて、想定された視点位置A,B,C,Dで像を結ぶように設定する。このため、コンピュータによって構築されたオブジェクト空間の立体視映像を実現する場合には、鑑賞領域及び観察者の両眼間隔を想定し、それに応じた視点位置をオブジェクト空間内に設定し、それら複数の視点に基づく画像を生成する。
【0007】
【発明が解決しようとする課題】
このように、立体視画像を生成するためには、右目や左目、あるいは、より複数の目に対応する画像を生成しなければならず、その視点の数の増加に伴って、座標の変換処理や、メモリアクセスの回数が増加することとなる。したがって、例えば、プレーヤの入力指示に応じてリアルタイムに画像を生成するゲーム装置などに対して、多眼式の立体視画像を表示することは不向きであった。
【0008】
また、図18に示す線分ABを線分LRの垂直方向に平行移動させ、視点から遠ざける場合、∠ALBと∠ARBとの差は十分に小さくなるため、左右の目が各々で認識する線分ABの長さ、あるいは見え方の差が小さくなる。このように、両眼視差は、その視点位置から遠く離れた対象物に対しては、小さくなることが一般的である。すなわち、視点に対するオブジェクトの位置が遠いほど、各々の視点に基づいて描き出される画像に大差がなくなり、冗長的な処理を繰り返すこととなる。
【0009】
本発明の課題は、同等な計算、同じメモリへのアクセス等の処理を短絡化することによって、多眼式立体視画像を合理的に生成することである。
【0010】
【課題を解決するための手段】
上記課題を解決するための第1の発明は、n眼式の立体視映像表示装置に立体視画像を表示するために、オブジェクト空間の当該n個の画像を生成する立体視画像生成装置であって、前記オブジェクト空間内の仮視点の視線方向に対する前記オブジェクト空間内のオブジェクトの奥行情報を算出するための算出手段(例えば、図9に示すレンダリング部242)と、前記オブジェクトを前記仮視点に基づく平面座標系に変換するための変換手段(例えば、図9に示すジオメトリ部240)と、前記仮視点の視線方向と垂直な面内に前記仮視点と所与の間隔を隔てて配置された当該n個の視点1つ1つに対して、当該視点と前記仮視点の距離及び前記奥行情報に基づいて(例えば、発明の実施の形態における式(7)に基づいて)前記オブジェクトの前記平面座標系における座標をずらす処理を実行する(例えば、図9に示すレンダリング部242によって実行する)ことによって、当該n個の視点に対応するn個の画像を生成するための画像生成手段と、を備える立体視画像生成装置である
【0011】
また、第8の発明は、n眼式の立体視映像表示装置に立体視画像を表示するために、オブジェクト空間の当該n個の画像を生成するための情報を記憶した情報記憶媒体であって、前記オブジェクト空間内の仮視点の視線方向に対する前記オブジェクト空間内のオブジェクトの奥行情報を算出するための情報と、前記オブジェクトを前記仮視点に基づく平面座標系に変換するための情報と、前記仮視点の視線方向と垂直な面内に前記仮視点と所与の間隔を隔てて配置された当該n個の視点1つ1つに対して、当該視点と前記仮視点の距離及び前記奥行情報に基づいて前記オブジェクトの前記平面座標系における座標をずらす処理を実行することによって、当該n個の視点に対応するn個の画像を生成するための情報(例えば、図9に示す画像生成プログラム46)とを含むことを特徴とする情報記憶媒体である
【0012】
ここに、n眼式の立体視映像表示装置とは、両眼視差を与えるためのn種類の画像を並べたり、合成することによって表示し、各々の目にそれぞれの画像を視認させるものである。例えば、パララックス・バリア方式、レンチキュラ方式等があり、本発明は、これらの立体視映像表示装置を特定するものではない。また、立体視映像表示装置は、色眼鏡を用いたアナグリフ方式であってもよい。この場合には、各視点に対応する画像を、視点の位置に応じて赤あるいは緑をベースとする画像にそれぞれ変換する。
【0013】
また、n個の視点と仮視点とが全て所与の距離離れていることとしてもよいし、n個の視点の1つと仮視点との距離がゼロであってもよい。なお、仮視点との距離がゼロである視点に対応する画像は、仮視点に基づいて変換された画面座標系における各オブジェクトの座標をずらさずに生成する。また、オブジェクトとは、描画対象となるものを含み、ずらす処理の対象(単位)としては、画素単位、ポリゴンやスプライト単位、あるいはポリゴン群単位等、いずれのものであってもかまわない。
【0014】
この第1または第8の発明によれば、仮視点に基づいて2次元の平面座標系(画面座標系)に変換されたオブジェクトを、視点と仮視点との距離、及び、当該オブジェクトの奥行情報に基づいて、画面座標系上にずらして表示することとした。したがって、視点と仮視点との距離と、奥行情報を代入することによって両眼視差を引き起こすずれ量を算出するための関数を設定すれば、奥行感のある立体視画像を表示するための、n個の視点に対応する画像を簡単に生成することが可能となる。
【0015】
また、ワールド座標系から視点座標系へ、更に、平面座標系(例えば、発明の実施の形態における画面座標系)への変換処理(すなわち、ジオメトリ処理)を仮視点に基づいて1度実行するだけで、n個の画像を生成することが可能となる。このため、立体視映像を表示するために必要な複数の画像を、より高速に生成することができる。
【0016】
また、例えば、第1の発明における各処理をハードウェアによって実現する場合、1つの視点に基づく画像を生成するための回路をn個設けて並列に処理する方法と比較して、回路構成が小規模ですむ上に、ほぼ同等の処理速度でn個の画像を生成することができる。すなわち、1つの画像を生成するための回路スケールで、n個の回路によって並列に処理した場合とほぼ同等な速度で、同等な画像を生成することができる。更に、第8の発明のように、情報記憶媒体に記憶した情報によってn個の画像を生成することとすれば、処理を実行する装置の回路構成を選ぶことなくn個の画像を生成することができる。
【0017】
このように、立体視映像を実現するために必要なn個の画像を、同等な計算や同じ元絵メモリへのアクセス等を短絡化して生成することができるため、本発明は、リアルタイムな画像処理を必要とするゲーム装置等に対しても有効である。すなわち、例えば、プレーヤが操作する自キャラクタに視点が置かれ、視点位置が様々に変化するゲームにおいても、当該自キャラクタの移動に合わせて仮視点の位置や視線方向を変更することによって、仮視点の位置の変更に応じた、n個の視点に対応する画像を生成することができる。
【0018】
また、第2の発明として第1の発明の立体視画像生成装置において、前記画像生成手段は、前記変換手段により平面座標系に変換された前記オブジェクトの所与の部分毎に前記ずらす処理を行うこととしてもよい。なお、オブジェクトの所与の部分とは、当該オブジェクトを表現する画素、ポリゴンやスプライト、あるいはポリゴン群等、当該オブジェクトの任意の構成単位であってよい。
【0019】
この第2の発明によれば、平面座標系に変換されたオブジェクトを、オブジェクトの所与の部分毎にずらして描画することができる。例えば、1つのオブジェクトであっても、その厚みや形状に応じて部分毎に奥行情報が異なる。すなわち、オブジェクトの部分毎に仮視点からの奥行が異なる場合には、平面座標系においてずれるべき量も、オブジェクトの部分毎に異なることとなる。したがって、オブジェクトの部分毎にずらす処理を実行することにより、よりリアルな立体視映像を生成するための立体視画像を生成することが可能となる。
【0020】
なお、両眼視差は、両目が離れていることによって発生するものであり、各目によって認識される映像がずれる方向は、両目の配列と平行である。したがって、第3の発明として第1または第2の発明の立体視画像生成装置において、前記n個の視点は一列に配置され、前記画像生成手段は、前記n個の視点の列方向に則して画像を生成することとしてもよい。このため、ずらす方向に沿って描画処理を行うことが可能となり、処理の効率化を図れる。
【0021】
また、第1から第3の発明を迅速に実行するために、第4の発明として第1から第3のいずれかの発明の立体視画像生成装置において、前記オブジェクトを前記画像生成手段が描画するために必要となる元絵情報を、随時更新記憶するための一時記憶手段(例えば、図9に示す元絵バッファ244)を備えることとしてもよい。
【0022】
この第4の発明のように、平面座標系に変換したオブジェクトを一時記憶手段に記憶することとすれば、描画時に実行するずらす処理や色の補間処理を高速に実行することが可能となる。具体的には、座標変換やずらす処理を行う場合、各視点に応じて各オブジェクトをずらす方向及び量が異なるため、各視点に対応した描画の補間処理が必要となる。したがって、各視点に対応した描画を実行する度に、補間処理以前の元絵データが必要となる。このため、画像生成手段が補間処理を実行する際に、描画するために必要な元絵のデータを一時記憶手段に記憶しておくことによって、一般的に大容量で低速な元絵ROM(元絵データを記憶したROM)等へのアクセス回数を減らし、 効率的に描画処理を実行することが可能になる。また、補間処理を行わない場合であっても、元絵ROMが低速であったり、元絵ROMにSDRAMのような部品を使いアクセス手順に制約がある場合などは、元絵のデータを一時記憶手段に記憶しておくことによって効率的に描画処理を実行することが可能になる。
【0023】
また、n個の画像を生成する処理を、ずらす方向に合せたライン毎(例えば、走査線毎)に行ってもよい。したがって、第5の発明として第4の発明の立体視画像生成装置において、前記n個の視点は、水平方向に一列に配置され、前記一時記憶手段は、前記元絵情報の内、前記水平方向と平行な直線上の部分のみを記憶することとしてもよい。
【0024】
また、例えば、平面的なオブジェクトが、ワールド座標系において、仮視点の視線ベクトルに対して垂直に交わらずに斜めに存在するような場合、平面座標系に変換された当該オブジェクトは、その画素毎に持つべき奥行情報が異なる。すなわち、1つのオブジェクトであっても、その形状に応じて平面座標系においてずれるべき量も画素毎に異なる。したがって、第6の発明として第4または第5の発明の立体視画像生成装置において、前記画像生成手段は、前記オブジェクトに対して、生成する画像上における画素の単位で前記ずらす処理を行うと共に、色の補間処理を行うことによって前記オブジェクトに対応するn個の画像を生成することとしてもよい。
【0025】
また、仮視点の位置は、想定されるn個の視点それぞれに対して近いことが望まれる。したがって、第7の発明として第1から第6のいずれかの発明の立体視画像生成装置において、前記仮視点は、前記n個の視点の配列における中心に位置することとしてもよい。
【0026】
【発明の実施の形態】
以下に、本発明の好適な実施形態について図面を参照して説明する。なお、以下では、2眼式の立体視映像表示装置に出力するために2つの立体視画像を生成する方法について説明する。しかし、本発明は、これに限定されるものではなく、4眼式、5眼式等の多眼式の立体視映像表示装置に出力する立体視画像を生成するものとしても適用可能なものである。
【0027】
まず、本発明の原理について説明する。
図1は、両眼視差について説明するための図であり、右目Rと左目LをX軸上に並んで配置し、X軸に垂直かつ左右の目の略視線方向にZ軸を示す。同図において、左右の目が対象物T及びSを観察する場合、各対象物と各目との成す角∠TLS=αLと∠TRS=αR、あるいは、∠LTR=βTと∠LSR=βSは、それぞれ大きさが異なる。両眼視差とは、このように、対象物が反射する光のベクトルが左右の目に入り込む角度の違いによって生じるものであり、一般的に、αL−αR、あるいは、βS−βTによって定義される。また、両眼視差は、左右の目で認識する2つ以上の対象物の配置位置がずれて見えること、あるいは、1つの対象物を見た場合に、物体の形状が左右の目で異なって見えることによって顕著になる。
【0028】
なお、瞳孔距離R−L=Aと比較して、両目の中心点と対象物との距離が十分大きい場合には、両眼視差を次の近似によって表現することができる。
βS−βT≒A/Zs−A/Zt=Δθ …(1)
ここに、Zsは、対象物SのZ座標を、Ztは、対象物TのZ座標をそれぞれ示している。また、ここでは、近似式tanΘ≒Θ(Θ→0)の関係を利用した。このように、両目から見た対象物の奥行(Z座標)が十分に大きいと仮定すれば、両眼視差Δθを瞳孔間隔Aとその対象物の奥行Zから簡単に算出することができる。例えば、図2(a)に示すように、水平方向に並ぶ左右の目L、Rが認識する映像を、両目から距離d離れたスクリーン100上にそれぞれ投影した場合、2つの目が同一のスクリーン100上に認める1つの対象物102の像は、それぞれ水平方向にずれて投影される。この2つの像のずれる大凡の幅Δxは、式(1)に従って算出された両眼視差Δθと、両目とスクリーン100との距離dを掛け合わせる(d・Δθ)ことによって算出することが可能となる。
【0029】
また、同一のスクリーン上で対象物がずれる方向は、左右の目の配置と平行である。ただし、式(1)からわかるように、両眼視差Δθの符号は、図1において、対象物Sが対象物Tの手前にある場合と、奥にある場合とで異なる。すなわち、想定する注目位置に対して対象物が手前に存在するか、奥に存在するかに応じて、認識する像のずれる向きが変化する。例えば、投影するスクリーンの位置を想定注目位置とした場合、図2(b)に示すように、対象物102がスクリーン100よりも手前に存在する場合には、左目が認識する対象物102の像の位置よりも、右目が認識する対象物102の像の位置は、左寄りとなる。一方、対象物102がスクリーン100よりも奥に存在する場合には、図2(c)に示すように、左目が認識する対象物102の像の位置と比較して、右目が認識する対象物102の像の位置は、右寄りとなる。
【0030】
本発明は、上述の理論を利用したものである。すなわち、コンピュータによって構築したオブジェクト空間内を、2つの視点の中間となる位置(以下、これを仮視点という)から見た座標系に変換し、更に、この仮視点に基づく1つの画面座標系に変換する。そして、各オブジェクトの奥行に応じて両眼視差Δθを算出し、画面座標系に変換された各オブジェクトを算出した両眼視差Δθに基づいて水平方向にそれぞれずらすことによって2つの視点に基づく画像を生成する。
【0031】
例えば、図3に示すように、立方体500と四角錐502が置かれているオブジェクト空間を立体視表示するために、本発明に従って右目用の画像と左目用の画像とを生成する場合について説明する。まず、オブジェクト空間内に、仮視点を設定する。図4は、オブジェクト空間における仮視点504と立方体500、四角錐502との位置関係を示す平面図である。次いで、仮視点504に基づく視点座標系に変換し、仮視点に対する各オブジェクトの角度・向き等を計算すると共に、各オブジェクトを構成する頂点と仮視点との相対距離、すなわち、仮視点に対する各頂点の奥行情報を算出する。
【0032】
そして、仮視点504に基づいて、立方体500と四角錐502を1つのスクリーン上に透視投影変換することによって、画面座標系に変換する。図5(a)は、仮視点504に基づいて画面座標系に変換した立方体500と四角錐502の平面画像の一例を示す図である。これらの画面座標系に変換された各頂点を、それぞれの頂点について算出した奥行情報に基づいて両眼視差Δθ及びずれ量Δxを算出し、水平方向にそれぞれずらすことによって、左目用の立体視画像(b)と、右目用の立体視画像(c)を生成する。
【0033】
以上の原理に従えば、オブジェクト空間の座標系であるワールド座標系から視点座標系への変換処理や、視点座標系から画面座標系への変換処理が、1つの視点に基づく処理のみですむ。また、描画するオブジェクトの表面特性や色、輝度等は、視点によらず一定であるため、これらの情報を記憶したメモリへのアクセスも1度ですませることができる。したがって、視点数に合わせて並列に画像生成処理を実行する場合と異なり、同等の計算、同じメモリへのアクセス等の処理が1度ですむため、その分処理を高速化することができる。
【0034】
次に、両眼視差Δθを算出するための式(1)における、パラメータA(視点間距離)の設定について説明する。
図6は、オブジェクト空間に配置される仮視点504と、左右の目に対応する視点L及びRとの位置関係を説明するための図である。同図に示すように、左右の目に対応する2つの視点の中心に仮視点504を設定する。また、2つの視点を結ぶ線分は、仮視点504の視線と垂直に交わる画面座標系の水平軸と平行である。換言すれば、2つの視点は、画面座標系の水平軸と平行に、仮視点504から距離a隔てた位置に想定される。なお、視点間距離A=2aは、実空間における人間の平均瞳孔距離に基づいて設定、あるいは、算出する。
【0035】
図7は、視点間距離を算出する方法を説明するための図である。(a)は、オブジェクト空間内における仮視点O1と2つの視点L1,R1及び透視投影変換するためのスクリーン(以下、単に面600という)を示し、(b)は、実空間における左目L2、右目R2とその中心点O2、及びディスプレイ(以下、単に面602という)を示す。同図において、添字1は、オブジェクト空間を、添字2は、実空間を意味する。また、面600,602の中心点をOs1,2とし、仮視点及び目の中心点O1,2から面600,602に対する最大水平視野角を∠WLOWR=2θ1,2とする。更に、面600,602と仮視点O1及び両目の中心点O2との距離をd1,2と置く。なお、線分OOsは、必ずしも面600,602と垂直である必要はない。このため、OOs≧d1,2が成り立つ。
【0036】
図7(a)に示すオブジェクト空間において、点P1の位置に存在するオブジェクトは、視点R1に基づいて面600に投影した場合には、点P1Rの位置に、視点L1に基づいて投影した場合には、点P1Lの位置に投影される。この2つの点P1R、P1Lの差をΔS1とする。同様に、(b)に示す実空間において、面602から浮き出て点P2に見える像の光は、点P2Rから出射して右目R2に入射し、点P2Lから出射して左目L2に入射する。この2つの点P2R、P2Lの差をΔS2とする。また、点Pから線分OOsに対して面600,602と並行に下した直線との交点をP´とし、OP´=D,OsP´=ΔDとする。
【0037】
以上の設定の元で、次の比例関係が成り立つ。
ΔS1/A1=ΔD1/D1 …(2)、
ΔS2/A2=ΔD2/D2 …(3)、
ΔS1/ΔS2=d1tanθ1/d2tanθ2 …(4)、
また、立体視の条件として、
ΔD1/ΔD2=d1tanθ1/d2tanθ2 …(5)、
を加えることにより、以上の式(2)〜(5)によって、
(A2/d2)・D1tanθ1
=(A1/d1)・(d1tanθ1−ΔD1tanθ2) …(6)、
という関係式が導かれる。すなわち、オブジェクト空間における視点間距離A1は、実空間における左右の目の開きA2と、画角θ1、視野角θ2、各面に対する距離d1、d2によって決定することができる。なお、以上の計算では、点P1の位置が任意であるため、D1及びΔD1の値は、d1=D1+ΔD1を満たす範囲内で任意である。したがって、これらの値の設定によって、式(6)の関係が異なり、立体視映像が微妙に変化することとなるが、想定する注目点に合わせて設定するとよい。
【0038】
なお、式(1)では、一方の目を基準とした場合における、他方の目が認識する画像のずれる量を示した。しかし、本実施の形態では、仮視点を基準として、画面座標系に変換されたオブジェクトの位置を左右にずらすことによって、2種類の立体視画像を生成する。このため、式(1)を以下のように変形する。
ΔθL,R=(a/Zs)−(a/Zt)=(a/Zs)−b …(7)
ここに、ΔθL,Rは、仮視点から見たオブジェクトに対して、左右の目が認識するオブジェクトの視差角を意味し、aは、a=A1/2を満たす。また、対象物T、Sのいずれか一方を固定的に設定すればオブジェクトの奥行(Z座標)が与えられるだけで視差角ΔθL,Rを算出することが可能となる。したがって、Ztを仮視点とスクリーン(面600)との距離d1として固定し、定数b=a/Ztに置きかえる。そして、Zsに各オブジェクトの奥行値を代入することで、そのオブジェクトに対する視差角ΔθL,Rを算出することができる。
【0039】
また、画面座標系に変換された各オブジェクトを、2つの視点に対応させて左右にずらす量Δxは、上述の通り(d1・ΔθL,R)によって算出することができる。また、d1は、仮視点と透視投影スクリーンとの距離である。しかし、このように、全てのオブジェクトのずれ量Δxを距離d1によって算出した場合、画面中央近傍に存在するオブジェクトのずれ量Δxは、ほぼ正確に算出されるものの、画面の両端に存在するオブジェクトのずれ量Δxは、本来ずれるべき量と比較して小さくなる。このため、立体感にむらが生じ、画面の側部に表示される画像ほど、中央近傍に表示される画像と比較して立体感のない平面的なものとなる。この問題を避けるために、図8に示すように、透視投影スクリーン100上に透視投影された各オブジェクト1〜3を代表する座標点と、仮視点との間の距離k13を逐一算出し、各オブジェクトをΔx=(kn・ΔθL,R)ずらすようにしてもよい。
【0040】
次に、本発明を実現するための機能構成について説明する。なお、以下では、本発明をゲーム装置に適用する場合について説明する。また、表示方式としては、レンチキュラ方式によって表示することとする。すなわち、右目用の画像と、左目用の画像とを交互に合成した立体視画像を、レンチキュラレンズ板を備えるディスプレイに出力することによって、ディスプレイの各画素から出力される光に指向性を与え、右目用の画像が右目に、左目用の画像が左目に入射するように設定したものを用いることとする。また、描画対象となるオブジェクトは、ポリゴン群によって構成されるものとして説明する。しかし、本発明は、これらの事柄に限定されるものではない。
【0041】
図9は、本実施の形態を実現するための機能ブロックの一例を示す図である。同図において、機能ブロックは、操作部10と、処理部20と、表示部30と、記憶部40とから構成されている。
【0042】
操作部10は、プレーヤが操作データを入力するためのものであり、操作部10にて得られた操作データは、処理部20に出力される。
【0043】
処理部20は、システム全体の制御、システム内の各ブロックへの命令、ゲーム処理、画像処理、音処理等の各種処理を行うものであり、その機能は、各種プロセッサ(CPU、DSP等)、あるいはASIC(ゲートアレイ等)等のハードウェアや、所与のプログラムにより実現できる。また、処理部20には、主に、ゲーム演算部22、画像生成部24が含まれる。更に、画像生成部24は、ジオメトリ部240、レンダリング部242、元絵バッファ244、左目用バッファ246、右目用バッファ248、インターリーブ部250とから構成される。なお、これらの各機能ブロックそれぞれを、1つのCPU等によって実現する構成にしてもよいし、いくつかの機能ブロックを1つのCPU等によって構成してもよい。例えば、ゲーム演算部22とジオメトリ部240とを1つの回路によって実現することも可能である。あるいは、処理部20内の各機能ブロックそれぞれを、IC等を用いた個別の回路によって実現してもよい。
【0044】
ゲーム演算部22は、ゲームの進行処理、選択画面の設定処理、オブジェクト空間上での各オブジェクトやキャラクタの位置や向きを求める処理等の種々のゲーム処理を操作部10から入力される操作信号や、記憶部40から読み出すゲームプログラム42等に基づいて実行する。また、この際、オブジェクト空間上での仮視点の位置や視線方向、画角等を、ゲームの進行に応じて決定する処理を行う。具体的には、例えば、プレーヤが操作する自キャラクタの目線を想起せしめるゲーム画像を表示するゲームにおいては、自キャラクタの移動位置に応じて、すなわち、操作部10から入力される操作信号やゲームプログラム42に従って仮視点の位置、視線方向、画角等を決定する。
【0045】
そして、ゲーム演算部22は、決定したオブジェクト空間内のワールド座標系における描画対象となるオブジェクトのデータ、仮視点の座標、視線方向、画角等のデータを画像生成部24に出力する。
【0046】
画像生成部24は、ゲーム演算部22から入力される各種データに基づいて画像を生成する処理を実行するものであり、記憶部40内に記憶された画像生成プログラム46に従って処理を実行する。
【0047】
なお、画像生成部24に含まれる元絵バッファ244は、画面座標系に変換された各オブジェクト(あるいは、ポリゴン)の走査線上に対応する元絵情報を記憶するための1次元配列のメモリである。そして、この元絵バッファ244は、レンダリング部242によって指定されたオブジェクトの1ライン分の色データ(r、g、b)等を画面座標系における座標位置と対応付けて記憶する。また、左目用バッファ246、右目用バッファ248は、ディスプレイの各画素に対応する2次元配列のメモリであり、左目及び右目に対応する画像(フレーム)をそれぞれ記憶する。
【0048】
ジオメトリ部240は、ゲーム演算部22から入力されるオブジェクトの座標を、ワールド座標系から仮視点に基づく画面座標系に変換する。具体的には、ゲーム演算部22から入力されたオブジェクトをポリゴンの単位に分解し、各ポリゴンの頂点をワールド座標系から仮視点の座標及び視線方向に基づく視点座標系に変換する。すなわち、仮視点を原点とする座標系における各ポリゴンの頂点位置を算出し、仮視点からのポリゴンの見え方等を決定する。そして、仮視点に対する各ポリゴンの頂点の奥行情報(Z座標)を生成する。
【0049】
続いて、ジオメトリ部240は、視点座標系における各ポリゴンの各頂点の座標を、奥行情報を残したままで画面座標系に変換する。例えば、前方、後方クリッピングを行ってビューボリュームを設定すると、1つの透視投影スクリーンに対して、そのビューボリューム内の各オブジェクト(ここでは、各ポリゴン)を透視投影変換することにより画面座標系(x、y)に変換する。すなわち、ジオメトリ部240は、モデリングされたオブジェクトの各頂点座標をワールド座標系から視点座標系へ、更に、2次元の画面座標系へと座標変換処理を行う。このとき、ジオメトリ部240は、各座標変換処理において、ポリゴンの色やマッピングするテクスチャ等を特定するための属性を、ポリゴンの頂点の座標データに付加して変換の前後で引継ぎを行う。更に、画面座標系における各ポリゴンの各頂点の座標データに、生成した奥行情報を付加してレンダリング部242に出力する。
【0050】
レンダリング部242は、ジオメトリ部240から各ポリゴンの2次元座標データが入力されると、その入力されたポリゴンを左目用バッファ246及び右目用バッファ248にそれぞれ描画する。このとき、レンダリング部242は、画面座標系に変換された各ポリゴンの頂点座標に基づいて輪郭を構成し、更に当該ポリゴンの内部を画素単位に細分化する。また、当該ポリゴンの各頂点に付加された奥行情報から、当該ポリゴン内部に存在する全ての画素の奥行値zを算出する。そして、各画素の奥行値zに基づいてずれ量Δxを算出し、当該ポリゴンの面内に存在する画素毎に、算出したずれ量Δx分ずらして左目用バッファ246及び右目用バッファ248にそれぞれ描画する。
【0051】
具体的には、レンダリング部242は、図10に示すように、走査線単位で描画処理を実行する。すなわち、レンダリング部242は、画面座標系におけるポリゴンの輪郭を形成し、1ラインずつ(y軸毎に)描画する。このとき、走査線122上に存在するポリゴンの内部を画素単位に細分化する。そして、ポリゴンの頂点に付加された属性に基づいて元絵情報48を読み出して、走査線122に存在する各画素の色を決定し、元絵バッファ244内の対応する画素位置にその決定した色データを一時的に記憶させる。更に、走査線122上のポリゴン124に対応する各画素の奥行値zを算出する。そして、画素毎にずれ量Δxを求めると、各画素をそれぞれ左右にずらして、右目用バッファ246、左目用バッファ248の該当する走査線122上に描画する。
【0052】
詳細には、レンダリング部242は、ジオメトリ部240から描画対象となる全てのポリゴンの2次元座標データが入力されると、全てのポリゴンについてzソートする。例えば、各ポリゴンの頂点の奥行情報を比較し、その優先順位を決定する。優先順位とは、仮視点に対して近い位置に存在するポリゴンを優先的に表示するためにつける順位であり、仮視点から遠くに存在するポリゴン程、優先順位が低くなる。
【0053】
続いて、レンダリング部242は、各ポリゴンの優先順位を決定すると、走査線単位で優先順位の低いものから順に描画処理を実行する。まず、処理する走査線において最も優先順位の低いポリゴンを選出し、当該ポリゴンの各頂点に対応する元絵情報48を記憶部40から読み出す。そして、画面座標系における当該ポリゴンを画素単位に細分化し、当該ポリゴンの各頂点の元絵情報48に基づいて走査線上の各画素の色を決定する。更に、走査線上の画素の位置と、元絵バッファ244内の画素の位置とを対応付けて1ライン分の色データ(すなわち、当該ポリゴンの1ライン分の画像データ)を元絵バッファ244に記憶させる。なお、元絵バッファ244は、補完処理及びずらし処理を行う為に、画面の水平幅より大きいメモリ容量を持つことが望ましい。
【0054】
更に、レンダリング部242は、画面座標系における当該ポリゴンの各頂点に付加された奥行情報に基づいて、走査線上の当該ポリゴンに対応する画素1つ1つの奥行値zを算出する。例えば、平面方程式ax+by+cz+d=0を利用して、ポリゴンの奥行値zを、z=−(ax+by+d)/cによって算出することができる。更に、走査線上の計算においては、1画素(x)進む毎にΔz=−a/cだけ加算することによって各画素の奥行値を求めることができる。そして、各画素に対して算出した奥行値を式(7)に代入して、視差角ΔθL,Rを算出する。次いで、この視差角ΔθL,Rに、仮視点と透視投影スクリーンまでの距離d1を掛けることによって、当該ポリゴンに対応する1つの画素の水平方向へのずれ量Δxを算出する。このように、走査線上の当該ポリゴンに対応する全ての画素について、奥行値を算出し、更にずれ量Δxを算出する。
【0055】
次いで、レンダリング部242は、元絵バッファ244に記憶されたポリゴンの1ライン分の画像データを左目用バッファ246、左目用バッファ248に、それぞれ描画する。ただし、このとき、レンダリング部242は、元絵バッファ244に記憶された画像データを画素毎に算出したずれ量Δxだけ左右にずらして描画する。また、ずらす方向は、左目用バッファ246と、右目用バッファ248とで異なる。更に、ずらす方向は、視差角ΔθL,Rの値が正であるか負であるか、すなわち、該当するポリゴンの奥行が透視投影スクリーンに対して手前にあるか奥にあるかによって異なる。
【0056】
したがって、レンダリング部242は、まず、元絵バッファ244のデータが記憶された画素位置を読み出し、その画素について算出したずれ量Δxが正であるか負であるかを判定する。そして、その画素のデータを左目用バッファ246に描画する際には、元絵バッファ244内の画素のデータを、ずれ量Δxが正である場合には右に、負である場合には左に、画素位置をずらして左目用バッファ246内に書き込む。逆に、右目用バッファ248に描画する際には、ずれ量Δxが正である場合には左に、負である場合には右に画素位置をずらして書き込む。
【0057】
ただし、この場合、元絵バッファ244内に記憶された画素単位のデータを書き込む先が、必ずしも左目用バッファ246・右目用バッファ248(以下、描画先バッファという)の画素の位置に1対1に対応するわけではない。その1つの理由としては、仮視点と各オブジェクトとの位置関係に応じて、元絵情報を拡大縮小させたり、回転させたことに伴い、色の補間処理が必要になるためである。また、もう1つの理由としては、画素毎に算出した奥行値zに基づくずれ量Δxが、必ずしも画素単位の整数倍とは限らないためである。例えば、図11に示すように、元絵バッファ244内の画素130のずれ量がΔx=1.5であり、画素132のずれ量がΔx=1であり、画素134のずれ量がΔx=0.5である、といった具合に、各画素のずれ量Δxが整数でない場合がある。
【0058】
このため、レンダリング部242は、元絵バッファ244内の画像データを各描画先バッファに描画する際に、画素毎に色の補間処理を行う。すなわち、レンダリング部242は、元絵情報の拡大や縮小、回転に対応させて実行する色の補間処理と合わせて、各画素のずれ量Δxに伴う色の補間処理を実行する。例えば、図12(a)に示すように、元絵バッファ244上にある複数の画素の色データが、描画先バッファ140の1つの画素に寄与する場合には、寄与する度合に応じた色の合成処理を実行することによって当該画素の色を決定する。
【0059】
具体的には、まず、元絵バッファ244上の左側の画素から順に処理を実行する場合には、元絵バッファ244上の画素pの座標xにずれ量Δxを足した値(x+Δx)を整数値ηpと小数値ξpとに分割する。そして、描画先バッファの処理中の走査線上に存在する左から数えてηp番目の画素n(=ηp)について、画素情報Kpn=(1−ξ)×(rp、gp、bp)を算出する。次いで、描画先バッファの該当する走査線上における次の画素n+1に対して画素情報Kpn+1=ξ×(rp、gp、bp)を算出する。このように、元絵バッファ244内の画素pについて移動先を決定し、その画素pが移動先の画素nと重なる領域の度合に応じて画素pが移動先の画素nに与える色データの割合を決定する。更に、同様の処理を元絵バッファ244内の色データが記憶された全ての画素に対して実行する。
【0060】
そして、描画先バッファ内の該当する走査線上では、各画素nにつき、元絵バッファ244内の各画素pが当該画素nに寄与する割合に応じて、与えられた画素情報(色データ)を混ぜ合わせることによって当該画素nの色データを決定する。例えば、描画先バッファ内の画素nに対して、元絵バッファ244の画素p−1から小数値ξp-1によって算出された画素情報Kp-1nと、画素pから小数値ξpによって算出された画素情報Kpnと、画素p+1から小数値(1−ξp+1)によって算出された画素情報Kp+1nとが与えられた場合には、当該画素nの色データは、(rn、gn、bn)=(Kp-1n+Kpn+Kp+1n)/(ξp-1+ξp+(1−ξp+1))によって決定される。
【0061】
また、描画先バッファ内の1つの画素nに対して、元絵バッファ244内の画素pから小数値ξpによって算出された画素情報Kpnのみが与えられた場合、すなわち、1つの画素情報Kpnしか与えられなかった場合には、当該画素nの色データは、(rn、gn、bn)=(Kpn+0)/(ξp+(1−ξp))=Kpnとなる。なお、図12(b)に示すように、元絵バッファ244上の隣合う複数の画素の色データが、描画先バッファ140において、間欠的に分離して配置された場合には、色データが配置されなかった画素に対して、その隣接する画素の色データの平均色を与える。
【0062】
以上の処理によって、当該ポリゴンの1ライン分の描画処理を終了すると、当該走査線上における次に優先順位の低いポリゴンの描画処理を行う。この際、レンダリング部242は、描画先バッファに対して上書きをする。すなわち、先に描画したポリゴンと、これから描画するポリゴンとが、走査線上の画素において重なる場合には、先に記憶された色データを消去し、現在処理中のポリゴンの色データを該当する画素に記憶する。このように、次々と優先順位の低い順から1つの走査線上に存在するポリゴンの描画処理を実行し(上書きし)、走査線上の全てのポリゴンについて描画処理が終了すると、次の走査線について同様の処理を実行する。そして、レンダリング部242は、全ての走査線に対する処理を実行することにより、最終的に2種類(右目用と左目用)の画像を生成し、それぞれ左目用バッファ246及び右目用バッファ248に記憶する。更に、インターリーブ部250に対し、生成した2種類の画像データを合成する指示を出力する。
【0063】
インターリーブ部250は、レンダリング部242によって生成された左目及び右目用の2つの立体視画像をピクセル(画素)あるいはサブピクセル単位に交互に合成(インターリーブ)する処理を実行する。また、合成した画像データは、表示部30に出力される。
【0064】
表示部30は、画像生成部24(インターリーブ部250)から入力される画像データを表示画面に出力するものであり、透過型液晶パネル等に平板マイクロレンズ(レンチキュラレンズ)を装着したものによって実現できる。
【0065】
記憶部40は、ゲームプログラム42の他、視点間距離を設定するための式(6)や、視差角ΔθL,Rを算出するための式(7)といった関数データ44、後述する立体視画像生成処理を実行するための画像生成プログラム46、各オブジェクトの表面特性や色、輝度、明暗といった情報を記憶した元絵情報48、人の平均瞳孔距離A2やディスプレイの最大視野角θ2といった種々のパラメータ等を記憶している。なお、この記憶部40の機能は、CD−ROM、ゲームカセット、ICカード、MO、FD、DVD、メモリ、ハードディスク等のハードウェアにより実現できる。
【0066】
なお、元絵バッファ244は、小容量高速なメモリ(RAM等)により実現する。通常、元絵情報は、大容量低速のROM等に記憶されていることが一般的であるため、走査線上の元絵データを元絵バッファ244に記憶することによって、より高速に画像を生成することが可能となる。更に、一時的に元絵データを元絵バッファ244に記憶することによって、元絵データに基づく色の補間処理を実行する際に、視点の数と同数の画像を生成する際の元絵画素までのメモリアクセスの時間を軽減させることが可能となる。
【0067】
次に、ジオメトリ部240及びレンダリング部242が実行する立体視画像生成処理について図13に示すフローチャートに基づいて説明する。なお、本処理は、1フレームごとに実行するものである。
【0068】
図13において、ジオメトリ部240は、ゲーム演算部22からワールド座標系におけるオブジェクトの座標、仮視点の座標、画角、視線方向等のデータが入力されると、各オブジェクトをポリゴン単位に分解し、各ポリゴンの座標を当該仮視点の座標及び視線方向に基づく視点座標系に変換する(ステップS1)。
【0069】
次いで、ジオメトリ部240は、視点座標系に変換した各ポリゴンを透視投影変換することにより、各ポリゴンの奥行情報(Z座標)を残したままで画面座標系に変換する。更に、画面座標系に変換された各ポリゴンの頂点座標を、ディスプレイの各画素に対応するスクリーン座標系に変換し、各ポリゴンの2次元座標データを生成する。そして、ジオメトリ部240は、各ポリゴンの頂点座標に奥行情報を付加して(ステップS2)、レンダリング部242に出力する。
【0070】
レンダリング部242は、ジオメトリ部240から全てのポリゴンの2次元座標データが入力されると、zソートし(ステップS3)、各ポリゴンの優先順位を決定する。次いで、優先順位の低い順にポリゴンを選出し、当該ポリゴンの走査線に対応する部分の元絵情報48を記憶部40から読み出して、元絵バッファ244に書き込む(ステップS4)。そして、走査線上に存在する当該ポリゴンの各画素の奥行値zを算出し、各画素のずれ量Δxを算出する(ステップS5)。
【0071】
レンダリング部242は、画素毎のずれ量Δxを算出すると、左目用バッファ246に対して、元絵バッファ244上の各画素の色データを所与の方向にずらして、色の補間処理をしつつ上書きをする(ステップS6)。同様に、右目用バッファ248に対して、ずれ量Δxに基づいて所与の方向にずらして、色の補間処理をしつつ上書きをする(ステップS7)。
【0072】
そして、レンダリング部242は、走査線上の当該ポリゴンの描画処理を終了したか否かを判定し(ステップS8)、終了していなければステップS5に戻り、走査線上の当該ポリゴンの描画処理を行う。終了している場合には、走査線上の全てのポリゴンに対して描画処理が終了したか否かを判定し(ステップS9)、終了していない場合には、ステップS4に戻り、走査線上において次に優先順位の低いポリゴンの描画処理を実行する。
【0073】
一方、ステップS9において、該当する走査線上の全てのポリゴンに対する描画処理が終了した場合には、全ての走査線に対する描画処理が終了したかを判定し(ステップS10)、終了していない場合には、ステップS4に戻って次の走査線に対する描画処理を実行する。全ての走査線に対する処理が終了した場合には、本立体視画像生成処理を終了する。
【0074】
次に、本実施の形態をソフトウェア、すなわち、プログラムやデータ等に基づいて実現する場合におけるハードウェア構成の一例について、図14を用いて説明する。すなわち、以下では、図9に示す処理部20における各部の機能を実行するためのプログラムを情報記憶媒体に記憶し、CPUによって実現する場合について説明するが、本発明は、これに限定されるものではない。図14に示す装置では、CPU1000、ROM1002、RAM1004、情報記憶媒体1006、VRAM1026、音生成IC1008、ディスプレイコントローラ1010、I/Oポート1012、1014が、システムバス1016により相互にデータ入出力可能に接続されている。そして、ディスプレイコントローラ1010には、ディスプレイ1018が接続され、音生成IC1008には、スピーカ1020が接続され、I/Oポート1012には、コントロール装置1022が接続され、I/Oポート1014には、通信装置1024が接続されている。
【0075】
情報記憶媒体1006は、プログラム、表示物を表現するための画像データ、音データ、プレイデータ等が主に格納されるものである。例えば、家庭用ゲーム装置では、ゲームプログラム等を格納する情報記憶媒体として、CD−ROM、ゲームカセット、DVD等が用いられ、プレイデータを格納する情報記憶媒体としてメモリカードなどが用いられる。また、業務用ゲーム装置では、ROM等のメモリやハードディスクが用いられ、この場合には、情報記憶媒体1006は、ROM1002になる。
【0076】
コントロール装置1022は、ユーザがゲーム進行に応じて行う判断の結果を装置本体に入力するための装置である。
【0077】
CPU1000は、情報記憶媒体1006に格納されるプログラム、ROM1002に格納されるシステムプログラム(装置本体の初期化情報等)、コントロール装置1022によって入力される信号等に従って、装置全体の制御や各種データ処理を行う。また、CPU1000は、図9に示す処理部20の処理を実行する。すなわち、ワールド座標系から視点座標系への変換処理、視点座標系から画面座標系、スクリーン座標系への変換処理といったジオメトリ処理を実行する。更に、スクリーン座標系に変換した各オブジェクト(例えば、ポリゴン)の画素単位でずれ量Δxを算出し、左目用及び右目用にそれぞれずらして、各立体視画像を生成する。そして、生成した2種類の画像をピクセルあるいはサブピクセル単位でインターリーブし、画像データとしてVRAM1026内のフレームバッファに格納する。
【0078】
RAM1004は、このCPU1000の作業領域等として用いられる記憶手段であり、情報記憶媒体1006やROM1002の所与の内容、あるいはCPU1000の演算結果が格納される。
【0079】
VRAM1026は、図9に示す、元絵バッファ244、左目用バッファ246、右目用バッファ248を記憶領域として備える。また、CPU1000(図9に示すインターリーブ部250)によって生成された1フレーム分の画像データを格納するためのフレームバッファを備える。
【0080】
更に、この種の装置には、音生成IC1008とディスプレイコントローラ1010とが設けられていて、ゲーム音やゲーム画像の好適な出力が行えるようになっている。音生成IC1008は、情報記憶媒体1006やROM1002に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を生成する集積回路であり、生成されたゲーム音は、スピーカ1020によって出力される。また、ディスプレイコントローラ1010は、VRAM1026内のフレームバッファに格納された画像データを表示出力するための集積回路である。またディスプレイ1018は、レンチキュラレンズ板、液晶パネルを用いた平面ディスプレイ等により実現できる。
【0081】
また、通信装置1024は、ゲーム装置内部で利用される各種の情報を外部とやり取りするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受したり、通信回線を介して、ゲームプログラム等の情報を送受すること等に利用される。
【0082】
また、図1〜図12で説明した種々の処理は、図13のフローチャートに示した処理を行うための画像生成プログラム46等を含むプログラムを格納した情報記憶媒体1006と、該プログラムに従って動作するCPU1000、ディスプレイコントローラ1010、音生成IC1008等によって実現される。なお、ディスプレイコントローラ1010、音生成IC1008等で行われる処理は、CPU1000あるいは汎用のDSP等によりソフトウェア的に行ってもよい。
【0083】
なお、本実施の形態における各手段は、上述のように、情報記憶媒体に格納されるプログラムをCPUによって実行するとにより実現してもよいが、その全てをハードウェアにより実現してもよい。すなわち、図9に示す処理部20内の各部を実行するプログラムを組んで実現してもよいし、また、各部をジオメトリプロセッサや、レンダリングプロセッサといったハードウェアにより構成し、各処理を各々によって実行させてもよい。あるいは、ハードウェアとプログラムの両方により実行してもよい。例えば、ジオメトリプロセッサや、レンダリングプロセッサ等を組み込み、CPUが、各プロセッサに処理を実行させるための指示信号を出力し、必要な場合には各プロセッサと各種データを出入力するためのプログラムを情報記憶媒体に記憶する構成にしてもよい。
【0084】
図15は、本発明を業務用のゲーム装置に適用した場合の一例を示す図である。同図において、業務用ゲーム装置80は、プレーヤが操作ボタン84を操作することによって、レンチキュラレンズ板を備えるディスプレイ82上に表示されるキャラクタを操作してゲームを楽しむ装置である。業務用ゲーム装置80に内蔵されるシステム基板90には、CPU、RAM、ROM、VRAM、ディスプレイコントローラ、音生成IC等が実装されている。そして、ゲームプログラムや立体視画像生成処理を実行するための画像生成プログラム等は、システム基板90上の情報記憶媒体であるメモリ92に格納されている。
【0085】
なお、本発明は、上記実施の形態で説明したものに限らず、種々の変形実施が可能である。例えば、上記実施例では、2眼式の立体視表示装置に出力するために、右目用の立体視画像と左目用の立体視画像を生成することとして説明したが、4眼式、5眼式等のn眼式の立体視表示装置(図19参照)に出力するために、n個の立体視画像を生成するものにも適用可能である。
【0086】
例えば、4つの立体視画像を生成する場合には、図16に示すような間隔で各視点を想定する。すなわち、仮視点700の視線方向702に対して垂直に設定する。そして、仮視点700の最隣接にある2つの視点は、仮視点からa=A1/2離れた位置に設定し、更にその隣の2つの視点は、仮視点700から3a離れた位置に設定する。したがって、仮視点700の最近隣にある2つの視点に対応する画像を生成する際には、ずれ量を上記式(7)によって算出し、更にその隣の2つの視点に対応する画像を生成する際には、式(7)によって得られる値を3倍した量ずらすことによって実現できる。
【0087】
あるいは、本実施例では、画面座標系に変換されたオブジェクトを、仮視点を基準として右目用・左目用の画像を生成することとして説明したが、右目または左目の一方の視点位置をオブジェクト空間内に設定し、当該一方の視点を基準として他方の視点に対応する画像を生成することとしてもよい。また、5眼式の立体視表示装置に表示するために、図17に示すように、仮視点700の視線方向702の垂直方向に対して、間隔a隔てて配列された4つの視点を想定し、仮視点700に基づく画像と、仮視点700を基準として4つの視点に対応させて左右にずらした4つの画像と、計5つの画像を生成することとしてもよい。この場合には、ずれ量Δxは、上記式(7)によって算出したものと、式(7)によって得られる値を2倍したものとが必要となる。
【0088】
また、上記説明では、元絵バッファを用いて走査線単位で描画処理を実行することとして説明したが、各描画先バッファと同等の大きさのバッファを用いて、ポリゴン単位、あるいは、オブジェクト単位で描画処理を実行することとしてもよい。また、実施例では、オブジェクトがポリゴンにより構成されたものとして説明したが、スプライトであってもよい。
【0089】
また、仮視点に基づいて生成した画像を、各ポリゴンの奥行に応じて画素1つ1つに対してずらす処理を行うこととして説明したが、ポリゴン単位でずらす処理を行うこととしてもよいし、ポリゴン群であるオブジェクトの単位であってもよい。ポリゴン単位でずらす処理を実行する場合には、ポリゴンの各頂点のZ座標について平均を取ることによって奥行情報を決定してもよいし、ポリゴンの各頂点の内、最も手前に存在する頂点のZ座標を奥行情報として採用してもよい。または、ポリゴン内のある代表点を設定し、その点のZ座標を採用することとしてもよい。このことは、オブジェクトを単位とした場合にも同様である。
【0090】
また、本実施の形態では、走査線上の各ポリゴンをzソートして、優先順位の低いものから順に描画(上書き)することとして説明したが、先描き優先のzソートによって描画してもよい。すなわち、優先順位の高いものから順に描画する構成としてもよい。あるいは、Zバッファ法によって描画することとしてもよい。すなわち、走査線の画素それぞれに対応するZバッファを各描画先バッファに対して設ける。そして、ジオメトリ部から無作為に入力されたポリゴンについて、走査線単位で元絵バッファに一時的に書き込む。更に、各画素をずらして色の補間処理をしつつ各描画先バッファに書き込む。その際、各画素の奥行値をZバッファに記憶する。そして、次のポリゴンの色データを書き込む際には、Zバッファに記憶された奥行値を読み出し、より仮視点に近いもののみを上書きする。なお、補間処理した場合の奥行値は、描画先バッファ内の画素に寄与した元絵バッファ内の画素の奥行値を平均することによって決定してもよいし、最も寄与する画素の奥行値を採用することとしてもよい。
【0091】
または、各描画先バッファの全画素分のZバッファを用いることとしてもよい。すなわち、ジオメトリ部から入力される1つのポリゴンの描画を走査線単位ではなく、ポリゴン単位で実行する。このとき、ずれ量Δxを算出するために求めた各画素の奥行値を、左目用及び右目用のZバッファのずれ量Δxに対応する画素位置に書き込む。そして、次にジオメトリ部から入力されたポリゴンを描画する際には、Zバッファに記憶された奥行値と比較して、より手前に存在するポリゴンのみを上書きする。
【0092】
あるいは、スキャンライン法によって走査線毎に描画処理を実行してもよい。すなわち、視点座標系から正規透視座標系に変換し、更に3次元スクリーン座標系に変換する。そして、3次元スクリーン座標系におけるスキャンライン平面と各オブジェクトを構成するポリゴンとの交差線分(セグメント)を求め、X座標の小さい順にソートする。このとき、各セグメントの画素毎に(すなわち、x座標毎に)奥行値を求めて視差角ΔθL,Rを算出し、各画素のずれ量Δxを決定する。そして、各画素をずれ量Δxに従って、各視点に対応させてそれぞれずらした走査線データを生成する。更に、各走査線データをサンプルスパン単位に分割してそれぞれを描画することとしてもよい。
【0093】
また、上記実施例では、各画素についてずらした後の色の補間処理を、ずれる前の画素がずれる先に寄与する割合に応じて色を合成することとして説明したが、本発明は、これに限定するものではない。本発明の原理において説明したように、両目に対して観察対象となる物体がずれる量は、その対象物が両目の位置から遠く離れている場合には、一般的に小さい。したがって、画素単位でずらす場合において、色の補間処理が必要となる画素は、せいぜい隣合う画素ですむ。すなわち、2つ以上離れた画素の色データを合成する必要は稀となる。このため、例えば、走査線単位で描画する場合には、ニアレストネイバー法を、ポリゴン単位で描画するような場合には、バイリニア法やバイキュービック法を用いて補間処理を行うこととしてもよい。ただし、この際には、横方向(すなわち、x軸方向)の画素の色データに対して、ずれ量Δxの値に応じて色データを採用する割合に重み付けをすることとしてもよい。
【0094】
また、元絵バッファを設けず、読み出した元絵情報に基づいて奥行値を算出したり、補間処理等を実行して直接描画先バッファに書き込む形態としてもよい。また、上記実施の形態では、各描画先バッファを2次元配列の画素(色)データを記憶するメモリであることとして説明したが、各描画先バッファを1次元配列の画素データを記憶するためのメモリであるとしてもよい。この場合、右目用、左目用の走査線上の画像データがそれぞれ完成すると、順次インターリーブするように構成する。
【0095】
また、上記実施の形態では、本発明をゲーム装置に適用して説明したが、グラフィックワークステーションや、CADシステム等の画像生成装置に適用することとしてもよい。
【0096】
【発明の効果】
本発明によれば、仮視点とオブジェクトの距離(奥行)に応じて引き起こされる両眼視差を求めるための関数を採用した。そして、仮視点に基づくスクリーン系に変換された各オブジェクトを、当該関数によって算出した両眼視差に応じてスクリーン座標上にずらすことによって、複数の視点に対応する画像を生成する。したがって、オブジェクト空間を定義する座標系から、2次元のスクリーン座標系までの座標変換を、仮視点に基づく変換のみですませることができるため、立体視映像を表示するために必要な画像を迅速に生成することが可能となる。
【0097】
また、画素単位でずらしの計算をすることとしたので、オブジェクトの厚さ、奥行感をよりリアルに表現することが可能となる。更に、元絵バッファ(すなわち、一時記憶手段)に必要な元絵情報を一時的に格納することとしたため、各視点に対応するバッファに描画する際に、一々記憶部内の元絵情報が格納されたエリアまでアクセスする必要がない。このため、冗長的な処理を大幅に削減することが可能となり、より高速に複数の視点に対応する画像を生成することができる。
【図面の簡単な説明】
【図1】両眼視差を説明するための図。
【図2】左右の目が視認する映像をスクリーンに投影した場合に生じるずれ量Δxを説明するための図。
【図3】オブジェクト空間に置かれた立方体と三角錐の一例を示す図。
【図4】図2に示すオブジェクト空間における、仮視点と、立方体と、三角錐の位置関係を説明するための図。
【図5】(a)は、図3に示すオブジェクト空間を仮視点に基づく画面座標系に変換した一例を示す図。(b)は、左目用の図。(c)は、右目用の図。
【図6】仮視点と2つの視点の位置関係を説明するための図。
【図7】(a)は、オブジェクト空間における視点と透視投影スクリーンの位置関係を説明するための図。(b)は、実空間における両目とディスプレイの位置関係を説明するための図。
【図8】スクリーン上に投影された各オブジェクトの位置と仮視点との距離関係を説明するための図。
【図9】機能ブロックの一例を示す図。
【図10】レンダリング部における描画処理について説明するための図。
【図11】元絵バッファ上の各画素について算出されたずれ量Δxの例を示す図。
【図12】(a)は、元絵バッファ上の複数の画素が描画先バッファの1つの画素に寄与する場合の一例を示す図。(b)は、元絵バッファ上の隣接する複数の画素が描画先バッファ上で間欠的に配列される場合の一例を示す図。
【図13】立体視画像生成処理を説明するためのフローチャート。
【図14】本発明を実現できるハードウェアの構成の一例を示す図。
【図15】本発明を業務用のゲーム装置に適用した場合の一例を示す図。
【図16】4つの視点に適用する場合の視点間距離を説明するための図。
【図17】5つの視点に適用する場合の視点間距離を説明するための図。
【図18】両眼視差について説明するための図。
【図19】(a)は、2眼式立体視映像表示装置から出力される映像と観察者の目との位置関係を説明するための図。(b)は、4眼式の立体視映像表示装置と観察者の目との位置関係を説明するための図。
【符号の説明】
10 操作部
20 処理部
22 ゲーム演算部
24 画像生成部
240 ジオメトリ部
242 レンダリング部
244 元絵バッファ
246 左目用バッファ
248 右目用バッファ
250 インターリーブ部
30 表示部
40 記憶部
42 ゲームプログラム
44 関数データ
46 画像生成プログラム
48 元絵情報

Claims (5)

  1. n眼式の立体視映像表示装置に立体視画像を表示するために、オブジェクト空間の当該n個の画像を生成する立体視画像生成装置であって、
    前記オブジェクト空間内の仮視点の視線方向に対する前記オブジェクト空間内のオブジェクトの奥行情報を算出するための算出手段と、
    前記オブジェクトを前記仮視点に基づく平面座標系に変換するための変換手段と、
    前記仮視点の視線方向と垂直な面内に前記仮視点と所与の間隔を隔てて配置されるn個の視点の間隔である視点間距離を設定するための視点間距離設定手段と、
    前記n個の視点1つ1つに対して、前記視点間距離が大きくなるほどずらし量を大きく、前記奥行情報の示す奥行が大きくなるほどずらし量を小さくして前記オブジェクトの前記平面座標系における座標をずらす処理を実行することによって、前記n個の視点に対応するn個の画像を生成するための画像生成手段と、
    を備えることを特徴とする立体視画像生成装置。
  2. 請求項1に記載の立体視画像生成装置において、
    前記視点間距離設定手段が、前記オブジェクト空間における前記視点に関して設定される画角及び前記視点と画像生成用スクリーン間のスクリーン距離と、実空間におけるユーザの所与の想定瞳孔距離、ユーザと前記立体視映像表示装置間の所与の視聴距離及びユーザの前記立体視映像表示装置に対する所与の想定視野角と、に基づいて前記視点間距離を設定する、
    ことを特徴とする立体視画像生成装置。
  3. 請求項1又は2に記載の立体視画像生成装置において、
    前記画像生成手段は、前記変換手段により平面座標系に変換された前記オブジェクトの所与の部分毎に前記ずらす処理を行うことを特徴とする立体視画像生成装置。
  4. 請求項1〜の何れか一項に記載の立体視画像生成装置において、
    前記画像生成手段は、前記オブジェクトに対して、生成する画像上における画素の単位で前記ずらす処理を行うと共に、色の補間処理を行うことによって前記オブジェクトに対応するn個の画像を生成することを特徴とする立体視画像生成装置。
  5. n眼式の立体視映像表示装置に立体視画像を表示するために、オブジェクト空間の当該n個の画像をコンピュータに生成させるためのプログラムを記憶した、コンピュータ読み取り可能な情報記憶媒体であって、
    前記プログラムは、
    前記オブジェクト空間内の仮視点の視線方向に対する前記オブジェクト空間内のオブジェクトの奥行情報を算出するための算出手段、
    前記オブジェクトを前記仮視点に基づく平面座標系に変換するための変換手段、
    前記仮視点の視線方向と垂直な面内に前記仮視点と所与の間隔を隔てて配置されるn個の視点の間隔である視点間距離を設定するための視点間距離設定手段、
    前記n個の視点1つ1つに対して、前記視点間距離が大きくなるほどずらし量を大きく、前記奥行情報の示す奥行が大きくなるほどずらし量を小さくして前記オブジェクトの前記平面座標系における座標をずらす処理を実行することによって、前記n個の視点に対応するn個の画像を生成するための画像生成手段、
    として前記コンピュータを機能させるためのプログラムであることを特徴とする、
    情報記憶媒体。
JP2000257739A 2000-08-28 2000-08-28 立体視画像生成装置及び情報記憶媒体 Expired - Fee Related JP4772952B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000257739A JP4772952B2 (ja) 2000-08-28 2000-08-28 立体視画像生成装置及び情報記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000257739A JP4772952B2 (ja) 2000-08-28 2000-08-28 立体視画像生成装置及び情報記憶媒体

Publications (2)

Publication Number Publication Date
JP2002073003A JP2002073003A (ja) 2002-03-12
JP4772952B2 true JP4772952B2 (ja) 2011-09-14

Family

ID=18746159

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000257739A Expired - Fee Related JP4772952B2 (ja) 2000-08-28 2000-08-28 立体視画像生成装置及び情報記憶媒体

Country Status (1)

Country Link
JP (1) JP4772952B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4080858B2 (ja) * 2002-12-11 2008-04-23 株式会社ソフィア 遊技機
US20070236493A1 (en) * 2003-05-27 2007-10-11 Keiji Horiuchi Image Display Apparatus and Program
US7528830B2 (en) * 2003-09-17 2009-05-05 Koninklijke Philips Electronics N.V. System and method for rendering 3-D images on a 3-D image display screen
EP1542167A1 (en) * 2003-12-09 2005-06-15 Koninklijke Philips Electronics N.V. Computer graphics processor and method for rendering 3D scenes on a 3D image display screen
JP4672461B2 (ja) * 2004-06-28 2011-04-20 株式会社バンダイナムコゲームス 画像生成装置、電子機器、印刷加工物、画像生成方法及びプログラム
JP4645142B2 (ja) * 2004-10-07 2011-03-09 パナソニック株式会社 インテグラル・フォトグラフィ画像生成方法
WO2006111893A1 (en) * 2005-04-19 2006-10-26 Koninklijke Philips Electronics N.V. Depth perception
EP2400772B1 (en) * 2009-02-17 2016-04-13 Panasonic Intellectual Property Management Co., Ltd. Playback device, playback method, and program
US8970669B2 (en) * 2009-09-30 2015-03-03 Rovi Guides, Inc. Systems and methods for generating a three-dimensional media guidance application
JP4937404B1 (ja) 2010-12-21 2012-05-23 株式会社東芝 画像処理装置および画像処理方法
JP6198157B2 (ja) * 2016-03-10 2017-09-20 大学共同利用機関法人自然科学研究機構 プログラム、記録媒体、画像処理装置及び画像処理方法
JP2020098945A (ja) * 2017-04-05 2020-06-25 シャープ株式会社 映像生成装置、映像生成方法および映像生成プログラム
JP2021118479A (ja) * 2020-01-28 2021-08-10 株式会社ジャパンディスプレイ 画像処理装置およびヘッドアップディスプレイ
CN113891061B (zh) * 2021-11-19 2022-09-06 深圳市易快来科技股份有限公司 一种裸眼3d显示方法及显示设备
CN114742703A (zh) * 2022-03-11 2022-07-12 影石创新科技股份有限公司 双目立体全景图像的生成方法、装置、设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3126575B2 (ja) * 1993-12-28 2001-01-22 シャープ株式会社 立体視用3次元画像生成装置

Also Published As

Publication number Publication date
JP2002073003A (ja) 2002-03-12

Similar Documents

Publication Publication Date Title
KR100913173B1 (ko) 3d 그래픽 처리장치 및 이를 이용한 입체영상 표시장치
JP3619063B2 (ja) 立体画像処理装置、その方法、立体視パラメータ設定装置、その方法そしてコンピュータプログラム記憶媒体
JP4772952B2 (ja) 立体視画像生成装置及び情報記憶媒体
JP5208767B2 (ja) オンザフライハードウェア画像纏め
CN100512454C (zh) 产生图像的装置和方法
US20120306860A1 (en) Image generation system, image generation method, and information storage medium
JP2008090617A (ja) 立体画像生成装置、方法およびプログラム
KR100967296B1 (ko) 그래픽 인터페이스 및 스테레오스코픽 디스플레이용 그래픽데이터를 래스터라이즈하는 방법
JP6017795B2 (ja) ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム画像生成方法
KR100381817B1 (ko) 제트버퍼를 이용한 입체영상 생성방법 및 기록매체
JP4983793B2 (ja) 画像処理プログラムおよび画像処理装置
JP4624587B2 (ja) 画像生成装置、プログラム及び情報記憶媒体
JPH07200870A (ja) 立体視用3次元画像生成装置
JP5649846B2 (ja) プログラム及び画像生成システム
Wan et al. Interactive stereoscopic rendering of voxel-based terrain
JP2001222723A (ja) 立体視画像の生成方法及び同装置
JP4746795B2 (ja) プログラム、情報記憶媒体、及び立体視画像生成装置
JP5766540B2 (ja) プログラム及びゲームシステム
JPH07182535A (ja) 三次元ボリュームデータ表示装置
KR100759355B1 (ko) 3차원 입체 랜더링 방법
JPH11184453A (ja) 表示装置及びその制御方法、コンピュータ可読メモリ
JPH01190193A (ja) 立体ディスプレイ装置
JP3701647B2 (ja) 画像処理装置及びプログラム
JP2001314646A (ja) ゲーム装置および情報記憶媒体
KR100622555B1 (ko) 입체 영상 표시 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070720

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070720

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070810

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110530

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: 20110621

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110623

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140701

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4772952

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140701

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

LAPS Cancellation because of no payment of annual fees