(57)【要約】【課題】コンプリーション処理の精度低下を抑止すること。【解決手段】欠損領域の除去対象の原画像と欠損領域を示すマスク情報とに基づいて原画像から欠損領域の画像を除去することによって第１画像を生成する画像生成装置における画像生成方法であって、原画像において欠損領域を含む領域と、領域に類似した類似領域との平均誤差が閾値以上である場合に欠損領域を拡大する欠損領域変更制御ステップと、原画像における拡大された欠損領域に対するコンプリーション処理を行うことによって第１画像を生成するコンプリーション処理ステップと、を有する画像生成方法。【選択図】図１
2016099781.tif 000002
【特許請求の範囲】
【請求項１】
欠損領域の除去対象の原画像と前記欠損領域を示すマスク情報とに基づいて前記原画像から前記欠損領域の画像を除去することによって第１画像を生成する画像生成装置における画像生成方法であって、
前記原画像において前記欠損領域を含む領域と、前記領域に類似した類似領域との平均誤差が閾値以上である場合に前記欠損領域を拡大する欠損領域変更制御ステップと、
前記原画像における拡大された前記欠損領域に対するコンプリーション処理を行うことによって前記第１画像を生成するコンプリーション処理ステップと、
を有する画像生成方法。
【請求項２】
前記欠損領域を拡大する際に前記欠損領域に含めない領域を表す保持領域を取得する保持領域取得ステップをさらに有し、
前記欠損領域変更制御ステップにおいて、前記欠損領域の拡大範囲に前記保持領域が含まれている場合には前記欠損領域を拡大せず、前記欠損領域の拡大範囲に前記保持領域が含まれていない場合には前記欠損領域を前記拡大範囲に基づいて拡大する、請求項１に記載の画像生成方法。
【請求項３】
前記欠損領域変更制御ステップにおいて、拡大された前記欠損領域を複数生成し、
前記コンプリーション処理ステップにおいて、前記原画像における前記欠損領域それぞれに対してコンプリーション処理を実行することによって前記第１画像を複数生成し、
生成された複数の前記第１画像を出力装置に出力する複数結果出力ステップをさらに有する、請求項１又は２に記載の画像生成方法。
【請求項４】
欠損領域の除去対象の原画像と前記欠損領域を示すマスク情報とに基づいて前記原画像から前記欠損領域の画像を除去することによって第１画像を生成する画像生成装置であって、
前記原画像において前記欠損領域を含む領域と、前記領域に類似した類似領域との平均誤差が閾値以上である場合に前記欠損領域を拡大する欠損領域変更制御部と、
前記原画像における拡大された前記欠損領域に対するコンプリーション処理を行うことによって前記第１画像を生成するコンプリーション処理部と、
を備える画像生成装置。
【請求項５】
請求項１〜３のいずれか一項に記載の画像生成方法をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像生成方法、画像生成装置及びコンピュータプログラムに関する。
【背景技術】
【０００２】
写真などの静止画像や映像などの動画像を撮影する際に、撮影したい被写体に被さって不要なものを撮影してしまうことがある。被写体に被さった不要なものが撮影された静止画像や動画像は視聴の体感品質を大きく損なってしまうおそれがあり、静止画像や動画像に含まれる不要なものを見た目に違和感なく除去する手法に対する需要は極めて高い。
【０００３】
また、自由視点映像合成と呼ばれる技術では、複数のカメラで撮影された映像群から任意の視点からの画像を合成する。このとき、オブジェクトによる遮蔽などが原因で、合成された任意の視点からの映像の一部が欠損してしまうことがある。このような欠損も画像の視聴の体感品質を大きく損なうおそれがあるため、欠損を見た目に違和感なく補完する手法に対する需要は高い。
【０００４】
以下、静止画像や動画像における、不要なものの映り込みを除去したい領域及び遮蔽などで観測されていない領域などの補完したい領域を欠損領域という。また、欠損領域がマスクで与えられた画像を入力して、入力した画像において欠損領域が欠損領域以外の領域との見た目に違和感なく補完された画像を取得する処理をコンプリーション（Completion）処理という。
【０００５】
欠損領域の位置や大きさを示すマスクは、静止画像や動画像に拘わらず手動又は公知の技術によって与えられるものとする。マスクを取得する公知の技術としては、例えば非特許文献１に記載の技術がある。なお、マスクとは、画像処理の対象となる画像において、当該画像処理を行う領域であるか否かを示す情報である。
【０００６】
図１７は、欠損領域を表すマスクの例を示す図である。図１７（Ａ）は、マスクを二値の画像で与える一例である。図１７（Ａ）に示すマスクは、画像処理を施す対象の画像とは別に与えられる。このマスクは、領域９１ａで示す領域に対して画像処理を行うことを示し、領域９１ｂで示す領域に対して画像処理を行わないことを示している。図１７（Ｂ）は、画像処理を施す対象の画像にマスクを重畳した画像でマスクを与える一例である。図１７（Ｂ）に示すマスクは、領域９２で示す領域に対して画像処理を行うことを示し、他の領域に対して画像処理を行わないことを示している。図１７（Ｂ）のようにマスクを与える場合には、領域９２は、他の領域との区別が容易な色やパターンなどで与えられる。
【０００７】
コンプリーション手法の一つにパッチベースの手法がある。パッチベースのコンプリーションは以下の手順によって行うことができる。
（手順１）画像内から欠損領域と、欠損領域以外の領域（以下、「欠損周辺領域」という。）とを共に含む小領域（パッチ）を選択する。この方法としては、欠損領域の輪郭上に存在し、周辺のエッジの強いパッチから選定する方法などが挙げられる。
（手順２）手順１で選択されたパッチの欠損周辺領域以外の画素を基に、類似パッチを探索する。探索範囲としては、同一画像又は動画像内やストレージ上に保存されている静止画像や動画像等が挙げられる。以下の説明では、同一画像又は動画像内やストレージ上に保存されている静止画像や動画像を参照画像として説明する。
（手順３）手順２で探索した類似パッチを、手順１で選択されたパッチにコピーする。
以上の手順１〜３を処理が行なわれていない欠損領域が無くなるまで実行される。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Xue Bai, Jue Wang, David Simons and Guillermo Sapiro, "Video SnapCut: Robust Video Object Cutout Using Localized Classifiers", ACM Transactions on Graphics(TOG)-Proceedings of ACM SIGGRAPH 2009, Volume 28, Issue 3, August 2009, Article No.70
【発明の概要】
【発明が解決しようとする課題】
【０００９】
パッチベースのコンプリーション処理は、コンプリーション対象のパッチと類似したパッチが参照画像に含まれることが前提となっている。しかしながら、参照画像が少ない場合や複雑な構造を有するオブジェクトが欠損領域周辺に含まれる場合にはコンプリーション処理の精度が低下してしまうという問題があった。
【００１０】
上記事情に鑑み、本発明は、コンプリーション処理の精度低下を抑止する技術の提供を目的としている。
【課題を解決するための手段】
【００１１】
本発明の一態様は、欠損領域の除去対象の原画像と前記欠損領域を示すマスク情報とに基づいて前記原画像から前記欠損領域の画像を除去することによって第１画像を生成する画像生成装置における画像生成方法であって、前記原画像において前記欠損領域を含む領域と、前記領域に類似した類似領域との平均誤差が閾値以上である場合に前記欠損領域を拡大する欠損領域変更制御ステップと、前記原画像における拡大された前記欠損領域に対するコンプリーション処理を行うことによって前記第１画像を生成するコンプリーション処理ステップと、を有する画像生成方法である。
【００１２】
本発明の一態様は、上記の画像生成方法であって、前記欠損領域を拡大する際に前記欠損領域に含めない領域を表す保持領域を取得する保持領域取得ステップをさらに有し、
前記欠損領域変更制御ステップにおいて、前記欠損領域の拡大範囲に前記保持領域が含まれている場合には前記欠損領域を拡大せず、前記欠損領域の拡大範囲に前記保持領域が含まれていない場合には前記欠損領域を前記拡大範囲に基づいて拡大する。
【００１３】
本発明の一態様は、上記の画像生成方法であって、前記欠損領域変更制御ステップにおいて、拡大された前記欠損領域を複数生成し、前記コンプリーション処理ステップにおいて、前記原画像における前記欠損領域それぞれに対してコンプリーション処理を実行することによって前記第１画像を複数生成し、生成された複数の前記第１画像を出力装置に出力する複数結果出力ステップをさらに有する。
【００１４】
本発明の一態様は、欠損領域の除去対象の原画像と前記欠損領域を示すマスク情報とに基づいて前記原画像から前記欠損領域の画像を除去することによって第１画像を生成する画像生成装置であって、前記原画像において前記欠損領域を含む領域と、前記領域に類似した類似領域との平均誤差が閾値以上である場合に前記欠損領域を拡大する欠損領域変更制御部と、前記原画像における拡大された前記欠損領域に対するコンプリーション処理を行うことによって前記第１画像を生成するコンプリーション処理部と、を備える画像生成装置である。
【００１５】
本発明の一態様は、上記の画像生成方法をコンピュータに実行させるためのコンピュータプログラムである。
【発明の効果】
【００１６】
本発明により、コンプリーション処理の精度低下を抑止することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】第１実施形態における画像生成装置１０の構成例を示すブロック図である。
【図２】画像生成装置１０が入力する原画像とマスク情報との一例を示す図である。
【図３】画像生成装置１０が第１の変更制御方法を行う場合の処理の流れを示すフローチャートである。
【図４】セグメント画像の具体例を示す図である。
【図５】画像生成装置１０が第２の変更制御方法を行う場合の処理の流れを示すフローチャートである。
【図６】画像生成装置１０が第３の変更制御方法を行う場合の処理の流れを示すフローチャートである。
【図７】画像生成装置１０が第４の変更制御方法を行う場合の処理の流れを示すフローチャートである。
【図８】本発明を適用した場合の具体例を示す図である。
【図９】本発明を適用した場合の具体例を示す図である。
【図１０】本発明を適用した場合の具体例を示す図である。
【図１１】第２実施形態における画像生成装置１０ａの構成例を示すブロック図である。
【図１２】画像生成装置１０ａが第１の変更制御方法を行う場合の処理の流れを示すフローチャートである。
【図１３】画像生成装置１０ａが第３の変更制御方法を行う場合の処理の流れを示すフローチャートである。
【図１４】画像生成装置１０ａが第４の変更制御方法を行う場合の処理の流れを示すフローチャートである。
【図１５】第３実施形態における画像生成装置１０ｂの構成例を示すブロック図である。
【図１６】第３実施形態における画像生成装置１０ｂの処理を説明するための概念図である。
【図１７】欠損領域を表すマスクの例を示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明の一実施形態を、図面を参照しながら説明する。
画像生成装置は、入力される静止画像又は動画像において指定される欠損領域における画像を補完することにより、欠損領域を除去した静止画像又は動画像を生成する装置である。以下、静止画像と動画像とを区別しない場合に静止画像と動画像とを画像という。なお、動画像は、複数の連続した静止画像（フレーム）の集合である。
以下、画像生成装置１０の具体的な構成例（第１実施形態〜第３実施形態）について説明する。
【００１９】
［第１実施形態］
図１は、第１実施形態における画像生成装置１０の構成例を示すブロック図である。
図１に示すように、画像生成装置１０は、画像取得部１０１、欠損領域変更制御部１０２、コンプリーション処理部１０３及び参照画像記憶部１０４を備える。
画像生成装置１０は、欠損領域の画像を補完するコンプリーション処理の対象とする静止画像又は動画像である原画像と、欠損領域を示すマスク情報とを外部から入力する。画像生成装置１０は、マスク情報が示す欠損領域に対して変更制御を行うことによってコンプリーション領域を生成する。変更制御とは、欠損領域を拡大するか否かの判定を行う制御である。コンプリーション領域とは、変更制御がなされた欠損領域であり、例えばコンプリーション処理が施される対象となる領域である。なお、コンプリーション領域は、変更制御がなされ欠損領域が拡大された領域、もしくは変更制御がなされ欠損領域が拡大されなかった領域（欠損領域が変更されなかった領域）のいずれかの領域である。画像生成装置１０は、原画像とコンプリーション領域とに基づいて原画像から変更制御がなされた欠損領域の画像を除去することによって変更制御がなされた欠損領域が除去された画像（第１画像）を生成する。図２は、画像生成装置１０が入力する原画像とマスク情報との一例を示す図である。画像生成装置１０は、図２（Ａ）及び（Ｂ）に示すように、原画像とマスク情報とを個別に入力する。或いは画像生成装置１０は、図２（Ｃ）に示すように、原画像に対してマスクが重畳された画像を入力する。
【００２０】
画像取得部１０１は、コンプリーション処理を施す対象の原画像と、欠損領域を示すマスク情報とを外部から取得する。マスク情報は、原画像と同じサイズを有する画像であり、欠損領域の画素値が１、欠損領域以外の領域の画素値が０で表される（図２（Ｂ）参照）。ただし、マスク情報における画素値は、欠損領域と欠損領域以外の領域とが区別できれば上述の値以外の値であってもよい。
なお、図２（Ｃ）に示したように原画像にマスクが重畳された画像が入力された場合には、画像取得部１０１は、入力された画像においてマスクが示す欠損領域と欠損領域以外の領域とを二値で表したマスク情報を生成する。
【００２１】
欠損領域変更制御部１０２は、画像取得部１０１によって取得された原画像及びマスク情報に基づいて欠損領域の変更制御を行う。欠損領域の変更制御の具体的な説明は、後述する。
コンプリーション処理部１０３は、原画像において、コンプリーション領域に対してコンプリーション処理を行うことによって変更制御がなされた欠損領域が除去された画像を生成する。静止画像及び動画像に対するコンプリーション処理に関する研究は多数行われており、コンプリーション処理部１０３は、公知の技術を用いて原画像に対してコンプリーション処理を行う。
【００２２】
参照画像記憶部１０４は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。参照画像記憶部１０４は、類似パッチの探索候補として使用される静止画像や動画像等の参照画像を記憶している。
【００２３】
以下、欠損領域変更制御部１０２が行う欠損領域の変更制御方法について、画像生成装置１０全体の処理を含めて複数説明する。
［第１の変更制御方法］
図３は、画像生成装置１０が第１の変更制御方法を行う場合の処理の流れを示すフローチャートである。画像生成装置１０は、第１の変更制御方法としてセグメンテーションを利用して処理を行う。
【００２４】
画像取得部１０１は、外部から画像（原画像）及びマスク情報を取得する（ステップＳ１０１）。画像取得部１０１は、取得した画像及びマスク情報を欠損領域変更制御部１０２に出力する。欠損領域変更制御部１０２は、取得した原画像に対してセグメンテーションを行うことによって、同一セグメントに属する画素が同一の値でラベル付けされた画像（以下、「セグメント画像」という。）を生成する（ステップＳ１０２）。セグメンテーションとは、画像を特徴の共通する部分領域に分割することである。セグメンテーションを行う手法は多く提案されており、例えば参考文献１に記載の技術を用いることができる。
［参考文献１］Carsten Rother, Vladimir Kolmogorov, and Andrew Blake, “GrabCut - Interactive Foreground Extraction using Iterated Graph Cuts”, ACM Trans. Graph., vol. 23, pp. 309-314, 2004.
【００２５】
欠損領域変更制御部１０２によって生成されたセグメント画像の具体例を図４に示す。図４は、セグメント画像の具体例を示す図である。
図４に示されるように、セグメント画像の各画素には複数の値（０〜４）のいずれかの値がラベル付けされている。同じ値（例えば、１）がラベル付けされている各画素は、同一セグメントに属する画素を表す。つまり、図４に示されるセグメント画像は、５つのセグメントに分割されている。
【００２６】
次に、欠損領域変更制御部１０２は、取得したマスク情報で示される欠損領域を初期領域に設定する（ステップＳ１０３）。その後、欠損領域変更制御部１０２は、原画像から、欠損領域と欠損周辺領域とを共に含むパッチ（以下、「コンプリーション対象パッチ」という。）を決定する（ステップＳ１０４）。欠損領域変更制御部１０２は、決定されたコンプリーション対象パッチの欠損周辺領域の画素を基に、同一画像又は参照画像記憶部１０４に記憶されている参照画像からコンプリーション対象パッチに最も類似したパッチ（類似パッチ）を探索する（ステップＳ１０５）。
【００２７】
欠損領域変更制御部１０２は、探索した類似パッチと、コンプリーション対象パッチの欠損周辺領域との平均誤差を算出する。欠損領域変更制御部１０２は、算出した平均誤差が閾値以上であるか否か判定する（ステップＳ１０６）。欠損領域変更制御部１０２は、平均誤差が閾値以上であると判定した場合（ステップＳ１０６−ＹＥＳ）、現時点における欠損領域が予め設定された領域の上限値よりも小さいか否か判定する（ステップＳ１０７）。
【００２８】
欠損領域変更制御部１０２は、現時点における欠損領域が予め設定された領域の上限値よりも小さいと判定した場合（ステップＳ１０７−ＹＥＳ）、欠損領域の変更制御を行う（ステップＳ１０８）。具体的には、欠損領域変更制御部１０２は、欠損領域の隣接セグメントを新たに欠損領域に加えて欠損領域の領域を拡大することによってコンプリーション領域を生成する。この際、欠損領域変更制御部１０２は、ステップＳ１０６の処理で使用される閾値を更新してもよい。これは、欠損領域を可能な限りまで広げても平均誤差が閾値よりも小さくならず、類似パッチが得られない状況になることを防ぐためである。その後、欠損領域変更制御部１０２は、ステップＳ１０４以降の処理を実行する。
【００２９】
また、欠損領域変更制御部１０２は、ステップＳ１０６の処理において平均誤差が閾値未満であると判定した場合（ステップＳ１０６−ＮＯ）、又は、ステップＳ１０７の処理において現時点における欠損領域が予め設定された領域の上限値以上であると判定した場合（ステップＳ１０７−ＮＯ）、現時点の欠損領域の情報、原画像及び当該欠損領域で探索された類似パッチをコンプリーション処理部１０３に出力する。現時点の欠損領域の情報とは、変更制御がなされた欠損領域の情報を表す。
コンプリーション処理部１０３は、出力された情報に基づいて原画像に対してコンプリーション処理を行う（ステップＳ１０９）。
【００３０】
コンプリーション処理部１０３は、コンプリーション領域全てにコンプリーション処理を行ったか否か判定する（ステップＳ１１０）。コンプリーション領域全てにコンプリーション処理を行った場合（ステップＳ１１０−ＹＥＳ）、画像生成装置１０は処理を終了する。
一方、コンプリーション領域全てにコンプリーション処理を行っていない場合（ステップＳ１１０−ＮＯ）、画像生成装置１０はステップＳ１０４以降の処理を実行する。
【００３１】
［第２の変更制御方法］
図５は、画像生成装置１０が第２の変更制御方法を行う場合の処理の流れを示すフローチャートである。画像生成装置１０は、第２の変更制御方法として画素単位で処理を行う。
画像取得部１０１は、外部から画像（原画像）及びマスク情報を取得する（ステップＳ２０１）。画像取得部１０１は、取得した画像及びマスク情報を欠損領域変更制御部１０２に出力する。欠損領域変更制御部１０２は、取得したマスク情報で示される欠損領域を初期領域に設定する（ステップＳ２０２）。その後、欠損領域変更制御部１０２は、原画像からコンプリーション対象パッチを決定する（ステップＳ２０３）。欠損領域変更制御部１０２は、決定されたコンプリーション対象パッチの欠損周辺領域の画素を基に、同一画像又は参照画像記憶部１０４に記憶されている参照画像からコンプリーション対象パッチに最も類似したパッチ（類似パッチ）を探索する（ステップＳ２０４）。
【００３２】
欠損領域変更制御部１０２は、探索した類似パッチと、コンプリーション対象パッチの欠損周辺領域との平均誤差を算出する。欠損領域変更制御部１０２は、算出した平均誤差が閾値以上であるか否か判定する（ステップＳ２０５）。欠損領域変更制御部１０２は、平均誤差が閾値以上であると判定した場合（ステップＳ２０５−ＹＥＳ）、現時点における欠損領域が予め設定された領域の上限値よりも小さいか否か判定する（ステップＳ２０６）。欠損領域変更制御部１０２は、現時点における欠損領域が予め設定された領域の上限値よりも小さいと判定した場合（ステップＳ２０６−ＹＥＳ）、欠損領域の変更制御を行う（ステップＳ２０７）。
【００３３】
具体的には、欠損領域変更制御部１０２は、類似パッチとコンプリーション対象パッチとの平均誤差が閾値以下、又は、最小となる画素を新たにコンプリーション領域として設定する。具体的には、欠損領域変更制御部１０２は、類似パッチとコンプリーション対象パッチとの平均誤差が閾値以下、又は、最小となる画素を新たに欠損領域に含めることによってコンプリーション領域を生成する。ここで、平均誤差が閾値以下、又は、最小となる画素を新たにコンプリーション領域を設定する方法としては、周辺画素を欠損領域に含めるか否かの全探索を行う方法や、確率伝搬法（Belief Propagation）により平均誤差が最小となる画素を求める方法などが挙げられる。その後、欠損領域変更制御部１０２は、ステップＳ２０３以降の処理を実行する。
【００３４】
また、欠損領域変更制御部１０２は、ステップＳ２０５の処理において平均誤差が閾値未満であると判定した場合（ステップＳ２０５−ＮＯ）、又は、ステップＳ２０６の処理において現時点における欠損領域が予め設定された領域の上限値以上であると判定した場合（ステップＳ２０６−ＮＯ）、現時点の欠損領域の情報、原画像及び当該欠損領域で探索された類似パッチをコンプリーション処理部１０３に出力する。
コンプリーション処理部１０３は、出力された情報に基づいて原画像に対してコンプリーション処理を行う（ステップＳ２０８）。
【００３５】
コンプリーション処理部１０３は、コンプリーション領域全てにコンプリーション処理を行ったか否か判定する（ステップＳ２０９）。コンプリーション領域全てにコンプリーション処理を行った場合（ステップＳ２０９−ＹＥＳ）、画像生成装置１０は処理を終了する。
一方、コンプリーション領域全てにコンプリーション処理を行っていない場合（ステップＳ２０９−ＮＯ）、画像生成装置１０はステップＳ２０３以降の処理を実行する。
【００３６】
［第３の変更制御方法］
図６は、画像生成装置１０が第３の変更制御方法を行う場合の処理の流れを示すフローチャートである。画像生成装置１０は、第３の変更制御方法として画素ごとに欠損領域に含めるか否かを決定して処理を行う。なお、図５と同様の処理については、図６において図５と同様の符号を付して説明を省略する。また、図６の説明では、ステップＳ２０５の処理で算出される平均誤差を第１の誤差として説明する。
【００３７】
ステップＳ２０６の処理において、欠損領域変更制御部１０２は、現時点における欠損領域が予め設定された領域の上限値よりも小さいと判定した場合（ステップＳ２０６−ＹＥＳ）、欠損領域の近傍に存在し、かつ、欠損周辺領域に含まれる１画素を選択する（ステップＳ３０１）。なお、１画素を選択する方法はどのような方法であってもよい。例えば、欠損領域変更制御部１０２は、欠損領域と隣接した画素のうち最も欠損領域の平均色が類似している画素を選択する方法してもよいし、ランダムに選択してもよい。ただし、欠損領域の近傍とは、欠損領域から予め定めた一定距離以内を表す。また、ステップＳ３０１の処理において、欠損領域変更制御部１０２は、ステップＳ２０５の処理で使用される閾値を更新してもよい。
【００３８】
欠損領域変更制御部１０２は、ステップＳ３０１の処理で選択した画素を欠損領域に含めた状態で、ステップＳ２０４の処理で探索した類似パッチと、コンプリーション対象パッチの欠損周辺領域との平均誤差を算出する（ステップＳ３０２）。この処理で算出された平均誤差を第２の誤差とする。欠損領域変更制御部１０２は、第２の誤差が第１の誤差より小さいか否か判定する（ステップＳ３０３）。欠損領域変更制御部１０２は、第２の誤差が第１の誤差より小さいと判定した場合（ステップＳ３０３−ＹＥＳ）、ステップＳ３０１の処理で選択した画素を欠損領域に加えて欠損領域の領域を拡大することによってコンプリーション領域を生成する（ステップＳ３０４）。
一方、欠損領域変更制御部１０２は、第２の誤差が第１の誤差より小さくないと判定した場合（ステップＳ３０３−ＮＯ）、ステップＳ３０１の処理で選択した画素を欠損領域に加えず、ステップＳ２０３以降の処理を実行する。すなわち、欠損領域変更制御部１０２は、現時点の欠損領域を変更しない（ステップＳ３０５）。この場合、欠損領域変更制御部１０２は、現時点の欠損領域をコンプリーション領域に設定する。
【００３９】
［第４の変更制御方法］
図７は、画像生成装置１０が第４の変更制御方法を行う場合の処理の流れを示すフローチャートである。画像生成装置１０は、第４の変更制御方法としてセグメンテーションを活用しつつ、画素ごとに欠損領域に含めるか否かを決定して処理を行う。なお、図３と同様の処理については、図７において図３と同様の符号を付して説明を省略する。また、図７の説明では、ステップＳ１０６の処理で算出される平均誤差を第１の誤差として説明する。
【００４０】
欠損領域変更制御部１０２は、ステップＳ１０７の処理において、現時点における欠損領域が予め設定された領域の上限値よりも小さいと判定した場合（ステップＳ１０７−ＹＥＳ）、欠損領域の近傍に存在し、かつ、欠損周辺領域に含まれる１画素を選択する（ステップＳ４０１）。この際、欠損領域変更制御部１０２は、以前選択された画素と同一セグメント（同一のラベル値をもつ）の中から１画素を選択する。具体的には、欠損領域変更制御部１０２は、以前にステップＳ４０１の処理で選択した１画素のラベル値を記憶している場合、当該ラベル値を持つセグメントの中から１画素を選択する。同一ラベル値の画素が存在しない場合、又は、以前にステップＳ４０１の処理を行っていない場合（初期処理の場合）には欠損領域変更制御部１０２は、ランダムに１画素を選択する。
【００４１】
欠損領域変更制御部１０２は、ステップＳ４０１の処理で選択した画素を欠損領域に含めた状態で、ステップＳ１０５の処理で探索した類似パッチと、コンプリーション対象パッチの欠損周辺領域との平均誤差を算出する（ステップＳ４０２）。この処理で算出された平均誤差を第２の誤差とする。欠損領域変更制御部１０２は、第２の誤差が第１の誤差より小さいか否か判定する（ステップＳ４０３）。欠損領域変更制御部１０２は、第２の誤差が第１の誤差より小さいと判定した場合（ステップＳ４０３−ＹＥＳ）、ステップＳ４０１の処理で選択した画素を欠損領域に加えて欠損領域の領域を拡大することによってコンプリーション領域を生成する（ステップＳ４０４）。その後、欠損領域変更制御部１０２は、新たに加えた画素のラベル値を記憶する（ステップＳ４０５）。
一方、欠損領域変更制御部１０２は、第２の誤差が第１の誤差より小さくないと判定した場合（ステップＳ４０３−ＮＯ）、ステップＳ４０１の処理で選択した画素を欠損領域に加えず、ステップＳ１０４以降の処理を実行する。すなわち、欠損領域変更制御部１０２は、現時点の欠損領域を変更しない（ステップＳ４０６）。
【００４２】
上述したように、欠損領域変更制御部１０２は、欠損領域の複数の変更制御方法のいずれかを用いて欠損領域の変更制御を行う。そして、コンプリーション処理部１０３は、変更制御がなされた欠損領域（コンプリーション領域）全てに対してコンプリーション処理を行う。
【００４３】
以上のように構成された画像生成装置１０によれば、コンプリーション処理の精度低下を抑止することができる。以下、具体的に説明する。
画像生成装置１０は、マスク情報が示す欠損領域を、類似パッチとの平均誤差に基づいて変更制御する。そして、画像生成装置１０は、平均誤差が閾値以上である場合に欠損領域を拡大することによってコンプリーション領域を生成する。これにより、コンプリーション処理の対象となる領域が拡大される。したがって、画像生成装置１０は、参照画像が少ない場合や複雑な構造を有するオブジェクトが欠損領域周辺に含まれる場合であってもコンプリーション対象パッチに最も類似したパッチを探索できる確率を向上することができる。そのため、コンプリーション処理の精度低下を抑止することが可能になる。
【００４４】
以下、上記効果について具体例を挙げて説明する。
図８は、本発明を適用した場合の具体例を示す図である。
図８（Ａ）はマスク情報が重畳された原画像を表す図であり、図８（Ｂ）はマスク情報が示す欠損領域に対して変更制御がなされた後の状態を表す図である。
領域５０は、マスク情報が示す欠損領域を表す。図８（Ａ）において、例えば、人物の膝下を遮蔽している別の人物の領域をコンプリーション処理する場合、類似したズボンをはいた人物が、類似した姿勢で参照画像に含まれていれば従来のパッチベースのコンプリーション処理で良好な結果が得られる。しかしながら、参照画像にそのような例が含まれない場合、良好なコンプリーション処理を行うことができない可能性がある。そのため、コンプリーション処理の精度が低下してしまう可能性があった。
【００４５】
それに対して、本発明では、欠損領域に対する変更制御によって、領域５１に示すようにコンプリーション処理の対象となる領域を腰から下全体に拡大することができる。これにより、参照画像から類似パッチを探索することができる確率が向上し、類似した姿勢の人物であれば良好なコンプリーション処理を行うことができる。そのため、コンプリーション処理の精度低下を抑止させることが可能になる。
【００４６】
また、本発明における画像生成装置１０は、欠損領域近傍で画像が複雑な構造や色変化や激しい動きを有していて、欠損領域のコンプリーション処理が困難である場合にも適用可能である。図９及び図１０を用いて具体的に説明する。
図９及び図１０は、本発明を適用した場合の具体例を示す図である。
図９（Ａ）は、画像生成装置１０に入力される原画像を表す。ここで、領域５２の範囲においてコンプリーション処理を行いたいとする。
まず、従来のコンプリーション処理について図９（Ｂ）〜図９（Ｄ）を用いて説明する。領域５３は、マスク情報が示す欠損領域を表す。画像生成装置１０によって従来の方法によって領域５３に対してコンプリーション処理が行なわれると、図９（Ｃ）に示す画像が生成される。このように、従来では、コンプリーション処理によって領域５３で示される欠損領域を除去した画像を生成することができる。しかし、欠損領域近傍で画像が複雑な構造をしている場合には、図９（Ｃ）の領域５４内に示されているように欠損領域内外における見た目に違和感が生じてしまう。図９（Ｃ）の領域５４内を拡大した図を図９（Ｄ）に示す。図９（Ｄ）に示されるように、人物の一部が画像から除去されてしまい、違和感が生じてしまう。
【００４７】
次に、本発明におけるコンプリーション処理について図１０（Ａ）〜図１０（Ｃ）を用いて説明する。本発明における画像生成装置１０では、図１０（Ａ）に示されるように欠損領域が拡大される。領域５５は、コンプリーション領域を表す。そして、画像生成装置１０によって、領域５５が除去されることによって図１０（Ｂ）に示すように違和感のない画像を生成することができる。図１０（Ｂ）の領域５６内を拡大した図を図１０（Ｃ）に示す。図１０（Ｃ）に示されるように、欠損領域内外における見た目の違和感を抑えることができる。
【００４８】
＜変形例＞
本実施形態では、コンプリーション対象となる画像を外部から画像生成装置１０に入力する構成を示したが、これに限定される必要はない。例えば、画像生成装置１０がコンプリーション対象となる画像を記憶する画像記憶部をさらに備え、画像記憶部に記憶されている画像に対してコンプリーション処理を行ってもよい。このように構成される場合、マスク情報は、外部から入力される。
画像取得部１０１、欠損領域変更制御部１０２、コンプリーション処理部１０３及び参照画像記憶部１０４の各機能部は、それぞれ別の装置に実装されてもよいし、各機能部の一部が別の装置に実装されてもよい。
【００４９】
［第２実施形態］
図１１は、第２実施形態における画像生成装置１０ａの構成例を示すブロック図である。
図１１に示すように、画像生成装置１０ａは、画像取得部１０１、欠損領域変更制御部１０２ａ、コンプリーション処理部１０３、参照画像記憶部１０４及び保持領域取得部１０５を備える。
【００５０】
第２実施形態における画像生成装置１０ａは、欠損領域変更制御部１０２に代えて欠損領域変更制御部１０２ａを備える点、保持領域取得部１０５をさらに備える点で画像生成装置１０と構成が異なる。画像生成装置１０ａは、他の構成については画像生成装置１０と同様である。そのため、画像生成装置１０ａ全体の説明は省略し、欠損領域変更制御部１０２ａ及び保持領域取得部１０５について説明する。
【００５１】
保持領域取得部１０５は、欠損領域に対する変更制御を行う際に欠損領域に含めない領域を表す保持領域の情報（以下、「保持領域情報」という。）を取得する。保持領域は、コンプリーション処理を施さない領域である。つまり、保持領域として指定されているセグメント又は画素については、変更制御を行う際の変更対象の対象領域とならない。保持領域情報は、原画像と同じサイズを有する画像であり、保持領域の画素値が１、保持領域以外の領域の画素値が０で表される。また、保持領域取得部１０５が取得する保持領域情報は、ユーザによって入力されてもよいし、予め設定されていてもよい。
欠損領域変更制御部１０２ａは、画像取得部１０１によって取得された原画像及びマスク情報と、保持領域取得部１０５によって取得された保持領域情報とに基づいて欠損領域の変更制御を行う。
【００５２】
以下、欠損領域変更制御部１０２ａが行う欠損領域の変更制御方法について、画像生成装置１０ａ全体の処理を含めて説明する。なお、欠損領域変更制御部１０２ａは、欠損領域変更制御部１０２が行う欠損領域の変更制御方法と同様の制御方法を利用する。ただし、具体的な処理については、欠損領域変更制御部１０２ａと欠損領域変更制御部１０２とで異なる。以下、詳細に説明する。
【００５３】
［第１の変更制御方法］
図１２は、画像生成装置１０ａが第１の変更制御方法を行う場合の処理の流れを示すフローチャートである。画像生成装置１０ａは、第１の変更制御方法としてセグメンテーションを利用して処理を行う。なお、図３と同様の処理については、図１２において図３と同様の符号を付して説明を省略する。
【００５４】
ステップＳ１０１とステップＳ１０２との間の処理において、保持領域取得部１０５は、保持領域情報を取得する。保持領域取得部１０５は、取得した保持領域情報を欠損領域変更制御部１０２ａに出力する。その後、ステップＳ１０２〜ステップＳ１０６までの処理が実行されると、ステップＳ１０６の処理において、欠損領域変更制御部１０２ａは、平均誤差が閾値以上であると判定した場合（ステップＳ１０６−ＹＥＳ）、コンプリーション対象パッチを含む隣接セグメントを探索する（ステップＳ５０１）。欠損領域変更制御部１０２ａは、ステップ５０１の処理で探索した隣接セグメントが保持領域に含まれるか否か判定する（ステップＳ５０２）。
【００５５】
欠損領域変更制御部１０２ａは、隣接セグメントが保持領域に含まれないと判定した場合（ステップＳ５０２−ＮＯ）、現時点における欠損領域が予め設定された領域の上限値よりも小さいか否か判定する（ステップＳ５０３）。欠損領域変更制御部１０２ａは、現時点における欠損領域が予め設定された領域の上限値よりも小さいと判定した場合（ステップＳ５０３−ＹＥＳ）、欠損領域の変更制御を行う（ステップＳ５０４）。具体的には、欠損領域変更制御部１０２ａは、欠損領域の隣接セグメントを新たに欠損領域に加えて欠損領域の領域を拡大することによってコンプリーション領域を生成する。その後、欠損領域変更制御部１０２ａは、ステップＳ１０４以降の処理を実行する。
【００５６】
また、欠損領域変更制御部１０２ａは、ステップＳ１０６の処理において平均誤差が閾値未満であると判定した場合（ステップＳ１０６−ＮＯ）、又は、ステップＳ５０２の処理において隣接セグメントが保持領域に含まれると判定した場合（ステップＳ５０２−ＹＥＳ）、又は、ステップＳ５０３の処理において現時点における欠損領域が予め設定された領域の上限値以上であると判定した場合（ステップＳ５０３−ＮＯ）、現時点の欠損領域の情報、原画像及び当該欠損領域で探索された類似パッチをコンプリーション処理部１０３に出力する。その後、ステップＳ１０９以降の処理が実行される。
【００５７】
［第２の変更制御方法］
第２の変更制御方法においては、欠損領域変更制御部１０２ａが欠損領域を設定する際に、保持領域取得部１０５によって取得された保持領域情報に含まれる画素を、欠損領域に含めないようにすることのみが図５における処理と異なる点である。それ以外の処理については、図５における処理と同様である。
【００５８】
［第３の変更制御方法］
図１３は、画像生成装置１０ａが第３の変更制御方法を行う場合の処理の流れを示すフローチャートである。画像生成装置１０ａは、第３の変更制御方法として画素ごとに欠損領域に含めるか否かを決定して処理を行う。なお、図６と同様の処理については、図１３において図６と同様の符号を付して説明を省略する。また、図１３の説明では、ステップＳ２０５の処理で算出される平均誤差を第１の誤差として説明する。
【００５９】
ステップＳ２０１とステップＳ２０２との間の処理において、保持領域取得部１０５は、保持領域情報を取得する。保持領域取得部１０５は、取得した保持領域情報を欠損領域変更制御部１０２ａに出力する。その後、ステップＳ２０２〜ステップＳ２０５までの処理が実行されると、ステップＳ２０５の処理において、欠損領域変更制御部１０２ａは、平均誤差が閾値以上であると判定した場合（ステップＳ２０５−ＹＥＳ）、欠損領域の近傍に存在し、かつ、欠損周辺領域に含まれる１画素を選択する（ステップＳ６０１）。なお、１画素を選択する方法はどのような方法であってもよい。例えば、欠損領域変更制御部１０２ａは、欠損領域と隣接した画素のうち最も欠損領域の平均色が類似している画素を選択する方法してもよいし、ランダムに選択してもよい。ただし、欠損領域の近傍とは、欠損領域から予め定めた一定距離以内を表す。また、ステップＳ６０１の処理において、欠損領域変更制御部１０２ａは、ステップＳ２０５の処理で使用される閾値を更新してもよい。
【００６０】
欠損領域変更制御部１０２ａは、ステップＳ６０１の処理で選択した画素が保持領域に含まれるか否か判定する（ステップＳ６０２）。欠損領域変更制御部１０２ａは、画素が保持領域に含まれないと判定した場合（ステップＳ６０２−ＮＯ）、現時点における欠損領域が予め設定された領域の上限値よりも小さいか否か判定する（ステップＳ６０３）。欠損領域変更制御部１０２ａは、現時点における欠損領域が予め設定された領域の上限値よりも小さいと判定した場合（ステップＳ６０３−ＹＥＳ）、ステップＳ６０１の処理で選択した画素を欠損領域に含めた状態で、ステップＳ２０４の処理で探索した類似パッチと、コンプリーション対象パッチの欠損周辺領域との平均誤差を算出する（ステップＳ６０４）。この処理で算出された平均誤差を第２の誤差とする。
【００６１】
欠損領域変更制御部１０２ａは、第２の誤差が第１の誤差より小さいか否か判定する（ステップＳ６０５）。欠損領域変更制御部１０２ａは、第２の誤差が第１の誤差より小さいと判定した場合（ステップＳ６０５−ＹＥＳ）、ステップＳ６０１の処理で選択した画素を欠損領域に加えて欠損領域の領域を拡大することによってコンプリーション領域を生成する（ステップＳ６０６）。その後、ステップＳ２０３以降の処理を実行する。
一方、欠損領域変更制御部１０２ａは、第２の誤差が第１の誤差より小さくないと判定した場合（ステップＳ６０５−ＮＯ）、ステップＳ６０１の処理で選択した画素を欠損領域に加えず、ステップＳ２０３以降の処理を実行する。すなわち、欠損領域変更制御部１０２ａは、現時点の欠損領域を変更しない（ステップＳ６０７）。この場合、欠損領域変更制御部１０２ａは、現時点の欠損領域をコンプリーション領域に設定する。
【００６２】
また、欠損領域変更制御部１０２ａは、ステップＳ２０５の処理において平均誤差が閾値未満であると判定した場合（ステップＳ２０５−ＮＯ）、又は、ステップＳ６０２の処理において画素が保持領域に含まれると判定した場合（ステップＳ６０２−ＹＥＳ）、又は、ステップＳ６０３の処理において現時点における欠損領域が予め設定された領域の上限値以上であると判定した場合（ステップＳ６０３−ＮＯ）、現時点の欠損領域の情報、原画像及び当該欠損領域で探索された類似パッチをコンプリーション処理部１０３に出力する。その後、ステップＳ２０８以降の処理が実行される。
【００６３】
［第４の変更制御方法］
図１４は、画像生成装置１０ａが第４の変更制御方法を行う場合の処理の流れを示すフローチャートである。画像生成装置１０ａは、第４の変更制御方法としてセグメンテーションを活用しつつ、画素ごとに欠損領域に含めるか否かを決定して処理を行う。なお、図７と同様の処理については、図１４において図７と同様の符号を付して説明を省略する。また、図１４の説明では、ステップＳ１０６の処理で算出される平均誤差を第１の誤差として説明する。
【００６４】
ステップＳ１０１とステップＳ１０２との間の処理において、保持領域取得部１０５は、保持領域情報を取得する。保持領域取得部１０５は、取得した保持領域情報を欠損領域変更制御部１０２ａに出力する。その後、ステップＳ１０２〜ステップＳ１０６までの処理が実行されると、ステップＳ１０６の処理において、欠損領域変更制御部１０２ａは、平均誤差が閾値以上であると判定した場合（ステップＳ１０６−ＹＥＳ）、欠損領域の近傍に存在し、かつ、欠損周辺領域に含まれる１画素を選択する（ステップＳ７０１）。この際、欠損領域変更制御部１０２ａは、以前選択された画素と同一セグメント（同一のラベル値をもつ）の中から１画素を選択する。具体的には、欠損領域変更制御部１０２ａは、以前にステップＳ７０１の処理で選択した１画素のラベル値を記憶している場合、当該ラベル値を持つセグメントの中から１画素を選択する。同一ラベル値の画素が存在しない場合、又は、以前にステップＳ７０１の処理を行っていない場合（初期処理の場合）には欠損領域変更制御部１０２ａは、ランダムに１画素を選択する。
【００６５】
欠損領域変更制御部１０２ａは、選択した画素が保持領域に含まれるか否か判定する（ステップＳ７０２）。欠損領域変更制御部１０２ａは、画素が保持領域に含まれないと判定した場合（ステップＳ７０２−ＮＯ）、現時点における欠損領域が予め設定された領域の上限値よりも小さいか否か判定する（ステップＳ７０３）。欠損領域変更制御部１０２ａは、現時点における欠損領域が予め設定された領域の上限値よりも小さいと判定した場合（ステップＳ７０３−ＹＥＳ）、ステップＳ７０１の処理で選択した画素を欠損領域に含めた状態で、ステップＳ１０５の処理で探索した類似パッチと、コンプリーション対象パッチの欠損周辺領域との平均誤差を算出する（ステップＳ７０４）。この処理で算出された平均誤差を第２の誤差とする。
【００６６】
欠損領域変更制御部１０２ａは、第２の誤差が第１の誤差より小さいか否か判定する（ステップＳ７０５）。欠損領域変更制御部１０２ａは、第２の誤差が第１の誤差より小さいと判定した場合（ステップＳ７０５−ＹＥＳ）、ステップＳ７０１の処理で選択した画素を欠損領域に加えて欠損領域の領域を拡大することによってコンプリーション領域を生成する（ステップＳ７０６）。その後、欠損領域変更制御部１０２ａは、新たに加えた画素のラベル値を記憶する（ステップＳ７０７）。その後、欠損領域変更制御部１０２ａは、ステップＳ１０４以降の処理を実行する。
一方、欠損領域変更制御部１０２ａは、第２の誤差が第１の誤差より小さくないと判定した場合（ステップＳ７０５−ＮＯ）、ステップＳ７０１の処理で選択した画素を欠損領域に加えず、ステップＳ１０４以降の処理を実行する。すなわち、欠損領域変更制御部１０２ａは、現時点の欠損領域を変更しない（ステップＳ７０８）。この場合、欠損領域変更制御部１０２ａは、現時点の欠損領域をコンプリーション領域に設定する。
【００６７】
また、欠損領域変更制御部１０２ａは、ステップＳ１０６の処理において平均誤差が閾値未満であると判定した場合（ステップＳ１０６−ＮＯ）、又は、ステップＳ７０２の処理において画素が保持領域に含まれると判定した場合（ステップＳ７０２−ＹＥＳ）、又は、ステップＳ７０３の処理において現時点における欠損領域が予め設定された領域の上限値以上であると判定した場合（ステップＳ７０３−ＮＯ）、現時点の欠損領域の情報、原画像及び当該欠損領域で探索された類似パッチをコンプリーション処理部１０３に出力する。その後、ステップＳ２０８以降の処理が実行される。
【００６８】
以上のように構成された画像生成装置１０ａによれば、第１実施形態と同様の効果を得ることができる。
また、画像生成装置１０ａは、原画像内において保持領域情報を取得することができる。これにより、欠損領域の拡大の際にユーザが除去したくない領域がコンプリーション処理の対象となってしまうおそれが軽減される。そのため、よりユーザの好みに合った画像を生成することが可能になる。
【００６９】
＜変形例＞
本実施形態では、コンプリーション対象となる画像を外部から画像生成装置１０ａに入力する構成を示したが、これに限定される必要はない。例えば、画像生成装置１０ａがコンプリーション対象となる画像を記憶する画像記憶部をさらに備え、画像記憶部に記憶されている画像に対してコンプリーション処理を行ってもよい。このように構成される場合、マスク情報は、外部から入力される。
画像取得部１０１、欠損領域変更制御部１０２ａ、コンプリーション処理部１０３、参照画像記憶部１０４及び保持領域取得部１０５の各機能部は、それぞれ別の装置に実装されてもよいし、各機能部の一部が別の装置に実装されてもよい。
【００７０】
［第３実施形態］
図１５は、第３実施形態における画像生成装置１０ｂの構成例を示すブロック図である。
図１５に示すように、画像生成装置１０ｂは、画像取得部１０１、欠損領域変更制御部１０２ｂ、コンプリーション処理部１０３ｂ、参照画像記憶部１０４、保持領域取得部１０５及び複数結果出力部１０６を備える。
【００７１】
第３実施形態における画像生成装置１０ｂは、欠損領域変更制御部１０２ａ及びコンプリーション処理部１０３に代えて欠損領域変更制御部１０２ｂ及びコンプリーション処理部１０３ｂを備える点、複数結果出力部１０６をさらに備える点で画像生成装置１０ａと構成が異なる。画像生成装置１０ｂは、他の構成については画像生成装置１０ａと同様である。そのため、画像生成装置１０ｂ全体の説明は省略し、欠損領域変更制御部１０２ｂ、コンプリーション処理部１０３ｂ及び複数結果出力部１０６について説明する。
【００７２】
欠損領域変更制御部１０２ｂは、画像取得部１０１によって取得された原画像及びマスク情報と、保持領域取得部１０５によって取得された保持領域情報とに基づいて欠損領域の変更制御を行う。この際、欠損領域変更制御部１０２ｂは、欠損領域の変更制御の結果として、変更制御がなされた欠損領域（コンプリーション領域）を複数生成する。
【００７３】
コンプリーション処理部１０３ｂは、欠損領域変更制御部１０２ｂによって生成された複数のコンプリーション領域それぞれを用いて原画像に対してコンプリーション処理を行う。これにより、コンプリーション処理後の画像が複数生成される。
複数結果出力部１０６は、コンプリーション処理部１０３ｂによって生成された複数のコンプリーション処理後の画像を出力装置に出力する。出力装置は、例えば液晶ディスプレイ、有機ＥＬ（Electro Luminescence）ディスプレイ、ＣＲＴ（Cathode Ray Tube）ディスプレイ等の画像表示装置である。
【００７４】
図１６は、第３実施形態における画像生成装置１０ｂの処理を説明するための概念図である。
図１６において、（Ａ）は画像生成装置１０ｂに入力される原画像を表し、（Ｂ）は画像生成装置１０ｂに入力されるマスク情報を表す。領域５７は、マスク情報が示す欠損領域を表す。
欠損領域変更制御部１０２ｂは、取得された原画像とマスク情報とに基づいて、図１６（Ｃ）に示すようなコンプリーション領域を複数生成する。具体的には、図１６（Ｃ）の最上段には、図１６（Ｃ）の領域５８（図１６（Ｂ）の領域５７に対応）に領域５９が加えられて一つのコンプリーション領域が生成されている。また、図１６（Ｃ）の中段には、図１６（Ｃ）の領域６１（図１６（Ｂ）の領域５７に対応）に領域６０が加えられて一つのコンプリーション領域が生成されている。また、図１６（Ｃ）の下段には、図１６（Ｃ）の領域６３（図１６（Ｂ）の領域５７に対応）に領域６２が加えられて一つのコンプリーション領域が生成されている。以上のように、欠損領域変更制御部１０２ｂは、コンプリーション領域を複数生成する。ここで、複数のコンプリーション領域を生成する方法として、以下のような方法が挙げられる。
【００７５】
（方法１）
欠損領域変更制御部１０２ｂは、上記各変更制御方法（第１の変更制御方法〜第４の変更制御方法）それぞれによって出力される変更制御がなされた欠損領域をそれぞれコンプリーション領域とする。
（方法２）
欠損領域変更制御部１０２ｂは、第１の変更制御方法において、選択可能な隣接セグメントの組合せ分をコンプリーション領域とする。
（方法３）
欠損領域変更制御部１０２ｂは、第２の変更制御方法において、ＢＰ法によって決定された欠損領域と、全探索によって決定された欠損領域とをどちらもコンプリーション領域とする。
【００７６】
その後、コンプリーション処理部１０３は、コンプリーション領域それぞれに対してコンプリーション処理を行う。コンプリーション処理部１０３が、図１６（Ｃ）に示すコンプリーション領域それぞれに対してコンプリーション処理を行った結果を図１６（Ｄ）に示す。
複数結果出力部１０６は、コンプリーション処理後の複数の画像（図１６（Ｄ））を出力装置に出力する。
【００７７】
以上のように構成され画像生成装置１０ｂによれば、ユーザに対してコンプリーション処理後の画像を複数提示することができる。したがって、ユーザは、提示された複数の画像の中から自分の好みに合った画像を選択することができる。そのため、利便性を向上させることが可能になる。
【００７８】
また、画像生成装置１０ｂは、入力されたマスク情報が示す欠損領域を拡大する。したがって、複雑な構造を有するオブジェクトが欠損領域周辺に含まれる場合であってもコンプリーション処理の精度が低下してしまうおそれを軽減することができる。
さらに、画像生成装置１０ｂは、保持領域情報を取得することができる。これにより、欠損領域の拡大の際にユーザが除去したくない領域を除去してしまうおそれを軽減することが可能になる。
【００７９】
＜変形例＞
画像生成装置１０ｂは、保持領域取得部１０５を備えないように構成されてもよい。このように構成される場合、欠損領域変更制御部１０２ｂは、画像取得部１０１によって取得された原画像及びマスク情報に基づいて欠損領域の変更制御を行う。具体的な変更制御については、第１実施形態と同様であるため、説明を省略する。この際、欠損領域変更制御部１０２ｂは、欠損領域の変更制御の結果として、変更制御がなされた欠損領域を複数生成する。
本実施形態では、コンプリーション対象となる画像を外部から画像生成装置１０ｂに入力する構成を示したが、これに限定される必要はない。例えば、画像生成装置１０ｂがコンプリーション対象となる画像を記憶する画像記憶部をさらに備え、画像記憶部に記憶されている画像に対してコンプリーション処理を行ってもよい。このように構成される場合、マスク情報は、外部から入力される。
画像取得部１０１、欠損領域変更制御部１０２ｂ、コンプリーション処理部１０３ｂ、参照画像記憶部１０４、保持領域取得部１０５及び複数結果出力部１０６の各機能部は、それぞれ別の装置に実装されてもよいし、各機能部の一部が別の装置に実装されてもよい。
【００８０】
上述した実施形態における画像生成装置１０、１０ａ、１０ｂをコンピュータで実現するようにしてもよい。その場合、画像生成装置１０、１０ａ、１０ｂが有する構成要素を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。更に「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した構成要素の一部を実現するためのものであってもよく、更に前述した構成要素をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されるものであってもよい。
【００８１】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００８２】
１０、１０ａ、１０ｂ…画像生成装置，  １０１…画像取得部，  １０２、１０２ａ、１０２ｂ…欠損領域変更制御部，  １０３、１０３ｂ…コンプリーション処理部，  １０４…参照画像記憶部，  １０５…保持領域取得部，  １０６…複数結果出力部
【図１】
2016099781.tif 000003
【図３】
2016099781.tif 000004
【図４】
2016099781.tif 000005
【図５】
2016099781.tif 000006
【図６】
2016099781.tif 000007
【図７】
2016099781.tif 000008
【図８】
2016099781.tif 000009
【図９】
2016099781.tif 000010
【図１０】
2016099781.tif 000011
【図１１】
2016099781.tif 000012
【図１２】
2016099781.tif 000013
【図１３】
2016099781.tif 000014
【図１４】
2016099781.tif 000015
【図１５】
2016099781.tif 000016
【図１６】
2016099781.tif 000017
【図２】
2016099781.tif 000018
【図１７】
2016099781.tif 000019