(57)【要約】【課題】入力画像が全体的に暗かったり、赤みがかったりしているため、補正した画像が入力画像の状態に引きずられて、顔画像の肌色が綺麗に見えにくくなる。【解決手段】入力画像内における顔画像を検出する顔画像検出部２１と、入力画像の状態を判定する状態判定部２２と、顔画像に対応する色域として所定の表色系において予め定められた色域に対して状態判定部２２による判定結果に応じた変更を施す色域変更部２３と、顔画像検出部２１によって検出された顔画像に含まれる画素のうち色が色域変更部２３による変更後の色域に属する画素を抽出する画素抽出部２４と、画素抽出部２４によって抽出された画素に基づいて顔画像を代表する代表色を算出する代表色算出部２５と、を有する。また、代表色に対応する色彩色を顔画像の周辺領域に形成する顔画像周辺領域形成部２７を備える。【選択図】図１
2013045205.tif 000002
【特許請求の範囲】
【請求項１】
入力画像内における顔画像を検出する顔画像検出部と、前記入力画像の状態を判定する状態判定部と、前記顔画像に対応する色域として所定の表色系において予め定められた色域に対して前記状態判定部による判定結果に応じた変更を施す色域変更部と、前記顔画像検出部によって検出された顔画像に含まれる画素のうち色が前記色域変更部による変更後の色域に属する画素を抽出する画素抽出部と、前記画素抽出部によって抽出された画素に基づいて前記顔画像を代表する代表色を算出する代表色算出部と、を有する画像処理装置であって、
前記代表色に対応する色彩色を前記顔画像の周辺領域に形成する顔画像周辺領域形成部を備えることを特徴とする画像処理装置。
【請求項２】
前記色彩色は、前記代表色と、予め定められている理想的な肌色と、の差異に応じて生成した補正関数を用いて前記代表色を補正した補正後代表色に基づいて求めることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記色彩色は、前記補正後代表色と補色の関係にあることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記顔画像周辺領域形成部は、前記顔画像の周辺領域として前記顔画像における顔肌色領域の輪郭の周辺領域を抽出することを特徴とする請求項１から３のいずれか一項に記載の画像処理装置。
【請求項５】
前記顔画像周辺領域形成部は、前記色彩色を前記顔画像の周辺領域に形成するときに、スムージングを行うことを特徴とする請求項１から４のいずれか一項に記載の画像処理装置。
【請求項６】
前記顔画像周辺領域形成部は、前記色彩色を前記顔画像の周辺領域に形成するときに、前記周辺領域内に複数のサイズのドットを形成し、前記複数のサイズのドットの中で大きいサイズのドットを小さいサイズのドットよりも前記顔画像の近くに配置することを特徴とする請求項１から５のいずれか一項に記載の画像処理装置。
【請求項７】
入力画像内における顔画像を検出する顔画像検出工程と、前記入力画像の状態を判定する状態判定工程と、前記顔画像に対応する色域として所定の表色系において予め定められた色域に対して前記状態判定工程における判定結果に応じた変更を施す色域変更工程と、前記顔画像検出工程において検出された顔画像に含まれる画素のうち色が前記色域変更工程における変更後の色域に属する画素を抽出する画素抽出工程と、前記画素抽出工程において抽出された画素に基づいて前記顔画像を代表する代表色を算出する代表色算出工程と、を有する画像処理方法であって、
前記代表色に対応する色彩色を前記顔画像の周辺領域に形成する顔画像周辺領域形成工程を備えることを特徴とする画像処理方法。
【請求項８】
入力画像内における顔画像を検出する顔画像検出機能と、前記入力画像の状態を判定する状態判定機能と、前記顔画像に対応する色域として所定の表色系において予め定められた色域に対して前記状態判定機能による判定結果に応じた変更を施す色域変更機能と、前記顔画像検出機能によって検出された顔画像に含まれる画素のうち色が前記色域変更機能による変更後の色域に属する画素を抽出する画素抽出機能と、前記画素抽出機能によって抽出された画素に基づいて前記顔画像を代表する代表色を算出する代表色算出機能と、を有する画像処理プログラムであって、
前記代表色に対応する色彩色を前記顔画像の周辺領域に形成する顔画像周辺領域形成機能をコンピューターに実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【０００２】
画像処理の分野では、デジタルスチルカメラ等から得られた入力画像に含まれている顔画像の色を理想的な肌色にするための補正が試みられている。かかる補正を行う場合、画像処理を実行するプリンター等は、補正前の入力画像における顔画像の肌部分を代表する色（適宜、肌代表色と呼ぶ）を求め、当該求めた肌代表色に応じて決定した補正量によって入力画像の画素に対する補正を行なっていた。しかし、この補正を適切に行うには、補正前の入力画像における顔画像の肌部分の色を正確に反映した肌代表色を得る必要がある。
【０００３】
特許文献１の画像処理装置では、顔画像にかかる肌代表色を正確に取得するために、入力画像内における顔画像の少なくとも一部を含む領域を検出する特定画像検出部と、入力画像の状態を判定する状態判定部と、顔画像に対応する色域として所定の表色系において予め定められた肌色域に対して状態判定部による判定結果に応じた変更を施す色域変更部と、特定画像検出部によって検出された領域に含まれる画素のうち色が色域変更部による変更後の色域に属する画素を抽出する画素抽出部と、画素抽出部によって抽出された画素に基づいて顔画像を代表する代表色を算出する代表色算出部と、を備えている。
これらの構成により、画像全体が例えば全体的に暗かったり、赤みがかったりしていても、正確な肌色の代表色を取得することができ、画像中で特に注目を引く顔画像を元の肌に近い色で再現して表示したり、印刷したりすることを可能としている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−３１１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の画像処理装置によって画像を補正した場合、顔画像を元の肌に近い色で再現することが可能となる。しかしながら、折角、元の肌に近い色で再現しても撮影された画像（入力画像）が例えば全体的に暗かったり、赤みがかったりしているため、補正した画像が入力画像の状態に引きずられて、顔画像の肌色が綺麗に見えにくくなるという課題があった。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【０００７】
［適用例１］本適用例に係る画像処理装置は、入力画像内における顔画像を検出する顔画像検出部と、前記入力画像の状態を判定する状態判定部と、前記顔画像に対応する色域として所定の表色系において予め定められた色域に対して前記状態判定部による判定結果に応じた変更を施す色域変更部と、前記顔画像検出部によって検出された顔画像に含まれる画素のうち色が前記色域変更部による変更後の色域に属する画素を抽出する画素抽出部と、前記画素抽出部によって抽出された画素に基づいて前記顔画像を代表する代表色を算出する代表色算出部と、を有する画像処理装置であって、前記代表色に対応する色彩色を前記顔画像の周辺領域に形成する顔画像周辺領域形成部を備えることを特徴とする。
【０００８】
本適用例によれば、入力画像の状態に応じて、予め定められた色域を変更し、この変更後の色域に属する画素に基づいて顔画像の代表色を算出する。このため、入力画像の状態がどのようなものであっても、代表色は入力画像内の顔画像の色を正確に反映したものとなる。また、この代表色に対応する色彩色を顔画像の周辺領域に形成することにより、入力画像に引きずられて、顔画像の肌色が綺麗に見えにくくなるという場合でも、顔画像を引き立てることが可能になる。
【０００９】
［適用例２］上記適用例に記載の画像処理装置において、前記色彩色は、前記代表色と、予め定められている理想的な肌色と、の差異に応じて生成した補正関数を用いて前記代表色を補正した補正後代表色に基づいて求めることを特徴とする。
【００１０】
本適用例によれば、代表色と、予め定められている理想的な肌色と、の差異に応じて生成した補正関数を用いて補正後代表色を求める。このため、補正後代表色は、入力画像を補正した場合における顔画像の代表色となる。また、この補正後代表色に基づいて色彩色を求めることにより、補正後の顔画像を引き立てる色彩色にすることができる。
【００１１】
［適用例３］上記適用例に記載の画像処理装置において、前記色彩色は、前記補正後代表色と補色の関係にあることを特徴とする。
【００１２】
本適用例によれば、補正後代表色と補色の関係にある色を色彩色にすることにより、顔画像を明瞭に引き立てることができる。
【００１３】
［適用例４］上記適用例に記載の画像処理装置において、前記顔画像周辺領域形成部は、前記顔画像の周辺領域として前記顔画像における顔肌色領域の輪郭の周辺領域を抽出することを特徴とする。
【００１４】
本適用例によれば、顔肌色領域の輪郭の周辺領域を抽出して顔画像の周辺領域とすることにより、特に効果的である顔画像の肌色領域について引き立てることができる。
【００１５】
［適用例５］上記適用例に記載の画像処理装置において、前記顔画像周辺領域形成部は、前記色彩色を前記顔画像の周辺領域に形成するときに、スムージングを行うことを特徴とする。
【００１６】
本適用例によれば、顔画像の周辺領域についてスムージングを行うことにより、顔画像の肌色領域を自然な状態で引き立てることができる。
【００１７】
［適用例６］上記適用例に記載の画像処理装置において、前記顔画像周辺領域形成部は、前記色彩色を前記顔画像の周辺領域に形成するときに、前記周辺領域内に複数のサイズのドットを形成し、前記複数のサイズのドットの中で大きいサイズのドットを小さいサイズのドットよりも前記顔画像の近くに配置することを特徴とする。
【００１８】
本適用例によれば、顔画像の周辺領域について大きいサイズのドットを小さいサイズのドットよりも顔画像の近くに配置することにより、顔画像の肌色領域を自然な状態で引き立てることができる。
【００１９】
［適用例７］本適用例に係る画像処理方法は、入力画像内における顔画像を検出する顔画像検出工程と、前記入力画像の状態を判定する状態判定工程と、前記顔画像に対応する色域として所定の表色系において予め定められた色域に対して前記状態判定工程における判定結果に応じた変更を施す色域変更工程と、前記顔画像検出工程において検出された顔画像に含まれる画素のうち色が前記色域変更工程における変更後の色域に属する画素を抽出する画素抽出工程と、前記画素抽出工程において抽出された画素に基づいて前記顔画像を代表する代表色を算出する代表色算出工程と、を有する画像処理方法であって、前記代表色に対応する色彩色を前記顔画像の周辺領域に形成する顔画像周辺領域形成工程を備えることを特徴とする。
【００２０】
本適用例によれば、入力画像の状態に応じて、予め定められた色域を変更し、この変更後の色域に属する画素に基づいて顔画像の代表色を算出する。このため、入力画像の状態がどのようなものであっても、代表色は入力画像内の顔画像の色を正確に反映したものとなる。また、この代表色に対応する色彩色を顔画像の周辺領域に形成することにより、入力画像に引きずられて、顔画像の肌色が綺麗に見えにくくなるという場合でも、顔画像を引き立てることが可能になる。
【００２１】
［適用例８］本適用例に係る画像処理プログラムは、入力画像内における顔画像を検出する顔画像検出機能と、前記入力画像の状態を判定する状態判定機能と、前記顔画像に対応する色域として所定の表色系において予め定められた色域に対して前記状態判定機能による判定結果に応じた変更を施す色域変更機能と、前記顔画像検出機能によって検出された顔画像に含まれる画素のうち色が前記色域変更機能による変更後の色域に属する画素を抽出する画素抽出機能と、前記画素抽出機能によって抽出された画素に基づいて前記顔画像を代表する代表色を算出する代表色算出機能と、を有する画像処理プログラムであって、前記代表色に対応する色彩色を前記顔画像の周辺領域に形成する顔画像周辺領域形成機能をコンピューターに実行させることを特徴とする。
【００２２】
本適用例によれば、入力画像の状態に応じて、予め定められた色域を変更し、この変更後の色域に属する画素に基づいて顔画像の代表色を算出する。このため、入力画像の状態がどのようなものであっても、代表色は入力画像内の顔画像の色を的確に反映したものとなる。また、この代表色に対応する色彩色を顔画像の周辺領域に形成することにより、入力画像に引きずられて、顔画像の肌色が綺麗に見えにくくなるという場合でも、顔画像を引き立てることが可能になる。
【図面の簡単な説明】
【００２３】
【図１】プリンターの概略構成を示すブロック図。
【図２】プリンターが実行する肌代表色取得処理を示すフローチャート。
【図３】画像データ内において検出された顔領域を示す図。
【図４】要素色毎のヒストグラムを示す図。
【図５】画像データの領域を中央領域と周囲領域とに分けた様子を示す図。
【図６】肌色域定義情報が定義する肌色域を示す図。
【図７】肌色域を変更する様子を示す図。
【図８】肌色域を変更する様子を示す図。
【図９】肌色域を変更する様子を示す図。
【図１０】座標軸において補色を説明するための図。
【図１１】肌色域の変更後に色彩色を選定する様子を示す図。
【図１２】肌色域の変更後に色彩色を選定する様子を示す図。
【図１３】肌色域の変更後に色彩色を選定する様子を示す図。
【図１４】顔画像領域と顔画像周辺領域を示す図。
【図１５】顔画像の顎部分周辺の拡大図。
【図１６】顔画像の顎部分周辺の拡大図。
【発明を実施するための形態】
【００２４】
以下、図面を参照して本発明の実施形態を説明する。
図１は、本発明の画像処理装置の一例に該当するプリンター１０の構成を概略的に示している。プリンター１０は、記録メディア（例えば、メモリーカードＭＣ等）から取得した画像データに基づき画像を印刷する、いわゆるダイレクトプリントに対応したカラープリンター（例えば、カラーインクジェットプリンター）である。プリンター１０は、プリンター１０の各部を制御するＣＰＵ１１と、例えばＲＯＭやＲＡＭによって構成された内部メモリー１２と、ボタンやタッチパネルにより構成された操作部１４と、液晶ディスプレイにより構成された表示部１５と、プリンターエンジン１６と、カードインターフェース（カードＩ／Ｆ）１７と、ＰＣやサーバーやデジタルスチルカメラ等の各種外部機器との情報のやり取りのためのＩ／Ｆ部１３とを備えている。プリンター１０の各構成要素は、バスを介して互いに接続されている。
【００２５】
プリンターエンジン１６は、印刷データに基づき印刷を行う印刷機構である。カードＩ／Ｆ１７は、カードスロット１７２に挿入されたメモリーカードＭＣとの間でデータのやり取りを行うためのＩ／Ｆである。メモリーカードＭＣには画像データが格納されており、プリンター１０は、カードＩ／Ｆ１７を介してメモリーカードＭＣに格納された画像データを取得することができる。画像データ提供のための記録メディアとしてはメモリーカードＭＣ以外にも種々の媒体を用いることができる。むろんプリンター１０は、記録メディア以外にも、Ｉ／Ｆ部１３を介して接続した上記外部機器から画像データを入力することも可能である。プリンター１０は、コンシューマー向けの印刷装置であってもよいし、ＤＰＥ向けの業務用印刷装置（いわゆるミニラボ機）であってもよい。プリンター１０は、Ｉ／Ｆ部１３を介して接続したＰＣやサーバー等から印刷データを入力することもできる。
【００２６】
内部メモリー１２には、画像処理部２０と、表示制御部３０と、印刷制御部４０とが格納されている。画像処理部２０は、所定のオペレーティングシステムの下で、画像データに対して各種画像処理を実行するためのコンピュータプログラムである。表示制御部３０は、表示部１５を制御することにより表示部１５の画面に所定のユーザーインターフェース（ＵＩ）画像やメッセージやサムネイル画像などを表示させるディスプレイドライバーである。印刷制御部４０は、画像処理が施された後の画像データに基づいて各画素の記録材（インクやトナー）の記録量を規定した印刷データを生成し、プリンターエンジン１６を制御して、印刷データに基づく画像の印刷媒体への印刷を実行するためのコンピュータプログラムである。
【００２７】
ＣＰＵ１１は、内部メモリー１２から、これらの各プログラムを読み出して実行することにより、これら各部の機能を実現する。画像処理部２０はさらに、プログラムモジュールとして、顔画像検出部２１と、状態判定部２２と、色域変更部２３と、画素抽出部２４と、代表色算出部２５と、入力画像補正部２６と、顔画像周辺領域形成部２７とを少なくとも含んでいる。これら各部の機能については後述する。さらに、内部メモリー１２には、肌色域定義情報１２ａや顔テンプレート１２ｂ等の各種データやプログラムが格納されている。プリンター１０は、印刷機能以外にも、コピー機能やスキャナー機能（画像読取機能）など多種の機能を備えたいわゆる複合機であってもよい。
【００２８】
次に、プリンター１０において画像処理部２０に従って実行される肌代表色取得処理、入力画像補正処理および顔画像周辺領域形成処理について説明する。肌代表色とは、入力画像内に存在する顔画像を代表する色を意味し、より具体的には、当該顔画像の肌部分の色を代表する色を意味する。
【００２９】
図２は、肌代表色取得処理をフローチャートにより示している。
ステップＳ（以下、「ステップ」の表記を省略。）１００では、画像処理部２０は、処理対象となる画像を表した画像データＤをメモリーカードＭＣ等の記録メディアから取得する。つまり、ユーザーが表示部１５に表示されたＵＩ画像を参照して操作部１４を操作し、処理対象とする画像データＤを指定した場合に、当該指定された画像データＤを画像処理部２０が読み込む。画像処理部２０は、Ｉ／Ｆ部１３を介してＰＣやサーバーやデジタルスチルカメラ等から画像データＤを取得してもよい。画像データＤは、各画素の色が要素色（ＲＧＢ）毎の階調値で表されたビットマップデータである。画像データＤは、記録メディア等に記録されている段階で圧縮されていてもよいし、他の表色系で各画素の色が表現されていてもよい。これらの場合、画像データＤの展開や表色系の変換を実行し、画像処理部２０がＲＧＢビットマップデータとしての画像データＤを取得する。このように取得された画像データＤは入力画像に該当する。
【００３０】
Ｓ１１０では、顔画像検出部２１が画像データＤから顔領域を検出する。顔領域とは、少なくとも顔画像の一部を含む領域を意味する。顔画像検出部２１は、顔領域を検出可能な手法であればあらゆる手法を採用することができる。例えば、顔画像検出部２１は、複数のテンプレート（上記顔テンプレート１２ｂ）を利用したいわゆるパターンマッチングによって画像データＤから顔領域を検出する。パターンマッチングを行うにあたっては、画像データＤ上に矩形状の検出領域ＳＡを設定し、画像データＤ上での検出領域ＳＡの位置と大きさを変えながら、検出領域ＳＡ内の画像と各顔テンプレート１２ｂの画像との類似性を評価する。そして、類似性が一定の基準を満足する検出領域ＳＡを顔領域として特定（検出）する。画像データＤ全体に検出領域ＳＡを移動させることにより、画像データＤ内に存在する単数または複数の顔についての顔領域を検出できる。本実施形態では、一つの顔を含む一つの顔領域が検出されたものとして説明を続ける。なお顔画像検出部２１は、検出領域ＳＡ単位で画像の各種情報（例えば、輝度情報やエッジ量やコントラスト等。）を入力し検出領域ＳＡに顔画像が存在するか否かを示す情報を出力する、予め学習されたニューラルネットワークを用いることにより、顔領域の検出を行なっても良いし、サポートベクタマシンを利用して検出領域ＳＡ毎に顔領域であるか否かを判断してもよい。
【００３１】
図３は、Ｓ１１０において画像データＤから顔領域として検出された検出領域ＳＡの矩形を示している。以下では、Ｓ１１０において顔領域として検出された検出領域ＳＡを顔領域ＳＡと呼ぶ。
Ｓ１２０では、状態判定部２２が画像データＤの状態を判定する。画像データＤの状態とは、画像データＤの画像における色のバランスや明るさや、画像中に含まれる被写体の特徴等に基づいて決定される状態を言う。本実施形態では特にＳ１２０において、画像データＤが色かぶり画像であるか否かの判定および画像データＤがアンダー画像であるか否かの判定を所定の判定手法に従って行う。
【００３２】
状態判定部２２は、画像データＤが色かぶり画像であるか否かの判定を、例えば以下のように行う。まず状態判定部２２は、画像データＤの全範囲を対象として所定の抽出率に基づいて画素をサンプリングするとともに当該サンプリングした画素のＲＧＢ毎の度数分布（ヒストグラム）をそれぞれ生成する。そして、Ｒ，Ｇ，Ｂそれぞれのヒストグラムにおける特徴値、例えば最大値（ただし平均値やメジアンや最大分布値であってもよい。）Ｒmax，Ｇmax，Ｂmaxを求め、これら特徴値間の相対的な大小関係に基づいて、画像データＤが色かぶり画像であるか判定する。
【００３３】
図４Ａ，４Ｂ，４Ｃは、状態判定部２２が生成したＲＧＢ毎のヒストグラムを例示している。図４に示した各ヒストグラムはそれぞれ横軸を階調値（０〜２５５）、縦軸を画素数（度数）としている。例えば、状態判定部２２は、最大値Ｒmax，Ｇmax，Ｂmax間の差分｜Ｒmax−Ｇmax｜、｜Ｒmax−Ｂmax｜、｜Ｂmax−Ｇmax｜のうち、｜Ｒmax−Ｇmax｜および｜Ｒmax−Ｂmax｜が｜Ｂmax−Ｇmax｜よりもある所定値以上の差をもって大きく、且つＲmax＞Ｇmax、且つＲmax＞Ｂmaxであれば、画像データＤにかかる画像はいわゆる赤かぶりであると判定する。あるいはオレンジかぶりの状態であると判定する。
【００３４】
ここで、状態判定部２２は、顔領域ＳＡ内から画素をサンプリングし、このサンプリングした画素を対象としてＲＧＢ毎の平均値Ｒave，Ｇave，Ｂaveを算出し、これら平均値Ｒave，Ｇave，Ｂave間の大小関係に基づいて、画像データＤが色かぶり画像であるか否かを判定してもよい。つまり、顔領域ＳＡ内の画素の多くは顔画像の肌部分に対応した画素であるため、顔領域ＳＡ内の画素から算出した平均値Ｒave，Ｇave，Ｂave間のバランスを上述したような判定手法にて判断することで入力画像内の顔が色かぶり状態であるか否か判定し、その判定結果をもって入力画像の状態についての判定結果とする。
【００３５】
また、状態判定部２２は、画像データＤがアンダー画像であるか否かの判定を、例えば以下のように行う。状態判定部２２は、上記のように画像データＤの全範囲を対象として所定の抽出率に基づいて画素をサンプリングした場合に、サンプリングした画素の輝度の平均値（輝度平均値）も求める。輝度平均値も画像データＤの特徴値の一種である。そして、当該輝度平均値と所定のしきい値とを比較し、輝度平均値がしきい値以下である場合に、画像データＤが全体的に暗い画像すなわちアンダー画像であると判定する。ここで用いるしきい値とは、例えば、予め算出されてプリンター１０の内部メモリー１２等に保存されたデータである。本実施形態では、アンダー画像であると評価される複数の異なる画像を当該しきい値を算出するために予め用意し、当該しきい値を算出するためのこれら画像毎に輝度平均値を求め、これら求めた輝度平均値のうちの最大値を当該しきい値として保存している。
【００３６】
ここで、状態判定部２２は、画像データＤのエリア毎に異なる重みを与えて画像データＤの輝度平均値を算出してもよい。例えば、状態判定部２２は、画像データＤ内を中央領域と周囲領域とに分ける。中央領域と周囲領域との分け方は様々であるが、例えば状態判定部２２は、画像データＤにかかる画像の４辺に沿った枠状の領域を周囲領域とし、周囲領域以外の領域を中央領域とする。
【００３７】
図５は、状態判定部２２が画像データＤの画像領域を中央領域ＣＡと周囲領域ＰＡとに分けた様子を例示している。
状態判定部２２は、画像データＤから画素をサンプリングする際に、周囲領域ＰＡよりも中央領域ＣＡにおいて高い抽出率で画素をサンプリングし、サンプリングした画素を対象とした輝度平均値を求める。このように中央領域ＣＡに重きをおいて求めた輝度平均値と上記しきい値とを比較すれば、中央領域ＣＡの輝度の影響を強く反映させて、画像データＤがアンダー画像であるか否かを判定できる。つまり、周囲領域ＰＡが比較的明るくても顔などの主要な被写体が存在している可能性の高い中央領域ＣＡが比較的暗ければ、結果的にアンダー画像と判定されやすい。そのため、画像データＤが、画像中央部が暗いいわゆる逆光画像である場合にも、アンダー画像であると判定されやすくなる。
なお、画像データＤが色かぶり画像であるか否かの判定手法および画像データＤがアンダー画像であるか否かの判定手法は、上述した手法に限られない。
【００３８】
Ｓ１３０では、色域変更部２３が内部メモリー１２から肌色域定義情報１２ａを読み出す。肌色域定義情報１２ａは、顔画像検出部２１が検出する画像（顔画像）が対応する色（肌色）の標準的な範囲（肌色域）を所定の表色系において予め定義した情報である。本実施形態では一例として、肌色域定義情報１２ａは、国際照明委員会（ＣＩＥ）で規定されたＬ*ａ*ｂ*表色系（以下、「*」の表記は省略。）において肌色域を定義している。ただし、肌色域定義情報１２ａによる肌色域の定義には、ＨＳＶ表色系や、ＸＹＺ表色系や、ＲＧＢ表色系等、様々な表色系を採用可能である。肌色域定義情報１２ａは、ある表色系において肌色らしい色域を規定した情報であればよい。
【００３９】
図６は、Ｌａｂ表色系において肌色域定義情報１２ａが定義する肌色域Ａ１の一例を示している。肌色域定義情報１２ａは、肌色域Ａ１を明度Ｌ、彩度Ｃ、色相Ｈの各範囲Ｌｓ≦Ｌ≦Ｌｅ、Ｃｓ≦Ｃ≦Ｃｅ、Ｈｓ≦Ｈ≦Ｈｅによって定義している。図６の例では、肌色域Ａ１は６面からなる立体である。図６では、ａｂ平面上への肌色域Ａ１の投影図をハッチングを施して併せて示している。ただし、肌色域定義情報１２ａが定義する肌色域は、上記のような６面体である必要はなく、例えば、肌色域の中心点を示すＬａｂ表色系における一つの座標と、当該一つの座標を中心とした半径ｒとによって定義される球状の領域であってもよいし、それ以外の形状であってもよい。
【００４０】
Ｓ１４０では、色域変更部２３は、状態判定部２２による判定結果に応じて肌色域Ａ１に対する変更を施す。具体的には、色域変更部２３は、Ｓ１２０において状態判定部２２によって画像データＤが色かぶり画像であると判定された場合には、少なくともその色かぶりの状態に合わせて肌色域Ａ１の色相範囲に変更を加える。また、色域変更部２３は、Ｓ１２０において状態判定部２２によって画像データＤがアンダー画像であると判定された場合には、変更前と比較して低彩度側および高彩度側に拡大するように肌色域Ａ１に変更を加える。
【００４１】
図７は、状態判定部２２によって画像データＤが赤かぶり状態の画像であると判定された場合に色域変更部２３が行う色域変更の様子を例示している。図７では、Ｌａｂ表色系におけるａｂ平面上に変更前の肌色域Ａ１（鎖線）と変更後の肌色域Ａ２（実線）とを示している。色域変更部２３は、画像データＤが赤かぶり状態の画像である場合には、図７に示すように、肌色域Ａ１の色相範囲が赤方向を指すａ軸に接近するように（あるいは色相範囲がａ軸を跨ぐように）、肌色域Ａ１を、Ｌ軸（グレー軸）を中心として時計周り方向に移動させる。つまり、画像データＤは全体的に赤みがかった画像であるため顔画像の肌部分の色も赤みが強いと言え、そのため、赤みがかった肌部分の画素の色と肌色域定義情報１２ａが元々定義していた肌色域とのずれを修正するのである。上記移動後の色相範囲をＨｓ´≦Ｈ≦Ｈｅ´とすると、肌色域Ａ２は明度Ｌ、彩度Ｃ、色相Ｈの各範囲Ｌｓ≦Ｌ≦Ｌｅ、Ｃｓ≦Ｃ≦Ｃｅ、Ｈｓ´≦Ｈ≦Ｈｅ´によって定義される。なお、ａｂ平面の第４象限（ａが正且つｂが負の領域）における色相Ｈは、ａ軸（０度）からの時計回りの角度で表すものとし、負の値であるものとする。
【００４２】
ここで、色域変更部２３は、画像データＤが赤かぶり状態の画像であると判定された場合、肌色域Ａ１の色相範囲の一端（Ｈｓ）がａ軸に接近するように（あるいはａ軸を跨ぐように）、肌色域Ａ１をＬ軸周りに変形（拡大）させ、拡大後の色域を肌色域Ａ２としてもよい。拡大後の色相範囲をＨｓ´≦Ｈ≦Ｈｅとすると、肌色域Ａ２は各範囲Ｌｓ≦Ｌ≦Ｌｅ、Ｃｓ≦Ｃ≦Ｃｅ、Ｈｓ´≦Ｈ≦Ｈｅによって定義される。
あるいは、色域変更部２３は、画像データＤが色かぶり画像であると判定された場合、肌色域Ａ１の色相範囲を拡大させ且つ移動させることにより変更後の肌色域Ａ２を取得するとしてもよい。
【００４３】
図８は、状態判定部２２によって画像データＤがアンダー画像であると判定された場合に色域変更部２３が行う色域変更の様子を例示している。図８でも図７と同様に、ａｂ平面上に変更前の肌色域Ａ１（鎖線）と変更後の肌色域Ａ２（実線）とを示している。色域変更部２３は、画像データＤがアンダー画像である場合には、肌色域Ａ１の彩度範囲を低彩度側（Ｌ軸側）と高彩度側とにそれぞれ拡大させ、拡大後の色域を肌色域Ａ２とする。画素毎の彩度（ここでは彩度Ｓと表す）は、画素毎のＲＧＢを用いて以下の式によっても表すことができる。
彩度Ｓ＝｛（ｍａｘ−ｍｉｎ）／ｍａｘ｝・１００ …（１）   
ただし、ｍａｘ＝ｍａｘ（Ｒ，Ｇ，Ｂ）、ｍｉｎ＝ｍｉｎ（Ｒ，Ｇ，Ｂ）とする。   
アンダー画像においては、上記ｍａｘが低い傾向にあるため彩度Ｓの決定には上記ｍａｘ−ｍｉｎが強く影響を及ぼし、上記ｍａｘ−ｍｉｎの値によって彩度Ｓは高くも低くもなり得る（彩度が不安定）。つまり、画像データＤがアンダー画像である場合には、顔画像の肌部分の画素の彩度も不安定であると推測されるため、本実施形態では肌色域定義情報１２ａが元々定義していた肌色域を低彩度側と高彩度側とに拡大し、上記不安定さをカバーできるようにしている。上記拡大後の彩度範囲をＣｓ´≦Ｃ≦Ｃｅ´とすると、肌色域Ａ２は明度Ｌ、彩度Ｃ、色相Ｈの各範囲Ｌｓ≦Ｌ≦Ｌｅ、Ｃｓ´≦Ｃ≦Ｃｅ´、Ｈｓ≦Ｈ≦Ｈｅによって定義される。
【００４４】
ここで、色域変更部２３は、画像データＤがアンダー画像であると判定された場合に少なくとも変更前と比較して低彩度側の色域が含まれるように肌色域Ａ１に変更を加えるという視点に立てば、図９に示すように肌色域Ａ１全体を低彩度側に移動させてもよい（移動後の肌色域を肌色域Ａ２とする。）し、あるいは肌色域Ａ１を低彩度側だけに拡大したりしてもよい。色域変更部２３は、肌色域Ａ１を低彩度側だけに拡大する場合は、肌色域Ａ１の彩度範囲の下限（Ｃｓ）がＬ軸に接近するように肌色域Ａ１をＬ軸側に変形（拡大）させ、拡大後の色域を肌色域Ａ２としてもよい。拡大後の彩度範囲をＣｓ´≦Ｃ≦Ｃｅとすると、肌色域Ａ２は各範囲Ｌｓ≦Ｌ≦Ｌｅ、Ｃｓ´≦Ｃ≦Ｃｅ、Ｈｓ≦Ｈ≦Ｈｅによって定義される。
あるいは、色域変更部２３は、画像データＤがアンダー画像であると判定された場合、肌色域Ａ１の彩度範囲を拡大させ且つ移動させることにより変更後の肌色域Ａ２を取得するとしてもよい。
【００４５】
色域変更部２３は、画像データＤが色かぶり画像であり且つアンダー画像であると判定された場合には、肌色域Ａ１の色相範囲および彩度範囲について上述したようにそれぞれ変更を施す。また色域変更部２３は、Ｓ１２０における画像データＤについての状態の判定結果に応じ、肌色域Ａ１の明度範囲についても変更を施してもよい。なお、Ｓ１２０において画像データＤが色かぶり画像であると判定されず、且つアンダー画像であると判定されなかった場合には、色域変更部２３はＳ１４０において色域変更は実行しない。
本実施形態ではＳ１４０において色域変更が実行されたものとして説明を続ける。
【００４６】
Ｓ１５０では、画素抽出部２４が画像データＤ内の画素であって顔領域ＳＡ内に属する画素を一つ選択し、Ｓ１６０に進む。
Ｓ１６０では、画素抽出部２４は、直近のＳ１５０で選択した画素の色が上記色域変更後の肌色域Ａ２に属するか否かを判定する。このとき、画素抽出部２４は、上記選択した画素のＲＧＢデータを、肌色域Ａ２が採用する表色系（Ｌａｂ表色系）のデータ（Ｌａｂデータ）に変換し、変換後のＬａｂデータが肌色域Ａ２に属するか否かを判定する。そして、画素抽出部２４は、上記Ｌａｂデータが肌色域Ａ２に属すると判定した場合にはＳ１７０に進み、一方、属さないと判定した場合にはＳ１７０をスキップしてＳ１８０に進む。ここで、ＲＧＢデータからＬａｂデータへの変換は、ＲＧＢ表色系からＬａｂ表色系への変換を行う所定の色変換プロファイルなどを用いることで可能である。内部メモリー１２には、かかる色変換プロファイルも保存されているとしてもよい。
【００４７】
Ｓ１７０では、画素抽出部２４は、直近のＳ１５０において選択した画素を肌画素として認定する。この結果、顔画像検出部２１によって検出された領域に含まれる画素のうち色が、変更後の肌色域Ａ２に属する画素が抽出されたことになる。このように抽出された肌画素は、基本的には、画像データＤ内に表された顔画像の肌部分に対応する画素であると言える。これら肌画素は、その色は必ずしも上記肌色域定義情報１２ａが元々定義していた色域に含まれるとは限られないが、理想的な肌色で表現されるべき画素である。
【００４８】
Ｓ１８０では、画素抽出部２４は、顔領域ＳＡ内に属する画素の全てをＳ１５０において一度ずつ選択し終えたか否か判定し、全ての画素を選択済みであればＳ１９０に進む。一方、顔領域ＳＡ内に属する画素であってＳ１５０において未選択の画素が存在している場合には、Ｓ１５０に戻り、未選択の画素を一つ選択しＳ１６０以降の処理を繰り返す。
なお本実施形態は、画像データＤから一つの顔領域ＳＡが検出された場合について説明している。しかし、画像データＤから複数の顔領域ＳＡが検出された場合には、Ｓ１５０〜Ｓ１８０では、画素抽出部２４は、複数の顔領域ＳＡ内の各画素について一つずつ肌色域Ａ２に属するか否か判定し、属する画素については肌画素として認定する。
【００４９】
Ｓ１９０では、代表色算出部２５は、Ｓ１７０において認定（抽出）された複数の肌画素に基づいて肌代表色を算出する。肌代表色の算出方法は様々であるが本実施形態では、代表色算出部２５は、肌画素のＲＧＢ毎の平均値Ｒave，Ｇave，Ｂaveを算出し、当該算出した肌画素のＲＧＢ毎の平均値Ｒave，Ｇave，Ｂaveからなる色（ＲＧＢデータ）を肌代表色とする。代表色算出部２５は、肌代表色のＲＧＢデータを内部メモリー１２等の所定の記憶領域に保存する。
【００５０】
Ｓ２００では、入力画像補正部２６は、肌代表色のＲＧＢデータと予め定められている理想的な肌色を示すＲＧＢデータとのＲＧＢ毎の差異に応じて、ＲＧＢ毎の補正関数（例えばトーンカーブ）を生成し、かかる補正関数を用いて画像データＤの画素のＲＧＢを補正する。
【００５１】
Ｓ２１０では、顔画像周辺領域形成部２７は、顔画像の肌色を引き立てる色彩色の選定を行う。色彩色の選定方法は様々であるが本実施形態では、Ｓ１９０において算出した肌代表色を上記したＲＧＢ毎の補正関数で補正することにより補正後肌代表色を求め、この補正後肌代表色と補色の関係にある色を色彩色とする。一般に、補色は色相環において反対側に位置する色同士の組み合わせとされているが、本実施形態では図１０に示すａｂ平面上の座標Ｃ1およびＣ2のように、Ｌ軸を基準として対称位置に存在する色同士の組み合わせを補色とする。例えば、Ｃ1が補正後肌代表色であるとすると、Ｃ2が、補正後肌代表色と補色の関係にある色彩色となる。なお、Ｌ値はＣ1とＣ2とで同一であるとする。
【００５２】
図１１，図１２，図１３は、それぞれが図７，図８，図９の肌色域の変更後に色彩色を選定する様子を例示している。図１１，図１２，図１３のそれぞれにおいて、画像データＤから抽出した肌代表色をＣｓとする。画像データＤから変更後の肌色域Ａ２に属する画素のみを抽出し、ＲＧＢ毎の平均値Ｒave，Ｇave，Ｂaveにより肌代表色Ｃｓを算出しているため、肌代表色Ｃｓもまた肌色域Ａ２に属することになる。この肌代表色Ｃｓに対して上記したＲＧＢ毎の補正関数を用いて色変換を行い、補正後肌代表色Ｃｓ´を求める。そして、補正後肌代表色Ｃｓ´に対して色空間変換を行い、ＲＧＢデータをＬａｂデータに変換する。変換後の補正後肌代表色Ｃｓ´のａ，ｂの値をそれぞれａ0，ｂ0とすると、色彩色Ｃｐは補正後肌代表値Ｃｓ´の補色であるので、色彩色Ｃｐのａ，ｂ値はそれぞれ−ａ0，−ｂ0となる。そして、色彩色Ｃｐに対して色空間変換を行い、ＬａｂデータをＲＧＢデータに変換する。
【００５３】
なお、本実施形態では、上記補正後肌代表値と補色の関係にある色を色彩色としたが、色彩色は、上述したように補色の関係にある色に限られず、例えば、上記補正後肌代表値の明度を変更した色であってもよいし、予め定められている関数によって上記補正後肌代表値のカラーバランスを変更した色であってもよい。
【００５４】
Ｓ２２０では、顔画像周辺領域形成部２７は、顔画像周辺領域に、Ｓ２１０において選定した色彩色を配置する。本実施形態では、顔画像周辺領域を以下のように定義する。図１４は、顔画像領域と顔画像周辺領域を示している。図１４において、顔画像領域１０６は頭髪領域１０１および顔肌色領域１０２で構成されている。また、顔輪郭１０４は顔画像領域１０６の外郭線である。顔輪郭１０４のうち、顔肌色領域１０２を構成する部分、すなわち顔肌色領域１０２が背景領域１００と、首領域１０３や服領域１０７と、に隣接する部分を抽出する。この抽出した部分の外側近傍領域を顔画像周辺領域１０５とする。
なお、顔画像周辺領域１０５は、顔画像領域１０６を構成する頭髪領域１０１と顔肌色領域１０２との境界部分を含まない。本実施形態では顔画像周辺領域１０５を、顔輪郭１０４のうち顔肌色領域１０２を構成する部分の外側近傍領域としているが、内側近傍領域でも構わないし、前記２つの両方を含んでもよい。また、図１５は顔画像の顎部分周辺の拡大図である。同図において顔画像周辺領域１０５の幅ｄｆは画像データＤに応じて変更するとしてもよいし、幅ｄｆは顔画像周辺領域１０５の全体を通して一定でなくてもよい。
【００５５】
顔画像周辺領域形成部２７は、顔画像周辺領域１０５全体をＳ２１０において選定した色彩色で塗りつぶす。さらに、顔画像周辺領域１０５およびその近傍領域にスムージングを実行する。これにより、顔肌色領域１０２とその隣接領域（例えば、背景領域１００、首領域１０３、服領域１０７等）との境界部分を自然な状態に保ちつつ、顔画像領域１０６の肌色部分を引き立たせて表示することができる。
【００５６】
また、顔画像周辺領域形成部２７は、顔画像周辺領域１０５に、以下の方法により色彩色を配置してもよい。図１６は顔画像の顎部分周辺の拡大図であり、顔画像周辺領域１０５の内部に異なるサイズのドットを配置する方法を示している。図１６では一例として、ドットＡ（直径ｄａ）を顔輪郭１０４に近い位置に配置し、ドットＡよりサイズの小さいドットＢ（直径ｄｂ）を顔輪郭１０４から離れた位置に配置している。なお、ドットのサイズおよび種類は任意で構わないし、ドットの配置も上述した方法に限られない。このようにして配置したドット部分を上記した色彩色で塗りつぶす。この方法であれば、顔画像周辺領域１０５およびその近傍領域にスムージングを実行することなしに、顔肌色領域１０２とその隣接領域（例えば、背景領域１００、首領域１０３、服領域１０７等）との境界部分を自然な状態に保つことが可能となる。
【００５７】
本実施形態によれば、プリンター１０は、入力画像が色かぶり画像であるか否か、アンダー画像であるか否か等を判定する。この判定結果に基づいて顔画像の肌代表色を算出し、当該肌代表色に基づいて入力画像全体を補正する。そして、肌代表色を補正して補正後肌代表色を求め、当該補正後肌代表色と例えば補色の関係にある色を、顔画像の肌色を引き立てる色彩色として選定する。そして、選定した色彩色を顔画像周辺領域１０５に配置する。
これにより、入力画像が色かぶり画像やアンダー画像等であって、補正後の画像がこれらの画像に引きずられるような場合でも、顔画像周辺領域１０５に色彩色を配置して顔画像の肌色を引き立てることで、顔画像の肌色が綺麗に見えないという課題を解消することができる。
【符号の説明】
【００５８】
１０…プリンター、１１…ＣＰＵ、１２…内部メモリー、１２ａ…肌色域定義情報、１２ｂ…顔テンプレート、１３…Ｉ／Ｆ部、１４…操作部、１５…表示部、１６…プリンターエンジン、１７…カードＩ／Ｆ、２０…画像処理部、２１…顔画像検出部、２２…状態判定部、２３…色域変更部、２４…画素抽出部、２５…代表色算出部、２６…入力画像補正部、２７…顔画像周辺領域形成部、３０…表示制御部、４０…印刷制御部、１００…背景領域、１０１…頭髪領域、１０２…顔肌色領域、１０３…首領域、１０４…顔輪郭、１０５…顔画像周辺領域、１０６…顔画像領域、１０７…服領域。
【図１】
2013045205.tif 000003
【図２】
2013045205.tif 000004
【図３】
2013045205.tif 000005
【図４】
2013045205.tif 000006
【図５】
2013045205.tif 000007
【図６】
2013045205.tif 000008
【図７】
2013045205.tif 000009
【図８】
2013045205.tif 000010
【図９】
2013045205.tif 000011
【図１０】
2013045205.tif 000012
【図１１】
2013045205.tif 000013
【図１２】
2013045205.tif 000014
【図１３】
2013045205.tif 000015
【図１４】
2013045205.tif 000016
【図１５】
2013045205.tif 000017
【図１６】
2013045205.tif 000018