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