JP3757650B2 - Image processing device - Google Patents

Image processing device Download PDF

Info

Publication number
JP3757650B2
JP3757650B2 JP36240598A JP36240598A JP3757650B2 JP 3757650 B2 JP3757650 B2 JP 3757650B2 JP 36240598 A JP36240598 A JP 36240598A JP 36240598 A JP36240598 A JP 36240598A JP 3757650 B2 JP3757650 B2 JP 3757650B2
Authority
JP
Japan
Prior art keywords
value
pixel
image
pixels
processing
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.)
Expired - Fee Related
Application number
JP36240598A
Other languages
Japanese (ja)
Other versions
JP2000177178A (en
Inventor
世辛 周
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP36240598A priority Critical patent/JP3757650B2/en
Publication of JP2000177178A publication Critical patent/JP2000177178A/en
Application granted granted Critical
Publication of JP3757650B2 publication Critical patent/JP3757650B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Color, Gradation (AREA)
  • Facsimile Image Signal Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、多階調の画像データを各画素ごとに順次ハーフトーン処理する画像処理装置、画像処理方法、およびそのためのプログラムを記録した記録媒体、並びに該ハーフトーン処理に基づいて画像を印刷する印刷装置に関する。
【0002】
【従来の技術】
従来、コンピュータの出力装置として、種々のタイプのプリンタが用いられている。かかるプリンタとしては、例えば、ヘッドに備えられた複数のノズルから吐出される数色のインクによりドットを形成して、コンピュータで処理された多色多階調の画像を記録するインクジェットプリンタがある。インクジェットプリンタは、通常、各画素ごとにはドットのオン・オフの2階調しか表現し得ない。従って、原画像データの有する多階調をドットの分布により表現するための画像処理、いわゆるハーフトーン処理を施した上で画像を印刷する。
【0003】
近年では、階調表現を豊かにするために、各画素ごとにオン・オフだけでなく3値以上の階調表現を可能としたインクジェットプリンタ、いわゆる多値プリンタが提案されている。例えば、ドット径やインク濃度を変化させることにより各ドットごとに3種類以上の濃度を表現可能としたプリンタや各画素ごとに複数のドットを重ねて形成することにより多階調を表現可能としたプリンタである。かかるプリンタであっても各画素単位では原画像データの有する階調を十分表現し得ないため、ハーフトーン処理が必要となる。
【0004】
ハーフトーン処理を行う方法の一つとして誤差拡散法がある。誤差拡散法では、各画素ごとにドットのオン・オフを決定した結果生じた濃度誤差を周辺の未処理の画素に拡散する。各画素のドットのオン・オフは、処理済みの画素から拡散された濃度誤差を反映した上で判定される。かかる手法を採ることにより、誤差拡散法は画像全体での濃度誤差を極小にすることができ、高画質なハーフトーン処理を行うことができる。
【0005】
【発明が解決しようとする課題】
しかし、誤差拡散法はハーフトーン処理に長時間を要するという課題があった。近年、高画質な印刷を実現するためにプリンタの解像度は高まる傾向にあり、画像を構成する画素数は膨大になっている。同様に、滑らかな階調表現を実現するために、多値プリンタにおいては、各画素ごとに表現可能な階調値が増加する傾向にあり、各画素ごとのハーフトーン処理に要する時間が増大している。ハーフトーン処理を実行するプロセッサの処理速度は日々向上しているものの、処理対象となる画素数の増加、および各画素ごとの処理時間の増大に起因して、ハーフトーン処理に要する時間の増加は看過し得ないものとなっていた。かかる課題は、プリンタのみならず、ハーフトーン処理を必要とする種々の印刷装置において共通の課題であった。
【0006】
本発明は、上記課題を解決するためになされたものであり、極端な画質の低下を招くことなく、誤差拡散法によるハーフトーン処理に要する時間を短縮した画像処理技術を提供することを目的とする。また、該画像処理技術を適用して、高画質な画像を高速で印刷する印刷装置を提供することを目的とする。
【0007】
【課題を解決するための手段およびその作用・効果】
上述の課題の少なくとも一部を解決するため、本発明は、次の構成を採用した。
本発明の画像処理装置は、
階調値を有する画像データについて、各画素ごとに、順次ハーフトーン処理を行う画像処理装置であって、
前記画像データを入力する入力手段と、
一定の階調値を有する領域であって、かつ、該一定の階調値とは異なる階調値を有する画素から所定の距離だけ離れて位置する画像領域に該当するか否かを判定する判定手段と、
前記画像領域に該当しない画素について、各画素ごとに、処理済みの画素で生じた階調表現上の誤差を前記画像データに反映した上でハーフトーン処理すると共に、該ハーフトーン処理によって生じた誤差を未処理の画素に拡散する処理を行う第1の多値化手段と、
前記画像領域に該当する画素について、前記第1の多値化手段による処理に代えて、画像データの階調値に基づくハーフトーン処理のみを行う第2の多値化手段とを備えることを要旨とする。
【0008】
かかる画像処理装置は、前記画像領域に該当しない画素については、第1の多値化手段により各画素ごとにいわゆる誤差拡散法によるハーフトーン処理を行う。前記画像領域に該当する画素については、第1の多値化手段に代えて、第2の多値化手段によるハーフトーン処理を行う。第2の多値化手段は、処理済みの画素からの誤差を反映することなく画像データの階調値に基づくハーフトーン処理を実行する。また、ハーフトーン処理によって生じた誤差を周辺の未処理の画素に拡散する処理を行わない。つまり、第2の多値化手段によるハーフトーン処理は第1の多値化手段によるハーフトーン処理に対し、処理に要する時間を短縮することができる。従って、本発明の画像処理装置によれば、誤差拡散法によるハーフトーン処理を行うため、高画質な画像処理を実行することができるとともに、誤差の拡散を省略した第2の多値化手段によるハーフトーン処理を部分的に適用することにより、ハーフトーン処理の時間を短縮することができる。
【0009】
第2の多値化手段は、種々の方法が適用可能である。前記画像領域は、一定の階調値を有する領域であるから、例えば、画像データの階調値に基づいてドットのオン・オフを一義的に設定するものとしてもよい。また、ディザ法によりハーフトーン処理を行うものとしてもよい。ディザ法とは、いわゆるディザテーブルによって与えられる閾値と画像データの階調値との大小関係に基づいてハーフトーン処理を行う方法である。ディザテーブルは、ドットの分散性を確保しつつ、所定の画像領域で濃度誤差が解消されるように設定されている。従って、一定の階調値を有する画像領域においては、ディザ法によるハーフトーン処理でも画質を極端に低下させることはない。また、ディザ法によってハーフトーン処理する領域では濃度誤差がほとんど生じないため、誤差の拡散を省略しても画質を低下させることがない。
【0010】
ここで、前記画像領域は、一定の階調値を有する領域であり、種々の広さに設定することができる。一画素以上の広さを全て含めるものとしてもよいし、所定の階調値を有する画素が所定数以上連続して存在する場合のみを含むものとしてもよい。後者においては、これらの画素が2次元的に所定以上の広さを有していることを条件としてもよいし、いずれか一方向に所定以上連続していることを条件としてもよい。前記画像領域の広さを広くすれば、その分、第2の多値化手段によってハーフトーン処理される領域が広くなるため、処理時間を短縮することができる。一方、第1の多値化手段によってハーフトーン処理される領域が狭くなるため、多少なりとも画質の低下を招く。前記画像領域は、処理の時間と画質とを考慮して、画像データの種類や解像度、第1の多値化手段によるハーフトーン処理の時間と第2の多値化手段によるハーフトーン処理の時間との比などに基づいて適切な値を選択することができる。
【0011】
また、前記所定の距離も種々の値に設定可能である。所定の距離を1画素分に設定し、前記一定の階調値とは異なる階調値(以下、他の階調値という)を有する画素に隣接する画素が全て前記画像領域に該当し得るように設定することもできるし、他の階調値を有する画素から数画素離れて存在する画素のみが前記画像領域に該当するように設定することもできる。他の階調値を有する画素では、第1の多値化手段により誤差拡散法を用いたハーフトーン処理が行われる。これらの画素では、ハーフトーン処理の結果に基づいて生じた誤差が未処理の画素に拡散される。従って、一定の階調値を有する画素のうち、他の階調値を有する画素近傍に位置する画素には、このような誤差が拡散される。一定の階調値を有する画素であっても、かかる誤差の影響が有意に残存する画素では、第1の多値化手段により誤差の影響を考慮した上でハーフトーン処理を行うことが望ましい。こうすれば、他の階調値を有する画素で生じた誤差を解消することができ、高画質な画像処理を実現することができる。本発明の画像処理装置では、第1の多値化手段において誤差が拡散される領域を考慮し、かかる誤差の影響が有意に残存する領域を前記画像領域から除外するように、前記所定の距離を設定することができ、かかる設定に基づいて前記画像領域を判定することによって、画質を低下させることなく、高速でのハーフトーン処理を実現することができる。
【0012】
なお、前記画像領域は種々の方法により判定することができる。
例えば、前記判定手段は、前記画像データを構成する各画素の階調値に基づいて、前記ハーフトーン処理に先立って前記判定を行う手段であるものとすることができる。
また、前記判定手段は、各画素ごとに実行される前記ハーフトーン処理の過程において、前記一定の階調値を有する画素が連続して現れた場合に、該連続した画素のうちN番目(Nは自然数)以降の画素を前記画像領域に該当する画素であると判定する手段であるものとすることができる。
【0013】
前者の手段によれば、ハーフトーン処理に先立って各画素が前記画像領域に該当するか否かを判定するため、画像領域を適切に判定することが可能となる。例えば、画像データがX方向とY方向の2方向で配列されている場合に、2次元的に所定の広さを有する領域を前記画像領域として判定することが可能である。また、かかる場合に、他の階調値を有する画素からの距離を、X方向とY方向で異なる距離に設定することも可能である。一方、後者の手段によれば、各画素ごとにハーフトーン処理を実行する過程において、前記画像領域を特定することができるため、該判定に要する時間が短くてすむという利点がある。
【0014】
本発明の画像処理装置において、前記一定の階調値は種々の値に設定することができるが、
前記一定の階調値は、ハーフトーン処理結果に基づいて表現される濃度評価値のいずれかと実質的に等しい値であるものとすることが望ましい。
【0015】
こうすれば、第2の多値化手段によりハーフトーン処理される領域で各画素ごとに生じる濃度誤差を非常に小さくすることができる。この結果、誤差の拡散処理を省略することによる画質への影響を非常に小さくすることができる。
【0016】
例えば、ドットのオン・オフの2値でハーフトーン処理結果を表現する場合において、濃度評価値を8ビットで表すものとし、ドットがオフの状態における濃度評価値が値0、オンの状態における濃度評価値が値255に相当する場合を考える。このとき、一定の階調値を両者の平均値128とすると、ドットがオン・オフいずれの場合においても各画素ごとには階調値128相当の誤差が生じることになる。これに対し、一定の階調値を0付近の値とすれば、ドットをオフにした際に各画素ごとに生じる濃度誤差を非常に小さくすることができる。従って、未処理の画素への誤差の拡散を省略した際の画質への影響を非常に小さくすることができる。
【0017】
なお、濃度評価値とほぼ一致する階調値は、必ずしも値0にする必要はなく、上述の例においてドットがオンの状態での濃度評価値に相当する値255に設定しても構わない。また、双方を一定の階調値としても構わない。さらに、各画素ごとに3値以上の階調値にハーフトーン処理する場合には、前記階調値を該3値のいずれの濃度評価値に設定しても構わない。また、一定の階調値に所定の幅をもたせてもよい。
【0018】
本発明の画像処理装置において、このように一定の階調値を設定した場合には、
前記第2の多値化手段は、前記画像データに対応する濃度評価値のドットのオン・オフを一義的に決定することが望ましい。
【0019】
こうすれば、第2の多値化手段は、非常に簡易な処理になると同時に、誤差拡散を省略したことによる画質への影響も最小限に抑えることができる。特に、一定の階調値が濃度評価値と一致している場合には、各画素において該濃度評価値のドットを一義的にオンするものとすれば、各画素において濃度誤差は生じないから、第2の多値化手段は誤差拡散を省略したことによる画質の低下を招くことなくハーフトーン処理を実行することができる。また、一定の階調値を値0とした場合には、一義的にドットをオフするものとすれば、各画素において濃度誤差が生じない。
【0020】
本発明の画像処理装置において、
前記画像データは、複数の色について階調値を有するデータであり、
前記第2の多値化手段は、画質に影響の少ない所定の色についてのみ適用される手段であるものとすることができる。
【0021】
こうすれば、画質への影響を特に抑制して、高画質な画像処理を短時間で実行することができる。画質に影響の少ない所定の色は、画像データおよび画像処理結果が用いられる態様に応じて種々設定することができる。例えば、画像処理結果が印刷装置に用いられる場合には、印刷時に比較的視認性の低い色を上記所定の色とすることができる。この印刷装置にシアン、マゼンタ、イエロのインクが用いられている場合には、比較的明度の高いイエロを前記所定の色とすることができる。シアン、マゼンタについて濃度の異なるインクが備えられている場合には、濃度の低い淡シアン、淡マゼンタをも所定の色としてもよい。なお、前記所定の色は、必ずしも明度の高い色に限定されるものではなく、例えば、印刷時に使用頻度の低い色を前記所定の色としてもよい。
【0022】
本発明は、以下に示す画像処理方法として構成することもできる。
本発明の画像処理方法は、
階調値を有する画像データについて、各画素ごとに順次、ハーフトーン処理する画像処理方法であって、
(a) 前記画像データを入力する工程と、
(b) 一定の階調値を有する領域であって、かつ、該一定の階調値とは異なる階調値を有する画素から所定の距離だけ離れて位置する画像領域に該当するか否かを判定する工程と、
(c) 前記画像領域に該当しない画素について、各画素ごとに、処理済みの画素で生じた階調表現上の誤差を前記画像データに反映した上でハーフトーン処理するとともに、該ハーフトーン処理によって生じた誤差を未処理の画素に拡散する工程と、
(d) 前記画像領域に該当する画素については、前記工程(c)に代えて画像データの階調値に基づくハーフトーン処理のみを行う工程とを備える画像処理方法である。
かかる画像処理方法によれば、先に画像処理装置において説明したのと同様の作用により、高画質な画像処理を短時間で実現することができる。
【0023】
本発明は、以下に示すプログラムを記録した記録媒体として構成することもできる。
本発明の記録媒体は、
階調値を有する画像データについて、各画素ごとに順次、ハーフトーン処理する機能を実現するためのプログラムをコンピュータ読みとり可能に記録した記録媒体であって、
前記画像データを入力する機能と、
一定の階調値を有する領域であって、かつ、該一定の階調値とは異なる階調値を有する画素から所定の距離だけ離れて位置する画像領域に該当するか否かを判定する機能と、
前記画像領域に該当しない画素について、各画素ごとに、処理済みの画素で生じた階調表現上の誤差を前記画像データに反映した上でハーフトーン処理するとともに、該ハーフトーン処理によって生じた誤差を未処理の画素に拡散する第1の多値化機能と、
前記画像領域に該当する画素については、前記第1の多値化機能に代えて画像データの階調値に基づくハーフトーン処理のみを行う第2の多値化機能とを実現するプログラムを記録した記録媒体である。
【0024】
上記の各記録媒体に記録されたプログラムが、コンピュータに実行されることにより、先に説明した本発明の画像処理装置および画像処理方法を実現することができる。なお、記憶媒体としては、フレキシブルディスクやCD−ROM、光磁気ディスク、ICカード、ROMカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置(RAMやROMなどのメモリ)および外部記憶装置等、コンピュータが読取り可能な種々の媒体を利用できる。また、通信経路を介して、上記コンピュータプログラムをコンピュータに供給するプログラム供給装置としての態様も含む。
【0025】
本発明は、上述の印刷方法を実現可能な印刷装置の態様でも成立する。
本発明の印刷装置は、
階調値を有する画像データに基づいて、印刷媒体上に各画素ごとにドットを形成して画像を印刷する印刷装置であって、
前記画像データを入力する入力手段と、
一定の階調値を有する領域であって、かつ、該一定の階調値とは異なる階調値を有する画素から所定の距離だけ離れて位置する画像領域に該当するか否かを判定する判定手段と、
前記画像領域に該当しない画素について、各画素ごとに、処理済みの画素で生じた階調表現上の誤差を前記画像データに反映した上でハーフトーン処理すると共に、該ハーフトーン処理によって生じた誤差を未処理の画素に拡散する処理を行う第1の多値化手段と、
前記画像領域に該当する画素について、前記第1の多値化手段による処理に代えて、画像データの階調値に基づくハーフトーン処理のみを行う第2の多値化手段と、
前記ハーフトーン処理結果に基づいて、各画素ごとにドットを形成するドット形成手段とを備える印刷装置である。
【0026】
かかる印刷装置は、先に画像処理装置で説明したのと同様の作用により、画像データのハーフトーン処理時間を短縮することができる。従って、本発明の印刷装置によれば、高画質な印刷を短時間で行うことができる。
【0027】
【発明の実施の形態】
以下、本発明の実施の形態について、実施例に基づき説明する。
(1)装置の構成:
図1は、本発明の一実施例としての画像処理装置を適用した印刷装置の構成を示すブロック図である。図示するように、コンピュータ90にスキャナ12とプリンタ22とが接続されている。このコンピュータ90に所定のプログラムがロードされ実行されることにより画像処理装置として機能し、プリンタ22と併せて印刷装置として機能する。本印刷装置は、例えば、スキャナ12で読み込んだ画像に種々のレタッチを施した上でプリンタ22により印刷を行う機能を実現することができる。後述する通り、プリンタ22は単色での印刷専用のモノクロプリンタであり、スキャナ12から読み込む画像もモノクロの画像である。実施例の印刷装置は、スキャナ12に代えて、X線写真をディジタルで撮影するカメラを画像の入力機器として構成することも可能である。
【0028】
印刷装置の一部を構成するコンピュータ90は、プログラムに従って印刷に関わる動作を制御するCPU81、ROM82、RAM83を中心に、バス80により相互に接続された次の各部を備える。入力インターフェイス84は、スキャナ12やキーボード14からの信号の入力を司り、出力インタフェース85は、プリンタ22へのデータの出力を司る。CRTC86は画像を表示可能なCRT21への信号出力を制御し、ディスクコントローラ(DDC)87は、ハードディスク16やCD−ROMドライブ15あるいは図示しないフレキシブルドライブとのデータの授受を制御する。ハードディスク16には、RAM83にロードされて実行される各種プログラムやデバイスドライバの形式で提供される各種プログラムなどが記憶されている。
【0029】
このほか、バス80には、シリアル入出力インタフェース(SIO)88が接続されている。このSIO88は、モデム18に接続されており、モデム18を介して、公衆電話回線PNTに接続されている。コンピュータ90は、このSIO88およびモデム18を介して、外部のネットワークに接続されており、特定のサーバーSVに接続することにより、画像の印刷に必要なプログラムをハードディスク16にダウンロードすることも可能である。また、必要なプログラムをフレキシブルディスクFDやCD−ROMによりロードし、コンピュータ90に実行させることも可能である。当然、これらのプログラムは、印刷に必要なプログラム全体をまとめてロードする態様を採ることもできるし、その一部のみをモジュールとしてロードする態様を採ることもできる。
【0030】
図2は実施例の印刷装置のソフトウェア構成を示すブロック図である。コンピュータ90では、所定のオペレーティングシステムの下で、アプリケーションプログラム95が動作している。オペレーティングシステムにはプリンタドライバ96が組み込まれている。アプリケーションプログラム95は、スキャナ12から画像データORGを読み込み、画像のレタッチなどの処理を行う。
【0031】
アプリケーションプログラム95から印刷命令が出力されると、プリンタドライバ96は、画像データをアプリケーションプログラム95から受け取り、プリンタ22が処理可能な信号に変換する。プリンタドライバ96には、かかる変換を行うためにハーフトーンモジュール100およびラスタライザ101が備えられている。ハーフトーンモジュール100は、画像データの階調値をドットの分布によって表現するハーフトーン処理を行う。後述する通り、ハーフトーン処理は一定の階調値の画素が連続して現れた数に応じて2つの方法を使い分けて実行される。ハーフトーンモジュールは、一定の階調値の画素が連続して現れた数に関する情報を連続性カウンタCCに記憶し、該記憶を参照しながら2つの方法を使い分けてハーフトーン処理を行う。ラスタライザ101は、ハーフトーン処理された画像データをプリンタ22に転送する順序に並べ替える処理を行う。
【0032】
こうして処理された結果が印刷データFNLとしてプリンタ22に出力される。プリンタ22は、ヘッドを主走査および副走査しつつ、プリンタドライバ96から転送された画像データに基づいて、印刷用紙上にドットを形成して、画像を印刷する。
【0033】
図3によりプリンタ22の概略構成を説明する。図示するように、プリンタ22は、紙送りモータ23によって用紙Pを搬送する回路と、キャリッジモータ24によってキャリッジ31をプラテン26の軸方向に往復動させる回路と、キャリッジ31に搭載された印字ヘッド28を駆動してインクの吐出およびドット形成を行う回路と、これらの紙送りモータ23,キャリッジモータ24,印字ヘッド28および操作パネル32との信号のやり取りを司る制御回路40とから構成されている。
【0034】
キャリッジ31をプラテン26の軸方向に往復動させる回路は、プラテン26の軸と並行に架設されキャリッジ31を摺動可能に保持する摺動軸34と、キャリッジモータ24との間に無端の駆動ベルト36を張設するプーリ38と、キャリッジ31の原点位置を検出する位置検出センサ39等から構成されている。
【0035】
キャリッジ31には、濃度の異なる4種類の黒インク(K1〜K4)を蓄えたインクカートリッジ71が搭載可能である。キャリッジ31の下部の印字ヘッド28には計4個の印字ヘッド61〜64が形成されている。キャリッジ31の底部には、これらのヘッドにそれぞれのインクタンクからインクを導くインク通路68(図5参照)が設けられている。
【0036】
図4は、印字ヘッド61〜64におけるノズルNzの配列を示す説明図である。これらのノズルの配置は、濃度の異なる4種類の黒インク(K1〜K4)に対応した4組のノズルアレイから成っており、48個のノズルNzが一定のノズルピッチkで千鳥状に配列されている。各ノズルアレイの副走査方向の位置は互いに一致している。ヘッドは濃度が低いインクK1から濃度が高いインクK4の順に主走査方向に配置されている。プリンタ22は、これらのインクを用いて各画素ごとに濃度の異なる4種類のドットを形成可能である。
【0037】
図5は印字ヘッド28によるドットの形成原理を示す説明図である。図示の都合上、インクK1〜K3を吐出する部分について示した。インク用カートリッジ71がキャリッジ31に装着されると、各インクは図5に示すインク通路68を通じてヘッド61〜64に供給される。図示する通り、ヘッド61〜64には、各ノズルごとにピエゾ素子PEが配置されている。ピエゾ素子PEは、周知の通り、電圧の印加により結晶構造が歪み、極めて高速に電気−機械エネルギの変換を行う素子である。ピエゾ素子PEの両端に設けられた電極間に所定の時間幅で電圧を印加すると、図5に矢印で示すように、ピエゾ素子PEが電圧の印加時間だけ伸張し、インク通路68の一側壁を変形させる。この結果、インク通路68の体積はピエゾ素子PEの伸張に応じて収縮し、この収縮分に相当するインクが、粒子Ipとなって、ノズルNzの先端から高速に吐出される。このインク粒子Ipがプラテン26に装着された用紙Pに染み込むことにより印刷が行われる。
【0038】
プリンタ22の各機能を制御する制御回路40は、CPU41,PROM42,RAM43を備えるマイクロコンピュータとして構成されている。制御回路40には、ヘッド61〜64のそれぞれにピエゾ素子を駆動するための駆動波形を出力するための発信器が設けられている。制御回路40が、ヘッド61〜64の各ノズルについてドットのオン・オフを指定するデータに基づいて、駆動波形を出力すると、先に説明した原理に基づいて、オンに設定されたノズルからインクが吐出される。
【0039】
以上説明したハードウェア構成を有するプリンタ22は、紙送りモータ23により用紙Pを搬送する副走査と、キャリッジ31をキャリッジモータ24により往復動させつつ各ヘッド61〜64のピエゾ素子PEを駆動してドットを形成する主走査とを繰り返し行って用紙P上に単色の画像を多階調で印刷する。
【0040】
なお、本実施例では、上述の通りピエゾ素子PEを用いてインクを吐出するヘッドを備えたプリンタ22を用いているが、他の方法によりインクを吐出するプリンタを用いるものとしてもよい。例えば、インク通路に配置したヒータに通電し、インク通路内に発生する泡(バブル)によりインクを吐出するタイプのプリンタに適用するものとしてもよい。また、インクを吐出するタイプのプリンタのみならず、いわゆる熱転写型、昇華型、ドットインパクト型などの種々のタイプのプリンタを適用することができる。
【0041】
(2)ドット発生処理ルーチン:
次に、本実施例におけるドット発生処理ルーチンについて説明する。図6はドット発生処理ルーチンのフローチャートである。このルーチンはプリンタドライバ96による処理であり、本実施例においてはコンピュータ90のCPU81により実行されるルーチンである。
【0042】
ドット発生処理ルーチンが実行されると、CPU81は画像データを入力する(ステップS10)。ここで入力されるデータは各画素ごとに黒の濃淡を0〜255の256階調で表したデータである。CPU81はこの画像データに基づいて、ハーフトーン処理を行う(ステップS20)。ハーフトーン処理とは、各画素ごとに濃度の異なる4種類のドットについて、それぞれのオン・オフを判定する処理をいう。この処理内容については後述する。
【0043】
全画素についてハーフトーン処理が終了すると(ステップS200)、CPU81はラスタライズを行ってプリンタ22にデータを出力する(ステップS205)。ラスタライズとは、データをプリンタ22に転送する順序に並べ替える処理をいう。例えば、主走査の往復動双方向で画像を印刷する場合には、主走査の方向に応じてデータの配列を逆転させる。また、各ラスタを2本のノズルを用いて形成する、いわゆるオーバラップ記録を行う場合には、一方のノズルに奇数番目の画素のデータ、他方のノズルに偶数番目の画素のデータが供給されるようにデータの並べ替えを行う。奇数番目の画素のみを形成するノズルに対しては、偶数番目の画素にマスクデータが挿入される。プリンタ22は、ラスタライズされたデータを受け取ってドットを形成し、画像を印刷する。
【0044】
ハーフトーン処理の内容について説明する。本実施例では、濃度の異なる4種類のドットの記録率が画像データの階調値に応じて予め設定されている。記録率の設定例を図7に示す。記録率とは、一定の階調値を有する所定領域内の画素中にドットが形成される割合をいう。図示する通り、階調値が低い領域では、濃度の低いインクK1のみを使用してドットを形成する。階調値が高くなるにつれ、インクK1とインクK2とが混在してドットが形成される。記録率は、図7の設定の他、画像の階調表現、粒状感などを考慮して種々の関係に設定することができる。ハーフトーン処理では、図7に示した記録率が実現されるように、各画素ごとのドットのオン・オフを判定する。本実施例では、基本的には誤差拡散法に基づいて判定を行う。
【0045】
本実施例のハーフトーン処理について説明する。図8はハーフトーン処理ルーチンのフローチャートである。プリンタ22に備えられた4種類のインクK1〜K4について、この順序でドットのオン・オフの判定が行われる。この処理が開始されると、CPU81は画像データDIを入力する(ステップS105)。この画像データは、ドット発生処理ルーチン(図6)のステップS10で入力されたものと同じである。次に、CPU81は図7のテーブルから各インクのレベルデータLDを読み取る(ステップS110)。最初にこの処理が実行されるときは、インクK1をドットのオン・オフの判定対象とするため、インクK1についてのレベルデータLDを読みとる。図7に画像データDIとレベルデータLDとの関係を示した。
【0046】
レベルデータとは、記録率を8ビット、即ち0〜255の256段階の整数値で示した値をいう。本実施例では、階調値DIとレベルデータLDとの関係を各インクごとに1次元のテーブルとしてROM82に記憶してある。ステップS110では、図7に示す通り、このテーブルから階調値DIに対応するレベルデータLDを読みとる。
【0047】
次に、CPU81は、処理対象となっているインクについてレベルデータLDがN画素連続で値0となっているか否かを判定する(ステップS115)。以下、かかる条件を満たす画素を特定領域とよぶ。本実施例では、後述する通り、特定領域の判断基準となる所定値Nを値3に設定している。先に説明した通りハーフトーン処理は各画素ごとに順番に実行される。プリンタドライバ96は、各インクごとにレベルデータLDが値0となっている画素が連続して現れた数を記憶するためのカウンタ変数をRAM83に記憶している。ハーフトーン処理ルーチンが実行され、各画素についてレベルデータLDが入力される度に、該レベルデータが値0である場合には、このカウンタ変数が値1ずつ増加する。例えば、ある画素についてインクK1のレベルデータが値0であれば、インクK1に対応したカウンタ変数が値1だけ増加する。インクK2のレベルデータが値0であればインクK2に対応したカウンタ変数が値1だけ増加する。あるインクにつき、レベルデータLDが値0でない画素が現れると、該インクに対応したカウンタ変数は値0にクリアされる。
【0048】
ステップS115では、CPU81は、処理対象となっているインクに対応したカウンタ変数の値がN以上になっているか否かに基づいて、レベルデータLDが値0となっている画素の連続性を判定しているのである。なお、値NはレベルデータLDが値0となる画素が他の画像と識別し得る程度の面積を有する領域として存在するか否かの判断基準となる値であり、その設定方法については後述する。
【0049】
図9にハーフトーン処理の順序と特定領域との関係を示す。図において印刷用紙P上に主走査方向および副走査方向に方眼状に配置されたマス目が各画素を意味する。図中の矢印で示す通り、左上の画素から順に主走査方向にハーフトーン処理が行われ、各ラスタの処理が終了すると、副走査方向に隣接するラスタに移行して処理を継続する。図中にあるラスタ上の画素c1〜c10につき、レベルデータを示した。画素c1〜c3まではレベルデータが値0でないため、特定領域には該当しない。画素c4,c5はレベルデータが値0であるが、主走査方向に順に処理を行った場合、連続して3画素以上でレベルデータが値0となっている条件を満足していないため、特定領域に該当しない。図中の画素c6〜c10が特定領域に該当する。
【0050】
CPU81は、レベルデータLDが値0となる画素がN画素連続して現れているか否かに応じて、以下に示す通り、2つの方法を使い分けてハーフトーン処理を実行する。最初にN画素連続して現れていない場合について説明する。この場合は、以下に示す通り、レベルデータLDを用いた誤差拡散法によってハーフトーン処理を実行する。
【0051】
レベルデータは図7のグラフに示す通り、値0〜255までの種々の正数値を取りうるが、印刷されるドットは各画素ごとに見ればオン(記録率100%)またはオフ(記録率0%)の2つの状態しか取り得ない。従って、各画素ごとにドットのオン・オフを決定すれば、レベルデータによって表される記録率との間に誤差が生じる。誤差拡散法は、各画素で生じた誤差を該画素の周辺の未処理の画素に拡散する。また、各画素でのドットのオン・オフの判定は、処理済みの画素から拡散された誤差を反映して行われる。誤差拡散法は、このように誤差の拡散・反映を繰り返し行うことにより、局所的な誤差を極小に抑えたハーフトーン処理方法をいう。
【0052】
上述の処理を行うため、CPU81は、レベルデータLDに対して処理済みの画素からの誤差を反映して、補正データLDXを生成する(ステップS125)。本実施例では、誤差バッファに記憶されていた誤差をレベルデータLDに加えた値を補正データLDXとしている。本実施例では、各インクごとにハーフトーン処理を独立して実行しているから、誤差バッファもK1〜K4のインクに対応して4種類設けられている。ステップS125では、処理対象となっているインクに対応した誤差バッファに記憶された誤差をレベルデータLDに反映する。
【0053】
次に、補正データLDXと所定の閾値THとの大小関係を判定する(ステップS130)。補正データLDXが閾値THよりも小さい場合には、ドットをオフにすべきと判定して判定結果を表す結果値RDに、ドットのオフを意味する値0を代入する(ステップS135)。補正データLDXが閾値TH以上である場合には、ドットをオンにすべきと判定して結果値RDに、ドットのオンを意味する値1を代入する(ステップS140)。閾値THは、ドットのオン・オフを判定する基準となる値であり、いかなる値に設定することも可能である。本実施例では、レベルデータLDの中間の値128に設定した。
【0054】
次に、CPU81は誤差計算および誤差拡散処理を行う(ステップS145)。誤差計算とは、判定対象となっている画素における補正後のレベルデータLDXと、ドットのオン・オフの判定結果との誤差をいう。例えば、レベルデータLDXが値239の画素についてドットをオンにすべきと判定された場合を考える。ドットをオンにするとは、その画素の記録率が100%、即ちレベルデータ255相当であることを意味する。従って、該画素では、239−255=−16の誤差が生じたことになる。
【0055】
こうして計算された誤差は、重みをつけて周辺の未処理の画素に拡散される。誤差を拡散する範囲および重みの例を図10に示した。ハッチングを施した画素PPで生じた誤差は、それぞれ図示する重みを乗じて、主走査方向、副走査方向に数画素に亘って拡散される。例えば、−16の誤差が生じている場合には、主走査方向に隣接する画素P1には、その1/4に相当する−4が拡散される。なお、誤差は未処理の画素に拡散される必要があるため、図10中において画素PPの左側の画素には誤差が拡散されない。
【0056】
次に、ステップS115において、N画素連続でレベルデータLDが値0になっていたと判定された場合について説明する。この場合には、CPU81は、該画素のドットをオフにすべきと一義的に判定し、結果値RDに値0を代入する(ステップS120)。つまり、この場合には、処理済みの画素から拡散された誤差による補正を行うことなく、ドットのオン・オフを一義的に設定するのである。また、誤差計算および誤差拡散処理も行わない。
【0057】
ここで、誤差拡散法によるハーフトーン処理(ステップS125〜S145)と、一義的なオン・オフの設定(ステップS120)との使い分けの判断基準となる値Nの設定について説明する。値Nは、基本的には1以上のいかなる値に設定することもできるが、ハーフトーン処理結果の画質に与える影響および処理速度の向上を考慮すると以下の条件で設定することが望ましい。
【0058】
一義的なオン・オフの設定(ステップS120)は、誤差拡散法によるハーフトーン処理に比較して明らかに処理に要する時間が短い。従って、一義的なオン・オフの設定(ステップS120)を適用する割合が増える程、画像全体のハーフトーン処理に要する時間を短縮することができる。かかる観点からすれば、値Nは小さい値に設定することが望ましい。
【0059】
一方、画質の面からすれば、値Nには下限が存在する。レベルデータLDが値0となる領域は、処理済みの画素から拡散された誤差を考慮しなければ、ドットをオフにすべき画素に相当する。従って、一義的なオン・オフの設定(ステップS120)は、レベルデータLDが値0となる画素が、処理済みの画素から拡散される誤差の影響が十分小さくなる程度に連続した場合に適用されることが望ましい。従って、処理速度と画質の双方を考慮すれば、値Nは、誤差の拡散領域(図10参照)および画像の解像度に応じて、処理済みの画素から拡散される誤差の影響が十分小さくなる値に設定することが望ましい。本実施例では、かかる観点に基づいてN=3に設定されている。もちろん、これ以外の種々の値に設定してもよい。
【0060】
以上の処理によって、まずインクK1についてドットのオン・オフが判定された。次に、CPU81は、全インクについて処理が終了したか否かを判定し(ステップS150)、終了していない場合には、次のインクについての処理を実行する。例えば、インクK1が終了した後は、インクK2について処理を行う。
【0061】
インクK2については、既に画像データDIの入力は済んでいるため、ステップS105の処理を省略し、ステップS110〜S145の処理を実行する。この際、レベルデータは図7のインクK2に対応したデータを用いる。また、N画素連続でレベルデータLDが値0であるか否かの判定(ステップS115)は、インクK2に対応したカウンタ変数に基づいて行われる。誤差拡散法による多値化においてレベルデータに反映される誤差(ステップS125)もインクK2に対応したバッファに記憶された値が用いられる。このようにCPU81は、全インクについて終了するまで、各インクごとに順次ドットのオン・オフを判定する(ステップS150)。
【0062】
以上で説明した本実施例の画像処理装置および印刷装置によれば、ハーフトーン処理を基本的に誤差拡散法によって行うため、高画質な印刷を実現することができる。また、レベルデータが値0となる一部の領域では、誤差拡散法によることなく一義的にドットをオフにする。かかる画素では、誤差拡散法による複雑な処理、特に誤差計算及び拡散処理を省略することができるため、ハーフトーン処理に要する時間を短縮することができる。しかも、一義的にドットをオフにする画素は、先に説明した通り、処理済みの画素から拡散される誤差の影響が小さくなる範囲において、レベルデータが値0となっている画素に限っているため、誤差拡散などの処理を省略しても十分高画質な処理を行うことができる。従って、本実施例の画像処理装置および印刷装置によれば、高画質な印刷を短時間で実行することができる。
【0063】
以上で説明した実施例では、レベルデータが値0となる領域においてのみドットのオン・オフを一義的に判定するものとした。これに対し、レベルデータが値255となる領域、即ち記録率が100%となる領域においてドットを一義的にオンにするものと判定してもよい。また、インク量の異なるドットを形成可能なノズルを備えるプリンタを適用することにより、各画素ごとにレベルデータで値0(ドットのオフ),値255(ドットのオン)の他、値128(インク量の少ないドットのオン)など中間の値も実現可能な場合には、値128となる領域においてインク量の少ないドットを一義的にオンにするものとしてもよい。上記実施例では、画像データの階調値を一旦レベルデータに置き換えてからドットのオン・オフを判定しているが、階調値のまま処理するものとしても構わないことはいうまでもない。また、上記実施例では、レベルデータが厳密に値0の領域のみでドットのオン・オフを一義的に判定しているが、ある程度の幅を持たせ、レベルデータが所定の値以下の領域に適用するものとしてもよい。
【0064】
本実施例のハーフトーン処理ルーチンにおいて、ドットのオンを一義的に設定する処理(ステップS120)は、種々の態様からなる処理に置き換えることが可能である。
【0065】
図11に、変形例としてのハーフトーン処理ルーチンのフローチャートを示す。ここでは、N画素連続でレベルデータが0以外の所定の正数値mとなっている場合を例に取り、図8のフローチャート中のステップS120に代わる処理のみを図示する。つまり、レベルデータがN画素連続して値mとなる場合(ステップS115‘)に変形例としてのハーフトーン処理ルーチンが実行される。変形例としてのハーフトーン処理ルーチンでは、ドットのオン・オフを一義的に設定するのではなく、いわゆるディザ法により設定する。つまり、変形例としてのハーフトーン処理ルーチンでは、CPU81は、レベルデータLDが閾値THD以上であるか否かを判定する(ステップS121)。レベルデータLDが閾値THD以上である場合には、ドットをオンにすべきと判定し、結果値RDに値1を代入する(ステップS123)。レベルデータLDが閾値THDよりも小さい場合には、ドットをオフにすべきと判定し、結果値RDに値0を代入する。閾値THDは、ディザテーブルにより各画素ごとに特定される。
【0066】
図12にディザ法によるドットのオン・オフの判定の考え方を示した。図示する通り、レベルデータLDとディザテーブルによって画素ごとに特定される閾値THDとの大小関係に基づいてドットのオン・オフが判定される。図12では、ドットがオンとなる画素にハッチングを付して示した。
【0067】
ディザテーブルは、ドットの分散性を確保しつつ、所定の画像領域で濃度誤差が解消されるように設定されている。従って、ほぼ一定の階調値を有する画像領域において、ディザ法によるハーフトーン処理を行えば、局所的な濃度誤差がほとんど生じないため、誤差の拡散を省略しても画質を低下させることがない。
【0068】
また、変形例のようにディザ法を適用する場合には、その適用を判断する基準となる値mを種々の値に設定可能となる利点がある。つまり、実施例(図8)では、各画素のレベルデータが、ドットのオフに相当する値0となっている領域においてのみ、ドットのオン・オフを一義的に判定する方法が適用される。かかる領域以外でドットのオン・オフを一義的に判定するものとすれば、実現すべき記録率と実際の記録率との間に誤差が生じ、画像データの階調を適切に表現できなくなるため、画質が低下する。これに対し、ディザ法を適用すれば、一定の領域内で所定の記録率を実現するようにドットのオン・オフを制御することができる。従って、レベルデータが値0以外の領域にも適用することができる。例えば、レベルデータが値128の領域、つまり記録率50%に相当する領域において上述のディザ法によるハーフトーン処理方法を適用するものとすることもできる。この結果、画像データに応じて、画質に与える影響が比較的少ない階調領域において、ディザ法によるハーフトーン処理を適用することができ、高画質な印刷を高速で行うことができる。
【0069】
(3)第2実施例:
第1実施例では、単色の印刷を実行する印刷装置を例にとって説明した。これに対し、多色で印刷を実行する印刷装置に本発明を適用した場合の例を第2実施例として説明する。第2実施例のハードウェア構成は、第1実施例の構成(図1〜図5参照)とほぼ同じである。第1実施例では、単色のインクを4種類搭載しているのに対し、第2実施例では、多色での印刷を実現するために、シアン、マゼンタ、イエロ、ブラックなど色相の異なるインクを搭載する点で相違する。かかる場合に、図8に示したのと同様、全てのインクについて誤差拡散法と、一義的にドットのオン・オフを設定する処理とを使い分けてハーフトーン処理を行うことも可能であるが、第2実施例では、一部のインクについてのみ両者を使い分けて、残余のインクについては誤差拡散法のみを適用するものとした。
【0070】
第2実施例におけるハーフトーン処理ルーチンのフローチャートを図13に示す。ここでは、イエロについては上述の2つの方法を使い分けてハーフトーン処理を行い、残余のインクについては誤差拡散法によりハーフトーン処理を行うものとした。
【0071】
このハーフトーン処理ルーチンが開始されると、CPU81は、画像データDIを入力し、レベルデータを読み込む(ステップS105,S110)。これらの処理は実施例(図8)の処理と同じである。画像データDIとは、各色ごとに8ビット(256段階)の階調値を有するデータである。ハーフトーン処理ルーチンは、シアン、マゼンタ、イエロ、ブラックの各色につき順次実行されるから、ステップS105では、処理対象となっている色についての階調値を画像データとして入力する。
【0072】
次に、CPU81はハーフトーン処理の対象がイエロであるか否かを判定する(ステップS112)。イエロのインクを処理している場合には、N画素連続でレベルデータが値0であるか否かを判定し(ステップS115)、この条件を満たす場合には、一義的にドットをオフに設定して、結果値RDに値0を代入する(ステップS120)。この場合には、実施例(図8)と同様、誤差の計算および拡散は行わない。上記条件を満たさない場合には、誤差拡散法によるハーフトーン処理を行う(ステップS125〜S145)。誤差拡散法によるハーフトーン処理の内容は実施例(図8)と同様であるので説明を省略する。
【0073】
一方、ハーフトーン処理の対象がイエロでない場合には、N画素連続でレベルデータが値0であるか否かの判定をスキップする。従って、イエロ以外のインクについては、必ず誤差拡散法によるハーフトーン処理を実行する(ステップS125〜S145)。こうして全インクにつきハーフトーン処理を実行するのである(ステップS150)。
【0074】
このようにハーフトーン処理を行えば、イエロについて2つの方法を使い分けることにより、全てのインクを誤差拡散法でハーフトーン処理する場合に比較して処理時間を短縮することができる。また、イエロは明度が高く、画質への影響が小さい。このように画質への影響が小さいインクについてのみ2つの方法を適用することによって、全体を誤差拡散法でハーフトーン処理したのと遜色ない画質を実現することができる。画質への影響が小さいインクは、必ずしもイエロのみに限られるものではない。シアン、マゼンタについて濃度の低い淡シアン、淡マゼンタのインクを備える場合には、これらのインクも画質への影響が小さいインクとして扱うことができる。また、画質への影響が小さいインクは、必ずしも明度の高いインクのみならず、比較的使用頻度の低いインクを選択してもよい。
【0075】
以上で説明した各実施例では、レベルデータが値0となる画素がN画素連続する領域について、ドットのオン・オフを一義的に設定する方法を適用するものとしていた。かかる方法では、ハーフトーン処理ルーチンを実行する過程において、ドットのオン・オフを一義的に設定する方法を適用する領域(以下、特定領域という)に該当するか否かを判定することができるため、判定処理が容易になり、判定に要する時間も比較的短くて済むという利点がある。
【0076】
(4)第3実施例:
次に、第3実施例としての画像処理装置および印刷装置について説明する。第3実施例のハードウェア構成は、第1実施例と同じである。第3実施例はソフトウェア構成が第1実施例と相違する。第3実施例におけるソフトウェア構成を図14に示す。第1実施例のソフトウェア構成(図2)に比較し、特定領域判定モジュール102が追加される。また、連続性カウンタCCに代えて、特定領域フラグSFが用いられる。その他のモジュールは第1実施例と同じである。従って、第1実施例と同様、ドットのオン・オフを一義的に設定する方法と誤差拡散法の2つを使い分けてハーフトーン処理が実行される。
【0077】
かかるソフトウェア構成を有する第3実施例では、アプリケーションプログラム95からプリンタドライバ96に受け渡された画像データは、まず特定領域判定モジュール102が受け取る。特定領域判定モジュール102は、各画素ごとの画像データを近傍の画素のデータと比較することで、所定の広さでレベルデータが値0となる特定領域に含まれるか否かを判定する。画素の配列と特定領域との関係を図15に示す。本実施例では、主走査方向、副走査方向に2次元的に配列された画素について、レベルデータが値0となる画素が両方向に3以上連続する領域を特定領域とした。図15中において、レベルデータが値0となっている画素に丸印を付して示した。何もシンボルを付していない画素は、レベルデータが値0でないことを意味する。図示する通り、PC1、PC2その他ハッチングを付した画素では、主走査方向または副走査方向のいずれかの方向に3画素よりも近い範囲にレベルデータが0以外の値となる画素が存在するため、特定領域には含まれない。PC3など塗りつぶしのシンボルで示した画素は、両方向に3画素以内の範囲はレベルデータが値0となっているため、特定領域に含まれる。
【0078】
こうして判定された結果は、特定領域フラグSFに記憶される。各画素に対応した特定領域フラグSFには、特定領域に該当する画素については値1、その他の画素については値0が記憶される。特定領域判定モジュール102による処理は、ハーフトーンモジュール100による処理に先立って行われる。ハーフトーンモジュール100は、特定領域判定モジュール102によって設定された特定領域フラグSFに基づいて、2つの方法を使い分けてハーフトーン処理を行う。特定領域に該当する画素については、ドットのオン・オフを一義的に設定する方法を適用し、その他の画素については、誤差拡散法によるハーフトーン処理を行う。この処理は、図8に示したステップS115の判定を、特定領域フラグSFが値1であるか否かに置換することによって実現される。
【0079】
第3実施例によれば、特定領域判定モジュール102による特定領域の判定をハーフトーン処理に先立って実行することにより、画像データ全体を考慮して特定領域を判定することができる。従って、図15に示したように2次元的に所定の広さを有する領域を特定領域としたり、レベルデータが0以外の値となる画素と特定領域との距離を柔軟に設定することが可能となる。この結果、特定領域を高画質および高速での処理を実現するのに適した状態に設定することが可能となる。
【0080】
以上、本発明の種々の実施例について説明してきたが、本発明はこれらに限定されるものではなく、その要旨を逸脱しない範囲で、種々の形態による実施が可能である。例えば、上記実施例で説明した種々の制御処理は、その一部または全部をハードウェアにより実現してもよい。
【図面の簡単な説明】
【図1】実施例の印刷装置の概略構成図である。
【図2】実施例の印刷装置のソフトウェア構成を示す説明図である。
【図3】プリンタ22の概略構成を示す説明図である。
【図4】プリンタ22におけるノズル配置を示す説明図である。
【図5】プリンタ22によるドットの形成原理を示す説明図である。
【図6】ドット発生処理ルーチンのフローチャートである。
【図7】ドットの記録率の設定例を示す説明図である。
【図8】ハーフトーン処理ルーチンのフローチャートである。
【図9】ハーフトーン処理の順序と特定領域との関係を示す説明図である。
【図10】誤差拡散の重み値の設定例を示す説明図である。
【図11】変形例によるハーフトーン処理ルーチンのフローチャートである。
【図12】ディザ法の考え方を示す説明図である。
【図13】第2実施例によるハーフトーン処理ルーチンのフローチャートである。
【図14】第3実施例におけるソフトウェア構成を示す説明図である。
【図15】第3実施例における特定領域の判定を示す説明図である。
【符号の説明】
12…スキャナ
14…キーボード
16…ハードディスク
18…モデム
22…プリンタ
23…モータ
24…キャリッジモータ
26…プラテン
28…印字ヘッド
31…キャリッジ
32…操作パネル
34…摺動軸
36…駆動ベルト
38…プーリ
39…位置検出センサ
40…制御回路
61〜64…印字ヘッド
68…インク通路
71…カートリッジ
80…バス
81…CPU
82…RAM
83…ROM
84…入力インターフェイス
85…出力インタフェース
86…CRTC
87…ディスクコントローラ
88…シリアル入出力インタフェース
90…コンピュータ
95…アプリケーションプログラム
96…プリンタドライバ
100…ハーフトーンモジュール
101…ラスタライザ
102…特定領域判定モジュール
201…入力部
202…バッファ
203…制御部
204…主走査部
205…副走査部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus that sequentially performs halftone processing of multi-tone image data for each pixel, an image processing method, a recording medium that records a program therefor, and an image based on the halftone processing. The present invention relates to a printing apparatus.
[0002]
[Prior art]
Conventionally, various types of printers are used as output devices of computers. As such a printer, for example, there is an ink jet printer that forms dots with several colors of ink ejected from a plurality of nozzles provided in a head and records a multicolor / multi-tone image processed by a computer. Inkjet printers usually can only express two gradations of dots on and off for each pixel. Therefore, an image is printed after performing image processing for expressing the multi-gradation of the original image data by the distribution of dots, so-called halftone processing.
[0003]
In recent years, in order to enrich gradation expression, an ink jet printer that enables not only on / off for each pixel but also gradation expression of three or more values, a so-called multi-value printer has been proposed. For example, a printer that can express three or more types of density for each dot by changing the dot diameter and ink density, and a multi-gradation can be expressed by forming a plurality of dots overlapping each pixel. It is a printer. Even in such a printer, halftone processing is necessary because the gradation of the original image data cannot be expressed sufficiently in each pixel unit.
[0004]
One method of performing halftone processing is an error diffusion method. In the error diffusion method, a density error generated as a result of determining dot on / off for each pixel is diffused to surrounding unprocessed pixels. The dot on / off state of each pixel is determined after reflecting the density error diffused from the processed pixel. By adopting such a method, the error diffusion method can minimize the density error in the entire image, and perform high-quality halftone processing.
[0005]
[Problems to be solved by the invention]
However, the error diffusion method has a problem that it takes a long time for halftone processing. In recent years, the resolution of printers tends to increase in order to realize high-quality printing, and the number of pixels constituting an image has become enormous. Similarly, in order to realize smooth gradation expression, in a multi-value printer, gradation values that can be expressed for each pixel tend to increase, and the time required for halftone processing for each pixel increases. ing. Although the processing speed of processors that perform halftone processing is improving day by day, the increase in the time required for halftone processing is due to the increase in the number of pixels to be processed and the increase in processing time for each pixel. It was impossible to overlook. Such a problem is common not only to printers but also to various printing apparatuses that require halftone processing.
[0006]
The present invention has been made to solve the above-described problem, and an object of the present invention is to provide an image processing technique that shortens the time required for halftone processing by the error diffusion method without causing an extreme deterioration in image quality. To do. Another object of the present invention is to provide a printing apparatus that applies the image processing technique and prints a high-quality image at high speed.
[0007]
[Means for solving the problems and their functions and effects]
In order to solve at least a part of the above-described problems, the present invention employs the following configuration.
The image processing apparatus of the present invention
An image processing apparatus that sequentially performs halftone processing for each pixel for image data having gradation values,
Input means for inputting the image data;
Judgment to determine whether or not an image region is a region having a certain gradation value and located at a predetermined distance from a pixel having a gradation value different from the certain gradation value Means,
For pixels not corresponding to the image area, for each pixel, halftone processing is performed after reflecting the error in gradation expression generated in the processed pixel in the image data, and the error generated by the halftone processing First multi-value conversion means for performing a process of diffusing to unprocessed pixels;
A second multi-value conversion unit that performs only a halftone process based on a gradation value of image data, instead of the process by the first multi-value conversion unit, for a pixel corresponding to the image area. And
[0008]
Such an image processing apparatus performs halftone processing by a so-called error diffusion method for each pixel by the first multi-value conversion means for pixels not corresponding to the image area. For the pixel corresponding to the image area, halftone processing is performed by the second multi-value quantization means instead of the first multi-value quantization means. The second multi-value conversion means executes halftone processing based on the gradation value of the image data without reflecting an error from the processed pixel. Further, the process of diffusing the error caused by the halftone process to the surrounding unprocessed pixels is not performed. That is, the halftone process by the second multi-value quantization unit can shorten the time required for the process compared to the half-tone process by the first multi-value quantization unit. Therefore, according to the image processing apparatus of the present invention, since the halftone processing by the error diffusion method is performed, high-quality image processing can be executed, and the second multi-value quantization unit that omits error diffusion is used. By partially applying the halftone process, the time for the halftone process can be shortened.
[0009]
Various methods can be applied to the second multi-value conversion means. Since the image region is a region having a constant gradation value, for example, the dot on / off may be uniquely set based on the gradation value of the image data. Further, halftone processing may be performed by a dither method. The dither method is a method of performing halftone processing based on the magnitude relationship between the threshold value given by a so-called dither table and the gradation value of the image data. The dither table is set so that density errors are eliminated in a predetermined image area while ensuring the dispersibility of dots. Therefore, in an image region having a constant gradation value, the image quality is not extremely lowered even by the halftone processing by the dither method. In addition, since a density error hardly occurs in a region where halftone processing is performed by the dither method, the image quality is not deteriorated even if error diffusion is omitted.
[0010]
Here, the image area is an area having a constant gradation value, and can be set to various sizes. It is possible to include all the areas of one pixel or more, or to include only the case where a predetermined number or more of pixels having a predetermined gradation value exist continuously. In the latter case, these pixels may be two-dimensionally larger than a predetermined area, or may be a condition that they are continuous for a predetermined distance in any one direction. If the area of the image area is increased, the area to be halftoned by the second multi-value conversion means is increased accordingly, so that the processing time can be shortened. On the other hand, since the area to be halftoned by the first multi-value quantization means becomes narrow, the image quality is somewhat deteriorated. The image area takes the processing time and image quality into consideration, the type and resolution of the image data, the halftone processing time by the first multi-value processing means, and the half-tone processing time by the second multi-value processing means. An appropriate value can be selected based on the ratio of and the like.
[0011]
The predetermined distance can also be set to various values. A predetermined distance is set for one pixel, and all pixels adjacent to a pixel having a gradation value different from the certain gradation value (hereinafter referred to as other gradation values) can correspond to the image area. It is also possible to set so that only pixels that are several pixels away from pixels having other gradation values fall within the image area. For pixels having other gradation values, halftone processing using an error diffusion method is performed by the first multi-value conversion means. In these pixels, the error generated based on the result of the halftone process is diffused to the unprocessed pixels. Accordingly, such an error is diffused to pixels located in the vicinity of pixels having other gradation values among pixels having a certain gradation value. Even in the case of a pixel having a certain gradation value, it is desirable to perform halftone processing in consideration of the influence of the error by the first multi-value conversion means for a pixel in which the influence of the error remains significantly. By so doing, it is possible to eliminate errors caused by pixels having other gradation values, and to realize high-quality image processing. In the image processing apparatus of the present invention, the predetermined distance is set so that a region where an error is significantly diffused is excluded from the image region in consideration of a region where the error is diffused in the first multi-value quantization unit. By determining the image area based on the setting, it is possible to realize a high-speed halftone process without degrading the image quality.
[0012]
The image area can be determined by various methods.
For example, the determination unit may be a unit that performs the determination prior to the halftone process based on a gradation value of each pixel constituting the image data.
In addition, in the halftone process performed for each pixel, the determination unit is configured to display the Nth (N Can be a means for determining that the pixels after (natural number) are pixels corresponding to the image area.
[0013]
According to the former means, it is possible to appropriately determine the image area because it is determined whether each pixel corresponds to the image area prior to the halftone process. For example, when the image data is arranged in two directions of the X direction and the Y direction, it is possible to determine an area having a predetermined area two-dimensionally as the image area. In such a case, the distance from the pixels having other gradation values can be set to different distances in the X direction and the Y direction. On the other hand, according to the latter means, since the image area can be specified in the process of executing the halftone process for each pixel, there is an advantage that the time required for the determination can be shortened.
[0014]
In the image processing apparatus of the present invention, the constant gradation value can be set to various values.
It is desirable that the constant gradation value is substantially equal to any one of density evaluation values expressed based on the halftone processing result.
[0015]
In this way, the density error that occurs for each pixel in the area that is halftoned by the second multi-value quantization means can be made very small. As a result, the influence on the image quality due to the omission of error diffusion processing can be greatly reduced.
[0016]
For example, when the halftone processing result is expressed by the binary value of dot on / off, the density evaluation value is represented by 8 bits, the density evaluation value is 0 when the dot is off, and the density when the dot is on. Consider the case where the evaluation value corresponds to the value 255. At this time, assuming that a constant gradation value is an average value 128 of both, an error corresponding to the gradation value 128 occurs for each pixel regardless of whether the dot is on or off. On the other hand, if the constant gradation value is set to a value near 0, the density error that occurs for each pixel when the dot is turned off can be made extremely small. Therefore, the influence on the image quality when the error diffusion to the unprocessed pixels is omitted can be greatly reduced.
[0017]
Note that the gradation value that substantially matches the density evaluation value is not necessarily set to the value 0, and may be set to a value 255 corresponding to the density evaluation value when the dots are on in the above example. Further, both may be set to a constant gradation value. Further, when halftone processing is performed for each pixel with a gradation value of three or more values, the gradation value may be set to any one of the three density evaluation values. Further, a predetermined width may be given to a certain gradation value.
[0018]
In the image processing apparatus of the present invention, when a certain gradation value is set in this way,
It is desirable that the second multi-value conversion unit uniquely determines whether or not the dot of the density evaluation value corresponding to the image data is on / off.
[0019]
In this way, the second multi-value quantization means can be a very simple process, and at the same time, the influence on the image quality due to the omission of error diffusion can be minimized. In particular, when a certain gradation value matches the density evaluation value, if a dot of the density evaluation value is uniquely turned on in each pixel, a density error does not occur in each pixel. The second multi-value conversion means can execute the halftone process without degrading the image quality due to omission of error diffusion. In addition, when a constant gradation value is set to 0, if the dots are uniquely turned off, no density error occurs in each pixel.
[0020]
In the image processing apparatus of the present invention,
The image data is data having gradation values for a plurality of colors,
The second multi-value conversion means may be a means that is applied only to a predetermined color that has little influence on the image quality.
[0021]
In this way, it is possible to execute image processing with high image quality in a short time while suppressing the influence on image quality. The predetermined color having little influence on the image quality can be set variously according to the mode in which the image data and the image processing result are used. For example, when the image processing result is used in a printing apparatus, a color with relatively low visibility during printing can be set as the predetermined color. When cyan, magenta, and yellow ink are used in the printing apparatus, yellow having relatively high brightness can be set as the predetermined color. When inks having different densities are provided for cyan and magenta, light cyan and light magenta having low densities may also be set as predetermined colors. The predetermined color is not necessarily limited to a color with high brightness. For example, a color that is not frequently used during printing may be used as the predetermined color.
[0022]
The present invention can also be configured as an image processing method described below.
The image processing method of the present invention includes:
An image processing method for performing halftone processing sequentially for each pixel for image data having gradation values,
(A) inputting the image data;
(B) Whether or not it corresponds to an image region that is a region having a constant gradation value and is located a predetermined distance away from a pixel having a gradation value different from the constant gradation value. A determining step;
(C) For each pixel not corresponding to the image area, halftone processing is performed for each pixel after reflecting an error in gradation expression generated in the processed pixel in the image data. Diffusing the resulting error to unprocessed pixels;
(D) An image processing method including a step of performing only a halftone process based on a gradation value of image data for the pixel corresponding to the image region, instead of the step (c).
According to such an image processing method, high-quality image processing can be realized in a short time by the same action as described in the image processing apparatus.
[0023]
The present invention can also be configured as a recording medium on which the following program is recorded.
The recording medium of the present invention is
A recording medium in which a program for realizing a halftone processing function for each pixel is recorded so as to be readable by a computer for image data having gradation values,
A function of inputting the image data;
A function for determining whether or not an image region is a region having a certain gradation value and located at a predetermined distance from a pixel having a gradation value different from the certain gradation value. When,
For pixels not corresponding to the image area, for each pixel, halftone processing is performed after reflecting the error in gradation expression generated in the processed pixel in the image data, and the error generated by the halftone processing A first multi-value conversion function for diffusing the image to unprocessed pixels;
For pixels corresponding to the image area, a program for realizing a second multi-valued function for performing only a halftone process based on a gradation value of image data instead of the first multi-valued function is recorded. It is a recording medium.
[0024]
By executing the program recorded in each of the above recording media on a computer, the above-described image processing apparatus and image processing method of the present invention can be realized. Storage media include flexible disks, CD-ROMs, magneto-optical disks, IC cards, ROM cartridges, punch cards, printed materials printed with codes such as bar codes, and computer internal storage devices (memory such as RAM and ROM). ) And external storage devices can be used. Moreover, the aspect as a program supply apparatus which supplies the said computer program to a computer via a communication path is also included.
[0025]
The present invention is also realized in an aspect of a printing apparatus capable of realizing the above-described printing method.
The printing apparatus of the present invention includes:
A printing apparatus that prints an image by forming dots for each pixel on a print medium based on image data having gradation values,
Input means for inputting the image data;
Judgment to determine whether or not an image region is a region having a certain gradation value and located at a predetermined distance from a pixel having a gradation value different from the certain gradation value Means,
For pixels not corresponding to the image area, for each pixel, halftone processing is performed after reflecting the error in gradation expression generated in the processed pixel in the image data, and the error generated by the halftone processing First multi-value conversion means for performing a process of diffusing to unprocessed pixels;
For the pixel corresponding to the image area, instead of the processing by the first multi-value conversion means, second multi-value conversion means for performing only halftone processing based on the gradation value of the image data;
And a dot forming unit that forms dots for each pixel based on the halftone processing result.
[0026]
Such a printing apparatus can shorten the halftone processing time of the image data by the same operation as described in the image processing apparatus. Therefore, according to the printing apparatus of the present invention, high-quality printing can be performed in a short time.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described based on examples.
(1) Device configuration:
FIG. 1 is a block diagram showing a configuration of a printing apparatus to which an image processing apparatus as an embodiment of the present invention is applied. As shown in the figure, a scanner 12 and a printer 22 are connected to a computer 90. A predetermined program is loaded and executed on the computer 90 to function as an image processing apparatus, and also functions as a printing apparatus together with the printer 22. For example, the printing apparatus can realize a function of performing printing by the printer 22 after various retouching is performed on the image read by the scanner 12. As will be described later, the printer 22 is a monochrome printer dedicated to monochrome printing, and the image read from the scanner 12 is also a monochrome image. In the printing apparatus of the embodiment, instead of the scanner 12, a camera that digitally captures X-ray photographs can be configured as an image input device.
[0028]
A computer 90 constituting a part of the printing apparatus includes the following units connected to each other by a bus 80 with a CPU 81, a ROM 82, and a RAM 83 controlling operations related to printing according to a program. The input interface 84 controls input of signals from the scanner 12 and the keyboard 14, and the output interface 85 controls output of data to the printer 22. The CRTC 86 controls signal output to the CRT 21 capable of displaying images, and the disk controller (DDC) 87 controls data exchange with the hard disk 16, the CD-ROM drive 15, or a flexible drive (not shown). The hard disk 16 stores various programs loaded in the RAM 83 and executed, various programs provided in the form of device drivers, and the like.
[0029]
In addition, a serial input / output interface (SIO) 88 is connected to the bus 80. The SIO 88 is connected to the modem 18 and is connected to the public telephone line PNT via the modem 18. The computer 90 is connected to an external network via the SIO 88 and the modem 18, and a program necessary for image printing can be downloaded to the hard disk 16 by connecting to a specific server SV. . It is also possible to load a necessary program from the flexible disk FD or CD-ROM and cause the computer 90 to execute it. Of course, these programs can adopt a mode in which the entire program necessary for printing is loaded together, or only a part thereof can be loaded as a module.
[0030]
FIG. 2 is a block diagram illustrating a software configuration of the printing apparatus according to the embodiment. In the computer 90, an application program 95 operates under a predetermined operating system. A printer driver 96 is incorporated in the operating system. The application program 95 reads image data ORG from the scanner 12 and performs processing such as image retouching.
[0031]
When a print command is output from the application program 95, the printer driver 96 receives the image data from the application program 95 and converts it into a signal that can be processed by the printer 22. The printer driver 96 includes a halftone module 100 and a rasterizer 101 for performing such conversion. The halftone module 100 performs halftone processing for expressing the gradation value of image data by the distribution of dots. As will be described later, the halftone process is executed by using two methods depending on the number of pixels having a constant gradation value that appear continuously. The halftone module stores information on the number of pixels having a constant gradation value that appear continuously in the continuity counter CC, and performs halftone processing using two methods while referring to the storage. The rasterizer 101 performs a process of rearranging the halftone processed image data in the order of transfer to the printer 22.
[0032]
The processing result is output to the printer 22 as print data FNL. The printer 22 prints an image by forming dots on the printing paper based on the image data transferred from the printer driver 96 while performing main scanning and sub scanning of the head.
[0033]
The schematic configuration of the printer 22 will be described with reference to FIG. As shown in the figure, the printer 22 includes a circuit for transporting the paper P by the paper feed motor 23, a circuit for reciprocating the carriage 31 in the axial direction of the platen 26 by the carriage motor 24, and a print head 28 mounted on the carriage 31. And a control circuit 40 that controls the exchange of signals with the paper feed motor 23, the carriage motor 24, the print head 28, and the operation panel 32.
[0034]
The circuit for reciprocating the carriage 31 in the axial direction of the platen 26 is an endless drive belt between the carriage motor 24 and a slide shaft 34 that is installed in parallel with the axis of the platen 26 and slidably holds the carriage 31. 36, a pulley 38 for extending 36, a position detection sensor 39 for detecting the origin position of the carriage 31, and the like.
[0035]
An ink cartridge 71 that stores four types of black ink (K1 to K4) having different densities can be mounted on the carriage 31. A total of four print heads 61 to 64 are formed on the print head 28 below the carriage 31. In the bottom portion of the carriage 31, ink passages 68 (see FIG. 5) for guiding ink from the respective ink tanks to these heads are provided.
[0036]
FIG. 4 is an explanatory diagram showing the arrangement of the nozzles Nz in the print heads 61 to 64. These nozzles are composed of four sets of nozzle arrays corresponding to four types of black inks (K1 to K4) having different densities, and 48 nozzles Nz are arranged in a staggered manner at a constant nozzle pitch k. ing. The positions of the nozzle arrays in the sub-scanning direction coincide with each other. The heads are arranged in the main scanning direction in the order of ink K1 having a low density to ink K4 having a high density. The printer 22 can form four types of dots having different densities for each pixel using these inks.
[0037]
FIG. 5 is an explanatory diagram showing the principle of dot formation by the print head 28. For convenience of illustration, the portions for ejecting the inks K1 to K3 are shown. When the ink cartridge 71 is mounted on the carriage 31, each ink is supplied to the heads 61 to 64 through the ink passage 68 shown in FIG. As shown in the figure, the heads 61 to 64 are provided with a piezo element PE for each nozzle. As is well known, the piezo element PE is an element that transforms electro-mechanical energy at a very high speed because the crystal structure is distorted by application of a voltage. When a voltage is applied between the electrodes provided at both ends of the piezo element PE with a predetermined time width, the piezo element PE expands by the voltage application time as shown by an arrow in FIG. Deform. As a result, the volume of the ink passage 68 contracts according to the expansion of the piezo element PE, and the ink corresponding to the contraction becomes particles Ip and is ejected from the tip of the nozzle Nz at high speed. Printing is performed by the ink particles Ip soaking into the paper P mounted on the platen 26.
[0038]
The control circuit 40 that controls each function of the printer 22 is configured as a microcomputer including a CPU 41, a PROM 42, and a RAM 43. The control circuit 40 is provided with a transmitter for outputting a driving waveform for driving the piezo element to each of the heads 61 to 64. When the control circuit 40 outputs a drive waveform based on the data for designating dot ON / OFF for each nozzle of the heads 61 to 64, ink is supplied from the nozzle set to ON based on the principle described above. Discharged.
[0039]
The printer 22 having the hardware configuration described above drives the piezo elements PE of the heads 61 to 64 while sub-scanning the paper P by the paper feed motor 23 and reciprocating the carriage 31 by the carriage motor 24. By repeating the main scanning for forming dots, a monochrome image is printed on the paper P with multiple gradations.
[0040]
In this embodiment, as described above, the printer 22 including the head that discharges ink using the piezo element PE is used. However, a printer that discharges ink by another method may be used. For example, the present invention may be applied to a printer of a type in which electricity is supplied to a heater arranged in the ink passage and ink is ejected by bubbles generated in the ink passage. In addition to printers that eject ink, various types of printers such as a so-called thermal transfer type, sublimation type, and dot impact type can be applied.
[0041]
(2) Dot generation processing routine:
Next, the dot generation processing routine in the present embodiment will be described. FIG. 6 is a flowchart of the dot generation processing routine. This routine is a process performed by the printer driver 96, and is a routine executed by the CPU 81 of the computer 90 in this embodiment.
[0042]
When the dot generation processing routine is executed, the CPU 81 inputs image data (step S10). The data input here is data in which the shade of black is represented by 256 gradations from 0 to 255 for each pixel. The CPU 81 performs halftone processing based on this image data (step S20). Halftone processing refers to processing for determining on / off of four types of dots having different densities for each pixel. Details of this processing will be described later.
[0043]
When halftone processing is completed for all pixels (step S200), the CPU 81 performs rasterization and outputs data to the printer 22 (step S205). Rasterization refers to a process of rearranging data in the order of transfer to the printer 22. For example, when printing an image in both directions of reciprocation of main scanning, the data arrangement is reversed according to the direction of main scanning. When so-called overlap recording is performed in which each raster is formed using two nozzles, odd-numbered pixel data is supplied to one nozzle and even-numbered pixel data is supplied to the other nozzle. Sort the data as follows. For nozzles that form only odd-numbered pixels, mask data is inserted into even-numbered pixels. The printer 22 receives the rasterized data, forms dots, and prints an image.
[0044]
The contents of the halftone process will be described. In this embodiment, the recording rates of four types of dots having different densities are set in advance according to the gradation value of the image data. A setting example of the recording rate is shown in FIG. The recording rate is the rate at which dots are formed in pixels within a predetermined area having a certain gradation value. As shown in the figure, in the region where the gradation value is low, dots are formed using only the ink K1 having a low density. As the gradation value increases, the ink K1 and the ink K2 are mixed to form dots. The recording rate can be set in various relations in consideration of the gradation expression of the image, the graininess, etc. in addition to the setting shown in FIG. In the halftone process, the dot on / off state is determined for each pixel so that the recording rate shown in FIG. 7 is realized. In this embodiment, the determination is basically made based on the error diffusion method.
[0045]
The halftone process of this embodiment will be described. FIG. 8 is a flowchart of the halftone processing routine. For the four types of inks K1 to K4 provided in the printer 22, the dot on / off determination is performed in this order. When this process is started, the CPU 81 inputs image data DI (step S105). This image data is the same as that input in step S10 of the dot generation processing routine (FIG. 6). Next, the CPU 81 reads the level data LD of each ink from the table of FIG. 7 (step S110). When this process is executed for the first time, the level data LD for the ink K1 is read because the ink K1 is used as a dot on / off determination target. FIG. 7 shows the relationship between the image data DI and the level data LD.
[0046]
The level data refers to a value indicating the recording rate by 8 bits, that is, an integer value in 256 steps from 0 to 255. In this embodiment, the relationship between the gradation value DI and the level data LD is stored in the ROM 82 as a one-dimensional table for each ink. In step S110, as shown in FIG. 7, the level data LD corresponding to the gradation value DI is read from this table.
[0047]
Next, the CPU 81 determines whether or not the level data LD for the ink to be processed has a value of 0 for N pixels continuously (step S115). Hereinafter, a pixel satisfying such a condition is referred to as a specific region. In this embodiment, as will be described later, a predetermined value N that is a criterion for determining a specific area is set to a value 3. As described above, the halftone process is executed in order for each pixel. The printer driver 96 stores a counter variable in the RAM 83 for storing the number of pixels in which the level data LD has a value 0 for each ink. When the halftone processing routine is executed and the level data LD is input for each pixel, when the level data is 0, the counter variable is incremented by 1. For example, if the level data of the ink K1 for a certain pixel is a value 0, the counter variable corresponding to the ink K1 is increased by the value 1. If the level data of the ink K2 is 0, the counter variable corresponding to the ink K2 is increased by the value 1. When a pixel whose level data LD is not 0 for a certain ink appears, the counter variable corresponding to that ink is cleared to 0.
[0048]
In step S115, the CPU 81 determines the continuity of the pixels whose level data LD is 0 based on whether the value of the counter variable corresponding to the ink to be processed is N or more. It is doing. Note that the value N is a value that serves as a criterion for determining whether or not a pixel having a level data LD value of 0 exists as an area having an area that can be distinguished from other images, and a setting method thereof will be described later. .
[0049]
FIG. 9 shows the relationship between the order of the halftone processing and the specific area. In the figure, squares arranged in a grid pattern on the printing paper P in the main scanning direction and the sub-scanning direction mean each pixel. As indicated by the arrows in the figure, halftone processing is performed in the main scanning direction sequentially from the upper left pixel, and when the processing of each raster is completed, the processing proceeds to the raster adjacent to the sub-scanning direction and continues. The level data is shown for the pixels c1 to c10 on the raster in the figure. Since the level data of the pixels c1 to c3 are not 0, they do not correspond to the specific area. Pixels c4 and c5 have a level data value of 0. However, when processing is performed sequentially in the main scanning direction, the condition that the level data has a value of 0 for three or more pixels is not satisfied. Not applicable to the area. Pixels c6 to c10 in the figure correspond to the specific region.
[0050]
The CPU 81 executes the halftone process using two methods as follows, depending on whether or not N pixels whose level data LD has a value of 0 appear continuously. First, a case where N pixels do not appear continuously will be described. In this case, as shown below, halftone processing is executed by an error diffusion method using level data LD.
[0051]
As shown in the graph of FIG. 7, the level data can take various positive values from 0 to 255, but the dots to be printed are on (recording rate 100%) or off (recording rate 0) when viewed for each pixel. %) Can only take two states. Therefore, if dot on / off is determined for each pixel, an error occurs with the recording rate represented by the level data. In the error diffusion method, an error generated in each pixel is diffused to unprocessed pixels around the pixel. In addition, the dot on / off determination at each pixel is performed by reflecting an error diffused from the processed pixel. The error diffusion method is a halftone processing method that minimizes local errors by repeatedly performing error diffusion and reflection in this way.
[0052]
In order to perform the above-described processing, the CPU 81 generates correction data LDX by reflecting an error from the processed pixel with respect to the level data LD (step S125). In this embodiment, a value obtained by adding the error stored in the error buffer to the level data LD is used as the correction data LDX. In this embodiment, since halftone processing is executed independently for each ink, four types of error buffers are provided corresponding to the inks K1 to K4. In step S125, the error stored in the error buffer corresponding to the ink to be processed is reflected in the level data LD.
[0053]
Next, the magnitude relationship between the correction data LDX and the predetermined threshold value TH is determined (step S130). If the correction data LDX is smaller than the threshold value TH, it is determined that the dot should be turned off, and a value 0 which means that the dot is turned off is substituted into the result value RD representing the determination result (step S135). If the correction data LDX is greater than or equal to the threshold value TH, it is determined that the dot should be turned on, and a value 1 meaning that the dot is turned on is substituted into the result value RD (step S140). The threshold value TH is a reference value for determining dot on / off, and can be set to any value. In this embodiment, the intermediate value 128 of the level data LD is set.
[0054]
Next, the CPU 81 performs error calculation and error diffusion processing (step S145). The error calculation is an error between the corrected level data LDX in the pixel to be determined and the dot on / off determination result. For example, consider a case where it is determined that a dot should be turned on for a pixel whose level data LDX has a value of 239. Turning on a dot means that the recording rate of the pixel is 100%, that is, equivalent to the level data 255. Accordingly, an error of 239−255 = −16 has occurred in the pixel.
[0055]
The error thus calculated is weighted and diffused to the surrounding unprocessed pixels. FIG. 10 shows examples of ranges and weights for diffusing errors. The error generated in the hatched pixel PP is diffused over several pixels in the main scanning direction and the sub-scanning direction by multiplying each weight shown in the figure. For example, when an error of −16 occurs, −4 corresponding to ¼ is diffused to the pixel P1 adjacent in the main scanning direction. Since the error needs to be diffused to unprocessed pixels, the error is not diffused to the pixel on the left side of the pixel PP in FIG.
[0056]
Next, the case where it is determined in step S115 that the level data LD has a value of 0 for N pixels in succession will be described. In this case, the CPU 81 uniquely determines that the dot of the pixel should be turned off, and substitutes the value 0 for the result value RD (step S120). That is, in this case, the dot on / off is uniquely set without correcting the error diffused from the processed pixel. Also, neither error calculation nor error diffusion processing is performed.
[0057]
Here, the setting of the value N that is a criterion for proper use of the halftone processing by the error diffusion method (steps S125 to S145) and the unambiguous ON / OFF setting (step S120) will be described. The value N can be basically set to any value of 1 or more, but it is desirable to set it under the following conditions in consideration of the influence of the halftone processing result on the image quality and the improvement in processing speed.
[0058]
The unambiguous ON / OFF setting (step S120) clearly requires a shorter time for processing than halftone processing by the error diffusion method. Accordingly, as the ratio of applying the unique on / off setting (step S120) increases, the time required for halftone processing of the entire image can be shortened. From this point of view, it is desirable to set the value N to a small value.
[0059]
On the other hand, in terms of image quality, the value N has a lower limit. The region where the level data LD has a value of 0 corresponds to a pixel whose dot should be turned off unless an error diffused from the processed pixel is taken into consideration. Therefore, the unambiguous ON / OFF setting (step S120) is applied when the pixels whose level data LD has a value of 0 are continuous to such an extent that the influence of the error diffused from the processed pixels becomes sufficiently small. It is desirable. Therefore, considering both the processing speed and the image quality, the value N is a value that sufficiently reduces the influence of the error diffused from the processed pixel in accordance with the error diffusion region (see FIG. 10) and the resolution of the image. It is desirable to set to. In this embodiment, N = 3 is set based on this viewpoint. Of course, various other values may be set.
[0060]
As a result of the above processing, it was first determined whether the ink K1 was on or off. Next, the CPU 81 determines whether or not the processing has been completed for all inks (step S150), and if not, performs processing for the next ink. For example, after the ink K1 is finished, the ink K2 is processed.
[0061]
Since the image data DI has already been input for the ink K2, the process of step S105 is omitted, and the processes of steps S110 to S145 are executed. At this time, the level data uses data corresponding to the ink K2 in FIG. Further, the determination of whether or not the level data LD has a value of 0 for N pixels continuously (step S115) is performed based on the counter variable corresponding to the ink K2. The error (step S125) reflected in the level data in the multi-value conversion by the error diffusion method uses the value stored in the buffer corresponding to the ink K2. In this manner, the CPU 81 sequentially determines whether dots are turned on / off for each ink until the process is completed for all inks (step S150).
[0062]
According to the image processing apparatus and printing apparatus of the present embodiment described above, halftone processing is basically performed by the error diffusion method, so high-quality printing can be realized. In some areas where the level data has a value of 0, the dots are uniquely turned off without using the error diffusion method. In such a pixel, complicated processing by the error diffusion method, particularly error calculation and diffusion processing can be omitted, so that the time required for halftone processing can be shortened. In addition, as described above, the pixels for which dots are uniquely turned off are limited to pixels whose level data has a value of 0 within a range in which the influence of the error diffused from the processed pixels becomes small. Therefore, even if processing such as error diffusion is omitted, processing with sufficiently high image quality can be performed. Therefore, according to the image processing apparatus and the printing apparatus of the present embodiment, high-quality printing can be executed in a short time.
[0063]
In the embodiment described above, the on / off state of the dot is uniquely determined only in the region where the level data has a value of 0. On the other hand, it may be determined that the dots are uniquely turned on in the area where the level data has the value 255, that is, in the area where the recording rate is 100%. In addition, by applying a printer including nozzles capable of forming dots with different ink amounts, each pixel has a level data value of 0 (dot off) and value 255 (dot on), as well as value 128 (ink In the case where an intermediate value such as ON of a dot having a small amount) is also feasible, a dot having a small ink amount may be uniquely turned on in an area where the value is 128. In the above embodiment, the gradation value of the image data is temporarily replaced with the level data, and then the dot on / off is determined. However, it goes without saying that the processing may be performed with the gradation value as it is. In the above-described embodiment, the dot ON / OFF is uniquely determined only in the area where the level data is strictly the value 0. However, the level data is set to an area where the level data is equal to or less than a predetermined value. It may be applied.
[0064]
In the halftone processing routine of this embodiment, the processing for uniquely setting the dot on (step S120) can be replaced with processing having various modes.
[0065]
FIG. 11 shows a flowchart of a halftone processing routine as a modification. Here, a case where N pixels are continuous and the level data is a predetermined positive value m other than 0 is taken as an example, and only the process replacing step S120 in the flowchart of FIG. 8 is illustrated. That is, when the level data becomes the value m continuously for N pixels (step S115 ′), a halftone processing routine as a modification is executed. In the halftone processing routine as a modified example, the dot on / off is not uniquely set, but is set by a so-called dither method. That is, in the modified halftone processing routine, the CPU 81 determines whether or not the level data LD is greater than or equal to the threshold value THD (step S121). If the level data LD is greater than or equal to the threshold value THD, it is determined that the dot should be turned on, and the value 1 is substituted into the result value RD (step S123). If the level data LD is smaller than the threshold value THD, it is determined that the dot should be turned off, and the value 0 is substituted into the result value RD. The threshold value THD is specified for each pixel by the dither table.
[0066]
FIG. 12 shows the concept of dot on / off determination by the dither method. As shown in the drawing, the dot on / off state is determined based on the magnitude relationship between the level data LD and the threshold value THD specified for each pixel by the dither table. In FIG. 12, the pixels where the dots are turned on are indicated by hatching.
[0067]
The dither table is set so that density errors are eliminated in a predetermined image area while ensuring the dispersibility of dots. Therefore, if halftone processing by the dither method is performed in an image region having a substantially constant gradation value, there is almost no local density error. Therefore, even if error diffusion is omitted, image quality is not deteriorated. .
[0068]
Further, when the dither method is applied as in the modification, there is an advantage that the value m serving as a reference for determining the application can be set to various values. That is, in the embodiment (FIG. 8), a method of uniquely determining whether a dot is on or off is applied only in a region where the level data of each pixel has a value 0 corresponding to dot off. If the ON / OFF of the dots is determined unambiguously outside this area, an error occurs between the recording rate to be realized and the actual recording rate, and the gradation of the image data cannot be expressed appropriately. , The image quality is degraded. On the other hand, if the dither method is applied, it is possible to control on / off of dots so as to realize a predetermined recording rate within a certain area. Therefore, the present invention can also be applied to areas where the level data is other than 0. For example, the halftone processing method using the dither method described above may be applied to an area where the level data is 128, that is, an area corresponding to a recording rate of 50%. As a result, halftone processing by the dither method can be applied in a gradation region that has a relatively small influence on image quality according to image data, and high-quality printing can be performed at high speed.
[0069]
(3) Second embodiment:
In the first embodiment, the printing apparatus that executes single color printing has been described as an example. In contrast, an example in which the present invention is applied to a printing apparatus that performs printing in multiple colors will be described as a second embodiment. The hardware configuration of the second embodiment is substantially the same as the configuration of the first embodiment (see FIGS. 1 to 5). In the first embodiment, four types of single color inks are mounted. In the second embodiment, in order to realize multicolor printing, inks having different hues such as cyan, magenta, yellow, and black are used. It differs in that it is installed. In this case, as shown in FIG. 8, it is possible to perform the halftone process by properly using the error diffusion method and the process for uniquely setting the dot on / off for all inks. In the second embodiment, only a part of ink is used separately, and only the error diffusion method is applied to the remaining ink.
[0070]
FIG. 13 shows a flowchart of the halftone processing routine in the second embodiment. Here, halftone processing is performed by using the above-described two methods for yellow, and halftone processing is performed for the remaining ink by the error diffusion method.
[0071]
When this halftone processing routine is started, the CPU 81 inputs the image data DI and reads the level data (steps S105 and S110). These processes are the same as those in the embodiment (FIG. 8). The image data DI is data having a gradation value of 8 bits (256 levels) for each color. Since the halftone processing routine is sequentially executed for each color of cyan, magenta, yellow, and black, in step S105, the gradation value for the color to be processed is input as image data.
[0072]
Next, the CPU 81 determines whether or not the halftone processing target is yellow (step S112). If yellow ink is being processed, it is determined whether or not the level data has a value of 0 for N pixels continuously (step S115). If this condition is satisfied, the dot is uniquely set to OFF. Then, the value 0 is substituted into the result value RD (step S120). In this case, as in the embodiment (FIG. 8), error calculation and diffusion are not performed. If the above conditions are not satisfied, halftone processing by error diffusion is performed (steps S125 to S145). Since the contents of the halftone processing by the error diffusion method are the same as those in the embodiment (FIG. 8), description thereof is omitted.
[0073]
On the other hand, when the target of the halftone process is not yellow, the determination of whether or not the level data is 0 for N pixels consecutively is skipped. Therefore, halftone processing by the error diffusion method is always executed for inks other than yellow (steps S125 to S145). Thus, halftone processing is executed for all inks (step S150).
[0074]
If halftone processing is performed in this way, the processing time can be shortened by using two methods for yellow as compared with the case where all inks are halftone processed by the error diffusion method. In addition, yellow has high brightness and little influence on image quality. In this way, by applying the two methods only to the ink having a small influence on the image quality, it is possible to realize an image quality that is comparable to the case where the whole is halftone processed by the error diffusion method. Ink having a small influence on image quality is not necessarily limited to yellow. When cyan and magenta are provided with light cyan and light magenta inks having low densities, these inks can also be handled as inks having little influence on image quality. Further, the ink having a small influence on the image quality is not necessarily limited to an ink having a high brightness, but an ink having a relatively low use frequency may be selected.
[0075]
In each of the embodiments described above, a method of uniquely setting dot on / off is applied to an area where N pixels having level data of value 0 are continuous. In this method, in the process of executing the halftone processing routine, it is possible to determine whether or not it corresponds to an area (hereinafter referred to as a specific area) to which a method for uniquely setting dot on / off is applied. There are advantages that the determination process becomes easy and the time required for the determination is relatively short.
[0076]
(4) Third embodiment:
Next, an image processing apparatus and a printing apparatus as a third embodiment will be described. The hardware configuration of the third embodiment is the same as that of the first embodiment. The third embodiment is different from the first embodiment in software configuration. The software configuration in the third embodiment is shown in FIG. Compared to the software configuration of the first embodiment (FIG. 2), a specific area determination module 102 is added. Further, a specific area flag SF is used instead of the continuity counter CC. Other modules are the same as those in the first embodiment. Accordingly, as in the first embodiment, the halftone process is executed using two methods, namely, a method for uniquely setting dot on / off and an error diffusion method.
[0077]
In the third embodiment having such a software configuration, image data transferred from the application program 95 to the printer driver 96 is first received by the specific area determination module 102. The specific area determination module 102 compares the image data for each pixel with the data of neighboring pixels to determine whether the level data is included in a specific area having a predetermined width and a value of 0. FIG. 15 shows the relationship between the pixel arrangement and the specific area. In the present embodiment, for pixels that are two-dimensionally arranged in the main scanning direction and the sub-scanning direction, a region in which three or more pixels whose level data is 0 continues in both directions is defined as the specific region. In FIG. 15, pixels whose level data has a value of 0 are indicated by circles. A pixel without any symbol means that the level data is not 0. As shown in the figure, in PC1, PC2 and other hatched pixels, there are pixels whose level data has a value other than 0 in a range closer to 3 pixels in either the main scanning direction or the sub-scanning direction. It is not included in the specific area. Pixels indicated by filled symbols such as PC3 are included in a specific area because the level data has a value of 0 in a range within 3 pixels in both directions.
[0078]
The determination result is stored in the specific area flag SF. In the specific area flag SF corresponding to each pixel, a value 1 is stored for pixels corresponding to the specific area, and a value 0 is stored for other pixels. The processing by the specific area determination module 102 is performed prior to the processing by the halftone module 100. The halftone module 100 performs halftone processing using two methods properly based on the specific area flag SF set by the specific area determination module 102. A method of uniquely setting dot on / off is applied to the pixels corresponding to the specific area, and halftone processing by the error diffusion method is performed on the other pixels. This process is realized by replacing the determination in step S115 shown in FIG. 8 with whether or not the specific area flag SF is 1.
[0079]
According to the third embodiment, the specific area can be determined in consideration of the entire image data by executing the specific area determination by the specific area determination module 102 prior to the halftone process. Therefore, as shown in FIG. 15, it is possible to set an area having a predetermined two-dimensional area as a specific area, or to flexibly set a distance between a pixel whose level data has a value other than 0 and the specific area. It becomes. As a result, the specific area can be set in a state suitable for realizing high-quality and high-speed processing.
[0080]
Although various embodiments of the present invention have been described above, the present invention is not limited to these embodiments, and various embodiments can be implemented without departing from the spirit of the present invention. For example, some or all of the various control processes described in the above embodiments may be realized by hardware.
[Brief description of the drawings]
FIG. 1 is a schematic configuration diagram of a printing apparatus according to an embodiment.
FIG. 2 is an explanatory diagram illustrating a software configuration of the printing apparatus according to the embodiment.
FIG. 3 is an explanatory diagram showing a schematic configuration of a printer 22;
FIG. 4 is an explanatory diagram showing nozzle arrangement in the printer 22;
FIG. 5 is an explanatory diagram illustrating the principle of dot formation by the printer 22;
FIG. 6 is a flowchart of a dot generation processing routine.
FIG. 7 is an explanatory diagram illustrating a setting example of a dot recording rate.
FIG. 8 is a flowchart of a halftone processing routine.
FIG. 9 is an explanatory diagram showing the relationship between the order of halftone processing and a specific area;
FIG. 10 is an explanatory diagram illustrating an example of setting error diffusion weight values;
FIG. 11 is a flowchart of a halftone processing routine according to a modified example.
FIG. 12 is an explanatory diagram showing the concept of the dither method.
FIG. 13 is a flowchart of a halftone processing routine according to the second embodiment.
FIG. 14 is an explanatory diagram showing a software configuration in a third embodiment.
FIG. 15 is an explanatory diagram showing determination of a specific area in the third embodiment.
[Explanation of symbols]
12 ... Scanner
14 ... Keyboard
16. Hard disk
18 ... modem
22 ... Printer
23 ... Motor
24 ... Carriage motor
26 ... Platen
28 ... Print head
31 ... Carriage
32 ... Control panel
34 ... Sliding shaft
36 ... Drive belt
38 ... pulley
39 ... Position detection sensor
40 ... Control circuit
61 to 64 ... print head
68 ... Ink passage
71 ... cartridge
80 ... Bus
81 ... CPU
82 ... RAM
83 ... ROM
84 ... Input interface
85 ... Output interface
86 ... CRTC
87: Disk controller
88 ... Serial I / O interface
90 ... Computer
95 ... Application program
96 ... Printer driver
100 ... Halftone module
101 ... Rasterizer
102: Specific area determination module
201 ... input unit
202 ... Buffer
203 ... Control unit
204: Main scanning unit
205 ... Sub-scanning section

