(57)【要約】【課題】  基準画像データのホワイトバランスに近づくように、対象画像データのホワイトバランスを適切に補正することができる技術を提供すること。【解決手段】  多機能機は、以下の各処理を実行する。（１）ＲＧＢ対象画像データの全ての画素のうち輝度値の大きい一部の画素群を特定し、特定された画素群の輝度値を代表するホワイトバランスパラメータ（Ｏｗｒ，Ｏｗｇ，Ｏｗｂ）を算出する（Ｓ４０）。（２）ＲＧＢ基準画像データの全ての画素のうち輝度値の大きい一部の画素群を特定し、特定された画素群の輝度値を代表するホワイトバランスパラメータ（Ｓｗｒ，Ｓｗｇ，Ｓｗｂ）を算出する（Ｓ４２）。（３）ホワイトバランスパラメータ（Ｏｗｒ，Ｏｗｇ，Ｏｗｂ）がホワイトバランスパラメータ（Ｓｗｒ，Ｓｗｇ，Ｓｗｂ）に近づくような補正ベクトルを利用して、ＲＧＢ対象画像データの各画素の値を補正する。【選択図】  図４
2010154251.tif 000002
【特許請求の範囲】
【請求項１】
基準画像データを用いて対象画像データを補正して第１補正済み画像データを生成する画像処理装置であって、
前記対象画像データ内の全ての画素のうち輝度値の大きい一部の画素群を代表する第１代表値を決定する第１決定部と、
前記基準画像データ内の全ての画素のうち輝度値の大きい一部の画素群を代表する第２代表値を決定する第２決定部と、
前記対象画像データ内の各画素の値を、前記第１代表値が前記第２代表値に近づくように、補正することによって、前記第１補正済み画像データを生成する第１補正部と
を備える画像処理装置。
【請求項２】
前記第１補正部は、前記対象画像データ内の各画素の補正量を、当該画素の値に基づいて決定する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１決定部は、ＲＧＢ色空間内の値である前記第１代表値を決定し、
前記第２決定部は、前記ＲＧＢ色空間内の値である前記第２代表値を決定し、
前記第１補正部は、前記ＲＧＢ色空間内で、前記対象画像データ内の各画素を補正する
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記第１補正済み画像データの輝度に関する第１輝度値を決定する第３決定部と、
前記基準画像データの輝度に関する第２輝度値を決定する第４決定部と、
前記第１補正済み画像データ内の各画素の値を、前記第１輝度値と前記第２輝度値とを用いて補正することによって、第２補正済み画像データを生成する第２補正部と
をさらに備える
ことを特徴とする請求項１から３のいずれかに記載の画像処理装置。
【請求項５】
前記第２補正部は、前記第１補正済み画像データ内の各画素の値を、前記第１輝度値と前記第２輝度値との比に基づいて補正する
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記第３決定部は、前記第１補正済み画像データ内の各画素の輝度値の平均値を算出することによって、前記第１輝度値を決定し、
前記第４決定部は、前記基準画像データ内の各画素の輝度値の平均値を算出することによって、前記第２輝度値を決定する
ことを特徴とする請求項４又は５に記載の画像処理装置。
【請求項７】
前記第１輝度値は、輝度を示す軸を含む特定の色空間内の座標値であり、
前記第２輝度値は、前記特定の色空間内の座標値であり、
前記第２補正部は、前記特定の色空間内で、前記第１補正済み画像データ内の各画素の値を補正する
ことを特徴とする請求項４から６のいずれかに記載の画像処理装置。
【請求項８】
基準画像データを用いて対象画像データを補正して補正済み画像データを生成する画像処理プログラムであって、
前記対象画像データ内の全ての画素のうち輝度値の大きい一部の画素群を代表する第１代表値を決定する第１決定処理と、
前記基準画像データ内の全ての画素のうち輝度値の大きい一部の画素群を代表する第２代表値を決定する第２決定処理と、
前記対象画像データ内の各画素の値を、前記第１代表値が前記第２代表値に近づくように、補正することによって、前記補正済み画像データを生成する補正処理と
をコンピュータに実行させる画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、基準画像データを用いて対象画像データを補正する画像処理技術に関する。
【背景技術】
【０００２】
下記の特許文献１には、教師画像データを用いて入力画像データを補正する技術が開示されている。この技術では、教師画像データが示す画像再現の傾向（例えば肌色、青色、緑色等の色相）に従って画像処理パラメータを決定し、この画像処理パラメータに基づいて入力画像データを補正する。
【０００３】
【特許文献１】特開２００６−８０７４６号公報
【特許文献２】特開平８−３２１９５７号公報
【特許文献３】特開２００２−２２３３６６号公報
【特許文献４】特開２００５−１９７９９６号公報
【特許文献５】特開平１０−１７３９４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明者は、基準画像データのホワイトバランスに近づくように、補正の対象である対象画像データのホワイトバランスを補正するための技術の開発に携わっている。上記の特許文献１には、教師画像データを用いて入力画像データのホワイトバランスを補正するという記載が存在するが、その具体的な方法論については開示されていない。
【０００５】
本明細書では、基準画像データのホワイトバランスに近づくように、対象画像データのホワイトバランスを適切に補正することができる技術を提供する。
【課題を解決するための手段】
【０００６】
本発明者は、画像データ内の全ての画素のうち輝度値の大きい一部の画素群が、その画像データのホワイトバランス（即ち環境光の色）を反映する領域であることを見出した。このような知見に鑑みて、本発明者は、対象画像データのホワイトバランスを反映する領域（画素群）を代表する第１代表値が、基準画像データのホワイトバランスを反映する領域（画素群）を代表する第２代表値に近づくように、対象画像データ内の各画素の値を補正するという新規な手法を創作した。この手法を利用すると、基準画像データのホワイトバランスに近づくように、対象画像データのホワイトバランスを適切に補正することができる。本明細書によって開示される技術は、このような知見に鑑みて創作されたものであり、以下のように表現することができる。
【０００７】
本明細書では、基準画像データを用いて対象画像データを補正して第１補正済み画像データを生成する画像処理装置を開示する。この画像処理装置は、第１決定部と第２決定部と第１補正部とを備える。第１決定部は、対象画像データ内の全ての画素のうち輝度値の大きい一部の画素群を代表する第１代表値を決定する。なお、ここでの「輝度値の大きい一部の画素群」は、当該画素群が対象画像データ内の他の画素群よりも輝度値が大きいことを意味する。第２決定部は、基準画像データ内の全ての画素のうち輝度値の大きい一部の画素群を代表する第２代表値を決定する。なお、ここでの「輝度値の大きい一部の画素群」は、当該画素群が基準画像データ内の他の画素群よりも輝度値が大きいことを意味する。第１補正部は、対象画像データ内の各画素の値を、第１代表値が第２代表値に近づくように補正することによって、第１補正済み画像データを生成する。この構成によると、基準画像データのホワイトバランスに近づくように、対象画像データのホワイトバランスを適切に補正することができる。
【０００８】
なお、対象画像データ及び基準画像データから上記の「輝度値の大きい一部の画素群」をどのようにして特定するのかについては、特に限定されない。例えば、第１決定部（又は第２決定部）は、対象画像データ（又は基準画像データ）内の全ての画素のそれぞれの輝度値を特定し、特定された各輝度値のうち上位の輝度値を有する画素群を特定してもよい（例えば最も大きい輝度値を有する画素から順に特定してもよい）。この手法の場合、特定されるべき画素群の数が予め決められていてもよいし、対象画像データ（又は基準画像データ）内の全ての画素の数に基づいて、特定されるべき画素群の数が決められてもよい。また、例えば、第１決定部（又は第２決定部）は、対象画像データ（又は基準画像データ）内の全ての画素から、予め決められている所定値より大きい輝度値を有する画素群を特定してもよい。
【０００９】
また、第１補正部によって補正される対象の画素群である「対象画像データ内の各画素」は、対象画像データ内の全ての画素であってもよいし、対象画像データ内の一部の画素群であってもよい。即ち、第１補正部は、対象画像データ内の全ての画素について補正してもよいし、対象画像データ内の一部の画素群のみについて補正してもよい。なお、上記の「対象画像データ内の各画素の値を、第１代表値が第２代表値に近づくように補正する」という用語は、「対象画像データ内の各画素の値を、第１代表値が第２代表値に近づくような補正ベクトルに基づいて補正する」と言い換えてもよい。
【００１０】
なお、基準画像データは、ユーザによって指定される画像データであってもよい。即ち、画像処理装置は、基準画像データを指定することをユーザに許容する許容部をさらに備えていてもよい。この構成によると、ユーザが好むホワイトバランスに近づくように、対象画像データのホワイトバランスを適切に補正することができる。
【００１１】
第１補正部は、対象画像データ内の各画素の補正量を、当該画素の値に基づいて決定してもよい。この構成によると、画素の値に応じて適切な補正量を決定することができる。
【００１２】
第１決定部は、ＲＧＢ色空間内の値である第１代表値を決定してもよい。第２決定部は、ＲＧＢ色空間内の値である第２代表値を決定してもよい。第１補正部は、ＲＧＢ色空間内で、対象画像データ内の各画素を補正してもよい。一方において、第１補正部は、他の色空間内で、対象画像データ内の各画素を補正してもよい。例えば、第１補正部は、ＲＧＢ色空間以外の直交座標系の色空間内で、対象画像データ内の各画素を補正してもよい。また、例えば、第１補正部は、極座標系の色空間内（例えばＨＳＶ色空間、Ｌａｂ色空間等）で、対象画像データ内の各画素を補正してもよい。
【００１３】
上記の画像処理装置は、第１補正済み画像データの輝度に関する第１輝度値を決定する第３決定部と、基準画像データの輝度に関する第２輝度値を決定する第４決定部と、第１補正済み画像データ内の各画素の値を、第１輝度値と第２輝度値とを用いて補正することによって、第２補正済み画像データを生成する第２補正部とをさらに備えていてもよい。この構成によると、ホワイトバランスのみならず輝度も補正することができる。対象画像データの見た目の印象を、基準画像データの見た目の印象により近づけることができる。
【００１４】
第２補正部は、第１補正済み画像データ内の各画素の値を、第１輝度値と第２輝度値との比に基づいて補正してもよい。
【００１５】
第３決定部は、第１補正済み画像データ内の各画素の輝度値の平均値を算出することによって、第１輝度値を決定してもよい。また、第４決定部は、基準画像データ内の各画素の輝度値の平均値を算出することによって、第２輝度値を決定してもよい。なお、第１輝度値及び第２輝度値は、他の手法で得られる値（例えば中央値）であってもよい。
【００１６】
第１輝度値と第２輝度値は、輝度を示す軸を含む特定の色空間（例えばＨＳＶ色空間、Ｌａｂ色空間等）内の座標値であってもよい。第２補正部は、上記の特定の色空間内で、第１補正済み画像データ内の各画素の値を補正してもよい。
【００１７】
なお、上記の画像処理装置を実現するためのコンピュータプログラムも有用である。このコンピュータプログラムを利用すると、基準画像データのホワイトバランスに近づくように、対象画像データのホワイトバランスを適切に補正することができる画像処理装置を実現することができる。
【発明を実施するための最良の形態】
【００１８】
ここでは、以下の実施例に記載の技術の一部を列挙しておく。
（形態１）上記の第１決定部は、対象画像データ内の全ての画素のうち輝度値の大きい一部の画素群を特定し、特定された各画素の値の平均値を算出することによって上記の第１代表値を決定してもよい。また、上記の第２決定部は、基準画像データ内の全ての画素のうち輝度値の大きい一部の画素群を特定し、特定された各画素の値の平均値を算出することによって上記の第２代表値を決定してもよい。
【００１９】
（形態２）上記の第１決定部は、対象画像データ内の全ての画素において、大きい輝度値を有する上位の所定パーセントの画素群を特定してもよい。上記の第２決定部は、基準画像データ内の全ての画素において、大きい輝度値を有する上位の所定パーセントの画素群を特定してもよい。
【００２０】
（形態３）上記の第１補正済み画像データは、直交座標系の色空間内の座標値で各画素の値が表わされるものであってもよい。画像処理装置は、上記の第１補正済み画像データを、極座標系の色空間内の座標値で各画素の値が表わされる第１画像データに変換する第１変換部をさらに備えていてもよい。上記の第３決定部は、第１画像データから上記の第１輝度値を決定してもよい。また、上記の基準画像データは、上記の直交座標系の色空間内の座標値で各画素の値が表わされるものであってもよい。画像処理装置は、上記の基準画像データを、上記の極座標系の色空間内の座標値で各画素の値が表わされる第２画像データに変換する第２変換部をさらに備えていてもよい。上記の第４決定部は、第２画像データから上記の第２輝度値を決定してもよい。第２補正済み画像データは、上記の極座標系の色空間内の座標値で各画素の値が表わされるものであってもよい。画像処理装置は、上記の第２補正済み画像データを、上記の直交極座標系の色空間内の座標値で各画素の値が表わされる第３画像データに変換する第３変換部をさらに備えていてもよい。
【００２１】
（形態４）上記の特定の色空間は、極座標系の色空間であってもよい。この極座標系は、円柱座標系であってもよい。上記の円柱座標系は、輝度を示す軸を有していてもよい。上記の円柱座標系では、動径によって彩度が表現されてもよい。上記の円柱座標系では、偏角によって色相が表現されてもよい。
【実施例】
【００２２】
図面を参照して実施例を説明する。図１は、本実施例の多機能機１０の概略図を示す。多機能機１０は、操作部１２と表示部１４とスロット部１６とスキャナ部２０と印刷部２２とネットワークインターフェイス２４と制御部２８等を有する。操作部１２は、複数のキーによって構成される。ユーザは、操作部１２を操作することによって、様々な指示や命令を多機能機１０に入力することができる。表示部１４は、様々な情報を表示することができる。スロット部１６は、メモリカード１８を収容するためのスペースを有する。ユーザは、画像データを記憶しているメモリカード１８をスロット部１６に挿入することができる。本実施例では、メモリカード１８に記憶されている画像データは、ＲＧＢ形式の画像データである。
【００２３】
スキャナ部２０は、ＣＣＤ、ＣＩＳ等の読取機構を有する。スキャナ部２０は、原稿、写真等をカラースキャンすることによって画像データを生成することができる。本実施例では、スキャナ部２０によって生成される画像データは、ＲＧＢ形式の画像データである。印刷部２２は、インクジェットタイプ、レーザタイプ等の印刷機構を有する。印刷部２２は、メモリカード１８に記憶されている画像データ、又は、スキャナ部２０によって生成された画像データに基づいて印刷することができる。また、印刷部２２は、ネットワークインターフェイス２４に入力されたデータに基づいて印刷することができる。ネットワークインターフェイス２４は、ＬＡＮ２６に接続されている。
【００２４】
制御部２８は、ＣＰＵ３０とＲＯＭ３２とＲＡＭ４０等を有する。ＣＰＵ３０は、ＲＯＭ３２に記憶されているプログラム３４〜３８に従って様々な処理を実行する。ＲＯＭ３２は、様々なプログラム３４〜３８を記憶している。基本プログラム３４は、多機能機１０の基本的な動作を制御するためのプログラムである。基本プログラム３４は、例えば、表示部１４に表示されるデータを生成するためのプログラムを含んでいる。また、基本プログラム３４は、例えば、スキャナ部２０、印刷部２２等を制御するためのプログラムを含んでいる。補正プログラム３６は、画像データを補正するためのプログラムである。ＣＰＵ３０が補正プログラム３６に従って実行する処理の内容については、後で詳しく説明する。プログラム３８は、上記のプログラム３４，３６以外のプログラムである。ＲＡＭ４０は、ＣＰＵ３０が処理を実行する過程で生成されるデータを一時的に記憶することができる。
【００２５】
本実施例の多機能機１０は、スキャナ部２０によって生成された画像データを用いて、メモリカード１８に記憶されている画像データ（ユーザによって選択された画像データ）を補正することができる。より具体的に言うと、多機能機１０は、スキャナ部２０によって生成された画像データのホワイトバランスに近づくように、メモリカード１８に記憶されている画像データのホワイトバランスを補正することができる。さらに、多機能機１０は、ホワイトバランス後の画像データの輝度を補正することができる。
【００２６】
以下では、補正の対象となる画像データ（メモリカード１８に記憶されている画像データ）のことをＲＧＢ対象画像データと呼ぶ。また、補正の基準となる画像データ（スキャナ部２０によって生成された画像データ）のことをＲＧＢ基準画像データと呼ぶ。図２は、ＲＧＢ基準画像データ６０を用いてＲＧＢ対象画像データ５０が補正される様子を簡単に示す。処理の詳細については後で詳しく説明するが、ここでは、ＲＧＢ対象画像データ５０を補正する手順について簡単に説明する。
【００２７】
ＲＧＢ対象画像データ５０とＲＧＢ基準画像データ６０のそれぞれは、複数の画素を有する。各画素の値は、三軸の直交座標系の色空間内（以下ではＲＧＢ色空間内と呼ぶことがある）の値によって表現される。具体的に言うと、各画素の値は、Ｒ（赤）を示す値（０〜２５５）と、Ｇ（緑）を示す値（０〜２５５）と、Ｂ（青）を示す値（０〜２５５）とによって表わされる。多機能機１０は、後述する様々な処理を実行することによって、
ＲＧＢ基準画像データ６０を用いてＲＧＢ対象画像データ５０のホワイトバランスを補正する。これにより、補正後の画像データ５１が生成される。以下では、この画像データ５１のことをＷＢ補正済みＲＧＢ対象画像データ５１と呼ぶ。ＷＢ補正済みＲＧＢ対象画像データ５１が有する各画素の値は、ＲＧＢ色空間内の値によって表現される。
【００２８】
多機能機１０は、ＷＢ補正済みＲＧＢ対象画像データ５１をＨＳＶ形式の画像データ５２に変換する。以下では、この画像データ５２のことをＨＳＶ対象画像データ５２と呼ぶ。多機能機１０は、ＷＢ補正済みＲＧＢ対象画像データ５１を構成する各画素の値（直交座標値）を極座標値に変換することによって、ＨＳＶ対象画像データ５２を生成する。従って、ＨＳＶ対象画像データ５２が有する画素の数は、ＷＢ補正済みＲＧＢ対象画像データ５１が有する画素の数に等しくなる。ＨＳＶ対象画像データ５２が有する各画素の値は、円柱極座標系の色空間内（以下ではＨＳＶ色空間内と呼ぶことがある）の値によって表現される。具体的に言うと、各画素の値は、色相（Ｈ）を示す値（０〜３６０°）と、彩度（Ｓ）を示す値（０〜１．０）と、輝度（Ｖ）を示す値（０〜１．０）とによって表わされる。
【００２９】
多機能機１０は、ＷＢ補正済みＲＧＢ対象画像データ５１をＨＳＶ対象画像データ５２に変換する上記の手法と同様にして、ＲＧＢ基準画像データ６０をＨＳＶ形式の画像データ６２に変換する。以下では、この画像データ６２のことをＨＳＶ基準画像データ６２と呼ぶ。ＨＳＶ基準画像データ６２が有する各画素の値は、ＨＳＶ色空間内の値によって表現される。
【００３０】
多機能機１０は、後述する様々な処理を実行することによって、ＨＳＶ基準画像データ６２を用いてＨＳＶ対象画像データ５２の輝度を補正する。これにより、補正後の画像データ５４が生成される。以下では、この画像データ５４のことをＶ補正済みＨＳＶ画像データ５４と呼ぶ。Ｖ補正済みＨＳＶ画像データ５４が有する各画素の値は、ＨＳＶ色空間内の値によって表現される。さらに、多機能機１０は、Ｖ補正済みＨＳＶ画像データ５４をＲＧＢ形式の画像データ５６に変換する。以下では、この画像データ５６のことを補正済みＲＧＢ画像データ５６と呼ぶ。補正済みＲＧＢ画像データ５６が有する各画素の値は、ＲＧＢ色空間内の値によって表現される。
【００３１】
続いて、多機能機１０が実行する補正印刷処理の内容について詳しく説明する。ユーザは、操作部１２を操作することによって、補正印刷モードを選択することができる。この操作が実行された場合に、補正印刷処理が実行される。図３は、補正印刷処理のフローチャートを示す。補正印刷処理は、基本プログラム３４と補正プログラム３６に従ってＣＰＵ３０によって実行される。なお、図３のフローチャートに示される各処理のうち、Ｓ１８の処理は補正プログラム３６に従って実行され、それ以外の処理は基本プログラム３４に従って実行される。
【００３２】
ユーザは、操作部１２を操作することによって、メモリカード１８に記憶されている複数の画像データの中から１つの画像データを選択することができる。ここで選択された画像データが補正対象の画像データ（即ちＲＧＢ対象画像データ５０）になる。ＣＰＵ３０は、ＲＧＢ対象画像データ５０が選択されるまで待機する（Ｓ１０）。
【００３３】
ユーザは、操作部１２を操作することによって、ＲＧＢ対象画像データ５０を補正するために用いられる基準の画像（例えば写真）をスキャナ部２０によってスキャンさせることができる。ＣＰＵ３０は、この操作が実行されるまで待機する（Ｓ１２）。ユーザによって操作が実行されると、ＣＰＵ３０は、スキャナ部２０にスキャンすることを指示する（Ｓ１４）。これにより、スキャナ部２０は、ユーザによって選択された基準の画像をカラースキャンすることによって、画像データ（即ちＲＧＢ基準画像データ６０）を生成する。
【００３４】
次いで、ＣＰＵ３０は、補正処理を実行する（Ｓ１８）。補正処理の内容については、後で詳しく説明する。補正処理によって補正済みＲＧＢ画像データ５６が得られる。ＣＰＵ３０は、補正済みＲＧＢ画像データ５６を印刷データ（ＣＭＹＫ形式のビットマップデータ）に変換する（Ｓ２０）。続いて、ＣＰＵ３０は、Ｓ２０で生成された印刷データに基づいて印刷することを印刷部２２に指示する（Ｓ２２）。この結果、印刷部２２は、印刷データに基づいて印刷媒体に印刷する。ユーザは、補正済みＲＧＢ画像データ５６が印刷された印刷媒体を得ることができる。
【００３５】
続いて、Ｓ１８で実行される補正処理の内容について詳しく説明する。図４は、補正処理のフローチャートを示す。ＣＰＵ３０は、ＲＧＢ対象画像データ５０のホワイトバランスパラメータ（Ｏｗｒ，Ｏｗｇ，Ｏｗｂ）を算出する（Ｓ４０）。まず、ＣＰＵ３０は、ＲＧＢ対象画像データ５０の全ての画素のそれぞれについて、輝度値を特定する。本実施例では、画素の輝度値は、その画素のＲとＧとＢとの中で最も大きい値である。例えば、Ｒが１００であり、Ｇが２０であり、Ｂが２００である画素が存在する場合、その画素の輝度値は、２００である。次いで、ＣＰＵ３０は、ＲＧＢ対象画像データ５０の全ての画素の中から、最も大きい輝度値を有する画素を特定する。次いで、ＣＰＵ３０は、次に大きい輝度値を有する画素を特定する。ＣＰＵ３０は、この処理を繰り返す。ＣＰＵ３０は、ＲＧＢ対象画像データ５０の全ての画素の数の２０パーセントに相当する数の画素群が特定されるまで、上記の処理を繰り返す。これにより、ＲＧＢ対象画像データ５０から輝度値の大きい上位２０パーセントの画素群が特定される。例えば、ＲＧＢ対象画像データ５０内に一万個の画素が存在する場合、輝度値が大きい二千個の画素群が特定される。ＣＰＵ３０は、特定された画素群のＲの平均値を算出することによってＯｗｒを算出する。ＣＰＵ３０は、特定された画素群のＧの平均値を算出することによってＯｗｇを算出する。また、ＣＰＵ３０は、特定された画素群のＢの平均値を算出することによってＯｗｂを算出する。これにより、ＲＧＢ対象画像データ５０のホワイトバランスパラメータ（Ｏｗｒ，Ｏｗｇ，Ｏｗｂ）が得られる。
【００３６】
続いて、ＣＰＵ３０は、ＲＧＢ基準画像データ６０のホワイトバランスパラメータ（Ｓｗｒ，Ｓｗｇ，Ｓｗｂ）を算出する（Ｓ４２）。Ｓ４２の処理は、Ｓ４０の処理と同様に実行される。即ち、ＣＰＵ３０は、ＲＧＢ基準画像データ６０から輝度値の大きい上位２０パーセントの画素群を特定する。次いで、ＣＰＵ３０は、特定された画素群のＲとＧとＢのそれぞれの平均値を算出することによって、ＳｗｒとＳｗｇとＳｗｂを算出する。これにより、ＲＧＢ基準画像データ６０のホワイトバランスパラメータ（Ｓｗｒ，Ｓｗｇ，Ｓｗｂ）が得られる。
【００３７】
次いで、ＣＰＵ３０は、ＲＧＢ対象画像データ５０のホワイトバランスを補正することによって、ＷＢ補正済みＲＧＢ対象画像データ５１を生成する（Ｓ４４）。Ｓ４４の補正処理は、ＲＧＢ色空間内で実行される。まず、ＣＰＵ３０は、ＲＧＢ対象画像データ５０内の１つの画素を選択する。以下では、ここで選択された画素の座標値（以下では画素値と呼ぶこともある）を（ＯＲ，ＯＧ，ＯＢ）と表現する。図５は、座標値（ＯＲ，ＯＧ，ＯＢ）を補正するための数式を示す。図５では、補正後の座標値を（ＭＲ，ＭＧ，ＭＢ）と表現する。ＣＰＵ３０は、ＯＲとＯＧとＯＢの中で最も大きい値をＯｖとして特定する。図５に示されるように、ＣＰＵ３０は、このＯｖを利用して座標値（ＯＲ，ＯＧ，ＯＢ）を補正する。図５に示される数式では、ＲＧＢ基準画像データ６０のホワイトバランスパラメータ（Ｓｗｒ，Ｓｗｇ，Ｓｗｂ）からＲＧＢ対象画像データ５０のホワイトバランスパラメータ（Ｏｗｒ，Ｏｗｇ，Ｏｗｂ）が減算されることによって得られる補正ベクトル（Ｓｗｒ−Ｏｗｒ，Ｓｗｇ−Ｏｗｇ，Ｓｗｂ−Ｏｗｂ）が利用されている。即ち、ホワイトバランスパラメータ（Ｏｗｒ，Ｏｗｇ，Ｏｗｂ）がホワイトバランスパラメータ（Ｓｗｒ，Ｓｗｇ，Ｓｗｂ）に近づくような補正ベクトルが利用されている。ＣＰＵ３０は、図５に示される数式に従って、補正後の座標値（ＭＲ，ＭＧ，ＭＢ）を算出する。
【００３８】
上述したように、ＣＰＵ３０は、画素の座標値（ＯＲ，ＯＧ，ＯＢ）から特定されるＯｖを利用して、座標値（ＯＲ，ＯＧ，ＯＢ）を補正する。即ち、ＣＰＵ３０は、画素の座標値（ＯＲ，ＯＧ，ＯＢ）の補正量を、その画素の座標値（ＯＲ，ＯＧ，ＯＢ）に応じて決定する。図６は、図５の数式に従って補正される様子を模式的に示す。左側の矢印上の３つの点は、補正前の座標値（ＯＲ，ＯＧ，ＯＢ）を示す。また、それらの３つの点のそれぞれが補正された後の座標値（ＭＲ，ＭＧ，ＭＢ）が、右側の矢印上の３つの点として示されている。補正対象の画素の輝度値（即ち上記のＯｖ）が大きくなる程（図６の上方にいく程）、その画素の補正量が大きくなる。なお、左側の領域７０は補正前の画像色分布７０と呼ぶことができ、右側の領域（ハッチングで示される領域）８０は補正後の画像色分布８０と呼ぶことができる。
【００３９】
ＣＰＵ３０は、ＲＧＢ対象画像データ５０の他の全ての画素のそれぞれについて、図５の数式に従って、補正後の座標値（ＭＲ，ＭＧ，ＭＢ）を算出する。これにより、ＷＢ補正済みＲＧＢ対象画像データ５１が得られる。
【００４０】
続いて、ＣＰＵ３０は、ＷＢ補正済みＲＧＢ対象画像データ５１をＨＳＶ対象画像データ５２に変換する（Ｓ４６）。図７は、ＲＧＢ色空間内の座標値をＨＳＶ色空間内の座標値に変換するための数式を示す。ＣＰＵ３０は、ＷＢ補正済みＲＧＢ対象画像データ５１を構成する１つの画素（変換対象の画素）を選択する。図７（ａ）に示されるように、変換対象の画素の座標値を（Ｒ，Ｇ，Ｂ）と表現し、その座標値から変換されたＨＳＶ色空間内の座標値を（Ｈ，Ｓ，Ｖ）と表現する。図７（ｂ）に示されるように、ＣＰＵ３０は、Ｒ／２５５とＧ／２５５とＢ／２５５をそれぞれ算出し、その中の最も大きい値をＶとして特定する。また、ＣＰＵ３０は、図７（ｃ）に示される数式に従って、Ｓを算出する。次いで、ＣＰＵ３０は、図７（ｄ）に示される数式に従って、媒介変数ｒ，ｇ，ｂを算出する。ＣＰＵ３０は、図７（ｅ）に示される数式に従って、Ｈを算出する。ここで算出されたＨがマイナスの値である場合、ＣＰＵ３０は、図７（ｆ）に示されるように、Ｈに３６０を加算することによって、新たなＨを算出する。これにより、変換対象の画素の座標値（Ｒ，Ｇ，Ｂ）からＨＳＶ色空間内の座標値（Ｈ，Ｓ，Ｖ）を得ることができる。
【００４１】
図８は、ＨＳＶ色空間を模式的に示す。図８を見ると、ＨＳＶ色空間が円柱座標系の色空間であることがよくわかる。色相を示すＨは、０〜３６０°のいずれかの値である。彩度を示すＳは、０〜１．０のいずれかの値である。輝度を示すＶは、０〜１．０のいずれかの値である。
【００４２】
ＣＰＵ３０は、ＷＢ補正済みＲＧＢ対象画像データ５１の他の全ての画素のそれぞれについて、図７（ａ）〜図７（ｆ）の数式に従って、ＨＳＶ色空間内の座標値（Ｈ，Ｓ，Ｖ）を算出する。これにより、ＨＳＶ対象画像データ５２が得られる。
【００４３】
続いて、ＣＰＵ３０は、ＲＧＢ基準画像データ６０をＨＳＶ基準画像データ６２に変換する（Ｓ４８）。Ｓ４８の処理は、上記のＳ４６の処理と同様の手法によって行なわれる。即ち、ＣＰＵ３０は、ＲＧＢ基準画像データ６０の全ての画素のそれぞれについて、図７（ａ）〜図７（ｆ）に従って、ＨＳＶ色空間内の座標値（Ｈ，Ｓ，Ｖ）を算出する。これにより、ＨＳＶ基準画像データ６２が得られる。
【００４４】
次いで、ＣＰＵ３０は、ＨＳＶ対象画像データ５２の輝度パラメータＯｖｐを算出する（Ｓ５０）。具体的に言うと、ＣＰＵ３０は、ＨＳＶ対象画像データ５２の全ての画素のＶの値（即ち輝度を示す値）の平均値を算出する。これにより、ＨＳＶ対象画像データ５２の輝度パラメータＯｖｐが得られる。Ｓ５０と同様の手法を利用して、ＣＰＵ３０は、ＨＳＶ基準画像データ６２の輝度パラメータＳｖｐを算出する（Ｓ５２）。即ち、ＣＰＵ３０は、ＨＳＶ基準画像データ６２の全ての画素のＶの値の平均値を算出する。これにより、ＨＳＶ基準画像データ６２の輝度パラメータＳｖｐが得られる。
【００４５】
続いて、ＣＰＵ３０は、ＨＳＶ対象画像データ５２の各画素の輝度を補正することによって、Ｖ補正済みＨＳＶ画像データ５４を生成する（Ｓ５４）。Ｓ５４の補正処理は、ＨＳＶ色空間内で実行される。図９は、輝度を補正するための数式を示す。ＣＰＵ３０は、ＨＳＶ対象画像データ５２を構成する１つの画素（補正対象の画素）を選択する。図９に示されるように、補正対象の画素の座標値を（ＭＨ，ＭＳ，ＭＶ）と表現し、その座標値が補正された後のＨＳＶ色空間内の座標値を（ＮＨ，ＮＳ，ＮＶ）と表現する。ＣＰＵ３０は、ＭＨとＮＨとして特定し、ＭＳをＮＳとして特定する。即ち、補正対象の画素の座標値（ＭＨ，ＭＳ，ＭＶ）のうち、色相を示すＭＨと彩度を示すＭＳは補正されない。ＣＰＵ３０は、図９に示される数式に従って、Ｓ５０及びＳ５２で得られた輝度パラメータＯｖｐ及びＳｖｐを用いてＮＨを算出する。これにより、補正後の座標値（ＮＨ，ＮＳ，ＮＶ）が得られる。
【００４６】
図１０は、横軸がＭＶであり、縦軸がＮＶであるグラフを示す。輝度パラメータＯｖｐと輝度パラメータＳｖｐが等しい場合、ＭＶがＮＶに等しくなる。輝度パラメータＯｖｐが輝度パラメータＳｖｐより大きい場合、図１０の最も下のグラフになる。このグラフでは、ＭＶが輝度パラメータＯｖｐより小さい場合、輝度パラメータＯｖｐと輝度パラメータＳｖｐの比（即ち傾きＳｖｐ／Ｏｖｐ）にＭＶが乗算された値がＮＶになる。このグラフでは、ＭＶが輝度パラメータＯｖｐより小さい場合よりも、ＭＶが輝度パラメータＯｖｐより大きい場合の方が、傾きＮＶ／ＭＶが大きくなる。一方において、輝度パラメータＯｖｐが輝度パラメータＳｖｐより小さい場合、図１０の最も上のグラフになる。このグラフでも、ＭＶが輝度パラメータＯｖｐより小さい場合、輝度パラメータＯｖｐと輝度パラメータＳｖｐの比（即ち傾きＳｖｐ／Ｏｖｐ）にＭＶが乗算された値がＮＶになる。このグラフでは、ＭＶが輝度パラメータＯｖｐより小さい場合よりも、ＭＶが輝度パラメータＯｖｐより大きい場合の方が、傾きＮＶ／ＭＶが小さくなる。
【００４７】
ＣＰＵ３０は、ＨＳＶ対象画像データ５２の他の全ての画素のそれぞれについて、図９の数式に従って、補正後の座標値（ＮＨ，ＮＳ，ＮＶ）を算出する。これにより、Ｖ補正済みＨＳＶ画像データ５４が得られる。
【００４８】
次いで、ＣＰＵ３０は、Ｖ補正済みＨＳＶ画像データ５４を補正済みＲＧＢ画像データ５６に変換する（Ｓ５６）。図１１は、ＨＳＶ色空間内の座標値をＲＧＢ色空間内の座標値に変換する数式を示す。ＣＰＵ３０は、Ｖ補正済みＨＳＶ画像データ５４を構成する１つの画素（変換対象の画素）を選択する。図１１では、変換対象の画素の座標値を（Ｈ，Ｓ，Ｖ）と表現し、その座標値から変換されたＲＧＢ色空間内の座標値を（Ｒ，Ｇ，Ｂ）と表現している。図１１（ａ）に示されるように、ＣＰＵ３０は、変換対象の画素の座標値のＨから媒介変数ｉｎ及びｆｌを算出する。なお、図１１（ｂ）に示されるように、ＣＰＵ３０は、媒介変数ｉｎが偶数の場合、１からｆｌを減算し、新たなｆｌを算出する。次いで、ＣＰＵ３０は、図１１（ｃ）に示される数式に従って、変換対象の画素の座標値のＳとＶから媒介変数ｍ及びｎを算出する。ＣＰＵ３０は、図１１（ｄ）に示される数式に従って、変換対象の画素の座標値のＶとｍとｎからＲとＧとＢを算出する。これにより、ＲＧＢ色空間内の座標値（Ｒ，Ｇ，Ｂ）が得られる。
【００４９】
ＣＰＵ３０は、Ｖ補正済みＨＳＶ画像データ５４の他の全ての画素のそれぞれについて、図１１の数式に従って、ＲＧＢ色空間内の座標値（Ｒ，Ｇ，Ｂ）を算出する。これにより、補正済みＲＧＢ画像データ５６が得られる。
【００５０】
本実施例の多機能機１０について詳しく説明した。多機能機１０は、ＲＧＢ対象画像データ５０のホワイトバランスを反映する領域（輝度値の大きい一部の画素群）からホワイトバランスパラメータ（Ｏｗｒ，Ｏｗｇ，Ｏｗｂ）を算出し、ＲＧＢ基準画像データ６０のホワイトバランスを反映する領域（輝度値の大きい一部の画素群）からホワイトバランスパラメータ（Ｓｗｒ，Ｓｗｇ，Ｓｗｂ）を算出する。多機能機１０は、ホワイトバランスパラメータ（Ｏｗｒ，Ｏｗｇ，Ｏｗｂ）がホワイトバランスパラメータ（Ｓｗｒ，Ｓｗｇ，Ｓｗｂ）に近づくような補正ベクトルを利用して、ＲＧＢ対象画像データ５０の各画素の値を補正する。これにより、ＲＧＢ基準画像データ６０のホワイトバランスに近づくように、ＲＧＢ対象画像データ５０のホワイトバランスを適切に補正することができる。特に、本実施例では、ユーザは、自身が好むホワイトバランスを有する画像をＲＧＢ基準画像データ６０として指定することができる。ユーザが好むホワイトバランスに近づくように、ＲＧＢ対象画像データ５０のホワイトバランスを適切に補正することができる。
【００５１】
また、多機能機１０は、ホワイトバランスのみならず、ＲＧＢ基準画像データ６０（ＨＳＶ基準画像データ６２）の輝度に近づくように、ＷＢ補正済みＲＧＢ対象画像データ５１（ＨＳＶ対象画像データ５２）の輝度を補正する。補正済みＲＧＢ画像データ５６の見た目の印象を、ＲＧＢ基準画像データ６０の見た目の印象により近づけることができる。
【００５２】
請求項に記載されている各要素と実施例との対応関係を記載しておく。請求項の基準画像データは、ＲＧＢ基準画像データ６０に対応する。請求項の対象画像データは、ＲＧＢ対象画像データ５０に対応する。請求項の第１補正済み画像データは、ＷＢ補正済みＲＧＢ対象画像データ５１に対応する。請求項の第１代表値は、ホワイトバランスパラメータ（Ｏｗｒ，Ｏｗｇ，Ｏｗｂ）に対応する。請求項の第１決定部は、補正プログラム３６に従って図４のＳ４０の処理を実行するＣＰＵ３０に対応する。請求項の第２代表値は、ホワイトバランスパラメータ（Ｓｗｒ，Ｓｗｇ，Ｓｗｂ）に対応する。請求項の第２決定部は、補正プログラム３６に従って図４のＳ４２の処理を実行するＣＰＵ３０に対応する。請求項の第１補正部は、補正プログラム３６に従って図４のＳ４４の処理を実行するＣＰＵ３０に対応する。
【００５３】
請求項の第１輝度値は、輝度パラメータＯｖｐに対応する。請求項の第３決定部は、補正プログラム３６に従って図４のＳ５０の処理を実行するＣＰＵ３０に対応する。請求項の第２輝度値は、輝度パラメータＳｖｐに対応する。請求項の第４決定部は、補正プログラム３６に従って図４のＳ５２の処理を実行するＣＰＵ３０に対応する。請求項の第２補正部は、補正プログラム３６に従って図４のＳ５４の処理を実行するＣＰＵ３０に対応する。請求項の第２補正済み画像データは、Ｖ補正済みＨＳＶ画像データ５４に対応する。請求項の特定の色空間は、ＨＳＶ色空間に対応する。
【００５４】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００５５】
（１）上記の実施例では、多機能機１０は、ＲＧＢ対象画像データ５０のホワイトバランスを先に補正し、輝度を後に補正している。しかしながら、多機能機１０は、ＲＧＢ対象画像データ５０の輝度を先に補正し、ホワイトバランスを後に補正してもよい。この場合、多機能機１０は、以下の処理を実行してもよい。多機能機１０は、ＲＧＢ対象画像データ５０を第１ＨＳＶ画像データに変換し、その第１ＨＳＶ画像データの輝度パラメータを算出する。多機能機１０は、ＲＧＢ基準画像データ６０を第２ＨＳＶ画像データに変換し、その第２ＨＳＶ画像データの輝度パラメータを算出する。多機能機１０は、上記の２つの輝度パラメータを用いて（図９の数式に従って）、第１ＨＳＶ画像データの各画素の座標値を補正することによって、Ｖ補正済みＨＳＶ画像データを生成する。次いで、多機能機１０は、Ｖ補正済みＨＳＶ画像データをＶ補正済みＲＧＢ画像データに変換し、そのＶ補正済みＲＧＢ画像データのホワイトバランスパラメータを算出する。多機能機１０は、ＲＧＢ基準画像データ６０のホワイトバランスパラメータを算出する。多機能機１０は、上記の２つのホワイトバランスパラメータを用いて（図５の数式に従って）、Ｖ補正済みＲＧＢ画像データの各画素の座標値を補正することによって、補正済みＲＧＢ画像データを生成する。なお、本変形例では、請求項の対象画像データは、上記のＶ補正済みＲＧＢ画像データに対応する。
【００５６】
（２）上記の実施例では、多機能機１０は、ＲＧＢ対象画像データ５０及びＲＧＢ基準画像データ６０から輝度値の大きい上位２０パーセントの画素群を特定し、特定された画素群からホワイトバランスパラメータ（Ｏｗｒ，Ｏｗｇ，Ｏｗｂ）及び（Ｓｗｒ，Ｓｗｇ，Ｓｗｂ）を算出している。しかしながら、画素群を特定するための手法を変えてもよい。例えば、多機能機１０は、ＲＧＢ対象画像データ５０の全ての画素の輝度値の平均値を算出し、その平均値（もしくは平均値に基づいて設定される値）より大きい画素群を特定してもよい。また、上記の２０パーセントという数字は、適宜変更することができる。
【００５７】
（３）上記の各実施例では、メモリカード１８に記憶されている画像データを、補正の対象となるＲＧＢ対象画像データ５０としている。しかしながら、他の画像データをＲＧＢ対象画像データ５０としてもよい。例えば、スキャナ部２０によって生成される画像データをＲＧＢ対象画像データ５０としてもよい。また、上記の各実施例では、スキャナ部２０によって生成される画像データをＲＧＢ基準画像データ６０としている。しかしながら、他の画像データをＲＧＢ基準画像データ６０としてもよい。例えば、メモリカード１８に記憶されている画像データをＲＧＢ基準画像データ６０としてもよい。
【００５８】
（４）上記の各実施例では、極座標系の色空間として円柱座標系の色空間（ＨＳＶ色空間）を採用している。しかしながら、極座標系の色空間として球座標系の色空間を採用してもよい。また、ＨＳＶ色空間に限られず、Ｌａｂ色空間等の他の色空間を利用して、ＷＢ補正済み対象画像データ５１の輝度を補正してもよい。
【００５９】
（５）上記の実施例では、画素の輝度値として、その画素のＲ値とＧ値とＢ値との中で最も大きい値が利用されているが、これに代えて、Ｙ＝０．２９９Ｒ＋０．５８７Ｇ＋０．１１４Ｂで表わされる値Ｙを利用してもよい。
【００６０】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【００６１】
【図１】多機能機の構成を示す。
【図２】画像データが補正される様子を簡単に示す。
【図３】補正印刷処理のフローチャートを示す。
【図４】補正処理のフローチャートを示す。
【図５】ホワイトバランスを補正するための数式を示す。
【図６】ホワイトバランスが補正される様子を模式的に示す。
【図７】ＲＧＢからＨＳＶに変換するための数式を示す。
【図８】ＨＳＶ色空間を示す。
【図９】輝度を補正するための数式を示す。
【図１０】ＭＶが横軸であり、ＮＶが縦軸であるグラフを示す。
【図１１】ＨＳＶからＲＧＢに変換するための数式を示す。
【符号の説明】
【００６２】
１０：多機能機、１２：操作部、１４：表示部、１６：スロット部、１８：メモリカード、２０：スキャナ部、２２：印刷部、２４：ネットワークインターフェイス、２８：制御部、３０：ＣＰＵ、３２：ＲＯＭ、３４：基本プログラム、３６：補正プログラム、５０     ：ＲＧＢ対象画像データ、５１：ＷＢ補正済みＲＧＢ対象画像データ、５２：ＨＳＶ対象画像データ、５４：Ｖ補正済みＨＳＶ画像データ、５６：補正済みＲＧＢ画像データ、６０：ＲＧＢ基準画像データ、６２：ＨＳＶ基準画像データ
【図１】
2010154251.tif 000003
【図２】
2010154251.tif 000004
【図３】
2010154251.tif 000005
【図４】
2010154251.tif 000006
【図５】
2010154251.tif 000007
【図６】
2010154251.tif 000008
【図７】
2010154251.tif 000009
【図８】
2010154251.tif 000010
【図９】
2010154251.tif 000011
【図１０】
2010154251.tif 000012
【図１１】
2010154251.tif 000013