(57)【要約】【課題】本発明はディザ処理装置、及びディザ処理装置によってディザ処理が行われた印刷データを記録媒体に印刷する印刷装置に関し、特に回路規模を大きくすることなく、コストを抑えたディザ処理装置、及び印刷装置を提供することを目的とする。【解決手段】ディザ処理を行う印刷装置であり、ディザ処理前のデータを記憶する第１の記憶手段と、予め設定された色毎の閾値情報を記憶する第２の記憶手段と、上記第１の記憶手段から前記データを読み出し、色毎の閾値情報に従ってディザ処理を行うディザ処理制御手段を有し、ディザ処理制御手段は１ライン毎に更新される階調値に対応した閾値情報を前記データと比較することによってディザ処理を行い、ディザ処理後のデータを上記第１の記憶手段に書き戻す構成である。【選択図】  図１
2009241432.tif 000002
【特許請求の範囲】
【請求項１】
ディザ処理前のデータを記憶する第１の記憶手段と、
予め設定された色毎の閾値情報を記憶する第２の記憶手段と、
前記第１の記憶手段から前記データを読み出し、前記色毎の閾値情報に従ってディザ処理を行うディザ処理制御手段と、
該ディザ処理後のデータを前記第１の記憶手段に書き戻すデータ書込手段と、
を有することを特徴するディザ処理装置。
【請求項２】
前記第２の記憶手段に記憶された閾値情報は、１ライン毎に更新される階調値に対応した閾値情報であり、前記ディザ処理制御手段は１ライン毎に更新される階調値に対応した閾値情報を前記データと比較することによってディザ処理を行うことを特徴する請求項１記載のディザ処理装置。
【請求項３】
ディザ処理前のデータを記憶する第１の記憶手段と、
予め設定された色毎の閾値情報を記憶する第２の記憶手段と、
前記第１の記憶手段から前記データを読み出し、前記色毎の閾値情報に従ってディザ処理を行うディザ処理制御手段と、
前記ディザ処理後のデータを記録媒体に印刷する印刷処理手段と、
を有することを特徴する印刷装置。
【請求項４】
前記第２の記憶手段に記憶された閾値情報は、１ライン毎に更新される階調値に対応した閾値情報であり、前記ディザ処理制御手段は１ライン毎に更新される階調値に対応した閾値情報を前記データと比較することによってディザ処理を行うことを特徴する請求項３記載の印刷装置。
【請求項５】
前記第１の記憶手段からのデータの読み出しは、予め設定されたテーブルに記憶された情報に基づいて行い、少なくとも前記第１の記憶手段に記憶されたデータのアドレス情報と、１バンドのバイと数情報と、前記テーブル上の次のアクセス位置情報とを有することを特徴する請求項１、又は２記載のディザ処理装置。
【請求項６】
前記第１の記憶手段からのデータの読み出しは、予め設定されたテーブルに記憶された情報に基づいて行い、少なくとも前記第１の記憶手段に記憶されたデータのアドレス情報と、１バンドのバイと数情報と、前記テーブル上の次のアクセス位置情報とを有することを特徴する請求項３、又は４記載の印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はディザ処理装置、及びディザ処理装置によってディザ処理が行われた印刷データを記録媒体に印刷する印刷装置に関する。
【背景技術】
【０００２】
パーソナルコンピュータ（ＰＣ）等のホスト機器から送信される印刷データにディザ処理を施す場合、色毎にディザパターンを用意し、テーブルに展開されたディザパターンを読み出して印刷データと比較することによって処理を行っている。
【０００３】
尚、特許文献１には、ＰＣＩバス制御部が記載され、このＰＣＩバスを効率良く使用するため、ＦＩＦＯ（First-In First-Out）を介してデータのやり取りを行う印刷システムの発明が開示されている。尚、この特許文献１には、特にカラー対応については記述されていないが、同様の回路を４つ使用することにより、４色カラーの対応が可能である。
【特許文献１】特開２００３−１６７７００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来のディザ処理では、ＰＣＩバス制御は複数の色の同時処理が可能なため、タンデム仕様のカラープリンタのビデオデータ転送も可能ではあるが、色の数の分だけテーブルが必要となり、回路規模が大きくなる。すなわち、色毎にディザパターンのテーブルを用意し、閾値情報を読み出してディザ処理を行うため、結果的にチップが大型化し、装置のコストアップの原因となる。
【０００５】
そこで、本発明は回路規模を大きくすることなく、コストを抑えたディザ処理装置、及び印刷装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題は第１の発明によれば、ディザ処理前のデータを記憶する第１の記憶手段と、予め設定された色毎の閾値情報を記憶する第２の記憶手段と、前記第１の記憶手段から前記データを読み出し、前記色毎の閾値情報に従ってディザ処理を行うディザ処理制御手段と、該ディザ処理後のデータを前記第１の記憶手段に書き戻すデータ書込手段とを有するディザ処理装置を提供することによって達成できる。
【０００７】
また、第２の発明によれば、前記第２の記憶手段に記憶された閾値情報は、１ライン毎に更新される階調値に対応した閾値情報であり、前記ディザ処理制御手段は１ライン毎に更新される階調値に対応した閾値情報を前記データと比較することによってディザ処理を行うディザ処理装置を提供することによって達成できる。
【０００８】
また、上記課題は第３の発明によれば、ディザ処理前のデータを記憶する第１の記憶手段と、予め設定された色毎の閾値情報を記憶する第２の記憶手段と、前記第１の記憶手段から前記データを読み出し、前記色毎の閾値情報に従ってディザ処理を行うディザ処理制御手段と、前記ディザ処理後のデータを記録媒体に印刷する印刷処理手段とを有する印刷装置を提供することによって達成できる。
【０００９】
また、上記課題は第４の発明によれば、前記第２の記憶手段に記憶された閾値情報は、１ライン毎に更新される階調値に対応した閾値情報であり、前記ディザ処理制御手段は１ライン毎に更新される階調値に対応した閾値情報を前記データと比較することによってディザ処理を行う印刷装置を提供することによって達成できる。
【００１０】
また、上記課題は第５の発明によれば、前記第１の記憶手段からのデータの読み出しは、予め設定されたテーブルに記憶された情報に基づいて行い、少なくとも前記第１の記憶手段に記憶されたデータのアドレス情報と、１バンドのバイと数情報と、前記テーブル上の次のアクセス位置情報とを有するディザ処理装置を提供することによって達成できる。
【００１１】
さらに、上記課題は第６の発明によれば、前記第１の記憶手段からのデータの読み出しは、予め設定されたテーブルに記憶された情報に基づいて行い、少なくとも前記第１の記憶手段に記憶されたデータのアドレス情報と、１バンドのバイと数情報と、前記テーブル上の次のアクセス位置情報とを有する印刷装置を提供することによって達成できる。
【発明の効果】
【００１２】
本発明によれば、ディザ処理に使用する閾値テーブルを画像メモリ上の１ラインごとに行い、小容量のテーブルを使用することができ、更に各色を同時に更新せず、順次処理することにより、回路規模の小さいディザ処理装置、及び印刷装置を提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態を図面に基づいて説明する。
（実施形態１）
【００１４】
図１は本例の印刷装置の要部を示す図であり、特にディザ処理制御回路のブロック図である。本例のディザ処理制御回路は大きく５つのブロックに分かれ、被変換データのロードを制御する被変換データロード制御部１、閾値テーブルの値をロードするテーブル値ロード制御部２、データを比較してディザ処理を行うディザ処理制御部３、ディザ処理後のデータを保管する（書き戻す）保管制御部４、及びＰＣＩバスマスターシーケンサ５で構成されている。
【００１５】
被変換データロード制御部１はＲＡＭ６からＣＰＵ７の制御によって不図示のディスクリプターテーブルを読み出し、ディザ処理制御部３に出力する処理を行う。また、被変換データロード制御部１はディスクリプターテーブルコントローラ（以下、ＤＴ−ＣＴＬで示す）１１、ネクストディスクリプターテーブル位置指定部（以下、ＮｅｘｔＤＴで示す）１２、フラグ保持部１３、アドレスデータ保持部１４、１バンドのバイト数記憶部１５、バーストライトコントローラ（以下、ＢｕｒｓＷ−ＣＴＬで示す）１６、及びＦＩＦＯ１７で構成されている。
【００１６】
上記ＮｅｘｔＤＴ１２、フラグ保持部１３、アドレスデータ保持部１４、１バンドのバイト数記憶部１５に書き込まれるデータは、ＲＡＭ６に予め登録されたディスクリプターテーブルから読み出されるデータである。
【００１７】
また、ＤＴ−ＣＴＬ１１はＰＣＩバスマスターシーケンサ５との間でリクエスト信号（ＲＱ）、及びアクノリッヂ信号（ＡＫ）の授受を行い、ＲＡＭ６に記憶されたデータ（被変換データ）を取り込み、Ｂｕｒｓｔ−ＣＴＬ１６の制御に従ってディザ処理制御部３に送信する。
【００１８】
テーブル値ロード制御部２は、Ｂｕｒｓｔ−ＣＴＬ２０、Ｔａｂｌｅ−ＣＴＬ２１、ＦＩＦＯ２２、及び閾値テーブルＣ、Ｍ、Ｙ、Ｋで構成されている。また、Ｂｕｒｓｔ−ＣＴＬ２０にＣ、Ｍ、Ｙ、Ｋのアドレスデータを供給するアドレスＣ〜Ｋ供給部２３、及びＣ、Ｍ、Ｙ、Ｋの階調、及び幅を指定する階調・幅指定部２４も配設されている。
【００１９】
ディザ処理制御部３はディザ処理コントローラ（以下、ディザ処理−ＣＴＬで示す）３０、及び被変換データロード制御部１から出力される被変換データとテーブル値ロード制御部２から出力される各色Ｃ、Ｍ、Ｙ、Ｋの閾値テーブルの閾値との比較を行う比較器Ｃ、Ｍ、Ｙ、Ｋで構成されている。また、ＦＩＦＯ３１、３２、４８、４９も配設されている。ディザ処理−ＣＴＬ３０は本例のディザ処理制御を行い、ディザ処理後のデータをＦＩＦＯ３１、３２、４８、４９に書き込む。
【００２０】
保管制御部４は、ＤＴ−ＣＴＬ４１、ＮｅｘｔＤＴ４２、フラグ保持部４３、アドレスデータ保持部４４、１色のバイト数記憶部４５、１バンドのバイト数記憶部４６、Ｂｕｒｓｔ−ＣＴＬ４７で構成されている。ＤＴ−ＣＴＬ４１は、ＲＡＭ６に記憶された不図示のディスクリプターテーブルからテーブル情報を読み出し、次のポイント位置の情報をＮｅｘｔＤＴ４２に書き込み、フラグ情報をフラグ保持部４３に書き込み、ＲＡＭ６のアドレス情報をアドレスデータ保持部４４に書き込み、１色のバイト数の情報を１色のバイト数記憶部４５に書き込み、１バンドのバイト数の情報を１バンドのバイト数記憶部４６に書き込む。
【００２１】
また、Ｂｕｒｓｔ−ＣＴＬ４７はＦＩＦＯ３１、３２、４８、４９に書き込まれたディザ処理後のデータを読み出し、上記アドレス情報に従ってＲＡＭ６に書き戻す。
また、ＰＣＩバスマスターシーケンサ５は各部から転送されるリクエスト信号（ＲＱ）に対してＣＰＵ７との間で信号の授受を行い、アクノリッヂ信号（ＡＫ）の出力を行い、ＦＲＡＭＥ＃、ＩＲＤＹ＃等の出力処理を行う。
【００２２】
次に、本例の処理動作を説明する。
先ず、被変換データをＦＩＦＯ１７にロードするまでの処理を説明する。
図２は被変換データロード制御部１の処理を説明するフローチャートであり、ＲＡＭ６からＦＩＦＯ１７にデータ（被変換データ）をロードする処理を説明する。先ず、ＤＴ−ＣＴＬ１１は待機状態である（ステート（以下、Stateで示す）００）。
【００２３】
次に、ＤＴ−ＣＴＬ１１の動作開始が許可されるとアクティブ状態となり、ＤＴ−ＣＴＬ１１はＰＣＩバスマスターシーケンサ５に対してリクエスト信号（ＲＱ−ＤＴ１）を出力し、ＰＣＩバスマスターシーケンサ５からのアクセス許可信号を待つ（State０１）。この時、ＰＣＩバスマスターシーケンサ５に用意しているアドレスは、被変換データロード制御部１のディスクリプターテーブルの先頭アドレスであり、予め設定されているデータである。
【００２４】
ＰＣＩバスマスターシーケンサ５は、上記ＤＴ−ＣＴＬ１１以外に各部（テーブル値ロード制御部２、ディザ処理制御部３、保管制御部４）からリクエスト信号（ＲＱ）が入力し、アクノリッヂ信号（ＡＫ）を出力する。図３はＰＣＩバスマスターシーケンサ５の処理を説明するフローチャートであり、初期状態（State２０）から上記リクエスト信号（ＲＱ−ＤＴ１等）の入力を待ち、リクエスト信号（ＲＱ）が入力するとバースト数を設定する。例えば、上記リクエスト信号（ＲＱ−ＤＴ１）の場合４ワードであり、後述するＤＴ−ＣＴＬ４１からのリクエスト信号（ＲＱ−ＤＴ３）の場合８ワードであり、Ｂｕｒｓｔ−ＣＴＬ１６からのリクエスト信号（ＲＱ−ＢＳＴ１）の場合１６ワードであり、更に後述するＢｕｒｓｔ−ＣＴＬ２０及び４７からのリクエスト信号（ＲＱ−ＢＳＴ２、３）の場合１６ワードである（State２１）。尚、上記ワード数の設定は、一回のアクセスで１バンド分のデータが揃うので、それぞれに必要なワード数を設定するものである。
【００２５】
次に、ＰＣＩバスのアクセス権の取得を実行のため、ＰＣＩバスにＲＥＱ＃を出力し、アクセス許可を示す信号ＧＮＴ＃を待つ（State２２）。そして、ＰＣＩバスのアクセス権を得たら、ＦＲＡＭＥ＃と共にリクエストを受け付けたコントローラからアドレスをＰＣＩバスに出力し（State２３）、ＩＲＤＹ＃を出力、バースト数をカウントしているカウンタの値を−１し（State２４）、データが用意できたことを示す信号ＴＲＤＹ＃を待つ。
【００２６】
また、ＴＲＤＹ＃ごとにバースト数のカウントを−１して、バーストアクセスを行い、バーストアクセスを終了したら、最初の待機状態（State２０）に戻る。
【００２７】
尚、ＰＣＩバスマスターシーケンサ５の処理については、それぞれ具体的な制御部（被変換データロード制御部１、テーブル値ロード制御部２、ディザ処理制御部３、保管制御部４）の処理動作の際にも説明する。
【００２８】
図２の処理に戻り、上記リクエスト信号（ＲＱ−ＤＴ１）に対するＰＣＩバスマスターシーケンサ５からアクノリッヂ信号（ＡＫ）が出力されると（ＡＫ−ＤＴ１がアクティブ）、ＰＣＩバス上のデータが有効であることを示すＴＲＤＹ＃が出力される（（State０２）。
ＤＴ−ＣＴＬ１１に送信される最初のデータは、フラグデータであり、フラグ保持部１３に書き込まれる。次に、このフラグデータがディスクリプタテーブルの終了を示すフラグであるか判断する。最終フラグはディスクリプターテーブルの最後に位置し、最終データを転送し終えた次のディスクリプタテーブルのフラグである。したがって、通常最初のフラグは終了フラグではない。
【００２９】
次に、終了フラグでなければ、続いてＴＲＤＹ＃の状態において、被変換データが保管されている場所の最初のアドレスデータがディスクリプターテーブルから読み出され、前述のアドレスデータ保持部１４にラッチされる（State０４）。尚、ＴＲＤＹ＃が出力されない状態であれば、前述と同様に待機状態とする（State０３）。
次に、１バンドのバイト数のデータが読み出され、１バンドのバイト数記憶部１５にラッチされる（State０６）。この場合もＴＲＤＹ＃状態では待機する（State０５）。
次にディスクリプターテーブルのアドレスデータが読み出され、ＮｅｘｔＤＴ１２にラッチされる（State０７、０８）。
上記処理によって、ＮｅｘｔＤＴ１２、フラグ保持部１３、アドレスデータ保持部１４、１バンドのバイト数記憶部１５にはそれぞれ必要なデータが書き込まれた状態となる（State０９）。
【００３０】
次に、Ｂｕｒｓｔ−ＣＴＬ１６の動作が終了したか判断し、最初の１バンド目は前バンドが存在しないが、２バンド目以降は前バンドが存在しており、Ｂｕｒｓｔ−ＣＴＬ１６まだ前のバンドを処理している可能性がある。この場合、Ｂｕｒｓｔ−ＣＴＬ１６の前バンドの処理終了を待つ。
【００３１】
最初の処理、又はＢｕｒｓｔ−ＣＴＬ１６が初期状態に戻ると、この時上記のように、ディスクリプタテーブル上の１バンド分のデータ情報は揃っているので、Ｂｕｒｓｔ−ＣＴＬ１６の動作を開始するため、Ｄｔ０ｎ１信号をアクティブにする（State０Ａ）。そして、Ｂｕｒｓｔ−ＣＴＬ１６が動作を開始すると、ＲＡＭ６の指定されたエリアからデータが読み出され、フラグ保持部１３等に取り込んだデータが不要になるので、次の１バンド用のディスクリプターテーブルの情報の取得を開始するため、前述の（State０１）に戻る。この処理は、ディスクリプタテーブルからの終了フラグを受けるまで繰り返される。
【００３２】
図４はＢｕｒｓｔ−ＣＴＬ１６の動作を説明するフローチャートであり、初期状態では前述のＤＴ−ＣＴＬ１１からの動作開始指示の信号（ＤｔＯｎ１）がアクティブになるまで待機している（State１０）。
ＤｔＯｎ１がアクティブになると、ＦＩＦＯ１７にバースト１回分の空き領域があることを確認し、ＰＣＩバスのアクセスを行うため、ＰＣＩバスマスターシーケンサ５に対して、アクセスリクエスト信号（ＲＱ−ＢＳＴ１）をアクティブにする。ここで、ＦＩＦＯ１７にバースト１回分の空きがあるか否かは、ＦＩＦＯ１７にバースト１回分以上の空きがある時にアクティブになる信号（ＦＩＦＯ−Ｈａｌｆ）がアクティブであるかどうかで判断する（State１１）。
【００３３】
次に、ＲＱ−ＢＳＴ１がアクティブになると（State１２）、ＰＣＩバスマスターシーケンサ５からのＰＣＩバスアクセスの許可を待つ。その後、ＰＣＩバスマスターシーケンサ５からＰＣＩバスアクセスの許可（ＡＫ−ＢＳＴ１）を受け取り、ＰＣＩバスアクセスに対する応答があると（ＴＲＤＹ＃がアクティブ）、ＰＣＩバス上のデータをＦＩＦＯ１７にバーストライトする（State１３）。
上記処理は、前述の１バンドのバイト数記憶部１５によってバイト数分繰り返され（State１１〜１３）、ＦＩＦＯ１７を介してＲＡＭ６からデータ（被変換データ）がＦＩＦＯ１７に送られる。
【００３４】
その後、１バンドのバイト数分だけ処理が終了すると、ステート１０に戻り、次のバンド用のＤｔＯｎ１がアクティブになるのを待つ。
尚、図５に被変換データをＦＩＦＯ１７に取り込むまでのタイミングチャートを示す。前述のように、ＤＴ−ＣＴＬ１１から出力されたリクエスト信号（ＲＱ−ＤＴ１）が出力された後（図５に示すａのタイミング）、ＰＣＩバスマスターシーケンサ５からアクノリッヂ信号（ＡＫ−ＤＴ１）を取得すると（図５に示すｂのタイミング）、ＮｅｘｔＤＴ１２、フラグ保持部１３、アドレスデータ保持部１４、１バンドのバイト数記憶部１５に対応するデータが入力する（図５に示すｃのタイミング）。
【００３５】
その後、ＢｕｒｓＷ−ＣＴＬ１６の駆動によって、ＦＩＦＯ１７にデータ（被変換データ）が順次書き込まれる（図５に示すｄのタイミング）。以後、同様の処理が繰り返される（図５に示すｅのタイミング）。
次に、ＦＩＦＯ１７に格納されたデータ（被変換データ）はディザ処理制御部３に供給される。ディザ処理制御部３は上記データに対してディザ処理を行う。
【００３６】
先ず、上記ディザ処理を行うため、Ｎ×Ｎのしきい値からなるディザマトリックス（しきい値テーブル）を入力画像に重ね合わせ、階調値を下げる処理を行う必要がある。このため、先ずしきい値テーブルに階調値をロードする。
この場合、テーブル値ロード制御部２がこの処理を行う。本例においては、従来と異なり、テーブル値ロード制御部２はバンド単位での処理を行い、閾値テーブルＣ、Ｍ、Ｙ、Ｋの容量を小さく抑えることができる。以下、具体的に説明する。
【００３７】
本例では、各色の最初のアドレスデータと、各色のしきい値テーブルのパターン幅の値、階調値を予め設定する。この情報は前述のアドレスＣ〜Ｋ供給部２３、及び階調・幅指定部２４に設定される。
【００３８】
図６はＦＩＦＯ２２に閾値データを書き込む処理を説明するフローチャートであり、Ｂｕｒｓｔ−ＣＴＬ２０の処理を示す。先ずディザパターンのロード開始命令があるまで待機状態とする（State３０）。初期値として、例えば本例では階調・幅指定部（Ｃ）２４に最初の色（例えば、Ｃ（シアン））の階調値とパターン幅をロードしておく。
次に、ＦＩＦＯ２２にバースト１回分の空き領域があることを確認し、ＰＣＩバスのアクセスを行うため、ＰＣＩバスマスターシーケンサ５に対して、アクセスリクエスト信号（ＲＱ−ＢＳＴ２）を送信する。尚、ＦＩＦＯ２２にバースト１回分の空きがあるかどうかは、前述と同様ＦＩＦＯ２２にバースト１回分以上の空きがある時にアクティブになる信号（ＦＩＦＯ−Ｈａｌｆ）がアクティブでないことで判断する（State３１）。
【００３９】
その後、ＰＣＩバスアクセスの許可を待ち、ＰＣＩバスマスターシーケンサ５からＰＣＩバスアクセスの許可信号（ＡＫ−ＢＳＴ２）を受け取り、ＴＲＤＹ＃がアクティブになると、ＲＡＭ６から読み出されたＰＣＩバス上の閾値データをＦＩＦＯ２２にバーストライトする。また、パターン幅カウンタを−１する（State３３）。
【００４０】
その後、１色目のＣ（シアン）の処理を継続し、パターン幅カウンタが０になると、次の色Ｍ（例えば、マゼンタ）のパターン幅の値を階調・幅指定部（Ｍ）にロードする（State３４）。そして、１色目のＣ（シアン）と同様、Ｍ（マゼンタ）の閾値テーブルに書き込むべき閾値データをＦＩＦＯ２２に出力する。以後、Ｙ（イエロー）、Ｋ（ブラック）に対しても同様の処理を行う。
一方、Ｔａｂｌｅ−ＣＴＬ２１は上記Ｂｕｒｓｔ−ＣＴＬ２０の処理によってＦＩＦＯ２２に書き込まれた閾値データを、ＦＩＦＯ２２から読み出し、対応する閾値テーブルＣ、Ｍ、Ｙ、Ｋに書き込む処理を行う。図７は、Ｔａｂｌｅ−ＣＴＬ２１が行う上記処理を説明するフローチャートである。この処理は前述のＦＩＦＯ２２への閾値データの書き込みに対応する処理であり、先ず初期状態として、最初の色（Ｃ（シアン））を選択し、当該色のパターン幅の値がパターン幅カウンタにロードされている（State４０）。
【００４１】
前述のＢｕｒｓｔ−ＣＴＬ２０による書き込み処理があり、ＦＩＦＯ２２にデータがある状態（即ちＦＩＦＯ−Ｅｍｐｔｙではない状態）において（State４１）、ＦＩＦＯ２２に書き込まれたＣ（シアン）の閾値データを読み出す（State４２）。そして、ＦＩＦＯ２２から読み出した閾値データを、選択した色（１番目は上記Ｃ（シアン）のしきい値テーブルに書き込む。さらに、パターン幅カウンタを−１する（State４３）。
その後、予め設定したパターン幅分の閾値データをＦＩＦＯ２２から読み出し、パターン幅カウンタが０になると（State４３）、次の色の処理を同様して行う。すなわち、次の色（Ｍ（マゼンタ））の閾値テーブルを選択し、当該色のパターン幅の値をパターン幅カウンタにロードする（State４４）。
【００４２】
その後、Ｙ（イエロー）、Ｋ（ブラック）に対しても順次同様の処理を行い（State４５）、４色分の処理が終了すると、各閾値テーブルへの閾値データの書き込み処理が完了する。尚、図８は上記処理を示すタイミングチャートである。
上記処理によって各色の閾値テーブルに閾値データが書き込まれた後、ＦＩＦＯ１７に保持されたデータに対するディザ処理が行われる。
【００４３】
図９はディザ処理制御部３が行うディザ処理を説明するフローチャートである。先ず、閾値テーブルに前述の閾値データがロードされていること、及び被変換データがＦＩＦＯ１７に保持されていることを確認する（State５０）。ここで、閾値テーブルに閾値データがロードされていることは、Ｔａｂｌｅ−ＣＴＬ２１が前述の（State４５）に移行しているか否かで判断する。また、ＦＩＦＯ１７にデータが保持されていることは、ディザ処理−ＣＴＬ３０が確認する。
【００４４】
次に、ディザ処理後の変換データが格納されるＦＩＦＯ３１、３２、４８、４９に空き領域があるか判断する。ここで、全てのＦＩＦＯ３１、３２、４８、４９に空き領域があるとき、閾値テーブルＣ、Ｍ、Ｙ、Ｋの閾値データを対応する比較器Ｃ、Ｍ、Ｙ、Ｋに読み出し、更にＦＩＦＯ１７に保持された変換前データを比較器Ｃ、Ｍ、Ｙ、Ｋに読み出す（State５１）。そして、両データを比較し、比較結果を対応するＦＩＦＯ３１、３２、４８、４９に書き込む（State５２）。
図１０は比較器Ｃ、Ｍ、Ｙ、Ｋにおける比較処理を説明する図である。例えば、階調値が「２」の場合、１つの閾値データＡ（８ビットデータ）が閾値テーブルから読み出され、ＦＩＦＯ１７から出力されるＢ（８ビットデータ）との比較を行い、Ｂ≦Ａであれば比較結果として“０”を出力し、Ａ＜Ｂであれば比較結果として“１”を出力する。
【００４５】
また、階調値が「４」の場合、３つの閾値データＡ０、Ａ１、Ａ２（全て８ビットデータ）が閾値テーブルから読み出され、ＦＩＦＯ１７から出力されるＢ（８ビットデータ）との比較処理が行われ、例えばＢ≦Ａ０であれば“０”の比較結果が出力され、Ａ０＜Ｂ≦Ａ１であれば“１”の比較結果が出力され、Ａ１＜Ｂ≦Ａ２であれば“２”の比較結果が出力され、Ａ２＜Ｂであれば比較結果として“３”が出力される。尚、階調値が「１６」の場合についても、図１０に示す通りである。
比較器Ｃ、Ｍ、Ｙ、Ｋによる比較処理の結果は、対応するＦＩＦＯ３１、３２、４８、４９に出力され、格納される。上記処理は１ライン分終了するまで繰り返され、１ライン分の比較処理が終了すると、前述のＴａｂｌｅ−ＣＴＬ２１に通知され、各閾値テーブルのリードアドレスを０に設定する（State５３）。
【００４６】
上記同様の処理が1ページ分が終了するまで繰り返され、ＦＩＦＯ３１、３２、４８、４９には比較結果のデータが順次転送される。
尚、図１１は、上記処理の一例を示す。例えば、３つの閾値データ３０ｈ、５０ｈ、７０ｈ（４階調）が閾値テーブルから読み出される同図のａの場合、ＦＩＦＯ１７から出力された変換前のデータは４０ｈであり、このデータ４０ｈは３０ｈ＜Ｂ≦５０ｈであれり、“１”の比較結果が出力される。また、３つの閾値データ１０ｈ、３０ｈ、５０ｈが閾値テーブルから読み出される同図のｂの場合、ＦＩＦＯ１７から出力された変換前のデータは４０ｈであり、このデータ４０ｈは３０ｈ＜Ｂ≦５０ｈであり、“２”の比較結果が出力される。同図に示すｃ以降についても同様である。
【００４７】
本例の場合、上記のように、閾値テーブルＣ、Ｍ、Ｙ、Ｋはそれぞれ１ラインのデータを格納する領域も容量のメモリであり、従来に比べて小さい容量のメモリで構成され、１ライン毎に閾値データを更新して比較処理を行うものである。
このように構成することにより、小さい容量の閾値テーブル（メモリ）を使用して、処理の速度を低下させることなく、ディザ変換処理を行うことができるものである。
（実施形態２）
【００４８】
次に、本発明の実施形態２について説明する。
本例は、上記実施形態１によってディザ処理が行われたデータをＲＡＭ６に再度読み戻すものである。したがって、本実施形態２の説明においても、前述の図１の回路ブロック図を使用して説明する。
【００４９】
図１２は、保管制御部４（ＤＴ−ＣＴＬ４１）の処理を説明するフローチャートである。先ず、待機状態であり（State６０）、動作開始の許可があると、State６１に移行する。そして、ＰＣＩバスマスターシーケンサ５へのアクセスリクエスト信号（ＲＱ−ＤＴ３）をアクティブにする（State６１）。
その後、ＰＣＩバスマスターシーケンサ５からアクセス許可信号（ＡＫ−ＤＴ３）があるまで待機し、この時ＰＣＩバスマスターシーケンサ５に対して用意しているアドレスは、ディザ処理後のデータをＰＣＩバスに保管する制御用のディスクリプターテーブルの先頭アドレスであり、予め設定されている。
【００５０】
その後、ＰＣＩバスマスターシーケンサ５からのＡＫ−ＤＴ３がアクティブになり、ＰＣＩバス上のデータが有効であることを示すＴＲＤＹ＃が出力されると、変換後のデータをラッチする（State６２）。また、２番目以降のデータを同一ステートでラッチするための識別用のカウンタに初期値をセットする。
ここで、最初のデータがディスクリプタテーブルの終了かどうかを示すフラグであれば処理を終了するが、通常は終了フラグではなく、ＴＲＤＹ＃により１色あたりのバイト数(例えば６４バイト)を示すデータが保管されており、このデータをラッチする（State６４）。尚、ＴＲＤＹ＃が出力されていなければ、出力されるまで待機する（State６３）。また、２番目以降のデータを識別するカウンタの値を−１する。
【００５１】
次の３番目のＴＲＤＹ＃でも同様に、出力されていなければ待機し（State６３）、出力されていれば、１バンドのバイト数（例えば、２２０バイト）の情報を書き込む（State５４）。この１バンドのバイト数のデータは前述の１バンドのバイト数記憶部４６に書き込まれる。
【００５２】
その後、４番目から７番目のＴＲＤＹ＃では順にＣ、Ｍ、Ｙ、Ｋの最初のアドレスが出力され、それらのデータをそれぞれ、アドレスデータ記憶部４４に書き込む。最後のＴＲＤＹ＃でも同様に、出力されていなければ待機（State６３）。出力されていれば、次のディスクリプタテーブルのアドレスをＮｅｘｔＤＴ４２に書き込む（State６４)。
８番目のＴＲＤＹ＃での処理が終了すると、アクセス数カウンタの値が０になり、次の（State６５）の処理に移行する。ここで、１バンド目は前バンドが存在しないが、２バンド目以降は前バンドが存在しており、Ｂｕｒｓｔ−ＣＴＬ４７が未だ前バンドを処理している場合には当該処理の処理終了を待つ。尚、前バンドの処理終了は、Ｂｕｒｓｔ−ＣＴＬ４７が初期状態（図１３に示す（State７１））に戻っているかどうかで判断する（State６５）。
【００５３】
Ｂｕｒｓｔ−ＣＴＬ４７が初期状態に戻ると、ディスクリプタテーブル上の１バンド分のデータ情報は揃っているので、Ｂｕｒｓｔ−ＣＴＬ４７の動作を開始させるため、ＤｔＯｎ３信号をアクティブにする（State６６）。そして、Ｂｕｒｓｔ−ＣＴＬ４７が動作を開始したら、今取り込んだディスクリプタテーブルからの情報は不要になり、次の１バンド用のディスクリプターテーブルの情報の取得を開始するために、（State６１）に戻る。この動作を、ディスクリプタテーブルからの終了フラグを受けるまで繰り返す。
次に、保管制御部４のＢｕｒｓｔ−ＣＴＬ４７の処理を図１３に示すフローチャートを用いて説明する。初期状態では、最初の値としてＦＩＦＯ３１を選択（State７０）しており、前述のＤＴーＣＴＬ４１からの動作開始指示の信号（ＤｔＯｎ３）がアクティブになるまで待機する（State７１）。
【００５４】
以下、ＦＩＦＯ３１、３２、４８、４９とは、選択された色のＦＩＦＯのことであり、最初の色であればＦＩＦＯ３１、２番目ならＦＩＦＯ３２、３番目ならＦＩＦＯ４８、４番目ならＦＩＦＯ４９を示す。
ＤｔＯｎ３がアクティブになると、ＦＩＦＯ３１、３２、４８、４９にバースト一回分以上のデータが保管されているかを確認し、ＰＣＩバスのアクセスを行うためにＰＣＩバスマスタシーケンサ５に対して、アクセスリクエスト信号（ＲＱ−ＢＳＴ３）をアクティブにする。ＦＩＦＯ３１、３２、４８、４９にバースト一回分の以上のデータが保管されているかどうかは、ＦＩＦＯ３１、３２、４８、４９にバースト一回分以上のデータが保管されている時にアクティブになる信号（ＦＩＦＯ−Ｈａｌｆ）がアクティブかどうかで判断する（State７２）。
【００５５】
尚、残りのバイト数がバースト１回分に満たない場合にはＦＩＦＯ−Ｈａｌｆがアクティブにならないので、（State７３）にてバーストする数として残バイト数をセットした上で、次の処理（State７４）に移行する。また、ＰＣＩバスマスターシーケンサ５へのアドレスはＦＩＦＯ３１、３２、４８、４９を選択した色と同一のものを選択して出力するものとする。
ＲＱ−ＢＳＴ３がアクティブになると（State７４）、ＰＣＩバスマスシーケンサ５からのＰＣＩバスアクセスの許可を待つ。そして、ＰＣＩバスマスターシーケンサ５からＰＣＩバスアクセスの許可（ＡＫ−ＢＳＴ３）を受け取ると、ＰＣＩバス上に出力するＦＩＦＯのデータを用意して、マスターシーケンサによるＰＣＩバスアクセスに対する応答があると（ＴＲＤＹ＃がアクティブ）、ＦＩＦＯ３１、３２、４８、４９をリードして次々にデータを用意させる（State７５）。
【００５６】
上記（State７２）〜（State７５）までを、１色のバイト数の分だけくり返す。そして、１色のバイト数の分だけ処理が終了したら、次の色のＦＩＦＯを選択し（State７６）、（State７２）に戻り、同様の処理を行う。これを１バンド終了まで繰り返す。
その後、１バンド分の処理が終了すると、（State７１）まで戻り、次のディスクリプタテーブルの値に従って、新しいアドレスのバンドについて、同様にアクセスを行う。これを１ページ終了までくり返す。
図１４は、上記処理により、ＰＣＩバスを介して保管されたディザ処理後のデータの状態を示す。同図に示すように、１色あたりの連続した書き込みデータ量（６４バイト）を、〔１〕〜〔１４０８０〕で記述しており、〔  〕内の数字は書き込みの順番を示している。すなわち、Ｃ−１をシアンの初期アドレスとし、Ｍ−１をマゼンタの初期アドレスとし、Ｙ−１をイエローの初期アドレスとし、Ｋ−１をブラックの初期アドレスとし、Ｃ、Ｍ、Ｙ、Ｋの順にディザ処理後のデータを対応するＦＩＦＯ３１、３２、４８、４９から読み出し、ＲＡＭ６の指定されたアドレスに書き込む構成である。尚、図１５は上記保管制御部４の処理動作を示すタイミングチャートである。
【００５７】
以上のように処理することによって、回路規模の小さいディザ処理装置、及び印刷装置を提供することができる。
尚、上記説明では、閾値テーブルＣ、Ｍ、Ｙ、Ｋに閾値データをロードする際、各色の最初のアドレスと、各色のパターン幅、階調値を予め設定しておく構成としたが、テーブルを用意して、このテーブルに設定すべき値を格納しておく構成としてもよい。さらに、バンド単位で閾値テーブルのパターン幅、階調値等を変更する構成としてもよい。
【図面の簡単な説明】
【００５８】
【図１】本実施形態のディザ処理制御回路のブロック図である。
【図２】被変換データロード制御部のＤＴ−ＣＴＬの処理動作を説明するフローチャートである。
【図３】ＰＣＩバスマスターシーケンサの処理動作を説明するフローチャートである。
【図４】被変換データロード制御部のＢｕｒｓｔ−ＣＴＬの処理動作を説明するフローチャートである。
【図５】被変換データロード制御部の処理動作を説明するタイミングチャートである。
【図６】テーブル値ロード制御部のＢｕｒｓｔ−ＣＴＬの処理動作を説明するフローチャートである。
【図７】テーブル値ロード制御部２のＴａｂｌｅ−ＣＴＬの処理動作を説明するフローチャートである。
【図８】テーブル値ロード制御部２の処理動作を説明するタイミングチャートである。
【図９】ディザ処理制御部のディザ処理−ＣＴＬの処理動作を説明するフローチャートである。
【図１０】ディザ処理制御部のディザ処理の論理テーブルを説明する図である。
【図１１】ディザ処理制御部の処理動作を説明するタイミングチャートである。
【図１２】保管制御部のＤＴ−ＣＴＬの処理動作を説明するフローチャートである。
【図１３】保管制御部のＢｕｒｓｔ−ＣＴＬの処理動作を説明するフローチャートである。
【図１４】ディザ処理後のデータの保管状態を示す図である。
【図１５】保管制御部の処理動作を説明するタイミングチャートである。
【符号の説明】
【００５９】
１・・・被変換データロード制御部
２・・・テーブル値ロード部
３・・・ディザ処理制御部
４・・・保管制御部
５・・・ＰＣＩバスマスターシーケンサ
６・・・ＲＡＭ
７・・・ＣＰＵ
１１・・ＤＴ−ＣＴＬ
１２・・ＮｅｘｔＤＴ
１３・・フラグ保持部
１４・・アドレスデータ保持部
１５・・１バンドのバイト数記憶部
１６・・Ｂｕｒｓｔ−ＣＴＬ
１７・・ＦＩＦＯ
２０・・Ｂｕｒｓｔ−ＣＴＬ
２１・・Ｔａｂｌｅ−ＣＴＬ
２２・・ＦＩＦＯ
３１、３２、４８、４９・・ＦＩＦＯ
４１・・ＤＴ−ＣＴＬ
４２・・ＮｅｘｔＤＴ
４２・・フラグ保持部
４３・・フラグ保持部
４４・・アドレスデータ保持部
４５・・１色のバイト数記憶部
４６・・１バンドのバイト数記憶部
４７・・Ｂｕｒｓｔ−ＣＴＬ
【図１】
2009241432.tif 000003
【図２】
2009241432.tif 000004
【図３】
2009241432.tif 000005
【図４】
2009241432.tif 000006
【図６】
2009241432.tif 000007
【図７】
2009241432.tif 000008
【図９】
2009241432.tif 000009
【図１０】
2009241432.tif 000010
【図１２】
2009241432.tif 000011
【図１３】
2009241432.tif 000012
【図１４】
2009241432.tif 000013
【図５】
2009241432.tif 000014
【図８】
2009241432.tif 000015
【図１１】
2009241432.tif 000016
【図１５】
2009241432.tif 000017