(57)【要約】【課題】明度・彩度のバランスに配慮しつつ、色の調整を行うことのできる画像処理装置を提供する。【解決手段】処理の対象となる画像データ中の色値を、所定の色空間での値に変換したときに、この所定の色空間に関して予め規定された値域外の値となったときに、所定の方法で定めた目標輝度の色となるよう、当該変換後の値を補正する画像処理装置である。【選択図】図１
2008124912.tif 000002
【特許請求の範囲】
【請求項１】
処理の対象となる画像データ中の色値をそれぞれ、所定の色空間での値に変換する手段と、
前記所定の色空間に関して予め規定された値域を記憶する手段と、
前記変換により、いずれかの色値が、前記記憶されている値域の上限を超えた値に変換されたときに、調整用のオフセット値を算出するオフセット算出手段と、
前記算出したオフセット値を前記変換後の各値に加算し、当該加算後の各値の最大値が前記色空間の上限となるよう、前記変換後の各値を補正する手段と、
を含むことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記オフセット算出手段は、前記値域の上限を超えた変換後の値を、所定の方法で定めた目標輝度の色を表わす値に変換するオフセット値を算出することを特徴とする画像処理装置。
【請求項３】
請求項２に記載の画像処理装置であって、
前記目標輝度は、前記変換後の値で表わされる色を対象色として、対象色の色度を維持しつつ、輝度を変更して前記値域内の色に調整したときの輝度と、前記対象色の輝度と、の間に設定されることを特徴とする画像処理装置。
【請求項４】
請求項３記載の画像処理装置において、
前記目標輝度は、前記変換後の値で表わされる色を対象色として、対象色の色度を維持しつつ、輝度を変更して前記値域内の色に調整したときの輝度と、前記対象色の輝度とを、所定の比を用いて加重平均した値であることを特徴とする画像処理装置。
【請求項５】
処理の対象となる画像データ中の色値を、所定の色空間での値に変換する手段と、
前記所定の色空間に関して予め規定された値域を記憶する手段と、
前記変換により、色値が、前記記憶されている値域外の値に変換されたときに、当該変換後の値で表わされる色を対象色として、対象色の色度を白色に近づけて変更し、輝度を変更して前記値域内の色に調整したときの輝度と、前記対象色の輝度との間に、目標輝度を設定する手段と、
前記変換後の値で表わされる色を、前記設定した目標輝度の色に補正する手段と、
を含むことを特徴とする画像処理装置。
【請求項６】
請求項５に記載の画像処理装置において、
前記目標輝度は、前記変換後の値で表わされる色を対象色として、対象色の色度を白色に近づけて変更し、輝度を変更して前記値域内の色に調整したときの輝度と、前記対象色の輝度とを、所定の比を用いて加重平均した値であることを特徴とする画像処理装置。
【請求項７】
請求項６に記載の画像処理装置において、
前記比は、変換後の値が表わす色の明度または色相の少なくとも一方に基づいて定められることを特徴とする画像処理装置。
【請求項８】
請求項７に記載の画像処理装置において、
前記比は、変換後の値が前記値域の上限を超えている場合と、変換後の値が前記値域の下限を下回っている場合とで異なる値に設定されることを特徴とする画像処理装置。
【請求項９】
処理の対象となる画像データ中の色値を、所定の色空間での値に変換する手順と、
前記変換により、色値が、前記所定の色空間に関して予め規定された値域の上限を超えた値に変換されたときに、調整用のオフセット値を算出する工程と、
前記算出したオフセット値を前記変換後の値に加算し、当該加算後の最大値が前記色空間の上限となるよう補正する工程と、
を含むことを特徴とする画像処理方法。
【請求項１０】
コンピュータに、
処理の対象となる画像データ中の色値を、所定の色空間での値に変換する手順と、
前記変換により、色値が、前記所定の色空間に関して予め規定された値域の上限を超えた値に変換されたときに、調整用のオフセット値を算出する手順と、
前記算出したオフセット値を前記変換後の値に加算し、当該加算後の最大値が前記色空間の上限となるよう補正する手順と、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データの色を補正する画像処理装置に関する。
【背景技術】
【０００２】
プリンタでの印刷や、ディスプレイ表示などの種々の出力に対応するため、画像データの色を様々に変換する技術が開発されている。この色変換の技術の一つとして、変換の対象となる値と変換後の値とを関連づけたテーブル（カラールックアップテーブル：ＣＬＵＴ）を用いる方法がある。このＣＬＵＴを用いる色変換技術では、演算を用いる方法よりも自由度の高い変換を行うことができる反面、テーブルを格納させておくために比較的大きいメモリ容量を要するという欠点もある。
【０００３】
この欠点は特に入力側の色（変換の対象となる色の値）の範囲が広くなるほど顕著となる。一方、一般にＬ*ａ*ｂ*などの色空間では、明度０で彩度が１００など、色としては実在しない値も含まれる。しかしながらＣＬＵＴを用いる色変換方法では、このような実在しない値に関する変換値をもテーブルとして設定しておく必要があり、無駄が多い。
【０００４】
そこで、比較的広い色域を有する色空間から、実効的な色域を抽出して定義し、画像データに含まれる色を、この実効的な色域内の色に変換してからＣＬＵＴでの色変換処理を行うことで、実効的な色域を入力値とするＣＬＵＴの利用を可能とし、ＣＬＵＴを有効に利用する技術が考えられている。
【０００５】
ところが、比較的広い色域を有する色空間から、実効的な色域の色へ変換するにあたっては、実効的な色域外にある色の調整方法が問題となっている。この調整方法としては、例えば、特許文献１に開示の方法を採用できる。
【特許文献１】特開２００４−２０１１８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示の方法では、色域の値を超える値の色については、色相・彩度を維持した状態で明度を変更することで色域内の色に変換される。また色域の値を下回る値の色については、色相・明度を維持した状態で彩度を変更することで色域内の色に変換される。このように明度または彩度が単独で変更される結果、意図しない色が発現してしまう場合があった。
【０００７】
本発明は上記実情に鑑みて為されたもので、明度・彩度のバランスに配慮しつつ、色の調整を行うことのできる画像処理装置を提供することを、その目的の一つとする。
【課題を解決するための手段】
【０００８】
上記従来例の問題点を解決するための本発明は、画像処理装置であって、処理の対象となる画像データ中の色値をそれぞれ、所定の色空間での値に変換する手段と、前記所定の色空間に関して予め規定された値域を記憶する手段と、前記変換により、いずれかの色値が、前記記憶されている値域の上限を超えた値に変換されたときに、調整用のオフセット値を算出するオフセット算出手段と、前記算出したオフセット値を前記変換後の各値に加算し、当該加算後の各値の最大値が前記色空間の上限となるよう、前記変換後の各値を補正する手段と、を含むことを特徴としている。
【０００９】
ここで前記オフセット算出手段は、前記値域の上限を超えた変換後の値を、所定の方法で定めた目標輝度の色を表わす値に変換するオフセット値を算出することとしてもよい。
【００１０】
また、前記目標輝度は、前記変換後の値で表わされる色を対象色として、対象色の色度を維持しつつ、輝度を変更して前記値域内の色に調整したときの輝度と、前記対象色の輝度と、の間に設定されることとしてもよい。
【００１１】
また、前記目標輝度は、前記変換後の値で表わされる色を対象色として、対象色の色度を維持しつつ、輝度を変更して前記値域内の色に調整したときの輝度と、前記対象色の輝度とを、所定の比を用いて加重平均した値であってもよい。
【００１２】
さらに本発明の一態様に係る画像処理装置は、処理の対象となる画像データ中の色値を、所定の色空間での値に変換する手段と、前記所定の色空間に関して予め規定された値域を記憶する手段と、前記変換により、色値が、前記記憶されている値域外の値に変換されたときに、当該変換後の値で表わされる色を対象色として、対象色の色度を白色に近づけて変更し、輝度を変更して前記値域内の色に調整したときの輝度と、前記対象色の輝度との間に、目標輝度を設定する手段と、前記変換後の値で表わされる色を、前記設定した目標輝度の色に補正する手段と、を含むことを特徴としている。
【００１３】
また、前記目標輝度は、前記変換後の値で表わされる色を対象色として、対象色の色度を白色に近づけて変更し、輝度を変更して前記値域内の色に調整したときの輝度と、前記対象色の輝度とを、所定の比を用いて加重平均した値であってもよい。
【００１４】
ここで前記比は、変換後の値が表わす色の明度または色相の少なくとも一方に基づいて定められてもよいし、前記比は、変換後の値が前記値域の上限を超えている場合と、変換後の値が前記値域の下限を下回っている場合とで異なる値に設定されてもよい。
【００１５】
さらに本発明の別の態様に係る画像処理方法は、処理の対象となる画像データ中の色値を、所定の色空間での値に変換する手順と、前記変換により、色値が、前記所定の色空間に関して予め規定された値域の上限を超えた値に変換されたときに、調整用のオフセット値を算出する工程と、前記算出したオフセット値を前記変換後の値に加算し、当該加算後の最大値が前記色空間の上限となるよう補正する工程と、を含むことを特徴としている。
【００１６】
さらに本発明の別の態様に係るプログラムは、コンピュータに、処理の対象となる画像データ中の色値を、所定の色空間での値に変換する手順と、前記変換により、色値が、前記所定の色空間に関して予め規定された値域の上限を超えた値に変換されたときに、調整用のオフセット値を算出する手順と、前記算出したオフセット値を前記変換後の値に加算し、当該加算後の最大値が前記色空間の上限となるよう補正する手順と、を実行させることを特徴としている。
【発明を実施するための最良の形態】
【００１７】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る画像処理装置は、例えばプリンタサーバによって実現され、図１に示すように、制御部１１、記憶部１２、通信部１３を含んで構成される。また、この画像処理装置１は、プリンタ等の出力装置２と、クライアント装置３とに接続されている。
【００１８】
制御部１１は、ＣＰＵ等であり、記憶部１２に格納されているプログラムに従って動作する。本実施の形態では、この制御部１１は、クライアント装置３から受信される画像データを処理の対象として、当該画像データに含まれる色を調整する処理を行う。そして、当該調整後の画像データを出力装置２に出力する。
【００１９】
記憶部１２は、メモリ素子や、ディスクデバイス等であり、制御部１１によって実行されるプログラムを保持している。このプログラムは、例えばＤＶＤ−ＲＯＭやＣＤ−ＲＯＭ等の記憶媒体に格納された状態で提供され、この記憶部１２に複写して格納されてもよい。また、この記憶部１２は、制御部１１のワークメモリとしても動作する。
【００２０】
通信部１３は、ネットワークインタフェース等の通信手段であり、出力装置２や、クライアント装置３との間でデータを送受する。ここでは、クライアント装置３から受信される画像データを制御部１１に出力する。また、制御部１１から入力される指示に従って、出力装置２へ画像データを送信する。
【００２１】
ここで制御部１１の具体的な処理の内容について説明する。制御部１１は、クライアント装置３から、出力側機器である出力装置２（ここではプリンタ）にて印刷するべき画像データを受信する。この画像データは、例えば、ビットマップの画像データである。
【００２２】
本実施の形態に係る画像処理装置１は、この制御部１１のソフトウエア処理により、機能的に図２に示すように、色空間変換部２１と、後処理部２２と、色変換部２３とを含んで構成される。ここに色空間変換部２１は、処理対象となったビットマップの画像データに含まれる各画素の値（色値）を、所定の色空間での値に変換する。ここで所定の色空間には、予め有意な色を表わす値の範囲（値域）が定められているものとする。
【００２３】
後処理部２２は、色空間変換部２１での変換結果により、変換後の値が上記値域外にあると判断される場合に、当該値を値域内の値に調整する処理を行う。この処理の内容については後に述べる。
【００２４】
色変換部２３は、後処理部２２が出力する色の値を入力値として、予め定められたＣＬＵＴを参照し、入力値に対応付けられている出力値（例えばＣＭＹＫ値）を出力する。ここでは例えば出力装置２へ出力することとしてもよい。また、入力値がＣＬＵＴ上にない場合は、入力値に近接する値を少なくとも一つ、ＣＬＵＴから見出し、見出した値に関連づけられている出力値を用いて、補間または補外処理によって出力値を演算する。なお、ここではＣＬＵＴの入力値は、予め定めた値域内の値としておいて構わない。後処理部２２により、変換後の値が必ず所定の値域内の値に補正されるからである。
【００２５】
ここで後処理部２２の動作について述べる。以下の例では、色空間変換部２１が色値をＲＧＢ（Red,Green,Blueからなる色空間）値に変換するものとし、Ｒ，Ｇ，Ｂの各成分が「０」から「１」の間にある範囲を、有意な色域として規定しておく。
【００２６】
後処理部２２は、まず変換後の値が値域を下回っているか否かを判断し、下回っている場合はそれに対応する処理を行い、次いで変換後の値が値域を上回っているか否かを判断し、上回っている場合は、それに対応する処理を実行する。
【００２７】
すなわち後処理部２２は、図３に示すように、変換後のＲＧＢの値（以下、区別のため、この値を対象値と呼ぶ）の各成分の値のうち最小の値minRGBを取得する（Ｓ１１）。そして、この最小値minRGBが値域の最小値である「０」未満（つまり負の値）となっているか否かを調べる（Ｓ１２）。つまり、対象値のいずれかの成分の値が負となっているか否かを調べる。
【００２８】
ここでいずれかの成分が負の値となっている場合、初期の輝度値として、対象値により表現される色の輝度を演算する（Ｓ１３）。具体的な例として、初期の輝度値Ｙorgを、
Ｙorg＝0.2126×Ｒ＋0.7152×Ｇ＋0.0722×Ｂ
と演算すればよい。なお、Ｙorgが「０」未満となっているときにはＹorg＝０と補正しておく。
【００２９】
そして後処理部２２は、対象値の各成分のうち最小の値が「０」となるよう、各成分にminRGBの絶対値を加算する（Ｓ１４）。ここではminRGBは負なので、
Ｒ′＝Ｒ−minRGB
Ｇ′＝Ｇ−minRGB
Ｂ′＝Ｂ−minRGB
とすればよい。この調整後のＲＧＢ値は、対象値の色度を白色の方向に近づけて変更し、併せて輝度を変更したもので、値域内の色に変換した場合の値となる。
【００３０】
後処理部２２は、この調整後のＲＧＢ値の輝度Ｙcufをさらに演算する（Ｓ１５）。
Ｙcuf＝0.2126×Ｒ′＋0.7152×Ｇ′＋0.0722×Ｂ′
【００３１】
ここで後処理部２２はＹcuf＝０であるかを調べ、（Ｓ１６）、Ｙcuf＝０であればＲ，Ｇ，Ｂの各成分の値を「０」に設定して（Ｓ１７）、当該値を出力し（Ｓ１８）、処理を終了する。
【００３２】
また、処理Ｓ１６にて、Ｙcuf＝０でなければ、目標輝度Ｙtgtを、対象色の色度を白色に近づけて変更し、輝度を変更して前記値域内の色に調整したときの輝度Ｙcufと、元の輝度Ｙorgとの間に設定する（Ｓ１９）。
【００３３】
具体的には、係数β（０≦β≦１）を用い、
Ｙtgt＝β×Ｙorg＋（１−β）×Ｙcuf
として、目標輝度を演算する。
【００３４】
そして後処理部２２は、出力するＲＧＢ値を、対象値のＲＧＢ成分の値とこの目標輝度とを用いて、
Ｒout＝Ｒ′×Ｙtgt／Ｙcuf
Ｇout＝Ｇ′×Ｙtgt／Ｙcuf
Ｂout＝Ｂ′×Ｙtgt／Ｙcuf
と演算し（Ｓ２０）、処理Ｓ１８に移行してこの値を出力する。
【００３５】
なお、処理Ｓ１２において、対象値のいずれの成分の値も負となっていない場合（つまり、どの成分とも値域内にあり、対象値が値域内にある場合）は、対象値をそのまま出力して（Ｓ２１）、処理を終了する。
【００３６】
次に後処理部２２は、図４に示すように、対象値のうちいずれかの成分が、有意な色域の最大値である「１」を超えているか（値域の上限を超えているか）否かを調べる（Ｓ１）。これは例えば、対象値の各成分のうち、最大の値maxRGBを選択し、当該最大の値が「１」を超えているか否かによって判断できる。
【００３７】
後処理部２２は、ここで変換後の値が値域の上限を超えている場合、初期の輝度値として、対象値により表現される色の輝度を演算する（Ｓ２）。具体的な例として、初期の輝度値Ｙorgを、
Ｙorg＝0.2126×Ｒ＋0.7152×Ｇ＋0.0722×Ｂ
と演算する。そして、対象値のうち最大の成分値maxRGBで、対象値の各成分を除する。すなわち、成分の最大値により対象値を正規化する（Ｓ３）。つまり、
Ｒ′＝Ｒ／maxRGB
Ｇ′＝Ｇ／maxRGB
Ｂ′＝Ｂ／maxRGB
を演算する。
【００３８】
さらに、この正規化後の対象値の輝度値Ｙminを演算する（Ｓ４）。
【００３９】
Ｙmin＝0.2126×Ｒ′＋0.7152×Ｇ′＋0.0722×Ｂ′
【００４０】
このＹmin値は、対象値の各成分間の比（色度）を維持しつつ、輝度を変更することにより、定められた値域内の値に変換したときの輝度値に相当する。
【００４１】
模式的に、Ｌ*ａ*ｂ*空間で表すと、図５に示すように、対象値の各成分が「０」から「１」の範囲にあるときの値域に相当する色域γに対し、色空間変換部２１にて変換した後のＲＧＢ値（対象値）で表される色が、この色域γの外Ｐにあるときを考えると、処理Ｓ２にて演算したときの輝度Ｙorgは、元の対象値の輝度そのものとなる。従って、輝度を保存して、色域γ内の色に補正する場合は、Ｙ＝Ｙorgと、色域γの外縁とが交わる位置Ｑに相当する色となる。
【００４２】
また、色度を保存しつつ、輝度を変更する場合は、Ｙ＝Ｙminと、色域γの外縁とが交わる位置Ｒに相当する色となる。
【００４３】
後処理部２２は、色度を維持しつつ、輝度を変更して値域内の色に調整したときの輝度Ｙminと、変換後の色の輝度そのものである輝度Ｙorgと、の間に目標輝度Ｙtgtを設定する（Ｓ５）。具体的には、係数α（０≦α≦１）を用い、
Ｙtgt＝α×Ｙorg＋（１−α）×Ｙmin
として、目標輝度を演算する。
【００４４】
これにより図５において、ＹorgとＹminの間、α：１−αの比で表される位置に目標輝度Ｙtgtが設定される。
【００４５】
後処理部２２は、ここで演算した目標輝度Ｙtgtが「１」を超える（または「１」以上）か否かを調べ（Ｓ６）、超える（または以上）である場合はＲ，Ｇ，Ｂの各出力値を「１」に設定して（Ｓ７）、このＲＧＢ値を出力する（Ｓ８）。
【００４６】
一方、処理Ｓ７で、目標輝度Ｙtgtが「１」を超えない（または「１」未満）である場合は、変換後の色空間の各成分に係る調整用のオフセット値（ここでは対象値の各成分に共通のオフセット値）ofsRGBを演算する（Ｓ９）。
【００４７】
ｏｆｓＲＧＢ＝（maxRGB×Ｙtgt−Ｙorg）／（１−Ｙtgt）
【００４８】
そして、算出したオフセット値を、対象値の各成分に加算し、加算後の各成分の値の最大値で正規化して、加算後の最大値が色空間の値域に収まるよう補正する（Ｓ１０）。具体例として、後処理部２２は、
Ｒout＝（Ｒ＋ofsRGB）／（maxRGB＋ofsRGB）
Ｇout＝（Ｇ＋ofsRGB）／（maxRGB＋ofsRGB）
Ｂout＝（Ｂ＋ofsRGB）／（maxRGB＋ofsRGB）
と演算し、処理Ｓ８に移行して、このＲout、Ｇout、Ｂoutを各成分とするＲＧＢ値を出力する。
【００４９】
この例によると、図５において、色域γの外縁に沿って、Ｙminに相当する点ＲからＹorgに相当する点Ｑへオフセットの値だけ白色（Ｌ*＝１）の方向に移動した点Ｓの値に補正される。
【００５０】
なお、処理Ｓ１において、対象値のうちいずれかの成分が、有意な色域の最大値である「１」を超えていない（値域の上限を超えていない）場合は、処理Ｓ２１に移行し、対象値を出力して、処理を終了する。
【００５１】
入力される画像データがビットマップのデータである場合は、図３や図４に示した処理を、例えば各画素値ごとに行うことになる。
【００５２】
本実施の形態では、このようにして、色空間変換後に、当該変換後の色空間で定められた値域外の値となった色について、当該色の元々の輝度Ｙorgと、当該色の色度を維持して輝度を変更し、値域内の色に補正した場合の輝度Ｙmod（ＹminまたはＹcuf）とに基づいて、例えばそれらの間に、目標輝度Ｙtgtを定める。そして、この目標輝度の値となるよう、変換後の色（対象値で表される色）を補正する。
【００５３】
ここで、目標輝度Ｙtgtは、上述のように、ＹorgとＹmodとの間の所定比（上述のαまたはβ）で分割された点に定められても良い。これらの比は、対象値が表わす色の明度または色相の少なくとも一方に基づいて定めてもよい。すなわち、対象値が表わす色の明度または色相の関数として、経験的に定めることができる。
【００５４】
また、対象値が値域の上限を超えている（オーバーフロー）場合の比αと、対象値が値域の下限を下回っている（アンダーフロー）場合の比βとは、互いに異なる値に設定されてもよい。
【００５５】
このように本実施の形態によると、明度・彩度のバランスに配慮しつつ、色の調整を行うことができる。
【図面の簡単な説明】
【００５６】
【図１】本発明の実施の形態に係る画像処理装置の構成及びその接続例を表すブロック図である。
【図２】本発明の実施の形態に係る画像処理装置の例を表す機能ブロック図である。
【図３】本発明の実施の形態に係る画像処理装置の処理例を表すフローチャート図である。
【図４】本発明の実施の形態に係る画像処理装置の処理例を表すフローチャート図である。
【図５】本発明の実施の形態に係る画像処理装置の動作例を表す概略図である。
【符号の説明】
【００５７】
１  画像処理装置、２  出力装置、３  クライアント装置、１１  制御部、１２  記憶部、１３  通信部、２１  色空間変換部、２２  後処理部、２３  色変換部。
【図１】
2008124912.tif 000003
【図２】
2008124912.tif 000004
【図３】
2008124912.tif 000005
【図４】
2008124912.tif 000006
【図５】
2008124912.tif 000007