(57)【特許請求の範囲】
【請求項１】
副走査方向に縮小処理された画像データの補間処理を行う副走査縮小補間手段と、主走査方向に縮小処理された画像データの補間処理を行う主走査縮小補間手段と、主走査方向に拡大処理された画像データの補間処理を行う主走査拡大補間手段と、入力画像データ、前記副走査縮小補間手段及び前記主走査縮小補間手段の各出力データがライトされる第１、第２のラインメモリと、副走査縮小率に基づいて画像データの入力ライン単位に、現在ラインでの画像データ出力の有効・無効と、次ラインでの画像データ出力の有効・無効とを求め、その求めた各状態に応じて有効にすべき補間手段及び処理の順番を決めて入力画像データのデータパスを制御する制御手段と、を具備する画像処理装置。
【請求項２】
前記第１、第２のラインメモリは、入力ライン単位にどちらか一方がライト状態もう一方がリード状態に制御され、
主走査縮小の場合は、リードアドレスは入力画像データクロックに同期してカウントアップされ、ライトアドレスは主走査縮小率に応じて入力画像データクロックでカウントアップする場合としない場合が存在するように制御され、また前記主走査縮小補間手段を有効として主走査縮小補間処理を施した画像データを前記第１または第２のラインメモリのライトデータとし、
主走査拡大の場合は、リードアドレスは主走査拡大率に応じて入力画像データクロックに同期してカウントアップする場合としない場合が存在するように制御され、ライトアドレスは入力画像データクロックでカウントアップし、前記主走査拡大補間手段を有効として第１または第２のラインメモリのリードデータに拡大補間処理を施すことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記第１、第２のラインメモリは、入力ライン単位毎にどちらか一方がライト状態もう一方がリード状態に制御され、現在と次のラインに対して副走査縮小率に応じて第１または第２のラインメモリからリードしたデータの出力を有効とするか無効にするか決定し、
現在のラインデータ出力が有効の場合は、主走査拡大縮小率に応じてリードアドレスを制御し、また前記副走査縮小補間手段を無効として外部から入力した画像データをそのまま第１または第２のラインメモリへ入力する様に制御し、
現在のラインデータ出力が無効の場合は、入力画像データクロックに同期してリードアドレスをカウントアップし、また前記副走査縮小補間手段を有効として第１または第２のラインメモリからリードした画像データと外部から入力した画像データとを用いて副走査縮小補間処理を行い、
次のラインデータ出力が有効の場合は、主走査拡大縮小率に応じてライトアドレスを制御し、また前記主走査縮小補間手段を有効として主走査縮小補間処理を施された画像データを前記第１または第２のラインメモリに前記ライトアドレスにてライトし、
次のラインデータ出力が無効の場合は、入力画像データクロックに同期してライトアドレスをカウントアップし、また前記主走査縮小補間手段を無効として前記副走査縮小補間手段の出力データをそのまま前記第１または第２のラインメモリに入力する、ことを特徴とする請求項１又は請求項２記載の画像処理装置。
【請求項４】
前記主走査縮小補間手段及び前記主走査拡大補間手段が共用する線形補間演算器を有し、
主走査拡大の場合は、前記主走査拡大補間手段からの画像データにより線形補間演算し、
主走査縮小の場合は、前記主走査縮小補間手段からの画像データにより線形補間演算する事を特徴とする、請求項１から請求項３のいずれかに記載の画像処理装置。
【請求項５】
前記第１、第２のラインメモリは、入力ライン単位毎にどちらか一方がライト状態もう一方がリード状態に制御され、
主走査縮小の場合は、リードアドレスは入力画像データクロックに同期して所定のプリセットアドレスからダウンカウントされ、ライトアドレスは主走査縮小率に応じて入力画像データクロックでカウントアップする場合としない場合が存在するように制御され、また前記主走査縮小補間手段を有効として主走査縮小補間処理を施した画像データを第１または第２のラインメモリのライトデータとし、
主走査拡大の場合は、リードアドレスは主走査拡大率に応じて入力画像データクロックに同期して所定のプリセットアドレスからダウンカウントする場合としない場合が存在するように制御され、ライトアドレスは入力画像データクロックでカウントアップし、また前記主走査拡大補間手段を有効として第１または第２のラインメモリのリードデータに拡大補間処理を施すことを特徴とする請求項１から請求項４のいずれかに記載の画像処理装置。
【請求項６】
出力データを強制的に白レベルとする白マーカ信号を出力する手段と、指定画素数分について前記白マーカ信号を出力する白画素付加手段と、を備え、
前記第１、第２のラインメモリは、入力ライン単位毎にどちらか一方がライト状態もう一方がリード状態に制御され、
左とじしろ設定で主走査縮小の場合は、リードアドレスは前記白画素付加手段により指定画素数分の白画素を出力した後に入力画像データクロックに同期してカウントアップされ、ライトアドレスは主走査縮小率に応じて入力画像データクロックでカウントアップする場合としない場合が存在するように制御され、
左とじしろ設定で主走査拡大の場合は、リードアドレスは前記白画素付加手段により指定画素数分の白画素を出力した後に主走査拡大率に応じて入力画像データクロックに同期してカウントアップする場合としない場合が存在するように制御され、ライトアドレスは入力画像データクロックでカウントアップすることを特徴とする請求項１から請求項５のいずれかに記載の画像処理装置。
【請求項７】
出力データを強制的に白レベルとする白マーカ信号を出力する手段と、指定画素数分について前記白マーカ信号を出力する白画素付加手段とを有し、
前記第１、第２のラインメモリは、入力ライン単位毎にどちらか一方がライト状態もう一方がリード状態に制御され、
右とじしろ設定で主走査縮小の場合は、リードアドレスはプリセットアドレスから入力画像データクロックに同期してカウントアップされ、指定画素数分の画像が出力した後、前記白画素付加手段により以降を白画素として出力とし、ライトアドレスは主走査縮小率に応じて入力画像データクロックでカウントアップする場合としない場合が存在するように制御され、
右とじしろ設定で主走査拡大の場合は、リードアドレスは入力画像データクロックに同期してカウントアップする場合としない場合が存在するように制御され、指定画素数分の画像が出力した後、前記白画素付加手段により以降を白画素として出力とし、ライトアドレスは入力画像データクロックでカウントアップすることを特徴とする請求項１から請求項６のいずれかに記載の画像処理装置。
【請求項８】
前記第１、第２のラインメモリは、異なる値のライトアドレスとリードアドレスに対しリードとライトを同時に実行するデュアルポート動作を実行可能に構成され、
前記第１ラインメモリは、リードアドレスとライトアドレスは入力画像データクロックに同期してカウントアップされ、前記第２のラインメモリ手段は、リードアドレスは入力画像データクロックに同期してカウントアップされ、ライトアドレスは主走査縮小率に応じて入力画像データクロックでカウントアップする場合としない場合が存在するように制御され、
外部から入力した画像データは前記副走査縮小補間手段の一方に入力するとともに前記第１のラインメモリからリードされたデータは前記副走査縮小補間手段のもう一方に入力し、前記副走査縮小補間手段の出力は前記主走査縮小補間手段に入力し、当該主走査縮小補間手段の出力は前記第２のラインメモリにライトされ、当該第２のラインメモリからリードしたデータを出力すること特徴とする請求項１記載の画像処理装置。
【請求項９】
前記第１、第２のラインメモリを入力ライン単位にどちらか一方がライト状態もう一方がリード状態に制御する第１モードと、前記第１、第２のラインメモリを異なる値のライトアドレスとリードアドレスに対しリードとライトを同時に実行する第２モードとを備え、副走査縮小率に応じて前記第１モードと前記第２モードとを切替えることを特徴とする請求項２または請求項８記載の画像処理装置。
【請求項１０】
前記第１または第２のラインメモリの同一アドレスに入力画像の何画素がライトされるか常時演算して求め、同一アドレスにライトされる画素数の値に応じて対応する入力画像の平均値を演算して主走査縮小補間出力とすることを特徴とする請求項１から請求項９のいずれかに記載の画像処理装置。
【請求項１１】
入力画素位置を基準とした出力画素位置を常時演算し、前記主走査縮小補間手段及び前記主走査拡大補間手段において前記位置情報と出力画素位置を挟む２点の入力画素データを基に線形補間処理を行い、主走査縮小の場合は前記主走査縮小補間手段を有効とし、主走査拡大の場合は前記主走査拡大補間手段を有効とすることを特徴とする請求項１から請求項９のいずれかに記載の画像処理装置。
【請求項１２】
入力画像の平均値を演算し主走査縮小補間出力とするモードと、入力画素データを基に線形補間処理して主走査縮小補間出力とするモードとを、主走査縮小率に応じて切り替えることを特徴とする請求項１０または請求項１１記載の画像処理装置。
【請求項１３】
前記副走査縮小補間手段に入力した２ライン間のレベル差を画素毎に演算し、その値が所定の黒画素判定閾値より大きい場合は、黒細線と判定して２ラインデータ間でレベルが低い方のデータを出力し、そうでない場合は副走査補間データを出力することを特徴とする請求項１記載の画像処理装置。
【請求項１４】
前記主走査縮小補間手段は、同一アドレスにライトされる入力画素範囲内の隣接する画素間のレベル差が所定の黒画素判定閾値より大きい場合は、黒細線と判定して前記入力画素範囲内の最小値のデータを出力し、そうでない場合は主走査補間データを出力することを特徴とする請求項１２記載の画像処理装置。
【請求項１５】
前記主走査縮小補間手段は、出力画素位置を挟む２点の入力画素データを基に線形補間処理を行い、前記２点の入力画素データのレベル差が所定の黒画素判定閾値より大きい場合は、黒細線と判定して前記２点の入力画素データのうちレベルの低い方のデータを出力し、そうでない場合は主走査線形補間データを出力すること請求項１３記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、入力画像を拡大縮小することのできる画像処理装置に関する。
【０００２】
【従来の技術】
図２１に、多値画像データをリアルタイムに拡大縮小可能な拡大縮小処理回路の従来例を示す。画像データ入力部より入力した画像データは、副走査縮小補間処理回路１に入力するとともにラインメモリ２にライトされる。ラインメモリ２は、ＦＩＦＯまたデュアルポートメモリで構成され、ライトと同時に１ライン前のデータをリードし、そのデータを副走査縮小補間処理回路１のもう一方の入力とする。
【０００３】
副走査縮小補間処理回路１では、現在のラインデータと１ライン前のラインデータを参照して、副走査縮小率に応じた補間処理を行う。この副走査縮小補間処理回路１の出力を主走査拡大縮小補間処理回路３に入力して、主走査拡大縮小率に応じた補間処理を行う。この時、補間の方法に応じて主走査方向に必要な画素数を参照する必要が生じるが特にラインメモリは必要としない。
【０００４】
一方、主走査拡大縮小補間処理回路３から出力される画像データは、縮小の場合はデータレートが下がり、拡大の場合はデータレートが上がる。そこで、画像データ出力のデータレートを一定にする為に、画像データ出力の直前にラインメモリ４，５で構成されるデータレート調整バッファが設けられる。ラインメモリ４，５はシングルポートメモリであり、ライン毎に一方がライトの時、他方がリードとなるように交互に動作する。
【０００５】
【発明が解決しようとする課題】
このように、主走査拡大縮小補間処理回路３から出力される画像データのデータレートを一定にするためには、最低でも３ライン分のラインメモリが必要となり、主走査拡大率を大きくすると、ラインメモリの部品数が増大する問題があった。
【０００６】
また、主走査拡大率が大きくなると主走査拡大縮小補間処理回路３から出力される画像データのデータレートもその倍率に比例して高くなり、ラインメモリ４，５へのライト周期は短くなり、より高速にライト可能なメモリが必要となる。したがって、入力画像データのデータレートとラインメモリの書き込みの最小周期が決まると、実現可能な主走査拡大率の上限が決まってしまうと言う問題が発生する。
【０００７】
本発明は、以上のような実情に鑑みてなされたものであり、主走査拡大率の最大値によらず、高速のラインメモリを必要とせずに、かつ出力データレートを一定とする事が可能な拡大縮小処理を実現する画像処理装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明は、副走査方向に縮小処理された画像データの補間処理を行う副走査縮小補間手段と、主走査方向に縮小処理された画像データの補間処理を行う主走査縮小補間手段と、主走査方向に拡大処理された画像データの補間処理を行う主走査拡大補間手段と、入力画像データ、前記副走査縮小補間手段及び前記主走査縮小補間手段の各出力データがライトされる第１、第２のラインメモリと、副走査縮小率に基づいて画像データの入力ライン単位に、現在ラインでの画像データ出力の有効・無効と、次ラインでの画像データ出力の有効・無効とを求め、その求めた各状態に応じて有効にすべき補間手段及び処理の順番を決めて入力画像データのデータパスを制御する制御手段とを備える。
【００１２】
これにより、主走査拡大縮小処理に必要なラインメモリと副走査縮小補間処理に必要なラインメモリを画像データの入力ライン単位に時分割で共用化する事ができ、２本のラインメモリで回路構成可能となる。
【００１３】
また、ラインメモリのリードアドレスまたはライトアドレスのどちらか一方の、アップ／ダウン制御、スタートアドレスの制御により主走査方向の鏡像反転、位置調整を実現するものである。
【００１４】
【発明の実施の形態】
本発明の第１の態様は、副走査方向に縮小処理された画像データの補間処理を行う副走査縮小補間手段と、主走査方向に縮小処理された画像データの補間処理を行う主走査縮小補間手段と、主走査方向に拡大処理された画像データの補間処理を行う主走査拡大補間手段と、入力画像データ、前記副走査縮小補間手段及び前記主走査縮小補間手段の各出力データがライトされる第１、第２のラインメモリと、副走査縮小率に基づいて画像データの入力ライン単位に、現在ラインでの画像データ出力の有効・無効と、次ラインでの画像データ出力の有効・無効とを求め、その求めた各状態に応じて有効にすべき補間手段及び処理の順番を決めて入力画像データのデータパスを制御する制御手段とを具備するものとした。
【００１７】
このように構成された画像処理装置によれば、主走査拡大縮小処理に必要なラインメモリと副走査縮小補間処理に必要なラインメモリを、画像データの入力ライン単位に時分割で共有化することができ、２本のラインメモリで回路構成できる。
【００１８】
本発明の第２の態様は、上記第１の態様の画像処理装置において、前記第１、第２のラインメモリは、入力ライン単位にどちらか一方がライト状態もう一方がリード状態に制御され、主走査縮小の場合は、リードアドレスは入力画像データクロックに同期してカウントアップされ、ライトアドレスは主走査縮小率に応じて入力画像データクロックでカウントアップする場合としない場合が存在するように制御され、また前記主走査縮小補間手段を有効として主走査縮小補間処理を施した画像データを前記第１または第２のラインメモリのライトデータとし、主走査拡大の場合は、リードアドレスは主走査拡大率に応じて入力画像データクロックに同期してカウントアップする場合としない場合が存在するように制御され、ライトアドレスは入力画像データクロックでカウントアップし、前記主走査拡大補間手段を有効として第１または第２のラインメモリのリードデータに拡大補間処理を施すものとした。
【００１９】
これにより、主走査縮小の場合は、主走査縮小補間手段により主走査縮小補間処理が施された画像データが第１または第２のラインメモリライトアドレスにライトされる際に、主走査縮小率に応じて入力画像データクロックでカウントアップする場合としない場合が存在するように制御されるので、カウントアップしないときには同一アドレスに上書きされるので間引き処理が行われて主走査方向に縮小されることになる。また、主走査拡大の場合は、リードアドレスは主走査拡大率に応じて入力画像データクロックに同期してカウントアップする場合としない場合が存在するように制御されるので、リードアドレスがカウントアップしないときに同一アドレスから同じデータがリードされこととなり主走査方向に拡大されることになる。また、この主走査方向に拡大された画像データは主走査拡大補間手段により拡大補間処理が施されることとなる。
【００２０】
本発明の第３の態様は、第１または第２の態様の画像処理装置において、前記第１、第２のラインメモリは、入力ライン単位毎にどちらか一方がライト状態もう一方がリード状態に制御され、現在と次のラインに対して副走査縮小率に応じて第１または第２のラインメモリからリードしたデータの出力を有効とするか無効にするか決定し、現在のラインデータ出力が有効の場合は、主走査拡大縮小率に応じてリードアドレスを制御し、また前記副走査縮小補間手段を無効として外部から入力した画像データをそのまま第１または第２のラインメモリへ入力する様に制御し、現在のラインデータ出力が無効の場合は、入力画像データクロックに同期してリードアドレスをカウントアップし、また前記副走査縮小補間手段を有効として第１または第２のラインメモリからリードした画像データと外部から入力した画像データとを用いて副走査縮小補間処理を行い、次のラインデータ出力が有効の場合は、主走査拡大縮小率に応じてライトアドレスを制御し、また前記主走査縮小補間手段を有効として主走査縮小補間処理を施された画像データを前記第１または第２のラインメモリに前記ライトアドレスにてライトし、次のラインデータ出力が無効の場合は、入力画像データクロックに同期してライトアドレスをカウントアップし、また前記主走査縮小補間手段を無効として前記副走査縮小補間手段の出力データをそのまま前記第１または第２のラインメモリに入力するものとした。
【００２１】
これにより、副走査縮小率に応じて第１または第２のラインメモリからリードしたデータの出力を有効とするか無効にするか決定してデータパスを制御することにより、主走査拡大縮小処理に必要なラインメモリと副走査縮小補間処理に必要なラインメモリを、画像データの入力ライン単位に時分割で共有化することができ、２本のラインメモリで回路構成できる。
【００２２】
本発明の第４の態様は、第１から第３のいずれかの態様の画像処理装置において、前記主走査縮小補間手段及び前記主走査拡大補間手段が共用する線形補間演算器を有し、主走査拡大の場合は、前記主走査拡大補間手段からの画像データにより線形補間演算し、主走査縮小の場合は、前記主走査縮小補間手段からの画像データにより線形補間演算するものとした。
【００２３】
これにより、主走査縮小補間手段と主走査拡大補間手段とで線形補間演算器を共用するので、主走査縮小補間手段と主走査拡大補間手段とを分割しても線形補間演算器の数が増大するのを防止でき、回路規模が増大するのを防止できる。
【００２４】
本発明の第５の態様は、第１から第４のいずれかの態様の画像処理装置において、前記第１、第２のラインメモリは、入力ライン単位毎にどちらか一方がライト状態もう一方がリード状態に制御され、主走査縮小の場合は、リードアドレスは入力画像データクロックに同期して所定のプリセットアドレスからダウンカウントされ、ライトアドレスは主走査縮小率に応じて入力画像データクロックでカウントアップする場合としない場合が存在するように制御され、また前記主走査縮小補間手段を有効として主走査縮小補間処理を施した画像データを第１または第２のラインメモリのライトデータとし、主走査拡大の場合は、リードアドレスは主走査拡大率に応じて入力画像データクロックに同期して所定のプリセットアドレスからカウントダウンする場合としない場合が存在するように制御され、ライトアドレスは入力画像データクロックでカウントアップし、また前記主走査拡大補間手段を有効として第１または第２のラインメモリのリードデータに拡大補間処理を施すものとした。
【００２５】
これにより、主走査縮小の場合は、リードアドレスは入力画像データクロックに同期して所定のプリセットアドレスからダウンカウントされ、ライトアドレスは主走査縮小率に応じて入力画像データクロックでカウントアップする場合としない場合が存在するように制御されるので、主走査方向に縮小された画像で、且つ鏡像反転された画像を得ることができる。また、主走査拡大の場合は、リードアドレスは主走査拡大率に応じて入力画像データクロックに同期して所定のプリセットアドレスからダウンカウントする場合としない場合が存在するように制御され、ライトアドレスは入力画像データクロックでカウントアップするので、主走査方向に拡大された画像で、且つ鏡像反転された画像を得ることができる。
【００２６】
本発明の第６の態様は、第１から第５のいずれかの態様の画像処理装置において、出力データを強制的に白レベルとする白マーカ信号を出力する手段と、指定画素数分について前記白マーカ信号を出力する白画素付加手段と、を備え、前記第１、第２のラインメモリは、入力ライン単位毎にどちらか一方がライト状態もう一方がリード状態に制御され、左とじしろ設定で主走査縮小の場合は、リードアドレスは前記白画素付加手段により指定画素数分の白画素を出力した後に入力画像データクロックに同期してカウントアップされ、ライトアドレスは主走査縮小率に応じて入力画像データクロックでカウントアップする場合としない場合が存在するように制御され、左とじしろ設定で主走査拡大の場合は、リードアドレスは前記白画素付加手段により指定画素数分の白画素を出力した後に主走査拡大率に応じて入力画像データクロックに同期してカウントアップする場合としない場合が存在するように制御され、ライトアドレスは入力画像データクロックでカウントアップするものとした。
【００２７】
これにより、左とじしろ設定で主走査縮小の場合は、リードアドレスは指定画素数分の白画素を出力した後に入力画像データクロックに同期してカウントアップされ、ライトアドレスは主走査縮小率に応じて入力画像データクロックでカウントアップする場合としない場合が存在するように制御されるので、左とじしろが形成された主走査方向の縮小画像を得ることができる。また、左とじしろ設定で主走査拡大の場合は、リードアドレスは指定画素数分の白画素を出力した後に主走査拡大率に応じて入力画像データクロックに同期してカウントアップする場合としない場合が存在するように制御され、ライトアドレスは入力画像データクロックでカウントアップされるので、左とじしろが形成された主走査方向の拡大画像を得ることができる。
【００２８】
本発明の第７の態様は、第１から第６のいずれかの態様の画像処理装置において、出力データを強制的に白レベルとする白マーカ信号を出力する手段と、指定画素数分について前記白マーカ信号を出力する白画素付加手段とを有し、前記第１、第２のラインメモリは、入力ライン単位毎にどちらか一方がライト状態もう一方がリード状態に制御され、右とじしろ設定で主走査縮小の場合は、リードアドレスはプリセットアドレスから入力画像データクロックに同期してカウントアップされ、指定画素数分の画像を出力した後、前記白画素付加手段により以降を白画素として出力し、ライトアドレスは主走査縮小率に応じて入力画像データクロックでカウントアップする場合としない場合が存在するように制御され、右とじしろ設定で主走査拡大の場合は、リードアドレスは入力画像データクロックに同期してカウントアップする場合としない場合が存在するように制御され、指定画素数分の画像を出力した後、前記白画素付加手段により以降を白画素として出力し、ライトアドレスは入力画像データクロックでカウントアップするものとした。
【００２９】
これにより、右とじしろ設定で主走査縮小の場合は、リードアドレスはプリセットアドレスから入力画像データクロックに同期してカウントアップされ、指定画素数分の画像を出力した後、以降を白画素として出力し、ライトアドレスは主走査縮小率に応じて入力画像データクロックでカウントアップする場合としない場合が存在するように制御されるので、右とじしろが形成された主走査方向の縮小画像を得ることができる。また、右とじしろ設定で主走査拡大の場合は、リードアドレスは入力画像データクロックに同期してカウントアップする場合としない場合が存在するように制御され、指定画素数分の画像が出力した後、それ以降を白画素として出力とし、ライトアドレスは入力画像データクロックでカウントアップするので、右とじしろが形成された主走査方向の拡大画像を得ることができる。
【００３０】
本発明の第８の態様は、第１の態様の画像処理装置において、第１、第２のラインメモリは、異なる値のライトアドレスとリードアドレスに対しリードとライトを同時に実行するデュアルポート動作を実行可能に構成され、前記第１ラインメモリは、リードアドレスとライトアドレスは入力画像データクロックに同期してカウントアップされ、前記第２のラインメモリ手段は、リードアドレスは入力画像データクロックに同期してカウントアップされ、ライトアドレスは主走査縮小率に応じて入力画像データクロックでカウントアップする場合としない場合が存在するように制御され、外部から入力した画像データは前記副走査縮小補間手段の一方に入力するとともに前記第１のラインメモリからリードされたデータは前記副走査縮小補間手段のもう一方に入力し、前記副走査縮小補間手段の出力は前記主走査縮小補間手段に入力し、当該主走査縮小補間手段の出力は前記第２のラインメモリにライトされ、当該第２のラインメモリからリードしたデータを出力するものとした。
【００３１】
これにより、外部から入力した画像データは副走査縮小補間手段の一方に入力するとともに第１のラインメモリからリードされたデータは副走査縮小補間手段のもう一方に入力し、現在ラインでの画像データ出力の有効・無効と、次ラインでの画像データ出力の有効・無効とには関係なく、常時副走査補正処理を行う事が可能で、特に副走査縮小率が小さい場合（等倍より僅かに縮小する場合）現在ライン・次ラインの有効が連続する状態でも、出力画像の位置に応じた線形補間処理を行う事ができる。
【００３２】
しかし、副走査縮小率が大きくなった場合（特に５０％以下になった場合）は上記の第８の態様では入力画像情報が反映されないラインが発生し、細線抜け等の問題を生じる。一方、第２の態様では現在ラインが無効の場合はその情報を次ラインに反映させることが出来る為、副走査縮小率が大きい場合でも細線抜け等の問題が発生し難い。そこで本発明の第９の態様は、第２または第８の態様の画像処理装置において、前記第１、第２のラインメモリを入力ライン単位にどちらか一方がライト状態もう一方がリード状態に制御する第１モードと、前記第１、第２のラインメモリを異なる値のライトアドレスとリードアドレスに対しリードとライトを同時に実行する第２モードとを備え、副走査縮小率に応じて前記第１モードと前記第２モードとを切替えるものとした。
【００３３】
これにより、副走査縮小率の大小に応じて最適な副走査縮小補正を行い、画質を向上させる事が出来る。
【００３４】
本発明の第１０の態様は、第１から第９のいずれかの態様の画像処理装置において、前記第１または第２のラインメモリの同一アドレスに入力画像の何画素がライトされるか常時演算して求め、同一アドレスにライトされる画素数の値に応じて対応する入力画像の平均値を演算して主走査縮小補間出力とするものとした。
【００３５】
これにより、同一アドレスにライトされる画素数の値に応じて対応する入力画像の平均値を演算して主走査縮小補間出力とするので、主走査方向の平均値補間がなされることになる。
【００３６】
本発明の第１１の態様は、第１から第９のいずれかの態様の画像処理装置において、入力画素位置を基準とした出力画素位置を常時演算し、前記主走査縮小補間手段及び前記主走査拡大補間手段において前記位置情報と出力画素位置を挟む２点の入力画素データを基に線形補間処理を行い、主走査縮小の場合は前記主走査縮小補間手段を有効とし、主走査拡大の場合は前記主走査拡大補間手段を有効とするものとした。
【００３７】
これにより、入力画素位置を基準とした出力画素位置情報と出力画素位置を挟む２点の入力画素データを基に線形補間処理を行うので、主走査方向の拡大縮小補間では線形補間処理がなされるものとなる。
【００３８】
本発明の第１２の態様は、第１０または第１１の態様の画像処理装置において、入力画像の平均値を演算し主走査縮小補間出力とするモードと、入力画素データを基に線形補間処理して主走査縮小補間出力とするモードとを、主走査縮小率に応じて切り替えるものとした。
【００３９】
これにより、主走査平均値補間と主走査線形補間とを選択することができる。
【００４０】
本発明の第１３の態様は、第１の態様の画像処理装置において、前記副走査縮小補間手段に入力した２ライン間のレベル差を画素毎に演算し、その値が所定の黒画素判定閾値より大きい場合は、黒細線と判定して２ラインデータ間でレベルが低い方のデータを出力し、そうでない場合は副走査補間データを出力するものとした。
【００４１】
これにより、２ライン間のレベル差が所定の黒画素判定閾値より大きい場合は、黒細線と判定して２ラインデータ間でレベルが低い方のデータを出力し、そうでない場合は副走査補間データを出力するので、副走査方向の縮小処理を行った場合であっても黒細線を保存することができる。
【００４２】
本発明の第１４の態様は、第１２の態様の画像処理装置において、前記主走査縮小補間手段は、同一アドレスにライトされる入力画素範囲内の隣接する画素間のレベル差が所定の黒画素判定閾値より大きい場合は、黒細線と判定して前記入力画素範囲内の最小値のデータを出力し、そうでない場合は主走査補間データを出力するものとした。
【００４３】
これにより、同一アドレスにライトされる入力画素範囲内の隣接する画素間のレベル差が所定の黒画素判定閾値より大きい場合は、黒細線と判定して前記入力画素範囲内の最小値のデータを出力し、そうでない場合は主走査補間データを出力するので、主走査方向の縮小処理を行った場合であっても黒細線を保存することができる。
【００４４】
本発明の第１５の態様は、第１３の態様の画像処理装置において、前記主走査縮小補間手段は、出力画素位置を挟む２点の入力画素データを基に線形補間処理を行い、前記２点の入力画素データのレベル差が所定の黒画素判定閾値より大きい場合は、黒細線と判定して前記２点の入力画素データのうち、レベルの低い方のデータを出力し、そうでない場合は主走査線形補間データを出力するものである。
【００４５】
これにより、出力画素位置を挟む２点の入力画素データを基に線形補間処理を行い、前記２点の入力画素データのレベル差が所定の黒画素判定閾値より大きい場合は、黒細線と判定して前記２点の入力画素データのうち、レベルの低い方のデータを出力し、そうでない場合は主走査線形補間データを出力するので、主走査方向の縮小処理を行った場合であっても黒細線を保存することができる。
【００４６】
以下、本発明に係る画像処理装置及び方法についての一実施の形態について、図面を参照して具体的に説明する。
【００４７】
図１は、本実施の形態に係る画像処理装置における拡大縮小処理回路の全体構成図である。同図に示す拡大縮小処理回路は、拡大縮小制御回路１００により発生したデータパス制御信号（SISR，SIMM，SNON，SMRI，SMO1，SMO2，SOMM）によりセレクタ（SEL1，SEL2，SEL3，SEL4，SEL5，SEL6，SEL7）の選択状態が制御され、その選択状態に応じて副走査縮小補間回路１０１、主走査縮小補間回路１０２、ラインメモリ１、ラインメモリ２、主走査拡大補間回路１０３の接続関係が決まる。上記接続関係は、本拡大縮小処理回路に入力した画像データ(DZpi)の処理経路（以下、「データパス」という）を決める。入力画像データ(DZpi)は、拡大縮小制御回路１００が決めたデータパスを経由して、セレクタ（SEL7）より画像データ(DZpo)として出力される。
【００４８】
拡大縮小制御回路１００には、ページイネーブル信号(PAGEEN)とラインイネーブル信号（EZi)、主走査拡大縮小率データ、副走査縮小率データ、副走査補間モード（SMOD)、プリセットアドレス、反転制御データ、白付加制御データ、白付加数が入力する。ラインイネーブル信号（EZi)で決まる１ライン周期毎に、データパス制御信号（SISR,SIMM,SNON,SMRI,SMO1,SMO2,SOMM)を発生させる。なお、データパス制御信号は、図２に示す「データパス制御信号」欄の表に従って制御される。
【００４９】
また、拡大縮小制御回路１００は、ラインメモリ１、ラインメモり２に対し、ラインメモリ制御信号を発生する。ラインメモリ１に対してはライトイネーブル（MWE1)、ライトアドレス(MWA1)、リードアドレス(MRA1)、ラインメモリ２対してはライトイネーブル（MWE2)、ライトアドレス(MWA2)、リードアドレス(MRA2)を発生する。ラインイネーブル信号（EZi)で決まる１ライン周期毎に、ラインメモリ制御信号は制御される。なお、ラインメモリ制御信号は、図３に示す「ラインメモリ制御信号」欄の表に従って制御される。
【００５０】
また、拡大縮小制御回路１００は、出力データのイネーブル信号である出力ラインイネーブル信号（EZo)と、出力画像データを強制的に白画像に固定する為の白マーカ信号（DWM)とを出力する。本実施の形態では、白マーカ信号（DWM)を出力するだけであるが、ゲート回路を入れて強制的に出力画像データを白に固定する方法もある。
【００５１】
また、副走査縮小補間回路１０１には、副走査縮小処理機能設定が入力し、副走査縮小補正の機能を決定する。主走査縮小補間回路１０２には、主走査縮小処理機能設定が入力し、主走査縮小補正の機能を決定する。線形補間演算器１０４は、主走査縮小補間回路１０２と主走査拡大補間回路１０３とで共用するものであり、主走査拡大縮小率が１００％以上の場合は主走査拡大補間回路１０３からのデータ（DS1AD,DS2AD)で補間演算し、１００％未満の場合は主走査縮小補間回路１０２からのデータ（DS1BD,DS2BD)で補間演算する。
【００５２】
次に、以上のように構成された拡大縮小処理回路の基本的な動作について説明する。本実施の形態の拡大縮小処理回路は、主走査拡大縮小補間処理が主走査拡大補間回路１０３と主走査縮小補間回路１０２とで分離して実行される。主走査縮小補間回路１０２による縮小補間処理は、ラインメモリ１又はラインメモリ２に書き込む前に実行され、主走査拡大補間回路１０３による拡大補間処理は、ラインメモリ１又はラインメモリ２から読み出した後に実行される。
【００５３】
主副走査方向の縮小時は、ラインメモリ１、２のライトアドレスのカウントアップ周期を縮小率に応じて画像データ入力周期より遅くし、同一アドレスに複数の画像データが上書きされる事で縮小処理を実行する。
【００５４】
主走査方向の拡大時は、ラインメモリ１、２のリードアドレスのカウントアップ周期を拡大率に応じて画像データ入力周期より遅くし、同一アドレスのデータを複数回読み出す事により拡大処理を実行する。
【００５５】
このような、主走査拡大処理を実現したことにより、画像データ入力周期より高速のラインメモリは必要では無くなり、データレートに起因した主走査拡大率の制限を撤廃することができる。
【００５６】
また、副走査縮小率に応じて、画像データの入力ライン単位に、現在ラインでの画像データ出力の有効・無効と次ラインでの画像データ出力の有効・無効を演算している。画像データ出力の有効とは、当該画像データを拡大縮小処理回路から出力することを意味する。また、画像データ出力の無効とは、縮小処理又は補間処理のために当該画像データが拡大縮小処理回路から出力される対象とならないことを意味する。
【００５７】
上記４つの状態に応じて副走査縮小補間回路１０１による副走査縮小補間処理、主走査縮小補間回路１０２による主走査縮小補間処理、主走査拡大補間回路１０３による主走査拡大補間処理のそれぞれの有効・無効と、ラインメモリ１、２に対する縮小ライト、拡大リードとを制御している。
【００５８】
これにより、主走査拡大縮小補間処理に必要なラインメモリと副走査縮小補間処理に必要なラインメモリを、画像データの入力ライン単位に時分割で共用化して、２本のラインメモリ１、２で対応できるようにしている。
【００５９】
また、次ラインでの画像データ出力が有効の場合にのみ主走査縮小補間回路１０２による主走査縮小補間処理とラインメモリ１、２に対する縮小ライトを実行し、次ラインでの画像データ出力が無効の場合は主走査縮小補間処理をかけずにラインメモリ１、２に等倍で書き込むものとする。
【００６０】
また、現在ラインでの画像データ出力が有効の場合にのみ主走査拡大補間回路１０３による主走査拡大補間処理とラインメモリ１、２に対する拡大リードを実行し、入力した画像データには副走査縮小補間をかけずに後段の主走査縮小補間回路１０２にデータを送る。
【００６１】
また、現在ラインでの画像データ無効の場合は、主走査ラインメモリのデータを等倍でリードし主走査拡大補間処理をかけずに、読み出したデータを副走査縮小補間回路１０１に入力し、もう一方から入力した画像データとの間で補間処理を行った後、後段の主走査縮小補間回路１０２にデータを送るようにしている。
【００６２】
次に、上記拡大縮小処理回路による主走査拡大縮小制御及び副走査縮小制御の詳細について説明する。
【００６３】
図４及び図５に、副走査補間モードが加算平均補間（ＳＭＯＤ＝０）で副走査縮小率が１００％未満（本例では７１．４％）、主走査拡大縮小率が１００％未満、プリセットアドレス＝０、反転及び白付加が無効の場合のタイミング図を示す。なお、図４に示すタイミング図と図５に示すタイミング図とは一連のものである。
【００６４】
拡大縮小制御回路１００は、ラインイネーブル信号（EZi）の立ち上がりタイミングで、副走査の縮小率に応じて拡大縮小処理回路からデータ出力するか否かを決定する。
【００６５】
図４に示すタイミングチャートにおいて、ＣＵＰ２が１の場合はデータ出力し、０の場合はデータ出力しない事を表す。また、ＣＵＰ１は次のラインの出力状態を表し、ＣＵＰ１が１の場合は次のラインがデータ出力、ＣＵＰ１が０の場合は次ラインはデータ出力しない事を表している。拡大縮小制御回路１００におけるＣＵＰ１、ＣＵＰ２の発生については後述する。
【００６６】
ａ）現ラインが出力（ＣＵＰ2=1)，次ラインが出力（ＣＵＰ1=1)の場合のデータパスについて説明する。
【００６７】
入力した画像データ(DZpi)は、副走査縮小補間回路１０１を通らずセレクタ（SEL2）を介して主走査縮小補間回路１０２に入力されて、主走査方向の縮小補間処理が実行される。ラインメモリ１またはラインメモリ２のどちらか一方にライトされる。残るもう一方のラインメモリからは１ライン前にライトされていたデータがリードされる。この時のラインメモリに対するライトアドレスは、図５に示すようにＲＷＡとなり主走査縮小率に応じて入力画像データクロック（ＣＫＶＤ）でカウントアップする場合としない場合とが存在する。カウントアップしない場合は、同一アドレスに上書きとなり、先行してライトされたデータは削除される（縮小ライト制御）。
【００６８】
また、リードアドレスはＲＲＡとなり入力画像データクロック（ＣＫＶＤ）に同期してアップカウントされる。ラインメモリ１またはラインメモリ２からリードされた画像データは、主走査拡大補間回路１０３を通らずにセレクタ（SEL7）を介して画像データ(DZpo)として出力する。
【００６９】
ｂ）現ラインが出力（ＣＵＰ2=1)，次ラインが出力無し（ＣＵＰ1=0)の場合のデータパスについて説明する。
【００７０】
入力した画像データ(DZpi)は、副走査縮小補間回路１０１と主走査縮小補間回路１０２を通らずセレクタ(SEL1)を介して、ラインメモリ１またはラインメモリ２のどちらか一方にライトされる。残るもう一方のラインメモリから１ライン前にライトされていたデータがリードされる。この時のラインメモリに対するライトアドレスは、図５に示すようにＥＲＷＡ、リードアドレスはＲＲＡとなり、それぞれ入力画像データクロック（ＣＫＶＤ）に同期してアップカウントされる。
【００７１】
ラインメモリ１またはラインメモリ２からリードされた画像データは、主走査拡大補間回路１０３を通らずにセレクタ(SEL7)を介して画像データ(DZpo)として出力する。
【００７２】
ｃ）現ラインが出力無し（ＣＵＰ2=0)，次ラインが出力（ＣＵＰ1=1)の場合のデータパスについて説明する。
【００７３】
入力した画像データ(DZpi)は、副走査縮小補間回路１０１の一方に入力される。後述の制御によりラインメモリ１またはラインメモリ２のどちらか一方からリードされた画像データは、セレクタ(SEL5)を介して副走査縮小補間回路１０１のもう一方に入力される。副走査縮小補間回路１０１では、両者の画像データ間で副走査縮小補間処理を行う。副走査縮小補間処理結果である画像データはセレクタ(SEL2)を介して主走査縮小補間回路１０２に入力し、主走査方向の縮小補間処理が実行された後、ラインメモリ１またはラインメモリ２のどちらか一方にライトされる。残るもう一方のラインメモリからは１ライン前にライトされていたデータがリードされる。この時のラインメモリに対するライトアドレスは、図５に示すようにＲＷＡとなり、主走査縮小率に応じて入力画像データクロック（ＣＫＶＤ）でカウントアップする場合としない場合が存在する（縮小ライト制御）。また、リードアドレスはＥＲＷＡとなり入力画像データクロック（ＣＫＶＤ）に同期してカウントアップされる。ラインメモリ１またはラインメモリ２からリードされた画像データは、前述のセレクタ(SEL5)に入力する。このデータパスでは、画像データ(DZpo)の出力は行わない。
【００７４】
ｄ）現ラインが出力無し（ＣＵＰ2=0)，次ラインが出力無し（ＣＵＰ1=0)の場合のデータパスについて説明する。副走査縮小率＜５０％で発生し、図７，８は存在しない状態である。
【００７５】
入力した画像データ(DZpi)は、副走査縮小補間回路１０１の一方に入力される。後述の制御によりラインメモリ１またはラインメモリ２のどちらか一方からリードされた画像データは、セレクタ(SEL5)を介して副走査縮小補間回路１０１のもう一方に入力され、両者の画像データ間で副走査縮小補間処理を行う。副走査縮小補間処理結果は、主走査縮小補間回路１０２を通らずにセレクタ(SEL1)を介してラインメモリ１またはラインメモリ２のどちらか一方にライトされる。残るもう一方のラインメモリからは１ライン前にライトされていたデータがリードされる。この時のラインメモリに対するライトアドレスとリードアドレスは、図５に示すようにＥＲＷＡとなり入力画像データクロック（ＣＫＶＤ）に同期してアップカウントされる。
【００７６】
ラインメモリ１またはラインメモリ２からリードされた画像データは、前述したようにセレクタ(SEL5)に入力する。このデータパスでは画像データ(DZpo)の出力は行わない。
【００７７】
図６及び図７に、副走査補間モードが加算平均補間（ＳＭＯＤ＝０）で副走査縮小率が１００％未満（例では７１．４％）、主走査拡大縮小率が１００％以上、プリセットアドレス＝０、反転及び白付加が無効場合のの場合タイミング図を示す。
【００７８】
拡大縮小制御回路１００は、ラインイネーブル信号（EZi）の立ち上がりタイミングで、副走査の縮小率に応じて、拡大縮小制御回路１００からデータ出力するか否かを決定する。図６に示すタイミングチャートにおいてＣＵＰ２は現ラインの出力状態を表し、１の場合はデータ出力、０の場合はデータ出力しない事を表す。また、ＣＵＰ１は次のラインの出力状態を表し、１の場合は次のラインが出力、０の場合は出力しない事を表している。
【００７９】
ａ）現ラインが出力（ＣＵＰ2=1)，次ラインが出力（ＣＵＰ1=1)の場合のデータパスについて説明する。
【００８０】
入力した画像データ(DZpi)は、副走査縮小補間回路１０１と主走査縮小補間回路１０２を通らずセレクタ(SEL1)を介して、ラインメモリ１またはラインメモリ２のどちらか一方にライトされる。残るもう一方のラインメモリからは１ライン前にライトされていたデータがリードされる。この時のラインメモリに対するライトアドレスは、図７に示すようにＥＲＷＡとなり入力画像データクロック（ＣＫＶＤ）に同期してアップカウントされる。また、リードアドレスはＭＲＡとなり主走査拡大率に応じて入力画像データクロック（ＣＫＶＤ）でカウントアップする場合としない場合が存在する。カウントアップしない場合は同一アドレスのデータが複数リードされる為画像の拡大処理が行われる。
【００８１】
ラインメモリ１またはラインメモリ２からリードされた画像データは、主走査拡大補間回路１０３により主走査拡大補間処理を行い、画像データ(DZpo)として出力する。
【００８２】
ｂ）現ラインが出力（ＣＵＰ2=1)，次ラインが出力無し（ＣＵＰ1=0)の場合のデータパスについて説明する。
【００８３】
入力した画像データ(DZpi)は、副走査縮小補間回路１０１と主走査縮小補間回路１０２を通らずセレクタ(SEL1)を介して、ラインメモリ１またはラインメモリ２のどちらか一方にライトされる。残るもう一方のラインメモリからは１ライン前にライトされていたデータがリードされる。この時のラインメモリに対するライトアドレスは、図７に示すようにＥＲＷＡとなり入力画像データクロック（ＣＫＶＤ）に同期してアップカウントされる。またリードアドレスはＭＲＡとなり主走査拡大率に応じて入力画像データクロック（ＣＫＶＤ）でカウントアップする場合としない場合が存在する。
【００８４】
ラインメモリ１またはラインメモリ２からリードされた画像データは、主走査拡大補間回路１０３により主走査拡大補間処理を行い、画像データ(DZpo)として出力する。
【００８５】
ｃ）現ラインが出力無し（ＣＵＰ2=0)，次ラインが出力（ＣＵＰ1=1)の場合のデータパスについて説明する。
【００８６】
入力した画像データ(DZpi)は、副走査縮小補間回路１０１の一方に入力される。後述の制御によりラインメモリ１またはラインメモリ２のどちらか一方からリードされた画像データは、セレクタ(SEL5)を介して副走査縮小補間回路１０１のもう一方に入力され、両者の画像データ間で副走査縮小補間処理を行う。副走査縮小補間処理結果は、主走査縮小補間回路１０２を通さずにセレクタ(SEL1)を介して、ラインメモリ１またはラインメモリ２のどちらか一方にライトされる。残るもう一方のラインメモリからは１ライン前にライトされていたデータがリードされる。この時のラインメモリに対するライトアドレスとリードアドレスは、図７に示すようにＥＲＷＡとなり入力画像データクロック（ＣＫＶＤ）に同期してアップカウントされる。
【００８７】
ラインメモリ１またはラインメモリ２からリードされた画像データは、入力段へ戻されてセレクタ(SEL5)に入力する。このデータパスでは画像データ(DZpo)の出力は行わない。
【００８８】
ｄ）現ラインが出力無し（ＣＵＰ2=0)，次ラインが出力無し（ＣＵＰ1=0)の場合のデータパスについて説明する。なお、副走査縮小率＜５０％で発生し、図６，７には存在しない状態である。
【００８９】
入力した画像データ(DZpi)は、副走査縮小補間回路１０１の一方に入力される。後述の制御によりラインメモリ１またはラインメモリ２のどちらか一方からリードされた画像データは、セレクタ(SEL5)を介して副走査縮小補間回路１０１のもう一方に入力される。そして、両者の画像データ間で副走査縮小補間処理を行う。副走査縮小補間処理結果は、主走査縮小補間回路１０２を通らずにセレクタ(SEL1)を介してラインメモリ１またはラインメモリ２のどちらか一方にライトされる。残るもう一方のラインメモリからは１ライン前にライトされていたデータがリードされる。この時のラインメモリに対するライトアドレスとリードアドレスは、ＥＲＷＡとなり入力画像データクロック（ＣＫＶＤ）に同期してアップカウントされる。
【００９０】
ラインメモリ１またはラインメモリ２からリードされた画像データは、前述のＳＥＬ５に入力する。このデータパスでは画像データ(DZpo)の出力は行わない。
【００９１】
図８及び図９に、副走査補間モードが線形補間（ＳＭＯＤ＝１）で副走査縮小率が１００％未満（例では７１．４％）、主走査拡大縮小率が１００％未満、プリセットアドレス＝０、反転及び白付加が無効場合のの場合タイミング図を示す。
【００９２】
拡大縮小制御回路１００は、ラインイネーブル信号（EZi）の立ち上がりタイミングで、副走査の縮小率に応じて、拡大縮小処理回路からデータ出力するか否かを決定する。図８のタイミングチャートにおいて、現ラインの出力状態を示すＣＵＰ２が１の場合は出力し、０の場合は出力しない事を表す。この副走査補間モードでは、ＣＵＰ１，２の論理に関係無くデータパスは次の様に固定となる。また、ラインメモリ１とラインメモリ２は、デュアルポート動作しリードとライトを同時に実行する事が可能でる。
【００９３】
入力した画像データ(DZpi)は、副走査縮小補間回路１０１に入力すると共に、セレクタ(SEL1,3)を介してラインメモリ１にライトされる。ラインメモリ１のデュアルポート動作により、同時にデータをリードする。図９に示すようにライトアドレスはＥＷＡ、リードアドレスはＥＲＡとなり入力画像データクロック（ＣＫＶＤ）に同期してアップカウントされ、常時リードアドレスが先行する様に例えばＥＲＡ＝ＥＷＡ＋１の様に制御されている。
【００９４】
ラインメモリ１からリードされたデータは１ライン前のデータであり、セレクタ(SEL5)を介して副走査縮小補間回路１０１に入力される。副走査縮小補間回路１０１は、線形補間演算により補間処理を実行する。その副走査縮小補間処理された結果は、(SEL2)を介し主走査縮小補間回路１０２に入力し、主走査縮小補間処理が行われる。主走査縮小補間処理結果は、セレクタ(SEL4)を介してラインメモリ２にライトされる。
【００９５】
ラインメモリ２のデュアルポート動作により、同時に１ライン前にライトされていたデータをリードする。この時のライトアドレスはＲＷＡとなり主走査縮小率に応じて入力画像データクロック（ＣＫＶＤ）でカウントアップする場合としない場合が存在する。カウントアップしない場合は同一アドレスに上書きとなり、先行してライトされたデータは削除される。また、リードアドレスはＥＲＷＡとなり入力画像データクロック（ＣＫＶＤ）に同期してアップカウントされる。
【００９６】
ラインメモリ２からリードされた画像データは、主走査拡大補間回路１０３を通らずにセレクタ(SEL7)を介して画像データ(DZpo)として出力する。
【００９７】
次に、拡大縮小制御回路１００の内部構成及び動作について詳細に説明する。図１０及び図１１は、拡大縮小制御回路１００の内部構成を示す図であるが、図１０は主に主走査縮小拡大に係わる構成（以下「主走査側ブロック２００」という）を詳細に示したものであり、図１１は主に副走査縮小に係わる構成（以下「副走査ブロック３００」という）を詳細に示したものである。
【００９８】
図１０を参照しながら、主走査拡大縮小率設定に関係する処理について説明する。倍率判定回路２０１は、入力した主走査拡大縮小率（MM）の値により、主走査拡大縮小率が１００％以上か未満かを判定する。この判定結果はＭＧ１００信号によって表される。
【００９９】
（主走査拡大縮小率が１００％以上の場合）
ＭＧ１００信号を１とし、以下の処理により拡大リードアドレス(MRA)と主走査線形補間係数(BLKM)の発生を行う。まず、主走査拡大縮小率（MM）を逆数演算回路２０２に入力して主走査拡大縮小率（MM）の逆数（1/MM)を求め、逆数（1/MM)を加算回路２０３に入力する。加算回路２０３により逆数（1/MM)と累積カウント値（ZMC)とを加算する。加算値は、セレクタ２０４を介してＦＦ回路２０５に入力し、ＦＦ回路２０５から画像クロック(CKVD)に同期して次の累積カウント値（ZMC)として出力する。
【０１００】
累積カウント値（ZMC)は、加算回路２０３へ戻すと共に小数点以下抽出回路２０６に入力する。小数点以下抽出回路２０６は、累積カウント値（ZMC)の小数点以下をＦＦ回路２０７に出力し、ＦＦ回路２０７が画像クロック(CKVD)に同期して主走査線形補間係数(BLKM)として出力する。
【０１０１】
また、累積カウント値（ZMC)は、小数点以下切り捨て回路２０８へ入力されている。小数点以下切り捨て回路２０８は、累積カウント値（ZMC)の少数点以下を切り捨てた値(IZMC)を比較器２０９及びＦＦ回路２１０へ入力する。比較器２０９は、累積カウント値（ZMC)の少数点以下を切り捨てた値(IZMC)とそのデータをＦＦ回路２１０により画像クロック(CKVD)に同期して１クロックシフトしたデータ（IZMS）とを比較し、IZMC≠IZMSの場合はＲＣＵＰを１とし、それ以外の場合はＲＣＵＰを０とする。ＲＣＵＰは拡大リードアドレスカウンタ２１１へ入力する。
【０１０２】
拡大リードアドレスカウンタ２１１は、ラインイネーブルタイミング制御回路２１２より制御信号を受ける。白付加無しの場合は、ラインイネーブルタイミング制御によりラインイネーブル信号（EZi)の先頭で拡大リードアドレスカウンタ２１１にプリセットアドレスがロードされ、ＲＣＵＰが１の時は画像クロック(CKVD)に同期して反転無しの場合はアドレス値をインクリメントし、また反転有りの場合はアドレス値をデクリメントして拡大リードアドレス(MRA)を発生する。
【０１０３】
図１２に主走査拡大率１４２％、プリセットアドレス＝０、反転無しのタイミング図を示す。反転の有無＝「無し」で且つプリセットアドレス＝０が指示されているので、同時に示すように、リードアドレス(MRA)はプリセットアドレスである最小値（＝０）から順次インクリメントされていくが、ＲＣＵＰが１のときはインクリメントするが、ＲＣＵＰが０のときはインクリメントせずにそのままアドレスを維持する。このとき、主走査拡大率（＝１４２％）に応じてIZMC＝IZMSの場合が発生してＲＣＵＰが０の期間が生じる。この期間では画素クロックが発生してもリードアドレス(MRA)が同じ値を維持するように制御するので、リード対象のラインメモリ１又はラインメモリ２から同じアドレスのデータ（Ｄ１、Ｄ３、Ｄ５）が繰り返し読み出されることとなる。この結果、ラインメモリ１又はラインメモリ２から拡大リード制御の下で読み出された画像データは、主走査方向に拡大されたデータ列となっている。
【０１０４】
このように、主走査拡大率が１００％以上の場合は、拡大リードアドレスカウンタ２１１が主走査拡大率に応じて生成したＲＣＵＰの状態に基づいて入力画像データクロック(CKVD)に同期してリードアドレスをカウントアップさせる場合とカウントアップさせない場合とを存在させるようにしたので、当該リードアドレス(MRA)にしたがってラインメモリ１又はラインメモリ２の読み出しを実行すれば、図１２に示すように拡大処理された画像データがラインメモリ１又はラインメモリ２から出力されることとなる。
【０１０５】
図１３に主走査拡大率１４２％、プリセットアドレス＝１０００、反転有りのタイミング図を示す。まず、鏡像反転について説明する。「反転」とは、入力画像を鏡像反転させることを意味している。入力画像のラインデータをラインの先頭位置から順番にライトアドレスをインクリメントしながらラインメモリ１，２に記憶した場合、リードアドレスをラインの最後尾が記憶されたアドレスから順次デクリメントして行くことにより、ラインデータの最後尾から先頭に向けて順に読み出されることになる。このようにして読み出されたラインデータから画像を合成すれば入力画像に対する鏡像が形成される。なお、鏡像は入力画像全体に対して生成することもできるが、プリセットアドレスをラインの途中に設定することにより、部分的な鏡像を形成することも可能である。
【０１０６】
図１３に示すように、拡大リードアドレス(MRA)を、プリセットアドレス＝１０００から順にデクリメントしている。このとき、主走査拡大率（＝１４２％）に応じてIZMC＝IZMSの場合が発生してＲＣＵＰが０となる期間が生じる。この期間では画素クロックが発生してもリードアドレス(MRA)が同じ値を維持するように制御するので、リード対象のラインメモリ１又はラインメモリ２から同じアドレスのデータ（Ｄ９９９、Ｄ９９７、Ｄ９９５）が繰り返し読み出されることとなる。この結果、ラインメモリ１又はラインメモリ２から拡大リード制御の下で読み出された画像データは、鏡像反転されていて、且つ主走査方向に拡大された状態となっている。
【０１０７】
このように、主走査拡大率が１００％以上で、且つ反転有りの場合は、拡大リードアドレスカウンタ２１１がプリセットアドレスから順にデクリメントし、さらに主走査拡大率に応じて生成したＲＣＵＰの状態に基づいて入力画像データクロック(CKVD)に同期してリードアドレスをデクリメントさせる場合とデクリメントさせないさせない場合とを存在させるようにしたので、当該リードアドレス(MRA)にしたがってラインメモリ１又はラインメモリ２の読み出しを実行すれば、図１３に示すように鏡像反転され、且つ拡大処理された画像データがラインメモリ１又はラインメモリ２から出力されることとなる。
【０１０８】
次に、白付加有りでかつ左側付加の場合のリードアドレス制御について説明する。ここで、「白付加」とはライン上における読み出し開始位置を左方向又は右方向へ所定画素だけシフトすることにより、画像の左又は右側に何も記録されない白領域を形成することを意味する。「左側付加」とは白領域を画像の左側に形成し、「右側付加」とは白領域を画像の右側に形成することを意味する。
【０１０９】
図１０において、拡大リードアドレスカウンタ２１１は、ラインイネーブルタイミング制御回路２１２によるラインイネーブルタイミング制御により、ラインイネーブル信号（EZi)の先頭位置から白付加画素数分シフトした位置でプリセットアドレスがロードされ、そしてＲＣＵＰが１の時は、画像クロック(CKVD)に同期してアドレス値をインクリメントし（反転無しの場合）又はアドレス値をデクリメントして（反転有りの場合）、拡大リードアドレス(MRA)を発生させる。
【０１１０】
出力ラインイネーブル信号（EZo)は、ラインイネーブル信号（EZi)の先頭位置から有効とし、また白マーカ信号（DWM)はラインイネーブル信号（EZi)の先頭位置から白付加画素数分の白マーカ信号（DWM)を出力する。
【０１１１】
一方、白付加有りでかつ右側付加の場合は、拡大リードアドレスカウンタ２１１は、ラインイネーブルタイミング制御によりラインイネーブル信号（EZi)の先頭位置からプリセットアドレスがロードされ、ＲＣＵＰが１の時は画像クロック(CKVD)に同期してアドレス値をインクリメントし（反転無しの場合）、又はアドレス値をデクリメントして（反転有りの場合）、拡大リードアドレス(MRA)を発生させる。
【０１１２】
出力ラインイネーブル信号（EZo)は、ラインイネーブル信号（EZi)の先頭位置から有効とし、また白マーカ信号（DWM)はラインイネーブル信号（EZi)の終了位置に白付加画素数分の白マーカ信号（DWM)を出力する。
【０１１３】
図１４に白付加有り１００ｐｉｘ左側付加、主走査拡大率１４２％、プリセットアドレス＝０、反転無しのタイミング図を示す。同図に示すように、ラインイネーブル信号（EZi)の先頭位置から１００画素分シフトした位置で、プリセットアドレス＝０がロードされる。したがって、ラインイネーブル信号（EZi)の先頭位置から１００画素分シフトした位置までは白マーカ信号（DWM)が出力されるので後段での画像形成では、当該部分は画像が形成されない白領域となる。
【０１１４】
そして、１００画素分シフトした位置から主走査拡大率１４２％に応じて決まるＲＣＵＰの状態に基づいて拡大リード制御が開始され、ラインイネーブル信号（EZi)の終了位置で停止される。この結果、図１４に示すように左側に１００画素分の空白領域が形成される。なお、図１４ではプリセットアドレスを０にして白領域終了後に画像の左端から形成されるように制御しているが、画像形成開始位置はプリセットアドレスによって任意に設定可能である。
【０１１５】
このように、左とじしろ設定で主走査拡大の場合は、リードアドレスは指定画素数分の白画素（白マーカ信号（DWM)）を出力した後に主走査拡大率に応じて入力画像データクロックに同期してカウントアップする場合としない場合が存在し、ライトアドレスは入力画像データクロックでカウントアップするので、容易に左とじしろを形成することができる。
【０１１６】
図１５に白付加有りで１００画素右側付加、主走査拡大率１４２％、プリセットアドレス＝７０、反転無しのタイミング図を示す。同図に示すように、ラインイネーブル信号（EZi)の先頭位置でプリセットアドレス＝７０がロードされて、ＲＣＵＰの状態に応じた拡大リード制御が実行され、当該ライン右端から１００画素手前の位置でラインメモリからの読み出しデータに代えて白マーカー信号(DMW)が出力される。そして、ラインイネーブル信号（EZi)の終了位置で停止される。この結果、図１５に示すように右側に１００画素分の空白領域が形成される。なお、図１５ではプリセットアドレスを７０にして画像の左端が７０画素分だけかけるように制御したが、画像形成開始位置はプリセットアドレスによって任意に設定可能である。
【０１１７】
次に、主走査拡大縮小率が１００％未満の場合について説明する。図１０に示す倍率判定回路２０１は、主走査拡大縮小率が１００％未満の場合であればＭＧ１００信号を０とする。
【０１１８】
ＭＧ１００信号が０となった場合は、以下の処理により縮小ライトアドレス(RWA)と縮小画素数カウント値(DPC)、主走査線形補間係数(BLKM)の発生を行う。
【０１１９】
後述するＷＣＵＰの状態により、ＷＣＵＰ＝１の場合、逆数演算回路２０２で主走査拡大縮小率（MM）の逆数（1/MM)を求め、加算回路２０３で累積カウント値（ZMC)と加算する。加算値はセレクタ２０４を介してＦＦ回路２０５へ入力され、そこから画像クロック(CKVD)に同期して次の累積カウント値（ZMC)として出力される。
【０１２０】
ＷＣＵＰ＝０の場合、累積カウント値（ZMC)をセレクタ２０４を介して再びＦＦ回路２０５へ入力して、そこから画像クロック(CKVD)に同期して次の累積カウント値（ZMC)として出力する。
【０１２１】
小数点以下抽出回路２０６は、累積カウント値（ZMC)の小数点以下を主走査線形補間係数(BLKM)として出力する。
【０１２２】
また、比較器２１２は、累積カウント値（ZMC)の少数点以下を切り捨てた値(IZMC)と画像クロック(CKVD)に同期した入力画素数カウンタ値（ERWA)とを比較し、IZMC＝ERWAの場合、前記ＷＣＵＰを１としそれ以外の場合は０とする。
【０１２３】
縮小ライトアドレスカウンタ２１３は、ラインイネーブルタイミング制御回路２１２によるラインイネーブルタイミング制御下のラインイネーブル信号（EZi)の先頭でカウンタクリアされ、前記ＷＣＵＰが１の時、画像クロック(CKVD)に同期しアドレス値をインクリメントし、縮小ライトアドレス(RWA)を発生させる。
【０１２４】
白付加無しの場合、縮小リードアドレスカウンタ２１４は、ラインイネーブルタイミング制御回路２１２によるラインイネーブルタイミング制御下のラインイネーブル信号（EZi)の先頭でカウンタにプリセットアドレスがロードされ、画像クロック(CKVD)に同期し、アドレス値をインクリメントし（反転無しの場合）、又はアドレス値をデクリメントして（反転有りの場合）、縮小リードアドレス(RRA)を発生させる。
【０１２５】
一方、縮小画素数カウンタ２１５は、ＷＣＵＰが１の時はカウンタ値をクリアし、画像クロック(CKVD)に同期して縮小画素数カウント値（DPC)をカウントアップさせる。
【０１２６】
図１６に主走査拡大率７１％、プリセットアドレス＝０、反転無しのタイミング図を示す。比較器２１２の比較結果を示すＷＣＵＰが０のときは、縮小ライトアドレスカウンタ２１３の発生するライトアドレス(RWA)が変化しない。ライトアドレス(RWA)が変化しなかった位置（３，５）では、次の画素データが上書きされるので、画像データが主走査方向に縮小されることになる。
【０１２７】
図１７に主走査拡大率７１％、プリセットアドレス＝１０００、反転有りのタイミング図を示す。同図に示すように、縮小ライトアドレスカウンタ２１３の発生するライトアドレス(RWA)は、プリセットアドレス＝１０００からデクリメントされるので鏡像反転が行われる。また、ＷＣＵＰが０のときは、縮小ライトアドレスカウンタ２１３の発生するライトアドレス(RWA)が変化しないので、画像データが主走査方向に縮小されることになる。
【０１２８】
一方、白付加有りでかつ左側付加の場合は、縮小リードアドレスカウンタ２１４は、ラインイネーブルタイミング制御回路２１２によるラインイネーブルタイミング制御下のラインイネーブル信号（EZi)の先頭位置から白付加画素数分シフトした位置でプリセットアドレスがロードされ、画像クロック(CKVD)に同期してアドレス値をインクリメントし（反転無しの場合）、またはアドレス値をデクリメントして（反転有りの場合）、縮小リードアドレス(RRA)を発生させる。
【０１２９】
出力ラインイネーブル信号（EZo)は、ラインイネーブル信号（EZi)の先頭位置から有効とし、また白マーカ信号（DWM)はラインイネーブル信号（EZi)の先頭位置から白付加画素数分の白マーカ信号（DWM)を出力する。
【０１３０】
白付加有りでかつ右側付加の場合は、縮小リードアドレスカウンタ２１４は、ラインイネーブルタイミング制御回路２１２によるラインイネーブルタイミング制御下のラインイネーブル信号（EZi)の先頭位置からプリセットアドレスがロードされ、画像クロック(CKVD)に同期してアドレス値をインクリメントし（反転無しの場合）、又はアドレス値をデクリメントして（反転有りの場合）、縮小リードアドレス(RRA)を発生させる。
【０１３１】
出力ラインイネーブル信号（EZo)は、ラインイネーブル信号（EZi)の先頭位置から有効とし、また白マーカ信号（DWM)はラインイネーブル信号（EZi)の終了位置に白付加画素数分の白マーカ信号（DWM)を出力する。
【０１３２】
次に、図１１を参照しながら副走査側ブロック３００における副走査縮小率設定に関係する処理について説明する。
【０１３３】
後述するＣＵＰ１の状態が１の場合、逆数演算回路３０１により副走査拡大縮小率（SM）の逆数（1/SM)を求め、加算回路３０２により累積カウント値（ZSC)と加算し、その加算値をセレクタ３０３を介してＦＦ回路３０４に入力する。ＦＦ回路３０４が画像クロック(CKVD)に同期して加算値を次の累積カウント値（ZSC)として出力する。
【０１３４】
ＣＵＰ１が０の場合、累積カウント値（ZSC)はセレクタ３０３を介してＦＦ回路３０４に入力する。そして、ＦＦ回路３０４から画像クロック(CKVD)に同期して累積カウント値（ZSC)を次の累積カウント値（ZSC)として出力する。累積カウント値（ZSC)は、小数点以下抽出回路３０５及び小数点以下切り捨て回路３０６に入力される。
【０１３５】
小数点以下抽出回路３０５は、累積カウント値（ZSC)の小数点以下を抽出して副走査線形補間係数(BLKS)として出力する。
【０１３６】
また、小数点以下切り捨て回路３０６は、累積カウント値（ZSC)の小数点以下を切り捨てて、比較器３０７へ入力する。比較器３０７は、累積カウント値（ZSC)の少数点以下を切り捨てた値(IZSC)と、画像イネーブル入力(EZi)に同期してカウントアップする入力ラインカウンタ３０８のカウント値（ILSC)とを比較し、IZSC＝ILSCの場合は前記ＣＵＰ１を１とし、それ以外の場合は０とする。
【０１３７】
前記ＣＵＰ１はＦＦ回路３０９に入力され、そこで画像イネーブル入力(EZi)に同期してシフトしてＣＵＰ２として出力される。また、前記入力ラインカウンタ３０８の出力信号（ILSC)は、最下位ビット抽出回路３１０に入力される。最下位ビット抽出回路３１０は、ILSCの最下位ビットを抽出してLMSELとして出力する。
【０１３８】
データパス・ラインメモリ制御回路４００では、図２の真理値表に従いデータパス制御信号を発生し、図３の真理値表に従いラインメモリ制御信号を発生させる。
【０１３９】
図２において、データパス制御信号を決定するのは副走査補正モード(SMOD)、現ライン出力有効(ＣＵＰ２)、次ライン出力有効(ＣＵＰ１)信号の状態である。
【０１４０】
副走査補正モード(SMOD)は、副走査方向の縮小処理方法を選択する信号であり、SMOD=0の場合は縮小処理により間引かれる事が決定されたラインの画像データを次ラインデータとの加算平均により、次ラインの画像データに反映させる処理であり、主走査倍率として拡大と縮小の両方に対応する事が可能である。
【０１４１】
SMOD=1の場合は、副走査縮小率の逆数の累積値で決まるライン位置情報により線形補間演算を行う処理であり、主走査倍率として縮小のみに対応する事が可能である。
【０１４２】
現ライン出力有効(ＣＵＰ２)は、０の場合は現ラインは間引きされるラインであり出力は発生せず、１の場合は次のラインは存続されるラインであり出力は発生する事を示している。
【０１４３】
次ライン出力有効(ＣＵＰ１)は、０の場合は次のラインは間引きされるラインであり、１の場合は次のラインは存続されるラインである事を示している。
【０１４４】
また、ＬＭＳＥＬ信号はラインイネーブル信号（EZi)に同期して、１，０が入れ替わる信号であり、０の場合はラインメモリ１がリード、ラインメモリ２がライトである。１の場合はラインメモリ１がライト、ラインメモリ２がリードとなる。
【０１４５】
図３において、ラインメモリ制御信号を決定するのは、副走査補正モード(SMOD)、現ライン出力有効(ＣＵＰ２)、次ライン出力有効(ＣＵＰ１)信号、主走査倍率、及び前述のＬＭＳＥＬ信号の状態である。
【０１４６】
副走査補正モード(SMOD)が０の場合、ラインメモリ１、ラインメモリ２は共にシングルポート動作となり、前述のＬＭＳＥＬ信号に応じてライン毎にリード状態またはライト状態とする。
【０１４７】
主走査倍率が１００％以上の場合、現ライン出力有効(ＣＵＰ２)が1（出力有り）の場合は、ライトアドレスは図１０の入力画素数カウンタ２１６のアドレス(ERWA)とし、リードアドレスは図１０の拡大リードアドレス（MRA)とする。
【０１４８】
また、現ライン出力有効(ＣＵＰ２)が０（出力無し）の場合は、リードアドレス、ライトアドレス共に図１０の入力画素数カウンタ２１６のアドレス(ERWA)とする。
【０１４９】
また、主走査倍率が１００％未満の場合は、現ライン出力無効(ＣＵＰ２＝０)，次ライン出力有効(ＣＵＰ１＝１)の場合は、ライトアドレスは図１０の縮小ライトアドレス(RWA)、リードアドレスは図１０の入力画素数カウンタのアドレス(ERWA)とする。
【０１５０】
現ライン出力有効(ＣＵＰ２＝１)，次ライン出力有効(ＣＵＰ１＝１)の場合は、ライトアドレスは図１０の縮小ライトアドレス(RWA)、リードアドレスは図１０の縮小リードアドレスカウンタ２１４のアドレス(RRA)とする。
【０１５１】
現ライン出力無効(ＣＵＰ＝０)，次ライン出力無効(ＣＵＰ１＝０)の場合は、リードアドレス、ライトアドレス共に図１０の入力画素数カウンタ２１６のアドレス(ERWA)とする。
【０１５２】
現ライン出力有効(ＣＵＰ２＝１)，次ライン出力無効(ＣＵＰ１＝０)の場合は、リードアドレスは図１０の縮小リードアドレスカウンタ２１４のアドレス(RRA)、ライトアドレス共に図１０の入力画素数カウンタ２１６のアドレス(ERWA)とする。
【０１５３】
次に、副走査補正モード(SMOD)が１の場合、ラインメモリ１、ラインメモリ２は共にデュアルポート動作となり、ラインメモリ１はライトアドレスが図１０の入力画素数カウンタ２１６のアドレス(ERWA)と同一値の等倍ライトアドレス（EWA)とし、リードアドレスは図１０の入力画素数カウンタ２１６のアドレス(ERWA)に１を足した等倍リードアドレス（ERA)する。
【０１５４】
ラインメモリ２は、リードアドレスに図１０の入力画素数カウンタ２１６のアドレス(ERWA)、ライトアドレスに図１０の縮小ライトアドレス(RWA)とする。
【０１５５】
次に、主走査縮小補間回路１０２について説明する。図１８は主走査縮小補間回路１０２の構成図である。主走査縮小補間回路１０２に入力する画像データ(MRCIp)はセレクタ(SEL2)により選択される。画像データ(MRCIp)は、タップ付きシフトレジスタ８０１を構成している先頭のＦＦ回路に入力する。タップ付きシフトレジスタ８０１は、入力した画像データ(MRCIp)を画像クロック(CK)に同期させてシフトし、タップ付きシフトレジスタ８０１を構成する各ＦＦ回路から画像データ（PD1〜PD4)を出力している。先頭及び２番目のＦＦ回路から出力される画像データ（PD1，PD2）は、線形補間演算器１０４に対してDS2BD(PD1)、DS1BD（PD2）として出力される。
【０１５６】
また、平均値回路８０２は、画像データ（PD1〜PD4)及び画素間引き数を示す信号であるDPCが入力し、画像データ（PD1〜PD4)の平均値を計算して出力する。最小値検出回路８０３は、画像データ（PD1〜PD4)の中から最小値を選択して出力する。差分判定回路８０４は、画像データ（PD1〜PD4)の差分を計算してその差分値を出力する。最小値検出回路８０３及び差分判定回路８０４は、黒細線を保存するために設けられたものである。そして、平均値回路８０２の出力はセレクタ８０５及びセレクタ８０６を介して補正画像出力(MRCOp)として出力される。以下、セレクタ８０５及びセレクタ８０６の選択動作を決める条件について詳述する。
【０１５７】
補正画像出力(MRCOp)は以下の条件に応じて、画像処理を選択する。
【０１５８】
主走査縮小補正処理選択が線形補間処理、主走査黒画素保存処理選択が保存処理無効に設定された場合は、外部の線形補間演算器１０４の出力データBLODを補正画像出力(MRCOp)として出力する。
【０１５９】
主走査縮小補正処理選択が線形補間処理、主走査黒画素保存処理選択が保存処理有効に設定された場合は、
｜PD1−PD2｜＜主走査黒画素判定閾値
であれば、外部の線形補間演算器１０４の出力データBLODを補正画像出力(MRCOp)として出力し、
｜PD1−PD2｜≧主走査黒画素判定閾値
であれば、最小値検出回路８０３によりPD1とPD2を比較し、低いレベルの方を補正画像出力(MRCOp)として出力する。
【０１６０】
主走査縮小補正処理選択が平均補間処理、主走査黒画素保存処理選択が保存処理無効に設定された場合は、DPCの値に応じて画像データ（PD1〜PD4)の平均値が演算され、線形補間演算器１０４の出力データBLODを補正画像出力(MRCOp)として出力する。
DPC=0の場合:BLOD=PD1
DPC=1の場合:BLOD=(PD1+PD2)/2
DPC=2の場合:BLOD=(PD1+PD2+PD3)/3
DPC=3の場合:BLOD=(PD1+PD2+PD3+PD4)/4
となる。
【０１６１】
主走査縮小補正処理選択が平均補間処理、主走査黒画素保存処理選択が保存処理有効に設定された場合は、差分判定回路８０４で計算されるDPCの値と画像データ（PD1〜PD4)間の隣接画素との差分値と、主走査黒画素判定閾値とにより以下の様に補正画像出力(MRCOp)として出力する。
DPC=0の場合：BLOD=PD1
DPC=1の場合:
｜PD1−PD2｜＜主走査黒画素判定閾値
であれば、BLOD=(PD1+PD2)/2
｜PD1−PD2｜≧主走査黒画素判定閾値
であれば、BLOD=min(PD1,PD2)
なお、min（A,B,C・・)は、A,B,C・・中の最小値である。
DPC=2の場合:
｜PD1−PD2｜≧主走査黒画素判定閾値、または
｜PD2−PD3｜≧主走査黒画素判定閾値
であれば、BLOD=min(PD1,PD2,PD3)
それ以外の場合は、BLOD = (PD1+PD2+PD3)/3である。
DPC=3の場合:
｜PD1−PD2｜≧主走査黒画素判定閾値、または
｜PD2−PD3｜≧主走査黒画素判定閾値、または
｜PD3−PD4｜≧主走査黒画素判定閾
であれば、BLOD=min（PD1,PD2,PD3,PD4）
それ以外の場合は、BLOD=(PD1+PD2+PD3+PD4)/4
である。
【０１６２】
次に、主走査拡大補間回路１０３について説明する。図１９は主走査拡大補間回路１０３の構成図である。ＦＦ回路９０１と９０２が直列に接続された構成をしている。画像データ(MRCIp)は、ＲＣＵＰ信号が”Ｈ”時、画像クロック(CK)に同期させてシフトして画像データ（PD1〜PD2)を発生する。発生した画像データ（PD1〜PD2)は、外部の線形補間演算器１０４に対してPD1をDS2AD、PD2をDS1ADとして出力する。
【０１６３】
また、外部の線形補間演算器１０４からの出力データBLODを入力する一方、主走査拡大補間画像データ（MMCOp)を出力する。
【０１６４】
次に副走査縮小補間回路１０１について説明する。図２０は副走査縮小補間回路１０１の構成図である。副走査縮小補間画像出力データ（SROp）は、副走査縮小補正処理選択機能が平均補間処理、副走査黒画素保存処理が無効の場合、加算平均回路９１１で計算される、２つの画像データ入力（DZpi,MSRIp）の加算平均データ（SRAVp）を、セレクタ９１２、９１３を介して副走査縮小補間出力データ（SROp）として出力する。この場合、副走査縮小補間出力データ（SROp）は下式にて表される。
【０１６５】
SROp=（DZpi+MSRIp)/2
また、副走査縮小補正処理選択機能が平均補間処理、副走査黒画素保存処理が有効の場合、差分判定回路９１４で計算されるDZpi,MSRIpが、
｜DZpi−MSRIp｜＜副走査黒画素判定閾値
であれば、加算平均回路９１１で計算される、２つの画像データ入力（DZpi,MSRIp）の加算平均データ（SRAVp）を副走査縮小補間出力データ（SROp）として出力する。この場合、副走査縮小補間出力データ（SROp）は下式にて表される。
【０１６６】
SROp=（DZpi+MSRIp)/2
また、｜DZpi−MSRIp｜≧副走査黒画素判定閾値
であれば、最小値検出回路９１５で検出される２つの画像データ入力（DZpi,MSRIp）のうち小さい方のデータを出力する。この場合、副走査縮小補間出力データ（SROp）は下式にて表される。
【０１６７】
SROp= min（DZpi,MSRIp）
また、副走査縮小補正処理選択機能が線形補間処理、副走査黒画素保存処理が無効の場合は、２つの画像データ入力（DZpi,MSRIp）と拡大縮小制御回路１００からの線形補間係数（BLKS）により線形補間演算器９１６にて、以下の演算式により副走査縮小補間出力データ（SROp）を演算する。
【０１６８】
SROp=MSRIp×（1-BLKS)＋DZpi×BLKS
また、副走査縮小補正処理選択機能が線形補間処理、副走査黒画素保存処理が有効の場合は、２つの画像データ入力（DZpi,MSRIp）と拡大縮小制御回路１００からの線形補間係数（BLKS），及び副走査黒画素判定閾値により線形補間演算器９１６、最小値検出回路９１５、差分判定回路９１４にて、以下の演算式により副走査縮小補間出力データ（SROp）を演算する。
｜DZpi−MSRIp｜＜副走査黒画素判定閾値
であれば、SROp=MSRIp×（1-BLKS)＋DZpi×BLKS
｜DZpi−MSRIp｜≧副走査黒画素判定閾値
であれば、SROp=min（DZpi,MSRIp）
なお、本発明は上記実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で種々変形実施可能である。
【０１６９】
【発明の効果】
以上詳記したように本発明によれば、主走査拡大率の最大値によらず、高速のラインメモリを必要とせずに、かつ出力データレートを一定とする事が可能な拡大縮小処理を実現する画像処理装置を提供できる。
【図面の簡単な説明】
【図１】本発明の一実施の形態に係る画像処理装置における拡大縮小処理回路の構成図
【図２】上記実施の形態における拡大縮小制御回路のデータパス制御アルゴリズムとなる論理値表を示す図
【図３】上記実施の形態における拡大縮小制御回路のラインメモリ制御アルゴリズムとなる論理値表を示す図
【図４】上記実施の形態における副走査縮小補間モードのタイムチャートを示す図
【図５】上記実施の形態における副走査縮小補間モードの図４の残りの部分のタイムチャートを示す図
【図６】上記実施の形態における副走査縮小補間モードの別のタイムチャートを示す図
【図７】上記実施の形態における副走査縮小補間モードの図６の残りの部分のタイムチャートを示す図
【図８】上記実施の形態における副走査縮小補間モードの別のタイムチャートを示す図
【図９】上記実施の形態における副走査縮小補間モードの図８の残りの部分のタイムチャートを示す図
【図１０】上記実施の形態における拡大縮小制御回路の主走査拡大縮小ブロック側の構成図
【図１１】上記実施の形態における拡大縮小制御回路の副走査縮小ブロック側の構成図
【図１２】上記実施の形態における主走査拡大処理のタイミング図
【図１３】上記実施の形態における反転有りの場合の主走査拡大処理のタイミング図
【図１４】上記実施の形態における左とじしろ有りの場合の主走査拡大処理のタイミング図
【図１５】上記実施の形態における右とじしろ有りの場合の主走査拡大処理のタイミング図
【図１６】上記実施の形態における主走査縮小処理のタイミング図
【図１７】上記実施の形態における反転有りの場合の主走査縮小処理のタイミング図
【図１８】上記実施の形態における主走査縮小補間回路の構成図
【図１９】上記実施の形態における主走査拡大補間回路の構成図
【図２０】上記実施の形態における副走査縮小補間回路の構成図
【図２１】従来の拡大縮小処理回路の構成図
【符号の説明】
１００  拡大縮小制御回路
１０１  副走査縮小補間回路
１０２  主走査縮小補間回路
１０３  主走査拡大補間回路
１０４  線形補間演算器
２０２  逆数演算回路
２０３  加算回路
２０４  セレクタ
２０５  ＦＦ回路
２０６  小数点以下抽出回路
２０８  小数点以下切り捨て回路
２０９  比較器
２１１  拡大リードアドレスカウンタ
２１２  ラインイネーブルタイミング制御回路
３０１  逆数演算回路
３０２  加算回路
３０３  セレクタ
３０４  ＦＦ回路
３０５  小数点以下抽出回路
３０６  小数点以下切り捨て回路
３０７  比較器
３０８  入力ラインカウンタ
３１０  最下位ビット抽出回路
【図１】
0003851567.tif 000002
【図２】
0003851567.tif 000003
【図３】
0003851567.tif 000004
【図４】
0003851567.tif 000005
【図５】
0003851567.tif 000006
【図６】
0003851567.tif 000007
【図７】
0003851567.tif 000008
【図８】
0003851567.tif 000009
【図９】
0003851567.tif 000010
【図１０】
0003851567.tif 000011
【図１１】
0003851567.tif 000012
【図１２】
0003851567.tif 000013
【図１３】
0003851567.tif 000014
【図１４】
0003851567.tif 000015
【図１５】
0003851567.tif 000016
【図１６】
0003851567.tif 000017
【図１７】
0003851567.tif 000018
【図１８】
0003851567.tif 000019
【図１９】
0003851567.tif 000020
【図２０】
0003851567.tif 000021
【図２１】
0003851567.tif 000022