(57)【特許請求の範囲】
【請求項１】
画像データから人物の顔を認識する顔認識処理を実行して第１顔情報を検出する顔情報検出部と、
前記画像データに付加される第２顔情報を取得する顔情報取得部と、
前記第１顔情報により特定される領域と前記第２顔情報により特定される領域とが重複している場合に、前記第１顔情報及び前記第２顔情報の少なくとも一方に対して処理に用いるかどうかを該情報で特定される画像の明度・色相・サイズの少なくともいずれかに基づいて選択をする情報選択部と、
前記第１顔情報及び前記第２顔情報のうち、処理に用いるとして選択された情報を用いて前記画像データに対する処理を行う処理部と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記情報選択部は、第２顔情報により特定される第２顔領域の平均顔明度を算出するとともに前記平均顔明度を含む適正顔明度範囲を求め、前記第１顔情報で特定される領域の顔明度が前記適正顔明度範囲から外れるときには該領域に対応する前記第１顔情報を処理に用いないものとする請求項１に記載の画像処理装置。
【請求項３】
前記情報選択部は、第２顔情報により特定される第２顔領域の平均顔サイズを算出するとともに前記平均顔サイズを含む適正顔サイズ範囲を求め、前記第１顔情報で特定される領域の顔サイズが前記適正顔サイズ範囲から外れるときには該領域に対応する前記第１顔情報を処理に用いないものとする請求項１または２に記載の画像処理装置。
【請求項４】
前記情報選択部は、前記第２顔情報により特定される領域と重なる前記第１顔情報により特定される領域の色相が肌色であるときには、第１顔領域を特定する第１顔情報を処理に用いるものとし、前記第２顔情報により特定される領域と重なる前記第１顔情報により特定される領域の色相が肌色でないときには、第１顔領域を特定する第１顔情報を処理に用いないものとする請求項１ないし３のいずれか一項に記載の画像処理装置。
【請求項５】
前記情報選択部は、前記第１顔情報により特定される領域と重なる前記第２顔情報により特定される領域の色相が肌色であるときには、第２顔領域を特定する第２顔情報を処理に用いるものとし、前記第１顔情報により特定される領域と重なる前記第２顔情報により特定される領域の色相が肌色でないときには、第２顔領域を特定する第２顔情報を処理に用いないものとする請求項１ないし４のいずれか一項に記載の画像処理装置。
【請求項６】
画像データから人物の顔を認識する顔認識処理を実行して第１顔情報を検出する第１工程と、
前記画像データに付加される第２顔情報を取得する第２工程と、
前記第１顔情報により特定される領域と前記第２顔情報により特定される領域とが重複している場合に、前記第１顔情報及び前記第２顔情報の少なくとも一方に対して処理に用いるかどうかを該情報で特定される画像の明度・色相・サイズの少なくともいずれかに基づいて選択をする第３工程と、
前記第１顔情報及び前記第２顔情報のうち、処理に用いるとして選択された情報を用いて前記画像データに対する処理を行う第４工程と、
をコンピューターに実行させることを特徴とする画像処理プログラム。
【請求項７】
画像データから人物の顔を認識する顔認識処理を実行して第１顔情報を検出する第１工程と、
前記画像データに付加される第２顔情報を取得する第２工程と、
前記第１顔情報により特定される領域と前記第２顔情報により特定される領域とが重複している場合に、前記第１顔情報及び前記第２顔情報の少なくとも一方に対して処理に用いるかどうかを該情報で特定される画像の明度・色相・サイズの少なくともいずれかに基づいて選択をする第３工程と
前記第１顔情報及び前記第２顔情報のうち、処理に用いるとして選択された情報を用いて前記画像データに対する処理を行う第４工程と、
を備えることを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像データに付加される顔情報および該画像データから検出した顔情報に基づいて画像データを補正する画像処理装置および画像処理方法に関するものである。
【背景技術】
【０００２】
近年、デジタルカメラで撮影時に画像を解析して補正を行うことが多くなってきた。その補正処理の一つとして、顔認識処理がある。これは、被写体に人物が含まれている際に画像から人物の顔を認識し、その認識した顔に合わせてオートフォーカスや露出を制御する機能である。また、顔認識機能を有するデジタルカメラでは、顔認識処理により得られる顔情報（顔オブジェクト情報や顔検出結果などと称することもある）を画像データに付加することが提案されている（例えば特許文献１参照）。そして、この特許文献１に記載の印刷装置では、画像データに付加される顔情報に基づいて画像データに対して色補正が実行され、色補正済の画像が印刷される。このように、デジタルカメラによる顔認識結果を利用して印刷装置側で独自に補正をかける技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２１３４５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、デジタルカメラの顔認識によって被写体に含まれる人物の顔の全部が完全かつ正確に認識される保証はない。このため、デジタルカメラ側での顔認識の補佐あるいは再確認を行う意味で印刷装置側でも独自に顔認識を行うことは有効である。その一方で、デジタルカメラ側での顔認識処理により検出された顔領域（以下、「カメラ顔領域」という）と、印刷装置側での顔認識処理により検出された顔領域（以下「プリンター顔領域」という）とが重なり、同一人物の顔を検出しているにもかかわらず、２種類の顔情報（つまり、カメラ顔領域を特定するカメラ側顔情報と、プリンター顔領域を特定するプリンター側顔情報）が併存することがある。このような場合、これら２種類の顔情報をどのように取り扱うことで適正な補正を行うことができるか十分に検討されていなかった。
【０００５】
この発明にかかるいくつかの態様は、画像データに付加される顔情報および該画像データから検出した顔情報に基づいて画像データを補正する画像処理装置および画像処理方法に、顔情報を適正に選択して画像データを補正することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の態様は、画像データから人物の顔を認識する顔認識処理を実行して第１顔情報を検出する顔情報検出部と、画像データに付加される第２顔情報を取得する顔情報取得部と、顔情報を含む補正基礎情報に基づいて画像データを補正する補正部と、第１顔情報で特定される第１顔領域が第２顔情報で特定される第２顔領域と重なるときには、第１顔領域と重なる第２顔領域を特定する第２顔情報を補正基礎情報に含める情報選択部とを備えることを特徴としている。
【０００７】
また、本発明の第２の態様は、画像データから人物の顔を認識する顔認識処理を実行して第１顔情報を検出する第１工程と、画像データに付加される第２顔情報を取得する第２工程と、第１顔情報で特定される第１顔領域が第２顔情報で特定される第２顔領域と重なるときには第１顔領域が第２顔領域に重なる第２顔情報に基づいて画像データを補正する第３工程とを備えることを特徴としている。
【０００８】
このように構成された発明（画像処理装置および画像処理方法）では、画像データから人物の顔を認識する顔認識処理を実行して第１顔情報を検出するとともに、画像データに付加される第２顔情報を取得している。このため、同一人物の顔に対して２種類の顔情報が存在し、第１顔情報で特定される第１顔領域が第２顔情報により特定される第２顔領域と重なることがある。この場合、両顔領域が完全に一致しているのであれば、いずれの顔情報を用いてもよいのであるが、次のような場合、第１顔領域が第２顔領域と不自然に重なることがある。例えば、第１顔情報の誤検出が発生したり、第２顔情報に対応する人物と異なる被写体の顔を検出してしまうことがあり、これらの要因により第２顔領域と不自然に重なるものをそのまま画像データを補正するための情報、つまり補正基礎情報として利用すると、既に実行された顔認識の補佐あるいは再確認を行う技術的意味が失われてしまう。そこで、本発明では、上記のように第１顔領域が第２顔領域と重なる場合には、第２顔領域を特定する第２顔情報に基づき画像データを補正している。
【０００９】
ここで、第１顔情報で特定される第１顔領域に第２顔領域と重ならない非重複領域が含まれるときには、非重複領域を特定する第１顔情報を補正基礎情報に加えてもよく、これにより既に実行された顔認識時点では認識されていなかった人物の顔も考慮して画像データを補正することができる。
【００１０】
また、非重複領域が適正なものでない場合（例えば非重複領域の顔明度が適正顔明度範囲を外れる、あるいは非重複領域の顔サイズが適正顔サイズ範囲を外れる等の場合）、非重複領域を特定する第１顔情報を補正基礎情報に加えると、画像データの補正に悪影響を及ぼすおそれがある。そこで、このような場合には、非重複領域を特定する第１顔情報を補正基礎情報を含めないことが望ましい。
【００１１】
また、人物の顔であるか否かの判別要素として顔領域の色相を用いることができる。例えばデジタルカメラで人物を撮像する際、ピント合わせを行った後で人物が動いてしまうと、第２顔情報よりも第１顔情報を補正基礎情報として用いるのが好ましい。そこで、第２顔領域と重なる第１顔領域の色相が肌色であるときには、第２顔領域と重なる第１顔領域を特定する顔情報を補正基礎情報に加えるのが好適となる。一方、第１顔領域と重なる第２顔領域の色相が肌色でないときには、第１顔領域と重なる第２顔領域を特定する顔情報を補正基礎情報から削除するのが好適となる。
【００１２】
なお、第１顔領域と第２顔領域との重なりについては、例えば第１顔領域と、第２顔領域との重なり部分の面積によって求めることができる。より具体的には、重なり部分の面積が第２顔領域の面積の４０％以上であるときに第１顔情報が第２顔情報に一致すると判別することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明にかかる画像処理装置の第１実施形態を用いた印刷システムを示す図。
【図２】デジタルカメラで作成される画像ファイルの一例を示す図。
【図３】図２の部分拡大図。
【図４】顔認識処理により認識された顔の一例を示す図。
【図５】図１の印刷装置で実行される画像処理および印刷動作を示すフローチャート。
【図６】図１の印刷装置で実行される画像処理および印刷動作を示すフローチャート。
【図７】プリンター顔座標およびカメラ顔座標の座標リストへの登録例を示す図。
【図８】本発明にかかる画像処理装置の第２実施形態の動作を示すフローチャート。
【発明を実施するための形態】
【００１４】
図１は、本発明にかかる画像処理装置の第１実施形態を用いた印刷システムを示す図である。この印刷システムは、デジタルカメラ２００の撮影により取得された画像データを、メモリカードＭ、ＵＳＢ(Universal Serial Bus)ケーブルや無線ＬＡＮ(Local Area Network)等によって印刷装置１００に転送し、印刷装置１００で印刷するものである。すなわち、ここではユーザーがデジタルカメラ２００で画像を撮影して画像データを生成し、その画像データをそのまま印刷装置１００で読み込んで印刷する、いわゆるダイレクト印刷を想定しているが、本発明を適用可能な印刷システムはこれに限定されるものではない。つまり、デジタルカメラ２００で生成した画像データをパーソナルコンピューターや携帯電話などに取り込み、パーソナルコンピューターから印刷装置１００に画像データを送信して印刷する印刷システムにも本発明を適用することは可能である。
【００１５】
デジタルカメラ２００では、同図に示すように、ＣＰＵ（Central Processing Unit）２０１、ＲＯＭ（Read Only Memory）２０２、ＲＡＭ（Random Access Memory）２０３、ＣＣＤ（Charge Coupled Device）２０４、ＧＰ（Graphic Processor）２０５およびＩ／Ｆ（Interface）２０６がバス２０７を介して相互に接続され、これらの間で情報の授受が可能となっている。そして、ＣＰＵ２０１はＲＯＭ２０２に格納されているプログラムに応じて各種演算処理を実行しながらデジタルカメラ２００の制御を行う。このとき一時的に必要となるデータはＲＡＭ２０３に格納される。また、ＣＣＤ２０４は、光学系２０８によって集光された被写体からの光学像を電気信号に変換して出力する。この光学系２０８は、複数のレンズおよびアクチュエータによって構成されており、アクチュエータによってフォーカス等を調整しながら被写体の光学像を複数のレンズによってＣＣＤ２０４の受光面に結像する。さらに、ＧＰ２０５は、ＣＰＵ２０１から供給される表示命令に基づいて表示用の画像処理を実行し、得られた表示用画像データをＬＣＤ（Liquid Crystal Display）２０９に供給して表示させる。
【００１６】
Ｉ／Ｆ２０６はデジタルカメラ２００の入出力機能を提供するものであり、操作ボタン２１０、ジャイロセンサー２１１およびカードＩ／Ｆ回路２１２の間で情報を授受する際に、データの表現形式を適宜変換する装置である。Ｉ／Ｆ２０６に接続される操作ボタン２１０には、電源、モード切替え、シャッターなどのボタンや、各種機能を設定できる入力手段があり、これらによってユーザーはデジタルカメラ２００を任意に制御して動作させることが可能となっている。また、ジャイロセンサー２１１はデジタルカメラ２００によって被写体を撮影した際のカメラ本体の角度（水平面に対する角度）を示す信号を生成して出力する。デジタルカメラ２００は、上記したカメラ本体の角度を含め、撮影時における種々の情報（例えば、露光、被写体等に関する情報）を、後述するＥｘｉｆ（Exchangeable Image File Format）情報として画像データに付加した画像ファイルを生成することができる構造となっている。
【００１７】
また、カードＩ／Ｆ回路２１２はカードスロット２１３に挿入されたメモリカードＭとの間で情報を読み書きするためのインタフェースである。さらに、Ｉ／Ｆ２０６は図示を省略するＵＳＢ、無線ＬＡＮなどの外部機器との接続機能も有しており、有線または無線にて印刷装置１００との間で画像ファイルの授受が可能となっている。なお、デジタルカメラ２００で作成され、印刷装置１００に与えられる画像ファイル（画像データ＋Ｅｘｉｆ情報）については、後で詳述する。
【００１８】
印刷装置１００はデジタルカメラ２００で撮像された画像を印刷する装置であり、次のように構成されている。印刷装置１００では、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ＥＥＰＲＯＭ（Electrically Erasable and Programmable ROM）１０４、ＧＰ１０５およびＩ／Ｆ１０６がバス１０７を介して相互に接続され、これらの間で情報の授受が可能となっている。ＣＰＵ１０１はＲＯＭ１０２およびＥＥＰＲＯＭ１０４に格納されているプログラムに応じて各種演算処理を実行するとともに印刷装置１００の各部を制御し、本発明の「顔情報検出部」、「顔情報取得部」、「情報選択部」および「補正部」として機能する。また、ＣＰＵ１０１が実行対象とするプログラムやデータについてはＲＡＭ１０３に一時的に格納される一方、印刷装置の電源が切断された後も保持しておくデータ等についてはＥＥＰＲＯＭ１０４に格納される。さらに、ＣＰＵ１０１は必要に応じてＧＰ１０５に対して表示命令を与え、この表示命令に応じてＧＰ１０５が表示用の画像処理を実行し、その処理結果をＬＣＤ１０８に供給して表示させる。
【００１９】
Ｉ／Ｆ１０６は、操作ボタン１０９、カードＩ／Ｆ回路１１０およびプリンターエンジンコントローラー１１１の間で情報を授受する際に、データの表現形式を適宜変換する装置である。印刷装置１００では、操作ボタン１０９は印刷装置１００のメニュー選択等を行う時に押されるように構成されている。また、カードＩ／Ｆ回路１１０は、カードスロット１１２と接続されており、このカードスロット１１２に挿入されたメモリカードＭからデジタルカメラ２００によって生成された画像ファイルを読み出す。なお、Ｉ／Ｆ１０６は、図示を省略するＵＳＢ、無線ＬＡＮなどの外部機器との接続機能も有しており、有線通信または無線通信にてデジタルカメラ２００との間で画像ファイルの授受が可能となっている。
【００２０】
そして、印刷装置１００は、メモリカードＭを介して、あるいはデータ通信により画像データを受け取ると、ＣＰＵ１０１により種々の処理を行うとともにプリンターエンジンコントローラー１１１によりプリンターエンジン１１３を制御し、これによって画像データに対応する画像を印刷する。以下、図２ないし図４に基づき画像ファイルの構成を説明した上で、本実施形態における画像処理動作および印刷動作について図４ないし図７を参照しつつ詳述する。
【００２１】
図２は上記のように構成されたデジタルカメラで作成される画像ファイルの一例を示す図である。また、図３は図２の部分拡大図である。この実施形態では、デジタルカメラ２００はＣＣＤ２０４で撮像された画像データをＲＡＭ２０３に格納する。また、デジタルカメラ２００は、被写体に人物が含まれているときには顔認識処理を行う（顔認識方式については従来より数多く提案されており、それらのうちいずれの方式を採用してもよい）。なお、本実施形態では、顔認識処理により検出される顔認識結果は、図４（ａ）に示すような座標情報が顔情報として表現される。すなわち、同図（ａ）に示すように、画像データは所定の画像幅(Width)と画像高さ(Height)の画素で構成されており、Ｘが横軸、Ｙが縦軸を表しており、左上が原点（０，０）である。そして、画像データから顔が検出されると、両目端が入る間隔（顔サイズ）を１辺とする正方形の顔領域（または顔矩形という）ＦＲｃを左上（ＬＴ）、左下（ＬＢ）、右上（ＲＴ）、右下（ＲＢ）の４点の座標で囲まれる領域で表し、顔領域ＦＲｃを示す座標、つまり顔座標を、認識した顔の個数（つまりカメラ顔個数）ＮｃとともにＲＡＭ２０３に格納する。
【００２２】
また、本明細書では、後で説明するように、印刷装置１００においてもデジタルカメラ２００での顔認識と同様に顔認識を行って顔座標を求めるため、デジタルカメラ２００での顔認識により得られる顔座標を「カメラ顔座標」と称し、左上（ＬＴｃ）、左下（ＬＢｃ）、右上（ＲＴｃ）、右下（ＲＢｃ）で示す。また、顔認識処理により複数個の顔が検出される場合もあるため、第ｎ番目のカメラ顔座標を左上（ＬＴｎｃ）、左下（ＬＢｎｃ）、右上（ＲＴｎｃ）、右下（ＲＢｎｃ）で示す。また、後述するように印刷装置１００の顔認識処理により検出される顔座標については「プリンター顔座標」と称し、第ｎ番目のプリンター顔座標については、左上（ＬＴｎｐ）、左下（ＬＢｎｐ）、右上（ＲＴｎｐ）、右下（ＲＢｎｐ）で示す。図４（ａ）では、デジタルカメラ２００での顔認識結果の一例として、カメラ側での顔認識処理によって二人の人物の顔が検出され、各人物のカメラ顔座標（ＬＴ１ｃ，ＬＢ１ｃ，ＲＴ１ｃ，ＲＢ１ｃ）、（ＬＴ２ｃ，ＬＢ２ｃ，ＲＴ２ｃ，ＲＢ２ｃ）が図示されている。
【００２３】
また、この実施形態では、上記のように画像データ、顔個数および顔座標などをＲＡＭ２０３に格納しているが、その記録方式としてディジタルスチルカメラ用画像ファイルフォーマット規格Ｅｘｉｆ Ver.2.2.1を使用している。このＥｘｉｆ画像ファイルの構造は、基本的には通常のＪＰＥＧ（Joint Photographic Experts Group）画像形式そのものであり、その中にサムネイル画像や撮影関連データ等のデータをＪＰＥＧの規約に準拠した形で埋め込んだものである。
【００２４】
本実施形態で使用する画像ファイルは、図２の左側部分に示すように、最初にＳＯＩ(Start of image)３０１がある。その後に、ＡＰＰ１（アプリケーション・マーカーセグメント）３０２、ＤＱＴ(Define Quantization Table)３０３、ＤＨＴ(Define Huffman Table)３０４の順となっている。さらにその後に、ＳＯＦ(Start of Frame)３０５、ＳＯＳ(Start of Stream)マーカー３０６、圧縮データ(Compress Data)３０７の順となっている。最後にＥＯＩ(End of Image)３０８がある。これらのうちＡＰＰ１はアプリケーションプログラムで使用するためのデータ領域として図２の中央部分に示す構造を有している。ＡＰＰ１の構造では、先頭にＡＰＰ１  Ｍａｒｋｅｒ領域３０２ａがある。そして、その次にＬｅｎｇｔｈ領域３０２ｂがある。
【００２５】
Ｌｅｎｇｔｈ領域３０２ｂに続くデータの最初の６バイトの領域３０２ｃでは、識別子としてASCII文字の“Exif"が、その次に2バイトの0x00が続く。そこからＴｉｆｆ(Tagged Image File Format)形式でデータが格納されている。Ｔｉｆｆ形式の最初の８バイトはＴｉｆｆヘッダー(Header)領域３０２ｄである。
【００２６】
また、Ｔｉｆｆヘッダー領域３０２ｄの次の０ｔｈ  ＩＦＤ(IFD of main image)領域３０２ｅに、同図の右側部分に示すように、画像幅、画像高さ等の画像関連情報が格納される。そして、０ｔｈ  ＩＦＤの次に０ｔｈ  ＩＦＤ  Ｖａｌｕｅ領域３０２ｆがある。さらに、その次にＥｘｉｆ  ＩＦＤ領域３０２ｇが設けられ、露出時間、Ｆナンバーなどの撮影関連情報が格納される。また、Ｅｘｉｆ  ＩＦＤ領域３０２ｇにＥｘｉｆ  ＩＦＤ  Ｖａｌｕｅ領域３０２ｈがある。なお、現在のところ、顔認識処理により検出される顔個数ＮｃとＮｃ個の顔座標をＥｘｉｆタグに書き込む規格は規定されていないが、本実施形態では顔個数ＮｃがＥｘｉｆ  ＩＦＤ領域３０２ｇに書き込まれ、Ｎｃ個の顔座標がＥｘｉｆ  ＩＦＤ  Ｖａｌｕｅ領域３０２ｈに書き込まれるとともに該書込位置をポイントする情報がＥｘｉｆ  ＩＦＤ領域３０２ｇに書き込まれると仮定して説明を続ける。もちろん、これらの情報をメーカーに依存する領域に書き込むように構成してもよい。このように、顔位置（顔座標）の情報である顔情報はＥｘｉｆ情報に記載され、画像データに添付されている。したがって、Ｅｘｉｆ情報に顔情報が含まれる場合には、顔個数Ｎｃやシーン情報などとともに画像データの補正に利用される。一方、Ｅｘｉｆ情報に顔情報が含まれていない場合、顔情報がないと判断される。
【００２７】
次に、上記のようなデータ構造（図２）を有する画像ファイルがメモリカードＭに保存されており、そのメモリカードＭから画像ファイルを読み出し、印刷装置１００により画像ファイルに含まれる各種情報に基づき所定の画像処理を実行して印刷する動作について、図４ないし７を参照しつつ説明する。
【００２８】
図５および図６は図１の印刷装置で実行される画像処理および印刷動作を示すフローチャートである。ユーザーが印刷装置１００のカードスロット１１２にメモリカードＭを挿入し、操作ボタン１０９を操作して印刷指令を与えると、ＣＰＵ１０１がＲＯＭ１０２に格納されているプログラムにしたがって装置各部を制御して以下の画像処理および印刷動作を実行する。
【００２９】
まず、ＣＰＵ１０１は、印刷の対象となる画像ファイルをメモリカードＭから取得し、ハフマン解凍処理を実行し、量子化ＤＣＴ（Discrete Cosine Transform）係数を得る（ステップＳ１０）。より具体的には、ＣＰＵ１０１は、図２に示す画像ファイルからエントロピー符号化テーブルを取得し、圧縮データ３０７に含まれているＹ（輝度）成分、Ｃｒ（色差成分）、および、Ｃｂ（色差成分）のそれぞれのブロックのＤＣ係数と、ＡＣ係数とを復号する。なお、この際、最小符号化単位であるＭＣＵ（Minimum Coded Unit）単位で復号を行う。
【００３０】
また、ＣＰＵ１０１は、ステップＳ１０において得られた量子化ＤＣＴ係数を逆量子化する（ステップＳ１１）。具体的には、ＣＰＵ１０１は、図２に示す画像ファイルから量子化テーブルを取得し、ステップＳ１０において得られた量子化ＤＣＴ係数に乗じることにより（逆量子化することにより）、ＤＣＴ係数を得る。
【００３１】
次に、ＣＰＵ１０１は、画像を回転させるために必要な情報を、例えばＲＡＭ１０３にキャッシュする（ステップＳ１２）。具体的には、ＪＰＥＧ方式によって圧縮された画像を回転させる場合、ＭＣＵのＤＣ成分（直流成分）とＡＣ成分（交流成分）のそれぞれを一度ハフマン展開しなければならない。ここで、ＤＣ成分については隣接するＤＣ成分値の差分をハフマン符号化することから、隣接するＭＣＵとの相関関係が問題となる。また、ＡＣ成分ではハフマン符号化処理によりそのデータ長が各ＭＣＵで一定にならず、ＪＰＥＧデータのビットストリーム中のどのデータが求めるＭＣＵのＡＣ成分値であるかが不明となることが問題となる。そこで、ステップＳ１２では、各ＭＣＵのＤＣ成分値とＡＣ成分のアドレスを求めてキャッシュしておくことにより、ローテート処理を可能とする。
【００３２】
そして、ＣＰＵ１０１はステップＳ１１で得られたＤＣＴ係数に対して逆ＤＣＴ演算を施すことによりもとの画素値を得る（ステップＳ１３）。また、ＣＰＵ１０１は、ステップＳ１３の処理によって得られたＹＣＣ空間の画像をＲＧＢ（Red Green Blue）空間の画像と、ＨＳＢ（Hue Saturation Brightness）空間の画像に変換する（ステップＳ１４）。
【００３３】
次に、ＣＰＵ１０１はステップＳ１３およびステップＳ１４の処理において得られたＹＣＣ，ＲＧＢ，ＨＳＢのそれぞれの画像をＲＡＭ１０３に格納して保持する。なお、このとき、データ量を削減するために画素を所定の割合で間引きした後にＲＡＭ１０３に格納してもよい（ステップＳ１５）。
【００３４】
また、ＣＰＵ１０１は、ステップＳ１５においてＲＡＭ１０３に格納されたＹＣＣ，ＲＧＢ，ＨＳＢそれぞれの画像の成分について、ヒストグラムを計算する（ステップＳ１６）。具体的には、ＲＧＢ画像については、Ｒ，Ｇ，Ｂそれぞれの画像についてヒストグラムを計算する。その結果、画像を構成する各成分の分布を得る。
【００３５】
上記したように、本実施形態では、ステップＳ１０〜１６の処理はＭＣＵ単位で行われており、ＣＰＵ１０１は、全てのＭＣＵについての処理が終了したことを確認するまで、ステップＳ１０に戻って処理を繰り返して実行する。一方、全てのＭＣＵについての処理が終了した場合には、次のステップＳ１７に進む。
【００３６】
このステップＳ１７で、ＣＰＵ１０１は、ステップＳ１５でＲＡＭ１０３に格納した画像データを使って顔認識処理を行う。この顔認識方式についても、デジタルカメラ２００と同様に従来より提案されている方式を採用することができ、デジタルカメラ２００で採用した方式と同一のものを採用してもよいし、異なる方式であってもよい。また、印刷装置１００の顔認識処理により検出されたプリンター顔座標についてはＲＡＭ１０３に記憶される。この実施形態では、図７（ａ）に示すように予め１０個のプリンター顔座標を記憶するためのメモリ空間がＲＡＭ１０３に準備されており、このメモリ空間に検出されたプリンター顔座標が登録顔情報Ｎｏ．１、２、…の順序で記憶される。例えば図４（ｃ）に示すように印刷装置（プリンター）１００での顔認識処理によって三人の人物について、各人物のプリンター顔座標（ＬＴ１ｐ，ＬＢ１ｐ，ＲＴ１ｐ，ＲＢ１ｐ）、（ＬＴ２ｐ，ＬＢ２ｐ，ＲＴ２ｐ，ＲＢ２ｐ）、（ＬＴ３ｐ，ＬＢ３ｐ，ＲＴ３ｐ，ＲＢ３ｐ）が検出されると、図７（ａ）に示すようにそれぞれ登録顔情報Ｎｏ．１〜３に登録される。なお、該当するプリンター顔座標がない登録顔情報Ｎｏ．４以降のアドレスにはゼロを登録する。また、ＣＰＵ１０１は、検出した顔の個数、つまりプリンター顔個数Ｎｐを設定する（上記した具体例では、Ｎｐ＝３と設定する）。
【００３７】
また、プリンター顔座標の検出・記憶に続いて、ＣＰＵ１０１はステップＳ１８およびＳ１９を実行してカメラ顔座標を取得し、ＲＡＭ１０３のカメラ顔座標用のメモリ空間に記憶するとともにカメラ顔個数Ｎｃを記憶する。すなわち、ＣＰＵ１０１は、図２の画像ファイル中のＥｘｉｆタグから顔個数Ｎｃおよび顔座標を読み込み（ステップＳ１８）、さらにカメラ顔座標についてはＱＶＧＡ（Quarter Video Graphics Array）サイズに規格化し、それらをＲＡＭ１０３に格納する（ステップＳ１９）。この実施形態では、カメラ顔座標についても、図７（ｂ）に示すように予め１０個を記憶するためのメモリ空間がＲＡＭ１０３に準備されており、このメモリ空間にカメラ顔座標が登録顔情報Ｎｏ．１、２、…の順序で記憶される。例えば図４（ａ）に示すようにデジタルカメラ２００での顔認識処理によって二人の人物について、各人物のカメラ顔座標（ＬＴ１ｃ，ＬＢ１ｃ，ＲＴ１ｃ，ＲＢ１ｃ）、（ＬＴ２ｃ，ＬＢ２ｃ，ＲＴ２ｃ，ＲＢ２ｃ）が検出されて画像データに付加されているときには、印刷装置１００において２つのカメラ顔座標は図７（ｂ）に示すようにそれぞれ登録顔情報Ｎｏ．１、２に登録される。なお、該当するカメラ顔座標がない登録顔情報Ｎｏ．３以降のアドレスにはゼロを登録する。また、ＣＰＵ１０１は、ステップＳ１８で読み込んだ顔の個数、つまりカメラ顔個数Ｎｃを設定する（上記した具体例では、Ｎｃ＝２と設定する）。
【００３８】
こうして、プリンター顔座標とカメラ顔座標とが得られると、ＣＰＵ１０１は、印刷装置１００で検出されたプリンター顔座標（第１顔情報）の各々がステップＳ１９で取得されたカメラ顔座標（第２顔情報）のいずれかと一致するか否かを判別する（ステップＳ２０〜Ｓ２５）。すなわちステップＳ２０で、ＣＰＵ１０１は、カメラ顔個数Ｎｃがゼロよりも大きいか否かを判別する。ここで、ステップＳ１８で取得したカメラ顔個数Ｎｃが元々ゼロである場合、あるいはステップＳ２１〜Ｓ２５の処理を全カメラ顔座標について完了した時点でカメラ顔個数Ｎｃ＝０となるため、これらの場合には、ＣＰＵ１０１はステップＳ２０で「ＮＯ」と判別し、ステップＳ２６に進む。
【００３９】
一方、ステップＳ２０で「ＹＥＳ」のとき、つまりプリンター顔座標で特定されるプリンター顔領域との重なり判別が実施されていないカメラ顔座標が残っている間、ステップＳ２１〜Ｓ２５の処理を繰り返して行う。このステップＳ２１で、ＣＰＵ１０１は、プリンター顔個数Ｎｐがゼロよりも大きいか否かを判別する。そして、ステップＳ２１で「ＹＥＳ」のとき、つまりＮｃ番目のカメラ顔座標で特定されるカメラ顔領域との重なり判別が実施されていないプリンター顔座標が残っているときには、ＣＰＵ１０１は、Ｎｃ番目のカメラ顔座標で特定されるカメラ顔領域ＦＲｃと、各プリンター顔座標で特定されるプリンター顔領域ＦＲｐとの重複率を算出する（ステップＳ２２）。例えば図４（ｂ）に示すように、カメラ顔座標（ＬＴ２ｃ，ＬＢ２ｃ，ＲＴ２ｃ，ＲＢ２ｃ）で特定されるカメラ顔領域ＦＲｃと、プリンター顔座標（ＬＴ２ｐ，ＬＢ２ｐ，ＲＴ２ｐ，ＲＢ２ｐ）で特定されるプリンター顔領域ＦＲｐとの重なっている重複領域（同図（ｂ）中のハッチング領域）ＯＲの面積を求めるとともに、顔領域ＦＲｃ（またはＦＲｐ）に対する重複領域ＯＲの面積率を上記重複率として求める。
【００４０】
また、ＣＰＵ１０１は、その他のプリンター顔領域ＦＲｐについても同様にして求めた後、重複率が４０％以上となるプリンター顔領域ＦＲｐが存在する、つまりステップＳ１７で検出したプリンター顔のなかにＮｃ番目のカメラ顔と重なる（あるいは一致する）ものがあるか否かを判別する（ステップＳ２３）。このステップＳ２３でＮｃ番目のカメラ顔と重なるプリンター顔、つまり重複顔領域が見つかった場合のみ、ＣＰＵ１０１は、当該プリンター顔（重複顔領域）を特定するプリンター顔座標をＲＡＭ１０３から削除するとともに、プリンター顔個数Ｎｐを「１」だけデクリメントし（ステップＳ２４）、ステップＳ２５に進む。なお、Ｎｃ番目のカメラ顔と重なるプリンター顔がない場合には、ステップＳ２４を実行することなく、ステップＳ２５に進む。
【００４１】
このステップＳ２５で、ＣＰＵ１０１はＮｃ番目のカメラ顔座標をＲＡＭ１０３の座標リストに登録する。この座標リストは、例えば図７（ｃ）に示すように予め１０個の顔座標を記憶するためのＲＡＭ１０３に設定されたメモリ空間であり、上記カメラ顔座標用およびプリンター顔座標用とは別個に設けられたものである。また、ＣＰＵ１０１は、Ｎｃ番目カメラ顔座標の座標リストへの登録後に、カメラ顔個数Ｎｃを「１」だけデクリメントし、ステップＳ２０に戻る。
【００４２】
このようにステップＳ２０〜Ｓ２５の実行により、ステップＳ１９で取得されたカメラ顔座標の全部は座標リストに登録されるのに対し、ステップＳ１７で検出されたプリンター顔座標のうちカメラ顔と重なるプリンター顔（重複顔領域）を特定するプリンター顔座標についてはＲＡＭ１０３から削除される。例えば図４および図７に示す具体例では、３つのうちプリンター顔座標（ＬＴ１ｐ，ＬＢ１ｐ，ＲＴ１ｐ，ＲＢ１ｐ）、（ＬＴ２ｐ，ＬＢ２ｐ，ＲＴ２ｐ，ＲＢ２ｐ）が重複顔領域と特定するものであり、ＲＡＭ１０３から削除され、カメラ顔と重ならないプリンター顔（非重複顔領域）を特定するプリンター顔座標（ＬＴ３ｐ，ＬＢ３ｐ，ＲＴ３ｐ，ＲＢ３ｐ）のみがＲＡＭ１０３に残っている。このようにプリンター顔座標（ＬＴ３ｐ，ＬＢ３ｐ，ＲＴ３ｐ，ＲＢ３ｐ）は、ステップＳ１７で検出されたプリンター顔座標で特定されるプリンター顔領域ＦＲｐのうちカメラ顔領域ＦＲｃと重ならず、しかもＲＡＭ１０３から削除されずに残ったものであり、これにより特定される顔領域ＦＲｐ′が本発明の「非重複領域」に相当するものであり、以下のおいては「非重複領域」と称する。
【００４３】
次のステップＳ２６で、ＣＰＵ１０１は、座標リストに登録されたカメラ顔座標の有無を判別する。そして、例えば図７に示すように座標リストにカメラ顔座標が登録されている場合（ステップＳ２６で「ＹＥＳ」）には、ＣＰＵ１０１は以下に説明するステップＳ２７〜Ｓ３６を実行し、その時点で削除されずに残っているプリンター顔座標（つまり、非重複領域を特定するプリンター顔座標）のうち適正なものを登録済のカメラ顔座標を用いて選択し、座標リストに登録した後、ステップＳ３８に進む。一方、座標リストにカメラ顔座標が登録されていない場合（ステップＳ２６で「ＮＯ」）には、ＣＰＵ１０１は、その時点で削除されずに残っているプリンター顔座標の全てを座標リストに登録した（ステップＳ３７）後、ステップＳ３８に進む。
【００４４】
ここで、ステップＳ３８以降の処理内容を説明する前に、ステップＳ２７〜Ｓ３６に戻って処理内容について詳しく説明する。ステップＳ２７で、ＣＰＵ１０１は、プリンター顔個数Ｎｐがゼロより大きいか否かを判別することで、非重複領域（例えば図４中の顔領域ＦＲｐ′）の有無を判断する。そして、非重複領域が存在する場合（ステップＳ２７で「ＹＥＳ」）には、ＣＰＵ１０１は座標リストに登録されたカメラ顔座標で特定される全カメラ顔領域の平均顔明度Ｙavrおよび平均顔サイズＳavrを画像データに基づいて計算する（ステップＳ２８）。すなわち、カメラ顔領域の各々について、各画素の明度ＹをＲＧＢ値により例えば次式、
Ｙ＝0.299＊Ｒ＋0.587*Ｇ＋0.114*Ｂ
で計算し、それらの平均値を各カメラ顔領域の平均顔明度とし、さらにそれらの平均を平均顔明度Ｙavrとしている。また、平均顔サイズＳavrは登録済カメラ顔領域ＦＲｃの顔サイズＳの平均値である。
【００４５】
また、ＣＰＵ１０１は、上記平均顔明度Ｙavrおよび平均顔サイズＳavrから次式にしたがって有効最大顔明度Ｙmax、有効最小顔明度Ｙmin、有効最大顔サイズＳmax、有効最小顔サイズＳminを算出する。
有効最大顔明度Ｙmax＝Ｙavr＋Ｙavr／２
有効最小顔明度Ｙmin＝Ｙavr／２
有効最大顔サイズＳmax＝Ｓavr＋Ｓavr／２
有効最小顔サイズＳmin＝Ｓavr／２
これら有効最大顔明度Ｙmax、有効最小顔明度Ｙmin、有効最大顔サイズＳmax、有効最小顔サイズＳminは、印刷装置１００での顔認識処理により認識された非重複領域が適正な顔である否かを判別するための基準値である。このような基準値を設定した理由は、画像データに例えば過剰に小さい顔（例えば、人形の顔）や、過剰に大きい顔（例えば、ポスターに写る顔）が含まれている場合や、過剰に暗い顔や過剰に明るい顔が含まれている場合に、印刷装置１００での顔認識処理によりそれらを非重複領域として認識してしまう可能性があり、このような認定結果に基づくプリンター顔座標を排除するためである。
【００４６】
なお、本実施形態では、平均顔明度Ｙavrを含む適正顔明度範囲および平均顔サイズＳavrを含む適正顔サイズ範囲をそれぞれ上記したように設定しているが、各範囲はこれに限定されるものではなく、実験結果や撮影条件などを考慮して有効最大顔明度Ｙmax、有効最小顔明度Ｙmin、有効最大顔サイズＳmax、有効最小顔サイズＳminをそれぞれ設定することができる。
【００４７】
そして、ＣＰＵ１０１は、ステップＳ３０〜Ｓ３６を実行し、非重複領域の各々が適正な顔領域である場合にのみ、当該非重複領域を特定するプリンター顔座標を座標リストに登録する。すなわち、プリンター顔個数Ｎｐがゼロより大きいと判別する（ステップＳ３０で「ＹＥＳ」）と、ＣＰＵ１０１は、Ｎｐ番目のプリンター顔座標で特定されるプリンター顔領域の平均顔明度Ｙｐを計算し（ステップＳ３１）、その計算結果が有効最大顔明度Ｙmaxと有効最小顔明度Ｙminとの間、つまり適正顔明度範囲内にあるか否かを判別する（ステップＳ３２）。これによりカメラ顔領域から大きく離れた明度を有する非重複領域を排除することができる。
【００４８】
また、ステップＳ３２で「ＹＥＳ」と判別した場合、ＣＰＵ１０１は、Ｎｐ番目のプリンター顔座標で特定されるプリンター顔領域の顔サイズＳｐを計算し（ステップＳ３３）、その計算結果が有効最大顔サイズＳmaxと有効最小顔サイズＳminとの間、つまり適正顔サイズ範囲内にあるか否かを判別する（ステップＳ３４）。これによりカメラ顔領域から大きく離れた顔サイズを有する非重複領域を排除することができる。
【００４９】
そして、ＣＰＵ１０１は、上記のようにしてＮｐ番目のプリンター顔領域が適正な非重複領域であると判別するとき、当該プリンター顔領域を特定する顔座標を座標リストに登録した後、プリンター顔個数Ｎｐを「１」だけデクリメントし（ステップＳ３５）、ステップＳ３０に戻る。一方、Ｎｐ番目のプリンター顔領域の明度Ｙｐが適正顔明度範囲（Ｙmax〜Ｙmin）から外れたり（ステップＳ３２で「ＮＯ」）、顔サイズＳｐが適正顔サイズ範囲（Ｓmax〜Ｓmin）から外れる（ステップＳ３４で「ＮＯ」）場合、ＣＰＵ１０１は当該非重複領域が不適正なものであると判別し、当該プリンター顔領域を特定する顔座標を座標リストに登録することなく、実質上削除する。さらに、ＣＰＵ１０１は、プリンター顔個数Ｎｐを「１」だけデクリメント（ステップＳ３６）し、ステップＳ３０に戻る。
【００５０】
そして、プリンター顔個数Ｎｐがゼロとなるまで、ＣＰＵ１０１は、上記ステップＳ３１〜Ｓ３６を繰り返することによって非重複領域の全てについて適正か不適正かの判別および座標リストへの登録を実行し、ステップＳ３８に進む。
【００５１】
次にステップＳ３８以降の処理内容について説明する。このステップＳ３８で、ＣＰＵ１０１は座標リストにカメラ顔座標および／またはプリンター顔座標が登録されている否かを判別する。そして、カメラ顔座標かプリンター顔座標かを問わず、顔座標が登録されている場合（ステップＳ３８で「ＹＥＳ」）には、ＣＰＵ１０１は、座標リストに登録された顔座標に基づいて全ての顔位置を計算し、さらに顔の平均顔色を取得した（ステップＳ３９）後、顔色が最適になるようにエンハンスパラメータを計算する（ステップＳ４０）。なお、エンハンスパラメータ計算の詳細については省略するが、ＲＡＭ１０３に記憶したＲＧＢヒストグラムに基づきコントラスト、明度、彩度、シャープネスなどの各画質パラメータの特徴量を抽出し、抽出した特徴量が所定の画質パラメータの特徴量に近づくようエンハンスのパラメータを設定する。このように、座標リストに登録された顔座標に基づいて画像データの補正パラメータが設定されており、これらの顔座標が本発明の「補正基礎情報」に相当する。
【００５２】
一方、座標リストにカメラ顔座標もプリンター顔座標も登録されていない場合（ステップＳ３８で「ＮＯ」）、ＣＰＵ１０１は、画像全体が最適になるようにエンハンスパラメータを計算する（ステップＳ４１）。
【００５３】
このようにエンハンスパラメータが設定された後、ＣＰＵ１０１は、印刷対象となる画像ファイルにおいて、解凍処理の対象となる位置を示すファイルポインタをリセットし、処理位置を画像ファイルの先頭に復元する（ステップＳ４２）。そして、ＣＰＵ１０１は、以下のステップＳ４３〜Ｓ５０を繰り返して画像データに基づいて画像を印刷する。
【００５４】
ＣＰＵ１０１は、ＲＡＭ１０３にキャッシュされた１ＭＣＵライン分の画像データにハフマン解凍処理を施し、量子化ＤＣＴ係数を得る（ステップＳ４３）。ここで、１ＭＣＵラインとは、画像を回転させる場合には、画像を構成する列方向に１列のＭＣＵ群をいい、回転させない場合には、画像を構成する行方向に１列のＭＣＵ群をいう。そして、ＣＰＵ１０１は、ステップＳ２９の処理において得られた量子化ＤＣＴ係数を逆量子化し（ステップＳ４４）、さらにステップＳ４３で得られたＤＣＴ係数に対して逆ＤＣＴ演算を施すことによりもとのデータを得る（ステップＳ４５）。
【００５５】
こうして得られたＹＣＣ空間の画像を、ＣＰＵ１０１はＲＧＢ空間の画像に変換する（ステップＳ４６）。そして、ＣＰＵ１０１は、エンハンスの実行が設定されている場合のみ、つまりステップＳ５２で「ＹＥＳ」と判別した場合のみ、ＲＧＢ空間の画像を構成する各画素に対してステップＳ４０、Ｓ４１において算出したエンハンスパラメータを適用することにより、印刷される画像を最適な色合いに補正し（ステップＳ４７）、次のステップＳ４８に進む。
【００５６】
ＣＰＵ１０１は、こうして補正された画像データに対して、リサイズ、回転などのレイアウト処理を施し（ステップＳ４８）、プリンターエンジンコントローラー１１１の図示せぬバンドバッファに供給する。これを受けたプリンターエンジンコントローラー１１１は、プリンターエンジン１１３の各部を制御して画像データに対応する画像を印刷する（ステップＳ４９）。そして、印刷処理が完了すると、ＣＰＵ１０１はＲＡＭ１０３のキャッシュ状態を更新する（ステップＳ５０）。そして、全ＭＣＵライン分について上記ステップＳ４３〜Ｓ５０が完了すると、一連の処理を終了する。
【００５７】
以上のように、第１実施形態によれば、プリンター顔領域ＦＲｐがカメラ顔領域ＦＲｃと重なる場合には、そのカメラ顔領域ＦＲｃを特定するカメラ顔座標を補正基礎情報として座標リストに登録する一方、そのプリンター顔領域ＦＲｐを特定するプリンター顔座標を実質的に削除して補正基礎情報に含めていない。このように、当該カメラ顔座標を使用して画像データを補正しているので、印刷装置１００側での誤検出などの影響を受けることなく、画像データを適正に補正することができる。また、プリンター顔領域ＦＲｐにカメラ顔領域ＦＲｃと重ならない非重複領域（例えば図４中のプリンター顔領域ＦＲｐ′）が含まれるときには、非重複領域を特定するプリンター顔座標を補正基礎情報に含めてもよく、これによりデジタルカメラ２００における顔認識時点では認識されていなかった人物の顔も考慮して画像データを補正することができる。
【００５８】
また、第１実施形態では、非重複領域が検出されるものの、その非重複領域の顔明度が適正顔明度範囲から外れる場合や非重複領域の顔サイズが適正顔サイズ範囲を外れるには、そのような不適正な非重複領域を特定するプリンター顔座標を補正基礎情報に含めていない。このため、画像データをより適正に補正することができる。
【００５９】
このように、第１実施形態では、エンハンス処理が本発明の「画像データの補正」に相当し、プリンター顔領域ＦＲｐおよびプリンター顔座標（ＬＴ１ｐ，ＬＢ１ｐ，ＲＴ１ｐ，ＲＢ１ｐ）等がそれぞれ本発明の「第１顔領域」および「第１顔情報」に相当し、カメラ顔領域ＦＲｃおよびカメラ顔座標（ＬＴ１ｃ，ＬＢ１ｃ，ＲＴ１ｃ，ＲＢ１ｃ）等がそれぞれ本発明の「第２顔領域」および「第２顔情報」に相当している。
【００６０】
ところで、上記第１実施形態では、同一人物の顔に対してカメラ顔座標とプリンター顔座標とが検出された場合、常にカメラ顔座標を補正基礎情報としているが、次のような問題が発生することがある。例えばデジタルカメラ２００で人物を撮像する際、ピント合わせを行った後で人物が動いてしまうと、カメラ顔座標よりもプリンター顔座標の方が人物位置をより正確に表しているため、これを補正基礎情報として用いるのが好ましい。以下、図８を参照しつつ、顔領域の色相が肌色か否かに基づいて補正基礎情報を設定する実施形態について説明する。
【００６１】
図８は、本発明にかかる画像処理装置の第２実施形態の動作を示すフローチャートである。この第２実施形態が第１実施形態と大きく相違する点は、カメラ顔領域とプリンター顔領域とが重なる場合に、プリンター顔およびカメラ顔の色相を考慮していずれの顔座標を補正基礎情報として座標リストに登録するかを決定している点であり、その他の構成は基本的に同一である。したがって、以下においては、相違点を中心に説明し、同一構成については同一符号を付して説明を省略する。
【００６２】
この第２実施形態では、第１実施形態と同様にして、ＣＰＵ１０１は、ステップＳ１５でＲＡＭ１０３に格納した画像データを使って顔認識処理を行ってプリンター顔座標を求めるとともに、顔個数Ｎｃおよび顔座標を取得する。そして、ＣＰＵ１０１は、ステップＳ１７で検出したプリンター顔のなかにＮｃ番目のカメラ顔と重なる（あるいは一致する）ものがあるか否かを判別する（ステップＳ２３）。そして、このステップＳ２３でＮｃ番目のカメラ顔と重なるプリンター顔が見つかった場合、第１実施形態では当該プリンター顔を特定するプリンター顔座標をＲＡＭ１０３から削除する（ステップＳ２４）のに対し、第２実施形態では次に説明するように第１実施形態と異なる処理を実行している（ステップＳ２４ａ〜Ｓ２４ｆ）。
【００６３】
この第２実施形態では、ＣＰＵ１０１はＮｃ番目のカメラ顔と重なるプリンター顔の色相を計算し（ステップＳ２４ａ）、その計算結果からプリンター顔が肌色ではないか否かを判別する（ステップＳ２４ｂ）。ここで、肌色を判別する際、ＲＧＢでの認識よりも直感的に色域の指定がしやすいＨＳＢ色空間で判別するのが望ましく、本実施形態ではこれにより肌色か否かを判別している。この点に関しては、カメラ顔が肌色か否かを判別する際も同様である。
【００６４】
そして、ＣＰＵ１０１は、プリンター顔が肌色ではないと判別した場合（ステップＳ２４ｂで「ＹＥＳ」）には、第１実施形態と同様に、当該プリンター顔を特定するプリンター顔座標をＲＡＭ１０３から削除するとともに、プリンター顔個数Ｎｐを「１」だけデクリメントした（ステップＳ２４ｃ）後にステップＳ２４ｄに進む。一方、プリンター顔が肌色であると判別した場合（ステップＳ２４ｂで「ＮＯ」）には、そのままステップＳ２４ｄに進む。このように、カメラ顔と重なっているにもかかわらず当該プリンター顔を残しておくことで、当該プリンター顔を特定するプリンター顔座標が補正基礎情報として座標リストに登録される可能性が残される。つまり、当該プリンター顔の平均顔明度が適正顔明度範囲内であり、しかも顔サイズが適正顔サイズ範囲内である場合には、当該プリンター顔を特定するプリンター顔座標が補正基礎情報として座標リストに登録される。
【００６５】
次のステップＳ２４ｄでは、ＣＰＵ１０１は、Ｎｃ番目のカメラ顔の色相を計算する。そして、その計算結果からカメラ顔が肌色ではないか否かをＣＰＵ１０１は判別する（ステップＳ２４ｅ）。そして、ＣＰＵ１０１は、カメラ顔が肌色であると判別した場合（ステップＳ２４ｅで「ＮＯ」）には、第１実施形態と同様に、Ｎｃ番目のカメラ顔座標をＲＡＭ１０３の座標リストに登録し、さらにカメラ顔個数Ｎｃを「１」だけデクリメントし（ステップＳ２５）、ステップＳ２０に戻る。一方、カメラ顔が肌色ではないと判別した場合（ステップＳ２４ｅで「ＹＥＳ」）には、ＣＰＵ１０１は座標リストへの登録を行うことなく、Ｎｃ番目のカメラ顔座標を実質的に削除するとともに、カメラ顔個数Ｎｃを「１」だけデクリメントし（ステップＳ２４ｆ）、ステップＳ２０に戻る。
【００６６】
以上のように、第２実施形態によれば、カメラ顔およびプリンター顔の各々について顔色が肌色か否かを判別し、顔色が肌色でないと判別したときには、その顔を特定する顔座標は補正基礎情報として座標リストに登録されず、画像データの補正に用いられない。したがって、画像データをより適正に補正することができる。
【００６７】
なお、本発明は上記した実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行うことが可能である。例えば、上記実施形態では、画像データに顔座標などを付加した画像ファイルをメモリカードＭに記録し、当該メモリカードＭを介して印刷装置１００に供給して印刷しているが、有線または無線通信により画像ファイルが印刷装置１００に供給される場合も、本発明を適用することで上記した実施形態と同様の作用効果が得られる。
【００６８】
また、上記実施形態では、顔領域を４点の座標で示しているが、顔領域の表現方式はこれに限定されるものではなく、例えば中心座標に大きさを組み合わせたもの、中心座標に幅および高さを組み合わせたもの等を用いることができ、これらの表現方式でカメラ顔領域やプリンター顔領域を特定した顔座標も本発明の「顔情報」に含まれる。
【００６９】
また、上記実施形態では、本発明にかかる画像処理装置および方法を印刷装置１００に適用しているが、複数の電子機器から構成される印刷システムにも、また印刷装置以外の１つの電子機器（例えば複合機、ファクシミリ装置など）にも適用可能である。
【００７０】
また、上記実施形態にかかる画像処理方法を実行するプログラムを、ＣＤ−ＲＯＭ、光ディスク、光磁気ディスク、不揮発性メモリカードなどの記憶媒体に記憶させ、この記憶媒体からプログラムをコードとして読み出し、コンピューターにおいて実行してもよい。つまり、上記プログラムを記憶した記憶媒体、コンピュータープログラム自体も本発明の一実施形態に含まれる。
【符号の説明】
【００７１】
１００…印刷装置、  １０１…ＣＰＵ（顔情報検出部、顔情報取得部、情報選択部、補正部）、  １０２…ＲＯＭ、  １０３…ＲＡＭ、  １０４…ＥＥＰＲＯＭ、  ２００…デジタルカメラ、  ３０７…圧縮データ（画像データ）、  ＦＲｃ…（第２）顔領域、  ＦＲｐ…（第１）顔領域、ＦＲｐ′…非重複領域
【図１】
0005830851.tif 000002
【図２】
0005830851.tif 000003
【図３】
0005830851.tif 000004
【図４】
0005830851.tif 000005
【図５】
0005830851.tif 000006
【図６】
0005830851.tif 000007
【図７】
0005830851.tif 000008
【図８】
0005830851.tif 000009