JP2004072553A - Image distortion correction method, and program for the same - Google Patents

Image distortion correction method, and program for the same Download PDF

Info

Publication number
JP2004072553A
JP2004072553A JP2002230823A JP2002230823A JP2004072553A JP 2004072553 A JP2004072553 A JP 2004072553A JP 2002230823 A JP2002230823 A JP 2002230823A JP 2002230823 A JP2002230823 A JP 2002230823A JP 2004072553 A JP2004072553 A JP 2004072553A
Authority
JP
Japan
Prior art keywords
image
texture
projection
screen shape
frame buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002230823A
Other languages
Japanese (ja)
Inventor
Misao Tajima
田島 操
Takeshi Mishina
三品 豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DIGITAL ZUU KK
Original Assignee
DIGITAL ZUU KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by DIGITAL ZUU KK filed Critical DIGITAL ZUU KK
Priority to JP2002230823A priority Critical patent/JP2004072553A/en
Publication of JP2004072553A publication Critical patent/JP2004072553A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)
  • Transforming Electric Information Into Light Information (AREA)
  • Projection Apparatus (AREA)
  • Image Processing (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image correction method which can realize a high speed distortion correction process and natural motion expression of the images. <P>SOLUTION: The image distortion correction method records observation conditions such as a position of a observer, projection conditions such as a position of a projector, direction, image angle, and an aspect ratio, etc., and a polygon mesh representing a screen shape as parameters in the preparation process. As processing at the time of projection, an inputted original image is calculated by a predetermined calculation formula including the parameters and is subjected to a perspective transformation, coordinate system after the perspective transformation is transformed into a texture coordinate system, a corrected image is drawn on a frame buffer by texture mapping function of a graphic accelerator using the texture coordinate system, and the correction image is output to the projector as an image signal. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、映像プロジェクタ(以下、単にプロジェクタという)によりスクリーンに投影される映像の歪みを補正する方法、とくに、観察者の視錘台やプロジェクタの投影錘台などのパラメータを用いて映像の歪みを補正するもの、及び同映像歪み補正方法用プログラムに関する。
【0002】
【従来の技術】
プロジェクタで映像をスクリーンに投影する場合、プロジェクタの位置・投射方向など(以下、投影条件という。)及び観察者の位置など(以下、観察条件という。)により、映像が歪んで見えることがある。このような映像の歪みを解消する方法の一つとして、スクリーンの距離、傾斜角及び方位角などのパラメータを算出し、入力する原画像を上記パラメータを用いて補正(透視変換)して補正画像を出力するものが、特開2001−61121号公報に開示されている。
【0003】
【発明が解決しようとする課題】
しかしながら、上記従来方法は、具体的な実装方法についての記述がなく、処理速度に関する考慮もなされていない。従って、動画像の再生などのように、補正処理に高速性を要求されるアプリケーションへの適用が可能であるか甚だ疑問である。
【0004】
本発明は、上記の点に鑑みてなされたものであり、第1の課題は、高速な歪み補正処理を実現し、映像の自然な運動表現が可能な映像歪み補正方法を提供することにある。
第2の課題は、投影条件、観察条件及びスクリーン形状のいかんを問わず、スクリーンに投影される映像が観察者から見て歪まないよう補正することができ、しかも、投影条件又は観察条件が変更された場合でも、ハード的、プログラム的には何ら変更を要することなく、パラメータ変更のみで対応できる映像歪み補正方法を提供することにある。
第3の課題は、上記映像補正方法を実現するための、様々なユーザプログラムに組み込んで使用可能なプログラム(ライブラリ)を提供することにある。
【0005】
【課題を解決するための手段】
まず、上記課題を解決するための本発明に係る映像歪み補正方法の基本的な考え方を、図1を参照しながら説明する。図1はスクリーンに投影される映像の歪みの原因と、その歪み補正の原理を説明する模式図である。図1において、Aは観察者、Pはプロジェクタ、Sはスクリーンである。
観察者Aの視錘台(Viewing frustum)とプロジェクタPの投影錘台(Projection frustum)が一致する状態でスクリーンSに投影した映像(a)は、観察者Aの目に歪みのない状態で入るはずである。しかし、観察者Aの視錘台とプロジェクタPの投影錘台が不一致の状態でスクリーンSに投影した映像(b)は、観察者には歪んで見える。従って、プロジェクタPからスクリーンSに投影される映像の歪みをキャンセルするには、そのプロジェクタPの位置から投影された映像(b)が結果的に(a)と一致するように、逆シミュレーションにより予め映像(b)を歪めておけば良い。
従って、1)スクリーンSの形状を表す多角形メッシュに対して、観察者の視錘台を使用して原画像をテクスチャとして貼り付け(Projection mapping)、次に、2)原画像が貼りついた状態のスクリーンSの多角形メッシュをプロジェクタPの投影錘台を使用して描画し、3)結果として得られた画像をプロジェクタPから投影すれば、観察者Aは、歪みのない画像を見ることができる。
【0006】
こうして、請求項1の方法発明は、歪み補正の準備処理として、観察者の位置などの観察条件、プロジェクタの位置・方向・画角・アスペクト比などの投影条件、及びスクリーン形状を表す多角形メッシュをパラメータとして記録しておき、投影時の処理として、入力された原画像を前記パラメータを含む所定の計算式により演算して透視変換を行い、かつ、透視変換後の座標系をテクスチャ座標系に変換し、そのテクスチャ座標系を用いてグラフィックス・アクセラレータのテクスチャマッピング機能により補正画像をフレームバッファに描画して、その補正画像を映像信号としてプロジェクタに出力することを特徴としている。
【0007】
従来、映像歪み補正に限らず、画像データに対する幾何学補正は、一旦メインメモリ上に画像データを展開し、CPUを使用して各画素を操作し、フレームバッファに処理済の画像データを転送するといった方法を取るのが一般的であった。この方法は下記のような理由により処理時間が長くなる可能性が高い。
一般的なPC・WS環境では、CPUは全てのタスク間で共用されるので、一般的に、CPUは大量のベクトルデータに対する演算には不向きである。原画像がフレームバッファ上にある場合には、これを一旦メインメモリ上に展開しなくてはならない(余分なバス転送が発生する)。
これに対し、本発明では、補正前画像の画素Rを補正後画像の画素R’に変換する計算処理全般に、グラフィックス・アクセラレータのテクスチャマッピング機能を利用するので、上記問題を解決し、高速な補正処理を実現可能である。
【0008】
請求項2の画像歪み補正方法は、請求項1の発明におけると同一の準備処理に続き、投影時の処理として、上記パラメータを用いて、次の(d)及び(e)の2段階の処理を行うことによりフレームバッファに補正済み画像を格納し、前記フレームバッファに格納された補正済み画像を、映像信号として映像プロジェクタに出力することを特徴としている。すなわち、
(d)入力された原画像をテクスチャとしてポリゴンにより構成されるスクリーン形状に対して貼り付ける第1段階の処理。この場合、前記スクリーン形状の各頂点座標とテクスチャとして参照される原画像の画素座標の対応は、前記パラメータ(a)を含む次の行列式(数式1)により決定される。
【数5】

