(57)【要約】【課題】  画質の劣化を抑えつつ、中間調処理の高速化を実現する。【解決手段】  画像処理装置は、注目画素Ｐにおける入力画像データと出力画像データとの間で生じる誤差を周辺画素に分配するものである。量子化処理部３０は、入力画像データを所定の閾値で量子化し、量子化により生じる誤差を算出する。拡散誤差演算部３１は、誤差が各周辺画素に分配される拡散誤差を算出する。拡散誤差演算部３１は、次に注目画素Ｐとなる周辺画素Ａに分配される拡散誤差を簡易に算出する簡易演算部４０を備える。【選択図】  図１
2005072984.tif 000002
【特許請求の範囲】
【請求項１】
注目画素における入力濃度と出力濃度との間で生じる誤差を周辺画素に分配する画像処理装置において、
上記入力濃度を所定の閾値で量子化して上記出力濃度とする量子化手段と、
上記量子化により生じる誤差を算出する誤差算出手段と、
上記誤差が各周辺画素に分配される拡散誤差を算出する拡散誤差算出手段とを備えており、
該拡散誤差算出手段は、次に注目画素となる周辺画素に分配される拡散誤差を簡易に算出する簡易算出手段を備えることを特徴とする画像処理装置。
【請求項２】
上記拡散誤差算出手段は、上記誤差に対し、各周辺画素に割り当てられた拡散係数を乗算し、かつ上記拡散係数の総和で除算する演算手段と、演算手段により算出された算出値に対して小数部分を丸める小数処理手段とを備えており、
上記簡易算出手段は、上記演算手段の演算を、上記誤差に対し除算と加算との組合せで行うことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
上記拡散誤差算出手段は、上記誤差に対し、各周辺画素に割り当てられた拡散係数を乗算し、かつ上記拡散係数の総和で除算する演算手段と、演算手段の演算値に対して小数部分を丸める小数処理手段とを備えており、
上記簡易算出手段は、上記小数処理手段の丸め処理を、小数部分を切り捨てる処理により行うことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
注目画素における入力濃度と出力濃度との間で生じる誤差を周辺画素に分配する画像処理装置において、
上記入力濃度を所定の閾値で量子化して上記出力濃度とする量子化手段と、
上記量子化により生じる誤差を算出する誤差算出手段と、
上記誤差が各周辺画素に分配される拡散誤差を算出する拡散誤差算出手段とを備えており、
上記拡散誤差算出手段は、算出された拡散誤差の小数部分を、該拡散誤差の絶対値が小さくなる方に丸める小数処理手段を備えることを特徴とする画像処理装置。
【請求項５】
請求項１ないし４の何れか１項に記載の画像処理装置を一体に備えることを特徴とする画像形成装置。
【請求項６】
注目画素における入力濃度と出力濃度との間で生じる誤差を周辺画素に分配する画像処理装置における画像処理方法において、
上記入力濃度を所定の閾値で量子化して上記出力濃度とする量子化工程と、
上記量子化工程により生じる誤差を算出する誤差算出工程と、
上記誤差が各周辺画素に分配される拡散誤差を算出する拡散誤差算出工程とを含んでおり、
該拡散誤差算出工程は、次に注目画素となる周辺画素に分配される拡散誤差を簡易に算出する簡易算出工程を含むことを特徴とする画像処理方法。
【請求項７】
注目画素における入力濃度と出力濃度との間で生じる誤差を周辺画素に分配する画像処理装置における画像処理方法において、
上記入力濃度を所定の閾値で量子化して上記出力濃度とする量子化工程と、
上記量子化により生じる誤差を算出する誤差算出工程と、
上記誤差が各周辺画素に分配される拡散誤差を算出する拡散誤差算出工程とを含んでおり、
上記拡散誤差算出工程は、算出された拡散誤差の小数部分を、該拡散誤差の絶対値が小さくなる方に丸める小数処理工程を含むことを特徴とする画像処理方法。
【請求項８】
請求項１ないし４の何れか１項に記載の画像処理装置を動作させるための画像処理プログラムであって、コンピュータを上記画像処理装置の各手段として機能させるための画像処理プログラム。
【請求項９】
請求項８に記載の画像処理プログラムが記録されたコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、注目画素における入力濃度と出力濃度との間で生じる誤差を周辺画素に分配する画像処理装置、画像形成装置、画像処理方法、画像処理プログラム、および該プログラムを記録した記録媒体に関するものである。具体的には、本発明は、画素ごとに入力される画像データに対し誤差拡散法に基づいて中間調処理を施す画像処理装置などに関するものである。
【背景技術】
【０００２】
従来、スキャナなどの画像読取装置で読み込まれた画像データや、コンピュータでアプリケーションソフトウェアを用いて作成された画像データなどを、プリンタなどの画像出力装置を用いて画像出力することが行われている。このとき、画像出力装置の階調表現能力が画像データの階調表現能力を下回っている場合には、良好な階調を再現するために中間調処理と呼ばれる画像処理を画像データに対して施してから画像出力を行っている。
【０００３】
このような中間調処理では、一般にディザ法および誤差拡散法の２種類の方法が主に利用されている。このうち誤差拡散法は、解像度が高く階調再現性に優れるという点から、現在インクジェットプリンタなどで利用されている。誤差拡散法は、或る注目画素に関して、注目画素の濃度を所定の閾値と比較して量子化値を求める量子化を行い、量子化値に対して量子化前の濃度の差分を誤差として求め、求めた誤差を、注目画素の周辺に位置する量子化前の画素の濃度に拡散することにより階調数を削減し、かつ画像全体としての濃度階調を維持するものである。
【０００４】
ここで、座標（ｘ，ｙ）で表される注目画素の誤差Ｅx,yを、注目画素から相対座標（ｉ，ｊ）だけ離間した周辺画素に拡散する拡散誤差ｅx+i,y+jは、拡散係数をａi,jとすると、
ｅx+i,y+j＝（ａi,j／Σａi,j）×Ｅx,y
で表される。
【０００５】
従来、拡散誤差に小数を含む場合には、ハードウエアの簡略化またはソフトウエア処理の高速化の目的で小数部分の数値を切り捨てていた。この場合、各周辺画素の拡散誤差ｅx+i,y+jの合計値が注目画素の誤差Ｅx,yから大きくずれることにより、画質が劣化する虞がある。
【０００６】
この問題点に対して、下記特許文献１に記載の画像処理方法では、注目画素の誤差を重みマトリクスの各係数（拡散係数）の総和で除算すると共に、その商の整数部には前記重みマトリクスの各係数倍をして対応する周囲画素に分配し、かつその剰余は所定の配分順位に従って対応する周辺画素に分配している。
【０００７】
この画像処理方法によると、小数部分の演算が不要であるのでソフトウエア処理でも高速に実行でき、またハードウエア構造を簡単にすることができる。また、小数部分の数値に対応する剰余を所定の配分順位に従って対応する周辺画素に分配しているので、画質の劣化を防止することができる。
【特許文献１】特開平２−９７１６９号公報（１９９０年４月９日公開）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
例えばデジタル複写機などの画像形成装置の処理能力を向上させるため、画質を劣化させることなく上記中間調処理を高速に行うことが要求されている。
【０００９】
注目画素と同じラインの画素の処理は、パイプライン化ができないため、１クロックにて処理する必要がある。特に、注目画素の右隣の画素については、非常に処理が重く、かつパイプライン化ができないため、高速化を図る時のボトルネックになる。
【００１０】
これに対し、注目画素と異なるラインの処理は、パイプライン化が可能であるので、パイプラインを深めれば（パイプラインの段数を増やせば）、容易に高速化が可能である。したがって、上記ボトルネックを解消することが求められている。
【００１１】
また、上記特許文献１では、剰余が分配される周辺画素に注目画素の右隣の画素も含まれるため、注目画素の右隣の画素は、通常よりも更に処理が重くなり、処理速度が低下することになる。
【００１２】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、画質の劣化を抑えつつ、中間調処理を高速に行うことができる画像処理装置などを提供することにある。
【課題を解決するための手段】
【００１３】
上記課題を解決するため、本発明に係る画像処理装置は、注目画素における入力濃度と出力濃度との間で生じる誤差を周辺画素に分配する画像処理装置において、上記入力濃度を所定の閾値で量子化して上記出力濃度とする量子化手段と、上記量子化により生じる誤差を算出する誤差算出手段と、上記誤差が各周辺画素に分配される拡散誤差を算出する拡散誤差算出手段とを備えており、該拡散誤差算出手段は、次に注目画素となる周辺画素に分配される拡散誤差を簡易に算出する簡易算出手段を備えることを特徴としている。
【００１４】
さらに、本発明に係る画像処理装置は、上記の構成において、上記拡散誤差算出手段は、上記誤差に対し、各周辺画素に割り当てられた拡散係数を乗算し、かつ上記拡散係数の総和で除算する演算手段と、演算手段の演算値に対して小数部分を丸める小数処理手段とを備えており、上記簡易算出手段は、上記演算手段の演算を、除算と加算との組合せで行うことを特徴としている。
【００１５】
さらに、本発明に係る画像処理装置は、上記の構成において、上記拡散誤差算出手段は、上記誤差に対し、各周辺画素に割り当てられた拡散係数を乗算し、かつ上記拡散係数の総和で除算する演算手段と、演算手段の演算値に対して小数部分を丸める小数処理手段とを備えており、上記簡易算出手段は、上記小数処理手段の丸め処理を、小数部分を切り捨てる処理により行うことを特徴としている。
【００１６】
また、本発明に係る画像処理装置は、注目画素における入力濃度と出力濃度との間で生じる誤差を周辺画素に分配する画像処理装置において、上記入力濃度を所定の閾値で量子化して上記出力濃度とする量子化手段と、上記量子化により生じる誤差を算出する誤差算出手段と、上記誤差が各周辺画素に分配される拡散誤差を算出する拡散誤差算出手段とを備えており、上記拡散誤差算出手段は、算出された拡散誤差の小数部分を、該拡散誤差の絶対値が小さくなる方に丸める小数処理手段を備えることを特徴としている。
【００１７】
また、本発明に係る画像形成装置は、上記構成の画像処理装置を一体に備えることを特徴とする
また、本発明に係る画像処理方法は、注目画素における入力濃度と出力濃度との間で生じる誤差を周辺画素に分配する画像処理装置における画像処理方法において、上記入力濃度を所定の閾値で量子化して上記出力濃度とする量子化工程と、上記量子化工程により生じる誤差を算出する誤差算出工程と、上記誤差が各周辺画素に分配される拡散誤差を算出する拡散誤差算出工程とを含んでおり、該拡散誤差算出工程は、次に注目画素となる周辺画素に分配される拡散誤差を簡易に算出する簡易算出工程を含むことを特徴としている。
【００１８】
また、本発明に係る画像処理方法は、注目画素における入力濃度と出力濃度との間で生じる誤差を周辺画素に分配する画像処理装置における画像処理方法において、上記入力濃度を所定の閾値で量子化して上記出力濃度とする量子化工程と、上記量子化により生じる誤差を算出する誤差算出工程と、上記誤差が各周辺画素に分配される拡散誤差を算出する拡散誤差算出工程とを含んでおり、上記拡散誤差算出工程は、算出された拡散誤差の小数部分を、該拡散誤差の絶対値が小さくなる方に丸める小数処理工程を含むことを特徴としている。
【００１９】
また、本発明に係る画像処理プログラムは、上記構成の画像処理装置を動作させるための画像処理プログラムであって、コンピュータを上記画像処理装置の各手段として機能させるものである。
【００２０】
また、本発明に係る記録媒体は、上記画像処理プログラムが記録されたコンピュータ読取り可能な記録媒体である。
【発明の効果】
【００２１】
本発明に係る画像処理装置は、以上のように、拡散誤差算出手段が、次に注目画素となる周辺画素、すなわち、注目画素の右隣の画素に分配される拡散誤差を簡易に算出する簡易算出手段を備える構成である。ここで、簡易に算出するとは、上記誤差に対し、各周辺画素に割り当てられた拡散係数を乗算し、かつ上記拡散係数の総和で除算する通常の演算よりも簡易な演算で算出することをいう。これにより、非常に処理が重く、しかもパイプライン化できない右隣の画素の処理を軽くして高速動作を可能にし、中間調処理を高速に実行できる効果を奏する。
【００２２】
なお、上記簡易算出手段としては、上記誤差に対し、各周辺画素に割り当てられた拡散係数を乗算し、かつ上記拡散係数の総和で除算する演算を、上記誤差に対し除算と加算との組合せで行う構成が挙げられる。この場合、利用できる拡散係数が制限されるけれども、演算に必要な桁数の増加が抑えられるので、回路を簡略化でき、演算処理を迅速に行うことができる効果を奏する。
【００２３】
また、上記簡易算出手段としては、演算により算出された算出値に対して小数部分を丸める丸め処理を、小数部分を切り捨てる処理により行う構成が挙げられる。この場合、単純な丸め処理のみを行うので、次に注目画素となる周辺画素における処理の負荷が増大することを防止する効果を奏する。また、次に注目画素となる周辺画素において単純な丸め処理を行っても、他の周辺画素において適切な丸め処理を行うことにより、各周辺画素の拡散誤差の合計値が注目画素の誤差から大きくずれることを防止でき、画質の劣化を防止する効果を奏する。
【００２４】
また、本発明に係る画像処理装置は、以上のように、上記拡散誤差算出手段が、算出された拡散誤差の小数部分を、該拡散誤差の絶対値が小さくなる方に丸める小数処理手段を備える構成である。これにより、丸め処理前後での拡散誤差のずれを小さくすることができるので、拡散誤差が蓄積されることによりずれが大きくなることを抑えることができ、画質の劣化を抑えることができる効果を奏する。
【００２５】
また、上記構成の画像処理装置を一体に備える画像形成装置であっても、上述の作用効果を奏することができる。
【００２６】
また、本発明に係る画像処理方法は、以上のように、拡散誤差算出工程が、次に注目画素となる周辺画素、すなわち、注目画素の右隣の画素に分配される拡散誤差を簡易に算出する簡易算出工程を含んでいる。これにより、非常に処理が重く、しかもパイプライン化できない右隣の画素の処理を軽くして高速動作を可能にし、中間調処理を高速に実行できる効果を奏する。
【００２７】
また、本発明に係る画像処理方法は、以上のように、拡散誤差算出工程が、算出された拡散誤差の小数部分を、該拡散誤差の絶対値が小さくなる方に丸める小数処理工程を含んでいる。これにより、丸め処理前後での拡散誤差のずれを小さくすることができるので、拡散誤差が蓄積されることによりずれが大きくなることを抑えることができ、画質の劣化を抑えることができる効果を奏する。
【００２８】
なお、上記画像処理装置における各手段を、画像処理プログラムによりコンピュータ上で実行させることができる。さらに、上記画像処理プログラムをコンピュータ読取り可能な記録媒体に記憶させることにより、任意のコンピュータ上で上記画像処理プログラムを実行させることができる。
【発明を実施するための最良の形態】
【００２９】
〔実施の形態１〕
本発明の一実施形態について図１ないし図１２に基づいて説明すれば以下の通りである。図２は、本実施形態のデジタルカラー複写機（画像形成装置）の概略構成を示している。図示のように、デジタルカラー複写機１０は、画像入力装置１１、画像処理装置１２、画像出力装置１３、および操作パネル１４を備える構成である。
【００３０】
画像入力装置１１は、例えばＣＣＤ（Charge Coupled Device）を備えたスキャナ部を備える構成である。画像入力装置１１は、原稿からの反射光像をＣＣＤにて読み取って、ＲＧＢ（Ｒ：赤・Ｇ：緑・Ｂ：青）のアナログ信号を生成し、生成したＲＧＢアナログ信号を画像処理装置１２に出力する。
【００３１】
画像処理装置１２は、ＡＳＩＣ（Application Specific Integrated Circuit）で構成されており、画像入力装置１１から受け取ったＲＧＢアナログ信号に対して画像処理を行って、ＣＭＹＫ画像データを生成し、画像出力装置１３に出力する。画像出力装置１３は、画像処理装置１２から１ページ分のＣＭＹＫ画像データを受け取り、該データに基づいて記録紙に画像を出力する。
【００３２】
操作パネル１４は、図示しないが、ユーザとのインタフェースを行うための液晶表示装置や動作指示用のボタン類から構成され、各装置１１〜１３との通信により、各装置１１〜１３に動作を指示したり、各装置１１の動作状態を液晶表示装置に表示したりする。
【００３３】
次に、本実施形態における画像処理装置１２のさらに詳しい構成および機能について説明する。図２に示すように、画像処理装置１２は、Ａ／Ｄ（アナログ／デジタル）変換部２０、シェーディング補正部２１、入力階調補正部２２、領域分離処理部２３、色補正部２４、黒生成下色除去部２５、空間フィルタ処理部２６、出力階調補正部２７、階調再現処理部（中間調生成部）２８、および制御部２９を備える構成である。
【００３４】
Ａ／Ｄ変換部２０は、画像入力装置１１から受け取ったＲＧＢアナログ信号をＡ／Ｄ変換することによりデジタル形式のＲＧＢ画像データを生成する。シェーディング補正部２１は、Ａ／Ｄ変換部２０から受け取ったＲＧＢ画像データに対して、画像入力装置１１の照明系、結像系、および撮像系で生じる各種の歪みを取り除く処理を施す。入力階調補正部２２は、シェーディング補正部２１にて各種の歪みが取り除かれたＲＧＢ画像データ（ＲＧＢの反射率データ）に対して、カラーバランスを整えると同時に、例えば濃度データのように、後の画像処理で扱い易い画像データに変換する。
【００３５】
領域分離処理部２３は、入力階調補正部２２から受け取った画像データに対して、入力画像中の各画素を文字領域、網点領域、および写真領域の何れかに分離するものである。領域分離処理部２３は、分離結果に基づき、画素が何れの領域に属しているかを示す領域識別信号を、黒生成下色除去部２５および空間フィルタ処理部２６へ出力するとともに、入力階調補正部２２から受け取った画像データをそのまま後段の色補正部２４に出力する。なお、領域分離処理部２３は、上記領域識別信号を階調再現処理部２８に出力しても良い。
【００３６】
色補正部２４は、ＲＧＢ画像データをＣＭＹ（Ｃ：シアン・Ｍ：マゼンタ・Ｙ：イエロー）画像データに変換するとともに、忠実な色再現を実現するために、不要吸収成分を含むＣＭＹ色材の分光特性に基づいた色濁りを取り除く処理を施す。黒生成下色除去部２５は、色補正部２４から受け取ったＣＭＹ画像データからＫ（黒）画像データを生成するとともに、生成されたＫ画像データを元のＣＭＹ画像データから差し引いて新たなＣＭＹ画像データを生成する。これによりＣＭＹの３色画像データはＣＭＹＫの４色画像データに変換される。
【００３７】
空間フィルタ処理部２６は、黒生成下色除去部２５から受け取ったＣＭＹＫ画像データに対して、領域分離処理部２３から受け取った領域識別信号に基づいて、デジタルフィルタによる空間フィルタ処理を行い、空間周波数特性を補正する。これにより、出力画像のぼやけや粒状性劣化を防止する。例えば、領域分離処理部２３にて分離された文字領域に対しては、特に黒文字或いは色文字の再現性を高めるために、鮮鋭強調処理で高周波数の強調量が大きくされる。また、領域分離処理部２３にて分離された網点領域に対しては、入力網点成分を除去するためのローパス・フィルタ処理が施される。
【００３８】
出力階調補正部２７は、濃度データなどのデータを画像出力装置１３の特性値である網点面積率に変換する出力階調補正処理を行う。
【００３９】
階調再現処理部２８は、最終的に画像を画素ごとに分離してそれぞれの階調を再現できるように処理する階調再現処理（中間調生成処理）を行う。階調再現処理としては、２値や多値のディザ法・誤差拡散法等を用いることができるが、本願では誤差拡散法を利用する。なお、階調再現処理部２８の詳細は後述する。
【００４０】
以上の処理が施されたＣＭＹＫ画像データは、一旦記憶手段（図示せず）に記憶され、所定のタイミングで読み出されて画像出力装置１３に出力される。この画像出力装置１３は、画像データを紙などの記録媒体上に出力するものであり、例えば、電子写真方式やインクジェット方式を用いたカラー画像出力装置等を挙げることができるが特に限定されるものではない。
【００４１】
制御部２９は、一般的なＣＰＵ（Central Processing Unit）で構成され、画像処理装置１２における各部２０〜２８を制御することにより、一連の画像処理を実施させる。
【００４２】
次に、本実施形態における階調再現処理部２８にて行われる階調再現処理について詳細に説明する。本実施形態にて利用される誤差拡散法は、上述のように、或る注目画素に関して、注目画素の入力画像データを所定の閾値と比較して量子化値を求める量子化を行い、量子化値に対して入力画像データの差分を誤差として求め、求めた誤差を、注目画素の周辺に位置する量子化前の画素の入力画像データに拡散することにより階調数を削減し、かつ画像全体としての濃度階調を維持するものである。
【００４３】
ここで、座標（ｘ，ｙ）で表される注目画素の誤差Ｅx,yを、注目画素から相対座標（ｉ，ｊ）だけ離間した周辺画素に拡散する拡散誤差ｅx+i,y+jは、拡散係数をａi,jとすると、
ｅx+i,y+j＝（ａi,j／Σａi,j）×Ｅx,y
で表される。
【００４４】
拡散誤差が分配される周辺画素は、画像データに対して量子化処理が未だ行われていない画素である。一般に、１画面分の画像データの送出は、左上の画素を開始点として、同一ライン右方向の画素の画像データが順次送られ、これを下方向のラインに関して繰り返すことにより行われる。このため、拡散誤差が分配される周辺画素は、注目画素の同一ライン右方向の全画素と、注目画素より下のラインの全画素との中から選択することができる。
【００４５】
図３は、本実施形態にて利用される注目画素とその周辺画素との関係を示している。図示のように、本実施形態では、或る注目画素Ｐに対して右隣・左下・真下・右下に位置する画素、すなわち或る注目画素Ｐに対して相対座標（０，１）・（−１，１）・（０，１）・（１，１）に位置する画素を選択して周辺画素Ａ・Ｂ・Ｃ・Ｄとしている。
【００４６】
各周辺画素の拡散係数ａi,jは、予め定められており、後述の拡散係数格納部３２に格納されている。なお、各周辺画素の拡散係数ａi,jを要素とする拡散マトリクスを、予め定められた複数組（例えば４組）用意しておき、注目画素ごとにランダムに１組を選択することが望ましい。この場合、同じような濃度が続く領域に対して、モアレ縞のような元の画像にはない模様が生じることを防止できる。
【００４７】
図１は、階調再現処理部２８の概略構成を示している。階調再現処理部２８は、量子化処理部（量子化手段、誤差算出手段）３０、拡散誤差演算部（拡散誤差算出手段）３１、拡散係数格納部３２、および拡散誤差格納部３３を備える構成である。
【００４８】
量子化処理部３０は、注目画素（ｘ，ｙ）の入力画像データ（入力濃度）に対し、蓄積された拡散誤差Σｅx,yを拡散誤差格納部３３から取得して加算し、加算された画像データを所定の閾値と比較して量子化する。例えば、閾値を１２８として、０〜２５５の値を有する入力画像データを「０」または「２５５」に２値化する。なお、複数の閾値を用いて３値以上に量子化することもできる。量子化された画像データは、出力画像データ（出力濃度）として画像出力装置１３に出力される。また、量子化処理部３０は、量子化された画像データから、加算された画像データを減算した差を誤差として算出する。算出された誤差は、拡散誤差演算部３１における各周辺画素Ａ〜Ｄの演算部に送られる。
【００４９】
拡散誤差演算部３１は、上述のように、量子化処理部３０にて算出された誤差に基づいて、周辺画素Ａ〜Ｄに分配される拡散誤差を算出する。なお、拡散誤差演算部３１の詳細については後述する。拡散係数格納部３２には、上述のように、各周辺画素Ａ〜Ｄの拡散係数ａi,jを含む拡散マトリックスが複数組格納されている。
【００５０】
拡散誤差格納部３３は、各画素に関して、該当する画像データの量子化処理が行われるまで、拡散誤差を蓄積しかつ保持している。すなわち、注目画素Ｐから周辺画素Ａ〜Ｄに分配された拡散誤差は、拡散誤差格納部３３に保持されている拡散誤差に加算されて保持されることになる。
【００５１】
実際の回路上では、画素ごとに蓄積される拡散誤差は、画素が周辺画素Ａ〜Ｄに該当しない場合には、ＦＩＦＯ（先入れ先出し）型メモリに保持される一方、画素が周辺画素Ａ〜Ｄに該当する場合には、注目画素Ｐから分配された拡散誤差が加算器にて加算されて、ラッチにて保持されることになる。
【００５２】
次に、拡散誤差演算部３１の詳細な構成を説明する。拡散誤差演算部３１は、周辺画素Ａに関して簡易演算部（簡易算出手段、演算手段、小数処理手段）４０を備え、他の周辺画素Ｂ〜Ｄのそれぞれに関して通常演算部（演算手段）４１、符号判定部４２、ビット判定部４３、および補正部（小数処理手段）４４を備える構成である。
【００５３】
簡易演算部４０および通常演算部４１は、注目画素Ｐから誤差Ｅx,yを受け取り、拡散係数格納部３２から周辺画素に対応する拡散係数を受け取って、上述の式の演算を行って拡散誤差を算出する。例えば、図６（ａ）に示すように、周辺画素Ａ〜Ｄに対応する拡散係数ａi,jを全て１とした場合、次式の演算を行って拡散誤差を算出する。
【００５４】
ｅx+i,y+j＝（１／４）×Ｅx,y  …（１）
なお、算出された拡散誤差の小数部分は、周辺画素Ａに関しては簡易演算部４０にて切り捨てられ、周辺画素Ｂ〜Ｄに関しては後述のように補正部４４にて丸められる。
【００５５】
本実施形態では、次に注目画素Ｐとなる周辺画素、すなわち周辺画素Ａにおける拡散誤差の算出を簡易な演算で行っている。これにより、周辺画素Ａにおける拡散誤差の算出時間が短くなり、次の注目画素Ｐにおける量子化処理を実行するまでの時間が短くなる。したがって、中間調処理を高速に行うことができる。
【００５６】
例えば、図６（ｂ）に示されるような拡散マトリクスの場合、通常演算では、次式の演算を行って拡散誤差を算出する。
【００５７】
画素Ａ：ｅx,y+1＝（５／１６）×Ｅx,y
画素Ｂ：ｅx+1,y-1＝（３／１６）×Ｅx,y
画素Ｃ：ｅx+1,y＝（５／１６）×Ｅx,y
画素Ｄ：ｅx+1,y+1＝（３／１６）×Ｅx,y
これに対し、簡易演算では、乗算を行う代わりに加算または減算を行うことにより拡散誤差を算出している。具体的には、簡易演算が行われる周辺画素Ａは、５／１６＝（１／１６）＋（１／４）となることから、次式の演算を行って拡散誤差を算出する。
【００５８】
画素Ａ：ｅx,y+1＝｛（１／１６）＋（１／４）｝×Ｅx,y
一般に、ｍ桁とｎ桁との乗算を行う場合、積として（ｍ＋ｎ）桁を準備する必要がある。また、桁数が増えると、論理積を行うＡＮＤゲートや加算を行う加算器の数が著しく増大することになり、処理が遅延するとともに、回路規模が増大することになる。
【００５９】
一方、加算または減算を用いて、分配される拡散誤差を算出する場合、誤差Ｅx,yに乗算される係数（ａi,j／Σａi,j）が、乗算が不要な係数とする必要があるため、利用できる拡散係数ａi,jが制限される。しかしながら、乗算を行う場合に比べて桁数が大きく増えることはないので、回路を簡略化でき、演算処理を迅速に行うことができる。なお、除算において、２の累乗で除算するようにすれば、ビットシフト動作のみを行えばよいので、計算処理の負荷を一層減らすことができる。
【００６０】
符号判定部４２は、量子化処理部３０から受け取った誤差Ｅx,yが負の値であるか否かを判断する。これには、図７に示すように、量子化処理部３０から受け取った誤差データの符号ビットが利用される。なお、図７の場合では、負の数は２の補数で表されている。また、符号判定部４２は、通常演算部４１にて算出された拡散誤差が負の数であるか否かを判断してもよい。
【００６１】
ビット判定部４３は、通常演算部４１で算出された拡散誤差の小数部分のビットの論理和が１であるか否かを判断する。すなわち、図７の場合では、拡散誤差は誤差に１／４を乗算したものであるから、下位２ビットが小数部分のビットとなる。したがって、下位２ビットの論理和が１であるか否かを判断することになる。これにより、拡散誤差に小数部分の値が存在するか否かを判断することができる。
【００６２】
補正部４４は、符号判定部４２およびビット判定部４１の判定結果を受け取り、これらの判定結果に基づいて、誤差Ｅx,yが負の値であり、かつ、拡散誤差に小数部分の値が存在する場合には、拡散誤差の小数部分を切り捨てるとともに１を加算し、それ以外の場合では、拡散誤差の小数部分を切り捨てる補正処理が行われる。すなわち、拡散誤差に小数部分の値が存在する場合、拡散誤差が正の値であれば小数部分が切り捨てられ、負の値であれば小数部分が切り上げられることになるから、拡散誤差の絶対値が小さくなる方へ拡散誤差が丸められることになる。
【００６３】
例えば、図６（ａ）に示されるような拡散マトリクスの場合、誤差Ｅx,y＝２５とすると、上式（１）より各周辺画素Ａ〜Ｄの拡散誤差ｅx+i,y+jは６．２５となり、従来のように小数部分を切り捨てるとすると、拡散誤差ｅx+i,y+jは６となる。すなわち、拡散誤差ｅx+i,y+jが正の数でありかつ小数部分を含む場合には、小数部分の切り捨て処理により拡散誤差の絶対値（大きさ）が小さくなる方へ丸められることになる。
【００６４】
一方、誤差Ｅx,y＝−２５とすると、各周辺画素Ａ〜Ｄの拡散誤差ｅx+i,y+jは−６．２５となり、従来のように小数部分を切り捨てるとすると、拡散誤差ｅx+i,y+jは−７となる。すなわち、拡散誤差ｅx+i,y+jが負の数でありかつ小数部分を含む場合には、小数部分の切り捨て処理により拡散誤差の絶対値が大きくなる方へ丸められることになる。この場合、絶対値が大きくなる方へ丸められた拡散誤差が蓄積されることにより、蓄積された拡散誤差が大きすぎて画質が劣化する虞がある。
【００６５】
これに対し、本実施形態では、周辺画素Ｂ〜Ｄに関して、拡散誤差ｅx+i,y+jが負の数でありかつ小数部分を含む場合には、小数部分の切上げ処理を行うことにより、拡散誤差の絶対値が小さくなる方へ丸められることになる。この場合、拡散誤差の絶対値が大きくなる方へ丸められることがなくなり、蓄積された拡散誤差が大きすぎて画質が劣化することを防止できる。
【００６６】
なお、小数部分の切上げ方法としては、小数部分を切り捨てた後に１を加算する方法と、１を加算した後に小数部分を切り捨てる方法とがあるが、前者の方法が、後者の方法に比べて処理に必要なビット数が少なくなるから、回路規模が小さくなり処理速度が向上するので望ましい。
【００６７】
一方、周辺画素Ａに関しては、従来と同様の切り捨て処理を行う。この場合、符号判定部４２、ビット判定部４３、および補正部４４の処理が省略されるので、処理の負荷が増大することがない。また、例え周辺画素Ａの拡散誤差の絶対値が大きくなる方へ丸められても、周辺画素Ｂ〜Ｄに該当するときに蓄積される拡散誤差の絶対値は小さくなる方へ丸められているので、画質への影響は小さいと考えられる。実際、本実施形態のような処理を行ったところ、画質への影響は殆ど見られなかった。
【００６８】
次に、拡散誤差が図７に示すようなデータである場合について符号判定部４２、ビット判定部４３、および補正部４４の処理を具体的に説明する。図示のように、拡散誤差の先頭には符号ビットが含まれる。符号ビットが「０」の場合には拡散誤差が正の数であり、「１」の場合には拡散誤差が負の数であることを示している。したがって、この符号ビットを参照することにより、拡散誤差の符号を判定することができる。
【００６９】
一方、ビットの判定処理は、除算を行うことにより小数部分となったビットの論理和を求める。例えば、４（＝２2）で除算した場合には下位２ビットが小数部分となり、８（＝２3）で除算した場合には下位３ビットが小数部分となり、これらのビットの論理和を求めることになる。上記論理和が「１」であれば、小数部分となったビットのうち少なくとも１つのビットが「１」であり、これは小数部分に何らかの数値が存在することを意味している。一方、上記論理和が「０」であれば、小数部分となったビットの全てが「０」であり、これは小数部分に数値が存在しないことを意味している。
【００７０】
そして、符号ビットと、上記論理和との論理積を求めることにより、拡散誤差が負の数でありかつ小数部分の数が存在するか否かを判断できる。上記論理積が「１」であれば、拡散誤差が負の数でありかつ小数部分の数が存在するので、上述のように、小数部分の切上げ処理を行う。一方上記論理積が「０」であれば、従来と同様に、小数部分の切捨て処理を行う。
【００７１】
なお、切捨て処理や切上げ処理の代わりに四捨五入処理を行ってもよい。すなわち、拡散誤差の小数部分を参照することにより、最も近い整数に丸めてもよい。例えば、拡散誤差が＋６．７５であれば＋７に、−６．７５であれば−７にそれぞれ丸めてもよい。この場合、丸め処理前後での拡散誤差のずれを小さくすることができ、蓄積された拡散誤差が大きくずれることを抑えることができ、画質の劣化を抑えることができる。
【００７２】
四捨五入処理は、以下のように行えばよい。すなわち、小数点第１位のビットが「１」である場合には、ａ＋０．５≦ｘ＜ａ＋１（但しａは整数）となるから、小数部分を切り捨てて１を加算する。一方、その他の場合、すなわち小数点第１位のビットが「０」である場合には、小数部分を切り捨てる。
【００７３】
したがって、小数点第１位のビットのみを参照すればよく、他の小数部分や正負の符号を参照する必要がないので、上記実施形態よりも回路構成を省略でき、処理速度を向上することができる。
【００７４】
次に、階調再現処理部２８における処理動作の流れを図４および図５に基づいて説明する。図４は、階調再現処理部２８における処理動作の流れを示している。まず、注目画素Ｐに入力画像データが入力されると、量子化処理部３０は、拡散誤差格納部３３から蓄積された拡散誤差を取得して、入力画像データに加算する（ステップＳ１）。次に、量子化処理部３０は、加算された入力画像データに対して、量子化処理を行って出力画像データとして出力するとともに、出力画像データとの差分を誤差として算出する（ステップＳ２）。
【００７５】
次に、拡散誤差演算部３１は、複数組の拡散マトリックスの中から１組を選択して拡散係数格納部３２から取得することにより、各周辺画素Ａ〜Ｄの拡散係数を決定する（ステップＳ３）。次に、拡散誤差演算部３１は、拡散誤差の演算を行う（ステップＳ４）。
【００７６】
図５は、拡散誤差の演算処理の流れを示している。まず、右隣の周辺画素Ａについては、量子化処理部３０から取得した誤差に対し簡易演算部４０が簡易演算処理を行い（ステップＳ１０）、算出値から小数部分を切り捨てた値を拡散誤差とする（ステップＳ１１）。
【００７７】
一方、その他の周辺画素Ｂ〜Ｄについては、まず、量子化処理部３０から取得した誤差に対し通常演算部４１が通常演算処理を行う（ステップＳ１２）。次に、誤差の符号がマイナスであり、かつ小数部分のビットの論理和が「１」である場合には（ステップＳ１３でＹＥＳかつステップＳ１４でＹＥＳ）、ステップＳ１２による算出値から小数部分を切り捨て、「１」を加算した値を拡散誤差とし（ステップＳ１５）、それ以外の場合には、ステップＳ１２による算出値から小数部分を切り捨てた値を拡散誤差とする（ステップＳ１６）。そして、ステップＳ１１・Ｓ１５・Ｓ１６により拡散誤差を算出した後、図４に示す元の処理ルーチンに戻る。
【００７８】
次に、拡散誤差演算部３１は、各周辺画素Ａ〜Ｄに該当する画素に蓄積された拡散誤差を拡散誤差格納部３３から取得し、蓄積された拡散誤差に、ステップＳ４により算出された拡散誤差を加算し、加算した拡散誤差を拡散誤差格納部３３に格納させる（ステップＳ５）。
【００７９】
そして、以上の処理を全ての画素について行った後（ステップＳ６）、階調再現処理部２８における処理動作を終了する。
【００８０】
なお、上記実施形態では、周辺画素Ａの拡散係数は、簡易演算部４０にて簡易演算を行い、算出された拡散誤差の小数部分を切り捨てているが、他の周辺画素Ｂ〜Ｄと同様に、拡散誤差が正の値であれば小数部分を切り捨て、負の値であれば小数部分を切り上げる処理に変更してもよい。この場合、図８に示されるように、階調再生処理部２８の拡散誤差演算部３１における周辺画素Ａの演算部は、図１に示される簡易演算部４０に、符号判定部４２、ビット判定部４３、および補正部４４が追加された構成となる。
【００８１】
〔実施の形態２〕
次に、本発明の別の実施形態について、図９および図１０に基づいて説明する。本実施形態のデジタルカラー複写機は、図１〜７に示されるデジタルカラー複写機に比べて、階調再生処理部２８の拡散誤差演算部３１における周辺画素Ａの演算部の構成が異なり、その他の構成は同様である。なお、上記実施形態で説明した構成と同様の機能を有する構成には、同一の符号を付して、その説明を省略する。
【００８２】
本実施形態では、階調再生処理部２８の拡散誤差演算部３１における周辺画素Ａの演算部は、図１に示される簡易演算部４０を通常演算部４１に変更している。すなわち、量子化処理部３０から取得した誤差に対し、通常演算を行って拡散誤差を算出し、その小数部分を切り捨てる処理を行っている。この場合、簡易演算部４０に比べると、処理負担が増大するが、周辺画素Ｂ〜Ｄの演算部に比べると、符号判定部４２、ビット判定部４３、および補正部４４が省略されるので、回路規模が簡略化されるとともに、処理負担が軽減される。
【００８３】
図１０は、本実施形態における周辺画素Ａ〜Ｄに関する拡散誤差の演算処理の流れを示している。図示のように、まず、量子化処理部３０から取得した誤差に対し通常演算処理を行う（ステップＳ２０）。次に、誤差の符号がマイナスであり、小数部分のビットの論理和が「１」であり、かつ注目画素Ｐの右隣の周辺画素Ａ以外の画素である場合には（ステップＳ２１でＹＥＳ、ステップＳ２２でＹＥＳ、かつステップＳ２３でＮＯ）、ステップＳ２０による算出値から「１」を加算し、小数部分を切り捨てた値を拡散誤差とする（ステップＳ２５）。一方、それ以外の場合には、ステップＳ２０による算出値から小数部分を切り捨てた値を拡散誤差とする（ステップＳ２４）。そして、ステップＳ２４・Ｓ２５により拡散誤差を算出した後、図４に示す元の処理ルーチンに戻る。
【００８４】
〔実施の形態３〕
次に、本発明のその他の実施形態について、図１１に基づいて説明する。図１１は、本実施形態におけるプリントシステムの概略構成を示している。図示のように、プリントシステムは、コンピュータ５０と該コンピュータに接続されたプリンタ５１とを備える構成である。コンピュータ５０は、アプリケーション実行部５２、プリンタドライバ５３、通信ポートドライバ５４、および通信ポート５５を備える構成である。アプリケーション実行部５２にて画像データの印刷指示が実行されると、アプリケーション実行部５２は、画像データをプリンタドライバ５３に送り出す。プリンタドライバ５３は、アプリケーション実行部５２から送られた画像データに対して各種処理を施した後、通信ポートドライバ５４と、ＲＳ２３２Ｃ・ＬＡＮなどの通信ポート５５を介して電子写真方式やインクジェット方式のプリンタ（画像出力装置）５１に出力する。
【００８５】
本実施形態のプリントシステムは、図１〜７に示されるデジタルカラー複写機に比べると、画像入力装置１１がコンピュータ５０に対応し、画像出力装置１３がプリンタ５１に対応する。そして、画像処理装置１２の構成のうち、色補正部２４、黒生成下色除去部２５、および階調再現処理部２８がコンピュータ５０のプリンタドライバ５３に含まれ、その他の構成がプリンタ５１に含まれる。なお、プリンタ５１は、プリンタ機能の他にコピー機能およびファックス機能を有するデジタル複合機であってもよい。
【００８６】
本実施形態では、プリンタドライバ５３は、色補正部５６、階調再現処理部５７、およびプリンタ言語翻訳部５８を備える構成である。色補正部５６は、図２に示される色補正部２４および黒生成下色除去部２５と同様の処理を行うものである。また、階調再現処理部５７は、図２に示される階調再現処理部２８と同様の処理を行うものである。また、プリンタ言語翻訳部５８は、色補正部５６および階調再現処理部５７にて画像処理された画像データをページ記述言語（ＰＤＬ）などのプリンタ言語に翻訳するものである。
【００８７】
このように、本発明に係る階調再現処理は、コンピュータ５０のプリンタドライバ５３にて実行することができる。
【００８８】
最後に、上記実施形態の画像処理装置１２の各ブロック、特に階調再現処理部２８は、ハードウェアロジックによって構成してもよいし、次のようにＣＰＵを用いてソフトウェアによって実現してもよい。
【００８９】
すなわち、画像処理装置１２は、各機能を実現する制御プログラムの命令を実行するＣＰＵ（central processing unit ）、上記プログラムを格納したＲＯＭ（read only memory）、上記プログラムを展開するＲＡＭ（random access memory）、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである印刷管理装置４の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、上記印刷管理装置４に供給し、そのコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【００９０】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フレキシブルディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ系などを用いることができる。
【００９１】
また、画像処理装置１２を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（virtual private network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された搬送波あるいはデータ信号列の形態でも実現され得る。
【００９２】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、さらに、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【００９３】
本発明により、次に注目画素となる周辺画素における拡散誤差の算出時間を短縮した画像処理装置が提供される。これにより、デジタルカラー複写機などの画像処理装置において、画像処理に必要な時間の短縮を実現することができる。
【図面の簡単な説明】
【００９４】
【図１】本発明の一実施形態であるデジタルカラー複写機における階調再現処理部の概略構成を示すブロック図である。
【図２】上記デジタルカラー複写機の概略構成を示すブロック図である。
【図３】本実施形態にて利用される注目画素とその周辺画素との関係を示す図である。
【図４】上記階調再現処理部の処理動作を示すフローチャートである。
【図５】上記階調再現処理部の処理動作にて実行される拡散誤差の演算の処理動作を示すフローチャートである。
【図６】同図（ａ）（ｂ）は拡散係数の例を示す図である。
【図７】拡散誤差のデータ構造を示す図である。
【図８】上記階調再現処理部における周辺画素Ａに関する構成の変更例を示すブロック図である。
【図９】本発明の別の実施形態であるデジタルカラー複写機における階調再現処理部の概略構成を示すブロック図である。
【図１０】上記階調再現処理部の処理動作にて実行される拡散誤差の演算の処理動作を示すフローチャートである。
【図１１】本発明の他の実施形態であるプリントシステムの概略構成を示すブロック図である。
【符号の説明】
【００９５】
１０    デジタルカラー複写機（画像形成装置）
１２    画像処理装置
３０    量子化処理部（量子化手段、誤差算出手段）
３１    拡散誤差演算部（拡散誤差算出手段）
４０    簡易演算部（簡易算出手段、演算手段、小数処理手段）
４１    通常演算部（演算手段）
４２    補正部（小数処理手段）
５０    コンピュータ
５３    プリンタドライバ（画像処理装置）
Ｐ    注目画素
Ａ〜Ｄ    周辺画素
【図１】
2005072984.tif 000003
【図２】
2005072984.tif 000004
【図３】
2005072984.tif 000005
【図４】
2005072984.tif 000006
【図５】
2005072984.tif 000007
【図６】
2005072984.tif 000008
【図７】
2005072984.tif 000009
【図８】
2005072984.tif 000010
【図９】
2005072984.tif 000011
【図１０】
2005072984.tif 000012
【図１１】
2005072984.tif 000013