(57)【要約】【課題】  給紙口毎の主走査位置ずれ補正に伴う走査線の副走査方向のずれの補正が、十分ではなかった。【解決手段】  給紙口の印刷位置の調整値に基づき決まる主走査位置ずれ係る補正量と前記画像形成装置の副走査方向の位置ずれ情報を用いて、印刷する画像の副走査方向の位置ずれ補正を行う。【選択図】  図８
2010008516.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置において、
給紙口毎の印字位置調整値を保持する保持手段と、
印刷要求に基づき印刷に用いる紙の給紙口の情報を判定する判定手段と、
前記判定手段の結果と前記保持手段の内容に基づいて、前記判定手段により判定された給紙口に対する主走査位置ずれ係る補正量を決定する補正量決定手段と、
前記補正量決定手段によって決定された前記補正量と前記画像形成装置の副走査方向の位置ずれ情報を用いて、印刷する画像の副走査方向の位置ずれ補正を行う副走査方向の位置ずれ補正手段と、
を備えることを特徴とする画像形成装置。
【請求項２】
請求項１記載の画像形成装置において、前記判定手段は、前記印刷要求が、複数の給紙口の中から給紙口を自動的に選択して印刷するものであるか、前記複数の給紙口の中のひとつの給紙口を指定して印刷するものであるかを判定する給紙口判定手段と、前記印刷要求で指定された用紙のサイズ、かつ／または、用紙の種類と同一のサイズ、かつ／または、種類の用紙が収容されている給紙口がひとつしかないか、あるいは、複数存在するかを判定する用紙属性判定手段とからなることを特徴とする画像形成装置。
【請求項３】
請求項１または２記載の画像形成装置において、前記補正量決定手段は、前記判定手段の結果がひとつの給紙口に限定されるときは、前記限定された給紙口に対応する前記保持手段に保持された値に基づいて補正量を決定し、前記判定手段の結果、給紙口が複数存在するときは、複数の給紙口に対応する前記保持手段に保持された複数の値の平均値に基づいて補正量を決定することを特徴とする画像形成装置。
【請求項４】
請求項１または２記載の画像形成装置において、前記補正量決定手段は、前記判定手段の結果がひとつの給紙口に限定されるときは、前記限定された給紙口に対応する前記保持手段に保持された値に基づいて補正量を決定し、前記判定手段の結果、給紙口が複数存在するときは、予め定められた値に基づいて補正量を決定することを特徴とする画像形成装置。
【請求項５】
画像形成装置と情報処理端末とからなる画像形成システムにおいて、
前記画像形成装置は、
給紙口毎の印刷位置の調整値を保持する保持手段と、
前記保持手段に保持されている値を前記情報処理端末に伝える通知手段と、
を備え、
前記情報処理端末は、
前記画像形成装置の前記通知手段によって通知される前記保持手段に保持されている値を受信する受信手段と、
印刷要求に基づき、印刷に用いる紙の給紙口の情報を判定する判定する判定手段と、
前記判定手段の結果と前記受信手段の内容に基づいて、前記判定手段により判定された給紙口に対する主走査位置ずれに係る補正量を決定する補正量決定手段と、
前記補正量決定手段によって決定された前記補正量と前記画像形成装置の副走査方向の位置ずれ情報を用いて、印刷する画像の副走査方向の位置ずれ補正を行う副走査位置ずれ補正手段と、
を備えることを特徴とする画像形成システム。
【請求項６】
請求項５記載の画像形成システムにおいて、前記情報処理端末の前記判定手段は、前記印刷要求が、複数の給紙口の中から給紙口を自動的に選択して印刷するものであるか、前記複数の給紙口の中のひとつの給紙口を指定して印刷するものであるかを判定する給紙口判定手段と、前記印刷要求で指定された用紙のサイズ、かつ／または、用紙の種類と同一のサイズ、かつ／または、種類の用紙が収容されている給紙口がひとつしかないか、あるいは、複数存在するかを判定する用紙属性判定手段とからなることを特徴とする画像形成システム。
【請求項７】
請求項５または６記載の画像形成システムにおいて、前記補正量決定手段は、前記判定手段の結果がひとつの給紙口に限定されるときは、前記限定された給紙口に対応する前記受信手段で受信した値に基づいて補正量を決定し、前記判定手段の結果、給紙口が複数存在するときは、複数の給紙口に対応する前記受信手段で受信した複数の値の平均値に基づいて補正量を決定することを特徴とする画像形成システム。
【請求項８】
請求項５または６記載の画像形成システムにおいて、前記補正量決定手段は、前記判定手段の結果がひとつの給紙口に限定されるときは、前記限定された給紙口に対応する前記受信手段で受信した値に基づいて補正量を決定し、前記判定手段の結果、給紙口が複数存在するときは、予め定められた値に基づいて補正量を決定することを特徴とする画像形成システム。
【請求項９】
請求項４記載の画像形成装置において、前記判定手段の結果、給紙口が複数存在するとき使用される前記予め定められた値は、補正のない状態と同じ値であることを特徴とする画像形成装置。
【請求項１０】
請求項８記載の画像形成システムにおいて、前記判定手段の結果給紙口が複数存在するとき使用される前記予め定められた値は、補正のない状態と同じ値であることを特徴とする画像形成システム。
【請求項１１】
画像形成装置における画像処理方法であって、
給紙口毎の印刷位置の調整値を保持し、
印刷要求に基づき印刷に用いる紙の給紙口の情報を判定し、
前記判定の結果と前記保持の内容に基づいて、前記判定により判定された給紙口に対する主走査位置ずれ係る補正量を決定し、
前記決定された前記補正量と前記画像形成装置の副走査方向の位置ずれ情報を用いて、印刷する画像の副走査方向の位置ずれ補正を行うことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタやデジタル複合機などの電子写真系の画像形成装置および画像形成装置の制御方法に関する。具体的には、レーザスキャナユニットを光学的に調整する工程を削減し、レーザビームの曲がりや傾きに伴う画像のゆがみをデジタル補正する画像形成装置および画像形成装置の制御方法に関する。
【背景技術】
【０００２】
特許文献１に開示される技術を応用することで、電子写真系の画像形成装置において、レーザスキャナ調整の工程を削減し、レーザビームの曲がりに伴う画像のゆがみをデジタル補正することでコストダウンする方法が知られている。
【０００３】
例えば、走査線の副走査方向のデジタル補正では、予め得られているレーザビームの曲がり量に基づいて、曲がり量が相殺できるようにラインを、適宜乗り換えて画像が形成される。ここで、ラインとは、主走査方向に配列されている画素の集合である。
【０００４】
詳しく書くと、例えば主走査位置ｘに対してレーザビームの曲がり量がｆ（ｘ）で表されるとき、ｆ（ｘ）を四捨五入した値ｙから得られる数−ｙをライン乗り換え量とし、ライン乗り換え量が等しい区間ｘｉからｘｊのデータをすべて−ｙライン分シフトする。これをすべての画像領域に適用すれば、レーザビームの曲がりは相殺されて、原画を再現することできる。
【０００５】
上記とは別に、紙搬送機構の公差などによって、用紙の基準位置が理想位置に対して主走査方向にずれる場合がある。また、給紙口によってずれ量が異なる場合が多い。
【０００６】
これらのずれを補正するために、給紙口毎のずれ量に基づいて、画像の書き出し位置を移動する方法が知られている。給紙口毎のずれ量については、工場出荷時に装置の不揮発性メモリに設定しておくものや、ユーザインタフェースを設けてユーザが補正量としての設定を適宜変更できるものなどがある。
【０００７】
ここで、前者走査線の副走査方向のデジタル補正と、後者給紙口毎の主走査位置ずれ補正との双方の補正を同時に実施しなければならない構成の場合、次のように補正を行うことが望まれる。すなわち、後者の補正のために画像の書き出し位置を移動した補正量ｓに応じて、前者の補正におけるライン乗り換え量を算出することが望まれる。より詳しく書くと、ｆ（ｘ）の代わりに、ｆ（ｘ＋ｓ）に基づいてライン乗り換え量を算出することが望まれる。
【０００８】
もし、ｆ（ｘ＋ｓ）に基づいてライン乗り換え量を算出すれば、給紙口のずれ量に応じて画像の書き出し位置を移動しても、レーザビームの曲がりに伴う副走査方向の色ずれをなくすことが可能になる。
【特許文献１】特許第３３８８１９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、例えば、印刷イメージのレンダリングと走査線の副走査方向のデジタル補正を画像形成装置内部でなく、プリンタドライバで実施する、いわゆるホストベースの画像形成装置の場合、次のような問題がある。
【００１０】
すなわち、プリンタドライバが印刷ジョブを生成するタイミングでは、給紙口を特定できないケースがある。特定の給紙口が指定されなくても、印刷ジョブの用紙サイズや用紙タイプに応じて給紙口を自動的に選択する装置などがそれにあたる。このような装置では、最初に選択された給紙口で用紙切れが発生したとき、同一の用紙サイズや用紙タイプが収められている別の給紙口に切り替えて印刷を継続する。
【００１１】
ここで、給紙口毎の主走査位置ずれ補正について、最初に選択された給紙口の補正量をｓ１、２番目に選択された給紙口の補正量をｓ２とする。またｓ１≠ｓ２とする。
【００１２】
従来技術で説明したように、画像の書き出し位置の補正量ｓに応じて、ｆ（ｘ）の代わりに、ｆ（ｘ＋ｓ）に基づいてライン乗り換え量を算出することが望まれる。
【００１３】
ここで、仮にプリンタドライバが印刷ジョブを生成するとき、最初に選択される給紙口だけは特定できて、ｆ（ｘ＋ｓ１）に基づいてライン乗り換え量を算出したとする。この場合、最初に選択された給紙口から搬送した用紙に対する印刷結果は、いうまでもなく良好になる。しかし、最初の給紙口に用紙がなくなって、２番目に選択された給紙口から搬送した用紙に対して印刷が実行されると、ｆ（ｘ＋ｓ２）−ｆ（ｘ＋ｓ１）分だけ走査線が副走査方向にずれたものになってしまう。
【００１４】
本発明は、上記問題点に鑑みてなされたものであり、給紙口の印刷位置の調整値に基づき決まる主走査位置ずれ係る補正量と前記画像形成装置の副走査方向の位置ずれ情報を用いて、印刷する画像の副走査方向の位置ずれ補正を行う。これによって、給紙口毎の主走査位置ずれ補正に伴う走査線の副走査方向のずれを少なくすることができる画像形成装置と画像形成装置システムならびに画像処理方法を提供することを目的とする。あるいは、給紙口が特定できるときは、給紙口毎の主走査位置ずれ補正に伴う走査線の副走査方向のずれを少なくすることができる画像形成装置と画像形成装置システムならびに画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記課題を解決するために、本発明に係る画像形成装置は、
給紙口毎の印刷位置の調整値を保持する保持手段と、
印刷要求に基づき印刷に用いる紙の給紙口の情報を判定する判定手段と、
前記判定手段の結果と前記保持手段の内容に基づいて、前記判定手段により判定された給紙口に対する主走査位置ずれ係る補正量を決定する補正量決定手段と、
前記補正量決定手段によって決定された前記補正量と前記画像形成装置の副走査方向の位置ずれ情報を用いて、印刷する画像の副走査方向の位置ずれ補正を行う副走査位置ずれ補正手段とを備える。
【発明の効果】
【００１６】
本発明によれば、給紙口毎の主走査位置ずれ補正に伴う走査線の副走査方向のずれを少なくすることができる。また、給紙口が特定できるときは、給紙口毎の主走査位置ずれ補正に伴う走査線の副走査方向のずれを少なくすることができる。
【発明を実施するための最良の形態】
【００１７】
＜第１の実施形態＞
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１８】
図１は、本発明の実施形態における画像形成装置（以下プリンタ）を含む画像形成システムの利用環境を示す概略図である。
【００１９】
本実施形態におけるプリンタ１０００は、ＵＳＢケーブル６０００を介してローカルＰＣ２０００と接続される。プリンタ１０００は、またネットワーク接続機能を有し、ネットワーク７０００を介してＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）サーバ３０００や、クライアント１のＰＣ４０００、クライアント２のＰＣ５０００などと通信することも可能である。
【００２０】
図２は、本発明の実施形態における図１に記載のプリンタ１０００を示すブロック図である。
【００２１】
また、図３は、本発明の実施形態における図１記載ローカルＰＣ２０００またはクライアント１のＰＣ４０００で動作するソフトウェアの構成を、ローカルＰＣ２０００を代表にして示したブロック図である。
【００２２】
以下、図２および図３を使って、本実施形態におけるプリンタとその印刷動作の大まかな流れを説明する。
【００２３】
本実施形態におけるプリンタ１０００は、主にコントローラ部１１００、ネットワークインタフェースカード（以下ＮＩＣ）１２００、および、エンジン部１３００からなる。
【００２４】
プリンタ１０００は、印刷イメージのレンダリングや印刷制御が、ローカルＰＣ２０００、または、クライアント１のＰＣ４０００やクライアント２のＰＣ５０００などのコンピュータ上で動作することを前提に設計されている。より詳しく書くと、印刷イメージのレンダリングや印刷制御は、図３に記載されているドライバ２２００やランゲージモニタ２３００で実行される。このため、コントローラ部１１００は、ＣＰＵ１１１０、ＡＳＩＣ１１２０、ＳＤＲＡＭ１１３０、ＥＥＰＲＯＭ１１４０、ＵＳＢコネクタ１１５０のみを有する。
【００２５】
ＣＰＵ１１１０は、レンダリングや印刷制御を自らが行うプリンタに比べて極めて少ない容量のＲＯＭ１１１１やＲＡＭ１１１２と、エンジン部１３００とのシリアル通信を行うためのシリアルコントローラ１１１３を内蔵している。ＲＯＭ１１１１には、各種制御プログラムや各種初期値が格納されている。また、ＲＡＭ１１１２には、ワークエリアのほか、コントローラ部１１００が扱う画像データを除くデータを格納するための領域が用意される。ＲＡＭ１１１２は、揮発性ＲＡＭであるため、電源がＯＦＦされても保持しなければならない各種カウンタ値などの限られた情報は、ＥＥＰＲＯＭ１１４０に格納される。
【００２６】
ＡＳＩＣ１１２０は、ＣＰＵインタフェース（Ｉ／Ｆ）１１２１、画像処理部１１２２、メモリコントローラ１１２３、ＵＳＢコントローラ１１２４、ＮＩＣコントローラ１１２５をひとつにまとめたパッケージである。例えば、ローカルＰＣ２０００上のアプリケーション２１００で印刷処理が実行されると、ドライバ２２００が起動され、印刷用のイメージデータが生成される。
【００２７】
なお、本実施形態におけるプリンタ１０００は、後述するように、アプリケーション２１００による印刷に対する走査線の副走査方向のデジタル補正処理をドライバ２２００において行う。
【００２８】
生成されたイメージデータは、ランゲージモニタ２３００に渡される。ランゲージモニタ２３００は、印刷を制御するための各種コマンドと生成されたイメージデータを予め定められたプロトコルに基づき、ＵＳＢポートモニタ２５００およびＵＳＢケーブル６０００を経由してプリンタ１０００に転送する。
【００２９】
プリンタ１０００では、転送されたコマンドやデータが、ＵＳＢケーブル６０００とＵＳＢコネクタ１１５０を介してＵＳＢコントローラ１１２４で受信される。ＣＰＵ１１１０では、ＣＰＵインタフェース（Ｉ／Ｆ）１２１１を介してＵＳＢコントローラ１１２５の状態を常に監視している。
【００３０】
もし、コマンドが受信されていたならば、コマンドに応じた処理を実行する。もし応答が必要なコマンドであれば、ＣＰＵ１１１０は、ＣＰＵインタフェース（Ｉ／Ｆ）１１２１を介してＵＳＢコントローラ１１２４を制御して、その応答ステータスデータをローカルＰＣ２０００に返送する。返送されたステータスは、ＵＳＢケーブル６０００およびＵＳＢポートモニタ２５００を介してランゲージモニタ２３００に渡され、その内容はさらにステータスウィンドウ２４００に通知される。ステータスウィンドウ２４００は、通知されたステータスに応じて適宜プリンタや印刷の状況をローカルＰＣ２０００の表示部に表示する。
【００３１】
ＣＰＵ１１１０がレンダリングされた印刷イメージを転送するためのコマンドを受信したときは、ＵＳＢコントローラ１１２４およびメモリコントローラ１１２３を制御して、コマンドに続くイメージデータをＳＤＲＡＭ１１３０に格納させる。
【００３２】
ある程度のイメージデータがＳＤＲＡＭ１１３０に格納されると、ランゲージモニタ２３００は、エンジン部１３００の起動要求コマンドを発行する。同コマンドをＣＰＵ１１１０が認識したならば、シリアルコントローラ１１１３を制御してエンジン部１３００に起動の要求を通知する。エンジン部１３００が正常に起動され、用紙の搬送が正しく行われたことが、シリアルコントローラ１１１３を介して通知されたならば、ＣＰＵ１１１０は、メモリコントローラ１１２３および画像処理部１１２２を制御する。さらに、ＳＤＲＡＭ１１３０に格納されたイメージデータをエンジン部１３００が実際の印刷動作で必要とするビデオ信号に変換して、エンジン部１３００に送出する。
【００３３】
ここで、エンジン部１３００は、ＣＰＵ１３１０、シリアルコントローラ１３２０、ビデオ（ＶＩＤＥＯ）制御部１３３０、ＳＤＲＡＭ１３４０、ＦＬＡＳＨ  ＲＯＭ１３５０、および、記録部１３６０を有する。ＣＰＵ１３１０は、エンジン部全体の動作を制御する。ビデオ制御部１３３０は、コントローラ部１１００から送られてくるビデオ信号を受ける。ＳＤＲＡＭ１３４０は、ワークエリアや各種状態を示す値を保持するエリアを有する。ＦＬＡＳＨ  ＲＯＭ１３５０は、ＣＰＵ１３１０で実行されるプログラムや参照される各種テーブル値などを格納する。記録部１３６０は、紙搬送系やトナー補給系、レーザビーム制御系、中間転写系、定着器系などからなる。
【００３４】
ＣＰＵ１３１０は、コントローラ部１１００から記録部１３６０の起動要求や用紙搬送要求を受けたならば、記録部１３６０を適宜制御し、必要に応じて状態をコントローラ部１１００に通知する。もし画像形成が開始されたならば、ビデオ（ＶＩＤＥＯ）制御部１３３０を制御して、コントローラ部１１００から渡されたビデオ信号を記録部１３６０に供給して画像を形成させる。
【００３５】
図１１は、記録部１３６０の一例の中間転写体２８を採用したタンデム方式の電子写真方式のレーザプリンタの一例である。図１１を用いて、記録部１３６０の動作を説明する。
【００３６】
記録部１３６０は、コントローラ部１１００が処理したビデオ信号に基づき露光光を駆動し、感光ドラムすなわち像担持体上に静電潜像を形成して、この静電潜像を現像して各色成分の単色トナー像を形成する。この単色トナー像を中間転写体２８上で重ね合わせて多色トナー像を形成し、この多色トナー像を印刷媒体１１へ転写してその多色トナー像を熱定着させる。中間転写体も像担持体である。帯電部は、Ｙ，Ｍ，Ｃ，Ｋの色毎に感光体２２Ｙ，２２Ｍ，２２Ｃ，２２Ｋを帯電させるための４個の注入帯電器２３Ｙ，２３Ｍ，２３Ｃ，２３Ｋを備え、各注入帯電器にはスリーブ２３ＹＳ，２３ＭＳ，２３ＣＳ，２３ＫＳを備えている。
【００３７】
像担持体すなわち感光体（感光ドラム）２２Ｙ，２２Ｍ，２２Ｃ，２２Ｋは、駆動モータにより画像形成動作に応じて反時計周り方向に回転される。露光部であるスキャナ部４１４Ｙ，４１４Ｍ，４１４Ｃ，４１４Ｋは感光体２２Ｙ，２２Ｍ，２２Ｃ，２２Ｋを露光光で照射し、感光体２２Ｙ，２２Ｍ，２２Ｃ，２２Ｋの表面を選択的に露光する。この結果、静電潜像が感光体表面に形成される。現像部である現像器２６Ｙ，２６Ｍ，２６Ｃ，２６Ｋは、静電潜像を可視化するために、Ｙ，Ｍ，Ｃ，Ｋの色毎のトナー現像を行う。各現像器には、スリーブ２６ＹＳ，２６ＭＳ，２６ＣＳ，２６ＫＳが設けられている。なお、各々の現像器２６は脱着が可能である。スキャナ部は、レーザビームの幅や強度によって各画素の階調表現が可能である。
【００３８】
転写部である一次転写ローラ２７Ｙ，２７Ｍ，２７Ｃ，２７Ｋは、時計回りに回転する中間転写体２８を感光体２２Ｙ，２２Ｍ，２２Ｃ，２２Ｋに押圧して、感光体上のトナー像を中間転写体２８へと転写する。一次転写ローラ２７に適当なバイアス電圧を印加すると共に感光体２２の回転速度と中間転写体２８の回転速度に差をつけることにより、効率良く単色トナー像を中間転写体２８上に転写する。これを一次転写という。
【００３９】
ＹＭＣＫ毎の単色トナー像が合成された多色トナー像は、中間転写体２８の回転に伴い二次転写ローラ２９まで搬送される。その中間転写体２８上の多色トナー像が、給紙トレイ２１から二次転写ローラ２９へ狭持搬送された印刷媒体１１上に転写される。この二次転写ローラ２９には、適当なバイアス電圧が印加され、静電的にトナー像が転写される。これを二次転写という。二次転写ローラ２９は、記録媒体１１上に多色トナー像を転写している間、２９ａの位置で印刷媒体１１に当接し、印字処理後は２９ｂの位置に離間する。
【００４０】
定着部３１は、印刷媒体１１に転写された多色トナー像を印刷媒体１１に溶融定着させるために、印刷媒体１１を加熱する定着ローラ３２と記録媒体１１を定着ローラ３２に圧接させるための加圧ローラ３３を備えている。定着ローラ３２と加圧ローラ３３は中空状に形成され、内部にそれぞれヒータ３４、３５が内蔵されている。定着部３１は、多色トナー像を保持した印刷媒体１１を定着ローラ３２と加圧ローラ３３により搬送するとともに、熱および圧力を加え、トナーを印刷媒体１１に定着させる。
【００４１】
トナー定着後の印刷媒体１１は、その後図示しない排出ローラによって図示しない排紙トレイに排出して画像形成動作を終了する。クリーニング部３０は、中間転写体２８上に残ったトナーをクリーニングする。中間転写体２８上に形成された４色の多色トナー像を記録媒体１１に転写した後に残った廃トナーは、クリーナ容器に蓄えられる。
【００４２】
また、図３に記載されているステータスウィンドウ２４００は、印刷の一時停止やキャンセルといったユーザの操作要求を受けることが可能であり、その操作要求は適宜ランゲージモニタ２３００に伝えられる。ランゲージモニタ２３００は、伝えられた操作要求に応じたコマンドを上記定められたプロトコルに基づいてＵＳＢポートモニタ２５００およびＵＳＢケーブル６０００を経由してプリンタ１０００に転送する。これにより、上記のごとくコントローラ部１１００によって転送されたコマンドに応じた処理が実行される。
【００４３】
一方、ＮＩＣ１２００は、ＣＰＵ１２１０、コントローラ通信部１２２０、ＳＤＲＡＭ１２３０、ＦＬＡＳＨ  ＲＯＭ１２４０、および、ネットワーク通信部１２５０を有する。ＣＰＵ１２１０は、ＮＩＣ全体の動作を制御する。コントローラ通信部１２２０は、コントローラ部１１００との通信を制御する。ＳＤＲＡＭ１２３０は、ワークエリアや各種状態を示す値を保持するエリアを有する。ＦＬＡＳＨ  ＲＯＭ１２４０は、ＣＰＵ１２１０で実行されるプログラムや参照される各種テーブル値などを格納する。ネットワーク通信部１２５０は、ＴＣＰ／ＩＰに基づいたネットワーク通信全体を制御する。
【００４４】
ＮＩＣ１２００の役割のひとつは、クライアント１のＰＣ４０００やクライアント２のＰＣ５０００などと、コントローラ部１１００との仲介を行うことである。各クライアントでは、ローカルＰＣ２０００上のドライバ２２００やランゲージモニタ２３００と同一のソフトウェアに加え、ＵＳＢポートモニタ２５００の代わりにネットワークポートモニタ２６００が動作している。ランゲージモニタ２３００から発行される各種コマンドやイメージデータは、ネットワークポートモニタ２６００およびネットワーク７０００を介してＮＩＣ１２００に伝えられる。ＮＩＣ１２００がネットワーク通信部１２５０で受けたコマンドは、コントローラ通信部１２２０を制御することでコントローラ部１１００に渡される。コントローラ部１１００は、ＵＳＢコントローラ１１２４と同じようにＮＩＣコントローラ１１２５も常に監視している。上記ＵＳＢの場合と同様に受信したコマンドを処理し、必要に応じてＮＩＣコントローラ１１２５を介してステータスデータをＮＩＣ１２００に返す。ＮＩＣ１２００は、コントローラ通信部１２２０で受け取ったステータスデータを、ネットワーク通信部１２５０を制御してコマンド発行元のクライアントに返送する。返送されたステータスは、上記ＵＳＢの場合と同様に、ランゲージモニタ２３００からステータスウィンドウ２４００に渡され、適宜表示される。イメージデータのやりとりも上記ＵＳＢの場合と同様である。
【００４５】
ＮＩＣ１２００のもうひとつの役割は、ＲＦＣ−１３０５で公知のＮＴＰに基づいてＮＴＰサーバ３０００にアクセスして時刻情報を取得し、さらにその内容をコントローラ部１１００にコマンドとして伝えることである。ＮＴＰサーバ３０００のアドレスは、ＮＩＣ１２００が実装しているウェブサーバ起動の設定することができる。設定されたアドレス情報はＦＬＡＳＨ  ＲＯＭ１２４０上に格納され、電源がＯＦＦされても保持される。なお、ＴＣＰ／ＩＰ制御やＮＴＰ処理は公知のもので本発明と直接関係ないため、より詳細な説明は割愛する。
【００４６】
図４は、図３記載のプリンタ１０００による印刷におけるレーザビームの曲がりや機構的な傾き（取り付け精度による傾き）に伴う画像歪みを補正するための走査線の副走査方向のデジタル補正に係るブロックとそれぞれの処理との関係を示す図である。
【００４７】
また図５は、図３記載のステータスウィンドウ２４００のメニュー選択によって表示される、給紙口毎の印字位置調整値を設定するダイアログボックスを示す図である。背景技術で説明した様に紙搬送機構の公差などによって、用紙の基準位置が理想位置に対して主走査方向にずれる。本実施形態では、この給紙口毎の印字位置調整値は、紙の給紙位置ずれに対応して、画像の書き出し位置の調整と後述のようにレーザの曲がり機構的な傾きの影響を補償すべく副走査方向に画像をシフト（位置ずれ補正）するため利用する。
【００４８】
以下、図４および図５を使って、本実施形態における走査線の副走査方向のデジタル補正の流れを説明する。
【００４９】
図３に記載されているコントローラ部１１００は、エンジン部１３００から、あるタイミングｉに測定されたｉ番目の曲がりおよび傾きの情報を予め取得し、図２に記載されているＲＡＭ１１１２上にキャッシュしておく。
【００５０】
またコントローラ部１１００は、図５記載のダイアログボックスで入力された給紙口毎の印字位置調整値を、ランゲージモニタ２３００を介して受け取り、ＥＥＰＲＯＭ１１４０上に保存しておく。印字位置調整値は、０．１ｍｍ単位で保持される。なお、本実施形態の画像形成装置は、印字位置のずれ量を計測するためのパターン画像（不図示）を印刷するメニューを、図３記載のステータスウィンドウ２４００に持つ。ユーザは、用紙端とそのパターン画像との幅を定規等で計測することによって、印字位置のずれ量を知ることができ、必要に応じて印字位置調整値を設定することができる。
【００５１】
図３に記載されているアプリケーション２１００を使ってユーザが印刷を実行すると、ＯＳ上にドライバ２２００がロードされ、アプリケーション２１００からドライバ２２００へ印刷要求が送られる。
【００５２】
ドライバ２２００はＯＳ上にロードされ、ユーザによって印刷の開始が指示されると、ランゲージモニタ２３００を介して、ＥＥＰＲＯＭ１１４０に保存されている給紙口毎の印字位置調整値を取得する。ここで、ドライバ２２００は、アプリケーション２１００からの印刷要求に基づくレンダリング等の処理が完了すると、ＯＳ上からアンロードされる。よって、ドライバ２２００は、ＯＳ上にロードされるたびに印字位置調整値を取得する必要がある。また、印字位置調整値は、ステータスウィンドウ２４００のメニュー選択によって表示される図５記載のダイアログボックスを使って入力される。例えば、ローカルＰＣ２０００上のダイアログボックスで入力された印字位置調整値は、クライアント１のＰＣ４０００上のドライバ２２００でも参照する必要がある。これを鑑みて、本実施形態の画像形成装置は、印字位置調整値をＥＥＰＲＯＭ１１４０上に保存しておく。そして、画像形成装置は、ドライバ２２００がＯＳ上にロードされるたびに、印字位置調整値をランゲージモニタ２３００を介してドライバ２２００に転送する構成としてある。
【００５３】
また同時に、コントローラ部１１００にキャッシュされているｉ番目の曲がりおよび傾きの情報を取得する。続いて、ドライバ２２００は、印刷要求に基づいて、レンダリング処理を実行する。
【００５４】
ここで、本実施形態におけるレーザビームの曲がりおよび機構的な傾きは、上記曲がりおよび傾き情報（副走査方向の位置ずれ情報）から２次曲線（ｆ（ｘ）＝ａｘ２＋ｂｘ＋ｃ）にフィッティングできるものとする。
【００５５】
ドライバ２２００は、曲がりおよび傾きの情報から上記２次曲線を求め、続いて、後述するように、直線近似を行う。
【００５６】
ここで、本実施形態におけるレーザスキャナユニットは、主走査幅がＡ４短辺の２１０ｍｍに対して走査線の副走査方向の曲がりおよび傾きｆ（ｘ）は、必ず１ｍｍ未満の範囲に収まるように生産されるものとする。すなわち、背景技術の項で説明したように、３２画素単位で直線近似を行っても、走査線の副走査方向の誤差は用紙上に印刷されたとき目視では認識できない範囲に収まる。
さらにドライバ２２００は、後述するように、直線近似の結果に基づいて、走査線の副走査方向に、ラインの乗り換え処理を行う。
【００５７】
走査線の副走査方向へのラインの乗り換え処理が完了したデータは、ドライバ２２００から、ランゲージモニタ２３００およびコントローラ部１１００を介して、エンジン部１３００に転送される。
【００５８】
エンジン部１３００は、図２および図３の説明の通り、ビデオ信号として供給された乗換え後の画像データを記録部１３６０で用紙上に形成する。
【００５９】
図６は、図４に記載されている直線近似の処理を詳細に示したフローチャートである。図６に示されているフローチャートの各ステップの処理は、図３記載のドライバ２２００を動作させているＣＰＵによって実行される。
【００６０】
直線近似の処理はドライバ２２００のサブルーチンで、ページごとにドライバ２２００のメイン処理から呼び出され、画素単位ｗ（本実施形態では３２画素）およびシフト量ｓをパラメータとして受け取る。シフト量は、給紙口毎の印字位置調整値に基づく画像の書き出し位置移動量をさす。シフト量の詳細については、後述する。
【００６１】
まず、ステップＳ６−００１において、主走査方向の位置ｘと配列のインデックスｉを初期化する。
【００６２】
以下、ステップＳ６−００２において、画像左端から用紙中央までの画素数をｃとしたとき、図４に記載されているフィッティングで得られた２次曲線ｆ（ｘ）に対してｘ＋ｓ−ｃを与え、その四捨五入値を配列ｙ［ｉ］に代入する。ここで、ドライバ２２００は画像左端を主走査方向の原点とするのに対し、２次曲線ｆ（ｘ）は用紙中央を主走査方向の原点とするため、画像左端から用紙中央までの画素数ｃを用いて座標系の変換を行っているにすぎない。この演算により給紙口毎に対応した印字位調整値に基づき決まるシフト量も考慮した上で、２次曲線を直線近似することができる。この配列ｙ［ｉ］は、主走査方向の位置がインデックスｉ番目における副走査方向の補正量（乗り換えの量）となる。
【００６３】
また、ステップＳ６−００３において、主走査方向の位置ｘを画素単位ｗだけ進め、また、配列のインデックスｉをインクリメントする。
【００６４】
ステップＳ６−００４では、ｘが画像幅を超えたか否かを判定する。まだ画像幅に達していなければ、ステップＳ６−００２を繰り返す。
【００６５】
もし画像幅に達しているならば、ステップＳ６−００５に進み、画像末尾の直線近似を行う。以上の処理で、画像左端から画像末尾までの各位置における副走査方向の補正量（乗り換えの量）からなる配列ｙ［ｉ］が求まる。最後にステップＳ６−００６で、後段の走査線の副走査方向へのラインの乗り換え処理に、画素単位ｗと配列ｙ［ｉ］とを渡す準備をして、直線近似の処理を終了する。
【００６６】
図７は、図４に記載されている走査線の副走査方向へのラインの乗り換え処理を詳細に示したフローチャートである。この処理により、印刷する画像の画素値の副走査方向の位置ずれ補正ができる。図７に示されているフローチャートの各ステップの処理は、図３記載のドライバ２２００を動作させているＣＰＵによって実行される。
【００６７】
まず、ステップＳ７−００１において、図６のステップＳ６−００６から引き継がれる画素単位ｗと、画像データの１画素当たりのビット数（ｄｅｐｔｈ）とから、ｓｒｃおよびｄｓｔの処理単位を決定する。例えば、ｗ＝３２（画素），ｄｅｐｔｈ＝２であれば、処理単位は８バイトになる。
【００６８】
次に、ステップＳ７−００２において、主走査方向の位置ｘと配列のインデックスｉを初期化する。
【００６９】
以下、ステップＳ７−００３では、印刷対象画像における処理対象位置であるｓｒｃの位置に対して、主走査方向には同じ位置であって、かつ、走査線の副走査方向に−ｙ［ｉ］ラインだけずれた位置にｄｓｔを設定する。
【００７０】
続いて、ステップＳ７−００４では、ｄｓｔの位置の内容（画素値群）をｓｒｃの位置に処理単位分コピーする。ここでは、例えば、処理単位に応じて、一度に扱うデータサイズを適宜調整し、可能な限り早くコピーできるようにすることができる。以上で、給紙口毎の印字位調整値に基づき決まるシフト量を用いて算出された各主走査位置における補正量ｙ［ｉ］分乗り換え（補正）処理ができる。
【００７１】
また、ステップＳ７−００５において、主走査方向の位置ｘを画素単位ｗだけ進め、また、配列のインデックスｉをインクリメントする。
【００７２】
ステップＳ７−００６では、ｘが画像幅を超えたか否かを判定する。まだ画像幅に達していなければ、ステップＳ７−００３を繰り返す。
【００７３】
もし画像幅に達しているならば、ステップＳ７−００７に進み、ステップＳ７−００３と同様にｓｒｃの位置に対してｄｓｔの位置を設定する。
【００７４】
さらに、ステップＳ７−００８において、端数（画素単位wずつ進めた際の余り画素）の位置の画素値をｄｓｔの位置にコピーし、走査線の副走査方向のｓｒｃの１ライン分の乗り換え処理を終了する。
【００７５】
この乗換処理が１フレームの画素値すべてに行なわれる。
【００７６】
図４に記載されている走査線の副走査方向へのラインの乗り換え処理においては、すべてのｓｒｃラインを処理するように、図７に記載されている処理を繰り返し実行する。
【００７７】
図８は、印刷ジョブと各給紙口との用紙サイズ・タイプの関係、および、給紙口毎の印字位置調整値に基づいて、画像の書き出し位置を移動させるシフト量を決定する処理を詳細に示したフローチャートである。図８に示されているフローチャートの各ステップの処理は、図３記載のドライバ２２００が動作しているＣＰＵによって実行される。また、図８に示されているフローチャートの各ステップの処理は、図４記載のドライバがページごとに直線近似の処理を呼び出す直前に実行される。
【００７８】
まず、ステップＳ８−００１において、アプリケーション２１００からの印刷要求もしくはドライバ２２００において設定された印刷要求に基づき、どの給紙口を使ってページの印刷が要求されているかの給紙口判定をする。即ち、印刷要求の中の印刷に用いる紙の給紙口の情報を判定する給紙判定を行なう。もし、給紙口を自動的に選択するように自動給紙が要求されているならば、ステップＳ８−００２に進む。そうでないならば、すなわち、ひとつの給紙口が要求されている、あるいは、そのページは両面ユニットからの給紙であるならば、ステップＳ８−００６に進む。
【００７９】
ステップＳ８−００２（用紙属性判定）では、印刷要求においてどの用紙サイズおよび用紙種類（普通紙、厚紙等）により画像の印刷が要求されているかを確認し、そのサイズおよび種類の用紙がセットされた給紙口の数を調べる。もし、要求されたサイズおよび種類の用紙と同一サイズおよび種類がセットされた給紙口が複数存在するならば、ステップＳ８−００４に進む。そうでなく、要求されたサイズおよび種類の用紙が収容された給紙口がひとつならば、ステップＳ８−００６に進む。ステップＳ８−００４では、図４記載の各給紙口の印字位置調整値転送のタイミングで取得したすべての中から、要求されたサイズおよびタイプの用紙と同じサイズおよびタイプがセットされた給紙口の印字位置調整値を抽出する。さらに、抽出した各値の平均値を求める。
【００８０】
ステップＳ８−００４では、ステップＳ８−００３で求めたｍｍ単位の平均値を、画素単位のシフト量（dot単位）に変換する。その結果、主走査位置ずれに係る補正量を決定できる。ステップＳ８−００５では、後段の直線近似の処理にシフト量を渡す準備をして、シフト量決定の処理を終了する。
【００８１】
一方、ステップＳ８−００６では、要求された給紙口、あるいは、両面ユニットの印字位置調整値から、画素単位のシフト量を求め、ステップＳ８−００５に進む。
【００８２】
このステップＳ８−００５におけるシフト量が、（製造者が規定した）理想位置に対する決まった給紙口（自動も含む）の主走査位置ずれ量となる。
【００８３】
図９は、走査線の副走査方向のずれや、図８記載のステップＳ８−００６を実行した際の効果などを示す図である。
【００８４】
図９の最上段の図は、一点鎖線の直線がそのままエンジン部１３００で画像形成された場合に、どのように再現されるかを実線で示す。すなわち、曲がりおよび傾きの様子そのものを示している。
【００８５】
図９の２段目の図は、シフト量ｓ＝０の状態で、直線近似および走査線の副走査方向へのラインの乗り換え処理を行った場合の例である。シフト量ｓ＝０で直線近似して、それに基づいて、図８の上段の図に記載した一点鎖線の直線についてラインの乗り換え処理をすると、図９の２段目の図に記載した一点鎖線の直線のようになる。その直線をエンジン部１３００で画像形成すると、実線のようになる。実線は、副走査０の位置に対して±１ライン未満に収まっていることがわかる。
【００８６】
一方、図９の３段目の図は、背景技術でも説明した、乗り換え後にシフト量ｓ＞０で書き出し位置を左にシフトした場合の例である。同図を見ると、書き出し位置に近い部分、すなわち、２次曲線の傾きが大きい部分で、実線の重心が図面上側に移動しているのがわかる。重心の移動量は、２次曲線の傾きに依存するが、同図の場合はおよそ０．５ライン程度移動している。タンデム式のカラーレーザプリンタで、図９がＹ版画像に対応しており、最上段の図と上限反転、すなわち、下に凸の曲がりをＭ版が持ち、Ｙ版とＭ版とを重ねてひとつの色を再現しているとすると、書き出し位置に近い部分では１ラインの色ずれることになる。もちろん他の色版であっても同様のことが言える。
【００８７】
図９下段の図は、本実施例における図８記載のステップＳ８−００５が実行された場合の例である。同図を見ると、図９の３段目の図で見られた実線の重心の移動は解決していることがわかる。
【００８８】
以上のように構成することで、給紙口毎の主走査位置ずれ補正に伴う走査線の副走査方向のずれを可能な限り少なくすることができる。
【００８９】
＜第２の実施形態＞
第１の実施形態では、印刷イメージのレンダリングや印刷制御を、ローカルＰＣ２０００などの情報処理端末上で実行する、いわゆるホストベースのプリンティングシステムを例に本発明を説明した。しかし、本発明はホストベースのプリンティングシステムに限定されるものではない。いわゆるページ記述言語（以下ＰＤＬ）を受信し、内部で受信したＰＤＬに基づいて印刷イメージのレンダリングを行うプリンタであっても、走査線の副走査方向のデジタル補正を行う段階で給紙口を特定できない構成の場合、効果を得ることができる。
【００９０】
図１０は、走査線の副走査方向のデジタル補正を行う段階で給紙口を特定できない、第２の実施形態におけるプリンタを示すブロック図である。
【００９１】
以下、図１０を使って、第２の実施形態におけるプリンタとその印刷動作の流れを説明する。
【００９２】
第２の実施形態におけるプリンタ１００１は、図１記載のプリンタ１０００と同様に、ＵＳＢケーブル６０００を介してローカルＰＣ２０００と接続される。また、プリンタ１００１は、ネットワーク接続機能を有し、ネットワーク７０００を介してＮＴＰサーバ３０００や、クライアント１のＰＣ４０００、クライアント２のＰＣ５０００などと通信することも可能である。
【００９３】
プリンタ１００１は、コントローラ部１５００と、パネル部１６００と、図２記載のものと同じエンジン部１３００からなる。エンジン部１３００の詳細な説明は割愛する。
【００９４】
パネル部１６００は、数個のＬＥＤやＬＣＤからなる表示部と、数個のボタンからなる入力部を持ち、プリンタの状態を表示したり、ユーザによる各種設定の入力を受け付けたりする。第１の実施形態と似たように、印字位置調整のメニューから給紙口毎の印字位置調整値を変更することができる。
【００９５】
コントローラ部１５００は、ＣＰＵ１５１０、ＦＬＡＳＨ  ＲＯＭ１５２０、ＳＤＲＡＭ１５３０、ＥＥＰＲＯＭ１５４０、ＵＳＢ制御部１５５０、ネットワーク制御部１５６０、シリアルコントローラ１５９０を有する。加えて、画像処理ＡＳＩＣ１５７０、ＶＩＤＥＯ出力ＡＳＩＣ１５８０を有する。
【００９６】
ＣＰＵ１５１０は、コントローラ部全体の動作を制御する。なお、本実施形態の詳細な説明は、画像処理ＡＳＩＣ１５７０、および、ＶＩＤＥＯ出力ＡＳＩＣ１５８０の説明とともに行う。
【００９７】
ＦＬＡＳＨ  ＲＯＭ１５２０は、ＣＰＵ１５１０で実行されるプログラムや参照される各種テーブル値などを格納する。
【００９８】
ＳＤＲＡＭ１５３０は、画像データを保持するエリアと、ワークエリアや各種状態を示す値を保持するエリアを有する。
【００９９】
ＥＥＰＲＯＭ１５４０には、電源がＯＦＦされても保持しなければならない各種カウンタ値などの限られた情報が格納される。また、パネル部１６００を使って入力された給紙口毎の印字位置調整値も格納される。
【０１００】
ＵＳＢ制御部１５５０は、図２記載のＵＳＢコントローラ１１２４およびＵＳＢコネクタ１１５０と同様の役割を担っている。また、ネットワーク制御部１５６０は、図２記載のネットワーク通信部１２５０と同様の役割を担っている。
【０１０１】
画像処理ＡＳＩＣ１５７０は、ＣＰＵ１５１０上で動作するプログラムによるレジスタ設定に応じて、ＰＤＬに基づいた印刷イメージのレンダリングを行う。また、図７記載の副走査方向の乗り換え処理も行う。これは、第２の実施形態の特徴である。レンダリングおよび乗り換え処理を行った印刷イメージは、一旦ＳＤＲＡＭ１５３０に保持される。エンジン部１３００の印刷能力を最大限に発揮させるため、ＳＤＲＡＭ１５３０には、レンダリングおよび乗り換え処理を行った印刷イメージを最大４ページ蓄える構成になっている。
【０１０２】
ＣＰＵ１５１０上では、画像処理ＡＳＩＣ１５７０の各ページの設定の前に、ＦＬＡＳＨ  ＲＯＭ１５２０に記憶された図６および図８記載のプログラムが実行される。処理の詳細は第１の実施形態で説明したものと同様である。
【０１０３】
エンジン出力ＡＳＩＣ１５８０は、ＣＰＵ１５１０上で動作するプログラムのレジスタ設定に応じて、ＰＤＬによって指定された余白を満たすように、ＳＤＲＡＭ１５３０に保持された印刷イメージの主・副走査書き出し位置を調整する。調整されたビデオ信号は、エンジン部１３００に送出される。印字位置もまた、ＣＰＵ１５１０上で動作するプログラムによるエンジン出力ＡＳＩＣ１５８０のレジスタ設定に応じて調整される。
【０１０４】
シリアルコントローラ１５９０は、図２記載のシリアルコントローラ１１１３と同様の役割を担う。
【０１０５】
以上のように構成することで、第２の実施形態におけるプリンタも、給紙口毎の主走査位置ずれ補正に伴う走査線の副走査方向のずれを可能な限り少なくすることができる。
【０１０６】
第２の実施形態におけるプリンタならば、例えば用紙なしによる給紙口の自動切り換えが発生したとき、それまでにレンダリングおよび乗り換え処理を行った印刷イメージを破棄して、再度印刷イメージを作り直すことも可能である。しかし、これを実現するためには、最大４ページ分のＰＤＬを、それぞれのページの印刷が終了するまで保持していなければならない。また、再度レンダリングおよび乗り換え処理を行うため、エンジン部１３００の印刷能力は若干低下する。話は前後するが実施形態１の場合は、実施形態２に比べメモリなどのリソースを増やすことなく、エンジンの印刷能力を最大限に発揮させながら、所期の効果が得られるメリットもある。
【０１０７】
＜その他の実施形態＞
第１および第２の実施形態では、ユーザによって給紙口毎の印字位置調整値を適宜変更できる構成とした。しかしながら、印字位置調整値はユーザによって変更できる構成でなくてもよい。例えば、工場出荷時に各給紙口の主走査位置ずれ量を測定し、そのずれ量をエンジン部のＦＬＡＳＨ  ＲＯＭ１３５０に保持するような構成であっても、同様の効果を得ることができる。
【０１０８】
また、第１および第２の実施形態では、給紙口を自動選択する場合、要求されたサイズおよびタイプと同じサイズおよびタイプの用紙がセットされている給紙口を探し、それら給紙口の印字位置調整値の平均値を求めるように構成した。このように構成すれば、例えば第１の実施形態におけるプリンタならば、印刷ジョブを生成するタイミングで同じ用紙サイズおよびタイプがセットされているすべての給紙口で、それぞれのずれをできるだけ少なくすることができる。しかしながら、同じ用紙サイズおよびタイプがセットされている給紙口だけでなく、両面ユニットを除くすべての給紙口の印字位置調整値の平均値を使うように構成しても、類似の効果を得ることができる。このように構成した場合、例えば印刷ジョブの生成後に、平均の対象外であった給紙口の用紙サイズおよびタイプが、要求されたサイズおよびタイプに変更され、かつ、変更のあった給紙口に切り替わるケースであっても同様の効果が得られるようになる。
【０１０９】
また、いずれの実施形態の説明においても、対象とする給紙口の数に差があるものの、すべて平均値を求める構成について述べた。しかしながら、給紙口の平均値を求める構成である必要はない。例えば、廉価なホストベースのプリンタでは、給紙口として、トレイ、標準カセット、オプションカセットの３つしか具備しないようなものも多い。このように自動で選択できる給紙口の数が比較的少ないケースでは、自動給紙選択時における走査線の副走査方向のずれ補正処理でのみ使用するシフト量を別途用意する構成でも、同様な効果が得られる。より詳しく書くと、図５記載のダイアログに自動給紙選択時における走査線の副走査方向のずれ補正処理でのみ使用される自動給紙調整値を入力できる欄を追加する。また、そこで入力された自動給紙調整値は、他の値と同様にＥＥＰＲＯＭ１１４０に保持する。図８記載のステップＳ８−００３では、平均値を求めるのでなく、ＥＥＰＲＯＭ１１４０から自動給紙調整値を取得するように変更する。加えて、ステップＳ８−００４では平均値からシフト量を求めるのでなく、ステップＳ８−００３で取得した自動給紙調整値からシフト量を求めるように変更する。このように構成すれば、同様の効果を得ることが可能である。無論、自動給紙調整値はユーザによって変更できる構成でなくてもよい。先に述べたように、例えば工場出荷時に、自動給紙調整値をエンジン部のＦＬＡＳＨ  ＲＯＭ１３５０に保持するような構成であっても、同様の効果を得ることができる。さらに、より廉価なプリンタでは、給紙口が特定できるときだけ、給紙口毎の主走査位置ずれ補正に伴う走査線の副走査方向のずれ補正処理を行う方法も考えられる。このように構成すると、自動給紙選択時における走査線の副走査方向のずれ補正は正確ではなくなる可能性がある。しかしながら、コストを抑えながら、給紙口が特定できるときは、給紙口毎の主走査位置ずれ補正に伴う走査線の副走査方向のずれを少なくする効果を得ることができる。
【０１１０】
また、いずれの実施形態においても、プリンタについて説明した。しかしながら、プリンタに限定されるものではなく、読み取りユニットを具備するＭＦＰにも適用することが可能である。
【０１１１】
前述の実施形態の機能を実現するプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが記憶媒体に格納されたプログラムコードを読み出し実行してもよい。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体およびプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１１２】
また、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた場合についても、本発明は適用される。その場合、書き込まれたプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１１３】
【図１】本発明の実施形態における画像形成装置（以下プリンタ）の利用環境を示す概略図である。
【図２】本発明の実施形態における図１に記載されているプリンタ１０００を示すブロック図である。
【図３】本発明の実施形態における図１に記載されているローカルＰＣ２０００またはクライアント１のＰＣ４０００で動作するソフトウェアの構成を、ローカルＰＣ２０００を代表にして示したブロック図である。
【図４】図３に記載されているアプリケーション２１００による印刷に対する走査線の副走査方向のデジタル補正に係るブロックとそれぞれの処理との関係を示す図である。
【図５】図３記載のステータスウィンドウ２４００のメニュー選択によって表示される、給紙口毎の印字位置調整値を設定するダイアログボックスを示す図である。
【図６】図４に記載されている直線近似の処理を詳細に示したフローチャートである。
【図７】図４に記載されている走査線の副走査方向へのラインの乗り換え処理を詳細に示したフローチャートである。
【図８】印刷ジョブと各給紙口との用紙サイズ・タイプの関係、および、給紙口毎の印字位置調整値に基づいて、画像の書き出し位置を移動させるシフト量を決定する処理を詳細に示したフローチャートである。
【図９】走査線の副走査方向のずれや、図８記載のステップＳ８−００６を実行した際の効果などを示す図である。
【図１０】走査線の副走査方向のデジタル補正を行う段階で給紙口を特定できない、第２の実施形態におけるプリンタを示すブロック図である。
【図１１】第１、第２の実施の形態における記録部を示す図である。
【符号の説明】
【０１１４】
１０００  プリンタ
１００１  プリンタ
１１００  コントローラ部
１１１０  ＣＰＵ
１１１１  ＲＯＭ
１１１２  ＲＡＭ
１１１３  シリアルコントローラ
１１２０  ＡＳＩＣ
１１２１  ＣＰＵインタフェース（Ｉ／Ｆ）
１１２２  画像処理部
１１２３  メモリコントローラ
１１２４  ＵＳＢコントローラ
１１２５  ＮＩＣコントローラ
１１３０  ＳＤＲＡＭ
１１４０  ＥＥＰＲＯＭ
１１５０  ＵＳＢコネクタ
１２００  ネットワークインタフェースカード（ＮＩＣ）
１２１０  ＣＰＵ
１２２０  コントローラ通信部
１２３０  ＳＤＲＡＭ
１２４０  ＦＬＡＳＨ  ＲＯＭ
１２５０  ネットワーク通信部
１３００  エンジン部
１３１０  ＣＰＵ
１３２０  シリアルコントローラ
１３３０  ビデオ制御部
１３４０  ＳＤＲＡＭ
１３５０  ＦＬＡＳＨ  ＲＯＭ
１５００  コントローラ部
１５１０  ＣＰＵ
１５２０  ＦＬＡＳＨ  ＲＯＭ
１５３０  ＳＤＲＡＭ
１５４０  ＥＥＰＲＯＭ
１５５０  ＵＳＢ制御部
１５６０  ネットワーク制御部
１５７０  画像処理ＡＳＩＣ
１５８０  ＶＩＤＥＯ出力ＡＳＩＣ
１５９０  シリアルコントローラ
１６００  パネル部
２０００  ローカルＰＣ
２１００  アプリケーション
２２００  ドライバ
２３００  ランゲージモニタ
２４００  ステータスウィンドウ
２５００  ＵＳＢポートモニタ
２６００  ネットワークポートモニタ
３０００  ＮＴＰサーバ
４０００  クライアント１のＰＣ
５０００  クライアント２のＰＣ
６０００  ＵＳＢケーブル
７０００  ネットワーク
【図１】
2010008516.tif 000003
【図２】
2010008516.tif 000004
【図３】
2010008516.tif 000005
【図４】
2010008516.tif 000006
【図５】
2010008516.tif 000007
【図６】
2010008516.tif 000008
【図７】
2010008516.tif 000009
【図８】
2010008516.tif 000010
【図９】
2010008516.tif 000011
【図１０】
2010008516.tif 000012
【図１１】
2010008516.tif 000013