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