説明

画像情報転送装置、画像処理装置及び画像情報転送制御方法

【課題】スキャンによって読み取られて生成された画像情報が所定量蓄積された上で、まとめてメモリに転送されるような場合において、他のバスマスターによる画像処理機能の処理効率を維持する。
【解決手段】読取画像情報の共有メモリ105への転送開始に際して、スキャナ画像転送装置101のメモリアクセス優先度を他のデバイスよりも高く設定し、転送された読取画像情報の情報量のカウント値が、所定のライン数に対応する情報量に達した場合に、スキャナ画像転送装置101のメモリアクセス優先度を他のデバイスよりも低く設定し、読取画像情報の共有メモリ105への転送が開始されてからの期間のカウント値が所定のライン数に対応するライン周期に達した場合に、スキャナ画像転送装置101のメモリアクセス優先度を他のデバイスよりも高く設定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像情報転送装置、画像処理装置及び画像情報転送制御方法に関し、特に、スキャンによって読み取った画像を所定量蓄積して一括してメモリに転送する場合の処理に関する。
【背景技術】
【0002】
近年、情報の電子化が推進される傾向にあり、電子化された情報の出力に用いられるプリンタやファクシミリ及び書類の電子化に用いるスキャナ等の画像処理装置は欠かせない機器となっている。このような画像処理装置は、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能な複合機として構成されることが多い。
【0003】
このような画像処理装置のうち、情報の電子化に用いられるスキャナにおいては、スキャンにより読み取られた画像がライン単位で一定の間隔毎に生成される。このように一定の間隔毎に生成される画像(以降、ラインデータとする)は、一定の間隔毎にメモリへの転送を完了する必要があり、これが完了しない場合、次のタイミングのラインデータによって未転送のラインデータが上書きされ、欠陥のある異常画像となってしまう。
【0004】
同様に、電子化された情報の出力に用いられるプリンタにおいても、画像形成出力するべき画像のデータ、即ちラインデータを、ライン単位で一定の間隔毎に画像形成出力用のプロッタに出力する必要があり、ラインデータが一定の間隔毎にプロッタに出力されない場合、プロッタにおける用紙の搬送スピードに対して形成するべき画像の準備が間に合わず、そのラインの画像が正しく形成されずに異常画像となる。
【0005】
複数の画像処理機能を含む複合機においては、スキャナ、プロッタに加えて他の画像処理機能をバスマスターとして含み、各バスマスターが共有メモリにアクセスして夫々の機能を実行する。そして、複合機においては、上述したような制約を満たすため、スキャナ及びプロッタのメモリアクセスへの優先順位を高く設定することにより、各バスマスターのアクセス要求を調停しつつ不具合を回避するような制御が行われている(例えば、特許文献1参照)。
【0006】
スキャナ及びプロッタによるメモリアクセスは、上述したような一定の間隔、即ち、画像のライン間隔毎に発生し、実際のメモリアクセス期間はライン間隔よりも短い。そのため、優先順位の低い他のバスマスターは、スキャナ及びプロッタによるメモリアクセスが完了した後、次のライン間隔のタイミングまでの期間にメモリアクセスを実行する。即ち、特許文献1に開示されたような調停方法を用いる場合、スキャナ及びプロッタよりも優先順位の低い他のバスマスターであっても、ライン間隔毎に順番にメモリアクセスが可能となる。
【発明の概要】
【発明が解決しようとする課題】
【0007】
近年、原稿の両面を同時に読み取ることができるスキャナが用いられることがある。このようなスキャナにおいては、一方の面若しくは両面についての読取画像をローカルメモリに蓄積しておき、1ページ分の画像が蓄積された段階で1ページ分まとめてメモリに転送する方法が検討されている。
【0008】
このような画像の転送方法を従来のバスの調停方法において用いる場合、1ページ分の画像情報がメモリに転送される間、スキャナによってバスが占有されることとなる。その結果、他のバスマスターがメモリアクセス不能となる期間が長くなってしまい、他のバスマスターによって実現される画像処理機能が妨げられてしまう。
【0009】
他のバスマスターとしては、例えば、スキャナから入力された画像を処理して保存用の画像を生成する機能や、プロッタによる画像形成出力用の画像を生成する機能等を実現する画像処理部がある。そして、この画像処理部がメモリアクセス不能である期間が長くなると、処理するべき画像情報がメモリに格納されているにも関わらず、画像情報を読み出すことが出来ずに待機する期間が長くなるという問題が生じる。
【0010】
尚、上述したような課題は、原稿の両面を同時読み取り可能なスキャナにおいて特に顕著であるが、それに限らず、1ページ分のスキャン画像をローカルメモリに蓄積した上で、1ページ分まとめてメモリに転送する場合であれば、同様に課題となり得る。また、ローカルメモリに蓄積する画像の範囲は1ページ分に限らず、他のバスマスターによるメモリアクセスが長期間に亘って不可能となるような所定以上のライン数であれば同様に課題となり得る。
【0011】
本発明は、上記実情を考慮してなされたものであり、スキャンによって読み取られて生成された画像情報が所定量蓄積された上で、まとめてメモリに転送されるような場合において、他のバスマスターによる画像処理機能の処理効率を維持することを目的とする。
【課題を解決するための手段】
【0012】
上記課題を解決するために、本発明の一態様は、複数のデバイスによる主記憶装置へのアクセスを制御して、画像読取装置から主走査ライン毎のラインデータとして入力される読取画像情報を前記主記憶装置に転送する画像情報転送装置であって、前記複数のデバイス夫々からの前記主記憶装置へのアクセス要求を、前記複数のデバイス夫々に設定された優先度に応じて制御するアクセス制御部と、前記主記憶装置へ転送された前記読取画像情報の情報量をカウントする転送量カウント部と、前記読取画像情報の前記主記憶装置への転送が開始されてからの期間をカウントするタイマカウント部と、前記アクセス制御部における前記画像読取装置に関連するデバイスの優先度を設定する優先度設定部とを含み、前記優先度設定部は、前記画像読取装置から入力される前記読取画像情報の前記主記憶装置への転送開始に際して、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも高く設定し、前記主記憶装置へ転送された前記読取画像情報の情報量のカウント値が、所定のライン数に対応する情報量に達した場合に、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも低く設定し、前記読取画像情報の前記主記憶装置への転送が開始されてからの期間のカウント値が所定のライン数に対応するライン周期に達した場合に、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも高く設定することを特徴とする。
【0013】
また、本発明の他の態様は、画像処理装置であって、上記画像情報転送装置を含むことを特徴とする。
【0014】
また、本発明の更に他の態様は、複数のデバイスによる主記憶装置へのアクセスを制御して、画像読取装置から主走査ライン毎のラインデータとして入力される読取画像情報を前記主記憶装置に転送する画像情報転送制御方法であって、前記複数のデバイス夫々からの前記主記憶装置へのアクセス要求を、前記複数のデバイス夫々に設定された優先度に応じて制御し、前記画像読取装置から入力される前記読取画像情報の前記主記憶装置への転送開始に際して、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも高く設定し、前記主記憶装置へ転送された前記読取画像情報の情報量をカウントし、前記読取画像情報の前記主記憶装置への転送が開始されてからの期間をカウントし、前記主記憶装置へ転送された前記読取画像情報の情報量のカウント値が、所定のライン数に対応する情報量に達した場合に、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも低く設定し、前記読取画像情報の前記主記憶装置への転送が開始されてからの期間のカウント値が所定のライン数に対応するライン周期に達した場合に、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも高く設定することを特徴とする。
【発明の効果】
【0015】
本発明によれば、スキャンによって読み取られて生成された画像情報が所定量蓄積された上で、まとめてメモリに転送されるような場合において、他のバスマスターによる画像処理機能の処理効率を維持することができる。
【図面の簡単な説明】
【0016】
【図1】本発明の実施形態に係る画像処理装置の全体構成を示す図である。
【図2】本発明の実施形態に係るコントローラの構成を示す図である。
【図3】本発明の実施形態に係るライン周期とメモリアクセスタイミングとの関係を示す図である。
【図4】蓄積された読取画像情報を一括してメモリに転送する場合のライン周期とメモリアクセスタイミングとの関係を示す図である。
【図5】本発明の実施形態に係るコントローラの動作を示すフローチャートである。
【図6】本発明の他の実施形態に係るコントローラの構成を示す図である。
【図7】本発明の他の実施形態に係るライン周期とメモリアクセスタイミングとの関係を示す図である。
【図8】本発明の他の実施形態に係るコントローラの動作を示すフローチャートである。
【発明を実施するための形態】
【0017】
実施の形態1.
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、スキャナ及びプロッタを含む複合機としての画像処理装置を例として説明する。図1は、本実施形態に係る画像処理装置1の全体構成を示すブロック図である。図1に示すように、本実施形態に係る画像処理装置1は、コントローラ100、スキャナユニット200及びプロッタユニット300を含む。
【0018】
コントローラ100は、画像処理装置1の本体部分であり、スキャナ画像転送装置101、プロッタ画像転送装置102、CPU(Centoral Processing Unit)103、画像処理部104及び共有メモリ105が、バス106を介して接続されて構成されている。また、バス106は、各バスマスターからの共有メモリ105へのアクセス要求を調停してアクセスの順番を制御するアービタ107によって制御されている。
【0019】
スキャナ画像転送装置101は、スキャナユニット200において原稿が読み取られて生成された画像情報を取得し、共有メモリ105に格納する。その際、スキャナ画像転送装置101は、アービタ107にメモリアクセス要求を行い、アービタ107によってメモリアクセスが許可されると、共有メモリ105への画像情報の格納を実行する。即ち、アービタ107が画像情報転送装置として機能する。スキャナ画像転送装置101が共有メモリ105に画像情報を格納する際の、アービタ107によるアクセス要求の調停処理が、本実施形態に係る要旨の1つである。
【0020】
プロッタ画像転送装置102は、プロッタユニット300において画像形成出力を実行させるために、共有メモリ105から画像情報を読み出してプロッタユニット300に画像情報を入力する。その際、プロッタ画像転送装置102は、アービタ107にメモリアクセス要求を行い、アービタ107によってメモリアクセスが許可されると、共有メモリ105からの画像情報の読み出し及びプロッタユニット300への画像情報の入力を実行する。
【0021】
CPU103は、コントローラ100全体の動作を制御するための演算装置である。画像処理部104は、スキャナユニット200によって原稿が読み取られて生成された画像情報を処理して保存用の画像を生成する機能や、プロッタユニット300による画像形成出力用の画像を生成する機能等を実行する。
【0022】
共有メモリ105は、情報の高速な読み書きが可能な不揮発性記憶媒体であり、RAM(Random Access Memory)によって実現される。共有メモリ105は、CPU103が様々な機能を実現するためのプログラムがロードされる他、CPU103が処理するデータを一次的に格納するための作業領域並びに上述したようにスキャナユニット200及びプロッタユニット300との間でやりとりされる画像情報の一次的な保存領域として用いられる。
【0023】
スキャナユニット200は、原稿を光学的に走査して読み取って画像情報を生成する画像読取装置であり、スキャナ201、画像入力装置202及びローカルメモリ203を含む。スキャナ201は、光学情報を電気信号に変換する光電変換素子を含む画像読取部である。本実施形態に係るスキャナ201は、原稿の表面と裏面とを同時に読み取ることが可能な機構を含む。
【0024】
画像入力装置202は、スキャナ201によって生成された読取画像情報を、コントローラ100のスキャナ画像転送装置101に送信する。ここで、上述したように、本実施形態に係るスキャナユニット200は、原稿の両面を同時に読み取る機能を有する。そして、画像入力装置202は、原稿の片面についての読取画像を、主走査ライン毎のラインデータとしてリアルタイムでスキャナ画像転送装置101に送信し、もう一方の面についての読取画像をローカルメモリ203に蓄積して、片面についての読取画像の送信が完了した後にまとめて送信する。この処理に対応するコントローラ100側での処理が本実施形態に係る要旨の1つである。
【0025】
ローカルメモリ203は、上述したように、画像入力装置202がリアルタイムでコントローラ側に送信しない側の面の読取画像情報を一次的に記憶する記憶媒体であり、共有メモリ105と同様のRAMや、NV−RAM(Non Volatile−RAM)等が用いられる。
【0026】
尚、本実施形態においては、上述したように、原稿の一方の面の読取画像がコントローラ100側へリアルタイムで送信され、他方の面の読取画像がローカルメモリ203に蓄積された後にまとめて送信される。これは、スキャナユニット200とコントローラ100との間のインタフェースの情報転送速度や、コントローラ100内におけるバス106の情報転送速度と、スキャナ201による画像読取のライン周期毎に生成されるラインデータ、即ち、ライン周期毎に読み取られる読取画像情報の情報量との関係による。
【0027】
例えば、ライン周期毎のラインデータ量が、スキャナユニット200とコントローラ100との間のインタフェースの情報転送速度や、コントローラ100内におけるバス106の情報転送速度によって転送可能な容量を超えてしまう場合、情報に欠損が生じることとなる。また、ライン周期毎のラインデータ量が、スキャナユニット200とコントローラ100との間のインタフェースの情報転送速度や、コントローラ100内におけるバス106の情報転送速度によって転送可能な容量以内であっても、大部分を占めることとなってしまう場合、他のモジュールとの関係で不具合が発生することが考えられる。
【0028】
このような問題を回避するため、少なくとも原稿の一方の面については読取画像のリアルタイム転送を行わず、一度ローカルメモリ203に蓄積した上でコントローラ100側に転送される。この他、スキャナユニット200の進歩により、ライン周期毎のラインデータ量が増加する傾向にあるため、原稿の一方の面だけでなく、両方の面の読取画像をローカルメモリ203に格納した上で、後から転送するようにしても良い。
【0029】
プロッタユニット300は、用紙に対して画像形成出力を実行する画像形成装置であり、プロッタ301及び画像出力装置302を含む。プロッタ301は、入力された画像情報に基づいて画像形成出力を実行するエンジンであり、電子写真方式の画像形成機構や、インクジェット方式の画像形成機構が用いられる。画像出力装置302は、プロッタ画像転送装置102から入力される画像情報を取得し、プロッタ301を制御して画像形成出力を実行させる。
【0030】
このような画像処理装置1が複写機として動作する場合、まず、ユーザの操作に基づいてスキャナユニット200が原稿のスキャンを実行し、読取画像情報を生成する。スキャナユニット200によって生成された読取画像情報は、上述したようなリアルタイム転送やローカルメモリ203に蓄積された後の転送により、共有メモリ105に格納される。
【0031】
共有メモリ105に読取画像情報が格納されると、画像処理部104が、画像形成出力用の画像情報を生成するための画像処理を、共有メモリ105に格納された読取画像情報に基づいて実行する。画像処理部104による画像処理によって生成された画像形成出力用の画像情報は、プロッタ画像転送装置102を介してプロッタユニット300に送信される。これにより、プロッタユニット300において画像形成出力が実行される。
【0032】
尚、図1においては、スキャナユニット200及びプロッタユニット300を含み、少なくとも複写機として機能する画像処理装置1を例として説明している。この他、例えばネットワークI/F等を備え、PC(Personal Computer)から印刷ジョブを受信して画像形成出力を実行するプリンタとしての機能を持たせることや、HDD(Hard Disk Drive)等の記憶装置を備え、スキャンによって生成された画像情報を蓄積するサーバとしての機能を持たせることも可能である。
【0033】
次に、コントローラ100におけるバス106を介したメモリアクセス制御について説明する。図2は、本実施形態に係るアービタ107によるバス106を介したメモリアクセス制御の詳細を示す図である。図2に示すように、本実施形態に係るアービタ107は、内部にメモリアクセス制御部108、データカウンタ109及び優先度制御部110を含む。
【0034】
メモリアクセス制御部108は、図2に示すように、複数のポートを有し、夫々のポートにスキャナ画像転送装置101、プロッタ画像転送装置102、画像処理部104及びCPU103等のバスマスターの何れかが接続されている。また、バス106を介して共有メモリ105と接続されている。これにより、メモリアクセス制御部108は、夫々のポートに接続されたバスマスターからのメモリアクセス要求に応じて各バスマスターと共有メモリ105との情報のやり取りを制御するアクセス制御部として機能する。
【0035】
メモリアクセス制御部108の複数のポートには夫々メモリアクセス優先度が設定されており、メモリアクセス制御部108は、夫々のバスマスターからのメモリアクセス要求に応じて、夫々のバスマスターが接続されているポートの優先度に基づいてメモリアクセス権を付与するように調停を行う。
【0036】
データカウンタ109は、メモリアクセス制御部108に含まれる夫々のポートのうち、スキャナ画像転送装置101が接続されたポートのデータ転送を監視してデータの転送量をカウントするデータ転送量カウンタと、上述したライン周期をカウントするライン周期カウンタとを含む。即ち、本実施形態に係るデータカウンタ109は、転送量カウント部として機能するデータ転送量カウンタ及びタイマカウント部として機能するライン周期カウンタを含む。データカウンタ109は、上記データ転送量カウンタ及びライン周期カウンタのカウント結果に応じた信号を優先度制御部110に対して出力する。
【0037】
優先度制御部110は、メモリアクセス制御部108に含まれる夫々のポートのうち、スキャナ画像転送装置101が接続されたポートのメモリアクセス優先度を制御する優先度設定部である。メモリアクセス制御部108に含まれる夫々のポートのメモリアクセス優先度は、夫々のポートに接続されたバスマスターに応じて原則として固定である。これに対して、スキャナ画像転送装置101が接続されたポートのメモリアクセス優先度が、データカウンタ109及び優先度制御部110の処理に応じて変更されることが、本実施形態に係る要旨である。
【0038】
次に、上述したライン周期と、スキャナ画像転送装置101による読取画像情報の共有メモリ105への転送期間との関係について説明する。図3(a)、(b)は、画像入力装置202による上述した2通りの読取画像情報の転送態様のうち、主走査ライン毎のラインデータとして、ライン周期毎にリアルタイムでスキャナ画像転送装置101に送信する場合を示す図である。図3(a)は、上述したように、原稿の片面についての読取画像を、主走査ライン毎のラインデータとして、ライン周期毎にリアルタイムでスキャナ画像転送装置101に送信する場合を示すタイミングチャートである。
【0039】
スキャナユニット200においてスキャンが実行されると、画像入力装置202を介して、スキャナ画像転送装置101がメモリアクセス制御部108に対してライン周期毎にメモリアクセス要求を行う。そして、メモリアクセス制御部108において、スキャナ画像転送装置101が接続されたポートのメモリアクセス優先度は、原則として最も高く設定されている。そのため、図3(a)に示すように、ライン周期毎に、スキャナ画像転送装置101による1ラインのラインデータの共有メモリ105への転送が優先して実行され、その後、スキャナ画像転送装置101以外のモジュールによる共有メモリ105へのアクセスが実行される。
【0040】
他方、図3(b)は、仮に、原稿の両面についてリアルタイムの転送を行った場合の例を示すタイミングチャートである。図3(b)の例においては、原稿の両面についてリアルタイムの転送を行う場合、ライン周期においてスキャナ画像転送装置101以外のデバイスに許可される共有メモリ105のアクセス期間が非常に短くなる。そのため、少なくとも原稿の一方の面については、リアルタイム転送を行わずに、ローカルメモリ203に蓄積された読取画像情報を後から転送するような処理が行われる。
【0041】
次に、ローカルメモリ203に蓄積された読取画像情報を後からまとめて転送する場合の、ライン周期とスキャナ画像転送装置101から共有メモリ105への情報転送期間との関係について、図4を参照して説明する。ローカルメモリ203に蓄積された読取画像情報は、少なくとも1ページ分の読取画像情報である。そして、上述したように、スキャナ画像転送装置101が接続されたポートのメモリアクセス優先度は最も高く設定されている。
【0042】
従って、ローカルメモリ203に蓄積された読取画像情報の共有メモリ105への転送のためにメモリアクセス要求が行われると、図4に示すように、少なくとも1ページ分に相当するライン数に応じたライン周期の間、スキャナ画像転送装置101が共有メモリ105へのアクセス権を占有することとなり、その間、他のデバイスは待機状態となる。
【0043】
図4に示すような状態は、スキャナ画像転送装置101以外のデバイス、例えば、画像処理部104において、実行するべき画像処理があるにも関わらず、画像情報が格納されている共有メモリ105にアクセスできないために、処理を待機するような状態を生じることとなり、画像処理装置1全体の処理効率の低下を招き、結果的にユーザの利便性を損なうこととなる。このような課題を解決するための、データカウンタ109及び優先度制御部110によって提供される機能が本実施形態に係る要旨である。
【0044】
図5は、本実施形態に係るスキャナ画像転送装置101から共有メモリ105への読取画像情報の転送動作に係るコントローラ100の動作を示すフローチャートである。図5に示す動作は、CPU103による制御に基づき、ローカルメモリ203に蓄積された読取画像情報の共有メモリ105への転送開始が要求されることが前提となる。
【0045】
図5に示すように、共有メモリ105への読取画像情報の転送開始に際して、CPU103は、データカウンタ109のデータ転送量カウンタ及びライン周期カウンタのカウント値を初期化する(S501)。また、CPU103は、データ転送量カウンタに対して1ライン分のデータ量をカウントアップ値として設定すると共に、ライン周期カウンタに対して図3(a)、(b)及び図4に示すようなライン周期をカウントアップ値として設定する(S502)。また、優先度制御部110は、CPU103の制御に従い、メモリアクセス制御部108のポート1、即ちスキャナ画像転送装置101が接続されたポートのメモリアクセス優先度を最優先、即ち他のバスマスターデバイスよりも高い優先度に設定する(S503)。
【0046】
S503までの初期設定を終えると、CPU103は、データカウンタ109に転送開始を通知する(S504)。これにより、データカウンタ109のライン周期カウンタがタイマのカウントを開始する。そして、スキャナ画像転送装置101がスキャナユニット200から入力された読取画像情報の転送を開始すると(S505)、データカウンタ109のデータ転送量カウンタが、ラインデータの先頭データの転送を検知し、データ転送量のカウントを開始する(S506)。
【0047】
スキャナ画像転送装置101から共有メモリ105への読取画像情報の転送処理は、所定のデータ単位毎に実行される。このデータ単位とは、例えば128B(バイト)である。そして、このデータ単位の転送が完了する毎に、メモリアクセス制御部108は、各バスマスターからのメモリアクセス要求を各ポートのメモリアクセス優先度に従って調停し、メモリアクセスを許可するバスマスターを決定する。
【0048】
上述したように、スキャナ画像転送装置101が接続されているポート1のメモリアクセス優先度は最優先となっているため、スキャナ画像転送装置101が読取画像情報の転送を開始すると、他のバスマスターのモジュールによるアクセス要求があったとしても、スキャナ画像転送装置101が共有メモリ105への読取画像の転送を継続し、それに伴ってデータカウンタ109のデータ転送量カウンタが転送量をカウントすると共に、ライン周期カウンタがタイマをカウントする。
【0049】
そして、データカウンタ109のデータ転送量カウンタが、S502において設定された1ライン分のデータ量をカウントすると(S507/YES)、その通知を受けたCPU103が、ローカルメモリ203に蓄積された読取画像情報を全て転送し終えたかを判断し(S508)、全ての読取画像情報の転送が完了していれば(S508/YES)、そのまま処理を終了する。尚、1ライン分のデータ量をカウントしたデータ転送量カウンタは、カウント値をリセットする。
【0050】
他方、S508の判断において、全ての読取画像情報の転送が完了していなければ(S508/NO)、データカウンタ109からの通知信号を受けた優先度制御部110が、スキャナ画像転送装置101が接続されているポート1のメモリアクセス優先度を最下位に、即ち他のバスマスターデバイスよりも低い優先度に設定する(S509)。これにより、スキャナ画像転送装置101による共有メモリ105へのアクセス要求は、他のバスマスターからのアクセス要求よりも優先度が低くなり、スキャナ画像転送装置101から共有メモリ105への読取画像情報の転送を実質的にストップする。
【0051】
その後も、データカウンタ109のライン周期カウンタは、タイマのカウントを継続し、タイマのカウント値がS502において設定されたライン周期に到達すると(S510/YES)、カウント値をリセットすると共に、ライン周期に達したことを優先度制御部110に通知する。これにより、優先度制御部110は、S509において最下位に設定したポート1のメモリアクセス優先度を最優先に、即ち、他のバスマスターデバイスよりも高い優先度に設定する(S511)。
【0052】
S511の処理によりポート1のメモリアクセス優先度が最優先に設定されると、メモリアクセス制御部108による調停処理により、スキャナ画像転送装置101にメモリアクセスが許可され、再度スキャナ画像転送装置101による共有メモリ105への読取画像情報の転送が開始される。これにより、データカウンタ109のデータ転送量カウンタによってデータ転送量がカウントされる。そして、データカウンタ109のデータ転送量カウンタがS502において設定された1ライン分のデータ量をカウントすると、S507からの処理を繰り返す。以下、処理を繰り返すことにより、本実施形態の要旨に係る処理が実行される。
【0053】
このような動作により、本来図4に示すようにスキャナ画像転送装置101が長期間にわたってメモリアクセス権を占有することになる読取画像情報の一括転送動作においても、図3(a)と同様に、ライン周期毎に1ライン分のラインデータが転送されることとなる。そのため、図3(a)に示すように、スキャナ画像転送装置101以外のバスマスターが長期間にわたってメモリアクセス不能となるようなことがなく、上述したような課題を解決することができる。
【0054】
ここで、S509〜S511の期間においても、他にアクセス要求をするバスマスターが無い場合は、スキャナ画像転送装置101が読取画像情報を転送する。その結果、ライン周期が経過する前に(S510/NO)、1ライン分のデータがカウントされる場合もあり得る(S512/YES)。この場合、S507において「YES」となった場合と同様にS508の判断に進む。
【0055】
S512において「YES」となった後にS508において「NO」となった場合、フロー上ではS509の優先度を最下位に設定する処理を通過するが、この時点では既に優先度は最下位となっているため、特に何の処理を行うことなくS510の処理に進む。このような処理によれば、他のバスマスターによるアクセス要求の状態により、連続するライン周期のうち一部の周期では図3(b)のような状態となる。しかしながら、他のバスマスターによるアクセス要求が少ない結果であり、スキャナ画像転送装置101が不必要にバスを占有しているわけではないため、問題とはならない。これにより、より短い期間で読取画像情報の転送を終えることができる。
【0056】
以上、説明したように、本実施形態に係る画像情報転送装置としてのアービタ108を用いることにより、スキャンによって読み取られて生成された画像情報が所定量蓄積された上で、まとめてメモリに転送されるような場合において、他のバスマスターによる画像処理機能の処理効率を維持することが可能となる。
【0057】
尚、図1においては、スキャナ画像転送装置101、プロッタ画像転送装置102、CPU103、画像処理部104及び共有メモリ105が全てバス106に直接接続されているように示しているが、これは一例である。例えば、CPU103及び共有メモリ105は、ブリッジを介してローカルバスに接続されているような場合もあり得る。このような場合であっても、本実施形態の要旨に係るアービタ107によるメモリアクセス要求の調整処理を適用することにより、同様の効果を得ることが可能である。
【0058】
実施の形態2.
実施の形態1においては、データカウンタ109のカウント値を、1ライン分のデータ量及びライン周期に設定することにより、ローカルメモリ203に蓄積された読取画像情報を一括して共有メモリ105に転送する場合であっても、図3(a)に示すようなライン周期毎に1ライン分の読取画像情報を転送する態様を実現する場合を例として説明した。
【0059】
しかしながら、画像処理部104の処理内容によっては、画像処理の単位が複数ライン毎である場合がある。例えば、JPEG(Joint Photographic Experts Group)圧縮を行う場合、画像処理部104は、16ラインまたは8ライン単位で画像の圧縮処理を行う。そのため、共有メモリ105に所定のライン数分のラインデータが転送されるまで処理を開始することができない。また、画像の回転処理の場合、画像の回転を行うブロックの副走査ライン数が共有メモリに蓄積されるまで、回転処理を開始することができない。
【0060】
このような場合において、実施の形態1のようにライン周期毎に1ライン分の読み取り画像情報を転送する態様を採用すると、画像処理部104が処理を開始することができず非効率な制御となってしまう。本実施形態においては、このような課題を解決するための構成について説明する。尚、実施の形態1と同様の符号を付す構成にういては、実施の形態1と同一または相当部を示すものとし、詳細な説明を省略する。
【0061】
図6は、本実施形態に係るアービタ107によるバス106を介したメモリアクセス制御の詳細を示す図であり、実施の形態1の図2に相当する図である。図6に示すように、本実施形態に係るアービタ108は実施の形態1と略同一の構成を有するが、ライン数設定部111を含む点が実施の形態1と異なる。
【0062】
ライン数設定部111は、データカウンタ109のデータ転送量カウンタ及びライン周期カウンタのカウントアップ値を決定するためのライン数が内部の記憶媒体に記憶され、そのライン数をデータカウンタ109に入力する。実施の形態1においては、1ライン分のデータ量及び1ラインのライン周期をカウントアップ値として設定したが、本実施形態においては、画像処理部104による画像処理の内容に応じて、複数ライン分のデータ量及びライン周期がカウントアップ値として設定される。
【0063】
ライン数設定部111へのライン数の設定は、CPU103によって実行される。CPU103は、ライン数設定部111へのライン数の設定に際して、スキャナ画像転送装置101から共有メモリ105に転送された読取画像情報を処理する画像処理部104の処理内容を参照することができる。そして、CPU103は、画像処理部104が実行する画像処理における処理単位のライン数に応じて、ライン数設定部111にライン数を設定する。これにより、好適なライン数設定を自動的に実現することが可能となる。
【0064】
尚、カウンタ設定部111が複数ライン分に応じてカウントアップ値を設定する際のライン数は、例えば、上述したJPEG圧縮処理の場合、16ラインまたは8ラインである。
【0065】
次に、本実施形態に係るスキャナ画像転送装置101から共有メモリ105への読取画像情報の転送動作に係るコントローラ100の動作について説明する。本実施形態においても、実施の形態1の図5と同様に処理が実行される。ここで、本実施形態においては、S502における処理が異なる。
【0066】
本実施形態に係るS502において、データカウンタ109は、CPU103の制御に従ってカウントアップ値を設定するが、その際、実施の形態1のような1ライン分のデータ量及び1ライン分のライン周期ではなく、カウンタ設定部111に設定されているライン数に応じたデータ量及び複数ライン分のライン周期をカウントアップ値として設定する。以降、実施の形態1の図5と同様の処理が実行される。
【0067】
このような処理により、S507においては、ライン数設定部111に設定されたライン数分のデータ量が転送されるまで読取画像情報の転送が繰り返される。また、S510においては、設定されたライン数分のライン周期が経過するまで、ポート1のメモリアクセス優先度が最下位に維持され、設定されたライン数分のライン周期が経過すると、ポート1のメモリアクセス優先度が最優先に再設定される。
【0068】
図7は、本実施形態に係るスキャナ画像転送装置101から共有メモリ105への読取画像情報の転送動作に係るコントローラ100の動作が実行された場合の、ライン周期と読取画像の共有メモリ105への転送期間との関係を示すタイミングチャートである。図7は、ライン数設定部111にライン数が“4”として設定されている場合を例として示している。
【0069】
図7に示すように、4ライン分のラインデータが転送されるまでは、スキャナ画像転送装置101による読取画像情報の共有メモリ105への転送が継続される。そして、4ライン分のラインデータの転送が完了すると、スキャナ画像転送装置101が接続されたポート1のメモリアクセス優先度が最下位となるため、スキャナ画像転送装置101以外のバスマスターがメモリアクセスを行う期間となり、その状態が、4ライン分のライン周期が経過するまで維持される。
【0070】
以上説明したように、本実施形態に係る画像情報転送装置としてのアービタ108を用いることにより、ローカルメモリ203に蓄積された読取画像情報が一括して共有メモリ105に転送される場合において、読取画像の共有メモリ105への転送を区切る単位を所定のライン数毎とすることができる。従って、画像処理部104が所定のライン数毎に画像処理を行うような場合において、画像処理部104等の他のバスマスターの処理効率を低下させることを防ぐことができる。
【0071】
尚、実施の形態1、2においては、ローカルメモリ203に蓄積された読取画像情報が共有メモリ105に転送される場合において、図5に示すような動作が実行され、結果的に図3(a)に示すようなタイミングが実現されることを例として説明した。これに対して、スキャナユニット200からライン周期毎にリアルタイムでラインデータが入力され、元から図3(a)に示すようなタイミングが実現されるような場合であっても、上述した本実施形態に係る機能を有効にした状態で特に弊害なく読取画像の共有メモリ105への転送を実行することが可能である。
【0072】
この場合、1ライン分のラインデータの転送が完了して、スキャナ画像転送装置101からのメモリアクセス要求が無い期間において、本実施形態に係る機能により、ポート1のメモリアクセス優先度が最下位に設定されていることとなる。その後、ライン周期が経過して、再度スキャナユニット200からラインデータが入力される際には、本実施形態に係る機能によってポート1のメモリアクセス優先度が最優先に設定されるため、上述したように、特に弊害を招くことなく読取画像情報の転送を実行することができる。
【0073】
他方、上述したリアルタイム転送の際には、本実施形態に係る機能、即ち、データカウンタ109によるカウント処理及び優先度制御部110による優先度の設定処理を無効にしても良い。本実施形態に係る機能を無効にするためには、少なくとも、優先度制御部110による、図5のS509の処理、即ち、1ライン分若しくは所定ライン数分の読取画像情報が転送された場合に、ポート1のメモリアクセス優先度を最下位に設定する処理の有効/無効を切り替えれば良い。これにより、不要な処理を削減することが可能となる。
【0074】
その他の実施形態.
上記実施形態においては、図5のS509において、スキャナ画像転送装置101が接続されているポート1のメモリアクセス優先度を最下位に設定する場合を例として説明した。これにより、1ライン周期において1ライン分の読取画像情報が転送された後は、他のバスマスターからのアクセス要求がある場合は、そちらを優先し、他のバスマスターからのアクセス要求が無ければ読取画像情報が転送されるような処理となる。
【0075】
これに対して、装置の運用形態としてよりシンプルで安定稼働の容易性を考慮すると、1ライン周期において1ライン分の読取画像情報が転送された後は、スキャナ画像転送装置101が接続されているポート1のメモリアクセス優先度をゼロに、即ち、ポート1によるメモリアクセスを禁止する態様も考えられる。以下、そのような例について説明する。
【0076】
図8は、本実施形態に係るスキャナ画像転送装置101から共有メモリ105への読取画像情報の転送動作に係るコントローラ100の動作を示すフローチャートである。図8に示すように、S801〜S808までは、図5のS501〜S508までと同様に処理が実行される。
【0077】
S808の判断において、全ての読取画像情報の転送が完了していなければ(S808/NO)、データカウンタ109からの通紙信号を受けた優先度制御部110が、スキャナ画像転送装置101が接続されているポート1のメモリアクセス優先度をゼロに設定する(S809)。これにより、スキャナ画像転送装置101による共有メモリ105へのアクセス要求は、他のバスマスターからのアクセス要求の有無に関わらず拒否されることとなる。
【0078】
その後、タイマのカウントを継続するデータカウンタ109のライン周期カウンタのカウント値がライン周期に到達すると(S810/YES)、S511と同様に、優先度制御部110は、S809においてゼロに設定したポート1のメモリアクセス優先度を最優先に、即ち、他のバスマスターデバイスよりも高い優先度に設定する(S811)。
【0079】
S811の処理によりポート1のメモリアクセス優先度が最優先に設定されると、メモリアクセス制御部108による調停処理により、スキャナ画像転送装置101にメモリアクセスが許可され、再度スキャナ画像転送装置101による共有メモリ105への読取画像情報の転送が開始される(S805)。以降、S805からの処理を繰り返すことにより、本実施形態の要旨に係る処理が実行される。
【0080】
このように、本実施形態に係る処理によれば、1ライン周期において1ライン分の読取画像情報が転送されると、以降そのライン周期の間は、スキャナ画像転送装置101によるメモリアクセスが禁止される。従って、他のバスマスターによるメモリアクセス要求に応じて図3(a)の状態と図3(b)のような状態とが混在することがなく、図3(a)の状態で装置動作を安定させることができる。また、本実施形態によれば、メモリアクセス優先度の設定等が不要であるため、装置構成や処理の簡略化を図ることができる。
【0081】
尚、本実施形態によれば、S809において、スキャナ画像転送装置101が接続されているポート1のメモリアクセス優先度をゼロに設定するが、実施の形態1、2と同様に、他のデバイスよりも優先度を低く設定していることに変わりはない。
【符号の説明】
【0082】
1 画像形成装置
100 コントローラ
101 スキャナ画像転送装置
102 プロッタ画像転送装置
103 CPU
104 画像処理部
105 共有メモリ
106 バス
107 アービタ
108 メモリアクセス制御部
109 データカウンタ
110 優先度制御部
111 ライン数設定部
200 スキャナユニット
201 スキャナ
202 画像入力装置
203 ローカルメモリ
300 プロッタユニット
301 プロッタ
302 画像出力装置
【先行技術文献】
【特許文献】
【0083】
【特許文献1】特開2000−332924号公報

