(57)【要約】【課題】赤目画素を補正対象として正確に特定することにより、真に必要な補正だけが行なわれるようにする。【解決手段】取得した画像データが表す画像内から赤目領域を含む補正候補領域を検出する領域検出部と、上記検出された補正候補領域に含まれる画素毎に所定の特徴値を算出するとともに、当該特徴値に応じて上記補正候補領域に含まれる画素のうち赤目補正の対象とする画素を特定する画素特定部と、上記特定された画素を対象として上記赤目補正を実行する赤目補正部とを備える構成とした。【選択図】図２
2010246053.tif 000002
【特許請求の範囲】
【請求項１】
取得した画像データが表す画像内から赤目領域を含む補正候補領域を検出する領域検出部と、
上記検出された補正候補領域に含まれる画素毎に所定の特徴値を算出するとともに、当該特徴値に応じて上記補正候補領域に含まれる画素のうち赤目補正の対象とする画素を特定する画素特定部と、
上記特定された画素を対象として上記赤目補正を実行する赤目補正部とを備えることを特徴とする画像処理装置。
【請求項２】
上記画素特定部は、画素を表すＲＧＢ値のうちのＲ値の反転値に基づいて特徴値を算出し、特徴値と所定値のしきい値との比較結果に応じて画素の特定を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
上記画素特定部は、上記反転値に画素のグレー値を加えた値を特徴値とすることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
上記画素特定部は、上記ＲＧＢ値の各々に上記反転値を加えるとともに、反転値を加算後のＲＧＢに基づいて算出した輝度値を特徴値とすることを特徴とする請求項２に記載の画像処理装置。
【請求項５】
上記画素特定部および赤目補正部は、ラスター単位で画像データを読み込むことにより、上記画素の特定および特定した画素への赤目補正の実行をラスター単位の画像データ毎に繰り返すことを特徴とする請求項１〜請求４のいずれかに記載の画像処理装置。
【請求項６】
取得した画像データが表す画像内から赤目領域を含む補正候補領域を検出する領域検出工程と、
上記検出された補正候補領域に含まれる画素毎に所定の特徴値を算出するとともに、当該特徴値に応じて上記補正候補領域に含まれる画素のうち赤目補正の対象とする画素を特定する画素特定工程と、
上記特定された画素を対象として上記赤目補正を実行する赤目補正工程とを備えることを特徴とする画像処理方法。
【請求項７】
取得した画像データが表す画像内から赤目領域を含む補正候補領域を検出する領域検出機能と、
上記検出された補正候補領域に含まれる画素毎に所定の特徴値を算出するとともに、当該特徴値に応じて上記補正候補領域に含まれる画素のうち赤目補正の対象とする画素を特定する画素特定機能と、
上記特定された画素を対象として上記赤目補正を実行する赤目補正機能とをコンピューターに実行させることを特徴とする画像処理プログラム。
【請求項８】
取得した画像データが表す画像内から赤目領域を含む補正候補領域を検出する領域検出部と、
上記検出された補正候補領域に含まれる画素毎に所定の特徴値を算出するとともに、当該特徴値に応じて上記補正候補領域に含まれる画素のうち赤目補正の対象とする画素を特定する画素特定部と、
上記特定された画素を対象として上記赤目補正を実行する赤目補正部と、
上記赤目補正がなされた後の画像データに基づいて印刷を実行する印刷部とを備えることを特徴とする印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、画像処理プログラムおよび印刷装置に関する。
【背景技術】
【０００２】
人物をフラッシュ撮影した画像において人物の目がいわゆる「赤目」になっている場合、赤目の状態を緩和するための補正を画像に施す。これまでは、画像内におけるいずれの画素が赤目に該当する画素（赤目画素）であるか否かを、画素毎の色情報と予め定めたしきい値との比較によって判定し、当該比較で赤目画素と判定した画素に対して上記補正を行なっていた。
【０００３】
また、被写体の頭の一部を含み一以上の瞳の色調不良が存在する可能性のある領域を定め、この領域内の画素をサンプリングし、サンプル化画素の各々を瞳の色調不良を表す複数のしきい値と比較し、瞳の色調不良の可能性のある画素を認定する方法が知られている（特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３１８１４７２号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
赤目画素は、その色情報（あるいは色情報の一部）が赤目画素ではない他の画素（例えば、肌色画素）とかなり似ていることも多い。そのため、上述したような色情報としきい値との単純な比較判定では、実際には赤目画素ではない画素も、赤目画素と色が近いために赤目画素と判定してしまうことも多く、結果、上記赤目の状態を緩和するための補正が不要である画素に対しても当該補正を施してしまうことがあった。
【０００６】
本発明は上記課題に鑑みてなされたもので、赤目に該当する画素を補正対象として正確に特定することにより真に必要な補正だけが行なわれるようにし、優れた画質の画像を得ることが可能な画像処理装置、画像処理方法、画像処理プログラムおよび印刷装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の画像処理装置は、取得した画像データが表す画像内から赤目領域を含む補正候補領域を検出する領域検出部と、上記検出された補正候補領域に含まれる画素毎に所定の特徴値を算出するとともに、当該特徴値に応じて上記補正候補領域に含まれる画素のうち赤目補正の対象とする画素を特定する画素特定部と、上記特定された画素を対象として上記赤目補正を実行する赤目補正部とを備える。
本発明によれば、補正候補領域に含まれる画素の中から上記特徴値に応じて赤目補正の対象画素を特定し、特定した画素に赤目補正を施すため、赤目補正を本来施すべき画素（赤目画素）にのみ赤目補正が結果的に施され、無駄な補正が無くなる。
【０００８】
上記画素特定部は、画素を表すＲＧＢ値のうちのＲ値の反転値に基づいて特徴値を算出し、特徴値と所定値のしきい値との比較結果に応じて画素の特定を行うとしてもよい。当該構成によれば、赤目画素としての特徴が表れるＲ値の反転値に基づいて特徴値を算出するため、特徴値に応じて赤目画素を正確に特定することができる。
より具体的には、上記画素特定部は、上記反転値に画素のグレー値を加えた値を特徴値とする。あるいは上記画素特定部は、上記ＲＧＢ値の各々に上記反転値を加えるとともに、反転値を加算後のＲＧＢに基づいて算出した輝度値を特徴値とする。このような特徴値は、赤目画素と赤目画素以外の画素とで大きく異なるため、かかる特徴値としきい値とを比較することで、赤目画素を正確に特定することができる。
【０００９】
上記画素特定部および赤目補正部は、ラスター単位で画像データを読み込むことにより、上記画素の特定および特定した画素への赤目補正の実行をラスター単位の画像データ毎に繰り返すとしてもよい。当該構成によれば、上記画素の特定および赤目補正の際に画像データ保持のために用いるメモリー領域が小さい環境（例えば、プリンターのファームウェア）においても上記画素の特定および赤目補正を的確に行なうことができる。
【００１０】
本発明の技術的思想は、画像処理装置以外によっても実現可能である。例えば、画像処理装置の各部が実行する処理工程を備える方法の発明や、画像処理装置の各部が実行する処理を装置（印刷装置や、コンピューターや、撮像装置等）に実行させる画像処理プログラムの発明をも把握可能である。さらに、取得した画像データが表す画像内から赤目領域を含む補正候補領域を検出する領域検出部と、上記検出された補正候補領域に含まれる画素毎に所定の特徴値を算出するとともに、当該特徴値に応じて上記補正候補領域に含まれる画素のうち赤目補正の対象とする画素を特定する画素特定部と、上記特定された画素を対象として上記赤目補正を実行する赤目補正部と、上記赤目補正がなされた後の画像データに基づいて印刷を実行する印刷部とを備える印刷装置を一つの発明として捉えることも可能である。
【図面の簡単な説明】
【００１１】
【図１】プリンターの構成等を概略的に示したブロック図である。
【図２】プリンターが実行する画像補正処理を示したフローチャートである。
【図３】赤目領域を含む補正候補領域の検出結果の一例を示した図である。
【図４】前処理の詳細の一例を示したフローチャートである。
【図５】前処理の詳細の他の例を示したフローチャートである。
【図６】赤目領域を通過する水平線上の画素のＲ値および肌領域を通過する水平線上の画素のＲ値を示した図である。
【図７】赤目領域を通過する水平線上の画素の特徴値および肌領域を通過する水平線上の画素の特徴値を示した図である。
【図８】赤目領域を通過する水平線上の画素の輝度値および肌領域を通過する水平線上の画素の輝度値を示した図である。
【図９】赤目領域を通過する水平線上の画素の特徴値および肌領域を通過する水平線上の画素の特徴値を示した図である。
【図１０】赤目補正の詳細を示したフローチャートである。
【図１１】ＲＧＢ毎のヒストグラムの一例を示した図である。
【図１２】補正係数決定テーブルの一例を示した図である。
【図１３】距離係数決定テーブルの一例を示した図である。
【発明を実施するための形態】
【００１２】
１．画像処理装置の概略構成
図１は、本発明の画像処理装置および印刷装置の一例に該当するプリンター１０の構成等を概略的に示している。プリンター１０は、ＣＰＵ１１と、ＲＯＭやＲＡＭからなる内部メモリー１２と、汎用インターフェース（ＧＩＦ）１３と、ボタンやタッチパネルにより構成された操作部１４と、液晶ディスプレーにより構成された表示部１５と、プリントエンジン１６とを備える。これら各要素１１〜１６は、バス１７によって通信を実現している。ＣＰＵ１１は、ＲＯＭに記憶された所定のプログラム（画像処理プログラム等）をＲＡＭに展開してプログラムに従った演算処理を行なう。
【００１３】
ＧＩＦ１３は、例えばＵＳＢ規格に準じたインターフェースを提供するものであり、デジタルスチルカメラ（ＤＳＣ）２０やコンピューター３０と接続可能である。プリンター１０は、ＧＩＦ１３を介して接続したＤＳＣ２０やコンピューター３０から、印刷対象となる画像を表した画像データを入力することができる。さらにＧＩＦ１３は、図示しないカードスロットと接続したカードインターフェースの機能も備えており、カードスロットに挿入された所定の記憶メディア（メモリーカード）４０から当該メモリーカード４０に記憶されている画像データを入力することができる。
【００１４】
プリントエンジン１６は、印刷データに基づき印刷を行う印刷機構であり、例えば、インクジェット方式の印刷機構を採用する。むろん、プリンター１０はインクジェット方式の機種に限られず、レーザープリンターやＬＥＤプリンター等であってもよい。またプリンター１０は、コンシューマ向けの印刷装置であってもよいし、ＤＰＥ向けの業務用印刷装置（いわゆるミニラボ機）であってもよいし、或いは、印刷機能以外にもコピー機能やスキャナ機能など多種の機能を備えたいわゆる複合機であってもよい。
【００１５】
図１では、内部メモリー１２内にプログラムによって実現される機能ブロックとしての、画像補正部１２１、表示処理部１２２、印刷処理部１２３等を示している。画像補正部１２１は、プログラムモジュールとして、領域検出部１２１ａと、画素特定部１２１ｂと、赤目補正部１２１ｃとを有している。これら各部の機能については後述する。表示処理部１２２は、表示部１５を制御して、表示部１５の画面にユーザーインターフェース（ＵＩ）やメッセージやサムネイル画像など所定の表示を行なわせるディスプレードライバーである。印刷処理部１２３は、印刷対象の画像データ（例えば、画像補正部１２１による画像補正が行われた後の画像データ）に対して色変換処理やハーフトーン処理などの所定処理を適宜施すことにより印刷データを生成し、プリントエンジン１６を駆動制御して印刷データに基づいて画像の印刷を実行させるためのプリンタードライバーである。
【００１６】
２．画像補正処理
図２は、プリンター１０が実行する画像補正処理をフローチャートにより示している。当該処理は、主に画像補正部１２１の機能によって実現される。
ステップＳ（以下、ステップの表記は省略。）１００では、画像補正部１２１は、処理対象となる一枚の画像を表した画像データを、上記ＤＳＣ２０やコンピューター３０やメモリーカード４０等から取得し、内部メモリー１２に読み込む。画像データは、複数の画素によって画像を表現しており、各画素は、例えばＲＧＢ（レッド、グリーン、ブルー）各チャネルの階調（例えば０〜２５５の２５６階調）の組み合わせで表現されている。画像データは、メモリーカード４０等に記録されている段階で圧縮されていてもよいし、他の表色系で各画素の色が表現されていてもよい。これらの場合、画像補正部１２１は、画像データの展開や表色系の変換を実行して、所要の表色系による画像データを取得する。本実施形態では、Ｓ１００で取得する画像データは、少なくとも人物の顔（特に目）を含む写真画像であり、かつフラッシュ撮影をしたことによって人物の目が「赤目」の状態となっている写真画像であるとする。
【００１７】
Ｓ１１０では、領域検出部１２１ａは、Ｓ１００で取得された画像データが表す画像内から赤目領域Ａ１を含む補正候補領域Ａ２を検出する。この場合、まず領域検出部１２１ａは画像内から赤目領域Ａ１の検出を行なう。赤目領域とは、赤目の特徴的な色のパターンと合致する概ね円形の画像領域である。領域検出部１２１ａは、赤目領域の検出を公知の手法（例えば、特開２００７‐１５６６９４号公報に記載された手法）により行なう。赤目領域Ａ１の検出後、領域検出部１２１ａは、赤目領域Ａ１を含む補正候補領域Ａ２を画像データ上において設定する。例えば、領域検出部１２１ａは、１つの赤目領域Ａ１の全体を含む矩形を画像データ上に設定し、当該矩形を補正候補領域Ａ２とする。
【００１８】
図３は、Ｓ１１０における検出結果の一例を示す図である。図３の例では、画像データＤ内に人物Ｐ１が含まれており、人物Ｐ１の左右の目の一部がそれぞれ赤目領域Ａ１，Ａ１として検出されている。また、赤目領域Ａ１，Ａ１毎に補正候補領域Ａ２，Ａ２が設定されている。例えば、赤目領域Ａ１に対する補正候補領域Ａ２の大きさの比率は予め決められており、補正候補領域Ａ２はその重心に赤目領域Ａ１の重心が略一致するように設定される。領域検出部１２１ａは、補正候補領域Ａ２の検出結果として、画像データ上における補正候補領域Ａ２毎の位置情報（例えば、矩形の左上の頂点の座標）およびサイズ情報（縦幅および横幅）を取得し保存する。なお、補正候補領域Ａ２の形状は矩形に限られず、円形などであってもよい。
【００１９】
Ｓ１２０では、画像補正部１２１は、Ｓ１００で取得した画像データを構成する各ラスターのうち一本のラスターを処理対象ラスターとして選択し、内部メモリー１２における所定のバッファに記憶する。ラスターとは、画像データにおける水平方向（ｘ方向）の画素行である。
Ｓ１３０では、画像補正部１２１は、直近のＳ１２０で選択した処理対象ラスターを構成する画素のうち一つの画素を注目画素として設定する。
【００２０】
Ｓ１４０では、画素特定部１２１ｂは、直近のＳ１３０で設定された注目画素がＳ１１０で検出された補正候補領域Ａ２に属するか否かを判定し、注目画素がいずれかの補正候補領域Ａ２に属すると判定した場合にはＳ１５０に進み、注目画素がいずれの補正候補領域Ａ２にも属さないと判定した場合にはＳ１８０に進む。注目画素が補正候補領域Ａ２に属するか否かは、画像データ上における注目画素の座標と、Ｓ１１０で補正候補領域Ａ２毎に保存された位置情報およびサイズ情報とに基づいて判定する。
【００２１】
なお、Ｓ１２０では処理対象ラスターを一つ選択しているが、ラスターによってはそのラスターを構成する画素のいずれもが補正候補領域Ａ２に属さないものもある。このようなラスターについては画素毎にＳ１４０の判定を繰り返し行なうのは無駄である。そのため、画素特定部１２１ｂは、Ｓ１２０で選択された処理対象ラスターにおける最初の注目画素についてＳ１４０の判定を行う場合には、画像データにおける垂直方向（ｙ方向）での注目画素の座標と、ｙ方向における補正候補領域Ａ２の存在範囲とを比較し、注目画素がこのような存在範囲に属さない場合には、共通のラスターに属する他の画素も補正候補領域Ａ２に属さないと判定してＳ１９０に進む（図２における鎖線）としてもよい。
【００２２】
Ｓ１５０では、画素特定部１２１ｂは、直近のＳ１３０で設定された注目画素について所定の前処理を行なう。前処理とは、注目画素が赤目に該当する画素（赤目画素）であるか否かの判定（Ｓ１６０）を行うに先立って、その判定結果の正確性をより高めるために行なう処理である。画素特定部１２１ｂは、前処理として、注目画素を表すＲＧＢ値のうちのＲ値の反転値に基づいて特徴値を算出する。
【００２３】
図４は、前処理の詳細の一例をフローチャートにより示している。
Ｓ１５１では、画素特定部１２１ｂは、注目画素のＲ値の反転値Ｒｒｅを求める。反転値Ｒｒｅ＝２５５−Ｒである。Ｓ１５２では、画素特定部１２１ｂは、反転値Ｒｒｅに注目画素のグレー値Ｊを加算することにより演算値Ｒｃを得る。グレー値とは、単純には、注目画素のＲＧＢに基づいて算出した輝度値であってもよいし、注目画素について所定のフォトレタッチ用のアプリケーションによって算出したグレー値であってもよい。輝度値は、ＲＧＢ各成分の公知の重み付け加算により算出可能である。Ｓ１５３では、画素特定部１２１ｂは、このように得た演算値Ｒｃ（＝Ｒｒｅ＋Ｊ）を注目画素の特徴値として保存する。
【００２４】
図５は、図４とは異なる前処理の詳細の一例をフローチャートにより示している。
Ｓ１５５では、画素特定部１２１ｂは、注目画素のＲ値の反転値Ｒｒｅを求める。Ｓ１５６では、画素特定部１２１ｂは、注目画素のＲＧＢそれぞれに反転値Ｒｒｅを加算する。つまり、演算値（Ｒ＋Ｒｒｅ，Ｇ＋Ｒｒｅ，Ｂ＋Ｒｒｅ）を得る。Ｓ１５７では、画素特定部１２１ｂは、これら演算値としての３成分（Ｒ＋Ｒｒｅ，Ｇ＋Ｒｒｅ，Ｂ＋Ｒｒｅ）をＲＧＢの各成分とみなして上記重み付け加算により輝度値としてのＹｃを算出し、この輝度値Ｙｃを注目画素の特徴値として保存する。
【００２５】
Ｓ１６０では、画素特定部１２１ｂは、直近のＳ１５０で算出した特徴値に応じて注目画素が赤目画素であるか否かを判定する。すなわち、画素特定部１２１ｂは、後述の赤目補正（Ｓ１７０）の対象となる画素を特定する。具体的には、画素特定部１２１ｂは、Ｓ１５０で特徴値として演算値Ｒｃを算出した場合には、演算値Ｒｃと、演算値Ｒｃとの比較のために予め内部メモリー１２等に保存してあるしきい値ＴＨ１とを比較し、演算値Ｒｃがしきい値ＴＨ１以下である場合に、注目画素が赤目画素であると判定し（Ｙｅｓ）、Ｓ１７０に進む。また、画素特定部１２１ｂは、Ｓ１５０で特徴値として輝度値Ｙｃを算出した場合には、輝度値Ｙｃと、輝度値Ｙｃとの比較のために予め内部メモリー１２等に保存してあるしきい値ＴＨ２とを比較し、輝度値Ｙｃがしきい値ＴＨ２以下である場合に、注目画素が赤目画素であると判定し（Ｙｅｓ）、Ｓ１７０に進む。一方、画素特定部１２１ｂは、特徴値が比較対象のしきい値を上回る場合には“Ｎｏ”の判定をし、Ｓ１７０をスキップしてＳ１８０の判定に進む。
【００２６】
図６，７は、ある画像データにおける補正候補領域Ａ２内の各画素についてのＲ値と特徴値（演算値Ｒｃ）とを例示している。図６では、補正候補領域Ａ２内の赤目領域Ａ１を通過する水平線Ｈ１上の各画素についてのＲ値（実線）および、補正候補領域Ａ２内の目よりも下の肌領域を通過する水平線Ｈ２上の各画素についてのＲ値（一点鎖線）をグラフに示している。一方、図７では、同じ水平線Ｈ１上の各画素についての演算値Ｒｃ（実線）および水平線Ｈ２上の各画素についての演算値Ｒｃ（一点鎖線）をグラフに示している。図６，７の各グラフでは、横軸が補正候補領域Ａ２における水平方向の画素位置を示し、縦軸が階調値を示している。また、図６，７では、眼球の瞳孔における赤目（ハイライト部分を除いた範囲）に対応する範囲を鎖線の矩形で囲って示している。
【００２７】
図６から判るように、水平線Ｈ１における画素のうち赤目に対応する画素のＲ値はある程度高めであるが、水平線Ｈ２における肌に対応する画素等のＲ値も同じ様に高めである。従って、補正候補領域Ａ２の各画素についてそれらのＲ値を単純なしきい値で分離しても、赤目画素と赤目画素以外の画素とを正確に分けられない。一方、図７から判るように、赤目に対応する画素の演算値Ｒｃは、他の黒目や白目や肌領域に対応する画素の演算値Ｒｃと比較しても、かなり下側に突出している。従って、図７において二点鎖線で示したような階調レベルに上記しきい値ＴＨ１を設定しておけば、上記Ｓ１６０において、注目画素が赤目画素であるか否かを正確に判定することができる。
【００２８】
図８，９は、ある画像データにおける補正候補領域Ａ２内の各画素についての輝度値Ｙと特徴値（輝度値Ｙｃ）とを例示している。図８では、補正候補領域Ａ２内の赤目領域Ａ１を通過する水平線Ｈ１上の各画素についての輝度値Ｙ（実線）および、補正候補領域Ａ２内の目よりも下の肌領域を通過する水平線Ｈ２上の各画素についての輝度値Ｙ（一点鎖線）をグラフに示している。一方、図９では、同じ水平線Ｈ１上の各画素についての輝度値Ｙｃ（実線）および水平線Ｈ２上の各画素についての輝度値Ｙｃ（一点鎖線）をグラフに示している。図８，９の各グラフも図６，７と同様に、横軸が補正候補領域Ａ２における水平方向の画素位置を示し、縦軸が階調値を示し、眼球の瞳孔における赤目（ハイライト部分を除いた範囲）に対応する範囲を鎖線の矩形で囲って示している。
【００２９】
図８から判るように、水平線Ｈ１における画素のうち赤目の範囲に限らず黒目の範囲に対応する画素等でも輝度値Ｙは低い値を取る。そのため、補正候補領域Ａ２の各画素についてそれらの輝度値Ｙを単純なしきい値（例えば、図８に示したしきい値ＴＨ３）で分離しても、赤目画素と赤目画素以外の画素とを正確に分けられない。一方、図９から判るように、赤目に対応する画素の輝度値Ｙｃは、他の黒目や白目や肌領域に対応する画素の輝度値Ｙｃと比較しても、かなり下側に突出している。従って、図９において二点鎖線で示したような階調レベルに上記しきい値ＴＨ２を設定しておけば、上記Ｓ１６０において、注目画素が赤目画素であるか否かを正確に判定することができる。
【００３０】
画素特定部１２１ｂは、補正候補領域Ａ２の全ての画素について、Ｓ１５０，Ｓ１６０を繰り返すことにより演算値Ｒｃを算出してしきい値ＴＨ１と比較するか、或いは、当該全ての画素について、Ｓ１５０，Ｓ１６０を繰り返すことにより輝度値Ｙｃを算出してしきい値ＴＨ２と比較する。ただし画像特定部１２１ｂは、当該全ての画素についてそれぞれ、演算値Ｒｃおよび輝度値Ｙｃを算出し、演算値Ｒｃがしきい値ＴＨ１以下かつ輝度値Ｙｃがしきい値ＴＨ２以下となった画素を、赤目補正（Ｓ１７０）の対象として特定してもよい。
【００３１】
Ｓ１７０では、赤目補正部１２１ｃは、直近のＳ１６０で赤目画素と特定（判定）された注目画素について赤目補正を実行する。赤目補正とは、概略的には、注目画素の彩度を算出し、算出した彩度に応じて注目画素の補正度合を決定し、決定した補正度合に基づいて色情報（特にＲ値）が低下するように注目画素の補正を行なう処理を言う。
【００３２】
図１０は、赤目補正の詳細の一例をフローチャートにより示している。
Ｓ１７１では、赤目補正部１２１ｃは、注目画素を含む画像領域におけるカラーバランスを調整することにより注目画素のＲＧＢ値を修正する。カラーバランス調整とは、当該画像領域におけるＲＧＢの分布のずれを小さくする処理を言い、カラーバランス調整を行なうことで、例えば画像が赤かぶりであった場合に、当該赤かぶりを低減させることができる。カラーバランス調整の手法は特に限られないが、例えば、赤目補正部１２１ｃは、注目画素が属するラスター（直近のＳ１２０で選択された処理対象ラスター）を構成する全画素を用いて、ＲＧＢ毎のヒストグラム（度数分布）を生成する。
【００３３】
図１１は、Ｓ１７１のカラーバランス調整の過程で生成されるＲＧＢ毎のヒストグラムを例示している。赤目補正部１２１ｃは、ＲＧＢの各ヒストグラムの最大値Ｒmax，Ｇmax，Ｂmaxから、ヒストグラム生成に用いられた画素の所定パーセント（例えば１０パーセント）に対応する画素数分だけ低階調側にある値を、調整基準値Ｒｓ，Ｇｓ，Ｂｓとして認定する。そして、調整基準値ＲｓＧｓＢｓの成分間の相対的な階調差（例えば、ΔＧＲ＝Ｇｓ−Ｒｓ、ΔＧＢ＝Ｇｓ−Ｂｓ）に基づいてＲＧＢそれぞれに対するカラーバランスの調整量を求め、調整量に基づいて上記ヒストグラムの生成に用いられた各画素のＲＧＢ値を修正する。この結果、注目画素はもちろん、当該注目画素が属するラスターを構成する各画素のＲＧＢ値が修正され、当該ラスターにおけるカラーバランスが整えられる。赤目補正部１２１ｃは、各画素についてのカラーバランス調整後（修正後）のＲＧＢ値（修正後Ｒ´Ｇ´Ｂ´）を保存する。
【００３４】
本実施形態では、少なくとも補正候補領域Ａ２に属さない画素には赤目補正は実行されない。そのため、当該Ｓ１７１では、注目画素が属するラスターを構成する画素のうち補正候補領域Ａ２に属する画素に対してのみ、上記調整量に基づく修正を行なうとしてもよい。また、図１０の赤目補正のフローチャートは、基本的に注目画素単位で繰り返し実行されるが、Ｓ１７１のカラーバランス調整はラスターを共通としている各画素についてまとめて行なわれる。そのため、一つの注目画素が上記Ｓ１６０で赤目画素と判定された後のＳ１７０（Ｓ１７１）で、その注目画素が属する処理対象ラスターに関してカラーバランス調整を行なった後は、同じ処理対象ラスターに属する他の画素が注目画素となって上記Ｓ１６０で赤目画素と判定された場合であってもＳ１７１のカラーバランス調整は行わず、既に行なわれたカラーバランス調整の結果（そのときの注目画素に関して既に保存されている修正後Ｒ´Ｇ´Ｂ´）を用いてＳ１７２以下の処理を行なう。
【００３５】
Ｓ１７２では、赤目補正部１２１ｃは、注目画素の修正後Ｒ´Ｇ´Ｂ´に基づいて上記重み付け加算により輝度値Ｙ´を算出するとともに、当該修正後Ｒ´Ｇ´Ｂ´に基づいて彩度Ｓを算出する。彩度Ｓは、修正後Ｒ´Ｇ´Ｂ´の各成分のうち最大値をＩmax、最小値をＩminとした場合、彩度Ｓ＝（Ｉmax−Ｉmin）・２５５／Ｉmaxによって求めることができる。
Ｓ１７３では、赤目補正部１２１ｃは、彩度Ｓに応じて補正度合を求める。
【００３６】
図１２は、Ｓ１７３で用いる補正係数決定テーブルＴ１を例示している。補正係数決定テーブルＴ１は、横軸を彩度Ｓ、縦軸を補正係数（０．０〜１．０）Ｃｓとした関数である。補正係数Ｃｓ＝１．０は、補正度合が最小である（補正しない）ことを意味し、補正係数Ｃｓが小さくなるほどに補正度合は大きくなる。本実施形態では、補正係数決定テーブルＴ１が予め内部メモリー１２に保存されており（図１参照）、赤目補正部１２１ｃは、補正係数決定テーブルＴ１を参照することで、彩度Ｓに応じた補正係数Ｃｓ（補正度合）を決定する。補正係数決定テーブルＴ１は、入力値（彩度Ｓ）が高くなるほど補正係数Ｃｓを小さくする特性を有しており、具体的には、所定の彩度Ｓｒ以上になると、それまで高かった補正係数Ｃｓが急激に低下する特性を有している。彩度Ｓｒは、例えば、予め実験等で求められた赤目画素の彩度の最低値などに該当する。
【００３７】
Ｓ１７４では、赤目補正部１２１ｃは、修正後Ｒ´Ｇ´Ｂ´の各成分のうち、修正後Ｒ´を、上記決定した補正度合に応じて補正する。つまり、修正後Ｒ´に上記決定した補正係数Ｃｓを乗算する（Ｒ´×Ｃｓ）ことにより、補正後Ｒ''を算出する。
Ｓ１７５では、赤目補正部１２１ｃは、補正前後で注目画素の成分間の比が維持されるように、ＧおよびＢの値を補正する。具体的には、修正後Ｒ´Ｇ´Ｂ´の成分間の比と補正後Ｒ''に基づいて、補正後Ｇ''および補正後Ｂ''を算出する。
つまり、Ｒ´：Ｇ´＝Ｒ''：Ｇ''およびＲ´：Ｂ´＝Ｒ''：Ｂ''が成立する補正後Ｇ''および補正後Ｂ''を算出する。
【００３８】
Ｓ１７６では、赤目補正部１２１ｃは、補正後Ｒ''Ｇ''Ｂ''に基づいて上記重み付け加算により輝度値Ｙ''（補正後輝度値Ｙ''）を算出するとともに、補正前後における注目画素の輝度差ΔＹ＝Ｙ´−Ｙ''を算出する。
Ｓ１７７では、赤目補正部１２１ｃは、補正前後における注目画素の輝度差が補正候補領域Ａ２の重心からの距離が遠い画素ほど略小さくなるように注目画素の補正を行う。ここでは補正候補領域Ａ２の重心と、その中に含まれる赤目領域Ａ１の重心とが一致することを前提としているが、両重心が一致しない場合には、赤目補正部１２１ｃは、上記輝度差が赤目領域Ａ１の重心からの距離が遠い画素ほど略小さくなるように注目画素の補正を行うとしてもよい。
【００３９】
図１３は、Ｓ１７７で用いる距離係数決定テーブルＴ２を例示している。距離係数決定テーブルＴ２は、横軸を補正候補領域Ａ２の重心からの注目画素の距離ｄ、縦軸を距離係数Ｃｄ（ただしＣｄ≧０）とした関数である。本実施形態では、距離係数決定テーブルＴ２が予め内部メモリー１２に保存されており（図１参照）、赤目補正部１２１ｃは、距離係数決定テーブルＴ２を参照することで、距離ｄに応じた距離係数Ｃｄを決定する。距離係数決定テーブルＴ２は、入力値（距離ｄ）が大きいほど距離係数Ｃｄを大きくする特性を有している。
【００４０】
赤目補正部１２１ｃは、上記決定した距離係数Ｃｄを上記輝度差ΔＹに乗算する（ΔＹ×Ｃｄ）ことにより、補正輝度差ΔＹ´を算出する。そして、補正輝度差ΔＹ´を、注目画素の補正後Ｒ''Ｇ''Ｂ''それぞれに加算する。つまり、赤目補正部１２１ｃは、演算結果として、Ｒｆ＝Ｒ''＋ΔＹ´、Ｇｆ＝Ｇ''＋ΔＹ´、Ｂｆ＝Ｂ''＋ΔＹ´を得、これらＲｆＧｆＢｆを注目画素についての赤目補正の最終的な結果として保存する。このように補正後Ｒ''Ｇ''Ｂ''のそれぞれに加算される補正輝度差ΔＹ´を決定する距離係数Ｃｄは、上記距離ｄが遠い注目画素ほど大きくなる。そのため、ＲｆＧｆＢｆによって表される注目画素は、基本的には、上記距離ｄが遠い画素ほど赤目補正前後での輝度の変動が小さいものとなる。
【００４１】
図２に戻って説明を続ける。
Ｓ１８０では、画像補正部１２１は、直近のＳ１２０で選択した処理対象ラスターを構成する全ての画素について注目画素として設定し終えているか否か判定し、処理対象ラスターの全画素を一通り注目画素として設定し終えていると判定した場合にはＳ１９０に進む。一方、処理対象ラスターの画素の中に注目画素として未設定である画素が存在している場合には、Ｓ１３０に戻り、未設定の画素のうち一つを注目画素に設定してＳ１４０以下の処理を繰り返す。
【００４２】
Ｓ１９０では、画像補正部１２１は、Ｓ１００で取得した画像データを構成する全てのラスターについて処理対象ラスターとして選択し終えているか否か判定し、全ラスターを一通り処理対象ラスターとして選択し終えていると判定した場合には図２のフローチャートを終える。一方、全ラスターの中に処理対象ラスターとして未選択であるラスターが存在している場合には、Ｓ１２０に戻り、未選択のラスターのうち一つを処理対象ラスターに選択し、Ｓ１３０以下の処理を繰り返す。この結果、画像データを構成する画素のうち補正候補領域Ａ２に属しかつ上記特徴値としきい値との比較によって赤目画素に該当すると判定された画素のみに対し、赤目補正が実行されたことになる。
【００４３】
３．まとめ
このように本実施形態によれば、画像データから赤目を含む領域として検出した補正候補領域Ａ２に属する各画素について、赤目らしさの高い画素のみを他の黒目部分や白目部分や肌部分に該当する画素とは大きく異なる値に変化させる前処理を行なうことにより特徴値を算出し、この特徴値と所定のしきい値との比較に基づいて、補正候補領域Ａ２に属する各画素が赤目画素に該当するか否か判定し、赤目画素に該当すると判定した画素についてのみ、赤目補正を実行するとした。つまり、従来のような画像データの画素値としきい値との単純な比較では正確性が低かった赤目画素か否かの判定を、極めて正確なものとした。この結果、撮影された画像上で実際に赤目に該当する画素のみを赤目補正の対象とし、本来赤目補正が不要である画素にまで赤目補正を施してしまうことを防止できる。また、このように赤目画素について赤目補正が実行された後の画像データに基づいてプリンター１０が印刷を行なうことにより、赤目が適切に補正された人物画像を印刷結果として得ることができる。
【００４４】
また、赤目補正においては、赤目画素は彩度が高いことに着目し、彩度が高いほど補正度合を大きくすることにより、彩度が高い画素ほどＲ値を大きく低減するようにした。そのため、赤目画素だけが適切にその赤味を低減させ、赤目が解消された画像が得られる。特に、補正度合は画素の彩度が上記彩度Ｓｒ以上になると急激に大きくなる（補正係数Ｃｓが急激に小さくなる）ため、真に赤目に該当する画素の赤味を適切に低減させることができる。また、画素の彩度に応じて補正度合を決定する前に、カラーバランスを調整して画像の赤かぶり等を修正するため、上記算出される彩度も極端に高い値ではなくなる。その結果、画素のＲ値を低減させる補正において過補正が防止される。
【００４５】
さらに、赤目補正の前後で補正対象の画素のＲＧＢ成分の比が略維持されるように補正を行うため、補正対象の画素の色味が補正前後において大きく変ることが防止される。さらに、赤目補正では、補正候補領域Ａ２の重心から遠い画素ほど、補正前後の輝度差が小さくなるように補正するため、補正された領域と補正されなかった領域との境目において急激に輝度が変化して違和感のある画像となることを防止する。さらに画像補正部１２１は、ラスター単位の画像データに基づいて前処理、赤目画素か否かの判定および赤目補正を行うため、これら各処理を少ないリスースで行なうことができ、特に印刷前の画像に対する補正処理等に充てられるリソースに限度があるプリンター１０においては好適な構成である。
【００４６】
なお上記では、プリンター１０を本実施形態の実行主体として説明したが、プリンター１０以外のハードウェア、例えば、ＤＳＣ２０やコンピューター３０に上記画像補正部１２１の機能を備えさせ、これらＤＳＣ２０やコンピューター３０によって図２のフローチャートを実行する構成としてもよい。
【符号の説明】
【００４７】
１０…プリンター、１１…ＣＰＵ、１２…内部メモリー、１６…プリントエンジン、２０…ＤＳＣ、３０…コンピューター、４０…メモリーカード、１２１…画像補正部、１２１ａ…領域検出部、１２１ｂ…画素特定部、１２１ｃ…赤目補正部、１２２…表示処理部、１２３…印刷処理部
【図１】
2010246053.tif 000003
【図２】
2010246053.tif 000004
【図３】
2010246053.tif 000005
【図４】
2010246053.tif 000006
【図５】
2010246053.tif 000007
【図６】
2010246053.tif 000008
【図７】
2010246053.tif 000009
【図８】
2010246053.tif 000010
【図９】
2010246053.tif 000011
【図１０】
2010246053.tif 000012
【図１１】
2010246053.tif 000013
【図１２】
2010246053.tif 000014
【図１３】
2010246053.tif 000015