Figure 2004072553
(e)原画像を貼り付けた前記スクリーン形状を前記フレームバッファに描画する第2段階の処理。この場合、前記スクリーン形状の各頂点座標と出力画像の画素座標の対応は、前記パラメータ(b)を含む次の行列式(数式2)により決定される。
【数6】
Figure 2004072553
【0009】
上記第3の課題を解決する請求項3の発明は、上記映像歪み補正方法を実行するためのプログラム(ライブラリ)であり、スクリーン形状の各頂点座標とテクスチャとして参照される原画像の画素座標との対応を、前記数式1により決定して、入力された原画像をテクスチャとしてスクリーン形状に対して貼り付けるステップと、
スクリーン形状の各頂点座標と、出力画像の画素座標との対応を、前記数式2により決定して、原画像を貼り付けたスクリーン形状をフレームバッファに描画するステップと、
前記フレームバッファに格納された補正済み画像を映像信号としてプロジェクタに出力するステップとを含むことを特徴としている。
【0010】
この画像歪み補正方法用ライブラリは、OpenGL又はDirectX対応のグラフィックス・アクセラレータを搭載したPC又はWSにおいて、設定ファイルに記録された、観察条件、投影条件、スクリーン形状などの各種パラメータを読み込み、歪み補正処理に必要な実行環境を整え、メインメモリ上に展開された原画像、又はフレームバッファ上の原画像をテクスチャメモリへ転送し、グラフィックス・アクセラレータのテクスチャ座標変換機構及び頂点座標変換機構を適宜設定してスクリーン形状を描画することにより、フレームバッファ上に補正済み画像を得るようにし、処理終了時にはシステムリソースを適宜解放するためのアプリケーション・プログラミング・インタフェース(API)を有している。そのため、映像投影用ユーザプログラムにおいて画像歪み補正を必要とする場合は、そのユーザプログラムに組み込んで使用することが可能である。
【0011】
【発明の実施の形態】
次に、本発明の実施の形態について、図2以下の図面を参照して説明する。
図2は、本発明による映像歪み補正方法を行う映像投影装置の構成を概略的に示すブロック図、図3は透視変換における観察条件パラメータ(錘台)の説明図である。
この映像投影装置10は、各種の演算及び各部の制御を司るCPU11と、バス12に接続されたグラフィックス・アクセラレータ13と、バス12を介して入力するデータの格納、CPU11による展開のためのデータの授受、前記グラフィックス・アクセラレータ13へのデータの入出力を行うメインメモリ14とを有している。
【0012】
本発明方法を用いる映像投影装置10は、図1に示すように、その機能を実現する基本的構成要素として、グラフィックス・アクセラレータ13を有する。また、外部のビデオ映像に対して歪み補正を行う場合には、ビデオキャプチャ15が必要となる。さらに、プログラムデータやワーキングデータ等を格納しておくための外部記憶装置、処理された画像を印刷する場合のプリンタ等の他のI/O機器16がインタフェース(図示省略)を介してバス12に接続され、処理された画像を監視する場合は、モニターがグラフィックス・アクセラレータ13に接続される。
【0013】
グラフィックス・アクセラレータ13は、原画像を格納するのに充分な容量のテクスチャメモリ13a及び1フレーム分の映像データを格納可能なフレームバッファ13bを有するともに、描画パイプラインの一部として、3つの機能、すなわち、(ア)テクスチャマッピング機能、(イ)テクスチャ座標変換機能、(ウ)頂点座標変換機能を有する。
【0014】
テクスチャマッピング機能は、三次元モデルであるスクリーン形状(ポリゴン座標系)にテクスチャメモリ13aに格納されている二次元画像であるテクスチャを貼り付ける機能である。テクスチャ座標変換機能は、設定された行列により、入力されたテクスチャ座標を変換してテクスチャメモリ13a内の画素位置として出力する機能である。また、頂点座標変換機能は、設定された行列により、入力された各ポリゴンの頂点座標を変換してフレームバッファ13b内の画素位置として出力する機能である。
現在市販されているパーソナルコンピュータ(PC)用グラフィックス・アクセラレータ及びグラフィックスワークステーション(WS)の大多数は、上記3機能を提供している。
【0015】
本発明方法においては、画像歪み補正を行うために、準備処理として、予め次の3種のパラメータ、すなわち、観察条件パラメータ(視錘台)と、投影条件パラメータ(投影錘台)と、スクリーンの形状とを外部記憶装置に記録しておく。次に、この準備処理について詳細に説明する。
錘台は透視変換を表現するため一般的に用いられる概念であり、図3に示すように、頂点(Apex)30を基準としたl(left),r(right ),b(bottom),t(top ),n(near),f(far )の6つの値により決定される。
【0016】
準備処理における視錘台・投影錘台の指定は、下記のいずれかの方法で行う。
1)l,r,b,t,n,fを直接指定する。
2)視野角/画角、アスペクト比、n,fにより間接的にl,r,b,tを指定する。
ただし、左右上下に非対称な錘台を指定する場合は、1)の方法を用いる必要がある。
スクリーン形状は、何らかの方法、例えば、スクリーン設計時のCADデータを使用したり、三次元形状スキャナを使用したりなどにより、多角形メッシュとして表現され得るものである。準備処理では、この多角形メッシュを構成する頂点配列をパラメータとして指定する。
準備処理において指定する全てのパラメータは、原点の位置、座標系(XYZ各軸の方向と、回転の正負方向)及び単位系(メートル、ラジアンなど)の情報を共有する必要がある。
【0017】
続いて、図4及び図5に基づいて投影時の処理の詳細について説明する。図4は投影時処理のフローチャート、図5はグラフィックス・アクセラレータによるテクスチャ座標変換及び頂点座標変換を説明する概念図である。
投影時の処理は、上述の記録されたパラメータを用いて、次の処理を行うことにより、フレームバッファに補正済み画像を格納する。そして、そのフレームバッファに格納された補正済み画像を、映像信号としてプロジェクタに出力するようになっているが、投影時の処理においては、まず、
1)S41において、入力する原画像をテクスチャメモリ13aに転送して格納する。
原画像をテクスチャメモリに格納するには、下記の幾通りかの方法が採用可能である。すなわち、ビデオキャプチャ14により入力した画像をテクスチャメモリ13aに転送する方法。フレームバッファ13b上の画像をテクスチャメモリ13aに複写する方法。及び、テクスチャメモリ13aに対して直接描画する方法である。
2)次に、S42において、観察条件に従って、スクリーン形状の各頂点にテクスチャ座標を設定する。実際の処理では、図5に示すように、数式1の行列Moを上述されたグラフィックス・アクセラレータ13のテクスチャ座標変換機構131に設定する。
3)また、S43において、投影条件に従って、スクリーン形状の各頂点を座標変換する。実際の処理では、図5に示すように、数式2の行列Mpをグラフィックス・アクセラレータ13の頂点座標変換機構132に設定する。
4)そして、S44において、頂点座標変換機構132及びテクスチャ座標変換機構131にスクリーン形状の頂点座標Vを入力することにより、スクリーン形状を描画する。
結果として、図5に示すように、テクスチャとして参照される原画像の画素座標Rから出力画像の画素座標R’への転送(R→R’)が行われる。これをスクリーン形状の全頂点に対して連続的に行って、スクリーン形状を描画することにより、フレームバッファ13bに補正済み画像を得る。この補正済み画像が、映像信号として図2のプロジェクタなどに出力される。
なお、フレームバッファ13bの各R’の間の画素は、グラフィックス・アクセラレータにより適宜補間された値が設定される。
【0018】
上述した映像歪み補正方法を実行するプログラムは、映像投影アプリケーションプログラムの一部に組み込んで使用される単体プログラムとして、すなわち、歪み補正ソフトウェアライブラリ(以下、補正ライブラリ)として、次の内容を有して提供可能である。
補正ライブラリは、下記の特徴を有している。
補正ライブラリは、ANSI(American National Standard Institute)C/C++規格に準拠して記述されており、様々なプラットフォームに容易に移植可能である。また、補正ライブラリは、グラフィックス・アクセラレータへのインタフェースとして、広く一般的に使用されているプラットフォームであるOpenGL又はDirectXのいずれかを選択的に使用可能になっており、両者のいずれかをサポートするグラフィックス・アクセラレータを使用可能である。
【0019】
補正ライブラリは、アプリケーション・プログラミング・インタフェース(API)として、下記の関数群をエクスポートする。
1)初期化関数
これは、準備処理において、ハードディスクなどで構成されるファイルシステム上のファイル(以下、設定ファイルという)に記録された、観察条件、投影条件、スクリーン形状などの各種パラメータを読み込み、歪み補正処理に必要な実行環境を整えるものである。
2)テクスチャメモリへの画像転送関数
これは、メインメモリ14上に展開された原画像又はフレームバッファ13b上の原画像をテクスチャメモリ13aへ転送するものである。
3)歪み補正実行関数
これは、グラフィックス・アクセラレータ13の前記テクスチャ座標変換機構41及び頂点座標変換機構42を適宜設定し、スクリーン形状を描画することにより、フレームバッファ13b上に補正済み画像を得るものである。
4)終了関数
これは、前記初期化関数で確保した各種システムリソース(メインメモリ領域、テクスチャメモリ領域など)を解放して、上記映像歪み補正処理を終了するためのものである。
【0020】
上記のような補正ライブラリは、前記APIを通じて、映像歪み補正処理を必要とする様々なユーザプログラムに組み込んで利用することが可能である。例として、下記の3種のユーザプログラムに組み込んで使用する場合を、項を分けて説明する。
【0021】
1)静止画像表示プログラムの場合
このプログラムは、ハードディスクなどに記録された画像ファイルを読み込み、これを描画(すなわち、フレームバッファに転送)し、映像出力する類のプログラムである。この種のプログラムに映像歪み補正機能を組み込むには、補正ライブラリを図6に示すように使用する。
このプログラムは、S61において、補正ライブラリの初期化関数を呼び出すことにより、設定ファイルを読み込み、数式1及び数式2の行列Mo、Mpを作成してメインメモリに記憶し、原画像を格納する為に必要なテクスチャメモリ領域を確保する。
S62において、任意の方法により対象となる画像ファイルを特定して、画像データをメインメモリに展開する。
S63において、補正ライブラリの画像転送関数を呼び出すことにより、メインメモリに展開された画像データをテクスチャメモリに転送する。
S64において、補正ライブラリの歪み補正実行関数を呼び出すことにより、フレームバッファに補正済み画像を得る。
S65おいてプログラム終了時には、S66おいて、補正ライブラリの終了関数を呼び出すことにより、初期化関数で確保した各種システムリソースを解放して、処理を終了する。
【0022】
2)動画像表示プログラムの場合
このプログラムは、ハードディスクなどに記録された動画ファイルから1フレームずつ連続して画像データを読み込み・描画し、動画像として映像出力する類のプログラムである。この種のプログラムに映像歪み補正機能を組み込むには、補正ライブラリを図7のように使用する。すなわち、
このプログラムは、S71において、補正ライブラリの初期化関数を呼び出すことにより、設定ファイルを読み込み、数式1・2の行列Mo、Mpを作成してメインメモリに記憶し、原画像を格納する為に必要なテクスチャメモリ領域を確保する。
S72において、任意の方法により対象となる動画ファイルを特定して、データストリームへのハンドルを得る(すなわち、オープンする)。
S73において、データストリームから1フレーム分の画像データを読み込み、メインメモリに展開する。
S74において、補正ライブラリの画像転送関数を呼び出すことにより、メインメモリに展開された画像データをテクスチャメモリに転送する。
S75において、補正ライブラリの歪み補正実行関数を呼び出すことにより、フレームバッファに補正済み画像を得る。
S76において、最終フレームの処理を終えたら、S77において、動画ファイルのデータストリームを解放する(すなわち、クローズする)。
S78において、プログラム終了時には、S79において、補正ライブラリの終了関数を呼び出すことにより、初期化関数で確保した各種システムリソースを解放して、処理を終了する。
【0023】
3)リアルタイムCGプログラムの場合
このプログラムは、ユーザの入力などのイベントにより動的に変化するシーンを1フレームずつ描画していく類のプログラムである。この種のプログラムに映像歪み補正機能を組み込むには、補正ライブラリを図8のように使用する。
このプログラムは、S81において、補正ライブラリの初期化関数を呼び出すことにより、設定ファイルを読み込み、数式1・2の行列Mo、Mpを作成してメインメモリに記憶し、原画像を格納する為に必要なテクスチャメモリ領域を確保する。
S82において、キーボード、マウス入力などのイベントに応じて、表示すべきシーンの内容を適宜変化させる。
S84において、シーンを描画し、フレームバッファに1フレーム分の画像を得る。
S83において、プログラム未終了時には、S84において、補正ライブラリの画像転送関数を呼び出すことにより、フレームバッファ上の画像データをテクスチャメモリに複写する。(ただし、グラフィックス・アクセラレータによっては、テクスチャメモリに対して直接描画することができる場合がある。この場合は、S85の処理は不要となる。)
S86において、補正ライブラリの歪み補正実行関数を呼び出すことにより、フレームバッファに補正済み画像を得る。
S83においてプログラム終了時には、S87において、補正ライブラリの終了関数を呼び出すことにより、初期化関数で確保した各種システムリソースを解放して、処理を終了する。
【0024】
上記実施の形態において、図4のS41,S42,S43,S44はそれぞれ、入力する原画像をテクスチャメモリに転送する手段、観察条件に従ってスクリーン形状の各頂点にテクスチャ座標を設定する手段、投影条件に従ってスクリーン形状の各頂点を座標変換する手段、座標変換をされたスクリーン形状を描画する手段を構成する。また、図5の131及び132は、それぞれS42による設定に基づきテクスチャ座標を変換するテクスチャ座標変換手段、S43による設定に基づきスクリーン形状の各頂点の座標を変換する頂点座標変換手段を構成している。
【0025】
【発明の効果】
上述のように、請求項1の発明によれば、原画像を観察条件、投影条件及スクリーン形状のパラメータを含む所定の計算式により演算して透視変換し、かつ、透視変換後の座標系をテクスチャ座標系に変換し、そのテクスチャ座標系を用いて、高速処理が可能なグラフィックス・アクセラレータのテクスチャマッピング機能により補正画像を得るようにしたので、高速な歪み補正処理を実現し、映像の自然な運動表現が可能となった。
【0026】
また、請求項2の発明によれば、投影時の処理として、スクリーン形状の各頂点座標とテクスチャとして参照される原画像の画素座標の対応を観察条件パラメータを含む数式1により決定して、入力された原画像をテクスチャとしてポリゴンにより構成されるスクリーン形状に対して貼り付ける処理と、前記スクリーン形状の各頂点座標と出力画像の画素座標の対応を、トウエイ条件パラメータを含む数式2により決定して、原画像を貼り付けた前記スクリーン形状を前記フレームバッファに描画する処理の2段階の処理を行うことにより、補正画像を生成し、その補正画像を映像信号として映像プロジェクタに出力するので、投影条件、観察条件及びスクリーン形状のいかんを問わず、スクリーンに投影される映像が観察者から見て歪まないよう補正することができ、しかも、投影条件又は観察条件が変更された場合でも、ハード的、プログラム的には何ら変更を要することなく、パラメータ変更のみで対応できる。
【0027】
さらに、請求項3の発明によれば、様々なユーザプログラムに組み込んで使用可能な映像補正用ライブラリを提供することができる。
【図面の簡単な説明】
【図1】スクリーンに投影される映像の歪みの原因と、その歪み補正の原理を説明する模式図。
【図2】本発明による映像歪み補正方法を行う映像投影装置の構成を概略的に示すブロック図。
【図3】透視変換における観察条件パラメータの説明図。
【図4】投影時処理のフローチャート。
【図5】グラフィックス・アクセラレータによるテクスチャ座標変換及び頂点座標変換を説明する概念図。
【図6】本発明のライブラリを静止画像表示プログラムに組み込んで使用する場合のフローチャート。
【図7】本発明のライブラリを動画像表示プログラムに組み込んで使用する場合のフローチャート。
【図8】本発明のライブラリをリアルタイムCGプログラムに組み込んで使用する場合のフローチャート。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a method for correcting a distortion of an image projected on a screen by an image projector (hereinafter, simply referred to as a projector), and in particular, to an image distortion using a parameter such as a viewing frustum of an observer or a projection frustum of the projector. And a program for the image distortion correction method.
[0002]
[Prior art]
When an image is projected on a screen by a projector, the image may appear distorted depending on the position and projection direction of the projector (hereinafter, referred to as a projection condition) and the position of an observer (hereinafter, referred to as an observation condition). As one method of eliminating such image distortion, parameters such as a screen distance, a tilt angle, and an azimuth angle are calculated, and an input original image is corrected (perspective transformation) using the above parameters to obtain a corrected image. Is output in Japanese Patent Application Laid-Open No. 2001-61121.
[0003]
[Problems to be solved by the invention]
However, in the above-mentioned conventional method, there is no description of a specific mounting method, and no consideration is given to the processing speed. Therefore, it is extremely questionable whether it can be applied to an application that requires high-speed correction processing, such as reproduction of a moving image.
[0004]
The present invention has been made in view of the above points, and a first object is to provide an image distortion correction method that realizes high-speed distortion correction processing and enables natural motion expression of an image. .
The second problem is that, regardless of the projection conditions, observation conditions, and screen shape, it is possible to correct the image projected on the screen so as not to be distorted when viewed by an observer, and to change the projection conditions or observation conditions. An object of the present invention is to provide a video distortion correction method which can be dealt with only by changing parameters without requiring any change in terms of hardware or program even when the processing is performed.
A third object is to provide a program (library) that can be used by being incorporated in various user programs for realizing the above-described image correction method.
[0005]
[Means for Solving the Problems]
First, a basic concept of a video distortion correction method according to the present invention for solving the above-described problem will be described with reference to FIG. FIG. 1 is a schematic diagram for explaining a cause of distortion of an image projected on a screen and a principle of the distortion correction. In FIG. 1, A is an observer, P is a projector, and S is a screen.
The image (a) projected on the screen S in a state where the viewing frustum of the observer A and the projection frustum of the projector P coincide with each other enters the observer A without distortion. Should be. However, the image (b) projected on the screen S in a state where the viewing frustum of the observer A and the projection frustum of the projector P do not match appears to the observer as distorted. Therefore, in order to cancel the distortion of the image projected from the projector P onto the screen S, reverse simulation is performed in advance so that the image (b) projected from the position of the projector P eventually matches the image (a). The image (b) may be distorted.
Therefore, 1) the original image was pasted as a texture to the polygon mesh representing the shape of the screen S using the frustum of the observer (projection mapping), and then 2) the original image was pasted. If the polygonal mesh of the screen S in the state is drawn using the projection frustum of the projector P, and 3) the resulting image is projected from the projector P, the observer A can see an image without distortion. Can be.
[0006]
Thus, the method invention of claim 1 includes, as preparatory processing for distortion correction, a viewing condition such as a position of an observer, a projection condition such as a position, a direction, an angle of view, and an aspect ratio of a projector, and a polygon mesh representing a screen shape. Is recorded as a parameter, and as a process at the time of projection, the input original image is calculated by a predetermined calculation formula including the parameter to perform perspective transformation, and the coordinate system after the perspective transformation is converted to a texture coordinate system. After the conversion, the corrected image is drawn on the frame buffer by the texture mapping function of the graphics accelerator using the texture coordinate system, and the corrected image is output to the projector as a video signal.
[0007]
Conventionally, not only image distortion correction but also geometric correction for image data is performed by first expanding image data on a main memory, operating each pixel using a CPU, and transferring processed image data to a frame buffer. It was common to take such a method. This method is likely to increase the processing time for the following reasons.
In a general PC / WS environment, since the CPU is shared between all tasks, the CPU is generally not suitable for operations on a large amount of vector data. If the original image is on the frame buffer, it must be temporarily expanded on the main memory (excessive bus transfer occurs).
On the other hand, in the present invention, since the texture mapping function of the graphics accelerator is used for the entire calculation processing for converting the pixel R of the image before correction into the pixel R ′ of the image after correction, the above problem is solved. It is possible to realize a simple correction process.
[0008]
In the image distortion correcting method according to the second aspect, following the same preparation processing as in the first aspect of the invention, the following two-stage processing (d) and (e) is performed as a projection processing using the above parameters. Is performed, the corrected image is stored in a frame buffer, and the corrected image stored in the frame buffer is output to a video projector as a video signal. That is,
(D) First-stage processing for pasting the input original image as a texture to a screen shape composed of polygons. In this case, the correspondence between the vertex coordinates of the screen shape and the pixel coordinates of the original image referred to as the texture is determined by the following determinant (formula 1) including the parameter (a).
(Equation 5)
Figure 2004072553
(E) A second stage process of drawing the screen shape on which the original image has been pasted in the frame buffer. In this case, the correspondence between the vertex coordinates of the screen shape and the pixel coordinates of the output image is determined by the following determinant (Equation 2) including the parameter (b).
(Equation 6)
Figure 2004072553
[0009]
According to a third aspect of the present invention, there is provided a program (library) for executing the image distortion correcting method, wherein each vertex coordinate of a screen shape and pixel coordinates of an original image referred to as a texture are stored. Is determined by the above formula 1, and the input original image is pasted as a texture to the screen shape;
Determining the correspondence between each vertex coordinate of the screen shape and the pixel coordinates of the output image by the aforementioned mathematical expression 2, and drawing the screen shape on which the original image is pasted in a frame buffer;
Outputting the corrected image stored in the frame buffer to the projector as a video signal.
[0010]
This image distortion correction method library reads various parameters such as observation conditions, projection conditions, and screen shapes recorded in a setting file on a PC or WS equipped with an OpenGL or DirectX compatible graphics accelerator, and performs distortion correction. Prepare the execution environment necessary for processing, transfer the original image expanded on the main memory or the original image on the frame buffer to the texture memory, and set the texture coordinate conversion mechanism and vertex coordinate conversion mechanism of the graphics accelerator appropriately. It has an application programming interface (API) for drawing a screen shape to obtain a corrected image on a frame buffer and releasing system resources appropriately at the end of processing. Therefore, when image distortion correction is required in a video projection user program, it can be incorporated into the user program and used.
[0011]
BEST MODE FOR CARRYING OUT THE INVENTION
Next, an embodiment of the present invention will be described with reference to FIGS.
FIG. 2 is a block diagram schematically showing the configuration of an image projection device that performs the image distortion correction method according to the present invention, and FIG. 3 is an explanatory diagram of observation condition parameters (frustum) in perspective transformation.
The image projecting apparatus 10 includes a CPU 11 that controls various operations and controls each unit, a graphics accelerator 13 connected to a bus 12, storage of data input via the bus 12, and data for development by the CPU 11. , And a main memory 14 for inputting and outputting data to and from the graphics accelerator 13.
[0012]
As shown in FIG. 1, the video projection apparatus 10 using the method of the present invention has a graphics accelerator 13 as a basic component for realizing its function. In addition, when performing distortion correction on an external video image, the video capture 15 is required. Further, an external storage device for storing program data, working data, and the like, and other I / O devices 16 such as a printer for printing processed images are connected to the bus 12 via an interface (not shown). When monitoring the connected and processed images, the monitor is connected to the graphics accelerator 13.
[0013]
The graphics accelerator 13 has a texture memory 13a having a sufficient capacity for storing an original image and a frame buffer 13b capable of storing one frame of video data, and has three functions as part of a drawing pipeline. That is, it has (a) a texture mapping function, (b) a texture coordinate conversion function, and (c) a vertex coordinate conversion function.
[0014]
The texture mapping function is a function of pasting a texture as a two-dimensional image stored in the texture memory 13a to a screen shape (polygon coordinate system) as a three-dimensional model. The texture coordinate conversion function is a function of converting input texture coordinates according to a set matrix and outputting the converted texture coordinates as pixel positions in the texture memory 13a. The vertex coordinate conversion function is a function of converting the input vertex coordinates of each polygon according to a set matrix and outputting the converted coordinates as pixel positions in the frame buffer 13b.
Most of the graphics accelerators and graphics workstations (WS) currently available on the market for personal computers (PCs) provide the above three functions.
[0015]
In the method of the present invention, in order to perform image distortion correction, as preparatory processing, the following three types of parameters are set in advance: an observation condition parameter (viewing frustum), a projection condition parameter (projection frustum), and a screen. The shape is recorded in the external storage device. Next, the preparation process will be described in detail.
The frustum is a concept generally used to express perspective transformation, and as shown in FIG. 3, l (left), r (right), b (bottom), t with respect to a vertex (Apex) 30 (Top), n (near), and f (far) are determined.
[0016]
The designation of the viewing frustum / projection frustum in the preparation processing is performed by any of the following methods.
1) Specify l, r, b, t, n, and f directly.
2) Specify l, r, b, and t indirectly by the viewing angle / angle of view, the aspect ratio, and n and f.
However, when an asymmetrical frustum is specified in the left, right, up, and down directions, it is necessary to use the method 1).
The screen shape can be expressed as a polygon mesh by any method, for example, using CAD data at the time of screen design, using a three-dimensional shape scanner, or the like. In the preparation processing, a vertex array constituting the polygon mesh is designated as a parameter.
All parameters specified in the preparation process need to share information of the position of the origin, the coordinate system (the direction of each of the XYZ axes and the positive and negative directions of rotation), and the unit system (meters, radians, etc.).
[0017]
Subsequently, the details of the processing at the time of projection will be described with reference to FIGS. FIG. 4 is a flowchart of a projection process, and FIG. 5 is a conceptual diagram illustrating texture coordinate conversion and vertex coordinate conversion by the graphics accelerator.
In the process at the time of projection, the corrected image is stored in the frame buffer by performing the following process using the recorded parameters described above. Then, the corrected image stored in the frame buffer is output to the projector as a video signal. In the process at the time of projection, first,
1) In S41, the input original image is transferred to and stored in the texture memory 13a.
To store the original image in the texture memory, the following several methods can be adopted. That is, a method of transferring an image input by the video capture 14 to the texture memory 13a. A method of copying an image on the frame buffer 13b to the texture memory 13a. And a method of drawing directly on the texture memory 13a.
2) Next, in S42, texture coordinates are set for each vertex of the screen shape according to the viewing conditions. In the actual processing, as shown in FIG. 5, the matrix Mo of Expression 1 is set in the texture coordinate conversion mechanism 131 of the graphics accelerator 13 described above.
3) In S43, each vertex of the screen shape is subjected to coordinate transformation according to the projection condition. In the actual processing, as shown in FIG. 5, the matrix Mp of Expression 2 is set in the vertex coordinate conversion mechanism 132 of the graphics accelerator 13.
4) Then, in S44, the screen shape is drawn by inputting the vertex coordinates V of the screen shape to the vertex coordinate conversion mechanism 132 and the texture coordinate conversion mechanism 131.
As a result, as shown in FIG. 5, transfer from the pixel coordinates R of the original image referred to as the texture to the pixel coordinates R ′ of the output image (R → R ′) is performed. This is continuously performed for all vertices of the screen shape, and the screen shape is drawn to obtain a corrected image in the frame buffer 13b. This corrected image is output to the projector or the like in FIG. 2 as a video signal.
It should be noted that values between pixels R ′ in the frame buffer 13b are set to values appropriately interpolated by the graphics accelerator.
[0018]
The program for executing the above-described image distortion correction method has the following contents as a single program incorporated and used as a part of the image projection application program, that is, as a distortion correction software library (hereinafter, correction library). Can be provided.
The correction library has the following features.
The correction library is described in conformity with the ANSI (American National Standard Institute) C / C ++ standard, and can be easily ported to various platforms. The correction library can selectively use either OpenGL or DirectX, which is a widely used platform, as an interface to the graphics accelerator, and supports either of them. A graphics accelerator can be used.
[0019]
The correction library exports the following functions as an application programming interface (API).
1) Initialization function This reads various parameters such as observation conditions, projection conditions, and screen shapes recorded in a file (hereinafter, referred to as a setting file) on a file system including a hard disk in a preparation process. An execution environment necessary for the distortion correction processing is prepared.
2) Image transfer function to texture memory This function transfers the original image developed on the main memory 14 or the original image on the frame buffer 13b to the texture memory 13a.
3) Distortion correction execution function This sets the texture coordinate conversion mechanism 41 and the vertex coordinate conversion mechanism 42 of the graphics accelerator 13 as appropriate and draws a screen shape to obtain a corrected image on the frame buffer 13b. Things.
4) Termination function This is to release the various system resources (main memory area, texture memory area, etc.) secured by the initialization function and end the video distortion correction processing.
[0020]
The above-described correction library can be used by being incorporated into various user programs that require image distortion correction processing through the API. As an example, the case of incorporating and using the following three types of user programs will be described separately.
[0021]
1) In the case of a still image display program This program is a program for reading an image file recorded on a hard disk or the like, drawing the image file (that is, transferring it to a frame buffer), and outputting a video. To incorporate the image distortion correction function into such a program, a correction library is used as shown in FIG.
This program reads a setting file by calling an initialization function of a correction library in S61, creates matrices Mo and Mp of Expressions 1 and 2 and stores them in a main memory, and stores an original image. Allocate necessary texture memory area.
In S62, the target image file is specified by an arbitrary method, and the image data is expanded in the main memory.
In step S63, the image data expanded in the main memory is transferred to the texture memory by calling the image transfer function of the correction library.
In step S64, a corrected image is obtained in the frame buffer by calling the distortion correction execution function of the correction library.
At the end of the program in S65, the end function of the correction library is called in S66 to release various system resources secured by the initialization function, and the process ends.
[0022]
2) In the case of a moving image display program This program is a program for continuously reading and drawing image data one frame at a time from a moving image file recorded on a hard disk or the like, and outputting a moving image as a video. To incorporate a video distortion correction function into such a program, a correction library is used as shown in FIG. That is,
This program is necessary for reading the setting file by calling the initialization function of the correction library in S71, creating the matrices Mo and Mp of Expressions 1 and 2 and storing them in the main memory, and storing the original image. Secure a secure texture memory area.
In S72, the target moving image file is specified by an arbitrary method, and a handle to the data stream is obtained (that is, opened).
In S73, one frame of image data is read from the data stream and expanded in the main memory.
In S74, the image data expanded in the main memory is transferred to the texture memory by calling the image transfer function of the correction library.
In S75, a corrected image is obtained in the frame buffer by calling the distortion correction execution function of the correction library.
When the processing of the last frame is completed in S76, the data stream of the moving image file is released (that is, closed) in S77.
In S78, when the program ends, in S79, the end function of the correction library is called to release various system resources secured by the initialization function, and the process ends.
[0023]
3) In the case of a real-time CG program This program is a kind of program that draws scenes that change dynamically due to an event such as a user's input frame by frame. To incorporate the image distortion correction function into such a program, a correction library is used as shown in FIG.
This program is necessary for reading the setting file by calling the initialization function of the correction library in S81, creating the matrices Mo and Mp of Expressions 1 and 2 and storing them in the main memory, and storing the original image. Secure a secure texture memory area.
In S82, the contents of the scene to be displayed are appropriately changed according to an event such as a keyboard or mouse input.
In S84, the scene is drawn, and an image for one frame is obtained in the frame buffer.
If the program is not completed in S83, the image data in the frame buffer is copied to the texture memory by calling the image transfer function of the correction library in S84. (However, depending on the graphics accelerator, there is a case where it is possible to draw directly on the texture memory. In this case, the process of S85 becomes unnecessary.)
In S86, the corrected image is obtained in the frame buffer by calling the distortion correction execution function of the correction library.
At the end of the program in S83, the end function of the correction library is called in S87 to release various system resources secured by the initialization function, and the process ends.
[0024]
In the above embodiment, S41, S42, S43, and S44 in FIG. 4 are means for transferring an input original image to a texture memory, means for setting texture coordinates at each vertex of a screen shape according to observation conditions, and according to projection conditions. A means for converting the coordinates of each vertex of the screen shape and a means for drawing the screen shape subjected to the coordinate conversion are configured. Further, 131 and 132 in FIG. 5 constitute texture coordinate conversion means for converting texture coordinates based on the setting in S42, and vertex coordinate conversion means for converting coordinates of each vertex of the screen shape based on the setting in S43. .
[0025]
【The invention's effect】
As described above, according to the first aspect of the present invention, the original image is perspective-transformed by calculating using a predetermined formula including viewing conditions, projection conditions, and parameters of the screen shape, and the coordinate system after the perspective transformation is calculated. Converted to the texture coordinate system, and using the texture coordinate system, a corrected image is obtained by the texture mapping function of the graphics accelerator that can perform high-speed processing. It became possible to express various movements.
[0026]
According to the invention of claim 2, as projection processing, the correspondence between the vertex coordinates of the screen shape and the pixel coordinates of the original image referred to as the texture is determined by Expression 1 including the viewing condition parameter, and input. A process of pasting the obtained original image as a texture to a screen shape composed of polygons and a correspondence between each vertex coordinate of the screen shape and a pixel coordinate of the output image are determined by Expression 2 including a tow condition parameter. By performing a two-stage process of drawing the screen shape on which the original image is pasted in the frame buffer, a corrected image is generated, and the corrected image is output to a video projector as a video signal. Regardless of the observation conditions and screen shape, the image projected on the screen is not distorted by the observer. It can be corrected as, moreover, even when the projection condition or viewing conditions are changed, without requiring any change to the hardware, programmatic, can be dealt with only parameter changes.
[0027]
Furthermore, according to the invention of claim 3, it is possible to provide a video correction library which can be used by being incorporated in various user programs.
[Brief description of the drawings]
FIG. 1 is a schematic diagram illustrating a cause of distortion of an image projected on a screen and a principle of the distortion correction.
FIG. 2 is a block diagram schematically showing a configuration of an image projection device that performs an image distortion correction method according to the present invention.
FIG. 3 is an explanatory diagram of viewing condition parameters in perspective transformation.
FIG. 4 is a flowchart of projection processing.
FIG. 5 is a conceptual diagram illustrating texture coordinate conversion and vertex coordinate conversion by a graphics accelerator.
FIG. 6 is a flowchart in the case where the library of the present invention is used by being incorporated into a still image display program.
FIG. 7 is a flowchart in the case of using the library of the present invention incorporated in a moving image display program.
FIG. 8 is a flowchart in the case of using the library of the present invention incorporated in a real-time CG program.

