JP3912055B2 - 画像処理装置、印刷制御装置、画像処理方法、および記録媒体 - Google Patents
画像処理装置、印刷制御装置、画像処理方法、および記録媒体 Download PDFInfo
- Publication number
- JP3912055B2 JP3912055B2 JP2001238117A JP2001238117A JP3912055B2 JP 3912055 B2 JP3912055 B2 JP 3912055B2 JP 2001238117 A JP2001238117 A JP 2001238117A JP 2001238117 A JP2001238117 A JP 2001238117A JP 3912055 B2 JP3912055 B2 JP 3912055B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- pixel
- gradation
- interest
- pixels
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/405—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
- H04N1/4051—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size
- H04N1/4052—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size by error diffusion, i.e. transferring the binarising error to neighbouring dot decisions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/13—Digital output to plotter ; Cooperation and interconnection of the plotter with other functional units
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Color, Gradation (AREA)
- Dot-Matrix Printers And Others (AREA)
- Projection-Type Copiers In General (AREA)
Description
【発明の属する技術分野】
この発明は、階調画像データを、ドット形成の有無によって表現された画像データに変換する技術に関し、詳しくは、画質を維持したまま画像データを迅速に変換する技術に関する。
【0002】
【従来の技術】
印刷媒体や液晶画面といった表示媒体上に、ドットを形成することによって画像を表現する画像表示装置は、各種画像機器の出力装置として広く使用されている。かかる画像表示装置は、局所的にはドットを形成するか否かのいずれかの状態しか表現し得ないが、画像の階調値に応じてドットの形成密度を適切に制御することによって、階調が連続的に変化する画像を表現することが可能となっている。
【0003】
これら画像表示装置において、画像の階調値に応じて適切な密度でドットが形成されるように、各画素についてドット形成の有無を判断するための手法としては、誤差拡散法と呼ばれる手法が広く使用されている。誤差拡散法は、着目画素にドットを形成したこと、あるいはドットを形成しなかったことによって生じる階調表現の誤差を、該着目画素周辺の未判断画素に拡散して記憶しておき、未判断画素についてのドット形成の有無を判断するにあたっては、周辺画素から拡散されてきた誤差を解消するようにドット形成有無を判断する手法である。このように、周辺画素で発生した階調表現の誤差を解消するようにドットの形成有無を判断するので、画像の階調値に応じた適切な密度でドット形成の有無を判断することができる。
【0004】
かかる誤差拡散法を用いれば、画像に応じて適切な密度でドットを形成することができるので高画質な画像を表示することができるものの、ドット形成の有無を判断する度に階調誤差を周辺画素に拡散しなければならないので、画像を構成する画素数が多くなると処理に時間がかかって迅速に画像を表現することが困難となる。このような問題を解決するために、所定数ずつの隣接する画素をブロックにまとめて、ブロックから隣接するブロックに誤差を拡散しながらドット形成の有無を判断する技術が提案されている(例えば、特開2000−22944号公報)。このようにブロック単位でドット形成の有無を判断すれば、処理すべき画素数が多くなっても短時間で処理を完了して、迅速に画像を表示することが可能となる。
【0005】
【発明が解決しようとする課題】
しかし、このような方法を用いた場合、表示される画質の悪化を引き起こし易いという問題がある。これは、画素を所定数ずつまとめたブロック単位でドット形成の有無を判断することは、とりもなおさず、画像の分解能を低下させることに他ならず、分解能が低下する分だけ画質が悪化し易くなっているためと考えられる。
【0006】
この発明は、従来技術における上述の課題を解決するためになされたものであり、画質を維持したまま、画像をドット形成の有無による表現形式に迅速に変換可能な技術の提供を目的とする。
【0007】
上述の課題の少なくとも一部を解決するため、本発明の画像処理装置は、次の構成を採用した。すなわち、
画像データに基づいてドットの形成有無を判断し、該判断によって生じた階調誤差を周辺の未判断画素に拡散しながら画素毎にドットの形成有無を判断することにより、各画素の階調値によって表現された画像データをドットの形成有無による表現形式の画像データに変換する画像処理装置であって、
隣接した所定数の画素をまとめてブロックを形成するブロック形成手段と、
ドットの形成有無を判断しようとする画素を含んだ着目ブロックについて、該着目ブロック内の複数の画素に割り当てられた階調値の大小関係に基づいて、該着目ブロックが所定の処理条件を満たすか否かを判断する処理条件判断手段と、
前記着目ブロックが前記所定の処理条件を満足する場合には、該着目ブロックについての前記画像データの変換をブロック単位で行い、該変換の結果、該ブロック内に生じた前記階調誤差を、周辺の未判断ブロックに拡散する第1の画像データ変換手段と、
前記着目ブロックが前記所定の処理条件を満足しない場合には、該着目ブロックを構成する画素毎に前記画像データの変換を行い、該変換の結果生じた前記階調誤差を、該着目ブロックの内か外かに関わらず、該各画素の周辺の未判断画素に拡散する第2の画像データ変換手段と
を備えることを要旨とする。
【0008】
また、上記の画像処理装置に対応する本発明の画像処理方法は、
画像データに基づいてドットの形成有無を判断し、該判断によって生じた階調誤差を周辺の未判断画素に拡散しながら画素毎にドットの形成有無を判断することにより、各画素の階調値によって表現された画像データをドットの形成有無による表現形式の画像データに変換する画像処理方法であって、
隣接した所定数の画素をまとめてブロックを形成し、
ドットの形成有無を判断しようとする画素を含んだ着目ブロックについて、該着目ブロック内の複数の画素に割り当てられた階調値の大小関係に基づいて、該着目ブロックが所定の処理条件を満たすか否かを判断し、
前記着目ブロックが前記所定の処理条件を満足する場合には、該着目ブロックについての前記画像データの変換をブロック単位で行い、該変換の結果、該ブロック内に生じた前記階調誤差を、周辺の未判断ブロックに拡散し、
前記着目ブロックが前記所定の処理条件を満足しない場合には、該着目ブロックを構成する画素毎に前記画像データの変換を行い、該変換の結果生じた前記階調誤差を、該着目ブロックの内か外かに関わらず、該各画素の周辺の未判断画素に拡散することを要旨とする。
【0009】
かかる画像処理装置および画像処理方法においては、前記着目ブロックを構成する各画素についてのドット形成の有無を判断するに際して、該着目ブロック内の複数の画素に割り当てられた階調値の大小関係に基づいて、該着目ブロックが所定の処理条件を満足するか否かを判断する。ここで、各画素の階調値としては、周辺画素からの階調誤差が拡散された階調値を検出するが、簡易的には階調誤差が拡散される前の階調値を用いることもできる。こうして所定の処理条件を満足すると判断された着目ブロックについては、画像データをドットの形成有無による表現形式に変換する処理をブロック単位で行う。かかる変換をブロック単位で行えば、その分だけ迅速に変換することが可能となる。また、所定の処理条件を満足しないと判断された着目ブロックについては、画像データをドットの形成有無による表現形式に変換する処理を、該着目ブロックを構成する画素毎に行う。画像データの変換を画素毎に行えば、画質が悪化することを回避することができる。こうして、着目ブロックが所定の処理条件を満たすか否かに応じて適切な方法で画像データを変換すれば、画質を維持したまま迅速にドット形成有無を判断することが可能となる。
【0010】
かかる画像処理装置においては、前記着目ブロック内の各画素についての階調値の総和値を求め、該総和値が所定の閾値よりも小さい場合に、前記所定の処理条件を満足すると判断してもよい。
【0011】
総和値が大きな値となるブロックは画質への影響が大きなブロックであると考えられるので、着目ブロックの総和値が所定の閾値より小さい場合には前記所定の処理条件を満足すると判断して、ブロック単位でドットの形成有無を判断すれば、画質を悪化させることなく迅速に画像データを変換することが可能となる。また、着目ブロックについての前記総和値は容易に算出することができるので、該総和値に基づいて判断すれば、該着目ブロックが所定の処理条件を満足するか否かを簡便に判断することができ、延いてはドット形成の有無を迅速に判断することが可能となるので好適である。もちろん、着目ブロック内の各画素についての階調値の総和値に変えて、各画素の階調値の平均値を用いることも可能である。
【0012】
尚、総和値を求めるための階調値としては、各画素に拡散されてきた階調誤差を考慮した階調値が使用される。通常、ドットの形成有無の判断は、周辺画素から拡散されてきた階調誤差が考慮された階調値に基づいて行われるので、かかる階調値から総和値を求めれば、画像データの変換方法をより適切に使い分けることが可能となる。もっとも、簡易的には階調誤差が拡散されていない階調値を用いることも可能である。
【0013】
上述の画像処理装置においては、前記着目ブロック内に、隣接する画素間の前記階調値の差が所定値以上となる画素がある場合、該着目ブロックは前記所定の処理条件を満たさないと判断して、画素毎にドットの形成有無を判断することとしてもよい。
【0014】
あるいは、かかる画像処理装置においては、前記着目ブロック内で最も大きな階調値と最も小さな階調値との差が所定値以上の場合に、該着目ブロックは前記所定の処理条件を満たさないと判断して、画素毎にドットの形成有無を判断することとしてもよい。
【0015】
画像中で輪郭部分を表示している部分では、画素間の階調値が大きくなる傾向がある。そこで、こうした方法により、着目ブロックが輪郭部分に相当するか否かを判断して、輪郭部分に該当している場合には画素毎にドットの形成有無を判断すれば、輪郭部分の解像度を低下させることなく適切に画像データを変換することができるので好適である。尚、こうした判断に用いられる階調値としては、周辺画素からの階調誤差が拡散された階調値が用いられるが、もちろん簡易的には階調誤差が拡散される前の階調値を用いることもできる。
【0016】
上述した画像処理装置においては、前記所定の処理条件を満足する前記着目ブロックについては、各画素についてのドット形成有無を着目ブロック単位で判断し、判断によって各画素に生じた階調誤差を、前記着目ブロックに隣接するブロックの未判断画素に拡散させることとしてもよい。
【0017】
こうして、着目ブロックについてのドット形成有無の判断をブロック単位で行えば、ドットの形成有無の判断を画素毎に行う場合よりも迅速に判断することが可能となって好ましい。
【0018】
こうした画像処理装置においては、ドット形成有無の判断をブロック単位で行う場合に、前記着目ブロック内の各画素についての階調値の総和値を算出し、該総和値に応じた所定数の画素にドットを形成すると判断することとしてもよい。
【0019】
こうすれば、該着目ブロックについて迅速にドットの形成有無を判断することが可能となる。しかも、該着目ブロック全体としてみれば、各画素の階調値に応じた適切な密度でドットを形成することができるので好適である。尚、各画素の階調としては、周辺画素からの階調誤差が拡散された階調値を好適に用いることができるが、簡易的には誤差の拡散される前の階調値を用いることも可能である。
【0020】
更に、かかる画像処理装置においては、ドット形成有無の判断をブロック単位で行う場合に、前記総和値に応じて、前記着目ブロック内の所定位置の画素にドットを形成すると判断してもよい。
【0021】
こうして、着目ブロックを構成する各画素に所定数のドットを形成する場合に、ドットを形成する画素の位置を予め定めておけば、該着目ブロック内で所定数のドットを形成する処理を迅速に行うことができるので好適である。
【0022】
あるいは、こうした画像処理装置においては、ドット形成有無の判断をブロック単位で行う場合に、前記着目ブロック内で階調値の大きい画素から順番に、前記所定数の画素にドットを形成すると判断してもよい。
【0023】
こうして階調値の大きい順にドットを形成することとすれば、着目ブロック内の各画素について迅速にドット形成有無を判断することができ、しかも各画素の階調値に応じた適切な画素にドットを形成することができるので好適である。尚、かかる階調値としては、階調誤差の拡散された階調値を好適に用いることができるが、簡易的には階調誤差が拡散される前の階調値で代用することも可能である。
【0024】
かかる画像処理装置においては、ドット形成有無の判断をブロック単位で行う場合に、前記着目ブロック内でドットを形成する画素の位置を毎回選択して、前記所定数の画素にドットを形成すると判断してもよい。
【0025】
こうすれば、前記総和値に応じてドットを所定数づつ形成する着目ブロックが連続する場合でも、ドットが規則的に形成されることによって画質が悪化するおそれがないので好適である。
【0026】
更には、こうした画像処理装置においては、前記総和値が所定値以下である場合には、該着目ブロック内の画素にはドットを形成しないと判断してもよい。
【0027】
こうすれば、予め適切な所定値を設定しておくだけで、着目ブロックについてのドット形成有無の判断を迅速に行うことが可能となるので好ましい。
【0028】
かかる画像処理装置においては、次のようにして、ドット形成有無の判断をブロック単位で行うこととしてもよい。前記着目ブロック内の各画素について、
前記拡散される階調誤差を考慮せずに各階調値の総和を求める。次いで、連続した該着目ブロックの総和が、いずれも0となる場合には、該連続した着目ブロックの後続する側のブロックに拡散される前記階調誤差を初期化する。
【0029】
着目ブロック内の階調値の総和が連続して0となる場合、かかる部分は表示すべき画像が存在しない部分であると考えられる。従って、着目ブロック内の階調値の総和が連続している場合に、後続する側の着目ブロックに拡散される階調誤差を初期化すれば、拡散されてきた階調誤差に起因して画像の存在しない部分にドットを形成おそれがなくなるので好ましい。
【0036】
あるいは、上述した画像処理装置においては、前記着目ブロックについてのドット形成有無の判断を、次のようにしてブロック単位で行うこととしてもよい。すなわち、該着目ブロック内の各画素で生じた前記階調誤差を、該着目ブロック内の隣接する未判断画素に拡散させながら、各画素についてのドットの形成有無を判断することによって、前記画像データの変換をブロック単位で行うこととしてもよい。
【0037】
こうして、各画素で生じた階調誤差を拡散しながらドットの形成有無を判断すれば、誤差を拡散させる分だけ高画質に画像データを変換することができる。また、階調誤差をブロック内に限ることにより、着目ブロック内でのドット形成有無の判断を迅速に行うことができる。結局、着目ブロックについて、画質を悪化させることなく迅速に画像データを変換することが可能となるので好ましい。
【0038】
上述した本願の画像処理装置および画像処理方法においては、前記着目ブロックについてのドット形成有無の判断を、次のようにしてブロック単位で行うこととしてもよい。すなわち、ドット形成有無の判断によって該着目ブロック内の各画素で生じた階調誤差の総和たるブロック誤差を求め、得られた該ブロック誤差を、該着目ブロックに隣接するブロック内の未判断画素に拡散することとしてもよい。
【0039】
こうして、着目ブロックに隣接するブロック内の各画素に拡散される階調誤差を、ブロック単位でまとめて拡散することとすれば、隣接するブロック内の各画素に個別に拡散する場合よりも迅速に拡散することができる。その結果、画像データをドット形成有無による表現形式に変換する処理を迅速に行うことが可能となるので好ましい。
【0040】
かかる画像処理装置においては、前記ブロック誤差を、前記着目ブロック内の各画素についてのドット形成有無の判断結果と、隣接するブロックから拡散された前記階調誤差および該各画素の階調値の総和とに基づいて求めることとしてもよい。
【0041】
こうすれば、前記着目ブロック内の各画素毎に階調誤差を求める必要がないので、前記ブロック誤差を迅速に求めることが可能であり、延いては、ドット形成有無の判断を迅速に行うことができるので好ましい。
【0042】
かかる画像処理装置においては、着目ブロック内で生じた階調誤差を、隣接するブロックにブロック単位で拡散させるに際して、前記ブロック誤差を該隣接するブロック内の各画素に所定の比率で拡散することとしてもよい。
【0043】
こうすれば、着目ブロックで生じたブロック誤差を隣接するブロック内の各画素に迅速に拡散することができるので好ましい。
【0044】
あるいは、前記ブロック誤差を、隣接するブロック内の所定位置の画素に拡散することとしてもよい。
【0045】
こうしてブロック誤差を拡散する画素位置を予め固定しておけば、階調誤差を拡散する処理を簡素なものとすることができ、その分だけ、処理を迅速化することが可能となるので好ましい。尚、隣接するブロック内の所定位置の画素としては、単独の画素とすることもできるが、これに限らず、複数の画素に所定比率でブロック誤差を拡散することとしてもよい。
【0046】
また、上述した本願の画像処理装置においては、縦横2列に並んだ4つの画素をまとめて、前記ブロックとしてもよい。
【0047】
このように、縦横2列に並んだ4つの画素をまとめてブロックを形成すれば、該ブロック内の画素間で階調誤差を拡散させることなくドット形成の有無を判断することによって、画質をできるだけ悪化させることなく、迅速に判断することができるので好適である。
【0048】
また、印刷媒体上にインクドットを形成して画像を印刷する印刷部に対して、ドットの形成を制御するための印刷データを出力することにより、該印刷部を制御する印刷制御装置においては、本発明の画像処理装置を好適に適用することができる。すなわち、上述の画像処理装置は、画質を維持したまま画像データをドット形成の有無による表現形式に迅速に変換することができるので、かかる印刷制御装置に上述の画像処理装置を適用すれば高画質の画像を迅速に印刷することが可能となって好適である。
【0049】
また、本発明は、上述した画像処理方法を実現するプログラムをコンピュータに読み込ませ、コンピュータを用いて実現することも可能である。従って、本発明は次のような記録媒体としての態様も含んでいる。すなわち、上述の画像処理方法に対応する本発明の記録媒体は、
画像データに基づいてドットの形成有無を判断し、該判断によって生じた階調誤差を周辺の未判断画素に拡散しながら画素毎にドットの形成有無を判断することにより、各画素の階調値によって表現された画像データをドットの形成有無による表現形式の画像データに変換する方法を実現させるプログラムを、コンピュータで読み取り可能に記録した記録媒体であって、
隣接した所定数の画素をまとめてブロックを形成する機能と、
ドットの形成有無を判断しようとする画素を含んだ着目ブロックについて、該着目ブロック内の複数の画素に割り当てられた階調値の大小関係に基づいて、該着目ブロックが所定の処理条件を満たすか否かを判断する機能と、
前記着目ブロックが前記所定の処理条件を満足する場合には、該着目ブロックについての前記画像データの変換をブロック単位で行い、該変換の結果、該ブロック内に生じた前記階調誤差を、周辺の未判断ブロックに拡散する機能と、
前記着目ブロックが前記所定の処理条件を満足しない場合には、該着目ブロックを構成する画素毎に前記画像データの変換を行い、該変換の結果生じた前記階調誤差を、該着目ブロックの内か外かに関わらず、該各画素の周辺の未判断画素に拡散する機能と
を実現するプログラムを記録していることを要旨とする。
【0050】
こうした記録媒体においては、前記着目ブロックが所定の処理条件を満たすか否かの判断にあたって、該着目ブロック内で最も大きな階調値と最も小さな階調値との差が所定値以上の場合に、該着目ブロックは前記所定の処理条件を満足しないと判断する機能を実現するプログラムを記録することとしてもよい。
【0051】
更には、こうした記録媒体においては、前記所定の処理条件を満足する着目ブロックについて前記画像データをブロック単位で変換する機能として、前記着目ブロック内の各画素についてのドット形成有無を、該着目ブロック単位で判断する機能と、前記判断によって各画素に生じた階調誤差を、前記着目ブロックに隣接するブロックの未判断画素に拡散させる機能とを実現するプログラムを記録しておいてもよい。
【0052】
あるいは、かかる記録媒体においては、前記所定の処理条件を満足する着目ブロックについて前記画像データをブロック単位で変換する機能として、前記着目ブロック内の各画素について、ドットの形成有無を判断する機能と、前記判断によって前記着目ブロック内の各画素に生じた階調誤差の総和たるブロック誤差を求め、得られた該ブロック誤差を、該着目ブロックに隣接するブロック内にあってドット形成有無が未判断の画素に拡散する機能とを実現するプログラムを記録しておいてもよい。
【0053】
これら記録媒体に記録されているプログラムをコンピュータに読み込ませ、該コンピュータを用いて上述の各種機能を実現すれば、画質を維持したまま、画像データをドット形成の有無による表現形式に迅速に変換することが可能となる。
【0054】
更には、本発明は、上述した各種の画像処理方法をコンピュータを用いて実現するプログラムとして把握することも可能である。すなわち、上述の画像処理方法に対応する本願のプログラムは、
画像データに基づいてドットの形成有無を判断し、該判断によって生じた階調誤差を周辺の未判断画素に拡散しながら画素毎にドットの形成有無を判断することにより、各画素の階調値によって表現された画像データをドットの形成有無による表現形式の画像データに変換する方法を、コンピュータを用いて実現するプログラムであって、
隣接した所定数の画素をまとめてブロックを形成する機能と、
ドットの形成有無を判断しようとする画素を含んだ着目ブロックについて、該着目ブロック内の複数の画素に割り当てられた階調値の大小関係に基づいて、該着目ブロックが所定の処理条件を満たすか否かを判断する機能と、
前記着目ブロックが前記所定の処理条件を満足する場合には、該着目ブロックについての前記画像データの変換をブロック単位で行い、該変換の結果、該ブロック内に生じた前記階調誤差を、周辺の未判断ブロックに拡散する機能と、
前記着目ブロックが前記所定の処理条件を満足しない場合には、該着目ブロックを構成する画素毎に前記画像データの変換を行い、該変換の結果生じた前記階調誤差を、該着目ブロックの内か外かに関わらず、該各画素の周辺の未判断画素に拡散する機能と
を実現することを要旨とする。
【0055】
こうした本願のプログラムにおいては、前記所定の処理条件を満足する着目ブロックについて前記画像データをブロック単位で変換する機能として、前記着目ブロック内の各画素についてのドット形成有無を、該着目ブロック単位で判断する機能と、前記判断によって各画素に生じた階調誤差を、前記着目ブロックに隣接するブロックの未判断画素に拡散させる機能とをコンピュータを用いて実現することとしてもよい。
【0056】
あるいは本願のプログラムにおいては、前記所定の処理条件を満足する着目ブロックについて前記画像データをブロック単位で変換する機能として、前記着目ブロック内の各画素について、ドットの形成有無を判断する機能と、前記判断によって前記着目ブロック内の各画素に生じた階調誤差の総和たるブロック誤差を求め、得られた該ブロック誤差を、該着目ブロックに隣接するブロック内にあってドット形成有無が未判断の画素に拡散する機能とをコンピュータを用いて実現することとしてもよい。
【0057】
【発明の実施の形態】
本発明の作用・効果をより明確に説明するために、本発明の実施の形態を、次のような順序に従って以下に説明する。
A.実施の形態:
B.装置構成:
C.画像データ変換処理の概要:
D.階調数変換処理:
D−1.ハイライト領域の処理:
D−2.過渡的なハイライト領域の処理:
D−3.中間階調以上の領域の処理:
E.変形例:
E−1.第1の変形例:
E−2.第2の変形例:
E−3.第3の変形例:
【0058】
A.実施の形態:
図1を参照しながら、本発明の実施の形態について説明する。図1は、印刷システムを例にとって、本発明の実施の形態を説明するための説明図である。本印刷システムは、画像処理装置としてのコンピュータ10と、カラープリンタ20等から構成されている。コンピュータ10は、デジタルカメラやカラースキャナなどの画像機器からRGBカラー画像の階調画像データを受け取ると、該画像データを、カラープリンタ20で印刷可能な各色ドットの形成有無により表現された印刷データに変換する。かかる画像データの変換は、プリンタドライバ12と呼ばれる専用のプログラムを用いて行われる。尚、RGBカラー画像の階調画像データは、各種アプリケーションプログラムを用いてコンピュータ10で作成することもできる。
【0059】
プリンタドライバ12は、解像度変換モジュール,色変換モジュール,階調数変換モジュール,インターレースモジュールといった複数のモジュールから構成されている。階調画像データをドット形成の有無による表現形式に変換する処理は、階調数変換モジュールで行われる。他の各モジュールで行われる処理については後述する。カラープリンタ20は、これら各モジュールで変換された印刷データに基づいて、印刷媒体上に各色インクドットを形成することによってカラー画像を印刷する。
【0060】
本発明の印刷システムにおける階調数変換モジュールは、所定数の画素をブロックにまとめてブロック単位でドット形成の有無を判断するが、複数の判断モードを有している。図1の階調数変換モジュールには、代表的な2つの判断モードのみを概念的に表示している。図1の階調数変換モジュール内の左側に示した判断モードは、ブロック内の各画素を区別することなく、着目ブロックをあたかも大きな画素のように扱ってドット形成有無を判断するモードである。また、図1の階調数変換モジュール内の右側に示した判断モードは、ブロック単位で処理しながらも、着目ブロック内の画素間で階調誤差を拡散させながらドット形成有無を判断するモードである。これら各判断モードについては後述する。着目ブロックの処理を開始するにあたって処理条件を判断し、適切な判断モードを用いてドット形成の有無を判断する。判断方法の詳細については後述する。
【0061】
このように、本発明の階調数変換モジュールは、ドット形成有無の判断を迅速に行うためにブロック単位で処理しながらも、ブロック毎に適切な判断モードを使い分けている。このため、画質を維持したまま、迅速な処理を行うことが可能となっている。以下、このような画像処理方法について、実施例に基づき詳細に説明する。
【0062】
B.装置構成:
図2は、本実施例の画像処理装置としてのコンピュータ100の構成を示す説明図である。コンピュータ100は、CPU102を中心に、ROM104やRAM106などを、バス116で互いに接続して構成された周知のコンピュータである。
【0063】
コンピュータ100には、フレキシブルディスク124やコンパクトディスク126のデータを読み込むためのディスクコントローラDDC109や、周辺機器とデータの授受を行うための周辺機器インターフェースP・I/F108、CRT114を駆動するためのビデオインターフェースV・I/F112等が接続されている。P・I/F108には、後述するカラープリンタ200や、ハードディスク118等が接続されている。また、デジタルカメラ120や、カラースキャナ122等をP・I/F108に接続すれば、デジタルカメラ120やカラースキャナ122で取り込んだ画像を印刷することも可能である。また、ネットワークインターフェースカードNIC110を装着すれば、コンピュータ100を通信回線300に接続して、通信回線に接続された記憶装置310に記憶されているデータを取得することもできる。
【0064】
図3は、第1実施例のカラープリンタ200の概略構成を示す説明図である。カラープリンタ200はシアン,マゼンタ,イエロ,ブラックの4色インクのドットを形成可能なインクジェットプリンタである。もちろん、これら4色のインクに加えて、染料濃度の低いシアン(淡シアン)インクと染料濃度の低いマゼンタ(淡マゼンタ)インクとを含めた合計6色のインクドットを形成可能なインクジェットプリンタを用いることもできる。尚、以下では場合によって、シアンインク,マゼンタインク,イエロインク,ブラックインク,淡シアンインク,淡マゼンタインクのそれぞれを、Cインク,Mインク,Yインク,Kインク,LCインク,LMインクと略称するものとする。
【0065】
カラープリンタ200は、図示するように、キャリッジ240に搭載された印字ヘッド241を駆動してインクの吐出およびドット形成を行う機構と、このキャリッジ240をキャリッジモータ230によってプラテン236の軸方向に往復動させる機構と、紙送りモータ235によって印刷用紙Pを搬送する機構と、ドットの形成やキャリッジ240の移動および印刷用紙の搬送を制御する制御回路260とから構成されている。
【0066】
キャリッジ240には、Kインクを収納するインクカートリッジ242と、Cインク,Mインク,Yインクの各種インクを収納するインクカートリッジ243とが装着されている。キャリッジ240にインクカートリッジ242,243を装着すると、カートリッジ内の各インクは図示しない導入管を通じて、印字ヘッド241の下面に設けられた各色毎のインク吐出用ヘッド244ないし247に供給される。各色毎のインク吐出用ヘッド244ないし247には、48個のノズルNz が一定のノズルピッチkで配列されたノズル列が1組ずつ設けられている。
【0067】
制御回路260は、CPU261とROM262とRAM263等から構成されており、キャリッジモータ230と紙送りモータ235の動作を制御することによってキャリッジ240の主走査と副走査とを制御するとともに、コンピュータ100から供給される印刷データに基づいて、各ノズルから適切なタイミングでインク滴を吐出する。こうして、制御回路260の制御の下、印刷媒体上の適切な位置に各色のインクドットを形成することによって、カラープリンタ200はカラー画像を印刷することができる。
【0068】
尚、各色のインク吐出ヘッドからインク滴を吐出する方法には、種々の方法を適用することができる。すなわち、ピエゾ素子を用いてインクを吐出する方式や、インク通路に配置したヒータでインク通路内に泡(バブル)を発生させてインク滴を吐出する方法などを用いることができる。また、インクを吐出する代わりに、熱転写などの現象を利用して印刷用紙上にインクドットを形成する方式や、静電気を利用して各色のトナー粉を印刷媒体上に付着させる方式のプリンタを使用することも可能である。
【0069】
更には、吐出するインク滴の大きさを制御したり、あるいは一度に複数のインク滴を吐出して、吐出するインク滴の数を制御することにより、印刷用紙上に形成されるインクドットの大きさを制御可能な、いわゆるバリアブルドットプリンタを使用することもできる。
【0070】
以上のようなハードウェア構成を有するカラープリンタ200は、キャリッジモータ230を駆動することによって、各色のインク吐出用ヘッド244ないし247を印刷用紙Pに対して主走査方向に移動させ、また紙送りモータ235を駆動することによって、印刷用紙Pを副走査方向に移動させる。制御回路260は、印刷データに従って、キャリッジ240の主走査および副走査を繰り返しながら、適切なタイミングでノズルを駆動してインク滴を吐出することによって、カラープリンタ200は印刷用紙上にカラー画像を印刷している。
【0071】
C.画像データ変換処理の概要:
図4は、本実施例の画像処理装置としてのコンピュータ100が、受け取った画像データに所定の画像処理を加えることによって、画像データを印刷データに変換する処理の流れを示すフローチャートである。かかる処理は、コンピュータ100のオペレーティングシステムがプリンタドライバ12を起動することによって開始される。以下、図4に従って、本実施例の画像データ変換処理について簡単に説明する。
【0072】
プリンタドライバ12は、画像データ変換処理を開始すると、先ず初めに、変換すべきRGBカラー画像データの読み込みを開始する(ステップS100)。次いで、取り込んだ画像データの解像度を、カラープリンタ200が印刷するための解像度に変換する(ステップS102)。カラー画像データの解像度が印刷解像度よりも低い場合は、線形補間を行うことで隣接する画像データ間に新たなデータを生成し、逆に印刷解像度よりも高い場合は一定の割合でデータを間引くことによって、画像データの解像度を印刷解像度に変換する。
【0073】
こうして解像度を変換すると、カラー画像データの色変換処理を行う(ステップS104)。色変換処理とは、R,G,Bの階調値の組み合わせによって表現されているカラー画像データを、C,M,Y,Kなどのカラープリンタ200で使用する各色の階調値の組み合わせによって表現された画像データに変換する処理である。色変換処理は、色変換テーブルと呼ばれる3次元の数表を参照することで迅速に行うことができる。
【0074】
プリンタドライバ12は、色変換処理に続いて階調数変換処理を開始する(ステップS106)。階調数変換処理とは次のような処理である。色変換処理によって、RGB画像データはC,M,Y,K各色の階調データに変換されている。これら各色の階調データは、階調値0から255の256階調を有するデータである。これに対し、本実施例のカラープリンタ200は、「ドットを形成する」,「ドットを形成しない」のいずれかの状態しか採り得ない。そこで、256階調を有する各色の階調データを、カラープリンタ200が表現可能な2階調で表現された画像データに変換する必要がある。このような階調数の変換を行う処理が階調数変換処理である。後述するように、本実施例のプリンタドライバ12は、画素を所定数ずつブロックにまとめ、ブロック単位で階調数変換処理を行うことによって迅速な処理を可能としつつ、ブロック内の各画素の階調データに応じて適切な方法でドット形成有無を判断することによって、画質の維持と高速処理との両立を図っている。
【0075】
こうして階調数変換処理を終了したら、プリンタドライバはインターレース処理を開始する(ステップS108)。インターレース処理とは、ドットの形成有無を表す形式に変換された画像データを、ドットの形成順序を考慮しながらカラープリンタ200に転送すべき順序に並べ替える処理である。プリンタドライバ12は、インターレース処理を行って最終的に得られた画像データを、印刷データとしてカラープリンタ200に出力する(ステップS110)。カラープリンタ200は、印刷データに従って、各色のインクドットを印刷媒体上に形成する。その結果、画像データに対応したカラー画像が印刷媒体上に印刷される。
【0076】
D.本実施例の階調数変換処理:
図5は、本実施例の階調数変換処理の流れを示すフローチャートである。この処理は、コンピュータ100のCPU102によって行われる。尚、本実施例のカラープリンタ200は、前述したようにC,M,Y,Kの4色のインクドットを形成可能なプリンタであり、図5に示す階調数変換処理も各色毎に行っているが、説明の煩雑化を避けるために、以下では色を特定せずに説明する。
【0077】
処理を開始すると、先ず初めに、ブロックの位置を設定する(ステップS200)。すなわち、本実施例の階調数変換処理においては、隣接する所定数の画素をブロックにまとめて、ブロック単位で各画素のドット形成有無を判断しているので、先ず初めに、画像中でドットの形成有無を判断しようとする着目ブロックの位置を設定するのである。
【0078】
図6は、画像中で着目ブロックの位置を設定している様子を概念的に示した説明図である。図6中に、複数表示されている小さな正方形は、画素を概念的に表示したものである。図6に示すように、画像は格子状に配列された複数の画素によって構成されている。4つの画素を囲む太い破線は、ドット形成の有無を判断するために設定された着目ブロックを表している。説明の便宜上、ブロックを構成する4つの画素の中、左上の画素を「Pa 」、右上の画素を「Pb 」、左下の画素を「Pc 」、右下の画素を「Pd 」と呼んで区別するものとする。尚、以下では、ブロックは縦横2列に並んだ4つの画素で構成されているものとして説明するが、もちろん、このような構成のブロックに限定されるものではなく、例えば、縦横3列に並んだ9つの画素で構成されているものとしてもよく、更には、横1列に並んだ複数の画素で構成されているものとしても良い。
【0079】
本実施例の階調数変換処理は、こうして設定された着目ブロック単位で階調数変換処理を行うが、このことにより画質の悪化を招かないように、着目ブロックが画像中でどのような領域であるかを判断し、それによって適切な処理を行っている。すなわち、着目ブロックが画像中で明度の高い(明るい)ハイライト領域にあるのか、それよりもやや明度が低いが、中間階調領域ほどではない過渡的な領域にあるのか、更には中間階調以上の明度の低い領域にあるのかを判断して、領域に応じて適切な処理を行っている。以下では、これら領域毎に説明する。
【0080】
D−1.ハイライト領域の処理:
画像中に着目ブロックを設定したら、その着目ブロックを構成する各画素の画像データの読み込みを行う(図5のステップS202)。ここで読み込まれるのは、色変換されてRAM106に記憶されているC,M,Y,K各色の階調データである。
【0081】
次いで、読み込んだ画像データの総和を算出する(ステップS204)。すなわち、着目ブロックを構成する4つの画素、すなわち画素Pa 、画素Pb 、画素Pc 、画素Pd の階調値をそれぞれDTa 、DTb 、DTc 、DTd とすると、
S = DTa +DTb +DTc +DTd ・・・(1)
によって、総和Sを算出する。より一般的に着目ブロックが、縦横n行m列のマトリックス状に並んだ画素から構成されているものとすれば、総和Sは、
S = Σ(DTij)
によって算出することができる。ここで、iは1〜nの整数値、jは1〜mの整数値である。
【0082】
こうして得られた総和Sの値が「0」か否かを判断する(ステップS206)。ここで、各画素の階調値は0から255の値しか取り得ないから、総和Sが「0」となるのは、着目ブロックを構成する画素の階調値がすべて「0」の場合だけである。すなわち、ステップS206では、着目ブロックが階調値0の画素のみで構成されているか否かを判断している。着目ブロックが階調値0の画素のみで構成されている場合(ステップS206:yes)は、該着目ブロックを構成する全画素について、ドットを形成しないと判断する(ステップS212)。
【0083】
着目ブロックを構成する画素の中に、1つでも階調値が0でない画素が含まれている場合(ステップS206:no)は、着目ブロックについての補正データBx を算出する(ステップS208)。着目ブロックの補正データBx は、先に算出した総和Sと、着目ブロックを構成する各画素に周辺から拡散されてきた拡散誤差とを加算して求めることができる。着目ブロックを構成する4つの画素、すなわち画素Pa 、画素Pb 、画素Pc 、画素Pd に拡散されてきた拡散誤差をそれぞれEDa 、EDb 、EDc 、EDd とすると、着目ブロックの補正データBx は、
Bx = S+ETa +ETb +ETc +ETd ・・・(2)
によって求めることができる。周辺の画素から、いかにして誤差が拡散されてくるかについては後述する。各画素に拡散されてきた拡散誤差は、画素毎にRAM106に記憶されているので、ステップS208においては、これらの拡散誤差を読み出して補正データBx を算出するのである。尚、各画素の拡散誤差は、先にステップS202で各画素の階調値を読み出したときに、同時に読み出しておいても構わない。
【0084】
次いで、求めた補正データBx と所定の閾値th1 とを比較する(ステップS210)。そして、補正データBx の方が閾値th1 よりも小さい場合、すなわち、着目ブロックを構成する全画素の階調値が「0」というわけではないが、補正データBx の値が小さい場合は、その着目ブロックの各画素にはドットを形成しないものと判断する(ステップS212)。
【0085】
ステップS210において、補正データBx が閾値th1 よりも大きい場合は、更に所定の閾値th2 との比較を行う(ステップS214)。ここで、閾値th2 と閾値th1 とは、th1 <th2 の関係が成り立つように設定されている。補正データBx の値が閾値th2 よりは小さい場合、すなわち、閾値th1 よりは大きいが閾値th2 よりは小さい場合(ステップS214:no)は、着目ブロックを構成する画素の中の1画素にのみ、ドットを形成すると判断する(ステップS216)。
【0086】
図7は、着目ブロックを構成する4つの画素の中の1画素にのみ、ドットを形成している様子を示している。着目ブロック中の1画素のみにドットを形成する場合、ドットの形成位置は、図示するように4つの場合を取り得るが、本実施例では、常に着目ブロックの左上の画素にドットを形成するものとする(図7(a)参照)。こうすれば、処理が簡素化されるので、それだけドット形成有無の判断を迅速に行うことができる。もちろん、図7(a)ないし図7(d)に示す4つの状態をランダムに選択しても良い。あるいは、着目ブロックを構成する画素の中で、階調値の最も大きな画素にドットを形成するものとしても良い。
【0087】
尚、本実施例の階調数変換モジュールでは、補正データBx の値が閾値th2 よりも小さい場合には、ブロック中の1画素にのみドットを形成し、閾値th2 より大きい場合には、ブロック内で誤差を拡散しながらドット形成の有無を判断するものとした。もっとも、閾値th2 よりも大きな閾値thを設けておき、補正データBx の値が閾値th2 よりは大きいが閾値thよりも小さい場合には、ブロック内の2画素にドットを形成することとしても良い。図8に一例を示すように、ドットを形成する画素位置は種々の組合せを取りうるが、固定した位置にドットを形成しても、ランダムに変更しても良く、更には階調値の大きな画素から順番にドットを形成するものとしても良い。
【0088】
着目ブロックの補正データBx の値が閾値th2 より小さい場合には、画像の中でも明度の高い(明るい)部分、すなわちハイライト領域を処理しているものと考えられ、ドットはまばらに形成されるに過ぎない。このような部分では、上述したように、ブロック全体の補正データBx に基づいてドット形成の有無を判断しても、画質が悪化することはない。また、このようにまばらにドットが形成されていれば、たとえドットが形成される位置が1画素分ずれたとしても、画質が悪化するおそれはない。従って、このようにして処理を簡素化すれば、画質を維持したまま、ドット形成の有無を迅速に判断することが可能となる。
【0089】
D−2.過渡的なハイライト領域の処理:
ステップS214において、着目ブロックの補正データBx の値が閾値th2 よりも大きい場合は、ハイライト領域ではないが、中間階調領域ほどには明度が低く(暗く)ない、過渡的なハイライト領域を処理していると考えられる。このような部分については画質を維持するために、階調誤差を着目ブロック内の他の画素に拡散させながら、画素毎にドット形成の有無を判断する。また、本実施例の階調数変換処理においては画質の更なる向上を図るため、中間階調以上の領域を処理する場合は、過渡的なハイライト領域とは異なる処理を行う。そこで、ステップS214において補正データBx の値が閾値th2 よりも大きいと判断された場合には、更に所定の閾値th3 と大小関係の比較を行う(ステップS218)。ここで、閾値th3 の値は、th2 <th3 の関係が成り立つ適切な値に設定されている。着目ブロックの補正データBx の値が閾値th3 よりは小さいと判断された場合には、着目ブロックは過渡的なハイライト領域にあると考えられるので、次のようにして着目ブロック内で誤差を拡散させながら、画素毎にドット形成の有無を判断する(ステップS220)。
【0090】
図9は、着目ブロック内の画素毎にドット形成の有無を判断する方法を概念的に示した説明図である。図9(a)に示した4つの正方形は、着目ブロックを構成する4つの画素を示している。また、図10は処理の流れを示すフローチャートである。以下、図9および図10を参照しながら、画素毎にドット形成の有無を判断する処理について説明する。
【0091】
ドット形成有無を判断する処理を開始すると、先ず初めに、処理しようとする画素についての階調値および拡散誤差を読み込む(図10のステップS300)。画素の階調値とは、色変換処理されてRAM106に記憶されている各色の画像データである。また、拡散誤差とは、周辺の画素から拡散されてきてRAM106に記憶されている誤差である。拡散誤差が、どのようにして周辺の画素から拡散されて来るかについては後述する。図9(a)の画素Pa を示す正方形の中にDTa ,EDa と表示されているのは、階調値DTa と拡散誤差EDa とが画素Pa に対応付けられてRAM106に記憶されていることを模式的に示したものである。ここでは、着目ブロックの左上の画素Pa から処理を開始するものとして、画素Pa の階調値DTa と拡散誤差EDa とを読み出す。
【0092】
次いで、読み出した階調値と拡散誤差とを加算することによって、画素Pa の補正データCx を算出し(ステップS302)、算出した補正データCx と所定の閾値thとの大小関係を判断する(ステップS304)。補正データCx の方が大きければ、画素Pa にはドットを形成すると判断し(ステップS306)、そうでなければ、画素Pa にはドットを形成しないと判断する(ステップS308)。判断の結果は、各画素についての判断結果を示す変数に蓄えておく。
【0093】
こうして画素Pa についてのドット形成有無を判断したら、判断に伴って生じる階調誤差を算出する(ステップS310)。階調誤差は、ドットを形成したこと、あるいはドットを形成しなかったことによって、その画素に表現される階調値(以下では、この階調値を結果値と呼ぶ)を、その画素の階調値から減算することによって算出することができる。
【0094】
こうして得られた階調誤差を、同じブロック内にある周辺の未判断画素に拡散させる(ステップS312)。図9(a)を参照すれば明らかなように、画素Pa についてドット形成有無を判断すると、同じブロック内には、画素Pb と画素Pc と画素Pd の3つの画素が未判断画素として残っている。そこで、ステップS312においては、画素Pa で生じた階調誤差をこれら3つの画素に1/3ずつ均等に分配して、各画素に記憶されている拡散誤差に加算する。例えば、画素Pb には既に拡散誤差EDb がRAM106上に記憶されているので、この値に、画素Pa から分配されてきた誤差(画素Pa で生じた階調誤差の1/3)を加算して、新たな拡散誤差EDb としてRAM106上に記憶する。他の画素Pc および画素Pd についても同様な処理を行う。図10のステップS312では、以上のような処理を行う。尚、階調誤差は、必ずしも周辺の未判断画素に均等に分配する必要はなく、各画素に所定の割合で分配しても構わない。図9(a)中で画素Pa から他の3つ画素に向かって表示されている矢印は、画素Pa で生じた誤差がこれら3つの画素に拡散されることを概念的に示したものである。
【0095】
以上のようにして画素Pa についてのドット形成有無を判断したら、着目ブロックのすべての画素について判断を終了したか否かを判断し(図10のステップS314)、全画素の処理が終了していなければ、次の新たな画素についてのドット形成有無の判断を開始する。
【0096】
画素Pa についてのドット形成有無を判断したら、次は画素Pb についての判断を開始する。画素Pb についての判断は画素Pa についての判断とほぼ同様に行うことができる。図9(b)は、画素Pb についてのドット形成有無を判断している様子を概念的に示した説明図である。画素Pa に斜線が施されているのは、既にドット形成有無を判断済みであることを示している。画素Pb についてのドット形成有無の判断を開始すると、先ず初めに画素Pb の階調値と画素Pb に拡散されて記憶されている拡散誤差EDb を読み出して、画素Pb についての補正データCxbを算出する。ここで読み出す画素Pb の拡散誤差EDb は、画素Pb に対応付けて記憶されていた元々の拡散誤差に、画素Pa から拡散されてきた誤差を加算して得られた新たな拡散誤差EDb である。画素Pb についての補正データCxbは、階調値DTb と拡散誤差EDb とを加算して求めることができる。こうして得られた補正データCxbと所定の閾値thとを比較することにより、画素Pb についてのドット形成有無を判断し、判断によって生じる階調誤差を算出する。
【0097】
以上のようにして得られた画素Pb の階調誤差を、着目ブロック内の未判断画素に拡散させる。図9(b)に示しように、画素Pa については既にドット形成有無を判断済みであるので、画素Pb で生じた階調誤差は画素Pc と画素Pd の2つの画素に1/2ずつ拡散される。もちろん、所定の割合で誤差を拡散させても構わない。
【0098】
画素Pb についてのドット形成有無を判断したら、次は画素Pc についての判断を開始する。図9(c)は画素Pc についてのドット形成有無を判断する様子を概念的に示した説明図である。画素Pc についてのドット形成有無を開始する時点では、画素Pc に対応付けて記憶されている拡散誤差EDc には、元々記憶されていた拡散誤差に加えて、画素Pa からの誤差と画素Pb からの誤差とが加算されている。画素Pc についてのドット形成有無を判断するにあたっては、これらの誤差が加算された拡散誤差EDc と階調値DTc と加算して補正データを算出し、所定の閾値thと比較することによってドット形成有無を判断する。図9(c)に示すように、画素Pc についてのドット形成有無を判断すると、着目ブロック内に残る未判断画素は画素Pd のみである。そこで、画素Pc で生じた階調誤差は全て画素Pd に拡散され、画素Pd に元々記憶されていた拡散誤差に加算されて新たな拡散誤差EDd として記憶される。こうして得られた画素Pd の拡散誤差EDd と画素Pd の階調値DTd とを加算して補正データCxdを算出し、閾値thと比較することによって、画素Pd についてのドット形成有無を判断する。図5のステップS220では、以上のようにして、着目ブロック内で誤差を拡散させながら画素毎にドット形成有無を判断する。
【0099】
尚、図9に示した例では、着目ブロックを構成する各画素のドット形成有無を判断するに際しては、画素Pa 、画素Pb 、画素Pc 、画素Pd の順番で判断を行ったが、必ずしもこの順番で判断する必要はなく、例えば図11に示すように、画素Pa 、画素Pc 、画素Pb 、画素Pd の順番でドット形成有無を判断しても良い。両図を比較すれば明らかなように、図9の場合と図11の場合とではブロック内で誤差を拡散させる方向が異なっており、良好な画質が得られる順番を適宜選択することができる。
【0100】
以上に説明したようにして、着目ブロック内の画素毎にドット形成有無を判断したら、着目ブロックで生じた誤差を計算する(ステップS222)。前述したように、着目ブロックのいずれの画素にもドットを形成しないと判断した場合(ステップS212)や、1画素にのみドットを形成すると判断した場合(ステップS216)も、そのように判断したことによって着目ブロックで生じた誤差を計算する。
【0101】
着目ブロックで生じた誤差は、その着目ブロックの補正データBx の値から、そのブロックについての結果値の値を減算することで算出することができる。ここで、着目ブロックの補正データBx は、着目ブロックを構成する各画素についての階調値の総和Sと、各画素に記憶されている拡散誤差とを加算して得られるデータである。総和Sは(1)式で、着目ブロックの補正データBx は(2)式で算出される。また、着目ブロックについての結果値とは、そのブロックを構成する各画素についての結果値(ドットが形成されたこと、あるいは形成されなかったことによって、画素に表現される階調値)の総和値である。
【0102】
例えば、着目ブロック内のいずれの画素にもドットを形成しない場合(ステップS212の場合)は、各画素の結果値はいずれも「0」であるから、その着目ブロックの結果値も「0」である。従って、着目ブロックでは、補正データBx の値がそのまま誤差として発生する。同様に、着目ブロック内の1画素にのみドットが形成される場合(ステップS216の場合)は、着目ブロックの結果値は、ドットが形成される画素についての結果値となる。従って、その着目ブロックでは、補正データBx からドットを形成した画素の結果値を減算した値が誤差として発生する。着目ブロック内の画素毎にドット形成有無を判断した場合(ステップS220の場合)も同様にして、着目ブロックで生じる誤差を求めることができる。もっとも、ステップS220の処理では、図9を用いて説明したように、各画素で生じた階調誤差を着目ブロック内の未判断画素に拡散させながらドット形成の有無を判断しているので、最後にドット形成有無を判断する画素(図9の例では画素Pd )についての階調誤差と、着目ブロックの誤差とは一致する。従って、画素Pd についての階調誤差を算出することによって、着目ブロックで生じる誤差を簡便に求めることもできる。
【0103】
こうして、着目ブロックで生じた誤差を算出したら、この誤差を周辺画素に拡散させる(ステップS224)。図12は、着目ブロックで生じた誤差を周辺の画素に拡散させる様子を概念的に示した説明図である。図12中に複数示されている小さな正方形は、それぞれ画素を模式的に表示したものである。また、斜線が施された大きな正方形は着目ブロックを示している。着目ブロック内に破線で示すように、ブロックは4つの画素から構成されているが、個々の画素ではなく、これら画素をまとめた着目ブロック全体で生じた誤差を周辺の画素に拡散させる。図12では、着目ブロックの誤差が周辺の6つの画素に拡散される様子を、黒い矢印で示している。着目ブロックの左側の画素には誤差が拡散されないのは、これら画素についてはドット形成有無の判断が終了しているからである。
【0104】
また、前述したように、着目ブロックの補正データBx によって単純にドット形成有無を判断する場合(図5のステップS212あるいはステップS216)や、着目ブロック内で誤差を拡散させながら画素毎にドット形成有無を判断する場合(図5のステップS220)は、いずれもブロック単位でドットの形成有無を判断しているので、ブロック内のどの画素に誤差が拡散されるかは大きな問題とならない。このことから、着目ブロックで生じた誤差を、図13に示しようにして拡散しても良い。すなわち、着目ブロックがハイライト領域にある場合(図5のステップS212あるいはステップS216の場合)は、図12において着目ブロックから右側の2つの画素に拡散される誤差を、図13に示すようにいずれか一方の画素に拡散させたとしても、同じブロックに拡散されることになるから、ドット形成有無の判断結果は全く同じとなる。着目ブロックが過渡的なハイライト領域にある場合(図5のステップS220の場合)には、画素毎にドットの形成有無を判断しているので、2つの画素に拡散させる誤差をいずれか一方の画素に拡散させるとドットが形成される画素は異なる。しかし、この場合でもブロック内の画素間で誤差を拡散しながらドット形成有無を判断しているので、ブロック全体としてみれば、なお同様の結果が得られており、ドットの形成される画素位置がブロック内で僅かに異なっているだけである。また、図12で着目ブロックから下側の2つの画素に拡散される誤差も拡散されることになるので、いずれか一方の画素に拡散させても、ほぼ同様の結果を得ることができる。このことから、図12の代わりに、図13に示すようにして誤差を拡散させても良い。各画素に誤差を拡散させる割合は、予め適切な割合を設定しておくことができる。
【0105】
図14は、各画素に誤差を拡散させる割合を設定した一例を例示したものである。図14で、斜線を施した大きな正方形は着目ブロックを表したものであり、その周辺に複数示した小さな正方形は、着目ブロックからの誤差が拡散される画素を表示したものである。また、破線で示した大きな正方形は、着目ブロックの周辺のブロックを示したものである。
【0106】
図14(a)の例では、着目ブロックの右側にある2つの画素には、着目ブロックで生じた誤差のそれぞれ1/8の値が拡散される。着目ブロックの下側にある2つの画素にも同様に、誤差の1/8ずつ拡散される。また、着目ブロックの左下の画素あるいは右下の画素には、それぞれ誤差の1/4ずつ拡散される。このように誤差を拡散させれば、着目ブロックの周辺のブロックに均等に、それぞれ誤差の1/4ずつ拡散されることになる。もちろん、同じブロックに拡散する誤差は1つの画素にまとめて拡散するようにしても良い。例えば、図14(b)に示すように誤差を拡散しても、図14(a)の場合と、ほぼ同等な結果を得ることができる。このように、同じブロックに拡散される誤差はまとめて拡散することにすれば、誤差を拡散すべき画素数を減らすことができるので、それだけ処理を迅速化することができる。
【0107】
図14(c)に示した例では、各ブロックに拡散される誤差の割合は異なっている。良好な画質が得られるように、誤差を拡散する割合をブロック間で異ならせても構わない。また、着目ブロックの左下のブロックには、ブロック中で最初にドット形成有無を判断する画素に誤差が拡散されている。このように、必ずしも着目ブロックに隣接していない画素に誤差を拡散しても構わない。
【0108】
もちろん、図14(d)に示すように、着目ブロックには隣接していないブロックを含む広い範囲に誤差を拡散しても良い。更には、図14(e)に示すように、ブロック単位で誤差を拡散しても良い。すなわち、着目ブロックから周辺のブロックに誤差を拡散し、各ブロックに拡散された誤差は該ブロック内の画素に均等に拡散させても構わない。
【0109】
図5のステップS224においては、以上に説明したように、着目ブロック全体で生じた誤差を所定の割合で周辺の画素に拡散させる処理を行う。
【0110】
D−3.中間階調以上の領域の処理:
ステップS218において、着目ブロックの補正データBx の値が閾値th3 よりも大きい場合は、着目ブロックは画像中の中間階調以上の領域に設定されていると考えられる。このような領域ではブロック単位でドット形成有無を判断しながらも、いわゆる誤差拡散法と同様に各画素で生じた誤差を拡散させながらドット形成の有無を判断する(ステップS226)。このため、本実施例の階調数変換処理においては、画像中の中間階調値以上の領域でも、画質を維持することができる。
【0111】
図15は、ステップS226において、各画素の誤差を拡散しながら画素毎にドット形成有無を判断する処理について概念的に示した説明図である。図15中で、破線で示した大きな正方形は着目ブロックを示し、着目ブロック中に実線で示した正方形は画素を示している。着目ブロック外の画素は、破線の正方形で表示している。着目ブロック内の各画素は、左上の画素を画素Pa 、右上の画素を画素Pb 、左下の画素を画素Pc 、右下の画素を画素Pd と呼んでそれぞれの画素を識別する。また、画素Pa ,画素Pb ,画素Pc ,画素Pd 内に表示されているDTa ,DTb ,DTc ,DTd は、それぞれの画素の階調値を示し、EDa ,EDb ,EDc ,EDd はそれぞれの画素に拡散されて記憶されている拡散誤差を示している。
【0112】
ステップS226において、各画素の誤差を拡散しながら画素毎にドット形成有無を判断する処理は、先に図9および図10を用いて説明した処理(ステップS220の処理)とほぼ同様である。前述したステップS220の処理では各画素で生じた誤差を、着目ブロック内の画素に拡散したのに対して、以下に説明するステップS226の処理では、着目ブロック外の画素にも誤差を拡散させる点が大きく異なっている。このように、各画素で生じた誤差を着目ブロック外の画素にも拡散させながらドット形成有無を判断しているために、いわゆる誤差拡散法と呼ばれる手法とほぼ等価な処理を行うことができる。その結果、画像中の中間階調以上の領域でも、画質を悪化させることなくドット形成有無を判断することが可能である。以下では、図15を参照しながら、図10に示したフローチャートを流用して、図5のステップS226で行われる処理について説明する。
【0113】
ステップS220で行われる処理と同様に、ステップS226の処理においても、処理を開始すると先ず初めに、着目ブロックの左上にある画素Pa の階調値DTa および拡散誤差EDa を読み込む(図10のステップS300相当)。各画素の階調値および拡散誤差は、それぞれの画素に対応付けてRAM106上に記憶されている。
【0114】
次いで、読み出した階調値と拡散誤差とを加算することによって、画素Pa の補正データCx を算出し(図10のステップS302相当)、算出した補正データCx と所定の閾値thとの大小関係を判断する(図10のステップS304相当)。そして、補正データCx の方が大きければ、画素Pa にはドットを形成すると判断し(図10のステップS306相当)、そうでなければ、画素Pa にはドットを形成しないと判断する(図10のステップS308相当)。判断の結果は、各画素についての判断結果を示す変数に蓄えておく。
【0115】
こうして画素Pa についてのドット形成有無を判断したら、判断に伴って生じる階調誤差を算出し(図10のステップS310相当)、得られた階調誤差を、周辺の未判断画素に所定の割合で拡散させる(図10のステップS312相当)。ここで、図5のステップS226の処理においては、階調誤差が生じた画素が着目ブロック中でどの位置にあるかに応じて、周辺画素に誤差を拡散させる割合が予め定められている。図16は、階調誤差が生じた画素の位置に応じて、周辺画素に誤差を拡散させる割合が設定されている一例を例示した説明図である。図16(a)は、着目ブロックの左上の画素、すなわち画素Pa で生じた階調誤差を周辺画素に拡散させる割合を示している。図中に「*」と示されているのは階調誤差が発生した画素の位置を示している。画素Pa で生じた階調誤差は、画素Pb および画素Pc にそれぞれ3/8ずつ拡散され、画素Pd には階調誤差の1/4が拡散される。もちろん、拡散させる割合はこの割合に限定されるものではなく、処理する画像の特性に応じて種々の割合に設定することができる。
【0116】
図15(a)は、画素Pa で生じた階調誤差を周辺の未判断画素に拡散させている様子を概念的に示した説明図である。画素に施された斜線は、ドット形成有無の判断が既に行われていることを示している。図示されているように画素Pa の左方の画素は既にドット形成有無を判断済みである。また、本実施例の階調数変換処理は、通常の階調数変換処理と同様に上段にあるブロックから順にドット形成有無を判断しているから、画素Pa に上方の画素についても既にドット形成有無を判断済みである。このことから、画素Pa の周辺の未判断画素は着目ブロック内にある他の3つの画素、すなわち、画素Pb ,画素Pc ,画素Pd となり、画素Pa で生じた階調誤差はこれら3つの画素に拡散される。
【0117】
一例として各画素に誤差が拡散される割合が図16(a)に示す割合であるとすれば、画素Pb には画素Pa で生じた階調誤差の3/8の値が拡散されて、画素Pb に対応付けて記憶されている拡散誤差EDb と加算されて、画素Pb の新たな拡散誤差EDb として記憶される。画素Pc についても同様に、拡散誤差EDc の値に画素Pa で生じた階調誤差の3/8の値が加算され、画素Pc の新たな拡散誤差EDc として記憶される。また、画素Pd については、画素Pa で生じた階調誤差の1/4の値が加算されて、画素Pd の新たな拡散誤差EDd として記憶される。図15(a)において、画素Pa から他の3つの画素に向かう白抜きの矢印は、このように画素Pa で生じた階調誤差が他の3つの画素に拡散されることを模式的に表したものである。
【0118】
こうして画素Pa についてのドット形成有無を判断し、画素Pa で生じた階調誤差を周辺の未判断画素に拡散したら、着目ブロックのすべての画素について判断を終了したか否かを判断し(図10のステップS314相当)、全画素の処理が終了していなければ、次の新たな画素についてのドット形成有無の判断を開始する。
【0119】
画素Pa についてのドット形成有無を判断したら、次は画素Pb についての判断を開始する。画素Pb についての判断も画素Pa についての判断とほぼ同様に行うことができる。図15(b)は、画素Pb で生じた階調誤差を周辺の未判断画素に拡散させる様子を概念的に示した説明図である。画素Pa については既にドット形成有無を判断済みなので、画素Pb で生じた階調誤差は、図示されているように、着目ブロック内の2つの画素および着目ブロック外の2つの画素の合計4つの画素に拡散される。図16(b)は、画素Pb から周辺の未判断画素に階調誤差が拡散される割合の一例を示したものである。
【0120】
画素Pb についてのドット形成有無を判断したら、同様にして画素Pc についての判断を行い、判断に伴って生じた階調誤差を周辺の未判断画素に拡散させる。図15(c)は、画素Pc で生じた階調誤差を拡散させる様子を概念的に示した説明図である。図示されているように、着目ブロック内の画素Pa および画素Pb については既にドット形成有無を判断済みなので、画素Pc で生じた階調誤差は着目ブロック内の画素Pd および着目ブロック外の3つの画素の合計4つの画素に所定の割合で拡散される。図16(c)は、画素Pc で生じた階調誤差が周辺の画素に拡散される割合を例示した説明図である。こうして画素Pc で生じた誤差を所定の割合で周辺の未判断画素に拡散したら、画素Pd についての判断を開始する。
【0121】
図15(d)は、画素Pd で生じた階調誤差を拡散させる様子を概念的に示した説明図である。図示されているように、画素Pd のまわりには5つの未判断画素が存在しているので、これらの画素に階調誤差を拡散させる。図16(d)は各画素に誤差を拡散させる割合を例示した説明図である。
【0122】
こうして、画素Pa ,画素Pb ,画素Pc ,画素Pd の4つの画素についての処理を終了後、着目ブロック内の全画素の処理を終了したか否かを判断して(図10のステップS314相当)、図5のステップS226の処理を終了する。
【0123】
以上に説明したように図5のステップS226の処理では、ブロック単位でドット形成有無を判断しながらも、各画素で生じた階調誤差を周辺の未判断画素に拡散しながらドット形成有無を判断しており、いわゆる誤差拡散法と等価な処理を行っている。このため、着目ブロックが画像中の中間階調以上の領域に設定されている場合でも、画質を維持したまま、ドット形成有無を判断することが可能である。
【0124】
尚、図15に示した例では、着目ブロックを構成する各画素のドット形成有無を判断するに際しては、画素Pa 、画素Pb 、画素Pc 、画素Pd の順番で判断を行ったが、必ずしもこの順番で判断する必要はなく、例えば図17に示すように、画素Pa 、画素Pc 、画素Pb 、画素Pd の順番でドット形成有無を判断しても良い。両図を比較すれば明らかなように、図15の場合と図17の場合とではブロック内で誤差を拡散させる方向が異なっており、良好な画質が得られる順番を適宜選択しても良い。また、図14に例示するように、階調誤差をより広い範囲の画素に拡散させるものとしても構わない。
【0125】
図5のステップS226あるいはステップS224の処理を終了したら、ステップS200で設定した着目ブロックについてのドット形成有無の判断および該判断によって生じた階調誤差の拡散が終了したことになるので、次は、全ブロックについての処理を終了したか否かを判断する(ステップS228)。未処理のブロックが残っていたら、再びステップS200に戻って、1ブロック分だけ着目ブロックを移動させ、続く一連の処理を行う。こうして全ブロックについてドット形成有無を判断したら、階調数変換処理を終了して、図4の画像データ変換処理に復帰する。
【0126】
以上、説明したように本実施例の階調数変換処理においては、所定数の複数画素をまとめたブロック単位でドット形成の有無を判断するので、階調数変換処理を迅速に行うことができる。また、着目ブロックのドット形成有無を判断するに際しては、該着目ブロック内の各画素の階調値あるいは補正データの大小関係に基づき、画像中で該着目ブロックが如何なる領域に設定されているかを判断し、適切な方法を用いてドット形成有無を判断する。このため、階調値あるいは補正データに応じた方法でドット形成有無を判断することができるので、ブロック単位でドット形成の有無を判断しているにもかかわらず、画質を維持することができる。更に、ドット形成有無の判断を行う画像中の領域が、中間階調以上の領域である場合には、いわゆる誤差拡散法と等価な方法を用いてドット形成有無を判断しているので、高画質の画像を得ることができる。
【0127】
E.変形例:
上述の階調数変換処理には種々の変形例が存在している。以下、簡単に説明する。
【0128】
E−1.第1の変形例:
上述の階調数変換処理では、着目ブロックの総和Sが「0」、すなわち着目ブロックを構成する各画素の階調値がいずれも「0」である場合(図5のステップS206:yes)は、該ブロック内にはドットを形成しないと判断して、該着目ブロックで生じた誤差を周辺画素に拡散した(図5のステップS212ないしステップS224)。
【0129】
これに対して、着目ブロックの総和Sが続けて「0」となった場合には、該ブロック内の各画素に対応付けて記憶されている拡散誤差の値を「0」としてもよい。すなわち、図5のステップS224において、図18に示すような処理を行っても良い。先ず、着目ブロックを構成する各画素の階調値の総和Sが「0」か否かを判断し(ステップS300)、総和Sの値が「0」でなければフラグFに「0」をセットして(ステップS302)、着目ブロックで生じた階調誤差を周辺画素に拡散させる(ステップS304)。ステップS304において行われる具体的な処理は、前述したステップS224の処理と同様である。
【0130】
ステップS300において、着目ブロックの総和Sが「0」である場合は、フラグFが「1」か否かを判断する(ステップS306)。先に判断した着目ブロックの総和Sが「0」でない場合は、ステップS302においてフラグFには「0」が設定されている。かかる場合(ステップS306:no)には、着目ブロック総和Sが「0」であることを示す値「1」をフラグFに設定した後(ステップS308)、着目ブロックで生じた階調誤差を周辺画素に拡散させる(ステップS304)。先に判断した着目ブロックの総和Sが「0」であった場合は、ステップS308でフラグFには「1」が設定されている。このような場合(ステップS306:yes)は、着目ブロックで生じた階調誤差を拡散させる代わりに、該着目ブロック内の各画素に記憶されている拡散誤差の値を「0」に初期化する(ステップS310)。
【0131】
着目ブロックの総和Sが「0」であるためには、着目ブロックを構成する各画素の階調値が全て「0」でなければならないから、連続して総和Sが「0」となるということは、その部分には表現すべき画像が存在していない、すなわち印刷用紙を地色のまま残しておくべき部分であると考えられる。上述の第1の変形例においては、このような部分では、各画素の拡散誤差の値を初期化する。このため、本来は画像の存在しない部分に、周囲から拡散されてきた誤差の影響でドットを形成することなく、より高画質の画像を表現することが可能となる。また、総和Sが連続して「0」となる着目ブロックでは、該ブロックで生じた階調誤差を拡散させる処理を省略してしまうので、それだけ処理を迅速に行うことが可能である。
【0132】
E−2.第2の変形例:
上述した階調数変換処理では、着目ブロックの総和Sあるいは補正データに基づいて、適切なドット形成判断方法を選択していたが、着目ブロックを構成する各画素の階調値に基づいて適切な方法を選択するものであれば、必ずしも総和あるいは補正データの値に基づいて選択する必要はない。例えば、以下に説明するように、着目ブロックのある位置が画像のエッジ部分か否か、すなわち画像データの階調値が急変する部分か否かに応じて適切な判断方法を選択しても良い。
【0133】
図19は、着目ブロックの総和あるいは補正データの値に加えて、着目ブロックがエッジ部分にあるか否かに応じて、適切な方法を用いてドット形成の有無を判断する処理の流れを示したフローチャートである。図5に示した階調数変換処理に対して、着目ブロックがエッジ位置か否かを判断する処理(ステップS408)が追加されている部分が大きく異なっている。以下、図19のフローチャートに従って、第2の変形例の階調数変換処理について、図5の処理に対して異なる部分を中心に簡単に説明する。
【0134】
図5を用いて前述した階調数変換処理と同様に、第2の変形例の階調数変換処理においても、先ず初めに着目ブロックを設定し(ステップS400)、ブロック内の画素の階調値および拡散誤差を読み込んで、着目ブロックの総和Sを算出する(ステップS402)。次いで、算出した総和Sが「0」であるか否かを判断し(ステップS404)、総和Sが「0」の場合には該着目ブロックを構成する全画素についてドットを形成しないと判断する(ステップS412)。着目ブロックの総和Sが「0」でない場合には、補正データBx を算出しておく(ステップs406)。補正データbX は、図5を用いて前述した階調数変換処理と同様に、(2)式を用いて算出することができる。
【0135】
次に、着目ブロックの設定されている位置が、エッジ部分であるか否かを判断する(ステップS408)。着目ブロックがエッジ部分にあるか否かは、着目ブロック内で隣接する画素同士の階調値を比較することによって判断することができる。例えば、図20(a)に示すように、画素Pa を中心として、画素Pa と画素Pb ,画素Pa と画素Pc ,および画素Pa と画素Pd の階調値の差がいずれも所定値以下であれば、着目ブロックはエッジ部分ではないと判断することができる。すなわち、
であれば、着目ブロックが設定されている位置は画像中のエッジ部分ではないと判断する。ここで、abs (X)は、Xの絶対値を求める関数である。また、閾値the は、予め適切な値に設定されている。図20(a)で、画素Pa と、それぞれ画素Pb ,画素Pc ,画素Pd との間に表示されている矢印は、これら画素間の階調値の差に基づいて、エッジか否かを判断することを示している。
【0136】
着目ブロックの設定されている位置がエッジ部分であるか否かを、上記の(3)式によって判断する代わりに、次のようにして簡易に判断しても良い。すなわち、図20(b)に示すように、画素Pa と画素Pd との間の階調値の差、および画素Pb と画素Pc との間の階調値の差がいずれも所定値以下の場合に、着目ブロック位置はエッジ部分ではないと判断しても良い。あるいは、着目ブロックを構成する画素の中でもっとも大きな階調値ともっとも小さな階調値の差を求めて、かかる階調値の差が所定の閾値より大きい場合には、該着目ブロックはエッジ部分に設定されていると判断しても良い。
【0137】
こうして、着目ブロック位置がエッジ部分ではないと判断された場合(ステップS408:no)は、図5を用いて前述した階調数変換処理と同様の処理を行う。すなわち、着目ブロックの補正データBx と所定の閾値th1 ,th2 ,th3 とを比較して(ステップS410、S414、S418)、それぞれ着目ブロックの補正データBx の値に応じて所定の方法でドット形成有無を判断し(ステップS412、S416、S420)、着目ブロック全体で生じた階調誤差を周辺画素に拡散させる(ステップS422、S424)。また、着目ブロックの補正データBx の値が閾値th3 よりも大きい場合には、各画素で生じた階調誤差を周辺の未判断画素に拡散させながら画素毎にドット形成有無を判断する(ステップS426)。
【0138】
着目ブロックが画像中のエッジ部分に位置していると判断した場合(図19のステップS408:yes)は、補正データBx の値に関わらず、各画素の誤差を周辺の未判断画素に拡散させながら画素毎にドット形成有無を判断する(ステップS426)。こうすれば、画像中のエッジの部分では、必ず画素毎にドット形成有無が判断されるので、画像データの解像度を維持することができる。そのため、画像中の輪郭を不鮮明にすることなく、階調数変換処理を迅速に行うことが可能となるので好適である。
【0139】
以上、各種の実施例について説明してきたが、本発明は上記すべての実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することができる。
【0140】
例えば、上述した実施例では、説明の煩雑化を避けるために、各画素にはドットが形成されるか、形成され無いかの2つの状態しか取り得ないものとして説明した。もちろん、大きさの異なるドットを形成可能なプリンタや、あるいはインク濃度の異なる複数種類のドットを形成可能なプリンタに適用しても良い。これらプリンタでは、形成可能なドットの種類が増えた分だけ、階調数変換処理が複雑となり、処理時間も長くなる傾向にあるので、上述した各種実施例の階調数変換処理を好適に適用することができる。
【0141】
また、上述の機能を実現するソフトウェアプログラム(アプリケーションプログラム)を、通信回線を介してコンピュータシステムのメインメモリまたは外部記憶装置に供給し実行するものであってもよい。もちろん、CD−ROMやフレキシブルディスクに記憶されたソフトウェアプログラムを読み込んで実行するものであっても構わない。
【0142】
上述した各種実施例では、階調数変換処理を含む画像データ変換処理はコンピュータ内で実行されるものとして説明したが、画像データ変換処理の一部あるいは全部をプリンタ側、あるいは専用の画像処理装置を用いて実行するものであっても構わない。
【0143】
更には、画像表示装置は、必ずしも印刷媒体上にインクドットを形成して画像を印刷する印刷装置に限定されるものではなく、例えば、液晶表示画面上で輝点を適切な密度で分散させることにより、階調が連続的に変化する画像を表現する液晶表示装置であっても構わない。
【図面の簡単な説明】
【図1】本発明の実施の形態を示す印刷システムの概略構成図である。
【図2】本実施例の画像処理装置としてのコンピュータの構成を示す説明図である。
【図3】本実施例の画像表示装置としてのプリンタの概略構成図である。
【図4】本実施例の画像処理装置で行われる画像データ変換処理の流れを示すフローチャートである。
【図5】本実施例の階調数変換処理の流れを示すフローチャートである。
【図6】着目ブロックを設定している様子を示す説明図である。
【図7】着目ブロックを構成する各画素の中の1画素にのみドットを形成する様子を示す説明図である。
【図8】着目ブロックを構成する各画素の中の2つの画素にのみドットを形成する様子を例示する説明図である。
【図9】着目ブロック内の各画素に誤差を拡散させながら、画素毎にドット形成の有無を判断する方法を概念的に示した説明図である。
【図10】画素毎にドット形成有無を判断する処理の流れを示したフローチャートである。
【図11】着目ブロック内の各画素に誤差を拡散させながら、画素毎にドット形成の有無を判断する他の方法を概念的に示した説明図である。
【図12】着目ブロックで生じた階調誤差を周辺の画素に拡散させる様子を概念的に示した説明図である。
【図13】着目ブロックで生じた階調誤差を周辺の画素に拡散させる変形例を概念的に示した説明図である。
【図14】着目ブロックで生じた階調誤差を周辺の画素に拡散させる割合が設定されている様子を例示する説明図である。
【図15】各画素で生じた階調誤差を周辺画素に拡散させながら、ブロック単位でドット形成の有無を判断する様子を概念的に示した説明図である。
【図16】各画素で生じた階調誤差を周辺画素に拡散させながら、ブロック単位でドット形成の有無を判断する際に、周辺画素へ誤差を拡散する割合を例示した説明図である。
【図17】各画素で生じた階調誤差を周辺画素に拡散させながら、ブロック単位でドット形成の有無を判断する他の態様を概念的に示した説明図である。
【図18】本実施例の階調数変換処理の第1の変形例中で行われる処理の流れを示したフローチャートである。
【図19】本実施例の階調数変換処理の第2の変形例の流れを示したフローチャートである。
【図20】本実施例の階調数変換処理の第2の変形例において、エッジを検出する方法を概念的に示す説明図である。
【符号の説明】
10…コンピュータ
12…プリンタドライバ
20…カラープリンタ
100…コンピュータ
102…CPU
104…ROM
106…RAM
108…周辺機器インターフェースP・I/F
109…ディスクコントローラDDC
110…ネットワークインターフェースカードNIC
112…ビデオインターフェースV・I/F
114…CRT
116…バス
118…ハードディスク
120…デジタルカメラ
122…カラースキャナ
124…フレキシブルディスク
126…コンパクトディスク
200…カラープリンタ
230…キャリッジモータ
235…紙送りモータ
236…プラテン
240…キャリッジ
241…印字ヘッド
242,243…インクカートリッジ
244…インク吐出用ヘッド
260…制御回路
261…CPU
262…ROM
263…RAM
300…通信回線
310…記憶装置
Claims (30)
- 画像データに基づいてドットの形成有無を判断し、該判断によって生じた階調誤差を周辺の未判断画素に拡散しながら画素毎にドットの形成有無を判断することにより、各画素の階調値によって表現された画像データをドットの形成有無による表現形式の画像データに変換する画像処理装置であって、
隣接した所定数の画素をまとめてブロックを形成するブロック形成手段と、
ドットの形成有無を判断しようとする画素を含んだ着目ブロックについて、該着目ブロック内の複数の画素に割り当てられた階調値の大小関係に基づいて、該着目ブロックが所定の処理条件を満たすか否かを判断する処理条件判断手段と、
前記着目ブロックが前記所定の処理条件を満足する場合には、該着目ブロックについての前記画像データの変換をブロック単位で行い、該変換の結果、該ブロック内に生じた前記階調誤差を、周辺の未判断ブロックに拡散する第1の画像データ変換手段と、
前記着目ブロックが前記所定の処理条件を満足しない場合には、該着目ブロックを構成する画素毎に前記画像データの変換を行い、該変換の結果生じた前記階調誤差を、該着目ブロックの内か外かに関わらず、該各画素の周辺の未判断画素に拡散する第2の画像データ変換手段と
を備える画像処理装置。 - 請求項1記載の画像処理装置であって、
前記処理条件判断手段は、前記着目ブロック内の各画素についての階調値の総和値を算出し、該総和値が所定の閾値よりも小さい場合に、前記所定の処理条件を満足すると判断する手段である画像処理装置。 - 前記着目ブロック内の各画素についての階調値は、前記階調誤差が拡散された階調値である請求項2記載の画像処理装置。
- 請求項1記載の画像処理装置であって、
前記処理条件判断手段は、前記着目ブロック内に、隣接する画素間の前記階調値の差が所定値以上となる画素がある場合に、該着目ブロックは前記所定の処理条件を満足しないと判断する手段である画像処理装置。 - 請求項1記載の画像処理装置であって、
前記処理条件判断手段は、前記着目ブロック内で最も大きな階調値と最も小さな階調値との差が所定値以上の場合に、該着目ブロックは前記所定の処理条件を満足しないと判断する手段である画像処理装置。 - 請求項1記載の画像処理装置であって、
前記第1の画像データ変換手段は、
前記着目ブロック内の各画素についてのドット形成有無を、該着目ブロック単位で判断する第1のドット形成判断手段と、
前記判断によって各画素に生じた階調誤差を、前記着目ブロックに隣接するブロックの未判断画素に拡散させる第1の誤差拡散手段と
を備える画像処理装置。 - 請求項6記載の画像処理装置であって、
前記第1のドット形成判断手段は、前記着目ブロック内の各画素についての階調値の総和値を算出し、該総和値に応じた所定数の画素にドットを形成すると判断する手段である画像処理装置。 - 請求項7記載の画像処理装置であって、
前記第1のドット形成判断手段は、前記総和値に応じて、前記着目ブロック内の所定位置の画素にドットを形成すると判断する手段である画像処理装置。 - 請求項7記載の画像処理装置であって、
前記第1のドット形成判断手段は、前記着目ブロック内で階調値の大きい画素から順番に、前記所定数の画素にドットを形成すると判断する手段である画像処理装置。 - 請求項7記載の画像処理装置であって、
前記第1のドット形成判断手段は、前記着目ブロック内でドットを形成する画素の位置を毎回選択して、前記所定数の画素にドットを形成すると判断する手段である画像処理装置。 - 請求項7記載の画像処理装置であって、
前記第1のドット形成判断手段は、前記総和値が所定値以下である場合には、該着目ブロック内の画素にはドットを形成しないと判断する手段である画像処理装置。 - 請求項6記載の画像処理装置であって、
前記第1のドット形成判断手段は、前記拡散される階調誤差を考慮せずに前記着目ブロック内の各画素の階調値を加算した総和が、連続した該着目ブロックでいずれも0となる場合には、該連続した着目ブロックの後続する側のブロックに拡散される前記階調誤差を初期化する拡散誤差初期化手段を備える画像処理装置。 - 請求項6記載の画像処理装置であって、
前記第1のドット形成判断手段は、前記着目ブロック内の各画素で生じた前記階調誤差を該着目ブロック内の隣接する未判断画素に拡散させながら、該各画素についてのドットの形成有無を判断する手段である画像処理装置。 - 請求項1記載の画像処理装置であって、
前記第1の画像データ変換手段は、
前記着目ブロック内の各画素について、ドットの形成有無を判断する第2のドット形成判断手段と、
前記判断によって前記着目ブロック内の各画素に生じた階調誤差の総和たるブロック誤差を求め、得られた該ブロック誤差を、該着目ブロックに隣接するブロック内にあってドット形成有無が未判断の画素に拡散する第2の誤差拡散手段と
を備える画像処理装置。 - 請求項14記載の画像処理装置であって、
前記第2の誤差拡散手段は、前記ブロック誤差を、前記着目ブロック内の各画素についてのドット形成有無の判断結果と、隣接するブロックから拡散された前記階調誤差および該各画素の階調値の総和とに基づいて求め、得られた該ブロック誤差を拡散する手段である画像処理装置。 - 請求項14記載の画像処理装置であって、
前記第2の誤差拡散手段は、前記ブロック誤差を、前記着目ブロックに隣接するブロック内の各画素に、所定の比率で拡散する手段である画像処理装置。 - 請求項14記載の画像処理装置であって、
前記第2の誤差拡散手段は、前記ブロック誤差を、前記着目ブロックに隣接するブロック内の所定位置の画素に拡散する手段である画像処理装置。 - 前記ブロック形成手段は、縦横2列に並んだ4つの画素をまとめて前記ブロックを形成する手段である請求項1記載の画像処理装置。
- 画像データに基づいてドットの形成有無を判断し、該判断によって生じた階調誤差を周辺の未判断画素に拡散しながら画素毎にドットの形成有無を判断することにより、各画素の階調値によって表現された画像データをドットの形成有無による表現形式の印刷データに変換し、印刷媒体上にインクドットを形成して画像を印刷する印刷部に対して該印刷データを出力することで、該印刷部を制御する印刷制御装置であって、
隣接した所定数の画素をまとめてブロックを形成するブロック形成手段と、
ドットの形成有無を判断しようとする画素を含んだ着目ブロックについて、該着目ブロック内の複数の画素に割り当てられた階調値の大小関係に基づいて、該着目ブロックが所定の処理条件を満たすか否かを判断する処理条件判断手段と、
前記着目ブロックが前記所定の処理条件を満足する場合には、該着目ブロックについての前記画像データの変換をブロック単位で行い、該変換の結果、該ブロック内に生じた前記階調誤差を、周辺の未判断ブロックに拡散する第1の画像データ変換手段と、
前記着目ブロックが前記所定の処理条件を満足しない場合には、該着目ブロックを構成する画素毎に前記画像データの変換を行い、該変換の結果生じた前記階調誤差を、該着目ブロックの内か外かに関わらず、該各画素の周辺の未判断画素に拡散する第2の画像データ変換手段と、
前記第1および第2の画像データ変換手段で得られた前記印刷データを、前記印刷部に出力する印刷データ出力手段と
を備える印刷制御装置。 - 請求項19記載の印刷制御装置であって、
前記処理条件判断手段は、前記着目ブロック内で最も大きな階調値と最も小さな階調値との差が所定値以上の場合に、該着目ブロックは前記所定の処理条件を満足しないと判断する手段である印刷制御装置。 - 請求項19記載の印刷制御装置であって、
前記第1の画像データ変換手段は、
前記着目ブロック内の各画素について、ドットの形成有無を判断する第2のドット形成判断手段と、
前記判断によって前記着目ブロック内の各画素に生じた階調誤差の総和たるブロック誤差を求め、得られた該ブロック誤差を、該着目ブロックに隣接するブロック内にあってドット形成有無が未判断の画素に拡散する第2の誤差拡散手段と
を備える印刷制御装置。 - 画像データに基づいてドットの形成有無を判断し、該判断によって生じた階調誤差を周辺の未判断画素に拡散しながら画素毎にドットの形成有無を判断することにより、各画素の階調値によって表現された画像データをドットの形成有無による表現形式の画像データに変換する画像処理方法であって、
隣接した所定数の画素をまとめてブロックを形成し、
ドットの形成有無を判断しようとする画素を含んだ着目ブロックについて、該着目ブロック内の複数の画素に割り当てられた階調値の大小関係に基づいて、該着目ブロックが所定の処理条件を満たすか否かを判断し、
前記着目ブロックが前記所定の処理条件を満足する場合には、該着目ブロックについての前記画像データの変換をブロック単位で行い、該変換の結果、該ブロック内に生じた前記階調誤差を、周辺の未判断ブロックに拡散し、
前記着目ブロックが前記所定の処理条件を満足しない場合には、該着目ブロックを構成する画素毎に前記画像データの変換を行い、該変換の結果生じた前記階調誤差を、該着目ブロックの内か外かに関わらず、該各画素の周辺の未判断画素に拡散する
画像処理方法。 - 請求項22記載の画像処理方法であって、
前記着目ブロックが所定の処理条件を満たすか否かの判断に際しては、該着目ブロック内で最も大きな階調値と最も小さな階調値との差が所定値以上の場合に、該着目ブロックは前記所定の処理条件を満足しないと判断する画像処理方法。 - 請求項22記載の画像処理方法であって、
前記着目ブロックが前記所定の処理条件を満足する場合には、
前記着目ブロック内の各画素について、ドットの形成有無を判断するとともに、該判断によって該着目ブロック内の各画素に生じた階調誤差の総和たるブロック誤差を求め、得られた該ブロック誤差を、該着目ブロックに隣接するブロック内にあってドット形成有無が未判断の画素に拡散することによって、前記画像データをブロック単位で変換する画像処理方法。 - 画像データに基づいてドットの形成有無を判断し、該判断によって生じた階調誤差を周辺の未判断画素に拡散しながら画素毎にドットの形成有無を判断することにより、各画素の階調値によって表現された画像データをドットの形成有無による表現形式の画像データに変換する方法を実現させるプログラムを、コンピュータで読み取り可能に記録した記録媒体であって、
隣接した所定数の画素をまとめてブロックを形成する機能と、
ドットの形成有無を判断しようとする画素を含んだ着目ブロックについて、該着目ブロック内の複数の画素に割り当てられた階調値の大小関係に基づいて、該着目ブロックが所定の処理条件を満たすか否かを判断する機能と、
前記着目ブロックが前記所定の処理条件を満足する場合には、該着目ブロックについての前記画像データの変換をブロック単位で行い、該変換の結果、該ブロック内に生じた前記階調誤差を、周辺の未判断ブロックに拡散する機能と、
前記着目ブロックが前記所定の処理条件を満足しない場合には、該着目ブロックを構成する画素毎に前記画像データの変換を行い、該変換の結果生じた前記階調誤差を、該着目ブロックの内か外かに関わらず、該各画素の周辺の未判断画素に拡散する機能と
を実現するプログラムを記録した記録媒体。 - 請求項25記載の記録媒体であって、
前記所定の処理条件を満足する着目ブロックについて前記画像データをブロック単位で変換する機能として、
前記着目ブロック内の各画素についてのドット形成有無を、該着目ブロック単位で判断する機能と、
前記判断によって各画素に生じた階調誤差を、前記着目ブロックに隣接するブロックの未判断画素に拡散させる機能と
を実現するプログラムを記録した記録媒体。 - 請求項25記載の記録媒体であって、
前記所定の処理条件を満足する着目ブロックについて前記画像データをブロック単位で変換する機能として、
前記着目ブロック内の各画素について、ドットの形成有無を判断する機能と、
前記判断によって前記着目ブロック内の各画素に生じた階調誤差の総和たるブロック誤差を求め、得られた該ブロック誤差を、該着目ブロックに隣接するブロック内にあってドット形成有無が未判断の画素に拡散する機能と
を実現するプログラムを記録した記録媒体。 - 画像データに基づいてドットの形成有無を判断し、該判断によって生じた階調誤差を周辺の未判断画素に拡散しながら画素毎にドットの形成有無を判断することにより、各画素の階調値によって表現された画像データをドットの形成有無による表現形式の画像データに変換する方法を、コンピュータを用いて実現するプログラムであって、
隣接した所定数の画素をまとめてブロックを形成する機能と、
ドットの形成有無を判断しようとする画素を含んだ着目ブロックについて、該着目ブロック内の複数の画素に割り当てられた階調値の大小関係に基づいて、該着目ブロックが所定の処理条件を満たすか否かを判断する機能と、
前記着目ブロックが前記所定の処理条件を満足する場合には、該着目ブロックについての前記画像データの変換をブロック単位で行い、該変換の結果、該ブロック内に生じた前記階調誤差を、周辺の未判断ブロックに拡散する機能と、
前記着目ブロックが前記所定の処理条件を満足しない場合には、該着目ブロックを構成する画素毎に前記画像データの変換を行い、該変換の結果生じた前記階調誤差を、該着目ブロックの内か外かに関わらず、該各画素の周辺の未判断画素に拡散する機能と
を実現するプログラム。 - 請求項28記載のプログラムであって、
前記所定の処理条件を満足する着目ブロックについて前記画像データをブロック単位で変換する機能として、
前記着目ブロック内の各画素についてのドット形成有無を、該着目ブロック単位で判断する機能と、
前記判断によって各画素に生じた階調誤差を、前記着目ブロックに隣接するブロックの未判断画素に拡散させる機能と
をコンピュータを用いて実現するプログラム。 - 請求項28記載のプログラムであって、
前記所定の処理条件を満足する着目ブロックについて前記画像データをブロック単位で変換する機能として、
前記着目ブロック内の各画素について、ドットの形成有無を判断する機能と、
前記判断によって前記着目ブロック内の各画素に生じた階調誤差の総和たるブロック誤差を求め、得られた該ブロック誤差を、該着目ブロックに隣接するブロック内にあってドット形成有無が未判断の画素に拡散する機能と
をコンピュータを用いて実現するプログラム。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001238117A JP3912055B2 (ja) | 2000-10-06 | 2001-08-06 | 画像処理装置、印刷制御装置、画像処理方法、および記録媒体 |
US09/967,880 US7164503B2 (en) | 2000-10-06 | 2001-09-28 | Image-processing apparatus, print control apparatus, image-processing method, and recording medium |
KR10-2001-0060296A KR100477329B1 (ko) | 2000-10-06 | 2001-09-28 | 화상처리장치, 인쇄제어장치, 화상처리방법 및 기록매체 |
AT01123769T ATE348480T1 (de) | 2000-10-06 | 2001-10-04 | Bildverarbeitungsvorrichtung und -verfahren, drucksteuervorrichtung und aufzeichnungsmedium |
DE60125120T DE60125120T2 (de) | 2000-10-06 | 2001-10-04 | Bildverarbeitungsvorrichtung und -Verfahren, Drucksteuervorrichtung und Aufzeichnungsmedium |
EP01123769A EP1195981B1 (en) | 2000-10-06 | 2001-10-04 | Image processing apparatus, print control apparatus, image processing method, and recording medium |
CNB011393092A CN1187953C (zh) | 2000-10-06 | 2001-10-06 | 图像处理装置、印刷控制装置、图像处理方法和记录媒体 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000308013 | 2000-10-06 | ||
JP2000-308013 | 2000-10-06 | ||
JP2001238117A JP3912055B2 (ja) | 2000-10-06 | 2001-08-06 | 画像処理装置、印刷制御装置、画像処理方法、および記録媒体 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002185789A JP2002185789A (ja) | 2002-06-28 |
JP2002185789A5 JP2002185789A5 (ja) | 2005-04-07 |
JP3912055B2 true JP3912055B2 (ja) | 2007-05-09 |
Family
ID=26601701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001238117A Expired - Fee Related JP3912055B2 (ja) | 2000-10-06 | 2001-08-06 | 画像処理装置、印刷制御装置、画像処理方法、および記録媒体 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7164503B2 (ja) |
EP (1) | EP1195981B1 (ja) |
JP (1) | JP3912055B2 (ja) |
KR (1) | KR100477329B1 (ja) |
CN (1) | CN1187953C (ja) |
AT (1) | ATE348480T1 (ja) |
DE (1) | DE60125120T2 (ja) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7268919B2 (en) | 2002-01-17 | 2007-09-11 | Seiko Epson Corporation | Image data processing apparatus, method, and program that diffuses gradiation error for each pixel in target block |
JP3823859B2 (ja) | 2002-03-20 | 2006-09-20 | セイコーエプソン株式会社 | 複数画素単位で画像データを変換する画像処理装置 |
US7414756B2 (en) | 2003-08-08 | 2008-08-19 | Seiko Epson Corporation | Image processing apparatus for converting image data by unit of multiple pixels and printing apparatus |
JP2005224983A (ja) * | 2004-02-10 | 2005-08-25 | Seiko Epson Corp | 所定領域内に形成されるドット個数の情報に基づいて画像を出力する画像出力システム |
EP1722549A4 (en) | 2004-02-10 | 2007-04-18 | Seiko Epson Corp | PICTURE DISTRIBUTION SYSTEM FOR PUBLISHING AN IMAGE BASED ON INFORMATION ABOUT NUMBER OF POINTS TO BE MADE IN A PREFERRED AREA |
JP4274030B2 (ja) | 2004-04-12 | 2009-06-03 | セイコーエプソン株式会社 | 画像出力システム、画像処理装置、画像出力装置およびそれらの方法 |
CN1947409A (zh) * | 2004-04-22 | 2007-04-11 | 精工爱普生株式会社 | 对每多个像素进行多值化的图像处理装置 |
EP1768378A4 (en) * | 2004-05-19 | 2008-05-21 | Seiko Epson Corp | DOT DATA PROCESSING DEVICE, PICTOR DISPENSING SYSTEM AND METHOD THEREFOR |
JP4375235B2 (ja) * | 2004-05-20 | 2009-12-02 | セイコーエプソン株式会社 | 複数画素ずつコード化しながら画像を出力する画像出力システム |
CN100438564C (zh) * | 2004-05-20 | 2008-11-26 | 精工爱普生株式会社 | 点数据处理装置、图像处理系统和图像数据处理装置 |
JP4296999B2 (ja) | 2004-06-28 | 2009-07-15 | セイコーエプソン株式会社 | 複数画素ずつ多値化を行いながら画像を出力する画像出力システム |
JP4297000B2 (ja) | 2004-06-28 | 2009-07-15 | セイコーエプソン株式会社 | 複数画素ずつ多値化を行いながら画像を出力する画像出力システム |
JP4297006B2 (ja) | 2004-07-29 | 2009-07-15 | セイコーエプソン株式会社 | 複数画素ずつ多値化を行いながら画像を出力する画像出力システム |
JP4297033B2 (ja) | 2004-09-30 | 2009-07-15 | セイコーエプソン株式会社 | 複数画素ずつ多値化を行う画像処理装置 |
JP2006229928A (ja) * | 2005-01-18 | 2006-08-31 | Seiko Epson Corp | 画像処理装置、画像処理プログラム及び画像処理方法、印刷装置、印刷装置制御プログラム及び印刷装置制御方法、印刷用データ生成装置、印刷用データ生成プログラム及び印刷用データ生成方法、並びに表示装置、表示装置制御プログラム及び表示装置制御方法 |
JP4678299B2 (ja) * | 2005-03-24 | 2011-04-27 | セイコーエプソン株式会社 | 印刷装置、印刷プログラム、印刷方法および画像処理装置、画像処理プログラム、画像処理方法、ならびに前記プログラムを記録した記録媒体 |
KR101147084B1 (ko) | 2005-12-20 | 2012-05-17 | 엘지디스플레이 주식회사 | 액정 표시장치의 구동장치 및 구동방법 |
JP4989378B2 (ja) * | 2007-09-03 | 2012-08-01 | キヤノン株式会社 | 画像処理方法及び記録装置 |
JP4986976B2 (ja) * | 2007-12-20 | 2012-07-25 | キヤノン株式会社 | 画像処理装置、画像形成装置および画像処理方法 |
JP4975002B2 (ja) * | 2007-12-20 | 2012-07-11 | キヤノン株式会社 | 画像処理装置、画像形成装置および画像処理方法 |
JP2010068368A (ja) * | 2008-09-12 | 2010-03-25 | Sony Corp | 画像処理装置、画像処理方法、及び、プログラム |
JP5029719B2 (ja) * | 2010-03-23 | 2012-09-19 | ブラザー工業株式会社 | 画像処理装置 |
US20150103094A1 (en) * | 2013-10-11 | 2015-04-16 | Qualcomm Mems Technologies, Inc. | Region-dependent color mapping for reducing visible artifacts on halftoned displays |
JP6962228B2 (ja) * | 2018-02-14 | 2021-11-05 | セイコーエプソン株式会社 | 画質検査用カメラシステム、印刷装置及び光源調整方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4654721A (en) | 1985-04-12 | 1987-03-31 | International Business Machines Corporation | System for reproducing multi-level digital images on a bi-level printer of fixed dot size |
US5008950A (en) | 1987-01-22 | 1991-04-16 | Canon Kabushiki Kaisha | Image processing method and apparatus for error-dispersion digitization without moire or spurious stripe formation |
JP2621865B2 (ja) | 1987-05-21 | 1997-06-18 | キヤノン株式会社 | 画像処理装置 |
US5140432A (en) | 1990-09-12 | 1992-08-18 | Hewlett-Packard Company | Method and system for printing in one or more color planes with improved control of error diffusion |
JPH0537775A (ja) | 1991-08-02 | 1993-02-12 | Canon Inc | 擬似中間調処理方法及びその装置 |
JP2550824B2 (ja) | 1992-04-13 | 1996-11-06 | 村田機械株式会社 | 画像処理装置 |
US5434672A (en) | 1993-06-23 | 1995-07-18 | Hewlett-Packard Company | Pixel error diffusion method |
JP3636332B2 (ja) | 1993-12-24 | 2005-04-06 | セイコーエプソン株式会社 | 画像処理方法および画像処理装置 |
JPH0865511A (ja) | 1994-08-22 | 1996-03-08 | Murata Mach Ltd | 中間調画像データの伝送方法 |
JPH1084472A (ja) | 1996-09-09 | 1998-03-31 | Fuji Xerox Co Ltd | 画像処理装置 |
JPH10271331A (ja) | 1997-03-26 | 1998-10-09 | Oki Data:Kk | 画像処理方法及びその装置 |
JP2000022944A (ja) | 1998-06-30 | 2000-01-21 | Ricoh Co Ltd | 画像処理装置 |
-
2001
- 2001-08-06 JP JP2001238117A patent/JP3912055B2/ja not_active Expired - Fee Related
- 2001-09-28 US US09/967,880 patent/US7164503B2/en active Active
- 2001-09-28 KR KR10-2001-0060296A patent/KR100477329B1/ko not_active IP Right Cessation
- 2001-10-04 EP EP01123769A patent/EP1195981B1/en not_active Expired - Lifetime
- 2001-10-04 AT AT01123769T patent/ATE348480T1/de not_active IP Right Cessation
- 2001-10-04 DE DE60125120T patent/DE60125120T2/de not_active Expired - Lifetime
- 2001-10-06 CN CNB011393092A patent/CN1187953C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR20020027185A (ko) | 2002-04-13 |
DE60125120T2 (de) | 2007-11-15 |
CN1187953C (zh) | 2005-02-02 |
EP1195981A3 (en) | 2004-07-28 |
ATE348480T1 (de) | 2007-01-15 |
KR100477329B1 (ko) | 2005-03-17 |
US7164503B2 (en) | 2007-01-16 |
DE60125120D1 (de) | 2007-01-25 |
JP2002185789A (ja) | 2002-06-28 |
EP1195981A2 (en) | 2002-04-10 |
EP1195981B1 (en) | 2006-12-13 |
US20020089685A1 (en) | 2002-07-11 |
CN1349346A (zh) | 2002-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3912055B2 (ja) | 画像処理装置、印刷制御装置、画像処理方法、および記録媒体 | |
US7798589B2 (en) | Image forming apparatus, image processing apparatus, and control method therefor | |
JP3661624B2 (ja) | 画像処理装置 | |
JP4192640B2 (ja) | ブロック内のエッジを検出しながら処理を行う画像処理装置、および画像処理方法 | |
US20090147283A1 (en) | Ejecion control of quality-enhancing ink | |
JP2004284279A (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP3666427B2 (ja) | 画像処理装置、印刷制御装置、画像処理方法、および記録媒体 | |
JP4107302B2 (ja) | 印刷装置、画像処理装置、印刷方法、画像処理方法、および変換テーブルの作成方法 | |
JP3864902B2 (ja) | 画像データの階調数を変換する画像処理装置、および画像処理方法 | |
JP4561049B2 (ja) | 所定領域内に形成されるドット個数の情報に基づいて画像を印刷する印刷システム | |
JP4300742B2 (ja) | 画像データの階調数を変換する画像処理装置 | |
JP3864901B2 (ja) | 画像データの階調数を変換する画像処理装置、および画像処理方法 | |
JP3823859B2 (ja) | 複数画素単位で画像データを変換する画像処理装置 | |
JP4096846B2 (ja) | 出力解像度に応じたフィルタ処理を行う画像処理装置 | |
JP2001353888A (ja) | 印刷制御装置、画像処理装置 | |
JP4092983B2 (ja) | 出力解像度に応じたフィルタ処理を行う画像処理装置 | |
JP4013855B2 (ja) | 複数画素単位で画像データを変換する画像処理装置 | |
JP3972875B2 (ja) | 複数画素単位で画像データを変換する画像処理装置 | |
JP2020138428A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP2005102068A (ja) | 所定領域内に形成されるドット個数の情報に基づいて画像を表示する画像表示システム | |
JP2006213005A (ja) | 印刷装置、印刷方法、プログラム、記録媒体、画像形成装置および画像形成方法 | |
JP2006175853A (ja) | 印刷装置、印刷プログラム、印刷方法および画像処理装置、画像処理プログラム、画像処理方法、並びに前記プログラムを記録した記録媒体 | |
JP2007001063A (ja) | 画像処理装置、印刷装置、画像処理方法、および印刷方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040519 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040519 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060512 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060620 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060816 |
|
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: 20070109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070122 |
|
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: 20110209 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110209 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120209 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130209 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130209 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |