以下、本発明の実施形態について図面を参照して説明する。
[仮想現実感生成システムの基本構成及び動作]
先ず、本発明の実施形態として示す基本的な構成及び動作について説明し、後に、この仮想現実感生成システムによるテーブル補正パラメータを用いた特徴的な動作について説明する。
仮想現実感生成システムは、図1に示すように、観察者に凹面を向けた任意形状の投影面を有し、当該観察者の有効視野角以上に映像を表示可能な広視野角のスクリーン1に3次元の映像光を投影するために、投影手段である2台のプロジェクタ2a、2bからなる映像投影機器2によって右眼用映像光と左眼用映像光とを出射して、観察者に仮想現実感を与えるものである。
この仮想現実感生成システムは、映像信号処理装置である歪み補正ユニット3に、プロジェクタ2a、2bと映像生成機器4とが接続されている。歪み補正ユニット3は、任意形状の投影面のスクリーン1に映像光が投影されたときの映像歪みを補正する映像信号処理を行う。
なお、以下の説明において、歪み補正ユニット3による歪み補正処理に必要な歪み補正テーブルは、当該歪み補正ユニット3に記憶しているが、後述の歪み補正テーブルを補正するためのテーブル補正パラメータを必要に応じて外部から入力するためにパーソナルコンピュータが接続されることもある。このパーソナルコンピュータは、常時接続されている必要はなく、後述するように必要な情報を歪み補正ユニット3に出力するときのみ接続されていれば良いものである。
この様な仮想現実感生成システムは、任意形状の投影面に映像光を投影させる出力映像信号を投影手段に出力する映像信号処理装置としての機能を歪み補正ユニット3によって実現する。歪み補正ユニット3は、図2に機能的な構成図を示し、図3及び図4に一例としての内部構成を示す。
図2に示すように、歪み補正ユニット3は、平面の投影面に映像光を投影させるための平面映像信号を入力する映像信号入力部11と、平面の投影面と任意形状の投影面のメッシュモデルとの対応マップである歪み補正テーブルであって、映像信号入力部11により入力した平面映像信号に歪み補正処理を施すための歪み補正テーブルを記憶する歪み補正テーブル記憶部15aと、映像信号入力部11により入力した平面映像の基準画素位置と、歪み補正テーブル記憶部15aに記憶した歪み補正テーブルにおける基準位置とのずれを補正するテーブル補正パラメータを記憶するテーブル補正パラメータ記憶部15bと、歪み補正テーブル記憶部15aにより記憶した歪み補正テーブルを、テーブル補正パラメータ記憶部15bに記憶されたテーブル補正パラメータを用いて補正し、当該補正された歪み補正テーブルを参照して映像信号入力部11により入力した平面映像信号の画素ごとに歪み補正処理を施して、投影面に映像光を投影させるための出力映像信号を作成する歪み補正部12と、歪み補正部12により作成された出力映像信号を映像投影機器2に出力する出力部17とを備える。
スクリーン1は、プロジェクタ2a、2bからの右眼用映像光と左眼用映像光とを鏡面反射する。なお、このスクリーン1の投影面形状としては、球体の一部を利用した半球状、円筒状などが挙げられ、複数の平面を接続した形状であっても良い。
プロジェクタ2a、2bは、右眼用映像光と左眼用映像光とを出射するために、歪み補正ユニット3からの右眼用映像信号と左眼用映像信号とを受信する。これらプロジェクタ2a、2bは、歪み補正ユニット3の2チャンネルの映像出力端子3e,3fのそれぞれに接続されている。
なお、観察者に立体視をさせる場合、例えばプロジェクタ2aに右眼用偏光フィルター、プロジェクタ2bに左眼用偏光フィルターを装着させ、スクリーン1としては鏡面反射スクリーンを使用し、観察者には偏光フィルターに対応した偏光メガネを装着させることになる。また、プロジェクタとしては、2台である必要はなく、1台のプロジェクタから時分割で右眼用映像光と左眼用映像光とを交互に出射するものであっても良い。
映像生成機器4は、平面映像光を出射するための映像信号を記憶する記憶媒体を備えている。この映像生成機器4としては、ビデオカメラ、立体カメラの他、パーソナルコンピュータ、ビデオデッキやDVDデッキ等の映像再生装置、などが挙げられる。なお、映像生成機器4は、4チャンネル分の出力端子を有し、歪み補正ユニット3の1チャンネル〜4チャンネルの映像入力端子3a,3b,3c,3dに接続されている。なお、図1、図3及び図4に示した例では、4チャンネル入力、2チャンネル出力の構成を示しているが、入出力ともに1チャンネルのみであっても良い。
歪み補正ユニット3は、そのハードウェア構成を図3に示すように、上述の映像信号入力部11に相当する映像入力側の信号方式変換回路11と、歪み補正部12を含む映像信号処理回路12と、デジタルシグナルプロセッサ(DSP)13と、計算用メモリ14と、歪み補正テーブル及びテーブル補正パラメータを記憶するテーブル用メモリ15と、制御信号用メモリ16と、出力部17に相当する映像出力側の信号方式変換回路17とを備える。このようなハードウェア構成を有する歪み補正ユニット3は、その機能的なソフトウェア構成を図4に示すように、入力映像処理部21と、映像切替/分配部22と、映像合成部23と、歪み補正部24と、出力映像処理部25と、同期処理部26と、変換テーブル保存部27と、制御信号保存部28とを有する。
信号方式変換回路11は、映像入力端子3a,3b,3c,3dを介して映像生成機器4からの映像を入力する入力映像処理部21として機能する。この信号方式変換回路11は、映像生成機器4からの平面映像信号として、コンポジット信号、セパレート信号、コンポーネント信号、ディジタルビデオ信号等を入力する。なお、このように複数種類の平面映像信号を入力可能な構成である場合、映像入力端子3a,3b,3c,3dは、それぞれの方式に準じた端子形状であるDVI−I端子、RGB端子、S端子、コンポジット端子、D端子などとなっている。このように、あらゆる種類の平面映像信号を入力可能とすることによって、入力する平面映像信号の種類幅を広げている。信号方式変換回路11は、映像入力端子3a,3b,3c,3dを介して平面映像信号を入力したことに応じて、当該平面映像信号の方式を、後段の映像信号処理回路12等で処理可能な方式にデコードして、映像信号処理回路12に出力する。
映像信号処理回路12は、図4における映像切替/分配部22となる映像切替/分配回路、映像合成部23となる映像合成回路、歪み補正部24となる映像補正回路、同期処理部26となる同期処理回路を有している。この映像信号処理回路12は、映像切替/分配部22によって入力映像処理部21からの平面映像信号の切替又は分配を行い、複数の平面映像信号を合成する場合には映像合成部23で映像合成を行って、歪み補正部24に供給する。
歪み補正部24は、変換テーブル保存部27に予め記憶された歪み補正テーブル、テーブル補正パラメータを参照して、画素毎の座標変換処理を行うことによって平面映像信号を出力映像信号に変換する歪み補正処理を行う。この歪み補正テーブルは、平面の投影面と任意形状の投影面のメッシュモデルとの対応マップである。また、輝度補正テーブルは、歪み補正処理前の平面映像信号又は歪み補正処理後の出力映像信号の各画素を何倍の輝度にするかを記述したテーブルである。なお、歪み補正テーブル及びテーブル補正パラメータを用いた動作、歪み補正テーブルの作成処理については後述する。
また、歪み補正部24は、変換テーブル保存部27に記憶された輝度補正テーブルを参照して、画素ごとの輝度値を変換することによって平面映像信号を出力映像信号に変換する輝度補正処理を行う。この歪み補正処理及び輝度補正処理を行うに際して、映像信号処理回路12(歪み補正部24)は、計算用メモリ14を作業領域として利用する。
この歪み補正部24による歪み補正処理において、先ず、当該歪み補正処理による座標変換処理について説明する。この歪み補正処理は、図5(a)に示す平面映像信号100の画素a,b,cを、図5(b)に示す出力映像信号100’の画素a’,b’,c’に変換することによって、歪み補正を行う。この出力映像信号100’は、任意形状の投影面となっているスクリーン1のメッシュモデルに従って、座標変換が施された結果である。
歪み補正部24による輝度補正処理は、変換テーブル保存部27に歪み補正処理後の出力映像信号に対応した輝度補正テーブルが記憶されている場合には、図6に示す処理となる。すなわち、先ず図6(a)に示す平面映像信号100に対して輝度補正処理を施し、図6(b)の平面映像信号100’を作成し、その後に、当該平面映像信号100’に歪み補正処理が施される。
また、輝度補正処理は、変換テーブル保存部27に歪み補正処理前の平面映像信号に対応した輝度補正テーブルが記憶されている場合には、図7に示す処理となる。すなわち、図7(a)に示す平面映像信号100が歪み補正処理された結果である図7(b)の出力映像信号100’に対して、当該歪み補正後の画素a’,b’,c’の輝度を変換して、図7(c)に示す新たな輝度補正後の画素a’’,b’’,c’’とする。なお、歪み補正部24は、歪み補正処理及び輝度補正処理に加えて、映像におけるシャギーを除去する処理を追加しても良い。
この歪み補正部24によって歪み補正処理及び輝度補正処理が施された出力映像信号は、出力映像処理部25(信号方式変換回路17)に渡されて、当該出力映像処理部25からプロジェクタ2a、2bに供給される。このとき、出力映像処理部25(信号方式変換回路17)は、出力映像信号をプロジェクタ2a、2bで映像投影可能な信号方式に変換して出力する。なお、映像出力端子3e,3dは、出力映像信号の方式に準じた端子形状であるDVI−I端子、RGB端子などとなっている。
また、この歪み補正ユニット3において、同期処理部26は、リアルタイムで映像切替/分配部22、映像合成部23及び歪み補正部24を動作させるために同期処理部26によって、各部間の映像信号の処理タイミング、映像信号転送タイミングを制御している。この歪み補正ユニット3は、デジタルシグナルプロセッサ13によって、映像信号処理回路12のソフトウェア的な処理が制御されている。
更に、歪み補正ユニット3は、外部から供給された制御信号を制御信号保存部28で受信・保存し、必要に応じて制御信号を制御信号保存部28から選択し、当該制御信号をプロジェクタ2a,2bに転送する。なお、歪み補正ユニット3からプロジェクタ2a,2bに送信する制御信号は、図3に示すように、図示しないユーザに操作される押しボタンやリモコンなどの操作入力信号に応じて出力しても良い。これによって、制御信号保存部28に保存されている制御信号をユーザが自由に切り換えながらプロジェクタ2a,2bを制御させることができる。
このように、歪み補正ユニット3によれば、事前に変換テーブル保存部27に歪み補正テーブル、輝度補正テーブルを記憶させておき、プロジェクタ2a、2bからスクリーン1に映像光を出射させるに際して平面映像信号に歪み補正処理及び輝度補正処理を施す場合に、2次元における座標変換及び輝度変換を行うのみで、3次元処理を行うことなく出力映像信号を作成できる。したがって、歪み補正ユニット3によれば、観察者に視認させる映像の歪みを抑制する処理を簡単な構成でリアルタイムに実現できる。
なお、歪み補正ユニット3は、プロジェクタ2a、2bの動作を制御する制御信号を、当該プロジェクタ2a、2bに出力する。これにより、歪み補正ユニット3は、プロジェクタ2a、2bの映像光の出力開始及び停止をはじめとして、プロジェクタ2a、2bの映像投影位置や映像サイズ、ズーム倍率、色調整などのあらゆるプロジェクタ2a、2bの制御を行うことができる。
また、上述した映像信号処理回路12は、複数の平面映像信号を用いて、当該複数の平面映像信号間で視差を与えて合成した立体映像信号を作成しても良い。例えば、3チャンネル入力の場合、チャンネル3の平面映像信号をチャンネル1の平面映像信号とチャンネル2の平面映像信号に対して視差を付けて合成して、立体映像信号を作成してもよく、4チャンネル入力の場合、チャンネル3、チャンネル4の平面映像信号をそれぞれチャンネル1、チャンネル2の平面映像信号に視差を付けて合成して、立体映像信号を作成してもよい。
[テーブル補正パラメータを用いた動作]
つぎに、上述したように構成された仮想現実感生成システムにおいて、歪み補正テーブルを補正するテーブル補正パラメータを用いた動作について説明する。なお、以下の説明においては、図1乃至図4の構成図のうちで、図2の構成を主として説明する。
この仮想現実感生成システムにおいて、歪み補正ユニット3の映像信号入力部11は、所定の画像空間120において平面映像信号を扱う。すなわち、映像信号入力部11には、所定の画像空間120がメモリアドレスとして与えられたバッファメモリが備えられており、映像生成機器4から平面映像信号が供給されると、当該平面映像信号をバッファメモリに格納する。平面映像信号をバッファメモリに格納した状態において、映像信号入力部11は、入力した平面映像信号(入力画像)100の基準位置が、歪み補正テーブル記憶部15aに記憶されている歪み補正テーブルの基準位置とずれているかを検出することができる。
図8に示すように、映像信号入力部11の所定の画像空間120における所定の位置が、歪み補正テーブル130での基準位置となっている。すなわち、歪み補正テーブル130には、当該歪み補正テーブルの基準位置を含む所定の画像処理空間110から取り出す入力座標(平面の投影面のメッシュモデル)と、出力映像100’を生成するための出力座標(任意形状の投影面のメッシュモデル)との対応マップが記述されている。
そして、映像信号入力部11は、入力画像100を入力すると、機械的に、テーブル補正パラメータによって歪み補正テーブル130の入力座標の値を変更する。また、当該所定の画像処理空間110内における入力画像100の基準位置を認識し、当該入力画像100の基準位置が、所定の画像処理空間110の基準位置(歪み補正テーブル130の基準位置)とずれているかを判定しても良い。図8に示すように入力画像100の基準位置と所定の画像処理空間110の基準位置とがずれている場合、映像信号入力部11は、予めテーブル補正パラメータ記憶部15bに記憶しておいたテーブル補正パラメータによって歪み補正テーブル130の入力座標の値を変更する。これにより、映像信号入力部11は、歪み補正テーブルでの基準位置を入力画像100の基準位置にずらして、当該入力画像100を出力映像100’に変換することができる。すなわち、歪み補正テーブルにおける基準位置に対してずれている平面映像の基準位置を、歪み補正テーブルにおける基準位置に一致させるように、歪み補正テーブルにおける入力画素の座標値を補正するものである。
このテーブル補正パラメータは、例えば映像生成機器4がビデオカメラによる録画・再生によるもので、当該ビデオカメラによる表示条件と歪み補正ユニット3によって設定している観察者に対するスクリーン1の位置等の表示条件とが異なることに基づいて作成されている。このように映像生成機器4の表示条件と歪み補正ユニット3の表示条件とが異なる場合としては、平面映像信号と出力映像信号との基準位置そのものが異なる場合、映像生成機器4の映像サイズと、歪み補正ユニット3によってプロジェクタ2a、2bが表示する映像サイズが異なる場合、映像生成機器4の映像出力レートとプロジェクタ2a、2bの映像出力レートが異なる場合、などが挙げられる。このような場合、歪み補正ユニット3に記憶されている歪み補正テーブル130に記述した対応マップを参照して座標変換を行っても、基準位置が異なるために、平面映像信号が表している絵柄に対して歪み補正を施して任意形状のスクリーン1に歪み無く表示することができない。
そこで、仮想現実感生成システムは、予め映像生成機器4から入力した入力画像100の基準位置と歪み補正テーブル130の基準位置とのずれを表すテーブル補正パラメータを記憶しておき、当該ずれが発生する映像生成機器4から入力画像100を入力した場合に、テーブル補正パラメータによって歪み補正テーブル130を補正することができる。
したがって、この仮想現実感生成システムによれば、各種の映像生成機器4が接続され、当該映像生成機器4から出力された入力画像100の基準位置と歪み補正テーブル130の基準位置とがずれている場合であっても、当該ずれを表すテーブル補正パラメータによって歪み補正テーブル130を補正して、新たに歪み補正テーブル130を作成するなどの処理を行う必要がない。したがって、この仮想現実感生成システムによれば、リアルタイム性を維持しつつ、歪み補正処理を行うことができる。
また、映像生成機器4(映像ソース)ごとにテーブル補正パラメータを用意しておきテーブル補正パラメータ記憶部15bに記憶しておくことにより、映像生成機器4が変更してもテーブル補正パラメータを変更して歪み補正テーブルを補正する。これによって、映像生成機器4に応じた正確な歪み補正を行うことができる。
ここで、入力した平面映像信号の基準位置が歪み補正処理の対象となる基準位置とずれていた場合に、位置あわせやスケール変換を行うことも考えられる。しかし、映像信号処理自体の構成が複雑となったり、ある程度の処理時間がかかるために、観察者に視認させる映像光の歪みを抑制した映像を簡単な構成でリアルタイムに表示させることができなかった。これに対し、仮想現実感生成システムは、テーブル補正パラメータによって歪み補正テーブル130の座標の値を変更するのみであるので、ずれを補正するための処理負荷を僅かなものとすることができる。
また、この仮想現実感生成システムは、入力画像100と出力映像100’とにおいて対応する画素同士のずれ量によって画素の色情報を混合しても良い。すなわち、出力映像100’の画素に対応する入力画像100の画素の位置と、当該出力映像100’の画素と入力画像100の画素とのずれ量を歪み補正テーブル130に記述しておく。そして、歪み補正テーブル130に記述された入力画像100の画素を取り出して対応する出力映像100’の画素とする時に、ずれ量に相当する割合で、入力画像100の複数の画素の色情報を混合した色情報を、出力映像100’の画素の色情報にして、出力映像信号を作成する。具体的には、歪み補正部12は、少なくとも入力画像100のX軸方向で隣り合う2画素内における出力映像100’の画素の代表点の位置に応じて、少なくとも当該2画素内の色情報を混合する、又は、少なくとも入力画像100のY軸方向で隣り合う2画素内における出力映像100’の画素の代表点の位置に応じて、少なくとも当該2画素内の色情報を混合して、出力映像信号を作成する。これにより、歪み補正処理と同時に色情報の補間を行って、出力映像信号の色を滑らかなものとすることができる。この歪み補正テーブルに記述する画素のずれ量については、単純なバイリニア補間に相当する値に限らず、より滑らかに近似する手法として、キュービック補間やバイキュービック補間に対応する値でも良い。
以下、上述した仮想現実感生成システムにおける各種の実施例について説明する。
仮想現実感生成システムは、テーブル補正パラメータ記憶部15bに記憶するテーブル補正パラメータを外部から入力する外部入力手段をさらに備えていても良い。そして、仮想現実感生成システムは、映像信号入力部11により入力した平面映像の基準画素位置が変化した場合に、外部入力手段からテーブル補正パラメータを入力して、当該入力したテーブル補正パラメータに、歪み補正テーブル記憶部15aに記憶されたテーブル補正パラメータを更新する。
この外部入力手段としては、歪み補正ユニット3に備えられた信号入力I/Fによって実現される。この信号入力I/Fは、例えばパーソナルコンピュータと接続され、当該パーソナルコンピュータから出力されたテーブル補正パラメータを入力してテーブル補正パラメータ記憶部15bに記憶させる。ここで、テーブル補正パラメータ記憶部15bには、テーブル補正パラメータと共に映像生成機器4を特定する情報を記憶しておく。これにより、歪み補正部12は、映像信号入力部11に入力された平面映像信号の出力元となる映像生成機器4に対するテーブル補正パラメータを特定して、歪み補正テーブル130を補正することができる。
この外部入力手段としては、映像生成機器4と接続された映像入力端子3a,3b,3c,3dであっても良い。映像入力端子3a,3b,3c,3dは、平面映像信号と共に、テーブル補正パラメータを入力する。これにより、歪み補正部12は、平面映像信号を出力した映像生成機器4に対応するテーブル補正パラメータを選択して、歪み補正テーブルを補正することができる。
この仮想現実感生成システムにおけるテーブル補正パラメータは、歪み補正テーブル130の基準位置を縦方向に移動させることによって出力映像100’の視野を上下移動させることや、歪み補正テーブル130の基準位置を横方向に移動させることによって出力映像100’の視野を水平移動させることができる。また、歪み補正テーブル130の基準位置を中心に、入力画像100から取り込む画素の範囲を拡大又は縮小することによって、入力画像100に対してズームイン(前進)又はズームアウト(後退)した出力映像100’を作成することができる。例えば、テーブル補正パラメータを縦方向、横方向の基準画像の差、及び、縦方向、横方向の倍率とする4つの値に設定し、歪み補正テーブル130による座標変換を簡単な四則演算にする。これにより、歪み補正処理の計算負荷を低減することができ、簡単且つ低コストの構成なハードウェアによってリアルタイム性を持った歪み補正処理を実現できる。
他の仮想現実感生成システムは、図9に示すように、映像生成機器4として光学レンズ機構を備えたカメラ装置4Aを用い、当該カメラ装置4Aによって撮像したカメラ画像から平面映像信号を映像生成ユニット4Bにより生成して、上述した歪み補正ユニット3に供給する。
このような仮想現実感生成システムは、映像生成ユニット4Bによって生成された平面映像信号が、カメラ装置4Aにおける光学レンズ機構が持つ光学特性によって平面映像信号に歪みが現れる。そこで、仮想現実感生成システムは、テーブル補正パラメータとして、映像信号入力部11により入力する平面映像信号を生成するカメラ装置4A及び映像生成ユニット4Bにおける光学レンズの幾何学歪みを補正する光学歪み補正パラメータ15cを含める。そして、歪み補正部12は、歪み補正テーブル記憶部15aにより記憶した歪み補正テーブルを、テーブル補正パラメータ記憶部15bに記憶されたテーブル補正パラメータ及び光学歪み補正パラメータを用いて補正する。
光学歪み補正パラメータ15cは、カメラ装置4A及び映像生成ユニット4Bによって生成した平面映像が光学歪みによってずれる分だけ、歪み補正テーブルの値を変更する。すなわち、光学歪みによってずれた平面映像の基準位置を、歪み補正テーブルにおける基準位置に一致させるように、歪み補正テーブルにおける入力画素の座標値を補正するものである。
なお、この光学歪み補正パラメータは、外部のパーソナルコンピュータから入力しても良い。ここで、歪み補正ユニット3に接続されている映像生成機器4に応じた光学歪み補正パラメータを入力することによって、歪み補正部12は、接続された映像生成機器4に最適な光学歪み補正パラメータを用いて歪み補正処理を行うことができる。
このような歪み補正処理は、図10に示すように、カメラ装置4A及び映像生成ユニット4Bによって生成された平面映像信号によって表される入力画像100の基準位置と歪み補正テーブル130の基準位置とのずれをテーブル補正パラメータによって補正する。そして、歪み補正部12は、当該補正した入力画像100に対してカメラ歪み補正のための光学歪み補正パラメータ15cを用いた補正を行って、出力映像100’を作成することができる。
また、カメラ装置4A及び映像生成ユニット4Bが立体カメラであって右眼用平面映像信号と左眼用平面映像信号を時系列的に交互に歪み補正ユニット3に対して出力する場合、当該右眼用平面映像信号と左眼用平面映像信号との出力タイミングに同期してテーブル補正パラメータ及び光学歪み補正パラメータを切り換えることとなる。
また、仮想現実感生成システムは、映像生成ユニット4Bによって生成された平面映像信号が、カメラ装置4Aにおける光学レンズ機構が持つ光学特性によって平面映像信号に輝度ムラが現れる。そこで、仮想現実感生成システムは、図11に示すように、歪み補正部12により作成された出力映像100’に輝度補正を施すための輝度補正テーブル15dを記憶しておく。そして、歪み補正部12は、記憶された輝度補正テーブル15dを参照して、出力映像100’の画素ごとに輝度補正処理を施して、任意形状の投影面に投影させるための映像信号を作成する。
この輝度補正テーブル15dは、映像信号入力部11により入力する平面映像信号を生成するカメラ装置4A及び映像生成ユニット4Bにおける光学レンズの輝度ムラを補正する補正値を含む。そして、輝度補正手段としての歪み補正部12は、当該補正値によって輝度補正テーブルを補正して、当該補正した輝度補正テーブルを参照して出力映像100’の画素ごとに輝度補正処理を施す。
このような仮想現実感生成システムによれば、カメラ装置4Aにおけるレンズによって平面映像信号に歪みが発生しても、当該平面映像信号に対して、スクリーン1の形状に応じた歪み補正に加えて、当該レンズによる歪み補正を行うことができ、より映像歪みを抑制することができる。また、この仮想現実感生成システムによれば、カメラ装置4Aにおけるレンズによって輝度ムラが発生しても、当該平面映像信号に対して、スクリーン1の形状に応じた歪み補正に加えて、当該レンズによる輝度ムラ補正を行うことができる。また、映像投影機器2におけるレンズの歪みや輝度ムラについても、カメラ装置4Aの場合と同様に補正処理を行うことができる。
また、カメラ装置4A又は映像投影機器2の光学レンズで発生する輝度ムラに対する輝度補正については、色合い補正の観点で、 例えばRGBの3原色に対して、各々別の輝度補正テーブルを設けておき、さらにカメラ装置4A又は映像投影機器2の光学レンズで発生する歪みに対する補正と連動して、色に応じ歪み補正テーブルを変えることもできる。例えばRGBの3原色に対して、別のRGBに対応する3つの歪み補正テーブルを設けることができる。また、カメラ装置4A又は映像投影機器2の光学レンズにおけるレンズ歪みや輝度ムラに関するパラメータのうち、変化する頻度が少ないパラメータについては、予め計算を行って、歪み補正テーブルや輝度補正テーブルに補正値を組み込んでおくことにより、リアルタイム処理の際の計算を効率化することができる。
更に他の仮想現実感生成システムは、映像信号入力部11を複数備えたものとする。この仮想現実感生成システムは、歪み補正テーブルを、任意形状の投影面の領域ごとに、何れかの映像信号入力部11及び当該映像信号入力部11によって入力された平面映像信号の画素が対応付けられている。また、テーブル補正パラメータは、映像信号入力部11ごとに異なるものとなっている。すなわち、映像信号入力部11によって異なる平面映像を入力するために、各テーブル補正パラメータによって歪み補正テーブルを補正して歪み補正処理を行う。これにより、各平面映像の基準位置を、歪み補正テーブルにおける基準位置に一致させた上で、歪み補正テーブルによる座標変換を行うこととなる。
この仮想現実感生成システムは、図12(a)に示すように、複数の入力画像100からなる入力画像群のそれぞれを歪み補正テーブルによって座標変換して、一枚の出力映像100’を作成する。この仮想現実感生成システムにおいて、歪み補正テーブルは、図12(b)に示すように、入力画像番号(No.)、当該入力画像における画素、当該入力画像における画素の変換後における出力画像内の画素が対応付けられている。すなわち、任意形状のスクリーン1における投影面の領域(出力画素)ごとに、何れかの映像信号入力部11(入力画像番号)及び当該映像信号入力部11によって入力された平面映像信号の画素(入力画像の画素)が対応付けられて構成される。
また、テーブル補正パラメータは、各入力画像100ごとに設定されている。
歪み補正部12は、入力画像100ごとのテーブル補正パラメータによって歪み補正テーブルを補正する。そして、補正後の歪み補正テーブルを参照して、補正したテーブル補正パラメータに対応する映像信号入力部11によって入力された平面映像信号の画素を取り出して、当該映像信号入力部11及び画素に対応した歪み補正テーブルにおける任意形状の投影面の領域に相当する画素を有する出力映像信号を作成する。これにより、仮想現実感生成システムは、ピクチャ・イン・ピクチャ形式や、モザイク状などの多様な出力画像に変換して表示させる処理を、リアルタイム性を損なうことなく行うことができる。
なお、多眼式カメラなどによって撮像された映像のように1つの平面映像信号内に複数のカメラ映像が含まれるものがある。この複数のカメラ映像を含む平面映像信号を単一の映像信号入力部11によって入力した場合には、平面映像における座標値と各カメラ映像とを対応付けた歪み補正テーブルを作成しておく。この場合、テーブル補正パラメータ、光学歪み補正パラメータは、各カメラ画像に対して設定する。これにより、各カメラ画像に対応した入力画素に対してテーブル補正パラメータ及び光学歪み補正パラメータによって補正を行って、歪み補正処理を施した出力画像を作成することができる。
映像信号入力部11を複数備えた仮想現実感生成システムは、歪み補正部12の歪み補正処理によって、複数の平面映像信号を重畳して重畳映像を作成することもできる。重畳する映像としては、テーブル補正パラメータによって歪み補正テーブルを補正し、歪み補正処理を行うことで映像の重畳位置や重畳映像のスケールを一致させる必要があるものがある。例えば、各種の訓練を行うための教師映像や、サイズや位置、解説などを表示するためのコンピュータグラフィックなどが挙げられる。
この仮想現実感生成システムは、重畳する各映像に対してテーブル補正パラメータを設定して記憶しておく。そして、各映像のテーブル補正パラメータを用いて歪み補正テーブルの入力画素の座標値を補正する。これにより、各平面映像の基準位置に対して、異なるずれ量を与える。これにより、仮想現実感生成システムは、複数の映像の重畳位置を調整して、歪み補正処理を施した出力画像を作成できる。
仮想現実感生成システムは、映像を重畳させる方法を指定させるパラメータを設定できる。この映像を重畳させる方法としては、例えば映像Aと映像Bとを重畳させる場合、重畳する映像A,B間の輝度或いは色の範囲に応じて、映像A又は映像Bの輝度又は色を100%にする方法や、映像Aの輝度又は色をX%とし映像Bの輝度又は色を(100−X)%にして混合することができる。
このような仮想現実感生成システムによれば、複数の映像を重畳させる場合であっても、各映像をテーブル補正パラメータによってずれを補正し、歪み補正テーブルによって座標変換を行うことによって複数の映像を重畳できる。したがって、この仮想現実感生成システムによれば、リアルタイム性を損なうことなく、各映像を適切な位置で重畳することができる。
また、仮想現実感生成システムは、図13(a)に示すように、単一の入力画像100に対して歪み補正処理及びテーブル補正パラメータによるずれ調整を行うことによって、出力映像100’として、右眼用映像と左眼用映像からなる立体映像を作成することができる。ここで、歪み補正テーブルは、図13(b)に示すように、入力画像100の画素と、左眼用映像のための出力画像の画素と、右眼用映像のための出力画像の画素とからなる。このとき、仮想現実感生成システムは、入力画像100に対して異なるずれ量で座標変換を行うことによって、右眼用映像基準位置の右眼用映像と、当該右眼用映像基準位置とは所定量だけずれた左眼用映像基準位置の左眼用映像とを作成することができる。
更に、仮想現実感生成システムは、図14に示すように、入力画像100に含まれる物体位置をずらして、出力映像100’を作成することができる。例えば入力画像100における物体の所定位置を入力画像100の基準位置とし、当該物体であるオブジェクトの位置をテーブル補正パラメータによってずらす。これにより、出力映像100’は、物体位置がずれたものとすることができる。
[歪み補正テーブルの補足説明]
つぎに、上述したように構成された仮想現実感生成システムにおいて、歪み補正テーブルの作成処理について、補足的に説明する。
歪み補正テーブルを作成するためには、コンピュータによって実現される、歪み補正テーブルに関するテーブル・作成出力部の機能として、スクリーンモデル創造部、プロジェクタ配置・セットアップ部、ユーザ位置設定部を主として有する。スクリーンモデル創造部は、図15に示すように、スクリーン1のメッシュモデルを創造するものである。このスクリーンモデル創造部は、先ず、基本的な3つのモデルが記憶されている。すなわち、球形のみのモデル31と、円筒のみのモデル32と、混合モデル33とである。混合モデル33は、球形を主とし他の平面又は曲面を混合した球面混合モデル34と、円筒を主として他の平面又は曲面を混合した円筒混合モデル35と、平面を主として他の平面又は曲面を混合した平面混合モデル36とから構成されている。そして、各モデル31、32、34〜36の内容は、何れか1つを設定し、更に、入力パラメータ31a,32a,34a〜36aを入力することで、実際のスクリーン1に適応したメッシュモデル31b、32b、34b〜36bを作成することができる。なお、スクリーンモデル創造部に記憶しておく基本的なモデルとしては、図15に示したモデル31〜33に限らず、当該モデル31〜33と並列して、楕円形のモデル、長方形のモデルなども設定しておき、入力パラメータの入力、メッシュモデルの作成を行うことができる。これによって、楕円形や長方形、当該楕円形や長方形を複数組み合わせたスクリーン1であっても、当該スクリーン1に投影した映像に歪みを発生させない歪み補正テーブルを作成できる。
基本モデルと入力パラメータとしては、以下のとおりである。
スクリーン1が球面(真球の一部)の場合、入力パラメータとしては、図16で示すように、球形モデルの半径Rと球形モデルの中心から切断面までの距離Aとである。
ここで、球形モデルは、式1のように表される。
x2+y2+z2=R2 (式1)
ここで、A≦x≦R、−y1≦y≦y1、−z1≦z≦z1である。y1は、式1において、x=A、z=0を代入することによって求められ、z1は、式1において、z=A、y=0を代入することによって求められ、y1=z1となる。従って、上述のようにスクリーン1が球面の場合、歪み補正テーブルを作成するための入力パラメータとしては、球形モデルの半径Rと、球形モデルの中心から切断面までの距離Aとを入力すればよい。
また、スクリーン1の正面から見た形状が、図18のように、球面スクリーンの一部を上下左右のある端から切り欠いた形状の球面スクリーンであった場合に対応した球面モデルは、以下のように表される。例えば、スクリーン1が図18(a)のように正面から見た際に下端から切断された球面スクリーンであった場合は、対応した球面モデルは、図17で示すように、式1とA≦x≦R、−B≦y≦y1、−z1≦z≦z1と表される。y1は、式1において、x=A、z=0を代入することによって求められ、z1は、式1において、x=A、y=0を代入することによって求められ、x1は、式1において、y=−B、z=0を代入することによって求められる。従って、上述のスクリーン1の場合、歪み補正テーブルを求めるための入力パラメータとしては、球面モデルの半径R、球面モデルの中心から切断面までの距離Aと共に、球面モデルの中心から切り欠く位置までの距離Bとなる。
同様に、スクリーン1が図18(b)、図18(c)、図18(d)のように、正面から見た際にそれぞれ上端、左端、右端から切断された球面スクリーンであった場合は、それぞれに対応した球面モデルは以下のように表される。図18(b)のように、上端から切断された球面スクリーンであった場合は、球面モデルは、式1とA≦x≦R、−y1≦y≦B、−z1≦z≦z1である。図18(c)のように、右端から切断された球面スクリーンであった場合は、球面モデルは、式1とA≦x≦R、−y1≦y≦y1、−z1≦z≦Bである。図18(d)のように、左端から切断された球面スクリーンであった場合は、球面モデルは、式1とA≪x≪R、−y1≪y≪y1、−B≪z≪z1である。従って、歪み補正テーブルを作成するための入力パラメータとしては、球面モデルの半径R、球面モデルの中心から切断面までの距離Aと共に、球面モデルの中心から切り欠く位置までの距離Bであればよい。なお、歪み補正テーブルを作成するための入力パラメータを増やせば、2箇所以上の切断を組み合わせたような形状をしたスクリーン1にも対応ができる。
一方、スクリーン1が円筒を切断したような形状のアーチスクリーンであった場合、対応するスクリーンモデルは図19のような円筒モデルで表される。
図19の円筒モデルのxz平面の断面上の円は、式2のように表される。
x2+z2=R2 (式2)
ここで、A≦x≦R、0<y≦H、−z1≦z≦z1の制限を加えることで、円筒モデルの表面の式となる。z1は、式2において、x=Aを代入することによって求められる。
従って、歪み補正テーブルを作成するための入力パラメータとしては、円の半径R(アーチスクリーンの半径R)と、円の中心から切断面までの距離Aと、(アーチスクリーンの)高さHとである。
さらにまた、図20(a)は、複数平面(長方形の面が複数存在)からなるスクリーン1の投影面の場合を示し、この場合、歪み補正テーブルを作成するための入力パラメータとしては、図20(b)で示すような上面から見たときの面の配置と、面の高さHとである。図20(b)の場合、
z=−x+1(0≦x<1) (式3−1)
z=0(1≦x<3) (式3−2)
z=x−3(3≦x≦4) (式3−3)
0<y≦H (式3−4)
である。
また、複数の球面を連結したような形状球面を真横に並べた形状をしたスクリーン1の場合には、歪み補正テーブルを作成するための入力パラメータとしては、図16または図17、18で示す例と同様に、半径Rと、切断面までの距離Aと、切り欠く位置までの切り欠く位置までの距離Bと、横に並べる球の個数とを入力すればよい。すなわち、例えば、上下に2つの球面スクリーンを並べてスクリーン1とした場合、図18(a)と図18(b)とを組み合わせることで実現することができ、同様に左右に2つの球面スクリーンを並べるスクリーン1とした場合、図18(c)と図18(d)とを組み合わせることで実現することができ、歪み補正テーブルを作成するための入力パラメータとしては、前述のように、半径Rと、切断面までの距離Aと、切り欠く位置までの切り欠く位置までの距離Bと、横に並べる球の個数であればよいことが理解される。
複数の円筒面のスクリーン1の場合には、上面から見た配置図に、面の高さHと、各スクリーン1の半径R及び距離Aと、個数とを入力すればよい。このようにして、スクリーン1の投影面の関数式が決まるので、x、y、zに適当な値を代入することで、或る一定個数以上のスクリーン1上の点をサンプリング点として記録することで、スクリーン1の投影面形状を特定することができる。各スクリーン1の投影面の関数式は、スクリーンモデル創造部において、予め各モデル31,32,34〜36内に格納されて、歪み補正テーブルの設定時に呼び出すことができる。そして、入力パラメータ31a,32a,34a〜36aとして上記のパラメータを入力するだけで、実際のスクリーン1に適応したメッシュモデル31b、32b、34b〜36bを作成することができる。
なお、上記のようなスクリーン1の投影面上のサンプリング点は、x軸周り、y軸周り、z軸周りに回転可能(傾いたスクリーン1を定義可能)である。
すなわち、x軸周りのα度の回転は、式4で表すことができる。
また、y軸周りのβ度の回転は、式5で表すことができる。
さらにまた、z軸周りのγ度の回転は、式6で表すことができる。
このようにして得たスクリーン1の投影面上のサンプリング点に、歪み補正ユニット3に入力される平面映像信号の各サンプリング点をマッピングさせる対応マップを歪み補正テーブルとして作成することで、歪み補正ユニット3で歪み補正処理を行わせることができ、平面映像信号の各画素を歪み補正テーブルで対応した画素に割り付けてゆくことで、歪み補正処理が施された出力映像信号を作成させることができる。
この歪み補正テーブルは、使用するスクリーン1の投影面形状が決定し、歪み補正テーブルを作成するための各パラメータを入力し、一旦作成すれば、パラメータ等の変更がない限り変更する必要なく歪み補正ユニット3に供給されて、歪み補正ユニット3内に記憶される。
以上の図16〜図20を用いた説明は、図21に示すようなスクリーン1の投影面形状に対する歪み補正処理を歪み補正ユニット3によって実行させるものである。すなわち、平面の投影面に対する平面映像信号を、そのまま球形のスクリーン1に投影すると、図21(a)に示すように歪んだ映像となり、このため球形のスクリーン1に投影された映像の歪みが無くなるように、図21(b)に示すように予め歪ませた出力映像信号を作成するものである。しかしながら、プロジェクタ2a、2bのスクリーン1に対する配置位置の違い及び観察者のスクリーン1に対する位置の違いなどから、さらなる歪み補正が必要になる。従って、上述のようにして求めた歪み補正テーブルには、さらにそのような補正を施すことができるようになる。
以下に、投影面が球面のスクリーン1に対するプロジェクタ2a、2b及び観察者の位置の違いに対する歪み補正テーブルの作成処理について説明する。この処理は、プロジェクタ配置・セットアップ部及びユーザ位置設定部からの入力に応答して行われる。
図22は、上述した球面補正に、プロジェクタ2a、2b及び観察者の位置補正を含めた歪み補正の手法を説明するための図である。先ず補正にあたり、図22に示すように、観察者の視点位置よりビューフラスタム及びプロジェクタ2a、2bの投影位置より映像投影フラスタムを定義する。ビューフラスタムは、視点位置としての頂点をP0、底面をP0,0、Pm,n、P0,nとする四角錐で表現され、投影フラスタムは、プロジェクタバックフォーカス位置としての頂点をQ0、底面をQ0,0、Qm,0、Qm,n、Q0,nとして表現される。ここで、m,nは映像解像度を表すものとし、映像信号が、例えばSXGAの場合は、m=1279,n=1023である。なお、底面は仮想スクリーン面とも呼ばれる。
ここで、簡易表現のため、m=iにおけるy−z二次元断面から見たイメージを図23に示す。先ず、仮想スクリーン面1a内に点Pi,jを想定し、ベクトルP0Pi,jとドーム型のスクリーン1(メッシュモデル31b,32b,34b〜36b)との交点Ri,jを求める。i,jを、0≦i≦m,0≦j≦nで変化してゆくと、Pi,j→Qi,j対応マップを作成することができ、この対応マップが映像の歪みに対する逆補正となる。
すなわち、先ずビューフラスタムに基づいて通常の映像生成を行い、次にこの映像データを取り出し、このイメージにPi,j→Qi,j対応マップを利用したテクスチャマッピング座標を適用して再度映像生成を行わせることで、歪み補正を実現させる。グリッド映像にPi,j→Qi,j対応マップを適用したイメージを図24に示す(すなわち図21(b)とは逆になる)。この歪み補正処理は、スクリーン1の投影面形状を制限しない。従って、上述のようにして求めた球面のメッシュモデル31bだけでなく、他のメッシュモデル32b、34b〜36b等へも適用可能である。
このように、歪み補正処理を行わせるための歪み補正テーブルを使用させることにより、平面の表示面に対する平面映像信号に対して逐次歪み補正処理をさせて、映像光をプロジェクタ2a、2bから出射させることができ、任意形状のスクリーン1に歪みの無い映像を表示させることができる。
なお、上述の実施の形態は本発明の一例である。このため、本発明は、上述の実施形態に限定されることはなく、この実施の形態以外であっても、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることは勿論である。