以下、本発明の実施の形態について図面を参照して説明する。
本発明を適用した仮想現実感生成システムは、図1に示すように、観察者に凹面を向けた任意形状の投影面を有し、当該観察者の有効視野角以上に映像を表示可能な広視野角のスクリーン1を有する。この仮想現実感生成システムは、スクリーン1に3次元の映像光を投影するために、投影手段である2台のプロジェクタ2a、2bからなる映像投影機器2によって右眼用映像光と左眼用映像光とからなる出力映像を出射する。これにより、仮想現実感生成システムは、観察者に仮想現実感を与える映像を提示する。
この仮想現実感生成システムは、映像信号処理装置である歪み補正/画像処理ユニット3に、プロジェクタ2a、2bと映像生成機器4とパラメータ調整用パーソナルコンピュータ5とが接続されている。
歪み補正/画像処理ユニット3は、任意形状の投影面のスクリーン1に映像光が投影されたときの映像歪みを補正して出力映像信号を作成し、当該出力映像信号に所定の画像処理を施す映像信号処理を行う。なお、パラメータ調整用パーソナルコンピュータ5は、歪み補正/画像処理ユニット3に常時接続されている必要はない。パラメータ調整用パーソナルコンピュータ5は、後述するように画像処理テーブル、歪み補正テーブル、輝度補正テーブル、制御信号等を歪み補正/画像処理ユニット3に出力するときのみ接続されていれば良いものである。また、この歪み補正/画像処理ユニット3は、パラメータ調整用パーソナルコンピュータ5からテーブルが供給される場合のみならず、内部で各テーブルを作成しても良いことは勿論である。
スクリーン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チャンネル入力、2チャンネル出力の構成を示しているが、入出力ともに1チャンネルのみであっても良い。
パラメータ調整用パーソナルコンピュータ5は、画像処理テーブル、歪み補正テーブル及び輝度補正テーブルを作成して、歪み補正/画像処理ユニット3に供給する。
歪み補正テーブルは、スクリーン1の曲面形状に合わせて歪み補正/画像処理ユニット3で平面映像信号に歪み補正を施すためのものである。この歪み補正テーブルは、平面の投影面と任意形状の投影面のメッシュモデルとの対応マップである。この歪み補正テーブルは、歪み補正後の出力画像の画素に対応する、歪み補正前の入力画像の画素と、その画素からのずれ量を記述することで、入力画像の複数の画素の色情報を適切な割合で混合して出力画像の画素の色情報とすることも可能としたテーブルであっても良い。
平面の投影面と任意形状の投影面のメッシュモデルとの対応マップのみを記述した歪み補正テーブルは、例えば、入力画像の画素座標(5,7)と出力画像の画素座標(6,8)とを対応させて記述している。また、入力画像の複数の画素の色情報から出力画像の画素の色情報を作成できる歪み補正テーブルは、例えば、x方向に0.55,y方向に0.3のずれ量がある場合に、入力画像の画素座標(5.55,7.3)と出力画像の画素座標(6,8)とを対応させて記述している。
輝度補正テーブルは、平面映像信号に輝度補正を施すためのものである。輝度補正テーブルは、歪み補正処理前の平面映像信号又は歪み補正処理後の出力映像信号の各画素を何倍の輝度にするかを記述したテーブルである。
画像処理テーブルは、平面映像信号により描かれる各画素ごとに、所定の画像処理を施すためのものである。この所定の画像処理は、リアルタイムに処理する必要があるものとして、ガンマ補正処理、グレースケール化処理、2値化処理、コントラスト調整処理、色反転処理、エッジ強調(シャープネス)処理が含まれる。画像処理テーブルは、これらの所定の画像処理を行うためのパラメータを格納している。
歪み補正/画像処理ユニット3は、パラメータ調整用パーソナルコンピュータ5と接続された外部入力端子3gを備え、画像処理テーブル、歪み補正テーブル、輝度補正テーブルを入力する。なお、このパラメータ調整用パーソナルコンピュータ5による歪み補正テーブルの作成処理については後述する。
パラメータ調整用パーソナルコンピュータ5は、プロジェクタ2a、2bの動作を制御する制御信号を歪み補正/画像処理ユニット3に出力する。この制御信号は、プロジェクタ2a、2bの映像光の出力開始及び停止をはじめとして、プロジェクタ2a、2bの映像投影位置や映像サイズ、ズーム倍率、色調整などのあらゆるプロジェクタ2a、2bの制御コマンドを含む。この制御信号は、歪み補正/画像処理ユニット3によって入力されて、歪み補正/画像処理ユニット3の外部出力端子3hを介してプロジェクタ2a、2bのそれぞれに供給される。
歪み補正/画像処理ユニット3は、そのハードウェア構成を図2に示す。歪み補正/画像処理ユニット3は、映像入力側の信号方式変換回路11と、映像信号処理回路12と、外部機器制御回路13と、デジタルシグナルプロセッサ(DSP)14と、計算用メモリ15と、テーブル用メモリ16と、映像出力側の信号方式変換回路17と、制御信号用メモリ18とを備える。
このようなハードウェア構成を有する歪み補正/画像処理ユニット3は、その機能的なソフトウェア構成を図3に示す。歪み補正/画像処理ユニット3は、入力映像処理部21と、映像切替/分配部22と、映像合成部23と、歪み補正/画像処理部24と、出力映像処理部25と、同期処理部26と、変換テーブル読み込み/保存部27と、外部機器制御部28と、制御信号読み込み/保存部29とを有する。
信号方式変換回路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は、図3における映像切替/分配部22となる映像切替/分配回路、映像合成部23となる映像合成回路、歪み補正/画像処理部24となる映像補正回路、同期処理部26となる同期処理回路を有している。この映像信号処理回路12は、映像切替/分配部22によって入力映像処理部21からの平面映像信号の切替又は分配を行い、複数の平面映像信号を合成する場合には映像合成部23で映像合成を行って、歪み補正/画像処理部24に供給する。
歪み補正/画像処理部24は、変換テーブル読み込み/保存部27に予め記憶された歪み補正テーブルを参照して、画素毎の座標変換処理を行うことによって平面映像信号を出力映像信号に変換する歪み補正処理を行う。また、歪み補正/画像処理部24は、変換テーブル読み込み/保存部27に予め記憶された画像処理テーブルを参照して、画素毎の画像処理を行うことによって出力映像信号に所定の画像処理を施す。更に、歪み補正/画像処理部24は、変換テーブル読み込み/保存部27に記憶された輝度補正テーブルを参照して、画素ごとの輝度値を変換することによって平面映像信号を出力映像信号に変換する輝度補正処理を行う。
更に、歪み補正/画像処理部24は、歪み補正処理の座標変換の際に、歪み補正テーブル内部に記述されたずれ量を参照することで、出力画像の画素に関連した入力画像の複数の画素の色情報をもとに出力画像の画素の色情報を生成することもできる。この画像処理、歪み補正処理、輝度補正処理を行うに際して、映像信号処理回路12(歪み補正/画像処理部24)は、計算用メモリ15を作業領域として利用する。
この歪み補正/画像処理部24による歪み補正処理は、図4(a)に示す平面映像信号100の画素a,b,cを、図4(b)に示す出力映像信号100’の画素a’,b’,c’に変換することによって、歪み補正を行う。この出力映像信号100’は、任意形状の投影面となっているスクリーン1のメッシュモデルに従って、座標変換が施された結果である。
歪み補正/画像処理部24は、図5(a)に示す平面映像信号100に含まれる画素データを、歪み補正テーブル110を参照して座標変換する。これにより、歪み補正/画像処理部24は、平面映像信号100を、図5(b)に示す中間映像信号100’に変換する。更に、歪み補正/画像処理部24は、中間映像信号100’に含まれる画素データを、画像処理テーブル120を参照して画素ごとに画像処理を施す。これにより、歪み補正/画像処理部24は、中間映像信号100’を、図5(c)に示す出力映像信号100”に変換する。この画像処理テーブル120を用いた画像処理は、歪み補正テーブル110を用いた座標変換が終了し、中間映像信号100’が完成したタイミングで、当該中間映像信号100’の各画素について、画像処理テーブル120を用いて行うことができる。
また、歪み補正/画像処理部24は、図6(a)に示す平面映像信号100の画素の座標値を、歪み補正テーブル110を参照して図6(b)に示す出力映像信号100’の各画素の座標値を変換する。歪み補正/画像処理部24は、各画素の座標値を変換したタイミングで、当該画素に対して、画像処理テーブル120を参照して、画像処理を行う。これにより、歪み補正/画像処理部24は、図5で説明したように、平面映像信号100の全体に対して歪み補正を終了した後に画像処理をする場合と比較して、歪み補正及び画像処理の双方に要する処理時間を短くすることができる。
更に、歪み補正/画像処理部24は、図7(a)に示す平面映像信号100に含まれる画素データに対して、画像処理テーブル120を参照して画像処理を施す。これにより、歪み補正/画像処理部24は、平面映像信号100を、図7(b)に示す中間映像信号100’に変換する。更に、歪み補正/画像処理部24は、中間映像信号100’に含まれる画素データを、歪み補正テーブル110を参照して座標変換する。これにより、歪み補正/画像処理部24は、中間映像信号100’を、図7(c)に示す出力映像信号100”に変換する。この歪み補正テーブル110を用いた座標変換処理は、画像処理テーブル120を用いた画像処理が終了し、中間映像信号100’が完成したタイミングで、当該中間映像信号100’の各画素について、歪み補正テーブル110を用いて行うことができる。このように、歪み補正/画像処理部24は、図5で説明した場合とは逆に、先に画像処理テーブル120を用いた画像処理を行い、その後に、歪み補正テーブル110を用いた座標変換処理を行うこともできる。
更にまた、歪み補正/画像処理部24は、歪み補正/画像処理ユニット3が外部から平面映像信号100の取込を完了したタイミングで、当該図8(a)の平面映像信号100の各画素に対して画像処理テーブル120を参照した画像処理を行う。そして、歪み補正/画像処理部24は、画像処理済みの平面映像信号100の各画素の座標値を、歪み補正テーブル110を参照して変換して図8(b)の出力映像信号100’を作成する。これにより、歪み補正/画像処理部24は、図7で説明したように、平面映像信号100の全体に対して画像処理を終了した後に歪み補正処理をする場合と比較して、歪み補正及び画像処理の双方に要する処理時間を短くすることができる。
このような歪み補正/画像処理部24は、図9乃至図13に示す何れか一つ又は複数の画像処理テーブルを用いて、画像処理を行う。
図9に示す画像処理テーブルは、画像などの色のデータと、それが実際に出力される際の出力映像信号の相対関係を調節して、より自然に近い画像を得るためのガンマ補正処理を行うためのものである。このガンマ補正に用いられる画像処理テーブルは、R成分用のテーブル、G成分用のテーブル、B成分用のテーブルとを含む。各テーブルは、入力値(INPUT)と出力値(OUTPUT)とが対応付けて格納されている。
このガンマ補正の画像処理テーブルは、
出力値=(入力値/255)(1/γ)×255
となるように入力値(Rinput,Ginput,Binput)に対する出力値(Routput,Boutput,Goutput)が設定されている。上記式において、γはガンマ値である。このガンマ補正の画像処理テーブルは、上記式に従って、予めパラメータ調整用パーソナルコンピュータ5又は歪み補正/画像処理ユニット3の内部にて生成されて記憶されている。
歪み補正/画像処理部24は、ガンマ補正の画像処理テーブルを参照して、画像処理対象となる映像信号における各画素のR成分の入力値から、R成分の出力値を得る。同様に、画像処理対象となる映像信号における各画素のG成分の入力値から、G成分の出力値を得て、画像処理対象となる映像信号における各画素のB成分の入力値から、B成分の出力値を得る。これにより、歪み補正/画像処理部24は、ガンマ補正が施された出力映像信号を得ることができる。
図10に示す画像処理テーブルは、フルカラー画像から256階調のグレースケール画像へ変換するグレースケール化処理を行うためのものである。このグレースケール化処理の画像処理テーブルとしては、図10(a)に示す単純モードの画像処理テーブルと、図10(b)に示すNTSC(National Television System Committee)系加重平均法モードの画像処理テーブルとがある。歪み補正/画像処理部24は、例えば操作入力部6の操作を外部機器制御部28が検出して、何れかのグレースケール化処理のモードが設定される。これに応じて、歪み補正/画像処理部24は、何れかのモードの画像処理テーブルを使用して、入力映像信号にグレースケール化処理を施す。
単純モードのグレースケール化処理を行うための画像処理テーブルは、
出力値=(Rinput+Ginput+Binput)/3
となるように、入力値に対する出力値が設定されている。これにより、歪み補正/画像処理部24は、R成分、G成分、B成分の平均を取って、出力値を決定できる。出力値は、上式により算出される値であり、R成分の信号値Routput、G成分の信号値Goutput、B成分の信号値Boutputで同一値とする。
NTSC系加重平均法モードのグレースケール化処理を行うための画像処理テーブルは、
出力値=0.298912×Rinput+0.586611×Ginput+0.114478×Binput
となるように、入力値(Rinput,Ginput,Binput)に対する出力値(Routput,Boutput,Goutput)が設定されている。出力値は、上式により算出される値であり、R成分の信号値Routput、G成分の信号値Goutput、B成分の信号値Boutputで同一値とする。このNTSC系加重平均法は、単純モードのグレースケール化処理を行うと青色であった部分が妙に明るく感じたり、緑色だった部分が暗く感じる画像となってしまう。これは人間の視覚における色に対する感度特性が、一般的に緑色の輝度には敏感に反応し、青色の輝度にはあまり反応しないという傾向があるためである。このために、歪み補正/画像処理部24は、NTSC系加重平均法によって、グレースケール化処理を行うこともできる。
このように、歪み補正/画像処理部24は、グレースケール化処理を行うモードが選択された時に、上記の式に従って画像処理テーブルを作成する、又は、予め各モードについて作成しておいた画像処理テーブルを選択することができる。なお、予め各モードの画像処理テーブルを作成しておくことにより、グレースケール化処理の事前処理を簡単にできる。
図11に示す画像処理テーブルは、入力画像を白と黒の2階調の画像に変換する2値化処理を行うためのものである。この2値化処理の画像処理テーブルとしては、図11(a)に示す単色判定モードの画像処理テーブルと、図11(b)に示す全色判定モードの画像処理テーブルとがある。歪み補正/画像処理部24は、例えば操作入力部6の操作を外部機器制御部28が検出して、何れかの2値化処理のモードが設定される。これに応じて、歪み補正/画像処理部24は、何れかのモードの画像処理テーブルを使用して、入力映像信号に2値化処理を施す。
単色判定モードの2値化処理を行うための画像処理テーブルは、入力値が所定の閾値α以上である場合には出力値を「255」とし、入力値が所定の閾値αより低い場合には出力値を「0」とする。ここで、入力値は、R成分の信号値Rinput、G成分の信号値Ginput、B成分の信号値Binputの何れかを用いる。また、出力値は、R成分の信号値Routput、G成分の信号値Goutput、B成分の信号値Boutputで同一値とする。
全色判定モードの2値化処理を行うための画像処理テーブルは、R成分の信号値、G成分の信号値、B成分の信号値の平均値を入力値とする。歪み補正/画像処理部24は、当該入力値が所定の閾値α以上である場合には出力値を「255」とし、入力値が所定の閾値αより低い場合には出力値を「0」とする。出力値は、R成分の信号値Routput、G成分の信号値Goutput、B成分の信号値Boutputで同一値とする。
歪み補正/画像処理部24は、2値化処理を行うモード及び閾値αが選択された時に、画像処理テーブルを作成する、又は、予め各モード及び閾値αについて作成しておいた画像処理テーブルを選択することができる。
図12に示す画像処理テーブルは、色の明暗の差異を変化させるコントラスト調整処理を行うためのものである。
このコントラスト調整処理に用いられる画像処理テーブルは、入力値(INPUT)と出力値(OUTPUT)とが対応付けて格納されている。このコントラスト調整処理の画像処理テーブルは、R成分の入力値Rinput,G成分の入力値Ginput,B成分の入力値Binputに対して、R成分の出力値Routput,G成分の出力値Goutput,B成分の値Boutputが、下記の式によって設定されている。
Routput=tanθ(Rinput−127)+127
Goutput=tanθ(Ginput−127)+127
Boutput=tanθ(Binput−127)+127
上記式において、θは調整値である。このθは、操作入力部6に対するユーザの操作に応じて、歪み補正/画像処理部24が決定する。この場合、予め複数段階のtanθを用意しておき、当該複数段階のtanθのうちの何れかのtanθをユーザの操作に応じて選択できるようにしても良い。
歪み補正/画像処理部24は、入力された調整値θと、上記式とを用いて、図12に示すコントラスト調整処理の画像処理テーブルを作成して、変換テーブル読み込み/保存部27に記憶させる。また、このコントラスト調整処理の画像処理テーブルは、予めパラメータ調整用パーソナルコンピュータ5にて生成されて、変換テーブル読み込み/保存部27に記憶しておいても良い。
歪み補正/画像処理部24は、コントラスト調整処理の画像処理テーブルを参照して、画像処理対象となる映像信号における各画素のR成分の入力値から、R成分の出力値を得る。同様に、画像処理対象となる映像信号における各画素のG成分の入力値から、G成分の出力値を得て、画像処理対象となる映像信号における各画素のB成分の入力値から、B成分の出力値を得る。これにより、歪み補正/画像処理部24は、コントラスト調整が施された出力映像信号を得ることができる。
図13に示す画像処理テーブルは、色反転処理を行うためのものである。
この色反転処理に用いられる画像処理テーブルは、図13(a)に示すように、R成分の入力値Rinput,G成分の入力値Ginput,B成分の入力値Binputごとに、R成分の出力値Routput,G成分の出力値Goutput,B成分の値Boutputが対応付けられている。この色反転処理の画像処理テーブルは、R成分の入力値Rinput,G成分の入力値Ginput,B成分の入力値Binputに対して、R成分の出力値Routput,G成分の出力値Goutput,B成分の値Boutputが、例えば下記の式によって設定されている。
Routput=255−Rinput
Goutput=255−Ginput
Boutput=255−Binput
また、他の色反転処理のための画像処理テーブルは、図13(b)に示すように、単一の入力値inputに対して単一の出力値outputが設定されているものであっても良い。ここで、入力値inputは、R成分の入力値Rinput,G成分の入力値Ginput,B成分の入力値Binputの何れかである。また、出力値outputは、R成分の出力値Routput,G成分の出力値Goutput,B成分の値Boutputの何れかである。
歪み補正/画像処理部24は、上記式とを用いて、図13(a)又は図13(b)に示す色反転処理の画像処理テーブルを作成して、変換テーブル読み込み/保存部27に記憶させる。また、この色反転処理の画像処理テーブルは、予めパラメータ調整用パーソナルコンピュータ5にて生成されて、変換テーブル読み込み/保存部27に記憶しておいても良い。
歪み補正/画像処理部24は、図13(a)の画像処理テーブルを用いる場合、色反転処理の画像処理テーブルを参照して、画像処理対象となる映像信号における各画素のR成分の入力値から、R成分の出力値を得る。同様に、画像処理対象となる映像信号における各画素のG成分の入力値から、G成分の出力値を得て、画像処理対象となる映像信号における各画素のB成分の入力値から、B成分の出力値を得る。これにより、歪み補正/画像処理部24は、コントラスト調整が施された出力映像信号を得ることができる。
歪み補正/画像処理部24は、図13(b)の画像処理テーブルを用いる場合、R成分の入力値Rinput,G成分の入力値Ginput,B成分の入力値Binputのそれぞれに対して、歪み補正/画像処理部24は、出力値output=255−入力値inputの演算を行って、R成分の出力値Routput,G成分の出力値Goutput,B成分の値Boutputを得る。
更に、歪み補正/画像処理部24は、画像処理として、エッジ強調処理(シャープネス処理)を行うこともできる。例えば、操作入力部6のユーザの操作に応じて、エッジ強調に用いるフィルタの種類が選択される。そして、歪み補正/画像処理部24又は歪み補正/画像処理ユニット3は、選択されたフィルタの種類に従って、エッジ強調処理を行うことができる。このエッジ強調処理に用いるフィルタとしては、Laplacian フィルタ、Sobelフィルタ、Prewittフィルタが挙げられる。また、一般的なエッジ強調処理における調整も可能としても良い。
更に、歪み補正/画像処理部24は、映像を投影するスクリーン1の部位に対応する映像部分ごとに、異なる画像処理テーブルを用いて画像処理を行っても良い。例えば、スクリーン1がドーム型である場合には、スクリーン1の中心部分とスクリーン1の縁部分とでは調整値が異なる中心用の画像処理テーブルと縁部用の画像処理テーブルとを変換テーブル読み込み/保存部27に記憶しておく。例えば、映像部分を指定するユーザ操作及び映像部分ごとに異なる画像処理のパラメータを設定するユーザ操作を操作入力部6が検出して、歪み補正/画像処理部24が当該映像部分及び映像部分ごとのパラメータを入力する。そして、歪み補正/画像処理部24は、映像部分ごとにパラメータが異なる画像処理テーブルを作成することができる。
例えばドーム型のスクリーン1に対して一様のコントラストの映像を視認させたい場合、コントラスト調整のためのtanθを、ドーム型のスクリーン1の中心部分とドーム型のスクリーン1の縁部分とで異なる値としても良い。これにより、歪み補正/画像処理部24は、映像部分ごとにtanθを変えたコントラスト調整用の複数のテーブルを作成することができる。そして、歪み補正/画像処理部24は、複数のテーブルを参照して、スクリーン1の中心部分に投影される映像に対しては、中心用のtanθでコントラスト調整を施す。また、歪み補正/画像処理部24は、スクリーン1の縁部分に投影される映像に対しては縁部分のtanθでコントラスト調整を施す。
このように、歪み補正/画像処理ユニット3は、映像部分ごとの画像処理のパラメータを最適化でき、映像部分ごとに最適な画像処理を施すことができる。
つぎに、歪み補正/画像処理部24による輝度補正処理について説明する。
歪み補正/画像処理部24による輝度補正処理は、変換テーブル読み込み/保存部27に歪み補正処理後の出力映像信号に対応した輝度補正テーブルが記憶されている場合には、図14に示す処理となる。すなわち、先ず図14(a)に示す平面映像信号100に対して輝度補正処理を施し、図14(b)の平面映像信号100’を作成し、その後に、当該平面映像信号100’に歪み補正処理が施して、図14(c)の出力映像信号100”を作成する。この輝度補正処理及び歪み補正処理に対し、歪み補正/画像処理部24は、外部から平面映像信号100を入力したタイミング、平面映像信号100’を作成するタイミング、歪み補正処理を施して出力映像信号100”を作成するタイミングで画像処理を行うことができる。
また、輝度補正処理は、変換テーブル読み込み/保存部27に歪み補正処理前の平面映像信号に対応した輝度補正テーブルが記憶されている場合には、図15に示す処理となる。すなわち、図15(a)に示す平面映像信号100が歪み補正処理された結果である図15(b)の出力映像信号100’に対して、当該歪み補正後の画素a’,b’,c’の輝度を変換して、図15(c)に示す新たな輝度補正後の画素a”,b”,c”を含む出力映像信号100”とする。この輝度補正処理及び歪み補正処理に対し、歪み補正/画像処理部24は、外部から平面映像信号100を入力したタイミング、歪み補正処理を施して出力映像信号100’を作成するタイミング、輝度補正処理を施して出力映像信号100”を作成するタイミングで画像処理を行うことができる。
なお、歪み補正/画像処理部24の歪み補正処理では、歪み補正処理の座標変換の際に、歪み補正テーブル内部に記述されたずれ量を参照することで、出力画像の画素に関連した入力画像の複数の画素の色情報をもとに出力画像の画素の色情報を生成することもできる。この出力画像の画素の色情報を補間して作成する処理を含む歪み補正処理の詳細については、後述する。
この歪み補正/画像処理部24によって、画像処理、歪み補正処理及び輝度補正処理が施された出力映像信号は、出力映像処理部25(信号方式変換回路17)に渡されて、当該出力映像処理部25からプロジェクタ2a、2bに供給される。このとき、出力映像処理部25(信号方式変換回路17)は、出力映像信号をプロジェクタ2a、2bで映像投影可能な信号方式に変換して出力する。なお、映像出力端子3e,3dは、出力映像信号の方式に準じた端子形状であるDVI−I端子、RGB端子などとなっている。
また、この歪み補正/画像処理ユニット3において、同期処理部26は、リアルタイムで入力映像処理部21、映像切替/分配部22、映像合成部23、歪み補正/画像処理部24及び出力映像処理部25を動作させるために同期処理部26によって、各部間の映像信号の処理タイミング、映像信号転送タイミングを制御している。この歪み補正/画像処理ユニット3は、デジタルシグナルプロセッサ14によって、映像信号処理回路12のソフトウェア的な処理が制御されている。
更に、歪み補正/画像処理ユニット3は、パラメータ調整用パーソナルコンピュータ5から供給された制御信号を制御信号読み込み/保存部29で受信・保存し、外部機器制御回路13(外部機器制御部28)が、適宜、制御信号を制御信号読み込み/保存部29から選択し、当該制御信号を外部出力端子3hを通じてプロジェクタ2a,2bに転送する。なお、歪み補正/画像処理ユニット3からプロジェクタ2a,2bに送信する制御信号は、図3に示すように、ユーザに操作される押しボタンやリモコンなどの操作入力部6からの操作入力信号に応じて、外部機器制御部28から出力しても良い。これによって、制御信号読み込み/保存部29に保存されている制御信号をユーザが自由に切り換えながらプロジェクタ2a,2bを制御させることができる。
このように、歪み補正/画像処理ユニット3によれば、事前に変換テーブル読み込み/保存部27に画像処理テーブル、歪み補正テーブル、輝度補正テーブルを記憶させておく。そして、歪み補正/画像処理ユニット3は、プロジェクタ2a、2bからスクリーン1に映像光を出射させるに際して平面映像信号に画像処理、歪み補正処理、輝度補正処理を施す場合に、2次元における画像処理、座標変換、輝度変換を行うのみで、3次元処理を行うことなく出力映像信号を作成できる。すなわち、歪み補正の関係式の生成を外部のパラメータ調整用パーソナルコンピュータ5で行い、当該パラメータ調整用パーソナルコンピュータ5の処理結果を歪み補正テーブルとして入力できる。したがって、歪み補正/画像処理ユニット3内部において、3次元の計算処理を必要とせず、2次元の計算処理のみで歪み補正が可能である。また、画像処理、輝度補正処理についても、歪み補正/画像処理ユニット3内部において、3次元の計算処理を必要とせず、2次元の計算処理のみで画像処理、輝度補正が可能である。したがって、歪み補正/画像処理ユニット3によれば、観察者に視認させる映像の画像処理、輝度補正、歪み抑制を簡単な構成でリアルタイムに実現できる。
また、この歪み補正/画像処理ユニット3によれば、様々な種類の映像信号に対して上述の処理を施すことができ、入力映像の種類に対する制限を軽減できる。
更に、歪み補正/画像処理ユニット3は、複数の平面映像信号を同時に入力すると共に、映像信号を複数同時に出力する構成となっている。映像信号処理回路12は、同時に複数の平面映像信号を入力した場合に、当該複数の平面映像信号を選択して、歪み補正をした出力映像信号を信号方式変換回路17に出力することができ、当該複数の平面映像信号を合成して信号方式変換回路17から出力させることができる。この複数の平面映像信号のうち信号方式変換回路17に出力する出力映像信号を選択する条件は、パラメータ調整用パーソナルコンピュータ5によって設定できる。また、複数の平面映像信号を合成する前に、当該複数の平面映像信号の映像サイズを統一するように映像の拡大、縮小処理を施すことが望ましい。
また、複数の平面映像信号を同時に入力した場合、DSP14で構成される同期処理部26によって、複数の平面映像信号の処理タイミングの同期を取ることができる。これによって、2台のプロジェクタ2a,2bを使用して立体視をさせることもできる。
更に、上述した映像信号処理回路12は、複数の平面映像信号を用いて、当該複数の平面映像信号間で視差を与えて合成した視差付き平面映像信号を作成しても良い。例えば、3チャンネル入力の場合、チャンネル3の平面映像信号をチャンネル1の平面映像信号とチャンネル2の平面映像信号に対して視差を付けて合成して、視差付き平面映像信号を作成してもよく、4チャンネル入力の場合、チャンネル3、チャンネル4の平面映像信号をそれぞれチャンネル1、チャンネル2の平面映像信号に視差を付けて合成して、視差付き平面映像信号を作成してもよい。このような視差付き平面映像信号の作成処理の条件は、パラメータ調整用パーソナルコンピュータ5によって設定でき、当該設定によって、スクリーン1に歪みがない立体映像を表示させることができる。
つぎに、上述したように構成された仮想現実感生成システムにおいて、パラメータ調整用パーソナルコンピュータ5による歪み補正テーブルの作成処理について説明する。
パラメータ調整用パーソナルコンピュータ5は、歪み補正テーブルに関するテーブル・作成出力部の機能として、スクリーンモデル創造部、プロジェクタ配置・セットアップ部、ユーザ位置設定部を主として有する。スクリーンモデル創造部は、図16に示すように、スクリーン1のメッシュモデルを創造するものである。このスクリーンモデル創造部は、先ず、基本的な3つのモデルが記憶されている。すなわち、球形のみのモデル31と、円筒のみのモデル32と、混合モデル33とである。混合モデル33は、球形を主とし他の平面又は曲面を混合した球面混合モデル34と、円筒を主として他の平面又は曲面を混合した円筒混合モデル35と、平面を主として他の平面又は曲面を混合した平面混合モデル36とから構成されている。そして、各モデル31、32、34〜36の内容は、何れか1つを設定し、更に、入力パラメータ31a,32a,34a〜36aを入力することで、実際のスクリーン1に適応したメッシュモデル31b、32b、34b〜36bを作成することができる。なお、スクリーンモデル創造部に記憶しておく基本的なモデルとしては、図16に示したモデル31〜33に限らず、当該モデル31〜33と並列して、楕円形のモデル、長方形のモデルなども設定しておき、入力パラメータの入力、メッシュモデルの作成を行うことができる。これによって、楕円形や長方形、当該楕円形や長方形を複数組み合わせたスクリーン1であっても、当該スクリーン1に投影した映像に歪みを発生させない歪み補正テーブルを作成できる。
基本モデルと入力パラメータとしては、以下のとおりである。
図17で示すように球面(真球の一部)の場合、入力パラメータとしては、球の半径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が球面の場合、パラメータ調整用パーソナルコンピュータ5への入力パラメータとしては、球の半径Rと、球の中心から切断面までの距離Aとを入力すればよい。
また、図18で示すように、原点(x軸線)からy方向にBの位置で球面の一部を切り欠いたスクリーン1である場合、スクリーン1の投影面は、図19(a)のようになり、Bが負の位置(図18のように下(−y方向))の場合、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を代入することによって求められる。従って、パラメータ調整用パーソナルコンピュータ5への入力パラメータとしては、球の半径Rと、球の中心から切断面までの距離Aと、原点から切り欠く位置までの距離Bとを入力すればよい。
同様に、上、右、左で切断した場合は、それぞれ図19(b)、図19(c)、図19(d)のようなスクリーン1となり、式1は、以下のようになる。図19(b)で示すように上にBの高さで切断した場合、A≦x≦R、−y1≦y≦B、−z1≦z≦z1である。図19(c)で示すように右にBの距離で切断した場合、A≦x≦R、−y1≦y≦y1、−z1≦z≦Bである。図19(d)で示すように左にBの距離で切断した場合、A≦x≦R、−y1≦y≦y1、−B≦z≦z1である。なお、パラメータ調整用パーソナルコンピュータ5への入力パラメータを増やせば、2箇所以上の切断位置の組み合わせたスクリーン1である場合であっても良い。
一方、図20は、円筒を切断したアーチ面を示し、この場合、パラメータ調整用パーソナルコンピュータ5への入力パラメータとしては、アーチの半径Rと、円の中心から切断面までの距離Aと、アーチの高さHとである。
ここで、円は、式2のように表させる。
x2+z2=R2 (式2)
ここで、A≦x≦R、0<y≦H、−z1≦z≦z1の制限を加えることで、アーチの表面の式となる。z1は、式2において、x=Aを代入することによって求められる。
さらにまた、図21(a)は、複数平面(長方形の面が複数存在)からなるスクリーン1の投影面の場合を示し、この場合、パラメータ調整用パーソナルコンピュータ5への入力パラメータとしては、図21(b)で示すような上面から見たときの面の配置と、面の高さHとである。図21(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の場合には、パラメータ調整用パーソナルコンピュータ5への入力パラメータとしては、図17または図18、19で示す例と同様に、半径Rと、切断面までの距離Aと、切り欠く位置までの距離Bと、個数とを入力すればよい。すなわち、例えば、上下に2つの球面スクリーンを並べてスクリーン1とした場合、図19(a)と図19(b)とを組み合わせることで実現することができ、同様に左右に2つの球面スクリーンを並べるスクリーン1とした場合、図19(c)と図19(d)とを組み合わせることで実現することができ、パラメータ調整用パーソナルコンピュータ5への入力パラメータとしては、前述のように、半径Rと、切断面までの距離Aと、切り欠く位置までの距離Bと、個数とを入力すればよいことが理解される。
複数の円筒面のスクリーン1の場合には、上面から見た配置図に、面の高さHと、各スクリーン1の半径R及び距離Aと、個数とを入力すればよい。このようにして、スクリーン1の投影面の関数式が決まるので、x、y、zに適当な値を代入することで、或る一定個数以上のスクリーン1上の点をサンプリング点として記録することで、スクリーン1の投影面形状を特定することができる。各スクリーン1の投影面の関数式は、スクリーンモデル創造部において、予め各モデル31,32,34〜36内に格納されて、歪み補正テーブルの設定時に呼び出すことができる。そして、入力パラメータ31a,32a,34a〜36aとして上記のパラメータを入力するだけで、パラメータ調整用パーソナルコンピュータ5により、実際のスクリーン1に適応したメッシュモデル31b、32b、34b〜36bを作成することができる。
なお、上記のようなスクリーン1の投影面上のサンプリング点は、x軸周り、y軸周り、z軸周りに回転可能(傾いたスクリーン1を定義可能)である。
すなわち、x軸周りのα度の回転は、式4で表すことができる。
また、y軸周りのβ度の回転は、式5で表すことができる。
さらにまた、z軸周りのγ度の回転は、式6で表すことができる。
パラメータ調整用パーソナルコンピュータ5は、このようにして得たスクリーン1の投影面上のサンプリング点に、歪み補正/画像処理ユニット3に入力される平面映像信号の各サンプリング点をマッピングさせる対応マップを歪み補正テーブルとして作成することで、歪み補正/画像処理ユニット3で歪み補正処理を行わせることができ、平面映像信号の各画素を歪み補正テーブルで対応した画素に割り付けてゆくことで、歪み補正処理が施された出力映像信号を作成させることができる。
この歪み補正テーブルは、使用するスクリーン1の投影面形状が決定し、パラメータ調整用パーソナルコンピュータ5に各パラメータを入力し、一旦作成すれば、パラメータ等の変更がない限り変更する必要なくパラメータ調整用パーソナルコンピュータ5から歪み補正/画像処理ユニット3に供給されて、歪み補正/画像処理ユニット3内に記憶される。
以上の図17〜図21を用いた説明は、図22に示すようなスクリーン1の投影面形状に対する歪み補正処理を歪み補正/画像処理ユニット3によって実行させるものである。
すなわち、平面の投影面に対する平面映像信号を、そのまま球形のスクリーン1に投影すると、図22(a)に示すように歪んだ映像となり、このため球形のスクリーン1に投影された映像の歪みが無くなるように、図22(b)に示すように予め歪ませた出力映像信号を作成するものである。しかしながら、プロジェクタ2a、2bのスクリーン1に対する配置位置の違い及び観察者のスクリーン1に対する位置の違いなどから、さらなる歪み補正が必要になる。従って、上述のようにして求めた歪み補正テーブルには、さらにそのような補正を施すことができるようになる。
以下に、投影面が球面のスクリーン1に対するプロジェクタ2a、2b及び観察者の位置の違いに対する歪み補正テーブルの作成処理について説明する。この処理は、プロジェクタ配置・セットアップ部及びユーザ位置設定部からの入力に応答してパラメータ調整用パーソナルコンピュータ5によって行われる。
図23は、上述した球面補正に、プロジェクタ2a、2b及び観察者の位置補正を含めた歪み補正の手法を説明するための図である。先ず補正にあたり、図23に示すように、観察者の視点位置よりビューフラスタム及びプロジェクタ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二次元断面から見たイメージを図24に示す。先ず、仮想スクリーン面1a内に点Pi,jを想定し、ベクトルP0Pi,jとドーム型のスクリーン1(メッシュモデル31b,32b,34b〜36b)との交点Pi,jを求める。i,jを、0≦i≦m,0≦j≦nで変化してゆくと、Pi,j→Qi,j対応マップを作成することができ、この対応マップが映像の歪みに対する逆補正となる。
すなわち、先ずビューフラスタムに基づいて通常の映像生成を行い、次にこの映像データを取り出し、このイメージにPi,j→Qi,j対応マップを利用したテクスチャマッピング座標を適用して再度映像生成を行わせることで、歪み補正を実現させる。グリッド映像にPi,j→Qi,j対応マップを適用したイメージを図25(a),(b)に示す(すなわち図24とは逆になる)。この歪み補正処理は、スクリーン1の投影面形状を制限しない。従って、上述のようにして求めた球面のメッシュモデル31bだけでなく、他のメッシュモデル32b、34b〜36b等へも適用可能である。
このように、パラメータ調整用パーソナルコンピュータ5によって歪み補正処理を行わせるための歪み補正テーブルを使用させる。これにより、平面の表示面に対する平面映像信号に対して逐次歪み補正処理をさせて、映像光をプロジェクタ2a、2bから出射させることができ、任意形状のスクリーン1に歪みの無い映像を表示させることができる。
つぎに、上述した、歪み補正テーブル内部に記述されたずれ量を参照することで、歪み補正処理の座標変換の際に、出力画像の画素に関連した入力画像の複数の画素の色情報をもとに出力画像の画素の色情報を生成する処理について説明する。この処理は、例えば色情報補間式歪み補正処理と称する。
以下に説明する色情報補間式歪み補正処理を行う場合であっても、歪み補正/画像処理部24は、当該色情報補間式歪み補正処理前又は後の画素に対して画像処理テーブルを用いた画像処理を行うことができる。
この色情報補間式歪み補正処理は、必ずしも行わなければならない処理ではない。ただし、この色情報補間式歪み補正処理を行うことにより、単に歪み補正処理をした場合と比べて、出力画像のジャギーを軽減することが可能となる。
歪み補正/画像処理部24は、歪み補正テーブルによって平面映像信号を出力映像信号に変換する歪み補正処理をする際に、歪み補正テーブルによる変換前の平面映像信号の画素の代表点が、変換後の出力映像信号の画素の代表点からずれるずれ量に相当する割合で、変換前の複数の画素の色情報を混合した色情報を、変換後の画素の色情報にして、出力映像信号を作成する。具体的には、歪み補正/画像処理部24は、変換前のx方向で隣り合う2画素内における変換後の画素の代表点の位置に応じて、平面映像信号の2画素内の色情報を混合して出力映像信号を作成する。又は、歪み補正/画像処理部24は、変換前のy方向で隣り合う2画素内における変換後の画素の代表点の位置に応じて、平面映像信号の2画素内の色情報を混合して、出力映像信号を作成する。
ここで、スクリーン1の投影面上のサンプリング点に平面映像信号のサンプリング点をマッピングさせる対応マップを歪み補正テーブルとして変換テーブル読み込み/保存部27に記憶しておく。そして、平面映像信号の各画素を歪み補正テーブルで対応した画素に割り付けてゆく際に、平面映像信号の1画素を出力映像信号の1画素に対応させる。この場合、画素が映像解像度によって規定される有限の大きさを有していることにより、座標位置の丸めに相当する誤差が生じて、変換後の出力画像で階段状の色むら、いわゆるジャギーが目立つ場合がある。丸めによる誤差は変換前の画素の代表点、例えば画素の中心位置が変換後の画素の代表点から離れた位置に対応することによって生じる。このことから、当該ずれ量に相当する割合で、平面映像信号において隣接する画素の色情報を利用して出力映像信号の色情報を補間する。これによって、出力映像信号に発生するジャギーを低減する。
例えばx方向においてずれがある場合、図26に示すように、x方向において隣接する平面映像信号(以下、入力画像100と呼ぶ。)の画素P1,P2を出力映像信号(以下、出力画像100’と呼ぶ。)の画素P1’に変換し、x方向において隣接する入力画像100の画素P3,P4を出力画像100’の画素P2’に変換するに際して、入力画像100のx方向にて隣接する画素P1,P2の色情報を用いて出力画像100’の画素P1’の色情報を作成し、入力画像100のx方向にて隣接する画素P3,P4の色情報を用いて出力画像100’の画素P2’の色情報を作成する。
x方向のずれ量Δxは、0以上1未満で表現でき、0又は1のときは隣接する何れかの画素の代表点に一致するものとして表現できる。すなわち、入力画像100のx方向で隣接する2画素が出力画像100’において1画素に変換されるに際して、ずれ量Δxが入力画像100と出力画像100’との間で存在する場合、図27(a)に示すように、入力画像100における画素P1(x,y)の色情報と隣接する画素P2(x+1,y)の色情報とを、1−Δx:Δxの割合で平均化した仮想画素P(x+Δx,y)の色情報Cx+Δx,y=Cx,y(1−Δx)+Cx+1,yΔxを出力画像100’の画素の色情報とすることができる。また、図27(b)に示すように、仮想の入力画素(x+Δx,y)に対応する出力画像100’の変換後画素P’(u,v)の色情報を
Cx+Δx,y=Cx,y(1−Δx)+Cx+1,yΔx
とすることができる。
このように歪み補正/画像処理ユニット3は、入力画像100と出力画像100’との間でx方向のずれがあり、x方向の2画素を用いて色情報補間式歪み補正処理を行って出力画像100’を作成するために、ずれ量の記述が含まれる歪み補正テーブルを変換テーブル読み込み/保存部27に記憶しておく。そして、図26に示したように、歪み補正/画像処理部24は、出力画像100’の画素P1’,P2’を、それぞれ入力画像100のx方向の2画素から生成する。従って、入力画像100の2画素と出力画像100’の1画素は、入力画像100の2画素の色情報がそれぞれどの程度の割合で、出力画像100’の画素の色情報に影響を及ぼしているかに応じて、色情報が算出される。
ここで、出力画像100’の画素(u,v)が対応する入力画像100の画素が、画素(x,y)からΔxだけずれているとすると、出力画像100’の画素(u,v)を、入力画像100の仮想画素(x+Δx,y)と対応しているというずれ量の記述が含まれる歪み補正テーブルを作成しておく。これにより、歪み補正/画像処理部24は、出力画像100’の画素(u,v)の色情報を、画素(x,y)と画素(x+1,y)との色情報を(1−Δx):Δxの割合で含むように混合して、出力画像100’の画素(u,v)の色情報Cu,vを、
Cu,v=Cx,y(1−Δx)+Cx+1,yΔx
という式で演算することができる。
また、y方向にずれがある場合、図28に示すように、y方向において隣接する入力画像100の画素P1,P2を出力画像100’の画素P1’に変換する。また、y方向において隣接する入力画像100の画素P3,P4を出力画像100’の画素P2’に変換する。このとき、入力画像100のy方向にて隣接する画素P1,P2の色情報を用いて出力画像100’の画素P1’の色情報を作成し、入力画像100のy方向にて隣接する画素P3,P4の色情報を用いて出力画像100’の画素P2’の色情報を作成する。
y方向のずれ量Δyは、0以上1未満で表現でき、0又は1のときは隣接する何れかの画素の代表点に一致するものとして表現できる。すなわち、入力画像100のy方向で隣接する2画素が出力画像100’において1画素に変換されるに際して、ずれ量Δyが入力画像100と出力画像100’との間で存在する場合、図29(a)に示すように、入力画像100における画素P1(x,y)の色情報と隣接する画素P2(x,y+1)の色情報とを、1−Δy:Δyの割合で平均化した仮想画素P(x,y+Δy)の色情報Cx,y+Δy=Cx,y(1−Δy)+Cx,y+1Δyを出力画像100’の画素の色情報とすることができる。また、図29(b)に示すように、仮想の入力画素(x,y+Δy)に対応する出力画像100’の変換後画素P’(u,v)の色情報を
Cx,y+Δy=Cx,y(1−Δy)+Cx,y+1Δy
とすることができる。
このように歪み補正/画像処理ユニット3は、入力画像100と出力画像100’との間でy方向のずれがあり、y方向の2画素を用いて色情報補間式歪み補正処理を行って出力画像100’を作成する。このために、ずれ量の記述が含まれる歪み補正テーブルを変換テーブル読み込み/保存部27に記憶する。そして、図28に示したように、歪み補正/画像処理部24は、出力画像100’の画素P1’,P2’を、それぞれ入力画像100のy方向の2画素から生成する。従って、入力画像100の2画素と出力画像100’の1画素は、入力画像100の2画素の色情報がそれぞれどの程度の割合で、出力画像100’の画素の色情報に影響を及ぼしているかに応じて、出力画像100’の色情報を算出する。
ここで、出力画像100’の画素(u,v)が対応する入力画像100の画素が、画素(x,y)からΔyだけずれているとする。この場合、出力画像100’の画素(u,v)を、入力画像100の仮想画素(x,y+Δy)と対応しているというずれ量の記述が含まれる歪み補正テーブルを作成しておく。これにより、歪み補正/画像処理部24は、出力画像100’の画素(u,v)の色情報を、画素(x,y)と画素(x,y+1)との色情報を(1−Δy):Δyの割合で含むように混合して、出力画像100’の画素(u,v)の色情報Cu,vを、
Cu,v=Cx,y(1−Δy)+Cx,y+1Δy
という式で演算することができる。
更に、x方向及びy方向においてずれがある場合、図30に示すように、x方向及びy方向において隣接する入力画像100の画素P1〜P4を出力画像100’の画素P1’に変換する。また、x方向及びy方向において隣接する入力画像100の画素P5〜P8を出力画像100’の画素P2’に変換する。このとき、入力画像100のx方向及びy方向にて隣接する画素P1〜P4の色情報を用いて出力画像100’の画素P1’の色情報を作成する。また、入力画像100のx方向及びy方向にて隣接する画素P5〜P8の色情報を用いて出力画像100’の画素P2’の色情報を作成する。
x方向にΔx、y方向にΔyのずれがある場合には、入力画像100のx方向及びy方向で隣接する4画素が出力画像100’において1画素に変換される。このとき、図31(a)に示すように、入力画像100における画素P1(x,y)の色情報と画素P2(x+1,y)の色情報と画素P3(x,y+1)の色情報と画素P4(x+1,y+1)の色情報とを用いて、(1−Δx)(1−Δy):Δx(1−Δy):(1−Δx)Δy:ΔxΔyの割合で平均化する。これにより、4画素を混合した色情報Cx+Δx,y+Δy=Cx,y(1−Δx)(1−Δy)+Cx+1,yΔx(1−Δy)+Cx,y+1(1−Δx)Δy+Cx+1,y+1ΔxΔyを得ることができる。また、図31(b)に示すように、仮想の入力画素(x+Δx,y+Δy)に対応する出力画像100’の変換後画素P’(u,v)の色情報を
Cx+Δx,y+Δy=Cx,y(1−Δx)(1−Δy)+Cx+1,yΔx(1−Δy)+Cx,y+1(1−Δx)Δy+Cx+1,y+1ΔxΔy
とすることができる。
このように仮想現実感生成システムは、入力画像100と出力画像100’との間でx方向及びy方向のずれがあり、x方向及びy方向の2画素を用いて色情報補間式歪み補正処理を行って出力画像100’を作成する。このために、ずれ量の記述が含まれる歪み補正テーブルを変換テーブル読み込み/保存部27に記憶する。そして、図30に示したように、歪み補正/画像処理部24は、出力画像100’の画素P1’,P2’を、それぞれ入力画像100のx方向及びy方向の4画素から生成する。従って、入力画像100の4画素と出力画像100’の1画素は、入力画像100の4画素の色情報がそれぞれどの程度の割合で、出力画像100’の画素の色情報に影響を及ぼしているかに応じて、出力画像100’の色情報を算出する。
ここで、出力画像100’の画素(u,v)が対応する入力画像100の画素が、画素(x,y)からΔx、Δyだけずれているとすると、出力画像100’の画素(u,v)を、入力画像100の仮想画素(x+Δx,y+Δy)と対応しているというずれ量の記述が含まれる歪み補正テーブルを作成しておく。これにより、歪み補正/画像処理部24は、出力画像100’の画素(u,v)の色情報を、画素(x,y)と画素(x+1,y)と画素(x,y+1)と画素(x+1,y+1)との色情報を(1−Δx)(1−Δy):Δx(1−Δy):(1−Δx)Δy:ΔxΔyの割合で含むように混合して、出力画像100’の画素(u,v)の色情報Cu,vを、
Cu,v=Cx,y(1−Δx)(1−Δy)+Cx+1,yΔx(1−Δy)+Cx,y+1(1−Δx)Δy+Cx+1,y+1ΔxΔy
という式で演算することができる。
このような色情報補間式歪み補正処理を行うための歪み補正テーブルは、出力画像の画素ごとに、補間対象となる入力画像の画素(2個以上)、ずれ量を記憶しておくことによって構成できる。このずれ量は、歪み補正テーブルによる座標変換によって得られた画素位置のx座標、y座標における小数部分である。通常、出力画像100’のある画素(u,v)が入力画像100(10,5)という整数値の画素に対応していることとなる。しかし、本発明を適用した仮想現実感生成システムにおいては、出力画像100’のある画素(u,v)が入力画像100の2〜4個の画素に跨っていることを考慮する。例えば、出力画像100’のある画素が、入力画像100の(10.3,5.55)の画素に対応するといったように、x方向は0.3画素分、y方向は0.55画素分という小数点分のずれがあるとする。なお、x方向のみ又はy方向のみに隣接した2画素を用いて出力画像100’の色情報を作成する場合には、歪み補正テーブルは、x方向又はy方向のずれ量のみを登録しておけばよい。
また、この歪み補正テーブルにおけるずれ量は、上記の(10.3,5.55)といった表記、又は、(0.3,0.55)といった小数分のみを記憶するといった表記の何れであっても良い。更に、歪み補正テーブル中のずれ量は、小数第1位までの表記を10倍して0〜9の整数値で記述しておいても良く、小数第2位までの表記を100倍して0〜100の整数値で記述しておいても良い。この場合、色情報補間式歪み補正処理を行う際に、ずれ量を10又は100で除算して用いる。こうすることで、歪み補正テーブル中に小数値で表される情報をなくし、整数値で表される情報のみを持つことが可能となる。更にまた、色情報補間式歪み補正処理等を行う歪み補正/画像処理ユニット3の処理がn進数で行われる場合、ずれ量を0〜nのr乗−1の値で記述しておき、色情報補間式歪み補正処理に際して、当該ずれ量をnのr乗で除算して用いても良い。この場合、色情報補間式歪み補正処理を行う際に、0〜nのr乗−1の値で記述されたずれ量(n進数)をr個右にシフトするだけでよい。例えば、歪み補正/画像処理ユニット3の処理が2進数で行われる場合、ずれ量を0〜15(24−1)の整数値で記述しておき、色情報補間式歪み補正処理を行う際に、ずれ量を16で除算して用いる。16で除算する処理は、ビット列を4つ右にシフトするだけである。なお、ずれ量は8(2の4乗),32(2の5乗)等であっても良い。
ずれ量を整数値の0〜9、0〜100、又は歪み補正/画像処理ユニット3が2進数で処理するために0〜16とした場合には、それぞれ、精度が0.1、0.01又は1/16となる。しかし、整数値でずれ量を表記するために使用するビット数は、小数でずれ量を表記するために使用するずれ量よりも格段に少なくすることができ、歪み補正テーブルのデータ量の削減ができる。また、歪み補正/画像処理ユニット3が処理するn進数に応じたずれ量の表記とする。これにより、歪み補正テーブル中に小数値で表される情報をなくして整数値で表される情報のみを持つことが可能となるだけでなく、整数値のずれ量を10又は100で除算するよりも処理量を減らすことが可能となる。
以上のように、本発明を適用した仮想現実感生成システムによれば、歪み補正テーブルによって歪み補正処理を行うと共に、変換後の出力画像100’の各画素の画素情報(色情報)を計算する。このために、各画素に対応する入力画像100の少なくともx方向、または、y方向の2画素を用いるので、出力画像100’内で隣り合う画素間での色情報の変化を滑らかにすることができ、ジャギーを軽減することができる。
なお、色情報補間式歪み補正処理は、基本的にはx方向及びy方向において隣接する4画素の入力画像100によって行うことが望ましい。しかし、スクリーン1に表示させる映像の絵柄に応じてx方向又はy方向のみにて隣接する2画素で出力画像100’の色情報を求めても、ジャギーの発生を抑制できる。例えば、映像内上下方向に向いた柱が立ち並んでいるような画像をスクリーン1に投影する場合には、y方向に隣接する2画素で出力画像100’の色情報を作成する必要が薄い。逆に、映像内左右方向に向いた棒が多く存在するような画像をスクリーン1に投影する場合には、x方向に隣接する2画素で出力画像100’の色情報を作成する必要が薄い。また、スクリーン1に投影する映像が格子状の絵柄である場合には、x方向又はy方向のみにて隣接する画素の色情報を用いて出力画像100’の色情報を作成しても周期的なジャギーが発生する可能性がある。
また、上述したずれ量の記述が含まれる歪み補正テーブルを用いる色情報補間式歪み補正処理において、入力画像100及び出力画像100’の色情報としてRGB(red−green−blue)やCMY(cyan−magenta−yellow)といった複数の原色信号を用いても良い。この場合、歪み補正/画像処理部24は、R(赤色成分)信号、G(緑色成分)信号、B(青色成分)信号、あるいはC(シアン)信号、M(マゼンタ)信号、Y(イエロー)信号の各原色ごとに独立に同一の処理方法で、入力画像100における隣接画素の色情報を混合して出力画像100’の色情報を作成する。3原色、特にRGBで色情報を表現した場合は、コンピュータグラフィック画像やプロジェクタ2a、2bへの出力画像100’の色表現方式に適合するという利点があり、ジャギーの少ない出力画像100’を得ることができる。また、各原色ごとに並列化して出力画像100’の色情報を作成することができるために、色情報補間式歪み補正処理の高速化が可能となる。更に、RGBの3原色に加えて、透明度のα値についても、RGBの3原色と同様に並列して色情報補間式歪み補正処理を行って出力画像100’の色情報を作成しても良い。
更に、上述したずれ量の記述が含まれる歪み補正テーブルを用いる色情報補間式歪み補正処理において、入力画像100及び出力画像100’の色情報としてYUV(YCbCr)などの輝度情報(Y)と色差情報とからなる信号を用いても良い。色差信号は、U(輝度信号と青色成分の差),V(輝度信号と赤色成分の差)である。この場合、歪み補正/画像処理部24は、輝度情報と色差情報ごとに独立に同一の処理方法で、入力画像100における隣接画素の色情報を混合して出力画像100’の色情報を作成する。これにより、出力画像100’の色表現方式に適合した色情報によって色情報補間式歪み補正処理を行うことができる。また、輝度情報に敏感で、色差情報には敏感でないという人間の視覚特性を利用して、入力画像100の輝度情報のみを用いて色情報補間式歪み補正処理を行って出力画像100’の輝度情報を求め、色差情報を用いた色情報補間式歪み補正処理は複数の画素ごとに間引いて行うことができ、色情報補間式歪み補正処理の高速化が可能となる。例えば、輝度情報については、x方向及びy方向の4画素から出力画像100’の輝度情報を作成することに対し、色差情報については当該4画素のうちの斜め方向の2画素のみを用いて出力画像100’の色差情報を作成しても良い。
つぎに、上述した色情報補間式歪み補正処理を行うためのずれ量の記述が含まれる歪み補正テーブルを、入力画像100の入力順に記述した場合の仮想現実感生成システムの動作について説明する。
色情報補間式歪み補正処理の処理対象となる入力画像100は、映像入力端子3a,3b,3c,3dに入力されて、入力映像処理部21、映像切替/分配部22及び映像合成部23を経由して歪み補正/画像処理部24に供給される。一般的に、入力画像100の走査線に沿って、画素ごとに順次データが歪み補正/画像処理部24に供給される。
入力画像100の入力画素順に従って色情報補間式歪み補正処理を行う場合、歪み補正/画像処理ユニット3は、入力順に記述された入力画像100の画素座標に対応させて、当該画素の変換後の出力画像100’における画素座標を記述した歪み補正テーブルを変換テーブル読み込み/保存部27に記憶させておく。この歪み補正テーブルは、パラメータ調整用パーソナルコンピュータ5によって作成される。また、この歪み補正テーブルには、色情報補間式歪み補正処理のためのずれ量も記述されている。
歪み補正/画像処理部24は、図32(a)、(b)の入力画像に示すように、入力画像100の画素がP1,P2,P3・・・といった順序で入力される場合であって、x方向に隣接する入力画像100の2画素の色情報を混合して、出力画像100’の画素の色情報を作成する。この場合には、先ず、最初の2画素P1,P2を読み込んだ時点で、当該2画素P1,P2を用いて計算可能な出力画像100’の色情報の全てを算出する。この例においては、2画素P1,P2の色情報を混合して、図32(a)に示す出力画像100’の画素P1’,P2’,P3’の色情報を作成する。この場合、歪み補正テーブルには、入力画像100の画素P1と画素P2が、出力画像100’の画素P1’,P2’,P3’に対応し、それぞれの色情報は、それぞれ入力画像100の画素P2,P3をそれぞれのずれ量に合わせた割合で混合した色情報になるように処理する。なお、出力画像100’の画素P1’,P2’,P3’それぞれを作成するに際しての入力画像100の画素P1,P2の混合度合いはそれぞれ異なるものとなっている。
次に、図32(b)に示すように、歪み補正/画像処理部24に画素P1,P2に続く画素P3が入力されると、歪み補正/画像処理部24は、当該画素P2,P3の色情報を用いて計算可能な出力画像100’の色情報の全てを算出する。この例においては、歪み補正テーブルを参照して、入力画像100の画素P2、P3が、出力画像100’の画素P4’、P5’に対応する。出力画像100’の画素P4’、P5’の画素の色情報は、それぞれ入力画像100の画素P2、P3をそれぞれのずれ量に合わせた割合で混合した色情報になるように処理する。
このように、入力画像100のx方向の2画素を最初から順に一つずつ最後の2画素になるまでずらしていき、入力画像100のそれぞれの2画素から計算可能な出力画像100’の画素の色情報のすべてを求めていく。これにより、出力画像100’のすべての画素の色情報を求める。これにより、歪み補正/画像処理部24は、常に少なくとも入力画像100のx方向における2画素を読み込んでおけばよく、1画素分の読み込みに必要な時間遅れで、色情報補間式歪み補正処理を行うことができる。よって、歪み補正/画像処理部24におけるデータ待ち時間を最小にでき、歪み補正/画像処理部24における処理遅れを少なくできる。
また、歪み補正/画像処理部24は、図33(a)、(b)の入力画像に示すように、入力画像100の画素が第1ライン(走査線)の先頭からP1,P3,・・・と入力され、第2ラインの先頭からP2,P4・・・といった順序で入力されるとする。また、y方向に隣接する入力画像100の2画素の色情報を混合して、出力画像100’の画素の色情報を作成するとする。これらの場合には、第1ラインの先頭画素P1及び第2ラインの先頭画素P2を読み込んだ時点で、当該2画素P1,P2を用いて計算可能な出力画像100’の色情報の全てを算出する。なお、歪み補正/画像処理部24は、画素P2が入力されるまで第1ラインの画素を記憶しておく。この例においては、2画素P1,P2の色情報を混合して、図33(a)に示す出力画像100’の画素P1’,P2’の色情報を作成する。この場合、歪み補正テーブルには、入力画像100の画素P1と画素P2が、出力画像100’の画素P1’、P2’に対応し、それぞれの色情報は入力画像100の画素P1、P2をそれぞれのずれ量に合わせた割合で混合した色情報になることが記述されている。なお、出力画像100’の画素P1’,P2’それぞれを作成するに際しての入力画像100の画素P1,P2の混合度合いはそれぞれ異なるものとなっている。
次に、図33(b)に示すように、歪み補正/画像処理部24に画素P2に続く画素P4が入力されると、歪み補正/画像処理部24は、当該画素P3,P4の色情報を用いて計算可能な出力画像100’の色情報の全てを算出する。この例においては、歪み補正テーブルを参照して、入力画像100の画素P3、P4が、出力画像100’の画素P3’に対応し、出力画像100’の画素P3’の画素の色情報は、入力画像100の画素P3、P4をずれ量に合わせた割合で混合した色情報になるように処理する。
このように、入力画像100のy方向に隣接する2画素を歪み補正/画像処理部24で入力した時点で色情報補間式歪み補正処理を行うことで、出力画像100’のすべての画素の色情報を求める。なお、歪み補正/画像処理部24は、常に少なくとも計算用メモリ15にx方向の1ライン+1画素を読み込んでおけばよい。これにより、歪み補正/画像処理部24は、x方向1ライン分の遅れで色情報補間式歪み補正処理を行うことによってデータ待ち時間を少なくでき、歪み補正/画像処理部24における処理遅れを少なくできる。
更に、歪み補正/画像処理部24は、図34(a)、(b)の入力画像に示すように、入力画像100の画素が第1ラインの先頭からP1,P2,・・・と入力され、第2ラインの先頭からP3,P4・・・といった順序で入力されるとする。また、x方向及びy方向に隣接する入力画像100の4画素の色情報を混合して、出力画像100’の画素の色情報を作成するとする。これらの場合には、第1ラインの先頭2画素P1,P2を読み込み且つ第2ラインの先頭2画素P3,P4を読み込んだ時点で、当該4画素P1〜P4を用いて計算可能な出力画像100’の色情報の全てを算出する。この例においては、4画素P1〜P4の色情報を混合して、図34(a)に示す出力画像100’の画素P1’の色情報を作成する。この場合、歪み補正テーブルには、入力画像100の画素P1〜P4が、出力画像100’の画素P1’に対応し、その色情報は入力画像100の画素P1〜P4をずれ量に合わせた割合で混合した色情報になることが記述されている。
次に、図34(b)に示すように、歪み補正/画像処理部24に画素P4に続く画素P6が入力されるとする。このとき、歪み補正/画像処理部24は、第1ラインの入力時に記憶しておいた画素P2,P5及び画素P4,P6の色情報を用いて計算可能な出力画像100’の色情報の全てを算出する。この例においては、歪み補正テーブルを参照して、入力画像100の画素P2、P5、P4、P6が、出力画像100’の画素P2’、P3’、P4’に対応する。出力画像100’の画素P2’、P3’、P4’の画素の色情報は、それぞれ入力画像100の画素P2、P5、P4、P6をそれぞれのずれ量に合わせた割合で混合した色情報になるように処理する。
このように、入力画像100のx方向及びy方向に隣接する4画素を歪み補正/画像処理部24で入力した時点で色情報補間式歪み補正処理を行うことで、出力画像100’のすべての画素の色情報を求める。なお、歪み補正/画像処理部24は、常に少なくとも計算用メモリ15にx方向の1ライン+2画素を読み込んでおけばよい。これにより、歪み補正/画像処理部24は、x方向及びy方向の双方にずれがある場合であっても、x方向1ライン分+1画素分の遅れで色情報補間式歪み補正処理を行うことによってデータ待ち時間を少なくでき、歪み補正/画像処理部24における処理遅れを少なくできる。
つぎに、上述した色情報補間式歪み補正処理を行うための歪み補正テーブルを、出力画像100’の出力順に記述した場合の仮想現実感生成システムの動作について説明する。
色情報補間式歪み補正処理の処理後の出力画像100’は、歪み補正/画像処理部24から出力映像処理部25に出力される。一般的に、入力画像100の走査線に沿って、画素ごとに順次データが歪み補正/画像処理部24から出力映像処理部25に出力される。一般的な出力画像100’が走査線に沿って画素ごとに順次データを読み飛ばし無く出力することを考慮すると、出力側の画素の順に歪み補正テーブルを表現した場合、歪み補正処理における出力側の画素座標が自明である。このため、歪み補正テーブルの先頭から入力側の画素座標のみを記述した対応マップとできる。これにより、歪み補正テーブルの大きさが小さくできて、変換テーブル読み込み/保存部27の記憶領域が節約できる。また、この歪み補正テーブルには、色情報補間式歪み補正処理のためのずれ量も記述されている。ずれ量の記述を含む歪み補正テーブルは、パラメータ調整用パーソナルコンピュータ5によって作成される。
このような歪み補正テーブルを変換テーブル読み込み/保存部27に記憶した場合であって、x方向に隣接する入力画像100の2画素の色情報を混合して、出力画像100’の画素の色情報を作成するとする。この場合には、歪み補正/画像処理部24は、図35(a)に示すように、先ず、入力画像100の先頭から歪み補正テーブルの先頭に記述された入力画像100のx方向に隣接した2画素P1,P2を読み込んだ時点で、当該x方向に隣接した2画素P1,P2を用いて出力画像100’の先頭画素P1’の色情報を作成する。そして、歪み補正/画像処理部24は、当該画素P1’のデータを出力映像処理部25に出力する。
次に、図35(b)に示すように、出力画像100’の画素P1’に続く画素P2’を作成する。このために、歪み補正/画像処理部24は、歪み補正テーブルを参照して入力画像100のx方向に隣接した2画素P3,P4を読み込む。そして、歪み補正/画像処理部24は、当該x方向に隣接した2画素P3,P4の色情報を用いて出力画像100’の画素P2’の色情報を作成して、当該画素P2’のデータを出力映像処理部25に出力する。
また、y方向に隣接する入力画像100の2画素の色情報を混合して、出力画像100’の画素の色情報を作成するとする。この場合には、歪み補正/画像処理部24は、図36(a)に示すように、先ず、入力画像100の先頭から歪み補正テーブルの先頭に記述された入力画像100のy方向に隣接した2画素P1,P2を読み込む。この時点で、歪み補正/画像処理部24は、当該y方向に隣接した2画素P1,P2を用いて出力画像100’の先頭画素P1’の色情報を作成して、当該画素P1’のデータを出力映像処理部25に出力する。
次に、図36(b)に示すように、出力画像100’の画素P1’に続く画素P2’を作成する。このために、歪み補正/画像処理部24は、歪み補正テーブルを参照して入力画像100のy方向に隣接した2画素P3,P4を読み込む。すると、歪み補正/画像処理部24は、当該y方向に隣接した2画素P3,P4の色情報を用いて出力画像100’の画素P2’の色情報を作成して、当該画素P2’のデータを出力映像処理部25に出力する。
更に、x方向及びy方向に隣接する入力画像100の4画素の色情報を混合して、出力画像100’の画素の色情報を作成するとする。この場合には、歪み補正/画像処理部24は、図37(a)に示すように、先ず、入力画像100の先頭から歪み補正テーブルの先頭に記述された入力画像100のx方向及びy方向に隣接した4画素P1〜P4を読み込む。この時点で、歪み補正/画像処理部24は、当該x方向及びy方向に隣接した4画素P1〜P4を用いて出力画像100’の先頭画素P1’の色情報を作成して、当該画素P1’のデータを出力映像処理部25に出力する。
次に、図37(b)に示すように、出力画像100’の画素P1’に続く画素P2’を作成する。このために、歪み補正/画像処理部24は、歪み補正テーブルを参照して入力画像100のx方向及びy方向に隣接した4画素P5〜P8を読み込む。すると、歪み補正/画像処理部24は、当該x方向及びy方向に隣接した4画素P5〜P8の色情報を用いて出力画像100’の画素P2’の色情報を作成して、当該画素P2’のデータを出力映像処理部25に出力する。
なお、上述の実施の形態は本発明の一例である。このため、本発明は、上述の実施形態に限定されることはなく、この実施の形態以外であっても、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることは勿論である。
例えば、上述した実施の形態では、2軸直交座標における方形画素を用いて、x方向又はy方向に隣接する2画素を用いた色補間、又は、x方向及びy方向に隣接する4画素を用いた色補間を行うことについて説明した。しかし、三角形画素からなる3軸座標系の映像信号の場合には、三角形画素の隣接する6個の6角形形状の画素群を用いて色補間をすることもできる。