Claims (2)

階調値を有する画像データについて、各画素ごとに、順次ハーフトーン処理を行う画像処理装置であって、
前記画像データを入力する入力手段と、
一定の階調値を有する領域であって、かつ、該一定の階調値とは異なる階調値を有する画素から所定の距離だけ離れて位置する画像領域に該当するか否かを判定する判定手段と、
前記画像領域に該当しない画素について、各画素ごとに、処理済みの画素で生じた階調表現上の誤差を前記画像データに反映した上でハーフトーン処理すると共に、該ハーフトーン処理によって生じた誤差を未処理の画素に拡散する処理を行う第1の多値化手段と、
前記画像領域に該当する画素について、前記第1の多値化手段による処理に代えて、前記階調表現上の誤差の反映を含まないハーフトーン処理を行い、前記誤差の拡散処理を行わない第2の多値化手段とを備え、
前記判定手段は、各画素ごとに実行される前記ハーフトーン処理の過程において、前記一定の階調値を有する画素が連続して現れた場合に、該連続した画素のうちN番目(Nは自然数)以降の画素を前記画像領域に該当する画素であると判定する手段である画像処理装置。
An image processing apparatus that sequentially performs halftone processing for each pixel for image data having gradation values,
Input means for inputting the image data;
Judgment to determine whether or not an image region is a region having a certain gradation value and located at a predetermined distance from a pixel having a gradation value different from the certain gradation value Means,
For pixels not corresponding to the image area, for each pixel, halftone processing is performed after reflecting the error in gradation expression generated in the processed pixel in the image data, and the error generated by the halftone processing First multi-value conversion means for performing a process of diffusing to unprocessed pixels;
For the pixel corresponding to the image area, instead of the processing by the first multi-value quantization means, halftone processing that does not reflect the error in the gradation expression is performed, and the error diffusion processing is not performed. 2 multi-value conversion means,
In the process of the halftone process executed for each pixel, the determination unit is configured to display the Nth pixel (N is a natural number) among the consecutive pixels when the pixel having the constant gradation value appears continuously. ) An image processing apparatus as means for determining that the subsequent pixels are pixels corresponding to the image area.
請求項1記載の画像処理装置であって、
前記画像データは、複数の色について階調値を有するデータであり、
前記第2の多値化手段は、画質に影響の少ない所定の色についてのみ適用される手段である画像処理装置。
The image processing apparatus according to claim 1,
The image data is data having gradation values for a plurality of colors,
The second multi-value conversion means is an image processing apparatus that is applied only to a predetermined color having little influence on image quality.
JP36240598A 1998-12-21 1998-12-21 Image processing device Expired - Fee Related JP3757650B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP36240598A JP3757650B2 (en) 1998-12-21 1998-12-21 Image processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP36240598A JP3757650B2 (en) 1998-12-21 1998-12-21 Image processing device

