(57)【要約】【課題】処理の負担を大きくすることなく、画像から肌色の領域を精度よく抽出する画像処理装置及びプログラム。【解決手段】肌色度とは、画素の色の肌色らしさの度合である。この肌色度は、感応実験等の結果によって定められた、最も肌色らしい色、及び人間の目が肌色と許容できる色の範囲の空間の各々に基づいて求められる。（Ａ）に、画像の色と最も肌色らしいと定められた色との座標間の距離（ｒ）、及び人間の目が肌色と許容できる色の範囲の空間の最も端に至るまでの距離（Ｒ）を模式的に示す。また、色差（ΔＥ）と肌色度（Ｓ）との関係は、（Ｂ）に示されるように変化する。  この肌色度に基づいて、処理対象の画像から肌色の領域を抽出する。【選択図】図４
2008250527.tif 000002
【特許請求の範囲】
【請求項１】
画像を構成する画素毎に、当該画素の肌色らしさを表す肌色度を当該画素の画素値に基づいて算出する肌色度算出手段と、
前記画像を所定のサイズの分割領域に分割する画像分割手段と、
前記分割領域を構成する各画素の前記肌色度に基づく当該分割領域の肌色らしさを表す領域肌色度が所定のレベルを超えるか否かを判定する第１の判定手段と、
前記第１の判定手段により前記領域肌色度が所定のレベルを超えると判定された特定領域内の前記画像の変化の特徴を表す特徴データを算出する算出手段と、
前記算出手段により算出された前記特徴データに基づいて、前記特定領域が肌色の領域であるか否かを判定する第２の判定手段と、
を備えた画像処理装置。
【請求項２】
前記特徴データを、前記特定領域内の前記肌色度の空間周波数を示すデータとした請求項１記載の画像処理装置。
【請求項３】
前記特徴データを、前記肌色度を２値化した値の内の一方の画素が前記特定領域内で所定方向に連続する流さを示すデータとした請求項１記載の画像処理装置。
【請求項４】
前記画像を構成する画素毎に、当該画素と当該画素の周辺領域との色差を算出する色差算出手段を更に備え、
前記特徴データを、前記特定領域内の前記色差の空間周波数を示すデータとした請求項１記載の画像処理装置。
【請求項５】
前記画像を構成する画素毎に、当該画素と当該画素の周辺領域との色差を算出する色差算出手段を更に備え、
前記特徴データを、前記色差を２値化した値の内の一方の画素が前記特定領域内で所定方向に連続する流さを示すデータとした請求項１記載の画像処理装置。
【請求項６】
前記画像を構成する画素毎に、当該画素と当該画素の周辺領域との色差を算出する色差算出手段を更に備え、
前記特徴データは、前記特定領域内の前記肌色度の空間周波数を示すデータ、及び前記肌色度を２値化した値の内の一方の画素が前記特定領域内で所定方向に連続する流さを示すデータの少なくとも一方である肌色度特徴データと、前記特定領域内の前記色差の空間周波数を示すデータ、及び前記色差を２値化した値の内の一方の画素が前記特定領域内で所定方向に連続する流さを示すデータの少なくとも一方である色差特徴データとを含み、
前記第２の判定手段は、前記肌色度特徴データと前記色差特徴データとの双方に基づいて、前記特定領域が肌色の領域であるか否かを判定する請求項１記載の画像処理装置。
【請求項７】
コンピュータに、
画像を構成する画素毎に、当該画素の肌色らしさを表す肌色度を当該画素の画素値に基づいて算出する肌色度算出ステップと、
前記画像を所定のサイズの分割領域に分割する画像分割ステップと、
前記分割領域を構成する各画素の前記肌色度に基づく当該分割領域の肌色らしさを表す領域肌色度が所定のレベルを超えるか否かを判定する第１の判定ステップと、
前記第１の判定ステップにより前記領域肌色度が所定のレベルを超えると判定された特定領域内の前記画像の変化の特徴を表す特徴データを算出する算出ステップと、
前記算出ステップにより算出された前記特徴データに基づいて、前記特定領域が肌色の領域であるか否かを判定する第２の判定ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、プログラムに関する。
【背景技術】
【０００２】
プリンタや複写機等により、人物画を出力するとき、肌色の再現は特に重要である。
【０００３】
例えば、露光不足等で撮像情報が良好な状態でない場合であっても、良好な肌色を再現することが要求される。また、特許文献１には、画像信号に含まれる画素から肌色の領域に属する画素を抽出すると共に、肌色の領域の画素に対し信号強度を調整することで、人物画像の顔や首からシワやシミ等を除去する技術が記載されている。
【０００４】
ところで、人物画の肌色を補正を行なうためには、画像から肌色の領域を精度よく抽出することが重要になる。肌色の領域を抽出する代表的な方法としては、画像信号に含まれる各画素の色度から、画素単位で肌色の領域か否かを判定する方法と、画像信号の２次元的な形状解析により顔や手足の領域を抽出し、肌色の領域とする方法とがある。
【０００５】
しかしながら、画素単位で判定する方法では、例えば金色の帯等の肌色と区別の付かない他の画像を肌色の領域と誤判定する場合があり、良好な肌色の領域の抽出が困難になる場合がある。この画素単位で判定では、更に単純な空間周波数情報を補助データとして用いる方法も知られているが、この方法を用いた場合にも判定の精度に難があった。
【０００６】
また、２次元的な形状解析を行う方法は、精度の点では非常に好ましいが、処理の負担が格段に大きくなり、コストのアップやパフォーマンスの低下を引き起こす欠点がある。
【特許文献１】特開２００５−１９６２７０公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、上述した背景技術に基づいてなされたもので、処理の負担を大きくすることなく、画像から精度よく肌色の領域を抽出する画像処理装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、請求項１の発明は、画像を構成する画素毎に、当該画素の肌色らしさを表す肌色度を当該画素の画素値に基づいて算出する肌色度算出手段と、前記画像を所定のサイズの分割領域に分割する画像分割手段と、前記分割領域を構成する各画素の前記肌色度に基づく当該分割領域の肌色らしさを表す領域肌色度が所定のレベルを超えるか否かを判定する第１の判定手段と、前記第１の判定手段により前記領域肌色度が所定のレベルを超えると判定された特定領域内の前記画像の変化の特徴を表す特徴データを算出する算出手段と、前記算出手段により算出された前記特徴データに基づいて、前記特定領域が肌色の領域であるか否かを判定する第２の判定手段と、を備えている。
【０００９】
請求項２の発明は、前記特徴データを、前記特定領域内の前記肌色度の空間周波数を示すデータとしたものである。
【００１０】
請求項３の発明は、前記特徴データを、前記肌色度を２値化した値の内の一方の画素が前記特定領域内で所定方向に連続する流さを示すデータとしたものである。
【００１１】
請求項４の発明は、前記画像を構成する画素毎に、当該画素と当該画素の周辺領域との色差を算出する色差算出手段を更に備え、前記特徴データを、前記特定領域内の前記色差の空間周波数を示すデータとしたものである。
【００１２】
請求項５の発明は、前記画像を構成する画素毎に、当該画素と当該画素の周辺領域との色差を算出する色差算出手段を更に備え、前記特徴データを、前記色差を２値化した値の内の一方の画素が前記特定領域内で所定方向に連続する流さを示すデータとしたものである。
【００１３】
請求項６の発明は、前記画像を構成する画素毎に、当該画素と当該画素の周辺領域との色差を算出する色差算出手段を更に備え、前記特徴データは、前記特定領域内の前記肌色度の空間周波数を示すデータ、及び前記肌色度を２値化した値の内の一方の画素が前記特定領域内で所定方向に連続する流さを示すデータの少なくとも一方である肌色度特徴データと、前記特定領域内の前記色差の空間周波数を示すデータ、及び前記色差を２値化した値の内の一方の画素が前記特定領域内で所定方向に連続する流さを示すデータの少なくとも一方である色差特徴データとを含み、前記第２の判定手段は、前記肌色度特徴データと前記色差特徴データとの双方に基づいて、前記特定領域が肌色の領域であるか否かを判定するものである。
【００１４】
請求項７の発明は、コンピュータに、画像を構成する画素毎に、当該画素の肌色らしさを表す肌色度を当該画素の画素値に基づいて算出する肌色度算出ステップと、前記画像を所定のサイズの分割領域に分割する画像分割ステップと、前記分割領域を構成する各画素の前記肌色度に基づく当該分割領域の肌色らしさを表す領域肌色度が所定のレベルを超えるか否かを判定する第１の判定ステップと、前記第１の判定ステップにより前記領域肌色度が所定のレベルを超えると判定された特定領域内の前記画像の変化の特徴を表す特徴データを算出する算出ステップと、前記算出ステップにより算出された前記特徴データに基づいて、前記特定領域が肌色の領域であるか否かを判定する第２の判定ステップと、を実行させるためのプログラムである。
【発明の効果】
【００１５】
本発明によれば、画素の肌色らしさを表す肌色度を算出し、当該肌色度に基づいて肌色の領域か否かを判定するので、処理の負担を大きくすることなく、画像から精度よく肌色の領域を抽出できる、という効果が得られる。
【００１６】
また、肌色の領域か否かの判定を、画素の肌色らしさを表す肌色度に基づいた判定と、画素と当該画素の周辺領域との色差に基づいた判定とを組み合わせて行うことにより、さらに精度よく肌色の領域を抽出できる、という効果が得られる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して本発明の実施形態を説明する。
【００１８】
図１は、画像処理装置であるコンピュータ１０の概略構成を示すブロック図である。
【００１９】
コンピュータ１０は、図１に示すように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１４、及びＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１６を含んで構成されている。
【００２０】
ＣＰＵ１２は、コンピュータ１０の全体の動作を司るものであり、プログラムに従い後述する画像処理を実行する。
【００２１】
ＲＯＭ１４は、コンピュータ１０の起動時に動作するブートプログラムなどが記憶されている不揮発性の記憶装置である。
【００２２】
ＲＡＭ４０は、ＣＰＵ１２の実行において使用するプログラムや、その実行において適宜変化するパラメータ、コンピュータ１０の作動中に取得される各種のログデータを記憶する揮発性の記憶装置である。
【００２３】
また、コンピュータ１０には、通信部１８、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２０、接続ポート２２、及び読取装置２４が設けられており、これらは、バスを介してＣＰＵ１２に信号授受可能に接続されている。
【００２４】
通信部１８は、コンピュータ１０と直接又はネットワークを介して接続された外部装置とデータの送受信を行うものである。コンピュータ１０は、通信部１８を介して、スキャナからスキャンされたデータを受信したり、画像処理を施したデータを画像形成装置へ送信したりするようになっている。
【００２５】
ＨＤＤ２０は、ＯＳ（オペレーティングシステム）、後述する画像処理を実行するためのプログラム、プログラムの実行に用いられるデータ、及び通信部１８を介して外部装置と送受信されるデータ等が格納される不揮発性の記憶装置である。
【００２６】
接続ポート２２は、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を有し、コンピュータ１０に外部機器を接続するためのポートである。この接続ポート２２を介して、ＵＳＢメモリ等の記憶媒体２３をコンピュータ１０に接続することができる。
【００２７】
読取装置２４は、光磁気ディスク、光ディスク、磁気ディスク等の記憶媒体２５が装着され、記憶媒体２５から記憶内容が伝達されるものであり、光磁気ディスクの記憶内容を読み取るための光磁気ディスク装置、光ディスクの記憶内容を読み取るための光ディスク装置、及び磁気ディスクの記憶内容を読み取るための磁気ディスク装置等がある。
【００２８】
このようなコンピュータ１０において、ＣＰＵ１２は、ＨＤＤ２０に記憶されているプログラムを読み出してＲＡＭ１６に格納し、ＲＡＭ１６に格納したプログラムの各々を実行する。本実施形態では、ＣＰＵ１２によりプログラムが実行されることによって、コンピュータ１０において、画像に含まれる肌色の領域の色度を求める画像処理が実行される。
【００２９】
なお、ＨＤＤ２０に記憶されているプログラム及びプログラムの実行に用いられるデータ等は、記憶媒体２３，２５に記憶させて、コンピュータ１０に読み取らせてもよい。
【００３０】
このようにプログラム及びプログラムの実行に用いられるデータ等が記憶媒体２３，２５に記憶されている場合は、記憶媒体２３が接続ポート２２に接続、又は記憶媒体２５が読取装置２４に装着されると、ＣＰＵ１２は、記憶媒体２３，２５に記憶されているプログラム及びプログラムの実行に用いられるデータ等を読み出してＲＡＭ１６に格納する。
【００３１】
また、コンピュータ１０により画像処理が施されるデータは、記憶媒体２３，２５に記憶され、接続ポート２２又は読取装置２４を介してコンピュータ１０に読み取られてもよいし、スキャナ等の外部装置から、通信部１８を介してコンピュータ１０に入力されてもよい。
【００３２】
次に、本実施形態に係るコンピュータ１０で行なわれる、画像に含まれる肌色の領域の色度を求める画像処理の流れについて説明する。
【００３３】
図２は、画像処理の流れの一例を示すフローチャートである。
【００３４】
肌色度算出手段であるステップ１００では、処理対象の画像を構成する画素毎に画素の肌色度を算出する。以下、この算出処理について、図３のフローチャート及び図４を参照して説明する。
【００３５】
ステップ１５０では、画像を構成する画素のうち、肌色度が算出されていない１つの画素を注目画素として指定する。
【００３６】
ステップ１５２では、ステップ１５０で指定された注目画素の肌色度を算出する。
【００３７】
ここで、肌色度とは、画素の色の肌色らしさの度合である。肌色度は、画素の色を表現する複数の値から求められる。画素の色を表現する複数の値とは、例えば、ＣＩＥＬ＊ａ＊ｂ＊空間の座標（Ｌ＊，ａ＊，ｂ＊）等である。
【００３８】
まず、画素の色と、感応実験等の結果によって定められた最も肌色らしい色との色差を求める。最も肌色らしい色のＣＩＥＬ＊ａ＊ｂ＊空間における座標を（Ｌ＊０，ａ＊０，ｂ＊０）とすると、画像の色（ＣＩＥＬ＊ａ＊ｂ＊空間における座標（Ｌ＊，ａ＊，ｂ＊）の色）と最も肌色らしい色との色差（ΔＥ）は、下記の式（１）のように座標間の距離（ｒ）で表すことができる。
【００３９】
色差（ΔＥ）  ＝  ｒ
＝  （（Ｌ＊０−Ｌ＊）２＋（ａ＊０−ａ＊）２＋（ｂ＊０−ｂ＊）２）１／２
・・・（１）
次に、式（１）で表される色差（ΔＥ）の距離（Ｒ）に対する比から、肌色度（Ｓ）を求める。距離（Ｒ）は、最も肌色らしい色の座標（Ｌ＊０，ａ＊０，ｂ＊０）から、画素の色の座標（Ｌ＊，ａ＊，ｂ＊）を通って、感応実験等の結果によって求められた人間の目が肌色と許容できる色の範囲の空間の最も端に至るまでの距離である。図４（Ａ）に、座標間の距離（ｒ）と、人間の目が肌色と許容できる色の範囲の空間の最も端に至るまでの距離（Ｒ）とを模式的に示す。
【００４０】
肌色度（Ｓ）は、下記の式（２）で求められる。
【００４１】
肌色度（Ｓ）  ＝  １−（ΔＥ／Ｒ）      （ΔＥ≦Ｒ）
＝  ０                    （ΔＥ＞Ｒ）         ・・・（２）
このように、肌色度（Ｓ）は、最も肌色らしい色の場合は「１」となり、色差（ΔＥ）が大きくなるにつれ「１」から「０」に近づき、人間の目が肌色と許容できる色の範囲外の色の場合は「０」となる。図４（Ｂ）に、色差（ΔＥ）と肌色度（Ｓ）との関係を示す。
【００４２】
色を表す値から肌色度への変換は、人間の目が肌色と許容できる色の範囲の空間を、球、及び楕円体等の単純な形状に近似することで容易に行える。例えば球に近似した場合、距離（Ｒ）は最も肌色らしい色の座標（Ｌ＊０，ａ＊０，ｂ＊０）を中心とした球の半径になる。
【００４３】
また、色と肌色度との変換関係のルックアップテーブル（ＬＵＴ）を用意し、このＬＵＴを用いて、色を表す値から肌色度への変換を行ってもよい。この場合、人間の目が肌色と許容できる色の範囲の空間を、球、及び楕円体等の単純な形状に近似する場合に比べ、精度よく肌色度を求めることができる。
【００４４】
ステップ１５４では、画像を構成する全ての画素の肌色度を算出したか否かを判定し、肯定された場合は、画素の肌色度の算出処理は終了する。
【００４５】
画像分割手段であるステップ１０２では、画像を所定のサイズの分割領域に分割する。例えば、１６画素（主走査方向）×４画素（副走査方向）のサイズの分割領域に分割する。
【００４６】
ステップ１０４では、ステップ１０２で分割された分割領域から、肌色の領域を抽出する。以下、この抽出処理について、図５のフローチャートを参照して説明する。
【００４７】
ステップ２００では、肌色の領域か否か未判定の分割領域があるか否かを判定する。肯定された場合はステップ２０２へ移行し、否定された場合は、抽出処理は終了する。
【００４８】
ステップ２０２では、分割領域のうち、肌色の領域か否か未判定の１つの分割領域を注目領域として指定する。
【００４９】
ステップ２０４では、ステップ２０２で指定された注目領域の領域肌色度である、注目領域を構成する画素の肌色度を平均した平均肌色度を算出する。
【００５０】
第１の判定手段であるステップ２０６では、ステップ２０４で算出された平均肌色度が所定レベル以上か否かを判定する。肯定された場合は、注目領域を特定領域としてステップ２０８へ移行し、否定された場合は、ステップ２００へ移行する。
【００５１】
ステップ２０８では、特定領域の画素の色の変化の特徴に基づいて、肌色の領域か否かの判定を行う。この判定処理は４パターン（第１の判定処理、第２の判定処理、第３の判定処理、第４の判定処理）挙げられ、どの判定処理を採用してもよい。以下、それぞれの判定処理について図面を参照して説明する。
【００５２】
第１の判定処理を図６のフローチャート、及び図７〜８を参照して説明する。
【００５３】
算出手段であるステップ２５０では、特定領域の肌色度で表される画像（肌画像）をフーリエ変換し、特定領域の肌画像の周波数と該周波数の強度との関係を得る。この第１の判定処理では、特定領域の画像の変化の特徴は、特定領域の肌画像の周波数と該周波数の強度との関係で表される。
【００５４】
図７に、フーリエ変換の結果である周波数（横軸）と該周波数の強度（縦軸）との関係を模式的に示す。なお、図７では簡単のために画像の特定の方向の１次元のフーリエ変換の結果について示しているが、実際のフーリエ変換では２次元のフーリエ変換の結果が得られる。
【００５５】
ステップ２５２では、フーリエ変換後の肌画像に、肌マスキング関数を掛ける演算を行うと共に、演算結果の総和を求める。ここで肌マスキング関数とは、肌色の画像（フーリエ変換後）に掛けると演算結果の総和が大きくなるマスキング関数を指す。
【００５６】
肌色の画像（フーリエ変換後）に、肌マスキング関数を掛けた場合の結果を図８（Ａ）に例示する。フーリエ変換後の肌色の画像の周波数と該周波数の強度との関係が８ＡＦで示され、肌マスキング関数が８ＡＭで示されている。演算結果は８ＡＯで示されており、８Ａで示される領域の面積は、演算結果の総和を表す。
【００５７】
ステップ２５４では、ステップ２５２で求められた演算結果の総和が予め定めた第１のレベル未満か否かを判定する。肯定された場合はステップ２５６へ移行し、否定された場合はステップ２６０へ移行する。
【００５８】
ステップ２５６では、ステップ２５２で求められた演算結果の総和が予め定めた第２のレベル以上か否かを判定する。肯定された場合はステップ２５８へ移行し、否定された場合はステップ２６０へ移行する。
【００５９】
ステップ２５８では、フーリエ変換後の肌画像に、誤肌マスキング関数を掛ける演算を行うと共に、演算結果の総和を求める。ここで誤肌マスキング関数とは、肌色の画像と誤判断されやすい画像（フーリエ変換後）に掛けると演算結果の総和が大きくなり、且つ肌色の画像（フーリエ変換後）に掛けると演算結果の総和が小さくなるマスキング関数を指す。肌色の画像と誤判断されやすい画像としては、例えば、紅葉したもみじの画像、黄葉したいちょうの画像等が挙げられる。
【００６０】
肌色の画像（フーリエ変換後）に、誤肌マスキング関数を掛けた場合の結果を図８（Ｂ）に例示する。フーリエ変換後の肌色の画像の周波数と該周波数の強度との関係が８ＢＦで示され、誤肌マスキング関数が８ＢＭで示されている。演算結果は８ＢＯで示されており、８Ｂで示される領域の面積は、演算結果の総和を表す。
【００６１】
第２の判定手段であるステップ２６０では、ステップ２５４〜ステップ２５８の処理結果に基づき、特定領域が肌色の領域か否かを判定する。ステップ２５４で否定された場合は、肌色の領域と判定し、ステップ２５６で否定された場合は肌色の領域でないと判定する。また、ステップ２５６で肯定された場合は、ステップ２５８の演算結果に基づいて肌色の領域か否かを判定する。
【００６２】
なお、肌マスキング関数と、誤肌マスキング関数との何れか一方を用いて、特定領域が肌色の領域か否かの判定を行ってもよい。
【００６３】
次に、第２の判定処理を図９のフローチャートを参照して説明する。
【００６４】
算出手段であるステップ２６０では、特定領域の肌画像をフーリエ変換し、特定領域の肌画像の周波数と該周波数の強度との関係を得る。第２の判定処理では、特定領域の画像の変化の特徴は、特定領域の肌画像の周波数と該周波数の強度との関係で表される。
【００６５】
ステップ２６２では、ステップ２６０で得られた特定領域の肌画像の周波数と該周波数の強度との関係と、予め用意されている標準的な肌色の画像の周波数と該周波数の強度との関係とを比較して、差分を算出する。具体的には、周波数毎に、予め用意されている標準的な肌色の画像と特定領域の肌画像との周波数の強度の差を算出し、各々の周波数の強度の差の２乗の総和を算出する。
【００６６】
第２の判定手段であるステップ２６４では、ステップ２６２で算出された差分が所定のレベルよりも小さいか否かにより特定領域が肌色の領域か否かを判定する。
【００６７】
ところで、自然物の画像の周波数の強度は、図７に示されるように滑らかに変化するため、特定の周波数成分が周辺より大幅に大きな値を持つことは極めて稀である。このことから、フーリエ変換した肌画像が、周辺の周波数と比べて一定レベル以上強い周波数成分を有しているか否かを判断し、周辺の周波数よりも一定レベル以上強い周波数成分を有している場合は、肌色の領域ではないと判定してもよい。
【００６８】
次に、第３の判定処理を図１０のフローチャートを参照して説明する。
【００６９】
ステップ３００では、特定領域を構成する画素のうち、肌色度が２値化されていない１つの画素を注目画素として指定する。
【００７０】
ステップ３０２では、ステップ３００で指定された注目画素の肌色度を、肌色度が、閾値を超える値の場合は「１」とし、閾値以下の場合は「０」として２値化する。
【００７１】
ステップ３０４では、特定領域を構成する全ての画素の肌色度を２値化したか否かを判定する。肯定された場合はステップ３０６へ移行し、否定された場合はステップ３００へ移行する。
【００７２】
算出手段であるステップ３０６では、特定領域内の２値化された肌色度のランレングスの取得を行う。この第３の判定処理では、特定領域の画像の変化の特徴は、特定領域内の２値化された肌色度のランレングスで表される。以下、この取得処理について、図１１のフローチャートを参照して説明する。
【００７３】
ステップ３５０では、変数「ランレングス」に「１」を代入する。
【００７４】
ステップ３５２では、特定領域の副走査方向最上流の列を注目列にする。
【００７５】
ステップ３５４では、注目列の主走査方向最上流の画素を注目画素にする。
【００７６】
ステップ３５６では、注目画素の２値化された値（０又は１）と、主走査方向下流側の注目画素と隣り合う画素の２値化された値が同じか否かを判定する。肯定された場合はステップ３５８へ移行する。
【００７７】
ステップ３５８では、変数「ランレングス」を「１」インクリメントする。
【００７８】
ステップ３６０では、注目画素を主走査方向下流側の隣り合う画素に移す。
【００７９】
ステップ３６２では、注目画素が主走査方向の最下流の画素か否かを判定する。肯定された場合はステップ３６８へ移行し、否定された場合はステップ３５６へ移行する。
【００８０】
一方、前述のステップ３５６の判定が否定された場合はステップ３６４へ移行する。
【００８１】
ステップ３６４では、変数「ランレングス」と注目画素の２値化された値とを記憶する。
【００８２】
ステップ３６６では、変数「ランレングス」に「１」を代入する。
【００８３】
ステップ３６８では、変数「ランレングス」と注目画素の２値化された値とを記憶する。
【００８４】
ステップ３７０では、変数「ランレングス」に「１」を代入する。
【００８５】
ステップ３７２では、注目列を副走査方向下流側の隣り合う列に移す。
【００８６】
ステップ３７４では、注目列が副走査方向の最下流の列か否かを判定する。肯定された場合は取得処理は終了し、否定された場合はステップ３５４へ移行する。
【００８７】
第２の判定手段であるステップ３０８では、ステップ３０６で取得したランレングスに基づき、特定領域が肌色の領域か否かを判定する。
【００８８】
ここで行われる判定方法の例として、取得されたランレングスと該ランレングスの発生頻度との関係を、標準的な肌色の領域におけるランレングスと該ランレングスの発生頻度との関係と比較し、比較結果に基づき判定する方法が挙げられる。具体的には、ランレングス毎に、標準的な肌色の領域におけるランレングスの発生頻度と取得されたランレングスの発生頻度との差を算出し、各々の差の２乗の総和を算出して、総和が所定レベルよりも小さいか否かを判定する。この判定は、「１」のランレングス、及び「０」のランレングスの両方について行う。この方法を採用する場合、標準的な肌色の領域の肌色度は、ステップ３０２の処理と同じ閾値で２値化されている。
【００８９】
また、別の例として、閾値を１に近い値に定め、「１」のランレングスの最大値が所定値よりも大きい場合に肌色の領域ではないと判定する方法が挙げられる。
【００９０】
また、閾値を０に近い値に定め、「０」のランレングスの最大値が所定値よりも大きい場合に肌色の領域ではないと判定してもよい。
【００９１】
上記の判定方法は、何れを採用してもよく、各々を組み合わせて判定を行ってもよい。
【００９２】
第１の判定処理、第２の判定処理、及び第３の判定処理では、特定領域の肌色度の変化の特徴に基づいて、肌色の領域か否かを判定したが、画素の色と該画素の周辺画素の平均色との色差の変化の特徴に基づいて肌色の領域か否かを判定してもよい。
【００９３】
図１２のフローチャートを参照して、画素の色と該画素の周辺画素の平均色との色差の変化の特徴に基づく第４の判定処理の流れを説明する。
【００９４】
ステップ４００では、特定領域を構成する画素のうち、色差が算出されていない１つの画素を注目画素として指定する。
【００９５】
ステップ４０２では、ステップ４００で指定された注目画素の色と注目画素の周辺画素の平均色との色差を算出する。ここで、注目画素の周辺画素とは、注目画素を中心とした所定領域に含まれる画素である。
【００９６】
ステップ４０４では、ステップ４０２で算出された色差が、閾値を超える値の場合は「１」とし、閾値以下の場合は「０」として２値化する。
【００９７】
ステップ４０６では、特定領域を構成する全ての画素の２値化した色差を算出したか否かを判定する。肯定された場合はステップ４０８へ移行し、否定された場合はステップ４００へ移行する。
【００９８】
算出手段であるステップ４０８では、前述の図１１のフローチャートで示された処理を行い、特定領域内の２値化された色差のランレングスの取得を行う。この第４の判定処理では、特定領域の画像の変化の特徴は、特定領域内の２値化された色差のランレングスで表される。
【００９９】
第２の判定手段であるステップ４１０では、ステップ４０８で取得した特定領域内の２値化された色差のランレングスに基づき特定領域が肌色の領域か否かを判定する。
【０１００】
ここで行われる判定の方法の例としては、第３の判定処理と同様に、ランレングスと該ランレングスの発生頻度との関係により判定する方法、「１」のランレングスの最大値により判定する方法、及び「０」のランレングスの最大値により判定する方法が挙げられる。これらの判定の方法は、何れを採用してもよく、各々を組み合わせて判定を行ってもよい。
【０１０１】
なお、処理負担を小さくするために、注目画素のうち、注目画素の周辺画素が特定領域内にあるものについてのみ色差を算出して、肌色の領域か否かを判定してもよい。
【０１０２】
また、第１の判定処理、第２の判定処理では、肌画像をフーリエ変換することにより肌色の領域か否かを判定したが、肌画像を、画素の色と該画素の周辺画素の平均色との色差で表される色差画像に置き換えて、色差画像をフーリエ変換することにより肌色の領域か否かを判定してもよい。
【０１０３】
画素の色と該画素の周辺画素の平均色との色差の変化の特徴に基づいて、肌色の領域か否かを判定する場合は、ステップ１０２で、画像を所定のサイズの分割領域に分割する前に、画像を構成する全ての画素の色差を算出してもよい。
【０１０４】
また、画素の肌色度の変化の特徴に基づく判定と、画素の色と該画素の周辺画素の平均色との色差の変化の特徴に基づく判定との双方を組み合わせて肌色の領域を抽出してもよい。これにより、さらに精度よく画像から肌色の領域を抽出することができる。
【０１０５】
ステップ１０６では、肌色の領域のうち、平均肌色度がＡ％の領域を指定する。Ａは３０〜９０の範囲の値であり、処理毎に変更することができる。なお、このステップ１０６の処理は省略してもよい。
【０１０６】
ステップ１０８では、ステップ１０６で指定された全ての領域の色度の平均を算出する。このステップ１０８で算出された色度が、処理対象の画像の肌色の領域の色度である。
【０１０７】
このように、３次元の色空間で表現されている画素の色から、肌色らしさを表す１次元の肌色度を求め、この肌色度を用いて肌色の領域か否かの判定を行うことにより、処理の負担を大きくすることなく、画像から肌色の領域を精度よく抽出することができる。
【０１０８】
なお、上述のコンピュータ１０で実現される機能は、記録媒体に画像を形成する画像形成装置、又は被写体を撮像する撮像装置等に搭載してもよい。この場合、コンピュータ１０で用いたプログラムは、画像形成装置、撮像装置等により実行可能なコードに変換して用いられる。
【図面の簡単な説明】
【０１０９】
【図１】コンピュータの概略構成を示すブロック図である。
【図２】画像処理の流れを示すフローチャートである。
【図３】肌色度算出処理の流れを示すフローチャートである。
【図４】（Ａ）は、座標間の距離及び人間の目が肌色と許容できる色の範囲の空間の最も端に至るまでの距離を模式的に示した図であり、（Ｂ）は、色差に対する肌色度の変化を示した図である。
【図５】肌色の領域の判定処理の流れを示すフローチャートである。
【図６】肌色の領域か否かを判定する第１の判定処理の流れを示すフローチャートである。
【図７】フーリエ変換後の肌色度の周波数（横軸）と該周波数の強度（縦軸）との関係を模式的に示す図である。
【図８】マスキング関数とマスキング関数を掛けた演算結果の例を示している。
【図９】肌色の領域か否かを判定する第２の判定処理の流れを示すフローチャートである。
【図１０】肌色の領域か否かを判定する第３の判定処理の流れを示すフローチャートである。
【図１１】ランレングスの取得処理の流れを示すフローチャートである。
【図１２】肌色の領域か否かを判定する第４の判定処理の流れを示すフローチャートである。
【符号の説明】
【０１１０】
１０   コンピュータ
１２   ＣＰＵ
１４   ＲＯＭ
１６   ＲＡＭ
１８   通信部
２０   ＨＤＤ
２２   接続ポート
２３   記憶媒体
２４   読取装置
２５   記憶媒体
【図１】
2008250527.tif 000003
【図２】
2008250527.tif 000004
【図３】
2008250527.tif 000005
【図４】
2008250527.tif 000006
【図５】
2008250527.tif 000007
【図６】
2008250527.tif 000008
【図７】
2008250527.tif 000009
【図８】
2008250527.tif 000010
【図９】
2008250527.tif 000011
【図１０】
2008250527.tif 000012
【図１１】
2008250527.tif 000013
【図１２】
2008250527.tif 000014