3次元画像ディスプレイの画面に3次元画像を描画するシステム及び方法
ディスプレイ画面を有する3次元ディスプレイ装置と、3次元スクリーンをアドレッシングする手段と、及び3次元モデル用入力と少なくとも1つのビューポイント用入力を有するレンダラであって、前記アドレッシング手段に供給する画像情報をレンダリングするレンダラとを有するシステムである。前記レンダラは、前記3次元モデルの入力とマインビューポイントの入力を有し、RGBとZ値を有するスタック層(S1、S2、S3)を有するメインビューポイントZスタック(91、94)であるオブジェクトをレンダリングする初期部(70)を有し、前記レンダラは、さらに、前記初期段階により生成されたメインビューポイントZスタックから追加的ビューポイントのZスタックが構成されるZスタックコンストラクタと、前記Zスタックから画像情報を生成するさらなる画像情報隠蔽動作段階を有する。
【発明の詳細な説明】
【発明の詳細な説明】
【0001】
本発明は、ディスプレイ画面を有する3次元ディスプレイ装置と、ディスプレイ画面をアドレッシングする手段と、及び3次元モデル用入力と少なくとも1つの視点用入力を有する描画器であって、前記アドレッシング手段に供給する画像情報を描画する描画器とを有するシステムに関する。
【0002】
本発明は、ディスプレイ装置で使用する描画器にも関する。
【0003】
本発明は、ディスプレイ装置のアドレッシング手段に入力される情報を生成する描画器にも関する。
【0004】
本発明は、3次元ディスプレイ装置のアドレッシング手段に供給されるデータを描画する方法にも関する。
【0005】
近年、3次元画像ディスプレイ画面に3次元画像を表示することに大きな関心が集まっている。3次元画像化は、画像化におけるカラー画像化の次に来る偉大なイノベーションであると信じられている。
【0006】
3次元ディスプレイ装置は、通常、画像を表示するディスプレイ画面を有する。
【0007】
画像の表示に必要な情報(データ)は、描画器により描画される。描画器は、3次元モデルの入力と視点の入力を有する。
【0008】
基本的に、3次元の印象の生成には、ステレオペア(看者の両眼に向けた2つの異なる画像)、ホログラフ技術、またはディスプレイ中の複数平面を用いる。複数平面技術を用いて容積画像を構成し、その場合、3次元ピクセルは3次元体積のいわゆるボクセルに置き換えられる。ほとんどの複数平面ディスプレイが有する不利な点は、ボクセルは光を発するが、光をブロックしないことである。このため、透明なオブジェクトは、表示された画像の見栄えが文字通りぼんやりして好ましくないものとなる。
【0009】
ディスプレイ画面を用いるディスプレイや、ステレオディスプレイには、この問題はない。ステレオ画像を生成する方法はいくつかある。画像は3次元ディスプレイ上で時分割多重されていてもよいが、その場合、看者はLCDシャッタ等のメガネを×必要がある。ステレオ画像を同時に表示して、ヘッドマウントディスプレイを用いて、または偏光メガネを用いて(画像も直角偏光して作成する)、画像を対応する方の目に入るようにしてもよいしオブザーバがかけたメガネにより、ビューがそれぞれの目に効果的に経路付けされる。メガネのシャッタまたは偏光板はフレームレートと同期して、経路付けを制御する。フリッカーを防止するため、2次元の透過な画像に対して、フレームレートを2倍にするか、または解像度を半分にしなければならない。上記のシステムの欠点は、2つの画像により限定的な「ルックアラウンド」しか表せないことである。さらにまた、何らかの効果を得るためメガネをかけなければならない。メガネをかけ慣れてないオブザーバは喜ばず、すでにメガネをかけている者には追加のメガネをかけなければならず、必ずしもフィットしないので問題である。
【0010】
2つのステレオ画像を、看者の目の近くではなく、パララックスバリア等の分離スクリーンにより、ディスプレイ画面のところで分けることもできる。これは、例えば、米国特許公報第US5,969,850号に記載されている。
ディスプレイスクリーンでビューが分離しているディスプレイは、3次元画像を見るのに特殊なメガネを必要としないという意味で自動立体視であるが、固定された位置にいる一人の看者に対してのみ動作することが多い。
【0011】
視界は非常に狭くなる。視界の外側では、オブザーバには複数の画像やステレオ逆転像が見え、非常に好ましくない。実際、これは、例えばリビングルーム等の多くのアプリケーションにおいて、ビューイングゾーンが小さすぎ、3次元画像を見るためには、看者は一カ所に座っていなければならない。
【0012】
米国特許第US5,969,850に開示された装置は、動的パララックスバリア(バリアスリットが自動立体視ディスプレイ装置が作成されているスクリーンにわたって動くパララックスバリア)を用いることにより、狭いビューイングゾーンの問題に対する解決策を提案している。
【0013】
上記は、それぞれが長所も短所も有する、3次元画像を提供する異なるタイプの方法を説明している。本発明は、一部のタイプの装置にはその他よりもよく使用されるが、特定タイプの3次元装置に限定されない。本発明は、レンダラ、すなわち、画像情報(データ)を描画するシステムの一部にも関する。N個のビュー(すなわち、ディスプレイスクリーン上の多数のビュー)を提供できるディスプレイ装置を有するシステムが求められている。このような装置は、複数の看者に対して、比較的広いビューイングアングルにわたって見ることができるディスプレイスクリーン上に3次元画像を提供することができる。異なるビューの数は、一般的には10から100である。本発明が特に対象としているのは、このようなタイプの3次元画像ディスプレイ装置である。
【0014】
複数画像を提供する方法の1つは、画像の数だけカメラを使用することである。しかし、この方法は、非常にコストがかかり、現実的でないことが多く、インターラクティブなゲームには向いていない。このように、実際には、画像情報は計算または構成されることが多く、その計算または構成の基礎は、カメラで集められた情報に一部基づいている。
【0015】
ゲームを表示するために、特に3次元ゲームでは、レンダラが使用される。レンダラは画像のデータを描画しなければならない。単純な立体視ディスプレイの場合、すなわち、ビューポイントの数がN=2である場合、レンダラは2つの画像のデータを描画しなければならない。一方、より複雑な3次元の場合、例えば、自動立体視ディスプレイの場合、ビューの数は大幅に増加し、現在はN〜10である。将来の3次元ディスプレイの場合、N〜100となることが予想される。レンダラは、より多くのビューを供給しなければならず、よって、より多くのデータを供給しなければならない。レンダラはディスプレイ装置自体の一部であってもいし、または、ディスプレイ装置に、またはそのアドレッシング手段への入力として画像装置に供給される画像情報を提供するスタンドアロンの装置であってもよい。これに関して、多数のビューの情報を生成しなければならないだけでなく、特に3次元ゲームの場合だけではないが、画像の品質が各ビューポイントでほぼ同じであることが好ましいことが非常に重要である。
【0016】
現在のレンダリング技術は、3次元モデルと別々のビューのビューポイントに基づき、その別々のビューのそれぞれに対して画像情報(すなわちデータ)を描画するレンダラを用いる。これらの方法は、N=2である3次元画像化には有用であるが、トレンドとしては、ビューの場所を増やし、画像を多数の異なるビューポイントから見られるようにするため、ますます多くのビューポイントを設ける必要がある。このことは、特に3次元ゲームにあてはまるが、これに限られるものではない。例えば、複数の対抗者(すなわち、看者)がディスプレイスクリーン上で互いに対戦するとき、全ての対抗者が同じ土台の上で対戦することが重要である。この条件を満たすため、画像品質がほぼ同じで、高速、かつ詳細度が高い多数のビューポイントを描画しなければならない。インターラクティブなゲームの場合、全てのデータはリアルタイムで描画しなければならず、大きなデータセットをオンラインでレンダリングすることを要する。このような条件は、現状の技術で得ることは困難である。
【0017】
本発明の目的は、既存装置の代替として、3次元(例えば、自動立体視)ディスプレイ装置のために、高速、正確、及び詳細にレンダリングできる装置を提供することである。
【0018】
このため、本発明によるシステムは、前記レンダラは、前記3次元モデルの入力とマインビューポイントの入力を有し、それぞれが色情報とZ値を有する要素アレイを有するスタック層を有するメインビューポイントZスタックであるオブジェクトをレンダリングする初期部を有し、前記レンダラは、さらに、前記初期段階により生成されたメインビューポイントZスタックから追加的ビューポイントのZスタックが構成されるZスタックコンストラクタと、前記Zスタックから画像情報を生成するさらなる画像情報隠蔽動作段階とを有することを特徴とする。
【0019】
レンダラは、色(RGB)と奥行き値(Z)を有する一組のピクセルである、表示されるべき画像に含まれたオブジェクトを描画する初期部を有する。この初期部には、3次元モデルの入力とメインビューポイントの入力がある。この初期段階の出力は、メインビューポイントについて、色(RGBまたは単一色)情報とZ値を含むスタック層を有するZスタックである。レンダラは、後続のZスタックコンストラクタ中のメインビューポイントZスタックを用いる。Zスタックコンストラクタでは、メインビューポイントの色情報(RGBまたはモノクロ)とZ値を有するメインビューポイントZスタックから、追加的ビューポイントの色情報(RGBまたはモノクロ)とZ値を有するZスタックが構成される。それぞれのZスタックは、さらなる画像情報隠蔽動作段階で、アドレッシング手段に供給する画像情報に変換される。
【0020】
オブジェクトが生成されるとき、X−Y−Z座標(空間中の位置)と場合によっては不透明(α)値だけでなく、RGB座標(色、またはモノクローム画像の場合、モノカラー)も有する。ビューポイントからの画像を構成することは、基本的には、ビューポイントに対応する平面にそのオブジェクトを投影することを必要とする。レンダリングにおける最も顕著な特徴の1つに、前にあるオブジェクトが他の、より遠くにあるオブジェクトを隠蔽することが挙げられる。レンダラはこれを考慮して、スクリーン上に全てのオブジェクトを単に投影すると、前面のオブジェクトより遠くにあるオブジェクトが、前面のオブジェクトを通して見えてしまうことになる。前面のオブジェクトがぼやけて見えてしまう。
【0021】
レンダリングパイプ(レンダラの別名)において、いわゆるフレーム/Zバッファ法により画像を生成することができることが知られている。3次元モデル中の各オブジェクトは、少なくとも色(RGB)と奥行き値(Z)を伴う一組のピクセルの形で最初のテクスチャ段階を出る。隠蔽動作段階において、全てのオブジェクトピクセルのZ値をZバッファ中の適当なピクセルと比較する。オブジェクトのZ値が小さい(現在のオブジェクトより看者に近いオブジェクト)場合、オブジェクトのRGBとZ値がフレームとZバッファ中の適当なピクセルにそれぞれコピーされる。この方法は、黒いフレームバッファと−∞が入ったZバッファで始まり、その後、全てのオブジェクトがレンダリングパイプを通して入力される。最後に、フレームバッファはレンダリングパイプの出力として機能する画像を含んでいる。Zバッファの最後の内容は使用されない。原理上、フレームとZバッファは共に、いわゆる「画像+奥行き」データ構造を形成する。この「画像+奥行き」データ構造は、全てのピクセルが色データRGBと奥行きZの両方を有することを意味する。フレームバッファ中のRGBZデータから、適度な処理量で他のビューポイントからの画像を描画することができる。しかし、このタイプの追加的ビューポイントレンダリングには大きな欠点がある。すなわち、残りのビューポイントについて描画した画像の品質がメインビューポイントの画像の品質より低い。フレームバッファ中の画像は、メインビューポイントから見える複数のオブジェクトを含み、他のビューポイントからの画像中のどこにこの同じオブジェクトがあるかを計算し、そのビューポイントからの画像を計算することが可能であるが、残りのビューポイントからメインビューポイントからは見えない他のオブジェクトが見えるという問題がある。このようなオブジェクトは、フレーム/Zバッファにはなく、追加的ビューポイントの画像では正しく描画することができない。同様に、メインビューポイントから見た画像に見えるオブジェクトでさえ、メインビューポイントからは見えないが他のビューポイントからは見える部分を有している可能性もある。
【0022】
本発明においては、初期段階の出力はフレーム/Zバッファではなく、メインビューポイントZスタックである。このZスタックは、メインビューポイントに特定のものであるが、メインビューポイントに近いものと遠いもの両方の、残りの全てのビューポイントからの画像を生成するために必要な関連情報をほとんど全て有する。Zスタックは、本発明においては、データ(RGB(またはモノクロ)値とZ値、及び可能性としてα値)を有する要素アレイのスタック(すなわち複数の層)である。第1層は、メインビューポイントから最初に見える要素とオブジェクト(の一部)を有する。第2層は、第1層のオブジェクトまたはその一部の後にある、ビューポイントから見える、オブジェクトまたはその一部を有する。第3層は、スタックの第2層にあるオブジェクトまたはその一部脳死路にあるオブジェクトを有する。当業者には明らかであるが、計算は通常コンピュータまたはコンピュータプログラムにより行われるが、「スタック」はこれを考慮して、すなわち、コンピュータで生成及び/または格納されたデータの構成の説明として解釈すべきである。メインビューポイントで見えない、すなわち、他のオブジェクトまたはその一部により視界から隠されている(そのため、上で説明したフレーム/Zバッファには無い))オブジェクト(またはその一部)は、メインビューZスタック中、すなわち、スタックの第2層、第3層等にある。留意すべきことは、単一のオブジェクトの一部は、スタック中の1つより多い層に分散していてもよいことである。
【0023】
本発明による装置は、初期段階の後にZスタックコンストラクタと、メインビューポイントのZスタックに基づき、各追加的ビューポイントのZスタックをレンダリングする追加的3次元レンダリング段階とを有する。追加的ビューポイントのそれぞれについて、メインビューポイントZスタックに基づいて、新しいZスタックが作られる。1つのビューポイント、メインビューポイントは、レンダリングパイプに入力され、通常通り処理される。一方、追加的N−1個のビューポイントはレンダラ内部の余分段階に入力される。このように、レンダリングパイプの大部分は、モノスコピック、すなわち、1つのビューポイントに対するものであり、全てのN個の画像で共通に使用される。この後の隠蔽動作段階でもそうである。
【0024】
この元のメインビューZスタックは、メインビューポイントに近いものと遠いもの両方の、残りの全てのビューポイントからの画像を生成するために必要な関連情報をほとんど全て有する。このメインビューポイントZスタックから、新しいZスタックが追加的ビューポイントについて生成される。これらのZスタックは、それ自体ほとんど全ての情報を有し、追加的ビューポイントの画像はメインビューポイントの画像とほぼ同じ画像品質となる。
【0025】
このように、N個の異なるビューポイントを独立に構成するのと比較して、アルゴリズムの速さと単純さが大幅に増す。また、メインビューポイントのフレーム/Zバッファを生成し、メインビューポイントフレーム/Zバッファから他のビューポイントの画像を構成するのと比較して、品質が大幅に向上する。
【0026】
理想的には、レンダリングの後、全てのZスタックが各Zスタックに対応するビューポイントから見える前面オブジェクトを含む。オブジェクトが表されている要素の数は、異なるZスタックでは同じでなくてもよい。オブジェクトは異なるビューポイントから見ると異なるサイズで見えるからである。それゆえ、Zスタックのエレメント間には1対1対応がないが、オブジェクトに関する限り1対1対応がある。1つのメインビューポイントZスタックに基づき追加的Zスタックを構成するとき、オブジェクトは1つずつコピーされるが、要素のコピーは1つずつでは不十分である。後者の場合、オブジェクトがメインZスタック中で100個の要素で表されているが、新しいZスタックでは110または90個の要素で表される時、問題が起きる。本願発明者の洞察によると、例えば、外挿や収縮によるオブジェクト内の要素数のスケーリングと組み合わせたオブジェクト毎の方法は、エレメント毎のよりも好ましい。
【0027】
それゆえ、前記レンダラは、Zスタックからオブジェクトを抽出するオブジェクト抽出器を有することが好ましい。本発明のフレームワーク内の抽出は、Zスタックの要素をグルーピング基準に基づきグループにすることを意味する。1つの同じオブジェクトに属する要素は、通常、同じかまたは類似したZ値を有する(または、1つの要素から隣の要素に行くときにZ値の明らかな規則的変化がない)。さらにまた、RGB値も同じか、近いものである。
【0028】
メインビューポイントZスタックの要素をオブジェクトにグループ分けすることは有利である。これにより、メインビューポイントZスタックから追加的ビューポイントの新しいZスタックに1つずつオブジェクトをコピーすることができる。縮小と外挿操作は、基本的には、コンピュータグラフィックスの分野で周知の再サンプリング操作である。好ましい実施形態において、オブジェクト抽出は、メインビューポイントZスタックに対してだけ行われ、その効率は追加的ビューポイントの数N−1には依存しない。追加的ビューポイントの構成の前のオブジェクトの大きさ及び形状について知ることにより、外挿及び縮小に必要なオブジェクト内の要素の再サンプリングを高品質で実施することができる。
【0029】
好ましくは、前記レンダラはDOFレンダリング段階を有する。DOF(フィールドの奥行き)は、オブジェクトにフォーカスしているフォーカス平面があり、フォーカス平面から離れたオブジェクトは幾分ぼやけているという事実に関する。ぼやかしは、オブジェクトテクスチャ内、及びオブジェクトの周縁におけるRGB値の空間的再配分、またはオブジェクトの不透明性を少し変化させることによりなされる。DOFぼかしは、追加的ビューポイントZスタックのそれぞれについて行われるが、好ましくは、メインポイントビューZスタックに対して行われる。その結果、メインポイントビューのZスタックでは、RGBとZ値(及び、可能性として不透明性)のデータにおいてDOFによるぼやけが考慮される。フォーカス平面は、追加的ビューポイントでもほとんど常に同じである。それ故、メインビューポイントのDOFぼかしと、全ての追加的ビューポイントのZスタックを生成する基礎として「ぼかされた」メインビューポイントZスタックを使用することにより、(品質の)最終結果は、メインポイントビューZスタックを用いて、追加的ビューポイントに対してZスタックを生成し、全ての追加的ビューポイントZスタックに対してDOFぼかしを実行したのと同じくらいよいが、非常に速くなる。
【0030】
Zスタックコンストラクタは、順次(すなわち1つずつ)、またはパラレルに、追加的ビューポイントZスタックを構成する。これはパラレルに行うことが好ましい。順次行った場合、Zスタックコンストラクタは、最初の追加的ビューポイントZスタックをメインポイントから構成し、これをさらに別のZスタックを構成するために使用する。しかし、このような順次処理には、小さな誤差が集積するリスクがある。それゆえ、好ましくは、順次でもパラレル処理でも、各追加的ZスタックをメインビューポイントZスタックに基づいて計算する。
【0031】
好ましくは、前記メインポイントビューZスタックデータは不透明度のデータを含み、前記Zスタックコンストラクタもオブジェクトの不透明度をオブジェクト抽出の後、適合させる手段を有することを特徴とするシステム。
【0032】
オブジェクトの隠蔽は上に説明した。隠蔽とは別に(すなわち、1つのオブジェクトは、ビューポイントから見える他のオブジェクトの後にある時は見えない)、不透明性も関係してくる。一部のオブジェクトは(半)透明であるかも知れない。このようなオブジェクトの後にあるオブジェクトは、ある程度見える。不透明性の概念、すなわち、オブジェクトを不透明にすることにより、上記の効果を考慮することができる。基本的に、不透明性(例えば、0と1の間の数字)は、画像中で後のオブジェクトをどのくらい見えるようにするかという尺度を与える。不透明性が0の場合、オブジェクトは不透明である(すなわち、オブジェクトの後のオブジェクトの光は届かない)。不透明性が1の場合、オブジェクトは完全に透明であり、後のオブジェクトの光が届く。メインビューポイントZスタックに示して、不透明性(通常はαで示される)により、より実際に近い画像描画が可能となる。これらの不透明性データを追加的ビューポイントZスタックに移転するだけで有用である。しかし、オブジェクトの不透明性はビューポイントにより変わる。それは、例えば、平面の場合、それを見る角度によって不透明性が変わるからである。不透明性を入れることにより、実際に近い画像描画が可能となる。
【0033】
異なる色毎に異なる不透明性データが分離している場合、この側面の重要性がより高くなる。
【0034】
好ましくは、前記Zスタックコンストラクタは、オブジェクトのRGB値を、オブジェクト抽出の後、適合させる手段も有する。
【0035】
メインビューポイントZスタックは色情報(例えば、RGB値)を有する。本発明の実施形態において、これらのRGB値は、ビューポイントが変化しても変わらなくてもよい。しかし、一部のオブジェクトの場合、ビューアングルが変化すると色も変化し、ビューポイントが変化するにつれて明るくなったり、暗くなったり、色が変わったりする。好ましい実施形態において、Zスタックコンストラクタにより、このような変化が可能となる。
【0036】
好ましくは、前記システムは、追加的ビューポイントのデータの入力を有する。Zスタックコンストラクタは、追加的ビューポイントのデータを構成する。これは自動的に行われる。この場合、例えば、3次元ディスプレイ装置で見られるだけ多く(すなわち、全ての可能なディスプレイ装置をカバーできるだけ多数)のZスタックのデータを構成することもできる。これには、多数の追加的ビューポイントZスタックを構成する必要がある。しかし、好ましくは、システムは追加的ビューポイントのデータを追加的ビューポイントZスタックコンストラクタに供給する入力を有する。ディスプレイ装置のタイプにより、追加的ビューポイントの数は変わる。追加的ビューポイントの特定のデータ(数及び/またはメインビューポイントに対する位置/方向)を供給するための入力を設けることにより、Zスタックコンストラクタは、必要に応じて追加的ビューポイントZスタックを設けることができ、効率を高める。ビューポイントのデータは、簡単な実施形態において、例えば、生成すべきビューの数と最大ビューイング角度範囲である。好ましい実施形態においては、システムは、ユーザの好みに対応するビューポイントを確立する手段、またはユーザのビューポイントに対応するデータを供給される手段と有する。例えば、3次元ゲームにおいて、一人より多いプレーヤが参加する場合、ゴーグル、ヘッドホン、レーザ銃、バッジ等を使用することにより、システムは、例えば、上記の特徴が、IRまたは超音波センサによりディスプレイ装置に対する上記の特徴の位置を検出する手段とともに設けられた場合、そのディスプレイ装置のディスプレイスクリーンに対するプレーヤの正確なまたはおおよその位置を検出することができる。追加的Zスタックコンストラクタに上記の情報を供給することにより、プレーヤに対応するビューポイントは、高い精度とリフレッシュレートで処理できるが、一方、その他のビューポイントは処理できないか、またはより低い精度とリフレッシュレートで処理される。これにより、実際に問題となるビューポイント、すなわち、プレーヤと関連するビューポイントのスピードと画像品質が、大幅なコスト増の必要性なしに、大幅に上昇する。
【0037】
本発明の上記その他の態様は、以下に説明する実施形態を参照して明らかになり、説明される。
【0038】
図面はスケール通りには描かれていない。一般的に、図面中の同一の構成要素は同じ参照数字で示されている。
【0039】
図1はディスプレイ装置を示している。3次元テレビジョンの場合、光が独立に放射される多数のビューイング方向が必要である。国内アプリケーションにおいては、ビューイング距離は約3mであり、ユーザは約3m幅のソファに座っている(図1を参照)。そこで、少なくとも60°のビューイング角度が必要である。両眼は6.5cm離れている。それぞれの目が異なる画像に到達するためには、ディスプレイは3m/6.5cm=300/6.5=50方向に光を放射する必要がある。頭を動かした場合、不連続な遷移無しに3次元画像に到達するためには、3次元テレビジョンは50より非常に多い(例えば、少なくとも100)方向に光を放射しなければならない。多数のビューを生成する、本発明が限定されない1つの方法は、パララックスバリアを使用することである。
【0040】
図2は、2つのステレオ画像を分離するパララックスバリアの基本原理を示している。2つのステレオ画像の垂直線が、バックライトを有する空間的光変調器(例えば、LCD)等の上に交互に表示される。パララックスバリア7の格子構造により、看者4のそれぞれの目は、必ず適当な画像(5、6)を見ることになる。これは、単に3次元画像化システムを例示するために示されており、本発明の範囲を限定するものと解してはならない。
【0041】
図3Aは、パララックスバリアの使用を示す。従来のバリア自動ステレオディスプレイシステムにおいて、バリア31はディスプレイアレイ32の前に配置される。ステレオ画像ペアの左と右の画像は、垂直ストリップにスライスされている。左画像のストリップ32Lと右画像のストリップ32Rは、アレイ32上に交互に配置されている。スロット31Aはバリア31に形成されている。スロット31Aは、オブザーバの左目4Lが左画像のストリップ32Lのみを見ることができ、右目4Rがペアの右画像のストリップ32Rのみを見ることができるように、配置されている。オブザーバは3次元における完全な画像を再構成する。
【0042】
次に図3Bを参照して、同様の原理を説明する。ここでは、バリア31がレンズ状スクリーン33に置き換わっており、このレンズ状スクリーン33は、垂直シリンドリカルレンズ33Aのアレイを有する。各シリンドリカルレンズ33Aは、左と右の画像ストリップ32Lと32Rの異なるペアに対応している。動作時、各レンズにより、オブザーバの左目4Lは左画像ストリップ32Lに方向付けられ、オブザーバの右目4Rは右画像ストリップ32Rに方向付けられる。
【0043】
図4は、基本的立体視装置の問題を示す図である。正しいビューイングゾーン内に座っていない看者は混乱してしまう。ビューイングゾーンは非常に狭い。ビューイングゾーンの外側では、オブザーバには複数の画像や立体逆像が見え、非常に好ましくない。実際、これは、例えばリビングルーム等の多くのアプリケーションにおいて、ビューイングゾーンが小さすぎ、何を見るにしても、看者は特定の場所に座っていなければならない。リビングルームの場合、たった一人の看者が一カ所に座っている場合にだけ3次元画像を見ることができるだけなので、最適な状態とはほど遠い。
【0044】
図5は、米国特許第US5,969,850号に開示された装置を示す概略図である。この装置において、ビューイングゾーンが狭いという問題に対する解決策として、動的パララックスバリア51(すなわち、バリアスリットがスクリーン上を動くパララックスバリア)を使用することが提案されている。パララックスバリアのスクリーン上の動きはスキャンされて、多数のビュー(N個のビュー)が生成される。多数のビューを提供するため、これらの画像のデータを生成しなければならない。上記の図面は、数タイプの3次元ディスプレイ装置を例として示したものであり、本発明の範囲を限定するものと解してはならない。3次元画像、特に、N方向のビューを有するディスプレイを提供する他の方法も提案されている。
【0045】
しかし、どの方法もシステムも、十分大きなビューイングゾーンを確保し複数の看者が画像を見られるようにするために、多数のビュー(一般的に、10から100)を必要とする。3次元ゲームの場合、看者と表示画像との間にインターラクションがあることが多く、広い範囲のビューポイントを必要とし、(映画の場合、オブジェクトに対する看者のビューポイントは限定されている場合が多いが、3次元ゲームの場合にはあまりあてはまらない)システムは看者の動作にも反応できなければならない。3次元ゲームの場合、全ての看者と参加者のビューが同等品質であることが非常に重要である。そうでないと、ゲームは「マルチユーザ」として販売することができない。その理由は、スクリーンの前右側に座っている人のビューの正確性が高く、スピードが速い場合、その人がゲームに勝つ可能性が高くなるからである。これは(勝った人以外にはおそらく)受け入れられない。
【0046】
そうすると、リアルタイムかつ異なるビューに対して同程度の品質で多数のビューを描画しなければならない。本発明の目的はこれであり、特にN個の画像用のデータを描画することである。
【0047】
図6は、2次元及び3次元ディスプレイの場合に、3次元ゲームにおける現在のレンダリング方法を示している。ゲーム中、3次元モデル61は、動的に変化する、特定状態にあり特定位置にある全てのオブジェクトを含んでいる。このモデルは、カメラビューポイント63とともにレンダリングパイプ(レンダラ)62に入力される。通常の3次元ディスプレイの場合、レンダリングパイプ61は単一の画像を生成する。レンダリングパイプにより描画される画像データ64は、ディスプレイ装置65に送られる。
【0048】
3次元ディスプレイの場合、レンダリングパイプはN個の画像を生成する。単純な立体視ディスプレイの場合、N=2である。一方、自動立体視3次元ディスプレイの場合、Nはより大きく(N〜10)、将来の3次元ディスプレイの場合、N〜100であると期待されている。本発明は、最も広い意味ではN=2の場合に適用可能であるが、Nビュー(N〜10からN〜100以上)のディスプレイ装置に対して特に有利である。
【0049】
現在のレンダリングパイプは2つ以上の完全にモノスコープパイプは含まず、時間多重においては単一のモノスコープパイプが使用されている。これはフレームレート(1秒当たりの画像数)を犠牲にするか、いかなる計算上のトレードオフも可能である(例えば、一定のフレームレートを維持するための解像度の低下)。
【0050】
Nが大きい場合、レンダリングパイプへの付加は極端に大きくなる。3次元レンダリングにおいて、現在N=2の場合だけが、3次元ゴーグルに基づく商業的に利用可能な3次元ディスプレイをサポートするために使用されている。
【0051】
レンダリングにおける最も顕著な特徴の1つに、前にあるオブジェクトが他の、より遠くにあるオブジェクトを隠蔽することが挙げられる。最近、いわゆるフレーム/Zバッファ法によりレンダリングパイプにこの特徴が実装された。3次元モデル中の各オブジェクトは、少なくとも色(RGB)と奥行き値(Z)を伴う一組の要素の形でテクスチャ段階を出る。隠蔽動作段階は、全ての要素のZ値をZバッファ中の適当な要素と比較する。要素のZ値が小さい(現在のオブジェクトより看者に近いオブジェクト)場合、要素のRGBとZ値がフレームとZバッファにそれぞれコピーされる。この方法は、黒いフレームバッファと−∞が入ったZバッファで始まり、その後、全てのオブジェクトがパイプを通して入力される。最後に、フレームバッファはレンダリングパイプの出力として機能する画像を含んでいる。Zバッファの最後の内容は使用されない。原理上、フレームとZバッファは共に、いわゆる「画像+奥行き」データ構造を形成する。この「画像+奥行き」データ構造は、全ての要素またはピクセルが色データRGBと奥行きZの両方を有することを意味する。フレームバッファ中のRGBZデータから、適度な処理量で他のビューポイントに対する画像を描画することができる。しかし、このタイプの追加的ビューポイントレンダリングには大きな欠点がある。すなわち、残りのビューポイントに対して描画された画像の質が、メインビューポイントの質よりも低く、残りのビューポイントとメインビューポイントとの差が大きければ大きいほど、残りのビューポイントに対するデータの質が低くなる。フレームバッファ中画像にはメインビューポイントから見たオブジェクトが含まれている。これらの同じオブジェクトが他のビューポイントからの画像ではどこにあるかを計算し、そのビューポイントからの画像を計算することができる。しかし、残りのビューポイントから、メインビューポイントからは見えない他のオブジェクトが見える。その理由は単純で、かかるオブジェクトはフレーム/Zバッファにはなく、決して正しく描画することはできない。同様に、メインビューポイントから見た画像に見えるオブジェクトでさえ、メインビューポイントからは見えないが他のビューポイントからは見える部分を有している可能性もある。ある程度、上記の「失われた部分」がどのように見えるかを推測することはでき(通常は、見える部分の外挿による)、役に立つかも知れないが、メインビューポイントに近いビューに限られる。例えば、腕の一部が見えている場合、その腕の残りの部分の位置を推測することはでき、腕の先に手があるということは比較的確実に分かるが、どんな武器を手に持っているか、そしてその腕に対する位置関係はどうかは知ることができない。
【0052】
過度な計算パワーなしにほぼ同じ画像品質を有するN個の画像の描画を可能とするシステムと方法を提供することは、困難な課題である。
【0053】
図7は、本発明によるディスプレイ装置用レンダラ(レンダリングパイプ)62及び本発明による方法を示す。
【0054】
レンダラ62は、メインビューポイント用のZスタックを生成しうる第1の部分70を有する。この部分は、この例において、メインビューポイント用の入力63と3次元モデル用の入力61とを有する。全てのジオメトリ(オブジェクトの形状と形式)はメインビューポイントに従ってジオメトリ変換器71で変換される。データはピクセル化器72でピクセル化される。すなわち、全てのオブジェクトは、X、Y、Z、色(RGB)、及びα(不透明度または透明度)値を有するピクセルに変換される。そして、テクスチャがテクスチャライザ73で付加される。メインビューポイントの場合、DOF(フィールドの奥行き)がDOFレンダラ74で付加される。これはメインビューポイントに関するデータに対して行われる。これは、追加的ビューポイントの数N−1に拘わらず、メインビューポイントに対して1度だけ行われる。その後、メインビューポイントのデータ(下で説明するようにZスタックの形式である)を3次元レンダリング段階75の基礎として使用する。3次元レンダリング段階75は、残りのN−1個の追加的ビューポイントに関するデータの入力を有し、N−1個の追加的ビューポイントのN−1個のZスタックを出力として描画する。隠蔽動作段階76において、N−1個の追加的ビューポイントZスタックは中のデータ(メインビューポイントのZスタック中のデータとともに)は、Zトレーシング手段により、N個の異なるビューポイントからのN個の画像のN個のフレームバッファに変換される。計算量は比較的小さいが、その理由は、通常は最も大きな計算パワーを必要とする処理(ステップ74を含んでステップ74まで)の最初の部分がメインビューポイントに対してだけ実行されるからである。この結果得られるメインビューポイントZスタック(この例ではDOFを有する)は、その他全てのビューポイントの基礎である。
【0055】
本発明による方法と、本発明によるシステムは、N個の高品質のビューの効率的計算を可能とする一方、フレーム/Zバッファに基づく既存の方法は、低品質ビューしか提供できず、完全に独立なN個のビューの生成に基づく既存の方法は、効率的ではない。
【0056】
図8は、Zスタックの構成及び異なるビューポイントに対するフレームバッファをさらに示す図である。
【0057】
3次元モデル80は、全ての情報、すなわち、全てのオブジェクトとその相互の方向を有する。完全な3次元モデルから、メインポイントの3層Zスタック81が生成される。これは、図8に概略を示したZスタックコンストラクタにより行われる。このZスタックコンストラクタは、要素を有する(この例では)3つのシーケンシャルバッファの層構造を構成する。ここで、各要素に対して、(この例では)Z、I(色を示す)、アルファ(不透明性ファクタアルファを示す)の値が格納される。基本的に、Zスタックの第1のスタックは、ビューポイントから最初に見える全ての要素のRGB(色情報)とZ座標(及び、可能なら、アルファ情報その他の情報)を有する。このように、Zスタックの第1層は、最初に見えるオブジェクトとオブジェクトの部分(すなわち、ビューポイントに最も近い要素)を有する。この例では、このように、中央ラインI−Iに沿ったZスタックの第1層S1は、オブジェクトDの部分、オブジェクトAの一部、オブジェクトFの外縁を有する。同じラインに沿って、第2層S2は、オブジェクトBとCの部分、オブジェクトFの部分、及びオブジェクトAの部分(オブジェクトDの後の部分)を有する。第3層は、オブジェクトFの部分(オブジェクトBとCの後の部分)とオブジェクトEを有する。留意すべきことは、1つのオブジェクトがZスタック中の複数の層の一部となることがあることである。その理由は、メインビューポイントからみると、第1、第2、または第3の見えるオブジェクトになるからである。Zスタックを構成すると、第1のスタックに表示されているオブジェクトが全て不透明である場合、Zスタックの第1のスタックS1のデータを有するフレームバッファが構成される。オブジェクトが透明である場合(すなわち、値が0(不透明)と1(完全に透明)の間であるアルファ数が1より小さい)、画像バッファはそれぞれの層S1からS3からのデータの組み合わせを有する。画像バッファ82からのデータは、直接またはさらに処理した後、3次元ディスプレイに送られる。図のパートBにおいて、最終的にフレームバッファ82に行く3次元モデル80が示されている。この3次元モデル80は、元の3次元モデルを構成する異なるオブジェクトAからEの全ての少なくとも一部のデータを有する。フレームバッファ82から初めて、異なるビューに対する画像を生成することはある程度可能であるが、オブジェクトAに隠れたオブジェクトB,C、Eの形状がフレームバッファ中に見えるオブジェクトB,C,Eの部分に基づき推測しなければならない。しかし、常に可能というわけではない。例示のため、図8のこのパートCは、図8のパートBに示した状況と、オブジェクトDがオブジェクトAの後に置かれていることが異なる。Zスタック81′は、オブジェクトDを示す要素が第1の層S1の一部ではもはやなく、層S2の一部であるとのこの変化を反映する。画像バッファ82′は、オブジェクトDの形跡はもはや有さず、オブジェクトDはフレームバッファ82′中にはもうない。メインビューポイントの画像(またはフレーム)バッファ82′に基づいて、オブジェクトDは含まないが、異なるビューポイントの画像を生成することができる。その理由は、簡単で、画像バッファ82′中にオブジェクトDの情報(要素)はないからである。たとえ、前の画像に基づいて、上記のオブジェクトがあるはず、またはあるであろうと推論できても、そのオブジェクトの実際の位置及び/または形状は推測しなければならない。しかし、異なるビューポイントから、そのオブジェクトDは非常によく見えるかも知れない。この問題に対する解決策の1つは、各追加的ビューポイントに対してZスタックを計算することである(ステップ61−73(74))。すなわち、各ビューポイントに対して完全に別のレンダリングパイプを使用する。しかし、これには、非常に大きな計算パワーが必要となる。本発明の基礎は、上の例のオブジェクトD等の「隠れた」オブジェクトに関する情報は、メインビューポイントの第3層または一般には第N層のZスタック81′にあるということである。メインビューポイントのZスタック81′を用いることにより、前面のオブジェクトに隠れたオブジェクトを追跡することができる。これにより、ディスプレイに送られた最終画像には同じピクセルに位置づけられた複数のオブジェクトがあっても、半透明のオブジェクトを正しくレンダリングすることができる。このアプローチでは、まず、完全な3次元モデル中の全てのシーンのオブジェクトがZスタックに描画される。次に、Zトレース法としてここで受け入れた、周知の単一のプロセスにより、Zスタックから、ディスプレイに送るべきフレームまたは画像バッファを抽出する。出力画像情報は、簡単なプロトコルによりZスタックからピクセル毎に構成される。もし全てのオブジェクトが不透明なオブジェクトであれば、Zスタックの第1層が単にコピーされる。透明なオブジェクトの場合、複数の層がマージされる。
【0058】
本発明を、図9にさらに示した。
【0059】
図9は、DOF及び3次元レンダリングブロックの内部構造例を示している。それぞれ、前の段階の結果を格納した追加的バッファスタックを有する。さらに、両方とも、オブジェクト抽出部である新しいユニットを有する。
【0060】
テクスチャ段階(基本的には3次元モデル)の出力は、Zスタック91に描画された第1Zスタックコンストラクタの中にある。このZスタック91は、メインビューポイント用に作られている。メインビューZスタック91をオブジェクト抽出92の開始点として用いる。オブジェクト抽出は、Zスタック91から同じオブジェクトに属する要素を抽出する手続である。図8に示したように、オブジェクトは複数の層S1ないしS3にわたって分布しているかも知れない。オブジェクト抽出部は、スタックをサーチして、オブジェクトを再組み立てする。オブジェクトの再組み立ては、同一オブジェクトの要素は共通の特徴(例えば、RGB値、Z値、及び/または不透明度)を有するという事実を用いて行われる。
【0061】
この例では、オブジェクト抽出の後、メインビューポイントのデータをDOFレンダリングする(93)。DOF(フィールドの奥行き)レンダリングをしないと、全てのオブジェクトは同じシャープネスで画像化される。しかし、これでは画像が不自然になる。自然な画像では、画像がシャープなフォーカスするフィールドがあり、看者により近い、または看者から遠いオブジェクトにはフォーカスせず、従ってぼけている。ぼかしは、例えば、オブジェクト抽出の後、オブジェクトのテクスチャやエッジをデフォーカスすること、すなわち、オブジェクト内でテクスチャを空間的に再配布し、オブジェクト境界の外側のインテンシティの一部を移転し、及び/またはオブジェクトの最も外側部分を半透明にすることにより行われる。DOFレンダリング段階は、そのオブジェクトに対するぼかし部を有する。DOF部の結果、メインビューポイントに対する、幾分ぼけてフォーカスがはずれたオブジェクトと、フォーカス面内のシャープなオブジェクトを有するZスタック94が得られる。DOFぼかしは、この好ましい実施形態においては、メインビューポイントに対するZスタック91中のデータに対して実行される。メインビューポイントについてだけDOFぼかしに必要な計算パワーが必要になるという点で、上記の方法は好ましい。厳密に言うと、全てのビューポイントのそれぞれに対してDOFぼかしをすれば、DOFのぼかし効果としてよりよい結果が得られる。しかし、追加的ビューポイントのDOFは、メインビューポイントのDOFとまったく、またはほとんど代わらない。そこで、好ましい実施形態においては、メインビューポイントのZスタック91にDOFを実行する。DOFぼかしされたオブジェクトは、メインビューポイントの新しいZスタック94に再組み立てされる。このZスタック94は、オブジェクトを抽出するオブジェクト抽出器95の入力となる。抽出されたオブジェクトは、残りのN−1個のビューポイントのそれぞれについて、メインビューポイントとそれぞれのビューポイントの間の違いに従って、シフタ96でシフトされる。シフトされたオブジェクトは、(Zスタックコンストラクタ97中の)新しいZスタックに再組み立てされ、N−1個のZスタックとなる。最後に、3次元レンダリング段階はZトレース部(98)を有する。本発明のフレームワーク内において、重要な点は、追加的ビューポイントのそれぞれについて、メインビューポイントのZスタック91にもとづいて、Zスタック97が構成されるということである。オブジェクト抽出95は任意的である。しかし、オブジェクト抽出は非常に有用なコンセプトである。メインビューポイントの元のZスタック91のデータが追加的ビューポイントのZスタックを構成するために変換されるとき、比較的小さいオブジェクト(例えば、小さな角度で見えるオブジェクト)のサイズが非常に大きくなることがある。ピクセルごとに変換をする時、サイズが大きくなった(例えば、3ピクセルから10ピクセルに)オブジェクトには必ず足りないピクセルがある。足りないピクセルは、例えば、オブジェクト抽出と再構成により再構成される。すなわち、どのピクセルがグループであるか見いだし、ピクセルのグループ内に穴があることを検知し、その穴の要素にフィットするであろう値(RGB、Z)をできるだけよく決定し、その穴に入れ、これによりそのグループの中間の足りない要素を再構成し、オブジェクトを「修理」することにより足りないピクセルが再構成される。これはシフト動作(段階96)の後に実行できる。しかし、そうすると、再構成プロセスステップはN−1回、すなわち、シフトステップ96から得られるZスタックのそれぞれについて、すなわち、追加的ビューポイントのZスタック96(説明を簡単にするため、いろいろな方法ステップの結果には、そのステップの参照数字を付すことがある)のそれぞれについて繰り返さなければならない。オブジェクトをシフト96する前に、オブジェクト抽出95を実行することにより、オブジェクト抽出は、メインビューポイントZスタック94に対して1回だけ実行すればよく、動作の複雑性を低減し、速度を速くすることができる。
【0062】
計算すべきビューポイントの数とメインビューポイントに対する位置/方向は、固定されていてもよく、または好ましくはディスプレイから受信したデータに応じて決定してもよい。好ましくは、前記システムは、追加的ビューポイントのデータの入力(図7参照)を有する。Zスタックコンストラクタ75は、追加的ビューポイントのデータを構成する。これは自動的に行われる。この場合、例えば、自動立体視装置で見られるだけ多く(すなわち、全ての可能なディスプレイ装置をカバーできるだけ多数)のZスタック95を構成することもできる。これには、多数の追加的ビューポイントZスタックを構成する必要がある。しかし、好ましくは、システムは追加的ビューポイントのデータを追加的ビューポイントZスタックコンストラクタに供給する入力を有する。ディスプレイ装置のタイプにより、追加的ビューポイントの数は変わる。追加的ビューポイントの特定のデータ(数及び/またはメインビューポイントに対する位置/方向)を供給するための入力を設けることにより、Zスタックコンストラクタは、必要に応じて追加的ビューポイントZスタックを設けることができ、効率を高める。追加的ビューポイントのデータは、簡単な実施形態において、生成すべきビューの数と最大ビューイング角度範囲である。
【0063】
好ましい実施形態においては、システムは、ユーザに対応するビューポイントを確立する手段、またはユーザのビューポイントに対応するデータを供給される手段と有する。例えば、3次元ゲームにおいて、一人より多いプレーヤが参加する場合、ゴーグル、ヘッドホン、レーザ銃、バッジ等を使用することにより、システムは、例えば、上記の特徴が、IRまたは超音波センサによりディスプレイ装置に対する上記の特徴の位置を検出する手段とともに設けられた場合、そのディスプレイ装置のディスプレイスクリーンに対するプレーヤの正確なまたはおおよその位置を検出することができる。追加的Zスタックコンストラクタに上記の情報を供給することにより、プレーヤに対応するビューポイントは、高い精度とリフレッシュレートで処理できるが、一方、その他のビューポイントのデータは処理できないか、またはより低い精度とリフレッシュレートで処理される。これにより、実際に問題となるビューポイント、すなわち、プレーヤと関連するビューポイントのスピードと画像品質が、コスト増の必要性なしに、大幅に上昇する。
【0064】
図10は、本発明による方法のさらに詳細を示す図である。メインビューポイントのDOFぼかしZスタック94はオブジェクト抽出器に入力される。この例では、オブジェクトは、家H、2つの物置S1、S2、フェンスFe(それには穴(例えば、開いたドア)がある)、大きな木T、及び森Fである。メインビューポイント(VP1、ビューポイント1)のZスタック94から、オブジェクトがオブジェクト抽出95で抽出される。オブジェクトはシフトされる(基本的に、x、y、z値が変更されるが、これはメインビューポイント、及び関連する追加的ビューポイントに基づき簡単に計算できる)。新しいZスタック97が、新しいシフトされたオブジェクトデータに基づき計算される。Zスタック97は、追加的ビュー(VP2、ビューポイント2)の画像バッファの基礎である。元のビューポイント(VP1)において、森の一部は開口dを通して見ることができる。シフトしたビューポイント(VP2)において、木(T)の一部がフェンスの開口を通して見ることができる。このように、この例では、フェンスの開口を通して、追加的ビューの場合、木Tの一部が見えることが概略的に示されている。VP2のZスタックは、メインビューポイント(VP1)のZスタックと簡単なシフト動作に基づいて計算されるので、速く多くのビューに対して実行することができる。
【0065】
留意すべきことは、本発明は、新しい画像をN回描画することと比較して、追加的ビューの画像を生成するために必要な計算パワーを大幅に減らして追加的ビューの画像を生成することができるが、スピードを高くするにはコストがかかる。Zスタック層は複数の層を有し、この例では3層である。3つより多くのオブジェクトが重なって位置している場合、一部のオブジェクトはZスタック層にはない。その理由は、これらは、メインビューポイントから見える第4、第5、等のオブジェクトであるからである。このように、データが失われることがある。好ましくは、Zスタックは、2つから5つの層、最も好ましくは3つから4つの層を有する。Zスタックに多くの層があればあるほど、データ消失の変化は少なくなるが、しかし、必要な計算パワーは大きくなる。本願の発明者は、もっともよい妥協点は上に示した範囲、すなわち、2ないし5、好ましくは3ないし4、最も好ましくは3であることに気がついた。
【0066】
データのさらなる消失は、オブジェクト(例えば、家の側面)がメインビューポイントから見えるように方向付けられたときに、1つまたはほんの少数のピクセルしか占めない場合に起こる。他のビューポイントから分かる詳細の量は、あってもごく少ない。好ましい実施形態において、レンダラは、
3次元モデルとn個のメインビューポイントの入力を有する、色情報(RGB)とZ値を有するスタック層を有するn個のメインビューポイントZスタックであるオブジェクトをレンダリングする初期部を有し、
前記レンダラは、初期段階で生成されたn個のメインビューポイントZスタックから、N−n個の追加的ビューポイントのZスタックを構成するZスタックコンストラクタをさらに有する。
ここで、N>>nである。前記レンダラは、さらに、Zスタックから画像情報を生成する画像情報隠蔽動作段階を有する。
【0067】
このメインビューポイントを有する利点は、最もよいメインビューポイントを選択して追加的ビューポイント中のオブジェクトを構成できることである。選択は、どのメインビューポイントがオブジェクトの詳細を最も多く含むか、すなわち、最も多くの要素で表されるかに基づいてなされる。また、例えば、n個のメインビューポイント中のオブジェクトの表示を外挿することにより、組み合わせルこともできる。最も最近の3次元ディスプレイでは、水平ライン状に配置したビューポイント位置でN個のビューが必要であり、これにより水平方向から見ることができる。そこで、好ましくはn=2である。
【0068】
第1段階に必要な計算パワーは2倍になるが、その後の段階ではほぼ同じ計算パワーである。n=2のメインビューポイントは、極端に左及び右のビューポイントとして選択することもできる。このように、各オブジェクトは、確実に、追加的ビューポイントのそれぞれに必要とされるより詳細に2つのメインビューの一方で表される。
【0069】
同様に、将来の3次元ディスプレイは、垂直方向のルックアラウンド機能を備えるために、水平及び垂直位置のグリッドに配置したN=NxNy個のビューを提供するかも知れない。その場合、好ましくはn=4であり、メインビューポイントはグリッドの四隅:左上、右上、左下、右下に対応する。
【0070】
さらに別のデータ消失が、Zスタックの水平、垂直方向の大きさが有限であるために生じる可能性がある。オブジェクトは各Zスタック内で異なる位置にあるので、ビューポイントの一部では、Zスタック内にオブジェクトがもはや無い場合がある。これらのオブジェクトは視界から消えてしまう。オブジェクトがメインビューポイントの境界を越えており、追加的ビューポイントの構成が可能でないこともある。これは、n個のメインビューポイントを有する、上で説明した方法により解決することができる。オブジェクトがメインビューポイントの1つで見えない場合、他のメインビューポイントの1つでは見える可能性が高い。n=1を使用した場合、好ましい他のソリューションは、メインZスタックの水平(または垂直)方向の大きさをQ個の要素増やし、追加的Zスタックはすべて元の大きさのままにしておくことである。これにより、メインZスタックは、シフトされて追加的ビューポイントでだけ見えるようになったオブジェクトを確実に含む。この場合、メインビューポイントフレームバッファは、元の、増加してない大きさである。大きくしたソリューションとn個のメインビューポイントの組み合わせを使用することもできる。
【0071】
さらに、メインビューポイントから追加的ビューポイントにオブジェクトを再サンプリングすることにより、データの消失が起こる。これにより、メインビューポイントの解像度を、水平及び/または垂直方向の要素を2倍以上に高くすることにより解決される。このように、データ消失は無視できる。n個のメインビューポイントを有するソリューションにおいて、周知の超解像度法により、n個の通常解像度のZスタックからより大きな解像度のオブジェクトを抽出することが可能である。しかし、現在の方法では、全ての状況で実行できるわけではなく、例えば、n個のメインビューポイントがオブジェクトのまったく同じ情報を含んでいる退化した場合には実行できない。解像度を上げる方法は、全ての状況で実行可能である。
【0072】
明らかに、本発明のコンセプト内で、多くの変形が可能である。当業者には言うまでもなく、本発明は、上で図示して説明したものに限定されない。本発明は、全ての新規な特徴のそれぞれ、及びその組み合わせにある。請求項中の参照数字は保護範囲を限定する者ではない。「有する」という動詞を用いたが、請求項に記載された要素以外の要素の存在を排除するものではない。要素に付された「1つの」、「一」という用語を使用したが、その要素が複数あることを排除するものではない。
【0073】
本発明は、コンピュータで実行されたとき、本発明による方法を実行するプログラムコード手段を有するコンピュータプログラムにも化体することができる。また、コンピュータで実行されたとき、本発明による方法を実行する、コンピュータ読み取り可能媒体に格納されたプログラムコード手段を有するコンピュータプログラム製品にも化体することができる。また、本発明の特徴的な動作を実行する、本発明によるシステムで使用されるプログラムコード手段を有するプログラム製品にも化体することができる。本発明による方法は、上記の例に限定されない。例えば、アドレッシング手段に供給するデータについて述べたが、そのデータはアドレッシング手段に供給される前に何らかの計算ステップを通過することは排除されていない。例えば、「生画像データ」79を特定タイプのディスプレイに最も好適なフォーマットに変換してもよいし、データを暗号化してもよい。このように、「アドレッシング手段に供給」という言葉は、データがアドレッシング手段に直接、レンダラを出たそのままの形で供給されなければならないと厳密に解釈してはならない。データはアドレッシング手段に入力するために使用される、すなわち、ディスプレイスクリーン上に示す画像の基礎となる。
【0074】
本発明は、本発明によるシステムで使用するレンダラとして化体してもよい。本発明は、3次元ディスプレイ装置のディスプレイスクリーンをアドレッシングする基礎として異なるビューのZスタックであるデータをレンダリングするレンダラとしても化体される。レンダラはシステム自体とは別に動作し、例えば、離れたコンピュータ上で動作することもできる。
【図面の簡単な説明】
【0075】
【図1】ディスプレイ装置の基本原理を示す図である。
【図2】2つのステレオ画像を分離するパララックスバリアの基本原理を示す図である。
【図3】図3Aと3Bは、バリアとレンズ状スクリーンの基本原理を示す図である。
【図4】基本パララックスバリアディスプレイの問題を示す図である。
【図5】既知の複数ビュー装置を示す図である。
【図6】現在のレンダリング方法を示す図である。
【図7】本発明によるディスプレイ装置及び方法用のレンダリングパイプを示す概略図である。
【図8】ディスプレイ装置及び方法用のレンダリングパイプの詳細を示す図である。
【図9】本発明によるレンダリングパイプ及び方法の詳細を示す図である。
【図10】本発明による方法のさらに詳細を示す図である。
【発明の詳細な説明】
【0001】
本発明は、ディスプレイ画面を有する3次元ディスプレイ装置と、ディスプレイ画面をアドレッシングする手段と、及び3次元モデル用入力と少なくとも1つの視点用入力を有する描画器であって、前記アドレッシング手段に供給する画像情報を描画する描画器とを有するシステムに関する。
【0002】
本発明は、ディスプレイ装置で使用する描画器にも関する。
【0003】
本発明は、ディスプレイ装置のアドレッシング手段に入力される情報を生成する描画器にも関する。
【0004】
本発明は、3次元ディスプレイ装置のアドレッシング手段に供給されるデータを描画する方法にも関する。
【0005】
近年、3次元画像ディスプレイ画面に3次元画像を表示することに大きな関心が集まっている。3次元画像化は、画像化におけるカラー画像化の次に来る偉大なイノベーションであると信じられている。
【0006】
3次元ディスプレイ装置は、通常、画像を表示するディスプレイ画面を有する。
【0007】
画像の表示に必要な情報(データ)は、描画器により描画される。描画器は、3次元モデルの入力と視点の入力を有する。
【0008】
基本的に、3次元の印象の生成には、ステレオペア(看者の両眼に向けた2つの異なる画像)、ホログラフ技術、またはディスプレイ中の複数平面を用いる。複数平面技術を用いて容積画像を構成し、その場合、3次元ピクセルは3次元体積のいわゆるボクセルに置き換えられる。ほとんどの複数平面ディスプレイが有する不利な点は、ボクセルは光を発するが、光をブロックしないことである。このため、透明なオブジェクトは、表示された画像の見栄えが文字通りぼんやりして好ましくないものとなる。
【0009】
ディスプレイ画面を用いるディスプレイや、ステレオディスプレイには、この問題はない。ステレオ画像を生成する方法はいくつかある。画像は3次元ディスプレイ上で時分割多重されていてもよいが、その場合、看者はLCDシャッタ等のメガネを×必要がある。ステレオ画像を同時に表示して、ヘッドマウントディスプレイを用いて、または偏光メガネを用いて(画像も直角偏光して作成する)、画像を対応する方の目に入るようにしてもよいしオブザーバがかけたメガネにより、ビューがそれぞれの目に効果的に経路付けされる。メガネのシャッタまたは偏光板はフレームレートと同期して、経路付けを制御する。フリッカーを防止するため、2次元の透過な画像に対して、フレームレートを2倍にするか、または解像度を半分にしなければならない。上記のシステムの欠点は、2つの画像により限定的な「ルックアラウンド」しか表せないことである。さらにまた、何らかの効果を得るためメガネをかけなければならない。メガネをかけ慣れてないオブザーバは喜ばず、すでにメガネをかけている者には追加のメガネをかけなければならず、必ずしもフィットしないので問題である。
【0010】
2つのステレオ画像を、看者の目の近くではなく、パララックスバリア等の分離スクリーンにより、ディスプレイ画面のところで分けることもできる。これは、例えば、米国特許公報第US5,969,850号に記載されている。
ディスプレイスクリーンでビューが分離しているディスプレイは、3次元画像を見るのに特殊なメガネを必要としないという意味で自動立体視であるが、固定された位置にいる一人の看者に対してのみ動作することが多い。
【0011】
視界は非常に狭くなる。視界の外側では、オブザーバには複数の画像やステレオ逆転像が見え、非常に好ましくない。実際、これは、例えばリビングルーム等の多くのアプリケーションにおいて、ビューイングゾーンが小さすぎ、3次元画像を見るためには、看者は一カ所に座っていなければならない。
【0012】
米国特許第US5,969,850に開示された装置は、動的パララックスバリア(バリアスリットが自動立体視ディスプレイ装置が作成されているスクリーンにわたって動くパララックスバリア)を用いることにより、狭いビューイングゾーンの問題に対する解決策を提案している。
【0013】
上記は、それぞれが長所も短所も有する、3次元画像を提供する異なるタイプの方法を説明している。本発明は、一部のタイプの装置にはその他よりもよく使用されるが、特定タイプの3次元装置に限定されない。本発明は、レンダラ、すなわち、画像情報(データ)を描画するシステムの一部にも関する。N個のビュー(すなわち、ディスプレイスクリーン上の多数のビュー)を提供できるディスプレイ装置を有するシステムが求められている。このような装置は、複数の看者に対して、比較的広いビューイングアングルにわたって見ることができるディスプレイスクリーン上に3次元画像を提供することができる。異なるビューの数は、一般的には10から100である。本発明が特に対象としているのは、このようなタイプの3次元画像ディスプレイ装置である。
【0014】
複数画像を提供する方法の1つは、画像の数だけカメラを使用することである。しかし、この方法は、非常にコストがかかり、現実的でないことが多く、インターラクティブなゲームには向いていない。このように、実際には、画像情報は計算または構成されることが多く、その計算または構成の基礎は、カメラで集められた情報に一部基づいている。
【0015】
ゲームを表示するために、特に3次元ゲームでは、レンダラが使用される。レンダラは画像のデータを描画しなければならない。単純な立体視ディスプレイの場合、すなわち、ビューポイントの数がN=2である場合、レンダラは2つの画像のデータを描画しなければならない。一方、より複雑な3次元の場合、例えば、自動立体視ディスプレイの場合、ビューの数は大幅に増加し、現在はN〜10である。将来の3次元ディスプレイの場合、N〜100となることが予想される。レンダラは、より多くのビューを供給しなければならず、よって、より多くのデータを供給しなければならない。レンダラはディスプレイ装置自体の一部であってもいし、または、ディスプレイ装置に、またはそのアドレッシング手段への入力として画像装置に供給される画像情報を提供するスタンドアロンの装置であってもよい。これに関して、多数のビューの情報を生成しなければならないだけでなく、特に3次元ゲームの場合だけではないが、画像の品質が各ビューポイントでほぼ同じであることが好ましいことが非常に重要である。
【0016】
現在のレンダリング技術は、3次元モデルと別々のビューのビューポイントに基づき、その別々のビューのそれぞれに対して画像情報(すなわちデータ)を描画するレンダラを用いる。これらの方法は、N=2である3次元画像化には有用であるが、トレンドとしては、ビューの場所を増やし、画像を多数の異なるビューポイントから見られるようにするため、ますます多くのビューポイントを設ける必要がある。このことは、特に3次元ゲームにあてはまるが、これに限られるものではない。例えば、複数の対抗者(すなわち、看者)がディスプレイスクリーン上で互いに対戦するとき、全ての対抗者が同じ土台の上で対戦することが重要である。この条件を満たすため、画像品質がほぼ同じで、高速、かつ詳細度が高い多数のビューポイントを描画しなければならない。インターラクティブなゲームの場合、全てのデータはリアルタイムで描画しなければならず、大きなデータセットをオンラインでレンダリングすることを要する。このような条件は、現状の技術で得ることは困難である。
【0017】
本発明の目的は、既存装置の代替として、3次元(例えば、自動立体視)ディスプレイ装置のために、高速、正確、及び詳細にレンダリングできる装置を提供することである。
【0018】
このため、本発明によるシステムは、前記レンダラは、前記3次元モデルの入力とマインビューポイントの入力を有し、それぞれが色情報とZ値を有する要素アレイを有するスタック層を有するメインビューポイントZスタックであるオブジェクトをレンダリングする初期部を有し、前記レンダラは、さらに、前記初期段階により生成されたメインビューポイントZスタックから追加的ビューポイントのZスタックが構成されるZスタックコンストラクタと、前記Zスタックから画像情報を生成するさらなる画像情報隠蔽動作段階とを有することを特徴とする。
【0019】
レンダラは、色(RGB)と奥行き値(Z)を有する一組のピクセルである、表示されるべき画像に含まれたオブジェクトを描画する初期部を有する。この初期部には、3次元モデルの入力とメインビューポイントの入力がある。この初期段階の出力は、メインビューポイントについて、色(RGBまたは単一色)情報とZ値を含むスタック層を有するZスタックである。レンダラは、後続のZスタックコンストラクタ中のメインビューポイントZスタックを用いる。Zスタックコンストラクタでは、メインビューポイントの色情報(RGBまたはモノクロ)とZ値を有するメインビューポイントZスタックから、追加的ビューポイントの色情報(RGBまたはモノクロ)とZ値を有するZスタックが構成される。それぞれのZスタックは、さらなる画像情報隠蔽動作段階で、アドレッシング手段に供給する画像情報に変換される。
【0020】
オブジェクトが生成されるとき、X−Y−Z座標(空間中の位置)と場合によっては不透明(α)値だけでなく、RGB座標(色、またはモノクローム画像の場合、モノカラー)も有する。ビューポイントからの画像を構成することは、基本的には、ビューポイントに対応する平面にそのオブジェクトを投影することを必要とする。レンダリングにおける最も顕著な特徴の1つに、前にあるオブジェクトが他の、より遠くにあるオブジェクトを隠蔽することが挙げられる。レンダラはこれを考慮して、スクリーン上に全てのオブジェクトを単に投影すると、前面のオブジェクトより遠くにあるオブジェクトが、前面のオブジェクトを通して見えてしまうことになる。前面のオブジェクトがぼやけて見えてしまう。
【0021】
レンダリングパイプ(レンダラの別名)において、いわゆるフレーム/Zバッファ法により画像を生成することができることが知られている。3次元モデル中の各オブジェクトは、少なくとも色(RGB)と奥行き値(Z)を伴う一組のピクセルの形で最初のテクスチャ段階を出る。隠蔽動作段階において、全てのオブジェクトピクセルのZ値をZバッファ中の適当なピクセルと比較する。オブジェクトのZ値が小さい(現在のオブジェクトより看者に近いオブジェクト)場合、オブジェクトのRGBとZ値がフレームとZバッファ中の適当なピクセルにそれぞれコピーされる。この方法は、黒いフレームバッファと−∞が入ったZバッファで始まり、その後、全てのオブジェクトがレンダリングパイプを通して入力される。最後に、フレームバッファはレンダリングパイプの出力として機能する画像を含んでいる。Zバッファの最後の内容は使用されない。原理上、フレームとZバッファは共に、いわゆる「画像+奥行き」データ構造を形成する。この「画像+奥行き」データ構造は、全てのピクセルが色データRGBと奥行きZの両方を有することを意味する。フレームバッファ中のRGBZデータから、適度な処理量で他のビューポイントからの画像を描画することができる。しかし、このタイプの追加的ビューポイントレンダリングには大きな欠点がある。すなわち、残りのビューポイントについて描画した画像の品質がメインビューポイントの画像の品質より低い。フレームバッファ中の画像は、メインビューポイントから見える複数のオブジェクトを含み、他のビューポイントからの画像中のどこにこの同じオブジェクトがあるかを計算し、そのビューポイントからの画像を計算することが可能であるが、残りのビューポイントからメインビューポイントからは見えない他のオブジェクトが見えるという問題がある。このようなオブジェクトは、フレーム/Zバッファにはなく、追加的ビューポイントの画像では正しく描画することができない。同様に、メインビューポイントから見た画像に見えるオブジェクトでさえ、メインビューポイントからは見えないが他のビューポイントからは見える部分を有している可能性もある。
【0022】
本発明においては、初期段階の出力はフレーム/Zバッファではなく、メインビューポイントZスタックである。このZスタックは、メインビューポイントに特定のものであるが、メインビューポイントに近いものと遠いもの両方の、残りの全てのビューポイントからの画像を生成するために必要な関連情報をほとんど全て有する。Zスタックは、本発明においては、データ(RGB(またはモノクロ)値とZ値、及び可能性としてα値)を有する要素アレイのスタック(すなわち複数の層)である。第1層は、メインビューポイントから最初に見える要素とオブジェクト(の一部)を有する。第2層は、第1層のオブジェクトまたはその一部の後にある、ビューポイントから見える、オブジェクトまたはその一部を有する。第3層は、スタックの第2層にあるオブジェクトまたはその一部脳死路にあるオブジェクトを有する。当業者には明らかであるが、計算は通常コンピュータまたはコンピュータプログラムにより行われるが、「スタック」はこれを考慮して、すなわち、コンピュータで生成及び/または格納されたデータの構成の説明として解釈すべきである。メインビューポイントで見えない、すなわち、他のオブジェクトまたはその一部により視界から隠されている(そのため、上で説明したフレーム/Zバッファには無い))オブジェクト(またはその一部)は、メインビューZスタック中、すなわち、スタックの第2層、第3層等にある。留意すべきことは、単一のオブジェクトの一部は、スタック中の1つより多い層に分散していてもよいことである。
【0023】
本発明による装置は、初期段階の後にZスタックコンストラクタと、メインビューポイントのZスタックに基づき、各追加的ビューポイントのZスタックをレンダリングする追加的3次元レンダリング段階とを有する。追加的ビューポイントのそれぞれについて、メインビューポイントZスタックに基づいて、新しいZスタックが作られる。1つのビューポイント、メインビューポイントは、レンダリングパイプに入力され、通常通り処理される。一方、追加的N−1個のビューポイントはレンダラ内部の余分段階に入力される。このように、レンダリングパイプの大部分は、モノスコピック、すなわち、1つのビューポイントに対するものであり、全てのN個の画像で共通に使用される。この後の隠蔽動作段階でもそうである。
【0024】
この元のメインビューZスタックは、メインビューポイントに近いものと遠いもの両方の、残りの全てのビューポイントからの画像を生成するために必要な関連情報をほとんど全て有する。このメインビューポイントZスタックから、新しいZスタックが追加的ビューポイントについて生成される。これらのZスタックは、それ自体ほとんど全ての情報を有し、追加的ビューポイントの画像はメインビューポイントの画像とほぼ同じ画像品質となる。
【0025】
このように、N個の異なるビューポイントを独立に構成するのと比較して、アルゴリズムの速さと単純さが大幅に増す。また、メインビューポイントのフレーム/Zバッファを生成し、メインビューポイントフレーム/Zバッファから他のビューポイントの画像を構成するのと比較して、品質が大幅に向上する。
【0026】
理想的には、レンダリングの後、全てのZスタックが各Zスタックに対応するビューポイントから見える前面オブジェクトを含む。オブジェクトが表されている要素の数は、異なるZスタックでは同じでなくてもよい。オブジェクトは異なるビューポイントから見ると異なるサイズで見えるからである。それゆえ、Zスタックのエレメント間には1対1対応がないが、オブジェクトに関する限り1対1対応がある。1つのメインビューポイントZスタックに基づき追加的Zスタックを構成するとき、オブジェクトは1つずつコピーされるが、要素のコピーは1つずつでは不十分である。後者の場合、オブジェクトがメインZスタック中で100個の要素で表されているが、新しいZスタックでは110または90個の要素で表される時、問題が起きる。本願発明者の洞察によると、例えば、外挿や収縮によるオブジェクト内の要素数のスケーリングと組み合わせたオブジェクト毎の方法は、エレメント毎のよりも好ましい。
【0027】
それゆえ、前記レンダラは、Zスタックからオブジェクトを抽出するオブジェクト抽出器を有することが好ましい。本発明のフレームワーク内の抽出は、Zスタックの要素をグルーピング基準に基づきグループにすることを意味する。1つの同じオブジェクトに属する要素は、通常、同じかまたは類似したZ値を有する(または、1つの要素から隣の要素に行くときにZ値の明らかな規則的変化がない)。さらにまた、RGB値も同じか、近いものである。
【0028】
メインビューポイントZスタックの要素をオブジェクトにグループ分けすることは有利である。これにより、メインビューポイントZスタックから追加的ビューポイントの新しいZスタックに1つずつオブジェクトをコピーすることができる。縮小と外挿操作は、基本的には、コンピュータグラフィックスの分野で周知の再サンプリング操作である。好ましい実施形態において、オブジェクト抽出は、メインビューポイントZスタックに対してだけ行われ、その効率は追加的ビューポイントの数N−1には依存しない。追加的ビューポイントの構成の前のオブジェクトの大きさ及び形状について知ることにより、外挿及び縮小に必要なオブジェクト内の要素の再サンプリングを高品質で実施することができる。
【0029】
好ましくは、前記レンダラはDOFレンダリング段階を有する。DOF(フィールドの奥行き)は、オブジェクトにフォーカスしているフォーカス平面があり、フォーカス平面から離れたオブジェクトは幾分ぼやけているという事実に関する。ぼやかしは、オブジェクトテクスチャ内、及びオブジェクトの周縁におけるRGB値の空間的再配分、またはオブジェクトの不透明性を少し変化させることによりなされる。DOFぼかしは、追加的ビューポイントZスタックのそれぞれについて行われるが、好ましくは、メインポイントビューZスタックに対して行われる。その結果、メインポイントビューのZスタックでは、RGBとZ値(及び、可能性として不透明性)のデータにおいてDOFによるぼやけが考慮される。フォーカス平面は、追加的ビューポイントでもほとんど常に同じである。それ故、メインビューポイントのDOFぼかしと、全ての追加的ビューポイントのZスタックを生成する基礎として「ぼかされた」メインビューポイントZスタックを使用することにより、(品質の)最終結果は、メインポイントビューZスタックを用いて、追加的ビューポイントに対してZスタックを生成し、全ての追加的ビューポイントZスタックに対してDOFぼかしを実行したのと同じくらいよいが、非常に速くなる。
【0030】
Zスタックコンストラクタは、順次(すなわち1つずつ)、またはパラレルに、追加的ビューポイントZスタックを構成する。これはパラレルに行うことが好ましい。順次行った場合、Zスタックコンストラクタは、最初の追加的ビューポイントZスタックをメインポイントから構成し、これをさらに別のZスタックを構成するために使用する。しかし、このような順次処理には、小さな誤差が集積するリスクがある。それゆえ、好ましくは、順次でもパラレル処理でも、各追加的ZスタックをメインビューポイントZスタックに基づいて計算する。
【0031】
好ましくは、前記メインポイントビューZスタックデータは不透明度のデータを含み、前記Zスタックコンストラクタもオブジェクトの不透明度をオブジェクト抽出の後、適合させる手段を有することを特徴とするシステム。
【0032】
オブジェクトの隠蔽は上に説明した。隠蔽とは別に(すなわち、1つのオブジェクトは、ビューポイントから見える他のオブジェクトの後にある時は見えない)、不透明性も関係してくる。一部のオブジェクトは(半)透明であるかも知れない。このようなオブジェクトの後にあるオブジェクトは、ある程度見える。不透明性の概念、すなわち、オブジェクトを不透明にすることにより、上記の効果を考慮することができる。基本的に、不透明性(例えば、0と1の間の数字)は、画像中で後のオブジェクトをどのくらい見えるようにするかという尺度を与える。不透明性が0の場合、オブジェクトは不透明である(すなわち、オブジェクトの後のオブジェクトの光は届かない)。不透明性が1の場合、オブジェクトは完全に透明であり、後のオブジェクトの光が届く。メインビューポイントZスタックに示して、不透明性(通常はαで示される)により、より実際に近い画像描画が可能となる。これらの不透明性データを追加的ビューポイントZスタックに移転するだけで有用である。しかし、オブジェクトの不透明性はビューポイントにより変わる。それは、例えば、平面の場合、それを見る角度によって不透明性が変わるからである。不透明性を入れることにより、実際に近い画像描画が可能となる。
【0033】
異なる色毎に異なる不透明性データが分離している場合、この側面の重要性がより高くなる。
【0034】
好ましくは、前記Zスタックコンストラクタは、オブジェクトのRGB値を、オブジェクト抽出の後、適合させる手段も有する。
【0035】
メインビューポイントZスタックは色情報(例えば、RGB値)を有する。本発明の実施形態において、これらのRGB値は、ビューポイントが変化しても変わらなくてもよい。しかし、一部のオブジェクトの場合、ビューアングルが変化すると色も変化し、ビューポイントが変化するにつれて明るくなったり、暗くなったり、色が変わったりする。好ましい実施形態において、Zスタックコンストラクタにより、このような変化が可能となる。
【0036】
好ましくは、前記システムは、追加的ビューポイントのデータの入力を有する。Zスタックコンストラクタは、追加的ビューポイントのデータを構成する。これは自動的に行われる。この場合、例えば、3次元ディスプレイ装置で見られるだけ多く(すなわち、全ての可能なディスプレイ装置をカバーできるだけ多数)のZスタックのデータを構成することもできる。これには、多数の追加的ビューポイントZスタックを構成する必要がある。しかし、好ましくは、システムは追加的ビューポイントのデータを追加的ビューポイントZスタックコンストラクタに供給する入力を有する。ディスプレイ装置のタイプにより、追加的ビューポイントの数は変わる。追加的ビューポイントの特定のデータ(数及び/またはメインビューポイントに対する位置/方向)を供給するための入力を設けることにより、Zスタックコンストラクタは、必要に応じて追加的ビューポイントZスタックを設けることができ、効率を高める。ビューポイントのデータは、簡単な実施形態において、例えば、生成すべきビューの数と最大ビューイング角度範囲である。好ましい実施形態においては、システムは、ユーザの好みに対応するビューポイントを確立する手段、またはユーザのビューポイントに対応するデータを供給される手段と有する。例えば、3次元ゲームにおいて、一人より多いプレーヤが参加する場合、ゴーグル、ヘッドホン、レーザ銃、バッジ等を使用することにより、システムは、例えば、上記の特徴が、IRまたは超音波センサによりディスプレイ装置に対する上記の特徴の位置を検出する手段とともに設けられた場合、そのディスプレイ装置のディスプレイスクリーンに対するプレーヤの正確なまたはおおよその位置を検出することができる。追加的Zスタックコンストラクタに上記の情報を供給することにより、プレーヤに対応するビューポイントは、高い精度とリフレッシュレートで処理できるが、一方、その他のビューポイントは処理できないか、またはより低い精度とリフレッシュレートで処理される。これにより、実際に問題となるビューポイント、すなわち、プレーヤと関連するビューポイントのスピードと画像品質が、大幅なコスト増の必要性なしに、大幅に上昇する。
【0037】
本発明の上記その他の態様は、以下に説明する実施形態を参照して明らかになり、説明される。
【0038】
図面はスケール通りには描かれていない。一般的に、図面中の同一の構成要素は同じ参照数字で示されている。
【0039】
図1はディスプレイ装置を示している。3次元テレビジョンの場合、光が独立に放射される多数のビューイング方向が必要である。国内アプリケーションにおいては、ビューイング距離は約3mであり、ユーザは約3m幅のソファに座っている(図1を参照)。そこで、少なくとも60°のビューイング角度が必要である。両眼は6.5cm離れている。それぞれの目が異なる画像に到達するためには、ディスプレイは3m/6.5cm=300/6.5=50方向に光を放射する必要がある。頭を動かした場合、不連続な遷移無しに3次元画像に到達するためには、3次元テレビジョンは50より非常に多い(例えば、少なくとも100)方向に光を放射しなければならない。多数のビューを生成する、本発明が限定されない1つの方法は、パララックスバリアを使用することである。
【0040】
図2は、2つのステレオ画像を分離するパララックスバリアの基本原理を示している。2つのステレオ画像の垂直線が、バックライトを有する空間的光変調器(例えば、LCD)等の上に交互に表示される。パララックスバリア7の格子構造により、看者4のそれぞれの目は、必ず適当な画像(5、6)を見ることになる。これは、単に3次元画像化システムを例示するために示されており、本発明の範囲を限定するものと解してはならない。
【0041】
図3Aは、パララックスバリアの使用を示す。従来のバリア自動ステレオディスプレイシステムにおいて、バリア31はディスプレイアレイ32の前に配置される。ステレオ画像ペアの左と右の画像は、垂直ストリップにスライスされている。左画像のストリップ32Lと右画像のストリップ32Rは、アレイ32上に交互に配置されている。スロット31Aはバリア31に形成されている。スロット31Aは、オブザーバの左目4Lが左画像のストリップ32Lのみを見ることができ、右目4Rがペアの右画像のストリップ32Rのみを見ることができるように、配置されている。オブザーバは3次元における完全な画像を再構成する。
【0042】
次に図3Bを参照して、同様の原理を説明する。ここでは、バリア31がレンズ状スクリーン33に置き換わっており、このレンズ状スクリーン33は、垂直シリンドリカルレンズ33Aのアレイを有する。各シリンドリカルレンズ33Aは、左と右の画像ストリップ32Lと32Rの異なるペアに対応している。動作時、各レンズにより、オブザーバの左目4Lは左画像ストリップ32Lに方向付けられ、オブザーバの右目4Rは右画像ストリップ32Rに方向付けられる。
【0043】
図4は、基本的立体視装置の問題を示す図である。正しいビューイングゾーン内に座っていない看者は混乱してしまう。ビューイングゾーンは非常に狭い。ビューイングゾーンの外側では、オブザーバには複数の画像や立体逆像が見え、非常に好ましくない。実際、これは、例えばリビングルーム等の多くのアプリケーションにおいて、ビューイングゾーンが小さすぎ、何を見るにしても、看者は特定の場所に座っていなければならない。リビングルームの場合、たった一人の看者が一カ所に座っている場合にだけ3次元画像を見ることができるだけなので、最適な状態とはほど遠い。
【0044】
図5は、米国特許第US5,969,850号に開示された装置を示す概略図である。この装置において、ビューイングゾーンが狭いという問題に対する解決策として、動的パララックスバリア51(すなわち、バリアスリットがスクリーン上を動くパララックスバリア)を使用することが提案されている。パララックスバリアのスクリーン上の動きはスキャンされて、多数のビュー(N個のビュー)が生成される。多数のビューを提供するため、これらの画像のデータを生成しなければならない。上記の図面は、数タイプの3次元ディスプレイ装置を例として示したものであり、本発明の範囲を限定するものと解してはならない。3次元画像、特に、N方向のビューを有するディスプレイを提供する他の方法も提案されている。
【0045】
しかし、どの方法もシステムも、十分大きなビューイングゾーンを確保し複数の看者が画像を見られるようにするために、多数のビュー(一般的に、10から100)を必要とする。3次元ゲームの場合、看者と表示画像との間にインターラクションがあることが多く、広い範囲のビューポイントを必要とし、(映画の場合、オブジェクトに対する看者のビューポイントは限定されている場合が多いが、3次元ゲームの場合にはあまりあてはまらない)システムは看者の動作にも反応できなければならない。3次元ゲームの場合、全ての看者と参加者のビューが同等品質であることが非常に重要である。そうでないと、ゲームは「マルチユーザ」として販売することができない。その理由は、スクリーンの前右側に座っている人のビューの正確性が高く、スピードが速い場合、その人がゲームに勝つ可能性が高くなるからである。これは(勝った人以外にはおそらく)受け入れられない。
【0046】
そうすると、リアルタイムかつ異なるビューに対して同程度の品質で多数のビューを描画しなければならない。本発明の目的はこれであり、特にN個の画像用のデータを描画することである。
【0047】
図6は、2次元及び3次元ディスプレイの場合に、3次元ゲームにおける現在のレンダリング方法を示している。ゲーム中、3次元モデル61は、動的に変化する、特定状態にあり特定位置にある全てのオブジェクトを含んでいる。このモデルは、カメラビューポイント63とともにレンダリングパイプ(レンダラ)62に入力される。通常の3次元ディスプレイの場合、レンダリングパイプ61は単一の画像を生成する。レンダリングパイプにより描画される画像データ64は、ディスプレイ装置65に送られる。
【0048】
3次元ディスプレイの場合、レンダリングパイプはN個の画像を生成する。単純な立体視ディスプレイの場合、N=2である。一方、自動立体視3次元ディスプレイの場合、Nはより大きく(N〜10)、将来の3次元ディスプレイの場合、N〜100であると期待されている。本発明は、最も広い意味ではN=2の場合に適用可能であるが、Nビュー(N〜10からN〜100以上)のディスプレイ装置に対して特に有利である。
【0049】
現在のレンダリングパイプは2つ以上の完全にモノスコープパイプは含まず、時間多重においては単一のモノスコープパイプが使用されている。これはフレームレート(1秒当たりの画像数)を犠牲にするか、いかなる計算上のトレードオフも可能である(例えば、一定のフレームレートを維持するための解像度の低下)。
【0050】
Nが大きい場合、レンダリングパイプへの付加は極端に大きくなる。3次元レンダリングにおいて、現在N=2の場合だけが、3次元ゴーグルに基づく商業的に利用可能な3次元ディスプレイをサポートするために使用されている。
【0051】
レンダリングにおける最も顕著な特徴の1つに、前にあるオブジェクトが他の、より遠くにあるオブジェクトを隠蔽することが挙げられる。最近、いわゆるフレーム/Zバッファ法によりレンダリングパイプにこの特徴が実装された。3次元モデル中の各オブジェクトは、少なくとも色(RGB)と奥行き値(Z)を伴う一組の要素の形でテクスチャ段階を出る。隠蔽動作段階は、全ての要素のZ値をZバッファ中の適当な要素と比較する。要素のZ値が小さい(現在のオブジェクトより看者に近いオブジェクト)場合、要素のRGBとZ値がフレームとZバッファにそれぞれコピーされる。この方法は、黒いフレームバッファと−∞が入ったZバッファで始まり、その後、全てのオブジェクトがパイプを通して入力される。最後に、フレームバッファはレンダリングパイプの出力として機能する画像を含んでいる。Zバッファの最後の内容は使用されない。原理上、フレームとZバッファは共に、いわゆる「画像+奥行き」データ構造を形成する。この「画像+奥行き」データ構造は、全ての要素またはピクセルが色データRGBと奥行きZの両方を有することを意味する。フレームバッファ中のRGBZデータから、適度な処理量で他のビューポイントに対する画像を描画することができる。しかし、このタイプの追加的ビューポイントレンダリングには大きな欠点がある。すなわち、残りのビューポイントに対して描画された画像の質が、メインビューポイントの質よりも低く、残りのビューポイントとメインビューポイントとの差が大きければ大きいほど、残りのビューポイントに対するデータの質が低くなる。フレームバッファ中画像にはメインビューポイントから見たオブジェクトが含まれている。これらの同じオブジェクトが他のビューポイントからの画像ではどこにあるかを計算し、そのビューポイントからの画像を計算することができる。しかし、残りのビューポイントから、メインビューポイントからは見えない他のオブジェクトが見える。その理由は単純で、かかるオブジェクトはフレーム/Zバッファにはなく、決して正しく描画することはできない。同様に、メインビューポイントから見た画像に見えるオブジェクトでさえ、メインビューポイントからは見えないが他のビューポイントからは見える部分を有している可能性もある。ある程度、上記の「失われた部分」がどのように見えるかを推測することはでき(通常は、見える部分の外挿による)、役に立つかも知れないが、メインビューポイントに近いビューに限られる。例えば、腕の一部が見えている場合、その腕の残りの部分の位置を推測することはでき、腕の先に手があるということは比較的確実に分かるが、どんな武器を手に持っているか、そしてその腕に対する位置関係はどうかは知ることができない。
【0052】
過度な計算パワーなしにほぼ同じ画像品質を有するN個の画像の描画を可能とするシステムと方法を提供することは、困難な課題である。
【0053】
図7は、本発明によるディスプレイ装置用レンダラ(レンダリングパイプ)62及び本発明による方法を示す。
【0054】
レンダラ62は、メインビューポイント用のZスタックを生成しうる第1の部分70を有する。この部分は、この例において、メインビューポイント用の入力63と3次元モデル用の入力61とを有する。全てのジオメトリ(オブジェクトの形状と形式)はメインビューポイントに従ってジオメトリ変換器71で変換される。データはピクセル化器72でピクセル化される。すなわち、全てのオブジェクトは、X、Y、Z、色(RGB)、及びα(不透明度または透明度)値を有するピクセルに変換される。そして、テクスチャがテクスチャライザ73で付加される。メインビューポイントの場合、DOF(フィールドの奥行き)がDOFレンダラ74で付加される。これはメインビューポイントに関するデータに対して行われる。これは、追加的ビューポイントの数N−1に拘わらず、メインビューポイントに対して1度だけ行われる。その後、メインビューポイントのデータ(下で説明するようにZスタックの形式である)を3次元レンダリング段階75の基礎として使用する。3次元レンダリング段階75は、残りのN−1個の追加的ビューポイントに関するデータの入力を有し、N−1個の追加的ビューポイントのN−1個のZスタックを出力として描画する。隠蔽動作段階76において、N−1個の追加的ビューポイントZスタックは中のデータ(メインビューポイントのZスタック中のデータとともに)は、Zトレーシング手段により、N個の異なるビューポイントからのN個の画像のN個のフレームバッファに変換される。計算量は比較的小さいが、その理由は、通常は最も大きな計算パワーを必要とする処理(ステップ74を含んでステップ74まで)の最初の部分がメインビューポイントに対してだけ実行されるからである。この結果得られるメインビューポイントZスタック(この例ではDOFを有する)は、その他全てのビューポイントの基礎である。
【0055】
本発明による方法と、本発明によるシステムは、N個の高品質のビューの効率的計算を可能とする一方、フレーム/Zバッファに基づく既存の方法は、低品質ビューしか提供できず、完全に独立なN個のビューの生成に基づく既存の方法は、効率的ではない。
【0056】
図8は、Zスタックの構成及び異なるビューポイントに対するフレームバッファをさらに示す図である。
【0057】
3次元モデル80は、全ての情報、すなわち、全てのオブジェクトとその相互の方向を有する。完全な3次元モデルから、メインポイントの3層Zスタック81が生成される。これは、図8に概略を示したZスタックコンストラクタにより行われる。このZスタックコンストラクタは、要素を有する(この例では)3つのシーケンシャルバッファの層構造を構成する。ここで、各要素に対して、(この例では)Z、I(色を示す)、アルファ(不透明性ファクタアルファを示す)の値が格納される。基本的に、Zスタックの第1のスタックは、ビューポイントから最初に見える全ての要素のRGB(色情報)とZ座標(及び、可能なら、アルファ情報その他の情報)を有する。このように、Zスタックの第1層は、最初に見えるオブジェクトとオブジェクトの部分(すなわち、ビューポイントに最も近い要素)を有する。この例では、このように、中央ラインI−Iに沿ったZスタックの第1層S1は、オブジェクトDの部分、オブジェクトAの一部、オブジェクトFの外縁を有する。同じラインに沿って、第2層S2は、オブジェクトBとCの部分、オブジェクトFの部分、及びオブジェクトAの部分(オブジェクトDの後の部分)を有する。第3層は、オブジェクトFの部分(オブジェクトBとCの後の部分)とオブジェクトEを有する。留意すべきことは、1つのオブジェクトがZスタック中の複数の層の一部となることがあることである。その理由は、メインビューポイントからみると、第1、第2、または第3の見えるオブジェクトになるからである。Zスタックを構成すると、第1のスタックに表示されているオブジェクトが全て不透明である場合、Zスタックの第1のスタックS1のデータを有するフレームバッファが構成される。オブジェクトが透明である場合(すなわち、値が0(不透明)と1(完全に透明)の間であるアルファ数が1より小さい)、画像バッファはそれぞれの層S1からS3からのデータの組み合わせを有する。画像バッファ82からのデータは、直接またはさらに処理した後、3次元ディスプレイに送られる。図のパートBにおいて、最終的にフレームバッファ82に行く3次元モデル80が示されている。この3次元モデル80は、元の3次元モデルを構成する異なるオブジェクトAからEの全ての少なくとも一部のデータを有する。フレームバッファ82から初めて、異なるビューに対する画像を生成することはある程度可能であるが、オブジェクトAに隠れたオブジェクトB,C、Eの形状がフレームバッファ中に見えるオブジェクトB,C,Eの部分に基づき推測しなければならない。しかし、常に可能というわけではない。例示のため、図8のこのパートCは、図8のパートBに示した状況と、オブジェクトDがオブジェクトAの後に置かれていることが異なる。Zスタック81′は、オブジェクトDを示す要素が第1の層S1の一部ではもはやなく、層S2の一部であるとのこの変化を反映する。画像バッファ82′は、オブジェクトDの形跡はもはや有さず、オブジェクトDはフレームバッファ82′中にはもうない。メインビューポイントの画像(またはフレーム)バッファ82′に基づいて、オブジェクトDは含まないが、異なるビューポイントの画像を生成することができる。その理由は、簡単で、画像バッファ82′中にオブジェクトDの情報(要素)はないからである。たとえ、前の画像に基づいて、上記のオブジェクトがあるはず、またはあるであろうと推論できても、そのオブジェクトの実際の位置及び/または形状は推測しなければならない。しかし、異なるビューポイントから、そのオブジェクトDは非常によく見えるかも知れない。この問題に対する解決策の1つは、各追加的ビューポイントに対してZスタックを計算することである(ステップ61−73(74))。すなわち、各ビューポイントに対して完全に別のレンダリングパイプを使用する。しかし、これには、非常に大きな計算パワーが必要となる。本発明の基礎は、上の例のオブジェクトD等の「隠れた」オブジェクトに関する情報は、メインビューポイントの第3層または一般には第N層のZスタック81′にあるということである。メインビューポイントのZスタック81′を用いることにより、前面のオブジェクトに隠れたオブジェクトを追跡することができる。これにより、ディスプレイに送られた最終画像には同じピクセルに位置づけられた複数のオブジェクトがあっても、半透明のオブジェクトを正しくレンダリングすることができる。このアプローチでは、まず、完全な3次元モデル中の全てのシーンのオブジェクトがZスタックに描画される。次に、Zトレース法としてここで受け入れた、周知の単一のプロセスにより、Zスタックから、ディスプレイに送るべきフレームまたは画像バッファを抽出する。出力画像情報は、簡単なプロトコルによりZスタックからピクセル毎に構成される。もし全てのオブジェクトが不透明なオブジェクトであれば、Zスタックの第1層が単にコピーされる。透明なオブジェクトの場合、複数の層がマージされる。
【0058】
本発明を、図9にさらに示した。
【0059】
図9は、DOF及び3次元レンダリングブロックの内部構造例を示している。それぞれ、前の段階の結果を格納した追加的バッファスタックを有する。さらに、両方とも、オブジェクト抽出部である新しいユニットを有する。
【0060】
テクスチャ段階(基本的には3次元モデル)の出力は、Zスタック91に描画された第1Zスタックコンストラクタの中にある。このZスタック91は、メインビューポイント用に作られている。メインビューZスタック91をオブジェクト抽出92の開始点として用いる。オブジェクト抽出は、Zスタック91から同じオブジェクトに属する要素を抽出する手続である。図8に示したように、オブジェクトは複数の層S1ないしS3にわたって分布しているかも知れない。オブジェクト抽出部は、スタックをサーチして、オブジェクトを再組み立てする。オブジェクトの再組み立ては、同一オブジェクトの要素は共通の特徴(例えば、RGB値、Z値、及び/または不透明度)を有するという事実を用いて行われる。
【0061】
この例では、オブジェクト抽出の後、メインビューポイントのデータをDOFレンダリングする(93)。DOF(フィールドの奥行き)レンダリングをしないと、全てのオブジェクトは同じシャープネスで画像化される。しかし、これでは画像が不自然になる。自然な画像では、画像がシャープなフォーカスするフィールドがあり、看者により近い、または看者から遠いオブジェクトにはフォーカスせず、従ってぼけている。ぼかしは、例えば、オブジェクト抽出の後、オブジェクトのテクスチャやエッジをデフォーカスすること、すなわち、オブジェクト内でテクスチャを空間的に再配布し、オブジェクト境界の外側のインテンシティの一部を移転し、及び/またはオブジェクトの最も外側部分を半透明にすることにより行われる。DOFレンダリング段階は、そのオブジェクトに対するぼかし部を有する。DOF部の結果、メインビューポイントに対する、幾分ぼけてフォーカスがはずれたオブジェクトと、フォーカス面内のシャープなオブジェクトを有するZスタック94が得られる。DOFぼかしは、この好ましい実施形態においては、メインビューポイントに対するZスタック91中のデータに対して実行される。メインビューポイントについてだけDOFぼかしに必要な計算パワーが必要になるという点で、上記の方法は好ましい。厳密に言うと、全てのビューポイントのそれぞれに対してDOFぼかしをすれば、DOFのぼかし効果としてよりよい結果が得られる。しかし、追加的ビューポイントのDOFは、メインビューポイントのDOFとまったく、またはほとんど代わらない。そこで、好ましい実施形態においては、メインビューポイントのZスタック91にDOFを実行する。DOFぼかしされたオブジェクトは、メインビューポイントの新しいZスタック94に再組み立てされる。このZスタック94は、オブジェクトを抽出するオブジェクト抽出器95の入力となる。抽出されたオブジェクトは、残りのN−1個のビューポイントのそれぞれについて、メインビューポイントとそれぞれのビューポイントの間の違いに従って、シフタ96でシフトされる。シフトされたオブジェクトは、(Zスタックコンストラクタ97中の)新しいZスタックに再組み立てされ、N−1個のZスタックとなる。最後に、3次元レンダリング段階はZトレース部(98)を有する。本発明のフレームワーク内において、重要な点は、追加的ビューポイントのそれぞれについて、メインビューポイントのZスタック91にもとづいて、Zスタック97が構成されるということである。オブジェクト抽出95は任意的である。しかし、オブジェクト抽出は非常に有用なコンセプトである。メインビューポイントの元のZスタック91のデータが追加的ビューポイントのZスタックを構成するために変換されるとき、比較的小さいオブジェクト(例えば、小さな角度で見えるオブジェクト)のサイズが非常に大きくなることがある。ピクセルごとに変換をする時、サイズが大きくなった(例えば、3ピクセルから10ピクセルに)オブジェクトには必ず足りないピクセルがある。足りないピクセルは、例えば、オブジェクト抽出と再構成により再構成される。すなわち、どのピクセルがグループであるか見いだし、ピクセルのグループ内に穴があることを検知し、その穴の要素にフィットするであろう値(RGB、Z)をできるだけよく決定し、その穴に入れ、これによりそのグループの中間の足りない要素を再構成し、オブジェクトを「修理」することにより足りないピクセルが再構成される。これはシフト動作(段階96)の後に実行できる。しかし、そうすると、再構成プロセスステップはN−1回、すなわち、シフトステップ96から得られるZスタックのそれぞれについて、すなわち、追加的ビューポイントのZスタック96(説明を簡単にするため、いろいろな方法ステップの結果には、そのステップの参照数字を付すことがある)のそれぞれについて繰り返さなければならない。オブジェクトをシフト96する前に、オブジェクト抽出95を実行することにより、オブジェクト抽出は、メインビューポイントZスタック94に対して1回だけ実行すればよく、動作の複雑性を低減し、速度を速くすることができる。
【0062】
計算すべきビューポイントの数とメインビューポイントに対する位置/方向は、固定されていてもよく、または好ましくはディスプレイから受信したデータに応じて決定してもよい。好ましくは、前記システムは、追加的ビューポイントのデータの入力(図7参照)を有する。Zスタックコンストラクタ75は、追加的ビューポイントのデータを構成する。これは自動的に行われる。この場合、例えば、自動立体視装置で見られるだけ多く(すなわち、全ての可能なディスプレイ装置をカバーできるだけ多数)のZスタック95を構成することもできる。これには、多数の追加的ビューポイントZスタックを構成する必要がある。しかし、好ましくは、システムは追加的ビューポイントのデータを追加的ビューポイントZスタックコンストラクタに供給する入力を有する。ディスプレイ装置のタイプにより、追加的ビューポイントの数は変わる。追加的ビューポイントの特定のデータ(数及び/またはメインビューポイントに対する位置/方向)を供給するための入力を設けることにより、Zスタックコンストラクタは、必要に応じて追加的ビューポイントZスタックを設けることができ、効率を高める。追加的ビューポイントのデータは、簡単な実施形態において、生成すべきビューの数と最大ビューイング角度範囲である。
【0063】
好ましい実施形態においては、システムは、ユーザに対応するビューポイントを確立する手段、またはユーザのビューポイントに対応するデータを供給される手段と有する。例えば、3次元ゲームにおいて、一人より多いプレーヤが参加する場合、ゴーグル、ヘッドホン、レーザ銃、バッジ等を使用することにより、システムは、例えば、上記の特徴が、IRまたは超音波センサによりディスプレイ装置に対する上記の特徴の位置を検出する手段とともに設けられた場合、そのディスプレイ装置のディスプレイスクリーンに対するプレーヤの正確なまたはおおよその位置を検出することができる。追加的Zスタックコンストラクタに上記の情報を供給することにより、プレーヤに対応するビューポイントは、高い精度とリフレッシュレートで処理できるが、一方、その他のビューポイントのデータは処理できないか、またはより低い精度とリフレッシュレートで処理される。これにより、実際に問題となるビューポイント、すなわち、プレーヤと関連するビューポイントのスピードと画像品質が、コスト増の必要性なしに、大幅に上昇する。
【0064】
図10は、本発明による方法のさらに詳細を示す図である。メインビューポイントのDOFぼかしZスタック94はオブジェクト抽出器に入力される。この例では、オブジェクトは、家H、2つの物置S1、S2、フェンスFe(それには穴(例えば、開いたドア)がある)、大きな木T、及び森Fである。メインビューポイント(VP1、ビューポイント1)のZスタック94から、オブジェクトがオブジェクト抽出95で抽出される。オブジェクトはシフトされる(基本的に、x、y、z値が変更されるが、これはメインビューポイント、及び関連する追加的ビューポイントに基づき簡単に計算できる)。新しいZスタック97が、新しいシフトされたオブジェクトデータに基づき計算される。Zスタック97は、追加的ビュー(VP2、ビューポイント2)の画像バッファの基礎である。元のビューポイント(VP1)において、森の一部は開口dを通して見ることができる。シフトしたビューポイント(VP2)において、木(T)の一部がフェンスの開口を通して見ることができる。このように、この例では、フェンスの開口を通して、追加的ビューの場合、木Tの一部が見えることが概略的に示されている。VP2のZスタックは、メインビューポイント(VP1)のZスタックと簡単なシフト動作に基づいて計算されるので、速く多くのビューに対して実行することができる。
【0065】
留意すべきことは、本発明は、新しい画像をN回描画することと比較して、追加的ビューの画像を生成するために必要な計算パワーを大幅に減らして追加的ビューの画像を生成することができるが、スピードを高くするにはコストがかかる。Zスタック層は複数の層を有し、この例では3層である。3つより多くのオブジェクトが重なって位置している場合、一部のオブジェクトはZスタック層にはない。その理由は、これらは、メインビューポイントから見える第4、第5、等のオブジェクトであるからである。このように、データが失われることがある。好ましくは、Zスタックは、2つから5つの層、最も好ましくは3つから4つの層を有する。Zスタックに多くの層があればあるほど、データ消失の変化は少なくなるが、しかし、必要な計算パワーは大きくなる。本願の発明者は、もっともよい妥協点は上に示した範囲、すなわち、2ないし5、好ましくは3ないし4、最も好ましくは3であることに気がついた。
【0066】
データのさらなる消失は、オブジェクト(例えば、家の側面)がメインビューポイントから見えるように方向付けられたときに、1つまたはほんの少数のピクセルしか占めない場合に起こる。他のビューポイントから分かる詳細の量は、あってもごく少ない。好ましい実施形態において、レンダラは、
3次元モデルとn個のメインビューポイントの入力を有する、色情報(RGB)とZ値を有するスタック層を有するn個のメインビューポイントZスタックであるオブジェクトをレンダリングする初期部を有し、
前記レンダラは、初期段階で生成されたn個のメインビューポイントZスタックから、N−n個の追加的ビューポイントのZスタックを構成するZスタックコンストラクタをさらに有する。
ここで、N>>nである。前記レンダラは、さらに、Zスタックから画像情報を生成する画像情報隠蔽動作段階を有する。
【0067】
このメインビューポイントを有する利点は、最もよいメインビューポイントを選択して追加的ビューポイント中のオブジェクトを構成できることである。選択は、どのメインビューポイントがオブジェクトの詳細を最も多く含むか、すなわち、最も多くの要素で表されるかに基づいてなされる。また、例えば、n個のメインビューポイント中のオブジェクトの表示を外挿することにより、組み合わせルこともできる。最も最近の3次元ディスプレイでは、水平ライン状に配置したビューポイント位置でN個のビューが必要であり、これにより水平方向から見ることができる。そこで、好ましくはn=2である。
【0068】
第1段階に必要な計算パワーは2倍になるが、その後の段階ではほぼ同じ計算パワーである。n=2のメインビューポイントは、極端に左及び右のビューポイントとして選択することもできる。このように、各オブジェクトは、確実に、追加的ビューポイントのそれぞれに必要とされるより詳細に2つのメインビューの一方で表される。
【0069】
同様に、将来の3次元ディスプレイは、垂直方向のルックアラウンド機能を備えるために、水平及び垂直位置のグリッドに配置したN=NxNy個のビューを提供するかも知れない。その場合、好ましくはn=4であり、メインビューポイントはグリッドの四隅:左上、右上、左下、右下に対応する。
【0070】
さらに別のデータ消失が、Zスタックの水平、垂直方向の大きさが有限であるために生じる可能性がある。オブジェクトは各Zスタック内で異なる位置にあるので、ビューポイントの一部では、Zスタック内にオブジェクトがもはや無い場合がある。これらのオブジェクトは視界から消えてしまう。オブジェクトがメインビューポイントの境界を越えており、追加的ビューポイントの構成が可能でないこともある。これは、n個のメインビューポイントを有する、上で説明した方法により解決することができる。オブジェクトがメインビューポイントの1つで見えない場合、他のメインビューポイントの1つでは見える可能性が高い。n=1を使用した場合、好ましい他のソリューションは、メインZスタックの水平(または垂直)方向の大きさをQ個の要素増やし、追加的Zスタックはすべて元の大きさのままにしておくことである。これにより、メインZスタックは、シフトされて追加的ビューポイントでだけ見えるようになったオブジェクトを確実に含む。この場合、メインビューポイントフレームバッファは、元の、増加してない大きさである。大きくしたソリューションとn個のメインビューポイントの組み合わせを使用することもできる。
【0071】
さらに、メインビューポイントから追加的ビューポイントにオブジェクトを再サンプリングすることにより、データの消失が起こる。これにより、メインビューポイントの解像度を、水平及び/または垂直方向の要素を2倍以上に高くすることにより解決される。このように、データ消失は無視できる。n個のメインビューポイントを有するソリューションにおいて、周知の超解像度法により、n個の通常解像度のZスタックからより大きな解像度のオブジェクトを抽出することが可能である。しかし、現在の方法では、全ての状況で実行できるわけではなく、例えば、n個のメインビューポイントがオブジェクトのまったく同じ情報を含んでいる退化した場合には実行できない。解像度を上げる方法は、全ての状況で実行可能である。
【0072】
明らかに、本発明のコンセプト内で、多くの変形が可能である。当業者には言うまでもなく、本発明は、上で図示して説明したものに限定されない。本発明は、全ての新規な特徴のそれぞれ、及びその組み合わせにある。請求項中の参照数字は保護範囲を限定する者ではない。「有する」という動詞を用いたが、請求項に記載された要素以外の要素の存在を排除するものではない。要素に付された「1つの」、「一」という用語を使用したが、その要素が複数あることを排除するものではない。
【0073】
本発明は、コンピュータで実行されたとき、本発明による方法を実行するプログラムコード手段を有するコンピュータプログラムにも化体することができる。また、コンピュータで実行されたとき、本発明による方法を実行する、コンピュータ読み取り可能媒体に格納されたプログラムコード手段を有するコンピュータプログラム製品にも化体することができる。また、本発明の特徴的な動作を実行する、本発明によるシステムで使用されるプログラムコード手段を有するプログラム製品にも化体することができる。本発明による方法は、上記の例に限定されない。例えば、アドレッシング手段に供給するデータについて述べたが、そのデータはアドレッシング手段に供給される前に何らかの計算ステップを通過することは排除されていない。例えば、「生画像データ」79を特定タイプのディスプレイに最も好適なフォーマットに変換してもよいし、データを暗号化してもよい。このように、「アドレッシング手段に供給」という言葉は、データがアドレッシング手段に直接、レンダラを出たそのままの形で供給されなければならないと厳密に解釈してはならない。データはアドレッシング手段に入力するために使用される、すなわち、ディスプレイスクリーン上に示す画像の基礎となる。
【0074】
本発明は、本発明によるシステムで使用するレンダラとして化体してもよい。本発明は、3次元ディスプレイ装置のディスプレイスクリーンをアドレッシングする基礎として異なるビューのZスタックであるデータをレンダリングするレンダラとしても化体される。レンダラはシステム自体とは別に動作し、例えば、離れたコンピュータ上で動作することもできる。
【図面の簡単な説明】
【0075】
【図1】ディスプレイ装置の基本原理を示す図である。
【図2】2つのステレオ画像を分離するパララックスバリアの基本原理を示す図である。
【図3】図3Aと3Bは、バリアとレンズ状スクリーンの基本原理を示す図である。
【図4】基本パララックスバリアディスプレイの問題を示す図である。
【図5】既知の複数ビュー装置を示す図である。
【図6】現在のレンダリング方法を示す図である。
【図7】本発明によるディスプレイ装置及び方法用のレンダリングパイプを示す概略図である。
【図8】ディスプレイ装置及び方法用のレンダリングパイプの詳細を示す図である。
【図9】本発明によるレンダリングパイプ及び方法の詳細を示す図である。
【図10】本発明による方法のさらに詳細を示す図である。
【特許請求の範囲】
【請求項1】
システムであって、
ディスプレイスクリーンを有する3次元ディスプレイ装置と、
前記ディスプレイスクリーンをアドレッシングする手段と、
3次元モデルの入力と少なくとも1つのビューポイントの入力とを有し、前記アドレッシング手段に供給する画像情報をレンダリングするレンダラと、を有し、
前記レンダラは、前記3次元モデルの入力とマインビューポイントの入力を有し、色情報とZ値を有するスタック層を有するメインビューポイントZスタックであるオブジェクトをレンダリングする初期部を有し、
前記レンダラは、さらに、前記初期段階により生成されたメインビューポイントZスタックから追加的ビューポイントのZスタックが構成されるZスタックコンストラクタと、前記Zスタックから画像情報を生成するさらなる画像情報隠蔽動作段階を有することを特徴とするシステム。
【請求項2】
請求項1に記載のシステムであって、
前記レンダラは、ビューポイントZスタックからオブジェクトを抽出するオブジェクト抽出器を有することを特徴とするシステム。
【請求項3】
請求項2に記載のシステムであって、
前記オブジェクト抽出器は、メインビューポイントZスタックからオブジェクトを抽出するように構成されていることを特徴とするシステム。
【請求項4】
請求項1に記載のシステムであって、
前記レンダラはDOFレンダリング段階を有することを特徴とするシステム。
【請求項5】
請求項4に記載のシステムであって、
前記DOFレンダリング段階は、前記メインポイントビューZスタックをDOFぼかしを有するメインビューポイントZスタックにDOF処理するように構成されたことを特徴とするシステム。
【請求項6】
請求項2に記載のシステムであって、
前記メインポイントビューZスタックデータは不透明度のデータを含み、前記Zスタックコンストラクタはオブジェクトの不透明度をオブジェクト抽出の後、適合させる手段を有することを特徴とするシステム。
【請求項7】
請求項2に記載のシステムであって、
前記Zスタックコンストラクタは、オブジェクトのRGB値を、オブジェクト抽出の後、適合させる手段も有することを特徴とするシステム。
【請求項8】
請求項1に記載のシステムであって、
前記システムは、追加的ビューポイントのデータの入力を有することを特徴とするシステム。
【請求項9】
請求項1に記載のシステムであって、
追加的ビューポイントの数は10以上であることを特徴とするシステム。
【請求項10】
請求項1に記載のシステムで使用するレンダラ。
【請求項11】
3次元ディスプレイ装置のアドレッシング手段に供給するためZスタックをレンダリングするレンダラ。
【請求項12】
3次元ディスプレイ装置のアドレッシング手段に供給されるデータをレンダリングする方法であって、
メインビューポイントに対して、RGBとZ値を有するスタック層を有するメインビューポイントZスタックであるオブジェクトがレンダーされ、
前記メインビューポイントZスタックから、追加的ビューポイントのZスタックが構成され、
追加的ビューポイントのZスタックからZトレーシングにより、前記アドレッシング手段に供給されるデータが生成されることを特徴とする方法。
【請求項13】
請求項12に記載の方法であって、
DOFレンダリングは、前記メインビューポイントZスタックに実行され、DOFぼかしを有するメインビューポイントZスタックをレンダーすることを特徴とする方法。
【請求項14】
請求項12または13に記載の方法であって、
オブジェクト抽出は、前記メインビューポイントZスタックに実施することを特徴とする方法。
【請求項15】
コンピュータプログラムであって、コンピュータで実行されたとき、前記コンピュータに本発明による方法を実行させることを特徴とするコンピュータプログラム。
【請求項16】
コンピュータ読み取り可能記録媒体であって、本発明によるシステムで使用して本発明の機能を実行させるプログラムコード手段を有することを特徴とするシステム記録媒体。
【請求項1】
システムであって、
ディスプレイスクリーンを有する3次元ディスプレイ装置と、
前記ディスプレイスクリーンをアドレッシングする手段と、
3次元モデルの入力と少なくとも1つのビューポイントの入力とを有し、前記アドレッシング手段に供給する画像情報をレンダリングするレンダラと、を有し、
前記レンダラは、前記3次元モデルの入力とマインビューポイントの入力を有し、色情報とZ値を有するスタック層を有するメインビューポイントZスタックであるオブジェクトをレンダリングする初期部を有し、
前記レンダラは、さらに、前記初期段階により生成されたメインビューポイントZスタックから追加的ビューポイントのZスタックが構成されるZスタックコンストラクタと、前記Zスタックから画像情報を生成するさらなる画像情報隠蔽動作段階を有することを特徴とするシステム。
【請求項2】
請求項1に記載のシステムであって、
前記レンダラは、ビューポイントZスタックからオブジェクトを抽出するオブジェクト抽出器を有することを特徴とするシステム。
【請求項3】
請求項2に記載のシステムであって、
前記オブジェクト抽出器は、メインビューポイントZスタックからオブジェクトを抽出するように構成されていることを特徴とするシステム。
【請求項4】
請求項1に記載のシステムであって、
前記レンダラはDOFレンダリング段階を有することを特徴とするシステム。
【請求項5】
請求項4に記載のシステムであって、
前記DOFレンダリング段階は、前記メインポイントビューZスタックをDOFぼかしを有するメインビューポイントZスタックにDOF処理するように構成されたことを特徴とするシステム。
【請求項6】
請求項2に記載のシステムであって、
前記メインポイントビューZスタックデータは不透明度のデータを含み、前記Zスタックコンストラクタはオブジェクトの不透明度をオブジェクト抽出の後、適合させる手段を有することを特徴とするシステム。
【請求項7】
請求項2に記載のシステムであって、
前記Zスタックコンストラクタは、オブジェクトのRGB値を、オブジェクト抽出の後、適合させる手段も有することを特徴とするシステム。
【請求項8】
請求項1に記載のシステムであって、
前記システムは、追加的ビューポイントのデータの入力を有することを特徴とするシステム。
【請求項9】
請求項1に記載のシステムであって、
追加的ビューポイントの数は10以上であることを特徴とするシステム。
【請求項10】
請求項1に記載のシステムで使用するレンダラ。
【請求項11】
3次元ディスプレイ装置のアドレッシング手段に供給するためZスタックをレンダリングするレンダラ。
【請求項12】
3次元ディスプレイ装置のアドレッシング手段に供給されるデータをレンダリングする方法であって、
メインビューポイントに対して、RGBとZ値を有するスタック層を有するメインビューポイントZスタックであるオブジェクトがレンダーされ、
前記メインビューポイントZスタックから、追加的ビューポイントのZスタックが構成され、
追加的ビューポイントのZスタックからZトレーシングにより、前記アドレッシング手段に供給されるデータが生成されることを特徴とする方法。
【請求項13】
請求項12に記載の方法であって、
DOFレンダリングは、前記メインビューポイントZスタックに実行され、DOFぼかしを有するメインビューポイントZスタックをレンダーすることを特徴とする方法。
【請求項14】
請求項12または13に記載の方法であって、
オブジェクト抽出は、前記メインビューポイントZスタックに実施することを特徴とする方法。
【請求項15】
コンピュータプログラムであって、コンピュータで実行されたとき、前記コンピュータに本発明による方法を実行させることを特徴とするコンピュータプログラム。
【請求項16】
コンピュータ読み取り可能記録媒体であって、本発明によるシステムで使用して本発明の機能を実行させるプログラムコード手段を有することを特徴とするシステム記録媒体。
【図1】
【図2】
【図3A】
【図3B】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3A】
【図3B】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公表番号】特表2007−506172(P2007−506172A)
【公表日】平成19年3月15日(2007.3.15)
【国際特許分類】
【出願番号】特願2006−526750(P2006−526750)
【出願日】平成16年8月31日(2004.8.31)
【国際出願番号】PCT/IB2004/051617
【国際公開番号】WO2005/027052
【国際公開日】平成17年3月24日(2005.3.24)
【出願人】(501344315)コニンクリユケ フィリップス エレクトロニクス エヌ.ブイ. (174)
【Fターム(参考)】
【公表日】平成19年3月15日(2007.3.15)
【国際特許分類】
【出願日】平成16年8月31日(2004.8.31)
【国際出願番号】PCT/IB2004/051617
【国際公開番号】WO2005/027052
【国際公開日】平成17年3月24日(2005.3.24)
【出願人】(501344315)コニンクリユケ フィリップス エレクトロニクス エヌ.ブイ. (174)
【Fターム(参考)】
[ Back to top ]