JP2002185788A - 画像処理装置、画像処理方法、印刷制御装置、および記録媒体 - Google Patents

画像処理装置、画像処理方法、印刷制御装置、および記録媒体

Info

Publication number
JP2002185788A
JP2002185788A JP2001238086A JP2001238086A JP2002185788A JP 2002185788 A JP2002185788 A JP 2002185788A JP 2001238086 A JP2001238086 A JP 2001238086A JP 2001238086 A JP2001238086 A JP 2001238086A JP 2002185788 A JP2002185788 A JP 2002185788A
Authority
JP
Japan
Prior art keywords
pixel
error
determined
pixels
gradation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2001238086A
Other languages
English (en)
Inventor
Shigeaki Sumiya
繁明 角谷
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 JP2001238086A priority Critical patent/JP2002185788A/ja
Priority to KR1020010060081A priority patent/KR100554002B1/ko
Priority to US09/967,888 priority patent/US6870641B2/en
Priority to CNB01135352XA priority patent/CN1197035C/zh
Priority to EP01123869A priority patent/EP1195982A3/en
Publication of JP2002185788A publication Critical patent/JP2002185788A/ja
Priority to KR1020050096852A priority patent/KR100611236B1/ko
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • H04N1/4051Halftoning, 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/4052Halftoning, 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Image Processing (AREA)
  • Color Image Communication Systems (AREA)
  • Color, Gradation (AREA)

Abstract

