JP2005354228A - 画像処理方法、画像処理装置 - Google Patents
画像処理方法、画像処理装置 Download PDFInfo
- Publication number
- JP2005354228A JP2005354228A JP2004170446A JP2004170446A JP2005354228A JP 2005354228 A JP2005354228 A JP 2005354228A JP 2004170446 A JP2004170446 A JP 2004170446A JP 2004170446 A JP2004170446 A JP 2004170446A JP 2005354228 A JP2005354228 A JP 2005354228A
- Authority
- JP
- Japan
- Prior art keywords
- compression
- color
- curve
- data
- compression curve
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
Abstract
【課題】 第1の色空間内の色を第2の色空間に色圧縮する場合に、より良好な色再現を行うこと。
【解決手段】 圧縮曲線DB生成部106は、マンセル色相環が示す各色相毎の第1の範囲内の色データ群を第2の範囲内の色データ群に変換し、変換前の色データが示す位置と、この色データの変換後の色データが示す位置とを通る曲線を規定するパラメータを求める。
【選択図】 図1
【解決手段】 圧縮曲線DB生成部106は、マンセル色相環が示す各色相毎の第1の範囲内の色データ群を第2の範囲内の色データ群に変換し、変換前の色データが示す位置と、この色データの変換後の色データが示す位置とを通る曲線を規定するパラメータを求める。
【選択図】 図1
Description
本発明は、第1の範囲内の色データ群を第1の範囲よりも色再現範囲が狭い第2の範囲内の色データ群に色圧縮を行うための技術に関するものである。
カラーデータを出力する装置として、モニタやプリンタ(ハードコピー装置)などがあり、モニタはRGBの加法混色で表現され、ハードコピー装置はCMYKの減法混色で表現されている。
一般的にモニタの方がハードコピー装置よりも色再現範囲が広いため、モニタで表示された画像をハードコピー装置で忠実に再現することはできない。
そこでハードコピー装置で再現できない色を再現できる色に置き換える処理が必要となる。この方法として色空間圧縮方法がある。色空間圧縮方法には様々な方法があるが、圧縮前と圧縮後とで視覚的な一致を図るという観点では、色再現範囲内の色はできる限り圧縮せず忠実に再現し、色再現範囲外の色は色再現範囲内の高彩度部へ圧縮することにより階調性を保持する方法がある(例えば、特許文献1を参照)。
また圧縮の際には何らかの色相曲線に沿った方が視覚的一致は図られるが、従来の方法ではこの色相曲線を決定する可変パラメータが多いためユーザーへの負担が大きい。
上記の方法を実現するために、第1段階で明度方向に圧縮し、第2段階で彩度方向に圧縮するという方法をとっていたが、この方法では色信号に対して第1の段階,第2の段階の他に補正処理等、複数段階の処理工程が必要になってしまうため元の色が保持され難く色再現範囲内の色の色信号変換精度も落ちてしまう。
特開平07−107306号公報
本発明は以上の問題に鑑みて成されたものであり、第1の色空間内の色を第2の色空間に色圧縮する場合に、より良好な色再現を行うことを目的とする。
本発明の目的を達成する為に、例えば本発明の画像処理方法は以下の構成を備える。
すなわち、入力色信号を出力色再現範囲内にマッピングする色空間圧縮を実現するための画像処理方法であって、
複数の代表的な色相および代表的な明度について圧縮曲線が保持されている圧縮曲線データベースを保持する保持工程と、
入力色信号の明度および色相に基づき、前記圧縮曲線データベースから複数の圧縮曲線を選択する選択工程と、
前記選択された圧縮曲線から、前記入力信号に対応する圧縮曲線を算出する算出工程と、
前記算出された圧縮曲線を用いて、前記入力信号を前記出力色再現範囲内にマッピングするマッピング工程と
を有することを特徴とする。
複数の代表的な色相および代表的な明度について圧縮曲線が保持されている圧縮曲線データベースを保持する保持工程と、
入力色信号の明度および色相に基づき、前記圧縮曲線データベースから複数の圧縮曲線を選択する選択工程と、
前記選択された圧縮曲線から、前記入力信号に対応する圧縮曲線を算出する算出工程と、
前記算出された圧縮曲線を用いて、前記入力信号を前記出力色再現範囲内にマッピングするマッピング工程と
を有することを特徴とする。
本発明の目的を達成する為に、例えば本発明の画像処理装置は以下の構成を備える。
すなわち、入力色信号を出力色再現範囲内にマッピングする色空間圧縮を実現するための画像処理装置であって、
複数の代表的な色相および代表的な明度について圧縮曲線が保持されている圧縮曲線データベースを保持する保持手段と、
入力色信号の明度および色相に基づき、前記圧縮曲線データベースから複数の圧縮曲線を選択する選択手段と、
前記選択された圧縮曲線から、前記入力信号に対応する圧縮曲線を算出する算出手段と、
前記算出された圧縮曲線を用いて、前記入力信号を前記出力色再現範囲内にマッピングするマッピング手段と
を有することを特徴とする。
複数の代表的な色相および代表的な明度について圧縮曲線が保持されている圧縮曲線データベースを保持する保持手段と、
入力色信号の明度および色相に基づき、前記圧縮曲線データベースから複数の圧縮曲線を選択する選択手段と、
前記選択された圧縮曲線から、前記入力信号に対応する圧縮曲線を算出する算出手段と、
前記算出された圧縮曲線を用いて、前記入力信号を前記出力色再現範囲内にマッピングするマッピング手段と
を有することを特徴とする。
本発明の構成により、第1の色空間内の色を第2の色空間に色圧縮する場合に、より良好な色再現を行うことができる。
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
[第1の実施形態]
図1は本実施形態に係る画像処理装置110の機能構成を示す図である。本実施形態に係る画像処理装置は、第1の色空間の多面体部101,第2の色空間の多面体部103、圧縮パラメータ設定UI104,マンセル色相曲線DB105、圧縮曲線DB生成部106,色空間圧縮部107により構成されている。本実施形態ではこれら各部はハードウェアにより構成されているものとする。
図1は本実施形態に係る画像処理装置110の機能構成を示す図である。本実施形態に係る画像処理装置は、第1の色空間の多面体部101,第2の色空間の多面体部103、圧縮パラメータ設定UI104,マンセル色相曲線DB105、圧縮曲線DB生成部106,色空間圧縮部107により構成されている。本実施形態ではこれら各部はハードウェアにより構成されているものとする。
以下の説明では先ず、色圧縮対象の際に使用する圧縮曲線を生成する為の処理について説明し、その後、この圧縮曲線を用いた圧縮処理について説明する。
圧縮対象の色データとしては、sRGB、AdobeRGB、WideGamutRGB等の色空間に属する色のデータや、何らかのデバイスに依存する色空間のRGBもしくはCMYKの色のデータを、デバイス非依存のL*a*b*のデータに変換したものである。何らかのデバイスに依存する色空間とは、例えば、デジタルカメラで撮影した画像を示すRGBであったり、スキャナにより原稿から読み取られた画像を示すRGBであったり、あるプリンタに出力すべきCMYKであってもよい。
<圧縮曲線生成処理>
上述の通り、先ず、圧縮曲線を生成する処理について説明する。先ず、第1の色空間内の各色(各点)のデータ(第1の色空間内の点群データ100)、第2の色空間内の各色(各点)のデータ(第2の色空間内の点群データ102)のそれぞれが第1の色空間の多面体部101、第2の色空間の多面体部103に入力され、第1の色空間の多面体部101、第2の色空間の多面体部103はそれぞれ、第1の色空間の点群データ100が示す各点を包含することで形成される多面体、第2の色空間の点群データ102が示す各点を包含することで形成される多面体を生成する。それぞれの多面体は、第1の色空間の点群データ100が示す点群によって規定される色再現範囲(第1の色再現範囲)、第2の色空間の点群データ102が示す点群によって規定される色再現範囲(第2の色再現範囲)を示すものである。
上述の通り、先ず、圧縮曲線を生成する処理について説明する。先ず、第1の色空間内の各色(各点)のデータ(第1の色空間内の点群データ100)、第2の色空間内の各色(各点)のデータ(第2の色空間内の点群データ102)のそれぞれが第1の色空間の多面体部101、第2の色空間の多面体部103に入力され、第1の色空間の多面体部101、第2の色空間の多面体部103はそれぞれ、第1の色空間の点群データ100が示す各点を包含することで形成される多面体、第2の色空間の点群データ102が示す各点を包含することで形成される多面体を生成する。それぞれの多面体は、第1の色空間の点群データ100が示す点群によって規定される色再現範囲(第1の色再現範囲)、第2の色空間の点群データ102が示す点群によって規定される色再現範囲(第2の色再現範囲)を示すものである。
ここで、点群データから多面体を生成する方法としては様々な方法が考えられるが、例えばConvex Hull (コンベックスハル) 3Dを用いて生成することを考える。また、第1の色空間の点群データ100は、色圧縮対象となるデータの色空間と同じである必要がある。例えば、圧縮対象となるデータとしてデジタルカメラによるRGB画像が入力される場合は、デジタルカメラのRGB色空間のRGB値とL*a*b*値との対応に基づいてL*a*b*値に変換されたものとなる。同様に、プリンタのCMYK画像が入力される場合は、プリンタのCMYK色空間のCMYK値とL*a*b*値との対応に基づいてL*a*b*に変換されたものとなる。
図2は、色空間内の点群データに基づいて生成された、色空間の再現範囲を表現した多面体の一例を示す図である。
第1の色空間の多面体部101、第2の色空間の多面体部103によって生成された多面体のデータは後段の圧縮曲線DB生成部106に入力される。圧縮曲線DB生成部106は、第1の色再現範囲を示す多面体のデータ、第2の色再現範囲を示す多面体のデータを用いて、第1の色空間における色を第2の色空間における色に色圧縮するための圧縮曲線を生成する処理を行う。以下、圧縮曲線DB生成部106による圧縮曲線を求める処理について説明する。
この生成する圧縮曲線は、マンセル色相環(マンセル色相曲線)をベースとする。マンセル色相環のデータはマンセル色相曲線DB105に保持されており、これを読み出して用いる。
マンセル色相環をベースとすることで、ユーザの負担を軽減する効果がある。図3は、L*=50の場合のマンセル色相環を示す図である。図3のマンセル色相環は、L*=50であるときのa*−b*平面内の色相環を示すものである。以下説明する圧縮曲線生成処理では、L*方向(明度方向)のマンセル色相環を求めることになる。
図4は、ある色相におけるC*−L*平面における第1の色空間の点群データ100が占める部分と第2の色空間の点群データ102が占める部分とを示す図である。以下の説明では、この第1の色空間の点群データ100を第2の色空間の点群データ102に色圧縮する際に用いる圧縮曲線を求める処理について説明する。
まず、正確には最大彩度点とは第1の色空間の点群データ100を用いて生成された多面体を任意の色相で切った時に、最大彩度を持つ点(同図において「最大彩度点」と示した位置における色データ)のマッピングポイント(色圧縮後のL*a*b*値)を決定する。換言すれば、最大彩度点の色圧縮後の第2の色空間における色データを決定する。
色空間圧縮の際には、色相、明度、彩度を変化させる必要があるが、色相に関しては上記マンセル色相曲線に沿わせる。明度、彩度に関しては各々をどれだけ保持して圧縮するかによってマッピングポイントが異なってくる。明度を保持して圧縮する場合は彩度を変化させる明度保持優先圧縮になり、彩度を保持して圧縮する場合は明度を変化させる彩度保持優先圧縮となる。明度を変化させないで色圧縮を行う場合には、第1の色空間における最大彩度点は第2の色空間において矢印401で指す位置に色圧縮され、彩度を変化させないで色圧縮を行う場合には、第1の色空間における最大彩度点は第2の色空間において矢印402で指す位置に色圧縮される。なお、明度、彩度それぞれを所定の割合(例えば明度を80%、彩度を20%)で保持して色圧縮を行うようにしても良い。その場合、最大彩度点から、矢印401の方向成分の80%、矢印402の方向成分の20%を合成した方向成分を有する矢印が第2の色空間の点群データ102が占める部分と初めて交差する位置の色データに色圧縮を行う。このように、最大彩度点における色データの色圧縮を行う際の、明度、彩度のそれぞれの割合は圧縮パラメータ設定UI104でもって設定することができる。
次に、最大彩度点以外の第1の色空間の最外域点のマッピングポイントを決定する。すなわち、第1の色空間の点群データ100が占める部分のエッジ部分の色データのマッピングポイント(色圧縮後のL*a*b*値)を決定する。
まずマッピングポイントの明度を決定する。その際、図5に示すように最外域点のマッピングポイントに従って決定すると全体的に明度が変化し、元の色を保持できなくなる。そのため影響を受ける部分を最小限に抑えるよう低彩度の部分はなるべく元の明度を保持する。
そのための方法としては、例えば図6に示す如く、最大彩度点よりも上部(第1の色空間の点群データ100の部分601においてC*−L*平面において傾きが負の部分)に関しては一点鎖線602で示す如く湾曲させる。この湾曲は制御点C1〜C4をコントロールし、曲線を生成することで決定する。
C1のx座標(彩度)は可変で、圧縮パラメータ設定UI104でもって設定することができる。C4のx座標は最大彩度点の彩度と同じである。またC2、C3のx座標はC1のx座標、C4のx座標間を4等分するように決定される。
一方、C1のy座標(明度)は可変であり圧縮パラメータ設定UI104でもって設定することができる。C4のy座標は最大彩度点の明度である。C2のy座標y2,C3のy座標y3は、例えばC1、C4における微分係数をそれぞれr1,r4とすると、式r1,r4が圧縮パラメータ設定UI104で設定した値と同じなるようにC2のy座標y2,C3のy座標y3をコントロールする。
当然、y2,y3の求め方はこれに限定するものではなく、その他にも例えば、楕円関数により一点鎖線を楕円の一部分に近時する方法により決定しても構わない。
このようにして、最大彩度点よりも上部の色データの色圧縮後の明度を決定する。次に色圧縮後の彩度を決定する。そのための方法としては図7に示す如く、C*−L*平面において、上記C1からC4(同図ではP1とC1とが重なっている)のそれぞれのy座標(明度)と同じ第2の色空間の点群データ(P1’、P2’、P3’、P4’)を特定する。これにより、第1の色空間の点群データ100においてP1〜P4の色圧縮後の色データP1’〜P4’を求めることができる。このP1’〜P4’は何れも第2の色空間の点群データ102を用いて生成された多面体の表面上の点である。
以上のような処理を最大彩度点を境に上部と下部とで、元の点とマッピング後の点の対を複数組(例えば20組)求める。なお、最大彩度点よりも下部(第1の色空間の点群データ100の部分601においてC*−L*平面において傾きが正の部分)に関しては一点鎖線602で示す如く湾曲させる以外は上部と同じ処理を行う。
そして、元の点とマッピング後の点とを通る曲線を圧縮曲線として求める。元の点とマッピング後の点の対を20組求めたのであれば、この圧縮曲線は20本求まる。ここで、圧縮曲線を求める方法について説明する。
圧縮曲線は上述の通り、元の点とマッピング後の点とを通る曲線であるが、この2点だけではこの2点を通る曲線を求めることはできない。そこで、その一例として、以下のような方法が適用可能である。例えば図7におけるP3とP3’とを通る曲線を求める場合、P3のx座標値をP4と同じにした位置(P3’’)、P3’のx座標値を0にした位置(P3’’’)を求め、P3’’’、P3’、P3,P3’’の順に通る曲線を、周知のスプライン関数(例えばリーゼンフェルトスプライン関数)を用いて生成することができ、これを「P3とP3’とを通る曲線」として求めることができる。これはその他の点間を通る圧縮曲線を求める場合にも同様である。
尚、求めたそれぞれの圧縮曲線は互いに交差していないことが前提であって、交差してしまう場合には、一方が他方を交差しないようにする処理が必要となる。それぞれの圧縮曲線が交差しないようにする方法については特に限定するものではない。
図8はある色相における圧縮曲線の一例を示す図である。同図において801は第1の色再現範囲を示す多面体、802は第2の色再現範囲を示す多面体を示す。同図に示す如く、第2の色再現範囲は第1の色再現範囲よりも一般的に色再現範囲は狭いので、第1の色再現範囲を示す多面体801は、第2の色再現範囲を示す多面体802よりもサイズが大きく、且つ第2の色再現範囲を示す多面体802を包含している。なお、図中では見やすくするためにそれぞれの多面体は12面体で表している。また同図において803は上記処理により求めた圧縮曲線群で、点の対だけ存在する。
このような圧縮曲線群を、図3に示したマンセル色相環の最外周上の各位置(同図では40点の各位置)におけるa*、b*について求める。
以上のようにして、第1の色空間の点群データ100と第2の色空間の点群データ102とで、元の色データと圧縮後の色データとの対応関係を、圧縮曲線として求めることができる。
<色圧縮処理>
次に、上記処理により求めた圧縮曲線を用いて、色圧縮を行う処理について説明する。色圧縮部106には、色圧縮する対象の色データが入力される。従って色圧縮部106は、この入力された色データに対して、圧縮曲線DB生成部106が生成した上記圧縮曲線データを用いて、指定された圧縮率に従った第2の色空間への色圧縮を行う。
次に、上記処理により求めた圧縮曲線を用いて、色圧縮を行う処理について説明する。色圧縮部106には、色圧縮する対象の色データが入力される。従って色圧縮部106は、この入力された色データに対して、圧縮曲線DB生成部106が生成した上記圧縮曲線データを用いて、指定された圧縮率に従った第2の色空間への色圧縮を行う。
この色圧縮処理の第1段階としては、入力色データが示すL*a*b*値を通る圧縮曲線を、上記圧縮曲線データを用いて補間処理により求める。この補間処理については、様々な補間方法が考えられるが、その一例を図9を用いて以下説明する。
図9は、入力色データが示すL*a*b*値を通る圧縮曲線を、先に求めた上記複数の圧縮曲線を用いて補間処理により求める処理のフローチャートである。
先ず、入力色データが示すL*a*b*値のうち色相が、L*a*b*色空間内で上記複数の圧縮曲線のうち、どの圧縮曲線の間に位置するのかを特定する(ステップS201)。すなわち、入力色データが示すL*a*b*値のうち色相が、どの2本の圧縮曲線間に位置するのかを求める。
図10は、ステップS201における処理を説明する図である。同図において1001は入力色データのa*―b*平面における位置を示す。この位置1001は、色相方向では圧縮曲線1002,1003の間にある。従ってこの場合、ステップS201では、特定すべき2つの圧縮曲線は1002,1003の2本となる。
次に、入力色データが示すL*a*b*値のうち明度が、L*a*b*色空間内で上記複数の圧縮曲線のうち、どの圧縮曲線の間に位置するのかを特定する(ステップS202)。すなわち、入力色データが示すL*a*b*値のうち明度が、どの2本の圧縮曲線間に位置するのかを求める。
図11は、ステップS202における処理を説明する図である。同図において1101は入力色データのL*―b*平面における位置を示す。この位置1101は、明度方向、すなわちL*軸方向では圧縮曲線1102,1103の間にある。従ってこの場合、ステップS202では、特定すべき2つの圧縮曲線は1102,1103の2本となる。
以上のステップS201,ステップS202による処理によって、入力色データは4本の圧縮曲線(図10,11の場合、圧縮曲線1002,1003,1102,1103)に囲まれた領域内に存在する可能性があることが分かる。
図12は、L*a*b*色空間において、上記処理により特定した4本の圧縮曲線を示す図である。同図において1201が入力色データが示すL*a*b*値の位置で、1202〜1205が特定した4本の圧縮曲線を示す。
次に、彩度方向で走査する(ステップS203)。ステップS203における処理の詳細は、ステップS301〜ステップS307である。以下、ステップS301〜ステップS307の各ステップにおける処理を説明することで、ステップS203における処理の詳細について説明する。
なお本実施形態では各圧縮曲線を事前に等分(等分に限らないが)し、各等分した位置に順にインデックスを付けているものとするが、圧縮曲線を生成する際に複数の点(例えば14点)を用いた場合には、これら14点のそれぞれにインデックスを付けるようにしても良い。本実施形態では各圧縮曲線上の14点にそれぞれインデックスを付けているものとするが、インデックスの上限値は14に限定するものではない。
ステップS203における処理では先ずi,(i+1)番目(変数i、そして後述の処理で用いる変数jは共に事前に1に初期化されている)の点の合計8点で構成される六面体(実際にはねじれの位置の関係にある点対が存在する場合があるため六面体以上)の中に入力色データが示すL*a*b*値が存在するか否かを判断する(ステップS301)。
図21は、この4本の圧縮曲線において、i,(i+1)番目の点の合計8点で構成される六面体を示す図で、同図において2101,2102,2103,2104がそれぞれこの4本の圧縮曲線を示しており、2100がこの六面体を示している。2100a、2100b、2100c、2100dはそれぞれ、圧縮曲線2101,2103,2104,2102においてi番目の点を示しており、2100e、2100f、2100g、2100hはそれぞれ、圧縮曲線2101,2103,2104,2102において(i+1)番目の点を示している。これにより、i,(i+1)番目の点の合計8点で構成される六面体が構成される。従って以下の処理では、この変数iを1つずつ増やしていくことで、この六面体の位置を圧縮曲線の一端から他端まで移動させ、どの六面体内に入力色データが示すL*a*b*値が存在するかを検索する。本実施形態では変数iの取る範囲は1≦i≦13となる。
図9のフローチャートに戻って、ステップS302で存在しないと判断した場合には処理をステップS303に進めると共に、変数iの値に1を加算して更新し、更新後の変数iの値が13であるか否かを判断する(ステップS303)。変数iの値が13である場合にはステップS203における処理を「限定失敗」として終了する。
一方、ステップS303において変数iの値が13ではないと判断した場合には、更新後の変数iを用いてステップS301,ステップS302における処理を行う。
また、ステップS302における判断処理において、存在すると判断した場合には処理をステップS304に進め、L*a*b*値がその中に存在すると判断した六面体を構成する6つの四面体のうちj番目の四面体内に入力色データが示すL*a*b*値が存在するか否かを判断する(ステップS304)。
六面体を6つの四面体に分割するのは事前に行うものであるが、この分割に係る技術については周知のものであるので、ここでの説明は省略する。また、各六面体(本実施形態では14個の六面体)内の6つの四面体には事前に1〜6のインデックスが付けられているものとする。従って、四面体に対するインデックスを1つ指定すると、各六面体から1つの四面体を特定することができ、計14個の四面体が指定されることになる。また、各六面体を構成する四面体において、同じ四面体インデックスを有する四面体同士は、四面体を構成する各頂点の対応がとれているものとする。
そして、j番目の四面体内に存在しないと判断した場合には処理をステップS305からステップS306に進め、変数jの値に1を加算して更新し、更新後の変数jの値が7であるか否かを判断する(ステップS306)。変数jの値が7である場合にはステップS203における処理を「限定失敗」として終了する。
一方、ステップS306において変数jの値が7ではないと判断した場合には、更新後の変数jを用いてステップS304,ステップS305における処理を行う。
そして、ステップS305においてj番目の四面体内に存在すると判断した場合には処理をステップS305からステップS307に進め、ステップS302で入力色データが示すL*a*b*値がその中に存在すると判断した六面体が何番目のものであるのかを示す変数iの値(ステップS302で存在すると判断したときの変数iの値)と、ステップS305で入力色データが示すL*a*b*値がその中に存在すると判断した四面体が何番目のものであるのかを示す変数jの値(ステップS305で存在すると判断したときの変数jの値)を記憶する。
図13は、L*a*b*色空間において入力色データが示すL*a*b*値の位置1301が属する四面体1302を示す図である。
そして以上のようにしてステップS203の処理が完了すると、処理をステップS204に進め、ステップS203の処理結果が「限定成功」であるか否か(換言すれば「限定失敗」ではなかったか)を判定し(ステップS204)、「限定失敗」と判定した場合には処理をステップS209に進め、ステップS201で特定した2本の圧縮曲線以外の2本の圧縮曲線、ステップS202で特定した2本の圧縮曲線以外の2本の圧縮曲線を選択し、ステップS203以降の処理を繰り返す。従ってステップS209から処理をステップS203に移行した場合には、前回ステップS201で特定した2本の圧縮曲線以外の2本の圧縮曲線、前回ステップS202で特定した2本の圧縮曲線以外の2本の圧縮曲線の合計4本の圧縮曲線を以下の処理で用いるものとする。
一方、ステップS205で「限定成功」であると判断した場合には(「限定失敗」ではないと判断した場合には)、処理をステップS205に進め、ステップS307で得られた変数jで特定される四面体を構成する各頂点に対する重み値を計算する(ステップS205)。この重み値は、この四面体の各頂点位置と、入力色データが示すL*a*b*値の位置との相対的な位置関係を表すもので、例えば自頂点と入力色データが示すL*a*b*値の位置との距離をこの自頂点に対する重み値とするなど、様々なものが考えられる。
次に以下の処理を行うことで、入力色データのL*a*b*値を通る圧縮曲線を求める(ステップS206)。
先ずすべての六面体において、ステップS307で記憶した四面体のインデックスと同じインデックスを有する四面体を特定する。図14は、ステップS307で記憶した四面体のインデックスと同じインデックスを有する14の四面体を示す図である。
そして特定した各四面体の各頂点に対して、ステップS205で求めた重み値を対応する頂点に与える。これにより、ステップS307で記憶した四面体のインデックスと同じインデックスを有する各四面体内に点を設けることができる。この点は、四面体の各頂点との相対位置関係が、入力色データが示すL*a*b*値の位置を包含する四面体の各頂点とこの位置との相対関係と同じである。
従って、これらの点を通る曲線をスプラインなどの曲線でもって求めることにより入力色データのL*a*b*値を通る圧縮曲線を求める(ステップS206)。図15は、入力色データのL*a*b*値を通る圧縮曲線を示す図である。
次に、実際に、入力色データに対して色圧縮処理を行うのであるが、その際、圧縮率が圧縮パラメータ設定UI104でもって設定される。ここで、実際の色圧縮処理は、入力色データを、入力色データの位置を通る圧縮曲線上を圧縮率に従った位置の色データに変換することであるが、その処理について図16を用いて説明する。
図16は圧縮曲線、圧縮率を用いて入力色データを色圧縮する処理を説明する図である。同図において1601が入力色データのL*a*b*色空間における位置を示しており、1600はこの位置を通る圧縮曲線である。同図では入力色データは、第2の色再現範囲外、すなわち第1の色再現範囲内の色データである。上述の通り、この圧縮曲線1600は彩度が0の点1604から最大彩度点1605間を結ぶものであり、その途中には第2の色再現範囲の境界線1602との交点1603が存在する。よって圧縮曲線1600上において、1603〜1604の間が第2の色再現範囲内である。
ここで圧縮率は0%から100%までの間の数値を取ることができ、圧縮率が100%の場合には、入力色データは1603の位置の色データに変換され、圧縮率が0%の場合には、入力色データは1604の位置の色データに変換される。
ここで、入力色データが第2の色再現範囲内である場合(入力色データの位置1601が圧縮曲線1600上の1603〜1604の間の位置にある場合)、
(1) 現在の入力色データの位置における入力色データを圧縮後の色データとする
(2) 上述の通り圧縮率に従った位置における色データを圧縮後の色データとする
の二つの方法が考えられる。(1)の方法では第2の色再現範囲内の入力色データは忠実に再現されるが階調性は失われるため(2)の方法を採用する。(2)の方法として線形に圧縮すると全体的に元の彩度が保持されない。従って、図17に示すように、線形圧縮を元の彩度がある程度保持されるようかつ階調性が損なわれないよう非線形に圧縮することを考える。非線形圧縮する方法としては様々な方法があり、どのような方法を用いても構わないが、例えば、図17に示すように、制御点G1〜G4を設けG1,G4の位置を設定した後G1,G4における微分係数によってG2,G3を設定する。但しG1,G4の位置や各々の微分係数は可変であり、状況に応じて変化させる。
(1) 現在の入力色データの位置における入力色データを圧縮後の色データとする
(2) 上述の通り圧縮率に従った位置における色データを圧縮後の色データとする
の二つの方法が考えられる。(1)の方法では第2の色再現範囲内の入力色データは忠実に再現されるが階調性は失われるため(2)の方法を採用する。(2)の方法として線形に圧縮すると全体的に元の彩度が保持されない。従って、図17に示すように、線形圧縮を元の彩度がある程度保持されるようかつ階調性が損なわれないよう非線形に圧縮することを考える。非線形圧縮する方法としては様々な方法があり、どのような方法を用いても構わないが、例えば、図17に示すように、制御点G1〜G4を設けG1,G4の位置を設定した後G1,G4における微分係数によってG2,G3を設定する。但しG1,G4の位置や各々の微分係数は可変であり、状況に応じて変化させる。
以上の手順により決定したマッピングポイントへ入力色データを移動させる。この方法としては様々な方法があり、どのような方法を用いても構わないが、圧縮曲線は三次元的に歪曲した連続点データなので例えば、圧縮曲線をパラメトリックスプラインとしてsとtをそれぞれ変数とするB−スプラインで表現することを考える。この方法は通常はs,t2変数で曲面を表現するものだが今回は曲線のためs成分を要素1つのみとして利用する。
図18は、上記色圧縮処理を行うために設定すべきパラメータを操作するためのGUI(グラフィカルユーザインターフェース)の表示例を示す図である。同図のGUIは圧縮パラメータ設定UI104に相当する。
領域402は圧縮パラメータ設定UI104を操作することで指定されたICCプロファイルより抽出した色空間情報(第1色空間および第2色空間それぞれが何であるかを示す情報など)を表示する。領域405は、領域402内に表示されているICCプロファイルを基に3D Convex Hullによって計算した色再現範囲(第1の色再現範囲、第2の色再現範囲)の多面体を描画するための領域である。
また領域402には圧縮曲線DB作成のために1次色、2次色の圧縮曲線を表示しても良い。その場合、これら圧縮曲線は各々RGB、CMYの色で描画され、アクティブの圧縮曲線は鮮やかに、非アクティブの圧縮曲線は薄い色で表示し見分けやすくする。そしてアクティブな色に関して明度・彩度の圧縮設定を領域403,404内に表示されるGUIを用いて行う。
領域403では最大彩度点およびそれ以外の最外域の点のマッピングポイントの明度を制御するための(図6を用いて説明した)制御点の位置を設定することができ、その結果を連動して領域405内に反映させる。尚、図6の説明では詳しくはふれなかったが、図19に示すように、最大彩度点の下部に対する制御点C4〜C7も領域403内で制御することができる。従って実際には図19に示すGUIが領域403内に表示される。
領域404には図17に示すようなGUIが表示され、上記制御点G1〜G4の位置を操作する為のGUI表示する領域であり、その操作の結果を連動して領域405内に反映させる。
圧縮パラメータ設定UI104により決定するC1〜C7のパラメータは1次色、2次色(RGBCMYに対応するL*a*b*)を通る色相曲線にのみ行えばよい。それ以外の色相曲線、例えば、RとYに挟まれる領域内の色相曲線については、RとYにおける圧縮パラメータを基に線形補間により求めた値をパラメータとして用いることで自動的に生成される。そのためユーザーは簡単に圧縮曲線DBを作成することができる。
以上の説明の通り、本実施形態によって、色圧縮処理の際に従来に比べても比較的少ない工数で処理するため、精度よく色圧縮処理を行うことができる。また、入出力色空間の特性の違いを吸収し、様々な色空間で高精度な圧縮曲線を動的に生成することができる。
尚本実施形態ではデバイス非依存の色空間としてL*a*b*色空間を用いて説明したが、この色空間の代わりとして適用可能なものはこれ以外にも考えられ、例えばL*u*v*などの他の色空間でも構わない。
[第2の実施形態]
第1の実施形態では図1に示した各部はハードウェアにより構成されているものとして説明したが、各部の機能をコンピュータのCPUに実現させる為のプログラムでもって同図の各部を構成するようにしても良い。その場合、このプログラムを実行するコンピュータは第1の実施形態と同様の処理を行うことになるので、このコンピュータは第1の実施形態に係る画像処理装置を構成することになる。
第1の実施形態では図1に示した各部はハードウェアにより構成されているものとして説明したが、各部の機能をコンピュータのCPUに実現させる為のプログラムでもって同図の各部を構成するようにしても良い。その場合、このプログラムを実行するコンピュータは第1の実施形態と同様の処理を行うことになるので、このコンピュータは第1の実施形態に係る画像処理装置を構成することになる。
図20はこのコンピュータの基本構成を示す図である。
2001はCPUで、RAM2002やROM2003に格納されているプログラムやデータを用いてコンピュータ全体の制御を行うと共に、第1の実施形態に係る上記入り圧縮処理に係る一連の処理を実行する。
2002はRAMで、外部記憶装置2006からロードされたプログラムやデータを一時的に格納するためのエリアを備えると共に、CPU2001が各種の処理を行う際に使用するワークエリアも備える。また、後述するインターフェース2007を介して受信するプログラムやデータを一時的に格納するためのエリアも備える。
2003はROMで、ブートプログラムやコンピュータの設定データなどを格納する。
2004は操作部で、キーボードやマウスなどにより構成されており、各種の指示をCPU2001に対して入力することができ、例えば図18等に示したGUIに対して各種の入力を行う際に使用するものである。また図1では、圧縮パラメータ設定UI104としても機能するものである。
2005は表示部で、CRTや液晶画面などにより構成されており、CPU2001によって処理された結果を画像や文字などにより表示することができ、例えば図19に示したGUIを表示することができる。
2006は外部記憶装置で、ハードディスクドライブ装置などの大容量情報記憶装置であって、ここにOS(オペレーティングシステム)やCPU2001に第1の実施形態で説明した色圧縮処理に係る一連の処理を実行させるためのプログラムやデータが保存されており、これらの一部もしくは全部はCPU2001の制御により、RAM2002にロードされる。なお、このプログラムには、図1の第1の色空間の多面体部101,第2の色空間の多面体部103、圧縮曲線DB生成部106,色空間圧縮部107の各部をCPU2001に実行させるためのプログラムが含まれている。また、外部記憶装置2006にはマンセル色相曲線DB105として機能する為のエリアが備わっているが、マンセル色相曲線DB105はRAM2002内に設けるようにしても良い。また上記実施形態で登場した各種のGUIに係るプログラムやデータもこの外部記憶装置2006に保存させておき、必要に応じてCPU2001の制御によりRAM2002にロードし、CPU2001がこれを実行することにより、このコンピュータのユーザは上記各種のGUIを使用することができる。
2007はI/Fで、ここにプリンタやハードコピー装置などを接続することができ、それぞれからの色データを受信することができる。
2008は上述の各部を繋ぐバスである。
[その他の実施形態]
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャート(機能構成)に対応するプログラムコードが格納されることになる。
Claims (6)
- 入力色信号を出力色再現範囲内にマッピングする色空間圧縮を実現するための画像処理方法であって、
複数の代表的な色相および代表的な明度について圧縮曲線が保持されている圧縮曲線データベースを保持する保持工程と、
入力色信号の明度および色相に基づき、前記圧縮曲線データベースから複数の圧縮曲線を選択する選択工程と、
前記選択された圧縮曲線から、前記入力信号に対応する圧縮曲線を算出する算出工程と、
前記算出された圧縮曲線を用いて、前記入力信号を前記出力色再現範囲内にマッピングするマッピング工程と
を有することを特徴とする画像処理方法。 - 前記算出工程は、
前記複数の圧縮曲線に基づき生成される複数の補間立体から、前記入力色信号の彩度に対応する補間立体を選択する選択工程と、
前記選択された補間立体構成する各点に対する重みを算出する算出工程と、
前記算出された重みに基づき、他の補間立体内における点を算出し、補間することによる前記入力信号に対応する圧縮曲線を作成する作成工程とを有することを特徴とする請求項1に記載の画像処理方法。 - 前記選択された複数の圧縮曲線は4本であり、前記補間立体は4面体であることを特徴とする請求項2に記載の画像処理方法。
- 入力色信号を出力色再現範囲内にマッピングする色空間圧縮を実現するための画像処理装置であって、
複数の代表的な色相および代表的な明度について圧縮曲線が保持されている圧縮曲線データベースを保持する保持手段と、
入力色信号の明度および色相に基づき、前記圧縮曲線データベースから複数の圧縮曲線を選択する選択手段と、
前記選択された圧縮曲線から、前記入力信号に対応する圧縮曲線を算出する算出手段と、
前記算出された圧縮曲線を用いて、前記入力信号を前記出力色再現範囲内にマッピングするマッピング手段と
を有することを特徴とする画像処理装置。 - コンピュータに請求項1乃至3の何れか1項に記載の画像処理方法を実行させることを特徴とするプログラム。
- 請求項5に記載のプログラムを格納することを特徴とする、コンピュータ読み取り可能な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004170446A JP2005354228A (ja) | 2004-06-08 | 2004-06-08 | 画像処理方法、画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004170446A JP2005354228A (ja) | 2004-06-08 | 2004-06-08 | 画像処理方法、画像処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005354228A true JP2005354228A (ja) | 2005-12-22 |
Family
ID=35588333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004170446A Withdrawn JP2005354228A (ja) | 2004-06-08 | 2004-06-08 | 画像処理方法、画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005354228A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009147581A (ja) * | 2007-12-13 | 2009-07-02 | Sony Corp | 情報処理装置および方法、プログラム、並びに情報処理システム |
-
2004
- 2004-06-08 JP JP2004170446A patent/JP2005354228A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009147581A (ja) * | 2007-12-13 | 2009-07-02 | Sony Corp | 情報処理装置および方法、プログラム、並びに情報処理システム |
JP4560741B2 (ja) * | 2007-12-13 | 2010-10-13 | ソニー株式会社 | 情報処理装置および方法、プログラム、並びに情報処理システム |
US8704846B2 (en) | 2007-12-13 | 2014-04-22 | Sony Corporation | Information processing device and method, program, and information processing system |
USRE45927E1 (en) | 2007-12-13 | 2016-03-15 | Sony Corporation | Information processing device and method, program, and information processing system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7116441B1 (en) | Signal processing apparatus image processing apparatus and their methods | |
US7333237B2 (en) | Color adjustment method, color adjustment apparatus, color conversion definition editing apparatus, image processing apparatus, program, and storage medium | |
JP4117284B2 (ja) | 色空間の変換方法、カラー映像の色調節装置、色調節方法およびプログラムを記録したコンピュータが読み取り可能な記録媒体 | |
JP2001144989A (ja) | 画像処理装置、方法、記録媒体およびコンピュータプログラム | |
US8149484B2 (en) | Color gamut data creating device | |
US11908107B2 (en) | Method and apparatus for presenting image for virtual reality device, device and non-transitory computer-readable storage medium | |
JPWO2005081187A1 (ja) | 画像処理装置、画像処理システム、画像処理方法、画像処理プログラムおよび集積回路装置 | |
JP2002016818A (ja) | 色補正方法および装置並びに記録媒体 | |
JP2009278538A (ja) | 画像処理装置、画像処理方法、プログラムおよび記録媒体 | |
JP2006345187A (ja) | 色処理方法およびその装置 | |
JP2008306377A (ja) | 色調整装置および色調整プログラム | |
JP2002016939A (ja) | 画像処理方法および装置並びに記録媒体 | |
JP4306936B2 (ja) | 色処理装置および方法 | |
US7692663B2 (en) | Multi-shelled gamut boundary descriptor for an RGB projector | |
JPH11196285A (ja) | 画像処理方法、装置および記録媒体 | |
JP4396479B2 (ja) | 画像処理装置における補正処理方法および画像処理装置。 | |
JP2012060459A (ja) | 画像処理装置、画像処理方法、プログラムおよび記録媒体 | |
JP2003324620A (ja) | 画像処理装置、画像処理方法 | |
JP2005354228A (ja) | 画像処理方法、画像処理装置 | |
JP2005354227A (ja) | 画像処理方法、画像処理装置 | |
JP2004080100A (ja) | 色変換テーブル作成方法及び装置並びに色変換方法及び装置及び撮像装置 | |
JP2001094799A (ja) | 画像処理方法、装置および記録媒体 | |
JP2005354229A (ja) | 画像処理方法、画像処理装置、情報処理方法 | |
JP2008042835A (ja) | 画像処理装置、画像処理方法、プログラムおよび記録媒体 | |
JP2002015314A (ja) | 画像出力方法および装置並びに記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070904 |