説明

画像処理装置、撮像装置、および画像処理プログラム

【課題】主要被写体画像と背景画像とを抽出し、好興趣に富む新たな画像を生成する。
【解決手段】処理の対象となる対象画像を複数のブロックに分割する領域分割部、外周部に存在するブロックの画像に基づいてテンプレートを設定する設定部、前記複数のブロックの各々について代表値を算出する算出部、マッチング対象のブロックの代表値と前記テンプレートにおける代表値とを比較するマッチング部、マッチングの結果に基づいて対象画像における被写体の分布を示すマップを作成する作成部、対象画像ごとのマップに基づいて複数の対象画像のそれぞれから主要被写体画像を抽出する第1抽出部、マップに基づいて複数の対象画像のうち任意の1枚の対象画像から背景画像を抽出する第2抽出部、第1抽出部により抽出した少なくとも1枚の主要被写体画像と第2抽出部により抽出した背景画像との少なくとも一方に基づく新たな画像を生成する生成部とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、撮像装置、および画像処理プログラムに関する。
【背景技術】
【0002】
従来より、画像から構図情報を抽出し、抽出した構図情報に基づいて画像を再構成する技術が提案されている。一例として、特許文献1には、被写体からコントラストなどの構図情報を抽出し、この構図情報に基づき被写体を背景画像に再配置する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2000−200354号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、従来の技術は、被写体の位置を機械的に修正するものに過ぎず、画一的な修正を施し、視覚的にバランスの良い絵を再構成することを目的としている。したがって、入力画像について新たな表現や楽しみ方を提案するといった効果を期待することができるものではない。
【0005】
本発明の目的は、主要被写体画像と背景画像とを抽出し、好適な画像処理を行うことにより興趣に富む新たな画像を生成するための手段を提供することにある。
【課題を解決するための手段】
【0006】
一の態様の画像処理装置は、処理の対象となる対象画像の情報を取得する取得部と、前記対象画像を複数のブロックに分割する領域分割部と、前記複数のブロックのうち、前記対象画像の外周部に存在する1つ以上のブロックの画像に基づいて、1つ以上のテンプレートを設定する設定部と、前記対象画像を分割した前記複数のブロックの各々について代表値を算出する算出部と、マッチング対象のブロックの前記代表値と、前記1つ以上のテンプレートにおける前記代表値とをそれぞれ比較することによるマッチングを、前記複数のブロックごとに行うマッチング部と、前記マッチング部によるマッチングの結果に基づいて、前記対象画像における被写体の分布を示すマップを作成する作成部と、複数の前記対象画像ごとの前記マップに基づいて、複数の前記対象画像のそれぞれから主要被写体画像を抽出する第1抽出部と、複数の前記対象画像ごとの前記マップに基づいて、複数の前記対象画像のうち、任意の1枚の前記対象画像から背景画像を抽出する第2抽出部と、前記第1抽出部により抽出した少なくとも1枚の前記主要被写体画像と、前記第2抽出部により抽出した前記背景画像との少なくとも一方に基づく新たな画像を生成する生成部とを備える。
【0007】
なお、前記生成部は、前記背景画像に対して、前記背景画像にぼかし効果を加える処理を施し、前記処理後の前記背景画像と、少なくとも1枚の前記主要被写体画像とに基づき前記新たな画像を生成しても良い。
【0008】
また、前記生成部は、前記背景画像について、前記第2抽出部による抽出時に発生する欠損部分を補完する処理を施し、前記処理後の前記背景画像と、少なくとも1枚の前記主要被写体画像とに基づき前記新たな画像を生成しても良い。
【0009】
また、前記生成部は、前記背景画像のうち、前記欠損部分を除く部分の画像に基づいて、前記欠損部分を補完しても良い。
【0010】
また、前記生成部は、少なくとも1枚の前記主要被写体画像と前記背景画像との間に所定の距離を設定し、仮想三次元モデリングを行うことにより左目用画像および右目用画像から成る前記新たな画像を生成しても良い。
【0011】
また、前記取得部は、前記対象画像が生成された際の撮影条件を更に取得し、前記生成部は、前記撮影条件に基づいて前記所定の距離を設定しても良い。
【0012】
また、前記生成部は、前記マップに基づいて、前記新たな画像中の主要被写体の位置に応じた位置に、任意の画像情報と文字情報との少なくとも一方を挿入しても良い。
【0013】
また、前記生成部は、前記第1抽出部により抽出した少なくとも1枚の前記主要被写体画像のみに基づいて、前記新たな画像を生成するか、または、前記第1抽出部により抽出した少なくとも1枚の前記主要被写体画像と、任意の画像とに基づいて、前記新たな画像を生成しても良い。
【0014】
また、前記生成部は、前記新たな画像として静止画像を生成しても良い。
【0015】
また、前記第1抽出部により抽出した複数の前記主要被写体画像に基づいて、前記主要被写体の動き情報を演算する演算部をさらに備え、前記生成部は、前記動き情報に応じて、前記第1抽出部により抽出した少なくとも1枚の前記主要被写体画像と、前記第2抽出部により抽出した前記背景画像とに基づく新たな画像を生成しても良い。
【0016】
また、前記生成部は、前記新たな画像として、複数のフレームから成る動画像を生成しても良い。
【0017】
また、前記第1抽出部により抽出した複数の前記主要被写体画像に基づいて、前記主要被写体の動き情報を演算する演算部をさらに備え、前記生成部は、前記動き情報に応じて、前記第1抽出部により抽出した少なくとも1枚の前記主要被写体画像と、前記第2抽出部により抽出した前記背景画像とに基づく新たな画像を生成しても良い。
【0018】
また、前記生成部は、前記背景画像に対して、前記動き情報に応じた方向にブレを発生させる処理を施し、前記処理後の前記背景画像と、少なくとも1枚の前記主要被写体画像とに基づき前記新たな画像を生成しても良い。
【0019】
また、前記第2抽出部は、複数の前記対象画像ごとの前記マップに基づいて、複数の前記対象画像から複数の前記背景画像を抽出し、前記生成部は、任意の1枚の前記背景画像について、別の前記背景画像に基づいて、前記欠損部分を補完しても良い。
【0020】
また、前記生成部は、複数の前記主要被写体画像を合成し、合成後の前記主要被写体画像を前記背景画像内の任意の1つの位置に配置するか、前記動き情報に応じて、前記合成後の前記主要被写体画像を前記背景画像内の異なる位置にそれぞれ配置するか、前記動き情報に応じて、任意の1つの前記主要被写体画像を前記背景画像内の異なる位置にそれぞれ配置するか、前記動き情報に応じて、複数の前記主要被写体画像を前記背景画像内の異なる位置にそれぞれ配置することにより前記静止画像を生成しても良い。
【0021】
また、前記生成部により生成した前記静止画像を記録する記録部をさらに備えても良い。
【0022】
また、前記生成部は、複数の前記主要被写体画像を合成し、前記動き情報に応じて、合成後の前記主要被写体画像を複数の前記フレームのそれぞれにおいて前記背景画像に配置する処理と、任意の前記主要被写体画像を複数の前記フレームのそれぞれにおいて前記背景画像内の異なる位置にそれぞれ配置する処理と、前記動き情報に応じて、複数の前記フレームのそれぞれに異なる前記主要被写体画像を配置する処理との少なくとも1つを行うことにより前記動画像を生成しても良い。
【0023】
また、前記生成部は、前記動き情報に応じて、複数の前記フレームのそれぞれにおいて異なる前記背景画像に前記主要被写体画像を配置することにより前記動画像を生成しても良い。
【0024】
また、前記生成部は、前記第2抽出部により抽出した前記背景画像に対して、トリミング処理と、拡大縮小処理と、前記背景画像の少なくとも一部を複製して前記背景画像に連結する処理との少なくとも1つを行うことにより、複数の前記フレームに対応する複数の前記背景画像を生成しても良い。
【0025】
また、前記生成部により生成した前記動画像を記録する記録部をさらに備え、前記記録部は、複数の前記フレームのそれぞれについて、前記主要被写体画像と、前記背景画像と、前記背景画像に前記主要被写体を合成する際の配置を示す情報とを関連づけて記録しても良い。
【0026】
また、前記生成部により生成した前記動画像を記録する記録部をさらに備え、前記生成部は、複数の前記フレームのそれぞれにおいて前記主要被写体画像と前記背景画像とを合成する処理を行い、前記記録部は、前記生成部により前記処理が行われた前記動画像を記録しても良い。
【0027】
別の態様の画像処理装置は、処理の対象となる対象画像の情報を取得する取得部と、前記対象画像を複数のブロックに分割する領域分割部と、前記複数のブロックのうち、前記対象画像の外周部に存在する1つ以上のブロックの画像に基づいて、1つ以上のテンプレートを設定する設定部と、前記対象画像を分割した前記複数のブロックの各々について代表値を算出する算出部と、マッチング対象のブロックの前記代表値と、前記1つ以上のテンプレートにおける前記代表値とをそれぞれ比較することによるマッチングを、前記複数のブロックごとに行うマッチング部と、前記マッチング部によるマッチングの結果に基づいて、前記対象画像における被写体の分布を示すマップを作成する作成部と、複数の前記対象画像ごとの前記マップに基づいて、複数の前記対象画像のそれぞれから主要被写体画像を抽出する第1抽出部と、複数の前記対象画像ごとの前記マップに基づいて、複数の前記対象画像のうち、少なくとも2枚の前記対象画像から複数の背景画像を抽出する第2抽出部と、前記第1抽出部により抽出した複数の前記主要被写体画像に基づいて、前記主要被写体の動き情報を演算する演算部と、前記動き情報に応じて、前記第1抽出部により抽出した少なくとも1枚の前記主要被写体画像と、前記第2抽出部により抽出した複数の前記背景画像とに基づく新たな画像を生成する生成部とを備えることを特徴とする画像処理装置。
【0028】
一の態様の撮像装置は、被写体の像を撮像する撮像部と、上述したいずれかの画像処理装置とを備え、前記取得部は、前記撮像部から前記対象画像の情報を取得する。
【0029】
なお、コンピュータを一の態様の画像処理装置として動作させるプログラムや、このプログラムを記憶した記憶媒体や、一の態様に係る画像処理装置の動作を方法のカテゴリで表現したものも、本発明の具体的態様として有効である。
【発明の効果】
【0030】
本発明によれば、主要被写体画像と背景画像とを抽出し、好適な画像処理を行うことにより興趣に富む新たな画像を生成することができる。
【図面の簡単な説明】
【0031】
【図1】第1実施形態での画像処理装置の構成例を示すブロック図
【図2】第1実施形態での画像処理装置の動作例を示す流れ図
【図3】第1実施形態でのマップの作成の動作例を示す流れ図
【図4】第1実施形態でのマップの作成の動作例を示す別の流れ図
【図5】第1実施形態でのブロック分割の例を示す図
【図6】第1実施形態でのテンプレートの設定例を示す図
【図7】第1実施形態でのマップSal[T]の例を示す図
【図8】第1実施形態での主要被写体領域の抽出の例を示す図
【図9】第1実施形態での自動クロップの例を示す図
【図10】第1実施形態での新たな画像の生成の動作例を示す流れ図
【図11】第1実施形態での新たな画像の生成の動作例を示す別の流れ図
【図12】第1実施形態での新たな画像の生成について説明する図
【図13】第1実施形態での新たな画像の生成について説明する別の図
【図14】第1実施形態での新たな画像の生成について説明する別の図
【図15】第1実施形態での新たな画像の生成について説明する別の図
【図16】第1実施形態での新たな画像の生成について説明する別の図
【図17】第1実施形態での新たな画像の生成について説明する別の図
【図18】第1実施形態での新たな画像の生成について説明する別の図
【図19】第1実施形態での新たな画像の生成について説明する別の図
【図20】第1実施形態での新たな画像の生成について説明する別の図
【図21】第1実施形態での新たな画像の生成について説明する別の図
【図22】第1実施形態での新たな画像の生成について説明する別の図
【図23】第1実施形態での新たな画像の生成について説明する別の図
【図24】第1実施形態での新たな画像の生成について説明する別の図
【図25】第1実施形態での新たな画像の生成について説明する別の図
【図26】第1実施形態での新たな画像の生成について説明する別の図
【図27】第1実施形態での新たな画像の生成について説明する別の図
【図28】第3実施形態でのテンプレートの設定例を示す図
【図29】第4実施形態でのテンプレートの設定例を示す図
【図30】第6実施形態の変形例でのブロック分割の例を示す図
【図31】第6実施形態の変形例でのテンプレートの設定例を示す図
【図32】第7実施形態での画像処理装置の動作例を示す流れ図
【図33】第8実施形態での電子カメラの構成例を示すブロック図
【図34】別のマップSal[T]の例を示す図
【図35】複数の主要被写体領域の抽出の例を示す図
【発明を実施するための形態】
【0032】
<第1実施形態の説明>
図1は、第1実施形態での画像処理装置の構成例を示すブロック図である。第1実施形態の画像処理装置は、撮像装置により撮像された処理対象の画像(対象画像)について、被写体の分布を示すマップを作成する画像処理プログラムと、作成したマップに基づいて、新たな画像を生成する画像処理プログラムとがインストールされたパーソナルコンピュータで構成される。
【0033】
図1に示すコンピュータ11は、データ読込部12、記憶装置13、CPU14、メモリ15および入出力I/F16、バス17を有している。データ読込部12、記憶装置13、CPU14、メモリ15および入出力I/F16は、バス17を介して相互に接続されている。さらに、コンピュータ11には、入出力I/F16を介して、入力デバイス18(キーボード、ポインティングデバイスなど)とモニタ19とがそれぞれ接続されている。なお、入出力I/F16は、入力デバイス18からの各種入力を受け付けるとともに、モニタ19に対して表示用のデータを出力する。
【0034】
データ読込部12は、上記の対象画像のデータや、上記の画像処理プログラムを外部から読み込むときに用いられる。例えば、データ読込部12は、着脱可能な記憶媒体からデータを取得する読込デバイス(光ディスク、磁気ディスク、光磁気ディスクの読込装置など)や、公知の通信規格に準拠して外部の装置と通信を行う通信デバイス(USBインターフェース、LANモジュール、無線LANモジュールなど)で構成される。
【0035】
記憶装置13は、例えば、ハードディスクや、不揮発性の半導体メモリなどの記憶媒体で構成される。記憶装置13は、画像を記録する画像蓄積部21と後述するマップを記録するマップ蓄積部22とを備える。この記憶装置13には、画像処理プログラムや、プログラムの実行に必要となる各種のデータが記録されている。なお、記憶装置13には、データ読込部12から読み込んだ対象画像のデータを記憶しておくこともできる。
【0036】
CPU14は、コンピュータ11の各部を統括的に制御するプロセッサである。このCPU14は、上記の画像処理プログラムの実行によって、ローパス画像生成部23と、領域分割部24と、テンプレート設定部25と、マッチング処理部26と、マップ作成部27と、画像生成部28としてそれぞれ機能する(ローパス画像生成部23、領域分割部24、テンプレート設定部25、マッチング処理部26、マップ作成部27、画像生成部28の各動作は後述する)。
【0037】
メモリ15は、画像処理プログラムでの各種演算結果(変数およびフラグの値など)を一時的に記憶する。このメモリ15は、例えば揮発性のSDRAMなどで構成される。
【0038】
以下、図2の流れ図を参照しつつ、第1実施形態における画像処理装置の動作例を説明する。なお、図2の流れ図の処理は、ユーザによるプログラム実行指示に応じて、CPU14が画像処理プログラムを実行することで開始される。
【0039】
(ステップS1)
CPU14は、データ読込部12を介して、ユーザにより指定された複数の対象画像のデータを外部から取得する。なお、対象画像のデータが予め記憶装置13などに記憶されている場合には、CPU14はS101の処理を省略してもよい。また、複数の対象画像は、時間的に連続して撮影されたものであり、例えば、いわゆる連写により生成された複数の画像や、複数のフレームから成る動画像など、どのようなものであっても良い。また、これらの複数の画像は、一定の時間間隔で撮影されたものでも良いし、変則的な時間間隔で撮影されたものでも良い。
【0040】
(ステップS2)
CPU14は、領域分割部24と、テンプレート設定部25と、マッチング処理部26と、マップ作成部27とにより、ステップS1で取得した複数の対象画像の画像データに基づいて、対象画像における被写体の分布を示すマップを作成する。なお、マップの作成は、ステップS1で取得した複数の対象画像のそれぞれについて行われる。また、マップの作成の詳細は後述する。
【0041】
(ステップS3)
CPU14は、画像生成部28により、ステップS1で取得した複数の対象画像の画像データに基づいて、新たな画像を生成する。なお、新たな画像の生成は、ステップS2で作成したマップに基づいて行われる。また、新たな画像の生成の詳細は後述する。
【0042】
<マップの作成について>
次に、図3および図4の流れ図を参照しつつ、マップの作成における画像処理装置の動作例を説明する。なお、図3および図4の図中のステップ番号はそれぞれ対応している。なお、マップの作成は、図2のステップS1で取得した複数の対象画像のそれぞれについて行われる。
【0043】
(ステップS101)
CPU14は、データ読込部12を介して、ユーザにより指定された対象画像のデータを外部から取得する。なお、対象画像のデータが予め記憶装置13の画像蓄積部21などに記憶されている場合には、CPU14はS101の処理を省略してもよい。以下、本明細書の例では、取得した対象画像をImg[1]と表記する。
【0044】
(ステップS102)
CPU14は、ローパス画像生成部23により、ステップS101で取得した対象画像Img[1]の画像の画像データに基づいて、ローパス画像Img[2]およびImg[3]を生成する。ローパス画像Img[2]の生成は、以下の式1および式2により行われ、ローパス画像Img[3]の生成は、以下の式3および式4により行われる。
【0045】
【数1】

