(57)【要約】      （修正有）【課題】スキャナ及びプロッタを備える画像形成装置がスキャナ動作を実行する場合において、スキャナに係る共有メモリへのアクセスが単独で発生した際のメモリの利用効率を低下させることなく、スキャナ及びプロッタによるメモリアクセスが競合した場合の両者からのメモリアクセス速度を向上させる。【解決手段】共有メモリ１５０からプロッタ画像転送装置１２０への出力画像データの読み出しを検知し、共有メモリ１５０からプロッタ画像転送装置１２０への出力画像データの読み出しが検知された場合に、画像入力装置２２０から入力される読取画像データを分割し、分割された読取画像データを共有メモリ１５０へ書き込むためのライトアクセスと、共有メモリ１５０からプロッタ画像転送装置１２０へ出力画像データを読み出すためのリードアクセスとを制御する。【選択図】図２
2014179677.tif 000002
【特許請求の範囲】
【請求項１】
主走査ライン毎に入力される入力データを主記憶装置に書き込むためのライトアクセスと、画像形成出力するべき出力データを前記主記憶装置から主走査ライン毎に読み出すためのリードアクセスとを制御するメモリアクセス制御装置であって、
前記主記憶装置から前記出力データの読み出しを検知する読出検知部と、
前記主記憶装置から前記出力データの読み出しが検知された場合に、入力される前記入力データを分割する入力データ分割部と、
分割された前記入力データを前記主記憶装置へ書き込むためのライトアクセスと、前記主記憶装置から前記出力データを読み出すためのリードアクセスとを制御するメモリアクセス制御部と、
を備えることを特徴とするメモリアクセス制御装置。
【請求項２】
前記主記憶装置から前記出力データを読み出す出力データ読出部を備え、
前記出力データ読出部は、前記出力データの読み出し中に、前記出力データを読み出していることを前記入力データ分割部に通知することを特徴とする請求項１に記載のメモリアクセス制御装置。
【請求項３】
前記読出検知部は、メモリアクセス制御部へのリードアクセスを監視し、前記主記憶装置から前記出力データの読み出しを検知すると、一定期間、リードアクセスを検知していることを前記入力データ分割部に通知することを特徴とする請求項１に記載のメモリアクセス制御装置。
【請求項４】
前記読出検知部は、プロッタユニットに関連するデバイスに備えられることを特徴とする請求項１乃至３いずれか１項に記載のメモリアクセス制御装置。
【請求項５】
前記入力データを前記主記憶装置に転送する前に、前記入力データの所定量を一時格納部に一時的に格納する格納制御部と、
スキャナユニットから前記主記憶装置に直接転送される入力データである直送データと、前記一時格納部から前記主記憶装置に転送される入力データである蓄積データとを識別するための識別情報出力する識別情報出力部と、
を備え、
前記入力データ分割部は、出力された前記識別情報に応じて前記入力データを分割することを特徴とする請求項１乃至４いずれか１項に記載のメモリアクセス制御装置。
【請求項６】
請求項１乃至５いずれか１項に記載のメモリアクセス制御装置を含むことを特徴とする画像形成装置。
【請求項７】
主走査ライン毎に入力される入力データを主記憶装置に書き込むためのライトアクセスと、画像形成出力するべき出力データを前記主記憶装置から主走査ライン毎に読み出すためのリードアクセスとを制御するメモリアクセス制御方法であって、
前記主記憶装置から前記出力データの読み出しを検知し、
前記主記憶装置から前記出力データの読み出しが検知された場合に、入力される前記入力データを分割し、
分割された前記入力データを前記主記憶装置へ書き込むためのライトアクセスと、前記主記憶装置から前記出力データを読み出すためのリードアクセスとを制御することを特徴とするメモリアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリアクセス制御装置、画像形成装置及びメモリアクセス制御方法に関し、特に、スキャナによって読み取った画像のメモリへの書き込みと、プロッタにより画像形成出力されるべき画像のメモリからの読み出しとが競合した場合の処理に関する。
【背景技術】
【０００２】
近年、情報の電子化が推進される傾向にあり、電子化された情報の出力に用いられるプリンタやファクシミリ及び書類の電子化に用いるスキャナ等の画像形成装置は欠かせない機器となっている。このような画像形成装置は、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能な複合機として構成されることが多い。
【０００３】
このような複合機のうち、情報の電子化に用いられるスキャナにおいては、スキャン動作により読み取られた画像がライン単位で一定の間隔毎に生成される。このように一定の間隔毎に生成されるライン単位の画像（以下、「ラインデータ」とする）は、一定の周期（以下、「ライン周期」）で共有メモリへの転送を完了する必要があり、これが完了しない場合、次のタイミングのラインデータによって未転送分のラインデータが上書きされ、結果として、読み取られた画像が欠陥のある異常画像となってしまう。
【０００４】
同様に、電子化された情報の出力に用いられるプリンタにおいても、画像形成出力するべき画像のデータを共有メモリからライン単位で一定の周期（ライン周期）で画像形成出力用のプロッタに出力する必要があり、ラインデータが一定の周期（ライン周期）でプロッタに出力されない場合、プロッタにおける用紙の搬送スピードに対して形成するべき画像の準備が間に合わず、そのラインの画像が正しく形成されずに異常画像が出力されることとなる。
【０００５】
従って、このようなスキャナ及びプリンタを含む複合機においては、スキャナ及びプロッタについて上述したような不具合が生じないように、スキャナからのアクセス要求とプロッタからのアクセス要求とが同時に発生して競合した場合、両者からのアクセス要求をアービタにより調停するような制御が行われている。
【０００６】
具体的には、このようなスキャナ及びプロッタによるメモリアクセスは、上記ライン周期で発生するが、実際のメモリアクセス期間はそのライン周期よりも短いため、スキャナによるメモリアクセス（以下、「ライトアクセス」とする）が完了してから次のライン周期のタイミングまでの残りの期間にプロッタがメモリアクセス（以下、「リードアクセス」とする）を実行する。
【０００７】
即ち、アービタによるこのような調停方法を用いる場合、スキャナ及びプロッタによるメモリアクセスが競合した場合であっても、ライン周期で交互にメモリアクセスが可能となるため、上述したような不具合を回避することが可能となる。尚、上述したのとは逆に、リードアクセスが完了してから次のライン周期のタイミングまでの残りの期間にライトアクセスを実行する場合も同様である。
【０００８】
ところが、このような調停方法を用いる場合、スキャナ及びプロッタによるメモリアクセスが競合すると、上述したような不具合が生じないものの、ライン周期で交互にメモリアクセスが行われるため、両者からのメモリアクセス速度が低下してしまう。従って、上述したような調停方法を用いる場合、スキャナ及びプロッタによるメモリアクセスが競合すると、結果として、スキャナ動作及びプロッタ動作が開始されてから完了するまでの時間が長くなってしまうことになる。
【０００９】
そこで、このような不具合を解消するために、両者からのメモリアクセス速度を向上させる必要があるが、メモリアクセスが競合した場合の速度低下は、ライトアクセスに係る速度低下に関係なくリードアクセスに係る速度低下により決定されるため、リードアクセスに係る速度を向上させることが必要となる。これは、リードアクセスにおいては、共有メモリから画像データを読み出すためのアクセス要求であるリードコマンドが発行されてから実際に読み出しが開始されるまでにタイムロスが生じるため、リードアクセスに係る速度低下はライトアクセスに係る速度低下よりも顕著となるためである。
【００１０】
従って、ライトアクセスによる１回あたりのアクセスデータ量を、リードアクセスによる１回あたりのアクセスデータ量に対して小さく設定することにより、スキャナ及びプロッタによるメモリアクセスが競合した場合のリードアクセスに係る速度を向上させる方法が開示されている（例えば、特許文献１）。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ところが、特許文献１に開示されているような方法では、ライトアクセスが単独で発生している場合であっても、その１回あたりのアクセスデータ量は小さく設定されているままであるため、メモリの利用効率は低下してしまうことになる。
【００１２】
本発明は、上記実情を考慮してなされたものであり、スキャナ及びプロッタを備える画像形成装置がスキャナ動作を実行する場合において、スキャナに係る共有メモリへのアクセスが単独で発生した際のメモリの利用効率を低下させることなく、スキャナ及びプロッタによるメモリアクセスが競合した場合の両者からのメモリアクセス速度を向上させることを目的とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、主走査ライン毎に入力される入力データを主記憶装置に書き込むためのライトアクセスと、画像形成出力するべき出力データを前記主記憶装置から主走査ライン毎に読み出すためのリードアクセスとを制御するメモリアクセス制御装置であって、前記主記憶装置から前記出力データの読み出しを検知する読出検知部と、前記主記憶装置から前記出力データの読み出しが検知された場合に、入力される前記入力データを分割する入力データ分割部と、分割された前記入力データを前記主記憶装置へ書き込むためのライトアクセスと、前記主記憶装置から前記出力データを読み出すためのリードアクセスとを制御するメモリアクセス制御部と、を備えることを特徴とする。
【００１４】
また、本発明の他の態様は、画像形成装置であって、上記メモリアクセス制御装置を備えることを特徴とする。
【００１５】
また、本発明の更に他の態様は、主走査ライン毎に入力される入力データを主記憶装置に書き込むためのライトアクセスと、画像形成出力するべき出力データを前記主記憶装置から主走査ライン毎に読み出すためのリードアクセスとを制御するメモリアクセス制御方法であって、前記主記憶装置から前記出力データの読み出しを検知し、前記主記憶装置から前記出力データの読み出しが検知された場合に、入力される前記入力データを分割し、分割された前記入力データを前記主記憶装置へ書き込むためのライトアクセスと、前記主記憶装置から前記出力データを読み出すためのリードアクセスとを制御することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、スキャナ及びプロッタを備える画像形成装置がスキャナ動作を実行する場合において、スキャナに係る共有メモリへのアクセスが単独で発生した際のメモリの利用効率を低下させることなく、スキャナ及びプロッタによるメモリアクセスが競合した場合の両者からのメモリアクセス速度を向上させることができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態に係る画像形成装置の全体構成を模式的に示すブロック図である。
【図２】本発明の実施形態に係る画像形成装置の機能構成を模式的に示すブロック図である。
【図３】本発明の実施形態に係る画像形成装置の機能構成を模式的に示すブロック図である。
【図４】本発明の実施形態に係る画像形成装置がスキャナにセットされた原稿の両面を同時に読み取り、その際に生成された読取画像データをスキャナ画像転送装置へ転送する際のスキャナユニットの処理について説明するためのフローチャートである。
【図５】本発明の実施形態に画像形成装置がスキャナにセットされた原稿の両面を同時に読み取り、その際に生成された読取画像データを共有メモリへ転送する際のコントローラの処理について説明するためのフローチャートである。
【図６】本発明の実施形態に係るスキャナ画像転送装置による直送画像データのライトアクセスが単独で発生した場合の、アービタ上の伝送バスにおけるデータ転送期間を示すタイミングチャートである。
【図７】本発明の実施形態に係るスキャナ画像転送装置による蓄積画像データのライトアクセスが単独で発生した場合の、アービタ上の伝送バスにおけるデータ転送期間を示すタイミングチャートである。
【図８】本発明の実施形態に係るスキャナ画像転送装置による直送画像データのライトアクセスとプロッタ画像転送装置によるリードアクセスとが競合した場合の、アービタ上の伝送バスにおけるデータ転送期間を示すタイミングチャートである。
【図９】スキャナ画像転送装置による直送画像データのライトアクセスとプロッタ画像転送装置によるリードアクセスとが競合した場合であっても、直送画像データを分割しないでそのまま共有メモリに書き込むと仮定した際の、アービタ上の伝送バスにおけるデータ転送期間を示すタイミングチャートである。
【図１０】本発明の実施形態に係るスキャナ画像転送装置による蓄積画像データのライトアクセスとプロッタ画像転送装置によるリードアクセスとが競合した場合の、アービタ上の伝送バスにおけるデータ転送期間を示すタイミングチャートである。
【図１１】スキャナ画像転送装置による直送画像データのライトアクセスとプロッタ画像転送装置によるリードアクセスとが競合した場合であっても、蓄積画像データを分割しないでそのまま共有メモリに書き込むと仮定した際の、アービタ上の伝送バスにおけるデータ転送期間を示すタイミングチャートである。
【図１２】本発明の他の実施形態に係る画像形成装置の機能構成を模式的に示すブロック図である。
【図１３】本発明の他の実施形態に係る画像形成装置の機能構成を模式的に示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、スキャナ及びプロッタを含む複合機としての画像形成装置を例として説明する。
【００１９】
このような画像形成装置において本実施形態に係る要旨の一つは、スキャナ動作を実行する場合において、スキャナに係る共有メモリへのアクセスが単独で発生した際のメモリの利用効率を低下させることなく、スキャナ及びプロッタによるメモリアクセスが競合した場合の両者からのメモリアクセス速度を向上させることにある。以下、図面を参照して詳細に説明する。
【００２０】
まず、本実施形態に係る画像形成装置１の全体構成について、図１を参照して説明する。図１は、本実施形態に係る画像形成装置１の全体構成を模式的に示すブロック図である。図１に示すように、本実施形態に係る画像形成装置１は、コントローラ１００、スキャナユニット２００及びプロッタユニット３００を含む。
【００２１】
コントローラ１００は、画像形成装置１の本体部分であり、スキャナ画像転送装置１１０、プロッタ画像転送装置１２０、ＣＰＵ１３０（Ｃｅｎｔｏｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１３０、画像処理部１４０及び共有メモリ１５０が、アービタ１６０を介して接続されて構成されている。
【００２２】
スキャナ画像転送装置１１０は、スキャナユニット２００において原稿が読み取られて生成された読取画像データを入力データとして取得し、共有メモリ１５０に書き込む。その際、スキャナ画像転送装置１１０は、アービタ１６０にメモリアクセス要求を行い、アービタ１６０によってメモリアクセスが許可されると、共有メモリ１５０への読取画像データの書き込みを実行する。以下では、スキャナ画像転送装置１１０による共有メモリ１５０への読取画像データの書き込みを「ライトアクセス」ともいう。
【００２３】
プロッタ画像転送装置１２０は、プロッタユニット３００において画像形成出力を実行させるために、共有メモリ１５０に格納されている画像形成出力用の出力画像データを出力データとして読み出してプロッタユニット３００に転送する。その際、プロッタ画像転送装置１２０は、アービタ１６０にメモリアクセス要求を行い、アービタ１６０によってメモリアクセスが許可されると、共有メモリ１５０からの出力画像データの読み出し及びプロッタユニット３００への出力画像データの転送を実行する。即ち、本実施形態においては、プロッタ画像転送装置１２０が、プロッタユニットに関連するデバイスとして機能する。以下では、プロッタ画像転送装置１２０による共有メモリ１５０からの出力画像データの読み出しを「リードアクセス」ともいう。
【００２４】
ＣＰＵ１３０は、コントローラ１００全体の動作を制御するための演算装置である。画像処理部１４０は、スキャナユニット２００によって原稿が読み取られて生成された読取画像データを処理して保存用の保存画像データを生成する機能や、プロッタユニット３００による画像形成出力用の出力画像データを生成する機能等を実行する。
【００２５】
共有メモリ１５０は、情報の高速な読み書きが可能な不揮発性記憶媒体であり、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の主記憶装置によって実現される。共有メモリ１５０は、ＣＰＵ１３０が様々な機能を実現するためのプログラムがロードされる他、ＣＰＵ１３０が処理するデータを一次的に格納するための作業領域並びに上述したようにスキャナユニット２００及びプロッタユニット３００との間でやりとりされる読取画像データ及び出力画像データの一次的な保存領域として用いられる。
【００２６】
アービタ１６０は、図示しない複数のポートを有し、夫々のポートにスキャナ画像転送装置１１０、プロッタ画像転送装置１２０、ＣＰＵ１３０及び画像処理部１４０等のデバイスの何れかがバスマスターとして接続されている。即ち、アービタ１６０は、各デバイス間での情報のやり取りを行うためのバスとして機能する。また、アービタ１６０には共有メモリ１５０が接続されており、夫々のポートに接続されたデバイスからの共有メモリ１５０へのメモリアクセス要求を調停してアクセスの順番を制御する。即ち、本実施形態においては、アービタ１６０が、メモリアクセス制御部として機能する。
【００２７】
スキャナユニット２００は、原稿を光学的に走査して読み取って読取画像データを生成する画像読取装置であり、スキャナ２１０、画像入力装置２２０及びローカルメモリ２３０を含む。スキャナ２１０は、光学情報を電気信号に変換する光電変換素子を含む画像読取部である。本実施形態に係るスキャナ２１０は、原稿の表面と裏面とを同時に読み取ることが可能な機構として、表面スキャナ２１１及び裏面スキャナ２１２を含む。
【００２８】
尚、本実施形態に係るスキャナ２１０は、一度のスキャン動作で一ライン分の読み取りしかできないため、スキャン動作により読み取った原稿の読取画像データをライン単位で一定の間隔（以下、「ライン間隔」とする）毎に生成する。そして、このようにライン間隔毎に生成されたライン単位の画像データ（以下、「ラインデータ」とする）は、画像入力装置２２０の制御により、一定の周期（以下、「ライン周期」とする）でローカルメモリ２３０、若しくは、スキャナ画像転送装置１１０に転送される。
【００２９】
画像入力装置２２０は、スキャナ２１０によって生成された読取画像データを、コントローラ１００のスキャナ画像転送装置１１０に転送する。ここで、上述したように、本実施形態に係るスキャナユニット２００は、原稿の両面を同時に読み取る機能を有する。そして、画像入力装置２２０は、原稿の片面についての読取画像データを、主走査ライン毎のラインデータとしてリアルタイムにスキャナ画像転送装置１１０に転送し、もう一方の面についての読取画像データをローカルメモリ２３０に蓄積する。尚、このとき画像入力装置２２０により行われる読取画像データのスキャナ画像転送装置１１０への転送及びローカルメモリ２３０への蓄積は、スキャン動作の制約（一度のスキャン動作で一ライン分の読み取りしかできない）によりライン周期で行われる。
【００３０】
また、画像入力装置２２０は、片面についての読取画像データのスキャナ画像転送装置１１０への転送が完了した後、ローカルメモリ２３０に蓄積しておいたもう一方の面についての読取画像データをまとめてスキャナ画像転送装置１１０へ転送する。
【００３１】
ローカルメモリ２３０は、上述したように、画像入力装置２２０がリアルタイムでコントローラ１００に送信しない側の面の読取画像データをページ単位で一時的に記憶する記憶媒体であり、共有メモリ１５０と同様のＲＡＭや、ＮＶ−ＲＡＭ（Ｎｏｎ  Ｖｏｌａｔｉｌｅ−ＲＡＭ）等が用いられる。
【００３２】
尚、本実施形態においては、上述したように、原稿の一方の面の読取画像データはコントローラ１００へリアルタイムで転送され、他方の面の読取画像はローカルメモリ２３０に蓄積された後にまとめて転送される。これは、スキャナユニット２００とコントローラ１００との間のインタフェースの情報転送速度や、コントローラ１００内におけるアービタ１６０の情報転送速度と、コントローラ１００にライン周期で転送されてくるスキャナユニット２００からのラインデータのデータ量との関係による。
【００３３】
例えば、スキャナユニット２００により生成されるラインデータのデータ量が、スキャナユニット２００とコントローラ１００との間のインタフェースの情報転送速度や、コントローラ１００内におけるアービタ１６０の情報転送速度によって転送可能なデータ量を超えてしまう場合、情報に欠損が生じることとなる。
【００３４】
また、スキャナユニット２００により生成されるラインデータのデータ量が、スキャナユニット２００とコントローラ１００との間のインタフェースの情報転送速度や、コントローラ１００内におけるアービタ１６０の情報転送速度によって転送可能なデータ量以内であっても、アービタ１６０におけるバス帯域の大部分を占めることとなってしまう場合、他のモジュールやバスマスターとの関係で不具合が発生することが考えられる。
【００３５】
このような問題を回避するため、少なくとも原稿の一方の面については読取画像データのコントローラ１００へのリアルタイム転送を行わず、一度ローカルメモリ２３０に蓄積した上でコントローラ１００に転送される。この他、スキャナユニット２００の進歩により、スキャナユニット２００により生成されるラインデータのデータ量が増加する傾向にあるため、原稿の一方の面だけでなく、両方の面の読取画像データをローカルメモリ２３０に格納した上で、後から転送するようにしても良い。
【００３６】
プロッタユニット３００は、用紙に対して画像形成出力を実行する画像形成装置であり、プロッタ３１０及び画像出力装置３２０を含む。プロッタ３１０は、入力された画像形成出力用の出力画像データに基づいて画像形成出力を実行するエンジンであり、電子写真方式の画像形成機構や、インクジェット方式の画像形成機構が用いられる。画像出力装置３２０は、プロッタ画像転送装置１２０から入力される出力画像データを取得し、プロッタ３１０を制御して画像形成出力を実行させる。
【００３７】
このような画像形成装置１が複写機として動作する場合、まず、ユーザの操作に基づいてスキャナユニット２００が原稿のスキャンを実行し、読取画像データを生成する。スキャナユニット２００によって生成された読取画像データは、上述したようなリアルタイム転送やローカルメモリ２３０に蓄積された後の転送により、共有メモリ１５０に格納される。
【００３８】
共有メモリ１５０に読取画像データが格納されると、画像処理部１４０が、画像形成出力用の出力画像データを生成するための画像処理を、共有メモリ１５０に格納された読取画像データに基づいて実行する。画像処理部１４０による画像処理によって生成された画像形成出力用の出力画像データは、共有メモリ１５０から読み出されてプロッタ画像転送装置１２０を介してプロッタユニット３００に送信される。これにより、プロッタユニット３００において画像形成出力が実行される。
【００３９】
尚、図１においては、スキャナユニット２００及びプロッタユニット３００を含み、少なくとも複写機として機能する画像形成装置１を例として説明している。この他、例えばネットワークＩ／Ｆ等を備え、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）から印刷ジョブを受信して画像形成出力を実行するプリンタとしての機能を持たせることや、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の記憶装置を備え、スキャン及び画像処理によって生成された出力画像データを蓄積するサーバとしての機能を持たせることも可能である。
【００４０】
次に、本実施形態に係る画像形成装置におけるメモリアクセス制御について、図２を参照して説明する。図２は、本実施形態に係る画像形成装置１の機能構成を模式的に示すブロック図である。図２に示すように、本実施形態に係るスキャナ画像転送装置１１０は、データ判断部１１１、コマンド分割部１１２、データ書込部１１３を含み、プロッタ画像転送装置１２０は、データ読出部１２１、リードアクセス通知部１２２を含み、画像入力装置２２０は、データ振分部２２１、ローカルメモリ制御部２２２、データ転送部２２３を含む。
【００４１】
まず、画像入力装置２２０に含まれる各部の機能について説明する。データ振分部２２１は、表面スキャナ２１１により生成された表面の読取画像データをデータ転送部２２３に、裏面スキャナ２１２により生成された裏面の読取画像データをローカルメモリ制御部２２２に、それぞれ振り分けて転送する。尚、上述したように、このとき生成された読取画像データは、スキャナ２１０によるスキャン動作による制約（一度のスキャン動作で一ライン分の読み取りしかできない）のため、ライン単位で一定の間隔（ライン間隔）毎にラインデータとして生成されて、表面はデータ転送部２２３に、裏面はローカルメモリ制御部２２２に、一定の周期（ライン周期）で転送される。
【００４２】
ローカルメモリ制御部２２２は、データ振分部２２１からライン単位で転送されてきた裏面の読取画像データ（ラインデータ）を一定の周期（ライン周期）でローカルメモリ２３０に転送する。また、ローカルメモリ制御部２２２は、ローカルメモリ２３０に一時的に記憶されている読取画像データをデータ転送部２２３にページ単位でまとめて転送する。即ち、本実施形態においては、ローカルメモリ制御部２２２が、格納制御部として機能し、ローカルメモリ２３０が、一時格納部として機能する。
【００４３】
データ転送部２２３は、データ振分部２２１からライン単位で転送されてきた表面の読取画像データ（ラインデータ）を一定の周期（ライン周期）でスキャナ画像転送装置１１０に転送する。また、データ転送部２２３は、ローカルメモリ制御部２２２からページ単位でまとめて転送されてきた裏面の読取画像データをまとめてスキャナ画像転送装置１１０に転送する。このように、本実施形態に係る画像入力装置２２０は、ローカルメモリ２３０に一時的に蓄積しておいた読取画像データを転送する際には、もはやスキャン動作による制約からは解放されているため、ページ単位でまとめてスキャナ画像転送装置１１０に転送することが可能となる。
【００４４】
尚、データ転送部２２３は、自身に転送されてきた読取画像データが直送画像データであっても蓄積画像データであっても、所定の単位（以下、「コマンド単位」とする）で分割してからスキャナ画像転送装置１１０に転送する。ここで、直送画像データとは、データ振分部２２１からデータ転送部２２３に直接転送されてきた直送データとしての読取画像データのことである。また、蓄積画像データとは、一旦ローカルメモリ２３０に蓄積されてからローカルメモリ制御部２２２を経由してデータ転送部２２３に転送されてきた蓄積データとしての読取画像データのことである。
【００４５】
また、データ転送部２２３は、スキャナ画像転送装置１１０への転送の際、アービタ１６０に共有メモリ１５０への読取画像データの書き込みを命令するためのライトコマンドを生成して、生成したライトコマンドを分割後の夫々の読取画像データ（以下、「ライトデータ」とする）に付加する。
【００４６】
尚、データ転送部２２３は、読取画像データをコマンド単位で分割する際、例えば、共有メモリ１５０がＤＤＲ（Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ）３の場合、ライトアクセスのデータサイズが、ＤＤＲ３のアクセス単位８バースト×バス幅の整数倍となるように分割する。これは、後述するように、コマンド分割部１１２が、ライトアクセスのデータサイズがＤＤＲ３のアクセス単位８バースト×バス幅となるように、ライトデータをさらに複数に分割するためである。
【００４７】
次に、プロッタ画像転送装置１２０に含まれる各部の機能について説明する。データ読出部１２１は、アービタ１６０の調停（メモリアクセス制御）に従って共有メモリ１５０にアクセスし、共有メモリ１５０に格納されている画像形成出力用の出力画像データを読み出して、プロッタユニット３００に転送する。
【００４８】
リードアクセス通知部１２２は、データ読出部１２１を監視し、監視結果に応じてリードアクセス通知信号における信号状態を変化させてデータ判断部１１１に送信する。即ち、リードアクセス通知部１２２は、データ読出部１２１を監視し、出力画像データの読出しを検知しない限りはリードアクセス通知信号をＬｏｗに保ち、一方、出力画像データの読出しを検知すると、その開始から終了までの間はリードアクセス通知信号をＨｉｇｈに保つ。即ち、本実施形態においては、リードアクセス通知部１２２が、読出検知部として機能する。
【００４９】
尚、リードアクセス通知部１２２は、データ読出部１２１が出力画像データを読み出す際に、ハードウェア制御により自動的にリードアクセス通知信号における信号状態を変化させてデータ判断部１１１に送信するように構成されている。従って、本実施形態に係る画像形成装置１によれば、データ読出部１２１による出力画像データの読み出しを検知するための仕組みや機能をプログラムに実装する必要がなく、開発コストや運用コストを低減させることが可能となる。
【００５０】
また、リードアクセス通知部１２２は、このように、データ読出部１２１そのものを監視する他に、図３に示すように、データ読出部１２１とアービタ１６０との間におけるリードアクセスを監視することにより出力画像データの読出しを検知するように構成されていても良い。この際、リードアクセス通知部１２２は、データ読出部１２１とアービタ１６０との間におけるリードアクセスを検知すると、一定期間、リードアクセス通知信号における信号状態を変化させることにより、データ判断部１１１にプロッタ転送中であることを通知する。
【００５１】
このような構成の場合においても、リードアクセス通知部１２２は、データ読出部１２１が出力画像データを読み出す際に、ハードウェア制御により自動的にリードアクセス通知信号における信号状態を変化させてデータ判断部１１１に送信するように構成されている。さらに、このような構成の場合、プロッタ画像転送装置１２０に専用のハードウェアを実装する必要がない。
【００５２】
従って、リードアクセス通知部１２２がスキャナ画像転送装置１１０に含まれるように構成されている場合、データ読出部１２１による出力画像データの読み出しを検知するための仕組みや機能をプログラムに実装する必要がなく、また、プロッタ画像転送装置１２０に専用のハードウェアを実装する必要がないため、開発コストや運用コストをより低減させることが可能となる。
【００５３】
また、図示しないが、リードアクセス通知部１２２は、プロッタ画像転送装置１２０に含まれる他に、スキャナ画像転送装置１１０に含まれるように構成されていても良く、このような構成においても、上記と同様の効果を得ることが可能となる。
【００５４】
また、本実施形態においては、プロッタ画像転送装置１２０に含まれるリードアクセス通知部１２２がデータ判断部１１１にプロッタ転送中であることを通知する例について説明するが、この他、データ読出部１２１自身がデータ判断部１１１にプロッタ転送中であることを通知するように構成されていても良い。この際、データ読出部１２１は、ＣＰＵのコマンドや、プロッタから入力される動作信号等を参照してプロッタ画像の転送の開始から終了までを示すプロッタ転送中信号を生成して、データ判断部１１１に通知する。この場合、リードアクセス通知部１２２による監視が必要なくなるため、プロッタ画像転送装置１２０はリードアクセス通知部１２２を必要としない。
【００５５】
次に、スキャナ画像転送装置１１０に含まれる各部の機能について説明する。データ判断部１１１は、リードアクセス通知部１２２から受信したリードアクセス通知信号における信号状態を判断し、判断結果に応じて、画像入力装置２２０から転送されてきた読取画像データをコマンド分割部１１２若しくはデータ書込部１１３に入力する。
【００５６】
具体的には、データ判断部１１１は、リードアクセス通知部１２２から受信したリードアクセス通知信号における信号状態がＬｏｗであると判断した場合には、画像入力装置２２０から転送されてきた読取画像データをデータ書込部１１３に入力する。一方、データ判断部１１１は、リードアクセス通知部１２２から受信したリードアクセス通知信号における信号状態がＨｉｇｈであると判断した場合には、画像入力装置２２０から転送されてきた読取画像データをコマンド分割部１１２に入力する。
【００５７】
即ち、データ判断部１１１は、スキャナ画像転送装置１１０によるライトアクセスが単独で発生している場合には、画像入力装置２２０から転送されてきた読取画像データをデータ書込部１１３に入力する。スキャナ画像転送装置１１０によるライトアクセスとプロッタ画像転送装置１２０によるリードアクセスとが競合した場合に、画像入力装置２２０から転送されてきた読取画像データをコマンド分割部１１２に入力する。
【００５８】
コマンド分割部１１２は、データ判断部１１１から入力された読取画像データを各ライトコマンド単位で複数に分割してより細かいライトデータにしてから、データ書込部１１３に入力する。このように、スキャナ画像転送装置１１０によるライトアクセスとプロッタ画像転送装置１２０によるリードアクセスとが競合した場合に、コマンド分割部１１２がライトデータをライトコマンド単位で複数に分割することを本実施形態における要旨の一つとしている。即ち、本実施形態においては、コマンド分割部１１２が、入力データ分割部として機能する。
【００５９】
尚、コマンド分割部１１２は、ライトデータを分割する際、例えば、共有メモリ１５０がＤＤＲ３の場合、ライトアクセスのデータサイズが、ＤＤＲ３のアクセス単位８バースト×バス幅となるように分割する。
【００６０】
以下の説明においては、コマンド分割部１１２は、データ判断部１１１から入力されたライトデータを１個のライトコマンドにつき２個に分割する例について説明するが、これに限らず、それ以上であっても良い。
【００６１】
データ書込部１１３は、アービタ１６０に対してライトアクセス要求を行い、アービタ１６０による調停（メモリアクセス制御）に従って共有メモリ１５０にアクセスし、データ判断部１１１若しくはコマンド分割部１１２から入力された読取画像データ（ライトデータ）を共有メモリ１５０に書き込む。
【００６２】
このように構成されたスキャナ画像転送装置１１０が、リードアクセス通知部１２２、ローカルメモリ制御部２２２、ローカルメモリ２３０、後述するタグ情報監視部１１４、タグ情報挿入部２２４と連携することにより、メモリアクセス制御装置としての主要な機能を提供する。
【００６３】
尚、本実施形態においては、アービタ１６０に含まれる夫々のポートのメモリアクセス優先度は、夫々のポートに接続されたバスマスターに応じて固定であり、プロッタ画像転送装置１２０のメモリアクセス優先度は最優先に設定されており、その他のバスマスター、即ち、スキャナ画像転送装置１１０、ＣＰＵ１３０、画像処理部１４０のメモリアクセス優先度は２番目に設定されている。
【００６４】
ここで、プロッタ画像転送装置１２０が接続されているポートのメモリアクセス優先度が最優先に設定されている理由を説明する。プロッタ画像転送装置１２０は、画像形成出力するべき出力画像データをライン単位で一定の周期（ライン周期）で共有メモリ１５０から画像形成出力用のプロッタユニット３００に出力する必要があり、ラインデータが一定の周期（ライン周期）でプロッタユニット３００に出力されない場合、プロッタユニット３００における用紙の搬送スピードに対して形成するべき画像の準備が間に合わず、そのラインの画像が正しく形成されずに異常画像が出力されることとなる。
【００６５】
従って、プロッタ画像転送装置１２０は、スキャナユニット２００から転送されてきた読取画像データを滞りなくプロッタユニット３００に転送し、若しくは、共有メモリ１５０から出力画像データを滞りなくプロッタユニット３００に出力する必要がある。このような理由により、プロッタ画像転送装置１２０が接続されているポートのメモリアクセス優先度は他のどのバスマスターよりも高く設定されている。
【００６６】
このように、本実施形態に係る画像形成装置１は、スキャナ画像転送装置１１０によるライトアクセスとプロッタ画像転送装置１２０によるリードアクセスとが競合した場合、ライトデータを分割してより細かいライトデータにしてから共有メモリ１５０に書き込むように構成されている。また、本実施形態に係る画像形成装置１は、スキャナ画像転送装置１１０によるライトアクセスが単独で発生した場合には、ライトデータを分割しないでそのまま共有メモリ１５０に書き込むように構成されている。
【００６７】
これにより、本実施形態に係る画像形成装置１においては、スキャナ画像転送装置１１０によるメモリアクセスが単独で発生した際のメモリの利用効率を低下させることなく、スキャナ画像転送装置１１０によるライトアクセスとプロッタ画像転送装置１２０によるリードアクセスとが競合した場合の、両者からのメモリアクセス速度を向上させることが可能となる。
【００６８】
次に、本実施形態に係る画像形成装置１がスキャナ２１０にセットされた原稿の両面を同時に読み取り、その際に生成された読取画像データを共有メモリ１５０へ転送する際の処理について、図４及び図５を参照して説明する。
【００６９】
図４は、本実施形態に係る画像形成装置１がスキャナ２１０にセットされた原稿の両面を同時に読み取り、その際に生成された読取画像データをスキャナ画像転送装置１１０へ転送する際のスキャナユニット２００の処理について説明するためのフローチャートである。図５は、本実施形態に係る画像形成装置１がスキャナ２１０にセットされた原稿の両面を同時に読み取り、その際に生成された読取画像データを共有メモリ１５０へ転送する際のコントローラ１００の処理について説明するためのフローチャートである。
【００７０】
図４に示すように、スキャナユニット２００におけるスキャナ画像転送装置１１０への読取画像データの転送開始に際して、スキャナ２１０は、ＣＰＵ１３０からの指示に従って原稿の両面の読み取りを開始する（Ｓ４０１）。スキャナ２１０が原稿の読み取りを開始すると、データ振分部２２１は、表面スキャナ２１１により生成された表面の読取画像データをデータ転送部２２３に、裏面スキャナ２１２により生成された裏面の読取画像データをローカルメモリ制御部２２２に、それぞれ振り分けて転送する（Ｓ４０２）。
【００７１】
尚、上述したように、このとき生成された読取画像データは、スキャナ２１０によるスキャン動作による制約（一度のスキャン動作で一ライン分の読み取りしかできない）のため、ライン単位で一定の間隔毎にラインデータとして生成されて一定の周期（ライン周期）毎に転送される。ローカルメモリ制御部２２２は、ＣＰＵ１３０からの指示に従って、データ振分部２２１から転送されてきた裏面の読取画像データをローカルメモリ２３０に蓄積する（Ｓ４０３）。
【００７２】
一方、データ転送部２２３は、ＣＰＵ１３０からの指示に従って、データ振分部２２１から転送されてきた表面の読取画像データ（直送画像データ）をコマンド単位に分割して複数のライトデータを生成し（Ｓ４０４）、ライトコマンドを生成して夫々のライトデータに付加する（Ｓ４０５）。
【００７３】
データ転送部２２３は、ＣＰＵ１３０からの指示に従って、ライトデータをライン周期でスキャナ画像転送装置１１０に転送する（Ｓ４０６）。そして、データ転送部２２３は、スキャナ画像転送装置１１０に表面の読取画像データ（直送画像データ）を全て転送し終えたか否かを判断する（Ｓ４０７）。
【００７４】
データ転送部２２３が、Ｓ４０７の判断処理において、全ての読取画像データ（直送画像データ）を転送し終えていないと判断した場合には（Ｓ４０７／ＮＯ）、画像形成装置１は、全ての読取画像データ（直送画像データ）をスキャナ画像転送装置１１０に転送し終えるまでＳ４０４〜Ｓ４０７と同様の処理を行う。
【００７５】
一方、データ転送部２２３が、Ｓ４０７の判断処理において、全ての読取画像データ（直送画像データ）を転送し終えたと判断した場合には（Ｓ４０７／ＹＥＳ）、ローカルメモリ制御部２２２は、ＣＰＵ１３０からの指示に従って、ローカルメモリ２３０から一旦蓄積しておいた裏面の読取画像データ（蓄積画像データ）を読み出してデータ転送部２２３に転送する（Ｓ４０８）。
【００７６】
そして、画像形成装置１は、データ転送部２２３に転送された裏面の読取画像データ（蓄積画像データ）についても、表面と同様、Ｓ４０４〜Ｓ４０７と同様の処理を行う（Ｓ４０８〜Ｓ４１２）。
【００７７】
尚、蓄積画像データにおけるＳ４１１の処理においては、直送画像データにおけるＳ４０６の処理とは異なり、読取画像データ（ライトデータ）は、ライン周期に関係なく連続的にスキャナ画像転送装置１１０に転送される。これは、上述したように、画像入力装置２２０は、読取画像データをローカルメモリ２３０に一旦蓄積して後からまとめて転送する場合には、もはやスキャン動作による制約からは解放されているためである。
【００７８】
このようにして、本実施形態に係るスキャナユニット２００は、スキャナ２１０で生成された読取画像データをスキャナ画像転送装置１１０に転送する際の処理を終了する。
【００７９】
一方で、スキャナユニット２００からスキャナ画像転送装置１１０へ読取画像データが転送されてくると、図５に示すように、コントローラ１００における共有メモリ１５０への読取画像データの転送開始に際して、データ判断部１１１は、ＣＰＵ１３０からの指示に従って、リードアクセス通知部１２２から受信したリードアクセス通知信号における信号状態を判断することにより、スキャナユニット２００から転送されてきた読取画像データをデータ書込部１１３に入力するのかコマンド分割部１１２に入力するのかを判断する。（Ｓ５０１）。
【００８０】
データ判断部１１１は、Ｓ５０１の判断処理において、リードアクセス通知部１２２から受信したリードアクセス通知信号における信号状態がＬｏｗであると判断した場合には、（Ｓ５０１／Ｌｏｗ）、スキャナユニット２００から転送されてきた読取画像データをデータ書込部１１３に入力する（Ｓ５０２）。即ち、データ判断部１１１は、プロッタ画像転送装置１２０によるリードアクセスがなく、スキャナ画像転送装置１１０が単独でライトアクセスする場合には、スキャナユニット２００から転送されてきた読取画像データをデータ書込部１１３に入力する。
【００８１】
データ書込部１１３は、データ判断部１１１から読取画像データが入力されると、アービタ１６０に対してライトアクセス要求を行い、アービタ１６０による調停（メモリアクセス制御）に従って、単独で共有メモリ１５０にアクセスして、データ判断部１１１から入力された読取画像データ（ライトデータ）を共有メモリ１５０に書き込む（Ｓ５０３）。
【００８２】
このときのスキャナ画像転送装置１１０による共有メモリ１５０へのメモリアクセスの様子について、図６及び図７を参照して説明する。
【００８３】
図６は、本実施形態に係るスキャナ画像転送装置１１０による直送画像データのライトアクセスが単独で発生した場合の、アービタ１６０上の伝送バスにおけるデータ転送期間を示すタイミングチャートである。
【００８４】
図７は、本実施形態に係るスキャナ画像転送装置１１０による蓄積画像データのライトアクセスが単独で発生した場合の、アービタ１６０上の伝送バスにおけるデータ転送期間を示すタイミングチャートである。
【００８５】
尚、本実施形態においては、アービタ１６０の動作周波数よりも共有メモリ１５０の動作周波数の方が速い場合について説明する。そのため、本実施形態においては、共有メモリ１５０を制御するための図示しない共有メモリコントローラ内部のラインバッファへのラインデータの一時格納により、アービタ１６０上の伝送バスにおいては、メモリリードとメモリライトとが同時刻に発生するタイミングが存在する。
【００８６】
また、本実施形態においては、ライトコマンドとライトデータとがスプリットされておらず、その両者の転送についてアービタ１６０上の共通の伝送バスが使用される例について説明するが、その両者がスプリットされているスプリットトランザクションの場合であっても同様である。
【００８７】
図６に示すように、本実施形態に係るスキャナ画像転送装置１１０は、直送画像データのライトアクセスを単独で行う場合、直送画像データをスキャナライン周期毎にライン単位で共有メモリ１５０に書き込む。
【００８８】
即ち、図６に示すように、本実施形態に係るスキャナ画像転送装置１１０は、直送画像データのライトアクセスを単独で行う場合、スキャナライン周期の開始を待って、ライン単位で直送画像データを共有メモリ１５０に書き込む。そして、スキャナ画像転送装置１１０は、ライン単位での直送画像データの共有メモリ１５０への書き込みが完了すると、１ライン当たりのデータ書き込み期間（以下、「ラインデータ書込期間」とする）の完了から次のスキャナライン周期のタイミングまでの残りの期間（以下、「スキャナライン残余期間」とする）が経過するまで待機する。スキャナ画像転送装置１１０は、スキャナライン残余期間が経過して次のスキャナライン周期が開始されると、再びライン単位で直送画像データを共有メモリ１５０に書き込む。
【００８９】
また、図７に示すように、本実施形態に係るスキャナ画像転送装置１１０は、蓄積画像データのライトアクセスを単独で行う場合、蓄積画像データをスキャナライン周期に関係なく連続的にライン単位で共有メモリ１５０に書き込む。
【００９０】
即ち、図７に示すように、スキャナ画像転送装置１１０は、蓄積画像データのライトアクセスを単独で行う場合、スキャナライン残余期間の経過を待たずに、連続的にライン単位で蓄積画像データを共有メモリ１５０に書き込む。これは、上述したように、画像入力装置２２０は、読取画像データをローカルメモリ２３０に一旦蓄積して後からまとめて転送する場合には、もはやスキャン動作による制約からは解放されているためである。
【００９１】
一方、データ判断部１１１は、Ｓ５０１の判断処理において、リードアクセス通知部１２２から受信したリードアクセス通知信号における信号状態がＨｉｇｈであると判断した場合には（Ｓ５０１／Ｈｉｇｈ）、スキャナユニットから転送されてきた読取画像データをコマンド分割部１１２に入力する（Ｓ５０４）。即ち、データ判断部１１１は、プロッタ画像転送装置１２０によるリードアクセスが発生しており、スキャナ画像転送装置１１０によるライトアクセスとプロッタ画像転送装置１２０によるリードアクセスとが競合する場合には、スキャナユニット２００から転送されてきた読取画像データをコマンド分割部１１２に入力する。
【００９２】
コマンド分割部１１２は、データ判断部１１１から入力された読取画像データを各ライトコマンド単位で複数に分割してより細かいライトデータとしてから（Ｓ５０５）、データ書込部１１３に入力する（Ｓ５０６）。このように、スキャナ画像転送装置１１０によるライトアクセスとプロッタ画像転送装置１２０によるリードアクセスとが競合した場合に、コマンド分割部１１２がライトデートをライトマンド単位で複数に分割することを本実施形態における要旨の一つとしている。
【００９３】
データ書込部１１３は、コマンド分割部１１２から分割後のライトデータが入力されると、アービタ１６０に対してライトアクセス要求を行い、アービタ１６０による調停（メモリアクセス制御）に従って、プロッタ画像転送装置１２０と交互に共有メモリ１５０にアクセスして、データ判断部１１１から入力された分割後のライトデータを共有メモリ１５０に書き込む（Ｓ５０７）。
【００９４】
このときのスキャナ画像転送装置１１０及びプロッタ画像転送装置１２０による共有メモリ１５０へのメモリアクセスの様子について、図８及び図１０を参照して。
【００９５】
図８は、本実施形態に係るスキャナ画像転送装置１１０による直送画像データのライトアクセスとプロッタ画像転送装置１２０によるリードアクセスとが競合した場合の、アービタ１６０上の伝送バスにおけるデータ転送期間を示すタイミングチャートである。
【００９６】
図１０は、本実施形態に係るスキャナ画像転送装置１１０による蓄積画像データのライトアクセスとプロッタ画像転送装置１２０によるリードアクセスとが競合した場合の、アービタ１６０上の伝送バスにおけるデータ転送期間を示すタイミングチャートである。
【００９７】
図８に示すように、スキャナ画像転送装置１１０による直送画像データのライトアクセスとプロッタ画像転送装置１２０によるリードアクセスとが競合した場合、スキャナ画像転送装置１１０及びプロッタ画像転送装置１２０はそれぞれ、図６の場合と同様にして、ライン周期毎にライン単位で共有メモリ１５０にアクセスする。尚、このとき、スキャナ画像転送装置１１０及びプロッタ画像転送装置１２０は、ライトデータ単位で交互に共有メモリ１５０にアクセスする。
【００９８】
即ち、図８に示すように、本実施形態に係るスキャナ画像転送装置１１０は、プロッタ画像転送装置１２０と競合してライトアクセスを行う場合、スキャナライン周期の開始を待って、ライン単位で直送画像データを共有メモリ１５０に書き込む。そして、スキャナ画像転送装置１１０は、ライン単位での直送画像データの共有メモリ１５０への書き込みが完了すると、スキャナライン残余期間が経過するまで待機する。スキャナ画像転送装置１１０は、スキャナライン残余期間が経過して次のスキャナライン周期が開始されると、再びライン単位で直送画像データを共有メモリ１５０に書き込む。
【００９９】
尚、このとき、図８に示すように、直送画像データにおける各ライトデータは、図６の場合とは異なり複数に分割されているため、ラインデータ書込期間は、図６の場合と比較して長くなる。
【０１００】
また、図８に示すように、本実施形態に係るプロッタ画像転送装置１２０は、スキャナ画像転送装置１１０と競合してリードアクセスを行う場合、プロッタライン周期の開始を待って、ライン単位で出力画像データを共有メモリ１５０から読み出す。
【０１０１】
尚、このとき、図８に示すように、プロッタ画像転送装置１２０は、スキャナ画像転送装置１１０によるライトアクセスの合間にリードコマンドをアービタ１６０に通知し、通知してから実際にリードデータが返ってくるまでの期間（以下、「レスポンスタイム」とする）が経過するまで待機する必要がある。このように、プロッタ画像転送装置１２０は、スキャナ画像転送装置１１０と競合してリードアクセスを行う場合、レスポンスタイムが発生するため、スキャナ画像転送装置１１０によるライトアクセスに比べてアクセス期間が長くなる。
【０１０２】
そして、プロッタ画像転送装置１２０は、ライン単位での出力画像データの共有メモリ１５０からの読み出しが完了すると、１ライン当たりのデータ読み出し期間（以下、「リードデータ読出期間」とする）の完了から次のプロッタライン周期のタイミングまでの残りの期間（以下、「プロッタライン残余期間」とする）が経過するまで待機する。プロッタ画像転送装置１２０は、プロッタライン残余期間が経過して次のプロッタライン周期が開始されると、再びライン単位で出力画像データを共有メモリ１５０から読み出す。
【０１０３】
ここで、スキャナ画像転送装置１１０が、プロッタ画像転送装置１２０と競合して共有メモリ１５０にアクセスした場合であっても、直送画像データを分割しないでそのまま共有メモリ１５０に書き込むと仮定した際の、スキャナ画像転送装置１１０及びプロッタ画像転送装置１２０による共有メモリ１５０へのメモリアクセスの様子について、図９を参照して説明する。
【０１０４】
図９は、スキャナ画像転送装置１１０による直送画像データのライトアクセスとプロッタ画像転送装置１２０によるリードアクセスとが競合した場合であっても、直送画像データを分割しないでそのまま共有メモリ１５０に書き込むと仮定した際の、アービタ１６０上の伝送バスにおけるデータ転送期間を示すタイミングチャートである。
【０１０５】
図９に示すように、スキャナ画像転送装置１１０による直送画像データのライトアクセスとプロッタ画像転送装置１２０によるリードアクセスとが競合した場合であっても、直送画像データを分割しないでそのまま共有メモリ１５０に書き込むと仮定した際には、図８の場合と比較してプロッタライン残余期間が短くなっている。
【０１０６】
即ち、スキャナ画像転送装置１１０による直送画像データのライトアクセスとプロッタ画像転送装置１２０によるリードアクセスとが競合した場合、ラインデータを分割した方がプロッタライン残余期間が長くなる。
【０１０７】
従って、スキャナ画像転送装置１１０による直送画像データのライトアクセスとプロッタ画像転送装置１２０によるリードアクセスとが競合した場合、ラインデータを分割した方が、その分、プロッタライン周期を短くすることが可能となる。このとき、スキャナライン残余期間は反対に短くなってしまうが、それでもプロッタライン残余期間に比べて長いため、スキャナライン周期についてもプロッタライン周期と同程度だけ短くすることが可能となる。
【０１０８】
このように、スキャナ画像転送装置１１０による直送画像データのライトアクセスとプロッタ画像転送装置１２０によるリードアクセスとが競合した場合、ライトデータを分割してより細かいライトデータにしてから共有メモリ１５０に書き込むことにより、ライトデータを分割しなかった場合に比べて、プロッタライン残余期間を長くすることが可能となる。
【０１０９】
そして、プロッタライン残余期間が長くなるということは、その分だけ、各プロッタライン周期における１ライン当たりのデータ読み出し期間（リードデータ読出期間）が短くなっているということである。従って、本実施形態に係る画像形成装置１は、その分、プロッタライン周期を短くすることが可能となり、それに伴って、スキャナライン周期も短くすることが可能となる。
【０１１０】
その結果、本実施形態に係る画像形成装置１は、スキャナ画像転送装置１１０によるメモリアクセスが単独で発生した際のメモリの利用効率を低下させることなく、スキャナ画像転送装置１１０によるライトアクセスとプロッタ画像転送装置１２０によるリードアクセスとが競合した場合の、両者からのメモリアクセス速度を向上させることが可能となる。
【０１１１】
また、図１０に示すように、スキャナ画像転送装置１１０による蓄積画像データのライトアクセスとプロッタ画像転送装置１２０によるリードアクセスとが競合した場合、スキャナ画像転送装置１１０は、図７の場合と同様にして、スキャナライン周期に関係なく、連続的にライン単位で読取画像データを共有メモリ１５０に書き込む。
【０１１２】
また、図１０に示すように、スキャナ画像転送装置１１０による蓄積画像データのライトアクセスとプロッタ画像転送装置１２０によるリードアクセスとが競合した場合、プロッタ画像転送装置１２０は、図８の場合と同様にして、プロッタライン周期毎にライン単位で共有メモリ１５０にアクセスする。
【０１１３】
尚、このとき、スキャナ画像転送装置１１０及びプロッタ画像転送装置１２０は、ライトデータ単位で交互に共有メモリ１５０にアクセスする。
【０１１４】
即ち、図１０に示すように、本実施形態に係るスキャナ画像転送装置１１０は、プロッタ画像転送装置１２０と競合してライトアクセスを行う場合、スキャナライン残余期間の経過を待たずに、連続的にライン単位で蓄積画像データを共有メモリ１５０に書き込む。これは、上述したように、画像入力装置２２０は、読取画像データをローカルメモリ２３０に一旦蓄積して後からまとめて転送する場合には、もはやスキャン動作による制約からは解放されているためである。
【０１１５】
尚、このとき、図１０に示すように、蓄積画像データにおける各ライトデータは、図７の場合とは異なり複数に分割されているため、ラインデータ書込期間は、図７の場合と比較して長くなる。
【０１１６】
また、図１０に示すように、本実施形態に係るプロッタ画像転送装置１２０は、スキャナ画像転送装置１１０と競合してリードアクセスを行う場合、図８の場合と同様にして、プロッタライン周期の開始を待って、ライン単位で出力画像データを共有メモリ１５０から読み出す。
【０１１７】
尚、このとき、図１０に示すように、プロッタ画像転送装置１２０は、図８の場合と同様にして、スキャナ画像転送装置１１０によるライトアクセスの合間にリードコマンドをアービタ１６０に通知してからレスポンスタイムが経過するまで待機する。このように、プロッタ画像転送装置１２０は、スキャナ画像転送装置１１０と競合してリードアクセスを行う場合、レスポンスタイムが発生するため、スキャナ画像転送装置１１０によるライトアクセスに比べてアクセス期間が長くなる。
【０１１８】
そして、プロッタ画像転送装置１２０は、ライン単位での出力画像データの共有メモリ１５０からの読み出しが完了すると、プロッタライン残余期間が経過するまで待機する。プロッタ画像転送装置１２０は、プロッタライン残余期間が経過して次のプロッタライン周期が開始されると、再びライン単位で出力画像データを共有メモリ１５０から読み出す。
【０１１９】
ここで、スキャナ画像転送装置１１０が、プロッタ画像転送装置１２０と競合して共有メモリ１５０にアクセスした場合であっても、蓄積画像データを分割しないでそのまま共有メモリ１５０に書き込むと仮定した際の、スキャナ画像転送装置１１０及びプロッタ画像転送装置１２０による共有メモリ１５０へのメモリアクセスの様子について、図１１を参照して説明する。
【０１２０】
図１１は、スキャナ画像転送装置１１０による直送画像データのライトアクセスとプロッタ画像転送装置１２０によるリードアクセスとが競合した場合であっても、蓄積画像データを分割しないでそのまま共有メモリ１５０に書き込むと仮定した際の、アービタ１６０上の伝送バスにおけるデータ転送期間を示すタイミングチャートである。
【０１２１】
図１１に示すように、スキャナ画像転送装置１１０による蓄積画像データのライトアクセスとプロッタ画像転送装置１２０によるリードアクセスとが競合した場合であっても、直送画像データを分割しないでそのまま共有メモリ１５０に書き込むと仮定した際には、図１０の場合と比較してプロッタライン残余期間が短くなっている。
【０１２２】
即ち、スキャナ画像転送装置１１０による蓄積画像データのライトアクセスとプロッタ画像転送装置１２０によるリードアクセスとが競合した場合、ラインデータを分割した方がプロッタライン残余期間が長くなる。
【０１２３】
従って、スキャナ画像転送装置１１０による蓄積画像データのライトアクセスとプロッタ画像転送装置１２０によるリードアクセスとが競合した場合、ラインデータを分割した方が、その分、プロッタライン周期を短くすることが可能となる。このとき、スキャナライン残余期間は反対に短くなってしまうが、それでもプロッタライン残余期間に比べて長いため、スキャナライン周期についてもプロッタライン周期と同程度だけ短くすることが可能となる。
【０１２４】
このように、スキャナ画像転送装置１１０による蓄積画像データのライトアクセスとプロッタ画像転送装置１２０によるリードアクセスとが競合した場合、ライトデータを分割してより細かいライトデータにしてから共有メモリ１５０に書き込むことにより、ライトデータを分割しなかった場合に比べて、プロッタライン残余期間が長くすることが可能となる。
【０１２５】
そして、プロッタライン残余期間が長くなるということは、その分だけ、各プロッタライン周期における１ライン当たりのデータ読み出し期間（リードデータ読出期間）が短くなっているということである。従って、本実施形態に係る画像形成装置１は、その分、プロッタライン周期を短くすることが可能となり、それに伴って、スキャナライン周期も短くすることが可能となる。
【０１２６】
その結果、本実施形態に係る画像形成装置１は、スキャナ画像転送装置１１０によるメモリアクセスが単独で発生した際のメモリの利用効率を低下させることなく、スキャナ画像転送装置１１０によるライトアクセスとプロッタ画像転送装置１２０によるリードアクセスとが競合した場合の、両者からのメモリアクセス速度を向上させることが可能となる。
【０１２７】
また、スキャナ画像転送装置１１０は、蓄積画像データを共有メモリ１５０に書き込む際にはスキャナライン周期に関係なく連続的にライン単位で共有メモリ１５０にアクセスするため、その分、プロッタ画像転送装置１２０がリードアクセスするまでの待ち時間が長くなる。従って、プロッタライン残余期間は、直送画像データを共有メモリ１５０に書き込む場合と、蓄積画像データを共有メモリ１５０に書き込む場合とでは、後者の方が短くなる。そのため、ラインデータを分割することによるプロッタライン残余期間の延長、即ち、リードデータ読出期間の短縮は、蓄積画像データを共有メモリ１５０に書き込む場合、さらに効果的となる。
【０１２８】
そして、図５に示すように、スキャナ画像転送装置１１０は、読取画像データの共有メモリ１５０への書き込みが完了するまで（Ｓ５０８）、Ｓ５０１以降の処理と同様の処理を繰り返し実行する。
【０１２９】
以上、説明したように、本実施形態に係る画像形成装置１は、スキャナ画像転送装置１１０によるライトアクセスとプロッタ画像転送装置１２０によるリードアクセスとが競合した場合、ライトデータを分割してより細かいライトデータにしてから共有メモリ１５０に書き込むように構成されている。また、本実施形態に係る画像形成装置１は、スキャナ画像転送装置１１０によるライトアクセスが単独で発生した場合には、ライトデータを分割しないでそのまま共有メモリ１５０に書き込むように構成されている。
【０１３０】
これにより、本実施形態に係る画像形成装置１においては、スキャナ画像転送装置１１０によるメモリアクセスが単独で発生した際のメモリの利用効率を低下させることなく、スキャナ画像転送装置１１０によるライトアクセスとプロッタ画像転送装置１２０によるリードアクセスとが競合した場合の、両者からのメモリアクセス速度を向上させることが可能となる。
【０１３１】
尚、上記の説明においては、直送画像データと蓄積画像データとを区別しない例について説明したが、両者を区別するように構成されていても良い。このような場合、画像形成装置１は、図１２若しくは図１３に示すように、上記の構成に加えて、画像入力装置２２０にタグ情報挿入部２２４を含み、スキャナ画像転送装置１１０にタグ情報監視部１１４を含むように構成される。
【０１３２】
タグ情報挿入部２２４は、データ転送部２２３に転送されてきた読取画像データが、直送画像データであるのか、それとも、蓄積画像データであるのかを示す情報をタグ情報として生成して、データ転送部２２３において生成されるライトコマンドに挿入する。これにより、各ライトデータは、直送画像データであるのか、それとも、蓄積画像データであるのかが識別される。即ち、本実施形態においては、タグ情報挿入部２２４が、識別情報出力部として機能する。
【０１３３】
タグ情報監視部１１４は、スキャナユニット２００から転送されてきた読取画像データのタグ情報を監視し、タグ情報を検知するとそのタグ情報を解析して、その解析結果に応じてローカルメモリ通知信号における信号状態を変化させてデータ判断部１１１に送信する。
【０１３４】
即ち、タグ情報監視部１１４は、スキャナユニット２００から転送されてきた読取画像データのタグ情報を監視し、その読取画像データが直送画像データであると判断した場合には直送画像データの転送中はローカルメモリ通知信号をＬｏｗに保ち、一方、その読取画像データが蓄積画像データであると判断した場合には蓄積画像データの転送中はローカルメモリ通知信号をＨｉｇｈに保つ。これにより、データ判断部１１１は、画像入力装置２２０から転送されてきた読取画像データが直送画像データか蓄積画像データかを識別することが可能となる。
【０１３５】
従って、読取画像データの種類によってライトデータを分割するか否かを切り替えるように構成されている場合、データ判断部１１１は、リードアクセス通知部１２２から受信したリードアクセス通知信号における信号状態及びタグ情報監視部１１４から受信したローカルメモリ通知信号における信号状態を判断し、判断結果に応じて、画像入力装置２２０から転送されてきた読取画像データをコマンド分割部１１２若しくはデータ書込部１１３に入力することになる。
【０１３６】
また、上記の説明においては、データ振分部２２１は、表面スキャナ２１１により生成された表面の読取画像データをデータ転送部２２３に、裏面スキャナ２１２により生成された裏面の読取画像データをローカルメモリ制御部２２２に、それぞれ振り分けて転送する例について説明したが、その反対であっても良い。即ち、データ振分部２２１は、裏面スキャナ２１２により生成された裏面の読取画像データをデータ転送部２２３に、表面スキャナ２１１により生成された表面の読取画像データをローカルメモリ制御部２２２に、それぞれ振り分けて転送するように構成されていても良い。
【０１３７】
また、上記の説明においては、両面読取時における処理について説明したが、片面のみの読取時においても適用可能である。即ち、表面スキャナ２１１若しくは裏面スキャナ２１２により原稿の片面のみが読み取られて生成された読取画像データが、一旦ローカルメモリ２３０に蓄積されて、１ページ分まとめて共有メモリ１５０に転送されるように構成されていても良い。また、このとき、ローカルメモリ２３０に１ページ分の読取画像データが蓄積されるのを待たずに、所定の単位でローカルメモリ２３０から逐次転送されるように構成されていても良い。
【０１３８】
また、上記の説明においては、原稿の表面と裏面とを同時に読み取る際、原稿の片面についての読取画像データについてはリアルタイムで共有メモリに転送し、もう一方の面についての読取画像データについてはローカルメモリ２３０に一旦蓄積する例について説明したが、ローカルメモリ２３０が両面の読取画像データを同時に格納できるだけの記憶容量を備える場合には、両面の読取画像データを同時に一旦ローカルメモリ２３０に蓄積するように構成されていても良い。
【符号の説明】
【０１３９】
１  画像形成装置
１００  コントローラ
１１０  スキャナ画像転送装置
１１１  データ判断部
１１２  コマンド分割部
１１３  データ書込部
１１４  タグ情報監視部
１２０  プロッタ画像転送装置
１３０  ＣＰＵ
１４０  画像処理部
１５０  共有メモリ
１６０  アービタ
２００  スキャナユニット
２１０  スキャナ
２１１  表面スキャナ
２１２  裏面スキャナ
２２０  画像入力装置
２２１  データ振分部
２２２  ローカルメモリ制御部
２２３  データ転送部
２２４  タグ情報挿入部
２３０  ローカルメモリ
３００  プロッタユニット
３１０  プロッタ
３２０  画像出力装置
【先行技術文献】
【特許文献】
【０１４０】
【特許文献１】特開２００５−３３３６７６号公報
【図１】
2014179677.tif 000003
【図２】
2014179677.tif 000004
【図３】
2014179677.tif 000005
【図４】
2014179677.tif 000006
【図５】
2014179677.tif 000007
【図６】
2014179677.tif 000008
【図７】
2014179677.tif 000009
【図８】
2014179677.tif 000010
【図９】
2014179677.tif 000011
【図１０】
2014179677.tif 000012
【図１１】
2014179677.tif 000013
【図１２】
2014179677.tif 000014
【図１３】
2014179677.tif 000015