(57)【要約】【課題】  アンダーランエラーを発生させることなく、印刷装置の処理速度低下を防ぐ。【解決手段】  ラスタバッファを備え、印刷エンジンにラスタ単位でイメージデータを出力する画像処理回路と、ＣＰＵと、メモリと、前記画像処理回路からのデータ転送要求と、前記ＣＰＵからのメモリアクセス要求とを調停する調停回路とを備えたプリンタコントローラであって、前記調停回路は、前記画像処理回路からのラスタ単位のデータ転送要求があった場合に、データ転送の開始から所定時間内は、前記ＣＰＵからのメモリアクセス要求を優先して調停し、所定時間経過後は前記画像処理回路からのラスタ単位のデータ転送要求を優先して調停することを特徴とするプリンタコントローラ。【選択図】  図１
2007213512.tif 000002
【特許請求の範囲】
【請求項１】
ラスタバッファを備え、印刷エンジンにラスタ単位でイメージデータを出力する画像処理回路と、ＣＰＵと、メモリと、前記画像処理回路からのデータ転送要求と、前記ＣＰＵからのメモリアクセス要求とを調停する調停回路とを備えたプリンタコントローラであって、
前記調停回路は、前記画像処理回路からのラスタ単位のデータ転送要求があった場合に、データ転送の開始から所定時間内は、前記ＣＰＵからのメモリアクセス要求を優先して調停し、所定時間経過後は前記画像処理回路からのラスタ単位のデータ転送要求を優先して調停することを特徴とするプリンタコントローラ。
【請求項２】
ラスタバッファを備え、印刷エンジンにラスタ単位でイメージデータを出力する画像処理回路と、ＣＰＵと、メモリと、前記画像処理回路からのデータ転送要求と、前記ＣＰＵからのメモリアクセス要求とを調停する調停回路とを備えたプリンタコントローラであって、
前記調停回路は、前記画像処理回路からのラスタ単位のデータ転送要求があった場合に、データ転送の開始から所定時間内は、前記ＣＰＵからのメモリアクセス要求を優先して調停し、所定時間経過後に、前記画像処理回路へのデータ転送が終了しているかどうかを判断し、終了していない場合に、前記画像処理回路からのラスタ単位のデータ転送要求を優先して調停することを特徴とするプリンタコントローラ。
【請求項３】
請求項１または２に記載のプリンタコントローラであって、
前記所定時間は、
イメージデータの印刷エンジンへの出力開始間隔と、前記ラスタバッファへの最大データ転送量とに基づいて算出されることを特徴とするプリンタコントローラ。
【請求項４】
請求項２に記載のプリンタコントローラであって、
前記所定時間の算出は、前記ラスタバッファへの最大データ転送量から最大データ転送時間を見積もり、前記イメージデータの印刷エンジンへの出力開始間隔から引くことによって行なわれることを特徴とするプリンタコントローラ。
【請求項５】
ラスタバッファを備え、印刷エンジンにラスタ単位でイメージデータを出力する画像処理回路と、ＣＰＵと、メモリと、前記画像処理回路からのデータ転送要求と、前記ＣＰＵからのメモリアクセス要求とを調停する調停回路とを備えたプリンタコントローラであって、
前記調停回路は、前記画像処理回路からのラスタ単位のデータ転送要求があった場合に、転送すべきデータ量に基づいて基準時間を設定し、データ転送の開始から前記基準時間内は、前記ＣＰＵからのメモリアクセス要求を優先して調停し、前記基準時間経過後は前記画像処理回路からのラスタ単位のデータ転送要求を優先して調停することを特徴とするプリンタコントローラ。
【請求項６】
請求項５に記載のプリンタコントローラであって、
前記基準時間は、
イメージデータの印刷エンジンへの出力開始間隔と、前記ラスタバッファへのデータ転送量とに基づいて算出されることを特徴とするプリンタコントローラ。
【請求項７】
請求項６に記載のプリンタコントローラであって、
前記基準時間の算出は、前記ラスタバッファへのデータ転送量からデータ転送時間を見積もり、前記イメージデータの印刷エンジンへの出力開始間隔から引くことによって行なわれることを特徴とするプリンタコントローラ。
【請求項８】
ラスタバッファを備え、印刷エンジンにラスタ単位でイメージデータを出力する画像処理回路と、ＣＰＵと、メモリと、前記画像処理回路からのデータ転送要求と、前記ＣＰＵからのメモリアクセス要求とを調停する調停回路とを備えたプリンタコントローラであって、
前記調停回路は、前記画像処理回路からのラスタ単位のデータ転送要求があった場合に、データ転送の開始時は、前記ＣＰＵからのメモリアクセス要求を優先して調停し、転送すべき残りデータ量とデータ転送開始からの経過時間とが所定の条件を満たした場合に、前記基準時間経過後は前記画像処理回路からのラスタ単位のデータ転送要求を優先して調停することを特徴とするプリンタコントローラ。
【請求項９】
請求項８に記載のプリンタコントローラであって、
前記所定の条件は、
データ転送開始からの経過時間から、イメージデータの印刷エンジンへの出力開始までの時間を算出し、この時間と前記転送すべき残りデータ量の転送時間との差があらかじめ定めた範囲内に入ることであることを特徴とするプリンタコントローラ。
【請求項１０】
請求項１〜９のいずれか一項に記載したプリンタコントローラを搭載した印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置に係り、特に、メモリアクセスの調停を行なう調停回路を有するプリンタコントローラに関する。
【背景技術】
【０００２】
レーザ方式の印刷装置では、ビットマップ展開されたイメージデータを１ライン（ラスタ）単位で印刷エンジンに転送することで印刷が実行される。
【０００３】
印刷エンジンに出力されるイメージデータは、ラスタバッファにいったん書き込まれ、印刷エンジンのラスタ処理周期に同期して読み出される。
【０００４】
レーザ方式の印刷方式では、印刷エンジンへのイメージデータ転送を開始すると、ページの途中で処理を止めることはできない。このため、特許文献１に記載されているように、ラスタバッファへのイメージデータの書き込みが間に合わず、印刷エンジンに転送すべきイメージデータがラスタバッファに格納されていないとエラーが発生してしまう。このエラーを一般にアンダーランエラーと称している。
【０００５】
図７は、従来のレーザ方式の印刷装置におけるデータ転送処理関連の構成を説明するブロック図である。
【０００６】
本図に示すように、メインメモリ１３０へのメモリアクセスを制御するメモリ制御回路１１０に、ＣＰＵ１２０、入出力制御回路１４０、画像処理回路１５０が接続されている。メモリ制御回路１１０は、メインメモリ１３０へのアクセス処理を行なうメモリアクセス回路１１１と、ＣＰＵ１２０からのアクセス要求・入出力制御回路１４０からのＤＭＡ要求・画像処理回路１５０からのＤＭＡ要求を調停する調停回路１１２を備えている。
【０００７】
画像処理回路１５０は、メインメモリ１３０に格納された圧縮済画像データを、メモリ制御回路１１０を介したＤＭＡ転送で取得する。このために、ＤＭＡ要求制御回路１５１を備えている。
【０００８】
画像処理回路１５０は、ＤＭＡ転送された圧縮済画像データを解凍回路１５２により解凍し、得られたイメージデータをラスタバッファ１５３に一時的に格納する。そして、調整回路１５４が位置制御処理、画像調整処理等を施したうえで、ラスタ処理開始信号（ラスタスタート信号）に同期して印刷エンジン６００に順次出力する。
【０００９】
なお、本例では、画像処理回路１５０は、２本のラスタバッファ１５３を備えており、交互にイメージデータを印刷エンジン６００に出力するようになっている。すなわち、一方のラスタバッファ１５３がイメージデータを出力している間に、他方のラスタバッファ１５３が次のラスタのイメージデータを蓄積していることになる。
【００１０】
【特許文献１】特開２００１−２６１５１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上述のように、ラスタバッファ１５３へのイメージデータの書き込みが、印刷エンジン６００への転送に間に合わないと、アンダーランエラーが発生してしまう。
【００１２】
そこで、メモリ制御回路１１０の調停回路１１２は、アンダーランエラーの発生を防ぐため、画像処理回路１５０からのＤＭＡ要求、特に圧縮済み画像データの読み込みのためのＤＭＡ要求を最優先に調停するようにしている。
【００１３】
このため、印刷エンジン６００へのイメージデータ転送開始後は、ＣＰＵ１２０からの連続したアクセス要求が発生している場合でも、画像処理回路１５０からのＤＭＡ要求が優先され、ＣＰＵ１２０の処理が分断されることになる。
【００１４】
一般に、ＣＰＵ１２０における処理は、連続して行なう方が効率が良いため、画像処理回路１５０からのＤＭＡ要求が優先されることにより、ＣＰＵ１２０の処理速度が低下することになる。また、ＣＰＵ１２０がメモリアクセスを待たされることによる処理速度の低下も起こり得る。
【００１５】
本発明は、アンダーランエラーを発生させることなく、印刷装置の処理速度低下を防ぐことを目的とする。
【課題を解決するための手段】
【００１６】
上記課題を解決するため本発明の第１の態様であるプリンタコントローラは、
ラスタバッファを備え、印刷エンジンにラスタ単位でイメージデータを出力する画像処理回路と、ＣＰＵと、メモリと、前記画像処理回路からのデータ転送要求と、前記ＣＰＵからのメモリアクセス要求とを調停する調停回路とを備えたプリンタコントローラであって、
前記調停回路は、前記画像処理回路からのラスタ単位のデータ転送要求があった場合に、データ転送の開始から所定時間内は、前記ＣＰＵからのメモリアクセス要求を優先して調停し、所定時間経過後は前記画像処理回路からのラスタ単位のデータ転送要求を優先して調停することを特徴とする。
【００１７】
すなわち、データ転送の開始から所定時間内は、画像処理回路へのデータ転送は、ＣＰＵからのメモリアクセス要求がない時間に行なわれることになる。これにより、画像処理回路からのデータ転送要求によりＣＰＵの処理を分断させることが少なくなるため、印刷装置の処理速度低下を防ぐことができる。特に、所定時間内に画像処理回路へのデータ転送が終わってしまえば、ＣＰＵの処理に影響を与えないことになる。一方、所定経過時間後は、画像処理回路からのデータ転送要求を優先するためアンダーランエラーを発生させることを防ぐことができる。
【００１８】
上記課題を解決するため本発明の第２の態様であるプリンタコントローラは、
ラスタバッファを備え、印刷エンジンにラスタ単位でイメージデータを出力する画像処理回路と、ＣＰＵと、メモリと、前記画像処理回路からのデータ転送要求と、前記ＣＰＵからのメモリアクセス要求とを調停する調停回路とを備えたプリンタコントローラであって、
前記調停回路は、前記画像処理回路からのラスタ単位のデータ転送要求があった場合に、データ転送の開始から所定時間内は、前記ＣＰＵからのメモリアクセス要求を優先して調停し、所定時間経過後に、前記画像処理回路へのデータ転送が終了しているかどうかを判断し、終了していない場合に、前記画像処理回路からのラスタ単位のデータ転送要求を優先して調停することを特徴とする。
【００１９】
これにより、画像処理回路からのデータ転送要求によりＣＰＵの処理を分断させることが少なくなるため、印刷装置の処理速度低下を防ぐことができる。また、所定経過時間後、画像処理回路へのデータ転送が終了していない場合には、画像処理回路からのデータ転送要求を優先するためアンダーランエラーを発生させることを防ぐことができる。
【００２０】
いずれの場合も、前記所定時間は、
イメージデータの印刷エンジンへの出力開始間隔と、前記ラスタバッファへの最大データ転送量とに基づいて算出することができる。
【００２１】
より具体的には、前記所定時間の算出は、前記ラスタバッファへの最大データ転送量から最大データ転送時間を見積もり、前記イメージデータの印刷エンジンへの出力開始間隔から引くことによって行なうことができる。
【００２２】
上記課題を解決するため本発明の第３の態様であるプリンタコントローラは、
ラスタバッファを備え、印刷エンジンにラスタ単位でイメージデータを出力する画像処理回路と、ＣＰＵと、メモリと、前記画像処理回路からのデータ転送要求と、前記ＣＰＵからのメモリアクセス要求とを調停する調停回路とを備えたプリンタコントローラであって、
前記調停回路は、前記画像処理回路からのラスタ単位のデータ転送要求があった場合に、転送すべきデータ量に基づいて基準時間を設定し、データ転送の開始から前記基準時間内は、前記ＣＰＵからのメモリアクセス要求を優先して調停し、前記基準時間経過後は前記画像処理回路からのラスタ単位のデータ転送要求を優先して調停することを特徴とする。
【００２３】
これにより、画像処理回路からのデータ転送要求によりＣＰＵの処理を分断させることが少なくなるため、印刷装置の処理速度低下を防ぐことができる。また、転送すべきデータ量から設定された基準時間後は、画像処理回路からのデータ転送要求を優先するためアンダーランエラーを発生させることを防ぐことができる。
【００２４】
ここで、前記基準時間は、イメージデータの印刷エンジンへの出力開始間隔と、前記ラスタバッファへのデータ転送量とに基づいて算出することができる。
【００２５】
より具体的には、前記基準時間の算出は、前記ラスタバッファへのデータ転送量からデータ転送時間を見積もり、前記イメージデータの印刷エンジンへの出力開始間隔から引くことによって行なうことができる。
【００２６】
上記課題を解決するため本発明の第４の態様であるプリンタコントローラは、
ラスタバッファを備え、印刷エンジンにラスタ単位でイメージデータを出力する画像処理回路と、ＣＰＵと、メモリと、前記画像処理回路からのデータ転送要求と、前記ＣＰＵからのメモリアクセス要求とを調停する調停回路とを備えたプリンタコントローラであって、
前記調停回路は、前記画像処理回路からのラスタ単位のデータ転送要求があった場合に、データ転送の開始時は、前記ＣＰＵからのメモリアクセス要求を優先して調停し、転送すべき残りデータ量とデータ転送開始からの経過時間とが所定の条件を満たした場合に、前記基準時間経過後は前記画像処理回路からのラスタ単位のデータ転送要求を優先して調停することを特徴とする。
【００２７】
これにより、画像処理回路からのデータ転送要求によりＣＰＵの処理を分断させることが少なくなるため、印刷装置の処理速度低下を防ぐことができる。また、転送すべきデータ残量と経過時間とが所定の条件を満たした場合に、画像処理回路からのデータ転送要求を優先するためアンダーランエラーを発生させることを防ぐことができる。
【００２８】
ここで、前記所定の条件は、データ転送開始からの経過時間から、イメージデータの印刷エンジンへの出力開始までの時間を算出し、この時間と前記転送すべき残りデータ量の転送時間との差があらかじめ定めた範囲内に入ることとすることができる。
【００２９】
本発明は、上記の各プリンタコントローラを搭載した印刷装置も提供する。
【発明を実施するための最良の形態】
【００３０】
本発明の実施例について図面を参照して説明する。
【００３１】
図１は、本発明を適用したレーザ方式の印刷装置におけるデータ転送処理関連の構成を説明するためのブロック図である。
【００３２】
本図に示すように、メインメモリ３０へのメモリアクセスを制御するメモリ制御回路１０に、ＣＰＵ２０、入出力制御回路４０、画像処理回路５０が接続されている。メモリ制御回路１０は、メインメモリ３０へのアクセス処理を行なうメモリアクセス回路１１と、ＣＰＵ２０からのアクセス要求・入出力制御回路４０からのＤＭＡ要求・画像処理回路５０からのＤＭＡ要求を調停する調停回路１２を備えている。
【００３３】
画像処理回路５０は、メインメモリ３０に格納された圧縮済画像データを、メモリ制御回路１０を介したＤＭＡ転送で取得する。このために、ＤＭＡ要求制御回路５１を備えている。なお、圧縮済画像データは、画像データがラスタ単位で圧縮されたものである。
【００３４】
この圧縮済画像データを解凍回路５２により解凍し、得られたイメージデータをラスタバッファ５３に一時的に蓄積する。そして、調整回路５４が位置制御処理、画像調整処理等を施したうえで、ラスタ処理開始信号（ラスタスタート信号）に同期して印刷エンジン６０に順次出力する。
【００３５】
なお、画像処理回路５０は、２本のラスタバッファ５３を備えており、交互にイメージデータを印刷エンジン６０に出力するようになっている。つまり、一方のラスタバッファ５３にデータを蓄積している間に、他方のラスタバッファ５３からイメージデータを出力していることになる。このため、アンダーランが発生するのは、ラスタバッファからイメージデータを出力後、次のラスタスタート信号までに、１ラスタ分のデータを蓄積できない場合である。
【００３６】
ここで、印刷エンジン６０の特性上、ラスタスタート信号は、一定の間隔で発生される。ラスタスタート信号の間隔は、印刷の解像度、印刷用紙のサイズ等に応じて定められる。
【００３７】
本実施例において、調停回路１２は、転送カウンタ１２ａとタイマ１２ｂとを備えている。転送カウンタ１２ａは、ラスタバッファ５３へのＤＭＡ転送の回数をカウントする。ＤＭＡ転送するデータ量は、あらかじめ画像処理回路のＤＭＡ要求制御回路５１から通知されているため、処理中のラスタについて、何回のＤＭＡ転送が必要かを算出することができる。
【００３８】
したがって、ラスタバッファ５３へのＤＭＡ転送の回数をカウントすることで、ラスタバッファ５３へのＤＭＡ転送が終了したかどうか、あるいは、ラスタバッファ５３への残り転送量（残り転送回数）等を把握することができる。
【００３９】
タイマ１２ｂは、ラスタスタートからの経過時間を計測する。これにより、次のラスタスタートまでの残時間等を把握することができる。したがって、転送カウンタ１２ａとタイマ１２ｂとは、ラスタスタート毎にリセットされる。
【００４０】
つぎに、本発明の第１の実施例におけるデータ転送処理について図２のフロー図を参照して説明する。
【００４１】
本フロー図は、メインメモリ３０に格納された圧縮済画像データを画像処理回路５０にＤＭＡ転送する際の処理を示している。
【００４２】
本実施例では、画像処理回路５０へのＤＭＡ転送開始時には、画像処理回路５０からのＤＭＡ要求の優先度を下げておく。その結果、ＣＰＵ２０からのアクセス要求、入出力制御回路４０からのＤＭＡ要求が、画像処理回路５０からのＤＭＡ要求より優先されて処理される。
【００４３】
そして、ＤＭＡ転送開始からの経過時間が所定の基準時間を経過した時点で優先順位を切り替えて、画像処理回路５０からのＤＭＡ要求を最優先に調停するようにする。
【００４４】
これにより、ＣＰＵ２０の処理が、画像処理回路５０へのＤＭＡ処理により分断されることを少なくして、印刷装置の処理速度低下を防ぐようにする。
【００４５】
ここで、所定の基準時間は、例えば、以下のようにして決定することができる。すなわち、ラスタバッファ５３に転送すべきデータ量から、ＤＭＡ転送に要する時間をあらかじめ見積もることができる。転送すべきデータ量は、例えば、最も圧縮率の悪いケースを想定して見積もるようにする。また、ＤＭＡ転送の効率も条件が悪い場合を想定して見積もるようにする。
【００４６】
これにより、次のラスタスタートからどれだけ前にＤＭＡ転送を開始すれば、少なくとも、次のラスタスタートまでにラスタバッファ５３へのＤＭＡ転送が完了するかを算出することができる。そして、所定の基準時間は、ラスタスタートからその時間までの時間と定めることができる。
【００４７】
画像処理回路５０からのＤＭＡ要求があると、このＤＭＡ転送の優先順位が低い状態で、最初のラスタデータがラスタバッファ５３に格納される（Ｓ１０１）。
【００４８】
そして、ラスタスタート信号（Ｓ１０２）により、印刷エンジン６０へのイメージデータ出力が開始される。なお、画像処理回路５０へのＤＭＡ転送に先立ち、ラスタスタート信号の間隔はすでに定められている。
【００４９】
同時に、タイマ１２ｂの計時がスタートする（Ｓ１０３）。そして、基準時間が経過するまで（Ｓ１０４）、画像処理回路５０へのＤＭＡ転送が優先順位の低いまま行なわれる。したがって、ＣＰＵ２０からのメインメモリ３０へのアクセス要求は、ＤＭＡ転送により分断されないため、ＣＰＵ２０の処理効率の低下を防ぐことができる。
【００５０】
そして、基準時間が経過すると（Ｓ１０４：Ｙ）、調停回路１２は、画像処理回路５０へのＤＭＡ転送を最優先に調停する。
【００５１】
そして、次のラスタスタート信号（Ｓ１０６）で、ラスタバッファ５３に蓄積されたイメージデータを印刷エンジン６０に出力する。基準時間は、基準時間経過後に画像処理回路５０へのＤＭＡ転送を開始しても、ラスタバッファ５３へのデータ格納が間に合うように設定されているため、アンダーランエラーを防ぐことができる。
【００５２】
処理（Ｓ１０３）移行の処理を、ＤＭＡ転送すべきラスタが終了するまで（Ｓ１０７）、繰り返すことにより、１ページ分の印刷が実行される。
【００５３】
このように、本発明の第１の実施例によれば、アンダーランエラーを発生させることなく、印刷装置の処理速度低下を防ぐことができる。
【００５４】
図３は、本実施例におけるＤＭＡ転送の様子を模式的に示したタイミング図である。本図に示すように、ラスタスタート信号により、ラスタ単位のＤＭＡ転送が開始する。ＤＭＡ転送開始時においては、ＣＰＵ２０からの要求が優先されるため、調停回路１２は、ＣＰＵ２０からのＣＰＵリクエストと画像処理回路５０からのＶＤＭＡリクエストが重なった場合にはＣＰＵリクエストを優先するように調停する。この結果、メモリバスはＣＰＵ２０が優先的に使用することになる。
【００５５】
一方。画像処理回路５０からのＶＤＭＡリクエストによるＤＭＡ転送は、ＣＰＵリクエストがないタイミングで行なわれる。
【００５６】
そして、基準時間経過後は、調停回路内の内部信号により優先順位が切り替わり、調停回路１２は、画像処理回路５０からのＶＤＭＡリクエストが最優先となるように調停する。この結果、メモリバスは画像処理回路５０が優先的に使用することになる。
【００５７】
つぎに、本発明の第２の実施例におけるデータ転送処理について図４のフロー図を参照して説明する。
【００５８】
本実施例と第１の実施例との相違点は、基準時間が経過した時点で、画像処理回路５０へのＤＭＡ転送が終了しているかどうかを判断し、終了していない場合に、画像処理回路５０へのＤＭＡ転送の優先順位を高くすることである。
【００５９】
このため、画像処理回路５０へのＤＭＡ転送回数を転送カウンタ１２ａを用いてカウントし、転送に必要なＤＭＡ転送回数と比較することで、画像処理回路５０へのＤＭＡ転送が終了しているかどうかを判断する。
【００６０】
本実施例においても、画像処理回路５０からのＤＭＡ要求があると、このＤＭＡ転送の優先順位が低い状態で、最初のラスタデータがラスタバッファ５３に格納される（Ｓ２０１）。
【００６１】
そして、ラスタスタート信号（Ｓ２０２）により、印刷エンジン６０へのイメージデータ出力が開始される。なお、画像処理回路５０へのＤＭＡ転送に先立ち、ラスタスタート信号の間隔はすでに定められている。また、画像処理回路５０へ転送すべきデータ量が画像処理回路５０から通知されるため、必要なＤＭＡ転送回数を算出することができる。
【００６２】
同時に、タイマ１２ｂの計時がスタートする（Ｓ２０３）。そして、基準時間が経過するまで（Ｓ２０４）、画像処理回路５０へのＤＭＡ転送が優先順位の低いまま行なわれる。したがって、ＣＰＵ２０からのメインメモリ３０へのアクセス要求は、ＤＭＡ転送により分断されないため、ＣＰＵ２０の処理効率の低下を防ぐことができる。
【００６３】
なお、画像処理回路５０へのＤＭＡ転送が行なわれるたびに転送カウンタ１２ａの値を増やすようにする。
【００６４】
そして、基準時間が経過すると（Ｓ２０４：Ｙ）、調停回路１２は、転送カウンタ１２ａの値と、転送に必要なＤＭＡ転送回数と比較することで、画像処理回路５０へのＤＭＡ転送が終了しているかどうかを判断する（Ｓ２０５）。
【００６５】
その結果、画像処理回路５０へのＤＭＡ転送が終了していると判断した場合には（Ｓ２０５：Ｙ）、画像処理回路５０へのＤＭＡ転送の優先順位を上げる必要がないため、優先順位を変更することなく次のラスタスタート信号を待つ。
【００６６】
一方、まだ画像処理回路５０へのＤＭＡ転送が終了していないと判断した場合には（Ｓ２０５：Ｎ）、画像処理回路５０へのＤＭＡ転送を最優先に調停する（Ｓ２０６）。
【００６７】
そして、次のラスタスタート信号（Ｓ２０７）で、ラスタバッファ５３に蓄積されたイメージデータを印刷エンジン６０に出力する。基準時間は、基準時間経過後に画像処理回路５０へのＤＭＡ転送を開始しても、ラスタバッファ５３へのデータ格納が間に合うように設定されているため、アンダーランエラーを防ぐことができる。
【００６８】
処理（Ｓ２０３）移行の処理を、ＤＭＡ転送すべきラスタが終了するまで（Ｓ２０８）、繰り返すことにより、１ページ分の印刷が実行される。なお、必要なＤＭＡ転送回数の算出およびＤＭＡ転送回数のカウントは、毎ラスタ毎に行なうようにする。
【００６９】
このように、本発明の第２の実施例によれば、アンダーランエラーを発生させることなく、印刷装置の処理速度低下を防ぐことができる。さらに、不要な優先順位の切替を行なわないようにすることができる。
【００７０】
つぎに、本発明の第３の実施例におけるデータ転送処理について図５のフロー図を参照して説明する。
【００７１】
本実施例と第１の実施例との相違点は、ＤＭＡ転送すべきデータ量に基づいて、基準時間を各ラスタ毎に算出することである。
【００７２】
このため、基準時間がラスタ毎に異なることになる。すなわち、転送すべきデータ量が多いラスタについては基準時間が短くなり、転送すべきデータ量が少ないラスタについては基準時間が長くなる。
【００７３】
本実施例においても、画像処理回路５０からのＤＭＡ要求があると、このＤＭＡ転送の優先順位が低い状態で、最初のラスタデータがラスタバッファ５３に格納される（Ｓ３０１）。この際に、ＤＭＡ転送の回数をカウントする。
【００７４】
そして、ラスタスタート信号（Ｓ３０２）により、印刷エンジン６０へのイメージデータ出力が開始される。なお、画像処理回路５０へのＤＭＡ転送に先立ち、ラスタスタート信号の間隔はすでに定められている。
【００７５】
そして、画像処理回路５０から通知された画像処理回路５０へ転送すべきデータ量に基づいて、基準時間を設定する（Ｓ３０３）。基準時間は、そのラスタのデータ量を転送するために必要な時間を見積もり、次のラスタスタートからどれだけ前にＤＭＡ転送を開始すれば、少なくとも、次のラスタスタートまでにラスタバッファ５３へのＤＭＡ転送が完了するかを算出することで求めることができる。
【００７６】
同時に、タイマ１２ｂの計時がスタートする（Ｓ３０４）。そして、基準時間が経過するまで（Ｓ３０５）、画像処理回路５０へのＤＭＡ転送が優先順位の低いまま行なわれる。したがって、ＣＰＵ２０からのメインメモリ３０へのアクセス要求は、ＤＭＡ転送により分断されないため、ＣＰＵ２０の処理効率の低下を防ぐことができる。
【００７７】
そして、基準時間が経過すると（Ｓ３０５：Ｙ）、調停回路１２は、画像処理回路５０へのＤＭＡ転送を最優先に調停する。
【００７８】
そして、次のラスタスタート信号（Ｓ３０７）で、ラスタバッファ５３に蓄積されたイメージデータを印刷エンジン６０に出力する。基準時間は、基準時間経過後に画像処理回路５０へのＤＭＡ転送を開始しても、ラスタバッファ５３へのデータ格納が間に合うように設定されているため、アンダーランエラーを防ぐことができる。
【００７９】
処理（Ｓ３０３）移行の処理を、ＤＭＡ転送すべきラスタが終了するまで（Ｓ３０８）、繰り返すことにより、１ページ分の印刷が実行される。
【００８０】
このように、本発明の第３の実施例によれば、アンダーランエラーを発生させることなく、印刷装置の処理速度低下を防ぐことができる。さらに、転送すべきデータ量に応じて基準時間を変化させるため、より実態にあった制御が可能となり、印刷装置の処理速度低下を一層防ぐことができる。
【００８１】
つぎに、本発明の第４の実施例におけるデータ転送処理について図６のフロー図を参照して説明する。
【００８２】
本実施例と第１の実施例との相違点は、画像処理回路５０へ転送すべき残データ量と、次のラスタスタート信号までの時間をリアルタイムに取得し、これ以上、画像処理回路５０へのＤＭＡ転送の優先順位が低い状態が続くと、ラスタバッファ５３へのデータ蓄積が間に合わなくなるおそれがある時点で優先順位を切り替えるようにすることである。
【００８３】
このため、調停回路１２は、画像処理回路５０へのＤＭＡ転送回数を転送カウンタ１２ａを用いてカウントすることで、画像処理回路５０へ転送すべき残データ量（残転送回数）を取得し、タイマ１２ｂでラスタスタートからの経過時間を計測することで、次のラスタスタート信号までの時間を取得する。
【００８４】
そして、残データ量の転送に必要な時間を見積もり、その時間が次のラスタスタート信号までの時間とほぼ一致した時点を転送可能限界と判断し、画像処理回路５０へのＤＭＡ転送を最優先に調停する。一致したかどうかは、厳密なものでなくてもよく、その時間の差があらかじめ定めた範囲内に入ったことで判断すれば足りる。ただし、転送可能限界の判定は、種々の方法を採用することができる。
【００８５】
本実施例においても、画像処理回路５０からのＤＭＡ要求があると、このＤＭＡ転送の優先順位が低い状態で、最初のラスタデータがラスタバッファ５３に格納される（Ｓ４０１）。
【００８６】
そして、ラスタスタート信号（Ｓ４０２）により、印刷エンジン６０へのイメージデータ出力が開始される。なお、画像処理回路５０へのＤＭＡ転送に先立ち、ラスタスタート信号の間隔はすでに定められている。また、画像処理回路５０へ転送すべきデータ量が画像処理回路５０から通知されるため、必要なＤＭＡ転送回数を算出することができる。そして、ＤＭＡ転送が行なわれるたびに、残りのＤＭＡ転送回数を算出する。
【００８７】
同時に、タイマ１２ｂの計時がスタートする（Ｓ４０３）。ＤＭＡ転送の開始時においては、画像処理回路５０へのＤＭＡ転送の優先順位は低く設定されている。したがって、ＣＰＵ２０からのメインメモリ３０へのアクセス要求は、ＤＭＡ転送により分断されないため、ＣＰＵ２０の処理効率の低下を防ぐことができる。
【００８８】
調停回路１２は、残りのＤＭＡ転送回数とラスタスタートからの経過時間を取得する（Ｓ４０４）。そして、残りのＤＭＡ転送回数に必要な時間を見積もり、その時間と次のラスタスタート信号までの時間とに基づいて、転送可能限界状態になったかどうかを判断する（Ｓ４０５）。ここでは、残データ量の転送に必要な時間と、次のラスタスタート信号までの時間とがほぼ一致した時点を転送可能限界と判断する。
【００８９】
その結果、転送可能限界に達していないと判断した場合には（Ｓ４０５：Ｎ）、画像処理回路５０へのＤＭＡ転送の優先順位を上げる必要がないため、優先順位の切替は行なわず、ＤＭＡ転送を継続する。
【００９０】
一方、転送可能限界に達したと判断した場合には（Ｓ４０５：Ｙ）、画像処理回路５０へのＤＭＡ転送を最優先に調停する（Ｓ４０６）。なお、ＣＰＵ２０の処理状況等によっては、優先順位の切替が必要ないまま、ＤＭＡ転送が終了する場合もある。
【００９１】
そして、次のラスタスタート信号（Ｓ４０７）で、ラスタバッファ５３に蓄積されたイメージデータを印刷エンジン６０に出力する。
【００９２】
転送可能限界は、その状態となった時点で画像処理回路５０へのＤＭＡ転送の優先順位を上げても、ラスタバッファ５３へのデータ格納が間に合うように設定されているため、アンダーランエラーを防ぐことができる。
【００９３】
処理（Ｓ４０３）移行の処理を、ＤＭＡ転送すべきラスタが終了するまで（Ｓ４０８）、繰り返すことにより、１ページ分の印刷が実行される。
【００９４】
このように、本発明の第４の実施例によれば、アンダーランエラーを発生させることなく、印刷装置の処理速度低下を防ぐことができる。さらに、画像処理回路５０へ転送すべき残データ量と、次のラスタスタート信号までの時間をリアルタイムに取得し、これ以上、画像処理回路５０へのＤＭＡ転送の優先順位が低い状態が続くと、ラスタバッファ５３へのデータ蓄積が間に合わなくなるおそれがある時点で優先順位を切り替えるようにしている。これにより、より実態にあった制御が可能となり、ＣＰＵ２０の処理の分断を一層防ぐことができるため、印刷装置の処理速度低下をさらに防ぐことができる。
【図面の簡単な説明】
【００９５】
【図１】本実施例の印刷装置におけるデータ転送処理関連の構成を説明するブロック図。
【図２】第１の実施例におけるデータ転送処理を説明するフロー図。
【図３】本実施例のデータ転送処理を説明するタイミング図。
【図４】第２の実施例におけるデータ転送処理を説明するフロー図。
【図５】第３の実施例におけるデータ転送処理を説明するフロー図。
【図６】第４の実施例におけるデータ転送処理を説明するフロー図。
【図７】従来の印刷装置におけるデータ転送処理関連の構成を説明するブロック図。
【符号の説明】
【００９６】
１０…メモリ制御回路、１１…メモリアクセス回路、１２…調停回路、１２ａ…転送カウンタ、１２ｂ…タイマ、２０…ＣＰＵ、３０…メインメモリ、４０…入出力制御回路、５０…画像処理回路、５１…ＤＭＡ要求制御回路、５２…解凍回路、５３…ラスタバッファ、５４…調整回路、６０…印刷エンジン、１１０…メモリ制御回路、１１１…メモリアクセス回路、１１２…調停回路、１３０…メインメモリ、１４０…入出力制御回路、１５０…画像処理回路、１５１…ＤＭＡ要求制御回路、１５２…解凍回路、１５３…ラスタバッファ、１５４…調整回路、１６０…印刷エンジン
【図１】
2007213512.tif 000003
【図２】
2007213512.tif 000004
【図３】
2007213512.tif 000005
【図４】
2007213512.tif 000006
【図５】
2007213512.tif 000007
【図６】
2007213512.tif 000008
【図７】
2007213512.tif 000009