JP4105704B2 - 画像処理装置、画像形成装置、画像処理方法、プログラム、および記録媒体 - Google Patents

画像処理装置、画像形成装置、画像処理方法、プログラム、および記録媒体 Download PDF

Info

Publication number
JP4105704B2
JP4105704B2 JP2005028176A JP2005028176A JP4105704B2 JP 4105704 B2 JP4105704 B2 JP 4105704B2 JP 2005028176 A JP2005028176 A JP 2005028176A JP 2005028176 A JP2005028176 A JP 2005028176A JP 4105704 B2 JP4105704 B2 JP 4105704B2
Authority
JP
Japan
Prior art keywords
error
line
pixel
diffusion
quantization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005028176A
Other languages
English (en)
Other versions
JP2006005901A (ja
Inventor
仁志 廣畑
義則 村上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP2005028176A priority Critical patent/JP4105704B2/ja
Priority to US11/130,179 priority patent/US20050259884A1/en
Publication of JP2006005901A publication Critical patent/JP2006005901A/ja
Application granted granted Critical
Publication of JP4105704B2 publication Critical patent/JP4105704B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

Description

本発明は、入力画像データに対して誤差拡散処理によって中間調処理を行う画像処理装置、画像形成装置、画像処理方法、プログラム、および記録媒体に関する。
近年、OA(Office Automation)機器のデジタル化が急速に進展し、またカラー画像出力の需要が増してきたことによって、電子写真方式のデジタルカラー複写機およびインクジェット方式や熱転写方式のカラープリンタ等の出力機器である画像形成装置が広く一般に普及してきている。たとえば、デジタルカメラやスキャナ等の入力機器から入力された画像情報やコンピュータ上で作成された画像情報が、これらの画像形成装置を用いて出力されている。これらの画像形成装置においては、入力された画像情報に対して、擬似階調再現処理を行っている場合が多い。
図15は、従来技術の画像形成装置に含まれる画像処理装置で用いられる誤差拡散処理回路70の一例のブロック図である。擬似階調再現技術の1つとして、誤差拡散法があり、誤差拡散処理回路70は、その誤差拡散法を実現するための処理回路である。誤差拡散処理回路70は、加算器71、量子化処理部72、量子化閾値格納部73、量子化誤差算出部74、拡散誤差算出部75、拡散係数格納部76、および蓄積誤差格納部77を含んで構成される。
加算器71は、入力画像データの画素の濃淡を示す画素値に、当該画素以前に量子化された画素から当該画素に配分された蓄積誤差を、蓄積誤差格納部77から読み出して加算する。量子化処理部72は、蓄積誤差が加算された画素値と、量子化閾値格納部73に格納されている量子化閾値とを比較して量子化を行い、出力画像データの画素の量子化値を生成する。
減算器である量子化誤差算出部74は、量子化処理部72で量子化された量子化値と、加算器71で蓄積誤差が加算された画素値との差を量子化誤差として算出する。拡散係数格納部76は、量子化誤差を未処理の入力画像データの画素に配分する割合を示す拡散係数が格納されている。拡散誤差算出部75は、量子化誤差算出部74が算出した量子化誤差に、拡散係数格納部76に格納されている各拡散係数を乗じて、未処理の入力画像データの画素に配分する拡散誤差を算出する。拡散誤差算出部75で算出された拡散誤差は、蓄積誤差格納部77に蓄積誤差として格納される。
図16は、従来技術の画像形成装置に含まれる画像処理装置で用いられる誤差拡散処理回路70の他の例のブロック図である。この誤差拡散処理回路70は、整数演算型の処理回路をブロック図にして示したものであり、拡散誤差算出部75、拡散係数格納部76、蓄積誤差格納部77および新たに追加した加算器78以外の部位は、図15に示した構成と同じ構成である。
拡散係数格納部76は、拡散係数を共通の分母の分数で表したときの分子の値を格納する拡散係数分子格納部76aと、拡散係数の共通の分母の値を格納する拡散係数分母格納部76bとを含んで構成される。拡散誤差算出部75は、量子化誤差算出部74が算出した量子化誤差と、拡散係数分子格納部76aに格納された拡散係数の各分子の値との積を求める乗算器75aと、乗算器75aの乗算結果を、拡散係数分母格納部76bに格納された拡散係数の分母の値で除して、未処理の入力画像データの画素に配分する拡散誤差を算出する除算器75bとを含んで構成される。
加算器78は、除算器75bで算出される拡散誤差を、蓄積誤差格納部77に格納されている対応する画素の蓄積誤差に加算し、加算結果を更新された蓄積誤差として蓄積誤差格納部77に格納する。誤差拡散処理回路70を改良したものとして、乗算器75a、除算器75b、および加算器78を、1つの量子化誤差を拡散誤差として配分する画素の数だけ用意することによって、処理を並列化して、高速化したものがある。
図17は、誤差拡散処理で用いられる拡散係数を説明するための図である。図17(a)は、一般的な拡散係数を説明するための図であり、図15に示した誤差拡散処理回路70で用いられる拡散係数である。1つの四角の部分が1つの画素に対応しており、「*」印を付した画素が量子化を行った画素に対応する部分である。他の4つの部分に対応する画素は、未処理、つまり、まだ量子化が行われていない画素であり、量子化を行った画素の量子化誤差をそれぞれの画素に配分するための拡散係数が示されている。
この例では、「7/16」、「1/16」、「5/16」、および「3/16」の4つの拡散係数が示されており、たとえば、「7/16」と付されている部分に対応する画素には、量子化を行った画素の量子化誤差に、拡散係数「7/16」を乗じた値が、「7/16」と付されている部分に対応する画素の拡散誤差として求められる。
図17(b)は、整数演算型の処理回路、つまり、図16に示した誤差拡散処理回路70で用いられる拡散係数である。画素の対応は、図17(a)に示した画素の対応と同じであるが、未処理、つまり、まだ量子化が行われていない画素に対応する部分の値が、拡散係数を共通の分母を有する分数で表したときの分子の値であり、この例では、「7」、「1」、「5」、および「3」の4つの拡散係数の分子の値と、拡散係数の共通の分母の値「16」とが、別に示されている。図16に示した誤差拡散処理回路70の場合は、分子は、拡散係数分子格納部76aに格納され、分母は、分子とは別に拡散係数分母格納部76bに格納される。
図17(c)および(d)は、量子化が行われる画素が、既に量子化が行われた画素から配分される拡散誤差を説明するための図である。図17(c)は、図15に示した誤差拡散処理回路70で用いられる拡散係数である。「*」印を付した画素が量子化を行う画素に対応する部分であり、既に量子化が行われた他の4つの画素から配分される拡散係数が示されている。
この例では、「7/16」、「1/16」、「5/16」、および「3/16」の4つの拡散係数が示されており、たとえば、「7/16」と付されている部分の画素からは、その画素の量子化誤差に、拡散係数「7/16」を乗じた値が、拡散誤差として「*」印が付されている画素に与えられる。同様に、他の3つの部分の画素からも、それぞれの拡散誤差が与えられ、「*」印が付されている部分の画素には、それらの合計値が与えられることになる。
図17(d)は、整数演算型の処理回路、つまり、図16に示した誤差拡散処理回路70で用いられる拡散係数である。この例では、「7」、「1」、「5」、および「3」の4つの拡散係数の分子の値と、「16」の拡散係数の分母の値が示されている。図17(c)および(d)の拡散誤差は、「*」印を付した量子化を行う画素から見ると、その画素に集積される集積誤差を求めるための、集積係数と考えることもできる。
整数演算型の処理回路、たとえば、図16に示した誤差拡散処理回路70では、除算による小数点以下の値を切り捨て、あるいは、四捨五入するので、量子化誤差と、その量子化誤差を拡散した拡散誤差の総和とが必ずしも一致するとは限らない。
具体的には、拡散誤差算出部75は、未処理の入力画像データの画素に加算する蓄積誤差の算出を行うが、ここで、量子化誤差をE(n)、拡散係数をKijとすると、蓄積誤差Dは、式(1)のように表される。
Figure 0004105704
拡散係数Kijを図17(a)に示した4つの値であるとすると、蓄積誤差Dは、式(2)によって算出することができる。すなわち、既に量子化された画素による量子化誤差E(1)〜E(4)と拡散係数とをそれぞれ乗算し、その結果を加算した値となる。
Figure 0004105704
このとき、たとえば、「E(1)×1÷16」で演算された値は、小数点以下の値を有することがあり、その場合、その小数点以下の値が切り捨て、あるいは、四捨五入された後、他の量子化誤差E(2)〜E(4)から演算された拡散誤差と加算するので、切り捨て、あるいは、四捨五入された小数点以下の値の分が、蓄積誤差Dに含められずに除かれてしまう。すなわち、量子化誤差の一部が拡散されないことがあり、特に、低濃度領域や高濃度領域では、量子化誤差のほとんどが拡散されないといったこともある。
上述した誤差拡散処理における量子化誤差と、その量子化誤差を未処理画素へ拡散した拡散誤差の総和とを一致させる従来技術として、多値化誤差(量子化誤差)と、その多値化誤差を周辺の未処理画素へ配分した誤差配分値(拡散誤差)の総和との差分である剰余誤差を求め、誤差配分値の一つに剰余誤差を加算し、他の誤差配分値とともに対応する画素位置の集積誤差に加算して新たな集積誤差とすることによって、多値化誤差をすべて拡散することができる画像信号処理装置がある(たとえば、特許文献1参照)。
また、2値化誤差(量子化誤差)と、その2値化誤差を周辺の未処理画素へ配分した誤差配分値の総和との差分である剰余誤差を求め、誤差配分値の一つに剰余誤差を加算し、他の誤差配分値とともに対応する画素位置の集積誤差に加算して新たな集積誤差とすることによって、2値化誤差をすべて拡散することができる画像信号処理装置がある(たとえば、特許文献2参照)。
特公平7−9672号公報 特公平7−22334号公報
しかしながら、上述した従来技術による誤差拡散処理は、量子化誤差と、その量子化誤差を拡散させた拡散誤差の総和との差分である剰余誤差を求めて、その剰余誤差を拡散誤差値の一つと加算する処理を行う回路の分だけ回路規模が大きくなり、さらに、処理速度も遅くなるという問題があった。
本発明の目的は、回路規模を増やすことなく、かつ、処理速度も落とさずに、整数演算の切捨て誤差を最小限に抑えることができる画像処理装置、画像形成装置、画像処理方法、プログラム、および記録媒体を提供することである。
本発明は、複数の画素を含むラインを複数含む入力画像に対して、その入力画像の画素の濃度を示す画素値を量子化する際に生じた量子化誤差を他の画素に配分した蓄積誤差のうちで、量子化する画素に配分された蓄積誤差を、前記量子化する画素の画素値に加算する第1の加算手段と、
前記第1の加算手段で蓄積誤差が加算された画素値を量子化することによって出力画像の画素の量子化値を生成する量子化処理手段と、
前記第1の加算手段で蓄積誤差が加算された画素値と、前記量子化処理手段で生成された量子化値との差を量子化誤差として算出する量子化誤差算出手段と、
量子化される画素を含む量子化ラインに含まれる画素の量子化誤差が配分される画素を含む複数の誤差拡散ライン毎に設けられるライン蓄積誤差算出手段であって、
前記量子化誤差算出手段で算出された量子化誤差と、前記量子化誤差を他の画素に配分する割合を分数で表した拡散係数の各分子の値とをそれぞれ乗算する乗算手段
前記乗算手段の乗算結果を加算する第2の加算手段と、
前記第2の加算手段の加算結果を、誤差拡散ラインの各画素毎に格納する演算結果格納手段と、
誤差拡散ラインに含まれる各画素についての前記第2の加算手段の加算結果を前記拡散係数の分母の値によってそれぞれ除算する除算手段とを備え
前記第2加算手段は、前記乗算手段の乗算結果を、前記演算結果格納手段に格納された各画素毎の乗算結果にそれぞれ加算し、
前記除算手段が、除算結果をライン蓄積誤差として算出する、ライン蓄積誤差算出手段と、
に量子化する画素に対して、前記誤差拡散ライン毎のライン蓄積誤差算出手段が算出した各ライン蓄積誤差を加算する第3の加算手段とを含み、
前記第3の加算手段が加算した加算結果を前記次に量子化する画素に配分する蓄積誤差とすることを特徴とする画像処理装置である。
また本発明は、第1〜第3番目のラインを有し、画素の量子化誤差を配分する画素の相対位置と、拡散係数とを示す拡散係数マトリクスの、第3番目のラインに対応する第3ラインの蓄積誤差算出手段は、前記除算手段が除算した除算結果を格納する第3ラインの誤差格納手段を含み、その第3ラインの誤差格納手段に格納された除算結果をライン蓄積誤差として算出し、
第2番目のラインに対応する第2ラインの蓄積誤差算出手段は、誤差拡散ラインの除算手段が除算した除算結果と、前記第3ラインの蓄積誤差算出手段が算出したライン蓄積誤差とを加算する第4の加算手段、およびその第4の加算手段によって加算された加算結果を格納する第2ラインの誤差格納手段を含み、その第2ラインの誤差格納手段に格納された加算結果をライン蓄積誤差として算出し、
前記第3の加算手段は、前記第1ラインおよびその第2ラインのライン蓄積誤差算出手段によって算出された各ライン蓄積誤差を加算することを特徴とする。
徴とする。
また本発明は、前記画像処理装置と、
前記画像処理装置で量子化された出力画像を出力する画像出力装置とを含んで構成されることを特徴とする画像形成装置である。
また本発明は、複数の画素を含むラインを複数含む入力画像に対して、その入力画像の画素の濃度を示す画素値を量子化する際に生じた量子化誤差を他の画素に配分した蓄積誤差のうちで、量子化する画素に配分された蓄積誤差を、前記量子化する画素の画素値に加算する第1の加算工程と、
前記第1の加算工程で蓄積誤差が加算された画素値を量子化することによって出力画像の画素の量子化値を生成する量子化処理工程と、
前記第1の加算工程で蓄積誤差が加算された画素値と、前記量子化処理工程で生成された量子化値との差を量子化誤差として算出する量子化誤差算出工程と、
量子化される画素を含む量子化ラインに含まれる画素の量子化誤差が配分される画素を含む複数の誤差拡散ライン毎に行われるライン蓄積誤差算出工程であって、
前記量子化誤差算出工程で算出された量子化誤差と、その量子化誤差を他の画素に配分する割合を分数で表した拡散係数の各分子の値とをそれぞれ乗算する乗算工程と、
前記乗算手段の乗算結果を加算する第2の加算工程と、
前記第2の加算手段の加算結果を、誤差拡散ラインの各画素毎に格納する演算結果格納工程と、
誤差拡散ラインに含まれる各画素についての前記第2の加算手段の加算結果を前記拡散係数の分母の値によってそれぞれ除算する除算工程とを備え、
前記第2加算工程では、前記乗算工程の乗算結果を、前記演算結果格納工程で格納された各画素毎の乗算結果にそれぞれ加算し、
前記除算工程での除算結果をライン蓄積誤差として算出する、ライン蓄積誤差算出工程と、
次に量子化する画素に対して、前記ライン蓄積誤差算出工程で算出された誤差拡散ライン毎のライン蓄積誤差を加算する第3の加算工程とを含み、
前記第3の加算工程で加算された加算結果を、前記次に量子化する画素に配分する蓄積誤差とすることを特徴とする画像処理方法である。
また本発明は、第1〜第3番目のラインを有し、画素の量子化誤差を配分する画素の相対位置と、拡散係数とを示す拡散係数マトリクスの、第3番目のラインに対応する第3ラインの蓄積誤差算出工程は、前記除算工程によって除算した除算結果を格納する第3ラインの誤差格納工程を含み、その第3ラインの誤差格納工程に格納された除算結果をライン蓄積誤差として算出し、
第2番目のラインに対応する第2ラインの蓄積誤差算出工程は、誤差拡散ラインの除算工程によって除算した除算結果と、前記第3ラインの蓄積誤差算出工程で算出したライン蓄積誤差とを加算する第4の加算工程、およびその第4の加算工程によって加算された加算結果を格納する第2ラインの誤差格納工程を含み、その第2ラインの誤差格納工程で格納された加算結果をライン蓄積誤差として算出し、
前記第3の加算工程は、前記第1ラインおよびその第2ラインのライン蓄積誤差算出工程によって算出された各ライン蓄積誤差を加算することを特徴とする。
また本発明は、コンピュータを前記画像処理装置として機能させるためのプログラムである。
また本発明は、前記プログラムを記録したコンピュータ読取り可能な記録媒体である。
また本発明によれば、まず、第1の加算手段によって、複数の画素を含むラインを複数含む入力画像に対して、その入力画像の画素の濃度を示す画素値を量子化する際に生じた量子化誤差を他の画素に配分した蓄積誤差のうちで、量子化する画素に配分された蓄積誤差が、前記量子化する画素の画素値に加算され、量子化処理手段によって、前記第1の加算手段で蓄積誤差が加算された画素値を量子化することによって出力画像の画素の量子化値が生成され、量子化誤差算出手段によって、前記第1の加算手段で蓄積誤差が加算された画素値と、前記量子化処理手段で生成された量子化値との差が量子化誤差として算出される。
次に、ライン蓄積誤差算出手段に含まれる乗算手段によって、前記量子化誤差算出手段が算出した量子化誤差と、その量子化誤差を他の画素に配分する割合を分数で表した拡散係数の各分子の値とが乗算され、ライン蓄積誤差算出手段に含まれる第2の加算手段によって、量子化される画素を含む量子化ラインに含まれる画素の量子化誤差が配分される画素を含む複数の誤差拡散ラインの画素毎に、量子化ラインに含まれる画素の量子化誤差に基づいて前記乗算手段によって乗算された乗算結果が加算され、ライン蓄積誤差算出手段に含まれる除算手段によって、前記第2の加算手段の加算結果が、前記拡散係数の分母の値によって除算され、誤差拡散ライン毎のライン蓄積誤差算出手段によって、前記除算手段の除算結果がライン蓄積誤差として算出される。
さらに、第3の加算手段によって、次に量子化する画素に対して、前記誤差拡散ライン毎のライン蓄積誤差算出手段が算出した各ライン蓄積誤差が加算され、前記第3の加算手段が加算した加算結果が、前記次に量子化する画素に配分する蓄積誤差とされる。
このように、量子化誤差から蓄積誤差を求めるとき、拡散係数を分母と分子に分けて、量子化誤差と拡散係数の分子との積の誤差拡散ライン毎の和を、誤差拡散ラインの画素毎に除算するので、1つの量子化誤差を周辺画素に拡散するたびに生じていた除算誤差の累積を抑制することができる。したがって、低濃度及び高濃度領域での階調再現特性が改善された画像データを出力することができる。さらに、ライン蓄積誤差のビット数を乗算結果のビット数と記憶すべき乗算結果の数とを少なくすることができるので、演算結果を記憶するメモリ容量を少なくすることができる。
また本発明によれば、ライン蓄積誤差算出手段によって、次の誤差拡散ラインのライン蓄積誤差算出手段が算出したライン蓄積誤差と、そのライン蓄積誤差の画素について前記除算手段が除算した除算結果とが加算されるので、拡散係数マトリクスのうちの第3番目のラインに対応する誤差拡散ラインのライン誤差格納手段は、1ライン分の画素のライン蓄積誤差を格納すればよい。したがって、除算結果と次の誤差拡散ラインのライン蓄積誤差とを加算しないときに比べて、量子化誤差を配分する誤差拡散ライン数が多いほど、ライン誤差格納手段のメモリ容量をより少なくすることができる。
また本発明によれば、除算を最後に行うことによって、誤差の補正処理を行う回路を設けて回路規模を大きくしなくても、整数演算の切捨て誤差を最小限に抑えることができ、低濃度及び高濃度領域の階調再現特性が大幅に改善された画像を形成することができる。また、誤差の補正処理を行う回路を設ける場合よりも処理速度を速めることができる。
また本発明によれば、まず、第1の加算工程で、複数の画素を含むラインを複数含む入力画像に対して、その入力画像の画素の濃度を示す画素値を量子化する際に生じた量子化誤差を他の画素に配分した蓄積誤差のうちで、量子化する画素に配分された蓄積誤差を、前記量子化する画素の画素値に加算し、量子化処理工程で、前記第1の加算工程で蓄積誤差が加算された画素値を量子化することによって出力画像の画素の量子化値を生成し、量子化誤差算出工程で、前記第1の加算工程で蓄積誤差が加算された画素値と、前記量子化処理工程で生成された量子化値との差を量子化誤差として算出する。
次に、乗算工程で、前記量子化誤差算出工程で算出された量子化誤差と、その量子化誤差を他の画素に配分する割合を分数で表した拡散係数の各分子の値とを乗算し、第2の加算工程で、量子化される画素を含む量子化ラインに含まれる画素の量子化誤差が配分される画素を含む複数の誤差拡散ラインの画素毎に、量子化ラインに含まれる画素の量子化誤差に基づいて前記乗算工程で乗算された乗算結果を加算し、除算工程で、前記第2の加算工程での加算結果を、前記拡散係数の分母の値によって除算し、ライン蓄積誤差算出工程で、前記除算工程での除算結果をライン蓄積誤差として誤差拡散ライン毎に算出する。
さらに、第3の加算工程で、次に量子化する画素に対して、前記ライン蓄積誤差算出工程で算出された誤差拡散ライン毎のライン蓄積誤差を加算し、前記第3の加算工程で加算された加算結果を、前記次に量子化する画素に配分する蓄積誤差とする。
このように、量子化誤差から蓄積誤差を求めるとき、拡散係数を分母と分子に分けて、量子化誤差と拡散係数の分子との積の誤差拡散ライン毎の和を、誤差拡散ラインの画素毎に除算するので、1つの量子化誤差を周辺画素に拡散するたびに生じていた除算誤差の累積を抑制することができる。したがって、低濃度及び高濃度領域での階調再現特性が改善された画像データを出力することができる。
また本発明によれば、ライン蓄積誤差算出工程で、次の誤差拡散ラインのライン蓄積誤差と、そのライン蓄積誤差の画素について前記除算工程で除算された除算結果とが加算されるので、拡散係数マトリクスのうちの第3番目のラインに対応する誤差拡散ラインのライン蓄積誤差を格納するメモリ容量は、1ライン分の画素のライン蓄積誤差を格納すればよい。したがって、除算結果と次の誤差拡散ラインのライン蓄積誤差とを加算しないときに比べて、量子化誤差を配分する誤差拡散ライン数が多いほど、ライン誤差格納手段のメモリ容量をより少なくすることができる。
また本発明によれば、コンピュータで上記画像処理装置の各手段を実現することによって、上記画像処理装置を実現することができる。
また本発明によれば、記録媒体から読み出された画像処理プログラムによって、上記画像処理装置をコンピュータ上に実現することができる。
図1は、本発明の実施の一形態であるカラー画像処理装置10とそれを含むカラー画像形成装置40の概略の構成を示すブロック図である。デジタルカラー複写機などの画像形成装置であるカラー画像形成装置40は、画像処理装置であるカラー画像処理装置10、カラー画像入力装置20、カラー画像出力装置30、および図示しない操作パネルを含んで構成される。
操作パネルは、たとえば、液晶ディスプレイ等の表示部と設定ボタン等の操作部とが一体化されたタッチパネル等を含んで構成され、操作パネルから入力された情報に基づいてカラー画像処理装置10、カラー画像入力装置20、およびカラー画像出力装置30の動作が制御される。
カラー画像入力装置20は、たとえば、CCD(Charge Coupled Device:電荷結合素子)を備えたスキャナ部を含んで構成され、画像などが記録された紙からの反射光をCCDにて受光し、RGB(Red-Green-Blue)のアナログ信号に変換して、カラー画像処理装置10に入力するものである。この場合、デジタルカメラなどで撮影された画像データを入力データとして用いることもできる。
カラー画像処理装置10は、A/D(analog-to-digital)変換部11、シェーディング補正部12、入力階調補正部13、領域分離処理部14、色補正部15、黒生成下色除去部16、空間フィルタ処理部17、出力階調補正部18、および階調再現処理部19を含んで構成される。
カラー画像入力装置20で変換されたRGBのアナログ信号は、カラー画像処理装置10内のA/D変換部11、シェーディング補正部12、入力階調補正部13、領域分離処理部14、色補正部15、黒生成下色除去部16、空間フィルタ処理部17、出力階調補正部18、および階調再現処理部19の各部位で順に処理され、CMYK(Cyan-
Magenta-Yellow-Black)のデジタルカラー信号として、画像データを紙などの記録媒体に出力する画像出力装置、たとえば、電子写真方式のデジタルカラー複写機、あるいはインクジェット方式や熱転写方式のカラープリンタなどのカラー画像出力装置30へ出力される。
カラー画像処理装置10のA/D変換部11は、入力されたRGBのアナログ信号をデジタル信号に変換し、シェーディング補正部12は、A/D変換部11からのRGBのデジタル信号に対して、カラー画像入力装置20の照明系、結像系、あるいは撮像系で生じた種々の歪みを取り除く処理を施す。
入力階調補正部13は、シェーディング補正部12にて種々の歪みが取り除かれたRGB信号、つまり、RGBの反射率信号に対して、カラーバランスを整えると同時に、濃度信号などカラー画像処理装置10が採用している画像処理システムにとって扱い易い信号に変換する。
領域分離処理部14は、入力階調補正部13からのRGB信号によって、入力画像中の各画素を、たとえば、文字領域、網点領域、写真領域などの複数の領域に分離し、その分離結果に基づいて、画素がどの領域に属しているかを示す領域識別信号を、色補正部15、黒生成下色除去部16、空間フィルタ処理部17、および階調再現処理部19に出力すると共に、入力階調補正部13からのRGB信号をそのまま後段の色補正部15に出力する。
色補正部15は、色を忠実に再現するために、不要吸収成分を含むCMY(Cyan-
Magenta-Yellow)色材の分光特性に基づいた色濁りを取り除く処理を行う。その処理方法としては、入力されるRGB信号と出力するCMY信号の対応関係をLUT(Look Up
Table)としてもつ方法や、式(3)のような変換行列を用いるカラーマスキング法などがある。
Figure 0004105704
たとえば、カラーマスキング法を用いる場合には、特定のCMY信号をカラー画像出力装置30に与えた場合に出力される色のL値(CIE(Commission
International de l’Eclairage:国際照明委員会)1976L信号(L:明度、a、b:色度))と同じLをもつカラーパッチをスキャナが読み込んだときのRGBデータと、カラー画像出力装置30に与えたCMYデータとの組を多数用意し、それらの組み合わせから式(3)のa11からa33までの変換行列の係数を算出し、算出した係数を用いて色補正処理を行う。より精度を高めたいときは、二次以上の高次の項を加えて色補正処理を行えばよい。
黒生成下色除去部16は、色補正部15での色補正後のCMYの3色の信号からK(黒)信号を生成する黒生成処理、および元のCMY信号が重なる部分を差し引いて新たなCMY信号を生成する処理を行い、CMYの3色信号をCMYKの4色信号に変換する。
空間フィルタ処理部17は、黒生成下色除去部16からのCMYK信号の画像データに対して、領域分離処理部14からの領域識別信号を基に、デジタルフィルタによる空間フィルタ処理を行い、空間周波数特性を補正することによって出力画像のぼやけや粒状性劣化を防止する処理を行う。
出力階調補正部18では、濃度信号などの信号をカラー画像出力装置30の特性値である網点面積率に変換する出力階調補正処理を行う。
階調再現処理部19は、空間フィルタ処理部17と同様に、CMYK信号の画像データに対して、領域分離処理部14からの領域識別信号を基に所定の処理を施すものであり、最終的に画像の階調を擬似的に再現することができるように処理する階調再現処理を施す。
たとえば、領域分離処理部14にて文字領域として分離された領域は、特に黒文字または色文字の再現性を高めるために、空間フィルタ処理部17による空間フィルタ処理における鮮鋭強調処理で高周波成分を強調する。同時に、階調再現処理部19においては、高周波成分の再現に適した高解像度のスクリーンでの二値化または多値化処理が選択される。また、領域分離処理部14にて網点領域として分離された領域に関しては、空間フィルタ処理部17において、入力網点成分を除去するためのローパス・フィルタ処理が施され、階調再現処理部19で階調性を重視したスクリーンで二値化または多値化処理される。また、領域分離処理部14にて写真領域として分離された領域に関しては、階調再現処理部19で階調再現性を重視したスクリーンでの二値化または多値化処理が行われる。
階調再現処理部19で処理された画像データは、一旦、カラー画像処理装置10内にある図示しない記憶部に記憶され、所定のタイミングで読み出されてカラー画像出力装置30に入力される。
なお、カラー画像処理装置10は、図示しないCPU(Central Processing Unit)を有しており、上述した処理は、このCPUによって実行される。
本発明は、実施の一形態であるカラー画像形成装置40に含まれるカラー画像処理装置の階調再現処理部19に特徴があり、階調再現処理部19の詳細は、後述する。この階調再現処理部19は、網点領域にだけ誤差拡散処理を行うこともできるし、また、領域に関わらずすべての画素で誤差拡散処理を実行することもできる。
なお、画像データは、CMYKの各色の濃度値から構成されるが、誤差拡散処理は、色にかかわらず同様の処理を行うので、以下の説明では、1つの色の濃度値に対する処理だけを説明し、他の色に対する処理については説明を省略するが、他の色についても同様の処理を行えばよい。
図2は、本発明の実施の一形態である画像処理装置10に含まれる階調再現処理部19の第1の例を示すブロック図である。階調再現処理部19は、加算器61、量子化処理部62、量子化閾値格納部63、量子化誤差算出部64、誤差格納部65、拡散係数格納部66、および蓄積誤差算出部67を含んで構成される。
加算器61は、入力画像データの画素の濃度を示す画素値に対して、蓄積誤差算出部67で算出された蓄積誤差を加算し、量子化処理部62は、加算器61で蓄積誤差が加算された画素値を、量子化閾値格納部63に格納されている量子化閾値に基づいて量子化して、出力画像データの画素の量子化値とする。減算器である量子化誤差算出部64は、加算器61で蓄積誤差が加算された画素値と、その画素値が量子化処理部62で量子化された量子化値との差を量子化誤差として求め、誤差格納部65に格納する。
拡散係数格納部66は、量子化誤差算出部64で算出された量子化誤差を、まだ量子化されていない画素に配分する割合を示す拡散係数の分子成分を格納する拡散係数分子格納部66aと拡散係数の分母成分を格納する拡散係数分母格納部66bとを含んで構成される。
蓄積誤差算出部67は、乗算器67a、加算器67b、および除算器67cを含んで構成される。乗算器67aは、誤差格納部65に格納されている量子化誤差のうちで、次に量子化を行う画素に配分される量子化誤差と、その量子化誤差に対応する拡散係数の分子の値を拡散係数分子格納部66aから読み出し、読み出した拡散係数の分子の値とを乗算する。
加算器67bは、乗算器67aで乗算された乗算結果を加算する。除算器67cは、加算器67bで加算された加算結果、つまり、乗算器67aで次の量子化を行う画素のために乗算された乗算結果の総和を、拡散係数分母格納部66bに格納されている拡散係数の分母の値によって除算し、除算結果を次に量子化する画素に対する蓄積誤差として、加算器61に出力する。
従来技術の実施の一形態では、図15のように、量子化誤差E(n)と拡散係数との乗算を1つの画素を量子化する毎に、未処理の入力画像の画素に配分する拡散誤差を演算(乗算および除算)して、蓄積誤差格納部77に格納しておき、次の画素を量子化するときに、次の画素に配分された拡散誤差を蓄積誤差格納部77から読み出し、加算して蓄積誤差を求めていたが、上述した本発明の実施の一形態では、量子化誤差E(n)を誤差格納部65に格納しておき、次の画素を量子化するときに、その画素に配分される量子化誤差と、その量子化誤差に対応する拡散係数の分子の値とを乗算し、乗算結果を加算した後で、加算の総和を拡散係数の分母の値で除算し、除算結果を蓄積誤差として求める。
具体的には、拡散係数の分子をaij、拡散係数の分母をAとすると、蓄積誤差Dは、式(4)によって算出することができる。
Figure 0004105704
式(4)での除算の結果に、小数点以下の値があるときは、小数点以下の値を切り捨て、あるいは、四捨五入してもよい。いずれであっても、切り捨てた値、あるいは、切り上げた値が積み重なって本来の量子化誤差とかけ離れた値となることがないので、低濃度及び高濃度領域での階調再現特性が大幅に改善された画像データを出力することができる。
図3は、実施の他の形態である画像処理装置10に含まれる階調再現処理部19の第2の例を示すブロック図である。階調再現処理部19は、加算器61、量子化処理部62、量子化閾値格納部63、量子化誤差算出部64、拡散係数格納部66、および蓄積誤差算出部67を含んで構成される。
加算器61は、入力画像データの画素の濃度を示す画素値に対して、蓄積誤差算出部67で算出された蓄積誤差を加算し、量子化処理部62は、加算器61で蓄積誤差が加算された画素値を、量子化閾値格納部63に格納されている量子化閾値に基づいて量子化して、出力画像データの画素の量子化値とする。減算器である量子化誤差算出部64は、加算器61で蓄積誤差が加算された画素値と、その画素値が量子化処理部62で量子化された量子化値との差を量子化誤差として求め、蓄積誤差算出部67に出力する。
拡散係数格納部66は、量子化誤差算出部64で算出された量子化誤差を、まだ量子化されていない画素に配分する割合を示す拡散係数の分子成分を格納する拡散係数分子格納部66aと拡散係数の分母成分を格納する拡散係数分母格納部66bとを含んで構成される。
蓄積誤差算出部67は、乗算器67a、加算器67b、除算器67c、および演算結果格納部67dを含んで構成される。乗算器67aは、量子化誤差算出部64から出力された量子化誤差と、拡散係数分子格納部66aから読み出した拡散係数の各分子の値とを乗算し、演算結果格納部67dは、乗算器67aの乗算結果を格納する。
加算器67bは、演算結果格納部67dに格納された乗算結果のうちで、次に量子化される画素に対応する乗算結果を読み出して加算し、総和を求める。除算器67cは、加算器67bで加算された総和を、拡散係数分母格納部66bに格納されている拡散係数の分母の値によって除算し、除算結果を次に量子化する画素に対する蓄積誤差として、加算器61に出力する。
また、上述したいずれの実施の形態においても、除算器67cで行われる除算は、量子化誤差を2進数で表現し、拡散係数の分母を2のn乗(nは自然数)として設定することによって、下位nビット以外のビットを取り出して、除算結果の値とすることで実現しても良い。
また、この誤差拡散は、2値誤差拡散だけでなく、4値や16値などの多値誤差拡散でもよいし、拡散係数の分子成分の組を複数用意しておいて、乱数や領域分離結果によって切り換えても構わない。
図4は、本発明の実施のさらに他の形態である画像処理方法を説明するためのフローチャートである。出力画像データを生成する階調再現処理において、誤差拡散処理を行うときに、本処理が開始される。
ステップS1では、入力画像データの画素の濃度を示す画素値に対して、蓄積誤差を加算する。ステップS2では、蓄積誤差が加算された画素値を量子化して出力画像データの画素の量子化値を算出する。ステップS3では、蓄積誤差が加算された画素値と、その画素値を量子化した量子化値との差を量子化誤差として算出する。ステップS4では、算出した量子化誤差を記憶部に格納する。
ステップS5では、記憶部に格納した量子化誤差のうちで、次に量子化を行う画素に配分される量子化誤差と、その量子化誤差に対応する拡散係数の分子の値とを乗算し、乗算結果を加算して総和を求める。ステップS6では、求めた総和を拡散係数の分母の値で除算し、蓄積誤差とする。ステップS7では、すべての画素について、量子化を行ったか否かをチェックし、すべての画素について、量子化していないときは、ステップS1に戻り、すべての画素について量子化したときは、終了する。
図5は、本発明の実施のさらに他の形態であるプリンタ・ドライバ51とそれを含むコンピュータ50の構成を示す図である。コンピュータ50は、プリンタ・ドライバ51、通信ポートドライバ52、および通信ポート53を含んで構成され、画像出力装置であるプリンタ54と接続されている。
上述した画像処理方法は、ソフトウエア、たとえば、アプリケーションプログラムによって実現して、コンピュータ50に実行させてもよい。この場合、誤差拡散処理を行うソフトウエアは、プリンタ・ドライバ51としてコンピュータ50に組み込んで、実行させることができる。プリンタ・ドライバ51は、色補正部511、黒生成下色除去部512、階調再現処理部513、プリンタ言語翻訳部514を含んで構成される。
コンピュータ50において、各種のアプリケーションプログラムを実行することによって生成された画像データは、色補正部511、黒生成下色除去部512、階調再現処理部513によって、上述した処理が実行される。特に、階調再現処理部513は、図4に示したフローチャートの誤差拡散処理を行う部位であり、階調再現処理部513で誤差拡散処理が行われた画像データは、プリンタ言語翻訳部514によってプリンタ言語に変換され、通信ポートドライバ52、RS232C(Recommended Standard 232 version C)やLAN(Local Area Network)等などのインタフェースの通信ポート53を介してプリンタ54に送信される。プリンタ54は、コンピュータ50から送信された画像データに応じて画像を出力するようになっており、プリンタ機能の他に、コピー機能やファックス機能を有するデジタル複合機であってもよい。
また、本発明は、コンピュータ50に、上述した整数演算の切捨て誤差を最小限に抑える誤差拡散処理を行う画像処理の機能を実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体に記録して提供することもできる。この場合、低濃度及び高濃度領域の階調再現特性が大幅に改善された誤差拡散処理方法を用いて画像処理を行うプログラムを記録した記録媒体を持ち運ぶことができ、容易に提供することができる。
記録媒体としては、コンピュータで処理を行うために、図示しないメモリ、たとえばROM(Read Only Memory)のようなプログラムメディアであってもよいし、また、図示しない外部記憶装置としてのプログラム読取装置を設けて、その装置に記録媒体を装填することによって読取り可能となるプログラムメディアであってもよい。
具体的には、プログラムメディアが本体と分離可能に構成される記録媒体であるときは、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスクやハードディスク等の磁気ディスク並びにCD−ROM(Compact Disk Read Only Memory)/MO(Magneto Optical disk)/MD(Mini Disc)/DVD(Digital Versatile Disk)等の光ディスクのディスク系、IC(Integrated Circuit)カード/メモリカード/光カード等のカード系であってもよい。また、マスクROM、EPROM(Erasable
Programmable Read Only Memory)、EEPROM(Electrically Erasable
Programmable Read Only Memory)、フラッシュROM等の半導体メモリを含めた固定的にプログラムを記録する記録媒体であってもよい。
いずれの場合においても、記録媒体に格納されているプログラムは、CPUがアクセスして実行することができる構成であればよく、たとえば、記録媒体からプログラムを読み出し、読み出されたプログラムを、コンピュータの図示していないプログラム記憶エリアにダウンロードし、プログラム記憶エリアにダウンロードしたプログラムを実行する方式であってもよい。この場合、プログラムをダウンロードするためのプログラムは、予め本体装置に格納しておく。
また、コンピュータが、インターネットを含む通信ネットワークと接続可能なシステム構成であるときは、通信ネットワークを介してプログラムをダウンロードするように、流動的にプログラムを記録する記録媒体であってもよい。なお、このように通信ネットワークからプログラムをダウンロードする場合には、プログラムをダウンロードするためのプログラムは、予め本体装置に格納しておくか、あるいは別の記録媒体からインストールするものであってもよい。
上述した記録媒体に記録されたプログラムは、デジタルカラー画像形成装置などの画像形成装置やコンピュータシステムに備えられるプログラム読取り装置によって読取られ、読取られたプログラムによって上述した画像処理が実行される。
なお、上述したコンピュータシステムは、フラットベッドスキャナ、フィルムスキャナ、あるいはデジタルカメラなどの画像入力装置、所定のプログラムがダウンロードされることによって上述した画像処理など様々な処理が行われるコンピュータ、コンピュータの処理結果を表示するCRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどの画像表示装置、およびコンピュータの処理結果を紙に出力するプリンタと、ネットワークを介してサーバなどに接続するための通信手段としてのネットワークカードやモデムなどを含んで構成される。
図6は、図1に示した階調再現処理部19の第3の例を示すブロック図である。階調再現処理部19は、加算器61、量子化処理部62、量子化閾値格納部63、量子化誤差算出部64、拡散係数格納部66、および蓄積誤差算出部68を含んで構成される。図6に示した階調再現処理部19の構成は、図3に示した階調再現処理部19の蓄積誤差算出部67を蓄積誤差算出部68に置き換えたものである。
加算器61は、入力画像データの画素の濃度を示す画素値に対して、蓄積誤差算出部68で算出された蓄積誤差を加算し、量子化処理部62は、加算器61で蓄積誤差が加算された画素値を、量子化閾値格納部63に格納されている量子化閾値に基づいて量子化して、出力画像データの画素の量子化値とする。減算器である量子化誤差算出64は、加算器61で蓄積誤差が加算された画素値と、その画素値が量子化処理部62で量子化された量子化値との差を量子化誤差として求め、蓄積誤差算出部68に出力する。
拡散係数格納部66は、量子化誤差算出部64で算出された量子化誤差を、まだ量子化されていない画素に配分する割合を示す拡散係数の分子成分を格納する拡散係数分子格納部66aと拡散係数の分母成分を格納する拡散係数分母格納部66bとを含んで構成される。
図7は、図6に示した拡散係数格納部66に格納された拡散係数を説明するための図である。入力画像は、たとえば複数の画素を含む複数のラインから構成される。最初のラインの最初の画素から量子化が開始され、同じラインの隣接する画素が順次量子化される。1つのラインの全ての画素が量子化されと、次のラインの画素が順次量子化される。
量子化される画素を含む量子化ラインに含まれる画素の量子化誤差が拡散される画素を含む複数の誤差拡散ラインのうちで、最初に量子化される画素を含むラインを第1ライン、その次のラインを第2ライン、さらにその次のラインを第3ラインというように順次番号を付す。図7に示した拡散係数マトリクスは、注目画素、つまり量子化される画素が第1ラインに含まれる。
拡散係数は、これらの誤差拡散ラインに対応するラインを有する拡散係数マトリクスとして構成される。図7に示した拡散係数マトリクスは、注目画素の位置を起点として、その画素の量子化誤差を配分する画素の相対位置と、その相対位置の画素に量子化誤差を配分する割合、つまり拡散係数を示している。
第1ラインの画素に量子化誤差を配分する拡散係数は、拡散係数a1が注目画素の右隣の位置に、第2ラインの画素に量子化誤差を配分する拡散係数は、拡散係数b1が注目画素の左下の位置に、拡散係数b2が注目画素の真下の位置に、および拡散係数b3が注目画素の右下の位置に示されている。
それらの拡散係数が示されている位置の画素に、それぞれの拡散係数によって求められる拡散誤差が配分される。拡散係数分子格納部66aは、それらの拡散係数を共通の分母の分数で表したときの分子の値を格納し、拡散係数分母格納部66bは、拡散係数の共通の分母の値を格納する。
図6を参照して、蓄積誤差算出部68は、第1ライン蓄積誤差算出部681、第2ライン蓄積誤差算出部682、および加算器683を含んで構成される。
第1ライン蓄積誤差算出部681は、乗算器681a、加算器681b、除算器681c、および演算結果格納部681dを含んで構成される。第1ライン蓄積誤差算出部681は、第1ラインの画素毎に、図7に示した拡散係数マトリクスの第1ラインの拡散係数によって求められた拡散誤差の総和を算出する。
乗算器681aは、量子化誤差算出部64によって算出された量子化誤差と、拡散係数分子格納部66aに格納された拡散係数の分子のうち、拡散係数マトリクスの第1ラインの拡散係数の各分子とを乗算して、誤差拡散分子量を求める。加算器681bは、第1ラインの画素毎に、乗算手段681aによって乗算された乗算結果である誤差拡散分子量と、加算器681bによって加算された加算結果を格納する演算結果格納部681dに格納されている加算結果とを加算する。演算結果格納部681dは、加算器681bによって加算された誤差拡散分子量を、第1ラインの画素毎に格納つまり記憶する記憶部である。
加算器681bが、量子化ラインに含まれる画素の量子化誤差と第1ラインの拡散係数の各分子との乗算結果である誤差拡散分子量を、第1ラインの1つの画素について全て加算したとき、除算器681cは、加算器681bによって加算された誤差拡散分子量を、拡散係数分母格納部66bに格納された拡散係数の分母の値によって除算する。第1ライン蓄積誤差算出部681は、除算器681cによって除算された除算結果を、第1ラインの画素毎にライン蓄積誤差として出力する。
演算結果格納部681dは、誤差拡散分子量を、一時的に、つまり第1ラインの1つの画素について、拡散係数マトリクスの第1ラインの拡散係数の各分子によって求められる全ての誤差拡散分子量が加算されて、除算されるまでの期間、記憶しておくための記憶部である。演算結果格納部681dは、拡散係数マトリクスの第1ラインの拡散係数の数の誤差拡散分子量を記憶する容量が必要である。図7に示した拡散マトリクスの場合、第1ラインの拡散係数は1つであるので、1つの誤差拡散分子量を記憶する容量があればよい。
第2ライン蓄積誤差算出部682は、乗算器682a、加算器682b、除算器682c、演算結果格納部682d、およびライン誤差格納部682eを含んで構成される。第2ライン蓄積誤差算出部682は、第2ラインの画素毎に、図7に示した拡散係数マトリクスの第2ラインの拡散係数によって求められた拡散誤差の総和を算出する。
乗算器682aは、量子化誤差算出部64によって算出された量子化誤差と、拡散係数分子格納部66aに格納された拡散係数の分子のうち、拡散係数マトリクスの第2ラインの拡散係数の各分子とを乗算して、誤差拡散分子量を求める。加算器682bは、第2ラインの画素毎に、乗算手段682aによって乗算された乗算結果である誤差拡散分子量と、加算器682bによって加算された加算結果を格納する演算結果格納部682dに格納されている加算結果とを加算する。演算結果格納部682dは、加算器682bによって加算された誤差拡散分子量を、第2ラインの画素毎に格納つまり記憶する記憶部である。
加算器682bが、量子化ラインに含まれる画素の量子化誤差と第2ラインの拡散係数の各分子との乗算結果である誤差拡散分子量を、第2ラインの1つの画素について全て加算したとき、除算器682cは、加算器682bによって加算された誤差拡散分子量を、拡散係数分母格納部66bに格納された拡散係数の分母の値によって除算する。すなわち、除算器682cは、量子化誤差が、第1ラインの画素から、第2ラインの1つの画素に配分された誤差拡散分子量の総和を、拡散係数分母格納部66bに格納された拡散係数の分母の値によって除算する。
演算結果格納部682dは、誤差拡散分子量を、一時的に、つまり第2ラインの1つの画素について、拡散係数マトリクスの第2ラインの拡散係数の分子によって求められる全ての誤差拡散分子量が加算されて、除算されるまでの期間、記憶しておくための記憶部である。拡散係数マトリクスの第2ラインの拡散係数の数の誤差拡散分子量を記憶する容量が必要である。図7に示した拡散マトリクスの場合、第2ラインの拡散係数は3つであるので、3つの誤差拡散分子量を記憶する容量が必要である。
ライン誤差格納部682eは、除算器682cによって除算された除算結果を、ライン蓄積誤差として、格納つまり記憶する記憶部である。ライン誤差格納部682eは、第1ラインの画素の量子化誤差から配分された拡散誤差の総和であるライン蓄積誤差を、第2ラインの画素毎に記憶する記憶部であり、たとえばFIFO(First-In First−Out)型つまり先入れ先出し型の記憶部で構成される。ライン誤差格納部682eは、第2ラインの1つの画素について、量子化ラインの画素から配分された拡散誤差が全て配分されてから、その画素が量子化されるまでの期間、その画素のライン蓄積誤差を記憶しておく必要がある。
さらに、ライン誤差格納部682eは、最初に記憶されたライン蓄積誤差が読み出された後、新たに除算器682cによって除算された除算結果がライン蓄積誤差として記憶される。したがって、ライン誤差格納部682eは、ライン蓄積誤差が読み出された画素の次の画素から、新たにライン蓄積誤差が記憶された画素までの画素の数、すなわち1つのラインに含まれる画素の数のライン蓄積誤差を記憶する容量が必要である。各ラインの画素数が一定でないときは、1つのラインの最大の画素数のライン蓄積誤差を記憶する容量が必要である。
第2ライン蓄積誤差算出部682は、ライン誤差格納部682eに格納されたライン蓄積誤差のうちで、次に量子化される画素に対するライン蓄積誤差を出力する。加算器683は、次に量子化する画素について、第1ライン蓄積誤差算出部681から出力されたライン蓄積誤差と、第2ライン蓄積誤差算出部682から出力されたライン蓄積誤差とを加算し、加算結果を次に量子化する画素への蓄積誤差として加算器61に入力する。
量子化閾値格納部63、拡散係数格納部66、演算結果格納部681d、演算結果格納部682d、およびライン誤差格納部682eなどの記憶部は、たとえば画像処理装置10に含まれるCPUに含まれる記憶部である。この記憶部は、CPUが処理を実行する際に用いるデータおよびこのCPUで実行されるプログラムを記憶するものであり、半導体メモリなど記憶装置によって実現される。
第1の加算手段は、たとえば加算器61、量子化処理手段は、たとえば量子化処理部62、量子化誤差算出手段は、たとえば量子化誤差算出部64、乗算手段は、たとえば乗算器681aおよび乗算器682a、第2の加算手段は、たとえば加算器681bおよび加算器682b、除算手段は、たとえば除算器681cおよび除算器682c、ライン蓄積誤差算出手段は、たとえば第1ライン蓄積誤差算出部681および第2ライン蓄積誤差算出部682、第3の加算手段は、たとえば加算器683である。
従来技術による実施の形態では、たとえば図15に示した誤差拡散処理回路70のように、量子化誤差E(n)と拡散係数との乗算を1つの画素を量子化する毎に、入力画像データの画素のうち、未処理の画素に配分する拡散誤差を演算して、つまり乗算および除算して、蓄積誤差として蓄積誤差格納部77に格納する。さらに、次の画素を量子化するときに、その画素の量子化誤差を配分する画素にすでに配分された蓄積誤差を、蓄積誤差格納部77から読み出し、新たに配分された拡散誤差を加算して、新たな蓄積誤差を求めている。
しかし、図6に示した階調再現処理部19では、量子化誤差E(n)と、拡散係数の各分子の値とを乗算し、誤差拡散ラインに含まれる各画素について、量子化ラインに含まれる画素の量子化誤差に基づいて乗算された乗算結果の総和を、拡散係数の分母の値で除算する。さらにその除算結果をライン蓄積誤差として誤差拡散ライン毎に算出し、次に量子化する画素に対する各ライン蓄積誤差の総和を蓄積誤差として算出する。
具体的には、たとえば図7に示した拡散マトリクスの場合、拡散係数マトリクスの第1ラインの拡散係数の分子をai、第2ラインの拡散係数の分子をaj、拡散係数の分母をAとすると、蓄積誤差Dは、式(5)によって算出することができる。
Figure 0004105704
式(5)での2つ除算の結果に、小数点以下の値があるときは、小数点以下の値を切り捨て、切り上げ、あるいは四捨五入してもよい。いずれの場合であっても、次の注目画素、つまり次に量子化する画素に対する蓄積誤差を求める際に、拡散係数の分子の値と、量子化誤差との積の誤差拡散ライン毎の和を、拡散係数の分母で除算するので、切り捨てた値、あるいは切り上げた値が1つの誤差拡散ラインでは累積することがない。したがって、式(5)によって算出された蓄積誤差は、本来の蓄積誤差、つまり、切り捨て、切り上げ、および四捨五入しないときの蓄積誤差とかけ離れた値となることがない。
すなわち、量子化誤差に拡散係数の分子を乗算し、拡散係数の分母で除算した後加算すると、除算したときに発生する除算誤差が、拡散係数の分子の数の除算誤差分累積する。しかし、乗算結果を加算して誤差拡散ライン毎の総和を求めた後で除算することによって、誤差拡散ライン数の除算誤差の累積値まで低減することができる。
このように、量子化誤差から蓄積誤差を求めるとき、拡散係数を分母と分子に分けて、量子化誤差と拡散係数の分子との積の誤差拡散ライン毎の和を、誤差拡散ラインの画素毎に除算するので、1つの量子化誤差を周辺画素に拡散するたびに生じていた除算誤差の累積を抑制することができる。したがって、低濃度及び高濃度領域での階調再現特性が改善された画像データを出力することができる。
図6に示した階調再現処理部19の第2ライン蓄積誤差算出部382は、1つの画素について、第2ラインの拡散係数の各分子によって求められた拡散誤差分子量が全て加算されたとき、その加算された拡散誤差分子量を、拡散係数の分母で除算してライン蓄積誤差としてライン誤差格納部682eに格納する。したがって、加算された拡散誤差分子量が除算されたとき、演算結果格納部682dに格納されていた加算結果が削除され、除算されたライン蓄積誤差がライン誤差格納部682eに格納されるが、加算結果のビット数よりライン蓄積誤差のビット数が少ないので、図3に示した階調再現処理部19の演算結果格納部67dに比べて、記憶容量を削減することができる。
たとえば画素値、拡散係数の分母、および拡散係数の分子を8ビットとし、拡散係数マトリクスとして図7に示した拡散係数マトリクスを用いるとすると、量子化誤差8ビットと拡散係数の分子8ビットとの乗算結果は、16ビットである。図7に示した拡散係数マトリクスの第2ラインは3つの拡散係数を含むので、3つの乗算結果を加算することになり、桁上がりを考慮すると、加算結果は最大で18ビットになる。この加算結果は、演算結果格納部682dに格納される。
第2ラインの画素の加算結果を格納する演算結果格納部682dに記憶された加算結果は、3つの乗算結果が加算されたとき、除算するために読み出されるので、演算結果格納部682dは、3つの画素についての加算結果を記憶すればよく、36ビットの記憶容量が必要である。第1ラインの画素の加算結果を格納する演算結果格納部681dは、1つの拡散係数による乗算結果しかなく、加算が行なわれないので、16ビットの記憶容量でよい。
加算結果18ビットを拡散誤差の分母8ビットで除算すると、除算結果は、10ビットになる。この除算結果は、ライン誤差格納部682eに格納される。ライン誤差格納部682eは、この除算結果、つまり1つの画素のライン蓄積誤差を、量子化ラインの画素から配分される拡散誤差が全て配分されてから、その画素が量子化されるまでの期間記憶しておく必要がある。つまり最大で1つのラインの画素の数のライン蓄積誤差を記憶しておく必要がある。1つのラインに含まれる画素の数をgとすると、ライン誤差格納部682eは、10×gビットの記憶容量が必要である。したがって、図6に示した階調再現処理部19に必要な記憶容量は、演算結果格納部681dおよび演算結果格納部682dの記憶容量は少ないので、概ねライン誤差格納部682eの記憶容量で決まり、概算10gビットである。
それに対して、図3に示した階調再現処理部19の演算結果格納部67dは、1つの量子化誤差に対して拡散係数の数の乗算結果が求められので、これらの乗算結果を格納する必要がある。これらの乗算結果は、それぞれ異なる画素に対する乗算結果であるので、画素毎に、最初の乗算結果が求められてから、最後の乗算結果が求められるまで、最初の乗算結果を格納しておく必要がある。
たとえば図7に示した拡散係数マトリクスの場合、1つの画素に最初に量子化誤差が配分されるのは、注目画素が、その画素の左上の位置になったときである。そして、その画素に最後に量子化誤差が配分されるのは、注目画素が、その画素の左隣になったときである。換言すれば、演算結果格納部67dは、1つのラインの画素の数に「1」を加えた数の画素が量子化される期間その乗算結果を記憶する必要がある。拡散係数の数が「4」であるので、1つのラインの画素の数をgとすると、図3に示した階調再現処理部19に必要な記憶容量は、概算16×g×4ビットの容量が必要になる。
このようにして、図6に示した階調再現処理部19に必要な記憶容量は、図3に示した階調再現処理部19に必要な記憶容量より、少なくすることができる。
図8は、図6に示した階調再現処理部19によって処理される画像処理方法を説明するためのフローチャートである。この画像処理方法は、たとえばカラー画像処理装置10に含まれるCPUが、記憶部に記憶されたプログラムを実行することによって実現される。出力画像データを生成する階調再現処理において、誤差拡散処理を行うときに、本処理が開始される。
ステップT1では、入力画像データの画素の濃度を示す画素値に対して、蓄積誤差を加算する。ステップT2では、蓄積誤差が加算された画素値を量子化して、出力画像データの画素の量子化値を算出する。ステップT3では、蓄積誤差が加算された画素値と、その画素値を量子化した量子化値との差を、量子化誤差として算出する。
ステップT4では、1つのラインの画素の量子化誤差が配分されるライン毎つまり誤差拡散ライン毎に、量子化誤差と拡散係数の各分子の値とを乗算し、各乗算結果を、記憶部である演算結果格納部に記憶されている加算結果のうちで、それぞれ同じ画素に対する加算結果に加算する。各加算結果は、それぞれ新たな加算結果として演算結果格納部に格納する。加算結果が格納されていない画素のときは、乗算結果に「0」を加算して、演算結果格納部に格納する。あるいは、演算結果格納部の記憶容量に余裕があるときは、画素位置毎に「0」を初期値として記憶しておいてもよいし、乗算結果に対して加算演算を行なわずに格納してもよい。
ステップT5では、ライン毎つまり誤差拡散ライン毎に、乗算結果が全て加算された画素の加算結果を、拡散係数の分母の値によって除算し、除算結果をライン蓄積誤差とする。ステップT6では、次に量子化する画素について、全てのライン蓄積誤差を合計して、蓄積誤差を算出する。
ステップT7では、入力画像データの全ての画素について、誤差拡散処理を行なったか否かを判定する。全ての画素について、誤差拡散処理を終了したときは終了し、全ての画素について、誤差拡散処理を終了していないときは、ステップT1に戻り、未処理の画素についての誤差拡散処理を行なう。
このように、量子化誤差から蓄積誤差を求めるとき、拡散係数を分母と分子に分けて、量子化誤差と拡散係数の分子との積の誤差拡散ライン毎の和を、誤差拡散ラインの画素毎に除算するので、1つの量子化誤差を周辺画素に拡散するたびに生じていた除算誤差の累積を抑制することができる。したがって、低濃度及び高濃度領域での階調再現特性が改善された画像データを出力することができる。
図9は、図1に示した階調再現処理部19の第4の例を示すブロック図である。図6に示した階調再現処理部19は、1つの画素の量子化誤差を2つの誤差拡散ラインの画素に拡散していたが、図9に示した階調再現処理部19は、3つの誤差拡散ラインの画素に拡散する。
階調再現処理部19は、加算器61、量子化処理部62、量子化閾値格納部63、量子化誤差算出部64、拡散係数格納部66、および蓄積誤差算出部69を含んで構成される。図9に示した階調再現処理部19の構成は、図6に示した階調再現処理部19の蓄積誤差算出部68を蓄積誤差算出部69に置き換えたものである。加算器61、量子化処理部62、量子化閾値格納部63、量子化誤差算出部64、および拡散係数格納部66は、図6に示したものと同じであり、説明は省略する。
図10は、図9に示した拡散係数格納部66に格納された拡散係数を説明するための図である。この拡散係数は、3つの誤差拡散ラインから構成される拡散係数マトリクスで表される。この拡散係数マトリクスは、図7に示した拡散係数マトリクスに比べて、量子化誤差をより広い範囲の画素に拡散させるため、たとえば階調性を重視した処理を行なうために用いられる。
第1ラインの画素に量子化誤差を配分する拡散係数は、拡散係数a1が注目画素の1つ右隣の位置に、拡散係数a2が注目画素の2つ右隣の位置に示されている。第2ラインの画素に量子化誤差を配分する拡散係数は、拡散係数b1が注目画素の1つ下の位置から2つ左隣の位置に、拡散係数b2が注目画素の1つ下の位置から1つ左隣の位置に、拡散係数b3が注目画素の1つ下の位置に、拡散係数b4が注目画素の1つ下の位置から1つ右隣の位置に、拡散係数b5が注目画素の1つ下の位置から2つ右隣の位置に示されている。
第3ラインの画素に量子化誤差を配分する拡散係数は、拡散係数c1、拡散係数c2、拡散係数c3、拡散係数c4、および拡散係数c5が、拡散係数b1、拡散係数b2、拡散係数b3、拡散係数b4、および拡散係数b5のそれぞれ1つ下の位置に示されている。
それらの拡散係数が示されている位置の画素に、それぞれの拡散係数によって求められる拡散誤差が配分される。拡散係数分子格納部66aは、それらの拡散係数を共通の分母の分数で表したときの分子の値を格納し、拡散係数分母格納部66bは、拡散係数の共通の分母の値を格納する。
図9を参照して、蓄積誤差算出部69は、第1ライン蓄積誤差算出部691、第2ライン蓄積誤差算出部692、第3ライン蓄積誤差算出部693、加算器694、および加算器695を含んで構成される。
第1ライン蓄積誤差算出部691は、乗算器691a、加算器691b、除算器691c、および演算結果格納部691dを含んで構成され、これらは、それぞれ、図6に示した第1ライン蓄積誤差算出部681の乗算器681a、加算器681b、除算器681c、および演算結果格納部681dに対応するものであり、説明は省略する。第1ライン蓄積誤差算出部691は、量子化誤差が配分される第1ラインの画素毎に、図10に示した拡散係数マトリクスの第1ラインの拡散係数によって求められる拡散誤差の総和であるライン蓄積誤差を算出する。
第2ライン蓄積誤差算出部692は、乗算器692a、加算器692b、除算器692c、演算結果格納部692d、およびライン誤差格納部692eを含んで構成され、これらは、それぞれ、図6に示した第2ライン蓄積誤差算出部682の乗算器682a、加算器682b、除算器682c、演算結果格納部682d、およびライン誤差格納部682eに対応するものであり、説明は省略する。第2ライン蓄積誤差算出部692は、量子化誤差が配分される第2ラインの画素毎に、図10に示した拡散係数マトリクスの第2ラインの拡散係数によって求められる拡散誤差の総和であるライン蓄積誤差を算出する。
第3ライン蓄積誤差算出部693は、乗算器693a、加算器693b、除算器693c、演算結果格納部693d、およびライン誤差格納部693eを含んで構成される。第3ライン蓄積誤差算出部693は、量子化誤差が配分される第3ラインの画素毎に、図10に示した拡散係数マトリクスの第3ラインの拡散係数によって求められる拡散誤差の総和であるライン蓄積誤差を算出する。
ライン誤差格納部693eは、ライン誤差格納部692eと同様にFIFO型のメモリであるが、各画素に配分されたライン蓄積誤差を記憶する期間が、ライン誤差格納部692eと異なる。ライン誤差格納部693eは、1つの画素について、ライン蓄積誤差が格納されてから、その画素が量子化されるまでの期間、その画素のライン蓄積誤差を記憶しておかなければならない。
すなわち、1つの画素について、注目画素が2つ前のラインにあるときから第2ラインの拡散係数によるライン蓄積誤差が格納されるので、その画素が量子化されるまでの期間、つまり2つのライン分の画素が量子化される期間、その画素のライン拡散誤差を記憶する必要がある。換言すれば、ライン誤差格納部693eは、2ライン分の画素のライン蓄積誤差を記憶する記憶容量が必要であり、ライン誤差格納部692eの2倍の記憶容量が必要である。第3ライン蓄積誤差算出部693のその他の部位は、第2ライン蓄積誤差算出部692の対応する部位と同じ構成であり、説明は省略する。
加算器695は、次に量子化する画素について、第2ライン蓄積誤差算出部692から出力されたライン蓄積誤差と、第3ライン蓄積誤差算出部693から出力されたライン蓄積誤差とを加算し、加算結果を加算器694に入力する。加算器694は、次に量子化する画素について、第1ライン蓄積誤差算出部691から出力されたライン蓄積誤差と、加算器695による加算結果とを加算し、加算結果を蓄積誤差として加算器61に入力する。
量子化閾値格納部63、拡散係数格納部66、演算結果格納部691d〜演算結果格納部693d、ライン誤差格納部692e、およびライン誤差格納部693eなどの記憶部は、たとえば画像処理装置10に含まれるCPUに含まれる記憶部である。この記憶部は、CPUが処理を実行する際に用いるデータおよびこのCPUで実行されるプログラムを記憶するものであり、半導体メモリなど記憶装置によって実現される。
乗算手段は、たとえば乗算器691a〜乗算器693a、第2の加算手段は、たとえば加算器691b〜加算器693b、除算手段は、たとえば除算器691c〜除算器693c、ライン蓄積誤差算出手段は、たとえば第1ライン蓄積誤差算出部691〜第3ライン蓄積誤差算出部693、第3の加算手段は、たとえば加算器694および加算器695である。
このように、1つの画素の量子化誤差を拡散する画素の誤差拡散ライン数が増えたとき、ライン蓄積誤差を求めるライン蓄積誤差算出部を、その誤差拡散ライン数にあわせて増やすことによって、並列に拡散誤差を求めることができるので、処理を高速化することができる。
図9に示した階調再現処理部19によって処理される画像処理方法は、図8に示したフローチャートと同じ画像処理方法であり、説明は省略する。
図11は、図1に示した階調再現処理部19の第5の例を示すブロック図である。階調再現処理部19は、加算器61、量子化処理部62、量子化閾値格納部63、量子化誤差算出部64、拡散係数格納部66、および蓄積誤差算出部69を含んで構成される。この第5の例は、図9に示した第4の例のライン誤差格納部693eの記憶容量を減らすために、第4の例の蓄積誤差算出部69を改良したものである。第4の例に示した部位と同じ機能を有する部位の説明は省略する。
第2ライン蓄積誤差算出部692は、除算器692cの除算結果と、第3ライン蓄積誤差算出部693が算出したライン蓄積誤差とを加算する加算器692fを含む。加算器692fは、1つの画素について、加算器682bが第2ラインの拡散係数の各分子との乗算結果を全て加算し、除算器692cがその加算結果を除算したとき、その除算結果と、ライン誤差格納部693fに格納されているライン蓄積誤差のうちで、除算結果の画素に対応するライン蓄積誤差とを加算する。加算器692fの加算結果は、ライン蓄積格納部692eに格納される。
第3ライン蓄積誤差算出部693は、図9に示した第4の例のライン誤差格納部693eの代わりに、ライン誤差格納部693fを含む。ライン誤差格納部693fは、ライン誤差格納部693eと同様にFIFO型のメモリであり、量子化誤差が配分される第3ラインの画素毎に、図10に示した拡散係数マトリクスの第3ラインの拡散係数によって求められる拡散誤差の総和であるライン蓄積誤差を格納する。
ライン誤差格納部693fは、格納するライン蓄積誤差の数と、画素毎のライン蓄積誤差を記憶する期間とが、ライン誤差格納部693eと異なる。ライン誤差格納部693eは、10個のライン蓄積誤差を格納し、1つの画素について、ライン蓄積誤差が格納されてからその画素が量子化されるまでの期間、つまり、2ライン分の画素が量子化される期間記憶する。
しかし、ライン誤差格納部693fは、5つのライン蓄積誤差を格納し、1つの画素について、ライン蓄積誤差が格納されてから、第2ライン蓄積誤差算出部692の加算器692fが、ライン誤差格納部693fから出力されるライン蓄積誤差のうち、その画素に対するライン蓄積誤差を加算するまでの期間、つまり、1ライン分の画素が量子化される期間記憶する。
加算器694は、次に量子化する画素について、第1ライン蓄積誤差算出部691から出力されたライン蓄積誤差と、第2ライン蓄積誤差算出部692から出力されたライン蓄積誤差とを加算し、加算結果を蓄積誤差として加算器61に入力する。
第1のライン誤差格納手段は、たとえばライン誤差格納部693f、第2のライン誤差格納手段は、たとえばライン誤差格納部692e、第4の加算手段は、たとえば加算器692fである。
このように、加算器692fは、除算器692cとライン誤差格納部693fからのライン蓄積誤差を加算するので、桁上がりが発生する可能性があるので、ライン誤差格納部692eは、図9に示したライン誤差格納部692eが記憶する加算結果より、1ビット多い加算結果を記憶する必要がある。しかし、ライン誤差格納部693fは、第3ラインの拡散係数に基づいて量子化誤差が配分された1つの画素について、1ライン分の画素が量子化される期間、ライン蓄積誤差を記憶すればよいので、1ライン分の画素の数のライン蓄積誤差を記憶する容量があればよく、ライン誤差格納部693eの記憶容量のほぼ半分の記憶容量でよい。
すなわち、図11に示した階調再現処理部19は、図9に示した階調再現処理部19に比べて、つまり除算結果と次の誤差拡散ラインのライン蓄積誤差とを加算しないときに比べて、量子化誤差を配分する誤差拡散ライン数が多いほど、ライン誤差格納部のメモリ容量をより少なくすることができる。
図12は、図9および図11に示したライン誤差格納部の記憶容量を説明するための図である。図12(a)は、入力画像データの画素の配列の一例を説明するための図である。この入力画像データは、5×5画素、つまり各ラインが5つの画素からなる5つのラインの画素から構成される。たとえば最初のラインは、画素X1〜画素X5の5つの画素から構成される。
図12(b)は、拡散係数マトリクスの配列の他の例を示す図である。拡散係数マトリクスは、注目画素、つまり量子化を行なう画素の位置に、「*」印を付し、注目画素を量子化したときに発生する量子化誤差を拡散つまり配分する画素の位置を、注目画素を起点に相対的な位置に表し、量子化誤差が拡散される各位置に、量子化誤差を拡散する割合を示す拡散係数を記載したものである。
拡散係数マトリクスの最上段のラインは、注目画素の量子化誤差が配分される画素の第1ラインと対応し、注目画素の位置に「*」が付され、注目画素の右隣の位置に拡散係数a11が示されている。拡散係数マトリクスの第2番目のラインは、注目画素の量子化誤差が配分される画素の第2ラインと対応し、3つの拡散係数a21、拡散係数a22、および拡散係数a23を含み、それぞれ、注目画素の1つ下の左隣の位置、注目画素の1つ下の位置、および注目画素の1つ下の右隣の位置に示されている。拡散係数マトリクスの第3番目のラインは、注目画素の量子化誤差が配分される画素の第3ラインと対応し、3つの拡散係数a31、拡散係数a32、および拡散係数a33を含み、それぞれ、注目画素の2つ下の左隣の位置、注目画素の2つ下の位置、および注目画素の2つ下の右隣の位置に示されている。
図12(c)は、第2ラインの拡散係数によるライン蓄積誤差の一例を示す図である。ライン蓄積誤差AX6〜ライン蓄積誤差AX10は、画素X1〜画素X5を量子化したとき、第2ラインの拡散係数によってそれぞれ画素X6〜画素X10に拡散された拡散誤差の合計を表したものであり、ライン誤差格納部692eに格納される。
たとえばライン蓄積誤差AX8は、画素X2〜画素X4の3つの画素の量子化誤差が、拡散係数マトリクスの第2ラインの拡散係数に基づいて拡散された拡散誤差の合計である。画素X2〜画素X4を量子化したときの各画素の量子化誤差を、それぞれE2〜E4とすると、画素X2からの拡散誤差は、E2×a23、画素X3からの拡散誤差は、E3×a22、および画素X4からの拡散誤差は、E4×a21であり、ライン蓄積誤差AX8は、これらの値の合計である。
ライン蓄積誤差AX6は、画素X1の量子化誤差が拡散されてから、画素X6が量子化されるまで、つまり、1ライン分の画素が量子化される期間、ライン誤差格納部692eに記憶される。画素X6の量子化が行なわれるとき、ライン蓄積誤差AX6は、ライン誤差格納部692eから読み出されるので、ライン蓄積誤差AX6を記憶していた記憶領域に、新たに求められるライン蓄積誤差AX11を格納することができる。
図12(d)は、第2ラインの拡散係数によるライン蓄積誤差の他の例を示す図である。ライン蓄積誤差AX11〜ライン蓄積誤差AX15は、画素X6〜画素X10を量子化したとき、第2ラインの拡散係数によってそれぞれ画素X11〜画素X15に拡散された拡散誤差の合計を表したものである。
図12(e)は、第3ラインの拡散係数によるライン蓄積誤差の一例を示す図である。ライン蓄積誤差BX11〜ライン蓄積誤差BX20は、画素X1〜画素X10を量子化したときに、拡散された拡散誤差の合計を表したものである。すなわち、ライン蓄積誤差BX11〜ライン蓄積誤差BX15は、画素X1〜画素X5が第1ラインであったとき、第3ラインの拡散係数によってそれぞれ画素X11〜画素X15に拡散された拡散誤差の合計であり、およびライン蓄積誤差BX16〜ライン蓄積誤差BX20は、画素X6〜画素X10が第1ラインであったときに、第3ラインの拡散係数によってそれぞれ画素16〜画素X20に拡散された拡散誤差の合計を表したものである。
図9に示した階調再現処理部19の場合、画素X1〜画素X5の量子化が終了したとき、ライン誤差格納部693eは、ライン蓄積誤差BX11〜ライン蓄積誤差BX15を記憶している。次に第1ラインが画素X6〜画素X10に移り、画素X6〜画素X10の量子化が行なわれても、ライン蓄積誤差BX11〜ライン蓄積誤差BX15は格納されたままである。
たとえばライン蓄積誤差BX11は、画素X1の量子化誤差が拡散されてから、画素X11の量子化が開始されるまでの期間、つまり、2ライン分の画素が量子化される期間記憶される。したがって、ライン誤差格納部693eは、画素X6〜画素X10の量子化誤差によるライン蓄積誤差BX16〜ライン蓄積誤差BX20を、ライン蓄積誤差BX11〜ライン蓄積誤差BX15とは別の記憶領域に記憶する必要がある。図12(e)に示した状態は、画素X1〜画素X10の量子化が終了したとき、ライン誤差格納部693eに記憶されているライン蓄積誤差の状態を示している。
図11に示した階調再現処理部19の場合、画素X1〜画素X5の量子化が終了したとき、ライン誤差格納部693fは、ライン蓄積誤差BX11〜ライン蓄積誤差BX15を記憶している。
第1ラインが画素X6〜画素X10に移り、画素X6の量子化誤差が拡散された後、画素X7の量子化誤差が拡散されたとき、ライン誤差格納部693fから読み出されたライン蓄積誤差BX11は、加算器692fによって、第2ラインとなった画素X11に対する除算器692cの除算結果と加算され、その加算結果は、ライン蓄積誤差AX11として、ライン誤差格納部692eに格納される。ライン蓄積誤差BX11が格納されていたライン誤差格納部693fの記憶領域が空くので、その記憶領域に画素X7の量子化誤差が拡散されたライン蓄積誤差BX16を格納することができる。
たとえば画素値、拡散係数の分母、および拡散係数の分子を8ビットとすると、各除算器の出力は10ビットになる。第2ライン蓄積誤差算出部692の加算器692fは、除算器692cの除算結果と、第3ライン蓄積誤差算出部393の出力とを加算するので、ライン蓄積誤差392eは、除算結果より1桁多い11ビットのライン蓄積誤差を記憶する必要がある。しかし、ライン誤差格納部393fは、ライン誤差格納部393eの半分の記憶容量でよく、記憶容量を大幅に低減することができる。
図13は、図11に示した階調再現処理部19によって処理される画像処理方法を説明するためのフローチャートである。この画像処理方法は、たとえばカラー画像処理装置10に含まれるCPUが、記憶部に記憶されたプログラムを実行することによって実現される。出力画像データを生成する階調再現処理において、誤差拡散処理を行うときに、本処理が開始される。
ステップU1では、入力画像データの画素の濃度を示す画素値に対して、蓄積誤差を加算する。ステップU2では、蓄積誤差が加算された画素値を量子化して、出力画像データの画素の量子化値を算出する。ステップU3では、蓄積誤差が加算された画素値と、その画素値を量子化した量子化値との差を、量子化誤差として算出する。
ステップU4では、1つのラインの画素の量子化誤差が配分されるライン毎つまり誤差拡散ライン毎に、量子化誤差と拡散係数の各分子の値とを乗算し、各乗算結果を、記憶部である演算結果格納部に記憶されている加算結果のうちで、それぞれ同じ画素に対する加算結果に加算する。各加算結果は、それぞれ新たな加算結果として演算結果格納部に格納する。加算結果が格納されていない画素のときは、乗算結果に「0」を加算して、演算結果格納部に格納する。あるいは、演算結果格納部の記憶容量に余裕があるときは、画素位置毎に「0」を初期値として記憶しておいてもよいし、乗算結果に対して加算演算を行なわずに格納してもよい。
ステップU5では、ライン毎つまり誤差拡散ライン毎に、乗算結果が全て加算された画素の加算結果を、拡散係数の分母の値によって除算し、除算結果をライン蓄積誤差とする。ステップU6では、注目するラインの画素毎に、1つの画素のライン蓄積誤差と、その注目するラインの1つ下のライン、つまり次のラインのライン蓄積誤差のうちで、その画素に対するライン蓄積誤差とを加算して、注目するラインのその画素の新たなライン蓄積誤差とする。
ステップU7では、次に量子化する画素について、全てのライン蓄積誤差を合計して、蓄積誤差を算出する。ステップU8では、入力画像データの全ての画素について、誤差拡散処理を行なったか否かを判定する。全ての画素について、誤差拡散処理を終了したときは終了し、全ての画素について、誤差拡散処理を終了していないときは、ステップU1に戻り、未処理の画素についての誤差拡散処理を行なう。
上述したいずれの実施の形態においても、除算器、具体的には、除算器681c、除算器682c、除算器691c、除算器692c、および除算器693cによる除算は、量子化誤差を2進数で表し、拡散係数の分母を2のn乗で表して除算してもよい。nは、自然数である。
拡散係数の分母を2のn乗で表すと、拡散係数の分母による除算は、除算される2進数の下位nビットを除くことによって、除算される2進数の残ったビットのみで構成される値を商とすることができる。この演算は、2進数のシフト演算を行なうことによって演算することができる。この場合、余りは切り捨てることになる。四捨五入するときは、切り捨てるビットの最上位ビットが「1」のとき、商の最下位ビットに「1」を加算することによって実現することができる。
この誤差拡散処理は、2値誤差拡散だけでなく、4値および16値などの多値誤差拡散で行ってもよいし、拡散係数の分子成分の組を複数用意しておいて、乱数あるいは領域分離結果によって、拡散係数の分子成分を切り替えてもよい。
このように、次の誤差拡散ラインのライン蓄積誤差と、そのライン蓄積誤差の画素について前記除算工程で除算された除算結果とが加算されるので、第3番目の誤差拡散ラインのライン蓄積誤差を格納するメモリ容量は、1ライン分の画素のライン蓄積誤差を格納すればよい。したがって、除算結果と次の誤差拡散ラインのライン蓄積誤差とを加算しないときに比べて、量子化誤差を配分する誤差拡散ライン数が多いほど、ライン誤差格納部のメモリ容量をより少なくすることができる。
図14は、図1に示した階調再現処理部19の第6の例を示すブロック図である。階調再現処理部19は、加算器61a、加算器61b、量子化処理部62、量子化閾値格納部63、量子化誤差算出部64、拡散係数格納部66、および蓄積誤差算出部68を含んで構成される。図14に示した階調再現処理部19は、図6に示した階調再現処理部19の加算器393を削除し、加算器61を2つの加算器61aおよび加算器61bに置き換えたものである。
加算器61aは、次に量子化する画素について、入力画像データの画素の濃度を示す画素値と、第2ライン蓄積誤差算出部682の出力であるライン蓄積誤差とを加算する。加算器61bは、次に量子化する画素について、加算器61aの加算結果と、第1ライン蓄積誤差算出部681の出力であるライン蓄積誤差とを加算する。他の部位は、図6に示した階調再現処理部19の対応する部位と同じ機能であり、説明は省略する。
第2ライン蓄積誤差算出部682は、次に量子化する画素の1つ前の行に含まれる画素の量子化誤差が配分されたライン蓄積誤差である。したがって、そのライン蓄積誤差は、そのライン蓄積誤差を加算する画素の量子化が開始される前に、すでにライン誤差格納部682eに格納されている。すなわち、第2ライン蓄積誤差算出部682は、次に量子化する画素に加算するライン蓄積誤差を、ライン誤差格納部682eから読み出すだけであり、すぐに出力することができる。
第1ライン蓄積誤差算出部681は、量子化が行われた画素の量子化誤差に基づいて、次に量子化する画素のライン蓄積誤差を演算するので、ライン蓄積誤差を出力するまで、演算時間分の時間遅れが生じる。第1の加算手段は、たとえば加算器61aおよび加算器61bである。
このように、第1ライン蓄積誤差算出部681がライン蓄積誤差を演算している間に、加算器61aによって、第2ライン蓄積誤差算出部682のライン蓄積誤差を、入力画像データの画素値に加算するので、図6に示した階調再現処理部19に比べて、加算器683による加算時間分早く、次の画素の量子化処理を開始することができる。
図9および図11に示した階調再現処理部19についても、加算器61を2つの加算器61aおよび加算器61bに置き換えてもよい。図9に示した階調再現処理部19では、加算器695の加算結果を加算器61aに入力する。
図8および図13に示した画像処理方法は、図5に示したコンピュータ50によって実行されるソフトウエアであるプログラムとして実現してもよい。さらに、このプログラムは、プリンタ・ドライバ51に含まれる階調再現処理部513として、コンピュータ50に組み込んで、実行させることができる。さらに、このプログラムは、上述した記録媒体に記録して提供することができる。
本発明の実施の一形態であるカラー画像処理装置10とそれを含むカラー画像形成装置40の概略の構成を示すブロック図である。 本発明の実施の一形態である画像処理装置10に含まれる階調再現処理部19の第1の例を示すブロック図である。 実施の他の形態である画像処理装置10に含まれる階調再現処理部19の第2の例を示すブロック図である。 本発明の実施のさらに他の形態である画像処理方法を説明するためのフローチャートである。 本発明の実施のさらに他の形態であるプリンタ・ドライバ51とそれを含むコンピュータ50の構成を示す図である。 図1に示した階調再現処理部19の第3の例を示すブロック図である。 図6に示した拡散係数格納部66に格納された拡散係数を説明するための図である。 図6に示した階調再現処理部19によって処理される画像処理方法を説明するためのフローチャートである。 図1に示した階調再現処理部19の第4の例を示すブロック図である。 図9に示した拡散係数格納部66に格納された拡散係数を説明するための図である。 図1に示した階調再現処理部19の第5の例を示すブロック図である。 図9および図11に示したライン誤差格納部の記憶容量を説明するための図である。 図11に示した階調再現処理部19によって処理される画像処理方法を説明するためのフローチャートである。 図1に示した階調再現処理部19の第6の例を示すブロック図である。 従来技術の画像形成装置に含まれる画像処理装置で用いられる誤差拡散処理回路70の一例のブロック図である。 従来技術の画像形成装置に含まれる画像処理装置で用いられる誤差拡散処理回路70の他の例のブロック図である。 誤差拡散処理で用いられる拡散係数を説明するための図である。
符号の説明
10 カラー画像処理装置
11 A/D変換部
12 シェーディング補正部
13 入力階調補正部
14 領域分離処理部
15,511 色補正部
16,512 黒生成下色除去部
17 空間フィルタ処理部
18 出力階調補正部
19,513 階調再現処理部
20 カラー画像入力装置
30 カラー画像出力装置
40 カラー画像形成装置
50 コンピュータ
51 プリンタ・ドライバ
514 プリンタ言語翻訳部
52 通信ポートドライバ
53 通信ポート
54 プリンタ
61,61a,61b,67b,71,78 加算器
62,72 量子化処理部
63,73 量子化閾値格納部
64,74 量子化誤差算出部
65 誤差格納部
66,76 拡散係数格納部
66a,76a 拡散係数分子格納部
66b,76b 拡散係数分母格納部
67〜69 蓄積誤差算出部
67a,75a 乗算器
67c,75b 除算器
67d 演算結果格納部
70 誤差拡散処理回路
75 拡散誤差算出部
77 蓄積誤差格納部
681,691 第1ライン蓄積誤差算出部
681a,682a,691a,692a,693a 乗算器
681b,682b,691b,692b,692f,693b 加算器
681c,682c,691c,692c,693c 除算器
681d,682d,691d,692d,693d 演算結果格納部
682,692 第2ライン蓄積誤差算出部
682e,692e,693e,693f ライン誤差格納器
683,694,695 加算器
693 第3ライン蓄積誤差算出部

Claims (7)

  1. 複数の画素を含むラインを複数含む入力画像に対して、その入力画像の画素の濃度を示す画素値を量子化する際に生じた量子化誤差を他の画素に配分した蓄積誤差のうちで、量子化する画素に配分された蓄積誤差を、前記量子化する画素の画素値に加算する第1の加算手段と、
    前記第1の加算手段で蓄積誤差が加算された画素値を量子化することによって出力画像の画素の量子化値を生成する量子化処理手段と、
    前記第1の加算手段で蓄積誤差が加算された画素値と、前記量子化処理手段で生成された量子化値との差を量子化誤差として算出する量子化誤差算出手段と、
    量子化される画素を含む量子化ラインに含まれる画素の量子化誤差が配分される画素を含む複数の誤差拡散ライン毎に設けられるライン蓄積誤差算出手段であって、
    前記量子化誤差算出手段で算出された量子化誤差と、前記量子化誤差を他の画素に配分する割合を分数で表した拡散係数の各分子の値とをそれぞれ乗算する乗算手段
    前記乗算手段の乗算結果を加算する第2の加算手段と、
    前記第2の加算手段の加算結果を、誤差拡散ラインの各画素毎に格納する演算結果格納手段と、
    誤差拡散ラインに含まれる各画素についての前記第2の加算手段の加算結果を前記拡散係数の分母の値によってそれぞれ除算する除算手段とを備え
    前記第2加算手段は、前記乗算手段の乗算結果を、前記演算結果格納手段に格納された各画素毎の乗算結果にそれぞれ加算し、
    前記除算手段が、除算結果をライン蓄積誤差として算出する、ライン蓄積誤差算出手段と、
    に量子化する画素に対して、前記誤差拡散ライン毎のライン蓄積誤差算出手段が算出した各ライン蓄積誤差を加算する第3の加算手段とを含み、
    前記第3の加算手段が加算した加算結果を前記次に量子化する画素に配分する蓄積誤差とすることを特徴とする画像処理装置。
  2. 第1〜第3番目のラインを有し、画素の量子化誤差を配分する画素の相対位置と、拡散係数とを示す拡散係数マトリクスの、第3番目のラインに対応する第3ラインの蓄積誤差算出手段は、前記除算手段が除算した除算結果を格納する第3ラインの誤差格納手段を含み、その第3ラインの誤差格納手段に格納された除算結果をライン蓄積誤差として算出し、
    第2番目のラインに対応する第2ラインの蓄積誤差算出手段は、誤差拡散ラインの除算手段が除算した除算結果と、前記第3ラインの蓄積誤差算出手段が算出したライン蓄積誤差とを加算する第4の加算手段、およびその第4の加算手段によって加算された加算結果を格納する第2ラインの誤差格納手段を含み、その第2ラインの誤差格納手段に格納された加算結果をライン蓄積誤差として算出し、
    前記第3の加算手段は、前記誤差拡散ライン毎のライン蓄積誤差算出手段によって算出された各ライン蓄積誤差に替えて、前記第1ラインおよびその第2ラインのライン蓄積誤差算出手段によって算出された各ライン蓄積誤差を加算することを特徴とする請求項1記載の画像処理装置。
  3. 請求項1または2に記載の画像処理装置と、
    前記画像処理装置で量子化された出力画像を出力する画像出力装置とを含んで構成されることを特徴とする画像形成装置。
  4. 複数の画素を含むラインを複数含む入力画像に対して、その入力画像の画素の濃度を示す画素値を量子化する際に生じた量子化誤差を他の画素に配分した蓄積誤差のうちで、量子化する画素に配分された蓄積誤差を、前記量子化する画素の画素値に加算する第1の加算工程と、
    前記第1の加算工程で蓄積誤差が加算された画素値を量子化することによって出力画像の画素の量子化値を生成する量子化処理工程と、
    前記第1の加算工程で蓄積誤差が加算された画素値と、前記量子化処理工程で生成された量子化値との差を量子化誤差として算出する量子化誤差算出工程と、
    量子化される画素を含む量子化ラインに含まれる画素の量子化誤差が配分される画素を含む複数の誤差拡散ライン毎に行われるライン蓄積誤差算出工程であって、
    前記量子化誤差算出工程で算出された量子化誤差と、その量子化誤差を他の画素に配分する割合を分数で表した拡散係数の各分子の値とをそれぞれ乗算する乗算工程と、
    前記乗算手段の乗算結果を加算する第2の加算工程と、
    前記第2の加算手段の加算結果を、誤差拡散ラインの各画素毎に格納する演算結果格納工程と、
    誤差拡散ラインに含まれる各画素についての前記第2の加算手段の加算結果を前記拡散係数の分母の値によってそれぞれ除算する除算工程とを備え、
    前記第2加算工程では、前記乗算工程の乗算結果を、前記演算結果格納工程で格納された各画素毎の乗算結果にそれぞれ加算し、
    前記除算工程での除算結果をライン蓄積誤差として算出する、ライン蓄積誤差算出工程と、
    次に量子化する画素に対して、前記ライン蓄積誤差算出工程で算出された誤差拡散ライン毎のライン蓄積誤差を加算する第3の加算工程とを含み、
    前記第3の加算工程で加算された加算結果を、前記次に量子化する画素に配分する蓄積誤差とすることを特徴とする画像処理方法。
  5. 第1〜第3番目のラインを有し、画素の量子化誤差を配分する画素の相対位置と、拡散係数とを示す拡散係数マトリクスの、第3番目のラインに対応する第3ラインの蓄積誤差算出工程は、前記除算工程によって除算した除算結果を格納する第3ラインの誤差格納工程を含み、その第3ラインの誤差格納工程に格納された除算結果をライン蓄積誤差として算出し、
    第2番目のラインに対応する第2ラインの蓄積誤差算出工程は、誤差拡散ラインの除算工程によって除算した除算結果と、前記第3ラインの蓄積誤差算出工程で算出したライン蓄積誤差とを加算する第4の加算工程、およびその第4の加算工程によって加算された加算結果を格納する第2ラインの誤差格納工程を含み、その第2ラインの誤差格納工程で格納された加算結果をライン蓄積誤差として算出し、
    前記第3の加算工程は、前記誤差拡散ライン毎のライン蓄積誤差算出工程によって算出された各ライン蓄積誤差に替えて、前記第1ラインおよびその第2ラインのライン蓄積誤差算出工程によって算出された各ライン蓄積誤差を加算することを特徴とする請求項4記載の画像処理方法。
  6. コンピュータを請求項1または2に記載の画像処理装置として機能させるためのプログラム。
  7. 請求項6に記載のプログラムを記録したコンピュータ読取り可能な記録媒体。
JP2005028176A 2004-05-18 2005-02-03 画像処理装置、画像形成装置、画像処理方法、プログラム、および記録媒体 Expired - Fee Related JP4105704B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005028176A JP4105704B2 (ja) 2004-05-18 2005-02-03 画像処理装置、画像形成装置、画像処理方法、プログラム、および記録媒体
US11/130,179 US20050259884A1 (en) 2004-05-18 2005-05-17 Image processing apparatus, image forming apparatus, image processing method, program, and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004148141 2004-05-18
JP2005028176A JP4105704B2 (ja) 2004-05-18 2005-02-03 画像処理装置、画像形成装置、画像処理方法、プログラム、および記録媒体

Publications (2)

Publication Number Publication Date
JP2006005901A JP2006005901A (ja) 2006-01-05
JP4105704B2 true JP4105704B2 (ja) 2008-06-25

Family

ID=35375215

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005028176A Expired - Fee Related JP4105704B2 (ja) 2004-05-18 2005-02-03 画像処理装置、画像形成装置、画像処理方法、プログラム、および記録媒体

Country Status (2)

Country Link
US (1) US20050259884A1 (ja)
JP (1) JP4105704B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7826096B2 (en) * 2005-09-16 2010-11-02 Fujifilm Corporation Image processing method and image recording apparatus
TWI317106B (en) * 2006-08-04 2009-11-11 Primax Electronics Ltd Image processing method and device
US8248660B2 (en) * 2007-12-14 2012-08-21 Qualcomm Incorporated Efficient diffusion dithering using dyadic rationals
JP4506847B2 (ja) * 2008-02-08 2010-07-21 ソニー株式会社 階調変調装置、画像処理装置、画像処理方法およびプログラム
JP4906784B2 (ja) * 2008-05-27 2012-03-28 シャープ株式会社 誤差拡散処理装置及び誤差拡散処理方法
US8320694B2 (en) * 2009-03-27 2012-11-27 Sharp Laboratories Of America, Inc. Surround error diffusion
US8274705B2 (en) * 2009-03-27 2012-09-25 Sharp Laboratories Of America, Inc. Multi-level surround error diffusion
US8274702B2 (en) * 2009-06-18 2012-09-25 Kabushiki Kaisha Toshiba System and method for color space conversion of color space values which lie outside of a traditional color space boundary
JP5428696B2 (ja) * 2009-09-16 2014-02-26 セイコーエプソン株式会社 印刷装置、印刷用データ生成装置、印刷方法及びそのプログラム
US8428381B2 (en) * 2010-06-04 2013-04-23 Altek Corporation Image compression method with variable quantization parameter
JP5797030B2 (ja) * 2010-08-25 2015-10-21 キヤノン株式会社 画像処理装置およびその方法
US20120109993A1 (en) * 2010-10-28 2012-05-03 Qualcomm Incorporated Performing Visual Search in a Network
US9036925B2 (en) 2011-04-14 2015-05-19 Qualcomm Incorporated Robust feature matching for visual search
US8706711B2 (en) 2011-06-22 2014-04-22 Qualcomm Incorporated Descriptor storage and searches of k-dimensional trees
JP6759938B2 (ja) * 2016-09-29 2020-09-23 セイコーエプソン株式会社 画像処理装置、画像処理方法、およびコンピュータープログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0507356B1 (en) * 1986-12-19 1997-02-26 Matsushita Electric Industrial Co., Ltd. Bi-level image display signal processing apparatus
US6118547A (en) * 1996-07-17 2000-09-12 Canon Kabushiki Kaisha Image processing method and apparatus
JPH11339016A (ja) * 1998-05-28 1999-12-10 Canon Inc 画像処理装置及び画像処理方法並びにメモリ媒体
JP3995868B2 (ja) * 2000-06-12 2007-10-24 シャープ株式会社 誤差拡散演算装置
JP3661624B2 (ja) * 2000-10-06 2005-06-15 セイコーエプソン株式会社 画像処理装置
US7161896B1 (en) * 2002-08-12 2007-01-09 Cisco Systems Wireless Networking (Australia) Pty Limited Channel estimation in a multicarrier radio receiver

Also Published As

Publication number Publication date
US20050259884A1 (en) 2005-11-24
JP2006005901A (ja) 2006-01-05

Similar Documents

Publication Publication Date Title
JP4105704B2 (ja) 画像処理装置、画像形成装置、画像処理方法、プログラム、および記録媒体
US8259357B2 (en) Image processing apparatus, image forming apparatus, image processing method, and computer readable recording medium
US6118547A (en) Image processing method and apparatus
JP4732488B2 (ja) 画像処理装置、画像形成装置、画像読取装置、画像処理方法、画像処理プログラムおよびコンピュータ読み取り可能な記録媒体
CN100355268C (zh) 图像处理装置、图像形成装置及图像处理方法
JP5887809B2 (ja) 画像処理装置及びプログラム
US6356361B1 (en) Image processing apparatus and method for processing gradation image data using error diffusion
JP2002262089A (ja) ハーフトーン処理装置及びハーフトーン処理方法
JP4139752B2 (ja) 画像処理装置、画像形成装置、画像処理方法、画像処理プログラム、および該プログラムを記録した記録媒体
JP4266004B2 (ja) 画像処理方法、画像処理装置、画像形成装置、画像処理プログラムおよび画像処理プログラムを記録した記録媒体
JP4006687B2 (ja) 画像処理装置
JP4499685B2 (ja) 画像処理装置およびそれを備える画像形成装置、画像処理方法、画像処理プログラムならびに記録媒体
JPH06121160A (ja) 色補正回路
JP2001320593A (ja) 画像処理装置およびそれを備えた画像形成装置ならびに画像処理方法
JP5181722B2 (ja) 画像処理方法、画像処理装置及び画像処理プログラム
JP4208771B2 (ja) 画像処理方法、画像処理装置、画像形成装置、コンピュータプログラム、及び記録媒体
JP2744437B2 (ja) 色変換装置
JP4560357B2 (ja) 画像処理方法および画像処理装置並びにそれを備えた画像形成装置、プログラム、記録媒体
JPH11272861A (ja) 画像処理装置
JP2008092323A (ja) 画像処理装置、並びにこれを備えた画像読取装置及び画像形成装置
JPH10271336A (ja) カラー画像処理装置
JPH0668250A (ja) 画像処理装置
JP4322639B2 (ja) カラー画素データ変換装置、カラー画素データ変換プログラム、カラー画素データ変換プログラムを記録したコンピュータ読み取り可能な記録媒体、及びデータ変換方法
JP4270510B2 (ja) データ変換方法,装置,画像読み取り装置および画像形成装置
JP2001157072A (ja) 画像処理方法及び画像処理装置並びにそれを備えた画像形成装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070717

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070913

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: 20080325

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080327

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: 20110404

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120404

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120404

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130404

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees