JP2003283828A - 複数画素単位で画像データを変換する画像処理装置 - Google Patents
複数画素単位で画像データを変換する画像処理装置Info
- Publication number
- JP2003283828A JP2003283828A JP2002079592A JP2002079592A JP2003283828A JP 2003283828 A JP2003283828 A JP 2003283828A JP 2002079592 A JP2002079592 A JP 2002079592A JP 2002079592 A JP2002079592 A JP 2002079592A JP 2003283828 A JP2003283828 A JP 2003283828A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- unit
- dot formation
- dot
- absence
- 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.)
- Granted
Links
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/46—Colour picture communication systems
- H04N1/52—Circuits or arrangements for halftone screening
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
-
- 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/46—Colour picture communication systems
- H04N1/56—Processing of colour picture signals
- H04N1/58—Edge or detail enhancement; Noise or error suppression, e.g. colour misregistration correction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
よる画質の悪化を防止する。 【解決手段】 隣接する複数個の画素をユニットにまと
めて、画像データをドットの形成有無を表すドットデー
タにユニット単位で変換する。変換したユニット内の画
素については、該ユニット内での画素位置を識別可能な
状態でドット形成の有無を記憶しておく。画像データを
ユニット単位でドットデータに変換するに際しては、ド
ット形成有無を判断しようとする着目画素を設定した
後、該着目画素に対して所定の画素位置でのドットの形
成状況を検出して、検出結果を考慮しながらドットの形
成有無を判断する。こうすれば、画像データをドットデ
ータにユニット単位で変換したことによる画質の悪化を
回避することが可能となる。
Description
を、ドット形成の有無によって表現されたドットデータ
に変換する技術に関し、詳しくは、所定数の隣接する画
素をユニットにまとめて処理することで画像データを迅
速に変換しながら、画質の悪化を回避する技術に関す
る。
に、ドットを形成することによって画像を表現する画像
表示装置は、各種画像機器の出力装置として広く使用さ
れている。かかる画像表示装置は、局所的にはドットを
形成するか否かのいずれかの状態しか表現し得ないが、
画像の階調値に応じてドットの形成密度を適切に制御す
ることによって、階調が連続的に変化する画像を表現す
ることが可能となっている。
に応じて適切な密度でドットが形成されるように、各画
素についてのドット形成の有無を判断するための手法と
しては、誤差拡散法と呼ばれる手法が広く使用されてい
る。誤差拡散法は、着目画素にドットを形成したこと、
あるいはドットを形成しなかったことによって生じる階
調表現の誤差を、該着目画素周辺の未判断画素に拡散し
て記憶しておき、未判断画素についてのドット形成の有
無を判断するにあたっては、周辺画素から拡散されてき
た誤差を解消するようにドット形成有無を判断する手法
である。誤差拡散法を用いれば、このように周辺画素で
発生した階調表現の誤差を解消するようにドットの形成
有無を判断することができるので、画像の階調値に応じ
た適切な密度でドット形成の有無を判断することが可能
である。
な密度でドットを形成することで高画質な画像を表示す
ることができるものの、一方では、ドット形成の有無を
判断する度に階調誤差を周辺画素に拡散しなければなら
ならず、画像を構成する画素数が多くなると処理に時間
がかかって迅速に画像を表現することが困難となる。こ
のような問題を解決するために、本願の発明者は、所定
数ずつの隣接する画素をユニットにまとめて、ユニット
単位で誤差を拡散しながらドット形成の有無を判断する
技術を開発し、既に出願済みである(出願番号、特願2
001−238117号)。
無の判断をユニット単位で行う場合、それぞれのユニッ
トについては同じような処理が繰り返されることにな
る。このため、複数のユニットに亘って、ユニット内の
同じ位置の画素にドットが形成されて、これが周期的な
パターンとして視認されることとなり、画質を悪化させ
るおそれがある。また、ドット形成の有無をユニット単
位で判断した場合に、周期的なパターンの発生が懸念さ
れる問題は、誤差拡散法に限らず他の周知な方法を用い
た場合にも同様に生じ得る。
を解決するためになされたものであり、ドット形成の有
無をユニット単位で判断することにより迅速な判断を可
能としながら、周期的なパターンの発生を確実に回避し
て高画質な画像を表示可能な技術の提供を目的とする。
述の課題の少なくとも一部を解決するため、本発明の画
像処理装置は、次の構成を採用した。すなわち、画像を
構成する各画素についての階調値によって表現された画
像データを、該各画素についてのドット形成の有無を表
すドットデータに変換する画像処理装置であって、互い
に隣接する前記画素を所定の複数個ずつユニットとして
まとめ、前記画像データを該ユニット単位で前記ドット
データに変換するドットデータ変換手段と、前記変換さ
れたユニットを構成する少なくとも一部の画素について
は、該ユニット内での画素位置を識別可能な状態でドッ
ト形成の有無を記憶するドット有無記憶手段とを備え、
前記ドットデータ変換手段は、前記ユニット内でドット
形成の有無を判断しようとする着目画素を順次設定する
着目画素設定手段と、前記変換済みのユニット内でドッ
ト形成の有無が記憶されている画素の中から、前記着目
画素の画素位置に対して所定位置にある画素についての
ドット形成有無を検出するドット形成有無検出手段と、
前記着目画素についての画像データの階調値と、前記検
出したドット形成有無とに基づいて、該着目画素につい
てのドット形成の有無を判断するドット形成判断手段と
を備えることを要旨とする。
明の画像処理方法は、画像を構成する各画素についての
階調値によって表現された画像データを、該各画素につ
いてのドット形成の有無を表すドットデータに変換する
画像処理方法であって、互いに隣接する前記画素を所定
の複数個ずつユニットとしてまとめ、前記画像データを
該ユニット単位で前記ドットデータに変換する工程と、
前記変換されたユニットを構成する少なくとも一部の画
素については、該ユニット内での画素位置を識別可能な
状態でドット形成の有無を記憶する工程とを備え、前記
ドットデータに変換する工程は、更に、前記ユニット内
でドット形成の有無を判断しようとする着目画素を順次
設定する工程と、前記変換済みのユニット内でドット形
成の有無が記憶されている画素の中から、前記着目画素
の画素位置に対して所定位置にある画素についてのドッ
ト形成有無を検出する工程と、前記着目画素についての
画像データの階調値と、前記検出したドット形成有無と
に基づいて、該着目画素についてのドット形成の有無を
判断する工程とを備えることを要旨とする。
おいては、画素を所定の複数個ずつユニットとしてまと
め、画像データをユニット単位でドットデータに変換す
るに際して、既に変換したユニット内でのドットの形成
状況を検出し、検出結果を考慮しながらドットの形成有
無を判断する。変換済みのユニット内でのドット形成状
況は、次のようにして検出する。先ず、変換されたユニ
ットを構成する少なくとも一部の画素について、該ユニ
ット内での画素位置を識別可能な状態でドット形成の有
無を記憶しておく。次いで、ユニット内でドット形成有
無を判断しようとする着目画素を設定し、ドット形成有
無を記憶しておいた画素の中から、該着目画素の画素位
置に対して所定位置にある画素についてのドット形成有
無を検出する。ドット形成の有無を検出する画素は、着
目画素に対して所定位置にあればよい。従って、複数の
画素について検出することとしてもよく、また、検出す
る画素位置は、着目画素の画素位置に応じて異なった画
素位置とすることも可能である。
ット形成状況を検出し、検出結果を考慮しながらドット
の形成有無を判断すれば、画像データをユニット単位で
ドットデータに変換した場合でも、ユニット内でドット
が形成される位置が、複数のユニットに亘って一定のパ
ターンとなってしまうことを回避することができる。従
って、周期的なパターンが視認されて画質が悪化するこ
とを確実に防止することが可能となる。
に対して所定位置の画素でのドットの形成が検出された
場合には、前記着目画素についてドットが形成され難く
することとしてもよい。
的なパターンでドットが形成され難くすることができ
る。その結果、画像データをユニット単位でドットデー
タに変換した場合でも、周期的なパターンが視認されて
画質を悪化させることを回避することが可能となる。
素に対して所定位置にある複数の画素について、前記ド
ット形成の有無を検出し、該複数の画素のいずれかの画
素でドットの形成が検出された場合には、前記着目画素
でドットが形成され難くすることとしてもよい。
形成が検出された場合に、着目画素でのドットの形成を
抑制することとしておけば、周期的なパターンでドット
が形成されることを確実に回避することができる。特
に、ドットがまばらに形成される領域では、複数の画素
のすべての画素においてドットが形成されることは稀で
あると考えられる。このことから、いずれかの画素でド
ットの形成が検出されれば着目画素でのドットの形成を
抑制することとしておけば、周期的なパターンの発生を
効果的に抑制することが可能となる。
着目画素に対して所定位置にある複数の画素について、
ドット形成の有無を検出し、該複数の画素のいずれにお
いてもドットの形成が検出された場合には、前記着目画
素でドットが形成され難くすることもできる。
ットの形成が検出された場合には、着目画素でのドット
形成を抑制することとしておけば、特定のパターンでド
ットが形成されることを確実に回避することができる。
特に、ドットが高い密度で形成される領域では、複数の
画素のいずれかにはドットが形成されている可能性が高
いと考えられる。従って、所定の画素位置のいずれの画
素にもドットが形成されている場合に着目画素のドット
形成を抑制することとしておけば、周期的なパターンで
ドットが形成されることを確実に回避することが可能と
なるので好ましい。
みのユニット内で検出したドット形成状況を、着目画素
についてのドット形成有無の判断に、次のようにして反
映させてもよい。すなわち、変換済みユニット内の所定
位置にある画素についてドットの形成が検出された場合
には、該着目画素にドットが形成され易くなるようにし
てもよい。
平坦な画像を表している場合には、自然画像の場合とは
異なって、ドットを周期的に形成した方が良好な画質が
得られる場合がある。このような画像を印刷する場合、
ドットが一定のパターンで周期的に形成された領域の中
にパターンの乱れた領域が発生すると、この領域が目立
って画質を悪化させるおそれがある。従って、変換済み
のユニット内の所定位置にある画素についてドットの形
成が検出された場合には、着目画素にドットが形成され
易くしておけば、パターンの乱れた領域が発生すること
を回避することができ、延いては画質の悪化を防止する
ことが可能となる。
は、ユニットを構成する各画素についての階調値の総和
値を算出し、着目画素についてのドット形成有無を判断
するに際しては、該算出した総和値も考慮して判断する
こととしてもよい。
異なることから、ドットの形成有無をユニット単位で判
断したときに現れるパターンも、画素の階調値によって
異なる場合があると考えられる。従って、着目画素につ
いてのドット形成有無の判断に際して、ユニットを構成
する各画素についての階調値の総和値も考慮すれば、ド
ットが一定のパターンで形成されることをより効果的に
回避することが可能となるので好ましい。尚、ドット形
成の判断に際して考慮される総和値は、ユニット内の各
画素についての実質的な総和値であればよい。従って、
総和値に代わりとして、例えばユニット内各画素の階調
値の平均値を用いてもよいことは言うまでも無い。
ニット内の各画素の総和値が所定値以下となる場合に、
前記着目画素についてのドット形成を抑制することとし
ても良い。
の階調値が小さくなるほど、ドットはまばらに形成され
る。従って、階調値の小さな画像データをユニット単位
でドットデータに変換した場合には、これらまばらなド
ットが周期的に形成されて画質を悪化させるおそれがあ
る。この様な場合、すなわちユニット内の各画素の総和
値が所定値以下であり、着目画素に対して所定の画素位
置におけるドットの形成が検出された場合においても、
該着目画素にドットが形成され難くしておけば、まばら
なドットが周期的に形成されることを効果的に抑制する
ことができ、延いては画質の悪化を回避することが可能
となる。
値が所定値以上である場合には、前記着目画素について
は、ドットの形成を促進することとしても良い。
の階調値が大きくなると、密に形成されたドットの間に
ドットの形成されない画素がまばらに発生することにな
る。従って、階調値の高い画像データをユニット単位で
ドットデータに変換した場合、ドットの形成されない画
素が、まばらに且つ周期的に発生して画質を悪化させる
おそれがある。このことから、ユニット内の各画素の総
和値が所定値以上であり、着目画素に対して所定の画素
位置におけるドットの形成が検出された場合において
も、該着目画素にドットが形成され易くなるようにして
おけば、ドットの形成されない画素が、まばらに且つ周
期的に発生することを効果的に抑制することができ、延
いては画質の悪化を回避することが可能となる。
は、次のようにして、ドット形成の有無を検出する画素
位置を変更することとしても良い。すなわち、ドット形
成の有無を検出する画素位置を階調値に対応付けて予め
記憶しておき、ユニット内の各画素の階調値の総和値を
算出して、該総和値に対応付けて記憶されている画素位
置でのドット形成有無を検出する。
置でのドット形成状況を検出することができるので、画
像データをユニット単位でドットデータに変換した場合
でも、ドットが一定のパターンで形成されることを効果
的に回避することが可能となる。
より小さな第1の階調値の方が、該所定値より大きな第
2の階調値よりも、前記着目画素から遠方の画素位置を
対応付けて記憶していることとしてもよい。
調値が小さくなると、それだけドットはまばらに形成さ
れることになるので、ドットの形成に周期的なパターン
が発生する場合にも、ドットの間隔は広くなる傾向があ
る。従って、所定値より小さな第1の階調値の方が、該
所定値より大きな第2の階調値よりも、前記着目画素か
ら遠方の画素位置を対応付けて記憶しておくこととすれ
ば、階調値の小さな領域においてドットが周期的に形成
されることを効果的に回避することが可能となる。
は、ドット形成の有無を検出する画素位置を、次のよう
にして画素毎に変更することとしてもよい。すなわち、
ドット形成の有無を検出する画素位置と階調値とを、予
め対応付けて記憶しておく。着目画素についてのドット
形成有無を判断するに際しては、該着目画素の階調値に
基づいて、該階調値に対応付けられた画素位置でのドッ
ト形成有無を検出する。着目画素の階調値に加えて、こ
うして得られた検出結果を考慮してドット形成の有無を
判断する。
慮する画素位置を、画素の階調値に応じて適切な位置に
設定して、周期的なパターンの発生を効果的に抑制する
ことが可能となるので好ましい。
トを構成する各画素についてのドット形成有無を、いわ
ゆる誤差拡散法を用いて判断することとして、かかる判
断に際して参照される誤差拡散法の閾値の値を、変換済
みのユニット内でのドット形成有無に応じて変更するこ
ととしても良い。
済みのユニット内の所定画素位置におけるドット形成有
無の検出結果を、着目画素でのドット形成有無の判断に
簡便に反映させることができる。また、誤差拡散法は、
着目画素で発生した階調誤差を周辺の未判断画素に拡散
し、これら周辺の画素でのドット形成有無の判断に反映
させることで、該階調誤差を速やかに解消させる機能を
有している。このことから、着目画素についてのドット
形成の有無を、誤差拡散法を用いて判断すれば、変換済
みのユニット内でのドット形成有無の検出結果を反映さ
せることによって着目画素に大きな階調誤差が生じた場
合でも、これを速やかに解消して、より高画質の画像を
表現することが可能となるので好ましい。
の有無を判断する画像処理装置においては、前記着目画
素に対して前記所定位置にある画素でのドットの形成が
検出された場合は、該着目画素にはドットを形成しない
と判断することとしてもよい。
出された場合には、着目画素にはドットを形成しないと
判断することとすれば、画像データをユニット単位でド
ットデータに変換する場合でも、一定のパターンでドッ
トが形成されることを簡便に回避することが可能となる
ので好適である。また、誤差拡散法を用いてドット形成
の有無を判断しているので、ドットを形成しないと判断
することで着目画素に大きな階調誤差が生じた場合で
も、この誤差を速やかに解消することが可能であり、画
質の悪化を招くおそれがない。
みのユニットを構成する画素についてのドット形成の有
無を、次のようにして記憶することとしても良い。すな
わち、画素毎にドット形成の有無を表すデータを、該画
素が属するユニットと該ユニット内での画素位置とが識
別可能な所定の順序で配列し、こうして得られたデータ
列を記憶することとしてもよい。
ータの順番から、画素が属するユニットと該ユニット内
での画素位置とを容易に識別して、画素毎にドット形成
の有無を記憶しておくことができる。しかも、この様な
データ列として記憶しておけば、複数の画素位置でのド
ット形成有無をひとつのデータ列として記憶することが
できるので、データの取り扱いが容易になると言う利点
もある。
すデータを、次のようにユニット内での画素位置毎に記
憶することとしても良い。すなわち、ユニット内での画
素位置毎に分類し、該画素が属する前記ユニットを識別
可能に所定の順序で配列して、画素位置毎にデータ列を
形成する。こうして得られた複数のデータ列を記憶する
こととしても良い。
が属するユニットはデータの順番に基づいて、ユニット
内での画素位置はデータ列の違いに基づいて識別するこ
とができる。従って、こうした方法によっても、画素毎
にドット形成の有無を表すデータをユニット内での画素
位置を識別可能な状態で、簡便に記憶しておくことがで
きる。また、この様に画素位置毎のデータ列として記憶
しておけば、個々のデータ列を短くすることができるの
で、データ列の取り扱いが容易になると言う利点も得ら
れる。
上にドットを形成して画像を印刷する印刷装置に好適に
適用することができる。すなわち、本発明の画像処理装
置は、ユニット単位で変換することにより、画像データ
を迅速にドットデータに変換することができる。しか
も、変換済みのユニットにおける所定の画素位置でのド
ット形成状況を検出することで、ドットが一定のパター
ンで形成されることを回避することができる。従って、
こうした画像処理装置を印刷装置に適用すれば、画像デ
ータを迅速にドットデータに変換することで、印刷に要
する時間を短縮しながら、画質の悪化を回避することが
可能となるので好ましい。
実現するプログラムをコンピュータに読み込ませること
により、コンピュータを用いて実現することも可能であ
る。従って、本発明は次のような記録媒体としての態様
も含んでいる。すなわち、上述の画像処理方法に対応す
る本発明の記録媒体は、画像を構成する各画素について
の階調値として表現された画像データを、該各画素につ
いてのドット形成の有無を表すドットデータに変換する
方法を実現するプログラムを、コンピュータで読み取り
可能に記録した記録媒体であって、互いに隣接する前記
画素を所定の複数個ずつユニットとしてまとめ、前記画
像データを該ユニット単位で前記ドットデータに変換す
る機能と、前記変換されたユニットを構成する少なくと
も一部の画素については、該ユニット内での画素位置を
識別可能な状態でドット形成の有無を記憶する機能とを
記憶しており、前記ドットデータに変換する機能には、
前記ユニット内でドット形成の有無を判断しようとする
着目画素を順次設定する機能と、前記変換済みのユニッ
ト内でドット形成の有無が記憶されている画素の中か
ら、前記着目画素の画素位置に対して所定位置にある画
素についてのドット形成有無を検出する機能と、前記着
目画素についての画像データの階調値と、前記検出した
ドット形成有無とに基づいて、該着目画素についてのド
ット形成の有無を判断する機能とが含まれていることを
要旨とする。
ムをコンピュータに読み込ませ、上述の各種機能を該コ
ンピュータに実行させれば、画像データをユニット単位
でドットデータに変換することによって迅速に変換しつ
つ、変換済みのユニットにおけるドットの形成状況を検
出することによって、ドットが一定のパターンで形成さ
れることを回避することができるので、画質の悪化を招
くおそれがない。
説明するために、本発明の実施の形態を、次のような順
序に従って以下に説明する。 A.実施の形態: B.装置構成: C.画像データ変換処理の概要: D.第1実施例: D−1.ユニット単位で行う階調数変換処理: D−2.ユニット内多値化処理: D−3.第1実施例のユニット内多値化処理: D−4.変形例: E.第2実施例: E−1.第2実施例のユニット内多値化処理: E−2.第2実施例の変形例:
始する前に、理解の便宜から、本発明の概要について簡
単に説明しておく。図1は、印刷システムを例にとっ
て、本発明の概要を示した説明図である。図1に示した
印刷システムは、画像処理装置としてのコンピュータ1
0と、カラープリンタ20等から構成されている。コン
ピュータ10は、デジタルカメラやカラースキャナなど
の画像機器からRGB各色の階調値によって表現された
カラー画像データを受け取ると、該画像データを、カラ
ープリンタ20で印刷可能な各色ドットの形成有無によ
り表現された印刷データに変換する。かかる画像データ
の変換は、プリンタドライバ12と呼ばれる専用のプロ
グラムを用いて行われる。尚、RGB各色によるカラー
画像データは、各種アプリケーションプログラムを用い
てコンピュータ10で作成することもできる。
ュール,色変換モジュール,階調数変換モジュール1
4,インターレースモジュールといった複数のモジュー
ルから構成されている。これら各モジュールで行われる
処理については後述する。このうち、階調数変換モジュ
ール14では、画像データをドット形成の有無により表
現されたデータに変換する処理を行っている。また、本
実施例の階調数変換モジュールでは、処理を迅速化する
ため、次のようにユニット単位の処理を行っている。す
なわち、隣接する複数個の画素をまとめてユニットを生
成し、各画素についてのドット形成有無の判断をユニッ
ト単位でまとめて行う。ドット形成有無の判断をユニッ
ト単位で行う方法については後述する。
す枠の下方に、矢印で示した概念図は、階調数変換モジ
ュール14において画像データがドットデータに変換さ
れている様子を示したものである。概念図中で破線で示
した小さな正方形は画素を模式的に示したものである。
これら4つの画素で1つのユニットを構成している。図
中で細かい斜線を付して示したユニットは、処理中のユ
ニット、すなわち画像データをドットデータに変換中の
ユニットを示したものである。また、粗い斜線を付して
示した領域は、ドット形成有無が判断されてドットデー
タに変換された領域を示している。ドット形成有無の判
断をユニット単位で行う場合、各ユニットについては同
様な処理が行われる。このため、特に画像データの階調
値があまり変化しない領域を処理した場合などには、複
数のユニットに亘って一定のパターンでドットが形成さ
れるおそれがある。一定のパターンでドットが形成され
た領域が発生すると、これが視認されて画質の悪化を招
くことが懸念される。
ーンで形成される一例として、連続するユニット内の同
じ画素位置にドットが形成される場合を示している。図
示されているように、処理中のユニット(細かい斜線を
付したユニット)の左側には、左上隅の画素にドットが
形成されたユニットが2つ連続している。仮に、処理中
のユニットでも左上隅の画素にドットが形成されると、
連続して3つのユニットで同じ位置の画素にドットが形
成されることになり、これがパターンとして視認されて
画質が悪化するおそれがある。もちろん、ドットが一定
のパターンで形成される例としては、連続するユニット
内の同じ画素位置にドットが形成される場合に限られ
ず、複数のユニットを周期として一定のパターンでドッ
トが形成される場合も起こり得る。
1に示した印刷システムにおける階調数変換モジュール
14では、既に処理したユニットについてドットを形成
すると判断した画素を、階調数変換結果記憶部に記憶し
ておく。ユニット単位でドット形成有無を判断するに際
しては、階調数変換結果記憶部から判断結果を読み出し
て、ドットが一定のパターンで形成されることを回避し
ながら判断していく。例えば、図1中の概念図に示した
例では、連続したユニットで同じ画素位置にドットが形
成されているから、同じ位置の画素に連続してドットが
形成されないようにしながら、処理ユニットについての
ドット形成有無を判断していく。このように、視認され
易いパターンでドットが形成されることを回避しながら
ドット形成の有無を判断する。こうすれば、ユニット単
位でドット形成の有無を判断することによって迅速な処
理を行いながら、画質を悪化させることなく高画質な画
像を印刷することが可能となる。以下では、このような
画像処理について、実施例に基づき詳細に説明する。
理装置としてのコンピュータ100の構成を示す説明図
である。コンピュータ100は、CPU102を中心
に、ROM104やRAM106などを、バス116で
互いに接続して構成された周知のコンピュータである。
ィスク124やコンパクトディスク126のデータを読
み込むためのディスクコントローラDDC109や、周
辺機器とデータの授受を行うための周辺機器インターフ
ェースP/IF108、CRT114を駆動するための
ビデオインターフェースV/IF112等が接続されて
いる。P/IF108には、後述するカラープリンタ2
00や、ハードディスク118等が接続されている。ま
た、デジタルカメラ120やカラースキャナ122等を
P/IF108に接続すれば、デジタルカメラ120や
カラースキャナ122で取り込んだ画像を印刷すること
も可能である。また、ネットワークインターフェースカ
ードNIC110を装着すれば、コンピュータ100を
通信回線300に接続して、通信回線に接続された記憶
装置310に記憶されているデータを取得することもで
きる。
0の概略構成を示す説明図である。カラープリンタ20
0はシアン,マゼンタ,イエロ,ブラックの4色インク
のドットを形成可能なインクジェットプリンタである。
もちろん、これら4色のインクに加えて、染料濃度の低
いシアン(淡シアン)インクと染料濃度の低いマゼンタ
(淡マゼンタ)インクとを含めた合計6色のインクドッ
トを形成可能なインクジェットプリンタを用いることも
できる。尚、以下では場合によって、シアンインク,マ
ゼンタインク,イエロインク,ブラックインク,淡シア
ンインク,淡マゼンタインクのそれぞれを、Cインク,
Mインク,Yインク,Kインク,LCインク,LMイン
クと略称することがあるものとする。
に、キャリッジ240に搭載された印字ヘッド241を
駆動してインクの吐出およびドットの形成を行う機構
と、このキャリッジ240をキャリッジモータ230に
よってプラテン236の軸方向に往復動させる機構と、
紙送りモータ235によって印刷用紙Pを搬送する機構
と、ドットの形成やキャリッジ240の移動および印刷
用紙の搬送を制御する制御回路260とから構成されて
いる。
るインクカートリッジ242と、Cインク,Mインク,
Yインクの各種インクを収納するインクカートリッジ2
43とが装着されている。キャリッジ240にインクカ
ートリッジ242,243を装着すると、カートリッジ
内の各インクは図示しない導入管を通じて、印字ヘッド
241の下面に設けられた各色毎のインク吐出用ヘッド
244ないし247に供給される。各色毎のインク吐出
用ヘッド244ないし247には、48個のノズルNz
が一定のノズルピッチkで配列されたノズル列が1組ず
つ設けられている。
M262、RAM263等から構成されている。制御回
路260は、キャリッジモータ230と紙送りモータ2
35とを適切に駆動することを通じて、キャリッジ24
0の主走査と副走査とを制御するとともに、コンピュー
タ100から供給される印刷データに基づいて、各ノズ
ルから適切なタイミングでインク滴を吐出する。こうし
て、制御回路260の制御の下、印刷媒体上の適切な位
置に各色のインクドットを形成することによって、カラ
ープリンタ200はカラー画像を印刷することができ
る。
を吐出する方法には、種々の方法を適用することができ
る。すなわち、ピエゾ素子を用いてインクを吐出する方
式や、インク通路に配置したヒータでインク通路内に泡
(バブル)を発生させてインク滴を吐出する方法などを
用いることができる。また、インクを吐出する代わり
に、熱転写などの現象を利用して印刷用紙上にインクド
ットを形成する方式や、静電気を利用して各色のトナー
粉を印刷媒体上に付着させる方式のプリンタを使用する
ことも可能である。
したり、あるいは一度に複数のインク滴を吐出して、吐
出するインク滴の数を制御することにより、印刷用紙上
に形成されるインクドットの大きさを制御可能な、いわ
ゆるバリアブルドットプリンタを使用することもでき
る。
ラープリンタ200は、キャリッジモータ230を駆動
することによって、各色のインク吐出用ヘッド244な
いし247を印刷用紙Pに対して主走査方向に移動さ
せ、また紙送りモータ235を駆動することによって、
印刷用紙Pを副走査方向に移動させる。制御回路260
は、印刷データに従って、キャリッジ240の主走査お
よび副走査を繰り返しながら、適切なタイミングでノズ
ルを駆動してインク滴を吐出することによって、カラー
プリンタ200は印刷用紙上にカラー画像を印刷してい
る。
本実施例の画像処理装置としてのコンピュータ100
が、受け取った画像データに所定の画像処理を加えるこ
とによって、画像データを印刷データに変換する処理の
流れを示すフローチャートである。かかる処理は、コン
ピュータ100のオペレーティングシステムがプリンタ
ドライバ12を起動することによって開始される。以
下、図4に従って、本実施例の画像データ変換処理につ
いて簡単に説明する。
処理を開始すると、先ず初めに、変換すべきRGBカラ
ー画像データの読み込みを開始する(ステップS10
0)。次いで、取り込んだ画像データの解像度を、カラ
ープリンタ200が印刷するための解像度に変換する
(ステップS102)。カラー画像データの解像度が印
刷解像度よりも低い場合は、線形補間を行うことで隣接
する画像データ間に新たなデータを生成し、逆に印刷解
像度よりも高い場合は一定の割合でデータを間引くこと
によって、画像データの解像度を印刷解像度に変換す
る。
データの色変換処理を行う(ステップS104)。色変
換処理とは、R,G,Bの階調値の組み合わせによって
表現されているカラー画像データを、C,M,Y,Kな
どのカラープリンタ200で使用する各色の階調値の組
み合わせによって表現された画像データに変換する処理
である。色変換処理は、色変換テーブルと呼ばれる3次
元の数表を参照することで迅速に行うことができる。
いて階調数変換処理を開始する(ステップS106)。
階調数変換処理とは次のような処理である。色変換処理
によって、RGB画像データはC,M,Y,K各色の階
調データに変換される。これら各色の階調データは、階
調値0から255の256階調を有するデータである。
これに対し、本実施例のカラープリンタ200は、「ド
ットを形成する」,「ドットを形成しない」のいずれか
の状態しか採り得ない。そこで、256階調を有する各
色の階調データを、カラープリンタ200が表現可能な
2階調で表現された画像データに変換する必要がある。
このような階調数の変換を行う処理が階調数変換処理で
ある。後述するように、本実施例のプリンタドライバ1
2は、画素を所定数ずつユニットにまとめ、ユニット単
位で階調数変換処理を行うことによって迅速な処理を可
能としている。また、処理済みのユニットについては、
ドットを形成すると判断した画素を記憶しておき、この
データを反映させながら階調数変換を行う。こうするこ
とで、ユニット単位で階調数変換処理を行った場合に懸
念される、ドットが一定のパターンで形成される現象が
発生することを確実に回避することが可能となってい
る。階調数変換処理については、後ほど詳細に説明す
る。
リンタドライバはインターレース処理を開始する(ステ
ップS108)。インターレース処理とは、ドットの形
成有無を表す形式に変換された画像データ(ドットデー
タ)を、ドットの形成順序を考慮しながらカラープリン
タ200に転送すべき順序に並べ替える処理である。プ
リンタドライバ12は、インターレース処理を行って最
終的に得られた画像データを、印刷データとしてカラー
プリンタ200に出力する(ステップS110)。カラ
ープリンタ200は、印刷データに従って、各色のイン
クドットを印刷媒体上に形成する。その結果、画像デー
タに対応したカラー画像が印刷媒体上に印刷される。
データ変換処理の中で行われる第1実施例の階調数変換
処理について説明する。前述したように、本実施例の階
調数変換処理では、複数の画素をユニットにまとめて、
階調数変換処理をユニット単位で行っている。そこで、
第1実施例の階調数変換処理について説明するための準
備として、先ず、階調数変換処理をユニット単位で行う
方法について説明し、その後、第1実施例の階調数変換
処理において、処理済みのユニットでの判断結果を、ド
ット形成有無の判断に反映させる処理について説明す
る。
理:図5は、ユニット単位で行う階調数変換処理の流れ
を示すフローチャートである。この処理は、コンピュー
タ100のCPU102によって行われる。尚、本実施
例のカラープリンタ200は、前述したようにC,M,
Y,Kの4色のインクドットを形成可能なプリンタであ
り、図5に示す処理も各色毎に行っている。しかし、以
下では説明が煩雑となることを避けるために、色を特定
せずに説明することとして、特段の明示がない限り、色
を特定せずに説明した場合は、各色について同様な処理
が行われることを意味するものとする。
と、先ず初めに、処理するユニットの位置を設定する
(ステップS200)。ユニット単位で行う階調数変換
処理では、所定の複数個の隣接する画素をユニットとし
てまとめ、各画素にドットを形成するか否かの判断をユ
ニット単位で行う。そこで、ユニット単位の階調数変換
処理を開始すると、先ず初めに、画像中でドットの形成
有無を判断しようとするユニット(処理ユニット)の位
置を設定する処理を行う。
とめて、処理ユニットの位置を設定している様子を概念
的に示した説明図である。図6中に、複数表示されてい
る小さな正方形は、画素を模式的に表示したものであ
る。図示されているように、画像は格子状に配列された
複数の画素によって構成されている。図6(a)に示し
た例では、縦横2列ずつに並んだ隣接する4つの画素を
まとめて処理ユニットを設定している。図6(a)中
で、4つの画素を囲む太い破線は、これら画素が処理ユ
ニットとして設定されていることを模式的に示したもの
である。説明の便宜上、ユニットを構成する4つの画素
の中で、左上の画素を「Pa 」、右上の画素を「Pb
」、左下の画素を「Pc 」、右下の画素を「Pd 」と
呼んで区別するものとする。尚、以下では、ユニットは
縦横2列に並んだ4つの画素で構成されているものとし
て説明するが、もちろん、このような構成のユニットに
限定されるものではない。例えば、図6(b)に示すよ
うな隣接する4つの画素をまとめることによって処理ユ
ニットを設定しても良い。また、処理ユニットとしてま
とめる画素の個数も4つに限られるものではなく、例え
ば、図6(c)、図6(d)に示すように2つの画素を
処理ユニットとして設定しても構わない。
ト内の各画素についての画像データおよび拡散誤差の読
み込みを行う(図5のステップS202)。ここで読み
込む画像データは、前述した色変換処理(図4のステッ
プS104)によって色変換して得られたC,M,Y,
K各色の階調データである。また、拡散誤差とは、階調
数を変換することにより生じた階調誤差が、周辺のユニ
ットから処理ユニットの各画素に拡散されてきた誤差で
ある。画像データがC,M,Y,Kの各色毎の階調デー
タであることから、階調誤差はこれら各色毎に発生し、
従って拡散誤差もこれら各色毎の階調データとなってい
る。階調数を変換することに伴って階調誤差が発生し、
発生した誤差が拡散誤差として周辺の画素に拡散される
様子については後述する。
ユニットは画素Pa 、画素Pb 、画素Pc 、画素Pd の
4つの画素で構成されているとしているから、図5のス
テップS202の処理では、それぞれの画素について、
画像データDTa 、DTb 、DTc 、DTd および拡散
誤差EDa 、EDb 、EDc 、EDd が読み込まれるこ
とになる。処理ユニットについて読み込んだこれらのデ
ータは、コンピュータ100のRAM106に記憶され
る。
差を読み込んだら、処理ユニットを構成する各画素につ
いて、ドット形成の有無を判断する処理を開始する(ス
テップS204)。ここでは、図6(a)に示したよう
に処理ユニットは4つの画素で構成されているとしてい
るから、ステップS204の処理ではこれら4つの画素
について所定の順序でドット形成の有無を判断してい
く。尚、本明細書中では、このようにユニット内の各画
素についてドット形成の有無を判断する処理を、「ユニ
ット内多値化処理」と呼ぶことがあるものとする。ユニ
ット内多値化処理の詳細な内容については後述する。
ドット形成有無の判断を終了したら、判断に伴って処理
ユニット内で生じた階調誤差を、周辺のユニットに拡散
する処理を行う(ステップS206)。処理ユニット内
で生じた階調誤差とは、処理ユニット全体で表現すべき
画像データの階調値と、該ユニット内の各画素にドット
を形成することによって実際に表現された階調値との偏
差を表す誤差である。処理ユニットで生じる階調誤差を
算出する方法については、ユニット内多値化処理の説明
の中で説明する。ステップS206においては、この偏
差を示す階調値を、処理ユニットで生じた階調誤差とし
て周辺の未処理のユニットに拡散させる処理を行う。
を、周辺の未処理のユニットに拡散させる様子を概念的
に示した説明図である。図7中に示した複数の小さな正
方形は、それぞれ画素を模式的に表示したものである。
また、太い破線で示した大きな正方形は処理ユニットを
示しており、細い破線で示した大きな正方形は、処理ユ
ニットに隣接する未処理のユニットを示している。処理
ユニットで生じた階調誤差は、周辺の未処理ユニットを
構成する画素に所定の割合で拡散する。図7中で処理ユ
ニットから周辺の6つの画素に伸びる黒抜きの矢印は、
処理ユニットで生じた階調誤差を、これら6つの画素に
所定の割合で拡散していることを模式的に示している。
を、処理ユニット周辺の未処理のユニットを構成する画
素に拡散させる割合が設定されている様子を例示したも
のである。図8中で、太い実線で示した大きな正方形は
処理ユニットを表したものであり、処理ユニットに隣接
して細い破線で示した大きな正方形は、処理ユニット周
辺の未処理のユニットを示したものである。これら未処
理のユニットの中に細い実線で示した複数の小さな正方
形は、処理ユニットからの誤差が拡散される画素を表示
したものである。
の右側にある2つの画素には、処理ユニットで生じた階
調誤差が1/8の割合でそれぞれ拡散され、処理ユニッ
トの下側にある2つの画素にも同様に、階調誤差が1/
8の割合でそれぞれ拡散される。また、処理ユニットの
左下の画素あるいは右下の画素には、階調誤差が1/4
の割合でそれぞれ拡散される。このような割合で階調誤
差を拡散させれば、処理ユニットの周辺のユニットに均
等に、それぞれ階調誤差の1/4の割合で拡散されるこ
とになる。また、図8(b)に示した例では、処理ユニ
ットで生じた階調誤差が、処理ユニット周辺のユニット
を構成するすべての画素に、同じ割合で拡散される。も
ちろん、同じユニットに拡散する誤差をそのユニットの
1つの画素にまとめて拡散するようにしても良い。
のようにして、処理ユニットで生じた階調誤差を周辺の
ユニットに拡散させる。処理ユニットについて、上述し
たすべての処理を終了したら、画像を構成する全てのユ
ニットについて処理を終了したか否かを判断し(ステッ
プS208)、未処理のユニットが残っていればステッ
プS200に戻って続く一連の処理を繰り返す。こうし
て、すべてのユニットについての処理を完了したら、ユ
ニット単位の階調数変換処理を終了する。
処理を行えば、画素毎に処理した場合に比べて、以下の
ような利点を得ることができる。すなわち、階調数変換
処理を画素毎に行う場合は、1つの画素についてのドッ
ト形成有無を判断する度に、その画素に対応付けて記憶
されている拡散誤差を読み出さなければならず、また、
ドット形成有無の判断によって生じた階調誤差を周辺の
未判断画素に誤差を拡散しなければならない。このた
め、階調数変換処理を画素毎に行うと、処理時間が長く
なってしまう傾向にある。これに対して、階調数変換処
理をユニット単位で行った場合は、ユニット単位で画像
データを読み出し、階調誤差を拡散させた後、拡散誤差
をユニット単位でメモリに書き込むことができる。こう
してデータの読み出しおよび書き込みをユニット単位で
まとめて行えば、処理に要する時間を短縮化することが
可能である。
ユニット単位の階調数変換処理で行われるユニット内多
値化処理(図5のステップS204)について説明す
る。図9は、ユニット内多値化処理の流れを示したフロ
ーチャートである。以下、フローチャートに従って説明
する。
初めに、処理ユニットを構成する画素の中から、ドット
形成の有無を判断する画素(着目画素)を1つ設定する
(ステップS300)。前述したようにユニットは複数
の画素から構成されているので、これら複数の画素につ
いて所定の順序で1画素ずつドット形成の有無を判断す
ることとして、着目画素を1つ選択する。ここでは、図
6(a)に示したユニットを構成する4つの画素を、左
上にある画素から右下の画素に向かって画素Pa 、画素
Pb 、画素Pc 、画素Pd の順番にドット形成有無を判
断することとして、ステップS300では、先ず初め
に、左上隅にある画素Pa を着目画素として設定する。
素Pa )についての補正データCxを算出する(ステッ
プS302)。補正データCx は、着目画素の画像デー
タと着目画素に拡散されて記憶されている拡散誤差とを
加算することによって求めることができる。処理ユニッ
トを構成する各画素についての画像データおよび拡散誤
差は、図5に示した階調数変換処理中のステップS20
2において既に読み込まれているので、ユニット内多値
化処理の数轍鮒S302においては、これらのデータの
中から着目画素の画像データと拡散誤差とを加算して補
正データCx を算出する。
ら、得られた補正データCx と所定の閾値thとの大小
関係を判断する(ステップS304)。そして、補正デ
ータCx の方が大きければ着目画素(ここでは画素Pa
)にドットを形成すると判断し(ステップS330
6)、そうでなければ、着目画素にはドットを形成しな
いと判断する(ステップS308)。判断の結果は、各
画素についての判断結果を示す変数に蓄えられる。
無を判断したら、判断に伴って着目画素に生じた階調誤
差を算出する(ステップS310)。階調誤差は、ドッ
トを形成したこと、あるいはドットを形成しなかったこ
とによって着目画素に表現される階調値(以下では、こ
の階調値を結果値と呼ぶ)を、着目画素の補正データC
x から減算することによって算出することができる。
処理ユニット内の全画素の処理を終了したか否かを判断
し(ステップS312)、未処理の画素が残っている場
合は(ステップS312:no)、これら未処理の画素
中で着目画素周辺にある画素に誤差を拡散させる処理を
行う(ステップS314)。この処理について、図10
を参照しながら説明する。
画素を1つずつ選択してドット形成の有無を判断するこ
とにより、ドット形成の有無をユニット単位で判断して
いる様子を模式的に示した説明図である。図中の4つの
正方形は、処理ユニットを構成する画素Pa 、画素Pb
、画素Pc 、画素Pd をそれぞれ示している。また、
画素Pa を示す正方形の中に示したDTa およびEDa
は、画素Pa に対応付けて、画像データDTa と拡散誤
差EDa とがRAM106に読み込まれていることを概
念的に示したものである。同様に、画素Pb には画像デ
ータDTb と拡散誤差EDb とが、画素Pc には画像デ
ータDTc と拡散誤差EDc とが、画素Pd には画像デ
ータDTd と拡散誤差EDd とが対応付けられて、それ
ぞれRAM106に記憶されている。
これら4つの画素の中の画素Pa に設定されている。画
素Pa についての画像データと拡散誤差とを読み出して
補正データCx を算出し、閾値thと比較することによ
って画素Pa についてのドット形成の有無を判断する。
画素Pa についてドット形成の有無を判断した時点で
は、図10(a)に示すように、同じユニット内には画
素Pb と画素Pc と画素Pd の3つの画素が未判断画素
として残っている。そこで、画素Pa で生じた階調誤差
を、これら3つの画素に1/3ずつ均等に分配して、こ
れら誤差を、各画素毎に記憶されている拡散誤差に加算
する処理を行う。例えば画素Pb には、図10(a)に
示すように、既に拡散誤差EDb が対応付けて記憶され
ている。画素Pa で生じた階調誤差は、その1/3の階
調値が画素Pb に分配されて、拡散誤差EDb に加算さ
れる。その結果、画素Pb に対応づけて記憶されていた
拡散誤差EDb は、画素Pa からの誤差が加算された新
たな拡散誤差EDb に更新される。
様な処理を行う。簡単に説明すると、画素Pa からの誤
差が画素Pc に拡散されると、画素Pc に記憶されてい
た拡散誤差EDc と画素Pa からの誤差とが加算され、
新たな拡散誤差EDc として画素Pc に対応付けて記憶
される。また、画素Pd についても同様に、画素Pdに
記憶されていた拡散誤差EDd と画素Pa からの誤差と
が加算され、新たな拡散誤差EDd として画素Pd に対
応付けて記憶される。図10(a)中で画素Pa から他
の3つ画素に向かって表示されている白抜きの矢印は、
画素Pa で生じた誤差がこれら3つの画素に拡散される
ことを模式的に示したものである。尚、階調誤差は、必
ずしも周辺の未判断画素に均等に分配する必要はなく、
各画素に所定の割合で分配することも可能である。
ニット内の周辺画素に拡散したら、図9のステップS3
00に戻って、新たな着目画素を設定する処理を行う。
処理ユニット中の画素Pa については、既にドット形成
の有無を判断済みであるから、ステップS300では、
今度は画素Pa の右隣の画素Pb を着目画素として設定
する。こうして設定した新たな着目画素について、上述
した処理とほぼ同様の処理を行う。以下、画素Pa にお
ける処理との相違点を中心に簡単に説明する。
素Pa における場合と同様に、先ず初めに、補正データ
Cx を算出する(ステップS302)。ここで、画素P
b に対応付けて記憶されている拡散誤差EDb には、先
に画素Pa で生じた階調誤差が拡散されて、新たな拡散
誤差EDb として更新されている。そこで、画素Pbに
ついての画像データDTb と、画素Pa からの階調誤差
が拡散された新たな拡散誤差EDb とを加算することに
より、画素Pb についての補正データCx を算出する。
こうして算出した補正データCx と所定の閾値thとの
大小関係を判断し(ステップS304)、補正データC
x の方が大きければ画素Pb にはドットを形成すると判
断し(ステップS306)、そうでなければ画素Pb に
はドットを形成しないと判断する(ステップS30
8)。次いで、画素Pb について発生した階調誤差を算
出する(ステップS310)。階調誤差は、画素Pa の
場合と同様に、画素Pb の補正データCx から結果値を
減算することによって算出することができる。
ら、処理ユニット内のすべての画素について処理を終了
したか否かを判断し(ステップS312)、未処理の画
素が残っていれば、算出しておいた階調誤差を、これら
未処理の画素に拡散させる処理を行う(ステップS31
4)。前述したように、ユニット内の画素Pa について
は既に判断を終了しているから、未判断画素として残っ
ているのは画素Pc および画素Pd の2つの画素であ
る。そこで、画素Pb で生じた階調誤差はこれら2つの
画素に拡散させることになる。再び、図10を参照しな
がら、画素Pb からの誤差を拡散させる処理について説
明する。
差を拡散している様子を概念的に示した説明図である。
図中で、画素Pa に斜線が施されているのは、画素Pa
については既にドット形成の有無を判断済みであること
を模式的に示したものである。画素Pb についてドット
形成の有無を判断した時点では、処理ユニット内には未
判断画素として画素Pc 、画素Pd の2つの画素が残っ
ている。そこで、画素Pb で生じた階調誤差は、図10
(b)に示したように、これらの画素Pc および画素P
d にそれぞれ、1/2ずつ拡散されることになる。図中
で、画素Pb から画素Pc および画素Pd に向かって伸
びる白抜きの矢印は、画素Pb で生じた階調誤差がこれ
ら画素に拡散されていることを模式的に示している。こ
うして誤差が拡散される結果、各画素の拡散誤差は、拡
散されてきた誤差が加算された新たな拡散誤差に更新さ
れる。尚、ここでは、階調誤差は処理ユニット内の未判
断画素に均等に拡散されるものとしているが、もちろ
ん、均等に拡散させるのではなく、所定の割合で誤差を
拡散させることとしても構わない。
の画素に拡散したら、再び図9のステップS300に戻
って、今度は着目画素を画素Pc に移動させた後、着目
画素Pc について同様の処理を行う。以下では、かかる
処理について、図10(c)を参照しながら説明する。
画素Pc についての処理を開始すると、先ず初めに画素
Pc の画像データDTc と拡散誤差EDc とを加算して
補正データCx を算出する。ここで、画素Pc について
のドット形成有無を開始した時点では、画素Pc の拡散
誤差EDc は、元々記憶されていた拡散誤差に加えて、
画素Pa からの誤差と画素Pb からの誤差とが加算され
て、新たな拡散誤差EDc として更新されている。この
ことから、画素Pc の補正データCx の算出に際して
は、画素Pc の画像データDTc に、新たな拡散誤差E
Dc が算出されることになる。こうして得られた補正デ
ータCx と、所定の閾値thとを比較することによっ
て、画素Pc についてのドット形成有無を判断する。こ
うして画素Pc についてのドット形成有無を判断した時
点では、処理ユニット内に残る未判断画素は、図10
(c)に示すように画素Pd のみである。そこで、画素
Pc で生じた階調誤差は全て画素Pd に拡散され、画素
Pd に元々記憶されていた拡散誤差に加算されて、新た
な拡散誤差EDd として更新される。
ら、図9のステップS300に戻って着目画素を画素P
d に移動した後、画素Pd についてのドット形成有無の
判断を開始する。すなわち、画素Pd に対応づけられた
新たな拡散誤差EDd と画素Pd の画像データDTd と
を加算して補正データCx を算出する(ステップS30
0、ステップS302)。次いで、補正データCx と閾
値thとを比較し(ステップS304)、補正データC
x の方が大きい場合は画素Pd にはドットを形成する
(ステップS306)と判断し、そうでない場合は画素
Pd にはドットを形成しないと判断する(ステップS3
08)。
有無を判断したら、画素Pd で生じた階調誤差を算出し
た後(ステップS310)、処理ユニット内の全画素の
処理を終了したか否かを判断する(ステップS31
2)。図10(d)に示したように、画素Pd について
処理を開始した時点で、もはや処理ユニット内には未判
断の画素は残っておらず、画素Pd についての判断が終
了した後のステップS312においては、処理ユニット
内の全画素についての処理が終了したと判断される。そ
こで、図9に示したユニット内の多値化処理を終了し
て、図5を用いて前述したユニット単位で行う階調数変
換処理に復帰する。図5に示されているように、ユニッ
ト単位の階調数変換処理では、ユニット内多値化処理か
ら復帰すると、処理ユニットで生じた階調誤差を周辺の
ユニットに拡散する処理を行う(図5のステップS20
6)。
値としては、ユニット内多値化処理のステップS310
において画素Pd について求めた階調誤差の値を用いる
ことができる。これは、着目画素で生じた階調誤差をユ
ニット内の未判断画素に拡散しながらドット形成有無の
判断を行っているために、ユニット内で生じた階調誤差
が、最後に判断する画素Pd に拡散誤差EDd として累
積されることによる。以下、図10を参照して詳しく説
明する。
内の画素Pb 、画素Pc 、画素Pdの3つの画素に拡散
される。画素Pb のドット形成有無の判断に際しては、
画素Pa からの誤差を考慮して、画素Pb に拡散されて
いる誤差ができるだけ解消されるようにドット形成の有
無が判断される。仮に、画素Pb についてドット形成有
無を判断することにより、画素Pb に拡散されている誤
差を解消することができたものとする。この場合は、画
素Pb では新たな階調誤差は発生せず、また、画素Pb
から画素Pc 、画素Pd に拡散される誤差も生じない。
他の2つの画素Pc 、画素Pd についても同様に、ドッ
ト形成の有無を判断したことで、それぞれの画素に拡散
されている誤差を解消することができたものとすると、
これらの画素では階調誤差は生じない。結局、この場合
は、画素Pa で生じた階調誤差を、周辺の未判断画素P
b 、画素Pc 、画素Pd で解消したこととなって、処理
ユニット全体としては階調誤差の発生を避けることがで
きる。
断によって、画素Pb での誤差を解消するものとした
が、画素Pb で新たな階調誤差が発生した場合には、こ
の誤差は周辺の未判断画素Pc および画素Pd に拡散さ
れて、その結果、これらの画素には、画素Pa で生じた
階調誤差と画素Pb で生じた階調誤差とが拡散されるこ
とになる。しかし、これら画素Pc 、画素Pd について
ドット形成の有無を判断することで、それぞれの画素に
拡散された誤差を解消することができれば、依然として
ユニット全体としてみれば階調誤差は生じない。
ることで、画素Pc に拡散されている拡散誤差を解消す
ることができない場合も、全く同様にして、画素Pd で
誤差を解消することができれば、ユニット全体としては
階調誤差が生じることはない。換言すれば、画素Pd で
解消しきれずに残った誤差が、ユニット全体で生じた階
調誤差となる。このように、着目画素で生じた階調誤差
をユニット内の未判断画素に拡散しながらドット形成有
無を判断していくと、各画素で解消しきれずに残った階
調誤差が後続する画素に集約されていくので、ユニット
内で最後に判断する画素Pd で生じた階調誤差を、処理
ユニット全体で生じた階調誤差として用いることが可能
となるのである。
後にドット形成有無を判断する画素Pd で生じた階調誤
差の値を、処理ユニット全体で生じた階調誤差として用
いるものとしたが、もちろん、処理ユニットを構成する
各画素毎に階調誤差を算出し、これら階調誤差の総和を
処理ユニットの階調誤差としても構わない。
トを構成する各画素のドット形成有無を判断するに際し
ては、画素Pa 、画素Pb 、画素Pc 、画素Pd の順番
で判断を行ったが、必ずしもこの順番で判断する必要は
なく、例えば、画素Pa 、画素Pc 、画素Pb 、画素P
d の順番でドット形成有無を判断しても構わない。処理
ユニット内で着目画素を設定する順番は、良好な画質が
得られる順番を選択しておくことができる。
理:以上に説明したようにして、ユニット単位で階調数
変換処理を行う場合、ユニット毎に同じ処理が繰り返さ
れることになる。このことから、あるユニットでドット
を形成すると判断した画素は、後続するユニットでも、
同じ位置にドットが形成されると判断され易い傾向があ
る。あるいは、個々のユニットについてはドットが形成
されるユニットとされないユニットが生じるものの、複
数のユニットを周期として一定のパターンでドットが形
成されることがある。例えば、画像データが一定の領域
が続く場合など、複数のユニットを周期としてほとんど
同じ処理が繰り返されることになり、ユニット内の同じ
位置の画素に周期的にドットが形成されることが起こり
得る。もちろん、ドット自体の大きさは視認が困難なほ
どに小さいが、複数のユニットに亘って周期的なパター
ンでドットが形成されると、この様な領域の存在が視認
されて画質を悪化させるおそれがある。
1実施例では、ユニット内の多値化処理を行い、画像デ
ータをユニット単位でドットデータに変換するに際し
て、既に処理したユニット中でドットが形成された画素
位置を検出し、検出結果を反映させながらドット形成の
有無を判断している。このように、処理済みのユニット
内でドットが形成される画素位置の履歴を考慮しなが
ら、処理ユニット内のドット形成有無を判断すれば、画
像データをユニット単位で変換することによって生じ得
る画質の悪化を回避することができる。以下では、こう
した第1実施例のユニット内多値化処理について説明す
る。
処理の流れを示すフローチャートである。かかる処理
は、図9を用いて前述したユニット内多値化処理に対し
て、処理済みのユニット内でドットが形成された画素位
置を検出し、検出結果を反映させながら階調数変換処理
を行っている点が大きく異なっている。以下、前述した
ユニット内多値化処理との相違点を中心として、第1実
施例のユニット内多値化処理について説明する。
ても、処理を開始すると先ず初めに、処理ユニットの中
から着目画素を1つ設定し(ステップS400)、設定
した着目画素についての補正データCx を算出する(ス
テップS402)。補正データCx は、着目画素の画像
データと着目画素に拡散されて記憶されている拡散誤差
とを加算することによって求めることができる。また、
処理ユニットを構成する各画素の画像データおよび拡散
誤差は、図5に示した階調数変換処理中のステップS2
02において既に読み込まれており、これらデータの中
から着目画素についてのデータを用いて補正データCx
を算出する。
理においては、処理済みのユニット内でドットが形成さ
れる画素位置の履歴を検出し、検出結果に基づいて閾値
thを適切な値に設定する処理を行う(ステップS40
4)。この処理(履歴検出・閾値設定処理)について、
図12を参照しながら説明する。
を示すフローチャートである。履歴検出・閾値設定処理
を開始すると、先ず初めに、履歴データを読み出す処理
を行う(ステップS500)。履歴データとは、処理済
みのユニットについてドットを形成すると判断された画
素位置を記録したデータであり、RAM106上の特定
の領域に確保された専用のバッファ(履歴検出用バッフ
ァ)に記憶されている。
的に示した説明図である。図13(a)に示した履歴デ
ータは、12bitの長さを有しており、それぞれのb
itが画素位置に対応している。前述したように、ここ
では1つのユニットは4つの画素から構成されていると
しているから、12bit分の履歴データには、3つの
ユニット分の画素が記憶されていることになる。尚、こ
こでは履歴データには3ユニット分のデータが蓄えられ
ているものとして説明するが、より多数のユニットのデ
ータを蓄えることとしても構わない。以下、図13
(a)を参照しながら具体的に説明する。
bitを1つのブロックとして、3つのブロックに分け
て解釈することができる。これら3つのブロックは、下
位側(図上では右側)から順番に、処理中のユニットの
直前に処理したユニット(「1つ前のユニット」)、そ
の直前に処理したユニット(「2つ前のユニット」)、
更にその直前に処理したユニット(「3つ前のユニッ
ト」)にそれぞれ対応している。また、各ブロックを構
成する4つのbitは、下位側から、対応するユニット
内の右下隅にある画素(画素Pd )、左下隅にある画素
(画素Pc )、右上隅にある画素(画素Pb )、左上隅
にある画素(画素Pa )にそれぞれ対応している。履歴
データ中のあるbitに値「1」が記録されていること
は、そのbitが対応する画素にドットが形成されるこ
とを意味しており、逆にbitに値「0」が記憶されて
いる場合は、そのbitが対応する画素にはドットが形
成されないことを意味している。
クとして解釈しているのは、ここでは1つのユニットが
4つの画素から構成されているとしたことに対応したも
のである(図6(a)参照)。従って、1つのユニット
をN個の画素から構成されているとした場合は、履歴デ
ータは連続するNbitを1つのブロックとして解釈さ
れる。また、ここでは、履歴データは12bit分のデ
ータであるとして説明するが、1つのユニットがN個の
画素から構成されていて、処理ユニットからMユニット
前に処理したユニットまでのドット形成状況を参照する
場合には、履歴データは、N×Mbitの長さを有する
データとすればよい。
歴データを想定する。履歴データの下位側の4つのbi
tからなるグループに着目すると、このグループ内の最
上位(左端)のbitおよび最下位(右端)のbitに
は値「1」が設定されており、他のbitについては値
「0」が設定されている。これは、処理中のユニットの
直前に処理したユニット(「1つ前のユニット」)で
は、画素Pa および画素Pd の2つ画素にドットが形成
され、その他の画素位置にはドットが形成されないこと
を意味している。同様に、履歴データの中央にあるグル
ープについては、いずれのbitにも値「0」が記憶さ
れているから、処理ユニットの2つ前に処理したユニッ
トでは、いずれの画素にもドットが形成されていないこ
とを意味している。履歴データの上位側にあるグループ
については、グループ内の最上位のbitに値「1」が
記憶されているから、処理ユニットの3つ前に処理した
ユニットでは画素Pa の画素位置にドットが形成される
ことを意味している。このようにして履歴データを解釈
することにより、図13(b)で想定した履歴データか
らは、図13(c)に示したドットの形成状況を知るこ
とができる。
06上の所定の領域に確保された履歴検出用バッファか
ら、このような履歴データを読み出す処理を行う。こう
して、履歴データを読み出したら、続いて、履歴検出用
データを設定する処理を開始する(ステップS50
2)。かかる処理について、図14を参照して説明す
る。
子を概念的に示した説明図である。一例として、処理ユ
ニット中の画素Pa について、ドット形成有無を判断し
ようとしている場合を考える。図14(a)で、斜線を
付して示した破線の大きな正方形は、処理ユニットを示
しており、処理ユニット中の黒い正方形は着目画素を示
している。前述したようにユニット内多値化処理では、
各画素のドット形成有無の判断をユニット単位で行うた
めに、同じ画素位置にドットが形成され易くなる場合が
ある。この理由について、少し詳しく説明する。
素36個につき1画素の割合でドットが形成されるよう
な、比較的低階調の画像データの領域(明るい画像の領
域)であるとする。この様な領域では、縦横6画素の合
計36画素から構成される正方形の領域に、ほぼ1つず
つの割合でドットが形成されることになる。この様な画
像データの領域を、4画素(縦横2画素)を1ユニット
とするユニット単位でドット形成有無を判断した場合、
3ユニット(6画素分)を周期として同じ処理が繰り返
されることになり、3ユニット目の同じ画素位置にドッ
トが形成されてしまうことが起こり得る。
理ユニットから3つ前のユニットまでの範囲で、各ユニ
ットの画素Pa にドットが形成されているか否かを検出
する。図14(a)中で、各ユニットの画素Pa に示さ
れた「?」は、これらの画素位置でドットの形成状況を
検出することを模式的に示したものである。
ト形成状況を検出するために設定された履歴検出用デー
タを、概念的に示した説明図である。履歴検出用データ
も、前述した履歴データと同様に12bitの長さを有
しており、4bitを1グループとして、3つのグルー
プに分けて解釈される。履歴検出用データが3つのグル
ープから構成されているのは、3つのユニットでのドッ
ト形成状況を検出することに対応したものである。ま
た、4bitで1グループを構成しているのは、本実施
例では、4つの画素を1つのユニットとしてまとめて処
理していることに対応したものである。履歴検出用デー
タの各グループとユニットとの対応関係、および各bi
tとユニット内の画素位置との対応関係は、図13に示
した履歴データの場合と同様であるため、ここでは説明
は省略する。尚、ここでは、履歴検出用データは、図1
3に示した履歴データと同じ長さのデータとして説明す
るが、これに限られるものではない。
各ユニットの画素Pa でのドット形成状況を検出しよう
としている場合を想定しているから、履歴検出用データ
は、各ユニットの画素Pa に対応するbitのみ値
「1」を設定し、他のbitには値「0」を設定したデ
ータとすればよい。
る場合は、同様にして、処理ユニットから3つ前のユニ
ットまでの範囲で、各ユニットの画素Pb にドットが形
成されているか否かを検出すればよい。図14(c)
は、着目画素が画素Pb に設定されている場合に、各ユ
ニットでのドット形成状況を検出する画素位置を示す説
明図である。図中に「?」を表示した画素が、ドット形
成状況を検出する必要のある画素となる。図14(d)
は、この様な画素でのドット形成状況を検出するために
設定される履歴検出用データを概念的に示した説明図で
ある。図示されているように、このような場合の履歴検
出用データは、各ユニットの画素Pb に対応するbit
の値を「1」として、他のbitは値「0」を設定した
データとすればよい。
明したようにして、着目画素の位置に応じて履歴検出用
データを設定する処理を行う。
ステップS500で読み込んだ履歴データに、設定した
履歴検出用データを作用させることによって、検出対象
としているドットの形成状況(以下、履歴検出用データ
を設定して検出しようとしているドットの形成状況を
「対象履歴」と呼ぶことがあるものとする)を検出する
(ステップS504)。
データを作用させて、対象履歴を検出する様子を概念的
に示した説明図である。図15(a)の上段には、履歴
データを示し、履歴データの下段には履歴検出用データ
を示している。対象履歴の検出に際しては、先ず、履歴
データと履歴検出用データとの間で、対応するbit同
士の論理積を算出する。次いで、こうして得られた中間
データの各bitの論理和をすることによって提唱履歴
を検出することができる。本明細書中で「履歴データに
履歴検出用データを作用させる」とは、このように、履
歴データと履歴検出用データとの間で、対応するbit
同士の論理積を採ることにより中間データを算出するこ
とを言う。図15(a)では、履歴データに履歴検出用
データを作用して算出した中間データを、履歴検出用デ
ータの下段に示している。前述したように、履歴検出用
データには、各ユニット中で検出しようとする画素位置
にのみ値「1」が設定され、検出不要の画素位置には値
「0」が設定されているから、履歴データと履歴検出用
データとでbit同士の論理積を算出すると、検出しよ
うとする画素位置にドットが形成されている場合にの
み、その画素位置に対応するbitの値が「1」に設定
される。
「1つ前のユニット」に着目して、具体的に説明する。
履歴データに示されているように、処理ユニットの「1
つ前のユニット」には画素Pa および画素Pd にドット
が形成されている。ここで、ドットの形成状況を検出し
ようとしている画素位置は、履歴検出用データに示され
ているように画素Pa のみであるから、中間データは、
図15(a)に示すように、画素Pa に対応するbit
のみが値「1」となり、他のbitは値「0」となる。
このように、中間データのいずれかのbitが値「1」
となっていることは、そのユニットには、検出しようと
している画素位置にドットが形成されていることを意味
している。この様に、中間データの各bitの値を解析
すれば、検出しようとする画素位置にドットが形成され
ているか否かを、ユニット毎に検出することが可能であ
る。
うにして、中間データの各bitの論理和を採って検出
結果を算出する処理を行う。こうして得られた検出結果
に基づいて、対象履歴が検出されたか否かを判断する
(ステップS506)。検出結果の値が「0」である場
合は、対象履歴は検出されていないものと判断する。す
なわち、検出結果(すなわち中間データの各bitの論
理和)の値が「0」となったことは、検出対象とするい
ずれのユニットにおいても、検出しようとしている画素
位置にはドットが形成されていないことを意味してい
る。そこで、検出結果の値が「0」であれば、対象履歴
は検出されていないものと判断することができる。逆
に、検出結果の値が「1」であれば、検出対象としてい
るユニット中のいずれかのユニットにおいて、検出しよ
うとしている画素位置にドットが形成されていることを
意味しており、対象履歴が検出されたものと判断するこ
とができる。
「1つ前のユニット」および「3つ前のユニット」の中
のbitが値「1」に設定されているので、このような
中間データの各bitの論理和を採って検出結果を算出
すると値「1」が得られる。従って、この場合には対象
履歴が検出されることになる。
歴データが表しているドットの形成状況を、図15
(b)に示した。図15(a)に示したように、中間デ
ータから算出された検出結果は値「1」となり、画素P
a にドットが形成されていることを示す結果が得られ
る。図15(b)に示されているように、処理ユニット
の「1つ前のユニット」および「3つ前のユニット」の
画素Pa の位置には、確かにドットが形成されている。
このことから、履歴データに履歴検出用データを作用さ
せる方法を用いることで、ドットの形成状況を正確に検
出可能であることが確認できる。
うして検出した対象履歴に基づいて、閾値thの値を適
切な値に設定する処理を行う。すなわち、ステップS5
06において対象履歴が検出されなかった場合には、通
常値Vn を閾値thとして設定し(ステップS50
8)、逆に、対象履歴が検出された場合には、通常値V
nよりも大きな値に設定された割増値Vp を、閾値th
として設定する(ステップS510)。ここで設定した
閾値thは、ユニット内多値化処理中で着目画素にドッ
トを形成するか否かを判断するために参照される。こう
して閾値thを設定したら、図12の履歴検出・閾値設
定処理を終了して、図11に示した第1実施例のユニッ
ト内多値化処理に復帰する。
ステップS402において算出しておいた補正データC
x と、閾値thとの大小関係を判断する(ステップS4
06)。この閾値thは、履歴検出・閾値設定処理中で
対象履歴を検出することにより、適切な値に設定されて
いる。そして、補正データCx の方が大きい場合には
(ステップS406:yes)、着目画素にはドットを
形成すると判断し(ステップS408)、そうでない場
合には(ステップS406:no)、着目画素にはドッ
トを形成しないと判断する(ステップS410)。図1
2を用いて説明したように、対象履歴が検出されると閾
値thの値は、通常用いられる値(通常値Vn )よりも
大きな所定の割増値(Vp )に変更されることから、結
局、対象履歴が検出された場合には着目画素にはドット
が形成され難くなることとなる。こうして判断した結果
は、各画素についての判断結果を示す変数に蓄えられ
る。
ト形成有無を判断したら、判断に伴って生じる階調誤差
を算出する(ステップS412)。階調誤差の算出方法
は、図9に示したユニット内多値化処理と同様であり、
ここでは説明を省略する。ついで、処理ユニット内の全
画素の処理を終了したか否かを判断する(ステップS4
14)。未処理の画素が残っている場合は(ステップS
414:no)、ユニット内にあるそれらの周辺画素に
誤差を拡散させる処理を行った後(ステップS41
6)、ステップS400に戻って着目画素を移動させ
て、続く一連の処理を繰り返す。ステップS416にお
いて処理ユニット内の画素に誤差を拡散させる処理は、
図9、図10を用いて説明した前述のユニット内多値化
処理と同様にして行うことができる。
ニット内の全画素の処理を終了したと判断された場合は
(ステップS414:no)、処理ユニット内の各画素
についての判断結果を、履歴検出用バッファに書き込む
処理を行う(ステップS418)。かかる処理につい
て、図16、図17を参照して説明する。
の判断結果を、履歴検出用バッファに書き込む処理の流
れを示したフローチャートである。履歴検出用バッファ
に書き込む処理を開始すると、先ず初めに、バッファに
記憶されているデータを、上位方向に1ユニット分だけ
シフトさせる処理を行う(ステップS600)。図17
は、かかる処理を模式的に示した説明図である。図中に
示された小さな正方形の列は、履歴検出用バッファを模
式的に示したものであり、図中の上側に示した履歴検出
用バッファはデータをシフトする前の状態を、図中の下
側に示し履歴検出用バッファはデータをシフトした後の
状態を示している。図16のステップS600において
は、図17に示されているように履歴検出用バッファの
データを1ユニット分だけ上位方向にシフトさせる。こ
のとき、履歴検出用バッファの最上位側のユニットのデ
ータは破棄される。また、シフトさせた後の最下位ユニ
ットの各bitには、念のために、いずれのbitにも
値「0」を書き込んでおく。尚、図17では、履歴検出
用バッファは、ユニット3つ分のデータを記憶可能であ
るとしているが、もちろんより多数のユニットのデータ
を記憶可能としてもよい。
にシフトさせたら(図16のステップS600)、次い
で、処理ユニット内の各画素の判断結果に応じた4bi
t長のデータを設定する処理を行う(ステップS60
2)。かかるデータのそれぞれのbitは、処理ユニッ
トを構成する各画素に対応付けられている。具体的に
は、最上位bitは処理ユニットの画素Pa に、上位か
ら2番目のbitは画素Pb に、3番目のbitは画素
Pc に、最下位bitは画素Pd にそれぞれ対応付けら
れている。ステップS602においては、処理ユニット
内でドットが形成される画素に対応するbitには値
「1」を書き込み、ドットが形成されない画素に対応す
るbitには値「0」を書き込む処理を行う。例えば、
ある処理ユニットでは、画素Pb にのみドットが形成さ
れ、他の画素にはドットが形成されなかったとすると、
ステップS602の処理では、処理ユニットに対応する
4bit長のデータとして「0100( 2)」が設定され
ることになる。尚、( 2)は二進数表示されていることを
示すものとする。
したデータを、履歴検出用バッファの最下位ユニットの
領域に書き込む処理を行う。図17で、最下位ユニット
の各bitに向かう白抜きの矢印は、設定されたデータ
がこれらbitに書き込まれる様子を模式的に示したも
のである。
素の判断結果を履歴検出用バッファに書き込む処理を終
了したら、図11に示した第1実施例のユニット内多値
化処理を終了して、図5の階調数変換処理に復帰する。
多値化処理においては、履歴検出・閾値設定処理中で対
象履歴の有無を検出し、対象履歴が検出された場合には
閾値thの値を大きくすることによって、着目画素にド
ットが形成され難くしている。このため、ユニット単位
で階調数変換処理を行っても、複数のユニットを周期と
して同じ画素位置にドットが形成される領域が発生し、
この領域が視認されて画質を悪化させることを回避する
ことができる。また、閾値thの設定値を大きくしたた
めに着目画素にドットが形成されなかったとしても、こ
れによって生じた階調誤差は周辺の未判断画素に拡散さ
れて、これら周辺の画素ではドットが形成され易くな
る。このため、本来はドットが形成されるはずの画素
に、既に処理されたユニット中でのドットの形成状況を
検出することで、ドットが形成され難くなったとして
も、これに起因して画質が悪化することはない。
合には、ドット形成有無の判断に使用する閾値thの設
定値を大きな値に変更して、着目画素にはドットが形成
され難くするものとした。もちろん、対象履歴が検出さ
れた場合には、着目画素にはドットを形成しないと判断
することも可能である。このようにすれば、複数のユニ
ットを周期として同じ画素位置にドットが形成されるこ
とを、簡便に回避することができる。
検出用データを作用させて中間データを生成し、中間デ
ータの各bitの論理和を採って検出結果を算出した。
これに対して、中間データの各bitの論理積を採っ
て、この値を検出結果としても良い。この場合は、ドッ
トの形成状況を検出しようとしている全ての画素位置に
ドットが形成されている場合にのみ、検出結果の値が
「1」となる。従って、例えば、ドットがある程度の密
度で形成されている状況で、視認されやすい特定のパタ
ーン形成されたドットだけを、確実に検出することが可
能となる。
歴検出・閾値設定処理には、種々の変形例が存在してい
る。以下、これらの各種変形例について説明する。
の履歴検出・閾値設定処理では、常に3ユニット分だけ
遡ってドットの形成状況を検出するものとして説明した
が、遡るユニット数を可変とすることもできる。以下で
は、こうした第1の変形例について説明する。
設定処理の流れを示すフローチャートである。かかる処
理は前述した第1実施例の処理に対して、処理ユニット
内の画像データに応じて、遡るユニット数を変更可能な
点が大きく異なっている。以下、相違点を中心として、
フローチャートに従って説明する。
開始すると、先ず初めに処理ユニットを構成する各画素
についての画像データの総和値を算出する(ステップS
700)。処理ユニットを構成する各画素の画像データ
は、図5に示した階調数変換処理中のステップS202
において予め読み込まれており、各画素の画像データの
総和値は容易に算出することができる。
況を何ユニット前まで遡って調べるかを、処理ユニット
の画像データの総和値に基づいて設定する。これは次の
ような理由による。総和値が小さい場合は、画像データ
の階調値が小さな領域(すなわち明るい画像の領域)を
処理していると考えられる。この様な領域では、ドット
はまばらに形成されることになるので、ユニット単位で
処理したことによってドットの形成にパターンが生じた
場合にも、長い周期のパターンになるものと考えられ
る。このことから、画像データの階調値が小さな領域で
は長い周期のパターンも検出可能とすべく、遡るユニッ
ト数を大きな値に設定するのである。具体的に遡るユニ
ット数は、総和値の値に応じて、段階的にいくつかの適
切な数値が予め設定されている。ステップS702にお
いては、総和値に応じて遡るユニット数を設定した後、
前述した履歴検出用バッファから、ユニット数に相当す
るbit長のデータを読み出す処理を行う。
タを読み出したら、続いて履歴検出用データを設定する
(ステップS704)。かかる処理は、図12を用いて
前述した第1実施例の履歴検出・閾値設定処理とほぼ同
様であるが、処理ユニットによって履歴検出用データの
bit長が変わることのみ異なっている。すなわち、第
1の変形例においては、処理ユニットを構成する各画素
の画像データの総和値を算出し、総和値に応じたユニッ
ト数だけ遡ってドットの形成状況を検出することとして
いるので、これに対応して履歴検出用データも総和値に
応じた長さのデータに設定されるのである。
作用させて、対象履歴(検出しようとしているドットの
形成状況)の有無を検出し、対象履歴が検出された場合
には閾値thの値を大きな値(Vp )に変更し、対象履
歴が検出されなかった場合には閾値thの値を通常値V
n に設定する(ステップS706ないしステップS71
2)。以上の処理を終了したら、第1の変形例の履歴検
出・閾値設定処理を抜けて、図11に示したユニット内
多値化処理に復帰する。
閾値設定処理によれば、処理中の画像データの階調値に
応じて、適切なユニット数だけ遡ってドットの形成状況
を検出することができる。このため、画質の悪化をより
確実に防止することが可能となる。尚、上述した第1の
変形例においては、処理ユニット内の各画素についての
総和値を算出し、総和値が小さければ、明るい画像領域
(画像データの階調値が小さな領域)を処理中であると
判断するものとして説明した。もちろん、処理中の領域
が明るい画像領域であることを異なる方法を用いて検出
することとしても良い。例えば、周辺の領域の画像デー
タの平均値を利用して検出することも可能である。ま
た、上述した第1の変形例の履歴検出・閾値設定処理で
は、ドット形成有無を遡って検出するユニット数は、処
理ユニット内の各画素の総和値に応じて設定されている
ものとして説明したが、これに限らず、各画素の階調値
に応じて、遡るユニット数あるいはユニット内の画素位
置を設定するものとしてもよい。こうすれば、遡るユニ
ット数をよりきめ細かく適切な値とすることが可能とな
るので好ましい。
においては、処理済みのユニットの中でドットの形成有
無を検出しようとする画素位置が、処理中のユニットの
着目画素と同じ画素位置であるものとして説明した。し
かし、処理済みのユニット中でドットの形成状況を検出
する画素位置は、前述した履歴検出用データを適切に設
定することにより、必要に応じて自由に設定することが
できる。以下では、こうした第2の変形例について説明
する。
て、履歴検出用データを設定する様子を例示した説明図
である。例えば、処理ユニットの画素Pa についてのド
ット形成有無を判断するに際して、図19(a)に示す
ように、処理ユニットの「1つ前のユニット」について
は画素Pa のドット形成状況を検出し、「2つ前のユニ
ット」および「3つ前のユニット」については、いずれ
も画素Pc のドット形成状況を検出するものとする。図
中に示した「?」印は、該当する画素についてのドット
形成状況を検出することを模式的に示したものである。
ドットの形成状況を検出する画素位置をこの様に設定し
ておけば、4ユニットを周期として、「左下の画素」、
「左下の画素」、「左上の画素」、「左上の画素」のパ
ターンで周期的にドットが形成されることを回避するこ
とができる。
印を示した画素位置を検出するために設定される履歴検
出用データを示している。前述したように、履歴検出用
データは、隣接する4bitをひとまとまりとする3つ
のグループから構成されており、図19(b)に示すよ
うに、それぞれのグループが図19(a)に示した3つ
のユニットに対応している。また、各グループを構成す
る4つのbitは、上位側(図上では左側)から順に、
画素Pa ,画素Pb ,画素Pc ,画素Pd にそれぞれ対
応している。履歴検出用データは、検出しようとする画
素位置に対応するbitには値「1」を設定し、その他
のbitには値「0」を設定することによって得ること
ができる。尚、図19(c)は、こうして得られた履歴
検出用データを16進数表示したものである。前述した
ように、履歴検出用データは4bitで1つのユニット
を表しているから、4bitをまとめて16進数表示す
れば履歴検出用データを簡便に表記することができる。
図19(b)に示した履歴検出用データは、16進数表
示することにより「0x228」と表すことができる。
尚、「0x」は16進数表示していることを意味してい
る。
況を検出する画素は、各ユニットに1画素ずつであるも
のとしたが、もちろんユニット当たり複数の画素位置に
ついて、ドットの形成状況を検出することとしても良
い。図20は、複数の画素位置でドット形成状況を検出
する様子を示す説明図である。ここでは、図20(a)
に示すように、処理ユニットの「1つ前のユニット」に
ついては3つの画素位置でドット形成状況を検出するも
のとしている。図20(b)は、この様な画素位置での
ドット形成状況を検出するために設定される履歴検出用
データを示した説明図である。図示されているように、
「1つ前のユニット」については、画素Pa ,画素Pb
,画素Pd の3つの画素位置についてドットの形成状
況を検出するものとしているから、履歴検出用データの
下位側の4bitの中で、画素Pa 、画素Pb 、画素P
d にそれぞれ対応する3つのbitには値「1」が設定
される。すなわち、16進数表示で「D」が設定され
る。また、「2つ前のユニット」および「3つ前のユニ
ット」については、図19の場合と同様に、画素Pa の
ドット形成状況を検出することとしているから、これら
ユニットについては16進数表示で「8」が設定され、
結局、履歴検出用データとしては、図20(c)に示す
ように「0x88D」のデータが設定されることにな
る。
を適切に設定することで、処理済みのユニットの中でド
ットの形成状況を検出する画素位置を自由に設定するこ
とが可能である。従って、複数のユニットに亘って特定
のパターンでドットが形成される易くなっている場合で
も、この様なパターンの発生を確実に回避することがで
きる。また、図20に示したように、処理ユニットの近
傍の画素位置についてのドット形成状況を検出しておけ
ば、着目画素の近傍にドットが形成されることを回避す
ることができる。このため、ドットの分散性を向上させ
て、画質をより改善することが可能となる。
検出しようとする画素位置を、乱数を用いて設定するこ
とも可能である。例えば、先ず初めに、遡ってドット形
成状況を検出しようとするユニット数を乱数を用いて設
定し、次いで、各ユニットについて検出しようとする画
素位置を乱数を用いて設定することとしても良い。こう
すれば、ドットの形成状況を検出する画素位置の設定に
も規則性が無くなるので、複数ユニットに亘って周期的
なパターンが発生することを確実に回避することが可能
となる。
ニット内多値化処理中で行われる履歴検出・閾値設定処
理においては、処理済みのユニットのドット形成状況を
表す履歴データが、1つの履歴検出用バッファに記憶さ
れているものとして説明した。ユニットには複数の画素
が含まれているから、第1実施例においては、各画素に
ついてのドット形成有無を表すデータが履歴検出用バッ
ファ上で混在して記憶されていることになる。これに対
して、ユニットを構成する画素の数だけバッファを設け
ておき、各画素のドット形成有無を判断したら、ユニッ
ト内の画素位置に対応付けて異なるバッファに判断結果
を記憶することとしても良い。以下、このように画素位
置毎に専用のバッファを用いた第2実施例について説明
する。
理:図21は、第2実施例のユニット内多値化処理の流
れを示すフローチャートである。かかる処理は、図11
を用いて前述した第1実施例のユニット内多値化処理に
対して、履歴検出用バッファが画素位置毎に設けられて
いる点が大きく異なっている。また、この様な相違点か
ら派生して、着目画素についてのドット形成有無を判断
するたびに、判断結果を対応する履歴検出用バッファに
書き込んでいる点でも、第1実施例とは異なっている。
以下では、これら、第1実施例との相違点を中心とし
て、第2実施例のユニット内多値化処理について説明す
る。
ットを構成する複数の画素の中から、ドットの形成有無
を判断しようとする着目画素を検出し(ステップS80
0)、着目画素の画像データと拡散誤差とを加算して補
正データCx を算出する(ステップS802)。処理ユ
ニットを構成する各画素についての画像データおよび拡
散誤差は、図5に示した階調数変換処理中で既に読み込
まれているデータを使用する。
x を算出したら、第2実施例の履歴検出・閾値設定処理
を開始する(ステップS804)。前述したように第2
実施例においては、ユニット内の画素位置に応じて設け
られた専用の履歴検出用バッファを使用する。そこで、
かかる処理の内容について説明する前に、第2実施例の
履歴検出・閾値設定処理で用いられる履歴検出用バッフ
ァについて説明しておく。
けて設けられた履歴検出用バッファを模式的に示した説
明図である。図中に示した「履歴検出用バッファA」
は、ユニット内の画素Pa に対応付けられているバッフ
ァである。このバッファには、画素Pa ついてのドット
形成判断結果が記憶される。また、「履歴検出用バッフ
ァB」は、ユニット内の画素Pb に対応付けられて、画
素Pb についての判断結果が記憶されるバッファであ
る。同様に、「履歴検出用バッファC」にはユニット内
の画素Pc についての判断結果が記録され、「履歴検出
用バッファD」には画素Pd についての判断結果が記憶
される。このように第2実施例においては、ユニット内
の画素位置に対応付けられた専用のバッファが設けられ
ており、それぞれのバッファに履歴データが記憶されて
いる。
って、記憶されている履歴データのデータ構造について
説明する。履歴検出用バッファAの各bitは、下位側
(図22では右側)から順番に、処理ユニットから1つ
ずつ前のユニットに対応付けられている。すなわち、最
下位bit(図上では右端のbit)は処理ユニットの
「1つ前のユニット」に対応付けられており、下位から
2つめのbitは「2つ前のユニット」に、下位から3
つめのbitは「3つ前のユニット」に、というよう
に、各bitがそれぞれのユニットに順番に対応付けら
れている。これらのbitに値「1」が設定されている
ことは、対応するユニットの画素Pa にドットが形成さ
れることを表しており、逆に値「0」が設定されている
ことは、対応するユニットの画素Pa にはドットが形成
されないことを表している。
用バッファAに記憶されている図22に例示の履歴デー
タは、処理ユニットから1つ前、3つ前、5つ前、8つ
前にの各ユニットについては、画素Pa にドットが形成
されており、他のユニットについては画素Pa にドット
が形成されていないことを表している。尚、図22で
は、それぞれの履歴検出用バッファは、8bit分のデ
ータ長を有するものとしたが、より多いbit数のデー
タとしても構わない。
る第2実施例の履歴検出・閾値設定処理について、以下
に説明する。第2実施例の履歴検出・閾値設定処理は、
前述した第1実施例の処理に対して、画素位置毎に履歴
検出用バッファが設けられている点が異なっており、他
の処理はほぼ同様である。そこで以下では、第1実施例
の履歴検出・閾値設定処理について説明した図12のフ
ローチャートを流用しながら説明する。尚、かかる処理
は、図21のユニット内多値化処理において着目画素が
設定された後(ステップS800)、かかる着目画素に
対してステップS804で実行される処理である。
始すると、先ず初めに、履歴検出用バッファから履歴デ
ータを読み出す処理を行う(図12のステップS500
相当)。図22を用いて説明したように、第2実施例で
は画素位置に応じて履歴検出用バッファが設けられてお
り、かかる処理では、着目画素と同じ画素位置に対応す
るバッファから、必要なデータ量の履歴データを読み出
す。例えば、着目画素が画素Pa にあるとして、5ユニ
ット分だけ遡ってドットの形成状況を検出するものとす
れば、「履歴検出用バッファA」の下位側から5bit
分のデータを読み出すことになる。この結果、図22に
示した例では、履歴データとして「10101 (2)」が
読み出される。ここで、(2) は2進数表示されているこ
とを示している。尚、着目画素が画素Pb ,画素Pc ,
画素Pd に設定されている場合は、履歴検出用バッファ
B,履歴検出用バッファC,履歴検出用バッファDにそ
れぞれ記録されている履歴データを読み出せばよい。
て、履歴検出用データを設定する処理を行う(図12の
ステップS502相当)。かかる処理について、図23
を参照しながら説明する。例えば、処理ユニットから5
つ前のユニットまで遡って、ドットの形成状況を検出す
るものとする。図23(a)は、ドットの形成状況を検
出しようとしている画素位置の分布を概念的に示した説
明図である。図中の小さな正方形はそれぞれ画素を模式
的に示したものである。また、太い破線で示した大きな
正方形は処理中のユニットを模式的に示したものであ
り、細い破線で示した大きな正方形は、既に処理済みの
ユニットを模式的に示したものである。処理ユニット中
で斜線を付した画素は着目画素を示しており、処理済み
のユニット中で図中で「?」を付した画素は、ドットの
形成状況を検出しようとしている画素を示している。
のドット形成状況を検出するために用いられる履歴検出
用データを示したものである。ここでは、処理ユニット
から5つ前のユニットまで遡って検出するとしているか
ら、履歴検出用データは、最下位bitから5bitま
でのbitに値「1」が設定され、6bitより上位側
のbitには値「0」が設定されている。このように、
検出しようとするユニットに対応するbitに値「1」
を設定し、他のbitには値「0」を設定することによ
って、履歴検出用データを設定することができる。図2
3(c)はこうして設定された履歴検出用データを16
進数表示したものである。
設定した履歴検出用データを先に読み出した履歴データ
に作用させることによって、対象履歴(検出しようとし
ている画素位置でのドットの形成状況)を検出する(図
12のステップS504相当)。対象履歴の検出は、第
1実施例と同様にして行う。すなわち、履歴データと履
歴検出用データとの間で、対応するbit同士の論理積
を採ることにより中間データを算出し、得られた中間デ
ータの各bitの論理和を採って検出結果を算出する。
得られた検出結果が値「1」であれば対象履歴が検出さ
れたものと判断して、閾値thに割増値Vp を設定す
る。検出結果が値「0」であれば、対象履歴は検出され
なかったものと判断して、閾値thに通常値Vn を設定
する。以上のようにして閾値thを適切な値に設定した
ら、第2実施例の履歴検出・閾値設定処理を終了して、
図21に示すユニット内多値化処理に復帰する。尚、こ
こでは、中間データの各bitの論理和を採って検出結
果を算出するものとしたが、中間データの各bitの論
理積を採って検出結果を算出するものとしてもよい。
21に示す第2実施例のユニット内多値化処理に復帰し
たら、続いて、着目画素の補正データCx と閾値thと
の大小関係を判断する(図21のステップS806)。
補正データCx の方が大きい場合には着目画素にドット
を形成すると判断し(ステップS808)、そうでなけ
ればドットを形成しないと判断する(ステップS81
0)。次いで、ドットの形成有無を判断したことで生じ
る階調誤差を算出した後(ステップS812)、着目画
素についての判断結果を対応する履歴検出用バッファに
書き込む処理を開始する(ステップS814)。かかる
処理について、図24を用いて説明する。
処理において、着目画素についての判断結果を履歴検出
用バッファに書き込む様子を概念的に示した説明図であ
る。今、着目画素が画素Pa に設定されているものとす
ると、ドット形成有無の判断結果は、履歴検出用バッフ
ァAに書き込まれることになる。判断結果を書き込むに
あたっては、先ず、履歴検出用バッファAに記憶されて
いる履歴データを、1bit分だけ上位側(図上では左
側)にシフトさせる。図24の上段はシフトする前の履
歴検出用バッファAに記憶されている履歴データを示し
ており、下段はシフトした後のバッファに記憶されてい
る履歴データを示している。履歴データをシフトさせる
ことに伴って、最上位bitに記憶されたデータは破棄
される。次いで、着目画素についての判断結果に対応す
る値を、最下位のbitに書き込む処理を行う。着目画
素にドットを形成すると判断された場合は、最下位のb
itには値「1」が書き込まれ、着目画素にドットを形
成しないと判断された場合は、値「0」が書き込まれ
る。以上の説明では、着目画素が画素Pa に設定されて
いるものとして説明したが、着目画素が他の画素位置に
設定されている場合も同様にして、着目画素の画素位置
に対応する履歴検出用バッファに判断結果に応じた値を
書き込んでやればよい。図21のステップS814で
は、こうして着目画素についての判断結果を、着目画素
に対応する履歴検出用バッファに書き込む処理を行う。
理を終了したら(図21のステップS814)、処理ユ
ニット内の全ての画素についての処理を終了したか否か
を判断し(ステップS816)、未処理の画素が残って
いればステップS800に戻って上述した一連の処理を
繰り返す。全ての画素についての処理を終了したら、ユ
ニット内多値化処理を抜けて、図5に示した階調数変換
処理に復帰する。
値化処理においては、履歴検出用バッファのそれぞれの
bitが、処理済みのユニット1つ1つに対応付けられ
ている。従って、ドットの形成状況を遡って調べるユニ
ット数が多くなった場合でも、ユニット数と同じbit
長のデータを読み込むだけでよい。例えば、処理中のユ
ニットから8ユニット分だけ遡ってドットの形成状況を
検出する場合、1ユニットが4つの画素で構成されてい
るとして、前述した第1実施例においては32bitの
履歴データを読み込む必要があるが、第2実施例では8
bitのデータを読み込むだけで足りる。このため、第
2実施例においては、遡るユニット数が多い場合であっ
ても、迅速な処理を行うことができる。
2実施例では、ドット形成状況を検出する画素位置は、
着目画素と同じ画素であるものとして説明した。しか
し、第1実施例において、ドットの形成状況を検出しよ
うとする画素位置を自由に設定可能であったのと同様
に、第2実施例においても、ドットの形成状況を検出す
る画素を、ユニット毎に任意の画素位置に設定すること
が可能である。以下では、こうした第2の実施例の変形
例について説明する。
素位置でのドットの形成状況を検出する方法を示した説
明図である。図25(a)は、検出しようとする画素位
置の分布を例示した説明図である。図中に示した小さな
正方形は画素を模式的に示したものであり、破線で示し
た大きな正方形はユニットを示している。ドットの形成
状況を検出しようとする画素位置は、画素中に「?」印
を付して示している。検出しようとする画素位置および
画素数は任意に設定することができるが、以下では、図
25(a)に示した画素位置でのドット形成状況を検出
するものとして説明する。
意の画素位置でのドット形成状況を検出する方法を示す
説明図である。第2実施例では、前述したように、ドッ
ト形成有無の判断結果を各ユニットの画素位置毎に記憶
していることから、任意の画素位置でのドット形成状況
を検出しようとする場合でも、各ユニットの画素位置に
着目した方法で検出する。すなわち、図25(a)に示
した例では、画素Paの画素位置について、ドット形成
状況を検出しようとしているのは、処理ユニットの「1
つ前のユニット」、「2つ前のユニット」、「3つ前の
ユニット」の3つのユニットである。また、画素Pb の
画素位置については、処理ユニットの「1つ前のユニッ
ト」と、「2つ前のユニット」の2つのユニットであ
る。更に、画素Pc あるいは画素Pd の画素位置につい
ては、いずれも処理ユニットの「1つ前のユニット」で
のみドットの形成状況を検出している。このように、画
素位置毎に、ドット形成状況を検出しようとするユニッ
ト位置を検出した後、検出したユニットにドットが形成
されているか否かを画素位置毎に判断すれば、任意の画
素位置でのドット形成状況を検出することが可能とな
る。以下、図25(a)に示した場合に即して具体的に
説明する。
る場合について説明する。図25(b)には、こうして
画素Pa の画素位置でのドット形成状況を検出する様子
が模式的に示されている。先ず初めに、画素Pa でのド
ット形成判断結果を記憶したバッファ(履歴検出用バッ
ファA)から3ユニット分の履歴データ(最下位から3
bit分のデータ)を読み出す。もちろん、より多数の
ユニットを遡って検出する場合は、それに応じて読み出
すデータ長を長くすればよい。
タを作用させる。履歴検出用データは、画素Pa でのド
ット形成状況を検出しようとしているユニットに応じて
設定される。図25(a)に示すように、画素Pa につ
いては処理ユニットの「1つ前のユニット」、「2つ前
のユニット」、「3つ前のユニット」の3つのユニット
でドット形成状況を検出しようとしているから、これに
対応して履歴検出用データは、最下位bitから3つの
bitに値「1」を設定する。こうして設定した履歴検
出用データ(2進数表示で「111 (2)」)を、読み出
した履歴データに作用させて中間データを算出する。
「履歴検出用データを履歴データに作用させる」とは、
前述したように、2つのデータの対応するbit間で、
論理積を採ることである。こうして中間データが得られ
たら、中間データの各bit間の論理和を算出すること
により、画素Pa についての検出結果を得ることができ
る。
果は、次のことを意味している。すなわち、検出結果が
値「0」であることは、検出しようとしているユニット
のいずれにも画素Pa にはドットが形成されていないこ
とを意味しており、逆に、検出結果が「1」であること
は、検出しようとしているユニットのいずれかには、画
素Pa にドットが形成されていることを意味している。
もちろん、中間データの各bitの論理和を採る代わり
に、論理積を採ることとしても良い。中間データの各b
itの論理積を採った場合、検出結果の値が「1」であ
ることは、検出しようとしている全てのユニットの画素
Pa に、ドットが形成されていることを意味することに
なる。
出結果を得ることができる。図25(c)には、画素P
b についてのドット形成状況を検出している様子を模式
的に示している。図25(b)を参照して簡単に説明す
ると、先ず、画素Pb についてのドット形成有無を記録
したバッファ(履歴検出用バッファB)から3ユニット
分の履歴データを読み出す。次いで、このデータに履歴
検出用データを作用させて中間データを算出する。画素
Pb については、処理ユニットの「1つ前のユニッ
ト」、および「2つ前のユニット」でのドット形成状況
を検出しようとしているから、これに対応して履歴検出
用データは、最下位bitから2つのbitが値「1」
に設定されたデータ(2進数表示で「011 (2)」)を
使用する。こうして、得られた中間データの各bit間
の論理和を求めることにより、画素Pb についての検出
結果を得ることができる。
て、それぞれの画素についての検出結果を算出すること
ができる。これら画素については、ドット形成状況を検
出しようとしているユニットは、処理ユニットの「1つ
前のユニット」のみであるから、これら画素について
は、履歴検出用データとして最下位bitにのみ値
「1」が設定されたデータ(2進数表示で「001
(2)」)を使用すればよい。画素Pc についての検出結
果を算出する様子を図25(d)に、また、画素Pd に
ついての検出結果を算出する様子を図25(e)にそれ
ぞれ示した。
れたら、これら検出結果の論理和を算出することによっ
て、最終的な検出結果を得ることができる。すなわち、
図25(a)に「?」印で示した画素のいずれかにドッ
トが形成されていれば、検出結果として値「1」が得ら
れ、逆にいずれの画素にもドットが形成されていない場
合は検出結果として値「0」が得られることになる。も
ちろん、各画素についての検出結果の論理積を採ること
によって、最終的な検出結果を算出することとしても良
い。こうした場合は、図25(a)に「?」印で示した
全ての画素にドットが形成されている場合に、最終的な
検出結果の値が「1」得られることになる。
形成状況を検出しようとする画素位置を、既に処理済み
のユニットの中から自由に設定することが可能である。
従って、ユニット単位でドットの形成有無を判断する場
合であっても、所定の画素位置でのドット形成状況を検
出し、検出結果を踏まえてドットの形成有無を判断する
ことにより、複数のユニットに亘って所定のパターンで
ドットが形成されることを効果的に回避することが可能
となる。
が、本発明は上記すべての実施例に限られるものではな
く、その要旨を逸脱しない範囲において種々の態様で実
施することができる。
トを構成する各画素についてのドット形成有無を判断す
る手法として、いわゆる誤差拡散法を用いているが、こ
れに限らず、例えばディザ法などの周知な他の手法を適
用することもできる。
理済みのユニットの中で、所定の画素位置にドットが形
成されていることが検出された場合には、着目画素につ
いてドットが形成され難くするものとして説明した。こ
れに対して、所定の画素位置にドットが形成されていな
い場合には、着目画素にドットが形成され易くする様に
しても良い。こうすれば、例えば、ドットが高い密度で
形成されるような領域では、ドットが形成されない画素
が複数のユニットに亘って周期的に発生する場合に、画
質の悪化を効果的に回避することができる。
グラム(アプリケーションプログラム)を、通信回線を
介してコンピュータシステムのメインメモリまたは外部
記憶装置に供給し実行するものであってもよい。もちろ
ん、CD−ROMやフレキシブルディスクに記憶された
ソフトウェアプログラムを読み込んで実行するものであ
っても構わない。
を含む画像データ変換処理はコンピュータ内で実行され
るものとして説明したが、画像データ変換処理の一部あ
るいは全部をプリンタ側、あるいは専用の画像処理装置
を用いて実行するものであっても構わない。
体上にインクドットを形成して画像を印刷する印刷装置
に限定されるものではなく、例えば、液晶表示画面上で
輝点を適切な密度で分散させることにより、階調が連続
的に変化する画像を表現する液晶表示装置であっても構
わない。
成図である。
の構成を示す説明図である。
略構成図である。
変換処理の流れを示すフローチャートである。
を示すフローチャートである。
ている様子を示す説明図である。
断画素に拡散させる様子を例示した説明図である。
断画素に拡散させる割合を例示した説明図である。
の有無を判断することによりユニット内を多値化する処
理の流れを示すフローチャートである。
ら、画素毎にドット形成の有無を判断する方法を概念的
に示した説明図である。
ついてドット形成の有無を判断することによりユニット
内を多値化する処理の流れを示すフローチャートであ
る。
し、閾値の値を設定する処理の流れを示すフローチャー
トである。
て読み出される履歴データの構造を概念的に示した説明
図である。
て履歴を検出するために設定される履歴検出用データの
構造を概念的に示した説明図である。
て履歴データに履歴検出用データを作用させて対象履歴
を検出する様子を概念的に示した説明図である。
いる履歴検出用バッファに、ユニット内各画素について
の判断結果を書き込む処理の流れを示したフローチャー
トである。
いる履歴検出用バッファに、ユニット内各画素について
の判断結果を書き込んでいる様子を概念的に示した説明
図である。
形成状況を検出し、閾値の値を設定する処理の流れを示
すフローチャートである。
用データを設定している様子を概念的に示した説明図で
ある。
履歴検出用データを設定している様子を概念的に示した
説明図である。
ついてドット形成の有無を判断することによりユニット
内を多値化する処理の流れを示すフローチャートであ
る。
に対応付けて設けられた履歴検出用バッファを概念的に
示す説明図である。
しようとする画素位置に応じて履歴検出用データを設定
する方法を概念的に示した説明図である。
結果を履歴検出用バッファに書き込む方法を概念的に示
した説明図である。
用データを作用させることにより、任意の画素位置での
ドット形成状況を検出する方法を概念的に示した説明図
である。
Claims (19)
- 【請求項1】 画像を構成する各画素についての階調値
によって表現された画像データを、該各画素についての
ドット形成の有無を表すドットデータに変換する画像処
理装置であって、 互いに隣接する前記画素を所定の複数個ずつユニットと
してまとめ、前記画像データを該ユニット単位で前記ド
ットデータに変換するドットデータ変換手段と、 前記変換されたユニットを構成する少なくとも一部の画
素については、該ユニット内での画素位置を識別可能な
状態でドット形成の有無を記憶するドット有無記憶手段
とを備え、 前記ドットデータ変換手段は、 前記ユニット内でドット形成の有無を判断しようとする
着目画素を順次設定する着目画素設定手段と、 前記変換済みのユニット内でドット形成の有無が記憶さ
れている画素の中から、前記着目画素の画素位置に対し
て所定位置にある画素についてのドット形成有無を検出
するドット形成有無検出手段と、 前記着目画素についての画像データの階調値と、前記検
出したドット形成有無とに基づいて、該着目画素につい
てのドット形成の有無を判断するドット形成判断手段と
を備える画像処理装置。 - 【請求項2】 請求項1記載の画像処理装置であって、 前記ドット形成判断手段は、 前記所定位置にある画素についてドットの形成が検出さ
れた場合に、前記着目画素についてのドット形成を抑制
するドット形成抑制手段を備えている画像処理装置。 - 【請求項3】 請求項2記載の画像処理装置であって、 前記ドット形成有無検出手段は、前記着目画素に対して
所定位置にある複数の画素について、前記ドット形成の
有無を検出する手段であり、 前記ドット形成抑制手段は、前記ドットの形成が、前記
複数の画素のいずれかの画素で検出された場合に、前記
着目画素でのドットの形成を抑制する手段である画像処
理装置。 - 【請求項4】 請求項2記載の画像処理装置であって、 前記ドット形成有無検出手段は、前記着目画素に対して
所定位置にある複数の画素について、前記ドット形成の
有無を検出する手段であり、 前記ドット形成抑制手段は、前記ドットの形成が、前記
複数の画素のいずれにおいても検出された場合に、前記
着目画素でのドットの形成を抑制する手段である画像処
理装置。 - 【請求項5】 請求項1記載の画像処理装置であって、 前記ドット形成判断手段は、 前記所定位置にある画素についてドットの形成が検出さ
れた場合に、前記着目画素についてのドットの形成を促
進するドット形成促進手段を備えている画像処理装置。 - 【請求項6】 請求項1記載の画像処理装置であって、 前記ドットデータ変換手段は、 前記ユニットを構成する各画素についての階調値の総和
値を算出する総和値算出手段を備えており、 前記ドット形成判断手段は、前記ドット形成の有無を判
断するに際して、前記着目画素についての画像データの
階調値と前記検出したドット形成有無とに加えて、前記
算出した総和値も考慮して判断する手段である画像処理
装置。 - 【請求項7】 請求項6記載の画像処理装置であって、 前記ドット形成判断手段は、 前記総和値が所定値以下の場合に、前記着目画素につい
てのドットの形成を抑制する抑制手段を備えている画像
処理装置。 - 【請求項8】 請求項6記載の画像処理装置であって、 前記ドット形成判断手段は、 前記総和値が所定値以上の場合に、前記着目画素につい
てのドットの形成を促進する促進手段を備えている画像
処理装置。 - 【請求項9】 請求項6記載の画像処理装置であって、 前記ドットデータ変換手段は、 前記ドット形成の有無を検出する画素位置を、階調値に
対応付けて予め記憶しておく画素位置記憶手段を備えて
おり、 前記ドット形成有無検出手段は、前記算出した総和値の
階調値に対応付けられた画素位置についてのドット形成
有無を検出する手段である画像処理装置。 - 【請求項10】 請求項9記載の画像処理装置であっ
て、 前記画素位置記憶手段は、所定値より小さな第1の階調
値の方が、該所定値より大きな第2の階調値よりも、前
記着目画素から遠方の画素位置を対応付けて記憶してい
る手段である画像処理装置。 - 【請求項11】 請求項1記載の画像処理装置であっ
て、 前記ドットデータ変換手段は、 前記ドット形成の有無を検出する画素位置を、階調値に
対応付けて予め記憶しておく画素位置記憶手段を備えて
おり、 前記ドット形成有無検出手段は、前記着目画素の階調値
に対応付けて記憶されている画素位置についてのドット
形成有無を検出する手段である画像処理装置。 - 【請求項12】 請求項1、請求項2、請求項5、また
は請求項6のいずれかに記載の画像処理装置であって、 前記ドット形成判断手段は、誤差拡散法を用いてドット
形成の有無を判断するとともに、該判断に際して参照さ
れる該誤差拡散法の閾値を、前記ドット形成有無検出手
段の検出結果に基づいて変更する手段である画像処理装
置。 - 【請求項13】 請求項1記載の画像処理装置であっ
て、 前記ドット形成判断手段は、誤差拡散法を用いてドット
形成の有無を判断するとともに、前記着目画素に対して
前記所定位置にある画素でのドットの形成が検出された
場合は、該着目画素にはドットを形成しないと判断する
手段である画像処理装置。 - 【請求項14】 請求項1記載の画像処理装置であっ
て、 前記ドット有無記憶手段は、画素毎にドット形成の有無
を表すデータを、該画素が属する前記ユニットと該ユニ
ット内での画素位置とが識別可能な所定の順序で配列す
ることにより、複数の該データが連続したデータ列とし
て該ドット形成の有無を記憶する手段である画像処理装
置。 - 【請求項15】 請求項1記載の画像処理装置であっ
て、 前記ドット有無記憶手段は、画素毎にドット形成の有無
を表すデータを、前記ユニット内での画素位置毎に分類
し、該画素が属する前記ユニットが識別可能な所定の順
序で配列することにより、複数の該データが連続したデ
ータ列として該ドット形成の有無を、該ユニット内での
画素位置毎に記憶する手段である画像処理装置。 - 【請求項16】 画像を構成する各画素についての階調
値によって表現された画像データを受け取り、該画像デ
ータに基づいて印刷媒体上にドットを形成することによ
って該画像を印刷する印刷装置であって、 互いに隣接する前記画素を所定の複数個ずつユニットと
してまとめるユニット生成手段と、 前記ユニットを構成する各画素についての画像データを
該ユニット単位で変換することにより、該画素の各々に
ついてのドット形成の有無を表すドットデータに変換す
るドットデータ変換手段と、 前記得られたドットデータに基づいて前記画素の各々に
ドットを形成するドット形成手段と、 前記変換されたユニットを構成する少なくとも一部の画
素については、該ユニット内での画素位置を識別可能な
状態でドット形成の有無を記憶するドット有無記憶手段
とを備え、 前記ドットデータ変換手段は、 前記ユニット内でドット形成の有無を判断しようとする
着目画素を順次設定する着目画素設定手段と、 前記変換済みのユニット内でドット形成の有無が記憶さ
れている画素の中から、前記着目画素の画素位置に対し
て所定位置にある画素についてのドット形成有無を検出
するドット形成有無検出手段と、 前記着目画素についての画像データの階調値と、前記検
出したドット形成有無とに基づいて、該着目画素につい
てのドット形成の有無を判断するドット形成判断手段と
を備える印刷装置。 - 【請求項17】 画像を構成する各画素についての階調
値によって表現された画像データを、該各画素について
のドット形成の有無を表すドットデータに変換する画像
処理方法であって、 互いに隣接する前記画素を所定の複数個ずつユニットと
してまとめ、前記画像データを該ユニット単位で前記ド
ットデータに変換する工程と、 前記変換されたユニットを構成する少なくとも一部の画
素については、該ユニット内での画素位置を識別可能な
状態でドット形成の有無を記憶する工程とを備え、 前記ドットデータに変換する工程は、更に、 前記ユニット内でドット形成の有無を判断しようとする
着目画素を順次設定する工程と、 前記変換済みのユニット内でドット形成の有無が記憶さ
れている画素の中から、前記着目画素の画素位置に対し
て所定位置にある画素についてのドット形成有無を検出
する工程と、 前記着目画素についての画像データの階調値と、前記検
出したドット形成有無とに基づいて、該着目画素につい
てのドット形成の有無を判断する工程とを備える画像処
理方法。 - 【請求項18】 画像を構成する各画素についての階調
値によって表現された画像データを、該各画素について
のドット形成の有無を表すドットデータに変換する方法
を実現するプログラムを、コンピュータで読み取り可能
に記録した記録媒体であって、 互いに隣接する前記画素を所定の複数個ずつユニットと
してまとめ、前記画像データを該ユニット単位で前記ド
ットデータに変換する機能と、 前記変換されたユニットを構成する少なくとも一部の画
素については、該ユニット内での画素位置を識別可能な
状態でドット形成の有無を記憶する機能とを記憶してお
り、 前記ドットデータに変換する機能には、 前記ユニット内でドット形成の有無を判断しようとする
着目画素を順次設定する機能と、 前記変換済みのユニット内でドット形成の有無が記憶さ
れている画素の中から、前記着目画素の画素位置に対し
て所定位置にある画素についてのドット形成有無を検出
する機能と、 前記着目画素についての画像データの階調値と、前記検
出したドット形成有無とに基づいて、該着目画素につい
てのドット形成の有無を判断する機能とが含まれている
記録媒体。 - 【請求項19】 画像を構成する各画素についての階調
値によって表現された画像データを、該各画素について
のドット形成の有無を表すドットデータに変換する方法
を、コンピュータを用いて実現するためのプログラムで
あって、 互いに隣接する前記画素を所定の複数個ずつユニットと
してまとめ、前記画像データを該ユニット単位で前記ド
ットデータに変換する機能と、 前記変換されたユニットを構成する少なくとも一部の画
素については、該ユニット内での画素位置を識別可能な
状態でドット形成の有無を記憶する機能とを備え、 前記ドットデータに変換する機能には、 前記ユニット内でドット形成の有無を判断しようとする
着目画素を順次設定する機能と、 前記変換済みのユニット内でドット形成の有無が記憶さ
れている画素の中から、前記着目画素の画素位置に対し
て所定位置にある画素についてのドット形成有無を検出
する機能と、 前記着目画素についての画像データの階調値と、前記検
出したドット形成有無とに基づいて、該着目画素につい
てのドット形成の有無を判断する機能とが含まれている
プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002079592A JP3823859B2 (ja) | 2002-03-20 | 2002-03-20 | 複数画素単位で画像データを変換する画像処理装置 |
US10/390,090 US7375855B2 (en) | 2002-03-20 | 2003-03-14 | Image processing apparatus for converting image data by unit of multiple pixels |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002079592A JP3823859B2 (ja) | 2002-03-20 | 2002-03-20 | 複数画素単位で画像データを変換する画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003283828A true JP2003283828A (ja) | 2003-10-03 |
JP3823859B2 JP3823859B2 (ja) | 2006-09-20 |
Family
ID=29229005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002079592A Expired - Fee Related JP3823859B2 (ja) | 2002-03-20 | 2002-03-20 | 複数画素単位で画像データを変換する画像処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7375855B2 (ja) |
JP (1) | JP3823859B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005112426A1 (ja) * | 2004-05-19 | 2005-11-24 | Seiko Epson Corporation | ドットデータ処理装置、画像出力システムおよびそれらの方法 |
JP4635762B2 (ja) * | 2005-02-09 | 2011-02-23 | セイコーエプソン株式会社 | 双方向印刷を行うための画像処理装置および印刷装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3912055B2 (ja) | 2000-10-06 | 2007-05-09 | セイコーエプソン株式会社 | 画像処理装置、印刷制御装置、画像処理方法、および記録媒体 |
JP2002185788A (ja) * | 2000-10-06 | 2002-06-28 | Seiko Epson Corp | 画像処理装置、画像処理方法、印刷制御装置、および記録媒体 |
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 |
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 | セイコーエプソン株式会社 | 画像出力システム、画像処理装置、画像出力装置およびそれらの方法 |
-
2002
- 2002-03-20 JP JP2002079592A patent/JP3823859B2/ja not_active Expired - Fee Related
-
2003
- 2003-03-14 US US10/390,090 patent/US7375855B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7375855B2 (en) | 2008-05-20 |
JP3823859B2 (ja) | 2006-09-20 |
US20040001549A1 (en) | 2004-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3912055B2 (ja) | 画像処理装置、印刷制御装置、画像処理方法、および記録媒体 | |
KR100485635B1 (ko) | 화상처리장치, 인쇄제어장치, 화상처리방법 및 기록매체 | |
JP2006289947A (ja) | 印刷装置、印刷装置制御プログラム及び印刷装置制御方法、並びに印刷用データ生成装置、印刷用データ生成プログラム及び印刷用データ生成方法 | |
CN100379250C (zh) | 进行彩色图像数据转换的图像处理装置和图像处理方法 | |
JP5268875B2 (ja) | 画像形成装置及び画像形成方法 | |
JP2007181090A (ja) | 画像形成装置、画像形成方法、該方法を実行させるためのプログラム、及びカラーチャート | |
JP4296621B2 (ja) | 印刷装置、印刷方法、および記録媒体 | |
JP4225319B2 (ja) | 画像出力制御システム、画像処理装置およびその方法 | |
JP4274030B2 (ja) | 画像出力システム、画像処理装置、画像出力装置およびそれらの方法 | |
JP2006076005A (ja) | 画像処理装置、画像出力装置、及びプログラム | |
US7360855B2 (en) | Image processing device, image processing method, and program | |
JP3823859B2 (ja) | 複数画素単位で画像データを変換する画像処理装置 | |
JP4013855B2 (ja) | 複数画素単位で画像データを変換する画像処理装置 | |
JP4325325B2 (ja) | 複数画素単位で画像データを変換しながら画像を印刷する印刷装置 | |
JP3972875B2 (ja) | 複数画素単位で画像データを変換する画像処理装置 | |
JP4059121B2 (ja) | 所定領域内に形成されるドット個数の情報に基づいて画像を表示する画像表示システム | |
US7414756B2 (en) | Image processing apparatus for converting image data by unit of multiple pixels and printing apparatus | |
JP4228814B2 (ja) | 複数のラスタを並行して処理しながら画像を印刷する印刷方法 | |
JP4577366B2 (ja) | 複数のラスタを並行して処理する画像処理装置 | |
US12030307B2 (en) | Image processing apparatus, method of controlling the same, and storage medium | |
JP2007008177A (ja) | 印刷装置、印刷装置制御プログラム及び印刷装置制御方法、並びに印刷用データ生成装置、印刷用データ生成プログラム及び印刷用データ生成方法 | |
JP2006191268A (ja) | 複数画素ずつ画像処理を行いながら画像を出力する画像出力装置 | |
JP4453782B2 (ja) | 複数のラスタを並行して処理する画像処理装置 | |
JP2004080480A (ja) | 複数のラスタを並行して処理する画像処理装置 | |
JP2005102068A (ja) | 所定領域内に形成されるドット個数の情報に基づいて画像を表示する画像表示システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040917 |
|
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: 20060606 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060619 |
|
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: 20100707 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110707 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110707 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120707 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120707 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130707 Year of fee payment: 7 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |