JP3151079B2 - アニメーションのエイリアシング除去方法 - Google Patents
アニメーションのエイリアシング除去方法Info
- Publication number
- JP3151079B2 JP3151079B2 JP07807093A JP7807093A JP3151079B2 JP 3151079 B2 JP3151079 B2 JP 3151079B2 JP 07807093 A JP07807093 A JP 07807093A JP 7807093 A JP7807093 A JP 7807093A JP 3151079 B2 JP3151079 B2 JP 3151079B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- animation
- frame
- aliasing
- filtering
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/80—2D [Two Dimensional] animation, e.g. using sprites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/12—Indexing scheme for image data processing or generation, in general involving antialiasing
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Description
【0001】
【産業上の利用分野】本発明は、コンピュータグラフィ
ックなどの分野において、計算機上で作成されたアニメ
ーションにおけるエイリアシングを除去する方法に関す
るものである。
ックなどの分野において、計算機上で作成されたアニメ
ーションにおけるエイリアシングを除去する方法に関す
るものである。
【0002】
【従来の技術】計算機上で標本化により時系列のアニメ
ーション画像を作成する場合、いわゆるエイリアシング
(標本化歪)が発生する。従来、この種のエイリアシン
グを除去する方法としては、スーパーサンプリング手法
が最も広く使用されている(例えば、Computer Graph
ics-Principles and Practice-,J.Foley,A,van
Dam,S.Feiner,J.Hughes,Addison-Wesley Pu
blishing Company,1989.以下、文献1と記す)。こ
の方法は、1画素当りの標本化数を2以上にすることに
より、エイリアシングの軽減を図るというものである。
また、さらに効果を向上させるために、例えば文献1に
も記載されているように、ストカスティックサンプリン
グ手法を併用することもある。この方法は、標本点の位
置を乱数などを用いて小量だけ規則的な位置から変化さ
せるため、規則性から発生するモアレ状のエイリアシン
グを軽減することができる。
ーション画像を作成する場合、いわゆるエイリアシング
(標本化歪)が発生する。従来、この種のエイリアシン
グを除去する方法としては、スーパーサンプリング手法
が最も広く使用されている(例えば、Computer Graph
ics-Principles and Practice-,J.Foley,A,van
Dam,S.Feiner,J.Hughes,Addison-Wesley Pu
blishing Company,1989.以下、文献1と記す)。こ
の方法は、1画素当りの標本化数を2以上にすることに
より、エイリアシングの軽減を図るというものである。
また、さらに効果を向上させるために、例えば文献1に
も記載されているように、ストカスティックサンプリン
グ手法を併用することもある。この方法は、標本点の位
置を乱数などを用いて小量だけ規則的な位置から変化さ
せるため、規則性から発生するモアレ状のエイリアシン
グを軽減することができる。
【0003】
【発明が解決しようとする課題】上記従来のエイリアシ
ング除去方法は、1画素当りの標本数を増大させればさ
せるほど効果があがるが、計算時間も標本数に比例して
増加するため、高速化の点で問題があった。
ング除去方法は、1画素当りの標本数を増大させればさ
せるほど効果があがるが、計算時間も標本数に比例して
増加するため、高速化の点で問題があった。
【0004】本発明の目的は、計算機上で作成されるア
ニメーションについて、標本数を増大させることなく、
スーパーサンプリング手法と同等のエイリアシング除去
効果を高速に実現する手法を提供することにある。
ニメーションについて、標本数を増大させることなく、
スーパーサンプリング手法と同等のエイリアシング除去
効果を高速に実現する手法を提供することにある。
【0005】
【課題を解決するための手段】上記目的を達成するため
に、請求項1の発明は、アニメーション生成時に使用し
た物体・視点等の運動の情報を利用して物体上の点の画
像面上での像点の動きを計算し、該算出した像点の動き
に基づいて時空間フィルタリングを行うようにしたこと
である。
に、請求項1の発明は、アニメーション生成時に使用し
た物体・視点等の運動の情報を利用して物体上の点の画
像面上での像点の動きを計算し、該算出した像点の動き
に基づいて時空間フィルタリングを行うようにしたこと
である。
【0006】また、請求項2の発明は、標本化によりア
ニメーションの画像を生成する際に、アニメーションの
各フレームにおける標本点の位置を少量変化させ、これ
により作成されたアニメーションに対し、時空間フィル
タリングを施すようにしたことである。
ニメーションの画像を生成する際に、アニメーションの
各フレームにおける標本点の位置を少量変化させ、これ
により作成されたアニメーションに対し、時空間フィル
タリングを施すようにしたことである。
【0007】
【作用】本発明では、アニメーション作成時に使用した
物体・視点などの運動のデータを用いて物体上の点の画
像面上での動きを算出し、この算出した動きに基づいて
時空間フィルタリング処理を行うため、見掛け上、標本
点の位置を変えて1画素当りの標本点数を増加させたの
と等価となり、スーパーサンプリング手法と同等のエイ
リアシング除去効果を高速に実現できる。また、標本化
によりアニメーションの画像を生成する際に、アニメー
ションの各フレームにおける標本点の位置を少量変化さ
せ、これにより作成されたアニメーションに対し、時空
間フィルタリングを施すことにより、画面座標系に対し
静止している物体についてもエイリアシング除去が可能
になる。
物体・視点などの運動のデータを用いて物体上の点の画
像面上での動きを算出し、この算出した動きに基づいて
時空間フィルタリング処理を行うため、見掛け上、標本
点の位置を変えて1画素当りの標本点数を増加させたの
と等価となり、スーパーサンプリング手法と同等のエイ
リアシング除去効果を高速に実現できる。また、標本化
によりアニメーションの画像を生成する際に、アニメー
ションの各フレームにおける標本点の位置を少量変化さ
せ、これにより作成されたアニメーションに対し、時空
間フィルタリングを施すことにより、画面座標系に対し
静止している物体についてもエイリアシング除去が可能
になる。
【0008】
【実施例】初めに、本発明の原理を説明する。時刻tに
おいて画像面上の位置(x,y)に投影されていた点
が、時刻t´に(x´,y´)に移動したとき、この関
係を関数s1,s2を用いて、 x´=s1(t´;x,y,t) y´=s2(t´;x,y,t) と表す。
おいて画像面上の位置(x,y)に投影されていた点
が、時刻t´に(x´,y´)に移動したとき、この関
係を関数s1,s2を用いて、 x´=s1(t´;x,y,t) y´=s2(t´;x,y,t) と表す。
【0009】このとき、時刻t0における画像がf0
(x,y)であったとすると、時刻tにおける画像f
(x,y;t)は、 f(x,y;t)=f0(s1(t0;x,y,t),s2(t0;x,y,t)) (式1) と表される。画像fの時空間フーリエ変換F(ξ,η,
ω)およびf0の空間フーリエ変換F0(ξ,η)は F0(ξ,η)=∫f0(x,y)exp(iξx+iηy)dx dy F(ξ,η,ω)=∫∬f(x,y;t)exp(i(ξx+ηy+ωt))dx dy dt =∫∬f0(s1(t0;x,y,t),s2(t0;x,y,t)) exp(i(ξx+ηy+ωt))dx dy dt である。ただし、iは虚数単位である。
(x,y)であったとすると、時刻tにおける画像f
(x,y;t)は、 f(x,y;t)=f0(s1(t0;x,y,t),s2(t0;x,y,t)) (式1) と表される。画像fの時空間フーリエ変換F(ξ,η,
ω)およびf0の空間フーリエ変換F0(ξ,η)は F0(ξ,η)=∫f0(x,y)exp(iξx+iηy)dx dy F(ξ,η,ω)=∫∬f(x,y;t)exp(i(ξx+ηy+ωt))dx dy dt =∫∬f0(s1(t0;x,y,t),s2(t0;x,y,t)) exp(i(ξx+ηy+ωt))dx dy dt である。ただし、iは虚数単位である。
【0010】標本化定理の教えるところによると、エイ
リアシングパターンのフーリエ変換は、 Fl,m,n(ξ,η,ω)=F(ξ+lΞ,η+mΕ,ω+nΩ) となる。ただし、l,m,nは任意の整数で、少なくと
も1つは0でない。また、Ξ,Ε,Ωはそれぞれ、X方
向、Y方向、時間に関する標本化角周波数である。
リアシングパターンのフーリエ変換は、 Fl,m,n(ξ,η,ω)=F(ξ+lΞ,η+mΕ,ω+nΩ) となる。ただし、l,m,nは任意の整数で、少なくと
も1つは0でない。また、Ξ,Ε,Ωはそれぞれ、X方
向、Y方向、時間に関する標本化角周波数である。
【0011】ここで、画像の動きsにもとづくフィル
タ、例えば、 g(x,y,t;x0,y0,t0)= δ(s1(t0;x0,y0,t0)−x0+x, s2(t0−t;x0,y0,t0)−y0+y) (式2) を核として用いた、線形スペースバリアントフィルタリ
ング、 ∫∬f(x0−x,y0−y,t0−t)g(x,y,t;x0,y0,t0)dx dy dt =h(x0,y0) (式3) を考えてみる。
タ、例えば、 g(x,y,t;x0,y0,t0)= δ(s1(t0;x0,y0,t0)−x0+x, s2(t0−t;x0,y0,t0)−y0+y) (式2) を核として用いた、線形スペースバリアントフィルタリ
ング、 ∫∬f(x0−x,y0−y,t0−t)g(x,y,t;x0,y0,t0)dx dy dt =h(x0,y0) (式3) を考えてみる。
【0012】この線形スペースバリアントフィルタリン
グを、長さTのアニメーション画像、すなわち、 f(x,y,z)≡0 if t<0 or t>T に適用すると、式3は、式2の核gのフーリエ変換Gを
用いることにより、 となる。したがって、元信号f0が該フィルタリングで
再現されることが示される。
グを、長さTのアニメーション画像、すなわち、 f(x,y,z)≡0 if t<0 or t>T に適用すると、式3は、式2の核gのフーリエ変換Gを
用いることにより、 となる。したがって、元信号f0が該フィルタリングで
再現されることが示される。
【0013】他方、エイリアシングパターンは、 hl,m,n(x0,y0)=(1/2π)3∫∬Fl,m,n・G exp(-i(ξx0+ηy0+ωt0)dξsηdω =f0(x0,y0)Kl,m(nΩ) (式4) と計算される。ただし、Kl,m(ω)は関数 kl,m(t;x0,y0,t0)=exp(i(lΞs1(t;x0,y0,t0) +mΕs2(t;x0,y0,t0)) のフーリエ変換である。したがって、Kl,mがnΩで
有限の値を取れば、Tを無限大とした極限で lim hl,m,n/h0=0 T->∞ となり、エイリアシングが除去される。
有限の値を取れば、Tを無限大とした極限で lim hl,m,n/h0=0 T->∞ となり、エイリアシングが除去される。
【0014】実際の処理では、無限積分(式3)は実行
できないので、0を含む有限区間でのみ0でない値をと
る適当な窓関数w(x,y,t)を重み関数として用
い、 ∫∬f(x0−x,y0−y,t0−t)g(x,y,t;x0,y0,t0) w(x,y,t)dx dy dt =h(x0,y0) (式5) なる積分を離散的に計算することになる。
できないので、0を含む有限区間でのみ0でない値をと
る適当な窓関数w(x,y,t)を重み関数として用
い、 ∫∬f(x0−x,y0−y,t0−t)g(x,y,t;x0,y0,t0) w(x,y,t)dx dy dt =h(x0,y0) (式5) なる積分を離散的に計算することになる。
【0015】次に、本発明の一実施例について説明す
る。図1は本発明の一実施例の全体処理フロー図であ
る。図1において、変数it0は処理中の画像のフレーム
番号、変数it_endは処理すべき画像の最終フレー
ム番号である。
る。図1は本発明の一実施例の全体処理フロー図であ
る。図1において、変数it0は処理中の画像のフレーム
番号、変数it_endは処理すべき画像の最終フレー
ム番号である。
【0016】処理10ではアニメーション画像の生成処
理を行い、生成したアニメーション画像データ20をフ
ァイルを出力する。その後、アニメーション画像データ
20にもとづいて、処理30〜50を全てのフレームに
ついて行うことにより、エイリアシング除去の処理が完
了する。
理を行い、生成したアニメーション画像データ20をフ
ァイルを出力する。その後、アニメーション画像データ
20にもとづいて、処理30〜50を全てのフレームに
ついて行うことにより、エイリアシング除去の処理が完
了する。
【0017】処理30では処理中の画像でサンプルされ
た物体の像点に関するフィルタリング処理を行い(これ
をフィルタリング処理(1)と称す)、処理40では処
理中の画像においてサンプルし得なかった物体の像点に
関するフィルタリング処理(これをフィルタリング処理
(2)と称す)を行う。処理50では出力画像の色を決
定する。以下、各処理について詳述する。
た物体の像点に関するフィルタリング処理を行い(これ
をフィルタリング処理(1)と称す)、処理40では処
理中の画像においてサンプルし得なかった物体の像点に
関するフィルタリング処理(これをフィルタリング処理
(2)と称す)を行う。処理50では出力画像の色を決
定する。以下、各処理について詳述する。
【0018】<アニメーション画像生成処理>アニメー
ション画像生成処理は例えば図2に示す処理フローによ
り実現される。
ション画像生成処理は例えば図2に示す処理フローによ
り実現される。
【0019】図2において、処理100では対象とする
アニメーション画像生成用データを入力する。この入力
データには、物体の形状、質感、運動、視点などの情報
が含まれる。その後、フレーム毎に処理110〜140
を繰り返し実行する。
アニメーション画像生成用データを入力する。この入力
データには、物体の形状、質感、運動、視点などの情報
が含まれる。その後、フレーム毎に処理110〜140
を繰り返し実行する。
【0020】処理110はサンプル点の変位の決定処理
であり、乱数等を用いて、フレーム毎にサンプル点の画
素中心からの変位を決定する。これにより、図3に示す
ように、画像のサンプル点の位置がフレームごとに異な
るようになる。図3は、例えばフレーム1と次のフレー
ム2とで、サンプル点の位置(×印)が(a)の状態か
ら(b)の状態に変化することを示している。
であり、乱数等を用いて、フレーム毎にサンプル点の画
素中心からの変位を決定する。これにより、図3に示す
ように、画像のサンプル点の位置がフレームごとに異な
るようになる。図3は、例えばフレーム1と次のフレー
ム2とで、サンプル点の位置(×印)が(a)の状態か
ら(b)の状態に変化することを示している。
【0021】処理120は、サンプリングによる画像生
成列理であり、処理110で決定されたサンプリングの
変位に基づき、既知の手法、例えばz−buffer
法、光線追跡法(例えば文献1)などにより、フレーム
ごとの画像を生成する。
成列理であり、処理110で決定されたサンプリングの
変位に基づき、既知の手法、例えばz−buffer
法、光線追跡法(例えば文献1)などにより、フレーム
ごとの画像を生成する。
【0022】処理130はファイル等にアニメーション
画像データ20を出力する処理である。この出力データ
は、アニメーションの情報および処理120により得ら
れた画像等の情報からなる。アニメーションの情報とし
ては、各フレームにおける情景中の各物体の視点に対す
る相対的な位置・方向を出力する。これは、例えば、物
体空間から画像空間への変換行列T(A,it0)で記
述することができる。ただし、Aは物体識別番号、it
0はフレームの番号である。なお、行列Tは処理110
で決定したサンプル点の変位を含めて表現しておく。ま
た、処理120から与えられる画像情報としては、各画
素に対する色rgb(ix,iy,it)、奥行き値z
(ix,iy,it)、サンプルされた物体の識別番号
id(ix,iy,it)などである。
画像データ20を出力する処理である。この出力データ
は、アニメーションの情報および処理120により得ら
れた画像等の情報からなる。アニメーションの情報とし
ては、各フレームにおける情景中の各物体の視点に対す
る相対的な位置・方向を出力する。これは、例えば、物
体空間から画像空間への変換行列T(A,it0)で記
述することができる。ただし、Aは物体識別番号、it
0はフレームの番号である。なお、行列Tは処理110
で決定したサンプル点の変位を含めて表現しておく。ま
た、処理120から与えられる画像情報としては、各画
素に対する色rgb(ix,iy,it)、奥行き値z
(ix,iy,it)、サンプルされた物体の識別番号
id(ix,iy,it)などである。
【0023】処理140はI入力データ中の運動の情報
を用いて、物体、視点等の位置、方向を更新する処理で
ある。
を用いて、物体、視点等の位置、方向を更新する処理で
ある。
【0024】<フィルタリング処理(1)>フィルタリ
ング処理(1)は、処理中のフレームit0においてサ
ンプルされた物体に関する時空間フィルタリングを行う
もので、例えば図4のような処理フローにより者現され
る。図4において、変数it1,it2はフィルタ処理
を行う範囲であり、変数ix,iyは画素の位置、定数
nx,nyは画像のx方向およびy方向の大きさ、変数
itはフレーム番号を示す。
ング処理(1)は、処理中のフレームit0においてサ
ンプルされた物体に関する時空間フィルタリングを行う
もので、例えば図4のような処理フローにより者現され
る。図4において、変数it1,it2はフィルタ処理
を行う範囲であり、変数ix,iyは画素の位置、定数
nx,nyは画像のx方向およびy方向の大きさ、変数
itはフレーム番号を示す。
【0025】処理310は作業データの初期化処理であ
る。作業データは、図5に示すように、フレームの各画
素(ix,iy)に対し、処理ごとに、色データrgb
0(ix,iy)、奥行きデータz0(ix,iy)、
寄与率a(ix,iy)、物体の識別番号id(ix,
iy)、ポインタnext(ix,iy)が、ポインタ
nextによりリスト構造を形成するものである。初期
化処理では、フレームのすべての画素(ix,iy)に
対し、 rgb0(ix,iy)=0 z0(ix,iy)=zmax a(ix,iy)=0 next(ix,iy)=NULL とする。ここで、定数zmaxは奥行き値として許容さ
れる最大値であり、例えば24ビットの符号無し整数の
場合、223−1である。また、定数NULLはリスト構
造の終端を示す定数である。
る。作業データは、図5に示すように、フレームの各画
素(ix,iy)に対し、処理ごとに、色データrgb
0(ix,iy)、奥行きデータz0(ix,iy)、
寄与率a(ix,iy)、物体の識別番号id(ix,
iy)、ポインタnext(ix,iy)が、ポインタ
nextによりリスト構造を形成するものである。初期
化処理では、フレームのすべての画素(ix,iy)に
対し、 rgb0(ix,iy)=0 z0(ix,iy)=zmax a(ix,iy)=0 next(ix,iy)=NULL とする。ここで、定数zmaxは奥行き値として許容さ
れる最大値であり、例えば24ビットの符号無し整数の
場合、223−1である。また、定数NULLはリスト構
造の終端を示す定数である。
【0026】処理320は、フィルタ領域(it1,i
t2)を決定する処理であり、例えば、あらかじめ指定
されたフィルタ範囲の長さntを用いて、 it1=max(0,it0−nt/2) it2=min(it1+nt−1,it_end) と決定する。以下、画素(ix,iy)に対し、フィル
タ範囲it1からit2までのすべてのフレームについ
て処理330〜350を繰り返す。
t2)を決定する処理であり、例えば、あらかじめ指定
されたフィルタ範囲の長さntを用いて、 it1=max(0,it0−nt/2) it2=min(it1+nt−1,it_end) と決定する。以下、画素(ix,iy)に対し、フィル
タ範囲it1からit2までのすべてのフレームについ
て処理330〜350を繰り返す。
【0027】処理330は、像の動き、すなわち、式1
におけるs1,s2を計算する処理であり、アニメーシ
ョン情報と物体識別番号の情報により、 (x1,y1,z1,w1)= (ix,iy,z(ix,iy,it0),1) T-1(id(ix,iy,it0),it0) T(id(ix,iy,it0),it) s1= rint(x1/w1) s2= rint(y1/w1) z1=z1/w1 (式6) と求められる。ただし、T-1はTの逆行列であり、関数
rint(a)は実数aに最も近い整数を帰す関数であ
る。
におけるs1,s2を計算する処理であり、アニメーシ
ョン情報と物体識別番号の情報により、 (x1,y1,z1,w1)= (ix,iy,z(ix,iy,it0),1) T-1(id(ix,iy,it0),it0) T(id(ix,iy,it0),it) s1= rint(x1/w1) s2= rint(y1/w1) z1=z1/w1 (式6) と求められる。ただし、T-1はTの逆行列であり、関数
rint(a)は実数aに最も近い整数を帰す関数であ
る。
【0028】判定処理340では、隠れ面等の原因によ
り式1に示されるような連続的な動きが満たされない場
合を検出し、その場合には加算から除外する処理であ
る。この判定は、例えば、(s1,s2)で示される画
素においてサンプルされた物体の像点が、フレームit
0で画素(ix,iy)に移動するか否かを判定するこ
とにより実現でき、 (x,y,z,w)= (s1,s2,z(s1,s2,it),1) T-1(id(s1,s2,it),it) T(id(s1,s2,it),it0) z0′=z/w x0′=rint(x/w) y0′=rint(y/w) に対し、等式 x0′=ix y0′=iy が成立すれば、式1が成立する判定できる。
り式1に示されるような連続的な動きが満たされない場
合を検出し、その場合には加算から除外する処理であ
る。この判定は、例えば、(s1,s2)で示される画
素においてサンプルされた物体の像点が、フレームit
0で画素(ix,iy)に移動するか否かを判定するこ
とにより実現でき、 (x,y,z,w)= (s1,s2,z(s1,s2,it),1) T-1(id(s1,s2,it),it) T(id(s1,s2,it),it0) z0′=z/w x0′=rint(x/w) y0′=rint(y/w) に対し、等式 x0′=ix y0′=iy が成立すれば、式1が成立する判定できる。
【0029】処理350は、処理340において式1が
成立すると判定されたとき、式5の離散的評価である重
みつき加算処理を行う。この処理は例えば、 rgb0(ix,iy)= rgb0(ix,iy)+rgb(s1,s2,it)*W W0=W0+W a0(ix,iy)=a0+1 id0(ix,iy)=id(s1,s2) if z0′<z0(ix,iy) id0(ix,iy) otherwise z0(ix,iy)=min(z0(ix,iy),z0′) 等により行われる。ただし、Wは式5における重み関数
であり、例えばW≡1とすれば、ボックスフィルタとな
る。また、z0′は処理340で得られたものである。
処理340で式1が不成立と判定されたときは、処理3
50を飛ばす。
成立すると判定されたとき、式5の離散的評価である重
みつき加算処理を行う。この処理は例えば、 rgb0(ix,iy)= rgb0(ix,iy)+rgb(s1,s2,it)*W W0=W0+W a0(ix,iy)=a0+1 id0(ix,iy)=id(s1,s2) if z0′<z0(ix,iy) id0(ix,iy) otherwise z0(ix,iy)=min(z0(ix,iy),z0′) 等により行われる。ただし、Wは式5における重み関数
であり、例えばW≡1とすれば、ボックスフィルタとな
る。また、z0′は処理340で得られたものである。
処理340で式1が不成立と判定されたときは、処理3
50を飛ばす。
【0030】画素(ix,iy)に対し、フィルタ処理
範囲it1からit2までのすべてのフレームについて
処理330から350が実行されたなら、正規化処理3
60を行う。処理360では、画素(ix,iy)につ
いて、 rgb0(ix,iy)=rgb0(ix,iy)/W0 a0(ix,iy)=a0(ix,iy)/(it2−it1+1) なる正規化処理を行う。この正規化データを作業データ
のリストに格納する。
範囲it1からit2までのすべてのフレームについて
処理330から350が実行されたなら、正規化処理3
60を行う。処理360では、画素(ix,iy)につ
いて、 rgb0(ix,iy)=rgb0(ix,iy)/W0 a0(ix,iy)=a0(ix,iy)/(it2−it1+1) なる正規化処理を行う。この正規化データを作業データ
のリストに格納する。
【0031】以上の処理330から360を、処理中の
クレームit0の全ての画素(ix,iy)について行
う。
クレームit0の全ての画素(ix,iy)について行
う。
【0032】<フィルタリング(2)>フィルタリング
処理(2)は、処理中のフレームit0においてサンプ
ルし得なかった物体に関する時空間フィルタリングを行
うもので、例えば図6のような処理フローで実現され
る。図6において、変数it1,it2はフィルタ処理
を行う範囲であり、変数ix,iyは画素の位置、定数
nx,nyは画像のx方向およびy方向の大きさ、変数
itはフレーム番号を示す。
処理(2)は、処理中のフレームit0においてサンプ
ルし得なかった物体に関する時空間フィルタリングを行
うもので、例えば図6のような処理フローで実現され
る。図6において、変数it1,it2はフィルタ処理
を行う範囲であり、変数ix,iyは画素の位置、定数
nx,nyは画像のx方向およびy方向の大きさ、変数
itはフレーム番号を示す。
【0033】このフィルタリング処理(2)では、フレ
ームit0を除くすべてのフィルタ処理範囲内のフレー
ムitに対し、すべての画素について処理410〜44
0を実行する。
ームit0を除くすべてのフィルタ処理範囲内のフレー
ムitに対し、すべての画素について処理410〜44
0を実行する。
【0034】処理410は、フレームitにおいて画素
(ix,iy)でサンプルされた像点のフレームit0
における画素(ix′,iy′)を求める処理であり、
図4の処理430と同様に、 (x1,y1,z1,w1)=(ix,iy,z(ix,iy,it),1) T-1(id(ix,iy,it),it) T(id(ix,iy,it),it0) x′=x1/w1 y′=y1/w1 ix′= rint(x′) iy′= rint(y′) (式7) と計算する。
(ix,iy)でサンプルされた像点のフレームit0
における画素(ix′,iy′)を求める処理であり、
図4の処理430と同様に、 (x1,y1,z1,w1)=(ix,iy,z(ix,iy,it),1) T-1(id(ix,iy,it),it) T(id(ix,iy,it),it0) x′=x1/w1 y′=y1/w1 ix′= rint(x′) iy′= rint(y′) (式7) と計算する。
【0035】判定処理420は、画素(ix′,i
y′)に対して作業データ内に格納されているフィルタ
結果のリストにおいて、フレームitにおける画素(i
x,iy)と式1の関係を満たすものがあるか否かを判
定する処理であり、図4の処理340と同様の処理を、
リスト内に保持されているz値zjおよび物体識別番号
idjの組すべてに対し施す。すなわち、 (x,y,z,w)=(ix′,iy′,zj,1)T-1(idj,it0) T(idj,it) xj′=x/w yj′=y/w を求め、不等式 |xj′−ix|<0.5 |yj′−iy|<0.5 が成立するか否か調べる。等式が成立するzjおよびi
djの組が存在しなければ、フレームitにおける画素
(ix,iy)においてサンプルされた像点が、フレー
ムit0において画素(ix′,iy′)に存在し、か
つサンプルされなかったと判断し、この物体に関するフ
ィルタリング処理430を行う。
y′)に対して作業データ内に格納されているフィルタ
結果のリストにおいて、フレームitにおける画素(i
x,iy)と式1の関係を満たすものがあるか否かを判
定する処理であり、図4の処理340と同様の処理を、
リスト内に保持されているz値zjおよび物体識別番号
idjの組すべてに対し施す。すなわち、 (x,y,z,w)=(ix′,iy′,zj,1)T-1(idj,it0) T(idj,it) xj′=x/w yj′=y/w を求め、不等式 |xj′−ix|<0.5 |yj′−iy|<0.5 が成立するか否か調べる。等式が成立するzjおよびi
djの組が存在しなければ、フレームitにおける画素
(ix,iy)においてサンプルされた像点が、フレー
ムit0において画素(ix′,iy′)に存在し、か
つサンプルされなかったと判断し、この物体に関するフ
ィルタリング処理430を行う。
【0036】フィルタリング処理430は、図4に示し
たフィルタリング処理(1)と同様の処理であり、以下
のように実行される。すなわち、まず、フィルタ処理範
囲内のフレームit′に対し、 (x1,y1,z1,w1)=(ix,iy,z(ix,iy,it),1) T-1(id(ix,iy,it),it) T(id(ix,iy,it),it′) x1′=x1/w1+(ix′−x′) y1′=y1/w1+(iy′−y′) s1= rint(x1′) s2= rint(y1′) z1=z1/w1 を計算する。ただし、ix′,iy′,x′,y′は処
理410の式7で得られたものであり、itは図6にお
けるものである。ついで、 (x,y,z,w)=(s1,s2,z(s1,s2,it′),1) T-1(id(s1,s2,it′),it′) T(id(s1,s2,it′),it0) z0′=z/w x0′=rint(x/w) y0′=rint(y/w) に対し、等式 y0′=ix′ y0′=iy′ が成立するかを判定する。
たフィルタリング処理(1)と同様の処理であり、以下
のように実行される。すなわち、まず、フィルタ処理範
囲内のフレームit′に対し、 (x1,y1,z1,w1)=(ix,iy,z(ix,iy,it),1) T-1(id(ix,iy,it),it) T(id(ix,iy,it),it′) x1′=x1/w1+(ix′−x′) y1′=y1/w1+(iy′−y′) s1= rint(x1′) s2= rint(y1′) z1=z1/w1 を計算する。ただし、ix′,iy′,x′,y′は処
理410の式7で得られたものであり、itは図6にお
けるものである。ついで、 (x,y,z,w)=(s1,s2,z(s1,s2,it′),1) T-1(id(s1,s2,it′),it′) T(id(s1,s2,it′),it0) z0′=z/w x0′=rint(x/w) y0′=rint(y/w) に対し、等式 y0′=ix′ y0′=iy′ が成立するかを判定する。
【0037】成立すると判定されたときは、式5の離散
的評価である重みつき加算処理、 rgb_a= rgb_a+ rgb(s1,s2,it′)*W W_a = W_a +W a_a= a_a + 1 id_a = id(s1,s2) if z0′<z_a id_a otherwise z_a= min(z0′,z_a) を計算する。
的評価である重みつき加算処理、 rgb_a= rgb_a+ rgb(s1,s2,it′)*W W_a = W_a +W a_a= a_a + 1 id_a = id(s1,s2) if z0′<z_a id_a otherwise z_a= min(z0′,z_a) を計算する。
【0038】処理440は、処理430で計算されたr
gb_a,id_a,z_aなどを、図4の処理360
と同様の正規化の後、画素(ix′,iy′)に対応す
る作業データのリストに追加格納する処理である。
gb_a,id_a,z_aなどを、図4の処理360
と同様の正規化の後、画素(ix′,iy′)に対応す
る作業データのリストに追加格納する処理である。
【0039】<出力画像決定処理>出力画像決定処理
は、フィルタリング処理(1)及び(2)で得られた結
果をもとに、処理中のフレームit0の出力画像を決定
する。この処理は、例えば、図7のような処理フローに
より実現される。
は、フィルタリング処理(1)及び(2)で得られた結
果をもとに、処理中のフレームit0の出力画像を決定
する。この処理は、例えば、図7のような処理フローに
より実現される。
【0040】処理510は、画素(ix,iy)に対
し、その画素に対応する作業データ内のリストに格納さ
れているrgbj,aj等のデータをz値に関してソー
ティングする処理7である。図8は、この一例を示した
もので、(a)が画素に対するリストであり、3組のデ
ータがリスト内に存在している。この例では、z2<z
3<z1であるため、8−2のようにz値の小さい順に
並べ替える。
し、その画素に対応する作業データ内のリストに格納さ
れているrgbj,aj等のデータをz値に関してソー
ティングする処理7である。図8は、この一例を示した
もので、(a)が画素に対するリストであり、3組のデ
ータがリスト内に存在している。この例では、z2<z
3<z1であるため、8−2のようにz値の小さい順に
並べ替える。
【0041】処理520は、処理510において得られ
たz値の小さい順に並べられたリストに対し、重み付き
加算を行う処理である。この加算処理は、 rgb=ai1*rgbi1+(1−ai1)*ai2*rgbi2 +(1−ai1)*(1−ai2)*ai3*rgbi3 により計算される。図8に示した例では、 rgb=a2*rgb2+(1−a2)*a3*rgb3 +(1−a2)*(1−a3)*a1*rgb1 となる。
たz値の小さい順に並べられたリストに対し、重み付き
加算を行う処理である。この加算処理は、 rgb=ai1*rgbi1+(1−ai1)*ai2*rgbi2 +(1−ai1)*(1−ai2)*ai3*rgbi3 により計算される。図8に示した例では、 rgb=a2*rgb2+(1−a2)*a3*rgb3 +(1−a2)*(1−a3)*a1*rgb1 となる。
【0042】処理510及び520を全ての画素につい
て行うことにより、フレームit0に対する出力画像が
生成される。
て行うことにより、フレームit0に対する出力画像が
生成される。
【0043】図1の処理30から50までを全てのフレ
ームについて行うことにより、処理が完了し、エイリア
シングの除去されたアニメーション画像が得られる。
ームについて行うことにより、処理が完了し、エイリア
シングの除去されたアニメーション画像が得られる。
【0044】図9は、本発明の動作を模式図で示したも
のである。いま、(A)に示すように、細長い長方形の
物体の像がt=0からt=1まで、V画素だけ移動した
とする。像の幅が小さいため、サンプルもれが発生し、
本来連続的な像が、それぞれt=0においては(B)の
ように、t=1においては(C)のようになり、不連続
な画像になってしまう。これがエイリアシング(標本化
歪)である。従来のスーパーサンプリング手法は、1画
素当りの標本点数を増やして、このようなエイリアシン
グの軽減を図るものであるが、標本数に比例して計算時
間が増加する。これに対し、本発明では、移動量Vを考
慮して、t=0の画像とt=0の画像を時空間フィルタ
リングすることにより、1画素当り1標本点としても、
(D)のような連続的な画像を出力することができる。
のである。いま、(A)に示すように、細長い長方形の
物体の像がt=0からt=1まで、V画素だけ移動した
とする。像の幅が小さいため、サンプルもれが発生し、
本来連続的な像が、それぞれt=0においては(B)の
ように、t=1においては(C)のようになり、不連続
な画像になってしまう。これがエイリアシング(標本化
歪)である。従来のスーパーサンプリング手法は、1画
素当りの標本点数を増やして、このようなエイリアシン
グの軽減を図るものであるが、標本数に比例して計算時
間が増加する。これに対し、本発明では、移動量Vを考
慮して、t=0の画像とt=0の画像を時空間フィルタ
リングすることにより、1画素当り1標本点としても、
(D)のような連続的な画像を出力することができる。
【0045】
【発明の効果】以上説明したように、本発明によるアニ
メーションのエイリアシング除去方法によれば、次のよ
うな効果が得られる。
メーションのエイリアシング除去方法によれば、次のよ
うな効果が得られる。
【0046】請求項1の発明では、アニメーション画像
に時空間フィルタを施すことによりエイリアシング除去
を行うので、標本数を増大させる必要なく、従来のスー
パーサンプリング法と同等の効果を、より高速に得るこ
とができる。また、図4の処理440、図6の処理62
0などのように、式1が満たされているか否かを判定し
た後、図7の出力画像決定処理のように同行き値zに基
づいて画素値を決定しているので、物体の像点が他の物
体に隠れていくような場合でも正しく動作する。
に時空間フィルタを施すことによりエイリアシング除去
を行うので、標本数を増大させる必要なく、従来のスー
パーサンプリング法と同等の効果を、より高速に得るこ
とができる。また、図4の処理440、図6の処理62
0などのように、式1が満たされているか否かを判定し
た後、図7の出力画像決定処理のように同行き値zに基
づいて画素値を決定しているので、物体の像点が他の物
体に隠れていくような場合でも正しく動作する。
【0047】請求項2の発明では、アニメーション画像
生成処理において、サンプル点の画素中心に対する相対
位置を、フレーム毎に変位させているので、例えば画面
座標系に対し静止している物体などについてもエイリア
シングの除去ができる。すなわち、このような場合、サ
ンプル点の変位を行わなければ、この物体の像は移動で
きない。このことは、式4にs1=s2=0を代入する
と、 h1,m,n=f0(x0,y0)Ki,m(nΩ)=f0(x0,y0)∫ exp(inΩ)dt =(1/2π)f0(x0,y0)δ(nΩ) となり、n=0で発散することから確認される。ところ
が、フレーム毎にサンプル点を変位させれば、画像上で
微少な運動を行うことになり、式4は発散せず、エイリ
アシングの除去が可能となる。
生成処理において、サンプル点の画素中心に対する相対
位置を、フレーム毎に変位させているので、例えば画面
座標系に対し静止している物体などについてもエイリア
シングの除去ができる。すなわち、このような場合、サ
ンプル点の変位を行わなければ、この物体の像は移動で
きない。このことは、式4にs1=s2=0を代入する
と、 h1,m,n=f0(x0,y0)Ki,m(nΩ)=f0(x0,y0)∫ exp(inΩ)dt =(1/2π)f0(x0,y0)δ(nΩ) となり、n=0で発散することから確認される。ところ
が、フレーム毎にサンプル点を変位させれば、画像上で
微少な運動を行うことになり、式4は発散せず、エイリ
アシングの除去が可能となる。
【図1】本発明の一実施例の処理フロー図である。
【図2】図1におけるアニメーション画像生成処理の詳
細処理フロー図である。
細処理フロー図である。
【図3】サンプル点の変位の説明図である。
【図4】図1におけるフィルタリング処理(1)の詳細
処理フロー図である。
処理フロー図である。
【図5】作業データのデータ構造の説明図である。
【図6】図1におけるフィルタリング処理(2)の詳細
処理フロー図である。
処理フロー図である。
【図7】図1における出力画像決定処理の詳細処理フロ
ー図である。
ー図である。
【図8】出力画像決定処理におけるソーティング処理の
説明図である。
説明図である。
【図9】本発明の効果を示す説明図である。
10 アニメーション画像生成処理 20 アニメーション画像データ 30 フィルタリング(1) 40 フィルタリング(2) 50 出力画像決定処理
Claims (2)
- 【請求項1】 計算機上標本化によりで生成した時系列
画像のアニメーションにおいて発生するエイリアシング
(標本化歪)の除去方法であって、 アニメーション生成時に使用した物体・視点等の運動の
情報を利用して物体上の点の画像面上での像点の動きを
計算し、該計算により得られる像点の動きに基づいて時
空間フィルタリングを行うことを特徴とするアニメーシ
ョンのエイリアシング除去方法。 - 【請求項2】 標本化によりアニメーションの画像を生
成する際に、アニメーションの各フレームにおける標本
点の位置を少量変化させ、これにより作成されたアニメ
ーションに対し、時空間フィルタリングを施すことを特
徴とする請求項1記載のアニメーションのエイリアシン
グ除去方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07807093A JP3151079B2 (ja) | 1993-04-05 | 1993-04-05 | アニメーションのエイリアシング除去方法 |
CA002120437A CA2120437C (en) | 1993-04-05 | 1994-03-31 | Anti-aliasing method for animation |
US08/221,563 US5548693A (en) | 1993-04-05 | 1994-04-01 | Anti-aliasing method for animation |
EP94105251A EP0619556B1 (en) | 1993-04-05 | 1994-04-05 | Anti-aliasing method for animation |
DE69428555T DE69428555T2 (de) | 1993-04-05 | 1994-04-05 | Anti-aliasing-Verfahren für Trickfilm |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07807093A JP3151079B2 (ja) | 1993-04-05 | 1993-04-05 | アニメーションのエイリアシング除去方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06290253A JPH06290253A (ja) | 1994-10-18 |
JP3151079B2 true JP3151079B2 (ja) | 2001-04-03 |
Family
ID=13651593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07807093A Expired - Fee Related JP3151079B2 (ja) | 1993-04-05 | 1993-04-05 | アニメーションのエイリアシング除去方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5548693A (ja) |
EP (1) | EP0619556B1 (ja) |
JP (1) | JP3151079B2 (ja) |
CA (1) | CA2120437C (ja) |
DE (1) | DE69428555T2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101045942B1 (ko) | 2011-05-24 | 2011-07-01 | 김도윤 | 필기자세 교정 펜 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2763499B2 (ja) * | 1994-11-30 | 1998-06-11 | 株式会社ナムコ | 画像合成装置及び画像合成方法 |
AU719554B2 (en) * | 1995-07-03 | 2000-05-11 | Koninklijke Philips Electronics N.V. | Transmission of graphic images |
CA2248909A1 (en) | 1996-03-15 | 1997-09-25 | Zapa Digital Arts Ltd. | System for producing an animation sequence according to character behaviour characteristics |
JP3472065B2 (ja) * | 1997-03-17 | 2003-12-02 | 株式会社東芝 | アニメーション生成装置およびアニメーション生成方法 |
US6208356B1 (en) * | 1997-03-24 | 2001-03-27 | British Telecommunications Public Limited Company | Image synthesis |
DE19740033A1 (de) * | 1997-09-11 | 1999-03-18 | Valeo Borg Instr Verw Gmbh | Anzeigevorrichtung mit und ohne Antialiasing |
JP3639108B2 (ja) * | 1998-03-31 | 2005-04-20 | 株式会社ソニー・コンピュータエンタテインメント | 描画装置および描画方法、並びに提供媒体 |
US6380936B1 (en) * | 1999-10-22 | 2002-04-30 | Microsoft Corportion | System and method for inferring projective mappings |
JP3636681B2 (ja) * | 2000-08-24 | 2005-04-06 | 株式会社ソニー・コンピュータエンタテインメント | 画像処理方法、画像処理装置、半導体デバイス、コンピュータプログラム及び記録媒体 |
US20020158856A1 (en) * | 2000-09-14 | 2002-10-31 | Deering Michael F. | Multi-stage sample position filtering |
US20040174379A1 (en) * | 2003-03-03 | 2004-09-09 | Collodi David J. | Method and system for real-time anti-aliasing |
US20060028476A1 (en) * | 2004-08-03 | 2006-02-09 | Irwin Sobel | Method and system for providing extensive coverage of an object using virtual cameras |
US7348996B2 (en) * | 2004-09-20 | 2008-03-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Method of and system for pixel sampling |
JP4825781B2 (ja) * | 2007-11-22 | 2011-11-30 | 株式会社 C−Mix | モーション生成装置およびコンピュータプログラム |
US8624911B1 (en) | 2011-01-05 | 2014-01-07 | Google Inc. | Texture-based polygon antialiasing |
US9400584B2 (en) | 2011-09-09 | 2016-07-26 | Microsoft Technology Licensing, Llc | Alias selection in multiple-aliased animations |
US10115217B2 (en) | 2011-10-28 | 2018-10-30 | Microsoft Technology Licensing, Llc | Layering animation properties in higher level animations |
US9214036B1 (en) * | 2012-06-26 | 2015-12-15 | Pixar | Animation engine for blending computer animation data |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5025394A (en) * | 1988-09-09 | 1991-06-18 | New York Institute Of Technology | Method and apparatus for generating animated images |
CA2040273C (en) * | 1990-04-13 | 1995-07-18 | Kazu Horiuchi | Image displaying system |
US5428399A (en) * | 1991-04-15 | 1995-06-27 | Vistek Electronics Limited | Method and apparatus for image translation with improved motion compensation |
-
1993
- 1993-04-05 JP JP07807093A patent/JP3151079B2/ja not_active Expired - Fee Related
-
1994
- 1994-03-31 CA CA002120437A patent/CA2120437C/en not_active Expired - Lifetime
- 1994-04-01 US US08/221,563 patent/US5548693A/en not_active Expired - Fee Related
- 1994-04-05 DE DE69428555T patent/DE69428555T2/de not_active Expired - Fee Related
- 1994-04-05 EP EP94105251A patent/EP0619556B1/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101045942B1 (ko) | 2011-05-24 | 2011-07-01 | 김도윤 | 필기자세 교정 펜 |
Also Published As
Publication number | Publication date |
---|---|
EP0619556B1 (en) | 2001-10-10 |
EP0619556A3 (en) | 1995-03-01 |
US5548693A (en) | 1996-08-20 |
DE69428555T2 (de) | 2002-05-08 |
CA2120437C (en) | 1999-08-24 |
JPH06290253A (ja) | 1994-10-18 |
CA2120437A1 (en) | 1994-10-06 |
EP0619556A2 (en) | 1994-10-12 |
DE69428555D1 (de) | 2001-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3151079B2 (ja) | アニメーションのエイリアシング除去方法 | |
US4965844A (en) | Method and system for image transformation | |
US7675526B2 (en) | System and method for multi-sampling primitives to reduce aliasing | |
KR20050030595A (ko) | 화상 처리 장치 및 그 방법 | |
IE913579A1 (en) | Relating a point of selection to an object in a graphics¹display system | |
JP2011516981A (ja) | アンチエイリアシングのためのフィルタ処理方法及び装置 | |
CA2370751A1 (en) | Fast and accurate rendering of pliable display technology distortions using pre-calculated texel coverages | |
KR20050030569A (ko) | 화상 처리 장치 및 그 방법 | |
DE102019121200A1 (de) | Bewegungsadaptives rendern mittels shading mit variabler rate | |
US6731301B2 (en) | System, method and program for computer graphics rendering | |
EP2728551B1 (en) | Image rendering method and system | |
US20060181534A1 (en) | Generation of motion blur | |
JP2755289B2 (ja) | レンダリング方法 | |
JP2900709B2 (ja) | 動画像フィルタ | |
JPH0285978A (ja) | 立体の隠面処理方法 | |
KR100269118B1 (ko) | 사각형을이용한래스터화방법 | |
JPH0683955A (ja) | 3次元画像生成方法 | |
JPH09511083A (ja) | コンピューターグラフィックスにおける3−d表現 | |
Smirnov et al. | TIDOAA—A Temporal Anti-aliasing Method with Immutable Dynamic Objects | |
JPH10188038A (ja) | アニメーションの像再構成方法 | |
Mahmoud et al. | The effects of image background on velocity computation of moving objects | |
KR100243180B1 (ko) | 그래픽 시스템의 신호처리방법 및 장치 | |
Ayari et al. | Image processing of a metal matrix composite microstructure Using recent bilateral filtering approaches | |
Ramesh et al. | New Spatiotemporal Approach for the Estimation of the Motions of Multiple Images using Time-Frequency Representation | |
KR0164160B1 (ko) | 그래픽 처리장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |