以下、図面を参照して、本発明を適用した実施の形態について説明する。
〈第1の実施の形態〉
[画像処理装置の構成]
図1は、本発明を適用した画像処理装置の一実施の形態の構成例を示す図である。
画像処理装置11は、ぼけ度検出部21、選択部22、漫画調変換部23、アニメ調変換部24、ジオラマ調変換部25、絵画調変換部26、絵画調変換部27、シャープネス処理部28、および出力部29から構成される。
この画像処理装置11には、スライドショー表示の対象となる複数の入力画像が、順次、入力され、画像処理装置11は、入力画像に画像処理を施すことで、入力画像を加工して出力画像に変換し、出力する。入力画像は、例えば、カメラなどの撮像装置により撮像された画像などとされる。
ぼけ度検出部21は、供給された入力画像に基づいて、入力画像のぼけの度合いを検出し、その検出結果を選択部22に供給する。なお、入力画像のぼけには、焦点位置のずれにより生じるピントのぼけだけでなく、撮像装置が動くことにより生じる、いわゆる手ぶれによるぼけも含まれるものとする。選択部22は、ぼけ度検出部21から供給された検出結果に基づいて、入力画像に施す、予め定められた複数の画像処理のうちの何れかを選択する。
入力画像に施される画像処理は、基本的には、入力画像の有する情報の情報量、すなわち、入力画像の解像度、色の数、入力画像の画素の画素値の階調数、テクスチャの量、エッジの量、ビットレートのうちの少なくとも何れかを減らす処理である。画像処理は、漫画調変換処理、アニメ調変換処理、ジオラマ調変換処理、絵画調変換処理、およびシャープネス処理から選択される。
ここで、漫画調変換処理は、入力画像の色を減らして、入力画像を漫画絵のような画像に変換する処理であり、アニメ調変換処理は、入力画像のテクスチャを減らして、入力画像上の似た色からなる1つの領域を1つの色の領域とする処理である。
また、ジオラマ調変換処理は、入力画像に均一の遠近感を与える処理であり、絵画調変換処理は、入力画像を、絵画のような画像に変換する処理である。絵画調変換処理には、入力画像の画素の画素値の階調数を減らす処理(以下、減色絵画調変換処理とも称する)と、減色絵画調変換処理が施された入力画像に対して、さらにマスクを用いた着色を行う処理(以下、重ね塗り絵画調変換処理とも称する)とがある。さらに、シャープネス処理は、入力画像のエッジを強調する処理である。
選択部22は、画像処理を選択すると、漫画調変換部23乃至シャープネス処理部28のうち、選択した画像処理を行うブロックに、供給された入力画像を供給する。
漫画調変換部23は、漫画調変換処理を行うためのフィルタを予め保持しており、選択部22から供給された入力画像に対して、保持しているフィルタを用いたフィルタ処理、すなわち漫画調変換処理を施し、その結果得られた出力画像を出力部29に供給する。漫画調変換部23において得られる出力画像は、入力画像に漫画調変換処理を施して得られる画像である。
アニメ調変換部24は、アニメ調変換処理を行うためのフィルタを予め保持しており、選択部22からの入力画像に対して、保持しているフィルタを用いたフィルタ処理、すなわちアニメ調変換処理を施し、その結果得られた出力画像を出力部29に供給する。ジオラマ調変換部25は、ジオラマ調変換処理を行うためのフィルタを予め保持しており、選択部22からの入力画像に対して、保持しているフィルタを用いたフィルタ処理、すなわちジオラマ調変換処理を施し、その結果得られた出力画像を出力部29に供給する。
絵画調変換部26は、減色絵画調変換処理を行うためのフィルタを予め保持しており、選択部22から供給された入力画像に対して、保持しているフィルタを用いたフィルタ処理を施し、その結果得られた出力画像を出力部29に供給する。絵画調変換部27は、重ね塗り絵画調変換処理を行うためのフィルタを予め保持しており、選択部22から供給された入力画像に対して、保持しているフィルタを用いたフィルタ処理を施し、その結果得られた出力画像を出力部29に供給する。
シャープネス処理部28は、シャープネス処理を行うためのフィルタを予め保持しており、選択部22から供給された入力画像に対して、保持しているフィルタを用いたフィルタ処理を施し、その結果得られた出力画像を出力部29に供給する。出力部29は、漫画調変換部23乃至シャープネス処理部28の何れかから供給された出力画像を、スライドショー表示させる画像として、図示せぬ表示装置に出力し、表示させる。
次に、漫画調変換処理、アニメ調変換処理、ジオラマ調変換処理、減色絵画調変換処理、および重ね塗り絵画調変換処理について説明する。
まず、漫画調変換処理では、入力画像に対して、ラプラシアンフィルタ等のエッジを抽出するフィルタによりフィルタ処理が施され、その結果として得られた画像に2値化処理が施される。さらに、2値化された画像に対して膨張伸縮処理が施されて、不均一な輪郭線が整えられる。なお、以下、2値化された画像に膨張伸縮処理が施されて得られた画像を輪郭画像とも呼ぶこととする。
また、図2に示すように、入力画像の所定の輝度値の画素のみからなる点集合がテクスチャとして求められる。図2では、図中、左側には入力画像が示されており、図中、右側にはテクスチャが示されている。
このテクスチャは、入力画像と同じ大きさの2値、例えば、白と黒の色からなる画像であり、テクスチャにおける、入力画像の所定の輝度値の画素と同じ位置の画素の画素値は黒となる値とされ、その他の画素の画素値は白となる値とされる。
このようにして得られたテクスチャが、輪郭画像と合成され、その結果得られる画像が、漫画調変換処理により得られた出力画像(以下、漫画調の出力画像とも称する)とされる。この漫画調の出力画像は、画像全体が輪郭線表現、つまり簡素な線や模様で構成され、かつ画像が白黒画像であるという特徴がある。換言すれば、漫画調の出力画像は、入力画像のエッジを強調しつつ、入力画像をモノクロ化したものであるということができる。
また、アニメ調変換処理では、入力画像に対してラプラシアンフィルタ等によりフィルタ処理が施され、その結果得られた画像に2値化処理が施され、さらに2値化された画像に対して膨張伸縮処理が施される。これにより、入力画像の輪郭画像が得られる。
さらに、入力画像上の各画素に対する閾値を用いた同色判定処理により、入力画像上の同じ色の領域、より詳細には類似する色の画素からなる領域がセグメンテーションされる。これにより、入力画像において、互いに隣接し、同色判定処理により同じ色とされた画素からなる領域が1つのセグメントとされる。例えば、セグメンテーション時の色の数は10色程度とされる。そして、入力画像上の各セグメントに対して、そのセグメント内の画素の平均の色がセグメントの色とされる処理が行われ、その結果得られた画像と、輪郭画像とが合成されて出力画像とされる。
アニメ調変換処理により得られた出力画像(以下、アニメ調の出力画像とも称する)は、漫画調の出力画像に色を付与したものであるということができる。つまり、アニメ調の出力画像は、入力画像のエッジが強調され、かつ入力画像上の同一セグメントが同色で塗られたものである。
次に、ジオラマ調変換処理では、入力画像に対して線形変換処理が施されて、入力画像のコントラスト調整が行われる。さらにコントラスト調整された入力画像の中心付近を除く部分である周辺部に対して、ガウシアンフィルタを用いたフィルタ処理が施され、周辺部がぼかされる。このようにして得られた画像が、ジオラマ調変換処理により得られる出力画像(以下、ジオラマ調の出力画像とも称する)とされる。ジオラマ調の出力画像には、被写界深度が均一であり、コントラスト比が高い、つまり、いわゆる黒つぶれや白飛びの領域が多いという特徴がある。
なお、ジオラマ調変換処理は、画像に均一の遠近感を与えるアルゴリズムや、画像の視野を狭くするアルゴリズムを適応した処理であれば、どのような処理であってもよい。例えば、入力画像に対して線形変換処理を施し、さらにデコンボリューション処理を施すことでピント具合を調整する処理を、ジオラマ調変換処理としてもよい。
また、減色絵画調変換処理では、入力画像の注目する画素が注目画素とされ、その注目画素を中心とする所定領域が注目領域とされて注目領域内の画素のR(赤),G(緑),B(青)の画素値の支配的な値が、注目画素のR,G,およびBの各成分の画素値とされる。例えば、R、G、Bの各色の成分ごとにヒストグラムが生成されて、そのヒストグラムにおける最も頻度の多いビンの値、つまり色の成分の画素値が、注目画素の画素値とされる。
このようにして入力画像の各画素について、R、G、Bの各成分の画素値が新たに定められて画素値が変更されると、その結果得られた画像に対して、さらに各画素の色の成分の画素値の階調数を減らす階調変換処理が施される。そして、階調変換処理により得られた画像が、減色絵画調変換処理により得られる出力画像(以下、減色絵画調の出力画像とも称する)とされる。
通常、画素の画素値は256階調で表され、0乃至255の何れかの値とされる。階調変換処理では、入力画像の画素の画素値が、例えば図3に示すように、256よりも少ない階調数の画素値に変換される。
図3では、「階調数」の欄には、変換後の階調数が示されており、「階調当りの幅」の欄には、変換後の1階調に相当する変換前の階調数が示されている。例えば、変換後の階調数が「8」である場合、変換後の1階調は、変換前の32階調に相当する。つまり、変換前の連続する32階調の画素値は、変換後には同じ階調の画素値とされる。
また、例えば入力画像の画素の各色の成分の画素値を、256階調から8階調に減らす階調変換処理が行われる場合、図4に示す変換表が用いられて、画素値が変換される。図4では、「元の画素値」の欄には、変換前の256階調の画素値の範囲が示されており、「変換後の画素値」の欄には、変換後の8階調の画素値が示されている。したがって、例えば、変換前の注目する画素のRの成分の画素値が「0」から「31」の間の値である場合、その画素のRの成分の変換後の画素値は、「0」とされる。
このようにして、入力画像のR、G、Bの各色の成分の画素値が変換されると、減色絵画調の出力画像が得られる。なお、変換後の階調数は、減色絵画調の出力画像の仕上がり具合に影響するものであるため、ユーザにより任意に設定されるようにしてもよい。
また、重ね塗り絵画調変換処理では、入力画像に対して減色絵画調変換処理が施され、これにより得られた減色絵画調の画像と、入力画像とが用いられて出力画像が生成される。具体的には、図5に示すように、入力画像P11の任意の画素を中心とする領域であるブロックB11が選択される。
ここで、矢印A11に示すように、ブロックB11の領域が、そのブロックB11の中心に位置する中心画素の色(以下、代表色とも称する)で塗られることを考える。例えば、マスクが用いられてブロックB11の領域が代表色で塗られるとし、矢印A12に示すように、色を塗るときに用いるマスクが生成される。
このマスクは、ブロックB11において、代表色と類似する色の画素だけが代表色で塗られ、代表色と類似しない色の画素には色が塗られずにそのままとされるマスクである。例えば、各画素の色の代表色との類似の度合いは、ユークリッド距離やマンハッタン距離により求められ、類似度が閾値以上の画素に代表色が塗られるようになされる。このマスクを用いてブロックB11が代表色に塗られると、矢印A13に示されるように、ブロックB11内の中心画素の色と類似する色の画素の色は、代表色となる。
重ね塗り絵画調変換処理では、このようにして生成したマスクが用いられて、入力画像のブロックB11と同じ位置にある、入力画像から得られた減色絵画調の画像P12の領域であるブロックB12が代表色に塗られる。つまり、矢印A13に示されるブロックB11内の代表色に塗られた画素と同じ位置にある、ブロックB12内の画素の画素値が、代表色を示す値に変更される。
このように、入力画像P11から任意のブロックを選択してマスクを生成し、そのブロックと同じ位置にある減色絵画調の画像P12のブロックに、マスクを用いて代表色を貼り付ける(塗る)処理が規定回数だけ行われ、その結果得られた画像が出力画像P13とされる。以下、重ね塗り絵画調変換処理により得られる出力画像を、重ね塗り絵画調の出力画像とも称する。
なお、代表色の貼り付けの処理が繰り返される規定回数は、例えば、入力画像のエッジの複雑度と、処理単位のブロック(例えば、ブロックB11)の大きさに応じて定められるようにしてもよいし、予め定められていてもよい。
また、重ね塗り絵画調変換処理で用いられるマスクは、減色絵画調の画像P12に対し、より細かい表現を施すために用いられるものであるので、重ね塗り絵画調の出力画像を、粗いタッチの画像に仕上げる場合には、マスクを用いないようにしてもよい。そのような場合、ブロックB12の各画素の画素値は、ブロックB11の代表色を示す値とされる。
[画像処理装置の動作の説明]
ところで、画像処理装置11にスライドショー表示の対象となる入力画像が、順次、供給されると、画像処理装置11は、供給された入力画像を出力画像に変換して出力する処理である画像変換処理を開始する。
以下、図6のフローチャートを参照して、画像処理装置11による画像変換処理について説明する。
ステップS11において、ぼけ度検出部21は、供給された入力画像に基づいて、入力画像のぼけ度を検出する。
例えば、ぼけ度検出部21は、入力画像をいくつかのブロックに分割し、ブロックごとにエッジ強度を検出する。そして、ぼけ度検出部21は、入力画像の各ブロックのエッジ強度の最小値と最大値との差分をダイナミックレンジとして求め、そのダイナミックレンジに基づいて、エッジ基準値および抽出基準値を設定する。
ここで、エッジ基準値とは、入力画像上のエッジを構成する画素(以下、エッジポイントと称する)であるか否かの判定に用いられる値であり、抽出基準値とは、エッジポイントの抽出量が適切であるか否かの判定に用いられる値である。
ぼけ度検出部21は、入力画像の各ブロックについて、検出されたエッジ強度がエッジ基準値以上であるブロック(以下、エッジブロックと称する)に含まれる画素をエッジポイントとして抽出し、その抽出量と抽出基準値と比較する。そして、ぼけ度検出部21は、抽出量の比較の結果、エッジポイントの抽出量が適切でない場合には、その抽出量が適切な量となるまでエッジ基準値を調整して、エッジポイントを抽出する処理を繰り返す。
また、ぼけ度検出部21は、適切な量のエッジポイントが抽出されると、抽出したエッジポイントにおいて、ぼけが生じているかを分析し、その分析結果から入力画像のぼけの度合いを示すぼけ度を求める。このぼけ度は、その値が大きいほど入力画像の被写体がぼけていることを示しており、求められたぼけ度は、ぼけ度検出部21から選択部22に供給される。
ステップS12において、選択部22は、ぼけ度検出部21から供給されたぼけ度に基づいて、入力画像がぼけた画像であるか否かを判定する。例えば、ぼけ度が予め定められた閾値以上である場合、入力画像はぼけた画像であると判定される。
ステップS12において、ぼけた画像でないと判定された場合、処理はステップS13に進む。ステップS13において、選択部22は、漫画調変換部23乃至シャープネス処理部28が保持しているフィルタの使用頻度に基づいて、ぼけていない画像に対して予め定められたフィルタから、1つのフィルタを選択する。
例えば画像処理装置11では、ぼけた入力画像に対して用いられるフィルタと、ぼけていない入力画像に対して用いられるフィルタとが予め定められており、入力画像がぼけているか否かにより、異なる組み合わせのフィルタ群から1つのフィルタが選択される。
具体的には、ぼけていない入力画像に対しては、漫画調変換処理のためのフィルタ、アニメ調変換処理のためのフィルタ、ジオラマ調変換処理のためのフィルタ、減色絵画調変換処理のためのフィルタ、または重ね塗り絵画調変換処理のためのフィルタの何れかが用いられて出力画像が生成される。
つまり、ぼけていない入力画像には、漫画調変換処理、アニメ調変換処理、ジオラマ調変換処理、減色絵画調変換処理、または重ね塗り絵画調変換処理の何れかの画像処理が施されて出力画像とされる。入力画像がぼけていない場合、入力画像から確実にエッジを抽出することができるので、エッジ強調を利用する処理のフィルタなど、多彩なフィルタからの選択が可能となる。
なお、以下、ぼけてない入力画像に対して用いられる、漫画調変換処理のためのフィルタ、アニメ調変換処理のためのフィルタ、ジオラマ調変換処理のためのフィルタ、減色絵画調変換処理のためのフィルタ、および重ね塗り絵画調変換処理のためのフィルタからなるフィルタ群を、ぼけ無しフィルタ群とも称する。
また、選択部22は、漫画調変換部23乃至シャープネス処理部28が保持しているフィルタの使用頻度を保持している。選択部22は、保持している各フィルタの使用頻度に基づいて、ぼけ無しフィルタ群のなかから、最も使用頻度の低いフィルタを選択する。
選択部22はフィルタを選択すると、選択されたフィルタを有するブロックに、供給された入力画像を供給し、処理はステップS15に進む。例えば、減色絵画調変換処理のためのフィルタが選択された場合、選択部22は、入力画像を絵画調変換部26に供給し、減色絵画調変換処理のためのフィルタの使用頻度に1を加算する。
これに対して、ステップS12において、ぼけた画像であると判定された場合、処理はステップS14に進む。ステップS14において、選択部22は、漫画調変換部23乃至シャープネス処理部28が保持しているフィルタの使用頻度に基づいて、ぼけている画像に対して予め定められたフィルタから、1つのフィルタを選択する。
例えば、ぼけた入力画像に対しては、シャープネス処理のためのフィルタ、減色絵画調変換処理のためのフィルタ、ジオラマ調変換処理のためのフィルタの何れかのフィルタが用いられて出力画像が生成される。
つまり、ぼけた入力画像には、シャープネス処理、減色絵画調変換処理、またはジオラマ調変換処理の何れかの画像処理が施されて出力画像とされる。入力画像がぼけている場合、入力画像からシャープなエッジを得ることはできないので、エッジを必要としない画像処理が選択されて、入力画像がぼけ感の薄い出力画像に変換される。
このように、ぼけた入力画像に対してシャープネス処理、減色絵画調変換処理、またはジオラマ調変換処理を施せば、ぼけた入力画像を、ぼけのないユーザの鑑賞に堪え得る出力画像に変換することができる。すなわち、出力画像は、入力画像の全体が加工されたものであるため、入力画像がユーザにより撮像されたものであるときには、出力画像は、ユーザの撮像時の光景とは異なる画像、例えばタッチの粗い絵画のような画像となる。したがって、得られた出力画像を表示すれば、ユーザに見苦しさを感じさせることもなく、フェードインやズームなどの単調な表示効果よりも、より大きいインパクトをユーザに対して与えることができる。
なお、以下、ぼけた入力画像に対して用いられる、シャープネス処理のためのフィルタ、減色絵画調変換処理のためのフィルタ、およびジオラマ調変換処理のためのフィルタからなるフィルタ群を、ぼけ有りフィルタ群とも称する。
選択部22は、保持している各フィルタの使用頻度に基づいて、ぼけ有りフィルタ群のなかから、最も使用頻度の低いフィルタを選択する。
そして、選択部22は、選択したフィルタを有するブロックに、供給された入力画像を供給し、処理はステップS15に進む。例えば、ジオラマ調変換処理のためのフィルタが選択された場合、選択部22は、入力画像をジオラマ調変換部25に供給し、ジオラマ調変換処理のためのフィルタの使用頻度に1を加算する。
ステップS13またはステップS14において、フィルタが選択されると、ステップS15において、漫画調変換部23乃至シャープネス処理部28のうちの、選択部22から入力画像が供給されたブロックは、供給された入力画像に対してフィルタ処理を施す。
例えば、選択部22によりジオラマ調変換処理のためのフィルタが選択されて、選択部22からジオラマ調変換部25に入力画像が供給された場合、ジオラマ調変換部25は、供給された入力画像に、保持しているフィルタを用いたフィルタ処理を施す。つまり、ジオラマ調変換部25は、入力画像にジオラマ調変換処理を施して、入力画像をジオラマ調の出力画像に変換する。
そして、ジオラマ調変換部25は、ジオラマ調変換処理により得られた、ジオラマ調の出力画像を出力部29に供給し、処理はステップS16に進む。
ステップS16において、出力部29は、供給された出力画像を、図示せぬ表示装置に出力し、表示装置に出力画像を表示させる。
ステップS17において、画像処理装置11は、処理を終了するか否かを判定する。例えば、スライドショー表示の対象となる全ての入力画像が出力画像に変換されて出力された場合、処理は終了すると判定される。
ステップS17において、終了しないと判定された場合、処理はステップS11に戻り、上述した処理が繰り返される。すなわち、次の入力画像が出力画像に変換される。
これに対して、ステップS17において、終了すると判定された場合、画像処理装置11の各部は行っている処理を終了し、画像変換処理は終了する。
このようにして、画像処理装置11は、入力画像のぼけ度を検出し、その検出結果に基づいて入力画像に画像処理を施し、入力画像を出力画像に変換する。
このように、ぼけ度に応じて選択された画像処理を入力画像に施すことで、ぼけた入力画像でも、ユーザの鑑賞に堪え得る出力画像に変換して表示させることができる。これにより、従来は、破棄されていたぼけた画像も有効に活用することができるとともに、ユーザに新鮮さを感じさせることができる。
また、ぼけていない入力画像にも画像処理を施し、その結果得られた出力画像を表示することで、出力画像を鑑賞するユーザに強いインパクトを与えることができ、ユーザをより楽しませることができる。しかも、画像処理装置11では、各フィルタの使用頻度に応じてフィルタ(画像処理)が選択されるため、同じフィルタが連続して選択されるようなこともない。しがって、ユーザが出力画像の鑑賞に飽きてしまうこともない。
以上のように、画像処理装置11によれば、入力画像のぼけ度に基づいて、適切なフィルタを選択し、選択されたフィルタにより入力画像を加工するという簡単な処理で、入力画像の撮像時とは異なる風合いの出力画像を生成することができる。これにより、ユーザに対して、より効果的に画像を表示することができるようになる。
なお、以上においては、入力画像から得られた出力画像をスライドショー表示させると説明したが、出力画像を記録するようにしたり、1つの出力画像だけを表示させたりするようにしてもよい。また、スライドショー時には、出力画像と、その元の入力画像との何れか一方から他方へフェードイン、フェードアウトさせながら画像の表示を切り換えるようにしてもよい。さらに、同じ入力画像に対して異なるフィルタによるフィルタ処理で得られた複数の出力画像を、フェードイン、フェードアウトさせながら表示させてもよい。
〈第2の実施の形態〉
[画像処理装置の構成]
さらに、以上においては、使用頻度に応じて画像処理(フィルタ)を選択すると説明したが、入力画像から、いくつかの特徴の特徴量を抽出し、それらの特徴量に応じてフィルタを選択するようにしてもよい。例えば、入力画像から、入力画像の解像度、色の分布、色の偏り、入力画像の画素の画素値の階調数、ぼけの度合い、エッジ量、エッジ分布、テクスチャ量、テクスチャ分布のうちの少なくとも1つが抽出され、フィルタを選択するための特徴量とされる。
そのような場合、例えば、画像処理装置は、図7に示すように構成される。なお、図7において、図1における場合と対応する部分には同一の符号を付してあり、その説明は省略する。
図7の画像処理装置51は、ぼけ度検出部21、エッジ複雑度検出部61、サイズ検出部62、色分布複雑度検出部63、色偏り検出部64、選択部22乃至絵画調変換部27、および出力部29から構成される。また、画像処理装置51に供給された入力画像は、ぼけ度検出部21、エッジ複雑度検出部61乃至色偏り検出部64、および選択部22に供給される。
ぼけ度検出部21、およびエッジ複雑度検出部61乃至色偏り検出部64のそれぞれは、供給された入力画像から、入力画像の特徴量を抽出し、その特徴量を示すスコアを選択部22に供給する。そして、選択部22は、それらのスコアに基づいて入力画像に施す画像処理を選択する。
ぼけ度検出部21は、入力画像から特徴量としてぼけ度を検出し、その検出結果を特徴量を示すスコアとして選択部22に供給する。
エッジ複雑度検出部61は、供給された入力画像に基づいて、入力画像に含まれるエッジの量を示すエッジ複雑度を求め、選択部22に供給する。このエッジ複雑度の値(スコア)は、入力画像により多くのエッジが含まれ、入力画像が複雑な絵柄であるほど大きくなる。
サイズ検出部62は、供給された入力画像に基づいて、入力画像上のオブジェクト(被写体)の境界を囲む矩形の領域、すなわち、いわゆるバウンディングボックスの大きさを示すボックスサイズを求め、選択部22に供給する。このボックスサイズの値(スコア)は、バウンディングボックスの大きさが大きく、入力画像におけるエッジの集中する部分の締まり度合いが低いほど、大きくなる。
色分布複雑度検出部63は、供給された入力画像に基づいて、入力画像における色の分布の複雑さを示す色分布複雑度を求め、選択部22に供給する。この色分布複雑度の値(スコア)は、色分布が複雑であり、入力画像が複雑な絵柄であるほど大きくなる。
色偏り検出部64は、供給された入力画像に基づいて、入力画像における色の偏りの度合いを示す色偏り度を求め、選択部22に供給する。この色偏り度の値(スコア)は、入力画像における色の偏りが大きいほど、大きくなる。
選択部22は、ぼけ度検出部21、およびエッジ複雑度検出部61乃至色偏り検出部64から供給された特徴量、すなわちぼけ度、エッジ複雑度、ボックスサイズ、色分布複雑度、および色偏り度に基づいて、入力画像に施す画像処理(フィルタ)を選択する。
具体的には、画像処理は、漫画調変換処理、アニメ調変換処理、ジオラマ調変換処理、減色絵画調変換処理、および重ね塗り絵画調変換処理のなかから選択される。選択部22は、漫画調変換部23乃至絵画調変換部27のうち、選択した画像処理を行うブロックに、供給された入力画像を供給する。
入力画像から抽出された各特徴の特徴量を用いれば、例えば図8に示すように、選択部22は、供給された入力画像に対して、どの画像処理がより効果的であるかを知ることができる。図8では、ぼけの有無、エッジ分布の複雑さ、ボックスサイズ、色分布の複雑さ、色の偏りの有無のそれぞれがどのような状態であるときに、各画像処理がより効果的であるかが示されている。
例えば、減色絵画調変換処理は、エッジがばらばらに存在し、多くの色で表現された画像に対して効果的である。すなわち、減色絵画調変換処理は、エッジ分布および色分布が複雑で、色の偏りがない画像に対して効果的であり、そのような特徴を有する入力画像を、減色絵画調変換処理によって、より鑑賞に堪え得ると予測される出力画像に変換することができる。なお、入力画像における、ぼけの有無と、バウンディングボックスのサイズは、入力画像に対して減色絵画調変換処理が効果的であるか否かには、影響を及ぼさない。
また、重ね塗り絵画調変換処理は、単純なエッジ分布および色分布で、特定の色が多い画像に対して効果的である。すなわち、重ね塗り絵画調変換処理は、エッジ分布および色分布が単純で、バウンディングボックスの大きさが小さく、かつ色の偏りがある画像に対して効果的である。なお、入力画像におけるぼけの有無は、入力画像に対して重ね塗り絵画調変換処理が効果的であるか否かには、影響を及ぼさない。
さらに、ジオラマ調変換処理は、単純な色分布で、バウンディングボックスの小さい画像に対して効果的である。すなわち、ジオラマ調変換処理は、エッジ分布および色分布が単純で、バウンディングボックスの大きさが小さく、かつ色の偏りがない画像に対して効果的である。なお、入力画像におけるぼけの有無は、入力画像に対してジオラマ調変換処理が効果的であるか否かには、影響を及ぼさない。
さらに、アニメ調変換処理は、ぼけがなく、少ない数の色で構成される画像に対して効果的である。すなわち、アニメ調変換処理は、ぼけがなく、エッジ分布および色分布が単純で、かつ色の偏りがある画像に対して効果的である。なお、入力画像における、バウンディングボックスのサイズは、入力画像に対してアニメ調変換処理が効果的であるか否かには、影響を及ぼさない。
さらに、漫画調変換処理は、ぼけがなく、エッジ分布が単純な画像に対して効果的である。すなわち、漫画調変換処理は、ぼけがなく、エッジ分布が単純であるが色分布は複雑で、かつ色の偏りがない画像に対して効果的である。なお、入力画像における、バウンディングボックスのサイズは、入力画像に対して漫画調変換処理が効果的であるか否かには、影響を及ぼさない。また、色分布および色の偏りも、漫画調変換処理が効果的であるか否かには、あまり影響がない。
このように、入力画像の特徴が分かれば、入力画像に対してどの画像処理が効果的であるかが分かるので、選択部22は、例えば、図9に示すように、入力画像の各特徴の特徴量に基づいて画像処理を選択する。
図9では、各特徴を示す「ぼけ度」、「エッジ複雑度」、「ボックスサイズ」、「色分布複雑度」、および「色偏り度」のそれぞれの欄には、記号「○」(丸)または「×」(ばつ)が記されている。この記号「○」(丸)は、特徴量(スコア)が所定の閾値未満である場合を表しており、記号「×」(ばつ)は、特徴量が閾値以上である場合を表している。
具体的には、選択部22は、各特徴の特徴量と、特徴ごとに定められた閾値とを比較して、画像処理の選択を行う。
例えば、エッジ複雑度および色分布複雑度が閾値以上であり、かつ色偏り度が閾値未満である場合、減色絵画調変換処理が選択される。また、エッジ複雑度、ボックスサイズ、および色分布複雑度が閾値未満であり、かつ色偏り度が閾値以上である場合、重ね塗り絵画調変換処理が選択される。
さらに、エッジ複雑度、ボックスサイズ、色分布複雑度、および色偏り度が閾値未満である場合、ジオラマ調変換処理が選択され、ぼけ度、エッジ複雑度、および色分布複雑度が閾値未満であり、色偏り度が閾値以上である場合、アニメ調変換処理が選択される。さらに、また、ぼけ度、エッジ複雑度、および色偏り度が閾値未満であり、かつ色分布複雑度が閾値以上である場合、漫画調変換処理が選択される。
次に、図10乃至図13を参照して、図7のエッジ複雑度検出部61乃至色偏り検出部64のそれぞれの構成について説明する。
図10は、エッジ複雑度検出部61のより詳細な構成例を示す図である。
エッジ複雑度検出部61は、フィルタ処理部91、平均値算出部92、距離算出部93、距離算出部94、およびスコア算出部95から構成される。
フィルタ処理部91は、供給された入力画像のR、G、Bのそれぞれの成分のみからなるR画像、G画像、およびB画像を生成し、それらのR画像、G画像、およびB画像にエッジを抽出するフィルタ処理を施して、平均値算出部92に供給する。平均値算出部92は、フィルタ処理部91から供給されたR画像、G画像、およびB画像の画素ごとの平均値を求めて1つの画像を生成し、距離算出部93および距離算出部94に供給する。
距離算出部93は、平均値算出部92から供給された画像と、予め用意された、簡素な画像との距離を算出し、スコア算出部95に供給する。ここで、簡素な画像とは、例えば専門家などにより撮像された、エッジの複雑度が小さく、よく撮れた画像、つまり一般的に評価の高い画像をいう。
距離算出部94は、平均値算出部92から供給された画像と、予め用意された、複雑な画像との距離を算出し、スコア算出部95に供給する。ここで、複雑な画像とは、例えば素人などにより撮像された、エッジの複雑度が大きく、あまりよく撮れていない画像、つまり一般的に評価の低い画像をいう。
スコア算出部95は、距離算出部93から供給された距離と、距離算出部94から供給された距離とを用いてエッジ複雑度を算出し、選択部22に供給する。
図11は、図7のサイズ検出部62のより詳細な構成例を示す図である。
サイズ検出部62は、フィルタ処理部121、平均値算出部122、幅算出部123、幅算出部124、およびスコア算出部125から構成される。なお、フィルタ処理部121および平均値算出部122は、図10のフィルタ処理部91および平均値算出部92と同様であるため、その説明は省略する。
幅算出部123は、平均値算出部122から供給された画像を用いて、入力画像におけるバウンディングボックスの所定の方向(以下、x方向であるとする)の幅を求め、スコア算出部125に供給する。幅算出部124は、平均値算出部122から供給された画像を用いて、入力画像におけるバウンディングボックスのx方向と垂直な方向(以下、y方向であるとする)の幅を求め、スコア算出部125に供給する。
スコア算出部125は、幅算出部123および幅算出部124から供給されたx方向およびy方向の幅に基づいて、ボックスサイズを算出し、選択部22に供給する。
図12は、図7の色分布複雑度検出部63のより詳細な構成例を示す図である。
色分布複雑度検出部63は、色別ヒストグラム生成部151、ヒストグラム生成部152、距離算出部153、距離算出部154、およびスコア算出部155から構成される。
色別ヒストグラム生成部151は、供給された入力画像から、入力画像のR、G、Bの各成分の画素値の範囲をビンとした、色ごとのヒストグラムを生成し、ヒストグラム生成部152に供給する。ヒストグラム生成部152は、色別ヒストグラム生成部151から供給された、R、G、およびBの各色成分のヒストグラムから、1つのヒストグラムを生成し、距離算出部153および距離算出部154に供給する。
距離算出部153は、ヒストグラム生成部152から供給されたヒストグラムと、予め用意された、簡素な画像から得られたヒストグラムとの距離を算出し、スコア算出部155に供給する。距離算出部154は、ヒストグラム生成部152から供給されたヒストグラムと、予め用意された、複雑な画像から得られたヒストグラムとの距離を算出し、スコア算出部155に供給する。
スコア算出部155は、距離算出部153および距離算出部154から供給された距離に基づいて、色分布複雑度を算出し、選択部22に供給する。
図13は、図7の色偏り検出部64のより詳細な構成例を示す図である。
色偏り検出部64は、変換部181、ヒストグラム生成部182、およびスコア算出部183から構成される。
変換部181は、供給された入力画像を、R、G、Bの各成分の画素値を有する画像から、H(色相)、S(彩度)、V(明度)の各成分の画素値を有する画像に変換し、ヒストグラム生成部182に供給する。ヒストグラム生成部182は、変換部181から供給されたH、S、Vの各成分を有する入力画像から、入力画像上の所定の条件を満たす画素のヒストグラムを生成し、スコア算出部183に供給する。
スコア算出部183は、ヒストグラム生成部182から供給されたヒストグラムに基づいて、色偏り度を算出し、選択部22に供給する。
[画像処理装置の動作の説明]
次に、図14のフローチャートを参照して、図7の画像処理装置51による画像変換処理について説明する。
なお、ステップS41の処理は、図6のステップS11の処理と同様であるので、その説明は省略する。
ステップS42において、エッジ複雑度検出部61は、エッジ複雑度検出処理を行ってエッジ複雑度を求め、選択部22に供給する。また、ステップS43において、サイズ検出部62は、サイズ検出処理を行ってボックスサイズを求め、選択部22に供給する。
ステップS44において、色分布複雑度検出部63は、色分布複雑度検出処理を行って色分布複雑度を求め、選択部22に供給する。さらに、ステップS45において、色偏り検出部64は、色偏り検出処理を行って色偏り度を求め、選択部22に供給する。
なお、ステップS42乃至ステップS45において行われるエッジ複雑度検出処理、サイズ検出処理、色分布複雑度検出処理、および色偏り検出処理の詳細は後述する。
このようにして、ぼけ度検出部21、およびエッジ複雑度検出部61乃至色偏り検出部64により特徴量が求められ、選択部22に供給されると、処理はステップS46に進む。
ステップS46において、選択部22は、フィルタ選択処理を行って、入力画像に施す画像処理に用いられるフィルタを選択する。なお、フィルタ選択処理の詳細は後述するが、フィルタ選択処理において、選択部22に供給された特徴量が用いられてフィルタが選択される。フィルタが選択されると、選択部22から、選択されたフィルタを保持しているブロック、すなわち漫画調変換部23乃至絵画調変換部27の何れかに入力画像が供給される。
そして、その後、ステップS47乃至ステップS49の処理が行われて、画像変換処理は終了するが、これらの処理は図6のステップS15乃至ステップS17の処理のそれぞれと同様であるので、その説明は省略する。
このようにして、画像処理装置51は、供給された入力画像から複数の特徴の特徴量を求め、その特徴量により定まる適切な画像処理により、入力画像を出力画像に変換する。これにより、より簡単に、入力画像に対してより効果的な画像処理を選択して出力画像を生成することができ、その結果、より効果的に出力画像を表示することができるようになる。
次に、図15のフローチャートを参照して、図14のステップS42の処理に対応するエッジ複雑度検出処理について説明する。このエッジ複雑度検出処理は、図10のエッジ複雑度検出部61により行われる。
ステップS71において、フィルタ処理部91は、供給された入力画像に対して、例えば、ラプラシアンフィルタなどのエッジを抽出するフィルタを用いたフィルタ処理を施す。すなわち、フィルタ処理部91は、入力画像からR画像、G画像、およびB画像を生成し、それらのR画像、G画像、およびB画像にフィルタ処理を施して平均値算出部92に供給する。
ステップS72において、平均値算出部92は、フィルタ処理部91から供給されたR画像、G画像、およびB画像の画素ごとの平均値を求め、1つの画像を生成する。つまり、生成される画像の画素の画素値は、その画素と同じ位置にあるR画像、G画像、およびB画像の画素のそれぞれの平均値とされる。平均値算出部92は、平均値を求めて得られた画像を正規化して、縦方向に100画素、横方向に100画素などの所定の大きさの画像とし、距離算出部93および距離算出部94に供給する。
ステップS73において、距離算出部93および距離算出部94は、平均値算出部92から供給された画像と、予め用意された簡素な画像および複雑な画像との距離を算出し、スコア算出部95に供給する。
例えば、平均値算出部92からの画像と、簡素な画像(または複雑な画像)との距離は、簡素な画像に対して、フィルタ処理部91により行われるフィルタ処理、および平均値算出部92による平均値を求める処理が施されて得られた画像と、平均値算出部92からの画像とのユークリッド距離とされる。したがって、このようにして得られる距離は、入力画像と、簡素な画像(または複雑な画像)とのエッジの複雑さの類似の度合いを示している。
ステップS74において、スコア算出部95は、距離算出部93から供給された距離と、距離算出部94から供給された距離との差分を求めることでエッジ複雑度のスコア(値)を算出し、選択部22に供給する。このようにして得られたエッジ複雑度の値は、入力画像と複雑な画像との距離が近いほど大きくなり、より入力画像におけるエッジが複雑であることになる。
エッジ複雑度が求められて選択部22に供給されると、エッジ複雑度検出処理は終了し、その後、処理は図14のステップS43に進む。
また、以下、図16のフローチャートを参照して、図14のステップS43に対応するサイズ検出処理について説明する。このサイズ検出処理は、図11のサイズ検出部62により行われる。
なお、ステップS101およびステップS102の処理は、図15のステップS71およびステップS72の処理と同様であるので、その説明は省略する。すなわち、フィルタ処理部121により入力画像にフィルタ処理が施され、平均値算出部122により、フィルタ処理部121から供給されたR画像、G画像、およびB画像の画素ごとの平均値が求められ、得られた画像が正規化される。
ステップS103において、幅算出部123および幅算出部124は、平均値算出部122から供給された画像を用いて、入力画像におけるバウンディングボックスのx方向およびy方向の幅を求め、スコア算出部125に供給する。
例えば、幅算出部123は、平均値算出部122からの画像における、y方向に並ぶ画素からなるラインをyラインとして、yラインごとに、そのyラインを構成する画素の画素値の合計値であるyライン値を求める。
そして幅算出部123は、yラインごとに求めたyライン値を用いて、画像に含まれるエッジの総量の98パーセントのエッジの量が含まれる、連続して並ぶyラインからなる領域のx方向の幅を、バウンディングボックスのx方向の幅Wxとして求める。つまり、求められた領域に含まれるyラインのyライン値の合計値は、画像を構成する全てのyラインのyライン値の合計値の98%以上の値となる。
同様に、幅算出部124は、平均値算出部122からの画像における、x方向に並ぶ画素からなるラインをxラインとして、xラインごとに、そのxラインを構成する画素の画素値の合計値であるxライン値を求める。そして幅算出部124は、xラインごとに求めたxライン値を用いて、画像に含まれるエッジの総量の98パーセントのエッジの量が含まれる、連続して並ぶxラインからなる領域のy方向の幅を、バウンディングボックスのy方向の幅Wyとして求める。
ステップS104において、スコア算出部125は、幅算出部123および幅算出部124から供給された幅Wxおよび幅Wyに基づいて、ボックスサイズのスコアを算出し、選択部22に供給する。例えば、1から、正規化された幅Wxと幅Wyとの積が減算されて得られた値の逆数が、ボックスサイズの値(スコア)とされる。
具体的には、平均値算出部122が平均値を求めて得られた画像を、x方向に100画素、y方向に100画素の大きさに正規化した場合、幅Wxおよび幅Wyは、それぞれ100で除算されることで正規化される。つまり、「1−(Wx/100)×(Wy/100)」の逆数がボックスサイズの値とされる。
このようにして求められたボックスサイズの値は、バウンディングボックスの大きさが大きいほど大きくなり、入力画像におけるエッジの集中する領域の締まり度合いがより低いことを示している。求められたボックスサイズが選択部22に供給されると、サイズ検出処理は終了し、その後、処理は図14のステップS44に進む。
次に、図17のフローチャートを参照して、図14のステップS44の処理に対応する色分布複雑度検出処理について説明する。なお、この色分布複雑度検出処理は、図12の色分布複雑度検出部63により行われる。
ステップS131において、色別ヒストグラム生成部151は、供給された入力画像を用いて、入力画像のR、G、Bの各色の成分ごとのヒストグラムを生成し、ヒストグラム生成部152に供給する。
ステップS132において、ヒストグラム生成部152は、色別ヒストグラム生成部151から供給された色ごとのヒストグラムから、1つのヒストグラムを生成し、距離算出部153および距離算出部154に供給する。例えば、ヒストグラム生成部152は、色ごとのヒストグラムを正規化し、正規化された色ごとのヒストグラムから、入力画像の画素値の所定の範囲をビンとした、16の3乗個のビンからなる1つのヒストグラムを生成する。
ステップS133において、距離算出部153および距離算出部154は、ヒストグラム生成部152から供給されたヒストグラムと、予め用意された簡素な画像および複雑な画像から得られたヒストグラムのそれぞれとの距離を、K−NN法などにより算出する。ここで、簡素な画像および複雑な画像から得られたヒストグラムのそれぞれは、ヒストグラム生成部152により生成されるヒストグラムと同じ処理により生成されたヒストグラムである。
例えば、距離算出部153は、ヒストグラム生成部152からのヒストグラムと、簡素な画像のヒストグラムとの各ビンの頻度値の差分の合計値を、それらのヒストグラム同士の距離とする。距離算出部153は、複数の簡素な画像について、ヒストグラム生成部152からのヒストグラムとの距離を求め、スコア算出部155に供給する。
同様に、距離算出部154は、ヒストグラム生成部152からのヒストグラムと、複雑な画像のヒストグラムとの各ビンの頻度値の差分の合計値を、それらのヒストグラム同士の距離とする。距離算出部154は、複数の複雑な画像について、ヒストグラム生成部152からのヒストグラムとの距離を求め、スコア算出部155に供給する。
ステップS134において、スコア算出部155は、距離算出部153および距離算出部154から供給された距離に基づいて、色分布複雑度のスコアを算出し、選択部22に供給する。
例えば、スコア算出部155は、距離算出部153および距離算出部154から供給された距離のなかから、その距離の値の小さい順にK個の距離を選択する。そして、スコア算出部155は、選択したK個の距離のうち、簡素な画像のヒストグラムとの距離の数と、複雑な画像のヒストグラムとの距離の数との差を求め、求められた差を色分布複雑度の値(スコア)とする。つまり、K個の距離のうちの、距離算出部153から供給された距離の個数と、距離算出部154から供給された距離の個数との差が色分布複雑度とされる。
このようにして求められた色分布複雑度の値は、入力画像における色分布の複雑さが、複雑な画像における色分布の複雑さにより近いほど大きくなり、入力画像における色分布がより複雑であることを示している。
色分布複雑度が求められて選択部22に供給されると、色分布複雑度検出処理は終了し、処理は図14のステップS45に進む。
次に、図18のフローチャートを参照して、図14のステップS45の処理に対応する色偏り検出処理について説明する。この色偏り検出処理は、図13の色偏り検出部64により行われる。
ステップS161において、変換部181は、供給された入力画像を、H、S、Vの各成分の画素値を有する画像に変換し、ヒストグラム生成部182に供給する。
ステップS162において、ヒストグラム生成部182は、変換部181から供給された画像から、所定の条件を満たす画素のヒストグラムを生成し、スコア算出部183に供給する。例えば、所定の条件として、画素のV成分の値が0.15より大きく0.95未満である値であり、かつ画素のS成分の値が0.2より大きい値であることが条件とされ、変換部181からの画像から、その条件を満たす画素が抽出される。そして、抽出された画素から、画素のH成分の値の範囲をビンとしたヒストグラムが生成され、スコア算出部183に供給される。
ステップS163において、スコア算出部183は、ヒストグラム生成部182から供給されたヒストグラムに基づいて色偏り度のスコアを算出し、選択部22に供給する。例えば、スコア算出部183は、ヒストグラムの各ビンの頻度値の合計値の5%以上の値を頻度値として有する、最も頻度値の高いビンの中央値Nを求め、所定の数、例えば20から中央値Nを減算して得られた値を色偏り度の値(スコア)とする。
このようにして求められた色偏り度の値は、中央値N、つまりH(色相)成分が小さいほど大きくなり、入力画像において色の偏りが大きいことを示している。求められた色偏り度が選択部22に供給されると色偏り検出処理は終了し、処理は図14のステップS46に進む。
さらに、図19のフローチャートを参照して、図14のステップS46の処理に対応するフィルタ選択処理について説明する。このフィルタ選択処理は図7の選択部22により行われる。
ステップS191において、選択部22は、ぼけ度検出部21から供給されたぼけ度に基づいて、供給された入力画像がぼけた画像であるか否かを判定する。例えば、ぼけ度が予め定められた閾値以上である場合、入力画像はぼけた画像であると判定される。
ステップS191において、ぼけた画像ではないと判定された場合、ステップS192において、選択部22は、色分布複雑度検出部63のスコア算出部155から供給された色分布複雑度に基づいて、入力画像における色分布が複雑であるか否かを判定する。例えば、色分布複雑度が予め定められた閾値以上である場合、色分布が複雑であると判定される。
ステップS192において色分布が複雑でないと判定された場合、ステップS193において、選択部22は、入力画像に施す画像処理のフィルタとして、入力画像をアニメ調の画像に変換するフィルタを選択する。
すなわち、入力画像はぼけた画像ではなく色分布が単純なので、図9に示したように、画像処理としてアニメ調変換処理が選択される。選択部22は、供給された入力画像を、アニメ調変換処理を行うアニメ調変換部24に供給し、フィルタ選択処理は終了する。そして、その後、処理は図14のステップS47に進む。
これに対して、ステップS192において、色分布が複雑であると判定された場合、ステップS194において、選択部22は、入力画像に施す画像処理のフィルタとして、入力画像を漫画調の画像に変換するフィルタを選択する。
すなわち、入力画像はぼけた画像ではなく色分布が複雑なので、図9に示したように、画像処理として漫画調変換処理が選択される。選択部22は、供給された入力画像を、漫画調変換処理を行う漫画調変換部23に供給し、フィルタ選択処理は終了する。そして、その後、処理は図14のステップS47に進む。
また、ステップS191において、ぼけた画像であると判定された場合、ステップS195において、選択部22は、エッジ複雑度検出部61のスコア算出部95から供給されたエッジ複雑度に基づいて、入力画像のエッジ分布が複雑であるか否かを判定する。例えば、エッジ複雑度が予め定められた閾値以上である場合、エッジ分布が複雑であると判定される。
ステップS195において、エッジ分布が複雑でないと判定された場合、ステップS196において、選択部22は、色偏り検出部64のスコア算出部183から供給された色偏り度に基づいて、入力画像に色の偏りがあるか否かを判定する。例えば、色偏り度が予め定められた閾値以上である場合、色の偏りがあると判定される。
ステップS196において、色の偏りがないと判定された場合、ステップS197において、選択部22は、入力画像に施す画像処理のフィルタとして、入力画像をジオラマ調の画像に変換するフィルタを選択する。
すなわち、入力画像のエッジ分布が単純であり、色の偏りはないので、図9に示したように、画像処理としてジオラマ調変換処理が選択される。選択部22は、供給された入力画像を、ジオラマ調変換処理を行うジオラマ調変換部25に供給し、フィルタ選択処理は終了する。そして、その後、処理は図14のステップS47に進む。
これに対して、ステップS196において色の偏りがあると判定された場合、ステップS198において、選択部22は、入力画像に施す画像処理のフィルタとして、入力画像を重ね塗り絵画調の画像に変換するフィルタを選択する。
すなわち、入力画像のエッジ分布が単純であり、色の偏りがあるので、図9に示したように、画像処理として重ね塗り絵画調変換処理が選択される。選択部22は、供給された入力画像を、重ね塗り絵画調変換処理を行う絵画調変換部27に供給し、フィルタ選択処理は終了する。そして、その後、処理は図14のステップS47に進む。
また、ステップS195において、エッジ分布が複雑であると判定された場合、ステップS199において、選択部22は、入力画像に施す画像処理のフィルタとして、入力画像を減色絵画調の画像に変換するフィルタを選択する。
すなわち、入力画像のエッジ分布が複雑であるので、図9に示したように、画像処理として減色絵画調変換処理が選択される。選択部22は、供給された入力画像を、減色絵画調変換処理を行う絵画調変換部26に供給し、フィルタ選択処理は終了する。そして、その後、処理は図14のステップS47に進む。
このようにして、選択部22は、入力画像から抽出された特徴量に基づいて、入力画像に対してより適した画像処理を選択し、その画像処理を行うブロックに入力画像を供給する。このように、特徴量を用いることで、より簡単に、入力画像に対してより効果的な画像処理を選択することができる。
〈第3の実施の形態〉
[画像処理装置の構成]
なお、以上においては、入力画像全体に画像処理が施されると説明したが、入力画像の一部の領域にだけ画像処理が施されたり、一部の領域と、他の領域とに異なる画像処理が施されたりしてもよい。
そのような場合、画像処理装置は、例えば図20に示すように構成される。なお、図20において、図7における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
画像処理装置231は、注視領域検出部241、ぼけ度検出部21、エッジ複雑度検出部61乃至色偏り検出部64、選択部22乃至絵画調変換部27、および出力部29から構成される。
注視領域検出部241は、供給された入力画像上の被写体の領域が有する特徴の特徴量を抽出することで入力画像から被写体を検出し、入力画像における被写体の含まれる注視領域を特定するための情報である被写体マップを生成する。そして注視領域検出部241は、生成した被写体マップをぼけ度検出部21、エッジ複雑度検出部61乃至色偏り検出部64、および選択部22に供給する。
ここで、被写体の検出は、ユーザが入力画像を一瞥した場合に、ユーザが注目すると推定される入力画像上の物体、つまりユーザが目を向けると推定される物体が被写体であるとして行われる。したがって、被写体は必ずしも人に限られる訳ではない。
ぼけ度検出部21およびエッジ複雑度検出部61乃至色偏り検出部64は、注視領域検出部241からの被写体マップを用いて、供給された入力画像における注視領域と、注視領域以外の領域である背景領域とから特徴量を抽出し、選択部22に供給する。すなわち、注視領域および背景領域のそれぞれについて、ぼけ度、エッジ複雑度、ボックスサイズ、色分布複雑度、および色偏り度が求められる。
選択部22は、ぼけ度検出部21およびエッジ複雑度検出部61乃至色偏り検出部64からの特徴量に基づいて、注視領域または背景領域の少なくとも一方の領域について、その領域に施す画像処理を選択する。なお、両方の領域に画像処理が施される場合には、領域ごとに画像処理が選択される。
また、選択部22は、供給された入力画像と、注視領域検出部241からの被写体マップとを、選択された画像処理を行うブロックに供給する。出力部29は、漫画調変換部23乃至絵画調変換部27から供給された出力画像、つまり注視領域の画像と、背景領域の画像とを必要に応じて合成し、最終的に得られた出力画像を出力する。
さらに、注視領域検出部241は、例えば、図21に示すように構成される。
すなわち、注視領域検出部241は、輝度情報抽出部271、色情報抽出部272、顔情報抽出部273、および被写体マップ生成部274から構成される。
輝度情報抽出部271は、供給された入力画像に基づいて、入力画像の各領域における、輝度に関する情報を示す輝度情報マップを生成し、被写体マップ生成部274に供給する。
輝度情報抽出部271は、輝度画像生成部291、ピラミッド画像生成部292、差分算出部293、および輝度情報マップ生成部294から構成される。
輝度画像生成部291は、供給された入力画像を用いて、入力画像の画素の輝度値を、画素の画素値とする輝度画像を生成し、ピラミッド画像生成部292に供給する。ここで、輝度画像の任意の画素の画素値は、その画素と同じ位置にある入力画像の画素の輝度値を示している。
ピラミッド画像生成部292は、輝度画像生成部291から供給された輝度画像を用いて、互いに解像度の異なる複数の輝度画像を生成し、それらの輝度画像を輝度のピラミッド画像として差分算出部293に供給する。
例えば、レベルL1乃至レベルL8までの8つの解像度の階層のピラミッド画像が生成され、レベルL1のピラミッド画像が最も解像度が高く、レベルL1からレベルL8まで順番にピラミッド画像の解像度が低くなるものとする。
この場合、輝度画像生成部291により生成された輝度画像が、レベルL1のピラミッド画像とされる。また、レベルLi(但し、1≦i≦7)のピラミッド画像における、互いに隣接する4つの画素の画素値の平均値が、それらの画素と対応するレベルL(i+1)のピラミッド画像の1つの画素の画素値とされる。したがって、レベルL(i+1)のピラミッド画像は、レベルLiのピラミッド画像に対して縦横半分(割り切れない場合は切り捨て)の画像となる。
差分算出部293は、ピラミッド画像生成部292から供給された複数のピラミッド画像のうち、互いに階層の異なる2つのピラミッド画像を選択し、選択したピラミッド画像の差分を求めて輝度の差分画像を生成する。なお、各階層のピラミッド画像は、それぞれ大きさ(画素数)が異なるので、差分画像の生成時には、より小さい方のピラミッド画像が、より大きいピラミッド画像に合わせてアップコンバートされる。
差分算出部293は、予め定められた数だけ輝度の差分画像を生成すると、生成したそれらの差分画像を正規化し、輝度情報マップ生成部294に供給する。輝度情報マップ生成部294は、差分算出部293から供給された差分画像に基づいて輝度情報マップを生成し、被写体マップ生成部274に供給する。
また、色情報抽出部272は、供給された入力画像に基づいて、入力画像の各領域における、色に関する情報を示す色情報マップを生成し、被写体マップ生成部274に供給する。
色情報抽出部272は、RG差分画像生成部295、BY差分画像生成部296、ピラミッド画像生成部297、ピラミッド画像生成部298、差分算出部299、差分算出部300、色情報マップ生成部301、および色情報マップ生成部302から構成される。
RG差分画像生成部295は、供給された入力画像を用いて、入力画像の画素のR(赤)成分とG(緑)成分との差分を、画素の画素値とするRG差分画像を生成し、ピラミッド画像生成部297に供給する。RG差分画像の任意の画素の画素値は、その画素と同じ位置にある入力画像の画素のRの成分と、Gの成分との差分の値を示している。
BY差分画像生成部296は、供給された入力画像を用いて、入力画像の画素のB(青)成分とY(黄)成分との差分を、画素の画素値とするBY差分画像を生成し、ピラミッド画像生成部298に供給する。BY差分画像の任意の画素の画素値は、その画素と同じ位置にある入力画像の画素のB(青)成分と、Y(黄)成分との差分の値を示している。なお、入力画像のY(黄)成分の値は、入力画像のR、G、およびBの各色の成分の値(画素値)から求められる。
ピラミッド画像生成部297およびピラミッド画像生成部298は、RG差分画像生成部295およびBY差分画像生成部296から供給されたRG差分画像およびBY差分画像を用いて、互いに解像度の異なる複数のRG差分画像およびBY差分画像を生成する。そして、ピラミッド画像生成部297およびピラミッド画像生成部298は、生成したそれらのRG差分画像およびBY差分画像を、RGの差分のピラミッド画像、およびBYの差分のピラミッド画像として差分算出部299および差分算出部300に供給する。
例えば、RGの差分のピラミッド画像、およびBYの差分のピラミッド画像として、輝度のピラミッド画像の場合と同様に、それぞれレベルL1乃至レベルL8までの8つの解像度の階層のピラミッド画像が生成される。
差分算出部299および差分算出部300は、ピラミッド画像生成部297およびピラミッド画像生成部298から供給された複数のピラミッド画像のうち、互いに階層の異なる2つのピラミッド画像を選択し、選択したピラミッド画像の差分を求めてRGの差分の差分画像、およびBYの差分の差分画像を生成する。なお、各階層のピラミッド画像は、それぞれ大きさが異なるので、差分画像の生成時には、より小さい方のピラミッド画像がアップコンバートされて、より大きい方のピラミッド画像と同じ大きさとされる。
差分算出部299および差分算出部300は、予め定められた数だけRGの差分の差分画像、およびBYの差分の差分画像を生成すると、生成したそれらの差分画像を正規化し、色情報マップ生成部301および色情報マップ生成部302に供給する。色情報マップ生成部301および色情報マップ生成部302は、差分算出部299および差分算出部300から供給された差分画像に基づいて色情報マップを生成し、被写体マップ生成部274に供給する。色情報マップ生成部301ではRGの差分の色情報マップが生成され、色情報マップ生成部302ではBYの差分の色情報マップが生成される。
顔情報抽出部273は、供給された入力画像に基づいて、入力画像の各領域における、被写体としての人の顔に関する情報を示す顔情報マップを生成し、被写体マップ生成部274に供給する。顔情報抽出部273は、顔検出部303および顔情報マップ生成部304から構成される。
顔検出部303は、供給された入力画像から被写体としての人の顔の領域を検出し、その検出結果を顔情報マップ生成部304に供給する。顔情報マップ生成部304は、顔検出部303からの検出結果に基づいて顔情報マップを生成し、被写体マップ生成部274に供給する。
なお、以下、輝度情報抽出部271乃至顔情報抽出部273から出力される、輝度情報マップ乃至顔情報マップのそれぞれを個々に区別する必要のない場合、単に情報マップとも称する。これらの情報マップに含まれる情報は、被写体の含まれる領域により多く含まれる特徴の特徴量を示す情報とされ、その情報が入力画像の各領域に対応させて並べられたものが情報マップとされる。つまり、情報マップは、入力画像の各領域における特徴量を示す情報であるといえる。
したがって、各情報マップにおける、より情報量の多い領域、つまり特徴量の多い領域に対応する入力画像上の領域は、より被写体が含まれる可能性の高い領域となり、各情報マップにより入力画像における被写体の含まれる領域を特定することができる。
被写体マップ生成部274は、輝度情報マップ生成部294、色情報マップ生成部301、色情報マップ生成部302、および顔情報マップ生成部304から供給された輝度情報マップ、色情報マップ、および顔情報マップを線形結合し、被写体マップを生成する。すなわち、輝度情報マップ乃至顔情報マップの各領域の情報(特徴量)が、同じ位置にある領域ごとに重み付き加算されて被写体マップが生成される。被写体マップ生成部274は、生成した被写体マップをぼけ度検出部21、エッジ複雑度検出部61乃至色偏り検出部64、および選択部22に供給する。
[画像処理装置の動作の説明]
次に、図22のフローチャートを参照して、図20の画像処理装置231による画像変換処理について説明する。
ステップS231において、注視領域検出部241は、注視領域検出処理を行って入力画像から注視領域を検出する。すなわち、注視領域検出部241は、入力画像から被写体マップを生成し、ぼけ度検出部21、エッジ複雑度検出部61乃至色偏り検出部64、および選択部22に供給する。なお、注視領域検出処理の詳細は後述する。
また、注視領域検出処理が行われると、その後、ステップS232乃至ステップS236の処理が行われるが、これらの処理は、図14のステップS41乃至ステップS45の処理のそれぞれと同様であるので、その説明は省略する。
すなわち、ぼけ度検出部21、およびエッジ複雑度検出部61乃至色偏り検出部64において、各特徴の特徴量が求められて選択部22に供給される。なお、ステップS232乃至ステップS236の処理においては、注視領域検出部241により生成された被写体マップに基づいて、入力画像の注視領域および背景領域ごとに特徴量が求められる。つまり、注視領域のぼけ度、エッジ複雑度、ボックスサイズ、色分布複雑度、および色偏り度が求められ、また、背景領域のぼけ度、エッジ複雑度、ボックスサイズ、色分布複雑度、および色偏り度が求められる。
ステップS237において、選択部22は、ぼけ度検出部21から供給された、注視領域および背景領域のぼけ度に基づいて、それらのぼけ度の差の絶対値が所定の閾値未満であるか否かを判定する。
ステップS237において、絶対値が閾値未満であると判定された場合、ステップS238において、選択部22は、注視領域に対するフィルタ選択処理を行って、入力画像の注視領域に対して施す画像処理に用いるフィルタを選択する。
なお、この注視領域に対するフィルタ選択処理は、図19を参照して説明したフィルタ選択処理と同様であるので、その説明は省略する。但し、注視領域に対するフィルタ選択処理では、注視領域のぼけ度、エッジ複雑度、ボックスサイズ、色分布複雑度、および色偏り度が用いられて、注視領域に対する画像処理が選択される。
選択部22は、注視領域に対するフィルタ、つまり画像処理を選択すると、供給された入力画像と、注視領域検出部241からの被写体マップとを、選択した画像処理を行うブロックに供給し、そのブロックに入力画像の注視領域への画像処理を指示する。
ステップS239において、漫画調変換部23乃至絵画調変換部27のうちの、選択部22から入力画像および被写体マップが供給されたブロックは、供給された被写体マップを用いて、入力画像の注視領域に対してフィルタ処理を施す。
例えば、選択部22により減色絵画調変換処理が選択された場合、絵画調変換部26は、被写体マップを用いて、入力画像の注視領域に減色絵画調変換処理を施して、入力画像における注視領域の部分の出力画像を生成する。絵画調変換部26は、生成した注視領域の部分の出力画像を出力部29に供給する。
ステップS240において、選択部22は、背景領域に対するフィルタ選択処理を行って、入力画像の背景領域に対して施す画像処理に用いるフィルタを選択する。
なお、この背景領域に対するフィルタ選択処理は、図19を参照して説明したフィルタ選択処理と同様であるので、その説明は省略する。但し、背景領域に対するフィルタ選択処理では、背景領域のぼけ度、エッジ複雑度、ボックスサイズ、色分布複雑度、および色偏り度が用いられて、背景領域に対する画像処理が選択される。
選択部22は、背景領域に対するフィルタ、つまり画像処理を選択すると、供給された入力画像と、注視領域検出部241からの被写体マップとを、選択した画像処理を行うブロックに供給し、そのブロックに入力画像の背景領域への画像処理を指示する。
ステップS241において、漫画調変換部23乃至絵画調変換部27のうちの、選択部22から入力画像および被写体マップが供給されたブロックは、供給された被写体マップを用いて、入力画像の背景領域に対してフィルタ処理を施す。
例えば、選択部22によりアニメ調変換処理が選択された場合、アニメ調変換部24は、被写体マップを用いて、入力画像の背景領域にアニメ調変換処理を施して、入力画像における背景領域の部分の出力画像を生成する。アニメ調変換部24は、生成した背景領域の部分の出力画像を出力部29に供給する。
背景領域の部分の出力画像が出力部29に供給されると、その後、処理はステップS247に進む。
また、ステップS237において、ぼけ度の差の絶対値が閾値未満ではないと判定された場合、ステップS242において、選択部22は、注視領域のぼけ度が背景領域のぼけ度よりも大きいか否かを判定する。
ステップS242において注視領域のぼけ度が大きいと判定された場合、ステップS243において、選択部22は、注視領域に対するフィルタ選択処理を行って、フィルタを選択する。なお、ステップS243の処理は、ステップS238の処理と同様であるので、その説明は省略する。
選択部22は、フィルタ、すなわち画像処理を選択すると、その画像処理を行うブロックに、注視領域検出部241からの被写体マップと、供給された入力画像とを供給し、入力画像の注視領域に対する画像処理を指示する。
ステップS244において、漫画調変換部23乃至絵画調変換部27のうちの、選択部22から入力画像および被写体マップが供給されたブロックは、供給された被写体マップを用いて、入力画像の注視領域に対してフィルタ処理を施す。そして、フィルタ処理により得られた注視領域の部分の画像が、注視領域の部分の出力画像とされる。
また、画像処理を行うブロックは、被写体マップを用いて、入力画像の背景領域を抽出し、その背景領域をそのまま背景領域の部分の出力画像とする。画像処理を行うブロックは、フィルタ処理により得られた注視領域の部分の出力画像と、背景領域の部分の出力画像とを出力部29に供給する。
出力部29に、注視領域の部分の出力画像と、背景領域の部分の出力画像とが供給されると、その後、処理はステップS247に進む。このように、注視領域が背景領域よりも大きくぼけている場合には、入力画像の注視領域に画像処理が施され、ぼけていない背景領域には画像処理は施されず、そのままとされる。
また、ステップS242において、注視領域のぼけ度が大きくないと判定された場合、すなわち注視領域のぼけ度よりも背景領域のぼけ度が大きい場合、ステップS245において、選択部22は背景領域に対するフィルタ選択処理を行って、フィルタを選択する。なお、ステップS245の処理は、ステップS240の処理と同様であるので、その説明は省略する。
選択部22は、フィルタ、すなわち画像処理を選択すると、その画像処理を行うブロックに、注視領域検出部241からの被写体マップと、供給された入力画像とを供給し、入力画像の背景領域に対する画像処理を指示する。
ステップS246において、漫画調変換部23乃至絵画調変換部27のうちの、選択部22から入力画像および被写体マップが供給されたブロックは、供給された被写体マップを用いて、入力画像の背景領域に対してフィルタ処理を施す。そして、フィルタ処理により得られた背景領域の部分の画像が、背景領域の部分の出力画像とされる。
また、画像処理を行うブロックは、被写体マップを用いて、入力画像の注視領域を抽出し、その注視領域をそのまま注視領域の部分の出力画像とする。画像処理を行うブロックは、フィルタ処理により得られた背景領域の部分の出力画像と、注視領域の部分の出力画像とを出力部29に供給する。
出力部29に、注視領域の部分の出力画像と、背景領域の部分の出力画像とが供給されると、その後、処理はステップS247に進む。このように、背景領域が注視領域よりも大きくぼけている場合には、入力画像の背景領域に画像処理が施され、ぼけていない注視領域には画像処理は施されず、そのままとされる。
ステップS241、ステップS244、またはステップS246の処理が行われて、出力部29に注視領域の部分の出力画像と、背景領域の部分の出力画像とが供給されると、ステップS247において、出力部29は、供給された注視領域の部分の出力画像と、背景領域の部分の出力画像とを合成して、最終的な1つの出力画像を生成する。
このようにして得られる出力画像は、注視領域と背景領域とに個別に選択された画像処理が施された画像、または注視領域か背景領域の何れか一方に画像処理が施された画像となる。このように、最終的な出力画像が得られると、その後、ステップS248およびステップS249の処理が行われて、画像変換処理は終了するが、これらの処理は、図6のステップS16およびステップS17の処理と同様であるので、その説明は省略する。
このようにして、画像処理装置231は、入力画像における注視領域と背景領域との少なくとも一方に画像処理を施して、入力画像を出力画像に変換する。これにより、入力画像の領域ごとに、より効果的な画像処理を簡単に選択して、出力画像を生成することができる。その結果、より効果的に出力画像を表示することができるようになる。
例えば、入力画像の背景領域のみがぼけている場合には、注視領域をそのままとし、背景領域に画像処理を施すことで、注視領域内の被写体を、入力画像の撮像時の光景とは別空間に置くことができる。したがって、出力画像の鑑賞時に、ユーザに強いインパクトを与えることができ、出力画像の鑑賞をより楽しませることができる。
また、入力画像の注視領域および背景領域のぼけの度合いが殆ど同じである場合には、それらの両方の領域に、それぞれ選択された画像処理を施すことで、領域ごとにことなる風合いの出力画像を表示させ、出力画像の鑑賞をより楽しませることができる。
なお、注視領域や背景領域に画像処理を施す場合、例えば、入力画像における顔検出を優先し、注視領域に人の顔が含まれるときには、注視領域における人の顔の領域はそのままとし、人の顔のない領域に対して画像処理を施すようにしてもよい。例えば、人の顔の領域の検出は、注視領域検出部241において生成される顔情報マップから特定することができる。
また、注視領域や背景領域に施す画像処理を選択する場合、それらの領域に対して、異なる画像処理を施した出力画像をいくつか生成しておき、生成した出力画像から、各領域に施す画像処理を選択するようにしてもよい。この場合、例えばSeam Carvingのように、注視領域の部分の出力画像と、背景領域の部分の出力画像との境界ラインの結合性がエネルギーとして評価され、その評価に基づいて、それらの領域の出力画像が、合成時によりスムーズに連結される画像処理が選択される。
さらに、被写体マップは、マスクとして用いられてもよい。例えば、入力画像の注視領域にのみ画像処理を施す場合、被写体マップがマスクとして用いられて入力画像の注視領域にのみ画像処理が施され、その結果、得られた画像が出力画像とされる。これにより、出力部29において、注視領域の部分の出力画像と、背景領域の部分の出力画像とを合成する必要がなくなり、より迅速に出力画像を得ることができるようになる。
次に、図23のフローチャートを参照して、図22のステップS231の処理に対応する注視領域検出処理について説明する。
ステップS281において、輝度画像生成部291は、供給された入力画像を用いて輝度画像を生成し、ピラミッド画像生成部292に供給する。例えば、輝度画像生成部291は、入力画像の画素のR、G、およびBの各成分の値に、成分ごとに予め定められた係数を乗算し、係数の乗算された各成分の値の和を、入力画像の画素と同じ位置にある輝度画像の画素の画素値とする。つまり、輝度成分(Y)および色差成分(Cb,Cr)からなるコンポーネント信号の輝度成分が求められる。なお、画素のR、G、およびBの各成分の値の平均値が、輝度画像の画素の画素値とされてもよい。
ステップS282において、ピラミッド画像生成部292は、輝度画像生成部291から供給された輝度画像に基づいて、レベルL1乃至レベルL8の各階層のピラミッド画像を生成し、差分算出部293に供給する。
ステップS283において、差分算出部293は、ピラミッド画像生成部292から供給されたピラミッド画像を用いて差分画像を生成して正規化し、輝度情報マップ生成部294に供給する。正規化は、差分画像の画素の画素値が、例えば0乃至255の間の値となるように行われる。
具体的には、差分算出部293は、各階層の輝度のピラミッド画像のうち、レベルL6およびレベルL3、レベルL7およびレベルL3、レベルL7およびレベルL4、レベルL8およびレベルL4、並びにレベルL8およびレベルL5の各階層の組み合わせのピラミッド画像の差分を求める。これにより、合計5つの輝度の差分画像が得られる。
例えば、レベルL6およびレベルL3の組み合わせの差分画像が生成される場合、レベルL6のピラミッド画像が、レベルL3のピラミッド画像の大きさに合わせてアップコンバートされる。つまり、アップコンバート前のレベルL6のピラミッド画像の1つの画素の画素値が、その画素に対応する、アップコンバート後のレベルL6のピラミッド画像の互いに隣接するいくつかの画素の画素値とされる。そして、レベルL6のピラミッド画像の画素の画素値と、その画素と同じ位置にあるレベルL3のピラミッド画像の画素の画素値との差分が求められ、その差分が差分画像の画素の画素値とされる。
これらの差分画像を生成する処理は、輝度画像にバンドパスフィルタを用いたフィルタ処理を施して、輝度画像から所定の周波数成分を抽出することと等価である。このようにして得られた差分画像の画素の画素値は、各レベルのピラミッド画像の輝度値の差、つまり入力画像における所定の画素における輝度と、その画素の周囲の平均的な輝度との差分を示している。
一般的に、画像において周囲との輝度の差分の大きい領域は、その画像を見る人の目を引く領域であるので、その領域は被写体の領域である可能性が高い。したがって、各差分画像において、より画素値の大きい画素が、より被写体の領域である可能性の高い領域であることを示しているということができる。
ステップS284において、輝度情報マップ生成部294は、差分算出部293から供給された差分画像に基づいて輝度情報マップを生成し、被写体マップ生成部274に供給する。
例えば、輝度情報マップ生成部294は、供給された5つの差分画像を、予め求められた差分画像ごとの重みにより重み付き加算し、1つの画像を求める。すなわち、各差分画像の同じ位置にある画素の画素値のそれぞれに重みが乗算されて、重みが乗算された画素値の総和が求められる。
なお、輝度情報マップの生成時において、各差分画像が同じ大きさとなるように、差分画像のアップコンバートが行われる。このようにして得られた輝度情報マップによれば、入力画像において、輝度の差の大きい領域、つまり入力画像を一瞥した観察者の目に付きやすい領域を簡単に検出することができる。
ステップS285において、RG差分画像生成部295は、供給された入力画像を用いて、RG差分画像を生成し、ピラミッド画像生成部297に供給する。
ステップS286において、BY差分画像生成部296は、供給された入力画像を用いてBY差分画像を生成し、ピラミッド画像生成部298に供給する。
ステップS287において、ピラミッド画像生成部297およびピラミッド画像生成部298は、RG差分画像生成部295からのRG差分画像、およびBY差分画像生成部296からのBY差分画像を用いて、ピラミッド画像を生成する。
例えば、ピラミッド画像生成部297は、解像度の異なる複数のRG差分画像を生成することにより、レベルL1乃至レベルL8の各階層のピラミッド画像を生成し、差分算出部299に供給する。同様に、ピラミッド画像生成部298は、解像度の異なる複数のBY差分画像を生成することにより、レベルL1乃至レベルL8の各階層のピラミッド画像を生成し、差分算出部300に供給する。
ステップS288において、差分算出部299および差分算出部300は、ピラミッド画像生成部297およびピラミッド画像生成部298から供給されたピラミッド画像に基づいて差分画像を生成して正規化し、色情報マップ生成部301および色情報マップ生成部302に供給する。差分画像の正規化では、例えば、画素の画素値が0乃至255の間の値となるようにされる。
例えば、差分算出部299は、各階層のRGの差分のピラミッド画像のうち、レベルL6およびレベルL3、レベルL7およびレベルL3、レベルL7およびレベルL4、レベルL8およびレベルL4、並びにレベルL8およびレベルL5の各階層の組み合わせのピラミッド画像の差分を求める。これにより、合計5つのRGの差分の差分画像が得られる。
同様に、差分算出部300は、各階層のBYの差分のピラミッド画像のうち、レベルL6およびレベルL3、レベルL7およびレベルL3、レベルL7およびレベルL4、レベルL8およびレベルL4、並びにレベルL8およびレベルL5の各階層の組み合わせのピラミッド画像の差分を求める。これにより、合計5つのBYの差分の差分画像が得られる。
これらの差分画像を生成する処理は、RG差分画像またはBY差分画像にバンドパスフィルタを用いたフィルタ処理を施して、RG差分画像またはBY差分画像から所定の周波数成分を抽出することと等価である。このようにして得られた差分画像の画素の画素値は、各レベルのピラミッド画像の特定の色成分の差、つまり入力画像の画素における特定の色の成分と、その画素の周囲の平均的な特定の色の成分との差分を示している。
一般的に、画像において周囲と比べて目立つ色の領域、つまり特定の色成分の周囲との差分の大きい領域は、その画像を見る人の目を引く領域であるので、その領域は被写体の領域である可能性が高い。したがって、各差分画像において、より画素値の大きい画素が、より被写体の領域である可能性の高い領域であることを示しているということができる。
ステップS289において、色情報マップ生成部301および色情報マップ生成部302は、差分算出部299からの差分画像、および差分算出部300からの差分画像を用いて色情報マップを生成し、被写体マップ生成部274に供給する。
例えば、色情報マップ生成部301は、差分算出部299から供給されたRGの差分の差分画像を、予め求められた差分画像ごとの重みにより重み付き加算して、1つのRGの差分の色情報マップとする。
同様に、色情報マップ生成部302は、差分算出部300から供給されたBYの差分の差分画像を、予め求められた重みにより重み付き加算して、1つのBYの差分の色情報マップとする。なお、色情報マップの生成時において、各差分画像が同じ大きさとなるように、差分画像のアップコンバートが行われる。
このようにして得られた色情報マップによれば、入力画像において、特定の色成分の差の大きい領域、つまり入力画像を一瞥した観察者の目に付きやすい領域を簡単に検出することができる。
ステップS290において、顔検出部303は、供給された入力画像から、人の顔の領域を検出し、その検出結果を顔情報マップ生成部304に供給する。例えば、顔検出部303は、入力画像に対してガボアフィルタを用いたフィルタ処理を施し、入力画像から人の目、口、鼻などの特徴的な領域を抽出することにより、入力画像における顔の領域を検出する。
ステップS291において、顔情報マップ生成部304は、顔検出部303からの検出結果を用いて顔情報マップを生成し、被写体マップ生成部274に供給する。
例えば、入力画像からの顔の検出結果として、顔が含まれると推定される入力画像上の矩形の領域(以下、候補領域と称する)が複数検出されたとする。ここで、入力画像上の所定の位置近傍に複数の候補領域が検出され、それらの候補領域の一部が互いに重なることもあることとする。すなわち、例えば、入力画像上の1つの顔の領域に対して、その顔を含む複数の領域が候補領域として得られた場合には、それらの候補領域の一部が互いに重なることになる。
顔情報マップ生成部304は、顔の検出により得られた候補領域に対して、候補領域ごとに、入力画像と同じ大きさの検出画像を生成する。この検出画像は、検出画像上における処理対象の候補領域と同じ領域内の画素の画素値が、候補領域とは異なる領域内の画素の画素値よりも大きい値とされる。
また、検出画像上の画素の画素値は、より人の顔が含まれる可能性が高いと推定された候補領域の画素と同じ位置の画素ほど、画素値が大きくなる。顔情報マップ生成部304は、このようにして得られた検出画像を足し合わせて、1つの画像を生成して正規化し、顔情報マップとする。したがって、顔情報マップ上において、入力画像上の複数の候補領域の一部が重なる領域と同じの領域の画素の画素値は大きくなり、より顔が含まれる可能性が高いことになる。なお、正規化は、顔情報マップの画素の画素値が、例えば0乃至255の間の値となるようにされる。
このようにして得られた顔情報マップによれば、入力画像において、被写体としての人の顔の領域を簡単に検出することができる。
ステップS292において、被写体マップ生成部274は、輝度情報マップ生成部294、色情報マップ生成部301、色情報マップ生成部302、および顔情報マップ生成部304から供給された輝度情報マップ、色情報マップ、および顔情報マップを用いて、被写体マップを生成する。
例えば、被写体マップ生成部274は、情報マップごとに予め求められている重みを用いて各情報マップを線形結合し、さらに、その結果得られたマップの画素値に、予め求められた重みを乗算して正規化し、被写体マップとする。
つまり、これから求めようとする被写体マップ上の注目する位置(画素)を注目位置とすると、各情報マップの注目位置と同じ位置(画素)の画素値に、情報マップごとの重みが乗算され、重みの乗算された画素値の総和が、注目位置の画素値とされる。さらに、このようにして求められた被写体マップの各位置の画素値に、被写体マップに対して予め求められた重みが乗算されて正規化され、最終的な被写体マップとされる。
なお、より詳細には、色情報マップとして、RGの差分の色情報マップと、BYの差分の色情報マップとが用いられて、被写体マップが生成される。また、正規化は、被写体マップの各画素の画素値が、0から1までの間の値となるようになされる。
被写体マップ生成部274は被写体マップを生成すると、生成した被写体マップをぼけ度検出部21、エッジ複雑度検出部61乃至色偏り検出部64、および選択部22に供給し、注視領域検出処理は終了する。注視領域検出処理が終了すると、その後、処理は図22のステップS232に進む。
このようにして、注視領域検出部241は、入力画像の注視領域を特定するための被写体マップを生成し、出力する。これにより、画像処理装置231では、入力画像における、ユーザが目を向ける注視領域と、その他の領域である背景領域とのそれぞれに、より効果的な画像処理を施すことができるようになり、その結果、より効果的に出力画像を表示することができるようになる。
なお、以上においては、入力画像から輝度に関する情報、色に関する情報、および人の顔に関する情報を抽出して被写体マップを生成すると説明したが、その他、エッジに関する情報や動きに関する情報を入力画像から抽出し、被写体マップの生成に用いてもよい。
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
図24は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)501,ROM(Read Only Memory)502,RAM(Random Access Memory)503は、バス504により相互に接続されている。
バス504には、さらに、入出力インターフェース505が接続されている。入出力インターフェース505には、キーボード、マウス、マイクロホンなどよりなる入力部506、ディスプレイ、スピーカなどよりなる出力部507、ハードディスクや不揮発性のメモリなどよりなる記録部508、ネットワークインターフェースなどよりなる通信部509、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア511を駆動するドライブ510が接続されている。
以上のように構成されるコンピュータでは、CPU501が、例えば、記録部508に記録されているプログラムを、入出力インターフェース505及びバス504を介して、RAM503にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU501)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア511に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
そして、プログラムは、リムーバブルメディア511をドライブ510に装着することにより、入出力インターフェース505を介して、記録部508にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部509で受信し、記録部508にインストールすることができる。その他、プログラムは、ROM502や記録部508に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
11 画像処理装置, 21 ぼけ度検出部, 22 選択部, 23 漫画調変換部, 24 アニメ調変換部, 25 ジオラマ調変換部, 26 絵画調変換部, 27 絵画調変換部, 28 シャープネス処理部, 51 画像処理装置, 61 エッジ複雑度検出部, 62 サイズ検出部, 63 色分布複雑度検出部, 64 色偏り検出部, 231 画像処理装置, 241 注視領域検出部