(57)【要約】      （修正有）【課題】出力画像の位置ずれ補正に使用されるラインバッファの削減と、その位置ずれ補正に使用するメモリ容量を小さくすることを可能にする。【解決手段】画像の位置ずれ量に応じて、入力画像情報の主走査方向ずれ位置を決定し、入力画像情報の符号化情報の生成の際に、主走査方向ずれ位置毎にマーカ情報を付加して符号化情報を生成し、該符号化情報の復号化の際に、符号化情報に付加されたマーカ情報の検出位置に基づき符号化情報の順番を入れ替えて復号化情報に伸長処理する。【選択図】図１
2011201266.tif 000002
【特許請求の範囲】
【請求項１】
主走査方向および副走査方向の位置ずれ補正用の基準画像情報に基づき形成した画像を読み取って位置ずれ量を検出する検出手段と、
前記位置ずれ量に応じて、入力画像情報を主走査方向に分割する位置を示す主走査方向ずれ位置を決定し、該決定した主走査方向ずれ位置と、該主走査方向ずれ位置で分割した該入力画像情報の各主走査領域の副走査方向への位置ずれ補正量とを設定する設定手段と、
前記入力画像情報を、各頁毎に、主走査方向に順次符号化する際に、前記主走査方向ずれ位置毎にマーカ情報を付加した符号化情報に圧縮処理する圧縮処理手段と、
伸長対象として入力される前記符号化情報の前記マーカ情報の検出位置に基づき前記主走査領域に対応する該入力符号化情報の配列を識別し、該識別結果と、前記設定手段により設定された前記主走査領域に対応して設定された位置ずれ補正量に基づき各主走査領域の符号化情報の順番を入れ替えて復号化情報に伸長処理する伸長処理手段と
を具備する画像形成装置。
【請求項２】
前記伸長処理手段は、
前記符号化情報から前記マーカ情報を検出し、該マーカ検出位置を示す情報を格納したマーカ検出位置表を生成するマーカ検出位置情報生成手段と、
前記マーカ検出位置表に格納されたマーカ検出位置情報に基づき前記入力符号化情報から前記マーカ情報を除去するマーカ情報除去手段と、
前記設定手段で設定された前記主走査方向ずれ位置を保持する第１の保持手段と、
前記設定手段で設定された前記位置ずれ補正量を保持する第２の保持手段と、
前記第１の保持手段が保持する前記主走査方向ずれ位置、前記第２の保持手段が保持する位置ずれ補正量とに基づき、前記マーカ情報除去手段により前記マーカ情報が除去された符号化情報の各主走査領域毎に、該各主走査領域の副走査位置が該主走査領域に対応して設定された前記位置ずれ補正量の範囲内か否かを判別し、前記範囲内であれば白画素を出力し、前記範囲内でなければ当該主走査領域の符号化情報を伸長する伸長器と
を具備する請求項１記載の画像形成装置。
【請求項３】
前記圧縮処理手段は、
前記設定手段で設定された前記主走査方向ずれ位置を保持する保持手段と、
前記保持手段が保持する主走査方向ずれ位置毎に入力画像情報を符号化し、該符号化情報の前または後に前記マーカ情報を付加した前記符号化情報に圧縮する圧縮器と、
前記マーカ情報を付加する位置に応じて、符号化に際しての前または後に隣接する主走査領域の画素の参照を規制する規制手段と
を具備する請求項１または２記載の画像形成装置。
【請求項４】
前記伸長処理手段の外部に前記マーカ検出位置表の各情報を記憶する記憶手段を更に具備し、
前記マーカ検出位置情報生成手段は、
前記マーカ検出位置を示す情報を格納したマーカ検出位置表を生成して前記記憶手段に出力するマーカ検出位置情報出力手段を
更に具備する請求項２記載の画像形成装置。
【請求項５】
前記圧縮処理手段は、
前記マーカ情報を付加した際に、該マーカ情報を付加した位置情報を格納したマーカ位置情報表を生成するマーカ位置情報生成手段を
更に具備し、
前記伸長処理手段は、
前記マーカ位置情報表に格納されたマーカの位置情報に基づき前記入力符号化情報から前記マーカ情報を除去するマーカ情報除去手段と、
前記設定手段で設定された前記主走査方向ずれ位置を保持する第１の保持手段と、
前記設定手段で設定された前記位置ずれ補正量を保持する第２の保持手段と、
前記第１の保持手段が保持する前記主走査方向ずれ位置、前記第２の保持手段が保持する位置ずれ補正量とに基づき、前記マーカ情報除去手段により前記マーカ情報が除去された符号化情報の各主走査領域毎に、該各主走査領域の副走査位置が該主走査領域に対応して設定された前記位置ずれ補正量の範囲内か否かを判別し、前記範囲内であれば白画素を出力し、前記範囲内でなければ当該主走査領域の符号化情報を伸長する伸長器と
を具備する請求項２記載の画像形成装置。
【請求項６】
前記検出手段は、
主走査方向の複数箇所の前記位置ずれ量を検出し、
前記設定手段は、
前記複数箇所の前記位置ずれ量に基づき前記各主走査領域の副走査方向への位置ずれ補正量が曲線上に変化する値に設定する
請求項１乃至５のいずれかに記載の画像形成装置。
【請求項７】
コンピュータで実現され、画像の位置ずれ補正用の基準画像情報に基づき形成した画像を読み取って検出される位置ずれ量に応じて入力画像の画像処理する画像形成装置に実装され、  
前記コンピュータを
主走査方向および副走査方向の位置ずれ補正用の基準画像情報に基づき形成した画像を読み取って位置ずれ量を検出する検出手段、
前記位置ずれ量に応じて、入力画像情報を主走査方向に分割する位置を示す主走査方向ずれ位置を決定し、該決定した主走査方向ずれ位置と、該主走査方向ずれ位置で分割した該入力画像情報の各主走査領域の副走査方向への位置ずれ補正量とを設定する設定手段、  前記入力画像情報を、各頁毎に、主走査方向に順次符号化する際に、前記主走査方向ずれ位置毎にマーカ情報を付加した符号化情報に圧縮処理する圧縮処理手段、
伸長対象として入力される前記符号化情報の前記マーカ情報の検出位置に基づき前記主走査領域に対応する該入力符号化情報の配列を識別し、該識別結果と、前記設定手段により設定された前記主走査領域に対応して設定された位置ずれ補正量に基づき各主走査領域の符号化情報の順番を入れ替えて復号化情報に伸長処理する伸長処理手段
として機能させる画像形成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置および画像形成プログラムに関する。
【背景技術】
【０００２】
現在、カラープリンタの多くは、スループット向上のために、１回の通紙でフルカラープリントを行うタンデム型が採用されている。
【０００３】
しかし、このタンデム型は複数の画像形成ユニットを使用してフルカラープリントを行うため、各画像形成ユニットの取り付け位置精度などによりトナー像に位置ずれが発生して色位置ずれの原因となる場合がある。
【０００４】
この位置ずれを補正する技術として、特許文献１には、連続する複数ライン分の画像データを記憶するラインバッファを持ち、トナー像の位置ずれ量に応じて画像データを読み出すラインバッファを切り替えることで、主走査方向の傾きによる位置ずれ補正する方法が開示されている。
【０００５】
しかし、この方法の場合、高速に動作するラインバッファを大量に設ける必要があるため、製造コストが高価になってしまうという問題があった。
【０００６】
そこで、上記のようなラインバッファを削減する技術として、特許文献２には、メモリからトナー像の位置ずれ量に合わせて画像データを読み出すことにより、そのラインバッファを削減する方法が開示されている。
【０００７】
画像データは、データ容量のサイズが大きいため、圧縮してメモリに格納することが一般的である。
【０００８】
しかし、上記特許文献２の技術を採用する場合には、画像データを圧縮しないで保持するか、伸長した画像データを保持するメモリが必要となり、その分のメモリの容量が大きくなるという問題がある。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平１-２４１４４４号公報
【特許文献２】特開２００１-８０１２５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明は、出力画像の位置ずれ補正用に使用されるラインバッファを削減し、かつ、その位置ずれ補正に使用するメモリ容量を小さくする画像形成装置および画像形成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、請求項１記載の画像形成装置の発明は、主走査方向および副走査方向の位置ずれ補正用の基準画像情報に基づき形成した画像を読み取って位置ずれ量を検出する検出手段と、前記位置ずれ量に応じて、入力画像情報を主走査方向に分割する位置を示す主走査方向ずれ位置を決定し、該決定した主走査方向ずれ位置と、該主走査方向ずれ位置で分割した該入力画像情報の各主走査領域の副走査方向への位置ずれ補正量とを設定する設定手段と、前記入力画像情報を、各頁毎に、主走査方向に順次符号化する際に、前記主走査方向ずれ位置毎にマーカ情報を付加した符号化情報に圧縮処理する圧縮処理手段と、伸長対象として入力される前記符号化情報の前記マーカ情報の検出位置に基づき前記主走査領域に対応する該入力符号化情報の配列を識別し、該識別結果と、前記設定手段により設定された前記主走査領域に対応して設定された位置ずれ補正量に基づき各主走査領域の符号化情報の順番を入れ替えて復号化情報に伸長処理する伸長処理手段とを具備する。
【００１２】
請求項２記載の発明は、上記請求項１記載の発明において、前記伸長処理手段は、前記符号化情報から前記マーカ情報を検出し、該マーカ検出位置を示す情報を格納したマーカ検出位置表を生成するマーカ検出位置情報生成手段と、前記マーカ検出位置表に格納されたマーカ検出位置情報に基づき前記入力符号化情報から前記マーカ情報を除去するマーカ情報除去手段と、前記設定手段で設定された前記主走査方向ずれ位置を保持する第１の保持手段と、前記設定手段で設定された前記位置ずれ補正量を保持する第２の保持手段と、前記第１の保持手段が保持する前記主走査方向ずれ位置、前記第２の保持手段が保持する位置ずれ補正量とに基づき、前記マーカ情報除去手段により前記マーカ情報が除去された符号化情報の各主走査領域毎に、該各主走査領域の副走査位置が該主走査領域に対応して設定された前記位置ずれ補正量の範囲内か否かを判別し、前記範囲内であれば白画素を出力し、前記範囲内でなければ当該主走査領域の符号化情報を伸長する伸長器とを具備する。
【００１３】
請求項３記載の発明は、上記請求項２記載の発明において、前記圧縮処理手段は、前記設定手段で設定された前記主走査方向ずれ位置を保持する保持手段と、前記保持手段が保持する主走査方向ずれ位置毎に入力画像情報を符号化し、該符号化情報の前または後に前記マーカ情報を付加した前記符号化情報に圧縮する圧縮器と、前記マーカ情報を付加する位置に応じて、符号化に際しての前または後に隣接する主走査領域の画素の参照を規制する規制手段とを具備する。
【００１４】
請求項４記載の発明は、上記請求項２記載の発明において、前記伸長処理手段の外部に前記マーカ検出位置表の各情報を記憶する記憶手段を更に具備し、前記マーカ検出位置情報生成手段は、前記マーカ検出位置を示す情報を格納したマーカ検出位置表を生成して前記記憶手段に出力するマーカ検出位置情報出力手段を更に具備する。
【００１５】
請求項５記載の発明は、上記請求項２記載の発明において、前記圧縮処理手段は、前記マーカ情報を付加した際に、該マーカ情報を付加した位置情報を格納したマーカ位置情報表を生成するマーカ位置情報生成手段を更に具備し、前記伸長処理手段は、前記マーカ位置情報表に格納されたマーカの位置情報に基づき前記入力符号化情報から前記マーカ情報を除去するマーカ情報除去手段と、前記設定手段で設定された前記主走査方向ずれ位置を保持する第１の保持手段と、前記設定手段で設定された前記位置ずれ補正量を保持する第２の保持手段と、前記第１の保持手段が保持する前記主走査方向ずれ位置、前記第２の保持手段が保持する位置ずれ補正量とに基づき、前記マーカ情報除去手段により前記マーカ情報が除去された符号化情報の各主走査領域毎に、該各主走査領域の副走査位置が該主走査領域に対応して設定された前記位置ずれ補正量の範囲内か否かを判別し、前記範囲内であれば白画素を出力し、前記範囲内でなければ当該主走査領域の符号化情報を伸長する伸長器とを具備する。
【００１６】
請求項６記載の発明は、上記請求項１乃至５のいずれかに記載の発明において、前記検出手段は、主走査方向の複数箇所の前記位置ずれ量を検出し、前記設定手段は、前記複数箇所の前記位置ずれ量に基づき前記各主走査領域の副走査方向への位置ずれ補正量が曲線上に変化する値に設定する。
【００１７】
請求項７記載の画像処理プログラムは、コンピュータで実現され、画像の位置ずれ補正用の基準画像情報に基づき形成した画像を読み取って検出される位置ずれ量に応じて入力画像の画像処理する画像形成装置に実装され、前記コンピュータを主走査方向および副走査方向の位置ずれ補正用の基準画像情報に基づき形成した画像を読み取って位置ずれ量を検出する検出手段、前記位置ずれ量に応じて、入力画像情報を主走査方向に分割する位置を示す主走査方向ずれ位置を決定し、該決定した主走査方向ずれ位置と、該主走査方向ずれ位置で分割した該入力画像情報の各主走査領域の副走査方向への位置ずれ補正量とを設定する設定手段、前記入力画像情報を、各頁毎に、主走査方向に順次符号化する際に、前記主走査方向ずれ位置毎にマーカ情報を付加した符号化情報に圧縮処理する圧縮処理手段、伸長対象として入力される前記符号化情報の前記マーカ情報の検出位置に基づき前記主走査領域に対応する該入力符号化情報の配列を識別し、該識別結果と、前記設定手段により設定された前記主走査領域に対応して設定された位置ずれ補正量に基づき各主走査領域の符号化情報の順番を入れ替えて復号化情報に伸長処理する伸長処理手段として機能させる。
【発明の効果】
【００１８】
請求項１記載の画像形成装置の発明によれば、画像の位置ずれ補正用のラインバッファおよび製造コストが削減でき、画像メモリの使用容量を小さくできる。
【００１９】
請求項２乃至５記載の発明によれば、上記請求項１または２記載の発明において、メモリ資源を有効利用できる。
【００２０】
請求項６記載の発明によれば、上記請求項１乃至５のいずれかに記載の発明において、画像の位置ずれが直線的な傾き以外の位置ずれに対して対応可能である。
【００２１】
請求項７記載の画像形成プログラムの発明によれば、画像メモリの使用容量が小さくなるので、メモリの有効利用ができる。
【図面の簡単な説明】
【００２２】
【図１】本実施の形態に係わる画像形成装置１０の機能構成図。
【図２】用紙上の画像の位置ずれの模式図。
【図３】画像データ１０１を拡大した模式図。
【図４】主走査方向ずれ位置表２１および副走査方向ずれ位置表２２を示す図。
【図５】画像データの圧縮方法の説明図。
【図６】画像データの圧縮方法の説明図。
【図７】画像データの伸長方法の説明図。
【図８】マーカ検出位置情報表４５の構成の一例を示す図。
【図９】実施例１に係わる圧縮処理部４１Ｃの機能構成図。
【図１０】図９の圧縮処理部４１Ｃの動作の流れを示す流れ図。
【図１１】実施例１に係わる伸長処理部４２Ｃの機能構成図。
【図１２】マーカ検出位置情報表４５の生成動作の流れを示す流れ図。
【図１３】図１１の伸長処理部４２Ｃの動作の流れを示す流れ図。
【図１４】実施例２における伸長処理部４４Ｃの機能構成図。
【図１５】実施例２における伸長処理部４４Ｃの機能構成図。
【図１６】実施例３における圧縮処理部４３Ｃの機能構成図。
【図１７】凸形の出力画像データ１０２の一例を示す図。
【発明を実施するための形態】
【００２３】
以下、本発明の実施の形態について添付図面を参照して詳細に説明する。
【００２４】
図１は、本実施の形態に係わる画像形成装置１０の機能的な構成を示す図である。
【００２５】
この画像形成装置１０は、例えば、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）の４色の画像形成ユニットを備えたタンデム型のカラープリンタであり、制御部２０（ＣＰＵ）、画像メモリ３０、画像処理部４０、画像形成部５０、位置ずれ検出センサ６０Ｃ、６０Ｍ、６０Ｋ、６０Ｙを備える。
【００２６】
制御部２０（ＣＰＵ）は、画像形成装置１０全体を統括制御し、画像処理や画像形成に伴う各種処理、画像形成装置１０に配置された各種センサーの検出結果からステータス情報や各種設定情報を生成する。
【００２７】
画像メモリ３０は、画像データを記憶するメモリであり、例えばＤＤＲ（＝Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ）メモリなどが適用される。
【００２８】
画像処理部４０は、画像データの圧縮、補正、伸長などの各種画像処理を行う部であり、画像データの圧縮を行う圧縮部４１と、補正および伸長を行う伸長部４２を備えている。
【００２９】
また、圧縮部４１および伸長部４２は、各色（Ｃ、Ｍ、Ｙ、Ｋ）の画像データに対応して、画像データのＣ色を圧縮する圧縮処理部４１Ｃと伸長する伸長処理部４２Ｃ、Ｍ色を圧縮する圧縮処理部４１Ｍと伸長する伸長処理部４２Ｍ、Ｙ色を圧縮する圧縮処理部４１Ｙと伸長する伸長処理部４２Ｙ、Ｋ色を圧縮する圧縮処理部４１Ｋと伸長する伸長処理部４２Ｋを備えている。
【００３０】
画像形成部５０は、画像処理部４０から出力される画像データに基づき用紙２００上にその画像を形成して出力する部である。
【００３１】
この画像形成部５０は、各色（Ｃ、Ｍ、Ｙ、Ｋ）の画像データに対応した露光装置５１Ｃ、５１Ｍ、５１Ｙ、５１Ｋでそれぞれの感光体５２Ｃ、５２Ｍ、５２Ｙ、５２Ｋを露光して潜像を形成し、その潜像をそれぞれの現像器５３Ｃ、５３Ｍ、５３Ｙ、５３Ｋで現像して、搬送されてくる用紙２００上にそれぞれの転写ローラ５４Ｃ、５４Ｍ、５４Ｙ、５４Ｋで転写し、その用紙２００を定着部５５に搬送して画像を用紙２００に定着後、出力する一連の動作を行う。
【００３２】
タンデム型のカラープリンタである画像形成装置１０は、各色の感光体が用紙の搬送方向に一列に配置されている。
【００３３】
位置ずれ検出センサ６０Ｃ、６０Ｍ、６０Ｙ、６０Ｋは、各感光体に対応してそれぞれの感光体上に出力された各色のパッチデータのドットラインが基準ラインからどの程度傾いているかのその位置ずれを検出する。
【００３４】
この各位置ずれ検出センサによって各感光体上の各色のドットラインが主走査方向（各感光体の回転軸方向）および副走査方向（各感光体の回転軸に垂直方向）にどの程度位置ずれしているかが検出され、この検出結果に基づき画像処理部４０が出力画像データに対する位置ずれの補正処理を行う。
【００３５】
この補正処理により、画像形成装置１０は、用紙上に位置ずれのない画像が形成できる。
【００３６】
この画像の位置ずれとその補正について説明する。
【００３７】
図２は、用紙上の主走査方向基準ラインに対する副走査方向の位置ずれの例を示す模式図である。
【００３８】
図２（ａ）に示すように、１頁分の画像データ１００を印刷出力した結果、図２（ｂ）のように、用紙２００上の出力画像に位置ずれが発生する場合がある。
【００３９】
この例では、各色（Ｃ、Ｍ、Ｙ、Ｋ）のドットライン２０１Ｃ、２０１Ｍ、２０１Ｙ、２０１Ｋが主走査方向基準ライン（以下、基準線という）２０２から副走査方向にそれぞれ７ドット、３ドット、２ドット、１ドットの位置ずれが発生している。
【００４０】
この基準線２０２から副走査方向（ドット数の方向）の位置ずれに相当する量を、ここでは位置ずれ量といい、例えばＣ色のドットライン２０１Ｃの位置ずれ量は７となる。
【００４１】
本願の画像形成装置１０の画像処理部４０は、入力画像データ１頁分を圧縮する際には、その位置ずれ量に応じて入力画像データを主走査方向に複数の領域（ブロック）に分割し、各ブロックの最初の画素の位置が識別できるようにマーカコードを付加して圧縮する。
【００４２】
そして、圧縮して生成した符号データを伸長する際には、伸長する符号データの順番を位置ずれ量に応じて入れ替えて伸長して出力することで、図２（ｃ）に示すような位置ずれ量に応じた傾きのある画像データ１０１を出力する。
【００４３】
画像処理部４０から出力された画像データ１０１は、画像形成部５０により、図２（ｄ）に示すような位置ずれのない各ドットライン２０１Ｃ〜２０１Ｋの画像が用紙２１０上に形成される。
【００４４】
この画像の位置ずれ量に応じてその画像データを分割、圧縮、伸長する方法について説明する。
【００４５】
まず、画像の位置ずれ量に応じて画像データを分割して圧縮する方法の一例を図３乃至図６に示す。
【００４６】
図３は、図２（ｃ）で示した画像データ１０１を拡大した模式図である。
【００４７】
なお、１頁分の画像データ１０１の大きさを主走査方向にＮ画素、副走査方向にＭ画素を想定し、画像データ１０１の副走査方向の画素の位置をライン数で示すものとする。
【００４８】
図３に示すように、画像データ１０１は、位置ずれ量に応じて傾きのある画像データ１０１となっている。
【００４９】
この画像データ１０１を生成するためには、まず、位置ずれ量に応じた傾きから画像データ１０１の副走査方向に１ラインずつ、ずれる位置（以下、副走査方向ずれ位置ｍという）に対する主走査方向の位置（以下、主走査方向ずれ位置ｎという）を算出し、この主走査方向ずれ位置（１、２、３、・・・ｎ）に基づき画像データ１０１を主走査方向に複数の領域（ブロック（ｎ））に分割する。
【００５０】
そして、その複数のブロック（ｎ）を副走査方向に各ライン毎に分割すると、複数のブロック（Ｍ−ｎ）に分割される。なお、Ｍは各ブロックの副走査方向の位置（ライン数）を示し、ｎは各ブロックに対応する主走査方向ずれ位置（１、２、３、・・・ｎ）を示す。
【００５１】
例えば、ブロック（１−１）は１ライン目の主走査方向ずれ位置１から主走査方向ずれ位置２の間の領域の画素を示し、ブロック（１−（ｎ−１））は、１ライン目の主走査方向ずれ位置ｎ−１から主走査方向ずれ位置ｎの間の領域の画素を示す。
【００５２】
また、ブロック（２−１）は２ライン目の主走査方向ずれ位置１から主走査方向ずれ位置２の間の領域の画素を示し、ブロック（Ｍ−１）は、Ｍライン目の主走査方向ずれ位置１から主走査方向ずれ位置２の間の領域の画素を示す。
【００５３】
各ブロック（Ｍ−ｎ）を各ブロック（Ｍ−ｎ）の主走査方向ずれ位置ｎに対応する副走査方向のライン数（副走査方向ずれ位置ｍ）分ずらすと、図３に示すような位置ずれ量に応じて傾きのある画像データ１０１が生成できる。
【００５４】
例えば図３の場合、最初の主走査方向ずれ位置１のブロック（Ｍ―１）の画素は、この主走査方向ずれ位置１に対応する副走査方向ずれ位置１（位置ずれ量）分、副走査方向にずらしてある。
【００５５】
また、次の主走査方向ずれ位置２のブロック（Ｍ−２）の画素は、この主走査方向ずれ位置２に対応する副走査方向ずれ位置２（位置ずれ量−１ライン）分、副走査方向にずらしてある。
【００５６】
同様にして、最後の主走査方向ずれ位置ｎのブロック（Ｍ−ｎ）まで、この主走査方向ずれ位置ｎに対応する副走査方向ずれ位置ｍ（位置ずれ量−（ｎ−１）ライン）分、副走査方向にずらしてある。
【００５７】
また、最初の副走査方向ずれ位置１から最後の副走査方向ずれ位置ｍまでの副走査方向のライン数は位置ずれ量相当分である。
【００５８】
これらの主走査方向ずれ位置ｎと副走査方向ずれ位置ｍおよび位置ずれ量の各情報を算出すると、図４に示すような主走査方向ずれ位置表２１および副走査方向ずれ位置表２２の各値が算出できる。
【００５９】
例えば図４（ａ）の主走査方向ずれ位置表２１は、各主走査方向ずれ位置ｎ（１、２、３、・・・ｎ）に対応する画素の主走査方向の各位置が示されている。
【００６０】
この場合、主走査方向ずれ位置１が主査方向に０画素目、主走査方向ずれ位置２が主査方向に６５０画素目などを示している。
【００６１】
また、例えば図４（ｂ）の副走査方向ずれ位置表２２は、各副走査方向ずれ位置ｍ（１、２、３、・・・ｍ）に対応する位置ずれ量（副走査方向の各位置（ライン数））が示されている。
【００６２】
この場合、副走査方向ずれ位置１が副走査方向に７ライン目、副走査方向ずれ位置２が副走査方向に６ライン目などを示している。
【００６３】
これらの各情報に基づき前述のような方法で、画像データ１０１を複数のブロック（Ｍ−ｎ）に分割し、分割した各ブロック（Ｍ−ｎ）を主走査方向に各ブロック（Ｍ−ｎ）の主走査方向ずれ位置ｎに対応する副走査方向ずれ位置ｍ分、ずらすように各ブロック（Ｍ−ｎ）を並び替えることで、図３に示すような位置ずれ量に応じて傾きのある出力画像データ１０１が生成できる。
【００６４】
そこで、本願の画像データの圧縮方法は、主走査方向ずれ位置ｎ（１、２、３、・・・ｎ）および副走査方向ずれ位置ｍ（１、２、３、・・・ｍ）が算出されると、入力画像データの１ライン目の１画素目から最終ライン目の最終画素目まで順次圧縮するが、圧縮の際に、各ブロック（Ｍ−ｎ）の最初の画素の位置が識別できるようにその画素の圧縮時にはマーカコードを付加して圧縮する。
【００６５】
例えば図５（ａ）に示すように、入力画像データ１１０を圧縮する際には、入力画像データ１１０を主走査方向ずれ位置（１、２、３、・・・ｎ）で複数の領域（ブロック）に分割し、分割した各ブロック（Ｍ−ｎ）の最初の画素の圧縮時にマーカコード（Ｍ−ｎ）１２１を付加して圧縮して、図５（ｂ）に示すような符号コード（Ｍ−ｎ）１２０を生成する。
【００６６】
この入力画像データ１１０の圧縮方法は、例えば図６に示すように、入力画像データ１１０の画素を圧縮する際に、圧縮を行う画素（注目画素）に対して、現在の注目画素１１０１の位置が主走査方向ずれ位置であれば、マーカコードを挿入し、図６（ａ）に示すように、主走査方向の画素１１０２の参照を禁止して圧縮を行う。
【００６７】
また、現在の注目画素１１０１の位置が主走査方向ずれ位置でなければ、図６（ｂ）に示すように、周囲画素１１０２を参照して圧縮を行う。
【００６８】
注目画素の圧縮が終了すると、注目画素を入力画像データ１１０の主走査方向に１画素移動して、同様な圧縮を行う。
【００６９】
そして、入力画像データ１１０の１ライン分の圧縮が終了すると、副走査方向に１ライン移動して、次のラインの入力画像データ１１０の圧縮を前述と同様な動作で繰り返し行い、１頁分の圧縮を行うことで、前述の図５（ｂ）に示すような不定長で符号化された１頁分の符号データ１２０が生成される。
【００７０】
このように生成された符号データ（Ｍ−ｎ）１２０を伸長する場合は、図７（ａ）に示すように、符号データ（Ｍ−ｎ）１２０をスキャンし、符号データ（Ｍ−ｎ）１２０に埋め込まれているマーカコード（Ｍ−ｎ）１２１の位置を検出する。
【００７１】
そして、そのマーカコード（Ｍ−ｎ）１２１の検出位置と、副走査方向ずれ位置に基づき入力された符号データ（Ｍ−ｎ）１２０の順番を、図７（ｂ）に示すような符号データ（Ｍ−ｎ）１２２の順番にして伸長する順番を入れ替える。
【００７２】
この符号データ（Ｍ−ｎ）１２２の順番を入れ替えは、次のように行う。
【００７３】
マーカコード（Ｍ−ｎ）１２１の各検出位置から図８に示すようなマーカ検出位置情報表４５を生成する。
【００７４】
すなわち、図８に示すように、各マーカコード（Ｍ−ｎ）１２１が検出された位置の領域（ブロック）の識別情報を示すブロック（Ｍ−ｎ）、そのブロック（Ｍ−ｎ）の最初の画素の位置を示す先頭アドレス（ＡＤＲ（Ｍ−ｎ））、その先頭ビット（Ｂ（Ｍ−ｎ））の各情報を生成する。
【００７５】
この検出された各マーカコード（Ｍ−ｎ）１２１の先頭アドレス（ＡＤＲ（Ｍ−ｎ））は、前述の出力画像データ１０１（図３参照）の主走査方向ずれ位置（１、２、３、・・・ｎ）に対応するので、前述した出力画像データ１０１の各ブロック（Ｍ−ｎ）に対応するように各符号データ（Ｍ−ｎ）１２０の配置を並び替える。
【００７６】
すなわち、最初の主走査方向ずれ位置１のマーカコード（１−ｎ）１２１の位置の符号データ（１−ｎ）１２０をこの主走査方向ずれ位置１に対応する副走査方向ずれ位置１（位置ずれ量）分、副走査方向にずらして出力するように並びかえる。
【００７７】
同様に、次の主走査方向ずれ位置２から最後の主走査方向ずれ位置ｎの各マーカコード（Ｍ−ｎ）１２１の位置の符号データ（Ｍ−ｎ）１２０を、各主走査方向ずれ位置（２、３、・・・ｎ）に対応する副走査方向ずれ位置（２、３、・・・ｍ）分、それぞれ副走査方向にずらして出力するように並び替える。
【００７８】
このように符号データ（Ｍ−ｎ）１２０を並び替えることで、図７（ｂ）に示すような符号データ（１−ｎ）１２２、符号データ（１−（ｎ−１））１２２、符号データ（２−ｎ）１２２、符号データ（１−（ｎ−２））１２２、符号データ（２−（ｎ−１））１２２、符号データ（３−ｎ）１２２、・・・の順番の符号データ（Ｍ−ｎ）１２２が生成される。
【００７９】
伸長順に並び替えた符号データ（Ｍ−ｎ）１２２が生成されると、その符号データ（Ｍ−ｎ）１２２の入力順に順次伸長するが、伸長する際に、画像の位置ずれ量から算出される主走査方向ずれ位置および副走査方向ずれ位置から、画像データでない部分には白（無効）データを挿入して出力する。
【００８０】
すなわち、伸長する際に、現在の出力する出力画像データの画素の位置が白（無効）領域であるかを主走査方向ずれ位置および副走査方向ずれ位置に基づき判別し、白（無効）領域であれば、白（無効）データを出力する。
【００８１】
また、その画素の位置が白（無効）領域でなければ、並び替えた符号データ（Ｍ−ｎ）１２２を順次伸長して出力画像データを出力する。
【００８２】
この動作を繰り返して、１頁分の伸長処理が終了すると、前述の図３で示した出力画像データ１０１が出力される。
【００８３】
この出力画像データの白（無効）領域の画素の位置は、各副走査方向ずれ位置（１、２、３、・・・ｍ）に対応するそれぞれの主走査方向ずれ位置（１、２、３、・・・ｎ）までの領域が白（無効）領域として算出できる。
【００８４】
例えば前述の図３で示した出力画像データ１０１の場合は、出力画像データ１０１の１ライン目（副走査方向ずれ位置ｍ）は、この１ライン目の主走査方向に、副走査方向ずれ位置ｍに対応する主走査方向ずれ位置ｎまでが白（無効）領域である。
【００８５】
また、２ライン目（副走査方向ずれ位置ｍ−１）は、この２ライン目の主走査方向に、副走査方向ずれ位置ｍ−１に対応する主走査方向ずれ位置ｎ−１までが白（無効）領域である。
【００８６】
同様にして、位置ずれ量相当分のライン目（副走査方向ずれ位置がｍ−２、・・４、３、２、１）まで順次、各ライン目の主走査方向に、副走査方向ずれ位置に対応する主走査方向ずれ位置（ｎ−２、・・４、３、２、１）までがそれぞれ白（無効）領域として算出できる。
【００８７】
このようにして伸長した出力画像データの１頁分の副走査方向の総ライン数は、入力画像データ１１０の総ライン数Ｍに副走査方向ずれ量の最大値（位置ずれ量相当分）を加算したものとなる。
【００８８】
このような圧縮処理と伸長処理を各色毎に行うことで、前述の図２（ｄ）に示した出力画像の位置ずれが低減されたドットライン２０１Ｃ〜２０１Ｋが用紙２１０上に形成される。
【００８９】
本実施例の画像形成装置１０は、上記の圧縮処理および伸長処理を主に画像処理部４０の圧縮部４１および伸長部４２で行うように構成した一例を示したものである。
【００９０】
また、画像の位置ずれ量に対応した主走査方向ずれ位置および副走査方向ずれ位置は、制御部２０が画像の位置ずれ量に応じて算出し、この情報に基づき圧縮部４１および伸長部４２が入力画像データの圧縮処理と伸長処理を行うように構成した一例を示している。
【００９１】
この画像の位置ずれ量に応じて各種情報を生成する制御部２０の動作について説明する。
【００９２】
制御部２０は、画像形成装置１０の電源投入、部品交換、温度変化など、位置ずれの発生要因となるイベントがあると、画像の位置ずれ量を検出するために位置ずれ検出用バッチデータを各色毎にそれぞれの感光体上に出力させる。
【００９３】
そして、各感光体上に形成されるドットラインの位置ずれ量を各感光体に対応して配置された位置ずれ検出センサ６０Ｃ〜６０Ｋで検出し、その検出した位置ずれ量から前述の主走査方向ずれ位置表２１および副走査方向ずれ位置表２２（図４参照）に示される各値を算出して、各色の圧縮部４１および伸長部４２に出力する。
【００９４】
この主走査方向ずれ位置表２１および副走査方向ずれ位置表２２の各値に基づき画像データの圧縮処理および伸長処理を行う画像処理部４０の圧縮部４１および伸長部４２の構成と動作について説明する。
【実施例１】
【００９５】
図９は、圧縮部４１の圧縮処理部４１Ｃの構成の一例を示す図である。
【００９６】
なお、入力画像データの各色に対応して圧縮処理を行う圧縮処理部４１Ｃ〜圧縮処理部４１Ｋの構成および動作は、同様であるので、説明の便宜上、圧縮処理部４１Ｃの場合を例に説明する。
【００９７】
圧縮処理部４１Ｃは、主走査カウンタ４１０、副走査カウンタ４１１、主走査ずれ位置記憶部４１２、圧縮器４１３を備えている。
【００９８】
主走査カウンタ４１０は、入力画像データの主走査方向の画素の位置をカウントするカウンタである。
【００９９】
副走査カウンタ４１１は、入力画像データの副走査方向の画素の位置（ライン数）をカウントするカウンタである。
【０１００】
なお、ここでは、主走査カウンタ４１０でカウントされた入力画像データの主走査方向の画素の位置を主走査カウント値、副走査方向の画素の位置（ライン数）を副走査カウント値という。
【０１０１】
主走査ずれ位置記憶部４１２は、主走査方向ずれ位置表２１の各情報を保持する記憶部である。
【０１０２】
この情報は、制御部２０が生成する主走査方向ずれ位置表２１（図４（ａ）参照）に基づき制御部２０からその各値（主走査方向ずれ位置）が出力されて設定される。
【０１０３】
圧縮器４１３は、主走査カウンタ４１０および副走査カウンタ４１１でカウントされる入力画像データの主走査カウント値、副走査カウント値と、主走査ずれ位置記憶部４１２に保持されている主走査方向ずれ位置とを比較しながら、１ライン目の１画素目から順次入力される入力画像データを主走査方向に順次圧縮し、画素が主走査方向ずれ位置に達すると、マーカコードを挿入後その画素を圧縮する。
【０１０４】
その画素の圧縮が終了すると、主走査方向の次の画素の圧縮を順次行い、主走査カウンタ４１０と次の主走査方向ずれ位置とを比較して、次の主走査方向ずれ位置に画素が達すると、前述と同様に、マーカコードを挿入後その画素を圧縮する。
【０１０５】
同様な動作を入力画像データの最終ライン目の最終画素目の画素、すなわち、副走査カウント値が入力画像データの最終ライン目で、且つ主走査カウント値が最終画素目の位置になるまで繰り返し行い、圧縮して生成した符号データを画像メモリ３０に記憶する。
【０１０６】
このときの圧縮の方法は前述のように、現在注目画素の位置が主走査方向ずれ位置（１、２、・・ｎ）の時は、マーカコードを挿入後、主走査方向の画素参照を禁止して圧縮し、主走査方向ずれ位置でない時は、周囲画素を参照して圧縮を行う。
【０１０７】
このように構成された圧縮処理部４１Ｃの動作について図１０を参照して説明する。
【０１０８】
図１０は、圧縮処理部４１Ｃの動作の流れを示す流れ図である。
【０１０９】
図１０に示すように、圧縮処理部４１Ｃに１ライン目の入力画像データが入力されると、圧縮器４１３は、主走査カウンタ４１０の主走査カウント値と、主走査ずれ位置記憶部４１２に保持された主走査方向ずれ位置１とを比較して（Ｓ１００１）、主走査カウント値が主走査方向ずれ位置１であれば（Ｓ１００１でＹＥＳ）、マーカコードを付加し（Ｓ１００２）、圧縮時の参照周囲画素の主走査方向の前の画素の参照を禁止にする（Ｓ１００３）。
【０１１０】
Ｓ１００１において、主走査カウント値が主走査方向ずれ位置１でなければ（Ｓ１００１でＮＯ）、圧縮時の参照周囲画素の主走査方向の前の画素の参照を有効にする（Ｓ１００４）。
【０１１１】
Ｓ１００３またはＳ１００４の動作終了後、その画素を参照周囲画素の参照禁止または有効の情報に従って圧縮する（Ｓ１００５）。
【０１１２】
Ｓ１００５の動作終了後、入力画像データの主走査方向の次の画素（主走査カウント値が１加算される）についても同様に（Ｓ１００６）、主走査カウント値と主走査ずれ位置記憶部４１２に保持されている次の主走査方向ずれ位置２、３、・・・ｎとを比較して、前述と同様な動作Ｓ１００１〜Ｓ１００６を主走査カウント値が当該ラインの最終画素目になるまで繰り返す（Ｓ１００７でＮＯ）。
【０１１３】
当該ラインの最終画素目の画素の圧縮が終了すると（Ｓ１００７でＹＥＳ）、入力画像データの副走査方向の次のライン（副走査カウント値が１加算され、主走査カウント値が初期値になる）の画素についても前述と同様な動作Ｓ１００１〜Ｓ１００７を繰り返し（Ｓ１００８、Ｓ１００９でＮＯ）、副走査カウント値および主走査カウント値が１頁分の入力画像データの画素の位置に達し、その画素の圧縮が終了すると（Ｓ１００９でＹＥＳ）、圧縮処理部４１Ｃの動作を終了する。
【０１１４】
このような圧縮処理部４１Ｃの動作により、画像のずれ位置に応じて入力画像データの符号データにマーカが付与された符号データが画像メモリ３０に記憶される。
【０１１５】
図１１は、伸長部４２の入力画像データのＣ色に対応した伸長処理部４２Ｃの構成の一例を図である。
【０１１６】
なお、Ｃ色の伸長処理部４２Ｃと、伸長処理部４２Ｍ〜４２Ｋとの構成および動作は、同様であるので、説明の便宜上、伸長処理部４２Ｃの場合を例に説明する。
【０１１７】
図１１に示すように、伸長処理部４２Ｃは、主走査カウンタ４２０、副走査カウンタ４２１、主走査ずれ位置記憶部４２２、副走査ずれ位置記憶部４２３、伸長器４２４、マーカ検出情報生成部４２００、符号データ配置変更部４２１０を備えている。
【０１１８】
また、マーカ検出情報生成部４２００は、符号データ取得部Ａ４２０１、マーカコード検出部４２０２、マーカ検出位置情報生成部４２０３で構成され、符号データ配置変更部４２１０は、符号データ取得部Ｂ４２１１、符号データ結合部４２１２で構成されている。
【０１１９】
主走査カウンタ４２０は、出力画像データの主走査方向の画素の位置をカウントするカウンタである。
【０１２０】
副走査カウンタ４２１は、出力画像データの副走査方向の画素の位置（ライン数）をカウントするカウンタである。
【０１２１】
主走査ずれ位置記憶部４２２は、主走査方向ずれ位置表２１の主走査方向ずれ位置の情報を保持する記憶部である。
【０１２２】
副走査ずれ位置記憶部４２３は、副走査方向ずれ位置表２２の副走査ずれ位置の情報を保持する記憶部である。
【０１２３】
これらの情報は、前述の圧縮処理部４１Ｃの場合と同様に、制御部２０が生成する主走査方向ずれ位置表２１および副走査方向ずれ位置表２２（図４参照）に基づき制御部２０からその各値の情報（主走査方向ずれ位置および副走査方向ずれ位置）が出力されて設定される。
【０１２４】
マーカ検出情報生成部４２００は、符号データをスキャンし、符号に埋め込まれているマーカコードの位置を検出してマーカコードのある位置の各値を示す表を作成する部である。
【０１２５】
符号データ取得部Ａ４２０１は、符号データを取得する。
【０１２６】
マーカコード検出部４２０２は、符号データ取得部Ａ４２０１で取得した符号データをスキャンし、その符号データに埋め込まれているマーカコードの位置を検出する。
【０１２７】
マーカ検出位置情報生成部４２０３は、マーカコード検出部４２０２で検出したマーカコードの検出位置に基づき前述のマーカ検出位置情報表４５（図８参照）で示される各情報を生成する。
【０１２８】
符号データ配置変更部４２１０は、入力された符号データを伸長する順番を入れ替えて伸長器４２４に転送する部である。
【０１２９】
符号データ取得部Ｂ４２１１は、マーカ検出情報生成部４２００で生成されたマーカ検出位置情報表４５と、主走査ずれ位置記憶部４２２に保持されている主走査方向ずれ位置および副走査ずれ位置記憶部４２３に保持されている副走査方向ずれ位置に従い順番を入れ替え、符号データを取得し符号データからマーカコードを除去する。
【０１３０】
符号データ結合部４２１２は、符号データ取得部Ｂ４２１１で取得した符号データを、結合して伸長器４２４に転送する。
【０１３１】
伸長器４２４は、符号データ配置変更部４２１０の符号データ結合部４２１２から順次出力される符号データを伸長して出力する。
【０１３２】
また、伸長の際には、主走査方向ずれ位置および副走査方向ずれ位置の情報を参照し、出力される出力画像データの画像データでない部分には白（無効）データを挿入して出力する。
【０１３３】
この出力画像データの画像データでない部分は、前述のように、画像のずれ位置量から算出される主走査方向ずれ位置（１、２、３、・・・ｎ）および副走査方向ずれ位置（１、２、３、・・・ｍ）の各情報から特定できる。
【０１３４】
すなわち、出力画像データの各副走査方向ずれ位置（１、２、３、・・・ｍ）のラインは、その副走査方向ずれ位置（１、２、３、・・・ｍ）に対応する主走査方向ずれ位置（１、２、３、・・・ｎ）までが画像データでない部分（白領域）として特定できる。
【０１３５】
このように構成された伸長処理部４２Ｃの動作について図１２および図１３を参照して説明する。
【０１３６】
まず、伸長処理部４２Ｃのマーカ検出情報生成部４２００の動作について説明する。
【０１３７】
図１２は、マーカ検出情報生成部４２００によるマーカ検出位置情報表４５の生成動作の流れを示す流れ図である。
【０１３８】
図１２に示すように、符号データ取得部Ａ４２０１に符号データが入力されると（Ｓ１２０１）、その符号データをマーカコード検出部４２０２でスキャンして、その符号データにマーカコードが付与されているかを否かを検出する（Ｓ１２０２）。
【０１３９】
Ｓ１２０２において、マーカコードが検出された場合は（Ｓ１２０２でＹＥＳ）、そのマーカコードが付与された符号データのブロック識別情報（ブロック（Ｍ−ｎ））と、そのブロックの先頭アドレス（ＡＤＲ（Ｍ−ｎ））、その先頭ビット（Ｂ（Ｍ−ｎ））の情報を生成して、前述のマーカ検出位置情報表４５（図８参照）に示される各情報を生成する（Ｓ１２０３）。なお、Ｍは入力画像データの副走査方向の位置（ライン数）、ｎは入力画像データの主走査方向の画素の位置を示す。
【０１４０】
また、Ｓ１２０２において、符号データが検出されない場合は（Ｓ１２０２でＮＯ）、次の符号データをスキャンして同様な動作を行う。
【０１４１】
また、Ｓ１２０３の動作終了後、順次入力される１頁分の符号データのマーカコードの検出処理が終了するまで（Ｓ１２０４でＮＯ）、前述のＳ１２０１〜Ｓ１２０３の動作を繰り返し行う。
【０１４２】
このＳ１２０１〜Ｓ１２０３の繰り返し動作により、マーカコードが検出された場合は、そのマーカコードの位置の符号データのブロック識別情報（ブロック（Ｍ−ｎ））、そのブロックの先頭アドレス（ＡＤＲ（Ｍ−ｎ））、その先頭ビット（Ｂ（Ｍ−ｎ））の情報を生成して追加し、入力画像データの１頁分の符号データに対するマーカコードの検出処理が終了すると（Ｓ１２０４でＹＥＳ）、マーカ検出情報生成部４２００によるマーカ検出位置情報表４５の各情報の生成動作を終了する。
【０１４３】
次に伸長器４２４が符号データを伸長する動作について説明する。
【０１４４】
図１３は、伸長器４２４の動作の流れを示す流れ図である。
【０１４５】
図１３に示すように、伸長器４２４は、１ライン目の１画素目から最終ラインの最終画素目まで順次、出力画像データを出力する際に、主走査カウンタ４２０の主走査カウント値と、副走査カウンタ４２１の副走査カウント値、主走査ずれ位置記憶部４２２保持された主走査方向ずれ位置および副走査ずれ位置記憶部４２３に保持された副走査方向ずれ位置を参照し、その出力画像データの画素の位置が白（無効）データ領域であるかを判別し（Ｓ１３０１）、白（無効）データ領域であれば（Ｓ１３０１でＹＥＳ）、白（無効）データを出力する（Ｓ１３０２）。
【０１４６】
Ｓ１３０１において、白（無効）データ領域でなければ（Ｓ１３０１でＮＯ）、符号データ結合部４２１２から出力される符号データを伸長して出力する（Ｓ１３０３）。
【０１４７】
Ｓ１３０２またはＳ１３０３の動作終了後、出力画像データの主走査方向の次の画素（主走査カウント値が１加算される）についても同様に（Ｓ１３０４）、主走査カウント値および副走査カウント値と、次の主走査方向ずれ位置および副走査方向ずれ位置を参照して、前述と同様な動作Ｓ１３０１〜Ｓ１３０４を主走査カウント値が当該ラインの最終画素目になるまで繰り返す（Ｓ１３０５、Ｓ１３０５でＮＯ）。
【０１４８】
当該ラインの最終画素目の画素の圧縮が終了すると（Ｓ１３０５でＹＥＳ）、入力画像データの副走査方向の次のライン（副走査カウント値が１加算され、主走査カウント値が初期値になる）の画素についても前述と同様な動作Ｓ１３０１〜Ｓ１３０５を繰り返し（Ｓ１３０６、Ｓ１３０７、Ｓ１３０８でＮＯ）、副走査カウント値および主走査カウント値が１頁分の入力画像データの画素の位置に達し、その画素の伸長が終了すると（Ｓ１３０８でＹＥＳ）、伸長器４２４および伸長処理部４２Ｃの動作を終了する。
【０１４９】
このときの出力画像データの１頁分の副走査ライン数は、入力画像データの総ライン数Ｍに副走査方向ずれ量の最大値（位置ずれ量相当分）を加算したものとなる。
【０１５０】
このように、本願の画像形成装置１０は、画像の位置ずれの補正を、その位置ずれに応じて入力画像データの主走査方向ずれ位置および副走査方向ずれ位置を算出し、その主走査方向ずれ位置および副走査方向ずれ位置に基づき入力画像データの符号データを並び替えて伸長するようにしたので、画像の位置ずれ補正に使用されるラインバッファの削減と、その位置ずれ補正に使用するメモリ容量を小さくすることが可能になる。
【０１５１】
上記の実施例１では、伸長時に生成するマーカ検出位置情報表４５の各情報を伸長処理部４２Ｃのマーカ検出情報生成部４２００で展開する例を示したが、その各情報を外部メモリに展開してもよい。
【０１５２】
この伸長時のマーカ検出位置情報表４５の各情報を外部メモリに展開する方法を画像形成装置１０に適用した場合について説明する。
【実施例２】
【０１５３】
画像形成装置１０の伸長部４２の各伸長処理部に適用され、伸長時にマーカ検出位置情報表４５の各情報を外部の記憶装置に展開して伸長する構成例について説明する。
【０１５４】
図１４は、画像形成装置１０の伸長部４２の各伸長処理部４２Ｃ、４２Ｍ、４２Ｙ、４２Ｋに適用される実施例２の伸長処理部４４Ｃの構成の一例を示す図である。
【０１５５】
なお、説明の便宜上、Ｃ色に対応した伸長処理部４４Ｃを例に説明し、各色（Ｍ、Ｙ、Ｋ）に対応する伸長処理部は伸長処理部４４Ｃと同様な構成および動作であるので、説明は省略する。
【０１５６】
また、実施例１のＣ色の伸長処理部４２Ｃ（図８参照）と同等の機能を果たす機能部には同一の符号を付している。
【０１５７】
図１４に示すように、伸長処理部４４Ｃは、主走査カウンタ４２０、副走査カウンタ４２１、主走査ずれ位置記憶部４２２、副走査ずれ位置記憶部４２３、伸長器４２４、マーカ検出情報生成部４４０、符号データ配置変更部４４１を備えている。
【０１５８】
また、マーカ検出情報生成部４４０は、符号データ取得部Ａ４２０１、マーカコード検出部４２０２、マーカ検出位置情報出力部４４０３で構成され、符号データ配置変更部４４１は、符号データ取得部Ｂ４４１１、符号データ結合部４４１２で構成されている。
【０１５９】
主走査カウンタ４２０、副走査カウンタ４２１、主走査ずれ位置記憶部４２２、副走査ずれ位置記憶部４２３は、前述の実施例１の伸長処理部４２Ｃと同様な構成と動作であるので説明は省略する。
【０１６０】
マーカ検出情報生成部４４０は、符号データをスキャンし、符号に埋め込まれているマーカコードの位置を検出してマーカコードのある位置の各値を示す表を作成して出力する部である。
【０１６１】
符号データ取得部Ａ４２０１は、符号データを取得する。
【０１６２】
マーカコード検出部４２０２は、符号データ取得部Ａ４２０１で取得した符号データをスキャンし、その符号データに埋め込まれているマーカコードの位置を検出する。
【０１６３】
マーカ検出位置情報出力部４４０３は、マーカコード検出部４２０２で検出したマーカコードの検出位置に基づき前述のマーカ検出位置情報表４５（図８参照）の各情報を生成して外部メモリ３１に記憶させる。
【０１６４】
符号データ配置変更部４４１は、入力された符号データの伸長する順番を入れ替えて伸長器４２４に転送する部である。
【０１６５】
符号データ取得部Ｂ４４１１は、符号データおよびマーカ検出位置情報表４５の各情報を外部メモリ３１から取得する。
【０１６６】
また、符号データの取得の際に、符号データをマーカ検出位置情報表４５の各情報、主走査ずれ位置記憶部４２２に保持されている主走査方向ずれ位置および副走査ずれ位置記憶部４２３に保持されている主走査方向ずれ位置に従い、符号データを伸長器４２４に出力する順番に入れ替えながら符号データを取得する。
【０１６７】
符号データ結合部４４１２は、符号データ取得部Ｂ４４１１で入れ替えた符号データを結合し伸長器４２４に転送する。
【０１６８】
伸長器４２４は、前述の実施例１の伸長処理部４２Ｃの場合と同様に、符号データ配置変更部４４１の符号データ結合部４４１２から順次出力される符号データを伸長して出力する。
【０１６９】
また、伸長の際には、主走査方向ずれ位置および副走査方向ずれ位置を参照し、前述の実施例１の伸長器４２４の動作と同様に、画像データでない部分に白（無効）データを挿入して出力する。
【０１７０】
このように構成された伸長処理部４４Ｃの動作について説明する。
【０１７１】
図１５は、伸長処理部４４Ｃの動作の流れを示す流れ図である。
【０１７２】
図１５に示すように、外部メモリ３１に記憶された符号データを符号データ取得部Ａ４２０１により取得し（Ｓ１５０１）、取得した符号データをマーカコード検出部４２０２によりスキャンして、その符号データにマーカコードが付与されているかを否かを検出する（Ｓ１５０２）。
【０１７３】
Ｓ１５０２において、マーカコードが検出された場合は（Ｓ１５０２でＹＥＳ）、そのマーカコードが付与された符号データのブロック識別情報（ブロック（Ｍ−ｎ））と、そのブロックの先頭アドレス（ＡＤＲ（Ｍ−ｎ））、その先頭ビット（Ｂ（Ｍ−ｎ））の情報を生成して、前述のマーカ検出位置情報表４５（図８参照）に示される各情報を生成する（Ｓ１５０３）。なお、Ｍは入力画像データの副走査方向の位置（ライン数）、ｎは入力画像データの主走査方向の位置を示す。
【０１７４】
また、Ｓ１５０２において、符号データにマーカコードが付与されていない場合は（Ｓ１５０２でＮＯ）、次の符号データをスキャンして同様な動作を行う。
【０１７５】
また、Ｓ１５０３の動作終了後、順次入力される１頁分の符号データのマーカコードの検出処理が終了するまで（Ｓ１５０４でＮＯ）、前述のＳ１５０１〜Ｓ１５０３と動作を繰り返し行う。
【０１７６】
マーカコード検出部４２０２による入力画像データの１頁分の符号データの検出処理が終了すると（Ｓ１５０４でＹＥＳ）、マーカコード検出部４２０２で生成されたマーカ検出位置情報表４５の各情報をマーカ検出位置情報出力部４４０３により外部メモリ３１に転送して記憶させる。
【０１７７】
その後、符号データ取得部Ｂ４４１１により外部メモリ３１から符号データおよびマーカ検出位置情報表４５の各情報を取得し、取得した符号データをマーカ検出位置情報表４５の各情報と、主走査ずれ位置記憶部４２２に保持されている主走査方向ずれ位置および副走査ずれ位置記憶部４２３に保持されている副走査ずれ位置の情報に従い、伸長器４２４に出力する順番を入れ替え、符号データからマーカコードを除去して符号データ結合部４４１２に出力し、符号データ結合部４４１２が符号データ取得部Ｂ４４１１で入れ替えた符号データを結合し伸長器４２４に転送する。
【０１７８】
伸長器４２４は、１ライン目の１画素目から最終ラインの最終画素目まで順次、出力画像データを出力する際に、主走査カウンタ４２０の主走査カウント値と、副走査カウンタ４２１の副走査カウント値、主走査ずれ位置記憶部４２２に保持された主走査方向ずれ位置および副走査ずれ位置記憶部４２３に保持された副走査方向ずれ位置の情報を参照し、その出力画像データの画素の位置が白（無効）データ領域であるかを判別し（Ｓ１５０５）、白（無効）データ領域であれば（Ｓ１５０５でＹＥＳ）、白（無効）データを出力する（Ｓ１５０６）。
【０１７９】
Ｓ１５０５において、白（無効）データ領域でなければ（Ｓ１５０５でＮＯ）、符号データ結合部４４１２から出力される符号データを伸長して出力し（Ｓ１５０７）、マーカ検出位置情報表４５の各情報を更新する（Ｓ１５０８）。
【０１８０】
Ｓ１５０６またはＳ１５０８の動作終了後、出力画像データの主走査方向の次の画素（主走査カウント値が１加算される）についても同様に（Ｓ１５０９）、主走査カウント値および副走査カウント値と、次の主走査方向ずれ位置および副走査方向ずれ位置を参照して、前述と同様な動作Ｓ１５０５〜Ｓ１５０９を主走査カウント値が当該ラインの最終画素目になるまで繰り返す（Ｓ１５１０、Ｓ１５１０でＮＯ）。
【０１８１】
当該ラインの最終画素目の画素の伸長が終了すると（Ｓ１５１０でＹＥＳ）、入力画像データの副走査方向の次のライン（副走査カウント値が１加算され、主走査カウント値が初期値になる）の画素についても前述と同様に（Ｓ１５１１、Ｓ１５１２）、Ｓ１５０５〜Ｓ１５１２の動作を繰り返し（Ｓ１５１３でＮＯ）、副走査カウント値および主走査カウント値が入力画像データの１頁分の符号データの伸長が終了すると（Ｓ１５１３でＹＥＳ）、伸長処理部４４Ｃの動作を終了する。
【０１８２】
上記の実施例１および２では、伸長時にマーカ検出位置情報表４５の各情報を生成する構成例を示したが、画像データの圧縮時にマーカ検出位置情報表４５の各情報を生成する構成にしてもよい。
【０１８３】
この画像データの圧縮時にマーカ検出位置情報表４５の各情報を生成する構成を画像形成装置１０に適用した場合について説明する。
【実施例３】
【０１８４】
画像形成装置１０の圧縮部４１の各圧縮処理部に適用され、画像データの圧縮時にマーカ検出位置情報表４５の各情報を生成する構成の一例について説明する。
【０１８５】
図１６は、画像形成装置１０の圧縮部４１の各圧縮処理部４１Ｃ、４１Ｍ、４１Ｙ、４１Ｋに適用される実施例３の圧縮処理部４３Ｃの構成の一例を示す図である。
【０１８６】
なお、説明の便宜上、Ｃ色に対応した圧縮処理部４３Ｃを例に説明し、各色（Ｍ、Ｙ、Ｋ）に対応する圧縮処理部は圧縮処理部４３Ｃと同様な構成および動作であるので、説明は省略する。
【０１８７】
また、実施例１のＣ色の圧縮処理部４１Ｃ（図９参照）と同等の機能を果たす機能部には同一の符号を付している。
【０１８８】
圧縮処理部４３Ｃは、主走査カウンタ４１０、副走査カウンタ４１１、画像データ取得部４１７、符号データ出力部４１４、マーカ検出位置情報出力部４１５、圧縮制御部４１６を備えており、圧縮制御部４１６は主走査ずれ位置記憶部４１２を有している。
【０１８９】
主走査カウンタ４１０、副走査カウンタ４１１、主走査ずれ位置記憶部４１２は、前述の実施例１の圧縮処理部４１Ｃと同様な構成と動作であるので説明は省略する。
【０１９０】
画像データ取得部４１７は、画像データを取得する。
【０１９１】
圧縮制御部４１６は、主走査カウンタ４１０および副走査カウンタ４１１でカウントされる入力画像データの主走査カウント値、副走査カウント値と、主走査ずれ位置記憶部４１２に保持されている主走査方向ずれ位置とを比較しながら、１ライン目の１画素目から順次入力される入力画像データを主走査方向に順次圧縮し、画素が主走査方向ずれ位置に達すると、マーカコードを挿入後、その画素を圧縮して符号データ出力部４１４に出力する。
【０１９２】
符号データ出力部４１４は、圧縮制御部４１６から入力された符号データを外部メモリ３１に出力するとともに、符号データに挿入されているマーカコードの挿入位置の情報をマーカ検出位置情報出力部４１５に出力する。
【０１９３】
マーカ検出位置情報出力部４１５は、符号データ出力部４１４から入力されたマーカコードの挿入位置の情報に基づきマーカ検出位置情報表４５の各情報を生成して、外部メモリ３１に出力して記憶させる。
【０１９４】
このように構成すれば、前述の実施例２で示した伸長処理部４４Ｃと組合わせた場合に、伸長処理部４４Ｃのマーカ検出情報生成部４４０の構成が不要となる。
【０１９５】
前述の実施例１〜３では、画像の位置ずれ量に応じて出力画像データを直線的に傾けて出力する例を示したが、画像の位置ずれ量に応じて出力画像データを凸形にずらして出力することも可能である。
【０１９６】
図１７は、凸形にずらして出力する出力画像データ１０２の一例を示す図である。
【０１９７】
例えば図１７の場合、副走査方向ずれ位置（１、２、３、・・・ｍ）に対応する主走査方向ずれ位置（１、２、３、・・・ｎ）が複数存在するが、主走査方向ずれ位置および副走査方向ずれ位置が算出されれば、それらの位置から出力画像データ１０２の白領域、各ブロック（Ｍ−ｎ）を副走査方向にずらすライン数も特定できるので、出力画像データ１０２のように凸形にずらすことも可能である。
【０１９８】
この場合は、入力画像データの圧縮時に、細かい単位でマーカコードを挿入して圧縮して符号コードを生成し、印刷開始時に、搬送されてくる用紙の傾きをその傾きが検出できるセンサで検出する。
【０１９９】
そして、その用紙の傾きおよび画像形成装置１０の図示せぬ印刷ヘッドの傾きから画像の位置ずれ量を算出して、主走査方向ずれ位置（１、２、３、・・・ｎ）および副走査方向ずれ位置（１、２、３、・・・ｍ）を算出する。
【０２００】
この算出した主走査方向ずれ位置および副走査方向ずれ位置に基づき符号データの並び替えと、並び替えられた符号データの伸長と白（無効）データの出力を行うことで、出力画像データ１０２が出力される。
【０２０１】
上記実施例では、伸長時のマーカ検出を１頁分実施してマーカ検出位置情報表４５の各情報を生成したが、副走査方向の位置ずれ量に従い、必要な分だけ先行して符号データに挿入されているマーカコードの位置を検出し、その後は伸長しながらマーカコードの検出位置を更新するようにしてもよい。
【０２０２】
このようにすれば、マーカ検出用のマーカ検出位置情報表４５の容量を小さくすることができる。
【０２０３】
また、上記実施例では、圧縮時に画素単位で圧縮する方法の一例を示したが、ブロック単位で圧縮して伸長するようにしてもよい。
【０２０４】
このようにすれば、２ブロックライン分のラインバッファを実装するだけで、同様に実現が可能となる。
【０２０５】
更に、伸長時に副走査方向ずれ量を０で実施することにより、画像の位置ずれの補正をしない画像が復元できる。
【産業上の利用可能性】
【０２０６】
本発明は、画像データに対応して画像を形成して出力するコピー装置、プリンタ、複合機等の画像形成装置に適用できる。
【符号の説明】
【０２０７】
１０；画像形成装置１０
２０：制御部２０（ＣＰＵ）
３０：画像メモリ
３１：外部メモリ
４０：画像処理部
５０：画像形成部
６０Ｃ〜６０Ｋ：位置ずれ検出センサ
４１：圧縮部
４１Ｃ〜４１Ｋ、４３Ｃ〜４３Ｋ：各色の圧縮処理部
４１０、４２０：主走査カウンタ
４１１、４２１：副走査カウンタ
４１２、４２２：主走査ずれ位置記憶部
４１３：圧縮器
４１５、４４０３：マーカ検出位置情報出力部
４１６：圧縮制御部
４１７：画像データ取得部
４２：伸長部
４２Ｃ〜４２Ｋ、４４Ｃ〜４４Ｋ：各色の伸長処理部
４２３：副走査ずれ位置記憶部
４４０、４２００：マーカ検出情報生成部
４４１、４２１０符号データ配置変更部
４２０１：符号データ取得部Ａ
４２０２：マーカコード検出部
４２０３：マーカ検出位置情報生成部
４２１１、４４１１：符号データ取得部Ｂ
４２４：伸長器
４２１２、４４１２：符号データ結合部
【図１】
2011201266.tif 000003
【図２】
2011201266.tif 000004
【図３】
2011201266.tif 000005
【図４】
2011201266.tif 000006
【図５】
2011201266.tif 000007
【図６】
2011201266.tif 000008
【図７】
2011201266.tif 000009
【図８】
2011201266.tif 000010
【図９】
2011201266.tif 000011
【図１０】
2011201266.tif 000012
【図１１】
2011201266.tif 000013
【図１２】
2011201266.tif 000014
【図１３】
2011201266.tif 000015
【図１４】
2011201266.tif 000016
【図１５】
2011201266.tif 000017
【図１６】
2011201266.tif 000018
【図１７】
2011201266.tif 000019