(57)【要約】【課題】画像データに人の顔を構成する画像が含まれているか否かを高速に判定することができる画像処理装置および画像処理プログラムを提供すること。【解決手段】図１１（ａ）に示すように、人の顔の肌を、「額」と「目の下」と「頬」と「首」との４つに大別すると、それぞれの部分は、お互いに色相や明度が重複しているが、ある部分と別の部分とを比較すると、所定の傾向が示されている。顔判定処理では、「額」から「目の下」、「目の下」から「頬」、「頬」から「首」に向かって各部分の肌の明度と色相とを比較し、相対的にどのような変化を示すかを調べている。肌色値を有する画素で構成される領域内において、各部分の明度と色相との相対的な変化を調べているので、肌の色の個人差に拘わらず、人の顔を高精度に判定することができる。【選択図】図１１
2008191726.tif 000002
【特許請求の範囲】
【請求項１】
画像を構成する各画素の色相情報及び明度情報を形成する情報形成手段と、
その情報形成手段に基づいて、人の肌の特性を有する画素を含む領域を抽出する肌色領域抽出手段と、
その肌色領域抽出手段により抽出された領域内の画素の色相及び明度が、その領域の一端から他端に向けて所定の変化を示す場合に、その領域内には人の顔の部分を構成する画素が含まれていると判定する第１の顔判定手段とを備えた画像処理装置。
【請求項２】
前記第１の顔判定手段は、前記肌色領域抽出手段により抽出された領域内の画素の色相が、その領域の一端から他端に向けて、色相環の黄色方向から赤色方向に変化し更に黄色方向に変化し、かつ、前記肌色領域抽出手段により抽出された領域内の画素の明度が、その領域の一端から他端に向けて上昇し更に低下する場合に、その領域内には人の顔の部分を構成する画素が含まれていると判定することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記肌色領域抽出手段により抽出された領域を所定の大きさのブロックに分割し、その分割された各ブロックの色相情報及び明度情報を、そのブロック内の画素の色相情報及び明度情報に基づいて形成するブロック情報形成手段を備え、
前記第１の顔判定手段は、前記ブロック情報形成手段により形成されたブロックの色相情報及び明度情報に基づいて、前記肌色領域抽出手段により抽出された領域内の画素の色相及び明度が、その領域の一端から他端に向けて所定の変化を示すかを判断することを特徴とする請求項１または２記載の画像処理装置。
【請求項４】
前記ブロック情報形成手段は、各ブロックを構成する画素の色相情報及び明度情報の平均値を各ブロックの色相情報及び明度情報とすることを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記第１の顔判定手段は、あるブロックとそのブロックに対して前記領域の一端側または他端側に位置するブロックとの間における色相情報及び明度情報の変化量に基づいて、前記肌色領域抽出手段により抽出された領域内の画素の色相及び明度が、その領域の一端から他端に向けて所定の変化を示すかを判断することを特徴とする請求項３または４記載の画像処理装置。
【請求項６】
前記ブロック情報形成手段は、前記肌色領域抽出手段により抽出された領域を縦Ｍ個のブロック、横Ｎ個のブロックに分割し、
前記第１の顔判定手段は、縦方向に並ぶＮ列のブロック列のうち、各列毎に色相情報及び明度情報を比較し、いずれかの列において前記肌色領域抽出手段により抽出された領域内の画素の色相及び明度が、その領域の一端から他端に向けて所定の変化を示す場合に、その領域には人の顔の部分を構成する画素が含まれていると判定することを特徴とする請求項３から５のいずれかに記載の画像処理装置。
【請求項７】
画像を構成する各画素の色相情報及び明度情報を形成する情報形成手段と、
その情報形成手段により形成される色相情報及び明度情報に基づいて、人の肌の特性を有する画素を含む領域を抽出する肌色領域抽出手段と、
前記情報形成手段により形成された色相情報及び明度情報に基づいて、前記肌色領域抽出手段により抽出された領域内の画素のうち、額の色特性を有する画素と、頬の色特性を有する画素と、首の色特性を有する画素とを決定する肌色種類決定手段と、
その肌色種類決定手段により決定された前記額の色特性を有する画素と前記首の色特性を有する画素との間に、前記頬の色特性を有する画素が位置する場合に、前記領域内には人の顔の部分を構成する画素が含まれていると判定する第２の顔判定手段とを備えた画像処理装置。
【請求項８】
前記肌色種類決定手段は、額の色特性を有する画素と、頬の色特性を有する画素と、首の色特性を有する画素と、目の下の色特性を有する画素とを、前記情報形成手段により形成された色相情報及び明度情報に基づいて決定するものであり、
前記第２の顔判定手段は、前記肌色種類決定手段により決定された前記額の色特性を有する画素と前記首の色特性を有する画素との間に、前記目の下の色特性を有する画素と前記頬の色特性を有する画素とが位置する場合に、前記領域内には人の顔の部分を構成する画素が含まれていると判定することを特徴とする請求項７記載の画像処理装置。
【請求項９】
前記第２の顔判定手段は、前記目の下の色特性を有する画素と前記首の色特性を有する画素との間に前記頬の色特性を有する画素が位置する場合に、前記領域内には人の顔の部分を構成する画素が含まれていると判定することを特徴とする請求項８記載の画像処理装置。
【請求項１０】
前記第２の顔判定手段は、前記額の色特性を有する画素と前記頬の色特性を有する画素との間に前記目の下の色特性を有する画素が位置する場合に、前記領域内には人の顔の部分を構成する画素が含まれていると判定することを特徴とする請求項８または９記載の画像処理装置。
【請求項１１】
前記肌色種類決定手段は、前記肌色領域抽出手段により抽出された領域内の画素のうち、前記色特性のいずれの色特性も有さない画素を無特性な画素と決定し、
前記第２の顔判定手段は、前記額の色特性を有する画素と前記目の下の色特性を有する画素との間に前記無特性な画素が位置する場合に、前記領域内には人の顔の部分を構成する画素が含まれていると判定することを特徴とする請求項８から１０のいずれかに記載の画像処理装置。
【請求項１２】
前記肌色種類決定手段は、前記肌色領域抽出手段により抽出された領域内の画素のうち、前記色特性のいずれの色特性も有さない画素を無特性な画素と決定し、
前記第２の顔判定手段は、前記頬の色特性を有する画素と前記首の色特性を有する画素との間に前記無特性な画素が位置する場合に、前記領域内には人の顔の部分を構成する画素が含まれていると判定することを特徴とする請求項７から１１のいずれかに記載の画像処理装置。
【請求項１３】
前記肌色種類決定手段は、前記肌色領域抽出手段により抽出された画素の色相情報の最大値及び最小値と明度情報の最大値及び最小値とに基づいて、額の色特性を有する画素と、頬の色特性を有する画素と、首の色特性を有する画素と、目の下の色特性を有する画素とを決定することを特徴とする請求項７から１２のいずれかに記載の画像処理装置。
【請求項１４】
画像を構成する各画素の色相情報及び明度情報を形成する情報形成ステップと、
その情報形成ステップに基づいて、人の肌の特性を有する画素を含む領域を抽出する肌色領域抽出ステップと、
その肌色領域抽出ステップにより抽出された領域内の画素の色相及び明度が、その領域の一端から他端に向けて所定の変化を示す場合に、その領域には人の顔の部分を構成する画素が含まれていると判定する第１の顔判定ステップとをコンピュータに実行させることを特徴とする画像処理プログラム。
【請求項１５】
画像を構成する各画素の色相情報及び明度情報を形成する情報形成ステップと、
その情報形成ステップにより形成される色相情報及び明度情報に基づいて、人の肌の特性を有する画素を含む領域を抽出する肌色領域抽出ステップと、
前記情報形成ステップにより形成された色相情報及び明度情報に基づいて、前記肌色領域抽出ステップにより抽出された領域内の画素のうち、額の色特性を有する画素と、頬の色特性を有する画素と、首の色特性を有する画素とを決定する肌色種類決定ステップと、
その肌色種類決定ステップにより決定された前記額の色特性を有する画素と前記首の色特性を有する画素との間に、前記頬の色特性を有する画素が位置する場合に、前記領域内には人の顔の部分を構成する画素が含まれていると判定する第２の顔判定ステップとをコンピュータに実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理プログラムに関し、特に、画像データに人の顔を構成する画像が含まれているか否かを高速に判定することができる画像処理装置および画像処理プログラムに関するものである。
【背景技術】
【０００２】
従来より、画像データに人の顔を構成する画像が含まれているかを判定する画像処理装置が知られている。このような画像処理装置に関し、特許文献１に記載されている技術では、画像データに対してエッジ抽出処理などの複数の画像処理を行い、目の位置を検出する。そして、目の周囲の領域の画像と、予め複数登録されている目の周囲の領域の特徴を示すパターン情報とを比較して、人の顔を構成する画像データであるかを判定する。
【０００３】
【特許文献１】特開２００１−１７５８６９号公報（００５７、００６７段落など）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載された技術では、多種多様である人の顔の画像を判定するために、多くのパターン情報を登録しておく必要があるが、登録したパターンが多いと比較処理に長時間を有するという問題点があった。
【０００５】
本発明は、上述した問題を解決するためになされたものであり、画像データに人の顔を構成する画像が含まれているか否かを高速に判定することができる画像処理装置および画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
この目的を達成するために、請求項１記載の画像処理装置は、画像を構成する各画素の色相情報及び明度情報を形成する情報形成手段と、その情報形成手段に基づいて、人の肌の特性を有する画素を含む領域を抽出する肌色領域抽出手段と、その肌色領域抽出手段により抽出された領域内の画素の色相及び明度が、その領域の一端から他端に向けて所定の変化を示す場合に、その領域内には人の顔の部分を構成する画素が含まれていると判定する第１の顔判定手段とを備えている。
【０００７】
請求項２記載の画像処理装置は、請求項１記載の画像処理装置において、前記第１の顔判定手段は、前記肌色領域抽出手段により抽出された領域内の画素の色相が、その領域の一端から他端に向けて、色相環の黄色方向から赤色方向に変化し更に黄色方向に変化し、かつ、前記肌色領域抽出手段により抽出された領域内の画素の明度が、その領域の一端から他端に向けて上昇し更に低下する場合に、その領域内には人の顔の部分を構成する画素が含まれていると判定するものである。
【０００８】
請求項３記載の画像処理装置は、請求項１または２記載の画像処理装置において、前記肌色領域抽出手段により抽出された領域を所定の大きさのブロックに分割し、その分割された各ブロックの色相情報及び明度情報を、そのブロック内の画素の色相情報及び明度情報に基づいて形成するブロック情報形成手段を備え、前記第１の顔判定手段は、前記ブロック情報形成手段により形成されたブロックの色相情報及び明度情報に基づいて、前記肌色領域抽出手段により抽出された領域内の画素の色相及び明度が、その領域の一端から他端に向けて所定の変化を示すかを判断するものである。
【０００９】
請求項４記載の画像処理装置は、請求項３記載の画像処理装置において、前記ブロック情報形成手段は、各ブロックを構成する画素の色相情報及び明度情報の平均値を各ブロックの色相情報及び明度情報とするものである。
【００１０】
請求項５記載の画像処理装置は、請求項３または４記載の画像処理装置において、前記第１の顔判定手段は、あるブロックとそのブロックに対して前記領域の一端側または他端側に位置するブロックとの間における色相情報及び明度情報の変化量に基づいて、前記肌色領域抽出手段により抽出された領域内の画素の色相及び明度が、その領域の一端から他端に向けて所定の変化を示すかを判断するものである。
【００１１】
請求項６記載の画像処理装置は、請求項３から５のいずれかに記載の画像処理装置において、前記ブロック情報形成手段は、前記肌色領域抽出手段により抽出された領域を縦Ｍ個のブロック、横Ｎ個のブロックに分割し、前記第１の顔判定手段は、縦方向に並ぶＮ列のブロック列のうち、各列毎に色相情報及び明度情報を比較し、いずれかの列において前記肌色領域抽出手段により抽出された領域内の画素の色相及び明度が、その領域の一端から他端に向けて所定の変化を示す場合に、その領域には人の顔の部分を構成する画素が含まれていると判定するものである。
【００１２】
請求項７記載の画像処理装置は、画像を構成する各画素の色相情報及び明度情報を形成する情報形成手段と、その情報形成手段により形成される色相情報及び明度情報に基づいて、人の肌の特性を有する画素を含む領域を抽出する肌色領域抽出手段と、前記情報形成手段により形成された色相情報及び明度情報に基づいて、前記肌色領域抽出手段により抽出された領域内の画素のうち、額の色特性を有する画素と、頬の色特性を有する画素と、首の色特性を有する画素とを決定する肌色種類決定手段と、その肌色種類決定手段により決定された前記額の色特性を有する画素と前記首の色特性を有する画素との間に、前記頬の色特性を有する画素が位置する場合に、前記領域内には人の顔の部分を構成する画素が含まれていると判定する第２の顔判定手段とを備えている。
【００１３】
請求項８記載の画像処理装置は、請求項７記載の画像処理装置において、前記肌色種類決定手段は、額の色特性を有する画素と、頬の色特性を有する画素と、首の色特性を有する画素と、目の下の色特性を有する画素とを、前記情報形成手段により形成された色相情報及び明度情報に基づいて決定するものであり、前記第２の顔判定手段は、前記肌色種類決定手段により決定された前記額の色特性を有する画素と前記首の色特性を有する画素との間に、前記目の下の色特性を有する画素と前記頬の色特性を有する画素とが位置する場合に、前記領域内には人の顔の部分を構成する画素が含まれていると判定するものである。
【００１４】
請求項９記載の画像処理装置は、請求項８記載の画像処理装置において、前記第２の顔判定手段は、前記目の下の色特性を有する画素と前記首の色特性を有する画素との間に前記頬の色特性を有する画素が位置する場合に、前記領域内には人の顔の部分を構成する画素が含まれていると判定するものである。
【００１５】
請求項１０記載の画像処理装置は、請求項８または９記載の画像処理装置において、前記第２の顔判定手段は、前記額の色特性を有する画素と前記頬の色特性を有する画素との間に前記目の下の色特性を有する画素が位置する場合に、前記領域内には人の顔の部分を構成する画素が含まれていると判定するものである。
【００１６】
請求項１１記載の画像処理装置は、請求項８から１０のいずれかに記載の画像処理装置において、前記肌色種類決定手段は、前記肌色領域抽出手段により抽出された領域内の画素のうち、前記色特性のいずれの色特性も有さない画素を無特性な画素と決定し、前記第２の顔判定手段は、前記額の色特性を有する画素と前記目の下の色特性を有する画素との間に前記無特性な画素が位置する場合に、前記領域内には人の顔の部分を構成する画素が含まれていると判定するものである。
【００１７】
請求項１２記載の画像処理装置は、請求項７から１１のいずれかに記載の画像処理装置において、前記肌色種類決定手段は、前記肌色領域抽出手段により抽出された領域内の画素のうち、前記色特性のいずれの色特性も有さない画素を無特性な画素と決定し、前記第２の顔判定手段は、前記頬の色特性を有する画素と前記首の色特性を有する画素との間に前記無特性な画素が位置する場合に、前記領域内には人の顔の部分を構成する画素が含まれていると判定するものである。
【００１８】
請求項１３記載の画像処理装置は、請求項７から１２のいずれかに記載の画像処理装置において、前記肌色種類決定手段は、前記肌色領域抽出手段により抽出された画素の色相情報の最大値及び最小値と明度情報の最大値及び最小値とに基づいて、額の色特性を有する画素と、頬の色特性を有する画素と、首の色特性を有する画素と、目の下の色特性を有する画素とを決定するものである。
【００１９】
請求項１４記載の画像処理プログラムは、画像を構成する各画素の色相情報及び明度情報を形成する情報形成ステップと、その情報形成ステップにより形成される色相情報及び明度情報に基づいて、人の肌の特性を有する画素を含む領域を抽出する肌色領域抽出ステップと、その肌色領域抽出ステップにより抽出された領域内の画素の色相及び明度が、その領域の一端から他端に向けて所定の変化を示す場合に、その領域には人の顔の部分を構成する画素が含まれていると判定する第１の顔判定ステップとをコンピュータに実行させるものである。
【００２０】
請求項１５記載の画像処理プログラムは、画像を構成する各画素の色相情報及び明度情報を形成する情報形成ステップと、その情報形成ステップに基づいて、人の肌の特性を有する画素を含む領域を抽出する肌色領域抽出ステップと、前記情報形成ステップにより形成された色相情報及び明度情報に基づいて、前記肌色領域抽出ステップにより抽出された領域内の画素のうち、額の色特性を有する画素と、頬の色特性を有する画素と、首の色特性を有する画素とを決定する肌色種類決定ステップと、その肌色種類決定ステップにより決定された前記額の色特性を有する画素と前記首の色特性を有する画素との間に、前記頬の色特性を有する画素が位置する場合に、前記領域内には人の顔の部分を構成する画素が含まれていると判定する第２の顔判定ステップとをコンピュータに実行させるものである。
【発明の効果】
【００２１】
請求項１記載の画像処理装置によれば、情報形成手段により、画像を構成する各画素の色相情報及び明度情報が形成され、肌色領域抽出手段により、人の肌の特性を有する画素を含む領域が抽出される。第１の顔判定手段により、肌色領域抽出手段により抽出された領域内の画素の色相及び明度が、その領域の一端から他端に向けて所定の変化を示す場合に、その領域内には人の顔の部分を構成する画素が含まれていると判定される。ここで、領域の一端から他端に向かう画素について、色相及び明度の変化を調べるという処理は簡単であるので、画像に人の顔の部分を構成する画素が含まれているかを高速に判定することができるという効果がある。また、領域内における色相及び明度の変化に基づいて判定しているので、肌の色の個人差に拘わらず、人の顔の部分を構成する画素が含まれているかを高精度に判定することができるという効果がある。
【００２２】
請求項２記載の画像処理装置によれば、請求項１記載の画像処理装置の奏する効果に加え、第１の顔判定手段により、肌色領域抽出手段により抽出された領域内の画素の色相が、その領域の一端から他端に向けて、色相環の黄色方向から赤色方向に変化し更に黄色方向に変化し、かつ、肌色領域抽出手段により抽出された領域内の画素の明度が、その領域の一端から他端に向けて上昇し更に低下する場合に、その領域内には人の顔の部分を構成する画素が含まれていると判定される。ここで、領域の一端から他端に向かう画素の色相が、色相環の黄色方向から赤色方向に変化し更に黄色方向に変化するかを調べるという処理、および、領域の一端から他端に向かう画素の明度が、上昇し更に低下するかを調べるという処理は簡単であるので、画像に人の顔の部分を構成する画素が含まれているかを高速に判定することができるという効果がある。
【００２３】
請求項３記載の画像処理装置によれば、請求項１または２記載の画像処理装置の奏する効果に加え、ブロック情報形成手段により、肌色領域抽出手段により抽出された領域が所定の大きさのブロックに分割され、各ブロック内の画素の色相情報及び明度情報に基づいて、分割された各ブロックの色相情報及び明度情報が形成される。そして、第１の顔判定手段により、ブロックの色相情報及び明度情報に基づいて、領域の一端から他端に向けて所定の変化を示すかが判断される。ここで、複数の画素の色相情報及び明度情報により構成されるブロックの色相情報及び明度情報の変化を調べる処理は簡単であるので、画像に人の顔の部分を構成する画素が含まれているかをより高速に判定することができるという効果がある。
【００２４】
請求項４記載の画像処理装置によれば、請求項３記載の画像処理装置の奏する効果に加え、ブロック情報形成手段より、各ブロックを構成する画素の色相情報及び明度情報の平均値が各ブロックの色相情報及び明度情報とされる。よって、ブロック毎に、色相及び明度の変化を調べることができるという効果がある。
【００２５】
請求項５記載の画像処理装置によれば、請求項３または４記載の画像処理装置の奏する効果に加え、第１の顔判定手段により、あるブロックとそのブロックに対して領域の一端側または他端側に位置するブロックとの間における色相情報及び明度情報の変化量に基づいて、その領域の一端から他端に向けて所定の変化を示すかが判断される。よって、処理が簡単であるので、画像に人の顔の部分を構成する画素が含まれているかを高速に判定することができるという効果がある。
【００２６】
請求項６記載の画像処理装置によれば、請求項３から５のいずれかに記載の画像処理装置の奏する効果に加え、ブロック情報形成手段により、肌色領域抽出手段により抽出された領域が縦Ｍ個のブロック、横Ｎ個のブロックに分割される。第１の顔判定手段により、縦方向に並ぶＮ列のブロック列のうち、各列毎に色相情報及び明度情報が比較され、いずれかの列において画素の色相及び明度が、その領域の一端から他端に向けて所定の変化を示すかが判定される。よって、画像に人の顔の部分を構成する画素が含まれているかを高速に判定することができるという効果がある。
【００２７】
請求項７記載の画像処理装置によれば、情報形成手段により、画像を構成する各画素の色相情報及び明度情報が形成され、肌色領域抽出手段により、人の肌の特性を有する画素を含む領域が抽出される。肌色種類決定手段により、その領域の画素の色相情報及び明度情報に基づいて、額の色特性を有する画素と、頬の色特性を有する画素と、首の色特性を有する画素とが決定される。第２の顔判定手段により、額の色特性を有する画素と首の色特性を有する画素との間に、頬の色特性を有する画素が位置する場合に、その領域内には人の顔の部分を構成する画素が含まれていると判定される。よって、人の肌の特性を有する画素の位置関係を調べているので、領域内の画像が傾いている場合でも、人の顔の部分を構成する画素が含まれているかを判定することができるという効果がある。また、画素の位置関係を調べるという処理は簡単であるので、画像に人の顔の部分を構成する画素が含まれているかを高速に判定することができるという効果がある。また、画像から抽出された人の肌の特性を有する画素の色相情報及び明度情報に基づいて、各画素の色特性が決定されるので、肌の色の個人差に拘わらず、人の顔の部分を構成する画素が含まれているかを高精度に判定することができるという効果がある。
【００２８】
請求項８記載の画像処理装置によれば、請求項７記載の画像処理装置の奏する効果に加え、肌色種類決定手段により、画素の色相情報及び明度情報に基づいて、額の色特性を有する画素と、頬の色特性を有する画素と、首の色特性を有する画素と、目の下の色特性を有する画素とが決定される。第２の顔判定手段により、肌色額の色特性を有する画素と首の色特性を有する画素との間に、目の下の色特性を有する画素と頬の色特性を有する画素とが位置する場合に、その領域内には人の顔の部分を構成する画素が含まれていると判定される。よって、人の肌の特性を有する画素の位置関係を複数調べるので、さらに精度良く、人の顔の部分を構成する画素が含まれているかを判定することができるという効果がある。
【００２９】
請求項９記載の画像処理装置によれば、請求項８記載の画像処理装置の奏する効果に加え、第２の顔判定手段により、目の下の色特性を有する画素と首の色特性を有する画素との間に頬の色特性を有する画素が位置する場合に、領域内には人の顔の部分を構成する画素が含まれていると判定される。よって、人の肌の特性を有する画素の位置関係を複数調べるので、さらに精度良く、人の顔の部分を構成する画素が含まれているかを判定することができるという効果がある。
【００３０】
請求項１０記載の画像処理装置によれば、請求項８または９記載の画像処理装置の奏する効果に加え、第２の顔判定手段により、額の色特性を有する画素と頬の色特性を有する画素との間に目の下の色特性を有する画素が位置する場合に、領域内には人の顔の部分を構成する画素が含まれていると判定される。よって、人の肌の特性を有する画素の位置関係を複数調べるので、さらに精度良く、人の顔の部分を構成する画素が含まれているかを判定することができるという効果がある。
【００３１】
請求項１１記載の画像処理装置によれば、請求項８から１０のいずれかに記載の画像処理装置の奏する効果に加え、肌色種類決定手段により、肌色領域抽出手段により抽出された領域内の画素のうち、いずれの色特性も有さない画素は無特性な画素と決定される。第２の顔判定手段により、額の色特性を有する画素と目の下の色特性を有する画素との間に無特性な画素が位置する場合に、領域内には人の顔の部分を構成する画素が含まれていると判定される。よって、人の肌の特性を有する画素と無特性な画素との位置関係を調べるので、さらに精度良く、人の顔の部分を構成する画素が含まれているかを判定することができるという効果がある。
【００３２】
請求項１２記載の画像処理装置によれば、請求項７から１１のいずれかに記載の画像処理装置の奏する効果に加え、肌色種類決定手段により、肌色領域抽出手段により抽出された領域内の画素のうち、色特性のいずれの色特性も有さない画素は無特性な画素と決定される。第２の顔判定手段により、頬の色特性を有する画素と首の色特性を有する画素との間に無特性な画素が位置する場合に、領域内には人の顔の部分を構成する画素が含まれていると判定される。よって、人の肌の特性を有する画素と無特性な画素との位置関係を複数調べるので、さらに精度良く、人の顔の部分を構成する画素が含まれているかを判定することができるという効果がある。
【００３３】
請求項１３記載の画像処理装置によれば、請求項７から１２のいずれかに記載の画像処理装置の奏する効果に加え、肌色種類決定手段により、肌色領域抽出手段により抽出された画素の色相情報の最大値及び最小値と明度情報の最大値及び最小値とに基づいて、額の色特性を有する画素と、頬の色特性を有する画素と、首の色特性を有する画素と、目の下の色特性を有する画素とが決定される。よって、画像から抽出された人の肌の特性を有する画素に基づいて、各画素の色特性が決定されるので、肌の色の個人差に拘わらず、人の顔を高精度に判定することができるという効果がある。
【００３４】
請求項１４記載の画像処理プログラムによれば、情報形成ステップにより、画像を構成する各画素の色相情報及び明度情報が形成され、肌色領域抽出ステップにより、人の肌の特性を有する画素を含む領域が抽出される。第１の顔判定ステップにより、肌色領域抽出ステップにより抽出された領域内の画素の色相及び明度が、その領域の一端から他端に向けて所定の変化を示す場合に、その領域内には人の顔の部分を構成する画素が含まれていると判定される。ここで、領域の一端から他端に向かう画素について、色相及び明度の変化を調べるという処理は簡単であるので、画像に人の顔の部分を構成する画素が含まれているかを高速に判定することができるという効果がある。また、領域内における色相及び明度の変化に基づいて判定しているので、肌の色の個人差に拘わらず、人の顔の部分を構成する画素が含まれているかを高精度に判定することができるという効果がある。
【００３５】
請求項１５記載の画像処理プログラムによれば、情報形成ステップにより、画像を構成する各画素の色相情報及び明度情報が形成され、肌色領域抽出ステップにより、人の肌の特性を有する画素を含む領域が抽出される。肌色種類決定ステップにより、その領域の画素の色相情報及び明度情報に基づいて、額の色特性を有する画素と、頬の色特性を有する画素と、首の色特性を有する画素とが決定される。第２の顔判定ステップにより、額の色特性を有する画素と首の色特性を有する画素との間に、頬の色特性を有する画素が位置する場合に、その領域内には人の顔の部分を構成する画素が含まれていると判定される。よって、人の肌の特性を有する画素の位置関係を調べているので、領域内の画像が傾いている場合でも、人の顔の部分を構成する画素が含まれているかを判定することができるという効果がある。また、画素の位置関係を調べるという処理は簡単であるので、画像に人の顔の部分を構成する画素が含まれているかを高速に判定することができるという効果がある。また、画像から抽出された人の肌の特性を有する画素の色相情報及び明度情報に基づいて、各画素の色特性が決定されるので、肌の色の個人差に拘わらず、人の顔の部分を構成する画素が含まれているかを高精度に判定することができるという効果がある。
【発明を実施するための最良の形態】
【００３６】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図１は、本発明の第１実施形態における画像処理装置を有した多機能周辺装置（以下、「ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）」と称す）１とパーソナルコンピュータ（以下、「ＰＣ」と称す）３１との接続関係を示した接続図である。このＭＦＰ１は、プリンタ機能、スキャナ機能、及び、コピー機能などの各種の機能を有している。図１に示すように、ＭＦＰ１とＰＣ３１とは、ＵＳＢケーブル２００より接続されており、お互いにデータ通信を行うことができるように構成されている。ＰＣ３１は画像データを、ＵＳＢケーブル２００を介してＭＦＰ１に送信して印刷させることができる。
【００３７】
ＭＦＰ１の本体の前面には、開口部２が設けられ内部が上下に仕切られている。
【００３８】
開口部２の上部には、スキャナ機能やコピー機能の実行時における原稿読取などのための画像読取装置（図示しない）が配置されている。
【００３９】
原稿カバー体５の前方には、数値や文字などを入力する入力キー群１５ａと、各種コマンドを入力するコマンド入力キー群１５ｂと、メニューや操作手順や実行中の処理の状態を表示するためのＬＣＤ１６とが設けられている。
【００４０】
開口部２の前面であって、入力キー群１５ａの下方には、携帯用のフラッシュメモリカードを挿入するためのメモリカードスロット２２が設けられている。
【００４１】
次に、図２を参照して、ＭＦＰ１とＰＣ３１との電気的構成について説明する。図２は、ＭＦＰ１とＰＣ３１との電気的構成を示すブロック図である。ＭＦＰ１は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、操作キー１５、ＬＣＤ１６、スピーカ１７、ＵＳＢインターフェイス１８、スキャナ２０、プリンタ２１、メモリカードスロット２２とを主に有しており、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３とはバスライン２６を介してお互いに接続されている。また、操作キー１５、ＬＣＤ１６、スピーカ１７、ＵＳＢインターフェイス１８、スキャナ２０、プリンタ２１、メモリカードスロット２２、バスライン２６とは、入出力ポートを介してお互いに接続されている。
【００４２】
ＣＰＵ１１は、ＲＯＭ１２やＲＡＭ１３に記憶される固定値やプログラム或いは、ＭＦＰ１が有している各機能の制御や、ＵＳＢインターフェイス１８を介して送受信される各種信号に従って、入出力ポート２７と接続された各部を制御するものである。ＲＯＭ１２は書換不可能なメモリであり、ＭＦＰ１で実行される各種の制御プログラムを記憶する領域である制御プログラム領域１２ａが設けられている。
【００４３】
制御プログラム領域１２ａには、例えば、後述する図３、図４、図５、図７のフローチャートに示す画像処理プログラム（特許請求の範囲に記載の画像処理プログラムの一例）などが記憶されている。
【００４４】
ＲＡＭ１３は、各種のデータを一時的に記憶するための書換可能なメモリであり、画像メモリ１３ａ、肌色画像メモリ１３ｂ、肌色領域ポインタ１３ｃ、ブロック情報メモリ１３ｄ、ブロック判定フラグメモリ１３ｅ、前ブロックデータメモリ１３ｆ、後ブロックデータメモリ１３ｇとが設けられている。
【００４５】
画像メモリ１３ａは、ＰＣ３１からＲＧＢ形式のビットマップ画像データ（以下、「ビットマップデータ」と称す）が入力される領域である。ビットマップデータとは、格子状に画素を並べて画像を形成するための公知のデータ形式であり、各画素の色を示す画素値が、それぞれの画素について記憶されているデータである。入力されたビットマップデータは、ＲＧＢ形式からＬ＊Ｃ＊ｈ形式に変換されて、肌色画像メモリ１３ｂに記憶される。
【００４６】
ここで、「Ｌ＊」は明度を示し、「Ｃ＊」は彩度を示し、「ｈ」は色相を示している。詳細は、図８（ａ）を参照して説明するが、本実施形態では、Ｌ＊Ｃ＊ｈ表色系を用いて、人の肌の特性を示す画素を抽出することとしている。
【００４７】
肌色画像メモリ１３ｂは、入力されたＬ＊Ｃ＊ｈ形式のビットマップデータのうち、人の肌の特性を示す画素を抽出して記憶するメモリである。
【００４８】
肌色領域ポインタ１３ｃは、Ｘ方向最小値１３ｃ１、Ｘ方向最大値１３ｃ２、Ｙ方向最小値１３ｃ３、Ｙ方向最大値１３ｃ４とが設けられている。肌色領域ポインタ１３ｃは、肌色画像メモリ１３ｂに記憶されている画像データにおいて、人の肌の特性を有する画素の外周を包囲する長方形の位置情報を記憶するためのメモリである。
【００４９】
図６を参照して、画像メモリ１３ａ、肌色画像メモリ１３ｂ、肌色領域ポインタ１３ｃに記憶されるデータについて説明する。図６（ａ）は、画像メモリ１３ａの内容を概略的に示したイメージ図であり、図６（ｂ）は、肌色画像メモリ１３ｂの内容を概略的に示した図である。
【００５０】
図６（ａ）は、画像メモリ１３ａに画像データが記憶されている状態を示している。画像メモリ１３ａに記憶されている画像データは、まず、ＲＧＢ形式からＬ＊Ｃ＊ｈ形式に変換され、肌色画像メモリ１３ｂに記憶される。そして、図６（ｂ）に示すように、肌色画像メモリ１３ｂは、所定の範囲の肌色値を有する画素値のみが残され、その他の画素値は白に設定される。したがって、肌色画像メモリ１３ｂにおいては、顔を構成する黒い輪郭線も白に設定されることとなるが、図６（ｂ）においては、図を分かり易くするために黒く示している。また、図８、図１１とについても同様に、顔を構成する輪郭線を黒色で示している。
【００５１】
図６（ｃ）は、肌色領域ポインタ１３ｃの各値により、肌色画像メモリ１３ｂ内の長方形の領域（図中点線で示す領域）が指し示されている状態を示している。その長方形の領域は、図６（ｃ）に示すように、肌色画像メモリ１３ｂに記憶される画素値を包囲するＸ方向最小値、Ｘ方向最大値、Ｙ方向最小値、Ｙ方向最大値とにより構成されている。
【００５２】
ブロック情報メモリ１３ｄは、肌色画像メモリ１３ｂにおける画像データにおいて、肌色領域ポインタ１３ｃにより示される長方形の領域が所定の大きさのブロックに分割された場合に、各ブロックを構成する画素値の平均値（以下、「ブロック値」と称す）がそれぞれ記憶されるメモリである（図８（ｂ）参照）。
【００５３】
ブロック判定フラグメモリ１３ｅは、ブロック情報メモリ１３ｄに記憶される各ブロックに対応するブロック判定フラグが記憶されるメモリである。ブロック判定フラグは、ブロック値が人の肌の特性を示す場合は「１」に設定され、示さない場合は「０」に設定されるフラグである。
【００５４】
図８（ｂ）を参照して、ブロック判定フラグについて説明する。図８（ｂ）は、肌色画像メモリ１３ｂにおいて、肌色領域ポインタ１３により示される長方形領域（図６（ｃ）参照）が、縦８個、横４個の均一な大きさのブロックに分割されたイメージ図を示している。また、図８（ｂ）のブロック内に示す「○」や「×」は、ブロックの値が所定の範囲の肌色値であるかを示しており、「○」と示されているブロックは、ブロック判定フラグが「１（有効）」と設定されている状態を示し、「×」と示されているブロックは、ブロック判定フラグが「０（無効）」と設定されてる状態を示している。
【００５５】
以後、各ブロックに設定されているフラグの状態を簡単に説明するために、ブロック判定フラグが「１（有効）」に設定されているブロックを「有効ブロック」と称し、ブロック判定フラグが「０（無効）」に設定されているブロックを「無効ブロック」と称す。
【００５６】
前ブロックデータメモリ１３ｆ、後ブロックデータメモリ１３ｇとは、ブロック情報メモリ１３ｄのいずれかのブロック値を記憶するためのメモリであり、ブロック値の差分値を求めるために使用されるメモリである。
【００５７】
ここで、前ブロックデータメモリ１３ｆと後ブロックデータメモリ１３ｇとについて、図１１（ｂ）を参照して説明する。図１１（ｂ）は、図８（ｂ）に示される各ブロックのうち、有効ブロックのみが示された状態のイメージ図である。上述したように、各ブロックのブロック判定フラグは、「１」または「０」とされており、ブロック判定フラグが「１」であるブロック（図１１（ｂ）において、ブロック内に「○」が示されたブロック）が、列毎に走査される。
【００５８】
１行目から走査方向（列方向）に走査して、始めに見つかった有効ブロックのブロック値が、前ブロックデータメモリ１３ｆに記憶され、次に見つかった有効ブロックのブロック値が後ブロックデータメモリ１３ｇに記憶される。後ブロックデータメモリ１３ｇから前ブロックデータメモリ１３ｆが減算され、ブロック値の差分値が求められる。差分値が算出されると、後ブロックデータメモリ１３ｇの値が、前ブロックデータメモリ１３ｆに記憶される。続けて走査方向（列方向）に走査が行われ、次に見つかったブロック値は、後ブロックデータメモリ１３ｇに記憶され、同様に差分値が算出される。
【００５９】
ＰＣ３１は、ＣＰＵ３２、ＲＯＭ３３、ＲＡＭ３４、ハードディスク３５、ＵＳＢインターフェイス３６、入力装置３７、表示装置３８とを主に有し、これらはバスライン４０を介してお互いに接続されている。
【００６０】
ＣＰＵ３２は、ＲＯＭ３３やＲＡＭ３４やハードディスク３５に記憶される固定値やプログラム或いは、ＰＣ３１が有している各機能の制御や、ＵＳＢインターフェイス３６を介して送受信される各種信号に従って、バスライン４０により接続された各部を制御するものである。
【００６１】
ＲＯＭ３３は、このＰＣ３１で実行される各種の制御プログラムを記憶する書換不能なメモリである。ＲＡＭ３４は、各種のデータを一時的に記憶するための書換可能なメモリである。ハードディスク３５は、書換可能な不揮発性のメモリであり、各種アプリケーションソフトが記憶されている。このハードディスク３５に記憶されたデータは、ＰＣ３１の電源オフ後も保持される。
【００６２】
ＵＳＢインターフェイス３６は、ＵＳＢケーブル２００を用いてＰＣ３１と接続することで、ＭＦＰ１とのデータ通信を可能にする既知の回路である。入力装置３７は、ＰＣ３１を管理したり、ハードディスク３５に格納された各種アプリケーションソフトを利用する場合に使用するものであり、例えば、キーボードやマウスなどの入力装置で構成される。表示装置３８は、ＰＣ３１を管理したり、画像処理ソフトを利用する場合に使用するものであり、例えば、液晶ディスプレイ等の表示装置で構成される。
【００６３】
ここで、本発明についてフローチャートを使用して説明する。図３は、ＭＦＰ１の画像処理を示すフローチャートであり、ＰＣ３１などで形成された画像データが、ＰＣ３１からＭＦＰ１に入力された場合に実行される画像処理である。この画像処理では、まず、画像データがＭＦＰ１に入力されたかを判断し（Ｓ１）、画像データが入力されていない場合は（Ｓ１：Ｎｏ）、処理を終了するが、画像データが入力された場合は（Ｓ１：Ｙｅｓ）、その画像データを画像メモリ１３ａ（図２参照）に記憶して（Ｓ２）次のステップに進む。
【００６４】
次に、肌色領域抽出処理（Ｓ３）を実行する。図４のフローチャートを参照して、肌色領域抽出処理について説明する。肌色領域抽出処理では、始めに、肌色画像メモリ１３ｂを初期化する（Ｓ１１）。ここでの初期化とは、全画素の画素値（Ｌ＊値，Ｃ＊値，ｈ値）を白（１００，０，０）に設定することである。
【００６５】
次に、画像メモリ１３ａに記憶された画像データ（図６（ａ）参照）を、ＲＧＢ形式からＬ＊Ｃ＊ｈ形式に変換して、肌色画像メモリ１３ｂにコピーする（Ｓ１２）。肌色画像メモリ１３ｂから、１つの画素の画素値（Ｌ＊値，Ｃ＊値，ｈ値）を読み取り（Ｓ１３）、読み取った画素値を構成するＬ＊値、Ｃ＊値、ｈ値は、それぞれ所定の範囲内の肌色値であるかを判定する（Ｓ１４）。本実施形態において、所定の範囲内の肌色値とは、図８（ａ）に示すように、画素値が「３２≦Ｌ＊≦９２」且つ「１０≦Ｃ＊≦４０」且つ「２５≦ｈ≦６４」であることとする。
【００６６】
読み取った画素値が、所定の範囲内の肌色値である場合は（Ｓ１４：Ｙｅｓ）、画素値を変更せずにＳ１６の処理へ移る。一方、読み取った画素値が、所定の範囲内の肌色値でない場合は（Ｓ１４：Ｎｏ）、肌色画像メモリ１３ｂにおいて、読み取った画素値を白に設定する。そして、肌色画像メモリ１３ｂの画素値を全て読み取ったかを判定し（Ｓ１６）、全て読み取った場合は（Ｓ１６：Ｙｅｓ）、処理を終了する。一方、肌色画像メモリ１３ｂの画素値を全て読み取っていない場合は（Ｓ１６：Ｎｏ）、Ｓ１３の処理へ戻り、Ｓ１３からＳ１５の各処理を繰り返す。
【００６７】
この図４のフローチャートの処理により、画像メモリ１３ａに記憶された画像データのうち、所定の範囲内の肌色値を有した画素が肌色画像メモリ１３ｂに抽出される（図６（ｂ）参照）。ここで、図６を参照して、図４のフローチャートの処理で、画像メモリ１３ａから肌色画像メモリ１３ｂに抽出された画像データについて説明する。
【００６８】
画像メモリ１３ａに記憶されている画像データ（図６（ａ）参照）は、まず、ＲＧＢ形式からＬ＊Ｃ＊ｈ形式に変換され、肌色画像メモリ１３ｂに記憶される。そして、図６（ｂ）に示すように、肌色画像メモリ１３ｂに、所定の範囲の肌色値を有する画素値のみが残され、その他の画素値は白に設定される。
【００６９】
ここで、図３のフローチャートの説明に戻る。次に、肌色領域判定処理（Ｓ４）を実行する。図５のフローチャートを参照して、肌色領域判定処理について説明する。肌色領域判定処理では、始めに、肌色領域ポインタ１３ｃを初期化する（Ｓ２１）。
【００７０】
そして、肌色画像メモリ１３ｂから、１つの画素の画素値（Ｌ＊値，Ｃ＊値，ｈ値）を読み取る（Ｓ２２）。読み取った画素値が白（１００，０，０）であるかが判定され（Ｓ２３）、読み取った画素値が白（１００，０，０）である場合は（Ｓ２３：Ｙｅｓ）、Ｓ２６の処理へ移る。一方、読み取った画素値が白でない場合は（Ｓ２３：Ｎｏ）、読み取った画素の画素位置（ｘ，ｙ）が、肌色領域ポインタ１３ｃで示される長方形の領域内に位置するかを判定する（Ｓ２４）。
【００７１】
Ｓ２４の処理において、読み取った画素の画素位置（ｘ，ｙ）が、肌色領域ポインタ１３ｃで示される長方形の領域内に位置しない場合は（Ｓ２４：Ｎｏ）、読み取った画素が、肌色領域ポインタ１３ｃで示される長方形の領域内に位置するように、ｘ値またはｙ値を肌色領域ポインタ１３ｃの値に反映し（Ｓ２５）、Ｓ２６の処理へ移る。一方、読み取った画素が、肌色領域ポインタ１３ｃで示される長方形の領域内に位置する場合は（Ｓ２４：Ｙｅｓ）、肌色領域ポインタ１３ｃの値を変更せずに、Ｓ２６の処理へ移る。
【００７２】
そして、肌色画像メモリ１３ｂの画素値を全て読み取ったかを判定し（Ｓ２６）、全て読み取った場合は（Ｓ２６：Ｙｅｓ）、処理を終了する。一方、肌色画像メモリ１３ｂの画素値を全て読み取っていない場合は（Ｓ２６：Ｎｏ）、Ｓ２２の処理に戻り、Ｓ２２からＳ２５の各処理を繰り返す。この図５のフローチャートの処理により、図６（ｂ）に示す肌色画像メモリ１３ｂの画像において、図６（ｃ）に示すその画像を包囲する長方形の領域（図中点線で示す領域）を判定し、その位置情報を肌色領域ポインタ１３ｃに記憶することができる。
【００７３】
次に、図３のフローチャートに示す、ブロック情報抽出処理（Ｓ５）を実行する。図７のフローチャートを参照して、ブロック情報抽出処理について説明する。ブロック情報抽出処理では、まず、肌色領域ポインタ１３ｃで示される長方形の領域（図６（ｃ）参照）を、縦Ｍ個、横Ｎ個の均一な大きさのブロックに分割する（Ｓ３１）。そして、ブロック情報メモリ１３ｄとブロック判定フラグメモリ１３ｅとを初期化する（Ｓ３２）。
【００７４】
分割されたブロックのうちの１つのブロックについて、そのブロックを構成する画素のＬ＊値、Ｃ＊値、ｈ値の平均値を求め、各値をブロック情報メモリ１３ｄに記憶する（Ｓ３３）。求めた平均値（Ｌ＊値、Ｃ＊値、ｈ値）はそれぞれ、所定の範囲内の肌色値であるかを判定し（Ｓ３４）、求めた平均値がそれぞれ、所定の範囲内の肌色値である場合は（Ｓ３４：Ｙｅｓ）、平均値を求めたブロックのブロック判定フラグを、「１（有効）」に設定する（Ｓ３５）。一方、求めた平均値がそれぞれ、所定の範囲内の肌色値でない場合は（Ｓ３４：Ｎｏ）、平均値を求めたブロックのブロック判定フラグを、「０（無効）」に設定する（Ｓ３６）。
【００７５】
そして、全てのブロックの平均値を求めたかを判定し（Ｓ３７）、全てのブロックの平均値を求めた場合は（Ｓ３７：Ｙｅｓ）、処理を終了する。一方、全てのブロックの平均値を求めていない場合は（Ｓ３７：Ｎｏ）、Ｓ３３の処理に戻り、Ｓ３３からＳ３６までの各処理を繰り返す。
【００７６】
この図７のフローチャートの処理により、肌色領域ポインタ１３ｃにより示される長方形領域（図６（ｃ）参照）が、図８（ｂ）に示すように複数のブロックに分割される。そして、図８（ｂ）のブロックにおいて、「○」と示されているブロックは、ブロック判定フラグが「１（有効）」と設定され、「×」と示されているブロックは、ブロック判定フラグが「０（無効）」と設定される。よって、各ブロックの値をブロック情報メモリ１３ｄに記憶することができ、各ブロックの値が、所定の肌色値の範囲内であるかを示すブロック判定フラグを、ブロック判定フラグメモリ１３ｅに設定することができる。
【００７７】
次に、図３のフローチャートに示す、顔判定処理（Ｓ６）を実行する。はじめに、図１１（ａ）を参照して、顔判定処理で行う処理の概略について説明する。
【００７８】
図１１（ａ）は、人の顔の肌において、各部分の肌の明度と色相との関係を示した図である。図１１（ａ）に示すように、人の顔の肌を、「額」と「目の下」と「頬」と「首」との４つに大別すると、それぞれの部分は、お互いに色相や明度が重複しているが、ある部分と別の部分とを比較すると、所定の傾向が示されている。例えば、「目の下」の肌と、「額」の肌と比較すると、相対的に「目の下」の肌の明度は高くなり（白くなり）、色相は赤くなるという傾向が示されている。
【００７９】
また、「頬」の肌と、「目の下」の肌とを比較すると、相対的に「頬」の肌の明度は高くなり（白くなり）、色相は黄色くなるという傾向が示されている。また、「首」の肌と、「頬」の肌とを比較すると、相対的に明度は低くなり（黒くなり）、色相は黄色くなるという傾向が示されている。
【００８０】
顔判定処理では、「額」から「目の下」、「目の下」から「頬」、「頬」から「首」に向かって各部分の肌の明度と色相とを比較し、相対的にどのような変化を示すかを調べている。肌色値を有する画素で構成される領域内において、各部分の明度と色相との相対的な変化を調べているので、肌の色の個人差に拘わらず、人の顔を高精度に判定することができる。
【００８１】
次に、図９と図１０とのフローチャートを参照して、顔判定処理（Ｓ６）について説明する。顔判定処理では、始めに、変数ｉを「１」に設定する（Ｓ４１）。
【００８２】
ｉ列において、１行目からｎ行目へ走査し、ブロック判定フラグが「１（有効）」であるブロック（有効ブロック）が２個見つかったかを判定し（Ｓ４２）、有効ブロックが２個見つかった場合は（Ｓ４２：Ｙｅｓ）、１番目に見つかった有効ブロックのＬ＊値とｈ値とを前ブロックデータメモリ１３ｆに記憶し、２番目に見つかった有効ブロックのＬ＊値とｈ値とを後ブロックデータメモリ１３ｇに記憶する（Ｓ４３）。
【００８３】
そして、後ブロックデータメモリ１３ｇの値から、前ブロックデータメモリ１３ｆの値を減算し、ブロック値の差分値（ΔＬ＊値、Δｈ値）を求める（Ｓ４４）。求めた差分値の絶対値が所定の値以下であるかを判定し（Ｓ４５）、求めた差分値が所定の値以下でない場合は（Ｓ４５：Ｎｏ）、Ｓ４９の処理へ移る。
【００８４】
「求めた差分値の絶対値が所定の値以下であるか」という処理（Ｓ４５、後述のＳ５４、後述のＳ６０）は、前ブロックデータメモリ１３ｆと後ブロックデータメモリ１３ｇとに記憶されているブロック値が、人の顔の肌において同一の部分の肌（例えば、「額」と「額」）を示す場合には、その判定を行わないための処理である。
【００８５】
一方、Ｓ４５の処理において、求めた差分値の絶対値が所定の値以下である場合は（Ｓ４５：Ｙｅｓ）、後ブロックデータメモリ１３ｇの値を、前ブロックデータメモリ１３ｆに記憶する（Ｓ４６）。続けて、行方向に走査し、有効ブロックが見つかったを判定し（Ｓ４７）、有効ブロックが見つかった場合は（Ｓ４７：Ｙｅｓ）、見つかった有効ブロックのＬ＊値とｈ値とを後ブロックデータメモリ１３ｇに記憶し、Ｓ４４の処理に戻る。一方、有効ブロックが見つからなかった場合は（Ｓ４７：Ｎｏ）、Ｓ６３の処理へ移る。
【００８６】
Ｓ４９の処理では、ΔＬ＊値は正の値であり、且つ、Δｈ値は負の値であるかを判定し（Ｓ４９）、ΔＬ＊値は正の値であり、且つ、Δｈ値は負の値である場合は（Ｓ４９：Ｙｅｓ）、後ブロックデータメモリ１３ｇの値を、前ブロックデータメモリ１３ｆに記憶する（Ｓ５０）。ここで、ΔＬ＊値が正の値であり、且つ、Δｈ値が負の値である場合、すなわち、明度が上昇し、且つ、色相環の黄色方向から赤色方向に変化した場合は、「額」から「目の下」のブロックに移ることを意味する。
【００８７】
一方、ΔＬ＊値は正の値であり、且つ、Δｈ値は負の値である場合以外は（Ｓ４９：Ｎｏ）、Ｓ６３の処理へ移る。次に、続けて行方向に走査し、有効ブロックが見つかったかを判定し（Ｓ５１）、有効ブロックが見つかった場合は（Ｓ５１：Ｙｅｓ）、見つかった有効ブロックのＬ＊値とｈ値とを後ブロックデータメモリ１３ｇに記憶する（Ｓ５２）。一方、有効ブロックが見つからなかった場合は（Ｓ５１：Ｎｏ）、Ｓ６３の処理へ移る。
【００８８】
そして、後ブロックデータメモリ１３ｇの値から、前ブロックデータメモリ１３ｆの値を減算し、ブロック値の差分値（ΔＬ＊値、Δｈ値）を求める（Ｓ５３）。求めた差分値の絶対値が、所定の値以下であるかを判定し（Ｓ５４）、求めた差分値の絶対値が、所定の値以下である場合は（Ｓ５４：Ｙｅｓ）、Ｓ５０の処理に戻り、Ｓ５０からＳ５３の各処理を繰り返す。一方、求めた差分値の絶対値が、所定の値以下でない場合は（Ｓ５４：Ｎｏ）、ΔＬ＊値は正の値であり、且つ、Δｈ値も正の値であるかを判定する（Ｓ５５）。
【００８９】
Ｓ５５の処理において、ΔＬ＊値は正の値であり、且つ、Δｈ値も正の値である場合は（Ｓ５５：Ｙｅｓ）、後ブロックデータメモリ１３ｇの値を、前ブロックデータメモリ１３ｆに記憶する（Ｓ５６）。ここで、ΔＬ＊値が正の値であり、且つ、Δｈ値が正の値である場合、すなわち、明度が上昇し、且つ、色相環の赤色方向から黄色に変化した場合は、「目の下」から「頬」のブロックに移ることを意味する。一方、ΔＬ＊値は正の値であり、且つ、Δｈ値も正の値である場合以外は（Ｓ５５：Ｎｏ）、Ｓ６３の処理へ移る。
【００９０】
続けて、行方向に走査し、有効ブロックが見つかったかを判定し（Ｓ５７）、有効ブロックが見つかった場合は（Ｓ５７：Ｙｅｓ）、見つかった有効ブロックのＬ＊値とｈ値とを後ブロックデータメモリ１３ｇに記憶する（Ｓ５８）。一方、有効ブロックが見つからなかった場合は（Ｓ５７：Ｎｏ）、Ｓ６３の処理へ移る。
【００９１】
そして、後ブロックデータメモリ１３ｇの値から、前ブロックデータメモリ１３ｆの値を減算し、ブロック値の差分値（ΔＬ＊値、Δｈ値）を求める（Ｓ５９）。求めた差分値の絶対値が、所定の値以下であるかを判定し（Ｓ６０）、求めた差分値の絶対値が所定の値以下である場合は（Ｓ６０：Ｙｅｓ）、Ｓ５６の処理に戻り、Ｓ５６からＳ５９までの各処理を繰り返す。一方、求めた差分値の絶対値が、所定の値以下でない場合は（Ｓ６０：Ｎｏ）、ΔＬ＊値は負の値であり、且つ、Δｈ値は正の値であるかを判定する（Ｓ６１）。
【００９２】
Ｓ６１の処理において、ΔＬ＊値は負の値であり、且つ、Δｈ値は正の値である場合は（Ｓ６１：Ｙｅｓ）、すなわち、ΔＬ＊が負の値であり、且つ、Δｈ値が正の値である場合、つまり、明度が減少し、且つ、色相環の赤色方向から黄色方向に変化した場合は、「頬」から「首」のブロックに移ることを意味するので、画像メモリ１３ａに記憶された画像データは、人の顔の画像であると判断し（Ｓ６２）、処理を終了する。一方、ΔＬ＊値は負の値であり、且つ、Δｈ値は正の値である場合以外は（Ｓ６１：Ｎｏ）、Ｓ６３の処理へ移る。
【００９３】
Ｓ６３の処理では、変数ｉがＮ（ブロックの列数）と等しいかを判定し（Ｓ６３）、等しい場合は（Ｓ６３：Ｙｅｓ）、処理を終了する。一方、等しくない場合は（Ｓ６３：Ｎｏ）、変数ｉに「１」を加算し、Ｓ４２の処理に戻り、Ｓ４２からＳ６３の各処理を繰り返す。
【００９４】
この図９と図１０とのフローチャートの処理により、ブロック情報メモリ１３ｄに記憶されている有効ブロック値を列毎に走査方向（列方向）に走査して、そのブロック差分値を順番に求めることができる。そして、その差分値が、「額」から「目の下」へ変化する場合の特徴を示し、「目の下」から「頬」へ変化する場合の特徴を示し、「頬」から「首」へ変化する場合の特徴を示しているかを判定するので、画像メモリ１３ａに記憶された画像データが、人の顔の画像であるかを判定することができる。
【００９５】
次に、図１１（ｂ）を参照して、有効ブロックのブロック値がどのように比較されるかの一例を説明する。図１１（ｂ）は、走査方向（列方向）に走査される有効ブロックを示したイメージ図である。各ブロックを区別して説明するために、分割されたブロックの左上を基準として、図面に向かって、右方向に列番号（Ｎ）を順番に記載し、下方向に行番号（Ｍ）を順番に記載している。以後、Ｎ列のＭ行に位置するブロックを、「ブロック（Ｎ，Ｍ）」と表記することとし、例えば、左上のブロックを示す場合は、ブロック（１，１）と表記し、左下のブロックを示す場合は、ブロック（１，８）と表記する。
【００９６】
図１１（ｂ）に示すように、１列目（ｉ＝１）から順番に、走査方向（列方向）に向かって有効ブロックが走査される。３列目を例に説明すると、まず、走査方向（列方向）に走査すると、ブロック（３，２）と、ブロック（３，４）とが見つかる。その差分値は、ΔＬ＊値が正の値であり、且つ、Δｈ値が負の値である。つまり、「額」から「目の下」へ変化する場合の特徴を示しているので、続けて、次の有効ブロックが走査される。次に、ブロック（３，５）が見つかり、ブロック（３，４）とブロック（３，５）との値の差分値が比較される。その差分値は、ΔＬ＊値が正の値であり、且つ、Δｈ値も正の値である。つまり、「目の下」から「頬」へ変化する場合の特徴を示しているので、続けて、次の有効ブロックが走査される。次に、ブロック（３，６）が見つかり、ブロック（３，５）とブロック（３，６）との値の差分値が比較される。ブロック（３，６）は、「頬」と「首」との肌が混ざっているが、ブロック（３，５）とブロック（３，６）との差分値は、ΔＬ＊値は負の値であり、且つ、Δｈ値は正の値である。つまり、「頬」から「首」へ変化する場合の特徴を示しているので、この画像は、人の顔の画像であると判断される。
【００９７】
ここで、図３のフローチャートの説明に戻る。画像メモリ１３ａに記憶された画像データが、人の顔の画像であると判断されたかを判断し（Ｓ７）、人の顔の画像であると判断された場合は（Ｓ７：Ｙｅｓ）、画像メモリ１３ａに記憶されている画像に色補正処理を行い（Ｓ８）、処理を終了する。一方、人の顔の画像でないと判断された場合は（Ｓ７：Ｎｏ）、何もせずに処理を終了する。
【００９８】
次に、第２実施形態であるＭＦＰ５１について説明する。図１２は、ＭＦＰ５１とＰＣ３１との電気的構成を示すブロック図である。図１２のブロック図において、第１の実施形態であるＭＦＰ１のブロック図（図２参照）と同一な部分については、同一の符号を付してその説明を省略し、異なる部分についてのみ説明する。
【００９９】
ＲＡＭ１３は、各種のデータを一時的に記憶するための書換可能なメモリであり、図２に示すＭＦＰ１のブロック図と同一の画像メモリ１３ａ、肌色画像メモリ１３ｂ、肌色領域ポインタ１３ｃ、ブロック情報メモリ１３ｄ、ブロック判定フラグメモリ１３ｅ、ブロックステータスメモリ１３ｈ、ステータス順序メモリ１３ｉとが設けられている。
【０１００】
ブロックステータスメモリ１３ｈは、ブロック情報メモリ１３ｄに記憶される各ブロックのステータスが記憶されるメモリである。ブロックステータスメモリ１３ｈは、各ブロックが４つの領域（Ｉ、ＩＩ、ＩＩＩ、ＩＶ）のうち、どの領域に属するかを示すステータスが記憶される。
【０１０１】
ここで、図１５（ａ）を参照して、４つの領域（Ｉ、ＩＩ、ＩＩＩ、ＩＶ）について説明する。図１５（ａ）は、人の顔の肌において、各部分の肌の明度と色相との関係を示した図である。人の顔の肌の部分と、明度や色相などの特徴については、図１１（ａ）で説明した内容と同一であるので、その説明を省略する。図１５（ａ）において、「額」の特徴を有する領域を「領域Ｉ」とし、「目の下」の特性を有する領域を「領域ＩＩ」とし、「頬」領域を「領域ＩＩＩ」とし、「首」領域を「領域ＩＶ」としている。
【０１０２】
そして、ブロック情報メモリ１３ｄに記憶されている各ブロック値が、「領域Ｉ」に属する場合はブロックステータスメモリ１３ｈに「１」と設定され、「領域ＩＩ」に属する場合は「２」と設定され、「領域ＩＩＩ」に属する場合は「３」と設定され、「領域ＩＶ」に属する場合は「４」と設定される。また、初期化された場合や、いずれの肌の特性も示さない場合は、「無効領域」とされ「０」と設定されている（図１５（ｃ）参照）。
【０１０３】
ここで、図１２に戻り説明を続ける。ステータス順序メモリ１３ｉは、ブロックステータスメモリ１３ｈに記憶される各ブロックのステータスにおいて、ある一方向にブロックが走査された場合のステータスが順番に記憶されるメモリである。なお、ステータス順序メモリ１３ｉに記憶されるステータスの順序については、図１６を参照して後述する。
【０１０４】
次に、ＭＦＰ５１の画像処理について説明する。ＭＦＰ５１の画像処理において、本発明の第１実施形態であるＭＦＰ１の画像処理とは、顔判定処理（Ｓ６）のみが異なる（図３参照）。よって、その他の処理については、第１実施形態で説明した内容と同一であるので、その説明を省略する。
【０１０５】
図１３と図１４とのフローチャートを参照して、ＭＦＰ５１により行われる顔判定処理（Ｓ６）について説明する。顔判定処理では、始めに、ブロックステータスメモリ１３ｈとステータス順序メモリ１３ｉとを初期化する（Ｓ７１）。そして、全ての有効ブロックを調べ、Ｌ＊値の最小値および最大値と、ｈ値の最小値および最大値とを抽出する（Ｓ７２）。
【０１０６】
そして、ＸＹ平面において、ｈ値をｘ成分として、Ｌ＊値をｙ成分として、「（ｈ値の最小値，Ｌ＊値の最小値）、（ｈ値の最小値，Ｌ＊値の最大値）、（ｈ値の最大値，Ｌ＊値の最小値）、（ｈ値の最大値，Ｌ＊値の最大値）」の４点で形成される四角形を作成し、対角線で区切り、４つの領域（Ｉ、ＩＩ、ＩＩＩ、ＩＶ）に分ける（Ｓ７３）。
【０１０７】
ここで、図１５（ｂ）を参照して、ブロック値を４つの領域（Ｉ、ＩＩ、ＩＩＩ、ＩＶ）に分類する方法ついて詳しく説明する。図１５（ｂ）は、ブロック情報メモリ１３ｄに記憶される各ブロックを、４つの領域（Ｉ、ＩＩ、ＩＩＩ、ＩＶ）の属性に分類するための一例を示す図である。まず、ブロック情報メモリ１３ｄに記憶されているブロック値から、Ｌ＊値の最小値および最大値と、ｈ値の最小値および最大値とを求める。そして、ＸＹ平面において、ｈ値をｘ成分として、Ｌ＊値をｙ成分として、次の４点で形成される四角形「１点目（ｈ値の最小値，Ｌ＊値の最小値）、２点目（ｈ値の最小値，Ｌ＊値の最大値）、３点目（ｈ値の最大値，Ｌ＊値の最小値）、４点目（ｈ値の最大値，Ｌ＊値の最大値）」を作成する。
【０１０８】
そして、作成した四角形を対角線で区切り、４つの三角形の領域に分ける。対角線の交点と、１点目と３点目とで形成される三角形の領域を、「領域Ｉ」としている。また、対角線の交点と、１点目と２点目とで形成される三角形の領域を、「領域ＩＩ」としている。また、対角線の交点と、２点目と４点目で形成される三角形の領域を、「領域ＩＩＩ」としている。また、対角線の交点と、３点目と４点目で形成される三角形を、「領域ＩＶ」としている。
【０１０９】
ここで、図１３に戻り説明を続ける。ブロック情報メモリ１３ｄより、１つのブロック値（ｈ値、Ｌ＊値）を読み取り、ｈ値をｘ成分とし、Ｌ＊値をｙ成分とするＸＹ平面上の点（ｈ値，Ｌ＊値）が、４つの領域（Ｉ、ＩＩ、ＩＩＩ、ＩＶ）のどの領域に属するかを調べ、ブロックステータスメモリ１３ｈに、属する領域を示すステータス値を記憶する（Ｓ７４）。ブロック値がいずれの領域にも当てはまらない場合は、「０」と設定された状態が維持される。
【０１１０】
図１５（ｃ）は、ブロックステータスメモリ１３ｈに記憶されたステータスの内容を概略的に示したイメージ図である。図１５（ｃ）に示すように、各ブロックの値に基づいて、４つ領域（Ｉ、ＩＩ、ＩＩＩ、ＩＶ）の属性を示すステータスが記憶されている。図１５（ｃ）において、灰色で塗り潰されているブロックは「無効ブロック」を示し、ステータスは「０」と記憶されている状態を示している。
【０１１１】
ここで、図１３のフローチャートの説明に戻る。全てのブロック値を読み取ったかを判定し（Ｓ７５）、全てのブロック値を読み取っていない場合は（Ｓ７５：Ｎｏ）、Ｓ７４の処理に戻り、処理を繰り返す。一方、全てのブロック値を読み取った場合は（Ｓ７５：Ｙｅｓ）、Ｓ７６からＳ７８の処理において、走査基準線を決定する。
【０１１２】
ここで、図１６を参照して、走査基準線を決定する処理の概要について説明する。図１６（ａ），（ｂ），（ｃ）は、走査基準線を分かり易く説明するために、図１５（ｃ）のイメージ図に走査基準線やその補助線、行番号と列番号などを書き加えたイメージ図である。走査基準線を求めるためには、まず補助線である直線Ａと直線Ｂとを求める。
【０１１３】
図１６（ａ）は、直線Ａを求めるために、ブロック全体の左下を原点とし、図面に向かって、右方向に列番号（Ｎ）を順番に記載し、上方向に行番号（Ｍ）を順番に記載したイメージ図である。まず、図中の有効ブロック（Ｍ，Ｎ）において、（Ｍ２＋Ｎ２）の値が最小となる有効ブロックを探すと、最小値が１３であるブロック（２，３）が見つかる。同様に、（Ｍ２＋Ｎ２）の値が最大となる有効ブロックとを探すと、最大値が１６４であるブロック（１０，８）が見つかる。見つかった２つのブロック「ブロック（２，３）とブロック（１０，８）」を直線で繋ぐと、図１６（ａ）に示す、直線Ａが形成される。
【０１１４】
図１６（ｂ）は、直線Ｂを求めるために、ブロック全体の右下を原点とし、図面に向かって、左方向に列番号（Ｎ）を順番に記載し、上方向に行番号（Ｍ）を順番に記載したイメージ図である。まず、図中の有効ブロック（Ｍ，Ｎ）において、（Ｍ２＋Ｎ２）の値が最小となる有効ブロックを探すと、最小値が２５であるブロック（３，４）が見つかる。同様に、（Ｍ２＋Ｎ２）の値が最大となる有効ブロックとを探すと、最大値が１２５であるブロック（１０，５）が見つかる。見つかった２つのブロック「ブロック（３，４）とブロック（１０，５）」を直線で繋ぐと、図１６（ｂ）に示す、直線Ｂが形成される。
【０１１５】
図１６（ｃ）は、直線Ａと直線Ｂと走査基準線とを記載したイメージ図である。図１６（ｃ）に示すように、直線Ａと直線Ｂとの中線が走査基準線となる。なお中線は、角度が小さい方の中線を用いる。
【０１１６】
そして、走査基準線上に位置するブロックのステータスが、順番にステータス順序メモリ１３ｉに記憶される。まず、走査基準線上に位置する「領域Ｉ」のブロックが走査開始ブロックとされ、走査基準線上に位置する「領域ＩＶ」のブロックが走査終了ブロックとされる。走査開始ブロックから、走査終了ブロックに向かって順番に、走査基準線上に位置するブロックのステータスが、ステータス順序メモリ１３ｉに記憶される。
【０１１７】
ここで、図１３のフローチャートの説明に戻る。Ｓ７５の処理において、全てのブロック値を読み取った場合は（Ｓ７５：Ｙｅｓ）、縦Ｍ個、横Ｎ個に分割されたブロック全体の左下を原点とし（図１６（ａ）参照）、（Ｍ２＋Ｎ２）の値が最小となる有効ブロックと、（Ｍ２＋Ｎ２）の値が最大となる有効ブロックとを探し、２つのブロックを繋ぐ直線Ａを求める（Ｓ７６）。
【０１１８】
次に、縦Ｍ個、横Ｎ個に分割されたブロック全体の右下を原点とし（図１６（ｂ）参照）、（Ｍ２＋Ｎ２）の値が最小となる有効ブロックと、（Ｍ２＋Ｎ２）の値が最大となる有効ブロックとを探し、２つのブロックを繋ぐ直線Ｂを求める（Ｓ７７）。そして、直線Ａと直線Ｂとの中線（角度が小さい方の中線）を求めて、走査基準線とする（図１６（ｃ）参照）（Ｓ７８）。
【０１１９】
走査基準線上であり、「領域Ｉ」に属する有効ブロックを走査開始ブロックとし、「領域ＩＶ」に属する有効ブロックを走査終了ブロックとする（Ｓ７９）。走査開始ブロックから、走査終了ブロックに向かって、走査線上に位置するブロックのステータスを順番に、ステータス順序メモリ１３ｉに記憶する（Ｓ８０）。
【０１２０】
ここで、図１６（ｄ）を参照して、ステータス順序メモリ１３ｉについて説明する。図１６（ｄ）は、走査基準線上のステータスが記憶されたステータス順序メモリ１３ｉの内容の一例を示している。ステータス順序メモリ１３ｉにステータスが記憶されると、各ステータスの順序によって、画像メモリ１３ａに記憶された画像が、人の顔の画像であるか判断される。したがって、画像が傾いている場合でも判定することができる。また、ステータスの値は、画像の画素値に基づいて決定されるので、肌の色に関係なく判定することができる。
【０１２１】
ここで、図１３のフローチャートの説明に戻る。ステータス順序メモリ１３ｉにおいて、「領域Ｉ」と「領域ＩＶ」とを示すステータスの間に、「領域ＩＩ」を示すステータスと「領域ＩＩＩ」を示すステータスとが位置するかを判定する（Ｓ８１）。すなわち、「額」と「首」との間に、「目の下」と「頬」とが位置するかを判定する。
【０１２２】
Ｓ８１の処理において、「領域Ｉ」と「領域ＩＶ」とを示すステータスの間に、「領域ＩＩ」を示すステータスと「領域ＩＩＩ」を示すステータスとが位置しない場合は（Ｓ８１：Ｎｏ）、処理を終了する。一方、「領域Ｉ」と「領域ＩＶ」とを示すステータスの間に、「領域ＩＩ」を示すステータスと「領域ＩＩＩ」を示すステータスとが位置する場合は（Ｓ８１：Ｙｅｓ）、ステータス順序メモリ１３ｉにおいて、「領域ＩＩ」と「領域ＩＶ」とを示すステータスの間に、「領域ＩＩＩ」を示すステータスが位置するかを判定する（Ｓ８２）。すなわち、「目の下」と「首」との間に、「頬」が位置するかを判定する。
【０１２３】
Ｓ８２の処理において、「領域ＩＩ」と「領域ＩＶ」とを示すステータスの間に、「領域ＩＩＩ」を示すステータスが位置しない場合は（Ｓ８２：Ｎｏ）、処理を終了する。一方、「領域ＩＩ」と「領域ＩＶ」とを示すステータスの間に、「領域ＩＩＩ」を示すステータスが位置する場合は（Ｓ８２：Ｙｅｓ）、ステータス順序メモリ１３ｉにおいて、「領域Ｉ」と「領域ＩＩＩ」とを示すステータスの間に、「領域ＩＩ」を示すステータスが位置するかを判定する（Ｓ８３）。すなわち、「額」と「頬」との間に、「目の下」が位置するかを判定する。
【０１２４】
Ｓ８３の処理において、「領域Ｉ」と「領域ＩＩＩ」とを示すステータスの間に、「領域ＩＩ」を示すステータスが位置しない場合は（Ｓ８３：Ｎｏ）、処理を終了する。一方、「領域Ｉ」と「領域ＩＩＩ」とを示すステータスの間に、「領域ＩＩ」を示すステータスが位置する場合は（Ｓ８３：Ｙｅｓ）、ステータス順序メモリ１３ｉにおいて、「領域Ｉ」と「領域ＩＩ」とを示すステータスの間に、「無効領域」を示すステータスが位置するかを判定する（Ｓ８４）。すなわち、「額」と「目の下」との間に、「目（無効領域）」が位置するかを判定する。
【０１２５】
Ｓ８４の処理において、「領域Ｉ」と「領域ＩＩ」とを示すステータスの間に、「無効領域」を示すステータスが位置しない場合は（Ｓ８４：Ｎｏ）、処理を終了する。一方、「領域Ｉ」と「領域ＩＩ」とを示すステータスの間に、「無効領域」を示すステータスが位置する場合は（Ｓ８４：Ｙｅｓ）、ステータス順序メモリ１３ｉにおいて、「領域ＩＩＩ」と「領域ＩＶ」とを示すステータスの間に、「無効領域」を示すステータスが位置するかを判定する（Ｓ８５）。すなわち、「頬」と「首」との間に、「口（無効領域）」が位置するかを判定する。
【０１２６】
Ｓ８５の処理において、「領域ＩＩＩ」と「領域ＩＶ」とを示すステータスの間に、「無効領域」を示すステータスが位置しない場合は（Ｓ８５：Ｎｏ）、処理を終了する。一方、「領域ＩＩＩ」と「領域ＩＶ」とを示すステータスの間に、「無効領域」を示すステータスが位置する場合は（Ｓ８５：Ｙｅｓ）、画像メモリ１３ａに記憶された画像データは、人の顔の画像であると判断する（Ｓ８６）。
【０１２７】
次に、図１６を参照して、走査基準線とステータス順序メモリ１３ｉについて説明する。図１６（ａ），（ｂ），（ｃ）は、走査基準線を分かり易く説明するために、図１５（ｃ）のイメージ図に走査基準線やその補助線、行番号と列番号などを書き加えたイメージ図である。走査基準線を求めるためには、まず補助線である直線Ａと直線Ｂを求めなければならない。
【０１２８】
図１６（ａ）は、直線Ａを求めるために、ブロック全体の左下を原点とし、図面に向かって、右方向に列番号（Ｎ）を順番に記載し、上方向に行番号（Ｍ）を順番に記載したイメージ図である。まず、図中の有効ブロック（Ｍ，Ｎ）において、（Ｍ２＋Ｎ２）の値が最小となる有効ブロックを探すと、最小値が１３であるブロック（２，３）が見つかる。同様に、（Ｍ２＋Ｎ２）の値が最大となる有効ブロックとを探すと、最大値が１６４であるブロック（１０，８）が見つかる。見つかった２つのブロック「ブロック（２，３）とブロック（１０，８）」を直線で繋ぐと、図１６（ａ）に示す、直線Ａが形成される。
【０１２９】
図１６（ｂ）は、直線Ｂを求めるために、ブロック全体の右下を原点とし、図面に向かって、左方向に列番号（Ｎ）を順番に記載し、上方向に行番号（Ｍ）を順番に記載したイメージ図である。まず、図中の有効ブロック（Ｍ，Ｎ）において、（Ｍ２＋Ｎ２）の値が最小となる有効ブロックを探すと、最小値が２５であるブロック（３，４）が見つかる。同様に、（Ｍ２＋Ｎ２）の値が最大となる有効ブロックとを探すと、最大値が１２５であるブロック（１０，５）が見つかる。見つかった２つのブロック「ブロック（３，４）とブロック（１０，５）」を直線で繋ぐと、図１６（ｂ）に示す、直線Ｂが形成される。
【０１３０】
図１６（ｃ）は、直線Ａと直線Ｂと走査基準線とを記載したイメージ図である。図１６（ｃ）に示すように、直線Ａと直線Ｂとの中線が走査基準線となる。なお中線は、角度が小さい方の中線を用いる。
【０１３１】
そして、走査基準線上に位置するブロックのステータスが、順番にステータス順序メモリ１３ｉに記憶される。まず、走査基準線上に位置する「領域Ｉ」のブロックが走査開始ブロックとされ、走査基準線上に位置する「領域ＩＶ」のブロックが走査終了ブロックとされる。走査開始ブロックから、走査終了ブロックに向かって順番に、走査基準線上に位置するブロックのステータスが、ステータス順序メモリ１３ｉに記憶される。
【０１３２】
図１６（ｄ）は、走査基準線上のステータスが記憶されたステータス順序メモリ１３ｉの内容の一例を示している。ステータス順序メモリ１３ｉにステータスが記憶されると、各ステータスの位置関係（並び方）によって、画像メモリ１３ａに記憶された画像が、人の顔の画像であるか判断される。したがって、画像が傾いている場合でも判定することができる。また、ステータスの値は、画像の画素値に基づいて決定されるので、肌の色に関係なく判定することができる。
【０１３３】
次に、図１６（ｄ）に示されるステータス順序メモリ１３ｉの内容と、図１４のフローチャートの処理Ｓ８１からＳ８５とを比較しながら、人の顔の画像であるかを説明する。Ｓ８１の処理では、「領域Ｉ」と「領域ＩＶ」とを示すステータスの間に「領域ＩＩ」を示すステータスが位置するかを判断しており、ステータス順序メモリ１３ｉには、「１」と「４」との間に、「２」が位置しているので、条件を満たしている。Ｓ８２の処理では、「領域ＩＩ」と「領域ＩＶ」とを示すステータスの間に「領域ＩＩＩ」を示すステータスが位置するかを判断しており、ステータス順序メモリ１３ｉには、「２」と「４」との間に、「３」が位置しているので、条件を満たしている。
【０１３４】
Ｓ８３の処理では、「領域Ｉ」と「領域ＩＩＩ」とを示すステータスの間に「領域ＩＩ」を示すステータスが位置するかを判断しており、ステータス順序メモリ１３ｉには、「１」と「３」との間に、「２」が位置しているので、条件を満たしている。Ｓ８４の処理では、「領域Ｉ」と「領域ＩＩ」とを示すステータスの間に「無効領域」を示すステータスが位置するかを判断しており、ステータス順序メモリ１３ｉには、「１」と「２」との間に、「０」が位置しているので、条件を満たしている。
【０１３５】
Ｓ８５の処理では、「領域ＩＩＩ」と「領域ＩＶ」とを示すステータスの間に「領域ＩＩＩ」を示すステータスが位置するかを判断しており、ステータス順序メモリ１３ｉには、「３」と「４」との間に、「０」が位置しているので、条件を満たしている。よって、Ｓ８１からＳ８５までの条件を全て満たしているので、画像メモリ１３ａに記憶された画像は、人の顔の画像であると判断される。
【０１３６】
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
【０１３７】
例えば、上記第１実施形態では、ブロックの走査方向を縦方向（列方向）に走査したが、画像が傾いている場合は、ブロックを横や斜めに走査してもよい。斜めに走査しても有効ブロックの値の差分値を求めることができるので、画像が傾いている場合でも人の顔の画像であると判断することができる。
【０１３８】
また、上記第１実施形態では、ＭＦＰ１により画像データを画像処理しているが、ＰＣ３１のハードディスク３５に、上記実施形態の画像処理を行うプログラムを記憶しておき、ＰＣ３１で画像データの画像処理を行っても良い。
【０１３９】
また、上記第１実施形態では、ＰＣ３１からＭＦＰ１に画像データが入力されるが、メモリカードスロット２２に挿入された携帯用フラッシュメモリカードに記憶されている画像データを、ＭＦＰ１の操作キー１５を用いてＭＦＰ１に入力しても良い。
【０１４０】
また、上記第２実施形態では、走査基準線上に位置するステータスの順序を調べたが、そのステータスの順序が図１４のフローチャートのＳ８１からＳ８５までの条件を全て満たさない場合は、走査基準線を平行移動させて、その走査基準線上に位置するステータスの順序を調べても良い。
【図面の簡単な説明】
【０１４１】
【図１】本発明の第１実施形態における画像処理装置を有したＭＦＰとＰＣとの接続図である。
【図２】ＭＦＰとＰＣとの電気的構成を示すブロック図である。
【図３】ＭＦＰの画像処理を示すフローチャートである。
【図４】ＭＦＰの肌色領域抽出処理を示すフローチャートである。
【図５】ＭＦＰの肌色領域判定処理を示すフローチャートである。
【図６】肌色画像メモリの内容を概略的に示した図である。
【図７】ＭＦＰのブロック情報抽出処理を示すフローチャートである。
【図８】肌色条件を示した図と、肌色領域ポインタに示される領域が複数のブロックに分割された状態を示すイメージ図である。
【図９】ＭＦＰの顔判定処理を示すフローチャートである。
【図１０】ＭＦＰの顔判定処理を示すフローチャートである。
【図１１】人の顔の肌の明度と色相との関係を示した図と、複数に分割されたブロックのうち、有効ブロックのみが示されているイメージ図である。
【図１２】第２実施形態におけるＭＦＰとＰＣとの電気的構成を示すブロック図である。
【図１３】第２実施形態における顔判定処理を示すフローチャートである。
【図１４】第２実施形態における顔判定処理を示すフローチャートである。
【図１５】４つ領域（Ｉ、ＩＩ、ＩＩＩ、ＩＶ）と、その属性を示すステータスについて示した図である。
【図１６】走査基準線と、走査基準線上に位置するステータスの順序について示した図である。
【符号の説明】
【０１４２】
１、５１            ＭＦＰ（画像処理装置、画像処理プログラム）
１３ｄ              ブロック情報メモリ（ブロックの色相情報または明度情報）
１３ｈ              ブロックステータスメモリ
Ｓ１２              情報形成手段、情報形成ステップ
Ｓ２１〜Ｓ２６      肌色領域抽出手段、肌色領域抽出ステップ
Ｓ３１〜Ｓ３７      ブロック情報形成手段
Ｓ４１〜Ｓ６４      第１の顔判定手段、第１の顔判定ステップ
Ｓ７１〜Ｓ７５      肌色種類決定手段、肌色種類決定ステップ
Ｓ７６〜Ｓ８６      第２の顔判定手段、第２の顔判定ステップ
【図１】
2008191726.tif 000003
【図２】
2008191726.tif 000004
【図３】
2008191726.tif 000005
【図４】
2008191726.tif 000006
【図５】
2008191726.tif 000007
【図６】
2008191726.tif 000008
【図７】
2008191726.tif 000009
【図８】
2008191726.tif 000010
【図９】
2008191726.tif 000011
【図１０】
2008191726.tif 000012
【図１１】
2008191726.tif 000013
【図１２】
2008191726.tif 000014
【図１３】
2008191726.tif 000015
【図１４】
2008191726.tif 000016
【図１５】
2008191726.tif 000017
【図１６】
2008191726.tif 000018