(57)【要約】【課題】高速な歪み補正処理を実現し、映像の自然な運動表現が可能な映像歪み補正方法を提供する。【解決手段】歪み補正の準備処理として、観察者の位置などの観察条件、プロジェクタの位置・方向・画角・アスペクト比などの投影条件、及びスクリーン形状を表す多角形メッシュをパラメータとして記録しておき、投影時の処理として、入力された原画像を前記パラメータを含む所定の計算式により演算して透視変換を行い、かつ、透視変換後の座標系をテクスチャ座標系に変換し、そのテクスチャ座標系を用いてグラフィックス・アクセラレータのテクスチャマッピング機能により補正画像をフレームバッファに描画して、その補正画像を映像信号としてプロジェクタに出力するようにした。【選択図】　　　図４
2004072553.tif 000002
【特許請求の範囲】
【請求項１】
準備処理として、（ａ）観察者の位置、視線方向、視野角などにより決定される視錘台、（ｂ）映像プロジェクタの位置、投影方向、画角などにより決定される投影錘台、及び（ｃ）スクリーンの形状の３種のパラメータを記憶部に記録して置き、
投影時の処理として、入力された原画像を前記パラメータを含む所定の計算式により演算して透視変換を行い、かつ、透視変換後の座標系をテクスチャ座標系に変換し、そのテクスチャ座標系を用いてグラフィックス・アクセラレータのテクスチャマッピング機能により補正画像をフレームバッファに描画して、その補正画像を映像信号としてプロジェクタに出力することを特徴とする映像歪み補正方法。
【請求項２】
準備処理として、（ａ）観察者の位置、視線方向、視野角などにより決定される視錘台、（ｂ）映像プロジェクタの位置、投影方向、画角などにより決定される投影錘台、及び（ｃ）スクリーンの形状の３種のパラメータを記憶部に記録して置き、
投影時の処理として、上記パラメータを用いて、次の（ｄ）及び（ｅ）の２段階の処理を行うことによりフレームバッファに補正済み画像を格納し、前記フレームバッファに格納された補正済み画像を、映像信号として映像プロジェクタに出力することを特徴とする映像歪み補正方法。
（ｄ）入力された原画像をテクスチャとしてポリゴンにより構成されるスクリーン形状に対して貼り付ける第１段階の処理。この場合、前記スクリーン形状の各頂点座標とテクスチャとして参照される原画像の画素座標の対応は、前記パラメータ（ａ）を含む次の行列式（数式１）により決定される。
【数１】
2004072553.tif 000005
（ｅ）原画像を貼り付けた前記スクリーン形状を前記フレームバッファに描画する第２段階の処理。この場合、前記スクリーン形状の各頂点座標と出力画像の画素座標の対応は、前記パラメータ（ｂ）を含む次の行列式（数式２）により決定される。
【数２】
2004072553.tif 000006
【請求項３】
スクリーン形状の各頂点座標とテクスチャとして参照される原画像の画素座標との対応を、観察者の位置・視線方向・視野角などにより決定される視錘台を内容とするパラメータを含む次の行列式（数式１）により決定して、入力された原画像をテクスチャとして前記スクリーン形状に対して貼り付けるステップと、
【数３】
2004072553.tif 000007
前記スクリーン形状の各頂点座標と出力画像の画素座標との対応を、映像プロジェクタの位置・投影方向・画角などにより決定される投影錘台を内容とするパラメータを含む次の行列式（数式２）により決定して、原画像を貼り付けた前記スクリーン形状をフレームバッファに描画するステップと、
【数４】
2004072553.tif 000008
前記フレームバッファに格納された補正済み画像を、映像信号として映像プロジェクタに出力するステップと、
を含むことを特徴とする映像歪み補正方法用プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、映像プロジェクタ（以下、単にプロジェクタという）によりスクリーンに投影される映像の歪みを補正する方法、とくに、観察者の視錘台やプロジェクタの投影錘台などのパラメータを用いて映像の歪みを補正するもの、及び同映像歪み補正方法用プログラムに関する。
【０００２】
【従来の技術】
プロジェクタで映像をスクリーンに投影する場合、プロジェクタの位置・投射方向など（以下、投影条件という。）及び観察者の位置など（以下、観察条件という。）により、映像が歪んで見えることがある。このような映像の歪みを解消する方法の一つとして、スクリーンの距離、傾斜角及び方位角などのパラメータを算出し、入力する原画像を上記パラメータを用いて補正（透視変換）して補正画像を出力するものが、特開２００１−６１１２１号公報に開示されている。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記従来方法は、具体的な実装方法についての記述がなく、処理速度に関する考慮もなされていない。従って、動画像の再生などのように、補正処理に高速性を要求されるアプリケーションへの適用が可能であるか甚だ疑問である。
【０００４】
本発明は、上記の点に鑑みてなされたものであり、第１の課題は、高速な歪み補正処理を実現し、映像の自然な運動表現が可能な映像歪み補正方法を提供することにある。
第２の課題は、投影条件、観察条件及びスクリーン形状のいかんを問わず、スクリーンに投影される映像が観察者から見て歪まないよう補正することができ、しかも、投影条件又は観察条件が変更された場合でも、ハード的、プログラム的には何ら変更を要することなく、パラメータ変更のみで対応できる映像歪み補正方法を提供することにある。
第３の課題は、上記映像補正方法を実現するための、様々なユーザプログラムに組み込んで使用可能なプログラム（ライブラリ）を提供することにある。
【０００５】
【課題を解決するための手段】
まず、上記課題を解決するための本発明に係る映像歪み補正方法の基本的な考え方を、図１を参照しながら説明する。図１はスクリーンに投影される映像の歪みの原因と、その歪み補正の原理を説明する模式図である。図１において、Ａは観察者、Ｐはプロジェクタ、Ｓはスクリーンである。
観察者Ａの視錘台（Ｖｉｅｗｉｎｇ　ｆｒｕｓｔｕｍ）とプロジェクタＰの投影錘台（Ｐｒｏｊｅｃｔｉｏｎ　ｆｒｕｓｔｕｍ）が一致する状態でスクリーンＳに投影した映像（ａ）は、観察者Ａの目に歪みのない状態で入るはずである。しかし、観察者Ａの視錘台とプロジェクタＰの投影錘台が不一致の状態でスクリーンＳに投影した映像（ｂ）は、観察者には歪んで見える。従って、プロジェクタＰからスクリーンＳに投影される映像の歪みをキャンセルするには、そのプロジェクタＰの位置から投影された映像（ｂ）が結果的に（ａ）と一致するように、逆シミュレーションにより予め映像（ｂ）を歪めておけば良い。
従って、１）スクリーンＳの形状を表す多角形メッシュに対して、観察者の視錘台を使用して原画像をテクスチャとして貼り付け（Ｐｒｏｊｅｃｔｉｏｎ　ｍａｐｐｉｎｇ）、次に、２）原画像が貼りついた状態のスクリーンＳの多角形メッシュをプロジェクタＰの投影錘台を使用して描画し、３）結果として得られた画像をプロジェクタＰから投影すれば、観察者Ａは、歪みのない画像を見ることができる。
【０００６】
こうして、請求項１の方法発明は、歪み補正の準備処理として、観察者の位置などの観察条件、プロジェクタの位置・方向・画角・アスペクト比などの投影条件、及びスクリーン形状を表す多角形メッシュをパラメータとして記録しておき、投影時の処理として、入力された原画像を前記パラメータを含む所定の計算式により演算して透視変換を行い、かつ、透視変換後の座標系をテクスチャ座標系に変換し、そのテクスチャ座標系を用いてグラフィックス・アクセラレータのテクスチャマッピング機能により補正画像をフレームバッファに描画して、その補正画像を映像信号としてプロジェクタに出力することを特徴としている。
【０００７】
従来、映像歪み補正に限らず、画像データに対する幾何学補正は、一旦メインメモリ上に画像データを展開し、ＣＰＵを使用して各画素を操作し、フレームバッファに処理済の画像データを転送するといった方法を取るのが一般的であった。この方法は下記のような理由により処理時間が長くなる可能性が高い。
一般的なＰＣ・ＷＳ環境では、ＣＰＵは全てのタスク間で共用されるので、一般的に、ＣＰＵは大量のベクトルデータに対する演算には不向きである。原画像がフレームバッファ上にある場合には、これを一旦メインメモリ上に展開しなくてはならない（余分なバス転送が発生する）。
これに対し、本発明では、補正前画像の画素Ｒを補正後画像の画素Ｒ’に変換する計算処理全般に、グラフィックス・アクセラレータのテクスチャマッピング機能を利用するので、上記問題を解決し、高速な補正処理を実現可能である。
【０００８】
請求項２の画像歪み補正方法は、請求項１の発明におけると同一の準備処理に続き、投影時の処理として、上記パラメータを用いて、次の（ｄ）及び（ｅ）の２段階の処理を行うことによりフレームバッファに補正済み画像を格納し、前記フレームバッファに格納された補正済み画像を、映像信号として映像プロジェクタに出力することを特徴としている。すなわち、
（ｄ）入力された原画像をテクスチャとしてポリゴンにより構成されるスクリーン形状に対して貼り付ける第１段階の処理。この場合、前記スクリーン形状の各頂点座標とテクスチャとして参照される原画像の画素座標の対応は、前記パラメータ（ａ）を含む次の行列式（数式１）により決定される。
【数５】
2004072553.tif 000003
（ｅ）原画像を貼り付けた前記スクリーン形状を前記フレームバッファに描画する第２段階の処理。この場合、前記スクリーン形状の各頂点座標と出力画像の画素座標の対応は、前記パラメータ（ｂ）を含む次の行列式（数式２）により決定される。
【数６】
2004072553.tif 000004
【０００９】
上記第３の課題を解決する請求項３の発明は、上記映像歪み補正方法を実行するためのプログラム（ライブラリ）であり、スクリーン形状の各頂点座標とテクスチャとして参照される原画像の画素座標との対応を、前記数式１により決定して、入力された原画像をテクスチャとしてスクリーン形状に対して貼り付けるステップと、
スクリーン形状の各頂点座標と、出力画像の画素座標との対応を、前記数式２により決定して、原画像を貼り付けたスクリーン形状をフレームバッファに描画するステップと、
前記フレームバッファに格納された補正済み画像を映像信号としてプロジェクタに出力するステップとを含むことを特徴としている。
【００１０】
この画像歪み補正方法用ライブラリは、ＯｐｅｎＧＬ又はＤｉｒｅｃｔＸ対応のグラフィックス・アクセラレータを搭載したＰＣ又はＷＳにおいて、設定ファイルに記録された、観察条件、投影条件、スクリーン形状などの各種パラメータを読み込み、歪み補正処理に必要な実行環境を整え、メインメモリ上に展開された原画像、又はフレームバッファ上の原画像をテクスチャメモリへ転送し、グラフィックス・アクセラレータのテクスチャ座標変換機構及び頂点座標変換機構を適宜設定してスクリーン形状を描画することにより、フレームバッファ上に補正済み画像を得るようにし、処理終了時にはシステムリソースを適宜解放するためのアプリケーション・プログラミング・インタフェース（ＡＰＩ）を有している。そのため、映像投影用ユーザプログラムにおいて画像歪み補正を必要とする場合は、そのユーザプログラムに組み込んで使用することが可能である。
【００１１】
【発明の実施の形態】
次に、本発明の実施の形態について、図２以下の図面を参照して説明する。
図２は、本発明による映像歪み補正方法を行う映像投影装置の構成を概略的に示すブロック図、図３は透視変換における観察条件パラメータ（錘台）の説明図である。
この映像投影装置１０は、各種の演算及び各部の制御を司るＣＰＵ１１と、バス１２に接続されたグラフィックス・アクセラレータ１３と、バス１２を介して入力するデータの格納、ＣＰＵ１１による展開のためのデータの授受、前記グラフィックス・アクセラレータ１３へのデータの入出力を行うメインメモリ１４とを有している。
【００１２】
本発明方法を用いる映像投影装置１０は、図１に示すように、その機能を実現する基本的構成要素として、グラフィックス・アクセラレータ１３を有する。また、外部のビデオ映像に対して歪み補正を行う場合には、ビデオキャプチャ１５が必要となる。さらに、プログラムデータやワーキングデータ等を格納しておくための外部記憶装置、処理された画像を印刷する場合のプリンタ等の他のＩ／Ｏ機器１６がインタフェース（図示省略）を介してバス１２に接続され、処理された画像を監視する場合は、モニターがグラフィックス・アクセラレータ１３に接続される。
【００１３】
グラフィックス・アクセラレータ１３は、原画像を格納するのに充分な容量のテクスチャメモリ１３ａ及び１フレーム分の映像データを格納可能なフレームバッファ１３ｂを有するともに、描画パイプラインの一部として、３つの機能、すなわち、（ア）テクスチャマッピング機能、（イ）テクスチャ座標変換機能、（ウ）頂点座標変換機能を有する。
【００１４】
テクスチャマッピング機能は、三次元モデルであるスクリーン形状（ポリゴン座標系）にテクスチャメモリ１３ａに格納されている二次元画像であるテクスチャを貼り付ける機能である。テクスチャ座標変換機能は、設定された行列により、入力されたテクスチャ座標を変換してテクスチャメモリ１３ａ内の画素位置として出力する機能である。また、頂点座標変換機能は、設定された行列により、入力された各ポリゴンの頂点座標を変換してフレームバッファ１３ｂ内の画素位置として出力する機能である。
現在市販されているパーソナルコンピュータ（ＰＣ）用グラフィックス・アクセラレータ及びグラフィックスワークステーション（ＷＳ）の大多数は、上記３機能を提供している。
【００１５】
本発明方法においては、画像歪み補正を行うために、準備処理として、予め次の３種のパラメータ、すなわち、観察条件パラメータ（視錘台）と、投影条件パラメータ（投影錘台）と、スクリーンの形状とを外部記憶装置に記録しておく。次に、この準備処理について詳細に説明する。
錘台は透視変換を表現するため一般的に用いられる概念であり、図３に示すように、頂点（Ａｐｅｘ）３０を基準としたｌ（ｌｅｆｔ），ｒ（ｒｉｇｈｔ　），ｂ（ｂｏｔｔｏｍ），ｔ（ｔｏｐ　），ｎ（ｎｅａｒ），ｆ（ｆａｒ　）の６つの値により決定される。
【００１６】
準備処理における視錘台・投影錘台の指定は、下記のいずれかの方法で行う。
１）ｌ，ｒ，ｂ，ｔ，ｎ，ｆを直接指定する。
２）視野角／画角、アスペクト比、ｎ，ｆにより間接的にｌ，ｒ，ｂ，ｔを指定する。
ただし、左右上下に非対称な錘台を指定する場合は、１）の方法を用いる必要がある。
スクリーン形状は、何らかの方法、例えば、スクリーン設計時のＣＡＤデータを使用したり、三次元形状スキャナを使用したりなどにより、多角形メッシュとして表現され得るものである。準備処理では、この多角形メッシュを構成する頂点配列をパラメータとして指定する。
準備処理において指定する全てのパラメータは、原点の位置、座標系（ＸＹＺ各軸の方向と、回転の正負方向）及び単位系（メートル、ラジアンなど）の情報を共有する必要がある。
【００１７】
続いて、図４及び図５に基づいて投影時の処理の詳細について説明する。図４は投影時処理のフローチャート、図５はグラフィックス・アクセラレータによるテクスチャ座標変換及び頂点座標変換を説明する概念図である。
投影時の処理は、上述の記録されたパラメータを用いて、次の処理を行うことにより、フレームバッファに補正済み画像を格納する。そして、そのフレームバッファに格納された補正済み画像を、映像信号としてプロジェクタに出力するようになっているが、投影時の処理においては、まず、
１）Ｓ４１において、入力する原画像をテクスチャメモリ１３ａに転送して格納する。
原画像をテクスチャメモリに格納するには、下記の幾通りかの方法が採用可能である。すなわち、ビデオキャプチャ１４により入力した画像をテクスチャメモリ１３ａに転送する方法。フレームバッファ１３ｂ上の画像をテクスチャメモリ１３ａに複写する方法。及び、テクスチャメモリ１３ａに対して直接描画する方法である。
２）次に、Ｓ４２において、観察条件に従って、スクリーン形状の各頂点にテクスチャ座標を設定する。実際の処理では、図５に示すように、数式１の行列Ｍｏを上述されたグラフィックス・アクセラレータ１３のテクスチャ座標変換機構１３１に設定する。
３）また、Ｓ４３において、投影条件に従って、スクリーン形状の各頂点を座標変換する。実際の処理では、図５に示すように、数式２の行列Ｍｐをグラフィックス・アクセラレータ１３の頂点座標変換機構１３２に設定する。
４）そして、Ｓ４４において、頂点座標変換機構１３２及びテクスチャ座標変換機構１３１にスクリーン形状の頂点座標Ｖを入力することにより、スクリーン形状を描画する。
結果として、図５に示すように、テクスチャとして参照される原画像の画素座標Ｒから出力画像の画素座標Ｒ’への転送（Ｒ→Ｒ’）が行われる。これをスクリーン形状の全頂点に対して連続的に行って、スクリーン形状を描画することにより、フレームバッファ１３ｂに補正済み画像を得る。この補正済み画像が、映像信号として図２のプロジェクタなどに出力される。
なお、フレームバッファ１３ｂの各Ｒ’の間の画素は、グラフィックス・アクセラレータにより適宜補間された値が設定される。
【００１８】
上述した映像歪み補正方法を実行するプログラムは、映像投影アプリケーションプログラムの一部に組み込んで使用される単体プログラムとして、すなわち、歪み補正ソフトウェアライブラリ（以下、補正ライブラリ）として、次の内容を有して提供可能である。
補正ライブラリは、下記の特徴を有している。
補正ライブラリは、ＡＮＳＩ（Ａｍｅｒｉｃａｎ　Ｎａｔｉｏｎａｌ　Ｓｔａｎｄａｒｄ　Ｉｎｓｔｉｔｕｔｅ）Ｃ／Ｃ＋＋規格に準拠して記述されており、様々なプラットフォームに容易に移植可能である。また、補正ライブラリは、グラフィックス・アクセラレータへのインタフェースとして、広く一般的に使用されているプラットフォームであるＯｐｅｎＧＬ又はＤｉｒｅｃｔＸのいずれかを選択的に使用可能になっており、両者のいずれかをサポートするグラフィックス・アクセラレータを使用可能である。
【００１９】
補正ライブラリは、アプリケーション・プログラミング・インタフェース（ＡＰＩ）として、下記の関数群をエクスポートする。
１）初期化関数
これは、準備処理において、ハードディスクなどで構成されるファイルシステム上のファイル（以下、設定ファイルという）に記録された、観察条件、投影条件、スクリーン形状などの各種パラメータを読み込み、歪み補正処理に必要な実行環境を整えるものである。
２）テクスチャメモリへの画像転送関数
これは、メインメモリ１４上に展開された原画像又はフレームバッファ１３ｂ上の原画像をテクスチャメモリ１３ａへ転送するものである。
３）歪み補正実行関数
これは、グラフィックス・アクセラレータ１３の前記テクスチャ座標変換機構４１及び頂点座標変換機構４２を適宜設定し、スクリーン形状を描画することにより、フレームバッファ１３ｂ上に補正済み画像を得るものである。
４）終了関数
これは、前記初期化関数で確保した各種システムリソース（メインメモリ領域、テクスチャメモリ領域など）を解放して、上記映像歪み補正処理を終了するためのものである。
【００２０】
上記のような補正ライブラリは、前記ＡＰＩを通じて、映像歪み補正処理を必要とする様々なユーザプログラムに組み込んで利用することが可能である。例として、下記の３種のユーザプログラムに組み込んで使用する場合を、項を分けて説明する。
【００２１】
１）静止画像表示プログラムの場合
このプログラムは、ハードディスクなどに記録された画像ファイルを読み込み、これを描画（すなわち、フレームバッファに転送）し、映像出力する類のプログラムである。この種のプログラムに映像歪み補正機能を組み込むには、補正ライブラリを図６に示すように使用する。
このプログラムは、Ｓ６１において、補正ライブラリの初期化関数を呼び出すことにより、設定ファイルを読み込み、数式１及び数式２の行列Ｍｏ、Ｍｐを作成してメインメモリに記憶し、原画像を格納する為に必要なテクスチャメモリ領域を確保する。
Ｓ６２において、任意の方法により対象となる画像ファイルを特定して、画像データをメインメモリに展開する。
Ｓ６３において、補正ライブラリの画像転送関数を呼び出すことにより、メインメモリに展開された画像データをテクスチャメモリに転送する。
Ｓ６４において、補正ライブラリの歪み補正実行関数を呼び出すことにより、フレームバッファに補正済み画像を得る。
Ｓ６５おいてプログラム終了時には、Ｓ６６おいて、補正ライブラリの終了関数を呼び出すことにより、初期化関数で確保した各種システムリソースを解放して、処理を終了する。
【００２２】
２）動画像表示プログラムの場合
このプログラムは、ハードディスクなどに記録された動画ファイルから１フレームずつ連続して画像データを読み込み・描画し、動画像として映像出力する類のプログラムである。この種のプログラムに映像歪み補正機能を組み込むには、補正ライブラリを図７のように使用する。すなわち、
このプログラムは、Ｓ７１において、補正ライブラリの初期化関数を呼び出すことにより、設定ファイルを読み込み、数式１・２の行列Ｍｏ、Ｍｐを作成してメインメモリに記憶し、原画像を格納する為に必要なテクスチャメモリ領域を確保する。
Ｓ７２において、任意の方法により対象となる動画ファイルを特定して、データストリームへのハンドルを得る（すなわち、オープンする）。
Ｓ７３において、データストリームから１フレーム分の画像データを読み込み、メインメモリに展開する。
Ｓ７４において、補正ライブラリの画像転送関数を呼び出すことにより、メインメモリに展開された画像データをテクスチャメモリに転送する。
Ｓ７５において、補正ライブラリの歪み補正実行関数を呼び出すことにより、フレームバッファに補正済み画像を得る。
Ｓ７６において、最終フレームの処理を終えたら、Ｓ７７において、動画ファイルのデータストリームを解放する（すなわち、クローズする）。
Ｓ７８において、プログラム終了時には、Ｓ７９において、補正ライブラリの終了関数を呼び出すことにより、初期化関数で確保した各種システムリソースを解放して、処理を終了する。
【００２３】
３）リアルタイムＣＧプログラムの場合
このプログラムは、ユーザの入力などのイベントにより動的に変化するシーンを１フレームずつ描画していく類のプログラムである。この種のプログラムに映像歪み補正機能を組み込むには、補正ライブラリを図８のように使用する。
このプログラムは、Ｓ８１において、補正ライブラリの初期化関数を呼び出すことにより、設定ファイルを読み込み、数式１・２の行列Ｍｏ、Ｍｐを作成してメインメモリに記憶し、原画像を格納する為に必要なテクスチャメモリ領域を確保する。
Ｓ８２において、キーボード、マウス入力などのイベントに応じて、表示すべきシーンの内容を適宜変化させる。
Ｓ８４において、シーンを描画し、フレームバッファに１フレーム分の画像を得る。
Ｓ８３において、プログラム未終了時には、Ｓ８４において、補正ライブラリの画像転送関数を呼び出すことにより、フレームバッファ上の画像データをテクスチャメモリに複写する。（ただし、グラフィックス・アクセラレータによっては、テクスチャメモリに対して直接描画することができる場合がある。この場合は、Ｓ８５の処理は不要となる。）
Ｓ８６において、補正ライブラリの歪み補正実行関数を呼び出すことにより、フレームバッファに補正済み画像を得る。
Ｓ８３においてプログラム終了時には、Ｓ８７において、補正ライブラリの終了関数を呼び出すことにより、初期化関数で確保した各種システムリソースを解放して、処理を終了する。
【００２４】
上記実施の形態において、図４のＳ４１，Ｓ４２，Ｓ４３，Ｓ４４はそれぞれ、入力する原画像をテクスチャメモリに転送する手段、観察条件に従ってスクリーン形状の各頂点にテクスチャ座標を設定する手段、投影条件に従ってスクリーン形状の各頂点を座標変換する手段、座標変換をされたスクリーン形状を描画する手段を構成する。また、図５の１３１及び１３２は、それぞれＳ４２による設定に基づきテクスチャ座標を変換するテクスチャ座標変換手段、Ｓ４３による設定に基づきスクリーン形状の各頂点の座標を変換する頂点座標変換手段を構成している。
【００２５】
【発明の効果】
上述のように、請求項１の発明によれば、原画像を観察条件、投影条件及スクリーン形状のパラメータを含む所定の計算式により演算して透視変換し、かつ、透視変換後の座標系をテクスチャ座標系に変換し、そのテクスチャ座標系を用いて、高速処理が可能なグラフィックス・アクセラレータのテクスチャマッピング機能により補正画像を得るようにしたので、高速な歪み補正処理を実現し、映像の自然な運動表現が可能となった。
【００２６】
また、請求項２の発明によれば、投影時の処理として、スクリーン形状の各頂点座標とテクスチャとして参照される原画像の画素座標の対応を観察条件パラメータを含む数式１により決定して、入力された原画像をテクスチャとしてポリゴンにより構成されるスクリーン形状に対して貼り付ける処理と、前記スクリーン形状の各頂点座標と出力画像の画素座標の対応を、トウエイ条件パラメータを含む数式２により決定して、原画像を貼り付けた前記スクリーン形状を前記フレームバッファに描画する処理の２段階の処理を行うことにより、補正画像を生成し、その補正画像を映像信号として映像プロジェクタに出力するので、投影条件、観察条件及びスクリーン形状のいかんを問わず、スクリーンに投影される映像が観察者から見て歪まないよう補正することができ、しかも、投影条件又は観察条件が変更された場合でも、ハード的、プログラム的には何ら変更を要することなく、パラメータ変更のみで対応できる。
【００２７】
さらに、請求項３の発明によれば、様々なユーザプログラムに組み込んで使用可能な映像補正用ライブラリを提供することができる。
【図面の簡単な説明】
【図１】スクリーンに投影される映像の歪みの原因と、その歪み補正の原理を説明する模式図。
【図２】本発明による映像歪み補正方法を行う映像投影装置の構成を概略的に示すブロック図。
【図３】透視変換における観察条件パラメータの説明図。
【図４】投影時処理のフローチャート。
【図５】グラフィックス・アクセラレータによるテクスチャ座標変換及び頂点座標変換を説明する概念図。
【図６】本発明のライブラリを静止画像表示プログラムに組み込んで使用する場合のフローチャート。
【図７】本発明のライブラリを動画像表示プログラムに組み込んで使用する場合のフローチャート。
【図８】本発明のライブラリをリアルタイムＣＧプログラムに組み込んで使用する場合のフローチャート。
【図１】
2004072553.tif 000009
【図２】
2004072553.tif 000010
【図３】
2004072553.tif 000011
【図４】
2004072553.tif 000012
【図５】
2004072553.tif 000013
【図６】
2004072553.tif 000014
【図７】
2004072553.tif 000015
【図８】
2004072553.tif 000016