(57)【要約】【課題】多種のオブジェクトに適した画像処理を行う。【解決手段】画像データ１３ｂが示す画像に画像処理を実行するにあたり、まず前記画像から第１オブジェクトとしての人の顔と第２オブジェクトとしての動物の顔や不審顔等を検出する。そして、検出された前記第１オブジェクトとしての人の顔に基づき前記画像の全体に対して第１画像処理（ステップＳ２７０，Ｓ２８０）を実行し、前記第２オブジェクトが検出された領域に対して第２画像処理（ステップＳ３００，Ｓ３１０）を実行する。【選択図】図１０
2010004300.tif 000002
【特許請求の範囲】
【請求項１】
画像データが示す画像に画像処理を実行する画像処理方法であって、
前記画像から第１オブジェクトと第２オブジェクトを検出し、
検出された前記第１オブジェクトに基づき前記画像の全体に対して第１画像処理を実行し、
前記第２オブジェクトが検出された領域に対して第２画像処理を実行することを特徴とする画像処理方法。
【請求項２】
前記第１画像処理と前記第２画像処理は、互いに種類の異なる画像処理であることを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記画像において前記第２オブジェクトを指し示す表示を行うことを特徴とする請求項２に記載の画像処理方法。
【請求項４】
前記表示において前記第２画像処理の指示を受け付けることを特徴とする請求項３に記載の画像処理方法。
【請求項５】
前記第１オブジェクトは人の顔であり、前記第２オブジェクトは人の顔に類似するオブジェクトであることを特徴とする請求項１から請求項４のいずれか一項に記載の画像処理方法。
【請求項６】
画像データが示す画像に画像処理を実行する画像処理装置であって、
前記画像から第１オブジェクトと第２オブジェクトを検出する検出手段と、
検出された前記第１オブジェクトに基づき前記画像の全体に対して第１画像処理を実行する第１画像処理手段と、
検出された前記第２オブジェクトに対して第２画像処理を実行する第２画像処理手段とを具備することを特徴とする画像処理装置。
【請求項７】
画像データが示す画像に画像処理を実行する機能をコンピュータに実行させるためのコンピュータ読み取り可能な画像処理プログラムであって、
前記画像から第１オブジェクトと第２オブジェクトを検出する検出機能と、
検出された前記第１オブジェクトに基づき前記画像の全体に対して第１画像処理を実行する第１画像処理機能と、
前記第２オブジェクトが検出された領域に対して第２画像処理を実行する第２画像処理機能とをコンピュータに実行させることを特徴とするコンピュータ読み取り可能な画像処理プログラム。
【請求項８】
画像データが示す画像を印刷する印刷装置であって、
前記画像から第１オブジェクトと第２オブジェクトを検出する検出手段と、
検出された前記第１オブジェクトに基づき前記画像の全体に対して第１画像処理を実行する第１画像処理手段と、
前記第２オブジェクトが検出された領域に対して第２画像処理を実行する第２画像処理手段と、
前記画像データの印刷を実行する印刷実行手段とを具備することを特徴とする印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理方法、画像処理装置、画像処理プログラムおよび印刷装置に関する。
【背景技術】
【０００２】
画像から人物の顔を検出し、その検出結果に応じて画像処理のパラメータを設定するものが提案されている（特許文献１、参照。）。当該文献においては、人物の顔が検出された場合には人物写真用の画像処理のパラメータを設定し、人物の顔が検出されなかった場合には被人物画像用の画像処理のパラメータを設定している。
【特許文献１】特開２００５−６３４０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、デジタルスチルカメラで撮影した写真に含まれるオブジェクトは単一種のものには限られず、同時に複数の種類のオブジェクトが含まれることも考えられる。その場合、上述した文献の技術では、各オブジェクトの性質に応じて適切な画像処理を実行することができないという問題があった。特に、人物写真の場合、人物の顔に注目して撮影を行うが、背景等に意図しない被写体（オブジェクト）が写り込むことがある。多くの場合、ユーザーは、このような意図しないオブジェクトに対して目立たないように補正をしたいと望むが、人物の顔と同様の画像処理が意図しないオブジェクトに対しても行われてしまうという問題があった。
本発明は前記課題にかんがみてなされたもので、多種のオブジェクトに適した画像処理が可能な画像処理方法、画像処理装置、画像処理プログラムおよび印刷装置を提供することを目的とする。
【課題を解決するための手段】
【０００４】
前記課題を解決するため請求項１にかかる発明では、画像データが示す画像に画像処理を実行するにあたり、まず前記画像から第１オブジェクトと第２オブジェクトを検出する。そして、検出された前記第１オブジェクトに基づき前記画像の全体に対する第１画像処理を実行する。例えば、前記第１オブジェクトの色や明るさに基づいて前記画像全体の色や明るさを補正する。一方、前記第２オブジェクトが検出された領域については、上記第１画像処理とは別途、第２画像処理を実行する。この第２画像処理は、前記第２オブジェクトが検出された領域について行われるため、局所的な画像処理効果を得ることができる。
【０００５】
また、前記第１画像処理と前記第２画像処理の好適な例として、前記第１画像処理と前記第２画像処理を互いに種類の異なる画像処理とするようにしてもよい。例えば、前記第１画像処理として前記画像全体の色や明るさを補正し、前記第２画像処理としてシャープネス（強調）処理やぼかし処理等を行うようにしてもよい。このようにすることにより、全体の明るさや色合いを適正にしつつ、好ましい前記第２オブジェクトについては強調し、好ましくない前記第２オブジェクトについてはぼかすことができる。
【０００６】
また、前記第２オブジェクトに対して局所的な前記第２画像処理を行うにあたり、その影響範囲を予めユーザーが確認できるようにするのが望ましい。そのため、前記画像において前記第２オブジェクトを指し示す表示を行うようにしてもよい。このようにすることにより、どのような領域に前記第２画像処理が行われるかを予め知ることができる。例えば、前記第２オブジェクトが検出された領域を枠で囲うようにしてもよい。このような表示を行った場合、さらに前記第２画像処理の指示を受け付けるようにしてもよい。これにより、どのような前記第２オブジェクトが検出されたかを知ることができ、例えば好ましい前記第２オブジェクトについては強調し、好ましくない前記第２オブジェクトについてはぼかすというような選択をすることができる。
【０００７】
前記第１オブジェクトと前記第２オブジェクトの具体的な例として、前記第１オブジェクトは人の顔とし、前記第２オブジェクトを人の顔に類似するものとしてもよい。このようにすることにより、基本的に主たる被写体であると考えられる人の顔に基づいて全体の前記第１画像処理を実行することができる。
【０００８】
さらに、本発明の技術的思想は、具体的な画像処理方法にて具現化されるのみならず、当該方法を画像処理装置において具現化することもできる。すなわち、上述した画像処理方法が行う各工程に対応する手段を有する画像処理装置としても本発明を特定することができる。むろん、上述した画像処理装置がプログラムを読み込んで上述した各手段を実現する場合には、当該各手段に対応する機能を実行させるプログラムや当該プログラムを記録した各種記録媒体においても本発明の技術的思想が具現化できることは言うまでもない。なお、本発明の画像処理装置は、単一の装置のみならず、複数の装置によって分散して存在可能であることはいうまでもない。また、プリンタ等の印刷装置やデジタルスチルカメラ等の画像入力装置において本発明の画像処理方法を実現するようにしてもよい。
【発明を実施するための最良の形態】
【０００９】
ここでは、下記の順序に従って本発明の実施形態について説明する。
（１）コンピュータの構成：
（２）オブジェクト検出処理：
（３）画像処理・印刷処理：
（４）変形例：
【００１０】
（１）コンピュータの構成：
図１は、本発明のオブジェクト検出装置を具体的に実現するコンピュータの概略構成を示している。同図において、コンピュータ１０には、内部バス１８によって接続されたＣＰＵ１１とＲＡＭ１２とＨＤＤ１３とＵＳＢインターフェイス（Ｉ／Ｆ）１４と入力機器インターフェイス（Ｉ／Ｆ）１５とビデオインターフェイス（Ｉ／Ｆ）１６とが備えられており、ＨＤＤ１３には各種プログラムデータ１３ａと複数の画像データ１３ｂ，１３ｂ，１３ｂ・・・が記憶されている。ＣＰＵ１１は、このプログラムデータ１３ａを読み出して、同プログラムデータ１３ａに基づいた処理を、ＲＡＭ１２をワークエリアとして利用しながら実行する。ＵＳＢＩ／Ｆ１４にはプリンタ２０とデジタルスチルカメラ３０が接続されており、入力機器インターフェイス１５にはマウス４０およびキーボード５０が接続されている。さらに、ビデオＩ／Ｆ１６にはディスプレイ６０が接続されている。
【００１１】
図２は、コンピュータ１０にて実行されるプログラムのソフトウェア構成を示している。コンピュータ１０においては図示しないオペレーティングシステム（Ｏ／Ｓ）が実行されており、同Ｏ／Ｓ上にてプリンタドライバＰが実行されている。プリンタドライバＰは、概略、オブジェクト検出部Ｐ１と画像処理部Ｐ２と印刷実行部Ｐ３とから構成されている。オブジェクト検出部Ｐ１は、判定条件設定部Ｐ１ａと検出窓設定部Ｐ１ｂと類似度算出部Ｐ１ｃと閾値判定部Ｐ１ｄと色判定部Ｐ１ｅとコントラスト判定部Ｐ１ｆとから構成されている。オブジェクト検出部Ｐ１は第１オブジェクトとしての人の顔と、第２オブジェクトとしての不審顔および動物の顔等を検出する。なお、不審顔とは、主としてデジタルスチルカメラ等によって撮影された本来は写るべきではない不審な顔であり、例えば被写体の周囲にある反射物によって反射されることにより意図せず写り込んだ顔や、撮影時における光学的／電気的な残像によって写り込んだ顔等が挙げられる。また、人の顔に起因せず、例えば木の葉や石などの偶然の配置によって顔のように見える場合も不審顔の範疇に含まれる。なお、不審顔および動物の顔は、第２オブジェクトとして検出されるものの一例であり、他のものが第２オブジェクトとして検出することも考えられる。
【００１２】
判定条件設定部Ｐ１ａは、後述する検出窓設定部Ｐ１ｂと類似度算出部Ｐ１ｃと閾値判定部Ｐ１ｄと色判定部Ｐ１ｅとコントラスト判定部Ｐ１ｆに種々の判定パラメータを指定するものであり、検出対象が第１オブジェクトであるか第２オブジェクトであるかによって異なる判定パラメータを指定する。検出窓設定部Ｐ１ｂは、対象の画像データ１３ｂからサイズ変換したＱＶＧＡ（３２０×２４０）サイズの検出用画像データを生成し、当該検出用画像データに検出窓（検出領域）ＳＷを設定する。この検出窓ＳＷの大きさと位置と角度を順次シフトさせることにより、検出用画像データにおいてあらゆる大きさや位置や角度で存在する第１オブジェクトと第２オブジェクトを検出することができる。第１オブジェクトと第２オブジェクトを検出する際の検出窓ＳＷの大きさの範囲が判定条件設定部Ｐ１ａによって指定されており、当該指定に沿った範囲で検出窓ＳＷの大きさをシフトさせる。なお、本実施形態において画像データ１３ｂは、Ｅｘｉｆフォーマットの画像データであり、処理時にデコードすることにより、各画素がＲＧＢ値の色情報を有するものとされる。同様に、検出用画像データの各画素もＲＧＢ値の色情報を有する。
【００１３】
類似度算出部Ｐ１ｃは、順次シフトされる検出窓ＳＷに含まれる画像を取得し、当該画像から複数の特徴量（検出窓ＳＷ内の種々の領域における色や輝度やコントラスト等）を取得する。そして、複数の特徴量をＨＤＤ１３に記憶された類似度評価関数１３ｃに入力し、その結果として類似度を算出する。本実施形態の類似度評価関数１３ｃは、顔を含んだ多数のサンプル（テンプレート）から得られた複数の特徴量を学習データとして公知の学習方法によって学習を行ったニューラルネットワークであり、当該ニューラルネットワークの出力値が類似度を示している。この類似度は０〜１０００の値となるように正規化されており、値が大きいほど顔を含んだサンプルとの類似性が高いと判断することができる。すなわち、類似度が１０００に近い場合に検出窓ＳＷに顔が含まれていると判定することができる。閾値判定部Ｐ１ｄは、判定条件設定部Ｐ１ａから指定された閾値と、類似度とを比較し、その結果に応じて当該検出窓ＳＷに第１オブジェクトと第２オブジェクトが存在するか否かを判定する。
【００１４】
色判定部Ｐ１ｅは、検出窓ＳＷに第１オブジェクトとしての顔が存在すると仮定したときに、顔の一部を構成する評価画素が妥当な肌色を示しているか否かを判定する。具体的には、評価画素のＲＧＢ値を公知の変換式によってＨＳＢ値に変換し、このＨＳＢ値が判定条件設定部Ｐ１ａによって指定された所定の色域に属しているか否かによって当該検出窓ＳＷに第１オブジェクト（人の顔）と第２オブジェクト（動物の顔と不審顔等）が存在するか否かを判定する。コントラスト判定部Ｐ１ｆは、検出窓ＳＷにおけるコントラスト値を算出し、当該コントラスト値が判定条件設定部Ｐ１ａによって指定された所定の閾値を満足するか否かによって当該検出窓ＳＷに第１オブジェクト（人の顔）と第２オブジェクト（動物の顔と不審顔等）が存在するか否かを判定する。
【００１５】
一方、画像処理部Ｐ２はＵＩ部Ｐ２ａと第１画像処理部Ｐ２ｂと第２画像処理部Ｐ２ｃとから構成されている。ＵＩ部Ｐ２ａは対象の画像データ１３ｂをディスプレイ６０に表示するとともに、当該画像データ１３ｂの表示において第２オブジェクトが検出された領域を指し示す枠を表示させる。そして、当該枠が表示された領域に対する画像処理の種類の指定をマウス４０およびキーボード５０によって受け付ける。本実施形態では、強調処理とぼかし処理と何もしない、のいずれかを各枠について指定することができる。第１画像処理部Ｐ２ｂは、画像データ１３ｂから検出された第１オブジェクトとしての顔が示す色や明るさを解析し、当該画像データ１３ｂの全体に対する色や明るさの補正処理を第１画像処理として実行する。第２画像処理部Ｐ２ｃは、ＵＩ部Ｐ２ａが受け付けた種類の画像処理を画像データ１３ｂにおいて第２オブジェクトが検出された部分のみに実行する。
【００１６】
印刷実行部Ｐ３は、サイズ変換部Ｐ３ａと色変換部Ｐ３ｂとハーフトーン処理部Ｐ３ｃとラスタライズ部Ｐ３ｄとから構成されている。サイズ変換部Ｐ３ａは、上述した画像処理後の画像データ１３ｂを印刷サイズに対応するようにサイズ変換する。色変換部Ｐ３ｂは、各画素の色がＲＧＢ値で表現された画像データ１３ｂをプリンタ２０が使用するインクの色で表現された画像データ１３ｂに色変換する。例えば、プリンタ２０がＣＭＹＫインクを吐出可能なインクジェットプリンタである場合には、各画素の色がＣＭＹＫ値で表現された画像データ１３ｂに変換される。ハーフトーン処理部Ｐ３ｃは、色変換後の画像データ１３ｂに対して誤差拡散法やディザ法等のハーフトーン処理を行うことにより、各画素についてインクを吐出させるかさせないかを特定するハーフトーンデータに変換する。次に、ラスタライズ部Ｐ３ｄがハーフトーンデータを印刷順に並べ替え、印刷用紙や印刷解像度を指定するヘッダを添付することにより、プリンタ２０にて出力可能な印刷データを生成する。印刷データはＵＳＢＩ／Ｆ１４を介してプリンタ２０に出力され、同プリンタ２０にて同印刷データに基づく印刷が行われる。
【００１７】
（２）オブジェクト検出処理
図３はオブジェクト検出処理の流れを示している。ステップＳ１００では、判定条件設定部Ｐ１ａは、画像データ１３ｂにおける被写体の実サイズが特定可能かを判定する。具体的には、ＨＤＤ１３から取得した対象の画像データ１３ｂをデコードし、画像データ１３ｂにおいてタグ情報として添付されている撮影情報を取得する。そして、撮影情報として、カメラ機種と被写体距離Ａ［ｍ］とレンズ焦点距離Ｂ［ｍｍ］とデジタルズーム倍率Ｄがすべて添付されている場合には、画像データ１３ｂにおける被写体の実サイズが特定可能であると判定する。ここで、以上の情報に基づいて、画像データ１３ｂにおける被写体の実サイズが特定できる理由を説明する。
【００１８】
図４は、画像データ１３ｂにおける被写体の実サイズを算出する様子を模式的に示している。同図において、ある被写体をデジタルスチルカメラによって撮影したときの光路断面を模式的に示しており、デジタルスチルカメラが備える画像センサ上に被写体の像がレンズを介して結像されている。まず、カメラ機種が特定可能であるため、画像センサの有効サイズＳ［ｍｍ］および撮像画素数Ｐ［ピクセル］を特定することができる。本実施形態では、撮像画素数Ｐと同じ画素数の画像データ１３ｂが生成されるものとする。また、デジタルズームを行った場合には、最初の段階で撮像画素数Ｐの一部（Ｐ／Ｄ）の画素数の画像データが生成されることとなるが、その後、Ｄ倍の画素補間を行うことにより、最終的に撮像画素数Ｐと同じ画素数の画像データ１３ｂが生成されるものとして以下説明する。
【００１９】
まず、画像センサ上における各撮像画素の大きさはＳ／Ｐ［ｍｍ］によって表すことができ、画像データ１３ｂにおいて画素数Ｃ［ピクセル］の被写体が画像センサ上に結像された大きさはＣ×Ｓ／Ｐ［ｍｍ］によって表すことができる。デジタルズームを行った場合には、像データ１３ｂにおいて画素数Ｃ［ピクセル］の被写体が画像センサ上に結像された大きさはＣ×Ｓ／（Ｐ×Ｄ）［ｍｍ］によって表すことができる。以上のように画像センサの上被写体の大きさが特定できると、図４に示す被写体と画像センサとレンズの位置関係から実際の被写体の大きさＸ［ｍｍ］は、下記の（１）式によって表すことができる。
Ｘ＝（Ａ×１０００）×Ｃ×Ｓ／（Ｐ×Ｄ×Ｂ）    ・・・（１）
これにより、画像データ１３ｂ上の任意の画素数Ｃの被写体が検出された場合に、当該被写体の実際の大きさを特定することができる。ステップＳ１００にて、被写体の実際の大きさを特定可能であると判定された場合には、ステップＳ１１０にて判定条件設定部Ｐ１ａが検出窓設定部Ｐ１ｂと類似度算出部Ｐ１ｃと閾値判定部Ｐ１ｄと色判定部Ｐ１ｅとコントラスト判定部Ｐ１ｆに各種の判定パラメータを指定する。そして、ステップＳ１２０において判定処理（第１判定手段）を実行する。
【００２０】
図５は、検出窓設定部Ｐ１ｂと閾値判定部Ｐ１ｄと色判定部Ｐ１ｅとコントラスト判定部Ｐ１ｆが実行する一連の第１判定処理（ステップＳ１２０）のフローを模式的に示している。なお、本実施形態では、第１判定処理（ステップＳ１２０）と第１判定処理（ステップＳ１５０）と第３判定処理（ステップＳ１８０）が実行されるが、それぞれについて判定条件設定部Ｐ１ａが異なる判定パラメータを指定することにより、性格の異なる判定結果を得ることができる。ここでは、まず第１判定処理（ステップＳ１２０）について説明する。ステップＳ１１０において、判定条件設定部Ｐ１は、検出窓設定部Ｐ１ｂに対してシフトさせる検出窓ＳＷの大きさの範囲を１０〜４０ｃｍに指定する。
【００２１】
これにより、人の顔として妥当な大きさの範囲に検出窓ＳＷを設定することができる。なお、検出窓ＳＷの大きさを１０〜４０ｃｍと設定するためには、上述した（１）式の関係を利用する。前記の（１）式の被写体の大きさＸ［ｍｍ］に１０〜４０ｃｍ（１００〜４００ｍｍ）を代入することにより、当該大きさに対応する画像データ１３ｂの画素数Ｃを特定することができる。さらに、画素数ＣをＱＶＧＡサイズに換算することにより、検出用画像データにおいて設定すべき検出窓ＳＷの大きさを特定することができる。
【００２２】
検出窓設定部Ｐ１ｂは、指定された範囲内で検出窓ＳＷの大きさをシフトさせつつ、検出窓ＳＷの位置や角度を順次シフトすることにより、画像データ１３ｂを縮小した検出用画像データにおいて漏れのない顔の検出を行わせる。検出窓設定部Ｐ１ｂが検出窓ＳＷをシフトさせるごとに、類似度算出部Ｐ１ｃが検出窓ＳＷに属する画像を取得し、当該画像から類似度評価関数１３ｃに入力する複数の特徴量を取得する。そして、類似度評価関数１３ｃに特徴量を入力することにより、ニューラルネットワークの出力値としての類似度（０〜１０００）を算出する。この類似度は、現在の検出窓ＳＷに属する画像が人の顔とどれだけ類似しているかを示す指標値である。
【００２３】
ステップＳ１１０において、判定条件設定部Ｐ１は、閾値判定部Ｐ１ｄに対して類似度の閾値を３００と指定する。閾値判定部Ｐ１ｄは類似度評価関数１３ｃから類似度を取得し、当該類似度が閾値以上であれば、さらに色判定部Ｐ１ｅとコントラスト判定部Ｐ１ｆによって人の顔として妥当な色およびコントラストを有しているか否かが判定される。一方、類似度が閾値より小さければ、当該検出窓ＳＷについての色およびコントラストの判定をスキップさせ、検出窓設定部Ｐ１ｂが次の検出窓ＳＷを設定する。ステップＳ１２０において、色判定部Ｐ１ｅは、検出窓ＳＷに属する画素のＲＧＢ値を取得し、当該ＲＧＢ値が肌色として妥当なものであるか否かを判定する。具体的には、ＲＧＢ値をＨＳＶ値に変換し、当該ＨＳＶ値がＨＳＶ空間における所定の色域に含まれるか否かを判定する。この色域は、予め判定条件設定部Ｐ１によって指定される。
【００２４】
図６は、色判定部Ｐ１ｅが判定を行う色域を示している。同図においては、ＨＳＶ空間が示されており、ＨＳＶ空間において所定の色相・彩度の範囲（色相面での楕円領域）を設定することにより、人の顔の肌色として妥当な色域を指定している。ステップＳ１１０においては判定条件設定部Ｐ１が肌色に対応した色域を指定しており、ステップＳ１２０の第１判定処理では検出窓ＳＷに属する画素が厳密な肌色であるか否かが判定される。ここで、肌色と判定された場合には、当該検出窓ＳＷについてコントラスト判定部Ｐ１ｆが引き続き判定を行う。一方、肌色と判定されなかった場合には、顔に類似しているが、顔色が正常でないとして、当該検出窓ＳＷに第２オブジェクトとしての動物の顔または不審顔等が含まれると判定し、検出窓設定部Ｐ１ｂが次の検出窓ＳＷを設定し、次の検出窓ＳＷについての判定処理を行う。
【００２５】
コントラスト判定部Ｐ１ｆは、検出窓ＳＷに属する画素のＲＧＢ値を取得し、当該ＲＧＢ値に基づいて各画素の輝度Ｙ値を算出する。そして、検出窓ＳＷに属する全画素のＲＧＢＹ値の最大値ＲmaxＧmaxＢmaxＹmaxを検出し、全画素のＲＧＢＹ値の最小値ＲminＧminＢminＹminを検出する。そして、Ｒmax／Ｒmin，Ｇmax／Ｇmin，Ｂmax／Ｂmin，Ｙmax／Ｙminのうち最大のものをコントラスト値とする。ステップＳ１１０において、判定条件設定部Ｐ１は予め色判定部Ｐ１ｅに対してコントラスト値の閾値を設定する。
【００２６】
そのため、ステップＳ１２０では、検出窓ＳＷに属する画像が高いコントラスト値を有しているか否かが判定される。そして、検出窓ＳＷに属する画像が高いコントラスト値を有している場合には、当該検出窓ＳＷに第１オブジェクトとしての顔が含まれると判定し、検出窓設定部Ｐ１ｂが次の検出窓ＳＷを設定し、次の検出窓ＳＷについての判定処理を行う。一方、検出窓ＳＷに属する画像が高いコントラスト値を有していない場合には、当該検出窓ＳＷに第２オブジェクトとしての動物の顔または不審顔等が含まれると判定し、検出窓設定部Ｐ１ｂが次の検出窓ＳＷを設定し、次の検出窓ＳＷについての判定処理を行う。すべての指定された大きさの範囲で、すべての位置および角度の検出窓ＳＷについての設定／判定が完了すると、第１判定処理が完了する。
【００２７】
以上の第１判定処理により、検出窓設定部Ｐ１ｂが検出窓ＳＷを順次シフトさせるごとに、各検出窓ＳＷについての一連の判定処理が実行され、各検出窓ＳＷについて、第１オブジェクトとしての人の顔が存在するか、第２オブジェクトとしての動物の顔または不審顔等が存在するか、いずれも存在しないかが判定される。ここで、第１オブジェクトとしての人の顔が存在すると判定されるための条件として、人の顔との類似度が高く、かつ、色が肌色を示し、かつ、コントラストが大きい要求されることとなる。また、第２オブジェクトとしての動物の顔または不審顔等が存在すると判定されるための条件として、人の顔との類似度が高いが色が肌色ではない、または、人の顔との類似度が高いがコントラストが小さいことが要求されることとなる。例えば、犬や猫などの場合、顔器官の配置がある程度類似するが、肌色でないことが多い。また、残像や反射による不審顔の場合、顔の形状はある程度類似するが、コントラストが得られないことが多い。
【００２８】
以上の第１判定処理が完了すると、ステップＳ１２０で第１または第２オブジェクトが検出されたすべての検出窓ＳＷについての判定結果を取得し、当該判定結果を記述したテーブルを検出データ１３ｄとしてＨＤＤ１３に記憶する（ステップＳ１３０）。ステップＳ１４０においては、ステップＳ１１０と同様に判定条件設定部Ｐ１ａが検出窓設定部Ｐ１ｂと類似度算出部Ｐ１ｃと閾値判定部Ｐ１ｄと色判定部Ｐ１ｅとコントラスト判定部Ｐ１ｆに各種の判定パラメータを指定する。そして、ステップＳ１５０において第２判定処理（第２判定手段）を実行する。第２判定処理は、上述した第１判定処理と似た処理であるが、判定条件設定部Ｐ１ａがステップＳ１１０とは異なる判定パラメータを設定するため、性質の異なる判定結果が得られることとなる。以下、ステップＳ１５０における第２判定処理について説明する。
【００２９】
図７は、検出窓設定部Ｐ１ｂと閾値判定部Ｐ１ｄと色判定部Ｐ１ｅとコントラスト判定部Ｐ１ｆが実行する一連の第２判定処理（ステップＳ１５０）のフローを模式的に示している。判定条件設定部Ｐ１ａは、検出窓設定部Ｐ１ｂに設定すべき検出窓ＳＷの範囲を１０ｃｍより小さい、または、４０ｃｍより大きい範囲と指定する。すなわち、ステップＳ１２０の判定処理では検出を行わなかった大きさの検出窓ＳＷを設定する。閾値判定部Ｐ１ｄに対しては、類似度の閾値を１００と指定する。このようにすることにより、ステップＳ１２０よりも人の顔らしくないオブジェクトについても閾値判定部Ｐ１ｄを検出することができる。また、色判定部Ｐ１ｅとコントラスト判定部Ｐ１ｆに指定される色域の広さとコントラスト値の閾値は変わらないが、色判定部Ｐ１ｅとコントラスト判定部Ｐ１ｆの判定のいずれも否定的である場合に第２オブジェクトとしての動物の顔または不審顔等が存在すると判定する。
【００３０】
すなわち、人の顔と明らかに大きさが異なっているものの人の顔と画像的に類似している場合において、コントラストが低く、かつ、肌色を示さない場合には、動物の顔または不審顔等であると判定する。動物の顔や不審顔等は人間の顔に大きくは類似しないものの若干類似すると考えることができるため、類似度の閾値を１００に緩和することにより、動物の顔や不審顔等を検出することができる。さらに、コントラストが高いものや、肌色を示すものを動物の顔や不審顔等として検出しないことにより、背景やポスターや衣服等に存在する人の顔の絵や写真を動物の顔や不審顔等として検出することが防止できる。なお、ここにおける肌色の判定は第１オブジェクトとしての人間の顔を検出することを目的としていないため、肌色の色域をステップＳ１２０の場合よりも大きくするようにしてもよい。
【００３１】
また、同様にコントラスト値の閾値をステップＳ１２０の場合よりも緩和するようにしてもよい。すべての位置および角度の検出窓ＳＷの設定が完了すると第２判定処理（ステップＳ１５０）を完了させる。以上の第２判定処理が完了すると、ステップＳ１５０で第２オブジェクトが検出されたすべての検出窓ＳＷについての判定結果を取得し、検出データ１３ｄに判定結果を追記する（ステップＳ１６０）。
【００３２】
以上においては、被写体の実サイズに基づいて第１判定処理および第２判定処理を順次実行することにより、第１オブジェクトと第２オブジェクトを検出するようにしたが、ステップＳ１００において被写体の実サイズが特定不可能であると判定された場合には、判定条件設定部Ｐ１ａがステップＳ１７０において判定パラメータを設定し、第３判定処理（ステップＳ１８０）を実行する。第３判定処理は、上述した第１および第２判定処理と似た処理であるが、判定条件設定部Ｐ１ａがステップＳ１１０，Ｓ１４０とは異なる判定パラメータを設定するため、性質の異なる判定結果が得られることとなる。以下、ステップＳ１８０における第３判定処理について説明する。
【００３３】
図８は、検出窓設定部Ｐ１ｂと閾値判定部Ｐ１ｄと色判定部Ｐ１ｅとコントラスト判定部Ｐ１ｆが実行する一連の第３判定処理（ステップＳ１８０）のフローを模式的に示している。判定条件設定部Ｐ１ａは、検出窓設定部Ｐ１ｂに設定すべき検出窓ＳＷの範囲を全範囲と指定する。閾値判定部Ｐ１ｄに対しては、類似度の閾値を５００と指定する。このように、最も大きい閾値を設定することにより、厳密に人の顔のみを検出することができる。また、類似度が閾値を満足した場合に、コントラスト判定部Ｐ１ｆによる判定を行わせず、色判定部Ｐ１ｅによる判定のみを行わせるようにする。そして、検出窓ＳＷに属する画像は、５００以上の類似度を有し、かつ、色が肌色を示す場合には、当該検出窓ＳＷに第１オブジェクトとしての人の顔が存在すると判定する。これ以外の場合には、いずれのオブジェクトも存在しないと判定する。すべての位置および角度の検出窓ＳＷの設定が完了すると第３判定処理（ステップＳ１８０）を完了させる。以上の第３判定処理が完了すると、ステップＳ１８０で第１オブジェクトが検出されたすべての検出窓ＳＷについての判定結果を取得し、当該判定結果を記述したテーブルを検出データ１３ｄとしてＨＤＤ１３に記憶する（ステップＳ１９０）。
【００３４】
以上説明したように、本実施形態では、第１判定処理（ステップＳ１２０）と第２判定処理（ステップＳ１５０）と第３判定処理（ステップＳ１８０）において、類似度に対してそれぞれ異なる閾値を３００，１００，５００に設定する。最も高い類似度を要求する第３判定処理においては、第１オブジェクトとしての人の顔のみを正確に検出することができる。次に高い類似度を要求する第１判定処理においては、第１オブジェクトとしての人の顔および第２オブジェクトとしての動物の顔と不審顔等を検出する。最も類似度が緩和される第２判定処理は、第２オブジェクトとしての動物の顔と不審顔等を検出するために利用される。このように、複数の閾値（３００，１００，５００）を使い分けることにより、人の顔のサンプルを用いて学習させた類似度評価関数１３ｃのみを使用して、人の顔のみならず動物の顔や不審顔等も検出することができる。従って、動物の顔や不審顔等を検出するための類似度評価関数１３ｃの準備をしなくても済む。
【００３５】
（３）画像処理・印刷処理
図９は、画像処理の流れを示している。まずステップＳ２００において、ＵＩ部Ｐ２ａがステップＳ１３０，Ｓ１６０，Ｓ１９０において記憶された検出データ１３ｄを取得する。そして、ステップＳ２１０において、ＵＩ部Ｐ２ａは、検出データ１３ｄにおいて第２オブジェクトとしての動物の顔または不審顔等が存在すると判定されたと記述されている検出窓ＳＷの位置と大きさと角度を検索する。そして、ステップＳ２３０では、プレビュー画面をディスプレイ６０に表示させる。このプレビュー画面において、オブジェクト検出処理を行った画像データ１３ｂが示す画像が所定の解像度で表示されるとともに、検索された検出窓ＳＷの外縁を示す矩形枠を表示させる。
【００３６】
図１０は、プレビュー画面の一例を示している。同図において、画像データ１３ｂが示す画像として人と犬が撮影された画像が表示されている。撮影された人の顔と比較すると、犬の顔は１０〜４０ｃｍの範囲内に入っているが、肌色を示さないため、第１判定処理の結果、第２オブジェクトと判定されている。そのため、犬の顔を含むように枠が表示されている。プレビュー画面の下方においては、枠で表示された領域に対する画像処理（第２画像処理）の指示を受け付けるチェックボックスが設けられており、マウス４０によって、そのまま印刷と、強調処理と、ぼかし処理のいずれかを選択することが可能となっている。なお、第２オブジェクトとしての動物の顔または不審顔等が一つも検出されなかった場合には、これらのチェックボックスを無効化する。全体の領域に対する画像処理の指示を受け付けるチェックボックスも設けられており、そのまま印刷と、自動補正処理のいずれかを選択することが可能となっている。そして、いずれかにチェックが入れられた状態で、印刷実行ボタンをクリックすることが可能となっている。
【００３７】
ステップＳ２３０では、ＵＩ部Ｐ２ａが印刷実行ボタンのクリックを受け付け、各チェックボックスの選択状況を取得する。自動補正処理がチェックされているか否か判定し（ステップＳ２４０）、チェックされている場合には、第１画像処理部Ｐ２ｂがステップＳ２５０にて検出データ１３ｄを参照して第１オブジェクトが検出されたか否かを判定する。第１オブジェクトとしての人の顔が検出されていない場合、第１画像処理部Ｐ２ｂは、画像データ１３ｂが示す画像全体の画素から偏りなくサンプリングを行い、サンプリングした画素が示す色や明るさに基づいて全体の補正パラメータを設定する（ステップＳ２６０）。具体的には、全体に的に暗い／明るい場合には、全体的に輝度を上方／下方修正するような補正パラメータを設定するようにしてもよい。
【００３８】
また、ＲＧＢ値の分布バランスが悪い場合に、カラーバランスを補正（色かぶり補正）するような補正パラメータを設定する。一方、第１オブジェクトとしての人の顔が検出されている場合、第１画像処理部Ｐ２ｂは、当該顔が検出された検出窓ＳＷに属する画素からサンプリングを行い、サンプリングした画素が示す色や明るさに基づいて全体の補正パラメータを設定する（ステップＳ２７０）。ここでも、明るさやカラーバランスの補正パラメータが設定される。ただし、検出された顔の領域に注目して補正パラメータが設定されるため、例えば逆光撮影時のように全体に明るく人の顔が暗いような場合にも、適正な補正パラメータを設定することができる。以上のように、補正パラメータが設定できると、ステップＳ２８０において、第１画像処理部（第１画像処理手段）Ｐ２ｂが画像データ１３ｂの各画素を取得し、各画素のＲＧＢ値を順次補正していく。なお、自動補正処理がチェックされていない場合には、ステップＳ２６０〜２８０はスキップされる。
【００３９】
例えば明るく補正すべき旨の補正パラメータが設定された場合、所定階調（例えば、６４階調）の補正後のＲＧＢ値をもとのＲＧＢ値よりも大きくなるような補正値を設定し、スプライン曲線によって全体（最大値と最小値と当該補正値）を結ぶ補正曲線を生成する。このような補正前後の関係を記述した補正用のＬＵＴ（ルックアップテーブル）を作成し、当該ＬＵＴを参照して補正後のＲＧＢ値に変換することにより自動補正処理を行うことができる。人の顔が検出されている場合、ステップＳ２７０において顔の明るさに基づいて補正曲線が設定されるため、顔の明るさが適切な補正結果を得ることができる。ステップＳ２８０では、画像データ１３ｂを構成するすべての画素を順次選択し、上述した補正曲線を適用する。それにより、画像データ１３ｂが示す画像全体が補正される。
【００４０】
次のステップＳ２９０においては、枠で表示された領域について、そのまま印刷と、強調処理と、ぼかし処理のいずれが選択されているかを第２画像処理部Ｐ２ｃが判定する。そのまま印刷が選択されている場合（またはチェックボックスを無効化した場合）には、画像処理は終了する。一方、強調処理とぼかし処理のいずれかが選択された場合には、ステップＳ３００，３１０において、第２オブジェクトとしての動物の顔または不審顔等について指定された画像処理（第２画像処理手段）を実行する。例えば、アンシャープマスクを用いて、強調処理とぼかし処理を行ってもよい。ステップＳ３００，３１０では、画像データ１３ｂを構成する画素のうち第２オブジェクトとしての動物の顔または不審顔等が検出された検出窓ＳＷに属する画素のみを順次補正する。これにより、画像のうち動物の顔または不審顔等が存在する部分のみを補正することができる。第２画像処理が完了すると、次の印刷処理へ移行する。
【００４１】
上述したように第２オブジェクトは、人の顔にはある程度類似しているが、大きさや色やコントラストが通常の人の顔とは異なるものであり、代表的な例として動物の顔または不審顔等が当てはまる。しかしながら、第２オブジェクトとして検出されたものが、具体的に何を示しているかは上述した第１および第２判定処理によって特定することができない。例えば、第２オブジェクトとして検出されたものがペット等の動物の顔である場合にはユーザーは強調することを望むと予想されるが、第２オブジェクトとして検出されたものが不審顔等の一見して得体の知れないものである場合には心霊写真等と誤解されるのを防止するためにユーザーはぼかすことを望むと予想される。むろん、何も補正をすることなく印刷することを望むことも考えられる。本実施形態のように、第２オブジェクトが存在すると判定された領域に枠を表示させつつ画像処理の指示をユーザーから受け付けることにより、実際の第２オブジェクトに適した第２画像処理を実行させることができる。
【００４２】
図１１は、印刷処理の流れを示している。ステップＳ４００では、サイズ変換部Ｐ３ａが画像処理後の画像データ１３ｂを印刷サイズに対応するようにサイズ変換する。ステップＳ４１０において、色変換部Ｐ３ｂは、各画素の色がＲＧＢ値で表現された画像データ１３ｂをプリンタ２０が使用するＣＭＹＫインクのインク量の画像データ１３ｂに色変換する。例えば、ＲＧＢ色空間とＣＭＹＫ色空間との対応関係を規定した色変換ＬＵＴを参照して色変換を行う。ステップＳ４２０では、ハーフトーン処理部Ｐ３ｃが画像データ１３ｂに対して誤差拡散法やディザ法等のハーフトーン処理を行うことにより、各画素についてインクを吐出させるか否かを特定するハーフトーンデータに変換する。
【００４３】
また、プリンタ２０が複数の大きさのインク滴を吐出する場合には、その大きさも特定するようなハーフトーンデータに変換してもよい。ステップＳ４３０においては、ラスタライズ部Ｐ３ｄがハーフトーンデータを各主走査パスとインクを吐出するノズルに割り振るラスタライズ処理を行うことにより印刷データを生成する。さらに、印刷用紙や印刷解像度を指定するヘッダを印刷データに添付することにより、プリンタ２０を制御可能な印刷データを生成する。ステップＳ４４０では、印刷データがＵＳＢＩ／Ｆ１４を介してプリンタ２０に出力され、同プリンタ２０にて同印刷データに基づく印刷が実際に行われる。
【００４４】
（４）変形例
以上においては、コンピュータ１０が本発明にかかるオブジェクト検出や画像処理を実行するものを例示したが、コンピュータ１０の機能をプリンタ２０が備えるハードウェア・ソフトウェア資源によって実行させるようにしてもよい。むろん、画像データ１３ｂに対するオブジェクト検出や画像処理は画像入力した段階で行ってもよく、例えばデジタルスチルカメラやスキャナ等において上述した処理を実行するようにしてもよい。上述した実施形態では、被写体の大きさが特定可能であるか否かによって、第１判定処理，第２判定処理を実行させるか、第３判定処理を実行させるかを切り換えるようにしたが、ユーザーの選択によって切り換えるようにしてもよい。
【図面の簡単な説明】
【００４５】
【図１】コンピュータのハードウェアブロック図である。
【図２】コンピュータのソフトウェアブロック図である。
【図３】オブジェクト検出処理の流れを示すフローチャートである。
【図４】被写体の実サイズを算出する様子を示す模式図である。
【図５】第１判定処理の流れを示す模式図である。
【図６】色判定部が判定を行う色域を示す図である。
【図７】第２判定処理の流れを示す模式図である。
【図８】第３判定処理の流れを示す模式図である。
【図９】画像処理の流れを示すフローチャートである。
【図１０】プレビュー画面を示す図である。
【図１１】印刷処理の流れを示すフローチャートである。
【符号の説明】
【００４６】
１０…コンピュータ，１８…バス，１１…ＣＰＵ，１２…ＲＡＭ，１３…ＨＤＤ，１３ａ…プログラムデータ，１３ｂ…画像データ，１４…ＵＳＢＩ／Ｆ，１５…入力機器Ｉ／Ｆ，１６…ビデオＩ／Ｆ，２０…プリンタ，３０…デジタルスチルカメラ，４０…マウス，５０…キーボード，６０…ディスプレイ，Ｐ…プリンタドライバ，Ｐ１…オブジェクト検出部，Ｐ１ａ…判定条件設定部，Ｐ１ｂ…検出窓設定部，Ｐ１ｃ…類似度算出部，Ｐ１ｄ…閾値判定部，Ｐ１ｅ…色判定部，Ｐ１ｆ…コントラスト判定部，Ｐ２…画像処理部，Ｐ２ａ…ＵＩ部，Ｐ２ｂ…第１画像処理部，Ｐ２ｃ…第２画像処理部，Ｐ３…印刷実行部，Ｐ３ａ…サイズ変換部，Ｐ３ｂ…色変換部，Ｐ３ｃ…ハーフトーン処理部，Ｐ３ｄ…ラスタライズ部 
【図１】
2010004300.tif 000003
【図２】
2010004300.tif 000004
【図３】
2010004300.tif 000005
【図４】
2010004300.tif 000006
【図５】
2010004300.tif 000007
【図６】
2010004300.tif 000008
【図７】
2010004300.tif 000009
【図８】
2010004300.tif 000010
【図９】
2010004300.tif 000011
【図１０】
2010004300.tif 000012
【図１１】
2010004300.tif 000013