(57)【要約】【課題】複数の処理部が記憶部を介してデータを転送する場合に、いずれかの処理部のデータ転送速度が変化した場合であっても各処理部による記憶部へのアクセスを適切に調停することを容易にする。【解決手段】ＤＲＡＭ１０３内のバッファーＢ４に複数の第１のデータを順次記憶させる回路Ｃと、バッファーＢ４からデータを順次読み出す光走査装置４２と、回路Ｃのデータ転送速度を検出速度Ｄｃｗとして検出する転送速度検出部１１１と、バッファーＢ４の空き記憶容量を第１の空データ量として検出する空データ量検出部１１２と、バッファーＢ４からまだ読み出されていないデータ量である第１の残データ量を検出する残データ量検出部１１３と、第１の空データ量、第１の残データ量、及び検出速度Ｄｃｗに基づき、回路ＣによるＤＲＡＭ１０３との間でのデータ転送速度を調節するデータ転送調節部１１４とを備えた。【選択図】図６
2014204355.tif 000002
【特許請求の範囲】
【請求項１】
入力方向及び出力方向にデータを転送可能であって、前記入力方向に転送されたデータを記憶する記憶部と、
前記記憶部の予め定められた記憶領域へ、前記入力方向に複数の第１のデータを順次転送することにより、前記記憶部に前記複数の第１のデータを記憶させる第１の処理部と、
前記第１の処理部による前記複数の第１のデータの転送と並行して、前記記憶領域に記憶されたデータを前記出力方向に順次転送することにより、前記記憶領域に記憶された前記複数の第１のデータを読み出す第２の処理部と、
前記第１の処理部及び前記第２の処理部のうち少なくとも一方の処理部による、前記記憶部との間でのデータ転送速度を第１の検出速度として検出する転送速度検出部と、
前記記憶領域のうち、前記第１のデータが記憶されていない領域の記憶容量である第１の空データ量を検出する空データ量検出部と、
前記記憶領域に記憶された前記第１のデータのうちの前記第２の処理部により読み出されるべき読出対象データのうち、前記第２の処理部により読み出されていないデータのデータ量である第１の残データ量を検出する残データ量検出部と、
前記第１の空データ量、前記第１の残データ量、及び前記第１の検出速度に基づき、前記少なくとも一方の処理部による前記記憶部との間でのデータ転送速度を調節するデータ転送調節部とを備えるデータ転送装置。
【請求項２】
前記少なくとも一方の処理部は、前記第１の処理部であり、
前記第２の処理部の、前記記憶部からのデータ転送速度は、予め定められた固定転送速度であり、
前記データ転送調節部は、
前記第１の空データ量分の前記第１のデータを前記第１の処理部が転送する時間を前記第１の検出速度に基づき第１の書込予測時間として算出し、前記第１の残データ量分の前記第１のデータを前記第２の処理部が転送する時間を前記固定転送速度に基づき第１の読出予測時間として算出し、前記第１の読出予測時間よりも前記第１の書込予測時間が長い場合、前記第１の処理部による前記記憶部との間でのデータ転送速度を増大させる請求項１記載のデータ転送装置。
【請求項３】
前記記憶領域は、予め定められた第１の記憶容量をそれぞれが有する第１及び第２の記憶領域を含み、
前記第１の処理部は、
前記第１の記憶容量分の前記複数の第１のデータを前記第１の記憶領域に順次記憶させる第１の記憶処理と、前記第１の記憶容量分の前記複数の第１のデータを前記第２の記憶領域に順次記憶させる第２の記憶処理とを交互に実行し、
前記第２の処理部は、
前記第１の処理部による前記第２の記憶処理の実行と並行して前記第１の記憶領域に記憶された前記複数の第１のデータを前記読出対象データとして読み出す第１の読出処理を実行し、前記第１の処理部による前記第１の記憶処理の実行と並行して前記第２の記憶領域に記憶された前記複数の第１のデータを前記読出対象データとして読み出す第２の読出処理を実行し、
前記空データ量検出部は、
前記第１の処理部による前記第１の記憶処理の実行中は、前記第１の記憶領域に対して第１のデータが記憶されていない領域の記憶容量を前記第１の空データ量として検出し、前記第１の処理部による前記第２の記憶処理の実行中は、前記第２の記憶領域に対して前記第１のデータが記憶されていない領域の記憶容量を前記第１の空データ量として検出し、
前記残データ量検出部は、
前記第２の処理部による前記第１の読出処理の実行中は、前記第１の記憶領域に記憶されたデータのうち前記第２の処理部により読み出されていない前記第１のデータのデータ量を前記第１の残データ量として検出し、前記第２の処理部による前記第２の読出処理の実行中は、前記第２の記憶領域に記憶されたデータのうち前記第２の処理部により読み出されていない前記第１のデータのデータ量を前記第１の残データ量として検出する請求項２記載のデータ転送装置。
【請求項４】
前記記憶部の、前記記憶領域とは別の記憶領域へ、前記入力方向に複数の第２のデータを順次転送することにより、前記別の記憶領域に前記複数の第２のデータを記憶させる第３の処理部をさらに備え、
前記第１の処理部は、さらに、
前記別の記憶領域に記憶された前記複数の第２のデータを前記出力方向に順次転送することにより前記複数の第２のデータを読み出し、前記複数の第２のデータに基づき前記複数の第１のデータを生成し、
前記転送速度検出部は、さらに、
前記第３の処理部が前記複数の第２のデータを前記記憶部へ転送したデータ転送速度を第２の検出速度として検出し、前記第１の処理部が前記複数の第２のデータを前記記憶部から転送したデータ転送速度を第３の検出速度として検出し、
前記空データ量検出部は、さらに、
前記別の記憶領域のうち、前記第２のデータが記憶されていない領域の記憶容量を第２の空データ量として検出し、
前記残データ量検出部は、さらに、
前記別の記憶領域に記憶された前記複数の第２のデータのうちの前記第１の処理部により読み出されるべきデータのうち、前記第１の処理部により読み出されていないデータのデータ量を第２の残データ量として検出し、
前記データ転送調節部は、さらに、
前記第２の空データ量分の前記第２のデータを前記第３の処理部が前記別の記憶領域へ転送する時間を前記第２の検出速度に基づき第２の書込予測時間として算出し、前記第２の残データ量分の前記第２のデータを前記第１の処理部が前記別の記憶領域から転送する時間を前記第３の検出速度に基づき第２の読出予測時間として算出し、前記第２の読出予測時間よりも前記第２の書込予測時間が長い場合、前記第３の処理部による前記記憶部へのデータ転送速度を増大させる請求項２又は３記載のデータ転送装置。
【請求項５】
前記少なくとも一方の処理部は、前記第２の処理部であり、
前記第１の処理部の、前記記憶部へのデータ転送速度は、予め定められた固定転送速度であり、
前記データ転送調節部は、
前記第１の空データ量分のデータを前記第１の処理部が転送する時間を前記固定転送速度に基づき第１の書込予測時間として算出し、前記第１の残データ量分のデータを前記第２の処理部が転送する時間を前記第１の検出速度に基づき第１の読出予測時間として算出し、前記第１の書込予測時間よりも前記第１の読出予測時間が長い場合、前記第２の処理部による前記記憶部との間でのデータ転送速度を増大させる請求項１記載のデータ転送装置。
【請求項６】
前記記憶領域は、予め定められた第１の記憶容量をそれぞれが有する第１及び第２の記憶領域を含み、
前記第１の処理部は、
前記第１の記憶容量分の前記複数のデータを前記第１の記憶領域に順次記憶させる第１の記憶処理と、前記第１の記憶容量分の前記複数のデータを前記第２の記憶領域に順次記憶させる第２の記憶処理とを交互に実行し、
前記第２の処理部は、
前記第１の処理部による前記第２の記憶処理の実行と並行して前記第１の記憶領域に記憶された前記複数の第１のデータを前記読出対象データとして読み出す第１の読出処理を実行し、前記第１の処理部による前記第１の記憶処理の実行と並行して前記第２の記憶領域に記憶された前記複数の第１のデータを前記読出対象データとして読み出す第２の読出処理を実行し、
前記空データ量検出部は、
前記第１の処理部による前記第１の記憶処理の実行中は、前記第１の記憶領域において前記第１のデータが記憶されていない領域の記憶容量を前記第１の空データ量として検出し、前記第１の処理部による前記第２の記憶処理の実行中は、前記第２の記憶領域において前記第１のデータが記憶されていない領域の記憶容量を前記第１の空データ量として検出し、
前記残データ量検出部は、
前記第２の処理部による前記第１の読出処理の実行中は、前記第１の記憶領域に記憶されたデータのうち前記第２の処理部により読み出されていない前記第１のデータのデータ量を前記第１の残データ量として検出し、前記第２の処理部による前記第２の読出処理の実行中は、前記第２の記憶領域に記憶されたデータのうち前記第２の処理部により読み出されていない前記第１のデータのデータ量を前記第１の残データ量として検出する請求項５記載のデータ転送装置。
【請求項７】
前記記憶部の、前記記憶領域とは別の記憶領域から、前記出力方向に複数の第２のデータを順次転送することにより、前記別の記憶領域から前記複数の第２のデータを読み出す第３の処理部をさらに備え、
前記第２の処理部は、さらに、
前記複数の第１のデータに基づき前記複数の第２のデータを生成し、前記複数の第２のデータを前記入力方向に前記別の記憶領域へ順次転送することにより、前記複数の第２のデータを前記別の記憶領域に記憶させ、
前記転送速度検出部は、さらに、
前記第２の処理部が前記複数の第２のデータを前記記憶部へ転送したデータ転送速度を第２の検出速度として検出し、前記第３の処理部が前記複数の第２のデータを前記記憶部から転送したデータ転送速度を第３の検出速度として検出し、
前記空データ量検出部は、さらに、
前記別の記憶領域のうち、前記第２のデータが記憶されていない領域のデータ量を第２の空データ量として検出し、
前記残データ量検出部は、さらに、
前記別の記憶領域に記憶された前記複数の第２のデータのうちの前記第３の処理部により読み出されるべきデータのうち、前記第３の処理部により読み出されていないデータのデータ量を第２の残データ量として検出し、
前記データ転送調節部は、さらに、
前記第２の空データ量分の前記第２のデータを前記第２の処理部が前記別の記憶領域へ転送する時間を前記第２の検出速度に基づき第２の書込予測時間として算出し、前記第２の残データ量分の前記第２のデータを前記第３の処理部が前記別の記憶領域から転送する時間を前記第３の検出速度に基づき第２の読出予測時間として算出し、前記第２の書込予測時間よりも前記第２の読出予測時間が長い場合、前記第３の処理部による前記記憶部からのデータ転送速度を増大させる請求項５又は６記載のデータ転送装置。
【請求項８】
請求項１〜７のいずれか１項に記載のデータ転送装置と、
用紙に画像を形成する画像形成部とを備えた画像形成装置。
【請求項９】
入力方向及び出力方向にデータを転送可能であって、前記入力方向に転送されたデータを記憶する記憶部を用いて、第１の処理部から第２の処理部へデータを転送するデータ転送方法において、
前記第１の処理部が、前記記憶部の予め定められた記憶領域へ、前記入力方向に複数の第１のデータを順次転送することにより、前記記憶部に前記複数の第１のデータを記憶させる第１の処理工程と、
前記第２の処理部が、前記第１の処理工程による前記複数の第１のデータの転送と並行して、前記記憶部に記憶されたデータを前記出力方向に順次転送することにより、前記記憶部に記憶された前記複数の第１のデータを読み出す第２の処理工程と、
前記第１の処理部及び前記第２の処理部のうち少なくとも一方の処理部による、前記記憶部との間でのデータ転送速度を第１の検出速度として検出する転送速度検出工程と、
前記記憶領域のうち、前記第１のデータが記憶されていない領域の記憶容量である第１の空データ量を検出する空データ量検出工程と、
前記記憶部に記憶された前記第１のデータのうちの前記第２処理工程において読み出されるべき読出対象データのうち、前記第２の処理工程において読み出されていないデータのデータ量である第１の残データ量を検出する残データ量検出工程と、
前記第１の空データ量、前記第１の残データ量、及び前記第１の検出速度に基づき、前記少なくとも一方の処理部による前記記憶部との間でのデータ転送速度を調節するデータ転送調節工程とを含むデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを転送するデータ転送装置、このデータ転送装置を備えた画像形成装置、及びデータ転送方法に関する。
【背景技術】
【０００２】
従来より、複数のバスマスター間でデータを転送する場合、いわゆるバッファーメモリーを用いることによって、バスマスター相互間のデータ転送速度の差を吸収する技術が知られている。データの転送にバッファーメモリーを用いる場合、複数のバスマスターがバスを介してバッファーメモリーにアクセスする。そのため、複数のバスマスターによるアクセスの競合を回避し、各バスマスターがスムーズにデータ転送を実行できるように、バッファーメモリーがバスを介して単位時間当たりに転送可能なデータ量（いわゆる帯域）を、複数のバスマスターに配分する必要が生じる。
【０００３】
このような複数のバスマスターによるアクセスを調停する技術として、例えば下記の特許文献１〜５が知られている。
【０００４】
特許文献１には、優先順位の付与された複数のバスマスターに対して、優先順位の高いバスマスターによるメモリーバスへのアクセスを優先させつつ、優先順位の高いバスマスターがメモリーバスを優先的に使用する比率を予め定められた一定の制限比率以下に制限する技術が記載されている。これにより、優先順位の高いバスマスターのメモリーへのアクセスを優先しつつ、優先順位の低いバスマスターも、ある程度はメモリーへのアクセスができるようにされている。これにより、優先順位の低いバスマスターがメモリーに全くアクセスできなくなってしまうことが防止されている。
【０００５】
特許文献２には、複数のデータ転送チャネルを備える構成において、各データ転送チャネルに対して指定された転送レート（データ転送速度）に応じて、時分割された時間スロットを割り当てることが記載されている。特許文献２に記載の技術によれば、指定された転送レートが大きなデータ転送チャネルに対してアクセスが許可される時間が長くなるので、各データ転送チャネルは、予め指定された転送レートでデータを転送することが可能となる。
【０００６】
特許文献３には、複数のマスターからのアクセス要求を監視し、アクセス要求が滞留している場合に優先度の低いマスターからのアクセス要求を減少させることが記載されている。これにより、優先度の高いマスターからのアクセス要求が滞留するおそれが低減される。
【０００７】
特許文献４には、複数のバスマスターが、それぞれ複数の動作状態を有する構成において、各バスマスターにバス帯域を割り当てることが記載されている。具体的には、各バスマスターと、各バスマスターの動作状態との組み合わせに対応して各バスマスターに割り当てるべきバス帯域を示すバス帯域割り当て情報を予め記憶しておく。そして、各バスマスターの動作状態を検知し、検知された動作状態に応じて、バス帯域割り当て情報に基づき各バスマスターに帯域を割り当てる。
【０００８】
特許文献５に記載の技術は、複数のバスマスターに対して、通常時は回転優先順位方式（いわゆるラウンドロビン方式）でアクセス権を付与する。そして、いずれかのバスマスターがアクセス権の緊急取得要求を発したときのみ、そのバスマスターに優先的にアクセス権を付与する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００５−３１６６０８号公報
【特許文献２】特開２０１２−３７９６８号公報
【特許文献３】特開２０１１−１５０３９７号公報
【特許文献４】特開２０１０−３９７６７号公報
【特許文献５】特開２００８−１９１９８７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献１に記載の技術では、装置の動作状況が変化して優先順位の低いバスマスターによるデータ転送速度が増大する場合がある。このような場合、上記のように制限比率が予め定められていると、優先順位の高いバスマスターがメモリーバスを優先的に使用する比率を上記制限比率以下に制限しても、優先順位の低いバスマスターに対して必要な帯域を充分に付与することができない。
【００１１】
また、特許文献２に記載の技術では、各データ転送チャネルの転送レート（データ転送速度）が予め指定されている。そのため、装置の動作状況が変化して、あるデータ転送チャネルが転送する必要のあるデータ量が増加した場合、予め指定された転送レートに応じた時間スロットの割り当てでは、増加したデータを所望の時間内に転送することができなくなるおそれがある。
【００１２】
また、特許文献３に記載の技術では、アクセス要求の滞留が発生し、アクセス要求の滞留が検出された後に、優先度の低いマスターからのアクセス要求を減少させる。従って、一度はアクセス要求の滞留が発生することが避けられない。
【００１３】
また、特許文献４に記載の技術では、各バスマスターの動作状態との組み合わせに対応して各バスマスターに割り当てるべきバス帯域を示すバス帯域割り当て情報を予め記憶しておく必要がある。しかしながら、特許文献４に記載の技術では、バスマスター数、及び各バスマスターの動作状態の数が増加すると、その組み合わせが膨大な数になる。そのため、装置の開発時に、そのような組み合わせに対するバス帯域の割り当てを、実験や理論計算等により算出したり検証したりするための開発工数が膨大となる。特に、性能の異なる装置、例えば性能の異なる画像形成装置を複数開発する場合には、装置毎に、組み合わせに対するバス帯域の割り当てを算出したり検証したりするための開発工数が必要となる。そのため、開発工数の大幅な増加を招くという不都合があった。
【００１４】
また、特許文献５に記載の技術では、複数のバスマスターに対して、通常時はラウンドロビン方式でアクセス権が付与されており、いずれかのバスマスターがアクセス権の緊急取得要求を発したときのみ、そのバスマスターに優先的にアクセス権を付与される。そのため、各バスマスターのデータ転送量が、通常時はほぼ等しく、ごく稀なイベント的に、あるバスマスターのアクセスを優先する必要が生じるような用途には適している。しかしながら、装置の状態が変化した場合にあるバスマスターの転送データ量が長時間増加するような用途では、転送データ量が増加したバスマスターのアクセスを長時間優先させることになる結果、他のバスマスターのアクセスが阻害されてしまう。
【００１５】
本発明の目的は、複数の処理部が記憶部を介してデータを転送する場合に、いずれかの処理部のデータ転送速度が変化した場合であっても、各処理部による記憶部へのアクセスを適切に調停することが容易なデータ転送装置、画像形成装置、及びデータ転送方法を提供することである。
【課題を解決するための手段】
【００１６】
本発明に係るデータ転送装置は、入力方向及び出力方向にデータを転送可能であって、前記入力方向に転送されたデータを記憶する記憶部と、前記記憶部の予め定められた記憶領域へ、前記入力方向に複数の第１のデータを順次転送することにより、前記記憶部に前記複数の第１のデータを記憶させる第１の処理部と、前記第１の処理部による前記複数の第１のデータの転送と並行して、前記記憶領域に記憶されたデータを前記出力方向に順次転送することにより、前記記憶領域に記憶された前記複数の第１のデータを読み出す第２の処理部と、前記第１の処理部及び前記第２の処理部のうち少なくとも一方の処理部による、前記記憶部との間でのデータ転送速度を第１の検出速度として検出する転送速度検出部と、前記記憶領域のうち、前記第１のデータが記憶されていない領域の記憶容量である第１の空データ量を検出する空データ量検出部と、前記記憶領域に記憶された前記第１のデータのうちの前記第２の処理部により読み出されるべき読出対象データのうち、前記第２の処理部により読み出されていないデータのデータ量である第１の残データ量を検出する残データ量検出部と、前記第１の空データ量、前記第１の残データ量、及び前記第１の検出速度に基づき、前記少なくとも一方の処理部による前記記憶部との間でのデータ転送速度を調節するデータ転送調節部とを備える。
【００１７】
この構成によれば、いわゆるバッファーメモリーとして機能する記憶部の記憶領域を介して、第１の処理部から第２の処理部へ複数の第１のデータが転送される。そして、空データ量検出部によって、記憶領域のうち第１のデータが記憶されていない領域の記憶容量、すなわち記憶部が第１の処理部から新たに受入可能なデータ量が第１の空データ量として検出される。また、残データ量検出部によって、記憶領域に記憶された第１のデータのうちの第２の処理部により読み出されるべき読出対象データのうち、第２の処理部により読み出されていないデータのデータ量、すなわちまだ読み出されずに記憶領域に残っているデータ量である第１の残データ量が検出される。さらに、転送速度検出部によって、第１の処理部及び第２の処理部のうち少なくとも一方の処理部による、記憶部との間でのデータ転送速度が第１の検出速度として検出される。そして、データ転送調節部によって、第１の空データ量、第１の残データ量、及び第１の検出速度に基づき、前記少なくとも一方の処理部による記憶部との間でのデータ転送速度が調節される。この場合、第２の処理部による読出し方向のデータ転送を所定のデータ転送速度で実行させる必要がある場合には、第２の処理部により読み出される第１の残データ量がゼロになって第２の処理部によるデータの読出しができなくなる前に、第１の処理部による記憶領域への第１の空データ量分のデータの書込が終わって第２の処理部によるデータの読出しが可能になるように、データ転送調節部によって、第１の処理部によるデータ転送速度を調節することが可能となる。また、第１の処理部による書き込み方向のデータ転送を所定のデータ転送速度で実行させる必要がある場合には、第１の処理部からの書き込みを受け入れるための第１の空データ量がゼロになって第１の処理部によるデータの書き込みができなくなる前に、第２の処理部による第１の残データ量のデータの読出しが終わって、第１の処理部からの書き込みを受け入れるため空き領域を確保することが可能になるように、データ転送調節部によって、第２の処理部によるデータ転送速度を調節することが可能となる。そして、このようなデータ転送速度の調節を、転送速度検出部によって実際に検出された第１の検出速度に基づき行うことができるので、複数の処理部が記憶部を介してデータを転送する場合に、いずれかの処理部のデータ転送速度が変化した場合であっても、各処理部による記憶部へのアクセスを適切に調停することが容易となる。
【００１８】
また、前記少なくとも一方の処理部は、前記第１の処理部であり、前記第２の処理部の、前記記憶部からのデータ転送速度は、予め定められた固定転送速度であり、前記データ転送調節部は、前記第１の空データ量分の前記第１のデータを前記第１の処理部が転送する時間を前記第１の検出速度に基づき第１の書込予測時間として算出し、前記第１の残データ量分の前記第１のデータを前記第２の処理部が転送する時間を前記固定転送速度に基づき第１の読出予測時間として算出し、前記第１の読出予測時間よりも前記第１の書込予測時間が長い場合、前記第１の処理部による前記記憶部との間でのデータ転送速度を増大させることが好ましい。
【００１９】
この構成によれば、前記少なくとも一方の処理部は第１の処理部であるから、転送速度検出部によって、第１の処理部による前記記憶部との間でのデータ転送速度が第１の検出速度として検出される。そして、第１の空データ量分の第１のデータを第１の処理部が転送する時間、すなわち記憶領域に空き領域がなくなって第１の処理部が記憶領域にデータを転送できなくなるまでの時間が、データ転送調節部によって、第１の検出速度に基づき第１の書込予測時間として算出される。また、第１の残データ量分の第１のデータを第２の処理部が転送する時間、すなわち記憶領域に読出し対象の第１のデータがなくなって第２の処理部が前記固定転送速度でのデータ転送を実行できなくなるまでの時間が、データ転送調節部によって、第１の読出予測時間として算出される。そして、第１の読出予測時間よりも第１の書込予測時間が長い場合、データ転送調節部によって、第１の処理部による記憶部との間でのデータ転送速度が増大される。その結果、データ転送調節部は、第２の処理部により読み出される第１の残データ量がゼロになって第２の処理部による固定転送速度でのデータの読出しができなくなる前に、第１の処理部による記憶領域への第１の空データ量分のデータの書込が終わって第２の処理部によるデータの読出しが可能になるように、第１の処理部によるデータ転送速度を調節することが可能となる。
【００２０】
また、前記記憶領域は、予め定められた第１の記憶容量をそれぞれが有する第１及び第２の記憶領域を含み、前記第１の処理部は、前記第１の記憶容量分の前記複数の第１のデータを前記第１の記憶領域に順次記憶させる第１の記憶処理と、前記第１の記憶容量分の前記複数の第１のデータを前記第２の記憶領域に順次記憶させる第２の記憶処理とを交互に実行し、前記第２の処理部は、前記第１の処理部による前記第２の記憶処理の実行と並行して前記第１の記憶領域に記憶された前記複数の第１のデータを前記読出対象データとして読み出す第１の読出処理を実行し、前記第１の処理部による前記第１の記憶処理の実行と並行して前記第２の記憶領域に記憶された前記複数の第１のデータを前記読出対象データとして読み出す第２の読出処理を実行し、前記空データ量検出部は、前記第１の処理部による前記第１の記憶処理の実行中は、前記第１の記憶領域に対して第１のデータが記憶されていない領域の記憶容量を前記第１の空データ量として検出し、前記第１の処理部による前記第２の記憶処理の実行中は、前記第２の記憶領域に対して前記第１のデータが記憶されていない領域の記憶容量を前記第１の空データ量として検出し、前記残データ量検出部は、前記第２の処理部による前記第１の読出処理の実行中は、前記第１の記憶領域に記憶されたデータのうち前記第２の処理部により読み出されていない前記第１のデータのデータ量を前記第１の残データ量として検出し、前記第２の処理部による前記第２の読出処理の実行中は、前記第２の記憶領域に記憶されたデータのうち前記第２の処理部により読み出されていない前記第１のデータのデータ量を前記第１の残データ量として検出することが好ましい。
【００２１】
この構成によれば、前記記憶領域は、第１及び第２の記憶領域により構成されたダブルバッファーとなる。また、そして、第１及び第２の記憶領域のうち一方の記憶領域が書込用記憶領域として用いられているときは、他方の記憶領域が読出用記憶領域として用いられる。これにより、第１の処理部によりデータが書き込まれる領域と、第２の処理部によりデータが読み出される領域とが分離されるので、第１の処理部による書込用記憶領域への記憶処理と、第２の処理部による読出用記憶領域からの読出処理とを並列に実行することが容易となる。
【００２２】
また、前記記憶部の、前記記憶領域とは別の記憶領域へ、前記入力方向に複数の第２のデータを順次転送することにより、前記別の記憶領域に前記複数の第２のデータを記憶させる第３の処理部をさらに備え、前記第１の処理部は、さらに、前記別の記憶領域に記憶された前記複数の第２のデータを前記出力方向に順次転送することにより前記複数の第２のデータを読み出し、前記複数の第２のデータに基づき前記複数の第１のデータを生成し、前記転送速度検出部は、さらに、前記第３の処理部が前記複数の第２のデータを前記記憶部へ転送したデータ転送速度を第２の検出速度として検出し、前記第１の処理部が前記複数の第２のデータを前記記憶部から転送したデータ転送速度を第３の検出速度として検出し、前記空データ量検出部は、さらに、前記別の記憶領域のうち、前記第２のデータが記憶されていない領域の記憶容量を第２の空データ量として検出し、前記残データ量検出部は、さらに、前記別の記憶領域に記憶された前記複数の第２のデータのうちの前記第１の処理部により読み出されるべきデータのうち、前記第１の処理部により読み出されていないデータのデータ量を第２の残データ量として検出し、前記データ転送調節部は、さらに、前記第２の空データ量分の前記第２のデータを前記第３の処理部が前記別の記憶領域へ転送する時間を前記第２の検出速度に基づき第２の書込予測時間として算出し、前記第２の残データ量分の前記第２のデータを前記第１の処理部が前記別の記憶領域から転送する時間を前記第３の検出速度に基づき第２の読出予測時間として算出し、前記第２の読出予測時間よりも前記第２の書込予測時間が長い場合、前記第３の処理部による前記記憶部へのデータ転送速度を増大させることが好ましい。
【００２３】
この構成によれば、第３の処理部から前記別の記憶領域を介して第１の処理部へデータを転送し、第１の処理部から前記記憶領域を介して第２の処理部へデータを転送することができる。そして、このように第３の処理部から、前記別の記憶領域、第１の処理部、及び前記記憶領域を介して第２の処理部へデータを転送するに際して、データ転送調節部は、第２の処理部が記憶部からデータを読み出すデータ転送速度を予め定められた固定転送速度に維持することが可能なように、第１及び第３の処理部と記憶部との間でのデータ転送速度を調節することが可能となる。
【００２４】
また、前記少なくとも一方の処理部は、前記第２の処理部であり、前記第１の処理部の、前記記憶部へのデータ転送速度は、予め定められた固定転送速度であり、前記データ転送調節部は、前記第１の空データ量分のデータを前記第１の処理部が転送する時間を前記固定転送速度に基づき第１の書込予測時間として算出し、前記第１の残データ量分のデータを前記第２の処理部が転送する時間を前記第１の検出速度に基づき第１の読出予測時間として算出し、前記第１の書込予測時間よりも前記第１の読出予測時間が長い場合、前記第２の処理部による前記記憶部との間でのデータ転送速度を増大させることが好ましい。
【００２５】
この構成によれば、前記少なくとも一方の処理部は第２の処理部であるから、転送速度検出部によって、第２の処理部による前記記憶部との間でのデータ転送速度が前記第１の検出速度として検出される。そして、第１の空データ量分の第１のデータを第１の処理部が転送する時間、すなわち記憶領域に空き領域がなくなって、第１の処理部が前記固定転送速度でのデータ転送を実行できなくなるまでの時間が、データ転送調節部によって、前記固定転送速度に基づき第１の書込予測時間として算出される。また、第１の残データ量分の第１のデータを第２の処理部が転送する時間、すなわち記憶領域に読出し対象の第１のデータがなくなって第２の処理部がデータ転送を実行できなくなるまでの時間が、データ転送調節部によって、第１の検出速度に基づき第１の読出予測時間として算出される。そして、第１の書込予測時間よりも第１の読出予測時間が長い場合、データ転送調節部によって、第２の処理部による記憶部との間でのデータ転送速度が増大される。その結果、データ転送調節部は、第１の処理部からの書き込みを受け入れるための第１の空データ量がゼロになって第１の処理部による前記固定転送速度でのデータの書き込みができなくなる前に、第２の処理部による第１の残データ量のデータの読出しが終わって、第１の処理部からの書き込みを受け入れるため空き領域を確保することが可能になるように、第２の処理部によるデータ転送速度を調節することが可能となる。
【００２６】
また、前記記憶領域は、予め定められた第１の記憶容量をそれぞれが有する第１及び第２の記憶領域を含み、前記第１の処理部は、前記第１の記憶容量分の前記複数のデータを前記第１の記憶領域に順次記憶させる第１の記憶処理と、前記第１の記憶容量分の前記複数のデータを前記第２の記憶領域に順次記憶させる第２の記憶処理とを交互に実行し、前記第２の処理部は、前記第１の処理部による前記第２の記憶処理の実行と並行して前記第１の記憶領域に記憶された前記複数の第１のデータを前記読出対象データとして読み出す第１の読出処理を実行し、前記第１の処理部による前記第１の記憶処理の実行と並行して前記第２の記憶領域に記憶された前記複数の第１のデータを前記読出対象データとして読み出す第２の読出処理を実行し、前記空データ量検出部は、前記第１の処理部による前記第１の記憶処理の実行中は、前記第１の記憶領域において前記第１のデータが記憶されていない領域の記憶容量を前記第１の空データ量として検出し、前記第１の処理部による前記第２の記憶処理の実行中は、前記第２の記憶領域において前記第１のデータが記憶されていない領域の記憶容量を前記第１の空データ量として検出し、前記残データ量検出部は、前記第２の処理部による前記第１の読出処理の実行中は、前記第１の記憶領域に記憶されたデータのうち前記第２の処理部により読み出されていない前記第１のデータのデータ量を前記第１の残データ量として検出し、前記第２の処理部による前記第２の読出処理の実行中は、前記第２の記憶領域に記憶されたデータのうち前記第２の処理部により読み出されていない前記第１のデータのデータ量を前記第１の残データ量として検出することが好ましい。
【００２７】
この構成によれば、前記記憶領域は、第１及び第２の記憶領域により構成されたダブルバッファーとなる。また、そして、第１及び第２の記憶領域のうち一方の記憶領域が書込用記憶領域として用いられているときは、他方の記憶領域が読出用記憶領域として用いられる。これにより、第１の処理部によりデータが書き込まれる領域と、第２の処理部によりデータが読み出される領域とが分離されるので、第１の処理部による書込用記憶領域への記憶処理と、第２の処理部による読出用記憶領域からの読出処理とを並列に実行することが容易となる。
【００２８】
また、前記記憶部の、前記記憶領域とは別の記憶領域から、前記出力方向に複数の第２のデータを順次転送することにより、前記別の記憶領域から前記複数の第２のデータを読み出す第３の処理部をさらに備え、前記第２の処理部は、さらに、前記複数の第１のデータに基づき前記複数の第２のデータを生成し、前記複数の第２のデータを前記入力方向に前記別の記憶領域へ順次転送することにより、前記複数の第２のデータを前記別の記憶領域に記憶させ、前記転送速度検出部は、さらに、前記第２の処理部が前記複数の第２のデータを前記記憶部へ転送したデータ転送速度を第２の検出速度として検出し、前記第３の処理部が前記複数の第２のデータを前記記憶部から転送したデータ転送速度を第３の検出速度として検出し、前記空データ量検出部は、さらに、前記別の記憶領域のうち、前記第２のデータが記憶されていない領域のデータ量を第２の空データ量として検出し、前記残データ量検出部は、さらに、前記別の記憶領域に記憶された前記複数の第２のデータのうちの前記第３の処理部により読み出されるべきデータのうち、前記第３の処理部により読み出されていないデータのデータ量を第２の残データ量として検出し、前記データ転送調節部は、さらに、前記第２の空データ量分の前記第２のデータを前記第２の処理部が前記別の記憶領域へ転送する時間を前記第２の検出速度に基づき第２の書込予測時間として算出し、前記第２の残データ量分の前記第２のデータを前記第３の処理部が前記別の記憶領域から転送する時間を前記第３の検出速度に基づき第２の読出予測時間として算出し、前記第２の書込予測時間よりも前記第２の読出予測時間が長い場合、前記第３の処理部による前記記憶部からのデータ転送速度を増大させることが好ましい。
【００２９】
この構成によれば、第１の処理部から前記記憶領域を介して第２の処理部へデータを転送し、第２の処理部から前記別の記憶領域を介して第３の処理部へデータを転送することができる。そして、このように第１処理部から、前記記憶領域、第２の処理部、及び前記別の記憶領域を介して第３の処理部へデータを転送するに際して、データ転送調節部は、第１の処理部が記憶部へデータを書き込むデータ転送速度を予め定められた固定転送速度に維持することが可能なように、第２及び第３の処理部と記憶部との間でのデータ転送速度を調節することが可能となる。
【００３０】
また、本発明に係る画像形成装置は、上述のデータ転送装置と、用紙に画像を形成する画像形成部とを備える。
【００３１】
この構成によれば、画像形成装置において、複数の処理部が記憶部を介してデータを転送する場合に、いずれかの処理部のデータ転送速度が変化した場合であっても、各処理部による記憶部へのアクセスを適切に調停することが容易となる。
【００３２】
また、本発明に係るデータ転送方法は、入力方向及び出力方向にデータを転送可能であって、前記入力方向に転送されたデータを記憶する記憶部を用いて、第１の処理部から第２の処理部へデータを転送するデータ転送方法において、前記第１の処理部が、前記記憶部の予め定められた記憶領域へ、前記入力方向に複数の第１のデータを順次転送することにより、前記記憶部に前記複数の第１のデータを記憶させる第１の処理工程と、前記第２の処理部が、前記第１の処理工程による前記複数の第１のデータの転送と並行して、前記記憶部に記憶されたデータを前記出力方向に順次転送することにより、前記記憶部に記憶された前記複数の第１のデータを読み出す第２の処理工程と、前記第１の処理部及び前記第２の処理部のうち少なくとも一方の処理部による、前記記憶部との間でのデータ転送速度を第１の検出速度として検出する転送速度検出工程と、前記記憶領域のうち、前記第１のデータが記憶されていない領域の記憶容量である第１の空データ量を検出する空データ量検出工程と、前記記憶部に記憶された前記第１のデータのうちの前記第２処理工程において読み出されるべき読出対象データのうち、前記第２の処理工程において読み出されていないデータのデータ量である第１の残データ量を検出する残データ量検出工程と、前記第１の空データ量、前記第１の残データ量、及び前記第１の検出速度に基づき、前記少なくとも一方の処理部による前記記憶部との間でのデータ転送速度を調節するデータ転送調節工程とを含む。
【００３３】
この構成によれば、いわゆるバッファーメモリーとして機能する記憶部の記憶領域を介して、第１の処理部から第２の処理部へ複数の第１のデータが転送される。そして、空データ量検出工程によって、記憶領域のうち第１のデータが記憶されていない領域の記憶容量、すなわち記憶部が新たに受入可能なデータ量が第１の空データ量として検出される。また、残データ量検出工程によって、記憶領域に記憶された第１のデータのうちの第２の処理工程により読み出されるべき読出対象データのうち、第２の処理工程により読み出されていないデータのデータ量、すなわちまだ読み出されずに記憶領域に残っているデータ量である第１の残データ量が検出される。さらに、転送速度検出工程において、第１の処理部及び第２の処理部のうち少なくとも一方の処理部による、記憶部との間でのデータ転送速度が第１の検出速度として検出される。そして、データ転送調節工程によって、第１の空データ量、第１の残データ量、及び第１の検出速度に基づき、前記少なくとも一方の処理部による記憶部との間でのデータ転送速度が調節される。この場合、第２の処理部による読出し方向のデータ転送を所定のデータ転送速度で実行させる必要がある場合には、第２の処理工程により読み出される第１の残データ量がゼロになって第２の処理工程によるデータの読出しができなくなる前に、第１の処理工程による記憶領域への第１の空データ量分のデータの書込が終わって第２の処理工程によるデータの読出しが可能になるように、データ転送調節工程によって、第１の処理部によるデータ転送速度を調節することが可能となる。また、第１の処理部による書き込み方向のデータ転送を所定のデータ転送速度で実行させる必要がある場合には、第１の処理工程による書き込みを受け入れるための第１の空データ量がゼロになって第１の処理工程によるデータの書き込みができなくなる前に、第２の処理工程による第１の残データ量のデータの読出しが終わって、第１の処理工程による書き込みを受け入れるため空き領域を確保することが可能になるように、データ転送調節部によって、第２の処理部によるデータ転送速度を調節することが可能となる。そして、このようなデータ転送速度の調節を、転送速度検出工程によって実際に検出された第１の検出速度に基づき行うことができるので、複数の処理部が記憶部を介してデータを転送する場合に、いずれかの処理部によるデータ転送速度が変化した場合であっても、各処理部による記憶部へのアクセスを適切に調停することが容易となる。
【発明の効果】
【００３４】
このような構成のデータ転送装置、画像形成装置、及びデータ転送方法は、複数の処理部が記憶部を介してデータを転送する場合に、いずれかの処理部のデータ転送速度が変化した場合であっても、各処理部による記憶部へのアクセスを適切に調停することが容易である。
【図面の簡単な説明】
【００３５】
【図１】本発明の一実施形態に係るデータ転送装置を備えた複写機の内部構成を概略的に示す構造図である。
【図２】本発明の一実施形態に係るデータ転送装置の構成の一例を示すブロック図である。
【図３】図２に示すバッファーの構成を説明するための説明図である。
【図４】図２に示すデータ転送装置の動作について、データ転送速度が固定的な処理部であるスキャナー部が、データフローの起点になっている場合の例を説明するための説明図である。
【図５】データ転送速度が固定的な処理部であるスキャナー部が、データフローの起点になっている場合のデータ転送装置の動作の一例を示すフローチャートである。
【図６】図２に示すデータ転送装置の動作について、データ転送速度が固定的な処理部である光走査装置が、データフローの終端になっている場合の例を説明するための説明図である。
【図７】データ転送速度が固定的な処理部である光走査装置が、データフローの終端になっている場合のデータ転送装置の動作の一例を示すフローチャートである。
【図８】データ転送速度が固定的な処理部である光走査装置が、データフローの終端になっている場合のデータ転送装置の動作の一例を示すフローチャートである。
【図９】データ転送速度が固定的な処理部である光走査装置が、データフローの終端になっている場合のデータ転送装置の動作の一例を示すフローチャートである。
【図１０】図６に示すデータフローの別の例を示す説明図である。
【発明を実施するための形態】
【００３６】
以下、本発明に係る実施形態を図面に基づいて説明する。なお、各図において同一の符号を付した構成は、同一の構成であることを示し、その説明を省略する。図１は、本発明の一実施形態に係るデータ転送装置を備えた複写機の内部構成を概略的に示す構造図である。なお、画像形成装置の一例として複写機を示したが、画像形成装置は複写機に限られず、プリンタ、ファクシミリ、あるいはこれらの機能を兼ね備えた複合機等であってもよい。
【００３７】
この複写機１は、本体部２と、本体部２の左方に配設されたスタックトレイ３と、本体部２の上部に配設された原稿読取部５と、原稿読取部５の上方に配設された原稿給送部６とを有している。
【００３８】
複写機１のフロント部には、略長方形の操作パネル部４７が設けられている。操作パネル部４７は、表示部４７３と、操作キー部４７６とを備えている。表示部４７３は、例えばタッチパネル機能を有する液晶ディスプレイ等によって構成されている。操作キー部４７６は、例えばユーザーが画像形成指示を入力するためのスタートキーや、印刷部数等を入力するためのテンキー等の各種キースイッチを備えている。また、例えば原稿読取部５の側部には、電源スイッチＳＷが配設されている。
【００３９】
原稿読取部５は、ＣＣＤ（Charge Coupled Device）５１２及び露光ランプ５１１等からなるスキャナー部５１と、ガラス等の透明部材により構成された原稿台５２及び原稿読取スリット５３とを備える。スキャナー部５１は、例えばＣＩＳ（Contact Image Sensor）であってもよい。スキャナー部５１は、図略の駆動部によって移動可能に構成され、原稿台５２に載置された原稿を読み取るときは、原稿台５２に対向する位置で原稿面に沿って移動され、原稿画像を走査しつつ取得した画像データを出力する。また、スキャナー部５１は、原稿給送部６により給送された原稿を読み取るときは、原稿読取スリット５３と対向する位置に移動され、原稿読取スリット５３を介して原稿給送部６による原稿の搬送動作と同期して原稿の画像を取得し、その画像データを出力する。なお、画像データは、複数の画素データを含むから、複数のデータである。
【００４０】
スキャナー部５１から出力された画像データは、後述するデータ転送装置１００によって、所定の画像処理が施されつつ転送され、例えばハードディスク装置に記憶される。
【００４１】
原稿給送部６は、原稿を載置するための原稿載置部６１と、画像読み取り済みの原稿を排出するための原稿排出部６２と、原稿載置部６１に載置された原稿を１枚ずつ繰り出して原稿読取スリット５３に対向する位置へ搬送し、原稿排出部６２へ排出する原稿搬送機構６３とを備える。
【００４２】
本体部２は、複数の給紙カセット４６１と、給紙カセット４６１から用紙を１枚ずつ繰り出して画像形成部４０へ搬送する給紙ローラー４６２と、給紙カセット４６１から搬出されてきた用紙に画像を形成する画像形成部４０とを備える。
【００４３】
画像形成部４０は、用紙搬送部４１１、光走査装置４２、感光体ドラム４３、現像部４４、転写部４１、及び定着部４５を備えている。用紙搬送部４１１は、画像形成部４０内の用紙搬送路中に設けられ、給紙ローラー４６２によって搬送されてきた用紙を感光体ドラム４３に供給する搬送ローラー４１２や、定着部４５でトナー像が定着された用紙をスタックトレイ３又は排出トレイ４８まで搬送する搬送ローラー４６３，４６４等を備えている。
【００４４】
光走査装置４２は、例えばハードディスク装置から、後述するデータ転送装置１００によって転送されてきた画像データに基づきレーザー光等を出力して感光体ドラム４３を露光することで、感光体ドラム４３上に静電潜像を形成する。現像部４４は、感光体ドラム４３上の静電潜像をトナー現像してトナー像を形成する。転写部４１は、感光体ドラム４３上のトナー像を用紙に転写する。
【００４５】
定着部４５は、トナー像が転写された用紙を加熱してトナー像を用紙に定着させる。定着部４５は、用紙に形成されたトナー像を溶融するための熱ローラー４５２と、この熱ローラー４５２との間で用紙を圧接しつつ搬送する圧ローラー４５１とを含む。
【００４６】
図２は、本発明の一実施形態に係るデータ転送装置１００の構成の一例を示すブロック図である。図２に示すデータ転送装置１００は、ハードディスク装置１０１、メモリーコントローラー１０２、ＤＲＡＭ（Dynamic Random Access Memory）１０３（記憶部）、バス１０４、調停部１１０、スキャナー部５１（処理部）、光走査装置４２（処理部）、及び回路Ａ〜Ｅ（処理部）を含んでいる。
【００４７】
また、スキャナー部５１、光走査装置４２、回路Ａ〜Ｅ、ハードディスク装置１０１、メモリーコントローラー１０２、及び調停部１１０は、バス１０４に接続されている。ＤＲＡＭ１０３は、メモリーコントローラー１０２を介してバス１０４に接続されている。
【００４８】
スキャナー部５１、光走査装置４２、及び回路Ａ〜Ｅは、バス１０４及びメモリーコントローラー１０２を介してＤＲＡＭ１０３にアクセス可能に構成されている。以下、スキャナー部５１、光走査装置４２、及び回路Ａ〜Ｅが、バス１０４及びメモリーコントローラー１０２を介してＤＲＡＭ１０３にアクセス（読み、書き、記憶）することを、単に、スキャナー部５１、光走査装置４２、及び回路Ａ〜Ｅが、ＤＲＡＭ１０３にアクセス（読み、書き、記憶）する、と記載する。
【００４９】
また、回路Ａは、バス１０４を介してハードディスク装置１０１にアクセス可能にされている。
【００５０】
また、ＤＲＡＭ１０３に含まれる６つの記憶領域が、バッファーＢ１〜Ｂ６として用いられる。バッファーＢ１〜Ｂ６は、いわゆるバッファーメモリーである。スキャナー部５１、光走査装置４２、及び回路Ａ〜Ｅは、バッファーＢ１〜Ｂ６を用いてデータを転送する。以下、バッファーＢ１〜Ｂ６を総称してバッファーＢと称する。
【００５１】
図３は、図２に示すバッファーＢの構成を説明するための説明図である。バッファーＢ、すなわちバッファーＢ１〜Ｂ６は、それぞれ記憶領域Ｍ１，Ｍ２を含んでいる。記憶領域Ｍ１，Ｍ２は、それぞれ予め定められた記憶容量ＭＣ（第１及び第２の記憶容量）の記憶容量を有する記憶領域である。記憶領域Ｍ１，Ｍ２は、いわゆるダブルバッファーを構成している。
【００５２】
すなわち、記憶領域Ｍ１がデータの書き込み用の記憶領域として用いられているときは、記憶領域Ｍ２がデータの読み出し用の記憶領域として用いられ、記憶領域Ｍ２がデータの書き込み用の記憶領域として用いられているときは、記憶領域Ｍ１がデータの読み出し用の記憶領域として用いられる。また、記憶領域Ｍ１，Ｍ２は、読み出し用と書き込み用とで交互に用いられる。以下、現時点で記憶領域Ｍ１，Ｍ２のうち、現時点で読み出し用に用いられている記憶領域を読出用記憶領域と称し、現時点で書き込み用に用いられている記憶領域を書込用記憶領域と称する。
【００５３】
なお、バッファーＢ１〜Ｂ６における記憶領域Ｍ１，Ｍ２の記憶容量が、すべて記憶容量ＭＣで等しい例を示したが、記憶領域Ｍ１，Ｍ２の記憶容量の記憶容量は、バッファーＢ１〜Ｂ６毎に互いに異なっていてもよい。
【００５４】
調停部１１０は、例えばＡＳＩＣ（Application Specific Integrated Circuit）を用いて構成されている。そして、調停部１１０は、例えば転送速度検出部１１１、空データ量検出部１１２、残データ量検出部１１３、及びデータ転送調節部１１４として機能する。
【００５５】
スキャナー部５１、光走査装置４２、及び回路Ａ〜Ｅは、バッファーＢ１〜Ｂ６のいずれかへ、複数のデータを順次転送することにより、ＤＲＡＭ１０３に複数のデータを記憶させる。また、回路Ａ〜Ｅ、及び光走査装置４２は、スキャナー部５１及び回路Ａ〜Ｅによる複数のデータの転送と並行して、バッファーＢ１〜Ｂ６のいずれかに記憶されたデータを読み出す。
【００５６】
転送速度検出部１１１は、バス１０４を監視し、回路Ａ〜ＥがＤＲＡＭ１０３との間で実行した読出し方向のデータ転送速度をそれぞれ検出速度Ｄａｒ，Ｄｂｒ，Ｄｃｒ，Ｄｄｒ，Ｄｅｒ（第１の検出速度）として検出し、書き込み方向のデータ転送速度をそれぞれ検出速度Ｄａｗ，Ｄｂｗ，Ｄｃｗ，Ｄｄｗ，Ｄｅｗ（第１の検出速度）として検出する。
【００５７】
なお、スキャナー部５１及び光走査装置４２のデータ転送速度は、予め固定転送速度ＦＶＳ，ＦＶＬとして固定的に定められている。データ転送速度は、単位時間当たりに転送されるデータ量である。なお、単位時間当たりに限らず、所定の時間で転送されるデータ量をデータ転送速度として用いてもよい。
【００５８】
空データ量検出部１１２は、バッファーＢ１〜Ｂ６の、記憶領域Ｍ１及びＭ２のうち書き込み用として用いられている記憶領域について、データが記憶されていない領域のデータ量である空データ量ＥＤ１〜ＥＤ６（第１の空データ量）を検出する。以下、空データ量ＥＤ１〜ＥＤ６とは、バッファーＢ１〜Ｂ６の、記憶領域Ｍ１及びＭ２のうち書き込み用として用いられている記憶領域の空きデータ容量のことを意味するものとする。
【００５９】
残データ量検出部１１３は、バッファーＢ１〜Ｂ６の、記憶領域Ｍ１及びＭ２のうち読み出し用として用いられている記憶領域について、回路Ａ〜Ｅ及び光走査装置４２により読み出されるべき読出対象データのうち、回路Ａ〜Ｅ及び光走査装置４２により取得されていないデータのデータ量である残データ量ＲＤ１〜ＲＤ６をそれぞれ検出する。以下、残データ量ＲＤ１〜ＲＤ６とは、読み出し用として用いられている記憶領域の残データ量のことを意味するものとする。
【００６０】
データ転送調節部１１４は、バッファーＢ１〜Ｂ６の書き込み用として用いられている記憶領域の各空きデータ量、バッファーＢ１〜Ｂ６の読み出し用として用いられている記憶領域の各残データ量、転送速度検出部１１１により検出された検出速度Ｄａｒ，Ｄａｗ，Ｄｂｒ，Ｄｂｗ，Ｄｃｒ，Ｄｃｗ，Ｄｄｒ，Ｄｄｗ，Ｄｅｒ，Ｄｅｗ、スキャナー部５１の固定転送速度ＦＶＳ、及び光走査装置４２の固定転送速度ＦＶＬに基づき、回路Ａ〜ＥによるＤＲＡＭ１０３との間でのデータ転送速度Ｖａｒ，Ｖａｗ，Ｖｂｒ，Ｖｂｗ，Ｖｃｒ，Ｖｃｗ，Ｖｄｒ，Ｖｄｗ，Ｖｅｒ，Ｖｅｗを調節する。データ転送速度Ｖａｒ，Ｖｂｒ，Ｖｃｒ，Ｖｄｒ，Ｖｅｒは読出し方向（出力方向）の、データ転送速度Ｖａｗ，Ｖｂｗ，Ｖｃｗ，Ｖｄｗ，Ｖｅｗは書き込み方向（入力方向）のデータ転送速度である。
【００６１】
図４は、図２に示すデータ転送装置１００の動作について、データ転送速度が固定的な処理部であるスキャナー部５１が、データフローの起点になっている場合の例を説明するための説明図である。図４では、データの転送方向を矢印で示している。図４に示す例では、スキャナー部５１からバッファーＢ１を介して回路Ａ（及びハードディスク装置１０１）に至るデータフローＤＦ１が構成されている。
【００６２】
図４に示すように、スキャナー部５１（第１の処理部）は、原稿から読み取った画像データを固定転送速度ＦＶＳで、バッファーＢ１の記憶領域Ｍ１（第１の記憶領域）又はバッファーＢ１の記憶領域Ｍ２（第２の記憶領域）へ転送する。
【００６３】
スキャナー部５１は、記憶容量ＭＣ分の画像データを記憶領域Ｍ１に順次記憶させる第１の記憶処理と、記憶容量ＭＣ分の画像データを記憶領域Ｍ２に順次記憶させる第２の記憶処理とを交互に実行する。
【００６４】
回路Ａ（第２の処理部）は、例えばハードディスク装置１０１にアクセスするためのインターフェイス回路である。回路Ａは、スキャナー部５１による第２の記憶処理の実行と並行して記憶領域Ｍ１に記憶された画像データを読出対象データとして取得する第１の読出処理を実行し、スキャナー部５１による第１の記憶処理の実行と並行して記憶領域Ｍ２に記憶された画像データを読出対象データとして取得する第２の読出処理を実行する。
【００６５】
記憶領域Ｍ１，Ｍ２は、ダブルバッファーとして用いられている。そのため、スキャナー部５１は、書込用記憶領域が記憶領域Ｍ１のときに、第１の記憶処理によって記憶領域Ｍ１に空き領域がなくなると、第２の記憶処理を開始して書込用記憶領域を記憶領域Ｍ２に変更する。また、スキャナー部５１は、書込用記憶領域が記憶領域Ｍ２のときに、第２の記憶処理により記憶領域Ｍ２への画像データの転送を実行し、第２の記憶処理によって記憶領域Ｍ２に空き領域がなくなると、第１の記憶処理を開始して書込用記憶領域を記憶領域Ｍ１に変更する。
【００６６】
この場合、画像データを失うことなく書込用記憶領域を変更するためには、スキャナー部５１の第１の記憶処理によって記憶領域Ｍ１に空き領域がなくなる前に、回路Ａの第２の読出処理による記憶領域Ｍ２からの画像データの転送がすべて終了している必要がある。同様に、スキャナー部５１の第２の記憶処理によって記憶領域Ｍ２に空き領域がなくなる前に、回路Ａの第１の読出処理による記憶領域Ｍ１からの画像データの転送がすべて終了している必要がある。
【００６７】
スキャナー部５１は、原稿の画像を一定の速度で読み取るので、スキャナー部５１からバッファーＢ１への画像データの転送速度は、固定転送速度ＦＶＳのまま一定に維持する必要がある。従って、スキャナー部５１のデータ転送によって書込用記憶領域の空き領域がなくなる前に、書込用記憶領域が変更可能な状態、すなわち読出用記憶領域のすべてのデータが回路Ａによって読み出された状態になっている必要がある。
【００６８】
そこで、データ転送装置１００は、以下のように動作する。図５は、データ転送速度が固定的な処理部であるスキャナー部５１が、データフローの起点になっている場合のデータ転送装置１００の動作の一例を示すフローチャートである。図５に記載のフローチャートは、本発明に係るデータ転送方法の一例を示している。
【００６９】
まず、複写機１がコピーを開始すると、スキャナー部５１（第１の処理部）によって原稿の画像が読み取られる。そして、スキャナー部５１からバッファーＢ１の書込用記憶領域へ、固定転送速度ＦＶＳで画像データが転送される（ステップＳ１）。
【００７０】
次に、回路Ａ（第２の処理部）が、バッファーＢ１の読出用記憶領域から、画像データを読出して、ハードディスク装置１０１へ送信する（ステップＳ２）。なお、スキャナー部５１によるデータ転送が開始された直後、最初に書込用記憶領域への書き込みが終了して書込用記憶領域が変更されるまでの間は読出用記憶領域にはデータが記憶されていない。従って、ステップＳ２の動作は、最初に書込用記憶領域が読出用記憶領域に変更された後の動作となる。以下のバッファーＢ２〜Ｂ６における読出用記憶領域からのデータの読出し動作も同様である。
【００７１】
次に、転送速度検出部１１１によって、回路Ａのデータ転送速度Ｖａｒが検出速度Ｄａｒ（第１の検出速度）として検出される（ステップＳ３）。転送速度検出部１１１は、バス１０４の状態を監視し、例えば予め設定された基準時間（例えば１００μｓｅｃ）の間に、回路Ａがバス１０４を介してＤＲＡＭ１０３にアクセスした回数を計数することによって、データ転送速度Ｖａｒを検出速度Ｄａｒとして検出することができる。この場合、バス１０４のビット幅にアクセス回数を乗算し、基準時間で除算することによって、検出速度Ｄａｒ（ｂｐｓ）が得られる。なお、必ずしも基準時間で除算して、単位時間当たりの転送データ量に換算する必要はない。また、基準時間内のアクセス回数をそのまま検出速度Ｄａｒを表す情報として用いてもよい。
【００７２】
転送速度検出部１１１は、検出速度Ｄａｗ，Ｄｂｒ，Ｄｂｗ，Ｄｃｒ，Ｄｃｗ，Ｄｄｒ，Ｄｄｗ，Ｄｅｒ，Ｄｅｗについても、検出速度Ｄａｒと同様に検出する。
【００７３】
次に、空データ量検出部１１２によって、バッファーＢ１における書込用記憶領域の空データ量ＥＤ１（第１の空データ量）が検出され、残データ量検出部１１３によって、バッファーＢ１における読出用記憶領域の残データ量ＲＤ１（第１の残データ量）が検出される（ステップＳ４）。
【００７４】
次に、データ転送調節部１１４によって、空データ量ＥＤ１と固定転送速度ＦＶＳとに基づき、バッファーＢ１の書込用記憶領域の空き領域がゼロになるまでの書込予測時間ｔｗ１（第１の書込予測時間）が算出される（ステップＳ５）。データ転送調節部１１４は、空データ量ＥＤ１を固定転送速度ＦＶＳで除算することによって、書込予測時間ｔｗ１を算出することができる。
【００７５】
次に、データ転送調節部１１４によって、残データ量ＲＤ１と検出速度Ｄａｒとに基づき、バッファーＢ１の読出用記憶領域の残データ量がゼロになるまでの読出予測時間ｔｒ１（第１の読出予測時間）が算出される（ステップＳ６）。データ転送調節部１１４は、残データ量ＲＤ１を検出速度Ｄａｒで除算することによって、読出予測時間ｔｒ１を算出することができる。
【００７６】
次に、データ転送調節部１１４によって、書込予測時間ｔｗ１と読出予測時間ｔｒ１とが比較される（ステップＳ７）。そして、書込予測時間ｔｗ１が読出予測時間ｔｒ１以上であれば（ステップＳ７でＮＯ）、現状のままでも書込用記憶領域の空き領域がゼロになるときには読出用記憶領域の残データ量もゼロになり、書込用記憶領域と読出用記憶領域とを入れ替え、すなわちバッファーＢ１の記憶領域Ｍ１と記憶領域Ｍ２との入れ替えが可能な状態となる。この場合、スキャナー部５１は、固定転送速度ＦＶＳでの画像データの転送を維持できるので、スキャナー部５１により読み取られた画像データが失われることはない。
【００７７】
従って、書込予測時間ｔｗ１が読出予測時間ｔｒ１以上であれば（ステップＳ７でＮＯ）、データ転送調節部１１４は、データ転送速度Ｖａｒを変更することなくステップＳ１へ移行する。以下、再びステップＳ１〜Ｓ７が繰り返される。
【００７８】
一方、書込予測時間ｔｗ１が読出予測時間ｔｒ１に満たなければ（ステップＳ７でＹＥＳ）、現状のままでは書込用記憶領域の空き領域がゼロになったとき、読出用記憶領域にはまだ読み出すべきデータが残っており、書込用記憶領域と読出用記憶領域とを入れ替えることができない。
【００７９】
そこで、書込予測時間ｔｗ１が読出予測時間ｔｒ１に満たなければ（ステップＳ７でＹＥＳ）、データ転送調節部１１４によって、データ転送速度Ｖａｒが増大される（ステップＳ８）。その結果、読出予測時間ｔｒ１が短縮されるので、書込用記憶領域の空き領域がゼロになったとき、書込用記憶領域と読出用記憶領域とを入れ替えて、引き続きスキャナー部５１によって、固定転送速度ＦＶＳで新たな書込用記憶領域への画像データの転送を継続させることが可能となる。
【００８０】
従って、ステップＳ１〜Ｓ８によれば、複数の処理部であるスキャナー部５１と回路ＡとがＤＲＡＭ１０３を介してデータを転送する場合に、例えば複写機１の性能（ＰＰＭ（Page Per  Minute））や動作モードの違いによって、回路Ａのデータ転送速度Ｖａｒが変化した場合であっても、実際のデータ転送速度Ｖａｒが検出速度Ｄａｒとして検出される。そして、検出された検出速度Ｄａｒに基づきデータ転送速度Ｖａｒが調節されるので、スキャナー部５１と回路ＡとによるＤＲＡＭ１０３へのアクセスを適切に調停することが容易である。
【００８１】
これにより、背景技術のように、性能や機能の異なる画像形成装置を開発する都度、開発対象の画像形成装置における処理部の数や性能に応じて、各処理部に対して割り当てるべきデータ転送速度（帯域）を予め算出したり検証したりするための開発工数が不要となる。
【００８２】
なお、図４に示す例では、スキャナー部５１（第１の処理部）と、回路Ａ（第２の処理部）とが、バッファーＢ１（記憶領域）を介してデータを転送する例を示したが、さらに別の記憶領域をバッファーメモリーとして設け、回路Ａとは別の第３の処理部を備えてもよい。そして、回路Ａは、その別の記憶領域を介して前記第３の処理部へ画像データを転送し、前記第３の処理部が画像データをハードディスク装置１０１へ転送する構成としてもよい。また、回路Ａは、バッファーＢ１から読み出した画像データに所定の処理を施してからその処理後の画像データを別の記憶領域へ転送してもよい。
【００８３】
その場合、転送速度検出部１１１は、回路ＡがＤＲＡＭ１０３へ画像データを転送する際のデータ転送速度を第２のデータ転送速度として検出し、前記第３の処理部がＤＲＡＭ１０３から画像データを転送したデータ転送速度を第３のデータ転送速度として検出してもよい。空データ量検出部１１２は、さらに、前記別の記憶領域における空き領域のデータ量を第２の空データ量として検出してもよい。そして、残データ量検出部１１３は、さらに、前記別の記憶領域における残データ量を第２の残データ量として検出してもよい。そして、データ転送調節部１１４は、さらに、前記第２の空データ量分の画像データを回路Ａが前記別の記憶領域へ転送する時間を前記第２のデータ転送速度に基づき第２の書込予測時間として算出し、前記第２の残データ量分の前記第２のデータを前記第３の処理部が前記別の記憶領域から転送する時間を前記第３のデータ転送速度に基づき第２の読出予測時間として算出し、前記第２の書込予測時間よりも前記第２の読出予測時間が長い場合、前記第３の処理部によるＤＲＡＭ１０３からのデータ転送速度を増大させるようにしてもよい。
【００８４】
これにより、処理部の数が増加した場合であっても、複数の処理部によるＤＲＡＭ１０３へのアクセスを適切に調停することが容易である。
【００８５】
なお、回路Ａが、ハードディスク装置１０１へデータを出力するハードディスクインターフェイスである例を示したが、回路Ａは、例えばＵＳＢ（Universal Serial Bus）インターフェイスや、ＳＤ（Secure Digital）カードインターフェイスなどであってもよい。このようなインターフェイス系の回路は、時間制約が無いか、あるいは少ない。従って、固定的なデータ転送速度が要求されるスキャナー部５１のような処理部の要求を満たすように、これらインターフェイス系の回路のデータ転送速度を調節することが容易である。
【００８６】
図６は、図２に示すデータ転送装置１００の動作について、データ転送速度が固定的な処理部である光走査装置４２（第２の処理部）が、データフローの終端になっている場合の例を説明するための説明図である。図６では、データの転送方向を矢印で示している。図６に示す例では、ハードディスク装置１０１から、回路Ａ、バッファーＢ２、回路Ｂ、バッファーＢ３、回路Ｃ（第１の処理部）、及びバッファーＢ４（記憶領域）を介して光走査装置４２に至るデータフローＤＦ２を示している。
【００８７】
図６に示すように、光走査装置４２は、原稿から読み取った画像データを固定転送速度ＦＶＳで、バッファーＢ４の記憶領域Ｍ１（第１の記憶領域）又はバッファーＢ４の記憶領域Ｍ２（第２の記憶領域）から読出し方向へ転送する。
【００８８】
複写機１は、コピージョブを実行する際、原稿の読取処理と、読み取った画像データによる画像形成処理とを実行する。複写機１は、図２に示すデータ転送装置１００の構成に基づき、原稿の読取処理を実行するときは図４に示すデータフローを構成し、画像形成処理を実行するときは図６に示すデータフローを構成する。調停部１１０は、複写機１の動作に対応して構成されるデータフローに応じて、データフロー中の各処理部のデータ転送速度を調節する。
【００８９】
データ転送装置１００は、複写機１がコピージョブを実行する際、上述のステップＳ１〜Ｓ８により原稿の読取処理を実行し、スキャナー部５１によって読み取られた原稿の画像を表す画像データをハードディスク装置１０１に記憶した後（又は並行して）、以下の画像形成処理を実行する。
【００９０】
図７〜図９は、画像形成処理のように、データ転送速度が固定的な処理部である光走査装置４２が、データフローの終端になっている場合のデータ転送装置１００の動作の一例を示すフローチャートである。図７〜図９に記載のフローチャートは、本発明に係るデータ転送方法の一例を示している。
【００９１】
まず、回路Ａ（ハードディスクインターフェイス）が、ハードディスク装置１０１から読み出した画像データをバッファーＢ２の書込用記憶領域へ、書き込み方向に転送する（ステップＳ１１）。
【００９２】
次に、回路Ｂが、バッファーＢ２の読出用記憶領域から画像データを読出し方向に転送し（ステップＳ１２）、画像データに所定の画像処理を施した後にバッファーＢ３の書込用記憶領域へ、画像処理後の画像データを書き込み方向に転送する（ステップＳ１３）。
【００９３】
次に、回路Ｃが、バッファーＢ３の読出用記憶領域から画像データを読出し方向に転送し（ステップＳ１４）、画像データに所定の画像処理を施した後にバッファーＢ４の書込用記憶領域へ、画像処理後の画像データを書き込み方向に転送する（ステップＳ１５）。
【００９４】
次に、光走査装置４２が、バッファーＢ４の読出用記憶領域から画像データを読出し方向に転送する（ステップＳ１６）。光走査装置４２は、読み出された画像データに基づきレーザー光等を出力し、感光体ドラム４３を露光する。このようにして、画像形成部４０による画像形成が行われる。
【００９５】
次に、転送速度検出部１１１によって、回路ＣからバッファーＢ４へのデータ転送速度Ｖｃｗが検出速度Ｄｃｗとして検出される（ステップＳ１７）。また、空データ量検出部１１２によってバッファーＢ４の空データ量ＥＤ４が検出され、残データ量検出部１１３によってバッファーＢ４の残データ量ＲＤ４が検出される（ステップＳ１８）。
【００９６】
次に、データ転送調節部１１４によって、残データ量ＲＤ４と固定転送速度ＦＶＬとに基づきバッファーＢ４の読出用記憶領域の残データ量がゼロになるまでの読出予測時間ｔｒ４が算出され、空データ量ＥＤ４と検出速度Ｄｃｗとに基づきバッファーＢ４の書込用記憶領域の空き領域がゼロになるまでの書込予測時間ｔｗ４が算出される（ステップＳ２１）。
【００９７】
具体的には、データ転送調節部１１４は、残データ量ＲＤ４を固定転送速度ＦＶＬで除算することによって読出予測時間ｔｒ４を算出し、空データ量ＥＤ４を検出速度Ｄｃｗで除算することによって書込予測時間ｔｗ４を算出することができる。データ転送調節部１１４は、読出予測時間ｔｒ２〜ｔｒ６、及び書込予測時間ｔｗ２〜ｔｗ６を算出する場合であっても、読出予測時間ｔｒ４，ｔｗ４と同様の演算処理によりこれらの予測時間を算出することができる。
【００９８】
次に、データ転送調節部１１４によって、書込予測時間ｔｗ４と読出予測時間ｔｒ４とが比較される（ステップＳ２２）。そして、書込予測時間ｔｗ４が読出予測時間ｔｒ４以下であれば（ステップＳ２２でＮＯ）、現状のままでもバッファーＢ４の読出用記憶領域の残データ量がゼロになるときには書込用記憶領域の空データ量もゼロとなり、すなわち書込用記憶領域一杯に画像データが書き込まれる。そうすると、書込用記憶領域と読出用記憶領域とを入れ替え、すなわちバッファーＢ４の記憶領域Ｍ１と記憶領域Ｍ２との入れ替えが可能な状態となる。この場合、光走査装置４２は、固定転送速度ＦＶＬでの画像データの転送を維持できるので、画像データに基づく感光体ドラム４３の周面の走査を正常に継続することができる。
【００９９】
従って、書込予測時間ｔｗ４が読出予測時間ｔｒ４以下であれば（ステップＳ２２でＮＯ）、データ転送調節部１１４は、データ転送速度Ｖｃｗを変更することなくステップＳ２４へ移行する。
【０１００】
一方、書込予測時間ｔｗ４が読出予測時間ｔｒ４を超えていれば（ステップＳ２２でＹＥＳ）、現状のままでは読出用記憶領域の残データ量がゼロになったとき、書込用記憶領域への画像データの書き込みがまだ終了しておらず、書込用記憶領域と読出用記憶領域とを入れ替えることができない。
【０１０１】
そこで、書込予測時間ｔｗ４が読出予測時間ｔｒ４を超えていれば（ステップＳ２２でＹＥＳ）、データ転送調節部１１４によって、データ転送速度Ｖｃｗが増大される（ステップＳ２３）。その結果、書込予測時間ｔｗ４が短縮されるので、読出用記憶領域の残データ量がゼロになったとき、書込用記憶領域と読出用記憶領域とを入れ替えて、引き続き光走査装置４２によって、固定転送速度ＦＶＬで新たな読出用記憶領域からの画像データの読出し転送を継続させることが可能となる。
【０１０２】
次に、転送速度検出部１１１によって、バッファーＢ３から回路Ｃへのデータ転送速度Ｖｃｒが検出速度Ｄｃｒとして検出され（ステップＳ２４）、回路ＢからバッファーＢ３へのデータ転送速度Ｖｂｗが検出速度Ｄｂｗとして検出される（ステップＳ２５）。
【０１０３】
ここで、回路Ｃが、バッファーＢ３から読み出した画像データに施す処理に応じて、読出し時のデータ転送速度Ｖｃｒと書き込み時のデータ転送速度Ｖｃｗとの間には、一定の関係が生じる。例えば、回路ＣがバッファーＢ３から読みこんだ画像データと、その画像データに基づき得られた処理後の画像データのデータ量が等しい場合、データ転送速度Ｖｃｒとデータ転送速度Ｖｃｗとは等しくなる。
【０１０４】
また、例えば回路Ｃが、８ｂｐｐ（bits per pixel）の画像データをスクリーニングして４ｂｐｐの画像データに変換する場合、バッファーＢ３から読みこんだ画像データと、その画像データに基づき得られた処理後の画像データのデータ量とは、２：１となる。
【０１０５】
そのため、データ転送調節部１１４が、ステップＳ２３においてデータ転送速度Ｖｃｗを調節すると、結果的にデータ転送速度Ｖｃｒも調節されることになる。データ転送速度Ｖｃｗ及びデータ転送速度Ｖｃｒが調節されると、回路Ｃ全体に対するデータ転送速度（帯域）が調節されたことになる。
【０１０６】
回路Ａ，Ｂ，Ｄ，Ｅについても、入力されるデータ量と出力されるデータ量との間に一定の関係が有れば、データ転送調節部１１４は、回路Ｃの場合と同様にして、入出力されるデータのデータ転送速度（帯域）を調整することができる。データ転送調節部１１４は、このようにして、回路Ａ〜Ｅのデータ転送速度（帯域）を調整し、スキャナー部５１、光走査装置４２、及び回路Ａ〜Ｅの各処理部によるＤＲＡＭ１０３のアクセスを調停する。また、データ転送調節部１１４が、スキャナー部５１、光走査装置４２、及び回路Ａ〜Ｅの各処理部のＤＲＡＭ１０３との間のデータ転送速度（帯域）の比率を調節することにより、結果的に回路Ａ〜Ｅのデータ転送速度（帯域）が調整されるようにしてもよい。
【０１０７】
また、転送速度検出部１１１は、必ずしも検出速度Ｄｃｒと検出速度Ｄｃｗとを個別に検出する必要はない。例えば、回路ＣがバッファーＢ３から読みこんだ画像データと、その画像データに基づき得られた処理後の画像データのデータ量が等しい場合、転送速度検出部１１１は、検出速度Ｄｃｒと検出速度Ｄｃｗとのうちいずれか一方を検出し、その検出結果に基づき他方を算出するようにしてもよい。あるいは、転送速度検出部１１１は、検出速度Ｄｃｒと検出速度Ｄｃｗとの両方の合計を検出し、その検出結果に基づき検出速度Ｄｃｒと検出速度Ｄｃｗを算出するようにしてもよい。このようにして、転送速度検出部１１１は、検出速度Ｄｃｒと検出速度Ｄｃｗとを直接的、あるいは間接的に検出することができる。
【０１０８】
また、空データ量検出部１１２によってバッファーＢ３の空データ量ＥＤ３が検出され、残データ量検出部１１３によってバッファーＢ３の残データ量ＲＤ３が検出される（ステップＳ２６）。
【０１０９】
次に、データ転送調節部１１４によって、残データ量ＲＤ３と検出速度Ｄｃｒとに基づき、バッファーＢ３の読出用記憶領域の残データ量がゼロになるまでの読出予測時間ｔｒ３が算出され、空データ量ＥＤ３と検出速度Ｄｂｗとに基づきバッファーＢ３の書込用記憶領域の空き領域がゼロになるまでの書込予測時間ｔｗ３が算出される（ステップＳ２７）。
【０１１０】
次に、データ転送調節部１１４によって、書込予測時間ｔｗ３と読出予測時間ｔｒ３とが比較される（ステップＳ２８）。そして、書込予測時間ｔｗ３が読出予測時間ｔｒ３以下であれば（ステップＳ２８でＮＯ）、現状のままでもバッファーＢ３の読出用記憶領域の残データ量がゼロになるときには書込用記憶領域の空データ量もゼロとなり、書込用記憶領域と読出用記憶領域とを入れ替え可能な状態となる。この場合、回路Ｂ及び回路Ｃは、バッファーＢ３を介したデータ転送を、現状のデータ転送速度を維持したまま継続することができる。
【０１１１】
従って、書込予測時間ｔｗ３が読出予測時間ｔｒ３以下であれば（ステップＳ２８でＮＯ）、データ転送調節部１１４は、データ転送速度Ｖｂｗを変更することなくステップＳ３１へ移行する。
【０１１２】
一方、書込予測時間ｔｗ３が読出予測時間ｔｒ３を超えていれば（ステップＳ２８でＹＥＳ）、現状のままでは読出用記憶領域の残データ量がゼロになったとき、書込用記憶領域への画像データの書き込みがまだ終了しておらず、書込用記憶領域と読出用記憶領域とを入れ替えることができない。
【０１１３】
そこで、書込予測時間ｔｗ３が読出予測時間ｔｒ３を超えていれば（ステップＳ２８でＹＥＳ）、データ転送調節部１１４によって、データ転送速度Ｖｂｗが増大される（ステップＳ２９）。その結果、書込予測時間ｔｗ３が短縮されるので、読出用記憶領域の残データ量がゼロになったとき、書込用記憶領域と読出用記憶領域とを入れ替えて、引き続き回路Ｃによって、データ転送速度Ｖｃｒで新たな読出用記憶領域からの画像データの読出し転送を継続させることが可能となる。
【０１１４】
次に、転送速度検出部１１１によって、バッファーＢ２から回路Ｂへのデータ転送速度Ｖｂｒが検出速度Ｄｂｒとして検出され（ステップＳ３１）、回路ＡからバッファーＢ２へのデータ転送速度Ｖａｗが検出速度Ｄａｗとして検出される（ステップＳ３２）。
【０１１５】
次に、空データ量検出部１１２によってバッファーＢ２の空データ量ＥＤ２が検出され、残データ量検出部１１３によってバッファーＢ２の残データ量ＲＤ２が検出される（ステップＳ３３）。
【０１１６】
次に、データ転送調節部１１４によって、残データ量ＲＤ２と検出速度Ｄｂｒとに基づき、バッファーＢ２の読出用記憶領域の残データ量がゼロになるまでの読出予測時間ｔｒ２が算出され、空データ量ＥＤ２と検出速度Ｄａｗとに基づきバッファーＢ２の書込用記憶領域の空き領域がゼロになるまでの書込予測時間ｔｗ２が算出される（ステップＳ３４）。
【０１１７】
次に、データ転送調節部１１４によって、書込予測時間ｔｗ２と読出予測時間ｔｒ２とが比較される（ステップＳ３５）。そして、書込予測時間ｔｗ２が読出予測時間ｔｒ２以下であれば（ステップＳ３５でＮＯ）、現状のままでもバッファーＢ２の読出用記憶領域の残データ量がゼロになるときには書込用記憶領域の空データ量もゼロとなり、書込用記憶領域と読出用記憶領域とを入れ替え可能な状態となる。この場合、回路Ａ及び回路Ｂは、バッファーＢ２を介したデータ転送を、現状のデータ転送速度を維持したまま継続することができる。
【０１１８】
従って、書込予測時間ｔｗ２が読出予測時間ｔｒ２以下であれば（ステップＳ３５でＮＯ）、データ転送調節部１１４は、データ転送速度Ｖａｗを変更することなくステップＳ１１へ戻り、以下、再びステップＳ１１〜Ｓ３６が繰り返される。
【０１１９】
一方、書込予測時間ｔｗ２が読出予測時間ｔｒ２を超えていれば（ステップＳ３５でＹＥＳ）、現状のままでは読出用記憶領域の残データ量がゼロになったとき、書込用記憶領域への画像データの書き込みがまだ終了しておらず、書込用記憶領域と読出用記憶領域とを入れ替えることができない。
【０１２０】
そこで、書込予測時間ｔｗ２が読出予測時間ｔｒ２を超えていれば（ステップＳ３５でＹＥＳ）、データ転送調節部１１４によって、データ転送速度Ｖａｗが増大される（ステップＳ３６）。その結果、書込予測時間ｔｗ２が短縮されるので、読出用記憶領域の残データ量がゼロになったとき、書込用記憶領域と読出用記憶領域とを入れ替えて、引き続き回路Ｂによって、データ転送速度Ｖｂｒで新たな読出用記憶領域からの画像データの読出し転送を継続させることが可能となる。
【０１２１】
以上のように、ステップＳ１１〜Ｓ３６によれば、複数の処理部である回路Ａ，Ｂ，Ｃ、及び光走査装置４２がＤＲＡＭ１０３を介してデータを転送する場合に、例えば複写機１の性能（ＰＰＭ）や動作モードの違いによって、回路Ａ，Ｂ，Ｃの実際のデータ転送速度Ｖａｗ，Ｖｂｒ，Ｖｂｗ，Ｖｃｒ，Ｖｃｗが変化した場合であっても、実際のデータ転送速度Ｖａｗ，Ｖｂｒ，Ｖｂｗ，Ｖｃｒ，Ｖｃｗを検出速度Ｄａｗ，Ｄｂｒ，Ｄｂｗ，Ｄｃｒ，Ｄｃｗとして検出し、検出された検出速度Ｄａｗ，Ｄｂｒ，Ｄｂｗ，Ｄｃｒ，Ｄｃｗに基づきデータ転送速度Ｖａｗ，Ｖｂｒ，Ｖｂｗ，Ｖｃｒ，Ｖｃｗが調節されるので、回路Ａ，Ｂ，Ｃ、及び光走査装置４２によるＤＲＡＭ１０３へのアクセスを適切に調停することが容易である。
【０１２２】
これにより、背景技術のように、性能や機能の異なる画像形成装置を開発する都度、開発対象の画像形成装置における処理部の数や性能に応じて、各処理部に対して割り当てるべきデータ転送速度（帯域）を予め算出したり検証したりするための開発工数が不要となる。
【０１２３】
なお、転送速度検出部１１１は、ステップＳ３，Ｓ１７，Ｓ２４，Ｓ２５，Ｓ３１，Ｓ３２におけるデータ転送速度の検出を、他のステップと並列に、定期的に、例えば１００μｓｅｃ毎に実行してもよい。また、空データ量検出部１１２及び残データ量検出部１１３は、ステップＳ４，Ｓ１８，Ｓ２６，Ｓ３３における空データ量及び残データ量の検出を、他のステップと並列に、定期的に、例えば１００μｓｅｃ毎に実行してもよい。
【０１２４】
図１０は、図６に示すデータフローの別の例を示す説明図である。図１０に示すデータフローの例では、図６に示すデータフローと同様のデータフローＤＦ２に加えて、回路Ｄから、バッファーＢ５、回路Ｂ、及びバッファーＢ６を介して回路Ｅに至るデータフローＤＦ３が構成されている。
【０１２５】
この場合、回路Ｂは、二つのデータフローＤＦ２，ＤＦ３で共用される。このようなデータフローＤＦ２，ＤＦ３を構成することによって、データフローＤＦ２に基づく画像処理と、データフローＤＦ３に基づく画像処理のためにそれぞれ回路Ｂを備える場合と比べて回路Ｂの数を減少させることができ、複写機１のコストを低減することが可能となる。
【０１２６】
図１０に示す例では、データ転送調節部１１４は、図１０に示すデータフローＤＦ２の場合と同様にして、回路ＢがバッファーＢ３へ書き込むときのデータ転送速度Ｖｂｗと回路ＢがバッファーＢ６へ書き込むときのデータ転送速度Ｖｂｗ２とを調節すればよい。そうすると、データ転送速度Ｖｂｗとデータ転送速度Ｖｂｗ２とに基づき、データ転送速度Ｖｂｒとデータ転送速度Ｖｂｒ２とが得られる。その結果、データ転送速度Ｖｂｗとデータ転送速度Ｖｂｗ２との合計値に応じたデータ転送速度（帯域）が、回路Ｂに付与される。
【０１２７】
なお、バッファーＢ１〜Ｂ６が、記憶領域Ｍ１，Ｍ２を含むダブルバッファーとして構成されている例を示した。しかしながら、バッファーＢ１〜Ｂ６は、ダブルバッファーに限らず、バッファーＢ１〜Ｂ６はそれぞれが一つの記憶領域であってもよい。
【０１２８】
この場合、空データ量検出部１１２は、バッファーＢ１〜Ｂ６における空き領域の記憶容量を空きデータ量ＥＤ１〜ＥＤ６として検出してもよい。また、残データ量検出部１１３は、バッファーＢ１〜Ｂ６に書き込み側（データフローの上流側）の処理部から書き込まれたデータを、読出し側（データフローの下流側）の処理部により読み出されるべき読み出し対象データとし、読出し対象データのうちまだ読出し側の処理部により読み出されていないデータのデータ量を残データ量ＲＤ１〜ＲＤ６として検出してもよい。
【０１２９】
また、データフローの起点又は終端に位置する処理部のデータ転送速度が固定的である例を示したが、データフローの起点及び終端に位置する処理部のデータ転送速度は必ずしも固定的でなくてもよい。データフローの起点及び終端に位置する処理部のデータ転送速度が固定的ではない場合、転送速度検出部１１１は、それらの処理部によるデータ転送速度を検出し、データ転送調節部１１４は、固定転送速度ＦＶＳ，ＦＶＬの代わりに転送速度検出部１１１によって検出されたデータ転送速度を用いてもよい。
【０１３０】
また、光走査装置４２は、複写機１に設けられる例に限らない。
【符号の説明】
【０１３１】
１  複写機
２  本体部
５  原稿読取部
４０  画像形成部
４１  転写部
４２  光走査装置（第２の処理部）
４３  感光体ドラム
４４  現像部
４５  定着部
５１  スキャナー部（第１の処理部）
１００  データ転送装置
１０１  ハードディスク装置
１０２  メモリーコントローラー
１０３  ＤＲＡＭ（記憶部）
１０４  バス
１１０  調停部
１１１  転送速度検出部
１１２  空データ量検出部
１１３  残データ量検出部
１１４  データ転送調節部
５１１  露光ランプ
５１２  ＣＣＤ
Ａ  回路（第２の処理部）
Ｂ  回路（第３の処理部）
Ｃ  回路（第１の処理部）
Ｄ，Ｅ  回路
Ｂ１〜Ｂ６  バッファー（記憶領域）
ＤＦ１〜ＤＦ３  データフロー
Ｄａｒ  検出速度（第１の検出速度）
Ｄａｗ，Ｄｂｒ，Ｄｄｒ，Ｄｄｗ，Ｄｅｒ，Ｄｅｗ  検出速度
Ｄｃｒ  検出速度（第３の検出速度）
Ｄｂｗ  検出速度（第２の検出速度）
Ｄｃｗ  検出速度（第１の検出速度）
ＥＤ１，ＥＤ４  空データ量（第１の空データ量）
ＥＤ２  空データ量
ＥＤ３  空データ量（第２の空データ量）
ＦＶＬ，ＦＶＳ  固定転送速度
Ｍ１  記憶領域（第１の記憶領域）
Ｍ２  記憶領域（第２の記憶領域）
ＭＣ  記憶容量（第１、第２の記憶容量）
ＲＤ１，ＲＤ４  残データ量（第１の残データ量）
ＲＤ２  残データ量
ＲＤ３  残データ量（第２の残データ量）
Ｖａｒ，Ｖａｗ，Ｖｂｒ，Ｖｂｒ２，Ｖｂｗ，Ｖｂｗ２，Ｖｃｒ，Ｖｃｗ  データ転送速度
ｔｒ１  読出予測時間（第１の読出予測時間）
ｔｒ２  読出予測時間
ｔｒ３  読出予測時間（第２の読出予測時間）
ｔｒ４  読出予測時間（第１の読出予測時間）
ｔｗ１  書込予測時間（第１の書込予測時間）
ｔｗ２  書込予測時間
ｔｗ３  書込予測時間（第２の読出予測時間）
ｔｗ４  書込予測時間（第１の書込予測時間）
【図１】
2014204355.tif 000003
【図２】
2014204355.tif 000004
【図３】
2014204355.tif 000005
【図４】
2014204355.tif 000006
【図５】
2014204355.tif 000007
【図６】
2014204355.tif 000008
【図７】
2014204355.tif 000009
【図８】
2014204355.tif 000010
【図９】
2014204355.tif 000011
【図１０】
2014204355.tif 000012