(57)【要約】 【課題】 画質の悪化を招くことなく、画像データを、
ドット形成の有無によって表現された印刷データに迅速
に変換する。 【解決手段】 ドット形成有無の判断により該判断画素
で発生する階調誤差を、一旦、中間バッファに保持す
る。所定数の複数画素の判断を行った後、周辺の未判断
画素に拡散される拡散誤差を、中間バッファに保持した
階調誤差から算出して誤差バッファに拡散させる。こう
すれば、階調誤差が発生する度に誤差バッファに拡散す
る場合に比べて、所定画素数分の階調誤差がまとめて拡
散される分だけ、階調誤差を迅速に拡散することが可能
となる。平均誤差最小法と数学的に同等な処理を、かか
る方法を利用して実現することもできる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、画像を構成する
複数の画素の階調値で表現された画像データを変換する
技術に関し、詳しくは、該画像データを各画素について
のドットの形成有無による表現形式の画像データに変換
する技術に関する。
【0002】
【従来の技術】印刷媒体や液晶画面といった表示媒体上
に、ドットを形成することによって画像を表現する画像
表示装置は、各種画像機器の出力装置として広く使用さ
れている。かかる画像表示装置は、局所的にはドットを
形成するか否かのいずれかの状態しか表現し得ないが、
画像の階調値に応じてドットの形成密度を適切に制御す
ることによって、階調が連続的に変化する画像を表現す
ることが可能となっている。
【0003】これら画像表示装置において、画像の階調
値に応じて適切な密度でドットが形成されるように、各
画素についてドット形成の有無を判断するための代表的
な手法としては、誤差拡散法と呼ばれる手法あるいは、
これと数学的に等価な平均誤差最小法と呼ばれる手法な
どがある。
【0004】誤差拡散法は、着目画素にドットを形成し
たこと、あるいはドットを形成しなかったことによって
生じる階調表現の誤差を、着目画素周辺の未判断画素に
拡散して記憶しておき、未判断画素についてのドット形
成有無を判断するにあたっては、周辺画素から拡散され
てきた誤差を解消するようにドット形成有無を判断する
手法である。また、平均誤差最小法は、ドット形成有無
の判断により生じた階調表現の誤差を周辺画素に拡散す
ることなく着目画素に記憶しておき、その代わりに、未
判断画素についてのドット形成有無を判断するに際して
は、周辺画素に記憶されている誤差を読み出してこれら
の誤差を打ち消すように、着目画素についてのドット形
成有無を判断する手法である。これらいずれの手法にお
いても、周辺画素で発生した階調表現の誤差を解消する
ようにドットの形成有無を判断しているので、画像の階
調値に応じた適切な密度でドットを形成することができ
る。そのため、これらの手法を適用してドットの形成有
無を判断すれば、高画質な画像を画像表示装置で表示す
ることが可能となる。
【0005】
【発明が解決しようとする課題】しかし、誤差拡散法に
は、着目画素で発生した階調表現の誤差を周辺の未判断
画素に拡散しながらドットの形成有無を判断しているた
めに、これら画素に誤差を拡散して記憶させる分だけ、
ドット形成有無の判断に時間がかかってしまうという問
題があった。また、平均誤差最小法についても同様に、
周辺画素から階調表現の誤差を読み出しながらドットの
形成有無を判断しているために、周辺画素から誤差を読
み出す分だけ、ドット形成有無の判断に時間がかかると
いう問題があった。いずれの場合にも、ドット形成有無
の判断に時間がかかれば、画像を迅速に表示することは
困難となる。
【0006】この発明は、従来技術における上述の課題
を解決するためになされたものであり、誤差拡散法ある
いは平均誤差最小法を適用した場合と同等の画質を維持
しつつ、ドット形成有無の判断に要する時間を短縮化す
ることによって、高画質の画像を迅速に表示可能な技術
を提供することを目的とする。
【0007】
【課題を解決するための手段およびその作用・効果】上
述の課題の少なくとも一部を解決するため、本発明の第
1の画像処理装置は、次の構成を採用した。すなわち、
各画素の階調値を示す画像データを受け取り、該画素毎
に該階調値に基づきドット形成の有無を判断することに
よって、該画像データをドット形成の有無による表現形
式の画像データに変換する画像処理装置であって、前記
ドット形成の有無を判断する度に該判断した画素で発生
する階調誤差を、該ドット形成有無の判断結果に基づき
算出して一時的に保持する階調誤差保持手段と、所定数
の複数画素についての前記一時的に保持された階調誤差
に基づいて、該所定数の複数画素の周辺にあってドット
形成有無の判断がなされていない未判断画素に拡散され
る拡散誤差を算出し、該算出した拡散誤差を該未判断画
素に対応付けて記憶する拡散誤差記憶手段と、前記未判
断画素に対応付けて記憶された前記拡散誤差を考慮しつ
つ、前記画像データにおける該未判断画素の階調値に基
づいて、該未判断画素についてのドット形成有無を判断
するドット形成判断手段とを備えることを要旨とする。
【0008】また、上記の第1の画像処理装置に対応す
る本発明の第1の画像処理方法は、各画素の階調値を示
す画像データを受け取り、該画素毎に該階調値に基づき
ドット形成の有無を判断することによって、該画像デー
タをドット形成の有無による表現形式の画像データに変
換する画像処理方法であって、前記ドット形成の有無を
判断する度に該判断した画素で発生する階調誤差を、該
ドット形成有無の判断結果に基づき算出して一時的に保
持しておき、所定数の複数画素についての前記一時的に
保持された階調誤差に基づいて、該所定数の複数画素の
周辺にあってドット形成有無の判断がなされていない未
判断画素に拡散される拡散誤差を算出し、前記算出した
拡散誤差を前記未判断画素に対応付けて記憶し、前記未
判断画素に対応付けて記憶された前記拡散誤差を考慮し
つつ、前記画像データにおける該未判断画素の階調値に
基づいて、該未判断画素についてのドッット形成有無を
判断することを要旨とする。
【0009】かかる第1の画像処理装置あるいは画像処
理方法においては、ドットの形成有無を判断することに
より生じた前記階調誤差を一時的に保持しておき、所定
数の複数画素についての階調誤差に基づいて、前記未判
断画素への拡散誤差を算出してから記憶させる。こうす
れば、所定数の複数画素の階調誤差を周辺の未判断画素
にまとめて拡散して記憶させることができるので、各画
素で生じた階調誤差を個別に拡散して記憶させる場合に
比べて、迅速に記憶させることができる。その結果、ド
ット形成の有無の判断に要する時間が短縮化され、高画
質の画像を迅速に表示させることが可能となる。
【0010】かかる第1の画像処理装置においては、前
記階調誤差記憶手段は、前記拡散誤差記憶手段に対して
読み書きするよりも、前記階調誤差を迅速に読み書き可
能な記憶手段としてもよい。
【0011】前記所定画素数の階調誤差は、前記階調誤
差記憶手段に一旦保持されてから前記拡散誤差記憶手段
に記憶されるので、該階調誤差記憶手段は、該拡散誤差
記憶手段と同様に頻繁に読み書きされる。従って、該階
調誤差記憶手段を、該拡散誤差記憶手段に対して読み書
きするよりも迅速に読み書き可能とすれば、該階調誤差
が発生してから、最終的に拡散誤差として記憶されるま
での時間が短縮化され、延いては、ドット形成の有無の
判断に要する時間を短縮化することができるので好適で
ある。
【0012】かかる第1の画像処理装置あるいは変換方
法においては、前記拡散誤差を各未判断画素に対応付け
て記憶するに際して、次のようにしても良い。すなわ
ち、前記階調誤差が算出される度に、未判断画素の各々
に分配される分配誤差を算出して、該算出した分配誤差
を各未判断画素毎に蓄積していき、前記所定数の複数画
素についての前記分配誤差を全て蓄積したら、各未判断
画素毎に蓄積された全ての該分配誤差を、前記拡散誤差
として前記未判断画素に対応付けて蓄積することとして
もよい。
【0013】こうして階調誤差を求める度に、各未判断
画素に分配誤差を蓄積しておけば、前記所定数の前記階
調誤差を算出してから、前記拡散誤差を各未判断画素に
対応付けて記憶させるまでの処理を迅速に行うことがで
きる。所定数の複数画素分の階調誤差を1回拡散して記
憶させただけでは、拡散すべき全ての階調誤差を記憶さ
せることができない未判断画素についても、所定画素数
分の拡散誤差を蓄積していくことにより、全ての階調誤
差を拡散して記憶させることができる。従って、かかる
方法を用いれば、拡散誤差を未判断画素に拡散して記憶
させる処理を迅速に行うことができるので、ドット形成
有無の判断に要する時間を短縮化することが可能とな
る。
【0014】かかる第1の画像処理装置あるいは変換方
法においては、拡散誤差を各未判断画素に対応付けて記
憶するに際して、上述の方法に換えて次のようにしても
良い。すなわち、所定数の複数画素についての階調誤差
を保持しておき、保持されている所定数の階調誤差に基
づいて各未判断画素に拡散される拡散誤差を算出して、
該算出した全ての拡散誤差を各未判断画素に対応付けて
蓄積することとしても良い。
【0015】こうして所定数の複数の階調誤差を保持し
ておけば、各未判断画素へ拡散すべき拡散誤差を算出す
る処理が簡便となり、延いては、該所定画素数の階調誤
差を周辺の未判断画素へまとめて拡散する処理が簡便と
なるので好適である。また、該未判断画素数に比べれば
該所定画素数の方が少ないので、かかる方法を用いれ
ば、階調誤差を算出する度に各未判断画素に分配誤差を
蓄積する方法に比べて、記憶容量を節約することができ
て好ましい。
【0016】前述した第1の画像処理装置あるいは変換
方法においては、拡散誤差を各未判断画素に対応付けて
記憶するに際して、次のようにしても良い。すなわち、
前記階調誤差が算出される度に、未判断画素の各々に分
配される分配誤差を算出して、該算出した分配誤差を各
未判断画素毎に蓄積していき、前記所定数の複数画素分
の分配誤差が蓄積された各未判断画素の分配誤差を、前
記拡散誤差として前記未判断画素に対応付けて記憶する
こととしてもよい。
【0017】このように、階調誤差を求める度に各未判
断画素に分配誤差を蓄積し、所定画素数分の分配誤差が
蓄積された未判断画素の分配誤差を、前記拡散誤差とし
て記憶することとすれば、該所定画素数の拡散誤差を、
各未判断画素に対応付けて記憶させる処理を迅速に行う
ことが可能となるので好ましい。
【0018】かかる第1の画像処理装置あるいは変換方
法においては、拡散誤差を未判断画素に対応付けて記憶
するに際して、上述の方法に換えて次のようにしても良
い。すなわち、所定数の複数画素についての階調誤差を
保持しておき、複数の該未判断画素中にあって該所定数
の階調誤差が全て拡散される特定画素への拡散誤差を、
該保持している階調誤差から算出して、該特定画素に対
応付けて記憶することとしてもよい。
【0019】こうして所定画素数の階調誤差を保持して
おき、前記特定画素への拡散誤差を算出して前記拡散誤
差として記憶すれば、該拡散誤差を未判断画素へ拡散し
て記憶させる処理が簡便となる。その結果、該所定画素
数の階調誤差を拡散して記憶する処理が迅速となり、延
いては画像を表示するために要する時間を、短縮化する
ことが可能となるので好ましい。
【0020】前述した第1の画像処理装置あるいは変換
方法においては、拡散誤差を未判断画素に対応付けて記
憶するに際して、次のようにしても良い。すなわち、前
記所定数の複数画素周辺の第1の所定領域内にある第1
の未判断画素の各々については、該所定数の複数画素に
ついての前記階調誤差に基づき該第1の未判断画素への
前記拡散誤差を算出して、該第1の未判断画素に対応付
けて記憶する。また、前記所定数の複数画素の周辺にあ
って前記第1の所定領域内には含まれない第2の未判断
画素については、前記階調誤差を算出する度に、該階調
誤差から該第2の各未判断画素の各々へ拡散される前記
拡散誤差を算出して、該第2の未判断画素に対応付けて
記憶する。
【0021】こうすれば、前記第1の未判断画素につい
ては、所定数の複数画素から分配される分配誤差を各未
判断画素にまとめて拡散することができるので、全体と
してドット形成の有無を判断するために要する時間が短
縮化されて好ましい。
【0022】かかる画像処理装置においては、階調誤差
を算出する度に拡散誤差が算出されて拡散される前記第
2の未判断画素として、前記第1の所定領域を包含した
第2の所定領域内にある未判断画素に、前記拡散誤差を
算出して記憶することとしても良い。
【0023】所定数の複数画素で生じた階調誤差を広い
範囲に拡散させようとすれば、階調誤差の拡散範囲に
は、それだけ多くの未拡散画素が含まれることになるの
で、所定画素数の階調誤差をまとめて拡散して記憶させ
るための処理は複雑化する傾向にある。これに対して、
階調誤差を拡散させる範囲を、前記所定数の複数画素の
周辺の第1の所定領域と該第1の所定領域を包含する第
2の所定領域とに分割し、該第1の所定領域にある第1
の未判断画素については、所定数の複数画素についての
階調誤差に基づいて各画素への拡散誤差を算出して記憶
し、該第1の所定領域以外にある第2の未判断画素につ
いては階調誤差が算出される度に、該階調誤差からの拡
散誤差を算出して、該第2の未判断画素の各々に対応付
けて記憶させる。こうすれば、所定画素数の階調誤差を
まとめて拡散すべき未判断画素数が減少するので処理を
簡素化することが可能となって好適である。尚、第1の
所定領域内にある第1の未判断画素に対して、所定数の
複数画素についての階調誤差をまとめて拡散して記憶さ
せるに際しては、上述した各種の方法を好適に適用する
ことができるのはもちろんである。
【0024】かかる第1の画像処理装置あるいは変換方
法においては、前記ドット形成有無の判断に関わる条件
に応じて、前記階調誤差を周辺の画素に拡散させる範囲
を、前記所定数の複数画素周辺の前記第1の所定領域
と、該第1の所定領域を包含する第2の所定領域とに切
り換えるようにしてもよい。
【0025】画質上の要請などから、ドット形成有無の
判断に関わる条件に応じて、誤差を拡散させる範囲の広
狭を切り換える技術が使用されることがある。このよう
な場合に、階調誤差を拡散させる範囲を、所定数の複数
画素周辺の第1の所定領域と、該第1の所定領域を包含
する第2の所定領域とに切り換えるとともに、該第1の
所定領域には含まれない遠方の未判断画素については階
調誤差を直接拡散させることとすれば、所定画素数の階
調誤差をまとめて拡散して記憶させる処理が簡素化する
ので好適である。
【0026】更には、前記所定数の複数画素の階調値
と、該各画素についてのドット形成有無の判断結果とに
基づいて、前記誤差を拡散させる範囲を、前記第1の所
定領域と該第1の所定領域を包含する第2の所定領域と
に切り換えることとしても良い。
【0027】例えば、表現しようとする画像データの階
調値が小さな領域で、たまたまドットが形成された場合
には、ドットが形成されたことによる誤差を広い範囲に
拡散させれば、ドットの分散性を改善して画質を向上さ
せることができる。あるいは、画像データの階調値が大
きな領域で、たまたまドットが形成されなかった場合
に、ドットが形成されなかったことによる誤差を広い範
囲に拡散させれば、同様にして画質を向上させることが
できる。このような場合、前記第1の所定領域の未判断
画素には前記所定数の複数画素からの拡散誤差をまとめ
て拡散するとともに、たまたまドットが形成された場合
あるいは形成されなかった場合には、該第1の所定領域
に含まれない遠方の未判断画素にも、階調誤差を算出す
る度に誤差を拡散する。こうすれば、遠方の未判断画素
に誤差を拡散することは稀なので、実質的には処理速度
をほとんど低下させることなく、ドット形成有無を判断
する処理を簡素化することができるので好適である。
【0028】前述した第1の画像処理装置あるいは変換
方法においては、前記所定数の複数画素を互いに隣接す
る画素として、該所定数の複数画素についての各階調誤
差に基づき前記拡散誤差を算出して、前記未判断画素に
対応付けて記憶することとしても良い。
【0029】階調誤差の発生した複数画素が互いに隣接
している場合、互いに隣接していない場合に比べて、各
画素で発生した階調誤差を拡散させる範囲の互いに重複
する部分が広くなる。従って、各未判断画素への拡散誤
差を、所定画素数分の階調誤差から算出して各画素に拡
散した場合に、該所定数の複数画素が互いに隣接してい
れば、複数の階調誤差からの拡散誤差がまとめて拡散さ
れる未判断画素が多くなるので、それだけ、階調誤差を
迅速に拡散して記憶させることが可能となって好適であ
る。尚、かかる場合においても、所定画素数分の階調誤
差から算出した拡散誤差を未判断画素に拡散して記憶さ
せるに際しては、上述した各種の方法を好適に適用可能
なことは言うまでもない。
【0030】所定数の隣接した複数画素の階調誤差に基
づいて拡散誤差を算出する上記の第1の画像処理装置あ
るいは変換方法においては、未判断画素のドット形成有
無を判断するに際して、既に該未判断画素に対応付けて
記憶されている拡散誤差に加えて、該未判断画素に隣接
する画素からの前記拡散誤差を考慮して、ドット形成有
無を判断することとしてもよい。
【0031】こうすれば、隣接する画素のドット形成有
無が判断された未判断画素についてのドットの形成有無
を判断する場合、隣接する画素から拡散されてくる拡散
誤差については、該未判断画素に拡散させて記憶させる
処理を行うことなくドットの形成有無を判断することが
できるので、判断を迅速に行うことが可能となって好適
である。
【0032】また、前述した課題の少なくとも一部を解
決するため、本発明の第2の画像処理装置は、次の構成
を採用した。すなわち、各画素の階調値を示す画像デー
タを受け取り、該画素毎に該階調値に基づきドット形成
の有無を判断することによって、該画像データをドット
形成の有無による表現形式の画像データに変換する画像
処理装置であって、前記ドット形成の有無を判断する度
に該判断した画素で発生する階調誤差を、該ドット形成
有無の判断結果に基づき算出し、該判断画素に対応付け
て記憶する階調誤差記憶手段と、前記ドット形成の有無
を判断しようとする着目画素の周辺にあって該ドット形
成有無を判断済みの既判断画素毎に対応付けて記憶され
ている前記階調誤差を、該既判断画素毎に保持する階調
誤差保持手段と、前記既判断画素毎に保持されている階
調誤差を考慮しつつ、前記画像データにおける前記着目
画素の階調値に基づいて、ドット形成有無を判断するド
ット形成判断手段と、前記着目画素の次にドット形成有
無を判断する次着目画素についての前記既判断画素を検
出して、該検出した既判断画素の中で前記階調誤差が一
時的に保持されていない既判断画素の階調誤差を前記階
調誤差記憶手段から読み出し、該読み出した階調誤差で
該次着目画素についての判断に使用しない該階調誤差を
更新して、該次着目画素の判断に供する階調誤差更新手
段とを備えることを要旨とする。
【0033】上記の第2の画像処理装置に対応する本発
明の第2の画像処理方法は、各画素の階調値を示す画像
データを受け取り、該画素毎に該階調値に基づきドット
形成の有無を判断することによって、該画像データをド
ット形成の有無による表現形式の画像データに変換する
画像処理方法であって、前記ドット形成の有無を判断す
る度に該判断した画素で発生する階調誤差を、該ドット
形成有無の判断結果に基づき算出して、該判断画素に対
応付けて記憶し、前記ドット形成の有無を判断しようと
する着目画素の周辺にあって該ドット形成有無を判断済
みの既判断画素毎に対応付けて記憶されている前記階調
誤差を、該既判断画素毎に保持しておき、前記既判断画
素毎に保持されている階調誤差を考慮しつつ、前記画像
データにおける前記着目画素の階調値に基づいて、ドッ
ト形成有無を判断し、前記着目画素の次にドット形成有
無を判断する次着目画素についての前記既判断画素を検
出し、前記検出した既判断画素の中で前記階調誤差が保
持されていない既判断画素の階調誤差を読み出して、該
読み出した階調誤差で該次着目画素についての判断に使
用しない該階調誤差を更新した後、該次着目画素の判断
に供することを要旨とする。
【0034】かかる第2の画像処理装置および画像処理
方法においては、着目画素のドット形成判断に際して
は、前記既判断画素に対応付けて記憶されている階調誤
差を保持しておき、該保持されている階調誤差を考慮し
てドットの形成有無を判断する。次着目画素についての
ドット形成有無を判断する際には、先ず初めに、該次着
目画素についての既判断画素を検出し、次いで、該着目
画素についての既判断画素との異同を調べる。そして、
該着目画素のドット形成判断に使用しなかった既判断画
素に記憶されている階調誤差を読み出し、読み出した階
調誤差で、次着目画素の判断に使用しない階調誤差を更
新した後、該次着目画素の判断に供する。
【0035】こうすれば、次着目画素のドット形成判断
に際しては、該次着目画素についての判断には使用する
が、着目画素についてのドット形成判断には使用しない
階調誤差のみを読み出せばよい。その結果、ドット形成
判断のために読み出さなければならない階調誤差数を減
少させることができ、ドットの形成有無を判断するため
に要する時間を短縮化することが可能となる。
【0036】かかる第2の画像処理装置あるいは変換方
法においては、前記着目画素で発生した階調誤差を一時
保持しておき、該保持した階調誤差で、前記次着目画素
についての判断に使用しない前記階調誤差を更新するよ
うにしてもよい。
【0037】こうすれば、着目画素に対応付けて記憶さ
れている階調誤差を読み出すことなく、次着目画素のド
ット形成判断を行うことができるので、迅速にドットの
形成有無を判断することが可能となる。
【0038】また、印刷媒体上にインクドットを形成し
て画像を印刷する印刷部に対して、インクドットの形成
を制御するための印刷データを出力することで、該印刷
部を制御する印刷制御装置においては、本発明の上述し
た第1の画像処理装置あるいは第2の画像処理装置を好
適に利用することができる。すなわち、上述した第1の
画像処理装置あるいは第2の画像処理装置においては、
各画素の階調値を示す画像データを受け取り、該画像デ
ータをドットの形成有無による画像データに迅速に変換
することができる。このため、かかる第1の画像処理装
置あるいは第2の画像処理装置を、前記印刷制御装置に
適用すれば、画像データを印刷データに迅速に変換する
ことができる。こうして得られた印刷データを、前記印
刷部に出力すれば、該印刷部では高画質な画像を迅速に
印刷することが可能となるので好適である。
【0039】また、本発明は、上述した第1の画像処理
方法、あるいは第2の画像処理方法を実現するプログラ
ムをコンピュータに読み込ませ、コンピュータを用いて
実現することも可能である。従って、本発明は次のよう
な記録媒体としての態様も含んでいる。すなわち、上述
の第1の画像処理方法に対応する記録媒体は、各画素の
階調値を示す画像データを受け取り、該画素毎に該階調
値に基づきドット形成の有無を判断することによって、
該画像データをドット形成の有無による表現形式の画像
データに変換する方法を実現するプログラムを、コンピ
ュータで読み取り可能に記録した記録媒体であって、前
記ドット形成の有無を判断する度に該判断した画素で発
生する階調誤差を、該ドット形成有無の判断結果に基づ
き算出して一時的に保持しておく機能と、所定数の複数
画素についての前記一時的に保持された階調誤差に基づ
いて、該所定数の複数画素の周辺にあってドット形成有
無の判断がなされていない未判断画素に拡散される拡散
誤差を算出する機能と、前記算出した拡散誤差を前記未
判断画素に対応付けて記憶する機能と、前記未判断画素
に対応付けて記憶された前記拡散誤差を考慮しつつ、前
記画像データにおける該未判断画素の階調値に基づい
て、該未判断画素についてのドット形成有無を判断する
機能とを実現するプログラムを記録していることを要旨
とする。
【0040】また、上述の第2の画像処理方法に対応す
る記録媒体は、各画素の階調値を示す画像データを受け
取り、該画素毎に該階調値に基づきドット形成の有無を
判断することによって、該画像データをドット形成の有
無による表現形式の画像データに変換する方法を実現す
るプログラムを、コンピュータで読み取り可能に記録し
た記録媒体であって、前記ドット形成の有無を判断する
度に該判断した画素で発生する階調誤差を、該ドット形
成有無の判断結果に基づき算出して、該判断画素に対応
付けて記憶する機能と、前記ドット形成の有無を判断し
ようとする着目画素の周辺にあって該ドット形成有無を
判断済みの既判断画素毎に対応付けて記憶されている前
記階調誤差を、該既判断画素毎に保持しておく機能と、
前記既判断画素毎に保持されている階調誤差を考慮しつ
つ、前記画像データに示された前記着目画素の階調値に
基づいて、ドット形成有無を判断する機能と、前記着目
画素の次にドット形成有無を判断する次着目画素につい
ての前記既判断画素を検出する機能と、前記検出した既
判断画素の中で前記階調誤差が保持されていない既判断
画素の階調誤差を読み出して、該読み出した階調誤差で
該次着目画素についての判断に使用しない該階調誤差を
更新した後、該次着目画素の判断に供する機能とを実現
するプログラムを記録していることを要旨とする。
【0041】これら記録媒体に記録されているプログラ
ムをコンピュータに読み込ませ、該コンピュータを用い
て上述の各種機能を実現すれば、画素毎の階調値を示す
画像データを、ドット形成の有無による表現形式の画像
データに迅速に変換することが可能となる。
【0042】
【発明の実施の形態】本発明の作用・効果をより明確に
説明するために、本発明の実施の形態を、次のような順
序に従って以下に説明する。 A.実施の形態: B.第1実施例: B−1.装置構成: B−2.画像データ変換処理の概要: B−3.第1実施例の階調数変換処理: B−4.変形例: C.第2実施例: C−1.第2実施例において階調数変換処理の時間を短
縮化する原理: C−2.第2実施例の階調数変換処理: C−3.変形例: D.第3実施例: E.第4実施例: E−1.第4実施例において階調数変換処理の時間を短
縮化する原理: E−2.第4実施例の階調数変換処理:
【0043】A.実施の形態:図1を参照しながら、本
発明の実施の形態について説明する。図1は、印刷シス
テムを例にとって、本発明の実施の形態を説明するため
の説明図である。本印刷システムは、画像処理装置とし
てのコンピュータ10と、カラープリンタ20等から構
成されている。コンピュータ10は、デジタルカメラや
カラースキャナなどの画像機器からカラー画像の階調画
像データを受け取ると、該画像データを、カラープリン
タ20で印刷可能な各色ドットの形成有無により表現さ
れた印刷データに変換する。かかる画像データの変換
は、プリンタドライバ12と呼ばれる専用のプログラム
を用いて行われる。尚、カラー画像の階調画像データ
は、各種アプリケーションプログラムを用いてコンピュ
ータ10で作成することもできる。
【0044】プリンタドライバ12は、解像度変換モジ
ュール,色変換モジュール,階調数変換モジュール,イ
ンターレースモジュールといった複数のモジュールから
構成されている。階調画像データをドットの形成有無に
よる表現形式に変換する処理は、階調数変換モジュール
で行われる。他の各モジュールで行われる処理について
は後述する。カラープリンタ20は、これら各モジュー
ルで変換された印刷データに基づいて、印刷媒体上に各
色インクドットを形成することによってカラー画像を印
刷する。
【0045】本発明の印刷システムにおける階調数変換
モジュールは、図示するように、階調誤差算出部と誤差
バッファとの間に中間バッファが設けられた構成となっ
ている。この中間バッファを活用することで、ドット形
成有無の判断を迅速に行うことが可能となっている。
【0046】すなわち、一般に、階調データをドット形
成の有無によって表現しようとすると、おのずから、各
画素には階調表現の誤差が発生する。前述した誤差拡散
法あるいは平均誤差最小法と呼ばれる手法では、発生し
た階調誤差を、主記憶領域の一部に用意された大容量の
誤差バッファに蓄積しておき、他の画素についてのドッ
ト形成有無を判断する際には、該画素に蓄積されている
誤差を誤差バッファから読み出して、読み出した誤差の
値を考慮しながらドット形成の有無を判断している。こ
のことから明らかなように、ドット形成の有無を判断す
るためには、誤差バッファに対して頻繁にデータの読み
書きを行う必要がある。誤差バッファには大容量のバッ
ファが使用され、データの読み書きにある程度の時間を
要するので、頻繁に読み書きすればその分だけ時間がか
かってしまう。
【0047】これに対して本発明の印刷システムにおけ
る階調数変換モジュールでは、誤差バッファよりも小容
量の中間バッファを活用することで、後ほど詳細に説明
するように、誤差バッファに対して読み書きする頻度を
減少させている。中間バッファは小容量の領域が繰り返
して読み書きされるため、誤差バッファよりも高速に読
み書きすることが容易である。例えば、主メモリとCP
Uとの間に、主メモリよりも高速に読み書き可能なキャ
ッシュメモリを有するコンピュータシステムにおいて
は、中間バッファからデータを読み出そうとすると、ほ
とんどの場合にキャッシュから読み出されると期待さ
れ、特別な配慮をしなくとも自然に中間バッファは誤差
バッファよりも高速に読み書きすることが可能である。
【0048】また、CPUのレジスタに余裕がある場合
は、中間バッファの少なくとも一部を、キャッシュメモ
リよりも更に高速で読み書きが可能なレジスタに割り当
てることが可能であり、更に高速化を図ることができ
る。中間バッファの一部をCPUのレジスタに割り当て
るには、例えばC言語ではregister宣言を用いること
で、処理ソフトウェアのソースコードで明示的に指定す
ることが可能である。更に、最適化能力の高いコンパイ
ラの中には、余っているレジスタを使用頻度の高い変数
に自動的に割り当てる機能を有するものがあり、このよ
うなコンパイラを用いた場合には、明示的に指定せずと
も、中間バッファの一部がCPUのレジスタに割り当て
られることになる。
【0049】このように、繰り返し読み書きされる小容
量の中間バッファは、通常のコンピュータシステムにお
いては、特別な配慮を行わなくても高速に読み書き可能
となっている。もちろん、ソフトウェアではなくハード
ウェアなどで処理する場合にも、小容量の中間バッファ
を用いた方が、高速に読み書き可能な構成を容易に実現
することができる。
【0050】データの読み書きにある程度の時間を要す
る誤差バッファへの読み書き頻度が減少すれば、その分
だけドット形成有無の判断を迅速に行うことが可能とな
る。もちろん、中間バッファを用いていても、論理的に
は誤差拡散法あるいは平均誤差最小法と同等の処理を行
うので、これら方法と同等の画質を維持することができ
る。誤差バッファへ読み書きする頻度を減少させるため
に中間バッファを活用する具体的な方法には、種々の態
様が存在しており、これら各種の態様について、各種実
施例を用いて以下に説明する。
【0051】B.第1実施例: B−1.装置構成:図2は、第1実施例の画像処理装置
としてのコンピュータ100の構成を示す説明図であ
る。コンピュータ100は、CPU102を中心に、R
OM104やRAM106などを、バス116で互いに
接続して構成された周知のコンピュータである。CPU
102は実際に処理を行う演算器と、処理中のデータを
一時保持する複数のレジスタとから構成されている。レ
ジスタに保持されているデータは、RAM106に記憶
されているデータよりも遙かに高速に処理することが可
能である。もちろん、レジスタの代わりに、キャッシュ
メモリと呼ばれる特殊な記憶素子を活用しても良い。キ
ャッシュメモリは、レジスタほどではないが、RAM1
06よりも高速にデータを読み書きすることができる。
また、キャッシュメモリを活用すれば、レジスタを使用
する場合よりも多量のデータを扱うことが容易となる。
【0052】コンピュータ100には、フレキシブルデ
ィスク124やコンパクトディスク126のデータを読
み込むためのディスクコントローラDDC109や、周
辺機器とデータの授受を行うための周辺機器インターフ
ェースP・I/F108、CRT114を駆動するため
のビデオインターフェースV・I/F112等が接続さ
れている。P・I/F108には、後述するカラープリ
ンタ200や、ハードディスク118等が接続されてい
る。また、デジタルカメラ120や、カラースキャナ1
22等をP・I/F108に接続すれば、デジタルカメ
ラ120やカラースキャナ122で取り込んだ画像を印
刷することも可能である。また、ネットワークインター
フェースカードNIC110を装着すれば、コンピュー
タ100を通信回線300に接続して、通信回線に接続
された記憶装置310に記憶されているデータを取得す
ることもできる。
【0053】図3は、第1実施例のカラープリンタ20
0の概略構成を示す説明図である。カラープリンタ20
0はシアン,マゼンタ,イエロ,ブラックの4色インク
のドットを形成可能なインクジェットプリンタである。
もちろん、これら4色のインクに加えて、染料濃度の低
いシアン(淡シアン)インクと染料濃度の低いマゼンタ
(淡マゼンタ)インクとを含めた合計6色のインクドッ
トを形成可能なインクジェットプリンタを用いることも
できる。尚、以下では場合によって、シアンインク,マ
ゼンタインク,イエロインク,ブラックインクのそれぞ
れを、Cインク,Mインク,Yインク,Kインクと略称
するものとする。
【0054】カラープリンタ200は、図示するよう
に、キャリッジ240に搭載された印字ヘッド241を
駆動してインクの吐出およびドット形成を行う機構と、
このキャリッジ240をキャリッジモータ230によっ
てプラテン236の軸方向に往復動させる機構と、紙送
りモータ235によって印刷用紙Pを搬送する機構と、
ドットの形成やキャリッジ240の移動および印刷用紙
の搬送を制御する制御回路260とから構成されてい
る。
【0055】キャリッジ240には、Kインクを収納す
るインクカートリッジ242と、Cインク,Mインク,
Yインクの各種インクを収納するインクカートリッジ2
43とが装着されている。キャリッジ240にインクカ
ートリッジ242,243を装着すると、カートリッジ
内の各インクは図示しない導入管を通じて、印字ヘッド
241の下面に設けられた各色毎のインク吐出用ヘッド
244ないし247に供給される。各色毎のインク吐出
用ヘッド244ないし247には、48個のノズルNz
が一定のノズルピッチkで配列されたノズル列が1組ず
つ設けられている。
【0056】制御回路260は、CPU261とROM
262とRAM263等から構成されており、キャリッ
ジモータ230と紙送りモータ235の動作を制御する
ことによってキャリッジ240の主走査と副走査とを制
御するとともに、コンピュータ100から供給される印
刷データに基づいて、各ノズルから適切なタイミングで
インク滴を吐出する。こうして、制御回路260の制御
の下、印刷媒体上の適切な位置に各色のインクドットを
形成することによって、カラープリンタ200はカラー
画像を印刷することができる。
【0057】尚、各色のインク吐出ヘッドからインク滴
を吐出する方法には、種々の方法を適用することができ
る。すなわち、ピエゾ素子を用いてインクを吐出する方
式や、インク通路に配置したヒータでインク通路内に泡
(バブル)を発生させてインク滴を吐出する方法などを
用いることができる。更には、インクを吐出する代わり
に、熱転写などの現象を利用して印刷用紙上にインクド
ットを形成する方式や、静電気を利用して各色のトナー
粉を印刷媒体上に付着させる方式のプリンタであっても
構わない。
【0058】また、インク吐出ヘッドから吐出するイン
ク滴の大きさを制御したり、あるいは微細なインク滴を
一度に複数吐出して、吐出するインク滴の数を制御する
といった方法を用いて、印刷用紙上に形成されるインク
ドットの大きさを制御な可能なプリンタ、いわゆるバリ
アブルドットプリンタを用いることも可能である。
【0059】B−2.画像データ変換処理の概要:図4
は、第1実施例の画像処理装置としてのコンピュータ1
00が、受け取った画像データに所定の画像処理を加え
ることにより、該画像データを印刷データに変換する処
理の流れを示すフローチャートである。かかる処理は、
コンピュータ100のオペレーティングシステムがプリ
ンタドライバを起動することによって開始される。以
下、図4に従って、第1実施例の画像データ変換処理に
ついて簡単に説明する。
【0060】プリンタドライバは、画像データ変換処理
を開始すると、先ず初めに、変換すべきRGBカラー画
像データの読み込みを開始する(ステップS100)。
次いで、取り込んだ画像データの解像度を、カラープリ
ンタ200が印刷するための解像度に変換する(ステッ
プS102)。カラー画像データの解像度が印刷解像度
よりも低い場合は、線形補間を行うことで隣接画像デー
タ間に新たなデータを生成し、逆に印刷解像度よりも高
い場合は、一定の割合でデータを間引くことによって画
像データの解像度を印刷解像度に変換する。
【0061】こうして解像度を変換すると、カラー画像
データの色変換処理を行う(ステップS104)。色変
換処理とは、R,G,Bの階調値の組み合わせによって
表現されているカラー画像データを、C,M,Y,Kな
どのカラープリンタ200で使用する各色の階調値の組
み合わせによって表現された画像データに変換する処理
である。色変換処理は、色変換テーブル(LUT)と呼
ばれる3次元の数表を参照することで迅速に行うことが
できる。
【0062】色変換処理に続いて、階調数変換処理を開
始する(ステップS106)。階調数変換処理とは次の
ような処理である。色変換処理によって変換された階調
データは、各色毎に256階調幅を持つデータとして表
現されている。これに対し、本実施例のカラープリンタ
200では、「ドットを形成する」,「ドットを形成し
ない」のいずれかの状態しか採り得ない。すなわち、本
実施例のカラープリンタ200は局所的には2階調しか
表現し得ない。そこで、256階調を有する画像データ
を、カラープリンタ200が表現可能な2階調で表現さ
れた画像データに変換する必要がある。このような階調
数の変換を行う処理が階調数変換処理である。前述した
ように、本実施例においては中間バッファを活用するこ
とにより、ドットの形成有無の判断を迅速に行うことが
可能となっている。階調数変換処理については、後ほど
詳細に説明する。
【0063】こうして階調数変換処理を終了したら、プ
リンタドライバはインターレース処理を開始する(ステ
ップS108)。インターレース処理は、ドットの形成
有無を表す形式に変換された画像データを、ドットの形
成順序を考慮しながらカラープリンタ200に転送すべ
き順序に並べ替える処理である。プリンタドライバは、
インターレース処理を行って最終的に得られた画像デー
タを、印刷データとしてカラープリンタ200に出力す
る(ステップS110)。カラープリンタ200は、印
刷データに従って、各色のインクドットを印刷媒体上に
形成する。その結果、画像データに対応したカラー画像
が印刷媒体上に印刷される。
【0064】以下では、第1実施例の階調数変換処理に
おいて、中間バッファを活用することにより、ドットの
形成有無の判断を迅速に行う処理について説明する。
【0065】B−3.第1実施例の階調数変換処理:中
間バッファを活用してドット形成有無の判断に要する時
間を短縮化する原理を説明するための準備として、いわ
ゆる誤差拡散法においてドットの形成有無の判断を行う
方法について簡単に説明する。
【0066】図5は、誤差拡散法において、ドットの形
成有無を判断した画素で発生した階調誤差を、周辺画素
に拡散させながら、ドットの形成有無を判断していく様
子を概念的に示した説明図である。尚、以下では、ドッ
トの形成有無を判断しようと着目した画素を着目画素と
呼ぶ。図5(a)に示すように、P00と符合した画素
(着目画素)でドット形成有無を判断した結果として、
該着目画素の画像データにおける階調値との間に階調誤
差E00が発生したものとする。図中に斜線を施した部分
はドット形成有無を判断済みの画素を示している。誤差
拡散法では、階調誤差E00に所定の重み係数(誤差拡散
係数)を乗算し、得られた値を、着目画素周辺の未判断
画素に拡散する。尚、以下で使用する添え字は次の内容
を意味するものとする。例えば、添え字「00」は着目画
素を示し、添え字「01」は着目画素の右隣の画素を、添
え字「0 -1」は左隣の画素を示す。添え字「10」は着目
画素の真下の画素を、添え字「-1 0」は着目画素の真上
の画素を示す。また、添え字「11」は添え字「10」と
「01」とが組み合わされたものと考えて、着目画素の右
斜め下の画素を示しているものとする。
【0067】図6は、階調誤差を拡散する際に使用する
誤差拡散係数の設定例を示す説明図である。尚、図6で
斜線が付されている画素位置は着目画素の位置を示して
いる。このような、着目画素から周辺画素への誤差拡散
係数を表示したマトリックスは、誤差拡散マトリックス
と呼ばれる。例えば、図6(a)の誤差拡散マトリック
スでは、着目画素の右隣には誤差拡散係数K01の値とし
て「1/4」が設定されている。従って、このような誤
差拡散マトリックスを使用すると、着目画素で発生した
階調誤差の1/4の誤差が右隣の画素に配分されること
になる。同様に、着目画素の左下,真下,右下の各画素
にも、着目画素で生じた階調誤差の1/4の誤差が配分
される。誤差拡散マトリックスは図6に例示するものに
限られず、誤差を拡散する範囲や誤差拡散係数などは種
々の値を設定することが可能であり、実際の誤差拡散法
では良好な画質が得られるように、適宜、適切な誤差拡
散マトリックスが使用される。尚、説明の煩雑化を避け
るために、以下の説明では、例示した誤差拡散マトリッ
クスの中では最も拡散範囲の狭いマトリックス、すなわ
ち、図6(a)の誤差拡散マトリックスを使用するもの
として説明する。
【0068】誤差拡散マトリックスとして図6(a)の
マトリックスを使用するものとすれば、図5(a)に示
すように着目画素P00で生じた階調誤差E00は、右隣の
画素P01,左下の画素P1-1 ,真下の画素P10,右下の
画素P11の合計4つの画素に、それぞれ階調誤差E00の
1/4ずつ配分される。こうして着目画素周辺のそれぞ
れの画素に拡散された誤差(拡散誤差)は、画素毎に分
離された状態で記憶しておく必要がある。そのため拡散
誤差は、多数の画素についての拡散誤差を記憶すること
の可能な、大容量のRAM106(図2参照)に記憶さ
れる。
【0069】画素P00についての階調誤差を周辺画素に
拡散したら、今度は右隣の画素P01について、ドット形
成有無の判断を開始する。図5(b)は着目画素P01に
ついてのドット形成有無を判断する様子を概念的に示す
説明図である。ドット形成判断に際しては、先ず、周辺
画素から着目画素P01に配分されて蓄積されている拡散
誤差を読み出し、読み出した拡散誤差で着目画素P01の
画像データを補正する。図5(b)に示すように、着目
画素P01には、ドット形成判断済みの周辺画素、すなわ
ち画素P-10 ,画素P-11 ,画素P-12 ,画素P00の4
つの画素から、前述の誤差拡散マトリックスに従って拡
散されてきた誤差が蓄積されている。この拡散誤差をR
AM106から読み出して、着目画素P01の画像データ
を補正し、得られた補正値を所定の閾値と比較すること
でドットの形成有無を判断する。判断の詳細については
後述する。こうして着目画素P01についてドットの形成
有無を判断すると、画素P01には新たな階調誤差E01が
発生するので、この階調誤差を誤差拡散マトリックスに
従って周辺画素に拡散する。このように誤差拡散法で
は、着目画素で階調誤差が発生する度に、その都度周辺
にある複数の画素に拡散しながらドット形成有無を判断
している。このため、RAM106に対してデータを頻
繁に読み書きする必要があるので、その分だけ、ドット
形成有無の判断に要する時間も長くなる。
【0070】これに対して本実施例の階調数変換処理に
おいては、中間バッファを活用することにより、ドット
形成有無の判断に要する時間を短縮化する。図7は、中
間バッファを活用して、判断に要する時間を短縮化する
原理を示す説明図である。本実施例では、CPU102
に内蔵されているレジスタを中間バッファとして使用す
る。前述したように、レジスタはRAM106に比べて
高速に処理することが可能である。もちろん、レジスタ
ではなく、キャッシュメモリを用いて実質的に同等の処
理を行っても構わない。以下、図7を参照しながら、第
1実施例においてドット形成有無の判断に要する時間を
短縮化する原理について説明する。
【0071】図7(a)は、着目画素P00についてドッ
ト形成有無を判断した様子を示している。該判断を行っ
た結果として、着目画素には階調誤差E00が発生してい
る。図7(a)の右側に表示した6つの矩形は、中間バ
ッファとして使用される6つのレジスタを模式的に表示
したものである。説明の便宜上、以下では、各レジスタ
にR01,R02,R1-1 ,R10,R11,R12と符合を付し
て区別する。第1実施例の階調数変換処理においては、
着目画素P00で発生した階調誤差E00を、直接RAM1
06に拡散するのではなく、一旦レジスタに蓄える。す
なわち、レジスタR01の値を、着目画素の右隣の画素P
01に配分すべき誤差で更新する。画素P01に配分すべき
誤差は、誤差拡散マトリックスに従って、K01・E00で
求めることができる。同様に、レジスタR1-1 の値を、
着目画素P00の左下の画素P1-1に配分すべき誤差で更
新し、レジスタR10の値を真下の画素P10に配分すべき
誤差で、レジスタR11の値を右下の画素P11に配分すべ
き誤差で、それぞれ更新する。それぞれの誤差は誤差拡
散マトリックスに従って、K1-1 ・E00,K10・E00,
K11・E00で求めることができる。
【0072】こうして周辺の4つの画素に配分すべきそ
れぞれの拡散誤差で、対応する4つのレジスタの値を更
新したら、今度は画素P00の右隣の画素P01について、
ドットの形成有無を判断する。画素P01の判断に際して
は、新たな着目画素P01の拡散誤差をRAM106から
読み出して、読み出した誤差とレジスタR01に記憶され
ている誤差とを加算した値で、着目画素P01の階調デー
タを補正する。このように、着目画素P01の拡散誤差と
レジスタR01の誤差とを加算した値で補正すれば、通常
の誤差拡散法と、実質的にはまったく同じ処理を行うこ
とができる。すなわち、通常の誤差拡散法では、図5を
用いて説明したように、階調誤差が発生する度にこれを
周辺の画素に拡散しておき、右隣の画素P01のドット形
成有無を判断する際には、画素P01に配分されている拡
散誤差を読み出して画素P01の階調データを補正し、補
正した値に基づいてドットの形成有無を判断している。
これに対して、本実施例においては、図7(a)に示す
ように、画素P01に配分される誤差がレジスタR01に記
憶されているので、画素P01の拡散誤差とレジスタR01
に記憶された誤差とを加算した値で、階調データを補正
することで、通常の誤差拡散法と実質的に全く同等の処
理を行うことができるのである。こうして新たな着目画
素P01についてドットの形成有無を判断すると、着目画
素P01には、新たな階調誤差E01が発生する(図7
(b)参照)。
【0073】画素P01に発生した階調誤差E01も、画素
P00の階調誤差E00と同様に、誤差拡散マトリックスに
設定された割合で、それぞれのレジスタに拡散させる。
図7(b)を参照しながら具体的に説明する。先ず、画
素P02は着目画素P01の右隣の画素であるから、対応す
るレジスタR02の値を、誤差拡散マトリックスに設定さ
れた誤差拡散係数K01と階調誤差E01とを乗算した値で
更新する。画素P10は、着目画素P02の左下の画素であ
るから、対応するレジスタR10の値 には、誤差拡散係
数K1-1 と階調誤差E01とを乗算した値K1-1 ・E01を
加算する。ここで、図7(b)に示すように、レジスタ
R10には、既に画素P00から拡散されてきた誤差K10・
E00が記憶されているので、既に拡散されている誤差と
新たに拡散されてきた誤差とをレジスタR02上で加算す
るのである。この結果、レジスタR02の値は、2つの画
素から拡散されてきた誤差の和(K10・E00+K1-1 ・
E01)に更新される。以下、画素P11および画素P12に
ついても同様に、対応するレジスタR11の値は拡散誤差
(K11・E00+K10・E01)で更新され、レジスタR12
の値はK11・E01で更新される。
【0074】以上のような処理を行うことにより、画素
P00で発生した階調誤差E00と画素P01での階調誤差E
01とが、それぞれのレジスタに拡散されたことになる。
そこで、図7(c)に示すように、各レジスタに記憶さ
れている誤差を周辺画素に対応する誤差バッファ(具体
的にはRAM106)に書き込んでいく。すなわち、画
素P02の誤差バッファにはレジスタR02に記憶されてい
る値K01・E01を加算し、画素P1-1 の誤差バッファに
はレジスタR1-1 に記憶されている値K1-1 ・E00を、
画素P10にはレジスタR10の値(K10・E00+K1-1 ・
E01)を、画素P11にはレジスタR11の値K11・E00+
K10・E01を、画素P12にはレジスタR12の値K11・E
01を、それぞれ加算していく。こうすることにより、通
常の誤差拡散法において画素P00および画素P01での誤
差を拡散した状態(図5(c)参照)と同様の誤差が、
周辺の5つの画素の各誤差バッファに拡散されることに
なる。尚、画素P01については既にドット形成有無の判
断を終了しているため、レジスタR01の値をRAM10
6に加算する必要はない。このように本実施例の方法で
は、2画素分のドット形成有無を判断して、5画素分の
誤差バッファに誤差を拡散しているので、1画素分の判
断をする度に2.5画素の割合で誤差バッファへの誤差
拡散を行っていることになる。
【0075】尚、以上では説明の便宜上、2値化を行っ
た画素周辺の5つの画素に拡散される全ての誤差を、一
旦レジスタに記憶し、2つの画素から拡散されてくる誤
差をレジスタ上で加算してから誤差バッファに拡散する
ものとして説明した。もちろん、レジスタ上で誤差の加
算を行わない画素、例えば画素P1-1 ,画素P02,画素
P12については、誤差バッファに直接、誤差を拡散して
も構わない。
【0076】図5に示した通常の誤差拡散法では、1画
素のドット形成判断を行う度に周辺の4画素に誤差を拡
散していた。これに対して、本実施例の方法において
は、未だ2値化していない同一の画素に、複数の画素か
ら拡散される誤差を一旦レジスタ上で加算してからまと
めて拡散することにより、1画素分の判断をする度に
2.5画素分の誤差バッファに誤差を拡散するだけでよ
い。もちろん、通常の誤差拡散法に対して、誤差をレジ
スタへ配分する工程が追加されているが、レジスタの値
の更新あるいはレジスタ上での加算といった処理はRA
Mへ誤差を拡散させる処理に比べて遙かに高速に行うこ
とができるので、全体としてドット形成有無の判断に要
する時間を短縮化することが可能となる。尚、ここでは
レジスタに記憶するものとして説明するが、必ずしもレ
ジスタに限られず、誤差バッファとして使用されている
記憶手段よりも高速に読み書き可能な記憶手段でありさ
えすればよい。また、例えば、CPUとRAMとのデー
タのやり取りを高速で行うために設けられているキャッ
シュメモリを活用することにより、実質的に同等な処理
を行うものであっても構わない。本実施例で用いる中間
バッファは、小容量のメモリ領域を各画素の処理に繰り
返して使用するため、通常は設計者が明示的に指定しな
くとも、コンパイラやCPU自体の機能によって自動的
にレジスタやキャッシュメモリに割り当てられ、高速に
読み書きすることが可能となる。
【0077】尚、以上の説明では、2つの画素から拡散
されてくる誤差をレジスタ上で直接、加算するものとし
たが、それぞれの誤差を別々のレジスタに一旦記憶した
後、別のレジスタ上で加算しても構わない。例えば、図
7(b)の画素P10に拡散される誤差を例にとって説明
すると、先ずレジスタR10の値を画素P00からの誤差K
10・E00で更新し、次いでレジスタR10上で、画素P01
からの誤差K1-1 ・E01を加算している。このような処
理に換えて、画素P00からの誤差と画素P01〜の誤差と
をそれぞれレジスタRa とレジスタRb とに記憶してお
き、2つのレジスタの値をレジスタR10上で加算しても
構わないのはもちろんである。
【0078】図8は、以上に説明した本実施例の階調数
変換処理の流れを示すフローチャートである。この処理
はコンピュータ100のCPU102によって行われ
る。尚、前述したように、本実施例のカラープリンタ
は、C,M,Y,Kの4色のインクドットを形成可能な
プリンタであり、図8に示す階調数変換処理も各色毎に
行っているが、以下では説明の煩雑化を避けるために、
インクドットの色を特定せずに説明する。尚、上記の4
色に加えて、LCインク,LMインクを加えて6色プリ
ンタを使用してもよいのはもちろんである。
【0079】また、前述したように本実施例のカラープ
リンタは、各色毎に大きさの異なるドットを形成可能な
バリアブルドットプリンタとすることも可能である。バ
リアブルドットプリンタを使用する場合、例えば、大ド
ット,中ドット,小ドットの各種ドットを形成可能なバ
リアブルドットプリンタを用いる場合には、以下に説明
する階調数変換処理は、各種大きさのドット毎に行われ
る。
【0080】このように、使用するインクの色が増加し
たり、種々の大きさのドットが形成可能となるにつれて
階調数変換処理を行う回数が増加するので、それだけ処
理に要する時間も長くなる傾向がある。以下に説明する
本実施例の階調数変換処理は迅速な処理が可能であるた
めに、このような場合にも好適に適用することができ
る。
【0081】本実施例の階調数変換処理を開始すると、
先ず初めに、ドット形成有無を判断しようとしている2
画素分の画像データCd1,Cd2を読み込む(ステップS
200)。尚、ここでは便宜上、左側の画素を第1画素
と呼び、右側の画素を第2画素と呼ぶことにする。画像
データは、コンピュータ100に内蔵されているRAM
106に記憶されている。次いで、第1画素および第2
画素のそれぞれに拡散されて蓄積されている拡散誤差E
d1,Ed2を誤差バッファから読み出す(ステップS20
2)。誤差バッファもRAM106上に設けられてい
る。
【0082】続いて、第1画素の画像データCd1と第1
画素の拡散誤差Ed1とを加算することにより、第1画素
の補正データCx1を算出する(ステップS204)。こ
うして得られた補正データCx1と所定の閾値th とを比
較して(ステップS206)、補正データの方が大きけ
れば第1画素にドットを形成すると判断して、第1画素
についての判断結果を示す変数Cr1にドットを形成する
ことを意味する値「1」書き込む(ステップS20
8)。そうでなければ第1画素にはドットを形成しない
と判断して、変数Cr1にドットの形成しないことを意味
する値「0」を書き込む(ステップS210)。
【0083】こうして第1画素についてのドット形成有
無を判断したら、該判断に伴って第1画素に発生する階
調誤差を算出する(ステップS212)。第1画素で発
生する階調誤差E1 は、第1画素の補正データCx1か
ら、ドットを形成することにより、あるいはドットを形
成しないことにより第1画素で表現される階調値(以下
では、このような階調値を結果値という)を減算するこ
とで求めることができる。
【0084】次いで、第1画素で発生した階調誤差E1
を中間バッファに拡散する(ステップS214)。この
処理は、図7(a)を用いて説明した処理に相当する処
理である。すなわち、第1画素の階調誤差E1 に誤差拡
散マトリックスに設定された誤差拡散係数を乗算して、
周辺画素に拡散すべき拡散誤差を算出し、得られた拡散
誤差をそれぞれの中間バッファに記憶しておく。
【0085】第1画素で発生した誤差を中間バッファに
拡散したら、第2画素についてのドット形成有無の判断
を開始する。第2画素についての判断を行うためには、
第2画素の補正データを算出する必要がある。そこで、
予め読み出しておいた第2画素の画像データCd2と、第
2画素の拡散誤差Ed2と、第1画素から第2画素に配分
されてきた誤差とを加算して、第2画素の補正データC
x2を算出する(ステップS216)。図7を用いて説明
したように、第1画素から第2画素に拡散されてきた誤
差は、予め定められた中間バッファに記憶されている。
尚、図8に示す実施例では、第1画素の画像データおよ
び拡散誤差を読み出すと同時に、第2画素の画像データ
および拡散誤差も予め読み出しておくものとしたが、も
ちろん、第2画素については、補正データの算出に必要
になってから、画像データと拡散誤差とを読み出すもの
としても良い。第1画素および第2画素についての画像
データと拡散誤差とを一度に読み出す場合には、メモリ
上で連続した位置から読み出すといった方法を採用する
ことによって、これらデータを迅速に読み出すことが可
能になる。
【0086】尚、第2画素の画像データおよび拡散誤差
については、ステップS200およびS202ではな
く、ステップS216の直前で読み出すようにしても構
わない。こうすれば、CPU102のレジスタ数に限り
がある場合に、第2画素の画像データおよび拡散画素を
読み出すまでの間は、レジスタを他の目的に使用するこ
とが可能となるので好適である。
【0087】ステップS216で第2画素についての補
正データCd2を算出したら、第1画素の場合と同様に、
所定の閾値th と比較することによってドットの形成有
無を判断する(ステップS218)。補正データCd2の
方が大きければ第2画素にドットを形成すると判断し
て、ドットを形成することを意味する値「1」を書き込
み(ステップS220)、そうでなければドットを形成
しないことを意味する値「0」を書き込む(ステップS
222)。次いで、第2画素の階調誤差E2 を算出する
(ステップS224)。第2画素で発生する階調誤差E
2 も第1画素の階調誤差E1 と同様にして、第2画素の
補正データCx2から、第2画素についての結果値(画素
についてのドットの形成有無を判断したことにより、そ
の画素に表現される階調値)を減算することで求めるこ
とができる。
【0088】続いて、第2画素の階調誤差を中間バッフ
ァに拡散する処理を行う(ステップS226)。この処
理は、図7(b)を用いて説明した処理に相当する処理
である。すなわち、第2画素の階調誤差E2 に誤差拡散
マトリックスに設定された各画素の誤差拡散係数を乗算
して、周辺画素に拡散すべき拡散誤差を算出し、得られ
た拡散誤差をそれぞれの中間バッファに記憶させる。こ
こで、中間バッファに第1画素から配分されてきた誤差
が既に記憶されている場合には、既に記憶されている誤
差に新たに配分した誤差を加算して記憶する。図7
(b)に示した例では、レジスタR10およびレジスタR
11の2つのレジスタについては既に配分されている誤差
が存在するので、これに新たに配分した誤差を加算して
記憶させる。この結果、5つのレジスタには第1画素お
よび第2画素から、周辺の各画素に拡散すべき誤差が蓄
積されることになる。そこで、続くステップS228の
処理では、中間バッファに画素毎に記憶されている誤差
を、RAM上の誤差バッファに加算し(図7(c)参
照)、加算し終わったら中間バッファをリセットしてお
く。
【0089】次いで、全画素についてドット形成有無を
判断したか否かを判断し(ステップS230)、未判断
の画素が残っていればステップS200に戻って続く一
連の処理を行う。こうして全画素について、ドット形成
有無の判断を終了するまで、階調誤差を周辺画素に拡散
しながら、2画素ずつドットの形成有無を判断し、全画
素について判断を終了したら、本実施例の階調数変換処
理を終了して、図4の画像データ変換処理に復帰する。
【0090】以上に説明した本実施例の階調数変換処理
においては、2画素分のドット形成有無を判断する度
に、5画素分の誤差バッファに誤差を拡散すればよい。
通常の誤差拡散法を用いて同様の処理を行うためには、
1画素の判断を行う度に4画素分の誤差バッファに誤差
を拡散しなければならないことと比較すれば、本実施例
の階調数変換処理を採用することで、誤差バッファへの
誤差の拡散に要する時間を大きく短縮することができ
る。特に、階調数変換処理では、画像を構成する多数の
画素についてドット形成有無を判断するとともに、発生
した階調誤差を周辺画素に拡散していかなければならな
いので、誤差バッファへの誤差の拡散に要する時間は階
調数変換処理に要する時間の中で比較的大きな割合を占
めている。このことから、本実施例の階調数変換処理を
採用して誤差の拡散に要する時間を短縮化すれば、階調
数変換処理を含めた画像処理全体を迅速に行うことがで
き、延いては画像を迅速に印刷することが可能となる。
【0091】以上の説明では、説明の便宜上、2画素ず
つドットの形成有無を判断するものとして説明した。す
なわち、2つの画素で生じる階調誤差を中間バッファに
蓄えておき、2つの画素から拡散されてきた誤差を中間
バッファ上で加算し、まとめて誤差バッファに拡散す
る。もちろん、より多くの画素についてドット形成有無
を判断し、発生した誤差を中間バッファ上で加算するよ
うにしても良い。例えば、3画素ずつドットの形成有無
を判断することとした場合は、図9(a)に示すよう
に、ドット形成有無を判断する画素(図中で斜線を付し
て表示)の周辺にある6つの画素の誤差バッファに誤差
を拡散すればよい。すなわち、判断を行う画素1つあた
り、2画素分の誤差バッファに誤差を拡散すれば足り
る。更に、6画素ずつドットの形成有無を判断した場合
は、図9(b)に示すように、9画素分の誤差バッファ
に誤差を拡散すればよいので、判断画素1つあたりでは
1.5画素分の誤差バッファに誤差を拡散すればよい。
このように、一度にドット形成有無を判断する画素数を
多くするほど、判断画素1画素あたりに拡散する誤差バ
ッファの画素数が減少するので、階調数変換処理に要す
る時間を短縮化させることが可能になる。
【0092】B−4.変形例:また、以上に説明した第
1実施例の階調数変換方法においては、第1画素および
第2画素から周辺画素に拡散される拡散誤差を各階調誤
差に基づいて算出し、周辺画素毎に蓄積しておくものと
して説明したが、次のようにしても良い。すなわち、第
1画素および第2画素で発生した階調誤差そのものを中
間バッファに記憶しておき、これら記憶している階調誤
差から周辺画素に拡散すべき拡散誤差を算出し、各画素
に対応する誤差バッファに記憶させるようにしても良
い。かかる方法は、中間バッファに記憶される値が蓄積
中の拡散誤差であるか、階調誤差であるかの違いがある
ものの、誤差バッファには同じ誤差が記憶されることか
ら実質的に同等の処理を行うことができる。以下、この
ような第1実施例の変形例について説明する。
【0093】図10は、第1実施例の変形例における階
調数変換方法の流れを示すフローチャートである。以
下、図8に示した第1実施例の階調数変換処理と異なる
部分を中心に、変形例の階調数変換方法について、図1
0を参照しながら簡単に説明する。
【0094】変形例においても第1実施例の階調数変換
処理と同様に、処理を開始すると先ず初めに第1画素と
第2画素の画像データCd1,Cd2を読み込む(ステップ
S300)。ここで、第1画素とはドット形成有無を判
断しようとしている2つの画素の中の左側の画素を言
い、第2画素とは右側の画素を言う。次いで、第1画素
および第2画素のそれぞれに拡散されている拡散誤差E
d1,Ed2を誤差バッファから読み出す(ステップS30
2)。誤差バッファは第1実施例の場合と同様にRAM
106上に設けられている。次いで、第1画素の画像デ
ータと拡散誤差とを加算して、第1画素の補正データC
x1を算出する(ステップS304)。続いて、補正デー
タCx1と所定の閾値thとを比較し(ステップS30
6)、補正データの方が大きければ第1画素にドットを
形成すると判断して、第1画素についての判断結果を示
す変数Cr1に、ドットを形成することを意味する値
「1」を書き込む(ステップS308)。そうでなけれ
ば、第1画素にはドットを形成しないと判断して、ドッ
ト形成しないことを意味する値「0」を変数Cr1に書き
込む(ステップS310)。こうして第1画素について
のドット形成の有無を判断したら、該判断に伴って第1
画素に発生する階調誤差を算出する(ステップS31
2)。階調誤差は、第1実施例の場合と同様に、補正デ
ータCx1から結果値を減算することにより求めることが
できる。
【0095】第1実施例の変形例においては、こうして
算出した第1画素の階調誤差E1 を中間バッファに記憶
する(ステップS314)。すなわち、第1実施例の階
調数変換処理においては階調誤差を中間バッファに拡散
させたが、変形例の階調数変換処理においては階調誤差
を拡散させることなく、そのまま中間バッファに記憶す
るのである。
【0096】第1画素の階調誤差E1 を中間バッファに
記憶したら、第2画素についてのドット形成有無を判断
するために、第2画素の補正データCx2を算出する(ス
テップS316)。すなわち、予め読み出しておいた第
2画素の画像データCd2と拡散誤差Ed2と、第1画素か
ら拡散されてくる誤差とを加算する。第1画素からの誤
差は、中間バッファに記憶されている第1画素の階調誤
差E1 と誤差拡散係数とを乗算することで求められる。
第1実施例の場合と同様に、誤差拡散係数の値は誤差拡
散マトリックスに設定されている。こうして算出した第
2画素の補正データCx2と所定の閾値thとを比較して
(ステップS318)、補正データCx2の方が大きけれ
ばドットを形成すると判断し、第2画素についての判断
結果を示す変数Cr2にドットを形成することを意味する
値「1」を書き込む(ステップS320)。そうでなけ
れば、ドットは形成しないと判断して、変数Cr2にドッ
トを形成しないことを意味する値「0」を書き込む(ス
テップS322)。次いで、第2画素についての階調誤
差E2 を算出し(ステップS324)、算出した階調誤
差E2 は、周辺画素に拡散させることなく、そのまま中
間バッファに一旦記憶する(ステップS326)。この
とき、第2画素の階調誤差E2 は先に記憶しておいた第
1画素の階調誤差E1 とは別個に記憶しておく。第2画
素の階調誤差E2 は、第1画素の階調誤差E1 と同様
に、第2画素の補正データCx2から結果値を減算して求
めることができる。
【0097】こうして、第1画素の階調誤差E1 と第2
画素の階調誤差E2 とをそれぞれの中間バッファに記憶
したら、2つの階調誤差をまとめて誤差バッファに拡散
させる。この処理を、図7を利用して説明する。図7で
は、画素P00が第1画素に対応し、画素P01が第2画素
に対応している。前述したように、第1画素および第2
画素で発生した階調誤差は、これら画素の周辺にある5
つの画素に所定の割合で拡散される。例えば、第1画素
の左下にある画素P1-1 には画素P00からの誤差K1-1
・E00が拡散される。ここで、K1-1 は、階調誤差を左
下の画素へ拡散させる際に使用する誤差拡散係数であ
り、誤差拡散係数の値は誤差拡散マトリックスに設定さ
れている。また、画素P10には、第1画素からの誤差K
10・E00と、第2画素からの誤差K1-1 ・E01とを加算
した誤差K10・E00+K1-1 ・E01が拡散される。他の
3つの画素についても同様に、画素P11にはK11・E00
+K10・E01が、画素P12にはK11・E01が、画素P02
にはK01・E01の値が、それぞれ拡散される。このよう
に、周辺の各画素に拡散される誤差の値は、階調誤差E
1 および階調誤差E2 が決まれば誤差拡散係数に基づい
て算出することができる。そこで、ステップS328に
おいては、中間バッファに記憶されている第1画素の階
調誤差E1 と第2画素の階調誤差E2 とを用いて、第1
画素と第2画素の周辺の各画素に拡散する誤差を算出
し、各画素に対応する誤差バッファに加算していくので
ある。こうした処理が終了したら、次の画素の処理に使
用するために、階調誤差E1 ,E2 を記憶している中間
バッファをリセットしておく。
【0098】次いで、全画素についてドット形成有無を
判断した否かを判断し(ステップS330)、未判断の
画素が残っていたらステップS300に戻って続く一連
の処理を行う。こうして全画素についてドット形成の有
無を判断したら、第1実施例の変形例の階調数変換処理
を終了して、図4の画像データ変換処理に復帰する。
【0099】以上に説明した変形例の方法によっても、
第1実施例の階調数変換処理と実質的に同等の処理を行
うことができる。かかる変形例の方法によれば、第1実
施例の方法よりも中間バッファの容量を節約することが
できる。
【0100】C.第2実施例: C−1.第2実施例において階調数変換処理の時間を短
縮化する原理:以上に説明した第1実施例の階調数変換
処理においては、ドット形成有無を判断して発生した階
調誤差を、高速に読み書き可能なレジスタなどの中間バ
ッファに拡散しておき、所定画素数のドット形成有無の
判断を終了する度に、中間バッファに拡散されている全
ての誤差を誤差バッファに加算していく。これに対し
て、以下に説明する第2実施例の階調数変換処理におい
ては、ドット形成有無を判断する度に、1画素分ずつ誤
差バッファに加算して行く。後述するように、第2実施
例の方法によれば、第1実施例の方法よりも少ないレジ
スタ数で階調数変換処理を実現することができ、更に、
レジスタなどの中間バッファから誤差バッファへの書き
込み頻度も少なくすることができる。以下、かかる第2
実施例について説明する。
【0101】初めに第2実施例の処理原理、すなわち、
1画素のドット形成有無を判断する度に1画素分の拡散
誤差を誤差バッファに加算して行くことによって通常の
誤差拡散法と実質的に同等の処理を行う原理を、図11
を参照しながら説明する。図11の斜線を付した部分
は、ドット形成判断を行った画素の領域を示している。
尚、以下でも、説明の便宜のために、第1実施例の場合
と同様に誤差拡散マトリックスは図6(a)に示したマ
トリックスを使用するものとする。図11(a)は、画
素P00についてのドット形成有無の判断を行い、生じた
階調誤差E00を周辺画素に拡散している様子を示してい
る。
【0102】ここで、太い破線で囲って示した画素P11
に着目すると、画素P11には、画素P00で生じた誤差E
00に加えて、画素P00の右隣の画素P01で生じた誤差E
01と、その更に右隣の画素P02で生じた誤差E02とが配
分されている(図11(b),(c)参照)。つまり1
つの画素には、連続する3つの画素から続けて誤差が配
分されていることになる。尚、連続する3つの画素から
誤差が配分されるのは、図6(a)あるいは図6(e)
に示す誤差拡散マトリックスを用いた場合で、他のマト
リックス、例えば図6(b)や図6(f)のマトリック
スを用いた場合は連続する5つの画素からの誤差が、図
6(c)のマトリックスを用いた場合は連続する7つの
画素からの誤差が、それぞれ続けて配分されることにな
る。このように、各画素には連続する画素から続けて誤
差が配分されてくるので、配分されてくる誤差を画素毎
に中間バッファ上で蓄積し、所定画素数の誤差を蓄積し
終わったら、その画素についてはひとまず誤差の拡散が
終了したと考えて、中間バッファに蓄積した誤差を誤差
バッファに書き込んでいく。こうして、ひとまず誤差の
蓄積が終了したと考えられる中間バッファの誤差を、対
応する画素の誤差バッファに書き込んでいけば、同じ画
素の誤差バッファに何度も誤差を書き込むする必要がな
くなるので、誤差バッファへ読み書きする頻度を減らす
ことができる。
【0103】図12は、上述した原理を、中間バッファ
を活用して実現している様子を概念的に示した説明図で
ある。図12(a)は、画素P00でドット形成有無を判
断した状態を示している。図12(a)の右側に示した
4つの矩形は、それぞれ中間バッファとしてのレジスタ
を模式的に示したものである。以下では、各レジスタに
R1 ,R2 ,R3 ,R4 と符号を付して識別する。着目
画素P00で発生した階調誤差E00は、誤差拡散マトリッ
クスに設定された誤差拡散係数が乗算されて、各レジス
タに拡散される。尚、図示が煩雑化することを避けるた
め、図12では、画素P00から左下の画素に拡散される
誤差をE00_LDと略して表示する。誤差E00_LDの値
は、画素P00の階調誤差E00に誤差拡散係数K1-1 を乗
算することによって求めることができる。同様に、画素
P00から真下の画素に拡散される誤差をE00_D と略し
て表示し、画素P00から右下の画素に拡散される誤差を
E00_RDと、画素P00から右横の画素に拡散される誤差
をE00_R と略して表示することとする。他の画素で発
生した階調誤差についても同様に、例えば、画素P01か
ら左下の画素に拡散される誤差はE01_LDと略して表示
し、画素P01から真下の画素に拡散される誤差はE01_
D と、右下の画素に拡散される誤差はE01_RDと、右横
の画素に拡散される誤差はE01_R とそれぞれ略して表
示する。また、各レジスタの右側に付した星印は、所定
画素数の誤差を蓄積し終わったレジスタを示している。
星印の意味する内容については後述する。
【0104】図12(a)を参照して、着目画素P00で
生じた階調誤差E00がレジスタR1ないしレジスタR4
の4つのレジスタに蓄積される様子を説明する。4つの
レジスタの中、レジスタR1 は、着目画素から右横の画
素に拡散される誤差が上書きされるレジスタである。他
の3つのレジスタとは異なり、常に着目画素の右横の画
素への誤差が上書きされる。図12(a)ではレジスタ
R1 には、着目画素P00から右横の画素P01に拡散され
る誤差E00_R の値が上書きされている。他の3つのレ
ジスタには、着目画素から左下、真下、右下の各画素に
拡散されるそれぞれの誤差が加算される。いずれのレジ
スタにいずれの誤差が加算されるかは、以下に説明する
ように着目画素の移動に伴って順番に切り替わってい
く。
【0105】先ず、着目画素が画素P00にある場合(図
12(a)参照)には、レジスタR2 には着目画素から
画素P10への誤差(着目画素から真下の画素に拡散され
る誤差)が加算される。レジスタR3 には着目画素から
画素P1-1 への誤差(着目画素から左下の画素に拡散さ
れる誤差)が加算される。レジスタR4 には着目画素か
ら画素P11への誤差(着目画素から右下の画素に拡散さ
れる誤差)が加算される。
【0106】次に、着目画素が画素P01に移動した場合
を考える(図12(b)参照)。着目画素が移動して
も、レジスタR2 には依然として画素P10への誤差が加
算される。着目画素の移動後は、画素P10は着目画素の
左下の画素となっているから、着目画素との位置関係で
言えば、レジスタR2 には着目画素から左下の画素への
誤差が加算されることになる。換言すれば、着目画素が
画素P00にある時には、レジスタR2 には着目画素から
真下の画素への誤差が加算されたのに対して、着目画素
が画素P01に移動すると、着目画素から左下の画素への
誤差が加算されることになる。
【0107】同様に、レジスタR4 には画素P11への誤
差が加算されるので、着目画素が画素P00にあるときに
は着目画素から右下の画素への誤差が加算されるが、着
目画素が画素P01に移動すると、着目画素から真下の画
素への誤差が加算されることになる。
【0108】レジスタR3 については、着目画素が画素
P00にあるときには着目画素の左下の画素P1-1 への誤
差を加算したが、着目画素が画素P01に移動した後は、
もはや画素P1-1 への誤差の拡散は不要である。そこ
で、レジスタR3 には新たな着目画素P02から画素P12
への誤差を加算する。結局レジスタR3 についても他の
レジスタと同様に、着目画素が移動すると、着目画素か
ら見て異なる方向への誤差が加算されることになる。す
なわち、着目画素が画素P00にある時には、レジスタR
3 には着目画素から左下の画素への誤差が加算される
が、着目画素が画素P01に移動すると、着目画素から右
下の画素への誤差が加算されることになる。
【0109】更に進んで、着目画素が画素P01から画素
P02に移動した場合にも同様に、レジスタR2 ないしレ
ジスタR4 の3つのレジスタには、着目画素の移動に伴
って、着目画素から見て異なる方向にある画素への誤差
が加算されることになる。図12(c)は、着目画素が
画素P02に移動した時に、着目画素P02から各レジスタ
に誤差が拡散されている様子を示している。前述の図1
2(b)と図12(c)とを比較すれば明らかなよう
に、着目画素が画素P01にある時には、レジスタR2 ,
レジスタR3 ,レジスタR4 の各レジスタには着目画素
から左下の画素,右下の画素,真下の画素への誤差が加
算されるが、着目画素が画素P02から画素P03に移動す
ると、各レジスタにはそれぞれ着目画素から右下の画
素,真下の画素,左下の画素への誤差が加算されること
になる。
【0110】このように、第2実施例の階調数変換処理
においては、着目画素から右下の画素,真下の画素,左
下の画素への誤差が、レジスタR2 ないしレジスタR4
の3つのレジスタに加算されるが、それぞれの誤差がい
ずれのレジスタに加算されるかは、着目画素の移動に伴
って順番に切り替わっていく。こうして着目画素を移動
させながら、各レジスタをそれぞれ適切なタイミングで
リセットしつつ、順番に誤差を加算していけば、以下に
説明するように、連続する3つの着目画素からの誤差
が、各レジスタに順番に蓄積されることになる。以下、
レジスタR4 を例にとって具体的に説明する。
【0111】着目画素が画素P00にある場合には、図1
2(a)に示すようにレジスタR4には着目画素P00か
ら右下の画素への誤差E00_RDが加算される。後述する
ように、誤差E00_RDを加算する時点では、レジスタR
4 は既にリセットされているので、記憶されている誤差
はない。着目画素が画素P01に移動すると、図12
(b)に示すように、レジスタR4 には着目画素P01か
ら真下の画素への誤差E01_D が加算される。レジスタ
R4 には、先の着目画素P00からの誤差E00_RDが既に
加算されているから、この誤差に加えて、着目画素P01
からの誤差E01_Dが加算されることになる。着目画素
が画素P02に移動すると、図12(c)に示すように、
レジスタR4 には着目画素P02から左下の画素への誤差
E02_LDが加算される。レジスタR4 には、先の着目画
素P00およびP01からの、それぞれの誤差E00_RDおよ
び誤差E01_D が既に加算されているから、これらの誤
差に加えて着目画素P02からの誤差E02_LDが加算され
ることになる。その結果、着目画素P02からの誤差を加
算した時点でレジスタR4 には、着目画素P00ないし着
目画素P02の連続する3つの着目画素からの誤差が蓄積
されることになる。図12(c)において、レジスタR
4 の右横に示された星印は、連続する3つの着目画素の
中の最後の着目画素からの誤差が、レジスタR4 に蓄積
されることを示している。こうして、連続する3つの画
素からの誤差をレジスタR4 に蓄積し終わったら、蓄積
した値を誤差バッファに書き込む。
【0112】上述の説明から明らかなように、レジスタ
R4 には画素P11に拡散される誤差が蓄積されているか
ら、レジスタR4 に蓄積された値は、画素P11に対応す
る誤差バッファに書き込まれる。図12(c)におい
て、レジスタR4 から誤差バッファに向かう白抜きの矢
印は、レジスタR4 に蓄積した誤差を誤差バッファに書
き込む様子を模式的に示したものである。また、誤差バ
ッファと画素P11との結ぶ破線の矢印は、画素P11に対
応する誤差バッファであることを模式的に示したもので
ある。蓄積した値を誤差バッファに書き込んだ後は、レ
ジスタR4 の値をリセットする。図12(a)の説明に
おいて、着目画素P00からの誤差を加算する時点では、
レジスタR4 が既にリセットされていたのは、直前の着
目画素P0-1 からの誤差を加算した時点でレジスタR4
に連続する3つの画素からの誤差が蓄積され、レジスタ
R4 がリセットされたからである。
【0113】次に、レジスタR3 に着目して説明する。
図12(a)に示すように、着目画素P00からの誤差を
加算した時点で、レジスタR3 には連続する3つの着目
画素P0-2 ,P0-1 ,P00からの誤差が蓄積されてい
る。レジスタR3 の右横に示された星印は、着目画素P
00からの誤差を蓄積すれば、連続する3つの着目画素か
らの誤差が蓄積されることを示している。そこで、着目
画素P00からの誤差を加算した後に、レジスタR3 に蓄
積された値を誤差バッファに書き込む。レジスタR3 に
蓄積された誤差は画素P1-1 への誤差であるので、蓄積
された誤差は、画素P1-1 に対応する誤差バッファに書
き込む。こうして、蓄積した誤差を誤差バッファに書き
込んだら、レジスタR3 の値をリセットしておく。
【0114】ここで、レジスタR3 がリセットされるタ
イミングと、前述のレジスタR4 がリセットされるタイ
ミングとを比較すると、レジスタR4 は着目画素P00か
らの誤差が加算される前、すなわち着目画素P0-1 から
の誤差を加算した後にリセットされるが、レジスタR3
は着目画素P00からの誤差を加算した後にリセットされ
る。従って、レジスタR3 はレジスタR4 に対して、着
目画素1つ分だけ遅れてリセットされることになる。
【0115】図12(b)に示すように、着目画素が画
素P00から画素P01に移動すると、レジスタR3 には、
それまでの画素P1-1 に代えて新たな画素P12が割り振
られる。画素P12は着目画素P01に対して右下に位置す
る画素であるから、レジスタR3 には、着目画素から右
下の画素へ拡散される誤差E01_RDが加算されることに
なる。レジスタR3 の値は先にリセットされているの
で、着目画素P01からの誤差が加算される時点では、レ
ジスタR3 には加算されている誤差はない。着目画素が
画素P02に移動すると、図12(c)に示すように、レ
ジスタR3 には、着目画素から真下の画素に拡散される
誤差E02_D が、既に加算されている誤差E01_RDに加
えて加算される。更に、着目画素が次の画素P03に移動
した時点で、レジスタR3 には、画素P01ないし画素P
03の連続する3つの着目画素からの誤差が蓄積されるこ
とになり、レジスタR3 に蓄積された値が誤差バッファ
に書き込まれることになる。前述したレジスタR4 に蓄
積された誤差は、着目画素P02からの誤差を加算した後
に誤差バッファに書き込まれたが、レジスタR3 につい
ては、画素1つ分だけ遅れて、着目画素P03からの誤差
を加算した後に誤差バッファに書き込まれることにな
る。
【0116】レジスタR2 については、レジスタR3 に
対して、更に着目画素1つ分だけタイミングが遅れるこ
とになる。すなわち、レジスタR3 については、図12
(a)に示すように、着目画素P00からの誤差を加算し
た後に、レジスタに蓄積した値が誤差バッファに書き込
まれてレジスタがリセットされたが、レジスタR2 につ
いては、着目画素P01からの誤差を加算した後にレジス
タに蓄積された値が誤差バッファに書き込まれてレジス
タがリセットされることになる。
【0117】このように、レジスタR2 ないしレジスタ
R4 の3つのレジスタには、着目画素が移動する度に、
連続する3つの着目画素からの誤差が順番に蓄積され
て、誤差バッファに順次書き込まれていく。
【0118】以上、説明したように、4つのレジスタの
うち、レジスタR1 は次の画素のドット形成有無の判断
に使用する誤差を記憶し、レジスタR2 ないしレジスタ
R4の3つのレジスタは階調誤差を順次蓄積していくた
めに使用すれば、1画素のドット形成有無を判断する度
に、連続する3画素分の誤差の蓄積が終了した画素か
ら、1画素分ずつ誤差バッファに書き込んでいくことが
できる。
【0119】C−2.第2実施例の階調数変換処理:図
13は、以上に説明した第2実施例の階調数変換処理の
流れを示すフローチャートである。この処理も第1実施
例の階調数変換処理と同様に、コンピュータ100のC
PU102によって行われる。尚、以下の説明では、イ
ンクの色あるいはドットの大きさを特定せずに説明する
が、各色毎に、あるいは各種大きさのドットについて同
様の処理を行う。以下では、図13のフローチャートに
従って、第1実施例の階調数変換処理との相違点を中心
に、第2実施例の階調数変換処理について説明する。
【0120】第2実施例の階調数変換処理を開始する
と、着目画素についての画像データCd と拡散誤差Ed
とをRAM106から読み込み(ステップS400)。
続いて、画像データCd と、拡散誤差Ed と、レジスタ
R1 に記憶されている誤差とを加算することにより、補
正データCx を算出する(ステップS402)。補正デ
ータCx を算出したら、レジスタR1 はリセットしてお
く(ステップS404)。こうして得られた補正データ
Cx と所定の閾値th とを比較して(ステップS40
6)、補正データの方が大きければドットを形成すると
判断して、判断結果を示す変数Cr にドットを形成する
ことを意味する値「1」書き込む(ステップS40
8)。そうでなければドットを形成しないと判断して、
変数Cr にドットの形成しないことを意味する値「0」
を書き込む(ステップS410)。
【0121】こうしてドット形成有無を判断したら、こ
れに伴って発生する階調誤差Eを算出する(ステップS
412)。階調誤差Eは、第1実施例と同様に、補正デ
ータCx から、着目画素での結果値(ドットを形成する
ことにより、あるいはドットを形成しないことにより着
目画素で表現される階調値)を減算することで求められ
る。
【0122】次いで、誤差拡散マトリックスによって画
素位置毎に定まる所定の誤差拡散係数とステップS41
2で求めた階調誤差Eとを乗算し、画素位置毎に求めら
れた誤差を、各レジスタに加算していく。先ず、着目画
素から右隣の画素に拡散される誤差をレジスタR1 に加
算する(ステップS414)。次いで、レジスタR2な
いしレジスタR4 の3つのレジスタにそれぞれの誤差を
加算していく。これら3つのレジスタの中で、連続する
着目画素の3つ目の画素からの誤差が加算されるレジス
タ、すなわち図12の中で星印を付して示したレジスタ
には、予めフラグを設定しておく。こうしてフラグの設
定されているレジスタには、着目画素の左下の画素に拡
散する誤差を加算する(ステップS416)。図6
(a)の誤差拡散マトリックスに示されるように、着目
画素の左下の画素には、階調誤差Eと誤差拡散係数K1-
1 とを乗算した値が配分される。誤差を加算していく3
つのレジスタのうち、フラグの設定されたレジスタの1
つ前のレジスタには、着目画素の直ぐ下の画素に配分す
べき誤差を加算する(ステップS418)。着目画素の
真下の画素に配分する誤差は、階調誤差Eと誤差拡散係
数K10とを乗算して求められる。ここで、フラグの設定
されたレジスタの1つ前のレジスタとは、例えば、図1
2(a)に示すように星印がレジスタR3 に設定されてい
る場合はレジスタR2 、図12(b)に示すように星印
がレジスタR2 に設定されている場合はレジスタR4 の
レジスタを指す。3つのレジスタの中の残りのレジスタ
には、着目画素の右下の画素に配分すべき誤差、すなわ
ち階調誤差Eと誤差拡散係数K11とを乗算した値を加算
する(ステップS420)。
【0123】こうして階調誤差Eに所定の誤差拡散係数
を乗算した値を、各レジスタに加算したら、フラグのセ
ットされているレジスタに蓄積されている拡散誤差を、
着目画素の左下の画素に対応する誤差バッファに書き込
む(ステップS422)。例えば、図12(c)に示す
ように着目画素が画素P02にある場合は、画素P11に対
応する位置の誤差バッファに誤差を書き込んでやる。フ
ラグのセットされたレジスタR4 には画素P00と画素P
01と画素P02のそれぞれの画素から配分されてきた誤差
が蓄積されており、図5に示した通常の誤差拡散法と比
較すれば、第2実施例の処理においても実質的に同等の
処理が行われていることが分かる。こうして、蓄積した
誤差を誤差バッファに書き込んだら、新たに配分されて
くる誤差を蓄積するためにレジスタをリセットしておく
(ステップS424)。
【0124】以上のようにして1つの着目画素について
の処理を終了したら、フラグを現在のレジスタの1つ前
のレジスタに移動させた後(ステップS426)、全画
素について処理を終了したか否かを判断し(ステップS
428)、未処理の画素が残っていればステップS40
0に戻って、全画素についての処理が終了するまで続く
一連の処理を繰り返す。全画素についての処理が終了し
たら、第2実施例の階調数変換処理を抜けて、図4の画
像データ変換処理に復帰する。
【0125】尚、ステップS414において、誤差をレ
ジスタR1 に加算する代わりに、レジスタR1 に上書き
することとしてもよい。こうすれば、ステップS404
においてレジスタR1 をリセットする処理を省略するこ
とができるので好ましい。同様に、ステップS420に
おいて、残りのレジスタに誤差を加算する処理を上書き
する処理に変更すれば、ステップS424においてレジ
スタをリセットする処理を省略することが可能となるの
で好ましい。
【0126】以上、説明した第2実施例の階調数変換処
理においては、1つの画素のドット形成有無を判断する
度に、1つの画素の拡散誤差を誤差バッファに書き込む
だけでよい。従って、通常の誤差拡散法に対して、誤差
バッファに誤差を拡散するための時間を大きく短縮化す
ることができる。前述したように、階調数変換処理に通
常の誤差拡散法を用いた場合、誤差の拡散に要する時間
は階調数変換処理に要する時間の中で比較的大きな割合
を占めている。このことから、第2実施例の階調数変換
処理を採用すれば処理時間が短縮化され、延いては画像
を迅速に印刷することが可能となる。
【0127】尚、前述の第1実施例の階調数変換方法を
用いた場合でも、誤差を拡散するために要する時間を短
縮化することができるが、第2実施例の方法を採用すれ
ば、誤差の拡散時間を更に効率よく短縮化することがで
きる。すなわち、通常の誤差拡散法と比較した場合、前
述の第1実施例の方法を使用した場合、1回のドット形
成判断あたりでは2.5画素分の頻度で誤差を誤差バッ
ファに加算するだけで足りていたが、第2実施例の方法
を使用すれば、1回のドット形成判断あたりに誤差を書
き込む頻度を1画素分にまで減少させることができる。
また、図7に示した第1実施例の場合では、中間バッフ
ァとして6つのレジスタを使用したが、第2実施例の方
法の場合は4つのレジスタを使用しているだけであり、
その分だけCPU102のレジスタを他の目的に使用す
ることが可能になる。
【0128】C−3.変形例:上述した第2実施例の階
調数変換処理においては、着目画素で発生した誤差を4
つのレジスタに蓄積しているが、このうちのレジスタR
1 と、他の3つのレジスタR2 ないしレジスタR4 とで
は、レジスタの使い方が若干異なっている。すなわち、
レジスタR1 については、着目画素の右隣の画素に配分
すべき誤差が常に上書きされるが、他の3つのレジスタ
については、着目画素に対する相対位置は一定ではな
く、着目画素が移動する度に移動していた。
【0129】これに対して、図14に示すように、各レ
ジスタの対応する画素位置を着目画素に対して固定する
こととしてもよい。すなわち、例えば、レジスタR1 に
は着目画素の右隣の画素に配分すべき誤差が常に上書き
され、レジスタR2 には着目画素の右下の画素に配分す
べき誤差が、レジスタR3 には着目画素の真下の画素に
配分すべき誤差が、レジスタR4 には着目画素の左下の
画素に配分すべき画素が常に加算されるようにしてもよ
い。このように、各レジスタと着目画素との位置関係を
固定した上で、後述するように、着目画素の移動に合わ
せて各レジスタに蓄積されている誤差を、順次となりの
レジスタに移し替えていくのである。こうすれば、常に
同じレジスタに蓄積されている誤差を誤差バッファに書
き込めがよいので、レジスタから誤差バッファに拡散誤
差を書き込む処理を簡素化することができる。また、各
レジスタで使用される誤差拡散係数も常に同じ値となる
ので、着目画素で発生した階調誤差から各レジスタに加
算する誤差を算出する処理も、簡素化することが可能と
なる。
【0130】以下、このような第2実施例の変形例とし
ての階調数変換処理について、図15を参照しながら簡
単に説明する。図15(a)は、着目画素P00について
のドット形成有無を判断した状態を示している。図の右
側に示されている4つの矩形は、各レジスタを模式的に
示したものである。レジスタR1 には、常に着目画素の
右側の画素に配分すべき誤差が上書きされる。また、レ
ジスタR2 には、常に着目画素の右下の画素に配分すべ
き誤差が加算され、レジスタR3 には着目画素の真下の
画素に配分すべき誤差が、レジスタR4 には着目画素の
左下の画素に配分すべき誤差が加算される。
【0131】このように、各レジスタには、着目画素に
対して常に同じ位置の画素に配分すべき誤差が加算され
るので、それぞれの誤差拡散係数は常に同じ値となる。
すなわち、レジスタR1 の誤差拡散係数は、常に着目画
素の右側の画素への誤差拡散係数K01であり、レジスタ
R2 の誤差拡散係数は、常に着目画素の右下の画素への
誤差拡散係数K11である(図6参照)。同様に、レジス
タR3 の誤差拡散係数は常にK10であり、レジスタR4
の誤差拡散係数は常にK1-1 となる。こうして、各レジ
スタの誤差拡散係数が常に同じ値となるので、着目画素
で発生した階調誤差から、各レジスタに加算すべき誤差
の算出を容易に行うことができる。
【0132】着目画素で発生した階調誤差E00を各レジ
スタに加算したら、レジスタR4 に蓄積されている誤差
の値を誤差バッファに書き込む処理を行うと同時に、各
レジスタに蓄積されている値を1つずつとなりのレジス
タにシフトさせる。すなわち、レジスタR3 の値をレジ
スタR4 に移動させ、レジスタR2 の値をレジスタR3
に移動させる(図15(a)の下方を参照)。
【0133】以上の処理を終了したら、次いで、着目画
素を画素P01に移して、再び同様の処理を行う。着目画
素P01で発生した階調誤差E01を、所定の誤差拡散係数
をかけてそれぞれのレジスタに加算したら、レジスタR
4 に蓄積されている値を誤差バッファに書き込む処理を
行う。先に、各レジスタに記憶されている値を1つずつ
シフトする処理を行っているので、図15(b)に示す
ように各レジスタへ誤差を加算する処理が終了した時点
では、レジスタR4 には常に3つの画素からの誤差が蓄
積されていることになる。従って、第2実施例の変形例
においては、常に同じレジスタに蓄積されている誤差を
誤差バッファに書き込んでやればよい。このため、レジ
スタから誤差バッファに拡散誤差を書き込む処理を簡素
化することができる。尚、図15に示した処理では、各
レジスタに蓄積されている誤差をとなりのレジスタにシ
フトさせる処理が新たに加わるが、このようなレジスタ
間で値を移動させる処理はたいへん迅速に行うことがで
きるので、そのことによる処理時間の増加は小さなもの
である。
【0134】上述した第2実施例の階調数変換処理ある
いは第2実施例の変形例の階調数変換処理においては、
説明が煩雑になるのを避けるために、いずれも誤差拡散
マトリックスは誤差の拡散範囲の最も狭い図6(a)の
マトリックスを使用するものとして説明した。もっと
も、使用する誤差拡散マトリックスは図6(a)のマト
リックスに限定されることなく、他のマトリックスを使
用しても良いことはもちろんである。また、第1実施例
における場合と同様に、キャッシュメモリを活用するこ
とにより、実質的に同様の処理を行っても良いことはも
ちろんである。
【0135】また、第2実施例の階調数変換方法におい
ても、周辺の画素に拡散すべき中間的な拡散誤差をレジ
スタに加算しておくのではなく、階調誤差そのものを中
間バッファに記憶しておき、新たな階調誤差を記憶する
度に、誤差バッファに書き込むべき最終的な拡散誤差を
算出するようにしても良い。かかる方法は、レジスタに
記憶される値が蓄積中の拡散誤差であるか、階調誤差で
あるかの違いがあるものの、誤差バッファに書き込まれ
る誤差は同じ値となるので、実質的に同等の処理を行う
ことができる。
【0136】D.第3実施例:以上に説明した各実施例
では、常に同じ誤差拡散マトリックスを使用して誤差を
拡散するものとして説明したが、現実の階調数変換処理
においては、画質上の要請から、図6(a)のような拡
散範囲の狭い誤差拡散マトリックスと、図6(c)のよ
うな拡散範囲の広いマトリックスとを切り替えて使用す
る場合がある。
【0137】すなわち、誤差拡散法では、ドットが特定
の周期的なパターンで形成されることを防ぐために、複
数種類の誤差拡散マトリックスをランダムに切り替えな
がら使用することがある。また、特開平7−22684
1号には、画像データの階調値が十分に小さな所定の閾
値よりも小さく、かつドットを形成すると判断されてい
る場合に、拡散範囲の広い誤差拡散マトリックスを用い
て誤差を拡散させることによって、ドット密度が疎な領
域での、ドットの分散性を改善する技術が開示されてい
る。こうすることで、ドットの分散性を改善可能な理由
については説明を省略するが、ここでは、特開平7−2
26841号に開示された技術に従って、画像データの
階調値が十分に小さな所定の閾値thmよりも小さく、
かつドットを形成すると判断されている場合には、図6
(c)に示した誤差拡散範囲の広いマトリックスを使用
し、それ以外の場合には図6(a)に示した誤差拡散範
囲の狭いマトリックスを使用するものとする。このよう
な場合に、以下に説明する第3実施例の方法を使用すれ
ば、階調数変換処理に要する時間を効果的に短縮化する
ことが可能となる。
【0138】図16は、2つの誤差拡散マトリックスを
切り替えながら階調数変換処理を行う処理の流れを示し
たフローチャートである。以下、図16のフローチャー
トに従って、第3実施例の階調数変換処理について説明
する。尚、上述した各実施例の階調数変換処理と同様、
説明が煩雑化することを避けるために、ドットの色やド
ットの大きさを区別せずに説明するが、以下の処理は各
色インク毎に、あるいは各種大きさのドット毎に行われ
る。
【0139】第3実施例の階調数変換処理を開始する
と、先ず初めに着目画素の画像データCd と拡散誤差E
d とを読み出す(ステップS500)。画像データCd
と拡散誤差Ed とはRAM106に記憶されている。レ
ジスタR1 に記憶されている左隣の画素からの誤差と、
画像データCd および拡散誤差Ed とを加算して補正デ
ータCx を算出する(ステップS502)。求めた補正
データCx と所定の閾値thとを比較して(ステップS
504)、補正データCx の方が大きければ着目画素に
ドットを形成すると判断し(ステップS504:ye
s)、ドット形成判断の結果を表す変数Cr にドットを
形成することを意味する値「1」を書き込んだ後(ステ
ップS506)、ドットを形成したことにより着目画素
に生じる階調誤差を算出する(ステップS508)。補
正データCx が所定の閾値thよりも小さければ(ステ
ップS504:no)、変数Cr にドットを形成しない
ことを意味する値「0」を書き込んで(ステップS51
0)、そのことにより着目画素に生じる階調誤差を算出
する(ステップS512)。
【0140】着目画素にドットを形成している場合に
は、着目画素の画像データCd と誤差拡散マトリックス
を切り替えるための所定の閾値thmとを比較する(ス
テップS514)。画像データCd が閾値thmよりも
小さい場合は(ステップS514:no)、小さな画像
データの領域にたまたまドットが形成されたものと考え
られるので、誤差拡散範囲の広い誤差拡散マトリックス
(ここでは、図6(c)に示したマトリックス)に従っ
て、それぞれの誤差拡散係数を設定する(ステップS5
16)。すなわち図6(c)に示すように、着目画素の
真下の画素の誤差拡散係数K10には1/4を設定し、着
目画素の右隣の画素、右下の画素、および左下の画素の
それぞれの誤差拡散係数K01、K11、K1-1 には1/8
を設定する。着目画素から更に遠くにある画素の誤差拡
散係数K02、K03、K12、K13、K1-2 ,K1-3 には1
/16を設定する。
【0141】次いで、着目画素から遠方にある6つの画
素については、階調誤差と各画素の誤差拡散係数とを乗
算した値をそれぞれの誤差バッファに直接加算する(ス
テップS518)。これを、図17を用いて説明する。
図17は着目画素P00についてドット形成有無を判断
し、その結果、階調誤差E00が発生した状態を示してい
る。この階調誤差E00は、図6(c)に示す誤差拡散マ
トリックスを用いて広い範囲に拡散する。すなわち、通
常は図17中に太い破線で囲った4つの画素に誤差を拡
散させるが、画素P00の階調誤差E00は破線の外側にあ
る画素P02、画素P03、画素P12、画素P13、画素P1-
2 、および画素P1-3 の6つの画素にも誤差を拡散させ
る。ステップS518の処理においては、これら6つの
画素について、階調誤差E00とそれぞれの画素の誤差拡
散係数とを乗算した値を、各画素の誤差バッファに直接
加算するのである。
【0142】遠方の画素の誤差バッファに誤差を加算し
たら、破線の内側にある各画素のレジスタに誤差を拡散
する(ステップS522)。すなわち、第3実施例の階
調数変換処理においては、着目画素の遠方の画素につい
ては誤差バッファに直接誤差を加算するが、着目画素周
辺の各画素については前述の第1実施例あるいは第2実
施例と同様に中間バッファを利用して誤差を拡散するの
である。以下では、第2実施例の変形例の方法に準じて
誤差を拡散する場合、すなわち各レジスタには、着目画
素に対して常に同じ位置関係にある画素への誤差が加算
される場合を例にとって説明する。
【0143】先ず、着目画素の右側の画素への誤差拡散
係数K01と階調誤差E00とを乗算した値で、レジスタR
1 の値を更新する。次に、誤差拡散係数K11と階調誤差
E00とを乗算した値をレジスタR2 に加算し、誤差拡散
係数K01と階調誤差E00とを乗算した値をレジスタR3
に加算し、誤差拡散係数K1-1 と階調誤差E00とを乗算
した値をレジスタR4 に加算する(図15(a)を参
照)。ステップS522では以上の処理を行う。続い
て、レジスタR4 に蓄積されている値を対応する画素の
誤差バッファに加算する処理を行う(ステップS52
4)。図17に示すように、ここでは着目画素は画素P
00であるから、画素P1-1 の誤差バッファにレジスタR
4 の値を加算すればよい。誤差バッファへ加算する処理
が終了したら、レジスタR3 に蓄積されている値をレジ
スタR4 に、レジスタR2 に蓄積されている値をレジス
タR3 にシフトさせる(ステップS526)。各レジス
タの値をシフトする処理を行った後、レジスタR2 の値
をリセットしておく(ステップS528)。
【0144】一方、着目画素にドットを形成していない
場合(ステップS504:no)、あるいは着目画素に
ドットを形成していても画像データCd が所定の閾値t
hmより大きい場合(ステップS514:yes)に
は、誤差拡散範囲の狭い方のマトリックス(ここでは図
6(a)に示したマトリックス)に従って、それぞれの
誤差拡散係数を設定する(ステップS518)。すなわ
ち図6(a)の誤差拡散マトリックスに従って、着目画
素周辺の4つの画素の誤差拡散係数に1/4を設定す
る。こうして設定された誤差拡散係数を用いて、上述し
たステップS522ないしステップS528の処理を行
うことにより、レジスタR4 に蓄積された誤差が誤差バ
ッファに加算される。
【0145】以上のようにして着目画素のドット形成有
無を判断し、1画素についての拡散誤差を誤差バッファ
に書き込んだら、すべての画素について処理を終了した
か否かを判断する(ステップS530)。未処理の画素
が残っている場合は、再びステップS500に戻って、
新たな着目画素についての画像データと拡散誤差とをR
AM106から読み込み、これらの値とレジスタR1 に
記憶されている誤差とを用いて補正データCx を算出す
る(ステップS502)。以降、未処理の画素がなくな
るまで以上のような一連の処理を繰り返し、全画素につ
いて処理を終了したら、第3実施例の階調数変換処理を
抜けて図4に示す画像データ変換処理に復帰する。
【0146】上述した第3実施例の方法を用いて階調数
変換処理を行えば、拡散範囲の広い誤差拡散マトリック
スと、拡散範囲の狭い誤差拡散マトリックスとを切り替
えながら階調数変換処理を行う場合に、処理時間を効率
よく短縮化することができる。すなわち、図6(c)に
示した拡散範囲の広い誤差拡散マトリックスを使用する
場合、すべての誤差をレジスタに蓄積しようとすると、
多数のレジスタが必要となる。図17を参照して説明す
ると、破線で囲った範囲の内側にある4画素分のレジス
タと、破線の外側の6画素分のレジスタとを加えた10
画素分のレジスタを使用する。これらレジスタに誤差を
加算するために、フラグを使用する第2実施例の方法を
用いるにせよ、レジスタの値をシフトさせる第2実施例
の変形例の方法を用いるにせよ、レジスタの数があまり
に多くなれば、レジスタの操作に時間が必要となって、
全体としての処理時間を増加させる。
【0147】これに対して、上述した第3実施例の方法
を用いれば、たとえ非常に広い範囲に誤差を拡散するマ
トリックスを用いた場合でも、誤差を加算するレジスタ
の数を増加させずに階調数変換処理を行うことができる
ので、全体として処理が簡素化され、処理時間が増加す
ることを回避することが可能となる。
【0148】特に、前述したように、拡散範囲の広い誤
差拡散マトリックスは、画像データの階調値が十分小さ
く、かつドットを形成すると判断された場合に使用され
る。画像データの階調値が十分に小さければ、ドットを
形成すると判断される確率は小さいことから、拡散範囲
の広い誤差拡散マトリックスは使用頻度の低いマトリッ
クスであると言える。従って、ごく稀に広い範囲に誤差
を拡散しなければならない場合には、多少時間がかかっ
ても誤差バッファに直接誤差を加算することとし、それ
ほど広い範囲に拡散させる必要のない通常の場合は、中
間バッファを活用して迅速に誤差を拡散させることで、
全体として階調数変換処理を迅速に行うことができる。
また、広い範囲に拡散する場合には、遠方の画素の誤差
バッファには直接誤差を加算することとすれば、それだ
け中間バッファとして使用するレジスタの数を節約する
ことができ、浮いたレジスタを他の処理に使用すること
で、更に処理を効率化することが可能となる。
【0149】尚、上述の第3実施例においては、誤差拡
散マトリックスを切り換えることとし、拡散範囲の広い
誤差拡散マトリックスが選択されている場合にのみ、遠
方の画素の直接誤差を拡散させるものとしたが、必ずし
も、マトリックスの切換を行う場合に限定されるもので
はない。例えば、使用する誤差拡散マトリックスが拡散
範囲の広いマトリックスである場合に、遠方の画素には
直接誤差を拡散して記憶させ、近傍の画素には、中間バ
ッファを活用することにより、所定画素数の階調誤差に
基づき、まとめて誤差を拡散させるようにしても良い。
こうすれば、まとめて誤差を拡散して記憶させるために
必要な中間バッファを節約することが可能となる。
【0150】また、以上に説明した第3実施例において
も、中間バッファを活用することによって、所定画素数
の階調誤差から、周辺画素へ拡散誤差をまとめて拡散し
て記憶させるために方法には、第1実施例ないし第2実
施例として説明した各種の方法を好適に適用可能である
ことは言うまでもない。
【0151】E.第4実施例:上述した各種実施例の方
法は、最終的には、階調誤差を周辺画素の誤差バッファ
に配分している。この意味からは、いわゆる誤差拡散法
と呼ばれる方法に類似する手法と考えることができる。
もちろん、いわゆる平均誤差最小法と呼ばれる方法のよ
うに、ドット形成有無の判断によって発生した階調誤差
を着目画素に記憶しておき、未判断画素のドット形成有
無の判断に際しては、周辺画素から階調誤差を読み出し
てドット形成判断を行う場合にも、中間バッファを活用
することでドット形成判断に要する時間を短縮化するこ
とが可能である。以下では、このような方法を用いて階
調数変換処理を行う第4実施例について説明する。
【0152】E−1.第4実施例において階調数変換処
理の時間を短縮化する原理:図18は、第4実施例の方
法において、中間バッファを活用することによってドッ
ト形成有無の判断に要する時間を短縮化する原理を示す
説明図である。図18(a)は、着目画素P00について
ドットの形成有無を判断している様子を示している。第
4実施例の方法を説明する準備として、いわゆる平均誤
差最小法と呼ばれる方法を、図18(a)を流用して簡
単に説明しておく。
【0153】平均誤差最小法では、ドット形成有無の判
断によって生じた階調誤差を、その画素に対応する誤差
バッファに記憶しておく。これを、図18(a)に則し
て説明すると、左側の図中に例えば「E0-1 」とあるの
は画素P0-1 で発生した階調誤差を示しており、画素P
0-1 の枠内にE0-1 と表示することによって、階調誤差
E0-1 が画素P0-1 の誤差バッファに記憶されているこ
とを模式的に示している。また、図中に斜線が付されて
いるのは、ドット形成判断済みであることを示してい
る。図示されているように、平均誤差最小法では、ドッ
ト形成有無の判断済みの画素にそれぞれの階調誤差が記
憶されている。未判断の着目画素P00についてドット形
成有無を判断する場合には、周辺の判断済みの画素から
それぞれの階調誤差を読み出して、これらの誤差を考慮
しながら着目画素P00のドット形成有無を判断する。よ
り詳細には、図19にいくつか例示されているように、
周辺画素の着目画素に対する相対位置に応じて所定の重
み係数が予め定められており、周辺の各画素から読み出
した誤差に所定の重み係数をかけた値で、着目画素の画
像データを補正することにより補正データを算出する。
尚、図19では斜線が付されている画素が着目画素であ
り、各画素に表示されている数値がその画素に設定され
ている重み係数である。こうして求めた補正データと所
定の閾値とを比較することによって、着目画素について
のドット形成有無を判断する。着目画素についてドット
形成有無を判断したら、そのことで生じる階調誤差を算
出し、算出した階調誤差を着目画素の誤差バッファに記
憶する。平均誤差最小法では、以上のような処理を繰り
返すことによって、画素毎にドットの形成有無の判断を
行う。
【0154】上述したように、平均誤差最小法を用いて
ドット形成有無を判断するためには、1つの画素につい
ての判断を行う度に、誤差バッファから複数の画素の階
調誤差を読み出さなければならず、ドット形成有無の判
断するためにある程度の時間が必要となる。
【0155】これに対して、以下に説明する第4実施例
の階調数変換処理においては、数学的には上述の平均誤
差最小法と等価な処理を行いながらも、中間バッファを
活用することによって、ドット形成の有無を迅速に判断
することが可能となっている。以下、図18を参照しつ
つ、前述の平均誤差最小法と対比することにより、第4
実施例の階調数変換処理において処理時間を短縮化する
原理について説明する。尚、説明の煩雑化を避けるため
に、以下では、図19(a)に示した重み係数の設定に
従って、周辺画素の階調誤差を考慮するものとする。
【0156】図18(a)は、第4実施例の階調数変換
処理において着目画素P00についてのドット形成有無を
判断している様子を示す説明図である。着目画素P00に
ついてのドット形成有無の判断には、前述した平均誤差
最小法と同様に、画素P-1-1で発生した階調誤差E-1-1
と、画素P-10 で発生した階調誤差E-10 と、画素P-1
1 で発生した階調誤差E-11 と、画素P0-1 で発生した
階調誤差E0-1 とを使用する。図18(a)の右側の4
つの矩形は、中間バッファとして使用される4つのレジ
スタを模式的に示したものである。説明の便宜から、こ
こでは各レジスタにR1 ,R2 ,R3 ,R4 とそれぞれ
符合を付して区別することにする。
【0157】各レジスタには、着目画素に対して所定の
位置関係にある画素の階調誤差が上書きされる。すなわ
ち、レジスタR1 には、常に着目画素の右上にある画素
での階調誤差が記憶され、レジスタR2 には、着目画素
の真上にある画素での階調誤差が記憶され、レジスタR
3 には、着目画素の左上の画素の階調誤差が、レジスタ
R4 には左隣の画素の階調誤差が記憶される。各レジス
タにそれぞれの階調誤差を記憶する処理については後述
する。
【0158】第4実施例の階調数変換処理では、これら
4つのレジスタに記憶されている各画素での階調誤差
と、予め画素毎に設定されている重み係数とを考慮し
て、着目画素での補正データを算出する。つまり、前述
した平均誤差最小法では、各画素での階調誤差を誤差バ
ッファから読み出すのに対して、ここでは各レジスタに
予め記憶されているところが大きく異なっている。こう
して求めた補正データと所定の閾値とを比較することに
より、着目画素についてのドット形成有無を判断する。
ドット形成有無を判断したら、続いて着目画素P00での
階調誤差E00を算出する。階調誤差は、補正データと着
目画素での結果値との差を取ることによって求めること
ができる。
【0159】こうして、着目画素についての階調誤差E
00が求められたら、新たな着目画素についてのドット形
成判断を行うために、各レジスタに対して図18(b)
に示す操作を加える。先ず、レジスタR4 に記憶されて
いる誤差を誤差バッファに書き込む。図18(a)を用
いて説明したように、レジスタR4 には、常に着目画素
の左隣の画素で生じた階調誤差が記憶されているので、
レジスタR4 の値は着目画素の左隣の画素の誤差バッフ
ァに上書きしてやる。次いで、先程求めた画素P00につ
いての階調誤差E00をレジスタR4 に上書きし、更にレ
ジスタR2 の値をレジスタR3 に、レジスタR1 の値を
レジスタR2 にそれぞれ移動させる。すなわち、着目画
素が画素P00から右隣の画素P01に移動することに対応
して、各レジスタの値を移動させるのである。これらの
処理は、CPU102内部のレジスタ間でデータを移動
させるだけでよいので、極めて迅速に行うことができ
る。最後に、新たな着目画素の右上の画素での階調誤差
を誤差バッファから読み出して、レジスタR1 に記憶さ
せる。
【0160】以上のような操作を加えることにより、各
レジスタに記憶されている値は、図18(a)の右側に
示した状態から図18(c)の状態となる。図18
(a)と図18(c)とを比較すれば明らかなように、
図18(c)の各レジスタに記憶されている値は、図1
8(a)において着目画素を画素P00から画素P01に変
更したときの各レジスタの値となっている。従って、以
上のような処理を繰り返し行えば、次々に新たな画素の
ドット形成判断を行うことができる。このように、第4
実施例の方法では、続けて使用する階調誤差はレジスタ
に蓄えておくことによって、誤差バッファから階調誤差
を読み出す頻度を大きく軽減させることが可能となるの
である。
【0161】E−2.第4実施例の階調数変換処理:以
下、上述した第4実施例の階調数変換処理を、実際に行
うための処理の流れについて簡単に説明する。図20
は、第4実施例の階調数変換処理の流れを示したフロー
チャートである。尚、上述した各種実施例の階調数変換
処理と同様に、説明の煩雑化を避けるために、以下では
インクの種類やドットの大きさを特定せずに説明する
が、各色毎に、あるいは各種大きさのドット毎に同様の
処理が行われる。
【0162】第4実施例の階調数変換処理を開始する
と、先ず初めに着目画素の画像データCd を読み出し
(ステップS600)、続いて着目画素の右上の画素の
階調誤差を誤差バッファから読み出してレジスタR1 に
記憶する(ステップS602)。この結果、図18を用
いて説明したように、各レジスタには着目画素周辺の各
画素での階調誤差が記憶される。
【0163】次いで、各レジスタに記憶されている誤差
と所定の重み係数とを、レジスタ毎に乗算して、着目画
素の補正データCx を算出する(ステップS604)。
図19に示したように、着目画素周辺の画素には、画素
毎に所定の重み係数が定められているので、これら所定
の重み係数と記憶されている誤差とをレジスタ毎に乗算
し、得られた各条算値と先に読み出した画像データCd
とを加算することにより、着目画素の補正データCx を
算出するのである。こうして求めた補正データCx と所
定の閾値thとを比較する(ステップS606)。補正
データCx の方が大きければ着目画素にドットを形成す
ると判断して、判断結果を示す変数Crにドットを形成
することを意味する値「1」を書き込み(ステップS6
08)、そうでなければドットを形成しないことを意味
する値「0」を書き込む(ステップS610)。続い
て、かかる判断結果によって着目画素に生じる階調誤差
を算出する(ステップS612)。階調誤差は、前述し
た各種実施例と同様に、着目画素の補正データから結果
値を減算することで求められる。
【0164】以上のようにして着目画素での階調誤差が
求められたら、図18(b)を用いて説明したように、
各レジスタに次のような一連の操作を加える。先ず、レ
ジスタR4 に記憶されている階調誤差を、誤差バッファ
に書き込む(ステップS614)。次ぎに、ステップS
612で求めた階調誤差を、レジスタR4 に書き込む
(ステップS616)。続いて、レジスタR2 の値をレ
ジスタR3 に移動し(ステップS618)、レジスタR
1 の値をレジスタR2 に移動させる(ステップS62
0)。
【0165】以上のようなレジスタの操作が終了した
ら、全画素についてドット形成判断を終了したか否かを
判断し(ステップS622)、未判断の画素が残ってい
たら、ステップS600に戻って、すべての画素につい
て処理が終了するまで、続く一連の処理を繰り返す。す
べての画素のドット形成有無を判断したら、第4実施例
の階調数変換処理を抜けて、図4に示す画像データ変換
処理に復帰する。
【0166】以上に説明した第4実施例の階調数変換処
理においては、1画素のドット形成有無を判断する度
に、誤差バッファから1画素分の階調誤差を読み出すだ
けでよい。平均誤差最小法を適用する場合には、前述し
たように、1画素の判断を行う度に誤差バッファから4
画素分の拡散誤差を読み出す必要があることと比較し
て、誤差バッファに対してデータを読み書きする頻度を
減らすことができ、その分、階調数変換処理を迅速に行
うことができる。もちろん、第4実施例の方法と平均誤
差最小法とは、数学的には全く等価な処理を行ってお
り、第4実施例の方法を用いれば、平均誤差最小法を用
いた場合と同様に、高画質の画像を得ることができる。
【0167】尚、上述した第4実施例においては、重み
係数の設定として、図19(a)に例示する値が設定さ
れているものとして説明した。実際の重み係数は、図1
9に例示する設定に限定されることなく、画質の要請に
応じて種々の設定とすることができることは言うまでも
ない。また、上述の第4実施例では、図19(a)に例
示した設定を用いていることに対応して、中間バッファ
として4つのレジスタを使用したが、使用する重み係数
の設定に応じて、より多くのレジスタが必要になる場合
があることはもちろんである。
【0168】更に、上述した第4実施例においては、中
間バッファとして、CPU102に内蔵されたレジスタ
を用いるものとして説明したが、レジスタに限らず、キ
ャッシュメモリなどの高速に読み書き可能な記憶素子を
用いても良いことはもちろんである。
【0169】以上、各種の実施例について説明してきた
が、本発明は上記すべての実施例に限られるものではな
く、その要旨を逸脱しない範囲において種々の態様で実
施することができる。
【0170】例えば、上述の各種実施例においては、各
画素の補正データと所定の閾値との大小関係に基づいて
ドットの形成有無を判断するものとして説明した。もち
ろん、ドット形成の有無を判断する方法は、前述した方
法に限らず、周知の各種方法を適用することが可能であ
る。
【0171】また、上述の各種実施例においては、説明
の煩雑化を避けるために、形成されるドットの種類は1
種類として、各画素にはドットが形成されるか、形成さ
れ無いかの2つの状態しか取り得ないものとして説明し
た。もちろん、ドットの大きさ、あるいはインク濃度の
異なる複数種類のドットを形成可能としてもよい。例え
ば、大・小の2種類のドットを形成可能として、次のよ
うにしてドットの形成有無を判断しても良い。すなわ
ち、2つの閾値th1とth2(ただし、th1>th
2とする)を設定しておき、画素の補正データが閾値t
h1より大きければ大ドットを形成すると判断し、閾値
th1より小さくかつ閾値th2より大きければ小ドッ
トを形成すると判断し、閾値th2より小さい場合はド
ットを形成しないと判断する。各画素で発生する階調誤
差は、その画素の補正データから結果値を減算すること
によって算出することができる。
【0172】尚、以上の各種実施例においては、誤差バ
ッファは論理的には各画素毎に用意されることになる
が、実際上は数ラスタ分の誤差バッファのみを用意し
て、ドット形成有無が判断された画素の誤差バッファ
は、他の画素の誤差バッファとして転用される。説明の
煩雑化を避ける目的で、上述の各種実施例では、あたか
も全画素分の誤差バッファが用意されているかのように
説明したが、数ラスタ分の誤差バッファを繰り返し使用
しても構わないのはもちろんである。
【0173】また、上述の機能を実現するソフトウェア
プログラム(アプリケーションプログラム)を、通信回
線を介してコンピュータシステムのメインメモリまたは
外部記憶装置に供給し実行するものであってもよい。も
ちろん、CD−ROMやフレキシブルディスクに記憶さ
れたソフトウェアプログラムを読み込んで実行するもの
であっても構わない。
【0174】また、上述した各種実施例では、階調数変
換処理を含む画像データ変換処理はコンピュータ内で実
行されるものとして説明したが、画像データ変換処理の
一部あるいは全部をプリンタ側、あるいは専用の画像処
理装置を用いて実行するものであっても構わない。
【0175】更には、画像表示装置は、必ずしも印刷媒
体上にインクドットを形成して画像を印刷する印刷装置
に限定されるものではなく、例えば、液晶表示画面上で
輝点を適切な密度で分散させることにより、階調が連続
的に変化する画像を表現する液晶表示装置であっても構
わない。
【図面の簡単な説明】
【図1】本実施例の印刷システムの概略構成図である。
【図2】本実施例の画像処理装置としてのコンピュータ
の構成を示す説明図である。
【図3】本実施例の画像表示装置としてのプリンタの概
略構成図である。
【図4】本実施例の画像処理装置で行われる画像データ
変換処理の流れを示すフローチャートである。
【図5】誤差拡散法を用いてドットの形成有無を判断す
る様子を概念的に示す説明図である。
【図6】画素毎に誤差拡散係数が設定されている様子を
例示する説明図である。
【図7】第1実施例の階調数変換処理において処理時間
を短縮化する原理を示す説明図である。
【図8】第1実施例の階調数変換処理の流れを示すフロ
ーチャートである。
【図9】第1実施例の階調数変換処理において1度に多
数の画素の誤差を拡散する場合を示す説明図である。
【図10】第1実施例の変形例の階調数変換処理の流れ
を示すフローチャートである。
【図11】第2実施例の階調数変換処理において処理時
間を短縮化する原理を示す説明図である。
【図12】第2実施例の階調数変換処理において中間バ
ッファと誤差バッファとでデータを読み書きする処理の
概要を示す説明図である。
【図13】第2実施例の階調数変換処理の流れを示すフ
ローチャートである。
【図14】各レジスタの対応する画素位置が着目画素に
対して一定とした場合に、各レジスタと着目画素周辺の
画素とが対応している様子を例示する説明図である。
【図15】第2実施例の変形例の階調数変換処理におい
て処理時間を短縮化する原理を示す説明図である。
【図16】第3実施例の階調数変換処理の流れを示すフ
ローチャートである。
【図17】第3の実施例の階調数変換処理において拡散
範囲の広いマトリックスを使用した場合と、拡散範囲の
狭いマトリックスを使用した場合とで、階調誤差が拡散
される範囲を比較して示す説明図である。
【図18】第4実施例の変形例の階調数変換処理におい
て処理時間を短縮化する原理を示す説明図である。
【図19】第4実施例の変形例の階調数変換処理におい
て、重み係数が画素毎に設定されている様子を例示する
説明図である。
【図20】第4実施例の階調数変換処理の流れを示すフ
ローチャートである。
【符号の説明】
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…記憶装置
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 2C262 AA24 AB19 AC07 BB01 BB08 BB22 DA09 EA04 EA06 GA11 GA12 5B021 AA01 LG08 5B057 AA11 CA01 CA08 CA12 CA16 CB01 CB07 CB12 CB16 CE13 CH01 CH11 5C077 LL18 MP01 MP08 NN11 PP47 PQ12 PQ22 TT02

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】 各画素の階調値を示す画像データを受け
    取り、該画素毎に該階調値に基づきドット形成の有無を
    判断することによって、該画像データをドット形成の有
    無による表現形式の画像データに変換する画像処理装置
    であって、 前記ドット形成の有無を判断する度に該判断した画素で
    発生する階調誤差を、該ドット形成有無の判断結果に基
    づき算出して一時的に保持する階調誤差保持手段と、 所定数の複数画素についての前記一時的に保持された階
    調誤差に基づいて、該所定数の複数画素の周辺にあって
    ドット形成有無の判断がなされていない未判断画素に拡
    散される拡散誤差を算出し、該算出した拡散誤差を該未
    判断画素に対応付けて記憶する拡散誤差記憶手段と、 前記未判断画素に対応付けて記憶された前記拡散誤差を
    考慮しつつ、前記画像データにおける該未判断画素の階
    調値に基づいて、該未判断画素についてのドット形成有
    無を判断するドット形成判断手段とを備える画像処理装
    置。
  2. 【請求項2】 前記階調誤差保持手段は、前記拡散誤差
    記憶手段に対して読み書きするよりも、前記階調誤差を
    迅速に読み書き可能な手段である請求項1記載の画像処
    理装置。
  3. 【請求項3】 請求項1記載の画像処理装置であって、 前記拡散誤差記憶手段は、 前記一時的に保持された階調誤差が前記未判断画素の各
    々に分配される分配誤差を、該階調誤差毎に算出して該
    各未判断画素に蓄積する分配誤差蓄積手段と、 前記所定数の複数画素についての前記分配誤差を全て蓄
    積する度に、前記蓄積されている全ての該分配誤差を、
    前記拡散誤差として前記未判断画素に対応付けて蓄積す
    る拡散誤差蓄積手段とを備える画像処理装置。
  4. 【請求項4】 請求項1記載の画像処理装置であって、 前記階調誤差保持手段は、前記所定数の複数画素につい
    ての前記階調誤差を保持する手段であり、 前記拡散誤差記憶手段は、前記未判断画素の各々に拡散
    される前記拡散誤差を、前記保持されている所定数の階
    調誤差に基づいて算出し、該算出した全ての拡散誤差を
    該各未判断画素に対応付けて蓄積する手段である画像処
    理装置。
  5. 【請求項5】 請求項1記載の画像処理装置であって、 前記拡散誤差記憶手段は、 前記一時的に保持された階調誤差が前記未判断画素の各
    々に分配される分配誤差を、該階調誤差毎に算出して該
    各未判断画素に蓄積する分配誤差蓄積手段と、 前記所定数の複数画素分の分配誤差が蓄積された前記各
    未判断画素の分配誤差を、前記拡散誤差として該未判断
    画素に対応付けて記憶する分配誤差記憶手段とを備える
    画像処理装置。
  6. 【請求項6】 請求項1記載の画像処理装置であって、 前記階調誤差保持手段は、前記所定数の複数画素につい
    ての前記階調誤差を保持する手段であり、 前記拡散誤差記憶手段は、前記複数の未判断画素中にあ
    って前記保持されている全ての階調誤差が拡散される特
    定画素への拡散誤差を、該保持されている複数の階調誤
    差から算出して、該特定画素に対応付けて記憶する手段
    である画像処理装置。
  7. 【請求項7】 請求項1記載の画像処理装置であって、 前記拡散誤差記憶手段は、 前記所定数の複数画素周辺の第1の所定領域内にある第
    1の未判断画素の各々については、該所定数の複数画素
    についての前記階調誤差に基づき前記拡散誤差を算出し
    て、該第1の未判断画素に対応付けて記憶する第1の拡
    散誤差記憶手段と、 前記所定数の複数画素周辺にあって前記第1の所定領域
    内にはない第2の未判断画素については、前記階調誤差
    が算出される度に、該階調誤差に基づいて、該第2の未
    判断画素の各々への前記拡散誤差を算出して、該第2の
    未判断画素に対応付けて記憶する第2の拡散誤差記憶手
    段と、 を備える画像処理装置。
  8. 【請求項8】 請求項7記載の画像処理装置であって、 前記第2の拡散誤差記憶手段は、前記第1の所定領域を
    包含する第2の所定領域内の前記第2の未判断画素につ
    いて、前記拡散誤差を算出して記憶する手段である画像
    処理装置。
  9. 【請求項9】 請求項8記載の画像処理装置であって、 前記ドット形成有無の判断に関わる条件に応じて、前記
    階調誤差を前記未判断画素に拡散させる範囲を、前記所
    定数の複数画素周辺の前記第1の所定領域と、前記第2
    の所定領域とに切り換える拡散範囲切換手段を備える画
    像処理装置。
  10. 【請求項10】 請求項9記載の画像処理装置であっ
    て、 前記拡散範囲切換手段は、前記ドット形成有無の判断に
    かかわる条件として、前記所定数の複数画素の階調値
    と、該各画素についてのドット形成有無の判断結果とに
    基づいて、前記階調誤差を拡散させる範囲を切り換える
    手段である画像処理装置。
  11. 【請求項11】 請求項1記載の画像処理装置であっ
    て、 前記拡散誤差記憶手段は、前記所定数の複数画素の階調
    誤差として、互いに隣接する画素の階調誤差に基づき前
    記拡散誤差を算出して、前記未判断画素に対応付けて記
    憶する手段である画像処理装置。
  12. 【請求項12】 請求項11記載の画像処理装置であっ
    て、 前記ドット形成判断手段は、前記未判断画素に対応付け
    て記憶された前記拡散誤差と、該未判断画素に隣接する
    画素からの前記拡散誤差とを考慮して、該未判断画素に
    ついてのドット形成有無を判断する手段である画像処理
    装置。
  13. 【請求項13】 各画素の階調値を示す画像データを受
    け取り、該画素毎に該階調値に基づきドット形成の有無
    を判断することによって、該画像データをドット形成の
    有無による表現形式の画像データに変換する画像処理装
    置であって、 前記ドット形成の有無を判断する度に該判断した画素で
    発生する階調誤差を、該ドット形成有無の判断結果に基
    づき算出し、該判断画素に対応付けて記憶する階調誤差
    記憶手段と、 前記ドット形成の有無を判断しようとする着目画素の周
    辺にあって該ドット形成有無を判断済みの既判断画素毎
    に対応付けて記憶されている前記階調誤差を、該既判断
    画素毎に保持する階調誤差保持手段と、 前記既判断画素毎に保持されている階調誤差を考慮しつ
    つ、前記画像データにおける前記着目画素の階調値に基
    づいて、ドット形成有無を判断するドット形成判断手段
    と、 前記着目画素の次にドット形成有無を判断する次着目画
    素についての前記既判断画素を検出して、該検出した既
    判断画素の中で前記階調誤差が一時的に保持されていな
    い既判断画素の階調誤差を前記階調誤差記憶手段から読
    み出し、該読み出した階調誤差で該次着目画素について
    の判断に使用しない該階調誤差を更新して、該次着目画
    素の判断に供する階調誤差更新手段とを備える画像処理
    装置。
  14. 【請求項14】 請求項13記載の画像処理装置であっ
    て、 前記着目画素で生じた階調誤差を一時保持する一時保持
    手段を備え、 前記階調誤差更新手段は、前記一時保持されている階調
    誤差で、前記次着目画素についての判断に使用しない前
    記階調誤差を更新する手段である画像処理装置。
  15. 【請求項15】 各画素の階調値を示す画像データを受
    け取り、該画素毎に該階調値に基づきドット形成の有無
    を判断することによって、該画像データをドット形成の
    有無による表現形式の画像データに変換する画像処理方
    法であって、 前記ドット形成の有無を判断する度に該判断した画素で
    発生する階調誤差を、該ドット形成有無の判断結果に基
    づき算出して一時的に保持しておき、 所定数の複数画素についての前記一時的に保持された階
    調誤差に基づいて、該所定数の複数画素の周辺にあって
    ドット形成有無の判断がなされていない未判断画素に拡
    散される拡散誤差を算出し、 前記算出した拡散誤差を前記未判断画素に対応付けて記
    憶し、 前記未判断画素に対応付けて記憶された前記拡散誤差を
    考慮しつつ、前記画像データにおける該未判断画素の階
    調値に基づいて、該未判断画素についてのドット形成有
    無を判断する画像処理方法。
  16. 【請求項16】 各画素の階調値を示す画像データを受
    け取り、該画素毎に該階調値に基づきドット形成の有無
    を判断することによって、該画像データをドット形成の
    有無による表現形式の画像データに変換する画像処理方
    法であって、 前記ドット形成の有無を判断する度に該判断した画素で
    発生する階調誤差を、該ドット形成有無の判断結果に基
    づき算出して、該判断画素に対応付けて記憶し、 前記ドット形成の有無を判断しようとする着目画素の周
    辺にあって該ドット形成有無を判断済みの既判断画素毎
    に対応付けて記憶されている前記階調誤差を、該既判断
    画素毎に保持しておき、 前記既判断画素毎に保持されている階調誤差を考慮しつ
    つ、前記画像データにおける前記着目画素の階調値に基
    づいて、ドット形成有無を判断し、 前記着目画素の次にドット形成有無を判断する次着目画
    素についての前記既判断画素を検出し、 前記検出した既判断画素の中で前記階調誤差が保持され
    ていない既判断画素の階調誤差を読み出して、該読み出
    した階調誤差で該次着目画素についての判断に使用しな
    い該階調誤差を更新した後、該次着目画素の判断に供す
    る画像処理方法。
  17. 【請求項17】 各画素の階調値を示す画像データを受
    け取り、該画素毎に該階調値に基づきドット形成の有無
    を判断することによって、該画像データをドット形成の
    有無による表現形式の印刷データに変換し、印刷媒体上
    にインクドットを形成して画像を印刷する印刷部に対し
    て、該印刷データを出力することで、該印刷部を制御す
    る印刷制御装置であって、 前記ドット形成の有無を判断する度に該判断した画素で
    発生する階調誤差を、該ドット形成有無の判断結果に基
    づき算出して一時的に保持する階調誤差保持手段と、 所定数の画素についての前記一時的に保持された階調誤
    差に基づいて、該所定数の複数画素の周辺にあってドッ
    ト形成有無の判断がなされていない未判断画素に拡散さ
    れる拡散誤差を算出し、該算出した拡散誤差を該未判断
    画素に対応付けて記憶する拡散誤差記憶手段と、 前記未判断画素に対応付けて記憶された前記拡散誤差を
    考慮しつつ、前記画像データにおける該未判断画素の階
    調値に基づいて、該未判断画素についてのドット形成有
    無を判断するドット形成判断手段と、 前記ドット形成有無の判断結果に基づいて前記画像デー
    タを前記印刷データに変換し、前記印刷部に出力する印
    刷データ出力手段とを備える印刷制御装置。
  18. 【請求項18】 各画素の階調値を示す画像データを受
    け取り、該画素毎に該階調値に基づきドット形成の有無
    を判断することによって、該画像データをドット形成の
    有無による表現形式の印刷データに変換し、印刷媒体上
    にインクドットを形成して画像を印刷する印刷部に対し
    て、該印刷データを出力することで、該印刷部を制御す
    る印刷制御装置であって、 前記ドット形成の有無を判断する度に該判断した画素で
    発生する階調誤差を、該ドット形成有無の判断結果に基
    づき算出し、該判断画素に対応付けて記憶する階調誤差
    記憶手段と、 前記ドット形成の有無を判断しようとする着目画素の周
    辺にあって該ドット形成有無を判断済みの既判断画素毎
    に対応付けて記憶されている前記階調誤差を、該既判断
    画素毎に保持する階調誤差保持手段と、 前記既判断画素毎に保持されている階調誤差を考慮しつ
    つ、前記画像データにおける前記着目画素の階調値に基
    づいて、ドット形成有無を判断するドット形成判断手段
    と、 前記着目画素の次にドット形成有無を判断する次着目画
    素についての前記既判断画素を検出して、該検出した既
    判断画素の中で前記階調誤差が保持されていない既判断
    画素の階調誤差を前記階調誤差記憶手段から読み出し、
    該読み出した階調誤差で該次着目画素についての判断に
    使用しない該階調誤差を更新して、該次着目画素の判断
    に供する階調誤差更新手段と前記ドット形成有無の判断
    結果に基づいて前記画像データを前記印刷データに変換
    し、前記印刷部に出力する印刷データ出力手段とを備え
    る印刷制御装置。
  19. 【請求項19】 各画素の階調値を示す画像データを受
    け取り、該画素毎に該階調値に基づきドット形成の有無
    を判断することによって、該画像データをドット形成の
    有無による表現形式の画像データに変換する方法を実現
    するプログラムを、コンピュータで読み取り可能に記録
    した記録媒体であって、 前記ドット形成の有無を判断する度に該判断した画素で
    発生する階調誤差を、該ドット形成有無の判断結果に基
    づき算出して一時的に保持しておく機能と、 所定数の複数画素についての前記一時的に保持された階
    調誤差に基づいて、該所定数の複数画素の周辺にあって
    ドット形成有無の判断がなされていない未判断画素に拡
    散される拡散誤差を算出する機能と、 前記算出した拡散誤差を前記未判断画素に対応付けて記
    憶する機能と、 前記未判断画素に対応付けて記憶された前記拡散誤差を
    考慮しつつ、前記画像データにおける該未判断画素の階
    調値に基づいて、該未判断画素についてのドット形成有
    無を判断する機能とを実現するプログラムを記録した記
    録媒体。
  20. 【請求項20】 各画素の階調値を示す画像データを受
    け取り、該画素毎に該階調値に基づきドット形成の有無
    を判断することによって、該画像データをドット形成の
    有無による表現形式の画像データに変換する方法を実現
    するプログラムを、コンピュータで読み取り可能に記録
    した記録媒体であって、 前記ドット形成の有無を判断する度に該判断した画素で
    発生する階調誤差を、該ドット形成有無の判断結果に基
    づき算出して、該判断画素に対応付けて記憶する機能
    と、 前記ドット形成の有無を判断しようとする着目画素の周
    辺にあって該ドット形成有無を判断済みの既判断画素毎
    に対応付けて記憶されている前記階調誤差を、該既判断
    画素毎に保持しておく機能と、 前記既判断画素毎に保持されている階調誤差を考慮しつ
    つ、前記画像データに示された前記着目画素の階調値に
    基づいて、ドット形成有無を判断する機能と、 前記着目画素の次にドット形成有無を判断する次着目画
    素についての前記既判断画素を検出する機能と、 前記検出した既判断画素の中で前記階調誤差が保持され
    ていない既判断画素の階調誤差を読み出して、該読み出
    した階調誤差で該次着目画素についての判断に使用しな
    い該階調誤差を更新した後、該次着目画素の判断に供す
    る機能とを実現するプログラムを記録した記録媒体。
  21. 【請求項21】 各画素の階調値を示す画像データを受
    け取り、該画素毎に該階調値に基づきドット形成の有無
    を判断することによって、該画像データをドット形成の
    有無による表現形式の画像データに変換する方法を、コ
    ンピュータを用いて実現するためのプログラムであっ
    て、 前記ドット形成の有無を判断する度に該判断した画素で
    発生する階調誤差を、該ドット形成有無の判断結果に基
    づき算出して一時的に保持しておく機能と、 所定数の複数画素についての前記一時的に保持された階
    調誤差に基づいて、該所定数の複数画素の周辺にあって
    ドット形成有無の判断がなされていない未判断画素に拡
    散される拡散誤差を算出する機能と、 前記算出した拡散誤差を前記未判断画素に対応付けて記
    憶する機能と、 前記未判断画素に対応付けて記憶された前記拡散誤差を
    考慮しつつ、前記画像データにおける該未判断画素の階
    調値に基づいて、該未判断画素についてのドット形成有
    無を判断する機能とを実現するためのプログラム。
  22. 【請求項22】 各画素の階調値を示す画像データを受
    け取り、該画素毎に該階調値に基づきドット形成の有無
    を判断することによって、該画像データをドット形成の
    有無による表現形式の画像データに変換する方法を、コ
    ンピュータを用いて実現するためのプログラムであっ
    て、 前記ドット形成の有無を判断する度に該判断した画素で
    発生する階調誤差を、該ドット形成有無の判断結果に基
    づき算出して、該判断画素に対応付けて記憶する機能
    と、 前記ドット形成の有無を判断しようとする着目画素の周
    辺にあって該ドット形成有無を判断済みの既判断画素毎
    に対応付けて記憶されている前記階調誤差を、該既判断
    画素毎に保持しておく機能と、 前記既判断画素毎に保持されている階調誤差を考慮しつ
    つ、前記画像データに示された前記着目画素の階調値に
    基づいて、ドット形成有無を判断する機能と、 前記着目画素の次にドット形成有無を判断する次着目画
    素についての前記既判断画素を検出する機能と、 前記検出した既判断画素の中で前記階調誤差が保持され
    ていない既判断画素の階調誤差を読み出して、該読み出
    した階調誤差で該次着目画素についての判断に使用しな
    い該階調誤差を更新した後、該次着目画素の判断に供す
    る機能とを実現するためのプログラム。
JP2001238086A 2000-10-06 2001-08-06 画像処理装置、画像処理方法、印刷制御装置、および記録媒体 Withdrawn JP2002185788A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2001238086A JP2002185788A (ja) 2000-10-06 2001-08-06 画像処理装置、画像処理方法、印刷制御装置、および記録媒体
KR1020010060081A KR100554002B1 (ko) 2000-10-06 2001-09-27 화상처리장치, 화상처리방법, 인쇄제어장치 및 기록매체
US09/967,888 US6870641B2 (en) 2000-10-06 2001-09-28 Image processing apparatus, method of image processing, print control apparatus, and recording media
CNB01135352XA CN1197035C (zh) 2000-10-06 2001-09-30 图像处理装置、图像处理方法、印刷控制装置及记录媒体
EP01123869A EP1195982A3 (en) 2000-10-06 2001-10-05 Image processing apparatus, method of image processing, print control apparatus, and recording media
KR1020050096852A KR100611236B1 (ko) 2000-10-06 2005-10-14 화상처리장치, 화상처리방법, 인쇄제어장치 및 기록매체

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000307896 2000-10-06
JP2000-307896 2000-10-06
JP2001238086A JP2002185788A (ja) 2000-10-06 2001-08-06 画像処理装置、画像処理方法、印刷制御装置、および記録媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007042424A Division JP2007202170A (ja) 2000-10-06 2007-02-22 画像処理装置、画像処理方法、印刷制御装置、および記録媒体

