JP2006279443A - 画像処理方法および装置並びにプログラム - Google Patents
画像処理方法および装置並びにプログラム Download PDFInfo
- Publication number
- JP2006279443A JP2006279443A JP2005094570A JP2005094570A JP2006279443A JP 2006279443 A JP2006279443 A JP 2006279443A JP 2005094570 A JP2005094570 A JP 2005094570A JP 2005094570 A JP2005094570 A JP 2005094570A JP 2006279443 A JP2006279443 A JP 2006279443A
- Authority
- JP
- Japan
- Prior art keywords
- image
- embedding
- area
- patch
- priority
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Editing Of Facsimile Originals (AREA)
- Facsimile Image Signal Circuits (AREA)
- Image Processing (AREA)
Abstract
【課題】 画像の修復を効率良く行う。
【解決手段】 原画像から解像度の異なる複数の画像を作成し、解像度の最も低い画像からの順に、低い解像度の画像において埋め込み元画像を取得し、回帰処理によってこの埋め込み元画像の、原画像(解像度の最も高い画像)における対応する画像を用いて埋め込みを行う。
【選択図】 図13
【解決手段】 原画像から解像度の異なる複数の画像を作成し、解像度の最も低い画像からの順に、低い解像度の画像において埋め込み元画像を取得し、回帰処理によってこの埋め込み元画像の、原画像(解像度の最も高い画像)における対応する画像を用いて埋め込みを行う。
【選択図】 図13
Description
本発明は画像処理、具体的に画像の修復などに用いられる画像処理方法および装置並びにそのためのプログラムに関するものである。
従来、画像上のシミや汚れの除去や、欠損の補修などが行われている。また、シミや汚れではないが、ユーザが存在してほしくない柱や、電線などの被写体を除去してユーザ所望の画像に仕上げる処理なども行われている。これらの処理は、まず、除去や、補修などの対象となる領域(以下修復領域という)を手動指定または自動検出により特定し、特定された修復領域の各画素に対して元の画素値の代わりとなる新たな画素値を求めて与える(すなわち修復領域を埋め込む)ことによって実現されている。
修復領域の画素の新たな画素値を求める方法としては、例えば、特許文献1に記載されたように、修復領域に属さない領域(この領域内の画素の画素値が既に知っているので、以下既知領域という)内の画素の画素値を用いて修復領域内の画素の新たな画素値を求めることができる。具体的には、修復領域の辺縁上に所定のサイズ(例えば3画素×3画素)のパッチを配置し、配置されたパッチ内における既知領域の画素の画素値の平均値を求めて、同じパッチ内における修復領域の画素の新たな画素値とするようにしている。また、平均値の代わりに、パッチ内における既知領域の画素の画素値に対して補間処理を行うことによって、同じパッチ内における修復領域の画素の新たな画素値を求めることもできる。
しかし、特許文献1に提案された方法では、修復領域が小さいときはそれほど違和感なく修復領域を埋め込むことができるが、修復領域が大きいときは、修復領域の中心部に近くなるほど、周波数成分がなくなるため、埋め込まれた修復領域のボケが目立ち、処理後の画像は違和感が大きい。
この問題を解決するために、非特許文献1は、下記のような埋め込む手法を提案している。この手法は、修復領域の辺縁上の各画素に対して埋め込み優先度を求め、求められた埋め込み優先度のうち、最も高い埋め込み優先度を有する画素の位置からの順で埋め込む処理を実行する。埋め込むのに際しては、具体的に、図14に示すように、最も高い優先度を有する画像から、優先度の高い画素からの順に、中心点が当該画素に位置するようにパッチ(以下埋め込み用パッチという)を配置し、この埋め込み用パッチ内の既知領域をマッチング領域として埋め込み用パッチに対して設定して、埋め込み用パッチ内の画像の代わりとなる埋め込み元画像を取得するためのパッチ(以下埋め込み元画像取得用パッチという)を得る。図15(a)は図14に示す埋め込み用パッチの拡大図を例示しており、図15(b)は、図15(a)に示す埋め込み用パッチに基づいて得られた埋め込み元画像取得用パッチを示している。そして、図15(a)に示すような埋め込み元画像取得用パッチ、すなわちマッチング領域が設定されたパッチを、埋め込み用パッチの近傍の既知領域上を移動させながら、移動された各位置において、埋め込み元画像取得用パッチ内のマッチング領域の画像と、埋め込み用パッチ内の既知領域の画像との相似度を求め、この相似度が最も高いマッチング領域の画像に対応する位置における埋め込み元画像取得用パッチ内の画像を埋め込み元画像として取得する。そして、埋め込み用パッチ内の画像を、埋め込み元画像に置き換える。
この置き換え、すなわち埋め込みによって、画像中の既知領域が広がり、修復領域が小さくなる。優先度が高い画素の位置からの順でこのような埋め込み処理を、画像上の修復領域が無くなるまで実行することによって、画像上の修復領域が全部既知領域となる。
この手法では、埋め込む際に用いられる埋め込み用パッチの大きさが修復の結果に大きな影響を与えるものである。埋め込み用パッチのサイズが小さすぎると、処理時間がかかる上に、処理後の画像が、実際の画像とかけ離れた画像になってしまう可能性がある。例えば、パターンが連続的に重複して存在する画像を修復するのに際し、修復領域においてパターンが再現されるように修復されることが望ましいが、埋め込み用パッチのサイズが小さすぎると、1つのパターンの一部分のみが重複して繰り返されるように修復が行われてしまう。また、埋め込み用パッチのサイズが大きすぎると、本来利用すべきではない既知領域までの画像が修復領域に埋め込まれ、処理後の画像は不自然になる可能性が高いという問題がある。そのため、オペレータにより修復対象の画像を目視などにより確認し、その画像に含まれるパターンなどの特徴に基づいて埋め込み用パッチのサイズを設定することが行われている(非特許文献1)。非特許文献2は、埋め込み用パッチを変動させながら埋め込みを行う方法を提案している。
特開平7−114639号公報
A.Criminisi,P.Perez,and K.Toyama, Object Removal by Exemplar−based Inpaiting, Conf.on Computer Vision and Pattern Recognition,CVPR, Madison,Wisconsin,2003
Iddo Drori,Daniel Cohen−or,Hezy Yeshurun,Fragment−based image completion,Proc.of SIGGRAPH 2003,ACM Transactions on Graphics,Vol.22,No.3,pp.303−312
しかしながら、非特許文献1に記載の方法は、オペレータに負担をかける上に、熟練した技術者ではなければ、正確に埋め込み用パッチのサイズを設定することができないという問題がある。
また、非特許文献2に記載の方法は、処理時間が長くかかるという問題がある。
本発明は、上記事情に鑑み、オペレータに負担をかけずに、画像の修復を効率良く行うことができる画像処理方法および装置並びにそのためのプログラムを提供することを目的とするものである。
本発明の画像処理方法は、画素値が既知の既知領域と、画素値が未知の修復領域とからなる原画像に対して埋め込み処理を行って修復済み画像を得る画像処理方法において、
前記埋め込み処理を、解像度レベルの低い順からの複数の異なる低解像度レベルの埋め込み処理と、オリジナル解像度レベルの埋め込み処理とに分け、
最も解像度レベルの低い前記低解像度レベルの埋め込み処理としては、前記原画像から該低解像度レベルに対応する解像度を有する低解像度画像を作成し、
該低解像度画像における前記修復領域の辺縁上の各画素に対して埋め込み優先度を求め、
前記埋め込み優先度が所定の閾値以上の画素に対して前記埋め込み優先度が高い画素から順に、
a)該画素に中心点が位置するように所定の大きさの埋め込み用パッチを配置し、
b)該埋め込み用パッチにおける前記既知領域をマッチング領域として前記埋め込み用パッチに対して設定して埋め込み元画像領域取得用パッチを得、
c)該埋め込み元画像領域取得用パッチを、前記埋め込み用パッチの近傍の前記既知領域上を移動させながら、移動された各位置において、前記埋め込み元画像領域取得用パッチ内の前記マッチング領域の画像と前記埋め込み用パッチ内の前記既知領域の画像との相似度を求め、
d)前記相似度が最も高い位置の前記埋め込み元画像領域取得用パッチ内の領域を埋め込み元画像領域として取得し、
e)前記画素と対応する原画像における画素の位置を取得すると共に、前記埋め込み元画像領域と対応する原画像における領域の画像を埋め込み元画像として取得し、
f)原画像において、取得された前記画素の位置を中心とした、前記埋め込み元画像と同じ大きさを有する領域の画像を前記埋め込み元画像に置き換える処理を行って原画像と同じ解像度を有するオリジナル解像度画像を得、
他の前記低解像度レベルの埋め込み処理としては、前回の低解像度レベルの埋め込み処理により得られた前記オリジナル解像度画像から、今回の低解像度レベルの埋め込み処理の該低解像度レベルに対応する解像度の低解像度画像を作成し、該低解像度画像を用いて、前記埋め込み優先度を求める工程から前記埋め込み元画像領域を取得する前記d)工程までの処理を行うと共に、
前記オリジナル解像度画像において、前記e)工程からf)工程までの処理を行って、該オリジナル解像度画像と異なるオリジナル解像度画像を得、
前記オリジナル解像度レベルの埋め込み処理としては、最も解像度レベルの高い前記低解像度レベルの埋め込み処理によって得られたオリジナル解像度画像における修復領域の辺縁上の各画素に対して埋め込み優先度を求め、
該埋め込み優先度が高い画素から順に、前記所定の大きさの埋め込み用パッチを配置する前記a)工程から前記埋め込み元画像領域を取得するd)工程までの処理と、前記埋め込み用パッチ内の画像を前記埋め込み元画像領域内の画像に置き換える処理とを行うことを特徴とするものである。
前記埋め込み処理を、解像度レベルの低い順からの複数の異なる低解像度レベルの埋め込み処理と、オリジナル解像度レベルの埋め込み処理とに分け、
最も解像度レベルの低い前記低解像度レベルの埋め込み処理としては、前記原画像から該低解像度レベルに対応する解像度を有する低解像度画像を作成し、
該低解像度画像における前記修復領域の辺縁上の各画素に対して埋め込み優先度を求め、
前記埋め込み優先度が所定の閾値以上の画素に対して前記埋め込み優先度が高い画素から順に、
a)該画素に中心点が位置するように所定の大きさの埋め込み用パッチを配置し、
b)該埋め込み用パッチにおける前記既知領域をマッチング領域として前記埋め込み用パッチに対して設定して埋め込み元画像領域取得用パッチを得、
c)該埋め込み元画像領域取得用パッチを、前記埋め込み用パッチの近傍の前記既知領域上を移動させながら、移動された各位置において、前記埋め込み元画像領域取得用パッチ内の前記マッチング領域の画像と前記埋め込み用パッチ内の前記既知領域の画像との相似度を求め、
d)前記相似度が最も高い位置の前記埋め込み元画像領域取得用パッチ内の領域を埋め込み元画像領域として取得し、
e)前記画素と対応する原画像における画素の位置を取得すると共に、前記埋め込み元画像領域と対応する原画像における領域の画像を埋め込み元画像として取得し、
f)原画像において、取得された前記画素の位置を中心とした、前記埋め込み元画像と同じ大きさを有する領域の画像を前記埋め込み元画像に置き換える処理を行って原画像と同じ解像度を有するオリジナル解像度画像を得、
他の前記低解像度レベルの埋め込み処理としては、前回の低解像度レベルの埋め込み処理により得られた前記オリジナル解像度画像から、今回の低解像度レベルの埋め込み処理の該低解像度レベルに対応する解像度の低解像度画像を作成し、該低解像度画像を用いて、前記埋め込み優先度を求める工程から前記埋め込み元画像領域を取得する前記d)工程までの処理を行うと共に、
前記オリジナル解像度画像において、前記e)工程からf)工程までの処理を行って、該オリジナル解像度画像と異なるオリジナル解像度画像を得、
前記オリジナル解像度レベルの埋め込み処理としては、最も解像度レベルの高い前記低解像度レベルの埋め込み処理によって得られたオリジナル解像度画像における修復領域の辺縁上の各画素に対して埋め込み優先度を求め、
該埋め込み優先度が高い画素から順に、前記所定の大きさの埋め込み用パッチを配置する前記a)工程から前記埋め込み元画像領域を取得するd)工程までの処理と、前記埋め込み用パッチ内の画像を前記埋め込み元画像領域内の画像に置き換える処理とを行うことを特徴とするものである。
本発明の画像処理方法において、前記低解像度画像における前記修復領域の辺縁上の各画素に対して埋め込み優先度を求めるのに際し、大きさが前記埋め込み用パッチの大きさ以上である優先度算出用パッチを、夫々の中心点が前記各画素に夫々位置するように配置し、
各前記優先度算出用パッチ内の前記既知領域の画像において、該既知領域側の前記優先度算出用パッチの輪郭線上から前記辺縁まで延びる境界線の検出を行い、
前記境界線が検出された前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素が、前記境界線が検出されなかった前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素より高い埋め込み優先度を設定することが好ましい。
各前記優先度算出用パッチ内の前記既知領域の画像において、該既知領域側の前記優先度算出用パッチの輪郭線上から前記辺縁まで延びる境界線の検出を行い、
前記境界線が検出された前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素が、前記境界線が検出されなかった前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素より高い埋め込み優先度を設定することが好ましい。
本発明の画像処理装置は、画素値が既知の既知領域と、画素値が未知の修復領域とからなる原画像に対して埋め込み処理を行って修復済み画像を得る画像処理装置であって、
低解像度レベル埋め込み手段と、オリジナル解像度埋め込み手段とを備え、
前記低解像度レベル埋め込み手段が、解像度レベルの低い順からの複数の異なる低解像度レベルの埋め込み処理を行うものであり、
最も解像度レベルの低い前記低解像度レベルの埋め込み処理としては、前記原画像から該低解像度レベルに対応する解像度を有する低解像度画像を作成し、
該低解像度画像における前記修復領域の辺縁上の各画素に対して埋め込み優先度を求め、
前記埋め込み優先度が所定の閾値以上の画素に対して前記埋め込み優先度が高い画素から順に、
a)該画素に中心点が位置するように所定の大きさの埋め込み用パッチを配置し、
b)該埋め込み用パッチにおける前記既知領域をマッチング領域として前記埋め込み用パッチに対して設定して埋め込み元画像領域取得用パッチを得、
c)該埋め込み元画像領域取得用パッチを、前記埋め込み用パッチの近傍の前記既知領域上を移動させながら、移動された各位置において、前記埋め込み元画像領域取得用パッチ内の前記マッチング領域の画像と前記埋め込み用パッチ内の前記既知領域の画像との相似度を求め、
d)前記相似度が最も高い位置の前記埋め込み元画像領域取得用パッチ内の領域を埋め込み元画像領域として取得し、
e)前記画素と対応する原画像における画素の位置を取得すると共に、前記埋め込み元画像領域と対応する原画像における領域の画像を埋め込み元画像として取得し、
f)原画像において、取得された前記画素の位置を中心とした、前記埋め込み元画像と同じ大きさを有する領域の画像を前記埋め込み元画像に置き換える処理を行って原画像と同じ解像度を有するオリジナル解像度画像を得るものであり、
他の前記低解像度レベルの埋め込み処理としては、前回の低解像度レベルの埋め込み処理により得られた前記オリジナル解像度画像から、今回の低解像度レベルの埋め込み処理の該低解像度レベルに対応する解像度の低解像度画像を作成し、該低解像度画像を用いて、前記埋め込み優先度を求める工程から前記埋め込み元画像領域を取得するd)工程までの処理を行うと共に、
前記オリジナル解像度画像において、前記e)工程からf)工程までの処理を行って、該オリジナル解像度画像と異なるオリジナル解像度画像を得、
前記オリジナル解像度埋め込み手段が、前記低解像度レベル埋め込み手段により、最も解像度レベルの高い前記低解像度レベルの埋め込み処理を行って得られたオリジナル解像度画像における修復領域の辺縁上の各画素に対して埋め込み優先度を求め、
該埋め込み優先度が高い画素から順に、前記所定の大きさの埋め込み用パッチを配置する前記a)工程から前記埋め込み元画像領域を取得する前記d)工程までの処理と、前記埋め込み用パッチ内の画像を前記埋め込み元画像領域内の画像に置き換える処理とを行うものであることを特徴とするものである。
低解像度レベル埋め込み手段と、オリジナル解像度埋め込み手段とを備え、
前記低解像度レベル埋め込み手段が、解像度レベルの低い順からの複数の異なる低解像度レベルの埋め込み処理を行うものであり、
最も解像度レベルの低い前記低解像度レベルの埋め込み処理としては、前記原画像から該低解像度レベルに対応する解像度を有する低解像度画像を作成し、
該低解像度画像における前記修復領域の辺縁上の各画素に対して埋め込み優先度を求め、
前記埋め込み優先度が所定の閾値以上の画素に対して前記埋め込み優先度が高い画素から順に、
a)該画素に中心点が位置するように所定の大きさの埋め込み用パッチを配置し、
b)該埋め込み用パッチにおける前記既知領域をマッチング領域として前記埋め込み用パッチに対して設定して埋め込み元画像領域取得用パッチを得、
c)該埋め込み元画像領域取得用パッチを、前記埋め込み用パッチの近傍の前記既知領域上を移動させながら、移動された各位置において、前記埋め込み元画像領域取得用パッチ内の前記マッチング領域の画像と前記埋め込み用パッチ内の前記既知領域の画像との相似度を求め、
d)前記相似度が最も高い位置の前記埋め込み元画像領域取得用パッチ内の領域を埋め込み元画像領域として取得し、
e)前記画素と対応する原画像における画素の位置を取得すると共に、前記埋め込み元画像領域と対応する原画像における領域の画像を埋め込み元画像として取得し、
f)原画像において、取得された前記画素の位置を中心とした、前記埋め込み元画像と同じ大きさを有する領域の画像を前記埋め込み元画像に置き換える処理を行って原画像と同じ解像度を有するオリジナル解像度画像を得るものであり、
他の前記低解像度レベルの埋め込み処理としては、前回の低解像度レベルの埋め込み処理により得られた前記オリジナル解像度画像から、今回の低解像度レベルの埋め込み処理の該低解像度レベルに対応する解像度の低解像度画像を作成し、該低解像度画像を用いて、前記埋め込み優先度を求める工程から前記埋め込み元画像領域を取得するd)工程までの処理を行うと共に、
前記オリジナル解像度画像において、前記e)工程からf)工程までの処理を行って、該オリジナル解像度画像と異なるオリジナル解像度画像を得、
前記オリジナル解像度埋め込み手段が、前記低解像度レベル埋め込み手段により、最も解像度レベルの高い前記低解像度レベルの埋め込み処理を行って得られたオリジナル解像度画像における修復領域の辺縁上の各画素に対して埋め込み優先度を求め、
該埋め込み優先度が高い画素から順に、前記所定の大きさの埋め込み用パッチを配置する前記a)工程から前記埋め込み元画像領域を取得する前記d)工程までの処理と、前記埋め込み用パッチ内の画像を前記埋め込み元画像領域内の画像に置き換える処理とを行うものであることを特徴とするものである。
また、前記低解像度レベル埋め込み手段は、前記低解像度画像における前記修復領域の辺縁上の各画素に対して埋め込み優先度を求めるのに際し、大きさが前記埋め込み用パッチの大きさ以上である優先度算出用パッチを、夫々の中心点が前記各画素に夫々位置するように配置し、
各前記優先度算出用パッチ内の前記既知領域の画像において、該既知領域側の前記優先度算出用パッチの輪郭線上から前記辺縁まで延びる境界線の検出を行い、
前記境界線が検出された前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素が、前記境界線が検出されなかった前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素より高い埋め込み優先度を設定することが好ましい。
各前記優先度算出用パッチ内の前記既知領域の画像において、該既知領域側の前記優先度算出用パッチの輪郭線上から前記辺縁まで延びる境界線の検出を行い、
前記境界線が検出された前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素が、前記境界線が検出されなかった前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素より高い埋め込み優先度を設定することが好ましい。
本発明の画像処理方法を、コンピュータに実行させるプログラムとして提供してもよい。
本発明の画像処理方法および装置によれば、修復領域の埋め込み処理を、解像度レベルの低い順から複数の低解像度レベルの埋め込み処理と、オリジナル解像度レベルの埋め込み処理とに分けて行う。解像度レベルが最も低い低解像度レベルの埋め込み処理として、原画像から、該最も低い解像度レベルに対応する解像度の低解像度画像を作成し、この低解像度画像において所定のサイズの埋め込み用パッチのサイズと同じ大きさを有する埋め込み元画像領域を取得する。そして、原画像において、この埋め込み元画像領域に対応する領域の画像を埋め込み元画像として取得して埋め込みを行ってオリジナル解像度画像を得る。他の低解像度レベルの埋め込み処理としては、前回の低解像度レベルの埋め込み処理により得られたオリジナル解像度画像から、今回の低解像度レベルの埋め込み処理の低解像度レベルに対応する解像度の低解像度画像を作成し、この低解像度画において、同じく所定のサイズの埋め込み用パッチのサイズと同じ大きさを有する埋め込み元画像領域を取得する。そして、前回の低解像度レベルの埋め込み処理により得られたオリジナル解像度画像において、取得された埋め込み元画像領域に対応する領域の画像を埋め込み元画像として取得して埋め込みを行って前回の低解像度レベルの埋め込み処理により得られたオリジナル解像度画像と異なるオリジナル解像度画像を得る。
最後に、オリジナル解像度埋め込み処理として、解像度レベルが最も高い低解像度レベル埋め込み処理により得られたオリジナル解像度画像において、低解像度レベルの埋め込み処理時に用いられた埋め込み用パッチと同じ大きさの埋め込み用パッチを用いて埋め込みを行う。
このような埋め込み処理によって、埋め込み用パッチのサイズが一定であるが、埋め込み用パッチサイズを適用する画像の解像度が異なるので、原画像において異なるサイズの埋め込み用パッチを用いて埋め込むのと同じ効果を得ることができると共に、処理時間を短縮することができ、効率が良い。
以下、図面を参照して、本発明の実施形態について説明する。
図1は、本発明の実施形態となる画像処理装置の構成を示すブロック図である。なお、本実施形態の画像処理装置は、入力された画像に対して修復処理を行うものであり、補助記憶装置に読み込まれた処理プログラムをコンピュータ(たとえばパーソナルコンピュータ等)上で実行することにより実現される。また、この処理プログラムは、CD−ROM等の情報記憶媒体に記憶され、もしくはインターネット等のネットワークを介して配布され、コンピュータにインストールされることになる。
また、画像データは画像を表すものであり、以下、特に画像と画像データの区別をせずに説明を行う。
図1に示すように、本実施形態の画像処理装置は、画像を入力する画像入力手段1と、入力された画像において修復する領域(修復領域)の指定をユーザに行わせるための領域指定手段10と、指定された修復領域に画素値を付与することによって修復領域を修復する修復手段100とを有してなる。
画像入力手段1は、本実施形態の画像処理装置の処理対象となる画像を入力するためのものであり、例えば、ネットワークを介して送信されてきた写真画像を受信する受信部や、CD−ROMなどの記録媒体から写真画像を読み出す読取部や、紙や、プリント用紙などの印刷媒体から印刷媒体に印刷(プリントを含む)された画像を光電変換によって読み取って写真画像を得るスキャナなどとすることができる。
領域指定手段10は、画像入力手段1により入力された画像に対して、修復領域の指定を行うためのものであり、修復領域の指定をすることができるものなら何でもよく、例えばキーボードや、マウスや、またはモニタなどの表示画面において指定することが可能なタッチペンなどとすることができる。図3に示す画像D0は、修復領域が指定された画像の例であり、その中央部分の白い空白は指定された修復領域を示し、陰影部分は画素値が既知の画素により構成された既知領域である。
画像入力手段1により入力された画像に対して、領域指定手段10を介して修復領域が指定された画像(画像D0)は、修復手段100に出力され、修復手段100において修復される。図2は、修復手段100の構成を示すブロック図である。
図2に示すように、修復手段100は、多重解像度画像作成手段105と、優先度算出手段110と、埋め込み元画像取得手段115と、埋め込み手段120と、辺縁修整手段130とを備えてなるものである。以下、これらの各構成の詳細について説明する。
多重解像度画像作成手段105は、画像D0から複数の解像度の異なる画像Diを作成するものであり、各画像Diは、iの大きい順から、解像度が低くなっている。本実施形態において、多重解像度画像作成手段105は、まず、画像D0をD1とし、画像D0を1/2、1/4、1/8の縮小率で夫々縮小して得た画像をD2、D3、D4として作成する。図3は、多重解像度画像作成手段105により得られた画像D1、D2、D3、D4を示している。
優先度算出手段110は、画像D0、すなわち解像度が最も高い画像D1における修復領域の辺縁上の各画素の位置の埋め込み優先度βを算出するものである。本実施形態において、優先度算出手段110は、4つの画像Di(i=1〜4)を、解像度の低い画像からの順(すなわち、D4からの順)を夫々用いて優先度βを算出する。ここで、まず、画像Di(i>1)(すなわちD4、D3、D2)を用いて優先度βを算出する処理について説明する。
<画像Di(i>1)を用いた優先度βの算出>
画像Di(i>1)を用いて優先度βを算出するのに当たり、優先度算出手段110は、優先度を算出するためのパッチ(本実施形態において9画素×9画素のパッチ。以下優先度算出用パッチFyという)を図4に示すように、その中心が画像Diにおける修復領域の辺縁上の画素(図中画素A)に位置するように配置し、この位置の埋め込み優先度βを求める。
画像Di(i>1)を用いて優先度βを算出するのに当たり、優先度算出手段110は、優先度を算出するためのパッチ(本実施形態において9画素×9画素のパッチ。以下優先度算出用パッチFyという)を図4に示すように、その中心が画像Diにおける修復領域の辺縁上の画素(図中画素A)に位置するように配置し、この位置の埋め込み優先度βを求める。
画素Aの埋め込み優先度βを求めるのに当たり、優先度算出手段110は、まず、優先度算出用パッチFy内の既知領域の画素数を確認する。優先度算出用パッチFy内の既知領域の画素数が、図7に示すように少なく、所定の閾値K1以下となる場合において、画素Aの優先度を0として設定する。
一方、画素Aに配置された優先度算出用パッチFy内の既知領域の画素数が、閾値K1より大きい場合において、優先度算出手段110は、画素Aにおいて、修復領域を埋め込む方向(以下埋め込み方向)を決定する。本実施形態において、図5に示すような4つの方向を埋め込む方向とする。図5において、黒い領域と白い領域は夫々既知領域と修復領域とを示し、修復領域を埋め込む方向は、左から右(方向d1)、上から下(方向d2)、右から左(方向d3)、下から上(方向d4)の4つとなっている。優先度算出手段110は、画素Aにおける、既知領域から修復領域に向かう法線の方向hに基づいて埋め込み方向を決定するものであり、具体的には、この法線方向hが上記4つの方向のうちのいずれか1つの方向と一致する場合には、法線方向hを埋め込み方向に決定して埋め込み優先度βを求める一方、法線方向hが上記4つの方向のうちの2つの方向の間に位置する場合には、この2つの方向を埋め込み方向候補とし、2つの埋め込み方向候補について夫々埋め込み優先度を求め、求められた埋め込み優先度が高い方の方向を埋め込み方向に決定すると共に、この方向について既に求められた埋め込み優先度をこの位置の埋め込み優先度βとする。
図4に示す画素Aの位置の場合、その法線方向hが図6(a)に示すように上から下の方向、図5(b)に示す方向d2と一致するため、優先度算出手段110は、この方向h(d2)を画素Aにおける埋め込み方向として決定する。一方、図6(b)に示すような場合、画素Bにおける法線方向hが、埋め込み方向d1と埋め込み方向d4との間にあるため、優先度算出手段110は、画素Bに対して、埋め込み方向d1と埋め込み方向d2を埋め込み方向候補とし、2つの方向について埋め込み優先度を算出する。
埋め込み優先度算出手段110は、埋め込み方向(または埋め込み方向候補)を決定した後、優先度算出用パッチFy内の既知領域において境界線の検出を行って、優先度を算出する。
優先度算出手段110は、まず、優先度算出用パッチFy内の既知領域の画素値(例えば輝度値)の分散値を計算し、この分散値が所定の閾値K2以下であれば、優先度算出用パッチFy内の既知領域が均一な1つの領域であり、領域と領域との間の境界線が無いとして優先度を0に設定する。
一方、優先度算出用パッチFy内の既知領域の画素値の分散値が閾値K2より大きい場合において、優先度算出手段110は、優先度算出用パッチFy内の既知領域についてその境界線を検出して、優先度を設定する。
本実施形態において、優先度算出手段110は、レベルセット(Level Set)領域分割手法を用いて境界線の検出を行う。具体的には、まず、優先度算出用パッチFy内の既知領域上において、枠を配置する。ここで、枠を配置するのに当たり、大きい枠を用いると、演算時間を短縮することができるが、領域分割の精度が良くないため、本実施形態において、優先度算出手段110は、図8(b)に示すように、複数(図の例示では3つ)の小さい枠Wを、既知領域上の離れた位置に夫々配置する。そして、優先度算出手段110は、各枠Wに対して変形処理を行って、既知領域を2つの領域に分割する。
変形処理は、下記の式(2)に示す、枠内の画素値の分散値σaと、枠外の画素値の分散値σbとの総和Qが、最も小さくなるように各枠Wを変形させるものであり、具体的に、枠Wを内凹させる内凹処理と、枠Wを外凸させる外凸処理とを繰り返す処理である。内凹処理は、当該枠Wの内縁の画素のうちの、該画素を枠Wの外に出すことによって総和Qが小さくなる画素を内凹処理の対象とし、該画素の位置において枠Wを内凹させる処理であり、外凸処理は、当該枠Wの外縁の画素のうちの、該画素を枠Wの中に入れることによって総和Qが小さくなる画素を外凸処理の対象とし、該画素の位置において枠Wを外凸させる外凸処理である。なお、図9(a)に示すように、枠W上の画素A2を枠Wの外縁の画素とすれば、画素A2と隣接する枠W内の画素A1が内縁の画素となり、図9(b)に示すように、枠W上の画素A2を内縁の画素とすれば、画素A2と隣接する枠W外の画素A3が外縁の画素となる。また、枠上に画素が無ければ、枠を挟んで隣接する2つの画素が夫々内縁の画素と外縁の画素となる。本実施形態においては、図9(b)に示すように、枠W上の画素を当該枠Wの内縁の画素とし、この画素と隣接する枠W外の画素を外縁の画素とする。図9(c)は、枠Wの内縁の画素A2を枠Wの外に出すことによって、前述した分散値の総和Qが小さくなる場合に枠Wを内凹させた例を示しており、図9(d)は、枠Wの外縁の画素A3を枠Wの中に入れることによって、前述した分散値の総和Qが小さくなる場合に枠Wを外凸させた例を示している。
優先度算出手段110は、このような内凹処理と外凸処理を繰り返し、枠Wの変形(および変形に起因する枠の結合)を経て、既知領域を1つの枠の中と外との2つの領域に分割する。そして、分割の結果として、この2つの領域の境界線を得る。
優先度算出手段110は、検出された境界線について、まず、この境界線が、優先度算出用パッチFyの既知領域側の輪郭線から、優先度算出用パッチFy内の修復領域の辺縁まで延びる境界線であるか否かを確認する。具体的には、この境界線の両端は、境界線と、優先度算出用パッチFyの既知領域側の輪郭線と優先度算出用パッチ内の修復領域の辺縁との夫々の接点であるか否かを確認し、夫々の接点であれば、言い変えれば、境界線が優先度算出用パッチFyの輪郭線から修復領域の辺縁まで延びるものであればさらに境界線の態様および埋め込み方向(埋め込み方向候補を含む)に基づいて0より大きい優先度を設定するが、接点ではなければ、画素Aの優先度βを0に設定する。
図10は、境界線が優先度算出用パッチFy内の修復領域の辺縁まで延びる境界線であるか場合において、優先度算出手段110による優先度の設定を説明するための図であり、左から右へ、優先度の高い順を示している。図示のように、優先度は、下記のルールに従って設定される。
ルール1:境界線と修復領域の辺縁との接点の位置が、優先度算出用パッチFyの中心点に近いほど、優先度が高い。
なお、境界線は、図10に示す例(b)、例(c)のように2本ある場合には、この接点の位置を、2本の境界線と修復領域の辺縁との夫々の接点の位置の平均位置とする。
ルール2:ルール1を前提とした上で、境界線が2本ある場合より、境界線が1本しかない場合のほうが、優先度が高い。
ルール3:境界線が2本の場合、2本の境界線により囲まれた領域の面積が大きいほど優先度が高い。
ルール4:ルール1、2、3を前提とした上で、境界線の延びる方向が埋め込み方向に近いほど優先度が高い。
優先度算出手段110は、このようにして優先度算出用パッチFyが配置された位置の画素の優先度を設定する。なお、図6(b)に示すように、埋め込み候補方向が2つある場合において、優先度算出手段110は、2つの埋め込み候補について優先度を夫々算出し、大きいほうの優先度が算出された埋め込み方向候補を埋め込み方向として決定すると共に、該方向について算出された優先度を該画素の優先度とする。
優先度算出手段110は、優先度算出用パッチFyを最初に配置した位置の画素について上述の処理を行って該画素の優先度βを算出する。そして、優先度算出用パッチFyを、その中心点が修復領域の辺縁上において1画素ずらして配置し、新たなに配置された位置の画素の優先度βを算出する。
優先度算出手段110は、優先度算出用パッチFyの配置、優先度の算出、優先度算出用パッチFyの移動、優先度の算出・・・を繰り返し、画像Diにおける修復領域の辺縁上の各画素の優先度βを得る。
ここで、埋め込み元画像取得手段115は、優先度算出手段110により算出された優先度βに基づいて、優先度βが0より大きい画素のうち、優先度βが最も高い画素からの順にこの画素の位置における埋め込み元画像を取得する。ここで、埋め込み元画像取得手段115により埋め込み元画像を取得する処理について説明する。
<埋め込み元画像を取得する処理>
埋め込み元画像取得手段115は、優先度算出手段110により、画像Di(i>1)を用いて得られた優先度βを確認し、優先度βが0より大きい画素が無ければ、埋め込み元画像を取得する処理を行わないが(この場合の後の処理について後述する)、優先度βが0より大きい画素があれば、まず、優先度算出手段110により優先度を算出した際に用いた画像と同じ画像Di(i>1)において、優先度βが最も高い画素の位置における埋め込み元画像を取得する。具体的には、埋め込み元画像取得手段115は、画像Diにおける修復領域の辺縁上の画素のうちの対象画素(ここでは優先度βが0より大きい画素のうち、最も高い優先度βを有する画素)に対して、まず、優先度算出用パッチFyよりも小さい埋め込み用パッチFu1(本実施形態においては5画素×5画素のパッチ)を、その中心点が対象画素(図11に示す画素A)に位置するように配置する。そして、配置された埋め込み用パッチFu1内において、既知領域の部分をマッチング領域として設定して、図11下部に示す、画素Aに対する埋め込み元画像取得用パッチFu2を得る。なお、分かりやすくするために、図11下部の埋め込み元画像取得用パッチFu2を拡大して表示しているが、埋め込み元画像取得用パッチFu2の大きさは、埋め込み用パッチFu1と同じく5画素×5画素である。そして、埋め込み元画像取得手段115は、埋め込み元画像取得用パッチFu2を、対象画素Aの近傍の既知領域上を移動しつつ、移動された各位置において、埋め込み元画像取得用パッチFu2内におけるマッチング領域の画像と、埋め込み用パッチFu1内の既知領域の画像との相似度を求める。そして、この相似度が最も高い位置に配置された埋め込み元画像取得用パッチFu2内の画像を埋め込み元画像として取得する。
埋め込み元画像取得手段115は、優先度算出手段110により、画像Di(i>1)を用いて得られた優先度βを確認し、優先度βが0より大きい画素が無ければ、埋め込み元画像を取得する処理を行わないが(この場合の後の処理について後述する)、優先度βが0より大きい画素があれば、まず、優先度算出手段110により優先度を算出した際に用いた画像と同じ画像Di(i>1)において、優先度βが最も高い画素の位置における埋め込み元画像を取得する。具体的には、埋め込み元画像取得手段115は、画像Diにおける修復領域の辺縁上の画素のうちの対象画素(ここでは優先度βが0より大きい画素のうち、最も高い優先度βを有する画素)に対して、まず、優先度算出用パッチFyよりも小さい埋め込み用パッチFu1(本実施形態においては5画素×5画素のパッチ)を、その中心点が対象画素(図11に示す画素A)に位置するように配置する。そして、配置された埋め込み用パッチFu1内において、既知領域の部分をマッチング領域として設定して、図11下部に示す、画素Aに対する埋め込み元画像取得用パッチFu2を得る。なお、分かりやすくするために、図11下部の埋め込み元画像取得用パッチFu2を拡大して表示しているが、埋め込み元画像取得用パッチFu2の大きさは、埋め込み用パッチFu1と同じく5画素×5画素である。そして、埋め込み元画像取得手段115は、埋め込み元画像取得用パッチFu2を、対象画素Aの近傍の既知領域上を移動しつつ、移動された各位置において、埋め込み元画像取得用パッチFu2内におけるマッチング領域の画像と、埋め込み用パッチFu1内の既知領域の画像との相似度を求める。そして、この相似度が最も高い位置に配置された埋め込み元画像取得用パッチFu2内の画像を埋め込み元画像として取得する。
なお、相似度については、例えば埋め込み元画像取得用パッチFu2内のマッチング領域の画像と、埋め込み用パッチFu1内の既知領域の画像との輝度値のユークリッド(Euclid)距離を求め、この距離が小さいほど相似度が高いように求めることができる。
埋め込み元画像取得手段115は、このようにして埋め込み元画像を取得する。
一方、その詳細については後述するが、修復手段100の埋め込み手段120は、解像度が最も高い画像D1において、優先度βが高い画素の位置からの順で修復領域の埋め込みを行うものである。それに対して、ここで、優先度算出手段110により算出された優先度βは、算出する際に用いられた画像Di(i>1)における修復領域の辺縁上の画素のものであり、埋め込み元画像取得手段115により得られた埋め込み元画像は、優先度算出時に用いられた画像Di(i>1)における画像である。そのため、埋め込み手段120に供するために、このように算出された優先度βを有する画素が対応する画像D1における画素の位置、および埋め込み元画像が対応する画像D1上の画像の位置を確定する必要がある。以下、この位置を確定する処理を回帰処理という。なお、ここで、回帰処理について説明する。
<回帰処理>
上述したように、回帰処理は、画像Di(i>1)を用いて算出した優先度βが0より大きい画素、および該画素に対して取得された埋め込み元画像に対して行われる。
上述したように、回帰処理は、画像Di(i>1)を用いて算出した優先度βが0より大きい画素、および該画素に対して取得された埋め込み元画像に対して行われる。
まず、最も解像度の低い画像、優先度βの算出および埋め込み元画像の取得に画像D4を用いた場合を例にして回帰処理について説明する。
回帰処理を行うのに当たって、まず、優先度算出手段110は、優先度を算出した際に用いられた画像(ここでは画像D4)より解像度が1つ高い画像、ここでは画像D3において、画像D4を用いて算出された優先度βが0より大きい画素の位置を確定する。画像D4は、画像D3を1/2縮小したものであるため、画像D4における1つの画素の位置が、画像D3上における2つの画素の位置に対応する。優先度算出手段110は、画像D4において算出された、優先度βが0より大きい画素の位置に夫々対応する、画像D3上の画素の位置において、優先度算出用パッチFyの配置および優先度の算出を行う。なお、ここで、優先度算出用パッチFyおよび優先度の算出は、画像D4において算出された、優先度βが0以上の画素の位置に夫々対応する、画像D3上の位置の画素(その数は、画像D4において算出された、優先度βが0より大きい画素の数の2倍)に対してのみ行われるため、短時間でできる。そして、埋め込み元画像取得手段115は、画像D4において取得された埋め込み元画像の、画像D3における位置を、優先度算出手段110により得られた画像D3上の位置に応じて調整し、画像D3上の埋め込み元画像の位置を得る。
そして、埋め込み優先度算出手段110と埋め込み元画像取得手段115は、このように低解像度画像上における位置を、1つ高い解像度上の画像上の対応する位置に確定する処理をD3からD2、D2からD1に繰り返し、解像度が最も高い画像D1における、埋め込み優先度βが0より大きい画素の位置、およびこれらの各画素の位置における埋め込み元画像の位置を確定できたことをもって、回帰処理を終了する。
なお、ここで、画像D4を用いて優先度の算出および埋め込み元画像の取得を行った場合の回帰処理について説明したが、画像D3を用いて優先度の算出および埋め込み元画像の取得を行った場合には、回帰処理として、画像D3より解像度が1つ高い画像、すなわち画像D2において、画像D3において算出された優先度βが0より大きい画素の位置および相対応する埋め込み元画像の位置が確定され、その後、画像D2より解像度が1つ高い画像、すなわち画像D1において、画像D2において算出された優先度βが0より大きい画素の位置および相対応する埋め込み元画像の位置が確定される。また、画像D2を用いて優先度の算出および埋め込み元画像の取得を行った場合には、回帰処理としては、画像D2より解像度が1つ高い画像、すなわち画像D1において、画像D2において算出された優先度βが0より大きい画素の位置および相対応する埋め込み元画像の位置が確定される。
次に、優先度算出手段110が画像D1を用いて優先度βを算出する処理について説明する。
<画像D1を用いた優先度βの算出>
優先度算出手段110は、画像D1を用いて優先度βを算出するのに当たり、他の画像を用いて優先度βを算出する際と同じように、まず、図4に示す優先度算出用パッチFyを、その中心点が画像D1における修復領域の辺縁上の画素に位置するように配置し、配置された優先度算出用パッチFy内の既知領域の画素数を確認する。優先度算出用パッチFy内の既知領域の画素数が閾値K1以下となる場合において、優先度算出手段110は、その画素の優先度を0として設定する。
優先度算出手段110は、画像D1を用いて優先度βを算出するのに当たり、他の画像を用いて優先度βを算出する際と同じように、まず、図4に示す優先度算出用パッチFyを、その中心点が画像D1における修復領域の辺縁上の画素に位置するように配置し、配置された優先度算出用パッチFy内の既知領域の画素数を確認する。優先度算出用パッチFy内の既知領域の画素数が閾値K1以下となる場合において、優先度算出手段110は、その画素の優先度を0として設定する。
一方、優先度算出用パッチFy内の既知領域の画素数が、閾値K1より大きい場合において、優先度算出手段110は、優先度算出用パッチFyが配置された画素の位置における埋め込み方向を決定する。この埋め込み方向を決定する処理は、他の画像Di(i>1)を用いて優先度βを算出する際の埋め込み方向の決定と同じであるので、ここで詳細な説明を省略する。なお、ここでも、図6(a)に示すように埋め込み方向が2つの可能性がある場合において、この2つの方向を埋め込み方向候補にして夫々について優先度を求め、優先度が大きい埋め込み方向候補を埋め込み方向として決定すると共に、該方向について算出された優先度を該画素の優先度とする。
埋め込み方向(埋め込み方向候補を含む)を決定した後、優先度算出手段110は、優先度算出用パッチFyの中心点においてエッジの検出を行い、該中心点においてエッジが検出されなかった場合には、該中心点に位置する画素の優先度βを1に設定する一方、エッジが検出された場合には、エッジの強度が強いほど高い優先度となるように、優先度算出用パッチFyの中心点の画素の優先度βを1より大きい値に設定する。
なお、この場合は、優先度βは画像D1において算出されているので、回帰処理が行われない。
次いで、本実施形態の画像処理全体の処理についてさらに説明する。
図12は、本実施形態の画像処理装置全体の処理を示すフローチャートである。図示のように、画像入力手段1により得られた処理対象の画像は、領域指定手段10を介して修復領域が指定されて画像D0となって、修復手段100に入力される(S10)。修復手段100において、多重解像度画像作成手段105は、まず、iを4として、i個(すなわち4つ)の解像度の異なる画像D1(D0)、D2、D3、D4を作成する(S15、S20)。そして、優先度算出手段110は、最も解像度の低い画像Di(ここでD4)を用いて優先度の算出を行い、画像D4における修復領域の辺縁上の各画素の優先度β、およびこれらの画素における埋め込み方向を得る(S30)
埋め込み元画像取得手段115は、優先度βが0より大きい画素の有無を確認し、優先度βが0より大きい画素があれば(S110:Yes、S111:Yes)、これらの画素のうちの、優先度βが最も高い画素の位置において埋め込み元画像を取得する(S112)。そして、優先度算出手段110と埋め込み元画像取得手段115は、画像D4において算出された0より大きい優先度βを有する画素の位置および相対応する埋め込み元画像の位置を、画像D1において確定する回帰処理を行って、画像D1において、修復領域の辺縁上の画素のうちの、優先度βが0より大きい画素、およびこれらの画素の埋め込み方向と埋め込み元画像を得る(S113)。そして、埋め込み手段120は、画像D1において、優先度の高い画素からの順に、該画素に対して取得された埋め込み元画像を用いて該埋め込み元画像を取得する際に用いられた埋め込み元画像取得用パッチFu2が対応する埋め込み用パッチFu1内の画像を置き換えることによって埋め込みを実行する。ここで、埋め込み用パッチFu1および埋め込み元画像取得用パッチFu2のサイズは、画像D4における5画素×5画素であるので、画像D1に対応する大きさは40画素×40画素となる。
埋め込み元画像取得手段115は、優先度βが0より大きい画素の有無を確認し、優先度βが0より大きい画素があれば(S110:Yes、S111:Yes)、これらの画素のうちの、優先度βが最も高い画素の位置において埋め込み元画像を取得する(S112)。そして、優先度算出手段110と埋め込み元画像取得手段115は、画像D4において算出された0より大きい優先度βを有する画素の位置および相対応する埋め込み元画像の位置を、画像D1において確定する回帰処理を行って、画像D1において、修復領域の辺縁上の画素のうちの、優先度βが0より大きい画素、およびこれらの画素の埋め込み方向と埋め込み元画像を得る(S113)。そして、埋め込み手段120は、画像D1において、優先度の高い画素からの順に、該画素に対して取得された埋め込み元画像を用いて該埋め込み元画像を取得する際に用いられた埋め込み元画像取得用パッチFu2が対応する埋め込み用パッチFu1内の画像を置き換えることによって埋め込みを実行する。ここで、埋め込み用パッチFu1および埋め込み元画像取得用パッチFu2のサイズは、画像D4における5画素×5画素であるので、画像D1に対応する大きさは40画素×40画素となる。
埋め込み手段120は、まず、優先度βが最も高い画素において埋め込みを行い、優先度が最も高い画素における埋め込みが終了すれば、次に高い優先度βを有する画素において埋め込みを行う。このように優先度βが高い順から、優先度βが0より大きい画素の埋め込みを行う(S1S125:Yes、S118、S120)。優先度βが0より大きい画素の埋め込みが全て終了すれば、画像Di(ここではD4)を用いて算出した優先度βに基づいた埋め込みを終了し、この埋め込みによって得られた新たな画像D1(元の画像D1が、優先度βが0より大きい画素において埋め込みが行われた画像)を多重解像度画像作成手段105に出力する。多重解像度画像作成手段105は、新たな画像D1を用いて、優先度βを求める際に既に用いられた画像(ここではD4)の解像度より1つ高い解像度までの複数の新たな画像(ここでは新たな画像D1、D2、D3)を作成し、優先度算出手段110は、新たな画像のうちの、最も低い解像度を有する画像(ここでは新たな画像D3)を用いて優先度βを算出し、ステップS30からの処理が繰り返される((S125:No、S128、S20、S30〜)。
一方、ステップS111において、優先度βが0より大きい画素がなければ(S111:No)、埋め込み元画像取得手段115は、埋め込み元画像を取得する処理行わず、優先度算出手段110は、前回、優先度βを求める際に既に用いられた画像(ここではD4)より1つ解像度が高い画像(ここではD3)を用いて優先度βを算出し、ステップS30からの処理が繰り返される(S114、S30〜)。
このような処理は、解像度が原画像より1つのみ低い画像(そのときの画像D2)を用いて算出された優先度βに基づいた埋め込みが終了するまで行われる(S20〜S128)。
解像度が原画像より1つのみ低い画像を用いて算出された優先度βに基づいた埋め込みが終了すると、埋め込みがなされた画像が新たな画像D1として得られる。この場合、優先度を算出する処理から、算出された優先度に基づいた埋め込みまでの処理は、原画像より解像度が低い画像について全部行われたので、優先度算出手段110は、原画像と同じ解像度を有する新たな画像D1を用いて優先度βを算出する(S30、S110:Yes)。埋め込み元画像取得手段115と埋め込み手段120は、優先度βが最も高い画素から埋め込みを行い、優先度βが最も低い0となる画素の位置における埋め込みが終了することをもって、処理を終了する(S130〜S136)。
埋め込みが終了した画像(原画像と同じ解像度)に対して、辺縁修整手段130は、埋め込みによって、不平滑な辺縁などの修整を行い、修復処理を終了する。
図13は、優先度算出手段110による優先度βを算出する処理(すなわち図12におけるステップS30の処理P)を示すフローチャートである。図示のように、優先度算出手段110は、画像Diを用いて優先度βの算出に当たり、まず、画像Diにおいて優先度算出用パッチFyを、その中心点が画像Diにおける修復領域の辺縁上の画素に位置するように配置する(S32)。そして、優先度算出用パッチFy内の既知領域の画素数が閾値K1以下であれば、優先度算出用パッチFyの中心点の画素の優先度βを0に設定する(S34:No、S55)一方、優先度算出用パッチFy内の既知領域の画素数が閾値K1より大きければ、埋め込み方向を図5示すいずれかの方向に決定する(S36)。そして、解像度が原画像より低い画像Di(i>1)に対して、優先度算出手段110は、優先度算出用パッチFy内の既知領域の画素値の分散値σを求め(S40:Yes、S42)、分散値σが閾値K2以下であれば、優先度算出用パッチFyの中心点の画素の優先度βを0に設定する(S44:No、S55)一方、分散値σが閾値K2より大きければ、優先度算出用パッチFy内の既知領域において領域の分割を行うことによって境界線を検出する(S44:Yes、S46)。検出された境界線が、優先度算出用パッチFyの既知領域側の輪郭線から優先度算出用パッチFy内の修復領域の辺縁まで延びる境界線ではなければ、優先度算出手段110は、優先度算出用パッチFyの中心点の画素の優先度βを0に設定する(S48:No、S55)一方、検出された境界線が、優先度算出用パッチFyの既知領域側の輪郭線から優先度算出用パッチFy内の修復領域の辺縁まで延びる境界線であれば、その境界線の態様および優先度算出用パッチFyの中心点の画素における埋め込み方向に基づいて、該画素の優先度βを0以上の値に設定する(S48:Yes、S50)。優先度算出手段110は、画像Diにおける修復領域の辺縁上の各画素において優先度算出用パッチFyの配置および優先度算出用パッチFyが配置された位置の画素(優先度算出用パッチFyの中心点の画素)に対して優先度β求め(S60:No、S82、S34〜)、求められた各々の画素の優先度βと、埋め込み方向と共に埋め込み元画像取得手段115に出力する(S60:Yes、S100)。
一方、解像度が原画像と同じ画像D1を用いて優先度βを算出する際に(S40:No)、優先度算出手段110は、優先度算出用パッチFyの中心点においてエッジの検出を行い、該中心点においてエッジが検出されなかった場合には、該中心点に位置する画素の優先度βを1に設定する一方、エッジが検出された場合には、エッジの強度が強いほど高い優先度となるように、優先度算出用パッチFyの中心点の画素の優先度βを1より大きい値に設定すると共に、各画素に対して設定された優先度βをその埋め込み方向と共に埋め込み元画像取得手段115に出力する(S72〜S110)。
なお、図13に示していないが、優先度算出手段110は、優先度算出用パッチFyの中心点の画素における埋め込み方向を決定する際に、図6(a)に示すように埋め込み方向が2つの可能性がある場合において、この2つの方向を埋め込み方向候補にして夫々について優先度を求め、優先度が大きい埋め込み方向候補を埋め込み方向として決定すると共に、該方向について算出された優先度を該画素の優先度とする。
このように、本実施形態の画像処理装置によれば、解像度の異なる複数の画像を作成し、解像度の最も低い画像からの順に、低い解像度の画像において埋め込み元画像を取得し、回帰処理によってこの埋め込み元画像の、原画像(解像度の最も高い画像)における対応する画像を用いて埋め込みを行うようにすることによって、実質的に異なる埋め込み用パッチサイズで修復を行うことを短時間で実現することができる。
また、非特許文献1において、埋め込み優先度を求めるのに際し、局所的なエッジしか検出してないため、長い境界線を有する画像の場合においては、実際の画像と大きく異なる画像に仕上げてしまうという問題がある。例えば、図16(a)に示すように、修復領域が砂浜と川とに跨り、修復領域の外縁にゴミなどの小さな黒い物体がかかっている画像の場合において、川と砂浜の境界線がつながるように図中点Aまたは点Bから埋め込むことが望ましいが、点A、点Bよりも、点Cにおけるエッジ強度が高いため、非特許文献1に記載の方法では点Cの優先度が高く、点Aからの埋め込みがなされる。その結果、図16(b)に示すように、ゴミ部分が修復領域内に伸び、この埋め込みを繰り返すことによって、修復領域内に実際に存在しない黒い物体が出現すると共に、川と砂浜との境界線が修復領域内に無く、不自然な画像となってしまう。これに対し、本実施形態の画像処理装置によれば、埋め込み用パッチよりサイズが大きい優先度算出用パッチを、その中心点が画像中における修復領域の辺縁上の画素に位置するように配置し、この優先度算出用パッチ内の既知領域内において、優先度算出用パッチの輪郭線から、優先度算出用パッチ内の修復領域の辺縁まで延びる境界線を検出し、この境界線が検出された優先度算出用パッチの中心点の画素の埋め込み優先度を、境界線が検出された優先度算出用パッチの中心点の画素の埋め込み優先度より高く設定する。そして、埋め込むのに際し、埋め込み優先度の高い画素からの順に、修復領域の辺縁上の画素に埋め込み用パッチを配置して埋め込みを行うようにする。こうすることによって、領域を分割する境界線のある部分が優先的に埋め込まれるので、局部的なエッジの存在による影響を無くすことができ、良い修復効果を得ることができる。
以上、本発明の望ましい実施形態について説明したが、本発明の画像処理方法および装置並びにそのためのプログラムは、上述した実施形態に限られることがなく、本発明の主旨を逸脱しない限り、各々のパッチのサイズ、多重解像度画像の個数など、様々な増減、変化を加えることができる。
1 画像入力手段
10 領域指定手段
100 修復手段
105 多重解像度画像作成手段
110 優先度算出手段
115 埋め込み元画像取得用手段
120 埋め込み手段
130 辺縁修整手段
β 埋め込み優先度
10 領域指定手段
100 修復手段
105 多重解像度画像作成手段
110 優先度算出手段
115 埋め込み元画像取得用手段
120 埋め込み手段
130 辺縁修整手段
β 埋め込み優先度
Claims (6)
- 画素値が既知の既知領域と、画素値が未知の修復領域とからなる原画像に対して埋め込み処理を行って修復済み画像を得る画像処理方法において、
前記埋め込み処理を、解像度レベルの低い順からの複数の異なる低解像度レベルの埋め込み処理と、オリジナル解像度レベルの埋め込み処理とに分け、
最も解像度レベルの低い前記低解像度レベルの埋め込み処理としては、前記原画像から該低解像度レベルに対応する解像度を有する低解像度画像を作成し、
該低解像度画像における前記修復領域の辺縁上の各画素に対して埋め込み優先度を求め、
前記埋め込み優先度が所定の閾値以上の画素に対して前記埋め込み優先度が高い画素から順に、
a)該画素に中心点が位置するように所定の大きさの埋め込み用パッチを配置し、
b)該埋め込み用パッチにおける前記既知領域をマッチング領域として前記埋め込み用パッチに対して設定して埋め込み元画像領域取得用パッチを得、
c)該埋め込み元画像領域取得用パッチを、前記埋め込み用パッチの近傍の前記既知領域上を移動させながら、移動された各位置において、前記埋め込み元画像領域取得用パッチ内の前記マッチング領域の画像と前記埋め込み用パッチ内の前記既知領域の画像との相似度を求め、
d)前記相似度が最も高い位置の前記埋め込み元画像領域取得用パッチ内の領域を埋め込み元画像領域として取得し、
e)前記画素と対応する原画像における画素の位置を取得すると共に、前記埋め込み元画像領域と対応する原画像における領域の画像を埋め込み元画像として取得し、
f)原画像において、取得された前記画素の位置を中心とした、前記埋め込み元画像と同じ大きさを有する領域の画像を前記埋め込み元画像に置き換える処理を行って原画像と同じ解像度を有するオリジナル解像度画像を得、
他の前記低解像度レベルの埋め込み処理としては、前回の低解像度レベルの埋め込み処理により得られた前記オリジナル解像度画像から、今回の低解像度レベルの埋め込み処理の該低解像度レベルに対応する解像度の低解像度画像を作成し、該低解像度画像を用いて、前記埋め込み優先度を求める工程から前記埋め込み元画像領域を取得する前記d)工程までの処理を行うと共に、
前記オリジナル解像度画像において、前記e)工程からf)工程までの処理を行って、該オリジナル解像度画像と異なるオリジナル解像度画像を得、
前記オリジナル解像度レベルの埋め込み処理としては、最も解像度レベルの高い前記低解像度レベルの埋め込み処理によって得られたオリジナル解像度画像における修復領域の辺縁上の各画素に対して埋め込み優先度を求め、
該埋め込み優先度が高い画素から順に、前記所定の大きさの埋め込み用パッチを配置する前記a)工程から前記埋め込み元画像領域を取得するd)工程までの処理と、前記埋め込み用パッチ内の画像を前記埋め込み元画像領域内の画像に置き換える処理とを行うことを特徴とする画像処理方法。 - 前記低解像度画像における前記修復領域の辺縁上の各画素に対して埋め込み優先度を求めるのに際し、大きさが前記埋め込み用パッチの大きさ以上である優先度算出用パッチを、夫々の中心点が前記各画素に夫々位置するように配置し、
各前記優先度算出用パッチ内の前記既知領域の画像において、該既知領域側の前記優先度算出用パッチの輪郭線上から前記辺縁まで延びる境界線の検出を行い、
前記境界線が検出された前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素が、前記境界線が検出されなかった前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素より高い埋め込み優先度を設定することを特徴とする請求項1記載の画像処理方法。 - 画素値が既知の既知領域と、画素値が未知の修復領域とからなる原画像に対して埋め込み処理を行って修復済み画像を得る画像処理装置であって、
低解像度レベル埋め込み手段と、オリジナル解像度埋め込み手段とを備え、
前記低解像度レベル埋め込み手段が、解像度レベルの低い順からの複数の異なる低解像度レベルの埋め込み処理を行うものであり、
最も解像度レベルの低い前記低解像度レベルの埋め込み処理としては、前記原画像から該低解像度レベルに対応する解像度を有する低解像度画像を作成し、
該低解像度画像における前記修復領域の辺縁上の各画素に対して埋め込み優先度を求め、
前記埋め込み優先度が所定の閾値以上の画素に対して前記埋め込み優先度が高い画素から順に、
a)該画素に中心点が位置するように所定の大きさの埋め込み用パッチを配置し、
b)該埋め込み用パッチにおける前記既知領域をマッチング領域として前記埋め込み用パッチに対して設定して埋め込み元画像領域取得用パッチを得、
c)該埋め込み元画像領域取得用パッチを、前記埋め込み用パッチの近傍の前記既知領域上を移動させながら、移動された各位置において、前記埋め込み元画像領域取得用パッチ内の前記マッチング領域の画像と前記埋め込み用パッチ内の前記既知領域の画像との相似度を求め、
d)前記相似度が最も高い位置の前記埋め込み元画像領域取得用パッチ内の領域を埋め込み元画像領域として取得し、
e)前記画素と対応する原画像における画素の位置を取得すると共に、前記埋め込み元画像領域と対応する原画像における領域の画像を埋め込み元画像として取得し、
f)原画像において、取得された前記画素の位置を中心とした、前記埋め込み元画像と同じ大きさを有する領域の画像を前記埋め込み元画像に置き換える処理を行って原画像と同じ解像度を有するオリジナル解像度画像を得るものであり、
他の前記低解像度レベルの埋め込み処理としては、前回の低解像度レベルの埋め込み処理により得られた前記オリジナル解像度画像から、今回の低解像度レベルの埋め込み処理の該低解像度レベルに対応する解像度の低解像度画像を作成し、該低解像度画像を用いて、前記埋め込み優先度を求める工程から前記埋め込み元画像領域を取得するd)工程までの処理を行うと共に、
前記オリジナル解像度画像において、前記e)工程からf)工程までの処理を行って、該オリジナル解像度画像と異なるオリジナル解像度画像を得、
前記オリジナル解像度埋め込み手段が、前記低解像度レベル埋め込み手段により、最も解像度レベルの高い前記低解像度レベルの埋め込み処理を行って得られたオリジナル解像度画像における修復領域の辺縁上の各画素に対して埋め込み優先度を求め、
該埋め込み優先度が高い画素から順に、前記所定の大きさの埋め込み用パッチを配置する前記a)工程から前記埋め込み元画像領域を取得する前記d)工程までの処理と、前記埋め込み用パッチ内の画像を前記埋め込み元画像領域内の画像に置き換える処理とを行うものであることを特徴とする画像処理装置。 - 前記低解像度レベル埋め込み手段が、前記低解像度画像における前記修復領域の辺縁上の各画素に対して埋め込み優先度を求めるのに際し、大きさが前記埋め込み用パッチの大きさ以上である優先度算出用パッチを、夫々の中心点が前記各画素に夫々位置するように配置し、
各前記優先度算出用パッチ内の前記既知領域の画像において、該既知領域側の前記優先度算出用パッチの輪郭線上から前記辺縁まで延びる境界線の検出を行い、
前記境界線が検出された前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素が、前記境界線が検出されなかった前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素より高い埋め込み優先度を設定することを特徴とする請求項3記載の画像処理装置。 - 画素値が既知の既知領域と、画素値が未知の修復領域とからなる原画像に対して埋め込み処理を行って修復済み画像を得る処理をコンピュータに実行させるプログラムであって、
前記埋め込み処理が、解像度レベルの低い順からの複数の異なる低解像度レベルの埋め込み処理と、オリジナル解像度レベルの埋め込み処理とからなり、
最も解像度レベルの低い前記低解像度レベルの埋め込み処理が、前記原画像から該低解像度レベルに対応する解像度を有する低解像度画像を作成し、
該低解像度画像における前記修復領域の辺縁上の各画素に対して埋め込み優先度を求め、
前記埋め込み優先度が所定の閾値以上の画素に対して前記埋め込み優先度が高い画素から順に、
a)該画素に中心点が位置するように所定の大きさの埋め込み用パッチを配置し、
b)該埋め込み用パッチにおける前記既知領域をマッチング領域として前記埋め込み用パッチに対して設定して埋め込み元画像領域取得用パッチを得、
c)該埋め込み元画像領域取得用パッチを、前記埋め込み用パッチの近傍の前記既知領域上を移動させながら、移動された各位置において、前記埋め込み元画像領域取得用パッチ内の前記マッチング領域の画像と前記埋め込み用パッチ内の前記既知領域の画像との相似度を求め、
d)前記相似度が最も高い位置の前記埋め込み元画像領域取得用パッチ内の領域を埋め込み元画像領域として取得し、
e)前記画素と対応する原画像における画素の位置を取得すると共に、前記埋め込み元画像領域と対応する原画像における領域の画像を埋め込み元画像として取得し、
f)原画像において、取得された前記画素の位置を中心とした、前記埋め込み元画像と同じ大きさを有する領域の画像を前記埋め込み元画像に置き換える処理を行って原画像と同じ解像度を有するオリジナル解像度画像を得る処理であり、
他の前記低解像度レベルの埋め込み処理が、前回の低解像度レベルの埋め込み処理により得られた前記オリジナル解像度画像から、今回の低解像度レベルの埋め込み処理の該低解像度レベルに対応する解像度の低解像度画像を作成し、該低解像度画像を用いて、前記埋め込み優先度を求める工程から前記埋め込み元画像領域を取得する前記d)工程までの処理を行うと共に、
前記オリジナル解像度画像において、前記e)工程からf)工程までの処理を行って、該オリジナル解像度画像と異なるオリジナル解像度画像を得る処理であって、
前記オリジナル解像度レベルの埋め込み処理が、最も解像度レベルの高い前記低解像度レベルの埋め込み処理によって得られたオリジナル解像度画像における修復領域の辺縁上の各画素に対して埋め込み優先度を求め、
該埋め込み優先度が高い画素から順に、前記所定の大きさの埋め込み用パッチを配置する前記a)工程から前記埋め込み元画像領域を取得するd)工程までの処理と、前記埋め込み用パッチ内の画像を前記埋め込み元画像領域内の画像に置き換える処理とを行う処理であることを特徴とするプログラム。 - 前記低解像度画像における前記修復領域の辺縁上の各画素に対して埋め込み優先度を求める処理が、大きさが前記埋め込み用パッチの大きさ以上である優先度算出用パッチを、夫々の中心点が前記各画素に夫々位置するように配置し、
各前記優先度算出用パッチ内の前記既知領域の画像において、該既知領域側の前記優先度算出用パッチの輪郭線上から前記辺縁まで延びる境界線の検出を行い、
前記境界線が検出された前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素が、前記境界線が検出されなかった前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素より高い埋め込み優先度を設定する処理であることを特徴とする請求項5記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005094570A JP2006279443A (ja) | 2005-03-29 | 2005-03-29 | 画像処理方法および装置並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005094570A JP2006279443A (ja) | 2005-03-29 | 2005-03-29 | 画像処理方法および装置並びにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006279443A true JP2006279443A (ja) | 2006-10-12 |
Family
ID=37213731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005094570A Withdrawn JP2006279443A (ja) | 2005-03-29 | 2005-03-29 | 画像処理方法および装置並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006279443A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9230309B2 (en) | 2013-04-05 | 2016-01-05 | Panasonic Intellectual Property Management Co., Ltd. | Image processing apparatus and image processing method with image inpainting |
US9495757B2 (en) | 2013-03-27 | 2016-11-15 | Panasonic Intellectual Property Management Co., Ltd. | Image processing apparatus and image processing method |
US9530216B2 (en) | 2013-03-27 | 2016-12-27 | Panasonic Intellectual Property Management Co., Ltd. | Image processing apparatus and image processing method |
-
2005
- 2005-03-29 JP JP2005094570A patent/JP2006279443A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9495757B2 (en) | 2013-03-27 | 2016-11-15 | Panasonic Intellectual Property Management Co., Ltd. | Image processing apparatus and image processing method |
US9530216B2 (en) | 2013-03-27 | 2016-12-27 | Panasonic Intellectual Property Management Co., Ltd. | Image processing apparatus and image processing method |
US9230309B2 (en) | 2013-04-05 | 2016-01-05 | Panasonic Intellectual Property Management Co., Ltd. | Image processing apparatus and image processing method with image inpainting |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5566811B2 (ja) | プリントアンドスキャン文書の画像評価のためのボケ除去および監視適応的スレッショルディング | |
JP6422250B2 (ja) | 画像処理方法、画像処理装置、プログラム及び記録媒体 | |
JP5387193B2 (ja) | 画像処理システム、画像処理装置およびプログラム | |
JP2006279442A (ja) | 画像処理方法および装置並びにプログラム | |
JP2016018422A (ja) | 画像処理方法、画像処理装置、プログラム、記録媒体、生産装置、及び組立部品の製造方法 | |
WO2014129018A1 (ja) | 文字認識装置、文字認識方法及び記録媒体 | |
EP2782065B1 (en) | Image-processing device removing encircling lines for identifying sub-regions of image | |
Arvanitis et al. | Saliency mapping for processing 3D meshes in industrial modeling applications | |
JP5541679B2 (ja) | 画像処理装置及び方法、並びに、プログラム | |
CN111260675A (zh) | 一种图像真实边界高精度提取方法及系统 | |
JP6771134B2 (ja) | 画像補正方法及び画像補正装置 | |
JP5600524B2 (ja) | 画像処理装置、画像処理方法、プログラム、および記憶媒体 | |
JP2006279443A (ja) | 画像処理方法および装置並びにプログラム | |
JP2003216959A (ja) | 輪郭抽出方法及びその装置及びそのプログラム | |
JP6846232B2 (ja) | 印刷データ処理方法、印刷データ処理装置、および印刷データ処理プログラム | |
JP4873554B2 (ja) | 画像配信装置および画像配信方法 | |
JP4315349B2 (ja) | 画像処理方法および装置並びにプログラム | |
JP7001265B2 (ja) | 映像修復システム、映像修復方法及びプログラム | |
JP5761353B2 (ja) | 隆線方向抽出装置、隆線方向抽出方法、隆線方向抽出プログラム | |
JP4910635B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP4803001B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP2008225654A (ja) | 画像処理方法、画像処理装置、及び、プログラム、プログラム記憶媒体 | |
JP6938935B2 (ja) | 画像比較装置、画像比較方法及び画像比較プログラム | |
JP2002300404A (ja) | 画像処理方法及び画像処理装置 | |
JP2010020463A (ja) | 線画処理装置、線画処理方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20061208 |
|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080603 |