(57)【特許請求の範囲】
【請求項１】
画像を変倍するための画像処理装置であって、
変倍率に応じて算出される位相情報制御パラメータを用いて、変倍後の注目画素位置と前記注目画素近傍の元画像の各画素位置との距離を求め、前記距離に応じて各画素位置での係数を演算する係数演算処理手段と、
前記係数を用いて画像データに畳み込み演算を行う変倍手段と、
指定された変倍率が所定の範囲にない場合、前記所定の範囲内の変倍率による変倍処理を、前記指定された変倍率に達するまで前記変倍手段に繰り返させる制御手段とを備え、
前記変倍手段は、変倍後の画像のもつ空間周波数成分が元画像のナイキスト周波数を越えないように帯域制限する周波数特性のフィルタを用いて変倍することを特徴とする画像処理装置。
【請求項２】
前記変倍手段により変倍された画像データを一時格納するための記憶手段を更に備え、
前記制御手段は、変倍した画像データを前記記憶手段にいったん記憶させた後、その画像データに対して前記変倍手段により変倍処理を行わせることで、変倍処理を繰り返すことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記所定の範囲とは、前記変倍手段により変倍後の１画素の値を求めるために用いる元画像における画素数が所定数を越えない範囲であることを特徴とする請求項１乃至２のいずれか１項に記載の画像処理装置。
【請求項４】
前記所定数とは、元画像において、変倍後の注目画素位置からのＸＹ方向それぞれについての距離に変倍率を乗じた値が２未満となるような位置にある画素の数であることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記所定の範囲とは、前記所定数が８×８以下となるような変倍率の範囲であることを特徴とする請求項３又は４に記載の画像処理装置。
【請求項６】
前記所定の範囲とは０．５以上であることを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記所定の範囲とは、変倍率１をはさんで所定値以上または所定値以下であることを特徴とする請求項１に記載の画像処理装置。
【請求項８】
前記所定の範囲とは０．９以下または１．１以上であることを特徴とする請求項７に記載の画像処理装置。
【請求項９】
画像処理装置における、画像を変倍するための画像処理方法であって、
変倍率に応じて算出される位相情報制御パラメータを用いて、変倍後の注目画素位置と前記注目画素近傍の元画像の各画素位置との距離を求め、前記距離に応じて各画素位置での係数を演算する係数演算処理工程と、
前記係数を用いて画像データに畳み込み演算を行う変倍工程と、
指定された変倍率が所定の範囲にない場合、前記所定の範囲内の変倍率による変倍処理を、前記指定された変倍率に達するまで前記変倍手段に繰り返させる制御工程とを備え、
前記変倍工程は、変倍後の画像のもつ空間周波数成分が元画像のナイキスト周波数を越えないように帯域制限する周波数特性のフィルタを用いて変倍することを特徴とする画像処理方法。
【請求項１０】
前記変倍工程においては、変倍された画像データを記憶手段に一時格納し、記憶した画像データに対して変倍処理を行うことで、変倍処理を繰り返すことを特徴とする請求項９に記載の画像処理方法。
【請求項１１】
前記所定の範囲とは、前記変倍工程により変倍後の１画素の値を求めるために用いる元画像における画素数が所定数を越えない範囲であることを特徴とする請求項９又は１０に記載の画像処理方法。
【請求項１２】
前記所定数とは、元画像において、変倍後の注目画素位置からのＸＹ方向それぞれについての距離に変倍率を乗じた値が２未満となるような位置にある画素の数であることを特徴とする請求項１１に記載の画像処理方法。
【請求項１３】
前記所定の範囲とは、前記所定数が８×８以下となるような変倍率の範囲であることを特徴とする請求項１１又は１２に記載の画像処理方法。
【請求項１４】
前記所定の範囲とは０．５以上であることを特徴とする請求項１３に記載の画像処理方法。
【請求項１５】
前記所定の範囲とは、変倍率１をはさんで所定値以上または所定値以下であることを特徴とする請求項９に記載の画像処理方法。
【請求項１６】
前記所定の範囲とは０．９以下または１．１以上であることを特徴とする請求項１５に記載の画像処理方法。
【請求項１７】
コンピュータにより画像を変倍するためのコンピュータプログラムを格納するコンピュータ可読記憶媒体であって、
変倍率に応じて算出される位相情報制御パラメータを用いて、変倍後の注目画素位置と前記注目画素近傍の元画像の各画素位置との距離を求め、前記距離に応じて各画素位置での係数を演算する係数演算処理工程のプログラムコードと、
前記係数を用いて画像データに畳み込み演算を行う変倍工程のプログラムコードと、
指定された変倍率が所定の範囲にない場合、前記所定の範囲内の変倍率による変倍処理を、前記指定された変倍率に達するまで前記変倍手段に繰り返させる制御工程のプログラムコードとを含み、
前記変倍工程のプログラムコードにより、変倍後の画像のもつ空間周波数成分が元画像のナイキスト周波数を越えないように帯域制限する周波数特性のフィルタを用いて変倍されることを特徴とするコンピュータ可読の記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像を変倍する画像処理装置および方法に関する。
【０００２】
【従来の技術】
画像を変倍する処理として、ニアレストネイバー法が知られている。この方法は、変倍後の注目画素に最も近い元の画像データの画素を選択して補間する方法である。また、双３次補間法などの処理もよく用いられている。
【０００３】
【発明が解決しようとする課題】
ニアレストネイバー法は、最近傍の画素データを使用するだけであるため、モアレが発生しやすく、画像の拡大であれば画素が荒く見えるなど、変倍された画像の劣化が著しい。
【０００４】
双３次補間法は、画質はニアレストネイバー法に比較するとよいが、解像度を保つために、縮小変倍時に周期性のある原稿、例えば印刷物原稿を読み取った画像を処理する際に、モアレ縞が発生し画質が劣化してしまうという問題がある。
【０００５】
また、モアレ縞の発生を抑制するために、双３次補間法を改良して、補間を行う画素数を一般的な４画素よりも増やすように構成することも提案されている。しかし、例えば２５％の縮小時にモアレが発生しないようなローパス効果を期待するには１６画素ものデジタルフィルタを構成しなければならず、特にハードウエアで実現する場合、回路規模などの問題でコストが高くなるという問題がある。
【０００６】
本発明は上記従来例に鑑みて成されたもので、変倍率に応じてローパスフィルタの特性を制御することによって、不必要に解像力を落すこと無く、かつモアレなどの周期的な縞模様の発生を抑えた変倍画像を作成することができ、また、画像に同様な変倍処理を複数回行うことで、少ないリソース、コストで、より高画質な縮小画像を提供できる画像処理装置および方法を提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記目的を達成するために本発明は次のような構成からなる。
【０００８】
画像を変倍するための画像処理装置であって、変倍率に応じて算出される位相情報制御パラメータを用いて、変倍後の注目画素位置と前記注目画素近傍の元画像の各画素位置との距離を求め、前記距離に応じて各画素位置での係数を演算する係数演算処理手段と、前記係数を用いて画像データに畳み込み演算を行う変倍手段と、指定された変倍率が所定の範囲にない場合、前記所定の範囲内の変倍率による変倍処理を、前記指定された変倍率に達するまで前記変倍手段に繰り返させる制御手段とを備え、前記変倍手段は、変倍後の画像のもつ空間周波数成分が元画像のナイキスト周波数を越えないように帯域制限する周波数特性のフィルタを用いて変倍する。
【０００９】
さらに好ましくは、前記変倍手段により変倍された画像データを一時格納するための記憶手段を更に備え、前記制御手段は、変倍した画像データを前記記憶手段にいったん記憶させた後、その画像データに対して前記変倍手段により変倍処理を行わせることで、変倍処理を繰り返す。
【００１１】
さらに好ましくは、前記所定の範囲とは、前記変倍手段により変倍後の１画素の値を求めるために用いる元画像における画素数が所定数を越えない範囲である。
【００１２】
さらに好ましくは、前記所定数とは、元画像において、変倍後の注目画素位置からのＸＹ方向それぞれについての距離に変倍率を乗じた値が２未満となるような位置にある画素の数である。
【００１３】
さらに好ましくは、前記所定の範囲とは、前記所定数が８×８以下となるような変倍率の範囲である。
【００１４】
さらに好ましくは、前記所定の範囲とは０．５以上である。
【００１５】
さらに好ましくは、前記所定の範囲とは、変倍率１をはさんで所定値以上または所定値以下である。
【００１６】
さらに好ましくは、前記所定の範囲とは０．９以下または１．１以上である。
【００１７】
以上の構成により、本発明によれば、変倍率に応じてローパスフィルタの特性を制御可能な変倍処理手段を持ち、不必要に解像力を落すこと無く、かつモアレなどの周期的な縞模様の発生を抑えた変倍画像を作成する。該結果画像に同様な処理を複数回行うことで、少ないリソース、コストで、より高画質な縮小画像を提供できる。
【００１８】
【発明の実施の形態】
（第一の実施形態）
以下、好ましい実施形態として、複写機についての詳細な説明をする。なお、本発明はこの実施形態に限るものではない。特に２値出力のプリンタを用いて、２値で画像を格納する記憶デバイスを装備するシステムとして記述されているが、多値プリンタ、多値画像を格納するように制御された記憶デバイスをもつシステムであってもよく、どちらの構成であっても、本発明の特徴を損なうものではないことは言うまでもない。
【００１９】
＜画像制御装置＞
画像制御装置１００の構成図を図１に示す。コントローラユニット１００は画像入力デバイスであるスキャナ２００や画像出力デバイスであるプリンタ３００と接続し、一方ではＬＡＮ７００や公衆回線（ＷＡＮ）８００接続することで、画像情報やデバイス情報の入出力を行う為のコントローラである。ＣＰＵ１０１はシステム全体を制御するコントローラである。ＲＡＭ１０２はＣＰＵ１０１が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。また、ハードディスクなどからＣＰＵ１０１により実行されるプログラムがロードされる。
【００２０】
ＲＯＭ１０３はブートＲＯＭであり、システムのブートプログラムが格納されている。ＨＤＤ１０４はハードディスクドライブで、システムソフトウェア、画像データ、画像出力装置の機能情報を格納する。操作部Ｉ／Ｆ１０６は操作部（ＵＩ）１６０とインターフェース部で、操作部１６０に表示する画像データを操作部１６０に対して出力する。また、操作部１６０から本システム使用者が入力した情報を、ＣＰＵ１０１に伝える役割をする。
【００２１】
ネットワークＩ／Ｆ１１０はＬＡＮ７００に接続し、情報の入出力を行う。モデム１２０は公衆回線８００に接続し、情報の入出力を行う。以上のデバイスがシステムバス１０７上に配置される。画像バスＩ／Ｆ１０５は、システムバス１０７と画像データを高速で転送する画像バス１０８を接続し、データ構造を変換するバスブリッジである。画像バス１０８は、ＰＣＩバスなどの高速バスで構成される。画像バス１０８上には以下のデバイスが配置される。
【００２２】
ラスターイメージプロセッサ（ＲＩＰ）１５０は、ＰＤＬコードをビットマップイメージに展開する。デバイスＩ／Ｆ部６００は、画像入出力デバイスであるスキャナ２００やプリンタ３００とコントローラ１００を接続し、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部４００は、入力画像データに対し補正，加工，編集を行う。プリンタ画像処理部５００は、プリント出力画像データに対して、プリンタの補正，解像度変換等を行う。画像変倍部１３０は画像データの変倍処理を行う。画像圧縮部１４０は、多値画像データはＪＰＥＧ、２値画像画像データはＪＢＩＧ，ＭＭＲ，ＭＨの圧縮伸張処理を行う。
【００２３】
また、ＨＤＤ１０４には、ネットワーク（ＬＡＮ７００）に接続されているノードに関する画像出力速度、設置位置などの情報がアドレス毎に保存されている。
【００２４】
＜画像入力部（スキャナ）＞
画像入力部であるスキャナ２００の外観を図２に示す。
【００２５】
画像入力デバイスであるスキャナ部２００は、原稿となる紙上の画像を照明し、図示しないＣＣＤラインセンサを走査することで、ラスターイメージデータとして電気信号に変換する。原稿用紙は原稿フィーダ２０１のトレイ２０２にセットし、装置使用者が操作部１６０から読取り起動指示することによりコントローラＣＰＵ１０１がスキャナ２００に指示を与え、フィーダ２０１は原稿用紙を一枚ずつフィードし原稿画像の読取り動作を行う。
【００２６】
＜画像出力部（プリンタ）＞
画像出力部であるプリンタ３００の外観を図３に示す。
【００２７】
画像出力デバイスであるプリンタ部３００は、ラスターイメージデータを用紙上の画像に変換する部分であり、その方式は感光体ドラムや感光体ベルトを用いた電子写真方式や、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作の起動はコントローラＣＰＵ１０１からの指示によって開始する。プリンタ部３００には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセット３０２−３０５がある。また、排紙トレイ３０６は印字し終わった用紙を受けるものである。
【００２８】
＜スキャナ画像処理部＞
スキャナ画像処理部４００の構成を図４に示す。画像バスＩ／Ｆコントローラ４０１は、画像バス１０８と接続し、そのバスアクセスシーケンスを制御する働きと、スキャナ画像処理部４００内の各デバイスの制御及びタイミングを発生させる。フィルタ処理部４０２は、空間フィルタでコンボリューション演算を行う。編集部４０３は、例えば入力画像データからマーカーペンで囲まれた閉領域を認識して、その閉領域内の画像データに対して、影つけ，網掛け，ネガポジ反転等の画像加工処理を行う。テーブル４０５は、読み取った輝度データである画像データを濃度データに変換するために、行うテーブル変換である。２値化４０６は、多値のグレースケール画像データを、誤差拡散処理やスクリーン処理によって２値化する。処理が終了した画像データは、再び画像バスコントローラ４０１を介して、画像バス上に転送される。
【００２９】
＜プリンタ画像処理部＞
プリンタ画像処理部５００の構成を図５に示す。画像バスＩ／Ｆコントローラ５０１は、画像バス１０８と接続し、そのバスアクセスシーケンスを制御する働きと、プリンタ画像処理部５００内の各デバイスの制御及びタイミングを発生させる。解像度変換部５０２は、ＬＡＮ７００あるいは公衆回線８００から来た画像データを、プリンタ３００の解像度に変換するための解像度変換を行う。スムージング処理部５０３は、解像度変換後の画像データのジャギー（斜め線等の白黒境界部に現れる画像のがさつき）を滑らかにする処理を行う。
【００３０】
図１１に本実施形態の処理を説明するための簡単なブロック図を示す。１１０１は画像入力部、１１０２は画像変倍部、１１０３はＣＰＵ、１１０４は画像記憶部、１１０５は画像出力部である。それぞれ、図１に記載されたブロックから、処理をわかりやすく説明するために抜き出して接続関係を表したものである。
【００３１】
画像入力部１１０１へ画像を入力する送り先のデバイスは、スキャナ２００からデバイスＩ／Ｆ６００経由で入力されてもよいし、ＬＡＮ７００やＷＡＮ８００経由でネットワークＩ／Ｆ１１０やMODEM１２０から入力されてもよいし、ＨＤＤ１０４やＲＡＭ１０２などの記憶デバイスに記憶された画像データから入力されてもよい。画像変倍部１１０２は、画像変倍１３０と同等のものである。ＣＰＵ１１０３はＣＰＵ１０１を示し、画像記憶部１１０４は、ＨＤＤ１０４やＲＡＭ１０２など画像を記憶するデバイスで、画像変倍部１１０２から読み書き可能であればどれでもよい。画像出力部１１０５は、画像記憶部１１０４からの出力を表しており、コピー動作時の変倍であれば、スキャナ画像処理４００へ、プリント動作時、ＦＡＸ受信時であればプリント画像処理部５００にそれぞれ送信されることになる。
【００３２】
図１１で、さらに本実施形態の動作を簡単に説明する。画像入力部１１０１から画像データが、ＣＰＵ１１０３から変倍率が画像変倍部１１０２にそれぞれ入力される。画像変倍部１１０２は、変倍率とローパスフィルタの特性をそれぞれ独立に制御可能な変倍処理手段である。変倍率に応じて、求められるローパスフィルタの特性は変化する。一般に変倍率が小さくなると、より低い周波数での帯域制限が求められる。低い周波数の帯域制限をするためには、フィルタのサイズを大きくする必要があり、回路規模、演算規模の点で問題がある。これを解決するために、ある程度の回路規模で、より低い周波数での帯域制限を可能にするのが本発明の目的である。
【００３３】
本実施形態では、８×８のフィルタを用いて説明する（後述）。目的とする変倍率が４０％であれば、本実施形態のシステムでは画像変倍部が５０％の変倍率の帯域制限まで対応しているとすると、画像変倍部１１０２は、２回以上変倍動作を繰り返す必要がある。繰り返しの回数、変倍率、ローパスフィルタの係数などの設定値は、ＣＰＵ１１０３か画像変倍部１１０２のどちらかで判断するように構成する。例えば、、最終的に４０％の変倍率で変倍するために、初回に変倍率８０％で８０％用の帯域制限の後、変倍率５０％で５０％用の帯域制限としてもよいし、逆に５０％→８０％の順に処理してもよい。設定する変倍率も最終的に４０％になるようにすれば、５０％，８０％に限らないし、回数も２回に限るものではない。以上の説明をフローチャートにしたものを図１３に示す。図１３の説明は、図１２の画像変倍部の説明後、行う。
【００３４】
＜画像変倍部＞
図１２に、変倍率に応じてローパスフィルタの特性を制御する画像変倍部１１０２のブロック図をより詳しく記し、本発明の効果を説明していく。
【００３５】
１２０１は変倍率入力部、１２０２はアドレス演算処理部、１２０３は位相情報変更処理部、１２０４は係数演算処理部、１２０６はデジタルフィルタ処理部、１１０４は画像記憶部で図１１の同一のものである。１１０４は図１１でも図示された画像入力部である。
【００３６】
変倍率入力部１２０１から変倍率が入力される。これは前述の通りＣＰＵ１１０３から入力されることになる。
【００３７】
位相情報変更手段１２０３は、変倍率を受け取り、変倍率に応じて位相情報制御パラメータを出力し、また、変倍率に応じて初期位相パラメータをアドレス演算処理部に出力する。
【００３８】
アドレス演算処理部１２０２は、変倍率と初期位相パラメータを受け取り、出力画像の画素位置を１画素毎に移動させてアドレス演算をする。具体的には、出力画像上の注目画素が元画像上のどの画素位置にあたるかを変倍率から演算し、位相情報を係数演算処理部１２０４に、元画像の画素位置情報をフィルタ処理部に出力する。
【００３９】
係数演算処理部１２０４は、位相情報と位相情報制御パラメータを入力し、注目画素の近傍に位置する元画像８×８画素それぞれと注目画素との距離を計算し、距離と位相情報制御パラメータに応じて、フィルタに用いるためのフィルタ係数を演算する。その後フィルタ処理部１２０６に各画素の係数をセットする。
【００４０】
画像入力部１１０１からフィルタ処理部１２０６に、画像データは入力される。図１２では、画像入力部１１０１と画像記憶部１１０４を別々に書かれているが、前述の通り、画像記憶部（ＲＡＭやＨＤＤ）から画像が入力される構成でもよいことはいうまでもない。
【００４１】
フィルタ処理部１２０６は、アドレス演算処理部１２０２からの画素位置情報をもとに、処理される元画像の８×８画素のデータを画像入力部１１０１から受け取り、フィルタ係数をもとに畳み込み演算をし、多値画像を出力する。
【００４２】
本実施形態では、フィルタのサイズを８×８として説明を進めるが、サイズは主走査、副走査で違ってもよいし、サイズも８に限るものではなく任意に設定することが可能である。サイズが８画素の畳み込み演算の場合、モアレ縞を抑制しながら、解像力を保つような変倍処理は５０％までとなる。理由は後述するが、そのため、本実施形態では、５０％より小さく２５％以上の縮小倍率が入力された場合、一旦、５０％で縮小変倍処理を行った後、再度１００％より小さく５０％までの縮小倍率で縮小変倍処理を行うことで、２５％以上５０％未満の縮小変倍処理を実現する。同様に１２．５％以上２５％未満の縮小倍率は、５０％の縮小を２度行った後１００％未満５０％以上の縮小倍率で３度目の縮小変倍処理を行う。
【００４３】
ここで、フィルタ処理部１２０６から出力された画像データは、縮小率によっては再び画像記憶部１１０４に記憶され、記憶された画像データは再度読み出されてフィルタ処理部１２０６に入力されて変倍処理が行われ、画像記憶部１１０４に記憶されることが可能な構成となっており、これによりひとつの入力画像に対して、変倍率を変えつつ繰り返し変倍処理を施すことが可能となっている。例えば、縮小率が２５％な場合、５０％縮小を行い、縮小した画像データを一旦画像記憶部１０６に格納した後、それを読み出しながら再び５０％縮小を施すことで、最終的に２５％の縮小画像が得られるように構成される。
【００４４】
図１３は、図１１の構成のもとで、ＣＰＵ１１０３により画像変倍部１１０２によって画像の変倍を行う際の制御手順である。
【００４５】
図１３において、まず目的とする変倍率が変倍率入力部１２０１から入力されると（ステップＳ１３０１）、その変倍率が、フィルタ処理部１２０６により一度の変倍で変倍できる範囲であるか否か判定する（ステップＳ１３０２）。なお、ＣＰＵ自身が変倍率を入力する場合には、この判定は入力を待つまでもない。後述するように本実施形態では５０パーセントが下限なので、指定された変倍率がそれより低ければ、「いいえ」となる。また、変倍率の上限についても同様にここで判定される。
【００４６】
ステップＳ１３０２の結果「はい」であれば、変倍率に応じてフィルタ係数を設定する（ステップＳ１３０３）。そして変倍処理を行い（ステップＳ１３０４）、所望の変倍率で変倍を終えたか判定して（ステップＳ１３０５）、終えていれば処理は終了する。ステップＳ１３０４における変倍処理は、画像変倍部１１０２により行われる。
【００４７】
一方、ステップＳ１３０２で指定された変倍率が一度の変倍処理で変倍可能な範囲外であると判定されると、どのような変倍率による変倍処理を、何回繰り返して所期の変倍率まで画像を変倍するか、すなわち変倍処理のシーケンスを決定する（ステップＳ１３０６）。そして、変倍率を、決定されたシーケンスに応じた変倍率に変更し（ステップＳ１３０７）、ステップＳ１３０３から処理を行う。そして、所期の変倍率で画像を変倍するまで、ステップＳ１３０５からステップＳ１３０７へ分岐し、そこで、ステップＳ１３０６で決定した変倍処理のシーケンスに従って変倍率を変更し、変倍処理を繰り返す。
【００４８】
例えば、最終的な変倍率が４０％であるとする。その場合には、ステップＳ１３０６において、第１回目の変倍で８０％の変倍を行い、第２回目の変倍で５０％の変倍を行うものと、変倍処理シーケンスを決定する。そして、ステップＳ１３０７で、所期の変倍率である４０％を、第１回目の変倍処理の変倍率である８０％に変更して、ステップＳ１３０３，Ｓ１３０４における変倍処理を行う。ステップＳ１３０５では、ステップＳ１３０７に分岐し、そこで、変倍率を、第１回目の変倍率である８０％から第２回目の変倍率である５０％に変更して、再度変倍処理を行う。ステップＳ１３０５では、所期の変倍率である４０％に変倍されたと判定され、処理が終了する。
【００４９】
上記動作のうち画像変倍部１１０２による縮小変倍処理についてより詳しく説明していく。説明の簡単化のため、位相情報制御パラメータ、初期位相パラメータ、変倍率などを主走査、副走査ともに同じであると仮定して説明をすすめるが、主、副独立に動作させるように構成することも容易に拡張可能であることは言うまでもない。
【００５０】
変倍率入力部１２０１から入力される変倍率は、上記のとおり主、副とも５０％とする。位相情報変更手段１２０３は、変倍率に応じて、例えば、以下のように位相情報制御パラメータを算出する。
【００５１】
ＬＣ＝１００／ＲＰＸ（ＲＰＹ）
ここで、ＬＣは位相情報制御パラメータ、ＲＰＸ（ＲＰＹ）は主走査（副走査）の変倍率である。本例では変倍率は主副とも５０％なので、今回はＬＣ＝１００／５０＝２となる。位相情報制御パラメータＬＣは、係数演算処理に用いられる。これは後述する。
【００５２】
また、変倍率に応じて初期位相パラメータを算出する。例えば、整数分の１の変倍率の場合は、初期位相パラメータＩＸ（ＩＹ）を０．５とし、それ以外は０であるといったルールを本実施形態では用いる。本例では、１／２＝５０％ということで、変倍率が整数分の１であるので、ＩＸ＝ＩＹ＝０．５と設定される。また、１／３＝約３３％、１／４＝２５％等の変倍率時も同様に設定される。
【００５３】
また、拡大変倍時に整数倍となる場合、例えば２００％、３００％などの場合には、
ＩＸ（ＩＹ）＝１００／ＲＰＸ（ＲＰＹ）／２
となるように設定する。２００％時には、ＩＸ（ＩＹ）＝０．２５、３００％時には、ＩＸ（ＩＹ）＝約０．１６７となる。
【００５４】
整数分の１倍の場合は、変倍後の画像の位相は、初期位相パラメータを設けない場合常に同じ値となる。また、整数倍の場合、変倍後の画像の位相が非常に短い周期で０になる。初期位相パラメータを設けず、常に０であると変倍動作の方法によっては、意図する周波数制御が困難なケースがあるため、これを防ぐために初期位相パラメータが変倍率に応じて更新されるように構成される。
【００５５】
初期位相パラメータＩＸ，ＩＹは、アドレス演算処理部１２０２に出力され用いられる。
【００５６】
アドレス演算処理部１２０２は、変倍率ＲＰＸ（ＲＰＹ）（本例では＝５０％）、初期位相パラメータＩＸ（ＩＹ）（本例では＝０．５）を受け取り、以下のように動作する。例えば、出力画像における注目画素が主走査Ｘ＝５０画素目、副走査Ｙ＝１０画素目だとする。すると、注目画素が元画像のどの座標に位置しているかは、以下のように演算できる。
【００５７】
0003912971.tif 000002
ここで、初期位相パラメータＩＸ，ＩＹは上記のようにアドレス演算時に足し込まれるように用いられる。
【００５８】
ここで、Ｘｏ，Ｙｏの小数部であるＰＩＸ，ＰＩＹは、それぞれ
ＰＩＸ＝０．５
ＰＩＹ＝０．５
となる。なお、本実施形態ではＸｏとＹｏの小数部が同じ値になるように構成されているため１パラメータで説明を続ける。また、Ｘｏ，Ｙｏの整数部であるＯＸ，ＯＹは、それぞれ
ＯＸ＝１００
ＯＹ＝２０
となる。
【００５９】
アドレス演算処理部１２０２は、このＰＩＸ，ＰＩＹを位相情報として係数演算処理部１２０４に、ＯＸ，ＯＹを元画像の画素位置情報としてフィルタ処理部１２０６に出力する。現在の注目画素での処理が全て終わったら、注目画素を１画素移動してまた処理を続ける。
【００６０】
上式において、ＲＰＸ（ＲＰＹ）が５０の場合、注目座標値を常に５０／１００＝０．５で割ることになるため、小数部ＰＩＸは、初期位相ＩＸのまま変わらない。例えばＸ＝５１，Ｙ＝１０とＸだけ１画素更新した場合、Ｘｏ＝１０２．５となり、やはりＰＩＸ＝０．５である。Ｘが１画素ずつ増えていっても常にＸｏが２ずつ増えてＰＩＸ＝０．５で変わらないことになる。なお、副走査方向に注目画素位置を更新した場合も同じ話が成り立つので省略する。
【００６１】
しかし、これは例外である。一般に、注目画素を１画素移動するたびにＰＩＸ（ＰＩＹ）の値は変化し、ＰＩＸ（ＰＩＹ）の変化により補間演算で用いられるフィルタの係数の値も１画素毎に変化することになる。例えば、ＲＰ＝８０であったとし、初期位相Ｉを０とすれば、位相情報ＰＩは、
Ｘ＝５０のとき、
Ｘｏ＝５０／（８０／１００）＋０＝６２．５となり、
ＰＩ＝０．５
Ｘ＝５１のとき、
Ｘｏ＝５１／（８０／１００）＋０＝６３．７５となり、
ＰＩ＝０．７５
Ｘ＝５２のとき、
Ｘｏ＝５２／（８０／１００）＋０＝６５．０となり、
ＰＩ＝０
となる。このように注目画素位置の座標成分Ｘ（またはＹ）が更新されると位相情報ＰＩＸ（ＰＩＹ）の値も更新される。
【００６２】
さて、この次の処理は、注目画素位置をＸ＝５０，Ｙ＝５０から主走査方向に１画素移動して、Ｘ＝５１画素目、Ｙ＝１０画素目となる。複写機の原稿台の大きさと読み取り解像度、変倍率により、主走査、副走査の最大画素値は変わってくるが、今回主走査の最大画素値が５０００画素だとすると、本実施形態における処理が主走査方向に０画素目から始まって４９９９画素目まで達すると、その次の処理は副走査方向に１画素進むことになる。今回の例では、Ｘ＝４９９９画素目、Ｙ＝１０画素目まで処理が進んだ場合、次の処理は、Ｘ＝０画素目、Ｙ＝１１画素目と副走査方向に注目画素位置が進められるように構成され、副走査方向の最大値に達するまで処理が継続されることになる。
【００６３】
係数演算処理部１２０４は、位相情報制御パラメータＬＣと位相情報ＰＩＸ（ＰＩＹ）を受け取り、以下のように動作する。
【００６４】
図１０（ａ）は、変倍後の注目画素と注目画素近傍画素の、元画像上における画素を表わした図であり、×（バツ）マークが注目画素、○（マル）マークが元画像上の画素を表わす。本実施形態では、８×８個のフィルタを用いるため、注目画素近傍の元画像上の画素を８×８個用いることになる。なお、８×８近傍画素は、そのブロック中においてＸ，Ｙ各方向について０−７の番号が付されており、その相対位置を示すことができる。注目画素×は、常に注目画素近傍の元画像上の画素の
３≦ｉ＜４
３≦ｊ＜４
内にくるように設定される。また、アドレス演算処理で出力される元画像における注目画素に対応する面素位置情報ＯＸ，ＯＹは、ｉ＝３、ｊ＝３の位置となるように設定される。
【００６５】
ここで、注目画素近傍の元画像上の画素と注目画素との距離を主走査、副走査それぞれ独立に求める。
【００６６】
まず、図１０（ｂ）のように主走査に着目する。図１０（ｂ）は図１０（ａ）から主走査方向に１次元に投影した図である。位相値は、主、副の方向のそれぞれに投影した状態での値である。ＡＸｉ（ｉは０から７の整数）をｉ番目の画素と注目画素との距離とすると、
ＡＸ０＝３＋ＰＩＸ
ＡＸ１＝２＋ＰＩＸ
ＡＸ２＝１＋ＰＩＸ
ＡＸ３＝ＰＩＸ
ＡＸ４＝１−ＰＩＸ
ＡＸ５＝２−ＰＩＸ
ＡＸ６＝３−ＰＩＸ
ＡＸ７＝４−ＰＩＸ
となる。なお１画素問の距離は１として計算を行っており、０≦ＰＩＸ（ＰＩＹ）＜１とする。副走査方向にも同様に求められ、ＡＹ０〜ＡＹ７を算出する。
【００６７】
また、ＡＸ０〜ＡＸ７、ＡＹ０〜ＡＹ７の距離情報と位相情報制御パラメータＬＣから、主副独立に主走査ｉ番目の係数Ｃｉ、副走査ｊ番目の係数Ｃｊを求め、主走査ｉ番目、副走査ｊ番目の係数Ｃｉｊ＝Ｃｉ＊Ｃｊとして演算することになるが、本実施形態の効果を説明するために双３次補問法の説明を先に述べる。
【００６８】
フィルタの係数を求めるための演算式として、双３次補間法（bi-cubic法）としてよく知られているｓｉｎｃ関数の３次多項式近似式を用いる。ただし、フィルタの係数を求めるための一例であり、これに限るものではない。双３次補間法は、係数Ｃ、注目画素からの距離をｄとすると以下の式で表わされる。
【００６９】
0003912971.tif 000003
図６は、係数Ｃと距離ｄの関係を図示したものである。Δは、本実施形態の距離情報ＡＸｉもしくはＡＹｊがどのように配置されるかを示したもので、ｉ（もしくはｊ）はΔについている添字に対応していて０から７までの値をとる。距離ｄは、図１０（ｂ）の注目画素×を原点にして、原点を中心に１目盛りが１の距離となるように描かれており、距離であるために原点よりも左にあっても正の値をとる。またΔ３の位置は原点からＰＩの位置にあり、ＡＸ３（ＡＹ３）＝ＰＩとなる。またΔｉとΔｉ＋１間の距離は１である。よってＡＸ０はΔ０の位置にあり、ＡＸ０＝３＋ＰＩであることがわかる。図６に描かれた曲線は距離ｄに応じた係数Ｃの値を示しており、ｉが２から５の場合、それぞれ係数が割り当てられ、０，１，６，７の場合、係数が０となることがわかる。
【００７０】
双３次補間法は常に４×４画素のフィルタしか用いられない。ｓｉｎｃ関数の周波数特性を図７に示す。双３次補間法で用いられる多項式近似式はｓｉｎｃ関数の近似であるため、図７とは多少周波数特性が異なるが、説明の簡単化のため図７と同等であるとして説明を進める。ｓｉｎｃ関数は、図７からわかるとおり帯域制限フィルタである。制限される帯域は、元画像の周波数の±１／２（ナイキスト周波数）を超える周波数帯である。一般にナイキスト周波数を超える周波数帯をもつ画像は解像できず、モアレの発生等により画質が劣化する。
【００７１】
例えば元画像が６００ｄｐｉであるとすると、３００ｄｐｉを超える周波数成分を０とすることになる。縮小変倍時にそのままこの演算式を用いた場合、元画像の周波数帯域をすべて保存することになる。縮小変倍時に元画像の周波数帯域を残すと、元画像に周期性のある画像が含まれているとモアレが発生して画質劣化の原因となる。例えば、５０％縮小変倍を行った場合、２００ｄｐｉのスクリーン画像または２００線の網点を用いた印刷物が元画像に含まれていた場合、みかけの周波数が４００ｄｐｉであるような振る舞いをする。そのため、解像限界の３００ｄｐｉを超えてしまい、モアレ縞による画質劣化が起こる。本発明では変倍率に応じて位相情報変更を行うことでこれを防いでいる。
【００７２】
本実施形態では、以下のようにする。
【００７３】
本来、元画像における主走査方向についての、注目画素の８×８近傍におけるｉ番目の画素から注目画素までの距離ｄＸｉは、注目画素からの距離であるので、ｄＸｉ＝ＡＸｉ（ｄＹｊ＝ＡＹｊ）となるが、位相制御パラメータＬＣを用いて以下のように変更する。
【００７４】
ｄＸｉ＝ＡＸｉ／ＬＣ
ｄＹｊ＝ＡＹｊ／ＬＣ
ここでＬＣは変倍率に応じて変更される。例えば、上述したように、ＬＣ＝１００／ＲＰ（変倍率）とすると、変倍率が５０％ならばＬＣ＝２となる。言い換えれば、変倍率を、パーセント表示ではなく１倍を１として表せば、１／ＬＣは変倍率そのものであるので、位相制御パラメータを用いた位相制御は、距離ＡＸｉ（ＡＹｉ）に変倍率を乗じる操作である。
【００７５】
ＬＣ＝１、すなわち変倍率が１の場合は、ｉ番目の画素に対するｄｘｉは上から順に次のような与えられ、上述した数式（１）から対応する係数Ｃｉは次のように与えられる。
【００７６】
ｄＸ０＝ＡＸ０＝３．５      Ｃ０＝０
ｄＸ１＝ＡＸ１＝２．５      Ｃ１＝０
ｄＸ２＝ＡＸ２＝１．５      Ｃ２＝−０．１２５
ｄＸ３＝ＡＸ３＝０．５      Ｃ３＝０．６２５
ｄＸ４＝ＡＸ４＝０．５      Ｃ４＝０．６２５
ｄＸ５＝ＡＸ５＝１．５      Ｃ５＝−０．１２５
ｄＸ６＝ＡＸ６＝２．５      Ｃ６＝０
ｄＸ７＝ＡＸ７＝３．５      Ｃ７＝０
ＬＣ＝２、すなわち変倍率が０．５の場合は、次の様になる。
【００７７】
ｄＸ０＝ＡＸ０／ＬＣ＝３．５／２＝１．７５      Ｃ０＝−０．０４７
ｄＸ１＝ＡＸ１／ＬＣ＝２．５／２＝１．２５      Ｃ１＝−０．１４１
ｄＸ２＝ＡＸ２／ＬＣ＝１．５／２＝０．７５      Ｃ２＝０．２９７
ｄＸ３＝ＡＸ３／ＬＣ＝０．５／２＝０．２５      Ｃ３＝０．８９１
ｄＸ４＝ＡＸ４／ＬＣ＝０．５／２＝０．２５      Ｃ４＝０．８９１
ｄＸ５＝ＡＸ５／ＬＣ＝１．５／２＝０．７５      Ｃ５＝０．２９７
ｄＸ６＝ＡＸ６／ＬＣ＝２．５／２＝１．２５      Ｃ６＝−０．１４１
ｄＸ７＝ＡＸ７／ＬＣ＝３．５／２＝１．７５      Ｃ７＝−０．０４７
となる。説明の簡単化のため係数の小数部は概算で適当にまるめてある。ここで重要なのは、ＬＣ＝１の場合は、ｉが２から５までの真ん中の４つの係数しか用いていないが、ＬＣ＝２の場合は、ｉが０から７まで全てに係数が割り当てられ、より低周波数の領域まで帯域制限されることである。ＬＣ＝１の場合の画素ｉと係数Ｃｉとの関係を図６に、ＬＣ＝２の場合のそれを図９に示す。
【００７８】
ＬＣ＝２の場合のフィルタの周波数特性を模式的に図８に示す。実際の周波数特性としては、フィルタがｓｉｎｃ関数そのものではなく近似であること、有限個でうちきられていることのために、このようにきれいな矩形とはならないが、意図する周波数特性という意味では近い特性となっている。図８からわかるように、ナイキスト周波数の半分の帯域まで制限することになり、上述したようなモアレ縞の発生による画質劣化を低減することが可能になる。
【００７９】
すなわち、元画像が６００ｄｐｉであれば、ナイキスト周波数の半分の帯域である１５０ｄｐｉで帯域制限されるために、５０パーセントで変倍しても、みかけの周波数は最大で３００ｄｐｉとなり、ナイキスト周波数を超えることはない。このため、モアレ縞による画質劣化を防止できる。変倍率を更に下げると、位相制御パラメータは変倍率に応じて変動するために、元画像における計算に必要な近傍の範囲が８×８画素を超えてしまう。そこで、本実施形態では、５０パーセントを変倍率の下限としている。
【００８０】
さらに、副走査方向についても同様にして係数Ｃｊを求める。
【００８１】
いままでは、１次元で説明してきたが、２次元での係数Ｃｉｊは、
Ｃｉｊ＝Ｃｉ＊Ｃｊ
として求め、フィルタ処理部１０６にはＣｉｊが入力され、８×８近傍画素のうちのアドレス（ｉ番目，ｊ番目）に対応した場所に係数Ｃｉｊをセットし、これを８×８個分の係数セットすることでフィルタ演算を行う。
【００８２】
フィルタ処理部１２０６は、アドレス演算処理部からの画素位置情報をもとに、処理される元画像の８×８画素のデータを画像記憶部から取り出して、前述したフィルタ係数Ｃｉｊをもとに畳み込み演算をし、多値画像を出力する。
【００８３】
実際には、注目画素（Ｘ，Ｙ）に対応する元画像の画素位置情報ＯＸ，ＯＹが、ｉ＝３，ｊ＝３にあたるため、元画像のＯＸ−３，ＯＹ−３からＯＸ＋４，ＯＹ＋４までの８×８画素のデータを取り出して畳み込み演算を行う。
【００８４】
すなわち、注目画素の処理後の値ｆ（Ｘ，Ｙ）は、フィルタ演算により、
ｆ（Ｘ，Ｙ）＝ΣΣｆ'（ｉ，ｊ）・Ｃｉｊ
で与えられる。ここで、ｆ'（ｉ，ｊ）は元画像において（ｉ，ｊ）に位置する画素値を表し、各画素値は、（ｉ，ｊ）に該当する係数Ｃｉｊと乗算される。また、最初のΣはｉについてＯＸ−３からＯＸ＋４まで、２番目のΣはｊについてＯＹ−３からＯＹ＋４まで値を変更し、上記乗算を繰り返して演算した結果の総和を求めることを表している。ｆ（Ｘ，Ｙ）を、注目画素位置（Ｘ，Ｙ）を次々と移動しつつ求めれば、変倍後の画像データが得られる。
【００８５】
上記のように画像変倍部１１０２を構成することで、例えば８×８フィルタであれば、１００％以下５０％までの任意の倍率に最適な縮小変倍処理を施すことが可能である。
【００８６】
２５％と縮小倍率が設定された場合、８×８では図８に示したようなローパスフィルタまでしか可能ではないので、アドレス演算処理を２５％で行うことにより、縮小変倍処理は可能となるが、モアレ縞は残ってしまう。例えば元画像が６００ｄｐｉであり、１００ｄｐｉまたは１００線の網点処理を施した画像データが元画像に存在する場合、２５％の縮小率のため、見かけの解像度が４００ｄｐｉとなる。８ｘ８の本実施例では、上記のように帯域制限が１５０ｄｐｉまでのため、原稿の画像が１００ｄｐｉの成分をもつ場合、帯域制限されず残ってしまう。ただし、５０％の変倍率であれば、みかけ上の周波数は、２００ｄｐｉとなり、ナイキスト周波数である３００ｄｐｉを超えないためにモアレ縞も発生せず問題がないが、２５％の変倍率の場合、みかけ上の周波数は４００ｄｐｉとなり、ナイキスト周波数である３００ｄｐｉを越えてしまい、モアレ縞が発生し、画質を劣化させてしまう可能性がある。
【００８７】
本実施形態では、５０％縮小変倍処理を２度行うことでこれを防ぐ。図１５は、５０％縮小変倍処理を２度行った場合の周波数特性を簡単に図示したものである。図８の周波数特性が２度かかったことと同様の効果があるため、元画像のナイキスト周波数の半分のさらに半分まで帯域が制限され、本実施形態のようにナイキスト周波数が３００ｄｐｉである場合、７５ｄｐｉ以上の帯域の成分は制限され、２５％の変倍率であってもみかけ上の周波数で３００ｄｐｉ以上が帯域制限されることになりモアレ縞の発生を防ぐことができる。このように、５０％以下の変倍率であっても、８×８画素の畳み込み処理を用いて処理を行っていても、モアレ縞の発生を防ぎ、かつ不必要に解像力も落とすことなく良好な画像を得ることができる。
【００８８】
本実施形態では、５０％の変倍を２回繰り返すことにより２５％の縮小変倍をしているが、所望の縮小倍率の画像が得られればこの限りではない。例えば、最低縮小倍率が５０％で、３６％の縮小画像を得る場合、６０％縮小変倍処理を２度行ってもよいし、５０％縮小変倍後、７２％縮小変倍をしてもよいし、その逆に７２％縮小変倍後、５０％縮小変倍を行うことによっても実現可能であることはいうまでもない。
【００８９】
また、画像変倍部１１０２は、変倍率が１００％以下５０％以上の縮小変倍処理の際には、図７から図８の周波数特性の間で帯域制限の幅が可変であるように構成されているため、本実施形態で示した５０％の帯域制限の特性に限るものではない。
【００９０】
以上のようにして、本実施形態の画像制御装置は、変倍率（小数表現）の逆数を位相制御パラメータとして、注目画素と原画像における８×８近傍の各画素との各座標軸方向に沿った距離ｄＸｉ，ｄＹｉを補正し、双３次補完法により係数Ｃｉを求め、フィルタ処理する。これにより、変倍率に応じた低周波領域まで帯域制限される。
【００９１】
また、一回の変倍処理で変倍可能な下限倍率を設定したことで、所定の画素の範囲内（本実施形態では８×８）で計算を施すことで、モアレの防止と解像度の低下防止とが両立可能となった。
【００９２】
また、本実施例では、位相制御パラメータを変倍率（小数表現）の逆数として説明したが、変倍率に応じた適切な帯域制限がかかるような周波数特性をもつフィルタ演算が実施されるのであればこの限りではないことは言うまでもない。
【００９３】
また、下限倍率以下の変倍率が指定された場合には、その変倍率に達するまで、下限倍率以上の変倍を繰り返すことで、モアレの防止と解像度の低下防止とを両立しつつ所望の変倍率での変倍が可能となった。
【００９４】
（第２の実施形態）
第１の実施形態では、２回変倍処理を繰り返す場合の例を示した。
【００９５】
第２の実施形態では、３回以上変倍処理する場合の例を示す。この基本的には変わらないが、変倍率の設定とローパスフィルタの特性を決定するための具体的な方法を示す。
【００９６】
図１４は、第２の実施形態の処理の流れを図示したフローチャートである。このフローチャートは、縮小に限定して書いてあるが、拡大時用にも容易に変更が可能である。
【００９７】
ここで、Ｘは入力された変倍率、Ｙは次の変倍処理後のトータルの変倍率、Ｚは次の変倍処理時に行う変倍率、Ｒは設定可能な最小縮小率である。
【００９８】
Ｓ１４０１  まず、変倍率Ｘが入力され、ＺはＸに、Ｙは１に初期化される。
【００９９】
Ｓ１４０２  Ｚが処理可能かどうかを調べるために、ＲとＺとを比較する。ＺがＲ以上なら一度の変倍で処理が可能と判断してステップＳ１４０４へ進み、Ｒ未満なら変倍率を変更するためステップＳ１４０３へ処理を進める。なお、拡大時は、Ｒは設定可能な最大拡大率となり、不等号の向きが逆になる。拡大時に変更すべき箇所はこの後何箇所かあるが、容易に想像できるため省略する。
【０１００】
Ｓ１４０３  Ｚの値を設定可能な変倍率に変更する。ここではＺ＝Ｒと設定しているが、予め定められた設定範囲内の縮小率への変更であれば、Ｒでなくてもよい。この後処理はステップＳ１４０２へ進む。
【０１０１】
Ｓ１４０４  次の変倍処理終了後のトータルの変倍率Ｙを更新する（Ｙ＝Ｙ＊Ｚ）。
【０１０２】
Ｓ１４０５  処理時の変倍率Ｚに応じてフィルタ係数を設定する。この手順は第１の実施形態で説明したとおりである。
【０１０３】
Ｓ１４０６  変倍率Ｚで変倍処理を行う。この処理も第１の実施形態で説明したとおりである。
【０１０４】
Ｓ１４０７  入力された所望の変倍率Ｘと、現在までの変倍処理による変倍率Ｙとを比較する。同じであれば処理を終了する。違えば、ステップＳ１４０８においてＺ＝Ｘ／ＹとしてステップＳ１４０２へ戻る。ここで、Ｚ≧Ｒであれば、２回線り返し処理を行った第１の実施形態と同じ流れとなる。Ｚ＜Ｒであれば、ステップＳ１４０３へ進み、Ｚを更新して、更に処理を進める。
【０１０５】
第１の実施形態で記述した画像変倍部１１０２は、１００％以下５０％以上の縮小変倍処理は、図７から図８の周波数特性の間で帯域制限の幅が可変であるように構成され、これを複数回に渡り処理を行うことで、全ての縮小倍率で最適な帯域制限フィルタを施すことが可能である。例えば２０％の縮小倍率を得るためには、５０％の縮小倍率で最初の縮小変倍処理を行った後、更にその結果画像に対して５０％の縮小倍率で縮小変倍処理を行い、また更に８０％縮小変倍を施す。こうすることで、ナイキスト周波数の（５０／１００）＊（５０／１００）＊（８０／１００）＝２０／１００まで帯域制限され、６０ｄｐｉまで解像力を保つような処理となる。
【０１０６】
図１４のフローチャートに沿って記述すると、まず、Ｘが２０％、初期化でＺ＝Ｘ＝２０％、Ｙ＝１００％（１．０）になる。Ｒ＝５０％で本実施形態を仮定すると、Ｚ＜Ｒとなるため、Ｚ＝Ｒ＝５０％に更新し、１回目の変倍処理を行う。Ｙ＝１００％＊Ｚ＝５０％となっている。変倍処理後Ｙ＝５０％であるので、Ｘと異なる。よって、Ｚ＝Ｘ／Ｙ＝２０％／５０％＝４０％にする。また、ＺとＲを比較して、Ｚ＜Ｒであるので、Ｚ＝５０％に変更し、２回目の変倍処理を行う。Ｙ＝Ｙ＊Ｚ＝５０％＊５０％＝２５％となる。またＸ（２０％）と比較して異なるため、Ｚ＝Ｘ／Ｙ＝２０％／２５％＝８０％とする。今度はＺ≧Ｒとなるため、Ｚは変更せずに３回目の変倍処理を行う。Ｙ＝Ｙ＊Ｚ＝２５％＊８０％＝２０％となる。これはＸと同じであるので、所望の変倍率の画像データが生成されたことになり、処理を終了する。
【０１０７】
このように、３度以上の変倍によって所期の変倍率で変倍するために、従来の処理で同等の処理を行うためには、１６画素以上もの畳み込み演算が必要となるが、本実施形態では、８×８のままで動作可能である。
【０１０８】
（第３の実施形態）
第２の実施形態では、縮小処理を繰り返して所期の変倍率で画像を変倍する手順を説明した。拡大処理も多少の変更で簡単にできることは既に記述した。
【０１０９】
フィルタ処理を用いて変倍処理を行う場合、１００％に近い変倍率であると、画像に長い周期の干渉縞が発生し、画質劣化する場合がある。多値画像を変倍する際にも画質劣化が起るが、特に２値画像を変倍する場合、顕著に画質劣化が起ってしまう。これも複数回の変倍処理で避けることが可能である。例えば、１０２％の変倍処理時に、一度８１．６％に縮小変倍した後、１２５％に拡大変倍処理を行うことでこの問題を回避できる。
【０１１０】
このように、拡大処理と縮小処理を組み合わせて複数回の変倍処理を行うように実装することも有用で、１１０〜９０％の変倍率がきた場合は、１２５％の拡大処理と（入力変倍率／１２５）％の縮小変倍を行うといった使い方も可能である。
【０１１１】
図１６はその手順を示す。
【０１１２】
Ｓ１６０１  まず、変倍率Ｘが入力され、ＺはＸに、Ｙは１に初期化される。
【０１１３】
Ｓ１６０２  Ｚが９０％と１１０％との範囲内にあることがテストされる。範囲外ならステップＳ１６０３に進む。範囲内ならステップＳ１６０４に進む。
【０１１４】
Ｓ１６０３  Ｚが９０％以下であるか判定され、９０％以下であれば、図１４のステップＳ１４０２に進んで縮小処理を行う。９０％以上であれば、これは１１０％以上の拡大と言うことになるため、不図示の拡大処理を実行する。
【０１１５】
Ｓ１６０４  Ｚが９０％と１１０％との範囲内にあれば、変倍率Ｚを、（Ｚ／１２５）＊１００％の縮小と１２５％の拡大の組合せによって行うために、変倍率Ｚとして（Ｚ／１２５）＊１００％をセットする。
【０１１６】
Ｓ１６０５  次の変倍処理終了後のトータルの変倍率Ｙを更新する（Ｙ＝Ｙ＊Ｚ）。
【０１１７】
Ｓ１６０６  処理時の変倍率Ｚに応じてフィルタ係数を設定する。この手順は第１の実施形態で説明したとおりである。
【０１１８】
Ｓ１６０７  変倍率Ｚで変倍処理を行う。この処理も第１の実施形態で説明したとおりである。
【０１１９】
Ｓ１６０８  入力された所望の変倍率Ｘと、現在までの変倍処理による変倍率Ｙとを比較する。同じであれば処理を終了する。違えば、ステップＳ１６０９に進む。
【０１２０】
Ｓ１６０９  変倍率Ｚ＝Ｘ／ＹとしてステップＳ１４０２へ戻る。本実施形態では、ステップＳ１６０９においてＹ＝（Ｚ／１２５＊１００）％であるから、Ｚ＝Ｘ／（（Ｚ／１２５）＊１００）＝Ｘ／（（Ｘ／１２５）＊１００）＝１．２５＝１２５％である。したがって、ここではＺとして１２５％をセットしても同様の結果を得られる。拡大率として１２５パーセントを選んだのは、縮小→拡大のシーケンスが適用される変倍率が９０％〜１１０％であり、縮小においても拡大においても、変倍率がこの９０〜１１０％という変倍率の範囲に入らないためである。
【０１２１】
このように、本実施形態では、拡大変倍を１２５％で固定して、縮小変倍率を調整したが、縮小変倍率を固定して運用することも可能であるし、処理順も拡大→縮小の順でも、その逆でもよいことは言うまでもない。
【０１２２】
以上のようにして、変倍率が１に近い場合、１から十分に遠い変倍率による拡大と縮小とを組み合わせて所期の変倍率による変倍を実現する。このため、長周期の干渉縞の発生を防止し、画像劣化を抑制できる。
【０１２３】
【他の実施形態】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１２４】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１２５】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１２６】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した（図１３または図１４または図１６に示す）フローチャートに対応するプログラムコードが格納されることになる。
【０１２７】
【発明の効果】
以上説明してきたように、本発明によれば、変倍率に応じてローパスフィルタの特性を制御することで、不必要に解像力を落すこと無く、かつモアレなどの周期的な縞模様の発生を抑えた変倍画像を作成する。その際に、該結果画像に同様な処理を複数回行うことで、少ないリソース、コストで、より高画質な縮小画像を提供できる。
【図面の簡単な説明】
【図１】本発明の実施形態の説明に用いた画像制御装置のブロック図である。
【図２】本発明の実施形態の説明に用いたスキャナの概観図である。
【図３】本発明の実施形態の説明に用いたプリンタの概観図である。
【図４】図１のスキャナ画像処理部のブロック図である。
【図５】図１のプリンタ画像処理部のブロック図である。
【図６】ＬＣ＝１の場合の画素ｉと係数Ｃｉとの関係を示す図である。
【図７】双３次補間法で用いられる多項式近似式の周波数特性を示す図である。
【図８】第１の実施形態の装置により５０％縮小変倍処理を１度行った場合の画像の周波数特性を示す図である。
【図９】ＬＣ＝２の場合の画素ｉと係数Ｃｉとの関係を示す図である。
【図１０】第１の実施形態のフィルタ処理部の説明に用いた図である。
【図１１】図１の画像変倍部の処理の外部との信号のやりとりを説明するためのブロック図である。
【図１２】図１１の画像変倍部の処理を詳しく説明するためのブロック図である。
【図１３】第１の実施形態の処理の流れを表したフローチャートである。
【図１４】第２の実施形態の処理の流れを表したフローチャートである。
【図１５】第１の実施形態の装置により５０％縮小変倍処理を２度行った場合の画像の周波数特性を示す図である。
【図１６】第３の実施形態の処理の流れを表したフローチャートである。
【図１】
0003912971.tif 000004
【図２】
0003912971.tif 000005
【図３】
0003912971.tif 000006
【図４】
0003912971.tif 000007
【図５】
0003912971.tif 000008
【図６】
0003912971.tif 000009
【図７】
0003912971.tif 000010
【図８】
0003912971.tif 000011
【図９】
0003912971.tif 000012
【図１０】
0003912971.tif 000013
【図１１】
0003912971.tif 000014
【図１２】
0003912971.tif 000015
【図１３】
0003912971.tif 000016
【図１４】
0003912971.tif 000017
【図１５】
0003912971.tif 000018
【図１６】
0003912971.tif 000019