【0046】
まず、式1を用いて、対象画像Img[1]のデータを、フーリエ変換により、周波数領域における表現に直交変換する。式1中の(ωx,ωy)は、周波数空間における座標を示し、fq1は、所定の閾値を示す(fqの詳細は後述する)。次に、式2を用いて、式1により求められたF(LImg[2])に対して逆フーリエ変換を行って、帯域制限が施されたローパス画像Img[2]を生成する。
【0047】
ローパス画像Img[3]についても、同様に、式3および式4を用いて、対象画像Img[1]のデータに対してフーリエ変換と逆フーリエ変換を行ってローパス画像Img[3]を生成する。
【0048】
なお、式1中のfq1および式3中のfq2は、対象画像の高さ、幅、対角線などを基準に予め定められる閾値である。fq1およびfq2は、同じ値であっても良いし、違う値であっても良い。また、上述の例では、対象画像Img[1]の画像データに基づいて、ローパス画像Img[2]およびImg[3]を生成する例を示したが、対象画像Img[1]の画像データに基づいて、ローパス画像Img[2]を生成し、生成したローパス画像Img[2] の画像データに基づいて、ローパス画像Img[3]を生成しても良い。
【0049】
また、上述の例ではローパス処理を行うことにより、対象画像Img[1]より低解像度の画像であるローパス画像Img[2] およびImg[3]を生成する例を示したが、対象画像Img[1]に対して、特定の周波数帯域を抑制または透過する処理を施すことにより、同様の画像を作成することができる。例えば、以下の式5および上述した式2を用いて、対象画像Img[1]に対してバンドパスフィルタ処理を施しても良い。
【0050】
【数2】

【0051】
式5は、周波数領域におけるバンドパスフィルタを示す。式5を用いて、対象画像Img[1]のデータを、フーリエ変換により、周波数領域における表現に直交変換する。式5中の(ωx,ωy)は、周波数空間における座標を示し、fq3およびfq4は、所定の閾値を示す。このfq3およびfq4は、上述したfq1およびfq2と同様に、対象画像の高さ、幅、対角線などを基準に予め定められる閾値である。fq3およびfq4の何れかは、fq1およびfq2と同じ値であっても良いし、違う値であっても良い。次に、上述した式2を用いて、式5により求められたF(BImg[2])に対して逆フーリエ変換を行って、帯域制限が施されたバンドパス画像Img[2]を生成する。
【0052】
バンドパス画像Img[3]についても、同様である。なお、ローパス処理を行う場合と同様に、対象画像Img[1]の画像データに基づいて、バンドパス画像Img[2]およびImg[3]を生成しても良いし、対象画像Img[1]の画像データに基づいて、バンドパスImg[2]を生成し、生成したバンドパス画像Img[2] の画像データに基づいて、バンドパス画像Img[3]を生成しても良い。
【0053】
ローパス処理に代えてバンドパスフィルタ処理を用いる場合、例えば、対象画像Img[1]が、背景が夕焼け空等の緩やかなグラデーションのかかった画像である場合などには、後述するマッチング処理が効果的に機能するように、特定の周波数帯域のみを抑圧または透過させるバンドパスフィルタを適用すると良い。
【0054】
(ステップS103)
CPU14は、領域分割部24により、ステップS101で取得した対象画像Img[1]、ステップS102で生成したローパス画像Img[2]およびImg[3]を、それぞれ、複数のブロックに等間隔に分割する。一例として、第1実施形態での領域分割部24は、対象画像Img[1]、ローパス画像Img[2]およびImg[3]を、それぞれ10×10のマトリクス状にブロックで等分割する。なお、以下では、各ブロックは、[n]で画像の種類を示し、(i,j)でブロックの位置を示し、ブロックB[n] (i,j)と表記する。nは画像の種類を示し、n=1はステップS101で取得した対象画像Img[1]を示し、n=2およびn=3はステップS102で生成したローパス画像Img[2]およびImg[3]を示す。また、iは横方向の位置を示し、jは縦方向の順番を示す。例えば、対象画像Img[1]の左上隅のブロックは始点であり、ブロックB[1] (1,1)と表記され、右下隅のブロックは終点であり、ブロックB[1] (10,10)と表記される。(図5参照)。ローパス画像Img[2]およびImg[3]についても同様である。
【0055】
なお、ブロック分割の分割数は、処理精度および処理速度の兼ね合いで予め定められる。対象画像Img[1]、ローパス画像Img[2]およびImg[3]の分割数は同じであっても良いし、違っても良い。
【0056】
なお、各画像を分割する際に、画素数と分割数との兼ね合いで余りが生じる場合がある。このような場合には、各画像の最外周部に余りの画素が存在するようにすれば良い。例えば、上下方向に10画素が余った場合には、上辺または下辺の最外周部に10画素の余りを存在させても良いし、上辺と下辺とに分けて(例えば、上辺に5画素、下辺に5画素など)余りの画素を存在させても良い。
【0057】
(ステップS104)
CPU14は、テンプレート設定部25により、S103の分割処理による複数のブロックから、最外周に存在するブロックを選択し、テンプレートとして設定する。テンプレート設定部25は、テンプレートの設定を対象画像Img[1]、ローパス画像Img[2]およびImg[3]のそれぞれについて行う。
【0058】
以下では、対象画像Img[1]におけるテンプレートの設定を例に挙げて説明する。テンプレート設定部25は、図6に示すように、対象画像Img[1]の最外周に存在するブロック(図6中、斜線で示したブロック)を選択し、テンプレートとして設定する。すなわち、図5で示した複数のブロックのうち、上辺に存在するブロックB[1] (1,1)〜ブロックB[1] (10,1)の10個のブロックと、左辺に存在するブロックB[1] (1,2)〜ブロックB[1] (1,9)の8個のブロックと、右辺に存在するブロックB[1] (10,2)〜ブロックB[1] (10,9)の8個のブロックと、下辺に存在するブロックB[1] (1,10)〜ブロックB[1] (10,10)の10個のブロックとの、合計36個のブロックをテンプレートとして設定する。
【0059】
ただし、上述したように、各画像を分割する際に余りが生じた場合には、ステップS104でテンプレートとして設定されるブロックは、「各ブロックのうち、最外周に存在するブロック」となる。
【0060】
なお、以下では、左上から右下の方向にテンプレートに番号Nを付し、各テンプレートをテンプレートT[1]{N}と表記する。上述したように、対象画像Img[1]の最外周に存在する36個のブロックが選択されると、図6に示すように、テンプレートT[1]{1}〜テンプレートT[1]{36}の36個のテンプレートが設定されることになる。
【0061】
テンプレート設定部25は、同様の処理をローパス画像Img[2]およびImg[3]のそれぞれについても行い、ローパス画像Img[2]については、テンプレートT[2]{1}〜テンプレートT[2]{36}を設定し、ローパス画像Img[3]については、テンプレートT[3]{1}〜テンプレートT[3]{36}を設定する。
【0062】
(ステップS105)
CPU14は、マッチング処理部26により、対象画像Img[1]、ローパス画像Img[2]およびImg[3]のそれぞれについて、マッチング処理を行う。
【0063】
以下では、対象画像Img[1]におけるマッチング処理を例に挙げて説明する。マッチング処理部26は、対象画像Img[1]から、ステップS104で設定したテンプレートを除く部分(ブロックB[1] (2,2)〜ブロックB[1] (9,9)の8×8=64ブロック)のそれぞれについて、評価値SAD[1] (i,j)を求める。
【0064】
一例として、マッチング対象のブロックのうち、ブロックB[1] (2,2)について、評価値SAD[1] (2,2)を求める場合を例に挙げる。マッチング処理部26は、ブロックB[1] (2,2)の画像の画像データと、ステップS104で設定したテンプレート(テンプレートT[1]{1}〜テンプレートT[1]{36})のそれぞれとを比較し、次式に示す差分絶対値総和SAD[1] (i,j){N}を求める。
【0065】
【数3】

【0066】
式6中左辺の[n]は画像の種類(ここではn=1)を示し、(i,j)はブロックの位置(ここでは、i=2,j=2)を示し、{N}はテンプレートの番号(ここでは1〜36)を示す。また、図6中右辺は、マッチング処理の対象のブロック(ブロックB[n] (i,j))内の任意の画素の画素値と、任意のテンプレートのブロック(テンプレートT[n]{N}))内において、任意の画素に対応する位置の画素の画素値との差分の絶対値を、マッチング対象のブロック内のすべての画素について求めて加算することを示す。
【0067】
式6で求まる差分絶対値総和SAD[1] (i,j){N}は、マッチング対象のブロックと、テンプレートとの適合度が高いほど値が小さくなる。
【0068】
例えば、上述したブロックB[1] (2,2)と、テンプレートT[1]{1}に関して、差分絶対値総和SAD[1] (2,2){1}を求める場合には、マッチング処理部26は、ブロックB[1] (2,2) 内の任意の画素の画素値と、任意のテンプレートのブロック(テンプレートT[1]{1}=ブロックB[1] (1,1))内において、任意の画素に対応する位置の画素の画素値との差分の絶対値を、ブロックB[1] (2,2) 内のすべての画素について求めて加算し、絶対値総和SAD[1] (2,2){1}を求める。
【0069】
マッチング処理部26は、同様の処理を、ブロックB[1] (2,2)と、テンプレートT[1]{2}〜テンプレートT[1]{36}とのそれぞれについても行い、絶対値総和SAD[1] (2,2){2}〜絶対値総和SAD[1] (2,2){36}を求める。そして、次式を用いて、ブロックB[1] (2,2)についての評価値SAD[1] (2,2)を求める。
【0070】
【数4】

【0071】
式7中右辺のmin(X)は、Xの最小値を返す式であり、上述の例では、絶対値総和SAD[1] (2,2){1}〜絶対値総和SAD[1] (2,2){36}の最小値を評価値SAD[1] (2,2)とする。
【0072】
マッチング処理部26は、以上の処理を、ブロックB[1] (3,2)〜ブロックB[1] (9,9)についても行い、それぞれ、評価値SAD[1] (3,2)〜評価値SAD[1] (9,9)を求める。この結果、対象画像Img[1]中のマッチング対象のブロック(ブロックB[1] (2,2)〜ブロックB[1] (9,9)の8×8=64ブロック)のそれぞれについて、評価値SAD[1] (i,j)が求められる。
【0073】
また、マッチング処理部26は、同様の処理をローパス画像Img[2]およびImg[3]のそれぞれについても行い、ローパス画像Img[2]については、評価値SAD[2] (2,2)〜評価値SAD[2] (9,9)を求め、ローパス画像Img[3]については、評価値SAD[3] (2,2)〜評価値SAD[3] (9,9)を求める。
【0074】
なお、上述の例では、ステップS104においてテンプレートに設定されたブロックについてはマッチング処理を行わない例を示したが、テンプレートに設定されたブロックについても同様にマッチング処理を行っても良い。この場合には、評価値SAD[1] (i,j)の値は0となる。
【0075】
(ステップS106)
CPU14は、マップ作成部27により、対象画像Img[1]、ローパス画像Img[2]およびImg[3]のそれぞれについて、マップの作成を行う。
【0076】
以下では、対象画像Img[1]におけるマップの作成を例に挙げて説明する。マップ作成部27は、対象画像Img[1]についてステップS105で求めた評価値SAD[1] (2,2)〜評価値SAD[1] (9,9)に基づいて、対象画像Img[1]に関するマップSal[1]を作成する。
【0077】
マップ作成部27は、ステップS105で求めた評価値SAD[1] (2,2)〜評価値SAD[1] (9,9)を、それぞれ閾値THと比較して、各ブロックに割り当てる画素値を決定する。例えば、上述したブロックB[1] (2,2)に関して、マップ作成部27は、評価値SAD[1] (2,2)と、閾値THとを比較し、SAD[1] (2,2)>閾値THである場合には、ブロックB[1] (2,2)内のすべての画素の画素値を、SAD[1] (2,2)の値に置き換える。一方、SAD[1] (2,2)≦閾値THである場合には、マップ作成部27は、ブロックB[1] (2,2)内のすべての画素の画素値を0とする。
【0078】
なお、閾値THとは、ステップS105で求めた評価値SAD[n] (i,j)が取り得る範囲に応じて定められる閾値(ステップS103における分割数などに応じて決まる。例えば、評価値SAD[n] (i,j)が取り得る範囲の下側10%程度など)である。この閾値THが小さいほど、比較対象の評価値に対応するブロックに、主要被写体が存在すると推定される可能性(背景領域ではないと推定される可能性)が高くなり、この閾値THが大きいほど、主要被写体が存在しないと推定される可能性(背景領域であると推定される可能性)が高くなる。
【0079】
また、SAD[1] (2,2)>閾値THである場合とは、ブロックB[1] (2,2)には、主要被写体が存在すると推定できる、つまり、ブロックB[1] (2,2)は、背景領域ではないと推定できる場合である。このような場合、ブロックB[1] (2,2)内のすべての画素の画素値を、SAD[1] (2,2)の値に置き換えることにより、主要被写体に応じた画素値を割り当てることができる。一方、SAD[1] (2,2)≦閾値THである場合とは、ブロックB[1] (2,2)には、主要被写体が存在しないと推定できる、つまり、ブロックB[1] (2,2)は、背景領域であると推定できる場合である。このような場合、ブロックB[1] (2,2)内のすべての画素の画素値を0とすることにより、背景領域に応じた画素値を割り当てることができる。
【0080】
さらに、マップ作成部27は、ステップS104においてテンプレートとして設定した各ブロック(テンプレートT[1]{1}〜テンプレートT[1]{36}に対応する36個のブロック、図6参照)については、各ブロック内のすべての画素値を0とする。これは、上述した閾値THとの比較をしなくても、これらのブロックは、背景領域であると推定できるためである。
【0081】
上述した処理により、ブロックごとに新たな画素値を割り当てた全体を、対象画像Img[1]に関するマップSal[1]とする。
【0082】
また、マップ作成部27は、同様の処理をローパス画像Img[2]およびImg[3]のそれぞれについても行い、ローパス画像Img[2]については、マップSal[2]を作成し、ローパス画像Img[3]については、マップSal[3]を作成する。なお、ローパス画像Img[2]およびImg[3]に関するマップの作成においては、対象画像Img[1]に関するマップの作成に用いた閾値THと同じ閾値を用いても良いし、異なる閾値を用いても良い。
【0083】
最後に、マップ作成部27は、対象画像Img[1]に関するマップSal[1]、ローパス画像Img[2] に関するマップSal[2]、ローパス画像Img[3]に関するマップSal[3]に基づき、次式を用いて、最終的なマップSal[T]を作成する。
【0084】
【数5】

