JP2009241432A - 印刷装置 - Google Patents
印刷装置 Download PDFInfo
- Publication number
- JP2009241432A JP2009241432A JP2008091273A JP2008091273A JP2009241432A JP 2009241432 A JP2009241432 A JP 2009241432A JP 2008091273 A JP2008091273 A JP 2008091273A JP 2008091273 A JP2008091273 A JP 2008091273A JP 2009241432 A JP2009241432 A JP 2009241432A
- Authority
- JP
- Japan
- Prior art keywords
- data
- dither processing
- threshold
- storage means
- state
- 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.)
- Withdrawn
Links
Landscapes
- Color, Gradation (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Record Information Processing For Printing (AREA)
Abstract
【課題】本発明はディザ処理装置、及びディザ処理装置によってディザ処理が行われた印刷データを記録媒体に印刷する印刷装置に関し、特に回路規模を大きくすることなく、コストを抑えたディザ処理装置、及び印刷装置を提供することを目的とする。
【解決手段】ディザ処理を行う印刷装置であり、ディザ処理前のデータを記憶する第1の記憶手段と、予め設定された色毎の閾値情報を記憶する第2の記憶手段と、上記第1の記憶手段から前記データを読み出し、色毎の閾値情報に従ってディザ処理を行うディザ処理制御手段を有し、ディザ処理制御手段は1ライン毎に更新される階調値に対応した閾値情報を前記データと比較することによってディザ処理を行い、ディザ処理後のデータを上記第1の記憶手段に書き戻す構成である。
【選択図】 図1
【解決手段】ディザ処理を行う印刷装置であり、ディザ処理前のデータを記憶する第1の記憶手段と、予め設定された色毎の閾値情報を記憶する第2の記憶手段と、上記第1の記憶手段から前記データを読み出し、色毎の閾値情報に従ってディザ処理を行うディザ処理制御手段を有し、ディザ処理制御手段は1ライン毎に更新される階調値に対応した閾値情報を前記データと比較することによってディザ処理を行い、ディザ処理後のデータを上記第1の記憶手段に書き戻す構成である。
【選択図】 図1
Description
本発明はディザ処理装置、及びディザ処理装置によってディザ処理が行われた印刷データを記録媒体に印刷する印刷装置に関する。
パーソナルコンピュータ(PC)等のホスト機器から送信される印刷データにディザ処理を施す場合、色毎にディザパターンを用意し、テーブルに展開されたディザパターンを読み出して印刷データと比較することによって処理を行っている。
尚、特許文献1には、PCIバス制御部が記載され、このPCIバスを効率良く使用するため、FIFO(First-In First-Out)を介してデータのやり取りを行う印刷システムの発明が開示されている。尚、この特許文献1には、特にカラー対応については記述されていないが、同様の回路を4つ使用することにより、4色カラーの対応が可能である。
特開2003−167700号公報
しかしながら、上記従来のディザ処理では、PCIバス制御は複数の色の同時処理が可能なため、タンデム仕様のカラープリンタのビデオデータ転送も可能ではあるが、色の数の分だけテーブルが必要となり、回路規模が大きくなる。すなわち、色毎にディザパターンのテーブルを用意し、閾値情報を読み出してディザ処理を行うため、結果的にチップが大型化し、装置のコストアップの原因となる。
そこで、本発明は回路規模を大きくすることなく、コストを抑えたディザ処理装置、及び印刷装置を提供することを目的とする。
上記課題は第1の発明によれば、ディザ処理前のデータを記憶する第1の記憶手段と、予め設定された色毎の閾値情報を記憶する第2の記憶手段と、前記第1の記憶手段から前記データを読み出し、前記色毎の閾値情報に従ってディザ処理を行うディザ処理制御手段と、該ディザ処理後のデータを前記第1の記憶手段に書き戻すデータ書込手段とを有するディザ処理装置を提供することによって達成できる。
また、第2の発明によれば、前記第2の記憶手段に記憶された閾値情報は、1ライン毎に更新される階調値に対応した閾値情報であり、前記ディザ処理制御手段は1ライン毎に更新される階調値に対応した閾値情報を前記データと比較することによってディザ処理を行うディザ処理装置を提供することによって達成できる。
また、上記課題は第3の発明によれば、ディザ処理前のデータを記憶する第1の記憶手段と、予め設定された色毎の閾値情報を記憶する第2の記憶手段と、前記第1の記憶手段から前記データを読み出し、前記色毎の閾値情報に従ってディザ処理を行うディザ処理制御手段と、前記ディザ処理後のデータを記録媒体に印刷する印刷処理手段とを有する印刷装置を提供することによって達成できる。
また、上記課題は第4の発明によれば、前記第2の記憶手段に記憶された閾値情報は、1ライン毎に更新される階調値に対応した閾値情報であり、前記ディザ処理制御手段は1ライン毎に更新される階調値に対応した閾値情報を前記データと比較することによってディザ処理を行う印刷装置を提供することによって達成できる。
また、上記課題は第5の発明によれば、前記第1の記憶手段からのデータの読み出しは、予め設定されたテーブルに記憶された情報に基づいて行い、少なくとも前記第1の記憶手段に記憶されたデータのアドレス情報と、1バンドのバイと数情報と、前記テーブル上の次のアクセス位置情報とを有するディザ処理装置を提供することによって達成できる。
さらに、上記課題は第6の発明によれば、前記第1の記憶手段からのデータの読み出しは、予め設定されたテーブルに記憶された情報に基づいて行い、少なくとも前記第1の記憶手段に記憶されたデータのアドレス情報と、1バンドのバイと数情報と、前記テーブル上の次のアクセス位置情報とを有する印刷装置を提供することによって達成できる。
本発明によれば、ディザ処理に使用する閾値テーブルを画像メモリ上の1ラインごとに行い、小容量のテーブルを使用することができ、更に各色を同時に更新せず、順次処理することにより、回路規模の小さいディザ処理装置、及び印刷装置を提供することができる。
以下、本発明の実施の形態を図面に基づいて説明する。
(実施形態1)
(実施形態1)
図1は本例の印刷装置の要部を示す図であり、特にディザ処理制御回路のブロック図である。本例のディザ処理制御回路は大きく5つのブロックに分かれ、被変換データのロードを制御する被変換データロード制御部1、閾値テーブルの値をロードするテーブル値ロード制御部2、データを比較してディザ処理を行うディザ処理制御部3、ディザ処理後のデータを保管する(書き戻す)保管制御部4、及びPCIバスマスターシーケンサ5で構成されている。
被変換データロード制御部1はRAM6からCPU7の制御によって不図示のディスクリプターテーブルを読み出し、ディザ処理制御部3に出力する処理を行う。また、被変換データロード制御部1はディスクリプターテーブルコントローラ(以下、DT−CTLで示す)11、ネクストディスクリプターテーブル位置指定部(以下、NextDTで示す)12、フラグ保持部13、アドレスデータ保持部14、1バンドのバイト数記憶部15、バーストライトコントローラ(以下、BursW−CTLで示す)16、及びFIFO17で構成されている。
上記NextDT12、フラグ保持部13、アドレスデータ保持部14、1バンドのバイト数記憶部15に書き込まれるデータは、RAM6に予め登録されたディスクリプターテーブルから読み出されるデータである。
また、DT−CTL11はPCIバスマスターシーケンサ5との間でリクエスト信号(RQ)、及びアクノリッヂ信号(AK)の授受を行い、RAM6に記憶されたデータ(被変換データ)を取り込み、Burst−CTL16の制御に従ってディザ処理制御部3に送信する。
テーブル値ロード制御部2は、Burst−CTL20、Table−CTL21、FIFO22、及び閾値テーブルC、M、Y、Kで構成されている。また、Burst−CTL20にC、M、Y、Kのアドレスデータを供給するアドレスC〜K供給部23、及びC、M、Y、Kの階調、及び幅を指定する階調・幅指定部24も配設されている。
ディザ処理制御部3はディザ処理コントローラ(以下、ディザ処理−CTLで示す)30、及び被変換データロード制御部1から出力される被変換データとテーブル値ロード制御部2から出力される各色C、M、Y、Kの閾値テーブルの閾値との比較を行う比較器C、M、Y、Kで構成されている。また、FIFO31、32、48、49も配設されている。ディザ処理−CTL30は本例のディザ処理制御を行い、ディザ処理後のデータをFIFO31、32、48、49に書き込む。
保管制御部4は、DT−CTL41、NextDT42、フラグ保持部43、アドレスデータ保持部44、1色のバイト数記憶部45、1バンドのバイト数記憶部46、Burst−CTL47で構成されている。DT−CTL41は、RAM6に記憶された不図示のディスクリプターテーブルからテーブル情報を読み出し、次のポイント位置の情報をNextDT42に書き込み、フラグ情報をフラグ保持部43に書き込み、RAM6のアドレス情報をアドレスデータ保持部44に書き込み、1色のバイト数の情報を1色のバイト数記憶部45に書き込み、1バンドのバイト数の情報を1バンドのバイト数記憶部46に書き込む。
また、Burst−CTL47はFIFO31、32、48、49に書き込まれたディザ処理後のデータを読み出し、上記アドレス情報に従ってRAM6に書き戻す。
また、PCIバスマスターシーケンサ5は各部から転送されるリクエスト信号(RQ)に対してCPU7との間で信号の授受を行い、アクノリッヂ信号(AK)の出力を行い、FRAME#、IRDY#等の出力処理を行う。
また、PCIバスマスターシーケンサ5は各部から転送されるリクエスト信号(RQ)に対してCPU7との間で信号の授受を行い、アクノリッヂ信号(AK)の出力を行い、FRAME#、IRDY#等の出力処理を行う。
次に、本例の処理動作を説明する。
先ず、被変換データをFIFO17にロードするまでの処理を説明する。
図2は被変換データロード制御部1の処理を説明するフローチャートであり、RAM6からFIFO17にデータ(被変換データ)をロードする処理を説明する。先ず、DT−CTL11は待機状態である(ステート(以下、Stateで示す)00)。
先ず、被変換データをFIFO17にロードするまでの処理を説明する。
図2は被変換データロード制御部1の処理を説明するフローチャートであり、RAM6からFIFO17にデータ(被変換データ)をロードする処理を説明する。先ず、DT−CTL11は待機状態である(ステート(以下、Stateで示す)00)。
次に、DT−CTL11の動作開始が許可されるとアクティブ状態となり、DT−CTL11はPCIバスマスターシーケンサ5に対してリクエスト信号(RQ−DT1)を出力し、PCIバスマスターシーケンサ5からのアクセス許可信号を待つ(State01)。この時、PCIバスマスターシーケンサ5に用意しているアドレスは、被変換データロード制御部1のディスクリプターテーブルの先頭アドレスであり、予め設定されているデータである。
PCIバスマスターシーケンサ5は、上記DT−CTL11以外に各部(テーブル値ロード制御部2、ディザ処理制御部3、保管制御部4)からリクエスト信号(RQ)が入力し、アクノリッヂ信号(AK)を出力する。図3はPCIバスマスターシーケンサ5の処理を説明するフローチャートであり、初期状態(State20)から上記リクエスト信号(RQ−DT1等)の入力を待ち、リクエスト信号(RQ)が入力するとバースト数を設定する。例えば、上記リクエスト信号(RQ−DT1)の場合4ワードであり、後述するDT−CTL41からのリクエスト信号(RQ−DT3)の場合8ワードであり、Burst−CTL16からのリクエスト信号(RQ−BST1)の場合16ワードであり、更に後述するBurst−CTL20及び47からのリクエスト信号(RQ−BST2、3)の場合16ワードである(State21)。尚、上記ワード数の設定は、一回のアクセスで1バンド分のデータが揃うので、それぞれに必要なワード数を設定するものである。
次に、PCIバスのアクセス権の取得を実行のため、PCIバスにREQ#を出力し、アクセス許可を示す信号GNT#を待つ(State22)。そして、PCIバスのアクセス権を得たら、FRAME#と共にリクエストを受け付けたコントローラからアドレスをPCIバスに出力し(State23)、IRDY#を出力、バースト数をカウントしているカウンタの値を−1し(State24)、データが用意できたことを示す信号TRDY#を待つ。
また、TRDY#ごとにバースト数のカウントを−1して、バーストアクセスを行い、バーストアクセスを終了したら、最初の待機状態(State20)に戻る。
尚、PCIバスマスターシーケンサ5の処理については、それぞれ具体的な制御部(被変換データロード制御部1、テーブル値ロード制御部2、ディザ処理制御部3、保管制御部4)の処理動作の際にも説明する。
図2の処理に戻り、上記リクエスト信号(RQ−DT1)に対するPCIバスマスターシーケンサ5からアクノリッヂ信号(AK)が出力されると(AK−DT1がアクティブ)、PCIバス上のデータが有効であることを示すTRDY#が出力される((State02)。
DT−CTL11に送信される最初のデータは、フラグデータであり、フラグ保持部13に書き込まれる。次に、このフラグデータがディスクリプタテーブルの終了を示すフラグであるか判断する。最終フラグはディスクリプターテーブルの最後に位置し、最終データを転送し終えた次のディスクリプタテーブルのフラグである。したがって、通常最初のフラグは終了フラグではない。
DT−CTL11に送信される最初のデータは、フラグデータであり、フラグ保持部13に書き込まれる。次に、このフラグデータがディスクリプタテーブルの終了を示すフラグであるか判断する。最終フラグはディスクリプターテーブルの最後に位置し、最終データを転送し終えた次のディスクリプタテーブルのフラグである。したがって、通常最初のフラグは終了フラグではない。
次に、終了フラグでなければ、続いてTRDY#の状態において、被変換データが保管されている場所の最初のアドレスデータがディスクリプターテーブルから読み出され、前述のアドレスデータ保持部14にラッチされる(State04)。尚、TRDY#が出力されない状態であれば、前述と同様に待機状態とする(State03)。
次に、1バンドのバイト数のデータが読み出され、1バンドのバイト数記憶部15にラッチされる(State06)。この場合もTRDY#状態では待機する(State05)。
次にディスクリプターテーブルのアドレスデータが読み出され、NextDT12にラッチされる(State07、08)。
上記処理によって、NextDT12、フラグ保持部13、アドレスデータ保持部14、1バンドのバイト数記憶部15にはそれぞれ必要なデータが書き込まれた状態となる(State09)。
次に、1バンドのバイト数のデータが読み出され、1バンドのバイト数記憶部15にラッチされる(State06)。この場合もTRDY#状態では待機する(State05)。
次にディスクリプターテーブルのアドレスデータが読み出され、NextDT12にラッチされる(State07、08)。
上記処理によって、NextDT12、フラグ保持部13、アドレスデータ保持部14、1バンドのバイト数記憶部15にはそれぞれ必要なデータが書き込まれた状態となる(State09)。
次に、Burst−CTL16の動作が終了したか判断し、最初の1バンド目は前バンドが存在しないが、2バンド目以降は前バンドが存在しており、Burst−CTL16まだ前のバンドを処理している可能性がある。この場合、Burst−CTL16の前バンドの処理終了を待つ。
最初の処理、又はBurst−CTL16が初期状態に戻ると、この時上記のように、ディスクリプタテーブル上の1バンド分のデータ情報は揃っているので、Burst−CTL16の動作を開始するため、Dt0n1信号をアクティブにする(State0A)。そして、Burst−CTL16が動作を開始すると、RAM6の指定されたエリアからデータが読み出され、フラグ保持部13等に取り込んだデータが不要になるので、次の1バンド用のディスクリプターテーブルの情報の取得を開始するため、前述の(State01)に戻る。この処理は、ディスクリプタテーブルからの終了フラグを受けるまで繰り返される。
図4はBurst−CTL16の動作を説明するフローチャートであり、初期状態では前述のDT−CTL11からの動作開始指示の信号(DtOn1)がアクティブになるまで待機している(State10)。
DtOn1がアクティブになると、FIFO17にバースト1回分の空き領域があることを確認し、PCIバスのアクセスを行うため、PCIバスマスターシーケンサ5に対して、アクセスリクエスト信号(RQ−BST1)をアクティブにする。ここで、FIFO17にバースト1回分の空きがあるか否かは、FIFO17にバースト1回分以上の空きがある時にアクティブになる信号(FIFO−Half)がアクティブであるかどうかで判断する(State11)。
DtOn1がアクティブになると、FIFO17にバースト1回分の空き領域があることを確認し、PCIバスのアクセスを行うため、PCIバスマスターシーケンサ5に対して、アクセスリクエスト信号(RQ−BST1)をアクティブにする。ここで、FIFO17にバースト1回分の空きがあるか否かは、FIFO17にバースト1回分以上の空きがある時にアクティブになる信号(FIFO−Half)がアクティブであるかどうかで判断する(State11)。
次に、RQ−BST1がアクティブになると(State12)、PCIバスマスターシーケンサ5からのPCIバスアクセスの許可を待つ。その後、PCIバスマスターシーケンサ5からPCIバスアクセスの許可(AK−BST1)を受け取り、PCIバスアクセスに対する応答があると(TRDY#がアクティブ)、PCIバス上のデータをFIFO17にバーストライトする(State13)。
上記処理は、前述の1バンドのバイト数記憶部15によってバイト数分繰り返され(State11〜13)、FIFO17を介してRAM6からデータ(被変換データ)がFIFO17に送られる。
上記処理は、前述の1バンドのバイト数記憶部15によってバイト数分繰り返され(State11〜13)、FIFO17を介してRAM6からデータ(被変換データ)がFIFO17に送られる。
その後、1バンドのバイト数分だけ処理が終了すると、ステート10に戻り、次のバンド用のDtOn1がアクティブになるのを待つ。
尚、図5に被変換データをFIFO17に取り込むまでのタイミングチャートを示す。前述のように、DT−CTL11から出力されたリクエスト信号(RQ−DT1)が出力された後(図5に示すaのタイミング)、PCIバスマスターシーケンサ5からアクノリッヂ信号(AK−DT1)を取得すると(図5に示すbのタイミング)、NextDT12、フラグ保持部13、アドレスデータ保持部14、1バンドのバイト数記憶部15に対応するデータが入力する(図5に示すcのタイミング)。
尚、図5に被変換データをFIFO17に取り込むまでのタイミングチャートを示す。前述のように、DT−CTL11から出力されたリクエスト信号(RQ−DT1)が出力された後(図5に示すaのタイミング)、PCIバスマスターシーケンサ5からアクノリッヂ信号(AK−DT1)を取得すると(図5に示すbのタイミング)、NextDT12、フラグ保持部13、アドレスデータ保持部14、1バンドのバイト数記憶部15に対応するデータが入力する(図5に示すcのタイミング)。
その後、BursW−CTL16の駆動によって、FIFO17にデータ(被変換データ)が順次書き込まれる(図5に示すdのタイミング)。以後、同様の処理が繰り返される(図5に示すeのタイミング)。
次に、FIFO17に格納されたデータ(被変換データ)はディザ処理制御部3に供給される。ディザ処理制御部3は上記データに対してディザ処理を行う。
次に、FIFO17に格納されたデータ(被変換データ)はディザ処理制御部3に供給される。ディザ処理制御部3は上記データに対してディザ処理を行う。
先ず、上記ディザ処理を行うため、N×Nのしきい値からなるディザマトリックス(しきい値テーブル)を入力画像に重ね合わせ、階調値を下げる処理を行う必要がある。このため、先ずしきい値テーブルに階調値をロードする。
この場合、テーブル値ロード制御部2がこの処理を行う。本例においては、従来と異なり、テーブル値ロード制御部2はバンド単位での処理を行い、閾値テーブルC、M、Y、Kの容量を小さく抑えることができる。以下、具体的に説明する。
この場合、テーブル値ロード制御部2がこの処理を行う。本例においては、従来と異なり、テーブル値ロード制御部2はバンド単位での処理を行い、閾値テーブルC、M、Y、Kの容量を小さく抑えることができる。以下、具体的に説明する。
本例では、各色の最初のアドレスデータと、各色のしきい値テーブルのパターン幅の値、階調値を予め設定する。この情報は前述のアドレスC〜K供給部23、及び階調・幅指定部24に設定される。
図6はFIFO22に閾値データを書き込む処理を説明するフローチャートであり、Burst−CTL20の処理を示す。先ずディザパターンのロード開始命令があるまで待機状態とする(State30)。初期値として、例えば本例では階調・幅指定部(C)24に最初の色(例えば、C(シアン))の階調値とパターン幅をロードしておく。
次に、FIFO22にバースト1回分の空き領域があることを確認し、PCIバスのアクセスを行うため、PCIバスマスターシーケンサ5に対して、アクセスリクエスト信号(RQ−BST2)を送信する。尚、FIFO22にバースト1回分の空きがあるかどうかは、前述と同様FIFO22にバースト1回分以上の空きがある時にアクティブになる信号(FIFO−Half)がアクティブでないことで判断する(State31)。
次に、FIFO22にバースト1回分の空き領域があることを確認し、PCIバスのアクセスを行うため、PCIバスマスターシーケンサ5に対して、アクセスリクエスト信号(RQ−BST2)を送信する。尚、FIFO22にバースト1回分の空きがあるかどうかは、前述と同様FIFO22にバースト1回分以上の空きがある時にアクティブになる信号(FIFO−Half)がアクティブでないことで判断する(State31)。
その後、PCIバスアクセスの許可を待ち、PCIバスマスターシーケンサ5からPCIバスアクセスの許可信号(AK−BST2)を受け取り、TRDY#がアクティブになると、RAM6から読み出されたPCIバス上の閾値データをFIFO22にバーストライトする。また、パターン幅カウンタを−1する(State33)。
その後、1色目のC(シアン)の処理を継続し、パターン幅カウンタが0になると、次の色M(例えば、マゼンタ)のパターン幅の値を階調・幅指定部(M)にロードする(State34)。そして、1色目のC(シアン)と同様、M(マゼンタ)の閾値テーブルに書き込むべき閾値データをFIFO22に出力する。以後、Y(イエロー)、K(ブラック)に対しても同様の処理を行う。
一方、Table−CTL21は上記Burst−CTL20の処理によってFIFO22に書き込まれた閾値データを、FIFO22から読み出し、対応する閾値テーブルC、M、Y、Kに書き込む処理を行う。図7は、Table−CTL21が行う上記処理を説明するフローチャートである。この処理は前述のFIFO22への閾値データの書き込みに対応する処理であり、先ず初期状態として、最初の色(C(シアン))を選択し、当該色のパターン幅の値がパターン幅カウンタにロードされている(State40)。
一方、Table−CTL21は上記Burst−CTL20の処理によってFIFO22に書き込まれた閾値データを、FIFO22から読み出し、対応する閾値テーブルC、M、Y、Kに書き込む処理を行う。図7は、Table−CTL21が行う上記処理を説明するフローチャートである。この処理は前述のFIFO22への閾値データの書き込みに対応する処理であり、先ず初期状態として、最初の色(C(シアン))を選択し、当該色のパターン幅の値がパターン幅カウンタにロードされている(State40)。
前述のBurst−CTL20による書き込み処理があり、FIFO22にデータがある状態(即ちFIFO−Emptyではない状態)において(State41)、FIFO22に書き込まれたC(シアン)の閾値データを読み出す(State42)。そして、FIFO22から読み出した閾値データを、選択した色(1番目は上記C(シアン)のしきい値テーブルに書き込む。さらに、パターン幅カウンタを−1する(State43)。
その後、予め設定したパターン幅分の閾値データをFIFO22から読み出し、パターン幅カウンタが0になると(State43)、次の色の処理を同様して行う。すなわち、次の色(M(マゼンタ))の閾値テーブルを選択し、当該色のパターン幅の値をパターン幅カウンタにロードする(State44)。
その後、予め設定したパターン幅分の閾値データをFIFO22から読み出し、パターン幅カウンタが0になると(State43)、次の色の処理を同様して行う。すなわち、次の色(M(マゼンタ))の閾値テーブルを選択し、当該色のパターン幅の値をパターン幅カウンタにロードする(State44)。
その後、Y(イエロー)、K(ブラック)に対しても順次同様の処理を行い(State45)、4色分の処理が終了すると、各閾値テーブルへの閾値データの書き込み処理が完了する。尚、図8は上記処理を示すタイミングチャートである。
上記処理によって各色の閾値テーブルに閾値データが書き込まれた後、FIFO17に保持されたデータに対するディザ処理が行われる。
上記処理によって各色の閾値テーブルに閾値データが書き込まれた後、FIFO17に保持されたデータに対するディザ処理が行われる。
図9はディザ処理制御部3が行うディザ処理を説明するフローチャートである。先ず、閾値テーブルに前述の閾値データがロードされていること、及び被変換データがFIFO17に保持されていることを確認する(State50)。ここで、閾値テーブルに閾値データがロードされていることは、Table−CTL21が前述の(State45)に移行しているか否かで判断する。また、FIFO17にデータが保持されていることは、ディザ処理−CTL30が確認する。
次に、ディザ処理後の変換データが格納されるFIFO31、32、48、49に空き領域があるか判断する。ここで、全てのFIFO31、32、48、49に空き領域があるとき、閾値テーブルC、M、Y、Kの閾値データを対応する比較器C、M、Y、Kに読み出し、更にFIFO17に保持された変換前データを比較器C、M、Y、Kに読み出す(State51)。そして、両データを比較し、比較結果を対応するFIFO31、32、48、49に書き込む(State52)。
図10は比較器C、M、Y、Kにおける比較処理を説明する図である。例えば、階調値が「2」の場合、1つの閾値データA(8ビットデータ)が閾値テーブルから読み出され、FIFO17から出力されるB(8ビットデータ)との比較を行い、B≦Aであれば比較結果として“0”を出力し、A<Bであれば比較結果として“1”を出力する。
図10は比較器C、M、Y、Kにおける比較処理を説明する図である。例えば、階調値が「2」の場合、1つの閾値データA(8ビットデータ)が閾値テーブルから読み出され、FIFO17から出力されるB(8ビットデータ)との比較を行い、B≦Aであれば比較結果として“0”を出力し、A<Bであれば比較結果として“1”を出力する。
また、階調値が「4」の場合、3つの閾値データA0、A1、A2(全て8ビットデータ)が閾値テーブルから読み出され、FIFO17から出力されるB(8ビットデータ)との比較処理が行われ、例えばB≦A0であれば“0”の比較結果が出力され、A0<B≦A1であれば“1”の比較結果が出力され、A1<B≦A2であれば“2”の比較結果が出力され、A2<Bであれば比較結果として“3”が出力される。尚、階調値が「16」の場合についても、図10に示す通りである。
比較器C、M、Y、Kによる比較処理の結果は、対応するFIFO31、32、48、49に出力され、格納される。上記処理は1ライン分終了するまで繰り返され、1ライン分の比較処理が終了すると、前述のTable−CTL21に通知され、各閾値テーブルのリードアドレスを0に設定する(State53)。
比較器C、M、Y、Kによる比較処理の結果は、対応するFIFO31、32、48、49に出力され、格納される。上記処理は1ライン分終了するまで繰り返され、1ライン分の比較処理が終了すると、前述のTable−CTL21に通知され、各閾値テーブルのリードアドレスを0に設定する(State53)。
上記同様の処理が1ページ分が終了するまで繰り返され、FIFO31、32、48、49には比較結果のデータが順次転送される。
尚、図11は、上記処理の一例を示す。例えば、3つの閾値データ30h、50h、70h(4階調)が閾値テーブルから読み出される同図のaの場合、FIFO17から出力された変換前のデータは40hであり、このデータ40hは30h<B≦50hであれり、“1”の比較結果が出力される。また、3つの閾値データ10h、30h、50hが閾値テーブルから読み出される同図のbの場合、FIFO17から出力された変換前のデータは40hであり、このデータ40hは30h<B≦50hであり、“2”の比較結果が出力される。同図に示すc以降についても同様である。
尚、図11は、上記処理の一例を示す。例えば、3つの閾値データ30h、50h、70h(4階調)が閾値テーブルから読み出される同図のaの場合、FIFO17から出力された変換前のデータは40hであり、このデータ40hは30h<B≦50hであれり、“1”の比較結果が出力される。また、3つの閾値データ10h、30h、50hが閾値テーブルから読み出される同図のbの場合、FIFO17から出力された変換前のデータは40hであり、このデータ40hは30h<B≦50hであり、“2”の比較結果が出力される。同図に示すc以降についても同様である。
本例の場合、上記のように、閾値テーブルC、M、Y、Kはそれぞれ1ラインのデータを格納する領域も容量のメモリであり、従来に比べて小さい容量のメモリで構成され、1ライン毎に閾値データを更新して比較処理を行うものである。
このように構成することにより、小さい容量の閾値テーブル(メモリ)を使用して、処理の速度を低下させることなく、ディザ変換処理を行うことができるものである。
(実施形態2)
このように構成することにより、小さい容量の閾値テーブル(メモリ)を使用して、処理の速度を低下させることなく、ディザ変換処理を行うことができるものである。
(実施形態2)
次に、本発明の実施形態2について説明する。
本例は、上記実施形態1によってディザ処理が行われたデータをRAM6に再度読み戻すものである。したがって、本実施形態2の説明においても、前述の図1の回路ブロック図を使用して説明する。
本例は、上記実施形態1によってディザ処理が行われたデータをRAM6に再度読み戻すものである。したがって、本実施形態2の説明においても、前述の図1の回路ブロック図を使用して説明する。
図12は、保管制御部4(DT−CTL41)の処理を説明するフローチャートである。先ず、待機状態であり(State60)、動作開始の許可があると、State61に移行する。そして、PCIバスマスターシーケンサ5へのアクセスリクエスト信号(RQ−DT3)をアクティブにする(State61)。
その後、PCIバスマスターシーケンサ5からアクセス許可信号(AK−DT3)があるまで待機し、この時PCIバスマスターシーケンサ5に対して用意しているアドレスは、ディザ処理後のデータをPCIバスに保管する制御用のディスクリプターテーブルの先頭アドレスであり、予め設定されている。
その後、PCIバスマスターシーケンサ5からアクセス許可信号(AK−DT3)があるまで待機し、この時PCIバスマスターシーケンサ5に対して用意しているアドレスは、ディザ処理後のデータをPCIバスに保管する制御用のディスクリプターテーブルの先頭アドレスであり、予め設定されている。
その後、PCIバスマスターシーケンサ5からのAK−DT3がアクティブになり、PCIバス上のデータが有効であることを示すTRDY#が出力されると、変換後のデータをラッチする(State62)。また、2番目以降のデータを同一ステートでラッチするための識別用のカウンタに初期値をセットする。
ここで、最初のデータがディスクリプタテーブルの終了かどうかを示すフラグであれば処理を終了するが、通常は終了フラグではなく、TRDY#により1色あたりのバイト数(例えば64バイト)を示すデータが保管されており、このデータをラッチする(State64)。尚、TRDY#が出力されていなければ、出力されるまで待機する(State63)。また、2番目以降のデータを識別するカウンタの値を−1する。
ここで、最初のデータがディスクリプタテーブルの終了かどうかを示すフラグであれば処理を終了するが、通常は終了フラグではなく、TRDY#により1色あたりのバイト数(例えば64バイト)を示すデータが保管されており、このデータをラッチする(State64)。尚、TRDY#が出力されていなければ、出力されるまで待機する(State63)。また、2番目以降のデータを識別するカウンタの値を−1する。
次の3番目のTRDY#でも同様に、出力されていなければ待機し(State63)、出力されていれば、1バンドのバイト数(例えば、220バイト)の情報を書き込む(State54)。この1バンドのバイト数のデータは前述の1バンドのバイト数記憶部46に書き込まれる。
その後、4番目から7番目のTRDY#では順にC、M、Y、Kの最初のアドレスが出力され、それらのデータをそれぞれ、アドレスデータ記憶部44に書き込む。最後のTRDY#でも同様に、出力されていなければ待機(State63)。出力されていれば、次のディスクリプタテーブルのアドレスをNextDT42に書き込む(State64)。
8番目のTRDY#での処理が終了すると、アクセス数カウンタの値が0になり、次の(State65)の処理に移行する。ここで、1バンド目は前バンドが存在しないが、2バンド目以降は前バンドが存在しており、Burst−CTL47が未だ前バンドを処理している場合には当該処理の処理終了を待つ。尚、前バンドの処理終了は、Burst−CTL47が初期状態(図13に示す(State71))に戻っているかどうかで判断する(State65)。
8番目のTRDY#での処理が終了すると、アクセス数カウンタの値が0になり、次の(State65)の処理に移行する。ここで、1バンド目は前バンドが存在しないが、2バンド目以降は前バンドが存在しており、Burst−CTL47が未だ前バンドを処理している場合には当該処理の処理終了を待つ。尚、前バンドの処理終了は、Burst−CTL47が初期状態(図13に示す(State71))に戻っているかどうかで判断する(State65)。
Burst−CTL47が初期状態に戻ると、ディスクリプタテーブル上の1バンド分のデータ情報は揃っているので、Burst−CTL47の動作を開始させるため、DtOn3信号をアクティブにする(State66)。そして、Burst−CTL47が動作を開始したら、今取り込んだディスクリプタテーブルからの情報は不要になり、次の1バンド用のディスクリプターテーブルの情報の取得を開始するために、(State61)に戻る。この動作を、ディスクリプタテーブルからの終了フラグを受けるまで繰り返す。
次に、保管制御部4のBurst−CTL47の処理を図13に示すフローチャートを用いて説明する。初期状態では、最初の値としてFIFO31を選択(State70)しており、前述のDTーCTL41からの動作開始指示の信号(DtOn3)がアクティブになるまで待機する(State71)。
次に、保管制御部4のBurst−CTL47の処理を図13に示すフローチャートを用いて説明する。初期状態では、最初の値としてFIFO31を選択(State70)しており、前述のDTーCTL41からの動作開始指示の信号(DtOn3)がアクティブになるまで待機する(State71)。
以下、FIFO31、32、48、49とは、選択された色のFIFOのことであり、最初の色であればFIFO31、2番目ならFIFO32、3番目ならFIFO48、4番目ならFIFO49を示す。
DtOn3がアクティブになると、FIFO31、32、48、49にバースト一回分以上のデータが保管されているかを確認し、PCIバスのアクセスを行うためにPCIバスマスタシーケンサ5に対して、アクセスリクエスト信号(RQ−BST3)をアクティブにする。FIFO31、32、48、49にバースト一回分の以上のデータが保管されているかどうかは、FIFO31、32、48、49にバースト一回分以上のデータが保管されている時にアクティブになる信号(FIFO−Half)がアクティブかどうかで判断する(State72)。
DtOn3がアクティブになると、FIFO31、32、48、49にバースト一回分以上のデータが保管されているかを確認し、PCIバスのアクセスを行うためにPCIバスマスタシーケンサ5に対して、アクセスリクエスト信号(RQ−BST3)をアクティブにする。FIFO31、32、48、49にバースト一回分の以上のデータが保管されているかどうかは、FIFO31、32、48、49にバースト一回分以上のデータが保管されている時にアクティブになる信号(FIFO−Half)がアクティブかどうかで判断する(State72)。
尚、残りのバイト数がバースト1回分に満たない場合にはFIFO−Halfがアクティブにならないので、(State73)にてバーストする数として残バイト数をセットした上で、次の処理(State74)に移行する。また、PCIバスマスターシーケンサ5へのアドレスはFIFO31、32、48、49を選択した色と同一のものを選択して出力するものとする。
RQ−BST3がアクティブになると(State74)、PCIバスマスシーケンサ5からのPCIバスアクセスの許可を待つ。そして、PCIバスマスターシーケンサ5からPCIバスアクセスの許可(AK−BST3)を受け取ると、PCIバス上に出力するFIFOのデータを用意して、マスターシーケンサによるPCIバスアクセスに対する応答があると(TRDY#がアクティブ)、FIFO31、32、48、49をリードして次々にデータを用意させる(State75)。
RQ−BST3がアクティブになると(State74)、PCIバスマスシーケンサ5からのPCIバスアクセスの許可を待つ。そして、PCIバスマスターシーケンサ5からPCIバスアクセスの許可(AK−BST3)を受け取ると、PCIバス上に出力するFIFOのデータを用意して、マスターシーケンサによるPCIバスアクセスに対する応答があると(TRDY#がアクティブ)、FIFO31、32、48、49をリードして次々にデータを用意させる(State75)。
上記(State72)〜(State75)までを、1色のバイト数の分だけくり返す。そして、1色のバイト数の分だけ処理が終了したら、次の色のFIFOを選択し(State76)、(State72)に戻り、同様の処理を行う。これを1バンド終了まで繰り返す。
その後、1バンド分の処理が終了すると、(State71)まで戻り、次のディスクリプタテーブルの値に従って、新しいアドレスのバンドについて、同様にアクセスを行う。これを1ページ終了までくり返す。
図14は、上記処理により、PCIバスを介して保管されたディザ処理後のデータの状態を示す。同図に示すように、1色あたりの連続した書き込みデータ量(64バイト)を、〔1〕〜〔14080〕で記述しており、〔 〕内の数字は書き込みの順番を示している。すなわち、C−1をシアンの初期アドレスとし、M−1をマゼンタの初期アドレスとし、Y−1をイエローの初期アドレスとし、K−1をブラックの初期アドレスとし、C、M、Y、Kの順にディザ処理後のデータを対応するFIFO31、32、48、49から読み出し、RAM6の指定されたアドレスに書き込む構成である。尚、図15は上記保管制御部4の処理動作を示すタイミングチャートである。
その後、1バンド分の処理が終了すると、(State71)まで戻り、次のディスクリプタテーブルの値に従って、新しいアドレスのバンドについて、同様にアクセスを行う。これを1ページ終了までくり返す。
図14は、上記処理により、PCIバスを介して保管されたディザ処理後のデータの状態を示す。同図に示すように、1色あたりの連続した書き込みデータ量(64バイト)を、〔1〕〜〔14080〕で記述しており、〔 〕内の数字は書き込みの順番を示している。すなわち、C−1をシアンの初期アドレスとし、M−1をマゼンタの初期アドレスとし、Y−1をイエローの初期アドレスとし、K−1をブラックの初期アドレスとし、C、M、Y、Kの順にディザ処理後のデータを対応するFIFO31、32、48、49から読み出し、RAM6の指定されたアドレスに書き込む構成である。尚、図15は上記保管制御部4の処理動作を示すタイミングチャートである。
以上のように処理することによって、回路規模の小さいディザ処理装置、及び印刷装置を提供することができる。
尚、上記説明では、閾値テーブルC、M、Y、Kに閾値データをロードする際、各色の最初のアドレスと、各色のパターン幅、階調値を予め設定しておく構成としたが、テーブルを用意して、このテーブルに設定すべき値を格納しておく構成としてもよい。さらに、バンド単位で閾値テーブルのパターン幅、階調値等を変更する構成としてもよい。
尚、上記説明では、閾値テーブルC、M、Y、Kに閾値データをロードする際、各色の最初のアドレスと、各色のパターン幅、階調値を予め設定しておく構成としたが、テーブルを用意して、このテーブルに設定すべき値を格納しておく構成としてもよい。さらに、バンド単位で閾値テーブルのパターン幅、階調値等を変更する構成としてもよい。
1・・・被変換データロード制御部
2・・・テーブル値ロード部
3・・・ディザ処理制御部
4・・・保管制御部
5・・・PCIバスマスターシーケンサ
6・・・RAM
7・・・CPU
11・・DT−CTL
12・・NextDT
13・・フラグ保持部
14・・アドレスデータ保持部
15・・1バンドのバイト数記憶部
16・・Burst−CTL
17・・FIFO
20・・Burst−CTL
21・・Table−CTL
22・・FIFO
31、32、48、49・・FIFO
41・・DT−CTL
42・・NextDT
42・・フラグ保持部
43・・フラグ保持部
44・・アドレスデータ保持部
45・・1色のバイト数記憶部
46・・1バンドのバイト数記憶部
47・・Burst−CTL
2・・・テーブル値ロード部
3・・・ディザ処理制御部
4・・・保管制御部
5・・・PCIバスマスターシーケンサ
6・・・RAM
7・・・CPU
11・・DT−CTL
12・・NextDT
13・・フラグ保持部
14・・アドレスデータ保持部
15・・1バンドのバイト数記憶部
16・・Burst−CTL
17・・FIFO
20・・Burst−CTL
21・・Table−CTL
22・・FIFO
31、32、48、49・・FIFO
41・・DT−CTL
42・・NextDT
42・・フラグ保持部
43・・フラグ保持部
44・・アドレスデータ保持部
45・・1色のバイト数記憶部
46・・1バンドのバイト数記憶部
47・・Burst−CTL
Claims (6)
- ディザ処理前のデータを記憶する第1の記憶手段と、
予め設定された色毎の閾値情報を記憶する第2の記憶手段と、
前記第1の記憶手段から前記データを読み出し、前記色毎の閾値情報に従ってディザ処理を行うディザ処理制御手段と、
該ディザ処理後のデータを前記第1の記憶手段に書き戻すデータ書込手段と、
を有することを特徴するディザ処理装置。 - 前記第2の記憶手段に記憶された閾値情報は、1ライン毎に更新される階調値に対応した閾値情報であり、前記ディザ処理制御手段は1ライン毎に更新される階調値に対応した閾値情報を前記データと比較することによってディザ処理を行うことを特徴する請求項1記載のディザ処理装置。
- ディザ処理前のデータを記憶する第1の記憶手段と、
予め設定された色毎の閾値情報を記憶する第2の記憶手段と、
前記第1の記憶手段から前記データを読み出し、前記色毎の閾値情報に従ってディザ処理を行うディザ処理制御手段と、
前記ディザ処理後のデータを記録媒体に印刷する印刷処理手段と、
を有することを特徴する印刷装置。 - 前記第2の記憶手段に記憶された閾値情報は、1ライン毎に更新される階調値に対応した閾値情報であり、前記ディザ処理制御手段は1ライン毎に更新される階調値に対応した閾値情報を前記データと比較することによってディザ処理を行うことを特徴する請求項3記載の印刷装置。
- 前記第1の記憶手段からのデータの読み出しは、予め設定されたテーブルに記憶された情報に基づいて行い、少なくとも前記第1の記憶手段に記憶されたデータのアドレス情報と、1バンドのバイと数情報と、前記テーブル上の次のアクセス位置情報とを有することを特徴する請求項1、又は2記載のディザ処理装置。
- 前記第1の記憶手段からのデータの読み出しは、予め設定されたテーブルに記憶された情報に基づいて行い、少なくとも前記第1の記憶手段に記憶されたデータのアドレス情報と、1バンドのバイと数情報と、前記テーブル上の次のアクセス位置情報とを有することを特徴する請求項3、又は4記載の印刷装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008091273A JP2009241432A (ja) | 2008-03-31 | 2008-03-31 | 印刷装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008091273A JP2009241432A (ja) | 2008-03-31 | 2008-03-31 | 印刷装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009241432A true JP2009241432A (ja) | 2009-10-22 |
Family
ID=41303915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008091273A Withdrawn JP2009241432A (ja) | 2008-03-31 | 2008-03-31 | 印刷装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009241432A (ja) |
-
2008
- 2008-03-31 JP JP2008091273A patent/JP2009241432A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000158724A (ja) | 画像処理装置、画像処理方法および記録媒体 | |
US6856420B1 (en) | System and method for transferring data within a printer | |
JP4829408B2 (ja) | 画像処理方法及び画像処理装置 | |
JP2009241432A (ja) | 印刷装置 | |
US20020018238A1 (en) | Printer, print control apparatus and method | |
JP3554237B2 (ja) | 画像処理装置及びその方法 | |
US5764865A (en) | Page printer controller | |
JP2003241983A (ja) | 情報処理装置及び情報処理方法 | |
JPH09265367A (ja) | プリンタ制御装置およびプリンタ制御方法 | |
JP2007087347A (ja) | データ転送装置 | |
JP4983251B2 (ja) | 印刷装置 | |
JP3268644B2 (ja) | Dma制御装置 | |
JP2002215562A (ja) | Dma制御装置及び方法 | |
JP3994724B2 (ja) | 印刷システム | |
JP2000003332A (ja) | 双方向バスサイズ変換回路 | |
JPH11179975A (ja) | カラープリンタ制御装置 | |
JP4132564B2 (ja) | 画像入出力装置 | |
JP2005062946A (ja) | メモリ制御装置 | |
JPH06274450A (ja) | データ転送システム | |
JP3323751B2 (ja) | 印刷装置 | |
JP2007072910A (ja) | 画像入力装置 | |
JP2003237146A (ja) | 画像処理装置、および、画像処理方法 | |
JP2006072473A (ja) | データ転送方法および装置 | |
JP2001096816A (ja) | カラープリンタ | |
JP2006256105A (ja) | 印刷装置及びデータ処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20110607 |