【特許請求の範囲】
【請求項1】
複数のデバイスによる主記憶装置へのアクセスを制御して、画像読取装置から主走査ライン毎のラインデータとして入力される読取画像情報を前記主記憶装置に転送する画像情報転送装置であって、
前記複数のデバイス夫々からの前記主記憶装置へのアクセス要求を、前記複数のデバイス夫々に設定された優先度に応じて制御するアクセス制御部と、
前記主記憶装置へ転送された前記読取画像情報の情報量をカウントする転送量カウント部と、
前記読取画像情報の前記主記憶装置への転送が開始されてからの期間をカウントするタイマカウント部と、
前記アクセス制御部における前記画像読取装置に関連するデバイスの優先度を設定する優先度設定部とを含み、
前記優先度設定部は、
前記画像読取装置から入力される前記読取画像情報の前記主記憶装置への転送開始に際して、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも高く設定し、
前記主記憶装置へ転送された前記読取画像情報の情報量のカウント値が、所定のライン数に対応する情報量に達した場合に、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも低く設定し、
前記読取画像情報の前記主記憶装置への転送が開始されてからの期間のカウント値が所定のライン数に対応するライン周期に達した場合に、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも高く設定することを特徴とする画像情報転送装置。
【請求項2】
前記優先度設定部は、
前記主記憶装置へ転送された前記読取画像情報の情報量のカウント値が、1ライン分の情報量に達した場合に、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも低く設定し、
前記読取画像情報の前記主記憶装置への転送が開始されてからの期間のカウント値が1ライン分のライン周期に達した場合に、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも高く設定することを特徴とする請求項1に記載の画像情報転送装置。
【請求項3】
前記アクセス制御部における前記画像読取装置に関連するデバイスの優先度を切り替えるライン数を設定するライン数設定部を含み、
前記優先度設定部は、
前記主記憶装置へ転送された前記読取画像情報の情報量のカウント値が、前記設定されたライン数に対応する情報量に達した場合に、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも低く設定し、
前記読取画像情報の前記主記憶装置への転送が開始されてからの期間のカウント値が、前記設定されたライン数に対応するライン周期に達した場合に、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも高く設定することを特徴とする請求項1に記載の画像情報転送装置。
【請求項4】
前記ライン数設定部は、前記主記憶装置に転送された前記読取画像情報を処理する画像処理部の、処理単位に対応するライン数を、前記アクセス制御部における前記画像読取装置に関連するデバイスの優先度を切り替えるライン数として設定することを特徴とする請求項3に記載の画像情報転送装置。
【請求項5】
前記優先度設定部は、前記画像読取装置において少なくとも1ページ分蓄積された読取画像情報が前記画像読取装置から入力される場合において、前記主記憶装置へ転送された前記読取画像情報の情報量のカウント値が、所定のライン数に対応する情報量に達した場合に、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも低く設定することを特徴とする請求項1乃至4いずれか1項に記載の画像情報転送装置。
【請求項6】
前記優先度設定部は、前記主記憶装置へ転送された前記読取画像情報の情報量のカウント値が、所定のライン週に対応する情報量に達した場合に、前記画像読取装置に関連するデバイスからの前記主記憶装置へのアクセスを禁止するように前記画像読取装置に関連するデバイスの優先度を設定することを特徴とする請求項1乃至5いずれか1項に記載の画像情報転送装置。
【請求項7】
請求項1乃至6いずれか1項に記載の画像情報転送装置を含むことを特徴とする画像処理装置。
【請求項8】
複数のデバイスによる主記憶装置へのアクセスを制御して、画像読取装置から主走査ライン毎のラインデータとして入力される読取画像情報を前記主記憶装置に転送する画像情報転送制御方法であって、
前記複数のデバイス夫々からの前記主記憶装置へのアクセス要求を、前記複数のデバイス夫々に設定された優先度に応じて制御し、
前記画像読取装置から入力される前記読取画像情報の前記主記憶装置への転送開始に際して、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも高く設定し、
前記主記憶装置へ転送された前記読取画像情報の情報量をカウントし、
前記読取画像情報の前記主記憶装置への転送が開始されてからの期間をカウントし、
前記主記憶装置へ転送された前記読取画像情報の情報量のカウント値が、所定のライン数に対応する情報量に達した場合に、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも低く設定し、
前記読取画像情報の前記主記憶装置への転送が開始されてからの期間のカウント値が所定のライン数に対応するライン周期に達した場合に、前記画像読取装置に関連するデバイスの優先度を他のデバイスよりも高く設定することを特徴とする画像情報転送制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate