以下、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
本発明の実施の形態1に係る色変換出力装置は、入力色データを、色味を維持した第1の変換色データに変換し、当該変換色データと、色の偏り及び不連続性の発生していない元の入力色データとを合成し出力する。これにより、本発明に係る色変換出力装置は、色味の変化と、色の偏り及び不連続性とのどちらを重視するかに応じて、合成比率を変化させることにより、色味の変化を抑えつつ、色の偏り及び不連続性の発生を抑制できる。
まず、本発明の実施の形態1に係る色変換出力装置の構成を説明する。
図1は、本発明の実施の形態に係る色変換出力装置100の基本的な構成を示すブロック図である。図1に示す色変換出力装置100は、第1の色域の入力色データ20を第2の色域の出力色データ24へ変換し出力デバイスへ出力する。また、色変換出力装置100は、第1の色域の入力色データから得られる第1の色データと第2の色データとを基に、第2の色域の出力色データ24を生成したうえで出力する。この色変換出力装置100は、ビデオ、又は写真などの画像データをRGBなどの入力色データ20を取得したうえで入力色データ21を出力する色データ取得部10と、入力色データ21を所定の色域にマッピングすることにより第1の変換色データ22を生成する第1の色マッピング部11と、マッピングされた第1の変換色データ22と色データ取得部10から直接供給される入力色データ21とを所定の比率で合成することにより合成色データ23を生成する色合成部12と、合成色データ23を出力色データ24としてディスプレイ又はプリンターなどの色を発生するデバイスへ出力する色データ出力部13とを備える。
但し、上記第1の色マッピング部11のマッピングの仕方は、上記色変換が色域圧縮に係わるものかあるいは色域拡張に係わるものかで異なる。
色域圧縮、すなわち入力色データ20の色域が出力デバイスの色域よりも広い場合(第1の色域が第2の色域を全て含む場合)、第1の色マッピング部11は、入力色データ20を出力デバイスの色域内での色データとして圧縮マッピングする。
他方、色域拡張、すなわち入力色データ20の色域が出力デバイスの色域よりも狭い場合(第1の色域の全てが第2の色域に含まれる場合)、第1の色マッピング部11は入力色データ21を出力デバイスの色域内での色データとしてマッピングする。
まず、色域圧縮、すなわち入力色データ20の色域が色データ出力部13により出力される出力色データ24の色域よりも広い場合について説明する。例えば、Adobe(登録商標)で撮影された写真をsRGB(standard RGB)のディスプレイへ出力する場合、又はNTSC(National Television Standards Committee)の映像信号をBT.709のディスプレイへ表示する場合である。
図2は、Adobe、NTSC、sRGB及びBT.709の色域を示す図である。図2に示すようにAdobe及びNTSCの色域はsRGB及びBT.709の色域よりも広いため、色域を圧縮する必要がある。
色データ取得部10は、外部から入力された画像データ(入力色データ20)をRGBのリニア(線形)な入力色データ21に変換する。例えば、AdobeRGB及びsRGBのガンマ(γ)は0.45なので、色データ取得部10は、RGBの入力色データ20をレベル幅(8bitでは255)で除算することで正規化(0.0〜1.0の値に)した後、逆γの2.2をベキ乗することでリニア(線形)な値に変換することにより入力色データ21を生成する。なお、入力された画像データがRGBの色データでない場合、例えば輝度データと色差データとからなる画像データの場合、色データ取得部10は、入力された画像データをRGBデータへ一旦色変換したのち、RGBのリニアな入力色データ21に変換すればよい。また、色データ取得部10は、変換した入力色データ21を第1の色マッピング部11と色合成部12とへ供給する。
第1の色マッピング部11は、色データ取得部10から供給された入力色データ21を出力色データ24の色域内の色データに圧縮マッピングすることにより第1の変換色データ22を生成する。ここで、第1の色マッピング部11は、できるだけ色度が変位しない(色味が変化しない)ように入力色データ21を圧縮マッピングする。
具体的には、第1の色マッピング部11は、圧縮マッピングとして、色データ取得部10から供給されたRGBの入力色データ21を一旦デバイスに依存しない色空間であるデバイス非依存型色空間、例えばCIEのXYZの色度値に変換し、変換した色度値を出力デバイスの色域内の色度値に圧縮した後、元のRGBの色データへ逆変換することにより第1の変換色データ22を生成する。
例えば、入力色データ20がAdobeRGBのRGBデータの場合、第1の色マッピング部11は、RGBからXYZへの変換を、式(1)を用いて行い、出力デバイスがsRGBのディスプレイの場合、第1の色マッピング部11は、XYZからRGBへの変換を、式(2)を用いて行う。
なお、第1の色マッピング部11は、圧縮マッピングとして本実施例では、基本的に上記で説明したクリッピングを用いる。クリッピングによる色域圧縮は、出力デバイスの色域内で再現可能な色を忠実に再現できるという長所がある。ここで、肌色など色味が変わると人に違和感を与える色は入力色データの色度点をできるだけ変位させないようにする必要がある。よって、肌色などそれほど彩度が高くない色の範囲は出力デバイスの色域内で再現可能な、しかも入力色データの色度点(例えば、XYZのような色度値で示される点)をそのまま再現するクリッピング圧縮が適する。
最も単純なクリッピング圧縮は、例えば、AdobeRGBの色域からsRGBの色域へ変換する際に、上記式(2)でR、G又はBの値が0以下になった場合その値を0に、1以上の場合は1にすることである。つまり、第1の色マッピング部11は、圧縮マッピングとして、入力色データ21の色度値が第2の色域内に含まれる場合は、色度が変位(以下、色度変位)しないように入力色データ21を第2の色域内にマッピングし、入力色データ21の色度値が第2の色域外にある場合は、当該入力色データ21を第2の色域の色域境界へマッピングする。
なお、クリッピングについては、色域で再現できない色域外の色を、色差が最小になるような方向へ圧縮する方法を用いてもよいし、明度又は彩度が最短の色を選択するなどしてもよい。この場合、第1の色マッピング部11は、XYZ値を、式(3)及び式(4)を用いてL*a*b*空間の色度値に変換したうえで明度(L)、彩度(C)、及び色相(H)を算出する。次に、第1の色マッピング部11は、算出した明度(L)、彩度(C)、及び色相(H)の値を用いて、色差、明度又は彩度をもとにクリッピングする。なお、式(3)のXn、Yn、Znは、光源の3刺激値であり、例えば標準イルミナントD65の場合は(Xn、Yn、Zn)=(95.04、100.00、108.89)である。
色合成部12は、色データ取得部10から出力される入力色データ21(RGB)と上記第1の色マッピング部11で圧縮マッピングされた第1の変換色データ22(R’G’B’)とを、第1の色域と第2の色域とに応じて合成することにより、合成色データ23を生成する。言い換えると、色合成部12は、第1の色域の入力色データ21を第2の色域の色データとみなし、入力色データ21と第1の変換色データ22とを合成する。
ここで色合成部12は、肌色など色味が変わると人に違和感を生じる色はできるだけ圧縮クリッピングされた第1の変換色データ22(R’G’B’)の比率が高くなるように、逆に出力デバイスの色域境界及びその近傍の色は入力色データ21(RGB)の比率が高くなるように入力色データ21と第1の変換色データ22とを合成する。
ここで、入力色データ21は、第1の色域の入力色データ21を第2の色域の色データとみなした色データである。つまり、入力色データ21は、第1の色域の色度を、第2の色域に一定の比率で縮小した色データに相当する。よって、入力色データ21は、色域変換による色の偏り及び不連続性が発生していない色データである。
具体的な合成方法としては、例えば、まず、色合成部12は、入力色データ21(RGB)から色相(H)、彩度(S)及び明度(V)を算出する。例えば、色合成部12は、下記の式(5)、又は上記式(3)と式(4)とを用いる。
式(5)においてMAX、MINはそれぞれRGB値の最大値及び最小値である。
次に、色合成部12は、肌色など色味をできるだけ変えたくない色範囲(以下、保存色範囲と呼ぶ)と、そうでない、すなわち圧縮したい色範囲(以下、圧縮色範囲)とを色相(H)、彩度(S)及び明度(V)を用いて設定する。また、色合成部12は、保存色範囲及び圧縮色範囲のそれぞれに対して、その色相(H)、彩度(S)及び明度(V)の値によって入力色データ21(RGB)と第1の変換色データ22(R’G’B’)との合成比率を変えて入力色データ21と第1の変換色データ22とを合成する。
合成比率をrで表し、その範囲を0.0〜1.0で示すとした場合、r=1.0は合成色データ23において入力色データ21(RGB)の占める割合が100%のときであり、r=0.0は合成色データ23において第1の変換色データ22(R’G’B’)の占める割合が100%のときである。従ってrがその間の値の場合は、色合成部12は、入力色データ21(RGB)と第1の変換色データ22(R’G’B’)とを合成比率rで合成する。つまり、色合成部12は、入力色データ21(RGB)にrを乗算し、第1の変換色データ22(R’G’B’)に1−rを乗算し、それぞれを足し合わせることにより、合成色データ23を生成する。
但し、上記合成比率rは、入力色データ21の色相(H)、彩度(S)及び明度(V)によって異なる。例えば、AdobeRGBの色域からsRGBの色域へ変換するとき、色相(H)については特に緑色(G)、黄色(Y)、シアン(C)の色領域が狭まるため、この領域で入力色データ21(RGB)の合成比率を高めに設定する。
また、彩度(S)については全ての色相について彩度が高くなるにつれ入力色データ21(RGB)の合成比率を高めに設定する。このとき、色相及び明度によって合成比率の設定を調整する。
また、明度(V)については明度が比較的高いとき入力色データ21(RGB)の合成比率を高めに設定する。このとき、彩度及び色相によって合成比率の設定を調整する。
また、合成比率rの基本的な設定は、第1の色域と第2の色域の色域の広さの差(又は比)に基づいて設定される。第1の色域が第2の色域よりも広く第2の色域へ色域圧縮する場合、第2の色域を超える第1の色域の広さが大であればある程、入力色データ21(RGB)の合成比率を高めに設定する。但し、2つの色域間の色域の広さの差(又は比)は色相(H)、彩度(S)、明度(V)によって均一ではなく異なる場合が多いため、色相(H)、彩度(S)、明度(V)によって合成比率を調整する。
図3A〜図3Cは、3つの異なる色相(H0、H1、H2)について2つの色域間の広さの違いとそのときの合成比率の大きさを視覚的に示す図である。また、図3A〜図3Cでは、広い色域の第1の色域からそれより狭い色域の第2の色域へ圧縮する場合を示している。また、図3A〜図3Cでは、2つの色域間の色域の広さ差は斜線部分で示してある。そしてこの斜線部分の領域が広い程、それはちょうど白い矢印の大きさで示したように、入力色データ21(RGB)の合成比率を高く設定する。例えば、図3Aに示す色相H2では、2つの色域間の色域の広さ差が比較的大きく、図3Cに示す色相H0では、2つの色域間の色域の広さ差が比較的小さく、図3Bに示す色相H1では、2つの色域間の色域の広さ差は、色相H0と色相H2の場合の中間である。
更に具体的に、ある色相(例えば図3A〜図3CのH0〜H2)のある明度(例えば図3A〜図3Cの横軸に示す明度(V))のときの、彩度(S)の大きさに対する合成比率rの設定を説明する。図4は2つの色域間の色域の広さの差が小さい(例えば、第1の色域/第2の色域の比が1.2以下)場合の彩度(S)に対する合成比率rの値を示したものである。この場合、入力色データ21(RGB)と第1の変換色データ22(R’G’B’)との合成の割合が等しいr=0.5のときの彩度(S)の閾値がS0になるように設定している。すなわち、彩度(S)がかなり高い閾値S0から急激に入力色データ21(RGB)の比率が高くなるように設定する。
また、図5は2つの色域間の色域の広さの差が中ぐらい(例えば、第1の色域/第2の色域の比が1.2〜1.5)の場合の彩度(S)に対する合成比率rの値を示したものである。この場合、合成比率r=0.5のときの彩度(S)の閾値がS1になるように設定している。すなわち、彩度(S)が中位の閾値S1からゆるやかに入力色データ21(RGB)の比率が高くなるように設定する。
また、図6は2つの色域間の色域の広さの差が大きい(例えば、第1の色域/第2の色域の比が1.5を超える)場合の彩度(S)に対する合成比率rの値を示したものである。この場合、合成比率r=0.5のときの彩度(S)の閾値がS2になるように設定している。すなわち、彩度(S)がかなり小さい閾値S2から急激に入力色データ21(RGB)の比率が高くなるように設定する。
このように、2つの色域間の色域の広さの差が大きいほど、広い色域において入力色データ21が合成色データ23として用いられる。また、同じ彩度(S)にて比較した場合、2つの色域間の色域の広さの差が大きいほど、入力色データ21の合成比率が高くなる。
またこのように、色相(H)と明度(V)との組(図3A〜図3Cの縦軸)ごとに、図4〜図6に示すような彩度(S)に対する合成比率rの値が設定される。
なお、肌色など色味をできるだけ変えたくない上記保存色範囲では、第1の変換色データ22(R’G’B’)を合成する比率が高くなるように設定する。例えば、肌色に対しては、色相(H)が赤、黄色、及びマゼンタの色範囲で明度(V)が中位から高い範囲で第1の変換色データ22(R’G’B’)の合成比率を高くし、逆に入力色データ21(RGB)の合成比率を低くする。また、彩度(S)の閾値の設定では合成比率r=0.5のときの彩度(S)の閾値が0.5〜0.8の範囲になるように設定する。
言い換えると、入力色データ21が圧縮色範囲に含まれる場合、合成比率rは、上述したような2つの色域間の色域の広さ、色相(H)、彩度(S)、及び明度(V)により決定され、保存色範囲では、圧縮色範囲と同様の方法で決定される場合よりも、第1の変換色データ22を合成する比率が高くなるように設定する。例えば、色合成部12は、入力色データ21が、第1の色範囲(肌色等)にある場合、第1の変換色データ22を合成色データ23として出力する。
なお、本実施例では上記合成比率rの関数としてシグモイドの非線形な関数を使用したが線形な関数でも良い。
次に、入力色データ20(RGB)と第1の変換色データ22(R’G’B’)とを合成した合成色データ23とその色度点との例を、図7A〜図7C及び図8に示す。
図7Aは、第1の色域であるAdobeRGBで8ビットの入力色データ20(RGB)と、当該入力色データ21(RGB)を逆ガンマ変換したうえで上記式(1)を用いてXYZ変換した後のYxyの色度値30とを示す図である。図7Bは、Yxyの色度値30をXYZ変換後に上記式(2)を用いて、第2の色域であるsRGBへ変換し、さらに変換した値をガンマ変換することにより0から255の8ビットのR’G’B’に変換した第1の変換色データ22(R’G’B’)の値を示す図である。但し、第1の変換色データ22は、上記式(2)でRGB値が0以下の場合は0に、1以上の場合は1にクリップした値である。図7Cは、入力色データ21であるAdobeRGBのデータと、sRGBへ圧縮クリッピングされたデータを上記の設定に沿った合成比率r値で合成した合成色データ23の値と、当該合成色データ23のYxyの色度値31とを示す図である。
上記図7AのAdobeRGBのデータ(入力色データ20)は緑(G)レベル値を変化させ、輝度を示すYをできるだけ一定にした場合のサンプルデータを示している。この色域圧縮変換の結果をxyの色度値で比較したのが図8である。図8において、第1の色域のAdobeRGBのデータのxy値(図7AのYxyの色度値30)を黒丸で示し、第1の色域AdobeRGBのデータから第2の色域sRGBのデータへ圧縮されたデータのxy値(図7CのYxyの色度値31)を白丸で示す。このように、AdobeRGBからsRGBへ色域圧縮の結果は、肌色に近い白色付近の色度値の変位はほとんどなく、また相対的な色関係は変わらずに、色階調の連続性も維持されている。
色データ出力部13は、色合成部12で合成された合成色データ23を出力色データ24として出力する。この色データ出力部13は、出力色データ24をディスプレイ、プロジェクター又はプリンターなどの出力デバイスに出力する。上記の実施例ではその出力デバイスはsRGB色域のディスプレイである。
なお、上記実施例はAdobeRGB色域からsRGB色域への色域圧縮で説明したが、規格などの特定の色域に限らずその他のより広い色域からより狭い色域へ色域圧縮する場合も同様にして変換できることは言うまでもない。
以上のように、本発明の実施の形態1に係る色変換出力装置100は、色域の広い入力色データ21を色域の狭い出力デバイスへ圧縮マッピングした第1の変換色データ22と、圧縮マッピングせずにデバイス色域に依存して出力する入力色データ21とを合成した合成色データ23を出力する。
さらに色変換出力装置100は、肌色など色味が変化してはいけない色データには、再現可能な色域内の色データ、すなわち圧縮マッピングした第1の変換色データ22を主に用いる。また、色変換出力装置100は、出力デバイスで再現できない色域外の入力色データには、出力デバイスの色域に依存して再現される入力色データ21を主に合成する。さらに色変換出力装置100は、それらの入力色データ21と第1の変換色データ22とを色相、彩度及び明度によって適度に合成して出力する。これらにより、色変換出力装置100は、出力デバイスの色域内で相対的な色関係を変えることなく、肌色などの色味も変えず色階調の連続性も維持できる。
次に、色域拡張、すなわち入力色データ20の色域が色データ出力部13により出力される出力色データ24の色域よりも狭い場合について説明する。例えば、上記色域圧縮と逆のsRGBで撮影された写真をAdobeRGB対応のディスプレイへ出力する場合、又はBT.709の映像信号をNTSC色域対応のディスプレイへ表示する場合である。図2に示すようにAdobeRGBやNTSCの色域はsRGBやBT.709の色域よりも広いため、色域を拡張する必要がある。
色域拡張は上記色域圧縮と全体の基本的構成は変わらないが、第1の色マッピング部11と色合成部12の機能が幾分異なる。また、色データ取得部10及び色データ出力部13について扱う入力色データと出力色データが逆になるだけで基本的な仕組みは変わらない。このため、色域拡張で特に異なる部分を中心に説明する。なお、本実施例は上記色域圧縮の実施例と逆に、sRGBからAdobeRGBへの色域変換について説明する。
色データ取得部10は、外部から入力された画像データ(入力色データ20)をRGBのリニア(線形)な入力色データ21に変換する。sRGBのガンマ(γ)は0.45なので、色データ取得部10は、入力されたRGBの入力色データ20をレベル幅(8bitでは255)で除算することで正規化(0.0〜1.0の値に)した後、逆γの2.2をベキ乗することでリニア(線形)な値に変換することにより入力色データ21を生成する。
第1の色マッピング部11は、色データ取得部10から供給された入力色データ21を出力色データ24の色域内の色データにマッピングすることにより第1の変換色データ22を生成する。具体的には、第1の色マッピング部11は、このときのマッピングとして、出力デバイスのAdobeRGB色域内でsRGB色域の色域を変位させず色度点を維持したまま(色度変位させず)、すなわち、拡張及び圧縮せずにマッピングする。
具体的には、AdobeRGBはsRGBよりも色域が広いため、第1の色マッピング部11は、色データ取得部10から供給されたsRGBの入力色データ21を一旦デバイスに依存しない色空間、例えばXYZのデバイス非依存型色空間のデータに変換した後、変換したXYZ値を出力デバイスのAdobeRGBの色域のRGBとして逆変換することにより第1の変換色データ22を生成する。
例えば、第1の色マッピング部11は、sRGBのRGBからXYZへの変換を、式(6)を用いて行い、XYZからAdobeRGBのRGBへの変換を、式(7)を用いて行う。
上記式(6)と式(7)とによって、sRGBからAdobeRGBへマトリクス変換された第1の変換色データ22(RGB)は、AdobeRGBの色域内でsRGBの色域の色度点を維持している(すなち、入力色データ21の色度点を保持した色度保存マッピング)。
色合成部12は、色データ取得部10から出力された入力色データ21(RGB)と上記第1の色マッピング部11でマッピングされた第1の変換色データ22(R’G’B’)とを合成することで合成色データ23を生成する。
ここで色合成部12は、肌色など色味が変わると人に違和感を生じる色はできるだけ第1の色マッピング部11でマッピング(上記色度保存マッピング)された第1の変換色データ22(R’G’B’)の比率が高くなるように、逆に出力デバイスの色域境界及びその近傍の色は入力色データ21(RGB)の比率が高くなるように入力色データ21と第1の変換色データ22とを合成する。
具体的な合成方法は、上記色域圧縮と同様に、まず、入力色データ21(RGB)から色相(H)、彩度(S)及び明度(V)を算出する。次に、肌色など色味をできるだけ変えたくない色範囲(以下、保存色範囲と呼ぶ)と、そうでない、すなわち拡張したい色範囲(以下、拡張色範囲)を色相(H)、彩度(S)及び明度(V)を用いて分けるとともに、その色相(H)、彩度(S)及び明度(V)の値によって入力色データ21(RGB)と上記マッピング(上記色度保存マッピング)された第1の変換色データ22(R’G’B’)との合成比率を変えて合成する。
合成比率をrで表し、その範囲を0.0〜1.0で示すとした場合、r=1.0は合成色データ23において入力色データ21(RGB)の占める割合が100%のときであり、r=0.0は合成色データ23において第1の変換色データ22(R’G’B’)の占める割合が100%のときである。従ってrがその間の値の場合は、色合成部12は、入力色データ21(RGB)と第1の変換色データ22(R’G’B’)とを合成比率rで合成する。つまり、色合成部12は、入力色データ21(RGB)にrを乗算し、第1の変換色データ22(R’G’B’)に1−rを乗算し、それぞれを足し合わせることにより、合成色データ23を生成する。
但し、上記合成比率rは色相(H)、彩度(S)及び明度(V)によって異なる。例えば、AdobeRGBの色域からsRGBの色域へ変換するとき、色相(H)については特に緑色(G)、黄色(Y)、シアン(C)の色領域が狭まるため、この領域で入力色データ21(RGB)の合成比率を高めに設定する。
また、彩度(S)については全ての色相について彩度が高くなるにつれ入力色データ21(RGB)の合成比率を高めに設定する。このとき、色相及び明度によって合成比率の設定を調整する。
また、明度(V)については明度が比較的高いとき入力色データ21(RGB)の合成比率を高めに設定する。このとき、彩度及び色相によって合成比率の設定を調整する。
また、合成比率rの基本的な設定は、第1の色域と第2の色域の色域の広さの差(又は比)に基づいて設定される。第1の色域が第2の色域よりも広く第2の色域へ色域圧縮する場合、第2の色域を超える第1の色域の広さが大であればある程、入力色データ21(RGB)の合成比率を高めに設定する。但し、2つの色域間の色域の広さの差(又は比)は色相(H)、彩度(S)、明度(V)によって均一ではなく異なる場合が多いため、色相(H)、彩度(S)、明度(V)によって合成比率を調整する。
図9A〜図9Cは、3つの異なる色相(H0、H1、H2)について2つの色域間の広さの違いとそのときの合成比率の大きさを視覚的に示す図である。また、図9A〜図9Cでは、狭い色域の第1の色域からそれより広い色域の第2の色域へ拡張する場合を示している。また、図9A〜図9Cでは、2つの色域間の色域の広さ差は斜線部分で示してある。そしてこの斜線部分の領域が広い程、それはちょうど白い矢印の大きさで示したように、入力色データ21(RGB)の合成比率を高く設定する。例えば、図9Aに示す色相H2では、2つの色域間の色域の広さ差が比較的大きく、図9Cに示す色相H0では、2つの色域間の色域の広さ差が比較的小さく、図9Bに示す色相H1では、2つの色域間の色域の広さ差は、色相H0と色相H2の場合の中間である。
更に具体的に、ある色相(例えば図9A〜図9CのH0〜H2)のある明度(例えば図9A〜図9Cの横軸に示す明度(V))のときの、彩度(S)の大きさに対する合成比率rの設定を説明する。図4は2つの色域間の色域の広さの差が小さい(例えば、第1の色域/第2の色域の比が1.2以下)場合の彩度(S)に対する合成比率rの値を示したものである。この場合、入力色データ21(RGB)と第1の変換色データ22(R’G’B’)との合成の割合が等しいr=0.5のときの彩度(S)の閾値がS0になるように設定している。すなわち、彩度(S)がかなり高い閾値S0から急激に入力色データ21(RGB)の比率が高くなるように設定する。
また、図5は2つの色域間の色域の広さの差が中ぐらい(例えば、第1の色域/第2の色域の比が1.2〜1.5)の場合の彩度(S)に対する合成比率rの値を示したものである。この場合、合成比率r=0.5のときの彩度(S)の閾値がS1になるように設定している。すなわち、彩度(S)が中位の閾値S1からゆるやかに入力色データ21(RGB)の比率が高くなるように設定する。
また、図6は2つの色域間の色域の広さの差が大きい(例えば、第1の色域/第2の色域の比が1.5を超える)場合の彩度(S)に対する合成比率rの値を示したものである。この場合、合成比率r=0.5のときの彩度(S)の閾値がS2になるように設定している。すなわち、彩度(S)がかなり小さい閾値S2から急激に入力色データ21(RGB)の比率が高くなるように設定する。
このように、2つの色域間の色域の広さの差が大きいほど、広い色域において入力色データ21が合成色データ23として用いられる。また、同じ彩度(S)にて比較した場合、2つの色域間の色域の広さの差が大きいほど、入力色データ21の合成比率が高くなる。
またこのように、色相(H)と明度(V)との組(図9A〜図9Cの縦軸)ごとに、図4〜図6に示すような彩度(S)に対する合成比率rの値が設定される。
なお、肌色など色味をできるだけ変えたくない上記保存色範囲では、第1の変換色データ22(R’G’B’)を合成する比率が高くなるように設定する。例えば、肌色に対しては、色相(H)が赤、黄色、及びマゼンタの色範囲で明度(V)が中位から高い範囲で第1の変換色データ22(R’G’B’)の合成比率を高くし、逆に入力色データ21(RGB)の合成比率を低くする。また、彩度(S)の閾値の設定では合成比率r=0.5のときの彩度(S)の閾値が0.5〜0.8の範囲になるように設定する。
なお、本実施例では上記合成比率rの関数としてシグモイドの非線形な関数を使用したが線形な関数でも良い。
次に、入力色データ21(RGB)と、第1の色マッピング部11でマッピング(上記色度保存マッピング)された第1の変換色データ22(R’G’B’)とを合成した合成色データ23とその色度点との例を、図10A〜図10C及び図11に示す。
図10Aは、第1の色域であるsRGBで8ビットの入力色データ20(RGB)と、入力色データ20(RGB)を逆ガンマ変換したうえで上記式(6)を用いてXYZ変換した後のYxyの色度値30とを示す図である。図10Bは、Yxyの色度値30をXYZ変換した後式(7)を用いて第2の色域であるAdobeRGBへ変換し、変換した値をガンマ変換することにより0から255の8ビットのR’G’B’に変換した第1の変換色データ22(R’G’B’)の値を示す図である。図10Cは、入力色データ21であるsRGBのデータと、AdobeRGBへマッピングされたデータとを上記の設定に沿った合成比率r値で合成した合成色データ23の値と、当該合成色データ23のYxyの色度値31とを示す図である。
上記図10AのsRGBのデータ(入力色データ20)は緑(G)レベル値を変化させ、輝度を示すYをできるだけ一定にした場合のサンプルデータを示している。この色域拡張変換の結果をxyの色度値で比較したのが図11である。図11において、第1の色域のsRGBのデータのxy値(図10AののYxyの色度値30)を白丸で示し、第1の色域sRGBのデータから第2の色域AdobeRGBのデータへ拡張されたデータのxy値(図10CのYxyの色度値31)を黒丸で示す。このように、sRGBからAdobeRGBへ色域拡張の結果は、肌色に近い白色付近の色度値の変位はほとんどなく、また相対的な色関係は変わらずに、色階調の連続性も維持されている。
色データ出力部13は、色合成部12で合成された合成色データ23を出力色データ24として出力する。この色データ出力部13は、出力色データ24をディスプレイ、プロジェクター又はプリンターなどの出力デバイスに出力する。上記の実施例ではその出力デバイスはAdobeRGBの色域対応ディスプレイである。
なお、上記実施例はsRGB色域からAdobe色域への色域拡張で説明したが、規格などの特定の色域に限らずその他のより狭い色域からより広い色域へ色域拡張する場合も同様にして変換できることは言うまでもない。
また、図12は、本発明の実施の形態1に係る色変換出力装置100の変形例である色変換出力装置101の構成を示すブロック図である。図12に示すように、外部から入力される入力色データ20をRGBのリニアな入力色データ21に変換する前の入力色データ20を色合成部12において合成してもよい。
具体的には、図12に示す色変換出力装置101は、色データ取得部10と、第1の色マッピング部11と、色データ出力部13と、色合成部12とを備える。色データ取得部10は、外部から入力される入力色データ20をRGBのリニアな入力色データ21に変換(逆ガンマ変換)する。第1の色マッピング部11は、変換された入力色データ21をマッピングすることにより第1の変換色データ22を生成する。色データ出力部13は、第1の変換色データ22を出力デバイスで表示可能なように変換(ガンマ変換)することにより色データ28を生成する。色合成部12は、逆ガンマ変換前の入力色データ20と、色データ28と合成する。
また、色データ取得部10、色合成部12及び、色データ出力部13をまとめてLUT(ルックアップテーブル)で構成しても構わないし、色合成部12のみをLUTで構成しても構わない。
以上のように、本発明の実施の形態1に係る色変換出力装置100は、色域の狭い入力色データ20を、色域の広い出力デバイスの色域内のデータとしてマッピングした第1の変換色データ22と、マッピングせずにデバイス色域に依存して出力する入力色データ21とを合成した合成色データ23として出力する。
さらに色変換出力装置100は、肌色など色味が変化してはいけない色データについては入力色データの色度点を変えない、すなわち入力色データ21を出力デバイスの色域内の色データには、色度変位させずにマッピングした第1の変換色データ22を主に用いる。また色変換出力装置100は、入力色データ20の色域を超え出力デバイスで再現可能な色域の色データには、出力デバイスの色域に依存して再現される入力色データ21を主に用いる。さらに色変換出力装置100は、それらの入力色データ21と第1の変換色データ22と2つの異なる色データを色相、彩度及び明度によって適度に合成する。これらにより、色変換出力装置100は、出力デバイスの色域内で相対的な色関係を変えることなく、肌色などの色味も変えずに色階調の連続性も維持できる。
次に、色変換出力装置100の色変換動作の流れを説明する。
図13は、色変換出力装置100の色変換動作の流れを示すフローチャートである。
図13に示すように、まず、色データ取得部10は、外部から入力される入力色データ20を取得する(S101)。また、色データ取得部10は、取得した入力色データ20をリニア(線形)な入力色データ21に変換する。
次に、第1の色マッピング部11は、色データ取得部10により変換された入力色データ21を出力色データ24の色域内の色データにマッピングすることにより第1の変換色データ22を生成する(S102)。
具体的には、色域圧縮の場合、第1の色マッピング部11は、入力色データ21が第2の色域内にある場合は、色度変位させず入力色データ21を第2の色域内にマッピングし、入力色データ21が第2の色域外にある場合は、当該入力色データ21を第2の色域の色域境界へマッピングする。また、色域圧縮の場合、第1の色マッピング部11は、色度変位させず入力色データ21を第2の色域内にマッピングする。
次に、色合成部12は、入力色データ21と第1の変換色データ22とを、第1の色域と第2の色域とに応じた比率で合成することにより合成色データ23を生成する(S103)。具体的には、色合成部12は、入力色データ21の色相及び明度における第1の色域と第2の色域の広さの差が大きくなるにつれ、入力色データ21の比率が高くなるように、第1の変換色データ22と入力色データ21とを合成する。
次に、色データ出力部13は、合成色データ23を出力色データ24として出力デバイスに出力する(S104)。
(実施の形態2)
本発明の実施の形態2に係る色変換出力装置は、上述した実施の形態1に係る色変換出力装置100の変形例である。
なお、以下では、上述した実施の形態1と重複する説明は省略し、相違点のみを説明する。
図14は、本発明の実施の形態2に係る色変換出力装置200の基本的な構成を示すブロック図である。この色変換出力装置200は、実施の形態1に係る色変換出力装置100の構成に加え、さらに、色データ取得部10により出力される入力色データ21を第2の色域内での第2の変換色データ25としてマッピングする第2の色マッピング部14を備える。
なお、出力デバイスの色域は、通常変換先の第2の色域かそれに非常に近似した色域であることが多いが、本発明の実施の形態2では出力デバイスの色域に個体バラツキや経時変化がある場合を考慮し、第2の色域から幾分ずれていることも想定したうえで第2の色域内の色データとして正しく出力させる場合について説明する。
第2の色マッピング部14は、入力色データ21を第2の色域の色データとみなし第2の色域へマッピングすることにより第2の変換色データ25を生成する。
まず、色域圧縮、すなわち色データ取得部10に入力された第1の色域の入力色データ20の色域が変換先の第2の色域よりも広い場合について説明する。例えば、AdobeRGBで撮影された写真をsRGB(standard RGB)のディスプレイへ出力する場合、図15に示すようにAdobeRGBの色域はsRGBの色域よりも広いため、色域を圧縮する必要がある。もし、色変換せずにsRGBの色域へ出力すると色が薄くなり彩度が低下して見える。
第2の色マッピング部14は、上記第1の色マッピング部11と同様に、入力色データ21(R、G、B)を一旦デバイスに依存しない色空間であるデバイス非依存型色空間の色度値(例えば、XYZ)に変換し、その色度値を第2の色域内のXYZ値として、元のRGBの色データへ逆変換する。
具体的には、第2の色マッピング部14は、入力色データ21上記式(2)の逆変換を用いて、XYZ値に変換し、その後、上記式(2)を用いてRGBの色データへ変換する。つまり、入力色データは本来AdobeRGB色域のRGBデータであるが、それをsRGB色域のRGBデータとみなしてXYZへ変換し、それをsRGB色域のRGBデータへ逆変換しても同じ値になる。従って、この場合実際には、第2の色マッピング部14は、色データ取得部10から供給された入力色データ21をそのまま第2の変換色データ25として出力してもよい。
なお、第2の色マッピング部14は、色データ取得部10から供給された入力色データ21(R、G、B)を上記式(1)で変換した後、予め定められた色度値を、予め定められた別の色度値へマッピングする特定マッピングを行った後で、上記式(2)を用いてRGBデータに逆変換することにより第2の変換色データ25を生成してもよい。言い換えると、特定マッピングとは、入力色データ21の色度値が第1の色域の予め定められた第1の色範囲に含まれる場合、当該入力色データ21を、第2の色域の、上記第1の色範囲に対応付けられた色データへマッピングすることである。
例えば、第2の色マッピング部14は、特に第1の色域の境界及びその周辺の色度値が第2の色域の境界及びその周辺の色度値にできるだけシフトするような特定マッピングを行ってもよい。これにより、出力デバイスの色域と同一又は近似した色域内に、色データをシフトできる。または、第2の色マッピング部14は、絵づくりや見栄えの目的で、ある色範囲の色相、彩度又は明度を所定の色相、彩度又は明度へ変更するために第1の色域の特定の色度値を第2の色域の特定の色度値へ変更するような特定マッピングを行ってもよい。例えば、この特定マッピングは、空の青色を実際より、より青い色度値へシフトさせる。これらの場合、入力色データ21と第2の変換色データ25とは異なる。
色合成部12は、第1の色マッピング部11でマッピングされた第1の変換色データ22(R1、G1、B1)と第2の色マッピング部14でマッピングされた第2の変換色データ25(R2、G2、B2)とを合成することにより、合成色データ23を生成する。
ここで色合成部12は、肌色など色味が変わると人に違和感を生じる色はできるだけ圧縮クリッピングされた第1の変換色データ22(R1、G1、B1)の比率が高くなるように、逆に第2の色域境界及びその近傍の色は第2の変換色データ25(R2、G2、B2)の比率が高くなるように第1の変換色データ22と第2の変換色データ25とを合成する。
具体的な合成方法としては、例えば、まず、第2の変換色データ25(R2、G2、B2)が入力色データ21(R、G、B)と同じ場合、色合成部12は、第2の変換色データ25(R2、G2、B2)から色相(H)、彩度(S)及び明度(V)を算出する。例えば、色合成部12は、上記の式(5)、又は上記の式(3)と式(4)とを用いる。
なお、第2の変換色データ25(R2、G2、B2)が入力色データ21(R、G、B)と異なる場合、すなわち第2の色マッピング部14が上記特定マッピングを行う場合は、図16に示すように、色合成部12は、色データ取得部10から入力色データ21を取得し、この入力色データ21(R、G、B)から色相(H)、彩度(S)及び明度(V)を算出する。
また、第2の変換色データ25(R2、G2、B2)が入力色データ21(R、G、B)と同じ場合の、色合成部12による合成比率rの設定方法は、実施の形態1と同様であり説明は省略する。
なお、第2の色マッピング部14が上記特定マッピングを行う場合も基本的に上記の合成比率に従うが、特定マッピングで特に設定されたマッピング範囲については第2の変換色データ25(R2、G2、B2)の合成比率を高めに設定する。
また、第2の変換色データ25(R2、G2、B2)が入力色データ21(R、G、B)と同じ場合の、色合成部12による合成比率rの設定方法は、実施の形態1と同様であり説明は省略する。
また、第2の変換色データ25(R2、G2、B2)が入力色データ21(R、G、B)と同じ場合における、第1の変換色データ22(R1、G1、B1)と第2の変換色データ25(R2、G2、B2)とを合成した合成色データ23とその色度点との例は、図7A〜図7C及び図8と同様であり説明は省略する。
以下、出力デバイスの色域に個体バラツキや経時変化がある場合を想定し、色データ出力部13が、第2の色域から幾分ずれている出力デバイス1に出力色データ24を出力する場合について説明する。
図17A〜図17Dは、それぞれ、AdobeRGB、sRGB、出力デバイス1及び出力デバイス2のRGB三原色の色度座標のxy値を示す図である。また、図18は、AdobeRGB、sRGB及び出力デバイス1の色域を示す図である。
例えば、出力デバイス1の色域が図17Cに示すRGB三原色の色度座標xy値で表されるとして、合成色データ23を上記第2の色域の色データとして正確に出力する場合、色データ出力部13は、合成色データ23のxy値(図7CのYxyの色度値31)をXYZに変換したうえで、下記式(8)で変換することによりRGBデータを生成し、生成したRGBデータをガンマ変換した後、8ビットのRGB値に変換する。これにより、例えば、色データ出力部13は、図19に示す出力色データ24(R、G、B)を生成する。
なお、上記実施例はAdobeRGB色域からsRGB色域への色域圧縮で説明したが、規格などの特定の色域に限らずその他のより広い色域からより狭い色域へ色域圧縮する場合も同様にして変換できることは言うまでもない。また、出力デバイスの色域が上記第2の色域の非常に近似している場合(例えば、視覚的に色差が識別できない程度の場合)には、色データ出力部13は、合成色データ23をそのまま出力色データ24として出力デバイスに出力してもよい。
以上のように、本発明の実施の形態2に係る色変換出力装置200は、第1の色域の入力色データ20をそれより色域の狭い第2の色域の色データへ変換するとき、すなわち入力色データ20の色域が、出力色データ24の第2の色域よりも広いとき、入力色データ21を第2の色域へ圧縮マッピングした第1の変換色データ22と、入力色データ21を第2の色域の色データとして第2の色域へマッピングした第2の変換色データ25(入力色データ21と同じ)とを合成した合成色データ23を出力する。または、色変換出力装置200は、入力色データ21を第2の色域へ圧縮マッピングした第1の変換色データ22と、入力色データ21を第2の色域の特定の色へマッピングした第2の変換色データ(入力色データ21と異なる)とを合成した合成色データ23を出力する。
このとき色変換出力装置200は、肌色など色味が変化してはいけない色データには、再現可能な色域内の色データである第1の変換色データ22すなわち圧縮マッピングした色データを主に用いる。また、色変換出力装置200は、第2の色域外の入力色データ21には、第2の色域に依存して再現される入力色データ、又は特定の色へマッピングされた色データを主に用いる。さらに色変換出力装置200は、それらの第1の変換色データ22と第2の変換色データ25とを色相、彩度及び明度によって適度に合成して出力する。これらにより、色変換出力装置200は、肌色などの色味や出力デバイスの色域内で相対的な色関係を変えることもなく、色階調の連続性を維持できる。
次に、色域拡張、すなわち入力色データ20の色域が第2の色域よりも狭い場合について説明する。例えば、上記色域圧縮とは逆に、sRGBで撮影された写真をAdobeRGB対応のディスプレイへ出力する場合などである。この場合、図15に示すようにAdobeRGBの色域はsRGBの色域よりも広いため、色域を拡張する必要がある。そのまま何も処理しないでAdobeRGBの色域へ出力すると拡張された色域領域の色が鮮やかに見えるが、全体の色バランスが崩れたり色味が変わってしまい人に違和感を与える場合がある。
色域拡張は上記色域圧縮と全体の基本的構成は変わらないが各構成部分が幾分異なる。このため、色域拡張で特に異なる部分を中心に説明する。なお、本実施例は上記色域圧縮の実施例と逆に、sRGBからAdobeRGBへの色域変換について説明する。
第2の色マッピング部14は、上記色域圧縮と同様に、入力色データ21(R、G、B)を一旦デバイスに依存しない色空間であるデバイス非依存型色空間、例えばXYZの色度値に変換し、その色度値を第2の色域内のXYZとして、今度は元のRGBの色データへ逆変換する。
具体的には、第2の色マッピング部14は、入力色データ21を上記式(7)の逆変換を用いてXYZ値に変換し、その後、上記式(7)を用いてRGBの色データへ変換する。つまり、入力色データ21は本来sRGB色域のRGBデータであるが、それをsAdobeRGB色域のRGBデータとみなしてXYZの値へ変換し、それをAdobeRGB色域のRGBデータへ逆変換しても同じ値になる。従って、この場合実際には、第2の色マッピング部14は、色データ取得部10から供給された入力色データ21(R、G、B)をそのまま第2の変換色データ25(R2、G2、B2)として出力してもよい。この場合、入力色データ21(R、G、B)と第2の変換色データ25(R2、G2、B2)とは同じである。
なお、第2の色マッピング部14は、色データ取得部10から供給された入力色データ21(R、G、B)を上記式(6)で変換した後、予め定められた色度値を、別の予め定められた色度値へ特定マッピングをした後上記式(7)を用いてRGBデータに逆変換することにより第2の変換色データ25を生成してもよい。例えば、第2の色マッピング部14は、特に第1の色域の境界及びその周辺の色度値が第2の色域の境界及びその周辺の色度値にできるだけシフトするような特定マッピングを行ってもよい。これにより、出力デバイスの色域と同一又は近似した色域内に、色データをシフトできる。または、第2の色マッピング部14は、絵づくりや見栄えの目的で、ある色範囲の色相、彩度又は明度を所定の色相、彩度又は明度へ変更するために第1の色域の特定の色度値を第2の色域の特定の色度値へ変更するような特定マッピングを行ってもよい。例えば、この特定マッピングは、空の青色を実際より、より青い色度値へシフトさせる。これらの場合、入力色データ21と第2の変換色データ25とは異なる。
色合成部12は、上記第1の変換色データ22(R1、G1、B1)と上記第2の変換色データ25(R2、G2、B2)とを合成することにより合成色データ23を生成する。
ここで色合成部12は、肌色など色味が変わると人に違和感を生じる色は色度保存マッピングした第1の変換色データ22(R1、G1、B1)の比率が高くなるように設定する。また、色合成部12は、色域境界及びその近傍の色はできるだけ彩度の高い鮮やかな第2の変換色データ25(R2、G2、B2)の比率が高くなるように設定する。
具体的な合成方法としては、上記色域圧縮と同様に、まず、第2の変換色データ25(R2、G2、B2)が入力色データ21(R、G、B)と同じ場合、色合成部12は、第2の変換色データ25(R2、G2、B2)から色相(H)、彩度(S)及び明度(V)を算出する。なお、第2の変換色データ25(R2、G2、B2)が入力色データ21(R、G、B)と異なる場合、すなわち第2の色マッピング部14が上記特定マッピングを行う場合は、色合成部12は、図16に示すように色データ取得部10から入力色データ21を取得しこの入力色データ21(R、G、B)を用いて色相(H)、彩度(S)及び明度(V)を算出する。
また、第2の変換色データ25(R2、G2、B2)が入力色データ21(R、G、B)と同じ場合の、色合成部12による合成比率rの設定方法は、実施の形態1と同様であり説明は省略する。
なお、第2の色マッピング部14が上記特定マッピングを行う場合も基本的に上記の合成比率に従うが、特定マッピングでは特に設定されたマッピング範囲については第2の変換色データ25(R2、G2、B2)の合成比率を高めに設定する。
また、第2の変換色データ25(R2、G2、B2)が入力色データ21(R、G、B)と同じ場合の、色合成部12による合成比率rの設定方法は、実施の形態1と同様であり説明は省略する。
また、第2の変換色データ25(R2、G2、B2)が入力色データ21(R、G、B)と同じ場合における、第1の変換色データ22(R1、G1、B1)と第2の変換色データ25(R2、G2、B2)とを合成した合成色データ23とその色度点との例は、図10A〜図10C及び図11と同様であり説明は省略する。
以下、出力デバイスの色域に個体バラツキや経時変化がある場合を想定し、色データ出力部13が、第2の色域から幾分ずれている出力デバイス2に出力色データ24を出力する場合について説明する。
図20は、AdobeRGB、sRGB及び出力デバイス2の色域を示す図である。
例えば、出力デバイス2の色域が図17Dに示すRGB三原色の色度座標xy値で表されるとして、合成色データ23を上記第2の色域の色データとして正確に出力する場合、色データ出力部13は、合成色データ23のxy値(図10CのYxyの色度値31)をXYZに変換したうえで、下記式(9)で変換することによりRGBデータを生成し、生成したRGBデータをガンマ変換した後、8ビットRGB値に変換する。これにより、例えば、色データ出力部13は、図21に示す出力色データ24(R、G、B)を生成する。
但し、この場合の出力デバイス2の色域はAdobeRGBの色域よりも少し狭いため、式(9)で変換したR、G又はBの値が0以下になった場合その値が0にクリッピングされる。このため、色階調が飽和してしまう場合がある。この対策としては色度の正確さは第2色域の境界付近で少し低下するが、上記第2の色域を出力デバイス2の色域に置き換えることで色階調の連続性を維持できる。
なお、上記実施例はsRGB色域からAdobeB色域への色域拡張で説明したが、規格などの特定の色域に限らずその他のより狭い色域からより広い色域へ色域拡張する場合も同様にして変換できることは言うまでもない。また、出力デバイスの色域が上記第2の色域の非常に近似している場合(例えば、視覚的に色差が識別できない程度の場合)には、色データ出力部13は、合成色データ23をそのまま出力色データ24として出力デバイスに出力してもよい。
以上のように、本発明の実施の形態2に係る色変換出力装置200は、第1の色域の入力色データ20をそれより色域の広い第2の色域の色データへ変換するとき、すなわち入力色データ20の色域が、出力色データ24の第2の色域よりも狭いとき、入力色データ21を第2の色域へ色度変位させず第1の色域の色度として色度保存マッピングした第1の変換色データ22と、入力色データ21を第2の色域の色データとして第2の色域へマッピングした第2の変換色データ25(入力色データ21と同じ)とを合成した合成色データ23を出力する。または、色変換出力装置200は、入力色データ21を上記色度保存マッピングした第1の変換色データ22と、入力色データ21を第2の色域の特定の色へマッピングした第2の変換色データ25(入力色データ21と異なる)とを合成した合成色データ23を出力する。
このとき色変換出力装置200は、肌色など色味が変化してはいけない色データには、色度保存マッピングした第1の変換色データ22を主に用いる。また、色変換出力装置200は、第1の色域を超える色域には、第2の色域に依存して再現される入力色データ、又は特定の色へマッピングされた色データを主に用いる。さらに色変換出力装置200は、それらの第1の変換色データ22と第2の変換色データ25とを色相、彩度及び明度によって適度に合成して出力する。これらにより、色変換出力装置200は、肌色などの色味や出力デバイスの色域内で相対的な色関係を変えることもなく、色階調の連続性を維持できる。
次に、色変換出力装置200の色変換動作の流れを説明する。
図22は、色変換出力装置200の色変換動作の流れを示すフローチャートである。
図22に示すように、まず、色データ取得部10は、外部から入力される入力色データ20を取得する(S201)。また、色データ取得部10は、取得した入力色データ20をリニア(線形)な入力色データ21に変換する。
次に、第1の色マッピング部11は、色データ取得部10により変換された入力色データ21を出力色データ24の色域内の色データにマッピングすることにより第1の変換色データ22を生成する(S202)。
また、第2の色マッピング部14は、色データ取得部10により変換された入力色データ21を出力色データ24の色域内の色データとみなしてマッピングすることにより第2の変換色データ25を生成する(S203)。
次に、色合成部12は、第1の変換色データ22と第2の変換色データ25とを合成することにより合成色データ23を生成する(S204)。
次に、色データ出力部13は、合成色データ23を出力色データ24として出力デバイスに出力する(S205)。
なお、ステップS202とステップS203との順序は任意でよく、ステップS202の前にステップS203を行ってもよいし、ステップS202とステップS203とを同時に行ってもよい。
なお、上述した実施の形態1に係る色変換出力装置100の変形例(図12)と同様に、色データ出力部13が第1の変換色データ22及び第2の変換色データ25を出力デバイスで表示可能なように変換(ガンマ変換)し、色合成部12が当該変換後の2つのデータを合成してもよい。
(実施の形態3)
本発明の実施の形態3に係る色変換出力装置は、上述した実施の形態2に係る色変換出力装置100の変形例である。
なお、以下では、上述した実施の形態1又は2と重複する説明は省略し、相違点のみを説明する。
図23は、本発明の実施の形態3に係る色変換出力装置300の基本的な構成を示すブロック図である。この色変換出力装置300は、実施の形態1に係る色変換出力装置100の構成に加え、さらに、入力色データ21における色域が変換後の第2の色域内に含まれる色域領域か含まれない色域領域かを判定する色域領域判定部15を備える。また、第1の色マッピング部11の機能が実施の形態2と異なる。
なお、ここでは、色データ出力部13の出力デバイスの色域は、通常、変換先の第2の色域及びそれに非常に近似した(色域の差が視覚的に識別できない)色域である場合を前提とする。
いま、第1の色域と第2の色域とを、図24に示すsRGB(standard RGB)の色域と出力デバイスの色域とを、xyの色度値(以下、xy色度値)を用いる場合を例に説明する。図24に示すようにsRGBの色域と出力デバイスの色域とは一致しない。つまり、黄色などの色範囲では、sRGBの色域の方が出力デバイスの色域よりも広く、シアンなどの色範囲では、出力デバイスの色域の方がsRGBの色域よりも広い。
図24のように、第1の色域であるsRGBの入力色データが第2の色域である出力デバイスの色域で完全に包含できない場合、一部の色範囲の色域には色域圧縮を行い、別の一部色範囲の色域には色域拡張を行わないと色の再現範囲、色の階調性及び色の連続性が劣化する。
すなわち、本実施例で言えば、図25に示す色域領域40は、第1の色域のsRGBの色域と第2の色域の出力デバイスの色域とで共通な色域領域である。言い換えると、色域領域40は、第1の色域のうち第2の色域内に含まれる色域領域である。逆に第1の色域のうち色域領域40以外の色域領域が第1の色域のうち第2の色域内に含まれない色域領域41であり、第2の色域のうち色域領域40以外の色域領域が第2の色域のうち第1の色域内に含まれない色域領域42である。
従って、sRGBの色データを第1の色域から第2の色域へ色域圧縮又は色域拡張する必要がある。すなわち、図26の矢印で示したようにsRGBの色域が出力デバイスの色域よりも広い色域領域41では内向きの矢印で示したようにsRGBの色データを色域圧縮し、出力デバイスの色域がsRGBの色域よりも広い色域領域42では外向きの矢印で示したようにsRGBの色データを色域拡張する必要がある。
色データ取得部10は、入力色データ20を入力色データ21に変換し、変換した入力色データ21を、色域領域判定部15、第1の色マッピング部11及び第2の色マッピング部14へ供給する。
色域領域判定部15は、上記第1の色域であるsRGB色域の入力色データ21が上記第2の色域である出力デバイス色域内に含まれるか否かを判定する。本実施例で言えば、図25に示す第1の色域のsRGBの色域と第2の色域の出力デバイスの色域とに共通な色域領域40に、上記入力色データ21の色度、例えばxy値が含まれるか否かを判定する。なお、色域領域判定部15は、入力色データ21のxy色度値は上記式(6)を用いて入力色データ21のRGB値をXYZ値へ変換し、変換したXYZ値と式(10)とを用いてxy値を算出する。
色域領域判定部15は、上記入力色データ21が第2の色域の出力デバイスの色域内に含まれる場合、入力色データ21の色域が第2の色域内であることを示す色域内識別信号26を第1の色マッピング部11へ供給する。逆に、上記入力色データ21が第2の色域の出力デバイスの色域内に含まれない場合、入力色データ21の色域が第2の色域外であることを示す色域外識別信号27を第1の色マッピング部11へ供給する。
第1の色マッピング部11は、色データ取得部10から供給された色データを第2の色域内の色データとしてマッピングする。このとき第1の色マッピング部11は、上記色域領域判定部15から入力色データ21の色域が第2の色域内であることを示す色域内識別信号26を受けている場合には、第1の色域の色データを第2の色域内へ第1の色域のまま色度変位させずにマッピングする。また、上記色域領域判定部15から入力色データ21の色域が第2の色域外であることを示す色域外識別信号27を受けている場合には、第1の色マッピング部11は、第1の色域の色データを第2の色域の色域境界へマッピングする。
具体的には、第1の色マッピング部11は、RGBの入力色データ21を一旦デバイスに依存しない色空間であるデバイス非依存型色空間、例えばCIEのXYZ又はxyの色度値に変換し、その色度値を第2の色域内のXYZ又はxyの値としてマッピングし、マッピングしたXYZ又はxyの値を元のRGBの色データへ逆変換することにより第1の変換色データ22を生成する。
入力色データ21がsRGBのRGBデータの場合、第1の色マッピング部11は、RGBからXYZへの変換を上記式(6)を用いて行う。また、第1の色マッピング部11は、xyの色度値へは、さらに上記式(10)を用いて変換する。また、第1の色マッピング部11は、第2の色域内へマッピング後、元のRGBへ逆変換するために、式(11)及び式(12)を用いる。
本実施例のマッピングでは、第1の色マッピング部11は、基本的に上記で説明したクリッピングを用いる。クリッピングによる色域圧縮は、出力デバイスの色域内で再現可能な色を忠実に再現できるという長所がある。ここで、肌色など色味が変わると人に違和感を与える色は入力色データの色度をできるだけ変位させないようにする必要がある。よって、彩度が高くない色の範囲は出力デバイスの色域内で再現可能な、しかも入力色データの色度点(例えば、xyのような色度値で示される点)をそのまま再現するクリッピングが適する。
最も単純なクリッピング圧縮は、例えば、RGBの色域へ変換する際に、上記式(6)、上記式(10)、上記式(11)及び上記式(12)の一連の変換において、上記式(12)でR、G又はBの値が0以下になった場合その値を0に、1以上の場合は1にすることである。なお、クリッピングについては、色域で再現できない色域外の色を、色差が最小になるような方向へ圧縮する方法を用いてもよいし、明度又は彩度が最短の色を選択するなどしてもよい。この場合、第1の色マッピング部11は、XYZ値を、上記式(3)及び上記式(4)を用いてL*a*b*空間の色度値に変換したうえで明度(L)、彩度(C)、及び色相(H)を算出する。次に、第1の色マッピング部11は、算出した明度(L)、彩度(C)、及び色相(H)の値を用いて、色差、明度又は彩度をもとにクリッピングする。
上記第1の色マッピング部11でマッピングされた第1の変換色データ22は色合成部12へ供給される。
第2の色マッピング部14は、上記第1の色域の色データを上記第2の色域の色データとみなし第2の色域の色データへマッピングすることにより第2の変換色データ25を生成する。または、第2の色マッピング部14は、上記第1の色域の色データを上記第2の色域の所定の色データへ特定マッピングすることにより第2の変換色データ25を生成する。
第2の色マッピング部14が第1の色域の色データを第2の色域の色データとみなし第2の色域の色データへマッピングする場合、実質的に第1の色域の色データをそのまま第2の色データとすることと同じである。すなわち、入力色データ21と第2の変換色データ25とが同じである。よって、第1の色域のsRGBの入力色データ21がそのまま第2の色域である出力デバイスの色域の色データ、つまりデバイスの色域に依存した第2の変換色データ25として色合成部12へ供給される。
一方、第2の色マッピング部14が第1の色域の色データを上記第2の色域の所定の色データへ特定マッピングする場合、第2の色マッピング部14は、RGBデータである入力色データ21を上記の式(6)及び式(10)で変換した後、所定のxy色度値へマッピングをした後上記の式(11)及び式(12)でRGBデータに逆変換することにより第2の変換色データ25を生成してもよい。
色合成部12は、第1の色マッピング部11でマッピングされた第1の変換色データ22(R1、G1、B1)と、第2の色マッピング部14でマッピングされた第2の変換色データ25(R2、G2、B2)とを合成することにより、合成色データ23を生成する。
ここで色合成部12は、肌色など色味が変わると人に違和感を生じる色はできるだけ入力色データの色度が変位しない第1の変換色データ22(R1、G1、B1)の比率が高くなるように第1の変換色データ22と第2の変換色データ25とを合成する。また、第2の色域境界及びその近傍の色は色再現範囲を確保するためできるだけ第2の変換色データ25(R2、G2、B2)の比率が高くなるように第1の変換色データ22と第2の変換色データ25とを合成する。
なお、具体的な合成方法としては、例えば、まず、第2の変換色データ25(R2、G2、B2)が入力色データ21(R、G、B)と同じ場合、色合成部12は、第2の変換色データ25(R2、G2、B2)から色相(H)、彩度(S)及び明度(V)を算出する。例えば、色合成部12は、上記式(5)を用いて、又は一旦XYZに変換後上記の式(3)と式(4)とを用いて色相(H)、彩度(S)及び明度(V)を算出する。
なお、第2の変換色データ25(R2、G2、B2)が入力色データ21(R、G、B)と異なる場合、すなわち第2の色マッピング部14が上記特定マッピングを行う場合は、図27に示すように色データ取得部10から入力色データ21を取得しこの入力色データ21(R、G、B)を用いて色相(H)、彩度(S)及び明度(V)を算出する。
次に、保存色範囲と、圧縮拡張色範囲とを、色相(H)、彩度(S)及び明度(L)を用いて分ける。また、色合成部12は、保存色範囲及び圧縮色範囲のそれぞれに対して、その色相(H)、彩度(S)及び明度(L)の値によって第1の変換色データ22(R1、G1、B1)と第2の変換色データ25(R2、G2、B2)との合成比率を変えて第1の変換色データ22と第2の変換色データ25とを合成する。
ここで、合成比率rは色相(H)、彩度(S)及び明度(L)によって異なる。例えば、sRGBの色域から出力デバイスの色域へ変換するとき、緑色(G)の色領域は色相がシアン側にずれており、またシアン(C)で色域が広くなり黄色(Y)では色域が狭くなっている。ここでは、色再現可能な範囲をできるだけ利用するように、緑色(G)、黄色(Y)、シアン(C)の色相の色域領域では、第2の変換色データ25(R2、G2、B2)の合成比率を高めに設定する。
また、彩度(S)については全ての色相について彩度が高くなるにつれ入力色データ21(RGB)の合成比率を高めに設定する。このとき、色相及び明度によって合成比率の設定を調整する。
また、明度(V)については明度が比較的高いとき入力色データ21(RGB)の合成比率を高めに設定する。このとき、彩度及び色相によって合成比率の設定を調整する。
また、合成比率rの基本的な設定は、第1の色域と第2の色域の色域の広さの差(又は比)に基づいて設定される。第1の色域が第2の色域よりも広く第2の色域へ色域圧縮する場合、第2の色域を超える第1の色域の広さが大であればある程、入力色データ21(RGB)の合成比率を高めに設定する。但し、2つの色域間の色域の広さの差(又は比)は色相(H)、彩度(S)、明度(V)によって均一ではなく異なる場合が多いため、色相(H)、彩度(S)、明度(V)によって合成比率を調整する。
また、実施の形態1及び2と同様に、色合成部12は、色域圧縮及び色域拡張を行う場合ともに、2つの色域間の色域の広さ差が広い程、第2の変換色データ25(R2、G2、B2)の合成比率を高く設定する。
なお、第2の色マッピング部14が上記特定マッピングを行う場合も基本的に上記の合成比率に従うが、特定マッピングで特に設定されたマッピング範囲については、色合成部12は、第2の変換色データ25(R2、G2、B2)の合成比率を高めに設定する。
次に、第1の変換色データ22(R1、G1、B1)と第2の変換色データ25(R2、G2、B2)とを合成することで実際に生成された合成色データ23とそのxy色度値の例を図28A、図28B及び図29に示す。ここでは、第2の変換色データ25(R2、G2、B2)が入力色データ21(R、G、B)と同じ場合について説明する。また、入力色データ20(R、G、B)と、そのYxyの色度値30とは、図10Aと同様であるとする。
図28Aは、図10Aに示すxy値(Yxyの色度値30)を上記の式(11)と式(12)とを用いて、第2の色域として出力デバイスのRGBへ逆変換し、さらに逆変換した値をガンマ変換することにより0から255の8ビットのRGB値に変換した第1の変換色データ22(R1、G1、B1)の値を示す図である。但し、図28Aに示すRGB値は上記式(12)でR、G、Bの値が0以下の場合は0に、1以上の場合は1にクリップした値である。図28Bは第2の変換色データ25(R2、G2、B2)、つまり図10Aの入力色データ20(R、G、B)と、図28Aの第1の変換色データ22(R1、G1、B1)とを上記の設定に沿った合成比率で合成した合成色データ23のRGB値と、そのYxyの色度値31の一例を示す図である。
図29は、この入力色データ20の第1の色域のsRGBのデータのxy色度値と、色変換出力装置300により色合成された合成色データ23(出力色データ24)のxy色度値とを示す図である。図29において、白丸は、第1の色域のsRGBのデータのxy値(図10AのYxyの色度値30)を示し、黒丸は、第1の色域のsRGBのデータから第2の色域の出力デバイスの色域へ変換された合成色データ23(図28BのYxyの色度値31)を示す。図29に示すように、緑色の色再現範囲をできるだけ広げることができ、肌色に近い白色付近の色度値の変位はほとんどなく、また相対的な色関係は変わらずに、色階調の連続性も維持されている。
また、合成色データ23とそのxy色度値の別の例を図30A〜図30C、及び図31に示す。
図30Aは、入力色データ20(R、G、B)である第1の色域sRGBの8ビットのデータ値と、当該データ値を逆ガンマ変換して上記の式(6)と式(10)とを用いてxy値に変換したxy色度値32とを示す図である。図30Bは、xy色度値32を上記の式(11)と式(12)とを用いて、第2の色域として出力デバイスのRGBへ逆変換し、逆変換した値をガンマ変換することにより0から255の8ビットのRGB値に変換した第1の変換色データ22(R1、G1、B1)の値を示す図である。但し、図30Bに示す値は、上記式(12)でR、G、Bの値が0以下の場合は0に、1以上の場合は1にクリップした値である。図30Cは、第2の変換色データ25(R2、G2、B2)、つまり図30Aの入力色データ20(R、G、B)と、図30Bの第1の変換色データ22(R1、G1、B1)とを上記の設定に沿った合成比率で合成した合成色データ23のRGB値と、そのxy色度値33との一例を示す図である。
上記図30Aの入力色データ20であるsRGBの値は、肌色のサンプルデータと黄色(Y)の色範囲のデータとを抽出したものである。
図31は、図30Aに示す入力色データ20である第1の色域のsRGBデータのxy色度値と、色変換出力装置300により色合成した合成色データ23(出力色データ24)のxy色度値とを示す図である。図31において、白丸は、第1の色域のsRGBのデータのxy値(図30Aのxy色度値32)を示し、黒丸は、第1の色域のsRGBのデータから第2の色域の出力デバイスの色域へ変換された合成色データ23のxy値(図30Cのxy色度値)を示す。図31に示すように点線で囲んだ肌色のサンプルデータの色度は変換前と変換後でその変位が非常に小さい。また、黄色(Y)の色範囲の相対的な色関係は変わらずに、色階調の連続性も維持されている。
色データ出力部13は、色合成部12で合成された色データを出力する。出力はディスプレイ、プロジェクターあるいはプリンターなどの出力デバイスである。
なお、上記実施例はsRGB色域からある出力デバイスの色域への色変換で説明したが、規格などの特定の色域に限らず、所定の色域の入力色データあるいは入力デバイスから所定の色域の出力デバイスへ色変換する場合も同様に変換できることは言うまでもない。
以上のように、本発明の実施の形態3に係る色変換出力装置300は、入力色データ20の第1の色域が、出力色データ24の第2の色域により完全に包含できない場合、及び、出力色データ24の第2の色域が、入力色データ20の第1の色域により完全に包含できない場合であっても、肌色などの色味や出力デバイスの色域内で相対的な色関係を変えることもなく、色階調の連続性を維持できる。
次に、色変換出力装置300の色変換動作の流れを説明する。
図32は、色変換出力装置300の色変換動作の流れを示すフローチャートである。
図32に示すように、まず、色データ取得部10は、外部から入力される入力色データ20を取得する(S301)。また、色データ取得部10は、取得した入力色データ20をリニア(線形)な入力色データ21に変換する。
次に、色域領域判定部15は、入力色データ21が第2の色域内に含まれるか否かを判定する(S302)。
入力色データ21が第2の色域内に含まれる場合(S302でYes)、第1の色マッピング部11は、色データ取得部10により変換された入力色データ21を、第2の色域内へ第1の色域のまま色度変位させずにマッピングすることにより第1の変換色データ22を生成する(S303)。
一方、入力色データ21が第2の色域内に含まれない場合(S302でNo)、第1の色マッピング部11は、色データ取得部10により変換された入力色データ21を、第2の色域の色域境界へマッピングすることにより第1の変換色データ22を生成する(S304)。
ステップS303又はステップS304の後、第2の色マッピング部14は、色データ取得部10により変換された入力色データ21を出力色データ24の色域内の色データとみなしてマッピングすることにより第2の変換色データ25を生成する(S305)。
次に、色合成部12は、第1の変換色データ22と第2の変換色データ25とを合成することにより合成色データ23を生成する(S306)。
次に、色データ出力部13は、合成色データ23を出力色データ24として出力デバイスに出力する(S307)。
なお、ステップS302〜S304と、ステップS305との順序は任意でよく、例えば、ステップS302の前にステップS305を行ってもよいし、ステップS305と、ステップS302〜S304のうちいずれかとを同時に行ってもよい。
また、上述した実施の形態1に係る色変換出力装置100の変形例(図12)と同様に、色データ出力部13が第1の変換色データ22及び第2の変換色データ25を出力デバイスで表示可能なように変換(ガンマ変換)し、色合成部12が当該変換後の2つのデータを合成してもよい。
ところで、上記実施の形態1〜3に係る色変換出力装置100、200及び300の機能は、例えば、演算装置とメモリとを備える装置が、プログラムを実行することにより実現できる。
例えば、SDI(Serial Digital Interface)、DVI(Digital Visual Interface)、HDMI(High−Definition Multimedia Interface)、USB(Universal Serial Bus)、又はIEEE1394などのインタフェースを介して、放送映像、又は、記録媒体(BD(Blu−ray Disc)、DVD(Digital Versatile Disc)、HDD(Hard Disk Drive)、CD−ROM(Compact Disc Read Only Memory)又はメモリカード)に記録された画像などの色データが、上記装置に入力される。入力された色データは、一旦上記装置が備えるメモリバッファに記録される。記録された色データは順次、演算装置(例えばCPU)へ送られ、当該演算装置により実行されるプログラムに沿って上記実施例で示したような色変換の処理を行う。色変換処理された色データは出力メモリバッファに一時蓄えられ、出力デバイス(例えばディスプレイ)の出力(又は表示)同期にあわせて出力される。
また、本発明は、上記色変換出力装置100、200又は300による特徴的なステップにより算出された、入力色データ20と出力色データ24との対応関係を示すLUT(ルックアップテーブル)を用いて実現することもできる。すなわち、本発明は、入力色データ20と出力色データ24との対応関係を示す色変換テーブルとして実現してもよい。具体的には、色変換テーブルは、例えば、図7Aに示す入力色データ20と、図7Cに示す合成色データ23(出力色データ24)との対応関係を示す。
さらに、本発明は、上記色変換テーブルを作成する色変換テーブルの作成方法として実現してもよい。具体的には、本発明にかかわる色変換テーブルの作成方法は、上記色変換出力装置100、200又は300による特徴的なステップと、当該ステップで算出された出力色データ24を、当該入力色データ20に対応する出力色データ24とした色変換テーブルを作成する作成ステップとを含む。
もちろん、上記プログラム及びLUTは、色変換出力装置100〜300又は上記演算処理装置の内部又は外部のメモリ(RAM)に記録しておいたり、HDD、DVD、又は不揮発性メモリカードなどの外部記録媒体へ記録しておくことも可能である。
なお、色変換のプログラムは、入力色データ20及び出力色データ24の逆ガンマ変換及びガンマ変換、2つの異なる色域間のマトリクス演算、RGBからHSV(色相、彩度、明度)変換、色マッピング演算並びに色合成演算を演算装置に実行させる。これらの変換及び演算は上記実施例で示した手順で演算装置により実行される。
また、色変換のLUT(色変換テーブル)は、例えば、入力色データ20のRGBを出力色データ24のRGBデータへマッピングするRGBからなる3次元のLUTである。このLUTは、入力色データ20(RGB)の3次元色空間の値を、色合成された結果としての出力色データ24(RGB)の3次元空間へ写像するためのものである。また色変換LUTの作成は、入力色データ20(RGB)を上記実施例で示した2つの色データの合成比率、色相(H)、彩度(S)あるいは明度(V)で2つの色域間の広さの差(又は比)に基づいて設定し、その結果としての出力色データのRGB値を色変換LUTのRGB格子点のデータとする。3次元のLUTは、例えば、16(R)×16(G)×16(B)、32(R)×32(G)×32(B)又は64(R)×64(G)×64(B)のRGB格子点からなる。この格子点の数は色変換に求められる精度によって決めればよい。各格子点のデータは例えば8ビット、又は10ビット等のデータである。
更に、RGB格子点が少ない場合はその間の値で色の不連続性が生じないように補間演算を組み込んでおいてもよい。
ここで、より具体的にRGBからなる3次元のLUTを用いた構成を、図面を参照しながら説明する。
図33は、図1に示す色データ取得部10の入力から色データ出力部13の出力までの処理を3次元LUTと3次元補間部とで構成した色変換出力装置400の構成を示す図である。
入力される入力色データ20に含まれるR信号410、G信号411及びB信号412は、3個の3次元LUT401、402及び403に入力される。3次元LUT401、402及び403は、それぞれR信号410、G信号411及びB信号412を変換することにより(R、G、B)の位置を含むLUTの格子立方体の8点のデータ413、414及び415を出力する。
これらのデータ413、414及び415はそれぞれ3次元補間部404、405及び406に入力される。3次元補間部404、405及び406は、データ413、414及び415を、データを補間するための元のデータとしてとして使用し、R信号416、G信号417及びB信号418を生成する。
RGB格子点が、例えば16×16×16の場合、3次元補間部404、405及び406は、入力されたRGBの上位4ビットによりどの格子点を使用するかを決定し、下位4ビットにより補間演算における係数を決定する。3次元補間部404、405及び406は、補間演算を3次元的に行い、また、R、G、B毎にR、G、Bのそれぞれの軸において補間を行う。
RGB格子点が16×16×16であり、RGBデータが8ビットの場合、R、G、Bそれぞれに16×16×16のLUTが必用となるため、メモリを用いてLUTを構成する場合、使用するメモリ容量としては16×16×16×3×8ビットが必要となる。
また、図1に示す色データ取得部10の出力から色データ出力部13の入力までの処理を3次元LUTと3次元補間部とで構成することも可能である。
さらに、別の具体的な構成について図面を参照しながら説明する。
図34は、合成比率を出力する3次元LUTと、その合成比率に応じ、入力された2系統の色データを混合する混合部を備える色変換出力装置500の構成を示す図である。
入力される入力色データ20に含まれるR信号510、G信号511及びB信号512はそれぞれ、R、G、Bにそれぞれ対応する混合部504、505及び506に入力される。また、R信号510、G信号511及びB信号512は、マトリクス演算部501と、3次元LUT502に入力される。
マトリクス演算部501は、図1に示す第1の色マッピング部11に相当し、上記式(1)、及び式(2)を合わせたマトリクス演算を行うことにより、R信号513、G信号514及びB信号515を生成する。
3次元LUT502は、R、G、Bに対応した合成比率rに相当する合成比率データ516を生成する。3次元補間部503は、合成比率データ516に補間演算を行うことにより合成比率データ517を生成する。なお、3次元LUT502及び3次元補間部503の動作は、図33の説明における3次元LUT401及び3次元補間部404の動作と同様である。
また、混合部504は、合成比率データ517に示される合成比率rの割合で、R信号510とR信号513とを混合することによりR信号518を生成する。混合部505は、合成比率データ517に示される合成比率rの割合で、G信号511とG信号514とを混合することによりG信号519を生成する。混合部506は、合成比率データ517に示される合成比率rの割合で、B信号512とB信号515とを混合することによりB信号520を生成する。
ここで、3次元LUT401ではLUTデータはR、G、Bの信号に相当するデータであるが、3次元LUT502ではLUTデータは合成比率rのデータであり、係数に相当するデータである。また、入力データと色マッピング後のデータとは相関があるため、合成比率rが合成後のRGBデータに及ぼす影響は、RGBデータそのものを変化させた場合の影響に比較して小さい。このため、色マッピングにおける変換前後の色域の差に依存はするが、合成比率rの精度はRGBデータそのものの精度より低くて良い。例えば、RGBデータが8ビットに対し合成比率rのビットを数ビット小さくしても(例えば5ビット)、出力データを同等レベルの品位とすることが可能となる。
RGB格子点が、16×16×16、データが8ビットの場合、LUTは16×16×16が1個で良く、ビット数が5ビットで可能とすれば、メモリを用いてLUTを構成する場合、使用するメモリ容量としては16×16×16×5ビット×1が必要である。
このため、図33の色変換出力装置400の構成と比較すると、色変換出力装置500では、マトリクス演算部501を加える必要があるが、LUTに必要な容量は1/5程度にできる。よって、色変換出力装置500をハードウェアで実現した場合、全体として規模を小さくすることが可能である。
また、例えば表示出力デバイスの変更により特性を変更する場合、図33に示す色変換出力装置400ではLUTの変更が必要となるが、図34に示す色変換出力装置500では、マトリクス演算部501がLUTとは別構成のため、マトリクス演算部501の設定を変えるのみでよい。つまり、色変換出力装置500は、特性の変更が容易である。
また、複数の表示出力デバイスに対応する場合、又は、複数のマトリクス演算特性を持ちたい場合に、図33に示す色変換出力装置400では複数のLUTのデータを例えばROMに持つ等の対応が必要となるが、図34に示す色変換出力装置500では、マトリクス演算部501の9個の係数データを1セットとし、これを複数セット持つのみでよい。
また、色変換出力装置100、200及び300の機能の一部又は全部を集積回路であるLSIとして実現してもよい。これらのLSIは、個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。さらに、色変換のLUT(色変換テーブル)を参照することで、色変換出力装置100、200及び300と同等の入出力特性を実現する色変換出力装置、又は半導体集積回路として実現してもよい。具体的には、当該色変換出力装置は、上記色変換テーブルと、当該色変換テーブルを用いて入力色データ20を出力色データ24に変換する変換部とを備える。また、記録媒体に記録された色変換テーブルを参照することで色変換処理を実現する色変換出力装置又は半導体集積回路として実現してもよい。また、上述したように、入力色データ20に含まれるRGB信号の色信号毎に異なる色変換テーブルを作成する場合には、上記変換部は、入力色データ20に含まれるRGB信号の色信号毎に作成された上記色変換テーブルを用いて入力色データ20を出力色データ24に変換する。なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサーで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)、又は、LSI内部の回路セルの接続及び設定を再構成可能なリコンフィギュラブル・プロセッサーを利用してもよい。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
また、上記実施の形態1〜3に係る、色変換出力装置100、200、300、及びその変形例の機能のうち少なくとも一部を組み合わせてもよい。