(57)【要約】【課題】入力された画像ファイルまたは画像データに含まれる特定部位を効率良く補正可能な画像処理方法および画像処理装置を提供すること。【解決手段】本発明の一実施形態では、元撮影画像ファイルを取得し（Ｓ301）、顔領域情報が元撮影画像ファイルに付随されている場合、該顔領域情報を取得する（Ｓ304）。次いで、取得された顔領域情報に基づいて、第1のデコード領域を決定し（Ｓ305）、元撮影画像ファイルについて第1のデコード領域をデコードして（Ｓ306）、第１のデコード後画像データを生成する（Ｓ306）。次いで、生成された第１のデコード後画像データから赤目領域を検出し（Ｓ312）、該赤目領域の位置に関する特定部位位置情報を取得する（S313）。次いで、元撮影画像ファイルをデコードして、第２のデコード後画像データを生成し（Ｓ314）、第２のデコード後画像データに対して、取得された特定部位位置情報に基づいて赤目の補正を行う（Ｓ315）。【選択図】図３
2010009227.tif 000002
【特許請求の範囲】
【請求項１】
画像データを取得する工程と、
特定部位を少なくとも含む画像データの一領域の位置に関する特定部位情報が前記取得された画像データに付随されている場合、該特定部位情報を取得する工程と、
前記取得された特定部位情報に基づいて、前記画像データにおける、前記特定部位を検出するためにデコードするデコード領域を決定する工程と、
前記画像データについて前記デコード領域をデコードして、第１のデコード後の画像データを生成する工程と、
前記生成された第１のデコード後の画像データから前記特定部位を検出し、該特定部位の位置に関する特定部位位置情報を取得する工程と、
前記画像データをデコードして、第２のデコード後の画像データを生成する工程と、
前記第２のデコード後の画像データに対して、前記取得された特定部位位置情報に基づいて前記特定部位の補正を行う工程と
を有することを特徴とする画像処理方法。
【請求項２】
前記特定部位は、赤目であることを特徴とする請求項１に記載の画像処理方法。
【請求項３】
補正を行う工程は、前記画像データ中の赤目を補正することを特徴とする請求項２に記載の画像処理方法。
【請求項４】
前記特定部位は、目、口、輪郭のうち少なくとも１つの部位であることを特徴とする請求項１に記載の画像処理方法。
【請求項５】
前記特定部位情報は、前記画像データにおける顔領域の位置を示す顔領域情報であり、
前記決定する工程は、前記顔領域情報に基づいて、前記顔領域と同一、あるいは所定の画素分だけ拡大または縮小した領域であって、前記特定部位を少なくとも含む領域を前記デコード領域と決定することを特徴とする請求項１乃至４のいずれかに記載の画像処理方法。
【請求項６】
前記顔領域が前記画像データに対して所定の角度だけ傾いている場合、前記角度を抽出する工程と、
前記生成する工程と、前記特定部位位置情報を取得する工程との間に、前記抽出された角度に基づいて前記第1のデコード後の画像データを前記傾きが補正されるように回転する工程と
をさらに有することを特徴とする請求項５に記載の画像処理方法。
【請求項７】
前記特定部位情報は、前記特定部位の位置を示す情報であり、
前記決定する工程は、前記特定部位の位置を示す情報に基づいて、前記特定部位を少なくとも含む領域を前記デコード領域と決定することを特徴とする請求項１乃至４のいずれかに記載の画像処理方法。
【請求項８】
前記画像データには、前記特定部位情報が複数付随されており、
前記決定する工程は、前記複数の特定部位情報の各々に基づいて、複数のデコード領域を決定することを特徴とする請求項１乃至７のいずれかに記載の画像処理方法。
【請求項９】
前記画像データを取得する工程にて取得されるデータは、前記画像データを格納した画像ファイルであることを特徴とする請求項１乃至８のいずれかに記載の画像処理方法。
【請求項１０】
前記画像ファイルは、ＪＰＥＧファイルであることを特徴とする請求項９に記載の画像処理方法。
【請求項１１】
前記特定部位情報は、Exifフォーマットに準拠した形式であることを特徴とする請求項１乃至１０のいずれかに記載の画像処理方法。
【請求項１２】
前記特定部位情報は、前記画像処理方法を実行する装置とは異なる装置によって取得された情報であることを特徴とする請求項１乃至１１のいずれかに記載の画像処理方法。
【請求項１３】
前記特定部位情報とは、矩形の４点の座標を示す情報であることを特徴とする請求項１乃至１２のいずれかに記載の画像処理方法。
【請求項１４】
前記決定する工程は、前記特定部位情報にて特定される領域と同一の領域を前記デコード領域と決定することを特徴とする請求項１乃至１３のいずれかに記載の画像処理方法。
【請求項１５】
画像データを取得する手段と、
特定部位を少なくとも含む画像データの一領域の位置に関する特定部位情報が前記取得された画像データに付随されている場合、該特定部位情報を取得する手段と、
前記取得された特定部位情報に基づいて、前記画像データにおける、前記特定部位を検出するためにデコードするデコード領域を決定する手段と、
前記画像データについて前記デコード領域をデコードして、第１のデコード後の画像データを生成する手段と、
前記生成された第１のデコード後の画像データから前記特定部位を検出し、該特定部位の位置に関する特定部位位置情報を取得する手段と、
前記画像データをデコードして、第２のデコード後の画像データを生成する手段と、
前記第２のデコード後の画像データに対して、前記取得された特定部位位置情報に基づいて前記特定部位の補正を行う手段と
を備えることを特徴とする画像処理装置。
【請求項１６】
前記特定部位は、赤目であることを特徴とする請求項１５に記載の画像処理装置。
【請求項１７】
補正を行う手段は、前記画像データ中の赤目を補正することを特徴とする請求項１６に記載の画像処理装置。
【請求項１８】
前記特定部位は、目、口、輪郭のうち少なくとも１つの部位であることを特徴とする請求項１５に記載の画像処理装置。
【請求項１９】
前記特定部位情報は、前記画像データにおける顔領域の位置を示す顔領域情報であり、
前記決定する手段は、前記顔領域情報に基づいて、前記顔領域と同一、あるいは所定の画素分だけ拡大または縮小した領域であって、前記特定部位を少なくとも含む領域を前記デコード領域と決定することを特徴とする請求項１５乃至１８のいずれかに記載の画像処理装置。
【請求項２０】
前記顔領域が前記画像データに対して所定の角度だけ傾いている場合、前記角度を抽出する手段と、
前記抽出された角度に基づいて前記第1のデコード後の画像データを前記傾きが補正されるように回転する手段と
をさらに備えることを特徴とする請求項１９に記載の画像処理装置。
【請求項２１】
前記特定部位情報は、前記特定部位の位置を示す情報であり、
前記決定する手段は、前記特定部位の位置を示す情報に基づいて、前記特定部位を少なくとも含む領域を前記デコード領域と決定することを特徴とする請求項１５乃至１８のいずれかに記載の画像処理装置。
【請求項２２】
前記画像データには、前記特定部位情報が複数付随されており、
前記決定する手段は、前記複数の特定部位情報の各々に基づいて、複数のデコード領域を決定することを特徴とする請求項１５乃至２１のいずれかに記載の画像処理装置。
【請求項２３】
前記画像データを取得する手段にて取得されるデータは、前記画像データを格納した画像ファイルであることを特徴とする請求項１５乃至２２のいずれかに記載の画像処理装置。
【請求項２４】
前記画像ファイルは、ＪＰＥＧファイルであることを特徴とする請求項２３に記載の画像処理装置。
【請求項２５】
前記特定部位情報は、Exifフォーマットに準拠した形式であることを特徴とする請求項１５乃至２４のいずれかに記載の画像処理装置。
【請求項２６】
前記特定部位情報は、前記画像処理装置とは異なる装置によって取得された情報であることを特徴とする請求項１５乃至２５のいずれかに記載の画像処理装置。
【請求項２７】
前記特定部位情報とは、矩形の４点の座標を示す情報であることを特徴とする請求項１５乃至２６のいずれかに記載の画像処理装置。
【請求項２８】
前記決定する手段は、前記特定部位情報にて特定される領域と同一の領域を前記デコード領域と決定することを特徴とする請求項１５乃至２７のいずれかに記載の画像処理装置。
【請求項２９】
コンピュータに請求項１乃至１４のいずれかに記載の画像処理方法を実行させるためのコンピュータプログラム。
【請求項３０】
コンピュータにより読み出し可能なプログラムを格納した記憶媒体であって、請求項２９記載のコンピュータプログラムを格納したことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、元撮影画像ファイル中のオブジェクト検出処理を行い、検出結果に応じた画像補正を行う画像処理方法、およびこの画像処理方法を実行可能な画像補正機能付き画像処理装置に関し、特に赤目領域検出、補正に関する技術である。
【背景技術】
【０００２】
ディジタルカメラにより人物等を撮影した際に、たとえば暗い室内でフラッシュをたいて撮影を行うと、人物の目が赤く撮影されてしまう(赤目)という現象が起こる場合がある。赤目現象とは、暗い周囲の環境下での人物撮影において、フラッシュ光が被写体の眼球内の血管等で反射してカメラ側に帰来することにより、開いた瞳孔が赤く撮影されてしまう現象のことをいう。
【０００３】
赤目現象は、撮影時にフラッシュ発光のタイミングをずらすことによって、ある程度は回避することが可能である。しかし、そのようなフラッシュ制御を実現するためにはカメラ側に特殊な機構が必要になること、また、フラッシュを事前に発光することにより被写体の自然な表情に変化を及ぼすこと等が課題となっている。その為、撮影機器の改良により赤目発生を防止する技術よりも、既に赤目現象が発生した画像の中から、特定部位としての赤目部分を検出して、自然な色合いの瞳孔色に補正する技術の提案が重要になってきている。
【０００４】
このような一般的な手法として、撮影により得られた画像ファイル（撮影画像ファイル）全体から、特定部位としての赤目の部位検出を行った後に、検出した赤目の部位に対して自然な色合いに補正を行う技術がある。しかしながら、誤検出が発生しやすく精度が悪い、という課題があった。
【０００５】
その課題を解決するため、撮影画像ファイルのデコード処理を行った後に、デコード後の画像データに対して、まず人物の顔領域（第１の特定部位）の検出処理を行う。その後検出された顔領域に対して特徴量を基に第２の特定部位としての赤目検出を行うことにより赤目領域の検出精度を高め、補正を行うという技術が開示されている。(特許文献１参照)。
【０００６】
一方、特許文献２に開示された技術では、撮影画像ファイルのデコードを行い画像データを生成した後に、画像データに対してまず縮小処理を行う。縮小画像データに対して顔領域検出、特定部位検出を行う事により、処理の高速化を図る技術も開示されている。
【０００７】
また、撮影画像に応じて最適なレイアウト配置を行う際に、計算処理負荷低減のため、デコード処理を行う画像領域を制限する、という技術が特許文献３に開示されている。
【０００８】
【特許文献１】特開２００３−３０６６７号公報
【特許文献２】特開２００７−００４４５５号公報
【特許文献３】特開２００６−１６７９１７号公報
【非特許文献１】「カラー静止画符号化国際標準化」、画像電子学会誌、第18巻、第6号、pp.398-407,1989
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に記載の発明では、画像データの全領域に対してデコード処理、顔領域検出処理を行い、赤目領域検出処理を行うため、比較的計算量が多くなってしまう。特に、近年の撮影機器の性能向上に伴う高画素化により、撮影により得られた画像データ（撮影画像データ）の画素数は増加傾向にあり、画像処理の計算量が増大する可能性がある。
【００１０】
その結果、処理性能の高いCPUや多くのメモリ等の十分なハードリソースを持ち合わせていない安価なPCや組み込み機器の環境では、画像処理の計算に時間がかかる。よって、その後の印字処理などが円滑に行えず、ユーザに快適な印刷環境を提供できない可能性がある。
【００１１】
また、特許文献２に記載の発明では、一般的には縮小処理よりも顔領域検出、特定部位検出といった画像処理の方が処理負荷が大きいため、画像処理の全体の負荷を低減することは可能である。よって、処理速度を向上させるという観点からすると非常に有用な技術である。
【００１２】
しかしながら、顔領域検出、特定部位検出が、画像データの全領域に対して縮小されたデータに対して行われるため、縮小データ作成時に情報が損失する可能性があり、その結果顔領域検出、特定部位検出の精度が悪くなる可能性がある。その結果、速度向上と引き換えに画像に十分な補正が行われない可能性がある。
【００１３】
さらに、特許文献３に記載の発明は、画像処理の負荷を低減することは可能だが、デコード処理の負荷を低減するための発明である。しかしながら、特許文献３は、記録媒体上に複数の画像データを割り付ける際に、各画像データの向きを統一させた良好なレイアウトを容易にかつ低コストに行うこと目的としており、デコード後画像データに対する検出処理、補正処理については明示されていない。すなわち、所望の検出処理を行うための手法について何ら開示するものではない。
【００１４】
このように、ディジタルカメラやスキャナ等の光学的に画像を取得する機材によって取得された画像データや、ＣＤ、メモリカードといった可搬メディアやＰＣから入力された画像データに含まれる特定部位の補正を効率良く行うことが求められている。すなわち、上記補正対象の画像データ中の、特定部位（例えば、目、鼻、口、肌、輪郭等）の補正を効率良く、かつ、高精度に行えることが求められている。
【００１５】
本発明は、このような問題に鑑みてなされたもので、その目的とするところは、入力された画像ファイルまたは画像データに含まれる特定部位を効率良く補正可能な画像処理方法および画像処理装置を提供することにある。
【課題を解決するための手段】
【００１６】
このような目的を達成するために、本発明は、画像処理方法であって、画像データを取得する工程と、特定部位を少なくとも含む画像データの一領域の位置に関する特定部位情報が前記取得された画像データに付随されている場合、該特定部位情報を取得する工程と、前記取得された特定部位情報に基づいて、前記画像データにおける、前記特定部位を検出するためにデコードするデコード領域を決定する工程と、前記画像データについて前記デコード領域をデコードして、第１のデコード後の画像データを生成する工程と、前記生成された第１のデコード後の画像データから前記特定部位を検出し、該特定部位の位置に関する特定部位位置情報を取得する工程と、前記画像データをデコードして、第２のデコード後の画像データを生成する工程と、前記第２のデコード後の画像データに対して、前記取得された特定部位位置情報に基づいて前記特定部位の補正を行う工程とを有することを特徴とする。
【００１７】
また、本発明は、画像処理装置であって、画像データを取得する手段と、特定部位を少なくとも含む画像データの一領域の位置に関する特定部位情報が前記取得された画像データに付随されている場合、該特定部位情報を取得する手段と、前記取得された特定部位情報に基づいて、前記画像データにおける、前記特定部位を検出するためにデコードするデコード領域を決定する手段と、前記画像データについて前記デコード領域をデコードして、第１のデコード後の画像データを生成する手段と、前記生成された第１のデコード後の画像データから前記特定部位を検出し、該特定部位の位置に関する特定部位位置情報を取得する手段と、前記画像データをデコードして、第２のデコード後の画像データを生成する手段と、前記第２のデコード後の画像データに対して、前記取得された特定部位位置情報に基づいて前記特定部位の補正を行う手段とを備えることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、入力された画像ファイルまたは画像データに含まれる特定部位を効率良く補正可能な画像処理方法および画像処理装置を提供することができる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照して本発明の実施形態を詳細に説明する。なお、以下で説明する図面で、同一機能を有するものは同一符号を付け、その繰り返しの説明は省略する。
【００２０】
本発明の主な目的は、例えば顔領域情報等の特定部位に関する情報（特定部位情報）が付随された、画像ファイルまたは画像データに対して、高速かつ高精度の特定部位検出処理方法を提供することにある。また、特定部位情報が付随されてない画像ファイルまたは画像データに対しても、特定部位検出処理方法を提供することにある。
【００２１】
また、本発明の別の目的は、１枚の撮影画像中に複数の特定部位（例えば、顔領域）がある場合、また該特定部位が傾いている場合、さらに特定部位が複数あり傾いているような場合においても、高速かつ高精度の特定部位検出処理方法を提供することにある。
【００２２】
さらに、本発明の別の目的は、高速且つ高精度の特定部位検出処理を行い、補正を行い、印字する装置を提供することにある。
【００２３】
本発明の一実施形態では、上記目的を達成するために以下のような構成を備えているに示す。すなわち、本発明の一実施形態に係る画像処理装置は、画像入力部、特定部位情報分析部、デコード部、特定部位検出部、および補正処理部を備えている。
【００２４】
上記画像入力部は、上記画像処理装置に画像データを入力するためのもの、すなわち、該画像処理装置が画像データを取得するためのものである。よって、画像入力部を介して、ディジタルカメラやスキャナといった光学的に画像データを取得する装置から所定の画像データを画像処理装置に入力することができる。また、画像入力部を介して、磁気ディスク、光ディスク、メモリカードといった可搬型メディアからも画像データを入力することができる。なお、画像入力部を介して入力される画像データは画像ファイルに含まれた形で入力されても良い。すなわち、画像処理装置は、画像入力部を介して画像ファイルを取得することもできる。
【００２５】
上記特定部位情報分析部は、上記画像入力部で受け取った画像データに、特定部位情報（例えば、顔領域情報）が付随（添付）されているか否かの判断を行う。該特定部位情報が付随されていると判断する場合は、上記画像データから特定部位情報を取得する。
【００２６】
なお、本明細書において、「特定部位」とは、例えば、人間といった被写体において、画像データ上で補正を行いたい領域を指す。よって、例えば、赤目補正を行いたい場合は、特定部位は、“目”となるし、美白補正を行いたい場合は、“肌”となる。
【００２７】
また、「特定部位情報」とは、上記特定部位を少なくとも含む画像データの一領域（例えば、顔領域）を特定するための位置情報である。よって、特定部位情報には、特定部位を含む所定領域（例えば、顔領域）を特定するための位置情報（例えば、顔領域情報）や、特定部位そのものを示す位置情報（例えば、目領域情報）が含まれる。
【００２８】
なお、上記顔領域情報とは、画像データにおける顔の領域を特定するための位置情報となる。また、上記目領域情報とは、画像データにおける、特定部位そのものを示す情報であって、目の領域を特定するための位置情報である。
【００２９】
そして、特定部位情報分析部は、入力された画像データに特定部位情報が付随されていた場合は、該特定部位情報の分析を行い、上記特定部位を少なくとも含む画像データの一領域（例えば、顔領域）の位置の特定を行う。このようにして特定された領域に対して、後述する、特定部位検出用のデコードが行われることになる。なお、特定部位情報が付随されていないと判断する場合は、特定部位情報分析部は、画像データの全領域を特定部位検出用のデコードを行う領域（第１のデコード領域）と決定するようにすれば良い。このように、特定部位情報分析部は、特定部位情報に基づいて、第１のデコード領域を決定することができる。
【００３０】
上記デコード部は、特定部位情報が付随されている場合は、入力された画像データのうち、第１のデコード領域としての上記特定部位を少なくとも含む画像データの一領域についてデコードを行う（第１のデコード処理）。
【００３１】
このように、本発明の一実施形態では、入力された画像データに顔領域情報や、目領域情報といった特定部位情報が付随されていた場合は、特定部位情報の分析を行い、その位置の特定を行う。その後、位置情報に基づきデコード処理を行う領域（第１のデコード領域）を決定し、画像データ中の第１のデコード領域についてのみデコード処理を行う。
【００３２】
特定部位検出部は、第１のデコード処理により取得された、第１のデコード後の画像データ（“第１のデコード後画像データ”とも言う）から、特定部位の特徴量を基に特定部位の検出を行い、特定部位検出処理を行う。すなわち、特定部位検出部は、第１のコード後画像データから特定部位の検出を行い、該検出された特定部位の位置情報（特定部位位置情報）を取得する。
【００３３】
このとき、特定部位検出処理を行うデータ（第１のデコード後画像データ）は、上述のように画像データ全体ではなく、特定部位を少なくとも含む画像データの一領域をデコードしたものである。従って、特定部位位置情報を取得する際の処理に係る時間やメモリ容量を低減することができる。従って、効率よく、特定部位の補正処理を行うことができる。
【００３４】
次いで、デコード部は、上記入力された画像データのデコードを行い（第２のデコード処理）、第２のデコード後の画像データ（“第２のデコード後画像データ”とも言う）を取得する。なお、該デコードが行われる領域（第２のデコード領域）は、画像データ全体である。
【００３５】
なお、本明細書において、「デコード後画像データ」とは、あるエンコードされた画像データ、または、圧縮されたデータに対してデコードを施した後の画像データを指す。
【００３６】
補正処理部は、上記取得された第２のデコード後画像データにおいて、上記取得された特定部位位置情報に基づいて特定部位の補正を行う。
【００３７】
またプリンタ等の印字装置に上述の特定部位検出処理（画像処理方法）を組み込むことにより、検出された特定部位に対して補正を行い、印字を行うことができる。
【００３８】
（第１の実施形態）
図1は本実施形態を実現する、画像処理を実行するコンピュータ（画像処理装置）の構成例を示すブロック図である。
【００３９】
コンピュータ100は、CPU 101、ROM 102、RAM 103、モニタ113（タッチパネルを備えてもよい）を接続するビデオカード104を備えている。さらに記憶領域として、ハードディスクドライブやメモリカードなどの記憶装置105を備える。また、マウス、スタイラスおよびタブレットなどのポインティングデバイス106、キーボード107などを接続するUSBやIEEE1394などのシリアルバス用のインタフェイス108を備える。さらに、ネットワーク114と接続するネットワークインタフェイスカード(NIC) 115を備える。これらの構成はシステムバス109で相互に接続されている。また、インタフェイス108には、プリンタ110、スキャナ111、ディジタルカメラ112などを接続可能である。
【００４０】
CPU 101は、ROM 102または記憶装置105に格納されたプログラム（以下で説明する画像処理のプログラムを含む）をワークメモリであるRAM 103にロードして当該プログラムを実行する。その後、当該プログラムに従いシステムバス109を介して上記の各構成を制御することで、当該プログラムの機能を実現する。
【００４１】
なお、図1は、本実施形態で説明する画像処理を実施するハードウェアの一般的な構成を示し、その一部の構成を欠いたり、他のデバイスが追加されても、本発明の範疇に含まれる。
【００４２】
以下では、例として赤目補正処理について説明する。従って、補正したい特定部位は赤目である。また、“特定部位を少なくとも含む画像データの一領域”を顔領域とする。また、以下では、所定の圧縮、符号化が施された画像ファイルを、ディジタルカメラ112やフィルムスキャナ111から取得し、該画像ファイルに格納される画像データの補正を行う形態について説明する。なお、補正を行うデータは、画像ファイルの形態ではなく、所定の圧縮、符号化が施された画像データであっても良いことは言うまでも無い。
【００４３】
図２は、本実施形態において、画像ファイルの赤目補正処理を行い、印刷を行う場合の全体の処理フロー図である。
【００４４】
この処理フローは、例えばCPU 101によって実行される処理である。従って、処理の制御は、CPU101がROM102または記憶装置105に格納された図２に示す処理を行うプログラムを読み出し、該プログラムを実行することによって行われる。
【００４５】
なお、入力画像は、例えば、ディジタルカメラ112やフィルムスキャナ111から入力される一画素あたりRGB各8ビット、合計24ビットのディジタル画像データである。なお、詳細な説明は図３を用いて後述しており、ここでは省略する。
【００４６】
以下では、ディジタルカメラ112の撮影により得られた画像データ（撮影画像データ）を含む画像ファイル（元撮影画像ファイル）を、画像処理装置としてのコンピュータ100が取得するものとする。
【００４７】
S201において、ディジタルカメラ112から、画像データを格納した画像ファイル、および該画像データに関連した情報（特定部位情報）を取得し、上記画像データに関連した情報より、顔領域の情報を抽出する。なお、図２では、特定部位を少なくとも含む画像データの一領域を顔領域としているので、上記特定部位情報は、顔領域情報となる。
【００４８】
S202において、S201で取得された画像ファイルに対して、特定部位位置情報としての赤目位置情報抽出を行う。なお、赤目領域検出の際に画像ファイルをデコード（第１のデコード処理）する手段を第１のデコード部（不図示）、生成されるデコード後画像データを第１のデコード後画像データとする。ここで、本実施形態におけるデコード処理とは、圧縮された画像データを、非圧縮の画像データに変換することをいう。例えば、JPEGの色空間であるYCbCr空間をRGB空間、または、YCC空間に変換することである。なお、その他の色空間であってもよい。
【００４９】
S203において、S201で取得された画像ファイルに対して、画像全領域のデコード処理（第２のデコード処理）を行う。なお、画像ファイルの全領域に対してデコード処理を行う手段を第２のデコード部（不図示）、生成されるデコード後画像データを第２のデコード後画像データとする。
【００５０】
S204において、S203でデコードされた画像データ（第２のデコード後画像データ）に対して、S202において抽出された赤目位置情報に基づき赤目補正を行う。
【００５１】
S205において、S204において赤目補正された画像データに基づいて画像の印字を行う。
【００５２】
次に本実施形態の主たる特徴を図３、図４を用いて説明を行う。
【００５３】
図３は本実施形態において、元画像である撮影画像データについて赤目の補正処理を行って印刷を行う場合の詳細を示す処理フロー図である。
【００５４】
なお、図２のS201、S202に関する詳細な説明をS301からS313にて行い、S203、S204、S205に関する詳細な説明をS314からS316にて行う。
【００５５】
ここでは１枚の画像に１個の顔領域情報が記載されている場合について記載しており、複数記載されている場合のより効果的な実施形態については、後述の第２の実施形態にて記載を行う。また、撮影画像データ中の顔領域が傾いているような場合のより効果的な実施形態については、後述の第３の実施形態にて記載を行う。また、顔領域情報以外の情報である、例えば目情報が記載されているような場合のより効果的な例については、後述の第４の実施形態にて記載を行う。
【００５６】
また、本実施形態では、本発明に特徴的な画像処理方法を実行する画像処理装置としてPCを用いて画像処理を行い、プリンタを用いて印字を行う系について記載を行っている。しかしこれに限らず、本実施形態を、例えば、上記画像処理方法をプリンタといった画像形成装置本体に組み込んで本発明に特徴的な画像処理、補正を行って、印字を行うような系に用いても同様の効果が得られる。従って、本実施形態がPCを用いた処理形態に限られないのは言うまでもないことであり、他の実施形態においても同様である。
【００５７】
また本実施形態では、最終的に「印刷物」を作成することを目的にした場合について説明を行っているが、本発明の意図するところでは最終形態はこれに限ったものではない。「印刷物」の他、補正画像のディスプレイなのどの表示機器への「表示」用画像の生成や、補正画像をファイル化して再保存するための画像データの生成であってもよい。本発明では補正画像の作成手法に関してが、主たる目的であり、他の実施形態においても同様である。
【００５８】
また、本実施形態ではディジタルカメラによって記録された画像ファイルに対する実施形態について記載を行っている。しかし、例えばスキャナなどのディジタルカメラ以外の機器によって記録された画像ファイル（あるいは画像データ）であっても同様の効果が得られる。また、磁気ディスク、光ディスク、メモリカードといった可搬型メディアに格納された画像データや画像ファイルであっても、本実施形態と同様の効果を得ることができる。従って、本発明が、補正対象の画像データや画像ファイルは、ディジタルカメラにより記録された画像ファイルに制限されないのは言うまでもないことである。
【００５９】
以下、図３を基に処理の詳細について記載を行う。該処理の制御は、CPU101がROM102または記憶装置105に格納された図３に示す処理を行うプログラムを読み出し、該プログラムを実行することによって行われる。
【００６０】
S301において、図１のディジタルカメラ112によってメモリカード105に記憶された元撮影画像ファイルの入手を行う。すなわち、CPU101は、画像入力部として機能するインタフェイス108を介して、ディジタルカメラ112から元撮影画像ファイルを取得する制御を行う。このディジタルカメラ112が顔検出機能を有している場合は、該ディジタルカメラ112は撮影画像データから顔領域を検出し、特定部位情報としての顔領域情報を元撮影画像ファイルに添付することができる。
【００６１】
なお、以下では、ディジタルカメラ112からコンピュータ100に入力される画像ファイルを元撮影画像ファイルと呼ぶことにする。
【００６２】
本実施形態では、静止画の圧縮符号化国際標準方式である、ＪＰＥＧ（非特許文献１参照）の画像フォーマットを想定して実施形態の記載を行っている。すなわち、上記元撮影画像ファイルがＪＰＥＧファイルであるとして説明する。しかし、その他一般的な画像データのファイルフォーマットである、bmp、tiffなどのデータ形式で保存されたデータに対しても、同様の効果を得ることが出来、本実施形態がＪＰＥＧファイルフォーマットに限られないのは言うまでもないことである。
【００６３】
以下にＪＰＥＧの符号化について記述する。デコードは、符号化されたデータを複号化する処理である。
【００６４】
ＪＰＥＧの画像圧縮符号化方式では、簡単には以下の処理手順により符号化が行われる。
（１）画像情報を輝度成分と色差成分に色分解。
（２）各色成分毎に所定画素単位にブロック化。
（３）ブロック内で直交変換（ＤＣＴ：離散コサイン変換）。
（４）ＤＣＴ係数を視覚特性に適合させた量子化ステップにおいて量子化。
（５）ＡＣ量子化係数を低周波域から高周波域にかけてジグザグスキャンの規則性に基づいて一次元配列に並び替え。
（６）係数ゼロの連続するラン数と係数ゼロ後に出現した非ゼロの有意係数との２次元ハフマン符号化。
（７）ＤＣ量子化係数は近接ブロックとＤＰＣＭ符号化。
【００６５】
上記の（４）、及び（７）に相当するＤＣＴ係数の量子化工程において画像情報に劣化が生じ、圧縮符号化後のデータから元画像情報への完全な復元はできない。劣化の度合いは圧縮率に起因し、使用者の指示により数段階の圧縮率を指定できるディジタルカメラが多い。また、量子化工程は人間の視覚特性に適合するように、感度の高い輝度成分よりも感度の低い色差成分に荒い量子化ステップが設定されている。その為、量子化の結果として色差成分の非可逆性が大きくなる。当然、圧縮率を上げた方が画像ファイルのファイルサイズは小さくなり、カードメモリ等に格納できる画像ファイルの数は増加する。
【００６６】
一般的に画像ファイルには画像データのほかに、ディジタルカメラ112で撮影したときの撮影条件、例えば、縦／横の画素数、露出条件、ストロボ発行の有無、ホワイトバランスの条件、撮影モード、撮影時刻などの様々な撮影情報が格納されている。撮影情報のデータは、その撮影情報に対応するＩＤ番号、データ形式、データ長、オフセット値、撮影情報固有のデータで構成される。
【００６７】
その形式としては、例えば、ＪＥＩＤＡの定めるExif（Ｅｘｃｈａｎｇｅａｂｌｅ  Ｉｍａｇｅ  Ｆｏｒｍａｔ）を使用することができる。
※ＪＥＩＤＡ：（Ｊａｐａｎ  Ｅｌｅｃｔｒｏｎｉｃ  Ｉｎｄｕｓｔｒｙ  Ｄｅｖｅｌｏｐｍｅｎｔ  Ａｓｓｏｃｉａｔｉｏｎ）
【００６８】
本実施形態では、顔領域情報がExifTag情報内の一部に格納されてる場合について記載を行っている。すなわち、本実施形態では、特定部位情報としての顔領域情報が、Exifフォーマットに準拠した形式である。しかし、例えば顔領域情報が画像データに埋め込まれているようなその他フォーマットで格納されている系に対しても、本発明が同様の効果が得られる。従って、本発明が顔領域情報がExifTag情報に格納されている形態に限られないのは言うまでもないことである。
【００６９】
S302において、S301で取得した元撮影画像ファイルに対して、顔領域情報がExifタグに格納されているかの判別を行う。本実施形態では、顔情報が格納されていると判断された場合はS303に進み、格納されていないと判断された場合はS305に進む。
【００７０】
S303において、顔情報フラグをONにする。フラグ情報は、RAM103のPCメモリ領域に保存を行う。
【００７１】
S304において、元撮影画像ファイルに付随の顔領域情報の位置情報抽出を行う。本実施形態では、(xf1,yf1)、 (xf2,yf2)、 (xf3,yf3)、 (xf4,yf4)の、顔領域を矩形で囲ったときの４点の情報が記載されている場合についての例であり、CPU101は、顔領域情報に基づいてこの４点の座標を抽出する。
【００７２】
図４に本実施形態での元撮影画像ファイルに格納された撮影画像データと顔領域情報との関係について記す。撮影画像データの左上の点を(x1,y1)、右上の点を(x2,y2)、左下の点を(x3,y3)、右下の点を(x4,y4)とする。ExifTagに格納されている顔領域を囲む矩形領域は、左上の点を(xf1,yf1)、右上の点を(xf2,yf2)、左下の点を(xf3,yf3)、右下の点を(xf4,yf4)、という座標情報で格納されている、とする。すなわち、この場合の顔領域情報は、位置(xf1,yf1)、(xf2,yf2)、(xf3,yf3)、(xf4,yf4)を示す位置情報である。
【００７３】
S305において、元撮影画像ファイルからデコードする領域（第1のデコード領域）を決定する。ここで、S304において顔領域の位置情報（顔領域情報）である(xf1,yf1)、 (xf2,yf2)、 (xf3,yf3)、 (xf4,yf4)が抽出されている場合は、この情報に基づいてデコード領域を決定する。本実施形態では、Ｓ302にて顔情報フラグがＯＮの場合は顔領域情報が元撮影画像ファイルに添付されているので、該顔領域情報に基づいて、赤目領域検出処理を行うためのデコード領域（第1のデコード領域）を、画像データ全体よりも小さくすることができる。従って、上記顔情報フラグがＯＮの場合、CPU101は、顔領域情報にて特定される(xf1,yf1)、 (xf2,yf2)、 (xf3,yf3)、 (xf4,yf4)で囲まれる矩形領域を第1のデコード領域として決定する。
【００７４】
一方、顔領域の位置情報の抽出がない場合（顔情報フラグがＯＦＦの場合）は、元撮影画像ファイルの全領域に対応する(x1,y1)、 (x2,y2)、 (x3,y3)、 (x4,y4)にて囲まれる矩形領域を第1のデコード領域として決定する。
【００７５】
顔領域情報は本実施形態におけるように、顔領域の矩形の４点の情報であってもよいし、顔領域の中心座標、また顔領域の中心座標を中心とする多角形の図形情報であっても良い。また、顔領域の特定部位(輪郭など)の位置情報であっても良い。どのような形態で顔領域情報が格納されているにせよ、S304で抽出した顔領域の位置情報（顔領域情報）に基づいてS305でデコードを行う領域を決定することができる。
【００７６】
S305において、デコードを行う領域（第1のデコード領域）は、本実施形態のように(xf1,yf1)、 (xf2,yf2)、 (xf3,yf3)、 (xf4,yf4)で囲われた矩形領域であってもよい。また、顔領域情報である(xf1,yf1)、 (xf2,yf2)、 (xf3,yf3)、 (xf4,yf4)という座標情報と同一の領域を第1のデコード領域とすることに限らない。例えば、上記矩形領域を所定の画素分だけ拡大、縮小した領域であっても同様の効果が得られる。つまり、検出したい特定部位が少なくとも含まれていれば、顔領域の含まれる矩形領域そのものをデコードする形態に限られないのは言うまでもないことである。また、顔領域の位置情報（顔領域情報）が中心座標１点で記されている場合や多角形情報などで記されている場合は、その中心座標を中心として任意の領域部を第１のデコード領域とすれば良い。その結果、本実施形態と同様の効果が得られ、顔領域情報が矩形の座標情報で記載されている系に限られないのは言うまでもないことである。詳細については、後述の実施形態の補足にて記載を行う。
【００７７】
このように、本実施形態では、元撮影画像ファイルに顔領域情報が添付されている場合は、画像処理装置は、該顔領域情報に基づいて、補正を行いたい特定部位である赤目が含まれる、画像データの一領域をデコード前に認識することができる。よって、この一領域を第1のデコード領域とすることで、赤目検出用のデコード（第1のデコード処理）を、元撮影画像ファイルの全体に対して行うことなく、該元撮影画像ファイルよりも小さな画像データに対して行うことができる。すなわち、他の装置（ここでは、ディジタルカメラ112）で取得された顔領域情報を有効利用して、元撮影画像ファイルにおいて、赤目領域の特定という観点からすると必要ない領域を省いた第1のデコード領域を決定することができる。従って、赤目補正処理の効率化を図ることができるのである。
【００７８】
S306において、S305で選択された矩形領域の４点の座標情報(xf1,yf1)、(xf2,yf2)、(xf3,yf3)、(xf4,yf4)または(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)）を受け取る。すなわち、CPU101は、S305にて決定された第1のデコード領域の位置を特定するための位置情報（第１のデコード領域の位置情報）を取得する。そして、その４点で囲まれる矩形領域に対して第１のデコード部を用いて第1のデコード処理を行う。なお、ここで生成されるデコード後の画像データは、第１のデコード後画像データである。
【００７９】
S307において、S306で生成された第１のデコード後画像データを受け取り、RAM103のPCメモリ領域に保存を行う。
【００８０】
S308において、RAM103のPCメモリ領域を参照して、S303で顔情報フラグをＯＮにしたかどうかの判定を行う。顔情報フラグがＯＮの場合はS312へ、ＯＦＦの場合はS309へ進む。
【００８１】
S309において、RAM103のPCメモリ領域に保存されている第１のデコード後画像データの縮小処理を行う。縮小された画像を再度RAM103のPCメモリ領域に保存する。
【００８２】
ここでの縮小処理としては、例えば、ニアレストネイバーやバイリニア、バイキュービックなどの多種多様なアルゴリズムが適用できる。
【００８３】
画像を縮小する方法として代表的なニアレストネイバーやバイリニア、バイキュービックのアルゴリズムについて記す。
【００８４】
ニアレストネイバー法は、単純に、注目画素に最も近い画素データを使用して補間を行い解像度変換する方法である。つまり、注目画素の画素データを最も近傍の画素データで置き換えることにより、高速に解像度変換が可能である。バイリニア法およびバイキュービック法は、注目画素周辺の複数の画素データから数学的に注目画素データを算出して補間を行い解像度変換する方法である。とくに、バイキュービック法は精度が高く、階調性が良好な解像度変換に向く。バイリニア法およびバイキュービック法はどちらも、注目画素周辺の四画素または16画素から注目画素の画素データを求めるため、比較的、原画像に近い画像を生成することが可能であり、広く普及している。
【００８５】
本実施形態においてはこれらのうちどのような手法を用いても良い。また、上記記載に限定されることはなく、その他のどのような手法を用いても構わない。
【００８６】
S310において、S309でRAM103のPCメモリ領域に保存された、縮小された第１のデコード後画像データに対して顔領域検出処理を行う。
【００８７】
S311において、S310で検出された顔領域を矩形で囲い、その矩形の頂点である、４点の座標情報を(xf1,yf1)、 (xf2,yf2)、 (xf3,yf3)、 (xf4,yf4)として抽出を行う。このようにして得られた４点が顔領域情報となる。なお本実施形態においては補正後の画質への影響を鑑みて、縮小データに対して赤目領域検出を行った場合においても縮小前の画像データに対して補正処理を行う形態について記載を行っている。そのため、顔領域の抽出を行う座標は、縮小前の第１のデコード後画像データにおける座標に変換した座標の抽出を行う。
【００８８】
このように、本実施形態では、CPU101は、元撮影画像ファイルに顔領域情報が添付されていない場合は、第1のデコード領域を元撮影画像ファイルの全体に設定して第1のデコード処理を行う。そして、第1のデコード処理によって得られた第１のデコード後画像データから顔領域を検出する。ここで、本実施形態のように、顔領域検出の前に第1のデコード後画像データを縮小することで、効率良く顔領域を検出することができる。
【００８９】
S312において、RAM103のPCメモリ領域に保存されている第１のデコード後画像データに対して赤目領域の検出処理を行う。元撮影画像ファイルのExifTagに顔領域情報が格納されている場合は、(xf1,yf1)、 (xf2,yf2)、 (xf3,yf3)、 (xf4,yf4)を頂点とする第１のデコード後画像データに対して赤目領域検出処理を行う。また、格納されていない場合は画像データ全領域を含む第１のデコード後画像データ中の、S311で検出された顔領域に対して赤目領域検出処理を行う。
【００９０】
S313において、S312で検出された赤目領域の位置情報（特定部位位置情報）を、赤目の中心座標である(xr1,yr1)、(xr2,yr2)として抽出する。本実施形態では、赤目の中心座標を抽出したが、赤目の輪郭などの情報であっても抽出することが出来る。また、赤目の認識が１つであった場合は、(xr1,yr1)だけ抽出するのでも良い。なお本実施形態においては補正後の画質への影響を鑑みて、縮小後の第１のデコード後画像データに対して赤目領域検出を行い、縮小処理のないデコード後画像データに対して補正処理を行う形態について記載を行っている。そのため、赤目領域の抽出を行う座標は、縮小前の第１のデコード後画像データにおける座標に変換した座標の抽出を行う。
【００９１】
S314において、第２のデコード部を用いて撮影画像ファイル全領域に対してデコード処理（第２のデコード処理）を行う。なお、ここで生成されるデコード後画像データを、第２のデコード後画像データとする。
【００９２】
S315において、S314で生成された第２のデコード後画像データに対して、S313で抽出された赤目の中心座標である(xr1,yr1)、(xr2,yr2)（特定部位位置情報）に基づき赤目補正を行う。補正を行った画像データは、RAM103のPCメモリ領域に保存を行う。なお、赤目領域検出、補正の詳細は、様々な文献および特許文献で開示されており、また、その検出方法や補正方法が本発明の本質ではないので、ここでの説明は省略する。
【００９３】
S316において、RAM103のPCメモリ領域に保存されている画像データの印字を行う。なお印字部（例えば、インクジェットプリンタや電子写真式プリンタ等）については、様々な文献および特許文献で開示されているため、ここでの詳細な説明は省略する。
【００９４】
以下に本実施形態の効果について説明を行う。
【００９５】
上記のように、S302、S303、S304、S308のステップにより、元撮影画像ファイル付随の顔領域情報を利用し、赤目領域検出を行うのに必要とする顔領域が含まれる領域を画像全領域から決定し、部分的にデコードを行うことが出来る。
【００９６】
その結果、顔領域情報付随の元撮影画像ファイルに対し、デコード処理を行う画像データ領域の縮小、並びに顔領域検出処理の簡略化によって画像処理の計算量を抑えることが出来る。よって、十分なハードリソースがある環境でなくても、高速な特定部位検出、補正、印字が提供できる。
【００９７】
また、他の装置から取得した元撮影画像ファイルに顔領域情報が添付されている場合は、特定部位検出処理時に扱う画像データが、画像データ全体を縮小したものではなく、顔領域のみを展開した画像データである。同一サイズのメモリ領域を用いる場合、後者の方がオリジナルデータに近く、情報欠落が少ない。その為、その後の特定部位検出処理時（赤目領域検出処理）を行う場合、ExifTag情報内の顔領域情報を用いた方が特定部位の検出精度の向上が期待でき、結果的に誤補正の発生確率を低減でき所望の赤目補正が実現できる。
【００９８】
なお、このような効果は、ディジタルカメラやスキャナといった他の装置（他デバイス）から取得されたデータが、元撮影画像ファイルといった画像ファイルに限らず、画像データであっても同様の効果を得ることができることは言うまでも無い。
【００９９】
さて、本実施形態では赤目領域検出して、補正を行う場合についての処理を記してある。しかし、その他の例えば美白補正、小顔補正、表情推定などのための、目、鼻、口、輪郭などの器官検出や顔領域の肌の色データ、ヒストグラム情報分析などであっても、本実施形態が応用可能である。この場合は、補正形態に応じて、特定部位を、目、鼻、口、輪郭、肌等適宜設定すれば良い。
【０１００】
本実施形態では、画像ファイル、あるいは画像データ全領域から特定部位検出を行うのに必要とする顔領域画像データが含まれる領域に制限してデコードを行い、縮小処理を減らすことによって情報損失を抑え、高精度化、高速化という同様の効果が得られる。従って、本実施形態により提供する特定部位検出処理が、赤目に限られないのは言うまでもないことである。
【０１０１】
他デバイスがカメラ、ビデオなどの撮影画像瞬間よりも前の時間のデータを検出処理に利用可能な撮影機器の場合、静止画を扱う本実施形態の系よりも多くの情報に基づく検出処理を利用可能なため、より精度向上の効果がある。
【０１０２】
画像ファイルや画像データ付随の情報に、顔領域情報といった特定部位情報以外に人物名情報などのその他の情報がさらに付随されていた場合は、その情報を利用することにより、例えば人物判定などの処理であっても高精度化、高速化という同様の効果が得られる。したがって、本実施形態が人物判定などの技術領域に応用可能なことは言うまでもないことである。
【０１０３】
本実施形態では、S305において第１のデコード領域を、顔領域の位置情報である(xf1,yf1)、 (xf2,yf2)、 (xf3,yf3)、 (xf4,yf4)で囲われたExifTag記載の矩形領域とする場合について記載を行っている。しかし、ExifTag記載の矩形領域は様々な形態で記載される可能性があり、必要とする特定部位の画像データが包含されない場合が存在する。
【０１０４】
図５に顔領域とExifTag記載の矩形領域の関係について記す。
【０１０５】
(xf1,yf1)、 (xf2,yf2)、 (xf3,yf3)、 (xf4,yf4)のように、ExifTag記載の矩形領域が顔領域を包含する場合は、矩形領域に検出を行う特定部位（例えば、赤目領域）が含まれる。その結果、ExifTag記載の矩形領域をデコード領域として赤目領域検出を行える。
【０１０６】
しかし、(xf5,yf5)、 (xf6,yf6)、 (xf7,yf7)、 (xf8,yf8)のように顔領域の１部分を矩形領域としてExifTagに記載を行う系に対しては、検出を行う特定部位（例えば、赤目領域）を含まない可能性がある。従って、(xf5,yf5)、 (xf6,yf6)、 (xf7,yf7)、 (xf8,yf8)で囲まれる領域を拡大した領域に対してデコード処理を行う必要がある。
【０１０７】
また、逆に(xf9,yf9)、 (xf10,yf10)、 (xf11,yf11)、 (xf12,yf12)のように、顔領域を拡大した領域を矩形領域としてExifTagに記載を行っている系に対しては、顔領域以外の領域をデコードしてしまう。その結果、矩形領域を縮小した領域をデコードするほうが効率的である。
【０１０８】
このように、ExifTag記載の矩形領域がどのように顔領域を囲んでいるか、というのは本発明において非常に重要であるが、情報記載の仕方はDSCによって様々に異なることが予想される。そのため、確実に特定部位を含むように、ExifTag記載の矩形領域情報（特定部位情報）に基づいて、矩形領域を拡大した領域に対してデコード処理を行う系にすることによって、より確実に特定部位検出を行い、十分な補正を行うことが出来る。その結果、画像全領域に対してデコード処理を行う従来の技術と比較し、高精度化、高速化効果が得られる。なお、本発明がExifTag記載の矩形領域そのものをデコードする形態に限られないのは言うまでもないことである。
【０１０９】
また、顔領域の位置情報（特定部位情報）が中心座標１点で記されている場合や多角形情報などで記されている場合は、その中心座標を中心として任意の領域部の選択を行う。その結果、本実施形態と同様の効果が得られ、顔領域情報が矩形の座標情報で記載されている系に限られないのは言うまでもないことである。
【０１１０】
また、本実施形態では画像ファイルとして画像データとExifTag情報内に記載された顔領域情報に関して説明を行った。近年、DSCと印刷機とを直接USBケーブルで接続するような印刷システムも考えられる。このようなケースにおいては、画像データと顔領域情報が一つのファイルになっている必要は無く、画像データと顔領域情報が、個別にDSCとプリンタ間でやり取りをしてもよい。従って、そのような場合においても、本発明の意図するところは実現可能なことは言うまでもない。
【０１１１】
本実施形態における、顔および器官位置の検出、補正の方法としては数多くの手法が提案されており(例えば、特許文献１)、本実施形態においてはそれらのうちどのような手法を用いても良い。また、上記記載に限定されることはなく、その他のどのような手法を用いても構わない。なお、顔および器官位置の検出、補正に関しては、様々な文献および特許文献で開示されており、また、上記検出、補正は本発明の本質ではないので、ここでの詳細な説明は省略する。
【０１１２】
（第２の実施形態）
次に、１枚の画像データ中に顔領域が複数個あり、上記画像データに顔領域情報が複数付随される場合について説明する。本実施形態では、例として、１枚の撮影画像データに複数個の顔領域があり、ExifTag情報内に顔領域位置情報が複数記載されている場合のより効果的な実施形態について記載を行う。
【０１１３】
画像処理を実行するコンピュータ（画像処理装置）の構成例を示すブロック図、画像ファイルの赤目補正処理を行い、印刷を行う場合の全体の処理フロー図は第１の実施形態と同じく、図１、図２のような形態が考えられる。詳細な説明はここでは省略する。
【０１１４】
図６は、本実施形態の複数の顔領域に対する赤目領域検出処理の詳細を示す処理フロー図である。
【０１１５】
以下、図６を基に処理の詳細について記載を行う。該処理の制御は、CPU101がROM102または記憶装置105に格納された図６に示す処理を行うプログラムを読み出し、該プログラムを実行することによって行われる。
【０１１６】
図２のS201、S202に関する詳細な説明をS601からS616にて行い、S203、S204、S205に関する詳細な説明をS617からS619にて行う。
【０１１７】
また、図７に本実施形態での画像データと顔領域情報との関係について記す。
【０１１８】
なお本実施形態では、１枚の画像中に顔領域が２個の場合について記載を行っているが、本実施形態が１枚の画像中に３個以上の顔領域が記載されている場合についても同様の効果が得られ、２個の画像に限られないのは言うまでもないことである。
【０１１９】
S601、S602、S603については、第１の実施形態のS301、S302、S303と同様のため、詳細な説明はここでは省略する。
【０１２０】
S604において、元撮影画像ファイル付随の顔領域情報の位置情報抽出を行う。本実施形態では、２個の顔領域情報が座標形式で記載されているとする。本実施形態においては、２個の顔領域を２個の矩形で囲ったときの８点の座標情報を抽出する。すなわち、本実施形態では、第１の顔領域情報である(xf1-1,yf1-1)、 (xf1-2,yf1-2)、 (xf1-3,yf1-3)、 (xf1-4,yf1-4)で囲まれる矩形領域に含まれる顔領域を顔１とする。また、第２の顔領域情報である(xf2-1,yf2-1)、 (xf2-2,yf2-2)、 (xf2-3,yf2-3)、 (xf2-4,yf2-4)で囲まれる矩形領域に含まれる顔領域を顔２とする。
【０１２１】
なお、顔領域情報は本実施形態におけるように、顔領域の矩形の４点の情報であってもよいし、顔領域の中心座標、また顔領域の中心座標を中心とする多角形の図形情報であっても良い。また、顔領域の特定部位(輪郭など)の位置情報であっても良い。
【０１２２】
S605において、元撮影画像ファイルから第1のデコード処理を施す領域（第１のデコード領域）を決定する。
【０１２３】
図７に顔領域と座標情報（顔領域情報）との関係を示す。
【０１２４】
ここで、S604において顔領域の位置情報（顔領域情報）である、８点の座標情報が記載されている場合は、この情報に基づいて第１のデコード領域を決定する。
【０１２５】
本実施形態では、第１の顔領域情報により特定される、顔１を囲む矩形領域と、第２の顔領域情報により特定される、顔２を囲む矩形領域の、２個の矩形領域を第１のデコード領域として選択する。顔領域の位置情報（顔領域情報）の記載がない場合は、元撮影画像ファイルの全領域を囲む(x1,y1)、 (x2,y2)、 (x3,y3)、 (x4,y4)の矩形領域を第１のデコード領域として選択する。このように、CPU101は、複数の顔領域情報に基づいて、それぞれの顔領域情報にて特定される領域を第１のデコード処理を行う領域として、複数の第１のデコード領域を決定する。
【０１２６】
S605において決定される第１のデコード領域は、本実施形態のように(xf1-1,yf1-1)、 (xf1-2,yf1-2)、 (xf1-3,yf1-3)、 (xf1-4,yf1-4)で囲われた矩形領域であってもよい。また、矩形領域を拡大、縮小した領域であっても同様の効果が得られ、顔領域の含まれる矩形領域そのものをデコードする形態に限られないのは言うまでもないことである。
【０１２７】
また、顔領域の位置情報が中心座標１点で記されている場合や多角形情報などで記されている場合は、その中心座標を中心として任意の領域部の選択を行う。その結果、本実施形態と同様の効果が得られ、顔領域情報が矩形の座標情報で記載されている系に限られないのは言うまでもないことである。
【０１２８】
S606において、S605で決定された第１のデコード領域として決定された領域の位置を示す情報（第１のデコード領域の位置情報）を受け取り、第一のデコード部を用いて、第１のデコード領域についてデコード処理を行う（第１のデコード処理）。なお、ここで生成されるデコード後画像データを、第１のデコード後画像データとする。
【０１２９】
本実施形態では、第１のデコード領域の位置情報として、顔１を囲む矩形領域と顔２を囲む矩形領域の、２個の矩形領域の座標情報を受け取った場合は、最初に顔１を囲む矩形領域に対してデコード処理を行い、顔１を含む第１のデコード後画像データを生成する。
【０１３０】
次に(xf2-1,yf2-1)、 (xf2-2,yf2-2)、 (xf2-3,yf2-3)、 (xf2-4,yf2-4)で囲まれる顔２の矩形領域に対してデコード処理を行い、顔２を含む第２のデコード後画像データを生成する。
【０１３１】
一方、(x1,y1)、 (x2,y2)、 (x3,y3)、 (x4,y4)を受け取った場合は、元撮影画像ファイル全領域が第１のデコード領域であるので、該全領域に対してデコードを行う。
【０１３２】
S607において、S606で２個の矩形領域の座標情報（顔１を囲む矩形領域と顔２を囲む矩形領域の、２個の矩形領域の位置情報）を受け取ってデコード処理を行った場合、２個の第１のデコード後画像データをメモリに格納する。すなわち、顔１を含む第１のデコード後画像データと、顔２を含む第１のデコード後画像データの、２個のデコード後画像データをRAM103のPCメモリ領域に保存を行う。S606において元撮影画像ファイル全領域に対してデコードを行った場合は、元撮影画像ファイル全領域の第１のデコード後画像データをRAM103のPCメモリ領域に保存を行う。
【０１３３】
S608において、S603で顔情報フラグをＯＮにしたかどうかの判定を行う。顔情報フラグがＯＮの場合はS609へ、ＯＦＦの場合はS612へ進む。
【０１３４】
S609において、速度を優先とした処理を行うか、精度を優先とした処理を行うか、という判定を行う。速度優先の場合はS610へ、精度優先の場合はS615へ進む。なおここでの判定は、モニタ113に速度優先か精度優先かを選択させる画面を表示し、ユーザにポインティングデバイス106やキーボード107によりコンピュータ100上で任意に選択してもらうような形態であっても良い。この場合は、CPU101は、ユーザ入力に応じて、速度優先か精度優先かを決定する。また、プリンタといった出力印字装置の印字速度が早いケース等、必要とされる処理速度に応じて自動的に判定するような形態であっても良い。この場合は、CPU101は、上記プリンタ等の仕様情報を取得し、該情報に基づいて速度優先か、あるいは精度優先かを決定すれば良い。
【０１３５】
S610において、RAM103のPCメモリ領域に保存されている、顔１を含む第１のデコード後画像データと、顔２を含む第１のデコード後画像データの縮小を行う。
【０１３６】
S611において、縮小を行った顔１を含む第１のデコード後画像データと、縮小を行った顔２のデコード後画像データとを１枚の画像に統合する。
【０１３７】
図８に、S610、S611における画像の縮小、統合の概念図を記す。
【０１３８】
S607においてRAM103のPCメモリ領域に保存されている顔１を含む第１のデコード後画像データと、顔２を含む第１のデコード後画像データの２個のデコード後画像データに対し、S610において縮小処理を行う。本実施形態では、矩形領域の４辺の長さについて、各々２分の１の倍率で縮小処理を行う。
【０１３９】
縮小後の第１のデコード後画像データの座標において、顔１を囲む矩形領域の座標を(xf1-1’,yf1-1’)、 (xf1-2’,yf1-2’)、 (xf1-3’,yf1-3’)、 (xf1-4’,yf1-4’)とする。また、顔２を囲む矩形領域を(xf2-1’,yf2-1’)、 (xf2-2’,yf2-2’)、 (xf2-3’,yf2-3’)、 (xf2-4’,yf2-4’)とする。例えば顔１の縮小は、(xf1-1’,yf1-1’)、 (xf1-2’,yf1-2’)で結ばれる辺の長さは、縮小前の(xf1-1,yf1-1)、 (xf1-2,yf1-2)で結ばれる辺の長さの半分になる。また、縮小後の画素数は４分の１になる。
【０１４０】
次に、縮小後の、顔１を含む第１のデコード後画像データと顔２を含む第１のデコード後画像データとの結合を行う。すなわち、(xf1-2’,yf1-2’)と(xf2-1’,yf2-1’)、(xf1-4’,yf1-4’)と(xf2-3’,yf2-3’)の各頂点が重なるように画像の統合を行う。統合後の画像データを(xf1’,yf1’)、 (xf2’,yf2’) 、(xf3’,yf3’)、 (xf4’,yf4’)で囲まれる、顔１と顔２を含む第１のデコード後画像データとしてRAM103のPCメモリ領域に保存を行う。
【０１４１】
なお本実施形態では、１枚の画像データ中に２個の顔領域が含まれる場合の実施形態について記載を行っているが、３個以上の顔領域が含まれる場合についても同様の処理を行うことにより、同様の効果が得られるのは言うまでもない。
【０１４２】
S612、S613は第１の実施形態のS309、S310と同様のため、詳細な説明はここでは省略する。
【０１４３】
S614において、S613で検出した顔領域情報を受け取り、顔領域を含んだ２個の矩形情報を、８点の座標情報として抽出する。本実施形態においては、顔１を(xf1-1,yf1-1)、 (xf1-2,yf1-2)、 (xf1-3,yf1-3)、 (xf1-4,yf1-4)、として抽出する。また、顔２を(xf2-1,yf2-1)、 (xf2-2,yf2-2)、 (xf2-3,yf2-3)、 (xf2-4,yf2-4)の座標情報の抽出を行う。上記(xf1-1,yf1-1)、 (xf1-2,yf1-2)、 (xf1-3,yf1-3)、 (xf1-4,yf1-4)が第１の顔領域情報となる。また、(xf2-1,yf2-1)、 (xf2-2,yf2-2)、 (xf2-3,yf2-3)、 (xf2-4,yf2-4)が第２の顔領域情報となる。
【０１４４】
なお本実施形態においては補正後の画質への影響を鑑みて、縮小データに対して赤目領域検出を行った場合においても縮小前の画像データに対して補正処理を行う形態について記載を行っている。そのため、赤目領域の抽出を行う座標は、縮小前の第１のデコード後画像データにおける座標に変換した座標の抽出を行う。
【０１４５】
S615において、RAM103のPCメモリ領域に保存されている、第１のデコード後画像データに対して、赤目領域の検出を行う。元撮影画像ファイルに顔領域情報が格納されていた場合は、S611で生成された顔１と顔２を含む第１のデコード後画像データ、もしくは顔１を含む第１のデコード後画像データと顔２を含む第１のデコード後画像データ両方を受け取り、赤目領域検出を行う。
【０１４６】
元撮影画像ファイルに顔領域情報が格納されていなかった場合は、画像全領域に対してデコード処理を行いう。その後、生成されたデコード後画像データに対し、S614で得られた顔１を含む矩形領域情報（第１の顔領域情報）を(xf1-1,yf1-1)、 (xf1-2,yf1-2)、 (xf1-3,yf1-3)、 (xf1-4,yf1-4)として受け取る。また、顔２を含む矩形領域情報（第２の顔領域情報）を(xf2-1,yf2-1)、 (xf2-2,yf2-2)、 (xf2-3,yf2-3)、 (xf2-4,yf2-4)として受け取り、赤目領域検出処理を行う。
【０１４７】
S616において、S615で検出された赤目領域の位置情報（特定部位位置情報）を、赤目の中心座標である(xr1-1,yr1-1)、(xr1-2,yr1-2)、(xr2-1,yr2-1)、(xr2-2,yr2-2)として抽出する。なお本実施形態においては補正後の画質への影響を鑑みて、縮小データに対して赤目領域検出を行った場合においても縮小前の画像データに対して補正処理を行う形態について記載を行っている。そのため、赤目領域の抽出を行う座標は、縮小前の第１のデコード後画像データにおける座標に変換した座標の抽出を行う。
【０１４８】
S617、S618、S619は、第一の実施形態のS314、S315、S316と同様のため、詳細な説明はここでは省略する。
【０１４９】
このように、本実施形態では、第１の実施形態にS609、S610、S611のステップを追加することにより、複数の顔領域情報が存在する１枚の画像ファイルまたは画像データに対して、選択的に画像処理を行うことが出来る。
【０１５０】
このとき、速度を優先させる場合には、複数のデコード後画像データを縮小して１枚のデコード後画像データに統合し、赤目領域検出を行うことにより、精度悪化を防ぎながら更なる高速化効果を得られる。また精度を優先させる場合には、複数のデコード後画像データに対して、第１の実施形態と同様に縮小を行わず赤目領域検出を行う。このような手法により、第１の実施形態と同様な効果が得られるのに加え、さらに高速化効果を得ることが出来る。
【０１５１】
本実施形態ではS610、S611において、顔領域を含む、第１のデコード後画像データを縮小後、統合をして１枚の画像に変換を行う。しかし、S610、S611の順序を逆にし、１枚の画像に統合後、縮小を行っても同様のことであり、本発明がS610、S611の順序に制限されないのは言うまでもないことである。
【０１５２】
なお、本実施形態において、顔領域情報が1枚の画像データに対して２個の顔料域が存在する場合、顔１が含まれる矩形領域と顔２が含まれる矩形領域の、２個の矩形領域に対してデコードを行う実施形態について記載を行っている。しかし、顔１、顔２の両方が含まれる矩形領域を選択しても同様の効果が得られるのは言うまでもないことである。
【０１５３】
図７を用いて詳細を記載を行うと、S605において第１のデコード領域を決定する際に(xf1-1,yf1-1)、(xf2-2,yf2-2)、  (xf1-3,yf1-3)、 (xf2-4,yf2-4)の４点で囲まれる矩形領域を選択する。その結果、顔１、顔２の両方が含まれる矩形領域を第１のデコード領域として選択することが出来る。よって、上述した本実施形態と比較して、デコード処理を行う領域は増加するが、S609、S610、S611の処理工程を減らすことにより、同様の効果を得られる。
【０１５４】
従来の手法と比較しても、高速化、高精度化の効果が得られ、本発明の範疇にあるのは言うまでもないことである。
【０１５５】
（第３の実施形態）
次に、例えば、写真の元となる撮影画像データといった画像データ中の顔領域の上下方向が該画像データの上下方向と一致しない場合の実施形態について記載を行う。
【０１５６】
図９は本実施形態の傾いた顔領域に含まれる赤目の検出処理の詳細を示す処理フロー図である。以下、図９を基に処理の詳細について記載を行う。該処理の制御は、CPU101がROM102または記憶装置105に格納された図９に示す処理を行うプログラムを読み出し、該プログラムを実行することによって行われる。また、図１０に本実施形態での撮影画像データと顔領域情報と角度との関係について記す。
【０１５７】
画像処理を実行するコンピュータ（画像処理装置）の構成例を示すブロック図、画像ファイルの赤目補正処理を行い、印刷を行う場合の全体の処理フロー図は第１の実施形態と同じく、図１、図２のような形態が考えられる。詳細な説明はここでは省略する。
【０１５８】
S901、S902、S903は第１の実施形態のS301、S302、S303と同様のため、ここでは省略する。
【０１５９】
S904において、元撮影画像ファイル付随の顔領域情報の位置情報、元撮影画像データに対する顔領域の傾きを示す角度情報の抽出を行う。本実施形態では、図１０に示すように、４点の顔領域情報を(xf1,yf1)、 (xf2,yf2)、 (xf3,yf3)、 (xf4,yf4)とする。また、元撮影画像ファイルに格納される撮影画像データの端４点の情報を(x1,y1)、 (x2,y2)、 (x3,y3)、 (x4,y4)とする。これらの顔領域情報と撮影画像データの端４点の情報を用いて、角度Θを求め、角度情報を取得する。
【０１６０】
本実施形態では反時計回り方向をプラスとして角度Θを求めているが、時計回り方向をプラスとして角度Θを求めるような形態においても、本発明の効果が得られるのは言うまでもないことである。
【０１６１】
S905、S906、S907については、第１の実施形態のS305、S306、S307と同様のため、ここでは省略する。
【０１６２】
S908において、S903で顔情報フラグをＯＮにしたかどうかの判定を行う。顔情報フラグがＯＮの場合はS909へ、ＯＦＦの場合はS910へ進む。
【０１６３】
S909において、角度Θを示す上記取得された角度情報に基づいて、S904で求めた角度分、RAM103のPCメモリに保存されている第１のデコード後画像データを、角度Θの傾きを補正するように時計方向に回転を行う。その後、顔領域の傾きが、撮影画像データの垂直方向と同等である、回転を行った第１のデコード後画像データとしてRAM103のPCメモリに保存を行う。
【０１６４】
なお、本実施形態ではあらゆる角度に回転させることが出来る形態について記載を行っているが、例えばある角度方向のみに回転可能な形態に対しても同様の効果が得られ、全方位に回転可能な系に制限されないのは言うまでもないことである。
【０１６５】
S910は、第１の実施形態のS309と同様のため、ここでは省略する。
【０１６６】
S911において、S910で縮小された画像データの回転を行う。一回目は回転処理を行わず、S912へすすむ。
【０１６７】
S912において、S910で縮小された画像データに対して、顔領域検出を行う。
【０１６８】
S913において、S912で検出された顔領域の位置情報、角度情報の抽出を行う。顔領域が検出された場合は、S904と同様に角度Θを求め、(xf1,yf1)、 (xf2,yf2)、 (xf3,yf3)、 (xf4,yf4)の顔領域位置情報と角度Θの抽出を行う。S914において、画像の全方位に対して、顔領域の検出処理が行われたかの判定を行う。全方位に対する検出処理が終了していればS915へ、終了していなければS911へと戻り、S910で縮小された画像データを反時計回りに90度回転処理を行う。その後、S912、Ｓ913、S914を繰り返す。
【０１６９】
このように画像を90度ずつ回転を行い、270度まで回転処理を行った後、S915へ進むことにより、全方位に回転した画像に対して、顔領域検出処理を行う。
【０１７０】
本実施形態では90度ごとに回転処理を行っているが、45度や180度など、回転角度が異なるような形態においても、本発明の効果が得られるのは言うまでもないことである。
【０１７１】
また、本実施形態では反時計回り方向に画像データの回転処理を行っているが、時計回り方向に回転処理を行うような形態においても、本発明の効果が得られるのは言うまでもないことである。
【０１７２】
本実施形態では、顔領域がある回転角度でしか検出されない形態について記載を行っているが、複数の回転角度で検出される場合、重複した同一の顔領域情報を削除する工程を追加することにより、本発明の効果が得られるのは言うまでもないことである。
【０１７３】
ここで、全方位に対して顔料域検出を行うために、S911、S912、S913の３ステップを繰り返し行い、縮小された画像データの回転角度を変更しながら顔検出処理を行う手法が一般的であり、本実施形態でも同様の手法を用いて顔検出処理を行う。なお、本実施形態では全方向に対して顔領域検出を行う形態について記載を行っているが、例えば顔領域の傾きをある角度方向に制限して検出を行う形態に対しても、本発明と同様の効果が得られ、全方位を検出する系に制限されないのは言うまでもないことである。
【０１７４】
S915において、RAM103のPCメモリに保存されている第１のデコード後画像データに対し、顔領域が検出された角度の回転処理を行い、S913で求めた角度Θの傾きを補正するように時計方向に回転を行う。その後、顔領域の傾きが、撮影画像データの垂直方向と同等である、回転を行った第１のデコード後画像データとしてRAM103のPCメモリに保存を行う。
【０１７５】
S916において、RAM103のPCメモリに保存されている、回転を行った第１のデコード後画像データに対して赤目領域の検出を行う。なお、撮影画像ファイルに顔領域情報が格納されていなかった場合は、S913において抽出を行った(xf1,yf1)、 (xf2,yf2)、 (xf3,yf3)、 (xf4,yf4)の座標情報に基づき、赤目領域検出を行う。
【０１７６】
S917において、S916で検出された赤目領域の位置情報を、赤目の中心座標である(xr1,yr1)、(xr2,yr2)として抽出する。なお本実施形態においては補正後の画質への影響を鑑みて、縮小データに対して赤目領域検出を行った場合においても縮小前の画像データに対して補正処理を行う形態について記載を行っている。そのため、赤目領域の抽出を行う座標は、縮小前の第１のデコード後画像データにおける座標に変換した座標の抽出を行う。
【０１７７】
S918、S919、S920は、第１の実施形態のS314、S315、S316と同様のため、ここでは省略する。
【０１７８】
このように、第１の実施形態にS909のフローを追加することにより、顔領域の上下方向の向きを常に一定方向に揃えることが出来る。その結果、赤目領域検出時に目の向きを考慮することがなく、一定方向に対してのみ検出処理、補正処理を行うことが出来るため、全方位を網羅した特定部位検出処理において、第１の実施形態の効果に加え、更なる高精度化、高速化の効果が得られる。
【０１７９】
また、本実施形態では、顔領域の座標情報より顔領域の傾き角度Θを求めている。しかし、Tag情報中に傾き角度Θが記入されている場合には、傾き角度Θの情報をそのまま利用することにより、傾き角度Θを求める処理を省略し、更なる高速化の効果が得られる。
【０１８０】
さらに、第２の実施形態と第３の実施形態を組み合わせることにより、元撮影画像ファイル中に複数の顔領域が傾いて存在するような場合においても、高精度化、高速化の効果が得られる。
【０１８１】
（第４の実施形態）
本実施形態では、画像処理装置が取得する画像データや画像ファイルに、例えば、目、鼻、口、肌といった、顔領域以外の人物領域の座標情報が添付されている場合について記載を行う。図１１は本実施形態の目領域の座標情報（目領域情報）が格納されている画像データに対する、赤目の検出処理の詳細を示す処理フロー図である。該処理の制御は、CPU101がROM102または記憶装置105に格納された図１１に示す処理を行うプログラムを読み出し、該プログラムを実行することによって行われる。本実施形態では、目領域が(xe1,ye1)、(xe2,ye2)という座標形式でExifTagに記載されているとして各処理の説明を行う。
【０１８２】
画像処理を実行するコンピュータ（画像処理装置）の構成例を示すブロック図、画像ファイルの赤目補正処理を行い、印刷を行う場合の全体の処理フロー図は第１の実施形態と同じく、図１、図２のような形態が考えられる。詳細な説明はここでは省略する。
【０１８３】
また、目領域情報が記載されていない場合の実施形態については、第１の実施形態と同様であるため、本実施形態においては詳細な説明は省略する。すなわち、Ｓ1105〜Ｓ1111までは、Ｓ305〜Ｓ307、Ｓ309〜Ｓ312と同様である。S1101は、第１の実施形態のS301と同様のため、ここでは省略する。
【０１８４】
S1102において、S1101で取得した元撮影画像ファイルに対して、目領域情報がExifタグに格納されているかの判別を行う。本実施形態では、目情報が格納されていると判断された場合はS1103に進み、格納されていないと判断された場合はS1105に進む。
【０１８５】
S1103において、元撮影画像ファイル付随の目領域の位置情報である、(xe1,ye1)、(xe2,ye2)の座標情報（目領域情報）の抽出を行う。
【０１８６】
S1104において、S1103で抽出された(xe1,ye1)、(xe2,ye2)に基づき、目領域が赤目かどうかの判定を行う。すなわち、CPU101は、 (xe1,ye1)、(xe2,ye2)の位置情報である目領域情報に基づいて、目領域、あるいは目領域を所定の画素分だけ拡大した領域をデコードして、第１のデコード領域を取得する。次いで、CPU101は、該第１のデコード領域に含まれる目領域が赤目であるか否かを判断する。赤目と判定された場合は、その目領域情報を、S1112へ渡す。該渡される目領域情報が、特定部位位置情報となる。
【０１８７】
残りの処理は、第１の実施形態と同様のため、詳細な説明はここでは省略する。すなわち、Ｓ1112〜Ｓ1115は、図３のＳ313〜Ｓ316と同様の処理である。
【０１８８】
このようにS1102において、画像データに対して目領域情報が含まれているかどうかの判定を行い、S1104にて赤目検出を行うことにより、デコード処理、検出処理にかかる処理が大幅に簡略化される。その結果画像処理の計算量が大幅に削減され、十分なハードリソースがある環境でなくても、高速な特定部位検出、補正、印字が提供できる。
【０１８９】
また、特定部位検出処理時に扱う画像データが、画像データ全体を縮小したものではなく、目領域のみを展開した画像である。その為、第１実施形態よりも更なる高精度な検出が期待でき、結果的に誤補正の発生確率を低減でき所望の赤目補正が実現できる。
【０１９０】
上述のように第１〜第4の実施形態の画像処理方法により、他デバイスにおける同様の顔検出処理結果を効率的に利用し、画像情報の損失を抑え、高精度の特定部位検出処理を行うことにより、所望の特定部位補正処理を十分に行うことが出来る。
【０１９１】
また、顔領域を含む画像データに制限してデコード処理を行うことにより、赤目検出を行うために必要とする画像データを適宜利用することが出来るため、赤目検出を行うべき領域に対して的確に赤目検出を行うことが出来る。その結果、赤目の語検出を抑えることが出来、所望の特定部位補正処理を十分に行うことが出来る。
【０１９２】
また、他デバイスにおける同様の顔検出処理をプレ処理として扱っており、高速に特定部位検出処理を行うことが可能となる。
【０１９３】
また、赤目補正を行い、印字を行うような印字装置に組み込まれた場合においても、高速、高精度の赤目領域検出処理を行うことにより、高速、高精度の赤目補正印刷を行うことが可能となる。
【０１９４】
また、１枚の撮影画像中に複数の顔領域が存在する場合についても、デコード後画像データを縮小して統合し特定部位検出、補正を行なうことにより、更なる高速化効果が得られる。
【０１９５】
さらに、顔領域情報から顔領域の傾き角度の検出を行うことにより、一定方向に対してのみ赤目領域検出処理を行うことが出来るため、全方位を網羅した特定部位検出処理をより高速に行うことができる。
【０１９６】
（その他の実施形態）
本発明は、複数の機器（例えばコンピュータ、インターフェース機器、リーダ、プリンタなど）から構成されるシステムに適用することも、１つの機器からなる装置（複合機、プリンタ、ファクシミリ装置など）に適用することも可能である。
【０１９７】
前述した実施形態の機能を実現するように前述した実施形態の構成を動作させるプログラムを記憶媒体に記憶させ、該記憶媒体に記憶されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も上述の実施形態の範疇に含まれる。即ちコンピュータ読み取り可能な記憶媒体も実施例の範囲に含まれる。また、前述のコンピュータプログラムが記憶された記憶媒体はもちろんそのコンピュータプログラム自体も上述の実施形態に含まれる。
【０１９８】
かかる記憶媒体としてはたとえばフロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ―ＲＯＭ、磁気テープ、不揮発性メモリカード、ＲＯＭを用いることができる。
【０１９９】
また前述の記憶媒体に記憶されたプログラム単体で処理を実行しているものに限らず、他のソフトウエア、拡張ボードの機能と共同して、ＯＳ上で動作し前述の実施形態の動作を実行するものも前述した実施形態の範疇に含まれる。
【図面の簡単な説明】
【０２００】
【図１】本発明の一実施形態の画像処理を実行するコンピュータ（画像処理装置）の構成例を示すブロック図である。
【図２】本発明の一実施形態における、赤目領域検出、補正、印字の処理全体を説明するフローチャートである。
【図３】本発明の一実施形態における、赤目領域検出、補正処理のフローチャートである。
【図４】本発明の一実施形態に係る、元撮影画像ファイルに格納された撮影画像データと顔領域情報との座標の位置関係を示す図である。
【図５】本発明の一実施形態に係る、顔領域とExifTag記載の矩形領域の座標の位置関係を示す図である。
【図６】本発明の一実施形態における、赤目領域検出、補正処理のフローチャートである。
【図７】本発明の一実施形態に係る、元撮影画像データと複数の顔領域情報との座標の位置関係を示す図である。
【図８】本発明の一実施形態に係る、複数の顔領域のデコード後画像データを、１つのデコード後画像データに統合を行う概念図である。
【図９】本発明の一実施形態における、赤目領域検出、補正処理のフローチャートである。
【図１０】本発明の一実施形態に係る、顔領域の座標情報と傾き情報を説明する図である。
【図１１】本発明の一実施形態における、撮影画像ファイルに関連する情報に、目領域情報が添付されている場合の、赤目領域検出、補正のフローチャートである。
【符号の説明】
【０２０１】
１００  コンピュータ
１０１  CPU 
１０２  ROM 
１０３  RAM 
１０４  ビデオカード
１０５  記憶装置
１０６  ポインティングデバイス
１０７  キーボード
１０８  インタフェイス
１０９システムバス
１１０  プリンタ
１１１  スキャナ
１１２  ディジタルカメラ
１１３  モニタ
１１４  ネットワーク
１１５  ネットワークインタフェイスカード
【図１】
2010009227.tif 000003
【図２】
2010009227.tif 000004
【図３】
2010009227.tif 000005
【図４】
2010009227.tif 000006
【図５】
2010009227.tif 000007
【図６】
2010009227.tif 000008
【図７】
2010009227.tif 000009
【図８】
2010009227.tif 000010
【図９】
2010009227.tif 000011
【図１０】
2010009227.tif 000012
【図１１】
2010009227.tif 000013