(57)【要約】      （修正有）【課題】バンド処理で変倍処理を行う場合に必要なラインバッファと、乱数生成回路の数を削減することができる画像形成装置を提供する。【解決手段】ＣＰＵ５１は、走査幅（バンド処理幅ｄ）及びエリアの副走査方向の長さ（副走査長ａｙ）に基づいて、乱数発生器が生成する乱数値（乱数値ｒｎｄ）の範囲を決定する。ＣＰＵ５１は、この範囲内の乱数値（乱数値ｒｎｄ）を受け取り、受け取った当該乱数値（乱数値ｒｎｄ）で定めた位置へ画素を挿入し、又は、当該位置の画素を削除する画像処理を行う。【選択図】図３
2015195471.tif 000002
【特許請求の範囲】
【請求項１】
受け付けた画像データを複数のエリアに分割する分割手段と、
前記分割された各エリア毎に画素を挿入又は削除する位置を特定するための乱数値を生成する乱数生成手段と、
前記画像データを主走査方向に走査する走査幅及び前記エリアの副走査方向の長さに応じて前記乱数生成手段が生成する乱数値の範囲を決定する決定手段と、
前記決定された範囲内の乱数値で定めた位置へ画素を挿入し、又は、当該位置の画素を削除する画像処理を行う画像処理手段と、を有することを特徴とする、
画像形成装置。
【請求項２】
前記画像データは、画像の主走査方向及び副走査方向に配列された画素の集合であり、
前記決定手段により決定された前記範囲は、前記エリアの副走査方向と平行となる各画素列のそれぞれにおいて、画素の挿入又は削除が２回以上行われない範囲であることを特徴とする、
請求項１記載の画像形成装置。
【請求項３】
前記決定手段は、一回の前記走査において前記走査幅が複数の前記エリアに跨がる場合に前記乱数生成手段が生成する乱数値の範囲を決定することを特徴とする、
請求項１又は２記載の画像形成装置。
【請求項４】
前記走査幅は画素数で表される幅であり、
前記決定手段は、前記乱数生成手段が生成する乱数値の最大値と最小値から定まる前記範囲の幅を、「０」以上で、且つ、前記エリア内の画素を削除することにより副走査方向に前記画像を縮小する画像処理の場合には前記エリアの副走査方向の画素数から前記走査幅を減算した結果から、さらに「１」を減算した値以下とすることを特徴とする、
請求項１、２、又は３記載の画像形成装置。
【請求項５】
前記走査幅は画素数で表される幅であり、
前記決定手段は、前記乱数生成手段が生成する乱数値の最大値と最小値から定まる前記範囲の幅を、「０」以上で、且つ、前記画素を挿入することにより副走査方向に前記画像を拡大する画像処理の場合には前記エリアの副走査方向の画素数から前記走査幅を減算した結果に「１」を加算した値以下とすることを特徴とする、
請求項１、２、又は３記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、静電潜像により画像を形成する画像形成装置に関する。
【背景技術】
【０００２】
静電潜像により画像を形成する画像形成装置では、構成部品の取り付け位置のばらつき、又は、形成された画像を定着する際の熱などの影響を受け、転写部材上に形成された画像の画像サイズと本来意図する画像の画像サイズとが異なってしまうという問題がある。
【０００３】
このような問題に対し、特許文献１に開示された画像処理装置では、出力された画像の画像サイズと本来意図する画像サイズとを比較し、比較した結果に基づいて画像の形成過程における変倍率を測定する。そして、入力画像の画像データに対して測定された倍率で補正を行い、補正後の補正画像データに基づいて画像を形成する。その結果、最終的には、本来意図する画像サイズで画像が出力されるというものである。
【０００４】
例えば、画像形成を行った際に、入力画像の画像サイズに対して、出力された画像の画像サイズが副走査方向（感光体の回転方向）に１０１［％］のサイズとなってしまう画像形成装置があるとする。この場合、入力画像と同じ画像サイズで出力するには、測定された倍率の逆数を積算した画像サイズで画像形成が行われるように画像データを補正する。具体的には、副走査方向に０．９９００９９…（１０１の逆数＝１００／１０１）倍した画像が形成されるようにする。その結果、出力画像の画像サイズは、主走査方向１．０１０１０１…×９９［％］＝１００［％］、副走査方向０．９９００９９…×１０１［％］＝１００［％］となる。
【０００５】
特許文献１に記載された画像処理装置における入力画像データの倍率変更方法は、副走査方向における所望の画像サイズと、補正処理せずに出力した出力画像の画像サイズとの差分に相当する画素数を算出する。そして、この画素数に基づいて、副走査方向の画像領域を複数のエリア（領域）に分割する。
図１５は、処理対象の入力画像を模式的に示した図である。図１５に示す入力画像は、主走査方向及び副走査方向に配列された画素の集合である。例えば、所望の画像サイズと、補正処理せずに出力した出力画像のサイズとの差分が１０画素であったとする。この場合、図１５中の点線で示すように、入力画像を副走査方向に１０分割する。更に、分割された各エリア毎に、乱数発生器が生成した乱数値に基づいて、主走査方向の各座標位置（主走査位置）につき１ヶ所ずつランダムな位置を決定する。同一エリア内であっても、副走査位置が異なれば、ランダムな位置は異なる。そして、決定されたランダムな位置において、画像サイズを副走査方向に拡大する場合には画素を挿入し、又、縮小する場合には画素を削除する。画素が挿入されると、それ以降は同エリアにおいて副走査方向に１ライン分遅れた位置の画素が出力される。画素が削除されると、それ以降は同エリアにおいて副走査方向に１ライン分早めた位置の画素が出力される。なお、画素の挿入又は削除に伴って発生する、これらの「遅れ」、「早め」の状態は、エリアが切り替わるとその状態が初期化される。
【０００６】
図１６は、あるエリアについて、乱数発生器が生成した乱数値に基づいて決定されたランダムな位置を視覚化して表した模式図である。図１６に示すように、エリアの主走査位置を表す座標値を「ｘ」、ラインＮｏ（副走査位置）を表す座標値を「ｙ」とする。図１６において、主走査方向と平行する点線は、エリアの境界線（エリア境界）であり、図１５で示した点線に相当する。
例えば、入力画像の画像サイズを副走査方向に拡大する場合、決定されたランダムな位置で画素を挿入する。画素が挿入された結果、図１７（ａ）に示すような画像（拡大前の画像）が、図１７（ｂ）に示すように、補正処理（拡大処理）により画像サイズが拡大されて出力されることになる。この補正処理は、１つのエリアにおいて、副走査方向に１ライン分画像サイズを拡大する変倍処理である。
また、画像サイズを副走査方向に縮小する場合、決定されたランダムな位置で画素を削除する。画素が削除された結果、図１７（ｃ）に示すような画像（縮小前の画像）が、図１７（ｄ）に示すように、補正処理（縮小処理）により画像サイズが縮小されて出力されることになる。この補正処理は、１つのエリアにおいて、副走査方向に１ライン分画像サイズを縮小する変倍処理である。
【０００７】
また、画像形成装置によっては、画像データを保持するためのフレームバッファを備えるものがある。この場合、フレームバッファに格納された入力画像データに対して補正処理を行うことにより、副走査方向の変倍処理を行う。この他、画像データを保持する別の方法として、バンド処理を採用することもできる。バンド処理を採用すれば、画像形成装置には必要最小限のラインメモリ（ラインバッファ）を備えれば良いことになる。そのため、高価なフレームバッファを画像形成装置に備える必要がなくなり、画像形成装置の製造コストの低減を図ることができる。
【０００８】
ここで、バンド処理の概要について説明する。図１８は、入力画像を模式的に表した図である。図１８に示す入力画像は、主走査方向に１４画素、副走査方向に２０画素が配列されており、１マスが１画素を表している。各マス中に示された文字は、補正処理前の画素それぞれについて、副走査方向の位置を便宜上区別するためのものである。
バンド処理とは、入力画像全体を表す画像データの中から、一回の走査において所定のライン数（バンド処理幅）だけ画像データを読み出し、読み出した画像データに対して画像処理を行う方法である。この方法では、入力画像全体の処理が終了するまで、画像データの読み出しと、読み出した分の画像処理とが繰り返し行われる。一例として、図１８に示す入力画像において、一回の走査で読み出すライン数が４ラインであれば、図１９に示すように、走査毎（図１９中の走査１から走査５）に４ラインずつの画像データが出力されることになる。入力画像（図１８）は、副走査方向に２０ラインあるため、４ライン単位の読み出しを計５回行えば、入力画像全体の読み出しは完了する。
【０００９】
例えば、４ラインずつ読み出すバンド処理で副走査方向の変倍処理を行う場合、一般的には、ラインバッファは５ライン分あれば良いことになる。各エリアに対して、画素の挿入又は削除が行われるランダムな位置は、主走査位置毎に１カ所である。そのため、画像サイズを拡大する場合には、ランダムな位置に対して前の１ライン分のラインデータを余分に用意しておけば良い。また、画像サイズを縮小する場合には、ランダムな位置に対して後の１ライン分のラインデータを余分に用意しておけば良い。一例として、図１９中に示す走査２の画像データ出力に対して、変倍処理を行う場合について説明する。
【００１０】
図２０は、変倍処理のために必要なラインバッファ数（ライン数）を説明するための図である。図２０に示すように、例えば副走査位置Ａのラインで画素を挿入する場合には、走査１（図１９）の最終ラインである副走査位置Ｘのラインデータが必要となる。また、副走査位置Ｄのラインで画素を削除する場合には、走査３（図１９）の最初のラインである副走査位置Ｙのラインデータが必要となる。変倍処理は、拡大するか又は縮小するかのいずれか一方の処理であることから、必要なラインバッファ数は、４＋１＝５ライン分あれば良いことになる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００８−９９１１４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、分割された各エリアのエリア境界を含む走査においてバンド処理を行う場合、「バンド処理幅＋１」を超える数のラインバッファと、乱数発生器が２つ必要になることがある。以下、この場合について具体的に説明する。
図２１は、エリアの副走査方向の長さ（副走査エリア長）が９画素である入力画像の一部を示した図である。図２１中の点線は、エリアの境界線を示しており、画素Ｘ（マス中の文字がＸ）と画素１（マス中の文字が１）の間、画素９（マス中の文字が９）と画素１の間、画素９と画素Ｙ（マスの中の文字がＹ）の間それぞれがエリア境界である。図２１を正面から見て、上方のエリアをエリアＡ、下方のエリアをエリアＢとする。以下、エリアＡ、エリアＢに対して、４ラインのバンド処理幅で、画像サイズを縮小する変倍処理を行った場合の例について説明する。
【００１３】
図２２は、図２１に示すエリアＡとエリアＢにおいて、画素を削除するランダムな位置が特定された様子を表した図である。図２３は、図２２に示した位置で画素を削除した結果、つまり、画像サイズを縮小する変倍処理を行った結果を示した図である。図２３に示す網線で塗られた位置のマスは、縮小する変倍処理によって画素が削除された位置を示している。図２３では、変倍処理によりエリアＡ、エリアＢともに副走査方向に１ライン減算され、その結果、副走査エリア長が９画素から８画素となっている様子が見てとれる。
【００１４】
図２４は、図２３に示す画像を４ラインのバンド処理幅でバンド処理した場合の出力画像データ（走査１から走査５）と、変倍処理に必要なラインデータ及びラインバッファ数を表した図である。なお、画像形成装置の副走査方向の変倍率が十分小さく、画素の挿入又は削除の頻度がバンド処理幅より小さい場合を例に挙げて説明する。具体的には、例えばバンド処理幅が４ラインの場合であれば、画素の挿入又は削除が４ラインに１回未満の頻度で行われる変倍率である。
画素の挿入が４ラインに１回の頻度で行われる倍率は、４ライン分の画像データが５ライン分に変換されるため、５／４＝１．２５となる。つまり、変倍率は１２５［％］である。また、画素の削除が４ラインに１回の頻度で行われる倍率は、４ライン分の画像データが３ライン分に変換されるため、３／４＝０．７５となる。つまり、変倍率は７５［％］である。変倍率が７５［％］から１２５［％］の範囲にあるとして説明する。
なお、既知の画像形成装置において多く使用される変倍率は、９９［％］から１０１［％］の範囲である。また、バンド処理幅が異なる画像形成装置では、上記した倍率範囲が異なる場合がある。しかし、その場合においてもバンド処理幅は最大でも３２ライン程度であり、９９［％］から１０１［％］に対して、上記した７５［％］から１２５［％］は十分に大きな範囲となる。
【００１５】
図２４に示すように、走査１、走査２、走査４、走査５では、必要なラインバッファ数は５ライン（５ｌｉｎｅ）である。これとは異なり、走査３では、必要なラインバッファ数が６ライン（６ｌｉｎｅ）であることが見て取れる。走査１から走査５の中で、走査３のみ必要なラインバッファ数が１多くなる理由は、走査３がエリアＡとエリアＢに跨っており、このラインをバンド処理していることに起因する。通常は、一回の走査中に発生する画素の挿入又は削除の回数は、主走査位置毎に１回である。しかし、エリアを跨いだ走査では、エリアＡの処理に用いられる乱数値と、エリアＢの処理に用いられる乱数値の組み合わせによっては、画素の挿入又は削除が同じ主走査位置で２回発生する場合がある。例えば、図２４に示す走査３の主走査位置Ｐにおいては、画素の削除が２回発生している。また、エリアＡとエリアＢに跨るラインをバンド処理する場合には、エリアＡとエリアＢの両方の乱数値を生成し、生成した乱数値を保持しなければならない。
そのため、エリアを跨いだ走査の画像処理のためのラインバッファと、２つの乱数生成器を予め画像形成装置に備えておく必要がある。そのため、画像形成装置の製造コストが増加してしまう、という課題が残る。
【００１６】
本発明は、バンド処理で変倍処理を行う場合に必要なラインバッファと、乱数生成回路の数を削減することができる画像形成装置を提供することを、主たる目的とする。
【課題を解決するための手段】
【００１７】
本発明の画像形成装置は、受け付けた画像データを複数のエリアに分割する分割手段と、前記分割された各エリア毎に画素を挿入又は削除する位置を特定するための乱数値を生成する乱数生成手段と、前記画像データを主走査方向に走査する走査幅及び前記エリアの副走査方向の長さに応じて前記乱数生成手段が生成する乱数値の範囲を決定する決定手段と、前記決定された範囲内の乱数値で定めた位置へ画素を挿入し、又は、当該位置の画素を削除する画像処理を行う画像処理手段と、を有することを特徴とする。
【発明の効果】
【００１８】
本発明によれば、走査幅及びエリアの副走査方向の長さに応じて、生成される乱数値の範囲を決定する。この範囲内の乱数値を受け取り、受け取った当該乱数値で定めた位置へ画素を挿入し、又は、当該位置の画素を削除する画像処理を行う。これにより、画像処理に用いられる乱数値が決定された範囲内に制限される。そのため、変倍処理を行う場合に必要となるラインバッファと、乱数生成回路の数を削減することができる。また、画像形成装置の製造コストの低減を図ることができる。
【図面の簡単な説明】
【００１９】
【図１】画像形成装置の概略縦断面図。
【図２】露光制御部及び感光体の構成例を示す図。
【図３】画像処理部とその周辺の構成例を示すブロック図。
【図４】縮小又は拡大する処理の処理手順例を示すフローチャート。
【図５】図４に続く、フローチャート。
【図６】ステップＳ５１１からステップＳ５１５それぞれの処理の前後におけるラインバッファの格納データを模式的に示した図。
【図７】各走査目毎のカウンタｖａｃｎｔの変化の様子を表わした図。
【図８】乱数値を生成する処理の具体的な処理手順例を示すフローチャート。
【図９】（ａ）は、乱数発生器の動作原理を示す図。（ｂ）は、シフト後の乱数出力回路のシード値を示す図。
【図１０】画像出力処理の具体的な処理手順例を示すフローチャート。
【図１１】一回の走査がエリアＡとエリアＢを跨ぐ場合の、カウンタｖａｃｎｔの取り得る値を例示した図。
【図１２】縮小処理における、ラインバッファと出力画像の関係を説明するための図。
【図１３】本実施形態の縮小処理における一連のフローを整理して表した図。
【図１４】本実施形態の拡大処理における一連のフローを整理して表した図。
【図１５】入力画像のエリア分割を説明するための図。
【図１６】画素を挿入又は削除するランダムな位置の決定を説明するための図。
【図１７】（ａ）は、拡大前の入力画像を示す図。（ｂ）は、拡大後の画像を示す図。（ｃ）は、縮小前の入力画像を示す図。（ｄ）は、縮小後の画像を示す図。
【図１８】入力画像の一例を示す図。
【図１９】一例として、入力画像がバンド処理により４ライン毎に出力されることを説明するための図。
【図２０】変倍処理のために必要なラインバッファ数を説明するための図。
【図２１】エリアに分割された入力画像の一部を示した図。
【図２２】エリアＡとエリアＢにおいて、画素を削除するランダムな位置が特定された様子を表した図。
【図２３】図２２に示した位置の画素を削除した結果を表した図。
【図２４】バンド処理した場合の出力画像データと、必要なラインデータ及びラインバッファ数を表した図。
【発明を実施するための形態】
【００２０】
以下、図面を参照しながら実施形態例を説明する。
【００２１】
［実施形態例］
図１は、本実施形態に係る画像形成装置の概略縦断面図である。
この画像形成装置１１０は、原稿を所定の読取り部位まで給送する原稿給送部１１１、給送された原稿を読取る画像読取り部１１２、画像データに基づき作像する画像形成部１１３を含んで構成される。なお、画像形成装置１１０は、コピーモードとプリンタモードの２つのモードを有する。コピーモードは、画像読取り部１１２で読み取って得た画像信号（画像データ）を受け付け、受け付けた画像データを印刷するモードである。また、プリンタモードは、後述する外部ＰＣ４８から出力された画像信号（画像データ）を受け付け、受け付けた画像データを印刷するモードである。
以下、画像形成装置１１０の基本的な動作について、図１を参照しながら説明する。
【００２２】
コピーモードの場合、原稿給送部１１１の原稿給紙装置１に積載された原稿は、１枚ずつ、画像読取り部１１２の原稿台ガラス面２上まで給送される。原稿が給送されると、画像読取り部１１２のスキャナユニット４に備わるランプ３が点灯し、原稿表面に光を照射すると共に、スキャナユニット４が副走査方向へと移動する。原稿表面からの反射光は、スキャナユニット４に備わるミラー５、ミラー６、７を介して集光部８を通過し、その後、イメージセンサ９に入力される。イメージセンサ９は、反射光を画像信号（画像データ）へ変換し、変換した画像データを画像形成部１１３の露光制御部１０へ出力する。
また、プリンタモードの場合、外部ＰＣ４８から受け付けた画像データが露光制御部１０へと出力される。
【００２３】
露光制御部１０は、受け付けた画像データに応じて、露光制御部１０に搭載されたレーザ駆動装置を制御し、レーザ光を発生させる。レーザ光の照射により感光体１１上に作られた潜像は、電位センサ１００において、感光体１１上の電位が所望の値になっているかどうかが監視される。所望の値のときは、現像器１３により現像される。
感光体１１は、露光制御部１０の出力ライン毎に同期するように回転駆動され、簾状のライン走査を繰り返すことにより、画像を形成する。また、潜像タイミングにあわせて、転写部材積載部１４又は１５から転写部材が搬送され、転写部１６に於いて、上記現像されたトナー像が転写部材の表面に転写される。転写されたトナー像は、定着部１７で転写部材に定着された後、排出ローラ対１８より装置外部に排出される。
転写後の感光体１１の表面は、クリーナ２５により清掃される。清掃された感光体１１の表面は、補助帯電器２６で除電され、１次帯電器２８により良好な帯電を得られるように調整される。その上で、感光体１１上の残留電荷を露光ランプ２７により消去させて、１次帯電器２８により感光体１１の表面を帯電させる。画像形成装置１１０は、この工程を繰り返して複数枚の画像形成を行う。
【００２４】
転写部材の両面に画像を形成する場合は、転写部材の表面に画像が形成された後、定着部１７から搬送された転写部材の後端がシート検知部１９により検知されたときに、排出ローラ対１８の回転を停止する。排出通路２１に設けられたフラッパー２０は、通路を反転通路２２へ切り替える。その後、排出ローラ対１８が逆転して、転写部材を反転通路２２へ搬送する。転写部材は、反転通路２２から反転搬送路入口２３を経由して反転搬送路２４へ搬送される。転写部材は、反転搬送路２４から再び転写部１６へ搬送されて、前記した画像形成動作と同様にして、転写部材の裏面に画像が形成される。
【００２５】
図２は、露光制御部１０及び感光体１１の構成例を示す図である。露光制御部１０は、半導体レーザ４３と、レーザ駆動装置３１、絞り３２、回転多面鏡（以下、ポリゴンミラーという。）３３、ｆ−θレンズ３４、コリメータレンズ３５、ビームディテクトセンサ（以下、ＢＤセンサという。）３６を含んで構成される。露光制御部１０は、また、画像処理部５０を有する。露光制御部１０は、画像データに従ってパルス幅変調されたレーザ光を主走査方向に走査することにより、感光体１１の表面を露光する。
【００２６】
イメージセンサ９又は外部ＰＣ４８から受け付けた画像データは、画像処理部５０に入力される。画像処理部５０は、画像データに対して画像形成装置１１０の作像モードに応じたＰＷＭ（パルス幅変調）テーブル変換を行い、レーザ駆動信号としてレーザ駆動装置３１に出力する。レーザ駆動装置３１は、画像処理部５０からレーザ駆動信号を受信し、レーザ駆動信号に基づいて半導体レーザ４３を駆動する。
【００２７】
半導体レーザ４３の内部には、レーザ光の一部を検出するＰＤ（フォト・ダイオード）センサ（図示せず）が設けられている。画像処理部５０は、ＰＤセンサの検出信号を用いてレーザダイオードのオートパワーコントロール制御を行う。半導体レーザ４３から発せられたレーザ光は、コリメータレンズ３５及び絞り３２によりほぼ平行光となり、所定の光径でポリゴンミラー３３に入射する。ポリゴンミラー３３は、矢印Ｑで示す方向に等角速度の回転をするように、図示しない駆動装置により駆動される。この回転に伴い、入射したレーザ光は、連続的に角度が変位された偏向ビームとなって反射される。
【００２８】
偏向ビームは、ｆ−θレンズ３４により集光する。その際、ｆ−θレンズ３４は、偏向ビームの歪曲収差の補正を行う。そのため、偏向ビームは、像担持体としての感光体１１上に矢印Ｐの方向に向けて等速で結合走査される。
ＢＤセンサ３６は、ポリゴンミラー３３からの反射光を検出する。ＢＤセンサ３６が出力する検出信号は、主走査方向の画像形成位置を一定にするために、ポリゴンミラー３３の回転と画像データの書き込みを同期させるための同期信号（主走査同期信号）である。
【００２９】
上記プロセスにより、転写部材の表面に画像が形成される。画像が形成される際、転写されたトナー像を定着部１７で定着する際に加えられる熱により、転写部材が伸縮してしまう場合がある。転写部材の伸縮率は、転写部材の材質によってほぼ一定である。そのため、例えば印刷前に転写部材の種類をユーザが指定し、この指定に応じて画像処理部５０が伸縮率の逆数の変倍処理を行うことで対処することができる。また、転写部材の種類の指定は、例えば後述するコントロールパネル４９を介して行ったり、外部ＰＣ４８から行ったりすることができる。
【００３０】
図３は、画像処理部５０とその周辺の構成例を示すブロック図である。画像処理部５０は、ＣＰＵ（Central Processing Unit）５１、画像セレクタ５２、ラインバッファ５３、乱数バッファ５４を含んで構成される。画像処理部５０は、スキャナユニット４、イメージセンサ９、ＢＤセンサ３６、外部ＰＣ４８、コントロールパネル４９、レーザ駆動装置３１と接続される。
ＣＰＵ５１は、画像処理部５０及び画像形成装置１１０が有する各構成機器を制御する。画像セレクタ５２は、コピーモード又はプリンタモードに応じて、受け付ける画像データを選択する。具体的には、コピーモードの場合では、図３に示すようにイメージセンサ９から出力される画像データＣを選択するように動作する。また、プリンタモードの場合では、図３に示すように外部ＰＣ４８から出力される画像データＰを選択するように動作する。ラインバッファ５３は、所定のライン分だけ画像データを格納する。乱数バッファ５４は、ＣＰＵ５１が生成した１エリア分の乱数値を格納する。
【００３１】
外部ＰＣ４８は、ユーザからのプリント開始指示の受け付けを契機に、画像形成開始信号Ｐを出力する。外部ＰＣ４８は、また、ユーザが設定した倍率Ｐを出力する。この倍率Ｐは、例えば１０［％］縮小して印刷したり、１０［％］拡大して印刷したりする場合にユーザが設定する。外部ＰＣ４８は、ＣＰＵ５１からの画像データ要求信号Ｐの受け付けを契機に、１ライン分の画像データＰの出力を行う。
コントロールパネル４９は、ユーザからのコピー開始指示の受け付けを契機に、画像形成開始信号Ｃを出力する。コントロールパネル４９は、また、ユーザが設定した倍率Ｃを出力する。この倍率Ｃは、例えば１０［％］縮小して印刷したり、１０［％］拡大して印刷したりする場合にユーザが設定する。スキャナユニット４は、ＣＰＵ５１からの画像データ要求信号Ｃの受け付けを契機に、１ライン分の画像データをイメージセンサ９から出力するために副走査方向へ移動する。
【００３２】
スキャナユニット４の副走査方向の移動について、画像形成装置１１０の解像度が６００［ｄｐｉ］である場合を例に挙げて説明する。解像度６００［ｄｐｉ］の場合の１ラインの長さは、２５．４［ｍｍ］／６００［ｄｐｉ］により求められる。この場合の１ラインの長さは０．０４２３３［ｍｍ］である。スキャナユニット４が副走査方向へ０．０４２３３［ｍｍ］移動すれば、解像度６００［ｄｐｉ］の場合における１ライン相当分を移動したことになる。イメージセンサ９は、移動後のスキャン位置でスキャンした結果を画像信号に変換する。変換された画像信号は、画像データＣとして出力される。
なお、画像データ要求信号Ｃ及び、画像データ要求信号Ｐは、１ページ分の作像動作中に複数回発生する。例えば、副走査が２１０［ｍｍ］のページ全体を作像する場合は、２１０［ｍｍ］／０．０４２３３［ｍｍ］≒４９６０［回］の要求信号が発生する。発生タイミングについては後述する。
【００３３】
図４及び図５は、画像サイズを縮小又は拡大する処理の処理手順例を示すフローチャートである。初めに、プリンタモード時における縮小処理について説明する。
画像形成装置１１０、外部ＰＣ４８から画像形成開始信号Ｐの受信及び画像データＰの受け付けを契機に、作像を開始する。なお、画像データＰとして受け付けた入力画像は、主走査方向及び副走査方向に配列された画素の集合である。主走査方向の長さを表す主走査方向入力画像サイズｉｎ_ｘが１４画素、副走査方向の長さを表す副走査方向入力画像サイズｉｎ_ｙが２０画素である場合を例に挙げて説明する。また、バンド処理幅ｄを４画素(４ライン)、倍率ｐを９０．９０９０・・・［%］、ラインバッファ５３のライン数Ｌを５（ｄ＋１＝４＋１＝５）とする。ラインバッファ５３の各ラインをそれぞれ、ラインバッファＬ０、Ｌ１、Ｌ２、Ｌ３、Ｌ４とする。
【００３４】
ＣＰＵ５１は、入力画像の画像サイズ（走査方向入力画像サイズｉｎ_ｘの値及び副走査方向入力画像サイズｉｎ_ｙの値）を取得する（Ｓ５０１）。具体的には、主走査方向の画素列が１４画素、副走査方向の画素列が２０画素である。
ＣＰＵ５１は、外部ＰＣ４８から倍率情報（倍率ｐの値）を取得する（Ｓ５０２）。具体的には、９０．９０９０・・・［%］である。
ＣＰＵ５１は、入力画像を副走査方向に分割し、分割された各エリア毎の副走査長ａｙの画素数を演算する（Ｓ５０３）。縮小処理の場合は、各エリア内で副走査方向の画素列から１画素削除されることから、下記の式１で求めることができる。
【００３５】
ａｙ−１／ａｙ ＝ ｐ／１００・・・（式１）
また、式１を整理すると下記の式２のようになる。
【００３６】
ａｙ＝１００／（１００−ｐ）・・・（式２）
縮小処理における副走査長ａｙは、ａｙ ＝ １００／（１００−９０.９０９０…）＝１１［画素］となる。つまり、１１ラインに１回の頻度で画素の削除が行われる。
【００３７】
ＣＰＵ５１は、副走査カウンタｖｃｎｔ及びカウンタｖａｃｎｔそれぞれを初期化する（Ｓ５０４）。副走査カウンタｖｃｎｔは、出力画像の総出力ライン数をカウントするためのものである。ステップＳ５０４の処理により、副走査カウンタｖｃｎｔの値は０（ゼロ。以下同じ。）に初期化される。カウンタｖａｃｎｔは、各エリア毎における出力ライン数をカウントするためのものである。縮小処理の場合のカウンタｖａｃｎｔの最大値ｖａｃｎｔ（ｍａｘ）は、ｖａｃｎｔ（ｍａｘ）＝ａｙ−１−１で表される。これは、カウンタｖａｃｎｔは「０」からカウントが開始されることに対する「−１」と、当初１１画素であった副走査長ａｙが１０画素となり、１画素早くエリアが終了することに対する「−１」を反映している。なお、拡大処理におけるカウンタｖａｃｎｔの最大値ｖａｃｎｔ（ｍａｘ）は、ｖａｃｎｔ（ｍａｘ）＝ａｙ−１＋１となる。詳細は後述する。
【００３８】
また、バンド処理幅ｄが４ラインであることから、一回の走査毎にカウンタｖａｃｎｔの値に４が加算（＋４）される。ただし、加算した結果、最大値ｖａｃｎｔ（ｍａｘ）の値を超えた場合は、その超えた分について０からカウントし直す。
ここでは、バンド処理により出力された画像データにおいて、カウンタｖａｃｎｔの１ライン目をカウンタｖａｃｎｔ（０）、２ライン目をカウンタｖａｃｎｔ（１）、３ライン目をカウンタｖａｃｎｔ（２）、４ライン目をカウンタｖａｃｎｔ（３）とする。カウンタｖａｃｎｔを初期化すると、カウンタｖａｃｎｔ（０）＝０、カウンタｖａｃｎｔ（１）＝１、カウンタｖａｃｎｔ（２）＝２、カウンタｖａｃｎｔ（３）＝３となる。
【００３９】
ＣＰＵ５１は、ラインバッファ５３を初期化する（Ｓ５０５）。具体的には、ラインバッファＬ０、Ｌ１、Ｌ２、Ｌ３、Ｌ４の全てのバッファに対して、データ０で上書きを行う。
ＣＰＵ５１は、ＢＤセンサ３６から主走査同期信号を受け付けたか否かを判別する（Ｓ５０６）。主走査同期信号の受け付けを契機に（Ｓ５０６：ｙｅｓ）、ＣＰＵ５１はエリア更新、つまり、新しいエリアで処理が開始されるか否かを判別する（Ｓ５０７）。具体的には、カウントｖａｃｎｔ（０）からカウントｖａｃｎｔ（３）までのいずれかの値が０であれば、エリア更新したと判別する。エリア更新したと判別した場合（Ｓ５０７：ｙｅｓ）、ステップＳ５０８の処理へ進む。また、そうでない場合（Ｓ５０７：ｎｏ）、ステップＳ５１５の処理へ進む。
【００４０】
ＣＰＵ５１は、画像の出力が１走査目（一回目の走査）であるか否かを判別する（Ｓ５０８）。具体的には、副走査カウンタｖｃｎｔの値が０であれば、１走査目であると判別する。１走査目であると判別した場合（Ｓ５０８：ｙｅｓ）、Ｓ５１０の処理へ進む。また、そうでない場合（Ｓ５０８：ｎｏ）、Ｓ５０９の処理へ進む。
ＣＰＵ５１は、倍率ｐの値に基づいて、縮小処理又は拡大処理のいずれの処理であるかを判別する（Ｓ５０９）。縮小処理であると判別した場合（Ｓ５０９：ｙｅｓ）、Ｓ５１１の処理へ進む。また、そうでない場合（Ｓ５０９：ｎｏ）、Ｓ５１２の処理へ進む。
ＣＰＵ５１は、倍率ｐの値に基づいて、縮小処理又は拡大処理のいずれの処理であるかを判別する（Ｓ５１０）。縮小処理であると判別した場合（Ｓ５１０：ｙｅｓ）、Ｓ５１３の処理へ進む。また、そうでない場合（Ｓ５１０：ｎｏ）、ステップＳ５１４の処理へ進む。
【００４１】
ＣＰＵ５１は、ラインバッファ５３の更新を行う（Ｓ５１１）。具体的には、ＣＰＵ５１は、外部ＰＣ４８に対して画像データ要求信号Ｐを５回出力する。そして、画像データ要求信号Ｐに応答して外部ＰＣ４８から出力された５ライン分の画像データを、ラインバッファＬ０、Ｌ１、Ｌ２、Ｌ３、Ｌ４の順番で格納する。
ＣＰＵ５１は、ラインバッファ５３の更新を行う（Ｓ５１２）。具体的には、ＣＰＵ５１は、ラインバッファＬ３に格納されている画像データをコピーし、コピーした画像データをラインバッファＬ０に格納する。また、ラインバッファＬ４に格納されている画像データをコピーし、コピーした画像データをラインバッファＬ１に格納する。そして、外部ＰＣ４８に対して画像データ要求Ｐ信号を３回出力する。ＣＰＵ５１は、画像データ要求信号Ｐに応答して外部ＰＣ４８から出力された３ライン分の画像データを、ラインバッファＬ２、Ｌ３、Ｌ４の順番で格納させる。
【００４２】
ＣＰＵ５１は、ラインバッファ５３の準備を行う（Ｓ５１３）。ステップＳ５１３の処理は、一回目の走査における縮小処理を行うため、ラインバッファ５３に画像データを格納する処理である。具体的には、ＣＰＵ５１は、外部ＰＣ４８に対して画像データ要求Ｐ信号を５回出力する。そして、画像データ要求信号Ｐに応答して外部ＰＣ４８から出力された５ライン分の画像データを、ラインバッファＬ０、Ｌ１、Ｌ２、Ｌ３、Ｌ４の順番で格納する。
ＣＰＵ５１は、ラインバッファの準備を行う（Ｓ５１４）。ステップＳ５１４の処理は、一回目の走査における拡大処理を行うため、ラインバッファ５３に画像データを格納する処理である。具体的には、ＣＰＵ５１は、ラインバッファＬ０に格納されている画像データをデータ０で上書きを行い、全てのデータをクリアする。ＣＰＵ５１は、外部ＰＣ４８に対して画像データ要求Ｐ信号を４回出力する。そして、画像データ要求信号Ｐに応答して外部ＰＣ４８から出力された４ライン分のデータを、ラインバッファＬ１、Ｌ２、Ｌ３、Ｌ４の順番で格納する。
【００４３】
ＣＰＵ５１は、ラインバッファ５３の更新を行う（Ｓ５１５）。ＣＰＵ５１は、まずラインバッファＬ４に格納されている画像データをコピーし、コピーした画像データをラインバッファＬ０に格納する。ＣＰＵ５１は、外部ＰＣ４８に対して画像データ要求Ｐ信号を４回出力する。そして、画像データ要求信号Ｐに応答して外部ＰＣ４８から出力された４ライン分の画像データを、ラインバッファＬ１、Ｌ２、Ｌ３、Ｌ４の順番で格納する。
【００４４】
ここで、ステップＳ５１１からステップＳ５１５それぞれの処理の前後における、ラインバッファＬ０、Ｌ１、Ｌ２、Ｌ３、Ｌそれぞれに格納されている画像データについて説明する。図６は、ステップＳ５１１からステップＳ５１５それぞれの処理の前後の、ラインバッファＬ０、Ｌ１、Ｌ２、Ｌ３、Ｌ４それぞれの格納データを模式的に表した図である。図６では、各ステップの処理前を「更新・準備前」とし、処理後を「更新・準備後」として示している。例えば、図６中に示す「ｌｉｎｅ１」は、入力画像の先頭ラインの画像データである。また、図６中に示す「Ｎ」は、１以上の任意の整数である。図６中に示す「０（データ０）」は、入力画像とは無関係に、全てのデータが０であることを示している。なお、図６中の網線で囲まれているラインは、処理の前後で共通して使用される画像データである。例えば、ステップＳ５１２の処理にでは、「ｌｉｎｅＮ＋３」と「ｌｉｎｅＮ＋４」である。
【００４５】
図５に戻り、ＣＰＵ５１は、一回の走査における全ての主走査位置に対する乱数ｒｎｄを生成する（Ｓ５１６）。本実施形態の画像形成装置１１０では、生成する乱数値ｒｎｄの最大値と最小値から定まる範囲の幅が、「０」から「カウンタｖａｃｎｔの最大値ｖａｃｎｔ（ｍａｘ）−バンド処理幅ｄ＋１」の範囲となるように制限される。例えば、最大値ｖａｃｎｔ（ｍａｘ）の値が９、バンド処理幅ｄの値が４であれば、ＣＰＵ５１は、ランダムな位置を特定するために使用する乱数値ｒｎｄを、「０」から「６」の範囲に制限する。乱数値ｒｎｄの範囲の詳細については、後述するステップＳ７０２（図１０）の処理の説明の際に説明する。また、具体的な乱数発生手順については、後述するステップＳ６００からステップＳ６０７（図８）の処理において説明する。
【００４６】
ステップＳ５１７からステップＳ５２４の各処理は、一回の走査における画像処理である。
ＣＰＵ５１は、主走査位置ｘを０に初期化する（Ｓ５１７）。ＣＰＵ５１は、主走査位置ｘに対応する乱数値ｒｎｄを、乱数バッファ５４から取得する（Ｓ５１８）。
ＣＰＵ５１は、取得した乱数値ｒｎｄと、カウンタｖａｃｎｔ（０）からｖａｃｎｔ（３）の各値、倍率ｐの値に基づいて、変倍処理を行う（Ｓ５１９）。具体的な変倍処理順については、後述するステップＳ７００からステップＳ７１４（図１０）の各処理において説明する。
ＣＰＵ５１は、主走査位置ｘを更新する（Ｓ５２０）。具体的には、主走査位置ｘの値に１を加算（＋１）する。
ＣＰＵ５１は、主走査位置ｘの値と、入力画像の主走査方向入力画像サイズｉｎ_ｘの値とを比較して、全ての主走査位置で画像処理が行われたか否かを判別する（Ｓ５２１）。具体的には、「ｘ≧ｉｎ_ｘ−１」が満たされたとき、全ての主走査位置で画像処理が行われたと判別する。全ての主走査位置で画像処理が行われたと判別した場合（Ｓ５２１：ｙｅｓ）、ステップＳ５２２の処理へ進む。また、そうでない場合（Ｓ５２１：ｎｏ）、ステップＳ５１８の処理へ戻る。
【００４７】
ＣＰＵ５１は、カウンタｖａｃｎｔを更新する（Ｓ５２２）。具体的には、カウンタｖａｃｎｔ（０）からカウンタｖａｃｎｔ（３）それぞれの値に４を加算（＋４）する。ただし、前述した通り、縮小処理時のカウンタｖａｃｎｔの最大値ｖａｃｎｔ（ｍａｘ）は、ｖａｃｎｔ（ｍａｘ）＝ａｙ−１−１である。そのため、最大値を超えた場合は、その超えた分を０からカウントし直す。
【００４８】
一例として、ａｙ＝１１、ｖａｃｎｔ（ｍａｘ）＝９、ｖａｃｎｔ（０）＝５、ｖａｃｎｔ（１）＝６、ｖａｃｎｔ（２）＝７、ｖａｃｎｔ（３）＝８である場合の更新について説明する。この場合に、カウンタｖａｃｎｔ（０）からカウンタｖａｃｎｔ（３）を更新すると、以下に示す（ａ）から（ｄ）のようになる。
【００４９】
（ａ）ｖａｃｎｔ（０）＝５＋４＝９
（ｂ）ｖａｃｎｔ（１）＝６＋４＝１０、よって、ｖａｃｎｔ（１）＝０
（ｃ）ｖａｃｎｔ（２）＝７＋４＝１１、よって、ｖａｃｎｔ（２）＝１
（ｄ）ｖａｃｎｔ（３）＝８＋４＝１２、よって、ｖａｃｎｔ（３）＝２
各走査目毎のカウンタｖａｃｎｔ（０）からカウンタｖａｃｎｔ（３）それぞれの値を図７に示す。図７に示すように、例えばカウンタｖａｃｎｔ（０）の値は、５走査目においては６、６走査目においては０となっている。
【００５０】
ＣＰＵ５１は、副走査カウンタｖｃｎｔを更新する（Ｓ５２３）。具体的には、副走査カウンタｖｃｎｔの値に４を加算（＋４）する。
ＣＰＵ５１は、画像出力が全て終了したか否かを判別する（Ｓ５２４）。出力画像の総ライン数は、副走査方向入力画像サイズｉｎ_ｙの値に倍率ｐの値を乗算したものである。具体的には、「ｖｃｎｔ≧［ｉｎ_ｙ×ｐ］（[ ]は、中の値を超える最小の整数を表わす記号である。）」が満たされた場合、画像出力が全て終了したと判別する。画像出力が全て終了したと判別した場合（Ｓ５２４：ｙｅｓ）、一連の作像を終了する。また、そうでない場合（Ｓ５２４：ｎｏ）、ステップＳ５０６の処理へ戻り、次走査の画像処理を行う。なお、副走査方向入力画像サイズｉｎ_ｙは１からカウントが開始され、副走査カウンタｖｃｎｔは０からカウントが開始される。
【００５１】
ここで、ステップＳ５１６の処理について具体的に説明する。図８は、ステップＳ５１６の処理（乱数値ｒｎｄを生成する処理）の具体的な処理手順例を示すフローチャートである。
ＣＰＵ５１は、主走査カウンタｘｘを初期化（ｘｘ=０）する（Ｓ６０１）。ＣＰＵ５１は、乱数を１つ生成する（Ｓ６０２）。
ここで、乱数値について詳しく説明する。本実施形態では、乱数出力回路の一例として、原始多項式を利用した疑似乱数生成法を使用して乱数値を生成し、生成した乱数値を出力するものについて説明する。図９（ａ）、（ｂ）は、１６次の原始多項式を回路化した乱数出力回路を模式的に示した図である。
乱数出力回路は、１６個の２値データの記録素子を縦列接続するとともに、いずれかの記録素子間に３つの論理演算回路を介在させて構成される。複数個の記録素子を、それぞれｂｉｔ（ビット）１５からｂｉｔ０（図９（ａ）中では、１５、１４・・・と示している）と定義する。また、ｂｉｔ１４とｂｉｔ１３、ｂｉｔ１３とｂｉｔ１２、ｂｉｔ１１とｂｉｔ１０の間には、それぞれ論理演算回路の一例であるＥＸＯＲゲートが介在する。シード値は、乱数値の種となるもので、乱数出力回路の各ｂｉｔの２値データの集合として定義される。
【００５２】
図９（ａ）において、乱数出力回路のシード値は「１１１１０１１０１１００１００１」である。ここで、２＾ｎが乱数値の最大値を超える最小の指数ｎを求める。本実施形態においては、乱数値の最大値が６であることから、ｎ＝３となる。この指数ｎの値は、図１９に示される乱数出力回路から、何ｂｉｔ分のデータを取得すれば良いかに対応する。本実施形態においては、ｂｉｔ２からｂｉｔ０までの計３ｂｉｔを取得する。
【００５３】
例えば、生成される乱数値は、このシード値のｂｉｔ２からｂｉｔ０の出力で決定される。図９（ａ）において、ｂｉｔ２からｂｉｔ０の値を順に並べると、「００１」となる。これを１０進数化することにより、乱数値「１」が生成される。乱数値を再度生成したい場合は、記録素子が保持する２値データをそれぞれ所定方向に隣接する他の記録素子に移行させ、これにより変化したシード値に基づいて次の乱数値を生成する。具体的は、乱数出力回路のシード値を右側にシフトさせる。乱数出力回路のシード値を右側にシフトさせて、乱数値を再度生成するときの具体的な手順は以下の通りである。
【００５４】
（ａ）ｂｉｔ０の値を一時変数ｔｅｍｐ（図示省略）に保存する。
（ｂ）ｂｉｔ０の値にｂｉｔ１の値を代入する。
（ｃ）ｂｉｔ１の値にｂｉｔ２の値を代入する。
（ｄ）ｂｉｔ２の値にｂｉｔ３の値を代入する。
（ｅ）ｂｉｔ３の値にｂｉｔ４の値を代入する。
（ｆ）ｂｉｔ４の値にｂｉｔ５の値を代入する。
（ｇ）ｂｉｔ５の値にｂｉｔ６の値を代入する。
（ｈ）ｂｉｔ６の値にｂｉｔ７の値を代入する。
（ｉ）ｂｉｔ７の値にｂｉｔ８の値を代入する。
（ｊ）ｂｉｔ８の値にｂｉｔ９の値を代入する。
（ｋ）ｂｉｔ９の値にｂｉｔ１０の値を代入する。
（ｌ）ｂｉｔ１０の値に一時変数ｔｅｍｐとｂｉｔ１１のＥＸＯＲ値を代入する。
（ｍ）ｂｉｔ１１の値にｂｉｔ１２の値を代入する。
（ｎ）ｂｉｔ１２の値に一時変数ｔｅｍｐとｂｉｔ１３のＥＸＯＲ値を代入する。
（ｏ）ｂｉｔ１３の値に一時変数ｔｅｍｐとｂｉｔ１４のＥＸＯＲ値を代入する。
（ｐ）ｂｉｔ１４の値にｂｉｔ１５の値を代入する。
（ｑ）ｂｉｔ１５の値に一時変数ｔｅｍｐの値を代入する。
このように、（ａ）から（ｑ）まで処理されて、次の乱数値が生成される。
【００５５】
図９（ｂ）は、シフト後の乱数出力回路のシード値を示す図である。ここで、先ほどと同様に、このシード値のｂｉｔ２からｂｉｔ０の出力で決定されるとする。図９（ｂ）において、ｂｉｔ２からｂｉｔ０の値を順に並べると、「１００」となる。これを１０進数化することにより、乱数値「４」が生成される。
【００５６】
図８に戻り、ＣＰＵ５１は、ステップＳ６０２の処理で生成された乱数値ｒｎｄが、決定された範囲を満たすものであるか否かを判別する（Ｓ６０３）。本実施形態においては、生成された乱数値ｒｎｄが「０」から「６」の範囲内であるか否かが判別される。範囲外であった場合（Ｓ６０３：ｎｏ）、ＣＰＵ５１は、乱数出力回路のシード値をシフトさせる（Ｓ６０４）。その後、改めて乱数値ｒｎｄを生成させる。また、そうでない場合（Ｓ６０３：ｙｅｓ）、つまり、生成された乱数値ｒｎｄが「６」以下であれば、ＣＰＵ５１は、この乱数値ｒｎｄを乱数バッファ５４に格納する（Ｓ６０５）。
ＣＰＵ５１は、主走査カウンタｘｘを１進める（Ｓ６０６）。具体的には、主走査カウンタｘｘの値を、ｘｘ＝ｘｘ＋１にする。
ＣＰＵ５１は、全ての主走査位置に対応する乱数値の生成が終了したか否かを判別する（Ｓ６０７）。なお、主走査方向入力画像サイズｉｎ_ｘは１からカウントが開始され、主走査カウンタｘｘは０からカウントが開始される。「主走査位置ｘｘ≧ 主走査方向入力画像サイズｉｎ_ｘ−１」となったときに、全ての主走査位置に対応する乱数値の生成が終了したと判別する。生成が終了したと判別した場合（Ｓ６０７：ｙｅｓ）、ステップＳ６０８の処理へ進む。また、そうでない場合（Ｓ６０７：ｎｏ）、Ｓ６０２の処理へ戻る。
このように、ステップＳ６０１からステップＳ６０７の各処理により、各主走査位置に対応した乱数値ｒｎｄの全てが、乱数バッファ５４に格納される。
【００５７】
図５に示すステップＳ５１９の処理について具体的に説明する。図１０は、ステップＳ５１９の処理（画像出力処理）の具体的な処理手順例を示すフローチャートである。図１０に示す処理は、カウンタｖａｃｎｔ（０）、カウンタ ｖａｃｎｔ（１）、カウンタ ｖａｃｎｔ（２）、カウンタｖａｃｎｔ（３）それぞれに対して行われる。つまり、カウンタｖａｃｎｔ（０）を用いた処理は、出力画像の１ライン目のデータを決定し、カウンタｖａｃｎｔ（１）を用いた処理は、出力画像の２ライン目のデータを決定する。また、カウンタｖａｃｎｔ（２）を用いた処理は３ライン目、カウンタｖａｃｎｔ（３）を用いた処理は４ライン目のデータを決定する。ここでは、代表してカウンタｖａｃｎｔ（０）を例に挙げて説明する。なお、カウンタｖａｃｎｔ（１）、カウンタｖａｃｎｔ（２）、カウンタｖａｃｎｔ（３）に対しても同様に処理される。
【００５８】
ＣＰＵ５１は、倍率ｐの値に基づいて、縮小処理又は拡大処理のいずれの処理であるかを判別する（Ｓ７０１）。縮小処理であると判別した場合（Ｓ７０１：ｙｅｓ）、ステップＳ７０２の処理へ進む。また、そうでない場合（Ｓ７０１：ｎｏ）、ステップＳ７０８の処理へ進む。ここでは、縮小処理であることから（Ｓ７０１：ｙｅｓ）、ステップＳ７０２の処理へ進む。
なお、ステップＳ７０８からステップＳ７１３の各処理は、後述する拡大処理の処理手順である。
【００５９】
ＣＰＵ５１は、カウンタｖａｃｎｔ（０）と、エリアの副走査長ａｙ、バンド処理幅ｄを比較する（Ｓ７０２）。具体的には、「ｖａｃｎｔ（０）≦ｖａｃｎｔ（ｍａｘ）−ｄ＋１」を満たす場合（Ｓ７０２：ｙｅｓ）、ステップＳ７０３の処理へ進む。また、そうでない場合（Ｓ７０２：ｎｏ）、Ｓ７０７の処理へ進む。
ここで、ステップＳ７０２の処理における比較式「ｖａｃｎｔ（０）≦ｖａｃｎｔ（ｍａｘ）−ｄ＋１」の「ｖａｃｎｔ（ｍａｘ）−ｄ＋１」について説明する。エリアの境界線近くをバンド処理する場合には、２つのエリアに跨って処理が行われる場合がある。例えば、一回の走査において、１ライン目と２ライン目のエリア（一例として、エリアＡ。）と、３ライン目と４ライン目のエリア（一例として、エリアＢ。）が異なる場合である。
【００６０】
図１１は、一回の走査がエリアＡとエリアＢを跨いで行われる場合の、カウンタｖａｃｎｔ（０）からカウンタｖａｃｎｔ（３）の取り得る値を例示した図である。バンド処理幅ｄは４ラインであるため、図１１中に示す（ａ）から（ｅ）のパターンでは、以下のような値をとる。
【００６１】
（ａ）：ｖａｃｎｔ（０）＝０、ｖａｃｎｔ（１）＝１、ｖａｃｎｔ（２）＝２、ｖａｃｎｔ（３）＝３
（ｂ）：ｖａｃｎｔ（０）＝９、ｖａｃｎｔ（１）＝０、ｖａｃｎｔ（２）＝１、ｖａｃｎｔ（３）＝２
（ｃ）：ｖａｃｎｔ（０）＝８、ｖａｃｎｔ（１）＝９、ｖａｃｎｔ（２）＝０、ｖａｃｎｔ（３）＝１
（ｄ）：ｖａｃｎｔ（０）＝７、ｖａｃｎｔ（１）＝８、ｖａｃｎｔ（２）＝９、ｖａｃｎｔ（３）＝０
（ｅ）：ｖａｃｎｔ（０）＝６、ｖａｃｎｔ（１）＝７、ｖａｃｎｔ（２）＝８、ｖａｃｎｔ（３）＝９
【００６２】
図１１中の（ｂ）、（ｃ）、（ｄ）それぞれの状態が、エリアＡとエリアＢを跨いで処理が行われるパターンである。この場合のカウンタｖａｃｎｔの値は、縮小処理時のカウンタｖａｃｎｔの最大値ｖａｃｎｔ（ｍａｘ）とバンド処理幅ｄを変数として考えると、「ｖａｃｎｔ（ｍａｘ）−ｄ＋２≦ｖａｃｎｔ≦ｖａｃｎｔ（ｍａｘ）」である。
既知の画像形成装置に採用されている構成では、エリア内の全ての副走査位置が画素の挿入又は削除の対象となり得る。この場合、乱数値ｒｎｄを「０≦ｒｎｄ≦ａｙ−１」の範囲で生成し、一回の走査で２つのエリアに跨って処理する際には、エリアＡ、Ｂの双方について、カウンタｖａｃｎｔと乱数値ｒｎｄとの比較が必要となる。つまり、乱数値を２つエリア分保持する必要が生じる。さらに、２つのエリアに跨って処理を行う場合、画素の削除が同じ主走査位置で２回の行われる場合がある。この場合の例について、図１２を用いて説明する。
【００６３】
図１２は、一例として主走査位置ｘがｘ＝５、エリアＡの乱数値を８、エリアＢの乱数値を１とした場合の縮小処理における、ラインバッファと出力画像の関係を説明するための図である。図１２では、エリアＡの乱数値ｒｎｄ（Ａ）が「８」、エリアＢの乱数値ｒｎｄ（Ｂ）が「１」であるため、同一主走査上にある削除対象１（ｌｉｎｅｂｕｆ１（Ａ））、削除対象２（ｌｉｎｅｂｕｆ４（Ｄ））の２つの画素が削除される。出力画像においては、その分だけ副走査方向にシフトされることになり、図１２に示すように、ｌｉｎｅ１（Ｂ）、ｌｉｎｅ２（Ｃ）、ｌｉｎｅ３（Ｅ）、ｌｉｎｅ４（Ｆ）となる。つまり、この場合の縮小処理では、ラインバッファ５３のライン数Ｌは、バンド処理幅ｄ＋２ライン分を必要とする。
【００６４】
本実施形態の画像形成装置１１０では、乱数値ｒｎｄの範囲を制限することにより、例えばエリアＡとエリアＢを跨ぐ走査より前の走査において、エリアＡ側の処理において挿入又は削除の対象となる画素が必ず存在するように制御される。その結果、エリアＡとエリアＢを跨ぐ走査においては、エリアＡに対する乱数値ｒｎｄは必要がなくなり、エリアＢに対する乱数値ｒｎｄのみを必要とする。また、一回の走査において、画素の削除が同じ主走査位置で２回以上行われることがなくなる。そのため、ラインバッファ５３のライン数Ｌは、バンド処理幅ｄ＋１ライン分で良いことになる。
乱数値ｒｎｄの範囲は、図１１から「０≦ｒｎｄ≦ｖａｃｎｔ（ｍａｘ）−ｄ＋１」であることが見て取れる。この条件を満たすことにより、ステップＳ７０２の処理では、「ｖａｃｎｔ（０）≦＝ ｖａｃｎｔ（ｍａｘ）−ｄ＋１」を満たさない場合、エリアＡの乱数値を参照する必要がないことから、ステップＳ７０７の処理へ進むことができる。
【００６５】
図１０に戻り、ＣＰＵ５１は、ステップＳ５１８（図５）の処理で取得した、主走査位置ｘに対応する乱数値ｒｎｄの値と、カウンタｖａｃｎｔ（０）の値とを比較する（Ｓ７０３）。比較した結果、「ｒｎｄ≦ｖａｃｎｔ（０）」である場合（Ｓ７０３：ｙｅｓ）、ステップＳ７０４の処理へ進む。また、そうでない場合（Ｓ７０３：ｎｏ）、ステップＳ７０７の処理へ進む。
ＣＰＵ５１は、ステップＳ５１８（図５）の処理で取得した、主走査位置ｘに対応する乱数値ｒｎｄの値と、カウンタｖａｃｎｔ（０）の値とを比較する（Ｓ７０４）。比較の結果、「ｒｎｄ＝ｖａｃｎｔ（０）」である場合（Ｓ７０４：ｙｅｓ）、ステップＳ７０５の処理へ進む。また、そうでない場合（Ｓ７０４：ｎｏ）、ステップＳ７０６の処理へ進む。
【００６６】
ＣＰＵ５１は、縮小処理（変倍出力処理）を行う（Ｓ７０５）。具体的には、カウンタｖａｃｎｔ（０）に関する処理では、ラインバッファＬ１から主走査位置ｘに対応するデータを取得し、これを出力する。また、カウンタｖａｃｎｔ（１）に関する処理では、ラインバッファＬ２から主走査位置ｘに対応するデータを取得し、これを出力する。カウンタｖａｃｎｔ（２）に関する処理では、ラインバッファＬ３から主走査位置ｘに対応するデータを取得し、これを出力する。カウンタｖａｃｎｔ（３）に関する処理では、ラインバッファＬ４から主走査位置ｘに対応するデータを取得し、これを出力する。これらの処理により、エリア内において乱数値ｒｎｄで特定された位置で１画素削除したことになる。
【００６７】
ＣＰＵ５１は、乱数前出力処理を行う（Ｓ７０６）。この場合の乱数前出力処理は、縮小処理において、変倍処理を行わない通常の画像出力処理である。具体的には、カウンタｖａｃｎｔ（０）に関する処理では、ラインバッファＬ０から主走査位置ｘに相当するデータを取得し、これを出力する。また、カウンタｖａｃｎｔ（１）に関する処理では、ラインバッファＬ１から主走査位置ｘに相当するデータを取得し、これを出力する。カウンタｖａｃｎｔ（２）に関する処理では、ラインバッファＬ２から主走査位置ｘに相当するデータを取得し、これを出力する。カウンタｖａｃｎｔ（３）に関する処理では、ラインバッファＬ３から主走査位置ｘに相当するデータを取得し、これを出力する。
【００６８】
ＣＰＵ５１は、乱数後出力処理を行う（Ｓ７０７）。この場合の乱数後出力処理は、エリア内のカウントｖａｃｎｔ（０）からカウントｖａｃｎｔ（３）より前のラインで縮小処理が既に行われたことに対する、１画素早く出力するための処理である。具体的には、カウンタｖａｃｎｔ（０）に関する処理では、ラインバッファＬ１から主走査位置ｘに相当するデータを取得し、これを出力する。また、カウンタｖａｃｎｔ（１）に関する処理では、ラインバッファＬ２から主走査位置ｘに相当するデータを取得し、これを出力する。カウンタｖａｃｎｔ（２）に関する処理では、ラインバッファＬ３から主走査位置ｘに相当するデータを取得し、これを出力する。カウンタｖａｃｎｔ（３）に関する処理では、ラインバッファＬ４から主走査位置ｘに相当するデータを取得し、これを出力する。
【００６９】
図１３は、本実施形態の縮小処理における一連のフローを整理して表した図である。図１３では、入力画像、ラインバッファＬ０、Ｌ１、Ｌ２、Ｌ３、Ｌ４それぞれに格納される画像データ、乱数値（Ａ、Ｂ）を模式的に表している。図１３は、さらに、出力画像データ、カウンタｖａｃｎｔ（０）からｖａｃｎｔ（３）の値を示した上で、各走査毎（走査１から走査５）に整理したものである。
【００７０】
次に、プリンタモード時における画像の拡大処理について説明する。基本的な処理手順は縮小処理の場合に準じて行われる。以下、縮小処理の場合の処理手順とは異なる点を中心に説明する。
なお、主走査方向入力画像サイズｉｎ_ｘを１４画素、副走査方向入力画像サイズｉｎ_ｙを２０画素、バンド処理幅ｄを４画素（４ライン）、倍率ｐを１１１．１１１１１１・・・［％］である場合を例に挙げて説明する。また、ラインバッファ５３のライン数Ｌを５（ｄ＋１＝４＋１＝５）とし、それぞれをラインバッファＬ０、Ｌ１、Ｌ２、Ｌ３、Ｌ４とする。
【００７１】
ステップＳ５０２（図４）の処理において、ＣＰＵ５１は、外部ＰＣ４８から倍率情報（倍率ｐの値）を取得する。具体的には、１１１．１１１１１１・・・［％］である。
ステップＳ５０３（図４）の処理において、ＣＰＵ５１は、入力画像を副走査方向に分割し、分割された各エリアの副走査長ａｙの画素数を演算する。拡大処理の場合は、各エリア内で副走査方向の画素列に１画素挿入されることから、下記の式３で求めることができる。
【００７２】
ａｙ＋１／ａｙ＝ｐ／１００・・・（式３）
また、式３を整理すると式４のようになる。
【００７３】
ａｙ＝１００／（ｐ−１００）・・・（式４）
拡大処理における副走査長ａｙは、ａｙ＝１００／（１１１．１１１１１１・・・−１００）＝９［画素］となる。つまり、９ラインに１回の頻度で画素の挿入が行われる。
【００７４】
ステップＳ５２２（図５）の処理において、ＣＰＵ５１は、カウンタｖａｃｎｔを更新する。具体的には、カウンタｖａｃｎｔ（０）からカウンタｖａｃｎｔ（３）それぞれの値に４を加算（＋４）する。ただし、拡大処理時のカウンタｖａｃｎｔの最大値ｖａｃｎｔ（ｍａｘ）は、ｖａｃｎｔ（ｍａｘ）＝ａｙ−１＋１である。そのため、最大値を超えた場合は、その超えた分を０からカウントし直す。
一例として、ａｙ＝９、ｖａｃｎｔ（ｍａｘ）＝９、ｖａｃｎｔ（０）＝５、ｖａｃｎｔ（１）＝６、ｖａｃｎｔ（２）＝７、ｖａｃｎｔ（３）＝８である場合の更新について説明する。この場合に、カウンタｖａｃｎｔ（０）からカウンタｖａｃｎｔ（３）を更新すると、以下に示す（ａ）から（ｄ）のようになる。
【００７５】
（ａ）ｖａｃｎｔ（０）＝５＋４＝９
（ｂ）ｖａｃｎｔ（１）＝６＋４＝１０、よって、ｖａｃｎｔ（１）＝０
（ｃ）ｖａｃｎｔ（２）＝７＋４＝１１、よって、ｖａｃｎｔ（２）＝１
（ｄ）ｖａｃｎｔ（３）＝８＋４＝１２、よって、ｖａｃｎｔ（３）＝２
【００７６】
拡大処理における、図５に示すステップＳ５１９の処理（画像出力処理）について、図１０を参照しながら具体的に説明する。なお、縮小処理の場合と同様に、拡大処理においてもカウンタｖａｃｎｔ（０）、カウンタ ｖａｃｎｔ（１）、カウンタ ｖａｃｎｔ（２）、カウンタｖａｃｎｔ（３）それぞれに対して処理が行われる。
ステップＳ７０１（図１０）の処理において、ＣＰＵ５１は、倍率ｐの値に基づいて、縮小処理又は拡大処理のいずれの処理であるかを判別する。ここでは、拡大処理であることから（Ｓ７０１：ｎｏ）、ステップＳ７０８（図１０）の処理へ進む。以下、ステップＳ７０８からステップＳ７１３の各処理について説明する。
【００７７】
ＣＰＵ５１は、カウンタｖａｃｎｔ（０）と、各エリアの副走査長ａｙ、バンド処理幅ｄを比較する（Ｓ７０８）。具体的には、「ｖａｃｎｔ（０）≦ｖａｃｎｔ（ｍａｘ）−ｄ＋１」を満たす場合（Ｓ７０８：ｙｅｓ）、ステップＳ７０９の処理へ進む。また、そうでない場合（Ｓ７０８：ｎｏ）、ステップＳ７１３の処理へ進む。
ＣＰＵ５１は、ステップＳ５１８（図５）の処理で取得した、主走査位置ｘに対応する乱数値ｒｎｄの値と、カウントｖａｃｎｔ（０）の値とを比較する（Ｓ７０９）。比較した結果、「ｒｎｄ≦ｖａｃｎｔ（０）」である場合（Ｓ７０９：ｙｅｓ）、ステップＳ７１０の処理へ進む。また、そうでない場合（Ｓ７０９：ｎｏ）、ステップＳ７１３の処理へ進む。
ＣＰＵ５１は、ステップＳ５１８（図５）の処理で取得した、主走査位置ｘに対応する乱数値ｒｎｄの値とカウンタｖａｃｎｔ（０）の値とを比較する（Ｓ７１０）。比較した結果、「ｒｎｄ＝ｖａｃｎｔ（０）」である場合（Ｓ７１０：ｙｅｓ）、ステップＳ７１１の処理へ進む。また、そうでない場合（Ｓ７１０：ｎｏ）、ステップＳ７１２の処理へ進む。
【００７８】
ＣＰＵ５１は、拡大処理（変倍出力処理）を行う（Ｓ７１１）。具体的には、カウンタｖａｃｎｔ（０）に関する処理では、ラインバッファＬ０から主走査位置ｘに対応するデータを取得し、これを出力する。また、カウンタｖａｃｎｔ（１）に関する処理では、ラインバッファＬ１から主走査位置ｘに対応するデータを取得し、これを出力する。カウンタｖａｃｎｔ（２）に関する処理では、ラインバッファＬ２から主走査位置ｘに対応するデータを取得し、これを出力する。カウンタｖａｃｎｔ（３）に関する処理では、ラインバッファＬ３から主走査位置ｘに対応するデータを取得し、これを出力する。これらの処理により、エリア内において乱数値ｒｎｄで特定された位置で１画素挿入したことになる。
【００７９】
ＣＰＵ５１は、乱数前出力処理を行う（Ｓ７１２）。この場合の乱数前出力処理は、拡大処理において、変倍処理を行わない通常の画像出力処理である。具体的には、カウンタｖａｃｎｔ（０）に関する処理では、ラインバッファＬ１から主走査位置ｘに相当するデータを取得し、これを出力する。また、カウンタｖａｃｎｔ（１）に関する処理では、ラインバッファＬ２から主走査位置ｘに相当するデータを取得し、これを出力する。カウンタｖａｃｎｔ（２）に関する処理では、ラインバッファＬ３から主走査位置ｘに相当するデータを取得し、これを出力する。カウンタｖａｃｎｔ（３）に関する処理では、ラインバッファＬ４から主走査位置ｘに相当するデータを取得し、これを出力する。
【００８０】
ＣＰＵ５１は、乱数後出力処理を行う（Ｓ７１３）。この場合の乱数後出力処理は、エリア内のカウントｖａｃｎｔ（０）からカウントｖａｃｎｔ（３）より前のラインで拡大処理が既に行われたことに対する、１画素遅く出力するための処理である。具体的には、カウンタｖａｃｎｔ（０）に関する処理では、ラインバッファＬ０から主走査位置ｘに相当するデータを取得し、これを出力する。また、カウンタｖａｃｎｔ（１）に関する処理では、ラインバッファＬ１から主走査位置ｘに相当するデータを取得し、これを出力する。カウンタｖａｃｎｔ（２）に関する処理では、ラインバッファＬ２から主走査位置ｘに相当するデータを取得し、これを出力する。カウンタｖａｃｎｔ（３）に関する処理では、ラインバッファＬ３から主走査位置ｘに相当するデータを取得し、これを出力する。
【００８１】
図１４は、本実施形態の拡大処理における一連のフローを整理して表した図である。図１４では、入力画像（エリアＡ、Ｂ、Ｃ）、ラインバッファＬ０、Ｌ１、Ｌ２、Ｌ３、Ｌ４それぞれに格納される画像データ、乱数値（Ａ、Ｂ、Ｃ）を模式的に表している。図１４は、さらに、出力画像データ、カウンタｖａｃｎｔ（０）からｖａｃｎｔ（３）の値を示した上で、各走査毎（走査１から走査６）に整理したものである。
【００８２】
なお、画像形成装置１１０がコピーモードである場合でも、プリンタモードの場合に準じて、入力画像の縮小処理又は拡大処理が行われる。なお、プリンタモードの場合と異なる点は、信号及び各種データの授受の対象が外部ＰＣ４８に代えて、コントロールパネル４９、スキャナユニット４及びイメージセンサ９になる点である。この場合、プリンタモードにおける画像形成開始信号Ｐは、コピーモードにおける画像形成開始信号Ｃとなる。また、プリンタモードにおける倍率Ｐはコピーモードにおける倍率Ｃとなる。プリンタモードにおける画像データ要求信号Ｐは、コピーモードにおける画像データ要求信号Ｃとなる。プリンタモードにおける画像データＰは、コピーモードにおける画像データＣとなる。
【００８３】
このように、本実施形態の画像形成装置１１０では、走査幅（バンド処理幅ｄ）及びエリアの副走査方向の長さ（副走査長ａｙ）に基づいて、ＣＰＵ５１は、乱数発生器が生成する乱数値ｒｎｄの範囲を決定する。具体的には、生成される乱数値ｒｎｄは、「０」から「カウンタｖａｃｎｔの最大値ｖａｃｎｔ（ｍａｘ）−バンド処理幅ｄ＋１」の範囲内に制限される。この範囲内の乱数値ｒｎｄを受け取り、受け取った当該乱数値ｒｎｄで定めた位置へ画素を挿入し、又は、当該位置の画素を削除する画像処理を行う。
これにより、変倍処理を行う場合に必要なラインバッファ５３のライン数Ｌと、乱数生成回路の数を削減することができる。また、画像形成装置１１０の製造コストの低減を図ることができる。
なお、縮小処理では、ｖａｃｎｔ（ｍａｘ）＝ａｙ−１−１であることから、「カウンタｖａｃｎｔの最大値ｖａｃｎｔ（ｍａｘ）−バンド処理幅ｄ＋１」は、「副走査長ａｙ−バンド処理幅ｄ−１」と表すことができる。つまり、副走査長ａｙの値からバンド幅ｄの値を減算し、さらに、「１」を減算（−１）した値以下となる。
また、拡大処理では、ｖａｃｎｔ（ｍａｘ）＝ａｙ−１＋１であることから、「カウンタｖａｃｎｔの最大値ｖａｃｎｔ（ｍａｘ）−バンド処理幅ｄ＋１」は、「副走査長ａｙ−バンド処理幅ｄ＋１」と表すことができる。つまり、副走査長ａｙの値からバンド幅ｄの値を減算し、さらに、「１」を加算（＋１）した値以下となる。
【００８４】
本実施形態の説明においては、分割された各エリアの副走査長ａｙの値が一定である場合を例に挙げて説明した。これに限らず、副走査長ａｙの値は各エリアで異なるものであっても良い。その際、副走査長ａｙの値を用いる演算式においては、処理対象のエリアの副走査長ａｙの値を用いることになる。また、副走査長ａｙの値が小数点以下の値を含む場合、例えば演算結果がａｙ＝１０．５となったときには、ａｙ＝１０のエリアと、ａｙ＝１１のエリアとを交互に配置すれば良い。
【００８５】
また、図８に示すステップＳ６０２からステップＳ６０４の各処理において生成された乱数値ｒｎｄが、決定された範囲を外れる場合には、この範囲に収まるまで生成フローを繰り返す構成について説明した。この他、そもそも範囲を外れた乱数値ｒｎｄが生成されないように、ｂｉｔを決定してしまっても良い。例えば、乱数値ｒｎｄの範囲を０から６と決定した場合、２^ｎが乱数値の最大値をこえる最小のｎを求めることに代えて、２^ｎが乱数値の最大値をこえない最大のｎを求めても良い。すると、ｎ＝２となり、これは２ｂｉｔの乱数値を生成することを表す。つまり、乱数値ｒｎｄが生成される範囲は、０から３の範囲になる。こうして生成された乱数値ｒｎｄは、最大値６より必ず小さな値となるため、ステップＳ６０４（図８）の処理を経由することがなくなる。
【００８６】
また、拡大処理では、画素の挿入が行われるため、画素を削除する場合とは異なり、画素の挿入に応じて新しいデータを必要としない。しかし、入力画像の入力単位が複数ラインで固定されており、一度読みだしたデータは２度と読み出せないような構成の画像形成装置であれば、ラインバッファを削減する効果がある。このような構成の画像形成装置では、拡大処理によって遅れ方向にシフトされたデータをラインバッファに格納しておく必要がある。つまり、一回の走査で画素の挿入が２回上行われる場合があるため、２ライン分の画像データが次走査のために必要となる場合がある。
そのため、生成される乱数値ｒｎｄを、「０」から「カウンタｖａｃｎｔの最大値ｖａｃｎｔ（ｍａｘ）−バンド処理幅ｄ＋１」の範囲内に制限することにより、ラインバッファのライン数を削減することができる。
【００８７】
上記説明した実施形態は、本発明をより具体的に説明するためのものであり、本発明の範囲が、これらの例に限定されるものではない。
【符号の説明】
【００８８】
１・・・原稿給紙装置、２・・・原稿台ガラス面、３・・・ランプ、４・・・スキャナユニット、５、６、７・・・ミラー、８・・・集光部、９・・・イメージセンサ、１０・・・露光制御部、１１・・・感光体、１３・・・現像器、１４、１５・・・転写部材積載部、１６・・・転写部、１７・・・定着部、１８・・・排紙部、２０・・・フラッパー、２１・・・排出通路、２２・・・反転通路、２３・・・反転搬送路入口、２４・・・反転搬送路、２５・・・クリーナ、２６・・・補助帯電器、２７・・・露光ランプ、２８・・・１次帯電器、３１・・・レーザ駆動装置、３２・・・絞り、３３・・・ポリゴンミラー、３４・・・ｆ−θレンズ、３５・・・コリメータレンズ、３６・・・ＢＤセンサ、４３・・・半導体レーザ、４８・・・外部ＰＣ、４９・・・コントロールパネル、５０・・・画像処理部、５１・・・ＣＰＵ、５２・・・画像セレクタ、５３・・・ラインバッファ、５４・・・乱数バッファ、１００・・・電位センサ、１１０・・・画像形成装置、１１１・・・原稿給送部、１１２・・・画像読取り部、１１３・・・画像形成部。
【図１】
2015195471.tif 000003
【図２】
2015195471.tif 000004
【図３】
2015195471.tif 000005
【図４】
2015195471.tif 000006
【図５】
2015195471.tif 000007
【図７】
2015195471.tif 000008
【図８】
2015195471.tif 000009
【図９】
2015195471.tif 000010
【図１０】
2015195471.tif 000011
【図１１】
2015195471.tif 000012
【図１２】
2015195471.tif 000013
【図１３】
2015195471.tif 000014
【図１４】
2015195471.tif 000015
【図１５】
2015195471.tif 000016
【図１８】
2015195471.tif 000017
【図１９】
2015195471.tif 000018
【図２０】
2015195471.tif 000019
【図２１】
2015195471.tif 000020
【図６】
2015195471.tif 000021
【図１６】
2015195471.tif 000022
【図１７】
2015195471.tif 000023
【図２２】
2015195471.tif 000024
【図２３】
2015195471.tif 000025
【図２４】
2015195471.tif 000026