(57)【要約】【課題】  修復箇所のボケを防ぐと共に、確実に自然な修復画像を得る。【解決手段】    修復領域の縁辺上の画素に対して、埋め込み優先度が高い画素からの順で埋め込み用パッチを配置し、埋め込み用パッチ内の画像を画素値が既知の領域の画像に置き換えることによって修復領域の埋め込みを行うのに際し、埋め込み用パッチよりサイズが大きい優先度算出用パッチを修復領域の縁辺上の各画素に配置し、配置された優先度算出用パッチ内の既知領域の画像において、該既知領域側の優先度算出用パッチの輪郭線上から前記縁辺まで延びる境界線の検出を行い、境界線が検出された優先度算出用パッチが配置された画素の優先度を、境界線が検出されなかった優先度算出用パッチが配置された画素より高く設定する。【選択図】          図１３
2006279442.tif 000002
【特許請求の範囲】
【請求項１】
画素値が既知の既知領域と、画素値が未知の修復領域とからなる画像中の前記修復領域を埋め込むのに際し、前記修復領域の縁辺上の各画素に対して埋め込み優先度を求め、
前記修復領域の縁辺上の画素に中心点が位置するように所定のタップ数の埋め込み用パッチを配置し、
該埋め込み用パッチにおける前記既知領域をマッチング領域として前記埋め込み用パッチに対して設定して埋め込み元画像取得用パッチを得、
該埋め込み元画像取得用パッチを、前記埋め込み用パッチの近傍の前記既知領域上を移動させながら、移動された各位置において、前記埋め込み元画像取得用パッチ内の前記マッチング領域の画像と前記埋め込み用パッチ内の前記既知領域の画像との相似度を求め、
前記相似度が最も高い位置の前記埋め込み元画像取得用パッチ内の画像を埋め込み元画像として取得し、
前記埋め込み用パッチ内の画像を、前記埋め込み元画像に置き換えることによって該埋め込み用パッチ内の領域を前記既知領域にする処理を、前記埋め込み優先度の高い画素からの順に各前記画素に対して行う画像処理方法において、
タップ数が前記埋め込み用パッチのタップ数以上である優先度算出用パッチを、夫々の中心点が前記修復領域の縁辺上の各画素に夫々位置するように配置し、
各前記優先度算出用パッチ内の前記既知領域の画像において、該既知領域側の前記優先度算出用パッチの輪郭線上から前記縁辺まで延びる境界線の検出を行い、
前記境界線が検出された前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素が、前記境界線が検出されなかった前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素より高い埋め込み優先度を設定することを特徴とする画像処理方法。
【請求項２】
前記優先度算出用パッチ内の前記既知領域において、該既知領域の一部を囲む枠を配置し、
前記枠内の画素の画素値の分散値と前記枠外の画素値の分散値とを夫々算出すると共に、２つの前記分散値の総和を求め、
前記枠の内縁の画素のうちの、該画素を前記枠の外に出すことによって前記総和が小さくなる画素を内凹処理の対象とし、該画素の位置において前記枠を内凹させる前記内凹処理と、前記枠の外縁の画素のうちの、該画素を前記枠の中に入れることによって前記総和が小さくなる画素を外凸処理の対象とし、該画素の位置において前記枠を外凸させる前記外凸処理とからなる前記枠の変形処理を、前記内凹処理および前記外凸処理の対象に該当する画素が無くなるまで繰り返し実行し、
前記変形処理の結果に基づいて前記境界線を検出することを特徴とする請求項１記載の画像処理方法。
【請求項３】
前記優先度算出用パッチ内の前記既知領域内の画素の画素値の分散値を求め、
該分散値が所定の閾値より小さい前記既知領域を、前記境界線が存在しない既知領域と判定すると共に、
前記分散値が前記所定の閾値以上である前記既知領域に対してのみ、前記境界線の検出を行うことを特徴とする請求項１または２記載の画像処理方法。
【請求項４】
前記境界線が検出された前記既知領域を有する複数の前記優先度算出用パッチに対して、検出された前記境界線と前記縁辺との接点が、該境界線に対応する前記優先度算出用パッチの中心点に近いものほど、該優先度算出用パッチの中心点に位置する前記画素の前記埋め込み優先度を高く設定することを特徴とする請求項１から３のいずれか１項記載の画像処理方法。
【請求項５】
画素値が既知の既知領域と、画素値が未知の修復領域とからなる画像中の前記修復領域を埋め込むのに際し、前記修復領域の縁辺上の各画素に対して埋め込み優先度を求める優先度取得手段と、
前記修復領域の縁辺上の画素に中心点が位置するように所定のタップ数の埋め込み用パッチを配置し、
該埋め込み用パッチにおける前記既知領域をマッチング領域として前記埋め込み用パッチに対して設定して埋め込み元画像取得用パッチを得、
該埋め込み元画像取得用パッチを、前記埋め込み用パッチの近傍の前記既知領域上を移動させながら、移動された各位置において、前記埋め込み元画像取得用パッチ内の前記マッチング領域の画像と前記埋め込み用パッチ内の前記既知領域の画像との相似度を求め、
前記相似度が最も高い位置の前記埋め込み元画像取得用パッチ内の画像を埋め込み元画像として取得し、
前記埋め込み用パッチ内の画像を、前記埋め込み元画像に置き換えることによって該埋め込み用パッチ内の領域を前記既知領域にする処理を、前記優先度取得手段により求められた前記埋め込み優先度の高い画素からの順に各前記画素に対して行う埋込手段とを有してなる画像処理装置において、
前記優先度取得手段が、タップ数が前記埋め込み用パッチのタップ数以上である優先度算出用パッチを、夫々の中心点が前記修復領域の縁辺上の各画素に夫々位置するように配置し、
各前記優先度算出用パッチ内の前記既知領域の画像において、該既知領域側の前記優先度算出用パッチの輪郭線上から前記縁辺まで延びる境界線の検出を行う境界線検出手段と、
前記境界線が検出された前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素が、前記境界線が検出されなかった前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素より高い埋め込み優先度を設定する優先度設定手段とからなることを特徴とする画像処理装置。
【請求項６】
前記境界線検出手段が、前記優先度算出用パッチ内の前記既知領域において、該既知領域の一部を囲む枠を配置し、
前記枠内の画素の画素値の分散値と前記枠外の画素値の分散値とを夫々算出すると共に、２つの前記分散値の総和を求め、
前記枠の内縁の画素のうちの、該画素を前記枠の外に出すことによって前記総和が小さくなる画素を内凹処理の対象とし、該画素の位置において前記枠を内凹させる前記内凹処理と、前記枠の外縁の画素のうちの、該画素を前記枠の中に入れることによって前記総和が小さくなる画素を外凸処理の対象とし、該画素の位置において前記枠を外凸させる前記外凸処理とからなる前記枠の変形処理を、前記内凹処理および前記外凸処理の対象に該当する画素が無くなるまで繰り返し実行し、
前記変形処理の結果に基づいて前記境界線を検出するものであることを特徴とする請求項５記載の画像処理装置。
【請求項７】
前記境界線検出手段が、前記優先度算出用パッチ内の前記既知領域内の画素の画素値の分散値を求め、
該分散値が所定の閾値より小さい前記既知領域を、前記境界線が存在しない既知領域と判定すると共に、
前記分散値が前記所定の閾値以上である前記既知領域に対してのみ、前記境界線の検出を行うものであることを特徴とする請求項５または６記載の画像処理装置。
【請求項８】
前記優先度設定手段が、前記境界線が検出された前記既知領域を有する複数の前記優先度算出用パッチに対して、検出された前記境界線と前記縁辺との接点が、該境界線に対応する前記優先度算出用パッチの中心点に近いものほど、該優先度算出用パッチの中心点に位置する前記画素の前記埋め込み優先度を高く設定するものであることを特徴とする請求項５から７のいずれか１項記載の画像処理装置。
【請求項９】
画素値が既知の既知領域と、画素値が未知の修復領域とからなる画像中の前記修復領域を埋め込むのに際し、前記修復領域の縁辺上の各画素に対して埋め込み優先度を求める処理と、
前記修復領域の縁辺上の画素に中心点が位置するように所定のタップ数の埋め込み用パッチを配置し、
該埋め込み用パッチにおける前記既知領域をマッチング領域として前記埋め込み用パッチに対して設定して埋め込み元画像取得用パッチを得、
該埋め込み元画像取得用パッチを、前記埋め込み用パッチの近傍の前記既知領域上を移動させながら、移動された各位置において、前記埋め込み元画像取得用パッチ内の前記マッチング領域の画像と前記埋め込み用パッチ内の前記既知領域の画像との相似度を求め、
前記相似度が最も高い位置の前記埋め込み元画像取得用パッチ内の画像を埋め込み元画像として取得し、
前記埋め込み用パッチ内の画像を、前記埋め込み元画像に置き換えることによって該埋め込み用パッチ内の領域を前記既知領域にする処理を前記埋め込み優先度の高い画素からの順に各前記画素に対して行う埋め込み処理とをコンピュータに実行させるプログラムであって、
前記優先度を求める処理が、タップ数が前記埋め込み用パッチのタップ数以上である優先度算出用パッチを、夫々の中心点が前記修復領域の縁辺上の各画素に夫々位置するように配置し、
各前記優先度算出用パッチ内の前記既知領域の画像において、該既知領域側の前記優先度算出用パッチの輪郭線上から前記縁辺まで延びる境界線の検出を行う境界線検出処理と、
前記境界線が検出された前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素が、前記境界線が検出されなかった前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素より高い埋め込み優先度を設定する優先度設定処理とからなることを特徴とするプログラム。
【請求項１０】
前記境界線検出処理が、前記優先度算出用パッチ内の前記既知領域において、該既知領域の一部を囲む枠を配置し、
前記枠内の画素の画素値の分散値と前記枠外の画素値の分散値とを夫々算出すると共に、２つの前記分散値の総和を求め、
前記枠の内縁の画素のうちの、該画素を前記枠の外に出すことによって前記総和が小さくなる画素を内凹処理の対象とし、該画素の位置において前記枠を内凹させる前記内凹処理と、前記枠の外縁の画素のうちの、該画素を前記枠の中に入れることによって前記総和が小さくなる画素を外凸処理の対象とし、該画素の位置において前記枠を外凸させる前記外凸処理とからなる前記枠の変形処理を、前記内凹処理および前記外凸処理の対象に該当する画素が無くなるまで繰り返し実行し、
前記変形処理の結果に基づいて前記境界線を検出する処理であることを特徴とする請求項９記載のプログラム。
【請求項１１】
前記境界線検出処理が、前記優先度算出用パッチ内の前記既知領域内の画素の画素値の分散値を求め、
該分散値が所定の閾値より小さい前記既知領域を、前記境界線が存在しない既知領域と判定すると共に、
前記分散値が前記所定の閾値以上である前記既知領域に対してのみ、前記境界線の検出を行う処理であることを特徴とする請求項９または１０記載のプログラム。
【請求項１２】
前記優先度設定処理が、前記境界線が検出された前記既知領域を有する複数の前記優先度算出用パッチに対して、検出された前記境界線と前記縁辺との接点が、該境界線に対応する前記優先度算出用パッチの中心点に近いものほど、該優先度算出用パッチの中心点に位置する前記画素の前記埋め込み優先度を高く設定することを特徴とする請求項９から１１のいずれか１項記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理、具体的に画像の修復などに用いられる画像処理方法および装置並びにそのためのプログラムに関するものである。
【背景技術】
【０００２】
従来、画像上のシミや汚れの除去や、欠損の補修などが行われている。また、シミや汚れではないが、ユーザが存在してほしくない柱や、電線などの被写体を除去してユーザ所望の画像に仕上げる処理なども行われている。これらの処理は、まず、除去や、補修などの対象となる領域（以下修復領域という）を手動指定または自動検出により特定し、特定された修復領域の各画素に対して元の画素値の代わりとなる新たな画素値を求めて与える（すなわち修復領域を埋め込む）ことによって実現されている。
【０００３】
修復領域の画素の新たな画素値を求める方法としては、例えば、特許文献１に記載されたように、修復領域に属さない領域（この領域内の画素の画素値が既に知っているので、以下既知領域という）内の画素の画素値を用いて修復領域内の画素の新たな画素値を求めることができる。具体的には、修復領域の縁辺上に所定のサイズ（例えば３画素×３画素）のパッチを配置し、配置されたパッチ内における既知領域の画素の画素値の平均値を求めて、同じパッチ内における修復領域の画素の新たな画素値とするようにしている。また、平均値の代わりに、パッチ内における既知領域の画素の画素値に対して補間処理を行うことによって、同じパッチ内における修復領域の画素の新たな画素値を求めることもできる。
【０００４】
しかし、特許文献１に提案された方法では、修復領域が小さいときはそれほど違和感なく修復領域を埋め込むことができるが、修復領域が大きいときは、修復領域の中心部に近くなるほど、周波数成分がなくなるため、埋め込まれた修復領域のボケが目立ち、処理後の画像は違和感が大きい。
【０００５】
この問題を解決するために、非特許文献１は、下記のような埋め込む手法を提案している。この手法は、修復領域の縁辺上の各画素に対して埋め込み優先度を求め、求められた埋め込み優先度のうち、最も高い埋め込み優先度を有する画素の位置からの順で埋め込む処理を実行する。埋め込むのに際しては、具体的に、図１４に示すように、最も高い優先度を有する画像から、優先度の高い画素からの順に、中心点が当該画素に位置するようにパッチ（以下埋め込み用パッチという）を配置し、この埋め込み用パッチ内の既知領域をマッチング領域として埋め込み用パッチに対して設定して、埋め込み用パッチ内の画像の代わりとなる埋め込み元画像を取得するためのパッチ（以下埋め込み元画像取得用パッチという）を得る。図１５（ａ）は図１４に示す埋め込み用パッチの拡大図を例示しており、図１５（ｂ）は、図１５（ａ）に示す埋め込み用パッチに基づいて得られた埋め込み元画像取得用パッチを示している。そして、図１５（ａ）に示すような埋め込み元画像取得用パッチ、すなわちマッチング領域が設定されたパッチを、埋め込み用パッチの近傍の既知領域上を移動させながら、移動された各位置において、埋め込み元画像取得用パッチ内のマッチング領域の画像と、埋め込み用パッチ内の既知領域の画像との相似度を求め、この相似度が最も高いマッチング領域の画像に対応する位置における埋め込み元画像取得用パッチ内の画像を埋め込み元画像として取得する。そして、埋め込み用パッチ内の画像を、埋め込み元画像に置き換える。
【０００６】
この置き換え、すなわち埋め込みによって、画像中の既知領域が広がり、修復領域が小さくなる。優先度が高い画素の位置からの順でこのような埋め込み処理を、画像上の修復領域が無くなるまで実行することによって、画像上の修復領域が全部既知領域となる。
【０００７】
この手法では、埋め込み優先度を求める処理が極めて重要である。非特許文献１において、縁辺上の各画素の位置においてエッジの検出を行い、エッジ検出の結果に基づいて埋め込み優先度を求める方法が提案されている。具体的には、修復領域の縁辺上の各画素の位置において、既知領域から縁辺に向かって延びるエッジの検出を行い、このようなエッジがある位置の埋め込み優先度を、エッジがない位置の埋め込み優先度より高く設定すると共に、このようなエッジが複数の位置において検出された場合には、これらのエッジの強度に応じて、強度が高いエッジほどこのエッジがある位置の埋め込み優先度を高く設定する。
【０００８】
この方法によって、まず、埋め込み用パッチ内の既知領域の画像の画素値の平均値または補間処理により得られた値の代わりに、既知領域上に実際に存在し、かつマッチング領域の画像が埋め込み用パッチ内の既知領域の画像と相似度の高い画像（埋め込む元画像取得用パッチ内の画像）を用いて埋め込みパッチ内の画像を置き変えるようにしているので、処理後の画像においてボケが生じてしまうことを防ぐことができ、違和感の少ない修復効果を得ることができる。また、エッジがある位置（エッジがある位置が複数検出された場合においては強度が最も高いエッジを有する位置）から埋め込みをしているので、埋め込みによって元々あるエッジが消えてしまうことを防ぐことができる。
【０００９】
また、非特許文献２には、画像全体に対して、領域を分割する処理、例えば画像中の空と海、森と手前の地面などを分割する領域分割処理を行い、この領域分割処理の結果に基づいて修復を行う方法が提案されている。この方法は、画像中の領域間の境界線を得ることができるので、修復領域を埋め込むのに際し、縁辺上にかかる境界線があれば、その境界線の位置から埋め込むようにしている。
【特許文献１】特開平７−１１４６３９号公報
【非特許文献１】Ａ．Ｃｒｉｍｉｎｉｓｉ，Ｐ．Ｐｅｒｅｚ，ａｎｄ  Ｋ．Ｔｏｙａｍａ，  Ｏｂｊｅｃｔ  Ｒｅｍｏｖａｌ  ｂｙ  Ｅｘｅｍｐｌａｒ−ｂａｓｅｄ  Ｉｎｐａｉｔｉｎｇ，  Ｃｏｎｆ．ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ，ＣＶＰＲ，  Ｍａｄｉｓｏｎ，Ｗｉｓｃｏｎｓｉｎ，２００３
【非特許文献２】Ｊ．Ｊｉａ，  ａｎｄ  Ｃ．Ｋ．Ｔａｎｇ，  Ｉｍａｇｅ  ｒｅｐａｉｒｉｎｇ：  Ｒｏｂｕｓｔ  Ｉｍａｇｅ  Ｓｙｎｔｈｅｓｉｓ  ｂｙ  Ａｄａｐａｔｉｖｅ  ＮＤ  ｔｅｎｓｏｒ  ｖｏｔｉｎｇ，Ｃｏｎｆ．ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ，ＣＶＰＲ，  Ｍａｄｉｓｏｎ，  ２００３
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、非特許文献１に記載の方法は、多くの場合において良い修復効果を得ることができるが、埋め込み優先度を求めるのに際し、局所的なエッジしか検出してないため、長い境界線を有する画像の場合においては、実際の画像と大きく異なる画像に仕上げてしまうという問題がある。
【００１１】
例えば、図１６（ａ）に示すように、修復領域が砂浜と川とに跨り、修復領域の外縁にゴミなどの小さな黒い物体がかかっている画像の場合において、川と砂浜の境界線がつながるように図中点Ａまたは点Ｂから埋め込むことが望ましいが、点Ａ、点Ｂよりも、点Ｃにおけるエッジ強度が高いため、非特許文献１に記載の方法では点Ｃの優先度が高く、点Ａからの埋め込みがなされる。その結果、図１６（ｂ）に示すように、ゴミ部分が修復領域内に伸び、この埋め込みを繰り返すことによって、修復領域内に実際に存在しない黒い物体が出現すると共に、川と砂浜との境界線が修復領域内に無く、不自然な画像となってしまう。
【００１２】
一方、非特許文献２に記載の方法は、画像全体において領域分割処理を行い、この領域分割の結果に基づいて、境界線のある位置から埋め込むようにしているので、図１６（ａ）に例示した画像の場合、領域分割処理によって画像は砂浜と川との２つの領域に分割され、修復領域縁辺上の点Ａ、点Ｂは、２つの領域の境界線上にあるので、埋め込みが点Ａまたは点Ｂから行われるようになり、図１６（ｂ）に示すような結果にはならない。
【００１３】
しかし、非特許文献２記載の方法は、図１６（ａ）に示すような単純な領域から構成される画像の場合において有効であるが、実際の画像では、領域の数が多く、領域の構造も複雑なほうが多い。そのため、精度良く領域を分割することができず、よい修復効果も得られないという問題がある。
【００１４】
本発明は、上記事情に鑑み、修復箇所のボケを防ぐと共に、確実に自然な修復画像を得ることができる画像処理方法および装置並びにそのためのプログラムを提供することを目的とするものである。
【課題を解決するための手段】
【００１５】
本発明の画像処理方法は、画素値が既知の既知領域と、画素値が未知の修復領域とからなる画像中の前記修復領域を埋め込むのに際し、前記修復領域の縁辺上の各画素に対して埋め込み優先度を求め、
前記修復領域の縁辺上の画素に中心点が位置するように所定のタップ数の埋め込み用パッチを配置し、
該埋め込み用パッチにおける前記既知領域をマッチング領域として前記埋め込み用パッチに対して設定して埋め込み元画像取得用パッチを得、
該埋め込み元画像取得用パッチを、前記埋め込み用パッチの近傍の前記既知領域上を移動させながら、移動された各位置において、前記埋め込み元画像取得用パッチ内の前記マッチング領域の画像と前記埋め込み用パッチ内の前記既知領域の画像との相似度を求め、
前記相似度が最も高い位置の前記埋め込み元画像取得用パッチ内の画像を埋め込み元画像として取得し、
前記埋め込み用パッチ内の画像を、前記埋め込み元画像に置き換えることによって該埋め込み用パッチ内の領域を前記既知領域にする処理を、前記埋め込み優先度の高い画素からの順に各前記画素に対して行う画像処理方法において、
タップ数が前記埋め込み用パッチのタップ数以上である優先度算出用パッチを、夫々の中心点が前記修復領域の縁辺上の各画素に夫々位置するように配置し、
各前記優先度算出用パッチ内の前記既知領域の画像において、該既知領域側の前記優先度算出用パッチの輪郭線上から前記縁辺まで延びる境界線の検出を行い、
前記境界線が検出された前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素が、前記境界線が検出されなかった前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素より高い埋め込み優先度を設定することを特徴とするものである。
【００１６】
前記優先度算出用パッチ内の前記既知領域において、該既知領域の一部を囲む枠を配置し、
ここで、前記境界線の検出に当たり、前記枠内の画素の画素値の分散値と前記枠外の画素値の分散値とを夫々算出すると共に、２つの前記分散値の総和を求め、
前記枠の内縁の画素のうちの、該画素を前記枠の外に出すことによって前記総和が小さくなる画素を内凹処理の対象とし、該画素の位置において前記枠を内凹させる前記内凹処理と、前記枠の外縁の画素のうちの、該画素を前記枠の中に入れることによって前記総和が小さくなる画素を外凸処理の対象とし、該画素の位置において前記枠を外凸させる前記外凸処理とからなる前記枠の変形処理を、前記内凹処理および前記外凸処理の対象に該当する画素が無くなるまで繰り返し実行し、
前記変形処理の結果に基づいて前記境界線を検出することが望ましい。
【００１７】
また、前記優先度算出用パッチ内の前記既知領域内の画素の画素値の分散値を求め、
該分散値が所定の閾値より小さい前記既知領域を、前記境界線が存在しない既知領域と判定すると共に、
前記分散値が前記所定の閾値以上である前記既知領域に対してのみ、前記境界線の検出を行うことが好ましい。
【００１８】
また、前記境界線が検出された前記既知領域を有する複数の前記優先度算出用パッチに対して、検出された前記境界線と前記縁辺との接点が、該境界線に対応する前記優先度算出用パッチの中心点に近いものほど、該優先度算出用パッチの中心点に位置する前記画素の前記埋め込み優先度を高く設定するようにすることができる。
【００１９】
本発明の画像処理装置は、画素値が既知の既知領域と、画素値が未知の修復領域とからなる画像中の前記修復領域を埋め込むのに際し、前記修復領域の縁辺上の各画素に対して埋め込み優先度を求める優先度取得手段と、
前記修復領域の縁辺上の画素に中心点が位置するように所定のタップ数の埋め込み用パッチを配置し、
該埋め込み用パッチにおける前記既知領域をマッチング領域として前記埋め込み用パッチに対して設定して埋め込み元画像取得用パッチを得、
該埋め込み元画像取得用パッチを、前記埋め込み用パッチの近傍の前記既知領域上を移動させながら、移動された各位置において、前記埋め込み元画像取得用パッチ内の前記マッチング領域の画像と前記埋め込み用パッチ内の前記既知領域の画像との相似度を求め、
前記相似度が最も高い位置の前記埋め込み元画像取得用パッチ内の画像を埋め込み元画像として取得し、
前記埋め込み用パッチ内の画像を、前記埋め込み元画像に置き換えることによって該埋め込み用パッチ内の領域を前記既知領域にする処理を、前記優先度取得手段により求められた前記埋め込み優先度の高い画素からの順に各前記画素に対して行う埋込手段とを有してなる画像処理装置において、
前記優先度取得手段が、タップ数が前記埋め込み用パッチのタップ数以上である優先度算出用パッチを、夫々の中心点が前記修復領域の縁辺上の各画素に夫々位置するように配置し、
各前記優先度算出用パッチ内の前記既知領域の画像において、該既知領域側の前記優先度算出用パッチの輪郭線上から前記縁辺まで延びる境界線の検出を行う境界線検出手段と、
前記境界線が検出された前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素が、前記境界線が検出されなかった前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素より高い埋め込み優先度を設定する優先度設定手段とからなることを特徴とするものである。
【００２０】
ここで、前記境界線検出手段は、前記優先度算出用パッチ内の前記既知領域において、該既知領域の一部を囲む枠を配置し、
前記枠内の画素の画素値の分散値と前記枠外の画素値の分散値とを夫々算出すると共に、２つの前記分散値の総和を求め、
前記枠の内縁の画素のうちの、該画素を前記枠の外に出すことによって前記総和が小さくなる画素を内凹処理の対象とし、該画素の位置において前記枠を内凹させる前記内凹処理と、前記枠の外縁の画素のうちの、該画素を前記枠の中に入れることによって前記総和が小さくなる画素を外凸処理の対象とし、該画素の位置において前記枠を外凸させる前記外凸処理とからなる前記枠の変形処理を、前記内凹処理および前記外凸処理の対象に該当する画素が無くなるまで繰り返し実行し、
前記変形処理の結果に基づいて前記境界線を検出するものであることが好ましい。
【００２１】
また、前記境界線検出手段は、前記優先度算出用パッチ内の前記既知領域内の画素の画素値の分散値を求め、
該分散値が所定の閾値より小さい前記既知領域を、前記境界線が存在しない既知領域と判定すると共に、
前記分散値が前記所定の閾値以上である前記既知領域に対してのみ、前記境界線の検出を行うものであることが好ましい。
【００２２】
また、前記優先度設定手段は、前記境界線が検出された前記既知領域を有する複数の前記優先度算出用パッチに対して、検出された前記境界線と前記縁辺との接点が、該境界線に対応する前記優先度算出用パッチの中心点に近いものほど、該優先度算出用パッチの中心点に位置する前記画素の前記埋め込み優先度を高く設定するものであるとすることができる。
【００２３】
本発明の画像処理方法を、コンピュータに実行させるプログラムとして提供してもよい。
【発明の効果】
【００２４】
本発明の画像処理方法および装置によれば、埋め込み用パッチよりサイズが大きい優先度算出用パッチを、その中心点が画像中における修復領域の縁辺上の画素に位置するように配置し、この優先度算出用パッチ内の既知領域内において、優先度算出用パッチの輪郭線から、優先度算出用パッチ内の修復領域の縁辺まで延びる境界線を検出し、この境界線が検出された優先度算出用パッチの中心点の画素の埋め込み優先度を、境界線が検出された優先度算出用パッチの中心点の画素の埋め込み優先度より高く設定する。そして、埋め込むのに際し、埋め込み優先度の高い画素からの順に、修復領域の縁辺上の画素に埋め込み用パッチを配置して埋め込みを行うようにする。こうすることによって、領域を分割する境界線のある部分が優先的に埋め込まれるので、図１６（ｂ）に示すような、局部的なエッジの存在により、修復後の画像が不自然になってしまうという問題を解消することができる。
【００２５】
また、画像全体ではなく、優先度算出用パッチ内の既知領域上において領域分割、すなわち境界線の検出を行っているので、複雑な画像の場合においても、領域分割の精度の悪化を抑制することができ、結果的には良い修復効果を得ることができる。
【発明を実施するための最良の形態】
【００２６】
以下、図面を参照して、本発明の実施形態について説明する。
【００２７】
図１は、本発明の実施形態となる画像処理装置の構成を示すブロック図である。なお、本実施形態の画像処理装置は、入力された画像に対して修復処理を行うものであり、補助記憶装置に読み込まれた処理プログラムをコンピュータ（たとえばパーソナルコンピュータ等）上で実行することにより実現される。また、この処理プログラムは、ＣＤ−ＲＯＭ等の情報記憶媒体に記憶され、もしくはインターネット等のネットワークを介して配布され、コンピュータにインストールされることになる。
【００２８】
また、画像データは画像を表すものであり、以下、特に画像と画像データの区別をせずに説明を行う。
【００２９】
図１に示すように、本実施形態の画像処理装置は、画像を入力する画像入力手段１と、入力された画像において修復する領域（修復領域）の指定をユーザに行わせるための領域指定手段１０と、指定された修復領域に画素値を付与することによって修復領域を修復する修復手段１００とを有してなる。
【００３０】
画像入力手段１は、本実施形態の画像処理装置の処理対象となる画像を入力するためのものであり、例えば、ネットワークを介して送信されてきた写真画像を受信する受信部や、ＣＤ−ＲＯＭなどの記録媒体から写真画像を読み出す読取部や、紙や、プリント用紙などの印刷媒体から印刷媒体に印刷（プリントを含む）された画像を光電変換によって読み取って写真画像を得るスキャナなどとすることができる。
【００３１】
領域指定手段１０は、画像入力手段１により入力された画像に対して、修復領域の指定を行うためのものであり、修復領域の指定をすることができるものなら何でもよく、例えばキーボードや、マウスや、またはモニタなどの表示画面において指定することが可能なタッチペンなどとすることができる。図３に示す画像Ｄ０は、修復領域が指定された画像の例であり、その中央部分の白い空白は指定された修復領域を示し、陰影部分は画素値が既知の画素により構成された既知領域である。
【００３２】
画像入力手段１により入力された画像に対して、領域指定手段１０を介して修復領域が指定された画像（画像Ｄ０）は、修復手段１００に出力され、修復手段１００において修復される。図２は、修復手段１００の構成を示すブロック図である。
【００３３】
図２に示すように、修復手段１００は、多重解像度画像作成手段１０５と、優先度算出手段１１０と、埋め込み元画像取得手段１１５と、埋め込み手段１２０と、縁辺修整手段１３０とを備えてなるものである。以下、これらの各構成の詳細について説明する。
【００３４】
多重解像度画像作成手段１０５は、画像Ｄ０から複数の解像度の異なる画像Ｄｉを作成するものであり、各画像Ｄｉは、ｉの大きい順から、解像度が低くなっている。本実施形態において、多重解像度画像作成手段１０５は、まず、画像Ｄ０をＤ１とし、画像Ｄ０を１／２、１／４、１／８の縮小率で夫々縮小して得た画像をＤ２、Ｄ３、Ｄ４として作成する。図３は、多重解像度画像作成手段１０５により得られた画像Ｄ１、Ｄ２、Ｄ３、Ｄ４を示している。
【００３５】
優先度算出手段１１０は、画像Ｄ０、すなわち解像度が最も高い画像Ｄ１における修復領域の縁辺上の各画素の位置の埋め込み優先度βを算出するものである。本実施形態において、優先度算出手段１１０は、４つの画像Ｄｉ（ｉ＝１〜４）を、解像度の低い画像からの順（すなわち、Ｄ４からの順）を夫々用いて優先度βを算出する。ここで、まず、画像Ｄｉ（ｉ＞１）（すなわちＤ４、Ｄ３、Ｄ２）を用いて優先度βを算出する処理について説明する。
【００３６】
＜画像Ｄｉ（ｉ＞１）を用いた優先度βの算出＞
画像Ｄi（ｉ＞１）を用いて優先度βを算出するのに当たり、優先度算出手段１１０は、優先度を算出するためのパッチ（本実施形態において９画素×９画素のパッチ。以下優先度算出用パッチＦｙという）を図４に示すように、その中心が画像Ｄiにおける修復領域の縁辺上の画素（図中画素Ａ）に位置するように配置し、この位置の埋め込み優先度βを求める。
【００３７】
画素Ａの埋め込み優先度βを求めるのに当たり、優先度算出手段１１０は、まず、優先度算出用パッチＦｙ内の既知領域の画素数を確認する。優先度算出用パッチＦｙ内の既知領域の画素数が、図７に示すように少なく、所定の閾値Ｋ１以下となる場合において、画素Ａの優先度を０として設定する。
【００３８】
一方、画素Ａに配置された優先度算出用パッチＦｙ内の既知領域の画素数が、閾値Ｋ１より大きい場合において、優先度算出手段１１０は、画素Ａにおいて、修復領域を埋め込む方向（以下埋め込み方向）を決定する。本実施形態において、図５に示すような４つの方向を埋め込む方向とする。図５において、黒い領域と白い領域は夫々既知領域と修復領域とを示し、修復領域を埋め込む方向は、左から右（方向ｄ１）、上から下（方向ｄ２）、右から左（方向ｄ３）、下から上（方向ｄ４）の４つとなっている。優先度算出手段１１０は、画素Ａにおける、既知領域から修復領域に向かう法線の方向ｈに基づいて埋め込み方向を決定するものであり、具体的には、この法線方向ｈが上記４つの方向のうちのいずれか１つの方向と一致する場合には、法線方向ｈを埋め込み方向に決定して埋め込み優先度βを求める一方、法線方向ｈが上記４つの方向のうちの２つの方向の間に位置する場合には、この２つの方向を埋め込み方向候補とし、２つの埋め込み方向候補について夫々埋め込み優先度を求め、求められた埋め込み優先度が高い方の方向を埋め込み方向に決定すると共に、この方向について既に求められた埋め込み優先度をこの位置の埋め込み優先度βとする。
【００３９】
図４に示す画素Ａの位置の場合、その法線方向ｈが図６（ａ）に示すように上から下の方向、図５（ｂ）に示す方向ｄ２と一致するため、優先度算出手段１１０は、この方向ｈ（ｄ２）を画素Ａにおける埋め込み方向として決定する。一方、図６（ｂ）に示すような場合、画素Ｂにおける法線方向ｈが、埋め込み方向ｄ１と埋め込み方向ｄ４との間にあるため、優先度算出手段１１０は、画素Ｂに対して、埋め込み方向ｄ１と埋め込み方向ｄ２を埋め込み方向候補とし、２つの方向について埋め込み優先度を算出する。
【００４０】
埋め込み優先度算出手段１１０は、埋め込み方向（または埋め込み方向候補）を決定した後、優先度算出用パッチＦｙ内の既知領域において境界線の検出を行って、優先度を算出する。
【００４１】
優先度算出手段１１０は、まず、優先度算出用パッチＦｙ内の既知領域の画素値（例えば輝度値）の分散値を計算し、この分散値が所定の閾値Ｋ２以下であれば、優先度算出用パッチＦｙ内の既知領域が均一な１つの領域であり、領域と領域との間の境界線が無いとして優先度を０に設定する。
【００４２】
なお、既知領域内の画素値の分散値σは、例えば下記の式（１）に従って算出すればよい。
【数１】
2006279442.tif 000003
【００４３】
一方、優先度算出用パッチＦｙ内の既知領域の画素値の分散値が閾値Ｋ２より大きい場合において、優先度算出手段１１０は、優先度算出用パッチＦｙ内の既知領域についてその境界線を検出して、優先度を設定する。
【００４４】
本実施形態において、優先度算出手段１１０は、レベルセット（Ｌｅｖｅｌ  Ｓｅｔ）領域分割手法を用いて境界線の検出を行う。具体的には、まず、優先度算出用パッチＦｙ内の既知領域上において、枠を配置する。ここで、枠を配置するのに当たり、大きい枠を用いると、演算時間を短縮することができるが、領域分割の精度が良くないため、本実施形態において、優先度算出手段１１０は、図８（ｂ）に示すように、複数（図の例示では３つ）の小さい枠Ｗを、既知領域上の離れた位置に夫々配置する。そして、優先度算出手段１１０は、各枠Ｗに対して変形処理を行って、既知領域を２つの領域に分割する。
【００４５】
変形処理は、下記の式（２）に示す、枠内の画素値の分散値σａと、枠外の画素値の分散値σｂとの総和Ｑが、最も小さくなるように各枠Ｗを変形させるものであり、具体的に、枠Ｗを内凹させる内凹処理と、枠Ｗを外凸させる外凸処理とを繰り返す処理である。内凹処理は、当該枠Ｗの内縁の画素のうちの、該画素を枠Ｗの外に出すことによって総和Ｑが小さくなる画素を内凹処理の対象とし、該画素の位置において枠Ｗを内凹させる処理であり、外凸処理は、当該枠Ｗの外縁の画素のうちの、該画素を枠Ｗの中に入れることによって総和Ｑが小さくなる画素を外凸処理の対象とし、該画素の位置において枠Ｗを外凸させる外凸処理である。なお、図９（ａ）に示すように、枠Ｗ上の画素Ａ２を枠Ｗの外縁の画素とすれば、画素Ａ２と隣接する枠Ｗ内の画素Ａ１が内縁の画素となり、図９（ｂ）に示すように、枠Ｗ上の画素Ａ２を内縁の画素とすれば、画素Ａ２と隣接する枠Ｗ外の画素Ａ３が外縁の画素となる。また、枠上に画素が無ければ、枠を挟んで隣接する２つの画素が夫々内縁の画素と外縁の画素となる。本実施形態においては、図９（ｂ）に示すように、枠Ｗ上の画素を当該枠Ｗの内縁の画素とし、この画素と隣接する枠Ｗ外の画素を外縁の画素とする。図９（ｃ）は、枠Ｗの内縁の画素Ａ２を枠Ｗの外に出すことによって、前述した分散値の総和Ｑが小さくなる場合に枠Ｗを内凹させた例を示しており、図９（ｄ）は、枠Ｗの外縁の画素Ａ３を枠Ｗの中に入れることによって、前述した分散値の総和Ｑが小さくなる場合に枠Ｗを外凸させた例を示している。
【数２】
2006279442.tif 000004
【００４６】
優先度算出手段１１０は、このような内凹処理と外凸処理を繰り返し、枠Ｗの変形（および変形に起因する枠の結合）を経て、既知領域を１つの枠の中と外との２つの領域に分割する。そして、分割の結果として、この２つの領域の境界線を得る。
【００４７】
優先度算出手段１１０は、検出された境界線について、まず、この境界線が、優先度算出用パッチＦｙの既知領域側の輪郭線から、優先度算出用パッチＦｙ内の修復領域の縁辺まで延びる境界線であるか否かを確認する。具体的には、この境界線の両端は、境界線と、優先度算出用パッチＦｙの既知領域側の輪郭線と優先度算出用パッチ内の修復領域の縁辺との夫々の接点であるか否かを確認し、夫々の接点であれば、言い変えれば、境界線が優先度算出用パッチＦｙの輪郭線から修復領域の縁辺まで延びるものであればさらに境界線の態様および埋め込み方向（埋め込み方向候補を含む）に基づいて０より大きい優先度を設定するが、接点ではなければ、画素Ａの優先度βを０に設定する。
【００４８】
図１０は、境界線が優先度算出用パッチＦｙ内の修復領域の縁辺まで延びる境界線であるか場合において、優先度算出手段１１０による優先度の設定を説明するための図であり、左から右へ、優先度の高い順を示している。図示のように、優先度は、下記のルールに従って設定される。
【００４９】
ルール１：境界線と修復領域の縁辺との接点の位置が、優先度算出用パッチＦｙの中心点に近いほど、優先度が高い。
【００５０】
なお、境界線は、図１０に示す例（ｂ）、例（ｃ）のように２本ある場合には、この接点の位置を、２本の境界線と修復領域の縁辺との夫々の接点の位置の平均位置とする。
【００５１】
ルール２：ルール１を前提とした上で、境界線が２本ある場合より、境界線が１本しかない場合のほうが、優先度が高い。
【００５２】
ルール３：境界線が２本の場合、２本の境界線により囲まれた領域の面積が大きいほど優先度が高い。
【００５３】
ルール４：ルール１、２、３を前提とした上で、境界線の延びる方向が埋め込み方向に近いほど優先度が高い。
【００５４】
優先度算出手段１１０は、このようにして優先度算出用パッチＦｙが配置された位置の画素の優先度を設定する。なお、図６（ｂ）に示すように、埋め込み候補方向が２つある場合において、優先度算出手段１１０は、２つの埋め込み候補について優先度を夫々算出し、大きいほうの優先度が算出された埋め込み方向候補を埋め込み方向として決定すると共に、該方向について算出された優先度を該画素の優先度とする。
【００５５】
優先度算出手段１１０は、優先度算出用パッチＦｙを最初に配置した位置の画素について上述の処理を行って該画素の優先度βを算出する。そして、優先度算出用パッチＦｙを、その中心点が修復領域の縁辺上において１画素ずらして配置し、新たなに配置された位置の画素の優先度βを算出する。
【００５６】
優先度算出手段１１０は、優先度算出用パッチＦｙの配置、優先度の算出、優先度算出用パッチＦｙの移動、優先度の算出・・・を繰り返し、画像Ｄｉにおける修復領域の縁辺上の各画素の優先度βを得る。
【００５７】
ここで、埋め込み元画像取得手段１１５は、優先度算出手段１１０により算出された優先度βに基づいて、優先度βが０より大きい画素のうち、優先度βが最も高い画素からの順にこの画素の位置における埋め込み元画像を取得する。ここで、埋め込み元画像取得手段１１５により埋め込み元画像を取得する処理について説明する。
【００５８】
＜埋め込み元画像を取得する処理＞
埋め込み元画像取得手段１１５は、優先度算出手段１１０により、画像Ｄｉ（ｉ＞１）を用いて得られた優先度βを確認し、優先度βが０より大きい画素が無ければ、埋め込み元画像を取得する処理を行わないが（この場合の後の処理について後述する）、優先度βが０より大きい画素があれば、まず、優先度算出手段１１０により優先度を算出した際に用いた画像と同じ画像Ｄｉ（ｉ＞１）において、優先度βが最も高い画素の位置における埋め込み元画像を取得する。具体的には、埋め込み元画像取得手段１１５は、画像Ｄｉにおける修復領域の縁辺上の画素のうちの対象画素（ここでは優先度βが０より大きい画素のうち、最も高い優先度βを有する画素）に対して、まず、優先度算出用パッチＦｙよりも小さい埋め込み用パッチＦｕ１（本実施形態においては５画素×５画素のパッチ）を、その中心点が対象画素（図１１に示す画素Ａ）に位置するように配置する。そして、配置された埋め込み用パッチＦｕ１内において、既知領域の部分をマッチング領域として設定して、図１１下部に示す、画素Ａに対する埋め込み元画像取得用パッチＦｕ２を得る。なお、分かりやすくするために、図１１下部の埋め込み元画像取得用パッチＦｕ２を拡大して表示しているが、埋め込み元画像取得用パッチＦｕ２の大きさは、埋め込み用パッチＦｕ１と同じく５画素×５画素である。そして、埋め込み元画像取得手段１１５は、埋め込み元画像取得用パッチＦｕ２を、対象画素Ａの近傍の既知領域上を移動しつつ、移動された各位置において、埋め込み元画像取得用パッチＦｕ２内におけるマッチング領域の画像と、埋め込み用パッチＦｕ１内の既知領域の画像との相似度を求める。そして、この相似度が最も高い位置に配置された埋め込み元画像取得用パッチＦｕ２内の画像を埋め込み元画像として取得する。
【００５９】
なお、相似度については、例えば埋め込み元画像取得用パッチＦｕ２内のマッチング領域の画像と、埋め込み用パッチＦｕ１内の既知領域の画像との輝度値のユークリッド（Ｅｕｃｌｉｄ）距離を求め、この距離が小さいほど相似度が高いように求めることができる。
【００６０】
埋め込み元画像取得手段１１５は、このようにして埋め込み元画像を取得する。
【００６１】
一方、その詳細については後述するが、修復手段１００の埋め込み手段１２０は、解像度が最も高い画像Ｄ１において、優先度βが高い画素の位置からの順で修復領域の埋め込みを行うものである。それに対して、ここで、優先度算出手段１１０により算出された優先度βは、算出する際に用いられた画像Ｄｉ（ｉ＞１）における修復領域の縁辺上の画素のものであり、埋め込み元画像取得手段１１５により得られた埋め込み元画像は、優先度算出時に用いられた画像Ｄｉ（ｉ＞１）における画像である。そのため、埋め込み手段１２０に供するために、このように算出された優先度βを有する画素が対応する画像Ｄ１における画素の位置、および埋め込み元画像が対応する画像Ｄ１上の画像の位置を確定する必要がある。以下、この位置を確定する処理を回帰処理という。なお、ここで、回帰処理について説明する。
【００６２】
＜回帰処理＞
上述したように、回帰処理は、画像Ｄｉ（ｉ＞１）を用いて算出した優先度βが０より大きい画素、および該画素に対して取得された埋め込み元画像に対して行われる。
【００６３】
まず、最も解像度の低い画像、優先度βの算出および埋め込み元画像の取得に画像Ｄ４を用いた場合を例にして回帰処理について説明する。
【００６４】
回帰処理を行うのに当たって、まず、優先度算出手段１１０は、優先度を算出した際に用いられた画像（ここでは画像Ｄ４）より解像度が１つ高い画像、ここでは画像Ｄ３において、画像Ｄ４を用いて算出された優先度βが０より大きい画素の位置を確定する。画像Ｄ４は、画像Ｄ３を１／２縮小したものであるため、画像Ｄ４における１つの画素の位置が、画像Ｄ３上における２つの画素の位置に対応する。優先度算出手段１１０は、画像Ｄ４において算出された、優先度βが０より大きい画素の位置に夫々対応する、画像Ｄ３上の画素の位置において、優先度算出用パッチＦｙの配置および優先度の算出を行う。なお、ここで、優先度算出用パッチＦｙおよび優先度の算出は、画像Ｄ４において算出された、優先度βが０以上の画素の位置に夫々対応する、画像Ｄ３上の位置の画素（その数は、画像Ｄ４において算出された、優先度βが０より大きい画素の数の２倍）に対してのみ行われるため、短時間でできる。そして、埋め込み元画像取得手段１１５は、画像Ｄ４において取得された埋め込み元画像の、画像Ｄ３における位置を、優先度算出手段１１０により得られた画像Ｄ３上の位置に応じて調整し、画像Ｄ３上の埋め込み元画像の位置を得る。
【００６５】
そして、埋め込み優先度算出手段１１０と埋め込み元画像取得手段１１５は、このように低解像度画像上における位置を、１つ高い解像度上の画像上の対応する位置に確定する処理をＤ３からＤ２、Ｄ２からＤ１に繰り返し、解像度が最も高い画像Ｄ１における、埋め込み優先度βが０より大きい画素の位置、およびこれらの各画素の位置における埋め込み元画像の位置を確定できたことをもって、回帰処理を終了する。
【００６６】
なお、ここで、画像Ｄ４を用いて優先度の算出および埋め込み元画像の取得を行った場合の回帰処理について説明したが、画像Ｄ３を用いて優先度の算出および埋め込み元画像の取得を行った場合には、回帰処理として、画像Ｄ３より解像度が１つ高い画像、すなわち画像Ｄ２において、画像Ｄ３において算出された優先度βが０より大きい画素の位置および相対応する埋め込み元画像の位置が確定され、その後、画像Ｄ２より解像度が１つ高い画像、すなわち画像Ｄ１において、画像Ｄ２において算出された優先度βが０より大きい画素の位置および相対応する埋め込み元画像の位置が確定される。また、画像Ｄ２を用いて優先度の算出および埋め込み元画像の取得を行った場合には、回帰処理としては、画像Ｄ２より解像度が１つ高い画像、すなわち画像Ｄ１において、画像Ｄ２において算出された優先度βが０より大きい画素の位置および相対応する埋め込み元画像の位置が確定される。
【００６７】
次に、優先度算出手段１１０が画像Ｄ１を用いて優先度βを算出する処理について説明する。
【００６８】
＜画像Ｄ１を用いた優先度βの算出＞
優先度算出手段１１０は、画像Ｄ１を用いて優先度βを算出するのに当たり、他の画像を用いて優先度βを算出する際と同じように、まず、図４に示す優先度算出用パッチＦｙを、その中心点が画像Ｄ１における修復領域の縁辺上の画素に位置するように配置し、配置された優先度算出用パッチＦｙ内の既知領域の画素数を確認する。優先度算出用パッチＦｙ内の既知領域の画素数が閾値Ｋ１以下となる場合において、優先度算出手段１１０は、その画素の優先度を０として設定する。
【００６９】
一方、優先度算出用パッチＦｙ内の既知領域の画素数が、閾値Ｋ１より大きい場合において、優先度算出手段１１０は、優先度算出用パッチＦｙが配置された画素の位置における埋め込み方向を決定する。この埋め込み方向を決定する処理は、他の画像Ｄｉ（ｉ＞１）を用いて優先度βを算出する際の埋め込み方向の決定と同じであるので、ここで詳細な説明を省略する。なお、ここでも、図６（ａ）に示すように埋め込み方向が２つの可能性がある場合において、この２つの方向を埋め込み方向候補にして夫々について優先度を求め、優先度が大きい埋め込み方向候補を埋め込み方向として決定すると共に、該方向について算出された優先度を該画素の優先度とする。
【００７０】
埋め込み方向（埋め込み方向候補を含む）を決定した後、優先度算出手段１１０は、優先度算出用パッチＦｙの中心点においてエッジの検出を行い、該中心点においてエッジが検出されなかった場合には、該中心点に位置する画素の優先度βを１に設定する一方、エッジが検出された場合には、エッジの強度が強いほど高い優先度となるように、優先度算出用パッチＦｙの中心点の画素の優先度βを１より大きい値に設定する。
【００７１】
なお、この場合は、優先度βは画像Ｄ１において算出されているので、回帰処理が行われない。
【００７２】
次いで、本実施形態の画像処理全体の処理についてさらに説明する。
【００７３】
図１２は、本実施形態の画像処理装置全体の処理を示すフローチャートである。図示のように、画像入力手段１により得られた処理対象の画像は、領域指定手段１０を介して修復領域が指定されて画像Ｄ０となって、修復手段１００に入力される（Ｓ１０）。修復手段１００において、多重解像度画像作成手段１０５は、まず、ｉを４として、ｉ個（すなわち４つ）の解像度の異なる画像Ｄ１（Ｄ０）、Ｄ２、Ｄ３、Ｄ４を作成する（Ｓ１５、Ｓ２０）。そして、優先度算出手段１１０は、最も解像度の低い画像Ｄｉ（ここでＤ４）を用いて優先度の算出を行い、画像Ｄ４における修復領域の縁辺上の各画素の優先度β、およびこれらの画素における埋め込み方向を得る（Ｓ３０）
埋め込み元画像取得手段１１５は、優先度βが０より大きい画素の有無を確認し、優先度βが０より大きい画素があれば（Ｓ１１０：Ｙｅｓ、Ｓ１１１：Ｙｅｓ）、これらの画素のうちの、優先度βが最も高い画素の位置において埋め込み元画像を取得する（Ｓ１１２）。そして、優先度算出手段１１０と埋め込み元画像取得手段１１５は、画像Ｄ４において算出された０より大きい優先度βを有する画素の位置および相対応する埋め込み元画像の位置を、画像Ｄ１において確定する回帰処理を行って、画像Ｄ１において、修復領域の縁辺上の画素のうちの、優先度βが０より大きい画素、およびこれらの画素の埋め込み方向と埋め込み元画像を得る（Ｓ１１３）。そして、埋め込み手段１２０は、画像Ｄ１において、優先度の高い画素からの順に、該画素に対して取得された埋め込み元画像を用いて該埋め込み元画像を取得する際に用いられた埋め込み元画像取得用パッチＦｕ２が対応する埋め込み用パッチＦｕ１内の画像を置き換えることによって埋め込みを実行する。ここで、埋め込み用パッチＦｕ１および埋め込み元画像取得用パッチＦｕ２のサイズは、画像Ｄ４における５画素×５画素であるので、画像Ｄ１に対応する大きさは４０画素×４０画素となる。
【００７４】
埋め込み手段１２０は、まず、優先度βが最も高い画素において埋め込みを行い、優先度が最も高い画素における埋め込みが終了すれば、次に高い優先度βを有する画素において埋め込みを行う。このように優先度βが高い順から、優先度βが０より大きい画素の埋め込みを行う（Ｓ１Ｓ１２５：Ｙｅｓ、Ｓ１１８、Ｓ１２０）。優先度βが０より大きい画素の埋め込みが全て終了すれば、画像Ｄｉ（ここではＤ４）を用いて算出した優先度βに基づいた埋め込みを終了し、この埋め込みによって得られた新たな画像Ｄ１（元の画像Ｄ１が、優先度βが０より大きい画素において埋め込みが行われた画像）を多重解像度画像作成手段１０５に出力する。多重解像度画像作成手段１０５は、新たな画像Ｄ１を用いて、優先度βを求める際に既に用いられた画像（ここではＤ４）の解像度より１つ高い解像度までの複数の新たな画像（ここでは新たな画像Ｄ１、Ｄ２、Ｄ３）を作成し、優先度算出手段１１０は、新たな画像のうちの、最も低い解像度を有する画像（ここでは新たな画像Ｄ３）を用いて優先度βを算出し、ステップＳ３０からの処理が繰り返される（（Ｓ１２５：Ｎｏ、Ｓ１２８、Ｓ２０、Ｓ３０〜）。
【００７５】
一方、ステップＳ１１１において、優先度βが０より大きい画素がなければ（Ｓ１１１：Ｎｏ）、埋め込み元画像取得手段１１５は、埋め込み元画像を取得する処理行わず、優先度算出手段１１０は、前回、優先度βを求める際に既に用いられた画像（ここではＤ４）より１つ解像度が高い画像（ここではＤ３）を用いて優先度βを算出し、ステップＳ３０からの処理が繰り返される（Ｓ１１４、Ｓ３０〜）。
【００７６】
このような処理は、解像度が原画像より１つのみ低い画像（そのときの画像Ｄ２）を用いて算出された優先度βに基づいた埋め込みが終了するまで行われる（Ｓ２０〜Ｓ１２８）。
【００７７】
解像度が原画像より１つのみ低い画像を用いて算出された優先度βに基づいた埋め込みが終了すると、埋め込みがなされた画像が新たな画像Ｄ１として得られる。この場合、優先度を算出する処理から、算出された優先度に基づいた埋め込みまでの処理は、原画像より解像度が低い画像について全部行われたので、優先度算出手段１１０は、原画像と同じ解像度を有する新たな画像Ｄ１を用いて優先度βを算出する（Ｓ３０、Ｓ１１０：Ｙｅｓ）。埋め込み元画像取得手段１１５と埋め込み手段１２０は、優先度βが最も高い画素から埋め込みを行い、優先度βが最も低い０となる画素の位置における埋め込みが終了することをもって、処理を終了する（Ｓ１３０〜Ｓ１３６）。
【００７８】
埋め込みが終了した画像（原画像と同じ解像度）に対して、縁辺修整手段１３０は、埋め込みによって、不平滑な縁辺などの修整を行い、修復処理を終了する。
【００７９】
図１３は、優先度算出手段１１０による優先度βを算出する処理（すなわち図１２におけるステップＳ３０の処理Ｐ）を示すフローチャートである。図示のように、優先度算出手段１１０は、画像Ｄｉを用いて優先度βの算出に当たり、まず、画像Ｄｉにおいて優先度算出用パッチＦｙを、その中心点が画像Ｄｉにおける修復領域の縁辺上の画素に位置するように配置する（Ｓ３２）。そして、優先度算出用パッチＦｙ内の既知領域の画素数が閾値Ｋ１以下であれば、優先度算出用パッチＦｙの中心点の画素の優先度βを０に設定する（Ｓ３４：Ｎｏ、Ｓ５５）一方、優先度算出用パッチＦｙ内の既知領域の画素数が閾値Ｋ１より大きければ、埋め込み方向を図５示すいずれかの方向に決定する（Ｓ３６）。そして、解像度が原画像より低い画像Ｄｉ（ｉ＞１）に対して、優先度算出手段１１０は、優先度算出用パッチＦｙ内の既知領域の画素値の分散値σを求め（Ｓ４０：Ｙｅｓ、Ｓ４２）、分散値σが閾値Ｋ２以下であれば、優先度算出用パッチＦｙの中心点の画素の優先度βを０に設定する（Ｓ４４：Ｎｏ、Ｓ５５）一方、分散値σが閾値Ｋ２より大きければ、優先度算出用パッチＦｙ内の既知領域において領域の分割を行うことによって境界線を検出する（Ｓ４４：Ｙｅｓ、Ｓ４６）。検出された境界線が、優先度算出用パッチＦｙの既知領域側の輪郭線から優先度算出用パッチＦｙ内の修復領域の縁辺まで延びる境界線ではなければ、優先度算出手段１１０は、優先度算出用パッチＦｙの中心点の画素の優先度βを０に設定する（Ｓ４８：Ｎｏ、Ｓ５５）一方、検出された境界線が、優先度算出用パッチＦｙの既知領域側の輪郭線から優先度算出用パッチＦｙ内の修復領域の縁辺まで延びる境界線であれば、その境界線の態様および優先度算出用パッチＦｙの中心点の画素における埋め込み方向に基づいて、該画素の優先度βを０以上の値に設定する（Ｓ４８：Ｙｅｓ、Ｓ５０）。優先度算出手段１１０は、画像Ｄｉにおける修復領域の縁辺上の各画素において優先度算出用パッチＦｙの配置および優先度算出用パッチＦｙが配置された位置の画素（優先度算出用パッチＦｙの中心点の画素）に対して優先度β求め（Ｓ６０：Ｎｏ、Ｓ８２、Ｓ３４〜）、求められた各々の画素の優先度βと、埋め込み方向と共に埋め込み元画像取得手段１１５に出力する（Ｓ６０：Ｙｅｓ、Ｓ１００）。
【００８０】
一方、解像度が原画像と同じ画像Ｄ１を用いて優先度βを算出する際に（Ｓ４０：Ｎｏ）、優先度算出手段１１０は、優先度算出用パッチＦｙの中心点においてエッジの検出を行い、該中心点においてエッジが検出されなかった場合には、該中心点に位置する画素の優先度βを１に設定する一方、エッジが検出された場合には、エッジの強度が強いほど高い優先度となるように、優先度算出用パッチＦｙの中心点の画素の優先度βを１より大きい値に設定すると共に、各画素に対して設定された優先度βをその埋め込み方向と共に埋め込み元画像取得手段１１５に出力する（Ｓ７２〜Ｓ１１０）。
【００８１】
なお、図１３に示していないが、優先度算出手段１１０は、優先度算出用パッチＦｙの中心点の画素における埋め込み方向を決定する際に、図６（ａ）に示すように埋め込み方向が２つの可能性がある場合において、この２つの方向を埋め込み方向候補にして夫々について優先度を求め、優先度が大きい埋め込み方向候補を埋め込み方向として決定すると共に、該方向について算出された優先度を該画素の優先度とする。
【００８２】
このように、本実施形態の画像処理装置によれば、埋め込み用パッチよりサイズが大きい優先度算出用パッチを、その中心点が画像中における修復領域の縁辺上の画素に位置するように配置し、この優先度算出用パッチ内の既知領域内において、優先度算出用パッチの輪郭線から、優先度算出用パッチ内の修復領域の縁辺まで延びる境界線を検出し、この境界線が検出された優先度算出用パッチの中心点の画素の埋め込み優先度を、境界線が検出された優先度算出用パッチの中心点の画素の埋め込み優先度より高く設定する。そして、埋め込むのに際し、埋め込み優先度の高い画素からの順に、修復領域の縁辺上の画素に埋め込み用パッチを配置して埋め込みを行うようにする。こうすることによって、領域を分割する境界線のある部分が優先的に埋め込まれるので、局部的なエッジの存在による影響を無くすことができ、良い修復効果を得ることができる。
【００８３】
また、画像全体ではなく、優先度算出用パッチ内の既知領域上において領域分割、すなわち境界線の検出を行っているので、複雑な画像の場合においても、領域分割の精度の悪化を抑制することができ、結果的には良い修復効果を得ることができる。
【００８４】
また、埋め込み用パッチを用いて修復領域の埋め込みを行う修復処理において、埋め込み用パッチのサイズが、修復効果を左右するものである。例えば、パターンが連続的に重複して存在する画像を修復するのに際し、１つのパターンの大きさとほぼ同じ大きさを有する埋め込み用パッチを用いることによって最も良い修復効果を得ることができる。そのため、オペレータにより修復対象の画像を目視などにより確認し、その画像に含まれるパターンなどの特徴に基づいて埋め込み用パッチのサイズを設定することが行われている。しかし、この方法ではオペレータに負担をかける上に、熟練した技術者ではなければ、正確に埋め込み用パッチのサイズを設定することができないという問題がある。また、埋め込み用パッチを変動させながら埋め込みを行い、最もよい修復効果を得ることができる埋め込み用パッチのサイズを探すことも行われているが、長い処理時間を必要とするという問題がある。それに対し、本実施形態において、解像度の異なる複数の画像を作成し、解像度の最も低い画像からの順に、低い解像度の画像において埋め込み元画像を取得し、回帰処理によってこの埋め込み元画像の、原画像（解像度の最も高い画像）における対応する画像を用いて埋め込みを行うようにすることによって、実質的に異なる埋め込み用パッチサイズで修復を行うことを短時間で実現することができる。
【００８５】
以上、本発明の望ましい実施形態について説明したが、本発明の画像処理方法および装置並びにそのためのプログラムは、上述した実施形態に限られることがなく、本発明の主旨を逸脱しない限り、各々のパッチのサイズ、多重解像度画像の個数など、様々な増減、変化を加えることができる。
【図面の簡単な説明】
【００８６】
【図１】本発明の実施形態となる画像処理装置の構成を示すブロック図
【図２】図１に示す実施形態の画像処理装置における修復手段１００の構成を示すブロック図
【図３】多重解像度画像の例を示す図
【図４】優先度算出用パッチＦｙの配置を説明するための図
【図５】埋め込み方向を示す図
【図６】埋め込み方向の決定方法を説明するための図
【図７】優先度算出用パッチＦｙ内の既知領域の画素数が少ない例を示す図
【図８】境界線の検出を説明するための図
【図９】枠の変形処理を説明するための図
【図１０】境界線が検出された場合の優先度の設定を説明するための図
【図１１】埋め込み元画像取得手段１１５の処理を説明するための図
【図１２】図１に示す画像処理装置全体の処理を示すフローチャート
【図１３】優先度算出手段１１０により優先度を算出する処理を示すフローチャート
【図１４】修復領域の埋め込み手法を説明するための図（その１）
【図１５】修復領域の埋め込み手法を説明するための図（その２）
【図１６】従来技術を説明するための図
【符号の説明】
【００８７】
１    画像入力手段
１０    領域指定手段
１００    修復手段
１０５    多重解像度画像作成手段
１１０    優先度算出手段
１１５    埋め込み元画像取得用手段
１２０    埋め込み手段
１３０    縁辺修整手段
β    埋め込み優先度
【図１】
2006279442.tif 000005
【図２】
2006279442.tif 000006
【図３】
2006279442.tif 000007
【図４】
2006279442.tif 000008
【図５】
2006279442.tif 000009
【図６】
2006279442.tif 000010
【図７】
2006279442.tif 000011
【図８】
2006279442.tif 000012
【図９】
2006279442.tif 000013
【図１０】
2006279442.tif 000014
【図１１】
2006279442.tif 000015
【図１２】
2006279442.tif 000016
【図１３】
2006279442.tif 000017
【図１４】
2006279442.tif 000018
【図１５】
2006279442.tif 000019
【図１６】
2006279442.tif 000020