(57)【要約】【課題】画像データを一時的に保持するメモリの容量を削減することを目的とする。【解決手段】読取装置により読み取られた画像データの入力を受け付けて、メモリに対する前記画像データの書込要求を行い、前記メモリに前記画像データを書き込む書込部と、前記メモリに書き込まれた画像データを読み出して、読み出した前記画像データを後段へ転送する読出部と、を有し、前記書込部は、前記読取装置が主走査方向に１ライン分の画像データを読み取る期間を示すライン周期において、前記書込要求が行われる頻度を平均化する。【選択図】図１
2018110365.tif 000002
【特許請求の範囲】
【請求項１】
読取装置により読み取られた画像データの入力を受け付けて、メモリに対する前記画像データの書込要求を行い、前記メモリに前記画像データを書き込む書込部と、
前記メモリに書き込まれた画像データを読み出して、読み出した前記画像データを後段へ転送する読出部と、を有し、
前記書込部は、
前記読取装置が主走査方向に１ライン分の画像データを読み取る期間を示すライン周期において、前記書込要求が行われる頻度を平均化する、メモリ制御回路。
【請求項２】
前記書込部は、
前記ライン周期と前記主走査方向の画素数とに基づき、前記ライン周期において、前記書込要求が均等の間隔で行われるように、前記間隔を決定する、請求項１記載のメモリ制御回路。
【請求項３】
前記ライン周期が設定されるライン周期カウントレジスタと、
前記主走査方向の画素数が設定される主走査画素数レジスタと、を有し、
前記書込部は、前記ライン周期カウントレジスタに設定された値と、前記主走査画素数レジスタに設定された値と、を参照し、前記間隔を決定する、請求項２記載のメモリ制御回路。
【請求項４】
前記書込部は、
前記間隔を示す値が設定されるライトアクセス間隔カウンタを有し、
前記ライトアクセス間隔カウンタのカウント値が、前記間隔を示す値となったとき、前記書込要求を行う、請求項２又は３記載のメモリ制御回路。
【請求項５】
請求項１乃至４の何れか一項に記載のメモリ制御回路を有する画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリに対する画像データの書き込みを制御するメモリ制御回路、画像形成装置に関する。
【背景技術】
【０００２】
近年のスキャナやデジタル複合機等の画像形成装置では、入力側にＤＲＡＭ（Dynamic Random Access Memory）を配置し、原稿を読み取った画像データを一旦そのＤＲＡＭに蓄積し、１面ずつ順次、画像処理を施して出力側に転送する構成を有するものがある（特許文献１〜３）。
【０００３】
この画像形成装置では、ＤＲＡＭの転送性能によっては、ＤＲＡＭに対する画像データの書き込み要求と読み出し要求との競合により、ＤＲＡＭからの後段のモジュールに対する連続的な画像データの転送が行えない場合がある。そこで、従来では、このような場合に備え、画像データの読み出し要求を行う読み出側の制御部に、バッファとして１ライン分の画像データを一時的に保持するＳＲＡＭ（Static Random Access Memory）を設ける技術が知られている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ＳＲＡＭは、画像処理等を行うＡＳＩＣ（Application Specific Integrated Circuit）に内蔵される。近年では、ＡＳＩＣの多機能化・大規模化に伴い、ＡＳＩＣの内蔵するＳＲＡＭの容量が増大しており、ＡＳＩＣの価格の上昇の要因となっている。
【０００５】
このため、画像処理部をＡＳＩＣで実現する場合には、内蔵されるＳＲＡＭの容量を可能な限り削減することが望ましい。
【０００６】
開示の技術は、上記事情に鑑みてこれを解決すべくなされたものであり、画像データを一時的に保持するメモリの容量を削減することを目的としている。
【課題を解決するための手段】
【０００７】
開示の技術は、読取装置により読み取られた画像データの入力を受け付けて、メモリに対する前記画像データの書込要求を行い、前記メモリに前記画像データを書き込む書込部と、前記メモリに書き込まれた画像データを読み出して、読み出した前記画像データを後段へ転送する読出部と、を有し、前記書込部は、前記読取装置が主走査方向に１ライン分の画像データを読み取る期間を示すライン周期において、前記書込要求が行われる頻度を平均化する、メモリ制御回路である。
【発明の効果】
【０００８】
画像データを一時的に保持するメモリの容量を削減できる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態の画像形成装置に搭載されたエンジン処理部の概要を説明する図である。
【図２】本実施形態を適用しない場合のＤＲＡＭへの画像データのライト＆リードのタイミングを説明するタイミングチャートである。
【図３】本実施形態のＤＲＡＭへの画像データのライト＆リードのタイミングを説明するタイミングチャートである。
【図４】本実施形態の画像形成装置を説明する図である。
【図５】本実施形態の回転処理部を説明する図である。
【図６】ライトＤＭＡＣからＤＲＡＭへのライト要求のタイミングを説明する図である。
【図７】アクセストリガ周期毎にライト要求を発行する動作を説明する図である。
【図８】ＤＲＡＭに対するリードＤＭＡＣのリード要求の発行のタイミングを説明する図である。
【図９】リードＤＭＡＣの有するバッファへの画像データの書き込みと読み出しの様子を示す図である。
【図１０】本実施形態が適用されない場合のリードＤＭＡＣの有するバッファの容量を説明する図である。
【発明を実施するための形態】
【００１０】
以下に図面を参照して、実施形態について説明する。始めに、本実施形態の画像形成装置の説明に先立ち、本実施形態の画像形成装置の有するエンジン処理部の概要について説明する。
【００１１】
図１は、本実施形態の画像形成装置に搭載されたエンジン処理部の概要を説明する図である。
【００１２】
本実施形態のエンジン処理部１００は、ＡＳＩＣ（Application Specific Integrated Circuit）で実現されるものであり、エンジン処理部１００が搭載された画像形成装置に入力された画像データに対する各種の処理を行う。
【００１３】
本実施形態のエンジン処理部１００は、ＤＲＡＭライト制御部１１０、ＤＲＡＭリード制御部１２０、メモリアービタ１３０、ＤＲＡＭ制御部１４０を有する。
【００１４】
本実施形態のＤＲＡＭライト制御部１１０は、入力された画像データをＤＲＡＭ（Dynamic Random Access Memory）１５０に書き込む。尚、ＤＲＡＭ１５０は、画像形成装置に搭載される。
【００１５】
本実施形態のＤＲＡＭリード制御部１２０は、ＤＲＡＭ１５０に蓄積された画像データを読み出して、エンジン処理部１００の後段のモジュールへ転送する。
【００１６】
メモリアービタ１３０は、画像形成装置２００に対する画像データの書き込みや読み出しを行う経路を確保する。ＤＲＡＭ制御部１４０は、ＤＲＡＭ１５０を制御する。
【００１７】
つまり、本実施形態のエンジン処理部１００は、ＤＲＡＭ１５０に対するデータの書き込みと読み出しを制御するメモリ制御回路の役割を果たす。
【００１８】
また、以下の説明では、ＤＲＡＭライト制御部１１０を、ライトＤＭＡＣ（Direct Memory Access Controller）１１０と呼び、ＤＲＡＭリード制御部１２０を、リードＤＭＡＣ１２０と呼ぶ。
【００１９】
ここで、本実施形態のエンジン処理部１００は、ライトＤＭＡＣ１１０により、ＤＲＡＭ１５０にライト要求を行うタイミングを、後述する画像形成装置のライン周期の範囲内で均一となるように分散させる。本実施形態では、この処理により、リードＤＭＡＣ１２０からのリード要求に対する、ＤＲＡＭ１５０からの応答が無効となる期間（ディアサート期間）が短くなる。
【００２０】
以下に、図２及び図３を参照し、リードＤＭＡＣ１２０のディアサート期間が短くなる理由について説明する。
【００２１】
図２は、本実施形態を適用しない場合のＤＲＡＭへの画像データのライト＆リードのタイミングを説明するタイミングチャートである。図３は、本実施形態のＤＲＡＭへの画像データのライト＆リードのタイミングを説明するタイミングチャートである。
【００２２】
尚、図２及び図３において、ライトＤＭＡＣがＤＲＡＭに書き込む画像データの量に対して、リードＤＭＡＣがＤＲＡＭから読み出す画像データのデータ量が多い理由は、以下の２点を前提としているためである。１つ目の理由は、リードＤＭＡＣによるリード動作速度がライトＤＭＡＣによるライト動作速度よりも速いことである。２つ目の理由は、リードＤＭＡＣによるリード動作が開始される時点で、すでにＤＲＡＭに数ライン数分の画像データが蓄積されていることである。
【００２３】
また、図２及び図３では、スキャナが、画像を主走査方向の読み取り速度（ライン周期）をＴとしている。エンジン処理部１００は、スキャナが読み取った画像の画像データの入力を受け付ける。また、図２及び図３では、ライトＤＭＡＣは、入力された１面分の画像データを、４つの転送データに分け、１回の転送時間ＴｒとしてＤＲＡＭに転送している。
【００２４】
図２の例では、ライトＤＭＡＣとリードＤＭＡＣの両方が、連続的にＤＲＡＭにアクセス要求を発行した場合を示している。この場合、ライトＤＭＡＣから発行されたライト要求と、リードＤＭＡＣから発行されたリード要求とが競合するため、ライトＤＭＡＣのライト要求が優先される。よって、リードＤＭＡＣから発行されたリード要求は、ＤＲＡＭにおいて、連続的に受け付けらない。
【００２５】
このため、図２の例では、１ライン中でのリードＤＭＡＣからのリード要求に対するＤＲＡＭの応答が途切れる回数は、最大３回（１ライン目）となる。よって、図２の例では、リードＤＭＡＣの後段のモジュールに対して画像データの転送を連続的に行うためには、リードＤＭＡＣの中に３回分の転送データを一時的に保持するバッファが必要になる。
【００２６】
これに対し、図３に示す本実施形態では、ライトＤＭＡＣ１１０による４回の転送が、ライン周期Ｔの範囲内において、均等の間隔で行われる。言い換えれば、ライトＤＭＡＣ１１０は、タイミングｔ１からタイミングｔ２までの期間Ｔ１２、タイミングｔ２からタイミングｔ３までの期間Ｔ２３、タイミングｔ３からタイミングｔ４までの期間Ｔ３４、タイミングｔ４からライン期間Ｔの終端までの期間Ｔ４０が、それぞれ等しくなるように、転送データの転送を行う。つまり、本実施形態では、ライン周期Ｔにおいて、ライト要求が行われる頻度が平均化される。
【００２７】
尚、タイミングｔ１は、１回目の転送が開始されるタイミングであり、タイミングｔ２は、２回目の転送が開始されるタイミングである。また、タイミングｔ３は、３回目の転送が開始されるタイミングであり、タイミングｔ４は、４回目の転送が開始されるタイミングである。
【００２８】
この場合、リードＤＭＡＣ１２０からのリード要求が、１ライン中にライトＤＭＡＣ１１０からのライト要求と競合して無効となる期間は、最大で１回（２ライン目と５ライン目）となる。よって、図３の例では、リードＤＭＡＣ１２０の後段のモジュールに対して画像データ転送を連続的に行うためには、リードＤＭＡＣ１２０の中に１回分の転送データを一時的に保持するバッファを有していれば良いことになる。
【００２９】
したがって、本実施形態によれば、エンジン処理部１００のリードＤＭＡＣ１２０が、連続的に画像データを後段のモジュールに転送するための必要となる記憶領域（バッファ）の容量を削減することができる。
【００３０】
リードＤＭＡＣ１２０の記憶領域は、エンジン処理部１００を実現するＡＳＩＣに内蔵されるＳＲＡＭ（Static Random Access Memory）により実現される。このため、本実施形態では、本実施形態が適用されない場合と比較して、ＳＲＡＭの容量を削減することができる。
【００３１】
以下に、図４を参照して、本実施形態のエンジン処理部１００が搭載される画像形成装置について説明する。
【００３２】
図４は、本実施形態の画像形成装置を説明する図である。本実施形態の画像形成装置２００は、エンジン部３００と、コントローラ部４００とを有し、エンジン部３００はコントローラ部４００により制御される。本実施形態のエンジン部３００とコントローラ部４００のそれぞれは、後述する各部を実現する回路が実装された基板等である。
【００３３】
初めに、本実施形態のエンジン部３００について説明する。本実施形態のエンジン部３００は、スキャナ３０１、プロッタ３０２、ＤＲＡＭ（Dynamic Random Access Memory）１５０、エンジンＣＰＵ（Central Processing Unit）３０３、エンジン処理部１００を有する。
【００３４】
本実施形態のエンジン部３００において、スキャナ３０１は、原稿の画像を読み取り、読み取った画像データをエンジン処理部１００へ出力する。プロッタ３０２は、エンジン処理部１００から出力される画像データを用いて画像形成を行い、出力する。ＤＲＡＭ１５０は、スキャナ３０１により読み取られた画像データを、エンジン処理部１００を介して蓄積する。エンジンＣＰＵ３０３は、エンジン処理部１００の有する各部を制御する。
【００３５】
本実施形態のエンジン処理部１００は、スキャナ特性補正部１６０、回転処理部１７０、メモリアービタ１３０、ＤＲＡＭ制御部１４０を有する。また、エンジン処理部１００は、画像処理部１８０、ＰＣＩＥ（PCIe Endpoint）インターフェイス１９０、ＣＰＵインターフェイス１９１、プロッタ出力処理部１９２を有する。
【００３６】
スキャナ特性補正部１６０は、スキャナ３０１の特性に応じた補正を行う。具体的には、スキャナ特性補正部１６０は、例えば、シェーディング補正や、γ変換、フィルタ処理、色変換等の処理を行う。尚、スキャナ特性補正部１６０が行う色変換は、ＲＧＢからＣＭＹＫへの変換ではなく、ＲＧＢからＲＧＢへの変換である。
【００３７】
回転処理部１７０は、ＤＲＡＭ１５０への書き込み開始アドレスもしくは読み出し開始アドレスを変更し、画像の回転処理を行う。また、回転処理部１７０は、後述するように、ＤＲＡＭ１５０に対する画像データの書き込みや読み出しを制御する。本実施形態の回転処理部１７０の詳細は後述する。
【００３８】
画像処理部１８０は、入力画像データに各種画像処理を施す画像処理モジュールの集まりである。本実施形態の画像処理部１８０は、例えば、スキャナの特性に応じたγ補正を画像データに施すγ補正部１８１、エッジ強調や平滑化等の周波数特性を変更するフィルタ部１８２、スキャナの色空間から予め定められたＣＭＹＫ色空間に変換する色補正部１８３等を有する。
【００３９】
本実施形態の画像処理部１８０は、画像データに対して種々の画像処理を施した後に、この画像データをＰＣＩＥインターフェイス１９０へ出力する。ＰＣＩＥインターフェイス１９０は、画像データをコントローラ部４００へ転送する。
【００４０】
ＣＰＵインターフェイス１９１は、エンジンＣＰＵ３０３と、他の各部とのインターフェイスである。
【００４１】
プロッタ出力処理部１９２は、ＣＭＹＫの色毎に設けられたおり、色補正部１８３により生成されたＣＭＫＹのそれぞれの画像データをプロッタ３０２へ送信する。
【００４２】
本実施形態のコントローラ部４００は、ＤＲＡＭ４０１、ＨＤＤ（Hard Disk Drive）４０２、コントローラＣＰＵ４０３、コントローラ処理部４１０を有する。ＤＲＡＭ４０１やＨＤＤ４０２には、エンジン部３００から転送された画像データ等が格納される。コントローラＣＰＵ４０３は、後述するコントローラ処理部４１０の有する各部を制御する。
【００４３】
コントローラ処理部４１０は、ＤＲＡＭ制御部４１１、蓄積制御部４１２、画像処理部４１３、ＣＰＵインターフェイス４１４、ＰＣＩＥインターフェイス４１５を有する。
【００４４】
ＤＲＡＭ制御部４１１は、ＤＲＡＭ４０１を制御する。蓄積制御部４１２は、ＨＤＤ４０２への蓄積やＨＤＤ４０２からの読み出しを行う。画像処理部４１３は、画像データに対して変倍処理や階調処理等を行う。
【００４５】
ＣＰＵインターフェイス４１４は、コントローラＣＰＵ４０３とのインターフェイスであり、コントローラＣＰＵ４０３から各種の制御信号等を受け取る。ＰＣＩＥインターフェイス４１５は、エンジン部３００とのインターフェイスであり、エンジン部３００から画像データを受け取る。
【００４６】
次に、本実施形態の回転処理部１７０について説明する。図５は、本実施形態の回転処理部を説明する図である。
【００４７】
本実施形態の回転処理部１７０は、ライトＤＭＡＣ１１０、リードＤＭＡＣ１２０、読み出しアドレス生成部１７１、ＣＰＵインターフェイス１７２を有し、ＤＲＡＭ１５０への画像データの書き込み（蓄積）と、ＤＲＡＭ１５０に蓄積された画像データの読み出しを制御する。
【００４８】
また、本実施形態の回転処理部１７０は、入力端子ＩＮと、入力端子Ｓと、出力端子Ｏｕｔと、を有する。
【００４９】
入力端子ＩＮからは、スキャナ特性補正部１６０から出力される画像データが入力される。入力された画像データは、ライトＤＭＡＣ１１０へ供給される。
【００５０】
入力端子Ｓからは、ＣＰＵインターフェイス１９１を介してエンジンＣＰＵ３０３から制御信号が入力される。この制御信号には、ＤＭＡ（Direct Memory Access）に関連する一般的なパラメータと、回転角度、主走査画素数の設定値、スキャナ３０１のライン周期の設定値等が含まれる。一般的なパラメータとは、例えば、ＤＭＡＣの起動命令、データ転送量、ＤＲＡＭ１５０の開始メモリアドレス等である。
【００５１】
出力端子Ｏｕｔからは、リードＤＭＡＣ１２０により、ＤＲＡＭ１５０から読み出された画像データが出力される。出力端子Ｏｕｔから出力される画像データは、回転処理部１７０の後段の画像処理部１８０へ供給される。
【００５２】
本実施形態のライトＤＭＡＣ１１０は、ライトアクセス間隔カウンタ１１１を有する。ライトアクセス間隔カウンタ１１１には、ライト要求を発行する間隔を示す値が設定される。
【００５３】
また、本実施形態のライトＤＭＡＣ１１０は、入力端子ＩＮから入力された画像データをＤＲＡＭ１５０へ書き込み、蓄積する。すなわち、本実施形態のライトＤＭＡＣ１１０は、入力された画像データを受け付けてメモリに書き込む書込部である。
【００５４】
また、本実施形態のライトＤＭＡＣ１１０は、入力端子Ｓから入力されたライン周期Ｔの設定値と、主走査画素数の設定値と、をＣＰＵインターフェイス１７２を介して受け取る。そして、ライトＤＭＡＣ１１０は、これらの設定値に基づいて、メモリアービタ１３０へ発行するライト要求のタイミングを示すカウント値を算出し、ライトアクセス間隔カウンタ１１１へ設定する。
【００５５】
尚、主走査画素数の設定値は、回転処理部１７０の前段に位置するスキャナ特性補正部１６０において検出されてもよい。この場合、回転処理部１７０は、スキャナ特性補正部１６０から主走査画素数の設定値を受け取れば良く、ＣＰＵインターフェイス１７２から主走査画素数の設定値が供給されなくても良い。ライトＤＭＡＣ１１０によるライト要求の発行のタイミングの詳細は後述する。
【００５６】
本実施形態のリードＤＭＡＣ１２０は、読み出しアドレス生成部１７１により算出された画像データの読み出し開始位置にしたがって、ＤＲＡＭ１５０に蓄積された画像データを読み出す。したがって、本実施形態のリードＤＭＡＣ１２０は、メモリに書き込まれた画像データを読み出す読出部である。
【００５７】
また、本実施形態のリードＤＭＡＣ１２０は、画像データを連続的に後段の画像処理部１８０へ転送するために、読み出した画像データを一時的に保持するバッファ１２１を有する。バッファ１２１は、ＳＲＡＭ等によって実現される。
【００５８】
本実施形態の読み出しアドレス生成部１７１は、ＣＰＵインターフェイス１７２から回転角度を受け取って、回転角度に基づき画像データの読み出し開始位置（読み出し開始アドレス）を算出し、算出した読み出し開始アドレスをリードＤＭＡＣ１２０へ通知する。
【００５９】
本実施形態のＣＰＵインターフェイス１７２は、ライトＤＭＡＣ１１０、リードＤＭＡＣ１２０を起動させ、各種のパラメータを設定する。また、本実施形態のＣＰＵインターフェイス１７２は、主走査画素数レジスタ１７３、ライン周期カウントレジスタ１７４を有する。主走査画素数レジスタ１７３には、スキャナ３０１の主走査方向の画素数の値が設定され、保持される。ライン周期カウントレジスタ１７４は、スキャナ３０１のライン周期Ｔ［ｎｓ］の値が設定され、保持される。
【００６０】
尚、ライン周期Ｔは、エンジン部３００の動作クロック周期とした。具体的には、例えば、動作クロック周期が１０［ｎｓ］（１００ＭＨｚ）の場合に、ライン周期Ｔに、１７９２０［ｎｓ］を設定するためには、１７９２０［ｎｓ］／１０［ｎｓ］＝１７９２をライン周期カウントレジスタ１７４に設定すれば良い。
【００６１】
また、本実施形態の主走査画素数レジスタ１７３、ライン周期カウントレジスタ１７４のそれぞれに設定される値は、例えば、エンジンＣＰＵ３０３により書き換えが可能であっても良い。
【００６２】
次に、図６乃至図９を参照して、本実施形態の回転処理部１７０の動作について説明する。
【００６３】
図６は、ライトＤＭＡＣからＤＲＡＭへのライト要求のタイミングを説明する図である。
【００６４】
図６の例では、ライトＤＭＡＣ１１０のバス幅を１２バイト、ＤＲＡＭ１５０へのアクセスのバースト数を１６とし、１画素のサイズを３バイト（８ｂｉｔ×３版）としている。これらの情報は、画像形成装置２００のハードウェアの仕様によって決まる。
【００６５】
ここで、スキャナ３０１のライン周期Ｔを１７９２０［ｎｓ］とし、主走査画素数を１０２４画素とし、動作クロック周期を１０［ｎｓ］（１００ＭＨｚ）とした場合のライトＤＭＡＣ１１０の動作について説明する。
【００６６】
本実施形態のライトＤＭＡＣ１１０は、こられの各パラメータに基づき、ＤＲＡＭ１５０に対して発行するライト要求のタイミングを決定する。
【００６７】
この場合には、ライトＤＭＡＣ１１０がＤＲＡＭ１５０に対して１回アクセスする度に、１２バイト×１６バースト＝１９２バイトの画像データが転送される。また、画像データにおいて、１画素のサイズが３バイトであるため、１９２バイトは、６４画素となる。つまり、ライトＤＭＡＣ１１０は、１回のライト要求によって、６４画素の画像データをＤＲＡＭ１５０に転送することになる。
【００６８】
ここで、主走査画素数レジスタ１７３には、主走査画素数の値である「１０２４」が設定されている。よって、１ラインにおいて、ライトＤＭＡＣ１１０がＤＲＡＭ１５０へアクセスする回数は、１０２４画素／６４画素の１６回となる。
【００６９】
また、スキャナ３０１のライン周期Ｔを１７９２０［ｎｓ］とした場合、ライトＤＭＡＣ１１０のＤＲＡＭ１５０へのアクセスの間隔は、１７９２０［ｎｓ］／１６［回］となり、１１２０［ｎｓ］となる。
【００７０】
そこで、本実施形態のライトＤＭＡＣ１１０は、ライン周期カウントレジスタ１７４には、動作クロック周期を１単位とした、スキャナ３０１のライン周期［ｎｓ］を設定する。
【００７１】
図６の例では、動作クロック周期は、１０［ｎｓ］（１００ＭＨｚ）である。したがって、ライン周期Ｔを１７９２０［ｎｓ］とするためには、１７９２０［ｎｓ］／１０［ｎｓ］＝１７９２をライン周期カウントレジスタ１７４に設定すれば良い。
【００７２】
ここでは、１ラインあたりに、ライトＤＭＡＣ１１０がＤＲＡＭ１５０に対してアクセスする回数（ライト要求を発行する回数）は、１６回である。したがって、ライトＤＭＡＣ１１０は、「ライン周期カウントレジスタ１７４／１ラインあたりのアクセス回数」の値を算出し、ライトアクセス間隔カウンタ１１１に設定する。ここでは、ライトＤＭＡＣ１１０は、１７９２／１６＝１１２をライトアクセス間隔カウンタ１１１に設定する。
【００７３】
そして、ライトＤＭＡＣ１１０では、ライトアクセス間隔カウンタ１１１のカウント値が１１２となる毎に、アクセストリガがサートされ、ＤＲＡＭ１５０に対してライト要求が１回発行される。本実施形態では、ライトアクセス間隔カウンタ１１１に設定されたカウント値を、アクセストリガ周期と呼ぶ。
【００７４】
本実施形態のライトＤＭＡＣ１１０は、上述したように、アクセストリガ周期を算出して設定することで、図６に示すように、ＤＲＡＭ１５０に対して１１２０［ｎｓ］毎に、ライト要求が発行される。
【００７５】
図７は、アクセストリガ周期毎にライト要求を発行する動作を説明する図である。図７の例では、ライトアクセス間隔カウンタ１１１にアクセストリガ周期として「１１２」が設定された場合を示している。
【００７６】
この場合、ライトＤＭＡＣ１１０は、ライトアクセス間隔カウンタ１１１のカウント値が１１２となったときに、ライト要求を発行し、ＤＲＡＭ１５０に対する画像データの転送（書き込み）を開始し、カウント値をリセットする。
【００７７】
本実施形態のライトＤＭＡＣ１１０では、この処理により、ライト要求を発行する間隔を均等にすることができる。言い換えれば、本実施形態では、この処理により、ライン周期において、前記書込要求が行われる頻度を平均化する。
【００７８】
次に、図８を参照し、リードＤＭＡＣ１２０によるリード要求のタイミングについて説明する。図８は、ＤＲＡＭに対するリードＤＭＡＣのリード要求の発行のタイミングを説明する図である。
【００７９】
本実施形態のリードＤＭＡＣ１２０は、スキャナ３０１のライン周期Ｔに依存することなく、メモリアービタ１３０に対して連続的にリード要求を発行する。
【００８０】
メモリアービタ１３０では、リード要求よりも、ライト要求の方が優先順位が高いため、リード要求がライト要求と重なると、リード要求がウエイト状態とされる。
【００８１】
図８では、リードＤＭＡＣ１２０は、ライトＤＭＡＣ１１０からＤＲＡＭ１５０に対して画像データの書き込みが行われていない期間ｔ８１の間は、ＤＲＡＭ１５０から画像データを読み出すことができる。また、リードＤＭＡＣ１２０は、ライトＤＭＡＣ１１０からＤＲＡＭ１５０に対してライト要求が発行され、画像データの書き込みが行われる期間ｔ８２の間は、ライトＤＭＡＣ１１０による画像データの書き込みが優先されるため、画像データの読み出しが途切れる。
【００８２】
図８では、１ライン目では、リードＤＭＡＣ１２０による画像データの読み出しは、２回途切れることがわかる。また、２ライン目では、リードＤＭＡＣ１２０による画像データの読み出しは、３回途切れることがわかる。
【００８３】
リードＤＭＡＣ１２０では、このように、ＤＲＡＭ１５０からの画像データの読み出しが途切れた場合でも、後段の画像処理部１８０に連続して画像データを転送するために、バッファ１２１を備えている。
【００８４】
さらに、本実施形態では、ライトＤＭＡＣ１１０において、ライト要求が発行される間隔が均等となるようにして、画像データの読み出しが途切れる回数を低減しているため、バッファ１２１の容量も、本実施形態が適用されない場合と比較して、低減される。
【００８５】
以下に、図９を参照して、リードＤＭＡＣ１２０の有するバッファ１２１の容量について説明する。図９は、リードＤＭＡＣの有するバッファへの画像データの書き込みと読み出しの様子を示す図である。
【００８６】
図９では、リードＤＭＡＣ１２０が、図８に示す２ライン目の画像データをＤＲＡＭ１５０から読み出す場合に着目している。
【００８７】
図９の例では、ライトＤＭＡＣ１１０がＤＲＡＭ１５０に画像データの書き込み（転送）を行っている間に、リードＤＭＡＣ１２０がＤＲＡＭ１５０から画像データを読み出すことができる回数は、６回となる。この回数は、ライトアクセス間隔カウンタ１１１の値「１１２」と、１回のＤＲＡＭ１５０へのアクセスのバースト長「１６」から求められる。
【００８８】
また、１ラインあたりに、ライトＤＭＡＣ１１０がＤＲＡＭ１５０へ画像データの転送する回数は、１６回である。よって、１ライン中に、リードＤＭＡＣ１２０によるリード要求が途切れる回数は、１６回／６回より、２回もしくは３回となる。
【００８９】
よって、リードＤＭＡＣ１２０では、データ入力からデータ出力までのレイテンシ（遅延時間）は、「リード要求が途切れる回数＋１」回分の転送時間となる。すなわち、図８、図９の例では、３回＋１＝４回分の転送時間Ｋが、リードＤＭＡＣ１２０のレイテンシとなる。
【００９０】
このため、リードＤＭＡＣ１２０に備えられたバッファ１２１に必要な容量は、レイテンシと１回分の転送時間によって転送されるデータ量となる。つまり、リードＤＭＡＣ１２０に必要なバッファ１２１の容量は、「レイテンシ＋１」＝５回分の転送によって転送されるデータ量であり、１９２バイト×５＝９６０バイトとなる。
【００９１】
これに対し、図１０の例では、本実施形態が適用されない場合のリードＤＭＡＣの有するバッファの容量について示している。図１０は、本実施形態が適用されない場合のリードＤＭＡＣの有するバッファの容量を説明する図である。
【００９２】
図１０の例では、ライト要求が１６回続けて発行されているため、１ラインにおいて、ライト要求が途切れる回数は８回であり、リードＤＭＡへのデータ入力からデータ出力までのレイテンシは、１６回分の転送時間となる。このため、リードＤＭＡＣには、１７回分の転送時間によって転送されるデータ量を保持するバッファが必要となる。つまり、図１０の例では、リードＤＭＡＣの有するバッファは、１９２バイト×１７＝３２６４バイトが必要となる。
【００９３】
このように、本実施形態を適用しない場合は、リードＤＭＡＣに設けるバッファでは、本実施形態を適用した図９の例と比較して、３倍以上の容量が必要となることがわかる。言い換えれば、本実施形態によれば、リードＤＭＡＣ内のデータの転送速度の差を緩衝するためのメモリの容量を削減できることがわかる。
【００９４】
尚、本実施形態の画像形成装置２００では、読み取り原稿の回転機能によって、１面分のスキャナからの読取画像を一時的にＤＲＡＭに格納する構成としているが、これに限定されない。本実施形態は、例えば、１パス両面同時読取機能を有し、表面と裏面を同時に読み取る構成の画像形成装置に適用されても良い。本実施形態では、１面分のスキャナにより読み取った画像データを一時的にＤＲＡＭに書き込む構成を有する画像形成装置に適用できる。
【００９５】
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。
【符号の説明】
【００９６】
１００  画像処理部
１１０  ライトＤＭＡＣ
１１１  ライトアクセス間隔カウンタ
１２０  リードＤＭＡＣ
１２１  バッファ
１３０  メモリアービタ
１４０  ＤＲＡＭ制御部
１５０  ＤＲＡＭ
１７０  回転処理部
１７３  主走査画素数レジスタ
１７４  ライン周期カウントレジスタ
２００  画像形成装置
３００  エンジン処理部
３０１  スキャナ
４００  コントローラ部
【先行技術文献】
【特許文献】
【００９７】
【特許文献１】特開２０１５−１４１５２８号公報
【特許文献２】特開２０１２−１０４１６０号公報
【特許文献３】特開２０１０−１９１４９２号公報
【図１】
2018110365.tif 000003
【図２】
2018110365.tif 000004
【図３】
2018110365.tif 000005
【図４】
2018110365.tif 000006
【図５】
2018110365.tif 000007
【図６】
2018110365.tif 000008
【図７】
2018110365.tif 000009
【図８】
2018110365.tif 000010
【図９】
2018110365.tif 000011
【図１０】
2018110365.tif 000012