Publications (2)

Publication Number Publication Date
JP2000177178A JP2000177178A (en) 2000-06-27
JP3757650B2 true JP3757650B2 (en) 2006-03-22

Family

ID=18476764

Family Applications (1)

Application Number Title Priority Date Filing Date
JP36240598A Expired - Fee Related JP3757650B2 (en) 1998-12-21 1998-12-21 Image processing device

Country Status (1)

Country Link
JP (1) JP3757650B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4574070B2 (en) * 2001-06-25 2010-11-04 キヤノン株式会社 Image processing apparatus and control method thereof
US7701614B2 (en) 2004-03-31 2010-04-20 Fujifilm Corporation Image processing method, apparatus, and program with selective error diffusion among a pluraity of pixel groups withing a digital image

Also Published As

Publication number Publication date
JP2000177178A (en) 2000-06-27

Similar Documents

Publication Publication Date Title
JP3829508B2 (en) Image processing apparatus, image processing method, and printing apparatus
JP3503511B2 (en) Printing apparatus, printing method, and printer
US6783203B2 (en) Printing with multiple pixels as unit of gradation reproduction
JP3846133B2 (en) Image processing apparatus and printing apparatus
JP4244405B2 (en) Printing apparatus, printing method, and recording medium
JP2004284279A (en) Image processing device/method and image processing program
JP2006224419A (en) Printing device, printing program, printing method, image processor, image processing program, image processing method, and recording medium having program recorded therein
JP3981480B2 (en) Printing apparatus and recording medium
JP2001150651A (en) Printer, printing method and recording medium
US20030072035A1 (en) Image processing device
JP3687381B2 (en) Printing apparatus, printing method, and recording medium
JP3541668B2 (en) Printing apparatus, printing method, and recording medium
WO2000019704A1 (en) Image processing device and method, and printer
JP4016572B2 (en) Adjustment of misalignment between dots formed at different timings
JP2000071439A (en) Image processor, image processing method and recording medium
JP3757650B2 (en) Image processing device
JP4154865B2 (en) Printing with multiple pixels as one unit of gradation reproduction
JP2000118007A (en) Printing apparatus, printing method and recording medium
JP4168523B2 (en) Printing apparatus, printing method, and recording medium
JP4097170B2 (en) Image processing apparatus, image processing method, and recording medium
JP5035400B2 (en) Image forming apparatus and image forming program
JP4535081B2 (en) Printing apparatus and recording medium
JP3772525B2 (en) Printing apparatus and printing method
JP4521909B2 (en) Printing apparatus and printing method
JP3001002B1 (en) Printing method, recording medium, and printing apparatus

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050802

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050930

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051219

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100113

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110113

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110113

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120113

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees