(57)【要約】【課題】  グラディエント・メッシュによるオブジェクトの近似を効率的に行うための技術を提供すること。【解決手段】  オブジェクト入力部１０１は画像からオブジェクトの領域をオブジェクト領域として抽出し、メッシュ生成部１０２は、オブジェクト領域を複数のメッシュに分割し、メッシュを構成する各頂点について、位置情報、勾配情報、色情報を求める。最適化部１０３は、メッシュを複数の小領域に分割し、小領域内の色情報と小領域に対応するオブジェクト領域内の色情報との差を極小化するように、頂点の位置情報、勾配情報、色情報を変更する繰り返し演算を行い、これらの情報を決定する。最適化部１０３は、メッシュを複数の小領域に分割する場合、小領域の数若しくはサイズを、繰り返し演算の回数に応じて変更する。【選択図】  図１
2010231435.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
画像からオブジェクトの領域をオブジェクト領域として抽出する手段と、
前記オブジェクト領域を複数のメッシュに分割し、メッシュを構成する各頂点について、位置情報、勾配情報、色情報を求める分割手段と、
それぞれのメッシュを複数の小領域に分割し、当該小領域内の色情報と、当該小領域に対応する前記オブジェクト領域内の色情報と、の差を極小化するように、前記頂点の位置情報、勾配情報、色情報を変更する繰り返し演算を行うことで、前記頂点の位置情報、勾配情報、色情報、を決定する演算手段とを備え、
前記演算手段は、メッシュを複数の小領域に分割する場合、小領域の数若しくはサイズを、前記繰り返し演算の回数に応じて変更することを特徴とする画像処理装置。
【請求項２】
前記演算手段は、メッシュを複数の小領域に分割する場合、前記繰り返し演算の回数の増加に応じて前記小領域の数を増加させる、若しくは前記繰り返し演算の回数の増加に応じて前記小領域のサイズを縮小させる、ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記演算手段は、メッシュを複数の小領域に分割する場合、前記繰り返し演算の回数の増加に応じて分割方向を変更することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記分割手段は、
前記オブジェクト領域内における基準位置を求める手段と、
前記基準位置を通り、互いに直交する２軸を前記オブジェクト領域内に設けることで、この２軸によって前記オブジェクト領域を４つの分割領域に分割する手段と、
それぞれの分割領域の枠部上に代表点を、対向する分割領域で代表点間の距離が最も長くなるように設定する手段と、
隣接する代表点の間を結ぶ曲線を求める処理を、それぞれの代表点間について行うことで、４つの曲線を求める手段と、
前記４つの曲線を用いて、前記４つの曲線で囲まれた領域に対する曲面を求める手段と、
前記曲面が規定する２軸のそれぞれの軸方向に２次元的に前記曲面上の点をサンプリングすることで、４点で規定されるメッシュ単位で前記オブジェクト領域を分割して、メッシュを構成する各頂点の位置情報、勾配情報、色情報を求める手段と
を備えることを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
前記曲線は、３次ベジエスプライン曲線であることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記曲面は、クーンズパッチであることを特徴とする請求項４又は５に記載の画像処理装置。
【請求項７】
前記演算手段は、Ｌｅｖｅｎｂｅｒｇ−Ｍａｒｑｕａｒｄｔ法を用いて繰り返し演算を行うことを特徴とする請求項１乃至６の何れか１項に記載の画像処理装置。
【請求項８】
更に、前記演算手段による演算結果を符号化して管理する手段を備えることを特徴とする請求項１乃至７の何れか１項に記載の画像処理装置。
【請求項９】
前記小領域は、三角形パッチであることを特徴とする請求項１乃至８の何れか１項に記載の画像処理装置。
【請求項１０】
画像処理装置が行う画像処理方法であって、
画像からオブジェクトの領域をオブジェクト領域として抽出する工程と、
前記オブジェクト領域を複数のメッシュに分割し、メッシュを構成する各頂点について、位置情報、勾配情報、色情報を求める分割工程と、
それぞれのメッシュを複数の小領域に分割し、当該小領域内の色情報と、当該小領域に対応する前記オブジェクト領域内の色情報と、の差を極小化するように、前記頂点の位置情報、勾配情報、色情報を変更する繰り返し演算を行うことで、前記頂点の位置情報、勾配情報、色情報、を決定する演算工程とを備え、
前記演算工程では、メッシュを複数の小領域に分割する場合、小領域の数若しくはサイズを、前記繰り返し演算の回数に応じて変更することを特徴とする画像処理方法。
【請求項１１】
コンピュータを、請求項１乃至９の何れか１項に記載の画像処理装置が有する各手段として機能させる為のコンピュータプログラム。
【請求項１２】
請求項１１に記載のコンピュータプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ラスタ画像中のオブジェクトをグラディエント・メッシュに変換する際に、メッシュとオブジェクトとの間の色誤差を減らすようにメッシュの位置、勾配、色を調整してオブジェクトを近似する、画像の解像度フリー表現技術に関するものである。
【背景技術】
【０００２】
従来、イラストや文字の解像度フリー表現には、オブジェクトの輪郭をベジェ、スプライン関数などで関数近似する手法が用いられている。この手法は高速かつ一般的であるが、複雑なグラデーションの表現が困難である。
【０００３】
解像度フリーで複雑なグラデーションを含むオブジェクトを描画するためには、Ａｄｏｂｅ  Ｉｌｌｕｓｔｒａｔｏｒ（登録商標）のグラディエント・メッシュ・ツールが一般に用いられている。グラディエント・メッシュでは、メッシュに色と勾配を与えて三次関数を生成することで複雑なオブジェクトを描画することができる（特許文献１、２）。
【０００４】
複雑なグラデーションを含むオブジェクトを解像度フリー表現するために、画像をメッシュで近似する手法が幾つか提案されている。三角形パッチを用いて画像を近似する手法（特許文献３）、ベジェパッチを細分割して近似誤差を低減する手法（非特許文献１）などが挙げられる。また、最適化問題を解いてグラディエント・メッシュを構築することで、少ないメッシュ数で解像度フリーを実現する手法も提案されている（特許文献４、非特許文献２）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−３４５３４７号公報
【特許文献２】特開平１０−３２０５８５号公報
【特許文献３】特登録０３７６４７６５号
【特許文献４】ＵＳ  ２００８／０２７８４７９
【非特許文献】
【０００６】
【非特許文献１】Ｂｒｉａｎ  Ｐｒｉｃｅ，Ｗｉｌｌｉａｍ  Ｂａｒｒｅｔｔ，「Ｏｂｊｅｃｔ−ｂａｓｅｄ  ｖｅｃｔｏｒｉｚａｔｉｏｎ  ｆｏｒ  ｉｎｔｅｒａｃｔｉｖｅ  ｉｍａｇｅ  ｅｄｉｔｉｎｇ」，Ｉｎ  ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  Ｐａｃｉｆｉｃ  Ｇｒａｐｈｉｃｓ  ２００６，２００６，ｖｏｌ．２２，ｎｏ．９−１１，ｐ．６６１−６７０．
【非特許文献２】Ｊｉａｎ  Ｓｕｎ，Ｌｉｎ  Ｌｉａｎｇ，Ｆａｎｇ  Ｗｅｎ，Ｈｅｕｎｇ−Ｙｅｕｎｇ  Ｓｈｕｍ，「Ｉｍａｇｅ  Ｖｅｃｔｏｒｉｚａｔｉｏｎ  ｕｓｉｎｇ  Ｏｐｔｉｍｉｚｅｄ  Ｇｒａｄｉｅｎｔ  Ｍｅｓｈｅｓ」，Ｉｎ  ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＳＩＧＧＲＡＰＨ  ２００７，２００７，ｖｏｌ．２６，ｎｏ．３．
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述の三角形パッチを用いて画像を近似する手法では、オブジェクトの境界表現において問題がある。オブジェクトの境界が滑らかな曲線である場合、線形メッシュで曲線を忠実に近似することは困難であり、忠実に近似するためには多数のメッシュを用いなければならない。より少ないメッシュ数で複雑な境界を近似するためには、高次のメッシュを用いる必要がある。
【０００８】
上述のベジェパッチを細分割して近似誤差を低減する手法では、高次のメッシュを用いるため、オブジェクト境界の近似を忠実に行うことができる。しかしながら、近似誤差を低減するためにメッシュを細分割しているため、オブジェクトの色変化が複雑な部分でメッシュ数が増え、データ量も増大してしまう。
【０００９】
上述の最適化問題を解いてグラディエント・メッシュを構築する手法では、オブジェクト境界においても、オブジェクトの色変化が複雑な部分においても、より少ないメッシュ数で解像度フリーを実現することができる。しかしこの手法では、メッシュとオブジェクトとの間の色誤差を画素単位で評価して最適化問題を解いているため、スキャンノイズなどの高周波成分の影響を受けやすいと言う課題がある。
【００１０】
本発明は以上の問題に鑑みて成されたものであり、グラディエント・メッシュによるオブジェクトの近似を効率的に行うための技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。即ち、画像処理装置であって、画像からオブジェクトの領域をオブジェクト領域として抽出する手段と、前記オブジェクト領域を複数のメッシュに分割し、メッシュを構成する各頂点について、位置情報、勾配情報、色情報を求める分割手段と、それぞれのメッシュを複数の小領域に分割し、当該小領域内の色情報と、当該小領域に対応する前記オブジェクト領域内の色情報と、の差を極小化するように、前記頂点の位置情報、勾配情報、色情報を変更する繰り返し演算を行うことで、前記頂点の位置情報、勾配情報、色情報、を決定する演算手段とを備え、前記演算手段は、メッシュを複数の小領域に分割する場合、小領域の数若しくはサイズを、前記繰り返し演算の回数に応じて変更することを特徴とする。
【発明の効果】
【００１２】
本発明の構成によれば、グラディエント・メッシュによるオブジェクトの近似を効率的に行うことができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態に係る画像処理装置の機能構成例を示すブロック図。
【図２】メッシュ生成部１０２が、オブジェクト領域のデータを用いて行う処理のフローチャート。
【図３（ａ）】抽出されたオブジェクト領域の一例を示す図。
【図３（ｂ）】ステップＳ２０１、Ｓ２０２における処理を説明する為の図。
【図３（ｃ）】ステップＳ２０３、Ｓ２０４における処理を説明する為の図。
【図３（ｄ）】ステップＳ２０５、Ｓ２０６における処理を説明する図。
【図４】ステップＳ２０７における処理を説明するための図。
【図５】最適化部１０３が行う処理のフローチャート。
【図６】エネルギ関数を示す図。
【図７】ステップＳ８０２，Ｓ８０３における処理を説明する図。
【図８】ステップＳ８０２，Ｓ８０３における処理を説明する図。
【図９（ａ）】メッシュに対して図５のフローチャートに従った処理を行ったパラメトリック曲面を示す図。
【図９（ｂ）】メッシュに対して分割数を初めから細かく設定して計算した場合の例を示す図。
【図１０】コンピュータのハードウェア構成例を示すブロック図。
【図１１】最適化部１０３が行う処理のフローチャート。
【図１２】ステップＳ８０２，Ｓ１５０１，Ｓ８０３における処理について説明する図。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００１５】
［第１の実施形態］
先ず、図１を用いて、本実施形態に係る画像処理装置の機能構成例について説明する。図１に示す如く、本実施形態に係る画像処理装置は、オブジェクト入力部１０１、メッシュ生成部１０２、最適化部１０３、符号化部１０４、を有している。
【００１６】
オブジェクト入力部１０１には、１以上のオブジェクトを含む入力画像が入力される。この「オブジェクト」とは、文字や物体像などを指し示しており、本実施形態では、この「オブジェクト」は、色のグラデーションを有しているものとして説明する。即ち、本実施形態では、色のグラデーションを有するオブジェクトに対するメッシュ符号化を行う。
【００１７】
そしてオブジェクト入力部１０１は、この入力画像からオブジェクトの領域をオブジェクト領域として抽出する処理を行う。図３（ａ）に、抽出されたオブジェクト領域の一例を示す。抽出されたオブジェクト領域のデータには、オブジェクト領域３０１の枠部３０３を構成する各画素の、入力画像上における座標位置と、オブジェクト領域３０１の内部３０２を構成する各画素の画素値と、が含まれている。本実施形態では、画素値は、ＲＧＢのそれぞれの色成分が８ビットで表現されているものとして説明するが、色成分の種別、１つの色成分を構成するビット数、についてはこれに限定するものではない。また、オブジェクト領域のデータの構成については、オブジェクト領域の枠部を構成する各画素の座標位置、オブジェクト領域の内部を構成する各画素の画素値、が導出できるのであれば、他のデータ構成であっても良い。そしてオブジェクト入力部１０１は、抽出したオブジェクト領域のデータを、後段のメッシュ生成部１０２に送出する。
【００１８】
図２を用いて、メッシュ生成部１０２が、オブジェクト領域のデータを用いて行う処理について説明する。ステップＳ２０１では、メッシュ生成部１０２は、オブジェクト領域の枠部を構成する各画素の座標位置を用いて、オブジェクト領域内における基準位置を求める。本実施形態では、この基準位置として、オブジェクト領域の重心位置（中心位置）を求める。もちろん、オブジェクト領域内における基準位置は中心位置に限定するものではないし、中心位置を求めるための処理はこれに限定するものではない。
【００１９】
次に、ステップＳ２０２では、メッシュ生成部１０２は、ステップＳ２０１で求めた中心位置で互いに直交する２軸（ｘ軸、ｙ軸）をオブジェクト領域上に設けることで、この２軸でオブジェクト領域を４分割する。即ち、４つの分割領域を求める。
【００２０】
図３（ｂ）を用いて、ステップＳ２０１、Ｓ２０２における処理を説明する。図３（ｂ）において４０１は、ステップＳ２０１で求めた中心位置を示す。４０２，４０３は、この中心位置４０１で互いに直交する２軸で、それぞれ入力画像におけるｘ軸方向、ｙ軸方向に沿っている。このような２軸４０２，４０３を設定することで、オブジェクト領域３０１は、分割領域４０４，４０５，４０６，４０７に分割される。
【００２１】
図２に戻って、次に、ステップＳ２０３、Ｓ２０４では、メッシュ生成部１０２は、それぞれの分割領域の枠部上に代表点を、対向する分割領域で代表点間の距離が最も長くなるように設定する。
【００２２】
図３（ｃ）を用いて、ステップＳ２０３、Ｓ２０４における処理を説明する。図３（ｃ）において５０１は分割領域４０４の枠部を示しており、５０２は分割領域４０５の枠部を示しており、５０３は分割領域４０６の枠部を示しており、５０４は分割領域４０７の枠部を示している。
【００２３】
ここでメッシュ生成部１０２は、分割領域４０４の枠部５０１上に代表点を設けると共に、分割領域４０４と対向する分割領域４０６の枠部５０３上にも代表点を設けるが、それぞれの代表点間の距離が最大となるように、それぞれの代表点の位置を決める。その結果、図３（ｃ）に示す如く、枠部５０１上における代表点として代表点５０７が設定され、枠部５０３上における代表点として代表点５０９が設定される。
【００２４】
同様に、メッシュ生成部１０２は、分割領域４０５の枠部５０２上に代表点を設けると共に、分割領域４０５と対向する分割領域４０７の枠部５０４上にも代表点を設けるが、それぞれの代表点間の距離が最大となるように、それぞれの代表点の位置を決める。その結果、図３（ｃ）に示す如く、枠部５０２上における代表点として代表点５０８が設定され、枠部５０４上における代表点として代表点５１０が設定される。
【００２５】
即ち、係る処理によれば、それぞれの分割領域の枠部上に１つの代表点を設定することができ、これにより、４つの代表点を偏りなく配置することができる。
【００２６】
図２に戻って、次に、ステップＳ２０５では、メッシュ生成部１０２は、隣接する代表点の間を結ぶ３次ベジェスプライン曲線（パラメトリック曲線）を求める処理を、それぞれの代表点間について行うことで、４つの３次ベジェスプライン曲線を求める。これにより、オブジェクト領域の枠部の形状を、この４つの３次ベジェスプライン曲線を用いて近似することができる。
【００２７】
次に、ステップＳ２０６では、メッシュ生成部１０２は、ステップＳ２０５で求めた４つの３次ベジェスプライン曲線からクーンズパッチを生成することで、この４つの３次ベジェスプライン曲線から１つのパラメトリック曲面を求める。
【００２８】
図３（ｄ）を用いて、ステップＳ２０５、Ｓ２０６における処理を説明する。図３（ｄ）において６０１は、代表点５０７と代表点５０８とを結ぶ３次ベジェスプライン曲線である。また、６０２は、代表点５０８と代表点５０９とを結ぶ３次ベジェスプライン曲線である。また、６０３は、代表点５０９と代表点５１０とを結ぶ３次ベジェスプライン曲線である。また、６０４は、代表点５１０と代表点５０７とを結ぶ３次ベジェスプライン曲線である。
【００２９】
従って図３（ｄ）の場合、メッシュ生成部１０２は、ステップＳ２０５で４つの３次ベジェスプライン曲線６０１〜６０４を求める。そしてメッシュ生成部１０２は、ステップＳ２０６でこの４つの３次ベジエスプライン曲線６０１〜６０４で囲まれた領域をクーンズパッチでパラメトリック曲面表現することで、パラメトリック曲面６０５を求める。なお、係る処理については周知の技術であるので、これ以上の説明は省略する。
【００３０】
図２に戻って、次に、ステップＳ２０７では、メッシュ生成部１０２は、ステップＳ２０６で求めたパラメトリック曲面を、ｕ方向、ｖ方向、それぞれに均一に分割してメッシュ群を生成する。即ち、ｕ方向、ｖ方向に２次元的にパラメトリック曲面上の点をサンプリングすることで、サンプリングした４点で規定されるメッシュ単位で、パラメトリック曲面（オブジェクト領域）を分割する。この分割処理により、メッシュを構成する各頂点について、その位置を示す位置情報、その位置における勾配情報、その位置における色情報が求まる。
【００３１】
なお、その後の最適処理を効率的に行うため、メッシュ生成では、最適メッシュに近い位置にメッシュを生成することが望ましい。また、メッシュ数も画像の特徴に応じて適応的に配置されることが望ましい。
【００３２】
図４を用いて、ステップＳ２０７における処理を説明する。図４では、３次ベジエスプライン曲線７０１，７０３がｕ方向（即ちパラメトリック曲面が規定する方向）、３次ベジエスプライン曲線７０２，７０４がｖ方向（即ちパラメトリック曲面が規定する方向）とする。この場合、ｕ方向、ｖ方向に２次元的にパラメトリック曲面上の点をサンプリングすることで、サンプリングした４点で規定されるメッシュ単位でパラメトリック曲面を分割し、これによりメッシュ群７０５を生成する。即ち、パラメトリック曲面を複数のメッシュに分割する。
【００３３】
ここで「均一に分割」とは、パラメトリック曲面はｕ、ｖ方向それぞれ０〜１の値を取る媒介変数で表現されているため、例えば、パラメトリック曲面を１０分割する場合、媒介変数を０．１刻みで変化させた場合の各位置の点をサンプリングすることを指す。もちろん、分割数は任意に設定しても良い。図４では、ｕ、ｖ方向共に分割数を１５に設定している。
【００３４】
メッシュ生成部１０２が上記の処理を行った後、最適化部１０３は、次のような処理を開始する。即ち、このようにして生成されたパラメトリック曲面上の複数のメッシュから算出されるメッシュ内の色と、このメッシュの入力画像上での位置に対応する色との誤差が極小となるように、下記の情報群を最適化する。
【００３５】
・  メッシュの位置情報（二次元座標）
・  勾配情報
・  色情報（ＲＧＢ値）
・  色の勾配情報
図５を用いて、最適化部１０３が行う処理について説明する。先ず、ステップＳ８０１では、反復回数を表す変数ｉを０に初期化する。次に、ステップＳ８０２では、ステップＳ８０３における分割要素である小領域の大きさや数の設定を行う。小領域の大きさや数は、変数ｉの値（ステップＳ８０２〜ステップＳ８１１で行う繰り返し演算の回数）や、メッシュ形状によって決定される。小領域の設定について詳しくは、以下のステップＳ８０３における処理についての詳細な説明と共に後述する。
【００３６】
ステップＳ８０３では、メッシュ生成部１０２が生成したそれぞれのメッシュ（初期メッシュ）をｕ方向、ｖ方向それぞれに均一分割して四辺形パッチを生成し、更に四辺形パッチを三角形パッチに分割する。これにより、初期メッシュをステップＳ８０２で設定した小領域に細分割する。即ち、本ステップでは、それぞれの初期メッシュを複数の小領域（ここでは三角形パッチ）に分割する。
【００３７】
図７，１１を用いて、ステップＳ８０２，Ｓ８０３における処理について説明する。先ず、変数ｉの値に応じて分割する小領域の数の制御方法について図７を用いて説明する。図７（ａ）には、メッシュ生成部１０２が生成した初期メッシュを示している。
【００３８】
図７（ｂ）には、図７（ａ）に示した初期メッシュ（４つの黒丸で示す頂点で囲まれたメッシュ）を、変数ｉ＝０の時にステップＳ８０２で設定し、ステップＳ８０３で分割した小領域群を示している。図７（ｂ）に示す如く、１つのメッシュは２×２の四辺形パッチに分割されており、更にそれぞれの四辺形パッチは２つの三角形パッチに分割されている。
【００３９】
図７（ｃ）には、図７（ａ）に示した初期メッシュを、変数ｉ＝１の時にステップＳ８０２で設定し、ステップＳ８０３で分割した小領域群を示している。図７（ｃ）に示す如く、１つのメッシュは３×３の四辺形パッチに分割されており、更にそれぞれの四辺形パッチは２つの三角形パッチに分割されている。
【００４０】
図７（ｄ）には、図７（ａ）に示した初期メッシュを、変数ｉ＝２の時にステップＳ８０２で設定し、ステップＳ８０３で分割した小領域群を示している。図７（ｄ）に示す如く、１つのメッシュは４×４の四辺形パッチに分割されており、更にそれぞれの四辺形パッチは２つの三角形パッチに分割されている。
【００４１】
このように、メッシュの分割数を制御する場合、ステップＳ８０２，Ｓ８０３では、それぞれのメッシュを、繰り返し演算の回数の増加に応じて増加する数の小領域に分割する処理を行う。最初は１つのメッシュを粗く分割するので、平滑化の効果が得られ、ノイズの影響を受けにくくなるため、メッシュを大きく変化させることができ、オブジェクトを粗く近似したメッシュを生成することができる。その後、分割を細かくしていくことで、メッシュの変化は大きくないが、オブジェクトを詳細に近似したメッシュを生成することができる。
【００４２】
次に、メッシュの形状に応じて分割する小領域の大きさの制御方法について図８を用いて説明する。図８（ａ）には、メッシュ生成部１０２が生成した初期メッシュを示している。図８（ｂ）、（ｃ）、（ｄ）にはそれぞれ、図８（ａ）に示した初期メッシュ（４つの黒丸で示す頂点で囲まれたメッシュ）を、変数ｉ＝０，１，２の時にステップＳ８０２で設定し、ステップＳ８０３で分割した小領域群を示している。図８に示す如く、変数ｉの値が大きくなるに従って、メッシュが細く変形していることが分かる。ここでは、メッシュの頂点間の距離を基に、三角形パッチの大きさが閾値以下にならないように、縦横の分割数を変更している。例えば図８（ｃ）では、図７（ｃ）と同様にメッシュを３×３に分割するように設定しているが、メッシュの頂点１１０１と頂点１１０２との間の距離が縮まっていることから、メッシュは２×３に分割されている。図８（ｄ）では、図７（ｄ）と同様にメッシュを４×４に分割するように設定しているが、メッシュの頂点１１０３と頂点１１０４との間の距離がさらに縮まっていることから、メッシュは１×４に分割されている。
【００４３】
このように、メッシュの大きさを制御する場合、ステップＳ８０２，Ｓ８０３では、それぞれのメッシュを、繰り返し演算の回数の増加に応じて縮小するサイズを有する小領域に分割する処理を行う。
【００４４】
従って、ステップＳ８０２，Ｓ８０３では、メッシュの数、大きさの何れの制御を行っても良い。このような処理を行うことで、色誤差の評価値を安定的に求めることができる。
【００４５】
図５に戻って次に、ステップＳ８０４では、小領域（本実施形態では三角形パッチ）をエネルギ関数の評価単位に設定する。ここでは、最適化の誤差計算を画素単位ではなく、小領域単位で行うことで最適化精度の向上を図っている。図６に示されているエネルギ関数では、小領域の数に合わせてメッシュを分割して画素値を計算し、求めた画素間を連結して三角形パッチを生成し、三角形パッチ毎にエネルギ関数の値を評価している。
【００４６】
ステップＳ８０５では、反復回数を表す変数ｊを０に初期化し、ステップＳ８０６では、エネルギ関数からマトリクスを導出する。ここで、マトリクスの各要素（スカラー値）は、すべてのメッシュ情報を用いて計算される数値である。最適なメッシュ情報は未知であり、メッシュ情報を様々な値に変化させて極小のエネルギ値を持つメッシュ情報を求める必要がある。即ち、未知数分（メッシュ頂点数×変化させるパラメータ数）のサイズを持つマトリクスを導出し、計算する必要がある。マトリクス導出の方法は幾つかあるが、ここではＬｅｖｅｎｂｅｒｇ−Ｍａｒｑｕａｒｄｔ法という既知の方法を用いて導出する。
【００４７】
図６にエネルギ関数の式を示す。ここで、ＭはＰ個のオブジェクト領域から成るグラディエント・メッシュ、ｕ、ｖはパラメトリック座標、ｐはオブジェクト領域、Ｉｐはオブジェクト領域ｐ内の元画像の色を示す。また、ｍ（ｕ、ｖ）はグラディエント・メッシュの座標、ｆｐ（ｕ、ｖ）はオブジェクト領域ｐ内のパラメトリック座標（ｕ、ｖ）におけるグラディエント・メッシュの色を示す。マトリクスは上述の通り、Ｌｅｖｅｎｂｅｒｇ−Ｍａｒｑｕａｒｄｔ法によって導出し、その際の未知数は、メッシュ（各頂点）の位置情報（二次元座標）、メッシュ（各頂点）の勾配情報、色の勾配情報である。
【００４８】
即ち、係る演算は、小領域内の色情報と、小領域に対応するオブジェクト領域内の色情報と、の差を極小化するように、頂点の位置情報、勾配情報、色情報を変更する繰り返し演算を行うことで、頂点の位置情報、勾配情報、色情報、を決定する処理である。なお、エネルギ関数は、上記の目的を達成することができるのであれば、係る式に限定するものではない。
【００４９】
ステップＳ８０７では、連立一次方程式の解Δｕを計算し、ステップＳ８０８では、反復回数を表す変数ｊに１を加えて更新する。次に、ステップＳ８０９では、＜Δｕの絶対値の和（メッシュの更新量）が設定された閾値以下、または、変数ｊの値が設定された最大反復回数に達した＞という条件が満たされたか否かを判断する。係る判断の結果、この条件が満たされた場合には処理をステップＳ８１０に進め、満たされていない場合には処理をステップＳ８０６に戻す。
【００５０】
即ち、係る繰り返し演算により、メッシュ（各頂点）の位置情報（二次元座標）、メッシュ（各頂点）の勾配情報、色情報（ＲＧＢ値）、色の勾配情報が、最適に更新される（エネルギ関数を極小化するように変更される）。
【００５１】
ステップＳ８１０では、変数ｉの値に１を加えて更新する。ステップＳ８１１では、＜ステップＳ８０３で行った小領域への分割数が設定された最大値以上、又は変数ｉの値が設定された最大反復回数に達した＞という条件が満たされたか否かを判断する。もちろん、ステップＳ８０２，Ｓ８０３における制御方法によっては、＜ステップＳ８０３で分割した小領域のサイズが最小値以下、又は変数ｉの値が設定された最大反復回数に達した＞という条件をステップＳ８１１で用いても良い。係る判断の結果、条件が満たされた場合には本処理を終了し、満たされていない場合には処理をステップＳ８０２に戻す。
【００５２】
次に、図９（ａ）を用いて、図７（ａ）及び図８（ａ）に示した初期メッシュに対して図５に示したフローチャートに従った処理を行うことで得られるパラメトリック曲面の一例について説明する。
【００５３】
ｕ方向、ｖ方向にそれぞれ、変数ｉ＝０で５×５、ｉ＝１で１０×１０、ｉ＝２で２０×２０に分割されており、元の画像との平均誤差はそれぞれ、１．２６、１．０９、１．０６／ｐｉｘｅｌと、誤差を最小値へ近づけている。ここで、平均誤差はＲＧＢ２５６階調の誤差をピクセル単位で計算したものである。また、画像を参照してもメッシュ頂点が大きく動き、画像の特徴を良く捉えている様子が伺える。
【００５４】
図９（ａ）に示す如く、エネルギ関数を極小化するように、初期メッシュの二次元座標、メッシュ（各頂点）の勾配、ＲＧＢ値、色の勾配、を更新することで、パラメトリック曲面１２０１を生成する。
【００５５】
なお、本実施形態では、繰り返し演算にはＬｅｖｅｎｂｅｒｇ−Ｍａｒｑｕａｒｄｔ法を用いたが、Ｇａｕｓｓ−Ｎｅｗｔｏｎ法など他の手法を用いても構わない。また、最適化処理における連立一次方程式の計算には前処理付きＢｉｃｏｎｊｕｇａｔｅ  Ｇｒａｄｉｅｎｔ  Ｍｅｔｈｏｄを用いたが、同様にＬＵ分解、Ｃｈｏｌｅｓｋｙ分解など他の手法を用いても構わない。また、計算簡易化のため、色の勾配情報を未知数として計算しなくても構わない。
【００５６】
次に、図９（ｂ）を用いて、図７（ａ）及び図８（ａ）に示した初期メッシュに対して分割数を初めから細かく設定して計算した場合の例について説明する。分割数はｕ方向、ｖ方向に２０×２０で計算した結果、元の画像との平均誤差は、３．５７／ｐｉｘｅｌと誤差の減りが少ないことが分かる。ここで、平均誤差はＲＧＢ２５６階調の誤差をピクセル単位で計算したものである。また、画像を参照してもメッシュ頂点の動きが少なく、１３０１に示す如く、画像の特徴を表現できていないことが分かる。
【００５７】
図１に戻って、最適化部１０３による上記処理を行った後、符号化部１０４は、最適化部１０３による上記の処理によって得られたメッシュデータ（演算結果）を符号化して管理する。メッシュデータには、次の項目の内容がテキストとして記されている。
【００５８】
・  メッシュのｕ方向の頂点数、メッシュのｖ方向の頂点数、領域数等を含むヘッダ
・  メッシュの頂点のｘ座標、ｙ座標、ｕ方向の勾配、ｖ方向の勾配、ｕ方向のスケール値、ｖ方向のスケール値、ＲＧＢ値、色のｕ方向の勾配、色のｖ方向の勾配
本実施形態では、符号化部１０４は、このような項目の内容が記されたテキストデータとしてのメッシュデータをｚｉｐ符号化して管理しているが、非可逆符号化を含めた他の符号化方法を用いても構わない。
【００５９】
以上説明したように、本実施形態では、メッシュとオブジェクトとの間の色誤差を小領域単位で評価して極小化し、小領域の数や大きさを最適化処理の反復回数やメッシュ形状に応じて変更する。係る処理により、本実施形態では、グラディエント・メッシュによるオブジェクトの近似の画質向上および処理時間の削減を実現することができる。
【００６０】
＜第１の実施形態の変形例＞
図１に示した各部はハードウェアで構成しても良いが、ソフトウェア（コンピュータプログラム）として実装しても良い。この場合、このソフトウェアは、ＰＣ（パーソナルコンピュータ）等、一般のコンピュータのメモリにインストールされることになる。そしてこのコンピュータのＣＰＵがこのインストールされたソフトウェアを実行することで、このコンピュータは、上述の画像処理装置の機能（図１に示した各部の機能）を実現することになる。即ち、このコンピュータは、上述の画像処理装置に適用することができる。図１０を用いて、第１の実施形態に係る画像処理装置として適用可能なコンピュータのハードウェア構成例について説明する。
【００６１】
ＣＰＵ１４０１は、ＲＡＭ１４０２やＲＯＭ１４０３に格納されているコンピュータプログラムやデータを用いて、コンピュータ全体の制御を行うと共に、画像処理装置が行うものとして説明した上述の各処理を実行する。即ち、図１に示した各部が行うものとして上述した各処理を実行する。
【００６２】
ＲＡＭ１４０２は、コンピュータ読み取り可能な記憶媒体の一例である。ＲＡＭ１４０２は、外部記憶装置１４０７や記憶媒体ドライブ１４０８からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）１４０９を介して外部装置から受信したデータなどを一時的に記憶するためのエリアを有する。更に、ＲＡＭ１４０２は、ＣＰＵ１４０１が各種の処理を実行する際に用いるワークエリアを有する。即ち、ＲＡＭ１４０２は、各種のエリアを適宜提供することができる。ＲＯＭ１４０３は、コンピュータ読み取り可能な記憶媒体の一例であり、コンピュータの設定データや、ブートプログラムなどが格納されている。
【００６３】
キーボード１４０４、マウス１４０５は、コンピュータの操作者が操作することで、各種の指示をＣＰＵ１４０１に対して入力することができる。表示装置１４０６は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ１４０１による処理結果を画像や文字などでもって表示することができる。例えば、上記入力画像を表示したり、抽出したオブジェクト領域を明示的に表示したり、メッシュ符号化の過程で求めた３次ベジエスプライン曲線やパラメトリック曲面等を表示したりすることができる。
【００６４】
外部記憶装置１４０７は、コンピュータ読み取り可能な記憶媒体の一例であり、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置１４０７には、ＯＳ（オペレーティングシステム）や、図１に示した各部の機能をＣＰＵ１４０１に実現させるためのコンピュータプログラムやデータ、上記入力画像のデータ、既知の情報として説明した情報等が保存されている。外部記憶装置１４０７に保存されているコンピュータプログラムやデータは、ＣＰＵ１４０１による制御に従って適宜ＲＡＭ１４０２にロードされ、ＣＰＵ１４０１による処理対象となる。
【００６５】
記憶媒体ドライブ１４０８は、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶媒体に記録されているコンピュータプログラムやデータを読み出し、読み出したコンピュータプログラムやデータを外部記憶装置１４０７やＲＡＭ１４０２に出力する。なお、外部記憶装置１４０７に保存されているものとして説明した情報の一部若しくは全部をこの記憶媒体に記録させておき、この記憶媒体ドライブ１４０８に読み取らせても良い。
【００６６】
Ｉ／Ｆ１４０９は、外部装置をコンピュータに接続する為のものである。例えば、ディジタルカメラなど、上記入力画像を取得するための装置を、このＩ／Ｆ１４０９に接続し、この装置から入力画像をＩ／Ｆ１４０９を介してＲＡＭ１４０２や外部記憶装置１４０７に取得するようにしても良い。１４１０は、上述の各部を繋ぐバスである。
【００６７】
上記構成において、本コンピュータの電源がＯＮになると、ＣＰＵ１４０１はＲＯＭ１４０３に格納されている上記ブートプログラムに従って、外部記憶装置１４０７からＯＳをＲＡＭ１４０２にロードする。この結果、キーボード１４０４、マウス１４０５を介した情報入力操作が可能となり、表示装置１４０６にＧＵＩを表示することが可能となる。ユーザが、キーボード１４０４やマウス１４０５を操作し、外部記憶装置１４０７に格納された画像処理用アプリケーションプログラムの起動指示を入力すると、ＣＰＵ１４０１はこのプログラムをＲＡＭ１４０２にロードし、実行する。これにより、本コンピュータが上記の画像処理装置として機能することになる。
【００６８】
ＣＰＵ１４０１が実行する画像処理用のアプリケーションプログラムは、基本的に図２、図５に示す各構成要素に相当する関数を備えることになる。ここで、符号化したグラディエント・メッシュのデータは外部記憶装置１４０７に保存することになる。
【００６９】
［第２の実施形態］
第１の実施形態では、メッシュ最適化時の小領域の設定において、小領域の大きさ、または数を、反復回数を表す変数ｉ、またはメッシュ形状より決定する方法を説明した。しかし第１の実施形態では、入力したオブジェクトにおいて、分割方向に特徴を持つ模様などが含まれる場合、最適問題の精度が十分に得られない場合もある。本実施形態では、係る点を鑑みた小領域の設定方法について説明する。
【００７０】
本実施形態では、最適化部１０３の動作のみが第１の実施形態と異なるので、以下では、本実施形態における最適化部１０３の動作についてのみ説明する。図１１を用いて、最適化部１０３が行う処理について説明する。図１１において、図５に示した処理ステップと同じ処理ステップについては同じ参照番号を付しており、その説明は省略する。
【００７１】
ステップＳ１５０１では、ステップＳ８０３において行う分割の方向を、反復回数を表す変数ｉに基づいて設定する。従ってステップＳ８０３では、ステップＳ８０２で設定した小領域を単位にして、ステップＳ１５０１で設定した分割方向に初期メッシュを分割する。
【００７２】
図１２を用いて、ステップＳ８０２，Ｓ１５０１，Ｓ８０３における処理について説明する。図１２（ａ）には、メッシュ生成部１０２が生成した初期メッシュを示している。
【００７３】
図１２（ｂ）には、図１２（ａ）に示した初期メッシュ（４つの黒丸で示す頂点で囲まれたメッシュ）を、変数ｉ＝０の時にステップＳ８０２，Ｓ１５０１で設定し、ステップＳ８０３で分割した小領域群を示している。即ち、変数ｉ＝０の時には、初期メッシュを２×２の四辺形パッチに分割し、更にそれぞれの四辺形パッチを２つの三角形パッチに分割する。その際、分割は左上から右下へ向かって行う。
【００７４】
図１２（ｃ）には、図１２（ａ）に示した初期メッシュを、変数ｉ＝１の時にステップＳ８０２，Ｓ１５０１で設定し、ステップＳ８０３で分割した小領域群を示している。即ち、変数ｉ＝１の時には、初期メッシュを３×３の四辺形パッチに分割し、更にそれぞれの四辺形パッチを２つの三角形パッチに分割する。その際、分割は右上から左下へ向かって行う。
【００７５】
図１２（ｄ）には、図１２（ａ）に示した初期メッシュを、変数ｉ＝２の時にステップＳ８０２，Ｓ１５０１で設定し、ステップＳ８０３で分割した小領域群を示している。即ち、変数ｉ＝２の時には、初期メッシュのうち１つのメッシュを４×４の四辺形パッチに分割し、更にそれぞれの四辺形パッチを２つの三角形パッチに分割する。その際、分割は左上から右下へ向かって行う。
【００７６】
このように、反復回数が増えるに従って、粗い分割から細かい分割に変更しており、かつ、分割方向も変更している。このような処理を行うことで、斜め方向の模様を持つ画像など特徴的な画像が与えられたときでも、エネルギ関数を精度良く評価でき、最適問題を効率的に解くことができる。
【００７７】
以上の処理により、最適化部１０３における最適メッシュが構築される。そして、最適化部１０３により作成された最適メッシュを用いた符号化部１０４の動作については第１の実施形態と同様である。
【００７８】
＜変形例＞
上述の通り、第２の実施形態は、最適化部１０３の動作のみが第１の実施形態と異なるだけであるので、第２の実施形態に係る画像処理装置に対しても、図１０に示したハードウェア構成例を示すコンピュータを適用することができるのは言うまでもない。
【００７９】
第２の実施形態の変形例では、ＣＰＵ１４０１が実行する画像処理用のアプリケーションプログラムは、基本的に図２、図１１に示す各構成要素に相当する関数を備えることになる。ここで、符号化したグラディエント・メッシュのデータは外部記憶装置１４０７に保存することになる。
【図１】
2010231435.tif 000003
【図２】
2010231435.tif 000004
【図３（ａ）】
2010231435.tif 000005
【図３（ｂ）】
2010231435.tif 000006
【図３（ｃ）】
2010231435.tif 000007
【図３（ｄ）】
2010231435.tif 000008
【図４】
2010231435.tif 000009
【図５】
2010231435.tif 000010
【図６】
2010231435.tif 000011
【図７】
2010231435.tif 000012
【図８】
2010231435.tif 000013
【図９（ａ）】
2010231435.tif 000014
【図９（ｂ）】
2010231435.tif 000015
【図１０】
2010231435.tif 000016
【図１１】
2010231435.tif 000017
【図１２】
2010231435.tif 000018