(57)【特許請求の範囲】
【請求項１】
原画像入力装置から原画像を入力すると共に、二次元スカラ場入力装置から二つの二次元スカラ場Ａ，Ｂを入力する第１の工程と、
写像・パラメータ設定装置により、二次元スカラ場入力装置で入力した二つの二次元スカラ場Ａ，Ｂの座標（ｘ，ｙ）の位置におけるスカラ値をそれぞれＦA（ｘ，ｙ），ＦB（ｘ，ｙ）とし、ｋA ，ｋB を係数として、次の二つの式
ｘ′＝ｘ＋ｋAＦA（ｘ，ｙ）
ｙ′＝ｙ＋ｋBＦB（ｘ，ｙ）
により、座標（ｘ，ｙ）の位置を座標（ｘ′，ｙ′）の位置に座標変換するための写像を定義する第２の工程と、
ポリゴン生成装置により、原画像入力装置で入力した原画像と同等の矩形領域を作成し、その矩形領域を、所定の形状、所定の個数のポリゴンに分割する第３の工程と、
テクスチャ座標割り当て装置により、ポリゴン生成装置で生成されたポリゴンと、原画像入力装置で入力した原画像とにより、ポリゴン生成装置がポリゴンを生成する矩形領域のサイズが原画像と同一である場合にはそのまま、また、ポリゴンを生成する矩形領域のサイズが原画像と異なる場合には、当該矩形領域と原画像とを正規化してから、各ポリゴンに対してテクスチャ座標を割り当てる第４の工程と、
ポリゴン変形装置により、写像・パラメータ設定装置が定義した座標変換のための写像、ポリゴン生成装置によって生成されたポリゴンの頂点の座標、テクスチャ座標割り当て装置によって各ポリゴンに割り当てられたテクスチャ座標に基づいて、全てのポリゴンの頂点の座標に対して座標変換を行う第５の工程と、
テクスチャマッピング装置により、原画像入力装置から入力された原画像、テクスチャ座標割り当て装置で各ポリゴンに割り当てられたテクスチャ座標、及びポリゴン変形装置で座標変換されたポリゴンの全ての頂点の座標に基づいて、各ポリゴンに割り当てられた原画像の画素を、座標変換により変形された各ポリゴン内にテクスチャ座標を保ったまま貼り付けることによりテクスチャマッピングを行って変形画像を作成する第６の工程と
を備えることを特徴とする画像変形方法。
【請求項２】
原画像入力装置から原画像を入力すると共に、二次元スカラ場入力装置から二つの二次元スカラ場Ａ，Ｂを入力する第１の工程と、
写像・パラメータ設定装置により、二次元スカラ場入力装置で入力した二つの二次元スカラ場Ａ，Ｂの座標（ｘ，ｙ）の位置におけるスカラ値をそれぞれＦA（ｘ，ｙ），ＦB（ｘ，ｙ）とし、ｋr ，ｋq を係数として、次の四つの式
ｒ＝ｋrＦA（ｘ，ｙ）
θ＝ｋqＦB（ｘ，ｙ）
ｘ′＝ｘ＋ｒcosθ
ｙ′＝ｙ＋ｒsinθ
により、座標（ｘ，ｙ）の位置を座標（ｘ′，ｙ′）の位置に座標変換するための写像を定義する第２の工程と、
ポリゴン生成装置により、原画像入力装置で入力した原画像と同等の矩形領域を作成し、その矩形領域を、所定の形状、所定の個数のポリゴンに分割する第３の工程と、
テクスチャ座標割り当て装置により、ポリゴン生成装置で生成されたポリゴンと、原画像入力装置で入力した原画像とにより、ポリゴン生成装置がポリゴンを生成する矩形領域のサイズが原画像と同一である場合にはそのまま、また、ポリゴンを生成する矩形領域のサイズが原画像と異なる場合には、当該矩形領域と原画像とを正規化してから、各ポリゴンに対してテクスチャ座標を割り当てる第４の工程と、
ポリゴン変形装置により、写像・パラメータ設定装置が定義した座標変換のための写像、ポリゴン生成装置によって生成されたポリゴンの頂点の座標、テクスチャ座標割り当て装置によって各ポリゴンに割り当てられたテクスチャ座標に基づいて、全てのポリゴンの頂点の座標に対して座標変換を行う第５の工程と、
テクスチャマッピング装置により、原画像入力装置から入力された原画像、テクスチャ座標割り当て装置で各ポリゴンに割り当てられたテクスチャ座標、及びポリゴン変形装置で座標変換されたポリゴンの全ての頂点の座標に基づいて、各ポリゴンに割り当てられた原画像の画素を、座標変換により変形された各ポリゴン内にテクスチャ座標を保ったまま貼り付けることによりテクスチャマッピングを行って変形画像を作成する第６の工程と
を備えることを特徴とする画像変形方法。
【請求項３】
原画像を入力する原画像入力装置と、
二つの二次元スカラ場Ａ，Ｂを入力する二次元スカラ場入力装置と、
二次元スカラ場入力装置で入力した二つの二次元スカラ場Ａ，Ｂの座標（ｘ，ｙ）の位置におけるスカラ値をそれぞれＦA（ｘ，ｙ），ＦB（ｘ，ｙ）とし、ｋA ，ｋB を係数として、次の二つの式
ｘ′＝ｘ＋ｋAＦA（ｘ，ｙ）
ｙ′＝ｙ＋ｋBＦB（ｘ，ｙ）
により、座標（ｘ，ｙ）の位置を座標（ｘ′，ｙ′）の位置に座標変換するための写像を定義する写像・パラメータ設定装置と、
原画像入力装置で入力した原画像と同等の矩形領域を作成し、その矩形領域を、所定の形状、所定の個数のポリゴンに分割するポリゴン生成装置と、
ポリゴン生成装置で生成されたポリゴンと、原画像入力装置で入力した原画像とにより、ポリゴン生成装置がポリゴンを生成する矩形領域のサイズが原画像と同一である場合にはそのまま、また、ポリゴンを生成する矩形領域のサイズが原画像と異なる場合には、当該矩形領域と原画像とを正規化してから、各ポリゴンに対してテクスチャ座標を割り当てるテクスチャ座標割り当て装置と、
写像・パラメータ設定装置が定義した座標変換のための写像、ポリゴン生成装置によって生成されたポリゴンの頂点の座標、テクスチャ座標割り当て装置によって各ポリゴンに割り当てられたテクスチャ座標に基づいて、全てのポリゴンの頂点の座標に対して座標変換を行うポリゴン変形装置と、
原画像入力装置から入力された原画像、テクスチャ座標割り当て装置で各ポリゴンに割り当てられたテクスチャ座標、及びポリゴン変形装置で座標変換されたポリゴンの全ての頂点の座標に基づいて、各ポリゴンに割り当てられた原画像の画素を、座標変換により変形された各ポリゴン内にテクスチャ座標を保ったまま貼り付けることによりテクスチャマッピングを行って変形画像を作成するテクスチャマッピング装置と
を備えることを特徴とする画像変形装置。
【請求項４】
原画像を入力する原画像入力装置と、
二つの二次元スカラ場Ａ，Ｂを入力する二次元スカラ場入力装置と、
二次元スカラ場入力装置で入力した二つの二次元スカラ場Ａ，Ｂの座標（ｘ，ｙ）の位置におけるスカラ値をそれぞれＦA（ｘ，ｙ），ＦB（ｘ，ｙ）とし、ｋr ，ｋq を係数として、次の四つの式
ｒ＝ｋrＦA（ｘ，ｙ）
θ＝ｋqＦB（ｘ，ｙ）
ｘ′＝ｘ＋ｒcosθ
ｙ′＝ｙ＋ｒsinθ
により、座標（ｘ，ｙ）の位置を座標（ｘ′，ｙ′）の位置に座標変換するための写像を定義する写像・パラメータ設定装置と、
原画像入力装置で入力した原画像と同等の矩形領域を作成し、その矩形領域を、所定の形状、所定の個数のポリゴンに分割するポリゴン生成装置と、
ポリゴン生成装置で生成されたポリゴンと、原画像入力装置で入力した原画像とにより、ポリゴン生成装置がポリゴンを生成する矩形領域のサイズが原画像と同一である場合にはそのまま、また、ポリゴンを生成する矩形領域のサイズが原画像と異なる場合には、当該矩形領域と原画像とを正規化してから、各ポリゴンに対してテクスチャ座標を割り当てるテクスチャ座標割り当て装置と、
写像・パラメータ設定装置が定義した座標変換のための写像、ポリゴン生成装置によって生成されたポリゴンの頂点の座標、テクスチャ座標割り当て装置によって各ポリゴンに割り当てられたテクスチャ座標に基づいて、全てのポリゴンの頂点の座標に対して座標変換を行うポリゴン変形装置と、
原画像入力装置から入力された原画像、テクスチャ座標割り当て装置で各ポリゴンに割り当てられたテクスチャ座標、及びポリゴン変形装置で座標変換されたポリゴンの全ての頂点の座標に基づいて、各ポリゴンに割り当てられた原画像の画素を、座標変換により変形された各ポリゴン内にテクスチャ座標を保ったまま貼り付けることによりテクスチャマッピングを行って変形画像を作成するテクスチャマッピング装置と
を備えることを特徴とする画像変形装置。
【請求項５】
前記テクスチャマッピング装置はテクスチャマッピングを行うための専用のハードウェアで構成されることを特徴とする請求項３または４記載の画像変形装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、画像変形の処理を高速に行うための画像変形方法及びその装置に関する。
【０００２】
【従来の技術】
画像のデザインの手法の一つとして、ある適宜な画像を原画像として用い、その原画像に変形を施すという手法が知られている。そして、そのような場合に用いる画像の変形方法としては、規則的な変形が行われる方法よりも、不定形な変形が行われる方法の方がバリエーションが豊かになるので望ましいものである。
【０００３】
本出願人は、先に、画像に対して不定形な変形を行うことができる画像変形方法を提案しているので、以下その方法について概略説明する。この方法には、直交座標系を用いる方法と、極座標系を用いる方法がある。即ち、画像変形を行うには、変形の対象となっている画像の全画素に対して、座標変換のための写像を定義して、その定義した写像によって、原画像の（ｘ，ｙ）の位置にある画素を、他の位置（ｘ′，ｙ′）に移動させるのであるが、その写像を直交座標系で定義する方法と、極座標系で定義する方法があるのである。
【０００４】
［直交座標系を用いる画像変形方法］
まず、原画像と、二つの二次元スカラ場Ａ，Ｂを用意する（図４のステップＳ１）。この二次元スカラ場Ａ，Ｂとしては、二次元スカラ場であればどのようなものを用いてもよいが、ここでは二次元フラクタル場を用いるものとする。フラクタル場は、スカラ値を自己相似的に空間内に定義した場であり、自然なゆらぎをもった連続場になるので、二次元スカラ場としてフラクタル場を用いれば、原画像に対して自然のゆらぎをもった不定形な変形を施すことができるからである。二次元フラクタル場を生成するためには、例えば、中点変位法として広く知られている手法を用いればよい。
【０００５】
次に、原画像、及び二次元フラクタル場Ａ，Ｂに対して直交座標系を設定する（図４のステップＳ２）。ここで、原画像と、二次元フラクタル場Ａ，Ｂのサイズは同一であってよいことは当然であるが、異なっていてもよい。原画像と、二次元フラクタル場Ａ，Ｂのサイズが異なっている場合には、座標系を正規化して、各画像の画素の位置が一対一の対応をとるようにすればよい。ここでは座標系は正規化されているものとする。即ち、各画像のサイズはｘ方向もｙ方向も［0 ，1 ］の範囲となっているものとする。
【０００６】
次に、写像を定義する（図４のステップＳ３）。即ち、原画像を変形するためには、原画像の（ｘ，ｙ）の位置にある画素を（ｘ′，ｙ′）の位置に移動させる写像が必要である。そして、定義された写像を原画像の全画素に施せば、原画像を変形することができるのである。
【０００７】
いま、原画像の（ｘ，ｙ）の位置にある画素を、変形後に（ｘ′，ｙ′）の位置に移動させるものとすると、写像は例えば次のような式で定義することができる。
【０００８】
ｘ′＝ｘ＋ｋAＦA（ｘ，ｙ）          …(1)
ｙ′＝ｙ＋ｋBＦB（ｘ，ｙ）          …(2)
ここで、ｋA ，ｋB はｘおよびｙ方向への変位の大きさを表す係数であり、任意に設定することができるものである。また、関数ＦA（ｘ，ｙ），ＦB（ｘ，ｙ）はそれぞれ二次元フラクタル場Ａ，Ｂの（ｘ，ｙ）の位置におけるスカラ値を表している。
【０００９】
この(1)，(2)式によれば、原画像の（ｘ，ｙ）の位置にある画素のｘ方向の変位の大きさは二次元フラクタル場Ａの（ｘ，ｙ）の位置におけるスカラ値に比例し、ｙ方向の変位の大きさは、二次元フラクタル場Ｂの（ｘ，ｙ）の位置におけるスカラ値に比例することになる。なお、この場合のように各画像のサイズを正規化している場合には、ＦA（ｘ，ｙ）及びＦB（ｘ，ｙ）の値域は［-1，+1］の範囲に正規化されていることが望ましい。
【００１０】
次に、原画像に対して変形の処理を行う（図４のステップＳ４）。即ち、原画像の（ｘ，ｙ）の位置にある画素に着目し、上記(1) ，(2) 式による写像により当該画素の移動先の位置（ｘ′，ｙ′）を求め、予め用意されている原画像とは異なるメモリ空間上の（ｘ′，ｙ′）の位置に当該原画像の（ｘ，ｙ）の位置にある画素値を書き込む。この処理を原画像の全ての画素に対して施すことによって変形を行うことができる。
【００１１】
ところで、ステップＳ４で原画像の変形を行った場合、その変形の結果得られた画像（以下、これを変形画像と称す）には画素値が定義されない画素（以下、このような画素を空画素と称す）が生じることがある。つまり、実際には、画素の数は有限個であるため、画素の位置を示す座標値はとびとびの離散的な値になるのに対して、写像によって決定される画素のｘ方向の移動量ｋAＦA（ｘ，ｙ）、及びｙ方向の移動量ｋBＦB（ｘ，ｙ）は通常は連続量になるので、移動先の位置（ｘ′，ｙ′）を求める際には、量子化を行うことになり、このため、原画像の複数の画素の移動先が変形画像上の同一の位置に重なってしまう場合がある。例えば、いま、原画像及び変形画像がそれぞれ10×10の画素配列から構成されているものとすると、原画像の画素配列を構成する 100個の画素のそれぞれが、変形に定義された写像に基づいて勝手に移動することになり、その写像の結果得られる移動先の位置を量子化すると原画像の複数の画素が変形画像において同一の位置に統合してしまうことが起こり得るのである。
【００１２】
このことは、逆にいえば、変形画像上には画素値が定義されない空画素が生じることを意味する。例えば、原画像上に存在していた合計 100個の画素が、移動によって合計70個の画素に統合されてしまったとすると、変形画像上の30個の画素が空画素となる。
【００１３】
そこで、ステップＳ４の原画像の変形を行う際には、空画素の処理を行う必要がある。この空画素の処理としては、例えば、予め「空画素については、画素値＝ 0とする」というような定義を行っておけば、空画素の部分は黒で表現されることになる。また、空画素の領域には、何らかの背景画像を割り付けるというような処理を行ってもよい。
【００１４】
更に、変形画像上に空画素を生じさせないように原画像を変形することも可能である。その手法としては、写像を逆に用いることで行うことができる。例えば、いま変形が上記の(1) ，(2) 式で定義されるものとすると、
ｘ＝ｘ′−ｋAＦA（ｘ′，ｙ′）          …(3)
ｙ＝ｙ′−ｋBＦB（ｘ′，ｙ′）          …(4)
という写像を用いて行えばよい。ここで、（ｘ，ｙ）は原画像上の画素位置であり、（ｘ′，ｙ′）は変形画像上の画素位置である。即ち、まず、変形画像上の位置（ｘ′，ｙ′）に着目し、当該位置での二次元フラクタル場Ａ，Ｂのスカラ値ＦA（ｘ′，ｙ′），ＦB（ｘ′，ｙ′）からｘ方向の移動量ｋAＦA（ｘ′，ｙ′）及びｙ方向の移動量ｋBＦB（ｘ′，ｙ′）を求め、(1) 式及び(2) 式の逆演算によって、当該変形画像上の位置（ｘ′，ｙ′）に対応する原画像上の位置（ｘ，ｙ）を求め、原画像上の当該位置（ｘ，ｙ）の画素値を変形画像上の位置（ｘ′，ｙ′）の画素値とするのである。このような手法によって、変形画像に空画素が生じることを回避することができる。
【００１５】
なお、原画像上のある画素ｐを写像により移動した場合に、移動後の位置が変形画像の範囲外にはみ出してしまう場合があるが、この場合には、変形画像の範囲外に同じサイズの領域（仮想変形画像）が隣接配置されているものとして、移動後の位置を変形画像の範囲内に補正するはみ出し補正処理を行ってもよい。例えば、原画像の画素ｐを写像した結果、図５のｐ′で示すように変形画像の範囲外にはみ出した場合には、変形画像の範囲外に図の破線で示すように変形画像と同じサイズの仮想変形画像が隣接配置されているものと考えて、仮想変形画像内におけるｐ′の位置と同じ位置となる変形画像内の位置ｐ″の位置に補正するのである。図５は変形画像の横方向にはみ出した場合の例であるが、変形画像の縦方向にはみ出した場合も同様に補正する。
【００１６】
以上のようであるので、この変形方法によれば、原画像に対して自然のゆらぎをもった不定形な変形を施すことができる。そして、その変形の態様は、(1) ，(2) で示す係数ｋA ，ｋB の値、及び二次元フラクタル場Ａ，Ｂとしてどのようなものを用いるかによって制御することができる。
【００１７】
［極座標系を用いる画像変形方法］
この方法では、原画像の画素の移動先を定めるための写像を定義するために極座標系を用いる。その処理の流れは図６に示すようである。
まず、原画像と、二つの二次元スカラ場Ａ，Ｂを用意する（ステップＳ１１）。このステップＳ１１は図４のステップＳ１と同じである。
次に、原画像、及び二次元フラクタル場Ａ，Ｂに対して極座標系を設定する（ステップＳ１２）。ここでも座標系は正規化されているとする。
【００１８】
次に、写像を定義する（ステップＳ１３）。この写像は、例えば次の(5) 〜(8) 式のように定義することができる。
ｒ＝ｋrＦA（ｘ，ｙ）        …(5)
θ＝ｋqＦB（ｘ，ｙ）        …(6)
ｘ′＝ｘ＋ｒcosθ           …(7)
ｙ′＝ｙ＋ｒsinθ           …(8)
ここで、ｘ，ｙはそれぞれ原画像の画素の直交座標表現によるｘ座標、ｙ座標であり、ｘ′，ｙ′はそれぞれ当該原画像の画素が写像によって移動された後の変形画像上のｘ座標、ｙ座標であり、ｋr は極座標の変位のｒ成分の大きさを表す係数であり、ｋq は極座標の変位のθ成分の大きさを表す係数であり、関数ＦA（ｘ，ｙ），ＦB（ｘ，ｙ）はそれぞれ二次元フラクタル場Ａ，Ｂの位置（ｘ，ｙ）におけるスカラ値を表している。なお、上記の二つの関数、ＦA（ｘ，ｙ），ＦB（ｘ，ｙ）の値域は［-1，+1］の範囲に正規化されているものとする。
【００１９】
このような写像によれば、係数ｋr 及び／または係数ｋq の値を適宜に定めることによって、変形の大きさ、あるいは局所的な変形の激しさを所望のように制御することが可能である。
【００２０】
更に、上記の(6) 式で決定されるθの値をそのまま変位の方向成分として用いるのではなく、入力された角度θに対して特定の角度に偏った角度θ′を出力する関数ｆa を導入して
θ′＝ｆa（θ）＝ｆa（ｋqＦB（ｘ，ｙ））    …(9)
と拡張し、このθ′の値を上記の(7) ，(8) 式に代入して移動先の位置（ｘ′，ｙ′）を定めるようにすれば、変形の方向を所望の角度方向に偏らせるように制御することができる。図７にその例を示す。図７において、横軸θは上記の(6) 式で決定されるθの値であり、縦軸θ′は上記の(9) 式で得られる値である。図７においては破線で示すように一様に分布するθに対して、実線で示すように、π方向及び2π（＝0）方向に偏りのある角度θ′が得られている。従って、図７の実線で示す入出力特性を有する関数ｆa を用いてθ′を得、そのθ′の値を上記の(7) ，(8) 式に代入して移動先の位置（ｘ′，ｙ′）を定めれば、変形画像では左右方向（θ′＝0,π,2π）への変形が強調されることになる。
【００２１】
以上のようであるので、座標系を極座標表現する場合には、上述した事項を考慮して、写像を定義すればよい。
【００２２】
そして、次に原画像に対して変形処理を施す（ステップＳ１４）。空画素の処理、はみ出し処理についても上述したと同様である。特に、変形の処理の際に変形画像上に空画素を生じさせないようにするためには、例えば、
ｒ＝ｋrＦA（ｘ′，ｙ′）        …(10)
θ＝ｋqＦB（ｘ′，ｙ′）        …(11)
ｘ＝ｘ′−ｒcosθ               …(12)
ｙ＝ｙ′−ｒsinθ               …(13)
という写像を用いて原画像を変形すればよい。ここで、（ｘ，ｙ）は原画像上の画素位置、（ｘ′，ｙ′）は変形画像上の画素位置である。これによって、上述したと同様に、変形画像上の位置（ｘ′，ｙ′）に対応する原画像上の位置（ｘ，ｙ）を求めることができるので、その求めた原画像上の位置の画素値を変形画像上の（ｘ′，ｙ′）の位置に書き込めばよい。
【００２３】
以上のようであるので、この変形方法によっても、原画像に対して自然のゆらぎをもった不定形な変形を施すことができる。そして、その変形の態様は、上述した種々のパラメータ、及び二次元フラクタル場Ａ，Ｂとしてどのようなものを用いるかによって制御することができる。
【００２４】
【発明が解決しようとする課題】
しかしながら、上述したような画像変形方法では、定義された写像によって原画像の全画素に対して変形の処理を施す必要があるので、変形の処理に時間がかかるという問題がある。勿論、デザインした画像のプレゼンテーションを行う場合や、刷版用の画像を作成する場合には、上述したようにして原画像の全画素に対して変形の処理を施して完全な変形画像を得る必要があるのであるが、デザインの過程においては、デザイナは使用する二次元スカラ場を変えたり、上述したような係数、あるいはパラメータの値を種々に変更して、どのような画像が得られるかを試したい場合があり、このような場合には得られる変形画像は厳密なものではなくても、画像変形の処理が高速に行われることが望まれる。
【００２５】
そこで、本発明は、画像の変形の処理を高速に行うことができる画像変形方法及びその装置を提供することを目的とするものである。
【００２６】
【課題を解決するための手段】
上記の目的を達成するために、請求項１記載の画像変形方法は、
原画像入力装置から原画像を入力すると共に、二次元スカラ場入力装置から二つの二次元スカラ場Ａ，Ｂを入力する第１の工程と、
写像・パラメータ設定装置により、二次元スカラ場入力装置で入力した二つの二次元スカラ場Ａ，Ｂの座標（ｘ，ｙ）の位置におけるスカラ値をそれぞれＦA（ｘ，ｙ），ＦB（ｘ，ｙ）とし、ｋA ，ｋB を係数として、次の二つの式
ｘ′＝ｘ＋ｋAＦA（ｘ，ｙ）
ｙ′＝ｙ＋ｋBＦB（ｘ，ｙ）
により、座標（ｘ，ｙ）の位置を座標（ｘ′，ｙ′）の位置に座標変換するための写像を定義する第２の工程と、
ポリゴン生成装置により、原画像入力装置で入力した原画像と同等の矩形領域を作成し、その矩形領域を、所定の形状、所定の個数のポリゴンに分割する第３の工程と、
テクスチャ座標割り当て装置により、ポリゴン生成装置で生成されたポリゴンと、原画像入力装置で入力した原画像とにより、ポリゴン生成装置がポリゴンを生成する矩形領域のサイズが原画像と同一である場合にはそのまま、また、ポリゴンを生成する矩形領域のサイズが原画像と異なる場合には、当該矩形領域と原画像とを正規化してから、各ポリゴンに対してテクスチャ座標を割り当てる第４の工程と、
ポリゴン変形装置により、写像・パラメータ設定装置が定義した座標変換のための写像、ポリゴン生成装置によって生成されたポリゴンの頂点の座標、テクスチャ座標割り当て装置によって各ポリゴンに割り当てられたテクスチャ座標に基づいて、全てのポリゴンの頂点の座標に対して座標変換を行う第５の工程と、
テクスチャマッピング装置により、原画像入力装置から入力された原画像、テクスチャ座標割り当て装置で各ポリゴンに割り当てられたテクスチャ座標、及びポリゴン変形装置で座標変換されたポリゴンの全ての頂点の座標に基づいて、各ポリゴンに割り当てられた原画像の画素を、座標変換により変形された各ポリゴン内にテクスチャ座標を保ったまま貼り付けることによりテクスチャマッピングを行って変形画像を作成する第６の工程と
を備えることを特徴とする。
また、請求項２記載の画像変形方法は、
原画像入力装置から原画像を入力すると共に、二次元スカラ場入力装置から二つの二次元スカラ場Ａ，Ｂを入力する第１の工程と、
写像・パラメータ設定装置により、二次元スカラ場入力装置で入力した二つの二次元スカラ場Ａ，Ｂの座標（ｘ，ｙ）の位置におけるスカラ値をそれぞれＦA（ｘ，ｙ），ＦB（ｘ，ｙ）とし、ｋr ，ｋq を係数として、次の四つの式
ｒ＝ｋrＦA（ｘ，ｙ）
θ＝ｋqＦB（ｘ，ｙ）
ｘ′＝ｘ＋ｒcosθ
ｙ′＝ｙ＋ｒsinθ
により、座標（ｘ，ｙ）の位置を座標（ｘ′，ｙ′）の位置に座標変換するための写像を定義する第２の工程と、
ポリゴン生成装置により、原画像入力装置で入力した原画像と同等の矩形領域を作成し、その矩形領域を、所定の形状、所定の個数のポリゴンに分割する第３の工程と、
テクスチャ座標割り当て装置により、ポリゴン生成装置で生成されたポリゴンと、原画像入力装置で入力した原画像とにより、ポリゴン生成装置がポリゴンを生成する矩形領域のサイズが原画像と同一である場合にはそのまま、また、ポリゴンを生成する矩形領域のサイズが原画像と異なる場合には、当該矩形領域と原画像とを正規化してから、各ポリゴンに対してテクスチャ座標を割り当てる第４の工程と、
ポリゴン変形装置により、写像・パラメータ設定装置が定義した座標変換のための写像、ポリゴン生成装置によって生成されたポリゴンの頂点の座標、テクスチャ座標割り当て装置によって各ポリゴンに割り当てられたテクスチャ座標に基づいて、全てのポリゴンの頂点の座標に対して座標変換を行う第５の工程と、
テクスチャマッピング装置により、原画像入力装置から入力された原画像、テクスチャ座標割り当て装置で各ポリゴンに割り当てられたテクスチャ座標、及びポリゴン変形装置で座標変換されたポリゴンの全ての頂点の座標に基づいて、各ポリゴンに割り当てられた原画像の画素を、座標変換により変形された各ポリゴン内にテクスチャ座標を保ったまま貼り付けることによりテクスチャマッピングを行って変形画像を作成する第６の工程と
を備えることを特徴とする。
【００２７】
請求項３記載の画像変形装置は、
原画像を入力する原画像入力装置と、
二つの二次元スカラ場Ａ，Ｂを入力する二次元スカラ場入力装置と、
二次元スカラ場入力装置で入力した二つの二次元スカラ場Ａ，Ｂの座標（ｘ，ｙ）の位置におけるスカラ値をそれぞれＦA（ｘ，ｙ），ＦB（ｘ，ｙ）とし、ｋA ，ｋB を係数として、次の二つの式
ｘ′＝ｘ＋ｋAＦA（ｘ，ｙ）
ｙ′＝ｙ＋ｋBＦB（ｘ，ｙ）
により、座標（ｘ，ｙ）の位置を座標（ｘ′，ｙ′）の位置に座標変換するための写像を定義する写像・パラメータ設定装置と、
原画像入力装置で入力した原画像と同等の矩形領域を作成し、その矩形領域を、所定の形状、所定の個数のポリゴンに分割するポリゴン生成装置と、
ポリゴン生成装置で生成されたポリゴンと、原画像入力装置で入力した原画像とにより、ポリゴン生成装置がポリゴンを生成する矩形領域のサイズが原画像と同一である場合にはそのまま、また、ポリゴンを生成する矩形領域のサイズが原画像と異なる場合には、当該矩形領域と原画像とを正規化してから、各ポリゴンに対してテクスチャ座標を割り当てるテクスチャ座標割り当て装置と、
写像・パラメータ設定装置が定義した座標変換のための写像、ポリゴン生成装置によって生成されたポリゴンの頂点の座標、テクスチャ座標割り当て装置によって各ポリゴンに割り当てられたテクスチャ座標に基づいて、全てのポリゴンの頂点の座標に対して座標変換を行うポリゴン変形装置と、
原画像入力装置から入力された原画像、テクスチャ座標割り当て装置で各ポリゴンに割り当てられたテクスチャ座標、及びポリゴン変形装置で座標変換されたポリゴンの全ての頂点の座標に基づいて、各ポリゴンに割り当てられた原画像の画素を、座標変換により変形された各ポリゴン内にテクスチャ座標を保ったまま貼り付けることによりテクスチャマッピングを行って変形画像を作成するテクスチャマッピング装置と
を備えることを特徴とする。
請求項４記載の画像変形装置は、
原画像を入力する原画像入力装置と、
二つの二次元スカラ場Ａ，Ｂを入力する二次元スカラ場入力装置と、
二次元スカラ場入力装置で入力した二つの二次元スカラ場Ａ，Ｂの座標（ｘ，ｙ）の位置におけるスカラ値をそれぞれＦA（ｘ，ｙ），ＦB（ｘ，ｙ）とし、ｋr ，ｋq を係数として、次の四つの式
ｒ＝ｋrＦA（ｘ，ｙ）
θ＝ｋqＦB（ｘ，ｙ）
ｘ′＝ｘ＋ｒcosθ
ｙ′＝ｙ＋ｒsinθ
により、座標（ｘ，ｙ）の位置を座標（ｘ′，ｙ′）の位置に座標変換するための写像を定義する写像・パラメータ設定装置と、
原画像入力装置で入力した原画像と同等の矩形領域を作成し、その矩形領域を、所定の形状、所定の個数のポリゴンに分割するポリゴン生成装置と、
ポリゴン生成装置で生成されたポリゴンと、原画像入力装置で入力した原画像とにより、ポリゴン生成装置がポリゴンを生成する矩形領域のサイズが原画像と同一である場合にはそのまま、また、ポリゴンを生成する矩形領域のサイズが原画像と異なる場合には、当該矩形領域と原画像とを正規化してから、各ポリゴンに対してテクスチャ座標を割り当てるテクスチャ座標割り当て装置と、
写像・パラメータ設定装置が定義した座標変換のための写像、ポリゴン生成装置によって生成されたポリゴンの頂点の座標、テクスチャ座標割り当て装置によって各ポリゴンに割り当てられたテクスチャ座標に基づいて、全てのポリゴンの頂点の座標に対して座標変換を行うポリゴン変形装置と、
原画像入力装置から入力された原画像、テクスチャ座標割り当て装置で各ポリゴンに割り当てられたテクスチャ座標、及びポリゴン変形装置で座標変換されたポリゴンの全ての頂点の座標に基づいて、各ポリゴンに割り当てられた原画像の画素を、座標変換により変形された各ポリゴン内にテクスチャ座標を保ったまま貼り付けることによりテクスチャマッピングを行って変形画像を作成するテクスチャマッピング装置と
を備えることを特徴とする。
ここで、テクスチャマッピング装置は、請求項５記載のように、テクスチャマッピングを行うための専用のハードウェアで構成するとテクスチャマッピングを高速に行うことができる。
【００２８】
【発明の実施の形態】
以下、図面を参照しつつ発明の実施の形態について説明する。
図１は本発明に係る画像変形装置の一実施形態を示す図であり、図中、１は原画像入力装置、２は二次元スカラ場入力装置、３は写像・パラメータ設定装置、４はポリゴン生成装置、５はテクスチャ座標割り当て装置、６はポリゴン変形装置、７はテクスチャマッピング装置、８は表示装置を示す。
【００２９】
まず、図１に示す各装置の概略について説明する。
原画像入力装置１は、変形を施そうとする画像を入力するための装置である。二次元スカラ場入力装置２は、ポリゴン変形装置６においてポリゴンを変形する際に用いる二つの二次元スカラ場Ａ，Ｂを入力するためのものである。なお、ここでは二次元スカラ場としては二次元のフラクタル場を用いるものとする。
【００３０】
写像・パラメータ設定装置３は、ポリゴン変形装置６においてポリゴンを変形する際に用いる写像の定義を行うと共に、その写像を定義する際に用いる係数などを設定するものである。例えば、写像を上記の(1) ，(2) 式、あるいは(3) ，(4) 式により定義する場合には、係数ｋA ，ｋB の値を設定する。また、写像を上記の(5) 〜(8) 式、あるいは(10) 〜(13)式で定義する場合には、係数ｋr ，ｋq の値や、(9) 式に示す関数ｆa（θ） を設定する。
【００３１】
ポリゴン生成装置４は、原画像入力装置１から入力した原画像と同等のサイズの矩形を、ポリゴンに分割する装置である。ポリゴンをどのような形状とするか、いくつに分割するかは予め設定されている。
【００３２】
テクスチャ座標割り当て装置５は、ポリゴン生成装置４で生成されたポリゴンと、原画像入力装置１から入力された原画像を取り込んで、各ポリゴンに原画像をマッピングするためのテクスチャ座標を割り当てる装置である。このとき、ポリゴン生成装置４がポリゴンを生成する矩形領域のサイズが原画像と同一である場合には一対一の対応がとれているからそのまま各ポリゴンに対してテクスチャ座標を割り当てればよいが、ポリゴンを生成する矩形領域のサイズが原画像と異なる場合には、当該矩形と、原画像とを正規化してから各ポリゴンにテクスチャ座標を割り当てるようにすればよい。
【００３３】
ポリゴン変形装置６は、ポリゴンを変形する装置であるが、具体的には、二次元スカラ場入力装置２から入力された二つのフラクタル場Ａ，Ｂと、写像・パラメータ設定装置３で設定された写像、パラメータを用いて、ポリゴンの全ての頂点に対して座標変換を行うものである。
【００３４】
テクスチャマッピング装置７は、原画像入力装置１から入力された原画像、テクスチャ座標割り当て装置５で各ポリゴンに割り当てられたテクスチャ座標、及びポリゴン変形装置６により座標変換された各頂点の座標値に基づいてテクスチャマッピングを行うものである。このテクスチャマッピング装置７としては、処理の高速化を図るために、テクスチャマッピングを行う専用のハードウェアを用いる。このようなハードウェアは現在広く市販されており、そのアルゴリズム、及びハードウェア構成は周知であるので詳細な説明は省略する。なお、テクスチャマッピングといえば通常は二次元平面の画像（テクスチャ）を三次元物体の表面にマッピングすることを意味するが、ここでは、二次元のテクスチャを他の二次元の多角形にマッピングする手法を用いる。
【００３５】
表示装置８は、テクスチャマッピング装置７によりマッピングされた画像を表示するものであり、カラーＣＲＴ等の表示手段で構成される。
【００３６】
以上のような画像変形装置は、テクスチャマッピング装置７を除いてパーソナルコンピュータ等により構成することができる。そして、テクスチャマッピング装置７のハードウェアがパーソナルコンピュータの拡張スロットにセット可能となされていれば、この画像変形装置は、テクスチャマッピング装置７をも含めて１台のパーソナルコンピュータシステムで構成することが可能である。
【００３７】
次に、図１に示す画像変形装置によって画像変形を行う場合について、画像変形方法と共に説明する。
まず、オペレータは、原画像入力装置１から原画像を入力すると共に、二次元スカラ場入力装置２から二つの二次元スカラ場Ａ，Ｂを入力し、更に写像・パラメータ設定装置３により写像の定義、及びパラメータの設定を行う。
【００３８】
原画像の入力は、所望の絵柄の画像がフロッピーディスク等の記憶媒体に記憶されている場合には、当該記憶媒体を原画像入力装置１にセットして取り込めばよく、また所望の画像が印刷物としてある場合にはカラースキャナによって画像を読み込んで入力すればよく、所望の画像のデータがデータベースとしてある場合にはネットワークを介して原画像入力装置１によって当該画像データを取り込めばよい。二次元フラクタル場の入力についても同様に行うことができる。二次元スカラ場入力装置２が二次元フラクタル場を生成する機能を有している場合には、二次元スカラ場入力装置２で二つの二次元フラクタル場を生成すればよい。
【００３９】
また、写像の定義は直交座標系を用いて定義してもよく、極座標系を用いて定義してもよい。直交座標系を用いる場合には、上記の(1) ，(2) 式、あるいは(3) ，(4) 式のように定義すればよく、極座標系を用いる場合には、上記の(5) 〜(8) 式、あるいは(10)〜(13)式のように定義すればよい。
【００４０】
原画像が入力されると、ポリゴン生成装置４は、入力された原画像を取り込んで、原画像と同じサイズの矩形領域を作成し、その作成した矩形領域を複数のポリゴンに分割する。実際には、当該矩形領域は小さな多数のポリゴンによって細かく分割されるのであるが、ここでは理解を容易にするために、図２に示すように、３×３の９個の四角形のポリゴンに分割するものとする。従って、この場合には図２に示すように、Ｐ1 〜Ｐ9 のポリゴンが生成され、Ｑ1 〜Ｑ16の１６個の頂点ができることになる。そして、ポリゴン生成装置４は生成したポリゴンのデータをテクスチャ座標割り当て装置５に渡す。
【００４１】
テクスチャ座標割り当て装置５は、ポリゴン生成装置４から受けたポリゴンのデータと、原画像入力装置１から受けた原画像とを取り込み、各ポリゴンにテクスチャ座標を割り当てる。そして、その各ポリゴンに割り当てたテクスチャ座標をポリゴン変形装置６と、テクスチャマッピング装置７に渡す。
【００４２】
ポリゴン変形装置６は、二次元スカラ場入力装置２から入力された二つのフラクタル場Ａ，Ｂ、写像・パラメータ設定装置３によって設定された写像とパラメータ、ポリゴン生成装置４によって生成されたポリゴン頂点座標、及びテクスチャ座標割り当て装置５から受けた各ポリゴンに割り当てられたテクスチャ座標を取り込み、図２のポリゴンのＱ1 〜Ｑ16の１６個の頂点に対してだけ座標変換を行う。この座標変換は、上述した従来の技術の項で説明したように行う。
そして、ポリゴン変形装置６は、座標変換によって得られた頂点の新たな座標をテクスチャマッピング装置７に渡す。
【００４３】
テクスチャマッピング装置７は、原画像入力装置１から入力された原画像、テクスチャ座標割り当て装置５で各ポリゴンに割り当てられたテクスチャ座標、及びポリゴン変形装置６で座標変換されたポリゴンの全頂点の座標に基づいて、ポリゴンを投影し、テクスチャマッピングを行って変形画像を作成する。
【００４４】
例えば、ポリゴン変形装置６における座標変換によって、図２に示す各ポリゴンの頂点Ｑ1 〜Ｑ16が図３のＱ1′ 〜Ｑ16′のように移動されたとすると、図２のポリゴンＰ1 〜Ｐ9 は図３のＰ1′〜Ｐ9′のように変形されることになるが、テクスチャマッピング装置７は、図２の各ポリゴンＰi （i=1,…,9）に割り当てられた原画像の画素を、変形後の図３の各ポリゴンＰi′（i=1,…,9） 内にテクスチャ座標を保ったまま貼り付ける。このような処理により、変形画像が作成され、表示装置８に表示される。
【００４５】
オペレータは、表示装置８に表示される変形画像を観察することによって、入力した二次元フラクタル場、定義した写像、及び設定したパラメータによって原画像が概ねどのように変形されるかを確認することができる。
【００４６】
なお、表示装置８に表示される変形画像は、図３からも分かるように、一般的には正方形や長方形等のきれいな矩形とはならない。勿論、上述したように実際には多数の小さなポリゴンに分割されるので図３に示すように極端に歪むことはないのであるが、それでもきちんとした矩形にはならないのが一般的である。しかし、この画像変形装置で行おうとしているのは、入力された二次元フラクタル場、定義された写像、設定されたパラメータによって原画像が概ねどのように変形されるかを高速にシミュレーションすることであるので、変形画像は正方形や、長方形等のきれいな矩形にならなくても構わないものである。
【００４７】
以上のようであるので、オペレータは、二次元フラクタル場を変更したり、写像を変更したり、パラメータを変更することによって、原画像が概ねどのように変形されるかをシミュレーションすることができ、所望の変形画像が得られるまで上記の処理を繰り返すことができる。しかも、テクスチャマッピング装置７として専用のハードウェアを用いるので、テクスチャマッピングを高速に行うことができ、オペレータは当該画像変形装置と対話的に上記の処理を行うことができる。そして、原画像に対して所望の変形を施すことができる二次元フラクタル場、写像、及びパラメータを見い出したら、オペレータはそれらの二次元フラクタル場、写像、パラメータを用いてバッチ処理により原画像に対して、上述した従来の技術の項で説明した画像変形の処理を施せばよく、これによって完成した変形画像を得ることができる。
【００４８】
このように、この画像変形装置によれば、写像による座標変換はポリゴンの頂点に対してだけ施せばよいので、写像による座標変換に要する時間は従来のように原画像の全ての画素に対して座標変換を施す場合に比較して大幅に短縮することができ、しかもテクスチャマッピングは専用のハードウェアを用いて行うのでを高速に行うことができる。従って、原画像が概ねどのように変形されるかを、対話的に、高速にシミュレーションすることができるので、作業効率を従来に比較して大幅に向上させることができるものである。
【００４９】
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく種々の変形が可能であることは当業者に明らかである。
【図面の簡単な説明】
【図１】  本発明に係る画像変形装置の一実施形態を示す図である。
【図２】  ポリゴン生成装置４におけるポリゴンの生成を説明するための図である。
【図３】  ポリゴン変形装置６によるポリゴンの変形の例を示す図である。
【図４】  直交座標系を用いて定義した写像による画像変形の処理の流れを示すフローチャートである。
【図５】  図４のステップＳ４のうちのはみ出し補正処理を説明するための図である。
【図６】  極座標系を用いて定義した写像による画像変形の処理の流れを示すフローチャートである。
【図７】  極座標表現により写像を定義した場合において、変形の方向を所望の角度方向に偏らせるためのθに対する関数のグラフの例を示す図である。
【符号の説明】
１…原画像入力装置、２…二次元スカラ場入力装置、３…写像・パラメータ設定装置、４…ポリゴン生成装置、５…テクスチャ座標割り当て装置、６…ポリゴン変形装置、７…テクスチャマッピング装置、８…表示装置。
【図１】
0004187078.tif 000002
【図２】
0004187078.tif 000003
【図３】
0004187078.tif 000004
【図４】
0004187078.tif 000005
【図５】
0004187078.tif 000006
【図６】
0004187078.tif 000007
【図７】
0004187078.tif 000008