(57)【要約】【課題】メモリに対する読み出し要求の頻度が、メモリに対する書き込み要求の頻度より多い場合でも、メモリからのデータ読み出しを適切に行うことで、異常データの出力を防止する。【解決手段】集積回路は、メモリから読み出したデータを転送する出力制御手段と、転送されたデータを所定単位毎にカウントするカウント手段と、メモリに対してデータを書き込む書込手段から、書き込まれたデータが所定単位毎にカウントされた値を取得する取得手段と、カウント手段によりカウントされた第１カウント値と、取得手段により取得された第２カウント値との比較結果が、第１カウント値の方が第２カウント値よりも多い場合、出力制御手段によるデータ転送処理を停止するよう制御する比較手段と、を備える。【選択図】図３
2013186757.tif 000002
【特許請求の範囲】
【請求項１】
メモリから読み出したデータを転送する出力制御手段と、
前記転送されたデータを所定単位毎にカウントするカウント手段と、
前記メモリに対してデータを書き込む書込手段から、書き込まれたデータが所定単位毎にカウントされた値を取得する取得手段と、
前記カウント手段によりカウントされた第１カウント値と、前記取得手段により取得された第２カウント値との比較結果が、前記第１カウント値の方が前記第２カウント値よりも多い場合、前記出力制御手段によるデータ転送処理を停止するよう制御する比較手段と、
を備える集積回路。
【請求項２】
前記比較手段は、
予め設定された差分値と、前記第２カウント値から前記第１カウント値を減算した値とを比較し、前記減算した値の方が前記差分値よりも多い場合、前記出力制御手段によるデータ転送処理を許可するよう制御する請求項１記載の集積回路。
【請求項３】
前記書込手段は、
前記カウント手段からカウントされた前記第１カウント値を取得する取得手段と、前記比較手段とを有し、
前記比較手段による比較制御を、前記書込手段により行わせることを選択可能とする請求項１又は２記載の集積回路。
【請求項４】
複数の画像処理部にそれぞれ対応する書込手段がある場合、
比較対象とする書込手段を選択可能とする請求項１乃至３いずれか一項に記載の集積回路。
【請求項５】
前記メモリに対する書き込み要求の頻度よりも、前記メモリに対する読み出し要求の頻度の方が多くなる場合がある請求項１乃至４いずれか一項に記載の集積回路。
【請求項６】
請求項１乃至５いずれか一項に記載の集積回路と、
複数のライン単位で処理を行うプロッタと、
前記プロッタの処理に基づき、前記集積回路に対して複数のライン単位でデータの読み出し要求を行う第２の集積回路と、
を備える画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路及び画像形成装置に関する。
【背景技術】
【０００２】
従来、ＡＳＩＣ（Application Specific Integrated Circuit）などの集積回路、および集積回路が搭載されている装置に対し、画像メモリの書込手段と読出手段の並列制御に関する技術がある。
【０００３】
例えば、特許文献１には、ｍ画素単位でメモリに書き込む書込手段による処理ライン数と、メモリにｍラインのデータが蓄積された後に読み出す読出手段による処理ライン数との比較結果に基づいて、中間バッファを再帰的に使用する技術が記載されている。これにより、中間バッファメモリ量を少なくすることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来技術のラインメモリ（例えば中間バッファ）を使った書込手段と読出手段との並列制御では、読み出し要求の頻度より書き込み要求の頻度の方が速いという利用形態を前提としている。
【０００５】
例えば、読み出し制御側は、プロッタの書き込み線速に合わせたライン単位の読み出し要求の頻度となり、書き込み制御側はメモリ上にある画像データを読み出し加工して書き込むという書き込み線速と非同期な書き込み要求の頻度となる場合がある。
【０００６】
この場合における従来技術では、書き込み要求の頻度＞読み出し要求の頻度、であり、読み出し側のライン数を書き込み側で監視し、ラインメモリの書き込み制御を行っていた。
【０００７】
しかしながら、プロッタエンジンがインクジェットなどの複数のライン単位で処理をする形態の場合、書き込み要求の頻度＜読み出し要求の頻度、となる場合がある。この場合、ラインメモリに書き込まれた書き込み済みライン数以上に読み出しが行われてしまい、異常なデータ（例えば異常画像）が出力されるという問題があった。
【０００８】
そこで、本発明は、上記問題に鑑みてなされたものであり、メモリに対する読み出し要求の頻度が、メモリに対する書き込み要求の頻度より多い場合でも、メモリからのデータ読み出しを適切に行うことで、異常データの出力を防止することができる集積回路及び画像形成装置を提供することを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一態様における集積回路は、メモリから読み出したデータを転送する出力制御手段と、前記転送されたデータを所定単位毎にカウントするカウント手段と、前記メモリに対してデータを書き込む書込手段から、書き込まれたデータが所定単位毎にカウントされた値を取得する取得手段と、前記カウント手段によりカウントされた第１カウント値と、前記取得手段により取得された第２カウント値との比較結果が、前記第１カウント値の方が前記第２カウント値よりも多い場合、前記出力制御手段によるデータ転送処理を停止するよう制御する比較手段と、を備える。
【発明の効果】
【００１０】
本発明によれば、メモリに対する読み出し要求の頻度が、メモリに対する書き込み要求の頻度より多い場合でも、メモリからのデータ読み出しを適切に行うことで、異常データの出力を防止することができる。
【図面の簡単な説明】
【００１１】
【図１】実施例における画像形成装置の構成の一例を示すブロック図。
【図２】実施例におけるコントローラＡＳＩＣの構成の一例を示すブロック図。
【図３】リードＤＭＡＣの構成の一例を示すブロック図。
【図４】回転出力する場合の具体例を説明するための図。
【図５】ライトＤＭＡＣの構成の一例を示すブロック図。
【図６】実施例におけるメモリアクセス制御処理の一例を示すフローチャート。
【発明を実施するための形態】
【００１２】
以下、本発明の実施例を図面に基づいて説明する。
［実施例］
＜画像形成装置＞
図１は、実施例における画像形成装置１０の構成の一例を示すブロック図である。図１に示す画像形成装置１０は、ＣＰＵ（Central Processing Unit）１０１、メインメモリ１０２、チップセット１０３、スキャナ１０４、プロッタ１０５、画像処理ＡＳＩＣ（Application Specific Integrated Circuit）１０６、コントローラＡＳＩＣ１０７、及びＩ／Ｏ  ＡＳＩＣ１０８を有する。
【００１３】
ＣＰＵ１０１は、画像形成装置１０を制御するためのものである。ＣＰＵ１０１は、メインメモリ１０２などに記憶される各プログラムを実行することで画像形成装置１０の制御が可能になる。
【００１４】
メインメモリ１０２は、例えばＲＡＭ（Random Access Memory）などであり、ＣＰＵ１０１が画像形成装置１０を制御するためのプログラムが展開され、そのワーク領域として使用されたり、扱うデータなどを一時保管したりするものである。扱うデータとしては、例えば画像データがある。画像データは、文字などの文書データも含む。
【００１５】
チップセット１０３は、ＣＰＵ１０１と共に用いられ、ＣＰＵ１０１、コントローラＡＳＩＣ１０７、又はＩ／Ｏ  ＡＳＩＣ１０８がメインメモリ１０２にアクセスすることを制御する。
【００１６】
スキャナ１０４は、コピーする画像データや外部インターフェースへ出力するための画像データを読み取る機能を有している。
【００１７】
プロッタ１０５は、メインメモリ１０２に記憶された画像データを印刷するための機能を有している。プロッタ１０５は、例えば、複数のライン単位で画像形成処理を行うことができるインクジェット方式のプロッタである。
【００１８】
画像処理ＡＳＩＣ１０６は、スキャナ１０４から読み取られた画像データに対して画像処理を行い、コントローラＡＳＩＣ１０７に画像データを出力する。また、画像処理ＡＳＩＣ１０６は、コントローラＡＳＩＣ１０７から入力された画像データをプロッタ１０５において印刷できるように画像処理したり、プロッタ１０５の印刷タイミングに合わせて画像データをプロッタ１０５に出力したりする。
【００１９】
コントローラＡＳＩＣ１０７は、チップセット１０３を介してメインメモリ１０２を用いて画像形成装置１０で扱う画像データの回転、編集、又は伸長などを行う。また、コントローラＡＳＩＣ１０７は、内部に備えられるＨＤＤ（Hard Disk Drive）に画像データを蓄積し、画像処理ＡＳＩＣ１０６と画像データの送受信を行う。
【００２０】
Ｉ／Ｏ  ＡＳＩＣ１０８は、画像形成装置１０に付加機能を与えるための外部インターフェースである。Ｉ／Ｏ  ＡＳＩＣ１０８は、例えば、ネットワークインターフェース、ＵＳＢ（Universal Serial Bus）、ＳＤ（Secure Digital）カード、操作部、ＳＰＩ（Serial Peripheral Interface）、Ｉ２Ｃ（Inter-Integrated Circuit）などのインターフェースや画像処理を高速化するためのハードウェアアクセラレータ、暗号化処理回路などが具備されている。
【００２１】
＜コントローラＡＳＩＣ＞
次に、画像形成装置１０のコントローラＡＳＩＣ１０７について説明する。図２は、実施例におけるコントローラＡＳＩＣ１０７の構成の一例を示すブロック図である。図２に示すコントローラＡＳＩＣ１０７は、アービタ２０１、ＰＣＩｅ（Peripheral Component Interconnect Express）ＥｎｄＰｏｉｎｔ２０２、ＰＣＩｅＲｏｏｔ２０３、回転器２０４、編集器２０５、ＨＤＤ２０６、圧縮伸長器２０７、ビデオ入力回路２０８、ビデオ出力回路２０９、及びレジスタ制御回路２１０を有する。
【００２２】
また、メインメモリ１０２にアクセスする回転器２０４、編集器２０５、ＨＤＤ２０６、圧縮伸長器２０７、ビデオ入力回路２０８、ビデオ出力回路２０９は、ＤＭＡＣ（Direct Memory Access Controller）に接続されている。
【００２３】
以降では、ビデオ出力回路２０９のリード（Ｒｅａｄ）ＤＭＡＣ２１１ｒ、ビデオ出力回路２０９のライト（Ｗｒｉｔｅ）ＤＭＡＣ２１１ｗ、回転器２０４のリードＤＭＡＣ２１２ｒ、回転器２０４のライトＤＭＡＣ２１２ｗについて説明するが、各ＤＭＡＣは同様の機能を持つ。
【００２４】
アービタ２０１は、全てのＤＭＡＣと接続されており、各ＤＡＭＣからのメインメモリ１０２に対するアクセス要求をアビトレーション処理する。
アービタ２０１は、各ＤＭＡＣからのライトアクセス要求及びリードアクセス要求を調停して、ＰＣＩｅＥｎｄＰｏｉｎｔ２０２に渡す。
【００２５】
アービタ２０１は、スキャナデータやプロッタデータのライン処理における等時性を確保するために、ビデオ入出力ＤＭＡＣからのアクセス要求を優先的に処理できるアビトレーションアルゴリズムとなっている。
【００２６】
ＰＣＩｅＥｎｄＰｏｉｎｔ２０２は、チップセット１０３との接続がＰＣＩｅとなっており、その制御を行う。ＰＣＩｅＥｎｄＰｏｉｎｔ２０２は、アービタ２０１でアビトレーションされたＤＭＡＣの要求に従い、メインメモリ１０２からデータをリードしたり、ライトしたりする。
【００２７】
また、ＰＣＩｅＥｎｄＰｏｉｎｔ２０２は、チップセット１０３を介してＣＰＵ１０１からコントローラＡＳＩＣ１０７内の各機能モジュールに対して、レジスタ制御回路２０１を介してレジスタのリード／ライト制御を行う。
【００２８】
ＰＣＩｅＲｏｏｔ２０３は、画像処理ＡＳＩＣ１０６との接続がＰＣＩｅとなっており、その制御を行う。ＰＣＩｅＲｏｏｔ２０３は、画像処理ＡＳＩＣ１０６からのスキャナデータのライトを受け付けたり、プロッタデータのリードを受け付けたりする。
【００２９】
回転器２０４（２０４ａ，２０４ｂ）は、メインメモリ１０２に記憶されたデータ（例えば画像データ）をリードし、レジスタ設定に従い、回転処理を行ってメインメモリ１０２に書き戻す。以降では、扱うデータは、画像データを例にして説明する。
【００３０】
編集器２０５は、例えば２種類の画像データをメインメモリ１０２からリードし、レジスタ設定に従い、合成などの編集処理を行ってメインメモリ１０２に書き戻す。
【００３１】
ＨＤＤ２０６は、コントローラＡＳＩＣ１０７で扱う画像データを一時保存する。メインメモリ１０２に記憶された画像データは、ＨＤＤ２０６にライトされる。また、ＨＤＤ２０６に一時保存された画像データは、ＨＤＤ２０６からリードされてメインメモリ１０２にライトされる。
【００３２】
圧縮伸長器２０７（２０７ａ，２０７ｂ）は、メインメモリ１０２に記憶された画像データを圧縮したり、伸長したりする。
【００３３】
ビデオ入力回路２０８は、画像処理ＡＳＩＣ１０６で処理されたスキャナデータをＰＣＩｅＲｏｏｔ２０３経由で入力し、メインメモリ１０２にライトするようＤＡＭＣを制御する。
【００３４】
ビデオ出力回路２０９（２０９ａ〜２０９ｄ）は、コントローラＡＳＩＣ１０７で回転や編集などの処理がなされた画像データを、ＰＣＩｅＲｏｏｔ２０３経由で画像処理ＡＳＩＣ１０６に出力する。この画像データは、画像処理ＡＳＩＣ１０６を介してプロッタ１０５に出力される。
【００３５】
レジスタ制御回路２１０は、ＣＰＵ１０１からコントローラＡＳＩＣ１０７内の各機能モジュールに対しての制御要求に基づき、レジスタのリード／ライト制御を行う。
【００３６】
なお、コントローラＡＳＩＣ１０７は、圧縮伸長器２０７で圧縮された画像データをメインメモリ１０２からリードし、内部の伸長器で伸長してメインメモリ１０２を介さずにそのまま画像処理ＡＳＩＣ１０６に出力する機能を有してもよい。
【００３７】
また、コントローラＡＳＩＣ１０７は、メインメモリ１０２に記憶されたスタンプ画像を対象画像と共にリードして、合成処理がなされた画像データをそのまま画像処理ＡＳＩＣ１０６に出力する機能なども有してもよい。また、コントローラＡＳＩＣ１０７は、不正コピーガードを行うための地紋データなどを埋め込む機能を有していてもよい。
【００３８】
＜ＤＭＡＣ＞
次に、ビデオ出力回路２０７のリードＤＭＡＣ２１１ｒについて説明する。図３は、リードＤＭＡＣ２１１ｒの構成の一例を示すブロック図である。図３に示すリードＤＭＡＣ２１１ｒは、制御レジスタ３０１、出力制御手段３０２、及び比較手段３０４を有する。
【００３９】
まず、ビデオ出力回路２０９のリードＤＡＭＣ２１１ｒは、基本的な機能として、メインメモリ１０２に記憶された画像データをリードし、入力された画像データをビデオ出力回路２０９に出力する。
【００４０】
制御レジスタ３０１は、ＣＰＵ１０１からチップセット１０３を介してのレジスタアクセスを制御し、動作パラメータや起動及び割り込みなどのレジスタを有している。
【００４１】
出力制御手段３０２は、制御レジスタ３０１により起動され、指定されたメモリアドレス、主走査幅、所定単位数（例えばライン数）に従い、メインメモリ１０２に記憶された画像データをチップセット１０３を介して２次元的にリードする。
【００４２】
出力制御手段３０１は、メインメモリ１０２からリードした画像データを、ビデオ出力回路２０９に転送する。ビデオ出力回路２０９に転送された画像データは、ＰＣＩｅＲｏｏｔ２０３を介して画像処理ＡＳＩＣ１０６のリード要求に従って転送される。
【００４３】
また、出力制御手段３０２は、カウンタとしての機能を有するカウント手段３０３を有する。カウント手段３０３は、出力制御手段３０２による画像データの転送中に、処理される所定単位数をカウントする。ここでは、所定単位は、例えばライン単位とし、カウント手段３０２は、転送されたライン数をカウント値とする。カウント手段３０２は、カウントされた値としてのライン数を比較手段３０４に通知する。
【００４４】
出力制御手段３０２は、指定された主走査幅、ライン数分の画像データの転送が完了すると、完了通知を制御レジスタ３０２に行う。また、出力制御手段３０２は、エラーが発生した場合は、図示しない操作パネルにエラー表示するような機能を有してもよい。
【００４５】
比較手段３０４は、出力制御手段３０２（カウント手段３０３）から通知されたビデオ出力回路２０９のリードＤＭＡＣ２１１ｒの処理ライン数（第１カウント値）と、ＤＭＡＣ２１１ｒ以外のＤＭＡＣから通知された処理ライン数（第２カウント値）を比較する。
【００４６】
比較手段３０４は、取得手段３０５を有し、取得手段３０５は、ＤＭＡＣ２１１ｒ以外のＤＭＡＣから処理ライン数を取得する。ＤＭＡＣ２１１ｒ以外のＤＭＡＣは、例えば、回転器２０４のライトＤＭＡＣ２１２ｗである。
【００４７】
比較手段３０４は、比較結果に基づいて、出力制御手段３０２のデータ転送処理を許可又は停止するよう制御する。例えば、比較手段３０４は、カウント手段３０３によりカウントされた第１カウント値と、取得手段３０５により取得された第２カウント値との比較結果が、第１カウント値の方が第２カウント値よりも多い場合、出力制御手段３０２によるデータ転送処理を停止するよう制御する。
【００４８】
また、比較手段３０４は、予め設定された差分値と、第２カウント値から第１カウント値を減算した値とを比較し、減算した値の方が差分値よりも多い場合、出力制御手段３０２によるデータ転送処理を許可するよう制御する。
【００４９】
なお、比較対象のライトＤＡＭＣは、選択可能とする。例えば、比較手段３０４は、編集器２０５のライトＤＭＡＣからメインメモリ１０２にライトされた処理ライン数を取得したりしてもよい。
【００５０】
また、比較手段３０４は、制御レジスタ３０１から処理ライン数の比較処理機能のＯＮ／ＯＦＦを設定されたり、制御レジスタ３０１から差分ライン数の通知を受けて比較処理を行ったりしてもよい。
【００５１】
また、コントローラＡＳＩＣ１０７は、書込手段において、書込手段による処理ライン数と、読出手段による処理ライン数とを比較してデータ転送処理を制御する機能を有し、書込手段による比較処理を選択可能としてもよい。書込手段は、ライトＤＭＡＣに対応し、読出手段は、リードＤＭＡＣに対応する。
【００５２】
これにより、プロッタ１０５がレーザーの場合でもインクジェットの場合でも、同じ回路でメモリアクセス制御を行うことができる。
【００５３】
（比較処理の詳細）
次に、処理ライン数の比較処理の詳細について説明する。出力制御手段３０２は、制御レジスタ３０１により起動されると、アービタ２０１にリード要求を発行する。これに伴い、出力制御手段３０２は、メインメモリ１０２から画像データのリード応答を受信する。
【００５４】
出力制御手段３０２は、メインメモリ１０２からリードした画像データを、ビデオ出力回路２０９に送信する。このとき、出力制御手段３０２は、動作パラメータの設定に応じて、主走査およびライン数の追加／削除などの編集を行ってもよい。
【００５５】
出力制御手段３０２は、設定された主走査、ライン数となるまでこの動作を繰り返し行い、設定サイズ（主走査×ライン数）のデータ転送が完了したら転送完了割り込みの通知を制御レジスタ３０１に行う。
【００５６】
このとき、カウント手段３０３は、リード動作が完了したライン数をカウントする。カウント手段３０３は、カウント値としての処理ライン数情報を比較手段３０４に通知する。同様に、ＤＭＡＣ２１１ｒ以外の各ＤＭＡＣも処理ライン数の通知を行う。
【００５７】
これらの処理ライン数情報を受けた比較手段３０４は、ライトされた処理ライン数（第２カウント値）とリードした処理ライン数（第１カウント値）、制御レジスタ３０１から通知された差分ライン数を用いて比較する。
【００５８】
比較手段３０４は、一度に読み出す処理量と一度に書き込む処理量との差分に相当する値として設定された差分ライン数を、制御レジスタ３０１から取得して保持し、第２カウント値から第１カウント値を減算した値と、差分ライン数とを比較する。差分ライン数は、例えば記録ヘッドのライン数と一度に書き込むライン数との差分である。
【００５９】
これにより、バッファのメモリ容量を装置の処理速度に合わせて必要最小限の容量に調整することが可能になる。
【００６０】
具体的には、比較手段３０４は、以下の条件１を満たす場合に、転送許可を出力制御手段３０２に通知する。
ライトした処理ライン数−リードした処理ライン数＞差分ライン数  ・・・条件１
以下では、ライトした処理ライン数を、ライト処理ライン数とも呼び、リードした処理ライン数をリード処理ライン数とも呼ぶ。
【００６１】
比較手段３０４は、上記の条件１を満たさない場合、転送処理を停止するよう出力制御手段３０２に通知する。これにより、出力制御手段３０２は、メインメモリ１０２からのリード処理を停止する。
【００６２】
ライト動作が遅く、リード動作が速い場合などは、比較手段３０４は、上記の条件が成り立つようにリード動作側を転送許可したり停止したりして制御を行う。
【００６３】
これにより、メインメモリ１０２にライトされる前にリードすることがなくなり、異常画像の出力を防止することができる。
【００６４】
＜具体例＞
次に、コントローラＡＳＩＣ１０７で画像データに対して回転処理を行い、画像処理ＡＳＩＣ１０６に出力する具体例について説明する。
【００６５】
図４は、回転出力する場合の具体例を説明するための図である。図４に示す例では、説明を簡単にするため、チップセット１０３を省略している。
【００６６】
まず、プロッタ１０５が従来のレーザープリンタの場合、画像処理ＡＳＩＣ１０６から１ライン分の書き込みシンクタイミングごとに、コントローラＡＳＩＣ１０７に対して１ライン分の画像データのリード要求が行われる。このリード要求に伴って、１シンクごとに１ライン分の画像データが、メインメモリ１０２から画像処理ＡＳＩＣ１０６に転送される。
【００６７】
しかしながら、プロッタ１０５がインクジェットエンジンなどの場合、インクジェット方式のプロッタ１０５は、ラインヘッドを持ち、複数ライン単位で書き込みを行う。よって、画像処理ＡＳＩＣ１０６からは、複数ライン分の画像データのリード要求がコントローラＡＳＩＣ１０７に対して行われ、シンクタイミングごとの要求発行間隔ではない場合が生じる。
【００６８】
この場合、図４に示すメインメモリ１０２内の画像処理用バッファ４０２への回転器２０４のライトＤＭＡＣ２１２ｗのライト速度と、ビデオ出力回路２０９のリードＤＭＡＣ２１１ｒのリード速度の関係が、ライト速度＜リード速度、となってしまう。
【００６９】
なお、メインメモリ１０２は、画像データを保持するページメモリ領域４０１と、画像処理（例えば回転処理）された画像データをバッファリングする画像処理用バッファ４０２とを有する。
【００７０】
上記の通り、ライト速度＜リード速度となってしまった場合、画像処理された画像データが、画像処理用バッファ４０２にライトされる前に、リードＤＭＡＣ２１１ｒによりリードされることになり、異常データ（例えば異常画像）の発生原因となってしまう。
【００７１】
異常データの出力を未然に防止するために、本実施例で行われる処理について、以下説明する。
【００７２】
メインメモリ１０２には、ページメモリ領域４０１に用意された画像データと、１２８ラインの画像処理用バッファ４０２があるものとする。画像処理用バッファ４０２は、中間バッファなどとも呼ばれる。本実施例では、回転器２０４は、このページメモリ領域４０１に記憶された画像データを、リード動作時に９０度回転する。
【００７３】
回転器２０４は、回転された画像データを、ライト動作時に画像処理用バッファ４０２に０度回転を行う。
【００７４】
ビデオ出力回路２０９のリードＤＭＡＣ２１１ｒが、画像処理用バッファ４０２からＰＣＩｅを介して画像処理用ＡＳＩＣ１０６に出力する動作を行うものとする。
【００７５】
また、プロッタ１０５は、インクジェットエンジンのような複数ライン単位で、帰線期間分を待たずにリード転送するものとする。帰線期間は、例えば主走査方向に走査した記録ヘッドが元の位置に戻るまでの時間をいう。
【００７６】
上記の条件において、まず、レジスタ制御回路２１０は、回転器２０４のリードＤＭＡＣ、ライトＤＭＡＣ、及びビデオ出力回路２０９のリードＤＭＡＣを起動するよう制御する。
【００７７】
このとき、プロッタ１０５のエンジンが起動すると、画像処理ＡＳＩＣ１０６は、コントローラＡＳＩＣ１０７に対してヘッドライン数分の複数リード要求を出力する。
【００７８】
回転器２０４のリードＤＭＡＣ２１２ｒが、ページメモリ領域４０１から画像データをリードする。回転器２０４は、リードされた画像データを回転する。回転処理が行われた後、ライトＤＭＡＣ２１２ｗは、回転処理された画像データを画像処理用バッファ４０２にライトする。
【００７９】
このとき、ライトＤＭＡＣ２１２ｗは、転送処理済みのライン数をカウントし、ビデオ出力回路２０９のリードＤＭＡＣ２１１ｒにカウント値（ライト処理ライン数）を通知する。
【００８０】
ビデオ出力回路２０９のリードＤＭＡＣ２１１ｒは、制御レジスタ３０１により設定された差分ライン数（差分値）を取得して保持しておく。リードＤＭＡＣ２１１ｒは、差分ライン数と、回転器２０４のライトＤＭＡＣ２１２ｗから通知を受けた処理ライン数と、ビデオ出力回路２０９に転送したリード処理ライン数とを用いて比較処理を行う。
【００８１】
リードＤＭＡＣ２１１ｒは、比較結果により、画像処理用バッファ４０２からさらに画像データをリードするかを制御する。
【００８２】
前述したように、画像処理ＡＳＩＣ１０６は、複数ラインのリード要求を、帰線期間が経過する前に行うため、ライト処理ライン数−リード処理ライン数＝＜差分ライン数、となってしまう。
【００８３】
このため、ビデオ出力回路２０９のリードＤＭＡＣ２１１ｒ内の比較手段３０４が転送許可を出さないため、ビデオ出力回路２０９のリードＤＭＡＣ２１１ｒのリード転送処理がＷａｉｔ状態となる。
【００８４】
この間、回転器２０４のライトＤＭＡＣ２１２ｗは、画像処理用バッファ４０２にライト動作を続け、ライン数の差分が差分ライン数より多くなる。よって、比較手段３０４が再び、転送許可を行うため、ビデオ出力回路２０９のリードＤＭＡＣ２１１ｒは、リード転送を再開する。
【００８５】
これにより、インクジェットエンジンのプロッタ２０５では、ライン間欠の動作となり、異常画像を発生させることなく印刷動作が可能となる。
【００８６】
なお、本実施例では、処理ライン数の比較処理を、書込手段で行うようにしてもよい。図５は、ライトＤＭＡＣ２１２ｗの構成の一例を示すブロック図である。図５に示すライトＤＭＡＣ２１２ｗは、制御レジスタ５０１、出力制御手段５０２、及び比較手段５０４を有する。また、出力制御手段５０２は、カウント手段５０３を有し、比較手段５０４は、取得手段５０５を有する。
【００８７】
各手段の基本的な処理は、図３に示す各手段と同様である。比較手段５０４は、特許文献１に記載された処理と同様に、ライトＤＭＡＣ２１２ｗが画像処理用バッファ４０２のメモリ以上の書き込みを行わないようにアクセス制御する。
【００８８】
コントローラＡＳＩＣ１０７は、プロッタ１０５がレーザーか複数ライン単位のインクジェットかによって、書込手段により比較処理を行うか、読出手段により比較制御を行うかをユーザにより選択させるようにしてもよい。
【００８９】
また、コントローラＡＳＩＣ１０７は、プロッタの識別情報などで、プロッタ１０５の種別（レーザー又はインクジェットなど）を取得できれば、比較処理を行わせる手段を自動で選択してもよい。
【００９０】
また、コントローラＡＳＩＣ１０７は、上述した回転器２０４の代わりに、コントローラＡＳＩＣ１０７内の他の画像データを扱うライトＤＭＡＣによるライン処理数で比較処理を行ってもよい。例えば、コントローラＡＳＩＣ１０７は、編集器２０５や圧縮伸長器２０７のライトＤＭＡＣを選択可能とすることで、いずれの処理器からの処理ライン数を用いるかを決定してもよい。
【００９１】
これにより、ビデオ出力回路２０９のリードＤＭＡＣと、他のライトＤＭＡＣとの組み合わせが選択可能となり、回転動作の他に編集動作、伸長動作などのライン数を比較することができるようになる。よって、いろいろなアプリケーションに対して本実施例を適用することができる。
【００９２】
＜動作＞
次に、実施例における画像形成装置１０の動作について説明する。図６は、実施例におけるメモリアクセス制御処理の一例を示すフローチャートである。図６に示す処理は、１回のリード要求に対する処理である。
【００９３】
ステップＳ１０１で、出力制御手段３０２は、メインメモリ１０２からデータのリード応答を受信する。
【００９４】
ステップＳ１０２で、出力制御手段３０２は、メインメモリ１０２からリードしたデータを、ビデオ出力回路２０９を介して画像処理ＡＳＩＣ１０６に転送する。
【００９５】
ステップＳ１０３で、出力制御手段３０２は、設定された主走査、ライン数を転送したかを判定する。所定数の転送をしていれば（ステップＳ１０３−ＹＥＳ）ステップ１０４に進み、所定数の転送をしていなければ（ステップＳ１０３−ＮＯ）ステップＳ１０１に戻る。このとき、カウント手段３０３は、リード動作が完了したライン数をカウントする。
【００９６】
ステップＳ１０４で、比較手段３０４は、ライトされた所定単位の処理数（第２カウント値）とリードした所定単位の処理数（第１カウント値）、制御レジスタ３０１から通知された差分値に基づき、例えば条件１を満たすかを判定する。条件１を満たせば（ステップＳ１０４−ＹＥＳ）ステップＳ１０６に進み、条件１を満たさなければ（ステップＳ１０４−ＮＯ）ステップＳ１０５に進む。
【００９７】
ステップＳ１０５で、出力制御手段３０２は、待機し、メインメモリ１０２からデータをリードすることを停止する。
【００９８】
ステップＳ１０６で、出力制御手段３０２は、全データを画像処理ＡＳＩＣ１０６に転送したかを判定する。全データを転送していれば（ステップＳ１０６−ＹＥＳ）処理を終了し、全データを転送していなければ（ステップＳ１０６−ＮＯ）ステップＳ１０１に戻る。
【００９９】
以上、実施例によれば、メモリに対する読み出し要求の頻度が、メモリに対する書き込み要求の頻度より多い場合でも、メモリからのデータ読み出しを適切に行うことで、異常データの出力を防止することができる。また、プロッタがインクジェットなどの複数ライン単位で処理する場合、ライン単位での間欠動作が可能であり、書き込み側のライン数を読み出し側で監視して、適切な読み出し制御を行うことができる。
【０１００】
なお、本発明は、上記実施例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施例に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施例に示される全構成要素からいくつかの構成要素を削除してもよい。
【符号の説明】
【０１０１】
１０  画像処理装置
１０１  ＣＰＵ
１０２  メインメモリ
１０３  チップセット
１０５  プロッタ
１０６  画像処理ＡＳＩＣ
１０７  コントローラＡＳＩＣ
２０１  アービタ
２０２  ＰＣＩｅＥｎｄＰｏｉｎｔ
２０３  ＰＣＩｅＲｏｏｔ
２０４  回転器
２０９  ビデオ出力回路
２１１、２１２  ＤＭＡＣ
３０１、５０１  制御レジスタ
３０２、５０２  出力制御手段
３０３、５０３  カウント手段
３０４、５０４  比較手段
３０５、５０５  取得手段
【先行技術文献】
【特許文献】
【０１０２】
【特許文献１】特開２００１−１２７９７３号公報
【図１】
2013186757.tif 000003
【図２】
2013186757.tif 000004
【図３】
2013186757.tif 000005
【図４】
2013186757.tif 000006
【図５】
2013186757.tif 000007
【図６】
2013186757.tif 000008