(57)【要約】【課題】画像サイズを縮小する際、被写体となるオブジェクトを欠けることなく含み、かつ、その大きさを極力小さくせずに画像サイズを縮小させると共に、計算コストを低減させるようにする。【解決手段】画像クロップ部２１は、入力画像に含まれる被写体領域を検出し、検出された被写体領域を全て包含する領域をクロップ領域として設定し、クロップ領域の端部を所定幅だけ拡張する拡張領域を付加し、前記クロップ領域と、拡張領域とを含む切取領域からなる切取画像を前記入力画像より切り取る。オブジェクト適応型サイズ変更部２２は、前記切取画像における前記被写体への影響が小さい領域を削除して、前記切取領域からなる画像のサイズを変更する。画像サイズ調整部２４は、オブジェクト適応型サイズ変更部２２によりサイズが変更された画像の全体を所定の比率でサイズを変更する。本発明は、画像処理装置に適用することができる。【選択図】図１
2011176747.tif 000002
【特許請求の範囲】
【請求項１】
入力画像に含まれる被写体領域を検出する被写体領域検出手段と、
前記被写体領域検出手段により検出された被写体領域を全て包含する領域をクロップ領域として設定するクロップ領域設定手段と、
前記クロップ領域の端部を所定幅だけ拡張する拡張領域を付加する拡張領域付加手段と、
前記クロップ領域と、拡張領域とを含む切取領域からなる切取画像を前記入力画像より切り取る切取手段と、
前記切取画像における前記被写体への影響が小さい領域を削除して、前記切取領域からなる画像のサイズを変更する被写体適応サイズ変更手段と、
前記被写体適応サイズ変更手段によりサイズが変更された画像の全体を所定の比率でサイズを変更する画像全体サイズ変更手段と
を含む画像処理装置。
【請求項２】
前記被写体適応サイズ変更手段は、
前記切取画像より前記切取画像の隣接する画素間のエネルギーに基づいて、入力画像エネルギーマップを生成する入力画像エネルギーマップ生成手段と、
前記入力画像エネルギーマップを縮小することにより、前記切取画像における隣接する複数の画素からなる１ブロックを１画素とした縮小画像に対応する、縮小エネルギーマップを生成する縮小エネルギーマップ生成手段と、
前記縮小エネルギーマップにおける縮小画像の一方の端部の画素より、他方の端部の方向に隣接した画素を順次経由して、前記他方の端部の画素に到達するまでの複数の経路のうち、経由する画素のエネルギーの積算値が最小となる経路の画素間を結ぶことにより構成される縮小シームを探索する縮小シーム探索手段と、
前記縮小シーム探索手段により探索された縮小シームの端部を構成する、前記入力画像エネルギーマップにおける切取画像の一方の端部の画素より、他方の端部の方向に隣接した画素を順次経由して、前記他方の端部の画素に到達するまでの複数の経路のうち、経由する画素のエネルギーの積算値が最小となる画素間を結ぶことにより構成される部分シームを探索する部分シーム探索手段と、
前記部分シーム探索手段により探索された前記部分シームを構成する画素を、前記入力画像より削除することで前記入力画像を縮小する縮小手段とを含む
請求項１に記載の画像処理装置。
【請求項３】
探索された部分シームを構成する画素のエネルギーの積算値と所定の閾値とを比較する比較手段をさらに含み、
前記部分シーム探索手段は、前記比較手段の比較結果が、探索された部分シームを構成する画素のエネルギーの積算値が所定の閾値より大きいと判定されるまで、前記縮小シーム探索手段により探索された縮小シームの端部を構成する、前記入力画像エネルギーマップにおける切取画像の一方の端部の画素より、他方の端部の方向に隣接した画素を順次経由して、前記他方の端部の画素に到達するまでの複数の経路のうち、経由する画素のエネルギーの積算値が最小となる画素間を結ぶことにより構成される部分シームを繰り返し探索する
請求項２に記載の画像処理装置。
【請求項４】
前記部分シーム探索手段により探索された部分シームを構成する、前記切取画像の全ての画素に対応する前記入力画像エネルギーマップ上のエネルギーに、エネルギー最大値を挿入して置換し、前記入力画像エネルギーマップを更新する入力画像エネルギーマップ更新手段をさらに含み、
前記部分シーム探索手段は、前記切取画像の一方の端部の画素より、他方の端部の方向に隣接した画素を順次経由して、前記他方の端部の画素に到達するまでの複数の経路を探索するにあたり、隣接する画素の全てが前記入力画像エネルギーマップのエネルギー最大値であった場合、前記隣接する画素に、さらに隣接する所定数の画素のうち、最小エネルギーの画素を隣接する画素として設定し、前記経路を構成させる
請求項２に記載の画像処理装置。
【請求項５】
前記縮小シーム探索手段により探索された縮小シームを構成する、前記縮小画像の全ての画素に対応する前記縮小画像エネルギーマップ上のエネルギーに、エネルギー最大値を挿入して置換し、前記縮小画像エネルギーマップを更新する縮小画像エネルギーマップ更新手段をさらに含む
請求項２に記載の画像処理装置。
【請求項６】
入力画像に含まれる被写体領域を検出する被写体領域検出手段と、
前記被写体領域検出手段により検出された被写体領域を全て包含する領域をクロップ領域として設定するクロップ領域設定手段と、
前記クロップ領域の端部を所定幅だけ拡張する拡張領域を付加する拡張領域付加手段と、
前記クロップ領域と、拡張領域とを含む切取領域からなる切取画像を前記入力画像より切り取る切取手段と、
前記切取画像における前記被写体への影響が小さい領域を削除して、前記切取領域からなる画像のサイズを変更する被写体適応サイズ変更手段と、
前記被写体適応サイズ変更手段によりサイズが変更された画像の全体を所定の比率でサイズを変更する画像全体サイズ変更手段と
を含む画像処理装置の画像処理方法であって、
前記被写体領域検出手段における、前記入力画像に含まれる被写体領域を検出する被写体領域検出ステップと、
前記クロップ領域設定手段における、前記被写体領域検出ステップの処理により検出された被写体領域を全て包含する領域をクロップ領域として設定するクロップ領域設定ステップと、
前記拡張領域付加手段における、前記クロップ領域の端部を所定幅だけ拡張する拡張領域を付加する拡張領域付加ステップと、
前記切取手段における、前記クロップ領域と、拡張領域とを含む切取領域からなる切取画像を前記入力画像より切り取る切取ステップと、
前記被写体適応サイズ変更手段における、前記切取画像における前記被写体への影響が小さい領域を削除して、前記切取領域からなる画像のサイズを変更する被写体適応サイズ変更ステップと、
前記画像全体サイズ変更手段における、前記被写体適応サイズ変更ステップによりサイズが変更された画像の全体を所定の比率でサイズを変更する画像全体サイズ変更ステップと
を含む画像処理方法。
【請求項７】
入力画像に含まれる被写体領域を検出する被写体領域検出手段と、
前記被写体領域検出手段により検出された被写体領域を全て包含する領域をクロップ領域として設定するクロップ領域設定手段と、
前記クロップ領域の端部を所定幅だけ拡張する拡張領域を付加する拡張領域付加手段と、
前記クロップ領域と、拡張領域とを含む切取領域からなる切取画像を前記入力画像より切り取る切取手段と、
前記切取画像における前記被写体への影響が小さい領域を削除して、前記切取領域からなる画像のサイズを変更する被写体適応サイズ変更手段と、
前記被写体適応サイズ変更手段によりサイズが変更された画像の全体を所定の比率でサイズを変更する画像全体サイズ変更手段と
を含む画像処理装置を制御するコンピュータに、
前記被写体領域検出手段における、前記入力画像に含まれる被写体領域を検出する被写体領域検出ステップと、
前記クロップ領域設定手段における、前記被写体領域検出ステップの処理により検出された被写体領域を全て包含する領域をクロップ領域として設定するクロップ領域設定ステップと、
前記拡張領域付加手段における、前記クロップ領域の端部を所定幅だけ拡張する拡張領域を付加する拡張領域付加ステップと、
前記切取手段における、前記クロップ領域と、拡張領域とを含む切取領域からなる切取画像を前記入力画像より切り取る切取ステップと、
前記被写体適応サイズ変更手段における、前記切取画像における前記被写体への影響が小さい領域を削除して、前記切取領域からなる画像のサイズを変更する被写体適応サイズ変更ステップと、
前記画像全体サイズ変更手段における、前記被写体適応サイズ変更ステップによりサイズが変更された画像の全体を所定の比率でサイズを変更する画像全体サイズ変更ステップと
を含む処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法、並びにプログラムに関し、特に、画像を縮小する際、画像内の被写体をできるだけ小さくせずに、縮小できるようにした画像処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、デジタルカメラの高性能化により、撮影される画像の高解像度化が進んでいる。一方モバイル端末が普及し、小型な画面でデジタルカメラで撮影された画像を閲覧する機会が増えている。小型な画面で解像度が高い画像を閲覧する際には、そのままのサイズでは、１画面に収まりきらないため、画面サイズに合わせて画像全体を縮小して、表示することが多い。その際、画像全体が小さく縮小されてしまうことにより、被写体となるオブジェクトそのものが小さくなってしまうため、画像の内容を理解することが困難になってしまうことがあった。
【０００３】
そこで、例えば、複数のクロップ領域を選択する技術が提案されている（特許文献１参照）。また、人物を被写体として撮影するための人物モード、風景を被写体として撮影するための風景モードを手動もしくは自動で選択し、モードに合わせてクロップ領域を検出する技術が提案されている（特許文献２参照）。
【０００４】
さらに、クロップウィンドウのサイズと形状を選択し，そのサイズと形状のクロップウィンドウを用いてクロップする技術が提案されている（特許文献３参照）。また、信念マップの値が高い箇所を割り当てることによって、被写体領域を検出してクロップする技術が提案されている（特許文献４参照）。さらに、信念マップの値が高い箇所を割り当てることによって、被写体領域を検出してクロップする技術が提案されている（特許文献５参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１７５６８３公報
【特許文献２】特開２００５−１７５６８４公報
【特許文献３】特開２００２−１６７９２公報
【特許文献４】特開２００２−２１８２２３公報
【特許文献５】特開２００１−２３６４９７公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の技術においては、複数のクロップ領域を選択することは可能であるが、複数のクロップ領域を統合することができない恐れがあった。また、特許文献２に記載の技術においては、モード選択の処理が必要で、手間（手動の場合）や時間（自動選択）がかかる恐れがあった。また、複数のアルゴリズムを保持しているため、多くのメモリが必要となり、装置がコスト高となってしまう恐れがあった。
【０００７】
さらに、特許文献３に記載の技術においては、選択の手間がかかり、またサイズや形状によっては，被写体領域を切断してしまう可能性があった。また、特許文献４の技術においては、被写体が複数ある場合など，被写体領域を切断してしまう可能性があった。さらに、特許文献５に記載の記述においては、被写体が複数ある場合など、被写体を切断してしまう可能性があった。
【０００８】
本発明はこのような状況に鑑みてなされたものであり、特に、画像サイズを縮小する際、被写体となるオブジェクトを欠けることなく含み、かつ、その大きさを極力小さくせずに画像サイズを縮小させると共に、計算コストを低減させるようにするものである。
【課題を解決するための手段】
【０００９】
本発明の一側面の画像処理装置は、入力画像に含まれる被写体領域を検出する被写体領域検出手段と、前記被写体領域検出手段により検出された被写体領域を全て包含する領域をクロップ領域として設定するクロップ領域設定手段と、前記クロップ領域の端部を所定幅だけ拡張する拡張領域を付加する拡張領域付加手段と、前記クロップ領域と、拡張領域とを含む切取領域からなる切取画像を前記入力画像より切り取る切取手段と、前記切取画像における前記被写体への影響が小さい領域を削除して、前記切取領域からなる画像のサイズを変更する被写体適応サイズ変更手段と、前記被写体適応サイズ変更手段によりサイズが変更された画像の全体を所定の比率でサイズを変更する画像全体サイズ変更手段とを含む。
【００１０】
前記被写体適応サイズ変更手段には、前記切取画像より前記切取画像の隣接する画素間のエネルギーに基づいて、入力画像エネルギーマップを生成する入力画像エネルギーマップ生成手段と、前記入力画像エネルギーマップを縮小することにより、前記切取画像における隣接する複数の画素からなる１ブロックを１画素とした縮小画像に対応する、縮小エネルギーマップを生成する縮小エネルギーマップ生成手段と、前記縮小エネルギーマップにおける縮小画像の一方の端部の画素より、他方の端部の方向に隣接した画素を順次経由して、前記他方の端部の画素に到達するまでの複数の経路のうち、経由する画素のエネルギーの積算値が最小となる経路の画素間を結ぶことにより構成される縮小シームを探索する縮小シーム探索手段と、前記縮小シーム探索手段により探索された縮小シームの端部を構成する、前記入力画像エネルギーマップにおける切取画像の一方の端部の画素より、他方の端部の方向に隣接した画素を順次経由して、前記他方の端部の画素に到達するまでの複数の経路のうち、経由する画素のエネルギーの積算値が最小となる画素間を結ぶことにより構成される部分シームを探索する部分シーム探索手段と、前記部分シーム探索手段により探索された前記部分シームを構成する画素を、前記入力画像より削除することで前記入力画像を縮小する縮小手段とを含ませるようにすることができる。
【００１１】
探索された部分シームを構成する画素のエネルギーの積算値と所定の閾値とを比較する比較手段をさらに含ませるようにすることができ、前記部分シーム探索手段には、前記比較手段の比較結果が、探索された部分シームを構成する画素のエネルギーの積算値が所定の閾値より大きいと判定されるまで、前記縮小シーム探索手段により探索された縮小シームの端部を構成する、前記入力画像エネルギーマップにおける切取画像の一方の端部の画素より、他方の端部の方向に隣接した画素を順次経由して、前記他方の端部の画素に到達するまでの複数の経路のうち、経由する画素のエネルギーの積算値が最小となる画素間を結ぶことにより構成される部分シームを繰り返し探索させるようにすることができる。
【００１２】
前記部分シーム探索手段により探索された部分シームを構成する、前記切取画像の全ての画素に対応する前記入力画像エネルギーマップ上のエネルギーに、エネルギー最大値を挿入して置換し、前記入力画像エネルギーマップを更新する入力画像エネルギーマップ更新手段をさらに含ませるようにすることができ、前記部分シーム探索手段には、前記切取画像の一方の端部の画素より、他方の端部の方向に隣接した画素を順次経由して、前記他方の端部の画素に到達するまでの複数の経路を探索するにあたり、隣接する画素の全てが前記入力画像エネルギーマップのエネルギー最大値であった場合、前記隣接する画素に、さらに隣接する所定数の画素のうち、最小エネルギーの画素を隣接する画素として設定し、前記経路を構成させるようにすることができる。
【００１３】
前記縮小シーム探索手段により探索された縮小シームを構成する、前記縮小画像の全ての画素に対応する前記縮小画像エネルギーマップ上のエネルギーに、エネルギー最大値を挿入して置換し、前記縮小画像エネルギーマップを更新する縮小画像エネルギーマップ更新手段をさらに含ませるようにすることができる。
【００１４】
本発明の一側面の画像処理方法は、入力画像に含まれる被写体領域を検出する被写体領域検出手段と、前記被写体領域検出手段により検出された被写体領域を全て包含する領域をクロップ領域として設定するクロップ領域設定手段と、前記クロップ領域の端部を所定幅だけ拡張する拡張領域を付加する拡張領域付加手段と、前記クロップ領域と、拡張領域とを含む切取領域からなる切取画像を前記入力画像より切り取る切取手段と、前記切取画像における前記被写体への影響が小さい領域を削除して、前記切取領域からなる画像のサイズを変更する被写体適応サイズ変更手段と、前記被写体適応サイズ変更手段によりサイズが変更された画像の全体を所定の比率でサイズを変更する画像全体サイズ変更手段とを含む画像処理装置の画像処理方法であって、前記被写体領域検出手段における、前記入力画像に含まれる被写体領域を検出する被写体領域検出ステップと、前記クロップ領域設定手段における、前記被写体領域検出ステップの処理により検出された被写体領域を全て包含する領域をクロップ領域として設定するクロップ領域設定ステップと、前記拡張領域付加手段における、前記クロップ領域の端部を所定幅だけ拡張する拡張領域を付加する拡張領域付加ステップと、前記切取手段における、前記クロップ領域と、拡張領域とを含む切取領域からなる切取画像を前記入力画像より切り取る切取ステップと、前記被写体適応サイズ変更手段における、前記切取画像における前記被写体への影響が小さい領域を削除して、前記切取領域からなる画像のサイズを変更する被写体適応サイズ変更ステップと、前記画像全体サイズ変更手段における、前記被写体適応サイズ変更ステップによりサイズが変更された画像の全体を所定の比率でサイズを変更する画像全体サイズ変更ステップとを含む。
【００１５】
本発明の一側面のプログラムは、入力画像に含まれる被写体領域を検出する被写体領域検出手段と、前記被写体領域検出手段により検出された被写体領域を全て包含する領域をクロップ領域として設定するクロップ領域設定手段と、前記クロップ領域の端部を所定幅だけ拡張する拡張領域を付加する拡張領域付加手段と、前記クロップ領域と、拡張領域とを含む切取領域からなる切取画像を前記入力画像より切り取る切取手段と、前記切取画像における前記被写体への影響が小さい領域を削除して、前記切取領域からなる画像のサイズを変更する被写体適応サイズ変更手段と、前記被写体適応サイズ変更手段によりサイズが変更された画像の全体を所定の比率でサイズを変更する画像全体サイズ変更手段とを含む画像処理装置を制御するコンピュータに、前記被写体領域検出手段における、前記入力画像に含まれる被写体領域を検出する被写体領域検出ステップと、前記クロップ領域設定手段における、前記被写体領域検出ステップの処理により検出された被写体領域を全て包含する領域をクロップ領域として設定するクロップ領域設定ステップと、前記拡張領域付加手段における、前記クロップ領域の端部を所定幅だけ拡張する拡張領域を付加する拡張領域付加ステップと、前記切取手段における、前記クロップ領域と、拡張領域とを含む切取領域からなる切取画像を前記入力画像より切り取る切取ステップと、前記被写体適応サイズ変更手段における、前記切取画像における前記被写体への影響が小さい領域を削除して、前記切取領域からなる画像のサイズを変更する被写体適応サイズ変更ステップと、前記画像全体サイズ変更手段における、前記被写体適応サイズ変更ステップによりサイズが変更された画像の全体を所定の比率でサイズを変更する画像全体サイズ変更ステップとを含む処理を実行させる。
【００１６】
本発明の一側面においては、入力画像に含まれる被写体領域が検出され、検出された被写体領域を全て包含する領域がクロップ領域として設定され、前記クロップ領域の端部が所定幅だけ拡張される拡張領域が付加され、前記クロップ領域と、拡張領域とが含まれた切取領域からなる切取画像が前記入力画像より切り取られ、前記切取画像における前記被写体への影響が小さい領域が削除されて、前記切取領域からなる画像のサイズが変更され、サイズが変更された画像の全体が所定の比率でサイズが変更される。
【００１７】
本発明の画像処理装置は、独立した装置であっても良いし、画像処理を行うブロックであっても良い。
【発明の効果】
【００１８】
本発明の一側面によれば、画像を縮小する際、画像内の被写体をできるだけ小さくせずに、縮小することが可能となる。
【図面の簡単な説明】
【００１９】
【図１】本発明を適用した画像処理装置の一実施の形態の構成例を示すブロック図である。
【図２】画像クロップ部の構成例を示すブロック図である。
【図３】被写体領域検出部の構成例を示すブロック図である。
【図４】オブジェクト適応型画像サイズ変更部の構成例を示すブロック図である。
【図５】探索部の構成例を示すブロック図である。
【図６】画像サイズ変更処理を説明するフローチャートである。
【図７】画像サイズ変更処理を説明する図である。
【図８】画像クロップ処理を説明するフローチャートである。
【図９】被写体領域検出処理を説明するフローチャートである。
【図１０】被写体領域検出処理を説明する図である。
【図１１】画像クロップ処理を説明する図である。
【図１２】画像クロップ処理を説明する図である。
【図１３】オブジェクト適応型サイズ変更処理を説明するフローチャートである。
【図１４】探索処理を説明するフローチャートである。
【図１５】全画像探索処理を説明するフローチャートである。
【図１６】全画像探索処理を説明する図である。
【図１７】全画像探索処理を説明する図である。
【図１８】全画像探索処理を説明する図である。
【図１９】部分画像探索処理を説明するフローチャートである。
【図２０】部分画像探索処理を説明する図である。
【図２１】部分画像探索処理を説明する図である。
【図２２】部分画像探索処理を説明する図である。
【図２３】部分画像探索処理を説明する図である。
【図２４】部分画像探索処理を説明する図である。
【図２５】検索処理におけるダイナミックプログラミング法とグリーディ法とを説明する図である。
【図２６】処理結果を説明する図である。
【図２７】汎用のパーソナルコンピュータの構成例を説明する図である。
【発明を実施するための最良の形態】
【００２０】
［画像処理装置の構成例］
図１は、本発明を適用した画像処理装置のハードウェアの一実施の形態の構成例を示している。図１の画像処理装置１１は、画像を所定のサイズに縮小、または拡大する際、画像内における被写体となるオブジェクトのサイズをできるだけ変化させないように、画像全体のサイズを変更し、表示部１２に表示する。尚、以降においては、入力画像を縮小する場合の構成について説明するものとするが、同様の構成と機能により拡大する場合にも適用できる。
【００２１】
より詳細には、画像処理装置１１は、画像クロップ部２１、オブジェクト適応型サイズ変更部２２、クロップサイズ判定部２３、画像サイズ調整部２４、変更画像サイズ判定部２５、および出力部２６を備えている。
【００２２】
画像クロップ部２１は、入力画像のうち、被写体となるオブジェクトの領域を検出し、オブジェクトの領域として検出された範囲を包含する矩形状のクロップ画像を生成して、オブジェクト適応型サイズ変更部２２、およびクロップサイズ判定部２３に供給する。尚、画像クロップ部２１の構成については、図２を参照して詳細を後述する。
【００２３】
クロップサイズ判定部２３は、画像クロップ部２１より供給されてきたクロップ画像のサイズが、表示部１２に表示するのに最適な所定の画像サイズに縮小されているか否かを判定し、最適である場合、出力部２６にクロップ画像を縮小画像として出力する。一方、クロップ画像のサイズが所定の画像サイズに縮小されていないと判定された場合、オブジェクト適応型サイズ変更部２２を制御して、クロップ画像内の被写体となるオブジェクトをできるだけ小さくしないようにクロップ画像を縮小させる。
【００２４】
オブジェクト適応型サイズ変更部２２は、いわゆるシームカービングにより画像内のオブジェクトを、できるだけ小さくしないように、クロップ画像を縮小し、画像サイズ調整部２４、および変更画像サイズ判定部２５に出力する。尚、オブジェクト適応型サイズ変更部２２は、図４を参照して、詳細を後述する。
【００２５】
変更画像サイズ判定部２５は、オブジェクト適応型サイズ変更部２２より供給されてくるクロップ画像が縮小された画像のサイズが表示部１２で表示されるのに最適なサイズに縮小されたか否かを判定する。そして、変更画像サイズ判定部２５は、表示部１２で表示されるのに、最適なサイズに縮小されていると判定した場合、出力部２６にそのまま出力する。一方、最適なサイズではないと判定された場合、変更画像サイズ判定部２５は、画像サイズ調整部２４に対して、縮小されたクロップ画像を、表示部１２に最適なサイズとなるように、画像全体を縮小させて出力部２６に出力させる。出力部２６は、クロップサイズ判定部２３、画像サイズ調整部２４、または変更画像サイズ判定部２５のいずれかから供給されてくる入力画像が縮小された画像を表示部１２に出力して表示させる。
【００２６】
［画像クロップ部の構成例］
次に、図２を参照して、画像クロップ部２１の構成例について説明する。
【００２７】
画像クロップ部２１は、被写体領域検出部４１、被写体領域包含範囲探索部４２、被写体領域包含範囲矩形化部４３、追加領域付加部４４、および画像切出部４５を備えている。被写体領域検出部４１は、入力画像のうち被写体となるオブジェクトの存在する領域を検出し、被写体となるオブジェクトの存在する領域の情報を被写体領域包含範囲探索部４２に供給する。尚、被写体領域検出部４１は、図３を参照して、詳細を後述する。
【００２８】
被写体領域包含範囲探索部４２は、被写体領域検出部４１より供給されてきた被写体となるオブジェクトの存在する領域を包含する位置の範囲を探索し、探索した範囲を被写体領域包含範囲矩形化部４３に供給する。被写体領域包含範囲矩形化部４３は、被写体領域包含範囲探索部４２より供給されてくる被写体となるオブジェクトの存在する領域を包含する位置の範囲を矩形状に加工し、追加領域付加部４４に供給する。追加領域付加部４４は、被写体となるオブジェクトが存在する領域を包含する位置の矩形状範囲の外周端部に、所定の幅からなる追加領域を付加して、画像切出部４５に供給する。画像切出部４５は、追加領域付加部４４より供給されてきた、追加領域が付加されているオブジェクトの存在する領域を包含する位置の矩形状の範囲に対応するように、入力画像を切り出し、クロップ画像として出力する。
【００２９】
［被写体領域検出部の構成例］
次に、図３を参照して、被写体領域検出部４１の構成例について説明する。
【００３０】
被写体領域検出部４１は、輝度情報抽出部６１、色情報抽出部６２、エッジ情報抽出部６３、被写体情報抽出部６４、動き情報抽出部６５、被写体マップ生成部６６、および被写体領域特定部６７から構成される。
【００３１】
輝度情報抽出部６１乃至動き情報抽出部６５は、供給された入力画像から所定の情報を抽出し、抽出した情報からなる抽出情報画像に基づいて、入力画像の各領域における被写体の領域らしさを示す情報マップを生成する。これらの情報マップに含まれる情報は、被写体の含まれる領域により多く含まれる特徴の特徴量を示す情報とされ、その情報が入力画像の各領域に対応させて並べられたものが情報マップとされる。つまり、情報マップは、入力画像の各領域における特徴量を示す情報であるといえる。
【００３２】
ここで、被写体とは、ユーザが入力画像を一瞥した場合に、ユーザが注目すると推定される入力画像上の物体、つまりユーザが目を向けると推定される物体をいう。したがって、被写体は必ずしも人に限られる訳ではない。また、輝度情報抽出部６１乃至動き情報抽出部６５では、情報マップとして、輝度情報マップ、色情報マップ、エッジ情報マップ、顔情報マップ、および動き情報マップが生成される。
【００３３】
具体的には、輝度情報抽出部６１は、供給された入力画像のＹ（輝度）成分からなる輝度画像を抽出情報画像として輝度情報マップを生成し、被写体マップ生成部６６に供給する。色情報抽出部６２は、供給された入力画像のＣｒ成分からなるＣｒ画像およびＣｂ成分からなるＣｂ画像を抽出情報画像として色情報マップを生成し、被写体マップ生成部６６に供給する。
【００３４】
エッジ情報抽出部６３は、供給された入力画像の各領域のエッジ強度からなるエッジ画像を抽出情報画像としてエッジ情報マップを生成し、被写体マップ生成部６６に供給する。被写体情報抽出部６４は、供給された入力画像の各領域における、被写体（たとえば、人の顔）に関する情報からなる画像を抽出情報画像として被写体情報マップを生成し、被写体マップ生成部６６に供給する。動き情報抽出部６５は、供給された入力画像の各領域における、動きに関する情報からなる画像を抽出情報画像として動き情報マップを生成し、被写体マップ生成部６６に供給する。
【００３５】
被写体マップ生成部６６は、輝度情報抽出部６１乃至動き情報抽出部６５から供給された情報マップを足し合わせて被写体マップを生成し、被写体領域特定部６７に供給する。この被写体マップは、入力画像における被写体の含まれる領域を特定するための情報である。
【００３６】
被写体領域特定部６７は、被写体マップ生成部６６からの被写体マップを用いて、供給された入力画像上の被写体の領域を特定し、その特定結果を出力する。
【００３７】
［オブジェクト適応型サイズ変更部の構成例］
次に、図４を参照して、オブジェクト適応型サイズ変更部２２の構成例について説明する。
【００３８】
オブジェクト適応型サイズ変更部２２は、画像取得部１１１、エネルギーマップ生成部１１２、入力画像エネルギーマップ記憶部１１３、縮小画像エネルギーマップ記憶部１１４、探索部１１５、および加工部１１６を備えている。
【００３９】
画像取得部１１１は、入力画像を取得すると共に、エネルギーマップ生成部１１２、および加工部１１６に供給する。エネルギーマップ生成部１１２は、エネルギー算出部１２１、および縮小部１２２を備えており、画像取得部１１１からの入力画像より、入力画像と同サイズの入力画像エネルギーマップ、および、入力画像の縮小画像と同サイズの縮小画像エネルギーマップを生成する。より詳細には、エネルギー算出部１２１は、以下の式（１）を算出することにより、各画素のエネルギーｅ（Ｉ）を算出し、入力画像に対応する画素単位のエネルギーからなる入力画像エネルギーマップを生成し、入力画像エネルギーマップ記憶部１１３に記憶させる。また、エネルギー算出部１２１は、生成した入力画像エネルギーマップを縮小部１２２に供給する。
【００４０】
2011176747.tif 000003
【００４１】
ここで、ｅ（Ｉ）は、Ｉで示される入力画像上の位置の各画素におけるエネルギーを示している。すなわち、式（１）で示される各画素のエネルギーｅ（Ｉ）は、入力画像の各画素におけるｘ，ｙ方向のそれぞれの隣接する画素間の画素値、または輝度値などの差分の絶対値和であることが示されている。
【００４２】
縮小部１２２は、エネルギー算出部１２１により算出されて生成され、入力画像と同サイズの入力画像エネルギーマップを縮小し、縮小画像エネルギーマップを生成して、縮小画像エネルギーマップ記憶部１１４に記憶させる。より詳細には、縮小部１２２は、入力画像の、例えば、ｍ画素×ｎ画素を１ブロックとし、その１ブロックを１画素と対応するように、各ブロックの画素のエネルギーの平均や中央値を求めて、エネルギーマップを構成することで縮小画像エネルギーマップを生成する。すなわち、縮小画像エネルギーマップは、入力画像に対して、ｍ画素×ｎ画素を１ブロックとし、その１ブロックを１画素と対応するように生成された縮小画像のエネルギーマップとして求められる。
【００４３】
探索部１１５は、縮小画像エネルギーマップ記憶部１１４より縮小画像エネルギーマップを読み出し、縮小画像の一方の端部より他方の端部まで順次隣接する画素を選択経路として選択し、選択経路の画素のエネルギーの積算値が最小となるように縮小シームを探索する。この際、探索部１１５は、後述するダイナミックプログラミング法、またはグリーディ法により縮小シームを探索する。また、探索部１１５は、一旦求めた縮小シームに属する画素のエネルギーを、エネルギー最大値に置換し、順次所定数の部分シームが求められるまで、同様の処理を繰り返す。
【００４４】
ここでいう、一方の端部より他方の端部まで順次隣接する画素からなる経路とは、例えば、縮小画像の上方端部のいずれかの画素に対して、右下、真下、および左下に隣接する３画素のいずれかが選択され、選択された画素に同様に隣接する３画素のいずれかが選択されるといったことが順次繰り返されて、下方端部のいずれかの画素にまで順次選択される画素が結ばれることにより構成される経路である。従って、一方の端部が縮小画像の左端部であり、他方の端部が右端部である場合、左端部のいずれかの画素に対して、右上、真右、および右下に隣接する３画素のいずれかが選択され、選択された画素に同様に隣接する３画素のいずれかが選択されるといったことが順次繰り返されて、右端部のいずれかの画素にまで順次選択される画素が結ばれることにより構成される経路となる。また、以降においては、縮小画像における上方端部から下方端部に縮小シームが探索されるとき、探索方向を下方向と称するものとし、同様に、左端部から右端部に縮小シームが探索されるとき、探索方向を右方向と称するものとする。さらに、注目画素が設定される場合、注目画素に対して探索方向に隣接する画素とは、探索方向が垂直方向のとき、注目画素に対して、右上、真上、および左上に隣接する３画素、または右下、真下、および左下に隣接する３画素を表すものとする。同様に、探索方向が水平方向のとき、注目画素に対して、左上、真左、および左下に隣接する３画素、または右上、真右、および右下に隣接する３画素を表すものとする。
【００４５】
さらに、探索部１１５は、縮小画像エネルギーマップで検索された縮小シームを構成する縮小画像の画素に対応するブロックに属する、入力画像の端部の画素より順次隣接する画素のうち最小のエネルギーとなる画素を順次注目画素を設定する。そして、探索部１１５は、順次設定された注目画素を結ぶことにより部分シームを探索する。このとき、探索部１１５は、後述するグリーディ法により部分シームを探索する。この際、探索部１１５は、一旦求めた入力画像の部分シームに属する画素に対応するエネルギーを、エネルギー最大値に置換して、順次所定数の部分シームが求めれらるまで、同様の処理を繰り返し、複数の部分シームを求める。
【００４６】
加工部１１６は、画像取得部１１１より供給されてくる画像より、探索部１１５より求められた部分シームに対応する画素を削除（、または同様の画素を付加）することにより、画像を縮小（、または拡大）し、加工処理した後、表示部２に出力して表示させる。
【００４７】
［探索部の構成例］
次に、図５を参照して、探索部１１５の詳細な構成例について説明する。
【００４８】
探索部１１５は、全画像探索部１３１、および部分画像探索部１３２より構成されている。全画像探索部１３１は、縮小画像エネルギーマップより、縮小画像における縮小シームを求めて、部分画像探索部１３２に供給する。部分画像探索部１３２は、全画像探索部１３１より供給されてきた縮小シームの情報に基づいて、入力画像エネルギーマップより部分シームを求め加工部１１６に出力する。
【００４９】
まず、全画像探索部１３１の構成について説明する。全画像探索部１３１は、縮小画像エネルギーマップバッファ１５１、積算エネルギーマップ生成部１５２、積算エネルギーマップ記憶部１５３、縮小シーム決定部１５４、およびエネルギー最大値挿入部１５５を備えている。縮小画像エネルギーマップバッファ１５１は、縮小画像エネルギーマップ記憶部１１４に記憶されている縮小画像エネルギーマップを読み出して一旦記憶する。また、縮小画像エネルギーマップバッファ１５１は、縮小シームに属する画素のエネルギーがエネルギー最大値挿入部１５５より挿入されるエネルギー最大値で置換され、縮小画像エネルギーマップが更新されると、更新された縮小画像エネルギーマップを記憶する。
【００５０】
積算エネルギーマップ生成部１５２は、以下の式（２）で示される計算を実行することにより、順次設定される注目画素に対して、縮小画像エネルギーマップの探索方向に対して逆方向に隣接する画素のエネルギーを順次積算し、積算エネルギーとして求める。
【００５１】
2011176747.tif 000004
【００５２】
ここで、Ｍ（ｉ，ｊ）は、注目画素（ｉ，ｊ）における、それまでに順次設定された注目画素の積算エネルギーを示している。また、ｅ（ｉ，ｊ）は、注目画素（ｉ，ｊ）のエネルギーを示している。ｍｉｎ（Ａ，Ｂ，Ｃ）は、Ａ乃至Ｃの値のうち最小値を選択することを示している。
【００５３】
すなわち、積算エネルギーマップ生成部１５２は、注目画素（ｉ，ｊ）において、注目画素（ｉ，ｊ）に対して、縮小シームの探索方向と逆方向に隣接する画素（ｉ−１，ｊ−１），（ｉ−１，ｊ），（ｉ−１，ｊ＋１）の積算エネルギーＭ（ｉ−１，ｊ−１），Ｍ（ｉ−１，ｊ），Ｍ（ｉ−１，ｊ＋１）のうち最小のものを選択し、注目画素のエネルギーと加算して、注目画素の積算エネルギーを算出する。積算エネルギーマップ生成部１５２は、同様の処理を順次繰り返すことにより、縮小画像エネルギーマップの積算エネルギーマップを生成し、積算エネルギーマップ記憶部１５３に記憶させる。尚、式（２）においては、入力画像に対して垂直方向に上方端部から下方端部の方向に向かう縮小シームを探索する場合の例が記載されている。このため、縮小シームの探索方向に対応して、式（２）は変化するものである。
【００５４】
縮小シーム決定部１５４は、積算エネルギーマップ記憶部１５３に記憶されている積算エネルギーマップの情報に基づいて、縮小画像の一方の端部の各画素より選択経路として選択された画素のエネルギーの積算値が順次最小となるように縮小シームを探索する。そして、縮小シーム決定部１５４は、積算エネルギーが最小となる画素を順次結ぶ経路を縮小シームに決定し、部分画像探索部１３２に供給する。さらに、縮小シーム決定部１５４は、決定した縮小シームの情報をエネルギー最大値挿入部１５５に供給する。
【００５５】
エネルギー最大値挿入部１５５は、縮小エネルギーマップバッファ１５１に記憶されている縮小エネルギーマップの各画素のエネルギーのうち、縮小シームに属する画素のエネルギーにエネルギー最大値を挿入することで更新する。すなわち、エネルギーは、何らかの有限の数値により表現されるが、その最大値で表現される場合は稀であり、事実上、その画素が縮小シームを構成する画素として選択されたことを示すために、実態と異なるエネルギー最大値が挿入される。
【００５６】
次に、部分画像探索部１３２の構成について説明する。部分画像探索部１３２は、入力画像エネルギーマップバッファ１７１、隣接エネルギー比較部１７２、非隣接エネルギー比較部１７３、選択経路設定部１７４、選択経路記憶部１７５、部分シーム決定部１７６、および部分シーム記憶部１７７を備える。また、部分画像探索部１３２は、積算エネルギー閾値判定部１７８、ブロック内部分シーム本数判定部１７９、出力部１８０、およびエネルギー最大値挿入部１８１を備えている。
【００５７】
入力画像エネルギーマップバッファ１７１は、入力画像エネルギー記憶部１３に記憶されている入力画像エネルギーマップの情報を読み出して、一旦記憶する。また、入力画像エネルギーマップバッファ１７１は、エネルギー最大値挿入部１８１により、求められた部分シームに属する画素のエネルギーに、エネルギー最大値が挿入されて置換された、入力画像エネルギーマップを更新して記憶する。
【００５８】
隣接エネルギー比較部１７２は、全画像探索部１３１より供給されてくる縮小シームを構成するブロックのうち、一方の端部のブロックに属する入力画像の画素のうち、一方の端部の画素より順次注目画素を設定する。さらに、隣接エネルギー比較部１７２は、順次設定される注目画素と、探索方向に隣接する画素のエネルギーとエネルギー最大値とを比較し、隣接する画素のエネルギーの全てがエネルギー最大値のみとなっているか否かを判定する。そして、隣接エネルギー比較部１７２は、判定結果に応じて、全てがエネルギー最大値であるとき判定結果を非隣接エネルギー比較部１７３に供給する。また、隣接エネルギー比較部１７２は、全てがエネルギー最大値ではないとき、隣接画素の情報を選択経路設定部１７４に供給する。
【００５９】
非隣接エネルギー比較部１７３は、隣接エネルギー比較部１７２の判定結果により、注目画素に隣接する全ての画素がエネルギー最大値である場合、注目画素の位置に応じて、注目画素に隣接していない画素を、隣接画素として選択し、選択経路設定部１７４に供給する。すなわち、非隣接エネルギー比較部１７３は、注目画素に隣接していないが、注目画素に隣接した画素に、さらに隣接している複数の画素を隣接画素として選択する。
【００６０】
選択経路設定部１７４は、入力画像マップバッファ７１に記憶されている入力画像マップの情報、および非隣接エネルギー比較部１７３から供給されてくる隣接画素として設定された画素の情報に基づいて、縮小シームに属する入力画像の画素のうち、縮小シームの一方の端部から他方の端部への方向に隣接する画素のうち、エネルギーが最小となる画素を順次選択方向として設定し、選択経路記憶部１７５に記憶させる。
【００６１】
部分シーム決定部１７６は、選択経路記憶部１７５に記憶されている、縮小シームに属する入力画像の一方の端部の各画素より、選択経路記憶部１７５に記憶されている選択方向に存在する画素の積算エネルギーが最小となる経路を部分シームとして決定する。部分シーム決定部１７６は、決定した部分シームの情報を部分シーム記憶部１７７に記憶させる。
【００６２】
積算エネルギー閾値判定部１７８は、部分シーム記憶部１７７に記憶されている最近生成された部分シームの積算エネルギーが所定の閾値よりも小さいか否かを判定する。そして、積算エネルギー閾値判定部１７８は、最近生成された部分シームの積算エネルギーが所定の閾値よりも小さい場合、エネルギー最大値挿入部１８１に通知する。さらに、積算エネルギー閾値判定部１７８は、入力画像エネルギーマップに新たに記憶された部分シームに属する画素のエネルギーにエネルギー最大値を挿入させて更新させると共に、新たに部分シームを探索させる。
【００６３】
一方、最近生成された部分シームの積算エネルギーが所定の閾値よりも小さくない場合、
積算エネルギー閾値判定部１７８は、出力部１８０にその旨通知し、出力部１８０より部分シーム記憶部１７７に記憶されている部分シームの情報を加工部１１６に出力させる。
【００６４】
ブロック内部分シーム本数判定部１７９は、今現在の部分シーム本数が、縮小シームが求められた縮小画像を構成する画素からなる縮小ブロック単位で予め設定される本数となったか否かを判定する。そして、ブロック内部分シーム本数判定部１７９は、今現在の部分シーム本数が、予め設定された本数となった場合、全画像探索部１３１に対して新たな縮小シームを探索するように通知する。
【００６５】
［画像サイズ変更処理］
次に、図６のフローチャートを参照して、画像サイズ変更処理について説明する。
【００６６】
ステップＳ１１において、画像クロップ部２１は、画像クロップ処理を実行し、例えば、図７で示されるような入力画像Ｐ０より、被写体を包含する領域からなるクロップ画像Ｐ０’として切り取る。そして、画像クロップ部２１は、切り取ったクロップ画像Ｐ０’をオブジェクト適応型サイズ変更部２２、およびクロップサイズ判定部２３に出力する。尚、画像クロップ処理について、図８のフローチャートを参照して、詳細を後述する。
【００６７】
ステップＳ１２において、クロップサイズ判定部２３は、画像クロップ部２１より供給されてきたクロップ画像が、表示部１２において表示するのに適切なサイズに縮小されているか否かを判定する。ステップＳ１２において、クロップ画像が、表示部１２において表示するのに適切なサイズに縮小されていないと判定された場合、処理は、ステップＳ１３に進む。
【００６８】
ステップＳ１３において、クロップサイズ判定部２３は、オブジェクト適応型サイズ変更部２２を制御して、オブジェクト適応型サイズ変更処理を実行させて、クロップ画像を、クロップ画像内のオブジェクトである被写体の配置に基づいて縮小させる。すなわち、オブジェクト適応型サイズ変更部２２は、クロップ画像内の被写体であるオブジェクトの大きさを変更せずに、画像サイズを縮小させる。そして、オブジェクト適応型サイズ変更部２２は、縮小したクロップ画像を画像サイズ調整部２４、および変更画像サイズ判定部２５に供給する。尚、オブジェクト適応型サイズ変更処理については、図１３のフローチャートを参照して、詳細を後述する。
【００６９】
ステップＳ１４において、変更画像サイズ判定部２５は、オブジェクト適応型サイズ変更部２２により縮小されたクロップ画像のサイズが、表示部１２において表示するのに適切なサイズに縮小されているか否かを判定する。ステップＳ１４において、適切なサイズに変更されていないと判定された場合、処理は、ステップＳ１５に進む。
【００７０】
ステップＳ１５において、変更画像サイズ判定部２５は、画像サイズ調整部２４を制御して、縮小されたクロップ画像を、従来のように、水平方向、および垂直方向に対して表示部１２に適切なサイズに縮小するように調整させ出力部２６に出力させる。
【００７１】
ステップＳ１６において、出力部２６は、表示部１２に縮小された画像を出力して、表示させる。
【００７２】
一方、ステップＳ１２において、クロップ画像のサイズが、表示部１２が表示するのに適している場合、ステップＳ１７において、クロップサイズ判定部２３は、供給されてきたクロップ画像をそのまま出力部２６に出力する。また、ステップＳ１４において、オブジェクト適応型サイズ変更部２２によりクロップ画像内の被写体の位置に応じて被写体の大きさを変えずに画像サイズが変更された画像が表示部１２の表示に適したサイズに縮小されていた場合、処理は、ステップＳ１７に進む。すなわち、いずれにおいても、クロップ画像、または縮小されたクロップ画像が出力部２６に出力されて、表示部１２に表示される。
【００７３】
すなわち、原則としてクロップ画像が表示部１２に出力される画像として求められ、クロップ画像が表示部１２に適していない場合、オブジェクト適応型サイズ変更部２２が、オブジェクトの大きさを変えずにクロップ画像のサイズを縮小する。そして、オブジェクトの大きさを変えずに縮小されたクロップ画像が、表示部１２に適していない場合、従来通りの手法で縮小するようにした。
【００７４】
すなわち、クロップ画像、および縮小クロップ画像のいずれにおいてもオブジェクトの大きさが変更されることなく、優先的にサイズが縮小された画像が表示部１２に表示される画像として候補に選ばれるようにした。このように、できるだけ被写体であるオブジェクトのサイズが小さくならない画像が優先的に表示部１２に表示される画像として候補に選ばれるようにした。また、それでも表示できない場合には、従来の手法により画像が縮小されるので、表示部１２のサイズには確実に表示されるようにした。
【００７５】
結果として、被写体であるオブジェクトができるだけ小さくならない画像が表示部１２に表示され易くなる。
【００７６】
［画像クロップ処理］
次に、図８のフローチャートを参照して、画像クロップ処理について説明する。
【００７７】
ステップＳ３１において、被写体領域検出部４１は、被写体領域検出処理を実行し、入力された画像から、被写体であるオブジェクトの存在する領域を検出し、被写体領域包含範囲探索部４２に供給する。
【００７８】
［被写体領域検出処理］
ここで、図９のフローチャートを参照して、被写体領域検出処理について説明する。
【００７９】
ステップＳ５１において、輝度情報抽出部６１は、供給された入力画像に基づいて輝度情報マップを生成し、被写体マップ生成部６６に供給する。そして、ステップＳ５２において、色情報抽出部６２は、供給された入力画像に基づいて色情報マップを生成し、被写体マップ生成部６６に供給する。
【００８０】
ステップＳ５３において、エッジ情報抽出部６３は、供給された入力画像に基づいてエッジ情報マップを生成し、被写体マップ生成部６６に供給する。また、ステップＳ５４において、被写体情報抽出部６４は、供給された入力画像に基づいて被写体情報マップを生成し、被写体マップ生成部６６に供給する。さらに、ステップＳ５５において、動き情報抽出部６５は、動き情報抽出処理を行って、供給された入力画像に基づいて動き情報マップを生成し、被写体マップ生成部６６に供給する。
【００８１】
ステップＳ５６において、被写体マップ生成部６６は、輝度情報抽出部６１乃至動き情報抽出部６５から供給された輝度情報マップ乃至動き情報マップを重み付き加算して被写体マップを生成し、被写体領域特定部６７に供給する。
【００８２】
例えば、被写体マップ生成部６６は、情報マップごとに予め求められている重みである、情報重みＷｂを用いて各情報マップを線形結合する。つまり、線形結合により得られる情報マップの所定の画素を注目画素とすると、注目画素の画素値は、注目画素と同じ位置にある各情報マップの画素の画素値に、情報マップごとの情報重みＷｂを乗算して得られた値の総和とされる。
【００８３】
次に、被写体マップ生成部６６は、線形結合により得られた情報マップ（以下、線形結合情報マップとも称する）の各画素の画素値に、シグモイド関数による演算処理を施す。
【００８４】
より詳細には、被写体マップ生成部６６は、シグモイド関数をテーブル化して得られた変換テーブルを予め保持している。この変換テーブルは、入力としての所定の値と、その値をシグモイド関数に代入して得られる出力値とからなり、変換テーブルにより線形結合情報マップを変換すれば、シグモイド関数により線形結合情報マップを変換した場合と同様の情報マップが得られる。
【００８５】
例えば、シグモイド関数は、以下の式（３）に示す双曲線余弦関数（ハイパボリックタンジェント関数）とされる。
【００８６】
ｆ（ｘ）＝ａ×ｔａｎｈ（ｘ×ｂ）        ・・・（３）
【００８７】
なお、式（３）において、ａおよびｂは、予め定められた定数を示しており、ｘは、これから変換しようとする線形結合情報マップの画素の画素値とされる。
【００８８】
このような双曲線余弦関数がシグモイド関数とされる場合、変換テーブルは、入力値ｘの範囲を−２から２までの範囲に制限し、入力値ｘを１／１２８単位で離散化して得られたテーブルとされる。このような変換テーブルでは、入力値ｘが−２より小さい場合には、その入力値ｘが−２であるとして扱われ、入力値ｘが２より大きい場合には、その入力値ｘが２であるとして扱われる。さらに、変換テーブルでは、入力値ｘが大きくなるほど、出力値ｆ（ｘ）が大きくなる。
【００８９】
被写体マップ生成部６６は、線形結合情報マップの画素の画素値を、その画素値ｘ（入力値ｘ）から、画素値ｘに対応する出力値ｆ（ｘ）に変更することにより、線形結合情報マップを変換する。すなわち、被写体マップ生成部６６は、変換テーブルを用いて変換された線形結合情報マップを、シグモイド関数による演算処理が施された線形結合情報マップとする。
【００９０】
このように、変換テーブルを用いて線形結合情報マップを変換することにより、シグモイド関数自体を用いて変換する場合と比べて、より簡単かつ迅速に線形結合情報マップの変換を行うことができる。
【００９１】
さらに、被写体マップ生成部６６は、変換テーブルで変換された線形結合情報マップの各画素の画素値に、画素ごとに予め求められた重みである、被写体重みＷｃを乗算し、被写体マップとする。
【００９２】
すなわち、これから求めようとする被写体マップ上の注目する画素を注目画素とすると、変換された線形結合情報マップの注目画素と同じ位置の画素の画素値に、被写体重みＷｃが乗算された値が、注目画素の画素値とされる。
【００９３】
なお、より詳細には、被写体マップの生成に用いられる色情報マップとして、Ｃｒの色情報マップと、Ｃｂの色情報マップとが用いられ、エッジ情報マップとして、０度、４５度、９０度、１３５度のそれぞれの方向のエッジ情報マップが用いられる。また、情報重みＷｂおよび被写体重みＷｃは、予め学習により求められている。
【００９４】
このようにして被写体マップが生成されると、被写体マップは、被写体マップ生成部６６から被写体領域特定部６７に供給され、処理はステップＳ５７に進む。
【００９５】
ステップＳ５７において、被写体領域特定部６７は、被写体マップ生成部６６から供給された被写体マップを用いて、供給された入力画像上の被写体の領域を特定する。
【００９６】
例えば、被写体マップの画素の画素値が大きいほど、その画素と同じ位置の入力画像の画素の領域が、被写体の領域らしいとされるものとする。この場合、被写体領域特定部６７は、被写体マップ上において、予め定められた閾値以上の画素値を有する、互いに隣接する画素からなり、所定の面積（画素数）以上の領域を検出し、検出された領域に対応する入力画像上の領域が被写体の含まれる領域であるとする。
【００９７】
被写体領域特定部６７は、入力画像上の被写体の含まれる領域を検出すると、その検出結果を後段に出力して、被写体領域特定処理は終了する。
【００９８】
以上のようにして、入力画像から被写体マップが生成され、被写体マップが用いられて、入力画像における被写体の領域が特定される。
【００９９】
ここで、図８のフローチャートの説明に戻る。
【０１００】
ステップＳ３２において、被写体領域包含範囲探索部４２は、被写体領域を包含する範囲を探索し、探索結果を被写体領域包含範囲矩形化部４３に供給する。すなわち、例えば、図１０で示されるように、入力画像のうち、黒色のマスで示されるように被写体領域が検出されている場合、被写体領域包含範囲探索部４２は、斜線部で示されるように、黒色のマスで示される被写体領域を全て包含する範囲を探索する。
【０１０１】
ステップＳ３３において、被写体領域包含範囲矩形化部４３は、被写体領域包含範囲探索部４２により探索された被写体領域の全てを包含する範囲を矩形化して矩形状の画像を生成し、追加領域付加部４４に供給する。
【０１０２】
ステップＳ３４において、追加領域付加部４４は、矩形化された被写体領域包含範囲の外周部に所定の幅で構成される追加領域を付加し、画像切出部４５に供給する。すなわち、例えば、被写体領域包含範囲が、図１０の斜線部で示される範囲である場合、追加領域付加部４４は、図１０において格子部で示されるような所定の幅を持った追加領域を被写体領域包含範囲の外周部に付加する。尚、この所定の幅は被写体マップを算出する際、入力画像の縮小率に基づいて決定するようにしてもよい。
【０１０３】
ステップＳ３５において、画像切出部４５は、被写体領域包含範囲および追加領域からなる範囲を、入力画像より切り出して、クロップ画像を生成し、出力する。すなわち、画像切出部４５は、図１０における最外周部の実線で示される入力画像のうち、格子部で囲まれた被写体領域包含範囲および追加領域からなる範囲を、切り出してクロップ画像を生成する。
【０１０４】
以上の処理により、例えば、図１１の上部で示されるような、人物が自転車に乗っているような入力画像の場合、図１１の下部で示されるような被写体領域が検出される。すなわち、図１１の上部においては、自転車と、人物が被写体としてのオブジェクトと認識されるので、画像内における中央付近に人物からなる被写体領域が検出される。従来の手法において、図１１の下部で示される被写体領域をそのまま用いて、被写体領域であることを示す画素値を持った領域だけを入力画像から切り出すと、被写体である人物の辺縁部が切断されてしまうことがあった。すなわち、例えば、図１２の上部で示されるように、被写体である人物の頭の部分などが切断された状態で切り出されてしまうことがあった。
【０１０５】
しかしながら、以上のように被写体領域包含範囲に対して、所定の幅の追加領域が付加されることにより、図１２の下部で示されるように、被写体である人物の頭の部分などが確実に切り出されている。
【０１０６】
すなわち、被写体検出処理においても、被写体の辺縁部については、検出が確実にされない部分が発生する恐れがあるため、その範囲をカバーするべく、追加領域が付加されることにより、確実に被写体を切り出すことが可能となる。
【０１０７】
［オブジェクト適応型サイズ変更処理］
次に、図１３のフローチャートを参照して、オブジェクト適応型サイズ変更処理について説明する。
【０１０８】
ステップＳ１１１において、画像取得部１１１は、入力画像を取得し、取得した入力画像をエネルギーマップ生成部１１２、および加工部１１６に供給する。
【０１０９】
ステップＳ１１２において、エネルギーマップ生成部１１２は、エネルギー算出部１２１を制御して、入力画像の各画素の画素値、または輝度値などに基づいて、上述した式（１）を算出することにより、各画素のエネルギーを算出させる。さらに、エネルギーマップ生成部１１２は、エネルギー算出部１２１を制御して、各画素単位で算出されたエネルギーの値より入力画像エネルギーマップを生成させ、入力画像エネルギーマップ記憶部１１３に記憶させると共に、縮小部１２２に供給させる。
【０１１０】
ステップＳ１１３において、エネルギーマップ生成部１１２は、縮小部１２２を制御してエネルギーマップを縮小画像のサイズに処理させることにより、縮小画像エネルギーマップを生成させ、縮小画像エネルギーマップ記憶部１１４に記憶させる。より詳細には、縮小部１２２は、入力画像エネルギーマップを、例えば、ｍ画素×ｎ画素単位でブロック化し、その各ブロックを構成する各画素のエネルギーの平均値や中央値などを、縮小画像の各画素に対応するエネルギーとする縮小画像エネルギーマップを生成する。尚、この例においては、縮小画像に対応するエネルギーマップを縮小画像エネルギーマップと称するものとしているが、縮小画像エネルギーマップは、入力画像エネルギーマップを低解像度化したエネルギーマップと同様のものである。
【０１１１】
ステップＳ１１４において、探索部１１５は、入力画像エネルギーマップ記憶部１１３の入力画像エネルギーマップ、および縮小画像エネルギーマップ記憶部１１４の縮小画像エネルギーマップに基づいて、探索処理を実行し、所定数の部分シームを探索する。すなわち、探索部１１５は、入力画像の水平方向（ｘ方向）、または垂直方向（ｙ方向）に対して、隣接する画素より構成される経路のうち、画素値、または輝度値の変化が小さい経路を、所定数だけ部分シームとして探索し、その情報を加工部１１６に供給する。そして、探索部１１５は、探索した所定数の部分シームの情報を加工部１１６に供給する。尚、探索処理については、図１４のフローチャートを参照して、後述するものとする。
【０１１２】
ステップＳ１１５において、加工部１１６は、部分シームの情報に基づいて、入力画像より部分シームを構成する画素を削除し、削除した領域を詰めることにより、画像を縮小させる。
【０１１３】
ステップＳ１１６において、加工部１１６は、入力画像に対して加工処理した画像を表示部２に出力して表示させる。
【０１１４】
以上の処理により、まず、入力画像において、画素間の画素値、または輝度値の変化の少ない（エネルギーの積算値である積算エネルギーが最小となる）隣接する画素により構成される部分シームが求められる。そして、求められた部分シームを構成する画素が、入力画像より削除される。これにより入力画像が縮小される加工処理が実現されるので、画像内における主だったオブジェクトの大きさを変更することなく、入力画像の全体の大きさを変化させることが可能となる。尚、オブジェクト適応型サイズ変更処理については、従来のシームカービングを用いるようにしてもよい。
【０１１５】
［探索処理］
次に、図１４のフローチャートを参照して、探索処理について説明する。
【０１１６】
探索処理は、ステップＳ１３１において、縮小画像エネルギーマップが用いられて全画像探索処理がなされることにより、縮小画像における縮小シームが求められる。そして縮小シームが求められると、ステップＳ１３２において、全画像探索処理の探索結果である縮小シームに基づいて、部分画像探索処理が実行されて、入力画像に対する部分シームが求められる。
【０１１７】
［全画像探索処理］
ここで、図１５のフローチャートを参照して、縮小画像エネルギーマップを用いた全画像探索処理について説明する。尚、図１５のフローチャートにおいては、方形状の画像のうち、上方端部の画素と、下方端部の画素とを隣接する画素間で順次結ぶ縮小シームを求める例について説明する。このように求められる垂直方向の端部を結ぶ縮小シームは、縮小画像の水平方向に対して、縮小するために求められるものである。従って、縮小画像の垂直方向に対しての縮小に際しては、水平方向の端部同士、すなわち、左端部の画素と右端部の画素とを隣接する画素間で順次結ぶことにより得られる縮小シームを同様の処理で求める必要がある。
【０１１８】
ステップＳ１５１において、縮小画像エネルギーマップバッファ１５１は、縮小画像エネルギーマップ記憶部１１４より縮小画像エネルギーマップを読み出し、一時的に記憶する。
【０１１９】
ステップＳ１５２において、積算エネルギーマップ生成部１５２は、縮小画像エネルギーマップにおける注目画素（ｘ，ｙ）を（０，１）に設定し、初期化する。尚、ここで設定される座標は、縮小画像の左上端部の画素を原点（０，０）とし、水平方向のｘ座標は右方向を正とするものとし、垂直方向のｙ座標は下方向を正とするものとする。
【０１２０】
ステップＳ１５３において、積算エネルギーマップ生成部１５２は、注目画素（ｘ，ｙ）のｙ座標が縮小画像の垂直方向の高さ（height）より小さいか否かを判定する。ステップＳ５３において、例えば、最初の処理の場合、ｙ座標は、縮小画像の垂直方向の高さになっていないので、処理は、ステップＳ１５４に進む。
【０１２１】
ステップＳ１５４において、積算エネルギーマップ生成部１５２は、注目画素（ｘ，ｙ）のｘ座標が縮小画像の水平方向の幅（width）よりも小さいか否かを判定する。ステップＳ１５４において、注目画素（ｘ，ｙ）のｘ座標が縮小画像の水平方向の幅（width）よりも小さい場合、処理は、ステップＳ１５５に進む。
【０１２２】
ステップＳ１５５において、積算エネルギーマップ生成部１５２は、縮小画像エネルギーマップにおける注目画素（ｘ，ｙ）の左上（ｘ−１，ｙ＋１）、真上（ｘ，ｙ＋１）、および右上（ｘ＋１，ｙ＋１）のエネルギーのうち、最小となる積算エネルギーを持つ画素を選択する。積算エネルギーマップ生成部１５２は、選択した画素の積算エネルギーと注目画素のエネルギーとを加算して、注目画素の積算エネルギーを求める。
【０１２３】
ステップＳ１５６において、積算エネルギーマップ生成部１５２は、求めた積算エネルギーを注目画素の積算エネルギーとして、積算エネルギーマップ記憶部１５３に記憶させる。尚、注目画素が、上端部より１画素下の場合、上端部の画素のエネルギーそのものが積算エネルギーとして利用される。
【０１２４】
ステップＳ１５７において、積算エネルギーマップ生成部１５２は、注目画素（ｘ，ｙ）のｘ座標を１インクリメントして、処理は、ステップＳ１５４に戻る。そして、ステップＳ１５４において、注目画素（ｘ，ｙ）のｘ座標が縮小画像の水平方向の幅（width）よりも小さくない、すなわち、水平方向について全ての処理が終了した場合、処理は、ステップＳ１５８に進む。
【０１２５】
ステップＳ１５８において、積算エネルギーマップ生成部１５２は、注目画素（ｘ，ｙ）のｙ座標を１インクリメントし、処理は、ステップＳ１５３に戻る。すなわち、ステップＳ１５３乃至Ｓ１５８の処理が繰り返されることにより、縮小画像の各画素について探索方向と逆方向に隣接する３画素の積算エネルギーのうち、最小となる積算エネルギーを持つ画素が選択される。そして、選択された積算エネルギーと各画素のエネルギーとが順次積算されて、積算エネルギーマップが生成され、積算エネルギーマップ記憶部１５３に記憶されていく。
【０１２６】
より具体的には、例えば、図１６の左上部で示されるような３画素×３画素の縮小画像エネルギーマップを考える場合、処理は以下のようにされることになる。尚、図１６の左上部の縮小画像エネルギーマップのエネルギーは、上段は左から右に向かって、１，２，３であり、中段は左から右に向かって６，２，４であり、下段は左から右に向かって、２，３，１に設定されている。
【０１２７】
ステップＳ１５２の処理により、最初の注目画素（ｘ，ｙ）は、（０，１）のエネルギーが６の画素となる。そして、この注目画素（０，１）は、左端部の画素であるので、ステップＳ１５５の処理により、真上の画素（０，０）の画素のエネルギー１と、右上の画素（１，０）の画素のエネルギー２との２画素のうち最小となる積算エネルギーの画素（０，０）が選択される。そして、図６の左下部で示されるように、積算エネルギーマップ生成部１５２は、この選択された画素（０，０）のエネルギー１（ここでは積算エネルギーとして扱われる）と、注目画素（ｘ，ｙ）のエネルギー６の積算値７を積算エネルギーマップの注目画素（ｘ，ｙ）＝（０，１）における積算エネルギーとして積算エネルギーマップ記憶部１５３に記憶させる。
【０１２８】
ステップＳ１５７の処理により、注目画素（ｘ，ｙ）のｘ座標が１インクリメントされて、エネルギーが注目画素（ｘ，ｙ）は、（１，１）のエネルギーが２の画素となる。そして、この注目画素（１，１）は、ステップＳ１５５の処理により、左上の画素（０，０）のエネルギー１、真上の画素（１，０）の画素のエネルギー２と、右上の画素（２，０）の画素のエネルギー３との３画素のうち最小となる積算エネルギーの画素（０，０）が選択される。そして、図１６の中央下部で示されるように、積算エネルギーマップ生成部１５２は、この選択された画素（０，０）のエネルギー１と、注目画素（ｘ，ｙ）のエネルギー２の積算値３を積算エネルギーマップの注目画素（ｘ，ｙ）＝（１，１）における積算エネルギーとして積算エネルギーマップ記憶部１５３に記憶させる。
【０１２９】
さらに、ステップＳ１５７の処理により、注目画素（ｘ，ｙ）のｘ座標がさらに１インクリメントされて、エネルギーが注目画素（ｘ，ｙ）は、（２，１）のエネルギーが４の画素となる。そして、この注目画素（２，１）は、縮小画像の右端部の画素であるので、ステップＳ１５５の処理により、左上の画素（１，０）のエネルギー１、真上の画素（２，０）の画素のエネルギー３との２画素のうち最小となるエネルギーの画素（２，０）が選択される。そして、図１６の右下部で示されるように、積算エネルギーマップ生成部１５２は、この選択された画素（１，０）のエネルギー２と、注目画素（ｘ，ｙ）のエネルギー４の積算値６を積算エネルギーマップの注目画素（ｘ，ｙ）＝（２，１）における積算エネルギーとして積算エネルギーマップ記憶部１５３に記憶させる。
【０１３０】
この結果、２段目の積算エネルギーマップにおける中段の積算エネルギーは、図１７の右上部のように左から７，３，６となる。このとき、注目画素（ｘ，ｙ）のｘ座標は、縮小画像の水平方向の幅(width＝２)より小さくないので、ステップＳ１５８において、ｙ座標が１インクリメントされることにより、縮小画像における下段の各画素が順次注目画素に設定される。尚、図１７の左上部は、縮小画像エネルギーマップが示されている。
【０１３１】
上述した処理と同様の処理により、注目画素（ｘ，ｙ）が、（０，２）の場合、積算エネルギーマップに基づいて、真上の画素（０，１）の積算エネルギーが７であり、右上の画素（１，１）の積算エネルギーが３となる。このため、最小である積算エネルギー３の右上の画素（１，１）が選択されて、積算エネルギー３と、注目画素（ｘ，ｙ）＝（０，２）のエネルギー２とが積算されて、注目画素（ｘ，ｙ）＝（０，２）の積算エネルギーが５とされて、積算エネルギーマップに登録される。
【０１３２】
また、注目画素（ｘ，ｙ）が画素（１，２）である場合、積算エネルギーマップに基づいて、左上の画素（０，１）の積算エネルギーが７であり、真上の画素（１，１）の積算エネルギーが３であり、右上の画素（２，１）の積算エネルギーが６となる。このため、最小である積算エネルギー３の真上の画素（１，１）が選択されて、積算エネルギー３と、注目画素（ｘ，ｙ）＝（１，２）のエネルギー３とが積算されて、注目画素（ｘ，ｙ）＝（１，２）の積算エネルギーが６とされて、積算エネルギーマップに登録される。
【０１３３】
さらに、注目画素（ｘ，ｙ）が画素（２，２）である場合、積算エネルギーマップに基づいて、左上の画素（１，１）の積算エネルギーが３であり、真上の画素（２，１）の積算エネルギーが６となる。このため、最小である積算エネルギー３の左上の画素（１，１）が選択されて、積算エネルギー３と、注目画素（ｘ，ｙ）＝（２，２）のエネルギー１とが積算されて、注目画素（ｘ，ｙ）＝（２，２）の積算エネルギーが４とされて、積算エネルギーマップに登録される。
【０１３４】
この結果、積算エネルギーマップは、図１８の右上部で示されるように構成され、下段の積算エネルギーは、左から５，６，４となる。尚、図１８の左上部は、縮小画像エネルギーマップが示されている。
【０１３５】
このように、ステップＳ５３乃至Ｓ５８の処理が繰り返されることにより、例えば、図１８の左上部で示されるような縮小画像エネルギーマップが得られた場合、図１８の右上部で示されるような積算エネルギーマップが求められて、積算エネルギーマップ記憶部１５３に記憶されることになる。
【０１３６】
ここで、図１５のフローチャートの説明に戻る。
【０１３７】
ステップＳ１５３において、注目画素（ｘ，ｙ）のｙ座標が縮小画像の垂直方向の高さよりも小さくないと判定された場合、すなわち、上述したように積算エネルギーマップが完成されて、積算エネルギーマップ記憶部１５３に記憶されたとみなされた場合、処理は、ステップＳ１５９に進む。
【０１３８】
ステップＳ１５９において、縮小シーム決定部１５４は、積算エネルギーマップ記憶部１５３に記憶されている積算エネルギーマップを読み出し、積算エネルギーが最小となる最下段の画素を検索し、縮小シームの端部を下方の端部とする。さらに、縮小シーム決定部１５４は、縮小シームの下方の端部の画素より順次、上方に隣接する画素、すなわち、右上、真上、および左上に隣接する画素のうち、積算エネルギーが最小となる画素を順次上方に向かって探索する処理を繰り返し、上段の端部の画素まで探索する。そして、縮小シーム決定部１５４は、順次探索された画素を結ぶ経路を縮小シームとして決定し、その情報を部分画像探索部１３２に供給すると共にエネルギー最大値挿入部１５５に供給する。
【０１３９】
すなわち、図１８の右上部の積算エネルギーマップの場合、最下段における積算エネルギーの最小値は、図１８の丸印で示される積算エネルギーが４であって、エネルギーが１の画素（２，２）である。すなわち、この画素（２，２）が縮小シームの下方の端部となる。そして、この画素（２，２）からみて、上方に隣接する画素（２，１），（１，１）のうち、積算エネルギーの最小値は、積算エネルギーが３であって、エネルギーが２の画素（１，１）である。さらに、この画素（１，１）からみて、上方に隣接する画素（０，０），（１，０），（２，０）のうち、積算エネルギーの最小値は、積算エネルギーが１であって、エネルギーが１の画素（０，０）である。
【０１４０】
すなわち、下方の端部である画素（２，２）より上方の端部である画素（０，０）まで順次探索された画素（２，２），（１，１），（０，０）の経路は、順次積算されるエネルギーが最小となる。したがって、この画素（２，２），（１，１），（０，０）から構成される経路は、隣接する画素間の画素値、または輝度値の変化が最小となる縮小画像上の経路、すなわち、縮小シームを構成していることになる。このため、縮小シーム決定部１５４は、これらの探索された画素の座標の情報に基づいて構成される経路を縮小シームに決定する。
【０１４１】
ステップＳ１６０において、エネルギー最大値挿入部１５５は、縮小画像エネルギーマップバッファ１５１に記憶されている縮小画像エネルギーマップを読み出し、縮小シーム決定部１５４で決定された縮小シームを構成する各画素のエネルギーに最大値を挿入して更新する。この結果、最大値からなる画素については、以降の処理において縮小シームを構成する画素として選択され難い画素とすることが可能となる。結果として、複数に縮小シームが選択されるような場合においても、縮小シームが交差するなどして、同一の画素が、複数の縮小シームに含まれることが抑制され、縮小シームに属する画素を削除するときに、画素ずれが生じることを抑制することが可能となる。
【０１４２】
尚、図１５のフローチャートを参照して説明した処理により縮小シームを求める手法は、一般にダイナミックプログラミング法と呼ばれる手法であるが、縮小シームは、後述するグリーディ法により求めるようにしてもよい。
【０１４３】
［部分探索処理］
次に、図１９のフローチャートを参照して、部分画像探索処理について説明する。
【０１４４】
ステップＳ１７１において、隣接エネルギー比較部１７２は、上述した全画像探索処理により縮小画像エネルギーマップに基づいて求められた縮小シームに基づいて、入力画像上の端部の画素の座標を取得する。すなわち、縮小シームは、入力画像上の複数の画素（例えば、ｍ画素×ｎ画素）からなるブロックを１画素とした縮小画像、すなわち低解像度画像に基づいて求められたものである。したがって、求められた縮小シームを構成する縮小画像上の画素は、入力画像においては、複数の画素からなるブロックに対応するものである。そこで、隣接エネルギー比較部１７２は、縮小シームを構成する画素（ブロック）の、入力画像上の水平方向の一方の端部の画素の座標（Ｘ，Ｙ）を求める。尚、他方の端部の座標については、ブロックサイズがわかっているため、例えば、水平方向の座標としては、（Ｘ＋ｍ）として求めることが可能である。
【０１４５】
ステップＳ１７２において、入力画像エネルギーマップバッファ１７１は、入力画像エネルギーマップ記憶部１１３に記憶されている入力画像エネルギーマップを読み出して、一旦記憶する。
【０１４６】
ステップＳ１７３において、隣接エネルギー比較部１７２は、部分シームの候補の起点画素（ｘｓ，ｙｓ）を縮小シームの端部の座標に基づいて、画素（Ｘ，０）に設定する。
【０１４７】
ステップＳ１７４において、隣接エネルギー比較部１７２は、起点画素（ｘｓ，ｙｓ）のｘｓ座標が、（X＋ｍ（ｍ：水平方向ブロックサイズ））よりも小さいか否かを判定する。例えば、ｘｓ座標が（X＋ｍ）よりも小さい場合、処理は、ステップＳ１７５に進む。
【０１４８】
ステップＳ１７５において、隣接エネルギー比較部１７２は、起点画素（ｘｓ，ｙｓ）を、注目画素（ｘ，ｙ）に設定する。
【０１４９】
ステップＳ１７６において、隣接エネルギー比較部１７２は、注目画素（ｘ，ｙ）のｙ座標が、入力画像の垂直方向の高さ（height）よりも小さいか否かを判定する。例えば、ｙ座標が入力画像の垂直方向の高さ（height）よりも小さい場合、処理は、ステップＳ１７７に進む。
【０１５０】
ステップＳ１７７において、隣接エネルギー比較部１７２は、入力画像エネルギーマップバッファ１７１より入力画像エネルギーマップを読み出し、注目画素（ｘ，ｙ）の左下に隣接する画素（ｘ−１，ｙ＋１）、真下に隣接する画素（ｘ，ｙ＋１）、および右下に隣接する画素（ｘ＋１，ｙ＋１）のエネルギーがいずれも全てエネルギー最大値であるか否かを判定する。例えば、注目画素（ｘ，ｙ）の左下（ｘ−１，ｙ＋１）、真下（ｘ，ｙ＋１）、および右下（ｘ＋１，ｙ＋１）のそれぞれの画素のエネルギーがいずれも全てエネルギー最大値ではない場合、処理は、ステップＳ１７８に進む。
【０１５１】
ステップＳ１７８において、隣接エネルギー比較部１７２は、注目画素（ｘ，ｙ）の情報と、左下に隣接する画素（ｘ−１，ｙ＋１）、真下に隣接する画素（ｘ，ｙ＋１）、および右下に隣接する画素（ｘ＋１，ｙ＋１）のエネルギーの情報を選択経路設定部１７４に通知する。選択経路設定部１７４は、注目画素（ｘ，ｙ）の情報と、左下に隣接する画素（ｘ−１，ｙ＋１）、真下に隣接する画素（ｘ，ｙ＋１）、および右下に隣接する画素（ｘ＋１，ｙ＋１）のうち、エネルギーが最小となる画素を注目画素（ｘ，ｙ）からの選択経路に設定する。
【０１５２】
ステップＳ１７９において、選択経路設定部１７４は、設定した注目画素（ｘ，ｙ）に対応付けて、選択経路の情報を選択経路記憶部１７５に記憶させる。
【０１５３】
ステップＳ１８０において、隣接エネルギー比較部１７２は、注目画素（ｘ，ｙ）の座標を選択経路として選択した座標に設定する。すなわち、隣接エネルギー比較部１７２は、次の注目画素（ｘ，ｙ）の座標を画素（ｘ−１，ｙ＋１）、画素（ｘ，ｙ＋１）、および画素（ｘ＋１，ｙ＋１）のうち、エネルギーが最小となる画素に設定し、処理は、ステップＳ１７６に戻る。
【０１５４】
すなわち、ステップＳ１７６において、ｙ座標が入力画像の高さ（height）に達するまで、ステップＳ１７６乃至Ｓ１８０の処理が繰り返される。例えば、ステップＳ１７７において、注目画素（ｘ，ｙ）の左下、真下、および右下に隣接する画素（ｘ−１，ｙ＋１）、画素（ｘ，ｙ＋１）、および画素（ｘ＋１，ｙ＋１）のエネルギーがいずれも全てエネルギー最大値ではないとすれば、ステップＳ１７６乃至Ｓ１８０の処理により、順次以下のような処理がなされることになる。
【０１５５】
例えば、図２０の最上段で示されるような入力画像エネルギーマップの場合、注目画素は、エネルギーが１の左上の画素に最初に設定されることとなる。このとき、ステップＳ７７の処理により、左下に隣接する画素がないので、真下、および右下に隣接する画素のうち、エネルギーが小さな画素は、図２０の２段目左側で示されるように、点線で囲まれたエネルギーが２の画素となり、その画素が選択経路として選択される。
【０１５６】
次の処理では、そのエネルギーが２の画素が注目画素となるため、図２０の２段目右側で示されるように、左下、真下、および右下に隣接する画素のうち、エネルギーが最小となる画素として、点線で囲まれたエネルギーが１の画素が選択経路として選択される。
【０１５７】
そして、この処理により、入力画像の高さに達することになるので、図２０の２段目右側で示されるように、図２０の入力画像エネルギーマップにおける、左上のエネルギー１の画素を部分シームの起点としたとき、左上のエネルギー１の画素、中央のエネルギーが２の画素、および右下のエネルギー１の画素からなる画素群が順次接続されることにより構成される経路が、部分シームの候補として設定されることになる。
【０１５８】
ステップＳ１７６において、ｙ座標が入力画像の高さ（height）より小さくなく、ｙ座標が入力画像の高さに達したと判定された場合、処理は、ステップＳ１８５に進む。ステップＳ１８５において、選択経路設定部１７４は、部分シームの候補として設定された経路を構成する複数の画素群のエネルギーの積算値を求める。さらに、選択経路設定部１７４は、部分シームの候補を構成する画素群の情報、および求められた積算値を、起点座標（ｘｓ，ｙｓ）に対応付けて選択経路記憶部１７５に記憶させる。すなわち、部分シームの候補は、起点座標（ｘｓ，ｙｓ）により識別され、その起点座標（ｘｓ，ｙｓ）に対応付けて、積算エネルギー、および選択経路として選択された画素群の情報として選択経路記憶部１７５に記憶される。
【０１５９】
ステップＳ１８６において、隣接エネルギー比較部１７２は、起点画素（ｘｓ，ｙｓ）のｘｓ座標を１インクリメントし、処理は、ステップＳ７４に戻る。
【０１６０】
したがって、図２０の最上段で示される入力画像エネルギーマップの場合、その上段における左からエネルギーが１，２，３の画素がそれぞれ起点となる。このため、ステップＳ７４乃至Ｓ８０，Ｓ８５，Ｓ８６の処理が繰り返されると、図２０の場合、以下のように起点座標をとるエネルギーが１，２，３の画素のそれぞれについて、部分シーム候補が求められることになる。
【０１６１】
エネルギーが１の画素が起点の部分シームの候補は、上述した図２０の２段目で示される入力画像エネルギーマップにおける左上のエネルギー１画素、中央のエネルギー２の画素、および右下のエネルギーが１の画素から構成され、積算エネルギーが４となる。また、エネルギーが２の画素が起点の部分シームの候補は、図２０の３段目の左右で示される入力画像エネルギーマップにおける左上のエネルギー２画素、中央のエネルギー２の画素、および右下のエネルギーが１の画素から構成され、積算エネルギーが５となる。さらに、エネルギーが３の画素が起点の部分シームの候補は、図２０の４段目の左右で示される入力画像エネルギーマップにおける左上のエネルギー３の画素、中央のエネルギー２の画素、および右下のエネルギーが１の画素から構成され、積算エネルギーが６となる。
【０１６２】
ステップＳ１７４において、起点座標（ｘｓ，ｙｓ）のｘｓ座標が（Ｘ＋ｍ）よりも小さくない、すなわち、縮小シームとして求められたブロックを超えると判定された場合、処理は、ステップＳ１８７に進む。
【０１６３】
ステップＳ１８７において、部分シーム決定部１７６は、選択経路記憶部１７５に記憶されている候補となる部分シームのうち、積算エネルギーが最も小さな部分シームを、部分シームとして決定し、決定した部分シームの情報を部分シーム記憶部１７７に記憶させる。このとき、同時に、部分シーム決定部１７６は、決定した部分シームの情報をエネルギー最大値挿入部１８１に供給する。
【０１６４】
すなわち、図２０の最上段で示される入力画像エネルギーマップの場合、図２１で示されるように、図２０の２段目で示される起点座標が、左上のエネルギーが１の画素を起点とする部分シーム候補の積算エネルギーが最も小さいため、部分シームとして決定されることになる。尚、図２１においては、左から順に、図２０の２段目、３段目、および４段目の部分シーム候補に対する積算エネルギーの比較により、図２０の２段目に対応する点線で囲まれた左部の経路が部分シームとして選択されたことが示されている。
【０１６５】
ステップＳ１８８において、エネルギー最大値挿入部１８１は、入力画像エネルギーマップを読み出し、部分シームを構成する画素の座標のエネルギーとして、エネルギー最大値を挿入して処理を終了する。
【０１６６】
一方、ステップＳ１７６において、注目画素（ｘ，ｙ）の左下、真下、および右下に隣接する画素（ｘ−１，ｙ＋１）、画素（ｘ，ｙ＋１）、および画素（ｘ＋１，ｙ＋１）のエネルギーがいずれも全てエネルギー最大値である場合、処理は、ステップＳ１８１に進む。
【０１６７】
ステップＳ１８１において、隣接エネルギー比較部１７２は、左下、真下、および右下に隣接する画素のエネルギーがいずれも最大値であることを非隣接エネルギー比較部１７３に通知する。非隣接エネルギー比較部１７３は、注目画素（ｘ，ｙ）のｘ座標にＮ画素分追加したｘ座標の位置（ｘ＋Ｎ）が、入力画像内であるか否かを判定する。ステップＳ１８１において、例えば、注目画素（ｘ，ｙ）のｘ座標にＮ画素分追加したｘ座標の位置（ｘ＋Ｎ）が、入力画像内である場合、処理は、ステップＳ１８２に進む。
【０１６８】
ステップＳ１８２において、非隣接エネルギー比較部１７３は、右下に隣接する画素から右方向に連続して（Ｎ−１）画素分の画素を選択経路を選ぶ候補とする。
【０１６９】
一方、ステップＳ１８１において、注目画素（ｘ，ｙ）のｘ座標にＮ画素分追加したｘ座標の位置（ｘ＋Ｎ）が、入力画像内ではない場合、処理は、ステップＳ１８４に進む。
【０１７０】
ステップＳ１８４において、非隣接エネルギー比較部１７３は、左下に隣接する画素から左方向に連続して（Ｎ−１）画素分の画素を選択経路を選ぶ候補とする。
【０１７１】
ステップＳ１８３において、非隣接エネルギー比較部１７３は、右下に隣接する画素から右方向に連続して（Ｎ−１）画素分の画素、または、左下に隣接する画素から左方向に連続して（Ｎ−１）画素分の画素のうち、エネルギーが最小となる画素を選択経路として選択する。
【０１７２】
すなわち、非隣接エネルギー比較部１７３は、図２２の左部で示されるように、注目画素の右下、真下、および左下に隣接する画素がエネルギー最大値である場合、入力画像内であれば、図２２の右部で示されるように、右下に隣接する画素に右方向に連続して隣接する（Ｎ−１）画素を、あたかも注目画素の右下、真下、および左下に隣接する画素として扱う。尚、図２２において、（Ｎ−１）画素＝６画素である場合が示されている。
【０１７３】
これは、全画像探索処理においても説明したが、エネルギー最大値は、求められた部分シームに属する画素に与えられるものであるから、エネルギー最大値である画素は、一旦部分シームとして選択されている可能性が高い画素である。
【０１７４】
例えば、複数の部分シームが選択される際、図２３の左部で示されるように、部分シームが交差すると、交差位置にはいずれの部分シームにも属する画素が存在することとなる。このような場合、複数の部分シームとして求められた画素を削除すると、図２３の右部で示されるように、複数の部分シームに重複して属する画素を含む行、または列では、部分シームの本数分だけ画素が削除できない恐れがある。結果として、他の行、または列とは画素数が異なる行、または列が発生することとなり、いわゆる画素あまり（ピクセルあまり）が生じてしまう。
【０１７５】
例えば、図２４の左部の斜線部で示されるように、一旦求められた部分シームに対して、図２４の右部の黒色で示されるように、エネルギー最大値を設定した場合、図２４の右部における太線で示されるような部分シームが求められ、丸印で示される注目画素において、左下の画素はエネルギー最大値であっても、真下、および右下はエネルギー最大値ではないので、そのいずれかを選択経路として選択することが可能であるので、部分シームが交差しないように設定することが可能である。
【０１７６】
しかしながら、図２０の左部で示されるような場合、単純にステップＳ１７８の処理を実行すると、エネルギー最大値となるいずれかの画素が選択経路として選択されることとなってしまい、画素あまりが生じる恐れがあった。
【０１７７】
そこで、ステップＳ１８２乃至Ｓ１８４の処理が実行されることにより、注目画素の左下、真下、および右下に隣接する画素が、既に部分シームとして求められている可能性の高いエネルギー最大値となる画素である場合には、選択経路の候補から外される。そして、注目画素に対して隣接してはいないが、不連続ながら上記隣接画素に、さらに隣接する複数の画素を候補とする。すなわち、実質的に注目画素とは直接隣接していない画素が、隣接している画素と同様に扱われて、選択経路の候補とされる。さらに、この注目画素とは直接隣接していない選択経路の候補となる画素のうち、エネルギーが最小となる画素が選択経路として選択されることとなる。結果として、同一の画素が、複数の部分シームを構成する画素となる可能性が低減されるため、いわゆる、画素あまり（ピクセルあまり）という問題を生じ難くすることが可能となる。
【０１７８】
ここで、図１４のフローチャートの説明に戻る。
【０１７９】
ステップＳ１３２の処理により部分画像探索処理が終了し、部分シームが決定されると、処理は、ステップＳ１３３に進む。
【０１８０】
ステップＳ１３３において、積算エネルギー閾値判定部１７８は、最近部分シーム記憶部１７７に記憶された部分シームの積算エネルギーが所定の閾値より大きいか否かを判定する。ステップＳ１３３において、例えば、最近の部分シームの積算エネルギーが所定の閾値より大きくないと判定された場合、処理は、ステップＳ１３４に進む。
【０１８１】
ステップＳ１３４において、ブロック内部分シーム本数判定部１７９は、部分シーム記憶部１７７に記憶された部分シームのうち、現在処理している縮小シームを構成するブロック内で探索された部分シーム本数が、ブロック内で設定される所定本数に達しているか否かを判定する。ステップＳ１３４において、例えば、記憶された部分シームのうち、現在処理している縮小シームを構成するブロック内で探索された部分シーム本数が、ブロック内で設定される所定本数に達していない場合、処理は、ステップＳ１３２に戻る。すなわち、縮小シームを構成するブロック内において求められるべき部分シームの本数は、予め設定された所定本数であるので、所定本数となるまでは、ステップＳ１３２，Ｓ１３３の処理が繰り返されて、同一ブロック内で部分シームが探索され続けることになる。
【０１８２】
一方、ステップＳ１３４において、記憶された部分シームのうち、現在処理している縮小シームを構成するブロック内で探索された部分シーム本数が、ブロック内で設定される所定本数を超えている場合、処理は、ステップＳ１３１に戻る。すなわち、ブロック内で設定される所定数の部分シーム本数に達している場合、再度全画像探索処理により新たに縮小シームを求めて、求められた縮小シームに対して別途部分画像探索処理が必要となるため、処理は、ステップＳ１３１に戻る。
【０１８３】
そして、ステップＳ１３３において、例えば、最近の部分シームの積算エネルギーが所定の閾値より大きい場合、処理は、ステップＳ１３５に進む。ステップＳ１３５において、積算エネルギー閾値判定部１７８は、出力部１８０を制御して、部分シーム記憶部１７７に記憶されている全ての部分シームの情報を加工部１１６に出力させる。
【０１８４】
探索処理をまとめると以下のようになる。すなわち、まず、縮小画像に対応する縮小画像エネルギーマップを用いて、全画像探索処理を実行し、縮小シームを探索する。このとき、全画像探索処理は、上述したように、ダイナミックプログラミング法を用いて縮小シームを探索する。ここで求められる縮小シームは、縮小画像に対しては画素単位であるが、縮小画像の画素は、入力画像における複数の画素のブロックに対応するものであるので、ある程度、縮小シームは、入力画像からみて、求めるべき部分シームの探索範囲を限定する情報となる。
【０１８５】
そこで、次に、縮小シームとして求められた範囲の画素について、部分画像探索処理を実行し、部分シームを求める。部分画像探索処理においては、グリーディ法が用いられて部分シームが探索される。この際、最近求められた部分シームの積算エネルギーが、所定の閾値よりも大きくなく、かつブロック内で設定される所定数の部分シームが求められている場合、再び全画像探索処理により縮小シームが求められ、同様に部分画像探索処理が実行される処理が繰り返される。
【０１８６】
そして、最近求められた部分シームの積算エネルギーが、所定の閾値よりも大きくなったところで、求められた部分シームの情報が出力されて、出力された部分シームに基づいて、画像が加工される。
【０１８７】
以上の処理により、画像を削除する部分シームを探索するに当たり、まず、縮小画像より全画像探索処理で縮小シームを探索してから、探索された縮小シームのブロックの端部を構成する画素を起点とする部分シームのみを検索するようにした。このため、入力画像全体のうち、部分シームを詳細に探索する範囲を限定させることができので、入力画像全体から部分シームを探索するよりも計算量を低減させることが可能となる。
【０１８８】
また、全画像探索処理により探索された縮小シームのブロックを構成する端部を起点とする部分シームの探索に当たっては、全画像探索処理におけるダイナミックプログラミング法ではなく、グリーディ法を用いるようにしたので、計算量を低減することが可能となる。さらに、最近求められた部分シームの積算エネルギーが所定の閾値よりも大きくなったところで部分シームの探索が打ち切られる。このため、積算エネルギーが大きな、被写体を含む可能性のある部分シームの探索が抑制されるので、被写体が削られてしまうといった、画像の破綻を抑制しつつ、被写体を小さくすることなく画像のサイズを縮小することが可能となる。
【０１８９】
［ダイナミックプログラミング法とグリーディ法について］
ここで、ダイナミックプログラミング法とグリーディ法について説明する。ダイナミックプログラミング法とは、上述した全画像探索処理における縮小シームを探索する処理である。また、グリーディ法とは、上述した部分画像探索処理における部分シームを探索する処理である。
【０１９０】
より具体的には、図２５の上部で示されるエネルギーマップに対して、選択経路として設定された画素のエネルギーの積算値が最小となるシームを探索する場合、それぞれの手法は以下のようになる。尚、図２５の上部で示されるエネルギーマップの各画素のエネルギーは、最上段が左から１，４，２，４であり、２段目が５，２，１，３であり、３段目が４，１，２，５であり、４段目が１，３，２，１であり、５段目が１０，１０，３，２である。
【０１９１】
最上段最左部のエネルギーが１の画素を起点としたシームを探索する場合、ダイナミックプログラミング法では、まず、積算エネルギーマップが生成される。すなわち、積算エネルギーマップは、上から２段目の各画素より左上、真上、および右上に隣接する画素のエネルギーのうち最小エネルギーを積算する処理を下方向に順次繰り返すことにより生成される。そして、図２５の左下部で示されるように、積算エネルギーマップにしたがって、終点となる画素のうち積算エネルギーが最小となる画素と起点となる画素とを順次結ぶ選択経路を構成する画素群が最上段最左部のエネルギーが１の画素を起点としたシームが候補として選択される。そして、全ての起点に対して求められた候補となるシームのうち、積算エネルギーが最小となるシームが最終的に探索されることになる。図２５の左下部においては、太線で示される積算エネルギーが８となるシームが選択される。尚、図２５の左下部においては、５段目の画素における積算エネルギーは、左から１５，１５，９，８である。
【０１９２】
これに対して、グリーディ法では、図２５の右下部で示されるように、エネルギーマップに従って、各画素における左下、真下、および右下に隣接する画素のエネルギーのうち最小となるエネルギーの画素が順次選択経路として選択される。そして、各起点からは、候補となるシームが１本だけ求められ、それぞれの積算エネルギーのうち、最小のものが最終的に選択される。図２５の右下部においては、最上段における各起点となるシームの積算エネルギーは、起点となる画素毎に左から１５，１７，１５，１７となる。このため、最終的には、最上段におけるエネルギーが１または２の画素を起点とするシームが選択されることになる。
【０１９３】
以上の処理を比較すると、ダイナミックプログラミング法は、一旦積算エネルギーマップを求めた後、全ての起点となる画素に対して、全ての終点となる画素までのシームの積算エネルギーを比較した上で、シームを選択することとなる。このため、図２５の左下部で示されるように、グリーディ法よりも高い精度で、積算エネルギーが最小となるシームが選択される。しかしながら、一旦積算エネルギーマップを求めた後、全ての起点となる画素に対して、全ての終点となる画素までのシームの積算エネルギーを求めることとなるため、計算量が膨大なものとなる。一方、グリーディ法は、積算エネルギーマップを特に求める必要がなく、各画素について、いずれの選択経路とするかについては、一定の条件となるため、計算量を小さくすることが可能となる。しかしながら、図２５における右下部で示されるように、各画素毎にしか選択経路が決定されないため、真に積算エネルギーが最小となる経路からなるシームを探索することができない。
【０１９４】
しかしながら、本実施例においては、縮小画像に対して全画像探索処理において、精度の高いダイナミックプログラミング法を用いていることから、求められる縮小シームは比較的精度良く求めることが可能となる。また、縮小画像に対してダイナミックプログラミング法で全画像探索処理を実行しているため、入力画像に対してする処理よりも計算量を小さくすることが可能となる。さらに、入力画像のうち、縮小シームとして求められた範囲を起点とする画素のみに対してグリーディ法を用いた部分画像探索処理が実行されるため、軽い計算量でありながら、比較的精度良く求められた縮小シームの情報を用いて、部分シームを探索するため、部分シームの探索精度の低減を抑制しつつ、計算速度を向上させることが可能となる。
【０１９５】
さらに、計算速度を向上させたい場合、全画像探索処理において、グリーディ法を用いるようにしてもよい。すなわち、全画像探索処理において、グリーディ法を用いることで積算エネルギーマップを求めたり、全ての起点について、全ての終点までの積算エネルギーを比較した上でシームを探索する必要がなくなるので、計算速度をさらに向上させることが可能となる。
【０１９６】
また、以上においては、入力画像に対して、垂直方向に下方向にシームを探索する例について説明してきたが、同様の手法により水平方向にシームを探索することにより、水平方向の画素の削除、または挿入が可能となる。そして、これらを組み合わせて処理することにより、入力画像の水平方向、および垂直方向のそれぞれを縮小、または拡大させることが可能となる。
【０１９７】
例えば、図２６の左部で示されるように、２羽の水鳥が撮像されている入力画像に対して、従来のように水平方向、および垂直方向に対して、所定のスケーリングにより縮小すると、図２６の右上部で示されるように、画像の縮小率に合わせて、水鳥そのものも縮小される。これに対して、上述した処理を用いることにより、図２６の右下部で示されるように、画像は縮小されることとなるが、水鳥の大きさは画像全体の縮小率に対して小さなものとすることができる。結果として、画像のサイズは小さくなるが、被写体である水鳥の大きさの変化を小さくすることが可能となる。
【０１９８】
ところで、上述した一連の画像処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１９９】
図２７は、汎用のパーソナルコンピュータの構成例を示している。このパーソナルコンピュータは、CPU(Central Processing Unit)１００１を内蔵している。CPU１００１にはバス１００４を介して、入出力インタ-フェイス１００５が接続されている。バス１００４には、ROM(Read Only Memory)１００２およびRAM(Random Access Memory)１００３が接続されている。
【０２００】
入出力インタ-フェイス１００５には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部１００６、処理操作画面や処理結果の画像を表示デバイスに出力する出力部１００７、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部１００８、LAN（Local Area Network）アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部１００９が接続されている。また、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク（ＭＤ(Mini Disc)を含む）、もしくは半導体メモリなどのリムーバブルメディア１０１１に対してデータを読み書きするドライブ１０１０が接続されている。
【０２０１】
CPU１００１は、ROM１００２に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブルメディア１０１１から読み出されて記憶部１００８にインストールされ、記憶部１００８からRAM１００３にロードされたプログラムに従って各種の処理を実行する。RAM１００３にはまた、CPU１００１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０２０２】
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【０２０３】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【符号の説明】
【０２０４】
１１  画像処理装置，  ２１  画像クロップ部，  ２２  オブジェクト適応型サイズ変更部，  ２３  クロップサイズ判定部，  ２４  画像サイズ調整部，  ２５  変更画像サイズ判定部，  ２６  出力部，  ４１  被写体領域検出部，  ４２  被写体領域包含範囲探索部，  ４３  被写体領域包含範囲矩形化部，  ４４  追加領域付加部，  ４５  画像切出部
【図１】
2011176747.tif 000005
【図２】
2011176747.tif 000006
【図３】
2011176747.tif 000007
【図４】
2011176747.tif 000008
【図５】
2011176747.tif 000009
【図６】
2011176747.tif 000010
【図７】
2011176747.tif 000011
【図８】
2011176747.tif 000012
【図９】
2011176747.tif 000013
【図１０】
2011176747.tif 000014
【図１１】
2011176747.tif 000015
【図１２】
2011176747.tif 000016
【図１３】
2011176747.tif 000017
【図１４】
2011176747.tif 000018
【図１５】
2011176747.tif 000019
【図１６】
2011176747.tif 000020
【図１７】
2011176747.tif 000021
【図１８】
2011176747.tif 000022
【図１９】
2011176747.tif 000023
【図２０】
2011176747.tif 000024
【図２１】
2011176747.tif 000025
【図２２】
2011176747.tif 000026
【図２３】
2011176747.tif 000027
【図２４】
2011176747.tif 000028
【図２５】
2011176747.tif 000029
【図２６】
2011176747.tif 000030
【図２７】
2011176747.tif 000031