(57)【要約】【課題】主要被写体が複数の場合でも、各被写体の配置が最適となる構図でトリミングすることを可能にした画像処理装置を提供すること。【解決手段】画像から複数の被写体を検出する検出手段と、被写体を配置する複数の座標を設定する設定手段と、被写体が一人であれば、画像の所定の座標上に被写体が位置するようにトリミング領域を決定し、被写体が複数であれば、複数の被写体に対して前記所定の座標からの距離に基づく評価値を求め、該複数の被写体の評価値に基づいて、トリミング領域を決定する決定手段と、算出されたトリミング領域に従って、画像をトリミングするトリミング手段と、を有することを特徴とする。【選択図】図２
2018014653.tif 000002
【特許請求の範囲】
【請求項１】
画像から複数の被写体を検出する検出手段（Ｓ２０１）と、
被写体を配置する複数の座標を設定する設定手段と、
被写体が一人であれば、画像の所定の座標上に被写体が位置するようにトリミング領域を決定（Ｓ２０３）し、
被写体が複数であれば、複数の被写体に対して前記所定の座標からの距離に基づく評価値を求め、該複数の被写体の評価値に基づいて、トリミング領域を決定する決定手段（Ｓ２０４〜Ｓ２０９）と、
算出されたトリミング領域に従って、画像をトリミングするトリミング手段と、を有することを特徴とする画像処理装置。
【請求項２】
前記被写体を検出する検出手段は、人物の顔または人体を検出する請求項１に記載の画像処理装置。
【請求項３】
前記被写体を配置する座標は、三分割構図法における４つの交点のいずれかである請求項１又は請求項２に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを自動的に好適な構図でトリミングする画像処理装置に関する。
【背景技術】
【０００２】
従来、画像データから被写体を検出して、被写体が画角上で好適な配置になるように自動的にトリミングする画像処理を行っている。
【０００３】
特許文献１には、画像から人物の顔を検出し、その中から１つの最上位顔を特定し、最上位顔が三分割構図法における４つの交点のうち上方の２点のいずれかに位置することを目標にとして構図を決定する手法が開示されている。
【０００４】
特許文献２には、主要被写体の中心位置と三分割線との交点との距離等に基づいて構図の評価を行う手法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−０４２８００号公報
【特許文献２】特開２００９−２１２９２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の特許文献１、特許文献２に開示された従来技術では、１つの主要被写体の位置は目標の位置に配置することができるが、主要被写体が複数あった場合に、最上位の被写体以外の被写体を適切な位置に配置することができず、全ての被写体のバランスを最適化することはできない。
【０００７】
そこで、本発明の目的は、主要被写体が複数の場合でも、各被写体の配置が最適となる構図でトリミングすることを可能にした画像処理装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、本発明に係る画像処理装置は、
画像から複数の被写体を検出する検出手段と、
被写体を配置する複数の座標を設定する設定手段と、被写体が一人であれば、画像の所定の座標上に被写体が位置するようにトリミング領域を決定し、被写体が複数であれば、複数の被写体に対して前記所定の座標からの距離に基づく評価値を求め、該複数の被写体の評価値に基づいて、トリミング領域を決定する決定手段と、算出されたトリミング領域に従って、画像をトリミングするトリミング手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、主要被写体が複数の場合でも、各被写体の配置が最適となる構図でトリミングすることを可能にした画像処理装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る画像処理装置の機能構成を示したブロック図
【図２】本発明の実施形態の動作を説明するフローチャート
【図３】被写体が１つの場合の構図決定方法を説明する図
【図４】被写体が２つ以上の場合の構図の算出において、構図の初期値を説明する図
【図５】被写体が２つ以上の場合の構図の算出において、トリミングサイズを再設定する方法を説明する図
【発明を実施するための形態】
【００１１】
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。
【００１２】
図１は本発明の実施形態にかかわる画像処理装置の構成を示すブロック図である。
【００１３】
制御部１０１は、例えばＣＰＵであり、各ブロックの動作を制御する。具体的には制御部１０１は、ＲＯＭ１０２に格納された各ブロックの動作プログラムを読み出し、ＲＡＭ１０３に展開して実行することにより各ブロックの動作を制御する。
【００１４】
ＲＯＭ１０２は、例えば書き換え可能な不揮発性メモリである。ＲＯＭ１０２は、デジタルカメラ１００が有する各ブロックの動作プログラムに加え、各ブロックの動作において必要なパラメータ等の情報を記憶する。ＲＡＭ１０３は、揮発性メモリである。ＲＡＭ１０３は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データを一時的に記憶する記憶領域としても用いられる。
【００１５】
画像信号取得部１０４は、デジタル画像信号を出力する。画像信号取得部１０４は、例えばＣＣＤやＣＭＯＳセンサ等の撮像素子である。画像信号取得部１０４は、撮像により、不図示の光学系により撮像面に結像された光学像を光電変換し、アナログ画像信号を取得する。また画像信号取得部１０４は、得られたアナログ画像信号に対してサンプリング処理、ゲイン調整処理、Ａ／Ｄ変換処理等の所定の画像処理を行い、デジタル画像信号を出力する。また、画像信号取得部１０４は、外部の記録メディアやネットワークを介して、任意の画像信号を受信して出力する構成であってもよい。
【００１６】
画像処理部１０５は、デジタル画像信号（以下、単に画像）に対して、色変換処理や拡大縮小処理等の画像処理を行う。この他、画像処理部１０５は、入力された画像から任意の領域を抽出するトリミング処理を行う。
【００１７】
表示部１０６は、例えばＬＣＤ等の表示装置である。表示部１０６には、画像信号取得部１０４における撮像や画像処理部１０５におけるトリミング処理により得られた画像、あるいは記録媒体１０７に記録されている画像等が表示される。
【００１８】
記録媒体１０７は、例えば内蔵メモリの他、メモリカード、ＨＤＤ等の画像処理装置に着脱可能に接続された記録装置である。記録媒体１０７には、画像信号取得部１０４における撮像や画像処理部１０５におけるトリミング処理により得られた画像が記録される。
【００１９】
本実施形態の画像処理部１０５で行われるトリミング処理フローを、図２を用いて説明する。
【００２０】
図２のステップＳ２０１で、画像データから被写体領域の検出を行う。本実施例では、顔検出を行うこととし、これにより、顔領域の中心位置、サイズの情報を取得する。
【００２１】
ステップＳ２０２で、被写体の数が２つ以上検出されたかどうかにより分岐し、２つ以上検出された場合はステップＳ２０４へ進み、１つである場合はステップＳ２０３へ進む。また、被写体が１つも検出されなかった場合は、トリミングを行わないこととする。
【００２２】
ステップＳ２０３では、被写体の数が１つの場合のトリミング構図の算出を行う。ここでは被写体が三分割線の交点の４つのうち最も近傍にある点に位置するように構図を算出する。この例を図３に示す。図３（ａ）は、トリミング前の構図の例であり、図３（ｂ）は図３（ａ）をトリミングした構図を示している。点線は画角を上下左右それぞれ三分割する線を示している。ここで、被写体が画角の端に位置している場合や、被写体が大きい場合で、三分割線の交点に配置することができない場合があるが、この場合は、被写体が画角から切れない範囲で、三分割線の交点に最も近づくように構図を算出する。
【００２３】
ステップＳ２０４〜ステップＳ２０８では、被写体の数が２つ以上の場合のトリミングの構図の算出を行う。
【００２４】
まず、ステップＳ２０４で、トリミングする構図のサイズ、位置の初期値を設定する。この手法について図４を用いて説明する。図４において、全ての被写体を囲む最小の四角形を二重線、トリミングする構図の初期値を点線で示している。全ての被写体を画角内に入れるためには、全ての被写体を囲む四角形より大きいサイズでトリミングする必要がある。ここでは、後の演算の回数を少なくするため、この四角形と元の画角とを２分割する大きさをトリミングの初期値とする。具体的には、図４の例のように二重線の四角形のアスペクト比が元の画角のアスペクト比より横長であれば、左右のトリミング位置は二重線と元の画角の中点とし、上下のトリミング位置は、ａ：ｂ＝ｃ：ｄとなる位置とする。二重線の四角形のアスペクト比が元の画角のアスペクト比より縦長であれば、上下と左右のトリミング位置の算出方法を逆にすれば良い。
【００２５】
ステップＳ２０５では、トリミング位置の再設定を行う。ここでは現在のトリミング位置に対して、上下左右それぞれ一定量だけずらした４パターンのトリミング位置を設定する。
【００２６】
ステップＳ２０６では、現在のトリミング構図、及びステップＳ２０５で設定したトリミング構図についてそれぞれ評価値を算出し、現在のトリミングサイズにおいて、トリミング位置の最適化ができたかどうかを判定する。構図の評価値の算出式の例を、式（１）に示す。
【００２７】
【数１】
2018014653.tif 000003
【００２８】
式（１）のＰは評価値、Ｎは被写体の数、Ｄｉは各被写体の重心位置と三分割線の交点の４つのうちそれぞれ最も近傍にある点との距離である。ここで距離の二乗をとるのは、三分割線の交点から大きく離れている被写体をなくすためであり、距離に対する評価値のテーブルを用意しておくなど、別の手法で算出することも可能である。この評価値が小さいほど、全ての被写体が三分割線の交点に近い位置に配置できている、好ましい構図であると判定することができる。
【００２９】
このようにして算出した各トリミング構図の評価値のうち、現在のトリミング構図の評価値が最も低ければ、トリミング位置の最適化ができていると判定し、ステップＳ２０７へ進む。現在のトリミング構図以外の評価値が最も低ければ、ステップＳ２０５、ステップＳ２０６を繰り返す。すなわち、評価値が最も低いトリミング構図の位置を基準として、上下左右にそれぞれ一定量だけずらした４パターンのトリミング位置を設定し、各トリミング構図の評価値を比較することを繰り返す。
【００３０】
ステップＳ２０７では、トリミングサイズの最適化ができたかどうかの判定を行うが、ここでは便宜上、ステップＳ２０８について先に説明する。
【００３１】
ステップＳ２０８では、トリミングサイズの再設定を行う。この設定方法を図５を用いて説明する。図５（ａ）（ｂ）の細線の枠はＳ２０６までで算出した現在のトリミングサイズにおいてトリミング位置を最適化した枠を示し、点線の枠はここで再設定するトリミングサイズの枠を示す。図５（ａ）は現在のトリミングサイズより大きいサイズ、図５（ｂ）は現在のトリミングサイズより小さいサイズの設定であり、この２パターンのトリミングサイズを設定する。
【００３２】
これらの算出方法は、それぞれ、ステップＳ２０４の初期トリミング構図の算出と同様の考え方を適用する。たとえば、図５（ａ）の場合は、図４の二重線の枠をステップＳ２０６までで算出したトリミング枠に置き換えた場合と同じであり、図５（ｂ）の場合は、図４の元の画角の枠をステップＳ２０６までで算出したトリミング枠に置き換えた場合と同じである。
【００３３】
そして、ステップＳ２０５に戻り、ステップＳ２０８で算出した２パターンのトリミングサイズについてそれぞれトリミング位置の最適化を行う。
【００３４】
ステップＳ２０７では、元のトリミングサイズ及び、Ｓ２０８で算出した２つのトリミングサイズの３パターンの構図のうち最も評価値が低い構図があらかじめ設定した閾値より低い場合、もしくは、３パターンの構図の評価値の最大値と最小値の差があらかじめ設定した閾値より小さい場合は、トリミングサイズの最適化ができたと判定する。トリミングサイズの最適化ができていないと判定された場合は、ステップＳ２０８へ進み、最も評価値が低い構図を基準として、トリミングサイズの再設定を行い、ステップＳ２０５〜ステップＳ２０８を繰り返す。
【００３５】
このようにして、被写体が複数の場合も各被写体が平均的に三分割線の交点に近づくような構図を算出することができる。
【００３６】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【００３７】
１０１  制御部、１０２  ＲＯＭ、１０３  ＲＡＭ、１０４  画像信号取得部、
１０５  画像処理部、１０６  表示部、１０７  記録媒体
【図１】
2018014653.tif 000004
【図２】
2018014653.tif 000005
【図３】
2018014653.tif 000006
【図４】
2018014653.tif 000007
【図５】
2018014653.tif 000008