【0085】
式8中のw1,w2,w3は、各マップの重み付け量を示す。マップ作成部27は、マップSal[1]、マップSal[2]、マップSal[3]にそれぞれ重み付けを行い、各マップにおいて対応する各画素の画素値を、それぞれ加算することにより、マップSal[T]を作成する。
【0086】
なお、重みw1,w2,w3は、ステップS104で設定したテンプレートにおける周波数成分などにより定められる。例えば、上述したテンプレートにノイズが多い場合には、ローパス画像Img[2] に関するマップSal[2]の重みw2、ローパス画像Img[3]に関するマップSal[3]の重みw3を相対的に大きくし、ノイズが少ない場合には、対象画像Img[1]に関するマップSal[1]の重みw1を相対的に大きくすると良い。この他にも、例えば、対象画像Img[1]を撮影した際に、撮像装置において設定された撮影モード(「ポートレートモード」、「風景モード」など)や、被写体認識の結果などに基づいて、重みw1,w2,w3を定めても良い。
【0087】
図7に、このようにして作成されたマップSal[T]の例を示す。図7Aは、ステップS101で取得した対象画像Img[1]を示し、図7Bは、ステップS106で作成されたマップSal[T]を示す。図7Aにおいては、背景部分に枝、葉、金網などが写り込んでいる。このような部分は、従来の方法では背景であるにもかかわらず、主要被写体領域として認識されていた。しかし、本実施形態によれば、これらの部分の画像を利用してテンプレートを設定しているため、図7Bに示すように、これらの部分は、主要被写体領域として誤認識されず、主要被写体である鳥の部分のみがマップSal[T]に残ることになる。
【0088】
(ステップS107)
CPU14は、ステップS106で求めたマップSal[T]を、対象画像Img[1]と対応づけて記録する。例えば、マップSal[T]を、対象画像Img[1]の付帯情報として記録しても良いし、マップSal[T]に、その情報が対象画像Img[1]に関するものであることを示す識別情報を付与しても良い。
【0089】
(ステップS108)
CPU14は、ステップS106で求めたマップSal[T]に基づいて、対象画像Img[1]と、主要被写体領域を示す領域を示すマーカーとをモニタ19に重畳表示する。
【0090】
CPU14は、まず、マップSal[T]に基づいて、主要被写体領域を抽出する。CPU14は、マップSal[T]の各画素の値と所定の閾値TRとを比較し、閾値TRを超える画素をすべて含む最小矩形範囲を求めることにより、主要被写体領域を抽出する。なお、最小矩形範囲を求める際には、縦横比を固定して求める構成としても良い。
【0091】
なお、閾値TRとは、マップSal[T]に含まれる各画素が取り得る値の範囲に応じて定められる閾値である。この閾値TRが小さいほど、主要被写体領域として抽出される領域がより広くなる可能性が高くなり、この閾値TRが大きいほど、主要被写体領域として抽出される領域がより狭くなる可能性が高くなる。
【0092】
図8に、このようにして抽出された主要被写体領域の例を示す。図8Aは、図7Bに示したマップSal[T]に、上述した主要被写体領域を示す枠Faを重畳した図を示す。また、図8Bは、図7Aに示した対象画像Img[1]に、上述した主要被写体領域を示す枠Fbを重畳した図を示す。
【0093】
マップSal[T]においては、図8Aに示すように、背景部分に写り込んでいる枝、葉、金網などは、主要被写体領域から除外されるので、好適な主要被写体領域の抽出を実現することができる。
【0094】
次に、CPU14は、図8Bに示すように、対象画像Img[1]と、主要被写体領域を示す領域を示すマーカーである枠Fbとをモニタ19に重畳表示する。対象画像Img[1]においては、図8Bに示すように、背景部分に写り込んでいる枝、葉、金網などを除く部分に、主要被写体領域を示す枠Fbが表示される。
【0095】
なお、図8の例では、主要被写体領域を矩形に抽出する例を示したが、本発明はこの例に限定されない。例えば、楕円形、多角形、あるいは、主要被写体領域の輪郭に沿った不規則な形状など、どのような形状であっても良い。
【0096】
また、図8の例では、主要被写体領域を示す枠を表示する例を示したが、主要被写体領域が視認可能であれば、本発明はこの例に限定されない。例えば、枠を点滅させたり、所定の色の枠を表示しても良い。また、主要被写体領域とその他の領域との明るさや色を変えて表示しても良い。
【0097】
CPU14は、上述した表示を行うとマップを作成する処理を終了する。
【0098】
ここで、後述する新たな画像の作成以外に、マップSal[T]および抽出した主要被写体領域を利用する方法について例を挙げて説明する。上述したように、マップSal[T]に基づいて、主要被写体領域を抽出することにより、画像の撮影時および再生時に利用することができる。
【0099】
撮影時においては、以下の(a)および(b)の利用方法が考えられる。
(a)主要被写体領域(注目領域)への自動ズーム
撮影時において、構図確認用のいわゆるスルー画像に基づいてマップSal[T]を作成することにより、撮影中に主要被写体領域への自動ズームを行うことができる。例えば、主要被写体領域が所定の大きさよりも小さい場合には、主要被写体領域を中心として自動で光学ズームまたは電子ズームを行うことにより、適切な撮影を行うことができる。
【0100】
このような処理は、動画像の撮影時にも同様に行うことができる。何れの場合も、ズームの程度は、主要被写体領域がファインダ(撮影可能範囲)からはみ出ない程度に抑えることもできる。自動ズームを行うことにより、ユーザが撮影したいと思われる主要被写体を適切なズーム倍率で簡単に撮像することができる。
(b)AE,AF,AWBへの利用
撮影時において、構図確認用のいわゆるスルー画像に基づいてマップSal[T]を作成することにより、撮影中に実行するAE,AF,AWBを行う範囲を好適に制御することができる。また、従来から行われている被写体認識などにマップSal[T]の情報を利用しても良い。
【0101】
このようなAF,AE,AWB等の処理は、動画像の撮影時にも同様に行うことができる。何れの場合も、マップSal[T]に基づいて主要被写体領域を検出し、主要被写体領域の重心位置を中心として、AF,AE,AWB等を行えば良い。このような処理により、主要被写体領域の動きを追尾しながら、その主要被写体に適したAF,AE,AWB等を実行することができる。
【0102】
また、撮影時において、スルー画像に基づいてマップSal[T]を作成することにより、自動シャッタ制御を行うことができる。例えば、連続的に生成されるスルー画像に対して、一定の時間間隔でマップSal[T]を作成して主要被写体領域を検出し、検出した主要被写体領域の大きさと位置との少なくとも一方を監視する。そして、主要被写体領域の大きさと位置との少なくとも一方が予め定めた適切な条件(予め設定されていても、ユーザにより設定されていても良い)となった場合には、自動シャッタ制御を行う。
【0103】
このような自動シャッタ制御は、動画像の撮影時にも同様に行うことができる。何れの場合も、主要被写体領域の動きを追尾しながら、その主要被写体が好適な状態で自動的に撮像を行うことができる。
【0104】
なお、上述したAF,AE,AWB等の処理および自動シャッタ制御を行う際には、何フレームか前までの制御条件を記憶しておき、現在のフレームにおける制御条件が、以前のフレームにおける制御条件と比べて著しく異なる場合には、追尾を禁止するようにしても良い。
【0105】
また、再生時においては、以下の(c)および(d)の利用方法が考えられる。
(c)スライドショーにおけるズーム中心の決定
複数の画像を連続して再生、表示するスライドショーにおいて、画像の切り替え時などに表示効果としてズーム処理が良く行われる。このような場合に、マップSal[T]に基づいて主要被写体領域を抽出することにより、この主要被写体領域の中心をズーム中心とすることができる。その結果、ズーム処理の目的である「主要被写体領域(注目領域)を際立たせる」という効果に即した表示を行うことができる。
(d)主要被写体領域(注目領域)の自動クロップ
複数の画像を一覧表示する際に、画像の一部を切り出して拡大する自動クロップにより、主要被写体領域のみを表示することが行われている。このような表示を行うことにより、複数の画像を一覧表示する際に、余分な情報を表示することなく、一覧性を保ったまま、一画面中に多量の画像を表示することができる。このような表示の例を図9に示す。図9Aは、従来の一覧表示の例である。このような表示の際に、マップSal[T]に基づいて自動クロップを行い、主要被写体領域のみを一覧表示する例を図9Bに示す。
【0106】
なお、このような自動クロップは、撮影直後に表示される確認画像(いわゆるフリーズ画像)にも適用可能である。確認画像を表示する際に、自動クロップを行うことにより、ユーザは、主要被写体領域におけるピントの確認や手ブレの確認などを、容易に行うことができる。また、画像の再生時に、ユーザにより拡大表示の指示が行われた際にも、同様の処理を行うことにより、同様の効果を得ることができる。
【0107】
なお、自動クロップを行う際には、クロップの後の画像が適切なアスペクト比となるように、この主要被写体領域を縦方向もしくは横方向へ引き伸ばしてからクロップ処理を行っても良い。このように、アスペクト比を維持したクロップ処理を行うことにより、クロップ後の画像をアスペクト比が固定の外部装置などに出力する際にも、クロップ前の画像(対象画像)のアスペクト比を維持することができる。
【0108】
<新たな画像の生成について>
次に、図10および図11の流れ図を参照しつつ、マップの作成新たな画像の生成における画像処理装置の動作例を説明する。なお、図10および図11の図中のステップ番号はそれぞれ対応している。
【0109】
(ステップS201)
CPU14は、ユーザにより指定された対象画像のデータとマップとを取得する。なお、マップは、予め上述した方法により取得され、対象画像と対応づけて記録されたものである。以下では、図12に示す3枚の画像(Img[t=1],Img[t=2],Img[t=3])を取得した場合を例に挙げて説明を行う。
【0110】
(ステップS202)
CPU14は、画像生成部28により、主要被写体画像の抽出を行う。画像生成部28は、ステップS201で取得した3枚の画像(Img[t=1],Img[t=2],Img[t=3])のそれぞれについて、対応づけられたマップに基づいて主要被写体画像の抽出を行う。図11に示すように、Img[t=1]から抽出した主要被写体画像をMimg[t=1]と称し、Img[t=2] から抽出した主要被写体画像をMimg[t=2]と称し、Img[t=3] から抽出した主要被写体画像をMimg[t=3]と称する。図13に、主要被写体画像Mimg[t=1]を例示する。
【0111】
(ステップS203)
CPU14は、画像生成部28により、背景画像の抽出を行う。画像生成部28は、ステップS201で取得した3枚の画像(Img[t=1],Img[t=2],Img[t=3])の少なくとも1枚ついて、対応づけられたマップに基づいて背景画像の抽出を行う。ここでは、図11に示すように、Img[t=1]について背景画像を抽出し、この背景画像をBimgα[t=1]と称する。図13に、背景画像BMimgα[t=1]を例示する。背景画像BMimgα[t=1]は、図13に示すように、主要被写体画像に対応する部分が欠損した画像となる。
【0112】
(ステップS204)
CPU14は、画像生成部28により、ステップS203で抽出した背景画像Bimgα[t=1]の補完処理を行う。例えば、画像生成部28は、図13に示すように、欠損部分を除く部分の画像に基づいて、欠損部分を補完する処理を行っても良い。また、ステップS203において、複数の対象画像から複数の背景画像を抽出しておき、任意の1枚の背景画像について、別の背景画像に基づいて、欠損部分を補完する処理を行っても良い。さらに、予め欠損部分の補完に適した画像をいくつか用意しておき、このような画像を用いて欠損部分を補完する処理を行っても良い。欠損部分を補完した後の背景画像をBimgβ[t=1]と称し、図13に、背景画像BMimgβ[t=1]を例示する。
【0113】
(ステップS205)
CPU14は、画像生成部28により、ステップS202で抽出した複数の主要被写体画像に基づいて、動き情報の演算を行う。動き情報の演算は公知技術と同様に行われる。なお、画像生成部28は、ステップS202で抽出した複数の主要被写体画像に基づいて動き情報を演算しても良いし、ステップS201で取得したマップの情報に基づいて動き情報を演算しても良い。例えば、ステップS201で取得したマップのうち、白色画素の重心を求めることにより動き情報を演算しても良い。さらに、ステップS202で抽出した複数の主要被写体画像とステップS201で取得したマップとの両方に基づいて動き情報を演算しても良い。動き情報には、主要被写体の動きの向きや速さなどの情報が含まれ、以下では、動き情報をInfo[M]と称する。
【0114】
(ステップS206)
CPU14は、画像生成部28により、画像処理を行う。画像生成部28は、画像処理によって、新たな画像として、特定の画像効果を有する静止画像または動画像を生成する。また、画像生成部28は、静止画像および動画像のそれぞれについて、3D画像を生成する。また、画像生成部28は、静止画像および動画像のそれぞれについて、画像情報や文字情報を挿入する処理を行う。新たな画像としてどのような画像を生成するかは、ユーザ指示により定められても良いし、CPU14が適宜選択する構成としても良い。以下では、静止画像を生成する場合と、動画像を生成する場合と、3D画像を生成する場合と、画像情報や文字情報を挿入する場合とに分けて、主要被写体画像に対する画像処理の内容と背景画像に対する画像処理の内容とを説明する。
【0115】
(1)新たな画像として静止画像を生成する場合
画像生成部28は、ステップS202で抽出した主要被写体画像の少なくとも1つと、ステップS203で抽出し、ステップS204で補完処理を施した背景画像とを、ステップS205で演算した動き情報Info[M]に基づいて合成することにより、新たな画像として静止画像を生成する。
【0116】
(1)−a 主要被写体画像に関する画像処理
画像生成部28は、(A)複数の主要被写体画像を合成し、合成後の主要被写体画像を背景画像内の任意の1つの位置に配置するか、(B)動き情報Info[M]に応じて、複数の主要被写体画像を合成した主要被写体画像を背景画像内の異なる位置にそれぞれ配置するか、(C)動き情報Info[M]に応じて、任意の1つの主要被写体画像を背景画像内の異なる位置にそれぞれ配置するか、(D)動き情報Info[M]に応じて、複数の主要被写体画像を背景画像内の異なる位置にそれぞれ配置することにより静止画像を生成する。図14に上述した(A)〜(D)の方法で生成した静止画像を例示する。
【0117】
まず、(A)の方法では、画像生成部28は、ステップS202で抽出した主要被写体画像Mimg[t=1]〜主要被写体画像Mimg[t=3]を重畳合成し、重畳主要被写体画像Smig[t=1〜3]を生成する。そして、この重畳主要被写体画像Smig[t=1〜3]を、ステップS204で補完処理を施した背景画像BMimgβ[t=1]の任意の1つの位置に配置することにより、主要被写体に動きが感じられる画像を生成することができる。
【0118】
(B)の方法では、画像生成部28は、(A)で説明した重畳主要被写体画像Smig[t=1〜3]を、動き情報Info[M]に応じて、ステップS204で補完処理を施した背景画像BMimgβ[t=1]内の異なる位置にそれぞれ配置することにより、主要被写体に動きが感じられる画像を生成することができる。
【0119】
(C)の方法では、画像生成部28は、ステップS202で抽出した主要被写体画像Mimg[t=1]〜主要被写体画像Mimg[t=3]のうち、任意の1つの主要被写体画像(図14の例では、主要被写体画像Mimg[t=1]を例示)を、動き情報Info[M]に応じて、ステップS204で補完処理を施した背景画像BMimgβ[t=1]内の異なる位置にそれぞれ配置することにより、主要被写体に動きが感じられる画像を生成することができる。
【0120】
(D)の方法では、画像生成部28は、ステップS202で抽出した主要被写体画像Mimg[t=1]〜主要被写体画像Mimg[t=3]を、動き情報Info[M]に応じて、ステップS204で補完処理を施した背景画像BMimgβ[t=1]内の異なる位置にそれぞれ配置することにより、主要被写体に動きが感じられる画像を生成することができる。
【0121】
なお、(B)〜(D)における配置位置の変化量は、一定の量であっても良いし、変則的な量であっても良い。例えば、変化量を徐々に多くすることにより、主要被写体が加速するような表現を実現することも可能である。
【0122】
(1)−b 背景画像に関する画像処理
画像生成部28は、ステップS204で補完処理を施した背景画像BMimgβ[t=1]に対して、動き情報Info[M]に応じた方向にブレを発生させる処理を施し、処理後の背景画像BMimgβ[t=1]と、主要被写体画像Mimg[t=1]〜主要被写体画像Mimg[t=3]のうち少なくとも1枚の主要被写体画像とに基づき新たな画像として静止画像を生成する。
【0123】
この処理を行う場合、画像生成部28は、例えば、動き情報Info[M]に即したポイントスプレッドファンクション(PSF:点光源を撮影した際の像面上の軌跡に相当)を生成し、生成したPSFと背景画像BMimgβ[t=1]とを畳み込み演算することにより、擬似的に主要被写体の動き方向にブレが発生した背景画像を生成することができる。
【0124】
この処理は、画像生成部28において常に行っても良いし、ユーザの選択に応じて行っても良い。また、この処理は(1)−aで説明した全ての主要被写体画像について適応可能である。
【0125】
図15に、ブレを発生させる処理後の背景画像BMimgβ[t=1]、および、処理後の背景画像BMimgβ[t=1]と、(1)−aの(A)で例示した重畳主要被写体画像Smig[t=1〜3]とに基づいて生成した静止画像を例示する。
【0126】
このように、擬似的に背景をブラした背景画像を用いることにより、擬似的に流し撮りを行ったかのような静止画像を得ることができる。
≪マクロ風効果に関する追加≫
上述した例では、ステップS204で補完処理を施した背景画像BMimgβ[t=1]に対して、ブレを発生する処理を施す例を示したが、ステップS204で補完処理を施した背景画像BMimgβ[t=1]に対して、ぼかし効果を加える処理を施しても良い。このような処理により、擬似的にマクロ撮影を行ったかのような静止画像を得ることができる。
【0127】
(2)新たな画像として動画像を生成する場合
画像生成部28は、ステップS202で抽出した主要被写体画像の少なくとも1つと、ステップS203で抽出し、ステップS204で補完処理を施した背景画像とを、ステップS205で演算した動き情報Info[M]に基づいて合成することにより、新たな画像として、複数のフレームから成る動画像を生成する。
【0128】
(2)−a 主要被写体画像に関する画像処理
(2)−a−1 主要被写体画像自体に関する画像処理
画像生成部28は、フレーム毎の主要被写体画像として、以下の(A)〜(C)の何れかを用いる。
【0129】
(A)全てのフレームにおいて、(1)−aの(A)で例示した重畳主要被写体画像Smig[t=1〜3]を主要被写体画像として用いる。
【0130】
(B)全てのフレームにおいて、ステップS202で抽出した主要被写体画像Mimg[t=1]〜主要被写体画像Mimg[t=3]のうち、任意の1つの主要被写体画像を用いる。
【0131】
(C)フレーム毎に、主要被写体画像Mimg[t=1]〜主要被写体画像Mimg[t=3]の何れかを用いることにより、フレームのそれぞれにおいて異なる主要被写体画像を用いる。
【0132】
(2)−a−2 主要被写体画像を配置する位置に関する画像処理
画像生成部28は、フレーム毎の主要被写体画像を、以下の(A)〜(C)の何れかの位置に配置する。
【0133】
(A)全てのフレームにおいて、任意の1つの位置に主要被写体画像を配置する。
【0134】
(B)フレーム毎に、動き情報Info[M]に基づく異なる位置に主要被写体画像を配置する。
【0135】
(C)フレーム毎に、動き情報Info[M]に基づいて、複数の主要被写体画像を、背景画像内の異なる位置にそれぞれ配置する。
【0136】
なお、(B)および(C)における配置位置の変化量は、一定の量であっても良いし、変則的な量であっても良い。例えば、変化量を徐々に多くすることにより、主要被写体が加速するような表現を実現することも可能である。
【0137】
また、(2)−a−1の(A)〜(C)で説明した各主要被写体画像の内容と、(2)−a−2の(A)〜(C)で説明した各主要被写体画像を配置する位置とは、どのような組み合わせであっても良い。一例として、図16に、(2)−a−1の(C)で説明した主要被写体画像を、(2)−a−2の(B)で説明した位置にそれぞれ配置する場合の各フレームの画像を例示する。
【0138】
(2)−b 背景画像に関する画像処理
画像生成部28は、(1)−bで説明したものと同様の、動き情報Info[M]に応じた方向にブレを発生させる処理やぼかし効果を加える処理を施す。この処理は、画像生成部28において常に行っても良いし、ユーザの選択に応じて行っても良い。また、この処理は(2)−aで説明した全ての主要被写体画像について適応可能である。
【0139】
さらに、画像生成部28は、以下の(A)〜(C)の少なくとも1つの処理を行うことにより、複数のフレームのそれぞれにおいて異なる背景画像を用意しても良い。この場合、それぞれの背景画像と、(2)−aで説明した何れかの主要被写体画像とに基づいて、動画像を構成する各フレームを生成することができる。
【0140】
(A)トリミング処理
フレーム毎に、背景画像BMimgβ[t=1]の異なる部分をトリミングして、各フレームの背景画像として用いる。例えば、図17に例示するように、動き情報Info[M]に基づいて、トリミング位置をずらした背景画像をフレーム毎に用いる。図17の例では、背景画像に欠損部分が発生する。この部分については、図17のように黒色の表示を行っても良いし、他の色表示や画像の表示を行っても良い。
【0141】
このような欠損部分を生じさせないように、図18の例のようなトリミング処理を行っても良い。図18の例では、背景画像BMimgβ[t=1]の一部分のみをトリミングすることにより、上述した欠損部分が生じない。
【0142】
なお、図17および図18の例においては、(2)−a−1の(A)で説明した主要被写体画像を、(2)−a−2の(A)で説明した位置にそれぞれ配置する場合の例を示している。また、上述した各トリミング時におけるトリミング位置の変化量は、一定の量であっても良いし、変則的な量であっても良い。例えば、変化量を変化させすることにより、主要被写体が変速的に移動するような表現を実現することも可能である。このとき、トリミング処理により背景画像BMimgβ[t=1]よりも画像サイズが小さくなることが考えられる。このような場合には、適宜画像のリサイズを行っても良い。
【0143】
(B)拡大処理
(A)で説明したトリミング処理をより効果的に行うために、トリミング処理の前に画像の拡大処理を行う。例えば、図19に示すように、背景画像BMimgβ[t=1]を横方向(動き情報Info[M]に基づいて拡大方向や拡大倍率を決定すると良い。)に2倍に拡大する。その後に、(A)で説明したトリミング処理を行うことにより、上述した欠損部分が生じるのをさらに抑えることができる。
【0144】
なお、図19の例では横方向にのみ拡大する例を示したが、縦方向に拡大する構成としても良い。また、背景画像BMimgβ[t=1]の縦横比を維持したまま拡大処理を行っても良い。
【0145】
(C)背景画像の少なくとも一部を複製して、複製前の背景画像に連結する処理
(A)で説明したトリミング処理をより効果的に行うために、トリミング処理の前に背景画像BMimgβ[t=1]の複製および連結する処理を行う。例えば、図20に示すように、背景画像BMimgβ[t=1]に発生する欠損部分に対して、トリミング位置の変更によりはみ出る部分の画像を連結する。その後に、(A)で説明したトリミング処理を行うことにより、上述した欠損部分が生じるのをさらに抑えることができる。なお、この処理は、(B)で説明した拡大処理と組み合わせて行っても良い。このような処理を行うことにより、いわゆる走馬燈のように背景が流れていく表現を実現することができる。なお、連結部分には、不整合が生じる場合が考えられる。このような場合には、連結部分にスムージング処理やグラデーション処理などを施すことにより、不自然さを抑えることが期待できる。
【0146】
(3)新たな画像として3D画像を生成する場合
画像生成部28は、(1)で説明した静止画像および(2)で説明した動画像に基づいて、仮想三次元モデリングを行うことにより3D画像を生成する。以下では、(1)で説明した静止画像に基づいて、仮想三次元モデリングを行う場合を例に挙げて説明する。(2)で説明した動画像に基づいて、仮想三次元モデリングを行う場合にも、フレーム毎に同様の処理を行えば良い。
【0147】
画像生成部28は、図21に例示するように、観察および表示の方向である方向Vに対して、主要被写体画像と背景画像との間に、奥行き方向における距離Zを設定し、設定した距離Zに基づいて、公知の仮想三次元モデリングを行うことにより示唆に応じた左目用画像および右目用画像から成る3D画像を生成する。なお、距離Zは、どのように決定しても良い。例えば、はじめに取得した対象画像について、撮影条件を取得可能な場合には、撮影条件に含まれる距離情報に基づいて、距離Zを決定すると良い。このような3D画像を生成することにより、奥行き感や立体感を持った表現を実現することができる。
【0148】
(4)画像情報や文字情報を挿入する処理を行う場合
≪吹き出しetcに関する追記≫
画像生成部28は、(1)で説明した静止画像、(2)で説明した動画像および(3)で説明した3D画像に対して、主要被写体領域の位置に応じた位置に、画像情報や文字情報を挿入する処理を行う。以下では、(2)で説明した動画像に対して、吹き出しに文字が含まれた画像情報を挿入する場合を例に挙げて説明する。(1)で説明した静止画像や(3)で説明した3D画像に画像情報や文字情報を挿入する場合にも、同様の処理を行えば良い。なお、各処理の順序は問わない。すなわち、例えば、以下に説明する画像情報や文字情報を挿入する処理を行った後に、(3)で説明した3D画像の生成を行っても良い。
【0149】
画像生成部28は、図22に例示するように、ステップS201で取得したマップに基づいて、主要被写体領域を除く位置に吹き出しの画像を挿入する。このとき、例えば、主要被写体領域の重心位置を求め、吹き出しの頂点の位置を重心位置にしても良いし、吹き出しの頂点の向きを重心位置の方向に合わせても良い。また、図22に例示した吹き出しは一例であり、その数、形状、大きさはどのようなものであっても良い。さらに、図22では、吹き出しを例示したが、その他どのような画像情報や文字情報を挿入しても良い。また、挿入する画像情報や文字情報の一部が主要被写体領域と重なっても良い。また、画像情報や文字情報を敢えて主要被写体領域に挿入しても良い。
【0150】
このように画像情報や文字情報の挿入を行うことにより、画像によって伝えたいメッセージなどを効果的に追加することができる。
≪主要被写体のみ利用に関する追記≫
なお、(1)から(4)で説明した各処理において、ステップS202で抽出した主要被写体画像のみに基づいて、新たな画像を生成しても良い。すなわち、ステップS202で抽出した主要被写体画像に基づいて新たな静止画像、動画像、3D画像を生成することにより、上述した各処理を、Webやメールなどで使用されるアニメーション、アイコンや絵文字などの作成に利用することができる。
【0151】
主要被写体画像のみを利用する際には、主要被写体領域の輪郭に沿って新たな画像を生成しても良いし、主要被写体領域を含む矩形の領域に沿って新たな画像を生成するなど、どのような方法を用いても良い。
【0152】
例えば、図23に示すように、ステップS202で抽出した主要被写体画像の1つを、フレームごとに大きさが変化する動画像としても良い。同様に、図24に示すように、ステップS202で抽出した主要被写体画像の1つを、フレームごとに位置が変化する動画像としても良い。なお、大きさや位置を変化させる他に、回転、点滅、色の変更等を行っても良い。
【0153】
また、例えば、図25に示すように、ステップS202で抽出した複数の主要被写体画像に基づいて、主要被写体画像のみから動画像を生成しても良い。また、例えば、ある被写体を複数の角度から撮影した一連の画像に基づいて、上述した処理を行うことにより、図26に示すように、主要被写体が回転するような動画像を生成することもできる。
【0154】
さらに、このような主要被写体画像のみに基づく新たな画像の生成に際して、ステップS203で抽出した背景画像とは異なる任意の画像を利用しても良い。例えば、図27に示すように、図25に例示した各主要被写体画像と、既存の星型の図形とを組み合わせて動画像を生成しても良い。このように、任意の画像を利用することにより、さらに豊かな表現をもつ新たな画像を生成することができる。
【0155】
また、生成する新たな画像のサイズを、利用用途に合わせて自動で拡大または縮小するようにしても良い。
【0156】
なお、このような処理においては、(1)から(4)で説明した各処理をどのように組み合わせても良い。また、(1)から(4)で説明した各処理により生成された画像を用いて、さらに新たな画像を生成しても良い。
【0157】
(ステップS207)
CPU14は、ステップS207の画像処理により生成した新たな画像を記録する。なお、生成した新たな画像が動画像である場合、記録に際して、以下の2種類の方法が考えられる。
【0158】
(1)未合成の状態で記録する。
【0159】
CPU14は、複数のフレームのそれぞれについて、主要被写体画像と、背景画像と、背景画像に主要被写体を合成する際の配置を示す情報とを関連づけて記録する。このような記録を行う場合、動画像の編集時や表示時に、上述した情報に基づいて、主要被写体画像と背景画像とを合成することにより、最終的な動画像を生成、表示することができる。
【0160】
(2)合成後の状態で記録する。
【0161】
CPU14は、上述したステップS206で説明した画像処理に際し、複数のフレームのそれぞれにおいて、主要被写体画像と背景画像とを合成する処理を画像生成部28により行う。そして、ステップS207においては、合成後の各フレームの画像を新たな画像として記録する。
【0162】
(ステップS208)
CPU14は、ステップS207の画像処理により生成した新たな画像をモニタ19に表示する。
【0163】
なお、上述した例では、ユーザによるプログラム実行指示に応じて、一連の処理を実行する例を示したが、本発明はこの例に限定されない。例えば、マップの作成および新たな画像の生成を、ユーザ指示に応じたタイミングで行っても良い。また、データ読込部12を介して、外部から画像のデータを読み込むたびに、自動で一連の処理を実行しても良い。また、本実施形態で説明した画像処理装置を備えた撮像装置においては、撮像を行う際に一連の処理を実行する構成としても良い。また、本実施形態で説明した画像処理装置を備えた再生装置においては、画像の再生を行う際に一連の処理を実行する構成としても良い。
【0164】
上記のように、第1実施形態の画像処理装置は、対象画像を複数のブロックに分割し、複数のブロックのうち、対象画像の外周部に存在する複数のブロックの画像に基づいて、複数のテンプレートを設定する。そして、対象画像を分割した複数のブロックの各々について代表値を算出し、マッチング対象のブロックの代表値と、複数のテンプレートにおける代表値とをそれぞれ比較することによるマッチングを、複数のブロックごとに行い、マッチングの結果に基づいて、対象画像における被写体の分布を示すマップを作成する。そして、複数の対象画像ごとのマップに基づいて、複数の対象画像のそれぞれから主要被写体画像を抽出するとともに、複数の対象画像ごとのマップに基づいて、複数の対象画像のうち、任意の1枚の対象画像から背景画像を抽出し、複数の主要被写体画像に基づいて、主要被写体の動き情報を演算するとともに、動き情報に応じて、少なくとも1枚の主要被写体画像と、背景画像とに基づく新たな画像を生成する。
【0165】
よって、第1実施形態の構成によれば、主要被写体画像と背景画像とを抽出し、好適な画像処理を行うことにより興趣に富む新たな画像を生成することができる。
【0166】
特に、第1実施形態の構成によれば、従来のような画一的な修正とは違い、背景画像に効果を加えたり、変速的な時間の変化や変則的な主要被写体の移動など、様々な効果を加えたりすることが可能である。
【0167】
なお、第1実施形態のマップの作成においては、ステップS101で取得した対象画像Img[1]の画像データに基づいて、ローパス画像Img[2]およびImg[3]を生成する例を示したが、本発明はこの例に限定されない。例えば、3枚以上のローパス画像を生成する構成としても良い。この場合、生成した複数のローパス画像のそれぞれについてマップSal[n]を作成し、作成した複数のマップSal[n]を適宜重み付けして加算することにより、本実施形態と同様にマップSal[T]を作成することができる。
【0168】
また、第1実施形態のマップの作成においては、ステップS101で取得した対象画像Img[1]の画像データに基づいて、ローパス画像Img[2]およびImg[3]を生成する例を示したが、ローパス画像Img[2]およびImg[3]の生成を行わなくても良い。すなわち、ステップS101で取得した対象画像Img[1]についてのみ、ステップS103からステップS105の処理を行い、ステップS106において説明した、対象画像Img[1]に関するマップSal[1]をそのままマップSal[T]としても良い。
【0169】
また、第1実施異形態のマップ作成において、対象画像の外周部とは、例えば、対象画像の上下端からそれぞれ対象画像の高さの30%程度の範囲、および、対象画像の左右端からそれぞれ対象画像の幅の30%程度の範囲と考えることができる。
【0170】
また、第1実施形態の新たな画像の生成においては、主要被写体が画面内において横方向に移動する場合を例に挙げて説明したが、本発明はこの例に限定されない。例えば、主要被写体が、画面内の縦方向や斜め方向に移動する場合であっても、本発明を同様に適用することができる。
【0171】
また、第1実施形態の新たな画像の生成において、ステップS204で説明した背景画像の補完処理は必ず行わなければならないものではなく、この処理を省略しても良い。
【0172】
また、第1実施形態の新たな画像の生成において、新たな画像として動画像を生成する際には、1枚の背景画像に基づいて動画像を生成する場合を例に挙げて説明したが、本発明はこの例に限定されない。例えば、ステップS203において複数の背景画像を抽出し、フレーム毎に異なる背景画像を用いる構成としても良いし、時間の経過に応じて、用いる背景画像を変える構成としても良い。
【0173】
<第2実施形態の説明>
以下、第2実施形態の画像処理装置の動作例を説明する。第2実施形態は第1実施形態において説明したマップの作成におけるS102の処理の変形例である。なお、本明細書では以下の実施形態の説明において、第1実施形態と共通する画像処理装置の構成の重複説明は省略する。
【0174】
第2実施形態の例では、第1実施形態におけるS102の処理に代えて、以下の処理を行う。
【0175】
(ステップS102)
CPU14は、領域分割部24により、ステップS101で取得した対象画像Img[1]の画像データに基づいて、リサイズ画像Img[2]およびImg[3]を生成する。リサイズ画像Img[2]の生成は、以下の式9により行われ、リサイズ画像Img[3]の生成は、以下の式10により行われる。
【0176】
【数6】

