(57)【要約】【課題】色変換の精度を向上させる。【解決手段】第１の表色系で表現された第１の画像データと第２の表色系による第２の画像データとを対応付けた色変換テーブルを参照することにより、第１の画像データを第２の画像データに色変換する。ここで、色変換テーブルに記憶された第２の画像データは、所定の階調領域では前記第２の画像データの階調変化を割り増しするとともに残余の階調領域では階調変化を圧縮する処理であるエンコード処理が施された状態で記憶されている。色変換に際しては、色変換テーブルにデコード処理を施してから色変換テーブルの再構築を行い、得られた色変換テーブルにエンコード処理を施したテーブルを参照しながら色変換する。こうして求めた第２の画像データにデコード処理を施してやれば、精度良く色変換することが可能となる。【選択図】　図１
2004140601.tif 000002
【特許請求の範囲】
【請求項１】
第１の表色系の色空間内に形成された複数の格子点の各々に第２の表色系による画像データを対応付けた色変換テーブルを記憶しておき、該色変換テーブルを参照しながら、該第１の表色系により表現された第１の画像データを該第２の表色系による第２の画像データに変換する画像処理装置であって、
前記色変換テーブルとして、所定の階調領域では前記第２の画像データの階調変化を割り増しするとともに残余の階調領域では階調変化を圧縮する処理であるエンコード処理が施された状態で、該第２の画像データを対応付けたテーブルを記憶しておく色変換テーブル記憶手段と、
前記エンコード処理によって割り増しあるいは圧縮された階調変化を復元する処理であるデコード処理を前記色変換テーブルに施すことによって、中間的な色変換テーブルを生成する中間テーブル生成手段と、
前記中間的な色変換テーブルとは少なくとも異なる格子点を含んで設定された複数の格子点について、各格子点に対応する前記第２の画像データを該中間的な色変換テーブルに基づいて算出した後、該算出した画像データに前記エンコード処理を施すことによって、該中間的な色変換テーブルの再構築を行う色変換テーブル再構築手段と、
前記再構築した色変換テーブルを参照することにより、前記第１の画像データを前記エンコード処理が施された前記第２の画像データに変換する色変換手段と、
前記変換された第２の画像データに前記デコード処理を施すことにより、前記エンコード処理の解消された前記第２の画像データを算出する画像データデコード手段と
を備える画像処理装置。
【請求項２】
前記エンコード処理は、前記第２の画像データ間の大小関係を維持したまま、該第２の画像データの階調変化を割り増しおよび圧縮する処理である請求項１記載の画像処理装置。
【請求項３】
請求項１記載の画像処理装置であって、
前記中間テーブル生成手段は、
前記エンコード処理が施された状態の前記第２の画像データと、該エンコード処理の解消された該第２の画像データとを対応付けて記憶したデコードテーブルを備えるとともに、
前記デコードテーブルを参照しながら前記色変換テーブルを変換することによって、前記中間テーブルを生成する手段である画像処理装置。
【請求項４】
請求項１記載の画像処理装置であって、
前記色変換テーブル再構築手段は、前記中間的な色変換テーブルの格子点よりも多数の格子点を含んだ色変換テーブルを再構築する手段である画像処理装置。
【請求項５】
請求項１記載の画像処理装置であって、
前記画像データデコード手段は、前記色変換手段によって得られた第２の画像データに前記デコード処理を施すとともに、単ドットあたりに表現する階調値の異なる各種ドットについてのドット形成密度を示すドット量データに変換する手段である画像処理装置。
【請求項６】
請求項５記載の画像処理装置であって、
前記画像データデコード手段は、
前記エンコード処理が施された状態の前記第２の画像データと、該エンコード処理の解消された該第２の画像データを変換することによって得られる前記ドット量データとを対応付けて記憶している変換表を備えるとともに、
前記色変換手段によって得られた前記エンコード処理の施された第２の画像データを、前記変換表を参照することによって前記ドット量データに直接変換する手段である画像処理装置。
【請求項７】
ＲＧＢ表色系による前記第１の画像データを、ＣＭＹ表色系による前記第２の画像データに変換する請求項１記載の画像処理装置。
【請求項８】
請求項１記載の画像処理装置であって、
前記画像データの変換精度と変換速度との優先順位に関する設定を検出する検出手段と、
前記変換精度よりも前記変換速度を優先する設定になっている場合には、前記中間テーブル生成手段の動作を禁止するとともに、該中間テーブル生成手段が生成する前記中間的な色変換テーブルに代えて、前記記憶されている色変換テーブルを前記色変換テーブル再構築手段に供給する処理内容切換手段と
を備える画像処理装置。
【請求項９】
第１の表色系の色空間内に形成された複数の格子点の各々に第２の表色系による画像データを対応付けた色変換テーブルを記憶しておき、該色変換テーブルを参照しながら、該第１の表色系により表現された第１の画像データを該第２の表色系による第２の画像データに変換する画像処理方法であって、
前記色変換テーブルとして、所定の階調領域では前記第２の画像データの階調変化を割り増しするとともに残余の階調領域では階調変化を圧縮する処理であるエンコード処理が施された状態で、該第２の画像データを対応付けたテーブルを記憶しておく第１の工程と、
前記エンコード処理によって割り増しあるいは圧縮された階調変化を復元する処理であるデコード処理を前記色変換テーブルに施すことによって、中間的な色変換テーブルを生成する第２の工程と、
前記中間的な色変換テーブルとは少なくとも異なる格子点を含んで設定された複数の格子点について、各格子点に対応する前記第２の画像データを該中間的な色変換テーブルに基づいて算出した後、該算出した画像データに前記エンコード処理を施すことによって、該中間的な色変換テーブルの再構築を行う第３の工程と、
前記再構築した色変換テーブルを参照することにより、前記第１の画像データを前記エンコード処理が施された前記第２の画像データに変換する第４の工程と、
前記変換された第２の画像データに前記デコード処理を施すことにより、前記エンコード処理の解消された前記第２の画像データを算出する第５の工程と
を備える画像処理方法。
【請求項１０】
第１の表色系の色空間内に形成された複数の格子点の各々に第２の表色系による画像データを対応付けた色変換テーブルを記憶しておき、該色変換テーブルを参照しながら、該第１の表色系により表現された第１の画像データを該第２の表色系による第２の画像データに変換する画像処理方法を、コンピュータを用いて実現するためのプログラムであって、
前記色変換テーブルとして、所定の階調領域では前記第２の画像データの階調変化を割り増しするとともに残余の階調領域では階調変化を圧縮する処理であるエンコード処理が施された状態で、該第２の画像データを対応付けたテーブルを記憶しておく第１の機能と、
前記エンコード処理によって割り増しあるいは圧縮された階調変化を復元する処理であるデコード処理を前記色変換テーブルに施すことによって、中間的な色変換テーブルを生成する第２の機能と、
前記中間的な色変換テーブルとは少なくとも異なる格子点を含んで設定された複数の格子点について、各格子点に対応する前記第２の画像データを該中間的な色変換テーブルに基づいて算出した後、該算出した画像データに前記エンコード処理を施すことによって、該中間的な色変換テーブルの再構築を行う第３の機能と、
前記再構築した色変換テーブルを参照することにより、前記第１の画像データを前記エンコード処理が施された前記第２の画像データに変換する第４の機能と、
前記変換された第２の画像データに前記デコード処理を施すことにより、前記エンコード処理の解消された前記第２の画像データを算出する第５の機能と
を実現するプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、色変換テーブルを参照しながらカラー画像データの色変換を行う技術に関し、詳しくは、色変換テーブルを再構築し、得られたテーブルを参照することによって、第１の表色系によって表現されたカラー画像データを、第２の表色系によるカラー画像データに精度良く変換する技術に関する。
【０００２】
【従来の技術】
カラー画像を表示する画像表示装置では、カラー画像データを生成する側における表色系と、カラー画像を表示する側での表色系との違いを吸収するために、色変換と呼ばれる処理が行われることが多い。例えば、カラー画像を印刷する場合、カラー画像データではＲＧＢ表色系が採用されているのに対し、印刷装置では一般的にはシアン（Ｃ）、マゼンタ（Ｍ）、イエロ（Ｙ）各色のインク量にて出力色を表現するＣＭＹ表色系が採用されている。この様な場合、カラー画像を印刷するためには、ＲＧＢ表色系で表現されたカラー画像データをＣＭＹ表色系による表現形式のデータに一旦変換する必要が生じる。また、画像を表示する側の機器において、画像データを生成する側の機器と同様にＲＧＢ表色系のカラー画像データを取り扱うことが可能な場合であっても、色特性は機器間で微妙に異なっていることが多い。このため生成した側の色彩をそのまま正確に表示するためには、機器間の色特性の違いを補正するべく、画像データの表色系を、表示機器側の表色系に変換する必要が生じる場合も多い。色変換処理とは、このように画像データの表色系を変換する処理を言う。
【０００３】
色変換処理は、解析的な手法によって行おうとするとたいへん複雑な処理になるので、通常は、色変換テーブル（以下、ＬＵＴ）を参照することによって行われる。一例として、ＲＧＢ表色系で表現されている画像データを、ＣＭＹ表色系により表現された画像データに、色変換する場合について説明する。先ず、ＲＧＢ色空間を格子状に分割すると、それぞれの格子点は、格子点の座標値に対応するカラー画像データ（ＲＧＢ画像データ）を表していると考えることができる。
そこで、各格子点についてＲＧＢ画像データをＣＭＹ表色系に変換した画像データ（ＣＭＹ画像データ）を求めておき、これらＣＭＹ画像データを各格子点に対応付けて記憶しておく。ＬＵＴ（色変換テーブル）とは、変換元の表色系による色空間（上の例示ではＲＧＢ色空間）を格子状に細分して得た各格子点に、変換先の表色系による画像データ（上の例示ではＣＭＹ画像データ）を対応付けて記憶した数表のようなものと考えることができる。このようにして予め設定しておいたＬＵＴを参照すれば、カラー画像データを迅速に色変換することが可能である。
【０００４】
ここで、ＬＵＴの格子点は色空間の各座標軸を分割して生成していることから、格子点の個数は分割数の３乗で増加することになり、いきおいＬＵＴのデータ量は大きなものとなる。そこで記憶容量を節約するために、分割数が少なく従ってデータ量の小さなＬＵＴを記憶しておき、必要なときに分割数を増やしたＬＵＴを生成して使用することが行われる。分割数を増やすことで新たに生成した格子点の画像データは、補間演算によって算出することができる。もちろん、分割数を増やすだけでなく、分割位置を変更して新たな格子点を生成することも可能である。このように、記憶しておいたＬＵＴから必要に応じて新たなＬＵＴを生成することを、本明細書では「ＬＵＴの再構築」と呼ぶ。また、ＬＵＴを再構築するために予め記憶されているＬＵＴを、本明細書では「基準ＬＵＴ」と呼ぶことにする。
【０００５】
ＬＵＴの再構築を行う場合、ＬＵＴに記憶する画像データへの要求精度が高くなると、例え、基準ＬＵＴ上では必要な色変換精度が確保されていても、再構築したＬＵＴでは色変換の精度が低下してしまう場合が生じ得る。これは、補間演算で求めた数値が十分な精度を備えている場合でも、再構築したＬＵＴの格子点に演算結果を書き込む際に数値が丸められてしまい、誤差が混入し得るためである。もちろん、高いデータ精度のまま格子点に演算結果を書き込んでやれば、書き込みの際の丸め誤差を小さくすることができるが、これでは再構築したＬＵＴのデータ量が大きくなってしまう。そこで、ＬＵＴの再構築時に、画像データにエンコード処理を施しておく技術が提案されている（技術文献１参照）。
【０００６】
技術文献１に提案の技術においては、記憶する画像データへの要求精度が高い領域では、補間演算によって得られた数値に所定の係数を乗算してからＬＵＴに記憶する。一例として、数値を記憶する際に小数点以下が切り捨てられるとすると、数値を例えば１０倍してから記憶しておけば、小数点以下１桁の精度を保持しておくことができる。換言すれば、そのまま記憶したのでは切り捨てられてしまう小数点以下１桁の小さな数値変化を、数値を１０倍することで、切り捨てられない大きな数値変化に変換して記憶していることに相当する。そして、記憶しておいた数値を読み出した後、適切なタイミングで１／１０の値に戻してやればよい。
【０００７】
また、再構築したＬＵＴに記憶する画像データの要求精度は、全ての領域で高い精度が要求されるわけではない。例えば、インクジェットプリンタなどの印刷装置では一般に、各色のインク量が小さい場合には、僅かにインク量が変化しただけで表現される色彩が大きく変化するため、Ｃ，Ｍ，Ｙ各色のインク量のデータに高い精度が要求される。これに対して、インク量が十分に大きい場合にはそれほどの高い精度は要求されない傾向にある。そこで、インク量データが小さく高い精度が要求される領域では階調変化を割り増しした状態でＬＵＴに記憶しておき、逆に、インク量データが大きい領域のようにそれほど高い精度が要求されない領域では階調変化を圧縮した状態でＬＵＴに記憶しておく。本明細書中でエンコード処理とは、このように高い精度が要求される領域では階調変化を割り増しするとともに、精度があまり要求されない領域では階調変化を圧縮する処理を言う。エンコード処理を行いながらＬＵＴを再構築してやれば、必要な精度を確保しておくことができる。また、こうして再構築したＬＵＴを用いて色変換した画像データは、インク量が小さい領域のように階調変化が拡大されている領域と、インク量が大きい領域のように階調変化が圧縮されている領域とが存在するので、色変換した後の適切なタイミングで所定の変換を施すことによって通常の階調変化に戻してやればよい。本明細書中では、エンコード処理により割り増しあるいは圧縮された階調変化を元に戻す処理を「デコード処理」と呼ぶことにする。このような技術文献１に記載の技術によれば、ＬＵＴのデータ量を増加させることなく、カラー画像データを精度良く色変換することができ、延いては高画質なカラー画像を表示あるいは印刷することが可能となる。
【０００８】
また、本願の出願人は、上記の技術文献１の技術を発展させ、迅速な処理の可能な技術を開発して既に出願済みである（特願２００２−３０２４７１号，特願２００２−３０２４７２号）。かかる出願済みの技術においては、基準ＬＵＴにエンコード処理済みの画像データを記憶しておき、このＬＵＴを再構築して色変換を行う。こうすれば、色変換に際してエンコード処理を行う必要がないので、その分だけ色変換処理を迅速化することが可能となる。
【０００９】
【技術文献１】
国際公開第０２／３２１１３号パンフレット
【００１０】
【発明が解決しようとする課題】
しかし、基準ＬＵＴにエンコード処理済みの画像データを記憶しておき、この基準ＬＵＴからＬＵＴを再構築した場合、エンコード処理が施された画像データを扱っているにもかかわらず、色変換の精度が低下することがあるという新たな課題が見出された。
【００１１】
この発明は、従来技術における上述の課題を解決するためになされたものであり、エンコード処理済みの画像データを記憶した基準ＬＵＴに基づいて、ＬＵＴを適切に再構築することにより、変換精度を低下させることなく色変換を行う技術の提供を目的とする。
【００１２】
【課題を解決するための手段およびその作用・効果】
上述した課題の少なくとも一部を解決するために、本発明の画像処理装置は、次の構成を採用した。すなわち、
第１の表色系の色空間内に形成された複数の格子点の各々に第２の表色系による画像データを対応付けた色変換テーブルを記憶しておき、該色変換テーブルを参照しながら、該第１の表色系により表現された第１の画像データを該第２の表色系による第２の画像データに変換する画像処理装置であって、
前記色変換テーブルとして、所定の階調領域では前記第２の画像データの階調変化を割り増しするとともに残余の階調領域では階調変化を圧縮する処理であるエンコード処理が施された状態で、該第２の画像データを対応付けたテーブルを記憶しておく色変換テーブル記憶手段と、
前記エンコード処理によって割り増しあるいは圧縮された階調変化を復元する処理であるデコード処理を前記色変換テーブルに施すことによって、中間的な色変換テーブルを生成する中間テーブル生成手段と、
前記中間的な色変換テーブルとは少なくとも異なる格子点を含んで設定された複数の格子点について、各格子点に対応する前記第２の画像データを該中間的な色変換テーブルに基づいて算出した後、該算出した画像データに前記エンコード処理を施すことによって、該中間的な色変換テーブルの再構築を行う色変換テーブル再構築手段と、
前記再構築した色変換テーブルを参照することにより、前記第１の画像データを前記エンコード処理が施された前記第２の画像データに変換する色変換手段と、
前記変換された第２の画像データに前記デコード処理を施すことにより、前記エンコード処理の解消された前記第２の画像データを算出する画像データデコード手段と
を備えることを要旨とする。
【００１３】
また、上記の画像処理装置に対応する本発明の画像処理方法は、
第１の表色系の色空間内に形成された複数の格子点の各々に第２の表色系による画像データを対応付けた色変換テーブルを記憶しておき、該色変換テーブルを参照しながら、該第１の表色系により表現された第１の画像データを該第２の表色系による第２の画像データに変換する画像処理方法であって、
前記色変換テーブルとして、所定の階調領域では前記第２の画像データの階調変化を割り増しするとともに残余の階調領域では階調変化を圧縮する処理であるエンコード処理が施された状態で、該第２の画像データを対応付けたテーブルを記憶しておく第１の工程と、
前記エンコード処理によって割り増しあるいは圧縮された階調変化を復元する処理であるデコード処理を前記色変換テーブルに施すことによって、中間的な色変換テーブルを生成する第２の工程と、
前記中間的な色変換テーブルとは少なくとも異なる格子点を含んで設定された複数の格子点について、各格子点に対応する前記第２の画像データを該中間的な色変換テーブルに基づいて算出した後、該算出した画像データに前記エンコード処理を施すことによって、該中間的な色変換テーブルの再構築を行う第３の工程と、
前記再構築した色変換テーブルを参照することにより、前記第１の画像データを前記エンコード処理が施された前記第２の画像データに変換する第４の工程と、
前記変換された第２の画像データに前記デコード処理を施すことにより、前記エンコード処理の解消された前記第２の画像データを算出する第５の工程と
を備えることを要旨とする。
【００１４】
これらの本願発明は、基準ＬＵＴにエンコード処理済みの画像データを記憶しておき、この基準ＬＵＴからＬＵＴを再構築して色変換した場合に、変換精度が低下するメカニズムを解明することによって完成された。そこで、本発明の作用および効果について説明する前に、こうした新たに解明されたメカニズムについて説明する。メカニズムの説明にあたっては、初めにエンコード処理を行うことによって色変換精度を向上させることができる原理（エンコード処理の原理）について簡単に説明し、次いで、エンコード処理済みの基準ＬＵＴを再構築すると色変換精度が却って低下することがある理由（色ズレ発生のメカニズム）について説明する。
【００１５】
（１）エンコード処理の原理：
図１５は、エンコード処理を行うことによって色変換の精度が改善される原理を示した説明図である。理解の便宜のため、ここでは、ＲＧＢ各色の階調値によって表現されたカラー画像データを、ＣＭＹ各色の階調値によるカラー画像データに色変換する場合について説明する。図１５（ａ）は、基準ＬＵＴの格子点にＣＭＹ各色の階調値が記憶されている様子を概念的に表している。前述したようにＬＵＴは、Ｒ、Ｇ、Ｂの各色の階調値を入力値とする３次元の数表と考えることができるが、図示の煩雑化を避けるために、ここではＧの階調値およびＢの階調値が一定値（＝２５５）であり、Ｒの階調値のみが変化する場合について考える。この様な条件では、３次元の数表であるＬＵＴを２次元のグラフによって表現することが可能である。先ず、このことについて説明する。尚、ＬＵＴは１バイトデータで表現されているものとする。
【００１６】
ＲＧＢ画像データのＲ、Ｇ、Ｂいずれの階調値も２５５となる場合、画像データは白色を表現しているから、ＬＵＴの対応する格子点に記憶される画像データは、ＣＭＹいずれの階調値も０となっている。ＧおよびＢの階調値を２５５に保ったまま、Ｒの階調値のみを少しずつ減らしていくと、ＲＧＢ画像データの表す色彩は、白色から次第にシアン色に変化して行き、これに伴いＬＵＴの格子点に記憶されるデータも、ＭおよびＹの階調値は０のままでＣ階調値のみが少しずつ増加していく。このことから分かるように、ＲＧＢ画像データのＧ階調値およびＢ階調値をいずれも２５５に保ったままＲ階調値のみを変化させると、ＣＭＹ画像データはＭ階調値およびＹ階調値がともに０のまま、Ｃ階調値のみが変化する。従って、こうした条件では、３次元の数表であるＬＵＴを２次元のグラフとして表現することが可能となる。
【００１７】
図１５（ａ）は、このようにして基準ＬＵＴを２次元のグラフとして表したものであり、図中の白丸はＬＵＴの格子点を表している。すなわち、Ｒ階調値２５５の格子点にはＣの階調値０が記憶されており、Ｒ階調値２５１の格子点にはＣの階調値１が記憶され、Ｒ階調値２４７の格子点にはＣの階調値３が記憶されている様子を表している。格子点の間のデータは補間演算によって算出する。例えば、Ｒ階調値２５４に対するＣの階調値は０．２５であり、Ｒ階調値２４３に対するＣの階調値は０．５と求めることができる。前述したように、基準ＬＵＴには格子点が細かく設けられている訳ではないが、ほとんどの場合は、こうして格子点間のデータを補間演算することにより、ほぼ十分な精度でＲＧＢ画像データをＣＭＹ画像データに変換することが可能である。
【００１８】
次に、図１５（ａ）に示した基準ＬＵＴから新たなＬＵＴを再構築する場合について考える。図１５（ａ）に示した基準ＬＵＴでは、格子点はＲ階調値２５５、Ｒ階調値２５１、Ｒ階調値２４７と、階調値が４減少する毎に設けられているが、ここでは、これら格子点の間に３つずつ格子点を追加することにより、新たなＬＵＴを再構築するものとする。図１５（ｂ）は、こうして再構築されたＬＵＴを概念的に表している。図中では、新たに設けられた格子点を黒丸で表示している。例えば、Ｒ階調値２５４の格子点についてみると、補間演算を行うことにより、この格子点のＣ階調値は０．２５と求めることができる。ところが、ＬＵＴは１バイトデータで表現されているものとしているから、再構築したＬＵＴの格子点に書き込む際に、補間演算した階調値０．２５は階調値０に丸められてしまう。同様なことは、Ｒ階調値２５０の格子点でも生じる。すなわち、Ｒ階調値２５０の格子点についてのＣ階調値は、補間演算によって階調値１．５と求められる。しかし、再構築ＬＵＴに書き込む際に、この演算結果は階調値１に丸められてしまう。結局、基準ＬＵＴを再構築して得られたＬＵＴは、図１５（ｂ）に実線で示すようなＬＵＴになってしまう。このことから明らかなように、ＬＵＴに記憶される画像データの分解能が不足すると、再構築したＬＵＴに数値の丸めに起因した誤差が混入して、色変換の精度が低下する事態が生じる。
【００１９】
また、こうした事態が生じるのは、ＬＵＴに記憶される画像データの分解能に限らず、色変換処理において内部で扱うデータの精度が不足した場合（例えば、色変換処理の内部でも画像データが１バイトデータとして扱われている場合など）にも、同様なことが生じ得る。
【００２０】
こうした問題は、エンコード処理を施すことによって効果的に回避することができる。エンコード処理では、新たな格子点の階調値を補間演算によって求め、この階調値にエンコード係数を乗算した値を、再構築したＬＵＴに書き込む処理を行う。図１５（ｃ）は、エンコード係数を例示したものである。図示されているように、Ｒ階調値２５３の付近では、エンコード係数はおおよそ４前後の値に設定されている。図１５（ｂ）を用いて説明したように、Ｒ階調値２５３付近ではＲ階調値の数値が１変化するたびにＣ階調値は０．２５ずつ変化しているが、この変化の値はＬＵＴの分解能に対して小さすぎるので、ＬＵＴに実際に書き込まれるデータには十分に反映することは困難である。しかし、ＬＵＴの格子点に書き込む前に、エンコード係数を乗算してやれば、Ｃ階調値の変化量はおおよそ１前後の値に拡大されるので、Ｒ階調値の変化に対するＣ階調値の変化をＬＵＴのデータに反映させることが可能になる。
【００２１】
Ｒ階調値２４８付近の画像データについても、ほぼ同様なことが成り立つ。すなわち、図１５（ｂ）を用いて説明したように、Ｒ階調値２４９の付近ではＲ階調値の数値が１変化するたびにＣ階調値は０．５ずつ変化している。しかし、階調値０．５の変化は、ＬＵＴの分解能に対して十分な変化とは言えない。そこで、補間によって求めたＣ階調値にエンコード係数を乗算してやる。図１５（ｃ）に示すように、Ｒ階調値２４９付近ではエンコード係数はおおよそ２前後の値に設定されている。従って、エンコード係数を乗算することでＣ階調値の変化量はほぼ２倍に拡大され、Ｒ階調値の変化に対するＣ階調値の変化をＬＵＴのデータに反映させることが可能になる。
【００２２】
このように、必要な分解能に応じて、予め適切なエンコード係数を設定しておき、ＬＵＴの再構築を行う際に、エンコード処理を行いながら再構築すれば、入力画像データの階調変化がキチンと反映された再構築ＬＵＴを得ることができる。もちろん、色変換後の画像データにはエンコード処理が施されたものとなっているが、適当なタイミングでデコード処理を行ってやればよい。このようにして色変換処理を行えば、入力したカラー画像データを精度良く色変換することが可能となるのである。
【００２３】
（２）色ズレ発生のメカニズム：
次に、本願の発明者によって見出された現象、すなわち、エンコード処理が施された基準ＬＵＴを再構築した場合、エンコード処理を施しているにも拘わらず、色変換精度が低下するという現象が起こる理由について説明する。前述したように、本願の発明は、かかるメカニズムを解明することによって完成されたものである。
【００２４】
図１６は、エンコード処理済みの基準ＬＵＴを再構築した場合に、色ズレが生じることがある理由を示した説明図である。図１５と同様に、図１６においても、Ｇ階調値およびＢ階調値をいずれも階調値２５５に固定して、Ｒ階調値のみを変化させることによって、ＬＵＴを２次元のグラフによって表現している。図１６（ａ）は、理想的な色変換処理が行われたときに、入力されるＲ階調値の変化に応じて、出力されるＣ階調値が変化する様子を概念的に示した説明図である。
図１６（ｂ）は、こうしたＲ階調値とＣ階調値との対応関係を記述した基準ＬＵＴを概念的に示した説明図である。図１６（ｂ）中に示した白丸は、基準ＬＵＴに設けられた格子点を表している。色変換を行うに際しては、前述したように、基準ＬＵＴに基づいて新たなＬＵＴを再構築し、再構築したＬＵＴを参照することによって表色系の変換を行う。ここでは、基準ＬＵＴの格子点の中間に新たな格子点を１つずつ追加することによってＬＵＴを再構築するものとする。図１６（ｂ）中に示した黒丸は、こうして追加された格子点を表している。追加した格子点のＣ階調値は、その格子点の両側にある基準ＬＵＴの格子点のＣ階調値から線形補間を行うことによって算出する。
【００２５】
また、参考として図１６（ｂ）中には、理想的な色変換処理を行った場合のＲ階調値とＣ階調値との対応関係（色変換特性）を太い破線で示している。図中に示した黒丸はいずれも、太い破線で示した曲線の近傍にあることから、再構築したＬＵＴを参照ながら色変換しても、理想的な色変換を行った場合とほぼ同様な結果が得られることが分かる。もちろん、分解能が不足して丸め誤差が混入する場合は、前述したエンコード処理を行うことにより、十分な精度で色変換することが可能である。
【００２６】
図１６（ｃ）は、基準ＬＵＴにエンコード処理を施した場合を示している。図１６（ｃ）中の白丸は、図１６（ｂ）に示した基準ＬＵＴにエンコード処理を施して得られた基準ＬＵＴ（以下では、この様なＬＵＴを「エンコード済み基準ＬＵＴ」と呼ぶことがあるものとする）の格子点を表している。すなわち、図１６（ｃ）の各格子点に記憶されているＣ階調値は、図１６（ｂ）の対応する格子点のＣ階調値にエンコード係数を乗算した階調値となっている。色変換処理を行うに際しては、こうして得られたエンコード済み基準ＬＵＴの格子点間に新たな格子点を設け、これら格子点のＣ階調値を補間演算することによってＬＵＴの再構築を行う。図１６（ｃ）中に示した黒丸は、エンコード済み基準ＬＵＴを再構築して得られた格子点を表している。また、図中に太い破線で示した曲線は、図１６（ａ）中の理想的な色変換処理の対応関係にエンコード処理を施して得られた色変換特性を表している。図１６（ｃ）から明らかなように、エンコード処理済みの基準ＬＵＴを再構築して得られたＬＵＴは、エンコード処理が施された理想的な色変換特性に対して、一部の格子点において大きな乖離が生じる場合がある。こうした乖離は常に生じるわけではないが、基準ＬＵＴに設定された格子点間隔に対して、エンコード処理済みの階調値が大きく変化する領域では生じ易い。
前述したように、エンコード係数は階調変化を拡大する作用を有するから、隣接する格子点間のエンコード関数の傾きの変化が大きくなる領域では、こうした乖離が生じ易くなると言うことができる。
【００２７】
このように、エンコード処理済みの基準ＬＵＴから再構築したＬＵＴは、理想的な色変換特性に対して乖離が生じることがある。こうして乖離の生じた再構築ＬＵＴを参照しながら色変換したのでは、如何にエンコード処理を施しているとは言え、精度良く色変換することは困難であり、従って色ズレが発生してしまうのである。
【００２８】
本願の発明は、以上に説明したメカニズムを見出すことによって完成されたものであり、上述した構成を有している。このため本願の発明によれば、以下に説明するように、エンコード処理済みの状態で基準ＬＵＴを記憶している場合でも、ＬＵＴを適切に再構築して、精度良く色変換処理を行うことが可能となる。以下では、図１７の例示を適宜織り込みながら説明する。
【００２９】
本願発明の画像処理装置および画像処理方法においては、第１の表色系による画像データと第２の表色系の画像データとを対応付けて記憶した色変換テーブルが記憶されており、この色変換テーブルには予めエンコード処理が施されている。この色変換テーブルにデコード処理を施すことによって中間的な色変換テーブル（中間テーブル）を生成する。これを図１７を参照しながら説明する。
【００３０】
図１７（ａ）は、こうしたエンコード処理済みの色変換テーブルと、このテーブルにデコード処理を施すことによって生成された中間的な色変換テーブル（中間テーブル）とを、それぞれ例示したものである。図中の実線はエンコード処理済みの色変換テーブルを概念的に表したものであり、実線上に表示された白丸は、Ｒ階調値に対してエンコード処理済みのＣ階調値が記憶されている様子を表している。尚、図１７（ａ）に示したエンコード処理済みの色変換テーブルは、図１６（ｃ）に示した色変換テーブルと同じものである。この色変換テーブルにデコード処理を施すことによって、図１７（ａ）中に太い破線で示した中間テーブルを得ることができる。中間テーブルの各格子点には、白丸の格子点に記憶されているＣ階調値にデコード処理を施したＣ階調値が記憶されている。図１７（ａ）において、破線上に表示された破線の丸印は、中間テーブルの各格子点に、デコード処理済みのＣ階調値が記憶されている様子を概念的に表したものである。
【００３１】
次いで、少なくとも中間テーブルとは異なる格子点を含んで設定された複数の格子点について、第２の画像データを、中間テーブルに基づいて算出する。そして、算出した画像データにエンコード処理を施すことによって、中間テーブルの再構築を行う。こうして再構築した色変換テーブルを参照しながら第１の画像データを第２の画像データに色変換する。こうして得られた第２の画像データは、エンコード処理が施されており、前述したように第１の画像データの階調変化が精度良く反映されている。そこで、この第２の画像データにデコード処理を施すことによってエンコード処理を解消してやれば、第１の画像データを第２の画像データに精度良く色変換することが可能となる。以下では、これを、再び図１７に即して説明する。
【００３２】
図１７（ｂ）は、中間テーブルを再構築して得られた色変換テーブルを概念的に示している。ここでは、中間テーブルの各格子点の間に、図中に黒丸で表した新たな格子点が１つずつ追加されている。こうして再構築された色変換テーブルにエンコード処理を施せば、図１７（ｃ）に示したエンコード処理済みの色変換テーブルを得ることができる。図中に示した黒丸および白丸は、それぞれエンコード処理済みの色変換テーブルの格子点を示している。また、図１７（ｃ）に示した太い破線の曲線は、理想的な色変換特性にエンコード処理を施すことによって得られる特性を示している。図１７（ｃ）に示されているように、中間テーブルを再構築した後にエンコード処理して得られた色変換テーブルは、破線で示して理想的な色変換特性にエンコード処理を施した特性と良く一致している。従って、この色変換テーブルを参照しながら色変換を行い、得られた画像データにデコード処理を施してやれば、画像データの表色系を精度良く変換することが可能となるのである。
【００３３】
また、本発明の画像処理装置および画像処理方法では、色変換テーブルを予めエンコード処理が施された状態で記憶している。前述したように、エンコード処理は高い精度が必要な領域における精度を向上させる作用を有している。従って、色変換テーブルをエンコード処理した状態で記憶しておけば、エンコード処理しない状態で記憶した場合よりも、精度が必要な領域での記憶精度を向上させることが可能であり、その点からも、色変換精度を向上させることが可能となる。
【００３４】
上述した本発明の画像処理装置および画像処理方法においては、エンコード処理は、第２の画像データ間の大小関係を維持したまま、該第２の画像データの階調変化を割り増しおよび圧縮する処理とすることが望ましい。
【００３５】
第２の画像データにエンコード処理を施したときに、画像データ間の大小関係が維持されていれば、デコード処理に際して追加の情報を必要とすることなく、エンコード済みの画像データを直ちにデコードすることができる。このため、デコード処理を簡素なものとすることができ、延いては、画像処理を迅速に行うことが可能となるので好ましい。
【００３６】
中間テーブルは、次のようにして生成することとしても良い。先ず、エンコード処理が施された状態の前記第２の画像データと、該エンコード処理の解消された該第２の画像データとを対応付けて、デコードテーブルとして記憶しておく。
そして、前記色変換テーブルに記憶されているエンコード処理が施された第２の画像データを、該デコードテーブルを参照しながら、該エンコード処理の解消された第２の画像データに変換することによって、中間テーブルを生成することとしてもよい。
【００３７】
デコード処理は、解析的に行おうとすると困難な場合もあるが、こうして予め適切なデコードテーブルを設定しておけば、簡便に且つ正確にデコード処理を行って中間テーブルを生成することが可能となるので好ましい。
【００３８】
また、中間的な色変換テーブルを再構築するに際しては、該中間的な色変換テーブルの格子点よりも多数の格子点を含んだ色変換テーブルを再構築することとしてもよい。
【００３９】
色変換に際しては、格子点数の多い色変換テーブルを参照するほど、変換精度が向上する傾向にある。従って、中間的な色変換テーブルよりも多数の格子点を含んだ色変換テーブルに再構築することとすれば、第１の画像データを精度良く変換することが可能となるので好ましい。
【００４０】
上述した画像処理装置および画像処理方法においては、エンコード処理が施された第２の画像データをデコードするとともに、該デコードした画像データを、単ドットあたりに表現する階調値の異なる各種ドットについてのドット形成密度を示すドット量データに変換することとしてもよい。
【００４１】
印刷用紙や液晶表示媒体などに画像を表示可能な機器では、媒体上にドットを形成することによって画像を表示していることが多い。従って、第２の画像データをドット量データに変換しておけば、変換したデータをこれら機器に供給することで適切に画像を表示することが可能となるので好ましい。
【００４２】
第２の画像データからドット量データへの変換は、次のようにして行うこととしても良い。すなわち、エンコード処理が施された状態の前記第２の画像データと、ドット量データとを対応付けて記憶した変換表を用意しておく。ここで、該変換表に記憶されているドット量データは次のようなデータである。エンコード処理が施された状態で変換表に記憶されている第２の画像データにデコード処理を施した後、該エンコード処理の解消された該第２の画像データを前記ドット量データに変換することによって得られたデータである。そして、前記再構築した色変換テーブルに基づいて色変換された第２の画像データを、この変換表を参照することによって、ドット量データに直接変換することとしてもよい。
【００４３】
こうすれば、エンコード処理が施された状態の第２の画像データを、迅速にドット量データに変換することが可能となり、延いては画像処理を迅速に行うことが可能となるので好ましい。
【００４４】
上述の画像処理装置および画像処理方法においては、ＲＧＢ表色系による前記第１の画像データを、ＣＭＹ表色系による前記第２の画像データに変換することとしてもよい。
【００４５】
カラー画像データを印刷する際など、ＲＧＢ表色系で表現された画像データをＣＭＹ表色系による表現形式の画像データに変換しなければならない場合が多い。このため、上述した画像処理装置および画像処理方法において、特に、ＲＧＢ表色系による前記第１の画像データをＣＭＹ表色系による前記第２の画像データに変換することとすれば、広い用途に適用することが可能となるので好ましい。
【００４６】
上述した画像処理装置および画像処理方法においては、次のようにしてもよい。先ず、前記画像データの変換精度と変換速度との優先順位に関する設定を検出する。そして、変換精度よりも変換速度を優先する設定になっている場合には、前記中間的な色変換テーブルの生成を禁止するとともに、該中間的な色変換テーブルに代えて、前記記憶されている色変換テーブルを用いて色変換テーブルの再構築を行うこととしてもよい。
【００４７】
こうすれば、色変換テーブルにデコード処理を施して中間的なテーブルを生成する処理と、該中間的な色変換テーブルにエンコード処理を施す処理が不要となるので、画像処理を迅速に行うことが可能となって好ましい。
【００４８】
更に本発明は、上述した画像処理方法を実現するためのプログラムをコンピュータに読み込ませ、コンピュータを用いて実現することも可能である。従って、本発明は次のようなプログラム、あるいは該プログラムを記録した記録媒体としての態様も含んでいる。すなわち、上述した画像処理方法に対応する本発明のプログラムは、
第１の表色系の色空間内に形成された複数の格子点の各々に第２の表色系による画像データを対応付けた色変換テーブルを記憶しておき、該色変換テーブルを参照しながら、該第１の表色系により表現された第１の画像データを該第２の表色系による第２の画像データに変換する画像処理方法を、コンピュータを用いて実現するためのプログラムであって、
前記色変換テーブルとして、所定の階調領域では前記第２の画像データの階調変化を割り増しするとともに残余の階調領域では階調変化を圧縮する処理であるエンコード処理が施された状態で、該第２の画像データを対応付けたテーブルを記憶しておく第１の機能と、
前記エンコード処理によって割り増しあるいは圧縮された階調変化を復元する処理であるデコード処理を前記色変換テーブルに施すことによって、中間的な色変換テーブルを生成する第２の機能と、
前記中間的な色変換テーブルとは少なくとも異なる格子点を含んで設定された複数の格子点について、各格子点に対応する前記第２の画像データを該中間的な色変換テーブルに基づいて算出した後、該算出した画像データに前記エンコード処理を施すことによって、該中間的な色変換テーブルの再構築を行う第３の機能と、
前記再構築した色変換テーブルを参照することにより、前記第１の画像データを前記エンコード処理が施された前記第２の画像データに変換する第４の機能と、
前記変換された第２の画像データに前記デコード処理を施すことにより、前記エンコード処理の解消された前記第２の画像データを算出する第５の機能と
をコンピュータを用いて実現することを要旨とする。
【００４９】
また、上述の画像処理方法に対応する本発明の記録媒体は、
第１の表色系の色空間内に形成された複数の格子点の各々に第２の表色系による画像データを対応付けた色変換テーブルを記憶しておき、該色変換テーブルを参照しながら、該第１の表色系により表現された第１の画像データを該第２の表色系による第２の画像データに変換する画像処理を、コンピュータを用いて実現するためのプログラムを記録した記録媒体であって、
前記色変換テーブルとして、所定の階調領域では前記第２の画像データの階調変化を割り増しするとともに残余の階調領域では階調変化を圧縮する処理であるエンコード処理が施された状態で、該第２の画像データを対応付けたテーブルを記憶しておく第１の機能と、
前記エンコード処理によって割り増しあるいは圧縮された階調変化を復元する処理であるデコード処理を前記色変換テーブルに施すことによって、中間的な色変換テーブルを生成する第２の機能と、
前記中間的な色変換テーブルとは少なくとも異なる格子点を含んで設定された複数の格子点について、各格子点に対応する前記第２の画像データを該中間的な色変換テーブルに基づいて算出した後、該算出した画像データに前記エンコード処理を施すことによって、該中間的な色変換テーブルの再構築を行う第３の機能と、
前記再構築した色変換テーブルを参照することにより、前記第１の画像データを前記エンコード処理が施された前記第２の画像データに変換する第４の機能と、
前記変換された第２の画像データに前記デコード処理を施すことにより、前記エンコード処理の解消された前記第２の画像データを算出する第５の機能と
を実現するためのプログラムを、コンピュータで読み取り可能に記録していることを要旨とする。
【００５０】
こうしたプログラム、あるいは記録媒体に記録されているプログラムをコンピュータに読み込ませ、該コンピュータを用いて上述の各種機能を実現すれば、精度良く色変換処理を行うことが可能となる。
【００５１】
【発明の実施の形態】
本発明の作用・効果をより明確に説明するために、本発明の実施の形態を、次のような順序に従って以下に説明する。
Ａ．発明の概要：
Ｂ．装置構成：
Ｃ．第１実施例の画像処理：
Ｄ．第２実施例の画像処理：
【００５２】
Ａ．発明の概要：
実施例についての詳細な説明に入る前に、図１を参照しながら、本発明の概要について説明しておく。図１は、印刷システムを例にとって、本発明の概要を説明するための説明図である。本印刷システムは、画像処理装置としてのコンピュータ１０と、カラープリンタ２０等から構成されており、コンピュータ１０に所定のプログラムがロードされて実行されると、コンピュータ１０とカラープリンタ２０などが全体として一体の印刷システムとして機能する。コンピュータ１０は、デジタルカメラやカラースキャナなどの画像機器からＲＧＢカラー画像の階調画像データを受け取ると、該画像データを、カラープリンタ２０で印刷可能な各色ドットの形成有無により表現された印刷データに変換する。かかる画像データの変換は、プリンタドライバ１２と呼ばれる専用のプログラムを用いて行われる。尚、ＲＧＢカラー画像の階調画像データは、各種アプリケーションプログラムを用いてコンピュータ１０上で作成することもできる。
【００５３】
プリンタドライバ１２は、色変換モジュールを初めとする複数のモジュールから構成されている。色変換モジュールは、ＲＧＢ画像データの表色系をＣＭＹ表色系に変換する。色変換に際しては、プリンタドライバ１２内に別途、記憶されているエンコード済みのＬＵＴ（色変換テーブル）を読み出して、エンコード済みの再構築ＬＵＴを生成し、このＬＵＴを参照することによって精度良く色変換を行う。ここで色変換モジュールは、後述する方法でＬＵＴを再構築しているので、精度良く色変換することが可能となっている。色変換された画像データはデコードモジュールにおいてエンコード処理が解消されることにより、ＲＧＢ画像データに対応した正確なＣＭＹ画像データに変換される。
【００５４】
また、印刷システムに特有なモジュールとしては、ドット量データ変換モジュールや、ハーフトーンモジュールなどが設けられている。ドット量データ変換モジュールは、ＣＭＹ表色系によって表現された画像データ（ＣＭＹ画像データ）を、カラープリンタ２０で形成可能なドットの種類毎に、各種ドットを形成すべき密度に相当するデータに変換するモジュールである。カラープリンタ２０は、高画質な画像を印刷可能とするために、通常の大きさのドットに加えて小さなドットも形成可能となっている。また、ハーフトーンモジュールは、カラープリンタ２０が形成可能な各種ドットについて、ドットを形成するか否かを画素毎に決定するモジュールである。このモジュールでは、ドット量データ変換モジュールによって変換されたデータに基づいて、ドットが適切な密度で形成されるように、画素毎にドット形成の有無を判断する。プリンタドライバ１２に供給されたＲＧＢ画像データは、このようにして必要な各種の処理が施された後、印刷データとしてカラープリンタ２０に供給される。カラープリンタ２０では、印刷データに従って各色インクドットを形成する。こうすることにより、カラー画像が印刷されることになる。
【００５５】
上述したようにプリンタドライバ１２は、色変換に際して、エンコード処理が施された色変換テーブル（エンコード済みＬＵＴ）を読み込んで再構築したＬＵＴを参照しながら色変換を行う。ここで、図１６を用いて前述したように、エンコード済ＬＵＴをそのまま再構築したのでは、色ズレが発生して精度良く色変換することができない。そこで、色変換モジュールは、エンコード済ＬＵＴを読み込む際に、デコード処理を施して中間ＬＵＴを生成する。そして、このＬＵＴを再構築してからエンコード処理を行うことにより、エンコード済再構築ＬＵＴを生成する。図１７を用いて前述したように、こうすれば、精度の良い再構築ＬＵＴを得ることができるので、かかるＬＵＴを参照しながら色変換することによって、ＲＧＢ画像データをＣＭＹ画像データに精度良く色変換することが可能となる。また、印刷システムに組み込まれた画像処理装置では、ＲＧＢ画像データを色変換した後に、ドット量データに変換するための処理が必要となる。図１に示した例示では、このことに対応して、デコードモジュールの下流側にドット量データ変換モジュールが設けられている。そこで、色変換された画像データをドット量データに変換する処理に加えて、デコード処理も同時に行うことも可能である。以下では、こうした本願発明の画像処理装置および画像処理方法について、実施例に基づき詳細に説明する。
【００５６】
Ｂ．装置構成：
図２は、本実施例の画像処理装置としてのコンピュータ１００の構成を示す説明図である。コンピュータ１００は、ＣＰＵ１０２を中心に、ＲＯＭ１０４やＲＡＭ１０６などを、バス１１６で互いに接続して構成された周知のコンピュータである。
【００５７】
コンピュータ１００には、フレキシブルディスク１２４やコンパクトディスク１２６等のデータを読み込むためのディスクコントローラＤＤＣ１０９や、周辺機器とデータの授受を行うための周辺機器インターフェースＰ−Ｉ／Ｆ１０８、ＣＲＴ１１４を駆動するためのビデオインターフェースＶ−Ｉ／Ｆ１１２等が接続されている。Ｐ−Ｉ／Ｆ１０８には、後述するカラープリンタ２００や、ハードディスク１１８等が接続されている。また、デジタルカメラ１２０や、カラースキャナ１２２等をＰ−Ｉ／Ｆ１０８に接続すれば、デジタルカメラ１２０やカラースキャナ１２２で取り込んだ画像を印刷することも可能である。また、ネットワークインターフェースカードＮＩＣ１１０を装着すれば、コンピュータ１００を通信回線３００に接続して、通信回線に接続された記憶装置３１０に記憶されているデータを取得することもできる。
【００５８】
図３は、本実施例のカラープリンタ２００の概略構成を示す説明図である。カラープリンタ２００はシアン，マゼンタ，イエロ，ブラックの４色インクのドットを形成可能なインクジェットプリンタである。もちろん、これら４色のインクに加えて、染料濃度の低いシアン（淡シアン）インクと染料濃度の低いマゼンタ（淡マゼンタ）インクとを含めた合計６色のインクドットを形成可能なインクジェットプリンタを用いることもできる。尚、以下では場合によって、シアンインク，マゼンタインク，イエロインク，ブラックインク，淡シアンインク，短マゼンタインクのそれぞれを、Ｃインク，Ｍインク，Ｙインク，Ｋインク，ＬＣインク，ＬＭインクと略称することがあるものとする。
【００５９】
カラープリンタ２００は、図示するように、キャリッジ２４０に搭載された印字ヘッド２４１を駆動してインクの吐出およびドット形成を行う機構と、このキャリッジ２４０をキャリッジモータ２３０によってプラテン２３６の軸方向に往復動させる機構と、紙送りモータ２３５によって印刷用紙Ｐを搬送する機構と、ドットの形成やキャリッジ２４０の移動および印刷用紙の搬送を制御する制御回路２６０とから構成されている。
【００６０】
キャリッジ２４０には、Ｋインクを収納するインクカートリッジ２４２と、Ｃインク，Ｍインク，Ｙインクの各種インクを収納するインクカートリッジ２４３とが装着されている。キャリッジ２４０にインクカートリッジ２４２，２４３を装着すると、カートリッジ内の各インクは図示しない導入管を通じて、印字ヘッド２４１の下面に設けられた各色毎のインク吐出用ヘッド２４４ないし２４７に供給される。各色毎のインク吐出用ヘッド２４４ないし２４７には、４８個のノズルＮｚ　が一定のノズルピッチｋで配列されたノズル列が１組ずつ設けられている。
【００６１】
制御回路２６０は、ＣＰＵ２６１とＲＯＭ２６２とＲＡＭ２６３等から構成されており、キャリッジモータ２３０と紙送りモータ２３５の動作を制御することによってキャリッジ２４０の主走査動作および副走査動作を制御するとともに、コンピュータ１００から供給される印刷データに基づいて、各ノズルから適切なタイミングでインク滴を吐出する。こうして、制御回路２６０の制御の下、印刷媒体上の適切な位置に各色のインクドットを形成することによって、カラープリンタ２００はカラー画像を印刷することができる。
【００６２】
尚、各色のインク吐出ヘッドからインク滴を吐出する方法には、種々の方法を適用することができる。すなわち、ピエゾ素子を用いてインクを吐出する方式や、インク通路に配置したヒータでインク通路内に泡（バブル）を発生させてインク滴を吐出する方法などを用いることができる。また、インクを吐出する代わりに、熱転写などの現象を利用して印刷用紙上にインクドットを形成する方式や、静電気を利用して各色のトナー粉を印刷媒体上に付着させる方式のプリンタを使用することも可能である。
【００６３】
カラープリンタ２００は、吐出するインク滴の大きさを制御することにより、印刷用紙上に形成されるインクドットの大きさを制御することができる。以下、カラープリンタ２００で大きさの異なるインクドットを形成している方法について説明するが、その準備として、先ず、各色インクを吐出するノズルの内部構造について説明する。図４（ａ）は各色インクを吐出するノズルの内部構造を示した説明図である。各色のインク吐出用ヘッド２４４ないし２４７には、このようなノズルが複数設けられている。図示するように、各ノズルにはインク通路２５５と、インク室２５６と、インク室の上にピエゾ素子ＰＥとが設けられている。
キャリッジ２４０にインクカートリッジ２４２，２４３を装着すると、カートリッジ内のインクがインクギャラリ２５７を経由して、インク室２５６に供給される。ピエゾ素子ＰＥは、周知のように電圧を印加すると結晶構造が歪んで極めて高速に電気−機械エネルギの変換を行う素子である。本実施例では、ピエゾ素子ＰＥの両端に設けられた電極間に所定波形の電圧を印加することで、インク室２５６の側壁を変形させる。その結果、インク室２５６の容積が減少し、容積の減少分に相当するインクがインク滴ＩｐとなってノズルＮｚから吐出される。このインク滴Ｉｐがプラテン２３６に装着された印刷用紙Ｐに染み込むことで、印刷用紙上にインクドットが形成される。
【００６４】
図４（ｂ）は、ピエゾ素子ＰＥに印加する電圧波形を制御することで、吐出するインク滴の大きさを変更する原理を示した説明図である。ノズルからインク滴Ｉｐを吐出するためには、ピエゾ素子ＰＥに負の電圧を印加してインクギャラリ２５７からインク室２５６内に一旦インクを吸入し、その後、ピエゾ素子ＰＥに正電圧を印加してインク室容積を減少させて、インク滴Ｉｐを吐出させる。ここで、インクの吸引速度が適正であればインク室容積の変化量に相当するインクが流入されるが、吸引速度が速すぎると、インクギャラリ２５７とインク室２５６との間には通路抵抗があるためにインクギャラリ２５７からのインクの流入が間に合わなくなる。その結果、インク通路２５５のインクがインク室内に逆流して、ノズル付近のインク界面が大きく後退した状態となる。図４（ｂ）に実線で示した電圧波形ａは、適正な速度でインクを吸引する波形を示し、破線で示した電圧波形ｂは適正速度より大きな速度で吸引する波形の一例を示している。
【００６５】
充分なインクがインク室２５６内に供給された状態で、ピエゾ素子ＰＥに正電圧を印加すると、インク室２５６の容積減少に相当する体積のインク滴ＩｐがノズルＮｚから吐出される。これに対して、インクの供給量が不足してインク界面が大きく後退した状態で正電圧を印加すると、吐出されるインク滴は小さなインク滴となる。このように、本実施例のカラープリンタ２００では、インク滴の吐出前に印加する負の電圧波形を制御してインクの吸引速度を変更することで、吐出するインク滴の大きさを制御し、大ドット，小ドットの２種類のインクドットを形成することが可能となっている。
【００６６】
もちろん、２種類に限らずより多種類のドットを形成することも可能である。更には、微細なインク滴を一度に複数吐出して、吐出するインク滴の数を制御するといった方法を用いて、印刷用紙上に形成されるインクドットの大きさを制御してもよい。
【００６７】
以上のようなハードウェア構成を有するカラープリンタ２００は、キャリッジモータ２３０を駆動することによって、各色のインク吐出用ヘッド２４４ないし２４７を印刷用紙Ｐに対して主走査方向に移動させ、また紙送りモータ２３５を駆動することによって、印刷用紙Ｐを副走査方向に移動させる。制御回路２６０は、印刷データに従って、キャリッジ２４０の主走査および副走査を繰り返しながら、適切なタイミングでノズルを駆動してインク滴を吐出することによって、カラープリンタ２００は印刷用紙上にカラー画像を印刷している。
【００６８】
Ｃ．第１実施例の画像処理の概要：
図５は、本実施例の画像処理装置としてのコンピュータ１００が、受け取った画像データに所定の画像処理を加えることによって、印刷データに変換する処理の流れを示すフローチャートである。かかる処理は、コンピュータ１００のオペレーティングシステムがプリンタドライバ１２を起動することによって開始される。以下、図５に従って、本実施例の画像処理について説明する。
【００６９】
プリンタドライバ１２は、画像処理を開始すると、先ず初めに、変換すべきＲＧＢカラー画像データの読み込みを開始する（ステップＳ１００）。次いで、取り込んだ画像データの解像度を、カラープリンタ２００が印刷するための解像度に変換する（ステップＳ１０２）。カラー画像データの解像度が印刷解像度よりも低い場合は、線形補間を行うことで隣接画像データの間に新たなデータを生成し、逆に印刷解像度よりも高い場合は、一定の割合でデータを間引くことによって画像データの解像度を印刷解像度に変換する。
【００７０】
こうして解像度を変換すると、カラー画像データの色変換処理を行う（ステップＳ１０４）。前述したように、色変換処理とはカラー画像データの表色系を変換する処理であり、ここではＲＧＢ表色系の画像データ、すなわちＲ，Ｇ，Ｂの階調値の組み合わせによって表現されているカラー画像データを、ＣＭＹ表色系の画像データに変換する処理を行う。前述したようにカラープリンタ２００には、Ｃ，Ｍ，Ｙ，Ｋの４色のインクが搭載されているので、ＣＭＹ表色系の画像データとして、Ｃ，Ｍ，Ｙ，Ｋの各色階調値の組み合わせによって表現された画像データに変換する。
【００７１】
色変換処理は、色変換テーブル（ＬＵＴ）と呼ばれる３次元の数表を参照することによって行われる。精度良く色変換するためには、ある程度は多数の格子点を含んだＬＵＴを参照する必要があるが、多数の格子点を含んだＬＵＴを記憶しておくためには多くの記憶容量が必要となる。またＬＵＴは、印刷用紙の種類などの印刷条件の違いによって使い分けることが望ましい場合もあるので、複数種類のＬＵＴを記憶しておかなければならない場合も多く、複数種類のＬＵＴを記憶するためには、ますます多くの記憶容量が必要となる。そこで、ＬＵＴの再構築を行う。すなわち、格子点数の少ない基準ＬＵＴを記憶しておき、このＬＵＴの格子点数を増やしてＬＵＴを再構築するのである。図６（ａ）は、コンピュータ１００のＲＡＭ１０６に記憶されている基準ＬＵＴを概念的に示している。この基準ＬＵＴを再構築することで、図６（ｂ）に示したＬＵＴを生成する。尚、ＬＵＴの再構築に際しては、図６（ｂ）に示すように、基準ＬＵＴの格子点に新たな格子点を追加することに限らず、基準ＬＵＴとは全く別の格子点を設定することも可能である。図６（ｃ）は、このようにして再構築されたＬＵＴを概念的に示したものである。
【００７２】
図７は、色変換処理（図５のステップＳ１０４）の流れを詳しく示したフローチャートである。色変換処理を開始すると、先ず初めに基準ＬＵＴを選択する（ステップＳ２００）。すなわち、また、色変換テーブルはインクの種類や印刷用紙、その他印刷条件の違いによって適切なＬＵＴを使い分けることが望ましいことから、コンピュータ１００のＲＡＭ１０６には、印刷条件に応じて複数種類の基準ＬＵＴが記憶されている。そこで、図７に示した色変換処理を開始すると、先ず初めに色変換に用いるＬＵＴを１つ選択する。
【００７３】
また、基準ＬＵＴは、予めエンコード処理が施された状態、すなわち、格子点に記憶されているＣ，Ｍ，Ｙ，Ｋ各色の階調値は、エンコード係数が乗算された階調値が記憶されている。図８は、エンコード係数の一例を例示した説明図である。エンコード係数は、高い精度が必要な領域ほど大きな値となるように、画像データの階調値に応じて予め適切な値が設定されている。尚、本実施例では、エンコード処理はエンコード係数を乗算する処理であるものとして説明するが、単にエンコード係数を乗算することに限られるものではない。例えば、画像データを、該画像データの階調値を変数とする所定の数式によって変換することによってエンコード処理を行うことも可能である。
【００７４】
次いで、印刷条件が画質を優先する設定になっているか否かを判断する（ステップＳ２０２）。特に画質を優先する設定になっていない場合は（ステップＳ２０２：ｎｏ）、そのまま選択した基準ＬＵＴの再構築を行う（ステップＳ２０４）。図６を用いて説明したように、ＬＵＴの再構築は、予め設定されているＬＵＴの格子点についてＣ，Ｍ，Ｙ，Ｋ各色の画像データを、基準ＬＵＴに設定されている各色の階調値に基づいて線形補間することによって行う。基準ＬＵＴは予めエンコード処理が施されているので、ＬＵＴを再構築するだけで、エンコード済みの再構築ＬＵＴを生成することができる。次いで、得られたエンコード済み再構築ＬＵＴを参照しながら、ＲＧＢ画像データをＣＭＹＫ各色による画像データに変換する（ステップＳ２１２）。こうすれば、基準ＬＵＴを再構築するだけで迅速にエンコード済み再構築ＬＵＴを生成することができ、延いては迅速に色変換処理を行うことができる。
【００７５】
しかし、前述したようにエンコード処理済みの基準ＬＵＴをそのまま再構築したのでは、色変換精度が低下する場合がある。そこで、印刷条件の設定が画質優先となっている場合は（ステップＳ２０２：ｙｅｓ）、次のようにしてＬＵＴの再構築を行う。先ず、ステップＳ２００で選択した基準ＬＵＴのデコード処理を行う（ステップＳ２０６）。デコード処理は、エンコード処理の逆変換に相当する処理であり、デコード処理用の変換テーブルを参照することによって迅速に変換することができる。図９は、デコード処理用の変換テーブルを例示した説明図である。デコード処理用の変換テーブルには、画像データの階調値と該階調値にデコード処理を施して得られる階調値とが、対応付けられて記憶されている。ステップＳ２０６では、基準ＬＵＴの各格子点に記憶されているエンコード処理済みのＣ，Ｍ，Ｙ，Ｋ各色画像データを読み出して、図９に示すような変換テーブルを参照することにより、基準ＬＵＴのデコード処理を行う。
【００７６】
図９に示したデコード処理用の変換テーブルは、簡便には、次のようにして設定することができる。先ず、画像データの階調値と、該階調値にエンコード処理を施して得られるエンコード済み階調値との対応関係を求める。図１０は、画像データの階調値に、図８に示したエンコード係数を乗算することによって得られた対応関係を示した説明図である。図では、エンコード処理前の階調値を横軸に取り、エンコード済みの階調値を縦軸にとって表している。デコード処理は、エンコード済みの階調値を、エンコード処理される前の階調値に変換する処理であるから、図１０に示した対応関係を、縦軸に取ったエンコード済みの階調値の側から見ることで、直ちにデコード処理を行うことができる。例えば、エンコード済みの階調値が６４であるとすると、エンコード処理前の階調値はＤＥａと求めることができる。同様に、エンコード済みの階調値１２８に対しては、エンコード処理前の階調値はＤＥｂとなり、エンコード済み階調値１９２に対してはエンコード処理前は階調値ＤＥｃと求めることができる。図９に示した変換テーブルは、このようにして、エンコード済みの階調値に対するエンコード処理前の階調値、すなわちデコード処理済みの階調値を求めておき、テーブルの形で記憶しておいたものである。
【００７７】
尚、図９に示したデコード処理用の変換テーブルには、必ずしも全ての階調値に対してデコード処理済みの階調値が設定されている必要はなく、予め離散的に設定しておいた複数の階調値に対してだけデコード済みの階調値を記憶しておき、補間演算を行うことによって必要なデコード済み階調値を算出することとしても良い。こうすれば、デコード処理用の変換テーブルを記憶しておくための記憶容量を、節約することが可能となるので好ましい。
【００７８】
また、エンコード処理がエンコード係数を乗算するのではなく、階調値を変数とする関数として設定されており、解析的な手法によって逆関数を導き出すことができる場合は、エンコード済みの階調値を逆関数に代入することによってデコード処理を行うことも可能である。
【００７９】
こうして基準ＬＵＴのデコード処理を行ったら（図７のステップＳ２０６）、続いて、デコード処理した基準ＬＵＴの再構築を行う（ステップＳ２０８）。すなわち、図６（ａ）に示す基準ＬＵＴに基づいて線形補間を行うことにより、図６（ｂ）あるいは図６（ｃ）に示すように、新たな格子点を含んだ再構築ＬＵＴを生成する。
【００８０】
ＬＵＴを再構築したら、各格子点のＣ，Ｍ，Ｙ，Ｋ各色の階調値に、図８に例示したエンコード係数を乗算することで、エンコード済みの再構築ＬＵＴを生成する（ステップＳ２１０）。
【００８１】
以上のようにしてエンコード済みの再構築ＬＵＴが得られたら、このＬＵＴを参照しながら、ＲＧＢ画像データをＣＭＹＫ各色による画像データに変換する処理を行う（ステップＳ２１２）。図１７を用いて前述したように、こうして得られたエンコード済みの再構築ＬＵＴを用いて色変換すれば、精度良く色変換することが可能である。
【００８２】
図５のステップＳ１０４では、このように、選択した基準ＬＵＴから再構築ＬＵＴを生成し、この再構築ＬＵＴを参照することによってＲＧＢ画像データの色変換を行う。
【００８３】
上述した色変換処理で得られた画像データにはエンコード処理が施されている。そこで本実施例の画像処理では、色変換処理に続いてデコード処理を行う（ステップＳ１０６）。前述したように、デコード処理は、デコード処理用の変換テーブルを参照することによって迅速に行うことができる。
【００８４】
デコード処理を終了すると、ドット量データ変換処理を開始する（ステップＳ１０８）。ドット量データ変換処理とは、画像データを、プリンタが印刷用紙上に形成可能な各種ドットについてのドット密度を示すドット量データに変換する処理である。前述したように、本実施例のカラープリンタ２００は、小ドットと大ドットの２種類のドットを形成可能である。従って、ステップＳ１０８のドット量データ変換処理では、色変換されてデコード処理が施された画像データを、小ドットおよび大ドットの各ドットについてドット密度を示すドット量データに、Ｃ，Ｍ，Ｙ，Ｋの各色毎に変換する。かかる変換は、図１１に示すような、ドット量テーブルを参照することによって行う。
【００８５】
図１１に示すように、ドット量テーブルには、Ｃ，Ｍ，Ｙ，Ｋ各色毎に、階調値に対して小ドットおよび大ドットのドット密度に関するデータが設定されている。ここで言うドット密度とは、ある領域内の画素にドットが形成される密度を意味している。例えばドット量データの値「０」は、ドットが全く形成されない状態を示している。また、ドット量データの値「１２８」は、約半分の画素にドットが形成されている状態を示し、ドット量データの値「２５５」は全ての画素にドットが形成されている状態を示している。
【００８６】
ドット量テーブルは、各色の階調値に対して次のように設定されている。Ｃ色の画像データを変換する場合を例にとって説明すると、入力階調値が「０」の場合は、小ドットおよび大ドットいずれのドット量データの値も「０」に設定されている。ドット量データ「０」の状態ではドットは全く形成されないので、印刷用紙上には用紙の地色（通常は白）がそのまま現れた状態となっている。入力階調値が増加すると、次第に小ドットのドット密度が増加していき、これに伴って印刷用紙上に表現される色彩も用紙の地色から次第にシアン色に変化していく。
入力階調値が所定値以上になると、小ドットのドット密度が減少に転じ、小ドットに置き換わるようにして大ドットが形成され始める。このように、小ドットを大ドットに置き換えていけば、印刷用紙上に表現される色彩は次第に濃いシアン色となっていく。入力階調値が所定値に達すると、全ての小ドットが大ドットに置き換わり、以降は入力階調値の増加とともに大ドットのドット密度が増加し、やがてドット量データの値「２５５」に達してすべての画素に大ドットが形成された状態となる。このように、ドット量テーブルは、入力階調値が増加するに従って、印刷用紙上に表現される色が次第に濃いシアン色に変化するように設定されている。図５のステップＳ１０８では、このようなドット量テーブルを参照することにより、色変換されてデコード処理が施された画像データを、Ｃ，Ｍ，Ｙ，Ｋの各色毎に、小ドットおよび大ドットのドット量データに変換する処理を行う。
【００８７】
以上のようにして、色変換処理およびドット量データ変換処理を終了すると、次はハーフトーン処理を開始する（図５のステップＳ１１０）。ハーフトーン処理とは次のような処理である。ＲＧＢ画像データは、ドット量データ変換処理が施された後の状態では、Ｃ，Ｍ，Ｙ，Ｋの各色の大ドットおよび小ドットについて、印刷用紙上に形成すべきドット密度を示すドット量データに変換されている。これらドット量データは、階調値０から２５５の２５６階調を有するデータとして表現されている。これに対し、本実施例のカラープリンタ２００は、各色毎に大小２種類のドットを形成可能であるとは言え、各ドット種類に着目すれば「ドットを形成する」，「ドットを形成しない」のいずれかの状態しか採り得ない。そこで、各ドット種類毎に２５６階調を有するドット量データを、カラープリンタ２００が表現可能な２階調で表現された画像データに変換する必要がある。
このような階調数の変換を行う処理がハーフトーン処理である。ハーフトーン処理を行う手法には、誤差拡散法がもっとも一般的に使用されるが、もちろん組織的ディザ法など、他の周知な方法を適用することも可能である。
【００８８】
こうしてハーフトーン処理を終了したら、プリンタドライバはインターレース処理を開始する（ステップＳ１１２）。インターレース処理とは、ドットの形成有無を表す形式に変換された画像データを、ドットの形成順序を考慮しながらカラープリンタ２００に転送すべき順序に並べ替える処理である。プリンタドライバは、インターレース処理を行って最終的に得られた画像データを、印刷データとしてカラープリンタ２００に出力する（ステップＳ１１４）。カラープリンタ２００は、印刷データに従って、各色のインクドットを印刷媒体上に形成する。
その結果、画像データに対応したカラー画像が印刷媒体上に印刷される。
【００８９】
以上に説明したように、本実施例の画像処理では、基準ＬＵＴを予めエンコード処理が施された状態で記憶しておく。そして、特に画質を優先する設定になっていない場合は、基準ＬＵＴをそのまま再構築することによってエンコード済み再構築ＬＵＴを生成することで、迅速に色変換処理を行う。こうすれば、画像処理に要する時間が短くなるので、迅速に画像を印刷することができる。また、エンコード済みの再構築ＬＵＴを用いて色変換しているために、通常の要求に対しては十分な精度で色変換を行うことができ、延いては十分な画質の画像を印刷することができる。
【００９０】
また、特に画質を優先する設定になっている場合には、基準ＬＵＴを一旦デコードしてから再構築し、得られた再構築ＬＵＴにエンコード処理を施すことによって、エンコード済みの再構築ＬＵＴを生成する。こうして得られた再構築ＬＵＴを参照しながら色変換すれば、極めて精度良く色変換することができるので、特に高い画質が要求される場合でも、十二分に高画質な画像を印刷することが可能となる。
【００９１】
Ｄ．第２実施例の画像処理：
以上に説明した第１実施例の画像処理では、色変換処理によって得られたエンコード済みの画像データを、一旦、デコード処理を施してからドット量データに変換した。しかし、プリンタドライバ１２によって行われる画像処理では、色変換された画像データをドット量データに変換する処理は必須の処理であることから、デコード処理とドット量データ変換処理とを、一つの処理で同時に行うこととしても良い。以下では、こうした第２実施例の画像処理について説明する。
【００９２】
図１２は、第２実施例の画像処理の流れを示すフローチャートである。第２実施例の画像処理は、前述した第１実施例の画像処理中のデコード処理およびドット量データ変換処理を、一つの処理で行っている点のみが異なっている。以下では、第１実施例の画像処理との相違点を中心に、第２実施例の画像処理について簡単に説明する。
【００９３】
第２実施例においても画像処理を開始すると、先ず初めに、変換すべきＲＧＢカラー画像データの読み込み（ステップＳ３００）、次いで、解像度を印刷解像度に変換する（ステップＳ３０２）。
【００９４】
解像度を変換したら、第１実施例の画像処理と同様にして色変換処理を行う（ステップＳ３０４）。すなわち、記憶されている複数の基準ＬＵＴの中から１つのＬＵＴを選択する。基準ＬＵＴは予めエンコード処理が施された状態のＬＵＴ、すなわちエンコード済み基準ＬＵＴである。印刷条件が画質を優先する設定になっていない場合は、選択した基準ＬＵＴを再構築することによってエンコード済みの再構築ＬＵＴを生成する。印刷条件が画質を優先する設定になっている場合は、エンコード済み基準ＬＵＴを一旦、デコードしてから再構築し、再構築したＬＵＴにエンコード処理を施すことによって、エンコード済み再構築ＬＵＴを生成する。こうして生成したエンコード済み再構築ＬＵＴを参照することにより、ＲＧＢ画像データをＣ，Ｍ，Ｙ，Ｋ各色の画像データに変換する。
【００９５】
こうして得られた画像データは、エンコード処理が施された画像データであり、デコード処理が必要である。また、ハーフトーン処理を行うためには、画像データをドット量データに変換しておく処理も必要である。そこで、第２実施例の画像処理においては補正ドット量データ変換処理を行うことによって、画像データをデコードする処理とドット量データに変換する処理とを同時に行う（ステップＳ３０６）。
【００９６】
補正ドット量データ変換処理は、第１実施例におけるドット量データ変換処理とほぼ同様にして行うことができる。すなわち、第１実施例のドット量データ変換処理では図１１に示したドット量テーブルを参照することによって、画像データを、Ｃ，Ｍ，Ｙ，Ｋ各色毎にドット量データに変換した。これと同様に、第２実施例の補正ドット量データ変換処理においては、図１３に示す補正ドット量テーブルを参照することによって、エンコード処理が施された画像データをエンコード処理が施されていないドット量データに変換する。図１３中で、太い破線は小ドットについての補正ドット量テーブルを示しており、太い実線は大ドットについての補正ドット量テーブルを示している。また図１３には、参考として、小ドットについてのドット量テーブルを細い破線で、大ドットについてのドット量テーブルを細い実線で示している。図１３に示されているように、補正ドット量テーブルを用いて画像データを変換すると、ドット量データは小さめの値に変換される。一例として、画像データの階調値が小さい領域では、第２実施例の補正ドット量テーブルに設定されたデータ（太い破線）は、第１実施例のドット量テーブルに設定されたデータ（細い破線）よりも小さな値となっている。また、中間階調の領域（例えば、画像データの階調値１００付近）では、小ドットについては補正ドット量テーブルの方が大きくなっているものの、大ドットについては補正ドット量テーブル（太い実線）ではドットが発生しておらず、従って、この領域でも補正ドット量テーブルによれば、小さめの値が得られることになる。
【００９７】
このように、第２実施例の補正ドット量テーブルを用いて変換した場合、第１実施例のドット量テーブルを用いて変換する場合よりも小さめの値に変換されるのは、補正ドット量データ変換処理中で、画像データのデコードを同時に行っているためである。換言すれば、補正ドット量テーブルを適切に設定しておけば、かかるテーブルを参照して画像データを変換するだけで、デコード処理も同時に行うことが可能となるのである。こうした補正ドット量テーブルを設定する方法については後述する。
【００９８】
こうしてＣ，Ｍ，Ｙ，Ｋの各色毎にドット量データが得られたら、ハーフトーン処理（ステップＳ３０８）およびインターレース処理（ステップＳ３１０）を施した後、得られたデータを印刷データとしてカラープリンタ２００に出力する（ステップＳ３１２）。カラープリンタ２００は、この印刷データに従って、大ドット、小ドットを各色毎に形成することによって、カラー画像を印刷することが可能となる。
【００９９】
以上に説明した第２実施例においては、図１３に示すような補正ドット量テーブルを参照することにより、画像データをデコードする処理およびドット量データに変換する処理を、一つの処理で一度に行うことができる。このため、画像処理に要する時間が短縮化され、画像を迅速に印刷することが可能となる。
【０１００】
ここで、図１３に示したような補正ドット量テーブルを設定する方法について説明する。理解の便宜から、先ず初めに、適切な補正ドット量テーブルを設定する原理について、図１３を参照しながら簡単に説明する。その後、図１４のフローチャートに従って、実際にテーブルを設定する処理について説明する。
【０１０１】
第２実施例の補正ドット量テーブルは、第１実施例で用いたドット量テーブルを修正することによって、比較的簡単に設定することができる。図１３を参照しながら、詳しく説明する。ドット量テーブルには、ＣＭＹＫ各色の画像データの階調値に対して、小ドットおよび大ドットについてのドット量データが設定されている。第１実施例において説明したように、ここで言うＣＭＹＫ各色の画像データは、デコード処理が施されて、エンコード処理が施されていない状態に戻された画像データである。エンコード処理の施されていない画像データ（デコード処理が施された画像データ）に対しては、ドット量データを参照することによって、ドット量データに変換することができる。例えば、画像データの階調値「６４」に対しては、図１３中に示された細い破線を参照することによって小ドットのドット量データは「ｄｓ６４」、同じく図１３中に示された細い実線を参照することによって大ドットのドット量データは「０」に変換することができる。
【０１０２】
次に、エンコード処理が施された画像データ（すなわち、デコード処理が施される前の画像データ）について考える。エンコード処理は、通常の画像データにエンコード係数を乗算することによって行われる。従って、エンコード処理を施していない状態の画像データ（デコード処理を施した画像データ）の階調値が「６４」であったとすると、エンコード処理が施された画像データの階調値は、階調値６４にエンコード係数を乗算することによって、階調値「Ｄ６４」となる。これを逆から見れば、次のようになる。エンコード済みの画像データとして階調値「Ｄ６４」が得られた場合、この画像データをデコード処理すれば階調値６４となり、ドット量テーブルを参照することにより、小ドットのドット量データ「ｄｓ６４」、大ドットのドット量データ「０」に変換されることになる。
【０１０３】
このことから明らかなように、補正ドット量テーブルは、ドット量テーブルを次のようにして修正することによって容易に得ることができる。先ず、ドット量テーブルの横軸に取った階調値（上述の例では、階調値６４）を１つ選択し、その階調値に対応するドット量データ（上述の例では、小ドットについてはｄｓ６４、大ドットについては０）を取得する。次いで、選択した階調値にエンコード係数を乗算し、得られた階調値（上述の例では、階調値Ｄ６４）に対するドット量データとして、先の取得しておいたドット量データ（ｄｓ６４および０）を記憶する。図１３に示した白抜きの矢印は、こうした操作を行うことにより、ドット量テーブルを修正して補正ドット量テーブルを設定している様子を概念的に表している。
【０１０４】
次に、実際に補正ドット量テーブルを設定する処理について説明する。図１４は、かかる処理の流れを示すフローチャートである。補正ドット量テーブルはＣＭＹＫ各色毎に設定されており、以下の処理も各色毎に行われるが、説明が煩雑となることを避けるために、以下では色を特定せずに説明する。
【０１０５】
補正ドット量テーブル設定処理を開始すると、先ず初めに、補正ドット量データを設定しようとする処理階調値を１つ選択する（ステップＳ４００）。処理階調値は、図１３に示した補正ドット量テーブルでは横軸の座標値となる階調値である。本実施例では階調値が１バイトで表現されているものとしているので、処理階調値は０から２５５の範囲の整数値をとる。次いで、選択した処理階調値に対応するドット量データを、ドット量テーブルから読み出して記憶しておく（ステップＳ４０２）。
【０１０６】
処理階調値に対応するドット量データを記憶したら、次いで、処理階調値にエンコード処理を施した階調値を算出する（ステップＳ４０４）。ここでは、エンコード処理はエンコード係数を乗算する処理であるとしているから、処理階調値にエンコード係数を乗算した階調値を算出する。こうして得られた階調値は、整数値に丸めておく。尚、エンコード処理を単にエンコード係数を乗算するのではなく、画像データの階調値を変数とする所定に数式によって変換する処理とすることも可能である。
【０１０７】
次いで、ステップＳ４０２において読み出しておいたドット量データを、ステップＳ４０４で算出したエンコード処理済みの処理階調値に対する補正ドット量データとして記憶する（ステップＳ４０６）。
【０１０８】
以上のようにして、１つの処理階調値について補正ドット量データを設定したら、全ての処理階調値について補正ドット量データを設定したか否かを判断し（ステップＳ４０８）、未設定の階調値が残っている場合は、ステップＳ４００に戻って、全ての階調値の処理が終了するまで、続く一連の処理を繰り返す。こうして、全ての階調値について処理が完了したら、補正ドット量テーブル設定処理を終了する。
【０１０９】
図１２に示した第２実施例の画像処理では、この様にして設定された補正ドット量テーブルを参照することにより、エンコード処理済みの画像データをデコードする処理と、ドット量データに変換する処理とを、同時に行うことによって、迅速に画像処理を行うことが可能である。
【０１１０】
以上、各種の実施例について説明してきたが、本発明は上記すべての実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することができる。例えば、上述の機能を実現するソフトウェアプログラム（アプリケーションプログラム）を、通信回線を介してコンピュータシステムのメインメモリまたは外部記憶装置に供給し実行するものであってもよい。もちろん、ＣＤ−ＲＯＭやフレキシブルディスクに記憶されたソフトウェアプログラムを読み込んで実行するものであっても構わない。
【０１１１】
また、上述した各種実施例では、ハーフトーン処理を含む画像データ変換処理はコンピュータ内で実行されるものとして説明したが、画像データ変換処理の一部あるいは全部をプリンタ側、あるいは専用の画像処理装置を用いて実行するものであっても構わない。
【０１１２】
更には、画像表示装置は、必ずしも印刷媒体上にインクドットを形成して画像を印刷する印刷装置に限定されるものではなく、例えば、液晶表示画面上で輝点を適切な密度で分散させることにより、階調が連続的に変化する画像を表現する液晶表示装置であっても構わない。
【図面の簡単な説明】
【図１】印刷システムを例にとって発明の概要を示した説明図である。
【図２】本実施例の画像処理装置としてのコンピュータの構成を示す説明図である。
【図３】本実施例の画像表示装置としてのプリンタの概略構成図である。
【図４】本実施例のプリンタが大きさの異なるドットを形成する原理を示す説明図である。
【図５】第１実施例の画像処理装置で行われる画像処理の流れを示すフローチャートである。
【図６】基準の色変換テーブル（基準ＬＵＴ）と基準ＬＵＴを再構築したＬＵＴとを例示した説明図である。
【図７】画像処理中で行われる色変換処理の流れを示したフローチャートである。
【図８】エンコード係数を例示する説明図である。
【図９】デコード処理用の変換テーブルを例示する説明図である。
【図１０】エンコード処理前の階調値と、エンコード処理済みの階調値との対応関係を示す説明図である。
【図１１】ドット量テーブルを参照しながら画像データをドット量データに変換する様子を示す説明図である。
【図１２】第２実施例の画像処理の流れを示すフローチャートである。
【図１３】ドット量テーブルを修正することで補正ドット量テーブルを設定する原理を示す説明図である。
【図１４】補正ドット量テーブルを設定する処理の流れを示すフローチャートである。
【図１５】エンコード処理を行うことによって解像度の不足を補うことができる原理を示す説明図である。
【図１６】エンコード処理済みの基準ＬＵＴを再構築すると、色変換精度が低下することが起こり得るメカニズムを示す説明図である。
【図１７】エンコード処理済みの基準ＬＵＴをデコードしてから再構築することで、色変換精度の低下を確実に回避することができる原理を示す説明図である。
【符号の説明】
１０…コンピュータ
１２…プリンタドライバ
２０…カラープリンタ
１００…コンピュータ
１０２…ＣＰＵ
１０４…ＲＯＭ
１０６…ＲＡＭ
１０８…周辺機器インターフェースＰ−Ｉ／Ｆ
１０９…ディスクコントローラＤＤＣ
１１０…ネットワークインターフェースカードＮＩＣ
１１２…ビデオインターフェースＶ−Ｉ／Ｆ
１１４…ＣＲＴ
１１６…バス
１１８…ハードディスク
１２０…デジタルカメラ
１２２…カラースキャナ
１２４…フレキシブルディスク
１２６…コンパクトディスク
２００…カラープリンタ
２３０…キャリッジモータ
２３５…紙送りモータ
２３６…プラテン
２４０…キャリッジ
２４１…印字ヘッド
２４２…インクカートリッジ
２４３…インクカートリッジ
２４４…インク吐出用ヘッド
２５５…インク通路
２５６…インク室
２５７…インクギャラリ
２６０…制御回路
２６１…ＣＰＵ
２６２…ＲＯＭ
２６３…ＲＡＭ
３００…通信回線
３１０…記憶装置
【図１】
2004140601.tif 000003
【図２】
2004140601.tif 000004
【図３】
2004140601.tif 000005
【図４】
2004140601.tif 000006
【図５】
2004140601.tif 000007
【図６】
2004140601.tif 000008
【図７】
2004140601.tif 000009
【図８】
2004140601.tif 000010
【図９】
2004140601.tif 000011
【図１０】
2004140601.tif 000012
【図１１】
2004140601.tif 000013
【図１２】
2004140601.tif 000014
【図１３】
2004140601.tif 000015
【図１４】
2004140601.tif 000016
【図１５】
2004140601.tif 000017
【図１６】
2004140601.tif 000018
【図１７】
2004140601.tif 000019