(57)【要約】【課題】２値マスク画像（２値画像）から質の高いトライマップ画像（３値画像）を容易に生成することができるようにする。【解決手段】拡張トライマップ画像生成部１３は、入力画像Iのラベル＝１の前景画像領域画素とラベル＝０の背景画像領域画素からなる２値画像から、その境界に所定幅のラベル＝−１の未確定領域画素を設定した３値画像を生成する。アルファマスク画像生成部１４は、入力画像と３値画像よりアルファマスク画像Ａを生成する。トライマップ画像更新部１５は、アルファマスク画像のうち、透明度αが、最小値でも、最大値でもない画素とその近傍の画素を未確定領域を示すラベル＝−１に更新し、トライマップ画像Ｔをトライマップ画像Ｔ’に更新する。収束判定部１６は、トライマップ画像Ｔ，Ｔ’が同一のとき、そのトライマップ画像Ｔ’を出力部１７より出力する。本発明は、画像処理装置に適用することができる。【選択図】図１
2010066802.tif 000002
【特許請求の範囲】
【請求項１】
入力画像における画素単位の前景画像領域を示す第１の値および背景画像領域を示す第２の値からなる２値画像から、前記前景画像領域と前記背景画像領域との境界に、所定の幅の、前記前景画像領域および前記背景画像領域のいずれとも異なる未確定領域を設定し、前記未確定領域を示す第３の値を含む、前記第１乃至第３の値からなる３値画像を生成する３値画像生成手段と、
前記入力画像、および前記３値画像より、画素単位で前記第１の値の割合を示す第４の値よりなる割合画像を生成する割合画像生成手段と、
前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の近傍の所定の範囲の画素を、前記第３の値に設定することで前記３値画像を更新する更新手段と、
前記更新手段により更新された前記３値画像と、前記更新手段により更新される前の前記３値画像とが略同一、または同一であるか否かを判定する判定手段と、
前記更新手段により更新された前記３値画像と、前記更新手段により更新される前の前記３値画像とが略同一、または、同一であると判定された場合、前記更新された前記３値画像を出力する出力手段と
を含む画像処理装置。
【請求項２】
前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の近傍の所定の範囲を、画素単位で拡張量として設定する拡張量設定手段をさらに含み、
前記更新手段は、前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の、前記拡張量で設定される、近傍の所定の範囲の画素を、前記第３の値に設定することで前記３値画像を更新する
請求項１に記載の画像処理装置。
【請求項３】
前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の近傍の所定の範囲を、画素単位で拡張方向として設定する拡張方向設定手段をさらに含み、
前記更新手段は、前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の、前記拡張方向で設定される、近傍の所定の範囲の画素を、前記第３の値に設定することで前記３値画像を更新する
請求項１に記載の画像処理装置。
【請求項４】
前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の近傍の所定の範囲を、画素単位で拡張方向、および拡張量からなる拡張ベクトルとして設定する拡張ベクトル設定手段をさらに含み、
前記更新手段は、前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の、前記拡張ベクトルで設定される、近傍の所定の範囲の画素を、前記第３の値に設定することで前記３値画像を更新する
請求項１に記載の画像処理装置。
【請求項５】
前記拡張ベクトルの拡張方向は、前記入力画像、若しくは、前記割合画像のエッジタンジェントフロー方向、または前記割合画像における所定の割合を取る画素からなる境界に対して垂直方向を含む
請求項４に記載の画像処理装置。
【請求項６】
前記更新手段により更新された前記３値画像、および前記更新手段により更新される前の前記３値画像が略同一、または、同一であると判定されない場合、
前記割合画像生成手段は、前記更新手段により更新された前記３値画像と、前記入力画像とより画素単位で前記第１の値の割合を示す第４の値よりなる割合画像を生成し、
前記更新手段は、前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の近傍の所定の範囲の画素について、前記第３の値を設定する
請求項１に記載の画像処理装置。
【請求項７】
前記更新手段により更新された前記３値画像、および前記更新手段により更新される前の前記３値画像が略同一、または、同一であると判定されるまで、前記割合画像生成手段および前記更新手段は、前記更新手段により更新された前記３値画像と、前記入力画像とより画素単位で前記第１の値の割合を示す第４の値よりなる割合画像を生成し、前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の近傍の所定の範囲の画素について、前記第３の値を設定する処理を繰り返す
請求項６に記載の画像処理装置。
【請求項８】
入力画像における画素単位の前景画像領域を示す第１の値および背景画像領域を示す第２の値からなる２値画像から、前記前景画像領域と前記背景画像領域との境界に、所定の幅の、前記前景画像領域および前記背景画像領域のいずれとも異なる未確定領域を設定し、前記未確定領域を示す第３の値を含む、前記第１乃至第３の値からなる３値画像を生成する３値画像生成手段と、
前記入力画像、および前記３値画像より、画素単位で前記第１の値の割合を示す第４の値よりなる割合画像を生成する割合画像生成手段と、
前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の近傍の所定の範囲の画素を、前記第３の値に設定することで前記３値画像を更新する更新手段と、
前記更新手段により更新された前記３値画像と、前記更新手段により更新される前の前記３値画像とが略同一、または同一であるか否かを判定する判定手段と、
前記更新手段により更新された前記３値画像と、前記更新手段により更新される前の前記３値画像とが略同一、または、同一であると判定された場合、前記更新された前記３値画像を出力する出力手段と
を含む画像処理装置の画像処理方法において、
前記３値画像生成手段による、前記入力画像における画素単位の前景画像領域を示す第１の値および背景画像領域を示す第２の値からなる２値画像から、前記前景画像領域と前記背景画像領域との境界に、所定の幅の、前記前景画像領域および前記背景画像領域のいずれとも異なる未確定領域を設定し、前記未確定領域を示す第３の値を含む、前記第１乃至第３の値からなる３値画像を生成する３値画像生成ステップと、
前記割合画像生成手段による、前記入力画像、および前記３値画像より、画素単位で前記第１の値の割合を示す第４の値よりなる割合画像を生成する割合画像生成ステップと、
前記更新手段による、前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の近傍の所定の範囲の画素を、前記第３の値に設定することで前記３値画像を更新する更新ステップと、
前記判定手段による、前記更新ステップの処理により更新された前記３値画像と、前記更新ステップの処理により更新される前の前記３値画像とが略同一、または同一であるか否かを判定する判定ステップと、
前記出力手段による、前記更新ステップの処理により更新された前記３値画像と、前記更新ステップの処理により更新される前の前記３値画像とが略同一、または、同一であると判定された場合、前記更新された前記３値画像を出力する出力ステップと
を含む画像処理方法。
【請求項９】
入力画像における画素単位の前景画像領域を示す第１の値および背景画像領域を示す第２の値からなる２値画像から、前記前景画像領域と前記背景画像領域との境界に、所定の幅の、前記前景画像領域および前記背景画像領域のいずれとも異なる未確定領域を設定し、前記未確定領域を示す第３の値を含む、前記第１乃至第３の値からなる３値画像を生成する３値画像生成手段と、
前記入力画像、および前記３値画像より、画素単位で前記第１の値の割合を示す第４の値よりなる割合画像を生成する割合画像生成手段と、
前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の近傍の所定の範囲の画素を、前記第３の値に設定することで前記３値画像を更新する更新手段と、
前記更新手段により更新された前記３値画像と、前記更新手段により更新される前の前記３値画像とが略同一、または同一であるか否かを判定する判定手段と、
前記更新手段により更新された前記３値画像と、前記更新手段により更新される前の前記３値画像とが略同一、または、同一であると判定された場合、前記更新された前記３値画像を出力する出力手段と
を含む画像処理装置を制御するコンピュータに、
前記３値画像生成手段による、前記入力画像における画素単位の前景画像領域を示す第１の値および背景画像領域を示す第２の値からなる２値画像から、前記前景画像領域と前記背景画像領域との境界に、所定の幅の、前記前景画像領域および前記背景画像領域のいずれとも異なる未確定領域を設定し、前記未確定領域を示す第３の値を含む、前記第１乃至第３の値からなる３値画像を生成する３値画像生成ステップと、
前記割合画像生成手段による、前記入力画像、および前記３値画像より、画素単位で前記第１の値の割合を示す第４の値よりなる割合画像を生成する割合画像生成ステップと、
前記更新手段による、前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の近傍の所定の範囲の画素を、前記第３の値に設定することで前記３値画像を更新する更新ステップと、
前記判定手段による、前記更新ステップの処理により更新された前記３値画像と、前記更新ステップの処理により更新される前の前記３値画像とが略同一、または同一であるか否かを判定する判定ステップと、
前記出力手段による、前記更新ステップの処理により更新された前記３値画像と、前記更新ステップの処理により更新される前の前記３値画像とが略同一、または、同一であると判定された場合、前記更新された前記３値画像を出力する出力ステップと
を含む処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法、並びにプログラムに関し、特に、２値マスク画像（２値画像）から質の高いトライマップ画像（３値画像）を容易に生成できるようにした画像処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
一般に写真などのデジタル画像内からオブジェクトとして一部の領域を切り出す手段として、以下に挙げるような方法が知られている。
【０００３】
すなわち、第１の手法は、画像セグメンテーションと呼ばれる方法であり、ユーザの入力から前景オブジェクト画像と背景画像とを分類する２値画像（２値マスク画像）を生成する方法である。ユーザは、切り出したい前景オブジェクト画像の周囲を囲うように矩形や自由曲線でペイントしたり（ラッソツール）、前景オブジェクト画像と背景画像の領域内に自由線をペイントするなどして（スクリブル）、切り出したい領域を指定し、このうち前景オブジェクト画像として指定された領域を抽出するというものである。
【０００４】
また、前景オブジェクト画像の抽出方法の一つにグラフカットがある（非特許文献１参照）。グラフカットは、ユーザにより入力された情報から前景オブジェクト画像および背景画像の２種類の画像の色分布や画素カラーの勾配から切り出すべき前景オブジェクト画像を構成する領域の境界を計算し、計算された境界に沿って前景オブジェクト画像を抽出するものである。
【０００５】
一方、第２の手法は、アルファマッティングと呼ばれる方法であり、ユーザが前景オブジェクト画像からなる前景領域、背景画像からなる背景領域、および未確定領域をそれぞれ指定し、それぞれの領域に対応する３値を持つ３値画像（トライマップ画像）を生成して、アルファマスク画像を生成する方法である。
【０００６】
アルファマスク画像とは、前景オブジェクト画像の画素単位の透明度αを示す値（以下、α値とも称する）からなる画像であり、換言すれば、前景オブジェクト画像の透明度の割合を示す割合画像である。例えば、前景オブジェクト画像を構成する配色が、１００％となる領域の画素の透明度をα＝１とし、０％をα＝０とし、さらに、５０％となる中間色の透明度をα＝０．５とすることにより、その透明度αにより表現される値を画素値とする画像である。このため、前景オブジェクト画像の画素値に、対応するアルファマスク画像の各画素の透明度αを乗じることにより設定される画像が、前景オブジェクト画像として抽出される画像となる。
【０００７】
こうした３値画像からアルファマスク画像を生成する方法の一つにロバストマッティングがある（非特許文献２参照）。ユーザはペイントツールなどを用いてトライマップ画像（３値画像）をペイントして作成する。プログラムはトライマップ画像から、例えば、オブジェクトをα＝１、背景をα＝０として、入力画像の画素値から決定した拘束条件や未確定領域の境界周辺からサンプリングした画素カラー値を使って未確定領域のα値を計算する。
【０００８】
【非特許文献１】C. Rother, V. Kolmogorov, A. Blake. GrabCut: Interactive Foreground Extraction using Iterated Graph Cuts. ACM Transactions on Graphics (SIGGRAPH'04), 2004.
【非特許文献２】Jue Wang   Cohen, M.F.Optimized Color Sampling for Robust Matting.Computer Vision and Pattern Recognition, 2007.
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところで、アルファマッティングで生成されるアルファマスク画像の方が画像セグメンテーションによって生成される２値マスク画像よりもオブジェクトの境界を正確に表現できるため前景オブジェクト画像の抽出には適している。
【００１０】
しかしながら、入力のトライマップ画像の生成は、ユーザがペイントツールなどを使って領域に対応するブラシ色や太さといった属性を適宜変更しながら入力する必要があり、難しく煩雑であった。
【００１１】
さらにトライマップ画像の質は結果のアルファマスク画像に大きく影響を与えるため、できる限りオブジェクトの境界に接した正確な未確定領域を持つものを指定する必要がある。
【００１２】
以上をまとめると、画像セグメンテーションによる処理では、ユーザは簡単な入力作業だけで、背景画像と前景オブジェクト画像を分離することができるが、その結果は、２値マスク画像であり、正確な切り出しとは言い難い。
【００１３】
一方、アルファマッティング処理で生成されるアルファマスク画像は、正確な切り出しと言えるが、ユーザは前景オブジェクト画像の輪郭に沿って忠実に、その境界を適切な太さで設定する必要があるため、難しく煩雑な入力作業が必要であった。
【００１４】
本発明はこのような状況に鑑みてなされたものであり、特に、２値マスク画像から、質の高いトライマップ（３値画像）を容易に生成できるようにすることで、生成された３値画像をアルファマッティング処理することで、容易にアルファマスク画像を生成できるようにするものである。
【課題を解決するための手段】
【００１５】
本発明の一側面の画像処理装置は、入力画像における画素単位の前景画像領域を示す第１の値および背景画像領域を示す第２の値からなる２値画像から、前記前景画像領域と前記背景画像領域との境界に、所定の幅の、前記前景画像領域および前記背景画像領域のいずれとも異なる未確定領域を設定し、前記未確定領域を示す第３の値を含む、前記第１乃至第３の値からなる３値画像を生成する３値画像生成手段と、前記入力画像、および前記３値画像より、画素単位で前記第１の値の割合を示す第４の値よりなる割合画像を生成する割合画像生成手段と、前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の近傍の所定の範囲の画素を、前記第３の値に設定することで前記３値画像を更新する更新手段と、前記更新手段により更新された前記３値画像と、前記更新手段により更新される前の前記３値画像とが略同一、または同一であるか否かを判定する判定手段と、前記更新手段により更新された前記３値画像と、前記更新手段により更新される前の前記３値画像とが略同一、または、同一であると判定された場合、前記更新された前記３値画像を出力する出力手段とを含む。
【００１６】
前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の近傍の所定の範囲を、画素単位で拡張量として設定する拡張量設定手段をさらに含ませるようにすることができ、前記更新手段には、前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の、前記拡張量で設定される、近傍の所定の範囲の画素を、前記第３の値に設定することで前記３値画像を更新させるようにすることができる。
【００１７】
前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の近傍の所定の範囲を、画素単位で拡張方向として設定する拡張方向設定手段をさらに含ませるようにすることができ、前記更新手段には、前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の、前記拡張方向で設定される、近傍の所定の範囲の画素を、前記第３の値に設定することで前記３値画像を更新させるようにすることができる。
【００１８】
前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の近傍の所定の範囲を、画素単位で拡張方向、および拡張量からなる拡張ベクトルとして設定する拡張ベクトル設定手段をさらに含ませるようにすることができ、前記更新手段には、前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の、前記拡張ベクトルで設定される、近傍の所定の範囲の画素を、前記第３の値に設定することで前記３値画像を更新させるようにすることができる。
【００１９】
前記拡張ベクトルの拡張方向には、前記入力画像、若しくは、前記割合画像のエッジタンジェントフロー方向、または前記割合画像における所定の割合を取る画素からなる境界に対して垂直方向を含ませるようにすることができる。
【００２０】
前記更新手段により更新された前記３値画像、および前記更新手段により更新される前の前記３値画像が略同一、または、同一であると判定されない場合、前記割合画像生成手段には、前記更新手段により更新された前記３値画像と、前記入力画像とより画素単位で前記第１の値の割合を示す第４の値よりなる割合画像を生成させるようにすることができ、前記更新手段には、前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の近傍の所定の範囲の画素について、前記第３の値を設定させるようにすることができる。
【００２１】
前記更新手段により更新された前記３値画像、および前記更新手段により更新される前の前記３値画像が略同一、または、同一であると判定されるまで、前記割合画像生成手段および前記更新手段には、前記更新手段により更新された前記３値画像と、前記入力画像とより画素単位で前記第１の値の割合を示す第４の値よりなる割合画像を生成し、前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の近傍の所定の範囲の画素について、前記第３の値を設定する処理を繰り返させるようにすることができる。
【００２２】
本発明の一側面の画像処理方法は、入力画像における画素単位の前景画像領域を示す第１の値および背景画像領域を示す第２の値からなる２値画像から、前記前景画像領域と前記背景画像領域との境界に、所定の幅の、前記前景画像領域および前記背景画像領域のいずれとも異なる未確定領域を設定し、前記未確定領域を示す第３の値を含む、前記第１乃至第３の値からなる３値画像を生成する３値画像生成手段と、前記入力画像、および前記３値画像より、画素単位で前記第１の値の割合を示す第４の値よりなる割合画像を生成する割合画像生成手段と、前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の近傍の所定の範囲の画素を、前記第３の値に設定することで前記３値画像を更新する更新手段と、前記更新手段により更新された前記３値画像と、前記更新手段により更新される前の前記３値画像とが略同一、または同一であるか否かを判定する判定手段と、前記更新手段により更新された前記３値画像と、前記更新手段により更新される前の前記３値画像とが略同一、または、同一であると判定された場合、前記更新された前記３値画像を出力する出力手段とを含む画像処理装置の画像処理方法において、前記３値画像生成手段による、前記入力画像における画素単位の前景画像領域を示す第１の値および背景画像領域を示す第２の値からなる２値画像から、前記前景画像領域と前記背景画像領域との境界に、所定の幅の、前記前景画像領域および前記背景画像領域のいずれとも異なる未確定領域を設定し、前記未確定領域を示す第３の値を含む、前記第１乃至第３の値からなる３値画像を生成する３値画像生成ステップと、前記割合画像生成手段による、前記入力画像、および前記３値画像より、画素単位で前記第１の値の割合を示す第４の値よりなる割合画像を生成する割合画像生成ステップと、前記更新手段による、前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の近傍の所定の範囲の画素を、前記第３の値に設定することで前記３値画像を更新する更新ステップと、前記判定手段による、前記更新ステップの処理により更新された前記３値画像と、前記更新ステップの処理により更新される前の前記３値画像とが略同一、または同一であるか否かを判定する判定ステップと、前記出力手段による、前記更新ステップの処理により更新された前記３値画像と、前記更新ステップの処理により更新される前の前記３値画像とが略同一、または、同一であると判定された場合、前記更新された前記３値画像を出力する出力ステップとを含む。
【００２３】
本発明の一側面のプログラムは、入力画像における画素単位の前景画像領域を示す第１の値および背景画像領域を示す第２の値からなる２値画像から、前記前景画像領域と前記背景画像領域との境界に、所定の幅の、前記前景画像領域および前記背景画像領域のいずれとも異なる未確定領域を設定し、前記未確定領域を示す第３の値を含む、前記第１乃至第３の値からなる３値画像を生成する３値画像生成手段と、前記入力画像、および前記３値画像より、画素単位で前記第１の値の割合を示す第４の値よりなる割合画像を生成する割合画像生成手段と、前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の近傍の所定の範囲の画素を、前記第３の値に設定することで前記３値画像を更新する更新手段と、前記更新手段により更新された前記３値画像と、前記更新手段により更新される前の前記３値画像とが略同一、または同一であるか否かを判定する判定手段と、前記更新手段により更新された前記３値画像と、前記更新手段により更新される前の前記３値画像とが略同一、または、同一であると判定された場合、前記更新された前記３値画像を出力する出力手段とを含む画像処理装置を制御するコンピュータに、前記３値画像生成手段による、前記入力画像における画素単位の前景画像領域を示す第１の値および背景画像領域を示す第２の値からなる２値画像から、前記前景画像領域と前記背景画像領域との境界に、所定の幅の、前記前景画像領域および前記背景画像領域のいずれとも異なる未確定領域を設定し、前記未確定領域を示す第３の値を含む、前記第１乃至第３の値からなる３値画像を生成する３値画像生成ステップと、前記割合画像生成手段による、前記入力画像、および前記３値画像より、画素単位で前記第１の値の割合を示す第４の値よりなる割合画像を生成する割合画像生成ステップと、前記更新手段による、前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の近傍の所定の範囲の画素を、前記第３の値に設定することで前記３値画像を更新する更新ステップと、前記判定手段による、前記更新ステップの処理により更新された前記３値画像と、前記更新ステップの処理により更新される前の前記３値画像とが略同一、または同一であるか否かを判定する判定ステップと、前記出力手段による、前記更新ステップの処理により更新された前記３値画像と、前記更新ステップの処理により更新される前の前記３値画像とが略同一、または、同一であると判定された場合、前記更新された前記３値画像を出力する出力ステップとを含む処理をコンピュータに実行させるプログラム。
【００２４】
本発明の一側面においては、入力画像における画素単位の前景画像領域を示す第１の値および背景画像領域を示す第２の値からなる２値画像から、前記前景画像領域と前記背景画像領域との境界に、所定の幅の、前記前景画像領域および前記背景画像領域のいずれとも異なる未確定領域が設定され、前記未確定領域を示す第３の値を含む、前記第１乃至第３の値からなる３値画像が生成され、前記入力画像、および前記３値画像より、画素単位で前記第１の値の割合を示す第４の値よりなる割合画像が生成され、前記割合画像のうち、前記第４の値が、最小値近傍よりも大きく、最大値近傍よりも小さい画素に対応する、前記３値画像の画素の近傍の所定の範囲の画素が、前記第３の値に設定されることで前記３値画像が更新され、更新された前記３値画像と、更新される前の前記３値画像とが略同一、または同一であるか否かが判定され、更新された前記３値画像と、更新される前の前記３値画像とが略同一、または、同一であると判定された場合、前記更新された前記３値画像が出力される。
【００２５】
本発明の画像処理装置は、独立した装置であっても良いし、画像処理を行うブロックであっても良い。
【発明の効果】
【００２６】
本発明の一側面によれば、２値マスク画像から、質の高いトライマップ画像（３値画像）を容易に生成することが可能になると共に、生成された３値画像をアルファマッティング処理することで、容易に正確なアルファマスク画像を生成することが可能となる。
【発明を実施するための最良の形態】
【００２７】
［画像処理装置の構成例］
図１は、本発明を適用した一実施の形態の構成例を示す画像処理装置である。
【００２８】
図１の画像処理装置１は、入力画像に対して、抽出したい前景オブジェクト画像と背景画像とを簡単に指定することで、前景オブジェクト画像の抽出に必要とされる、アルファマスク画像（前景オブジェクト画像の透明度の割合を示す割合画像）を生成するためのトライマップ画像を容易に生成できるようにするものである。
【００２９】
画像処理装置１は、入力画像取得部１１、２値マスク画像生成部１２、拡張トライマップ画像生成部１３、アルファマスク画像生成部１４、トライマップ画像更新部１５、収束判定部１６、および出力部１７から構成される。
【００３０】
入力画像取得部１１は、抽出しようとする前景オブジェクト画像を含む入力画像Ｉを取得し、２値マスク画像生成部１２、拡張トライマップ画像生成部１３、およびアルファマスク画像生成部１４に供給する。
【００３１】
２値マスク画像生成部１２は、入力画像取得部１１より供給されてきた入力画像Ｉより２値マスク画像Ｂを、例えば、グラブカットなどのオブジェクト抽出技術により前景オブジェクト画像を抽出することで生成し、拡張トライマップ画像生成部１３に供給する。
【００３２】
より具体的には、例えば、図２で示されるように、入力画像Ｉに対して、画像Ｉ’で示されるように、矩形状のフレームＦなどにより抽出したい前景オブジェクト画像が選択されるものとする。
【００３３】
ここで、入力画像Ｉ’においては、前景オブジェクト画像としてフレームＦ内の子犬の画像が選択され、フレームＦ外の範囲が背景画像として選択されている。このような入力画像Ｉ’に対して、グラブカット処理する場合、２値マスク画像生成部１２は、前景オブジェクト画像および背景画像におけるサンプル色に基づいて、その統計情報（分布の偏り）によって前景オブジェクト画像を分離する。
【００３４】
すなわち、２値マスク画像生成部１２は、入力画像Ｉ’におけるフレームＦ内のエッジ部分に前景オブジェクト画像と背景画像との境界をとるように分離する。この結果、前景オブジェクト画像と背景画像とに対応付けて、画素のラベルが１または０を取る場合、２値マスク画像生成部１２は、例えば、ラベル１の前景オブジェクト画像の領域の画素値を白色とし、それ以外のラベル０の画素を黒色とする。この処理により、２値マスク画像生成部１２は、図２の上段右部で示されるような２値マスク画像Ｂを生成する。
【００３５】
拡張トライマップ画像生成部１３は、入力画像Ｉおよび２値マスク画像Ｂから、前景オブジェクト画像と背景画像との境界において、所定の幅の未確定領域を設定する。すなわち、拡張トライマップ画像生成部１３は、前景オブジェクト画像を構成する領域と、背景画像を構成する領域との、それぞれ境界近傍に存在し、境界に沿って所定画素数だけの幅を形成する領域の画素を未確定画素に設定する。これにより、前景オブジェクト画像に属する画素（ラベル＝１）、背景画像に属する画素（ラベル＝０）、および未確定画素（ラベル＝−１）の３種類の画素からなるトライマップ画像Ｔが生成される。
【００３６】
すなわち、拡張トライマップ画像生成部１３は、例えば、図２の下段左部で示されるような、３値の画素からなるトライマップ画像Ｔを生成し、アルファマスク画像生成部１４に供給する。図２のトライマップ画像Ｔにおいては、ラベル＝１の前景オブジェクト画像の領域においては画素値が白色（最大画素値）に設定されている。また、ラベル＝０の背景画像の領域においては画素値が黒色（最小画素値）に設定されている。さらに、ラベル＝−１の未確定領域においては画素値が灰色（中間画素値）であるものとして設定されている。そして、拡張トライマップ画像生成部１３は、このように生成したトライマップ画像Ｔを、アルファマスク画像生成部１４、および収束判定部１６に供給する。
【００３７】
アルファマスク画像生成部１４は、最初の処理においては、拡張トライマップ画像生成部１３よりトライマップ画像Ｔを取得する。また、アルファマスク画像生成部１４は、最初の処理以降の処理においては、収束判定部１６より、供給されてくるトライマップ画像Ｔを取得する。
【００３８】
また、アルファマスク画像生成部１４は、トライマップ画像Ｔを、例えば、ロバストマッティング処理（非特許文献２参照）し、図２の下段右部で示されるようなアルファマスク画像Ａを生成し、トライマップ画像更新部１５、および収束判定部１６に供給する。このアルファマスク画像Ａは、画素単位で前景オブジェクト画像の透明度α＝１とし、背景画像の透明度α＝０として、それらの中間の透明度αを０＜α＜１により表現した画像である。
【００３９】
特に、図２で示される前景オブジェクト画像である子犬は、毛足の長い毛で覆われており、この毛の部分が背景領域との境界となっている。このため、前景オブジェクト画像と背景画像との境界近傍の画素においては、前景オブジェクト領域における子犬の毛と、背景画像とが、混合した色合いとなるため、境界近傍の画素の透明度αは、０＜α＜１の値となるものが多くなる。したがって、この透明度αは、入力画像の境界領域の画素における混合比のうち、前景オブジェクト領域の色の合成比率であるものと捕らえることができる。
【００４０】
トライマップ画像更新部１５は、アルファマスク画像Ａのうち、透明度αが、０＜α＜１となる画素と、その近傍の画素を、未確定領域の画素に設定することで、トライマップ画像Ｔ’を生成する。そして、トライマップ画像更新部１５は、この新たに生成したトライマップ画像Ｔ’を、トライマップ画像Ｔの更新結果として収束判定部１６に供給する。尚、トライマップ画像更新部１５の詳細な構成については、図３を参照して説明する。
【００４１】
収束判定部１６は、トライマップ画像更新部１５により更新される前のトライマップ画像Ｔと、トライマップ画像更新部１５により更新されたトライマップ画像Ｔ’とを比較して同一であるか（または、略同一であるか）否かを判定する。より詳細には、収束判定部１６は、更新前のトライマップ画像Ｔ、および更新後のトライマップ画像Ｔ’における前景オブジェクト画像、未確定画素、および背景画像の分布が一致するか否かを判定する。そして、収束判定部１６は、それらが一致、または、略一致しなければ、その判定結果と共に、トライマップ画像Ｔ’をトライマップ画像Ｔとしてアルファマスク画像生成部１４に供給する。また、それらが同一であると判定された場合、収束判定部１６は、トライマップ画像Ｔ’をロバストマッティングすることで求められるアルファマスク画像Ａと共に、トライマップ画像Ｔ’をトライマップ画像Ｔとして出力部１７に供給する。
【００４２】
出力部１７は、収束判定部１６より供給されてきたトライマップ画像Ｔと、トライマップ画像Ｔ（Ｔ’）よりロバストマッティングなどにより求められたアルファマスク画像Ａとを処理結果として出力する。
【００４３】
すなわち、入力画像Ｉの各画素は、２値マスク画像Ｂの値を乗じることにより、前景オブジェクト画像として子犬の画像を抽出することができる。しかしながら、このような手法により前景オブジェクト画像が抽出されると、前景オブジェクト画像を構成する子犬の外縁部分である毛の部分は、元々の背景画像における色にじみが含まれることになる。このため、例えば、抽出した前景オブジェクト画像は、他の画像と合成する際に、違和感が生じることになる。
【００４４】
そこで、画像処理装置１は、トライマップ画像Ｔからロバストマッティングなどによりアルファマスク画像Ａを生成させ、生成されたアルファマスク画像Ａからトライマップ画像Ｔ’を求める処理を繰り返す。そして、画像処理装置１は、トライマップ画像Ｔ，Ｔ’が同一、または略同一となり、トライマップ画像Ｔ，Ｔ’の変化が収束するまで、同様の処理を繰り返すことにより、適切なトライマップ画像を求め、対応する最適なアルファマスク画像を求める。
【００４５】
［トライマップ画像更新部の構成例］
次に、図３を参照して、トライマップ画像更新部１５の詳細な構成例について説明する。
【００４６】
トライマップ画像更新部１５は、エッジフロー生成部３１、画素更新部３２、楕円配列管理部３３、および更新トライマップ画像出力部３４より構成される。トライマップ画像更新部１５は、このような構成により、アルファマスク画像Ａおよびトライマップ画像Ｔよりトライマップ画像Ｔ’を生成することにより、トライマップ画像Ｔを更新する。
【００４７】
エッジフロー生成部３１は、各画素毎の輝度により求められる２次元ベクトル空間における画素単位のエッジフローベクトルを計算し、画素更新部３２および楕円配列管理部３３に供給する。エッジフローベクトルとは、各画素毎に方向を表す、２次元のベクトル(ｔｘ，ｔｙ)である。より詳細には、エッジフローベクトルは、各画素毎に設定される正規化ベクトル(ｔｘ，ｔｙ)と、ベクトル長(magnitude)を示す３種類のパラメータから構成されるベクトルである。ここで、正規化ベクトルは、ベクトルの長さが１のベクトルを示している。エッジフローベクトルは、画像の顕著なエッジ方向（流れ）を表すものであり、画像の角や線が交わる個所などを除いて隣接画素間ではスムースに変化するものである。ただし、画像の平坦な場所では定義できないので、必要に応じて、例えば、ゼロベクトルと定義したり、近傍のベクトルをコピーして定義する。尚、エッジフロー生成部３１の詳細な構成例については、図４を参照して後述する。
【００４８】
画素更新部３２は、アルファマスク画像Ａの画素のうち、透明度αが０＜α＜１の、前景オブジェクト画像にも背景画像にも属さない画素の、エッジフローベクトルで設定される所定の楕円形状の近傍範囲のトライマップ画像上の画素を未確定画素に設定して更新する。より詳細には、画素更新部３２は、楕円配列管理部３３に予め設定されているサイズ配列ｓｖｅｃを参照しながら、各画素に対して設定される楕円形状サンプリングされる画素を未確定領域の画素として設定することで、トライマップ画像Ｔ’を生成する。そして、画素更新部３２は、生成したトライマップ画像Ｔ’を更新トライマップ画像出力部３４に出力する。尚、画素更新部３２の詳細な構成については、図５を参照して後述する。
【００４９】
楕円配列管理部３３は、画素更新部３２により生成されたトライマップ画像Ｔ’を生成するに当たり、楕円形状サンプリングされる画素の個数を楕円の短軸の位置に対応付けた、サイズ配列ｓｖｅｃを設定する。
【００５０】
更新トライマップ画像出力部３４は、画素更新部３２よりサイズ配列ｓｖｅｃを参照しながら処理された、更新後のトライマップ画像Ｔ’の情報を順次記憶し、全画素について処理が終了したところで、収束判定部１６に供給する。
【００５１】
［エッジフロー生成部の構成例］
次に、図４を参照して、エッジフロー生成部３１の詳細な構成例について説明する。
【００５２】
エッジフロー生成部３１は、輝度変換部５１、水平Sobelフィルタ５２、垂直Sobelフィルタ５３、ベクトル回転部５４、および非線形平滑化処理部５５より構成されており、アルファマスク画像Ａよりエッジフローベクトルを求める。
【００５３】
輝度変換部５１は、アルファマスク画像Ａを輝度画像に変換して、水平Sobelフィルタ５２および垂直Sobelフィルタ５３に供給する。水平Sobelフィルタ５２は、輝度画像の各画素について水平方向にエッジを検出するためのSobelフィルタ処理を施し、画素単位の検出結果をベクトル回転部５４に供給する。垂直Sobelフィルタ５３は、輝度画像の各画素について垂直方向にエッジを検出するためのSobelフィルタ処理を施し、画素単位の検出結果を順次ベクトル回転部５４に供給する。
【００５４】
ベクトル回転部５４は、水平Sobelフィルタ５２および垂直Sobelフィルタ５３からの画素単位のフィルタ処理結果に基づいて、エッジフローベクトルを構成し、このエッジフローベクトルを９０度時計方向に回転する。このとき、水平Sobelフィルタ５２および垂直Sobelフィルタ５３からの画素単位のフィルタ処理結果は、エッジに対して垂直な微分ベクトルとして求められる。このエッジに垂直な微分ベクトルの正規化ベクトルと長さの情報は、厳密にはエッジグラディエントフローベクトルと呼ばれる。これに対して、エッジに沿った方向のベクトルは、厳密にはエッジタンジェントフローベクトルと呼ばれるものである。すなわち、エッジグラディエントフローベクトルと、エッジタンジェントフローベクトルとは直交する。
【００５５】
このため、ベクトル回転部５４は、エッジグラディエントフローベクトルを時計方向に９０度回転させることにより、エッジタンジェントフローベクトルに変換する。尚、以降においては、エッジフローベクトルとは、エッジタンジェントフローベクトルを指すものとするが、エッジタンジェントフローベクトルに代えて、エッジグラディエントフローベクトルを使用するようにしても良い。尚、エッジタンジェントフローベクトルの詳細については、例えば、H. Kang, S. Lee, C. Chui. Coherent Line Drawing.Proc. ACM Symposium on Non-photorealistic Animation and Rendering, 2007を参照されたい。
【００５６】
非線形平滑化処理部５５は、エッジフローベクトルの長さのない正規化ベクトルを、画素単位でスムースに変化するよう非線形に平滑化し、画素更新部３２に供給する。
【００５７】
［画素更新部の構成例］
次に、図５を参照して、画素更新部３２の詳細な構成例について説明する。
【００５８】
画素更新部３２は、ラベル管理部７１、長軸方向座標管理部７２、および短軸方向座標管理部７３より構成されており、アルファマスク画像Ａに基づいて、トライマップ画像Ｔを更新し、トライマップ画像Ｔ’を生成する。
【００５９】
ラベル管理部７１は、楕円配列管理部３３に予め記憶されている、画素単位で設定される楕円配列の情報に基づいて、アルファマスク画像Ａにおける画素単位の透明度αの値に応じて、未確定画素としてのラベルを付すか否かを判定し、必要があれば、処理対象となる画素と、処理対象の画素に対応付けて設定される楕円形状の範囲の画素について未確定画素のラベルを付す。このとき、ラベル管理部７１は、楕円形状の範囲の画素を長軸方向座標管理部７２、および短軸方向座標管理部７３を利用して長軸方向の座標、および短軸方向の座標を変化させながらラベルを付す。
【００６０】
［トライマップ画像生成処理］
次に、図６のフローチャートを参照して、トライマップ画像生成処理について説明する。
【００６１】
ステップＳ１において、入力画像取得部１１は、入力画像Ｉが供給されてきたか否かを判定し、入力画像が供給されてくるまで、同様の処理を繰り返し、例えば、図７で示されるような、入力画像Ｉが入力されてきた場合、処理は、ステップＳ２に進む。図７は、馬のぬいぐるみが中央に載置された机上を撮像した画像例を示す図である。尚、以降においては、入力画像Ｉのうち、この馬のぬいぐるみの画像領域を前景オブジェクト画像とし、それ以外を背景画像として扱うものとする。
【００６２】
ステップＳ２において、入力画像取得部１１は、入力された入力画像Ｉを２値マスク画像生成部１２、拡張トライマップ画像生成部１３、および、アルファマスク画像生成部１４に供給する。２値マスク画像生成部１２は、入力された入力画像Ｉの前景オブジェクト画像および背景画像におけるサンプル色の統計情報（分布の偏り）により前景オブジェクト画像を分離することで、２値マスク画像Ｂを生成し、拡張トライマップ画像生成部１３に供給する。
【００６３】
すなわち、例えば、入力画像Ｉが図７で示されるような画像であって、中央の馬のぬいぐるみが前景オブジェクト画像として設定されると、図８で示されるような２値マスク画像Ｂが生成される。図８においては、前景オブジェクト画像の領域として、ラベル＝１が設定され、背景画像の領域がラベル＝０の２値からなる２値マスク画像Ｂの画像例が示されている。すなわち、図８においては、前景オブジェクト画像と背景画像との境界に未確定領域は設定されていない。
【００６４】
ステップＳ３において、拡張トライマップ画像生成部１３は、前景オブジェクト画像と背景画像との境界近傍に、所定の幅の未確定領域を設定する。すなわち、例えば、未確定領域を設定する幅をｗとする場合（ｗ画素分の幅とする場合）、未確定領域の画素にはラベルとして「−１」が付されるものとする。このとき、拡張トライマップ画像生成部１３は、未確定領域を、２値マスク画像Ｂのすべての画素について水平方向の処理と垂直方向の処理との２段階の処理に分けて求める。
【００６５】
すなわち、第１段階において、拡張トライマップ画像生成部１３は、２値マスク画像Ｂを入力として、処理対象画素を中心として左ｗ画素、右ｗ画素の範囲について、範囲内に中心の処理対象画素と異なるラベルを持つ画素が存在するか否かを確認する。そして、例えば、処理対象画素の画素のラベルと異なるラベルを持つ画素が存在する場合、拡張トライマップ画像生成部１３は、処理対象画素は未確定領域に含まれるとみなし、ラベルとして「−１」を付す。
【００６６】
一方、処理対象画素を中心として左ｗ画素、右ｗ画素の範囲について、範囲内に中心の処理対象画素と異なるラベルを持つ画素が存在しない場合、拡張トライマップ画像生成部１３は、処理対象画素のラベルをそのまま付与する。この処理により、拡張トライマップ画像生成部１３は、水平方向の処理により求められた中間的なトライマップ画像Ｔ１を保持する。
【００６７】
さらに、第２段階において、拡張トライマップ画像生成部１３は、中間的なトライマップ画像Ｔ１を入力として、処理対象画素を中心として上w画素、下ｗ画素の範囲について水平方向の処理と同様に、範囲内に処理対象画素と異なるラベルを持つ画素が存在するか否かを確認する。そして、例えば、処理対象画素の画素のラベルと異なるラベルを持つ画素が存在する場合、拡張トライマップ画像生成部１３は、処理対象画素は未確定領域に含まれるとみなし、ラベルとして「−１」を付し、トライマップ画像Ｔ１を更新し、トライマップ画像Ｔを生成する。
【００６８】
このような処理により、拡張トライマップ画像生成部１３は、２値マスク画像Ｂの各画素について水平方向および垂直方向に所定の幅ｗ×２の範囲で、同一のラベルとならない画素に未確定画素のラベルを付してトライマップ画像Ｔを生成する。結果として、前景オブジェクト画像の領域と背景画像の領域との境界の近傍の領域に、所定の未確定領域が設定された、例えば、図９で示されるようなトライマップ画像Ｔが生成される。
【００６９】
図９で示されるトライマップ画像Ｔは、ラベル＝１が白色（最高画素値）の領域が前景オブジェクト画像の領域である。また、ラベル＝０が黒色（最低画素値）の領域が背景画像の領域である。さらに、ラベル＝−１が灰色（中間画素値）の領域が未確定領域を示している。図９で示されるように、灰色で示される未確定領域が全体として略同じ幅で構成される。
【００７０】
拡張トライマップ画像生成部１３は、このようなトライマップ画像Ｔを、アルファマスク画像生成部１４、トライマップ画像更新部１５、および収束判定部１６に供給する。
【００７１】
ステップＳ４において、アルファマスク画像生成部１４は、トライマップ画像Ｔに基づいて、例えば、ロバストマッティング（非特許文献２参照）により、アルファマスク画像Ａを生成し、トライマップ画像更新部１５に供給する。
【００７２】
ステップＳ５において、トライマップ画像更新部１５は、トライマップ画像更新処理を実行し、トライマップ画像Ｔをトライマップ画像Ｔ’に更新し、収束判定部１６に供給する。
【００７３】
［トライマップ画像更新処理］
ここで、図１０のフローチャートを参照して、トライマップ画像更新処理について説明する。
【００７４】
ステップＳ３１において、エッジフロー生成部３１は、エッジフロー生成処理を実行し、各画素についてエッジフローベクトルを求めて、画素更新部３２、および楕円配列管理部３３に供給する。
【００７５】
［エッジフロー生成処理］
ここで、図１１のフローチャートを参照して、エッジフロー生成処理について説明する。
【００７６】
ステップＳ５１において、輝度変換部５１は、アルファマスク画像Ａを輝度画像に変換し、水平Sobelフィルタ５２、および垂直Sobelフィルタ５３に供給する。
【００７７】
ステップＳ５２において、水平Sobelフィルタ５２は、水平方向のエッジを検出し、画像の水平方向に対して、エッジに垂直なエッジグラディエントフロー（微分ベクトルの水平方向成分）を求め、ベクトル回転部５４に供給する。
【００７８】
ステップＳ５３において、垂直Sobelフィルタ５３は、垂直方向のエッジを検出し、画像の垂直方向に対して、エッジに垂直なエッジグラディエントフロー（微分ベクトルの垂直方向成分）を求め、ベクトル回転部５４に供給する。
【００７９】
ステップＳ５４において、ベクトル回転部５４は、エッジグラディエントフローベクトルを９０度時計回りに回転させて、エッジタンジェントフローベクトルを生成し、非線形平滑化処理部５５に供給する。このエッジタンジェントフローベクトルは、正規化ベクトル（大きさが１のベクトル）の水平成分および垂直成分、並びに、ベクトルの大きさの情報から構成される。尚、上述したように、以降においては、このエッジタンジェントフローベクトルは、単にエッジフローベクトルと称するものとする。
【００８０】
ステップＳ５５において、非線形平滑化処理部５５は、エッジフローベクトルを非線形に平滑化し、平滑化したエッジフローベクトルを画素更新部３２に供給する。すなわち、非線形平滑化されることにより、各ベクトルの大きさを変化させることなく、顕著なエッジについては保持しつつ、弱いエッジが周辺の顕著なエッジに従うように処理され、滑らかにベクトル方向が変化するようなエッジフローベクトルとなる。
【００８１】
各画素単位のエッジフローベクトルからなる画像は、例えば、入力画像が図１２の画像Ｐ１１で示されるような鳥の顔画像における毛並みが表示された部分であるような場合、画像Ｐ１２で示されるように非線形平滑化処理される前のエッジフローベクトルの画像が抽出される。また、エッジフローベクトルからなる画像Ｐ１２は、非線形平滑化処理されることにより、画像Ｐ１３で示されるような画像となる。このように、エッジフローベクトルで示される画像は、毛の流れの特徴を残した画像となり、非線形平滑化されることにより、より滑らかな毛の流れが表現される。
【００８２】
以上の処理により、各画素（ｐｘ，ｐｙ）について、正規化ベクトルの要素（ｔｘ，ｔｙ）、および、そのベクトルの長さ（ｍａｇ）の情報からなるエッジフローベクトルが求められる。
【００８３】
ここで、図１０のフローチャートの説明に戻る。
【００８４】
ステップＳ３１において、エッジフローベクトルが求められると、ステップＳ３２において、トライマップ画像更新部１５の楕円配列管理部３３は、楕円形状サンプリングのためのサイズ配列ｓｖｅｃを設定する。
【００８５】
楕円形状のサンプリングは、例えば、図１３のトライマップ画像Ｔ上の画素ＰＰ（ｐｘ，ｐｙ）を中心とした、長半径ａを３×ｗ、長半径ｂをｗとした、長軸が画素位置のエッジフローベクトル（ｔｘ，ｔｙ）に沿うように配置される楕円形状内の画素に適用される。そして、楕円配列管理部３３は、短軸の位置に対応付けて、長軸方向に設定されるサンプル点の画素数を事前に計算することにより、サイズ配列ｓｖｅｃを設定する。サイズは、以下の式（１）によって計算される。尚、長軸および短軸の長さは、これ以外の長さで自由に設定することができる。
【００８６】
ｘ＝√（（１−ｙ2／ｂ2）×ａ2）
・・・（１）
【００８７】
より具体的には、サイズ配列ｓｖｅｃに設定されるサンプル点は、例えば、図１４で示されるように、整数座標位置に取ることを想定している。このため、第１象限に限ってみれば、例えば、短軸上のｂ＝０に対応するｉｎｄｅｘ＝０においては、白丸で示されるサンプル点が８個存在するので、サイズが８となる。また、同様に、短軸上のｂ＝１に対応するｉｎｄｅｘ＝１においては、サンプル点が７個存在するので、サイズが７となる。さらに、同様に、短軸上のｂ＝２に対応するｉｎｄｅｘ＝２においては、サンプル点が５個存在するので、サイズが５となる。そして、短軸上のｂ＝３に対応するｉｎｄｅｘ＝３においては、サンプル点が０個であるので、サイズが０となる。
【００８８】
そこで、楕円配列管理部３３は、この第１象限におけるｉｎｄｅｘとサイズの関係をまとめて、例えば、図１５で示されるようなサイズ配列ｓｖｅｃとして設定する。
【００８９】
ステップＳ３２において、画素更新部３２は、アルファマスク画像Ａ、およびトライマップ画像Ｔのうち、未処理の画素が存在するか否かを判定する。例えば、未処理の画素が存在する場合、ステップＳ３３において、画素更新部３２は、未処理の画素のいずれかを処理対象の画素（ｐｘ，ｐｙ）に設定する。
【００９０】
ステップＳ３４において、処理対象となったアルファマスク画像Ａの画素における透明度αが、最小値Ｔｈ＿ｍｉｎよりも大きく、かつ、最大値Ｔｈ＿ｍａｘよりも小さいか否かを判定する。すなわち、ステップＳ３４においては、処理対象となっている画素が前景オブジェクト画像に属することが明らかな画素でなく、さらに、背景画像に属することが明らかな画素でもない画素であるか否かが判定される。
【００９１】
ステップＳ３４において、処理対象画素の透明度αが、最小値Ｔｈ＿ｍｉｎよりも大きく、かつ、最大値Ｔｈ＿ｍａｘよりも小さく、すなわち、前景オブジェクト画像にも、背景画像にも属さない画素である場合、処理は、ステップＳ３５に進む。
【００９２】
ステップＳ３５において、画素更新部３２は、ラベル更新処理を実行し、処理対象画素により特定されるトライマップ画像Ｔにおける楕円形状の範囲の画素について、ラベルを未確定画素に更新する。
【００９３】
［ラベル更新処理］
ここで、図１６のフローチャートを参照して、ラベル更新処理について説明する。
【００９４】
ステップＳ７１において、ラベル更新部７１は、短軸方向座標管理部７３を制御して、短軸方向のカウンタｔを短軸の大きさｗに負符号を付した値に設定する（ｔ＝−ｗ）。
【００９５】
ステップＳ７２において、短軸方向座標管理部７３は、カウンタｔが短軸の大きさであるｗ以下であるか否かを判定し、例えば、ｗ以下である場合、処理は、ステップＳ７３に進む。
【００９６】
ステップＳ７３において、ラベル更新部７１は、トライマップ画像Ｔにおける処理対象画素（ｐｘ，ｐｙ）に対して未確定画素に設定すべき楕円形状範囲内の画素位置（ｂｘ，ｂｙ）を以下の式（２）を計算することにより決定する。
【００９７】
ｂｘ＝ｐｘ＋ｔｘ×ｔ
ｂｙ＝ｐｙ＋ｔｙ×ｔ
・・・（２）
【００９８】
ここで、ｂｘ，ｂｙは、処理対象画素（ｐｘ，ｐｙ）により設定される、例えば、図１７における楕円形状の範囲内におけるｔ軸上のサンプル点（黒丸）の座標（ｂｘ，ｂｙ）である。また、ｔｘ，ｔｙは、処理対象画素（ｐｘ，ｐｙ）におけるエッジフローベクトルのｓｘ方向成分、およびｓｙ方向成分である。また、ｔは、カウンタｔの値である。
【００９９】
すなわち、ステップＳ７３の処理においては、カウンタｔの値に伴って、サンプル点は、図１７におけるサンプル点Ｓｐ７，Ｓ６５，Ｓｐ４・・・，Ｓｐ１を順次取ることになる。尚、図１７においては、処理対象画素（ｐｘ，ｐｙ）は、サンプル点Ｓｐ４の黒丸が属する、トライマスク画像Ｔ上の正方形状のマス目として示されている画素ＴＰである。
【０１００】
ステップＳ７４において、長軸方向座標管理部７２は、楕円配列管理部３３にアクセスし、格納されているサイズ配列ｓｖｅｃのうち、ｉｎｄｅｘがカウンタｔの絶対値に対応して設定されているサイズ（＝ｓｖｅｃ［ａｂｓ（ｔ）］）を読み出す。そして、長軸方向座標管理部７２は、読み出したサイズ（＝ｓｖｅｃ［ａｂｓ（ｔ）］）に負符号を付して、この値をカウンタｓに設定する。すなわち、長軸方向に沿って設定されているサイズのうち、カウンタｔで設定されるｉｎｄｅｘの値に対応するサイズにマイナスが付された値がカウンタｓの値として設定される。
【０１０１】
ステップＳ７５において、長軸方向座標管理部７２は、カウンタｓが、楕円配列管理部３３に格納されているサイズ配列ｓｖｅｃにおける、ｉｎｄｅｘがカウンタｔの絶対値に対応するサイズ（＝ｓｖｅｃ［ａｂｓ（ｔ）］）よりも小さいか否かを判定する。
【０１０２】
すなわち、カウンタｓ，ｔは、それぞれ未確定画素に設定すべき画素の位置に対応するサンプル点のｓ軸、およびｔ軸（フローベクトルの（ｔｘ，ｔｙ）に対応する軸）の座標を示すものである。このため、ステップＳ７５では、カウンタｓが、図１７で示されるように、今現在のカウンタｔに対応する位置でｔ軸と直交する（ｓ軸と平行な）直線上に設定されたサンプル点のｓ軸の座標のうち、楕円形状の範囲内の最大値以下であるか否かが判定される。
【０１０３】
例えば、カウンタｔが０であるような場合、図１５で示されるように、サイズは、ｉｎｄｅｘ＝０に対応するｓｖｅｃ［０］で示されるサイズは８となる。したがって、図１７においては、ｓ軸上の最も右上のサンプル点までの範囲であるか、すなわち、楕円形状で設定される範囲内のｓ軸の座標が最も大きなサンプル点である（ｓ，ｔ）＝（８，０）より、ｓ軸方向に対して左側の座標位置であるか否かが判定される。
【０１０４】
ステップＳ７５において、カウンタｓがサイズ配列ｓｖｅｃ［ａｂｓ（ｔ）］よりも小さい場合、処理は、ステップＳ７６に進む。
【０１０５】
ステップＳ７６において、楕円形状の範囲内の処理対象位置（ｓｘ，ｓｙ）を、例えば、以下の式（３）を演算することにより設定する。
【０１０６】
ｓｘ＝ｒｏｕｎｄ（ｂｘ＋ｔｘ×ｓ）
ｓｙ＝ｒｏｕｎｄ（ｂｙ＋ｔｙ×ｓ）
・・・（３）
【０１０７】
ここで、ｒｏｕｎｄ（Ｘ）は、Ｘの小数点以下を切り捨てることを示しており、処理対象位置（ｓｘ，ｓｙ）は、図１７におけるｓ軸に沿って設定されるサンプル点（白丸）を含む、マス目で示される画素の座標である。すなわち、ステップＳ７６の処理により、図１７で示されるように、ｓｔ空間内におけるサンプル点に対応する、トライマップ画像Ｔ上のｓｘ，ｓｙ空間内の画素座標が決定される。
【０１０８】
ステップＳ７７において、ラベル更新部７１は、サンプル点（ｓ，ｔ）に対応する座標（ｓｘ，ｓｙ）の画素位置に対応するトライマップ画像Ｔの画素におけるラベルを未確定画素を示す「−１」に設定し、更新トライマップ画像出力部３４に出力する。
【０１０９】
ステップＳ７８において、長軸方向座標管理部７２は、カウンタｓを１インクリメントして、処理は、ステップＳ７５に戻る。すなわち、ステップＳ７５において、カウンタｓがサイズ配列ｓｖｅｃ［ａｂｓ（ｔ）］以下であると判定されるまで、ステップＳ７５乃至Ｓ７８の処理が繰り返される。
【０１１０】
また、ステップＳ７５において、カウンタｓがサイズ配列ｓｖｅｃ［ａｂｓ（ｔ）］以下ではないと判定された場合、すなわち、サンプル点として設定された楕円形状の範囲を超えたと判定された場合、ステップＳ７９において、短軸方向座標管理部７３は、カウンタｔを１インクリメントし、処理は、ステップＳ７２に戻る。そして、ステップＳ７２において、カウンタｔがｗ以下ではないと判定されるまで、ステップＳ７２乃至Ｓ７９の処理が繰り返される。
【０１１１】
そして、ステップＳ７２において、カウンタｔが短軸の大きさｗ以下ではない、すなわち、ｗを超えた場合、処理は終了する。
【０１１２】
以上の処理をまとめると、図１７で示されるように、例えば、トライマップ画像Ｔ上の処理対象画素が、楕円形状範囲内のサンプル点Ｓｐ４に対応する画素ＴＰである場合、楕円形状の範囲が処理対象の範囲に設定される。そして、短軸方向の座標を管理するカウンタｔによりｔ軸上のサンプル点が、サンプル点Ｓｐ７，Ｓｐ６，・・・Ｓｐ１の順序で、順に設定される。さらに、ｔ軸上の位置に対応するｓ軸上のサンプル点がｓ軸上で左から右に向かって徐々に設定され、設定されたサンプル点の属するトライマップ画像Ｔ上の画素（図１７における色が付されたマス目で示される画素）のラベルが順に未確定画素を示す「−１」に更新される。
【０１１３】
結果として、トライマップ画像Ｔ上の処理対象画素に対して、その処理対象画素を中心とした、処理対象画素のエッジフローベクトル方向に対して長軸をとる所定の大きさの楕円形状の範囲内に存在する画素が未確定画素に設定される。このため、トライマップ画像Ｔ上で前景オブジェクト画像にも背景画像にも明らかに属さない画素について、エッジフローベクトルに対応して重み付けされた近傍の範囲の画素が未確定画素として設定させることが可能となる。
【０１１４】
ここで、図１０のフローチャートの説明に戻る。
【０１１５】
ステップＳ３４において、アルファマスク画像Ａにおける処理対象画素の透明度αが、最小値Ｔｈ＿ｍｉｎよりも大きくないか、または、最大値Ｔｈ＿ｍａｘよりも小さくない場合、ステップＳ３５の処理はスキップされ、処理は、ステップＳ３２に戻る。すなわち、アルファマスク画像上の画素が、前景オブジェクト画像の領域に属する画素であるか、または、背景画像に属する画素である場合、ステップＳ３５の処理はスキップされる。
【０１１６】
この処理により、ステップＳ３２において、全ての画素について処理が終了したと判定されるまで、ステップＳ３２乃至Ｓ３５の処理が繰り返される。アルファマスク画像Ａの画素のうち、前景オブジェクト画像の領域に属する画素でも、背景画像に属する画素でもない画素だけが、未確定画素としてラベルが設定される。
【０１１７】
そして、ステップＳ３２において、全ての画素について処理が終了したと判定された場合、処理は、ステップＳ３３に進む。
【０１１８】
ステップＳ３３において、更新トライマップ画像出力部３４は、記憶されている更新されたトライマップ画像Ｔ’を収束判定部１６に供給する。
【０１１９】
すなわち、アルファマスク画像Ａにおける、前景オブジェクト画像にも、背景画像にも属さない画素に対応するトライマップ画像Ｔ上の画素は、その処理対象画素のエッジフローベクトルで設定される楕円形状の範囲が未確定画素のラベルに更新されることになる。
【０１２０】
ここで、図６のフローチャートの説明に戻る。
【０１２１】
ステップＳ６において、収束判定部１６は、トライマップ画像更新部１５により更新される前のトライマップ画像Ｔと、トライマップ画像更新部１５により更新されたトライマップ画像Ｔ’とを比較し、同一であるか、または、略同一であるかを判定する。そして、例えば、同一でも、また略同一でもないと判定された場合、処理は、ステップＳ７に進む。
【０１２２】
ステップＳ７において、収束判定部１６は、ステップＳ４乃至Ｓ７の処理が指定回数に達したか否かを判定し、指定回数に達していないと判定した場合、処理は、ステップＳ８に進む。
【０１２３】
ステップＳ８において、収束判定部１６は、更新後のトライマップ画像Ｔ’を、直前のトライマップ画像Ｔとして記憶すると共に、トライマップ画像Ｔをアルファマスク画像生成部１４に供給する。
【０１２４】
ステップＳ９において、アルファマスク画像生成部１４は、収束判定部１６より供給されてきたトライマップ画像Ｔをロバストマッティング処理することにより、新たなアルファマスク画像Ａを生成し、トライマップ画像更新部１５に供給する。そして、処理は、ステップＳ５に戻る。
【０１２５】
すなわち、トライマップ画像更新部１５により更新される前のトライマップ画像Ｔと、更新されたトライマップ画像Ｔ’とが同一であるか、若しくは、略同一の状態となるか、または、所定回数まで、ステップＳ５乃至Ｓ９の処理が繰り返される。このとき、初回以降の処理では、アルファマスク画像生成部１４は、拡張トライマップ画像生成部１３で生成されたトライマップ画像Ｔではなく、直前に更新されたトライマップ画像Ｔ’に置き換えられたトライマップ画像Ｔよりアルファマスク画像Ａを生成する。
【０１２６】
そして、ステップＳ５乃至Ｓ９の処理が繰り返された後、ステップＳ６において、更新前のトライマップ画像Ｔと、更新後のトライマップ画像Ｔ’とが同一であるか、若しくは、略同一であるとみなされた場合、処理は、ステップＳ１０に進む。または、同様に、ステップＳ５乃至Ｓ９の処理が繰り返された後、ステップＳ７において、ステップＳ５乃至Ｓ９の処理が所定回数に達したと判定された場合、処理は、ステップＳ１０に進む。
【０１２７】
ステップＳ１０において、収束判定部１６は、トライマップ画像Ｔ’をトライマップ画像Ｔとして出力部１７に供給する。このとき、収束判定部１６は、同時に送信されてきているアルファマスク画像Ａも合わせて出力部１７に供給する。出力部１７は、送信されてきたトライマップ画像Ｔとアルファマスク画像Ａを出力する。
【０１２８】
以上の処理により、アルファマスク画像Ａにおける画素単位の透明度αに基づいて、前景オブジェクト画像、または背景画像のいずれにも属さない、楕円形状で設定さえる所定の範囲の画素について、トライマップ画像で未確定画素に設定する処理が繰り返される。
【０１２９】
そして、この処理が繰り返されることにより、例えば、初期に設定される楕円形状サンプリングで設定される楕円形状の範囲が小さい場合、トライマップ画像更新処理が繰り返されるに従って、一般に、未確定画素の設定される範囲が大きくなっていく。
【０１３０】
すなわち、例えば、図７で示されるような入力画像Ｉに対応する最初のトライマップ画像Ｔは、例えば、図９で示されるようなものであり、上述したように、前景オブジェクト画像と背景画像との境界の幅は、全体として略同一となる。
【０１３１】
しかしながら、上述したステップＳ５乃至Ｓ９の処理が繰り返されるに従って、灰色で示される未確定画素が設定された領域が大きくなり、例えば、２０回程度繰り返すことにより、図１８で示されるようなトライマップ画像となる。このように所定回数を繰り返すと、トライマップ画像Ｔを更新するアルファマスク画像Ａは、例えば、図１９で示されるようなものとなり、図１９におけるアルファマスク画像Ａに基づいて、トライマップ画像Ｔを更新しても略変化がなくなる。このように、トライマップ画像が更新前後で変化しない状態になると、アルファマスク画像Ａにおける前景オブジェクト画像でも背景画像でもない透明度αが最小値と最大値との中間の値となっている範囲、すなわち、トライマスク画像Ｔにおける未確定画素の設定範囲が適切であるものとみなすことができる。
【０１３２】
そこで、このようにトライマスク画像Ｔを設定し、トライマスク画像Ｔからロバストマッティングなどによりアルファマスク画像Ａを生成して、このアルファマスク画像Ａと、エッジフローベクトルに基づいてトライマスク画像Ｔ’に更新する処理を繰り返し、更新することで、最適な未確定領域を設定することが可能となる。
【０１３３】
尚、未確定画素の範囲を拡張するにあたり、処理対象画素に対して、一般に固定量の領域拡張を行うには、中心からのユークリッド距離（円形状）かマンハッタン距離（正方形）を用いることが多い。
【０１３４】
しかしながら、複雑なエッジを輪郭に持つオブジェクトの場合はエッジフローベクトル方向に重みをもった拡張を行うことが好ましい。そのため、以上の処理においては、一定方向に膨らんだ分布を持つ楕円形状サンプリングが用いられている。
【０１３５】
また、以上においては、トライマップ画像Ｔと更新後のトライマップ画像Ｔ’が同一、若しくは略同一となるか、または、所定回数まで更新処理を繰り返す例について説明してきたが、例えば、画質よりも計算時間を短縮したい場合、更新処理の指定回数を少ない回数に設定するようにすればよく、例えば、所定回数を１回としても良い。
【０１３６】
例えば、１回の場合、トライマップ画像は、図６のステップＳ３の処理に対応するものであるため、２値マスク画像Ｂの前景オブジェクト画像と背景画像の境界に対して一律の幅の未確定画素の範囲が設定されることになる。この場合、幅が一律であるため、質の高いトライマップ画像を作成することはできないが、計算時間を短縮することが可能となる。
【０１３７】
また、上記説明では、トライマップ画像Ｔの未確定画素の幅の拡張を行う際、アルファマスク画像Ａのエッジタンジェントフローベクトルを用いて、ベクトル方向が長半径となるようにすることで、重みをもった楕円形状の範囲を用いることにより、ベクトル方向に重みを持たせて未確定領域を拡張させている。しかしながら、この他に、２値マスク画像Ｂの前景オブジェクト画像と背景画像の境界に対して垂線方向に重みを持たせるような範囲を設定して未確定領域を拡張させるようにしてもよい。
【０１３８】
さらに、上記エッジタンジェントフローベクトルはアルファマスク画像Ａからではなく、ＲＧＢ画像などの入力画像から求めるようにしてもよい。
【０１３９】
また、上記エッジタンジェントフローベクトルはアルファマスク画像Ａからではなく、前景オブジェクト画像と背景画像の尤度マップ画像から求めても良い。ここでいう尤度マップ画像とは、たとえば、グラフカット処理の中間結果として得ることができるものであり、入力画像の各画素が前景オブジェクト画像の画素に属しやすいか、背景画像の画素に属しやすいかを値として持つマップである（非特許文献１参照）。
【０１４０】
さらに、以上においては、図１０のステップＳ３４において、処理対象画素の透明度αが、最小値Ｔｈ＿ｍｉｎより大きく、最大値Ｔｈ＿ｍａｘよりも小さいとき、画素のラベルを「−１」に更新する例について説明してきた。そこで、さらに、最小値Ｔｈ＿ｍｉｎよりも小さい場合、ラベルを０に設定し、最大値Ｔｈ＿ｍａｘよりも大きい場合、ラベルを１に設定するといった更新を行うようにしても良い。
【０１４１】
また、上記説明では、初期の段階で、比較的狭い幅のトライマップ画像Ｔを生成して、繰り返し拡張する例について説明してきたが、ステップＳ３の処理に当たる初期のトライマップ画像Ｔの生成処理において、未確定領域を比較的広くとって、繰り返し未確定領域が縮小していくようにトライマップ画像Ｔを更新するようにしてもよい。すなわち、上記の拡張範囲に含まれない未確定画素のラベルを、未確定領域のラベル＝「−１」から、背景画像の領域のラベル「０」であるか、または前景オブジェクト領域のラベル「１」に更新させ、徐々に拡張領域を縮小する処理を繰り返してもよい。
【０１４２】
さらに、上記説明では２値マスク画像Ｂを入力画像Ｉとしているが２値ではなく多値をもつ多値ラベル画像を入力としてもよい。上記多値ラベル画像は、例えばラベルを０、１、２、・・・といった整数の連続値として与え、領域が複数個に分離されている画像である。入力画像が上記多値ラベル画像の場合、２値マスク画像の境界を、多値ラベル画像のすべての領域の組み合わせの境界として未確定領域を設定することができる。
【０１４３】
入力画像が上記多値ラベル画像の場合、トライマップ画像の更新は多値ラベルのうち１つを前景オブジェクト画像とし、それ以外を背景画像の２つの領域として考えればよいものである。すなわち、その前景オブジェクト画像の画素の透明度をα＝１、背景画像の画素の透明度をα＝０としてアルファマッティングを行い、その結果を使って未確定領域を拡張する。
【０１４４】
この未確定画素の範囲の拡張は、すべての多値ラベルが前景オブジェクト画像に属する画素であるものとして繰り返し、上記トライマップ画像の更新を繰り返すことにより得られる。入力が上記多値ラベル画像の場合、例えば、出力画像となるトライマップ画像は上記整数の連続値を持つラベルにより設定される領域に加えて未確定画素となるラベル「−１」の値の領域を持つ画像になる。
【０１４５】
また、ユーザがて入力でトライマップ画像を簡易的に作成し、作成した比較的質の悪いトライマップ画像を初期のトライマップ画像として、上述したトライマップ画像の更新を繰り返すことにより、質の高いトライマップ画像を生成するようにしてもよい。すなわち、本発明のステップＳ５乃至Ｓ９の処理で説明したように、質の悪いトライマップ画像Ｔの未確定画素の範囲を、エッジフローベクトルにより拡張量と拡張方向を決定して、その拡張量と拡張方向に基づいてトライマップ画像を更新していくことで、質の高いトライマップを作成することが可能となる。
【０１４６】
以上の如く、本発明によれば、前景オブジェクト画像と背景画像とが設定された２値マスク画像より、アルファマスク画像の設定に最適な、前景オブジェクト画像に属する画素、および背景画像に属する画素に加えて、未確定画素からなるトライマップ画像を生成することができる。
【０１４７】
結果として、２値マスク画像から、質の高いトライマップ画像（３値画像）を容易に生成することができるので、生成された３値画像をアルファマッティング処理することで、容易にアルファマスク画像を生成することが可能となる。
【０１４８】
ところで、上述した一連の情報処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１４９】
図２０は、汎用のパーソナルコンピュータの構成例を示している。このパーソナルコンピュータは、CPU(Central Processing Unit)１００１を内蔵している。CPU１００１にはバス１００４を介して、入出力インタフェース１００５が接続されている。バス１００４には、ROM(Read Only Memory)１００２およびRAM(Random Access Memory)１００３が接続されている。
【０１５０】
入出力インタフェース１００５には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部１００６、処理操作画面や処理結果の画像を表示デバイスに出力する出力部１００７、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部１００８、LAN（Local Area Network）アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部１００９が接続されている。また、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク（ＭＤ(Mini Disc)を含む）、もしくは半導体メモリなどのリムーバブルメディア１０１１に対してデータを読み書きするドライブ１０１０が接続されている。
【０１５１】
CPU１００１は、ROM１００２に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブルメディア１０１１から読み出されて記憶部１００８にインストールされ、記憶部１００８からRAM１００３にロードされたプログラムに従って各種の処理を実行する。RAM１００３にはまた、CPU１００１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１５２】
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【図面の簡単な説明】
【０１５３】
【図１】本発明を適用した画像処理装置の構成例を示すブロック図である。
【図２】入力画像からアルファマスク画像を生成する処理を説明する図である。
【図３】図１のトライマップ画像更新部の構成例を示すブロック図である。
【図４】図３のエッジフロー生成部の構成例を示すブロック図である。
【図５】図３の画素更新部の構成例を示すブロック図である。
【図６】初回のトライマップ画像生成処理を説明するフローチャートである。
【図７】入力画像の画像例を示す図である。
【図８】２値マスク画像の画像例を示す図である。
【図９】トライマップ画像の画像例を示す図である。
【図１０】トライマップ画像更新処理を説明するフローチャートである。
【図１１】エッジフロー生成処理を説明するフローチャートである。
【図１２】エッジフローを説明する図である。
【図１３】楕円形状サンプリングを説明する図である。
【図１４】楕円形状サンプリングにおけるサンプル点を説明する図である。
【図１５】サイズ配列を説明する図である。
【図１６】ラベル更新処理を説明するフローチャートである。
【図１７】ラベル更新処理を説明する図である。
【図１８】繰り返し更新後のトライマップ画像の画像例を示す図である。
【図１９】繰り返し更新後のアルファマスク画像の画像例を示す図である。
【図２０】パーソナルコンピュータの構成例を説明する図である。
【符号の説明】
【０１５４】
１  画像処理装置，  １１  入力画像取得部，  １２  ２値マスク画像生成部，  １３  拡張トライマップ画像生成部，  １４  アルファマスク画像生成部，  １５  トライマップ画像更新部，  １６  収束判定部，  １７  出力部，  ３１  エッジフロー生成部，  ３２  画素更新部，  ３３  楕円配列管理部，  ３４  更新トライマップ出力部，  ５１  水輝度変換部，  ５２  水平Sobelフィルタ，  ５３  垂直Sobelフィルタ，  ５４  ベクトル回転部，  ５５  非線形平滑化処理部，  ７１  ラベル更新部，  ７２  長軸方向座標管理部，  ７３  短軸方向座標管理部
【図１】
2010066802.tif 000003
【図２】
2010066802.tif 000004
【図３】
2010066802.tif 000005
【図４】
2010066802.tif 000006
【図５】
2010066802.tif 000007
【図６】
2010066802.tif 000008
【図７】
2010066802.tif 000009
【図８】
2010066802.tif 000010
【図９】
2010066802.tif 000011
【図１０】
2010066802.tif 000012
【図１１】
2010066802.tif 000013
【図１２】
2010066802.tif 000014
【図１３】
2010066802.tif 000015
【図１４】
2010066802.tif 000016
【図１５】
2010066802.tif 000017
【図１６】
2010066802.tif 000018
【図１７】
2010066802.tif 000019
【図１８】
2010066802.tif 000020
【図１９】
2010066802.tif 000021
【図２０】
2010066802.tif 000022