以下、本実施形態について図面を用いて説明する。
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
さて、本実施形態では以下に説明する2つの方式で立体視を実現している。
1.第1の立体視方式
図1に本実施形態の第1の立体視方式のフローチャートを示す。
まず、立体視のための第1の左目用画像IL1と第1の右目用画像IR1を作成(生成)する(ステップS1、S2)。具体的には、左目用視点位置VPLから見える左目用画像IL1と、右目用視点位置VPRから見える右目用画像IR1を作成(生成)する。
ここで左目用、右目用視点位置VPL、VPRは、図2に示すように、観者(viewer)の左目、右目の位置として想定される位置である。例えば、カメラ(デジタルカメラ)による実写により左目用、右目用画像IL1、IR1を作成する場合には、これらのVPL、VPRの位置にカメラを配置して、左目用、右目用画像IL1、IR1を撮影する。この場合、2台のカメラをVPL、VPRに配置して同時に撮影してもよいし、1台のカメラの位置を変えて撮影してもよい。
一方、CG(コンピュータグラフィックス)画像やゲーム画像(リアルタイム動画像)を生成するシステムにより左目用、右目用画像IL1、IR1を生成する場合には、これらのVPL、VPRの位置に仮想カメラを配置して左目用、右目用画像IL1、IR1を生成する。即ち、オブジェクト空間においてVPL、VPRから見える画像を生成する。
図3、図4に左目用画像IL1、右目用画像IR1の一例を示す。これらは、カメラ(デジタルカメラ)による実写によりIL1、IR1を作成した場合の例である。基準面(物体が置かれる載置面)の上には、ミカン、箱、ボールペン、ステープラーなどの種々の物体(狭義には被写体又はオブジェクト。以下の説明でも同様)が配置されている。そして左目用画像IL1は、左目用視点位置VPLにカメラを配置して、物体(注視点、物体の代表点)の方にカメラの視線(方向)を向けて撮影したものである。また右目用画像IR1は、右目用視点位置VPRにカメラを配置して、物体の方にカメラの視線を向けて撮影したものである。そして図3、図4に示すように、これらの左目用、右目用画像IL1、IR1では視線角度(見え方)がずれており、この視線角度のずれによる両眼視差を利用して立体視が実現される。
なお本実施形態では、立体視時において立体視用印刷物を載置する面(机やテーブルの面。水平面)を、基準面として設定できる。
また、CGやゲームの場合には、オブジェクト空間内に設定された基準面の上に、オブジェクト(ミカン、箱、ボールペン、ステープラー等をモデル化したオブジェクト)を配置し、VPL、VPRに仮想カメラを配置する。そして、仮想カメラの視線(方向)をオブジェクト(注視点、オブジェクトの代表点)の方に向けて、仮想カメラから見える画像を生成することで、図3、図4と同様な画像を生成できる。
次に図1のステップS3に示すように、基準面BSでの画像のパースペクティブ(perspective)を無くすための補正処理を、ステップS1で得られた第1の左目用画像IL1に施し、第2の左目用画像IL2を作成(生成)する。またステップS4に示すように、基準面BSでの画像のパースペクティブ(遠近感)を無くすための補正処理を、ステップS2で得られた第1の右目用画像IR1に施し、第2の右目用画像IR2を作成(生成)する。
図5、図6に、補正処理により得られた左目用画像IL2、右目用画像IR2の一例を示す。例えば図3、図4では、基準面BSに描かれている長方形RTG(正方形も含む広義の意味の長方形。以下の説明でも同様)にパースペクティブがついている。これに対して図5、図6では、長方形RTGのパースペクティブが無くなっている。
ここで、本実施形態におけるパースペクティブを無くす補正処理とは、図8(A)に示すように、基準面BS自体の画像や、基準面に描かれている画像IM1や、物体OB(オブジェクト)の画像のうち基準面BSに接する部分の画像のパースペクティブ(奥行き感)を無くす処理である。即ち図8(A)のB1では、視点から奥側に行くほど、頂点間の距離が狭まるが、図8(A)のB2では、視点から奥側に行っても、頂点間の距離が変わらない。このような補正処理を行うことで、基準面BSの画像については、あたかも真上から見たような画像が作成(生成)されるようになる。なお、この補正処理により、パースペクティブが完全に厳密に無くなる必要はなく、立体視に違和感が生じない程度にパースペクティブが無くなればよい。
次に図1のステップS5に示すように、第2の左目用画像IL2と第2の右目用画像IR2に基づき、立体視用画像(画像データ)を作成(生成)する。より具体的には、IL2とIR2とに基づきアナグリフ処理などを行って立体視用画像を作成(生成)する。
そして、この立体視用画像(実写画像又はCG画像)を、インクジェット方式やレーザプリンタ方式などのカラープリンタ(広義には印刷機)を用いて、印刷媒体に印刷することで、立体視用印刷物を製造できる。なお、カラープリンタ(印刷機)により印刷された原盤となる立体視用印刷物を複製することで、立体視用印刷物を製造してもよい。このようにすれば、立体視用印刷物を短期間で大量に製造できるという利点がある。
また立体視用画像を、画像生成システムの表示部に表示すれば、ゲーム画像(動画像)のリアルタイム生成が可能になる。なお、この場合に、アナグリフ処理等により得られた立体視用画像を直接に表示部に表示し、これを色フィルタ(赤、青)が設けられた眼鏡(広義には器具)を用いて見るようにしてもよい。或いは、左目用、右目用画像IL2、IR2を異なるフレームで例えば交互に表示部に表示し、これを液晶シャッタ等が設けられた眼鏡を用いて見るようにしてもよい。
図7に、図5、図6の左目用、右目用画像IL2、IR2に基づきアナグリフ処理を行うことで得られた立体視用画像の一例を示す。
この図7の立体視用画像では、左目用画像IL2(IL)と右目用画像IR2(IR)とが合成されている。そして左目用画像IL2と右目用画像IR2は、各々、基準面BSに配置された物体OBの画像を含む。また基準面BSの画像も含む。
そして図9のA1に示すように、左目用画像IL2の物体画像と右目用画像IR2の物体画像は、基準面BSの位置において一致している(但し必ずしも完全に一致している必要はない)。即ち、左目用画像IL2の物体画像の印刷位置(表示位置)と右目用画像の物体画像IR2の印刷位置(表示位置)が、基準面BSにおいて一致している。
一方、図9のA2に示すように、基準面BSから離れるほど左目用画像IL2の物体画像と、右目用画像IR2の物体画像のずれが大きくなっている。より具体的には、物体OBの部分のうち基準面BSから上方に位置する部分の画像ほど、左目用画像IL2での印刷位置(表示位置)と、右目用画像IR2での印刷位置(表示位置)とがずれている。
この図7、図9の立体視用画像をプリント媒体に印刷することで立体視用印刷物を製造できる。そして、その立体視用印刷物を、例えば左目に赤色フィルタが設けられ右目に青色フィルタが設けられた眼鏡で見ることで、立体視を実現できる。また図7、図9の立体視用画像を表示部に表示することで、立体視用のゲーム画像を生成できる。
さて、これまでの立体視では図8(B)に示すように、立体視用印刷物PM(或いは表示部の表示画面。以下の説明でも同様)を、その面が鉛直面に対して平行になるように配置し、観者が、立体視用印刷物PMを正対して見ることが想定されていた。このため、例えば図3、図4のような左目用、右目用画像IL1、IR1に対してそのままアナグリフ処理を施して、立体視用印刷物PMを作成していた。そして、図3、図4の画像ではパースペクティブが残っているため、図8(B)のように立体視用印刷物PMを正対して見た場合に、遠近感に関する限りは、正しい画像になる。
しかしながら図8(B)のように観者が立体視用印刷物PMを正対して見た場合に、ピント(焦点距離)については、PMの全面において同一になってしまう。従って、人間の脳内において、ピント調整と、両眼視差、輻輳との関係に矛盾や誤差が生じてしまう。従って、脳が無理に立体と関連づけようとして、不自然さを感じたり、立体として認知できなくなってしまう。また、従来の方式で作成された立体視用印刷物PMを、水平面に平行になるように机に配置して見てしまうと、奥行き感に矛盾が生じ、不自然な立体視になってしまう。即ち図3、図4の長方形RTGは、高さが零の平面であり、この長方形RTGが立体に見えてはいけないからである。
そこで本実施形態では、図8(C)に示すように、立体視用印刷物PM(表示画面)を、観者が机(水平面に平行な基準面BS)の上に配置して見ることを想定するようにしている。即ち、このような配置が本方式のデフォルトの配置となる。そして、このように水平面に平行に立体視用印刷物PMを配置した場合に、図3、図4の画像をそのままアナグリフ処理して立体視用印刷物PMを作成すると、遠近感に矛盾が生じる。
そこで本実施形態では図5、図6、図8(A)で説明したように、基準面の画像のパースペクティブを無くす補正処理を行う。そして基準面でのパースペクティブを無くした補正後の図5、図6の画像に基づいて、アナグリフ処理を行い、立体視用印刷物PMを作成し、作成された立体視用印刷物PMを図8(C)のように水平面に平行に配置すれば、基準面の画像(長方形RTG)には適正なパースペクティブがつくようになる。また、図8(C)のように配置すれば、立体視用印刷物PMの面上の各点の焦点距離が同一ではなく異なるようになる。このため、ピント調整についても現実世界のピント調整と近いものになる。従って、ピント調整と、両眼視差や輻輳との間の関係のずれも軽減され、より自然で、実在感のある立体視を実現できる。
なお、本実施形態の立体視方式では、物体の高さが高い場合に奥行き感等にずれが生じる可能性がある。このような場合には例えば図10に示すように、2つの基準面BS1、BS2(広義には複数の基準面)を設ければよい。
ここで基準面BS1は例えば水平面に平行な面である。一方、基準面BS2は、基準面BS1と所定の角度(例えば直角)をなす面である。そして、基準面BS1、BS2は境界BDにおいて連結されている。
物体OB(オブジェクト)は、基準面BS1の上方で且つ基準面BS2の手前側(VPL、VPR側)に配置する。そして図1の代わりに図11に示す処理を行う。
図11のステップS11、S12は、図1のステップS1、S2と同様である。そしてステップS13では、基準面BS1でのパースペクティブを無くすための補正処理を、左目用画像IL1の基準面BS1に対応する領域(IL1のうち境界BDを基準にしてBS1側の第1の領域)に対して施す。また、基準面BS2でのパースペクティブを無くすための補正処理を、IL1の基準面BS2に対応する領域(IL1のうち境界BDを基準にしてBS2側の第2の領域)に対して施す。そして、これらの補正処理により生成された画像を繋げた画像である左目用画像Il2を作成(生成)する。
またステップS14では、基準面BS1でのパースペクティブを無くすための補正処理を、右目用画像IR1の基準面BS1に対応する領域(IR1のうち境界BDを基準にしてBS1側の第1の領域)に対して施す。また、基準面BS2でのパースペクティブを無くすための補正処理を、IR1の基準面BS2に対応する領域(IR1のうち境界BDを基準にしてBS2側の第2の領域)に対して施す。そして、これらの補正処理により生成された画像を繋げた画像である右目用画像IR2を作成(生成)する。
そして最後にステップS15のように、IL2、IR2に基づき、例えばアナグリフ処理等を行って、立体視用画像を作成(生成)する。そして、得られた立体視用画像を印刷媒体に印刷して立体視用印刷物を製造したり、立体視用画像を表示部に表示することでリアルタイム動画像であるゲーム画像を生成する。
このようにすることで図12に示すように、OBが、基準面BS1からの高さが高い物体である場合にも、より自然で、実在感のある立体視を実現できる。即ち、物体OBの足下付近の領域(境界BSの下側の第1の領域)では、基準面BS1を利用した立体視の処理により、奥行き感やピント調整に無理の無い立体視を実現できる。一方、それ以外の領域(境界BSの上側の第2の領域)では、基準面BS2を利用した立体視の処理により、奥行き感に無理の無い立体視を実現できる。
なお、基準面は2つに限定されず、3つ以上の基準面(連結された複数の基準面)を用いてもよい。
2.第2の立体視方式
図13に本実施形態の第2の立体視方式のフローチャートを示す。前述の図1の方式は、カメラにより実写した画像を用いて立体視用印刷物を作成するのに最適な方式であるのに対して、図13の方式は、CG画像を用いて立体視用印刷物を作成するのに最適な方式である。
まず、左目用視点位置VPLとオブジェクトOBの各点を結ぶ投影方向で、基準面BS(図10の場合はBS1又はBS2)にOBの各点を投影して基準面BSにレンダリングし、左目用画像ILを作成(生成)する(ステップS21)。
次に、右目用視点位置VPRとオブジェクトOBの各点を結ぶ投影方向で、基準面BS(図10の場合はBS1又はBS2)にOBの各点を投影して基準面BSにレンダリングし、右目用画像IRを作成(生成)する(ステップS22)。なお、基準面BSは、例えば視線方向(視点位置と注視点を結ぶ方向)に直交しない面である。即ち、基準面BSは、視線方向に常に直交する透視投影スクリーンとは異なる面である。
ステップS21、S22の処理では、VPL(或いはVPR)からオブジェクトOBの方に向かって仮想的な光を投射し、その光を用いて、OBの画像を基準面BS(BS1又はBS2)である仮想紙に焼き付けるようにして、仮想紙にレンダリングする。これにより、図14(A)に示すように、オブジェクトOBの点P1、P2、P3、P4の画像(色等のプロパティ)が、基準面BS上の投影点P1’、P2’、P3’、P4’にレンダリングされる。なお、基準面BS上の点P5、P6の画像については、そのまま、その点P5、P6の位置にレンダリングされる。そして例えば図14(B)に示すように、基準面BS(仮想紙)の全面をラスタスキャンするようにレンダリングすることで、図5、図6のIL2、IR2と同様の左目用画像IL、右目用画像IRを作成できる。即ち、基準面の画像のパースペクティブが無くなった左目用、右目用画像IL、IRを作成できる。
そして、これらの左目用、右目用画像IL、IRに基づき、例えばアナグリフ処理等を行って、立体視用画像を作成(生成)する(ステップS23)。これにより、図7に示すような立体視用画像を得ることができる。そして、得られた立体視用画像を印刷媒体に印刷して立体視用印刷物を製造したり、立体視用画像を表示部に表示することでゲーム画像を生成できる。
そして例えば図14(C)に示すように立体視用印刷物PM(或いは表示画面)を水平面(基準面)に平行になるように配置して見ることで、より自然で実在感のある立体視を実現できる。
例えば図15(A)では、オブジェクトOBを透視投影スクリーンSCR(視線方向に直交する面)に透視投影して左目用画像、右目用画像を作成している。そして、得られた左目用画像、右目用画像を合成して立体視用印刷物PMを作成する。そして図15(B)に示すように、観者は、立体視用印刷物PMに正対してPMを見ることになる。
この図15(A)の方式では、オブジェクトOBの点P2、P3は、投影投影スクリーンSCR上の点P2”、P3”に投影される。そして、立体視用印刷物PMは図15(B)のように正対して見ることになるため、P2”、P3”の焦点距離差L2が0になってしまう。即ち、実際の点P2、P3の焦点距離差L1は0ではないのに、L2が0となるため、ピント調整が実際のものと異なってしまう。従って、ピント調整と両眼視差の関係に矛盾が生じ、人間の脳に混乱が生じ、違和感のある立体視になってしまう。
これに対して本実施形態では、立体視用印刷物PM(表示画面)を図14(C)に示すように机に置いて見ることになるため、図14(A)に示すように、点P2’、P3’の焦点距離差L2は、実際の点P1、P2の焦点距離差L1と同様に、0ではない。従って手前の部分(点P2)は手前に見え、奥にある部分(P3)は奥に見えるようになるため、ピント調整と両眼視差の関係に矛盾が生じず、人間の脳に混乱が生じないため、より自然な立体視を実現できる。
即ち本実施形態は、立体視用印刷物PMを机に置いて斜めから見る方式であるため、机の面と、立体視の対象となるオブジェクトOBが載っている基準面BS(零面)とは、同一面となり、現実的であり、立体視に無理が生じない。そして、オブジェクトOBが、基準面BS(零面)に対して、数センチメートルだけ浮き上がって見える様子を表現できればよいため、奥行き方向についての矛盾はほとんど生じない。しかも、基準面BSが机の面であるため、あたかも机の上に本当に立体の物体が配置されているかのように見え、物体の実在感が向上する。即ち従来の図15(A)、(B)の方式では、基準面があやふやであるため、立体感は確かにあるが、物体の実在感が幻のようにしかならなかったのである。
なお、図13の方式においても、図10で説明したように、複数の基準面を設定して立体視用画像を作成(生成)してもよい。この場合には、図13のステップS21、S22において、基準面BS1に投影される点については基準面BS1にレンダリングし、基準面BS2に投影される点については基準面BS2にレンダリングすればよい。
3.アナグリフ処理
次に図1のステップS5、図11のステップS15、図13のステップS23で行われるアナグリフ処理について簡単に説明する。
アナグリフ処理では、1枚の印刷媒体に、左目用画像と右目用画像を色を変えて印刷して、立体視用印刷物を作成する。そしてこの立体視用印刷物を、左右の目で異なる色フィルタ(例えば左目が赤、右目が青)を介して見る。この時に、左目では左目用画像だけが見え、右目では右目用画像だけが見えるようになり、立体視が実現される。
例えばモノクロのアナグリフ処理では、左目用画像(IL2、IL)をグレースケールに変換する。そして変換後の画像データをアナグリフ画像(RGB)のRチャンネルにコピーする。次に、右目用画像(IR2、IR)をグレースケールに変換する。そして変換後の画像データを、アナグリフ画像(RGB)のGチャンネルとBチャンネルにコピーする。これにより、モノクロのアナグリフ画像が作成される。なお、右目用画像をBチャンネルだけにコピーするようにしてもよい。
またカラーのアナグリフ処理では、左目用画像(IL2、IL)のRチャンネルを、アナグリフ画像(RGB)のRチャンネルにコピーする。また右目用画像(IR2、IR)のGチャンネルを、アナグリフ画像(RGB)のGチャンネルにコピーする。また右目用画像のBチャンネルをアナグリフ画像(RGB)のBチャンネルにコピーする。これにより、カラー(疑似カラー)のアナグリフ画像を作成できる。
なお、立体視の実現手法(図1のステップS5、図11のステップS15、図13のステップS23)は、少なくとも、左目用画像(IL2、IL)と右目用画像(IR2、IR)を用いて実現されるものであればよく、アナグリフ処理に限定されない。
例えばレンチキュラーレンズと呼ばれる特殊なレンズを使って、左目には左目用画像の像だけが入り、右目には右目用画像の像だけが入るようにして、立体視を実現していもよい。
また左目用画像、右目用画像の前に偏光板を配置し、左目用画像の前に置かれた偏光板と右目用画像の前に置かれた偏光板とで、偏向方向を異ならせておく。そして、それに応じた偏向方向を持つ偏光板をレンズ部分に取り付けた眼鏡を観者がかけることで、立体視を実現してもよい。
また左目用画像と右目用画像を、例えばフレームを異ならせて交互に表示する。そして左目用画像の表示に同期して開く左目用のシャッター(例えば液晶シャッター)と、右目用画像の表示に同期して開く右目用のシャッターが設けられた眼鏡を観者がかけることで、立体視を実現してもよい。
4.視点位置の設定
次に視点位置の設定手法について説明する。
図2、図10の左目用、右目用視点位置VPL、VPRは、立体視用印刷物や立体視用表示画面を観者が実際に見る時の観者の左目、右目の想定位置に基づいて配置することが望ましい。例えば図2、図10において、物体OB(オブジェクト、被写体)と観者の目との間の距離DVB(例えば40cm)、視線角度θ(視線方向SL)、両目間の距離DLR(例えば7cm)に基づいて、左目用、右目用視点位置VPL、VPRを設定する。
但し、縮小表示や拡大表示を行う場合には、縮小率や拡大率に応じてVPL、VPRの位置を移動させる。この場合には図16に示すような手法で視点位置を移動させることが望ましい。
例えば物体OB(被写体、オブジェクト)と視点位置(VPLとVPRの中点CP)と間の距離DVBを長くした場合には、その長さの変化(比)に応じて、左目用視点位置VPLと右目用視点位置VPRとの間の距離DLRを長くする。即ち例えばDVBの長さの変化に比例してDLRを長くする。
また物体OB(被写体、オブジェクト)と視点位置(VPLとVPRの中点CP)との間の距離DVBを変化させる場合に、基準面BSに対して所定の角度θをなす直線LN(視線方向)に沿って移動するように、視点位置(中点CP、VPL、VPR)を移動させる。
このようにすることで、VPL、VPRを移動させた場合にも、距離DVBや距離DLRが等倍比で変化するようになるため、立体感に破綻が生じる事態を防止できる。これにより、適正な立体感を維持しながら縮小表示や拡大表示を実現できるようになる。
5.実写画像を用いた立体視用印刷物の作成
次に、実写画像を用いて立体視用印刷物を作成(製造)する手法の詳細について説明する。この場合には図1で説明した第1の立体視方式が適している。
実写画像を用いる場合には、撮影時の環境をそのまま再現する必要がある。従って、観者が見る時の位置関係に近いレイアウトで、実写用のカメラ(デジタルカメラ等)を配置する。例えば標準的な机に立体視用印刷物等を置いて、観者が椅子に座って見た場合を想定して、実写用のカメラを配置する。
5.1 基準面が1つの場合
図2のように基準面が1つである場合には、両目間の距離DLR(約7cm)、視点と被写体OBとの距離DVB、視線の角度θ、印刷紙の縦サイズD1、横サイズD2(印刷範囲)を設定する。
次に観者の左目、右目の位置と想定される位置にカメラを配置する。そして印刷範囲(D1、D2)の目安となるマークMK1〜MK4(第1〜第4のマーク)が書かれた紙を置く。このマークMK1〜MK4は、基準面BS上の長方形(正方形も含む広義の長方形)の頂点を構成する。
次に、被写体OBを紙に載せる。この時に、カメラの位置から見て、マークMK1〜MK4で構成される長方形(印刷範囲)の外に被写体OBがはみ出さないように、OBを置く。そして、左目、右目の位置と想定される位置にセッティングされたカメラを用いて、被写体OBとマークMK1〜MK4が入るように撮影し、図3、図4に示すような左目用、右目用の画像IL1、IR1を作成する。
次に、撮影された左目用、右目用画像IL1、IR1を画像生成システム(パーソナルコンピュータ、情報処理装置)に取り込み、画面上に表示する。そして表示された画像の中から、紙のマークMK1〜MK4を見つけ出す。
次に、図17に示すように、D1対D2の縦横比の長方形(正方形も含む広義の意味の長方形)の頂点VX1〜VX4の位置に、マークMK1〜MK4を移動させて、画像をゆがめる補正処理を行う。この補正処理を、左目用、右目用画像IL1、IR1のそれぞれに対して行うことで、図5、図6の示すような左目用、右目用画像IL2、IR2を作成する。
次に、印刷範囲以外の余計な部分をトリミングする。そして、アナグリフ処理のソフトウェアを使用して、左目用、右目用画像IL2、IR2から、図7に示すような立体視用画像(アナグリフ画像)を作成する。そして、得られた立体視用画像を、D1、D2のサイズの印刷範囲で紙に印刷して、立体視用印刷物を完成する。
5.2 基準面が2つの場合
図10のように基準面を2つ設ける場合には、両目間の距離DLR(約7cm)、視点と被写体OBとの距離DVB、視線の角度θ、印刷紙の縦サイズD1、横サイズD2、高さサイズD3(印刷範囲)を設定する。
次に、観者の左目、右目の位置と想定される位置にカメラを配置する。そして印刷範囲(D1、D2)の目安となるマークMK1〜MK4(第1〜第4のマーク)が書かれた1枚目の紙(基準面BS1)を置く。このマークMK1〜MK4は、基準面BS1上の長方形の頂点を構成する。
次に、印刷範囲(D2、D3)の目安となるマークMK5〜MK8(第5〜第8のマーク)が書かれた2枚目の紙(基準面BS2)を、1枚目の紙の後ろに垂直に立てて置く。このマークMK5〜MK8は、基準面BS2上の長方形の頂点を構成する。
次に、被写体OBを1枚目の紙に載せる。この時に、カメラの位置から見て、マークMK1〜MK4で構成される長方形及びマークMK5〜MK8で構成される長方形(印刷範囲)の外に被写体OBがはみ出さないように、OBを置く。そして、左目、右目の位置と想定される位置にセッティングされたカメラを用いて、被写体OBとマークMK1〜MK4、MK5〜MK8が入るように撮影し、左目用、右目用の画像IL1、IR1(写真)を作成する。
次に、撮影された左目用、右目用画像IL1、IR1を画像生成システム(パーソナルコンピュータ)に取り込み、画面上に表示する。そして表示された画像の中から、紙のマークMK1〜MK4、MK5〜MK8を見つけ出す。なお、マークMK3、MK4とMK6、MK5は同じマークとすることができる。
次に、図18に示すように、D1対D2の縦横比の長方形の頂点VX1〜VX4の位置に、マークMK1〜MK4を移動させて、画像をゆがめる補正処理を行う。また、D3対D2の縦横比の長方形の頂点VX5〜VX8の位置に、マークMK5〜MK8を移動させて、画像をゆがめる補正処理を行う。そして、得られた2枚の画像を繋げる。この補正処理を、左目用、右目用画像IL1、IR1のそれぞれに対して行うことで、左目用、右目用画像IL2、IR2を作成する。
次に、印刷範囲以外の余計な部分をトリミングする。そして、アナグリフ処理のソフトウェアを使用して、左目用、右目用画像IL2、IR2から、立体視用画像(アナグリフ画像)を作成する。そして、得られた立体視用画像を、D1、D2、D3のサイズの印刷範囲で紙に印刷して、立体視用印刷物を完成する。
6.CG画像を用いた立体視用印刷物の作成
次に、CG(コンピュータグラフィックス)画像を用いて立体視用印刷物を作成(製造)する手法について説明する。この場合には図13で説明した第2の立体視方式が適している。但し図1の第1の立体視方式で実現することも可能である。
まず、観者が見る時の位置関係に近いレイアウトで、仮想カメラ(視点)をオブジェクト空間内に配置する。例えば標準的な机に立体視用印刷物等を置いて、観者が椅子に座って見た場合を想定して、仮想カメラを配置する。
そして図2のように、両目間の距離DLR(約7cm)、視点とオブジェクトOBとの距離DVB、視線の角度θ、印刷紙の縦サイズD1、横サイズD2(印刷範囲)を設定する。
次に観者の左目、右目の位置と想定される位置に仮想カメラを配置する。そして仮想紙(仮想紙オブジェクト)上にオブジェクトを配置する。
次に、左目用視点位置VPLからオブジェクトOBの方に向かって仮想的な光を投射し、その光を用いて、OBの画像を仮想紙に焼き付けるようにしてレンダリングする。これにより左目用画像ILが作成される。これは、目から見た画像を、机の上の仮想紙にプロジェクタで投射する処理と同様の処理である。
次に、右目用視点位置VPRからオブジェクトOBの方に向かって仮想的な光を投射し、その光を用いて、OBの画像を仮想紙に焼き付けるようにしてレンダリングする。これにより右目用画像IRが作成される。
次に、アナグリフ処理のソフトウェアを使用して、左目用、右目用画像IL、IRから、立体視用画像(アナグリフ画像)を作成する。そして、得られた立体視用画像を、D1、D2のサイズの印刷範囲で紙に印刷して、立体視用印刷物を完成する。
なお、図10のように複数の基準面を設けて、CG画像を用いた立体視用印刷物を作成してもよい。
また、基準面BSに対して投影されるオブジェクトOBは、その全部が、図2のように基準面BS上に配置されるオブジェクトであってもよいし、図19(A)のように、その一部が、基準面BSの奥側に配置されるオブジェクトであってもよい。或いは、図19(B)のように、その全部が、基準面BSの奥側に配置されるオブジェクトであってもよい。
例えば図19(A)では、基準面BSの奥側の点P1、P2、P3が手前の点P1’、P2’、P3’に投影される。これにより、オブジェクトOBに開いている穴などを表現できる。また図19(A)のC1の位置では、オブジェクトOBが仮想紙にめり込んだ様子を表現できる。
図19(B)でも、基準面BSの奥側の点P1、P2、P3が手前の点P1’、P2’、P3’に投影される。これにより、水面の下に潜っている魚などのオブジェクトを表現できる。なお、水面などの半透明物を表現する場合には、基準面BSの位置に半透明オブジェクトを配置し、この半透明オブジェクトとオブジェクトOB(点P1’、P2’、P3’)とのα合成を行うことが望ましい。
以上のようにCG画像を用いる本実施形態の手法によれば、ゲームマニュアルに添付するのに最適な立体視用印刷物を作成できる。
例えば、平面的なマップの絵しか添付されていない従来のゲームマニュアルでは、マップの形状等をプレーヤが把握するのが難しいという課題があった。
これに対して本実施形態の手法を用いれば、立体的に見えるマップの印刷物をゲーム・マニュアルに添付することが可能になる。例えば、マップの形状データは、ゲームデータとして存在するため、このゲームデータを利用することで、マップの立体視用印刷物を容易に作成できる。また本実施形態の手法によれば、机などに置いて見たときに最も立体感がハッキリと出る立体視用印刷物を提供できる。従って、プレーヤにとって使いやすく便利で、ゲームマニュアルに添付するのに最適な立体視用印刷物を提供できる。
なお、例えば車、戦車、飛行機のゲームなどにおいて、登場する車、戦車、飛行機が立体的に表される立体視用印刷物をゲームマニュアルに添付してもよい。或いは、モンスターカードゲームに本実施形態の手法を適用すれば、カードのモンスターが立体的に飛び出して見えるようなカードゲームを実現できる。特にカードゲームでは、机やテーブルなどの水平面にカードを置いてゲームを楽しむものであるため、水平面(基準面)においた時に最も効果的な立体視が可能になる本実施形態の手法は最適である。
7.ゲーム画像の生成
次に、リアルタイム動画像であるゲーム画像を生成する手法について説明する。この場合には図1で説明した第1の立体視方式が適している。但し図13の第2の立体視方式で実現することも可能である。
まず、プレーヤが見る時の位置関係に近いレイアウトで、仮想カメラ(視点)をオブジェクト空間内に配置する。例えば標準的な机に立体視用印刷物等を置いて、プレーヤが椅子に座って見た場合を想定して、仮想カメラを配置する。
そして図2のように、両目間の距離DLR(約7cm)、視点とオブジェクトOBとの距離DVB、視線の角度θ、表示画面の縦サイズD1、横サイズD2(表示画面サイズ)を設定する。
次にプレーヤの左目、右目の位置と想定される位置である左目用、右目用視点位置VPL、VPRに、仮想カメラを配置する。また、仮想カメラの被写体となるオブジェクトOBをオブジェクト空間内に配置する。これらの仮想カメラは、基本的に、左目用、右目用視点位置VPL、VPRからオブジェクト空間内のオブジェクト(注視オブジェクト)の方向に向けられる。
次に、左目用、右目用視点位置VPL、VPRに配置された仮想カメラから見える左目用、右目用画像IL1、IR1を生成する。そして、生成された左目用、右目用画像IL1、IR1を、VRAMのテクスチャ領域(テクスチャ空間)に書き込み、これらの画像を、図20に示すようなテクスチャー画像TEXに設定する。
次に、パースペクティブのついたテクスチャ画像TEX(図3、図4参照)を、D1、D2のサイズの長方形(正方形を含む広義の意味の長方形)のポリゴンPLG(プリミティブ面)にマッピングする。具体的には、テクスチャ画像TEXのテクスチャ座標(TX1、TY1)、(TX2、TY2)、(TX3、TY3)、(TX4、TY4)を、ポリゴンPLGの頂点VX1、VX2、VX3、VX4にコーディネートして、テクスチャ画像TEXをポリゴンPLGにマッピングする。これにより、図6、図7に示すように基準面の画像のパースペクティブが無くなった画像を生成できる。そして、このようなテクスチャマッピング処理を、左目用、右目用画像IL1、IR1のそれぞれについて行うことで、左目用、右目用画像IL2、IR2を生成する。
次に、得られた左目用、右目用画像IL2、IR2を、アナグリフ処理を用いて1枚の立体視用画像に合成する。そして合成された立体視用画像を表示部に出力する。
なお、液晶シャッタ等を用いて立体視を実現する場合には、生成された左目用、右目用画像IL2、IR2を、異なるフレームで交互に表示部に出力すればよい。
8.画像生成システム
図21に、本実施形態の画像生成システムの機能ブロック図の例を示す。なお、本実施形態の画像生成システムは、図21の構成要素(各部)を全て含む必要はなく、その一部を省略した構成としてもよい。
この図21の画像生成システムは、ゲーム画像(リアルタイム動画像)を生成するシステムとして用いることができる。また、CG画像(静止画像)により立体視用画像を作成し、立体視用印刷物を作成するための画像生成システム(CGツール)としても用いることができる。また、カメラで撮った実写画像を取り込み、この実写画像により立体視用画像を作成し、立体視用印刷物を作成するための画像生成システムとしても用いることができる。
操作部160は、プレーヤ(操作者)が操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、シフトレバー、アクセルペダル、ブレーキペダル、マイク、センサー、タッチパネル、或いは筺体などのハードウェアにより実現できる。
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶(記録、格納)される。
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル、或いはHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウェアにより実現できる。
携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。
通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。この通信部196を用いて、カメラで撮影された実写画像を画像生成システムに取り込んだり、作成された立体視用画像をプリンタに出力することが可能になる。
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信するようにしてもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含まれる。
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。この場合、処理部100は、記憶部170内の主記憶部172をワーク領域として使用して、各種の処理を行う。この処理部100の機能は、各種プロセッサ(CPU、DSP等)又はASIC(ゲートアレイ等)などのハードウェアや、プログラム(ゲームプログラム)により実現できる。
処理部100は、ゲーム処理部110、第1の画像生成部120、第2の画像生成部122、立体視用画像生成部126、音生成部130を含む。
ここでゲーム処理部110は、操作部160(ゲームコントローラ)からの操作データに基づいて、ゲーム画像を生成するための種々のゲーム処理を行う。このゲーム処理としては、ゲーム開始条件に基づいてゲームを開始する処理、ゲームを進行させる処理、ゲームに登場するオブジェクト(表示物)を配置する処理、オブジェクトの移動情報(位置、速度、加速度)や動作情報(モーション情報)を求める処理、オブジェクトを表示するための処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了させる処理などがある。
第1の画像生成部120は、オブジェクト空間内において左目用視点位置(左目用仮想カメラ)から見える画像である第1の左目用画像を生成する処理を行う。また、オブジェクト空間内において右目用視点位置(右目用仮想カメラ)から見える画像である第1の右目用画像を生成する処理を行う。この場合、第1の左目用画像、第1の右目用画像は、立体視のための画像であり、例えば両眼視差がついた画像である。具体的には、左目用視点位置に仮想カメラを配置し、この仮想カメラの視線方向をオブジェクト(注視点)の方に向けて、第1の左目用画像を生成する。また右目用視点位置に仮想カメラを配置し、この仮想カメラの視線方向をオブジェクト(注視点)の方に向けて、第1の右目用画像を生成する。
なお、仮想カメラから見える画像は、次のようにして生成できる。即ち、まず、座標変換、クリッピング処理、透視変換或いは光源処理等のジオメトリ処理を行い、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を作成する。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を、描画バッファ174(フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ)に描画する。これにより、オブジェクト空間内において仮想カメラから見える画像が生成される。
第2の画像生成部122は、第1の左目用画像に対して、基準面での画像のパースペクティブを無くすための補正処理を施して、第2の左目用画像を生成する。また、第1の右目用画像に対して、基準面での画像のパースペクティブを無くすための補正処理を施して、第2の右目用画像を生成する(図1、図8(A)参照)。
この場合の補正処理は、テクスチャマッピング部124が図20で説明したテクスチャマッピング処理を行うことで実現される。具体的には、第1の画像生成部120で生成された第1の左目用画像、第1の右目用画像は、テクスチャ画像としてテクスチャ記憶部176に記憶される。そしてテクスチャマッピング部124は、この記憶された第1の左目用画像のテクスチャを、長方形のポリゴンにマッピングすることで、第2の左目用画像を生成する。また、この記憶された第1の右目用画像のテクスチャを、長方形のポリゴンにマッピングすることで、第2の右目用画像を生成する。
また第2の画像生成部122が、図13で説明した方式に基づいて、左目用画像、右目用画像を生成してもよい。即ち第2の画像生成部122が、左目用視点位置とオブジェクトの各点を結ぶ投影方向で、基準面に対してオブジェクトの各点を投影してレンダリングすることで、左目用画像を生成する。また、右目用視点位置とオブジェクトの各点を結ぶ投影方向で、基準面に対してオブジェクトの各点を投影してレンダリングすることで、右目用画像を生成する。
立体視用画像生成部126は、第2の左目用画像(左目用画像)と第2の右目用画像(右目用画像)とに基づいて立体視用画像を生成する処理を行う。例えば、第2の左目用画像(左目用画像)と第2の右目用画像(右目用画像)をアナグリフ処理により合成して、立体視用画像を生成し、表示部190に出力する。この場合には、プレーヤは、例えば赤の色フィルタと青の色フィルタが左目、右目に設けられた眼鏡をかけて、ゲームをプレイすることになる。
或いは、立体視用画像生成部126が、第2の左目用画像(左目用画像)と第2の右目用画像(右目用画像)を異なるフレームで表示部190に出力する処理を行い、立体視を実現してもよい。この場合には、プレーヤは、フレームに同期してシャッターが開閉するシャッター付き眼鏡をかけて、ゲームをプレイすることになる。
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて生成してもよい。
9.第1、第2の立体視方式の解析
次に図1、図13で説明した本実施形態の第1、第2の立体視方式を数学的に解析する。第1の立体視方式は、基準面(机)スクリーンに直接射影(C1)できない現実世界の物体の像が、カメラの撮影(C2)で得られた写真(図3、図4)と、それに対する後処理(C3。図8(A)のパースペクティブを無くす処理)によって、実用上は差し支えない範囲で再構成が可能なことを示している。そこで、この第1の立体視方式と、基準面(机)スクリーンに物体の点を直接射影する第2の立体視方式との違いについて、数学的な解析を行う。
9.1 第1の立体視方式の数学的解析
まず視点(v)と、カメラのスクリーン(s)と、物体と、それらに対する座標系を図22のように定める。図22では、視点からの射影によって、物体の点(x、y、z)が、スクリーン(カメラのスクリーン)上の点(x*、y*)に投影されている。
まずカメラの撮影(C2)は、下式(1)の回転Rxの行列と、下式(2)の射影Pzの行列との合成により表すことができる。
ここで回転Rxの行列は、斜め方向の視線方向をZ軸方向に平行になるように回転させる行列である。また射影Pzの行列は、視点(Z=v)からカメラのスクリーン(Z=s)への射影を表す行列である。なおαは視線方向と基準面スクリーンとのなす角度である。
従って、カメラの撮影(C2)は下式(3)のように表すことができる。
この上式(3)は下式(4)のような変換式で表すこともできる。
例えば図23に示すように、机等の基準面上(Z=0)に、正方形を構成する4つの格子点G1=t(a、a、0)、G2=t(−a、a、0)、G3=t(−a、−a、0)、G4=t(a、−a、0)を設定する。なお「t」は転置を意味する。
これらの格子点G1〜G4は、上式(3)(4)の変換によって、図23に示すように格子点G1’〜G4’に写る。これらの格子点G1’〜G4’の座標は、上式(3)(4)のt(x、y、z)に、t(a、a、0)、(−a、a、0)、t(−a、−a、0)、t(a、−a、0)を代入することで、下式(5)〜(8)のように計算される。
第1の立体視方式の後処理(C3。パースペクティブを無くす処理)は、これらの格子点G1’〜G4’を、写真上の2次元正方形を構成する格子点F1=t(b、b)、F2=t(−b、b)、F3=t(−b、−b)、F4=t(b、−b)に写す射影変換である。即ち図3のマーカMK1〜MK4(G1’〜G4’に相当)の位置を、図5のマーカMK1〜MK4(F1〜F4に相当)の位置に写す射影変換である。
このような射影P1を表す行列は、行列の要素a11、a12、a13・・・a33についての連立方程式を解くことで、下式(9)のように求められる。
従って、カメラの撮影(C2)と後処理(C3)の合成である第1の立体視方式の変換は、上式(1)の回転Rxの行列と、上式(2)の射影Pzの行列と、上式(9)の射影P1の行列の合成で表すことができ、下式(10)のように表すことができる。
この上式(10)は下式(11)のような変換式で表すこともできる。
以上のように、図1の第1の立体視方式は、上式(10)又は上式(11)のような数式で表現できる。
9.2 第2の立体視方式の数学的解析
物体の点を基準面スクリーンに直接投影する図13の第2の立体視方式の変換は、図24から、下式(12)のように表すことができる。
この上式(12)は下式(13)のような変換式で表すこともできる。
上式(12)(13)で表される第2の立体視方式の変換は、図25(A)に示すような物体OBの平行移動Ty(y方向での−vcosαの平行移動)と、図25(B)に示すような平行移動後の物体OBの射影PZと、図26に示すような射影後の物体OBの平行移動Ty(y方向でのvcosαの平行移動)の3つの変換から成り立っている。
9.3 第1、第2の立体視方式の比較
以上のように、数学的には、第1の立体式方式の変換は下式(14)又は(15)のように表され、第2の立体視方式の変換は下式(16)又は(17)のように表される。
上式(14)と(16)との相違部分は、J1に示す項とK1に示す項である。上式(15)と(17)では、この相違部分は、J2に示す項とK2に示す項の相違になる。
これらの相違部分を、図を用いて直感的に説明すると次のようになる。即ち、前述のように第2の立体視方式は図25(A)(B)、図26の3つの変換により成り立っている。そして第1の立体視方式が第2の立体視方式と異なるのは、最初の図25(A)の平行移動でのずれ量である。即ち第1の立体視方式では、このずれ量はzcotαになる(上式(14)(15)のJ1、J2参照)。これに対して第2の立体視方式では、このずれ量はvcosα(上式(16)(17)のK1、K2参照)になる。
このように第2の立体視方式では、ずれ量(vcosα)は、視点(v)と視線方向(α)に依存する。一方、第1の立体視方式では、ずれ量(zcotα)は、高さ(z)と視線方向(α)に依存し、視点(v)そのものには依存しない。そしてこの第1の立体視方式でのずれ量(zcotα)は、図27に示すように、物体の点(x、y、z)から下ろした垂線が、基準面(机)スクリーンとが交わる点N1と、物体の点(x、y、z)から、射影方向ではなく視線方向に延ばした線と、基準面スクリーンとが交わる点N2との間の距離に等しい。
このように第1の立体視方式では、図25(A)の平行移動のずれ量(zcotα)が、高さ(z)に依存する。従って、物体の点(x、y、z)の高さ(z)に応じて、第1の立体視方式での立体視の見え方と、第2の立体視方式での立体視の見え方に差異が生じるようになり、この点において第1、第2の立体視方式は異なる。
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
例えば、明細書又は図面中の記載において広義な用語(物体、プリミティブ面等)として引用された用語(オブジェクト・被写体、ポリゴン等)は、明細書又は図面中の他の記載においても広義な用語に置き換えることができる。
また、左目用画像、右目用画像、立体視用画像の作成(生成)手法も、本実施形態で説明したものに限定されず、種々の変形実施が可能である。
また本発明の手法で作成(生成)された立体視用画像を、立体視用印刷物やゲーム画像以外の用途に用いることも可能である。
また本実施形態で説明した第1、第2の立体視方式と均等な方式で、立体視用画像を生成する場合も本発明の範囲に含まれる。
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
また、本発明は種々のゲーム(格闘ゲーム、競争ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、ロールプレイングゲーム等)に適用できる。
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システム(ゲームシステム)に適用できる。