(57)【特許請求の範囲】
【請求項１】
画像処理装置であって、
色を座標値によって表す表色系において、画像に含まれる画素のうち、所定値以上の輝度を有する画素値を用いて、前記画像のホワイトバランスを示す第１の座標値を算出するホワイトバランス算出手段と、
前記第１の座標値と、前記表色系において無彩色を示す基準座標値と、の間の第１の距離が、所定距離より大きいか否かを判断する判断手段と、
前記判断の結果に応じて補正量を設定する補正量設定手段であって、前記第１の距離が前記所定距離より大きくないと判断された場合に、該第１の距離に応じた第１の補正量を設定し、前記第１の距離が前記所定距離より大きいと判断された場合に、該第１の距離より小さい第２の距離に応じた第２の補正量を設定する、前記補正量設定手段と、
前記補正量を用いて、前記画像に対してホワイトバランス補正を行う、補正手段と、を備え、
前記補正量設定手段は、
第３の距離に基づいて、前記画素毎にホワイトバランス補正の重みを示す重み値を設定する重み値設定手段であって、前記第３の距離は、前記第１の座標値と、前記画素が表す色を示す第３の座標値と、の間の距離に等しく、前記第３の距離が前記第１の距離以上である場合における前記重み値は、前記第３の距離が前記第１の距離未満である場合における前記重み値よりも小さい、前記重み値設定手段、を備え、
前記補正量設定手段は、前記画像に含まれる画素毎に、前記重み値を用いて前記補正量を設定し、
前記補正手段は、前記画素毎に設定された前記補正量を用いて、前記画素毎に前記ホワイトバランス補正を行うことを特徴とする画像処理装置。
【請求項２】
前記補正量設定手段は、
前記第１の補正量を、前記第１の座標値を用いて設定し、
前記第２の補正量を、第２の座標値であって、前記第２の座標値と前記基準座標値との間の距離は前記第２の距離に等しい、前記第２の座標値を用いて設定する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第２の距離は、前記第１の距離よりも小さな前記所定距離と等しいことを特徴とする
請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記重み値設定手段は、前記第３の距離が前記第１の距離未満である場合に、前記第３の距離が大きくなるほど前記重み値を小さい値に設定する、
ことを特徴とする請求項１ないし請求項３のいずれかに記載の画像処理装置。
【請求項５】
前記重み値設定手段は、
前記第３の距離が前記第１の距離以上である場合において、前記重み値を、ゼロに設定する、
ことを特徴とする請求項１ないし請求項４のいずれかに記載の画像処理装置。
【請求項６】
前記補正量設定手段は、
前記画素毎に、さらに前記画素が示す輝度を用いて、前記補正量を設定し、かつ、  前
記輝度が大きい前記画素ほど、前記補正量を大きい量に設定する、
ことを特徴とする請求項１ないし請求項５のいずれかに記載の画像処理装置。
【請求項７】
前記補正手段は、前記ホワイトバランス補正において、前記画像に含まれる画素が示す輝度については補正しない、
ことを特徴とする請求項１ないし請求項６のいずれかに記載の画像処理装置。
【請求項８】
画像処理プログラムであって、
コンピュータを、
色を座標値によって表す表色系において、画像に含まれる画素のうち、所定値以上の輝度を有する画素値を用いて、前記画像のホワイトバランスを示す第１の座標値を算出するホワイトバランス算出手段と、
前記第１の座標値と、前記表色系において無彩色を示す基準座標値と、の間の第１の距離が、所定距離より大きいか否かを判断する判断手段、
前記判断の結果に応じて補正量を設定する補正量設定手段であって、前記第１の距離が前記所定距離より大きくないと判断された場合に、該第１の距離に応じた第１の補正量を設定し、前記第１の距離が前記所定距離より大きいと判断された場合に、該第１の距離より小さい第２の距離に応じた第２の補正量を設定する、前記補正量設定手段、
前記第１の補正量または前記第２の補正量を用いて、前記画像に対してホワイトバランス補正を行う、補正手段、
として機能させ、
前記補正量設定手段は、
第３の距離に基づいて、前記画素毎にホワイトバランス補正の重みを示す重み値を設定する重み値設定手段であって、前記第３の距離は、前記第１の座標値と、前記画素が表す色を示す第３の座標値と、の間の距離に等しく、前記第３の距離が前記第１の距離以上である場合における前記重み値は、前記第３の距離が前記第１の距離未満である場合における前記重み値よりも小さい、前記重み値設定手段、として機能させ、
前記補正量設定手段は、前記画像に含まれる画素毎に、前記重み値を用いて前記補正量を設定し、
前記補正手段は、前記画素毎に設定された前記補正量を用いて、前記画素毎に前記ホワイトバランス補正を行うことを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホワイトバランス補正における技術に関する。
【背景技術】
【０００２】
画像を表す際に生じる不自然な色の補正として、本来白色となる部分を白く表現するための補正（ホワイトバランス補正）が知られている。
【０００３】
ホワイトバランス補正の手法として、画像の色情報を解析することによってホワイト値（ホワイトバランス）を推測して、該画像に対して補正を行う手法が知られている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１２７６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術では、適切なホワイト値が推測されず、ホワイトバランス補正が過補正（行き過ぎたホワイトバランス補正）となる場合がある。
【０００６】
例えば、雲を含む青空の画像に、特許文献１によるホワイトバランス補正を行うと、ホワイト値が極端に青味がかった値で推測されてしまい、その結果、全体的に黄味がかった画像に補正されてしまっていた。例えば、画像における雲の領域が、黄味がかった色となってしまっていた。これについて、図９を参照してより具体的に説明する。
【０００７】
図９（ａ）は、Ｌ＊ａ＊ｂ＊表色系における色空間を示し、図９（ｂ）は、図９（ａ）に示す色空間を、Ｌ軸正方向からみた投影図である。図９（ｂ）に示すように、ホワイト値が極端に青味がかった値で推測されると、画像は全体的に青味がかっていると認識される。そして、ホワイトバランス補正がなされると、（より具体的には、推測されたホワイト値が無彩色を示す原点（０，０）に変更されるように補正がなされると、）各画素のａ＊値及びｂ＊値が、黄色方向へ極端に補正（過補正）されてしまっていた。
【０００８】
そこで、本発明は、ホワイトバランス補正において、過補正を抑制可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
かかる目的を達成するためになされた本発明の画像処理装置は、色を座標値によって表す表色系において、画像のホワイトバランスを示す第１の座標値を算出するホワイトバランス算出手段と、前記第１の座標値と、前記表色系において無彩色を示す基準座標値と、の間の第１の距離が、所定距離より大きいか否かを判断する判断手段と、前記判断の結果に応じて補正量を設定する補正量設定手段であって、前記第１の距離が前記所定距離より大きくないと判断された場合に、該第１の距離に応じた第１の補正量を設定し、前記第１の距離が前記所定距離より大きいと判断された場合に、該第１の距離より小さい第２の距離に応じた第２の補正量を設定する、前記補正量設定手段と、前記補正量を用いて、前記画像に対してホワイトバランス補正を行う、補正手段と、を備えることを特徴とする。
【００１０】
これにより、第１の距離が所定距離より大きい場合（すなわち、算出されたホワイトバランスが、白色から所定距離よりも離れている場合）には、第１の距離より小さい第２の距離に応じた第２の補正量を用いて、ホワイトバランス補正されるため、画像処理装置は、ホワイトバランス補正における過補正を抑制することができる。
【００１１】
上記の画像処理装置において、前記補正量設定手段は、前記第１の補正量を、前記第１の座標値を用いて設定し、前記第２の補正量を、第２の座標値であって、前記第２の座標値と前記基準座標値との間の距離は前記第２の距離に等しい、前記第２の座標値を用いて設定する、ことが好ましい。
【００１２】
上記の画像処理装置において、前記第２の距離は、前記第１の距離よりも小さな前記所定距離と等しいことが好ましい。
【００１３】
これにより、第１の距離が所定距離より大きい場合、所定距離に応じた第２の補正量にしたがって、ホワイトバランス補正されるため、画像処理装置は、ホワイトバランス補正における過補正を抑制することができる。
【００１４】
上記の画像処理装置において、前記補正量設定手段は、前記画像に含まれる画素毎に前記補正量を設定し、前記補正手段は、前記画素毎に設定された前記補正量を用いて、前記画素毎に前記ホワイトバランス補正を行うとよい。
【００１５】
これにより、画像処理装置は、画素ごとに設定された補正量を用いて、適切にホワイトバランス補正を行うことができる。
【００１６】
上記の画像処理装置において、前記補正量設定手段は、第３の距離に基づいて、前記画素毎にホワイトバランス補正の重みを示す重み値を設定する重み値設定手段であって、前記第３の距離は、前記第１の座標値と、前記画素が表す色を示す第３の座標値と、の間の距離に等しく、前記第３の距離が前記第１の距離以上である場合における前記重み値は、前記第３の距離が前記第１の距離未満である場合における前記重み値よりも小さい、前記重み値設定手段、を備え、前記補正量設定手段は、前記画素毎に、さらに前記重み値を用いて、前記補正量を設定するとよい。
【００１７】
これにより、第３の距離が第１の距離以上である画素（すなわち、算出されたホワイトバランスから第１の距離以上離れた色を示す画素）については、重み値が、第３の距離が第１の距離未満である場合の重み値よりも小さい値に設定される。すなわち、第３の距離が第１の距離以上である画素については、ホワイトバランス補正がより抑制されるため、画像処理装置は、ホワイトバランス補正における過補正をより抑制することができる。
【００１８】
上記の画像処理装置において、前記重み値設定手段は、前記第３の距離が前記第１の距離未満である場合に、前記第３の距離が大きくなるほど前記重み値を小さい値に設定する、とよい。
【００１９】
これにより、第３の距離が第１の距離未満である場合に、第３の距離が大きくなるほど重み値は小さい値に設定される。すなわち、第３の距離が第１の距離未満である画素については、ホワイトバランス補正がより抑制されるため、画像処理装置は、ホワイトバランス補正における過補正をより抑制することができる。
【００２０】
上記の画像処理装置において、前記重み値設定手段は、前記第３の距離が前記第１の距離以上である場合において、前記重み値を、ゼロに設定するとよい。
【００２１】
これにより、第３の距離が前記第１の距離以上である場合に、重み値は、０に設定されるため、ホワイトバランス補正がなされない。すなわち、画像処理装置は、ホワイトバランス補正における過補正をより抑制することができる。
【００２２】
上記の画像処理装置において、前記補正量設定手段は、前記画素毎に、さらに前記画素が示す輝度を用いて、前記補正量を設定し、かつ、前記輝度が大きい前記画素ほど、前記補正量を大きい量に設定するとよい。
【００２３】
これにより、輝度の大きい画素ほど大きな補正量が設定されるため、画像処理装置は、より適切なホワイトバランス補正を実行することができる。
【００２４】
上記の画像処理装置において、前記補正手段は、前記ホワイトバランス補正において、前記画像に含まれる画素が示す輝度については補正しないことが好ましい。
【００２５】
なお、この発明は、画像処理装置および画像処理装置の制御方法、これらの方法または画像処理装置の機能を実現するためのプログラム、そのプログラムを記録した記録媒体等の種々の態様で実現することができる。
【図面の簡単な説明】
【００２６】
【図１】プリンタ１０の概略構成を表すブロック図である。
【図２】ダイレクトプリント処理を示すフローチャートである。
【図３】基準補正量算出処理を示すフローチャートである。
【図４】基準補正量を説明するための説明図である。
【図５】距離Ｄａｂと基準補正量との関係を説明するための説明図である。
【図６】ホワイトバランス補正処理を示すフローチャートである。
【図７】重み関数ｆを説明するための説明図である。
【図８】重み関数ｆの変形例を説明するための説明図である。
【図９】従来技術におけるホワイトバランス補正を説明するための説明図である。
【発明を実施するための形態】
【００２７】
以下、実施形態を図面に基づき説明する。
【００２８】
（プリンタ１０の構成）
図１は、実施形態の画像処理装置としてのプリンタ１０の概略構成を表すブロック図である。
【００２９】
プリンタ１０は、デジタルスチルカメラ等で撮影した画像を表す画像データが記憶された可搬型記憶媒体としてのメモリカード２０から、パーソナルコンピュータ等の情報処理装置を介さずに直接画像データを読み取って印刷する機能（いわゆるダイレクトプリント機能）を有している。
【００３０】
そして、このプリンタ１０は、同図に示すように、ＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、操作部１４、カードインタフェース（Ｉ／Ｆ）１５及び印刷部１６をハードウェア構成として備えている。ＣＰＵ１１は、ＲＯＭ１３に記憶されているプログラムに従い処理を実行することにより、本プリンタ１０の各部を制御する。ＲＡＭ１２は、ＣＰＵ１１の一時的な作業領域として用いられる。ＲＯＭ１３には、後述するダイレクトプリント処理をＣＰＵ１１に実行させるためのダイレクトプリントプログラム等、各種プログラムが記憶されている。なお、ダイレクトプリントプログラムには、画像データに対してホワイトバランス補正を行うためのホワイトバランス補正プログラムが含まれる。操作部１４は、ユーザが入力操作を行うための複数のキーを備え、入力操作に応じた信号をＣＰＵ１１に入力する。カードインタフェース１５は、メモリカード２０を直接挿入可能なカードスロット１５ａを有しており、ＣＰＵ１１からの指令に基づき、カードスロット１５ａに挿入されているメモリカード２０から、そのメモリカード２０に記憶されているデータ（撮影画像を表す画像データ）を読み取る処理を行う。印刷部１６は、ＣＰＵ１１からの指令に基づき、記録媒体としての用紙を複数枚収容可能な給紙部から１枚ずつ用紙を給紙し、画像データの表すカラー画像を用紙に印刷して、排紙部へ排紙する。
【００３１】
（ダイレクトプリント処理）
続いて、ダイレクトプリントプログラムに従いＣＰＵ１１が実行するダイレクトプリント処理について、図２のフローチャートを用いて説明する。このダイレクトプリント処理は、メモリカード２０に記憶されている画像データの表す画像の印刷（ダイレクトプリント）を実行するための所定の入力操作が操作部１４において行われることにより開始される。
【００３２】
ダイレクトプリント処理が開始されると、まず、ＣＰＵ１１は、印刷対象の画像データをＲＡＭ１２上でＲＧＢデータに展開する（Ｓ１０１）。具体的には、ＪＰＥＧ形式等でデータ圧縮された状態でメモリカード２０に記憶されている画像データを読み取り、ＲＧＢそれぞれ８ビットの非圧縮形式の画像データに展開する。
【００３３】
続いて、ＣＰＵ１１は、印刷対象の画像データに対して、色補正処理を行う（Ｓ１０３）。色補正処理は、基準補正量算出処理１０３ａと、ホワイトバランス補正処理１０３ｂと、から成る。基準補正量算出処理１０３ａは、印刷対象の画像データに行うホワイトバランス補正における基準補正量を算出するための処理である。ホワイトバランス補正処理１０３ｂは、印刷対象の画像データに対してホワイトバランス補正を行う処理である。なお、基準補正量算出処理１０３ａ、および、ホワイトバランス補正処理１０３ｂの具体的内容については後述する。
【００３４】
続いて、ＣＰＵ１１は、印刷対象の画像データの表す画像を印刷部１６に印刷させる（Ｓ１０４）。その後、本ダイレクトプリント処理を終了する。
【００３５】
（基準補正量算出処理）
次に、図２の１０３ａにおける基準補正量算出処理について、図３のフローチャートを用いて説明する。本実施例では、Ｌ＊ａ＊ｂ＊表色系を用いたホワイトバランス補正について説明する。なお、Ｌ＊は輝度値を表し、ａ＊およびｂ＊は色彩値を表すものとする。
【００３６】
基準補正量算出処理が開始されると、ＣＰＵ１１は、合計値Ａａおよび合計値Ａｂを０で初期化する（Ｓ３０１）。
【００３７】
続いて、ＣＰＵ１１は、ホワイトバランス値を算出するためのカウンタＷｃｎｔを０で初期化し（Ｓ３０２）、Ｓ３０３に移行する。
【００３８】
続いて、ＣＰＵ１１は、Ｓ３０３〜Ｓ３０８によりホワイトバランス値（Ｗａ，Ｗｂ）を算出する。ホワイトバランス値（Ｗａ，Ｗｂ）は、印刷対象の画像データのカラーバランスのずれを示す値である。なお、ホワイトバランス値（Ｗａ，Ｗｂ）は、画像データに含まれる画素のうち、所定値以上の輝度値Ｌ＊を有する画素のａ＊値及びｂ＊値を平均することにより算出される。以下、具体的に説明する。
【００３９】
Ｓ３０３では、ＣＰＵ１１は、画像データに含まれる（ｉ，ｊ）に位置する画素のＲＧ
Ｂ値（ＰＲ，ＰＧ，ＰＢ）をＬ＊ａ＊ｂ＊変換し、（Ｐｌ，Ｐａ，Ｐｂ）を求める（Ｓ３０３）。
【００４０】
続いて、ＣＰＵ１１は、輝度値Ｐｌが閾値Ｔｈｒｅ（例えば９０。なお、輝度値は、０以上１００以下の値をとる。）以上か判断する（Ｓ３０４）。
【００４１】
輝度値Ｐｌが閾値Ｔｈｒｅ以上でないと判断した場合、ＣＰＵ１１は、Ｓ３０７の処理に移行する。
【００４２】
一方、輝度値Ｐｌが閾値Ｔｈｒｅ以上であると判断した場合、ＣＰＵ１１は、Ｓ３０１で初期化した合計値（Ａａ，Ａｂ）に（Ｐａ，Ｐｂ）を加算する（Ｓ３０５）。このように、画像データに含まれる画素のうち、所定値（Ｔｈｒｅ）以上の輝度を有する画素のａ＊値及びｂ＊値が、合計値（Ａａ，Ａｂ）に加算される。これは、光源が原因となる色ずれは、輝度が高い画素ほど影響を大きく受けるためである。
【００４３】
続いて、ＣＰＵ１１は、カウンタＷｃｎｔを１だけ加算する（Ｓ３０６）。そして、ＣＰＵ１１は、Ｓ３０７の処理に移行する。
【００４４】
Ｓ３０７では、ＣＰＵ１１は、画像データに含まれる全画素について処理したか、すなわち、画像データの全座標（ｉ，ｊ）について処理したかを判断する（Ｓ３０７）。
【００４５】
全画素について処理していないと判断した場合、ＣＰＵ１１は、Ｓ３０３に戻り、全画素について処理が終了したと判断するまでＳ３０３〜Ｓ３０６を繰り返す。
【００４６】
一方、全画素について処理したと判断した場合、ＣＰＵ１１は、Ｓ３０８に移行する。
【００４７】
Ｓ３０８では、ＣＰＵ１１は、ａ＊の平均値を式（ａ）（図３参照）により算出し、ｂ＊の平均値を式（ｂ）（図３参照）により算出する（Ｓ３０８）。これにより、印刷対象の画像データのホワイトバランス値（Ｗａ，Ｗｂ）が算出される。
【００４８】
続いて、ＣＰＵ１１は、Ｌ＊ａ＊ｂ＊表色系のＬ＊軸正方向からみた投影図であるａ＊ｂ＊座標において、原点（０，０）からホワイトバランス値（Ｗａ，Ｗｂ）までの距離Ｄａｂを、式（ｃ）により算出する（Ｓ３０９）。距離Ｄａｂは、ホワイトバランス値が、無彩色を示す原点（０，０）からどれだけずれているかを示す。なお、無彩色とは、（ａ＊，ｂ＊）＝（０，０，）を満たす色である。図４に距離Ｄａｂの例を示す。図４に示すように、ホワイトバランス値が無彩色からずれた値になればなるほど、距離Ｄａｂは長くなる。
【００４９】
続いて、ＣＰＵ１１は、距離Ｄａｂが閾値Ｔｒａｄ（例えば５）より大きいかを判断する（Ｓ３１０）。これは、ホワイトバランス値が無彩色からずれ過ぎていないかを判断するものである。
【００５０】
距離Ｄａｂが閾値Ｔｒａｄ以下（距離Ｄａｂが閾値Ｔｒａｄより大きくない）と判断された場合、ＣＰＵ１１は、ａ＊方向のホワイトバランス補正量を算出するための基準補正量Ｂａ（以下、基準補正量Ｂａ）をＷａとし、ｂ＊方向へのホワイトバランス補正量を算出するための基準補正量Ｂｂ（以下、基準補正量Ｂｂ）をＷｂとする（Ｓ３１１）。
【００５１】
すなわち、距離Ｄａｂが閾値Ｔｒａｄ以下（距離Ｄａｂが閾値Ｔｒａｄより大きくない）場合は、ＣＰＵ１１は、ホワイトバランス値（Ｗａ，Ｗｂ）が無彩色からずれ過ぎていないと判断し、距離Ｄａｂ分（ａ＊方向にＷａ、ｂ＊方向にＷｂ）だけホワイトバランス補正しても過補正にはならないと判断する。そして、ＣＰＵ１１は、基準補正量ＢａをＷａとし、基準補正量ＢｂをＷｂとするのである。
【００５２】
一方、距離Ｄａｂが閾値Ｔｒａｄより大きいと判断された場合、ＣＰＵ１１は、基準補正量ＢａをＷａ×Ｔｒａｄ／Ｄａｂ（式（ｄ））（図３参照）に従って算出し、基準補正量ＢｂをＷｂ×Ｔｒａｄ／Ｄａｂ（式（ｅ））（図３参照）に従って算出する（Ｓ３１２）。
【００５３】
すなわち、距離Ｄａｂが閾値Ｔｒａｄより大きい場合は、ＣＰＵ１１は、ホワイトバランス値（Ｗａ，Ｗｂ）が無彩色からずれ過ぎていると判断し、距離Ｄａｂ分（ａ＊方向にＷａ、ｂ＊方向にＷｂ）だけホワイトバランス補正をすると、過補正になると判断する。そして、ＣＰＵ１１は、基準補正量Ｂａを、Ｗａより小さい値（式（ｄ））とし、基準補正量ＢｂをＷｂより小さい値（式（ｅ））とするのである。
【００５４】
ＣＰＵ１１は、Ｓ３１１またはＳ３１２により基準補正量（Ｂａ、Ｂｂ）を算出すると、基準補正量算出処理を終了する。
【００５５】
このように、距離Ｄａｂが閾値Ｔｒａｄより大きい場合には、基準補正量が制限されるため、ホワイトバランス補正による過補正が抑制され得る。これは、ホワイトバランス値（Ｗａ，Ｗｂ）が、画像データ全体の色彩は平均すると無彩色になるという前提の下に算出され、かつ、算出されたホワイトバランス値だけ画像データが全体的にずれていると判断されるため、このような前提が成り立たない画像データの場合には、適切なホワイトバランス値が算出されなくなってしまうことを考慮したものである。すなわち、ＤａｂがＴｒａｄより大きい場合は、ホワイトバランス値が適切に算出されなかった可能性があることを考慮し、ホワイトバランス補正量が制限される。
【００５６】
なお、図４を用いて、距離Ｄａｂが閾値Ｔｒａｄ以下の場合の基準補正量（図４（ａ））と、ＤａｂがＴｒａｄより大きい場合の基準補正量（図４（ｂ））と、を説明する。図４（ａ）に示すように、距離Ｄａｂが閾値Ｔｒａｄ以下の場合、基準補正量は、ａ＊方向の成分をＷａ、ｂ＊方向の成分をＷｂとしたベクトル２３で表される。これに対し、距離Ｄａｂが閾値Ｔｒａｄより大きい場合、図４（ｂ）に示すように、基準補正量は、ａ＊方向の成分をＷａ×Ｔｒａｄ／Ｄａｂ、ｂ＊方向の成分をＷｂ×Ｔｒａｄ／Ｄａｂとしたベクトル２５で表される。なお、ベクトル２５の大きさは、Ｔｒａｄである。
【００５７】
ここで、距離Ｄａｂと基準補正量（ａ＊方向の成分をＢａ、ｂ＊方向の成分をＢｂとするベクトルの大きさ）との関係について、図５を用いて説明する。図５は、距離Ｄａｂと、基準補正量と、の関係を示す図である。図５に示すように、距離Ｄａｂが０以上Ｔｒａｄ以下の範囲では、基準補正量はＤａｂに比例して増加するが、距離Ｄａｂが閾値Ｔｒａｄを超えると、基準補正量は一定量Ｔｒａｄになる。
【００５８】
（ホワイトバランス補正処理）
次に、図２の１０３ｂにおけるホワイトバランス補正処理について、図６のフローチャートを用いて説明する。
【００５９】
ホワイトバランス補正処理が開始されると、ＣＰＵ１１は、まず、注目画素（ｉ，ｊ）
のＲＧＢ値（ＰＲ，ＰＧ，ＰＢ）をＬ＊ａ＊ｂ＊変換し、（Ｐｌ，Ｐａ，Ｐｂ）を求める（Ｓ４０１）。
【００６０】
続いて、ＣＰＵ１１は、注目画素（ｉ，ｊ）の示す色彩値（すなわちａ＊値およびｂ＊値）と、ホワイトバランス値（Ｗａ，Ｗｂ）と、の距離Ｄｐを式（ｆ）により算出する（Ｓ４０２）。なお、注目画素が示す色彩値がホワイトバランス値の示す色から離れれば離れるほど、距離Ｄｐは大きくなる。
【００６１】
続いて、ＣＰＵ１１は、距離Ｄａｂを用いて重み関数ｆ（Ｄｐ（ｉ，ｊ））を導出する（Ｓ４０３）。重み関数ｆは、図３のＳ３１１またはＳ３１２により算出された基準補正量Ｂａ、および、基準補正量Ｂｂに乗じられる重み値を算出するための関数である。重み関数ｆを図７に示す。図７に示すように、重み関数ｆは、Ｄｐ（ｉ，ｊ）の値に応じて変
化し、０以上１以下の値を示す。具体的には、重み関数ｆは、Ｄｐが０の場合には重み値１を示し、Ｄｐが大きくなるにつれて小さい重み値を示す。そして、ＤｐがＤａｂまで達すると重み関数ｆは重み値０を示し、それ以降Ｄｐが大きくなっても、重み値は０で一定となる。
【００６２】
続いて、ＣＰＵ１１は、重み関数ｆを用いて、Ｓ４０２で算出したＤｐ（ｉ，ｊ）に対
応する重み値ｆ（Ｄｐ（ｉ，ｊ））を算出する（Ｓ４０４）。
【００６３】
続いて、ＣＰＵ１１は、注目画素（ｉ，ｊ）に対してホワイトバランス補正を実行する
。具体的には、式（ｇ）にしたがってＰａの値を補正するとともに、式（ｈ）にしたがってＰｂの値を補正する（Ｓ４０５）
続いて、ＣＰＵ１１は、Ｓ４０６により、（Ｐｌ、Ｐａ，Ｐｂ）をＲＧＢ変換し、（Ｐ´Ｒ、Ｐ´Ｇ、Ｐ´Ｂ）を算出する。
【００６４】
続いて、ＣＰＵ１１は、画像の全画素について処理が終了したか判断する（Ｓ４０７）。
【００６５】
画像の全画素について処理が終了していないと判断すると、ＣＰＵ１１は、Ｓ４０１に戻り、画像の全画素について処理が終了したと判断されるまでＳ４０１〜Ｓ４０６を繰り返す。
【００６６】
ＣＰＵ１１は、画像の全画素について処理が終了したと判断すると、ホワイトバランス補正処理を終了する。
【００６７】
ここで、式（ｇ）について詳細に説明する。なお、式（ｈ）については、式（ｇ）と同様であるため説明を省略する。
【００６８】
式（ｇ）の第２項は、注目画素（ｉ，ｊ）のＰａに最終的に行うホワイトバランス補正
量を示す。（同様に、式（ｈ）の第２項は、注目画素（ｉ，ｊ）のＰｂに最終的に行うホ
ワイトバランス補正量を示す。）具体的には、図３のＳ３１１またはＳ３１２により算出された基準補正量Ｂａに、Ｓ４０４で算出された重み値ｆ（Ｄｐ（ｉ，ｊ））を乗算する
。これにより、注目画素（ｉ，ｊ）が示す色がホワイトバランス値から遠ければ遠いほど
、（すなわち、Ｄｐ（ｉ，ｊ）が大きければ大きいほど）ホワイトバランス補正量が小さ
くなる。また、注目画素が示す色がホワイトバランス値からＤａｂ以上離れていると、重み値ｆ（Ｄｐ（ｉ，ｊ））は０となるため、ホワイトバランス補正量が０になる。このよ
うに、ホワイトバランス値（Ｗａ，Ｗｂ）から離れた色を有する画素ほどホワイトバランス補正量が小さくなり、さらに、ホワイトバランス値（Ｗａ，Ｗｂ）からＤａｂ以上離れた色を有する画素については、ホワイトバランス補正がなされない。
【００６９】
これにより、ホワイトバランス補正が本来必要でない画像（すなわち、画像データのカラーバランスは特定の色にずれていないのにも拘わらず、ホワイトバランス値が特定の色で算出される画像）に対して、本来白かった領域を白のままにする（補正されないようにする）ことができる。さらに、ホワイトバランス補正が必要な画像（すなわち、画像データのカラーバランスが特定の色にずれた画像）に対して、少なくとも光源からの影響を多大に受けていることが想定される画素についてはホワイトバランス補正される。したがって、ホワイトバランス補正が必要な画像に対する影響を小さくしながらも、ホワイトバランス補正が本来必要のない画像に対するホワイトバランス補正量を制限することができる。すなわち、ホワイトバランス補正が必要な画像に対しても、本来ホワイトバランス補正が必要でない画像に対しても、適切なホワイトバランス補正をすることができる。
【００７０】
また、図３のＳ３１１またはＳ３１２により算出された基準補正量Ｂａに、Ｓ４０１で算出された輝度値Ｐｌの割合（Ｐｌ／１００）を乗算する。これにより、輝度が高い画素ほどホワイトバランス補正量が大きくなるため、光源からの影響を多大に受けていることが想定される画素ほどホワイトバランス補正量が大きくなる。
【００７１】
以上、実施形態について説明したが、本実施例のホワイトバランス値（Ｗａ，Ｗｂ）が「第１の座標値」に、原点（０，０）が「基準座標値」に、（Ｗａ×Ｔｒａｄ／Ｄａｂ，Ｗｂ×Ｔｒａｄ／Ｄａｂ）が「第２の座標値」に、（Ｐａ，Ｐｂ）が「第３の座標値」に、相当する。また、Ｓ３０１〜Ｓ３０８の処理を実行するＣＰＵ１１が「ホワイトバランス算出手段」に、Ｓ３１０の処理を実行するＣＰＵ１１が「判断手段」に、Ｓ３１１〜３１２、Ｓ４０１〜４０５の処理を実行するＣＰＵ１１が「補正量設定手段」に、Ｓ４０５の処理を実行するＣＰＵ１１が「補正手段」に、Ｓ４０４の処理を実行するＣＰＵ１１が「重み値設定手段」に、相当する。また、距離Ｄａｂが「第１の距離」に、閾値Ｔｒａｄが「第２の距離」に、距離Ｄｐが「第３の距離」に、相当する。
【００７２】
（変形例）
なお、本発明は、上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内にて、種々の態様を採ることができる。
【００７３】
例えば、ホワイトバランス補正量は、基準補正量に、重み値および輝度値の割合を乗算して算出したが、重み値および輝度値の割合のうちいずれか一方を乗算して算出しても良いし、重み値および輝度値の割合いずれも乗算しなくてもよい。
【００７４】
また、例えば、上記実施形態では、ＤａｂがＴｒａｄより大きい場合には、ホワイトバランス補正量（ＢａおよびＢｂ）をＴｒａｄに対応する量（ａ＊方向にＷａ×Ｔｒａｄ／Ｄａｂ、ｂ＊方向にＷｂ×Ｔｒａｄ／Ｄａｂ）にしていたが、これに限らず、Ｄａｂより小さい距離に対応する補正量であればよい。
【００７５】
また、閾値Ｔｈｒｅは８０以上１００未満であることが好ましい。また、閾値Ｔｒａｄは、３以上１０以下であることが好ましい。
【００７６】
また、重み関数ｆは図７に示す関数に限らない。例えば、図８に示すような関数であってもよい。なお、図７に示す重み関数を使用すれば、距離Ｄｐが１以上Ｄａｂ以下の範囲においてもホワイトバランス補正量が制限されるため、図８の場合に比べ、過補正をより抑制できる。
【００７７】
また、上記実施形態では、Ｌ＊ａ＊ｂ＊表色系を用いる場合を説明したが、これに限らず、ＹＣｒＣｂ表色系であってもよい。この場合、Ｃｒ値がａ＊値に、Ｃｂ値がｂ＊値に、Ｙ値がＬ＊値に、対応する。
【００７８】
また、ダイレクトプリントに限らず、パーソナルコンピュータ等の情報処理装置を介して入力した画像データを読み取って印刷する場合にも、同様の処理を行うことができることはいうまでもない。
【００７９】
また、上記実施形態では、ホワイトバランス補正の補正量を設定する構成をプリンタに組み込んだ場合を例に挙げて説明したが、これに限ったものではない。例えば、コピー機、ファクシミリ装置等、他の画像形成装置に組み込むことも可能である。また、デジタルスチルカメラ、デジタルビデオカメラ等、画像を撮像してデジタル情報として記憶するデジタル画像撮像装置に組み込むことも可能である。また、パーソナルコンピュータ等の情報処理装置に組み込むことも可能であり、具体的には、上記実施形態のホワイトバランス補正プログラムのような内容のプログラムを、パーソナルコンピュータにインストールすることにより実現することができる。
【符号の説明】
【００８０】
１０…プリンタ、１１…ＣＰＵ、１２…ＲＡＭ、１３…ＲＯＭ、１４…操作部、１５…カードインタフェース、１５ａ…カードスロット、１６…印刷部、２０…メモリカード
【図１】
0005545191.tif 000002
【図２】
0005545191.tif 000003
【図３】
0005545191.tif 000004
【図４】
0005545191.tif 000005
【図５】
0005545191.tif 000006
【図６】
0005545191.tif 000007
【図７】
0005545191.tif 000008
【図８】
0005545191.tif 000009
【図９】
0005545191.tif 000010