(57)【特許請求の範囲】
【請求項１】
入力画像データに乱数生成手段により生成された乱数データを加算して誤差拡散処理を行う画像処理装置において、
前記入力画像データの有効期間又は無効期間を示すイネーブル信号と、前記入力画像データの１画面を示す垂直同期信号との状態に基づいて前記乱数生成手段における乱数データの生成を制御する制御手段と、
前記制御手段により生成を制御された乱数データを前記入力画像データに加算して誤差拡散処理を行う処理手段とを有することを特徴とする画像処理装置。
【請求項２】
前記制御手段は、前記イネーブル信号が無効期間に相当する場合、前記乱数生成手段における乱数データの生成を停止させるように制御することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記乱数生成手段は、シフトレジスタを構成する複数のフリップフロップの出力から選択された所定のビットからなるバイナリデータを乱数データとして生成することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記制御手段は、前記イネーブル信号が無効期間に相当する状態の場合、前記シフトレジスタのシフトを阻止するように制御することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
入力画像データに乱数生成手段により生成された乱数データを加算して誤差拡散処理を行う画像処理方法において、
前記入力画像データの有効期間又は無効期間を示すイネーブル信号と、前記入力画像データの１画面を示す垂直同期信号との状態に基づいて前記乱数生成手段における乱数データの生成を制御する制御工程と、
前記制御工程で生成を制御された乱数データを前記入力画像データに加算して誤差拡散処理を行う処理工程とを有することを特徴とする画像処理方法。
【請求項６】
前記制御工程は、前記イネーブル信号が無効期間に相当する場合、前記乱数生成手段における乱数データの生成を停止させるように制御することを特徴とする請求項５に記載の画像処理方法。
【請求項７】
前記乱数生成手段は、シフトレジスタを構成する複数のフリップフロップの出力から選択された所定のビットからなるバイナリデータを乱数データとして生成することを特徴とする請求項５に記載の画像処理方法。
【請求項８】
前記制御工程は、前記イネーブル信号が無効期間に相当する状態の場合、前記シフトレジスタのシフトを阻止するように制御することを特徴とする請求項７に記載の画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、入力画像データに乱数生成手段により生成された乱数データを加算して誤差拡散処理を行う画像処理方法及び装置に関するものである。
【０００２】
【従来の技術】
従来、複写機等の画像処理装置においては、スキャナなどで読みとった多値の画像データを、例えば誤差拡散法を用いてレーザーなどの現像露光手段に適した階調に階調変換して中間調を表現している。また、階調変換処理による擬似中間調の周期性を乱すために、入力画像データに乱数生成回路により生成された乱数を加算するように構成されている。
【０００３】
【発明が解決しようとする課題】
しかし、誤差拡散処理を乱数を用いて実行する場合、用いる乱数生成回路としては、２０段以上のシフトレジスタを用いる必要があり、このシフトレジスタによって選択された所要のビットからなるバイナリデータを乱数データとして出力している。
【０００４】
また、所定の大きさの原稿における単位長当たりの画素数に応じて乱数が周期性を持たないようにシフトレジスタの段数が決定され、１画面における各画素に対して所定の乱数が加算されることが要求される。
【０００５】
従って、シフトレジスタを所定のデータにリセットした後、リセット解除後の第１の乱数データ出力が第１ラインの第１の入力画像データに対して加算され、以後も所定の乱数データが所定の画素に加算されなければならない。
【０００６】
しかしながら、入力画像データの有効期間と無効期間を示すラインイネーブル信号を直接シフトレジスタのリセット信号として使用すると、各ライン毎にシフトレジスタがリセットされるため、画面の副走査方向の各画素に対する乱数データが揃ってしまい、副走査方向に対して乱数の意味を持たなくなるという問題があった。
【０００７】
また、ラインイネーブル信号が入力画像データの無効期間を示している間にもシフトレジスタのデータをシフトさせる構成とした場合、無効期間の長さの設定次第で、第２ライン以降の画素に対応する乱数データが任意の値となってしまうといった問題も生じていた。
【０００８】
本発明は、上記課題を解決するためになされたもので、入力画像データの有効期間又は無効期間を示すイネーブル信号と、入力画像データの１画面を示す垂直同期信号との状態に基づいて乱数生成手段における乱数データの生成を制御することを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、本発明は、入力画像データに乱数生成手段により生成された乱数データを加算して誤差拡散処理を行う画像処理装置において、前記入力画像データの有効期間又は無効期間を示すイネーブル信号と、前記入力画像データの１画面を示す垂直同期信号との状態に基づいて前記乱数生成手段における乱数データの生成を制御する制御手段と、前記制御手段により生成を制御された乱数データを前記入力画像データに加算して誤差拡散処理を行う処理手段とを有することを特徴とする。
【００１０】
また好ましくは、前記制御手段は、前記イネーブル信号が無効期間に相当する場合、前記乱数生成手段における乱数データの生成を停止させるように制御することを特徴とする。
【００１１】
更に好ましくは、前記乱数生成手段は、シフトレジスタを構成する複数のフリップフロップの出力から選択された所定のビットからなるバイナリデータを乱数データとして生成することを特徴とする。
【００１２】
また好ましくは、前記制御手段は、前記イネーブル信号が無効期間に相当する状態の場合、前記シフトレジスタのシフトを阻止するように制御することを特徴とする。
【００１３】
また、本発明は、入力画像データに乱数生成手段により生成された乱数データを加算して誤差拡散処理を行う画像処理方法において、前記入力画像データの有効期間又は無効期間を示すイネーブル信号と、前記入力画像データの１画面を示す垂直同期信号との状態に基づいて前記乱数生成手段における乱数データの生成を制御する制御工程と、前記制御工程で生成を制御された乱数データを前記入力画像データに加算して誤差拡散処理を行う処理工程とを有することを特徴とする。
【００１４】
【発明の実施の形態】
以下、図面を参照しながら本発明に係る実施の形態を詳細に説明する。
【００１５】
図１は、本実施形態による画像処理装置の構成を示すブロック図である。同図において、１０９は画像読取部であり、レンズ１０１、ＣＣＤセンサー１０２、アナログ信号処理部１０３等で構成され、レンズ１０１を介してＣＣＤセンサー１０２に結像された原稿画像が、ＣＣＤセンサー１０２によりＲ（ＲＥＤ）、Ｇ（ＧＲＥＥＮ）、Ｂ（ＢＬＵＥ）のアナログ電気信号に変換される。変換されたアナログ画像信号はアナログ信号処理部１０３に入力され、Ｒ，Ｇ，Ｂの各色成分毎にサンプル＆ホールド、ダークレベルの補正等が実施された後にＡ／Ｄ変換される。その後、デジタル化されたフルカラー画像信号は、１０４の画像処理部に入力される。
【００１６】
画像処理部１０４では、シェーディング補正、色補正、γ補正等の読み取り系で必要な補正処理やスムージング処理、エッジ強調、その他の画像処理、加工等が行われ、１０５のプリンタ部に出力される。
【００１７】
プリンタ部１０５は、レーザー等からなる露光制御部（図示せず）、画像形成部（図示せず）、転写紙の搬送制御部等により構成され、入力された画像信号により転写紙上に画像を記録する。
【００１８】
そして、１１０はＣＰＵ回路部であり、ＣＰＵ１０６、ＲＯＭ１０７、ＲＡＭ１０８等で構成され、ＲＯＭ１０７に記憶された制御プログラムに従ってＣＰＵ１０６が画像読取部１０９、画像処理部１０４、プリンタ部１０５等を制御し、本装置のシーケンスを統括的に制御する。尚、ＲＡＭ１０６には、ＣＰＵ１０６が処理を実行時に使用するワークエリアや各種テーブル等が定義されている。
【００１９】
［画像処理部］
図２は、図１に示す画像処理部１０４の構成を示すブロック図である。同図において、２０１はシェーディング補正部であり、図１に示すアナログ信号処理部１０３より出力されたデジタル画像信号を入力し、原稿１００を読み取るＣＣＤセンサー１０２のばらつきや原稿照明用ランプの配光特性の補正を行う。２０２は階調補正部であり、シェーディング補正部２０１で補正演算された画像信号を信号確度から濃度データに変換して出力する。２０３はカラー／モノクロ変換部であり、濃度データに変換された画像信号を入力し、モノクロデータとして出力する。そして、２０４は階調変換処理部であり、カラー／モノクロ変換部２０３から出力されたデータに対して疑似中間調表現として誤差拡散処理を行う。
【００２０】
［階調変換処理部］
図３は、図２に示す階調変換処理部２０４の詳細な構成を示すブロック図である。図４は、図３に示す誤差集配部３０７の誤差集配動作を示す模式図である。以下、図３及び図４を参照しながら階調変換処理について説明する。
【００２１】
まず、乱数・誤差加算部３０１では、カラー／モノクロ変換部２０３から出力される濃度データ（ＷＢ＿ＯＲＧ）、乱数発生部３０３から出力されるＲＡＮＤ３２，ＲＮ、誤差集配部３０７から出力されるＶ＿ｅｒｒｏｒの各信号を入力し、各信号の加算演算を行い、加算結果の上位６ビットの信号をｂｕｆｈ、下位５ビットの信号をｂｕｆｌとして出力する。
【００２２】
ここで、乱数発生部３０３から出力されるＲＡＮＤ３２は、−３１〜＋３１の範囲の乱数である。また、ＲＮは乱数生成部３０３から選択的に発生される信号であり、ＲＮ＝００であれば乱数・誤差加算部３０１で−６、ＲＮ＝０１or１０であれば−１０、ＲＮ＝１１であれば±０するためのものである。
【００２３】
次に、比較部３０２では、乱数・誤差加算部３０１の加算結果の下位５ビットの信号ｂｕｆｌと乱数発生部３０３から出力されるＲＡＮＤ１６とを入力し、両信号の比較を行い、ｂｕｆｌ＞ＲＡＮＤ１６であれば比較結果のＢＬを“１”とし、その逆の条件であればＢＬを“０”として出力する。
【００２４】
一方、乱数発生部３０３では、入力された濃度データ（ＷＢ＿ＯＲＧ）の値によってＲＡＮＤ３２、ＲＮを制御し、且つ、乱数・誤差加算部３０１の加算結果の上位６ビットの信号ｂｕｆｈが“１”であればＲＡＮＤ１６を所定の値に切り替えて出力する。次に、加算部３０４は、信号ｂｕｆｈと比較結果ＢＬとを加算し、ｐｌｕｓ信号として２値化＆エラーリミット部３０５に出力する。尚、乱数発生部３０３における乱数生成回路の構成及び動作については更に後述する。
【００２５】
この２値化＆エラーリミット部３０５では、入力されたｐｌｕｓ信号が“０”以下であればｅｄ＿ｏｕｔを“０”とし、その他の条件であればｅｄ＿ｏｕｔを“１”として出力する。尚、この判断を行う際に、濃度データ（ＷＢ＿ＯＲ）が“２５５”の場合は無条件でｅｄ＿ｏｕｔを“１”とし、且つ、原稿の１行目、１列目、２列目は無条件でｅｄ＿ｏｕｔを“０”として出力する。また、ｅｄ＿ｏｕｔ出力の値が“０”の場合、ｐｌｕｓ＿０の値を、またｅｄ＿ｏｕｔの値が“１”の場合、ｐｌｕｓ＿１６の値をｅｒｒｏｒとして出力する。ｅｒｒｏｒが−１５〜０の範囲外となった場合はリミット化する。
【００２６】
次に、ＦＩＦＯ３０６では、２値化＆エラーリミット部３０５から入力されるｅｒｒｏｒ信号を順々に格納していき、読み出し時にはアドレス０番地からＦＩＦＯｅｒｒｏｒを誤差集配部３０７に出力していく。そして、誤差集配部４０７では、図４に示すように、ＦＩＦＯｅｒｒｏｒとｅｒｒｏｒ信号とが入力され、所定の加重係数が掛けられ、Ｖ＿ｅｒｒｏｒｒとして出力する。
【００２７】
このようにして注目画素に対して周辺画素の誤差分を補正し、２値化することができる。そして、上述のｅｄ＿ｏｕｔ信号が画像処理部１０４からプリンタ部１０５へ転送され、原稿の画像形成が行われる。
【００２８】
次に、本実施形態における乱数発生部３０３の乱数生成回路の構成及び動作について説明する。
【００２９】
まず、乱数生成回路の構成について説明する。図５は、本実施形態による乱数生成回路の構成を示すブロック図である。同図において、１〜２６はＤフリップフロップ（以下、ＤＦＦ）である。これらは、Ａ３サイズの原稿を４００ｄｐｉで処理をしても周期性が現れないようにするために、２６段のシフトレジスタで構成されている。２７〜５２はセレクタであり、各ＤＦＦに対して、イネーブル信号がＬレベルのときは、前段のＤＦＦのＱ出力のデータを選択し、イネーブル信号がＨレベルのときは、そのＤＦＦ自体のＱ出力のデータを選択してＤ入力に入力する。
【００３０】
５３〜５５はＸＯＲゲートであり、ＤＦＦ２３〜２６のＱ出力の排他的論理和を算出し、その結果はＤＦＦ１のＤ入力に入力される。５６はＤＦＦ１〜２６のリセットを制御するためのＤＦＦで、垂直同期信号のＨレベルによってリセットされ、イネーブル信号の立ち下がりでＶＤＤからのＨレベルをラッチする。
【００３１】
ここで、乱数データはＤＦＦ１〜２６のＱ出力から所要の５ビットを選択し、それに符号ビットを付加することにより、−３１〜３１の範囲で出力される。
【００３２】
次に、乱数生成回路における乱数発生のタイミングについて説明する。図６は、乱数生成回路の動作タイミングを示すタイミングチャートである。
【００３３】
垂直同期信号のＨレベルによってＤＦＦ５６がリセットされ、そのＤＦＦ５６のＱ出力、即ち、リセット信号によってＤＦＦ１〜１２及びＤＦＦ１４〜２６がＬレベルにリセットされ、ＤＦＦ１３がＨレベルにセットされた後、イネーブル信号がＨレベル（入力画像データ無効期間）の間は、ＤＦＦ１〜２６はセレクタ２７〜５２によって選択された自己のデータをラッチしているため、リセット時の状態を維持する。
【００３４】
その後、イネーブル信号がＬレベル（入力画像データ有効期間）となってからの最初のＣＬＫの立ち上がりによってＤＦＦ１がＸＯＲ５５の出力をラッチし、ＤＦＦ２〜２６は前段のＤＦＦのＱ出力をラッチする（図６に示すｔ１）。この時、選択された５つのＤＦＦの出力によるバイナリデータが最初の乱数Ｒ＿０として出力され、階調変換処理部２０４の乱数・誤差加算部３０１にて同時にラッチされた第１ラインの第１の画素データである入力画像データＶ＿０との加算が行われる。その後、イネーブル信号がＨレベルになる直前のＣＬＫの立ち上がり（図６に示すｔ２）まで、同様に乱数のビットデータのシフトと入力画像データのラッチ出力との加算が行われる。
【００３５】
そして、乱数Ｒ＿ｎと入力画像データＶ＿ｎによる第１ラインにおける最後の加算が行われてからイネーブル信号がＨレベルとなり、再びイネーブル信号がＬレベルになるまでの期間は、ＤＦＦ１〜２６はセレクタ２７〜５２によって選択された自己のデータをラッチするため、乱数は更新されず、最前の乱数Ｒ＿ｎが保持される。その後、イネーブル信号がＬレベルになってからのＣＬＫの最初の立ち上がり（図６に示すｔ３）から再び乱数の更新が開始され、乱数Ｒ＿ｎ＋１が出力され、入力画像データＶ＿ｎ＋１との加算が行われる。
【００３６】
このように、各ライン毎に同様の動作が繰り返され、乱数・誤差加算部３０１へ乱数データと入力画像データとが入力され、加算が行われる。
【００３７】
以上詳述したように、本実施形態によれば、入力画像データに対し乱数データを加算して誤差拡散（集配）処理を行う画像処理回路における、シフトレジスタより選択された所要のビットからなるバイナリデータを乱数データとして出力する乱数生成回路において、１画面に対して１回だけ乱数生成回路をリセットし、且つイネーブル信号が無効期間の間はシフトレジスタのデータをシフトさせないため、乱数データが副走査方向において揃ってしまい、乱数としての特性を失うようなことがなく出力され、またイネーブル信号の無効期間の長さの影響を受けず、１画面における各画素に対して所定の乱数値を加算することができるように各乱数データの出力タイミングを一義的に設定できる。
【００３８】
尚、本発明は複数の機器（例えば、ホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【００３９】
また、本発明の目的は前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００４０】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００４１】
プログラムコードを供給するための記憶媒体としては、例えばフロッピーディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００４２】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００４３】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００４４】
【発明の効果】
以上説明したように、本発明によれば、例えば、１画面に対して１回だけ乱数生成回路をリセットし、且つイネーブル信号が無効期間の間はシフトレジスタのデータをシフトさせないため、乱数データが副走査方向において揃ってしまい、乱数としての特性を失うことがなく出力され、またイネーブル信号の無効期間の長さの影響を受けず、１画面における各画素に対して所定の乱数データを加算することができる。
【００４５】
【図面の簡単な説明】
【図１】本実施形態による画像処理装置の構成を示すブロック図である。
【図２】図１に示す画像処理部１０４の構成を示すブロック図である。
【図３】図２に示す階調変換処理部２０４の詳細な構成を示すブロック図である。
【図４】図３に示す誤差集配部３０７の誤差集配動作を示す模式図である。
【図５】本実施形態による乱数生成回路の構成を示すブロック図である。
【図６】乱数生成回路の動作タイミングを示すタイミングチャートである。
【符号の説明】
１０１  レンズ
１０２  ＣＣＤセンサー
１０３  アナログ信号処理部
１０４  画像処理部
１０５  プリンタ部
１０６  ＣＰＵ
１０７  ＲＯＭ
１０８  ＲＡＭ
１０９  画像読取部
１１０  ＣＰＵ回路部
２０１  シェーディング補正回路部
２０２  階調補正部
２０３  カラー／モノクロ変換部
２０４  階調変換処理部
３０１  乱数・誤差加算部
３０２  比較部
３０３  乱数発生部
３０４  加算部
３０５  ２値化＆エラーリミット部
３０６  ＦＩＦＯ
３０７  誤差集配部
【図１】
0003684061.tif 000002
【図２】
0003684061.tif 000003
【図３】
0003684061.tif 000004
【図４】
0003684061.tif 000005
【図５】
0003684061.tif 000006
【図６】
0003684061.tif 000007