Claims (3)

準備処理として、(a)観察者の位置、視線方向、視野角などにより決定される視錘台、(b)映像プロジェクタの位置、投影方向、画角などにより決定される投影錘台、及び(c)スクリーンの形状の3種のパラメータを記憶部に記録して置き、
投影時の処理として、入力された原画像を前記パラメータを含む所定の計算式により演算して透視変換を行い、かつ、透視変換後の座標系をテクスチャ座標系に変換し、そのテクスチャ座標系を用いてグラフィックス・アクセラレータのテクスチャマッピング機能により補正画像をフレームバッファに描画して、その補正画像を映像信号としてプロジェクタに出力することを特徴とする映像歪み補正方法。
As the preparation processing, (a) a viewing frustum determined by the position, viewing direction, viewing angle, etc. of the observer; (b) a projection frustum determined by the position, projection direction, angle of view, etc. of the video projector; c) The three parameters of the screen shape are recorded and stored in the storage unit,
As a process at the time of projection, the input original image is calculated by a predetermined calculation formula including the parameter to perform perspective transformation, and the coordinate system after the perspective transformation is converted into a texture coordinate system, and the texture coordinate system is converted to a texture coordinate system. An image distortion correction method, comprising drawing a corrected image in a frame buffer using a texture mapping function of a graphics accelerator and outputting the corrected image as a video signal to a projector.
準備処理として、(a)観察者の位置、視線方向、視野角などにより決定される視錘台、(b)映像プロジェクタの位置、投影方向、画角などにより決定される投影錘台、及び(c)スクリーンの形状の3種のパラメータを記憶部に記録して置き、
投影時の処理として、上記パラメータを用いて、次の(d)及び(e)の2段階の処理を行うことによりフレームバッファに補正済み画像を格納し、前記フレームバッファに格納された補正済み画像を、映像信号として映像プロジェクタに出力することを特徴とする映像歪み補正方法。
(d)入力された原画像をテクスチャとしてポリゴンにより構成されるスクリーン形状に対して貼り付ける第1段階の処理。この場合、前記スクリーン形状の各頂点座標とテクスチャとして参照される原画像の画素座標の対応は、前記パラメータ(a)を含む次の行列式(数式1)により決定される。
Figure 2004072553
(e)原画像を貼り付けた前記スクリーン形状を前記フレームバッファに描画する第2段階の処理。この場合、前記スクリーン形状の各頂点座標と出力画像の画素座標の対応は、前記パラメータ(b)を含む次の行列式(数式2)により決定される。
Figure 2004072553
As the preparation processing, (a) a viewing frustum determined by the position, viewing direction, viewing angle, etc. of the observer; (b) a projection frustum determined by the position, projection direction, angle of view, etc. of the video projector; c) The three parameters of the screen shape are recorded and stored in the storage unit,
As a process at the time of projection, the following two steps (d) and (e) are performed using the above parameters to store the corrected image in the frame buffer, and to store the corrected image stored in the frame buffer. , As a video signal, to a video projector.
(D) First-stage processing for pasting the input original image as a texture to a screen shape composed of polygons. In this case, the correspondence between the vertex coordinates of the screen shape and the pixel coordinates of the original image referred to as the texture is determined by the following determinant (formula 1) including the parameter (a).
Figure 2004072553
(E) A second stage process of drawing the screen shape on which the original image has been pasted in the frame buffer. In this case, the correspondence between the vertex coordinates of the screen shape and the pixel coordinates of the output image is determined by the following determinant (Equation 2) including the parameter (b).
Figure 2004072553
スクリーン形状の各頂点座標とテクスチャとして参照される原画像の画素座標との対応を、観察者の位置・視線方向・視野角などにより決定される視錘台を内容とするパラメータを含む次の行列式(数式1)により決定して、入力された原画像をテクスチャとして前記スクリーン形状に対して貼り付けるステップと、
Figure 2004072553
前記スクリーン形状の各頂点座標と出力画像の画素座標との対応を、映像プロジェクタの位置・投影方向・画角などにより決定される投影錘台を内容とするパラメータを含む次の行列式(数式2)により決定して、原画像を貼り付けた前記スクリーン形状をフレームバッファに描画するステップと、
Figure 2004072553
前記フレームバッファに格納された補正済み画像を、映像信号として映像プロジェクタに出力するステップと、
を含むことを特徴とする映像歪み補正方法用プログラム。
The following matrix containing the parameters including the viewing frustum determined by the position, viewing direction, viewing angle, etc. of the observer, corresponding to the coordinates of each vertex of the screen shape and the pixel coordinates of the original image referred to as texture Applying the input original image as a texture to the screen shape, determined by the equation (Equation 1);
Figure 2004072553
The correspondence between the vertex coordinates of the screen shape and the pixel coordinates of the output image is expressed by the following determinant (Equation 2) including a parameter containing a projection frustum determined by the position, projection direction, angle of view, and the like of the video projector. ), And drawing the screen shape on which the original image is pasted in a frame buffer;
Figure 2004072553
Outputting the corrected image stored in the frame buffer to a video projector as a video signal;
A program for an image distortion correction method, comprising:
JP2002230823A 2002-08-08 2002-08-08 Image distortion correction method, and program for the same Pending JP2004072553A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002230823A JP2004072553A (en) 2002-08-08 2002-08-08 Image distortion correction method, and program for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002230823A JP2004072553A (en) 2002-08-08 2002-08-08 Image distortion correction method, and program for the same

Publications (1)

Publication Number Publication Date
JP2004072553A true JP2004072553A (en) 2004-03-04

Family

ID=32016766

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002230823A Pending JP2004072553A (en) 2002-08-08 2002-08-08 Image distortion correction method, and program for the same

Country Status (1)

Country Link
JP (1) JP2004072553A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007028273A (en) * 2005-07-19 2007-02-01 Realviz:Kk Image distortion correcting method and program for the same
JP2007036482A (en) * 2005-07-25 2007-02-08 Nippon Telegr & Teleph Corp <Ntt> Information projection display and program
JPWO2008139577A1 (en) * 2007-05-09 2010-07-29 富士通マイクロエレクトロニクス株式会社 Image processing apparatus, imaging apparatus, and image distortion correction method
JP2010250560A (en) * 2009-04-15 2010-11-04 Canon Inc Image processing apparatus and method thereof
JP2012530941A (en) * 2009-06-18 2012-12-06 スケーラブル ディスプレイ テクノロジーズ インコーポレイテッド System and method for injection of mapping function
US8411998B2 (en) 2008-07-17 2013-04-02 Aptina Imaging Corporation Method and apparatus providing perspective correction and/or image dewarping
EP2246610A4 (en) * 2008-02-22 2014-07-02 Panasonic Corp Light projection device and illumination device
WO2020152754A1 (en) * 2019-01-21 2020-07-30 株式会社ソニー・インタラクティブエンタテインメント Image generation device and image generation method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001320652A (en) * 2000-05-11 2001-11-16 Nec Corp Projector

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001320652A (en) * 2000-05-11 2001-11-16 Nec Corp Projector

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
FSAA WITH BLUR EFFECTS, JPN4007008503, ISSN: 0000845995 *
OPENGL ARCHITECTURE REVIEW BOARD著,株式会社システムソフトエンジニアリング訳, OPENGL(TM) PROGRAMMING GUIDE, JPN4007008171, 20 December 1993 (1993-12-20), JP, pages 90 - 94, ISSN: 0000845994 *
OPENGL ARCHITECTURE REVIEW BOARD著,株式会社システムソフトエンジニアリング訳, OPENGL(TM) PROGRAMMING GUIDE, JPNX007050252, 20 December 1993 (1993-12-20), JP, pages 90 - 94, ISSN: 0000893419 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007028273A (en) * 2005-07-19 2007-02-01 Realviz:Kk Image distortion correcting method and program for the same
JP2007036482A (en) * 2005-07-25 2007-02-08 Nippon Telegr & Teleph Corp <Ntt> Information projection display and program
JPWO2008139577A1 (en) * 2007-05-09 2010-07-29 富士通マイクロエレクトロニクス株式会社 Image processing apparatus, imaging apparatus, and image distortion correction method
JP4657367B2 (en) * 2007-05-09 2011-03-23 富士通セミコンダクター株式会社 Image processing apparatus, imaging apparatus, and image distortion correction method
US8228396B2 (en) 2007-05-09 2012-07-24 Fujitsu Semiconductor Limited Image processing apparatus, image capturing apparatus, and image distortion correction method
EP2246610A4 (en) * 2008-02-22 2014-07-02 Panasonic Corp Light projection device and illumination device
US8411998B2 (en) 2008-07-17 2013-04-02 Aptina Imaging Corporation Method and apparatus providing perspective correction and/or image dewarping
JP2010250560A (en) * 2009-04-15 2010-11-04 Canon Inc Image processing apparatus and method thereof
JP2012530941A (en) * 2009-06-18 2012-12-06 スケーラブル ディスプレイ テクノロジーズ インコーポレイテッド System and method for injection of mapping function
US10319137B2 (en) 2009-06-18 2019-06-11 Scalable Display Technologies, Inc. System and method for injection of mapping functions
WO2020152754A1 (en) * 2019-01-21 2020-07-30 株式会社ソニー・インタラクティブエンタテインメント Image generation device and image generation method
US11544822B2 (en) 2019-01-21 2023-01-03 Sony Interactive Entertainment Inc. Image generation apparatus and image generation method

Similar Documents

Publication Publication Date Title
US8115767B2 (en) Computer graphics shadow volumes using hierarchical occlusion culling
CN110969685B (en) Customizable rendering pipeline using rendering graphs
US4600919A (en) Three dimensional animation
US6700586B1 (en) Low cost graphics with stitching processing hardware support for skeletal animation
JP2022528432A (en) Hybrid rendering
CN109151540B (en) Interactive processing method and device for video image
US20100060652A1 (en) Graphics rendering system
TW200844897A (en) Processor with adaptive multi-shader
JP2011170881A (en) Method and apparatus for using general three-dimensional (3d) graphics pipeline for cost effective digital image and video editing
JP7483301B2 (en) Image processing and image synthesis method, device, and computer program
US11120591B2 (en) Variable rasterization rate
JP4468631B2 (en) Texture generation method and apparatus for 3D face model
JP2009251858A (en) Image conversion program and image conversion device
EP1031946A2 (en) Recording medium,Image processing method and unit with integrated shaping model data
JP2004072553A (en) Image distortion correction method, and program for the same
JP2006350852A (en) Image generation system
US9275487B1 (en) System and method for performing non-affine deformations
JP5302763B2 (en) Image processing apparatus and image processing method
JP2004178036A (en) Device for presenting virtual space accompanied by remote person&#39;s picture
JP2002092625A (en) Image processor, its method, and storage medium
US10134199B2 (en) Rigging for non-rigid structures
US7477253B2 (en) Storage medium storing animation image generating program
JP4244352B2 (en) Image generating apparatus, image generating method, and program
JP2007028273A (en) Image distortion correcting method and program for the same
US20230196702A1 (en) Object Deformation with Bindings and Deformers Interpolated from Key Poses

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20040120

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070508

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070911