【0177】
式9および式10中右辺のResize(X,Y)は、Xを倍率Yでリサイズ処理することを示す式である。領域分割部24は、式9に示すように、対象画像Img[1]を倍率rt1でリサイズしてリサイズ画像Img[2]を生成するとともに、式10に示すように、対象画像Img[1]を倍率rt2でリサイズしてリサイズ画像Img[3]を生成する。なお、倍率rt1および倍率rt2は、予め定められた倍率であり、ともに1未満で、rt1≠rt2である。
【0178】
なお、上述の例では、対象画像Img[1]の画像データに基づいて、リサイズ画像Img[2]およびImg[3]を生成する例を示したが、対象画像Img[1]の画像データに基づいて、リサイズ画像Img[2]を生成し、生成したリサイズ画像Img[2] の画像データに基づいて、リサイズ画像Img[3]を生成しても良い。
【0179】
ステップS103以降の処理において、CPU14は、ローパス画像Img[2]およびImg[3]に代えて、リサイズ画像Img[2]およびImg[3]を利用し、第1実施形態と同様の処理を行う。ただし、ステップS106において、マップSal[T]を作成する際には、式8に代えて、次式を用いる。
【0180】
【数7】

【0181】
式11中のrt1およびrt2は、上述したリサイズ処理時の倍率rt1および倍率rt2である。リサイズ処理により、リサイズ画像Img[2]およびImg[3]は、対象画像Img[1]よりもサイズが小さくなるため、リサイズ画像Img[2]に関するマップSal[2]およびリサイズ画像Img[3]に関するマップSal[3]も、対象画像Img[1] に関するマップSal[1]よりもサイズが小さくなる。そのため、ステップS106において、マップSal[T]を作成する際には、リサイズ処理時の倍率rt1および倍率rt2の逆数をそれぞれ乗じてサイズをそろえた後に、重み付けおよび加算処理を行う。
【0182】
上記のように、第2実施形態の画像処理装置は、第1実施形態で説明したマップの作成において、ローパス処理に代えて、ローパス処理と同様の低解像化処理(帯域制限処理)であるリサイズ処理を行う。そのため、第1実施形態において説明したマップの作成とほぼ同様の効果を得ることができる。また、第2実施形態の画像処理装置は、ローパス処理の代わりにリサイズ処理を行うことにより、マップの作成における処理の高速化が期待できる。
【0183】
<第3実施形態の説明>
以下、第3実施形態の画像処理装置の動作例を説明する。第3実施形態は第1実施形態および第2実施形態において説明したマップの作成におけるS104の処理の変形例である。なお、本明細書では以下の実施形態の説明において、第1実施形態および第2実施形態と共通する画像処理装置の構成の重複説明は省略する。
【0184】
第3実施形態の例では、第1実施形態におけるS104の処理に代えて、以下の処理を行う。
【0185】
(ステップS104)
CPU14は、テンプレート設定部25により、S103の分割処理による複数のブロックから、下辺を除く3辺に存在するすべてのブロックを選択し、テンプレートとして設定する。テンプレート設定部25は、テンプレートの設定を対象画像Img[1]、ローパス画像Img[2]およびImg[3]のそれぞれについて行う。
【0186】
以下では、対象画像Img[1]におけるテンプレートの設定を例に挙げて説明する。テンプレート設定部25は、図28Aに示すように、対象画像Img[1]の下辺を除く3辺に存在するブロック(図28A中、斜線で示したブロック)を選択し、テンプレートとして設定する。すなわち、図5で示した複数のブロックのうち、上辺に存在するブロックB[1] (1,1)〜ブロックB[1] (10,1)の10個のブロックと、左辺に存在するブロックB[1] (1,2)〜ブロックB[1] (1,10)の9個のブロックと、右辺に存在するブロックB[1] (10,2)〜ブロックB[1] (10,10)の9個のブロックとの、合計28個のブロックをテンプレートとして設定する。なお、以下では、左上から右下の方向にテンプレートに番号Nを付し、各テンプレートをテンプレートT[1]{N}と表記する。上述したように、対象画像Img[1]の下辺を除く3辺に存在する28個のブロックが選択されると、図28に示すように、テンプレートT[1]{1}〜テンプレートT[1]{28}の28個のテンプレートが設定されることになる。
【0187】
下辺を除く3辺に存在するすべてのブロックをテンプレートとして設定するのは、下辺に存在するブロックをテンプレートとして設定しないためである。これは、例えば、図28Aに示すようなバストアップの人物像のように、画像の下辺には、主要被写体(または主要被写体の延長)が存在する場合があり、そのような場合においては、下辺に存在するブロックは、テンプレートとして適さないためである。主要被写体が存在するブロックをテンプレートとして設定してしまうと、主要被写体が存在するブロックまで背景領域として抽出されてしてしまう。このような問題に対処するために、下辺を除く3辺に存在するすべてのブロックをテンプレートとして設定する。
【0188】
なお、画像の上下は、対象画像Img[1]の撮像時における撮像装置の姿勢情報等に基づいて認識することができる。さらに、自動被写体認識や顔認識などの結果に基づいて、画像の上下を認識しても良い。例えば、図28Bに示すような横位置の画像については、対象画像Img[1]の 左辺を除く3辺に存在するブロック(図28B中、斜線で示したブロック)を選択し、テンプレートとして設定すればよい。
【0189】
テンプレート設定部25は、同様の処理をローパス画像Img[2]およびImg[3]のそれぞれについても行い、ローパス画像Img[2]については、テンプレートT[2]{1}〜テンプレートT[2]{28}を設定し、ローパス画像Img[3]については、テンプレートT[3]{1}〜テンプレートT[3]{28}を設定する。
【0190】
ステップS105以降の処理において、CPU14は、第1実施形態と同様の処理を行う。ただし、ステップS105において、差分絶対値総和SAD[1] (i,j){N}の算出対象となるテンプレートは、テンプレートT[1]{1}〜テンプレートT[1]{28}の28個のテンプレートとなる。
【0191】
上記のように、第3実施形態の画像処理装置は、マップの作成において、対象画像のうち、下辺を除く3辺に存在するすべてのブロックの画像に基づいて、複数のテンプレートを設定する。そのため、マップの作成において、対象画像の下辺に主要被写体が存在する画像についても、好適なテンプレートを設定することができる。また、テンプレートの数を減らすことにより、マップの作成における処理の高速化が期待できる。
【0192】
なお、第3実施形態においては、マップの作成において、下辺を除く3辺に存在するすべてのブロックの画像に基づいて、複数のテンプレートを設定する例を示したが、左辺および右辺に存在するすべてのブロックの画像に基づいて、複数のテンプレートを設定しても良い。
【0193】
また、第1実施形態および第3実施形態では、マップの作成において、対象となる辺(第1実施形態では、4辺すべて、第3実施形態では、3辺または2辺)に存在するすべてのブロックの画像に基づいて、複数のテンプレートを設定する例を示したが、一部のブロックの画像に基づいて、複数のテンプレートを設定しても良い。例えば、下辺を除く3辺に存在するすべてのブロックの画像と、下辺に存在する予め定められた一部のブロックの画像とに基づいて、テンプレートを設定しても良い。また、四隅に存在するブロックの画像に基づいて、複数のテンプレートを設定しても良い。
【0194】
<第4実施形態の説明>
以下、第4実施形態の画像処理装置の動作例を説明する。第4実施形態は、上記した第3実施形態と同様に、第1実施形態および第2実施形態において説明したマップの作成におけるS104の処理の変形例である。したがって、第3実施形態と同様に、本明細書では以下の実施形態の説明において、第1実施形態および第2実施形態と共通する画像処理装置の構成の重複説明は省略する。
【0195】
第4実施形態の例では、第1実施形態におけるS104の処理に代えて、以下の処理を行う。
【0196】
(ステップS104)
CPU14は、テンプレート設定部25により、マッチング対象のブロックの、画像内における位置に基づいて、S103の分割処理による複数のブロックから、画像の最外周に存在するすべてのブロックから、一部のブロックを選択し、テンプレートとして設定する。テンプレート設定部25は、テンプレートの設定を対象画像Img[1]、ローパス画像Img[2]およびImg[3]のそれぞれについて行う。
【0197】
以下では、対象画像Img[1]におけるテンプレートの設定を例に挙げて説明する。テンプレート設定部25は、最外周に存在するブロック除くブロック(ブロックB[1] (2,2)〜ブロックB[1] (9,9)の8×8=64ブロック)のそれぞれについて、個別にテンプレートを設定する。テンプレート設定部25は、対象画像Img[1]内におけるブロックB[1] (i,j)の位置に基づいて、対象画像Img[1]の最外周に存在するすべてのブロックのうち、上辺に存在するブロックB[1] (i−1,1),ブロックB[1] (i,1),ブロックB[1] (i+1,1)と、左辺に存在するブロックB[1] (1,j−1),ブロックB[1] (1,j),ブロックB[1] (1,j+1)と、右辺に存在するブロックB[1] (10,j−1),ブロックB[1] (10,j),ブロックB[1] (10,j+1)と、下辺に存在するブロックB[1] (i−1,10),ブロックB[1] (i,10),ブロックB[1] (i+1,10)とを選択してテンプレートとして設定する。
【0198】
例えば、図29に示すように、ブロックB[1] (6,4)について、テンプレートを設定する場合には、上辺に存在するブロックB[1] (5,1),ブロックB[1] (6,1),ブロックB[1] (7,1)と、左辺に存在するブロックB[1] (1,3),ブロックB[1] (1,4),ブロックB[1] (1,5)と、右辺に存在するブロックB[1] (10,3),ブロックB[1] (10,4),ブロックB[1] (10,5)と、下辺に存在するブロックB[1] (5,10),ブロックB[1] (6,10),ブロックB[1] (7,10)とを選択してテンプレートとして設定する。すなわち、テンプレート設定部25は、図5で示した複数のブロックのうち、合計12個のブロックをテンプレートとして設定する。
【0199】
なお、以下では、左上から右下の方向にテンプレートに番号Nを付し、各テンプレートをテンプレートT[1](i,j){N}と表記する。テンプレートT[1](i,j){N}中の(i,j)は、ブロックB[1] (i,j)に関して設定されたテンプレートであることを示す。
【0200】
上述したように、ブロックB[1] (6,4)の位置に基づいて12個のブロックが選択されると、図29に示すように、テンプレートT[1] (6,4){1}〜テンプレートT[1] (6,4){12}の12個のテンプレートが設定されることになる。
【0201】
テンプレート設定部25は、同様の処理をローパス画像Img[2]およびImg[3]のそれぞれについても行い、ローパス画像Img[2]については、ブロックB[2] (2,2)〜ブロックB[2] (9,9)のそれぞれのブロックについて、テンプレートT[2] (i,j){1}〜テンプレートT[2] (i,j){12}を設定する。また、ローパス画像Img[3]については、ブロックB[3] (2,2)〜ブロックB[3] (9,9)のそれぞれのブロックについて、テンプレートT[3] (i,j){1}〜テンプレートT[3] (i,j){12}を設定する。
【0202】
ステップS105以降の処理において、CPU14は、第1実施形態と同様の処理を行う。ただし、ステップS105において、マッチング処理を行う際には、ブロックごとに異なるテンプレートを用いて差分絶対値総和SAD[n] (i,j){N}を求める。また、差分絶対値総和SAD[n] {N}の算出対象となるテンプレートは、各ブロックごとに、それぞれテンプレートT[n] (i,j){1}〜テンプレートT[n] (i,j){12}の12個のテンプレートとなる。
【0203】
なお、上述の例では、テンプレート設定部25は、対象画像Img[1]内におけるブロックB[1] (i,j)の位置に基づいて、対象画像Img[1]の最外周に存在するすべてのブロックのうち、それぞれの辺ごとに3つのブロックを選択してテンプレートとして設定する例を示した。しかし、変数a(ただし、aは0以上の整数)を用いて、それぞれの辺ごとに(2a+1)個のブロックを選択する構成としても良い。すなわち、上辺に存在するブロックB[1] (i−a,1)〜ブロックB[1] (i+a,1)と、左辺に存在するブロックB[1] (1,j−a)〜ブロックB[1] (1,j+a)と、右辺に存在するブロックB[1] (10,j−a)〜ブロックB[1] (10,j+a)と、下辺に存在するブロックB[1] (i−a,10)〜ブロックB[1] (i+a,10)とを選択してテンプレートとして設定すればよい。なお、変数aは、ステップS103で行ったブロック分割時の分割数などに応じて定めれば良い。
【0204】
上記のように、第4実施形態の画像処理装置は、マップの作成において、マッチング対象のブロックの、対象画像内における位置に基づいて、対象画像の最外周に存在するすべてのブロックから、一部のブロックを選択し、選択した複数のブロックの画像に基づいて複数のテンプレートを設定する。
【0205】
よって、第4実施形態の構成によっても、第3実施形態と同様に、マップの作成において、テンプレートの数を減らし、処理の高速化が期待できる。
【0206】
なお、第1実施形態から第4実施形態では、マップの作成において、最外周に存在するブロックの画像に基づいて、複数のテンプレートを設定する例を示したが、本発明はこの例に限定されない。例えば、最外周の1周内側に存在するブロックの画像に基づいて、複数のテンプレートを設定しても良い。例えば、図5の例では、上辺の1周内側に存在するブロックB[1] (2,2)〜ブロックB[1] (9,2)の8個のブロックと、左辺の1周内側に存在するブロックB[1] (2,3)〜ブロックB[1] (2,90)の7個のブロックと、右辺の1周内側に存在するブロックB[1] (9,3)〜ブロックB[1] (9,9)の7個のブロックとの、合計22個のブロックをテンプレートとして設定しても良い。このような設定とすることにより、例えば、対象画像Img[1]が、額縁に入った絵である場合など、構図がある程度決まっている場合にも好適に対応することができる。
【0207】
また、各辺におけるブロック数は同一でなくても良い。例えば、上辺については、2ライン分のブロックの画像に基づいて複数のテンプレートを設定し、左辺および右辺については1ライン分のブロックの画像に基づいて複数のテンプレートを設定しても良い。
【0208】
<第5実施形態の説明>
以下、第5実施形態の画像処理装置の動作例を説明する。第5実施形態は、上記した第1実施形態から第4実施形態において説明したマップの作成におけるS105の処理の変形例である。なお、本明細書では以下の実施形態の説明において、第1実施形態から第4実施形態と共通する画像処理装置の構成の重複説明は省略する。
【0209】
第5実施形態の例では、第1実施形態におけるS105の処理に代えて、以下の処理を行う。
【0210】
(ステップS105)
CPU14は、マッチング処理部26により、対象画像Img[1]、ローパス画像Img[2]およびImg[3]のそれぞれについて、マッチング処理を行う。
【0211】
以下では、対象画像Img[1]におけるマッチング処理を例に挙げて説明する。マッチング処理部26は、対象画像Img[1]について、ステップS103でブロック分割した各ブロック(ブロックB[1] (1,1)〜ブロックB[1] (10,10))について、次式を用いて周波数特徴量を求める。なお、ステップS104で設定したテンプレートに対応するブロック(テンプレートT[1]{1}〜テンプレートT[1]{36})については、式12を用いて周波数特徴量f[1]{N}を求め、対象画像Img[1]から、ステップS104で設定したテンプレートを除く部分(ブロックB[1] (2,2)〜ブロックB[1] (9,9)の8×8=64ブロック)のそれぞれについては、式13を用いて周波数特徴量f[1] (i,j)を求める。
【0212】
【数8】

