(57)【特許請求の範囲】
【請求項１】
画像データを記憶する画像データ記憶手段と、
前記画像データ記憶手段に記憶された画像データから分割して生成された複数の矩形画像データに基づいて画像処理を実行する画像処理手段と、
前記画像データ記憶手段に記憶された画像データを前記複数の矩形画像データとして読み出して前記画像処理手段に転送する転送手段と、
前記画像処理手段で画像処理された前記複数の矩形画像データに応じた照射光で感光体を走査して画像を形成する画像形成手段と、
前記感光体に対する前記照射光による走査ラインの曲がりを補正するために、前記転送手段が前記記憶手段から読み出す画像データのラインを切り替えるための、前記照射光の走査方向における位置を示す位置情報を記憶する位置情報記憶手段とを有し、
前記転送手段は、前記位置情報記憶手段に記憶された位置情報が示す位置と前記矩形画像データの境界位置が一致するように前記複数の矩形画像データを読み出すことを特徴とする画像形成装置。
【請求項２】
前記位置情報が示す位置において、読み出しラインを上のラインに切替えるか、下のラインに切替えるかを指定する指定手段を有し、
前記転送手段は、前記位置情報が示す位置において、画像データ記憶手段から読み出すべきラインを、前記指定手段による指定に応じたラインに切り替えることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記画像処理手段は、複数のサブ処理手段を有し、
前記サブ処理手段は、前記矩形画像データに基づいて画像処理を実行することを特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
前記サブ処理手段は、矩形画像データの幅が当該サブ処理手段が処理可能な幅より大きい場合は、前記矩形画像データを当該サブ処理手段が処理可能な幅の矩形画像データに更に分割して、当該更に分割した矩形画像データの単位で画像処理を実行することを特徴とする請求項３に記載の画像形成装置。
【請求項５】
前記転送手段は、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラにより構成されていることを特徴とする請求項１乃至４のいずれか１項に記載の画像形成装置。
【請求項６】
画像データを記憶する画像データ記憶部と、画像データに応じた照射光で感光体を走査して画像を形成する画像形成部と、前記感光体に対する前記照射光による走査ラインの曲がりを補正するために、前記記憶部から読み出す画像データのラインを切り替えるための、前記照射光の走査方向における位置を示す位置情報を記憶する位置情報記憶部とを有する画像形成装置の制御方法であって、
前記画像データ記憶部に記憶された画像データを前記複数の矩形画像データとして読み出して画像処理部に転送する転送工程とを有し、
前記画像データ記憶部に記憶された画像データから分割して生成された複数の矩形画像データに基づいて画像処理を前記画像処理部にて実行する画像処理工程とを有し、
前記転送工程は、前記位置情報記憶部に記憶された位置情報が示す位置と前記矩形画像データの境界位置が一致するように前記複数の矩形画像データを読み出すことを特徴とする画像形成装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置及びその制御方法に関する。
【背景技術】
【０００２】
従来から、電子写真方式の画像形成装置が知られている。電子写真方式の画像形成装置は、画像データに応じたレーザ光で感光体、すなわち感光体ドラムを走査（照射）するレーザ光源と、感光体ドラムを帯電するための帯電器を有する。また、帯電された感光体ドラムにレーザ光が照射されたことにより感光体ドラム上の静電潜像をトナーにより現像するための現像器を有する。また、現像器により感光体ドラム上に現像されたトナー像をシート（記録紙）に転写するための転写器を有する。
【０００３】
そして、以上のような画像形成装置においては、１ライン分の画像データに基づいたレーザ光が感光体ドラムに走査（照射）された場合、走査ラインは理想的には感光ドラムの軸方向に平行な直線となる。しかし、レーザ光源や感光ドラムの取付位置等の機械的な誤差により、走査方向に平行な直線とならない（走査ラインが曲がる）ことがある。このような走査ラインの曲がりを補正するための方法として、例えば以下のような技術が提案されている。
【０００４】
まず、露光ユニットを画像形成装置本体へ組付ける工程で、光学センサを用いて走査ラインの傾きの大きさを測定し、露光ユニットを機械的に傾かせて走査ラインの傾きを調整した上で画像形成装置本体へ組付ける方法が提案されている（特許文献１参照）。
【０００５】
また、光学センサを用いて走査ラインの傾きと曲がりの大きさを測定し、走査ラインの傾きと曲がりを相殺するようにビットマップ画像データを補正し、その補正したビットマップ画像データに基づいて画像を形成する方法も提案されている（特許文献２参照）。
【０００６】
この方法は、画像データを処理するという電気的な手法で走査ラインの曲がりを補正するものである。そのため、特許文献２の方法は、機械的な調整部材や組立時の調整工程が不要となる点で、特許文献１の方法よりも安価に走査ラインの曲がりに対処することができる。
【特許文献１】特開２００３−２４１１３１号公報
【特許文献２】特開２００４−１７０７５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
画像読取装置等で原稿を読み取って得た画像データを画像処理部にて処理する場合、画像処理部には画像データを一時的に保持するバッファが必要となる。このバッファの容量を少なくするために、画像データを複数の矩形画像データに分割し、分割された矩形画像データの単位でメモリから画像データを読み出して、画像処理部にて処理する方法が知られている。この方法では、画像処理部には原稿を読み取って得た画像データのライン方向の全画素を記憶可能なバッファを設ける必要がないので、バッファの容量を少なくすることができる。
【０００８】
ところが、画像データを複数の矩形画像データに分割して画像処理を行う画像処部を備えた画像形成装置において、前述した走査ラインの曲がりを相殺するための機能を実装すると、不具合が生じる場合がある。
【０００９】
本発明は、上記の技術的な背景の下になされたもので、その目的は、走査ラインの曲がりを相殺するように記憶手段から画像データを読み出すラインを走査方向の位置に応じて切り替えるとともに、画像データを矩形画像データを単位として読み出す際の不具合を減少させることができる画像形成装置及びその制御方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明に係る画像形成装置は、画像データを記憶する画像データ記憶手段と、前記画像データ記憶手段に記憶された画像データから分割して生成された複数の矩形画像データに基づいて画像処理を実行する画像処理手段と、前記画像データ記憶手段に記憶された画像データを前記複数の矩形画像データとして読み出して前記画像処理手段に転送する転送手段と、前記画像処理手段で画像処理された前記複数の矩形画像データに応じた照射光で感光体を走査して画像を形成する画像形成手段と、前記感光体に対する前記照射光による走査ラインの曲がりを補正するために、前記転送手段が前記記憶手段から読み出す画像データのラインを切り替えるための、前記照射光の走査方向における位置を示す位置情報を記憶する位置情報記憶手段とを有し、前記転送手段は、前記位置情報記憶手段に記憶された位置情報が示す位置と前記矩形画像データの境界位置が一致するように前記複数の矩形画像データを読み出すことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、走査ラインの曲がりを相殺するように記憶手段から画像データを読み出すラインを走査方向の位置に応じて切り替えるとともに、画像データを矩形画像データを単位として読み出す際の不具合を減少させることができる画像形成装置及びその制御方法を提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明を実施するための最良の形態を図面に基づいて説明する。
【００１３】
［画像形成装置］
図１は、本発明の実施の形態に係る画像形成装置の概略構成を示すブロック図である。図１に示した画像形成装置１００は、例えば、スキャナ機能、プリント機能、ＦＡＸ機能等の複数の機能を有する複合機（ＭＦＰ：Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）として構成されている。なお、画像形成装置１００は、ネットワークＩ／Ｆ（インタフェース)１０８を介してネットワークに接続され、このネットワークを経由して他の通信機能を有する装置と画像データや装置情報を送受信することができる。
【００１４】
また、画像形成装置１００（印刷部１０７）は、カラー印刷機構としてタンデム方式を採用し、ＣＭＹＫの各色に対応する４つの露光・現像ステーション（画像形成部）を有している。これら露光・現像ステーションは、画像データに応じたレーザ光（照射光）で感光体、すなわち感光体ドラムを走査（照射）するレーザ光源と、感光体ドラムを帯電するための帯電器を有する。また、帯電された感光体ドラムにレーザ光が照射されたことにより感光体ドラム上の静電潜像をトナーにより現像するための現像器を有する。また、現像器により感光体ドラム上に現像されたトナー像をシート（記録紙）に転写するための転写器を有する。
【００１５】
図１において、画像読取部１０５は、図示省略した原稿台、オートドキュメントフィーダ（ＡＤＦ）を含み、ＡＤＦにより原稿読取位置に給送された原稿の画像を光学的に読取り、その光学像をレンズにより固体撮像素子（図示省略）上に結像させる。固体撮像素子は、光学像を光電変換し、所定密度（例えば、６００ＤＰＩ）のラスタ状のアナログの画像信号として出力する。なお、画像読取部１０５は、紙の原稿だけでなく、ＯＨＰシート、フィルム等の透過原稿、布等の他の材質の記録媒体上の記録情報（画像）を読取ることも可能である。
【００１６】
データ処理部１０１は、例えばマイコンクロコンピュータ等の制御部を内蔵し、画像形成装置１００の動作を全体的に制御する。すなわち、データ処理部１０１は、画像読取部１０５から出力されたアナログの画像信号をＡ／Ｄ変換して画像データとし、この画像データに対して所定の画像処理を施して印刷データにする。そして、データ処理部１０１は、操作部１０４からの操作信号に応じて、印刷データをプリンタコントローラ１０３に供給したり、ネットワークＩ／Ｆ１０８を介して外部装置に送信したりする。
【００１７】
また、データ処理部１０１は、操作部１０４の操作状況を示す情報、処理中の画像データ等を表示部１０２に表示させる。表示部１０２は、例えば液晶タッチパネル等のタッチスクリーンを有し、各種の操作指示を行うユーザインタフェースとして機能する。
【００１８】
さらに、データ処理部１０１は、印刷部数が複数の場合は、印刷データを記憶部１０６に保存する。また、データ処理部１０１は、ネットワークＩ／Ｆ１０８を介して外部装置から受信した画像データを記憶部１０６に保存する。
【００１９】
プリンタコントローラ１０３は、データ処理部１０１からの指示を受けて、印刷部１０７の印刷動作を制御する。なお、図示省略したが、データ処理部１０１は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を有する制御部を内蔵しており、この制御部により上述のような各種の処理を制御する。
【００２０】
［プリンタコントローラ］
次に、プリンタコントローラ１０３の構成を説明する。図２は、プリンタコントローラ１０３の構成を示すブロック図である。
【００２１】
図２に示したように、プリンタコントローラ１０３は、操作部Ｉ／Ｆ部３０１、ホストＩ／Ｆ部３０２、画像データ発生部３０３、画像メモリ３０４、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラ３０５、エンジンＩ／Ｆ部３０７を有している。プリンタコントローラ１０３は、更に、ＣＰＵ３０８、ＲＯＭ３０９、及びＲＡＭ３１０を有している。これら各ブロックは、システムバス３１１を介して相互にデータ、コマンドを授受できるようになっている。システムバス３１１は、アドレスバスとシステムバスから構成されている。
【００２２】
操作部１０４からの操作信号、例えばモード設定に関する指示信号等は、操作部Ｉ／Ｆ部３０１を介してプリンタコントローラ１０３に入力される。ホストＩ／Ｆ部３０２には、データ処理部１０１から送出された印刷データや印刷部１０７の動作を指示する設定情報を入力する入力バッファ（不図示）が設けられている。
【００２３】
また、ホストＩ／Ｆ部３０２には、データ処理部１０１へ送出する信号や印刷部１０７、プリンタコントローラ１０３の情報データを含む出力データを一時的に保持する出力バッファ（不図示）が設けられている。また、ホストＩ／Ｆ部３０２は、データ処理部１０１との間で送受信される信号や通信パケットの入出力部として機能すると共に、データ処理部１０１との間の通信制御を行う。
【００２４】
ホストＩ／Ｆ部３０２を介して入力された印刷データは、ＣＰＵ３０８の制御により画像データ発生部３０３に供給される。入力される印刷データは、例えば、ＰＤＬ（ページ記述言語）データで構成されている。画像データ発生部３０３は、入力された印刷データを解析処理（例えば、ＰＤＬ解析処理）し、その解析結果に基づいて中間言語を生成し、更に印刷部（プリンタエンジン）１０７が処理可能なビットマップデータを生成する。
【００２５】
この際、画像データ発生部３０３は、中間言語の生成処理と並行してラスタライズ処理を行う。このラスタライズ処理では、印刷データに含まれる表示色ＲＧＢ（加法混色）から印刷部１０７が処理可能なＹＭＣＫ（減法混色）への変換処理が行われる。また、ラスタライズ処理では、印刷データに含まれる文字コードから予めＲＯＭ３０９に格納されているビットパターン、アウトラインフォント等のフォントデータへの変換処理等が行われる。
【００２６】
さらに、ラスタライズ処理では、ページ単位或いはバンド単位でビットマップデータを作成し、このビットマップデータに対しディザパターンを用いた疑似階調処理を施し、印刷部１０７で印刷処理が可能なビットマップデータが生成される。このビットマップデータは、画像メモリ３０４に格納される。即ち、画像メモリ３０４は、画像データ記憶手段（画像データ記憶部）として機能する。画像メモリ３０４に格納されたビットマップデータの読出・転送処理は、ＣＰＵ３０８の指示に応答してＤＭＡコントローラ３０５で制御される。
【００２７】
画像メモリ３０４から読出されたビットマップデータは、後述のライン切り替え位置の情報に基づいて算出した矩形領域の幅に従って、エンジンＩ／Ｆ部３０７を介して印刷対象のビデオ信号として印刷部１０７に転送される。エンジンＩ／Ｆ部３０７には、印刷部１０７へ転送するビデオ信号を一時的に保持する出力バッファ（不図示）と、印刷部１０７から送出されたステータス信号等を一時的に保持する入力バッファ（不図示）とが設けられている。また、エンジンＩ／Ｆ部３０７は、印刷部１０７との間で送受信される信号の入出力部として機能すると共に、印刷部１０７との間の通信制御を行う。
【００２８】
ＣＰＵ３０８は、操作部１０４、データ処理部１０１から指定されたモードに応じて、上述の各ブロックに対する制御をＲＯＭ３０９に格納された制御プログラムに基づいて実行する。このＲＯＭ３０９に格納された制御プログラムには、システムクロックによってタスクと称されるロードモジュール単位に時分割制御を行うためのＯＳ（オペレーティングシステム）が含まれる。
【００２９】
また、制御プログラムには、このＯＳによって機能単位に実行制御される複数のロードモジュールが含まれ、このロードモジュールには、図１４のスローチャートに係るものも含まれている。なお、データ処理部１００、後述のサブデータ処理部１０００、ＤＭＡコントローラ３０５も、図１４のフローチャートにおける各ステップを実行するための制御プログラムを内蔵している。
【００３０】
ＣＰＵ３０８は、制御プログラムを実行する際にＲＡＭ３１０をワークエリア等として利用する。
【００３１】
［ＤＭＡコントローラ］
次に、ＤＭＡコントローラ３０５の構成を説明する。図３は、ＤＭＡコントローラ３０５の構成を示すブロック図である。図３に示したように、ＤＭＡコントローラ３０５は、レジスタ部５０１、アドレス生成部５０２、バスインターフェース部５０３、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）部５０４、及び矩形領域判定部５０５を有している。
【００３２】
レジスタ部５０１は、複数のレジスタ（不図示）で構成される。ＤＭＡコントローラ３０５に対するＣＰＵ３０８からの指示信号は、レジスタ部５０１の各レジスタに適切な値を書込むことで行なわれる。レジスタ部５０１には、走査ラインの曲がりを相殺するために画像データの読み出しラインを切り替える位置（以下、ライン切り替え位置と呼ぶ）を示す情報も書込まれている。
【００３３】
アドレス生成部５０２は、画像メモリ３０４に記憶されたビットマップデータを読出すためのアドレスを、レジスタ部５０１の各レジスタの内容を参照して生成する。この参照情報には、ライン切り替え位置の情報も含まれる。即ち、レジスタ部５０１の各レジスタは、画像メモリ３０４から読み出す画像データのラインを切り替えるための位置（レーザ光の走査方向における位置）を示す位置情報を記憶する位置情報記憶手段（位置情報記憶部）として機能する。
【００３４】
アドレス生成部５０２は、アドレス信号（図３の「ａｄｄｒ」）と、そのアドレスからどの程度のデータ長のデータを読み出すかを示すレングス信号（図３の「ｌｅｎｇｔｈ」）を、バスインターフェース５０３に対して要求信号（図３の「ｒｅｑ」）を用いて要求する。
【００３５】
このレングス信号は、ライン切り替え位置から、矩形領域に分割した画像データ毎にデータ転送、及び処理を行うための最適な矩形領域の幅を考慮した値になる。
【００３６】
分割に係る矩形領域の幅は、矩形領域判定部５０５により、レジスタ部５０１に設定されたライン切り替え位置の情報に基づいて、そのライン切り替え位置に矩形領域が入らない範囲、且つ、最大矩形幅を取る領域幅が算出される。この矩形領域幅は、一定であるのが望ましい。
【００３７】
矩形領域幅の算出にあたって、１走査ラインにおける全てのライン切り替え位置の情報を抽出する。本実施の形態では、後述するように、１走査ライン上の複数のライン切り替え位置の間隔は、短くても数ミリ間隔を想定している。さらに、各走査ライン上の複数のライン切り替え位置は、各画像形成装置で固有となる。そこで、画像形成装置１００の製造時に、走査ラインの曲がりを検出する装置で検出した情報に基づいて、ライン切り替え位置を算出し、ライン切り替え位置を示す情報をレジスタ部５０１にレジスタ情報として書込んでおくのが望ましい。
【００３８】
また、ライン切り替え位置は、ページ毎やジョブ毎に変化することはなく常に一定である。そのため、矩形領域幅も、一旦、最適な矩形領域幅が決定された後は、その値を変更する必要はない。なお、１走査ライン上の複数のライン切り替え位置の間隔は、短くても数ミリ間隔であり（図４の例：３００ｐｉｘｅｌ、例：１０００ｐｉｘｅｌ、図６の黒塗部分参照）、矩形領域幅として想定される間隔（数１０〜１００ピクセル）に比べ、非常に大きい。
【００３９】
アドレス生成部５０２は、１走査ラインにおける全てのライン切り替え位置の情報を抽出し、それらライン切り替え位置の間隔を算出する。例えば、０ピクセルの位置、３００ピクセルの位置、１０００ピクセルの位置、３０００ピクセルの位置、４０００ピクセルの位置がライン切り替え位置であると仮定する（１走査ライン上の走査方向における位置）。この場合、隣接するライン切り替え位置間の間隔は、それぞれ、３００ピクセル、７００ピクセル、２０００ピクセル、１０００ピクセルとなる。
【００４０】
次に、アドレス生成部５０２は、上記の隣接するライン切り替え位置間の間隔の最大公約数を算出する。この最大公約数が、矩形領域幅として取り得る最大幅の値となる。上記の例では、最大公約数は１００ピクセルとなるため、矩形領域幅の最大値は１００ピクセルとして算出される。
【００４１】
矩形領域判定部５０５は、アドレス生成部５０２で算出された矩形領域幅の最大値を矩形領域幅として決定する。ただし、矩形領域幅は、サブデータ処理部１０００に持つ参照用メモリ１００２（図１３参照）のサイズを超えることはできない。従って、算出された矩形領域幅の最大値が参照用メモリ１００２に格納可能な領域幅の最大値を超える場合は、参照用メモリに格納可能な領域幅の最大値を矩形領域幅として決定する。
【００４２】
このように、矩形領域判定部５０５は、上記の矩形領域幅の最大値までの間で、且つ、矩形領域幅に必要な参照用メモリ１０００２のサイズ以下で矩形領域幅を決定している。
【００４３】
参照用メモリ１００２のサイズや、データの転送単位は、予め、画像形成装置毎に決定することができる。従って、矩形領域幅の決定は、画像形成装置１００の製造に工場にて行い、レジスタ部５０１には決定された矩形領域幅を示す情報を保持するようにしても良い。この場合、ライン切り替え位置は、主走査方向（走査方向）のみを想定しているため、矩形領域の縦幅に関しては、ライン切り替え位置に関係なく、矩形領域幅を決定できる。
【００４４】
上記の場合のライン切り替え位置と矩形領域幅の関係を図４に示す。
【００４５】
図４は、画像メモリ３０４上のビットマップデータについて、上記の矩形領域幅で規定された矩形領域に分割されて、矩形領域単位の画像データとして扱われることを示している。
【００４６】
図３のバスインターフェース５０３は、アドレス生成部５０２からのアドレス信号とレングス信号を受け、バス３１１に対してリードトランザクションを発行する。例えば、バス３１１のデータバスの幅が３２ビットであれば、アドレス信号とレングス信号に基づいて複数の３２ビットのアクセス信号を生成し、リードトランザクションを発行する。
【００４７】
バスインターフェース５０３は、１組のアドレス信号とレングス信号に対する処理が完了した際に、応答信号（図３における「ａｃｋ」）を用いて、処理が完了した旨をアドレス生成部５０２に通知する。その応答信号を受けた生成部５０２は、次のアドレス信号とレングス信号をバスインターフェース５０３に要求することができる。
【００４８】
画像メモリ３０４から読出されたビットマップデータは、ＦＩＦＯ部５０４に一時的に記憶される。ＤＭＡコントローラ３０５は、エンジンＩ／Ｆ部３０７にデータを出力できない期間が一時的に発生したとしても、ビットマップデータをＦＩＦＯ５０４に記憶する。
【００４９】
［走査ラインの曲がりの補正］
次に、走査ラインの曲がりの補正原理を、図６、図７を用いて説明する。図６と図７は、走査ラインの曲がりの補正原理を説明するための概念図である。
【００５０】
図６（Ａ）は、曲がりが生じた走査ラインを示す。図６（Ｂ）は、この走査ラインの曲がりに合わせて、ラインを切替えながら、ビットマップデータを印刷部１０７へ送り出す様子を示している。図６（B）の各ラインは、画像メモリ３０４に記憶された画像データを示すものであり、各ラインは画像読取部１０５がライン単位に読み取った１ライン分の画像データに相当する。例えば、図６（Ｂ）におけるｎライン目のビットマップデータを読み出して印刷部１０７のレーザ光源に供給して感光体ドラムをレーザ光により露光した場合、理想的には感光ドラムの軸方向（図６（Ｂ）における主走査方向）に平行な直線となる。しかし、前述したように画像形成装置１００に対するレーザ光源や感光ドラムの取付位置等の機械的な誤差により、主走査方向に平行な直線とはならない（走査ラインが曲がる）場合がある。そして、走査ラインが曲がった場合の一例を示したのが図６（Ａ）である。
【００５１】
図６（Ｂ）において、黒塗りの部分が１回の走査ラインの露光走査に対応して印刷部１０７へ送り出されるデータを示している。このように、走査ラインの曲がりに合わせて、ビットマップデータを画像メモリ３０４から読み出す際に、読み出す走査ラインを主走査方向（レーザ光の走査方向）の位置に応じて切替えながら印刷部１０７へ出力する。このようにすれば、走査ラインに曲がりが生じた露光走査が行われたとしても、感光ドラム（像担持体）上に形成された静電潜像は歪みの無い直線となる。
【００５２】
図７（Ａ）は、曲がりが生じた走査ラインの一部を拡大した概念図である。図７（Ｂ）は、図７（Ａ）の走査ラインの曲がりに合わせて画像メモリ３０４からビットマップデータを読み出す際に、読み出す走査ラインを切替えながら、ビットマップデータを印刷部１０７へ出力する様子を示している。
【００５３】
［矩形領域の分割］
次に、矩形領域の分割原理を図４、図８に基づいて説明する。図４は、本実施の形態を示すものであり、ライン切り替え位置と分割された矩形領域の境界位置が一致している様子を示している。図８は、図４と比較するための比較例を示すものであり、ライン切り替え位置が矩形領域内となっている。
【００５４】
この図４と図８を比較すると、同じ画像処理を行う場合に必要な参照画像領域であるにも拘らず、図４のラインの切替えを考慮した矩形領域の分割方式と、図８のラインの切替えを考慮しない矩形領域の分割方式とでは、参照画像領域に大幅な差が発生する。ここで、参照画像領域とは、矩形領域のビットマップデータに周辺画素のビットマップデータを必要とする画像処理（フィルタ処理等）を実行する際に用いられる領域をいう。
【００５５】
この参照画像領域の差は、ライン切り替え位置において画像メモリ３０４から読み出す走査ラインが切り替えられたことに応じて注目画素に対する参照画素の範囲が変わることにより発生する。図８のように、ラインの切り替えを考慮しない場合には、ラインの切り替えを考慮しないそのライン切り替え位置における副走査方向の切り替えライン数（１ライン上を読み出す場合は１、２ライン上を読み出す場合は２）に従って、参照画素を保持しておく領域（参照用メモリ１００２）に必要なメモリ容量が異なってくる。
【００５６】
一方、本実施の形態に係る図４のライン切り替えを考慮した場合は、必要な参照画素の領域は、ライン切り替位置における副走査方向の切り替えライン数に依存しないで一定の参照領域で済む。従って、図４のようにライン切り替えを考慮した場合は、参照画素の領域（参照用メモリ１００２）を記憶するのに必要なメモリ容量は、図８の場合に比べて小さく抑えることができる。
【００５７】
［データ処理部］
データ処理部１０１は、プリンタコントローラ１０３内のＤＭＡコントローラ３０５にて矩形領域単位で画像メモリ３０４から転送された矩形画像データ（矩形領域に分割された画像データ）を受信し、その矩形画像データの単位で画像処理を行う。
【００５８】
図９は、データ処理部１０１において矩形画像データに画像処理を行う場合の様子を示す概念図である。図９に示したように、矩形画像データは、データ処理部１０１内で並行処理される。すなわち、データ処理部１０１は、複数のサブデータ処理部（サブ処理手段）１０００（図１０、図１３参照）を有し、これら複数のサブデータ処理部１０００は、それぞれ矩形画像データに画像処理を並行して行う。
【００５９】
サブデータ処理部１０００は、矩形画像データに対して処理が可能なものとする。その処理には、注目画素に対応する参照領域の画素の画素値を用いて、画像データの各画素の画素値を順次算出する処理も含んでいる。そのため、サブデータ処理部１０００は、参照用の画像データ（画素値）を保持するための参照用メモリ１００２（図１３参照）を有している。
【００６０】
図１０は、サブデータ処理部１０００の構成例を示している。複数のサブデータ処理部１０００は、同一の画像処理を行うように構成しても良いし、異なる画像処理を行うように構成しても良い。サブデータ処理部１０００は、図１０に示したように、ヘッダデータ入力部４０１、イメージデータ入力部４０２、ヘッダデータ変換部４０３、データマッチング部４０４、データ置換部４０５、及びイメージデータ出力部４０６を有している、なお、サブデータ処理部１０００は、図１０に示したブロックの他に、図１３に示したブロックも有している。
【００６１】
図１０において、ヘッダデータ入力部４０１は、矩形画像データとその矩形画像データに付加されたヘッダデータとをセットで受取る。このヘッダデータは、ヘッダデータ変換部４０３でデコードされ、矩形画像データは、データマッチング部４０４、データ置換部４０５で処理される。
【００６２】
データマッチング部４０４は、図１１に示すように、注目画素に対して、周りの画像データの値が「１」、「０」の何れであるかを判断する。そして、データマッチング部４０４は、その周りの画素の画素値の注目画素の画素値に対する相対的な値（「１」又は「０」）の総和を算出し、その総和データをデータ置換部４０５へ送信する。
【００６３】
データ置換部４０５は、ヘッダデータ部４０３からのデコードされたヘッダデータと、データマッチング部４０４で算出された総和データに基づいて注目画素の値を変換して、出力画像（注目画素）の画素値とする。例えば、デコードされたヘッダデータは、データマッチング部４０４で算出された値に基づいた画素値の変換処理を指示するデータであり、且つ、算出された総和の平均値が「２」であったとする（図１１のＭＫ−ＡＶＥ参照）。この場合には、データ置換部４０５は、注目画素の値を「１」として出力する。
【００６４】
次に、ライン切り替え位置に係る矩形領域での画像処理を説明する。サブデータ処理部１０００は、図１２に示したようなライン切り替え位置に隣接する矩形画像データの処理を行う場合、次のような処理を行う。すなわち、サブデータ処理部１０００は、注目画素に対する周囲の参照領域の画素の画素値を予めデータマッチング部４０４に格納しておく。
【００６５】
そして、データマッチング部４０４は、例えば、注目画素が図１２の「６」である場合、その画素「６」については、その周りの画素「Ａ」，「Ｂ」，「Ｃ」，「Ｄ」に基づいてデータ（画素値）を書換えるための総和を算出する。
【００６６】
換言すれば、図１２に示したように、参照先の画素領域は、ライン切り替え位置に隣接する矩形画像データを処理する場合においても、ライン切り替え位置に隣接しない矩形画像データを処理する場合と同じサイズの領域となっている。すなわち、各サブデータ処理部１０００は、ライン切り替え位置を考慮して参照領域を変化させる必要はなく、常に一定サイズの参照領域のみ対象とした画像処理（画素値の補正処理）を行うだけで良い。
【００６７】
［矩形領域幅の決定、及び画像処理］
次に、矩形領域幅の決定、及び画像処理の動作を説明する。この矩形領域幅の決定処理等の流れは、図１４のフローチャートに示されている。
【００６８】
ここで、ビットマップデータを特定の一定幅の矩形に分割することを考える。ライン切り替え位置をビットマップデータ上での位置として指定するためのレジスタＲＳＰを、ＤＭＡコントローラ３０５のレジスタ部５０１に設ける。このレジスタＲＳＰには、ライン切り替え位置が１走査ライン上に複数存在する場合には、全てが設定される（図１４のステップＳ１０１参照）。例えば、１つの走査ラインにおけるライン切り替え位置が１０個有るとすると、その１０個のライン切り替え位置に対応するビットマップデータ上の１０個のライン切り替え位置がレジスタＲＳＰに設定される。
【００６９】
通常、このライン切り替え位置の間隔は、１０ｍｍ以上となっている。１つの走査ラインにおけるライン切り替え位置の数は、Ａ４サイズ、６００ｄｐｉのビットマップのイメージデータの場合、最大４０個程度である。
【００７０】
なお、ＤＭＡコントローラ３０５のレジスタ部５０１は、レジスタＲＬＷを有しており、このレジスタＲＬＷには、処理対象であるビットマップデータ、すなわち印刷対象となった画像データの１つの走査ラインの画像幅の値が設定される。この処理は、図１４のステップＳ１０２に示されている。
【００７１】
矩形領域判定部５０５は、レジスタＲＳＰに設定されたライン切り替え位置と、レジスタＲＬＷに設定された１つの走査ラインの画像幅の値に基づいて、ビットマップデータを複数の矩形画像データに分割するための矩形領域の幅を算出する。この処理は、図１４のステップＳ１０５に示されている。
【００７２】
この際、レジスタＲＬＷとレジスタＲＳＰの全てのライン切り替え位置が矩形画像データの境界位置と一致し、且つ矩形画像データのー領域幅が最大を取るように矩形領域幅を算出する。
【００７３】
また、矩形領域幅は、サブデータ処理部１０００で扱うことが可能な矩形画像領域サイズ以下であることが望ましい。矩形領域幅が、サブデータ処理部１０００で扱うことが可能な矩形画像領域サイズより大きい場合には、サブデータ処理部１０００内で、更に矩形領域をサブデータ処理部１０００で扱う矩形領域幅に分割した後、その分割により生成された矩形画像データを処理する。
【００７４】
サブデータ処理部１０００は、参照用メモリ１００２を有する場合には、その参照用メモリ１００２の容量に従って、１つのデータ処理毎に扱える最大の画像領域幅を考慮して、更なる矩形領域の分割処理を行う必要がある。
【００７５】
図１３は、サブデータ処理部で矩形領域を更に分割する場合の処理方式を説明するための概念図である。図１３では、サブデータ処理部１０００が有する参照用メモリ１００２の扱える画像幅が、入力に係る矩形領域の画像幅より大きい場合の処理機能を示している。この場合、矩形分割部１００１にて、サブデータ処理部１０００に入力された矩形領域の画像データを参照用メモリ１００２の幅に従って更に分割する。
【００７６】
なお、ＤＭＡコントローラ３０５による転送処理単位を矩形領域とし、パケット転送することで、転送処理の高速度化を図るのが望ましい。
【００７７】
本実施の形態では、走査ラインの曲がりの補正を行いつつ参照用画像を用いた画像処理を行う際に、参照用画像の幅の分の画像データを保持するメモリ容量を増加させることなく、矩形画像データを単位とした画像処理を実行することが可能となる。
【００７８】
なお、本発明は、上記の実施の形態に限定されることなく、例えば、上記の実施の形態でのＤＭＡコントローラ３０５の処理（データ転送処理）を、ＣＰＵ３０８、ＣＰＵ３０８以外の第２のＣＰＵ、デジタルシグナルプロセッサ等で行うことも可能である。また、本発明は、タンデム方式以外のカラー画像形成装置、又はモノクロ（単色）の画像形成装置に適用することも可能である。
【００７９】
さらに、本発明の目的は、上述した各実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体によっても達成される。すなわち、この記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読出して実行することによって達成される。
【００８０】
この場合、記憶媒体から読出されたプログラムコード自体が前述した各実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００８１】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク等を用いることができる。また、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ等の光ディスク、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【００８２】
また、本発明は、コンピュータが読出したプログラムコードを実行することにより、上記の実施の形態の機能が実現される場合だけに限定されるものではない。その他、例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述の実施の形態の機能が実現される場合も含まれる。
【００８３】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれることにより実施の形態の機能が実現される場合も含まれる。この場合、当該書込みの後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行うこととなる。
【図面の簡単な説明】
【００８４】
【図１】本発明の実施形態に係る画像形成装置の概略構成を示すブロック図である。
【図２】上記の画像形成装置に搭載されたプリンタコントローラ部の構成を示すブロック図である。
【図３】上記のプリンタコントローラ部の構成要素であるＤＭＡコントローラの構成を示すブロック図である。
【図４】ラインの切替え位置と同一の位置で矩形領域が分割されている様子を示す概念である（本発明の実施の形態）。
【図５】画像データに対する矩形領域の分割方式を説明するための概念図である。
【図６】走査ラインの曲がりに合わせてラインを切替えながらビットマップデータを印刷部に出力する様子を示す概念図である。
【図７】曲がりが生じた走査ラインの一部を拡大して示し、その補正処理を示した概念図である。
【図８】ラインの切替位置が矩形領域内となっている様子を示す概念図である（本発明の実施の形態ではない）。
【図９】データ処理部にてサブデータ処理部で並行処理する様子を示す概念図である。
【図１０】注目画素の画素値を周囲の画素の画素値を参照して決定する処理を説明するための概念図である。
【図１１】サブデータ処理部の構成を示すブロック図である。
【図１２】矩形領域での参照画素の処理を説明するための概念図である。
【図１３】サブデータ処理部で矩形領域を更に分割する場合の処理方式を説明するための図である。
【図１４】矩形領域幅の決定処理を示すフローチャートである。
【符号の説明】
【００８５】
１００…画像形成装置
１０１…データ処理部
３０４…画像メモリ
３０５…ＤＭＡコントローラ
５０１…レジスタ部
５０２…アドレス生成部
５０５…矩形領域判定部
１０００…サブデータ処理部
１００１…矩形分割部
１００２…参照用メモリ
１００３…演算部
【図１】
0004891273.tif 000002
【図２】
0004891273.tif 000003
【図３】
0004891273.tif 000004
【図４】
0004891273.tif 000005
【図５】
0004891273.tif 000006
【図６】
0004891273.tif 000007
【図７】
0004891273.tif 000008
【図８】
0004891273.tif 000009
【図９】
0004891273.tif 000010
【図１０】
0004891273.tif 000011
【図１１】
0004891273.tif 000012
【図１２】
0004891273.tif 000013
【図１３】
0004891273.tif 000014
【図１４】
0004891273.tif 000015