(57)【要約】【課題】共有する２次記憶装置を含むメモリにアクセスすることがある複数のデータ処理手段の少なくとも一つにデータ転送に要する時間の制約が存在する場合に、その制約を満たす形で常にメモリにアクセスするデータ処理装置を提供する。【解決手段】記憶部１０５は、各部１０１〜１０３が共有する画像メモリ、及びＨＤＤ（ハードディスク装置）を備えている。システム制御部１０７は、各部１０１〜１０３から記憶部１０５へのデータ転送、或いはそれからのデータ転送が要求されると、そのデータ転送を完了すべき転送完了時間と、その転送に要すると予想される予想転送完了時間とを比較することにより、転送完了時間内にデータ転送が完了すると予想される要求のみを受け付ける。【選択図】　　　図１
2004106428.tif 000002
【特許請求の範囲】
【請求項１】
データ格納用に共有するメモリにアクセスして処理を行うことができる第１、及び第２のデータ処理手段を少なくとも備えたデータ処理装置において、
前記第１、或いは第２のデータ処理手段が行う処理のために前記メモリにアクセスする場合に、該アクセスに伴うデータ転送を完了すべき転送完了時間を必要に応じて指定する転送完了時間指定手段と、
前記第１、或いは第２のデータ処理手段が行う処理のために前記メモリにアクセスする場合に、その時点での該メモリへのアクセス状況を考慮して、該アクセスに伴うデータ転送の完了に要すると予想される予想転送完了時間を計算する予想転送完了時間計算手段と、
前記転送完了時間指定手段が指定した転送完了時間、及び前記予想転送完了時間計算手段が計算した予想転送完了時間に基づいて、前記第１、或いは第２のデータ処理手段が行う処理のための前記メモリへのアクセスを管理するアクセス管理手段と、
を具備することを特徴とするデータ処理装置。
【請求項２】
前記メモリに格納されたデータの保存に用いられ、該メモリへのアクセスに伴うデータの転送速度と比較して転送速度が低速な他のメモリ、を備え、
前記メモリと前記他のメモリ間でデータ転送が行われる場合、前記予想転送完了時間計算手段は該データ転送を考慮して前記予想転送完了時間を計算する、
ことを特徴とする請求項１記載のデータ処理装置。
【請求項３】
前記アクセス管理手段は、前記第１、或いは第２のデータ処理手段が行う処理のために前記メモリに新たにアクセスする場合、前記予想転送完了時間計算手段が計算した予想転送完了時間が前記転送完了時間指定手段の指定した転送完了時間よりも長ければ、前記メモリへの新たなアクセスを禁止、或いは延期させる、
ことを特徴とする請求項１、または２記載のデータ処理装置。
【請求項４】
前記データ処理装置は、前記メモリに格納する画像データを入力する画像入力手段を前記第１のデータ処理手段、該メモリに格納された画像データを出力する画像出力手段を前記第２のデータ処理手段とする画像形成装置である、
ことを特徴とする請求項１、２、または３記載のデータ処理装置。
【請求項５】
データ格納用に共有するメモリにアクセスして処理を行うことができる第１、及び第２のデータ処理手段を少なくとも備えたデータ処理装置に実行させるプログラムであって、
前記第１、或いは第２のデータ処理手段が行う処理のために前記メモリにアクセスする場合に、該アクセスに伴うデータ転送を完了すべき転送完了時間を必要に応じて指定する機能と、
前記第１、或いは第２のデータ処理手段が行う処理のために前記メモリにアクセスする場合に、その時点での該メモリへのアクセス状況を考慮して、該アクセスに伴うデータ転送の完了に要すると予想される予想転送完了時間を計算する機能と、
前記指定する機能により指定した転送完了時間、及び前記計算する機能により計算した予想転送完了時間に基づいて、前記第１、或いは第２のデータ処理手段が行う処理のための前記メモリへのアクセスを管理する機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ格納用に共有するメモリにアクセスして処理を行う複数のデータ処理手段を備えたデータ処理装置に関する。
【０００２】
【従来の技術】
近年、例えば複写機（画像形成装置）ではデジタル化が進んでいる。それに伴い、画像の加工や編集といったことを行う画像処理機能以外にも様々な機能が搭載されるようになってきている。
搭載されるようになった機能の一つとして、原稿複数枚分の画像データをメモリに記憶することにより、指定部数まとめてコピー出力して、仕分けの作業をなくす電子ソートという機能がある。複数枚の画像データを半導体メモリに蓄積できるようにすると、画像データのデータ量は大きいためにそのコストが膨大になる。このことから、そのコストを抑えるために下記のような構成とするのが一般的である。
１．半導体メモリ＋蓄積用メモリの構成とし、蓄積メモリとして半導体メモリより単位メモリ容量当たりのコストが安価なハードディスク装置等の２次記憶装置を使用する（以下、「第１の構成」と呼ぶ）
２．蓄積メモリとして半導体メモリを使用し、圧縮処理を用いて画像データを圧縮し、１枚あたりのデータ量を減らすことで必要な記憶容量を減らす（以下、「第２の構成」と呼ぶ）
３．複数の画像入出力手段（イメージスキャナ、プリンタコントローラ、ファイルサーバー、或いはＦＡＸコントローラ等）に同一のメモリを共有させる（以下、「第３の構成」と呼ぶ）
【０００３】
メモリに対し、画像データの入出力を実行するためにはＤＭＡ（Ｄｉｒｅｃｔ　Ｍｅｍｏｒｙ　Ａｃｃｅｓｓ）データ転送方式を用いたメモリ制御コントローラ（以下ＤＭＡコントローラ）が使用されることが多い。ＤＭＡコントローラはディスクリプタと呼ばれるデータ転送方式を指示した情報を元にメモリの特定の領域に対してアクセスを行う。１画像が格納されるメモリ領域を複数のディスクリプタにより分割してデータ転送を行わせることも可能であり、例えばメモリをリングバッファの形態で利用することにより、画像データの容量よりも少ないメモリ容量で画像データの入出力を実行することもできる。参考技術文献としては特許文献１が挙げられる。
ＤＭＡコントローラを用いたメモリアクセス制御では、各ディスクリプタで指定されたデータ転送の進行状況（開始、終了）の把握や、データ転送の実行タイミング制御（メモリの領域へのアクセス中にその中断、開始、或いは各ディスクリプタの終了割込み通知等）も可能であるため、ＤＭＡコントローラに接続された半導体メモリや、大容量の２次記憶装置に対するアクセスのタイミング制御の自由度が高く、応用範囲が広いという利点がある。
【０００４】
上述のように蓄積メモリとして半導体メモリの他にハードディスク装置等の２次記憶装置を使用する第１の構成では、通常、単一の記憶装置に対して複数のデータ転送（データ書込み、読み出し動作）を行うことはできない。このため、ＤＭＡコントローラのディスクリプタを用いて２次記憶装置へのデータ転送（アクセス）単位を分割し、これを時分割に実行することで、複数のデータ転送動作をあたかも並行して実行しているようにするのが一般的である。
当然のことながら、このような時分割処理を用いると、データ転送に要する全体の時間が短くなることはない。このため、画像形成装置のように画像データの入出力に要する時間をより短縮することが装置の生産性に影響を及ぼす場合には、時分割処理を行うことが逆に生産性の低下を招くこともある。よって、画像データを圧縮してデータ転送量を小さくする第２の構成を更に採用したり、或いはデータ転送速度の速い２次記憶装置を搭載して、２次記憶装置へのデータ転送に要する時間がより短くなるようにさせていた。メモリアクセス制御の簡素化を計る理由から、時分割転送は積極的に行わず、２次記憶装置は画像入出力手段による画像データ入出力動作と略同期してリソースとして占有してデータ転送を行う手法が用いられるのが普通である。
通常、画像入出力手段−半導体メモリ間のデータ転送速度に比較して、半導体メモリ−２次記憶装置間のデータ転送速度は小さい。画像データの圧縮を行って２次記憶装置にアクセスするデータ量を小さくしても、画像入出力手段−半導体メモリ間のデータ転送速度との差に変化が少なかったために、半導体メモリ−２次記憶装置間のデータ転送処理（データ圧縮等のデータ変換処理も含む）の転送タイミングの制御を独立、且つ最適に行ったとしても画像形成装置の生産性はあまり向上しなかった。
【０００５】
ハードディスク装置のような２次記憶装置の転送速度は年々向上してきており、その転送速度の向上によって生産性も向上する。しかし、近年の高速な複写機には、原稿の表裏同時読み取りが可能であったり、画像入出力手段の処理能力（速度）がより向上していたり、或いは生産性を達成するためには原稿の搬送をノンインターバルで行うという機構的制約が存在するといった理由で求められる転送速度がより高い機種も存在する。このことから、最近では、画像入力手段が画像を読み取るための原稿の搬送をノンインターバルに行うか否かの切換制御などに、２次記憶装置に対する現在のアクセス状況、その特性（性能）等を考慮する必要性が高くなってきている。
【特許文献１】特開２０００−１５８７２４号公報
【０００６】
【発明が解決しようとする課題】
上述したように、近年の技術の進歩に伴い、ハードディスク装置等の大容量の２次記憶装置へのアクセスを伴うデータ転送速度は、たとえデータ圧縮によりデータ量を低減させたとしても、画像入出力手段のデータ転送速度に対して十分な速度とは必ずしも言えない状況となっている。例えば画像出力手段が複数色の画像データからカラー画像を出力するものであれば、２次記憶装置に格納された画像データを決められた時間内に入力しなければカラー画像を適切に出力できないか、或いはその出力に要する時間が長くなって生産性が著しく低下することになる。このようなことから、画像形成装置では、そのことに対応できるようにすることが必要であると考えられる。
例えば、ＦＡＸ送信では、電話回線を用いたデータ転送のプロトコルにデータ転送時間に関する規約が存在する。その規約により、一定時間内にデータ送信を行わなければ接続が切断されてしまい、データは送信できなくなる。そのＦＡＸ送信機能は、データ処理装置にとって一般的な機能となっている。このようなことから、処理のために２次記憶装置にアクセスすることがある複数のデータ処理手段の少なくとも一つにアクセス時間に対する制約が存在する他のデータ処理装置においても、２次記憶装置のアクセス速度が十分な速さでないということに対応できるようにすることが必要であると言える。
本発明は、共有する２次記憶装置を含むメモリにアクセスすることがある複数のデータ処理手段の少なくとも一つにデータ転送に要する時間の制約が存在する場合に、その制約を満たす形で常にメモリにアクセスするデータ処理装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明のデータ処理装置は、データ格納用に共有するメモリにアクセスして処理を行うことができる第１、及び第２のデータ処理手段を少なくとも備えていることを前提とし、第１、或いは第２のデータ処理手段が行う処理のためにメモリにアクセスする場合に、該アクセスに伴うデータ転送を完了すべき転送完了時間を必要に応じて指定する転送完了時間指定手段と、第１、或いは第２のデータ処理手段が行う処理のためにメモリにアクセスする場合に、その時点での該メモリへのアクセス状況を考慮して、該アクセスに伴うデータ転送の完了に要すると予想される予想転送完了時間を計算する予想転送完了時間計算手段と、転送完了時間指定手段が指定した転送完了時間、及び予想転送完了時間計算手段が計算した予想転送完了時間に基づいて、第１、或いは第２のデータ処理手段が行う処理のためのメモリへのアクセスを管理するアクセス管理手段と、を具備する。
なお、上記の構成では、メモリに格納されたデータの保存に用いられ、該メモリへのアクセスに伴うデータの転送速度と比較して転送速度が低速な他のメモリ、を備え、メモリと他のメモリ間でデータ転送が行われる場合、予想転送完了時間計算手段は該データ転送を考慮して予想転送完了時間を計算する、ことが望ましい。
また、アクセス管理手段は、第１、或いは第２のデータ処理手段が行う処理のためにメモリに新たにアクセスする場合、予想転送完了時間計算手段が計算した予想転送完了時間が転送完了時間指定手段の指定した転送完了時間よりも長ければ、メモリへの新たなアクセスを禁止、或いは延期させる、ことが望ましい。データ処理装置については、メモリに格納する画像データを入力する画像入力手段を第１のデータ処理手段、該メモリに格納された画像データを出力する画像出力手段を第２のデータ処理手段とする画像形成装置である、ことが望ましい。
本発明のプログラムは、データ格納用に共有するメモリにアクセスして処理を行うことができる第１、及び第２のデータ処理手段を少なくとも備えたデータ処理装置に実行させることを前提とし、第１、或いは第２のデータ処理手段が行う処理のためにメモリにアクセスする場合に、該アクセスに伴うデータ転送を完了すべき転送完了時間を必要に応じて指定する機能と、第１、或いは第２のデータ処理手段が行う処理のためにメモリにアクセスする場合に、その時点での該メモリへのアクセス状況を考慮して、該アクセスに伴うデータ転送の完了に要すると予想される予想転送完了時間を計算する機能と、指定する機能により指定した転送完了時間、及び計算する機能により計算した予想転送完了時間に基づいて、第１、或いは第２のデータ処理手段が行う処理のためのメモリへのアクセスを管理する機能と、を実現させる。
本発明では、少なくとも搭載された第１、或いは第２のデータ処理手段が行う処理のために共有のメモリにアクセスする場合に、そのアクセスに伴うデータ転送を完了すべき転送完了時間を必要に応じて指定し、その時点でのメモリへのアクセス状況を考慮して、そのアクセスに伴うデータ転送の完了に要すると予想される予想転送完了時間を計算し、指定した転送完了時間、及び計算した予想転送完了時間に基づいて、第１、或いは第２のデータ処理手段が行う処理のためのメモリへのアクセスを管理する。それにより、データ転送に要する時間の制約が存在していても、その制約を常に満たす形でメモリへのアクセス、そのアクセスに伴うデータ転送を行えることとなる。その結果、各データ処理手段は常に処理速度を実質的に低下させることなく、行うべき処理を最適に行えるようになり、データ処理装置は常に高い生産性を維持できることとなる。
【０００８】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態につき詳細に説明する。
図１は、本実施の形態によるデータ処理装置（デジタル複合機）の構成図である。
そのデジタル複合機は、複写機、或いはファクシミリ装置として機能できるものであり、図１に示すように、原稿の画像を読み取る読取部１０１と、転写紙上に画像を形成（印刷）する像形成部１０２と、電話回線を介してデータの送受信を行うＦＡＸ部１０３と、各種キーや表示部が配置された操作部１０４と、画像データを記憶する記憶部１０５と、画像データの送出先を切り換えるセレクタ部１０６と、複合機全体の制御を行うシステム制御部１０７と、を備えて構成されている。
上記読取部１０１は、原稿台１１１上に裁置された原稿１１２をその原稿台１１１に沿って露光ランプ１１３を図２の副走査方向に移動させることによってスキャン露光を行い、その反射光を複数の反射ミラーによりＣＣＤイメージセンサー１１４に導き、そのセンサー１１４によって光電変換を行い、光の強弱に応じた電気信号とする。ＩＰＵ（イメージプロセッシングユニット）１１５は、その電気信号に対し、シェーディング補正等の処理を行った後にＡ／Ｄ変換して、８ビットのデジタル画像データとし、さらに変倍処理、ディザ処理等の画像処理を行う。その画像処理後の画像データを直ちに出力する場合、画像同期信号と共に像形成部１０２に送る。
スキャナー制御部１１６は、上述のプロセスを実現させるために、各種センサーによる検知処理や、露光ランプ１１３移動用の駆動モータ等の制御を行い、ＩＰＵ１１５に対する各種パラメータの設定を行う。それにより、読取部１０１全体の制御を行う。
【０００９】
ここで、図３を参照して、読取部１０１のＩＰＵ１０５よる画像データの出力について説明する。
図３中のフレームゲート信号／ＦＧＡＴＥは、副走査方向の画像エリアに対しての画像有効範囲を表す信号で、この信号／ＦＧＡＴＥがローレベル（ローアクティブ）の間の画像データが有効とされる。この信号／ＦＧＡＴＥは、ライン同期信号／ＬＳＹＮＣの立ち下がりエッジでアサート、あるいはネゲートされる。その信号／ＬＳＹＮＣは画素同期信号ＰＣＬＫの立ち上がりエッジで所定クロック数だけアサートされ、この信号の立ち上がり後、所定クロック数後に主走査方向の画像データが有効とされる。送られてくる画像データは、画素同期信号ＰＣＬＫの１周期に対して１つであり、図２の主走査方向上を１５７．５ＤＰＣ（＝４００ＤＰＩ）相当に分割したものである。画像データは、副走査方向上の位置を変えながら主走査方向上のデータを送出するラスタ形式で送出される。画像データの副走査有効範囲は、通常、転写紙サイズによって決まる。
像形成部１０２では、帯電チャージャ１２１によって一様に帯電された一定速度で回転する感光体１２２を、書込部１２３からの画像データによって変調されたレーザー光により露光する。感光体１２２にはその露光によって静電潜像ができ、それを現像装置１２４が現像することにより顕像化したトナー像が形成される。給紙トレイ１２５の転写紙は給紙コロ１２６によって繰り出してレジストローラ１２７まで搬送し、感光体１２２上のトナー像と重なるタイミングでローラ１２７による搬送を開始し、転写チャージャ１２８によって感光体１２２上のトナー像を転写紙に静電転写させる。転写紙のトナー像が転写された部分は分離チャージャー１２９によって感光体１２２より分離させる。転写紙上のトナー像は定着装置１３０により加熱定着させた後、排紙ローラ１３１により排紙トレイ１３２に排紙する。
静電転写後の感光体１２２上に残留したトナーは、クリーニング装置１３３が除去する。その除去を行った後は感光体１２２は除電チャージャ１３４により除電される。プロッタ制御部１３５は以上のプロセスを実現させるために、各種センサーによる検知処理、感光体１２２や給紙コロ１２６、レジストローラ１２７、及び定着装置１３０などを駆動するための各種駆動モータ等の制御を行う。
【００１０】
システム制御部１０７は、オペレータによる操作部１０４への操作に応じて、読取部１０１、記憶部１０５、像形成部１０２、或いはＦＡＸ部１０３への各種パラメータの設定やプロセス実行指示等を通信にて行う。システム全体の状態を操作部１０４の表示部により表示させる。それにより、システム制御部１０７はオペレータの操作部１０４への操作に対応する形で制御を行う。
ＦＡＸ部１０３は、システム制御部１０７からの指示により、インクリメントプログラム１１５、或いは記憶部１０５から送られてきた画像データをＧ３、Ｇ４ＦＡＸのデータ転送規定に基づき２値画像データの圧縮を行い、電話回線へ転送する。また、電話回線より受信したデータは、復元して像形成部１０２の書込部１２３等へ送出する。それにより、受信したデータは顕像化される。
セレクタ部１０６は、システム制御部１０７からの指示により、それを構成するセレクタの接続状態を変化させ、像形成部１０２が像形成を行う対象とする画像データの出力先を読取部１０１、記憶部１０５、及びＦＡＸ部１０３のうちの何れかに選択する。
記憶部１０５は、通常はＩＰＵ１１５から入力される原稿の画像データを記憶することで、リピートコピー、回転コピー等の複写アプリケーションに使用される。また、ＦＡＸ部１０３からの２値画像データを一時的に記憶させるバッファメモリとしても使用される。これらデータの記憶はシステム制御部１０７の指示に従って行う。
【００１１】
図４は、上記記憶部の構成図である。次に、図４を参照して、その記憶部１０５について詳細に説明する。
画像入出力ＤＭＡＣ４０１はＣＰＵ及びロジック回路で構成され、メモリ制御部４０３と通信を行ってコマンドを受信し、そのコマンドに応じた動作設定を行う。メモリ制御部４０３には現在の状態を示すステータス情報を送信する。
画像入力のコマンドをメモリ制御部４０３から受信した場合、セレクタ部１０６を介して入力する画像データを、画像同期信号／ＦＧＡＴＥに従って８画素単位のメモリデータにパッキングして、メモリ制御部４０３にメモリアクセス信号と共に随時、出力する。画像出力のコマンドを受けた場合には、メモリ制御部４０３から受信した画像データを画像同期信号／ＦＧＡＴＥに同期させて出力する。
画像メモリ４０２は画像データを記憶するところで、ＤＲＡＭ等の半導体記憶素子で構成される。メモリ容量は、例えば１５７．５ＤＰＣ（＝４００ＤＰＩ）、２値画像データではＡ３サイズ分の４Ｍバイトと、電子ソート蓄積用の４Ｍバイトの合計８ＭＢとなっている。メモリ制御部４０３がアクセスする。
メモリ制御部４０３は、ＣＰＵ及びロジック回路で構成され、システム制御部１０７と通信を行ってコマンドを受信し、そのコマンドに応じた動作設定を行い、記憶部１０５の現在の状態を知らせるためのステータス情報をその制御部１０７に送信する。
システム制御部１０７からのコマンドには、画像入力、画像出力、圧縮、伸長等を指示するものがあり、画像入力、画像出力のコマンドは画像入出力ＤＭＡＣ４０１に送信し、圧縮関連のコマンドは画像転送ＤＭＡＣ４０４、符号転送ＤＭＡＣ４０５、及び圧縮伸長器４０６に送信する。
【００１２】
図５は、メモリ制御部４０３の内部構成を示す図である。ここで、その制御部４０３の内部構成、及び各部の動作について詳細に説明する。
入出力画像アドレスカウンタ５０１は、画像入出力ＤＭＡＣ４０１から受信する入出力メモリアクセス要求信号に応じてカウントアップするアドレスカウンタで、入力する画像データを格納する、或いは出力する画像データが格納された格納場所を示す２２ビットのメモリアドレスデータを出力する。メモリアクセス開始時にアドレスは一旦、初期化される。
転送画像アドレスカウンタ５０２は、アービタ５０７が出力する転送メモリアクセス許可信号に応じてカウントアップするアドレスカウンタで、転送画像データが格納される格納場所を示す２２ビットのメモリアドレスデータを出力する。メモリアクセス開始時に一旦アドレスは初期化される。
ライン設定部５０３は、画像データ入力時のバッファとして画像メモリ４０２を使用する場合に、差分比較部５０５が差分算出部５０４から出力された入力処理ライン番号と転送ライン番号の差分と比較する対象となる値（差分ライン数）をシステム制御部１０７から受信して保持する。任意の値を保持（設定）させることができる。
差分算出部５０４は、画像データ入力時には、圧縮伸長器４０６が出力する転送処理ライン数から画像入出力ＤＭＡＣ４０１が出力する入出力処理ライン数を減算し、減算結果を差分ライン数として差分比較部５０５に出力する。
差分比較部５０５は、画像データ入力時には、差分算出部５０４が出力する差分ライン数と、ライン設定部５０３が出力する設定値とを比較し、差分ライン数＝設定値となったならばイナクティブ、それらが一致していなければアクティブの転送要求マスク信号を要求マスク５０８に出力する。それ以外、または画像データの入出力を行っていない状態であれば、その信号はアクティブにしない。
アドレスセレクタ５０６は、アービタ５０７によりアドレスカウンタ５０１、及び５０２が出力するアドレスデータのうちの一方を選択する。
【００１３】
アービタ５０７は、圧縮伸張器４０６がハードディスク装置（ＨＤＤ）４０８にアクセスするのを許可する旨を通知するためのメモリアクセス許可信号を出力する。その許可信号は、要求マスク部５０８を介して入力する転送要求マスク信号がアクティブで入出力メモリアクセス要求信号がイナクティブの条件でアクティブにする。アドレスセレクタ５０６には、選択・出力するアドレスデータを切り換えるための信号を必要に応じて出力する。
要求マスク部５０８は、差分比較器５０５から入力する転送要求マスク信号により、圧縮伸張器４０６がＨＤＤコントローラ（ＨＤＤＣ）４０７を介してＨＤＤ４０８にアクセスするための転送メモリアクセス要求信号をマスク（ディスイネーブル状態とすること）し、それによるデータ転送処理を停止させる。
アクセス制御回路５０９は、アドレスセレクタ５０６を介して入力するアドレスデータをロウアドレス部、カラムアドレス部に分割し、１１ビットのアドレスバスに出力する。また、アービタ５０７からのアクセス開始信号に従い、例えばＤＲＡＭである画像メモリ４０２に対する制御信号（ＲＡＳ、ＣＡＳ、ＷＥ）を出力する。
システム制御部１０７からの画像入力指示により、メモリ制御部４０３は初期化され画像データの待ち状態となり、読取部１０１の動作により記憶部１０５に画像データを格納可能となる。その記憶部１０５に入力された画像データは一旦、画像メモリ４０２に書き込まれる。書き込まれた画像データの処理ライン数は画像入出力ＤＭＡＣ４０１で計数され、入出力処理ライン数としてメモリ制御部４０３に送信される。圧縮伸長器４０６は、メモリ制御部４０３からの画像転送のコマンドを受けて転送メモリアクセス要求信号をそれに出力するが、その要求信号はメモリ制御部４０３の要求マスク部５０８によりマスクされ、それによるアクセスは行われない。画像入出力ＤＭＡＣ４０１からの画像データが１ライン分、終了すると、転送メモリアクセス要求信号のマスクが解除され、画像メモリ４０２から画像データの読み出しが行われ圧縮伸長部４０６への転送動作が開始される。その動作中も差分算出部で２つの処理ライン数の差を算出し、その差が０となればアドレスの追い越しがない様に転送メモリアクセス要求信号にマスクをかける。
【００１４】
図４に示す記憶部１０５の説明に戻る。
画像転送ＤＭＡＣ４０４は、ＣＰＵ及びロジック回路で構成され、メモリ制御部４０３と通信を行ってコマンドを受信し、そのコマンドに応じた動作設定を行い、現在の状態を知らせるためのステータス情報を送信する。圧縮のコマンドを受信した場合、メモリ制御部４０３にメモリアクセス要求信号を出力し、メモリアクセス許可信号がアクティブの場合に画像データを受け取って圧縮伸長器４０６に転送する。メモリアクセス要求信号に応じてカウントアップするアドレスカウンタを内蔵しており、そのカウント値を用いて生成する、画像データを読み出す、或いはそれが格納されている格納場所を示す２２ビットのメモリアドレスデータを出力する。
符号転送ＤＭＡＣ４０５は、ＣＰＵ及びロジック回路で構成され、メモリ制御部４０３と通信を行ってコマンドを受信し、そのコマンドに応じた動作設定を行い、現在の状態を知らせるためのステータス情報を送信する。伸長のコマンドを受信した場合、メモリ制御部４０３にメモリアクセス要求信号を出力し、その制御部４０３が出力するメモリアクセス許可信号がアクティブとなれば、画像データを受け取って圧縮伸長器４０６に転送する。メモリアクセス要求信号に応じてカウントアップするアドレスカウンタを内蔵しており、そのカウント値を用いて生成する、画像データを読み出す、或いはそれが格納されている格納場所を示す２２ビットのメモリアドレスデータを出力する。そのＤＭＡＣ４０５のディスクリプタによるアクセス動作については後述する。
圧縮伸長器４０６は、ＣＰＵ及びロジック回路で構成され、メモリ制御部４０３と通信を行ってコマンドを受信し、そのコマンドに応じた動作設定を行い、現在の状態を知らせるためのステータス情報を送信する。２値の画像データをＭＨ符号化方式で圧縮する。
ＨＤＣコントローラ（ＨＤＤＣ）４０７は、ＣＰＵ及びロジック回路で構成され、メモリ制御部４０３と通信を行ってコマンドを受信し、そのコマンドに応じた動作設定を行い、現在の状態を知らせるためのステータス情報を送信する。ＨＤＤ４０８のステータス情報のリードやアクセス（データ転送）を行なう。そのＨＤ４０８は、２次記憶装置である。
上述した構成の記憶部１０５は、画像入力、及びデータ蓄積に際してはシステム制御部１０７からの指示により、画像データを画像メモリ４０２に確保された格納領域に画像入出力ＤＭＡＣ４０１により書き込むか、または、その格納領域に格納された画像データを読み出す。このとき画像入出力ＤＭＡＣ４０１は画像データのライン数をカウントし、そのライン数を入出力処理ライン数としてメモリ制御部４０３に出力する。
【００１５】
図６は、符号転送ＤＭＡＣ４０５のディスクリプタによるアクセス動作（データ転送動作）を説明するための図である。ここでは、画像データを４つのバンドに分割してそのデータ転送を行う場合を例にとって説明する。なお、他のＤＭＡＣ４０１、４０４等においてもその動作は同様である。
先ず、１画像データ中の総転送ライン数を加算する手順を説明する。
符号転送ＤＭＡＣ４０５はメモリ制御部４０３から転送コマンドを受信することで起動し、その制御部４０３から受信したディスクリプタは、そのストア用のディスクリプタ格納レジスタ６０１上に確保された領域である、ＣＰＵを有するデータ転送制御部６０２によって設定されたチェーン先アドレス（ここではａアドレス）から順に（ここではディスクリプタ１が先頭である）ストアする。
そのレジスタ６０１にロードされたディスクリプタは、次のディスクリプタの格納領域（その先頭アドレス）を示すチェーン先アドレス、転送するデータの先頭アドレスを示すデータ転送先アドレス、転送するデータのデータ量をライン数で示すデータ転送ライン数、及び設定されたライン数のデータ転送が終了した場合に、ＣＰＵ割り込みを発生させるか否かを指定できるフォーマット情報からなる４ワード構成である。そのフォーマット情報の最下位ビットには、設定されたライン数のデータ転送終了の場合にＣＰＵ割り込みを発生させるか否かを指定するためのビットが配置されている。その値が０であればＣＰＵ割り込みを発生させ、１であればその発生をマスクさせる。
図６に示す例では、画像データを４つのバンドに分割し、各ディスクリプタのフォーマット情報の最下位１ビットの値は全て０となっている。各バンドの画像データ転送が終了するとＣＰＵ割り込みが発生し、その割り込み発生により、各ディスクリプタに設定されているライン数を加算することにより転送終了タイミング、及びライン数を検出しながらデータ転送を行えるようになっている。
【００１６】
画像メモリ４０２から圧縮伸長器４０６を通してＨＤＤ４０８にデータを転送（１次記憶装置→２次記憶装置）する場合、メモリ制御部４０３のディスクリプタの設定は１バンド分のデータ転送用であるため、ディスクリプタのライン数の設定は画像ライン数として設定される。そのライン数を格納し、格納先アドレスは符号転送ＤＭＡＣ４０５を示すものとしたディスクリプタを画像転送ＤＭＡＣ４０４に出力する。符号転送ＤＭＡＣ４０５に出力するディスクリプタでは、データの格納先アドレスはＨＤＤＣ４０７を示すものに設定する。それにより、画像メモリ４０２→メモリ制御部４０３→画像転送ＤＭＡＣ４０４→符号転送ＤＭＡＣ４０５→圧縮伸長器４０６→ＨＤＤＣ４０７→ＨＤＤ４０８という経路で画像データの転送を行わせる。データ転送終了後には、ＨＤＤＣ４０７よりＨＤＤ４０８へ蓄積した際の使用容量が通知され、このＨＤＤ４０８へ画像データを格納したアドレス（例えば先頭アドレス）と使用容量を画像メモリ（１次記憶装置）４０２に確保しているＨＤＤ管理領域に記憶させておく。データ転送中は、メモリ制御部４０３は、画像データの圧縮伸長器４０６への転送が、符号転送ＤＭＡＣ４０５からの転送を追い越さないように転送メモリアクセス要求にマスクをかける。それにより、ＨＤＤ４０８へのデータ転送がそのためのデータ転送を追い越さないように制御する。
逆にＨＤＤ４０８から圧縮伸長器４０６を通して画像メモリ４０２にデータを転送（２次記憶装置→１次記憶装置）する場合には、画像メモリ４０２に確保しているＨＤＤ管理領域に記憶させているＨＤＤ４０８へ蓄積した際の格納アドレスと使用容量を取得し、ＨＤＤＣ４０７には格納先アドレスを指定し、符号転送ＤＭＡＣ４０５には使用容量を、画像転送ＤＭＡＣ４０４には伸長後のライン数を設定して、ＨＤＤ４０８→ＨＤＤＣ４０７→圧縮伸長器４０６→符号転送ＤＭＡＣ４０５→画像転送ＤＭＡＣ４０４→メモリ制御部４０３→画像メモリ４０２という経路で画像データの転送を行う。それ以外の経路でデータ転送を行う場合、メモリ制御部４０３は同様な方法で作成したディスクリプタを出力すべきＤＭＡＣに出力することで、その経路でのデータ転送を実現させる。
上述したように、画像メモリ４０２、及びＨＤＤ４０８は、処理対象とするデータ格納用に共有させる。本実施の形態では、その共有によって生じるデータ転送速度の低下を理由として、各部１０１〜１０３が適切に処理を行えなくなる、或いはその処理時間が非常に長くなるといった不具合の発生を以下のようにして回避させている。
【００１７】
データ転送速度は、システムの構成や採用した装置などによって変化する。本実施の形態では、そのデータ転送速度として、読取部１０１（ＦＡＸ部１０３）→画像メモリ４０２間のデータ転送速度ｒｘ＿ｓｐｅｅｄ１、画像メモリ４０２→ＨＤＤ４０８間のデータ転送速度ｒｘ＿ｓｐｅｅｄ２（以上、データ入力時）、ＨＤＤ４０８→画像メモリ４０２間のデータ転送速度ｔｘ＿ｓｐｅｅｄ１、画像メモリ４０２→像形成部１０２（ＦＡＸ部１０３）間のデータ転送速度ｔｘ＿ｓｐｅｅｄ２、などを固有の特性値として、例えばシステム制御部１０７を構成する不図示の不揮発性化されたメモリに予め保存している。
そのデータ転送が完了すると予想される予想転送完了時間は、データ量ｄａｔａ１とデータを転送する経路、その経路により決まるデータ転送速度などを考慮して計算する。例えば読取部１０１が出力する画像データをＨＤＤ４０８に保存する場合には、その予想転送完了時間ｅｘｐｅｃｔ＿ｔｉｍｅは、
ｅｘｐｅｃｔ＿ｔｉｍｅ＝ｄａｔａ１／ｒｘ＿ｓｐｅｅｄ１＋ｄａｔａ１／ｒｘ＿ｓｐｅｅｄ２＋ｗａｉｔ＿ｔｉｍｅ
より計算し、例えばＨＤＤ４０８に保存された画像データを像形成部１０２に出力する場合には、その予想転送完了時間ｅｘｐｅｃｔ＿ｔｉｍｅは、
ｅｘｐｅｃｔ＿ｔｉｍｅ＝ｄａｔａ１／ｔｘ＿ｓｐｅｅｄ１＋ｄａｔａ１／ｔｘ＿ｓｐｅｅｄ２＋ｗａｉｔ＿ｔｉｍｅ
より計算する。ここでｗａｉｔ＿ｔｉｍｅは、実際にデータ転送を行っている以外で必要な待ち時間である。それは以下のように、そのときの動作状態によって変化する。
ｗａｉｔ＿ｔｉｍｅ＝ＷＡＩＴ＿ＤＲＡＭ＋ＷＡＩＴ＿ＨＤＤ＋α
ここで、ＷＡＩＴ＿ＤＲＡＭは、画像メモリ４０２が他の要求によって先に占有されていた場合に、開放されてその要求に対して使用できるようになるまでの時間であり、現在データ転送中である転送要求の予想転送完了時間の残り時間や、それ以外の現在、待ちとなっている他の転送要求の有無、それが有ればその予想転送完了時間などを考慮して計算する。ＷＡＩＴ＿ＨＤＤは、ＨＤＤ４０８が他の転送要求によって先に占有されていた場合に、開放されてその要求に対して使用できるようになるまでの時間である。時間ＷＡＩＴ＿ＤＲＡＭと同様な方法で計算する。αはそれ以外のオーバーヘッドに要する時間であり、最悪値（最長の時間）を固定値として使用する。
上記待ち時間ｗａｉｔ＿ｔｉｍｅは、例えばメモリ制御部４０３が時間ＷＡＩＴ＿ＤＲＡＭ、ＷＡＩＴ＿ＨＤＤを必要に応じて計算して求め、システム制御部１０７に通知する。予想転送完了時間ｅｘｐｅｃｔ＿ｔｉｍｅは、メモリ制御部４０３から通知された待ち時間ｗａｉｔ＿ｔｉｍｅを用いてシステム制御部１０７が計算する。それを計算するうえで必要なデータ量ｄａｔａ１は、データ転送を要求した要求元から取得する。
【００１８】
システム制御部１０７は、データ転送要求時には，予めデータ転送を完了させるべき時間である転送完了時間ｃｏｍｐｌｅｔｅ＿ｔｉｍｅを必要に応じて指定する。その時間ｃｏｍｐｌｅｔｅ＿ｔｉｍｅは、データ量と、データの転送先、或いは転送元で求められている最低のデータ転送速度と、を基に計算される時間である。その時間ｃｏｍｐｌｅｔｅ＿ｔｉｍｅを予想転送完了時間ｅｘｐｅｃｔ＿ｔｉｍｅと比較することにより、実際のデータ転送が転送完了時間内に完了するか否か判断する。
データ転送を時分割処理で行うと、要求されたデータ転送を行うことによって他の転送要求における予想転送完了時間が変化することがある。このことから、その時間内に完了すると判断すると、更に、転送要求を受け付けた際の予想転送完了時間を再度、計算して、その転送要求を受け付けても転送完了時間内にデータ転送が完了しなくなる転送要求が存在しないことを確認できた場合に、新たな転送要求を受け付けるようにしている。このような判断・確認は、転送要求が新たにされる度に行うことにより、その転送完了時間内にデータ転送が全ての転送要求で完了すると判断できた場合に、その転送要求を受け付けている。受け付けた転送要求は図７に示すような待ち行列で管理する。転送要求を受け付けなかった場合、その要求を行った要求元にその旨を通知する。
そのように新たな転送要求を受け付ける場合、データを転送する、或いはそのデータが転送される各部１０１〜１０３では、常に処理速度を実質的に低下させることなく、行うべき処理を最適に行えるようになる。このため、常に高い生産性を維持できることとなる。
【００１９】
その待ち行列には、図７に示すように、転送要求を区別するためのＩＤ、その要求を行った要求元、現在の状態，転送の対象とするデータ量、転送完了時間、などの情報を、転送要求を受け付ける度に登録している。それにより、順番に従って、シーケンシャルに転送要求を処理していくようになっている。その待ち行列では、転送完了時間はデータ転送を完了すべき時刻で表している。転送の開始、その転送の終了、と状態が変化する毎に，その要求に対する転送状態はＩＤとともに要求元に通知する。
待ち行列に登録された転送要求は任意に順番を入れ換える事ができる。また、要求を待ち行列から削除する事で，その転送要求の動作を禁止することもできる。待ち行列から削除した場合にはキャンセルしたことをＩＤとともに要求元に通知する。本実施の形態では、この待ち行列を入力側（記憶部１０５にデータを転送）、出力側といったように、複数、用意する事により同時に複数の入出力のデータ転送を実現できるようにさせている。
なお、本実施の形態では、転送完了時間内にデータ転送が全ての転送要求で完了すると判断できた場合にのみ、新たな転送要求を受け付けるようにしているが、そのように判断できることを条件に、データ転送を開始するタイミングを決定してそれを受け付けるようにしても良い。或いは、転送要求における重要度を考慮して、つまり、削除、或いはデータ転送の開始の繰り下げが可能な転送要求は待ち行列から削除するか、或いはそのデータ転送の開始を遅らせる形の対応を考慮して、その受け付けを行うようにしても良い。
本実施の形態では、各部１０１〜１０３がデータ処理手段に対応しているが、そのデータ処理手段の数や種類などは、本実施の形態に限定されるものではない。本発明は、様々な種類のデータ処理手段を複数、搭載したデータ処理装置に広く適用させることができる。
上述したような画像形成装置（データ処理装置）、或いはその変形例の動作を実現させるようなプログラムは、ＣＤ−ＲＯＭ、ＤＶＤ或いは光磁気ディスク等の記録媒体に記録させて配布しても良い。或いは、公衆網等で用いられる伝送媒体を介して、そのプログラムの一部、若しくは全部を配信するようにしても良い。そのようにした場合には、ユーザはプログラムを取得して既存のデータ処理装置にロードすることにより、その装置に本発明を適用させることができる。このことから、記録媒体は、プログラムを配信する装置がアクセスできるものであっても良い。
【００２０】
【発明の効果】
以上説明したように本発明は、少なくとも搭載された第１、或いは第２のデータ処理手段が行う処理のために共有のメモリにアクセスする場合に、そのアクセスに伴うデータ転送を完了すべき転送完了時間を必要に応じて指定し、その時点でのメモリへのアクセス状況を考慮して、そのアクセスに伴うデータ転送の完了に要すると予想される予想転送完了時間を計算し、指定した転送完了時間、及び計算した予想転送完了時間に基づいて、第１、或いは第２のデータ処理手段が行う処理のためのメモリへのアクセスを管理する。それにより、データ転送に要する時間の制約が存在していても、その制約を常に満たす形でメモリへのアクセス、そのアクセスに伴うデータ転送を行えることとなる。このため、各データ処理手段は常に処理速度を実質的に低下させることなく、行うべき処理を最適に行えるようになり、データ処理装置は常に高い生産性を維持することができる。
【図面の簡単な説明】
【図１】本実施の形態によるデータ処理装置（デジタル複合機）の構成図である。
【図２】原稿台に裁置された原稿の画像の読取方を説明する図である。
【図３】読取部のＩＰＵよる画像データの出力方法を説明するタイミングチャートである。
【図４】記憶部の構成を示す図である。
【図５】記憶部のメモリ制御部の構成を示す図である。
【図６】記憶部を構成する符号転送ＤＭＡＣのディスクリプタによるアクセス動作（データ転送動作）を説明するための図である。
【図７】システム制御部が管理する待ち行列を説明する図である。
【符号の説明】
１０１　　読取部
１０２　　像形成部
１０３　　ＦＡＸ部
１０５　　記憶部
１０６　　セレクタ部
１０７　　システム制御部
４０１　　画像入出力ＤＭＡＣ
４０２　　画像メモリ
４０３　　メモリ制御部
４０４　　画像転送ＤＭＡＣ
４０５　　符号転送ＤＭＡＣ
４０６　　圧縮伸長器
４０７　　ＨＤＤＣ
４０８　　ＨＤＤ
【図１】
2004106428.tif 000003
【図２】
2004106428.tif 000004
【図３】
2004106428.tif 000005
【図４】
2004106428.tif 000006
【図５】
2004106428.tif 000007
【図６】
2004106428.tif 000008
【図７】
2004106428.tif 000009