(57)【要約】【課題】画像の画像種別を適切に特定することを目的とする。【解決手段】判定対象画像を領域に分割する領域分割手段と、記憶装置より、画像内の領域に係るオブジェクトに関するオブジェクト判定条件を複数含む画像種別判定条件を読み込む読み込み手段と、領域分割手段で分割された領域の特徴量を算出する算出手段と、読み込み手段で読み込んだ画像種別判定条件に含まれる複数のオブジェクト判定条件と、算出手段で算出された領域の特徴量と、に基づいて、領域分割手段で分割された領域が画像種別判定条件に含まれる少なくとも一のオブジェクト判定条件を満たしているか否かを判定する領域判定手段と、領域判定手段でオブジェクト判定条件を満たしていると判定された判定対象画像に係る領域に基づいて、判定対象画像の画像種別を特定する特定手段と、を有することによって課題を解決する。【選択図】図２
2010093341.tif 000002
【特許請求の範囲】
【請求項１】
判定対象画像を領域に分割する領域分割手段と、
記憶装置より、画像内の領域に係るオブジェクトに関するオブジェクト判定条件を複数含む画像種別判定条件を読み込む読み込み手段と、
前記領域分割手段で分割された領域の特徴量を算出する算出手段と、
前記読み込み手段で読み込んだ前記画像種別判定条件に含まれる複数の前記オブジェクト判定条件と、前記算出手段で算出された前記領域の特徴量と、に基づいて、前記領域分割手段で分割された前記領域が前記画像種別判定条件に含まれる少なくとも一の前記オブジェクト判定条件を満たしているか否かを判定する領域判定手段と、
前記領域判定手段で前記オブジェクト判定条件を満たしていると判定された前記判定対象画像に係る前記領域に基づいて、前記判定対象画像の画像種別を特定する特定手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記算出手段は、前記領域分割手段で分割された領域の位置情報と、平均色と、面積比率と、を特徴量として算出することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記特定手段で特定された前記画像種別に応じて、前記判定対象画像に対して補正処理を行う補正手段を更に有することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
ユーザ操作に基づいて、検索対象の複数の画像と、画像種別と、を選択する選択手段と、
記憶装置より、画像内の領域に係るオブジェクトに関するオブジェクト判定条件を複数含む、前記選択手段で選択された画像種別に係る画像種別判定条件を読み込む読み込み手段と、
前記選択手段で選択された画像を領域に分割する領域分割手段と、
前記領域分割手段で分割された領域の特徴量を算出する算出手段と、
前記読み込み手段で読み込んだ前記画像種別判定条件に含まれる複数の前記オブジェクト判定条件と、前記算出手段で算出された前記領域の特徴量と、に基づいて、前記領域分割手段で分割された前記領域が前記画像種別判定条件に含まれる少なくとも一の前記オブジェクト判定条件を満たしているか否かを判定する領域判定手段と、
前記領域判定手段で前記オブジェクト判定条件を満たしていると判定された前記画像に係る前記領域に基づいて、前記選択手段で選択された画像の画像種別を特定する特定手段と、
を有することを特徴とする画像処理装置。
【請求項５】
ユーザ操作に基づいて、検索対象の複数の画像と、画像種別と、を選択する選択手段と、
前記選択手段で選択された画像の領域に係る特徴ファイルが存在するか否かを判定する特徴ファイル存在判定手段と、
前記特徴ファイル存在判定手段で前記特徴ファイルが存在しないと判定された場合、前記画像を領域に分割し、分割した領域の特徴量を算出し、前記分割の結果と、前記算出した特徴量と、に基づいて前記特徴ファイルを生成する生成手段と、
記憶装置より、画像内の領域に係るオブジェクトに関するオブジェクト判定条件を複数含む、前記選択手段で選択された画像種別に係る画像種別判定条件を読み込む読み込み手段と、
前記読み込み手段で読み込んだ前記画像種別判定条件に含まれる複数の前記オブジェクト判定条件と、前記生成手段で生成された前記特徴ファイルと、に基づいて、前記領域が前記画像種別判定条件に含まれる少なくとも一の前記オブジェクト判定条件を満たしているか否かを判定する領域判定手段と、
前記領域判定手段で前記オブジェクト判定条件を満たしていると判定された前記画像に係る前記領域に基づいて、前記選択手段で選択された画像の画像種別を特定する特定手段と、
を有することを特徴とする画像処理装置。
【請求項６】
前記特定手段で特定された画像種別が前記選択手段で選択された画像種別であるか否かを判定する画像種別判定手段と、
前記画像種別判定手段で、前記特定手段で特定された画像種別が前記選択手段で選択された画像種別であると判定された画像を識別する情報を検索結果として出力する出力手段と、
を更に有することを特徴とする請求項４又は５に記載の画像処理装置。
【請求項７】
前記オブジェクト判定条件は、オブジェクトに係る位置判定条件と、色判定条件と、面積判定条件と、を含むことを特徴とする請求項１乃至６の何れか１項に記載の画像処理装置。
【請求項８】
画像処理装置における画像種別特定方法であって、
判定対象画像を領域に分割する領域分割ステップと、
記憶装置より、画像内の領域に係るオブジェクトに関するオブジェクト判定条件を複数含む画像種別判定条件を読み込む読み込みステップと、
前記領域分割ステップで分割された領域の特徴量を算出する算出ステップと、
前記読み込みステップで読み込んだ前記画像種別判定条件に含まれる複数の前記オブジェクト判定条件と、前記算出ステップで算出された前記領域の特徴量と、に基づいて、前記領域分割ステップで分割された前記領域が前記画像種別判定条件に含まれる少なくとも一の前記オブジェクト判定条件を満たしているか否かを判定する領域判定ステップと、
前記領域判定ステップで前記オブジェクト判定条件を満たしていると判定された前記判定対象画像に係る前記領域に基づいて、前記判定対象画像の画像種別を特定する特定ステップと、
を有することを特徴とする画像種別特定方法。
【請求項９】
前記算出ステップでは、前記領域分割ステップで分割された領域の位置情報と、平均色と、面積比率と、を特徴量として算出することを特徴とする請求項８に記載の画像種別特定方法。
【請求項１０】
前記特定ステップで特定された前記画像種別に応じて、前記判定対象画像に対して補正処理を行う補正ステップを更に有することを特徴とする請求項８又は９に記載の画像種別特定方法。
【請求項１１】
画像処理装置における画像種別特定方法であって、
ユーザ操作に基づいて、検索対象の複数の画像と、画像種別と、を選択する選択ステップと、
記憶装置より、画像内の領域に係るオブジェクトに関するオブジェクト判定条件を複数含む、前記選択ステップで選択された画像種別に係る画像種別判定条件を読み込む読み込みステップと、
前記選択ステップで選択された画像を領域に分割する領域分割ステップと、
前記領域分割ステップで分割された領域の特徴量を算出する算出ステップと、
前記読み込みステップで読み込んだ前記画像種別判定条件に含まれる複数の前記オブジェクト判定条件と、前記算出ステップで算出された前記領域の特徴量と、に基づいて、前記領域分割ステップで分割された前記領域が前記画像種別判定条件に含まれる少なくとも一の前記オブジェクト判定条件を満たしているか否かを判定する領域判定ステップと、
前記領域判定ステップで前記オブジェクト判定条件を満たしていると判定された前記画像に係る前記領域に基づいて、前記選択ステップで選択された画像の画像種別を特定する特定ステップと、
を有することを特徴とする画像種別特定方法。
【請求項１２】
画像処理装置における画像種別特定方法であって、
ユーザ操作に基づいて、検索対象の複数の画像と、画像種別と、を選択する選択ステップと、
前記選択ステップで選択された画像の領域に係る特徴ファイルが存在するか否かを判定する特徴ファイル存在判定ステップと、
前記特徴ファイル存在判定ステップで前記特徴ファイルが存在しないと判定された場合、前記画像を領域に分割し、分割した領域の特徴量を算出し、前記分割の結果と、前記算出した特徴量と、に基づいて前記特徴ファイルを生成する生成ステップと、
記憶装置より、画像内の領域に係るオブジェクトに関するオブジェクト判定条件を複数含む、前記選択ステップで選択された画像種別に係る画像種別判定条件を読み込む読み込みステップと、
前記読み込みステップで読み込んだ前記画像種別判定条件に含まれる複数の前記オブジェクト判定条件と、前記生成ステップで生成された前記特徴ファイルと、に基づいて、前記領域が前記画像種別判定条件に含まれる少なくとも一の前記オブジェクト判定条件を満たしているか否かを判定する領域判定ステップと、
前記領域判定ステップで前記オブジェクト判定条件を満たしていると判定された前記画像に係る前記領域に基づいて、前記選択ステップで選択された画像の画像種別を特定する特定ステップと、
を有することを特徴とする画像種別特定方法。
【請求項１３】
前記特定ステップで特定された画像種別が前記選択ステップで選択された画像種別であるか否かを判定する画像種別判定ステップと、
前記画像種別判定ステップで、前記特定ステップで特定された画像種別が前記選択ステップで選択された画像種別であると判定された画像を識別する情報を検索結果として出力する出力ステップと、
を更に有することを特徴とする請求項１１又は１２に記載の画像種別特定方法。
【請求項１４】
前記オブジェクト判定条件は、オブジェクトに係る位置判定条件と、色判定条件と、面積判定条件と、を含むことを特徴とする請求項８乃至１３の何れか１項に記載の画像種別特定方法。
【請求項１５】
コンピュータを、
判定対象画像を領域に分割する領域分割手段と、
記憶装置より、画像内の領域に係るオブジェクトに関するオブジェクト判定条件を複数含む画像種別判定条件を読み込む読み込み手段と、
前記領域分割手段で分割された領域の特徴量を算出する算出手段と、
前記読み込み手段で読み込んだ前記画像種別判定条件に含まれる複数の前記オブジェクト判定条件と、前記算出手段で算出された前記領域の特徴量と、に基づいて、前記領域分割手段で分割された前記領域が前記画像種別判定条件に含まれる少なくとも一の前記オブジェクト判定条件を満たしているか否かを判定する領域判定手段と、
前記領域判定手段で前記オブジェクト判定条件を満たしていると判定された前記判定対象画像に係る前記領域に基づいて、前記判定対象画像の画像種別を特定する特定手段と、
して機能させることを特徴とするプログラム。
【請求項１６】
コンピュータを、
ユーザ操作に基づいて、検索対象の複数の画像と、画像種別と、を選択する選択手段と、
記憶装置より、画像内の領域に係るオブジェクトに関するオブジェクト判定条件を複数含む、前記選択手段で選択された画像種別に係る画像種別判定条件を読み込む読み込み手段と、
前記選択手段で選択された画像を領域に分割する領域分割手段と、
前記領域分割手段で分割された領域の特徴量を算出する算出手段と、
前記読み込み手段で読み込んだ前記画像種別判定条件に含まれる複数の前記オブジェクト判定条件と、前記算出手段で算出された前記領域の特徴量と、に基づいて、前記領域分割手段で分割された前記領域が前記画像種別判定条件に含まれる少なくとも一の前記オブジェクト判定条件を満たしているか否かを判定する領域判定手段と、
前記領域判定手段で前記オブジェクト判定条件を満たしていると判定された前記画像に係る前記領域に基づいて、前記選択手段で選択された画像の画像種別を特定する特定手段と、
して機能させることを特徴とするプログラム。
【請求項１７】
コンピュータを、
ユーザ操作に基づいて、検索対象の複数の画像と、画像種別と、を選択する選択手段と、
前記選択手段で選択された画像の領域に係る特徴ファイルが存在するか否かを判定する特徴ファイル存在判定手段と、
前記特徴ファイル存在判定手段で前記特徴ファイルが存在しないと判定された場合、前記画像を領域に分割し、分割した領域の特徴量を算出し、前記分割した領域と、前記算出した特徴量と、に基づいて前記特徴ファイルを生成する生成手段と、
記憶装置より、画像内の領域に係るオブジェクトに関するオブジェクト判定条件を複数含む、前記選択手段で選択された画像種別に係る画像種別判定条件を読み込む読み込み手段と、
前記読み込み手段で読み込んだ前記画像種別判定条件に含まれる複数の前記オブジェクト判定条件と、前記生成手段で生成された前記特徴ファイルと、に基づいて、前記領域が前記画像種別判定条件に含まれる少なくとも一の前記オブジェクト判定条件を満たしているか否かを判定する領域判定手段と、
前記領域判定手段で前記オブジェクト判定条件を満たしていると判定された前記画像に係る前記領域に基づいて、前記選択手段で選択された画像の画像種別を特定する特定手段と、
して機能させることを特徴とするプログラム。
【請求項１８】
請求項１５乃至１７の何れか１項に記載のプログラムを記憶したコンピュータにより読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像種別特定方法に関する。
【背景技術】
【０００２】
画像を自動で補正する際、画像のシーンを判定できれば、シーンに応じて最適な補正処理を施したり、或いは補正量を調整したりすることが可能となり、従来の補正よりも良好な結果を提供できる。例えば、ある画像が青空を撮影したシーンであることが分かれば、画像内の青い部分を空の記憶色に基づき鮮やかに補正することで良好な青空画像を提供することができる。
一方このような判定処理に関する従来技術としては、画像内の隣接領域の輝度差等に基づき逆光のシーンを判定する技術が知られている（特許文献１参照）。また、画像内の領域の色と位置とに基づいて主要被写体を判定する技術も知られている（特許文献２参照）。
【０００３】
【特許文献１】特開平８−６２７４１号公報
【特許文献２】特開２００５−２９３５５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した特許文献１の技術は明るさに特徴のある特定シーンだけを判定する技術であり、汎用的なシーンを判定する目的のものではない問題があった。
また、上述した特許文献２の技術は画像の上端に青い領域がある場合、それが小さな領域であったとしても青空オブジェクトと判定し、前記画像を青空のある画像と判定してしまう問題があった。一般的に画像補正処理で判定したい青空のシーンとは、補正の効果が充分に確認できるくらいの面積をもった青空領域がある画像であり、上述した特許文献２の技術では自動補正で意図するシーン（画像種別）を精度良く判定するには不充分であった。
【０００５】
本発明はこのような問題点に鑑みなされたもので、画像の画像種別を適切に特定することを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明は、判定対象画像を領域に分割する領域分割手段と、
記憶装置より、画像内の領域に係るオブジェクトに関するオブジェクト判定条件を複数含む画像種別判定条件を読み込む読み込み手段と、
前記領域分割手段で分割された領域の特徴量を算出する算出手段と、
前記読み込み手段で読み込んだ前記画像種別判定条件に含まれる複数の前記オブジェクト判定条件と、前記算出手段で算出された前記領域の特徴量と、に基づいて、前記領域分割手段で分割された前記領域が前記画像種別判定条件に含まれる少なくとも一の前記オブジェクト判定条件を満たしているか否かを判定する領域判定手段と、
前記領域判定手段で前記オブジェクト判定条件を満たしていると判定された前記判定対象画像に係る前記領域に基づいて、前記判定対象画像の画像種別を特定する特定手段と、
を有することを特徴とする。
【０００７】
また、本発明は、ユーザ操作に基づいて、検索対象の複数の画像と、画像種別と、を選択する選択手段と、記憶装置より、画像内の領域に係るオブジェクトに関するオブジェクト判定条件を複数含む、前記選択手段で選択された画像種別に係る画像種別判定条件を読み込む読み込み手段と、前記選択手段で選択された画像を領域に分割する領域分割手段と、前記領域分割手段で分割された領域の特徴量を算出する算出手段と、前記読み込み手段で読み込んだ前記画像種別判定条件に含まれる複数の前記オブジェクト判定条件と、前記算出手段で算出された前記領域の特徴量と、に基づいて、前記領域分割手段で分割された前記領域が前記画像種別判定条件に含まれる少なくとも一の前記オブジェクト判定条件を満たしているか否かを判定する領域判定手段と、前記領域判定手段で前記オブジェクト判定条件を満たしていると判定された前記画像に係る前記領域に基づいて、前記選択手段で選択された画像の画像種別を特定する特定手段と、を有することを特徴とする。
【０００８】
また、本発明は、ユーザ操作に基づいて、検索対象の複数の画像と、画像種別と、を選択する選択手段と、前記選択手段で選択された画像の領域に係る特徴ファイルが存在するか否かを判定する特徴ファイル存在判定手段と、前記特徴ファイル存在判定手段で前記特徴ファイルが存在しないと判定された場合、前記画像を領域に分割し、分割した領域の特徴量を算出し、前記分割の結果と、前記算出した特徴量と、に基づいて前記特徴ファイルを生成する生成手段と、記憶装置より、画像内の領域に係るオブジェクトに関するオブジェクト判定条件を複数含む、前記選択手段で選択された画像種別に係る画像種別判定条件を読み込む読み込み手段と、前記読み込み手段で読み込んだ前記画像種別判定条件に含まれる複数の前記オブジェクト判定条件と、前記生成手段で生成された前記特徴ファイルと、に基づいて、前記領域が前記画像種別判定条件に含まれる少なくとも一の前記オブジェクト判定条件を満たしているか否かを判定する領域判定手段と、前記領域判定手段で前記オブジェクト判定条件を満たしていると判定された前記画像に係る前記領域に基づいて、前記選択手段で選択された画像の画像種別を特定する特定手段と、を有することを特徴とする。
【０００９】
また、本発明は、画像種別特定方法、プログラム及び記憶媒体としてもよい。
【発明の効果】
【００１０】
本発明によれば、画像の画像種別を適切に特定することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施形態について図面に基づいて説明する。
【００１２】
＜実施形態１＞
実施形態１では、１枚の画像に対して複数のシーン（画像種別）に関する条件を適用し、前記画像がどのシーンに該当するかを判定する例を説明する。
図１は、画像処理装置（コンピュータ）のハードウェア構成の一例を示す図である。図１において、入力部１０１は、キーボードやポインティング装置で構成されている。ユーザは入力部１０１を操作しデータの入力や操作の指示を行う。蓄積部１０２は、バイナリデータやメタデータを蓄積するものであり、例えば、ハードディスク等である。表示部１０３は、蓄積部１０２に蓄積されたバイナリデータ等を表示するものであり、例えば、ＣＲＴや液晶等である。
【００１３】
ＣＰＵ１０４は、上記の処理の全てに関わり、ＲＯＭ１０５とＲＡＭ１０６はその処理に必要なメモリや作業領域を提供する。また、ＣＰＵ１０４が、ＲＯＭ１０５からプログラムを読み出して、プログラムに基づき処理を実行することにより、後述するフローチャートの各処理が実現される。
また、画像処理装置は、１０１から１０６の他、読込部を設け、公知のＣＣＤ素子等で構成されている撮像装置より画像を読み込むような構成としてもよい。
【００１４】
図２は、実施形態１におけるシーン特定処理の一例を示すフローチャートである。
ステップＳ２００１において、ＣＰＵ１０４は、変数ｎＰを０に初期化する。ｎＰは複数あるシーンを判定するための条件ファイルをＣＰＵ１０４が順番に参照する際のループ変数を表す。
ステップＳ２００２において、ＣＰＵ１０４は、シーン判定対象となる画像データをＲＡＭ１０６に読み込む。
ステップＳ２００３において、ＣＰＵ１０４は、ステップＳ２００２で読み込んだ画像を領域分割する。
画像の領域分割方法については色等の特徴に応じて画像を領域に分割する方式であれば任意の方式であってよい。例えば、エッジ抽出法として特開２０００−０９０２３９の技術を、また、領域拡張法として特開平０８−０８３３３９の技術を用いても良いが、本実施形態では、クラスタリング法として特開２００１−４３３７１の技術を用いることとする。
【００１５】
ここで、図３は、クラスタリング法を用いた領域分割結果の画像の一例を示す図である。図３のａはオリジナル画像、図３のｂは領域分割が行われた結果の画像（領域分割結果画像）である。
ステップＳ２００４において、ＣＰＵ１０４は、ステップＳ２００３で分割した領域の特徴量を算出する。
本実施形態のシーン判定で必要となる領域の特徴量は、画像内の領域の面積、平均色、位置（位置情報）であるため、ＣＰＵ１０４は、これらの特徴量を算出する。
本実施形態では、ＣＰＵ１０４は、面積として各領域の画素数を算出し、画像全体に対する割合を算出する。また、ＣＰＵ１０４は、平均色として、領域内のＲ，Ｇ，Ｂそれぞれの平均値（ａｖｅＲ，ａｖｅＧ，ａｖｅＢ）を算出し、ＨＳＶに変換した値を算出する。また、ＣＰＵ１０４は、領域の位置として、領域内の各画素の座標から重心値（Ｃｘ，Ｃｙ）を算出し、水平方向、垂直方向における割合を算出する。
【００１６】
以下、特徴量の算出方法の一例として、ＣＰＵ１０４が、領域分割処理の結果から領域ＩＤ一覧（以後、ＩＤマップと呼ぶ）を出力し、ＩＤマップを用いて特徴量を算出する場合について説明する。
図４は、領域特徴量算出処理の一例を示すフローチャートである。
ステップＳ２１０１において、ＣＰＵ１０４は、変数ｉ，ｊ，ｋを０に初期化する。ｉは画像をｘ軸方向に走査する際のループ変数を表す。ｊは画像をｙ軸方向に走査する際のループ変数を表す。ｋは領域を順番に参照する際のループ変数を表す。
ステップＳ２１０２において、ＣＰＵ１０４は、原画像から座標（ｉ，ｊ）のＲ，Ｇ，Ｂの値と、ＩＤマップからＩＤ値を取得する。ここで取得したＩＤ値をｎとして以降の処理を説明する。
【００１７】
ステップＳ２１０３において、ＣＰＵ１０４は、原画像からステップＳ２１０１で取得したＲ，Ｇ，Ｂの値を、ＩＤ＝ｎにおけるＲ，Ｇ，Ｂの加算値ｓｕｍＲ［ｎ］，ｓｕｍＧ［ｎ］，ｓｕｍＢ［ｎ］に加算する。また、ＩＤ＝ｎの画素数ｎｕｍＯｆＰｉｘｅｌｓ［ｎ］を１増やす。
ステップＳ２１０４において、ＣＰＵ１０４は、ＩＤ＝ｎにおけるｘ座標、ｙ座標の加算値ｓｕｍＸ［ｎ］，ｓｕｍＹ［ｎ］にｉ，ｊを加算する。
ステップＳ２１０５において、ＣＰＵ１０４は、注目画素をＸ座標方向に１走査する。
【００１８】
ステップＳ２１０６において、ＣＰＵ１０４は、Ｘ座標方向の走査が終了したか否かを判定するため、ｘ座標のループ変数であるｉを画像の幅ｉｍｇＷｉｄｔｈと比較する。Ｘ座標方向の走査が終了した場合、即ち、ｉがｉｍｇＷｉｄｔｈより大きくなった場合、ＣＰＵ１０４は、ステップＳ２１０６に進み、そうでない場合、ステップＳ２１０２に進む。
ステップＳ２１０７において、ＣＰＵ１０４は、注目画素を行の先頭に設定するため、ｉを０に設定し、ｊを１増やす。
ステップＳ２１０８において、ＣＰＵ１０４は、Ｙ座標方向の走査が終了した否かを判定するため、Ｙ座標のループ変数であるｊを画像の幅ｉｍｇＨｅｉｇｈｔと比較する。Ｙ座標方向の走査が終了した場合、即ちｊがｉｍｇＨｅｉｇｈｔより大きくなった場合、ＣＰＵ１０４は、ステップＳ２１０９に進み、そうでない場合には、ステップＳ２１０２に進む。
【００１９】
ステップＳ２１０９において、ＣＰＵ１０４は、変数ｋに１を加える。
ステップＳ２１１０において、ＣＰＵ１０４は、ＩＤ＝ｋにおける領域の位置をＸ軸方向とＹ軸方向との割合として算出する。まず、ＣＰＵ１０４は、ｘ座標、ｙ座標の加算値ｓｕｍＸ［ｋ］，ｓｕｍＹ［ｋ］と、領域の画素数ｎｕｍＯｆＰｉｘｅｌｓ［ｋ］と、から領域の重心（Ｃｘ［ｋ］，Ｃｙ［ｋ］）を算出する。ＣＰＵ１０４は、重心Ｃｘ［ｋ］と、Ｃｙ［ｋ］と、を以下の式で算出する。
Ｃｘ［ｋ］＝ｓｕｍＸ［ｋ］／ｎｕｍＯｆＰｉｘｅｌｓ［ｋ］
Ｃｙ［ｋ］＝ｓｕｍＹ［ｋ］／ｎｕｍＯｆＰｉｘｅｌｓ［ｋ］
【００２０】
次に、ＣＰＵ１０４は、画像の高さと、幅の長さと、重心値と、から以下の式により位置の割合Ｒｘ［ｋ］，Ｒｙ［ｋ］を算出する。
Ｒｘ［ｋ］＝Ｃｘ［ｋ］／ｉｍｇＷｉｄｔｈ
Ｒｙ［ｋ］＝Ｃｙ［ｋ］／ｉｍｇＨｅｉｇｈｔ
ステップＳ２１１１において、ＣＰＵ１０４は、ＩＤ＝ｋにおける平均色ａｖｅＨ［ｋ］，ａｖｅＳ［ｋ］，ａｖｅＶ［ｋ］を算出する。まずＣＰＵ１０４は、以下の式よりＲ，Ｇ，Ｂの平均値を算出する。
ａｖｅＲ［ｋ］＝ｓｕｍＲ［ｋ］／ｎｕｍＯｆＰｉｘｅｌｓ［ｋ］
ａｖｅＧ［ｋ］＝ｓｕｍＧ［ｋ］／ｎｕｍＯｆＰｉｘｅｌｓ［ｋ］
ａｖｅＢ［ｋ］＝ｓｕｍＢ［ｋ］／ｎｕｍＯｆＰｉｘｅｌｓ［ｋ］
【００２１】
次に、ＣＰＵ１０４は、これらの平均値をＨＳＶ値に変換する。
ステップＳ２１１２において、ＣＰＵ１０４は、画像全体の面積に対するＩＤ＝ｋの領域の面積の比率Ｒｓ［ｋ］を以下の式により算出する。
Ｒｓ［ｋ］＝ｎｕｍＯｆＰｉｘｅｌｓ［ｋ］／ＴｏｔａｌＰｉｘｅｌｓ
ここで、ＴｏｔａｌＰｉｘｅｌｓは画像の全体の画素数である。
ステップＳ２１１３において、ＣＰＵ１０４は、全ての領域について特徴量を算出したか否かを判定するため、領域参照のループ変数ｋと、総領域数ｎＲと、を比較する。全ての領域について特徴量を算出した場合、即ち、ｋがｎＲより大きくなった場合、ＣＰＵ１０４は、図４の処理を終了し、そうでない場合はステップＳ２１０９に進む。
【００２２】
再び、図２の説明に戻る。
ステップＳ２００５において、ＣＰＵ１０４は、変数ｎＰに１を加える。
ステップＳ２００６において、ＣＰＵ１０４は、予め用意したシーン判定条件（以下、シーンプロファイルという）を読み込む（画像種別判定条件読み込み）。
以下でシーンプロファイルについて説明する。
図５は、実施形態１におけるシーンプロファイルの一例を示す図である。
本実施形態では、ＣＰＵ１０４は、画像を構成するオブジェクトの組み合わせでシーンを判定する。本実施形態で言及するオブジェクトとは、画像内で特徴的な色、位置、面積を持つ領域を意味する。
このため、図５に示すシーンプロファイル４０１は、シーンＩＤ４０３と、オブジェクトに関する判定条件（オブジェクト判定条件）４０２（以下、オブジェクトプロファイルという）と、から構成される。図５に示されるように、画像種別判定条件の一例であるシーンプロファイルは、オブジェクトプロファイルを複数含む。
【００２３】
また、オブジェクトプロファイル４０２は、画像内の領域を判定するための色判定条件４０４と、位置判定条件４０５と、面積判定条件４０６と、オブジェクトプロファイルの判定論理に関する情報４０７と、を含む。判定論理に関する情報４０７は、オブジェクトプロファイル内の各条件を満たす領域があった場合にオブジェクトプロファイルを満たすと判定する判定論理と、オブジェクトプロファイル内の各条件を満たす領域がなかった場合にオブジェクトプロファイルを満たすと判定する判定論理のどちらかを選択する情報をもつ。ＣＰＵ１０４は、前述の判定論理では、画像内に意図するオブジェクトがある画像を判定することができ、後述の判定論理では、画像内に意図するオブジェクトがない画像を判定することができる。なお、本実施形態では説明の簡略化のため、前述の判定論理のみを用いる場合を説明する。
色、位置、面積についての各判定条件については、後ほど詳細に説明する。
【００２４】
本実施形態におけるシーンプロファイルの条件記述について、「青い空と南国の海のシーン」を例に説明を行う。図６は、「青い空と南国の海のシーン」を表すシーンプロファイルの一例を示す図である。
「青い空と南国の海のシーン」では、シーンを構成するオブジェクトは「青い空」と、「南国の海」と、である。このため、図６に示すように、「青い空オブジェクトプロファイル」と、「南国の海オブジェクトプロファイル」と、の組み合わせとしてシーンプロファイルを記述する。
次にオブジェクトプロファイルに関する条件の記述方法について説明する。
【００２５】
［色についての条件記述方法］
色空間における各軸それぞれの最大値と最小値とを色の条件として記述する。
図７は、ＨＳＶ色空間を用いて条件記述した場合の一例を示す図である。Ｈ，Ｓ，Ｖのそれぞれに最大値、最小値を記述する。なお、色空間上での複雑な色範囲を表す場合、これらの組は複数記述できるようになっている。
なお、本実施形態では、色空間としてＨＳＶ色空間を用いているが、これは単なる一例であって、ＲＧＢ色空間やＨＬＳ色空間やその他、任意の色空間を用いてもよい。また、本実施形態における色判定条件は、ＨＳＶ色空間だけを用いているが、複数の色空間を用いて色判定を行ってもよい。この場合、色判定条件がどの色空間で定義されているかを示す色空間識別情報をオブジェクトプロファイルに別途記述する。ＣＰＵ１０４は、この色空間識別情報を参照して色判定を行なう構成にすればよい。
【００２６】
注目するオブジェクトの色判定条件を決定するためのより具体的な例を説明する。
注目オブジェクトが「青い空」の場合を例として、画像から色判定条件を決定する方法を説明する。典型的な青い空が撮影された画像から、青い空の部分の画素をＨＳＶ色空間上に表す（図８）。
次に色空間上で先の色分布を覆うように各軸の範囲を調整する。図９に示すように、各軸の範囲に応じた平面からなる立体を色空間上に表示するようにし、各軸の範囲の調整度合いと、色空間上の立体の形状とを対応させるようにすれば、容易に色分布を覆う各軸の範囲を決定することができる。
なお、図９では１つの立体で色分布を覆うようにしているが、色分布が色空間上で複雑な形状を持つ場合等については、複数の立体で色分布を覆うようにする。即ち、この場合、各軸の色範囲は複数のセットを持つ。
【００２７】
［位置についての条件記述方法］
画像の縦方向、横方向におけるそれぞれの最大値、最小値を位置の条件として記述する。
画像の縦の長さ（Ｙ軸方向）と、横の長さ（Ｘ軸）と、に対する割合で最大値、最小値を記述した例を以下に記述する。
Ｘ（０．０，１．０）Ｙ（０．０，０．５）
この例では、Ｘ軸方向が０．０〜１．０までの範囲、Ｙ軸方向が０．０〜０．５までの範囲を示しており、画像の上半分に位置するものを判定する条件となる。（画像の左上を座標の原点とした場合。）
【００２８】
［面積についての条件記述方法］
画像における領域の面積の最大値と最小値とを条件として記述する。
画像全体の面積に対する領域の面積の比率で条件を記述した例を以下で示す。
Ｓ（０．１２，０．４５）
この例では、画像全体の面積に対し、１２％〜４５％までの面積比率を持つものを判定する条件である。
なお、シーンプロファイルを読み込む際に必要となるため、含まれるオブジェクトプロファイルの数や各オブジェクトプロファイルに含まれる色判定条件の数もシーンプロファイルに記述する。
ここで、条件記述の形式は本実施形態の主眼ではなく、あくまでも色判定条件と、位置判定条件と、面積判定条件と、を記述可能な形式であれば任意のものであってもよい。したがって、本実施形態のようにカンマ区切り形式であってもよいし、或いは、バイナリ形式やＸＭＬ形式等で記述するような構成にしてもよい。
【００２９】
再び図２の説明に戻る。
ステップＳ２００６において、ＣＰＵ１０４は、ｉ番目のシーンプロファイルを読み込む。この際、ＣＰＵ１０４は、シーンプロファイル内に記述されるオブジェクトプロファイル数を取得する。
ステップＳ２００７において、ＣＰＵ１０４は、ステップＳ２００６で読み込んだシーンプロファイルの判定条件に基づきシーン判定を行なう。図１０は、ステップＳ２００７の詳細な処理を説明するためのフローチャートである。
ステップＳ２３０１において、ＣＰＵ１０４は、変数ｎＯ、ｆｌａｇ１を０に初期化する。ｎＯは、ｉ番目のシーンプロファイルに記述されるオブジェクトプロファイルを順番に参照する際のループ変数を表す。ｆｌａｇ１は、ｉ番目のシーンプロファイルの記述条件を満たしているか否かのフラグを表し、満たしていればｆｌａｇ１＝１で、満たしていなければｆｌａｇ１＝０である。
【００３０】
ステップＳ２３０２において、ＣＰＵ１０４は、変数ｎＯに１を加える。
ステップＳ２３０３において、ＣＰＵ１０４は、ステップＳ２００４で読み込んだシーンプロファイル内のｎＯ番目のオブジェクトプロファイルを参照する。
ステップＳ２３０４において、ＣＰＵ１０４は、ステップＳ２３０３で参照した判定条件と、ステップＳ２００４で算出した領域特徴量と、に基づき、領域のオブジェクト判定を行なう（領域判定）。図１１は、ステップＳ２３０４の詳しい処理を説明するためのフローチャート（その１）である。
ステップＳ２４０１において、ＣＰＵ１０４は、変数ｉＲ、ｆｌａｇ２を０に初期化する。ｉＲは画像内の領域を順番に参照する際のループ変数を表す。ｆｌａｇ２は、ｎＯ番目のオブジェクトプロファイルを満たす領域があるか否かのフラグを表し、満たす領域がある場合にはｆｌａｇ２＝１で、満たす領域がない場合にはｆｌａｇ２＝０である。
ステップＳ２４０２において、ＣＰＵ１０４は、変数ｉＲに１加える。
【００３１】
ステップＳ２４０３において、ＣＰＵ１０４は、全ての領域についてオブジェクト判定を行なったか否かを判定するため、領域参照のループ変数ｉＲと総領域数ｎＲの値とを比較する。ＣＰＵ１０４は、全ての領域のオブジェクト判定を行なった場合、即ちｉＲがｎＲより大きくなった場合、処理を終了し、そうでない場合には、ステップＳ２４０４に進む。
ステップＳ２４０４において、ＣＰＵ１０４は、ＩＤ＝ｉＲの領域を判定領域に設定する。
ステップＳ２４０５において、ＣＰＵ１０４は、ステップＳ２００４で算出したＩＤ＝ｉＲの面積比率Ｒｓ［ｉＲ］がステップＳ２３０１で読み込んだ面積比率の範囲にあるか否かを判定する。ＣＰＵ１０４は、範囲内にあれば面積の条件を満たしているとし、ステップＳ２４０５に進み、そうでない場合はステップＳ２４０２に進む。
【００３２】
ステップＳ２４０６において、ＣＰＵ１０４は、ステップＳ２００４で算出したＩＤ＝ｉＲの位置比率Ｒｘ［ｉＲ］，Ｒｙ［ｉＲ］がステップＳ２３０１で読み込んだ位置比率の範囲にあるか否かを判定する。ＣＰＵ１０４は、範囲内にあれば位置の条件を満たしているとし、ステップＳ２４０７に進み、そうでない場合には、ステップＳ２４０２に進む。
次にＣＰＵ１０４は、色の判定を行なう。色の判定条件については先に説明した通り、１つのオブジェクトプロファイルに対して複数の判定条件を持つ場合もある。この場合、ＣＰＵ１０４は、領域の平均色が少なくても１つの判定条件を満たせば、色の判定条件を満たしているとする。
【００３３】
ステップＳ２４０７以降で、上記の色判定方法を考慮した処理について説明する。
ステップＳ２４０７において、ＣＰＵ１０４は、変数ｍを０に初期化する。変数ｍは、オブジェクトプロファイルにある複数の色判定条件を順番に参照する際に用いられる変数である。
ステップＳ２４０８において、ＣＰＵ１０４は、ｍに１を追加する。
ステップＳ２４０９において、ＣＰＵ１０４は、オブジェクトプロファイル内の全ての色判定条件を判定したか否かを判定する。ＣＰＵ１０４は、全ての色判定条件を判定した場合、ステップＳ２４０２に進み、そうでない場合、ステップＳ２４１０に進む。なお、オブジェクトプロファイル内の色判定条件の数はシーンプロファイルに予め記述されており、ＣＰＵ１０４は、この値を参照する。
【００３４】
ステップＳ２４１０において、ＣＰＵ１０４は、ｍ番目の色判定条件を参照する。
ステップＳ２４１１において、ＣＰＵ１０４は、ステップＳ２００４で算出したＩＤ＝ｉＲの平均色ａｖｅＨ［ｉＲ］，ａｖｅＳ［ｉＲ］，ａｖｅＶ［ｉＲ］がステップＳ２４１０で参照するｍ番目の色判定条件の範囲にあるか否かを判定する。ＣＰＵ１０４は、範囲内にあればステップＳ２４１２に進み、そうでない場合には、ステップＳ２４０８に進む。
ステップＳ２４１２において、ＣＰＵ１０４は、ｆｌａｇ２を１とし、図１１の処理を終了する。
【００３５】
なお、本実施形態ではＣＰＵ１０４は、画像内の領域のなかで、オブジェクトプロファイルの判定条件を満たす領域が１つでもあれば、オブジェクト判定の処理を終了するように説明を行った。しかしながら、ＣＰＵ１０４は、全ての領域についてオブジェクト判定を行なうようにしてもよい。このような構成とした場合、ＣＰＵ１０４は、オブジェクトであると判定された領域ＩＤを保存しておき、シーン判定後にオブジェクト領域部分への部分的な補正を行なう等に利用することができる。
また、ＣＰＵ１０４は、面積の判定方法について、青空や海等のように画像内である程度の大きさを持った領域として分割することができた場合、図１１のように領域毎に面積の判定を行なうようにしてもよい。ところが、ＣＰＵ１０４が、緑の木々や芝生等のように判定対象領域を非常に小さな領域に分割してしまった場合、領域毎では面積の判定を正しく行えない可能性がある。
【００３６】
そこで、ＣＰＵ１０４は、領域毎に面積の判定を行なわずに、色と位置との条件を満たした領域の合計面積を求め、この合計面積の値で面積の判定を行なうようにしてもよい。  この場合の処理の流れを図１２に示す。図１２は、ステップＳ２３０４の詳しい処理を説明するためのフローチャート（その２）である。なお、図１１と同じ処理については同じ番号を付与して、ここでは説明を省略する。
ステップＳ２５０１において、ＣＰＵ１０４は、ｉＲ番目の領域の面積Ｓ［ｉＲ］をｓｕｍＳに加算する。ｓｕｍＳは位置、色の条件を満たした領域の面積の加算値である。
ステップＳ２５０２において、ＣＰＵ１０４は、面積を判定する。まず、ＣＰＵ１０４は、加算値ｓｕｍＳと画像全体の画素数とから加算面積の比率Ｒｓｓを算出する。次に、ＣＰＵ１０４は、ＲｓｓがステップＳ２３０１で読み込んだ面積比率の範囲にあるか否かを判定する。ＣＰＵ１０４は、範囲内にある場合、面積の条件を満たしているとし、ステップＳ２４１２に進み、そうでない場合、ステップＳ２４０２に進む。
なお、図１１で説明したように領域毎の面積で面積判定する方法と図１２で説明したように領域の合計面積で面積判定する方法とのどちらも適用するような場合、オブジェクトプロファイル内に面積判定方法を記述しておく。そして、ＣＰＵ１０４が、この記述を参照することでどちらか一方の判定方法を選択するようにすればよい。
【００３７】
再び、図１０の説明に戻る。
ステップＳ２３０５において、ＣＰＵ１０４は、ステップＳ２３０４で決定したｆｌａｇ２の値を参照し、対象画像にｎＯ番目のオブジェクトが存在するか否かを判定する。ｆｌａｇ２＝１の場合、ＣＰＵ１０４は、ｎＯ番目のオブジェクトが存在すると判定し、ステップＳ２３０６に進む。ｆｌａｇ２＝０の場合、ＣＰＵ１０４は、ｎＯ番目のオブジェクトが存在しない、つまりｉ番目のシーンではないと判定し図１０の処理を終了し、図２のステップＳ２００７の処理を終了する。そしてＣＰＵ１０４は、次のステップＳ２００８に進む。
【００３８】
ステップＳ２３０６において、ＣＰＵ１０４は、ｉ番目のシーンプロファイルに記述される全てのオブジェクトプロファイルを参照したか否かを判定する。ＣＰＵ１０４は、全て参照した場合、ステップＳ２３０７に進み、ｆｌａｇ１＝１として図１０の処理を終了し、そうでない場合、ステップＳ２３０２に進む。
再び、図２の説明に戻る。
ステップＳ２００８において、ＣＰＵ１０４は、ステップＳ２００７で決定したｆｌａｇ１の値からｎＰ番目のシーンであるか否かを判定する。ＣＰＵ１０４は、ｆｌａｇ１＝１の場合、対象画像はｎＰ番目のシーンであると判定し、ステップＳ２００９に進む。例えば図３のａの画像を「青い空と南国の海のシーンプロファイル」で判定した場合、ＣＰＵ１０４は図１３の３０１領域を青い空オブジェクトと判定し、３０２の領域を南国の海オブジェクトと判定し、結果として「青い空と南国の海のシーン」であると判定する。
ステップＳ２００８でｆｌａｇ１＝０の場合、即ちｎＰ番目のシーンでないと判定した場合、ＣＰＵ１０４は、ステップＳ２０１０に進む。
【００３９】
ステップＳ２００９において、ＣＰＵ１０４は、ｎＰを該当シーンのＩＤとして保存する。
ステップＳ２０１０において、ＣＰＵ１０４は、全てのシーンプロファイルを参照したか否かを判定するために、シーンプロファイルを参照する際のループ変数ｎＰと、判定すべきシーン総数ｎＳｃの値と、を比較する。そして、ＣＰＵ１０４は、全てのファイルを参照した場合、即ち、ｎＰがｎＳｃより大きくなった場合、ステップＳ２０１１に進み、そうでない場合、ステップＳ２００５に進む。
なお、ＣＰＵ１０４は、シーン総数ｎＳｃについて、ステップＳ２００１の変数の初期化で所定の値を与えておく。
ステップＳ２０１１において、ＣＰＵ１０４は、ステップＳ２００９で保存したシーンＩＤを参照し、判定対象画像に該当したシーンを出力する。この際、シーンＩＤとシーン名との対応表が予め用意されており、ＣＰＵ１０４は、この対応表とステップＳ２００９で保存したシーンＩＤとを参照することで、シーン名を出力する。
【００４０】
以上説明した様に、本実施形態によれば、シーンプロファイルを用いたシーン判定を行なうことで、領域の色、位置だけでなく、面積や、他の領域との組み合わせとしてシーンを判定するため、精度良くシーンを判定することができる。また、新たなシーンを判定したい場合においてもシーンプロファイルを追加するだけでよい。
なお、１つのシーンに対して複数のシーンプロファイルを用意するようにしてもよい。言い換えれば、図５や図６のシーンＩＤはプロファイル間で重複があってもよい。本実施形態では、同じシーンＩＤを持つ複数のシーンプロファイルの何れかに該当するように構成すればよいので、後からシーンプロファイルを追加することでシーン判定の精度を向上させることができる。
【００４１】
また、本実施形態ではシーン判定条件をファイルの形式で記述し、これを読み込むことで判定条件を取得するよう説明を行った。しかしながら、予めＲＯＭやプログラムの内部に判定条件をおいておき、これを参照するような構成にしてもよい。
また、本実施形態では物体形状に沿って分割を行なった領域を対象としてシーンプロファイルを適用するよう説明を行った。しかしながら、画像を所定の大きさにブロック分割した領域を対象とするようにしてもよい。
【００４２】
＜実施形態２＞
実施形態１では、１枚の画像に対し複数のシーンプロファイルを用いてシーンを判定する例を示したが、本実施形態では、複数枚の画像に対して、１つのシーンプロファイルを用いてシーンを判定する場合の例を示す。なお、本実形態で示す構成を用いることにより、複数枚ある画像から意図するシーンの画像だけを検索する、所謂、画像検索を実現することができる。
【００４３】
図１４は、実施形態２における画像検索処理の一例を示すフローチャートである。
なお、実施形態１と同様の処理を行う部分については実施形態１と同じ番号を付与し、ここでは説明を省略する。
また、本実施形態を実現する際のユーザインタフェースの例を図１５に示す。図１５は、ユーザインタフェースの一例を示す図である。
図１５の１００１は、検索対象画像を設定する部分である。本実施形態では、１００２にフォルダツリーを設けてある。ユーザは、１００２から検索対象画像が存在するフォルダを選択する。１００３は、選択フォルダ内の画像ファイル名を表示する部分である。１００４は、ユーザが検索したいシーンを選択する部分である。１００５は、検索結果を出力する部分であり、本実施形態では結果画像をサムネイル表示するような例で示している。１００６は、検索開始ボタンである。
【００４４】
ステップＳ２６０１において、ＣＰＵ１０４は、１００１で検索対象となる画像が選択されているか、即ち１００２のフォルダツリーが選択されているか否かの判定と、１００４でシーンが選択されているか否かの判定を行う。ＣＰＵ１０４は、ユーザ操作に基づいて、画像、シーン供に選択した場合、ステップＳ２６０２に進み、そうでない場合、ステップＳ２６０１に進む。また、このステップにおいて、ＣＰＵ１０４は、選択された画像の枚数ｎＩｍｇを保存する。
ステップＳ２６０２において、ＣＰＵ１０４は、１００６の検索開始ボタンが押されたか否かを判定する。ＣＰＵ１０４は、ボタンが押された場合、ステップＳ２００１に進み、押されていない場合、ステップＳ２６０２に進む。
ステップＳ２６０３において、ＣＰＵ１０４は、１００４で選択されたシーンに対応するシーンプロファイルを読み込む。
【００４５】
ステップＳ２６０４において、ＣＰＵ１０４は、１００１で選択された画像からｎＩ番目の画像を読み込む。
ステップＳ２６０５において、ＣＰＵ１０４は、ステップＳ２００７で決定したｆｌａｇ１を参照し、ｆｌａｇ１＝１の場合、即ちｎＩ番目の画像が判定対象シーンであるとされた場合、ステップＳ２６０６において、ｎＩ番目の画像のファイル名を保存する。一方、ｆｌａｇ１＝０の場合、即ち判定対象シーンでないとされた場合、ＣＰＵ１０４は、ステップＳ２６０７に進む。
ステップＳ２６０７において、ＣＰＵ１０４は、１００１で選択されて全ての画像をシーン判定したか否かを調べるために、画像参照のループ変数ｎＩと、選択画像総数ｎＩｍｇと、の値を比較する。ＣＰＵ１０４は、全ての画像を判定した場合、即ち、ｎＩがｎＩｍｇより大きくなった場合、ステップＳ２６０８に進み、そうでない場合には、ステップＳ２００５に進む。
ステップＳ２６０８において、ＣＰＵ１０４は、ステップＳ２６０６で保存した画像ファイルのサムネイルを結果画像表示部１００５に表示する。
【００４６】
なお、本実施形態では、シーンプロファイルを１つ選択する例を示したが、これを複数選択し、検索するようにすることは容易である。この場合、ＣＰＵ１０４は、各シーンプロファイルの検索結果の和集合を検索結果として提示するようにすればよい。
以上説明したように、本実施形態によれば、複数枚の画像の中からユーザが指示したシーンだけをシーン判定により選び出すことができる。
【００４７】
＜実施形態３＞
実施形態２では、一度あるシーンを対象とした画像検索を行い、その後、同じ画像セットに対して別のシーンについての画像検索を行う場合にも、再度、画像に対する領域分割処理と特徴量算出処理とを行っていた。
本実施形態では、実施形態２の変形例として、領域分割と特徴量算出とを全ての検索対象画像に対して予め行い、結果を画像ファイル名と対応する別ファイル（以下、領域特徴ファイルという）に保存する。そし、この領域特徴ファイルを参照することでシーン判定を行う一例を説明する。
【００４８】
図１６は、実施形態３における画像検索処理の一例を示すフローチャートである。
なお、実施形態１、実施形態２と同様の処理を行う部分については同じ番号を付与し、ここでは説明を省略する。
ステップＳ２７０１において、ＣＰＵ１０４は、ステップＳ２６０１で選択した全ての画像に対応する領域特徴ファイルを取得する。
図１７は、領域特徴ファイルの取得処理の一例を示す図である。
ステップＳ２８０１において、ＣＰＵ１０４は、変数ｎを０に初期化する。ｎはステップＳ２６０１で選択された画像ファイル名を順番に参照する際のループ変数を表す。
ステップＳ２８０２において、ＣＰＵ１０４は、ｎに１を加える。
ステップＳ２８０３において、ＣＰＵ１０４は、ｎ番目の画像ファイル名を取得する。
【００４９】
ステップＳ２８０４において、ＣＰＵ１０４は、ステップＳ２８０３で取得した画像ファイル名に対応する領域特徴ファイルが存在するか否かを調べる（特徴ファイル存在判定）。例えば、領域特徴ファイル名を対応する画像ファイル名と対応付けて、同じフォルダに置く等を予め定めておく。このようにすることにより、ＣＰＵ１０４は、１００２で選択されているフォルダ内にｎ番目の画像ファイル名に対応する領域特徴ファイルがあるか否かを調べればよい。或いは、ＣＰＵ１０４は、領域特徴ファイルを一括して保存するフォルダを設定しておき、このフォルダ内を調べるようにしてもよい。
ＣＰＵ１０４は、判定の結果、領域特徴ファイルが既にある場合、ステップＳ２８０８に進み、そうでない場合には、ステップＳ２８０５に進む。
ステップＳ２８０５において、ＣＰＵ１０４は、ｎ番目の画像ファイルに対し領域分割処理を施す。領域分割処理については、図２のステップＳ２００３と同様の処理のため、ここでは説明を省略する。
【００５０】
ステップＳ２８０６において、ＣＰＵ１０４は、領域の特徴量を算出する。特徴量の算出方法については、図２のステップＳ２００４と同様の処理のため、ここでは、説明を省略する。
ステップＳ２８０７において、ＣＰＵ１０４は、ステップＳ２８０５の領域分割結果と、ステップＳ２８０６の特徴量算出結果と、に基づいて領域特徴ファイルを生成し、保存する。
ステップＳ２８０８において、ＣＰＵ１０４は、１００１で選択された全ての画像をシーン判定したか否かを調べるために、画像参照のループ変数ｎと、選択画像総数ｎＩｍｇと、の値を比較する。ＣＰＵ１０４は、全ての画像を判定した場合、即ち、ｎがｎＩｍｇより大きくなった場合には、図１７の処理を終了し、そうでない場合には、ステップＳ２８０２進む。
【００５１】
再び、図１６の説明に戻る。
ステップＳ２７０２において、ＣＰＵ１０４は、ｎＩ番目の画像ファイル名に対応する領域特徴ファイルを読み込む。
本実施形態では、領域特徴ファイルと、画像ファイルと、の対応については同一のファイル名とすることで説明した。しかしながら、画像ファイル名とそれに対応する領域特徴ファイル名との関係を公知のデータベース等で管理するような構成としてもよい。
【００５２】
以上、本実施形態によれば、予め検索対象画像に領域分割処理と特徴量算出処理とを施し、その結果を保存しておく。このようにすることで、一度、画像検索した後、別のシーンを再度検索するような場合に一枚一枚の画像に対して領域分割処理と特徴量算出処理とを再度行う必要がなく、処理にかかる時間を省略することができる。
【００５３】
＜実施形態４＞
本実施形態では、シーンプロファイルを用いてシーン判定を行い、判定結果に応じて最適な補正処理を行う例を説明する。
図１８は、実施形態４におけるシーン特定処理及び補正処理の一例を示すフローチャートである。
なお、実施形態１、実施形態２、実施形態３と同様の処理を行う部分については同じ番号を付与し、ここでは説明を省略する。
ＣＰＵ１０４は、ステップＳ２００８において、ｎＰ番目のシーンであると判定した場合、ステップＳ２９０１において、ｎＰ番目のシーンに応じた補正処理方法を決定する。決定方法としては、予め図１９に示すようなシーンと補正情報との対応表を用意しておく。図１９は、シーンと補正情報との対応表の一例を示す図である。そして、ＣＰＵ１０４が、この対応表を参照することでシーンに応じた補正処理方法を決定することができる。本実施形態では、シーンに応じて部分的な領域補正を行う場合を例とするため、対応表としては補正対象オブジェクトと補正方法とに関する情報をもっておく。
【００５４】
ｎＰの値と図１９のシーンＩＤの値とを予め対応付けておくことで、ＣＰＵ１０４は、ｎＰ番目のシーンに対応する補正情報を取得する。以降では、ｎＰ＝１の場合、つまり判定対象画像を「青い空と南国の海」のシーンとして判定した場合を例に説明を行う。
図１９よりｎＰ＝１の場合は青空オブジェクトに対して彩度調整処理を行う。
ステップＳ２９０２において、ＣＰＵ１０４は、画像内の青空オブジェクトに対して彩度調整処理を行う。図２０は、ステップＳ２９０２の詳細な処理を説明するためのフローチャートである。なお、図２０の処理では図４で説明した処理と同様の処理があるため、これらの処理については同じ番号を付与してここでは説明を省略する。
【００５５】
ステップＳ３００１において、ＣＰＵ１０４は、座標（ｉ，ｊ）の画素が青空オブジェクトに含まれる画素か否かを判定する。判定方法については、例えば、図２１で示すようにオブジェクトプロファイル４０２にオブジェクトの識別子となるオブジェクトＩＤ１２０１を記述しておく。そして、図１０のステップＳ２３０４で、ＣＰＵ１０４は、オブジェクト判定を行う際にオブジェクト条件を満たす領域がある場合には、その領域ＩＤとオブジェクトＩＤ１２０１との対応関係を保存しておく。そして、ＣＰＵ１０４は、この対応関係とＩＤマップとを参照すること前記判定を実行する。ＣＰＵ１０４は、座標（ｉ，ｊ）が青空オブジェクトである場合、ステップＳ３００２に進み、そうでない場合、ステップＳ２１０５に進む。
【００５６】
ステップＳ３００２において、ＣＰＵ１０４は、座標（ｉ，ｊ）の画素値から彩度値を算出する。
彩度値Ｓの算出方法としては、例えば以下の式のようにＣＰＵ１０４は、Ｃｂ，Ｃｒ（青成分・赤成分の色差）を求めてから彩度値Ｓを算出する。
Ｃｂ＝−０．１６８７＊Ｒ−０．３３１２＊Ｇ＋０．５０００＊Ｂ
Ｃｒ＝０．５０００＊Ｒ−０．４１８７＊Ｇ−０．０８１３＊Ｂ
Ｓ＝√（Ｃｂ＊Ｃｂ＋Ｃｒ＊Ｃｒ）
【００５７】
ステップＳ３００３において、ＣＰＵ１０４は、青空オブジェクトである画素の彩度を調整する。調整方法としては、例えば、ＣＰＵ１０４は、ステップＳ３００２で算出したＳに対して所定の比率ｒＳをかけるようにすればよい。
なお、本実施形態では、あるシーンと判定されるとシーン判定処理を終了し、補正処理に進む例を示した。しかしながら、ＣＰＵ１０４は、全てのシーンの判定を行い、判定シーンが複数の場合、予めシーンに優先順位を定めておき、その優先順位が一番高いシーンに応じた補正処理を行うようにしてもよい。また、ＣＰＵ１０４は、判定したシーンに対応する補正処理を全て行うようにしてもよい。
【００５８】
また、本実施形態では、シーンに応じた補正方法と補正対象領域とを予め定めているが、更に補正量を定めるような構成としてもよい。
また、本実施形態では、シーンに応じた部分補正を１つのオブジェクトに対して行なうように説明を行った。しかしながら、ＣＰＵ１０４は、複数のオブジェクトに対して別々の処理、或いは補正量を適用するようにしてもよい。
また、本実施形態では、部分補正を行う場合の補正対象画素は、補正対象オブジェクト内の画素として説明を行った。しかしながら、ＣＰＵ１０４は、補正対象オブジェクトの平均色等を算出し、画像内でこの平均色に類似する色をもつ画素を補正対象画素とするようにしてもよい。
【００５９】
本実施形態によれば、画像をシーン判定し、判定結果に応じて補正内容或いは補正量を決定して補正処理を行うため、シーンに応じて最適な補正処理を行うことができる。
【００６０】
＜その他の実施形態＞
また、本発明の目的は、以下のようにすることによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（又は記録媒体）を、システム或いは装置に供給する。そして、そのシステム或いは装置の中央演算処理手段（ＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコードを記録した記憶媒体は本発明を構成することになる。
【００６１】
また、システム或いは装置の前記中央演算処理手段が読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、システム或いは装置上で稼働しているオペレーティングシステム（ＯＳ）等が実際の処理の一部又は全部を行う。その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００６２】
更に、記憶媒体から読み出されたプログラムコードが、前記システム或いは装置に挿入された機能拡張カードや、接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００６３】
本発明を前記記憶媒体に適用する場合、その記憶媒体（コンピュータ読み取り可能な記憶媒体）には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【００６４】
以上、上述した各実施形態によれば、画像の画像種別を適切に特定することができる。
【００６５】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００６６】
【図１】画像処理装置（コンピュータ）のハードウェア構成の一例を示す図である。
【図２】実施形態１におけるシーン特定処理の一例を示すフローチャートである。
【図３】クラスタリング法を用いた領域分割結果の画像の一例を示す図である。
【図４】領域特徴量算出処理の一例を示すフローチャートである。
【図５】実施形態１におけるシーンプロファイルの一例を示す図である。
【図６】「青い空と南国の海のシーン」を表すシーンプロファイルの一例を示す図である。
【図７】ＨＳＶ色空間を用いて条件記述した場合の一例を示す図である。
【図８】典型的な青い空が撮影された画像から、青い空の部分の画素をＨＳＶ色空間上に表した一例を示す図である。
【図９】ＨＳＶ色空間上における青い空の色分布に対する色範囲の一例を示す図である。
【図１０】ステップＳ２００７の詳細な処理を説明するためのフローチャートである。
【図１１】ステップＳ２３０４の詳しい処理を説明するためのフローチャート（その１）である。
【図１２】ステップＳ２３０４の詳しい処理を説明するためのフローチャート（その２）である。
【図１３】シーン判定結果の一例を示す図である。
【図１４】実施形態２における画像検索処理の一例を示すフローチャートである。
【図１５】ユーザインタフェースの一例を示す図である。
【図１６】実施形態３における画像検索処理の一例を示すフローチャートである。
【図１７】領域特徴ファイルの取得処理の一例を示す図である。
【図１８】実施形態４におけるシーン特定処理及び補正処理の一例を示すフローチャートである。
【図１９】シーンと補正情報との対応表の一例を示す図である。
【図２０】ステップＳ２９０２の詳細な処理を説明するためのフローチャートである。
【図２１】実施形態４におけるシーンプロファイルの一例を示す図である。
【符号の説明】
【００６７】
１０１  入力部
１０２  蓄積部
１０３  表示部
１０４  ＣＰＵ
１０５  ＲＯＭ
１０６  ＲＡＭ
【図１】
2010093341.tif 000003
【図２】
2010093341.tif 000004
【図３】
2010093341.tif 000005
【図４】
2010093341.tif 000006
【図５】
2010093341.tif 000007
【図６】
2010093341.tif 000008
【図７】
2010093341.tif 000009
【図８】
2010093341.tif 000010
【図９】
2010093341.tif 000011
【図１０】
2010093341.tif 000012
【図１１】
2010093341.tif 000013
【図１２】
2010093341.tif 000014
【図１３】
2010093341.tif 000015
【図１４】
2010093341.tif 000016
【図１５】
2010093341.tif 000017
【図１６】
2010093341.tif 000018
【図１７】
2010093341.tif 000019
【図１８】
2010093341.tif 000020
【図１９】
2010093341.tif 000021
【図２０】
2010093341.tif 000022
【図２１】
2010093341.tif 000023