(57)【要約】【課題】  明るさ等の画像の色を決定する要素についての補正を行う際に、画像全体が不自然になることを抑制し、良好なカラー画像を得る。【解決手段】  対象画素データは第１の色空間であるＲＧＢ空間の画素値に変換され（Ｓ２０２）、指示された明るさパラメータに従って補正する（Ｓ２０３）。また、対象画素データは第２の色空間であるＹＣｂＣｒの色空間の画素値に変換され（Ｓ２０５）、指示された明るさパラメータに従って補正する（Ｓ２０６）。そして、補正済みのそれぞれの画素データを同じ色空間にし（Ｓ２０７）、その上で合成する（Ｓ２０８）。【選択図】  図４
2005252392.tif 000002
【特許請求の範囲】
【請求項１】
画像データの色を決定する複数の要素中の１つの要素について補正する画像処理装置であって、
補正対象の要素を変更した場合に他の要素に関する少なくとも１つの画質に与える影響方向が異なる第１、第２の色空間それぞれの画像データを、補正対象とする画像データから変換して得る色空間変換手段と、
該色空間変換手段で得られた第１の色空間の第１の画像データと、第２の色空間の第２の画像データそれぞれに対して前記補正対象の要素の変更を反映させて、補正済第１の画像データと補正済第２の画像データを得る画像補正手段と、
前記補正済第１の画像データと前記補正済第２の画像データそれぞれの色空間を同一色空間にし、所定比率で合成する合成手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記第１の色空間はＲＧＢ色空間、前記第２の色空間はＹＣｂＣｒ色空間であり、前記補正対象の要素は明るさであることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記所定比率を変更する変更手段を備えることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
補正対象の画像データの色空間が前記第１、又は第２の色空間のいずれかと同じ場合、前記色空間変換手段は、補正対象の画像データの色空間と異なる色空間の画像データのみを生成するために変換することを特徴とする請求項１乃至３のいずれか１つに記載の画像処理装置。
【請求項５】
画像データの色を決定する複数の要素中の１つの要素について補正する画像処理方法であって、
補正対象の要素を変更した場合に他の要素に関する少なくとも１つの画質に与える影響方向が異なる第１、第２の色空間それぞれの画像データを、補正対象とする画像データから変換して得る色空間変換工程と、
該色空間変換工程で得られた第１の色空間の第１の画像データと、第２の色空間の第２の画像データそれぞれに対して前記補正対象の要素の変更を反映させて、補正済第１の画像データと補正済第２の画像データを得る画像補正工程と、
前記補正済第１の画像データと前記補正済第２の画像データそれぞれの色空間を同一色空間にし、所定比率で合成する合成工程と
を備えることを特徴とする画像処理方法。
【請求項６】
画像データの色を決定する複数の要素中の１つの要素について補正する画像処理装置として機能するコンピュータプログラムであって、
補正対象の要素を変更した場合に他の要素に関する少なくとも１つの画質に与える影響方向が異なる第１、第２の色空間それぞれの画像データを、補正対象とする画像データから変換して得る色空間変換手段と、
該色空間変換手段で得られた第１の色空間の第１の画像データと、第２の色空間の第２の画像データそれぞれに対して前記補正対象の要素の変更を反映させて、補正済第１の画像データと補正済第２の画像データを得る画像補正手段と、
前記補正済第１の画像データと前記補正済第２の画像データそれぞれの色空間を同一色空間にし、所定比率で合成する合成手段
として機能することを特徴とするコンピュータプログラム。
【請求項７】
請求項６に記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。
【請求項８】
画像に対して補正パラメータに応じた画像補正を行う画像処理方法であって、
補正パラメータを入力し、
前記画像を示す第１の色空間の画像データに対して、前記補正パラメータに応じた第１の補正を行い、
前記画像を示す第２の色空間の画像データに対して、前記補正パラメータに応じた第２の補正を行い、
前記第１の補正が行われた画像データと前記第２の補正が行われた画像データを第３の色空間に変換し、合成する画像処理方法であり、
前記第１の色空間と前記第２の色空間とは異なることを特徴とする画像処理方法。
【請求項９】
前記第１の色空間と前記第３の色空間は同一であることを特徴とする請求項８記載の画像処理方法。
【請求項１０】
前記第１の補正は、前記補正パラメータに応じた補正条件を用いて補正し、
前記第２の補正は、前記補正パラメータに応じた補正条件を用いて補正することを特徴とする請求項８または９記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデジタル画像処理、特にデジタル画像の明るさ等の色を決定する要素に関する補正技術に関するものである。
【背景技術】
【０００２】
イメージスキャナでカラー写真や透過原稿（フィルム等）を読取る際、一般に、パーソナルコンピュータ上で各種パラメータを設定した上で読取っている。このパラメータの中には明るさに関するパラメータも含まれる。明るさのパラメータは、人間にとって理解し易い形態で明暗の度合をＧＵＩ画面にてスライダーバー等を操作するもの、数値で設定するものなどがある。
また、画像の自動補正などにおいて、画像の明るさの度合いに応じた補正条件を用いて補正するものがある（特許文献１）。
【特許文献１】特開平３−２７８９５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、イメージスキャナから出力されるデータはＲ、Ｇ、Ｂ空間のデジタルデータであり、設定された明るさの度合に応じて各色成分毎にγ変換を施すことになる。ところが、明るさの度合を強くした場合、画像全体の色みが強くなりすぎるという現象が発生する。
【０００４】
そこで、ＲＧＢ色空間から比較的簡便に変換できるＹＣｂＣｒ色空間に各画素値を変換し、その中のＹ成分（輝度成分）についてのみ、指定されたパラメータに従って補正を行い、最後にＲＧＢ画像を得る方法が考えられる。しかしながら、ＹＣｂＣｒ色空間でＹ成分を明るく設定すればするほど、画像全体の色みが失われていく現象が発生する。
【０００５】
本発明はかかる問題点に鑑みされたものであり、明るさ等の画像の色を決定する要素についての補正を行う際に、画像全体が不自然になることを抑制し、良好なカラー画像を得る技術を提供しようとするものである。
【課題を解決するための手段】
【０００６】
画像データの色を決定する複数の要素中の１つの要素について補正する画像処理装置であって、
補正対象の要素を変更した場合に他の要素に関する少なくとも１つの画質に与える影響方向が異なる第１、第２の色空間それぞれの画像データを、補正対象とする画像データから変換して得る色空間変換手段と、
該色空間変換手段で得られた第１の色空間の第１の画像データと、第２の色空間の第２の画像データそれぞれに対して前記補正対象の要素の変更を反映させて、補正済第１の画像データと補正済第２の画像データを得る画像補正手段と、
前記補正済第１の画像データと前記補正済第２の画像データそれぞれの色空間を同一色空間にし、所定比率で合成する合成手段とを備える。
【発明の効果】
【０００７】
本発明によれば、明るさ等の画像の色を決定する要素についての補正を行う際に、画像全体が不自然になることを抑制し、良好なカラー画像を得ることが可能になる。
【発明を実施するための最良の形態】
【０００８】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【０００９】
＜第１の実施形態＞
図中、１０１は装置全体の制御を司るＣＰＵであり、１０２はＢＩＯＳやブートプログラムを記憶するＲＯＭ、１０３はＣＰＵ１０１のワークエリアとして使用されるＲＡＭである。１０４はキーボード、ポインティングデバイス（マウス（登録商標）、トラックボール、トラックパッド、タブレット等）で構成される入力部である。なお、キーボードは物理的なキーボードとするが、画面上に表示するソフトウェアキーボードやボタン群、モードダイヤルでも構わない。１０５はハードディスク等の大容量の外部記憶装置であり、ここにはＯＳや実施形態で説明するプログラムや各種アプリケーション、並びに処理した画像ファイル等を記憶する。
【００１０】
１０６は機器間通信を行う通信部であって、イーサネット（登録商標）インタフェース、ＵＳＢ、IEEE1284、IEEE1394、電話回線などの有線による通信方式であってもよいし、あるいは赤外線(IrDA)、IEEE802.11a, IEEE802.11b, IEEE802.11g, Bluetooth, UWB（Ultra Wide Band）等の無線通信方式であっても良い。
【００１１】
１０７はビデオメモリとそのビデオへの描画処理するコントローラ、更には、ビデオメモリに描画された画像データをビデオ信号として表示部１０８に出力する表示制御部である。表示部１０８としては、ＣＲＴ装置、液晶表示装置等が挙げられる。
【００１２】
１０９は画像入力インタフェースであり、画像データ発生源１１０（イメージスキャナやデジタルカメラ等）からの画像データを入力するためのものである。また、画像データ発生源としては、画像データを記憶した記憶媒体（ＣＤＲＯＭ、ＤＶＤ、メモリカード等）でも構わない。この場合には、画像データ発生源はそれら記憶媒体をアクセスするデバイスとなる。また、画像データはネットワークから受信するようにする場合胃は、通信部１０６を介して入力することになる。
【００１３】
本装置に電源が投入されると、ＣＰＵ１０１はＲＯＭ１０２のブートプログラムに従って処理を開始し、外部記憶装置１０５からＯＳをＲＡＭ１０３にロードし、そして、各種アプリケーションプログラムも同装置からＲＡＭ１０３にロードして実行することになる。
【００１４】
本実施形態では、画像データを補正する処理に特徴を有するものであるが、説明を簡単なものとするため、画像データ発生源１１０はイメージスキャナ、実施形態における画像補正処理プログラムは外部記憶装置１０５からＲＡＭにロードされるスキャナドライバとして説明する。
【００１５】
本実施形態における画像補正処理プログラムは、入力画像データの色空間がＲＧＢ色空間で表わされ、補正を行う色空間（以下、補正色空間とも略記）としてＲＧＢ色空間（第一の補正色空間）とＹＣｂＣＲ（以下YCCとも略する）色空間（第二の補正色空間）、第一の補正色空間での補正結果と第二の色補正空間での補正結果を合成する色空間（以下、合成色空間とも略記）をＲＧＢ色空間、出力画像データの色空間をＲＧＢ色空間として説明を行う。
【００１６】
画像データの補正はγ変換について説明し、ＲＧＢ色空間では、Ｒ，Ｇ，Ｂ各色成分データに対して独立にγ補正を行い、ＹＣｂＣｒ色空間ではＹ成分のみにγ補正を行う場合を例として説明を行う。また、入出力画像データの画素のＲ、Ｇ、Ｂの各成分データは８ビット符号なし整数（２５６階調）として説明するが、Ｒ、Ｇ、Ｂの値のビット長さは例えば１６ビットの整数値でも良い。或いは、0.0〜1.0の実数値で表現しても構わない。ＹＣｂＣｒ色空間の各成分データＹ、Ｃｂ、Ｃｒは、後述する色空間変換の式によれば、Ｒ、Ｇ、Ｂが整数値であっても、実数となるが、この小数部を丸めて整数化して扱うのであっても良いし、あるいは実数値のまま扱うのであっても良い。
【００１７】
まずＲＧＢ色空間からＹＣｂＣｒ色空間への変換は次の式１の通りである。
【数１】
2005252392.tif 000003
【００１８】
また、ＹＣｂＣｒ色空間からＲＧＢ色空間への変換は次の式２の通りである。
【数２】
2005252392.tif 000004
【００１９】
また、γ補正は、入力値が0〜1.0の実数値で表される場合、次の式３に示すような処理である。式３中の“γ”は、このγ補正処理のパラメータであり、Ｓinは入力画素値、Ｓoutはγ補正後の画素値である。
【数３】
2005252392.tif 000005
【００２０】
また、入力値が８ビット（０乃至２５５のいずれかの整数）で表される場合のガンマ補正は、次の式４になる。
【数４】
2005252392.tif 000006
【００２１】
図２は、このγ補正カーブを示している。図２で、横軸は入力値、縦軸はγ補正後の出力値である。図２に示すように、パラメータγの値が“１”の場合、入力信号値と出力信号値は一致し、γが“1.0”より大きい場合には、中間レベルの信号値が小さくなるように、γが“1.0”より小さい場合には、中間レベルの信号値が大きくなるように補正される。Ｒ、Ｇ、Ｂは波長は異なるもののそれぞれの輝度を示し、ＹＣｂＣｒのＹは文字通りの輝度成分であるので、これらを入力値とした場合、γ値が“1.0”を越える場合には暗くなる方向に補正され、γ値が“1.0”より小さい場合には明るくなる方向に補正されることになる。
次に、実施形態におけるスキャナドライバの処理を説明する。この処理は、上位の画像編集等のアプリケーションから、原稿読取りが指示された場合に起動するものである。
【００２２】
先ず、ステップＳ１において、図５に示すようなＧＵＩウインドウ５０１を表示部１０８に表示させるべく、表示制御部１０７に対し、図５に示すようなＧＵＩの描画を行わせる。
【００２３】
ＧＵＩウインドウ５０１には、図示に示すように、原稿読取りに関する各種パラメータ領域５０２、設定するパラメータ項目を表示させるためのスクロール指示部５０３、並びに、スキャンを中止するキャンセルボタン５０４、スキャンの開始指示を行うためのスキャンボタン５０５等の各種コントロールアイテムが設けられている。
【００２４】
設定パラメータには、スキャンモード、解像度、明るさ…が含まれる。この中で、スキャンモードとしては、２値モノクロ、８ビットモノクロ（２５６階調グレースール）、そして、図示の２４ビットカラー多値（Ｒ、Ｇ、Ｂそれぞれを２５６階調で読込むモード）の中から選択できる。明るさは、感覚的なものであるので図示のようにスライダーバー形態で表示した。スライダバーのツマミ位置は初期状態では中央（γ値が“1.0”に相当）に設定される。
【００２５】
図５のＧＵＩウインドウを表示すると、ユーザは、表示中の各コントロールアイテムのいずれかを入力部１０４を操作して選択や設定等の各種操作を行う。この操作内容をステップＳ２、Ｓ３にて判定することになる。なお、この場合の入力部１０４の操作は、ポインティングデバイスに連動するカーソルの表示位置変更と、ポインティングデバイスに設けられたボタンの押下（以下、単にクリックという）操作であるものとする。
【００２６】
スキャンパラメータを設定する操作を行った場合には、ステップＳ４にてその設定に応じた表示更新とその際の設定内容を記憶保持する処理を行う。また、キャンセルボタン５０４がクリックされた場合には本処理を終了する。
【００２７】
さて、スキャンボタン５０５がクリックされると、処理はステップＳ５に進んで、直前の操作で設定された各パラメータのうち、画像データ発生源１１０であるイメージスキャナに送信すべきパラメータとスキャン開始指示コマンドをイメージスキャナに送信する。イメージスキャナに送信したパラメータ以外のパラメータに関する処理は、実施形態におけるスキャナドライバ側で処理することになる。詳細は後述するが、この明るさパラメータによって、補正処理に利用するγ補正パラメータを、スキャナドライバが有するテーブル（実行時はＲＡＭ１０６に格納されることになる）に基づいて決定する。図７はそのテーブルを示している。
【００２８】
実施形態では、スキャンモードや読取り解像度に関してはイメージスキャナに送信し、明るさについてはスキャナドライバ側で処理するものとする。
【００２９】
ステップＳ５による処理の結果、イメージスキャナは原稿の読取りを開始することになる。イメージスキャナ装置には、リニアイメージセンサが固定されていて原稿を搬送するタイプ、イメージセンサを原稿に対して搬送するタイプがあるが、いずれでも構わない。要は、原稿とイメージセンサが相対的に移動するものであればよい。この移動方向を副走査方向、それに直交する方向のリニアイメージセンサの撮像素子が配列方向を主走査方向と言う。
【００３０】
原稿読取り指示を行うと、１ライン単位にＲ、Ｇ、Ｂデータが送信されてくるので、ステップＳ６にて、画像データの入力（受信）及び補正処理を行い、ステップＳ７にて、本スキャナドライバを起動させたアプリケーションに補正後の画像データ（Ｒ、Ｇ、Ｂデータ）を出力することになる。
【００３１】
次に、図３におけるステップＳ６の処理の詳細を図４のフローチャートに従って説明する。なお、イメージスキャナからは１ライン単位に読取ったＲ、Ｇ、Ｂデータが入力されるが、副走査方向の各ラインのデータが入力されるので、入力される画像は２次元画像（２次元マトリクス）として見なして説明する。すなわち、図６に示すように、読取られた画像に対して主走査方向（図示の実線矢印）に１画素単位に読み込み、ラインの終端画素の補正処理が終わると、次ラインの先頭の画素に対する補正を行うこと、最終ラインの終端画素まで行うことになる。また、イメージスキャナから入力された画像データはＲＡＭ１０３に格納されていく。
【００３２】
先ず、ステップＳ２０１では、補正対象画素の画素値データを読み込む。これは、入力画像の対象画素の格納されているＲＡＭ１０６のアドレスを計算し、該当アドレスから１画素分のデータを読み込む。以下、ここで読み込んだ１画素のデータはＲ、Ｇ、Ｂ（各８ビット＝０〜２５５の範囲内の整数値）で構成さるので、以下では、１画素データを（ｒ，ｇ，ｂ）として説明する。
【００３３】
ステップＳ２０２では、対象画素データを第１の補正色空間に変換する。本実施形態の場合、入力画像データの色空間と、第１の補正色空間は同じＲＧＢ色空間であるので、特に変換する必要はない。このような場合、本ステップＳ２０２は省略しても良い。
【００３４】
次いで、ステップＳ２０３では、第１の補正色空間で補正を適用する。本実施形態の場合、第１の補正色空間はＲＧＢ色空間である。従って注目画素データ（ｒ、ｇ、ｂ）に対して、図７のテーブルで決定されたγ補正パラメータγr,γg,γbをγ値とする式４のγ補正処理を行う。γ補正パラメータγrはＲ成分用、γgはＧ成分用、γbはＢ成分用のγ値である。補正後のＲ、Ｇ、Ｂの各データをｒ',ｇ',ｂ'とすると、この補正処理では次の式５による補正を行うことになる。
【数５】
2005252392.tif 000007
【００３５】
なお、この補正処理は、演算によるものであるが、各色成分に対するγ値が決まると、入力値に対する補正の値が一意に決定されるので、設定された明るさパラメータに対応する入出力関係を示すテーブルを用意しておき、そのテーブルを参照して求めても構わない。この場合、演算処理は実質的になくなるので、演算に係る多くのクロックを削減でき、イメージスキャナからの画像データの入力速度（読取り速度と実質的等価）に近づけることが可能となる。
ステップＳ２０４では、ステップＳ２０３の処理結果である、第１の補正色空間の補正画素データを合成色空間のデータに変換する。本実施形態の場合、第１の補正色空間と合成色空間は同じＲＧＢ色空間なので、特に変換する必要はない。このような場合、本ステップＳ２０４は省略しても良い。
【００３６】
続く、ステップＳ２０５では、対象画素データ（ｒ、ｇ、ｂ）を第２の補正色空間に変換する。本実施形態における第２の補正色空間はＹＣｂＣｒ色空間であり、入力画素データの色空間はＲＧＢ色空間なので、先に示した式１に従って色空間変換を行う。変換して得られたＹ，Ｃｂ，Ｃｒの各データを（ｙ，ｃｂ，ｃｒ）として説明する。ｙ値がＹＣｂＣｒのＹ、すなわち輝度値に対応し、ｃｂ値、ｃｒ値は色差値Ｃｂ，Ｃｒに対応する。なお、このｙ、ｃｂ、ｃｒは小数点以下適当な桁まで有する実数で表わされる。
【００３７】
なお、ステップＳ２０２と同様に、色空間変換が不要な場合、本ステップＳ２０５は省略可能であるのは明らかである。
【００３８】
ステップＳ２０６では、第２の補正色空間の画素データ（ｙ，ｃｂ，ｃｒ）のｙ値を、図７のテーブルで決定されたγ値“γy”を用いて次式６で補正する。補正する対象はｙデータである。補正後のＹ成分の値をｙ’と表現すると、補正後の画素データは（ｙ’、ｃｂ、ｃｒ）で表わされる。
【数６】
2005252392.tif 000008
【００３９】
ステップＳ２０７では、ステップＳ２０６の処理結果である、第２の補正色空間の補正後の画素データ（ｙ’、ｃｂ，ｃｒ）を合成色空間のデータに変換する。本実施形態の場合、第２の補正色空間はＹＣｂＣｒ色空間であり、合成色空間はＲＧＢ空間なので、式２に従って色空間変換を行うことになる。この色変換後のデータを以下（ｒ''，ｇ''，ｂ''）で表わす。
以上の結果、イメージスキャナから入力された画素値（ｒ、ｇ、ｂ）に対して、その補正後の画素値（ｒ’、ｇ’、ｂ’）と、画素値（ｒ''，ｇ''，ｂ''）が得られることになる。なお、ステップＳ２０４と同様に、色空間変換が不要な場合、本ステップＳ２０７は省略可能であるのは明らかである。
【００４０】
次のステップＳ２０８では、先のステップＳ２０４で得られた第１の補正色空間での補正結果を合成色空間に変換したデータと、ステップＳ２０７で得られた第２の補正色空間での補正結果を合成色空間に変換したデータとを合成する。本実施形態の場合には、第１の補正色空間での補正結果と第２の補正色空間での補正結果を重み付け平均して算出する。合成後の画素値を(ｒ''',ｇ''',ｂ''')とすると、次の式７により演算する。
【数７】
2005252392.tif 000009
【００４１】
ここで、αR、αG、αBは、第１の色空間での補正結果と第２の色空間での補正結果を合成する際のＲ、Ｇ、Ｂ各成分の重み付け係数である。実験で確かめたところ、αR＝αG＝αB＝０．５で良好な結果が得られた。
また、本実施形態では重み付け平均によって合成を行ったが、第１の色空間と第２の色空間での補正結果のうち、信号値が大きいほう、もしくは信号値が小さいほうを合成結果とするような変形も容易である。また、αR、αG、αBに相当する設定を、ＧＵＩウインドウにて設定するようにしても構わない。
【００４２】
次に、ステップＳ２０９では、ステップＳ２０８で合成した画素データ（ｒ''',ｇ''',ｂ''')を出力色空間に変換して、ＲＡＭ１０３に確保された出力バッファに出力する。本実施形態では、合成色空間と出力色空間は同じＲＧＢ色空間であるので、特に変換は必要ない。したがって、ステップＳ２０８の結果である画素データ(ｒ''',ｇ''',ｂ'''を出力バッファに出力する。出力処理は、ＲＡＭ１０３でのアドレス位置を計算し、得られたアドレス位置に書き込むことになる。このとき、次の補正対象の画素位置を決定するため、図６に示す方向に移動する。
【００４３】
そして、ステップＳ２１１にて、画像の最終ラインの最終画素に対する補正が完了したか否かを判断し、否の場合にはステップＳ２０１以降の処理を繰り返すことになる。また、全画素に対する処理が完了したと判断した場合には、図３のステップＳ６の処理を終えることになるから、ステップＳ７にて上位アプリケーションに補正後のデータを出力することになる。
【００４４】
なお、上記では、画像全体の補正処理が終わってから、スキャナドライバの実行指示した上位アプリケーションに補正後のデータを渡すものであったが、補正後のデータが作成されるたびに上位アプリケーションに渡すようにしても構わない。
【００４５】
また、本実施形態では、第２の補正色空間であるＹＣｂＣｒ色空間上でＹ信号のみを補正したが、これは明るさに対する補正のためである。スキャンする際のＧＵＩウインドウにて、色味に関するパラメータを設定しているのであれば、Ｃｂ、Ｃｒに補正を行うようになる。
【００４６】
また、実施形態では、入力されるＲＧＢが８ビット（符号無し＝０乃至２５５のレンジ）、或いは、それを正規化した0.0〜1.0として説明を行ったが、例えば公知のｓｃＲＧＢのように、負の値や、１．０を超える値をとるような色空間にも容易に適用可能であることは明らかである。
【００４７】
また、入力される画像データがＲＧＢに限らず、例えばデジタルカメラで撮像された画像の多くは、ＹｃｂＣｒが多い。このような画像を入力した場合には、復号処理後の第１の色空間は当然ＹＣｂＣｒとして処理されるので、上記実施形態で説明した第１、第２の色空間、合成色空間、出力色空間は適宜変更してもよいことも明らかである。
【００４８】
また、実施形態では、特性の異なる２つの色空間の画素データを合成することで、出力画素を決定する例を説明したが、３つ、あるいはそれ以上の色空間のデータを作成した後、共通な色空間にして合成してもよいことも明らかである。要は、ＲＧＢ色空間とＹＣｂＣｒ色空間のように、明るさ（補正対象要素）を明るくするように補正を行った場合に、それぞれの色空間で他の要素（実施形態では色み（彩度））が強くなるものとそれとは逆に弱くなるような色空間であれば適用可能である。
【００４９】
また、実施形態では、明るさ調整をγ変換で実現する例を説明したが、これ以外の信号変換処理であっても適用可能であることは言うまでもない。
【００５０】
また、実施形態では、画像処理のパラメータをユーザが指示するような例で説明したが、パラメータを入力画像全体もしくは部分画像の解析結果より自動的に設定するように構成しても良い。例えば、実施形態のγ変換処理の場合、入力画像全体の平均輝度を算出して、その平均輝度に応じてγ変換のパラメータγを決定するように構成しても良い。この時、必要であれば画像全体を一度蓄積するようにし、蓄積した画像に対して補正を適用するように構成すれば良い。あるいは、公知のスキャナ装置等で実施する場合、一度低解像度で画像読み込み（プレスキャン）を行い、画像読み込み領域等設定してから目的とする解像度で画像を読み込む（本スキャン）ように構成することが可能なので、プレスキャンの画像からパラメータを決定し、そのパラメータを本スキャン画像に対して適用するように構成することも可能である。このような構成は、大量の画像を自動処理するような、対話的な処理を行いにくい、もしくは対話的な処理を減らしたい場合に好適である。平均輝度とγパラメータの対応関係は、予め定めておいてテーブル化して保持しておけば良く、実行時にはそのテーブルを参照するように構成すれば良い。あるいは、算出した平均輝度レベルが予め定めておいた値、例えば0.5（８ビット符号なし整数での表現の場合は１２８）といった値になるようなγ変換のγパラメータを逆に計算し、その計算の結果得られたγパラメータに応じて処理を行うように構成することも可能である。いずれにせよ、本発明は２つの色空間での補正結果を合成することが主眼であって、補正パラメータの与え方には様々な変形があって良い。
【００５１】
更に、実施形態で説明したように、画像データを入力したり、保存する構成を必要とするものの、それらと協動処理するパーソナルコンピュータ等の汎用情報処理装置上で実行されるコンピュータプログラムで実現可能であるから、本発明はコンピュータプログラムをその範疇とする。また、通常、コンピュータプログラムはＣＤＲＯＭ等のコンピュータ可読記憶媒体をコンピュータにセットし、システムにコピーもしくはインストールすることで実行可能となるわけであるから、当然、このようなコンピュータ可読記憶媒体も本発明の範疇になる。
【００５２】
以上説明したように、本実施形態によれば、画像補正の際に第一の色空間で行った補正結果と第二の色空間で行った補正結果を合成することにより、好適な補正結果を得ることができる。
【００５３】
＜変形例＞
上記実施形態では、第１の補正色空間および第２の補正色空間に実際に画素値データを変換したが、ＲＧＢ色空間と、それに対して線形変換である行列演算を行って得られるＹＣｂＣｒ色空間のみを用いるような場合には、実際にＹＣｂＣｒ色空間に変換しなくても処理を行うことが可能である。
【００５４】
今、あるＲＧＢデータ（ｒ１、ｇ１、ｂ１）からＹＣｂＣｒ色空間のデータ（ｙ１、ｃｂ１、ｃｒ１）を得て、データｙ１をｙ２に変換した結果を再びＲＧＢ空間のデータ（ｒ２、ｇ２、ｂ２）にする場合を考察する。ここで、「ｙ２−ｙ１」をｄｙとすると、ｙ２＝ｙ１＋ｄｙとなる。
【００５５】
従って、式２に（ｒ２、ｇ２、ｂ２）と、ｙ２＝ｙ１＋ｄｙを代入して整理すると、次の式８が得られる。
【数８】
2005252392.tif 000010
【００５６】
上記のように、ＲＧＢ色空間の画素データをＹＣｂＣｒ色空間に変換してＹの値を変更して再びＲＧＢ色空間に戻す処理は、Ｙの変分を計算し、それを元のＲＧＢの各成分に足すことと等価であることがわかる。
したがって、実際にＲＧＢよりＹＣｂＣｒに変換するのではなく、元データのＲＧＢ画素値より、ＹＣｂＣｒ色空間におけるＹ成分のみを算出し、そのＹ成分にγ補正を施した後の変分値を計算すれば、演算量は少なくできることになり、ソフトウェア（コンピュータプログラム）で実現する場合には、その処理を高速なものとすることができる。
【００５７】
上記の処理を実現する場合の処理を図８のフローチャートに従って説明する。同図は図４に代わるものでもあるので、同じ処理を行う工程には同符号を付与し、その説明を省略する。
【００５８】
先ず、ステップＳ５０１において、ステップＳ２０１同様に対象データのＲＧＢの画素値を読み込む。
【００５９】
ステップＳ５０２では、ステップＳ２０３で説明したように、ＲＧＢ色空間での補正処理を行う。なお、図４のステップＳ２０２、Ｓ２０４は、第１の実施形態で説明したように、本実施形態では色空間変換が不要なので、図８では省略してある。
【００６０】
続くステップＳ５０３では、第１の実施形態とは異なり、ＹＣｂＣｒ色空間での補正による、ｙ値の変分ｄｙを算出する。
【００６１】
この処理では、先ず、ｙ値を算出する。これには、式１におけるＣｂ、Ｃｒについて演算は不要であり、以下の式９に（ｒ，ｇ，ｂ）を代入し、ｙ値を算出すれば良い。
ｙ＝０．２９９×ｒ＋０．５８７０×ｇ＋０．１１４０×ｂ    …式９
続いて、式６により、γ補正後のｙ’を算出する。これは既に第１の実施形態で説明したので割愛する。次に、輝度差分値ｄｙ＝ｙ'−ｙを計算する。これは、求めたｙ'からｙを単純に減じればよい。
【００６２】
第１の実施形態において、γ変換を予めルックアップテーブル化することについて言及したが、このｄｙもγ値が定まった後にはｙの値により一意に決定するので、予め０〜２５５の場合についてｄｙを算出しておきルックアップテーブル化することも可能である。
【００６３】
続くステップＳ５０５では、ＹＣｂＣｒ空間での補正結果のＲＧＢ色空間に変換する。そして変換して得られたデータを、元のＲＧＢ画素値とステップＳ５０４で求めたｄｙより算出する。これは、先に説明したように、式８において、（ｒ２、ｇ２、ｂ２）を（ｒ''、ｇ''、ｂ'')とし、（ｒ１、ｇ１、ｂ１）を（ｒ'、ｇ'、ｂ'）とすれば求めることができる。
【００６４】
以上、ＲＧＢ色空間と、それに対して線形変換である行列演算を行って得られるＹＣｂＣｒ色空間のみを用いるような場合には、実際にＹＣｂＣｒ色空間の全データに変換しなくても処理を行う変形例を示した。この場合、第１の実施形態で説明した場合に比べ計算量を削減できるので処理の高速化が望めるという利得がある。
【００６５】
また、本実施形態はＲＧＢ色空間上で処理を行う例を示したが、ＲＧＢ色空間とＹＣｂＣｒ色空間は線形変換の関係にあるので、逆にＹＣｂＣｒ空間上で行うような変形も可能である。
【００６６】
また、実施形態ではＲＧＢ色空間とＹＣｂＣｒ色空間を例にしたが、他の色空間であっても同様な関係、すなわち、明るさ等の画像調整対象パラメータを変更した場合、第１の色空間と第２の色空間では相反するような画質になる関係にある場合に適用可能である。
【００６７】
＜第２の実施形態＞
上記第１の実施形態並びにその変形例は、ホストコンピュータ等で実行されるイメージスキャナドライバを例にした。また、合成係数αR、αG、αBもＧＵＩウインドウにて設定するようにしても良い点についても言及した。従って、アプリケーションを利用しているユーザにとっては、編集対象の読み取り画像を表示した際には、そこには最適な画像が表示されることとが可能となる。
【００６８】
しかし、スキャナで読取った無加工の画像データを、インタラクティブ（対話形式）に明るさ等を画調に関する編集を行い、故意に明るさを強調もしくは暗目にしたいという要望があるかもしれない。
【００６９】
本第２の実施形態では、このような要望に応えるためのアプリケーションプログラムにつて説明する。なお、本第２の実施形態でも、編集対象の画像は、スキャナで読取る場合には、スキャナドライバを介在させることになるが、この場合のスキャナドライバは通常のそれと同様で、無加工もしくはそれに近い画像データをアプリケーションに渡すものとする。また、第２の実施形態での処理はアプリケーションプログラムであるので、編集対象の画像ファイルは、デジタルカメラで撮像された画像ファイルでも良いことになる点に注意されたい。
【００７０】
説明を簡単なものとするため、ここではデジタルカメラで撮像した画像（ＪＰＥＧファイル）の明るさ補正を行う場合について説明する。装置構成は、図１と同じものとする。
【００７１】
前提としてＪＰＥＧファイルの色空間はＹＣｂＣｒとする。また、表示装置は一般的なＲＧＢの各輝度成分にしたがって表示するものとする。従って、ＪＰＥＧファイルをデコードする際には、図４におけるステップＳ２０２の処理を行うことと等価となる。また、表示装置がＲＧＢであるので、合成色空間はＲＧＢであると都合が良い。更に、最終的にユーザは明るさ補正を行った画像を保存する際に、そのファイル形式を指定することになるので、出力色空間への変換、すなわち、図４でのステップＳ２１０はその際の保存形式で決定されることになる。
【００７２】
図９は第２の実施形態における画像編集アプリケーションにおける編集ウインドウを示している。
【００７３】
図示において、９０１は編集対象の画像を指定するためのファイル指定コントロールである。図示に示すように、ファイルをパス付きでキーボードより入力するものとするが、右端にある▽印をクリックすることで、ファイル選択のためのダイアログボックスを表示して、ポインティングデバイスで編集対象のファイルを選択しても構わない。９０２は選択した画像ファイルを表示するオリジナル画像表示エリアである。
【００７４】
９０３はＲＧＢ空間での明るさ調整用エリアであり、図示に示すようにＲ、Ｇ、Ｂ各成分毎にγ値を調整するスライダバー９０３（初期値は中央位置にツマミが位置するので、各γ値は“1.0”）が設けられている。また、図示の「連動」チェックボックス９０３ｂをチェックすると、１つの色成分のスライダバーを左右に移動させると、他の色成分のスライダーバーも同位置に移動する。そして、γ補正後の画像をリアルタイムに表示する画像表示エリア９０３ｃと、その結果を保存したい場合にクリックする保存ボタン９０３ｄを備える。
【００７５】
９０４はＹＣｂＣｒ空間でのＹ成分についての明るさ調整用エリアであり、Ｙ成分についてのスライダーバー９０４ａ（初期状態ではツマミ位置が中央にあり、γ値は“1.0”），調整後の画像をリアルタイムに表示する画像表示エリア９０４ｃ、及び保存ボタン９０４ｄを備える。
【００７６】
９０５は合成画像結果を表示する合成画像調整エリアであり、合成係数αR、αG、αBそれぞれをＲＧＢ空間での補正結果と、ＹＣｂＣｒ空間での補正結果とのどちらよりにするかを指定するスライダーバー９０５ａを備える。スライダーバーのツマミが中央位置にあるとき、第１の実施形態で説明した状態になる。また、リアルタイムに合成結果を表示する画像表示エリア９０５ｃ、及び保存ボタン９０５ｄを含む。
【００７７】
ユーザは所望とするスライダーバーをポインティングデバイスを用いてドラッグ操作することで、明るさを調整することが可能になる。
【００７８】
上記処理を実現するため、ＲＡＭ１０３の格納状況を図１０に従って説明する。
【００７９】
ＪＰＥＧデータ（ユーザが指定した画像ファイルのデータ）はＲＡＭ１０６のエリア１０ａに格納される。読み込みが行われると、デコード処理を行い、その結果であるＲＧＢ形式の画像データがエリア１０６ｂに展開される。このエリア１０６ｂに格納された画像データが図９のオリジナル画像表示エリア９０２に表示される。なお、一般に、デジタルカメラで撮像した画像サイズは数百万画素になり、表示装置の表示能力を越える。従って、適当に間引き処理した結果を表示する。これは以下に説明する画像表示でも同様である。
【００８０】
オリジナル画像データがエリア１０６ｂに格納されると、その画像データをその際のＲＧＢのスライダーバーのツマミ位置に従ってγ補正を行い、エリア１０６ｃに格納する。こｎエリア１０６ｃに格納された画像が画像表示領域９０３ｃに格納される。
【００８１】
また、エリア１０６ｂに格納された画像（ＲＧＢ空間画像データ）をＹＣｂＣｒ変換を行い、エリア１０６ｄに格納する。表示装置はＲＧＢ形式でしか表示できないから、このエリア１０６ｄに格納された画像データをそのまま表示することはできない。そこで、エリア１０６ｄに格納された画像は、そのＹ成分についてのスライダーバーのツマミ位置にしたがってγ補正を行い、その結果をＲＧＢ変換を行ってエリア１０６ｅに格納する。そして、このエリア１０６ｅに格納された画像を画像表示エリア９０４ｃに表示する。なお、エリア１０６ｄへのＹＣｂＣｒ空間画像データの格納処理は一度だけで良い。
【００８２】
また、エリア１０６ｃ、エリア１０６ｅのいずれか一方が更新された場合には、それら２つの画像をスライダーバー９０５ａの各ツマミ位置にしたがった比率で合成し、その結果をエリア１０６ｆに格納する。エリア１０６ｆに格納された画像は、画像表示エリア９０５に表示するために使用される。
【００８３】
以上であるが、エリア１０６ｃ、エリア１０６ｅのいずれか一方が更新された場合に図４のステップＳ２０８以降の処理を行えば良い。また、上記説明から本第２の実施形態におけるアプリケーションの処理内容は自明であるから、その説明については省略する。
【００８４】
以上説明したように本第２の実施形態によれば、第１の実施形態の作用効果に加えて、画像編集処理でのインタラクティブな編集にも適用できるようになり、且つ、ユーザは編集結果得られる３つのうち少なくとも１つの画像を保存することも可能となる。
【図面の簡単な説明】
【００８５】
【図１】実施形態における画像処理装置のブロック構成図である。
【図２】γ補正の変換曲線の例を示す図である。
【図３】実施形態におけるスキャナドライバの処理手順を示すフローチャートである。
【図４】図３におけるステップＳ６の詳細を示すフローチャートである。
【図５】実施形態のスキャナドライバ起動時のＧＵＩウインドウの一例を示す図である。
【図６】実施形態における画像補正の際のスキャン順を示す図である。
【図７】明るさとγ補正のパラメータとの対応テーブルを示す図である。
【図８】図３におけるステップＳ６の変形例の詳細を示すフローチャートである。
【図９】第２の実施形態における画像編集ウインドウの一例を示す図である。
【図１０】第２の実施形態におけるＲＡＭのデータの格納状態と変換処理の関係を示す図である。
【図１】
2005252392.tif 000011
【図２】
2005252392.tif 000012
【図３】
2005252392.tif 000013
【図４】
2005252392.tif 000014
【図５】
2005252392.tif 000015
【図６】
2005252392.tif 000016
【図７】
2005252392.tif 000017
【図８】
2005252392.tif 000018
【図９】
2005252392.tif 000019
【図１０】
2005252392.tif 000020