Publications (1)

Publication Number Publication Date
JP2002185788A true JP2002185788A (ja) 2002-06-28

Family

ID=26601689

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001238086A Withdrawn JP2002185788A (ja) 2000-10-06 2001-08-06 画像処理装置、画像処理方法、印刷制御装置、および記録媒体

Country Status (5)

Country Link
US (1) US6870641B2 (ja)
EP (1) EP1195982A3 (ja)
JP (1) JP2002185788A (ja)
KR (2) KR100554002B1 (ja)
CN (1) CN1197035C (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7612911B2 (en) 2003-03-19 2009-11-03 Seiko Epson Corporation Image processing device and image processing method for performing conversion of color image data
US8363278B2 (en) 2005-04-07 2013-01-29 Peking University Founder Group Co., Ltd. Method and apparatus capable of producing FM halftone dots in high speed
JP2013063538A (ja) * 2011-09-16 2013-04-11 Brother Industries Ltd 印刷実行部に印刷を実行させるための制御装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3823859B2 (ja) * 2002-03-20 2006-09-20 セイコーエプソン株式会社 複数画素単位で画像データを変換する画像処理装置
US6914700B2 (en) 2003-04-17 2005-07-05 Lexmark International, Inc. Method for reducing migrating residual error in error diffusion halftoning
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
CN101340516B (zh) * 2007-07-06 2010-06-02 鸿富锦精密工业(深圳)有限公司 感光度调整装置及调整方法
US8760725B1 (en) * 2008-11-12 2014-06-24 Marvell International Ltd. Tone dependent threshold perturbation error diffusion halftone
KR101328793B1 (ko) * 2009-11-23 2013-11-13 엘지디스플레이 주식회사 오차 확산 방법과 이를 이용한 액정표시장치
JP5609101B2 (ja) * 2009-12-22 2014-10-22 ブラザー工業株式会社 制御装置及びコンピュータプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3751916D1 (de) * 1986-12-19 1996-10-24 Matsushita Electric Ind Co Ltd Gerät zur Verarbeitung von Signalen für die Anzeige von Bildern mit zwei Pegeln
WO1989006080A1 (en) * 1987-12-17 1989-06-29 Eastman Kodak Company Image processor with error diffusion modulated threshold matrix
JP2791066B2 (ja) * 1988-11-15 1998-08-27 キヤノン株式会社 記録装置
US5337160A (en) * 1992-07-01 1994-08-09 Hewlett-Packard Error diffusion processor and method for converting a grey scale pixel image to a binary value pixel image
JP3207012B2 (ja) * 1993-03-25 2001-09-10 株式会社東芝 画像処理装置
JP3240803B2 (ja) * 1994-02-14 2001-12-25 セイコーエプソン株式会社 画像処理装置および画像処理方法
JP4155634B2 (ja) * 1998-09-21 2008-09-24 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置及び画像形成システム並びにコンピュータ読み取り可能な記録媒体
JP4236804B2 (ja) * 2000-09-29 2009-03-11 富士通株式会社 画像処理方法、その装置及び記憶媒体

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7612911B2 (en) 2003-03-19 2009-11-03 Seiko Epson Corporation Image processing device and image processing method for performing conversion of color image data
US8363278B2 (en) 2005-04-07 2013-01-29 Peking University Founder Group Co., Ltd. Method and apparatus capable of producing FM halftone dots in high speed
JP2013063538A (ja) * 2011-09-16 2013-04-11 Brother Industries Ltd 印刷実行部に印刷を実行させるための制御装置

Also Published As

Publication number Publication date
EP1195982A2 (en) 2002-04-10
EP1195982A3 (en) 2004-10-06
KR100611236B1 (ko) 2006-08-10
CN1348153A (zh) 2002-05-08
US20020075494A1 (en) 2002-06-20
CN1197035C (zh) 2005-04-13
KR20050105141A (ko) 2005-11-03
KR20020027183A (ko) 2002-04-13
KR100554002B1 (ko) 2006-02-22
US6870641B2 (en) 2005-03-22

Similar Documents

Publication Publication Date Title
KR100611236B1 (ko) 화상처리장치, 화상처리방법, 인쇄제어장치 및 기록매체
JP3912055B2 (ja) 画像処理装置、印刷制御装置、画像処理方法、および記録媒体
JP3661624B2 (ja) 画像処理装置
JPH11314383A (ja) プリント・ドライバ製造方法及びカラー印刷システム
JP3601491B2 (ja) 画像処理装置、画像処理方法、記録媒体、およびプログラム
JP2010035112A (ja) 画像処理装置および画像処理方法
JP2011025658A (ja) 画像形成装置及び画像形成方法
JP3541668B2 (ja) 印刷装置および印刷方法並びに記録媒体
JP3666427B2 (ja) 画像処理装置、印刷制御装置、画像処理方法、および記録媒体
JP2010130303A (ja) 印刷制御装置、印刷装置、印刷制御方法およびコンピュータプログラム
JP2006240043A (ja) 画像形成装置、画像処理装置、画像処理方法およびプログラム
US7362473B2 (en) Image processing technique for tone number conversion of image data
JP2005303666A (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を出力する画像出力システム
JP2001063147A (ja) 印刷装置、印刷方法、および記録媒体
JP4561049B2 (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を印刷する印刷システム
JP2007202170A (ja) 画像処理装置、画像処理方法、印刷制御装置、および記録媒体
JP4228814B2 (ja) 複数のラスタを並行して処理しながら画像を印刷する印刷方法
JP2009177566A (ja) 印刷画質を向上可能な画像処理
JP2005295131A (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP2007160897A (ja) インクジェット記録方法、インクジェット記録システムおよびインクジェット記録装置
JP2020069709A (ja) 画像処理装置、インクジェット記録装置および画像処理方法
JP2001277554A (ja) 特定色のインクを他色で置き換えて印刷可能な印刷システム、印刷制御装置およびその印刷方法
JP2012218346A (ja) インク滴サイズ置換装置、インク滴サイズ置換方法、プログラム、及び画像形成装置
JP2012179776A (ja) 印刷装置
JP2006264010A (ja) 色ずれ補正装置、色ずれ補正方法および色ずれ補正プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060711

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060911

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070222

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070406

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20070423