【0213】
フーリエ変換の詳細については、第1実施形態のステップS102で説明したものと同様である。マッチング処理部26は、周波数特徴量f[1]{1}〜周波数特徴量f[1]{36}および、周波数特徴量f[1] (2,2) 〜周波数特徴量f[1] (9,9)をそれぞれ求め、対象画像Img[1]から、ステップS104で設定したテンプレートを除く部分のそれぞれについて、評価値fSAD[1] (i,j)を求める。
【0214】
一例として、マッチング対象のブロックのうち、ブロックB[1] (2,2)について、評価値fSAD[1] (2,2)を求める場合を例に挙げる。マッチング処理部26は、ブロックB[1] (2,2)の周波数特徴量f[1] (2,2)と、ステップS104で設定したテンプレート(テンプレートT[1]{1}〜テンプレートT[1]{36})の周波数特徴量f[1]{1}〜周波数特徴量fT[1]{36}とをそれぞれ比較し、次式に示す差分絶対値総和fSAD[1] (i,j){N}を求める。
【0215】
【数9】

【0216】
式14中左辺の[n]は画像の種類(ここではn=1)を示し、(i,j)はブロックの位置(ここでは、i=2,j=2)を示し、{N}はテンプレートの番号(ここでは1〜36)を示す。また、式14中右辺は、マッチング処理の対象のブロック(ブロックB[n] (i,j))内の任意の画素に対応する周波数特徴量f[1] (i,j)の値と、任意のテンプレートのブロック(テンプレートT[n]{N}))内において、任意の画素に対応する位置の画素に対応する周波数特徴量fT[1]{N}の値との差分の絶対値を、マッチング対象のブロック内のすべての画素に対応する領域(=B[n] (i,j)の台)について求めて加算することを示す。
【0217】
式14で求まる差分絶対値総和fSAD[1] (i,j){N}は、マッチング対象のブロックと、テンプレートとの適合度が高いほど値が小さくなる。
【0218】
例えば、上述したブロックB[1] (2,2)と、テンプレートT[1]{1}に関して、差分絶対値総和fSAD[1] (2,2){1}を求める場合には、マッチング処理部26は、ブロックB[1] (2,2) 内の任意の画素に対応する周波数特徴量f[1] (2,2)の値と、任意のテンプレートのブロック(テンプレートT[1]{1}=ブロックB[1] (1,1))内において、任意の画素に対応する位置の画素に対応する周波数特徴量fT[1]{1}の値との差分の絶対値を、ブロックB[1] (2,2) 内のすべての画素に対応する領域(=B[1] (2,2)の台)について求めて加算し、絶対値総和fSAD[1] (2,2){1}を求める。
【0219】
マッチング処理部26は、同様の処理を、ブロックB[1] (2,2)と、テンプレートT[1]{2}〜テンプレートT[1]{36}とのそれぞれについても行い、絶対値総和fSAD[1] (2,2){2}〜絶対値総和fSAD[1] (2,2){36}を求める。そして、次式を用いて、ブロックB[1] (2,2)についての評価値fSAD[1] (2,2)を求める。
【0220】
【数10】

【0221】
式15中右辺のmin(X)は、Xの最小値を返す式であり、上述の例では、絶対値総和fSAD[1] (2,2){1}〜絶対値総和SAD[1] (2,2){36}の最小値を評価値fSAD[1] (2,2)とする。
【0222】
マッチング処理部26は、以上の処理を、ブロックB[1] (3,2)〜ブロックB[1] (9,9)についても行い、それぞれ、評価値fSAD[1] (3,2)〜評価値fSAD[1] (9,9)を求める。この結果、対象画像Img[1]中のマッチング対象のブロック(ブロックB[1] (2,2)〜ブロックB[1] (9,9)の8×8=64ブロック)のそれぞれについて、評価値fSAD[1] (i,j)が求められる。
【0223】
また、マッチング処理部26は、同様の処理をローパス画像Img[2]およびImg[3]のそれぞれについても行い、ローパス画像Img[2]については、評価値fSAD[2] (2,2)〜評価値SAD[2] (9,9)を求め、ローパス画像Img[3]については、評価値fSAD[3] (2,2)〜評価値SAD[3] (9,9)を求める。
【0224】
ステップS106以降の処理において、CPU14は、対象画像Img[1]については、評価値SAD[1] (2,2)〜評価値SAD[1] (9,9)に代えて、評価値fSAD[1] (2,2)〜評価値fSAD[1] (9,9)に基づいて、対象画像Img[1]に関するマップSal[1]を作成する。ローパス画像Img[2]およびImg[3]についても同様である。
【0225】
上記のように、第5実施形態の画像処理装置は、マップの作成において、ブロック内に含まれる画素ごとの画素値を算出した後に、ブロック内に含まれる画素値に対してフーリエ変換を行うことにより代表値を算出する。そして、マッチング対象のブロック内の任意の代表値と、任意のテンプレートのブロック内において、任意の代表値に対応する代表値との差分の絶対値を、マッチング対象のブロック内のすべての画素に対応する代表値について求めて加算した値である差分絶対値総和を、複数のテンプレートのそれぞれについて求め、求めた複数の差分絶対値総和のうち、最小の前記差分絶対値総和の値を、マッチング対象のブロックに関する評価値とする。そのため、マップの作成において、第1実施形態の構成とほぼ同様の効果を得ることができる。
【0226】
なお、第5実施形態においては、ステップS105において、フーリエ変換を行う例を示したが、周波数領域への画像変換であれば、どのような変換処理を行っても良い。例えば、離散コサイン変換や、ウェーブレット変換などを行っても良い。さらに、複数の方法を組み合わせて、周波数領域への画像変換を行っても良い。
【0227】
<第6実施形態の説明>
以下、第6実施形態の画像処理装置の動作例を説明する。第6実施形態は、上記した第5実施形態と同様に、第1実施形態から第4実施形態において説明したマップの作成におけるS105の処理の変形例である。したがって、第5実施形態と同様に、本明細書では以下の実施形態の説明において、第1実施形態から第4実施形態と共通する画像処理装置の構成の重複説明は省略する。
【0228】
第6実施形態の例では、第1実施形態におけるS105の処理に代えて、以下の処理を行う。
【0229】
(ステップS105)
CPU14は、マッチング処理部26により、対象画像Img[1]、ローパス画像Img[2]およびImg[3]のそれぞれについて、マッチング処理を行う。
【0230】
以下では、対象画像Img[1]におけるマッチング処理を例に挙げて説明する。マッチング処理部26は、対象画像Img[1]について、ステップS103でブロック分割した各ブロック(ブロックB[1] (1,1)〜ブロックB[1] (10,10))について、次式を用いて代表色特徴量を求める。なお、ステップS104で設定したテンプレートに対応するブロック(テンプレートT[1]{1}〜テンプレートT[1]{36})については、式16を用いて代表色特徴量CL[1]{N}を求め、対象画像Img[1]から、ステップS104で設定したテンプレートを除く部分(ブロックB[1] (2,2)〜ブロックB[1] (9,9)の8×8=64ブロック)のそれぞれについては、式17を用いて代表色特徴量CL[1] (i,j)を求める。
【0231】
【数11】

【0232】
式16中右辺のCLr[n]{N}、CLg[n]{N}、CLb[n]{N}は、それぞれ、テンプレートT[n]{N}内におけるRGB各色の画素値ごとの最頻値(モード)を示す。なお、最頻値が複数ある場合には、最も小さい画素値に対応する最頻値を採用しても良いし、平均値を採用しても良い。
【0233】
また、式17中右辺のCLr[n] (i,j)、CLg[n] (i,j)、CLb[n] (i,j)は、それぞれ、ブロックB[n] (i,j)内におけるRGB各色の画素値ごとの最頻値(モード)を示す。
【0234】
次に、マッチング処理部26は、対象画像Img[1]について、ステップS103でブロック分割した各ブロック(ブロックB[1] (1,1)〜ブロックB[1] (10,10))について、次式を用いて第2代表色特徴量を求める。なお、ステップS104で設定したテンプレートに対応するブロック(テンプレートT[1]{1}〜テンプレートT[1]{36})については、式18〜式21を用いて第2代表色特徴量Q[1]{N}を求め、対象画像Img[1]から、ステップS104で設定したテンプレートを除く部分(ブロックB[1] (2,2)〜ブロックB[1] (9,9)の8×8=64ブロック)のそれぞれについては、式22〜式25を用いて第2代表色特徴量Q[1] (i,j)を求める。
【0235】
【数12】

【0236】
式19中右辺のPr[n]{N}は、テンプレートT[n]{N}内におけるR成分の相対ヒストグラムを示す。同様に、式20中右辺のPg[n]{N}は、テンプレートT[n]{N}内におけるG成分の相対ヒストグラムを示し、式21中右辺のPb[n]{N}は、テンプレートT[n]{N}内におけるB成分の相対ヒストグラムを示す。また、式23中右辺のPr[n] (i,j)は、ブロックB[n] (i,j)内におけるR成分の相対ヒストグラムを示す。同様に、式24中右辺のPg[n] (i,j)は、ブロックB[n] (i,j)内におけるG成分の相対ヒストグラムを示し、式25中右辺のPb[n] (i,j)は、ブロックB[n] (i,j)内におけるB成分の相対ヒストグラムを示す。また、式19〜式21および式23〜式25において、和を表すΣを求める範囲は、各相対ヒストグラムのbin数(分割数)によって決まる。
【0237】
マッチング処理部26は、代表色特徴量CL[1]{1}〜代表色特徴量CLf[1]{36}および代表色特徴量CL[1] (2,2) 〜代表色特徴量CL[1] (9,9)をそれぞれ求めるとともに、第2代表色特徴量Q[1]{1}〜第2代表色特徴量Q[1]{36}および、第2代表色特徴量Q[1] (2,2) 〜第2代表色特徴量Q[1] (9,9)をそれぞれ求める。そして、対象画像Img[1]から、ステップS104で設定したテンプレートを除く部分のそれぞれについて、ブロックごとに評価値V[1] (i,j)を求める。
【0238】
一例として、マッチング対象のブロックのうち、ブロックB[1] (2,2)について、評価値V[1] (2,2)を求める場合を例に挙げる。マッチング処理部26は、ブロックB[1] (2,2)の代表色特徴量CL[1] (2,2)および第2代表色特徴量Q[1] (2,2)と、ステップS104で設定したテンプレート(テンプレートT[1]{1}〜テンプレートT[1]{36})の代表色特徴量CL[1]{1}〜代表色特徴量CLf[1]{36}および第2代表色特徴量Q[1]{1}〜第2代表色特徴量Q[1]{36}とをそれぞれ比較し、次式に示す差分絶対値総和V[1] (i,j){N}を求める。
【0239】
【数13】

【0240】
式26中左辺の[n]は画像の種類(ここではn=1)を示し、(i,j)はブロックの位置(ここでは、i=2,j=2)を示し、{N}はテンプレートの番号(ここでは1〜36)を示す。また、式26中右辺は、マッチング処理の対象のブロック(ブロックB[n] (i,j))の各特徴量と、任意のテンプレートのブロック(テンプレートT[n]{N}))の各特徴量との差分の絶対値をそれぞれ求め、加算することを示す。
【0241】
式26で求まる差分絶対値総和V[1] (i,j){N}は、マッチング対象のブロックと、テンプレートとの適合度が高いほど値が小さくなる。
【0242】
マッチング処理部26は、同様の処理を、ブロックB[1] (2,2)と、テンプレートT[1]{2}〜テンプレートT[1]{36}とのそれぞれについても行い、絶対値総和V[1] (2,2){2}〜絶対値総和V[1] (2,2){36}を求める。そして、次式を用いて、ブロックB[1] (2,2)についての評価値V[1] (2,2)を求める。
【0243】
【数14】

【0244】
式27中右辺のmin(X)は、Xの最小値を返す式であり、上述の例では、絶対値総和V[1] (2,2){1}〜絶対値総和V[1] (2,2){36}の最小値を評価値V[1] (2,2)とする。
【0245】
マッチング処理部26は、以上の処理を、ブロックB[1] (3,2)〜ブロックB[1] (9,9)についても行い、それぞれ、評価値V[1] (3,2)〜評価値V[1] (9,9)を求める。この結果、対象画像Img[1]中のマッチング対象のブロック(ブロックB[1] (2,2)〜ブロックB[1] (9,9)の8×8=64ブロック)のそれぞれについて、評価値V [1] (i,j)が求められる。
【0246】
また、マッチング処理部26は、同様の処理をローパス画像Img[2]およびImg[3]のそれぞれについても行い、ローパス画像Img[2]については、評価値V[2] (2,2)〜評価値V[2] (9,9)を求め、ローパス画像Img[3]については、評価値V[3] (2,2)〜評価値V[3] (9,9)を求める。
【0247】
ステップS106以降の処理において、CPU14は、対象画像Img[1]については、評価値SAD[1] (2,2)〜評価値SAD[1] (9,9)に代えて、評価値V[1] (2,2)〜評価値V[1] (9,9)に基づいて、対象画像Img[1]に関するマップSal[1]を作成する。ローパス画像Img[2]およびImg[3]についても同様である。
【0248】
上記のように、第6実施形態の画像処理装置は、マップの作成において、代表値として、対象画像を構成する複数の色成分の分布に基づいて、色に関する特徴を示す値を、複数のブロックごとに算出する。そして、マッチング対象のブロックの代表値と、任意のテンプレートのブロックの代表値との差分を加算した値である差分絶対値総和を、複数のテンプレートのそれぞれについて求め、求めた複数の差分絶対値総和のうち、最小の差分絶対値総和の値を、マッチング対象のブロックに関する評価値とする。そのため、マップの作成において、第1実施形態の構成とほぼ同様の効果を得ることができる。
【0249】
なお、第6実施形態では、色に関する特徴を示す値として、代表色特徴量および第2代表色特徴量を例に挙げて説明したが、いずれか一方のみを用いても良い。また、式26において示した差分絶対値総和V[n] (i,j){N}を求める際には、代表色特徴量および第2代表色特徴量に適宜重み付けを行っても良い。
【0250】
<第6実施形態の変形例の説明>
なお、第6実施形態のS103からステップS105の処理を、以下のように変形しても良い。
【0251】
(ステップS103)
CPU14は、領域分割部24により、ステップS101で取得した対象画像Img[1]、ステップS102で生成したローパス画像Img[2]およびImg[3]を、それぞれ、複数のブロックに分割する。ただし、領域分割部24は、図30に示すように、対象画像Img[1]を、外周に存在するブロックB[1] (1,1)と、その内側に存在する8×8のマトリクス状のブロックB[1] (2,2)〜B[1] (9,9)とに分割する。また、領域分割部24は、ローパス画像Img[2]およびImg[3]についても同様に分割する。
【0252】
(ステップS104)
CPU14は、テンプレート設定部25により、S103の分割処理による複数のブロックから、外周に存在するブロックB[1] (1,1)を選択し、テンプレートとして設定する。テンプレート設定部25は、図31に示すように、テンプレートの設定を対象画像Img[1]、ローパス画像Img[2]およびImg[3]のそれぞれについて行う。つまり、この変形例において、テンプレート設定部25は、1つのブロックをテンプレートT[1]{1}として設定する。
【0253】
(ステップS105)
CPU14は、マッチング処理部26により、対象画像Img[1]、ローパス画像Img[2]およびImg[3]のそれぞれについて、マッチング処理を行う。
【0254】
以下では、対象画像Img[1]におけるマッチング処理を例に挙げて説明する。マッチング処理部26は、対象画像Img[1]について、ステップS103でブロック分割した各ブロック(ブロックB[1] (1,1),B[1] (2,2)〜ブロックB[1] (9,9))について、上述した代表色特徴量を求める。また、ステップS104で設定したテンプレートに対応するブロック(テンプレートT[1]{1})について、上述した代表色特徴量CL[1]{1}を求め、対象画像Img[1]から、ステップS104で設定したテンプレートを除く部分(ブロックB[1] (2,2)〜ブロックB[1] (9,9)の8×8=64ブロック)のそれぞれについて、上述した代表色特徴量CL[1] (i,j)を求める。
【0255】
次に、マッチング処理部26は、対象画像Img[1]について、ステップS103でブロック分割した各ブロック(ブロックB[1] (1,1) ,B[1] (2,2)〜ブロックB[1] (9,9))について、上述した第2代表色特徴量を求める。なお、ステップS104で設定したテンプレートに対応するブロック(テンプレートT[1]{1})については、上述した第2代表色特徴量Q[1]{1}を求め、対象画像Img[1]から、ステップS104で設定したテンプレートを除く部分(ブロックB[1] (2,2)〜ブロックB[1] (9,9)の8×8=64ブロック)のそれぞれについては、上述した第2代表色特徴量Q[1] (i,j)を求める。
【0256】
マッチング処理部26は、代表色特徴量CL[1]{1}および代表色特徴量CL[1] (2,2) 〜代表色特徴量CL[1] (9,9)をそれぞれ求めるとともに、第2代表色特徴量Q[1]{1}および、第2代表色特徴量Q[1] (2,2) 〜第2代表色特徴量Q[1] (9,9)をそれぞれ求める。そして、対象画像Img[1]から、ステップS104で設定したテンプレートを除く部分のそれぞれについて、ブロックごとに評価値V[1] (i,j)を求める。
【0257】
一例として、マッチング対象のブロックのうち、ブロックB[1] (2,2)について、評価値V[1] (2,2)を求める場合を例に挙げる。マッチング処理部26は、ブロックB[1] (2,2)の代表色特徴量CL[1] (2,2)および第2代表色特徴量Q[1] (2,2)と、ステップS104で設定したテンプレート(テンプレートT[1]{1})の代表色特徴量CL[1]{1}および第2代表色特徴量Q[1]{1}とをそれぞれ比較し、上述した差分絶対値総和V[1] (2,2){1}を求める。
【0258】
マッチング処理部26は、以上の処理を、ブロックB[1] (3,2)〜ブロックB[1] (9,9)についても行い、それぞれ、評価値V[1] (3,2)〜評価値V[1] (9,9)を求める。この結果、対象画像Img[1]中のマッチング対象のブロック(ブロックB[1] (2,2)〜ブロックB[1] (9,9)の8×8=64ブロック)のそれぞれについて、評価値V [1] (i,j)が求められる。
【0259】
また、マッチング処理部26は、同様の処理をローパス画像Img[2]およびImg[3]のそれぞれについても行い、ローパス画像Img[2]については、評価値V[2] (2,2)〜評価値V[2] (9,9)を求め、ローパス画像Img[3]については、評価値V[3] (2,2)〜評価値V[3] (9,9)を求める。
【0260】
以上説明したように、対象画像Img[1]を等分割でなく分割し、分割の結果、唯一のテンプレートとなるブロックB[1] (1,1)を、テンプレートT[1]{1}として設定する構成としても良い。この場合も、マップの作成において、第6実施形態と同様の効果を得ることができる。
【0261】
なお、図30に示した分割例および図31に示したテンプレートの設定例は一例であり、本発明はこの例に限定されない。分割は、どのような形状で行っても良いし、複数のブロックの画像に基づいてテンプレートを設定しても良い。
【0262】
<第7実施形態の説明>
以下、第7実施形態の画像処理装置の動作例を説明する。第7実施形態は、第1実施形態から第6実施形態におけるマップの作成の変形例である。したがって、本明細書では以下の実施形態の説明において、第1実施形態から第6実施形態と共通する画像処理装置の構成の重複説明は省略する。
【0263】
第7実施形態の例では、第1実施形態から第6実施形態におけるマップの作成処理において、テンプレートを追加する処理を行う。
【0264】
図32は、第1実施形態の図3に示したフローチャートの変形例を示すフローチャートである。
(ステップS301〜ステップS306)
CPU14は、図3に示したフローチャートのステップS101〜ステップS106と同様の処理を行う。
(ステップS307)
CPU14は、ステップS306で求めたマップSal[T]に基づいて、追加するテンプレートがあるか否かを判定する。CPU14は、追加するテンプレートありと判定すると、ステップS304に戻り、再びテンプレートの設定を行う。一方、CPU14は、追加するテンプレートなしと判定すると、ステップS308に進む。
【0265】
CPU14は、ステップS303の分割処理による複数のブロックのうち、テンプレートに設定されていないブロックについて、マップSal[T]の各画素の値の代表値を求める。代表値は、平均値や中央値等どのような方法で求めても良い。そして、求めた代表値が、所定の閾値より小さいブロックがある場合には、追加するテンプレートありと判定する。代表値が、所定の閾値より小さいブロックとは、背景領域であると推測できるブロックであるしたがって、このようなブロックをテンプレートとして追加することにより、より精度の良いマップを作成することができる。
【0266】
CPU14は、追加するテンプレートなしと判定されるまで、ステップS304からステップS307の処理を繰り返す。このような処理を繰り返すことにより、結果として、外周部でない部分(=中央に近い部分)の各ブロックがテンプレートとして設定される場合もある。そのため、主要被写体領域が中心にない構図の対象画像であっても、適切にテンプレートを設定し、精度の良いマップを作成することができる。
【0267】
また、例えば、対象画像の背景部分にグラデーションがかかっている場合にも、テンプレートの追加は有用である。背景部分の外側から内側に向かって色が薄くなる(または明るくなる)グラデーションがかかっている場合、中央に近いブロック程、外周部分に存在するブロックとの差異が出やすくなる。したがって、これらのブロックはマップの値が大きくなるため、主要被写体領域として検出されてしまう可能性が高い。しかし、上述したように、テンプレートの追加を行う場合、差異の少ない隣接するブロックが徐々にテンプレートとして追加されるので、背景領域である部分に存在するブロックを、確実にテンプレートに設定することができる。
【0268】
なお、特許4334981号の発明では、画像の周辺部分を背景テンプレートとして選択し、各ブロックの物理的な距離による重み付けをすることで、画像の内側の背景も正確に検出する技術が開示されている。しかし、上記の発明では、物理的な距離による重み付けに起因して、主要被写体領域についても、中央部分に近くなるほど、背景領域として検出されやすい傾向がある。これに対して、上述したテンプレートを追加する方法によれば、物理的な距離よる重み付けを用いないため、主要被写体の物理的な位置に関係なく、その部分がテンプレートとして設定されたブロックに対応する部分と似ていなければ背景領域として検出される可能性は低い。
(ステップS308〜ステップS309)
CPU14は、図3に示したフローチャートのステップS307〜ステップS308と同様の処理を行う。
【0269】
以上説明したように、テンプレートの追加を行うことにより、より精度の高いマップを作成することができる。
【0270】
<第8実施形態の説明>
図33は、第8実施形態での電子カメラの構成例を示すブロック図である。電子カメラ31は、撮像光学系32と、撮像素子33と、画像処理エンジン34と、ROM35と、メインメモリ36と、記録I/F37と、ユーザの操作を受け付ける操作部38と、不図示のモニタを備えた表示部39を有している。ここで、撮像素子33、ROM35、メインメモリ36、記録I/F37、操作部38および表示部39は、それぞれ画像処理エンジン34に接続されている。
【0271】
撮像素子33は、撮像光学系32によって結像される被写体の像を撮像し、撮像した画像の画像信号を生成する撮像デバイスである。なお、撮像素子33から出力された画像信号は、A/D変換回路(不図示)を介して制御部に入力される。
【0272】
画像処理エンジン34は、電子カメラ31の動作を統括的に制御するプロセッサである。例えば、画像処理エンジン34は、撮像した画像のデータに対して各種の画像処理(色補間処理、階調変換処理、輪郭強調処理、ホワイトバランス調整、色変換処理など)を施す。また、画像処理エンジン34は、プログラムの実行により、上記した第1実施形態から第7実施形態のいずれかの画像処理装置(CPU14、ローパス画像生成部23、領域分割部24、テンプレート設定部25、マッチング処理部26、マップ作成部27、画像生成部28)として機能する。
【0273】
ROM35には、画像処理エンジン34によって実行されるプログラムが記憶されている。また、メインメモリ36は、画像処理の前工程や後工程で画像のデータを一時的に記憶する。
【0274】
記録I/F37は、不揮発性の記憶媒体40を接続するためのコネクタを有している。そして、記録I/F37は、コネクタに接続された記憶媒体40に対してデータの書き込み/読み込みを実行する。上記の記憶媒体40は、ハードディスクや、半導体メモリを内蔵したメモリカードなどで構成される。なお、図33では記憶媒体40の一例としてメモリカードを図示する。
【0275】
表示部39は、画像処理エンジン34から取得した画像データを表示するとともに、第1実施形態のステップS108で説明した表示を行う。
【0276】
第8実施形態の電子カメラ31は、ユーザの撮像指示をトリガとする撮像工程において、撮像素子33で撮像された画像を対象画像として取得し、上記実施形態のいずれかの画像処理装置と同様の処理によりマップSal[T]の作成および新たな画像の生成を行う。なお、画像処理エンジン34は、対象画像のデータを含む画像ファイルに、マップSal[T]を付帯情報として記録してもよい。また、メインメモリ36などに記録された画像を対象画像として、同様の処理を行っても良い。以上により、第8実施形態の電子カメラ31は、上記実施形態とほぼ同様の効果を得ることができる。
【0277】
<実施形態の補足事項>
(1)マップの作成に関して、上記各実施形態では対象画像のデータがRGB形式である例を説明したが、本発明は上記実施形態の構成に限定されるものではない。本発明の画像処理装置は、例えばYCbCr色空間やL色空間などの他の色空間の画像データについても適用することができる。
【0278】
(2)マップの作成に関して、上記各実施形態で説明した各変数、係数、閾値などは一例であり本発明はこの例に限定されない。例えば、第1実施形態のステップS103におけるブロック分割は10×10で行う例を示しが、他の分割数であっても良い。
【0279】
また、例えば、第1実施形態のステップS103におけるブロック分割は、10×10の領域に重なり部分が発生しないように行う例を示したが、重なり部分を有するように分割を行っても良い。このように、オーバーラップする部分を含めて分割を行うことにより、主要被写体領域が複数のブロックにまたがって存在する場合でも、マップの精度を向上させることが期待できる。さらに、中央部分などを主要被写体領域と見なすことにより、一部の領域を初めから除外してブロック分割を行っても良い。
【0280】
(3)上記各実施形態では、図6に示したように、主要被写体領域が1つである場合を例に挙げて説明したが、本発明はこの例に限定されない。例えば、図34Aに示す対象画像Img[1]について、上記各実施形態で説明した処理を行うことにより、図34Bに示すマップSal[T]を作成することができる。このような場合、作成したマップSal[T]に基づいて、主要被写体領域の抽出を行うと、図35Aに示すように、マップSal[T]において複数の主要被写体領域を抽出することができる。さらに、図35Bに示すように、対象画像Img[1]において、複数の主要被写体領域を抽出することができる。なお、複数の主要被写体領域を抽出する場合には、公知のラベリング技術やクラスタリングによるグループ化処理などを用いることにより、複数の主要被写体領域を分けて認識することができる。
【0281】
上述したように、複数の主要被写体領域を抽出した場合、複数の主要被写体領域の何れかを選択するか、複数の主要被写体領域の情報を総合して、上記各実施形態で説明した処理を各主要被写体領域ごとに行えば良い。
【0282】
複数の主要被写体領域の何れかを選択する場合には、例えば、面積の大きい主要被写体領域を選択する方法や、その主要被写体領域を構成する画素に対応するマップの値の総和の高い主要被写体領域を選択する方法などが考えられる。逆に、上述したマップの値の総和の低い主要被写体領域や面積の小さい主要被写体領域を除外することで、ノイズに相当する部分を削除できる可能性が高まる。また、複数の主要被写体領域の何れかをユーザ操作に基づいて選択する構成としても良い。
【0283】
上述したように、複数の主要被写体領域の何れかを選択する場合には、第1実施形態の(a)に示した主要被写体領域への自動ズーム時に、選択された主要被写体領域へのズームが行われる。また、第1実施形態の(b)に示したAF,AE,AWBへの利用においては、選択された主要被写体領域に応じたAF,AE,AWB制御や、自動シャッタ制御が行われる。特に、自動シャッタ制御においては、複数の主要被写体領域の情報を総合して、全体を1つの主要被写体領域と見なしてしまうと、何れの主要被写体領域にも含まれない部分に対してAF制御を行ってしまうおそれがある。しかし、複数の主要被写体領域の何れかを選択することにより、複数の主要被写体領域の何れかに対して確実にAF制御を行うことができる。また、第1実施形態の(c)に示したスライドショーにおけるズーム中心の決定においては、選択された主要被写体領域の中心がズーム中心として決定される。また、第1実施形態の(d)に示した主要被写体領域の自動クロップにおいては、選択された主要被写体領域に対して自動クロップが行われる。
【0284】
また、第1実施形態で説明した新たな画像の生成においても、複数の主要被写体領域に応じた処理を行えばよい。例えば、図10のフローチャートを用いて説明した処理においては、ステップS202において複数の主要被写体画像を抽出し、ステップS205において、各主要被写体画像ごとの動き情報を演算する。そして、ステップS207の画像処理においては、何れかの主要被写体画像を選択して同様の処理を行っても良いし、複数の主要被写体画像のそれぞれについて画像処理を行っても良い。例えば、(4)で説明した画像情報や文字情報を挿入する処理については、何れかの主要被写体画像を選択して画像情報や文字情報を挿入する処理を行っても良いし、それぞれの主要被写体画像に対して、画像情報や文字情報を挿入する処理を行っても良い。
【0285】
また、ステップS202で抽出した主要被写体画像のみに基づいて、新たな画像を生成する際には、それぞれの主要被写体画像に対して処理を独立に行うことにより、複数の新たな画像を生成しても良い。
【0286】
(4)本発明の画像処理装置は、上記実施形態のパーソナルコンピュータの例に限定されない。本発明の画像処理装置は、デジタルの画像の再生表示機能やレタッチ機能を有する電子機器(例えば、フォトビューアー、デジタルフォトフレーム、写真の印刷装置など)であってもよい。また、本発明の撮像装置は、携帯電話端末のカメラモジュールとして実装されるものであってもよい。
【0287】
(5)マップの作成に関して、上記実施形態のマッチング処理の方法は一例であり、本発明はこの例に限定されない。本発明では、基本的に差分絶対値総和を用いる例を説明したが、例えば照明変化にロバストにするために、正規化相関を用いてマッチング処理を行うようにしてもよい。また、例えば、Mpeg−7で定義される各種画像特徴量(Edge HistgramやScalable Color)などを用いてマッチング処理を行っても良い。また、マッチング処理においては、重みを考慮した代表色どうしの距離を計算するが、それぞれの代表色の数は異なっていても良い。この場合、例えば、EMD(Earth Mover Distance)などの手法を用いると良い。
【0288】
(6)上記の各実施形態では、ローパス画像生成部23、領域分割部24、テンプレート設定部25、マッチング処理部26、マップ作成部27、画像生成部28の各処理をソフトウエア的に実現する例を説明したが、ASIC等によってこれらの各処理をハードウエア的に実現しても勿論かまわない。
【0289】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲が、その精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図する。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物によることも可能である。
【符号の説明】
【0290】
11…コンピュータ、14…CPU、23…ローパス画像生成部、24…領域分割部、25…テンプレート設定部、26…マッチング処理部、27…マップ作成部、28…画像生成部、31…電子カメラ、33…撮像素子、34…画像処理エンジン、35…ROM、37…記録I/F、39…表示部、40…記憶媒体

