以下、発明の実施の形態について図面により詳細に説明する。
実施例1
図1は、本発明の画像処理システムの構成例を示す。図1において、101は画像入力装置、102は画像処理装置、103は画像表示装置、104は画像記録装置である。
画像入力装置101は、画像を読取って入力画像データとして出力する装置であり、例えばデジタルカメラ、カラースキャナでなどで構成されている。画像入力装置101が出力する画像データは、画像入力装置101に依存する色属性を有しており、ここではsYCC色空間の色属性を有しているものとする。
ここで、sYCC色空間とは、sRGBをベースに、3×3マトリックスで変換して得られる輝度Yと2つの色差信号Cb、Crで構成される色空間で、色空間としてはsYCCのほうが色域が広く、sRGBの色域の外側の色も表現することができる。sYCCの値は、三刺激値XYZ(D65)から次のよう算出される。
始めに、線形のsRGB値を、RsRGB、GsRGB、BsRGBとして、
再度、図1を参照すると、画像処理装置102は、画像処理システムの中核をなし、画像入力装置101、画像表示装置103、画像記録装置104等の各装置間の、画像データのやり取りを仲介する役割等を果たす。例えば、画像入力装置101から出力された画像データは、画像処理装置102の入力色変換部105に入力される。
入力色変換部105は、sYCC色空間の入力画像データを、色交換用色空間(ここではscRGB色空間とする)の画像データに色変換する。そして、画像データ記憶部106に出力する。このscRGB色空間は、白色点、原色色度、観察環境などはsRGBと同じであるが、RGBそれぞれ−0.5〜7.5までの範囲を許容し(sRGBは0〜1.0)、sRGBより広い色域をカバーすることができる色空間である。
画像データ記憶部106は、入力色変換部105で色変換された画像データ等を記憶すると共に、必要に応じて記憶した画像データを出力する。例えば、画像表示装置103で画像データを表示する場合、画像データ記憶部106から画像データが出力され、表示色変換部107を介して、画像表示装置103に入力される。ここで、画像表示装置103は、CRTやLCD等の方式により、受け取った画像データを表示する装置であり、その色再現特性は画像表示装置103に依存する。ここではsRGBの色再現特性を有するものとすると、上述の表示色変換部107は、色交換用色空間であるscRGB色空間の画像データを、画像表示装置103の色空間であるsRGB色空間の画像データに色変換することになる。
また、画像記録装置103で画像データを記録する場合、画像データ記憶部106から画像データが出力され、記録色変換部108を介して、画像記録装置104に入力される。ここで、画像記録装置104は、インクジェットや電子写真等の方式により画像を記憶する表示するカラープリンタであり、以下ではCMYKのデバイス依存記録データを受け取るものとする。従って、上述の記録色変換部108は、色交換用色空間であるscRGB色空間の画像データを、画像記録装置104の色空間であるCMYK色空間の画像データに、色変換することになる。
尚、scRGB値は、三刺激値XYZ(D65)から次のように算出される。
即ち、線形scRGB値を、RscRGB、GscRGB、BscRGBとして、
従って、上述の入力色変換部105は、(1)〜(6)式の逆変換を行なってsYCC値を三刺激値XYZに変換し、更に、(7)、(8)式の変換を行なって、scRGB値を得ることができる。但し、負の三刺激値XYZは存在しないので、
X、Y、Z<0なら、X=0、Y=0、Z=0 (9)
として良い。
また、上述の表示色変換部107は、(7)〜(8)式の逆変換を行なってscRGB値を三刺激値XYZに変換し、更に、(1)式の変換を行なって、sRGB値を得る。尚、sYCCへの変換においてはsRGB値が、負あるいは1を超えることを許容したが、通常sRGB値の範囲は0〜1.0であるので、0〜1.0を超えた場合はクリッピングを施す。また、非線形のsRGB値は、
尚、(1)式と(7)式は、実質的に同じなので、(1)式の逆変換と(7)式の変換、(1)式の変換と(7)式の逆変換は、相殺することもできる。
以上のように、本画像処理システムでは、従来から使用されている標準モニタ色空間(sRGB)よりも広色域な色空間(scRGB)を色交換用色空間として使用した画像データのやり取りが可能になっている。
図2は、CIELAB色空間の等色相面における、画像表示装置の色再現範囲と画像記録装置の色再現範囲の一般的な関係を示す。図2において、縦軸は明度(L*)軸、横方向は彩度(S*)方向を示す。
図示したように、画像表示装置103の色再現範囲と画像記録装置104の色再現範囲は、一般的に互いに包含関係にない。これは、画像表示装置の色再現範囲が高明度側に広がる傾向がある、加法混色により色を表現するのに対し、画像記録装置の色再現範囲が低明度側に広がる傾向がある、減法混色により色を表現しているためである。
一方、画像入力装置101の色空間であるsYCC色空間や色交換用色空間であるscRGB色空間は、画像表示装置103や画像記録装置104の色再現範囲を包含する広い色域を表現することができる。このため、画像入力装置101から入力され、画像データ記憶部106に記憶された画像データには、画像表示装置103および画像記録装置104の色再現範囲外の画像データも含まれている。このため、上述した表示色変換部107や記録色変換部108は、このような画像データもそれぞれの装置で再現可能な画像データに変換する働きもしている。
しかし、このシステムにおいては、画像表示装置103および画像記録装置104の色再現範囲外の画像データが示す色を、正確に再現することができないので、その画像データが示す色は確認されないまま、そのまま、あるいは編集、加工、修正が施され、出力されることになる。このため本発明に係わる画像処理装置では、表示あるいは記録により確認可能な画像データと、確認不可能な画像データとを区別し、その取扱いを変えることのできる構成を備えている。
図3は、本発明に係わる記録色変換部108の構成例を示す。以下では、同一の構成要素に関して同じ番号を付して、重複する説明は省略することがある。
図3において、301は色域設定部、302は設定色域マッピング部、303は記録色域マッピング部、304はデバイス信号変換部である。
色域設定部301は、画像表示装置103の色再現範囲と画像記録装置104の色再現範囲に基づいて、色域を設定するブロックである。即ち、色域設定部301は、画像表示処理装置103および画像記録装置104から、それぞれ、その色域情報を得て、両者を包含する色域を設定する。
図4(a)は、上述したCIELAB色空間の等色相面において、色域設定部301が設定した色域の一例を示す。この例では、色域設定部301が、画像表示装置103の色再現範囲と画像記録装置104の色域を包含し、表面積が最小となる領域を設定している。このため、図4(a)に示したCIELAB色空間の等色相面においては、両色域の最外郭に接する線分で、両色域が結合されている。
ここで、上述した表示色変換部107の作用について補足する。この実施例の表示色変換部107は、0〜1.0の範囲を超えたsRGBの画像データを、0または1.0にクリッピングして、画像表示装置103に出力している。このようなクリッピング操作は、多くのシステムで実施されているが、色覚的な影響を考慮した操作ではないので、色の複雑な変化を伴っている。
例えば、等色相面(H*=0)上で明度(L*)および彩度(S*)を等間隔に取った色を、サンプル画像データの入力色、該入力色のクリッピング処理後の色をサンプル画像データの表示色とし、その関係を図5(a)に示す。図5(a)において、入力色が画像表示装置の色再現範囲内であれば、表示色の変化はない。しかし、色再現範囲外の場合は、色再現範囲から外れるに連れて、表示色の明度や彩度が大きく変化する。
更に、これには色相の変化も伴う。図5(b)にその様子を示す。図5(b)はサンプル画像データの入力色と対応する表示色の関係を示す色度図(a*,b*)である。ここでは入力色をH*=0としたため、入力色はa*軸上(+)に配置されている。一方、表示色は、色再現範囲内であれば色度変化はないが、色再現範囲外の場合、彩度と共に色相も変化する。そして、明度が高い領域と低い領域とでは、色相変化の向きも異なるなど、複雑な変化を示している。尚、以上ではH*=0の場合を示したが、画像表示装置の色再現範囲も含めて、この変化は他の色相でも発生するものである。
再度、図3を参照すると、設定色域マッピング部302は、色域設定部301が設定した色域に基づいて、設定した色域の外にある画像データを、設定した色域内に色域マッピングするブロックである。
図4(b)は、設定色域マッピング部302が行なう色域マッピングの一例を示す。また、図6は、設定色域マッピング部302の処理フローチャートを示す。尚、ここに示す設定色域マッピング部302は、表示色変換部107の動作を参考にして、色域マッピングを行なうものである。
図6を参照すると、始めに設定色域マッピング部302は、処理対象の画像データが、色域設定部301が設定した色域の外にあるか否かを判定する(ステップ601)。そして否であれば、マッピングを行なわずにその画像データを保持する。
一方、図4(b)に示した入力色Xのように、画像データが設定した色域の外にあれば、表示色変換部107が行なう色変換を推定して、図4(b)に示すような対応する表示色Sを得る(ステップ602)。この処理は、設定色域マッピング部302が、例えば、表示色変換部107が行なう処理を表示色変換部107等に問い合わせて、あるいは、表示色変換部107が行なう処理を「sRGBのクリッピング処理」と断定して、表示色変換部107が行なう色変換を仮想的に実行し、表示色Sを算出することで、実現する。
次に、注目する画像データの色を上記表示色Sに向けて少しずつ移動させ(ステップ603)、移動した色が上記設定した色域の内にあるか否かを判定する(ステップ604)。そして否であれば移動を繰返し、色域の内となった所で、移動先を設定した色域との交点S’と見なし、処理対象の画像データと置き換える(ステップ605)。
これにより色域設定部301が設定した色域の外にある画像データは、該色域の最外郭S’にマッピングされる。
尚、上述したような色相変化により、表示色Sの色相は入力色Xの色相と一致しないので、入力色Xの表示色Sに向けた移動は、L*H*S*(L*a*b*)色空間内の3次元的な移動となる。また入力色Xの表示色Sに向けた移動は、図4(b)に示したようなL*H*S*(L*a*b*)色空間における直線的な移動に限るものではなく、例えば、表示色変換部107による色変換結果が表示色Sとなる経路を探索しながら移動しても良い。また、L*H*S*(L*a*b*)色空間に限らず、カラーアピアランス空間(CIECAM02)等、他の色空間における移動であっても良い。
また、以上で説明した実施例では、色域設定部301が設定した色域の外にある画像データを、該色域の最外郭にマッピングし、該色域の外にある画像データを、該色域の内に色域マッピングしたが、本発明はこの限りではない。
例えば、色域設定部301が設定した色域を10〜20%程度膨張した色域を新たに設定し、該膨張させた色域を膨張前の色域に均等に圧縮、あるいは、膨張前の色域の内側に圧縮を行なわない領域を更に設定し、該膨張させた色域を、残りの領域を使って圧縮する等を行なっても良い。
以上で説明した実施例のように、色域設定部301が設定した色域の外にある画像データを、該色域の最外郭にマッピングすると、該色域の内にある画像データの色を維持できるので、色再現可能な入力画像データの正確な色再現が容易となる。
再度、図3を参照すると、記録色域マッピング部303は、画像記録装置104の色再現範囲に基づいて、画像記録装置104の色再現範囲の外にある画像データを、画像記録装置104の色再現範囲内に色域マッピングする。
図4(c)は、記録色域マッピング部303が行なう色域マッピングの一例を示す。また、図7は、記録色域マッピング部303の処理フローチャートを示す。
図7を参照すると、始めに記録色域マッピング部303は、処理対象の画像データが、画像記録装置104の色再現範囲外にあるか否かを判定する(ステップ701)。そして否であれば、マッピングを行なわずにその画像データを保持する。
一方、図4(c)に示した入力色Yのように、画像データが画像記録装置104の色再現範囲の外にあれば、処理対象の画像データと色相が等しい等色相面における画像記録装置104の色再現範囲の最高彩度点Pを、記録色域マッピング部303が認識して、該最高彩度点Pと明度の等しい無彩色点N(S*=0)を定める(ステップ702)。
次に、注目する画像データの色を上記無彩色点Nに向けて少しずつ移動させ(ステップ703)、移動した色が画像記録装置104の色再現範囲内にあるか否かを判定する(ステップ704)。そして否であれば移動を繰返し、色域の内となった所で、移動先を画像記録装置104の色再現範囲との交点Tと見なし、画像データと置き換える(ステップ705)。
これにより画像記録装置104の色再現範囲の外にある画像データは、該色再現範囲の最外郭Tにマッピングされる。
尚、以上では、入力色Xの無彩色点Nに向けた移動を、L*H*S*色空間の等色相面上で行なったが、本発明はこれに限るものではない。例えば、目標となる無彩色点Nの設定を含めて、カラーアピアランス空間(CIECAM02)等、他の色空間で行なうようにしても良い。
再度、図3を参照すると、デバイス信号変換部304は、画像記録装置104の色再現特性に応じて、入力された画像データを、該画像データが指し示す色を再現する画像記録装置104のデバイス依存記録データに変換する。
以上のように、本実施例は、画像表示装置の色域および画像記録装置の色域に基づいて設定された色域の外にある画像データを、該色域内にマッピングする設定色域マッピング部302と、上記マッピングされた画像データを、上記画像記録装置の色域内に、上記設定色域マッピング部302とは異なる方法でマッピングする記録色域マッピング部303とを備えているので、画像データの示す色が、画像表示装置の色域の外、且つ、画像記録装置の色域の外にあるような、色の正確な確認が困難な画像データと、画像表示装置の色域の内、または、画像記録装置の色域の内にあるような、色の正確な確認が可能な画像データに対して、それぞれ異なる処理を施すことができる画像処理装置を実現することができる。
特に、上述した実施例では、設定色域マッピング部302が、表示色変換部107の動作を考慮して、色域マッピングを行なうので、画像表示装置の色域の外、且つ、画像記録装置の色域の外にあるような画像データの、画像記録装置104による再現を、画像表示装置103による再現に類似させることができる。これにより、標準モニタ色空間よりも広い色域を取扱う際に問題となりやすい、画像処理システムとしての色再現の不整合を解決することができる。
尚、以上では、画像表示装置103の色再現特性をsRGBとしたが、本発明はこれに限るものではない。例えば、Adobe(登録商標)RGBの色再現特性を有していても良いし、ICCプロファイル等で色再現特性が記述されていても、同じように取扱うことができる。
また、以上では、画像記録装置103がCMYKのデバイス依存記録データを受け取るとしたが、本発明は、これに限ものではなく、例えばRGB等、他のデバイス依存記録データを受け取る画像記録装置としても、適用することができる。
以上で説明した実施例では、色域設定部301が、画像表示装置103の色再現範囲と画像記録装置104の色域を包含し、表面積が最小となる領域を設定したが、本発明はこれに限らず、色域設定部301が、画像表示装置103の色再現範囲と画像記録装置104の色再現範囲に基づいて、両者を包含する色域を設定していれば良い。
例えば、別の色域設定部301は、図8(a)に示すように、画像表示装置103の色再現範囲と画像記録装置104の色再現範囲の和を、色域として設定する。この場合、色域設定部301が設定した色域は、図8(b)に示すように凹領域Aを持つことになるが、設定色域マッピング部302による色域マッピングが、画像表示装置103の色再現範囲内に、より多くの領域で、直接色域マッピングすることになる。このため、画像記録装置104による色再現が、画像表示装置103による色再現により近くなるので、出力装置間の差異を小さくすることができる。
尚、図4(a)に例示したような色域設定方法は、図8(b)に示したB点のような屈曲点を持たないので、色域マッピング後の色のつながり(色変化の連続性)を良好に保つことができ、滑らかな色変換が可能となる。
実施例2
以上で説明した実施例1では、設定色域マッピング部302が、表示色変換部107の動作を考慮して色域マッピングを行ったが、本発明はこれに限るものではない。以下では、表示色変換部107の動作を考慮せずに、色域設定部301が設定した色域に基づき、該色域の外にある画像データを、該色域内に色域マッピングする設定色域マッピング部の実施例の説明を行う。
図9(a)は、このような設定色域マッピング部901を有する記録色変換部108の構成例を示す。また、図9(b)は、設定色域マッピング部901が行なう色域マッピングの一例を示す。また、図9(c)は、設定色域マッピング部901の処理フローチャートを示す。
図9(c)を参照すると、始めに設定色域マッピング部901は、処理対象の画像データが、色域設定部301が設定した色域の外にあるか否かを判定する(ステップ902)。そして否であれば、マッピングを行なわずにその画像データを保持する。
一方、図9(b)に示した入力色Xのように、画像データが設定した色域の外にあれば、処理対象の画像データと色相が等しい等色相面における色域設定部301が設定した色域の最高彩度点Pを、設定色域マッピング部901が認識して、該最高彩度点Pと明度の等しい無彩色点N(S*=0)を定める(ステップ903)。
次に、注目する画像データの色を上記無彩色点Nに向けて少し少しずつ移動させ(ステップ904)、移動した色が色域設定部301が設定した色域内にあるか否かを判定する(ステップ905)。そして否であれば移動を繰返し、色域の内となった所で、移動先を色域設定部301が設定した色域との交点Sと見なし、画像データと置き換える(ステップ906)。
これにより色域設定部301が設定した色域外にある画像データが、該色域の最外郭Sにマッピングされる。
尚、ここでは、入力色Xの無彩色点Nに向けた移動を、L*H*S*色空間の等色相面上で行なっている。このため入力画像データの色相が保持されるので、入力画像により近い色再現を達成することができる。
ところで、上述した表示色変換部107は、0〜1.0の範囲を超えたsRGBの画像データを0または1.0にクリッピングして、画像表示装置103に出力するので、画像データの色相を変えてしまうことがある。このため、図9(a)に示したような設定色域マッピング部901を備えた画像処理システムでは、画像表示装置103に表示された画像の色相と、画像記録装置104で記録された画像の色相とに、差が生じて違和感を与えることがあった。従って、このような設定色域マッピング部901を備えた画像処理システムでは、表示色変換部107も、図9(a)に示した色域設定部301や設定色域マッピング部901に相当する機能を持ち、画像データの色相を変えずに処理することが望ましい。
図9(d)は、このような表示色変換部107の構成例を示す。図9(d)において、色域設定部907は、画像表示装置103の色再現範囲と画像記録装置104の色再現範囲に基づいて色域を設定するブロックであり、上述の色域設定部301と同様の処理を行なう。
また、設定色域マッピング部908は、表示色変換部107の動作を考慮せずに、色域設定部907が設定した色域に基づき、該色域の外にある画像データを、該色域内に色域マッピングするブロックであり、上述の設定色域マッピング部901と同様の処理を行なう。
また、表示色域マッピング部909は、画像表示装置103の色再現範囲に基づいて、該色再現範囲の外にある画像データを、該色再現範囲内に色域マッピングするブロックである。表示色域マッピング部909が行なう処理は、例えば、入力された画像データが指し示す色(scRGB値)を、上述したような(7)〜(8)式の逆変換を行なって三刺激値XYZに変換し、更に、(1)式の変換を行なう。そして、0〜1.0を超えた場合はクリッピングを施すことで、実現できる。
これにより、色域設定部907が設定した色域内にマッピングされた画像データのうち、画像表示装置103の色再現範囲外である画像データにのみクリッピングが施されるようになるので、画像表示装置103に表示された画像の色相と画像記録装置104に記録された画像の色相との違いを、大幅に低減することができる。
尚、この場合、表示色域マッピング部909が出力する画像信号は、画像表示装置103のデバイス依存の画像データそのものであり、表示色域マッピング部909が、記録色変換部108のデバイス信号変換部304に相当する役割を兼ねている。
また、以上では、表示色変換部107および記録色変換部108に、それぞれ色域設定部や設定色域マッピング部を配置する例を説明したが、例えば、入力色変換部105や画像データ記憶部106等、両装置に共通する画像データの経路上に、これらを配置しても同様の効果を得ることができる。
実施例3
図10は、上述した記録色変換部108の処理フローチャートを示す。図10を参照すると、始めに、色域設定部301を制御して、画像表示装置103の色再現範囲と画像記録装置104の色再現範囲に基づいて色域を設定する色域設定処理(ステップ1001)を行う。
次に、画像データ記憶部106に画像データの出力を要求して、画像データ記憶部106が出力した画像データを受け取る、画像データ入力処理(ステップ1002)を行う。
次に、設定色域マッピング部302を制御して、色域設定処理(ステップ1001)で設定した色域に基づいて、設定した色域の外にある画像データを、設定した色域内に色域マッピングする設定色域マッピング処理(ステップ1003)を行う。
次に、記録色域マッピング部303を制御して、画像記録装置104の色再現範囲に基づいて、画像記録装置104の色再現範囲の外にある画像データを、画像記録装置104の色再現範囲内に色域マッピングする記録色域マッピング処理(ステップ1004)を行う。
次に、デバイス信号変換部304を制御して、画像記録装置104の色再現特性に応じて、画像記録装置104の色再現範囲内に色域マッピングされた画像データを、画像記録装置104のデバイス依存の画像データに変換するデバイス信号変換処理(ステップ1005)を行う。
次に、変換したデバイス依存の画像データを画像記録装置104に出力する画像データ出力処理(ステップ1006)を行う。そして、画像データが終了したか否かを判定して、否であれば、上述した処理(ステップ1002〜1006)を繰り返す(ステップ1007)。
尚、以上では、記録色変換部108が、画像データが入力される度に、設定色域マッピング処理(ステップ1003)や記録色域マッピング処理(ステップ1004)を行う例を示したが、本発明はこの限りではない。
例えば、上述した記録色変換部108が行う処理を、LUT(ルック・アップ・テーブル)のデータとして記憶しておき、該LUTを使用して、入力される画像データを処理するようにしても良い。
図11(a)は、このような処理を行なう記録色変換部108の処理フローチャートを示す。図11(a)を参照すると、始めに、色域設定部301を制御して、画像表示装置103の色再現範囲と画像記録装置104の色再現範囲に基づいて色域を設定する色域設定処理(ステップ1101)を行う。
次に、画像データが表す色空間を格子状に分割して処理する際の格子点の画像データを順番に設定する格子点データ設定処理(ステップ1102)を行なう。
次に、色域設定処理で設定した色域に基づいて、設定した色域の外にある格子点の画像データを、設定した色域内に色域マッピングする設定色域マッピング処理(ステップ1103)を行う。
次に、画像記録装置104の色再現範囲に基づいて、画像記録装置104の色再現範囲の外にある格子点の画像データを、画像記録装置104の色再現範囲内に色域マッピングする記録色域マッピング処理(ステップ1104)を行う。
次に、画像記録装置104の色再現特性に応じて、画像記録装置104の色再現範囲内に色域マッピングされた格子点の画像データを、画像記録装置104のデバイス依存の画像データに変換するデバイス信号変換処理(ステップ1105)を行う。
そして、色空間を分割する格子点に関する処理が全て終了したか否かを判定して、否であれば、上述した処理(ステップ1102〜1105)を繰り返す(ステップ1106)。これにより、格子点の画像データに対応するデバイス依存の画像データのLUTが作成されて、記憶される。
次に、画像データ記憶部106に画像データの出力を要求して、画像データ記憶部106が出力した画像データを受け取る、画像データ入力処理(ステップ1107)を行う。
次に、上記記憶されたLUTを利用して、受け取った画像データをデバイス依存の画像データに変換するLUT変換処理(ステップ1108)を行う。次に、変換したデバイス依存の画像データを画像記録装置104に出力する画像データ出力処理(ステップ1109)を行う。そして、画像データの処理が全て終了したか否かを判定して、否であれば、上述した処理(ステップ1107〜1109)を繰り返す(ステップ1110)。
また、図11(b)は、このような処理を行なう記録色変換部108の構成例を示す。図11(b)を参照すると、記録色変換部108は、色域設定部301、LUT作成部1111、LUT変換部1112で構成されている。
LUT作成部1111は、色域設定部301が設定した色域や画像記録装置104の色再現範囲に基づいて、格子点に対応するデバイス依存の画像データを求めてLUTを作成するブロックであり、画像データが表す色空間を格子状に分割して処理する際の格子点の画像データを設定する格子点設定部1113、色域設定部301が設定した色域に基づいて、設定した色域の外にある画像データを、設定した色域内に色域マッピングする設定色域マッピング部901、画像記録装置104の色再現範囲に基づいて、画像記録装置104の色再現範囲の外にある画像データを、画像記録装置104の色再現範囲内に色域マッピングする記録色域マッピング部303、画像記録装置104の色再現特性に応じて、入力された画像データを、入力された画像データが指し示す色を再現する画像記録装置104のデバイス依存の画像データに変換するデバイス信号変換部304等で、構成されている。
また、LUT変換部1112は、LUT作成部1111で作成されたLUTに基づいて、画像データ記憶部106から出力された画像データにLUT変換処理を施して、デバイス依存の画像データに変換して、画像記録装置104に出力するブロックである。
実施例4
また、以上で説明した実施例では、設定色域マッピング部901が、色域設定部301が設定した色域に基づいて、該色域の外にある画像データを、該色域内に色域マッピングしたが、本発明はこれに限るものではない。
以下では、色域設定部301が設定した色域のみならず、該色域の外にある画像データの分布に基づいて、色域マッピングをする設定色域マッピング部の例の説明を行う。
図12(a)は、このような設定色域マッピング部1201を有する記録色変換部108の構成例を示す。また、図12(b)は、この記録色変換部108の処理フローチャートを示す。
図12(b)を参照すると、始めに、色域設定部301を制御して、画像表示装置103の色再現範囲と画像記録装置104の色再現範囲に基づいて色域を設定する色域設定処理(ステップ1211)を行う。
次に、画像データ記憶部106に画像データの出力を要求して、画像データを受け取り、該色域の外にある画像データの色分布を少なくとも調査する画像データ分布調査処理(ステップ1212)を行なう。
次に、該色域の外にある画像データの色分布に基づいて、マッピングする方向を決定するマッピング方向決定処理(ステップ1213)を行なう。ここで行なう画像データの色分布調査は、例えば、画像データの色空間を複数の色相領域に分割し、該色相領域毎に明度−彩度の2次元ヒストグラムを作成するものである。また、ここで決定されるマッピング方向は、色相領域毎に作成した2次元ヒストグラムに基づいて、色域の外にある画像データの分布を判定し、決定するものである。尚、画像データの色分布調査は、全ての画像データを対象とする必要はないので、画像データの一部をサンプリングして色分布を調査する形態でも良い。
図13は、一例とする色相領域における、色域の外にある画像データの分布と、それに対応して決定するマッピング方向との関係例を示す。
図13(a)は、色域の外にある画像データが、広い範囲に分布する場合の例を示す。このような分布を有する画像データを上記色域内に色域マッピングする場合は、画像データが持つ階調性を保存するような色域マッピングが、一般に好まれる。このような色域マッピング方法には、例えば、上述した設定色域マッピング部901が行なったような、等色相面における最高彩度点Pと明度の等しい無彩色点Nの方向に向けてマッピングする方法があり、この場合は、それぞれの位置に応じた無彩色点Nの方向を、マッピング方向と定める。
一方、図13(b)は、色域の外にある画像データが、狭い範囲に集中している場合の例を示す。このような分布を有する画像データを上記色域内に色域マッピングする場合は、階調性を保存よりも、色差を小さくするような色域マッピングが、一般に好まれる。このような色域マッピング方法としては、例えば、等色相面において色差最小となるような点Qに向けてマッピングする方法がある。この場合は、この点Q方向を該範囲におけるマッピング方向と定める。
尚、画像データの存在が分布として捕らえられなかった範囲にも、実際には画像データが存在するので、これに備えてデフォルトのマッピング方向を、例えば、図13(a)に示したような方法で定めておくと良い。
再度、図12(b)を参照すると、次は、画像データが表す色空間を格子状に分割して処理する際の格子点の画像データを順番に設定する格子点データ設定処理(ステップ1214)を行なう。
次に、マッピング方向決定処理(ステップ1213)で決定した色相領域毎のマッピング方向に基づいて、設定した色域の外にある格子点の画像データを、該色域内に色域マッピングする設定色域マッピング処理(ステップ1215)を行う。尚、該色域の内にある格子点の画像データはそのままを維持するものとする。そして、色空間を分割する格子点に関する処理が全て終了したか否かを判定して、否であれば、上述した処理(ステップ1214〜1215)を繰り返す(ステップ1216)。
これにより、格子点の画像データに対応する設定色域マッピング後の画像データのLUTが作成されて、記憶される。
次に、画像データ記憶部106に画像データの出力を再び要求して、画像データ記憶部106が出力した画像データを受け取る、画像データ入力処理(ステップ1217)を行う。
次に、上記記憶されたLUTを利用して、受け取った画像データを設定色域マッピング後の画像データに変換するLUT変換処理(ステップ1218)を行う。次に、記録色域マッピング部303を制御して、画像記録装置104の色再現範囲に基づいて、画像記録装置104の色再現範囲の外にある画像データを、画像記録装置104の色再現範囲内に色域マッピングする記録色域マッピング処理(ステップ1219)を行う。
次に、デバイス信号変換部304を制御して、画像記録装置104の色再現特性に応じて、画像記録装置104の色再現範囲内に色域マッピングされた画像データを、画像記録装置104のデバイス依存の画像データに変換するデバイス信号変換処理(ステップ1220)を行う。次に、変換したデバイス依存の画像データを画像記録装置104に出力する画像データ出力処理(ステップ1221)を行う。そして、画像データが終了したか否かを判定して、否であれば、上述した処理(ステップ1217〜1221)を繰り返す(ステップ1222)。
一方、図12(a)において、設定色域マッピング部1201は、マッピング方向決定部1202、LUT生成部1203、LUT変換部1204で構成されている。
マッピング方向決定部1202は、画像データ記憶部106に画像データの出力を要求して、画像データを受け取り、色域設定部301で設定された色域の外にある画像データの色分布を少なくとも調査して、その色分布に基づいて、マッピングする方向を決定する。
また、LUT作成部1203は、色域設定部301で設定された色域とマッピング方向決定部1202で決定されたマッピング方向に基づいて、設定した色域の外にある格子点の画像データを、設定した色域内に色域マッピングした時の対応を求めて、LUTを作成する。
また、LUT変換部1204は、LUT作成部1203で作成されたLUTに基づいて、画像データ記憶部106から出力された画像データにLUT変換処理を施して、設定した色域内に色域マッピングした画像データに変換する。
以上のように、本実施例によれば、設定色域マッピング部1201が、色域設定部301が設定した色域のみならず、該色域の外にある画像データの分布に基づいて色域マッピングを行なうので、該色域の外にある画像データの分布に応じた好ましい色域マッピングを画像データに施すことができる。
実施例5
また、以上で説明した実施例で記録色域マッピング部303は、画像記録装置104の色再現範囲に基づいて、該色再現範囲の外にある画像データを、該色再現範囲内に色域マッピングしたが、本発明はこれに限るものではない。
以下では、画像記録装置104の色再現範囲のみならず、該色域の外にある画像データの分布に基づいて、色域マッピングをする記録色域マッピング部の例の説明を行う。
図14(a)は、このような記録色域マッピング部1401を有する記録色変換部108の構成例を示す。また、図14(b)は、この記録色変換部108の処理フローチャートを示す。
図14(b)を参照すると、始めに、色域設定部301を制御して、画像表示装置103の色再現範囲と画像記録装置104の色再現範囲に基づいて色域を設定する色域設定処理(ステップ1411)を行う。
次に、画像データ記憶部106に画像データの出力を要求して、画像データを受け取り、設定色域マッピング部302を制御して、色域設定処理(ステップ1411)で設定した色域に基づいて、設定した色域の外にある画像データを、設定した色域内に色域マッピングした後、画像記録装置104の色再現範囲の外にある画像データの色分布を少なくとも調査する画像データ分布調査処理(ステップ1412)を行なう。
次に、該色域の外にある画像データの色分布に基づいて、マッピングする方向を決定するマッピング方向決定処理(ステップ1413)を行なう。ここで行なう画像データの色分布調査は、例えば、画像データの色空間を複数の色相領域に分割し、該色相領域毎に明度−彩度の2次元ヒストグラムを作成するものである。また、ここで決定されるマッピング方向は、色相領域毎に作成した2次元ヒストグラムに基づいて、色域の外にある画像データの分布を判定し、決定するものである。尚、画像データの色分布調査は、全ての画像データを対象とする必要はないので、画像データの一部をサンプリングして色分布を調査する形態でも良い。
図15は、一例とする色相領域における、色域の外にある画像データの分布と、それに対応して決定するマッピング方向との関係例を示す。
図15(a)は、色域の外にある画像データが、広い範囲に分布する場合の例を示す。このような分布を有する画像データを上記色域内に色域マッピングする場合は、画像データが持つ階調性を保存するような色域マッピングが、一般に好まれる。このような色域マッピング方法には、例えば、上述した記録色域マッピング部303が行なったような、等色相面における最高彩度点Pと明度の等しい無彩色点Nの方向に向けてマッピングする方法があり、この場合は、それぞれの位置に応じた無彩色点Nの方向を、マッピング方向と定める。
一方、図15(b)は、色域の外にある画像データが、狭い範囲に集中している場合の例を示す。このような分布を有する画像データを上記色域内に色域マッピングする場合は、階調性を保存よりも、色差を小さくするような色域マッピングが、一般に好まれる。このような色域マッピング方法としては、例えば、等色相面において色差最小となるような点Qに向けてマッピングする方法がある。この場合は、この点Q方向を該範囲におけるマッピング方向と定める。
尚、画像データの存在が分布として捕らえられなかった範囲にも、実際には画像データが存在するので、これに備えてデフォルトのマッピング方向を、例えば、図15(a)に示したような方法で定めておくと良い。
再度、図14(b)を参照すると、次は、画像データが表す色空間を格子状に分割して処理する際の格子点の画像データを順番に設定する格子点データ設定処理(ステップ1414)を行なう。
次に、マッピング方向決定処理(ステップ1413)で決定した色相領域毎のマッピング方向に基づいて、画像記録装置104の外にある格子点の画像データを、該色域内に色域マッピングする記録色域マッピング処理(ステップ1415)を行う。尚、該色域の内にある格子点の画像データはそのままを維持するものとする。
そして、色空間を分割する格子点に関する処理が全て終了したか否かを判定して、否であれば、上述した処理(ステップ1414〜1415)を繰り返す(ステップ1416)。これにより、格子点の画像データに対応する記録色域マッピング後の画像データのLUTが作成されて、記憶される。
次に、画像データ記憶部106に画像データの出力を再び要求して、画像データ記憶部106が出力した画像データを受け取る、画像データ入力処理(ステップ1417)を行う。
次に、設定色域マッピング部302を制御して、色域設定処理(ステップ1411)で設定した色域に基づいて、設定した色域の外にある画像データを、設定した色域内に色域マッピングする設定色域マッピング処理(ステップ1418)を行う。
次に、上記記憶されたLUTを利用して、受け取った画像データを記録色域マッピング後の画像データに変換するLUT変換処理(ステップ1419)を行う。
次に、デバイス信号変換部304を制御して、画像記録装置104の色再現特性に応じて、画像記録装置104の色再現範囲内に色域マッピングされた画像データを、画像記録装置104のデバイス依存の画像データに変換するデバイス信号変換処理(ステップ1420)を行う。
次に、変換したデバイス依存の画像データを画像記録装置104に出力する画像データ出力処理(ステップ1421)を行う。そして、画像データが終了したか否かを判定して、否であれば、上述した処理(ステップ1417〜1421)を繰り返す(ステップ1422)。
一方、図14(a)において、記録色域マッピング部1401は、マッピング方向決定部1402、LUT作成部1403、LUT変換部1404で構成されている。
マッピング方向決定部1402は、画像データ記憶部106に画像データの出力を要求して、画像データを受け取り、設定色域マッピング部302を制御して、色域設定処理(ステップ1411)で設定した色域に基づいて、設定した色域の外にある画像データを、設定した色域内に色域マッピングした後、画像記録装置104の色再現範囲の外にある画像データの色分布を少なくとも調査して、その色分布に基づいて、マッピングする方向を決定する。
また、LUT作成部1403は、画像表示装置103の色再現範囲とマッピング方向決定部1402で決定されたマッピング方向に基づいて、該色域の外にある格子点の画像データを、該色域内に色域マッピングした時の対応を求めて、LUTを作成する。また、LUT変換部1404は、LUT作成部1403で作成されたLUTに基づいて、設定色域マッピング部302から出力された画像データにLUT変換処理を施して、設定した色域内に色域マッピングした画像データに変換する。
以上のように、本実施例によれば、記録色域マッピング部1401が、画像記録装置104の色再現範囲のみならず、該色域の外にある画像データの分布に基づいて色域マッピングを行なうので、該色域の外にある画像データの分布に応じた好ましい色域マッピングを画像データに施すことができる。
実施例6
本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用しても良い。
また、本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUまたはMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることが出来る。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。また、本発明の実施例の機能等を実現するためのプログラムは、ネットワークを介した通信によってサーバから提供されるものでも良い。