(57)【特許請求の範囲】
【請求項１】
複数のデバイスによる主記憶装置へのアクセスを制御して、画像読取装置から主走査ライン毎のラインデータとして入力される読取画像情報を前記主記憶装置に転送する画像情報転送装置であって、
前記複数のデバイス夫々からの前記主記憶装置へのアクセス要求を、前記複数のデバイス夫々に設定された優先度に応じて制御するアクセス制御部と、
前記主記憶装置へ転送された前記読取画像情報の情報量をカウントする転送量カウント部と、
前記読取画像情報の前記主記憶装置への転送が開始されてからの期間をカウントするタイマカウント部と、
前記アクセス制御部における前記画像読取装置に関連するデバイスの優先度を設定する優先度設定部とを含み、
前記優先度設定部は、
前記画像読取装置から入力される前記読取画像情報の前記主記憶装置への転送開始に際して、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも高く設定し、
前記主記憶装置へ転送された前記読取画像情報の情報量のカウント値が、所定のライン数に対応する情報量に達した場合に、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも低く設定し、
前記読取画像情報の前記主記憶装置への転送が開始されてからの期間のカウント値が所定のライン数に対応するライン周期に達した場合に、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも高く設定することを特徴とする画像情報転送装置。
【請求項２】
前記優先度設定部は、
前記主記憶装置へ転送された前記読取画像情報の情報量のカウント値が、１ライン分の情報量に達した場合に、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも低く設定し、
前記読取画像情報の前記主記憶装置への転送が開始されてからの期間のカウント値が１ライン分のライン周期に達した場合に、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも高く設定することを特徴とする請求項１に記載の画像情報転送装置。
【請求項３】
前記アクセス制御部における前記画像読取装置に関連するデバイスの優先度を切り替えるライン数を設定するライン数設定部を含み、
前記優先度設定部は、
前記主記憶装置へ転送された前記読取画像情報の情報量のカウント値が、前記設定されたライン数に対応する情報量に達した場合に、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも低く設定し、
前記読取画像情報の前記主記憶装置への転送が開始されてからの期間のカウント値が、前記設定されたライン数に対応するライン周期に達した場合に、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも高く設定することを特徴とする請求項１に記載の画像情報転送装置。
【請求項４】
前記ライン数設定部は、前記主記憶装置に転送された前記読取画像情報を処理する画像処理部の、処理単位に対応するライン数を、前記アクセス制御部における前記画像読取装置に関連するデバイスの優先度を切り替えるライン数として設定することを特徴とする請求項３に記載の画像情報転送装置。
【請求項５】
前記優先度設定部は、前記画像読取装置において少なくとも１ページ分蓄積された読取画像情報が前記画像読取装置から入力される場合において、前記主記憶装置へ転送された前記読取画像情報の情報量のカウント値が、所定のライン数に対応する情報量に達した場合に、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも低く設定することを特徴とする請求項１乃至４いずれか１項に記載の画像情報転送装置。
【請求項６】
前記優先度設定部は、前記主記憶装置へ転送された前記読取画像情報の情報量のカウント値が、所定のライン数に対応する情報量に達した場合に、前記画像読取装置に関連するデバイスからの前記主記憶装置へのアクセスを禁止するように前記画像読取装置に関連するデバイスの優先度を設定することを特徴とする請求項１乃至５いずれか１項に記載の画像情報転送装置。
【請求項７】
請求項１乃至６いずれか１項に記載の画像情報転送装置を含むことを特徴とする画像処理装置。
【請求項８】
複数のデバイスによる主記憶装置へのアクセスを制御して、画像読取装置から主走査ライン毎のラインデータとして入力される読取画像情報を前記主記憶装置に転送する画像情報転送制御方法であって、
前記複数のデバイス夫々からの前記主記憶装置へのアクセス要求を、前記複数のデバイス夫々に設定された優先度に応じて制御し、
前記画像読取装置から入力される前記読取画像情報の前記主記憶装置への転送開始に際して、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも高く設定し、
前記主記憶装置へ転送された前記読取画像情報の情報量をカウントし、
前記読取画像情報の前記主記憶装置への転送が開始されてからの期間をカウントし、
前記主記憶装置へ転送された前記読取画像情報の情報量のカウント値が、所定のライン数に対応する情報量に達した場合に、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも低く設定し、
前記読取画像情報の前記主記憶装置への転送が開始されてからの期間のカウント値が所定のライン数に対応するライン周期に達した場合に、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも高く設定することを特徴とする画像情報転送制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像情報転送装置、画像処理装置及び画像情報転送制御方法に関し、特に、スキャンによって読み取った画像を所定量蓄積して一括してメモリに転送する場合の処理に関する。
【背景技術】
【０００２】
近年、情報の電子化が推進される傾向にあり、電子化された情報の出力に用いられるプリンタやファクシミリ及び書類の電子化に用いるスキャナ等の画像処理装置は欠かせない機器となっている。このような画像処理装置は、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能な複合機として構成されることが多い。
【０００３】
このような画像処理装置のうち、情報の電子化に用いられるスキャナにおいては、スキャンにより読み取られた画像がライン単位で一定の間隔毎に生成される。このように一定の間隔毎に生成される画像（以降、ラインデータとする）は、一定の間隔毎にメモリへの転送を完了する必要があり、これが完了しない場合、次のタイミングのラインデータによって未転送のラインデータが上書きされ、欠陥のある異常画像となってしまう。
【０００４】
同様に、電子化された情報の出力に用いられるプリンタにおいても、画像形成出力するべき画像のデータ、即ちラインデータを、ライン単位で一定の間隔毎に画像形成出力用のプロッタに出力する必要があり、ラインデータが一定の間隔毎にプロッタに出力されない場合、プロッタにおける用紙の搬送スピードに対して形成するべき画像の準備が間に合わず、そのラインの画像が正しく形成されずに異常画像となる。
【０００５】
複数の画像処理機能を含む複合機においては、スキャナ、プロッタに加えて他の画像処理機能をバスマスターとして含み、各バスマスターが共有メモリにアクセスして夫々の機能を実行する。そして、複合機においては、上述したような制約を満たすため、スキャナ及びプロッタのメモリアクセスへの優先順位を高く設定することにより、各バスマスターのアクセス要求を調停しつつ不具合を回避するような制御が行われている（例えば、特許文献１参照）。
【０００６】
スキャナ及びプロッタによるメモリアクセスは、上述したような一定の間隔、即ち、画像のライン間隔毎に発生し、実際のメモリアクセス期間はライン間隔よりも短い。そのため、優先順位の低い他のバスマスターは、スキャナ及びプロッタによるメモリアクセスが完了した後、次のライン間隔のタイミングまでの期間にメモリアクセスを実行する。即ち、特許文献１に開示されたような調停方法を用いる場合、スキャナ及びプロッタよりも優先順位の低い他のバスマスターであっても、ライン間隔毎に順番にメモリアクセスが可能となる。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
近年、原稿の両面を同時に読み取ることができるスキャナが用いられることがある。このようなスキャナにおいては、一方の面若しくは両面についての読取画像をローカルメモリに蓄積しておき、１ページ分の画像が蓄積された段階で１ページ分まとめてメモリに転送する方法が検討されている。
【０００８】
このような画像の転送方法を従来のバスの調停方法において用いる場合、１ページ分の画像情報がメモリに転送される間、スキャナによってバスが占有されることとなる。その結果、他のバスマスターがメモリアクセス不能となる期間が長くなってしまい、他のバスマスターによって実現される画像処理機能が妨げられてしまう。
【０００９】
他のバスマスターとしては、例えば、スキャナから入力された画像を処理して保存用の画像を生成する機能や、プロッタによる画像形成出力用の画像を生成する機能等を実現する画像処理部がある。そして、この画像処理部がメモリアクセス不能である期間が長くなると、処理するべき画像情報がメモリに格納されているにも関わらず、画像情報を読み出すことが出来ずに待機する期間が長くなるという問題が生じる。
【００１０】
尚、上述したような課題は、原稿の両面を同時読み取り可能なスキャナにおいて特に顕著であるが、それに限らず、１ページ分のスキャン画像をローカルメモリに蓄積した上で、１ページ分まとめてメモリに転送する場合であれば、同様に課題となり得る。また、ローカルメモリに蓄積する画像の範囲は１ページ分に限らず、他のバスマスターによるメモリアクセスが長期間に亘って不可能となるような所定以上のライン数であれば同様に課題となり得る。
【００１１】
本発明は、上記実情を考慮してなされたものであり、スキャンによって読み取られて生成された画像情報が所定量蓄積された上で、まとめてメモリに転送されるような場合において、他のバスマスターによる画像処理機能の処理効率を維持することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明の一態様は、複数のデバイスによる主記憶装置へのアクセスを制御して、画像読取装置から主走査ライン毎のラインデータとして入力される読取画像情報を前記主記憶装置に転送する画像情報転送装置であって、前記複数のデバイス夫々からの前記主記憶装置へのアクセス要求を、前記複数のデバイス夫々に設定された優先度に応じて制御するアクセス制御部と、前記主記憶装置へ転送された前記読取画像情報の情報量をカウントする転送量カウント部と、前記読取画像情報の前記主記憶装置への転送が開始されてからの期間をカウントするタイマカウント部と、前記アクセス制御部における前記画像読取装置に関連するデバイスの優先度を設定する優先度設定部とを含み、前記優先度設定部は、前記画像読取装置から入力される前記読取画像情報の前記主記憶装置への転送開始に際して、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも高く設定し、前記主記憶装置へ転送された前記読取画像情報の情報量のカウント値が、所定のライン数に対応する情報量に達した場合に、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも低く設定し、前記読取画像情報の前記主記憶装置への転送が開始されてからの期間のカウント値が所定のライン数に対応するライン周期に達した場合に、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも高く設定することを特徴とする。
【００１３】
また、本発明の他の態様は、画像処理装置であって、上記画像情報転送装置を含むことを特徴とする。
【００１４】
また、本発明の更に他の態様は、複数のデバイスによる主記憶装置へのアクセスを制御して、画像読取装置から主走査ライン毎のラインデータとして入力される読取画像情報を前記主記憶装置に転送する画像情報転送制御方法であって、前記複数のデバイス夫々からの前記主記憶装置へのアクセス要求を、前記複数のデバイス夫々に設定された優先度に応じて制御し、前記画像読取装置から入力される前記読取画像情報の前記主記憶装置への転送開始に際して、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも高く設定し、前記主記憶装置へ転送された前記読取画像情報の情報量をカウントし、前記読取画像情報の前記主記憶装置への転送が開始されてからの期間をカウントし、前記主記憶装置へ転送された前記読取画像情報の情報量のカウント値が、所定のライン数に対応する情報量に達した場合に、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも低く設定し、前記読取画像情報の前記主記憶装置への転送が開始されてからの期間のカウント値が所定のライン数に対応するライン周期に達した場合に、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも高く設定することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、スキャンによって読み取られて生成された画像情報が所定量蓄積された上で、まとめてメモリに転送されるような場合において、他のバスマスターによる画像処理機能の処理効率を維持することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態に係る画像処理装置の全体構成を示す図である。
【図２】本発明の実施形態に係るコントローラの構成を示す図である。
【図３】本発明の実施形態に係るライン周期とメモリアクセスタイミングとの関係を示す図である。
【図４】蓄積された読取画像情報を一括してメモリに転送する場合のライン周期とメモリアクセスタイミングとの関係を示す図である。
【図５】本発明の実施形態に係るコントローラの動作を示すフローチャートである。
【図６】本発明の他の実施形態に係るコントローラの構成を示す図である。
【図７】本発明の他の実施形態に係るライン周期とメモリアクセスタイミングとの関係を示す図である。
【図８】本発明の他の実施形態に係るコントローラの動作を示すフローチャートである。
【発明を実施するための形態】
【００１７】
実施の形態１．
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、スキャナ及びプロッタを含む複合機としての画像処理装置を例として説明する。図１は、本実施形態に係る画像処理装置１の全体構成を示すブロック図である。図１に示すように、本実施形態に係る画像処理装置１は、コントローラ１００、スキャナユニット２００及びプロッタユニット３００を含む。
【００１８】
コントローラ１００は、画像処理装置１の本体部分であり、スキャナ画像転送装置１０１、プロッタ画像転送装置１０２、ＣＰＵ（Ｃｅｎｔｏｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０３、画像処理部１０４及び共有メモリ１０５が、バス１０６を介して接続されて構成されている。また、バス１０６は、各バスマスターからの共有メモリ１０５へのアクセス要求を調停してアクセスの順番を制御するアービタ１０７によって制御されている。
【００１９】
スキャナ画像転送装置１０１は、スキャナユニット２００において原稿が読み取られて生成された画像情報を取得し、共有メモリ１０５に格納する。その際、スキャナ画像転送装置１０１は、アービタ１０７にメモリアクセス要求を行い、アービタ１０７によってメモリアクセスが許可されると、共有メモリ１０５への画像情報の格納を実行する。即ち、アービタ１０７が画像情報転送装置として機能する。スキャナ画像転送装置１０１が共有メモリ１０５に画像情報を格納する際の、アービタ１０７によるアクセス要求の調停処理が、本実施形態に係る要旨の１つである。
【００２０】
プロッタ画像転送装置１０２は、プロッタユニット３００において画像形成出力を実行させるために、共有メモリ１０５から画像情報を読み出してプロッタユニット３００に画像情報を入力する。その際、プロッタ画像転送装置１０２は、アービタ１０７にメモリアクセス要求を行い、アービタ１０７によってメモリアクセスが許可されると、共有メモリ１０５からの画像情報の読み出し及びプロッタユニット３００への画像情報の入力を実行する。
【００２１】
ＣＰＵ１０３は、コントローラ１００全体の動作を制御するための演算装置である。画像処理部１０４は、スキャナユニット２００によって原稿が読み取られて生成された画像情報を処理して保存用の画像を生成する機能や、プロッタユニット３００による画像形成出力用の画像を生成する機能等を実行する。
【００２２】
共有メモリ１０５は、情報の高速な読み書きが可能な不揮発性記憶媒体であり、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）によって実現される。共有メモリ１０５は、ＣＰＵ１０３が様々な機能を実現するためのプログラムがロードされる他、ＣＰＵ１０３が処理するデータを一次的に格納するための作業領域並びに上述したようにスキャナユニット２００及びプロッタユニット３００との間でやりとりされる画像情報の一次的な保存領域として用いられる。
【００２３】
スキャナユニット２００は、原稿を光学的に走査して読み取って画像情報を生成する画像読取装置であり、スキャナ２０１、画像入力装置２０２及びローカルメモリ２０３を含む。スキャナ２０１は、光学情報を電気信号に変換する光電変換素子を含む画像読取部である。本実施形態に係るスキャナ２０１は、原稿の表面と裏面とを同時に読み取ることが可能な機構を含む。
【００２４】
画像入力装置２０２は、スキャナ２０１によって生成された読取画像情報を、コントローラ１００のスキャナ画像転送装置１０１に送信する。ここで、上述したように、本実施形態に係るスキャナユニット２００は、原稿の両面を同時に読み取る機能を有する。そして、画像入力装置２０２は、原稿の片面についての読取画像を、主走査ライン毎のラインデータとしてリアルタイムでスキャナ画像転送装置１０１に送信し、もう一方の面についての読取画像をローカルメモリ２０３に蓄積して、片面についての読取画像の送信が完了した後にまとめて送信する。この処理に対応するコントローラ１００側での処理が本実施形態に係る要旨の１つである。
【００２５】
ローカルメモリ２０３は、上述したように、画像入力装置２０２がリアルタイムでコントローラ側に送信しない側の面の読取画像情報を一次的に記憶する記憶媒体であり、共有メモリ１０５と同様のＲＡＭや、ＮＶ−ＲＡＭ（Ｎｏｎ  Ｖｏｌａｔｉｌｅ−ＲＡＭ）等が用いられる。
【００２６】
尚、本実施形態においては、上述したように、原稿の一方の面の読取画像がコントローラ１００側へリアルタイムで送信され、他方の面の読取画像がローカルメモリ２０３に蓄積された後にまとめて送信される。これは、スキャナユニット２００とコントローラ１００との間のインタフェースの情報転送速度や、コントローラ１００内におけるバス１０６の情報転送速度と、スキャナ２０１による画像読取のライン周期毎に生成されるラインデータ、即ち、ライン周期毎に読み取られる読取画像情報の情報量との関係による。
【００２７】
例えば、ライン周期毎のラインデータ量が、スキャナユニット２００とコントローラ１００との間のインタフェースの情報転送速度や、コントローラ１００内におけるバス１０６の情報転送速度によって転送可能な容量を超えてしまう場合、情報に欠損が生じることとなる。また、ライン周期毎のラインデータ量が、スキャナユニット２００とコントローラ１００との間のインタフェースの情報転送速度や、コントローラ１００内におけるバス１０６の情報転送速度によって転送可能な容量以内であっても、大部分を占めることとなってしまう場合、他のモジュールとの関係で不具合が発生することが考えられる。
【００２８】
このような問題を回避するため、少なくとも原稿の一方の面については読取画像のリアルタイム転送を行わず、一度ローカルメモリ２０３に蓄積した上でコントローラ１００側に転送される。この他、スキャナユニット２００の進歩により、ライン周期毎のラインデータ量が増加する傾向にあるため、原稿の一方の面だけでなく、両方の面の読取画像をローカルメモリ２０３に格納した上で、後から転送するようにしても良い。
【００２９】
プロッタユニット３００は、用紙に対して画像形成出力を実行する画像形成装置であり、プロッタ３０１及び画像出力装置３０２を含む。プロッタ３０１は、入力された画像情報に基づいて画像形成出力を実行するエンジンであり、電子写真方式の画像形成機構や、インクジェット方式の画像形成機構が用いられる。画像出力装置３０２は、プロッタ画像転送装置１０２から入力される画像情報を取得し、プロッタ３０１を制御して画像形成出力を実行させる。
【００３０】
このような画像処理装置１が複写機として動作する場合、まず、ユーザの操作に基づいてスキャナユニット２００が原稿のスキャンを実行し、読取画像情報を生成する。スキャナユニット２００によって生成された読取画像情報は、上述したようなリアルタイム転送やローカルメモリ２０３に蓄積された後の転送により、共有メモリ１０５に格納される。
【００３１】
共有メモリ１０５に読取画像情報が格納されると、画像処理部１０４が、画像形成出力用の画像情報を生成するための画像処理を、共有メモリ１０５に格納された読取画像情報に基づいて実行する。画像処理部１０４による画像処理によって生成された画像形成出力用の画像情報は、プロッタ画像転送装置１０２を介してプロッタユニット３００に送信される。これにより、プロッタユニット３００において画像形成出力が実行される。
【００３２】
尚、図１においては、スキャナユニット２００及びプロッタユニット３００を含み、少なくとも複写機として機能する画像処理装置１を例として説明している。この他、例えばネットワークＩ／Ｆ等を備え、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）から印刷ジョブを受信して画像形成出力を実行するプリンタとしての機能を持たせることや、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の記憶装置を備え、スキャンによって生成された画像情報を蓄積するサーバとしての機能を持たせることも可能である。
【００３３】
次に、コントローラ１００におけるバス１０６を介したメモリアクセス制御について説明する。図２は、本実施形態に係るアービタ１０７によるバス１０６を介したメモリアクセス制御の詳細を示す図である。図２に示すように、本実施形態に係るアービタ１０７は、内部にメモリアクセス制御部１０８、データカウンタ１０９及び優先度制御部１１０を含む。
【００３４】
メモリアクセス制御部１０８は、図２に示すように、複数のポートを有し、夫々のポートにスキャナ画像転送装置１０１、プロッタ画像転送装置１０２、画像処理部１０４及びＣＰＵ１０３等のバスマスターの何れかが接続されている。また、バス１０６を介して共有メモリ１０５と接続されている。これにより、メモリアクセス制御部１０８は、夫々のポートに接続されたバスマスターからのメモリアクセス要求に応じて各バスマスターと共有メモリ１０５との情報のやり取りを制御するアクセス制御部として機能する。
【００３５】
メモリアクセス制御部１０８の複数のポートには夫々メモリアクセス優先度が設定されており、メモリアクセス制御部１０８は、夫々のバスマスターからのメモリアクセス要求に応じて、夫々のバスマスターが接続されているポートの優先度に基づいてメモリアクセス権を付与するように調停を行う。
【００３６】
データカウンタ１０９は、メモリアクセス制御部１０８に含まれる夫々のポートのうち、スキャナ画像転送装置１０１が接続されたポートのデータ転送を監視してデータの転送量をカウントするデータ転送量カウンタと、上述したライン周期をカウントするライン周期カウンタとを含む。即ち、本実施形態に係るデータカウンタ１０９は、転送量カウント部として機能するデータ転送量カウンタ及びタイマカウント部として機能するライン周期カウンタを含む。データカウンタ１０９は、上記データ転送量カウンタ及びライン周期カウンタのカウント結果に応じた信号を優先度制御部１１０に対して出力する。
【００３７】
優先度制御部１１０は、メモリアクセス制御部１０８に含まれる夫々のポートのうち、スキャナ画像転送装置１０１が接続されたポートのメモリアクセス優先度を制御する優先度設定部である。メモリアクセス制御部１０８に含まれる夫々のポートのメモリアクセス優先度は、夫々のポートに接続されたバスマスターに応じて原則として固定である。これに対して、スキャナ画像転送装置１０１が接続されたポートのメモリアクセス優先度が、データカウンタ１０９及び優先度制御部１１０の処理に応じて変更されることが、本実施形態に係る要旨である。
【００３８】
次に、上述したライン周期と、スキャナ画像転送装置１０１による読取画像情報の共有メモリ１０５への転送期間との関係について説明する。図３（ａ）、（ｂ）は、画像入力装置２０２による上述した２通りの読取画像情報の転送態様のうち、主走査ライン毎のラインデータとして、ライン周期毎にリアルタイムでスキャナ画像転送装置１０１に送信する場合を示す図である。図３（ａ）は、上述したように、原稿の片面についての読取画像を、主走査ライン毎のラインデータとして、ライン周期毎にリアルタイムでスキャナ画像転送装置１０１に送信する場合を示すタイミングチャートである。
【００３９】
スキャナユニット２００においてスキャンが実行されると、画像入力装置２０２を介して、スキャナ画像転送装置１０１がメモリアクセス制御部１０８に対してライン周期毎にメモリアクセス要求を行う。そして、メモリアクセス制御部１０８において、スキャナ画像転送装置１０１が接続されたポートのメモリアクセス優先度は、原則として最も高く設定されている。そのため、図３（ａ）に示すように、ライン周期毎に、スキャナ画像転送装置１０１による１ラインのラインデータの共有メモリ１０５への転送が優先して実行され、その後、スキャナ画像転送装置１０１以外のモジュールによる共有メモリ１０５へのアクセスが実行される。
【００４０】
他方、図３（ｂ）は、仮に、原稿の両面についてリアルタイムの転送を行った場合の例を示すタイミングチャートである。図３（ｂ）の例においては、原稿の両面についてリアルタイムの転送を行う場合、ライン周期においてスキャナ画像転送装置１０１以外のデバイスに許可される共有メモリ１０５のアクセス期間が非常に短くなる。そのため、少なくとも原稿の一方の面については、リアルタイム転送を行わずに、ローカルメモリ２０３に蓄積された読取画像情報を後から転送するような処理が行われる。
【００４１】
次に、ローカルメモリ２０３に蓄積された読取画像情報を後からまとめて転送する場合の、ライン周期とスキャナ画像転送装置１０１から共有メモリ１０５への情報転送期間との関係について、図４を参照して説明する。ローカルメモリ２０３に蓄積された読取画像情報は、少なくとも１ページ分の読取画像情報である。そして、上述したように、スキャナ画像転送装置１０１が接続されたポートのメモリアクセス優先度は最も高く設定されている。
【００４２】
従って、ローカルメモリ２０３に蓄積された読取画像情報の共有メモリ１０５への転送のためにメモリアクセス要求が行われると、図４に示すように、少なくとも１ページ分に相当するライン数に応じたライン周期の間、スキャナ画像転送装置１０１が共有メモリ１０５へのアクセス権を占有することとなり、その間、他のデバイスは待機状態となる。
【００４３】
図４に示すような状態は、スキャナ画像転送装置１０１以外のデバイス、例えば、画像処理部１０４において、実行するべき画像処理があるにも関わらず、画像情報が格納されている共有メモリ１０５にアクセスできないために、処理を待機するような状態を生じることとなり、画像処理装置１全体の処理効率の低下を招き、結果的にユーザの利便性を損なうこととなる。このような課題を解決するための、データカウンタ１０９及び優先度制御部１１０によって提供される機能が本実施形態に係る要旨である。
【００４４】
図５は、本実施形態に係るスキャナ画像転送装置１０１から共有メモリ１０５への読取画像情報の転送動作に係るコントローラ１００の動作を示すフローチャートである。図５に示す動作は、ＣＰＵ１０３による制御に基づき、ローカルメモリ２０３に蓄積された読取画像情報の共有メモリ１０５への転送開始が要求されることが前提となる。
【００４５】
図５に示すように、共有メモリ１０５への読取画像情報の転送開始に際して、ＣＰＵ１０３は、データカウンタ１０９のデータ転送量カウンタ及びライン周期カウンタのカウント値を初期化する（Ｓ５０１）。また、ＣＰＵ１０３は、データ転送量カウンタに対して１ライン分のデータ量をカウントアップ値として設定すると共に、ライン周期カウンタに対して図３（ａ）、（ｂ）及び図４に示すようなライン周期をカウントアップ値として設定する（Ｓ５０２）。また、優先度制御部１１０は、ＣＰＵ１０３の制御に従い、メモリアクセス制御部１０８のポート１、即ちスキャナ画像転送装置１０１が接続されたポートのメモリアクセス優先度を最優先、即ち他のバスマスターデバイスよりも高い優先度に設定する（Ｓ５０３）。
【００４６】
Ｓ５０３までの初期設定を終えると、ＣＰＵ１０３は、データカウンタ１０９に転送開始を通知する（Ｓ５０４）。これにより、データカウンタ１０９のライン周期カウンタがタイマのカウントを開始する。そして、スキャナ画像転送装置１０１がスキャナユニット２００から入力された読取画像情報の転送を開始すると（Ｓ５０５）、データカウンタ１０９のデータ転送量カウンタが、ラインデータの先頭データの転送を検知し、データ転送量のカウントを開始する（Ｓ５０６）。
【００４７】
スキャナ画像転送装置１０１から共有メモリ１０５への読取画像情報の転送処理は、所定のデータ単位毎に実行される。このデータ単位とは、例えば１２８Ｂ（バイト）である。そして、このデータ単位の転送が完了する毎に、メモリアクセス制御部１０８は、各バスマスターからのメモリアクセス要求を各ポートのメモリアクセス優先度に従って調停し、メモリアクセスを許可するバスマスターを決定する。
【００４８】
上述したように、スキャナ画像転送装置１０１が接続されているポート１のメモリアクセス優先度は最優先となっているため、スキャナ画像転送装置１０１が読取画像情報の転送を開始すると、他のバスマスターのモジュールによるアクセス要求があったとしても、スキャナ画像転送装置１０１が共有メモリ１０５への読取画像の転送を継続し、それに伴ってデータカウンタ１０９のデータ転送量カウンタが転送量をカウントすると共に、ライン周期カウンタがタイマをカウントする。
【００４９】
そして、データカウンタ１０９のデータ転送量カウンタが、Ｓ５０２において設定された１ライン分のデータ量をカウントすると（Ｓ５０７／ＹＥＳ）、その通知を受けたＣＰＵ１０３が、ローカルメモリ２０３に蓄積された読取画像情報を全て転送し終えたかを判断し（Ｓ５０８）、全ての読取画像情報の転送が完了していれば（Ｓ５０８／ＹＥＳ）、そのまま処理を終了する。尚、１ライン分のデータ量をカウントしたデータ転送量カウンタは、カウント値をリセットする。
【００５０】
他方、Ｓ５０８の判断において、全ての読取画像情報の転送が完了していなければ（Ｓ５０８／ＮＯ）、データカウンタ１０９からの通知信号を受けた優先度制御部１１０が、スキャナ画像転送装置１０１が接続されているポート１のメモリアクセス優先度を最下位に、即ち他のバスマスターデバイスよりも低い優先度に設定する（Ｓ５０９）。これにより、スキャナ画像転送装置１０１による共有メモリ１０５へのアクセス要求は、他のバスマスターからのアクセス要求よりも優先度が低くなり、スキャナ画像転送装置１０１から共有メモリ１０５への読取画像情報の転送を実質的にストップする。
【００５１】
その後も、データカウンタ１０９のライン周期カウンタは、タイマのカウントを継続し、タイマのカウント値がＳ５０２において設定されたライン周期に到達すると（Ｓ５１０／ＹＥＳ）、カウント値をリセットすると共に、ライン周期に達したことを優先度制御部１１０に通知する。これにより、優先度制御部１１０は、Ｓ５０９において最下位に設定したポート１のメモリアクセス優先度を最優先に、即ち、他のバスマスターデバイスよりも高い優先度に設定する（Ｓ５１１）。
【００５２】
Ｓ５１１の処理によりポート１のメモリアクセス優先度が最優先に設定されると、メモリアクセス制御部１０８による調停処理により、スキャナ画像転送装置１０１にメモリアクセスが許可され、再度スキャナ画像転送装置１０１による共有メモリ１０５への読取画像情報の転送が開始される。これにより、データカウンタ１０９のデータ転送量カウンタによってデータ転送量がカウントされる。そして、データカウンタ１０９のデータ転送量カウンタがＳ５０２において設定された１ライン分のデータ量をカウントすると、Ｓ５０７からの処理を繰り返す。以下、処理を繰り返すことにより、本実施形態の要旨に係る処理が実行される。
【００５３】
このような動作により、本来図４に示すようにスキャナ画像転送装置１０１が長期間にわたってメモリアクセス権を占有することになる読取画像情報の一括転送動作においても、図３（ａ）と同様に、ライン周期毎に１ライン分のラインデータが転送されることとなる。そのため、図３（ａ）に示すように、スキャナ画像転送装置１０１以外のバスマスターが長期間にわたってメモリアクセス不能となるようなことがなく、上述したような課題を解決することができる。
【００５４】
ここで、Ｓ５０９〜Ｓ５１１の期間においても、他にアクセス要求をするバスマスターが無い場合は、スキャナ画像転送装置１０１が読取画像情報を転送する。その結果、ライン周期が経過する前に（Ｓ５１０／ＮＯ）、１ライン分のデータがカウントされる場合もあり得る（Ｓ５１２／ＹＥＳ）。この場合、Ｓ５０７において「ＹＥＳ」となった場合と同様にＳ５０８の判断に進む。
【００５５】
Ｓ５１２において「ＹＥＳ」となった後にＳ５０８において「ＮＯ」となった場合、フロー上ではＳ５０９の優先度を最下位に設定する処理を通過するが、この時点では既に優先度は最下位となっているため、特に何の処理を行うことなくＳ５１０の処理に進む。このような処理によれば、他のバスマスターによるアクセス要求の状態により、連続するライン周期のうち一部の周期では図３（ｂ）のような状態となる。しかしながら、他のバスマスターによるアクセス要求が少ない結果であり、スキャナ画像転送装置１０１が不必要にバスを占有しているわけではないため、問題とはならない。これにより、より短い期間で読取画像情報の転送を終えることができる。
【００５６】
以上、説明したように、本実施形態に係る画像情報転送装置としてのアービタ１０８を用いることにより、スキャンによって読み取られて生成された画像情報が所定量蓄積された上で、まとめてメモリに転送されるような場合において、他のバスマスターによる画像処理機能の処理効率を維持することが可能となる。
【００５７】
尚、図１においては、スキャナ画像転送装置１０１、プロッタ画像転送装置１０２、ＣＰＵ１０３、画像処理部１０４及び共有メモリ１０５が全てバス１０６に直接接続されているように示しているが、これは一例である。例えば、ＣＰＵ１０３及び共有メモリ１０５は、ブリッジを介してローカルバスに接続されているような場合もあり得る。このような場合であっても、本実施形態の要旨に係るアービタ１０７によるメモリアクセス要求の調整処理を適用することにより、同様の効果を得ることが可能である。
【００５８】
実施の形態２．
実施の形態１においては、データカウンタ１０９のカウント値を、１ライン分のデータ量及びライン周期に設定することにより、ローカルメモリ２０３に蓄積された読取画像情報を一括して共有メモリ１０５に転送する場合であっても、図３（ａ）に示すようなライン周期毎に１ライン分の読取画像情報を転送する態様を実現する場合を例として説明した。
【００５９】
しかしながら、画像処理部１０４の処理内容によっては、画像処理の単位が複数ライン毎である場合がある。例えば、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）圧縮を行う場合、画像処理部１０４は、１６ラインまたは８ライン単位で画像の圧縮処理を行う。そのため、共有メモリ１０５に所定のライン数分のラインデータが転送されるまで処理を開始することができない。また、画像の回転処理の場合、画像の回転を行うブロックの副走査ライン数が共有メモリに蓄積されるまで、回転処理を開始することができない。
【００６０】
このような場合において、実施の形態１のようにライン周期毎に１ライン分の読み取り画像情報を転送する態様を採用すると、画像処理部１０４が処理を開始することができず非効率な制御となってしまう。本実施形態においては、このような課題を解決するための構成について説明する。尚、実施の形態１と同様の符号を付す構成にういては、実施の形態１と同一または相当部を示すものとし、詳細な説明を省略する。
【００６１】
図６は、本実施形態に係るアービタ１０７によるバス１０６を介したメモリアクセス制御の詳細を示す図であり、実施の形態１の図２に相当する図である。図６に示すように、本実施形態に係るアービタ１０８は実施の形態１と略同一の構成を有するが、ライン数設定部１１１を含む点が実施の形態１と異なる。
【００６２】
ライン数設定部１１１は、データカウンタ１０９のデータ転送量カウンタ及びライン周期カウンタのカウントアップ値を決定するためのライン数が内部の記憶媒体に記憶され、そのライン数をデータカウンタ１０９に入力する。実施の形態１においては、１ライン分のデータ量及び１ラインのライン周期をカウントアップ値として設定したが、本実施形態においては、画像処理部１０４による画像処理の内容に応じて、複数ライン分のデータ量及びライン周期がカウントアップ値として設定される。
【００６３】
ライン数設定部１１１へのライン数の設定は、ＣＰＵ１０３によって実行される。ＣＰＵ１０３は、ライン数設定部１１１へのライン数の設定に際して、スキャナ画像転送装置１０１から共有メモリ１０５に転送された読取画像情報を処理する画像処理部１０４の処理内容を参照することができる。そして、ＣＰＵ１０３は、画像処理部１０４が実行する画像処理における処理単位のライン数に応じて、ライン数設定部１１１にライン数を設定する。これにより、好適なライン数設定を自動的に実現することが可能となる。
【００６４】
尚、カウンタ設定部１１１が複数ライン分に応じてカウントアップ値を設定する際のライン数は、例えば、上述したＪＰＥＧ圧縮処理の場合、１６ラインまたは８ラインである。
【００６５】
次に、本実施形態に係るスキャナ画像転送装置１０１から共有メモリ１０５への読取画像情報の転送動作に係るコントローラ１００の動作について説明する。本実施形態においても、実施の形態１の図５と同様に処理が実行される。ここで、本実施形態においては、Ｓ５０２における処理が異なる。
【００６６】
本実施形態に係るＳ５０２において、データカウンタ１０９は、ＣＰＵ１０３の制御に従ってカウントアップ値を設定するが、その際、実施の形態１のような１ライン分のデータ量及び１ライン分のライン周期ではなく、カウンタ設定部１１１に設定されているライン数に応じたデータ量及び複数ライン分のライン周期をカウントアップ値として設定する。以降、実施の形態１の図５と同様の処理が実行される。
【００６７】
このような処理により、Ｓ５０７においては、ライン数設定部１１１に設定されたライン数分のデータ量が転送されるまで読取画像情報の転送が繰り返される。また、Ｓ５１０においては、設定されたライン数分のライン周期が経過するまで、ポート１のメモリアクセス優先度が最下位に維持され、設定されたライン数分のライン周期が経過すると、ポート１のメモリアクセス優先度が最優先に再設定される。
【００６８】
図７は、本実施形態に係るスキャナ画像転送装置１０１から共有メモリ１０５への読取画像情報の転送動作に係るコントローラ１００の動作が実行された場合の、ライン周期と読取画像の共有メモリ１０５への転送期間との関係を示すタイミングチャートである。図７は、ライン数設定部１１１にライン数が“４”として設定されている場合を例として示している。
【００６９】
図７に示すように、４ライン分のラインデータが転送されるまでは、スキャナ画像転送装置１０１による読取画像情報の共有メモリ１０５への転送が継続される。そして、４ライン分のラインデータの転送が完了すると、スキャナ画像転送装置１０１が接続されたポート１のメモリアクセス優先度が最下位となるため、スキャナ画像転送装置１０１以外のバスマスターがメモリアクセスを行う期間となり、その状態が、４ライン分のライン周期が経過するまで維持される。
【００７０】
以上説明したように、本実施形態に係る画像情報転送装置としてのアービタ１０８を用いることにより、ローカルメモリ２０３に蓄積された読取画像情報が一括して共有メモリ１０５に転送される場合において、読取画像の共有メモリ１０５への転送を区切る単位を所定のライン数毎とすることができる。従って、画像処理部１０４が所定のライン数毎に画像処理を行うような場合において、画像処理部１０４等の他のバスマスターの処理効率を低下させることを防ぐことができる。
【００７１】
尚、実施の形態１、２においては、ローカルメモリ２０３に蓄積された読取画像情報が共有メモリ１０５に転送される場合において、図５に示すような動作が実行され、結果的に図３（ａ）に示すようなタイミングが実現されることを例として説明した。これに対して、スキャナユニット２００からライン周期毎にリアルタイムでラインデータが入力され、元から図３（ａ）に示すようなタイミングが実現されるような場合であっても、上述した本実施形態に係る機能を有効にした状態で特に弊害なく読取画像の共有メモリ１０５への転送を実行することが可能である。
【００７２】
この場合、１ライン分のラインデータの転送が完了して、スキャナ画像転送装置１０１からのメモリアクセス要求が無い期間において、本実施形態に係る機能により、ポート１のメモリアクセス優先度が最下位に設定されていることとなる。その後、ライン周期が経過して、再度スキャナユニット２００からラインデータが入力される際には、本実施形態に係る機能によってポート１のメモリアクセス優先度が最優先に設定されるため、上述したように、特に弊害を招くことなく読取画像情報の転送を実行することができる。
【００７３】
他方、上述したリアルタイム転送の際には、本実施形態に係る機能、即ち、データカウンタ１０９によるカウント処理及び優先度制御部１１０による優先度の設定処理を無効にしても良い。本実施形態に係る機能を無効にするためには、少なくとも、優先度制御部１１０による、図５のＳ５０９の処理、即ち、１ライン分若しくは所定ライン数分の読取画像情報が転送された場合に、ポート１のメモリアクセス優先度を最下位に設定する処理の有効／無効を切り替えれば良い。これにより、不要な処理を削減することが可能となる。
【００７４】
その他の実施形態．
上記実施形態においては、図５のＳ５０９において、スキャナ画像転送装置１０１が接続されているポート１のメモリアクセス優先度を最下位に設定する場合を例として説明した。これにより、１ライン周期において１ライン分の読取画像情報が転送された後は、他のバスマスターからのアクセス要求がある場合は、そちらを優先し、他のバスマスターからのアクセス要求が無ければ読取画像情報が転送されるような処理となる。
【００７５】
これに対して、装置の運用形態としてよりシンプルで安定稼働の容易性を考慮すると、１ライン周期において１ライン分の読取画像情報が転送された後は、スキャナ画像転送装置１０１が接続されているポート１のメモリアクセス優先度をゼロに、即ち、ポート１によるメモリアクセスを禁止する態様も考えられる。以下、そのような例について説明する。
【００７６】
図８は、本実施形態に係るスキャナ画像転送装置１０１から共有メモリ１０５への読取画像情報の転送動作に係るコントローラ１００の動作を示すフローチャートである。図８に示すように、Ｓ８０１〜Ｓ８０８までは、図５のＳ５０１〜Ｓ５０８までと同様に処理が実行される。
【００７７】
Ｓ８０８の判断において、全ての読取画像情報の転送が完了していなければ（Ｓ８０８／ＮＯ）、データカウンタ１０９からの通紙信号を受けた優先度制御部１１０が、スキャナ画像転送装置１０１が接続されているポート１のメモリアクセス優先度をゼロに設定する（Ｓ８０９）。これにより、スキャナ画像転送装置１０１による共有メモリ１０５へのアクセス要求は、他のバスマスターからのアクセス要求の有無に関わらず拒否されることとなる。
【００７８】
その後、タイマのカウントを継続するデータカウンタ１０９のライン周期カウンタのカウント値がライン周期に到達すると（Ｓ８１０／ＹＥＳ）、Ｓ５１１と同様に、優先度制御部１１０は、Ｓ８０９においてゼロに設定したポート１のメモリアクセス優先度を最優先に、即ち、他のバスマスターデバイスよりも高い優先度に設定する（Ｓ８１１）。
【００７９】
Ｓ８１１の処理によりポート１のメモリアクセス優先度が最優先に設定されると、メモリアクセス制御部１０８による調停処理により、スキャナ画像転送装置１０１にメモリアクセスが許可され、再度スキャナ画像転送装置１０１による共有メモリ１０５への読取画像情報の転送が開始される（Ｓ８０５）。以降、Ｓ８０５からの処理を繰り返すことにより、本実施形態の要旨に係る処理が実行される。
【００８０】
このように、本実施形態に係る処理によれば、１ライン周期において１ライン分の読取画像情報が転送されると、以降そのライン周期の間は、スキャナ画像転送装置１０１によるメモリアクセスが禁止される。従って、他のバスマスターによるメモリアクセス要求に応じて図３（ａ）の状態と図３（ｂ）のような状態とが混在することがなく、図３（ａ）の状態で装置動作を安定させることができる。また、本実施形態によれば、メモリアクセス優先度の設定等が不要であるため、装置構成や処理の簡略化を図ることができる。
【００８１】
尚、本実施形態によれば、Ｓ８０９において、スキャナ画像転送装置１０１が接続されているポート１のメモリアクセス優先度をゼロに設定するが、実施の形態１、２と同様に、他のデバイスよりも優先度を低く設定していることに変わりはない。
【符号の説明】
【００８２】
１  画像形成装置
１００  コントローラ
１０１  スキャナ画像転送装置
１０２  プロッタ画像転送装置
１０３  ＣＰＵ
１０４  画像処理部
１０５  共有メモリ
１０６  バス
１０７  アービタ
１０８  メモリアクセス制御部
１０９  データカウンタ
１１０  優先度制御部
１１１  ライン数設定部
２００  スキャナユニット
２０１  スキャナ
２０２  画像入力装置
２０３  ローカルメモリ
３００  プロッタユニット
３０１  プロッタ
３０２  画像出力装置
【先行技術文献】
【特許文献】
【００８３】
【特許文献１】特開２０００−３３２９２４号公報
【図１】
0005862174.tif 000002
【図２】
0005862174.tif 000003
【図３】
0005862174.tif 000004
【図４】
0005862174.tif 000005
【図５】
0005862174.tif 000006
【図６】
0005862174.tif 000007
【図７】
0005862174.tif 000008
【図８】
0005862174.tif 000009