【特許請求の範囲】
【請求項1】
処理の対象となる対象画像の情報を取得する取得部と、
前記対象画像を複数のブロックに分割する領域分割部と、
前記複数のブロックのうち、前記対象画像の外周部に存在する1つ以上のブロックの画像に基づいて、1つ以上のテンプレートを設定する設定部と、
前記対象画像を分割した前記複数のブロックの各々について代表値を算出する算出部と、
マッチング対象のブロックの前記代表値と、前記1つ以上のテンプレートにおける前記代表値とをそれぞれ比較することによるマッチングを、前記複数のブロックごとに行うマッチング部と、
前記マッチング部によるマッチングの結果に基づいて、前記対象画像における被写体の分布を示すマップを作成する作成部と、
複数の前記対象画像ごとの前記マップに基づいて、複数の前記対象画像のそれぞれから主要被写体画像を抽出する第1抽出部と、
複数の前記対象画像ごとの前記マップに基づいて、複数の前記対象画像のうち、任意の1枚の前記対象画像から背景画像を抽出する第2抽出部と、
前記第1抽出部により抽出した少なくとも1枚の前記主要被写体画像と、前記第2抽出部により抽出した前記背景画像との少なくとも一方に基づく新たな画像を生成する生成部と
を備えることを特徴とする画像処理装置。
【請求項2】
請求項1に記載の画像処理装置において、
前記生成部は、前記背景画像に対して、前記背景画像にぼかし効果を加える処理を施し、前記処理後の前記背景画像と、少なくとも1枚の前記主要被写体画像とに基づき前記新たな画像を生成する
ことを特徴とする画像処理装置。
【請求項3】
請求項1に記載の画像処理装置において、
前記生成部は、前記背景画像について、前記第2抽出部による抽出時に発生する欠損部分を補完する処理を施し、前記処理後の前記背景画像と、少なくとも1枚の前記主要被写体画像とに基づき前記新たな画像を生成する
ことを特徴とする画像処理装置。
【請求項4】
請求項3に記載の画像処理装置において、
前記生成部は、前記背景画像のうち、前記欠損部分を除く部分の画像に基づいて、前記欠損部分を補完する
ことを特徴とする画像処理装置。
【請求項5】
請求項1に記載の画像処理装置において、
前記生成部は、少なくとも1枚の前記主要被写体画像と前記背景画像との間に所定の距離を設定し、仮想三次元モデリングを行うことにより左目用画像および右目用画像から成る前記新たな画像を生成する
ことを特徴とする画像処理装置。
【請求項6】
請求項5に記載の画像処理装置において、
前記取得部は、前記対象画像が生成された際の撮影条件を更に取得し、
前記生成部は、前記撮影条件に基づいて前記所定の距離を設定する
ことを特徴とする画像処理装置。
【請求項7】
請求項1に記載の画像処理装置において、
前記生成部は、前記マップに基づいて、前記新たな画像中の主要被写体の位置に応じた位置に、任意の画像情報と文字情報との少なくとも一方を挿入する
ことを特徴とする画像処理装置。
【請求項8】
請求項1に記載の画像処理装置において、
前記生成部は、前記第1抽出部により抽出した少なくとも1枚の前記主要被写体画像のみに基づいて、前記新たな画像を生成するか、または、前記第1抽出部により抽出した少なくとも1枚の前記主要被写体画像と、任意の画像とに基づいて、前記新たな画像を生成する
ことを特徴とする画像処理装置。
【請求項9】
請求項1から請求項8のいずれか1項に記載の画像処理装置において、
前記生成部は、前記新たな画像として静止画像を生成する
ことを特徴とする画像処理装置。
【請求項10】
請求項1から請求項9のいずれか1項に記載の画像処理装置において、
前記第1抽出部により抽出した複数の前記主要被写体画像に基づいて、前記主要被写体の動き情報を演算する演算部をさらに備え、
前記生成部は、前記動き情報に応じて、前記第1抽出部により抽出した少なくとも1枚の前記主要被写体画像と、前記第2抽出部により抽出した前記背景画像とに基づく新たな画像を生成する
ことを特徴とする画像処理装置。
【請求項11】
請求項1から請求項8のいずれか1項に記載の画像処理装置において、
前記生成部は、前記新たな画像として、複数のフレームから成る動画像を生成する
ことを特徴とする画像処理装置。
【請求項12】
請求項11に記載の画像処理装置において、
前記第1抽出部により抽出した複数の前記主要被写体画像に基づいて、前記主要被写体の動き情報を演算する演算部をさらに備え、
前記生成部は、前記動き情報に応じて、前記第1抽出部により抽出した少なくとも1枚の前記主要被写体画像と、前記第2抽出部により抽出した前記背景画像とに基づく新たな画像を生成する
ことを特徴とする画像処理装置。
【請求項13】
請求項10または請求項12に記載の画像処理装置において、
前記生成部は、前記背景画像に対して、前記動き情報に応じた方向にブレを発生させる処理を施し、前記処理後の前記背景画像と、少なくとも1枚の前記主要被写体画像とに基づき前記新たな画像を生成する
ことを特徴とする画像処理装置。
【請求項14】
請求項10または請求項12に記載の画像処理装置において、
前記第2抽出部は、複数の前記対象画像ごとの前記マップに基づいて、複数の前記対象画像から複数の前記背景画像を抽出し、
前記生成部は、任意の1枚の前記背景画像について、別の前記背景画像に基づいて、前記欠損部分を補完する
ことを特徴とする画像処理装置。
【請求項15】
請求項10に記載の画像処理装置において、
前記生成部は、複数の前記主要被写体画像を合成し、合成後の前記主要被写体画像を前記背景画像内の任意の1つの位置に配置するか、前記動き情報に応じて、前記合成後の前記主要被写体画像を前記背景画像内の異なる位置にそれぞれ配置するか、前記動き情報に応じて、任意の1つの前記主要被写体画像を前記背景画像内の異なる位置にそれぞれ配置するか、前記動き情報に応じて、複数の前記主要被写体画像を前記背景画像内の異なる位置にそれぞれ配置することにより前記静止画像を生成する
ことを特徴とする画像処理装置。
【請求項16】
請求項10または請求項15に記載の画像処理装置において、
前記生成部により生成した前記静止画像を記録する記録部をさらに備える
ことを特徴とする画像処理装置。
【請求項17】
請求項12に記載の画像処理装置において、
前記生成部は、複数の前記主要被写体画像を合成し、前記動き情報に応じて、合成後の前記主要被写体画像を複数の前記フレームのそれぞれにおいて前記背景画像に配置する処理と、任意の前記主要被写体画像を複数の前記フレームのそれぞれにおいて前記背景画像内の異なる位置にそれぞれ配置する処理と、前記動き情報に応じて、複数の前記フレームのそれぞれに異なる前記主要被写体画像を配置する処理との少なくとも1つを行うことにより前記動画像を生成する
ことを特徴とする画像処理装置。
【請求項18】
請求項12または請求項17に記載の画像処理装置において、
前記生成部は、前記動き情報に応じて、複数の前記フレームのそれぞれにおいて異なる前記背景画像に前記主要被写体画像を配置することにより前記動画像を生成する
ことを特徴とする画像処理装置。
【請求項19】
請求項12または請求項17に記載の画像処理装置において、
前記生成部は、前記第2抽出部により抽出した前記背景画像に対して、トリミング処理と、拡大縮小処理と、前記背景画像の少なくとも一部を複製して前記背景画像に連結する処理との少なくとも1つを行うことにより、複数の前記フレームに対応する複数の前記背景画像を生成する
ことを特徴とする画像処理装置。
【請求項20】
請求項11から請求項20の何れか1項に記載の画像処理装置において、
前記生成部により生成した前記動画像を記録する記録部をさらに備え、
前記記録部は、複数の前記フレームのそれぞれについて、前記主要被写体画像と、前記背景画像と、前記背景画像に前記主要被写体を合成する際の配置を示す情報とを関連づけて記録する
ことを特徴とする画像処理装置。
【請求項21】
請求項11から請求項20の何れか1項に記載の画像処理装置において、
前記生成部により生成した前記動画像を記録する記録部をさらに備え、
前記生成部は、複数の前記フレームのそれぞれにおいて前記主要被写体画像と前記背景画像とを合成する処理を行い、
前記記録部は、前記生成部により前記処理が行われた前記動画像を記録する
ことを特徴とする画像処理装置。
【請求項22】
処理の対象となる対象画像の情報を取得する取得部と、
前記対象画像を複数のブロックに分割する領域分割部と、
前記複数のブロックのうち、前記対象画像の外周部に存在する1つ以上のブロックの画像に基づいて、1つ以上のテンプレートを設定する設定部と、
前記対象画像を分割した前記複数のブロックの各々について代表値を算出する算出部と、
マッチング対象のブロックの前記代表値と、前記1つ以上のテンプレートにおける前記代表値とをそれぞれ比較することによるマッチングを、前記複数のブロックごとに行うマッチング部と、
前記マッチング部によるマッチングの結果に基づいて、前記対象画像における被写体の分布を示すマップを作成する作成部と、
複数の前記対象画像ごとの前記マップに基づいて、複数の前記対象画像のそれぞれから主要被写体画像を抽出する第1抽出部と、
複数の前記対象画像ごとの前記マップに基づいて、複数の前記対象画像のうち、少なくとも2枚の前記対象画像から複数の背景画像を抽出する第2抽出部と、
前記第1抽出部により抽出した複数の前記主要被写体画像に基づいて、前記主要被写体の動き情報を演算する演算部と、
前記動き情報に応じて、前記第1抽出部により抽出した少なくとも1枚の前記主要被写体画像と、前記第2抽出部により抽出した複数の前記背景画像とに基づく新たな画像を生成する生成部と
を備えることを特徴とする画像処理装置。
【請求項23】
被写体の像を撮像する撮像部と、
請求項1から請求項22のいずれか1項に記載の画像処理装置とを備え、
前記取得部は、前記撮像部から前記対象画像の情報を取得する
ことを特徴とする撮像装置。
【請求項24】
処理の対象となる対象画像の情報を取得する取得処理と、
前記対象画像を複数のブロックに分割する領域分割処理と、
前記複数のブロックのうち、前記対象画像の外周部に存在する1つ以上のブロックの画像に基づいて、1つ以上のテンプレートを設定する設定処理と、
前記対象画像を分割した前記複数のブロックの各々について代表値を算出する算出処理と、
マッチング対象のブロックの前記代表値と、前記1つ以上のテンプレートにおける前記代表値とをそれぞれ比較することによるマッチングを、前記複数のブロックごとに行うマッチング処理と、
前記マッチング処理の結果に基づいて、前記対象画像における被写体の分布を示すマップを作成する作成処理と、
複数の前記対象画像ごとの前記マップに基づいて、複数の前記対象画像のそれぞれから主要被写体画像を抽出する第1抽出処理と、
複数の前記対象画像ごとの前記マップに基づいて、複数の前記対象画像のうち、任意の1枚の前記対象画像から背景画像を抽出する第2抽出処理と、
前記第1抽出処理によって抽出した少なくとも1枚の前記主要被写体画像と、前記第2抽出処理によって抽出した前記背景画像との少なくとも一方に基づく新たな画像を生成する生成処理と
をコンピュータに実行させる画像処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図34】
image rotate

【図35】
image rotate


【公開番号】特開2012−133593(P2012−133593A)
【公開日】平成24年7月12日(2012.7.12)
【国際特許分類】
【出願番号】特願2010−285156(P2010−285156)
【出願日】平成22年12月21日(2010.12.21)
【出願人】(592217093)株式会社ニコンシステム (102)
【Fターム(参考)】