JP4101008B2 - 画像処理装置 - Google Patents
画像処理装置 Download PDFInfo
- Publication number
- JP4101008B2 JP4101008B2 JP2002287059A JP2002287059A JP4101008B2 JP 4101008 B2 JP4101008 B2 JP 4101008B2 JP 2002287059 A JP2002287059 A JP 2002287059A JP 2002287059 A JP2002287059 A JP 2002287059A JP 4101008 B2 JP4101008 B2 JP 4101008B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- pixel
- data
- conversion
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Color, Gradation (AREA)
- Facsimile Image Signal Circuits (AREA)
Description
【発明の属する技術分野】
本発明は画像処理装置に関し、特に、複数のレベル数で表現される多値画像データをそのレベル数より少ないレベル数で表現される多値画像データに変換する技術に関する。
【0002】
【従来の技術】
近年のデジタル複写機やプリンタは、より高精細な画像出力を実現すべく、高解像度の出力が可能なものが増えてきた。例えば、300dpiから600dpiへ、そして、1200dpiといった高解像度化である。
【0003】
従来、このような高解像度化に対して、画像情報を可視化する画像形成方法及び装置は、例えば図26に示すようなスクリーン処理を用いてきた。スクリーン処理の概略は次のとおりである。
【0004】
同図における(a)が入力データであり、1画素600dpi中に0〜255の8ビット信号が存在している。これに対し、(b)が閾値マトリックスであり、1〜255の閾値が設定されている。この入力データと対応する閾値とを比較し、入力データが閾値以下のときに、1(黒)を出力し、それ以外のときは、0(白)を出力する処理を行っている。その処理結果を示したものが(c)である。(c)の出力結果は、1画素ずつ比較し、閾値以下の入力データの箇所のみ黒くなっていることを示している。なお、同図の処理では、5×5の閾値マトリックスを周期的に繰り返し使用することで、任意サイズの画像を処理可能としている。
【0005】
ところで、上述したスクリーン処理は、(c)の出力結果に示したようにドットを集中化させることで安定した画像形成を実現している。つまり、プリンタの解像度が300dpiから600dpi、1200dpiへと高解像度化した場合、1画素の出力が不安定になり、高解像度化に反して、低画質化してしまう問題があったが、ドットを集中化させることで、安定した高精細な画像形成を実現させていた。
【0006】
一方、図27は、一般的な多値の誤差拡散処理を示す図である。同図を用いて多値の誤差拡散処理の概略を説明する。
【0007】
ここでは、入力画像信号が8ビット(256レベル)で、出力画像信号が4ビット(16レベル)の場合を示している。ここでの4ビット出力信号は、「0,1,2,3…15」ではなく、17刻みの「0,17,34,51…136…255」の信号である。
【0008】
3001で示されるn値化は、例えばn=16(16レベル、16値)の4ビット化処理であり、前述した「4ビット出力信号+8.5」刻みの「8.5, 25.5, 42.5, 59.5…144.5…255」の閾値と比較することで16値化をおこなっている。例えば、入力画像信号が128の場合、前述した閾値「8.5, 25.5, 42.5, 59.5…144.5…255」と順に比較していき、入力画像が閾値以下になったときに、はじめて16値信号を出力する。この場合、144.5と比較したときに、はじめて入力画像128を閾値が超えるので、出力信号136が出力されることになる。
【0009】
次に3002では、3001でn値化した結果と3006で誤差補正した結果との差分を求める処理をおこなっている。言い換えると量子化誤差を算出している。前述した例の場合、出力信号が136であるから、量子化誤差は136−128=8となる。この演算結果は3003の誤差バッファに一時保持され、3006において、注目画素に隣接する画素の量子化誤差に3004の重み係数を掛けた値を入力画像信号に加算する処理をおこなっている。以上の処理を画素毎に繰り返すことで、画像全体をn値化していく。
【0010】
プリンタの解像度が上がっていき、孤立点の再現が難しくなってきたとき、スクリーン処理の場合には前述したようにドットを集中化させることで対応できた。しかし、図27に示したような誤差拡散系の処理の場合、同様な手法で改善することはできなかった。そこで、本件発明者は、2値の誤差拡散処理においてもスクリーン処理のようにドット集中化制御がおこなえる手法を既に提案している(例えば、特許文献1参照。)。
【0011】
【特許文献1】
特開平11−187259号公報
【0012】
【発明が解決しようとする課題】
しかし、フルドットの孤立点が再現できるプリンタであっても、多値の誤差拡散処理の場合、画像のハイライト部では、前述した3001のn値化処理において小さな値の閾値で閾値以下となるため、フルドット以下の孤立点が出力されることになる。その結果、プリンタの解像度以上に、ドット再現が難しくなるという問題が発生していた。このようなことから、特に電子写真系のプリンタでは、多値の誤差拡散系の処理を使いこなすのは難しいとされてきた。
【0013】
そこで、本発明は、多値の誤差拡散処理を用いても良好なドット再現を実現することのできる画像処理装置を提供することを目的とする。
【0014】
【課題を解決するための手段】
上記した目的を達成するため本発明は、後述する実施形態に従えば以下の構成を特徴とする。
【0015】
すなわち、本発明の一側面は、注目画素に隣接する隣接画素にスポット径がオーバーラップする光を照射することで感光体に画像を形成する画像形成装置に対し、入力されたm値データを前記画素毎にn値(ただし、n<m)データに変換して出力する画像処理装置に係り、
前記m値データを所定の閾値に基づきn値化するn値化手段と、
前記n値化手段によるn値化で生じた量子化誤差を隣接画素に分配する分配手段と、
有し、
前記n値化手段は、
前記注目画素に対して左隣に位置する、量子化誤差が分配された隣接画素のn値化結果が第1の基準値と等しい場合は、前記注目画素のn値化における0を除く最小値を第1の値に設定し、
前記n値化結果が前記第1の基準値に満たない場合は、前記最小値を前記第1の値より大きい第2の値に設定し、
前記注目画素の1ライン上の隣接画素のn値化結果が前記第1の基準値より小さく、前記第2の値以上である第2の基準値以上の場合は、前記最小値を前記第1の値に設定し、
前記注目画素の1ライン上の隣接画素のn値化結果が前記第2の基準値に満たない場合は、前記最小値を前記第2の値に設定する
ことを特徴とする。
【0016】
【発明の実施の形態】
以下、本発明に係る一実施形態の画像処理装置を、図面を参照して詳細に説明する。
【0017】
以下では、好適な実施形態として、電子写真系の複写機を用いる。本発明は、1つの感光ドラムを用いてCMYK順に画像形成するタイプのフルカラー複写機をはじめ、4つの感光ドラムを用いるタイプのフルカラー複写機、CMYの3色でカラー画像を形成するタイプの複写機、2色複写機、白黒複写機などにも適用することができることはいうまでもない。さらに、電子写真系の複写機以外のインクジェット方式やサーマルヘッド方式のカラーおよび白黒複写機でも利用可能なこともいうまでもない。
【0018】
以下、装置概要、画像信号の流れ、画像形成処理部の順に説明する。
【0019】
[装置概要]
図24は、本発明に係る画像処理装置を適用可能な複写機の断面図である。
【0020】
同図に示したように、この複写機は、大別してカラースキャナ部Aとプリンタ部Bとで構成されている。
【0021】
以下の説明では、複写機としての基本的な構成/動作のみについて説明する。
【0022】
カラースキャナ部Aにおいて、原稿給送装置2701Aは、原稿を最終頁から順に1枚ずつプラテンガラス2702A上へ給送する。そして、原稿の読取り動作終了後、プラテンガラス2702A上の原稿を排出するものである。原稿がプラテンガラス2702A上に搬送されると、ランプ2703Aを点灯し、このランプ2703Aを搭載したスキャナユニット2704Aの移動をおこない原稿を露光走査する。この走査による原稿からの反射光は、ミラー2705A,2706A,2707Aおよびレンズ2708AによってCCDカラーイメージセンサ(以下、単に「CCD」という。)2709Aへ導かれる。そして、CCD2709Aに入射した反射光は、R,G,Bの3色に色分解され色毎の輝度信号として読取られる。さらに、CCD2709Aから出力される輝度信号はA−D変換によってデジタル信号の画像データとして、シェーディング補正、階調補正などの周知の画像処理が施された後、プリンタ部Bへ転送される。
【0023】
プリンタ部Bにおいて、レーザドライバ2721Bは、レーザ発光部2701Bを駆動するものであり、色毎の画像データに応じたレーザ光をレーザ発光部2701Bによって発光させる。このレーザ光は感光ドラム2702Bに照射され、感光ドラム2702Bにはレーザ光に応じた潜像が形成される。そして、この感光ドラム2702Bの潜像の部分には現像器2703Bによって現像剤であるトナーが付着される。なお、図24では、現像器は、図示の簡略化のため、唯一つのみが示されるが、C,M,Y,Kの色毎にトナーが用意され、それに応じて4つの現像器が設けられることは、勿論である。また、以上の構成の代わりに感光ドラムや現像器等を色毎に4組設ける構成であってもよい。
【0024】
上述のレーザ光の照射開始と同期したタイミングで、カセット2704Bまたはカセット2705Bの選択されたいずれかから記録紙が給紙され、転写部2706Bへ搬送される。これにより、感光ドラム2702Bに付着した現像剤を記録紙に転写することができる。現像剤が転写された記録紙は、定着部2707Bに搬送され、定着部2707Bの熱と圧力により現像剤の記録紙への定着が行われる。そして、定着部2707Bを通過した記録紙は排出ローラ2708Bによって排出され、ソータ2720Bはこの排出された記録紙をそれぞれ所定のビンに収納して記録紙の仕分けを行う。なお、ソータ2720Bは、仕分けが設定されていない場合は、最上位のビンに記録紙を収納する。また、両面記録が設定されている場合は、排出ローラ2708Bのところまで記録紙を搬送した後、排出ローラ2708Bの回転方向を逆転させ、フラッパ2709Bによって再給紙搬送路へ導く。多重記録が設定されている場合は、記録紙を排出ローラ2708Bまで搬送しないようにフラッパ2709Bによって再給紙搬送路2710Bへ導く。再給紙搬送路へ導かれた記録紙は上述したタイミングで転写部2706Bへ給紙される。なお、色毎の潜像および現像の処理や定着は、上述の記録紙搬送機構を用いて、潜像形成等を4回分繰り返すことによって実現することは周知の通りである。
【0025】
以上説明した構成の複写機から画像が出力されることになる。
【0026】
[画像信号の流れ]
図24で説明した複写機の電気的な処理概要を、図25を用いて説明する。
【0027】
画像読み取り部2809は、レンズ2801、CCDセンサ2802、アナログ信号処理部2803等により構成され、レンズ2801を介しCCDセンサ2802に結像された原稿画像2800が、CCDセンサ2802によりアナログ電気信号に変換される。変換された画像情報は、アナログ信号処理部に入力され、サンプル&ホールド、ダークレベルの補正等が行われた後にアナログ・デジタル変換(A/D変換)される。このようにして変換されたデジタル信号は、本発明に係る画像処理装置としての画像処理部2804に入力される。
【0028】
画像処理部2804では、例えば、シェーディング補正、γ補正等の読み取り系で必要な補正処理や、スムージング処理、エッジ強調をはじめ、後ほど詳しく説明する階調変換処理、JPEG圧縮/伸張処理などが行われ、プリンタ2805とネットワーク2814に出力される。
【0029】
プリンタ2805は、前述したようにレーザ等からなる露光制御部(図示せず)、転写紙の搬送制御部等により構成され、入力された画像信号を転写紙上に記録する。また、ネットワーク2814は、外部に画像信号を送信するためのプロトコル変換、フォーマット変換などの処理をおこなっている。これにより、ネットワーク上の別のプリンタに出力することもできる。
【0030】
CPU回路部2810は、CPU2806、ROM2807、RAM2808等により構成され、画像読み取り部2809、画像処理部2804、プリンタ部2805、操作部2813等を制御し、本装置のシーケンスを統括的に制御する。
【0031】
操作部2813には、図示のようにRAM2811、ROM2812が予め用意されており、UI上に文字を表示したり、ユーザーが設定した情報を記憶したりしておくことが可能となっている。ユーザによって操作部2813で設定された情報は、CPU回路部2810を介して、画像読み取り部2809、画像処理部2804、プリンタ2805などに送られる構成となっている。
【0032】
[階調変換処理]
次に、画像処理部2804における階調変換処理について説明する。階調変換処理は、m値の画像データをn値(ただし、n<m)の画像データに変換する処理である。
【0033】
図31は、実施形態における階調変換処理の概略ステップを示すフローチャートである。
【0034】
まず、m値(例えば、m=128)データを入力し(ステップS1)、そのm値データを所定の閾値との比較結果に基づいてn値化(例えば、n=16)する(ステップS2)。そして、図27を用いて先述したように、例えば誤差拡散法により、ステップS2で生じた量子化誤差を周辺画素に分配(拡散)し(ステップS3)、誤差が拡散されたn値データを出力する(ステップS4)。
【0035】
ここで例えば、0(白)〜255(黒)の信号で画像形成されるプリンタがあったとする。もし、ハイライトの孤立点が128以上ならば(128より濃ければ)安定してドット再現できるが、それより薄いドットの場合(128未満)は、ドット再現が安定しなかったとする。しかし、通常は、過去の誤差拡散処理で得られた隣接画素信号値が濃い信号値であった場合、上記信号値(128)より薄い信号値でも安定して出力することが可能となる。その様子を図30A、図30Bに模式的に示した。図30Aが不安定なドットを表しており、図30Bが安定なドットを表している。両者の違いは、注目画素に隣接した画素値が濃いか薄い(存在しない)かの違いである。
【0036】
本件発明者はこの点に着目し、多値の誤差拡散系の処理において、過去の誤差拡散処理で得られた、量子化誤差が分配された隣接画素のn値化結果に応じて、注目画素のn値化における0を除く最小値を制御するようにした。具体的には、上記したステップS2を、図32に示すような手順で処理する。すなわち、まず、量子化誤差を分配済みの隣接画素のn値化結果が所定値以上であるか否かを判断する(ステップS21)。ここで、所定値以上であるときは、n値化データの0を除く最小値をB1(例えば、B1=64)に設定し(ステップS22)、所定値未満であるときは、n値化データの0を除く最小値をB1より大きいB2に設定する(ステップS23)。B2の値は、指定された出力解像度に依存した値に設定されることが好ましい。そして、その後にm値の入力データを所定の閾値と比較し、その比較結果に対応するn値データを出力する(ステップS24)。このように、隣接画素のn値化結果に応じてn値化データの0を除く最小値を制御する。具体的には、隣接画素のn値化結果(濃度)が薄い場合にはドットの再現性が劣る可能性があるので、n値化データの0を除く最小値を比較的大きな値に強制的に制限する。これによってドット再現性を確保することができる。
【0037】
以下、上記した実施形態における階調変換処理の具体的実現例を示す。上記した階調変換処理は、ハードウェアで構成して実現することもできるし、ソフトウェアで実現することも可能である。ここではソフトウェアで実現することとし、動作内容を明瞭にするために、各ブロックの動作内容をプログラム言語C(いわゆるC言語)で記述して、その記述について簡潔に説明していく。
【0038】
図1は、実施形態における階調変換処理を行わせるプログラムのモジュール構成例を示す図である。同図において、グレーで塗りつぶされたモジュールは多値処理用のモジュール、斜線が引かれたモジュールは2値、多値処理共通のモジュール、それ以外の無地のモジュールは2値処理用のモジュールを示している。
【0039】
まず、パラメータ設定部101において、必要なパラメータの設定をおこなっている。具体的なパラメータは、図2〜図8Bに記述したとおりである。
【0040】
図2に記した“b_bic_para”パラメータは、出力解像度および階調値を設定するためのものである。本実施形態では図示の如く「1,8,9,6,10,3,4,5,2,7」の10種類が設定できるようにした。
【0041】
ここで、この出力解像度について、図28A〜図28Cを用いて補足説明しておく。b_bic_para=1の場合、600dpiの2値モードになるのだが(図2の(1)を参照。)、この場合、図28Aと図28Bの2つを切り替えて画像形成することになる。つまり、16分割した画素すべてを点灯させる600dpiフル点灯と、すべてを消灯させた場合の切り替えになる。一方、b_bic_para=6の場合、1200dpiの3値モードとなり(図2の(2)を参照。)、図28A、図28B、図28Cの3種類の切り替えとなる。3種類を切り替えることで3値となり、図28Cに示すように、16分の8点灯させることで、1200(600×16÷8)dpiの孤立点を実現させている。同様に、800dpiの解像度は16分の12点灯、960dpiの解像度は16分の10点灯などで実現可能である。階調数に関しては、前述した点灯パターンの数を増やすことで、2値からN値まで自由に変更可能であるが、本実施形態では、図2のb_bic_paraで示したような階調数で処理をおこなった。また、点灯パターンは、同図に示したものに限らず、1画素中において右のみの点灯や中央のみの点灯や、左右分割の点灯など、さまざまなパターンをとりうることはいうまでもない。
【0042】
一方、図3に示したmd2_mask,md3_mask,md7_maskは、誤差を拡散させるための係数であり、出力解像度ごとにいくつかの係数に切替えられることを特徴としている。
【0043】
なお、図4Aと図4Bに示した係数については、後述することにする。その他、例えばテクスチャ制御の強度を制御するためのパラメータ等が設定されるが、本発明とは直接関係がないため、説明は省略する。
【0044】
パラメータイニシャライズ部102は、内部で使用する乱数の初期値を設定している。具体的な設定値の例は、図5に示すとおりである。図示のように、変数CLは、処理する色毎のプレーンを表しており、“0”がシアン(C:Cyan)、“1”がマゼンタ(M:Magenta)、“2”がイエロー(Y:Yellow)、“3”がブラック(K:Black)に対応している。そして、CLの値によって、すなわちカラーの種類によって、乱数パラメータpの値が設定される。
【0045】
乱数イニシャライズ103は、内部変数の初期化をおこなっている。具体的には、図6に示すように、すでにn値化した処理結果を保持しておくための変数bi_dataがすべて0に初期化される。変数bi_dataは主走査方向(Width)分の長さ×3の数だけ用意されている。ハードウェア化する場合にはFIFOで構成されることはいうまでもない。
【0046】
以上の設定・初期化をおこなった後、1画素毎に入力画像データを処理していく構成となっている。
【0047】
以下、順に概略を説明する。
【0048】
まず、データ入力部(DATA IN)100より、多値画像データが入力される。このデータはf(8bit)で表され、RNDADD106とRNDLMT105へ送られる。
【0049】
RNDLMT105では、図9A、図9Bで例示するような処理で乱数の最大振幅の制御をおこなっている。詳細な説明は略するが、概略は、乱数演算タイミング算出部104からの信号(vey0, vey1, div4xx)と、入力データfとから、図5で示したレジスタpをもとに、ビットシフトで乱数P2を生成している。これは、レジスタN1,N2,N3,N4などの設定値により、入力データfに応じて、乱数の最大振幅が制御されている。
【0050】
上記の乱数演算タイミング算出部104は、図7と図8に示したような処理をおこなっている。これは、乱数を発生させるタイミング信号(vey0, vey1, div4xx)を生成するためのものであり、この生成したタイミングで、前述したRNDLMT105が乱数を生成している。
【0051】
RNDADD106は、図10に例示するように、入力データfに乱数P2および定数8を加算してデータfdを求めた後、下限値0、上限値255でクリップする処理をおこなっている。
【0052】
LOWBIN107は、図11に示すように、fdを定数17で割った商hを求める演算をおこなっている。このように0〜255までのデータfdを17で割ることで、fdが0〜15の4ビット信号hに変換される。
【0053】
以降の処理では、この4ビット信号hを使用して、nビット化(例えばn=3)をおこなうことになる。
【0054】
ERRCMP108は、詳細は後述するが、注目画素と同一ライン上の量子化誤差v_error1と1ライン前の量子化誤差v_error2とにより、入力信号hの誤差補正(量子化誤差の分配)をおこなっている。具体的には、図12に示すように、b_bic_paraの値に基づいて多値処理と2値処理とで処理を切り替えている。このERRCMP108における多値処理の場合の概略処理は次のとおりである(2値処理に関しては、上記した特許文献1(特開平11−187259号公報)を参照されたい。)。
【0055】
同図において、v_error2[vey1][xx]*16で16倍しているのは、後述する図20Aのtmp_errorF(=v_error2)の演算で16による除算をおこなっているためである。一方、本演算によるn値化結果bi_dataは最大8までの値をとり、前述した図3の誤差拡散係数の合計値は30である。よって、8×30の演算で最大240となる。そのため、レンジを合わせるために、図12において、h*16の演算をおこなっている。つまり、hは最大15であるため、15×16で240となりレンジがそろう。
【0056】
MGEN109は、n値化した結果の平均濃度を求める演算をおこなっている。具体的には、図13A〜図13Lに示したとおりであり、演算結果を信号mとして、後述するSCRCNT110とTBICCNT1とに出力している。詳細な説明は省略するが、前述したb_bic_paraの設定値に応じて、平均濃度値(sum_m)の演算法を切り替えている。これは、前述したように誤差拡散係数(md2_mask,md3_mask,md7_mask)が、それぞれ異なるためである。また、画像の端部でのはき寄せが減るように、xx=0やxx=1などのエッジ部で、演算を切り替えている。なお、図13K、図13Lの演算は、上記した特許文献1(特開平11−187259号公報)に開示した2値化処理と等価である。
【0057】
SCRCNT110は、多値処理専用のテクスチャ制御を行うステップである。具体的な処理としては、図14A〜図14Cに示すとおりである。同図において、PlusSTは、前述の図2で設定されたパラメータであり、テクスチャ制御のON/OFFの切り替え値が設定されている。さらに、本実施形態の特徴でもあるMJは、外部から入力される信号であり、文字部か非文字部かを表す制御信号である。これは、“0”が非文字を表しており、“1”が文字部を表している。つまり、テクスチャ制御がON(PlusST=1)で、制御信号が0(MJ=0)のときのみ、後述するテクスチャ制御が機能することになる。
【0058】
なお、変数CLは処理する色毎のプレーンを表しており、“0”がシアン(C:Cyan)、“1”がマゼンタ(M:Magenta)、“2”がイエロー(Y:Yellow)、“3”がブラック(K:Black)に対応していることは先述したとおりである。
【0059】
PlusSP,PlusSE1,PlusSE2,PlusSE3などは、レジスタ値であり、入力データ値に応じた出力強度に関するパラメータが設定されている。これも、前述の図2で設定されているものである。
【0060】
さらに、sC_mask, sM_mask, sY_mask, sK_maskもレジスタ値であり、図4A、図4Bで設定されたパラメータである。このパラメータを図14A〜図14Cに示すように周期的に利用することで、テクスチャ制御を実現可能としていることを特徴としている。つまり、前述した平均濃度値mの値に対して、周期的に変化する係数を加算することで、n値化結果が周期的に変化するドット配置にすることが可能となる。
【0061】
例えば、ドット集中型のスクリーン処理のようにテクスチャ制御することも可能となる。その様子を、図29A、図29Bに模式的に示した。図29Aがテクスチャ制御をおこなった例、図29Bがテクスチャ制御をおこなわなかった例を示している。なお、このパターンは一例であり、パラメータを変更して別のテクスチャに変更できることはいうまでもない。
【0062】
このようにして演算された結果は、信号THとして出力される構成となっている。むろん、上記テクスチャ制御をおこなわない場合は、入力信号mをそのまま信号THとして出力することになることはいうまでもない。
【0063】
修正部111は、図15に示すように、b_bic_paraが6もしくは2のとき(すなわち1200dpiのとき)のみ、各処理結果(=bi_data)が、次の条件、
bi_data[2][xx-1]==4 && bi_data[2][xx]==4 && bi_data[1][xx-2]==4 && bi_data[1][xx-1]==4 && bi_data[1][xx]==4 && bi_data[1][xx+1]==4 && bi_data[0][xx-2]==4
に合致するときに前述したTHの出力を平均濃度m*2にする処理をおこなっている。これは、1200dpiモードのときのテクスチャを微調するためである。
【0064】
閾値作成部112は、前述したTHの信号と誤差拡散係数(md2_mask,md3_mask,md7_mask)などから、複数の閾値を作成する処理をおこなっている。具体的な処理例は、図16A、図16Bに示すとおりである。これは、b_bic_paraの設定値に応じて使用する誤差拡散係数を切り替えながら、mm[0]〜mm[8]までの複数の閾値を算出した後、セレクタ115へ演算結果を出力する構成となっている。
【0065】
TBICCNT1(113)は2値化専用の処理であり、前述したSCRCNT110と同様、テクスチャの制御部である。詳細な処理例は、図17Aおよび図17Bに示すとおりである。この処理は、上記の特許文献1(特開平11−187259号公報)に開示したものとほぼ等価なものであるので、詳細な説明は省略するが、概略は、すでに処理を終えた2値化結果(bi_data)のパターンに応じて、2値化閾値(TH)を制御していることである。この際、閾値の基準となるものは、通常の誤差拡散処理のように固定なものではなく、前述した平均濃度値mであることを特徴としている。
【0066】
さらに、図17Aに示したように、外部から文字信号(MJ)が入力された場合、前述したテクスチャ制御をOFF(TH=m)にする処理が入っていることも特徴としている。この箇所は、前述したSCRCNT110と同様な特徴である。これは、文字部もテクスチャ制御をおこなってしますと、文字部のエッジのジャギーが顕著になってしまい、画質劣化を引き起こすためである。つまり、写真部やグラフィック部は、階調性を重視する箇所が多いため、ドットを集中化させた方が画質は安定するが、その他の文字部は、前述したようにエッジ部にジャギーが発生するため切り替えている。なお、詳細な説明はおこなわなかったが、同図に示したpALF_MやLR1,LR2などは、パラメータ設定部101でのイニシャライズ処理によって設定されたレジスタである。これにより、テクスチャ制御の強度を制御している。
【0067】
TBICCNT2(114)も2値化専用の処理であるが、前述したSCRCNT110と同様な処理をおこなっている。つまり、入力データ値に応じたテクスチャ制御量を算出している。具体的な処理例は、図18Aおよび図18Bに示したとおりである。この処理により、入力データ値(dataf)の大きさに応じて、THの信号値に周期的に変化するレジスタ(sC_mask, sM_mask, sY_mask, sK_mask)を加算することで、本実施形態の特徴のひとつでもある図29Aのようなテクスチャを実現している。以降の詳細な説明は、前述したSCRCNT110で説明したため省略する。
【0068】
このようにして生成した信号THは、セレクタ115へ入力された後、セレクタ115で前述した閾値作成部112からの信号と切り替えて、n値化処理部116へ出力される構成となっている。この切り替えは、b_bic_paraによっておこなわれており、b_bic_para=1のとき、TBICCNT2(114)からの信号が選択され、それ以外のときは、閾値作成部112からの信号が選択される構成となっている。
【0069】
n値化処理部116の詳細な処理例は、図19A〜図19Gに示すとおりである。ここでの処理の特徴は、先述したように、注目画素に隣接する処理済み(量子化誤差を分配済み)のn値化結果に応じて、n値化処理における0を除く最小値を制御していることである。以下、その特徴部分についてのみ説明する。
【0070】
図19Aを用いて説明すると、ここでは、一例として、注目画素に隣接する、量子化誤差が分配されたn値化結果(bi_data[0][xx-1]:注目画素の左隣のデータ, bi_data[1][xx]:注目画素の1ライン上のデータ)に応じて処理を切り替えている。具体的には、図中(1)で示される、
if( bi_data[0][xx-1] == 8 || bi_data[1][xx] >= 4 ){
・・・
の箇所である。ここで、“8”はフルドット(=255)の出力を表しており、“4”は中間のハーフドット(=128)を表している。つまり、注目画素の左隣のデータ(n値化結果)がフルドット出力であるか、または、注目画素の1ライン上のデータがハーフドット以上の出力であるときは、同図(2)に示すように、注目画素のn値化における0を除く最小値(最小孤立値)BBを64とし、それ以外のときは、注目画素のn値化における0を除く最小値(最小孤立値)BBを128とする。このように、参照する隣接画素の注目画素に対する位置に応じて基準値(フルドット/ハーフドット以上)を変更するようにしたのは以下の理由による。第1に、注目画素の左隣の隣接画素の場合、その左隣の画素がフルドットであれば、レーザーの発光が連続発光となるので、より安定して出力することができること。第2に、注目画素の上の隣接画素の場合、上記左隣の画素のような連続発光は期待できないが、レーザーのスポット径が縦長であるため、スポット径のオーバーラップ効果で安定させることができること。このような理由から、注目画素に対する隣接画素の位置(左隣か上)に応じて基準値を変えている。もちろん、これは、一例にすぎなく、注目画素に対する隣接画素の位置にかかわらず基準値を同じ(例えばフルドットの値)にしてもよい。なお、上記の基準値に用いた“8”、“4”の値も一例であり、この値に限定されるものでないことはもちろんである。
【0071】
ところで、図19B〜図19Fに示した処理は、b_bic_paraの値(すなわち、指定された出力解像度)に応じて注目画素のn値化における0を除く最小値を切り替えられるようになっている。これは、図31-3で説明した出力解像度(画素分割レベル)によって、最小孤立点が安定する値が異なるためである。
【0072】
なお、b_bic_para=1のときは、2値処理になることは前述したが、この場合、絶えずフルドットで出力することになるので、図19Gに示すように上記のような処理は行わない構成としてある。
【0073】
ERRGEN117では、量子化誤差を算出している。演算の詳細例は、図20Aおよび図20Bに示すとおりである。図24-1が多値処理用の演算であり、図20Bが2値処理用の演算である。ここでは、同図(3)は、
tmp_errorF = ((float)error/(float)2.0) / (float)16.0;
の演算で、16による除算をおこなっている。これは、ラインメモリに相当するv_error2の容量を減らすためである。ここで16による除算をおこなっていたため、前述した図12の箇所で16倍する演算をおこなっていた。
【0074】
また、(2)、(3)に示すように、変数errorを±240でリミッタをかけているが、これは、誤差の蓄積によるはき寄せを減らすためである。なお、本発明はこの240の値に限定されるものでないことはいうまでもない。その一例として、図20Bの(4)、(5)に示したerrorは、±12でリミッタをかけていることから明白である。
【0075】
ところで、図20Bは2値処理用の演算であることは、前述したが、ここでは、多値処理のような16による除算はおこなっておらず、2画素単位で誤差値をメモリに保持する処理により、v_error2の容量を減らすようにしていることを特徴としている。
【0076】
BISUB118とBIADD119は、図21に示したように、多値処理のみ機能するような構成にしてある。これは、多値処理が出力するデータ値が0,2,3,4,5,6,7,8であり、8つのデータであるのにも関わらず、8の信号値があるため、4ビットのメモリが必要な構成になってしまうためである。そこで、入力データ値(0以外)から、1を引く処理をおこなっている。その結果、0,1,2,3,4,5,6,7の信号になるため、3ビットのメモリに格納可能となる効果がある。この減算処理がBISUB118で行われ、逆に4ビットデータを生成するための加算処理がBIADD119で行われる。
【0077】
ERRMEM120は、前述した量子化誤差を保持しておくためのメモリを表している。具体的には、v_error2に格納された誤差値になることは、前述したとおりであるが、このメモリは、4bitの1ライン分の容量で構成されている。4bit/画素のメモリで足りる理由は、ERRGEN117の箇所で説明したとおり、多値処理の場合は16で除算し、2値処理の場合は2画素単位で誤差値を処理しているためである。
【0078】
NR121は、2値処理用のノッチ除去処理である。詳細は図23に示したとおりであり、3×3のパターンマッチングによって、ノッチを除去するというものである。具体的なパターン例は、図23のInputDataに示したとおりであるが、このパターンに一致した場合のみ、OutDataのような出力に変換する処理をおこなっている。なお、この処理はレジスタnr_on(不図示)によって、ON/OFF制御可能となっている。
【0079】
BICONV122は、前述したn値化結果0〜7のデータを0〜255の値に変換するテーブル(メモリ)で構成されているものである。概要を図22に示した。この処理が必要になるケースは、出力プリンタ側が、0〜7の3ビット信号を受信する構成になっておらず、0〜255の値で受信する構成になっているときに有効となる。つまり、すべてのケースで本処理が必要というわけではなく、出力プリンタに応じて様々な対応ができるよう前述したようにテーブル(メモリ)で対応している。
【0080】
このようにして処理された出力データは、最終的に前述したプリンタ2805で出力されることとなる。また、ネットワーク2814を介して、外部プリンタへ出力可能なことも前述したとおりである。
【0081】
以上説明した本実施形態における階調変換処理により、プリンタの特性に応じた多値処理が可能となった。つまり、孤立したドットの場合は、安定する濃いドットで出力し、注目画素に隣接する画素が濃いデータの場合は、薄めのドットで出力することで可能とした。
【0082】
さらに、画素ごとに算出した平均濃度値に周期的な係数を加算することで、ドットの出力頻度を周期的にコントロール可能とし、より安定したドットが出力できるようにした。
【0083】
これらの処理は、外部から入力される文字信号でON/OFF制御可能で、文字/写真の高精細化の両立も可能とした。その結果、電子写真プリンタには、これまで不向きと考えられてきた多値の誤差拡散系の処理を実現でき、高精細な処理が可能になった。
【0084】
(他の実施形態)
以上、本発明の実施形態を詳述したが、本発明は、前述した平均濃度処理法に限定したものではなく、通常の誤差拡散処理法にも適用可能なことはいうまでもない。また、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用してもよい。
【0085】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータがその供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。その場合、プログラムの機能を有していれば、その形態はプログラムである必要はない。
【0086】
従って、本発明の機能処理をコンピュータで実現するために、そのコンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の特許請求の範囲には、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0087】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0088】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
【0089】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、そのホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明のクレームに含まれるものである。
【0090】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0091】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0092】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【0093】
【発明の効果】
本発明によれば、多値の誤差拡散処理を用いても良好なドット再現を実現することのできる画像処理装置を提供することができる。
【図面の簡単な説明】
【図1】実施形態における階調変換処理を行わせるプログラムのモジュール構成例を示す図である。
【図2】、
【図3】、
【図4A】、
【図4B】パラメータ設定処理の一例を示す図である。
【図5】乱数パラメータ初期化処理の一例を示す図である。
【図6】メモリ初期化処理の一例を示す図である。
【図7】、
【図8】乱数演算タイミング算出処理の一例を示す図である。
【図9A】、
【図9B】乱数の最大振幅の制御処理の一例を示す図である。
【図10】入力データに乱数を加算する処理の一例を示す図である。
【図11】入力データに対する4ビット信号を生成する処理の一例を示す図である。
【図12】量子化誤差の分配処理の一例を示す図である。
【図13A】、
【図13B】、
【図13C】、
【図13D】、
【図13E】、
【図13F】、
【図13G】、
【図13H】、
【図13I】、
【図13J】、
【図13K】、
【図13L】n値化したデータの平均濃度を求める処理の一例を示す図である。
【図14A】、
【図14B】、
【図14C】多値処理用のテクスチャ制御処理の一例を示す図である。
【図15】テクスチャ制御後の信号を修正する処理の一例を示す図である。
【図16A】、
【図16B】n値化処理用の閾値を作成する処理の一例を示す図である。
【図17A】、
【図17B】、
【図18A】、
【図18B】2値化処理用のテクスチャ制御処理の一例を示す図である。
【図19A】、
【図19B】、
【図19C】、
【図19D】、
【図19E】、
【図19F】、
【図19G】n値化処理の一例を示す図である。
【図20A】、
【図20B】量子化誤差の算出処理の一例を示す図である。
【図21】ビット数調整のための減算処理および加算処理の一例を示す図である。
【図22】n値化結果のテーブル変換処理の一例を示す図である。
【図23】2値処理用のノッチ除去処理を説明するための図である。
【図24】本発明に係る画像処理装置を適用可能な複写機の断面図である。
【図25】実施形態における複写機の電気的な処理概要を説明するための図である。
【図26】従来のスクリーン処理を説明するための図である。
【図27】一般的な多値の誤差拡散処理を示す図である。
【図28A】、
【図28B】、
【図28C】出力解像度に応じた1画素の点灯パターンを説明するための図である。
【図29A】、
【図29B】テクスチャ制御の効果を説明するための図である。
【図30A】、
【図30B】実施形態におけるn値化データの最小出力信号値の制御処理を説明するための図である。
【図31】実施形態における階調変換処理の概略ステップを示すフローチャートである。
【図32】実施形態におけるn値化処理の詳細ステップを示すフローチャートである。
Claims (5)
- 注目画素に隣接する隣接画素にスポット径がオーバーラップする光を照射することで感光体に画像を形成する画像形成装置に対し、入力されたm値データを前記画素毎にn値(ただし、n<m)データに変換して出力する画像処理装置であって、
前記m値データを所定の閾値に基づきn値化するn値化手段と、
前記n値化手段によるn値化で生じた量子化誤差を隣接画素に分配する分配手段と、
有し、
前記n値化手段は、
前記注目画素に対して左隣に位置する、量子化誤差が分配された隣接画素のn値化結果が第1の基準値と等しい場合は、前記注目画素のn値化における0を除く最小値を第1の値に設定し、
前記n値化結果が前記第1の基準値に満たない場合は、前記最小値を前記第1の値より大きい第2の値に設定し、
前記注目画素の1ライン上の隣接画素のn値化結果が前記第1の基準値より小さく、前記第2の値以上である第2の基準値以上の場合は、前記最小値を前記第1の値に設定し、
前記注目画素の1ライン上の隣接画素のn値化結果が前記第2の基準値に満たない場合は、前記最小値を前記第2の値に設定する
ことを特徴とする画像処理装置。 - 前記n値化手段は、前記最小値を、指定された出力解像度に応じて、異なる前記第2の値に設定することを特徴とする請求項1に記載の画像処理装置。
- 注目画素に隣接する隣接画素にスポット径がオーバーラップする光を照射することで感光体に画像を形成する画像形成装置に対し、入力されたm値データを前記画素毎にn値(ただし、n<m)データに変換して出力する画像処理方法であって、
前記m値データを所定の閾値に基づきn値化するn値化ステップと、
前記n値化ステップによるn値化で生じた量子化誤差を隣接画素に分配する分配ステップと、
を有し、
前記n値化ステップは、
前記注目画素に対して左隣に位置する、量子化誤差が分配された隣接画素のn値化結果が第1の基準値と等しい場合は、前記注目画素のn値化における0を除く最小値を第1の値に設定し、
前記n値化結果が前記第1の基準値に満たない場合は、前記最小値を前記第1の値より大きい第2の値に設定し、
前記注目画素の1ライン上の隣接画素のn値化結果が前記第1の基準値より小さく、前記第2の値以上である第2の基準値以上の場合は、前記最小値を前記第1の値に設定し、
前記注目画素の1ライン上の隣接画素のn値化結果が前記第2の基準値に満たない場合は、前記最小値を前記第2の値に設定する
ことを特徴とする画像処理方法。 - 前記n値化ステップは、前記最小値を、指定された出力解像度に応じて、異なる前記第2の値に設定することを特徴とする請求項3に記載の画像処理方法。
- 注目画素に隣接する隣接画素にスポット径がオーバーラップする光を照射することで感光体に画像を形成する画像形成装置に対し、入力されたm値データを前記画素毎にn値(ただし、n<m)データに変換して出力する画像処理をコンピュータに実行させるためのプログラムであって、前記プログラムは、前記コンピュータに、
前記m値データを所定の閾値に基づきn値化するn値化ステップ、
前記n値化ステップによるn値化で生じた量子化誤差を隣接画素に分配する分配ステップ、
を実行させるためのプログラムであり、
前記n値化ステップは、
前記注目画素に対して左隣に位置する、量子化誤差が分配された隣接画素のn値化結果が第1の基準値と等しい場合は、前記注目画素のn値化における0を除く最小値を第1の値に設定し、
前記n値化結果が前記第1の基準値に満たない場合は、前記最小値を前記第1の値より大きい第2の値に設定し、
前記注目画素の1ライン上の隣接画素のn値化結果が前記第1の基準値より小さく、前記第2の値以上である第2の基準値以上の場合は、前記最小値を前記第1の値に設定し、
前記注目画素の1ライン上の隣接画素のn値化結果が前記第2の基準値に満たない場合は、前記最小値を前記第2の値に設定する
ことを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002287059A JP4101008B2 (ja) | 2002-09-30 | 2002-09-30 | 画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002287059A JP4101008B2 (ja) | 2002-09-30 | 2002-09-30 | 画像処理装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004128666A JP2004128666A (ja) | 2004-04-22 |
JP2004128666A5 JP2004128666A5 (ja) | 2005-11-24 |
JP4101008B2 true JP4101008B2 (ja) | 2008-06-11 |
Family
ID=32279973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002287059A Expired - Fee Related JP4101008B2 (ja) | 2002-09-30 | 2002-09-30 | 画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4101008B2 (ja) |
-
2002
- 2002-09-30 JP JP2002287059A patent/JP4101008B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004128666A (ja) | 2004-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7982913B2 (en) | Image processing apparatus and image processing method for suppressing jaggies in the edge portions of image | |
JP4386339B2 (ja) | 画像形成装置および画像形成方法 | |
JP4213230B2 (ja) | カラードキュメントプリント方法 | |
JP4217706B2 (ja) | 画像処理装置及び画像処理方法 | |
US7746504B2 (en) | Image forming apparatus and method which perform smoothing processing | |
US6954556B2 (en) | Smoothing method, smoothing circuit and image output apparatus | |
US7116445B2 (en) | Image forming apparatus and image forming method | |
US6344870B1 (en) | Methods of providing lower resolution format data into higher resolution format | |
JP5264412B2 (ja) | 画像処理装置および画像処理方法 | |
JP4031240B2 (ja) | 画像処理装置 | |
JP4047097B2 (ja) | 画像形成装置、画像形成方法およびその方法をコンピュータに実行させる画像形成プログラム | |
JP4086756B2 (ja) | 画像処理装置および画像処理方法 | |
JP4101008B2 (ja) | 画像処理装置 | |
JP2005176035A (ja) | 画像処理装置 | |
US6356360B1 (en) | Apparatus and method for rendering halftone dot structures using grey level dots | |
US6341019B1 (en) | Method and apparatus for processing an image | |
JP2004282344A (ja) | 画像処理方法 | |
JP2006072173A (ja) | 印刷装置及びその階調補正方法 | |
JP3353078B2 (ja) | 画像処理装置及び方法 | |
JP4135713B2 (ja) | カラー画像形成装置及びカラー画像形成方法 | |
JP5283843B2 (ja) | 画像形成装置 | |
JP3314196B2 (ja) | 画像処理装置及び方法 | |
JP2006033643A (ja) | 画像処理装置、画像形成装置、画像処理方法及びコンピュータプログラム | |
JP4856774B2 (ja) | 画像形成装置、画像形成方法、及び画像形成プログラム | |
JPH06253146A (ja) | 画像形成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050927 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050927 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070710 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070713 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070911 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071203 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080130 |
|
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: 20080307 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080318 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110328 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4101008 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120328 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130328 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140328 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |