(57)【要約】      （修正有）【課題】少ないメモリ容量でありながらも、露光走査の曲がりやずれを補正し、画像劣化を低減することが可能になる。【解決手段】圧縮器１は画像データを１６×１６画素単位に符号化する。ライトアドレス生成部３は、符号化ブロックデータを第１のメモリ４に格納するためのアドレスを生成し、符号化ブロックデータを格納する際の先頭アドレスと符号化ブロックデータのサイズを第２のメモリ５に格納する。リードアドレス生成部７は、露光ずれ量記憶部９と第２のメモリ５を参照して、露光走査方向である主走査方向にならぶ各ブロックの復号に関するテーブルを生成し、復号すべき符号化データのリードアドレスを発生するとともに、出力すべきライン番号を印刷ライン判定器１０に設定する。伸長器６は、入力した符号化ブロックデータを復号し、印刷ライン判定器１０に出力する。印刷ライン判定器は、設定されたライン番号で示されるラインの画素データを出力する。【選択図】図１
2010118872.tif 000002
【特許請求の範囲】
【請求項１】
感光体上にビーム光を露光走査して画像を形成する画像形成装置であって、
前記感光体上の前記ビーム光の理想とする露光走査軸に対する実際の露光走査軸のずれ量を示す情報を記憶する露光ずれ量記憶部と、
複数画素で構成されるブロックを単位に画像データを入力する入力手段と、
入力したブロックの画像データを圧縮符号化し、ブロックを単位とする符号化ブロックデータを生成する符号化手段と、
該符号化手段で生成された各符号化ブロックデータを第１のメモリに格納すると共に、各符号化ブロックデータの格納アドレスを特定する情報を第２のメモリに格納する格納手段と、
前記露光ずれ量記憶部に格納された情報と前記第２のメモリに格納された情報に基づき、主走査方向に並ぶ各ブロックのための、前記符号化ブロックデータの格納アドレスと初期の出力ラインのオフセット値を記憶するためのテーブルを生成するテーブル生成手段と、
該テーブル生成手段で生成された着目テーブルにおける前記格納アドレスで示される符号化ブロックデータを前記第１のメモリより読出して復号し、前記着目テーブルにおける前記オフセット値で特定されるラインの画素データを出力すると共に前記着目テーブルを更新することを、前記主走査方向に並ぶ各テーブルに従って繰り返し実行する処理手段と
を備えることを特徴とする画像形成装置。
【請求項２】
前記符号化手段は、前記主走査方向に並ぶ全ブロックの全ラインの出力が完了した場合に、次の主走査方向に並ぶブロックの符号化処理を開始することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記格納手段は、前記符号化ブロックデータの格納アドレスと符号化データサイズを格納することを特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
前記符号化手段は、入力したブロックの画像データを圧縮符号化して得られた符号量が、予め設定されたＮ個の閾値のうち、前記符号量が閾値を超えず、且つ、最も小さい閾値を、符号化ブロックデータのための閾値として設定し、圧縮符号化の後の画像データにダミーデータを付加した前記符号化ブロックデータのための閾値で示されるサイズのデータを符号化ブロックデータとして生成し、
前記格納手段は、各符号化ブロックデータのサイズが前記Ｎ個の閾値のいずれのサイズであるかを示す情報を、前記符号化ブロックデータの格納アドレスを特定する情報として前記第２のメモリに格納する
ことを特徴とする請求項１又は２に記載の画像形成装置。
【請求項５】
ブロックのサイズが水平方向にｍ画素、垂直方向にｎ画素のサイズと定義したとき、前記テーブル生成手段は、符号化ブロックデータの格納アドレスと初期の出力ラインとして０以下の値を許容するオフセット値を記憶するためのテーブルを生成し、
前記処理手段は、
着目テーブルのオフセット値が０以下の場合には、着目ブロックの復号処理を行なわず、ｍ個の白画素のデータを出力すると共に、オフセット値に“１”を加算し、
着目テーブルのオフセット値が１以上ｎ以下の場合には、着目ブロックの復号して得られた画像中のオフセット値で示されるラインのｍ個の画素データを出力すると共に、オフセット値に“１”を加算し、加算した結果がｎを超える場合であっては、着目ブロックの直下に位置するブロックの符号化ブロックデータの格納アドレスで着目テーブルを更新すると共に、オフセット値に“１”にリセットする
ことを特徴とする請求項１乃至４のいずれか１項に記載の画像形成装置。
【請求項６】
感光体上の前記ビーム光の理想とする露光走査軸に対する実際の露光走査軸のずれ量を示す情報を記憶する露光ずれ量記憶部を備え、前記感光体上にビーム光を露光走査して画像を形成する画像形成装置の制御方法であって、
複数画素で構成されるブロックを単位に画像データを入力する入力工程と、
入力したブロックの画像データを圧縮符号化し、ブロックを単位とする符号化ブロックデータを生成する符号化工程と、
該符号化工程で生成された各符号化ブロックデータを第１のメモリに格納すると共に、各符号化ブロックデータの格納アドレスを特定する情報を第２のメモリに格納する格納工程と、
前記露光ずれ量記憶部に格納された情報と前記第２のメモリに格納された情報に基づき、主走査方向に並ぶ各ブロックのための、前記符号化ブロックデータの格納アドレスと初期の出力ラインのオフセット値を記憶するためのテーブルを生成するテーブル生成工程と、
該テーブル生成工程で生成された着目テーブルにおける前記格納アドレスで示される符号化ブロックデータを前記第１のメモリより読出して復号し、前記着目テーブルにおける前記オフセット値で特定されるラインの画素データを出力すると共に前記着目テーブルを更新することを、前記主走査方向に並ぶ各テーブルに従って繰り返し実行する処理工程と
を有することを特徴とする画像形成装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子写真方式に従って記録媒体上に画像を形成する画像形成技術に関するものである。
【背景技術】
【０００２】
従来、電子写真方式における画像形成装置は、感光体（もしくは感光ドラム）に画像データに基づきビーム光を露光走査し、静電潜像を感光体上に形成する。そして、記録色材によって現像し、記録紙等の記録媒体にその記録色材の転写、定着を経て、外部に出力する。カラー画像を形成する場合には、記録色成分毎に露光、現像、転写を行なうことになる。
【０００３】
昨今の電子写真方式における記録解像度は非常に高くなり、それに伴い感光体上の理想とする直線上を露光走査することが困難になっている。この要因としては、ポリゴンミラーの回転軸のずれ等、幾つかの要因があると考えられる。この課題を解決するため、画像データの圧縮を行い、この圧縮データを用いた露光走査の曲がりやずれに対する補正技術が知られている（特許文献１）。
【特許文献１】特開２０００−２８０５２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上記従来例において、各色が単一の決まった固定長の圧縮処理を行っており、非可逆圧縮である事から生じる画像劣化の可能性があり、高品質な画像を保ったままの画像補正が困難であった。
【０００５】
本発明は上記問題点に鑑みてなされたものであり、少ないメモリ容量でありながらも、露光走査の曲がりを補正し、画像劣化を低減することを可能ならしめる技術を提供しようとするものである。
【課題を解決するための手段】
【０００６】
かかる課題を解決するため、本発明の画像形成装置は以下の構成を備える。すなわち、
感光体上にビーム光を露光走査して画像を形成する画像形成装置であって、
前記感光体上の前記ビーム光の理想とする露光走査軸に対する実際の露光走査軸のずれ量を示す情報を記憶する露光ずれ量記憶部と、
複数画素で構成されるブロックを単位に画像データを入力する入力手段と、
入力したブロックの画像データを圧縮符号化し、ブロックを単位とする符号化ブロックデータを生成する符号化手段と、
該符号化手段で生成された各符号化ブロックデータを第１のメモリに格納すると共に、各符号化ブロックデータの格納アドレスを特定する情報を第２のメモリに格納する格納手段と、
前記露光ずれ量記憶部に格納された情報と前記第２のメモリに格納された情報に基づき、主走査方向に並ぶ各ブロックのための、前記符号化ブロックデータの格納アドレスと初期の出力ラインのオフセット値を記憶するためのテーブルを生成するテーブル生成手段と、
該テーブル生成手段で生成された着目テーブルにおける前記格納アドレスで示される符号化ブロックデータを前記第１のメモリより読出して復号し、前記着目テーブルにおける前記オフセット値で特定されるラインの画素データを出力すると共に前記着目テーブルを更新することを、前記主走査方向に並ぶ各テーブルに従って繰り返し実行する処理手段とを備える。
【発明の効果】
【０００７】
本発明によれば、少ないメモリ容量でありながらも、露光走査の曲がりやずれを補正し、画像劣化を低減することが可能になる。
【発明を実施するための最良の形態】
【０００８】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【０００９】
［第１の実施形態］
実施形態では、複合機等の画像形成装置に適用する例を説明する。なお、この装置は、プリンタエンジン部については公知の電子写真方式の構成であるものとし、その詳細は示していない。また、本実施形態の装置は原稿読取部、及び、ネットワークから受信した印刷データに従ってビットマップイメージを生成するイメージ生成部を有する（いずれか一方でも良い）。
【００１０】
図１は実施形態における複合機における画像処理部のブロック構成図である。図示の制御部１００は、以下に説明する各構成要素を制御するものである。
【００１１】
以下、図１に従って実施形態における画像処理の処理内容を説明する。
【００１２】
圧縮器１は、原稿読取部もしくはイメージ生成部からの画像データから、複数画素（ｍ×ｎ画素）で構成されるブロックを単位とする画像データを入力し、圧縮符号化する。実施形態では、簡単のためｍ＝ｎ＝１６とし、符号化方式は非可逆符号化として知られているＪＰＥＧとする。また、符号化する対象の画像データの主走査方向（右方向）をｘ軸、副走査方向（下方向）をｙ軸としたとき、主走査方向にｉ番目、副走査方向にｊ番目のブロックをブロックＢ（ｉ，ｊ）と定義する。そして、ブロックＢ（ｉ，ｊ）の符号化データを符号化ブロックデータＣＢ（ｉ，ｊ）と表現する。
【００１３】
ライトアドレス生成部３は、圧縮器１による１つのブロックの符号化が完了したことの通知を受けると、第１のメモリ４に格納するアドレス信号を順次生成し、圧縮器１で生成された符号化ブロックデータＣＢ（ｉ，ｊ）をその第１のメモリ４に格納させる。また、ライトアドレス生成部３は、符号化ブロックデータＣＢ（ｉ，ｊ）の書き込みのための先頭アドレスＡ（ｉ，ｊ）及びその符号化データのサイズＳ（ｉ，ｊ）を、第２のメモリ５に予め確保された該当する領域に書き込む。
【００１４】
第１のメモリ４は、少なくとも主走査方向に並ぶブロック数の２倍の容量を有する。実施形態では、簡単なものとするため、主走査方向に並ぶブロック数は５とする。従って、第１のメモリ４は、１ブロックの最大符号化データ量×５×２の記憶容量を有することになる。なお、実際のＡ４サイズの記録紙の短辺は約２１ｃｍである。印刷しようとする画像の解像度が１２００ｄｐｉとするなら、２１ｃｍ≒約８．２ｉｎｃｈであるので、Ａ４の短辺は９８４０（＝８．２×１２００）画素で表わされる。すなわち、１主走査方向のブロック数は６１５（＝９８４０／１６）個となる。実施形態のブロック数が“５”であるのは、単に例示に過ぎないことに注意されたい。
【００１５】
図１の第１のメモリ４には、２走査ブロック分の符号化ブロックデータが格納された状態を示し、第２のメモリ５には２走査ブロック分の符号化ブロックデータの各格納アドレスとそのサイズが格納されていることを示している。
【００１６】
詳細は後述するが、最初の走査方向の全符号化ブロックデータＣＢ（ｎ，１）（ｎ＝１，２，…，５）の復号、出力し終えたと判定した場合、圧縮器１は３番目の走査ラインのブロックの符号化を開始する。この場合、第１のメモリ４の符号化ブロックＣＢ（ｎ，１）（n＝１，２，…、５）が処理済となり、空き領域となるので、この空き領域に符号化ブロック（ｎ、３）が新に書き込まれることになる。以下、１走査ブロック分の出力処理が終わる毎に、次の走査ブロックの符号化データが第１のメモリ４に格納することを繰り返すことになる。なお、実施形態では、１走査方向の全符号化ブロックの数が“５”としているが、それら５つのブロックの符号化データのデータ量は不定である（ＪＰＥＧは可変長符号化であるため）。そこで、第１のメモリ４の記憶エリアのちょうど中央のアドレスを境に、前半と交換の領域に分け、各領域に１走査分の符号化データを格納するようにした。第１のメモリ４は、先に説明したように、１ブロックの最大符号化データ量×１０の記憶容量を有する。従って、最悪でも１走査分の全ブロックの符号化データを連続して格納できる。
【００１７】
第２のメモリ５は、第１のメモリ４と同様、最初の走査方向の符号化ブロックデータＣＢ（ｎ，１）の復号、出力し終えると、圧縮器１は次のブロックの符号化を開始するので、第２のメモリ４の符号化ブロックデータＣＢ（ｎ，１）（n＝１，２，…、５）のアドレスＡ（ｎ，１）及びサイズＳ（ｎ，１）が処理済となり、空き領域となるので、この空き領域に符号化ブロックデータ（ｎ、３）のアドレスＡ（ｎ，３）、サイズＳ（ｎ，３）が書き込まれる。アドレス、サイズは固定長の情報で良いので、データ管理を簡単にすることができる。
【００１８】
リードアドレス生成部７は、処理を開始するに先立ち、露光ずれ量記憶部９から本装置のプリンタエンジン部（不図示）の露光ずれ量を示す情報を読出し、１主走査分の各符号化ブロックデータの復号処理にかかる露光ずれに係るテーブル生成処理を行なう。そして、リード主走査カウンタ８からの信号が入力する度に、リードアドレス生成部７は、生成したテーブルに従い、第１のメモリ４に対する符号化ブロックデータの先頭のリードアドレスからデータサイズ分のアドレスを順次発生する処理を行ない、且つ、伸長器６並びに印刷ライン判定器１０に対する制御信号を出力する（詳細後述）。
【００１９】
伸長器６は、リードアドレス生成部７によるリードアドレスに従って第１のメモリ４から該当する符号化ブロックデータを読込み伸長処理（復号処理）を行ない、その結果を印刷ライン判定器１０に出力する。但し、伸長器６は、リードアドレス生成部７から、復号中止を示す制御信号を受信した場合には、無条件に、全画素（１６×１６画素）が白を示すデータを生成し、印刷ライン判定器１０に出力する。
【００２０】
印刷ライン判定器１０は、伸長器６から出力された１ブロック（＝１６×１６画素）の画像中の、リードアドレス生成部７より指示されたラインに位置する１６画素分のデータをハーフトーン処理部１１に出力する。
【００２１】
ハーフトーン処理部１１は、入力した１ライン分の画像データをハーフトーン処理し、その結果をバッファ１２に格納する。ＰＷＭ処理部１３は、公知のＰＷＭ（Pulse Width Modulation)処理を行ない、プリンタエンジン部のレーザ素子を駆動するレーザドライバにそのＰＷＭ処理して得られた信号を出力する。
【００２２】
次に、実施形態におけるリードアドレス生成部７の処理の詳細を説明する。
【００２３】
図２（ａ）は感光体上のビーム光の露光走査の様子を示している。図示の破線が理想的な露光走査軸を示し、実線が本装置の実際の露光走査軸を示している。この実際の露光走査軸を特定する情報は、本装置の製造段階にて検査して得られるものであり、製造段階にて、露光ずれ量記憶部９に格納されるものである。
【００２４】
さて、この露光ずれを補正するためには、図２（ｂ）に示すように、露光ずれ量に見合うように、各ラインの画像データを読出し、印刷処理を行なえば良い。例えば、最初のラインの露光走査を行なう場合には、ブロックＢ（１，１）の第１ライン（１６画素）を出力し、それに後続する１７画素目以降は白画素を示すデータを生成する。そして、その次の露光走査を行なう場合にはブロックＢ（１，１）の第２ラインを出力し、その後でブロック（２、１）の第１ラインを出力する。そして、それ以降（３３画素目以降）は白画素を示すデータを出力する。以下、この出力処理を繰り返せば良い。
【００２５】
実施形態の場合、１主走査方向には５つのブロックが並んでいるので、リードアドレス生成部７はこれら５つのブロックの各ラインのオフセットを管理すればよいことになる。
【００２６】
そこで、実施形態におけるリードアドレス生成部７は、１枚の画像を印刷するに先立ち、１主走査方向に並ぶ５つのブロックを管理するテーブルＴ（１）乃至Ｔ（５）を、図３（ａ）に示すように、露光ずれ量記憶部９と第２のメモリ５を参照して生成する。図３（ａ）に示すように、１つのテーブルＴについて、該当するブロックの符号化ブロックデータの先頭アドレス、サイズ、及び、出力ラインＮｏの３つの情報を保持する。先頭アドレス及びサイズの“＃”は、適宜変更されることを示している。また、出力ラインＮｏは、この符号化ブロックデータを伸長（復号）した際に、どのラインの画像データを出力するかを示すデータが格納されている。実施形態では１ブロックが１６×１６画素としているので、出力ラインＮｏの取り得る値は１乃至１６であるが、便宜的に非正の整数（０以下の整数）の格納を許容する。
【００２７】
図２（ｂ）に示すように出力する場合の、リードアドレス生成部７が作成する具体的なテーブルＴ（）の例を示すのが図３（ｂ）である。
【００２８】
図３（ｂ）に示すように、最初のテーブルＴ（１）には、符号化ブロックデータＣＢ（１，１）のアドレスＡ（１，１）及びサイズＳ（１、１）が格納され、且つ、出力ラインＮｏが“１”が格納されている。従って、この場合、リードアドレス生成部７は、第１のメモリ４に対し、アドレスＡ（１，１）で示されるアドレス位置から、サイズＳ（１，１）分の符号化データの読出すためのアドレスを順次出力すると共に、出力ラインＮｏ“１”を印刷ライン判定器１０に出力する。この結果、伸長器６は、第１のメモリ４から符号化ブロックデータＣＢ（１，１）を入力し、伸長処理を行ない、その結果を印刷ライン判定器１０に出力する。印刷ライン判定器１０は、リードアドレス生成部７から通知された出力ラインＮｏが“１”であるので、１ライン目の１６画素の画像データをハーフトーン処理部１１に出力する。そして、リードアドレス生成部７は、現在のテーブルＴ（１）の出力ラインＮｏを“１”だけ加算することで出力ラインＮｏを“２”に更新する。
【００２９】
上記のようにして、最初のブロックの１ライン分（１６画素）の伸長処理を終えると、リードアドレス生成部７は、図３（ｂ）の２つ目のテーブルＴ（２）を参照する。図示の如く、該当するブロックの出力ラインＮｏが“０”である。出力ラインＮｏは１乃至１６の値である場合に意味を持つものである。従って、リードアドレス生成部７は、伸長器６に対して伸長処理を中止する指示を行なう、この結果、伸長器６は、全画素が白であることを示すデータを印刷ライン判定器１０に出力する。そして、印刷ライン判定器１０には、適当なライン（１乃至１６のいずれでも同じであるので、ここではライン“１”とする）を出力する制御信号を出力する。そして、リードアドレス生成部７は、着目テーブルＴ（２）の出力ラインＮｏを“１”だけ加算する。この結果、更新前の出力ラインＮｏは“０”であったので、この更新の結果、出力ラインＮｏは“１”に更新される。つまり、次回の露光走査の際には、この着目ブロックの第１ラインの１６画素のデータが出力されることになる。
【００３０】
３つ目以降のブロックについても同様である。また、各ブロックの出力ラインＮｏを“１”だけ加算することも同様である。
【００３１】
上記の結果、最初の露光走査時においては、符号化ブロックデータＣＢ（１，１）の第１ラインの画像データのみが出力され、２番目以降では全て白画素を示すデータが出力される。
【００３２】
そして、２番目の露光走査時には、符号化ブロックデータＣＢ（１，１）の第２ラインの画像データと、符号化ブロックデータＣＢ（２，１）の第１ラインの画像データが出力され、３番目以降のブロックでは全て白画素を示すデータが出力される。
【００３３】
これ以降については説明するまでもないであろう。
【００３４】
なお、或るブロックの第１６ライン、すなわち、最終ラインの伸長処理を終えると、そのブロックの出力ラインＮｏが“１７”となってしまう。この場合、そのテーブルを、そのブロックの直下のブロックの符号化ブロックデータのアドレス、サイズで更新し、出力ラインＮｏを“１”にリセットする。
【００３５】
例えば、図３（ｂ）の場合、最初に出力ラインＮｏが“１７”となるのは、先頭のテーブルＴ（１）であるので、その際には、アドレスＡ（１、１）、サイズＳ（１，１）にかえて、アドレスＡ（１、２）、サイズＳ（１、２）に更新し、出力ラインＮｏを“１”にリセットする。また、このとき、ブロックＢ（１、１）の全ラインが出力済みであるので、リードアドレス生成部７は、圧縮器１に対して、ブロックＢ（１，３）の全ラインの出力を終えたことを通知する。圧縮器１は、１走査方向の全ブロック（ブロックＢ（１、１）…Ｂ（５、１））の全ラインの出力が完了したことを受けて、次の走査方向の５つのブロックの符号化処理を開始することになる。
【００３６】
なお、ブロックＢ（１，２）の全ラインを出力を終えると、その次はブロックＢ（１、３）の出力処理を行なうことになるが、実施形態では、第２のメモリ５は２走査分のブロックのアドレスとサイズ情報を記憶する容量を有し、１走査毎に使い分けている。従って、実際の制御では、ブロックＢ（１，２）の全ラインを出力を終えると、第２のメモリ５におけるブロックＢ（１、１）の領域に、ブロックＢ（１、３）のアドレス、サイズが格納されているものとしてテーブルを更新されることになるので、それを利用することになる。また、第１のメモリ４は先に説明したように、１ブロックに対するＪＰＥＧ符号化による最大符号量×１０の容量を有し、しかもそのアドレス空間の中央の位置を、２主走査方向のブロックを格納する境界にしているので、次の走査方向の５つのブロックの符号化データを連続して格納できることを保証している。
【００３７】
また、図３（ｂ）の場合、画像データの左下隅のブロックの全ラインの伸長処理を終えたとしても、他のブロックが全ラインの出力が終えたことにはならなず、それ以降も露光走査はある程度継続しなければならない。そこで、出力すべきブロックが存在しなくなった場合、最後の有意な１６画素の画像データを出力処理を終えるまで、リードアドレス生成部７は、他のブロックについてはダミー的に伸長器６に対して伸長処理を中止する制御信号を出力する。これは、露光ずれ量記憶部９に格納された情報と、印刷する画像のサイズからは事前に求めることはできることは理解できよう。例えば、印刷すべき画像の垂直方向のライン数がＮであったとする。また、露光走査時における左端と右端との垂直方向のずれ量（ライン数）がＭであったとした場合、本実施形態における露光走査する総ライン数はＮ＋Ｍである。
【００３８】
以上実施形態におけるリードアドレス生成部７の詳細を説明した。
【００３９】
次に、リードアドレス生成部７を中心とした、実施形態の制御部１００の処理手順を図４のフローチャートに従って説明する。なお、図４において、「Ｔ（ｉ）」は、主走査方向に対してｉ番目のテーブル（以下，着目テーブル）を示す。「Ｔ（ｉ）．ａｄｒｓ」は、その着目テーブルで示される符号化ブロックデータの格納アドレスを表わす。また、「Ｔ（ｉ）．ｓｉｚｅ」は着目テーブルの符号化ブロックデータの符号化データサイズを示し、「Ｔ（ｉ）．ｏｕｔｌｉｎｅ」は着目ブロックの符号化ブロックデータの出力すべきライン番号を示している。
【００４０】
ステップＳ１では、露光ずれ量記憶部９を参照して、主走査方向のブロック数分のテーブルＴを生成する（図３（ａ），（ｂ）参照）。
【００４１】
次いで、ステップＳ２にて、変数ｉを“１”で初期化する。この変数ｉはテーブルＴを特定するために用いるものである。
【００４２】
次いで、ステップＳ３にてテーブルＴ（ｉ）を着目テーブルとして読込む。そして、ステップＳ４では、着目テーブルにおけるＴ（ｉ）．ｏｕｔｌｉｎｅ（先に説明した出力ラインＮｏに対応する）が“０”以下であるかを判定する。
【００４３】
ここで、Ｔ（ｉ）．ｏｕｔｌｉｎｅが“０”以下（非正の整数）であると判定した場合、着目テーブルで特定されるブロックからは出力すべき画素データが無いと判定できる。。そこで、伸長器６に対して伸長処理が不要であり、全画素が白画素として出力するように指示し、印刷ライン判定器１０に対して“１”（１乃至１６であればいずいれでも可）を設定する。この結果、着目ブロックからは、主走査方向の１６画素がすべてが白画素を示すデータが出力される。この後、処理はステップＳ８に進める。
【００４４】
一方、Ｔ（ｉ）．ｏｕｔｌｉｎｅ＞０であると判定した場合、処理はステップＳ６に進む。このステップＳ６では、第１のメモリ４におけるＴ（ｉ）．ａｄｒｓで特定されるアドレスから、Ｔ（ｉ）．ｓｉｚｅ分のデータを読込み、伸長器６にて伸長（デコード）を行なわせる。そして、ステップＳ７にて、印刷ライン判定器１０に対してＴ（ｉ）．ｏｕｔｌｉｎｅを設定することで、着目テーブルで示される復号済みの１６×１６画素データ中の、Ｔ（ｉ）．ｏｕｔｌｉｎｅで示される１６画素分のデータを出力させる。
【００４５】
ステップＳ８では、着目テーブルのＴ（ｉ）．ｏｕｔｌｉｎｅの値を“１”だけ増加させる処理を行なう。
【００４６】
この後、ステップＳ９にて、着目テーブルで示されるブロックが露光走査の右端に位置するか否かを、変数ｉの値に基づき判定する。
【００４７】
着目テーブルで示されるブロックは露光走査の非右端に位置すると判定した場合には、ステップＳ１０に進み、Ｔ（ｉ）．ｏｕｔｌｉｎｅの値が“１６”より大きいか否かを判定する。Ｔ（ｉ）．ｏｕｔｌｉｎｅの値が“１６”以下であると判定した場合には、ステップＳ１１にて、右隣のブロックに対する処理を進めるため、変数ｉを“１”だけ増加させ、ステップＳ３の処理に戻る。
【００４８】
また、Ｔ（ｉ）．ｏｕｔｌｉｎｅの値が“１６”より大きいと判定した場合、着目テーブルで示されるブロックの全ラインが出力済みであることになる。従って、この場合にはステップＳ１２に進み、圧縮器１に対して、着目テーブルで示されるブロックが全て出力済みであることを通知する。そして。着目テーブルで示されるブロックを、その直下に位置するブロックを示すため、Ｔ（ｉ）．ａｄｒｓ、Ｔ（ｉ）．ｓｉｚｅを、その直下に位置するブロックの符号化ブロックデータの格納アドレス、サイズで更新する。また、Ｔ（ｉ）．ｏｕｔｌｉｎｅを“１”に初期化する。この後、ステップＳ１１にて変数ｉを“１”だけ増加させ、ステップＳ３に戻る。
【００４９】
さて、ステップＳ９にて、着目テーブルＴ（ｉ）で示されるブロックが、露光走査の右端（実施形態では主走査方向の５番目のブロック）であると判定した場合、１露光走査分の画像データの出力を終えたことになる。そこで、ステップＳ１３にて、印刷すべき画像の全てが出力を終えたか否かを判断する。
【００５０】
印刷すべき画像の副走査（垂直）方向のライン数がＮであり、露光走査時における左端と右端との垂直方向のずれ量（ライン数）がＭであったとした場合、ステップＳ１３では、出力した露光走査の回数がＮ＋Ｍとなったか否かで判断すれば良い。
【００５１】
ステップＳ１３の判断がＮｏの場合には、着目テーブルを露光走査の左端に戻すため、ステップＳ２に処理を戻し、上記の処理を繰り返し実行する。一方、ステップＳ１３の判断がＹｅｓの場合には、本処理を終了する。
【００５２】
以上説明したように本実施形態によれば、可変長圧縮方式を用いた印字ライン補正を行う事により、画像情報の劣化の低減を可能とした構成での曲がりや傾きの補正が可能となる。尚、圧縮方式に関して、本実施形態ではＪＰＥＧと示し、１ブロックのサイズを１６×１６画素としたが、圧縮方式、並びに、ブロックサイズはこれに限定するものではない。例えば、圧縮方式としてランレングス符号化等のロスレス圧縮を用いる事で、画像情報の保持をする事が可能となる。また、１ブロックを水平方向にｍ画素、垂直方向にｎ画素と定義した場合、出力ラインＮｏで示される水平方向のｍ個の画素データを出力すれば良い。また、出力ラインＮｏが有効な範囲は１以上ｎ以下とすればよい。
【００５３】
また、第１および第２のメモリの記憶容量は２主走査ブロック分の容量を有するものとした。これは、露光走査のずれ量が最大でも１６ライン分である場合である。もし、その１６ライン以上の露光ずれ量が発生する可能性があるのであれば、第１，第２のメモリの容量を更に増やせば良い。
【００５４】
また、実施形態では第２のメモリ５には、符号化ブロックデータのサイズ情報を記憶するものとして説明したが、伸長器６が１ブロック分の画像データを復号できた時点で、そのブロックの復号処理を終了すればよいので、必ずしもサイズ情報を記憶する必要はない。
【００５５】
［第２の実施形態］
上記実施形態では、第２のメモリ５には、少なくとも各符号化ブロックデータの第１のメモリ４中の格納アドレスを記憶するものとした。各ブロックの符号化データを２種類の固定長のいずれかを用いることで、アドレスではなく、そのアドレスを算出するため、Ｎ個（Ｎは２以上）の閾値を参照してオフセット値を格納する例を以下に説明する。
【００５６】
本第２の実施形態でも、１ブロックは１６×１６画素のサイズとする。そして、圧縮器１は第１の実施形態と同様にブロックを単位に符号化を行なう。但し、１ブロックの符号化データのサイズが２５６ビット以下（第１の閾値以下）である場合にはダミーデータを最後に付加して２５６ビット、２５６ビットを超える場合（第１の閾値を超える場合）にはダミーデータを最後に付加して５１２ビット（第２の閾値）となるようにする。つまり、１つのブロックの符号化ブロックデータのデータ量は見かけ上、２５６ビットと５１２ビットのいずれかとなる。なお、１つのブロックの符号化データ量が５１２ビットを超えることはないものとする。
【００５７】
各ブロックの符号化データは、上記の通り、２５６ビットか５１２ビットのいずれかであるので、そのいずれであるかを示すフラグＦを第２のメモリ５に格納する。
【００５８】
図５は本第２の実施形態における画像処理部のブロック構成図である。図１と同様の構成については同参照符号を付した。
【００５９】
図示の如く、第２のメモリ５には、各ブロックのフラグＦ（）を、ブロックを単位とする座標位置に従って格納する。このフラグの書き込みはライトアドレス生成部３が、圧縮器１から出力される符号化データのサイズに従って行なう。Ｆ（１，１）はブロックＢ（１，１）の画像を符号化した際の符号量を示すものであり、０、１のいずれかの値を持つ。Ｆ（）が“０”であるとき、そのブロックの符号量は２５６ビットであることを示し、“１”であるとき、符号量は５１２ビットであるとする。
【００６０】
オフセットアドレス生成部１４は、一方の主走査方向の５つのフラグから、それぞれブロックのオフセットアドレスを演算し、実際の第１のメモリ４に格納されたアドレスを生成する。オフセットアドレス生成部１５は、もう一方の主走査方向の５つのフラグから、それぞれブロックのオフセットアドレスを演算し、実際の第１のメモリ４に格納されたアドレスを生成する。例えば、オフセットアドレス生成部１４は、Ｆ（１，１）乃至Ｆ（５，１）を読込む。そして、そのフラグが０、１、１、０、１であったとしたとき、ブロックＢ（１、１）乃至ブロックＢ（５，１）の符号化ブロックデータの符号量は、２５６、５１２、５１２、２５６、５１２ビットであることがわかる。第１のメモリ４のベースアドレスをＡＤＲ０とするなら、ブロックＢ（１、１）乃至ブロックＢ（５，１）の符号化ブロックデータの、第１のメモリ４における先頭アドレスは、それぞれ、ＡＤＲ０，ＡＤＲ０＋２５６、ＡＤＲ０＋２５６＋５１２、ＡＤＲ０＋２５６＋５１２＋５１２、ＡＤＲ０＋２５６＋５１２＋５１２＋２５６となる。
【００６１】
リードアドレス生成部７は、上記のようにして、オフセットアドレス生成部１４、１５からの情報に基づき、第１の実施形態と同様のテーブルを作成すればよい。
【００６２】
なお、上記実施形態では、実際の露光走査軸は、理想となる露光走査軸に対して線形に傾いているものとして説明したが、実際の露光走査の軌跡が、湾曲する場合であっても、ブロック単位でその湾曲露光走査を補正することが可能である。
【図面の簡単な説明】
【００６３】
【図１】第１の実施形態における画像処理部のブロック構成図である。
【図２】露光走査のずれと復号処理での出力ラインの順序を示す図である。
【図３】実施形態におけるリードアドレス生成部が作成するテーブルの構造を示す図である。
【図４】実施形態におけるリードアドレス生成部の処理手順を示すフローチャートである。
【図５】第２の実施形態における画像処理部のブロック構成図である。
【図１】
2010118872.tif 000003
【図２】
2010118872.tif 000004
【図３】
2010118872.tif 000005
【図４】
2010118872.tif 000006
【図５】
2010118872.tif 000007