JP2005138421A - 圧縮した画像データに画像処理を行って画像を出力する画像出力装置 - Google Patents
圧縮した画像データに画像処理を行って画像を出力する画像出力装置 Download PDFInfo
- Publication number
- JP2005138421A JP2005138421A JP2003377170A JP2003377170A JP2005138421A JP 2005138421 A JP2005138421 A JP 2005138421A JP 2003377170 A JP2003377170 A JP 2003377170A JP 2003377170 A JP2003377170 A JP 2003377170A JP 2005138421 A JP2005138421 A JP 2005138421A
- Authority
- JP
- Japan
- Prior art keywords
- data
- image
- pixel
- dot
- image data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Color Image Communication Systems (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Ink Jet (AREA)
- Facsimile Image Signal Circuits (AREA)
- Record Information Processing For Printing (AREA)
- Editing Of Facsimile Originals (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
【課題】 画素数が増加してもメモリ容量を増加させる迅速に画像を印刷する。
【解決手段】 画像データを画素毎にドット形成の有無を表すドットデータに一旦変換して画像を印刷する印刷装置において、ドット形成の有無を予め決定可能な特定画素を除くことによって画像データを圧縮してから、ドットデータ(圧縮ドットデータ)に変換する。次いで、印刷用紙上に実際にドットを形成する前の段階で、圧縮ドットデータに特定画素についてのドット形成有無を組み込んで、特定画素を含んだドットデータを合成し、合成したドットデータに基づいて印刷用紙上にドットを形成する。こうすれば、圧縮した状態で画像処理を施すことができるので、処理の迅速化を図ることができるとともに、処理のために要するメモリ容量も抑制することが可能となる。
【選択図】 図1
【解決手段】 画像データを画素毎にドット形成の有無を表すドットデータに一旦変換して画像を印刷する印刷装置において、ドット形成の有無を予め決定可能な特定画素を除くことによって画像データを圧縮してから、ドットデータ(圧縮ドットデータ)に変換する。次いで、印刷用紙上に実際にドットを形成する前の段階で、圧縮ドットデータに特定画素についてのドット形成有無を組み込んで、特定画素を含んだドットデータを合成し、合成したドットデータに基づいて印刷用紙上にドットを形成する。こうすれば、圧縮した状態で画像処理を施すことができるので、処理の迅速化を図ることができるとともに、処理のために要するメモリ容量も抑制することが可能となる。
【選択図】 図1
Description
本発明は、出力媒体上にドットを形成して画像を出力する技術に関し、詳しくは、画像データに所定の画像処理を行って、得られたデータに基づいて画像を出力する技術に関する。
印刷用紙や液晶表示画面などの出力媒体上にドットを形成することによって画像を出力する画像出力装置は、各種画像機器の出力装置として広く使用されている。また、今日では、有機EL(Electro-Luminescence)やいわゆる電子インクなどを利用した新たな画像出力装置も各種提案されている。これら画像出力装置では、通常、画像は格子状に細分された複数の画素の集合として取り扱われており、画素毎にドット形成の有無を表すデータ(ドットデータ)に従って各画素にドットを形成することにより画像を出力している。ドットデータは、画像のデータに適切な画像処理を施してやることで生成することができ、そのための画像処理手法としては、ディザ法や誤差拡散法と呼ばれる方法を初めとして、周知の種々の手法を適用することができる。このようにして生成したドットデータを受け取ると、画像出力装置は、ドットデータに従ってそれぞれの画素にドットを形成することによって画像を出力している。
こうした画像出力装置では、出力画像の高画質化あるいは大型化の要請に対応するべく、1つの画像を構成している画素数が次第に増加する傾向にある。画素数を増加させてやれば、出力画質を向上させたり、あるいは画質を低下させることなく大きな画像を出力することが可能となる(例えば、特許文献1)。
しかし、画素数が増加するとドットデータのデータ量も増加するので、画像出力装置に搭載すべきメモリの記憶容量が増加してしまうという問題がある。加えて、画素数が増加すれば、ドットデータを生成するための画像処理に要する時間や、画像処理のために必要な記憶容量も増加してしまうという問題がある。
この発明は、従来技術が有する上述した課題を解決するためになされたものであり、画像を構成する画素数が増加した場合でも、必要な記憶容量や画像処理時間の増加といった弊害を生じさせることなく、高画質な画像を迅速に出力可能な技術を提供することを目的とする。
上述した課題の少なくとも一部を解決するために、本発明の画像出力装置は次の構成を採用した。すなわち、
画素毎にドット形成の有無を表すドットデータを、画像データに所定の画像処理を加えることによって生成し、該ドットデータに基づいて出力媒体上にドットを形成することにより画像を出力する画像出力装置であって、
前記画像データの中から、ドット形成の有無を予め決定可能な所定の画像データを有する画素たる特定画素を検出して、前記画像中での画素位置を記憶しておく特定画素位置記憶手段と、
前記画像データから前記特定画素についての画像データを除いた圧縮画像データを生成して所定の画像処理を加えることにより、該圧縮画像データについての前記ドットデータたる圧縮ドットデータを生成する圧縮ドットデータ生成手段と、
前記特定画素に対応するドット形成の有無を、前記記憶しておいた画素位置に基づいて前記圧縮ドットデータに組み込むことにより、前記画像データに対する前記ドットデータを合成するドットデータ合成手段と、
前記合成したドットデータに基づいて前記出力媒体上にドットを形成するドット形成手段と
を備えることを要旨とする。
画素毎にドット形成の有無を表すドットデータを、画像データに所定の画像処理を加えることによって生成し、該ドットデータに基づいて出力媒体上にドットを形成することにより画像を出力する画像出力装置であって、
前記画像データの中から、ドット形成の有無を予め決定可能な所定の画像データを有する画素たる特定画素を検出して、前記画像中での画素位置を記憶しておく特定画素位置記憶手段と、
前記画像データから前記特定画素についての画像データを除いた圧縮画像データを生成して所定の画像処理を加えることにより、該圧縮画像データについての前記ドットデータたる圧縮ドットデータを生成する圧縮ドットデータ生成手段と、
前記特定画素に対応するドット形成の有無を、前記記憶しておいた画素位置に基づいて前記圧縮ドットデータに組み込むことにより、前記画像データに対する前記ドットデータを合成するドットデータ合成手段と、
前記合成したドットデータに基づいて前記出力媒体上にドットを形成するドット形成手段と
を備えることを要旨とする。
また、上記の画像出力装置に対応する本発明の画像出力方法は、
画素毎にドット形成の有無を表すドットデータを、画像データに所定の画像処理を加えることによって生成し、該ドットデータに基づいて出力媒体上にドットを形成することにより画像を出力する画像出力方法であって、
前記画像データの中から、ドット形成の有無を予め決定可能な所定の画像データを有する画素たる特定画素を検出して、前記画像中での画素位置を記憶しておく第1の工程と、
前記画像データから前記特定画素についての画像データを除いた圧縮画像データを生成して所定の画像処理を加えることにより、該圧縮画像データについての前記ドットデータたる圧縮ドットデータを生成する第2の工程と、
前記特定画素に対応するドット形成の有無を、前記記憶しておいた画素位置に基づいて前記圧縮ドットデータに組み込むことにより、前記画像データに対する前記ドットデータを合成する第3の工程と、
前記合成したドットデータに基づいて前記出力媒体上にドットを形成する第4の工程と
を備えることを要旨とする。
画素毎にドット形成の有無を表すドットデータを、画像データに所定の画像処理を加えることによって生成し、該ドットデータに基づいて出力媒体上にドットを形成することにより画像を出力する画像出力方法であって、
前記画像データの中から、ドット形成の有無を予め決定可能な所定の画像データを有する画素たる特定画素を検出して、前記画像中での画素位置を記憶しておく第1の工程と、
前記画像データから前記特定画素についての画像データを除いた圧縮画像データを生成して所定の画像処理を加えることにより、該圧縮画像データについての前記ドットデータたる圧縮ドットデータを生成する第2の工程と、
前記特定画素に対応するドット形成の有無を、前記記憶しておいた画素位置に基づいて前記圧縮ドットデータに組み込むことにより、前記画像データに対する前記ドットデータを合成する第3の工程と、
前記合成したドットデータに基づいて前記出力媒体上にドットを形成する第4の工程と
を備えることを要旨とする。
こうした本発明の画像出力装置および画像出力方法においては、画像データに所定の画像処理を加えることによって、画素毎にドット形成の有無を表したデータたるドットデータを生成し、生成したドットデータに基づいて出力媒体上にドットを形成することによって画像を出力する。ここで、画像処理を開始するにあたっては、画像処理を行わなくてもドット形成の有無を決定可能な所定の画像データを有する画素(特定画素)を予め検出して、画像中での画素位置を記憶しておく。そして、画像データから特定画素を除いた圧縮画像データについて画像処理を加えることにより、特定画素以外の画素についてのドットデータ(圧縮ドットデータ)を生成する。次いで、生成した圧縮ドットデータに、特定画素についてのドット形成の有無を組み込むことによって、特定画素を含む各画素についてドット形成の有無を表すドットデータを合成する。画像中での特定画素の画素位置は予め記憶してあるので、特定画素についてのドット形成の有無は、記憶されている画素位置に基づいて適切に組み込むことができる。
このようにしてドットデータを合成してやれば、特定画素を除いた画素についてだけ画像処理を行えばよい。このため、画像処理によって得られるデータ(圧縮ドットデータ)のデータ量を小さくすることができるので、その分だけ必要な記憶容量を抑制することが可能となる。また、画像処理の対象となる画素数が減少するので、画像処理を迅速に行うことが可能となるとともに、画像処理を実行するために必要な記憶容量も抑制することができる。更に、画像処理によって得られるデータのデータ量が小さくなっているので、画像の出力と画像処理とが別体に構成された部分で行われる場合にも、画像処理を行った部分から画像を出力する部分にデータを迅速に供給することができ、延いては画像を迅速に出力することができるという利点も得ることができる。
こうした画像出力装置においては、次のような画素を特定画素として検出することとしても良い。すなわち、画像データが上限値あるいは上限値付近の値を取る画素、若しくは、画像データが下限値あるいは下限値付近の値を取る画素を、特定画素として検出することとしても良い。ここで、上限値付近の値としては、予め適切な第1の閾値を定めておき、かかる閾値より大きな値であれば、上限値付近の値と判断することができる。また、下限値付近の値としては、第1の閾値より小さくな第2の閾値を予め適切に定めておき、かかる閾値より小さな値であれば、下限値付近の値と判断することができる。
画像データが上限値あるいは下限値となる画素については、画像処理を行わなくてもドット形成の有無を決定することが可能である。また、画像データが上限値付近の画素であれば、多くの場合は、上限値を取る画素に準じて扱っても実際上の問題は生じない。同様に、下限値付近の画素であれば、下限値を取る画素に準じて扱っても実際上の問題は生じないことが多い。従って、このような画素を特定画素として検出してやれば、適切に且つ簡便に特定画素を検出することが可能となるので好適である。
特に、画像データが、RGB各色についての階調値を画素毎に記憶したデータ(RGB画像データ)である場合は、これらRGB各色についての階調値がすべて上限値(あるいは上限値付近)となる画素、若しくはすべて下限値(あるいは下限値付近)となる画素を、特定画素として検出することとしても良い。
RGB各色の階調値がすべて上限値であるか、すべて下限値となる画素については、画像処理を行わなくてもドット形成の有無を判断することができる。また、RGB各色の階調値がすべて上限値付近であるか、すべて下限値付近となる画素についても、これらを上限値となる画素、あるいは下限値となる画素に準じて扱っても実際上の問題が生じることはない。従って、このような画素を特定画素として検出してやれば、画像データをRGB画像データの段階で圧縮することができるので、後述する色変換と呼ばれる処理を含む多くの画像処理を、圧縮した画像データに対して行うことが可能となる。このように多くの画像処理を圧縮した画像データに対して行うこととすれば、迅速に画像処理を行うことが可能となる。
また、画像出力装置が、出力媒体上に所定色のドットを形成しながら画像を出力する場合は、該所定色についての階調値が上限値(あるいは上限値付近)の画素、若しくは下限値(あるいは下限値付近)の画素を、特定画素として検出することとしても良い。
所定色のドットの形成有無は、同じ所定色の画像データの階調値に基づいて色毎に判断される。このことから、所定色の画像データに基づいて所定色毎に特定画素を検出してやれば、特定画素を適切に検出することが可能となり、延いては、画像データを効果的に圧縮することが可能となる。
上述した画像出力装置においては、いわゆるディザ法を適用することにより、画像データをドットデータに変換することとしても良い。
ディザ法を用いれば、画像データに基づいてドット形成の有無を簡便に判断することが可能である。このため、画像データを迅速にドットデータに変換することができる。加えて、多くの画素については実際にディザ法を適用せずとも、ドット形成の有無を比較的容易に予想することが可能である。このため、特定画素を適切に且つ簡便に検出して、画像データを効果的に圧縮することが可能となるので好ましい。
この時、画像データの中から特定画素のデータを除いた圧縮画像データを生成することに併せて、ディザマトリックスの中から、特定画素の画素位置に対応する閾値を除いて小ディザマトリックスを生成し、圧縮画像データに小ディザマトリックスを適用することによって、ドットデータ(圧縮ドットデータ)を生成することとしてもよい。
ディザマトリックスに設定されている閾値は、良好な画質が得られるように最適な分布に設定されている。従って、画像データを圧縮することに併せて、ディザマトリックスも圧縮しておけば、最適に設定されている閾値の分布が崩されることがないので、良好な画質で画像を出力することが可能となる。
また、上述した画像出力装置あるいは画像出力方法が、互いに間隔を有する複数本の画素列について、該画素列の先頭方向から同時にドットを形成しながら画像を出力している場合は、同時にドットが形成される複数本の画素列について、記憶しておいた特定画素の画素位置および圧縮ドットデータからドットデータを合成することとしてもよい。
こうすれば、ドットを形成する画素列についてのみドットデータを合成してやれば良く、他の画素列については、圧縮した状態でドットデータを記憶しておくことができる。このため、ドットデータを記憶しておくために必要な記憶容量を、抑制することが可能となる。
こうした画像出力装置においては、特定画素の画素位置と、圧縮ドットデータとを、画素列毎に記憶しておくこととしてもよい。
このように、特定画素の画素位置および圧縮ドットデータが画素列毎に記憶されていれば、ドットを形成しようとする複数本の画素列についてのドットデータを合成する処理を簡便に行うことが可能となるので好ましい。
上述した画像出力装置においては、次のようにしても良い。画像データから特定画素を除いて圧縮画像データを生成した後、この圧縮画像データを高解像度のデータに変換する。次いで、得られた高解像度の圧縮画像データに対して前記所定の画像処理を加えることにより、高解像度の圧縮ドットデータを生成する。その後、高解像度前の画像データに関して記憶しておいた特定画素の画素位置と、高解像度の圧縮ドットデータとから、高解像度のドットデータを合成することとしてもよい。
こうすれば、1つの特定画素が複数画素分のドットデータに対応することになるので、圧縮ドットデータのデータ量を大幅に低減することが可能となり、延いては、必要な記憶容量を抑制することができる。また、画像の出力と画像処理とを別体に構成された部分で行う場合でも、画像処理後のデータを画像を出力する部分に迅速に供給することができ、延いては画像を迅速に出力することが可能となる。
上述した本願の各発明は、互いに大きさの異なる複数種類のドットを形成することによって画像を出力する画像出力装置に対しても、好適に適用することが可能である。
すなわち、このような画像出力装置では、ドットデータとして、各種ドットについての形成有無を画素毎に表したデータが使用され、こうしたドットデータは、ドットの種類が多くなっている分だけデータ量が大きくなる傾向にある。従って、特定画素を検出して画像データを圧縮してやれば、データの圧縮量が大きいこととも相まって、処理の迅速化およびメモリ抑制に関して大きな効果を得ることが可能となる。
また、前述した課題の少なくとも一部を解決するために、本発明の出力制御方法は次の構成を採用した。すなわち、
画像データに所定の画像処理を加えて画素毎にドット形成の有無を表すドットデータを生成し、該ドットデータを、出力媒体上にドットを形成して画像を出力する画像出力部に供給することで、画像の出力を制御する出力制御方法であって、
前記画像データの中から、ドット形成の有無を予め決定可能な所定の画像データを有する画素たる特定画素を検出して、前記画像中での画素位置を記憶しておく工程(A)と、
前記画像データから前記特定画素についての画像データを除いた圧縮画像データを生成して所定の画像処理を加えることにより、該圧縮画像データについての前記ドットデータたる圧縮ドットデータを生成する工程(B)と、
前記特定画素に対応するドット形成の有無を、前記記憶しておいた画素位置に基づいて前記圧縮ドットデータに組み込むことにより、前記画像データに対する前記ドットデータを合成する工程(C)と、
前記合成したドットデータを前記画像表示部に供給する工程(D)と
を備えることを要旨とする。
画像データに所定の画像処理を加えて画素毎にドット形成の有無を表すドットデータを生成し、該ドットデータを、出力媒体上にドットを形成して画像を出力する画像出力部に供給することで、画像の出力を制御する出力制御方法であって、
前記画像データの中から、ドット形成の有無を予め決定可能な所定の画像データを有する画素たる特定画素を検出して、前記画像中での画素位置を記憶しておく工程(A)と、
前記画像データから前記特定画素についての画像データを除いた圧縮画像データを生成して所定の画像処理を加えることにより、該圧縮画像データについての前記ドットデータたる圧縮ドットデータを生成する工程(B)と、
前記特定画素に対応するドット形成の有無を、前記記憶しておいた画素位置に基づいて前記圧縮ドットデータに組み込むことにより、前記画像データに対する前記ドットデータを合成する工程(C)と、
前記合成したドットデータを前記画像表示部に供給する工程(D)と
を備えることを要旨とする。
こうした本発明の出力制御方法においては、画像データに所定の画像処理を加えてドットデータを生成し、生成したドットデータを画像出力部に供給することによって、画像の出力を制御する。このようにして画像の出力を制御する場合でも、予め特定画素を検出することによって画像データを圧縮しておけば、画像処理を迅速に行って圧縮ドットデータを生成することができる。こうして生成した圧縮ドットデータに、特定画素についてのドット形成の有無を組み込むことによってドットデータを合成し、得られたドットデータを画像出力部に供給することによって画像の出力を制御する。
このようにして画像の出力を制御する場合、ドットデータを合成する直前までは、画像データおよびドットデータを圧縮した状態で取り扱うことができる。このため、データを記憶しておくために必要な記憶容量を抑制することが可能となる。
更に本発明は、上述した画像出力方法を実現するためのプログラムをコンピュータに読み込ませ、所定の機能を実行させることにより、コンピュータを用いて実現することも可能である。従って、本発明は次のようなプログラム、あるいは該プログラムを記録した記録媒体としての態様も含んでいる。すなわち、上述した画像出力方法に対応する本発明のプログラムは、
画素毎にドット形成の有無を表すドットデータを、画像データに所定の画像処理を加えることによって生成し、該ドットデータに基づいて出力媒体上にドットを形成することによって画像を出力する方法を、コンピュータを用いて実現するためのプログラムであって、
前記画像データの中から、ドット形成の有無を予め決定可能な所定の画像データを有する画素たる特定画素を検出して、前記画像中での画素位置を記憶しておく第1の機能と、
前記画像データから前記特定画素についての画像データを除いた圧縮画像データを生成して所定の画像処理を加えることにより、該圧縮画像データについての前記ドットデータたる圧縮ドットデータを生成する第2の機能と、
前記特定画素に対応するドット形成の有無を、前記記憶しておいた画素位置に基づいて前記圧縮ドットデータに組み込むことにより、前記画像データに対する前記ドットデータを合成する第3の機能と、
前記合成したドットデータに基づいて前記出力媒体上にドットを形成する第4の機能と
をコンピュータを用いて実現させることを要旨とする。
画素毎にドット形成の有無を表すドットデータを、画像データに所定の画像処理を加えることによって生成し、該ドットデータに基づいて出力媒体上にドットを形成することによって画像を出力する方法を、コンピュータを用いて実現するためのプログラムであって、
前記画像データの中から、ドット形成の有無を予め決定可能な所定の画像データを有する画素たる特定画素を検出して、前記画像中での画素位置を記憶しておく第1の機能と、
前記画像データから前記特定画素についての画像データを除いた圧縮画像データを生成して所定の画像処理を加えることにより、該圧縮画像データについての前記ドットデータたる圧縮ドットデータを生成する第2の機能と、
前記特定画素に対応するドット形成の有無を、前記記憶しておいた画素位置に基づいて前記圧縮ドットデータに組み込むことにより、前記画像データに対する前記ドットデータを合成する第3の機能と、
前記合成したドットデータに基づいて前記出力媒体上にドットを形成する第4の機能と
をコンピュータを用いて実現させることを要旨とする。
ここで、互いに間隔を有する複数本の画素列について、該画素列の先頭方向から同時にドットを形成することによって画像を出力する場合には、上記の第3の機能は、前記同時にドットを形成する複数本の画素列について、前記ドットデータを合成する機能とすることができる。
また、上記のプログラムに対応する本発明の記録媒体は、
画素毎にドット形成の有無を表すドットデータを、画像データに所定の画像処理を加えることによって生成し、該ドットデータに基づいて出力媒体上にドットを形成することによって画像を出力する方法を実現するためのプログラムを、コンピュータで読み取り可能に記録した記録媒体であって、
前記画像データの中から、ドット形成の有無を予め決定可能な所定の画像データを有する画素たる特定画素を検出して、前記画像中での画素位置を記憶しておく第1の機能と、
前記画像データから前記特定画素についての画像データを除いた圧縮画像データを生成して所定の画像処理を加えることにより、該圧縮画像データについての前記ドットデータたる圧縮ドットデータを生成する第2の機能と、
前記特定画素に対応するドット形成の有無を、前記記憶しておいた画素位置に基づいて前記圧縮ドットデータに組み込むことにより、前記画像データに対する前記ドットデータを合成する第3の機能と、
前記合成したドットデータに基づいて前記出力媒体上にドットを形成する第4の機能と
をコンピュータを用いて実現するプログラムを記録していることを要旨とする。
画素毎にドット形成の有無を表すドットデータを、画像データに所定の画像処理を加えることによって生成し、該ドットデータに基づいて出力媒体上にドットを形成することによって画像を出力する方法を実現するためのプログラムを、コンピュータで読み取り可能に記録した記録媒体であって、
前記画像データの中から、ドット形成の有無を予め決定可能な所定の画像データを有する画素たる特定画素を検出して、前記画像中での画素位置を記憶しておく第1の機能と、
前記画像データから前記特定画素についての画像データを除いた圧縮画像データを生成して所定の画像処理を加えることにより、該圧縮画像データについての前記ドットデータたる圧縮ドットデータを生成する第2の機能と、
前記特定画素に対応するドット形成の有無を、前記記憶しておいた画素位置に基づいて前記圧縮ドットデータに組み込むことにより、前記画像データに対する前記ドットデータを合成する第3の機能と、
前記合成したドットデータに基づいて前記出力媒体上にドットを形成する第4の機能と
をコンピュータを用いて実現するプログラムを記録していることを要旨とする。
また、上述した出力制御方法に対応する本発明のプログラムは、
画像データに所定の画像処理を加えて画素毎にドット形成の有無を表すドットデータを生成し、該ドットデータを、表示媒体上にドットを形成して画像を出力する画像出力部に供給することで、画像の出力を制御する方法を、コンピュータを用いて実現するためのプログラムであって、
前記画像データの中から、ドット形成の有無を予め決定可能な所定の画像データを有する画素たる特定画素を検出して、前記画像中での画素位置を記憶しておく機能(A)と、
前記画像データから前記特定画素についての画像データを除いた圧縮画像データを生成して所定の画像処理を加えることにより、該圧縮画像データについての前記ドットデータたる圧縮ドットデータを生成する機能(B)と、
前記特定画素に対応するドット形成の有無を、前記記憶しておいた画素位置に基づいて前記圧縮ドットデータに組み込むことにより、前記画像データに対する前記ドットデータを合成する機能(C)と、
前記合成したドットデータを前記画像表示部に供給する機能(D)と
をコンピュータを用いて実現することを要旨とする。
画像データに所定の画像処理を加えて画素毎にドット形成の有無を表すドットデータを生成し、該ドットデータを、表示媒体上にドットを形成して画像を出力する画像出力部に供給することで、画像の出力を制御する方法を、コンピュータを用いて実現するためのプログラムであって、
前記画像データの中から、ドット形成の有無を予め決定可能な所定の画像データを有する画素たる特定画素を検出して、前記画像中での画素位置を記憶しておく機能(A)と、
前記画像データから前記特定画素についての画像データを除いた圧縮画像データを生成して所定の画像処理を加えることにより、該圧縮画像データについての前記ドットデータたる圧縮ドットデータを生成する機能(B)と、
前記特定画素に対応するドット形成の有無を、前記記憶しておいた画素位置に基づいて前記圧縮ドットデータに組み込むことにより、前記画像データに対する前記ドットデータを合成する機能(C)と、
前記合成したドットデータを前記画像表示部に供給する機能(D)と
をコンピュータを用いて実現することを要旨とする。
更に、上記のプログラムに対応する本発明の記録媒体は、
画像データに所定の画像処理を加えて画素毎にドット形成の有無を表すドットデータを生成し、該ドットデータを、出力媒体上にドットを形成して画像を出力する画像出力部に供給することで、画像の出力を制御する方法を実現するためのプログラムを、コンピュータで読み取り可能に記録した記録媒体であって、
前記画像データの中から、ドット形成の有無を予め決定可能な所定の画像データを有する画素たる特定画素を検出して、前記画像中での画素位置を記憶しておく機能(A)と、
前記画像データから前記特定画素についての画像データを除いた圧縮画像データを生成して所定の画像処理を加えることにより、該圧縮画像データについての前記ドットデータたる圧縮ドットデータを生成する機能(B)と、
前記特定画素に対応するドット形成の有無を、前記記憶しておいた画素位置に基づいて前記圧縮ドットデータに組み込むことにより、前記画像データに対する前記ドットデータを合成する機能(C)と、
前記合成したドットデータを前記画像出力部に供給する機能(D)と
をコンピュータを用いて実現するプログラムを記憶していることを要旨とする。
画像データに所定の画像処理を加えて画素毎にドット形成の有無を表すドットデータを生成し、該ドットデータを、出力媒体上にドットを形成して画像を出力する画像出力部に供給することで、画像の出力を制御する方法を実現するためのプログラムを、コンピュータで読み取り可能に記録した記録媒体であって、
前記画像データの中から、ドット形成の有無を予め決定可能な所定の画像データを有する画素たる特定画素を検出して、前記画像中での画素位置を記憶しておく機能(A)と、
前記画像データから前記特定画素についての画像データを除いた圧縮画像データを生成して所定の画像処理を加えることにより、該圧縮画像データについての前記ドットデータたる圧縮ドットデータを生成する機能(B)と、
前記特定画素に対応するドット形成の有無を、前記記憶しておいた画素位置に基づいて前記圧縮ドットデータに組み込むことにより、前記画像データに対する前記ドットデータを合成する機能(C)と、
前記合成したドットデータを前記画像出力部に供給する機能(D)と
をコンピュータを用いて実現するプログラムを記憶していることを要旨とする。
これらのプログラムをコンピュータに読み込んで、上記の各種機能を実現させれば、画像を構成する画素数が多くなった場合でも、必要な記憶容量をいたずらに増加させることなく、高画質な画像を迅速に出力させることが可能となる。
以下では、上述した本願発明の内容を明確にするために、次のような順序に従って実施例を説明する。
A.実施例の概要 :
B.第1実施例 :
B−1.装置構成 :
B−2.第1実施例の画像印刷処理 :
(1)画像データ読み込み処理 :
(2)解像度変換処理 :
(3)画像データ圧縮処理 :
(4)色変換処理 :
(5)ハーフトーン処理 :
(6)インターレース・オーバーラップ処理 :
C.第2実施例 :
D.第3実施例 :
D−1.第3実施例の変形例 :
A.実施例の概要 :
B.第1実施例 :
B−1.装置構成 :
B−2.第1実施例の画像印刷処理 :
(1)画像データ読み込み処理 :
(2)解像度変換処理 :
(3)画像データ圧縮処理 :
(4)色変換処理 :
(5)ハーフトーン処理 :
(6)インターレース・オーバーラップ処理 :
C.第2実施例 :
D.第3実施例 :
D−1.第3実施例の変形例 :
A.実施例の概要 :
実施例の詳細な説明に入る前に、図1を参照しながら、実施例の概要について説明しておく。図1は、印刷システムを例にとって、本願発明の画像出力装置に関する実施例の概要を示した説明図である。図示した印刷システムは、コンピュータ10とプリンタ20などが組み合わされて構成されており、全体が一体の画像出力装置として機能する。コンピュータ10は、出力しようとする画像に所定の画像処理を加えることによって、画素毎にドット形成の有無を表すドットデータを生成し、プリンタ20は、コンピュータ10で生成されたドットデータに従って印刷用紙上にドットを形成することにより、画像を印刷する。ここで、画像を構成している画素数が多くなると、ドットデータのデータ量が大きくなってしまうので、このデータを記憶しておくためにプリンタ20に搭載すべき記憶容量が増加する。また、データ量が大きくなれば、コンピュータ10で画像処理を行ってドットデータを生成するために要する時間も増加するとともに、生成したドットデータをプリンタ20に記憶するための時間も長くなってしまう。
実施例の詳細な説明に入る前に、図1を参照しながら、実施例の概要について説明しておく。図1は、印刷システムを例にとって、本願発明の画像出力装置に関する実施例の概要を示した説明図である。図示した印刷システムは、コンピュータ10とプリンタ20などが組み合わされて構成されており、全体が一体の画像出力装置として機能する。コンピュータ10は、出力しようとする画像に所定の画像処理を加えることによって、画素毎にドット形成の有無を表すドットデータを生成し、プリンタ20は、コンピュータ10で生成されたドットデータに従って印刷用紙上にドットを形成することにより、画像を印刷する。ここで、画像を構成している画素数が多くなると、ドットデータのデータ量が大きくなってしまうので、このデータを記憶しておくためにプリンタ20に搭載すべき記憶容量が増加する。また、データ量が大きくなれば、コンピュータ10で画像処理を行ってドットデータを生成するために要する時間も増加するとともに、生成したドットデータをプリンタ20に記憶するための時間も長くなってしまう。
こうした点を考慮して、図1に示した印刷システムでは、次のような構成を採用している。すなわち、図示したコンピュータ10には、特定画素位置記憶モジュールや、圧縮ドットデータ生成モジュールなどが設けられている。特定画素位置記憶モジュールは、画像データを受け取ると、ドット形成の有無を予め決定可能な所定の画像データを有する画素(特定画素)を検出して、画像中での画素位置を記憶する。圧縮ドットデータ生成モジュールは、画像データから特定画素についてのデータを除いた画像データ(圧縮画像データ)を生成し、この圧縮画像データに所定の画像処理を施して画素毎にドット形成の有無を判断することにより、圧縮画像データに対するドットデータ(圧縮ドットデータ)を生成する。コンピュータ10は、こうして生成した圧縮ドットデータと、検出した特定画素位置の情報とをプリンタ20に供給する。
プリンタ20には、ドットデータ合成モジュールや、ドット形成モジュールなどが設けられている。ドットデータ合成モジュールは、コンピュータ10から圧縮ドットデータと特定画素位置についての情報とを受け取り、これらに基づいて画像データに対するドットデータを合成する。前述したように、特定画素とはドット形成の有無を予め決定可能な画素であるから、特定画素位置についての情報が分かれば、特定画素に対応するドット形成の有無を圧縮ドットデータの適切な箇所に組み込むことによって、ドットデータを合成することができる。こうして合成したドットデータに基づいて、ドット形成モジュールが印刷用紙上のドットを形成することによって、画像を印刷することが可能となる。
このように、図1に示した印刷システムでは、画像データから特定画素を除いた圧縮画像データを生成し、この圧縮画像データに画像処理を施すことによって圧縮ドットデータを生成している。圧縮画像データは、特定画素についての画像データが除かれている分だけデータ量が小さくなっている。このため、画像処理を速やかに完了することができ、圧縮ドットデータを迅速に生成することが可能である。また、得られた圧縮ドットデータのデータ量も、特定画素のデータを含まない分だけ小さくなるので、プリンタ20に迅速に供給することができる。更に、プリンタ20では、供給された圧縮ドットデータを記憶しておくために必要な記憶容量も少なくすることができる。
もちろん、図1に示した印刷システムでは、圧縮ドットデータに加えて特定画素位置についての情報もプリンタ20に供給する必要があり、プリンタ20では供給された情報を記憶しておく必要がある。しかし、特定画素の画像データを除くことによるデータの減少量に比べれば、特定画素位置についてのデータ量は僅かであり、全体としてのデータ量を減少させることができるので、プリンタ20に供給するための時間や、プリンタ20に必要な記憶容量を抑制することが可能である。
こうした本実施例の画像出力装置には、図1に例示したものに限られず種々の実施態様が存在する。以下では、これら各種の実施態様について、実施例に基づいて詳しく説明する。
B.第1実施例 :
B−1.装置構成 :
図2は、第1実施例において画像データに画像処理を加えるためのコンピュータ100の構成を示す説明図である。コンピュータ100は、CPU102を中心に、ROM104やRAM106などを、バス116で互いに接続することによって構成されている。コンピュータ100には、フレキシブルディスク124やコンパクトディスク126などからデータを読み込むためのディスクコントローラDDC109や、周辺機器との間でデータの授受を行うために用いられる周辺機器インターフェースPIF108、CRT114を駆動するためのビデオインターフェースVIF112等が接続されている。PIF108には、ハードディスク118や、後述するプリンタ200等が接続されている。また、デジタルカメラ120や、カラースキャナ122等をPIF108に接続すれば、デジタルカメラ120やカラースキャナ122で取り込んだ画像を印刷することも可能である。また、ネットワークインターフェースカードNIC110を装着すれば、コンピュータ100を通信回線300に接続して、通信回線に接続された記憶装置310に記憶されているデータを取得することもできる。
B−1.装置構成 :
図2は、第1実施例において画像データに画像処理を加えるためのコンピュータ100の構成を示す説明図である。コンピュータ100は、CPU102を中心に、ROM104やRAM106などを、バス116で互いに接続することによって構成されている。コンピュータ100には、フレキシブルディスク124やコンパクトディスク126などからデータを読み込むためのディスクコントローラDDC109や、周辺機器との間でデータの授受を行うために用いられる周辺機器インターフェースPIF108、CRT114を駆動するためのビデオインターフェースVIF112等が接続されている。PIF108には、ハードディスク118や、後述するプリンタ200等が接続されている。また、デジタルカメラ120や、カラースキャナ122等をPIF108に接続すれば、デジタルカメラ120やカラースキャナ122で取り込んだ画像を印刷することも可能である。また、ネットワークインターフェースカードNIC110を装着すれば、コンピュータ100を通信回線300に接続して、通信回線に接続された記憶装置310に記憶されているデータを取得することもできる。
図3は、第1実施例において印刷用紙上に画像を印刷するプリンタ200の概略構成を示す説明図である。プリンタ200はシアン,マゼンタ,イエロ,ブラックの4色インクのドットを形成可能なインクジェットプリンタである。もちろん、これら4色のインクに加えて、染料濃度あるいは顔料濃度の低いシアン(淡シアン)インクと、染料濃度あるいは顔料濃度の低いマゼンタ(淡マゼンタ)インクとを含めた合計6色のインクドットを形成可能なインクジェットプリンタを用いることもできる。尚、以下では、シアンインク,マゼンタインク,イエロインク,ブラックインク,淡シアンインク,淡マゼンタインクを、必要に応じて、それぞれCインク,Mインク,Yインク,Kインク,LCインク,LMインクと略称するものとする。
プリンタ200は、図示するように、キャリッジ240に搭載された印字ヘッド241を駆動してインクの吐出およびドット形成を行う機構と、このキャリッジ240をキャリッジモータ230によってプラテン236の軸方向に往復動させる機構と、紙送りモータ235によって印刷用紙Pを搬送する機構と、ドットの形成やキャリッジ240の移動および印刷用紙の搬送を制御する制御回路260などから構成されている。
キャリッジ240には、Kインクを収納するインクカートリッジ242と、Cインク,Mインク,Yインクの各種インクを収納するインクカートリッジ243とが装着されている。キャリッジ240にインクカートリッジ242,243を装着すると、カートリッジ内の各インクは図示しない導入管を通じて、印字ヘッド241の下面に設けられた各色毎のインク吐出用ヘッド244ないし247に供給される。各色毎のインク吐出用ヘッド244ないし247は、こうして供給されたインクを用いてインク滴を吐出して、印刷媒体上にインクドットを形成する。
制御回路260は、CPUを中心として、ROMや、RAM、周辺機器インターフェースPIF等に加えて、デジタルデータをアナログ信号に変換するD/A変換器等から構成されている。もちろん、CPUを搭載せずに、ハードウェアあるいはファームウェアによって同様の機能を実現することとしても良い。制御回路260は、キャリッジモータ230および紙送りモータ235の動作を制御することによって、キャリッジ240の主走査動作および副走査動作の制御を行う。また、キャリッジ240の主走査および副走査に合わせて、適切なタイミングで印字ヘッド241を駆動することによってインク滴を吐出する。こうして制御回路260の制御の下で、各色のインク吐出用ヘッド244ないし247から適切なタイミングでインク滴が吐出され、その結果、印刷用紙P上にインクドットが形成されて、カラー画像が印刷される。
尚、各色のインク吐出ヘッドからインク滴を吐出する方法には、種々の方法を適用することができる。すなわち、ピエゾ素子を用いてインクを吐出する方式や、インク通路に配置したヒータでインク通路内に泡(バブル)を発生させてインク滴を吐出する方法などを用いることができる。また、インクを吐出する代わりに、熱転写などの現象を利用して印刷用紙上にインクドットを形成する方式や、静電気を利用して各色のトナー粉を印刷媒体上に付着させる方式のプリンタを使用することも可能である。
図4は、各色のインク吐出用ヘッド244ないし247の底面に、インク滴を吐出する複数のノズルNzが形成されている様子を示した説明図である。図示するように、各色のインク吐出用ヘッドの底面には、各色毎のインク滴を吐出する4組のノズル列が形成されており、1組のノズル列には、48個のノズルNzがノズルピッチpの間隔を空けて千鳥状に配列されている。これらノズルは、制御回路260の制御の元で駆動され、インク滴を吐出することによって印刷用紙上にインクドットを形成する。
また、本実施例のプリンタ200は、吐出するインク滴の大きさを制御することにより、インクドットの大きさを制御することが可能である。以下、プリンタ200が大きさの異なるインクドットを形成する方法について説明するが、その準備として、先ず、各色インクを吐出するノズルの内部構造について説明する。図5(a)は、インクを吐出するノズルの内部構造を示した説明図である。各色のインク吐出用ヘッド244ないし247には、このようなノズルが複数設けられている。図示するように、各ノズルにはインク通路255とインク室256とが設けられており、また、インク室の上面にはピエゾ素子PEが設けられている。キャリッジ240にインクカートリッジ242,243を装着すると、カートリッジ内のインクがインクギャラリ257を経由してインク室256に供給される。ピエゾ素子PEは、周知のように、電圧を印加すると結晶構造が歪んで極めて高速に電気−機械エネルギの変換を行う素子である。本実施例では、ピエゾ素子PEの両端に設けられた電極間に所定波形の電圧を印加することで、インク室256の側壁を変形させる。その結果、インク室256の容積が減少し、容積の減少分に相当するインクがインク滴IpとなってノズルNzから吐出される。このインク滴Ipがプラテン236に装着された印刷用紙Pに染み込むことで、印刷用紙上にインクドットが形成される。
図5(b)は、ピエゾ素子PEに印加する電圧波形を制御することで、吐出するインク滴の大きさを変更する原理を示した説明図である。ノズルからインク滴Ipを吐出するためには、ピエゾ素子PEに府の電圧を印加してインクギャラリ257からインク室256内に一旦インクを吸入し、その後、ピエゾ素子PEに正電圧を印加してインク室容積を減少させて、インク滴Ipを吐出させる。ここで、インクの吸引速度が適切であればインク室容積の変化量に相当するインクが吸入されるが、吸引速度が速すぎると、インクギャラリ257とインク室256との間には通路抵抗があるためにインクギャラリ257からのインクの流入が間に合わなくなる。その結果、インク通路255のインクがインク室内に逆流して、ノズル付近のインク界面が大きく後退した状態となる。図5(b)に実線で示した電圧波形aは、適正な速度でインクを吸引する波形を示し、破線で示した電圧波形bは適切速度より大きな速度で吸引する波形の一例を示している。
十分なインクがインク室256内に供給された状態で、ピエゾ素子PEに正電圧を印加すると、インク室256の容積減少に相当する体積のインク滴IpがノズルNzから吐出される。これに対して、インクの供給量が不足してインク界面が大きく後退した状態で正電圧を印加すると、吐出されるインク滴は小さなインク滴となる。このように、本実施例のプリンタ200では、インク滴の吐出前に印加する負の電圧波形を制御してインクの吸引速度を変更することで、吐出するインク滴の大きさを制御する。これにより、大ドット、中ドット、小ドットの3種類のインクドットを形成することが可能となっている。
もちろん、3種類に限らずより他種類のドットを形成することも可能である。更には、微細なインク滴を一度に複数吐出して、吐出するインク滴の数を制御するといった方法を用いて、印刷用紙上に形成されるインクドットの大きさを制御してもよい。
以上のようなハードウェア構成を有するプリンタ200は、キャリッジモータ230を駆動することによって、各色のインク吐出用ヘッド244ないし247を印刷用紙Pに対して主走査方向に移動させ、また紙送りモータ235を駆動することによって、印刷用紙Pを副走査方向に移動させる。制御回路260は、キャリッジ240の主走査および副走査を繰り返しながら、適切なタイミングでノズルを駆動してインク滴を吐出する。こうすることで、印刷用紙P上の適切な位置にインクドットが形成されて、その結果、画像が印刷されることになる。
B−2.第1実施例の画像印刷処理 :
図6は、本実施例のコンピュータ100およびプリンタ200が、画像データに所定の画像処理を加えてドットデータを生成し、印刷用紙上に画像を印刷する処理の流れを示すフローチャートである。かかる画像印刷処理は、後述するように、ハーフトーン処理を行って画素毎にドット形成の有無を判断するまでの処理については、コンピュータ100に内蔵されたCPUの機能を利用して実行され、また、インターレース・オーバーラップ処理以降の処理については、プリンタ200の制御回路260に内蔵されたCPUの機能を利用して実行される。以下では、図6のフローチャートに従って、第1実施例の画像印刷処理に含まれる各処理の内容について、順番に説明する。
図6は、本実施例のコンピュータ100およびプリンタ200が、画像データに所定の画像処理を加えてドットデータを生成し、印刷用紙上に画像を印刷する処理の流れを示すフローチャートである。かかる画像印刷処理は、後述するように、ハーフトーン処理を行って画素毎にドット形成の有無を判断するまでの処理については、コンピュータ100に内蔵されたCPUの機能を利用して実行され、また、インターレース・オーバーラップ処理以降の処理については、プリンタ200の制御回路260に内蔵されたCPUの機能を利用して実行される。以下では、図6のフローチャートに従って、第1実施例の画像印刷処理に含まれる各処理の内容について、順番に説明する。
(1)画像データ読み込み処理(図6のステップS100) :
第1実施例の画像印刷処理を開始すると、コンピュータ100は先ず初めに、変換すべき画像データの読み込みを開始する(ステップS100)。ここでは、画像データは、画像を構成する複数の画素の各々について、RGB各色についての階調値が設定されたいわゆるRGBカラー画像データであるものとして説明する。R(赤色)、G(緑色)、B(青色)の3色は光の三原色と呼ばれ、これら3色を加法混色することにより、無彩色から有彩色にいたる広い色域の色彩を表現することが可能である。もちろん、画像データはRGBカラー画像データに限らず、例えば、インクの三原色と呼ばれるC(シアン色)、M(マゼンタ色)、Y(イエロ色)を含んだ複数色について階調値が設定された画像データを用いることもできる。更には、カラー画像データに限らず、モノクロ画像データについても同様に適用することができる。
第1実施例の画像印刷処理を開始すると、コンピュータ100は先ず初めに、変換すべき画像データの読み込みを開始する(ステップS100)。ここでは、画像データは、画像を構成する複数の画素の各々について、RGB各色についての階調値が設定されたいわゆるRGBカラー画像データであるものとして説明する。R(赤色)、G(緑色)、B(青色)の3色は光の三原色と呼ばれ、これら3色を加法混色することにより、無彩色から有彩色にいたる広い色域の色彩を表現することが可能である。もちろん、画像データはRGBカラー画像データに限らず、例えば、インクの三原色と呼ばれるC(シアン色)、M(マゼンタ色)、Y(イエロ色)を含んだ複数色について階調値が設定された画像データを用いることもできる。更には、カラー画像データに限らず、モノクロ画像データについても同様に適用することができる。
(2)解像度変換処理(図6のステップS102) :
コンピュータ100は、こうして画像データを読み込むと、読み込んだ画像データの解像度をプリンタ20が印刷するための解像度(印刷解像度)に変換する処理を行う(ステップS102)。画像データの解像度が印刷解像度よりも低い場合は、隣接する画素の間に補間演算を行って新たな画像データを設定することで、解像度を高くする。逆に、読み込んだ画像データの解像度が印刷解像度よりも高い場合は、隣接する画素の間から一定の割合で画像データを間引くことによって、解像度を低くする。解像度変換処理では、読み込んだ画像データに対して適切な割合で画像データを生成あるいは間引くことによって、読み込んだ解像度を印刷解像度に変換する処理を行う。
コンピュータ100は、こうして画像データを読み込むと、読み込んだ画像データの解像度をプリンタ20が印刷するための解像度(印刷解像度)に変換する処理を行う(ステップS102)。画像データの解像度が印刷解像度よりも低い場合は、隣接する画素の間に補間演算を行って新たな画像データを設定することで、解像度を高くする。逆に、読み込んだ画像データの解像度が印刷解像度よりも高い場合は、隣接する画素の間から一定の割合で画像データを間引くことによって、解像度を低くする。解像度変換処理では、読み込んだ画像データに対して適切な割合で画像データを生成あるいは間引くことによって、読み込んだ解像度を印刷解像度に変換する処理を行う。
(3)画像データ圧縮処理(図6のステップS104) :
コンピュータ100は画像データの解像度を印刷解像度に変換したら、今度は、この画像データから特定画素についてのデータを分離することによって、画像データを圧縮する処理を開始する(ステップS104)。ここで特定画素とは、その画素にドットが形成されるか否かを予め決定することができるような画素を言う。画像データから、このような画素についてのデータを分離してやれば、その分だけ画像データのデータ量が少なくなるので、画像データを圧縮することが可能となる。画像データを圧縮する処理について、図7を参照しながら具体的に説明する。
コンピュータ100は画像データの解像度を印刷解像度に変換したら、今度は、この画像データから特定画素についてのデータを分離することによって、画像データを圧縮する処理を開始する(ステップS104)。ここで特定画素とは、その画素にドットが形成されるか否かを予め決定することができるような画素を言う。画像データから、このような画素についてのデータを分離してやれば、その分だけ画像データのデータ量が少なくなるので、画像データを圧縮することが可能となる。画像データを圧縮する処理について、図7を参照しながら具体的に説明する。
図7は、特定画素についてのデータを分離することにより、画像データを圧縮している様子を概念的に示した説明図である。図7(a)は、特定画素を分離する前の画像データを概念的に示した説明図である。図7(a)では、図示が煩雑となることを避けるために、画素列1行分のデータのみを示している。前述したように、画像データには、RGB各色についての階調値が画素毎に設定されており、図7(a)の上段にはR色についての階調値が、中段にはG色についての階調値が、下段にはB色についての階調値がそれぞれ表示されている。すなわち、画素列の先頭の画素については、R階調値「255」が、G階調値「128」が、B階調値「65」が設定されている。また、ここでは説明の便宜から、1行の画素列に含まれる画素数は100個であるものとして、これら各画素には1番から100番までの通し番号が付されているものとする。
例えば、図7(a)に示した画素列の先頭から2番目の画素に着目すると、この画素にはRGBのいずれの階調値も「255」が設定されている。ここで、画像データは1バイトデータであり、階調値「255」は画像データの上限値である。階調値が上限値を取るRGB画像データを混色すれば白色が得られるから、この画素にはドットは形成されず、印刷用紙の地色(白色)のまま残されるものと考えられる。また、RGB各色の階調値が上限値に完全には一致していなくても、上限値に近い値を取る場合(例えば階調値「250」など)にも、その画素にはドットは形成されないと判断して良い。従って、このような画素も特定画素に含めて考えることができるが、ここでは説明の簡明化を図るために、階調値が上限値となる画素を特定画素とする。すると、図7(a)に示した画素列の先頭から5番目の画素も特定画素ということになる。このように、RGB各色の階調値に着目すれば、画像データの中から特定画素を検出することができる。こうして特定画素を検出すると、検出した特定画素の画素位置を記憶しておくとともに、画像データから特定画素についての画像データを分離することによって、データ量を圧縮する。
図7(b)は、図7(a)に示した1行分のRGB画像データから特定画素を分離することにより、特定画素の画素位置を示すデータ(特定画素情報)と、圧縮された画像データとを生成している様子を概念的に示した説明図である。図7(a)に示したように、ここでは対象とする画像データは1行分の画像データであり、1行は100個の画素から構成されているとしているから、特定画素の画素位置としては、先頭から何番目の画素が特定画素であるかを記憶しておけば足りる。そこで、図7(b)に示した例では、特定画素情報は1行の画素数に相当するbit数(ここでは100bit)を有するデータとなっている。そして、この特定画素情報には、先頭から特定画素位置に相当するbitには「1」が設定され、他のbitには「0」が設定されたデータとして記憶されている。圧縮画像データは、図7(a)に示したRGB画像データから特定画素についてのデータ(すなわち2画素目および5画素目のデータ)を除いてやることで生成することができる。図7(b)には、こうして生成した圧縮画像データが示されている。
尚、図7(b)では、RGB各色の階調値が上限値(若しくは上限値の近傍)を取る画素を特定画素として検出したが、ドットの形成有無を予め決定することの可能な画素は、このような画素に限られるものではない。例えば、図7(a)で先頭から98番目の画素は、RGB各色ともに階調値「0」が設定されている。階調値「0」は画像データの下限値である。階調値が下限値のRGB画像データを混色すれば黒色が得られることから、この画素にはKインクによるドットが形成されるものと考えられる。図7(a)に示した画素列の最後の画素についても同様に、この画素にはKドットが形成されると考えられる。そこで、これらの画素を特定画素として検出することとしてもよい。
図7(c)は、このようにドットが形成される画素を特定画素として分離して、画像データを圧縮した様子を示している。図7(c)に示した特定画素情報も、図7(b)と同様にデータ長が100bitのデータであり、先頭から特定画素位置に対応するbitには「1」が設定され、他のbitには「0」が設定されたデータとなっている。そして、図7(a)に示す画像データから、これら特定画素についてのデータを除くことによって、図7(c)に示すように圧縮した画像データを得ることとしても良い。また、もちろん、RGB各色の階調値が完全には下限値に一致していなくても、ほとんど下限値に等しい値を取る場合(例えば階調値「5」など)にも、その画素には非常に高い確率でKドットが形成されると考えることができるから、このような画素も特定画素に含めて考えることも可能である。
更には、RGB各色の階調値が上限値(あるいは上限値の近傍)の画素と、下限値(あるいは下限値の近傍)の画素とを、いずれも特定画素として検出することとしてもよい。すなわち、図7(d)に示すように、特定画素情報を2種類記憶することとして、一方の特定画素情報1には、RGB各色が上限値となる特定画素の画素位置を記憶し、他方の特定画素情報2には、RGB各色が下限値となる特定画素の画素位置を記憶しておく。そして、図7(a)に示す画像データから、これら2種類の特定画素についてのデータを除くことによって、図7(d)に示すような圧縮画像データを得ることとしても良い。
図6のステップS104では、以上のようにして、ドット形成の有無を予め予測できるような画素(特定画素)を検出し、特定画素についてのデータを分離することによって、画像データを圧縮する処理を行う。
(4)色変換処理(図6のステップS106) :
コンピュータ100は、こうして圧縮した画像データに対して色変換処理を行う(ステップS106)。色変換処理とは、R,G,Bの階調値の組合せによって表現されているRGBカラー画像データを、印刷のために使用される各色の階調値の組合せによって表現された画像データに変換する処理である。前述したように、プリンタ200はC,M,Y,Kの4色のインクを用いて画像を印刷している。そこで、色変換処理ではRGB各色によって表現された画像データを、C,M,Y,Kの各色の階調値によって表現されたデータに変換する処理を行うのである。
コンピュータ100は、こうして圧縮した画像データに対して色変換処理を行う(ステップS106)。色変換処理とは、R,G,Bの階調値の組合せによって表現されているRGBカラー画像データを、印刷のために使用される各色の階調値の組合せによって表現された画像データに変換する処理である。前述したように、プリンタ200はC,M,Y,Kの4色のインクを用いて画像を印刷している。そこで、色変換処理ではRGB各色によって表現された画像データを、C,M,Y,Kの各色の階調値によって表現されたデータに変換する処理を行うのである。
色変換処理は、色変換テーブル(LUT)と呼ばれる3次元の数表を参照することで、迅速に行うことができる。図8は、色変換処理のために参照されるLUTを概念的に示した説明図である。図示されているように、直交する3つの軸にR軸、G軸、B軸を取って色空間を考えると、全てのRGB画像データは、必ず色空間内の座標点に対応付けて表示することができる。このことから、R軸、G軸、B軸のそれぞれを細分して色空間内に多数の格子点を設定してやれば、それぞれの格子点はRGB画像データを表していると考えることができ、各RGB画像データに対応するC,M,Y,K各色の階調値を、各格子点に対応付けてやることができる。LUTは、こうして色空間内に設けた格子点に、C,M,Y,K各色の階調値を対応付けて記憶した3次元の数表である。このような、LUTに記憶されているRGBカラー画像データとC,M,Y,K各色の階調データとの対応関係に基づいて色変換処理を行えば、RGBカラー画像データを、C,M,Y,K各色の階調データに迅速に変換することができる。尚、LUTの格子点に、CMYK各色に加えて、LC,LMなどの他色を含めた各色の階調値を設定しておけば、RGB画像データをこれら各色の画像データに変換することも可能である。
前述したように、画像データは、図6のステップS104で既に特定画素が除かれて圧縮されているので、色変換処理では、特定画素でない画素に設定されたRGB各色の画像データをCMYK各色の階調データに変換するのである。図9は、こうして圧縮画像データを色変換している様子を概念的に示した説明図である。図9(a)は、色変換前の圧縮画像データを示している。図示されている圧縮画像データでは、RGB各色の階調値が上限値となる画素が特定画素として除かれて、残りの画素についてのRGB画像データのみが記憶されている。図9(b)は、これらRGB画像データを、LUTを参照しながら画素毎に、CMYK各色の階調値に変換して得られた画像データを示した説明図である。このように色変換処理では、圧縮画像データに対してのみ操作が行われ、特定画素情報については何ら操作が行われることはない。このことを明確に示すために、図9では、色変換処理の前後で圧縮画像データとともに、それぞれの時点での特定画素情報も併せて表示してある。図9(a)に示した特定画素情報と図9(b)に示した特定画素情報とを比較すれば、特定画素情報は色変換によって操作を受けないことが確認できる。
(5)ハーフトーン処理(図6のステップS108) :
こうして圧縮画像データに対して色変換処理を行ったら、コンピュータ100は、色変換によって得られた画像データに対してハーフトーン処理を開始する。ハーフトーン処理とは、次のような処理である。色変換処理によって得られたCMYK各色の画像データは、画素毎に、階調値0から階調値255までの値を取ることができる。これに対してプリンタは、ドットを形成することによって画像を表示しているから、それぞれの画素についてはドットを形成するか否かの状態しか取り得ない。そこで、256階調を有する画像データを、画素毎にドット形成の有無によって表現されたデータ(ドットデータ)に変換しておく必要がある。ハーフトーン処理とは、このように画像データをドットデータに変換する処理である。前述したように、本実施例のプリンタ200では、大ドット、中ドット、小ドットの3種類のドットを形成可能であるから、ハーフトーン処理ではこれら3種類のドットについて、画素毎にドット形成の有無を判断することになる。
こうして圧縮画像データに対して色変換処理を行ったら、コンピュータ100は、色変換によって得られた画像データに対してハーフトーン処理を開始する。ハーフトーン処理とは、次のような処理である。色変換処理によって得られたCMYK各色の画像データは、画素毎に、階調値0から階調値255までの値を取ることができる。これに対してプリンタは、ドットを形成することによって画像を表示しているから、それぞれの画素についてはドットを形成するか否かの状態しか取り得ない。そこで、256階調を有する画像データを、画素毎にドット形成の有無によって表現されたデータ(ドットデータ)に変換しておく必要がある。ハーフトーン処理とは、このように画像データをドットデータに変換する処理である。前述したように、本実施例のプリンタ200では、大ドット、中ドット、小ドットの3種類のドットを形成可能であるから、ハーフトーン処理ではこれら3種類のドットについて、画素毎にドット形成の有無を判断することになる。
ハーフトーン処理を行う手法としては、誤差拡散法やディザ法などの種々の手法を適用することができる。誤差拡散法は、ある画素についてドットの形成有無を判断したことでその画素に発生する階調表現の誤差を、周辺の画素に拡散するとともに、周囲から拡散されてきた誤差を解消するように、各画素についてのドット形成の有無を判断していく手法である。また、ディザ法は、ディザマトリックスにランダムに設定されている閾値と画像データの階調値とを画素毎に比較して、画像データの方が大きい画素にはドットを形成すると判断し、逆に閾値の方が大きい画素についてはドットを形成しないと判断することで、各画素についてのドットデータを得る手法である。
本実施例のハーフトーン処理では、ディザ法を用いてドット形成の有無を判断する。ここで、説明上の都合から、ディザ法を用いてドット形成の有無を判断する方法について、概要のみを簡単に説明しておく。
図10は、ディザマトリックスの一部を拡大して例示した説明図である。図示したマトリックスには、縦横それぞれ64画素、合計4096個の画素に、階調値0〜255の範囲から万遍なく選択された閾値がランダムに記憶されている。ここで、閾値の階調値が0〜255の範囲から選択されているのは、本実施例では画像データが1バイトデータであり、画素に割り当てられる階調値が0〜255の値を取り得ることに対応するものである。尚、ディザマトリックスの大きさは、図10に例示したように縦横64画素分に限られるものではなく、縦と横の画素数が異なるものも含めて、種々の大きさに設定することが可能である。
図11は、ディザマトリックスを参照しながら、画素毎にドット形成の有無を判断している様子を概念的に示した説明図である。ドット形成有無の判断に際しては、先ず、判断の対象として着目している画素(着目画素)の階調値と、ディザマトリックス中の対応する位置に記憶されている閾値とを比較する。図中に示した細い破線の矢印は、着目画素の階調値を、ディザマトリックス中の対応する位置に記憶されている閾値と比較していることを模式的に表したものである。そして、ディザマトリックスの閾値よりも着目画素の階調値の方が大きい場合には、その画素にはドットを形成するものと判断する。逆に、ディザマトリックスの閾値の方が大きい場合には、その画素にはドットを形成しないものと判断する。図11に示した例では、画像データの左上隅にある画素の画像データは階調値180であり、ディザマトリックス上でこの画素に対応する位置に記憶されている閾値は1である。従って、左上隅の画素については、画像データの階調値180の方がディザマトリックスの閾値1よりも大きいから、この画素にはドットを形成すると判断する。図11中に実線で示した矢印は、この画素にはドットを形成すると判断して、判断結果をメモリに書き込んでいる様子を模式的に表したものである。一方、この画素の右隣の画素については、画像データの階調値は130、ディザマトリックスの閾値は177であり、閾値の方が大きいので、この画素についてはドットを形成しないものと判断する。このように、画像データの階調値とディザマトリックスに設定された閾値とを比較することにより、ドットの形成有無を画素毎に決定することができる。
図6のステップS108では、圧縮画像データを色変換して得られたCMYK各色の圧縮画像データに、上述したディザ法を適用することにより、画素毎に大中小の各種ドットについて、ドットを形成するか否かを表したデータに変換する処理を行う。
図12は、図9(b)に示した1行分の圧縮画像データを変換して得られたドットデータ(圧縮ドットデータ)を、概念的に示した説明図である。図中に示された「11」は、その画素には大ドットを形成することを表しており、「10」は中ドットを形成することを、「01」は小ドットを形成することを、そして「00」はいずれのドットも形成しないことを表している。尚、ハーフトーン処理も、圧縮画像データに対して行われる処理であり、特定画素情報に対しては何らの操作も行われることはない。換言すれば、図12に示した特定画素情報でbit「0」が設定されている画素についてだけ、ハーフトーン処理が行われることになる。以下では、図9(b)に示すような圧縮画像データを、図12に示すような圧縮ドットデータに変換する方法について説明する。
図10および図11を用いて説明したように、ディザ法では、各画素のデータを、ディザマトリックスの対応する位置に設定されている閾値と比較することによってドット形成の有無を判断するが、本実施例のハーフトーン処理では、特定画素のデータが除かれて圧縮されたデータに対してディザ法を適用する。そこで、ディザ法を適用してドット形成有無の判断を開始するに先立って、ディザマトリックスの中から特定画素に対応する位置の閾値を除くことにより、予め、圧縮ディザマトリックスを生成しておく。
図13は、図10に例示したディザマトリックスから圧縮ディザマトリックスを生成している様子を概念的に示した説明図である。今、ハーフトーン処理を行おうとしている画像データが、図9(b)に示した1行分の画素列のデータであるものとする。特定画素情報によれば、この画素列については、先頭から2番目の画素および5番目の画素が特定画素であるから、該当する1行分のディザマトリックスの中から、2番目の閾値「177」と5番目の閾値「70」を除くことにより、圧縮ディザマトリックスを生成することができる。こうして、特定画素情報に基づいて生成した圧縮ディザマトリックスを参照しながら、以下に説明するハーフトーン処理を行う。
図14は、第1実施例のハーフトーン処理を行って、圧縮画像データを圧縮ドットデータに変換する処理の流れを示したフローチャートである。以下、フローチャートに従って説明する。
コンピュータ100は、ハーフトーン処理を開始すると先ず初めに、CMYK各色についての画像データを、大中小の各ドットについての記録密度データに変換する(ステップS200)。記録密度データとは、ドットをどの程度の密度で形成するかを規定するデータである。記録密度データが大きくなるほどドットが高い密度で形成されることを表しており、記録密度データの値「255」は、全ての画素にドットが形成されることを表している。こうした記録密度データへの変換は、図15に示すような記録密度変換テーブルを参照することによって行う。記録密度変換テーブルには、色変換によって得られた画像データの階調値に対して、小ドット・中ドット・大ドットの各ドットについての記録密度データが設定されている。
図示されているように、画像データが階調値「0」近傍の領域では、中ドット・大ドットの記録密度データはいずれも階調値「0」となっており、小ドットの記録密度データのみが「0」でない階調値を有している。小ドットの記録密度データは、画像データの階調値が大きくなるに連れて増加して行くが、画像データがある階調値に達すると今度は逆に減少し始め、代わりに中ドットの記録密度データが増加し始める。画像データの階調値が更に増加すると、それに従って小ドットの記録密度データは減少し、中ドットの記録密度データは増加していく。そして、画像データがある階調値に達すると、今度は中ドットの記録密度データが減少し始めて、代わりに大ドットの記録密度データが少しずつ増加していく。コンピュータ100のRAM106には、大中小各ドットについての記録密度データがこのように設定されたテーブルが、予め記憶されている。図14のステップS200では、この記録密度変換テーブルを参照しながら、CMYK各色の画像データを、大ドットの記録密度データ、中ドットの記録密度データ、小ドットの記録密度データに、各色毎に変換する処理を行う。
こうして、大中小各ドットについての記録密度データが得られたら、先ず初めに大ドットについての形成有無を判断する(ステップS202)。かかる判断は、大ドットの記録密度データと、ディザマトリックスに設定されている閾値とを比較して、記録密度データの方が大きい場合は大ドットを形成すると判断し、逆に閾値の方が大きければ大ドットは形成しないと判断する。尚、この時に参照するディザマトリックスは、図13を用いて前述した圧縮ディザマトリックス、すなわち特定画素位置に相当する閾値を除いたマトリックスである。
そして、大ドットを形成すると判断された画素には(ステップS204:yes)、ドットデータ「11」を書き込む処理を行う(ステップS206)。前述したように、ドットデータ「11」は、その画素に大ドットを形成することを表しているデータである。大ドットを形成しないと判断された画素については(ステップS204:no)、中ドットを形成するか否かを判断する処理を開始する。
中ドットについての形成有無の判断は、次のようにして行う。先ず初めに、大ドットの記録密度データに中ドットの記録密度データを加算して、中ドットの形成有無を判断するための中間データを算出する(ステップS208)。こうして算出した中間データと、前述した圧縮ディザマトリックスの閾値とを比較することにより、中ドットの形成有無を判断する(ステップS210)。すなわち、中間データの方が閾値より大きい画素には中ドットを形成すると判断し、閾値の方が大きい画素には中ドットは形成しないと判断する。そして、中ドットを形成する画素については(ステップS212:yes)、中ドットを形成することを表すドットデータ「10」を書き込む処理を行う(ステップS214)。中ドットを形成しないと判断された画素については(ステップS212:no)、小ドットを形成するか否かを判断する処理を開始する。
小ドットの形成有無の判断は、小ドット用の中間データを用いて行う。小ドット用の中間データは、中ドット用の中間データに小ドット用の記録密度データを加算することによって算出する(ステップS216)。次いで、算出した小ドット用の中間データと、前述した圧縮ディザマトリックスの閾値とを比較することにより、小ドットの形成有無を判断する(ステップS218)。そして、小ドット用の中間データの方が閾値より大きい画素には小ドットを形成すると判断し、小ドットを形成する画素については(ステップS220:yes)、小ドットを形成することを表すドットデータ「01」を記憶する(ステップS222)。逆に、小ドット用の中間データよりも閾値の方が大きい画素には、小ドットも形成しないと判断し(ステップS220:no)、この画素には、いずれのドットも形成しないことを表すドットデータ「00」を記憶する(ステップS224)。
図9(b)に示したようなCMYK各色の画像データに、以上のような処理を加えることにより、図12に示したようなドットデータ、すなわち、CMYKの各色毎に、大中小の各ドットについての形成有無を表したデータを得ることができる。尚、前述したように、図9(b)に示した画像データは、特定画素についてのデータを除いた圧縮画像データであるから、このデータに上述した処理を加えれば、同じく特定画素を除いた圧縮ドットデータが得られることになる。
図6のステップS108では、以上に説明したようにして、圧縮画像データを圧縮ドットデータに変換して、得られた圧縮ドットデータを特定画素情報とともにプリンタ200に供給する処理を行う。
(6)インターレース・オーバーラップ処理(図6のステップS110) :
プリンタ200の制御回路260は、コンピュータ100から供給された圧縮ドットデータと特定画素情報とを受け取ると、インターレース・オーバーラップ処理を開始する(ステップS110)。インターレース・オーバーラップ処理とは、一般的には、印字ヘッドがドットを形成する順序でドットデータを読み出して、ヘッドに供給する処理である。これに対して本実施例のインターレース・オーバーラップ処理では、圧縮ドットデータと特定画素情報とを受け取って、これを圧縮されていないドットデータ(すなわち特定画素を含めたドットデータ)に復元した後、印字ヘッドに供給する処理を行う。かかる本実施例のインターレース・オーバーラップ処理の内容について説明する前に、その準備として、通常行われている一般的なインターレース・オーバーラップ処理について、概要を説明しておく。
プリンタ200の制御回路260は、コンピュータ100から供給された圧縮ドットデータと特定画素情報とを受け取ると、インターレース・オーバーラップ処理を開始する(ステップS110)。インターレース・オーバーラップ処理とは、一般的には、印字ヘッドがドットを形成する順序でドットデータを読み出して、ヘッドに供給する処理である。これに対して本実施例のインターレース・オーバーラップ処理では、圧縮ドットデータと特定画素情報とを受け取って、これを圧縮されていないドットデータ(すなわち特定画素を含めたドットデータ)に復元した後、印字ヘッドに供給する処理を行う。かかる本実施例のインターレース・オーバーラップ処理の内容について説明する前に、その準備として、通常行われている一般的なインターレース・オーバーラップ処理について、概要を説明しておく。
図3を用いて前述したように、プリンタ200は、キャリッジ240を主走査させながら印字ヘッド241を駆動し、印刷用紙上にドットを形成することによって画像を印刷している。そして、図4に示すように、印字ヘッド241には各色毎に複数個のノズルが設けられており、同時に複数個のドットを形成可能である。しかし、これらノズルは、互いにノズルピッチkの間隔を空けて設けられているので、ドットもノズルピッチkの間隔を空けて形成される。すなわち、印字ヘッド241がドットを形成する順番は、画像の端から順番に形成していくのではなく、副走査方向にノズルピッチkの間隔を空けて飛び飛びの箇所にドットを形成していくことになる。また、印字ヘッド241は、主走査方向にも飛び飛びの箇所にドットを形成していく。すなわち、主走査方向に並んだ1本のドット列であれば、1回の主走査でこれを形成することが可能であるが、画質上の要請から、1本のドット列を複数回の主走査に分けて形成することとし、各回の主走査では主走査方向に飛び飛びの位置の画素にドットを形成することが行われている。印字ヘッド241は、このようにしてドットを形成している関係上、画素毎にドット形成の有無を表すドットデータが得られたら、このデータを印字ヘッド241がドットを形成する順序で並べ替える処理が必要となるのである。以下では、印字ヘッド241が所定の順番でドットを形成していく様子について、具体例を挙げて説明する。
図16は、印字ヘッド241が、主走査と副走査とを行いながら印刷用紙上にドットを形成していく様子を概念的に示した説明図である。図4を用いて前述したように、本実施例の印字ヘッド241には、各色毎に多数(本実施例では各色あたり48個)のノズルが設けられているが、説明が煩雑となることを避けるため、図16ではノズルが4個だけ設けられているものとして説明する。図中に示したN1,N2,N3,N4はこれら4つのノズルを表している。また、ノズルピッチは3であり、1本のドット列を2回の主走査に分けて形成するものとし、更に、形成するドットの種類は1種類である場合について説明する。
図16の左半分には、副走査を行うことにより、印字ヘッドが印刷用紙に対して相対的に少しずつ移動していく様子を示している。図16の左半分に示した縦長の矩形は1色分の印字ヘッドを表している。図示されているように、各色のヘッドには4つのノズルが設けられている。また、ノズルピッチは「3」に設定されているので、これらノズルの間には、図中に破線で示されているように、ノズル2つ分に相当する距離(ノズル中心同士で見ればノズルの直径の3倍に相当する距離)が設けられている。
図16の右半分には、印字ヘッドを主走査させながらインク滴を吐出することにより、印刷用紙上にドットが形成されていく様子を表している。図16の右半分に示した丸印は印刷用紙上に形成されたドットを模式的に表したものである。尚、図3を用いて前述したように、実際の副走査は印刷用紙を紙送りすることによって行われており、印字ヘッド241が副走査方向に移動するわけではないが、図16では説明の便宜から印刷用紙を基準に取って、あたかも印字ヘッドが移動しているかのように表現している。
印刷に際しては、先ず、図中で(1)と表示した位置に印字ヘッドある状態で、インク滴を吐出しながら主走査を行う。この主走査によって印刷用紙上には、図16の右半分で「1」と表示されたドットが形成される。ここで、「1」と表示されたドットが、1画素おきに飛び飛びに形成されているのは、ここでは1本のドット列を2回の主走査に分けて形成するものとしているためである。仮に、1本のドット列を3回の主走査に分けて形成するものとした場合は2画素飛びに、4回の主走査に分けて形成するものとした場合は、3画素飛びにドットが形成されることになる。
次いで、印字ヘッドをノズル2つ分だけ副走査方向に移動させる。その結果、印字ヘッドは、図16の左半分で(2)と表示した位置に移動する。図16の左半分に示された実線の矢印は、印字ヘッドを副走査する動作を模式的に表したものである。こうして副走査を行った後、再び主走査を行って印刷用紙上にドットを形成する。この2回目の主走査によって印刷用紙上には、図16の右半分で「2」と表示されたドットが形成される。前述したように、印字ヘッドにはノズルが、ノズル3つ分の間隔を空けて設けられているが、副走査では印字ヘッドをノズル2つ分だけ移動させているので、2回目の主走査で形成されるドット列(図中で「2」と表示されたドット列)は、1回目の主走査で形成したドット列(図中で「1」と表示されたドット列)の間に形成されることになる。
続いて、再びノズル2つ分だけ副走査を行って印字ヘッドを(3)と表示された位置まで移動させた後、3回目の主走査を行いながらインク滴を吐出することで、「3」と表示されたドットを形成する。3回目の主走査で形成されるドット列(図中で「3」と表示されたドット列)は、1回目の主走査で形成したドット列(図中で「1」と表示されたドット列)と、2回目の主走査で形成したドット列(図中で「2」と表示されたドット列)との間に形成されることになる。すなわち、1回目の主走査では4本のドット列が形成されるが、これらドット列の間には、2本分のドット列が形成されだけの間隔が空いている。2回目の主走査では、これら2本分のドット列の一方にドットが形成され、3回目の主走査では、残りの1本分のドット列にドットが形成されることになる。このように、副走査を行って印字ヘッドを少しずつ移動させながらドットを形成する操作を繰り返していくと、3回目の主走査を行った段階で、ドット列の間に形成された隙間をドット列で埋めることができる。
続いて行う4回目の主走査では、1回目の主走査で形成したドット列に重ねてドットが形成される。但し、前述したように、1回目の主走査では1画素おきに飛び飛びの位置にドットが形成されているので、4回目の主走査では、これらドットの間にドットを形成するのである。図16の右半分には、「1」と表示されたドットの間に、4回目の主走査による「4」と表示されたドットが、形成されている様子が概念的に表されている。すなわち、1回目の主走査では、1本の画素列上の半分のドットを形成し、4回目の主走査で残りの半分のドットを形成することで、このドット列を結局2回の主走査に分けて形成したことになる。
こうして1本のドット列が完成したら、再び副走査を行って、図中で(5)と表示した位置に印字ヘッドを移動させた後、5回目の主走査を行って、図中で「5」と表示されたドットを形成する。5回目の主走査では、2回目の主走査で形成したドット列に重ねてドットが形成される。すなわち、図中で「2」と表示されたドットの間に「5」と表示されたドットを形成することで、また、新たなドット列を完成する。続いて、再び副走査を行って、図中で(6)と表示した位置に印字ヘッドを移動し、6回目の主走査を行って、「6」と表示されたドットを形成する。「6」と表示されたドットは、「3」と表示されたドットの間に形成され、新たなドット列が完成される。以降は、同様にして、7回目の主走査では、4回目の主走査で形成したドットの間にドットが形成され、8回目の主走査では、5回目の主走査で形成したドットの間にドットが形成される。
このように、印字ヘッドを所定量ずつ副走査させながら主走査を行ってドット列を形成する操作を繰り返していくと、やがて隙間無くドットが形成され、そしてそれ以降は、主走査を行ってドットを形成するたびに次々とドット列を完成させて、印刷用紙上に隙間無くドットを形成していくことが可能となる。図16に示した例では、5回目の主走査以降で隙間無くドットが形成されている。すなわち、5回目の主走査以降にドットを形成する領域が、画像の有効表示領域となる。
このようにプリンタは、画像の有効表示領域の端にある画素から順番にドットを形成して行くのではなく、あたかもモザイクを構成するかのように、所定の順番に従ってドットを形成しながら画像を印刷している。そこで、ドットデータを受け取ると、オーバーラップ処理、すなわち、受け取ったドットデータを印字ヘッドが実際にドットを形成する順番に並べ替えた後、順番に印字ヘッドに供給する処理(インターレース・オーバーラップ処理)を行うのである。
図17は、通常のプリンタで行われている一般的なインターレース・オーバーラップ処理で、ドットデータの順番を並べ替えている様子を示した説明図である。ここでも、図16に示した場合と同様に、印字ヘッドにはノズルピッチ3の間隔で4つのノズルが設けられており、1本のドット列を2回の主走査に分けて形成するものとする。
図17(a)は、印刷しようとしている画像の上端付近を拡大して概念的に示した説明図である。図中に示した丸印は、画像を構成している画素を示している。ドットデータは、これら画素の各々に、大ドットを形成することを意味する値「11」か、中ドットを形成することを意味する値「10」、小ドットを形成することを意味する値「01」、あるいはドットを形成しないことを意味する値「00」のいずれかが、画素の並びに従ってRAM上に記憶されたデータとなっている。
一例として、前述した図16中で、5回目の主走査を行ってドットを形成する場合について説明する。前述したように、5回目の主走査では、図17(a)中で細かい斜線を付した画素にドットが形成される。このうちノズルN1では、1番上にあるドット列の中の、一画素おきに斜線を付した画素にドットが形成され、ノズルN2では、上から4本目のドット列の中の斜線を付した画素にドットが形成され、ノズルN3では、上から7本目のドット列の斜線を付した画素に、そしてノズルN4では、上から10本目のドット列の斜線を付した画素にドットが形成される。インターレース・オーバーラップ処理では、先ず初めに、このようにRAM上で飛び飛びの位置に記憶されているドットデータを読み出して、一旦、連続した状態でRAMに書き込む操作を行う。
図17(b)は、図17(a)で斜線を付した画素に記憶されているドットデータを、RAM上の別の領域に、連続した状態で書き込んでいる様子を概念的に示した説明図である。図17(b)で「N1,1」と表示されているのは、図17(a)で、ノズルN1が1番目に形成する画素のドットデータが書き込まれることを表したものである。また、図17(b)で「N1,2」と表示されているのは、ノズルN1が2番目に形成する画素のドットデータが書き込まれることを表している。このように、1行目には、ノズルN1が形成する画素のドットデータが書き込まれる。同様にして、2行目にはノズルN2が形成する画素のドットデータが書き込まれ、3行目にはノズルN3が形成する画素のドットデータが、4行目にはノズルN4が形成する画素のドットデータが書き込まれる。
こうして各ノズルが形成するドットデータを連続した状態で書き込んだら、今度はこのデータの行と列とを入れ換える操作を行う。例えば、データ「N1,2」は図17(b)では1行2列目の位置に書き込まれているので、行と列とを入れ換えて2行1列目の位置に書き込んでやる。同様に、データ「N2,3」は図17(b)では2行3列目の位置に書き込まれているので、このデータは3行2列目の位置に書き込んでやる。このように、行と列とを入れ換えることにより、図17(b)に示したデータは、図17(c)に示したデータに変換される。
図17(c)に示されているように、行と列とを入れ換えたことにより、1行目には「N1,1」、「N2,1」、「N3,1」、「N4,1」の4つのデータが書き込まれている。これらのデータは、ノズルN1ないしN4がそれぞれ1番目に形成する画素についてのドットデータである。また、2行目には、「N1,2」、「N2,2」、「N3,2」、「N4,2」の4つのデータが書き込まれており、これらはノズルN1ないしN4がそれぞれ2番目に形成する画素についてのドットデータである。同様に、3行目には、各ノズルが3番目に形成する画素についてのドットデータが書き込まれ、4行目には4番目に形成する画素についてのドットデータが書き込まれている。このように、各ノズルがドットを形成する順番に、ドットデータが書き込まれたデータとなっている。従って、図17(c)に示すような、行と列とを入れ換えたデータの先頭から、ノズルの数に相当する分のデータを読み出して、印字ヘッドの主走査に合わせてそのまま供給してやれば、図17(a)に細かい斜線で示した画素のドットデータに従って、順次ドットを形成することができる。
以上のようにして、図16中で5回目の主走査で形成する画素についてのドットを形成したら、今度は6回目の主走査で形成する画素(すなわち、図17(a)中で粗い斜線を付して表示した画素)について、同様の操作を行えばよい。このように、一般的に行われているインターレース・オーバーラップ処理では、図17(a)に示すようにRAM上に画素の順番で記憶されているドットデータの中から、印字ヘッドがドットを形成する画素についてのデータだけを読み出して、図17(b)に示すように連続した状態で記憶し、記憶されたデータの行と列とを入れ換えて、得られた図17(c)に示すデータを、先頭からノズル数に相当するデータ数ずつ順次印字ヘッドに供給する操作を行っている。
以上、図16および図17を用いて説明したように、通常のインターレース・オーバーラップ処理では、画素の並びの順番で記憶されているドットデータを、実際にドットを形成する順序に並べ替えてヘッドに供給する処理を行うが、本実施例で得られるドットデータは、特定画素についてのデータを含まない圧縮ドットデータとなっているので、直ちにインターレース・オーバーラップ処理を行うことはできない。そこで、プリンタ200の制御回路260は、コンピュータ100から圧縮ドットデータと特定画素情報とを受け取って、以下のようなインターレース・オーバーラップ処理を行う(図6のステップS110)。
図18は、第1実施例の画像印刷処理で行われるインターレース・オーバーラップ処理の流れを示すフローチャートである。以下、フローチャートに従って説明する。
第1実施例のインターレース・オーバーラップ処理を開始すると、先ず初めに、コンピュータ100から供給された圧縮ドットデータと特定画素情報とを、制御回路260内のRAMに記憶する(ステップS300)。次いで、ノズル位置に相当する画素列についての圧縮データと特定画素情報とを読み込む処理を行う(ステップS302)。かかる処理について、図19を参照しながら説明する。
図19は、第1実施例のインターレース・オーバーラップ処理において、ノズル位置に相当する画素列についての圧縮ドットデータと特定画素情報とを読み出して、ドットデータを復元している様子を概念的に示した説明図である。前述したように特定画素情報とは、画素列の中で特定画素の画素位置を示したデータである。また、圧縮ドットデータとは、特定画素を除いた画素についてドット形成の有無を表したデータである。
図19(a)は、印刷しようとする画像中でノズル位置に相当する画素列を示した説明図である。前述したようにプリンタ200はノズルピッチkに相当する間隔で複数本の画素列にドットを形成しながら画像を印刷する。ここでは、前述の図16、図17に倣って4つのノズルN1,N2,N3,N4がノズルピッチ3で設けられているものとし、これらノズルが図19(a)中に斜線を付して示した画素列にドットを形成するものとする。図18のステップS302では、図19(a)に斜線を付した画素列についての圧縮ドットデータと特定画素情報とを、制御回路260内のRAMから読み出す処理を行う。
図19(b)は、こうして読み出された各画素列についての圧縮ドットデータおよび特定画素情報を概念的に示した説明図である。N1,N2,N3,N4の4つのノズルのそれぞれに、特定画素情報と、CMYK各色毎の圧縮ドットデータとが読み出されることになる。ここで、特定画素情報は、1本の画素列に含まれる画素数と同じbit数を有するデータであるとしているから(図7参照)、各ノズルの特定画素情報は同じデータ長を有している。これに対して圧縮ドットデータは、画素列の中から特定画素を除いた画素についてのドットデータであるが、特定画素の数は画素列毎に異なっているので、圧縮ドットデータのデータ長はノズル毎に異なったものとなっている。図18のステップS302では、このような圧縮ドットデータと特定画素情報とをノズル位置毎に読み出す処理を行う。
次いで、制御回路260は、読み出した圧縮ドットデータと特定画素情報とに基づいて、ドットデータを復元する処理を行う(ステップS304)。図19(c)は、あるノズルについて、CMYK各色の圧縮ドットデータおよび特定画素情報からドットデータを各色毎に復元している様子を概念的に表している。かかる処理について、図20を用いて具体的に説明する。
図20は、あるノズルについて、特定画素情報およびCMYK各色の圧縮ドットデータから、各色のドットデータを復元する様子を示した説明図である。図20(a)に例示した特定画素情報によれば、その画素列の先頭から2番目の画素は特定画素であり、画像データを圧縮して圧縮画像データを生成する際にデータが省略されている。従って、圧縮ドットデータの先頭から1番目と2番目のデータの間には、特定画素についてのドットデータが省略されているものと考えられる。同様に、特定画素情報によれば、その画素列の先頭から5番目の画素は特定画素であり、従って、圧縮ドットデータの先頭から3番目と4番目のデータの間にも、特定画素についてのドットデータが省略されていると考えられる。ここでは、図7(b)を用いて前述したように、RGB各色の階調値が「255」、すなわちCMYK各色のいずれについても、ドットが形成されないことが予め予想される画素を特定画素として検出しているものとすれば、省略されたドットデータは「00」である。そこで、図20(a)に示す圧縮ドットデータの該当位置に、特定画素についてのドットデータ「00」を補うことにより、図20(b)に示すような、特定画素も含んだドットデータを復元することができる。図18に示した第1実施例のインターレース・オーバーラップ処理中のステップS304では、先に読み込んでおいたノズル位置に相当する圧縮ドットデータおよび特定画素情報から、ノズル位置毎に、こうしてドットデータを復元する処理を行う。
プリンタ200の制御回路260は、こうして、ノズル位置に相当する複数の画素列についてドットデータを復元したら、今度は、復元した複数のドットデータから印字ヘッドが実際にドットを形成する画素(印字画素)のドットデータだけを抜き出して、抜き出したデータの行と列とを入れ換える処理を行う(ステップS306)。この処理について、図21を参照しながら説明する。図21は、復元されたドットデータから印字画素のドットデータを抜き出して、行と列とを入れ換えている様子を示した説明図である。ここでは図16に倣って、1画素飛びにドットを形成するものとする。また、印字画素のドットデータを抜き出して行と列とを入れ換える処理は、CMYKの各色毎に行われるが、処理内容は各色ともに同様である。そこで、図21では図示が煩雑となることを避けるために、代表として、ある色についてのみ表示している。
今、図21(a)に示した画素列の先頭の画素からドットが形成されるものとすると、ノズルが最初にドットを形成する画素は、1列目の画素(図中の上端に「1」と符番した画素)となる。そこで、この画素についてのドットデータを抜き出して、行と列とを入れ換えた状態でRAMに書き込んでやる。図21(b)の1行目のデータは、こうして書き込まれたドットデータである。次いで、ノズルが2番目にドットを形成する画素、すなわち図21(a)の上端に「2」と符番した画素についてのドットデータを抜き出して、行と列とを入れ換えた後、RAMに書き込んでやる。図21(b)の2行目のデータは、こうして書き込まれたドットデータである。図21(a)のような復元されたドットデータに対して、このような操作を次々と行っていけば、図21(b)に示すようなドットデータを得ることができる。図18のステップS306では、このような操作を行うことにより、印字画素についてのドットデータを、行と列とを入れ換えた状態で、順次記憶していく処理を行う。
こうして得られたドットデータは、1行目には、ノズルN1ないしノズルN4の各ノズルが1番初めに形成する各画素についてのドットデータが設定され、2行目には、各ノズルが2番目に形成する各画素についてのドットデータが設定され、3行目には、各ノズルが3番目に形成する各画素についてのドットデータというように、各ノズルがドットを形成する順序で、ドットデータが並び替えられたデータとなっている。そこで、制御回路260は、キャリッジ240が主走査する動きに合わせて、このドットデータを1行目から順次読み出して印字ヘッドに出力していく(ステップS308)。こうしてドットデータを印字ヘッドに出力してやれば、ヘッドに設けられた各ノズルからドットデータに従ってインク滴が吐出されて、印刷用紙上の適切な位置にドットが形成されることになる。
以上のようにしてノズル位置に相当する画素列についてドットを形成したら、画像を構成する全画素列について処理が終了したか否かを判断する(ステップS310)。そして、未処理の画素列が残っている場合は(ステップS310:no)、ステップS302に戻って新たなノズル位置に相当する圧縮ドットデータおよび特定画素情報を読み出した後、続く一連の処理を行う。こうして、全ての画素列についての処理が終了したと判断されたら(ステップS310:yes)、図18に示した第1実施例のインターレース・オーバーラップ処理を抜けて図6の画像印刷処理に戻った後、第1実施例の画像印刷処理を終了する。
以上に説明した第1実施例の画像印刷処理では、画像データの中から特定画素についてのデータを除くことによって画像データを圧縮し、得られた圧縮画像データに対して、続く画像処理を行っている。このため、画像処理の対象となる画素数が減少するので、その分だけ画像処理を迅速に行うことができ、延いては、画像を迅速に印刷することが可能となる。
また、画像処理によって得られたドットデータを、コンピュータ100からプリンタ200に供給する場合にも、上述した第1実施例の画像印刷処理では、特定画素を除いて圧縮された状態のドットデータ(圧縮ドットデータ)を供給している。このため、プリンタ200に供給すべきデータ量を減少させることができるので、データを迅速に供給することが可能となる。もちろん、第1実施例の画像印刷処理では、圧縮ドットデータに加えて特定画素情報もプリンタ200も供給する必要がある。しかし、前述したように、ドットデータは1画素あたり2bitのデータであり、しかもドットデータは1画素についてCMYK各色毎のデータであることから、ドットデータのデータ量は特定画素情報に比べて遙かに大きくなる。すなわち、特定画素情報のデータ量に比べれば、ドットデータのデータ圧縮量の方が大きく、このことから特定画素情報を供給したとしても、全体としてはプリンタ200に供給すべきデータ量を低減させることができる。
更に、プリンタ200では、このように圧縮された状態でドットデータを受け取っている。このため、圧縮ドットデータに加えて特定画素情報を記憶しなければならないものの、ドットデータを圧縮しない状態で記憶しておく場合に比べれば、必要なメモリ量を大きく低減させることが可能となる。
第1実施例の画像印刷処理によれば、以上のような効果を得ることができるので、例え、画像を構成する画素数が多くなった場合でも、必要なメモリ量をいたずらに増加させることなく、画像を迅速に表示させることが可能となるのである。
C.第2実施例 :
以上に説明した第1実施例の画像印刷処理では、色変換処理を行う前の段階で特定画素を検出して、特定画素についてのデータを分離することによって画像データを圧縮した。こうすれば、圧縮した状態で、色変換処理およびハーフトーン処理を実施することができる。もっとも、このような方法に換えて、色変換処理を行ってから特定画素を検出することとしても良い。この場合は、色変換処理は圧縮前の画像データに対して行う必要があるものの、データの圧縮率を向上させることが可能である。以下では、こうした第2実施例の画像印刷処理について説明する。
以上に説明した第1実施例の画像印刷処理では、色変換処理を行う前の段階で特定画素を検出して、特定画素についてのデータを分離することによって画像データを圧縮した。こうすれば、圧縮した状態で、色変換処理およびハーフトーン処理を実施することができる。もっとも、このような方法に換えて、色変換処理を行ってから特定画素を検出することとしても良い。この場合は、色変換処理は圧縮前の画像データに対して行う必要があるものの、データの圧縮率を向上させることが可能である。以下では、こうした第2実施例の画像印刷処理について説明する。
図22は、第2実施例の画像印刷処理の流れを示すフローチャートである。第2実施例の画像印刷処理は、図6に示した第1実施例の画像印刷処理に対して、色変換処理の後で画像データを圧縮している点が大きく異なっている。以下では、かかる相違点を中心として、第2実施例の画像印刷処理について説明する。
第2実施例の画像印刷処理においても、コンピュータ100は、処理を開始すると先ず初めに、変換すべき画像データの読み込みを開始する(ステップS400)。第1実施例と同様に、ここでは、RGB画像データを読み込むものとする。次いで、読み込んだ画像データの解像度を印刷解像度に変換した後(ステップS402)、色変換処理を行う(ステップS404)。すなわち、画像を構成する画素毎に記憶されたRGB画像データを、図8に示したような色変換テーブル(LUT)を参照することにより、C,M,Y,K各色についての画像データに変換するのである。
第2実施例の画像印刷処理では、こうして画像を構成している全ての画素について、CMYK各色の画像データに変換した後に、特定画素についてのデータを分離して画像データを圧縮する処理を行う(ステップS406)。かかる処理の内容は、大まかには、図7を用いて前述した第1実施例で行う処理と同様であるが、次の点で第1実施例とは異なっている。すなわち、第1実施例ではRGB各色の画像データを一体として扱い、各色の画像データがいずれも階調値「255」または階調値「0」である画素を特定画素として検出した。これに対して第2実施例では、C,M,Y,K各色毎に特定画素を検出し、各色毎に画像データを圧縮する点で異なっている。例えば、階調値「0」の画素を特定画素として検出するものとする。
図23は、C,M,Y,Kの各色毎の特定画素を検出して、画像データを圧縮している様子を概念的に示した説明図である。図23(a)は、ある画素列についてのRGB画像データを示しており、このRGB画像データを色変換することによって、図23(b)に示すようなCMYK各色の画像データが得られたものとする。第2実施例では、得られた画像データから各色毎に特定画素を検出する。一例として、C色の画像データについて説明すると、C色については先頭から3番目までの画素および5番目の画素には階調値「0」が設定されている。図15に示した記録密度変換テーブルによれば、階調値「0」の画像データは、大中小いずれのドットの記録密度データも階調値「0」となるから、これらの画素については、ドットは形成されないものと考えられる。そこで、C色の画像データについては、先頭から3番目まで、および5番目の画素は特定画素と判断され、これら画素についての画像データを取り除くことにより、C色についての圧縮画像データを生成することができる。
図23(c)の上段には、こうしてC色について生成した特定画素情報と圧縮画像データとが示されている。M色の画像データ、Y色の画像データ、K色の画像データについても同様にして、それぞれ特定画素情報および圧縮画像データを生成することができる。図22のステップS406では、このようにして色変換によって得られた画像データから各色毎に特定画素を検出して、特定画素情報と圧縮画像データとを各色毎に生成する処理を行う。こうして各色毎に画像データを圧縮すれば、画像データの圧縮率を向上させることができるので、続く画像処理および画像処理後のデータをプリンタ200に出力する処理を迅速に行うことができ、延いては画像を迅速に表示させることが可能となる。尚、色変換後の画像データを各色毎に圧縮すれば、圧縮率を向上させることが可能な理由については、別図を参照しながら後ほど詳しく説明する。
こうして各色毎に画像データを圧縮したら(図22のステップS406)、得られた圧縮画像データに対して各色毎にハーフトーン処理を行い、圧縮ドットデータを生成する(ステップS408)。ハーフトーン処理の内容については、第2実施例も前述した第1実施例における処理と同様であり、ここでは説明は省略する。但し、第2実施例では特定画素を各色毎に検出することに対応して、図12に示した圧縮ディザマトリックスを生成する処理も各色毎に行う点で、前述した第1実施例とは若干異なっている。
ハーフトーン処理を行って圧縮ドットデータが得られたら、コンピュータ100は、特定画素情報と圧縮ドットデータとを、プリンタ200に向かって各色毎に出力する。図23(d)は、コンピュータ100がこれらを出力するデータ形式を概念的に表している。すなわち、コンピュータ100は、初めに各色の特定画素情報を出力し、次いで、圧縮ドットデータを出力する。前述したように、特定画素が検出される画素位置は各色毎に異なっているから、圧縮ドットデータのデータ長は、図23(c)に例示したように各色毎に異なっている。そこで、圧縮ドットデータの出力に先立って、予め特定画素情報を出力しておくのである。こうすれば、プリンタ200の制御回路260は、圧縮ドットデータのデータ長を特定画素情報から検出しながら、圧縮ドットデータを受け取ることができるので、データ長が各色毎に異なっていても、圧縮ドットデータを確実に受け取ることが可能となる。
尚、図23(d)では、各色の特定画素情報をまとめて出力した後に、各色の圧縮ドットデータを出力する場合について表示しているが、圧縮ドットデータに先立って各色毎に特定画素情報を出力していればよく、例えば、特定画素情報、圧縮ドットデータの順番で、各色毎に出力することとしてもよい。
プリンタ200の制御回路260では、こうして供給された特定画素情報と圧縮ドットデータとに基づいて、インターレース・オーバーラップ処理を行う(ステップS410)。かかる処理の内容も第1実施例と同様である。以下、第1実施例のインターレース・オーバーラップ処理の流れを示した図18のフローチャートを流用しながら、第2実施例のインターレース・オーバーラップ処理について概要のみを簡単に説明する。
第2実施例のインターレース・オーバーラップ処理においても、先ず初めに、コンピュータ100から供給された圧縮ドットデータと特定画素情報とを、制御回路260内のRAMに記憶した後(ステップS300相当)、ノズル位置に相当する画素列についての特定画素情報と圧縮データとを、CMYKの各色毎に読み込む(ステップS302相当)。
次いで、読み出した特定画素情報および圧縮ドットデータに基づいて、各色毎にドットデータを復元した後(ステップS304相当)、復元したドットデータから印字ヘッドが実際にドットを形成する画素(印字画素)のドットデータだけを抜き出して、抜き出したデータの行と列とを入れ換える処理を行う(ステップS306相当)。その結果、図21(b)に示したように、1行目には、ノズルN1ないしノズルN4の各ノズルが1番初めに形成する各画素についてのドットデータが設定され、2行目には、各ノズルが2番目に形成する各画素についてのドットデータが設定され、3行目には、各ノズルが3番目に形成する各画素についてのドットデータというように、各ノズルがドットを形成する順序で、ドットデータが記憶されたデータが得られる。
そこで、キャリッジ240が主走査する動きに合わせて、このドットデータを1行目から順次読み出して印字ヘッドに出力していくことによって印刷用紙上にドットを形成する(ステップS308相当)。こうした操作を全ての画素について行ったら(ステップS310相当)、インターレース・オーバーラップ処理を終了して、第2実施例の画像印刷処理を完了する。
以上に説明した第2実施例では、色変換後の画像データを各色毎に圧縮しているために、色変換前に圧縮した場合よりも圧縮率を向上させることが可能である。これは、次のような、2つの理由によるものである。
先ず1つ目の理由としては、色変換前に画像データを圧縮する場合は、RGB各色の画像データがいずれも階調値「255」である画素か、またはいずれも階調値「0」である画素しか特定画素とならないのに対して、色変換後の画像データを圧縮する場合は、CMYK各色の画像データの内、いずれか1色でも階調値が「255」あるいは「0」であれば、その色については特定画素となる。このことから、色変換後の画像データを各色毎に圧縮してやれば、色変換前に圧縮する場合よりも、特定画素の画素数が多くなるので、その分だけ圧縮率を向上させることが可能となる。
圧縮率が向上する2番目の理由は、RGB画像データを色変換して得られるCMYK画像データの、各色の階調値の特性によるものである。図24を参照しながら、この理由について説明する。図24は、白色から黒色へとゆっくりと変化する画像(いわゆる無彩色のグラデーション画像)を色変換している様子を概念的に示した説明図である。このような無彩色のグラデーション画像のRGB画像データは、R,G,B各色の階調値が「255」から「0」に向かって同時に少しずつ減少するような画像データとなる。一方、このようなRGB画像データを色変換して得られるCMYK各色の画像データは、次のようなデータとなる。先ず、RGB画像データの階調値が大きい領域(すなわちグラデーション画像の白色に近い領域)では、RGB各色の階調値が小さくなるに連れて、CMY各色の画像データの階調値は、ほぼ同じように増加していく。CMY各色を減法混色させれば、K色を用いずとも無彩色を表現することができる。従って、このような領域ではK色の画像データは階調値「0」となる。RGB画像データの階調値がある値まで減少すると(すなわちグラデーション画像がある程度暗くなると)、CMY各色による減法混色だけでは表現しきれなくなるので、K色の画像データを少しずつ増加させ、代わりにCMY各色の画像データを減少させる。RGB画像データの階調値が更に減少すると(すなわちグラデーション画像が更に暗くなると)、ついにはCMYを全く使用せずに、K色のみを用いて表現するようになる。このような領域では、CMY各色の画像データは階調値「0」となり、グラデーション画像が暗くなるに従ってK色の画像データのみが次第に増加して行く。図24には、このようにRGB画像データが変化するに連れて、色変換されたCMYK各色の画像データが次第に増減する様子が示されている。
図24に示されているように、CMY色の画像データまたはK色の画像データのいずれかは、グラデーション画像の広い領域に亘って階調値「0」となっている。これは、無彩色のグラデーション画像を印刷する場合、CMY各色の画像データとK色の画像データとは、広い領域で相補的な使われ方、すなわち、CMYが使用される領域の大部分ではKは使用されず、逆にKが使用される領域の大部分ではCMYは使用されておらず、どちらも使用される領域では、いずれか一方が増加すれば他方が減少するような使われ方をしていることによる。このような相補的な使われ方をするのは、何もCMYとKとの間に限られず、CMY各色の間にも起こり得る。更に、CMYK各色に加えて、淡いC(LC)や、淡いM(LM)、淡いK(LK)を使用する場合には、これら濃淡の関係にある各色の間にも起こり得る。従って、色変換後の画像データを各色毎に圧縮した場合は、これら各色の画像データは互いに相補的に使用されているので、上述したように、ほとんどの領域で、いずれかの画像データの階調値が「0」となっている。このような画像データを各色毎に圧縮してやれば、広い範囲に亘って多数の特定画素が検出されることになるので、画像データの圧縮率を向上することができるのである。
以上に説明した第2実施例の画像印刷処理によれば、色変換後の画像データを各色毎に圧縮しているので、圧縮画像データの圧縮率が向上し、データ量を低減することができる。このような圧縮画像データに画像処理を行えば、圧縮ドットデータを迅速に生成することができるとともに、生成した圧縮ドットデータと特定画素情報とをプリンタに迅速に転送することができる。その結果、画像を迅速に印刷することが可能となる。更に、圧縮ドットデータのデータ量が抑制されているので、転送された圧縮ドットデータと特定画素情報とを記憶しておくために、プリンタに搭載すべきメモリ容量がいたずらに大きくなることもない。
加えて、第2実施例の画像印刷処理では、次のような利点も得ることができる。すなわち、色変換テーブルに設定されるCMYK各色の階調値は、RGB画像データに対して一義的に決定されるものではなく、ある程度の自由度が存在している。通常は、より好ましい画質が得られるように、調整された各色の階調値が設定されている。そこで、第2実施例の画像印刷処理では、色変換テーブルに設定される各色階調値の自由度の一部を、画像データの圧縮率を調整するために使用することも可能である。例えば、圧縮率が低い領域では、色変換テーブルに設定されるCMYK各色の階調値を、圧縮率が上がるような設定に調整しておき、逆に圧縮率が高い領域では、圧縮率が下がるような設定に調整しておくのである。こうすれば、画像データを常に安定した割合で圧縮することができる。そのため、プリンタに搭載するメモリ容量を決定する際に、予備として余分に搭載する容量を少なめに見積もることができ、その分だけ、メモリ容量を抑制することが可能となる。
D.第3実施例 :
上述した各種の実施例では、いずれも画像データの解像度を印刷解像度に変換した後に、特定画素を分離して画像データを圧縮した。しかし、低解像度の画像データをより高い解像度に変換して画像を印刷する場合には、解像度を変換する前に、すなわち解像度が低い段階で特定画素を分離した後に、画像データを圧縮してもよい。こうすれば、後述するように、データの圧縮率を大幅に向上させることができる。その結果、画像を迅速に印刷するとともに、プリンタ200に搭載すべきメモリ容量も大幅に抑制することが可能である。以下では、こうした第3実施例の画像印刷処理について説明する。
上述した各種の実施例では、いずれも画像データの解像度を印刷解像度に変換した後に、特定画素を分離して画像データを圧縮した。しかし、低解像度の画像データをより高い解像度に変換して画像を印刷する場合には、解像度を変換する前に、すなわち解像度が低い段階で特定画素を分離した後に、画像データを圧縮してもよい。こうすれば、後述するように、データの圧縮率を大幅に向上させることができる。その結果、画像を迅速に印刷するとともに、プリンタ200に搭載すべきメモリ容量も大幅に抑制することが可能である。以下では、こうした第3実施例の画像印刷処理について説明する。
図25は、第3実施例の画像印刷処理の流れを示すフローチャートである。また、図26および図27は、第3実施例の画像印刷処理において、画像データがドットデータに変換される様子を概念的に示した説明図である。第3実施例の画像印刷処理は、前述した各種実施例の画像印刷処理に対して、特定画素を分離して画像データを圧縮する処理を、解像度を変換する前に実施する点が大きく異なっている。以下では、かかる相違点を中心として、第3実施例の画像印刷処理について説明する。
第3実施例の画像印刷処理を開始すると、前述した各種実施例の画像印刷処理と同様に、先ず、画像データの読み込みを開始する(図25のステップS500)。ここでは、前述した実施例と同様に、画像データとしてRGB画像データを読み込むものとする。
次いで、読み込んだRGB画像データの中から特定画素を分離して、画像データを圧縮する処理を行う(ステップS502)。すなわち、前述した第1実施例と同様に、RGB各色の画像データを一体として扱って、各色の画像データの階調値がいずれも「255」である画素を、特定画素として分離するのである。もちろん、階調値がいずれも「0」である画素を特定画素として分離しても良く、更には、階調値が「255」あるいは「0」に近い値であれば、これらの画素を特定画素に準じて扱うこととしても良い。
かかる処理について、図26を参照しながら説明する。図26(a)は、ステップS500において読み込まれたRGB画像データを概念的に示している。説明の便宜上、図26では1行分の画像データを示すとともに、各画素には先頭から通し番号を付してある。ステップS502では、RGB各色の階調値が「255」である画素を特定画素として分離するとともに、特定画素位置を示す特定画素情報を生成する。図26(a)では、先頭から2番目の画素および4番目の画素を特定画素として検出し、これら画素を除くことによって圧縮画像データを生成する。図26(b)の下段には、こうして生成された圧縮画像データが示されており、上段には対応する特定画素情報が示されている。
このようにして圧縮画像データを生成したら、得られた圧縮画像データに対して色変換処理を行う(ステップS504)。色変換処理は、前述したようにLUT(色変換テーブル)を参照することによって迅速に行うことができる。図26(c)は、図26(b)の圧縮画像データを色変換することによって得られたCMYK各色の画像データを表している。図示されているように、特定画素を除いた各画素についてのRGB各色の画像データが、CMYK各色の画像データに変換されている。このように、色変換に先立って特定画素を分離しておけば、特定画素以外の画素についてのみ色変換処理を行えばよいので、対象とする画素が減る分だけ、色変換処理を迅速に完了することが可能となる。
尚、ここでは前述した第1実施例と同様に、特定画素を分離して画像データを圧縮する処理を、RGB画像データに対して行うものとして説明しているが、もちろん、前述した第2実施例と同様に、CMYKの各色の画像データに対して各色毎に特定画素を分離することも可能である。このように、CMYK各色毎に画像データを圧縮する場合は、図25に示したステップS502とステップS504との順序を逆にして、色変換処理を行った後に特定画素を分離してやればよい。
第3実施例の画像印刷処理では、こうして色変換を行った圧縮画像データに対して、解像度を高解像度化する処理を行う(ステップS506)。図26(d)は、図26(c)に示した圧縮画像データの解像度を、主走査方向(紙面上で左右方向)に2分割することによって、解像度を2倍に高めている様子を概念的に示している。もちろん、高解像度化する方向は主走査方向に限られるものではなく、副走査方向(紙面上で上下方向)に高解像度化しても良い。更には、高解像度化する程度は2倍に限らず、より高い解像度に変換することも可能である。また、図26(d)では、高解像度化に際して、1つの画素から分割された複数の画素はいずれも同じ画像データを有するものとしたが、もちろん、新たに生成した画素の画像データは同じ画像データに限られるものではない。例えば、周囲の画素の画像データから補間演算を行うなど、周知の種々の方法を適用することが可能である。
第3実施例では、このように圧縮された状態で(すなわち、特定画素が除かれた状態で)高解像度化された画像データに対して、ハーフトーン処理を行う(図25のステップS508)。ハーフトーン処理は、前述した各種実施例と同様にして行うことができる。すなわち、特定画素情報に基づいて圧縮ディザマトリックスを生成し、圧縮ディザマトリックスの閾値と、圧縮画像データの階調値とを比較することによって、画素毎にドット形成の有無を判断する。
但し、第3実施例では、特定画素を分離した後に画像データを高解像度化していることから、特定画素情報から圧縮ディザマトリックスを生成するに際しては、この点を考慮しておくことが望ましい。すなわち、図26に示した例では、主走査方向の解像度を2倍に変換しているから、特定画素情報の1画素は、高解像度の画像データでは主走査方向に並んだ2画素分に対応している。そこで、図13を用いて前述したようにして、特定画素情報に従ってディザマトリックスから閾値を分離するに際しては、特定画素1画素に対して2画素分の閾値を除くことにより、圧縮ディザマトリックスを生成しておくことが望ましい。こうすれば、ディザマトリックスに最適に設定されている閾値の分布を崩すことなく、ハーフトーン処理を行うことが可能となる。
以上のようにして、ハーフトーン処理を行って圧縮ドットデータが得られたら、コンピュータ100は、特定画素情報と圧縮ドットデータとを、プリンタ200に向かって出力する。プリンタ200は、出力されたデータを制御回路260内のRAMに一旦記憶した後、インターレース・オーバーラップ処理を開始する(図25のステップS510)。かかる処理は、図18を用いて説明した第1実施例のインターレース・オーバーラップ処理と、ほぼ同様である。以下、図18のフローチャートを流用して簡単に説明すると、圧縮ドットデータと特定画素情報とを受け取ってRAMに一旦記憶する(ステップS300相当)。ここで、圧縮ドットデータについては高解像度のデータであるが、特定画素情報は低解像度のデータとなっている。次いで、ノズル位置に相当する圧縮ドットデータと特定画素情報とを読み込んで、これらに基づいてドットデータを復元する処理を行う(ステップS302、S304相当)。
図27は、低解像度の特定画素情報と高解像度の圧縮ドットデータとに基づいて、高解像度のドットデータを復元している様子を概念的に示した説明図である。図27(a)は、復元処理前の圧縮ドットデータと特定画素情報とを概念的に表している。上段に示した特定画素情報は低解像度のデータであり、下段に示した圧縮ドットデータは高解像度のデータとなっており、ここでは、特定画素情報の1画素が圧縮ドットデータの2画素分に対応している。このことから、ドットデータを復元するに際しては、特定画素がある位置に、特定画素情報に従って、2画素分のドットデータが挿入されることになる。図27(b)は、こうして圧縮ドットデータ中の特定画素に相当する位置に、2画素分のドットデータを挿入することで、高解像度のドットデータを復元している様子を概念的に示している。
次いで、復元したドットデータから印字画素のデータを抜き出して、行と列とを入れ換える処理を行った後(図18のステップS306相当)、入れ換えたドットデータをヘッドに出力する(ステップS308相当)。そして、全画素列を終了したか否かを判断し(ステップS310相当)、全画素列について処理が終了するまで上述した操作を繰り返し、処理が完了したらインターレース・オーバーラップ処理を抜けて、図25に示した画像印刷処理を終了する。
以上に説明した第3実施例の画像印刷処理においては、画像データが低解像度の段階で特定画素を分離し、得られた圧縮画像データの解像度を高解像度化した後、ハーフトーン処理を行う。こうして得られた高解像度のドットデータを低解像度の特定画素情報とともにプリンタ200に出力している。このように、特定画素情報については低解像度の状態でプリンタ200に供給していることから、特定画素情報のデータ量を低減することができる。その結果、コンピュータ100から特定画素情報を迅速に供給することができるとともに、プリンタ200でも、供給されてきた特定画素情報を記憶しておくために要する記憶容量を、低減することが可能となる。
加えて、第3実施例の画像印刷処理では、圧縮ドットデータのデータ量を抑制することも可能となる。すなわち、コンピュータ100は、全ての画素についてのドットデータを生成する代わりに、特定画素についてのドットデータを除いて圧縮した圧縮ドットデータを生成する。ここで、特定画素情報は低解像度のデータであり、ドットデータは高解像度のデータであるとした場合、1画素分の特定画素情報が複数画素分(図27に示した例では2画素分)のドットデータに対応することになる。従って、第3実施例の画像印刷処理では、特定画素1つあたり、複数画素分ずつドットデータが圧縮されることになり、圧縮ドットデータのデータ量を抑制することが可能となるのである。こうして圧縮ドットデータのデータ量を抑制することができれば、その分だけ、コンピュータ100からプリンタ200にデータを迅速に供給することが可能になるとともに、プリンタ200側では、圧縮ドットデータを記憶しておくために要するRAMのメモリ容量も抑制することが可能となる。
D−1.第3実施例の変形例 :
(1)第1の変形例 :
上述した第3実施例では、画像データの解像度を高解像度化するに際して、主走査方向あるいは副走査方向に高解像度化するものとして説明したが、もちろん、主走査方向および副走査方向に、同時に高解像度化しても構わない。例えば、主走査方向および副走査方向への解像度をそれぞれ2倍に高解像度化しても良い。こうした場合は、特定画素情報の1画素分が、ドットデータでは縦横2列ずつの合計4画素分に対応することになる。
(1)第1の変形例 :
上述した第3実施例では、画像データの解像度を高解像度化するに際して、主走査方向あるいは副走査方向に高解像度化するものとして説明したが、もちろん、主走査方向および副走査方向に、同時に高解像度化しても構わない。例えば、主走査方向および副走査方向への解像度をそれぞれ2倍に高解像度化しても良い。こうした場合は、特定画素情報の1画素分が、ドットデータでは縦横2列ずつの合計4画素分に対応することになる。
図28は、主走査方向および副走査方向への解像度を2倍に高解像度化した場合に、特定画素情報と圧縮ドットデータとに基づいてドットデータを復元する様子を概念的に示した説明図である。図28(a)の上段には、低解像度の特定画素情報が示されており、図28(a)の下段には、対応する高解像度の圧縮ドットデータが示されている。この例では、特定画素情報の1画素が、縦横2列の4画素分の圧縮ドットデータに対応するから、図28(a)の圧縮ドットデータは、図28(b)に示すようなドットデータに復元されることになる。
このように、主走査方向および副走査方向に同時に高解像度化してやれば、1画素分の特定画素情報で、多数の画素のドットデータに対応することになる。その結果、特定画素情報のデータ量と圧縮ドットデータのデータ量とを同時に低減することができ、延いては、コンピュータ100からプリンタ200に迅速に供給するとともに、プリンタ200に搭載すべきメモリ容量も低減することが可能となる。
(2)第2の変形例 :
上述した第3実施例では、画像データの解像度を、より高い解像度の印刷解像度に変換した後にハーフトーン処理を行っているが、ハーフトーン処理と同時に高解像度化することとしてもよい。
上述した第3実施例では、画像データの解像度を、より高い解像度の印刷解像度に変換した後にハーフトーン処理を行っているが、ハーフトーン処理と同時に高解像度化することとしてもよい。
図29は、ハーフトーン処理と同時に画像データを高解像度化する場合の画像印刷処理の流れを示すフローチャートである。図示した第2の変形例のフローチャートは、図25を用いて前述した第3実施例の画像印刷処理に対して、ハーフトーン処理中で画像データを高解像度化する点が大きく異なっている。以下では、かかる相違点を中心として、第3実施例における第2の変形例の画像印刷処理について、簡単に説明する。
第3実施例の第2の変形例においても、画像印刷処理を開始すると、先ず初めに、低解像度の画像データを読み込んで(ステップS600)、読み込んだ画像データの中から特定画素を分離することにより、画像データを圧縮する(ステップS602)。こうして得られた低解像度の圧縮画像データに対して色変換処理を行う(ステップS604)。次いで、低解像度の画像データにハーフトーン処理を行うと同時に、高解像度のデータに変換する処理を行った後(ステップS606)、インターレース・オーバーラップ処理を行うことにより画像を印刷する(ステップS608)。
図30は、ハーフトーンと同時に画像データを高解像度化する処理の前半部分の流れを示すフローチャートであり、図31は、後半部分の流れを示すフローチャートである。以下では、図30および図31を参照しながら、第2の変形例の画像印刷処理中で行われるハーフトーン処理について説明する。ハーフトーン処理を開始すると、先ず初めに、低解像度の圧縮画像データの中から、処理の対象とする1画素分のデータを読み込む(ステップS700)。第2の変形例のハーフトーン処理では、読み込んだ低解像度の画像データと、高解像度のディザマトリックスとを比較することにより、1画素分の画像データから複数画素分のドットデータを一度に決定する。ここでは、説明の便宜から、最も単純な場合として、画像データの解像度を、主走査方向に2倍に高解像度化するものとして、1画素分の画像データから、主走査方向に並んだ2画素分のドットデータを、一度に決定するものとする。
1画素分の画像データを読み込んだら、高解像度のディザマトリックスから、対応する画素位置に設定されている複数の閾値を読み込む処理を行う(ステップS702)。尚、本実施例のプリンタ200は、大ドット、中ドット、小ドットの3種類のドットを形成可能であるから、ディザマトリックスも大ドット用、中ドット用、小ドット用の3つのディザマトリックスが用意されており、初めに閾値を読み込むステップS702では、小ドット用のディザマトリックスから、対応する画素位置に設定されている複数の閾値を読み込む処理を行う。
次いで、読み込んだ閾値と画像データとを比較して、閾値の方が大きい画素については、ドットを形成しないと判断し、この画素には、ドットを形成しないことを表す値ドットデータ「00」を書き込む処理を行う(ステップS704)。図32(a)は、高解像度の小ドット用のディザマトリックスから、対応する画素位置に設定されている2画素分の閾値を読み出して、低解像度の画像データと比較することにより、ドットを形成しない画素を決定している様子を概念的に表した説明図である。図32(a)の左側に表示された大きな矩形は、ハーフトーンの対象としている低解像度の1画素を模式的に表したものであり、画素中に記載された値「55」は、低解像度の画像データの階調値を示したものである。また、図32(a)の右側には、高解像度の小ドット用のディザマトリックスに、2つの閾値「15」、「30」が対応する画素位置に設定されている様子を模式的に表したものである。次いで、画像データの階調値とこれら閾値とを比較して、閾値の方が大きな画素があれば、その画素についてはドットデータが「00」であると決定する。図32に示した例では、画像データの方がいずれの閾値よりも大きいので、ドットデータは未だ決めることができない。図32(a)中の画素位置に表示した「?」は、未だドットデータを決められない状態を表している。図30のステップS704では、このように、低解像度の画像データと高解像度の小ドット用の閾値とを比較して、閾値の方が大きい画素があれば、その画素についてはドットデータ「00」を書き込む処理を行う。
ドットデータ「00」の画素を決定したら、未決定の画素位置が残っているか否かを判断する(図30のステップS706)。そして、未決定の画素位置が残っている場合は(ステップS706:yes)、高解像度の中ドット用のディザマトリックスから、未決定の画素位置に対応する閾値を読み出して(ステップS708)、読み出した閾値を低解像度の画像データと比較し、閾値の方が大きい画素については、小ドットを形成するものと判断して、この画素に小ドットを形成することを意味するドットデータ「01」を書き込む処理を行う(ステップS710)。
図32(b)は、高解像度の中ドット用のディザマトリックスから、ドットデータが未決定状態の画素位置に設定されている閾値を読み出して、低解像度の画像データと比較している様子を概念的に示した説明図である。図32(b)の右側には、高解像度の中ドット用のディザマトリックスの対応する画素位置に、2つの閾値「45」、「60」が設定されている様子を模式的に表したものである。画像データの階調値「55」とこれら閾値とを比較すると、右側の画素位置については閾値の方が大きいので、この画素位置についてはドットデータを「01」であると決定する。一方、左側の画素位置については、画像データの方が閾値よりも大きいので、ドットデータは未だ決めることができない。その結果、図32(b)に示すように、右側の画素位置についてはドットデータ「01」と決定されるが、左側の画素位置については、ドットデータは未決定状態となっている。図30のステップS704では、このように、低解像度の画像データと高解像度の小ドット用の閾値とを比較して、閾値の方が大きい画素があれば、その画素についてはドットデータ「00」を書き込む処理を行う。このように、図30のステップS710では、低解像度の画像データと高解像度の中ドット用の閾値とを比較して、閾値の方が大きい画素についてはドットデータ「01」を書き込む処理を行う。
こうしてドットデータ「01」の画素を決定したら、再び、未決定の画素位置が残っているか否かを判断する(ステップS712)。そして、未決定の画素位置が残っている場合は(ステップS712:yes)、高解像度の大ドット用のディザマトリックスの中から、未決定の画素位置に対応する閾値を読み出して(図31のステップS714)、画像データの階調値と読み出した閾値とを比較する(ステップS716)。そして、画像データよりも閾値の方が大きい画素位置についてはドットデータ「10」を書き込み、そうでない(すなわち画像データの方が大きな)画素位置についてはドットデータ「11」を書き込む処理を行う(ステップS716)。
図32(c)の右側には、高解像度の大ドット用のディザマトリックスの対応する画素位置に、閾値「150」が設定されている様子を模式的に表したものである。画像データの階調値「55」とこの閾値「150」とを比較すれば閾値の方が大きいので、この画素位置についてはドットデータを「10」と決定することができる。仮に、画像データの方が大きくなれば、ドットデータは「11」となる。このように、図31のステップS716では、低解像度の画像データと高解像度の大ドット用の閾値とを比較して、閾値の方が大きい画素についてはドットデータ「10」を書き込み、画像データの方が大きい画素についてはドットデータ「11」を書き込む処理を行う。
以上の処理を行うことにより、ステップS700で読み込んだ1画素分の画像データが、2画素分のドットデータに変換されたことになる。次いで、低解像度の圧縮画像データの全画素についてドットデータに変換したか否かを判断する(図31のステップS718)。そして、未変換の画素が残っている場合は(ステップS718:no)、再び図30のステップS700に戻って、新たな1画素分の画像データを読み込み、続く一連の処理を行う。こうした処理を繰り返し、全画素について処理を終了したと判断されたら(図31のステップS718:yes)、上述した第2の変形例のハーフトーン処理を終了する。
以上に説明した第2の変形例のハーフトーン処理によれば、低解像度の圧縮画像データから1画素分のデータを読み込むと、直接2画素分のドットデータに変換する。すなわち、低解像度の圧縮画像データを高解像度の圧縮画像データに変換することなく、直ちに高解像度の圧縮ドットデータに変換することができるので、高解像度の圧縮画像データを記憶しておくためのメモリを節約することが可能となる。
以上では、画像データの解像度を主走査方向に2倍に高解像度化するものとして説明したが、もちろん、高解像度化する程度や高解像度化する方向は、これに限られるわけではない。例えば、主走査方向に3倍あるいは4倍と、より高い解像度に変換してもよいし、副走査方向に高解像度化してもよい。更には、主走査方向および副走査方向に、同時に高解像度化することも可能である。
以上、各種の実施例について説明してきたが、本発明は上記すべての実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することができる。例えば、上述の機能を実現するソフトウェアプログラム(アプリケーションプログラム)を、通信回線を介してコンピュータシステムのメインメモリまたは外部記憶装置に供給し実行するものであってもよい。もちろん、CD−ROMやフレキシブルディスクに記憶されたソフトウェアプログラムを読み込んで実行するものであっても構わない。
また、上述した各種実施例では、ハーフトーン処理までの画像処理はコンピュータ100で行い、インターレース・オーバーラップ処理以降の画像処理はプリンタ200で行うものとして説明した。しかし、画像処理の分担はこのようなものに限られるものではなく、更には、このように画像処理を分担して行うものに限られるわけでもない。例えば、全ての画像処理をコンピュータ100で実行して、プリンタ200ではドットの形成のみを行うものであっても良いし、あるいは画像処理を含めて全ての処理をプリンタ200で行うものであっても構わない。
加えて、上述した各種の実施例では、印刷用紙上にドットを形成して画像を印刷するプリンタに本発明を適用した場合について説明したが、本発明の適用範囲はプリンタに限られるものではなく、例えば、液晶表示画面上で輝点を適切な密度で分散させることにより、階調が連続的に変化する画像を表現する液晶表示装置などにも、本発明を好適に適用することが可能である。
10…コンピュータ
20…プリンタ
100…コンピュータ
108…周辺機器インターフェースPIF
109…ディスクコントローラDDC
110…ネットワークインターフェースカードNIC
112…ビデオインターフェースVIF
116…バス
118…ハードディスク
120…デジタルカメラ
122…カラースキャナ
124…フレキシブルディスク
126…コンパクトディスク
200…プリンタ
230…キャリッジモータ
235…モータ
236…プラテン
240…キャリッジ
241…印字ヘッド
242…インクカートリッジ
243…インクカートリッジ
244…インク吐出用ヘッド
255…インク通路
256…インク室
257…インクギャラリ
260…制御回路
300…通信回線
310…記憶装置
20…プリンタ
100…コンピュータ
108…周辺機器インターフェースPIF
109…ディスクコントローラDDC
110…ネットワークインターフェースカードNIC
112…ビデオインターフェースVIF
116…バス
118…ハードディスク
120…デジタルカメラ
122…カラースキャナ
124…フレキシブルディスク
126…コンパクトディスク
200…プリンタ
230…キャリッジモータ
235…モータ
236…プラテン
240…キャリッジ
241…印字ヘッド
242…インクカートリッジ
243…インクカートリッジ
244…インク吐出用ヘッド
255…インク通路
256…インク室
257…インクギャラリ
260…制御回路
300…通信回線
310…記憶装置
Claims (16)
- 画素毎にドット形成の有無を表すドットデータを、画像データに所定の画像処理を加えることによって生成し、該ドットデータに基づいて出力媒体上にドットを形成することにより画像を出力する画像出力装置であって、
前記画像データの中から、ドット形成の有無を予め決定可能な所定の画像データを有する画素たる特定画素を検出して、前記画像中での画素位置を記憶しておく特定画素位置記憶手段と、
前記画像データから前記特定画素についての画像データを除いた圧縮画像データを生成して所定の画像処理を加えることにより、該圧縮画像データについての前記ドットデータたる圧縮ドットデータを生成する圧縮ドットデータ生成手段と、
前記特定画素に対応するドット形成の有無を、前記記憶しておいた画素位置に基づいて前記圧縮ドットデータに組み込むことにより、前記画像データに対する前記ドットデータを合成するドットデータ合成手段と、
前記合成したドットデータに基づいて前記出力媒体上にドットを形成するドット形成手段と
を備える画像出力装置。 - 請求項1記載の画像出力装置であって、
前記特定画素記憶手段は、前記特定画素として、前記画像データが所定の第1の閾値以上、あるいは該第1の閾値より小さな所定の第2の閾値以下である画素を検出して、前記画像中での画素位置を記憶しておく手段である画像出力装置。 - 請求項2記載の画像出力装置であって、
前記画像データは、RGB各色についての階調値を画素毎に記憶したデータであり、
前記特定画素記憶手段は、前記特定画素として、RGB各色についての階調値が所定の第1の閾値以上、あるいは該第1の閾値より小さな所定の第2の閾値以下である画素を検出して、前記画像中での画素位置を記憶しておく手段である画像出力装置。 - 請求項2記載の画像出力装置であって、
前記ドット形成手段は、前記出力媒体上に所定色のドットを形成する手段であり、
前記画像データは、前記所定色についての階調値を画素毎に記憶したデータであり、
前記特定画素記憶手段は、前記特定画素として、前記所定色についての階調値が所定の第1の閾値以上、あるいは該第1の閾値より小さな所定の第2の閾値以下である画素を検出して、前記画像中での画素位置を記憶しておく手段である画像出力装置。 - 請求項1記載の画像出力装置であって、
前記圧縮ドットデータ生成手段は、前記所定の画像処理としてディザ法を前記圧縮画像データに適用することにより、前記圧縮ドットデータを生成する手段である画像出力装置。 - 請求項5記載の画像出力装置であって、
ディザ法で参照されるディザマトリックスの中から、前記画像中で前記特定画素が検出された画素位置に対応する閾値を除いたマトリックスたる、小ディザマトリックスを生成する小ディザマトリックス生成手段を備え、
前記圧縮ドットデータ生成手段は、前記圧縮画像データに前記小ディザマトリックスを用いてディザ法を適用することにより、前記圧縮ドットデータを生成する手段である画像出力装置。 - 請求項1記載の画像出力装置であって、
前記ドット形成手段は、互いに間隔を有する複数本の画素列について、該画素列の先頭方向から同時にドットを形成する手段であり、
前記ドットデータ合成手段は、前記同時にドットを形成する複数本の画素列について、前記ドットデータを合成する手段である画像出力装置。 - 請求項7記載の画像出力装置であって、
前記特定画素位置記憶手段は、前記特定画素の画素位置を画素列毎に記憶しておく手段であり、
前記圧縮ドットデータ生成手段は、前記圧縮ドットデータを生成した後、該圧縮ドットデータを画素列毎に記憶しておく手段である画像出力装置。 - 請求項1記載の画像出力装置であって、
前記圧縮ドットデータ生成手段は、
前記圧縮画像データを高解像度化する高解像度化手段を備えるとともに、
高解像度化された前記圧縮画像データに対して前記所定の画像処理を加えることにより、高解像度の前記圧縮ドットデータを生成する手段であり、
前記ドットデータ合成手段は、前記記憶しておいた特定画素の画素位置と、前記高解像度の圧縮ドットデータとに基づいて、高解像度の前記ドットデータを合成する手段である画像出力装置。 - 請求項2、請求項5、請求項7、または請求項9のいずれかに記載の画像出力装置であって、
前記ドット形成手段は、互いに大きさの異なる複数種類のドットを形成可能な手段であり、
前記特定画素位置記憶手段は、前記特定画素として、前記各種ドットについての形成有無を予め決定可能な画素を検出して、前記画像中での画素位置を記憶しておく手段であり、
前記圧縮ドットデータ生成手段は、前記圧縮ドットデータとして、前記特定画素を除いた画素毎に前記各種ドットについての形成有無を表す前記ドットデータを生成する手段である画像出力装置。 - 画素毎にドット形成の有無を表すドットデータを、画像データに所定の画像処理を加えることによって生成し、該ドットデータに基づいて出力媒体上にドットを形成することにより画像を出力する画像出力方法であって、
前記画像データの中から、ドット形成の有無を予め決定可能な所定の画像データを有する画素たる特定画素を検出して、前記画像中での画素位置を記憶しておく第1の工程と、
前記画像データから前記特定画素についての画像データを除いた圧縮画像データを生成して所定の画像処理を加えることにより、該圧縮画像データについての前記ドットデータたる圧縮ドットデータを生成する第2の工程と、
前記特定画素に対応するドット形成の有無を、前記記憶しておいた画素位置に基づいて前記圧縮ドットデータに組み込むことにより、前記画像データに対する前記ドットデータを合成する第3の工程と、
前記合成したドットデータに基づいて前記出力媒体上にドットを形成する第4の工程と
を備える画像出力方法。 - 請求項11記載の画像出力方法であって、
前記第4の工程は、互いに間隔を有する複数本の画素列について、該画素列の先頭方向から同時にドットを形成する工程であり、
前記第3の工程は、前記同時にドットを形成する複数本の画素列について、前記ドットデータを合成する工程である画像出力方法。 - 画像データに所定の画像処理を加えて画素毎にドット形成の有無を表すドットデータを生成し、該ドットデータを、出力媒体上にドットを形成して画像を出力する画像出力部に供給することで、画像の出力を制御する出力制御方法であって、
前記画像データの中から、ドット形成の有無を予め決定可能な所定の画像データを有する画素たる特定画素を検出して、前記画像中での画素位置を記憶しておく工程(A)と、
前記画像データから前記特定画素についての画像データを除いた圧縮画像データを生成して所定の画像処理を加えることにより、該圧縮画像データについての前記ドットデータたる圧縮ドットデータを生成する工程(B)と、
前記特定画素に対応するドット形成の有無を、前記記憶しておいた画素位置に基づいて前記圧縮ドットデータに組み込むことにより、前記画像データに対する前記ドットデータを合成する工程(C)と、
前記合成したドットデータを前記画像出力部に供給する工程(D)と
を備える制御方法。 - 画素毎にドット形成の有無を表すドットデータを、画像データに所定の画像処理を加えることによって生成し、該ドットデータに基づいて出力媒体上にドットを形成することによって画像を出力する方法を、コンピュータを用いて実現するためのプログラムであって、
前記画像データの中から、ドット形成の有無を予め決定可能な所定の画像データを有する画素たる特定画素を検出して、前記画像中での画素位置を記憶しておく第1の機能と、
前記画像データから前記特定画素についての画像データを除いた圧縮画像データを生成して所定の画像処理を加えることにより、該圧縮画像データについての前記ドットデータたる圧縮ドットデータを生成する第2の機能と、
前記特定画素に対応するドット形成の有無を、前記記憶しておいた画素位置に基づいて前記圧縮ドットデータに組み込むことにより、前記画像データに対する前記ドットデータを合成する第3の機能と、
前記合成したドットデータに基づいて前記出力媒体上にドットを形成する第4の機能と
をコンピュータを用いて実現させるプログラム。 - 請求項14記載のプログラムであって、
前記第4の機能は、互いに間隔を有する複数本の画素列について、該画素列の先頭方向から同時にドットを形成する機能であり、
前記第3の機能は、前記同時にドットを形成する複数本の画素列について、前記ドットデータを合成する機能であるプログラム。 - 画像データに所定の画像処理を加えて画素毎にドット形成の有無を表すドットデータを生成し、該ドットデータを、出力媒体上にドットを形成して画像を出力する画像出力部に供給することで、画像の出力を制御する方法を、コンピュータを用いて実現するためのプログラムであって、
前記画像データの中から、ドット形成の有無を予め決定可能な所定の画像データを有する画素たる特定画素を検出して、前記画像中での画素位置を記憶しておく機能(A)と、
前記画像データから前記特定画素についての画像データを除いた圧縮画像データを生成して所定の画像処理を加えることにより、該圧縮画像データについての前記ドットデータたる圧縮ドットデータを生成する機能(B)と、
前記特定画素に対応するドット形成の有無を、前記記憶しておいた画素位置に基づいて前記圧縮ドットデータに組み込むことにより、前記画像データに対する前記ドットデータを合成する機能(C)と、
前記合成したドットデータを前記画像出力部に供給する機能(D)と
をコンピュータを用いて実現させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003377170A JP2005138421A (ja) | 2003-11-06 | 2003-11-06 | 圧縮した画像データに画像処理を行って画像を出力する画像出力装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003377170A JP2005138421A (ja) | 2003-11-06 | 2003-11-06 | 圧縮した画像データに画像処理を行って画像を出力する画像出力装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005138421A true JP2005138421A (ja) | 2005-06-02 |
Family
ID=34687983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003377170A Withdrawn JP2005138421A (ja) | 2003-11-06 | 2003-11-06 | 圧縮した画像データに画像処理を行って画像を出力する画像出力装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005138421A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8659609B2 (en) | 2007-07-25 | 2014-02-25 | Japan Display Inc. | Multi-color display device |
CN110348295A (zh) * | 2019-05-30 | 2019-10-18 | 深圳大学 | 目标检测方法、体感交互设备以及存储介质 |
-
2003
- 2003-11-06 JP JP2003377170A patent/JP2005138421A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8659609B2 (en) | 2007-07-25 | 2014-02-25 | Japan Display Inc. | Multi-color display device |
CN110348295A (zh) * | 2019-05-30 | 2019-10-18 | 深圳大学 | 目标检测方法、体感交互设备以及存储介质 |
CN110348295B (zh) * | 2019-05-30 | 2023-04-11 | 深圳大学 | 目标检测方法、体感交互设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4103590B2 (ja) | 画像処理装置、印刷制御装置、画像処理方法、および記録媒体 | |
JP4192640B2 (ja) | ブロック内のエッジを検出しながら処理を行う画像処理装置、および画像処理方法 | |
JP3601491B2 (ja) | 画像処理装置、画像処理方法、記録媒体、およびプログラム | |
JP2005238835A (ja) | 画像形成方法、プログラム及び画像形成システム | |
JP4296621B2 (ja) | 印刷装置、印刷方法、および記録媒体 | |
JP4375050B2 (ja) | 所定領域内に形成されるドット個数の情報に基づいて画像を出力する画像出力システム | |
JP4691880B2 (ja) | 同時にドットが形成される複数本の画素列のデータを解像度変換しながら画像を出力する画像出力装置 | |
EP1608143A1 (en) | Image output control system, image processing apparatus, and method thereof | |
JP2002185810A (ja) | 画像処理装置、印刷制御装置、画像処理方法、および記録媒体 | |
JP4107302B2 (ja) | 印刷装置、画像処理装置、印刷方法、画像処理方法、および変換テーブルの作成方法 | |
JP4623029B2 (ja) | 印刷制御装置、画像処理装置 | |
JP4561049B2 (ja) | 所定領域内に形成されるドット個数の情報に基づいて画像を印刷する印刷システム | |
JP2005138421A (ja) | 圧縮した画像データに画像処理を行って画像を出力する画像出力装置 | |
US7362473B2 (en) | Image processing technique for tone number conversion of image data | |
JP4456823B2 (ja) | ドット形成有無の判断結果をグループ分けして記憶しながら画像を印刷する印刷装置、およびそのための印刷制御装置 | |
JP2006263938A (ja) | 印刷装置、画像処理装置、印刷方法、および画像処理方法 | |
JP3959974B2 (ja) | 印刷制御装置、画像処理装置 | |
US20060132849A1 (en) | Technique for image data recording | |
JP2007110468A (ja) | 印刷装置、画像処理装置、印刷方法、および画像処理方法 | |
JP2012179776A (ja) | 印刷装置 | |
JP2006044185A (ja) | 画像出力装置、画像出力方法およびプログラム | |
JP2006191268A (ja) | 複数画素ずつ画像処理を行いながら画像を出力する画像出力装置 | |
JP3882502B2 (ja) | 画像処理装置、印刷制御装置、画像処理方法、および記録媒体 | |
JP4225320B2 (ja) | 画像出力制御システム、画像出力装置、画像処理装置およびそれらの方法 | |
JP2005111883A (ja) | 所定領域内に形成されるドット個数の情報に基づいて画像を表示する画像表示システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070109 |