(57)【特許請求の範囲】
【請求項１】
画像に設定した変形制御点の移動に対応して、前記画像を変形させる画像処理装置であって、
前記画像に三角形で構成されるオリジナルメッシュを設定するオリジナルメッシュ生成手段と、
前記変形制御点の移動に対応して、前記オリジナルメッシュを構成する三角形の回転、拡大及び縮小を許容して変形処理を行い、当該変形処理後の三角形と当該三角形に対応する変形処理前の三角形との誤差を最小として中間メッシュを生成する中間メッシュ生成手段と、
前記オリジナルメッシュを構成する三角形と、前記中間メッシュにおいて当該三角形に対応する三角形との大きさの比が設定された閾値以下であるか否かを判定するスケール判定手段と、
前記スケール判定手段による判定の結果に応じて、前記中間メッシュを適合メッシュとするか、前記中間メッシュをスケール調整して適合メッシュとするか、を選択的に決定する適合メッシュ決定手段と、
前記適合メッシュを構成する隣接する三角形の辺を表すベクトルが一致するように変形処理を行い、当該変形処理後の三角形の辺を表すベクトルと当該変形処理前の三角形の辺を表すベクトルとの誤差を最小として最終メッシュを生成する最終メッシュ生成手段と、
を備えたことを特徴とする画像処理装置。
【請求項２】
前記適合メッシュ決定手段は、
前記スケール判定手段によって前記閾値より大きいと判定された場合は、前記中間メッシュの三角形について、前記変形制御点の移動に対応して、前記オリジナルメッシュを構成する三角形の回転及び平行移動を許容して、前記中間メッシュにおいて対応する三角形との誤差を最小とし、さらに前記大きさの比に応じて大きさを変化させた三角形を、適合メッシュを構成する三角形として決定し、
前記スケール判定手段によって前記閾値以下であると判定された場合は、前記中間メッシュの三角形については、当該中間メッシュの三角形に関連して既に算出されている三角形を適合メッシュとして決定することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記適合メッシュ決定手段は、前記オリジナルメッシュを構成する三角形と前記中間メッシュにおいて当該三角形に対応する三角形との大きさの比が前記閾値以下であると判定された前記中間メッシュの三角形について、当該中間メッシュの三角形を、適合メッシュとして決定することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記適合メッシュ決定手段は、前記オリジナルメッシュを構成する三角形と前記中間メッシュにおいて当該三角形に対応する三角形との大きさの比が前記閾値以下であると判定された前記中間メッシュの三角形について、当該中間メッシュの三角形に対応する前記オリジナルメッシュの三角形を、適合メッシュとして決定することを特徴とする請求項２記載の画像処理装置。
【請求項５】
画像に設定した変形制御点の移動に対応して、前記画像を変形させる画像処理方法であって、
前記画像に三角形で構成されるオリジナルメッシュを設定するオリジナルメッシュ生成ステップと、
前記変形制御点の移動に対応して、前記オリジナルメッシュを構成する三角形の回転、拡大及び縮小を許容して変形処理を行い、当該変形処理後の三角形と当該三角形に対応する変形処理前の三角形との誤差を最小として中間メッシュを生成する中間メッシュ生成ステップと、
前記オリジナルメッシュを構成する三角形と、前記中間メッシュにおいて当該三角形に対応する三角形との大きさの比が設定された閾値以下であるか否かを判定するスケール判定ステップと、
前記スケール判定ステップにおける判定の結果に応じて、前記中間メッシュを適合メッシュとするか、前記中間メッシュをスケール調整して適合メッシュとするか、を選択的に決定する適合メッシュ決定ステップと、
前記適合メッシュを構成する隣接する三角形の辺を表すベクトルが一致するように変形処理を行い、当該変形処理後の三角形の辺を表すベクトルと当該変形処理前の三角形の辺を表すベクトルとの誤差を最小として最終メッシュを生成する最終メッシュ生成ステップと、
を含んだことを特徴とする画像処理方法。
【請求項６】
画像に設定した変形制御点の移動に対応して、前記画像を変形させるためのプログラムであって、
コンピュータに、
前記画像に三角形で構成されるオリジナルメッシュを設定するオリジナルメッシュ生成機能と、
前記変形制御点の移動に対応して、前記オリジナルメッシュを構成する三角形の回転、拡大及び縮小を許容して変形処理を行い、当該変形処理後の三角形と当該三角形に対応する変形処理前の三角形との誤差を最小として中間メッシュを生成する中間メッシュ生成機能と、
前記オリジナルメッシュを構成する三角形と、前記中間メッシュにおいて当該三角形に対応する三角形との大きさの比が設定された閾値以下であるか否かを判定するスケール判定機能と、
前記スケール判定機能による判定の結果に応じて、前記中間メッシュを適合メッシュとするか、前記中間メッシュをスケール調整して適合メッシュとするか、を選択的に決定する適合メッシュ決定機能と、
前記適合メッシュを構成する隣接する三角形の辺を表すベクトルが一致するように変形処理を行い、当該変形処理後の三角形の辺を表すベクトルと当該変形処理前の三角形の辺を表すベクトルとの誤差を最小として最終メッシュを生成する最終メッシュ生成機能と、
を実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示された画像を変形させる処理を行う画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、２次元平面に表示された画像を変形するために、種々の画像処理手法が提案されている。
例えば、特許文献１に記載の技術では、変形対象となる２次元オブジェクト内部に三角形のメッシュを生成し、その頂点の座標を２次元オブジェクトの形状を表すオリジナルのデータとしている。そして、特許文献１に記載の技術では、２次元オブジェクト上の三角形の頂点に設定したハンドルが移動されると、そのハンドルの移動に合わせて、メッシュを構成する三角形の平行移動、回転及び拡大縮小等を行うことにより、最終的なメッシュデータとの誤り量が最小となるように、２次元オブジェクト全体の変形を行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４６１３３１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の技術では、画像の変形度合いが大きくなった場合、三角形のメッシュを変形する過程において、不適切に変形する三角形が発生する可能性があり、これにより、ユーザが意図しない変形となることがあった。
即ち、従来の技術においては、種々の変形態様に対応して、２次元平面に表示された画像を適切に変形することが困難であった。
【０００５】
本発明は、このような状況に鑑みてなされたものであり、種々の変形態様に対応して、２次元平面に表示された画像をより適切に変形することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の一態様の画像処理装置は、
画像に設定した変形制御点の移動に対応して、前記画像を変形させる画像処理装置であって、
前記画像に三角形で構成されるオリジナルメッシュを設定するオリジナルメッシュ生成手段と、
前記変形制御点の移動に対応して、前記オリジナルメッシュを構成する三角形の回転、拡大及び縮小を許容して変形処理を行い、当該変形処理後の三角形と当該三角形に対応する変形処理前の三角形との誤差を最小として中間メッシュを生成する中間メッシュ生成手段と、
前記オリジナルメッシュを構成する三角形と、前記中間メッシュにおいて当該三角形に対応する三角形との大きさの比が設定された閾値以下であるか否かを判定するスケール判定手段と、
前記スケール判定手段による判定の結果に応じて、前記中間メッシュを適合メッシュとするか、前記中間メッシュをスケール調整して適合メッシュとするか、を選択的に決定する適合メッシュ決定手段と、
前記適合メッシュを構成する隣接する三角形の辺を表すベクトルが一致するように変形処理を行い、当該変形処理後の三角形の辺を表すベクトルと当該変形処理前の三角形の辺を表すベクトルとの誤差を最小として最終メッシュを生成する最終メッシュ生成手段と、
を備えたことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、種々の変形態様に対応して、２次元平面に表示された画像をより適切に変形することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】画像処理装置のハードウェアの構成を示すブロック図である。
【図２】画像変形処理を実行するための機能的構成を示す機能ブロック図である。
【図３】オリジナルメッシュにおける三角形の変形例を模式的に示す図である。
【図４】画像に各メッシュが生成された状態を示す図である。
【図５】画像処理装置が実行する画像変形処理の流れを示すフローチャートである。
【図６】画像処理装置が実行する変形用前処理の流れを示すフローチャートである。
【図７】画像処理装置が実行するメッシュ生成処理の流れを示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について、図面を用いて説明する。
［第１実施形態］
［ハードウェア構成］
図１は、本発明の一実施形態に係る画像処理装置１のハードウェアの構成を示すブロック図である。
画像処理装置１は、例えばパーソナルコンピュータ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）として構成される。
【００１０】
本実施形態に係る画像処理装置１は、変形対象となる画像に三角形のメッシュを生成し、変形制御点の移動に対応して、変形条件を定めることによって定義される所定の行列による演算を行って、多段階に三角形を変形させる。このとき、途中の変形段階において三角形の大きさを補正する際に、当初の三角形よりも一定以上小さくなった三角形については、大きさの補正を行うことなく後段の処理に用いることとしている。そして、最終的に変形された三角形の集合によって表されるメッシュが、変形結果の画像を表すものとなる。このような処理を行うことにより、変形過程において縮小された三角形を拡大することによって、不適切に変形する三角形が発生することを抑制でき、種々の変形態様に対応して、２次元平面に表示された画像をより適切に変形することが可能となる。
【００１１】
画像処理装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３と、バス１４と、入出力インターフェース１５と、入力部１６と、出力部１７と、記憶部１８と、通信部１９と、ドライブ２０と、を備えている。
ＣＰＵ１１は、例えば、後述する画像変形処理のためのプログラム等、ＲＯＭ１２に記録されているプログラム、または、記憶部１８からＲＡＭ１３にロードされたプログラムに従って各種の処理を実行する。
【００１２】
ＲＡＭ１３には、ＣＰＵ１１が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【００１３】
ＣＰＵ１１、ＲＯＭ１２及びＲＡＭ１３は、バス１４を介して相互に接続されている。このバス１４にはまた、入出力インターフェース１５も接続されている。入出力インターフェース１５には、入力部１６、出力部１７、記憶部１８、通信部１９及びドライブ２０が接続されている。
【００１４】
入力部１６は、各種釦やポインティングデバイス等で構成され、画像変形処理における画像の変形を行うための指示操作等、ユーザの指示操作に応じて各種情報を入力する。
出力部１７は、ディスプレイやスピーカ等で構成され、画像や音声を出力する。
記憶部１８は、ハードディスクあるいはＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成され、各種画像のデータを記憶する。
通信部１９は、インターネットを含むネットワークを介して他の装置（図示せず）との間で行う通信を制御する。
【００１５】
ドライブ２０には、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリ等よりなる、リムーバブルメディア３１が適宜装着される。ドライブ２０によってリムーバブルメディア３１から読み出されたプログラムは、必要に応じて記憶部１８にインストールされる。また、リムーバブルメディア３１は、記憶部１８に記憶されている画像のデータ等の各種データも、記憶部１８と同様に記憶することができる。
【００１６】
［機能的構成］
図２は、このような画像処理装置１の機能的構成のうち、画像変形処理を実行するための機能的構成を示す機能ブロック図である。
画像変形処理とは、ユーザによって入力される画像の変形指示（変形制御点の移動）に対応して、表示されている画像に変形を施す一連の処理をいう。なお、以下、上述の特許文献１（特許第４６１３３１３号公報）に開示された処理手順を基本とし、さらに、種々の変形態様に対しても、より適切に画像の変形を行うことができる処理手順を追加した実施形態について説明する。
【００１７】
ＣＰＵ１１は、画像変形処理を実行する機能ブロックとして、ユーザ指示取得部４１と、オリジナルメッシュ生成部４２と、メッシュ依存行列生成部４３と、制御点依存行列生成部４４と、中間メッシュ生成部４５と、適合メッシュ生成部４６と、最終メッシュ生成部４７とを備えている。
ユーザ指示取得部４１は、入力部１６を介してユーザによって入力される画像変形処理のための各種指示入力を取得する。例えば、ユーザ指示取得部４１は、入力部１６を介して入力される変形対象となる画像の選択、変形制御点の設定及び移動、画像変形処理の終了の指示入力等を取得する。
【００１８】
オリジナルメッシュ生成部４２は、画像変形処理において処理対象となる変形前の画像に三角形のメッシュ（以下、適宜「オリジナルメッシュ」と呼ぶ。）を生成する。このとき、オリジナルメッシュ生成部４２は、ドロネー三角形分割等の手法によって、処理対象となる画像に三角形の頂点を設定し、三角形のメッシュを生成する。そして、オリジナルメッシュ生成部４２は、生成したオリジナルメッシュを表すデータ（具体的には、メッシュに含まれる各三角形の座標）を変形処理データ記憶部４８に記憶する。
【００１９】
メッシュ依存行列生成部４３は、オリジナルメッシュ生成部４２によって生成された三角形のメッシュに依存して定まる各行列（後述する行列Ｇ１，Ｂ１等）を算出する。
制御点依存行列生成部４４は、オリジナルメッシュの三角形の頂点上に変形制御点が設定、追加あるいは削除されたときに、変形制御点に依存して定まる各行列（後述するＧ２，Ｇ４等）を生成する。
具体的には、メッシュ依存行列生成部４３及び制御点依存行列生成部４４は、以下の手順に基づいて各行列を算出する。
【００２０】
図３は、オリジナルメッシュにおける三角形Ｓの変形例を模式的に示す図である。
図３において、三角形Ｓは、３つの頂点（ｖ０，ｖ１，ｖ２）を有している。
これら３つの頂点のうちの１つの座標は、他の２つの頂点の座標によって表すことができる。即ち、頂点ｖ０，ｖ１の座標と、頂点ｖ２から辺ｖ０ｖ１に下ろした垂線の長さｙ０及び垂線の足の位置（頂点ｖ０からの距離）ｘ０とが与えられれば、次式（１）のように、頂点ｖ２の座標を頂点ｖ０，ｖ１の座標によって表すことができる。
ｖ２＝ｖ０＋ｘ０１・（ベクトルｖ０ｖ１）＋ｙ０・Ｒ９０（ベクトルｖ０ｖ１）  (１)
【００２１】
なお、（１）式において、Ｒ９０は９０度の回転を示す演算子である。
（１）式と同様に、頂点ｖ０，ｖ１の座標についても、他の２つの頂点の座標によって表すことができる。
また、変形制御点が移動されることにより、三角形の歪みや不均一な伸縮を禁止し、平行移動、回転及び拡大・縮小を許容して変形させた結果の三角形からなるメッシュ（以下、適宜「中間メッシュ」と呼ぶ。）における頂点ｖ２の誤差は、｜ｖ２＊−ｖ２｜と表すことができる。ただし、ｖ２＊は、中間メッシュを構成する三角形に変形後の頂点ｖ２の座標である。また、頂点ｖ２と同様に、頂点ｖ０，ｖ１についても誤差｜ｖ０＊−ｖ０｜，｜ｖ１＊−ｖ１｜を算出することができる。これらの誤差は、１つの頂点に関する移動量の大きさを表している。
【００２２】
このように各三角形の頂点の誤差を算出し、全ての三角形の頂点についての誤差を取得することにより、次式（２）に示すように、オリジナルメッシュと変形後のメッシュとの誤差Ｅ１は行列Ｇ１を用いて表すことができる。行列Ｇ１は、オリジナルメッシュを構成する各頂点の接続状態を表している。なお、１つの三角形の３つの頂点についての上記誤差の集合は、その三角形の変形量の大きさを表す指標となる。
Ｅ１＝ｖｔ・Ｇ１・ｖ      （２）
ただし、ｖはオリジナルメッシュにおける三角形の各頂点の座標の集合からなるベクトル、ｖｔはベクトルｖの転置行列を表している。なお、ベクトルｖにおいては、三角形の頂点のうち、変形制御点ｑが下位、他の自由点（変形制御点の移動に対応して位置が決まる点）ｕが上位に配列されている（ｖ＝［ｕ，ｑ］）。
【００２３】
（２）式においては、変形制御点ｑの座標を入力すると、自由点ｕの座標が与えられる。
（２）式によれば、行列Ｅ１は、ベクトルｖの要素について２次の関数であるため、行列Ｅ１の最小値を求めるためには、（３）式に示すように、自由点ｕの座標で偏微分し、その値が０となるときの方程式を解けばよい。
∇Ｅ１／∇ｕ＝Ｇ２・ｕ＋Ｂ１・ｑ＝０      （３）
ただし、Ｇ２は行列Ｇ１において変形制御点の成分を除去した行列、Ｂ１は行列Ｇ１及び変形制御点の座標から得られるベクトルである。なお、（３）式における「Ｂ１・ｑ」項を行列Ｇｘ（＝Ｂ１・ｑ）と置く。行列Ｇｘは、変形制御点の移動と共に変化する。
【００２４】
（３）式より、求める自由点ｕの座標は、次式（４）に示すように、
ｕ＝Ｇ２−１・（−Ｂ１・ｑ）      （４）
として算出できる。
メッシュ依存行列生成部４３は、オリジナルメッシュが生成されると、上述の手順によって行列Ｇ１，Ｂ１を算出する。
そして、制御点依存行列生成部４４は、行列Ｇ２及びその逆行列Ｇ２−１を算出する。
また、オリジナルメッシュの三角形に、歪み、不均一な伸縮及び拡大・縮小を禁止すると共に回転及び平行移動を許容して、上述の中間メッシュを構成する三角形に適合させて、適合メッシュが生成される。中間メッシュと適合メッシュとの誤差（各頂点の位置の誤差）は、各三角形について算出することができる。
【００２５】
このとき、次式（５）に示すように、中間メッシュの三角形について、適合メッシュの三角形との誤差Ｅ２は行列Ｇ３を用いて表すことができる。
Ｅ２＝ｗｔ・Ｇ３・ｗ      （５）
ただし、ｗは１つの頂点を他の２つの頂点の座標によって表すことにより、４つの変数の集合となったベクトルであり、ｗｔはベクトルｗの転置行列を表している。
（５）式をベクトルｗの各要素で偏微分すると、次式（６）が得られる。
∇Ｅ２／∇ｗ＝Ｇ４・ｗ＋Ｂ２      （６）
ただし、Ｇ４は行列Ｇ３において変形制御点の成分を除去した行列、Ｂ２は行列Ｇ３及び変形制御点の座標から得られるベクトルである。
【００２６】
（６）式の右辺を０として、求める三角形の頂点を表す座標ｗは、次式（７）に示すように、
ｗ＝Ｇ４−１・（−Ｂ２）      （７）
として算出できる。
ここで、（６）式においては、中間メッシュの三角形に適合させるために、オリジナルメッシュの三角形を拡大・縮小する要素が含まれているため、変化した大きさを元の大きさに調整するための値を算出する。即ち、（６）式の右辺を０として、ベクトルｗを算出し、ベクトルｗにおける頂点の座標から、三角形の各辺を表すベクトルの大きさＷｆを算出する。そして、オリジナルメッシュの三角形の辺を表すベクトルＥ０と、それに対応する三角形の辺を表すベクトルＷｆとの比（以下、適宜「スケール調整値」と呼ぶ。）Ｗｐを次式（８）に従って算出する。
【００２７】
Ｗｐ＝｜Ｗｆ｜／｜Ｅ０｜      （８）
適合メッシュを構成する各三角形は、（８）式の値の逆数を乗ずることによりオリジナルメッシュにおいて対応する三角形と同一の大きさとされる。
メッシュ依存行列生成部４３は、中間メッシュが生成されると、行列Ｇ４，Ｂ２及び行列Ｇ４の逆行列Ｇ４−１を算出する。
【００２８】
また、適合メッシュの三角形を、誤差を最小にしつつ、最終的なターゲットとなるメッシュ（以下、適宜「最終メッシュ」と呼ぶ。）の三角形に適合させることにより、各自由点ｕの最終的な座標が算出される。このとき、三角形の平行移動、回転、拡大・縮小、歪みが許容され、適合メッシュと最終メッシュとにおいて、対応する三角形の辺を表すベクトルの誤差が最小となるように最終メッシュの三角形が取得される。
即ち、適合メッシュの三角形の各辺を示すベクトルと、対応する最終メッシュの三角形の各辺を示すベクトルとの誤差を、各三角形について算出する。
【００２９】
このとき、次式（９）に示すように、適合メッシュの三角形の各辺について、最終メッシュの三角形との誤差を表す行列Ｅ３は行列Ｇ５を用いて表すことができる。
Ｅ３＝ｚｔ・Ｇ５・ｚ＋Ｂ３・ｚ＋Ｃ      （９）
ただし、ｚはオリジナルメッシュにおける三角形の各頂点の座標の集合からなるベクトル、ｚｔはベクトルｚの転置行列を表している。また、Ｂ３及びＣは適合メッシュ座標から得られるベクトルである。なお、ベクトルｚにおいては、三角形の頂点のうち、変形制御点ｑが下位、他の自由点（変形制御点の移動に対応して位置が決まる点）ｕが上位に配列されている（ｚ＝［ｕ，ｑ］）。
【００３０】
行列Ｅ３の最小値を求めるためには、（２）式と同様に、行列Ｅ３を自由点ｕの座標で偏微分し、その値が０となるときの方程式を解けばよい。
∇Ｅ３／∇ｕ＝Ｇ６・ｕ＋Ｂ４＝０      （１０）
ただし、Ｇ６は行列Ｇ５において変形制御点の成分を除去した行列、Ｂ４は行列Ｇ５、Ｂ３及び変形制御点の座標から得られるベクトルである。
（１０）式より、求める自由点ｕの座標は、次式（１１）に示すように、
ｕ＝Ｇ６−１・（−Ｂ４）      （１１）
として算出できる。
【００３１】
このように算出された自由点ｕの座標によって表される最終メッシュの各三角形は、隣接する三角形の辺が重複しており、最終メッシュは、三角形が連続した構成となっている。
これにより、変形制御点の移動に対応した画像の変形処理が実現される。
メッシュ依存行列生成部４３は、適合メッシュが生成されると、行列Ｇ５を算出する。
そして、制御点依存行列生成部４４は、行列Ｇ６及びその逆行列Ｇ６−１、行列Ｂ４を算出する。
【００３２】
中間メッシュ生成部４５は、行列Ｇ２の逆行列Ｇ２−１及び行列Ｂ１によって、オリジナルメッシュの三角形を中間メッシュの三角形に変換する。
適合メッシュ生成部４６は、行列Ｇ４の逆行列Ｇ４−１及び行列Ｂ２と、スケール調整値Ｗｐによって、中間メッシュ生成部４５によって変換された中間メッシュの三角形を適合メッシュの三角形に変換する。
【００３３】
最終メッシュ生成部４７は、行列Ｇ６の逆行列Ｇ６−１及び行列Ｂ４によって、中間メッシュの三角形を最終メッシュの三角形に変換する。
ここで、本実施形態において、適合メッシュ生成部４６は、スケール調整値Ｗｐの大きさに応じて、適合メッシュの三角形を算出する際のスケール調整処理を切り替える。具体的には、スケール調整値Ｗｐが設定した閾値（ここでは１／８とする）以下である場合、スケール調整を行わず、中間メッシュの三角形をそのまま適合メッシュの三角形とする。一方、適合メッシュ生成部４６は、スケール調整値Ｗｐが設定した閾値より小さくない場合、（７）式によって算出した座標の三角形をＷｐでスケール調整し、適合メッシュの三角形とする。
【００３４】
図２の説明に戻り、記憶部１８の一領域には、画像変形処理において使用される各種データを記憶する変形処理データ記憶部４８が設けられている。
出力部１７は、画像変形処理において処理対象となる画像を表示する画像表示部４９を備えている。
【００３５】
図４は、画像に各メッシュが生成された状態を示す図であり、図４（ａ）は変形対象となる画像にオリジナルメッシュが生成された状態を示す図、図４（ｂ）は中間メッシュ、適合メッシュ及び最終メッシュが生成されることにより、画像が変形された状態を示す図である。
【００３６】
図４に示すように、本実施形態では、画像変形処理において処理対象となる画像が画像表示部４９に表示され、オリジナルメッシュ生成部４２によって画像にオリジナルメッシュが生成される（図４（ａ）参照）。そして、オリジナルメッシュにおける三角形の頂点の一部が変形制御点として設定されると、メッシュ依存行列生成部４３及び制御点依存行列生成部４４が各行列及びスケール調整値Ｗｐを算出し、中間メッシュ生成部４５が中間メッシュの三角形を算出する。さらに、適合メッシュ生成部４６が適合メッシュの三角形を算出し、最終メッシュ生成部４７が最終メッシュの三角形を算出する。このとき、適合メッシュ生成部４６は、スケール調整値Ｗｐが設定した閾値（例えば１／８）以下である場合、スケール調整を行わず、中間メッシュの三角形をそのまま適合メッシュの三角形とする。一方、適合メッシュ生成部４６は、スケール調整値Ｗｐが設定した閾値より小さくない場合、（７）式によって算出した座標の三角形をＷｐでスケール調整し、適合メッシュの三角形とする（図４（ｂ）参照）。
【００３７】
このように、スケール調整値Ｗｐに応じて適合メッシュを構成する三角形の生成方法を切り替えることにより、変形制御点の移動に伴い変形度合いが大きくなる領域（例えば図４（ｂ）における領域Ｌ）において、画像の一部が極端に拡大する等、不適切に変形する三角形の発生を抑制することができる。
【００３８】
［動作］
次に、画像処理装置１の動作を説明する。
［画像変形処理］
初めに、画像処理装置１の動作におけるメインフローとなる画像変形処理について説明する。
図５は、画像処理装置１が実行する画像変形処理の流れを示すフローチャートである。
画像変形処理は、ユーザが画像変形処理の開始を指示入力することに対応して実行される。
ステップＳ１において、ユーザ指示取得部４１は、変形対象となる画像を選択する指示入力を取得する。
【００３９】
ステップＳ２において、ユーザ指示取得部４１は、ユーザによって設定された変形制御点の設定内容を取得する。なお、変形制御点は、画像の変形の複雑さに応じて、１つまたは複数設定される。
ステップＳ３において、メッシュ依存行列生成部４３及び制御点依存行列生成部４４は、画像の変形処理における演算負荷を軽減するための変形用前処理（後述）を実行する。変形用前処理は、画像の変形処理に用いる各種行列等を予め生成する処理である。
ステップＳ４において、ユーザ指示取得部４１は、画像変形処理の終了が指示入力されたか否かの判定を行う。
【００４０】
画像変形処理の終了が指示入力された場合、ステップＳ４においてＹＥＳであると判定されて、処理は終了となる。
これに対して、画像変形処理の終了が指示入力されていない場合、ステップＳ４においてＹＥＳと判定されて、処理はステップＳ５に進む。
ステップＳ５において、ユーザ指示取得部４１は、ユーザによる変形制御点の移動結果を取得する。
【００４１】
ステップＳ６において、中間メッシュ生成部４５、適合メッシュ生成部４６及び最終メッシュ生成部４７は、メッシュ生成処理（後述）を実行する。メッシュ生成処理は、変形制御点の移動に応じて、中間メッシュ、適合メッシュ及び最終メッシュを生成し、変形結果となる各三角形の座標を算出する処理である。
ステップＳ７において、画像表示部４９は、メッシュ生成処理において算出した最終メッシュの三角形の座標に従って、変形後の画像を描画する。
ステップＳ７の後、処理はステップＳ４に進む。
【００４２】
［変形用前処理］
次に、画像変形処理のステップＳ３において実行される変形用前処理について説明する。
図６は、画像処理装置１が実行する変形用前処理の流れを示すフローチャートである。
ステップＳ３０１において、メッシュ依存行列生成部４３は行列Ｇ１，Ｇ５を生成する。
【００４３】
ステップＳ３０２において、メッシュ依存行列生成部４３は行列Ｇ４及びその逆行列Ｇ４−１を算出する。
ステップＳ３０３において、制御点依存行列生成部４４は行列Ｇ２，Ｇ６を算出する。
ステップＳ３０４において、制御点依存行列生成部４４は行列Ｇ２の逆行列Ｇ２−１及び行列Ｇ６の逆行列Ｇ６−１を算出する。
このようなステップ３０４の処理が終了すると、処理は画像変形処理に戻る。
【００４４】
［メッシュ生成処理］
次に、画像変形処理のステップＳ６において実行されるメッシュ生成処理について説明する。
図７は、画像処理装置１が実行するメッシュ生成処理の流れを示すフローチャートである。
ステップＳ６０１において、メッシュ依存行列生成部４３は、変形制御点が移動されたことによる行列Ｇｘ（＝Ｂ１・ｑ）の補正を行う。
ステップＳ６０２において、中間メッシュ生成部４５は、（４）式に従い、自由点ｕを算出する。即ち、ここで算出される自由点は、中間メッシュの三角形の頂点を表す。
【００４５】
ステップＳ６０３において、メッシュ依存行列生成部４３は、中間メッシュの三角形の頂点の座標に基づいて、（６）式に従い、行列Ｂ２を算出する。
ステップＳ６０４において、適合メッシュ生成部４６は、（７）式によって算出される頂点の座標ｗを基に、中間メッシュの各三角形の辺を表すベクトルＷｆを算出する。
ステップＳ６０５において、適合メッシュ生成部４６は、中間メッシュの各三角形の辺に対応するオリジナルメッシュの辺を表すベクトルＥ０を取得する。
【００４６】
ステップＳ６０６において、適合メッシュ生成部４６は、中間メッシュの三角形の辺を表すベクトルＷｆと、オリジナルメッシュにおいて対応する三角形の辺を表すベクトルＥ０との比であるスケール調整値Ｗｐが閾値１／８以下であるか否かの判定を行う。
スケール調整値Ｗｐが閾値１／８以下である場合、ステップＳ６０６においてＹＥＳと判定されて、処理はステップＳ６０７に進む。
これに対し、スケール調整値Ｗｐが閾値１／８より小さくない場合、ステップＳ６０７においてＮＯと判定されて、処理はステップＳ６０８に進む。
【００４７】
ステップＳ６０７において、適合メッシュ生成部４６は、中間メッシュの三角形をスケール調整することなく適合メッシュの三角形とする。
ステップＳ６０８において、適合メッシュ生成部４６は、スケール調整値Ｗｐで中間メッシュの三角形をスケール調整してオリジナルメッシュの三角形の大きさに戻す。
ステップＳ６０９において、適合メッシュ生成部４６は、中間メッシュの三角形の全てを処理したか否かの判定を行う。
【００４８】
中間メッシュの三角形を全て処理し終えていない場合、ステップＳ６０９においてＮＯと判定されて、処理はステップＳ６０３に進む。
これに対し、中間メッシュの三角形の全てを処理した場合、ステップＳ６０９においてＹＥＳと判定されて、処理はステップＳ６１０に進む。
ステップＳ６１０において、最終メッシュ生成部４７は、適合メッシュの三角形の頂点の座標を基に、ベクトルＢ３を算出する。
【００４９】
ステップＳ６１１において、最終メッシュ生成部４７は、行列Ｇ５、ベクトルＢ３及び移動された変形制御点の座標ｑを基に、行列Ｂ４を算出する。
ステップＳ６１２において、最終メッシュ生成部４７は、（１１）式を基に、最終メッシュの三角形の頂点の座標を算出する。
このようなステップＳ６１２の処理が終了すると、処理は画像変形処理に戻る。
【００５０】
以上説明したように、本実施形態の画像処理装置１では、変形対象となる画像に対して三角形のメッシュ（オリジナルメッシュ）を生成する。そして、変形制御点の移動に対応して、三角形の回転及び拡大・縮小を許容して三角形の変換を行い、中間メッシュを生成する。さらに、中間メッシュのスケール調整値Ｗｐの大きさが閾値を超えている場合に、中間メッシュの三角形の大きさをスケール調整し、三角形の回転及び平行移動を許容して三角形の変換を行い、適合メッシュ生成する。そして、適合メッシュの三角形の辺を表すベクトルの向きの誤差を最小とする変換を行って、最終メッシュを生成する。
【００５１】
そのため、オリジナルメッシュの三角形に対し、中間メッシュの三角形の大きさが比較的小さい場合には、スケール調整を行うことなく、中間メッシュが適合メッシュとされる。
したがって、メッシュを構成する三角形の変換による歪みが生じる確率を低減することができ、種々の変形態様に対応して、２次元平面に表示された画像をより適切に変形することが可能となる。
【００５２】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【００５３】
上述の実施形態では、メッシュ生成処理のステップＳ６０７において、スケール調整値Ｗｐが設定した閾値以下である場合に、その中間メッシュの三角形をスケール調整することなく、適合メッシュの三角形とすることとして説明した。
これに対し、スケール調整値Ｗｐが設定した閾値以下である場合に、その中間メッシュの三角形に対応するオリジナルメッシュの三角形を、適合メッシュの三角形とすることもできる。
【００５４】
また、上述の実施形態では、本発明が適用される画像処理装置１は、パーソナルコンピュータを例として説明したが、特にこれに限定されない。
例えば、本発明は、画像処理機能を有する電子機器一般に適用することができる。具体的には、例えば、本発明は、テレビジョン受像機、ビデオカメラ、携帯型ナビゲーション装置、携帯電話機、ポータブルゲーム機等に適用可能である。
【００５５】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、図２の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が画像処理装置１に備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に図２の例に限定されない。
また、１つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
【００５６】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【００５７】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される図１のリムーバブルメディア３１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディア３１は、例えば、磁気ディスク（フロッピディスクを含む）、光ディスク、または光磁気ディスク等により構成される。光ディスクは、例えば、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等により構成される。光磁気ディスクは、ＭＤ（Ｍｉｎｉ−Ｄｉｓｋ）等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている図１のＲＯＭ１２や、図１の記憶部１８に含まれるハードディスク等で構成される。
【００５８】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムの用語は、複数の装置や複数の手段等より構成される全体的な装置を意味するものとする。
【００５９】
以上、本発明の実施形態について説明したが、この実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。上記実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００６０】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［付記１］
画像に設定した変形制御点の移動に対応して、前記画像を変形させる画像処理装置であって、
前記画像に三角形で構成されるオリジナルメッシュを設定するオリジナルメッシュ生成手段と、
前記変形制御点の移動に対応して、前記オリジナルメッシュを構成する三角形の回転、拡大及び縮小を許容して変形処理を行い、当該変形処理後の三角形と当該三角形に対応する変形処理前の三角形との誤差を最小として中間メッシュを生成する中間メッシュ生成手段と、
前記オリジナルメッシュを構成する三角形と、前記中間メッシュにおいて当該三角形に対応する三角形との大きさの比が設定された閾値以下であるか否かを判定するスケール判定手段と、
前記スケール判定手段による判定の結果に応じて、適合メッシュの生成を制御する適合メッシュ生成手段と、
前記適合メッシュを構成する隣接する三角形の辺を表すベクトルが一致するように変形処理を行い、当該変形処理後の三角形の辺を表すベクトルと当該変形処理前の三角形の辺を表すベクトルとの誤差を最小として最終メッシュを生成する最終メッシュ生成手段と、
を備え、
前記適合メッシュ生成手段は、
前記スケール判定手段によって前記大きさの比が前記閾値より大きいと判定された場合は、前記中間メッシュの三角形について、前記変形制御点の移動に対応して、前記オリジナルメッシュを構成する三角形の回転及び平行移動を許容して、前記中間メッシュにおいて対応する三角形との誤差を最小とし、さらに前記大きさの比に応じて大きさを変化させた三角形を、適合メッシュを構成する三角形として取得し、
前記スケール判定手段によって前記大きさの比が前記閾値以下であると判定された場合は、前記中間メッシュの三角形について、当該中間メッシュの三角形に関連して既に算出されている三角形を適合メッシュを構成する三角形として取得し、取得した三角形によって適合メッシュを生成することを特徴とする画像処理装置。
［付記２］
前記適合メッシュ生成手段は、前記オリジナルメッシュを構成する三角形と前記中間メッシュにおいて当該三角形に対応する三角形との大きさの比が前記閾値以下であると判定された前記中間メッシュの三角形について、当該中間メッシュの三角形を、適合メッシュを構成する三角形として取得することを特徴とする付記１記載の画像処理装置。
［付記３］
前記適合メッシュ生成手段は、前記オリジナルメッシュを構成する三角形と前記中間メッシュにおいて当該三角形に対応する三角形との大きさの比が前記閾値以下であると判定された前記中間メッシュの三角形について、当該中間メッシュの三角形に対応する前記オリジナルメッシュの三角形を、適合メッシュを構成する三角形として取得することを特徴とする付記１記載の画像処理装置。
［付記４］
画像に設定した変形制御点の移動に対応して、前記画像を変形させる画像処理方法であって、
前記画像に三角形で構成されるオリジナルメッシュを設定するオリジナルメッシュ生成ステップと、
前記変形制御点の移動に対応して、前記オリジナルメッシュを構成する三角形の回転、拡大及び縮小を許容して変形処理を行い、当該変形処理後の三角形と当該三角形に対応する変形処理前の三角形との誤差を最小として中間メッシュを生成する中間メッシュ生成ステップと、
前記オリジナルメッシュを構成する三角形と、前記中間メッシュにおいて当該三角形に対応する三角形との大きさの比が設定された閾値以下であるか否かを判定するスケール判定ステップと、
前記スケール判定ステップにおける判定の結果に応じて、適合メッシュの生成を制御する適合メッシュ生成ステップと、
前記適合メッシュを構成する隣接する三角形の辺を表すベクトルが一致するように変形処理を行い、当該変形処理後の三角形の辺を表すベクトルと当該変形処理前の三角形の辺を表すベクトルとの誤差を最小として最終メッシュを生成する最終メッシュ生成ステップと、
を含み、
前記適合メッシュ生成ステップでは、
前記スケール判定ステップにおいて前記大きさの比が前記閾値より大きいと判定された場合は、前記中間メッシュの三角形について、前記変形制御点の移動に対応して、前記オリジナルメッシュを構成する三角形の回転及び平行移動を許容して、前記中間メッシュにおいて対応する三角形との誤差を最小とし、さらに前記大きさの比に応じて大きさを変化させた三角形を、適合メッシュを構成する三角形として取得し、
前記スケール判定ステップにおいて前記大きさの比が前記閾値以下であると判定された場合は、前記中間メッシュの三角形について、当該中間メッシュの三角形に関連して既に算出されている三角形を適合メッシュを構成する三角形として取得し、取得した三角形によって適合メッシュを生成することを特徴とする画像処理方法。
［付記５］
画像に設定した変形制御点の移動に対応して、前記画像を変形させるためのプログラムであって、
コンピュータに、
前記画像に三角形で構成されるオリジナルメッシュを設定するオリジナルメッシュ生成機能と、
前記変形制御点の移動に対応して、前記オリジナルメッシュを構成する三角形の回転、拡大及び縮小を許容して変形処理を行い、当該変形処理後の三角形と当該三角形に対応する変形処理前の三角形との誤差を最小として中間メッシュを生成する中間メッシュ生成機能と、
前記オリジナルメッシュを構成する三角形と、前記中間メッシュにおいて当該三角形に対応する三角形との大きさの比が設定された閾値以下であるか否かを判定するスケール判定機能と、
前記スケール判定機能による判定の結果に応じて、適合メッシュの生成を制御する適合メッシュ生成機能と、
前記適合メッシュを構成する隣接する三角形の辺を表すベクトルが一致するように変形処理を行い、当該変形処理後の三角形の辺を表すベクトルと当該変形処理前の三角形の辺を表すベクトルとの誤差を最小として最終メッシュを生成する最終メッシュ生成機能と、
を実現させ、
前記適合メッシュ生成機能は、
前記スケール判定機能によって前記大きさの比が前記閾値より大きいと判定された場合は、前記中間メッシュの三角形について、前記変形制御点の移動に対応して、前記オリジナルメッシュを構成する三角形の回転及び平行移動を許容して、前記中間メッシュにおいて対応する三角形との誤差を最小とし、さらに前記大きさの比に応じて大きさを変化させた三角形を、適合メッシュを構成する三角形として取得し、
前記スケール判定機能によって前記大きさの比が前記閾値以下であると判定された場合は、前記中間メッシュの三角形について、当該中間メッシュの三角形に関連して既に算出されている三角形を適合メッシュを構成する三角形として取得し、取得した三角形によって適合メッシュを生成することを特徴とするプログラム。
【符号の説明】
【００６１】
１・・・画像処理装置、１１・・・ＣＰＵ、１２・・・ＲＯＭ、１３・・・ＲＡＭ、１４・・・バス、１５・・・入出力インターフェース、１６・・・入力部、１７・・・出力部、１８・・・記憶部、１９・・・通信部、２０・・・ドライブ、３１・・・リムーバブルメディア、４１・・・ユーザ指示取得部、４２・・・オリジナルメッシュ生成部、４３・・・メッシュ依存行列生成部、４４・・・制御点依存行列生成部、４５・・・中間メッシュ生成部、４６・・・適合メッシュ生成部、４７・・・最終メッシュ生成部、４８・・・変形処理データ記憶部、４９・・・画像表示部
【図１】
0005811690.tif 000002
【図２】
0005811690.tif 000003
【図３】
0005811690.tif 000004
【図４】
0005811690.tif 000005
【図５】
0005811690.tif 000006
【図６】
0005811690.tif 000007
【図７】
0005811690.tif 000008