(57)【要約】【課題】より簡単な構成で、かつ、より低い計算コストで画像の傾きを補正する。【解決手段】周波数領域変換部３２は、入力画像に対して周波数領域への変換を行い、ヒストグラム作成部３４は、周波数領域変換部３２による変換の結果得られたパワースペクトル画像における角度毎の画素の分布を表すヒストグラムを作成し、傾き算出部３７は、ヒストグラム作成部３４によって作成されたヒストグラムのピークから、入力画像の傾きを補正する傾き補正角度を算出し、画像回転部２２は、傾き算出部３７によって算出された傾き補正角度の分だけ、入力画像を回転する。本発明は、例えば、画像の傾きを補正する画像処理装置に適用することができる。【選択図】図１
2011090437.tif 000002
【特許請求の範囲】
【請求項１】
入力画像に対して周波数領域への変換を行う周波数領域変換手段と、
前記周波数領域変換手段による変換の結果得られたパワースペクトル画像における角度毎の画素の分布を表すヒストグラムを作成するヒストグラム作成手段と、
前記ヒストグラム作成手段によって作成された前記ヒストグラムのピークから、前記入力画像の傾きを補正する傾き補正角度を算出する傾き算出手段と、
前記傾き算出手段によって算出された前記傾き補正角度の分だけ、前記入力画像を回転する画像回転手段と
を備える画像処理装置。
【請求項２】
前記周波数領域変換手段による変換の結果得られた前記パワースペクトル画像における画素を補間する画素補間手段を備え、
前記ヒストグラム作成手段は、前記画素補間手段によって画素が補間された前記パワースペクトル画像についての前記ヒストグラムを作成し、
前記ヒストグラム作成手段によって作成された前記ヒストグラムを平滑化する平滑化手段と、
前記平滑化手段によって平滑化された前記ヒストグラムを、角度について補間するヒストグラム補間手段とをさらに備え、
前記傾き算出手段は、前記ヒストグラム補間手段によって角度が補間された前記ヒストグラムから、前記入力画像の傾き補正角度を算出する
請求項１に記載の画像処理装置。
【請求項３】
前記傾き算出手段によって算出された前記傾き補正角度が、所定の角度の範囲を超える場合、前記傾き補正角度を０とする角度制限手段をさらに備える
請求項２に記載の画像処理装置。
【請求項４】
前記入力画像において、有効領域を設定する有効領域設定手段をさらに備え、
前記周波数領域変換手段は、前記入力画像における前記有効領域に対して周波数領域への変換を行う
請求項２に記載の画像処理装置。
【請求項５】
前記傾き算出手段は、前記ヒストグラム補間手段によって角度が補間された前記ヒストグラムにおいて、水平側のピークおよびその近傍の平均と、垂直側のピークおよびその近傍の平均とを比較することで、前記入力画像の前記傾き補正角度を算出する
請求項２に記載の画像処理装置。
【請求項６】
前記傾き算出手段は、前記ヒストグラム補間手段によって角度が補間された前記ヒストグラムにおいて、水平側のピークおよびその角度に直交する角度のピークそれぞれの近傍の平均の和と、垂直側のピークおよびその角度に直交する角度のピークそれぞれの近傍の平均の和とを比較することで、前記入力画像の前記傾き補正角度を算出する
請求項２に記載の画像処理装置。
【請求項７】
前記入力画像において注目する注目領域の数と、前記入力画像のシーンとに基づいて、前記入力画像に対応する構図パターンを設定する設定手段と、
前記設定手段によって設定された前記構図パターンであって、前記傾き算出手段によって算出された前記傾き補正角度に応じて回転された前記構図パターンを基に、前記入力画像から前記構図パターンで切出される画像の、前記入力画像における最適な切出し領域を決定する決定手段とをさらに備え、
前記画像回転手段は、前記傾き算出手段によって算出された前記傾き補正角度の分だけ、前記決定手段によって前記切出し領域が決定された前記入力画像を回転する
請求項２に記載の画像処理装置。
【請求項８】
前記画像回転手段によって回転された前記入力画像から、前記決定手段によって決定された前記切出し領域を切出す切出し手段をさらに備える
請求項７に記載の画像処理装置。
【請求項９】
前記入力画像のシーンを判別する判別手段をさらに備え、
前記傾き算出手段は、前記シーン判別手段によって判別されたシーンが所定のシーンである場合に、前記入力画像の傾き補正角度を算出する
請求項２に記載の画像処理装置。
【請求項１０】
前記入力画像がマクロ撮影モードで撮影されたか否かを判定する撮影モード判定手段をさらに備え、
前記傾き算出手段は、前記入力画像がマクロ撮影モードで撮影されていない場合に、前記入力画像の傾き補正角度を算出する
請求項２に記載の画像処理装置。
【請求項１１】
入力画像に対して周波数領域への変換を行う周波数領域変換ステップと、
前記周波数領域変換ステップの処理による変換の結果得られたパワースペクトル画像における角度毎の画素の分布を表すヒストグラムを作成するヒストグラム作成ステップと、
前記ヒストグラム作成ステップの処理によって作成された前記ヒストグラムのピークから、前記入力画像の傾きを補正する傾き補正角度を算出する傾き算出ステップと、
前記傾き算出ステップの処理によって算出された前記傾き補正角度の分だけ、前記入力画像を回転する画像回転ステップと
を含む画像処理方法。
【請求項１２】
入力画像に対して周波数領域への変換を行う周波数領域変換ステップと、
前記周波数領域変換ステップの処理による変換の結果得られたパワースペクトル画像における角度毎の画素の分布を表すヒストグラムを作成するヒストグラム作成ステップと、
前記ヒストグラム作成ステップの処理によって作成された前記ヒストグラムのピークから、前記入力画像の傾きを補正する傾き補正角度を算出する傾き算出ステップと、
前記傾き算出ステップの処理によって算出された前記傾き補正角度の分だけ、前記入力画像を回転する画像回転ステップと
を含む処理をコンピュータに実行させるプログラム。
【請求項１３】
入力画像に含まれる複数の顔を検出する顔検出手段と、
前記顔検出手段によって検出された前記複数の顔の数が所定の閾値より多い場合に、前記複数の顔の傾き角度の平均値から、前記入力画像の傾きを補正する傾き補正角度を算出する傾き算出手段と、
前記傾き算出手段によって算出された前記傾き補正角度の分だけ、前記入力画像を回転する画像回転手段と
を備える画像処理装置。
【請求項１４】
前記入力画像において注目する注目領域の数と、前記入力画像のシーンとに基づいて、前記入力画像に対応する構図パターンを設定する設定手段と、
前記設定手段によって設定された前記構図パターンであって、前記傾き算出手段によって算出された前記傾き補正角度に応じて回転された前記構図パターンを基に、前記入力画像から前記構図パターンで切出される画像の、前記入力画像における最適な切出し領域を決定する決定手段とを備え、
前記画像回転手段は、前記傾き算出手段によって算出された前記傾き補正角度の分だけ、前記決定手段によって前記切出し領域が決定された前記入力画像を回転する
請求項１３に記載の画像処理装置。
【請求項１５】
前記画像回転手段によって回転された前記入力画像から、前記決定手段によって決定された前記切出し領域を切出す切出し手段をさらに備える
請求項１４に記載の画像処理装置。
【請求項１６】
前記入力画像のシーンを判別する判別手段をさらに備え、
前記傾き算出手段は、前記シーン判別手段によって判別されたシーンが所定のシーンである場合に、前記入力画像の傾き補正角度を算出する
請求項１３に記載の画像処理装置。
【請求項１７】
前記入力画像がマクロ撮影モードで撮影されたか否かを判定する撮影モード判定手段をさらに備え、
前記傾き算出手段は、前記入力画像がマクロ撮影モードで撮影されていない場合に、前記入力画像の傾き補正角度を算出する
請求項１３に記載の画像処理装置。
【請求項１８】
入力画像に含まれる複数の顔を検出する顔検出ステップと、
前記顔検出ステップの処理によって検出された前記複数の顔の数が所定の閾値より多い場合に、前記複数の顔の傾き角度の平均値から、前記入力画像の傾きを補正する傾き補正角度を算出する傾き算出ステップと、
前記傾き算出ステップの処理によって算出された前記傾き補正角度の分だけ、前記入力画像を回転する画像回転ステップと
を含む画像処理方法。
【請求項１９】
入力画像に含まれる複数の顔を検出する顔検出ステップと、
前記顔検出ステップの処理によって検出された前記複数の顔の数が所定の閾値より多い場合に、前記複数の顔の傾き角度の平均値から、前記入力画像の傾きを補正する傾き補正角度を算出する傾き算出ステップと、
前記傾き算出ステップの処理によって算出された前記傾き補正角度の分だけ、前記入力画像を回転する画像回転ステップと
を含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法、並びにプログラムに関し、特に、画像の傾きを補正するようにする画像処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来、画像の傾きを検出して、その傾きを補正することが行われている（特許文献１，２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−３４４７２３号公報
【特許文献２】特開２００４−１２８６４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の手法では、画像に含まれる直線成分の傾きに基づいて画像の傾きを検出するが、その直線成分から等距離でないもの（例えば、手前から奥に伸びる直線道路等）を除去するために、測距センサを用いる必要があった。
【０００５】
また、特許文献２の手法では、画像を予め決めておいた角度毎に回転させた上に、その角度毎にヒストグラムを作成するため、計算コストが高くなってしまう。
【０００６】
本発明は、このような状況に鑑みてなされたものであり、特に、より簡単な構成で、かつ、より低い計算コストで画像の傾きを補正するようにするものである。
【課題を解決するための手段】
【０００７】
本発明の第１の側面の画像処理装置は、入力画像に対して周波数領域への変換を行う周波数領域変換手段と、前記周波数領域変換手段による変換の結果得られたパワースペクトル画像における角度毎の画素の分布を表すヒストグラムを作成するヒストグラム作成手段と、前記ヒストグラム作成手段によって作成された前記ヒストグラムのピークから、前記入力画像の傾きを補正する傾き補正角度を算出する傾き算出手段と、前記傾き算出手段によって算出された前記傾き補正角度の分だけ、前記入力画像を回転する画像回転手段とを備える。
【０００８】
前記画像処理装置には、前記周波数領域変換手段による変換の結果得られた前記パワースペクトル画像における画素を補間する画素補間手段を設け、前記ヒストグラム作成手段には、前記画素補間手段によって画素が補間された前記パワースペクトル画像についての前記ヒストグラムを作成させ、前記ヒストグラム作成手段によって作成された前記ヒストグラムを平滑化する平滑化手段と、前記平滑化手段によって平滑化された前記ヒストグラムを、角度について補間するヒストグラム補間手段とをさらに設け、前記傾き算出手段には、前記ヒストグラム補間手段によって角度が補間された前記ヒストグラムから、前記入力画像の傾き補正角度を算出させることができる。
【０００９】
前記画像処理装置には、前記傾き算出手段によって算出された前記傾き補正角度が、所定の角度の範囲を超える場合、前記傾き補正角度を０とする角度制限手段をさらに設けることができる。
【００１０】
前記画像処理装置には、前記入力画像において、有効領域を設定する有効領域設定手段をさらに設け、前記周波数領域変換手段には、前記入力画像における前記有効領域に対して周波数領域への変換を行わせることができる。
【００１１】
前記傾き算出手段には、前記ヒストグラム補間手段によって角度が補間された前記ヒストグラムにおいて、水平側のピークおよびその近傍の平均と、垂直側のピークおよびその近傍の平均とを比較することで、前記入力画像の前記傾き補正角度を算出させることができる。
【００１２】
前記傾き算出手段には、前記ヒストグラム補間手段によって角度が補間された前記ヒストグラムにおいて、水平側のピークおよびその角度に直交する角度のピークそれぞれの近傍の平均の和と、垂直側のピークおよびその角度に直交する角度のピークそれぞれの近傍の平均の和とを比較することで、前記入力画像の前記傾き補正角度を算出させることができる。
【００１３】
前記画像処理装置には、前記入力画像において注目する注目領域の数と、前記入力画像のシーンとに基づいて、前記入力画像に対応する構図パターンを設定する設定手段と、前記設定手段によって設定された前記構図パターンであって、前記傾き算出手段によって算出された前記傾き補正角度に応じて回転された前記構図パターンを基に、前記入力画像から前記構図パターンで切出される画像の、前記入力画像における最適な切出し領域を決定する決定手段とをさらに設け、前記画像回転手段には、前記傾き算出手段によって算出された前記傾き補正角度の分だけ、前記決定手段によって前記切出し領域が決定された前記入力画像を回転させることができる。
【００１４】
前記画像処理装置には、前記画像回転手段によって回転された前記入力画像から、前記決定手段によって決定された前記切出し領域を切出す切出し手段をさらに設けることができる。
【００１５】
前記画像処理装置には、前記入力画像のシーンを判別する判別手段をさらに設け、前記傾き算出手段には、前記シーン判別手段によって判別されたシーンが所定のシーンである場合に、前記入力画像の傾き補正角度を算出させることができる。
【００１６】
前記画像処理装置には、前記入力画像がマクロ撮影モードで撮影されたか否かを判定する撮影モード判定手段をさらに設け、前記傾き算出手段には、前記入力画像がマクロ撮影モードで撮影されていない場合に、前記入力画像の傾き補正角度を算出させることができる。
【００１７】
本発明の第１の側面の画像処理方法は、入力画像に対して周波数領域への変換を行う周波数領域変換ステップと、前記周波数領域変換ステップの処理による変換の結果得られたパワースペクトル画像における角度毎の画素の分布を表すヒストグラムを作成するヒストグラム作成ステップと、前記ヒストグラム作成ステップの処理によって作成された前記ヒストグラムのピークから、前記入力画像の傾きを補正する傾き補正角度を算出する傾き算出ステップと、前記傾き算出ステップの処理によって算出された前記傾き補正角度の分だけ、前記入力画像を回転する画像回転ステップとを含む。
【００１８】
本発明の第１の側面のプログラムは、入力画像に対して周波数領域への変換を行う周波数領域変換ステップと、前記周波数領域変換ステップの処理による変換の結果得られたパワースペクトル画像における角度毎の画素の分布を表すヒストグラムを作成するヒストグラム作成ステップと、前記ヒストグラム作成ステップの処理によって作成された前記ヒストグラムのピークから、前記入力画像の傾きを補正する傾き補正角度を算出する傾き算出ステップと、前記傾き算出ステップの処理によって算出された前記傾き補正角度の分だけ、前記入力画像を回転する画像回転ステップとを含む処理をコンピュータに実行させる。
【００１９】
本発明の第１の側面においては、入力画像に対して周波数領域への変換が行われ、変換の結果得られたパワースペクトル画像における角度毎の画素の分布を表すヒストグラムが作成され、作成されたヒストグラムのピークから、入力画像の傾きが補正する傾き補正角度が算出され、算出された傾き補正角度の分だけ、入力画像が回転される。
【００２０】
本発明の第２の側面の画像処理装置は、入力画像に含まれる複数の顔を検出する顔検出手段と、前記顔検出手段によって検出された前記複数の顔の数が所定の閾値より多い場合に、前記複数の顔の傾き角度の平均値から、前記入力画像の傾きを補正する傾き補正角度を算出する傾き算出手段と、前記傾き算出手段によって算出された前記傾き補正角度の分だけ、前記入力画像を回転する画像回転手段とを備える。
【００２１】
前記画像処理装置には、前記入力画像において注目する注目領域の数と、前記入力画像のシーンとに基づいて、前記入力画像に対応する構図パターンを設定する設定手段と、前記設定手段によって設定された前記構図パターンであって、前記傾き算出手段によって算出された前記傾き補正角度に応じて回転された前記構図パターンを基に、前記入力画像から前記構図パターンで切出される画像の、前記入力画像における最適な切出し領域を決定する決定手段とをさらに設け、前記画像回転手段には、前記傾き算出手段によって算出された前記傾き補正角度の分だけ、前記決定手段によって前記切出し領域が決定された前記入力画像を回転させることができる。
【００２２】
前記画像処理装置には、前記画像回転手段によって回転された前記入力画像から、前記決定手段によって決定された前記切出し領域を切出す切出し手段をさらに設けることができる。
【００２３】
前記画像処理装置には、前記入力画像のシーンを判別する判別手段をさらに設け、前記傾き算出手段には、前記シーン判別手段によって判別されたシーンが所定のシーンである場合に、前記入力画像の傾き補正角度を算出させることができる。
【００２４】
前記画像処理装置には、前記入力画像がマクロ撮影モードで撮影されたか否かを判定する撮影モード判定手段をさらに設け、前記傾き算出手段には、前記入力画像がマクロ撮影モードで撮影されていない場合に、前記入力画像の傾き補正角度を算出させることができる。
【００２５】
本発明の第２の側面の画像処理方法は、入力画像に含まれる複数の顔を検出する顔検出ステップと、前記顔検出ステップの処理によって検出された前記複数の顔の数が所定の閾値より多い場合に、前記複数の顔の傾き角度の平均値から、前記入力画像の傾きを補正する傾き補正角度を算出する傾き算出ステップと、前記傾き算出ステップの処理によって算出された前記傾き補正角度の分だけ、前記入力画像を回転する画像回転ステップとを含む。
【００２６】
本発明の第２の側面のプログラムは、入力画像に含まれる複数の顔を検出する顔検出ステップと、前記顔検出ステップの処理によって検出された前記複数の顔の数が所定の閾値より多い場合に、前記複数の顔の傾き角度の平均値から、前記入力画像の傾きを補正する傾き補正角度を算出する傾き算出ステップと、前記傾き算出ステップの処理によって算出された前記傾き補正角度の分だけ、前記入力画像を回転する画像回転ステップとを含む処理をコンピュータに実行させる。
【００２７】
本発明の第２の側面においては、入力画像に含まれる複数の顔が検出され、検出された複数の顔の数が所定の閾値より多い場合に、複数の顔の傾き角度の平均値から、入力画像の傾きを補正する傾き補正角度が算出され、算出された傾き補正角度の分だけ、入力画像が回転される。
【発明の効果】
【００２８】
本発明の第１および第２の側面によれば、より簡単な構成で、かつ、より低い計算コストで画像の傾きを補正することが可能となる。
【図面の簡単な説明】
【００２９】
【図１】本発明を適用した画像処理装置の一実施の形態の構成例を示すブロック図である。
【図２】傾き算出部の詳細な構成例を示すブロック図である。
【図３】図１の画像処理装置による画像傾き補正処理について説明するフローチャートである。
【図４】有効領域の設定について説明する図である。
【図５】パワースペクトル画像について説明する図である。
【図６】補間画素の決定について説明する図である。
【図７】角度ヒストグラムの作成について説明する図である。
【図８】３次Ｂスプライン補間について説明する図である。
【図９】傾き算出処理について説明するフローチャートである。
【図１０】入力画像の回転の処理について説明する図である。
【図１１】本発明を適用した画像処理装置の他の実施の形態の構成例を示すブロック図である。
【図１２】図１１の画像処理装置による画像傾き補正処理について説明するフローチャートである。
【図１３】顔を含む入力画像の傾きの検出について説明する図である。
【図１４】本発明を適用した画像処理装置のさらに他の実施の形態の構成例を示すブロック図である。
【図１５】注目領域抽出部の機能構成例のブロック図である。
【図１６】図１４の画像処理装置による画像切出し処理について説明するフローチャートである。
【図１７】注目領域の数とシーンとに基づいて設定される構図パターンについて説明する図である。
【図１８】切出し領域決定処理について説明するフローチャートである。
【図１９】エネルギー関数Ecの係数について説明する図である。
【図２０】３分割構図における注目領域について説明する図である。
【図２１】９分割構図について説明する図である。
【図２２】エネルギー関数Esの作成について説明する図である。
【図２３】エネルギー関数Epの作成について説明する図である。
【図２４】最適切出し領域の例を示す図である。
【図２５】入力画像の回転および切出しの処理について説明する図である。
【図２６】本発明を適用した画像処理装置のさらに他の実施の形態の構成例を示すブロック図である。
【図２７】図２６の画像処理装置による画像傾き補正処理について説明するフローチャートである。
【図２８】コンピュータのハードウェアの構成例を示すブロック図である。
【発明を実施するための形態】
【００３０】
以下、本発明の実施の形態について図を参照して説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態
２．第２の実施の形態
３．第３の実施の形態
４．第４の実施の形態
【００３１】
＜１．第１の実施の形態＞
［画像処理装置の構成例］
図１は、本発明を適用した画像処理装置の一実施の形態の機能構成例を示している。
【００３２】
図１の画像処理装置１１は、例えば、デジタルカメラ等の撮影装置やその他の装置から入力された入力画像の傾きを検出し、その傾きの分だけ入力画像を回転して傾きを補正した画像を、出力画像として出力する。
【００３３】
画像処理装置１１は、傾き検出部２１および画像回転部２２から構成される。
【００３４】
傾き検出部２１は、その詳細は後述するが、画像処理装置１１に入力された入力画像の傾きを検出し、その傾きを補正する角度（以下、傾き補正角度という）を画像回転部２２に供給する。
【００３５】
画像回転部２２は、傾き検出部２１からの傾き補正角度の分だけ入力画像を回転し、その画像を出力画像として出力する。
【００３６】
次に、図１の傾き検出部２１の詳細について説明する。傾き検出部２１は、有効領域設定部３１、周波数領域変換部３２、画素補間部３３、ヒストグラム作成部３４、平滑化部３５、ヒストグラム補間部３６、傾き算出部３７、および角度制限部３８から構成される。
【００３７】
有効領域設定部３１は、入力画像において、デジタルカメラ等による撮影時の歪曲収差の影響が出やすい画像端を除いた領域を有効領域として設定し、その有効領域の入力画像を周波数領域変換部３２に供給する。
【００３８】
周波数領域変換部３２は、有効領域設定部３１からの有効領域の入力画像に対して、例えば、２次元高速フーリエ変換（FFT：Fast Fourier Transform）を用いて、周波数領域への変換を行い、その結果得られたパワースペクトル画像を画素補間部３３に供給する。
【００３９】
画素補間部３３は、周波数領域変換部３２からのパワースペクトル画像において、DC（直流）成分を表す点を点Ｏとしたとき、点Ｏを通る線分と水平方向の周波数軸（水平周波数軸）とのなす所定の角度（以下、単に、角度という）毎に画素を補間し、そのパワースペクトル画像をヒストグラム作成部３４に供給する。画素補間部３３による画素の補間については、図５を参照して後述する。
【００４０】
ヒストグラム作成部３４は、画素補間部３３からの、画素が補間されたパワースペクトル画像において、角度を階級（以下、ビンともいう）とし、角度方向において所定の強度以上の画素の画素数を度数（以下、頻度という）とした角度ヒストグラムを作成する。すなわち、ヒストグラム作成部３４によって作成される角度ヒストグラムは、パワースペクトル画像における角度毎の、所定の強度以上の画素の分布を示した柱状グラフとなる。ヒストグラム作成部３４は、作成した角度ヒストグラムを平滑化部３５に供給する。
【００４１】
平滑化部３５は、ヒストグラム作成部３４からの角度ヒストグラムに含まれるノイズ成分を除去するために、その角度ヒストグラムに対して、所定の平滑化フィルタをかけ、平滑化された角度ヒストグラムをヒストグラム補間部３６に供給する。
【００４２】
ヒストグラム補間部３６は、平滑化部３５からの、平滑化された角度ヒストグラムを、角度（ビン）について補間する。すなわち、ヒストグラム補間部３６は、角度ヒストグラムとしての柱状グラフにおける柱の幅（ビン幅）を小さくし、その角度ヒストグラムを傾き算出部３７に供給する。
【００４３】
傾き算出部３７は、ヒストグラム補間部３６からの、角度補間された角度ヒストグラムにおける頻度（所定の強度以上の画素数）のピーク（以下、単に、ピークという）から、入力画像の傾き補正角度を算出し、その傾き補正角度を角度制限部３８に供給する。なお、傾き算出部３７の詳細な構成については、図２を参照して後述する。
【００４４】
角度制限部３８は、傾き算出部３７からの傾き補正角度と所定の角度（以下、制限角度という）とを比較し、傾き補正角度が制限角度より小さい場合、その傾き補正角度をそのまま画像回転部２２に供給し、傾き補正角度が制限角度より大きい場合には、傾きなしを示す傾き補正角度を画像回転部２２に供給する。
【００４５】
［傾き算出部の構成例］
ここで、図２を参照して、傾き算出部３７の詳細な構成例について説明する。
【００４６】
図２の傾き算出部３７は、最大ピーク判定部５１、ピーク比較部５２、角度比較部５３、ピーク近傍平均比較部５３、および傾き補正角度出力部５４を備えている。
【００４７】
最大ピーク判定部５１は、ヒストグラム補間部３６からの、角度補間された角度ヒストグラムにおいて、最大ピークが十分大きいか否かを判定する。
【００４８】
ピーク比較部５２は、角度ヒストグラムにおける水平側のピークと、垂直側のピークとを比較する。水平側のピークおよび垂直側のピークは、それぞれ、入力画像における水平線由来のピークおよび垂直線由来のピークを表している。
【００４９】
ピーク近傍平均比較部５３は、角度ヒストグラムにおける水平側のピークおよびそのピークが表れる角度に直交する角度におけるピークそれぞれの近傍の値の平均（以下、水平側直交ペアという）の和と、垂直側のピークおよびそのピークが表れる角度に直交する角度におけるピークそれぞれの近傍の値の平均（以下、垂直側直交ペアという）の和とを比較する。
【００５０】
傾き補正角度出力部５４は、最大ピーク判定部５１、ピーク比較部５２、およびピーク近傍平均比較部５３による判定や比較の結果に基づいて、入力画像の傾き補正角度を決定し、角度制限部３８に供給（出力）する。
【００５１】
［画像処理装置による画像傾き補正処理］
次に、図３のフローチャートを参照して、画像処理装置１１によって実行される、画像傾き補正処理について説明する。
【００５２】
ステップＳ１１において、有効領域設定部３１は、入力画像において、デジタルカメラ等による撮影時の歪曲収差の影響が出やすく、注目すべき被写体が存在する可能性の低い画像端を除いた領域を有効領域として設定する。
【００５３】
ここで、図４を参照して、有効領域設定部３１による有効領域の設定について説明する。図４の左側に示されるように、横長の入力画像６１が入力された場合、有効領域設定部３１は、入力画像６１における左端の領域６１−１および右端の領域６１−２を除いた、中央の正方領域６１−３を有効領域として設定する。また、図４の右側に示されるように、縦長の入力画像６２が入力された場合、有効領域設定部３１は、入力画像６２における上端の領域６２−１および下端の領域６２−２を除いた、中央の正方領域６２−３を有効領域として設定する。これによって、画像処理装置１１において処理の対象となる画像が小さくなるので、後段の処理における計算コストを低くすることができる。また、歪曲収差の影響が出やすい領域を除いているので、後段の処理の精度を高めることができる。
【００５４】
有効領域設定部３１は、入力画像から設定した有効領域を切出し、その画像を周波数領域変換部３２に供給する。
【００５５】
なお、有効領域設定部３１が、入力画像における画像端の領域に対して歪補正を行うようにすることで、入力画像全体を有効領域とするようにしてもよい。
【００５６】
ステップＳ１２において、周波数領域変換部３２は、有効領域設定部３１からの有効領域の入力画像に対して、２次元FFTを用いて周波数領域への変換を行い、その結果得られたパワースペクトル画像を画素補間部３３に供給する。
【００５７】
ステップＳ１３において、画素補間部３３は、図５に示される、周波数領域変換部３２からのパワースペクトル画像において、補間前の画素であるオリジナル画素を、角度θ方向の補間画素で補間する。
【００５８】
図５のパワースペクトル画像において、角度θは、補間画素として注目する注目画素の垂直周波数成分が正であるとき、水平周波数軸の正側と、点Ｏと注目画素の画素位置とを結んだ線分とのなす角度である。また、角度θは、補間画素として注目する注目画素の垂直周波数成分が負であるとき、水平周波数軸の負側と、点Ｏと注目画素の画素位置とを結んだ線分とのなす角度である。これにより、補間画素の画素位置を決定する角度θは、０乃至179度の範囲で１度ずつ与えられる。
【００５９】
なお、画素の補間処理においては、０度方向（水平周波数軸方向）および９０度方向（垂直周波数軸方向）のオリジナル画素（基準画素）の画素数を基準とするため、この２方向については補間処理を行わない。ここで、角度θ（単位は度）について、以下では、θa≦θ≦θbとなる範囲を［θa，θb］と表し、θa＜θ＜θbとなる範囲を（θa，θb）と表すこととする。したがって、補間画素の画素位置を決定する角度θは、（0,90），（90,180）で１度ずつ与えられる。
【００６０】
ここで、図６を参照して、（0,90）（いわゆる第１象限）で与えられる角度θについての補間画素の決定について説明する。
【００６１】
図６に示されるように、パワースペクトル画像におけるオリジナル画素のうちの所定の隣接４画素をP00，P10，P01，P11とし、これらによって補間される補間画素をP'とする。ここで、図６において、オリジナル画素P00と補間画素P'との水平距離αおよび垂直距離βは、以下の式（１）および式（２）で表される。
【００６２】
【数１】
2011090437.tif 000003
【００６３】
【数２】
2011090437.tif 000004
【００６４】
なお、式（１）および式（２）において、int(a)は、値ａの小数点以下を切り捨てる関数である。また、パラメータｍは、角度θ方向における点Ｏから補間画素の画素位置をP'までの距離を表しており、入力画像の幅をin_widthとすると、０乃至in_width/2の範囲を１ステップずつ変化するパラメータである。ここでいう１ステップとは、図５における水平周波数軸および垂直周波数軸上に並ぶ基準画素の間隔である。したがって、同一のパラメータｍで与えられ、角度θが異なる補間画素は、点Ｏを中心とした同一円周上に配置される。
【００６５】
ここで、オリジナル画素の隣接４画素P00，P10，P01，P11、および補間画素P'の強度を、それぞれ同様の記号を用いて、P00，P10，P01，P11、およびP'で表すものとすると、補間画素の強度P'は、以下の式（３）で表される。
【００６６】
【数３】
2011090437.tif 000005
【００６７】
なお、（90,180）（いわゆる第２象限）で与えられる角度θについての補間画素、また、注目画素の垂直周波数成分が負である場合の（0,90），（90,180）（いわゆる第３，４象限）で与えられる角度θについての補間画素についても、上述と同様にして決定される。
【００６８】
このようにして、画素補間部３３は、角度θおよびパラメータｍ毎に、補間画素を決定し、画素補間されたパワースペクトル画像をヒストグラム作成部３４に供給する。
【００６９】
ステップＳ１４において、ヒストグラム作成部３４は、画素補間部３３からの、画素補間されたパワースペクトル画像において、１度毎に、強度が所定の閾値以上である画素の画素数を集計し、ビン幅（柱の幅）１度、ビン数（柱の数）180の角度ヒストグラムを作成する。
【００７０】
ここで、図７を参照して、ヒストグラム作成部３４による角度ヒストグラムの作成について説明する。
【００７１】
図７左側には、画素補間部３３からの、画素補間されたパワースペクトル画像が示されており、図７右側には、ビン幅１度、ビン数180の角度ヒストグラムが示されている。
【００７２】
図７左側のパワースペクトル画像において、強度が所定の閾値以上である画素は白抜きの丸で示されており、強度が所定の閾値より小さい画素は黒塗りの丸で示されている。図７左側のパワースペクトル画像においては、図中破線で示されるように、所定の閾値以上の強度の画素は、特定の２つの角度方向に多く配置されている。
【００７３】
図７右側の角度ヒストグラムにおいて、横軸は角度を表し、縦軸は頻度（画素数）を表している。図７右側の角度ヒストグラムの横軸には、-0.5度から179.5度までの角度が１度ずつ与えられている。図７右側の角度ヒストグラムにおいては、29.5乃至30.5度のビン、および、119.5乃至120.5度のビンで、ピークが立っている（頻度が高くなっている）。このピークは、図７左側のパワースペクトル画像において、所定の閾値以上の強度の画素が配置されている２つの角度方向に対応している。
【００７４】
なお、角度ヒストグラムの作成において、パワースペクトル画像のDC近傍の成分（低周波成分）や高周波成分には、エイリアシングやノイズ等、傾きとは関係のない成分が含まれているため、特定の周波数範囲内の画素の数を集計するようにする。すなわち、下限（低周波側）の周波数（下限周波数）をf_th_lowとし、上限（高周波側）の周波数（上限周波数）をf_th_upとすると、ヒストグラム作成部３４は、以下の式（４）が成り立つ範囲でヒストグラムを作成する。
【００７５】
【数４】
2011090437.tif 000006
【００７６】
なお、式（４）において、fxおよびfyは、それぞれパワースペクトル画像における画素の水平周波数および垂直周波数を表している。また、fNyをナイキスト周波数とすると、例えば、下限周波数f_th_lowおよび上限周波数f_th_up=fNy/2は、以下の式（５）で与えられる。
【００７７】
【数５】
2011090437.tif 000007
【００７８】
このようにして、ヒストグラム作成部３４は、角度ヒストグラムを作成し、作成した角度ヒストグラムを平滑化部３５に供給する。
【００７９】
ステップＳ１５において、平滑化部３５は、ヒストグラム作成部３４からの角度ヒストグラムに含まれるノイズ成分を除去するために、その角度ヒストグラムに対して、例えば、サイズが１５×１のガウシアンフィルタを用いる。このとき、179度と０度との間でも角度を連続的に変化させるため、179度および０度それぞれの近傍においても、平滑化処理が行われる。平滑化部３５は、平滑化された角度ヒストグラムをヒストグラム補間部３６に供給する。
【００８０】
ステップＳ１６において、ヒストグラム補間部３６は、平滑化部３５からの、平滑化された角度ヒストグラムにおけるビン幅を小さくする。例えば、ヒストグラム補間部３６は、１次元信号の補間処理の１つとして、３次Ｂスプライン補間を用いて、角度ヒストグラムにおけるビン幅を、１度から0.1度にする。
【００８１】
ここで、一般的な３次Ｂスプライン補間について説明する。３次Ｂスプライン補間は、以下の式（６）および式（７）で表される。
【００８２】
【数６】
2011090437.tif 000008
【００８３】
【数７】
2011090437.tif 000009
【００８４】
ここで、式（６）におけるbi（ｉは１乃至４）は、３次Ｂスプラインの基底関数であり、ｔは、０乃至１の間で定義されるパラメータである。また、式（７）におけるxiおよびyiは、図８に示されるX-Y座標空間における、オリジナル（補間前）の値としての４点のｘ座標およびｙ座標を示しており、xおよびyは、図８に示されるX-Y座標空間における、補間後の値としてのｘ座標およびｙ座標を示している。図８に示される３次Ｂスプライン補間においては、補間区間１乃至３のそれぞれに含まれるオリジナルの値４点に対して、補間区間毎に補間処理が行われ、最終的に、x=1およびx=5であるオリジナルの値の間の補間処理が行われる。
【００８５】
本実施の形態においては、角度ヒストグラムにおける角度（ビン）を図８のｘ座標、角度ヒストグラムにおける頻度をｙ座標に適用することによって、ビン幅を小さくすることができる。なお、このとき、179度と０度との間でも角度を連続的に変化させるため、179度および０度それぞれの近傍においても、補間処理が行われる。
【００８６】
このような補間処理によって、角度ヒストグラムにおけるビン幅が小さくなるので、後述する傾き算出処理における算出精度を向上させることができる。
【００８７】
このようにして、ヒストグラム補間部３６は、角度ヒストグラムを補間し、傾き算出部３７に供給する。
【００８８】
ステップＳ１７において、傾き算出部３７は、傾き算出処理を実行し、ヒストグラム補間部３６からの、角度補間された角度ヒストグラムにおけるピークから、入力画像の傾き補正角度を算出する。
【００８９】
角度ヒストグラムには、入力画像に含まれる水平線、垂直線、およびその他の直線のいずれかに由来のピークが存在する。したがって、どのピークに基づいて傾き補正角度を算出するかを決定する必要がある。特に、水平線および垂直線由来のピークと、その他の直線由来のピークとを区別して、水平線および垂直線由来のピークを正しく選択することが求められる。
【００９０】
ここで、水平線由来のピークをPH、垂直線由来のピークをPV、その他の直線由来のピークをPOとすると、入力画像に45度以上の傾きがない場合、角度ヒストグラムにおいて、ピークPH、PV、POはそれぞれ、[45，135）、［0，45）および［135，180）、［0，180）の範囲に存在すると考えられる。
【００９１】
また、角度ヒストグラムにおいて、ピークPH、PV、POのうちの注目するピークをPとしたとき、以下では、ピークPの値（頻度）をval_P、ピークPが現れるビン（角度）をbin_P、ピークPの近傍の平均（平均値）をavg_Pと表す。ここで、ピークPの近傍平均avg_Pが、ビンbin_Pの前後σ度についての平均であるとすると、近傍平均avg_Pは、以下の式（８）で表される。
【００９２】
【数８】
2011090437.tif 000010
【００９３】
［傾き算出部による傾き算出処理］
ここで、図９のフローチャートを参照して、傾き算出部３７によって実行される、傾き算出処理について説明する。
【００９４】
ステップＳ３１において、最大ピーク判定部５１は、ヒストグラム補間部３６からの、角度補間された角度ヒストグラムにおいて、最大ピークが十分大きいか否かを判定する。より具体的には、ピークPHの値val_PHおよびピークPVの値val_PVについて、以下に示す式（９）が成り立つか否かを判定する。
【００９５】
【数９】
2011090437.tif 000011
【００９６】
なお、式（９）において、Max（a,b）は値ａまたはｂのうちの大きい値を表し、val_thは、最大ピーク値に関する閾値を表している。
【００９７】
ステップＳ３１において、最大ピークが十分大きくないと判定された場合、すなわち、式（９）が成り立たない場合、処理はステップＳ３２に進む。
【００９８】
ステップＳ３２において、傾き補正角度出力部５４は、最大ピーク判定部５１による判定の結果から、角度ヒストグラムの信頼性が足りないとして、傾きなしとする。すなわち、傾き補正角度出力部５４は、傾き補正角度θSについて、以下の式（１０）を適用し、その傾き補正角度θSを角度制限部３８に出力する。
【００９９】
【数１０】
2011090437.tif 000012
【０１００】
一方、ステップＳ３１において、最大ピークが十分大きいと判定された場合、すなわち、式（９）が成り立つ場合、処理はステップＳ３３に進む。
【０１０１】
ステップＳ３３において、ピーク比較部５２は、角度ヒストグラムにおける水平側（水平線由来）のピークPHの値val_PHと垂直側（垂直線由来）のピークPVの値val_PVとの差が所定の閾値val_diff_thより大きいか否かを判定する。すなわち、ピーク比較部５２は、以下の式（１１）が成り立つか否かを判定する。
【０１０２】
【数１１】
2011090437.tif 000013
【０１０３】
ステップＳ３３において、水平側のピークPHの値val_PHと垂直側のピークPVの値val_PVとの差が所定の閾値val_diff_thより大きいと判定された場合、処理はステップ３４に進む。この場合は、入力画像が、水平線が顕著な画像、例えば、水面が写った画像等であるような場合に多く、単純に、水平側のピーク値val_PHと垂直側のピーク値val_PVとを比較して、ピーク値の大きいほうのビンに基づいて傾き補正角度が求められる。
【０１０４】
ステップＳ３４において、ピーク近傍平均比較部５３は、垂直側ピークが水平側ピークより大きいか否かを判定する。より具体的には、ピーク近傍平均比較部５３は、垂直側ピークPVの近傍平均avg_PVが、水平側ピークPHの近傍平均avg_PHより大きいか否か、すなわち、以下の式（１２）が成り立つか否かを判定する。
【０１０５】
【数１２】
2011090437.tif 000014
【０１０６】
なお、式（１２）におけるavg_offsetは、水平側ピークのビンに基づいて傾きが補正されやすくするためのオフセット値である。
【０１０７】
ステップＳ３４において、垂直側ピークPVの近傍平均avg_PVが、水平側ピークPHの近傍平均avg_PHより大きくないと判定された場合、すなわち、水平側ピークが強い場合、処理はステップＳ３５に進み、傾き補正角度出力部５４は、以下の式（１３）で示される、水平側ピークPHのビンに基づいた傾き補正角度θSを角度制限部３８に出力する。
【０１０８】
【数１３】
2011090437.tif 000015
【０１０９】
一方、ステップＳ３４において、垂直側ピークPVの近傍平均avg_PVが、水平側ピークPHの近傍平均avg_PHより大きいと判定された場合、すなわち、垂直側ピークが強い場合、垂直側ピークのビンに基づいて傾き補正角度が求められるので、処理はステップＳ３６に進む。
【０１１０】
ステップＳ３６において、傾き補正角度出力部５４は、垂直側ピークPVのビンbin_PVが45度以下であるか否かを判定する。
【０１１１】
ステップＳ３６において、垂直側ピークPVのビンbin_PVが45度以下であると判定された場合、処理はステップＳ３７に進み、傾き補正角度出力部５４は、垂直側ピークPVのビンbin_PVを傾き補正角度θSとして角度制限部３８に出力する。
【０１１２】
一方、ステップＳ３６において、垂直側ピークPVのビンbin_PVが45度以下でないと判定された場合、すなわち、ビンbin_PVが135度より大きい場合、処理はステップＳ３８に進み、傾き補正角度出力部５４は、垂直側ピークPVのビンbin_PVを補正して傾き補正角度θSとして角度制限部３８に出力する。
【０１１３】
すなわち、ステップＳ３６乃至Ｓ３８の処理によって、以下の式（１４）で示される傾き補正角度θSが出力される。
【０１１４】
【数１４】
2011090437.tif 000016
【０１１５】
ところで、ステップＳ３３において、水平側のピークPHの値val_PHと垂直側のピークPVの値val_PVとの差が所定の閾値val_diff_thより大きくないと判定された場合、処理はステップＳ３９に進む。この場合は、顕著なピークが複数存在するような場合であり、垂直側ピークPVの近傍平均avg_PVと、水平側ピークPHの近傍平均avg_PHとを単純に比較すると誤った傾き補正角度が求められてしまう可能性がある。
【０１１６】
そこで、以下では、水平側ピークPHのビンbin_PHと直交する（±90度異なる）ビン（水平側直交ビン）bin_PH_Oと、垂直側ピークPVのビンbin_PVと直交するビン（垂直側直交ビン）bin_PV_Oとを用いた比較を行う。水平側直交ビンbin_PH_Oおよび垂直側直交ビンbin_PV_Oは、それぞれ、以下の式（１５）および式（１６）で表される。
【０１１７】
【数１５】
2011090437.tif 000017
【０１１８】
【数１６】
2011090437.tif 000018
【０１１９】
まず、ステップＳ３９において、ピーク近傍平均比較部５３は、垂直側ピークPVと垂直側直交ビンbin_PV_Oにおけるピークそれぞれの近傍の値の平均avg_PVおよびavg_PV_O（垂直側直交ペア）の和が、水平側ピークPHと水平側直交ビンbin_PH_Oにおけるピークそれぞれの近傍の値の平均avg_PH_Oおよびavg_PH_O（水平側直交ペア）の和より大きく、かつ、垂直側直交ペアavg_PVおよびavg_PV_Oの比が１に近いか否かを判定する。すなわち、ピーク近傍平均比較部５３は、以下に示される式（１７）が成り立つか否かを判定する。
【０１２０】
【数１７】
2011090437.tif 000019
【０１２１】
なお、式（１７）において、orth_ratio_thは、直交ペアの比に関する閾値である。
【０１２２】
ステップＳ３９において、上述した式（１７）が成り立つと判定された場合、処理はステップＳ３６に進み、上述の式（１４）で示したように、垂直側ピークPVのビンbin_PVに基づいた傾き補正角度θSが出力される。
【０１２３】
一方、ステップＳ３９において、上述した式（１７）が成り立たないと判定された場合、処理はステップＳ４０に進む。
【０１２４】
ステップＳ４０において、ピーク近傍平均比較部５３は、水平側直交ペアavg_PH_Oおよびavg_PH_Oの和が、垂直側直交ペアavg_PVおよびavg_PV_Oの和より大きく、かつ、水平側直交ペアavg_PH_Oおよびavg_PH_Oの比が１に近いか否かを判定する。すなわち、ピーク近傍平均比較部５３は、以下に示される式（１８）が成り立つか否かを判定する。
【０１２５】
【数１８】
2011090437.tif 000020
【０１２６】
なお、式（１８）において、orth_ratio_thは、式（１７）と同様、直交ペアの比に関する閾値である。
【０１２７】
ステップＳ４０において、上述した式（１８）が成り立つと判定された場合、処理はステップＳ３５に進み、上述の式（１３）で示したように、水平側ピークPHのビンbin_PHに基づいた傾き補正角度θSが出力される。
【０１２８】
すなわち、ステップＳ３９，Ｓ４０においては、直交ペアの和を比較し、大きい方の比が１に近い場合に、その大きい側のビンに基づいて傾き補正角度θSが求められる。
【０１２９】
また、ステップＳ４０において、上述した式（１８）が成り立たないと判定された場合、処理はステップＳ３２に進み、傾き補正角度出力部５４は、傾きなしとする傾き補正角度θS（式（１０））を出力する。
【０１３０】
以上の処理によれば、角度ヒストグラムにおける、水平線由来のピークおよび垂直線由来のピークから、入力画像の傾き補正角度を算出することができる。また、一般的な歪みのない画像においては水平線と垂直線とは直交しており、以上の処理においては、このことが角度ヒストグラムに現れることを用いている。これによって、傾き補正角度θSの誤算出を減少させることができる。
【０１３１】
図３のフローチャートに戻り、ステップＳ１８において、角度制限部３８は、制限角度θLが０乃至45度の範囲で任意に設定されるものとして、傾き算出部３７からの傾き補正角度θSと制限角度θLとを比較する。比較の結果、傾き補正角度θSが制限角度θLより小さい場合、すなわち、以下の式（１９）が成り立つ場合、角度制限部３８は、その傾き補正角度をそのまま画像回転部２２に供給する。
【０１３２】
【数１９】
2011090437.tif 000021
【０１３３】
また、傾き補正角度θSが制限角度θLより大きい場合には、入力画像における傾きは、撮影時にユーザが意図的に傾けたことによるものであるとして、傾き補正角度θS＝０とした傾き補正角度を画像回転部２２に供給する。
【０１３４】
ステップＳ１９において、画像回転部２２は、例えば、アフィン変換等の手法により、傾き検出部２１からの傾き補正角度の分だけ入力画像を回転し、その画像を出力画像として出力する。
【０１３５】
ここで、図１０を参照して、画像回転部２２による入力画像の回転の処理について説明する。
【０１３６】
図１０に示されるように、図中上側の入力画像８１は、画像回転部２２によって、傾き補正角度θS分だけ回転され、図中左下の出力画像８２が出力される。出力画像８２は、回転された入力画像８１外の領域を輝度信号の信号レベルを０として（黒部分として）矩形化された画像である。入力画像８１の幅をin_widthとし、高さをin_heightとすると、出力画像の幅dst_widthおよび高さdst_heightは、以下の式（２０）および式（２１）で表される。
【０１３７】
【数２０】
2011090437.tif 000022
【０１３８】
【数２１】
2011090437.tif 000023
【０１３９】
なお、図１０の出力画像８２は、人の目には、その黒部分の影響で傾いて見えてしまうことがある。そこで、図１０の右下に示されるように、出力画像８２から黒部分が含まれない最大の矩形領域８４を出力画像としてもよい。
【０１４０】
図１０において、出力画像８２の左上の頂点を原点として、右方向をｘ方向、下方向をｙ方向とすると、出力画像８２における矩形領域８４の開始点rect_xおよびrect_yは、以下の式（２２）および式（２３）で表される。
【０１４１】
【数２２】
2011090437.tif 000024
【０１４２】
【数２３】
2011090437.tif 000025
【０１４３】
なお、式（２２）および式（２３）において、αは、図１０に示されるように、入力画像８１の上辺（または下辺）と対角線とのなす角度を表している。
【０１４４】
ここで、入力画像８１のアスペクト比をin_aspect_ratioとすると、以下の式（２４）が成り立つ。
【０１４５】
【数２４】
2011090437.tif 000026
【０１４６】
そして、矩形領域８４の幅rect_widthおよび高さrect_heightは、tanαの値によって、以下のように求められる。
【０１４７】
すなわち、tanα≦１のとき、矩形領域８４の幅rect_widthおよび高さrect_heightは、以下の式（２５）および式（２６）で表される。
【０１４８】
【数２５】
2011090437.tif 000027
【０１４９】
【数２６】
2011090437.tif 000028
【０１５０】
また、tanα＞１のとき、矩形領域８４の幅rect_widthおよび高さrect_heightは、以下の式（２７）および式（２８）で表される。
【０１５１】
【数２７】
2011090437.tif 000029
【０１５２】
【数２８】
2011090437.tif 000030
【０１５３】
なお、以上においては、入力画像のアスペクト比を固定にしており、これを考慮しない場合には、矩形領域８４の幅rect_widthおよび高さrect_heightは、上述の式（２５）および式（２７）で表される。
【０１５４】
以上の処理によれば、画像処理装置１１は、入力画像のパワースペクトル画像から作成された角度ヒストグラムのピークから、入力画像の傾き補正角度を算出するので、測距センサ等を用いることなく、また、画像を予め決めておいた角度毎に回転させた上に、その角度毎にヒストグラムを作成する必要もないので、より簡単な構成で、かつ、より低い計算コストで画像の傾きを補正することができる。
【０１５５】
また、画像処理装置１１を、デジタルカメラ等の撮影装置に搭載した場合には、ユーザは、撮影時に水平が保たれているかを気にすることなく撮影することができる。一方、画像処理装置１１は、センサ情報等を用いないので、撮影装置以外の電子機器にももちろん搭載可能である。
【０１５６】
以上においては、入力画像を周波数変換したパワースペクトル画像に基づいて、入力画像の傾きを検出して補正する構成について説明してきたが、以下においては、入力画像に含まれる複数の顔の傾きに基づいて、入力画像の傾きを検出して補正する構成について説明する。
【０１５７】
＜２．第２の実施の形態＞
［画像処理装置の構成例］
図１１は、本発明を適用した画像処理装置の他の実施の形態の機能構成例を示している。
【０１５８】
図１１の画像処理装置１１１は、例えば、デジタルカメラ等の撮影装置やその他の装置から入力された入力画像の傾きを検出し、その傾きの分だけ入力画像を回転して傾きを補正した画像を、出力画像として出力する。
【０１５９】
画像処理装置１１１は、傾き検出部１２１および画像回転部１２２から構成される。
【０１６０】
傾き検出部１２１は、その詳細は後述するが、画像処理装置１１１に入力された入力画像の傾きを検出し、その傾きを補正する角度（傾き補正角度）を画像回転部１２２に供給する。
【０１６１】
画像回転部１２２は、傾き検出部１２１からの傾き補正角度の分だけ入力画像を回転し、その画像を出力画像として出力する。
【０１６２】
次に、図１の傾き検出部１２１の詳細について説明する。傾き検出部１２１は、顔検出部１３１、傾き算出部１３２、および角度制限部１３３から構成される。
【０１６３】
顔検出部１３１は、入力画像から顔を検出し、顔を検出する領域である顔検出領域の位置および大きさに基づいて顔画像を抽出して、傾き算出部１３２に供給する。
【０１６４】
傾き算出部１３２は、顔画像集計部１３２ａ、傾き角度計算部１３２ｂ、および平均値算出部１３２ｃを備えている。顔画像集計部１３２ａは、顔検出部１３１からの顔画像の数を集計し、顔画像（顔）の数が所定の閾値以上であるか否かを判定する。傾き角度計算部１３２ｂは、顔の数が所定の閾値以上である場合、それぞれの顔の傾き（傾き角度）を算出する。平均値算出部１３２ｃは、それぞれの顔の傾きの平均値を求め、符号を変えて、傾き補正角度として角度制限部１３３に供給する。
【０１６５】
角度制限部１３３は、傾き算出部１３２からの傾き補正角度と制限角度とを比較し、傾き補正角度が制限角度より小さい場合、その傾き補正角度をそのまま画像回転部１２２に供給し、傾き補正角度が制限角度より大きい場合には、傾きなしを示す傾き補正角度を画像回転部１２２に供給する。
【０１６６】
［画像処理装置による画像傾き補正処理］
次に、図１２のフローチャートを参照して、画像処理装置１１１によって実行される、画像傾き補正処理について説明する。
【０１６７】
ステップＳ１１１において、顔検出部１３１は、入力画像から顔を検出し、顔を検出する領域である顔検出領域の位置および大きさに基づいて顔画像を抽出して、傾き算出部１３２に供給する。なお、顔検出部１３１による顔の検出は、例えば、様々な顔画像について、顔画像とその属性を予め学習しておき、得られた学習データを図示せぬ記録部に記録させた上で、処理の際に取得することで実現される。
【０１６８】
ステップＳ１１２において、顔画像集計部１３２ａは、顔検出部１３１からの顔画像（顔）の数が所定の閾値以上であるか否かを判定する。
【０１６９】
例えば、図１３に示されるように、入力画像１４１に４つの顔１５１乃至１５４が含まれていて、所定の閾値が３と設定されていた場合、顔画像集計部１３２ａは、顔の数が閾値以上であると判定する。
【０１７０】
ステップＳ１１２において、顔の数が所定の閾値以上であると判定された場合、処理はステップＳ１１３に進み、傾き角度計算部１３２ｂは、それぞれの顔の傾き（傾き角度）を算出する。より具体的には、傾き角度計算部１３２ｂは、例えば、特開２００９−１１００４８に開示されているように、図１３の顔１５１乃至１５４のそれぞれにおける両目の中心を結ぶ線分の傾きの角度によって顔の傾き角度θ1乃至θ4を算出する。なお、傾き角度計算部１３２ｂは、上述した手法に限らず、その他の手法によって顔の傾き角度を算出するようにしてもよい。
【０１７１】
ステップＳ１１４において、平均値算出部１３２ｃは、それぞれの顔の傾き角度の平均値を求め、符号を変えて（“−１”を乗算して）、その値を傾き補正角度θSとして、角度制限部１３３に供給する。より具体的には、平均値算出部１３２ｃは、以下の式（２９）によって求められる角度θSを、入力画像の傾き補正角度として角度制限部１３３に供給する。
【０１７２】
【数２９】
2011090437.tif 000031
【０１７３】
なお、式（２９）において、fnumは、顔の数を表している。したがって、図１３の例においては、傾き補正角度θS=−(θ1+θ2+θ3+θ4)/4となる。
【０１７４】
ステップＳ１１５において、角度制限部１３３は、傾き算出部１３２からの傾き補正角度θSと制限角度θLとを比較し、傾き補正角度θSが制限角度θLより小さい場合、その傾き補正角度θSをそのまま画像回転部１２２に供給し、傾き補正角度θSが制限角度θLより大きい場合には、傾き補正角度θS＝０とした傾き補正角度を画像回転部１２２に供給する。なお、角度制限部１３３による傾き補正角度θSと制限角度θLと比較の処理は、図３のフローチャートのステップＳ１８における角度制限部３８による処理と同様であるので、その詳細な説明は省略する。
【０１７５】
ステップＳ１１６において、画像回転部１２２は、例えば、アフィン変換等の手法により、傾き検出部１２１からの傾き補正角度θSの分だけ入力画像を回転し、その画像を出力画像として出力する。なお、画像回転部１２２による入力画像を回転の処理は、図３のフローチャートのステップＳ１９における画像回転部２２による処理と同様であるので、その詳細な説明は省略する。
【０１７６】
以上の処理によれば、画像処理装置１１１は、入力画像に含まれる複数の顔の傾きに基づいて、入力画像の傾き補正角度を算出するので、測距センサ等を用いることなく、また、画像を予め決めておいた角度毎に回転させた上に、その角度毎にヒストグラムを作成する必要もないので、より簡単な構成で、かつ、より低い計算コストで画像の傾きを補正することができる。特に、上述した処理は、集合写真等、複数の顔が存在する画像に対して有効である。
【０１７７】
また、画像処理装置１１１を、デジタルカメラ等の撮影装置に搭載した場合には、ユーザは、撮影時に水平が保たれているかを気にすることなく撮影することができる。一方、画像処理装置１１１は、センサ情報等を用いないので、撮影装置以外の電子機器にももちろん搭載可能である。
【０１７８】
以上においては、入力画像から得られる情報（パワースペクトル、顔の傾き）に基づいて、入力画像の傾きを検出し、その傾きを補正する画像処理装置の構成および処理について説明してきた。以下では、入力画像の傾きを検出する、画像処理装置１１の傾き検出部２１、または画像処理装置１１１の傾き検出部１２１が、他の画像処理装置に設けられた実施の形態について説明する。
【０１７９】
＜３．第３の実施の形態＞
［画像処理装置の構成例］
図１４は、本発明を適用した画像処理装置のさらに他の実施の形態の機能構成例を示している。
【０１８０】
図１４の画像処理装置２１１は、例えば、デジタルカメラ等の撮影装置から入力された入力画像の注目領域とシーンとに応じた構図パターンを設定するとともに、入力画像の傾きを検出し、傾きに応じた構図パターンを基に、最適な切出し領域で切出した画像を、出力画像として出力する。
【０１８１】
画像処理装置２１１は、注目領域抽出部２２１、シーン判別部２２２、構図パターン設定部２２３、傾き検出部２２４、構図解析部２２５、画像回転部２２６、および画像切出し部２２７から構成される。
【０１８２】
画像処理装置２１１に入力された入力画像は、注目領域抽出部２２１、シーン判別部２２２、傾き検出部２２４、および画像回転部２２６に供給される。
【０１８３】
注目領域抽出部２２１は、入力画像において注目する注目領域を抽出し、その注目領域を表す注目領域情報を、構図パターン設定部２２３に供給する。注目領域は、入力画像における被写体（物体）を含む（囲む）矩形領域であり、入力画像中の被写体の数だけ設定され、抽出される。また、注目領域情報は、例えば、矩形領域の頂点の位置等とされる。
【０１８４】
図１５は、注目領域抽出部２２１の機能構成例を示している。
【０１８５】
注目領域抽出部２２１は、注目度算出部２３１、注目矩形領域決定部２３２、および顔矩形領域決定部２３３を備えている。
【０１８６】
注目度算出部２３１は、入力画像の各画素について特徴量を求め、その特徴量から画素毎の注目度を算出する。ここで、特徴量とは、画像のエッジ成分の大きさ、近傍画素との色相の差、画像の所定の領域における色分布、画像全体の平均色と各画素の色相の差などである。さらに、注目度算出部２３１は、画素毎の注目度（特徴量）から、１枚の入力画像に対応する注目度マップを生成し、注目矩形領域決定部２３２に供給する。注目度算出部２３１によって生成される注目度マップは、いわば、１枚の入力画像において注目すべき被写体が含まれる領域を表す情報である。
【０１８７】
また、注目度算出部２３１は、入力画像の各画素について求めた特徴量から、顔度（顔らしさ度）を算出し、１枚の入力画像に対応する顔度マップを生成し、顔矩形領域決定部２３３に供給する。注目度算出部２３１によって生成される顔度マップは、いわば、１枚の入力画像において注目すべき顔が含まれる領域を表す情報である。
【０１８８】
注目矩形領域決定部２３２は、注目度算出部２３１からの注目度マップを基に、注目矩形領域を決定し、その注目矩形領域を表す注目矩形領域情報を、構図パターン設定部２２３に供給する。より具体的には、注目矩形領域決定部２３２は、注目度マップにおいて、所定の閾値より高い注目度の画素（位置）を矩形の中心とし、その周辺で、他の閾値より低い注目度の画素（位置）を矩形の端点（頂点）とすることで、注目矩形領域を決定する。
【０１８９】
また、複数の注目矩形領域が決定された場合、矩形の中心同士が所定の距離より小さいときには、それらを併せて含む最小の矩形領域を、注目矩形領域とする。
【０１９０】
顔矩形領域決定部２３３は、注目度算出部２３１からの顔度マップを基に、顔矩形領域を決定し、その顔矩形領域を表す顔矩形領域情報を、構図パターン設定部２２３に供給する。より具体的には、顔矩形領域決定部２３３は、顔度マップにおいて、顔の鼻の画素（位置）を矩形の中心とし、その周辺で、顔度が急激に変化する（下がる）画素（位置）を矩形の端点（頂点）とすることで、顔矩形領域を決定する。
【０１９１】
なお、注目矩形領域決定部２３２によって得られる注目矩形領域情報と、顔矩形領域決定部２３３によって得られる顔矩形領域情報とを併せて注目領域情報という。
【０１９２】
シーン判別部２２２は、入力画像を周波数変換することで周波数情報を抽出し、その周波数情報を特徴量（ベクトル）として、入力画像のシーンを判別し、判別の結果得られる、シーンを表すシーン情報を構図パターン設定部２２３に供給する。より具体的には、シーン判別部２２２は、予め設定した学習用画像と、例えば、SVM（Support Vector Machines）等の機械学習とを用いてシーン判別を行う。
【０１９３】
SVMにおいては、２クラス判別（１対１の判別）が行われ、例えば、「海岸」のクラスとそれ以外のクラス、「田園風景」のクラスとそれ以外のクラス、「空」のクラスとそれ以外のクラス、「山」のクラスとそれ以外のクラス、・・・のように判定され、それぞれのスコアが比較され、最もスコアの高いクラスが、判別結果とされる。
【０１９４】
なお、シーン判別部２２２は、SVMを用いることとしたが、これに限らず、例えば、ニューラルネットワークを用いたパターン認識や、パターンマッチング等によるパターン認識を用いるようにしてもよい。
【０１９５】
構図パターン設定部２２３は、注目領域抽出部２２１からの注目領域情報の数と、シーン判別部２２２からのシーン情報とに基づいて、入力画像に対応する構図パターンを設定し、構図解析部２２５に供給する。構図パターンは、注目領域（被写体）の数と、シーンとに対応して予め決められている。構図パターンの詳細な説明については省略するが、構図パターンには、例えば、３分割構図、対比構図、放射線構図等がある。
【０１９６】
傾き検出部２２４は、画像処理装置２１１に入力された入力画像の傾きを検出し、その傾きを補正する角度（傾き補正角度）を、構図解析部２２５および画像回転部２２６に供給する。なお、傾き検出部２２４は、図１の画像処理装置１１における傾き検出部２１、または、図１１の画像処理装置１１１における傾き検出部１２１と同様の機能を有するので、その詳細な説明は省略する。
【０１９７】
構図解析部２２５は、構図パターン設定部２２３からの構図パターンを、傾き検出部２２４からの傾き補正角度に応じて回転させ、その構図パターンで切出される画像の、入力画像における最適な切出し領域を決定し、その最適切出し領域を画像回転部２２６に供給する。
【０１９８】
構図解析部２２５は、構図パターン回転部２２５ａ、構図モデル作成部２２５ｂ、安全モデル作成部２２５ｃ、ペナルティモデル作成部２２５ｄ、目的関数作成部２２５ｅ、および最適化部２２５ｆを備えている。
【０１９９】
構図パターン回転部２２５ａは、構図パターン設定部２２３からの構図パターンを、傾き検出部２２４からの傾き補正角度に応じて回転する。
【０２００】
構図モデル作成部２２５ｂは、構図パターン回転部２２５ａによって回転された構図パターンに基づいた切出し領域を表す構図モデルを作成する。構図モデルは、所定のエネルギー関数Ecで表される。
【０２０１】
安全モデル作成部２２５ｃは、切出し領域が小さくなりすぎるのを防ぐための安全モデルを作成する。安全モデルは、所定のエネルギー関数Esで表される。
【０２０２】
ペナルティモデル作成部２２５ｄは、切出し領域の入力画像からはみ出した領域の面積を評価するペナルティモデルを作成する。ペナルティモデルは、所定のエネルギー関数Epで表される。
【０２０３】
目的関数作成部２２５ｅは、構図モデルを表すエネルギー関数Ec、安全モデルを表すエネルギー関数Es、ペナルティモデルを表すエネルギー関数Epから、目的関数Eを作成する。
【０２０４】
最適化部２２５ｆは、目的関数Eを最小とする切出し領域を決定し、最適切出し領域として、画像回転部２２６に供給する。
【０２０５】
エネルギー関数Ec，Es，Ep、および目的関数Eの詳細については、後述することとする。
【０２０６】
画像回転部２２６は、構図解析部２２５からの最適切出し領域を入力画像に配置し、傾き検出部２２４からの傾き補正角度の分だけ入力画像を回転して、画像切出し部２２７に供給する。
【０２０７】
画像切出し部２２７は、画像回転部２２６からの、最適切出し領域が設定された入力画像から最適切出し領域の画像を切出し、出力する。
【０２０８】
［画像処理装置の画像切出し処理］
次に、図１６のフローチャートを参照して、図１４の画像処理装置２１１の画像切出し処理について説明する。
【０２０９】
ステップＳ２１１において、注目領域抽出部２２１は、入力画像に対応する注目度マップおよび顔度マップを生成する。より詳細には、注目度算出部２３１は、入力画像に対応する注目度マップを生成し、注目矩形領域決定部２３２に供給するとともに、入力画像に対応する顔度マップを生成し、顔矩形領域決定部２３３に供給する。
【０２１０】
ステップＳ２１２において、注目領域抽出部２２１は、注目度マップおよび顔度マップに基づいて、入力画像において注目する注目領域を抽出し、決定する。より詳細には、注目矩形領域決定部２３２は、注目度算出部２３１からの注目度マップを基に、注目矩形領域を決定し、その注目矩形領域を表す注目矩形領域情報を、構図パターン設定部２２３に供給する。また、顔矩形領域決定部２３３は、注目度算出部２３１からの顔度マップを基に、顔矩形領域を決定し、その顔矩形領域を表す顔矩形領域情報を、構図パターン設定部２２３に供給する。
【０２１１】
なお、ステップＳ２１２においては、注目領域として、注目矩形領域と顔矩形領域とを決定するようにしたが、顔矩形領域を、注目矩形領域としてまとめて処理するようにしてもよい。
【０２１２】
ステップＳ２１３において、シーン判別部２２２は、入力画像を周波数変換することで周波数情報を抽出し、その周波数情報を特徴量（ベクトル）として、入力画像のシーンを判別し、判別の結果得られる、シーンを表すシーン情報を構図パターン設定部２２３に供給する。
【０２１３】
ステップＳ２１４において、構図パターン設定部２２３は、注目領域抽出部２２１からの注目領域情報の数と、シーン判別部２２２からのシーン情報とに基づいて、入力画像に対応する構図パターンを設定し、構図解析部２２５に供給する。
【０２１４】
ここで、図１７を参照して、注目領域（被写体）の数と、シーンとに基づいて設定される構図パターンについて説明する。
【０２１５】
図１７においては、注目領域（被写体）の数と、シーンである「海岸」、「田園風景」、「空」、「山」、「高速道路」、「街路」、「街中」、「高層ビル」それぞれに対応して、種々の構図パターンが決められている。
【０２１６】
図１７によれば、例えば、シーンが「海岸」である入力画像において、注目領域の数が０であるとき（すなわち、海岸の風景のみのとき）には、構図パターンとして水平線構図が設定される。注目領域の数が１であるときには、構図パターンとして３分割構図と水平線構図とが設定される。また、注目領域の数が２乃至５であるときには、構図パターンとして対比構図と水平線構図が設定され、注目領域の数が６以上であるときには、構図パターンとして対比構図と水平線構図とが設定される。
【０２１７】
また、シーンが「田園風景」である入力画像において、注目領域の数が０であるとき（すなわち、田園風景のみのとき）には、構図パターンとして放射線構図が設定される。注目領域の数が１であるときには、構図パターンとして３分割構図と放射線構図とが設定される。また、注目領域の数が２乃至５であるときには、構図パターンとして対比構図と放射線構図が設定され、注目領域の数が６以上であるときには、構図パターンとして放射線構図とパターン構図とが設定される。
【０２１８】
同様にして、シーンが「空」である入力画像、「山」である入力画像、「高速道路」である入力画像、・・・における注目領域の数に応じて、構図パターンが設定される。
【０２１９】
なお、構図パターンが２つ設定されている場合、それぞれの構図を満たすような構図パターンが設定される。
【０２２０】
また、図１５で説明した、注目領域の数とシーンとに対応付けられた構図パターンは、予め設定されていてもよいし、ユーザによって適宜設定されるようにしてもよい。
【０２２１】
なお、以降においては、ステップＳ２１４において、入力画像の構図パターンとして、３分割構図が設定されたものとして説明する。
【０２２２】
図１６のフローチャートに戻り、ステップＳ２１５において、傾き検出部２２４は、画像処理装置２１１に入力された入力画像の傾きを検出し、その傾きを補正する角度（傾き補正角度θS）を、構図解析部２２５および画像回転部２２６に供給する。なお、ステップＳ２１５における処理は、図３のフローチャートのステップＳ１１乃至Ｓ１８における処理、または、図１２のフローチャートのステップＳ１１１乃至Ｓ１１５における処理と同様であるので、その詳細な説明は省略する。
【０２２３】
ステップＳ２１６において、構図解析部２２５は、構図パターン設定部２２３からの構図パターンを基に、切出し領域決定処理を実行し、その構図パターンで切出される画像の、入力画像における最適な切出し領域を決定する。
【０２２４】
［構図解析部の切出し領域決定処理］
ここで、図１８のフローチャートを参照して、図１６のフローチャートのステップＳ２１６における切出し領域決定処理について説明する。
【０２２５】
ステップＳ２３１において、構図解析部２２５の構図パターン回転部２２５ａは、傾き検出部２２４からの傾き補正角度θSに基づいて、角度−θSだけ、すなわち、入力画像の傾きと同じだけ、構図パターン設定部２２３からの構図パターンを回転する。
【０２２６】
ステップＳ２３２において、構図モデル作成部２２５ｂは、構図パターン回転部２２５ａによって回転された構図パターンに基づいた切出し領域を表す構図モデルを作成する。言い換えると、構図モデル作成部２２５ｂは、構図モデルについてのエネルギー関数Ecを求める。エネルギー関数Ecは、以下の式（３０）で与えられる。
【０２２７】
【数３０】
2011090437.tif 000032
【０２２８】
式（３０）において、SVAは、注目領域の面積を表しており、GDLhn，GDLvn，GDPnは、以下の式（３１）で与えられる。
【０２２９】
【数３１】
2011090437.tif 000033
【０２３０】
式（３１）において、LDh，LDv，PDは、それぞれ、３分割構図において水平方向を３分割する線（水平３分割線）、垂直方向を３分割する線（垂直３分割線）、水平３分割線と垂直３分割線との交点（３分割線交点）を示しており、Pnは注目領域の中心位置を示している。また、ｄは、切出し領域の対角線の長さであり、以下の式（３２）で与えられる。
【０２３１】
【数３２】
2011090437.tif 000034
【０２３２】
したがって、式（３０）におけるGDLhn，GDLvn，GDPnのそれぞれは、注目領域の中心位置が、水平３分割線、垂直３分割線、３分割線交点のそれぞれに近づくほど大きい値となる。
【０２３３】
また、式（３０）における係数αhn，αvn，αpnは、注目領域の幅、高さをそれぞれCrop_width，Crop_heightとしたとき、以下の式（３３）で与えられる注目領域のアスペクト比VA_aspect_rationに応じて、それぞれ、図１９の上段図乃至下段図で示されるように変化するパラメータである。図１９上段図乃至下段図において、横軸はアスペクト比VA_aspect_rationを、縦軸はそれぞれの係数αhn，αvn，αpnの値を示している。
【０２３４】
【数３３】
2011090437.tif 000035
【０２３５】
図１９の上段図によれば、アスペクト比VA_aspect_rationが０乃至r_minのとき、係数αhnは1.0となり、アスペクト比VA_aspect_rationがr_mid1より大きいとき、係数αhnは0.0となる。また、アスペクト比VA_aspect_rationがr_min乃至r_mid1のときは、アスペクト比VA_aspect_rationの増加に応じて、係数αhnは減少する。すなわち、式（３０）においては、注目領域が縦長であるときに、係数αhnが有効となる。
【０２３６】
図１９の中段図によれば、アスペクト比VA_aspect_rationが０乃至r_mid2のとき、係数αvnは0.0となり、アスペクト比VA_aspect_rationがr_maxより大きいとき、係数αvnは1.0となる。また、アスペクト比VA_aspect_rationがr_mid2乃至r_maxのときは、アスペクト比VA_aspect_rationの増加に応じて、係数αvnは増加する。すなわち、式（３０）においては、注目領域が横長であるときに、係数αvnが有効となる。
【０２３７】
図１９下段図によれば、アスペクト比VA_aspect_rationが０乃至r_min、または、r_maxより大きいとき、係数αpnは0.0となり、アスペクト比VA_aspect_rationがr_mid1乃至r_mid2のとき、係数αpnは1.0となる。また、アスペクト比VA_aspect_rationがr_min乃至r_mid1のときは、アスペクト比VA_aspect_rationの増加に応じて、係数αpnは増加し、アスペクト比VA_aspect_rationがr_mid2乃至r_maxのときは、アスペクト比VA_aspect_rationの増加に応じて、係数αpnは減少する。すなわち、式（３０）においては、注目領域が正方形に近い形であるときに、係数αpnが有効となる。
【０２３８】
以上のことより、式（３０）は、注目領域が、縦長であるならば水平３分割線に、横長であるならば垂直３分割線に、正方形に近い形であるならば３分割線交点に近づくほど、エネルギー関数Ecの値が大きくなることを示している。
【０２３９】
例えば、図２０の例においては、注目領域Rhは、縦長で水平３分割線に近く、注目領域Rvは、横長で垂直３分割線に近く、注目領域Rpは、正方形に近い形で３分割線交点に近いので、エネルギー関数Ecの値は大きくなる。
【０２４０】
以上においては、構図パターンとして３分割構図を用いた場合について説明してきたが、例えば、図２１に示されるように、３分割構図における１つの分割領域をさらに３分割した構図（９分割構図）を用いるようにしてもよい。９分割構図によれば、３分割構図と比較して、奥行きのある構図となることが期待される。
【０２４１】
９分割構図についてのエネルギー関数Ecは、以下の式（３４）で与えられる。
【０２４２】
【数３４】
2011090437.tif 000036
【０２４３】
式（３４）において、GdLhn，GdLvn，GdPnは、以下の式（３５）で与えられる。
【０２４４】
【数３５】
2011090437.tif 000037
【０２４５】
式（３５）において、Ldh，Ldv，Pdは、それぞれ、９分割構図において水平方向を９分割する線（水平９分割線）、垂直方向を９分割する線（垂直９分割線）、水平９分割線と垂直９分割線との交点（９分割線交点）を示している。ただし、図２１に示されるように、３分割構図における中央の分割領域内の、水平９分割線h1a,h1bと垂直９分割線v1a,v1bとの交点は含まれないものとする。
【０２４６】
また、式（３４）において、係数α3rdは、０乃至１の値をとり、式（３４）における、３分割構図についてのエネルギー関数の値と、９分割構図についてのエネルギー関数の値との割合を決めるパラメータである。例えば、適用する構図パターンを９分割構図のみとする場合は、α3rd＝０とすればよい。
【０２４７】
図１８のフローチャートに戻り、ステップＳ２３３において、安全モデル作成部２２５ｃは、切出し領域が小さくなりすぎるのを防ぐための安全モデルを作成する。言い換えると、安全モデル作成部２２５ｃは、安全モデルについてのエネルギー関数Esを求める。エネルギー関数Esは、以下の式（３６）で与えられる。
【０２４８】
【数３６】
2011090437.tif 000038
【０２４９】
ここで、図２２に示されるように、入力画像中の全注目領域を含む最小矩形を全注目矩形領域とし、その面積をSWVA、中心位置をPWVAとし、また、切出し領域の面積をSCrop、中心位置をPCropとする。さらに、全注目矩形領域と切出し領域との共通領域の面積をSWVA&Cropとする。
【０２５０】
このとき、式（３６）のエネルギー関数Esは、全注目矩形領域と切出し領域との共通領域の面積SWVA&Cropが大きいほど大きい値となる（式（３６）の第１項）。
【０２５１】
また、式（３６）のエネルギー関数Esは、切出し領域の中心位置PCropと、全注目矩形領域の中心位置をPWVAとの距離が近いほど大きい値となる（式（３６）の第２項）。
【０２５２】
ステップＳ２３４において、ペナルティモデル作成部２２５ｄは、切出し領域の入力画像からはみ出した領域の面積を評価するペナルティモデルを作成する。言い換えると、ペナルティモデル作成部２２５ｄは、ペナルティモデルについてのエネルギー関数Epを求める。エネルギー関数Epは、以下の式（３７）で与えられる。
【０２５３】
【数３７】
2011090437.tif 000039
【０２５４】
ここで、図２３に示されるように、切出し領域の面積をSCropとし、入力画像領域からはみ出した切出し領域の面積をSOverとする。
【０２５５】
このとき、式（３７）のエネルギー関数Epは、入力画像領域からはみ出した切出し領域の面積SOverが大きいほど大きい値となる。なお、演算量を削減するために、切出し領域が入力画像領域からはみ出したときは常に、エネルギー関数Ep＝１としてもよい。
【０２５６】
ステップＳ２３５において、目的関数作成部２２５ｅは、エネルギー関数Ec，Es，Epから、以下の式（３８）で与えられる目的関数Eを作成する。
【０２５７】
【数３８】
2011090437.tif 000040
【０２５８】
式（３８）において、係数CC，CS，CPは、それぞれ、エネルギー関数Ec，Es，Epについての調整係数である。式（３８）によれば、目的関数Eは、その値が小さいほど、得られる切出し領域が最適な切出し領域に近づくことを示している。
【０２５９】
ステップＳ２３６において、最適化部２２５ｆは、目的関数Eを最小とする切出し領域の位置情報を基に、最適切出し領域を決定して、画像切出し部２２７に供給する。より具体的には、最適化部２２５ｆは、例えば、粒子群最適化（Particle Swarm Optimization：PSO）を用いて、目的関数Eを最適化する。
【０２６０】
粒子群最適化においては、複数の変数がランダムに変化する中で、そのうちの１つの変数が、目的となる最適な値に近づくと、これに伴い他の変数もより最適な値に近づき、これが繰り返されて、複数の変数は、それぞれ最適な値となる。
【０２６１】
すなわち、最適化部２２５ｆは、切出し領域の切出しのスタート位置（水平方向、垂直方向）と、切出し領域の大きさ（幅、高さ）とを変数として、粒子群最適化により、目的関数Eが最小となる位置情報（切出し領域のスタート位置および大きさ）を求める。最適化部２２５ｆは、求めた位置情報を基に、最適切出し領域を決定し、処理はステップＳ２１６に戻る。
【０２６２】
なお、切出し領域のアスペクト比を固定とした場合、最適化部２２５ｆは、切出し領域の切出しのスタート位置（水平方向、垂直方向）と、切出し領域の大きさ（幅）とを変数としてもよい。さらに、変数として、切出し領域の回転角度を加えてもよい。
【０２６３】
このようにして決定された最適切出し領域の例を図２４に示す。
【０２６４】
図２４に示されるように、入力画像２４１において、注目矩形領域Ａ１およびＡ２に含まれる２人の人間が、３分割構図の３分割線交点の位置に配置するように、最適切出し領域２５１が決定されている。なお、図２４においては、最適切出し領域２５１は、入力画像２４１の傾きと同じだけ傾いている。
【０２６５】
図１６のフローチャートに戻り、ステップＳ２１７において、画像回転部２２６は、図２５の左側に示されるように、構図解析部２２５からの最適切出し領域２５１を入力画像２４１に配置する。そして、画像回転部２２６は、例えば、アフィン変換等の手法により、図２５の中央に示されるように、傾き検出部２２４からの傾き角補正度θSの分だけ入力画像２４１を回転し、その画像（以下、回転画像という）２６１を画像切出し部２２７に供給する。なお、最適切出し領域２５１は、予め入力画像の傾きと同じだけ傾いているので、ここでは、入力画像２４１に配置された最適切出し領域２５１が水平になるように、入力画像２４１が回転される。
【０２６６】
なお、ステップＳ２１７における処理は、最適切出し領域２５１が入力画像２４１に配置される以外は、図３のフローチャートのステップＳ１９における処理と同様である。
【０２６７】
ステップＳ２１８において、画像切出し部２２７は、画像回転部２２６からの、最適切出し領域２５１が配置された回転画像２６１から、図２５の右側に示されるように、最適切出し領域２５１の画像を切出し、出力する。
【０２６８】
以上の処理によれば、入力画像における注目領域の数、入力画像のシーンと対応付けられた構図パターン、および入力画像の傾きを基に、切出し領域を決定することができる。注目領域は、被写体が人物以外であっても決定されるので、人物以外の被写体であっても、最適な構図の画像を切出すことが可能となる。また、構図パターンは、注目領域の数とシーンに基づいて設定されるので、入力画像のカテゴリに関わらず、最適な構図の画像を切出すことが可能となる。
【０２６９】
また、傾き検出部２２４は、入力画像から得られる情報に基づいて、入力画像の傾きを検出するので、測距センサ等を用いることなく、また、画像を予め決めておいた角度毎に回転させた上に、その角度毎にヒストグラムを作成する必要もないので、より簡単な構成で、かつ、より低い計算コストで画像の傾きを補正することができる。
【０２７０】
以上においては、入力画像の傾きを検出する傾き検出部２１または傾き検出部１２１が、入力画像から最適な切出し領域で画像を切出す画像処理装置に設けられた実施の形態について説明してきた。以下では、傾き検出部２１または傾き検出部１２１が、さらに他の画像処理装置に設けられた実施の形態について説明する。
【０２７１】
＜４．第４の実施の形態＞
［画像処理装置の構成例］
図２６は、本発明を適用した画像処理装置のさらに他の実施の形態の機能構成例を示している。
【０２７２】
図２６の画像処理装置３１１は、例えば、デジタルカメラ等の撮影装置から入力された入力画像の撮影モードやシーンに応じて、入力画像の傾きを検出し、その傾きの分だけ入力画像を回転して傾きを補正した画像を、出力画像として出力する。
【０２７３】
画像処理装置３１１は、撮影モード判定部３２１、シーン判別部３２２、傾き検出部３２３、および画像回転部３２４から構成される。
【０２７４】
撮影モード判定部３２１は、入力画像が撮影装置によって撮影されたときの撮影モードを判定し、判定結果に応じた情報を、傾き検出部３２３または画像回転部３２４に供給する。
【０２７５】
シーン判別部３２２は、基本的には、図１４を参照して説明した画像処理装置２１１のシーン判別部２２２と同様の機能を有しており、判別したシーンに応じた情報を、傾き検出部３２３または画像回転部３２４に供給する。
【０２７６】
傾き検出部３２３は、撮影モード判定部３２１およびシーン判別部３２２からの情報を基に、画像処理装置３１１に入力された入力画像の傾きを検出し、その傾きを補正する角度（傾き補正角度）を、画像回転部３２４に供給する。なお、傾き検出部３２３は、図１４の傾き検出部２２４と同様に、図１の画像処理装置１１における傾き検出部２１、または、図１１の画像処理装置１１１における傾き検出部１２１と同様の機能を有するので、その詳細な説明は省略する。
【０２７７】
画像回転部３２４は、傾き検出部３２３からの傾き補正角度の分だけ入力画像を回転し、その画像を出力画像として出力する。
【０２７８】
［画像処理装置による画像傾き補正処理］
次に、図２７のフローチャートを参照して、画像処理装置３１１によって実行される、画像傾き補正処理について説明する。
【０２７９】
ステップＳ３１１において、撮影モード判定部３２１は、入力画像が撮影装置によって撮影されたときの撮影モードが、マクロ撮影モードであるか否かを判定する。例えば、撮影モード判定部３２１は、入力画像に含まれる、入力画像が撮影されたときの撮影モードを表す撮影モード情報に基づいて、撮影モードを判定する。なお、画像処理装置３１１を撮影装置に適用した場合には、撮影モード判定部３２１は、撮影時にユーザによって設定される撮影モード情報に基づいて、撮影モードを判定するようにできる。
【０２８０】
ステップＳ３１１において、撮影されたときの撮影モードがマクロ撮影モードでないと判定された場合、撮影モード判定部３２１は、入力画像の撮影モードがマクロ撮影モードでない旨の情報を傾き検出部３２３に供給し、処理はステップＳ３１２に進む。
【０２８１】
ステップＳ３１２において、シーン判別部３２２は、入力画像のシーンを判別し、そのシーンが、入力画像における傾きを検出する検出対象のシーンであるか否かを判定する。例えば、入力画像のシーンが、ビル等の建物を撮影するときの「風景」や、水平線の見える浜辺を撮影するときの「海」である場合、そのシーンは検出対象のシーンであると判定される。また、入力画像のシーンが、青空に浮かぶ雲を撮影するときの「空」や、テーブルの上の料理を撮影するときの「料理」である場合、そのシーンは検出対象のシーンでないと判定される。
【０２８２】
ステップＳ３１２において、入力画像のシーンが検出対象のシーンであると判定された場合、シーン判別部３２２は、入力画像のシーンが検出対象のシーンである旨の情報を傾き検出部３２３に供給し、処理はステップＳ３１３に進む。
【０２８３】
ステップＳ３１３において、傾き検出部３２３は、撮影モード判定部３２１およびシーン判別部３２２からの情報をトリガにして、画像処理装置３１１に入力された入力画像の傾きを検出し、その傾きを補正する角度（傾き補正角度θS）を、画像回転部３２４に供給する。なお、ステップＳ３１３における処理は、図３のフローチャートのステップＳ１１乃至Ｓ１８における処理、または、図１２のフローチャートのステップＳ１１１乃至Ｓ１１５における処理と同様であるので、その詳細な説明は省略する。
【０２８４】
ステップＳ３１４において、画像回転部３２４は、例えば、アフィン変換等の手法により、傾き検出部３２３からの傾き補正角度θSの分だけ入力画像を回転し、その画像を出力画像として出力する。なお、ステップＳ３１４における処理は、図３のフローチャートのステップＳ１９における画像回転部２２による処理と同様であるので、その詳細な説明は省略する。
【０２８５】
一方、ステップＳ３１１において、撮影されたときの撮影モードがマクロ撮影モードであると判定された場合、撮影モード判定部３２１は、入力画像の撮影モードがマクロ撮影モードである旨の情報を画像回転部３２４に供給する。また、ステップＳ３１２において、入力画像のシーンが検出対象のシーンでないと判定された場合、シーン判別部３２２は、入力画像のシーンが検出対象のシーンでない旨の情報を画像回転部３２４に供給する。画像回転部３２４は、撮影モード判定部３２１またはシーン判別部３２２からの情報を取得すると、入力画像について傾きを考慮する必要がないものとして、入力画像を、そのまま出力画像として出力する。
【０２８６】
以上の処理によれば、入力画像が、被写体を近距離で撮影するマクロ撮影モードで撮影されておらず、かつ、入力画像のシーンが傾きの検出対象のシーンである場合のみ、入力画像における傾きを検出するようにしたので、建物の垂直線や景色の中の水平線を含むような、傾きの目立つ画像に対して傾きを補正することができる。また、傾き検出部３２３は、入力画像から得られる情報に基づいて、入力画像の傾きを検出するので、測距センサ等を用いることなく、また、画像を予め決めておいた角度毎に回転させた上に、その角度毎にヒストグラムを作成する必要もないので、より簡単な構成で、かつ、より低い計算コストで画像の傾きを補正することができる。
【０２８７】
一方、入力画像がマクロ撮影モードで撮影されたものや、料理等、被写体のみを様々な角度で撮影したものである場合、すなわち、入力画像の傾きを考慮する必要がない場合には、入力画像における傾きを検出しないので、不必要な傾き補正をするのを避けることができる。
【０２８８】
なお、上述した全ての実施の形態において、傾きを検出する際に、解像度を低くした入力画像を用いることで、計算コストをさらに低くするようにもできる。また、上述した実施の形態において、１の実施の形態における構成を、他の実施の形態の構成と組み合わせるようにしてももちろんよい。
【０２８９】
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等に、プログラム記録媒体からインストールされる。
【０２９０】
図２８は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０２９１】
コンピュータにおいて、CPU（Central Processing Unit）９０１，ROM（Read Only Memory）９０２，RAM（Random Access Memory）９０３は、バス９０４により相互に接続されている。
【０２９２】
バス９０４には、さらに、入出力インタフェース９０５が接続されている。入出力インタフェース９０５には、キーボード、マウス、マイクロホン等よりなる入力部９０６、ディスプレイ、スピーカ等よりなる出力部９０７、ハードディスクや不揮発性のメモリ等よりなる記憶部９０８、ネットワークインタフェース等よりなる通信部９０９、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等のリムーバブルメディア９１１を駆動するドライブ９１０が接続されている。
【０２９３】
以上のように構成されるコンピュータでは、CPU９０１が、例えば、記憶部９０８に記憶されているプログラムを、入出力インタフェース９０５およびバス９０４を介して、RAM９０３にロードして実行することにより、上述した一連の処理が行われる。
【０２９４】
コンピュータ（CPU９０１）が実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等）、光磁気ディスク、もしくは半導体メモリ等よりなるパッケージメディアであるリムーバブルメディア９１１に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【０２９５】
そして、プログラムは、リムーバブルメディア９１１をドライブ９１０に装着することにより、入出力インタフェース９０５を介して、記憶部９０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部９０９で受信し、記憶部９０８にインストールすることができる。その他、プログラムは、ROM９０２や記憶部９０８に、あらかじめインストールしておくことができる。
【０２９６】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０２９７】
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０２９８】
１１  画像処理装置，  ２１  傾き検出部，  ２２  画像回転部，  ３１  有効領域設定部，  ３２  周波数領域変換部，  ３３  画素補間部，  ３４  ヒストグラム作成部，  ３５  平滑化部，  ３６  ヒストグラム補間部，  ３７  傾き算出部，  ３８  角度制限部，  ５１  最大ピーク判定部，  ５２  ピーク比較部，  ５３  ピーク近傍平均比較部，  ５４  傾き補正角度出力部，  １１１  画像処理装置，  １２１  傾き検出部，  １２２  画像回転部，  １３１  顔検出部，  １３２  傾き算出部，  １３３  角度制限部，  １３２ａ  顔画像集計部，  １３２ｂ  傾き角度計算部，  １３２ｃ  平均値算出部，  ２１１  画像処理装置，  ２２１  注目領域抽出部，  ２２２  シーン判別部，  ２２３  構図パターン設定部，  ２２４  傾き検出部，  ２２５  構図解析部，  ２２５ａ  構図パターン回転部，  ２２５ｂ  構図モデル作成部，  ２２５ｃ  安全モデル作成部，  ２２５ｄ  ペナルティモデル作成部，  ２２５ｅ  目的関数作成部，  ２２５ｆ  最適化部，  ２２６  画像回転部，  ２２７  画像切出し部，  ３１１  画像処理装置，  ３２１  撮影モード判定部，  ３２２  シーン判別部，  ３２３  傾き検出部，  ３２４  画像回転部
【図１】
2011090437.tif 000041
【図２】
2011090437.tif 000042
【図３】
2011090437.tif 000043
【図４】
2011090437.tif 000044
【図５】
2011090437.tif 000045
【図６】
2011090437.tif 000046
【図７】
2011090437.tif 000047
【図８】
2011090437.tif 000048
【図９】
2011090437.tif 000049
【図１０】
2011090437.tif 000050
【図１１】
2011090437.tif 000051
【図１２】
2011090437.tif 000052
【図１３】
2011090437.tif 000053
【図１４】
2011090437.tif 000054
【図１５】
2011090437.tif 000055
【図１６】
2011090437.tif 000056
【図１７】
2011090437.tif 000057
【図１８】
2011090437.tif 000058
【図１９】
2011090437.tif 000059
【図２０】
2011090437.tif 000060
【図２１】
2011090437.tif 000061
【図２２】
2011090437.tif 000062
【図２３】
2011090437.tif 000063
【図２４】
2011090437.tif 000064
【図２５】
2011090437.tif 000065
【図２６】
2011090437.tif 000066
【図２７】
2011090437.tif 000067
【図２８】
2011090437.tif 000068