(57)【要約】【課題】転送制御部がデータの圧縮率に基づいて符号化データの伸長処理を行う復号化処理部へのブロック転送量を増減させることによって、画像形成部において一定速度で画像データを出力させることができ、適切に印刷を行うことができるようにする。【解決手段】入力された画像データを符号化して圧縮された符号化データにする符号化処理部と、前記符号化データを記憶する符号化データ記憶部と、前記符号化データの圧縮率を算出する圧縮率演算部と、前記符号化データを復号化して伸長された画像データにする復号化処理部と、前記符号化データを転送する転送制御部を有し、該転送制御部は、前記圧縮率演算部が算出した符号化データの圧縮率に基づいて、前記符号化データ記憶部から復号化処理部へのブロック転送量を増減させるブロック転送量制御手段を備える。【選択図】          図１
2004206336.tif 000002
【特許請求の範囲】
【請求項１】
（ａ）入力された画像データを符号化して圧縮された符号化データにする符号化処理部と、
（ｂ）前記符号化データを記憶する符号化データ記憶部と、
（ｃ）前記符号化データの圧縮率を算出する圧縮率演算部と、
（ｄ）前記符号化データを復号化して伸長された画像データにする復号化処理部と、
（ｅ）前記符号化データを転送する転送制御部を有し、
（ｆ）該転送制御部は、前記圧縮率演算部が算出した符号化データの圧縮率に基づいて、前記符号化データ記憶部から復号化処理部へのブロック転送量を増減させるブロック転送量制御手段を備えることを特徴とする出力制御装置。
【請求項２】
（ａ）前記請求項１に記載の出力制御装置と、
（ｂ）該出力制御装置に接続され、前記画像データを印刷媒体に印刷する画像形成部とを有することを特徴とする印刷装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、出力制御装置及び印刷装置に関するものである。
【０００２】
【従来の技術】
従来、印刷装置においては、印刷するデータを圧縮してメモリに格納し、格納された圧縮データをＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ：ダイレクトメモリアクセス）で読み出し、読み出した前記圧縮データを伸長処理しながら出力装置に出力する出力制御装置のシステムが提案されている（例えば、特許文献１参照。）。
【０００３】
図２は従来の出力制御装置のシステムの構成を示すブロック図である。
【０００４】
図において、１１１は外部の機器との間でデータの送受信を行うための外部Ｉ／Ｆ（Ｉｎｔｅｒ  Ｆａｃｅ：インターフェイス）、１１２は出力制御装置のシステム全体をコントロールするためのＣＰＵ、１１３は出力制御装置のシステム全体をコントロールするためのプログラムを格納するＲＯＭ、１１４は前記外部Ｉ／Ｆ１１１より受信した画像データを後述されるデータ圧縮部１３０で圧縮された圧縮データにして格納するＲＡＭである。
【０００５】
そして、１１５はＣＰＵ１１２又はＤＭＡコントローラ１１６から要求される内部バス１１８へアクセスするためのアクセス権を調停するバス調停部であり、前記ＤＭＡコントローラ１１６は、後述される圧縮データＩ／Ｆ１２０又は伸長データＩ／Ｆ１４０よりアサート（Ａｓｓｅｒｔ：主張）されるＤＭＡリクエストによって、ＤＭＡで内部バス１１８を使用することができるように前記バス調停部１１５にバスリクエストをアサートするためのものである。
【０００６】
また、圧縮データＩ／Ｆ１２０は、前記外部Ｉ／Ｆ１１１より受信してＲＡＭ１１４に格納された画像データを読み出すために、ＤＭＡコントローラ１１６に対してＤＭＡリクエストをアサートし、ＤＭＡによってＲＡＭ１１４より読み出した画像データをデータ圧縮部１３０からのリクエストに応じて、該データ圧縮部１３０に送るためのものである。そして、前記圧縮データＩ／Ｆ１２０は、イエロー、マゼンタ、シアン及びブラックの四色分のそれぞれのチャネルであるＹ圧縮データＩ／Ｆ１２１、Ｍ圧縮データＩ／Ｆ１２２、Ｃ圧縮データＩ／Ｆ１２３、及び、Ｋ圧縮データＩ／Ｆ１２４を有する。ここで、前記圧縮データＩ／Ｆ１２０は、データ圧縮部１３０で圧縮された圧縮データをＲＡＭ１１４に書き込むために、ＤＭＡコントローラ１１６に対してＤＭＡリクエストをアサートし、ＲＡＭ１１４へ圧縮データを渡す。
【０００７】
そして、前記データ圧縮部１３０は、圧縮データＩ／Ｆ１２０に対して画像データの要求を行い、圧縮データＩ／Ｆ１２０より受信した画像データを圧縮し、圧縮した圧縮データを圧縮データＩ／Ｆ１２０に渡すためのものであり、イエロー、マゼンタ、シアン及びブラックの四色分のそれぞれのチャネル、Ｙデータ圧縮部１３１、Ｍデータ圧縮部１３２、Ｃデータ圧縮部１３３、及び、Ｋデータ圧縮部１３４を有する。
【０００８】
また、伸長データＩ／Ｆ１４０は、データ圧縮部１３０で圧縮され、ＲＡＭ１１４に格納された圧縮データを読み出すために、ＤＭＡコントローラ１１６に対してＤＭＡリクエストをアサートし、ＤＭＡによってＲＡＭ１１４より読み出した圧縮データをデータ伸長部１５０からの要求に応じて、データ伸長部１５０に送るためのものである。そして、前記伸長データＩ／Ｆ１４０は、イエロー、マゼンタ、シアン及びブラックの四色分のそれぞれのチャネル、Ｙ伸長データＩ／Ｆ１４１、Ｍ伸長データＩ／Ｆ１４２、Ｃ伸長データＩ／Ｆ１４３、及び、Ｋ伸長データＩ／Ｆ１４４を有する。
【０００９】
そして、データ伸長部１５０は、前記伸長データＩ／Ｆ１４０に対して圧縮データの要求を行い、伸長データＩ／Ｆ１４０より受信した圧縮データを伸長し、伸長した該圧縮データを後述されるエンジン１１７に渡すためのものである。そして、前記データ伸長部１５０は、イエロー、マゼンタ、シアン、ブラックの四色分のそれぞれのチャネル、Ｙデータ伸長部１５１、Ｍデータ伸長部１５２、Ｃデータ伸長部１５３、Ｋデータ伸長部１５４を有する。
【００１０】
また、エンジン１１７は、前記データ伸長部１５０で伸長されたデータを受信し、受信したデータの印刷処理を行うためのものである。
【００１１】
次に、前記伸長データＩ／Ｆ１４０の構成について説明する。ここで、前記Ｙ伸長データＩ／Ｆ１４１、Ｍ伸長データＩ／Ｆ１４２、Ｃ伸長データＩ／Ｆ１４３、及び、Ｋ伸長データＩ／Ｆ１４４は、それぞれ、同様の構成を有するので、前記Ｙ伸長データＩ／Ｆ１４１、Ｍ伸長データＩ／Ｆ１４２、Ｃ伸長データＩ／Ｆ１４３、及び、Ｋ伸長データＩ／Ｆ１４４を伸長データＩ／Ｆ１４０として統合的に説明する。
【００１２】
図３は従来の伸長データＩ／Ｆの構成を示すブロック図である。
【００１３】
図３に示されるように、伸長データＩ／Ｆ１４０は圧縮データ要求制御部１６０と圧縮データ転送制御部１７０とを有し、前記圧縮データ要求制御部１６０はＤＭＡアドレス制御部１８０とＤＭＡリクエスト制御部１９０とを有する。また、前記ＤＭＡアドレス制御部１８０はＤＭＡスタートアドレスレジスタ１８１及びＤＭＡアドレスカウンタ１８２を有する。そして、前記ＤＭＡスタートアドレスレジスタ１８１には、前記ＣＰＵ１１２によって、読み出す圧縮データが格納されているＲＡＭ１１４のスタートアドレスが設定され、ＤＭＡコントローラ１１６によりここで設定された該スタートアドレスから圧縮データの読み出しが開始される。また、前記ＤＭＡアドレスカウンタ１８２には、前記ＤＭＡスタートアドレスレジスタ１８１に設定されたスタートアドレスがロードされ、圧縮データが読み出される度に、読み出された該圧縮データの大きさ分だけインクリメント（Ｉｎｃｒｅｍｅｎｔ：増加）し、常に読み出す圧縮データのスタートアドレスを示し、該スタートアドレスがＤＭＡリクエストとともにＤＭＡコントローラ１１６に出力される。
【００１４】
そして、前記ＤＭＡリクエスト制御部１９０は、ＤＭＡデータサイズレジスタ１９１、ＤＭＡデータサイズカウンタ１９２、入力バッファ監視部１９３及びＤＭＡリクエストアサート制御部１９４を有する。前記ＤＭＡデータサイズレジスタ１９１には、前記ＤＭＡスタートアドレスレジスタ１８１に設定された圧縮データのスタートアドレスからの圧縮データの大きさを示す値がＣＰＵ１１２によって設定される。また、前記ＤＭＡデータサイズカウンタ１９２には、前記ＤＭＡデータサイズレジスタ１９１に設定された値がロードされ、ＤＭＡによって圧縮データが読み出される度に、読み出された該圧縮データの大きさ分がデクリメント（Ｄｅｃｒｅｍｅｎｔ：減少）され、残りの圧縮データの大きさを示すようになっている。そして、前記ＤＭＡデータサイズカウンタ１９２は、残りの圧縮データの大きさの情報をＤＭＡリクエストアサート制御部１９４へ伝える。そして、前記入力バッファ監視部１９３は、後述される入力バッファ１７１に格納された圧縮データがデータ伸長部１５０に転送される状況を監視するためのものであり、入力バッファ１７１に圧縮データがあるか否かを判断し、その情報をＤＭＡリクエストアサート制御部１９４へ伝える。また、該ＤＭＡリクエストアサート制御部１９４は、前記ＤＭＡデータサイズカウンタ１９２の情報及び入力バッファ監視部１９３の情報を元にＤＭＡコントローラ１１６に対してＤＭＡリクエストをアサートするか否かを制御するためのものである。
【００１５】
また、前記圧縮データ転送制御部１７０は、入力バッファ１７１及びデータ伸長部Ｉ／Ｆ１７２を有する。そして、前記入力バッファ１７１は、ＤＭＡで読み出された圧縮データをデータ伸長部１５０に渡す前に一時的に格納しておくためのものである。また、前記データ伸長部Ｉ／Ｆ１７２は、データ伸長部１５０からの圧縮データの要求に応じて圧縮データをデータ伸長部１５０に転送するためのものである。
【００１６】
次に、前記構成の伸長データＩ／Ｆ１４０の動作について説明する。
【００１７】
図４は従来のＤＭＡ出力の動作を示すフローチャートである。
【００１８】
まず、伸長データＩ／Ｆ１４０は、データ伸長部１５０に必要な各パラメータが設定された後、ＣＰＵ１１２によって、ＤＭＡスタートアドレスレジスタ１８１に圧縮データのＤＭＡスタートアドレスが設定され、また、ＤＭＡデータサイズレジスタ１９１に圧縮データの大きさが設定されて、伸長データＩ／Ｆ１４０が起動される。
【００１９】
そして、該伸長データＩ／Ｆ１４０が起動されると、ＤＭＡリクエストアサート制御部１９４は、ＤＭＡコントローラ１１６に対してＤＭＡリクエストをアサートする。また、ＤＭＡコントローラ１１６は、前記ＤＭＡリクエストによってバス調停部１１５対して、ＤＭＡで内部バス１１８が使用することができるようにバスリクエストをアサートする。ここで、前記アサートしたバスリクエストに対してバス調停部１１５がバス使用を許可すると、前記バス調停部１１５より内部バス使用可能を示す内部バスアクノリッジがＤＭＡコントローラ１１６にリプライ（Ｒｅｐｌｙ：返答）される。そして、前記ＤＭＡコントローラ１１６は、前記リプライを受けて、伸長データＩ／Ｆ１４０にＤＭＡアクノリッジ（Ａｃｋｎｏｗｌｅｄｇｅ：承認）をリプライする。
【００２０】
次に、前記ＤＭＡコントローラ１１６よりＤＭＡアクノリッジがリプライされると、伸長データＩ／Ｆ１４０は、ＲＡＭ１１４より読み出された圧縮データを入力バッファ１７１に格納し、データサンプリングを行う。
【００２１】
また、入力バッファ１７１に圧縮データを格納すると、ＤＭＡデータサイズカウンタ１９２がデクリメントされ、ＤＭＡ転送する圧縮データが残っているか否かを判断し、ＤＭＡリクエストアサート制御部１９４に伝える。
【００２２】
ここで、ＤＭＡ転送する圧縮データが残っていない場合、伸長データＩ／Ｆ１４０は動作を停止し、ＤＭＡリクエストアサート制御部１９４は次回に起動されるまでＤＭＡコントローラ１１６に対してＤＭＡリクエストをアサートしない。また、ＤＭＡ転送する圧縮データが残っている場合、入力バッファ監視部１９３で入力バッファ１７１が空いているか否かを判断し、該入力バッファ１７１に空きがあるときには、次の圧縮データを格納可能であることをＤＭＡリクエストアサート制御部１９４に伝える。そして、該ＤＭＡリクエストアサート制御部１９４はこの情報を受けてＤＭＡコントローラ１１６に対してＤＭＡリクエストをアサートする。また、入力バッファ１７１に空きがない場合、該入力バッファ１７１に空きができるまでデータ伸長部１５０に圧縮データの転送を続ける。そして、入力バッファ監視部１９３は、常に転送後の入力バッファ１７１の状態を監視し、転送の結果、入力バッファ１７１に空きが生じて圧縮データを格納することができる状態になったことをＤＭＡリクエストアサート制御部１９４に伝え、該ＤＭＡリクエストアサート制御部１９４は、この情報を受けてＤＭＡコントローラ１１６に対してＤＭＡリクエストをアサートする。以降、ＤＭＡ転送する圧縮データがなくなるまで、動作が繰り返し行われる。
【００２３】
次に、フローチャートについて説明する。
ステップＳ１  データ伸長部１５０に必要な各パラメータの設定を行う。
ステップＳ２  ＤＭＡスタートアドレスレジスタ１８１に圧縮データのＤＭＡスタートアドレスを、ＤＭＡデータサイズレジスタ１９１に圧縮データの大きさを設定する。
ステップＳ３  伸長データＩ／Ｆ１４０が起動する。
ステップＳ４  ＤＭＡリクエストをアサートする。
ステップＳ５  ＤＭＡアクノリッジがリプライされたか否かを判断する。リプライされた場合はステップＳ６に進み、リプライされない場合は待機する。
ステップＳ６  データサンプリングを行う。
ステップＳ７  ＤＭＡ転送する圧縮データが残っているか否かを判断する。残っている場合はステップＳ８に進み、残っていない場合は処理を終了する。
ステップＳ８  入力バッファ１７１が空いているか否かを判断し、空いている場合はステップＳ４に戻り、空いていない場合は空きができるまで待機する。
【００２４】
次に、前述された動作のタイムチャートについて説明する。
【００２５】
図５は従来の入力バッファの構成を示す図、図６は従来のＤＭＡリクエストタイミングのタイムチャートを示す図である。
【００２６】
ここで、入力バッファ１７１は、図５に示されるように、入力バッファＢＵＦ０及び入力バッファＢＵＦ１によって構成され、前記入力バッファＢＵＦ０及び入力バッファＢＵＦ１は、それぞれ、入力バッファＢＵＦ００〜入力バッファＢＵＦ０３、及び、入力バッファＢＵＦ１０〜入力バッファＢＵＦ１３によって構成されているものとする。
【００２７】
そして、前記入力バッファＢＵＦ０及び入力バッファＢＵＦ１の記憶容量は、それぞれ、一回のＤＭＡで転送される圧縮データの大きさに相当し、入力バッファＢＵＦ００〜入力バッファＢＵＦ０３及び入力バッファＢＵＦ１０〜入力バッファＢＵＦ１３の記憶容量は、データ伸長部１５０に渡す一回の圧縮データの大きさに相当する。
【００２８】
まず、ＤＭＡリクエストがアサートされ、ＤＭＡアクノリッジがリプライされると、初めに入力バッファＢＵＦ０に圧縮データが格納される。そして、前記入力バッファＢＵＦ０に圧縮データが格納されると、圧縮データの準備ができたことを示す圧縮データレディ信号をオンしてデータ伸長部１５０に伝える。
【００２９】
次に、データ伸長部１５０は、圧縮データレディ（Ｒｅａｄｙ：準備完了）を受けると最初の入力バッファＢＵＦ００に格納された圧縮データを読み込み、圧縮データリクエストをオフし、伸長処理を開始する。
【００３０】
そして、入力バッファＢＵＦ００に格納された圧縮データの伸長処理が終了すると、データ伸長部１５０は次の伸長処理に必要な圧縮データを要求するために、再び圧縮データリクエストをオンし、入力バッファＢＵＦ０１から次の圧縮データを読み込み、圧縮データリクエストをオフし、次の伸長処理を開始する。
【００３１】
以降、前述された動作を入力バッファＢＵＦ００〜入力バッファＢＵＦ０３の順で続け、入力バッファＢＵＦ０が空になった場合には、入力バッファＢＵＦ１より入力バッファＢＵＦ１０〜入力バッファＢＵＦ１３の順ですべての圧縮データの伸長処理が完了するまで続けられる。
【００３２】
また、伸長データＩ／Ｆ１４０に関しては、入力バッファＢＵＦ０に圧縮データが格納されても入力バッファＢＵＦ１が空状態であるので、続けてＤＭＡリクエストをＤＭＡコントローラ１１６に対してアサートし、ＤＭＡアクノリッジがリプライされると次の圧縮データを入力バッファＢＵＦ１に格納する。
【００３３】
ここで、入力バッファＢＵＦ０と入力バッファＢＵＦ１とが両方とも空の状態ではなくなった場合、伸長データＩ／Ｆ１４０は続けてＤＭＡリクエストをアサートせず、入力バッファＢＵＦ０が空になるのを待機する。そして、入力バッファＢＵＦ０が空になったら再びＤＭＡリクエストをアサートし、ＤＭＡで圧縮データを読み出し入力バッファＢＵＦ０に格納する。
【００３４】
以降、伸長データＩ／Ｆ１４０はすべての圧縮データをＤＭＡで読み出し終えるまで入力バッファＢＵＦ０と入力バッファＢＵＦ１とを交互に使用しながら前述された動作を繰り返す。
【００３５】
次に、前述された動作を、イエロー、マゼンタ、シアン、ブラックの四色分の伸長データＩ／Ｆ１４０が並行して行った場合について説明する。この場合、内部バス１１８の使用状況と、圧縮データが伸長される状況を示すタイムチャートに基づいて説明する。
【００３６】
図７は従来の内部バスのアクセス状況のタイムチャートを示す図である。
【００３７】
図７に示されるタイムチャートにおいては、ＤＭＡコントローラ１１６で付加するイエロー、マゼンタ、シアン、ブラックの各チャネルのプライオリティ（Ｐｒｉｏｒｉｔｙ：優先権）は、一般的なラウドロビン（Ｒｏｕｎｄ  Ｒｏｂｉｎ）方式を想定しており、初回のプライオリティは、イエロー、マゼンタ、シアン、ブラックの順番となっている。また、ここでは、説明を簡略化するために伸長データＩ／Ｆ１４０によるＤＭＡが行われているときにはＣＰＵ１１２の内部バスアクセスは発生しないものとしている。
【００３８】
また、圧縮データの圧縮率は、イエロー、マゼンタ、シアン、ブラックの順で低くくなっている、つまり、イエローが一番圧縮率が高く、ブラックが一番圧縮率が低いものとしている。
【００３９】
そして、四チャネルの伸長データＩ／Ｆ１４０を同時に起動すると、イエロー、マゼンタ、シアン、ブラックの四チャネルにおけるすべてのＤＭＡリクエストがＤＭＡコントローラ１１６に対してアサートされる。
【００４０】
該ＤＭＡコントローラ１１６は初回のプライオリティがＹ伸長データＩ／Ｆ１４１が一番高いので、該Ｙ伸長データＩ／Ｆ１４１のＤＭＡリクエストを受けて、バス調停部１１５にバスリクエストをアサートする。この結果、バス調停部１１５でＤＭＡが内部バス１１８を使用することを許可されると、ＤＭＡコントローラ１１６はＹ伸長データＩ／Ｆ１４１に対してＤＭＡアクノリッジをリプライし、Ｙ伸長データＩ／Ｆ１４１はＲＡＭ１１４より読み出された圧縮データをＹ伸長データＩ／Ｆ１４１の入力バッファＢＵＦ０に格納し、入力バッファＢＵＦ１がまだ空状態であるので続けてＤＭＡリクエストをアサートする。
【００４１】
次に、ＤＭＡコントローラ１１６はＭ伸長データＩ／Ｆ１４２のＤＭＡリクエストを受けてバス調停部１１５にバスリクエストをアサートする。Ｍ伸長データＩ／Ｆ１４２もＹ伸長データＩ／Ｆ１４１と同様に、ＤＭＡアクノリッジからリプライされると、ＲＡＭ１１４より読み出された圧縮データをＭ伸長データＩ／Ｆ１４２の入力バッファＢＵＦ０に格納し、入力バッファＢＵＦ１がまだ空状態であるので続けてＤＭＡリクエストをアサートする。
【００４２】
また、Ｃ伸長データＩ／Ｆ１４３及びＫ伸長データＩ／Ｆ１４４についても同様である。
【００４３】
以降、イエロー、マゼンタ、シアン、ブラックの各チャネルは、該各チャネルの入力バッファ１７１に空きがなくなるまでＤＭＡリクエストをアサートし、ＤＭＡコントローラ１１６はラウンドロビン方式で付加されるプライオリティに従って、バス調停部１１５にバスリクエストをアサートし、プライオリティに従って、伸長データＩ／Ｆ１４０にＤＭＡアクノリッジをリプライし、各伸長データＩ／Ｆ１４０は、ＲＡＭ１１４より読み出された圧縮データを各チャネルの入力バッファ１７１の空きのある箇所に格納する。
【００４４】
【特許文献１】
特開平１１−１１５２５８号公報
【００４５】
【発明が解決しようとする課題】
しかしながら、前記従来の出力制御装置においては、伸長データＩ／Ｆ１４０は、圧縮率が高く小さな圧縮データで大きな伸長データを生成することができる、すなわち、少ない圧縮データで伸長処理時間が長くなるようなときであっても、入力バッファ１７１に空があると、ＤＭＡリクエストをアサートするようになっている。そのため、圧縮率が低く大きな圧縮データで小さな伸長データを生成する、すなわち、大きな圧縮データで伸長処理時間が短くなるようなチャネルのＤＭＡリクエストがアサートされていても、このチャネルのＤＭＡリクエストが優先されず圧縮率の低いチャネルの伸長処理が遅れてしまう。すなわち、同じ大きさの伸長データを生成する時間が圧縮率の高いチャネルと圧縮率の低いチャネルとで大きく異なってしまう。
【００４６】
また、これを解決するために、圧縮率の低いチャネルのプライオリティを高くする固定プライオリティを使用すると、圧縮率の高いチャネルのＤＭＡリクエストが優先されないようになってしまい、圧縮率の高いチャネルに対しても伸長処理が遅れてしまうことが考えられる。
【００４７】
さらに、圧縮率の相違により、復合化処理部としての伸長処理部へ単位量の符号化データを供給しても、復号化処理が出力する画像データ量が増減する。そのため、後段の画像形成部としてのプリントエンジンに対して一定速度で画像データを出力させることが困難になってしまう。
【００４８】
一方、電子写真方式プロセスを用いた画像形成部は、一旦（たん）、印刷を開始すると、一定速度で画像を形成するため、一定速度で画像データが供給されないと、印刷データ抜け（オーバーラン）やバッファのオーバーフローが発生してしまう。
【００４９】
このように、いずれにしても正しい印刷が行われなくなってしまう。
【００５０】
本発明は、前記従来の出力制御装置の問題点を解決して、転送制御部がデータの圧縮率に基づいて符号化データの伸長処理を行う復号化処理部へのブロック転送量を増減させることによって、画像形成部において一定速度で画像データを出力させることができ、適切に印刷を行うことができる出力制御装置及び印刷装置を提供することを目的とする。
【００５１】
【課題を解決するための手段】
そのために、本発明の出力制御装置においては、入力された画像データを符号化して圧縮された符号化データにする符号化処理部と、前記符号化データを記憶する符号化データ記憶部と、前記符号化データの圧縮率を算出する圧縮率演算部と、前記符号化データを復号化して伸長された画像データにする復号化処理部と、前記符号化データを転送する転送制御部を有し、該転送制御部は、前記圧縮率演算部が算出した符号化データの圧縮率に基づいて、前記符号化データ記憶部から復号化処理部へのブロック転送量を増減させるブロック転送量制御手段を備える。
【００５２】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【００５３】
図８は本発明の第１の実施の形態における印刷装置の構成を示すブロック図、図９は本発明の第１の実施の形態における画像形成部の構成を示す図である。
【００５４】
図８において、６１は画像形成装置としての印刷装置であり、例えば、電子写真方式のプリンタ、ファクシミリ機、複写機、プリンタとファクシミリ機と複写機との機能を併せ持つ複合機等であるが、いかなる種類の画像形成装置であってもよく、また、モノクロ画像を形成するものであっても、カラー画像を形成するものであってもよい。そして、前記印刷装置６１の画像形成方式も、電子写真方式に限らず、いかなるものであってもよく、例えば、インクジェット方式であってもよいし、ワイヤドット方式であってもよいし、インクリボン方式であってもよいし、昇華型熱転写方式であってもよい。本実施の形態においては、前記印刷装置６１が電子写真方式のプリンタである場合について説明する。
【００５５】
ここで、前記印刷装置６１は、図８に示されるように、出力制御装置１０及び画像形成エンジンとしての画像形成部１７を有する。そして、前記出力制御装置１０は、機能の観点から、入力された画像データを符号化して圧縮された符号化データにするための処理を行う符号化処理部７３、前記符号化データを記憶する符号化データ記憶部７４、前記符号化データの圧縮率を算出する圧縮率演算部７５、前記符号化データを転送するための制御を行う転送制御部７６、及び、圧縮された前記符号化データを復号化して伸長された画像データにするための処理を行う復号化処理部７７を有する。なお、該復号化処理部７７によって復号化された画像データは、画像形成部１７に送信される。また、前記転送制御部７６は、ＤＭＡを制御するＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ：ダイレクトメモリアクセスコントローラ）である。
【００５６】
本実施の形態において、前記画像形成部１７は、図９に示されるような構成を有する。図９において、６５は、現像手段としての現像器であり、トナー担持体としての現像ローラ６５ａ、該現像ローラ６５ａにトナーを供給するトナー供給ローラ６５ｂを備え、前記現像ローラ６５ａによって像担持体としての感光体ドラム６２の表面に静電潜像を現像するためのトナーを搬送して現像する。なお、前記感光体ドラム６２は図に示される矢印の方向に回転する。
【００５７】
また、６３は感光体ドラム６２の表面の帯電状態をコントロールするために該感光体ドラム６２に近接して配設された帯電手段としての帯電ローラである。該帯電ローラ６３には、図示されない帯電バイアス制御手段によって印刷動作の際に所定の電圧が印加され、前記感光体ドラム６２を帯電する。そして、６４はＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）ヘッド、レーザヘッド等から成る露光手段としての露光器である。該露光器６４は、画像データに従って、帯電された感光体ドラム６２の所定の部位に露光し、感光体ドラム６２上に静電潜像を形成する。
【００５８】
そして、６８は紙等の印刷媒体であり、図示されない搬送手段によって搬送路６８ａに沿って搬送され、前記感光体ドラム６２の表面のトナー像が前記印刷媒体６８上に転写される。また、６６は転写手段としての転写ローラであり、前記搬送路６８ａに関して、感光体ドラム６２に対向するように配設される。なお、前記転写ローラ６６には図示されない転写バイアス電源によって転写バイアス電圧が印加される。また、トナー像が転写された前記印刷媒体６８は定着装置６７に送り込まれるようになっている。これにより、前記トナー像が定着され、印刷媒体６８への印刷が完了する。
【００５９】
なお、前記印刷装置６１がカラー画像を形成するカラープリンタである場合、図９に示されるような構成を有する画像形成部１７が複数並列して配設され、二色以上のトナーを印刷することができるようになっている。この場合、イエロー、マゼンタ、シアン及びブラックに対応する画像形成部１７が配設され、イエロー、マゼンタ、シアン及びブラックの各色のトナー像が、それぞれ、印刷媒体６８に転写され、定着されることによってカラー印刷が行われる。そして、Ｙ、Ｍ、Ｃ及びＫは、それぞれ、イエロー、マゼンタ、シアン及びブラックを意味するものとする。
【００６０】
次に、前記出力制御装置１０の構成について説明する。
【００６１】
図１０は本発明の第１の実施の形態における出力制御装置のシステムの構成を示すブロック図である。
【００６２】
図１０において、１１は外部の機器との間でデータの送受信を行うための外部Ｉ／Ｆ、１２は出力制御装置１０のシステム全体をコントロールするためのＣＰＵ、１３は出力制御装置１０のシステム全体をコントロールするためのプログラムを格納するＲＯＭ、１４は前記外部Ｉ／Ｆ１１より受信した画像データを後述されるデータ圧縮部３０で圧縮された圧縮データにして格納するＲＡＭである。該ＲＡＭ１４は、符号化データ記憶部７４として機能する。
【００６３】
そして、１５はＣＰＵ１２又はＤＭＡコントローラ１６から要求される内部バス１８へアクセスするためのアクセス権を調停するバス調停部である。また、ＤＭＡコントローラ１６は、後述される圧縮データＩ／Ｆ２０又は伸長データ４０よりアサートされるＤＭＡリクエストによってＤＭＡで内部バス１８を使用することができるように、前記バス調停部１５にバスリクエストをアサートするためのものである。
【００６４】
また、圧縮データＩ／Ｆ２０は、外部Ｉ／Ｆ１１より受信してＲＡＭ１４に格納された画像データを読み出すために、転送制御部７６として機能するＤＭＡコントローラ１６に対してＤＭＡリクエストをアサートし、ＤＭＡによってＲＡＭ１４より読み出した画像データをデータ圧縮部３０からのリクエストに応じて、該データ圧縮部３０に送るためのものである。そして、前記圧縮データＩ／Ｆ２０は、イエロー、マゼンタ、シアン、ブラックの四色分のそれぞれのチャネルに対応するＹ圧縮データＩ／Ｆ２１、Ｍ圧縮データＩ／Ｆ２２、Ｃ圧縮データＩ／Ｆ２３、及び、Ｋ圧縮データＩ／Ｆ２４から成る。なお、前記Ｙ圧縮データＩ／Ｆ２１、Ｍ圧縮データＩ／Ｆ２２、Ｃ圧縮データＩ／Ｆ２３、及び、Ｋ圧縮データＩ／Ｆ２４を統合的に説明する場合には、圧縮データＩ／Ｆ２０として説明する。ここで、該圧縮データＩ／Ｆ２０は、データ圧縮部３０で圧縮された圧縮データをＲＡＭ１４に書き込むために、ＤＭＡコントローラ１６に対してＤＭＡリクエストをアサートし、ＲＡＭ１４へ圧縮データを渡す。
【００６５】
そして、データ圧縮部３０は、圧縮データＩ／Ｆ２０に対して画像データの要求を行い、圧縮データＩ／Ｆ２０より受信した画像データを符号化して圧縮し、圧縮した圧縮データを圧縮データＩ／Ｆ２０に渡すためのものであり、イエロー、マゼンタ、シアン、ブラックの四色分のそれぞれのチャネルに対応するＹデータ圧縮部３１、Ｍデータ圧縮部３２、Ｃデータ圧縮部３３、及び、Ｋデータ圧縮部３４から成る。なお、前記Ｙデータ圧縮部３１、Ｍデータ圧縮部３２、Ｃデータ圧縮部３３、及び、Ｋデータ圧縮部３４を統合的に説明する場合には、データ圧縮部３０として説明する。
【００６６】
また、前記伸長データＩ／Ｆ４０は、前記データ圧縮部３０で圧縮され、ＲＡＭ１４に格納された圧縮データを読み出すために、ＤＭＡコントローラ１６に対してＤＭＡリクエストをアサートし、ＤＭＡによってＲＡＭ１４より読み出した圧縮データをデータ伸長部５０からの要求に応じて、該データ伸長部５０に送るためのものである。そして、前記伸長データＩ／Ｆ４０は、イエロー、マゼンタ、シアン、ブラックの四色分のそれぞれのチャネルに対応するＹ伸長データＩ／Ｆ４１、Ｍ伸長データＩ／Ｆ４２、Ｃ伸長データＩ／Ｆ４３、及び、Ｋ伸長データＩ／Ｆ４４から成る。なお、前記Ｙ伸長データＩ／Ｆ４１、Ｍ伸長データＩ／Ｆ４２、Ｃ伸長データＩ／Ｆ４３、及び、Ｋ伸長データＩ／Ｆ４４を統合的に説明する場合には、伸長データＩ／Ｆ４０として説明する。
【００６７】
そして、データ伸長部５０は、前記伸長データＩ／Ｆ４０に対して圧縮データの要求を行い、伸長データＩ／Ｆ４０より受信した圧縮データを復号化して伸長された画像データとし、伸長された該画像データを画像形成部１７に渡すためのものである。また、前記データ伸長部５０は、イエロー、マゼンタ、シアン、ブラックの四色分のそれぞれのチャネルに対応するＹデータ伸長部５１、Ｍデータ伸長部５２、Ｃデータ伸長部５３、及び、Ｋデータ伸長部５４から成る。なお、前記Ｙデータ伸長部５１、Ｍデータ伸長部５２、Ｃデータ伸長部５３、及び、Ｋデータ伸長部５４を統合的に説明する場合には、データ伸長部５０として説明する。そして、画像形成部１７は前記データ伸長部５０で伸長されたデータを受信し、受信したデータの印刷処理を行う。
【００６８】
次に、前記Ｙ伸長データＩ／Ｆ４１、Ｍ伸長データＩ／Ｆ４２、Ｃ伸長データＩ／Ｆ４３、及び、Ｋ伸長データＩ／Ｆ４４の構成について説明する。なお、前記Ｙ伸長データＩ／Ｆ４１、Ｍ伸長データＩ／Ｆ４２、Ｃ伸長データＩ／Ｆ４３、及び、Ｋ伸長データＩ／Ｆ４４は、同様の構成を有するので、統合的に伸長データＩ／Ｆ４０として説明する。
【００６９】
図１は本発明の第１の実施の形態における伸長データＩ／Ｆの構成を示すブロック図である。
【００７０】
図１に示されるように、伸長データＩ／Ｆ４０は、圧縮データ要求制御部６０と圧縮データ転送制御部７０とを有し、前記圧縮データ要求制御部６０はＤＭＡアドレス制御部８０と、ブロック転送量制御手段として機能するＤＭＡリクエスト制御部９０とを有する。また、前記ＤＭＡアドレス制御部８０はＤＭＡスタートアドレスレジスタ８１及びＤＭＡアドレスカウンタ８２を有する。そして、前記ＤＭＡスタートアドレスレジスタ８１には、前記ＣＰＵ１２によって、読み出す圧縮データが格納されているＲＡＭ１４のスタートアドレスが設定され、ＤＭＡコントローラ１６によりここで設定された該スタートアドレスから圧縮データの読み出しが開始される。また、前記ＤＭＡアドレスカウンタ８２には、前記ＤＭＡスタートアドレスレジスタ８１に設定されたスタートアドレスがロードされ、圧縮データが読み出される度に、読み出された該圧縮データの大きさ分だけインクリメントし、常に読み出す圧縮データのスタートアドレスを示し、該スタートアドレスがＤＭＡリクエストとともにＤＭＡコントローラ１６に出力される。
【００７１】
そして、前記ＤＭＡリクエスト制御部９０は、ＤＭＡデータサイズレジスタ９１、ＤＭＡデータサイズカウンタ９２、入力バッファ監視部９３及びＤＭＡリクエストアサート制御部９４を有する。前記ＤＭＡデータサイズレジスタ９１には、前記ＤＭＡスタートアドレスレジスタ８１に設定された圧縮データのスタートアドレスからの圧縮データの大きさを示す値がＣＰＵ１２によって設定される。また、前記ＤＭＡデータサイズカウンタ９２には、前記ＤＭＡデータサイズレジスタ９１に設定された値がロードされ、ＤＭＡによって圧縮データが読み出される度に、読み出された該圧縮データの大きさ分がデクリメントされ、残りの圧縮データの大きさを示すようになっている。そして、前記ＤＭＡデータサイズカウンタ９２は、残りの圧縮データの大きさの情報をＤＭＡリクエストアサート制御部９４へ伝える。そして、前記入力バッファ監視部９３は、後述される入力バッファ７１に格納された圧縮データがデータ伸長部５０に転送される状況を監視するためのものであり、入力バッファ７１に圧縮データがあるか否かを判断し、その情報をＤＭＡリクエストアサート制御部９４へ伝える。
【００７２】
また、該ＤＭＡリクエストアサート制御部９４は、前記ＤＭＡデータサイズカウンタ９２の情報及び入力バッファ監視部９３の情報を元にＤＭＡコントローラ１６に対してＤＭＡリクエストをアサートするか否かを制御するためのものである。ここで、前記ＤＭＡリクエストアサート制御部９４は、圧縮率レジスタ９５及び伸長速度予測部９６を有する。前記圧縮率レジスタ９５は、データ圧縮部３０で圧縮された圧縮データの圧縮率を図示されない圧縮データサイズ管理手段によって計算し、ここで、計算された圧縮率を設定するためのものである。
【００７３】
また、前記伸長速度予測部９６は、圧縮率レジスタ９５によって設定された値と、データ伸長部５０で必要となる伸長処理サイクルより、ＤＭＡリクエストを発生するタイミングを計算するためのものである。ここで、ＤＭＡリクエスト発生タイミングは次の式（１）によって計算される。
ＤＭＡリクエスト発生タイミング＝（圧縮データ〔ｂｙｔｅ〕÷
（圧縮率〔％〕÷１００））×伸長処理サイクル〔ｃｌｋ〕−α・・・式（１）
なお、式（１）において、圧縮データはＤＭＡデータサイズレジスタに設定される圧縮データのサイズであり、伸長処理サイクルは１バイトの伸長データを生成するために必要なサイクル数であり、αはマージン（一回のＤＭＡ転送で必要なサイクル数）である。
【００７４】
また、前記圧縮データ転送制御部７０は、入力バッファ７１及びデータ伸長部Ｉ／Ｆ７２を有する。そして、前記入力バッファ７１は、ＤＭＡで読み出された圧縮データをデータ伸長部５０に渡す前に一時的に格納しておくためのものである。また、前記データ伸長部Ｉ／Ｆ７２は、データ伸長部５０からの圧縮データの要求に応じて圧縮データをデータ伸長部５０に転送するためのものである。
【００７５】
次に、前記構成の伸長データＩ／Ｆ４０の動作について説明する。
【００７６】
図１１は本発明の第１の実施の形態におけるＤＭＡ出力の動作を示すフローチャートである。
【００７７】
まず、伸長データＩ／Ｆ４０は、データ伸長部５０に必要な各パラメータが設定された後、ＣＰＵ１２によって、ＤＭＡスタートアドレスレジスタ８１に圧縮データのＤＭＡスタートアドレスが、また、ＤＭＡデータサイズレジスタ９１に圧縮データの大きさが設定される。
【００７８】
そして、圧縮率レジスタ９５に圧縮率が設定されると、伸長速度予測部９６によって前記式（１）に基づいてＤＭＡリクエスト発生タイミングが計算され、該ＤＭＡリクエスト発生タイミングの計算が終了した後に、伸長データＩ／Ｆ４０が起動する。
【００７９】
次に、伸長データＩ／Ｆ４０が起動されると、ＤＭＡリクエストアサート制御部９４は、ＤＭＡコントローラ１６に対してＤＭＡリクエストをアサートする。また、ＤＭＡコントローラ１６は、前記ＤＭＡリクエストによってバス調停部１５対して、ＤＭＡで内部バス１８が使用することができるようにバスリクエストをアサートする。ここで、前記アサートしたバスリクエストがバス調停部１５によってバス使用を許可されると、バス調停部１５より内部バス使用可能を示す内部バスアクノリッジがＤＭＡコントローラ１６にリプライされる。そして、ＤＭＡコントローラ１６は、前記内部バスアクノリッジを受けて伸長データＩ／Ｆ４０にＤＭＡアクノリッジをリプライする。
【００８０】
また、前記ＤＭＡコントローラ１６よりＤＭＡアクノリッジがリプライされると、伸長データＩ／Ｆ４０はＲＡＭ１４より読み出された圧縮データを入力バッファ７１に格納し、データサンプリングを行う。
【００８１】
そして、入力バッファ７１に圧縮データを格納すると、ＤＭＡデータサイズカウンタ９２がデクリメントされ、ＤＭＡ転送する圧縮データが残っているか否かを判断し、ＤＭＡリクエストアサート制御部９４に伝える。
【００８２】
ここで、ＤＭＡ転送する圧縮データが残っていない場合、伸長データＩ／Ｆ４０は動作を停止し、次回に起動されるまでＤＭＡリクエストアサート制御部９４はＤＭＡコントローラ１６に対してＤＭＡリクエストをアサートしない。また、ＤＭＡ転送する圧縮データが残っている場合、入力バッファ監視部９３で入力バッファ７１が空いているか否かを判断し、該入力バッファ７１に空きがあるときには、次の圧縮データを格納可能であることをＤＭＡリクエストアサート制御部９４に伝える。そして、該ＤＭＡリクエストアサート制御部９４は、この情報を受けると、予測したＤＭＡリクエスト発生タイミングであるか否かを判断する。そして、予測したＤＭＡリクエスト発生タイミングでない場合、予測したＤＭＡリクエスト発生タイミングになるまで待機する。また、予測したＤＭＡリクエスト発生タイミングになった場合、ＤＭＡリクエストアサート制御部９４はＤＭＡリクエストをＤＭＡコントローラ１６に対してアサートする。
【００８３】
以降、ＤＭＡ転送する圧縮データがなくなるまで、前述の動作が繰り返し行われる。
【００８４】
次に、フローチャートについて説明する。
ステップＳ１１  データ伸長部５０に必要な各パラメータの設定を行う。
ステップＳ１２  ＤＭＡスタートアドレスレジスタ８１に圧縮データのＤＭＡスタートアドレスを、ＤＭＡデータサイズレジスタ９１に圧縮データの大きさを設定する。
ステップＳ１３  ＤＭＡリクエスト発生タイミングを計算する。
ステップＳ１４  ＤＭＡリクエスト発生タイミングの計算が終了したか否かを判断し、終了した場合はステップＳ１５に進み、終了しない場合は終了するまで待機する。
ステップＳ１５  伸長データＩ／Ｆ４０が起動する。
ステップＳ１６  ＤＭＡリクエストをアサートする。
ステップＳ１７  ＤＭＡアクノリッジがリプライされたか否かを判断する。リプライされた場合はステップＳ１８に進み、リプライされない場合は待機する。
ステップＳ１８  データサンプリングを行う。
ステップＳ１９  ＤＭＡ転送する圧縮データが残っているか否かを判断する。残っている場合はステップＳ２０に進み、残っていない場合は処理を終了する。
ステップＳ２０  入力バッファ７１が空いているか否かを判断し、空いている場合はステップＳ２１に進み、空いていない場合は空きができるまで待機する。
ステップＳ２１  予測したＤＭＡリクエスト発生タイミングであるか否かを判断する。予測したＤＭＡリクエスト発生タイミングである場合はステップＳ１６に戻り、予測したＤＭＡリクエスト発生タイミングでない場合は予測したＤＭＡリクエスト発生タイミングになるまで待機する。
【００８５】
次に、前述された動作のタイムチャートについて説明する。
【００８６】
図１２は本発明の第１の実施の形態における入力バッファの構成を示す図、図１３は本発明の第１の実施の形態におけるＤＭＡリクエストタイミングのタイムチャートを示す図である。
【００８７】
ここで、入力バッファ７１は、図１２（ａ）に示されるように、入力バッファＢＵＦ０及び入力バッファＢＵＦ１によって構成され、前記入力バッファＢＵＦ０及び入力バッファＢＵＦ１は、図１２（ｂ）に示されるように、それぞれ、入力バッファＢＵＦ００〜入力バッファＢＵＦ０３、及び、入力バッファＢＵＦ１０〜入力バッファＢＵＦ１３によって構成されているものとする。
【００８８】
そして、前記入力バッファＢＵＦ０及び入力バッファＢＵＦ１の記憶容量は、それぞれ、一回のＤＭＡで転送される圧縮データの大きさに相当し、入力バッファＢＵＦ００〜入力バッファＢＵＦ０３及び入力バッファＢＵＦ１０〜入力バッファＢＵＦ１３の記憶容量は、データ伸長部５０に渡す一回の圧縮データの大きさに相当する。
【００８９】
図１３に示されるように、ＤＭＡリクエストがアサートされ、ＤＭＡアクノリッジがリプライされると、初めに入力バッファＢＵＦ０に圧縮データが格納され、入力バッファＢＵＦ０に圧縮データが格納されると、圧縮データの準備ができたことを示す圧縮データレディ信号をオンしてデータ伸長部５０に伝える。
【００９０】
次に、データ伸長部５０は、圧縮データレディを受けると最初の入力バッファＢＵＦ００に格納された圧縮データを読み込み、圧縮データリクエストをオフし、伸長処理を開始する。
【００９１】
そして、入力バッファＢＵＦ００に格納された圧縮データの伸長処理が終了すると、データ伸長部５０は次の伸長処理に必要な圧縮データを要求するために、再び圧縮データリクエストをオンし、入力バッファＢＵＦ０１から次の圧縮データを読み込み、圧縮データリクエストをオフし、次の伸長処理を開始する。
【００９２】
以降、前述された動作を入力バッファＢＵＦ００〜入力バッファＢＵＦ０３と続け、入力バッファＢＵＦ０が空になった場合には、入力バッファＢＵＦ１における入力バッファＢＵＦ１０〜入力バッファＢＵＦ１３の順ですべての圧縮データの伸長処理が完了するまで続けられる。
【００９３】
また、伸長データＩ／Ｆ４０がアサートするＤＭＡリクエストは、図１３に示されるように、ＢＵＦ０又はＢＵＦ１に空きが生じた時ではなく、伸長速度予測部９６が伸長サイクルを予測し、計算されたサイクル数の経過後にアサートされるようになっている。
【００９４】
次に、前述された動作を、イエロー、マゼンタ、シアン、ブラックの四色分のＹ伸長データＩ／Ｆ４１、Ｍ伸長データＩ／Ｆ４２、Ｃ伸長データＩ／Ｆ４３、及び、Ｋ伸長データＩ／Ｆ４４が並行して行った場合について説明する。この場合、内部バス１８のアクセス状況を示すタイムチャートに基づいて説明する。
【００９５】
図１４は本発明の第１の実施の形態における内部バスのアクセス状況のタイムチャートを示す図である。
【００９６】
図１４に示されるタイムチャートにおいては、ＤＭＡコントローラ１６で付加するイエロー、マゼンタ、シアン、ブラックの各チャネルのプライオリティは、一般的なラウドロビン方式を想定しており、初回のプライオリティは、イエロー、マゼンタ、シアン、ブラックの順番となっている。また、ここでは、説明を簡略化するためにＹ伸長データＩ／Ｆ４１、Ｍ伸長データＩ／Ｆ４２、Ｃ伸長データＩ／Ｆ４３、及び、Ｋ伸長データＩ／Ｆ４４によるＤＭＡが行われているときにはＣＰＵ１２の内部バスアクセスは発生しないものとしている。
【００９７】
また、圧縮データの圧縮率は、イエロー、マゼンタ、シアン、ブラックの順で悪くなっている、つまり、イエローが一番圧縮率が良く、ブラックが一番圧縮率が悪いものとしている。
【００９８】
そして、四チャネルのＹ伸長データＩ／Ｆ４１、Ｍ伸長データＩ／Ｆ４２、Ｃ伸長データＩ／Ｆ４３、及び、Ｋ伸長データＩ／Ｆ４４を同時に起動すると、イエロー、マゼンタ、シアン、ブラック４チャネルすべてのＤＭＡリクエストがＤＭＡコントローラ１６に対してアサートされる。
【００９９】
該ＤＭＡコントローラ１６は、初回のプライオリティがＹ伸長データＩ／Ｆ４１が一番高いので、該Ｙ伸長データＩ／Ｆ４１のＤＭＡリクエストを受けて、バス調停部１５にバスリクエストをアサートする。この結果、バス調停部１５でＤＭＡが内部バス１８を使用することを許可されると、ＤＭＡコントローラ１６はＹ伸長データＩ／Ｆ４１に対してＤＭＡアクノリッジをリプライし、Ｙ伸長データＩ／Ｆ４１はＲＡＭ１４より読み出された圧縮データをＹ伸長データＩ／Ｆ４１の入力バッファＢＵＦ０に格納する。ここで、Ｙ伸長データＩ／Ｆ４１の入力バッファＢＵＦ１が空状態であるが、Ｙ伸長データＩ／Ｆ４１の伸長速度予測部９６で予測し、計算されたＤＭＡリクエスト発生タイミングではないため、Ｙ伸長データＩ／Ｆ４１はＤＭＡコントローラ１６に対して連続的にＤＭＡリクエストをアサートしない。
【０１００】
次に、ＤＭＡコントローラ１６は、Ｍ伸長データＩ／Ｆ４２のＤＭＡリクエストを受けてバス調停部１５にバスリクエストをアサートする。Ｍ伸長データＩ／Ｆ４２もＹ伸長データＩ／Ｆ４１と同様に、ＤＭＡコントローラ１６からＤＭＡアクノリッジがリプライされると、ＲＡＭ１４より読み出された圧縮データをＭ伸長データＩ／Ｆ４２の入力バッファＢＵＦ０に格納する。ここで、Ｍ伸長データＩ／Ｆ４２の入力バッファＢＵＦ１は空状態であるが、Ｍ伸長データＩ／Ｆ４２の伸長速度予測部９６で予測し、計算されたＤＭＡリクエスト発生タイミングではないため、Ｍ伸長データＩ／Ｆ４２はＤＭＡコントローラ１６に対して連続的にＤＭＡリクエストをアサートしない。
【０１０１】
また、Ｃ伸長データＩ／Ｆ４３についても、初回は前記Ｙ伸長データＩ／Ｆ４１及びＭ伸長データＩ／Ｆ４２と同様である。
【０１０２】
そして、Ｋ伸長データＩ／Ｆ４４については、ＤＭＡアクノリッジがリプライされ、ＲＡＭ１４より読み出された圧縮データをＫ伸長データＩ／Ｆ４４の入力バッファＢＵＦ０に格納した後、入力バッファＢＵＦ１が空状態であり、伸長速度予測部９６で予測し、計算されたＤＭＡリクエスト発生タイミングであるので、ＤＭＡリクエストを続けてアサートしている。
【０１０３】
以降、各チャネルのＹ伸長データＩ／Ｆ４１、Ｍ伸長データＩ／Ｆ４２、Ｃ伸長データＩ／Ｆ４３、及び、Ｋ伸長データＩ／Ｆ４４は、ＤＭＡリクエスト発生タイミングになるまでＤＭＡリクエストをアサートせず、ＤＭＡリクエスト発生タイミングになると、次のＤＭＡリクエストを発生する。
【０１０４】
このように、本実施の形態において、ＤＭＡリクエストアサート制御部９４は、伸長データＩ／Ｆ４０に圧縮率を設定する圧縮率レジスタ９５と、伸長サイクルを予測し、ＤＭＡリクエスト発生タイミングを計算する伸長速度予測部９６とを有する。これにより、ＤＭＡリクエスト制御部９０は、ＲＡＭ１４からデータ伸長部５０へのブロック転送量を増減させる。
【０１０５】
そのため、圧縮率の高いチャネルの伸長データＩ／Ｆ４０のＤＭＡリクエストが頻繁に発生することがなく、圧縮率の低いチャネルの伸長データＩ／Ｆ４０のＤＭＡリクエストがＤＭＡコントローラ１６で優先的に受け付けられるようになる。これにより、圧縮率の低いチャネルが内部バス１８を使用することができる頻度が上がるので、圧縮率の低いチャネルの伸長処理にかかるサイクル数と、圧縮率の高いチャネルで伸長処理にかかるサイクル数との差を小さくすることができる。したがって、圧縮率の低い伸長処理が遅れることがない。
【０１０６】
次に、本発明の第２の実施の形態について説明する。なお、前記第１の実施の形態と同じ構成を有するもの及び同じ動作については、その説明を省略する。
【０１０７】
図１５は本発明の第２の実施の形態における出力制御装置のシステムの構成を示すブロック図である。
【０１０８】
図１５において、伸長データＩ／Ｆ４０’は、イエロー、マゼンタ、シアン、ブラックの四色分のそれぞれのチャネルに対応するＹ伸長データＩ／Ｆ４１’、Ｍ伸長データＩ／Ｆ４２’、Ｃ伸長データＩ／Ｆ４３’、及び、Ｋ伸長データＩ／Ｆ４４’から成る。そして、前記Ｙ伸長データＩ／Ｆ４１’、Ｍ伸長データＩ／Ｆ４２’、Ｃ伸長データＩ／Ｆ４３’、及び、Ｋ伸長データＩ／Ｆ４４’は、相互にＤＭＡリクエストの状況を監視するために接続されている。なお、他の構成については、前記第１の実施の形態と同様なので説明を省略する。
【０１０９】
次に、前記Ｙ伸長データＩ／Ｆ４１’、Ｍ伸長データＩ／Ｆ４２’、Ｃ伸長データＩ／Ｆ４３’、及び、Ｋ伸長データＩ／Ｆ４４’の構成について説明する。なお、前記Ｙ伸長データＩ／Ｆ４１’、Ｍ伸長データＩ／Ｆ４２’、Ｃ伸長データＩ／Ｆ４３’、及び、Ｋ伸長データＩ／Ｆ４４’は、同様の構成を有するので、統合的に伸長データＩ／Ｆ４０’として説明する。
【０１１０】
図１６は本発明の第１の実施の形態における伸長データＩ／Ｆの構成を示すブロック図である。
【０１１１】
本実施の形態における伸長データＩ／Ｆ４０’は、ＤＭＡリクエストアサート制御部９４にＤＭＡアクセス監視部９７を有する。なお、他の構成については前記第１の実施の形態と同様なので説明を省略する。
【０１１２】
そして、前記ＤＭＡアクセス監視部９７は、他チャネルのＤＭＡリクエスト（ＤＭＡアクセス）状況を監視するためのものであり、ここで、前記ＤＭＡアクセス監視部９７は、監視している状況と、入力バッファ７１の空状況、伸長速度予測部９６で計算したＤＭＡリクエスト発生タイミングの状況によってＤＭＡリクエスト発生タイミングを判断する。
【０１１３】
次に、伸長データＩ／Ｆ４０’の動作について説明する。
【０１１４】
図１７は本発明の第２の実施の形態におけるＤＭＡ出力の動作を示すフローチャートである。
【０１１５】
まず、伸長データＩ／Ｆ４０’は、データ伸長部５０に必要な各パラメータが設定された後、ＣＰＵ１２によって、ＤＭＡスタートアドレスレジスタ８１に圧縮データのＤＭＡスタートアドレスが、また、ＤＭＡデータサイズレジスタ９１に圧縮データの大きさが設定される。
【０１１６】
そして、圧縮率レジスタ９５に圧縮率が設定されると、伸長速度予測部９６によって、前記第１の実施の形態における式（１）に基づいてＤＭＡリクエスト発生タイミングが計算され、該ＤＭＡリクエスト発生タイミングの計算が終了した後に、伸長データＩ／Ｆ４０’が起動する。
【０１１７】
次に、伸長データＩ／Ｆ４０’が起動されると、ＤＭＡリクエストアサート制御部９４は、ＤＭＡコントローラ１６に対してＤＭＡリクエストをアサートし、ＤＭＡコントローラ１６はこのＤＭＡリクエストによってバス調停部１５対して、ＤＭＡで内部バス１８が使用することができるようにバスリクエストをアサートする。ここで、アサートしたバスリクエストがバス調停部１５によってバス使用を許可されると、バス調停部１５より内部バス使用可能を示す内部バスアクノリッジがＤＭＡコントローラ１６にリプライされる。そして、ＤＭＡコントローラ１６は、前記内部バスアクノリッジを受けて伸長データＩ／Ｆ４０’にＤＭＡアクノリッジをリプライする。
【０１１８】
また、前記ＤＭＡコントローラ１６よりＤＭＡアクノリッジがリプライされると、伸長データＩ／Ｆ４０’はＲＡＭ１４より読み出された圧縮データを入力バッファ７１に格納し、データサンプリングを行う。
【０１１９】
そして、入力バッファ７１に圧縮データを格納すると、ＤＭＡデータサイズカウンタ９２がデクリメントされ、ＤＭＡ転送する圧縮データが残っているか否かを判断し、ＤＭＡリクエストアサート制御部９４に伝える。
【０１２０】
ここで、ＤＭＡ転送する圧縮データが残っていない場合には、伸長データＩ／Ｆ４０’は動作を停止し、次回に起動されるまでＤＭＡリクエストアサート制御部９４はＤＭＡコントローラ１６に対してＤＭＡリクエストをアサートしない。また、ＤＭＡ転送するデータが残っている場合、入力バッファ監視部９３で入力バッファ７１が空いているか否かを判断し、該入力バッファ７１に空きがあるときには、次の圧縮データを格納可能であることをＤＭＡリクエストアサート制御部９４に伝える。そして、該ＤＭＡリクエストアサート制御部９４は、この情報を受けると、予測したＤＭＡリクエスト発生タイミングであるか否かを判断する。ここで、予測したＤＭＡリクエスト発生タイミングである場合、ＤＭＡリクエストアサート制御部９４はＤＭＡリクエストをＤＭＡコントローラ１６に対してアサートする。また、予測したＤＭＡリクエスト発生タイミングでない場合、ＤＭＡアクセス監視部９７は他チャネルのＤＭＡアクセスが発生しているか否かを判断する。そして、他チャネルでＤＭＡアクセスが発生していない場合、他チャネルの伸長速度予測部９６で計算された値を参照し、次に他チャネルでＤＭＡリクエストがアサートされるまでのサイクル数を判断する。
【０１２１】
ここで、他チャネルで次に発生するＤＭＡリクエストのタイミングが自チャネルで次に発生するＤＭＡリクエストのタイミングよりも遅いと判断した場合、ＤＭＡリクエストアサート制御部９４は、次に発生する自チャネルのＤＭＡリクエストのタイミングを待たずにＤＭＡコントローラ１６に対してＤＭＡリクエストをアサートする。また、他チャネルで次に発生するＤＭＡリクエストまでのサイクルの方が、自チャネルで次に発生するＤＭＡリクエストのタイミングよりも早いと判断した場合、ＤＭＡリクエストアサート制御部９４は、次に自チャネルで発生するＤＭＡリクエストのタイミングを待ってＤＭＡリクエストをアサートする。
【０１２２】
以降、ＤＭＡ転送する圧縮データがなくなるまで動作が繰り返し行われる。
【０１２３】
次に、フローチャートについて説明する。
ステップＳ３１  データ伸長部５０に必要な各パラメータの設定を行う。
ステップＳ３２  ＤＭＡスタートアドレスレジスタ８１に圧縮データのＤＭＡスタートアドレスを、ＤＭＡデータサイズレジスタ９１に圧縮データの大きさを設定する。
ステップＳ３３  ＤＭＡリクエスト発生タイミングを計算する。
ステップＳ３４  ＤＭＡリクエスト発生タイミングの計算が終了したか否かを判断し、終了した場合はステップＳ３５に進み、終了しない場合は終了するまで待機する。
ステップＳ３５  伸長データＩ／Ｆ４０’が起動する。
ステップＳ３６  ＤＭＡリクエストをアサートする。
ステップＳ３７  ＤＭＡアクノリッジがリプライされたか否かを判断する。リプライされた場合はステップＳ３８に進み、リプライされない場合は待機する。
ステップＳ３８  データサンプリングを行う。
ステップＳ３９  ＤＭＡ転送する圧縮データが残っているか否かを判断する。残っている場合はステップＳ４０に進み、残っていない場合は処理を終了する。
ステップＳ４０  入力バッファ７１が空いているか否かを判断し、空いている場合はステップＳ４１に進み、空いていない場合は空きができるまで待機する。
ステップＳ４１  予測したＤＭＡリクエスト発生タイミングであるか否かを判断する。予測したＤＭＡリクエスト発生タイミングである場合はステップＳ３６に戻り、予測したＤＭＡリクエスト発生タイミングでない場合はステップＳ４２に進む。
ステップＳ４２  他チャネルのＤＭＡアクセスが発生しているか否かを判断する。発生している場合はステップＳ４１に戻り、発生していない場合はステップＳ４３に進む。
ステップＳ４３  次に他チャネルのＤＭＡリクエストが発生するタイミングにマージンがあるか否かを判断する。マージンがある場合はステップＳ３６に戻り、マージンがない場合は、ステップＳ４１に戻る。
【０１２４】
次に、前述された動作を、イエロー、マゼンタ、シアン、ブラックの四色分のＹ伸長データＩ／Ｆ４１’、Ｍ伸長データＩ／Ｆ４２’、Ｃ伸長データＩ／Ｆ４３’、及び、Ｋ伸長データＩ／Ｆ４４’が並行して行った場合のタイムチャートについて説明する。
【０１２５】
図１８は本発明の第２の実施の形態における内部バスのアクセス状況のタイムチャートを示す図である。
【０１２６】
図１８においては、あるタイミングで全チャネルのＤＭＡアクセスが発生していない場合の様子を示している。
【０１２７】
この場合、全チャネルのＤＭＡアクセスが発生していないときには、各チャネルのＤＭＡアクセス監視部９７は他チャネルのＤＭＡアクセスの発生の有無と、次に他チャネルで発生するＤＭＡリクエストのタイミングを監視する。また、自チャネルで次に発生するＤＭＡリクエストのタイミングが他チャネルで発生するＤＭＡリクエストのタイミングよりも早いときには、自チャネルで次に発生するＤＭＡリクエストのタイミングを待たずに即座にＤＭＡリクエストをアサートする。
【０１２８】
図１８に示されるタイムチャートにおいては、全チャネルのＤＭＡアクセスが発生していないときに各チャネルのＤＭＡアクセス監視部９７で他チャネルのＤＭＡアクセス監視部９７を監視した結果、Ｃチャネルで次に発生するＤＭＡリクエストのタイミングが他チャネルよりも早いので、Ｃチャネルは自チャネルで次に発生するＤＭＡリクエストのタイミングを待たずに即座にＤＭＡリクエストをアサートし、次に、Ｍチャネル、Ｙチャネルの順に同様の動作を行っている様子を示している。
【０１２９】
このように、本実施の形態においては、イエロー、マゼンタ、シアン、ブラックの四色分のそれぞれのチャネルに対応するＹ伸長データＩ／Ｆ４１’、Ｍ伸長データＩ／Ｆ４２’、Ｃ伸長データＩ／Ｆ４３’、及び、Ｋ伸長データＩ／Ｆ４４’に他チャネルのＤＭＡアクセス状況を監視するＤＭＡアクセス監視部９７を設け、それぞれが他チャネルのＤＭＡアクセス状況を判断する。そのため、他チャネルでＤＭＡアクセスが発生していない場合には、自チャネルのＤＭＡリクエストを即座にアサートすることが可能となる。これにより、圧縮率が高いチャネルにおいて、次にＤＭＡリクエストが発生するまでのサイクル数が多い場合でも、他チャネルのＤＭＡアクセスの合間にＤＭＡアクセスを発生することが可能となる。したがって、圧縮率の高いチャネルでも伸長処理時間に対して圧縮データの転送時間にマージンを増やすことができる。
【０１３０】
また、圧縮率が高いチャネルにおいては、他チャネルのＤＭＡアクセスの合間にＤＭＡアクセスを発生し、圧縮データを先読みすることができる。そのため、圧縮率の高いチャネルがＤＭＡアクセスを行った後には、圧縮率の低いチャネルのＤＭＡアクセスが優先されることとなる。したがって、圧縮率の悪いチャネルについても、伸長処理時間に対して更に圧縮データ転送時間のマージンを増やすことができる。
【０１３１】
なお、本発明は前記実施の形態に限定されるものではなく、本発明の趣旨に基づいて種々変形させることが可能であり、それらを本発明の範囲から排除するものではない。
【０１３２】
【発明の効果】
以上詳細に説明したように、本発明によれば、出力制御装置は、入力された画像データを符号化して圧縮された符号化データにする符号化処理部と、前記符号化データを記憶する符号化データ記憶部と、前記符号化データの圧縮率を算出する圧縮率演算部と、前記符号化データを復号化して伸長された画像データにする復号化処理部と、前記符号化データ転送する転送制御部を有し、該転送制御部は、前記圧縮率演算部が算出した符号化データの圧縮率に基づいて、前記符号化データ記憶部から復号化処理部へのブロック転送量を増減させるブロック転送量制御手段を備える。
【０１３３】
この場合、画像形成部において一定速度で画像データを出力させることができ適切に印刷を行うことができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態における伸長データＩ／Ｆの構成を示すブロック図である。
【図２】従来の出力制御装置のシステムの構成を示すブロック図である。
【図３】従来の伸長データＩ／Ｆの構成を示すブロック図である。
【図４】従来のＤＭＡ出力の動作を示すフローチャートである。
【図５】従来の入力バッファの構成を示す図である。
【図６】従来のＤＭＡリクエストタイミングのタイムチャートを示す図である。
【図７】従来の内部バスのアクセス状況のタイムチャートを示す図である。
【図８】本発明の第１の実施の形態における印刷装置の構成を示すブロック図である。
【図９】本発明の第１の実施の形態における画像形成部の構成を示す図である。
【図１０】本発明の第１の実施の形態における出力制御装置のシステムの構成を示すブロック図である。
【図１１】本発明の第１の実施の形態におけるＤＭＡ出力の動作を示すフローチャートである。
【図１２】本発明の第１の実施の形態における入力バッファの構成を示す図である。
【図１３】本発明の第１の実施の形態におけるＤＭＡリクエストタイミングのタイムチャートを示す図である。
【図１４】本発明の第１の実施の形態における内部バスのアクセス状況のタイムチャートを示す図である。
【図１５】本発明の第２の実施の形態における出力制御装置のシステムの構成を示すブロック図である。
【図１６】本発明の第１の実施の形態における伸長データＩ／Ｆの構成を示すブロック図である。
【図１７】本発明の第２の実施の形態におけるＤＭＡ出力の動作を示すフローチャートである。
【図１８】本発明の第２の実施の形態における内部バスのアクセス状況のタイムチャートを示す図である。
【符号の説明】
１０    出力制御装置
１４    ＲＡＭ
１６    ＤＭＡコントローラ
１７    画像形成部
６１    印刷装置
６８    印刷媒体
７３    符号化処理部
７４    符号化データ記憶部
７５    圧縮率演算部
７６    転送制御部
７７    復号化処理部
９０    ＤＭＡリクエスト制御部
【図１】
2004206336.tif 000003
【図２】
2004206336.tif 000004
【図３】
2004206336.tif 000005
【図４】
2004206336.tif 000006
【図５】
2004206336.tif 000007
【図６】
2004206336.tif 000008
【図７】
2004206336.tif 000009
【図８】
2004206336.tif 000010
【図９】
2004206336.tif 000011
【図１０】
2004206336.tif 000012
【図１１】
2004206336.tif 000013
【図１２】
2004206336.tif 000014
【図１３】
2004206336.tif 000015
【図１４】
2004206336.tif 000016
【図１５】
2004206336.tif 000017
【図１６】
2004206336.tif 000018
【図１７】
2004206336.tif 000019
【図１８】
2004206336.tif 000020