色変換装置、カラー印刷装置及びカラー画像データ出力装置並びに記録媒体
【課題】 補間演算は変換元の座標がどのような位置であるものだとしても必ず行われ、最適とはいえなかった。
【解決手段】 スキャナ11などで利用されるRGBの表色空間での階調表色データをプリンタ31などで利用されるCMYの表色空間での階調表色データに変換するため、変換元のRGBの表色空間での格子点に変換先のCMYの表色空間での階調表色データを記憶したテーブルを用意しておき、同テーブルを参照しつつ補間演算をするにあたり、RGBの座標位置の成分値が格子座標上に存在する場合には当該座標軸に関して補間演算を実行しないようにしたため、演算量を低減させ、ひいては実効速度の改善を図ることができるようになる。
【解決手段】 スキャナ11などで利用されるRGBの表色空間での階調表色データをプリンタ31などで利用されるCMYの表色空間での階調表色データに変換するため、変換元のRGBの表色空間での格子点に変換先のCMYの表色空間での階調表色データを記憶したテーブルを用意しておき、同テーブルを参照しつつ補間演算をするにあたり、RGBの座標位置の成分値が格子座標上に存在する場合には当該座標軸に関して補間演算を実行しないようにしたため、演算量を低減させ、ひいては実効速度の改善を図ることができるようになる。
【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、異なる表色空間の間で階調表色データを変換する色変換装置、カラー印刷装置、カラー画像データ出力装置、記録媒体に関する。
【0002】
【従来の技術】従来、この種の色変換装置として、コンピュータ上のカラー画像をカラー印刷するカラー印刷システムが知られている。
【0003】コンピュータの内部では、カラー画像は縦横に並べられた各画素ごとについて赤緑青の三原色(R,G,B)で階調表示されているが、一般のカラー印刷装置においてはシアン、マゼンダ、イエローの三色(C,M,Y)あるいはこれにブラックを加えた(C,M,Y,K)四色で階調表示のない状態で印刷される。従って、カラー印刷するためには赤緑青の三原色(R,G,B)の表示からシアン、マゼンダ、イエローの三色(C,M,Y)の表示への色変換の作業と、階調表示から階調のない表示への階調変換の作業が必要となる。なお、色空間自体は一つの空間であるものの、座標の取り方によって表示が異ならざるをえないため、以下においては、便宜上、座標の取り方に応じた表色空間と呼ぶことにする。
【0004】この(R,G,B)表示から(C,M,Y)表示への色変換は変換式によって一義的に定まるものではなく、それぞれの階調を座標とする色空間について相互に対応関係を求めておき、この対応関係から逐次変換するのが通常である。ここにおいて、少なくとも変換元の(R,G,B)表示が各色について256階調であったとすれば、約1670万個(256×256×256)の要素のテーブルを持たなければならない。
【0005】効率的な記憶資源の利用を考えた結果、すべての座標値についての対応関係を用意しておくのではなく、適当なとびとびの格子点について対応関係を用意しておき、補間演算を併用するようにしている。すなわち、(R,G,B)表色空間の中でのある座標の色について(C,M,Y)表色空間の対応関係を求めるときには同座標を取り囲む格子点の対応関係を利用し、線形補間などの演算を経て同座標の対応関係を求めている。
【0006】図28(a)〜(c)は、このような線形補間の一例である八点補間の概念を示している。変換元の表色空間を単位立方の格子状に分割し、格子点での変換先の対応値は別途求めてある。立方体のk番目の頂点Pkでの変換値をXk=[ck,mk,yk]とするとともに立方体の体積をVとすると、立方体の内点Pでの対応値はP点で分割される図示のような八つの小直方体の体積Vkの比率による加重から次式で補間できる。
【0007】
【数1】
【0008】この八点補間の基本式は、八回の乗算と七回の加算が必要となるため、ハードウェア化する場合でもソフトウェアで実行する場合でも資源および時間の負担が大きい。このため、さらに簡単な補間として、図29R>9(a)〜(e)に示すように、単位立方体をさらに複数の単位四面体に分割し、まず内点Pがどの単位四面体に属するかを判定した上で四つの格子点からの補間を行う四点補間方式も知られている。この場合、内点Pが属する単位四面体は内点Pによりさらに四つの小四面体に分けられ、それぞれの小四面体の体積比率により四つの頂点での変換値を加重することになる。
【0009】いま、内点Pにおける座標値Dを[Dr,Dg,Db]とするとき変換値Xp=[cp,mp,yp]は次式で表される。
【0010】
【数2】
【0011】ωk=Δk/Δ;Δk=小四面体kの体積、Δ;単位四面体の体積式(2)は、式(1)と同様に格子点のみの出力値Xkから内点Pに対する出力値Pをリニアに補間するものであるが、一色あたり四回の乗算と三回の加算で済むため八点補間に比べて回路構成が簡単かつ高速化できる利点がある。
【0012】そして、このような補間演算は変換元の座標がどの位置であったとしても一義的に実行されるものであった。
【0013】
【発明が解決しようとする課題】ところで、変換元の座標が格子点と一致する場合など、ある条件を満たすときには上述した補間演算はより簡易になりうる。
【0014】しかしながら、上述した従来の色変換装置においては、補間演算は変換元の座標がどのような位置であるものだとしても必ず行われている。その理由は、もともと記憶資源の貧弱さから格子点を多く持つこと自体が不可能であるため、所定の条件を満たす確率が極めて低く、毎回、条件を満たすか否かの判断をしている方が無駄なことが多いという背景があった。
【0015】本発明は、上記課題にかんがみてなされたもので、余裕を持って記憶資源を利用できる今日において最も効率的な補間演算を行なうことが可能な色変換装置、カラー印刷装置、カラー画像データ出力装置、記録媒体の提供を目的とする。
【0016】
【課題を解決するための手段】上記目的を達成するため、請求項1にかかる発明は、異なる表色空間の間で階調表色データを変換するにあたり、変換元の表色空間での格子点に変換先の表色空間での階調表色データを対応させたテーブルを備えるとともに、変換元の座標位置を取り囲む格子点での表色データに補間演算を施して同座標位置の表色データを求める色変換装置であって、変換元の表色空間において座標位置の各成分値が少なくとも一の座標軸に関して格子座標上に存在する場合に当該座標軸に関して補間演算をしないようにする構成としてある。
【0017】また、請求項2にかかる発明は、異なる表色空間の間で階調表色データを変換するにあたり、変換元の表色空間での格子点に変換先の表色空間での階調表色データを対応させたテーブルを備えるとともに、変換元の座標位置を取り囲む格子点での表色データに補間演算を施して同座標位置の表色データを求める色変換装置であって、変換元の表色空間において座標位置の各成分値が座標軸ごとにその格子座標上に存在するか否かに応じて補間演算式を切り換えて演算する構成としてある。
【0018】さらに、請求項3にかかる発明は、異なる表色空間の間で階調表色データを変換するにあたり、変換元の表色空間での格子点に変換先の表色空間での階調表色データを対応させたテーブルを備えるとともに、変換元の座標位置を取り囲む格子点での表色データに補間演算を施して同座標位置の表色データを求める色変換装置であって、座標位置が、いずれの座標軸に関しても格子座標に一致する格子点位置と、二つの座標軸に関して格子座標に一致する格子辺上と、一つの座標軸に関して格子座標に一致する格子面上と、それ以外の位置との各場合に応じて補間演算式を切り換えて演算する構成としてある。
【0019】これら請求項1〜3の構成にかかる発明について、R,G,Bの三つの座標軸を有する(R,G,B)表色空間から(C,M,Y)表色空間へ変換する例を参照しつつ説明する。例えば、R,G,Bの座標軸上で{0,51,102,153,204,255}が格子座標であるとする。この場合、簡単な例でいえば(51,51,51)というように格子点上の座標については補間演算を行う必要がない。また、いずれか一つの座標値が格子座標上に無い場合、例えば、(25,0,0)という座標であったら、R軸の座標軸上に存在するので、当該R軸上の両側の格子点(0,0,0)および(51,0,0)から補間演算を行えばよい。さらに、いずれか二つの座標値は格子座標上に無いものの残りの一つの座標値は格子座標上にある場合、例えば、(0,25,25)という座標であったらG軸とB軸の二次元平面内に存在しているので、その周囲の四つの格子点(0,0,0),(0,51,0),(0,0,51),(0,51,51)から補間演算を行えばよい。
【0020】すなわち、これらは変換元の表色空間において座標位置の各成分値が少なくとも一の座標軸に関して格子座標上に存在する場合であり、さらに体系的に分類すれば、いずれの座標軸に関しても格子座標に一致する格子点位置と、二つの座標軸に関して格子座標に一致する格子辺上と、一つの座標軸に関して格子座標に一致する格子面上に存在する場合という三つの場合となる。
【0021】それぞれに共通にいえるのは、ある座標軸において格子座標上にある場合にはその座標軸に関して補間演算が行われないことである。従って、三つの座標軸がある場合に、いずれの座標軸に関しても格子座標上にないならば周囲の格子点からなる立方体内での補間演算式を利用するし、一つの座標軸で格子座標上にあるならば同座標軸に関しては補間演算を行わないで二つの座標軸に関する平面内での補間演算式を利用するし、二つの座標軸で格子座標上にあるならば二つの座標軸に関しては補間演算を行わないで二つの座標軸に関する線上での補間演算式を利用するし、三つの座標軸で格子座標上にあるならばいずれの座標軸に関しても補間演算を行なうことなく終了する。
【0022】このような状況の中で補間演算を具体的にどのように実行するかは補間演算方法に応じて極めて多様である。すなわち、各座標軸ごとに補間演算を行うような演算式であれば、各座標値ごとに格子座標上にあるか否かを判断し、格子座標上にあるならば補間演算しないといった対処になる。しかし、各座標軸について判断した結果が補間演算式に反映していくようなものであれば、順番に判断しながら補間演算式を切り替えていくことになる。また、それぞれの場合に応じた補間演算式を用意しておき、最初にどのような場合に属しているのかを判断して補間演算式を切り替えるというものであっても構わない。むろん、これら以外であっても可能な場合もある。すなわち、補間演算式によって具体的な対処は変わるものの、要は変換元の表色空間において座標位置の各成分値が少なくとも一の座標軸に関して格子座標上に存在する場合に当該座標軸に関して補間演算をしないという点で共通している。
【0023】なお、どの場合に該当するかについての判断の一例として、請求項4にかかる発明は、請求項1〜請求項3に記載の色変換装置において、各座標軸の格子座標のデータ群の中で、変換元の座標位置の各成分値が一致する個数によって場合分けする構成としてある。
【0024】すなわち、格子座標のデータ群を用意しておき、座標位置の各成分値がいくつ一致するか否かを判断し、一致した数を積算する。例えば、(25,51,102)などの座標値の各成分値について格子座標データ群{0,51,102,153,204,255}の中でいくつ一致するかを判断する。この(25,51,102)という座標であれば、R軸の座標値「25」については一致するものが無く、G軸の座標値「51」については一致するものがあり、B軸の座標値「102」についても一致するものがあるので、合計として一致するのは二つとなる。二つ一致した場合には格子辺上に存在し、線上での補間を行えばよいと判断する。また、一つ一致した場合には格子面上に存在し、平面内での補間を行えばよいと判断するし、三つ一致した場合には格子点上に存在して補間演算を行わないと判断し、一つも一致しなければ通常の立方体内での補間演算を行うと判断する。
【0025】このように座標値があるデータ群の中で一致するものがあるか否かを判断するにあたり、請求項5にかかる発明は、請求項4に記載の色変換装置において、座標値の成分値がn進数データ(nは整数)で示されるときに、格子座標のデータ群がnのべき乗の整数倍位置にあるときに所定桁数以下の桁値の有無に基づいて座標軸上で格子座標に一致するか否かを判断する構成としてある。
【0026】そして、そのさらなる具体例として、請求項6にかかる発明は、請求項5に記載の色変換装置において、n=2であり、ビットシフト演算で所定ビット以下の桁値の有無を判断する構成としてある。
【0027】n=2の二進数の例は、コンピュータ内部でのデータ保持がこの二進数で行われていることを利用するものであり、格子座標のデータ群が16(=2の4乗)の整数倍の{0,16,32,48,64・・・}となっているとすれば、8ビット表示として下位4ビットは常に「0」である。従って、一例として4ビットを左シフトしていったときに8ビットがすべて「0」となれば、減算などの演算を行うことなくデータ群の中に一致したものがあったか否かを判断できる。コンピュータ内部でのかかるビットシフト演算は極めて短時間で行うことができる。このような考え方を普遍化したのが請求項5の場合であり、n進数データ(nは整数)を前提としたときに、格子座標のデータ群としてnのべき乗の整数倍位置としておき、所定桁数以下の桁値の有無に基づいて格子座標に一致するか否かを判断できる。例えば、10進数データにおいて格子座標が10の2乗の100の整数倍{0,100,200・・・}とすると、下二桁の桁値の有無が格子座標に一致するか否かに対応することになる。
【0028】このようにして座標位置の各成分値が格子座標のデータ群に一致する場合に補間演算を簡略化できるようになるには、格子座標のデータ群を増加させることが可能となった背景があり、さらにその恩恵を受けるべく、請求項7にかかる発明は、請求項1〜請求項6に記載の色変換装置において、上記テーブルが、補間演算によって格子点を増加して生成せしめた構成としてある。
【0029】予めテーブルの格子点を補間演算にて増加させておくことにより、座標位置の各成分値が格子座標のデータ群に一致する確率は飛躍的に向上する。なぜならば、三次元を例にとっても各軸方向についての格子座標が二倍の密度になれば格子点の数は2×2×2=8倍となり、ヒット率が格段に増加する。また、逆に言えばヒット率を2倍にするには2の三乗根だけ格子座標を増やせばよいことになり、少しだけ格子座標を増加させるだけでよいことが分かる。
【0030】さて、このような色変換装置はある機器に組み込まれた状態で利用されるのはむろんのことであるが、発明の思想としてはこれに限らず、各種の態様を含むものである。
【0031】例えば、色変換装置がどの段階、すなわちどのような機器において利用されるのかも不問である。その一例として、請求項8にかかる発明は、印刷インクに対応した表色空間に対して異なる表色空間の階調表色データを変換するにあたり、変換元の表色空間での格子点に変換先の表色空間での階調表色データを対応させたテーブルを備えるとともに、変換元の座標位置を取り囲む格子点での表色データに補間演算を施して同座標位置の表色データを求めるとともに同求められた表色データに基づいて印刷を行うカラー印刷装置であって、変換元の表色空間において座標位置の各成分値が少なくとも一の座標軸に関して格子座標上に存在する場合に当該座標軸に関して補間演算をしないようにする構成としてある。
【0032】すなわち、印刷装置という具体的な装置内に存在する場合である。
【0033】また、請求項9にかかる発明は、撮像素子に応じた表色空間の階調表色データを異なる表色空間の階調表色データに変換するにあたり、変換元の表色空間での格子点に変換先の表色空間での階調表色データを対応させたテーブルを備えるとともに、変換元の座標位置を取り囲む格子点での表色データに補間演算を施して同座標位置の表色データを求めるカラー画像データ出力装置であって、変換元の表色空間において座標位置の各成分値が少なくとも一の座標軸に関して格子座標上に存在する場合に当該座標軸に関して補間演算をしないようにする構成としてある。
【0034】カラー画像を撮像してカラー画像データを出力する装置には、具体例として、カラー画像スキャナ、カラースチルカメラなどがあり、これらの撮像機器において印刷装置などの具体的な出力装置に応じてカラー画像データの変換を行うような場合でも、上述したものと同様に実行できる。
【0035】また、発明の思想の具現化例として色変換ソフトウェアとなる場合もあり、このような場合にはかかるソフトウェアを記録した記録媒体上においても当然に存在し、利用されるといわざるをえない。むろん、その記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、さらには、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。その他、ソフトウェアである場合にはその供給方法が上述した記録媒体として提供されるのではなく、通信回線を利用して提供されるような場合でも本発明が利用されていることにはかわりない。
【0036】さらには、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものはなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。
【0037】
【発明の効果】以上説明したように本発明は、所定の座標位置では補間演算を簡略化することにより、格子点を増やせる状況下においては資源の効率化と演算の高速化とを実現することが可能な色変換装置を提供することができる。
【0038】また、請求項4にかかる発明によれば、補間演算を簡略化できる場合であるか否かを極めて容易に判断することができる。
【0039】さらに、請求項5にかかる発明によれば、所定の条件で格子座標を配置することによって補間演算を簡略化できるか否かをさらに容易に判断できるようになる。特に、請求項6にかかる発明によれば、コンピュータなどの二進法の演算機において用意されている極めて単純な演算で実行できる。
【0040】また、請求項7にかかる発明によれば、格子点の数を補間演算によって増加させておくことにより、格子点位置にヒットする確率を飛躍的に向上させることができ、演算の高速化を実現することが可能となる。
【0041】さらに、請求項8にかかる発明によれば、カラー印刷装置として具現化され、印刷インクなどの適性に依存する表色空間とは異なる表色空間の表色データを効率的に変換して印刷可能となる。
【0042】さらに、請求項9にかかる発明によれば、撮像素子を備えるカラー画像データ出力装置として具現化され、カラー画像データを出力する相手側の表色空間に応じた色変換を効率的に変換して出力することができる。
【0043】さらに、請求項10にかかる発明によれば、コンピュータ等上で実行されるプログラムを該コンピュータ等で読み取り可能に記録した記録媒体として具現化され、所定の座標位置では補間演算を簡略化することにより、格子点を増やせる状況下においては資源の効率化と演算の高速化とを実現することがコンピュータ上で可能になる。
【0044】
【発明の実施の形態】以下、図面にもとづいて本発明の実施形態を説明する。
【0045】図1は、本発明の一実施形態にかかる色変換装置を適用した画像処理システムをブロック図により示しており、図2は具体的ハードウェア構成例をブロック図により示している。
【0046】同図において、画像入力装置10はカラー画像を撮像するなどして階調表色データを画像処理装置20へ出力し、同画像処理装置20は所定の画像処理を行なって画像出力装置30に出力し、同画像出力装置30は元のカラー画像を表示する。
【0047】ここにおいて、画像入力装置10の具体例はスキャナ11やデジタルスチルカメラ12などが該当し、画像処理装置20の具体例はコンピュータ21とハードディスク22などからなるコンピュータシステムが該当し、画像出力装置30の具体例はプリンタ31やCRTディスプレイ32等が該当する。また、本発明をコンピュータ等に実施させるプログラムを記録可能な記録媒体は、ドライブ装置23によってコンピュータに読み込まれるCD−ROM24等の記録媒体が相当する。
【0048】画像入力装置10としてのスキャナ11が階調表色データとして例えばRGB(赤、緑、青)の階調データを出力するものとするとともに、画像出力装置30としてのプリンタ31は階調表色データとしてCMY(シアン、マゼンダ、イエロー)の二値データを入力として必要とするものとすると、画像処理装置20としてのこのコンピュータ21の具体的役割は、RGBの階調データをCMYの二値データに変換することである。また、ディスプレイ32がRGBの階調データを入力するものとしても、スキャナ11とディスプレイ32では色特性が異なるのが通常であり、コンピュータ21はRGBの階調データをRGBの階調データに変換する処理を行なうことになる。デジタルスチルカメラ12についてもほぼ同様のことがいえる。
【0049】以下に、具体的処理としてRGBの階調データをCMYの二値データに変換する処理を前提として説明する。このような場合、コンピュータ21が行なう処理は、図3に示すように、RGB階調データをCMY階調データに変換する色変換処理と、CMY階調データをCMY二値データに変換する階調変換処理であり、それぞれを行なう部分を機能的に色変換部21aと階調変換部21bと呼ぶ。これらは、ハードウェアのみで構成することも可能であるものの、本実施形態においてはソフトウェアとしてハードディスク22に記憶され、実行時に適宜RAM上にロードしてCPUが演算処理にて実行している。
【0050】また、ソフトウェアの一部として、ハードディスク22にはRGB階調データをCMY階調データに変換するための三次元ルックアップテーブル(以下、単にテーブルと呼ぶ)が記憶されている。本実施形態においては、RGB階調データとCMY階調データとがともに256(0〜255)階調であるものの、上述したように記憶資源と演算速度の調和からテーブルは格子点として25×25×25などのとびとびの値となっている。ただし、理解の便宜上、以下においては9×9×9の格子点を備えたものとして説明する。むろん、これらの格子点の取り方は本発明に対して本質的な影響を与えるものではなく、具体例にすぎない。
【0051】すなわち、スキャナ11のRGB階調データをプリンタ31のCMY階調データに変換するにあたり、テーブルとしては格子点に対応データを備えつつ、格子点の間のデータについては以下のように補間演算で求めるようにしているため、この色変換部21aこそが本発明の色変換装置を構成している。
【0052】むろん、本発明の色変換装置はこのようなスキャナ11やプリンタ31にコンピュータ21を含めたシステムである必要はない。例えば、図4には画像入力装置10であるデジタルカメラ110に、画像出力装置30であるプリンタ120やテレビジョン130を直に接続するような場合にも適用できる。この場合、デジタルカメラ110には、図5に示すように、撮像素子としてのCCD素子を備えた撮像部111と、同撮像部111にて撮像した画像をRGB階調データで保存するメモリ112と、このRGB階調データをCMY階調データに変換する色変換部113と、プリンタ120用に二値に階調変換する階調変換部114とを備えている。すなわち、デジタルカメラ110内に本発明の適用例である色変換部113を備えることになる。なお、プリンタ120の側にはCMY二値データを受信するためのプリンタバッファ121を備えておく。また、テレビジョン130を接続する場合には、図6に示すように、RGB階調データをCMY階調データに変換する色変換部113に代えてテレビジョンのRGB特性に合わせたR’G’B’階調データに変換する色変換部115を備えるとともに、テレビジョンで受信するためのR/Fコンバータ116を備えるようにしている。
【0053】一方、図7及び図8は本発明の色変換装置を画像出力装置30であるプリンタ140内に備えた例を示している。この例では、プリンタ140にL*A*B*などの標準系の階調表色データを受信するバッファメモリ141を備えておき、この階調表色データを印刷インクに応じたCMY階調データに変換する色変換部142と、二値データに変換する階調変換部143と、CMY二値データに基づいて印字させるための印字ヘッドバッファ144とを備えた構成としてある。このようにすれば、標準系の階調表色データをパソコン150や、デジタルスチルカメラ160や、モデム170などから受信して印刷できる。
【0054】なお、パソコン150を接続する場合など、プリンタ140内に上述した全ての構成をハードウェアとして備えている必要はなく、色変換部142や階調変換部143をプリンタドライバとしてソフトウェアの形態で存在するようにしても良い。
【0055】これらのように、本発明の色変換装置は、各種の形態として実現可能である。
【0056】図1〜図3の例に戻ると、図9には格子点と階調との対応関係を示しており、テーブルを参照するにあたって便利をよくするため、本来の階調データが「0」〜「255」であるのに対し、格子点は32刻みで「0」〜「8」と番号を付してあり、格子点間を特定するにあたって区間番号として「1」〜「8」の番号を付している。
【0057】この補間演算については、図10以下に説明している。
【0058】図10には、変換しようとするRGB階調データ(Rx,Gx,Bx)と、それを取り囲む格子点D1(c1,m1,y1)〜D8(c8,m8,y8)を示している。このような八つの格子点からなる立方体内で加重累計して補間演算を行う方法については従来と同様である。しかしながら、図11にはRGB階調データ(Rx,Gx,Bx)がこの立方体の表面上にある場合を示しており、図12には辺上にある場合を示しており、さらに、図13には格子点にある場合を示している。
【0059】八点補間がいわゆる変換元の座標値で立方体を直方体に細分したときに、対角関係にある格子点Dkと直方体の体積率Vk/Vを乗算して積算しているのに対し、このような面上、辺上にあるときには、明らかに体積計算をすることなく線形補間が可能である。また、格子点上にあれば補間演算が不要なことはいうまでもない。
【0060】従って、補間演算については、以下のようにまとめることができる。
【0061】<立方体内:八点補間の体積率加重>
【0062】
【数3】
【0063】Vk:P点で分割される小直方体のうち格子点Dkと対角位置のものの体積V:八格子点で囲まれる立方体の面積<面上:四点補間の面積率加重>
【0064】
【数4】
【0065】Sk:P点で分割される矩形エリアのうち格子点Dkと対角位置のものの面積S:四格子点で囲まれる格子面の面積<辺上:二点補間の離間率加重>
【0066】
【数5】
【0067】Lk:P点で分割される区間のうち格子点Dkと反対側の距離L:二格子点間の距離<格子点:補間演算なし>かかる分類に基づく補間演算の手順は図14のフローチャートに示すようになっている。概略的な流れは、まず、変換元の座標位置の各成分値が格子座標のデータ群の中でいくつ一致しているか否かを判断し、一致している数に応じて各補間演算を実行するサブルーチンへと処理を分岐している。
【0068】具体的には、ステップS110にて準備のための初期設定を行い、この中では各軸に対応して用意されているフラグfr,fg,fbをリセットする。そして、続くステップS120にて各成分値が各軸毎に格子座標のデータ群{0,32,64,96,128,160,192,224,255}のいずれかと一致するか否かを判断する。各軸毎に一致すればフラグfr,fg,fbに「1」をセットし、判断が終わったら「1」になっているフラグfr,fg,fbの数を積算する。格子座標に一致するか否かの判断は、格子座標のデータ群の中で一つずつ判断していっても良いが、格子座標の取り方によっては簡易に判断することができる。本実施形態においては、格子座標は(2の5乗)の整数倍としている。
【0069】従って、座標値を8ビットで符号無しで表すとすれば、図15に示すように表される。この場合、右から第1ビット〜第5ビットが(2の5乗)で除算したときの余りに対応するから、これらが「0」であれば格子座標のデータ群に一致するか否かを判断できる。従って、図16に示すように、3ビットの左シフトの命令を施せば上位3ビットがクリアされてしまうとともに下位から「0」を立てていくことになり、その結果が「0」であれば、元のデータは(2の5乗)の整数倍であったことが分かる。左シフト命令の結果が「0」でなければ、(2の5乗)で除算したときに余りが生じていたはずであり、格子座標のデータ群に一致するものが無かったといえる。
【0070】図15に示すように、10進数で「100」の場合は3ビットの左シフト命令によって、図16に示すように「32」となり、「0」ではないので格子座標のデータ群に一致しないことが分かる。一方、図17R>7に示すように、10進数で「96」の場合は3ビットの左シフト命令によって、図18に示すように「0」となり、格子座標のデータ群に一致することが分かる。
【0071】これを整理すると、2進数の場合に格子座標として2の5乗の整数倍としていることにより、5桁以下の桁値の有無だけを判断して格子座標に一致するか否かを判断できたことになる。むろん、かかる判断手法は、2進数の場合に限らず、n進数の場合にも汎用的に利用できる。すなわち、格子座標がnのべき乗の整数倍になっているとすれば、同べき乗の桁数以下の桁値の有無によって格子座標のデータ群に一致するか否かを判断できる。ただし、2進数のデータを扱うコンピュータのようなものにおいては、ビットのシフト命令が用意されているので、これを利用して極めて容易に判断を実行できる。
【0072】なお、本実施形態においては、「32」の整数倍でない「255」も格子座標としているので、最初に「255」と一致するか否かを判断し、一致しない場合に上述した手法で判断する。
【0073】次に、具体的な補間演算について説明する。
【0074】ステップS120にて格子座標のデータ群との一致数をチェックした結果、「0」個であったとすると、ステップS130のチェックを経てステップS131の八点補間(体積率加重)のサブルーチンを実行する。
【0075】同サブルーチンの具体的内容を図19のステップS210〜S240に示している。
【0076】まず、RGB階調データ(Rx,Gx,Bx)の座標位置Pがどの格子区間に属しているかを算出し(ステップS210)、次いで周囲の八つの格子点についてのテーブルを読み出し(ステップS220)、座標位置Pにて細分される八つの直方体の体積率を計算し(ステップS230)、最後に各色ごとに体積率を乗算しつつ積算する(ステップS240)。
【0077】実際の計算を具体例を参照して説明する。いま、RGB階調データ(100,70,30)なるデータがあるとする。ステップS210にて属する格子区間を求める場合、図9を参照すれば格子区間(4,3,1)なる区間であることが分かる。むろん、各軸の座標値を「32」で除算した結果に「1」を加えた結果であるが、この場合においても、格子座標を2の5乗の整数倍としていることによって計算が極めて簡単となっている。
【0078】R軸の座標値である「100」を符号無しの8ビットで表すと図15に示すようになる。この場合、格子座標である2の5乗で除算するということは、簡単に5ビットの右シフト命令を実行することに他ならない。従って、この命令を実行すると図20に示すように「3」となるので、「1」を加えて格子区間は「4」ということになる。同様に演算すると、G軸の座標値である「70」の格子区間は「3」、B軸の座標値である「30」の格子区間は「1」となる。
【0079】次に、格子区間(4,3,1)における八つの格子点を求めるが、図9を参照すれば、D1(4,3,1)、D2(4,3,0)、D3(4,2,0)、D4(4,2,1)、D5(3,3,1)、D6(3,3,0)、D7(3,2,0)、D8(3,2,1)という合計八つの格子点についてテーブルを参照することになる。
【0080】この後、体積率(Vk/V)を計算するが、Vは基本的に一定値(32×32×32)であり、Vkについて演算する。k=1の例をとれば、Vk=(100−96)×(70−64)×(30−0)=4×6×30=720となる。同様にしてk=2〜8について演算する。これまでの説明は格子点を9×9×9の配置にしているので離間距離は「32」となっているが、現実にはこの格子点の離間距離はもっと小さい値とすることができる。従って、現実に体積計算するよりも体積率についてのテーブルを作成しておき、同テーブルを参照することによって演算を行わないようにしてもよい。体積率を求めたら、八格子点についてのCMY各色の成分について加重積算を行う。
【0081】この場合、少なくとも加重積算において八つの格子点における面積率とテーブルの読み出し値との乗算を行い、最後に加算する演算が必要となる。
【0082】一方、ステップS120にて格子座標のデータ群との一致数をチェックした結果、「1」個であったとすると、ステップS130及びステップS140のチェックを経てステップS141の四点補間(面積率加重)のサブルーチンを実行する。
【0083】同サブルーチンの具体的内容を図21のステップS310〜S350に示している。
【0084】まず、RGB階調データ(Rx,Gx,Bx)の座標位置Pがどの格子面に属しているかを特定し(ステップS310)、次いで周囲の四つの格子点についてテーブルを読み出し(ステップS320)、三つの座標値のうち面積率の計算に利用する座標値を特定し(ステップS330)、座標位置Pにて格子面を四分した各矩形面積率を計算し(ステップS340)、最後に各色ごとに面積率を乗算しつつ積算する(ステップS350)。
【0085】この場合も、実際の計算を具体例を参照して説明する。いま、RGB階調データ(100,96,30)なるデータがあるとする。ステップS310にて属する格子面を求めるにあたり、各フラグfr,fg,fbを参照する。フラグfgが「1」になっているので、G軸において格子座標に一致し、RB面であることが分かるとともに、上述したのと同様の右シフト命令によって格子区間はR軸で「4」、B軸で「1」であることが分かる。
【0086】次に、ステップS320にてこの格子区間における四つの格子点を求めるが、G軸について格子番号を「2」に固定し、D1(4,2,1)、D2(4,2,0)、D3(3,2,0)、D4(3,2,1)という合計四つの格子点についてテーブルを参照することになる。格子面の場合は、RB面、RG面、GB面のそれぞれに計算式を用意しておいても良いものの、k=1〜4として変化させる場合の相対位置を特定することにより、固定的な一式を利用して四点から補間演算することができるようになる。
【0087】従って、面積率を計算する前に、ステップS330にて同面積率の計算に必要な座標として「100」と「30」を特定し、続くステップS340にてk=1〜4と変化させたときの面積Skを求める。この場合であれば、k=1としたときにSk=(100−96)×(30−0)=4×30=120となる。むろん、面積SについてはS=32×32である。そして、この場合も、面積率について毎回演算するのではなく、面積率についてのテーブルを用意しておいて参照するようにしても良い。面積率を求めたら、ステップS350にて四格子点についてのCMY各色の成分について加重積算を行う。
【0088】この場合、少なくとも加重積算において四つの格子点における面積率とテーブルの読み出し値との乗算を行い、最後に加算する演算が必要となり、八格子点の場合に比べて乗算回数と加算回数が減少している。
【0089】さらに、ステップS120にて格子座標のデータ群との一致数をチェックした結果、「2」個であったとすると、ステップS130、ステップS140およびステップS150のチェックを経てステップS151の二点補間(離間率加重)のサブルーチンを実行する。
【0090】同サブルーチンの具体的内容を図22のステップS410〜S450に示している。
【0091】まず、RGB階調データ(Rx,Gx,Bx)の座標位置Pがどの格子辺に属しているかを特定し(ステップS410)、次いで両端の二つの格子点についてテーブルを読み出し(ステップS420)、三つの座標値のうち離間率の計算に利用する座標値を特定し(ステップS430)、座標位置Pにて二分したときの格子点からの離間率を計算し(ステップS440)、最後に各色ごとに離間率を乗算しつつ積算する(ステップS450)。
【0092】この場合も、実際の計算を具体例を参照して説明する。いま、RGB階調データ(100,96,32)なるデータがあるとする。ステップS410にて属する格子辺を求めるにあたり、各フラグfr,fg,fbを参照すれば、フラグfg,fbが「1」になっているので、G軸とB軸において格子座標に一致し、R軸方向の格子辺であることが分かるとともに、上述したのと同様の右シフト命令によって格子区間はR軸で「4」であることが分かる。
【0093】次に、ステップS420にてこの格子区間における両端の格子点を求めるが、G軸について格子番号を「2」に固定するとともにB軸について格子番号を「1」に固定し、D1(4,2,1)、D2(3,2,1)という二つの格子点についてテーブルを参照することになる。格子辺の場合も格子面の場合と同様に、R軸方向、G軸方向、B軸方向のそれぞれに計算式を用意しておいても良いものの、k=1〜2として変化させる場合の相対位置を特定することにより、固定的な一式を利用して二点から補間演算することができるようになる。
【0094】従って、離間率を計算する前に、ステップS430にて同離間率の計算に必要な座標として「100」を特定し、続くステップS440にてk=1〜2と変化させたときの距離Lkを求める。この場合であれば、k=1としたときにLk=100−96=4となり、k=2としたときにLk=128−100=28となる。むろん、距離LについてはL=32である。そして、この場合も、離間率について毎回演算するのではなく、離間率についてのテーブルを用意しておいて参照するようにしても良い。離間率を求めたら、ステップS450にて両端の格子点についてのCMY各色の成分について加重積算を行う。
【0095】この場合、少なくとも加重積算において二つの格子点における離間率とテーブルの読み出し値との乗算を行い、最後に加算する演算が必要となり、四格子点及び八格子点の場合に比べて乗算回数と加算回数が減少している。
【0096】最後に、ステップS120にて格子座標のデータ群との一致数をチェックした結果が、「3」個であった場合について説明する。この場合、ステップS130、ステップS140およびステップS150のチェックを経てステップS161を実行することになるが、この場合は補間演算をすることなくRGB階調データ(Rx,Gx,Bx)の格子点についてテーブルを読み出せばよい。従って、乗算回数や加算回数はゼロとなるので、演算量は激減したことになる。
【0097】以上説明したように、ステップS120にて格子座標のデータ群との一致数をチェックした結果に基づいて補間演算式を切り換えることにより、座標位置の成分値が格子座標上に存在する座標軸に関して補間演算をしないことになり、演算量を低減させることができるようになる。そして、この効果は記憶資源を多く確保できるようになった状況において格子点を増やすことができれば、より増加するので、記憶資源と演算速度との最も有効な調和点で色変換を実行することができるようになる。
【0098】本実施形態においては、基本的に線形補間を利用しているので、補間演算式を切り換えることによって実質的に所定の座標軸に関して補間演算をしないことになっているが、その他の補間式を採用する場合においては座標軸毎の補間演算という概念が発生し、格子座標に一致する座標軸に関して直接的に補間演算を実行しないようにすることも可能である。すなわち、補間演算の方法によっては、所定の座標軸に関して補間演算を実行しないという意味が変化するのは当然のことである。むろん、線形補間においても各種の補間演算が可能であり、必ずしも本実施形態において説明した補間演算に限られるものではないことはいうまでもない。
【0099】これまでは予め用意されたテーブルを利用して変換元の座標値が格子点上などの特定位置に存在しているか否かを判断していたが、予め格子点を増やしておけばよりこの確率は向上する。
【0100】図23には格子点を増加する前の格子点位置を白丸で示すとともに、格子点を増加した後の格子点位置を黒丸で示しており、演算の簡易のため、格子間隔を半分にする位置に新たな格子点を設けている。従って、図に示す当初の格子番号は括弧書きのような丁度二倍の格子番号となる。なお、当初の格子点の数を仮に「i」として説明する。
【0101】格子点を補間するタイミングとして、予め、全ての格子点を補間して生成しておくことが可能である。図24はこの先行補間の処理を実行するCPUの手順をフローチャートにより示しており、図25はデータのフォーマットを示しており、図26は補間される格子点を示しており、図27は補間演算の状況を示している。
【0102】まず、テーブルデータのファイルを説明する。各格子点に対応するCMYの成分値は「0」〜「255」の256階調であるので、これを1バイトのデータで表し、一つの格子点について3バイトの連続するデータ領域を確保する。そして、R軸、G軸、B軸のそれぞれの格子座標を(r,g,b)としたとき、ファイルの先頭から((r×i×i+g×i+b)×3)バイト目からこの連続する3バイトが始まるようになっている。すなわち、格子点(r,g,b)のシアンのデータはファイルの先頭から(((r×i×i+g×i+b)×3)+1)バイト目であり、マゼンダは(((r×i×i+g×i+b)×3)+2)バイト目であり、イエローは(((r×i×i+g×i+b)×3)+3)バイト目となる。なお、図面上ではCMYの各データについても一義に読み出せる配列として取り扱えるように(R,G,B,(C=0 M=1 Y=2))の四次元テーブルとして表示している。
【0103】かかる格子点を備えたテーブルにおいて、格子点間を半分とする格子点を各軸に形成するものとする。従って、補間前の格子点の格子座標は図23の括弧書きに示すように自動的に(0,2,4,6,8…)となり、その間を補間することになる。
【0104】図25に示すフローチャートに戻ると、まず、CPUはステップS510にて既にテーブル内にある格子点データを新たなテーブルの所定位置に移行する処理を行う。例えば、図25に示すように、格子座標(0,0,0)の対応データは新たなテーブルの格子座標(0,0,0)の対応データとして、格子座標(0,0,1)の対応データは新たなテーブルの格子座標(0,0,2)の対応データとして、格子座標(0,0,2)の対応データは新たなテーブルの格子座標(0,0,4)の対応データとしてというようにして移行していく。
【0105】格子点を補間する補間演算は線形補間や非線形補間など各種の手法が利用可能であるが、線形補間の演算が容易である。線形補間で行なう場合、これまでにも説明したように、八つの格子点からなる格子立方体内の位置によって演算が異なる。すなわち、辺上に存在する格子点の場合は両側の二点の格子点から補間されるし、面上に存在する格子点の場合は周辺の四つの格子点から補間されるし、中心に存在するものの場合は八つの格子点から補間される。これは、これまで述べたような座標位置に応じた補間演算と全く同じである。
【0106】格子点を増加する順序として、まず、ステップS520では格子辺上で格子点を生成する処理を実行する。CPUの演算処理では各軸毎にパラメータを与えてネストしたループで処理を行うため、便宜上、図中においてもブロックを入れ子状に表示している。
【0107】パラメータは各軸ともに「0」、「2」、「4」、「6」、「8」…と与え、R軸方向についていえば格子座標(1,0,0)の対応データを格子座標(0,0,0),(2,0,0)のデータから生成する。即ち、図27に示すように、格子座標(0,0,0)の対応データX1と格子座標(2,0,0)の対応データX2とを足し、その結果X3を「2」で割ったものがX4となる。ここにおいて「2」の除算は二進数データにおいて1ビットの右シフトに対応し、極めて容易に実行できる。むろん、最初に1ビットの右シフトを実行しておいてから足しても良く、この場合は演算過程でのオーバーフローを防止できる。以下、このパラメータの全組合せから格子辺上の格子点を生成する。
【0108】ステップS530では格子面上で格子点を生成する処理を実行する。この場合もネストしたループで処理を行うため、各軸のパラメータとして「0」、「2」、「4」、「6」、「8」と与え、RG面と平行な面についていえば格子座標(1,1,0)の対応データを格子座標(0,0,0),(0,2,0),(2,0,0),(2,2,0)のデータから生成する。この場合は四つの格子点の平均値を取ることになり、四つのデータを足してから「4」で割ればよい。なお、「4」の除算は二進数データにおいて2ビットの右シフトに対応し、極めて容易に実行でき、以下、このパラメータの全組合せから格子面上の格子点は生成される。
【0109】最後に、ステップS540では中心点の格子点を生成する処理を実行する。この場合は、各軸のパラメータとして「1」、「3」、「5」、「7」…と与え、格子座標(1,1,1)の対応データは周縁の八つの格子座標(0,0,0),(0,0,2),(0,2,0),(0,2,2),(2,0,0),(2,0,2),(2,2,0),(2,2,2)の対応データから生成する。この場合は八つの格子点の平均値を取ることになり、オーバーフローしないように3ビットの右シフトを実行してから足し合わせればよい。以下、このパラメータの全組合せから全中心点の格子点が生成される。
【0110】以上の処理を行うことによって格子点の補間が終了し、格子点の数は概ね「2」の三乗倍となっている。従って、この後で上述した座標値の変換を行えば格子点にヒットする確率も「2」の三乗倍に向上させることができる。本実施形態においては格子間隔を半分にするように格子点を増加させているが、この例に限らず、必要に応じて適宜増減可能であり、記憶資源の許容範囲内で格子点を増加させればよい。
【0111】なお、これまでの説明において階調変換の具体的手法については敢えて説明していないが、誤差拡散法や、ディザ利用などによる周知の手法を適用すればよく、例えば、本願出願人による特公平7−30772号公報にも説明されている。
【0112】このように、スキャナ11などで利用されるRGBの表色空間での階調表色データをプリンタ31などで利用されるCMYの表色空間での階調表色データに変換するため、変換元のRGBの表色空間での格子点に変換先のCMYの表色空間での階調表色データを記憶したテーブルを用意しておき、同テーブルを参照しつつ補間演算をするにあたり、RGBの座標位置の成分値が格子座標上に存在する場合には当該座標軸に関して補間演算を実行しないようにしたため、演算量を低減させ、ひいては実効速度の改善を図ることができるようになる。
【図面の簡単な説明】
【図1】本発明の一実施形態にかかる色変換装置を適用した画像処理システムのブロック図である。
【図2】同画像処理システムの具体的ハードウェア構成例のブロック図である。
【図3】コンピュータの機能的な構成を示す説明図である。
【図4】本発明の色変換装置の他の適用例を示す概略図である。
【図5】プリンタを接続する場合の同適用例におけるブロック図である。
【図6】テレビジョンを接続する場合の同適用例におけるブロック図である。
【図7】本発明の色変換装置のさらなる他の適用例を示すブロック図である。
【図8】同適用例における機器構成を示す概略図である。
【図9】RGBの表色空間での階調と格子区間などとの対応関係を示す説明図である。
【図10】八点補間における模式図である。
【図11】四点補間における模式図である。
【図12】二点補間における模式図である。
【図13】補間演算をしない場合の模式図である。
【図14】補間演算を実行するためのメインのフローチャートである。
【図15】ビットシフト命令を説明するための「100」の値の記憶状況を示す図である。
【図16】3ビットの左シフト命令を実行したときのデータの記憶状況を示す図である。
【図17】ビットシフト命令を説明するための「96」の値の記憶状況を示す図である。
【図18】3ビットの左シフト命令を実行したときのデータの記憶状況を示す図である。
【図19】八点補間演算を実行するためのフローチャートである。
【図20】5ビットの右シフト命令を説明するためのデータの記憶状況を示す図である。
【図21】四点補間演算を実行するためのフローチャートである。
【図22】二点補間演算を実行するためのフローチャートである。
【図23】格子点を増加する前後の格子座標を示す説明図である。
【図24】格子点増加処理に対応したフローチャートである。
【図25】テーブルのデータの配列を示す説明図である。
【図26】補間される格子点の位置を示す概略説明図である。
【図27】ビットシフトを併用した演算の状態を示す説明図である。
【図28】八点補間の概念を示すための説明図である。
【図29】八点補間を改良した四点補間の概念を示すための説明図である。
【符号の説明】
10…画像入力装置
11…スキャナ
12…デジタルスチルカメラ
20…画像処理装置
21…コンピュータ
21a…色変換部
21b…階調変換部
22…ハードディスク
23…ドライブ装置
24…CD−ROM
30…画像出力装置
31…プリンタ
32…CRTディスプレイ
110…デジタルカメラ
113…色変換部
115…色変換部
120…プリンタ
142…色変換部
【0001】
【発明の属する技術分野】本発明は、異なる表色空間の間で階調表色データを変換する色変換装置、カラー印刷装置、カラー画像データ出力装置、記録媒体に関する。
【0002】
【従来の技術】従来、この種の色変換装置として、コンピュータ上のカラー画像をカラー印刷するカラー印刷システムが知られている。
【0003】コンピュータの内部では、カラー画像は縦横に並べられた各画素ごとについて赤緑青の三原色(R,G,B)で階調表示されているが、一般のカラー印刷装置においてはシアン、マゼンダ、イエローの三色(C,M,Y)あるいはこれにブラックを加えた(C,M,Y,K)四色で階調表示のない状態で印刷される。従って、カラー印刷するためには赤緑青の三原色(R,G,B)の表示からシアン、マゼンダ、イエローの三色(C,M,Y)の表示への色変換の作業と、階調表示から階調のない表示への階調変換の作業が必要となる。なお、色空間自体は一つの空間であるものの、座標の取り方によって表示が異ならざるをえないため、以下においては、便宜上、座標の取り方に応じた表色空間と呼ぶことにする。
【0004】この(R,G,B)表示から(C,M,Y)表示への色変換は変換式によって一義的に定まるものではなく、それぞれの階調を座標とする色空間について相互に対応関係を求めておき、この対応関係から逐次変換するのが通常である。ここにおいて、少なくとも変換元の(R,G,B)表示が各色について256階調であったとすれば、約1670万個(256×256×256)の要素のテーブルを持たなければならない。
【0005】効率的な記憶資源の利用を考えた結果、すべての座標値についての対応関係を用意しておくのではなく、適当なとびとびの格子点について対応関係を用意しておき、補間演算を併用するようにしている。すなわち、(R,G,B)表色空間の中でのある座標の色について(C,M,Y)表色空間の対応関係を求めるときには同座標を取り囲む格子点の対応関係を利用し、線形補間などの演算を経て同座標の対応関係を求めている。
【0006】図28(a)〜(c)は、このような線形補間の一例である八点補間の概念を示している。変換元の表色空間を単位立方の格子状に分割し、格子点での変換先の対応値は別途求めてある。立方体のk番目の頂点Pkでの変換値をXk=[ck,mk,yk]とするとともに立方体の体積をVとすると、立方体の内点Pでの対応値はP点で分割される図示のような八つの小直方体の体積Vkの比率による加重から次式で補間できる。
【0007】
【数1】
【0008】この八点補間の基本式は、八回の乗算と七回の加算が必要となるため、ハードウェア化する場合でもソフトウェアで実行する場合でも資源および時間の負担が大きい。このため、さらに簡単な補間として、図29R>9(a)〜(e)に示すように、単位立方体をさらに複数の単位四面体に分割し、まず内点Pがどの単位四面体に属するかを判定した上で四つの格子点からの補間を行う四点補間方式も知られている。この場合、内点Pが属する単位四面体は内点Pによりさらに四つの小四面体に分けられ、それぞれの小四面体の体積比率により四つの頂点での変換値を加重することになる。
【0009】いま、内点Pにおける座標値Dを[Dr,Dg,Db]とするとき変換値Xp=[cp,mp,yp]は次式で表される。
【0010】
【数2】
【0011】ωk=Δk/Δ;Δk=小四面体kの体積、Δ;単位四面体の体積式(2)は、式(1)と同様に格子点のみの出力値Xkから内点Pに対する出力値Pをリニアに補間するものであるが、一色あたり四回の乗算と三回の加算で済むため八点補間に比べて回路構成が簡単かつ高速化できる利点がある。
【0012】そして、このような補間演算は変換元の座標がどの位置であったとしても一義的に実行されるものであった。
【0013】
【発明が解決しようとする課題】ところで、変換元の座標が格子点と一致する場合など、ある条件を満たすときには上述した補間演算はより簡易になりうる。
【0014】しかしながら、上述した従来の色変換装置においては、補間演算は変換元の座標がどのような位置であるものだとしても必ず行われている。その理由は、もともと記憶資源の貧弱さから格子点を多く持つこと自体が不可能であるため、所定の条件を満たす確率が極めて低く、毎回、条件を満たすか否かの判断をしている方が無駄なことが多いという背景があった。
【0015】本発明は、上記課題にかんがみてなされたもので、余裕を持って記憶資源を利用できる今日において最も効率的な補間演算を行なうことが可能な色変換装置、カラー印刷装置、カラー画像データ出力装置、記録媒体の提供を目的とする。
【0016】
【課題を解決するための手段】上記目的を達成するため、請求項1にかかる発明は、異なる表色空間の間で階調表色データを変換するにあたり、変換元の表色空間での格子点に変換先の表色空間での階調表色データを対応させたテーブルを備えるとともに、変換元の座標位置を取り囲む格子点での表色データに補間演算を施して同座標位置の表色データを求める色変換装置であって、変換元の表色空間において座標位置の各成分値が少なくとも一の座標軸に関して格子座標上に存在する場合に当該座標軸に関して補間演算をしないようにする構成としてある。
【0017】また、請求項2にかかる発明は、異なる表色空間の間で階調表色データを変換するにあたり、変換元の表色空間での格子点に変換先の表色空間での階調表色データを対応させたテーブルを備えるとともに、変換元の座標位置を取り囲む格子点での表色データに補間演算を施して同座標位置の表色データを求める色変換装置であって、変換元の表色空間において座標位置の各成分値が座標軸ごとにその格子座標上に存在するか否かに応じて補間演算式を切り換えて演算する構成としてある。
【0018】さらに、請求項3にかかる発明は、異なる表色空間の間で階調表色データを変換するにあたり、変換元の表色空間での格子点に変換先の表色空間での階調表色データを対応させたテーブルを備えるとともに、変換元の座標位置を取り囲む格子点での表色データに補間演算を施して同座標位置の表色データを求める色変換装置であって、座標位置が、いずれの座標軸に関しても格子座標に一致する格子点位置と、二つの座標軸に関して格子座標に一致する格子辺上と、一つの座標軸に関して格子座標に一致する格子面上と、それ以外の位置との各場合に応じて補間演算式を切り換えて演算する構成としてある。
【0019】これら請求項1〜3の構成にかかる発明について、R,G,Bの三つの座標軸を有する(R,G,B)表色空間から(C,M,Y)表色空間へ変換する例を参照しつつ説明する。例えば、R,G,Bの座標軸上で{0,51,102,153,204,255}が格子座標であるとする。この場合、簡単な例でいえば(51,51,51)というように格子点上の座標については補間演算を行う必要がない。また、いずれか一つの座標値が格子座標上に無い場合、例えば、(25,0,0)という座標であったら、R軸の座標軸上に存在するので、当該R軸上の両側の格子点(0,0,0)および(51,0,0)から補間演算を行えばよい。さらに、いずれか二つの座標値は格子座標上に無いものの残りの一つの座標値は格子座標上にある場合、例えば、(0,25,25)という座標であったらG軸とB軸の二次元平面内に存在しているので、その周囲の四つの格子点(0,0,0),(0,51,0),(0,0,51),(0,51,51)から補間演算を行えばよい。
【0020】すなわち、これらは変換元の表色空間において座標位置の各成分値が少なくとも一の座標軸に関して格子座標上に存在する場合であり、さらに体系的に分類すれば、いずれの座標軸に関しても格子座標に一致する格子点位置と、二つの座標軸に関して格子座標に一致する格子辺上と、一つの座標軸に関して格子座標に一致する格子面上に存在する場合という三つの場合となる。
【0021】それぞれに共通にいえるのは、ある座標軸において格子座標上にある場合にはその座標軸に関して補間演算が行われないことである。従って、三つの座標軸がある場合に、いずれの座標軸に関しても格子座標上にないならば周囲の格子点からなる立方体内での補間演算式を利用するし、一つの座標軸で格子座標上にあるならば同座標軸に関しては補間演算を行わないで二つの座標軸に関する平面内での補間演算式を利用するし、二つの座標軸で格子座標上にあるならば二つの座標軸に関しては補間演算を行わないで二つの座標軸に関する線上での補間演算式を利用するし、三つの座標軸で格子座標上にあるならばいずれの座標軸に関しても補間演算を行なうことなく終了する。
【0022】このような状況の中で補間演算を具体的にどのように実行するかは補間演算方法に応じて極めて多様である。すなわち、各座標軸ごとに補間演算を行うような演算式であれば、各座標値ごとに格子座標上にあるか否かを判断し、格子座標上にあるならば補間演算しないといった対処になる。しかし、各座標軸について判断した結果が補間演算式に反映していくようなものであれば、順番に判断しながら補間演算式を切り替えていくことになる。また、それぞれの場合に応じた補間演算式を用意しておき、最初にどのような場合に属しているのかを判断して補間演算式を切り替えるというものであっても構わない。むろん、これら以外であっても可能な場合もある。すなわち、補間演算式によって具体的な対処は変わるものの、要は変換元の表色空間において座標位置の各成分値が少なくとも一の座標軸に関して格子座標上に存在する場合に当該座標軸に関して補間演算をしないという点で共通している。
【0023】なお、どの場合に該当するかについての判断の一例として、請求項4にかかる発明は、請求項1〜請求項3に記載の色変換装置において、各座標軸の格子座標のデータ群の中で、変換元の座標位置の各成分値が一致する個数によって場合分けする構成としてある。
【0024】すなわち、格子座標のデータ群を用意しておき、座標位置の各成分値がいくつ一致するか否かを判断し、一致した数を積算する。例えば、(25,51,102)などの座標値の各成分値について格子座標データ群{0,51,102,153,204,255}の中でいくつ一致するかを判断する。この(25,51,102)という座標であれば、R軸の座標値「25」については一致するものが無く、G軸の座標値「51」については一致するものがあり、B軸の座標値「102」についても一致するものがあるので、合計として一致するのは二つとなる。二つ一致した場合には格子辺上に存在し、線上での補間を行えばよいと判断する。また、一つ一致した場合には格子面上に存在し、平面内での補間を行えばよいと判断するし、三つ一致した場合には格子点上に存在して補間演算を行わないと判断し、一つも一致しなければ通常の立方体内での補間演算を行うと判断する。
【0025】このように座標値があるデータ群の中で一致するものがあるか否かを判断するにあたり、請求項5にかかる発明は、請求項4に記載の色変換装置において、座標値の成分値がn進数データ(nは整数)で示されるときに、格子座標のデータ群がnのべき乗の整数倍位置にあるときに所定桁数以下の桁値の有無に基づいて座標軸上で格子座標に一致するか否かを判断する構成としてある。
【0026】そして、そのさらなる具体例として、請求項6にかかる発明は、請求項5に記載の色変換装置において、n=2であり、ビットシフト演算で所定ビット以下の桁値の有無を判断する構成としてある。
【0027】n=2の二進数の例は、コンピュータ内部でのデータ保持がこの二進数で行われていることを利用するものであり、格子座標のデータ群が16(=2の4乗)の整数倍の{0,16,32,48,64・・・}となっているとすれば、8ビット表示として下位4ビットは常に「0」である。従って、一例として4ビットを左シフトしていったときに8ビットがすべて「0」となれば、減算などの演算を行うことなくデータ群の中に一致したものがあったか否かを判断できる。コンピュータ内部でのかかるビットシフト演算は極めて短時間で行うことができる。このような考え方を普遍化したのが請求項5の場合であり、n進数データ(nは整数)を前提としたときに、格子座標のデータ群としてnのべき乗の整数倍位置としておき、所定桁数以下の桁値の有無に基づいて格子座標に一致するか否かを判断できる。例えば、10進数データにおいて格子座標が10の2乗の100の整数倍{0,100,200・・・}とすると、下二桁の桁値の有無が格子座標に一致するか否かに対応することになる。
【0028】このようにして座標位置の各成分値が格子座標のデータ群に一致する場合に補間演算を簡略化できるようになるには、格子座標のデータ群を増加させることが可能となった背景があり、さらにその恩恵を受けるべく、請求項7にかかる発明は、請求項1〜請求項6に記載の色変換装置において、上記テーブルが、補間演算によって格子点を増加して生成せしめた構成としてある。
【0029】予めテーブルの格子点を補間演算にて増加させておくことにより、座標位置の各成分値が格子座標のデータ群に一致する確率は飛躍的に向上する。なぜならば、三次元を例にとっても各軸方向についての格子座標が二倍の密度になれば格子点の数は2×2×2=8倍となり、ヒット率が格段に増加する。また、逆に言えばヒット率を2倍にするには2の三乗根だけ格子座標を増やせばよいことになり、少しだけ格子座標を増加させるだけでよいことが分かる。
【0030】さて、このような色変換装置はある機器に組み込まれた状態で利用されるのはむろんのことであるが、発明の思想としてはこれに限らず、各種の態様を含むものである。
【0031】例えば、色変換装置がどの段階、すなわちどのような機器において利用されるのかも不問である。その一例として、請求項8にかかる発明は、印刷インクに対応した表色空間に対して異なる表色空間の階調表色データを変換するにあたり、変換元の表色空間での格子点に変換先の表色空間での階調表色データを対応させたテーブルを備えるとともに、変換元の座標位置を取り囲む格子点での表色データに補間演算を施して同座標位置の表色データを求めるとともに同求められた表色データに基づいて印刷を行うカラー印刷装置であって、変換元の表色空間において座標位置の各成分値が少なくとも一の座標軸に関して格子座標上に存在する場合に当該座標軸に関して補間演算をしないようにする構成としてある。
【0032】すなわち、印刷装置という具体的な装置内に存在する場合である。
【0033】また、請求項9にかかる発明は、撮像素子に応じた表色空間の階調表色データを異なる表色空間の階調表色データに変換するにあたり、変換元の表色空間での格子点に変換先の表色空間での階調表色データを対応させたテーブルを備えるとともに、変換元の座標位置を取り囲む格子点での表色データに補間演算を施して同座標位置の表色データを求めるカラー画像データ出力装置であって、変換元の表色空間において座標位置の各成分値が少なくとも一の座標軸に関して格子座標上に存在する場合に当該座標軸に関して補間演算をしないようにする構成としてある。
【0034】カラー画像を撮像してカラー画像データを出力する装置には、具体例として、カラー画像スキャナ、カラースチルカメラなどがあり、これらの撮像機器において印刷装置などの具体的な出力装置に応じてカラー画像データの変換を行うような場合でも、上述したものと同様に実行できる。
【0035】また、発明の思想の具現化例として色変換ソフトウェアとなる場合もあり、このような場合にはかかるソフトウェアを記録した記録媒体上においても当然に存在し、利用されるといわざるをえない。むろん、その記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、さらには、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。その他、ソフトウェアである場合にはその供給方法が上述した記録媒体として提供されるのではなく、通信回線を利用して提供されるような場合でも本発明が利用されていることにはかわりない。
【0036】さらには、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものはなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。
【0037】
【発明の効果】以上説明したように本発明は、所定の座標位置では補間演算を簡略化することにより、格子点を増やせる状況下においては資源の効率化と演算の高速化とを実現することが可能な色変換装置を提供することができる。
【0038】また、請求項4にかかる発明によれば、補間演算を簡略化できる場合であるか否かを極めて容易に判断することができる。
【0039】さらに、請求項5にかかる発明によれば、所定の条件で格子座標を配置することによって補間演算を簡略化できるか否かをさらに容易に判断できるようになる。特に、請求項6にかかる発明によれば、コンピュータなどの二進法の演算機において用意されている極めて単純な演算で実行できる。
【0040】また、請求項7にかかる発明によれば、格子点の数を補間演算によって増加させておくことにより、格子点位置にヒットする確率を飛躍的に向上させることができ、演算の高速化を実現することが可能となる。
【0041】さらに、請求項8にかかる発明によれば、カラー印刷装置として具現化され、印刷インクなどの適性に依存する表色空間とは異なる表色空間の表色データを効率的に変換して印刷可能となる。
【0042】さらに、請求項9にかかる発明によれば、撮像素子を備えるカラー画像データ出力装置として具現化され、カラー画像データを出力する相手側の表色空間に応じた色変換を効率的に変換して出力することができる。
【0043】さらに、請求項10にかかる発明によれば、コンピュータ等上で実行されるプログラムを該コンピュータ等で読み取り可能に記録した記録媒体として具現化され、所定の座標位置では補間演算を簡略化することにより、格子点を増やせる状況下においては資源の効率化と演算の高速化とを実現することがコンピュータ上で可能になる。
【0044】
【発明の実施の形態】以下、図面にもとづいて本発明の実施形態を説明する。
【0045】図1は、本発明の一実施形態にかかる色変換装置を適用した画像処理システムをブロック図により示しており、図2は具体的ハードウェア構成例をブロック図により示している。
【0046】同図において、画像入力装置10はカラー画像を撮像するなどして階調表色データを画像処理装置20へ出力し、同画像処理装置20は所定の画像処理を行なって画像出力装置30に出力し、同画像出力装置30は元のカラー画像を表示する。
【0047】ここにおいて、画像入力装置10の具体例はスキャナ11やデジタルスチルカメラ12などが該当し、画像処理装置20の具体例はコンピュータ21とハードディスク22などからなるコンピュータシステムが該当し、画像出力装置30の具体例はプリンタ31やCRTディスプレイ32等が該当する。また、本発明をコンピュータ等に実施させるプログラムを記録可能な記録媒体は、ドライブ装置23によってコンピュータに読み込まれるCD−ROM24等の記録媒体が相当する。
【0048】画像入力装置10としてのスキャナ11が階調表色データとして例えばRGB(赤、緑、青)の階調データを出力するものとするとともに、画像出力装置30としてのプリンタ31は階調表色データとしてCMY(シアン、マゼンダ、イエロー)の二値データを入力として必要とするものとすると、画像処理装置20としてのこのコンピュータ21の具体的役割は、RGBの階調データをCMYの二値データに変換することである。また、ディスプレイ32がRGBの階調データを入力するものとしても、スキャナ11とディスプレイ32では色特性が異なるのが通常であり、コンピュータ21はRGBの階調データをRGBの階調データに変換する処理を行なうことになる。デジタルスチルカメラ12についてもほぼ同様のことがいえる。
【0049】以下に、具体的処理としてRGBの階調データをCMYの二値データに変換する処理を前提として説明する。このような場合、コンピュータ21が行なう処理は、図3に示すように、RGB階調データをCMY階調データに変換する色変換処理と、CMY階調データをCMY二値データに変換する階調変換処理であり、それぞれを行なう部分を機能的に色変換部21aと階調変換部21bと呼ぶ。これらは、ハードウェアのみで構成することも可能であるものの、本実施形態においてはソフトウェアとしてハードディスク22に記憶され、実行時に適宜RAM上にロードしてCPUが演算処理にて実行している。
【0050】また、ソフトウェアの一部として、ハードディスク22にはRGB階調データをCMY階調データに変換するための三次元ルックアップテーブル(以下、単にテーブルと呼ぶ)が記憶されている。本実施形態においては、RGB階調データとCMY階調データとがともに256(0〜255)階調であるものの、上述したように記憶資源と演算速度の調和からテーブルは格子点として25×25×25などのとびとびの値となっている。ただし、理解の便宜上、以下においては9×9×9の格子点を備えたものとして説明する。むろん、これらの格子点の取り方は本発明に対して本質的な影響を与えるものではなく、具体例にすぎない。
【0051】すなわち、スキャナ11のRGB階調データをプリンタ31のCMY階調データに変換するにあたり、テーブルとしては格子点に対応データを備えつつ、格子点の間のデータについては以下のように補間演算で求めるようにしているため、この色変換部21aこそが本発明の色変換装置を構成している。
【0052】むろん、本発明の色変換装置はこのようなスキャナ11やプリンタ31にコンピュータ21を含めたシステムである必要はない。例えば、図4には画像入力装置10であるデジタルカメラ110に、画像出力装置30であるプリンタ120やテレビジョン130を直に接続するような場合にも適用できる。この場合、デジタルカメラ110には、図5に示すように、撮像素子としてのCCD素子を備えた撮像部111と、同撮像部111にて撮像した画像をRGB階調データで保存するメモリ112と、このRGB階調データをCMY階調データに変換する色変換部113と、プリンタ120用に二値に階調変換する階調変換部114とを備えている。すなわち、デジタルカメラ110内に本発明の適用例である色変換部113を備えることになる。なお、プリンタ120の側にはCMY二値データを受信するためのプリンタバッファ121を備えておく。また、テレビジョン130を接続する場合には、図6に示すように、RGB階調データをCMY階調データに変換する色変換部113に代えてテレビジョンのRGB特性に合わせたR’G’B’階調データに変換する色変換部115を備えるとともに、テレビジョンで受信するためのR/Fコンバータ116を備えるようにしている。
【0053】一方、図7及び図8は本発明の色変換装置を画像出力装置30であるプリンタ140内に備えた例を示している。この例では、プリンタ140にL*A*B*などの標準系の階調表色データを受信するバッファメモリ141を備えておき、この階調表色データを印刷インクに応じたCMY階調データに変換する色変換部142と、二値データに変換する階調変換部143と、CMY二値データに基づいて印字させるための印字ヘッドバッファ144とを備えた構成としてある。このようにすれば、標準系の階調表色データをパソコン150や、デジタルスチルカメラ160や、モデム170などから受信して印刷できる。
【0054】なお、パソコン150を接続する場合など、プリンタ140内に上述した全ての構成をハードウェアとして備えている必要はなく、色変換部142や階調変換部143をプリンタドライバとしてソフトウェアの形態で存在するようにしても良い。
【0055】これらのように、本発明の色変換装置は、各種の形態として実現可能である。
【0056】図1〜図3の例に戻ると、図9には格子点と階調との対応関係を示しており、テーブルを参照するにあたって便利をよくするため、本来の階調データが「0」〜「255」であるのに対し、格子点は32刻みで「0」〜「8」と番号を付してあり、格子点間を特定するにあたって区間番号として「1」〜「8」の番号を付している。
【0057】この補間演算については、図10以下に説明している。
【0058】図10には、変換しようとするRGB階調データ(Rx,Gx,Bx)と、それを取り囲む格子点D1(c1,m1,y1)〜D8(c8,m8,y8)を示している。このような八つの格子点からなる立方体内で加重累計して補間演算を行う方法については従来と同様である。しかしながら、図11にはRGB階調データ(Rx,Gx,Bx)がこの立方体の表面上にある場合を示しており、図12には辺上にある場合を示しており、さらに、図13には格子点にある場合を示している。
【0059】八点補間がいわゆる変換元の座標値で立方体を直方体に細分したときに、対角関係にある格子点Dkと直方体の体積率Vk/Vを乗算して積算しているのに対し、このような面上、辺上にあるときには、明らかに体積計算をすることなく線形補間が可能である。また、格子点上にあれば補間演算が不要なことはいうまでもない。
【0060】従って、補間演算については、以下のようにまとめることができる。
【0061】<立方体内:八点補間の体積率加重>
【0062】
【数3】
【0063】Vk:P点で分割される小直方体のうち格子点Dkと対角位置のものの体積V:八格子点で囲まれる立方体の面積<面上:四点補間の面積率加重>
【0064】
【数4】
【0065】Sk:P点で分割される矩形エリアのうち格子点Dkと対角位置のものの面積S:四格子点で囲まれる格子面の面積<辺上:二点補間の離間率加重>
【0066】
【数5】
【0067】Lk:P点で分割される区間のうち格子点Dkと反対側の距離L:二格子点間の距離<格子点:補間演算なし>かかる分類に基づく補間演算の手順は図14のフローチャートに示すようになっている。概略的な流れは、まず、変換元の座標位置の各成分値が格子座標のデータ群の中でいくつ一致しているか否かを判断し、一致している数に応じて各補間演算を実行するサブルーチンへと処理を分岐している。
【0068】具体的には、ステップS110にて準備のための初期設定を行い、この中では各軸に対応して用意されているフラグfr,fg,fbをリセットする。そして、続くステップS120にて各成分値が各軸毎に格子座標のデータ群{0,32,64,96,128,160,192,224,255}のいずれかと一致するか否かを判断する。各軸毎に一致すればフラグfr,fg,fbに「1」をセットし、判断が終わったら「1」になっているフラグfr,fg,fbの数を積算する。格子座標に一致するか否かの判断は、格子座標のデータ群の中で一つずつ判断していっても良いが、格子座標の取り方によっては簡易に判断することができる。本実施形態においては、格子座標は(2の5乗)の整数倍としている。
【0069】従って、座標値を8ビットで符号無しで表すとすれば、図15に示すように表される。この場合、右から第1ビット〜第5ビットが(2の5乗)で除算したときの余りに対応するから、これらが「0」であれば格子座標のデータ群に一致するか否かを判断できる。従って、図16に示すように、3ビットの左シフトの命令を施せば上位3ビットがクリアされてしまうとともに下位から「0」を立てていくことになり、その結果が「0」であれば、元のデータは(2の5乗)の整数倍であったことが分かる。左シフト命令の結果が「0」でなければ、(2の5乗)で除算したときに余りが生じていたはずであり、格子座標のデータ群に一致するものが無かったといえる。
【0070】図15に示すように、10進数で「100」の場合は3ビットの左シフト命令によって、図16に示すように「32」となり、「0」ではないので格子座標のデータ群に一致しないことが分かる。一方、図17R>7に示すように、10進数で「96」の場合は3ビットの左シフト命令によって、図18に示すように「0」となり、格子座標のデータ群に一致することが分かる。
【0071】これを整理すると、2進数の場合に格子座標として2の5乗の整数倍としていることにより、5桁以下の桁値の有無だけを判断して格子座標に一致するか否かを判断できたことになる。むろん、かかる判断手法は、2進数の場合に限らず、n進数の場合にも汎用的に利用できる。すなわち、格子座標がnのべき乗の整数倍になっているとすれば、同べき乗の桁数以下の桁値の有無によって格子座標のデータ群に一致するか否かを判断できる。ただし、2進数のデータを扱うコンピュータのようなものにおいては、ビットのシフト命令が用意されているので、これを利用して極めて容易に判断を実行できる。
【0072】なお、本実施形態においては、「32」の整数倍でない「255」も格子座標としているので、最初に「255」と一致するか否かを判断し、一致しない場合に上述した手法で判断する。
【0073】次に、具体的な補間演算について説明する。
【0074】ステップS120にて格子座標のデータ群との一致数をチェックした結果、「0」個であったとすると、ステップS130のチェックを経てステップS131の八点補間(体積率加重)のサブルーチンを実行する。
【0075】同サブルーチンの具体的内容を図19のステップS210〜S240に示している。
【0076】まず、RGB階調データ(Rx,Gx,Bx)の座標位置Pがどの格子区間に属しているかを算出し(ステップS210)、次いで周囲の八つの格子点についてのテーブルを読み出し(ステップS220)、座標位置Pにて細分される八つの直方体の体積率を計算し(ステップS230)、最後に各色ごとに体積率を乗算しつつ積算する(ステップS240)。
【0077】実際の計算を具体例を参照して説明する。いま、RGB階調データ(100,70,30)なるデータがあるとする。ステップS210にて属する格子区間を求める場合、図9を参照すれば格子区間(4,3,1)なる区間であることが分かる。むろん、各軸の座標値を「32」で除算した結果に「1」を加えた結果であるが、この場合においても、格子座標を2の5乗の整数倍としていることによって計算が極めて簡単となっている。
【0078】R軸の座標値である「100」を符号無しの8ビットで表すと図15に示すようになる。この場合、格子座標である2の5乗で除算するということは、簡単に5ビットの右シフト命令を実行することに他ならない。従って、この命令を実行すると図20に示すように「3」となるので、「1」を加えて格子区間は「4」ということになる。同様に演算すると、G軸の座標値である「70」の格子区間は「3」、B軸の座標値である「30」の格子区間は「1」となる。
【0079】次に、格子区間(4,3,1)における八つの格子点を求めるが、図9を参照すれば、D1(4,3,1)、D2(4,3,0)、D3(4,2,0)、D4(4,2,1)、D5(3,3,1)、D6(3,3,0)、D7(3,2,0)、D8(3,2,1)という合計八つの格子点についてテーブルを参照することになる。
【0080】この後、体積率(Vk/V)を計算するが、Vは基本的に一定値(32×32×32)であり、Vkについて演算する。k=1の例をとれば、Vk=(100−96)×(70−64)×(30−0)=4×6×30=720となる。同様にしてk=2〜8について演算する。これまでの説明は格子点を9×9×9の配置にしているので離間距離は「32」となっているが、現実にはこの格子点の離間距離はもっと小さい値とすることができる。従って、現実に体積計算するよりも体積率についてのテーブルを作成しておき、同テーブルを参照することによって演算を行わないようにしてもよい。体積率を求めたら、八格子点についてのCMY各色の成分について加重積算を行う。
【0081】この場合、少なくとも加重積算において八つの格子点における面積率とテーブルの読み出し値との乗算を行い、最後に加算する演算が必要となる。
【0082】一方、ステップS120にて格子座標のデータ群との一致数をチェックした結果、「1」個であったとすると、ステップS130及びステップS140のチェックを経てステップS141の四点補間(面積率加重)のサブルーチンを実行する。
【0083】同サブルーチンの具体的内容を図21のステップS310〜S350に示している。
【0084】まず、RGB階調データ(Rx,Gx,Bx)の座標位置Pがどの格子面に属しているかを特定し(ステップS310)、次いで周囲の四つの格子点についてテーブルを読み出し(ステップS320)、三つの座標値のうち面積率の計算に利用する座標値を特定し(ステップS330)、座標位置Pにて格子面を四分した各矩形面積率を計算し(ステップS340)、最後に各色ごとに面積率を乗算しつつ積算する(ステップS350)。
【0085】この場合も、実際の計算を具体例を参照して説明する。いま、RGB階調データ(100,96,30)なるデータがあるとする。ステップS310にて属する格子面を求めるにあたり、各フラグfr,fg,fbを参照する。フラグfgが「1」になっているので、G軸において格子座標に一致し、RB面であることが分かるとともに、上述したのと同様の右シフト命令によって格子区間はR軸で「4」、B軸で「1」であることが分かる。
【0086】次に、ステップS320にてこの格子区間における四つの格子点を求めるが、G軸について格子番号を「2」に固定し、D1(4,2,1)、D2(4,2,0)、D3(3,2,0)、D4(3,2,1)という合計四つの格子点についてテーブルを参照することになる。格子面の場合は、RB面、RG面、GB面のそれぞれに計算式を用意しておいても良いものの、k=1〜4として変化させる場合の相対位置を特定することにより、固定的な一式を利用して四点から補間演算することができるようになる。
【0087】従って、面積率を計算する前に、ステップS330にて同面積率の計算に必要な座標として「100」と「30」を特定し、続くステップS340にてk=1〜4と変化させたときの面積Skを求める。この場合であれば、k=1としたときにSk=(100−96)×(30−0)=4×30=120となる。むろん、面積SについてはS=32×32である。そして、この場合も、面積率について毎回演算するのではなく、面積率についてのテーブルを用意しておいて参照するようにしても良い。面積率を求めたら、ステップS350にて四格子点についてのCMY各色の成分について加重積算を行う。
【0088】この場合、少なくとも加重積算において四つの格子点における面積率とテーブルの読み出し値との乗算を行い、最後に加算する演算が必要となり、八格子点の場合に比べて乗算回数と加算回数が減少している。
【0089】さらに、ステップS120にて格子座標のデータ群との一致数をチェックした結果、「2」個であったとすると、ステップS130、ステップS140およびステップS150のチェックを経てステップS151の二点補間(離間率加重)のサブルーチンを実行する。
【0090】同サブルーチンの具体的内容を図22のステップS410〜S450に示している。
【0091】まず、RGB階調データ(Rx,Gx,Bx)の座標位置Pがどの格子辺に属しているかを特定し(ステップS410)、次いで両端の二つの格子点についてテーブルを読み出し(ステップS420)、三つの座標値のうち離間率の計算に利用する座標値を特定し(ステップS430)、座標位置Pにて二分したときの格子点からの離間率を計算し(ステップS440)、最後に各色ごとに離間率を乗算しつつ積算する(ステップS450)。
【0092】この場合も、実際の計算を具体例を参照して説明する。いま、RGB階調データ(100,96,32)なるデータがあるとする。ステップS410にて属する格子辺を求めるにあたり、各フラグfr,fg,fbを参照すれば、フラグfg,fbが「1」になっているので、G軸とB軸において格子座標に一致し、R軸方向の格子辺であることが分かるとともに、上述したのと同様の右シフト命令によって格子区間はR軸で「4」であることが分かる。
【0093】次に、ステップS420にてこの格子区間における両端の格子点を求めるが、G軸について格子番号を「2」に固定するとともにB軸について格子番号を「1」に固定し、D1(4,2,1)、D2(3,2,1)という二つの格子点についてテーブルを参照することになる。格子辺の場合も格子面の場合と同様に、R軸方向、G軸方向、B軸方向のそれぞれに計算式を用意しておいても良いものの、k=1〜2として変化させる場合の相対位置を特定することにより、固定的な一式を利用して二点から補間演算することができるようになる。
【0094】従って、離間率を計算する前に、ステップS430にて同離間率の計算に必要な座標として「100」を特定し、続くステップS440にてk=1〜2と変化させたときの距離Lkを求める。この場合であれば、k=1としたときにLk=100−96=4となり、k=2としたときにLk=128−100=28となる。むろん、距離LについてはL=32である。そして、この場合も、離間率について毎回演算するのではなく、離間率についてのテーブルを用意しておいて参照するようにしても良い。離間率を求めたら、ステップS450にて両端の格子点についてのCMY各色の成分について加重積算を行う。
【0095】この場合、少なくとも加重積算において二つの格子点における離間率とテーブルの読み出し値との乗算を行い、最後に加算する演算が必要となり、四格子点及び八格子点の場合に比べて乗算回数と加算回数が減少している。
【0096】最後に、ステップS120にて格子座標のデータ群との一致数をチェックした結果が、「3」個であった場合について説明する。この場合、ステップS130、ステップS140およびステップS150のチェックを経てステップS161を実行することになるが、この場合は補間演算をすることなくRGB階調データ(Rx,Gx,Bx)の格子点についてテーブルを読み出せばよい。従って、乗算回数や加算回数はゼロとなるので、演算量は激減したことになる。
【0097】以上説明したように、ステップS120にて格子座標のデータ群との一致数をチェックした結果に基づいて補間演算式を切り換えることにより、座標位置の成分値が格子座標上に存在する座標軸に関して補間演算をしないことになり、演算量を低減させることができるようになる。そして、この効果は記憶資源を多く確保できるようになった状況において格子点を増やすことができれば、より増加するので、記憶資源と演算速度との最も有効な調和点で色変換を実行することができるようになる。
【0098】本実施形態においては、基本的に線形補間を利用しているので、補間演算式を切り換えることによって実質的に所定の座標軸に関して補間演算をしないことになっているが、その他の補間式を採用する場合においては座標軸毎の補間演算という概念が発生し、格子座標に一致する座標軸に関して直接的に補間演算を実行しないようにすることも可能である。すなわち、補間演算の方法によっては、所定の座標軸に関して補間演算を実行しないという意味が変化するのは当然のことである。むろん、線形補間においても各種の補間演算が可能であり、必ずしも本実施形態において説明した補間演算に限られるものではないことはいうまでもない。
【0099】これまでは予め用意されたテーブルを利用して変換元の座標値が格子点上などの特定位置に存在しているか否かを判断していたが、予め格子点を増やしておけばよりこの確率は向上する。
【0100】図23には格子点を増加する前の格子点位置を白丸で示すとともに、格子点を増加した後の格子点位置を黒丸で示しており、演算の簡易のため、格子間隔を半分にする位置に新たな格子点を設けている。従って、図に示す当初の格子番号は括弧書きのような丁度二倍の格子番号となる。なお、当初の格子点の数を仮に「i」として説明する。
【0101】格子点を補間するタイミングとして、予め、全ての格子点を補間して生成しておくことが可能である。図24はこの先行補間の処理を実行するCPUの手順をフローチャートにより示しており、図25はデータのフォーマットを示しており、図26は補間される格子点を示しており、図27は補間演算の状況を示している。
【0102】まず、テーブルデータのファイルを説明する。各格子点に対応するCMYの成分値は「0」〜「255」の256階調であるので、これを1バイトのデータで表し、一つの格子点について3バイトの連続するデータ領域を確保する。そして、R軸、G軸、B軸のそれぞれの格子座標を(r,g,b)としたとき、ファイルの先頭から((r×i×i+g×i+b)×3)バイト目からこの連続する3バイトが始まるようになっている。すなわち、格子点(r,g,b)のシアンのデータはファイルの先頭から(((r×i×i+g×i+b)×3)+1)バイト目であり、マゼンダは(((r×i×i+g×i+b)×3)+2)バイト目であり、イエローは(((r×i×i+g×i+b)×3)+3)バイト目となる。なお、図面上ではCMYの各データについても一義に読み出せる配列として取り扱えるように(R,G,B,(C=0 M=1 Y=2))の四次元テーブルとして表示している。
【0103】かかる格子点を備えたテーブルにおいて、格子点間を半分とする格子点を各軸に形成するものとする。従って、補間前の格子点の格子座標は図23の括弧書きに示すように自動的に(0,2,4,6,8…)となり、その間を補間することになる。
【0104】図25に示すフローチャートに戻ると、まず、CPUはステップS510にて既にテーブル内にある格子点データを新たなテーブルの所定位置に移行する処理を行う。例えば、図25に示すように、格子座標(0,0,0)の対応データは新たなテーブルの格子座標(0,0,0)の対応データとして、格子座標(0,0,1)の対応データは新たなテーブルの格子座標(0,0,2)の対応データとして、格子座標(0,0,2)の対応データは新たなテーブルの格子座標(0,0,4)の対応データとしてというようにして移行していく。
【0105】格子点を補間する補間演算は線形補間や非線形補間など各種の手法が利用可能であるが、線形補間の演算が容易である。線形補間で行なう場合、これまでにも説明したように、八つの格子点からなる格子立方体内の位置によって演算が異なる。すなわち、辺上に存在する格子点の場合は両側の二点の格子点から補間されるし、面上に存在する格子点の場合は周辺の四つの格子点から補間されるし、中心に存在するものの場合は八つの格子点から補間される。これは、これまで述べたような座標位置に応じた補間演算と全く同じである。
【0106】格子点を増加する順序として、まず、ステップS520では格子辺上で格子点を生成する処理を実行する。CPUの演算処理では各軸毎にパラメータを与えてネストしたループで処理を行うため、便宜上、図中においてもブロックを入れ子状に表示している。
【0107】パラメータは各軸ともに「0」、「2」、「4」、「6」、「8」…と与え、R軸方向についていえば格子座標(1,0,0)の対応データを格子座標(0,0,0),(2,0,0)のデータから生成する。即ち、図27に示すように、格子座標(0,0,0)の対応データX1と格子座標(2,0,0)の対応データX2とを足し、その結果X3を「2」で割ったものがX4となる。ここにおいて「2」の除算は二進数データにおいて1ビットの右シフトに対応し、極めて容易に実行できる。むろん、最初に1ビットの右シフトを実行しておいてから足しても良く、この場合は演算過程でのオーバーフローを防止できる。以下、このパラメータの全組合せから格子辺上の格子点を生成する。
【0108】ステップS530では格子面上で格子点を生成する処理を実行する。この場合もネストしたループで処理を行うため、各軸のパラメータとして「0」、「2」、「4」、「6」、「8」と与え、RG面と平行な面についていえば格子座標(1,1,0)の対応データを格子座標(0,0,0),(0,2,0),(2,0,0),(2,2,0)のデータから生成する。この場合は四つの格子点の平均値を取ることになり、四つのデータを足してから「4」で割ればよい。なお、「4」の除算は二進数データにおいて2ビットの右シフトに対応し、極めて容易に実行でき、以下、このパラメータの全組合せから格子面上の格子点は生成される。
【0109】最後に、ステップS540では中心点の格子点を生成する処理を実行する。この場合は、各軸のパラメータとして「1」、「3」、「5」、「7」…と与え、格子座標(1,1,1)の対応データは周縁の八つの格子座標(0,0,0),(0,0,2),(0,2,0),(0,2,2),(2,0,0),(2,0,2),(2,2,0),(2,2,2)の対応データから生成する。この場合は八つの格子点の平均値を取ることになり、オーバーフローしないように3ビットの右シフトを実行してから足し合わせればよい。以下、このパラメータの全組合せから全中心点の格子点が生成される。
【0110】以上の処理を行うことによって格子点の補間が終了し、格子点の数は概ね「2」の三乗倍となっている。従って、この後で上述した座標値の変換を行えば格子点にヒットする確率も「2」の三乗倍に向上させることができる。本実施形態においては格子間隔を半分にするように格子点を増加させているが、この例に限らず、必要に応じて適宜増減可能であり、記憶資源の許容範囲内で格子点を増加させればよい。
【0111】なお、これまでの説明において階調変換の具体的手法については敢えて説明していないが、誤差拡散法や、ディザ利用などによる周知の手法を適用すればよく、例えば、本願出願人による特公平7−30772号公報にも説明されている。
【0112】このように、スキャナ11などで利用されるRGBの表色空間での階調表色データをプリンタ31などで利用されるCMYの表色空間での階調表色データに変換するため、変換元のRGBの表色空間での格子点に変換先のCMYの表色空間での階調表色データを記憶したテーブルを用意しておき、同テーブルを参照しつつ補間演算をするにあたり、RGBの座標位置の成分値が格子座標上に存在する場合には当該座標軸に関して補間演算を実行しないようにしたため、演算量を低減させ、ひいては実効速度の改善を図ることができるようになる。
【図面の簡単な説明】
【図1】本発明の一実施形態にかかる色変換装置を適用した画像処理システムのブロック図である。
【図2】同画像処理システムの具体的ハードウェア構成例のブロック図である。
【図3】コンピュータの機能的な構成を示す説明図である。
【図4】本発明の色変換装置の他の適用例を示す概略図である。
【図5】プリンタを接続する場合の同適用例におけるブロック図である。
【図6】テレビジョンを接続する場合の同適用例におけるブロック図である。
【図7】本発明の色変換装置のさらなる他の適用例を示すブロック図である。
【図8】同適用例における機器構成を示す概略図である。
【図9】RGBの表色空間での階調と格子区間などとの対応関係を示す説明図である。
【図10】八点補間における模式図である。
【図11】四点補間における模式図である。
【図12】二点補間における模式図である。
【図13】補間演算をしない場合の模式図である。
【図14】補間演算を実行するためのメインのフローチャートである。
【図15】ビットシフト命令を説明するための「100」の値の記憶状況を示す図である。
【図16】3ビットの左シフト命令を実行したときのデータの記憶状況を示す図である。
【図17】ビットシフト命令を説明するための「96」の値の記憶状況を示す図である。
【図18】3ビットの左シフト命令を実行したときのデータの記憶状況を示す図である。
【図19】八点補間演算を実行するためのフローチャートである。
【図20】5ビットの右シフト命令を説明するためのデータの記憶状況を示す図である。
【図21】四点補間演算を実行するためのフローチャートである。
【図22】二点補間演算を実行するためのフローチャートである。
【図23】格子点を増加する前後の格子座標を示す説明図である。
【図24】格子点増加処理に対応したフローチャートである。
【図25】テーブルのデータの配列を示す説明図である。
【図26】補間される格子点の位置を示す概略説明図である。
【図27】ビットシフトを併用した演算の状態を示す説明図である。
【図28】八点補間の概念を示すための説明図である。
【図29】八点補間を改良した四点補間の概念を示すための説明図である。
【符号の説明】
10…画像入力装置
11…スキャナ
12…デジタルスチルカメラ
20…画像処理装置
21…コンピュータ
21a…色変換部
21b…階調変換部
22…ハードディスク
23…ドライブ装置
24…CD−ROM
30…画像出力装置
31…プリンタ
32…CRTディスプレイ
110…デジタルカメラ
113…色変換部
115…色変換部
120…プリンタ
142…色変換部
【特許請求の範囲】
【請求項1】 異なる表色空間の間で階調表色データを変換するにあたり、変換元の表色空間での格子点に変換先の表色空間での階調表色データを対応させたテーブルを備えるとともに、変換元の座標位置を取り囲む格子点での表色データに補間演算を施して同座標位置の表色データを求める色変換装置であって、変換元の表色空間において座標位置の各成分値が少なくとも一の座標軸に関して格子座標上に存在する場合に当該座標軸に関して補間演算をしないようにすることを特徴とする色変換装置。
【請求項2】 異なる表色空間の間で階調表色データを変換するにあたり、変換元の表色空間での格子点に変換先の表色空間での階調表色データを対応させたテーブルを備えるとともに、変換元の座標位置を取り囲む格子点での表色データに補間演算を施して同座標位置の表色データを求める色変換装置であって、変換元の表色空間において座標位置の各成分値が座標軸ごとにその格子座標上に存在するか否かに応じて補間演算式を切り換えて演算することを特徴とする色変換装置。
【請求項3】 異なる表色空間の間で階調表色データを変換するにあたり、変換元の表色空間での格子点に変換先の表色空間での階調表色データを対応させたテーブルを備えるとともに、変換元の座標位置を取り囲む格子点での表色データに補間演算を施して同座標位置の表色データを求める色変換装置であって、座標位置が、いずれの座標軸に関しても格子座標に一致する格子点位置と、二つの座標軸に関して格子座標に一致する格子辺上と、一つの座標軸に関して格子座標に一致する格子面上と、それ以外の位置との各場合に応じて補間演算式を切り換えて演算することを特徴とする色変換装置。
【請求項4】 上記請求項1〜請求項3に記載の色変換装置において、各座標軸の格子座標のデータ群の中で、変換元の座標位置の各成分値が一致する個数によって場合分けすることを特徴とする色変換装置。
【請求項5】 上記請求項4に記載の色変換装置において、座標値の成分値がn進数データ(nは整数)で示されるときに、格子座標のデータ群がnのべき乗の整数倍位置にあるときに所定桁数以下の桁値の有無に基づいて座標軸上で格子座標に一致するか否かを判断することを特徴とする色変換装置。
【請求項6】 上記請求項5に記載の色変換装置において、n=2であり、ビットシフト演算で所定ビット以下の桁値の有無を判断することを特徴とする色変換装置。
【請求項7】 上記請求項1〜請求項6に記載の色変換装置において、上記テーブルが、補間演算によって格子点を増加して生成されたものであることを特徴とする色変換装置。
【請求項8】 印刷インクに対応した表色空間に対して異なる表色空間の階調表色データを変換するにあたり、変換元の表色空間での格子点に変換先の表色空間での階調表色データを対応させたテーブルを備えるとともに、変換元の座標位置を取り囲む格子点での表色データに補間演算を施して同座標位置の表色データを求めるとともに同求められた表色データに基づいて印刷を行うカラー印刷装置であって、変換元の表色空間において座標位置の各成分値が少なくとも一の座標軸に関して格子座標上に存在する場合に当該座標軸に関して補間演算をしないようにすることを特徴とするカラー印刷装置。
【請求項9】 撮像素子に応じた表色空間の階調表色データを異なる表色空間の階調表色データに変換するにあたり、変換元の表色空間での格子点に変換先の表色空間での階調表色データを対応させたテーブルを備えるとともに、変換元の座標位置を取り囲む格子点での表色データに補間演算を施して同座標位置の表色データを求めるカラー画像データ出力装置であって、変換元の表色空間において座標位置の各成分値が少なくとも一の座標軸に関して格子座標上に存在する場合に当該座標軸に関して補間演算をしないようにすることを特徴とするカラー画像データ出力装置。
【請求項10】 コンピュータ等上で実行されるプログラムを該コンピュータ等で読み取り可能に記録した記録媒体であって、異なる表色空間の間で階調表色データを変換するにあたり、変換元の表色空間での格子点に変換先の表色空間での階調表色データを対応させたテーブルを備え、変換元の座標位置を取り囲む格子点での表色データに補間演算を施して同座標位置の表色データを求める色変換機能、変換元の表色空間において座標位置の各成分値が少なくとも一の座標軸に関して格子座標上に存在する場合に当該座標軸に関して補間演算をしないようにする機能、を前記コンピュータ等に実行させるプログラムを記録した記録媒体。
【請求項1】 異なる表色空間の間で階調表色データを変換するにあたり、変換元の表色空間での格子点に変換先の表色空間での階調表色データを対応させたテーブルを備えるとともに、変換元の座標位置を取り囲む格子点での表色データに補間演算を施して同座標位置の表色データを求める色変換装置であって、変換元の表色空間において座標位置の各成分値が少なくとも一の座標軸に関して格子座標上に存在する場合に当該座標軸に関して補間演算をしないようにすることを特徴とする色変換装置。
【請求項2】 異なる表色空間の間で階調表色データを変換するにあたり、変換元の表色空間での格子点に変換先の表色空間での階調表色データを対応させたテーブルを備えるとともに、変換元の座標位置を取り囲む格子点での表色データに補間演算を施して同座標位置の表色データを求める色変換装置であって、変換元の表色空間において座標位置の各成分値が座標軸ごとにその格子座標上に存在するか否かに応じて補間演算式を切り換えて演算することを特徴とする色変換装置。
【請求項3】 異なる表色空間の間で階調表色データを変換するにあたり、変換元の表色空間での格子点に変換先の表色空間での階調表色データを対応させたテーブルを備えるとともに、変換元の座標位置を取り囲む格子点での表色データに補間演算を施して同座標位置の表色データを求める色変換装置であって、座標位置が、いずれの座標軸に関しても格子座標に一致する格子点位置と、二つの座標軸に関して格子座標に一致する格子辺上と、一つの座標軸に関して格子座標に一致する格子面上と、それ以外の位置との各場合に応じて補間演算式を切り換えて演算することを特徴とする色変換装置。
【請求項4】 上記請求項1〜請求項3に記載の色変換装置において、各座標軸の格子座標のデータ群の中で、変換元の座標位置の各成分値が一致する個数によって場合分けすることを特徴とする色変換装置。
【請求項5】 上記請求項4に記載の色変換装置において、座標値の成分値がn進数データ(nは整数)で示されるときに、格子座標のデータ群がnのべき乗の整数倍位置にあるときに所定桁数以下の桁値の有無に基づいて座標軸上で格子座標に一致するか否かを判断することを特徴とする色変換装置。
【請求項6】 上記請求項5に記載の色変換装置において、n=2であり、ビットシフト演算で所定ビット以下の桁値の有無を判断することを特徴とする色変換装置。
【請求項7】 上記請求項1〜請求項6に記載の色変換装置において、上記テーブルが、補間演算によって格子点を増加して生成されたものであることを特徴とする色変換装置。
【請求項8】 印刷インクに対応した表色空間に対して異なる表色空間の階調表色データを変換するにあたり、変換元の表色空間での格子点に変換先の表色空間での階調表色データを対応させたテーブルを備えるとともに、変換元の座標位置を取り囲む格子点での表色データに補間演算を施して同座標位置の表色データを求めるとともに同求められた表色データに基づいて印刷を行うカラー印刷装置であって、変換元の表色空間において座標位置の各成分値が少なくとも一の座標軸に関して格子座標上に存在する場合に当該座標軸に関して補間演算をしないようにすることを特徴とするカラー印刷装置。
【請求項9】 撮像素子に応じた表色空間の階調表色データを異なる表色空間の階調表色データに変換するにあたり、変換元の表色空間での格子点に変換先の表色空間での階調表色データを対応させたテーブルを備えるとともに、変換元の座標位置を取り囲む格子点での表色データに補間演算を施して同座標位置の表色データを求めるカラー画像データ出力装置であって、変換元の表色空間において座標位置の各成分値が少なくとも一の座標軸に関して格子座標上に存在する場合に当該座標軸に関して補間演算をしないようにすることを特徴とするカラー画像データ出力装置。
【請求項10】 コンピュータ等上で実行されるプログラムを該コンピュータ等で読み取り可能に記録した記録媒体であって、異なる表色空間の間で階調表色データを変換するにあたり、変換元の表色空間での格子点に変換先の表色空間での階調表色データを対応させたテーブルを備え、変換元の座標位置を取り囲む格子点での表色データに補間演算を施して同座標位置の表色データを求める色変換機能、変換元の表色空間において座標位置の各成分値が少なくとも一の座標軸に関して格子座標上に存在する場合に当該座標軸に関して補間演算をしないようにする機能、を前記コンピュータ等に実行させるプログラムを記録した記録媒体。
【図1】
【図4】
【図7】
【図15】
【図2】
【図3】
【図5】
【図9】
【図10】
【図6】
【図8】
【図11】
【図12】
【図13】
【図16】
【図17】
【図18】
【図14】
【図19】
【図20】
【図21】
【図22】
【図24】
【図23】
【図25】
【図26】
【図27】
【図28】
【図29】
【図4】
【図7】
【図15】
【図2】
【図3】
【図5】
【図9】
【図10】
【図6】
【図8】
【図11】
【図12】
【図13】
【図16】
【図17】
【図18】
【図14】
【図19】
【図20】
【図21】
【図22】
【図24】
【図23】
【図25】
【図26】
【図27】
【図28】
【図29】
【公開番号】特開平10−191089
【公開日】平成10年(1998)7月21日
【国際特許分類】
【出願番号】特願平9−274695
【出願日】平成9年(1997)10月7日
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【公開日】平成10年(1998)7月21日
【国際特許分類】
【出願日】平成9年(1997)10月7日
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
[ Back to top ]