(57)【要約】【課題】コスアップを招くことなく、走査ラインの曲がりに起因する歪みがない画像形成を行うことができる画像形成を提供する。【解決手段】ＤＭＡコントローラ２０９には、ＤＭＡコントローラ３０１が設けられている。ＤＭＡコントローラ３０１には、複数のデータバッファ（８１１〜８１８）が設けられ、複数のデータバッファにはそれぞれ異なる副走査方向のアドレスを対応付けられる。そして、曲がり情報に基づいて、画像データの主走査方向における所定数の画素データが対応するデータバッファに保持される。データバッファのそれぞれに保持されている画素データは、データバッファのそれぞれに対応付けられている副走査方向のアドレスに基づいて画像メモリ２０３に出力される。【選択図】図２
2010064254.tif 000002
【特許請求の範囲】
【請求項１】
画像データに基づいて変調された照射光により像担持体を主走査方向に走査する露光手段を備える画像形成装置において、
画像データをライン単位で入力する入力手段と、
前記入力手段により入力された画像データを記憶する記憶手段と、
前記記憶手段のそれぞれ異なる副走査方向のアドレスに対応付けられた複数のデータ保持手段と、
前記像担持体に対する前記照射光による走査ラインの曲がりを補正するための曲がり情報に基づいて、前記ライン単位で入力された画像データを構成する画素データを前記複数のデータ保持手段のいずれかに書き込む書き込み手段と、
前記複数のデータ保持手段に含まれる特定のデータ保持手段に前記書き込み手段により所定数の画素データが書き込まれた場合に、該所定数の画素データを、前記記憶手段における前記特定のデータ保持手段に対応付けられた副走査方向のアドレスに書き込むよう制御する制御手段と、
前記記憶手段に書き込まれた画像データを、副走査方向のアドレスを変えることなく主走査方向のアドレスを切り替えながらライン単位で読み出して、前記露光手段に転送する転送手段と、
を備えることを特徴とする画像形成装置。
【請求項２】
画像データに基づいて変調された照射光により像担持体を主走査方向に走査する露光手段を備える画像形成装置において、
画像データを入力する入力手段と、
前記入力手段により入力された画像データを記憶する記憶手段と、
前記記憶手段のそれぞれ異なる副走査方向のアドレスに対応付けられた複数のデータ保持手段と、
前記像担持体に対する前記照射光による走査ラインの曲がりを補正するための曲がり情報に基づいて、前記ライン単位で入力され前記記憶手段に記憶された前記画像データを、前記複数のデータ保持手段のうち、前記画像データの副走査方向のアドレスに対応付けられた前記データ保持手段に読み出す読み出し手段と、
前記複数のデータ保持手段に含まれる特定のデータ保持手段に前記書き込み手段により所定数の画素データが書き込まれた場合に、該所定数の画素データを前記特定のデータ保持手段から出力するよう制御する制御手段と、
前記制御手段により前記特定のデータ保持手段から読み出された画像データを前記露光手段に転送する転送手段と、
を備えることを特徴とする画像形成装置。
【請求項３】
前記複数のデータ保持手段は、それぞれ、予め設定されたバースト転送量の２倍の画素データを保持可能なダブルバッファを有し、
前記制御手段は、前記書き込み手段により前記特定のデータ保持手段に前記バースト転送量分の画素データが書き込まれた場合に、該バースト転送量分の画素データをバースト転送により出力して前記記憶手段に書き込むよう制御することを特徴とする請求項１に記載の画像形成装置。
【請求項４】
前記複数のデータ保持手段は、それぞれ、予め設定されたバースト転送量分の２倍の画素データを保持可能なダブルバッファを有し、
前記制御手段は、前記読み出し手段により前記特定のデータ保持手段に前記バースト転送量分の画素データが読み出された場合に、該バースト転送量分の画素データを前記特定のデータ保持手段からバースト転送により出力することを特徴とする請求項２に記載の画像形成装置。
【請求項５】
画像データに基づいて変調された照射光をより像担持体を主走査方向に走査する露光手段を備える画像形成装置の制御方法において、
画像データをライン単位で入力する入力工程と、
前記入力工程により入力された画像データを記憶手段に記憶する記憶工程と、
前記像担持体に対する前記照射光による走査ラインの曲がりを補正するための曲がり情報に基づいて、前記ライン単位で入力された画像データを構成する画素データを、前記記憶手段のそれぞれ異なる副走査方向のアドレスに対応付けられた複数のデータ保持手段のいずれかに書き込む書き込み工程と、
前記複数のデータ保持手段に含まれる特定のデータ保持手段に前記書き込み工程により所定数の画素データが書き込まれた場合に、該所定数の画素データを、前記記憶手段における前記特定のデータ保持手段に対応付けられた副走査方向のアドレスに書き込むよう制御する制御工程と、
前記書き込み工程で前記記憶手段に書き込まれた画像データを、副走査方向のアドレスを変えることなく主走査方向のアドレスを切り替えながらライン単位で読み出して、前記露光手段に転送する転送工程と、
を備えることを特徴とする画像形成装置の制御方法。
【請求項６】
画像データに基づいて変調された照射光により像担持体を主走査方向に走査する露光手段を備える画像形成装置の制御方法において、
画像データを入力する入力工程と、
前記入力工程により入力された画像データを記憶手段に記憶する記憶工程と、
前記像担持体に対する前記照射光による走査ラインの曲がりを補正するための曲がり情報に基づいて、前記ライン単位で入力され前記記憶手段に記憶された前記画像データを、前記記憶手段のそれぞれ異なる副走査方向のアドレスに対応付けられた複数のデータ保持手段のうち、前記画像データの副走査方向のアドレスに対応付けられた前記データ保持手段に読み出す読み出し工程と、
前記複数のデータ保持手段に含まれる特定のデータ保持手段に前記書き込み工程により所定数の画素データが書き込まれた場合に、該所定数の画素データを前記特定のデータ保持手段から出力するよう制御する制御工程と、
前記制御工程で前記特定のデータ保持手段から読み出された画像データを前記露光手段に転送する転送工程と、
を備えることを特徴とする画像形成装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子写真方式を用いる画像形成装置およびその制御方法に関する。
【背景技術】
【０００２】
従来から、電子写真方式の画像形成装置が知られている。この電子写真方式の画像形成装置においては、レーザ光源から画像データに基づいて変調されたレーザ光が発光され、当該レーザ光は、帯電された感光ドラムに対して走査されながら当該感光ドラム上に照射される。これにより、感光ドラムには、静電潜像が形成される。この静電潜像は、現像器から供給されたトナーにより、トナー像として可視像化される。感光ドラム上のトナー像は、転写器により、シート（記録紙）上に転写される。
【０００３】
ここで、１ライン分の画像データに基づいたレーザ光が感光ドラム上に照射された場合、その走査ラインは、理想的には感光ドラムの軸方向に平行な直線となる。しかし、実際には、レーザ光源、感光ドラムなどの取り付け位置に係る機械的な誤差により、感光ドラムの軸方向に平行な直線とならない場合がある。即ち、走査ラインが曲がることがある。
【０００４】
このような走査ラインの曲がりを補正するための方法として、例えば以下のような第１の方法（特許文献１参照）および第２の方法（特許文献２参照）が提案されている。
【０００５】
第１の方法は、露光ユニットを画像形成装置本体へ組み付ける工程で、光学センサを用いて走査ラインの傾きの大きさを測定し、露光ユニットを機械的に傾かせて走査ラインの傾きを調整した上で画像形成装置本体へ組み付けるものである。
【０００６】
第２の方法は、光学センサを用いて走査ラインの傾きと曲がりの大きさを測定し、走査ラインの傾きと曲がりを相殺するようにビットマップデータを補正し、その補正したビットマップデータに基づいて画像を形成するものである。
【０００７】
上記第２の方法は、画像データを処理するという電気的な手法で、走査ラインの曲がりを補正し、レジストレーションずれの発生を抑制するものである。そのため、第２の方法は、機械的な調整部材、組立時の調整工程が不要となる点で、上記第１の方法に比して、安価にレジストレーションずれの発生を抑制することができる。
【特許文献１】特開２００３−２４１１３１号公報
【特許文献２】特開２００４−１７０７５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記第２の方法においては、走査ラインの曲がり部分での上下ラインのブレンド処理を行うために、ラインバッファが使用される。このラインバッファの必要な容量は、走査ラインの曲がり幅に依存する。例えば、走査ラインの曲がり幅がビットマップデータのＮライン分であれば、Ｎライン分のビットマップデータを記憶可能な容量のラインバッファが必要である。ここで、Ｎラインの本数は、装置毎にばらつきがある。実際に実装されるラインバッファの容量は、このばらつきの最大値を超えるライン数に対応しなければならない。これにより、ラインバッファの容量が増大し、ビットマップ画像データを補正するための回路規模が大きくなり、コストアップを招くことになる。
【０００９】
本発明の目的は、コスアップを招くことなく、走査ラインの曲がりに起因する歪みがない画像形成を行うことができる画像形成装置を提供することにある。
【課題を解決するための手段】
【００１０】
本発明は、上記目的を達成するため、画像データに基づいて変調された照射光により像担持体を主走査方向に走査する露光手段を備える画像形成装置において、画像データをライン単位で入力する入力手段と、前記入力手段により入力された画像データを記憶する記憶手段と、前記記憶手段のそれぞれ異なる副走査方向のアドレスに対応付けられた複数のデータ保持手段と、前記像担持体に対する前記照射光による走査ラインの曲がりを補正するための曲がり情報に基づいて、前記ライン単位で入力された画像データを構成する画素データを前記複数のデータ保持手段のいずれかに書き込む書き込み手段と、前記複数のデータ保持手段に含まれる特定のデータ保持手段に前記書き込み手段により所定数の画素データが書き込まれた場合に、該所定数の画素データを、前記記憶手段における前記特定のデータ保持手段に対応付けられた副走査方向のアドレスに書き込むよう制御する制御手段と、前記記憶手段に書き込まれた画像データを、副走査方向のアドレスを変えることなく主走査方向のアドレスを切り替えながらライン単位で読み出して、前記露光手段に転送する転送手段と、を備えることを特徴とする画像形成装置を提供する。
【００１１】
また、本発明は、上記目的を達成するため、画像データに基づいて変調された照射光により像担持体を主走査方向に走査する露光手段を備える画像形成装置において、画像データを入力する入力手段と、前記入力手段により入力された画像データを記憶する記憶手段と、前記記憶手段のそれぞれ異なる副走査方向のアドレスに対応付けられた複数のデータ保持手段と、前記像担持体に対する前記照射光による走査ラインの曲がりを補正するための曲がり情報に基づいて、前記ライン単位で入力され前記記憶手段に記憶された前記画像データを、前記複数のデータ保持手段のうち、前記画像データの副走査方向のアドレスに対応付けられた前記データ保持手段に読み出す読み出し手段と、前記複数のデータ保持手段に含まれる特定のデータ保持手段に前記書き込み手段により所定数の画素データが書き込まれた場合に、該所定数の画素データを前記特定のデータ保持手段から出力するよう制御する制御手段と、前記制御手段により前記特定のデータ保持手段から読み出された画像データを前記露光手段に転送する転送手段と、を備えることを特徴とする画像形成装置を提供する。
【００１２】
また、本発明は、上記目的を達成するため、画像形成装置の制御方法を提供する。
【発明の効果】
【００１３】
本発明によれば、像担持体に対する照射光による走査ラインの曲がりを補正する際に複雑なアドレスの生成をすることなく画像データの記憶手段への書き込み（記憶手段からの読み出し）を行って露光手段への画像データの転送を行うことができる。その結果、コスアップを招くことなく、走査ラインの曲がりに起因する歪みがない画像形成を行うことができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態について図面を参照しながら説明する。
【００１５】
（第１の実施の形態）
図１は本発明の第１の実施の形態に係る画像形成装置の構成を示す図である。本実施の形態においては、画像形成装置として、複数の機能を実現する複合機であるＭＦＰ（Multi Function Peripheral）について説明する。
【００１６】
画像形成装置１００は、図１に示すように、原稿台とオートドキュメントフィーダ（ＡＤＦ）を含む画像読取部１０４を備える。画像読取部１０４においては、ＡＤＦから給送された原稿または原稿台に載置された原稿が光源（図示せず）により照明され、当該原稿からの反射光がレンズ（図示せず）を介して固体撮像素子（図示せず）上に結像される。上記固体撮像素子は、結像された光像を画像信号に変換する。この画像信号は、所定密度（例えば６００ｄｐｉ）のラスタ画像を示す信号であり、当該信号は、データ処理部１０１に送られる。ここで、画像読取部１０４で読み取られる原稿としては、紙原稿、紙以外の記録媒体（例えばＯＨＰシート、フィルムなどの透過原稿、布など）からなる印刷物などがある。
【００１７】
データ処理部１０１は、読取データ処理部１０９、印字データ処理部１１０、およびデバイス制御部１０８を有する。読取データ処理部１０９は、画像読取部１０４からの画像信号に対してシェーディング補正、γ補正などの各種処理を施し、当該処理が施された画取信号を画像データとして、印字データ処理部１１０に出力する。印字データ処理部１１０は、上記画像データを画像印字部１０６が印字可能なデータに変換し、画像印字部１０６に出力する。また、印字データ処理部１１０は、必要に応じて上記画像データを記憶部１０５に格納する。
【００１８】
ここで、画像印字部１０６は、電子写真方式により画像形成を行うものである。具体的には、画像データに基づいてレーザ光が変調される。この変調されたレーザ光は、副走査方向に回転する感光ドラム（像担持体）に対して主走査方向に走査されながら当該感光ドラム上に照射される。これにより、感光ドラムには、静電潜像が形成される。この静電潜像は、現像器から供給されたトナーにより、トナー像として可視像化される。感光ドラム上のトナー像は、転写器により、シート（記録紙）上に転写される。
【００１９】
デバイス制御部１０８には、操作部１０３、表示部１０２およびネットワークＩ／Ｆ（インタフェース）１０７が接続されている。操作部１０３は、ユーザが、コピー枚数の設定、使用する記録媒体の設定、動作モードの設定などに関する情報を入力するためのキー群（図示せず）および表示部（図示せず）を有する。操作部１０３は、ユーザのキー群の操作に応じて入力された情報をデバイス制御部１０８に出力する。また、操作部１０３は、ユーザにより設定された内容を示す情報、デバイス制御部１０８からの送出された情報（装置状態を示す情報など）の各種情報を表示部に表示する。
【００２０】
デバイス制御部１０８は、操作部１０３を介して入力された情報に基づいて、上記読取データ処理部１０９、印字データ処理部１１０などの各部を制御し、各種の機能を実現する。例えば、画像読取部１０４により原稿から画像を読み取り、画像印字部１０６により、原稿から読み取られた画像を記録媒体上に記録するコピー機能が実現される。また、ネットワークＩ／Ｆ１０７を介してＬＡＮなどのネットワーク上の外部装置から転送された画像データを記録媒体上に記録するプリンタ機能が実現される。また、画像読取部１０４により原稿から読み取られた画像データを、ネットワークＩ／Ｆ１０７を介してネットワーク上の外部装置へ転送するネットワークスキャナ機能が実現される。
【００２１】
次に、データ処理部１０１に設けられている印字データ処理部１１０およびデバイス制御部１０８の詳細な構成について図２を参照しながら説明する。図２は図１のデータ処理部１０１に設けられている印字データ処理部１１０およびデバイス制御部１０８の詳細な構成を示すブロック図である。
【００２２】
データ処理部１０１のデバイス制御部１０８は、図２に示すように、ＣＰＵ２０５を有する。ＣＰＵ２０５は、システムバス２１４を介して、ＲＯＭ２０７、ＲＡＭ２０６、操作部Ｉ／Ｆ２０１、ホストＩ／Ｆ２０２、画像メモリ（画像記憶手段）２０３および画像データ発生部２０４と接続される。ＣＰＵ２０５は、ＲＡＭ２０６を作業領域として、ＲＯＭ２０７に格納されているプログラムに従い各種処理を実行する。システムバス２１４は、アドレスバスとシステムバス（図示せず）から構成される。
【００２３】
操作部Ｉ／Ｆ２０１は、操作部１０３とＣＰＵ２０５の間で情報のやり取りを行うインタフェースを構成する。例えば、操作部１０３においてユーザにより入力された各種指示が、操作部Ｉ／Ｆ２０１を介してＣＰＵ２０５に送られる。また、ＣＰＵ２０５により生成された、操作部１０３の表示部に表示すべき情報が、操作部Ｉ／Ｆ２０１を介して走査部１０３に送られる。
【００２４】
ホストＩ／Ｆ２０２は、データ処理部１０１とネットワークＩ／Ｆ１０７との間でやり取りされるデータの入出力部を構成する。ホストＩ／Ｆ２０２には、データ処理部１０１から送出された印刷データや装置の動作を指示するための設定値を入力する入力バッファ（図示せず）が設けられている。また、ホストＩ／Ｆ２０２には、データ処理部１０１へ送出する信号および機器情報データを含む出力データを一時的に保持する出力バッファ（図示せず）が設けられている。
【００２５】
画像データ発生部２０４は、ホストＩ／Ｆ２０２を介して入力された印刷データの解析を行い、その解析結果から中間言語を生成し、さらに画像印字部（プリンタエンジン）１０６が処理可能なビットマップデータ生成を行う。ここで、入力される印刷データは、例えばＰＤＬ（ページ記述言語）データからなる。具体的には、印刷データの解析とその解析による中間言語情報の作成が行われるとともに、その中間言語情報の作成と並行してラスタライズ処理が行われる。このラスタライズ処理は、印刷データに含まれる表示色Ｒ，Ｇ，Ｂを画像印字部１０６が処理可能なＹ，Ｍ，Ｃ，Ｋへ変換する処理である。また、印刷データに含まれる文字コードから予め格納されているビットパターン、アウトラインフォントなどのフォントデータへの変換などの処理が行われる。その後、ラスタライズ処理により、ページ単位あるいはバンド単位でビットマップデータが作成され、このビットマップデータに対して、ディザパターンを用いる疑似階調処理が施される。これにより、画像印字部１０６が印刷処理可能なビットマップデータ（画像データ）が生成される。上記生成された画像データは、画像メモリ２０３に書き込まれる。
【００２６】
印字データ処理部１１０は、複数のＤＭＡコントローラ２０８Ａ，Ｂおよび２０９を有する。各ＤＭＡコントローラ２０８Ａ，２０９は、ＣＰＵ２０５からの指示に基づいて画像メモリ２０３への画像データの書き込みおよび読み出しを制御するものである。ＤＭＡコントローラ２０８Ｂは、ＣＰＵ２０５からの指示に基づいて、画像メモリ２０３からの画像データの読み出しを制御するものである。
【００２７】
ＤＭＡコントローラ２０８Ａは、画像メモリ２０３から画像データを読み出し、画像処理部２１０に転送する。画像処理部２１０は、上記画像データに対して、画像印字部１０６の特性に応じたハーフトーンなどの処理を行う。この処理後の画像データは、再度ＤＭＡコントローラ２０８Ａにより、画像メモリ２０３に転送されて書き込まれる。
【００２８】
次いで、ＤＭＡコントローラ２０９により、画像メモリ２０３から上記処理後の画像データが読み出され、印字装置用画像処理部２１１へ転送される。印字装置用画像処理部２１１は、上記画像データに対して、画像印字部１０６の特性に応じた画像処理を行う。この画像処理後の画像データは、ＤＭＡコントローラ２０９により、再度画像メモリ２０３に転送されて書き込まれる。
【００２９】
次いで、ＤＭＡコントローラ２０８Ｂにより、画像メモリ２０３から上記画像処理後の画像データが読み出されてブレンド処理部２１２に転送される。ブレンド処理部２１２は、上記画像データに対してブレンド処理を行う。
【００３０】
ブレンド処理部は、画素単位未満の色ずれを補正する階調補正手段である。階調補正は、色ずれ補正量の小数点以下のずれ量を副走査方向の前後のドットにおける露光比率を調整することで行われる。色ずれ補正量は補正係数および副走査方向の前後のドットにおける露光量の分配率を用いて予め決められた演算式によって算出される。算出された補正量を曲がりが発生する箇所において、階調補正が必要と判断された画素に対して元画像の階調が変更されて、ラインが切り替わることによる画像の凸凹が緩和される。階調補正された露光イメージは、印字装置Ｉ／Ｆ２１３を介して、ビデオ信号として画像印字部１０６に転送される。
【００３１】
印字装置Ｉ／Ｆ２１３は、画像印字部１０６との間で送受信される信号の入出力部を構成する。印字装置Ｉ／Ｆ２１３には、画像印字部１０６へ転送するビデオ信号を一時的に保持する出力バッファ（図示せず）と、画像印字部１０６から送出された信号を一時的に保持する入力バッファ（図示せず）が設けられている。
【００３２】
次に、ＤＭＡコントローラ２０９の詳細な構成について図３を参照しながら説明する。図３は図２のＤＭＡコントローラ２０９の詳細な構成を示すブロック図である。
【００３３】
ＤＭＡコントローラ２０９は、図３に示すように、画像メモリ２０３からの画像データの読み出しを行うためのＤＭＡコントローラ３００と、画像メモリ２０３への画像データの書き込みを行うためのＤＭＡコントローラ３０１から構成される。
【００３４】
ＤＭＡコントローラ３００は、ＣＰＵ２０５により設定されたスタートアドレス、エンドアドレス、転送バイト長に基づいて、ＤＭＡ（Direct Memory Access）動作を行う汎用ＤＭＡコントローラである。ＤＭＡコントローラ３０１は、画像メモリ２０３への画像データの書き込みを行うＤＭＡコントローラであるが、画像メモリ２０３からの画像データの読み出しを行うＤＭＡコントローラとして機能させることも可能である。
【００３５】
ＤＭＡコントローラ３０１は、レジスタ部３０２、画像データＩ／Ｆ部３０４、バスアクセス情報部３０６、およびバスインタフェース部３０９を含む。レジスタ部３０２は、複数のレジスタ（図示せず）から構成される。ＤＭＡコントローラ３０１に対するＣＰＵ２０５からの指示は、バスインタフェース２１４とＣＰＵＩ／Ｆ３０３を介して、レジスタ部３０２の各レジスタに適切な値を書き込むことにより、行われる。
【００３６】
画像データＩ／Ｆ部３０４は、画像処理データＩ／Ｆ３０５を介して、印字装置用画像処理部２１１と接続されている。画像処理データＩ／Ｆ３０５は、画素データをサイクル単位で転送するバスであり、当該バスを転送される信号は、ｖａｌｉｄ信号およびデータ信号からなる。ＤＭＡコントローラ３０１に取り込まれた画素データは、バスアクセス情報部３０６のデータバッファ部３０７にバッファリングされる。
【００３７】
バスアクセス情報部３０６には、データバッファ部３０７とアドレスレジスタ部３０８からなる複数のセットが設けられる。セットの数は、走査ラインの曲がり特性に応じて副走査方向のアドレスの変更分である最大のライン乗り換え数に相当する数である。また、バスアクセス情報部３０６は、データバッファ部３０７のバッファ状態を管理しており、バッファがフル（ｆｕｌｌ）状態になることを監視する。ここで、読み込みＤＭＡコントローラの場合には、バッファが空（ｅｍｐｔｙ）状態になることが監視される。バッファがフル（または空）状態になると、バスインタフェース部３０９が、システムバス２１４に対して、データバスＩ／Ｆ３１０を介して、バスアクセス要求を行う。アクセス要求が確立すると、バスインタフェース部３０９は、バスアクセス情報部３０６のアドレス情報およびデータを読み出しながら、画像メモリ２０３に転送する。さらに、バスアクセス情報部３０６のアドレス値の制御を行うバスインタフェース部３０９からの転送完了通知に従って、アドレスが順次増加される。そして、１ライン分のデータ転送を完了すると、予め設定された設定値が加算されて次のラインへアドレスカウンタ値への移動が行われる。
【００３８】
ここでは、ＤＭＡコントローラ２０９の構成について説明したが、ＤＭＡコントローラ２０８Ａも、ＤＭＡコントローラ２０９と同様の構成するものである。また、ＤＭＡコントローラ２０８Ｂは、画像データを画像印字部１０６に転送するものであるので、画像メモリ２０３からの画像データの読み出しを行うためのＤＭＡコントローラ３００のみから構成される。
【００３９】
次に、ＤＭＡコントローラ２０９のＤＭＡコントローラ３０１のレジスタ部３０２について図４および図５を参照しながら説明する。図４は画像メモリ２０３内の画像データに関連するレジスタ情報４０１と曲がり情報に応じたレジスタ情報４０２を示す図である。図５は画像サイズに関するレジスタ情報５０１を示す図である。
【００４０】
レジスタ部３０２には、主に、以下の表１に示すようなレジスタが設けられている。
【００４１】
【表１】
2010064254.tif 000003
【００４２】
(*1) : ０〜 Ｎ（正の整数）のいずれかの値が入る。
(*2) : Reg_SINGLE_MODEとは、ライン端部のデータをどのように処理するかを選択するモードレジスタである。１ページの画像データを画像メモリ２０３上に隙間無く詰めて格納する場合は、ライン端部の端数データに対してシングルアクセスモード（single access mode）によるアクセスを行う必要がある。このモードは、メモリ容量を削減する場合に有効である。これに対し、バースト転送モード（burst transfer mode）は、ライン端部の端数データ（ダミーデータ）をパディングしてデータバッファ部３０７にバースト転送し、バースト長分格納することが可能なモードである。このバースト転送モードは、パフォーマンスを優先する場合に有効となる。Reg_SINGLE_BYTEレジスタは、シングルアクセスモード（Reg_SINGLE_MODE）が有効か否かに応じてデータの有効および無効を判断するためのものである。
【００４３】
例えば図４および図５に示すように、各レジスタには、それぞれ対応するレジスタ情報が設定され、このレジスタ情報に基づいて画像データの書き込みが行われる。
【００４４】
次に、画像印字部１０６の走査ラインの曲がりを補正する方法について図６および図７を参照しながら説明する。図６（ａ）は画像処理部２１０によって生成された画像メモリ２０３上のデータ配置を模式的に示す図である。図６（ｂ）は画像印字部１０６において生じる走査ラインの曲がりを補正するための画像データの曲がりを模式的に示す図である。図７（ａ）は画像処理部２１０による画像処理後に画像メモリ２０３に出力された画像データを模式的に示す図である。図７（ｂ）は曲がり情報（レジスタ情報）に応じて画像メモリ２０３に書き込まれた画像データを模式的に示す図である。
【００４５】
例えば図６（ａ）に示すように、画像印字部１０６の走査ラインの曲がりに関係なく、画像データが画像メモリ２０３に矩形状に書き込まれているとする。ここで、画像印字部１０６における主走査方向の走査において、図６（ｂ）に示すように、走査ラインに曲がりが生じる場合を想定する。この場合、曲がり情報に応じて、副走査方向へのラインの切り換えを行いながら、画像データを画像印字部１０６に出力すれば、走査ラインの曲がりを補正することができる。その結果、感光ドラム上には、歪みがない静電潜像が形成されることになる。即ち、走査ラインの曲がりに起因する歪みがない画像形成を行うことができる。
【００４６】
具体的には、上記画像メモリ２０３に書き込まれている画像データ（図６（ａ））を画像印字部１０６に出力する場合、上記画像処理部２１０によって画像処理された画像データは、１ライン毎に、ＤＭＡコントローラ２０９のＤＭＡコントローラ３００により読み出される。そして、読み出された１ライン毎の画像データは、印字装置用画像処理部２１１に転送される。
【００４７】
次いで、印字装置用画像処理部２１１において、１ライン毎の画像データに対して、対応する画像処理が施される。ここで、上記対応する画像処理が１ライン毎に施された画像データは、図７（ａ）に示すように、画像メモリ２０３上に矩形状に書き込まれているものである。
【００４８】
印字装置用画像処理部２１１において対応する画像処理が施された１ライン毎の画像データに関しては、その画素データ７０１が１画素ずつＤＭＡコントローラ３０１に入力される。ＤＭＡコントローラ３０１は、走査ラインの曲がり特性を示す曲がり情報に応じて、入力された画素データに対する副走査方向の書き込みアドレスを書き換えながら、当該画素データを画像メモリ２０３上に書き込む。これにより、図７（ａ）に示す画素データ７０１は、図７（ｂ）に示す画素データ７０２として画像メモリ２０３に書き込まれることになる。このようにして、上記曲がり情報に応じて副走査方向の書き込みアドレスを変えながら、画素データが画像メモリ２０３に書き込まれる。そして、最終的には画像データ７０３が得られる。ここで、図７（ｂ）中、グレーで示す部分７０４は、曲がり情報に応じて書き込まれた画像データを囲むために生成されたダミー画像群であり、当該ダミー画素群により、画像データの書き込み領域が、見かけ上矩形領域になる。
【００４９】
次に、ＤＭＡコントローラ２０９のＤＭＡコントローラ３０１の動作について図８〜図１４を参照しながら説明する。図８は図３のＤＭＡコントローラ３０１（ＤＭＡコントローラ２０９）の内部構成を示すブロック図である。図９はＤＭＡコントローラ３０１に設定されるレジスタ情報の一例を示す図である。図１０はＣＰＵ２０５がレジスタ情報をＤＭＡコントローラ３０１に設定する手順を示すフローチャートである。図１１はＤＭＡコントローラ３０１の画像データＩ／Ｆ部３０４の動作を示すフローチャートである。図１２はＤＭＡコントローラ３０１のバスインタフェース部３０９の動作を示すフローチャートである。図１３および図１４はＤＭＡコントローラ３０１のバスアクセス情報部３０６の動作を示すフローチャートである。
【００５０】
ＤＭＡコントローラ３０１は、図８に示すように、バスアクセス情報部３０６を有する。バスアクセス情報部３０６は、アドレス情報、アドレスレジスタ、バッファ状態管理フラグ、データバッファを含む複数のセットから構成される。各セットのそれぞれに含まれるデータバッファは、バースト転送長の２倍の容量を有し、アドレスレジスタは、１ライン分のアドレス情報を格納することができる。本例の場合、バスアクセス情報部３０６は、８つのセットを有し、８ライン分のアドレス情報とデータの一部を保持することが可能である。ここで、各セットのデータバッファ８１１〜８１８（データ保持手段）は、Ｂｕｆｆｅｒ０〜Ｂｕｆｆｅｒ７とし、これらのバッファには、対応する副走査方向のアドレスが対応付けられ、曲がり情報に基づいて、対応する画素データが保持される。
【００５１】
画像メモリ２０３に画像データを書き込むＤＭＡコントローラ３０１に対しては、画像印字部１０６における走査ラインの曲がり特性を示す曲がり情報を設定する必要がある。この曲がり情報は、ＣＰＵ２０５により、レジスタ情報としてＤＭＡコントローラ３０１に設定される。レジスタ情報としては、例えば図９に示すような情報がある。
【００５２】
次に、ＣＰＵ２０５によりＤＭＡコントローラ３０１にレジスタ情報を設定するための手順について説明する。
【００５３】
ＣＰＵ２０５は、図１０に示すように、ＤＭＡコントローラ３０１のレジスタ部３０２に、曲がり情報（Reg_SA，Reg_BL，Reg_LNOFS，Reg_BLKLNNUM，Reg_SP）を設定する（ステップＳ１００１）。ＤＭＡコントローラ３０１において、レジスタ部３０２に設定された曲がり情報は、読み出されてバスインタフェース部３０９に設定される。続いて、ＣＰＵ２０５は、上記レジスタ部３０２に、ページ情報（Reg_PIXELNUM_X、Reg_PIXELNUM_Y）を設定する（ステップＳ１００２）。レジスタ部３０２に設定されたページ情報は、読み出されて画像データＩ／Ｆ部３０４に設定される。そして、ＣＰＵ２０５は、上記レジスタ部３０２に、共通情報（Reg_PX，Reg_PIXELBYTE，Reg_BurstLength）を設定する。ここで、曲がり情報の設定、ページ情報の設定、共通情報を設定は、任意の順番で行うことができる。
【００５４】
次いで、ＣＰＵ２０５は、ＤＭＡコントローラ３０１に対して、動作開始を指示する（ステップＳ１００４）。上記動作開始が指示されたＤＭＡコントローラ３０１は、上記設定されたページ情報に基づいて、対応するページサイズ分動作する。この動作が終了すると、ＤＭＡコントローラ３０１は、ＣＰＵ２０５に対して終了通知を行う。
【００５５】
ＣＰＵ２０５は、上記ＤＭＡコントローラ３０１からの終了通知を受信するのを待ち（ステップＳ１００５）、当該終了通知を受信すると、終了処理を行う（ステップＳ１００６）。そして、ＣＰＵ２０５は、本処理を終了する。
【００５６】
次に、ＤＭＡコントローラ３０１の画像データＩ／Ｆ部３０４の動作について説明する。
【００５７】
画像データＩ／Ｆ部３０４は、図１１に示すように、ＣＰＵ２０５によりレジスタ部３０２に設定された情報の中から、画像データの書き込み制御に必要な情報として、ページ情報および共通情報を取得する（ステップＳ１１０１およびＳ１１０２）。そして、画像データＩ／Ｆ部３０４は、ＣＰＵ２０５からの動作開始指示（ステップＳ１００４）に基づいて、動作を開始する（ステップＳ１１０３）。この動作開始により、画像データＩ／Ｆ部３０４は、画像データを受信可能な状態になる。
【００５８】
次いで、画像データＩ／Ｆ部３０４は、ページの先頭に対する仮想画素を生成する（ステップＳ１１０４）。この仮想画素は、Reg_PX[*]の値に従って生成される画素であり、当該画素は、データバッファ部３０７に転送される。
【００５９】
１ライン目に関しては、Reg_PX0＝５、Reg_PX1＝４、Reg_PX2＝６、Reg_PX3＝７、Reg_PX4＝８の合計３０画素がバスアクセス情報部３０６の１組目のデータバッファに出力される。続いて、Reg_SP4＝１が確認されて、２ライン目の仮想画素生成が行われる。２ライン目に関しては、Reg_PX0＝５、Reg_PX1＝４、Reg_PX2＝６、Reg_PX3＝７の合計２２画素が２組目のデータバッファに出力される。３ライン目に関しては、Reg_PX0＝５、Reg_PX1＝４、Reg_PX2＝６の合計１５画素が、３組目のバッファに出力される。４ライン目に関しては、Reg_SP1＝２が確認され、Reg_PX0＝５、Reg_PX1＝４の合計９画素が、４組目のバッファに出力される。５ライン目に関しては、４ライン目と同様に、合計９画素が、５組目のバッファに出力される。６ライン目に関しては、Reg_SP0＝２が確認され、Reg_PX0＝５の合計５画素が６組目のバッファに出力される。７ライン目に関しては、６ライン目の繰り返しとなり、５画素が７組目のデータバッファに出力される。
【００６０】
８ライン目の処理から、ステップＳ１１０５〜ステップＳ１１１４のループ処理が行われる。このループ処理には、ステップＳ１１０６〜ステップＳ１１１２のループ処理およびステップＳ１１０７〜ステップＳ１１１０のループ処理が含まれる。ここで、ステップＳ１１０５〜ステップＳ１１１４は、副走査方向のループ処理であり、ステップＳ１００６〜Ｓ１１１２は、主走査方向のループ処理である。
【００６１】
上記主走査方向のループ処理においては、乗り換え画素数情報Reg_PIX[*]が示す所定数分の画素データが受信され（ステップＳ１１０８）、この画素データは、対応するデータバッファに転送される（ステップＳ１１０９）。
【００６２】
上記所定数分の画素データの転送が完了すると（ステップＳ１１１０）、転送先のデータバッファが切り換えられ（ステップＳ１１１１）、再度ステップＳ１１０６からの処理が繰り返される。
【００６３】
１ライン分のデータを受信すると（ステップＳ１１１２）、主走査方向のライン終了処理が行われ（ステップＳ１１１３）、再度ステップＳ１１０５に戻り、次のラインに対する処理が行われる。
【００６４】
このようにして、副走査方向のループ処理が終了すると（ステップＳ１１１４）、ページ端部の仮想画素生成が行われる（ステップＳ１１１５）。順序はページ開始時と逆に行われ、全ラインのバッファデータがメモリに転送される。そして、ページ端部の仮想画素生成が完了すると、画像データＩ／Ｆ部３０４は、バスインタフェース部３０９に転送終了を通知し（ステップＳ１１１６）、処理を終了する。
【００６５】
以上のように、画像データＩ／Ｆ部３０４は、転送先のバッファの切り換えによりラインの乗り換えを行い、各バッファの書き込み先アドレスを管理しているので、複雑なメモリアドレス制御を行う必要がない。
【００６６】
次に、バスインタフェース部３０９の動作について説明する。
【００６７】
バスインタフェース部３０９は、転送データの選択と、バスプロトコル制御を行う。バスインタフェース部３０９は、図１２に示すように、レジスタ部３０２に設定された情報の中からバスプロトコル制御に関連する情報として、共通情報（Reg_BurstLength）を取得する（ステップＳ１２０１）。そして、バスインタフェース部３０９は、ＣＰＵ２０５からの動作開始指示（ステップＳ１００４）に基づいて、動作を開始する（ステップＳ１２０２）。
【００６８】
次いで、バスインタフェース部３０９は、画像データＩ／Ｆ部３０４からの転送終了通知を受信したか否かを判定する（ステップＳ１２０３）。ここで、画像データＩ／Ｆ部３０４からの転送終了通知を受信していなければ、バスインタフェース部３０９は、バスアクセス情報部３０６からのバスアクセス要求（書き込み要求）を受信するのを待つ（ステップＳ１２０３）。このバスアクセス要求（書き込み要求）は、バスアクセス情報部３０６において、図１６において後述する各バッファ（Buffer0〜Buffer7）に格納できる最大画素数だけ画像データが格納されると、バッファがフル（ｆｕｌｌ）状態と判断し、発行されるものである。
【００６９】
上記ステップＳ１２０４において上記バスアクセス要求を受信すると、バスインタフェース部３０９は、バスアクセス制御を行う（ステップＳ１２０５）。そして、上記バスアクセス制御が終了すると、バスインタフェース部３０９は、転送先のデータバッファの切り換えを行う（ステップＳ１２０６）。次いで、バスインタフェース部３０９は、上記ステップ１２０３に戻る。
【００７０】
上記ステップＳ１２０３において画像データＩ／Ｆ部３０４からの転送終了通知を受信すると、バスインタフェース部３０９は、終了処理を行い（ステップＳ１２０７）、本処理を終了する。上記終了処理においては、ＣＰＵ２０５に対する終了通知（ステップＳ１００５）などが行われる。
【００７１】
次に、バスアクセス情報部３０６の動作について説明する。
【００７２】
バスアクセス情報部３０６は、各乗り換えラインのカレントアドレス情報（cur_addr）、１ライン中の転送済データ総量（total_byte）などを管理する。
【００７３】
バスアクセス情報部３０６は、図１３に示すように、ＣＰＵ２０５により設定された曲がり情報を取得し（ステップＳ１３０１）、共通情報を取得する（ステップＳ１３０２）。そして、バスアクセス情報部３０６は、アドレスレジスタの初期化を行う（ステップＳ１３０３）。実際には、Reg_SA、Reg_LNOFS、Reg_BLKNUM、Reg_SPの各値に基づいて、各ラインの先頭アドレスが計算され、アドレスレジスタの値が決定される。
【００７４】
次いで、バスアクセス情報部３０６は、ＣＰＵ２０５からの動作開始指示に基づいて動作を開始する（ステップＳ１３０４）。そして、バスアクセス情報部３０６は、データバッファ部３０７の状態を確認する（ステップＳ１３０５〜Ｓ１３０９）。ここでは、wr_en信号（図８）がアサートされて画素データの受信が行われ、受信した画素データがデータバッファ部３０７に格納される。そして、バッファ容量値（buff_byte）がカウントアップされ、当該カウントアップ値がバースト転送長に達するまで（ステップＳ１３０８）、ステップＳ１３０５からの処理が繰り返される。
【００７５】
バースト転送長分の画素データがデータバッファ部３０７に格納されると、図１４に示すように、バスアクセス情報部３０６は、バスインタフェース部３０９に対してバスアクセス終了（buf_req）を通知する（ステップＳ１３１２）。そして、バスアクセス情報部３０６は、バスインタフェースのデータビット幅（本例では６４ｂｉｔ）の転送が完了する毎に、画像メモリ２０３のアドレス値および１ライン中の転送済データ総量を計算する（ステップＳ１３１３）。
【００７６】
次いで、バスアクセス情報部３０６は、転送済データ総量（total_byte）がReg_BLと等しいか否かを判定する（ステップＳ１３１４）。ここで、転送済データ総量（total_byte）がReg_BLと等しければ、バスアドレス情報部３０６は、アドレス情報を更新する（ステップＳ１３１５）。ここでは、カレントアドレス情報（cur_addr）の値に、Reg_LNOFS×Reg_BLKLNNUMの値が加算されて、次のブロックの先頭アドレスが算出される。これにより、アドレス情報の更新が行われる。
【００７７】
次いで、バスアクセス情報部３０６は、ページが終了したか否かの判定を行い（ステップＳ１３１６）、ページが終了していなければ、上記ステップＳ１３０５に戻る。
【００７８】
画素データの受信中にラインまたはページの終了が起こる場合がある。そのため、バスアクセス情報部３０６は、画素データの受信中において、ラインまたはページの終了の有無を判定する（ステップＳ１３０８）。ここで、画素データの受信中において、ラインまたはページが終了すると、バスアクセス情報部３０６は、シングルモード（Single Mode）が設定されているか否かを判定する（ステップＳ１３０９）。上記シングルモードが設定されている場合、バスアクセス情報部３０６は、バスアクセス転送要求を行い（ステップＳ１３１９）、バスアクセス終了（buf_done）を通知する（ステップＳ１３２０）。
【００７９】
次いで、バスアクセス情報部３０６は、画像メモリ２０３のアドレス値および１ライン中の転送済データ総量を計算する（ステップＳ１３２１）。そして、バスアクセス情報部３０６は、上記ステップＳ１３１５に進み、アドレス情報の更新を行う。
【００８０】
次に、データバッファ部３０７の各データバッファのデータの遷移について図１５および図１６を参照しながら説明する。図１５および図１６はデータバッファ部３０７の各データバッファのデータの遷移状態を模式的に示す図である。ここで、図１５および図１６中、網掛け部分が、データを格納している部分を表す。本例においては、１画素が８バイトで、バースト転送サイズが３２バイト（４画素）であるとする。
【００８１】
図１５に示すように、仮想画素生成が完了した時点において（１４０１）、データバッファ部３０７のバッファ（Ｂｕｆｆｅｒ）２，４のそれぞれには、データが残されている。
【００８２】
ここで、まず、Reg_PX0に設定されている５画素がバッファ０（Buffer0）に入力される。このとき、４画素が入力されると（１４０２）、バースト転送が可能となり、バスインタフェース部３０９に対してバスアクセス要求が出される。そして、最後の１画素がバッファ０に入力されると、画像データＩ／Ｆ部３０４は、データパスを切り換える。このとき、Reg_SP0＝２のため、バッファ１（Buffer1）を飛ばして、バッファ２（Buffer2）へのデータパスの切り換えが行われる。
【００８３】
この動作を繰り返すと、図１５および図１６に示すように、Reg_PX1（１４０４，１４０５）、Reg_PX2（１４０５〜１４０７）、Reg_PX3（１４０８〜１４１０）、Reg_PX4（１４１０〜１４１３）、Reg_PX5（１４１４〜１４１７）となる。
【００８４】
このようにバースト転送量分のデータが格納されると、メモリアクセスが行われ、画像データＩ／Ｆ部３０４がデータパスを切り換えたときに残存する画素データが、次のラインの画素データがデータバッファ部３０７に入力されるまで格納されることになる。
【００８５】
以上の動作を繰り返すことにより、画像印字部１０６において生じる走査ラインの曲がりを補正可能な画像データを画像印字装置１０６に出力することが可能となる。
【００８６】
また、バスインタフェース部３０９、画像データＩ／Ｆ部３０４およびバスアクセス情報部３０６がそれぞれ簡素化された切り換え動作を行うようにＤＭＡコントローラ３０１が構成されている。これにより、ＤＭＡコントローラ３０１の制御を複雑にすることなく、画像印字部１０６において生じる走査ラインの曲がりに起因する画像の曲がりを補正することが可能となる。その結果、画像印字部１０６において各色を重ね合わせる際に、走査ラインの曲がりに起因するレジストレーションずれの発生が防止される。
【００８７】
また、ページ端部のシングルアクセスモード以外は、すべてバースト転送のみでメモリアクセスが行われる。そのため、メモリのアクセス効率が最大限発揮されるシステムを構築することが可能となる。
【００８８】
（第２の実施の形態）
次に、本発明の第２の実施の形態について図１７および図１８を参照しながら説明する。図１７（ａ）は本発明の第２の実施の形態において画像印字部１０６における走査ラインの曲がりを補正する際の画像の曲がりの一例を示す図である。図１７（ｂ）は図１７（ａ）の画像の曲がりに応じてＤＭＡコントローラ３０１により画像メモリ２０３に書き込まれた画像データを模式的に示す図である。図１８は図１７の画像の曲がりを得るために設定されるレジスタ情報を示す図である。
【００８９】
画像印字部１０６における走査ラインの曲がりが二次曲線を示す場合、ＤＭＡコントローラ３０１により、画像データが上記走査ラインの曲がりを打ち消す方向に曲がり（二次曲線）を有するように、画像メモリ２０３に書き込まれる。即ち、画像データが、図１７（ａ），（ｂ）に示すような曲がり（二次曲線）を有するように、画像メモリ２０３に書き込まれる。
【００９０】
上記のように画像データを画像メモリ２０３に書き込み場合、図１８に示すようなレジスタ情報がレジスタ部３０２に設定される。具体的には、曲がりの接線の傾きの符号が変わるポイント１６０１において、画像が２分割され、レジスタ情報の設定が行われる。ここで、例えば、接線の傾き符号が変わるポイントとして複数のポイント存在する場合、そのポイント数をReg_WNDPNT（図示せず）とし、これをレジスタ情報として設定するようにすればよい。
【００９１】
また、画像を２分割する場合、中心点１６０２のように、バースト長の直線に載るような画素を画像分割のポイント（Reg_SA0_1）にする必要がある。本例においては、Reg_PX0〜Reg_PX4までの合計２４画素（１画素８バイト）が、直線に載ることが分かる。ここで、仮に、Reg_SA0_1のアドレスを調整しないと、分割部分に空白データ領域が生成されることになる。
【００９２】
このように、レジスタ情報の設定箇所およびデータバッファ（バスアクセス情報部３０６）の数は、乗り換え最大ライン数の２倍になる。よって、各バスアクセス情報部３０６に対して初期設定を行う工程において（ステップＳ１３０３）、Reg_WNDPNTのレジスタ値に従って、各アドレスレジスタに初期値を設定すればよい。そして、その後の工程において、バスインタフェース部３０２、画像データＩ／Ｆ部３０４による画像データの制御に関しては、上記第１の実施の形態と同様である。
【００９３】
（第３の実施の形態）
次に、本発明の第３の実施の形態について図１９〜図２３を参照しながら説明する。図１９は本発明の第３の実施の形態に係る画像形成装置のデータ処理部の構成を示すブロック図である。図２０は図１９のＤＭＡコントローラ２０９の構成を示すブロック図である。図２１はバスインタフェース部３０９の動作の手順を示すフローチャートである。図２２は画像データＩ／Ｆ部３０４の動作の手順を示すフローチャートである。図２３は第１の実施形態と第３の実施形態の差異を説明するための図である。ここで、図中、上記第１の実施の形態と同じブロックには、同一の符号を付し、その説明は、省略する。
【００９４】
本実施の形態のデータ処理部１０１には、図１９に示すように、画像データを印字装置Ｉ／Ｆ２１３に出力するパスにＤＭＡコントローラ２０９が配置されている。このＤＭＡコントローラ２０９には、画像メモリ２０３から画像データを読み出すためのＤＭＡコントローラ３０１が設けられている。この点で、本実施の形態は、上記第１の実施の形態と異なる。
【００９５】
本実施の形態においては、印字装置用画像処理部２１１により画像処理された画像データが、走査ラインの曲がりに対応する曲がりを有するように、画像メモリ２０３に書き込まれているのではなく、矩形状に書き込まれているとする（図７（ａ））。この場合、ＤＭＡコントローラ３０１は、画像メモリ２０３から、矢印７０５が示す方向にアドレスを変えながら画像データを読み出し、ブレンド処理部２１２に出力する。このように読み出しアドレスを変えながら画像データを読み出すことによって、ブレンド処理部３０６で、上記読み出された画像データに対してブレンド処理が可能となるとともに、ラインバッファが不要となる。
【００９６】
上記ＤＭＡコントローラ３０１は、図２０に示すように、上記第１の実施の形態で述べた、画像データの書き込みを行うＤＭＡコントローラ３０１に対して、データパスの向き（１８０１〜１８０４）が逆向きになる点で異なる。
【００９７】
また、バスインタフェース部３０９は、図２１に示すように、上記第１の実施の形態の場合（図１２）に対して、バスアクセス情報部３０６からのバスアクセス要求（読み出し要求）を受信するのを待つ（ステップＳ１９０１）点で異なる。このバスアクセス要求（読み出し要求）は、バスアクセス情報部３０６において、バッファが空（ｅｍｐｔｙ）状態になると、発行されるものである。
【００９８】
また、本実施の形態のＤＭＡコントローラ３０１は、上述したように、画像データの書き込みを行うＤＭＡコントローラに対して、データパス１８０１の向きが逆になる。そのため、画像データＩ／Ｆ部３０４の動作に関しては、図２２に示すように、上記第１の実施の形態の場合（図１１）に対して、画素データのバッファからの読み出し（ステップＳ２００１）と画素データの出力（ステップＳ２００２）が行われる点で異なる。
【００９９】
バスアクセス情報部３０６のアドレス制御に関しては、ＤＭＡコントローラ３０１が読み出しを行うものでも書き込みを行うものでも特に変わらない。また、データバッファ部３０７の制御に関しても、バッファに対する書き込み制御から読み出し制御に変わるのみである。
【０１００】
次に、図２３を用いて書き出しＤＭＡコントローラと読み込みＤＭＡコントローラの差異を説明する。図２３の矢印に示すようなバースト転送量であった場合、例えば、バッファ０（Buffer0）とバッファ１（Buffer1）では、ライン乗り換えの位置とバースト転送画素数の不一致がある。そのため、図のバッファ０，１（Buffer0，1）に示す斜線部のようにライン乗り換え境界を含むバースト転送データ量分に関しては、同一主走査位置の重複読み出しが行われることになる。バッファ０（Buffer0）には４画素のデータがメモリから転送され、画像データＩ/Ｆ部３０４は、３画素読み出してブレンド処理部に転送した時点で残りの１画素を読み捨てる。また、画像データＩ/Ｆ部３０４は、バッファ１（Buffer1）に切り替え、バッファ１（Buffer1）にある最初の１画素を読み出さずに２画素目から読み出しを行う。
【０１０１】
（第４の実施の形態）
次に、本発明の第４の実施の形態について図２４〜図２６を参照しながら説明する。図２４は本発明の第４の実施の形態に係る画像形成装置のＤＭＡコントローラの構成を示すブロック図である。図２５は図２４のバスアクセス情報部３０６の動作を示すフローチャートである。図２６は図２４のＲＡＭ２１０４における画像データの格納状態を示す図である。ここで、図中、上記第１の実施の形態と同じブロックには、同一の符号を付し、その説明は、省略する。
【０１０２】
上述した第１〜第３の実施の形態の構成を用いて、画像印字装置１０６におけるさらに複雑な曲がりを有する走査ラインに対応する場合、データバッファ部３０７の容量が増大する。特に、設計時に上記走査ラインの曲がりを想定することができない場合、最大量のバッファを予め組み込む必要があり、回路規模の面でコストが増大する。
【０１０３】
そこで、本実施の形態は、走査ラインの曲がりに対して、より柔軟に対応可能にするために、図２４に示すような構成を採用する。
【０１０４】
具体的には、本実施の形態のＤＭＡコントローラ３０１は、レジスタ部３０２、画像データＩ／Ｆ部３０４、バスアクセス情報部３０６およびバスインタフェース部２１０１を有する。
【０１０５】
ここで、バスインタフェース部２１０１は、プログラム動作可能なシーケンサ２１０２と、当該シーケンサ２１０２とバスアクセスの要求処理を行う２つのスレーブシーケンサ２１０３を有し、バスアクセス情報部３０６のバッファ状態を監視する。
【０１０６】
本実施の形態のＤＭＡコントローラ３０１においては、２組のデータバッファ３０７およびアドレスレジスタ３０８が設けられている。データバッファ３０７は、上記第１の実施の形態と同様に、バースト長のダブルバッファ（バースト転送長の２倍の画素データを保持可能な容量を有する）構成を有するものである。
【０１０７】
また、本実施の形態においては、画像メモリ２０３より、アクセスレイテンシが低いＳＲＡＭなどのローカルメモリであるＲＡＭ２１０４がシステムバス２１４上に設けられている。このＲＡＭ２１０４は、ＤＭＡコントローラ内部のバッファに代わり、複数ライン分のデータを保持するために設けられたものである。必要時に、アドレス情報などのデータがＲＡＭ２１０４からバスアクセス情報部３０６へ移動される。そして、移動されたデータが不要になると、当該データは再度ＲＡＭ２１０４に戻されて、次に必要になるまでＲＡＭ２１０４に保持される。
【０１０８】
バスアクセス情報部３０６は、図２５に示すように、メモリアクセスを完了し、アドレス情報が確定すると、バスアクセス情報部３０６のバスアクセス情報（後述）をＲＡＭ２０４に一時転送する（ステップＳ２２０１）。そして、バスアクセス情報部３０６は、次ラインのバスアクセス情報を取得する（ステップＳ２２０２）。この点で、上記第１の実施の形態と異なる。
【０１０９】
上記第１の実施の形態において図７に示す画像データに対して、本実施の形態においては、図２６に示すように、画像データがＲＡＭ２１０４に格納される。ただし、Reg_SPに設定されるレジスタ情報の値はすべて１である即ち乗り換えライン数が１であるとする。
【０１１０】
ここで、ＲＡＭ２１０４における内部のデータ構成２３０９が、左から画素データ、転送済データ量、アドレスの３つからなる。画素データが８バイト／１画素（byte／pixel）の場合、最大３画素分格納することができるようにＲＡＭ２１０４上の領域が確保される。
【０１１１】
まず、仮想画素データ生成の時点で端数の画素データ、転送データ量、現在のアドレス値が保存される（２３０１）。本例においては、ライン３（Ｌｉｎｅ３）には、バッファに余り画素データが無く、転送データ量とアドレス値のみが保存されている。
【０１１２】
ライン０（Ｌｉｎｅ０）のデータ（Reg_PX0＝５）画素が受信されると、１画素がバッファに残っている状態になる。バッファ上にある１画素の画像データと転送済データ量（３２バイト）と現在のアドレス値がＲＡＭ２１０４へ転送される（２３０２）。
【０１１３】
このとき、ライン０（Ｌｉｎｅ０）のデータがＲＡＭ２１０４へ退避されたので、ライン２（Line2）のデータをバスアクセス制御部３０６へ転送される（２３０２）。続いて、ライン１（Ｌｉｎｅ１）の処理が行われる（２３０２〜２３０３）。
【０１１４】
上記動作の繰り返し（２３０４〜２３０８）により、少ないレイテンシでデータの入れ替えを行うことができ、バスアクセス制御部３０６の回路規模の増大を抑えながら、バースト転送によりパフォーマンスを維持することが可能になる。
【図面の簡単な説明】
【０１１５】
【図１】本発明の第１の実施の形態に係る画像形成装置の構成を示す図である。
【図２】図１のデータ処理部１０１に設けられている印字データ処理部１１０およびデバイス制御部１０８の詳細な構成を示すブロック図である。
【図３】図２のＤＭＡコントローラ２０９の詳細な構成を示すブロック図である。
【図４】画像メモリ２０３内の画像データに関連するレジスタ情報４０１と曲がり情報に応じたレジスタ情報４０２を示す図である。
【図５】画像サイズに関するレジスタ情報５０１を示す図である。
【図６】（ａ）は画像処理部２１０によって生成された画像メモリ２０３上のデータ配置を模式的に示す図である。（ｂ）は画像印字部１０６において生じる走査ラインの曲がりを補正するための画像データの曲がりを模式的に示す図である。
【図７】（ａ）は画像処理部２１０による画像処理後に画像メモリ２０３に出力された画像データを模式的に示す図である。（ｂ）は曲がり情報（レジスタ情報）に応じて画像メモリ２０３に書き込まれた画像データを模式的に示す図である。
【図８】図３のＤＭＡコントローラ３０１（ＤＭＡコントローラ２０９）の内部構成を示すブロック図である。
【図９】ＤＭＡコントローラ３０１に設定されるレジスタ情報の一例を示す図である。
【図１０】ＣＰＵ２０５がレジスタ情報をＤＭＡコントローラ３０１に設定する手順を示すフローチャートである。
【図１１】ＤＭＡコントローラ３０１の画像データＩ／Ｆ部３０４の動作を示すフローチャートである。
【図１２】ＤＭＡコントローラ３０１のバスインタフェース部３０９の動作を示すフローチャートである。
【図１３】ＤＭＡコントローラ３０１のバスアクセス情報部３０６の動作を示すフローチャートである。
【図１４】ＤＭＡコントローラ３０１のバスアクセス情報部３０６の動作を示すフローチャートである。
【図１５】データバッファ部３０７の各データバッファのデータの遷移状態を模式的に示す図である。
【図１６】データバッファ部３０７の各データバッファのデータの遷移状態を模式的に示す図である。
【図１７】（ａ）は本発明の第２の実施の形態において画像印字部１０６における走査ラインの曲がりを補正する際の画像の曲がりの一例を示す図である。（ｂ）は図１７（ａ）の画像の曲がりに応じてＤＭＡコントローラ３０１により画像メモリ２０３に書き込まれた画像データを模式的に示す図である。
【図１８】図１７の画像の曲がりを得るために設定されるレジスタ情報を示す図である。
【図１９】本発明の第３の実施の形態に係る画像形成装置のデータ処理部の構成を示すブロック図である。
【図２０】図１９のＤＭＡコントローラ２０９の構成を示すブロック図である。
【図２１】バスインタフェース部３０９の動作の手順を示すフローチャートである。
【図２２】画像データＩ／Ｆ部３０４の動作の手順を示すフローチャートである。
【図２３】第１の実施形態と第３の実施形態の差異を説明するための図である。
【図２４】本発明の第４の実施の形態に係る画像形成装置のＤＭＡコントローラの構成を示すブロック図である。
【図２５】図２４のバスアクセス情報部３０６の動作を示すフローチャートである。
【図２６】図２４のＲＡＭ２１０４における画像データの格納状態を示す図である。
【符号の説明】
【０１１６】
１００  画像形成装置
１０１  データ処理部
１０８  デバイス制御部
１０９  読取データ処理部
１１０  印字データ処理部
２０９  ＤＭＡコントローラ
２１０  画像処理部
３００，３０１  ＤＭＡコントローラ
３０２  レジスタ部
３０４  画像データＩ／Ｆ部
３０６  バスアクセス情報部
３０７  データバッファ部
３０８  アドレスレジスタ部
３０９  バスインタフェース部
【図１】
2010064254.tif 000004
【図２】
2010064254.tif 000005
【図３】
2010064254.tif 000006
【図４】
2010064254.tif 000007
【図５】
2010064254.tif 000008
【図６】
2010064254.tif 000009
【図７】
2010064254.tif 000010
【図８】
2010064254.tif 000011
【図９】
2010064254.tif 000012
【図１０】
2010064254.tif 000013
【図１１】
2010064254.tif 000014
【図１２】
2010064254.tif 000015
【図１３】
2010064254.tif 000016
【図１４】
2010064254.tif 000017
【図１５】
2010064254.tif 000018
【図１６】
2010064254.tif 000019
【図１７】
2010064254.tif 000020
【図１８】
2010064254.tif 000021
【図１９】
2010064254.tif 000022
【図２０】
2010064254.tif 000023
【図２１】
2010064254.tif 000024
【図２２】
2010064254.tif 000025
【図２３】
2010064254.tif 000026
【図２４】
2010064254.tif 000027
【図２５】
2010064254.tif 000028
【図２６】
2010064254.tif 000029