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