(57)【特許請求の範囲】
【請求項１】
入力画像データに変倍処理を施して出力する画像処理装置において、
変倍処理後の各注目画素に対して、該注目画素近傍の元画像の画素位置と当該注目画素との距離を示す位相情報を決定する位相情報決定手段と、
各注目画素の位相情報と、変倍率に応じて連続的に変化する位相情報制御パラメータとに応じて、フィルタ処理におけるフィルタ係数を算出する係数演算手段と、
前記算出されたフィルタ係数に基づき、入力２値画像データを畳み込み演算によってフィルタ処理し、多値画像データを出力するフィルタ処理手段と、
前記出力された多値画像データを２値化する２値化処理手段とを有し、
前記係数演算手段は、前記位相情報に基づき、前記注目画素の元画像での位置と畳み込み演算に用いられる元画像の画素位置との距離を求め、該距離は前記位相情報制御パラメータで割ることによって変更され、該変更された距離を用いた補間法により前記フィルタ係数を算出することを特徴とする画像処理装置。
【請求項２】
前記位相情報制御パラメータを１．３以上とすることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
全ての位相情報に対して、前記フィルタ係数の入力周波数の１／２の周波数におけるパワーの差が２０％以内であることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記変倍率は、等倍近傍であることを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記２値化処理手段の前段に、出力手段の濃度特性に応じて前記多値画像データの濃度を変換する変換手段を有することを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記変換手段はルックアップテーブルで構成され、出力結果が濃度リニアになるように変換することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
入力画像データに変倍処理を施して出力する画像処理装置の処理方法であって、
変倍処理後の各注目画素に対して、該注目画素近傍の元画像の画素位置と当該注目画素との距離を示す位相情報を決定する位相情報決定工程と、
各注目画素の位相情報と、変倍率に応じて連続的に変化する位相情報制御パラメータとに応じて、フィルタ処理におけるフィルタ係数を算出する係数演算工程と、
前記算出されたフィルタ係数に基づき、入力２値画像データを畳み込み演算によってフィルタ処理し、多値画像データを出力するフィルタ処理工程と、
前記出力された多値画像データを２値化する２値化処理工程とを有し、
前記係数演算工程は、前記位相情報に基づき、前記注目画素の元画像での位置と畳み込み演算に用いられる元画像の画素位置との距離を求め、該距離は前記位相情報制御パラメータで割ることによって変更され、該変更された距離を用いた補間法により前記フィルタ係数を算出することを特徴とする画像処理装置の処理方法。
【請求項８】
請求項７に記載の画像処理装置の処理方法をコンピュータに実行させるためのプログラム。
【請求項９】
請求項８に記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、入力画像データに変倍処理を施して出力する画像処理装置及びその処理方法に関する。
【０００２】
【従来技術】
近年、画像を変倍する変倍処理として、変倍後の注目画素に最も近い元の画像データの画素を選択する「ニアレストネイバー法」が知られている。
【０００３】
また、「双３次補間法」などの処理も良く用いられている。
【０００４】
【発明が解決しようとする課題】
しかしながら、上述の「ニアレストネイバー法」は最近傍の画素データを使用するだけであるため、モアレの発生や拡大する際に画素が荒く見えるなど画像の劣化がひどいという問題がある。
【０００５】
一方、「双３次補間法」は、「ニアレストネイバー法」に比べて画質は良いが、解像度を保つために縮小変倍時に周期性のある原稿、例えば印刷物原稿を読み取って画像処理する際に、モアレ縞が発生し、画質が劣化してしまうという問題がある。
【０００６】
特に、２値画像を変倍処理すると、画像の劣化が著しい。２値画像の変倍処理で、１００％に近い変倍率の時には、原稿に周期性を持たない画像であっても、周期性のある濃度むらが発生し、見栄えが悪くなる。
【０００７】
また、２値画像を多値画像に変換した後、変倍処理を行う方法もあるが、画像記憶装置の記憶容量、画像転送量も増えてしまうという問題がある。
【０００８】
本発明は上記課題を解決するためになされたもので、変倍時にモアレ縞発生による画質劣化を防いだ変倍処理を施すことを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、本発明は、入力画像データに変倍処理を施して出力する画像処理装置において、変倍処理後の各注目画素に対して、該注目画素近傍の元画像の画素位置と当該注目画素との距離を示す位相情報を決定する位相情報決定手段と、各注目画素の位相情報と、変倍率に応じて連続的に変化する位相情報制御パラメータとに応じて、フィルタ処理におけるフィルタ係数を算出する係数演算手段と、前記算出されたフィルタ係数に基づき、入力２値画像データを畳み込み演算によってフィルタ処理し、多値画像データを出力するフィルタ処理手段と、前記出力された多値画像データを２値化する２値化処理手段とを有し、前記係数演算手段は、前記位相情報に基づき、前記注目画素の元画像での位置と畳み込み演算に用いられる元画像の画素位置との距離を求め、該距離は前記位相情報制御パラメータで割ることによって変更され、該変更された距離を用いた補間法により前記フィルタ係数を算出することを特徴とする。
【００１０】
また、本発明は、入力画像データに変倍処理を施して出力する画像処理装置の処理方法であって、変倍処理後の各注目画素に対して、該注目画素近傍の元画像の画素位置と当該注目画素との距離を示す位相情報を決定する位相情報決定工程と、各注目画素の位相情報と、変倍率に応じて連続的に変化する位相情報制御パラメータとに応じて、フィルタ処理におけるフィルタ係数を算出する係数演算工程と、前記算出されたフィルタ係数に基づき、入力２値画像データを畳み込み演算によってフィルタ処理し、多値画像データを出力するフィルタ処理工程と、前記出力された多値画像データを２値化する２値化処理工程とを有し、前記係数演算工程は、前記位相情報に基づき、前記注目画素の元画像での位置と畳み込み演算に用いられる元画像の画素位置との距離を求め、該距離は前記位相情報制御パラメータで割ることによって変更され、該変更された距離を用いた補間法により前記フィルタ係数を算出することを特徴とする。
【００１１】
【発明の実施の形態】
以下、図面を参照しながら本発明に係る実施の形態を詳細に説明する。
【００１２】
［画像制御装置（Image Controller Unit）］
図１は、本実施形態における画像制御装置の構成を示すブロック図である。図示するように、本画像制御装置１００は画像入力デバイスの一例であるスキャナ２００や画像出力デバイスの一例であるプリンタ３００と接続する一方、ＬＡＮ７００や公衆回線（ＷＡＮ）８００と接続することで、画像情報やデバイス情報の入出力を行うためのコントローラである。
【００１３】
画像制御装置１００において、１０１はＣＰＵであり、後述するＲＯＭに格納されているプログラムに従ってシステム全体を制御する。１０２はＲＡＭであり、ＣＰＵ１０１が処理を実行時に使用するシステムワークメモリや画像データを一時記憶するための画像メモリが定義されているメモリである。１０３はＲＯＭであり、システムのブートプログラムや各種処理プログラム或いは制御データが格納されている。１０４はハードディスクドライブ（ＨＤＤ）であり、システムソフトウェア、画像データを格納する。１０６は操作部Ｉ／Ｆであり、１６０に示す操作部とのインターフェースとして機能すると共に操作部１６０に表示する画像データを操作部１６０に対して出力する。また、操作部１６０から使用者が入力した情報をＣＰＵ１０１に伝える役割をする。１１０はネットワークＩ／Ｆであり、ネットワーク（ＬＡＮ）７００に接続し、情報の入出力を行う。１２０はモデム（Modem）であり、公衆回線（ＷＡＮ）８００に接続し、情報の入出力を行う。以上のデバイスが１０７のシステムバス上に配置される。
【００１４】
１０５は画像バス（Image Bus）Ｉ／Ｆであり、上述のシステムバス１０７と画像データを高速で転送する１０８に示す画像バスを接続し、データ構造を変換するバスブリッジである。画像バス１０８は、ＰＣＩバスなどの高速バスで構成される。そして、画像バス１０８上には以下のデバイスが配置される。
【００１５】
１５０はラスターイメージプロセッサ（ＲＩＰ）であり、不図示のパーソナルコンピュータ（パソコン）等から送られてくるページ記述言語（ＰＤＬ）コードをビットマップイメージに展開する。６００はデバイスＩ／Ｆであり、画像入出力装置であるスキャナ２００やプリンタ３００と画像制御装置１００を接続し、画像データの同期系／非同期系の変換を行う。４００はスキャナ画像処理部であり、入力画像データに対して、補正、加工、編集を行う。５００はプリンタ画像処理部であり、プリント出力画像データに対して、文字のエッジを滑らかにするためのスムージング処理等を行う。１３０は２値画像変倍処理部であり、本実施形態の特徴的な処理モジュールであり、詳しい処理内容については後述するが、基本的には、２値画像データを入力し、変倍処理を行った後、２値画像データを出力する。１４０は画像圧縮部であり、多値画像データに対してＪＰＥＧの圧縮伸張処理を行い、２値画像画像データに対してはＪＢＩＧ、ＭＭＲ、ＭＨの圧縮伸張処理を行う。
【００１６】
また、上述のＨＤＤ１０４には、ネットワーク（ＬＡＮ）７００に接続されているノードに関する画像出力速度、設置位置などを示す情報がアドレス毎に保存されているものとする。
【００１７】
［画像入力装置（スキャナ）］
図２は、本実施形態における画像入力装置を示す外観斜視図である。図示するように、画像入力装置としてのスキャナ２００は、原稿となる紙上の画像を照明し、不図示のＣＣＤラインセンサーを走査することで、ラスターイメージデータとしての電気信号に変換する。ここで、原稿用紙を原稿フィーダ２０１のトレイ２０２にセットし、使用者が操作部１６０から読み取り起動を指示することにより画像制御装置１００のＣＰＵ１０１がデバイスＩ／Ｆ６００を介してスキャナ２００に起動指示を与え、スキャナ２００のフィーダ２０１が原稿用紙を１枚ずつフィードし、原稿画像の読み取り動作を行う。
【００１８】
［画像出力装置（プリンタ）］
図３は、本実施形態における画像出力装置を示す外観斜視図である。図示するように、画像出力装置としてのプリンタ３００は、ラスターイメージデータを用紙上の画像に変換する部分であり、その方式には感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。また、プリント動作の起動は、画像制御装置１００のＣＰＵ１０１がデバイスＩ／Ｆ６００を介して指示することにより開始される。プリンタ３００には、異なる用紙サイズ又は異なる用紙向きを選択できるように複数の給紙段が備えられ、それぞれ対応した用紙カセット３０１、３０２、３０３、３０４がある。また、排紙トレイ３０５は印字し終わった用紙を受けるものである。
【００１９】
［スキャナ画像処理部］
図４は、図１に示すスキャナ画像処理部４００の構成を示す図である。同図において、４０１は画像バスＩ／Ｆコントローラであり、画像バス１０８と接続し、画像バス１０８へのアクセスシーケンスを制御する機能と、スキャナ画像処理部４００内の各デバイスの制御及びタイミングを発生させる。４０２はフィルタ処理部であり、空間フィルタによってコンボリューション演算を行う。４０３は編集部であり、例えば入力画像データからマーカーペンで囲まれた閉領域を認識し、その閉領域内の画像データに対して影つけ、網掛け、ネガポジ反転等の画像加工処理を行う。４０４は変倍部であり、読み取った画像の解像度を変える場合にラスターイメージの主走査方向について補間演算を行い、拡大、縮小を行う。副走査方向の変倍については画像読取用ラインセンサー（図示せず）を走査する速度を変えることで行う。４０５はテーブルであり、読み取った輝度データである画像データを濃度データに変換するためのテーブルである。４０６は２値化部であり、多値のグレースケール画像データを、例えば誤差拡散処理やスクリーン処理によって２値化する。
【００２０】
上述の画像データに対する処理が施された画像データは、再び画像バスＩ／Ｆコントローラ４０１を介して画像バス１０８上に転送される。
【００２１】
［プリンタ画像処理部］
図５は、図１に示すプリンタ画像処理部５００の構成を示す図である。同図において、５０１は画像バスＩ／Ｆコントローラであり、画像バス１０８と接続し、画像バス１０８へのアクセスシーケンスを制御する機能と、プリンタ画像処理部５００内の各デバイスの制御及びタイミングを発生させる。５０３はスムージング処理部であり、解像度変換後の画像データのジャギー（斜め線等の白黒境界部に現れる画像のがさつき）を滑らかにする処理を行う。
【００２２】
［２値画像変倍処理部］
図６は、図１に示す２値画像変倍処理部１３０の処理を説明するための簡単なブロック図である。同図において、６０１は画像入力部、６０２は２値画像変倍部、６０３はＣＰＵ、１１０４は画像記憶部、６０５は画像出力部である。それぞれ図１に示したブロックから、処理をわかりやすく説明するために抜き出して接続関係を表したものである。尚、画像入力部６０１には、送り先のデバイスとしてスキャナ２００からデバイスＩ／Ｆ６００経由で画像データが入力されても良いし、ＬＡＮ７００やＷＡＮ８００経由でネットワークＩ／Ｆ１１０やモデム１２０から画像データが入力されても良いし、ＨＤＤ１０４やＲＡＭ１０２などの記憶デバイスに記憶された画像データが入力されても良い。
【００２３】
また、図６に示す２値画像変倍部６０２は図１に示した２値画像変倍処理部１３０に相当ものである。ＣＰＵ６０３はＣＰＵ１０１に相当し、画像記憶部６０４はＨＤＤ１０４やＲＡＭ１０２などの画像を記憶するデバイスに相当し、２値画像変倍部６０２から読み書き可能であればどれでもよい。画像出力部６０５は画像記憶部６０４からの出力を表しており、プリントするのであれば、プリント画像処理部５００に、また画像データを別の記憶デバイスに記憶するのであれば、ＨＤＤ１０４やＲＡＭ１０２などの記憶デバイスに或いはＦＡＸ送信やネットワーク経由などにより画像データを転送するのであれば、モデム１２０やネットワークＩ／Ｆ１１０にそれぞれ送出する。
【００２４】
図６に示す構成において、画像入力部６０１から画像データが、ＣＰＵ６０３から変倍率が２値画像変倍部６０２にそれぞれ入力される。尚、２値画像変倍部６０２は、変倍率とローパスフィルタの特性とをそれぞれ独立に制御可能な変倍処理手段である。また、変倍率に応じて、求められるローパスフィルタの特性は変化する。一般に変倍率が小さくなると、より低い周波数での帯域制限が求められる。即ち、本実施形態の２値画像変倍部６０２はＣＰＵ６０３からの変倍率に応じたフィルタ係数を用いて変倍を行い、２値画像データとして画像を画像記憶部６０４に出力する。
【００２５】
図７は、図６に示した２値画像変倍部６０２の詳細な構成を示すブロック図である。同図において、７０１は変倍率入力部であり、ＣＰＵ６０３からの変倍率を入力する。７０２はアドレス演算処理部であり、変倍率入力部７０１からの変倍率と後述する位相情報変更処理部からの初期位相パラメータを受け取り、出力画像の画素位置を１画素毎に移動させてアドレス演算を行う。具体的には、出力画像上の注目画素が元画像上のどの画素位置に相当するかを変倍率から演算し、元画像上の近傍の画素から１画素以内のずれ分を位相情報として算出し、その位相情報を後述する係数演算処理部に出力し、元画像の画素位置情報を後述するフィルタ処理部に出力する。
【００２６】
７０３は位相情報変更処理部であり、変倍率入力部７０１からの変倍率に応じて位相情報制御パラメータを後述する係数演算処理部に出力すると共にその変倍率に応じて初期位相パラメータをアドレス演算処理部７０２に出力する。７０４は係数演算処理部であり、アドレス演算処理部７０２からの位相情報と位相情報変更処理部７０３からの位相情報制御パラメータとを入力し、注目画素の近傍に位置する元画像の８×８画素それぞれと注目画素との距離を計算し、距離と位相情報制御パラメータに応じて、フィルタ処理に用いるためのフィルタ係数を演算する。その後、フィルタ処理部７０５に各画素のフィルタ係数をセットする。
【００２７】
図６に示す画像入力部６０１から画像データは入力されるが、図７に示す例では、画像記憶部６０４には、処理すべき元画像が予め記憶されており、アドレス演算処理部７０２からの画素位置情報に基づき、画像記憶部６０４から元画像の８×８画素のデータが後述するフィルタ処理部に読み出されるものとする。
【００２８】
７０５はフィルタ処理部であり、アドレス演算処理部７０２からの画素位置情報に基づき元画像の８×８画素のデータを画像記憶部６０４から受け取り、係数演算処理部７０４からのフィルタ係数に基づいて畳み込み演算を行い、多値画像データを出力する。７０６はＬＵＴ（ルックアップテーブル）であり、フィルタ処理部７０５から多値画像データを受け取り、レベルに応じた出力値をテーブルを参照して出力する。７０７は２値化処理部であり、ＬＵＴ７０６からの出力結果を２値化し、画像記憶部６０４に２値画像データとして出力する。
【００２９】
上述したように、２値画像変倍部６０２は２値画像データを入力し、変倍率に応じて変倍処理した多値画像データを２値化処理し、２値画像データを出力するものである。
【００３０】
従って、本実施形態によれば、中間状態の多値画像データをスプールすることなく、２値画像データを出力することにより画像記憶部６０４の使用容量、画像転送量を最小限に抑えることができる。
【００３１】
また、本実施形態では、フィルタのサイズを８×８として説明をすすめるが、サイズは主走査、副走査で違っていても良いし、サイズも「８」に限るものではなく任意に設定することが可能である。
【００３２】
次に、２値画像変倍部６０２による縮小変倍処理についてより詳細に説明する。尚、説明を簡単化するために、位相情報制御パラメータ、初期位相パラメータ、変倍率などを主走査、副走査ともに同じであると仮定して説明をすすめるが、主、副別のパラメータを用いて動作させるように構成することも容易に拡張可能であることは言うまでもない。
【００３３】
以下では、変倍率入力部７０１から入力される変倍率は、主、副共に５０％とする。また、位相情報変更処理部７０３は変倍率に応じて、例えば次式のように位相情報制御パラメータＬＣ（ローパス係数）を算出するものとする。
【００３４】
ＬＣ＝１．５＋（１００／ＲＰＸ（ＲＰＹ）−１）×０．５
ここで、ＲＰＸ（ＲＰＹ）は、主走査（副走査）方向の変倍率である。変倍率は主、副共に５０％なので、今回はＬＣ＝２となる。
【００３５】
ＬＣ（ローパス係数）は、ローパスフィルタの周波数特性を制御するために、係数演算処理部７０４に出力されて用いられる。本実施形態では、ＬＣは上式に基づき変倍率に応じて変更されるが、この限りではないことは言うまでもない。変倍率に応じてＬＣを変更する際に、切り替わりが画像に影響しない程度に連続的に変化させるように設定すれば良い。ＬＣをどのように用いるかについては、後述する。
【００３６】
また、位相情報変更処理部７０３は変倍率に応じて初期位相パラメータを算出する。例えば、整数分の１の変倍率の場合は、初期位相パラメータＩＸ（ＩＹ）を０．５とし、それ以外はゼロであるといったルールを本実施形態では用いる。このルールについては更に後述する。
【００３７】
本実施形態では、変倍率が１／２＝５０％であるので、初期位相パラメータはＩＸ＝ＩＹ＝０．５と設定される。また、１／３＝約３３％、１／４＝２５％の変倍率時も同様に設定される。
【００３８】
また、拡大変倍時に整数倍となる場合、例えば２００％、３００％などの場合には、初期位相パラメータは次式によって設定される。
【００３９】
ＩＸ（ＩＹ）＝１００／ＲＰＸ（ＲＰＹ）／２
具体的には、２００％の場合には、ＩＸ（ＩＹ）＝０．２５、３００％の場合には、ＩＸ（ＩＹ）＝約０．１６７である。
【００４０】
このように設定された初期位相パラメータＩＸ、ＩＹは、アドレス演算処理部７０２に出力されて用いられる。
【００４１】
ここで、アドレス演算処理部７０２は、変倍率ＲＰＸ（ＲＰＹ）＝５０、初期位相パラメータＩＸ（ＩＹ）＝０．５を受け取り、次のように動作する。例えば、注目画素が主走査Ｘ＝５０画素目、副走査Ｙ＝１０画素目の場合、注目画素が元画像のどの座標に位置しているかは、次式のように演算できる。
【００４２】
0003927776.tif 000002
尚、初期位相パラメータは上述したようにアドレス演算時に足し込まれるように用いられる。
【００４３】
ここで、Ｘｏ，Ｙｏの小数部ＰＩＸ＝０．５  ＰＩＹ＝０．５（本実施形態では、ＸｏとＹｏの小数部が同じ値になるように構成されているため、１つのパラメータで説明を続ける。）を初期位相パラメータとして係数演算処理部７０４に出力し、Ｘｏ，Ｙｏの整数部ＯＸ＝１００，ＯＹ＝２０を元画像の画素位置情報としてＮ×１フィルタ処理部７０５に出力する。現在の注目画素での処理が全て終わると、注目画素を１画素移動して、更に処理を続ける。
【００４４】
変倍率ＲＰＸ（ＲＰＹ）が５０の場合、常に５０／１００＝０．５で割ることになるため、常に小数部ＰＩＸは、初期位相ＩＸのまま変わらない。例えば、Ｘ＝５１、Ｙ＝１０とＸだけ１画素更新した場合、Ｘｏ＝１０２．５（副走査方向に更新した場合も同じ話が成り立つので省略する。）となり、やはり、ＰＩＸ＝０．５である。Ｘが１画素ずつ増えていっても常にＸｏが２ずつ増えてＰＩＸ＝０．５で変わらないことになる。
【００４５】
しかし、これは例外である。一般に、注目画素を１画素移動させる毎にＰＩＸ（ＰＩＹ）の値は変化し、ＰＩＸ（ＰＩＹ）の変化により補間演算で用いられるフィルタ係数の値も１画素毎に変化することになる。例えば、変倍率ＲＰが８０であったとすると、上述したように、初期位相パラメータを０として、
0003927776.tif 000003
【００４６】
ここでは、ＲＰＸ＝ＲＰＹ＝５０として説明を続ける。
【００４７】
本実施形態では、次の処理は主走査方向に１画素移動して、Ｘ＝５１画素目、Ｙ＝１０画素目となる。複写機の原稿台の大きさと読取解像度、変倍率により、主走査、副走査の最大画素値は変化するが、ここでは主走査方向の最大画素値が５０００画素とすると、本処理が主走査方向に０画素目から開始され、４９９９画素目まで達すると、その次の処理は副走査方向に１画素進むことになる。上述の例では、Ｘ＝４９９９画素目、Ｙ＝１０画素目まで処理が進むと、次の処理はＸ＝０画素目、Ｙ＝１１画素目と副走査方向に注目画素位置が進められるように構成され、副走査方向の最大値に達するまで処理が継続されることになる。
【００４８】
次に、係数演算処理部７０４は、位相情報変更処理部７０３から位相情報制御パラメータＬＣを、アドレス演算処理部７０２から位相情報ＰＩＸを受け取り、以下のように動作する。
【００４９】
図８は、注目画素と注目画素近傍の元画像上の画素を表した図である。図中、Ｘ（バツ）マークが注目画素で、○（マル）マークが元画像上の画素をそれぞれ示している。尚、本実施形態では、８×８個のフィルタを用いているため、注目画素近傍の元画像上の画素を８×８個だけ用いることになる。また、注目画素Ｘ（バツ）は、常に注目画素近傍の元画像上の画素の３≦ｉ＜４、３≦ｊ＜４内にくるように設定される。また、アドレス演算処理部７０２から出力される元画像の位置情報ＯＸ，ＯＹはｉ＝３、ｊ＝３の位置となるように設定される。
【００５０】
ここで、注目画素近傍の元画像上の画素と注目画素との距離を主走査、副走査独立に求める。図９に示すように、主走査方向に投影して、主走査方向の距離に着目する。ＡＸｉ（ｉは０から７の整数）をｉ番目の画素と注目画素との距離とすると、以下のようになる。
【００５１】
ＡＸ0＝３＋ＰＩＸ
ＡＸ1＝２＋ＰＩＸ
ＡＸ2＝１＋ＰＩＸ
ＡＸ3＝ＰＩＸ
ＡＸ4＝１−ＰＩＸ
ＡＸ5＝２−ＰＩＸ
ＡＸ6＝３−ＰＩＸ
ＡＸ7＝４−ＰＩＸ
尚、１画素間の距離は１として計算を行っており、０≦ＰＩＸ（ＰＩＹ）＜１とする。副走査方向にも同様に求められ、ＡＹ0〜ＡＹ7を算出する。
【００５２】
また、ＡＸ0〜ＡＸ7、ＡＹ0〜ＡＹ7の距離情報と位相情報制御パラメータＬＣから、主、副独立に主走査ｉ番目の係数Ｃi、副走査ｊ番目の係数Ｃjを求め、主走査ｉ番目、副走査ｊ番目の係数Ｃij＝Ｃi＊Ｃjとして演算することになるが、本実施形態の効果を説明するために双３次補間法を先に説明する。
【００５３】
ここで、フィルタの係数を求めるための演算式として双３次補間法（bi-cubic法）としてよく知られているｓｉｎｃ関数の３次多項式近似式を用いる。但し、フィルタの係数を求めるための一例であり、これに限るものではない。
【００５４】
双３次補間法は、係数Ｃ、注目画素からの距離をｄとすると、以下の式により表される。
【００５５】
0003927776.tif 000004
図１０は、双３次補間法の係数Ｃと距離ｄとの関係を示す図である。図１０に示す例では、本実施形態の距離情報ＡＸｉ又はＡＹｊがどのように配置されるかを△で示しており、ｉ（又はｊ）は△についている数字に対応し、０から７までの値を示している。距離ｄは、図９に示すＸを原点とし、原点を中心に１目盛りが１の距離となるように描かれており、距離であるために原点よりも左にあっても正の値をとる。具体的には、△３の位置は原点からＰＩの位置にあり、ＡＸ3（ＡＹ3）＝ＰＩとなる。また、△間の距離は１である。よって、ＡＸ0は△０の位置にあり、ＡＸ0＝３＋ＰＩである。図１０に描かれた曲線は距離ｄに応じた係数Ｃの値を示しており、ｉが２から５の場合、それぞれ係数が割り当てられ、０，１，６，７の場合、係数は０となる。即ち、双３次補間法では、常に４×４画素のフィルタが用いられている。
【００５６】
図１１は、ｓｉｎｃ関数の周波数特性を示す図である。双３次補間法で用いられる多項式近似式は、ｓｉｎｃ関数の近似であるため、図１１に示す周波数特性とは多少異なるが、説明の簡略化のため、図１１に示すものと同等であるとして説明する。ｓｉｎｃ関数は、図１１からもわかる通り、帯域制限フィルタである。制限される帯域は、元画像の周波数の±１／２（ナイキスト周波数）を越える周波数帯である。一般にナイキスト周波数を超える周波数帯をもつ画像は、解像できず、モアレの発生等により画質が劣化する。
【００５７】
例えば、元画像が６００ｄｐｉであるとすると、３００ｄｐｉを越える周波数成分を０とすることになる。縮小変倍時に、そのままこの演算式を用いた場合、元画像の周波数帯域を全て保存することになる。縮小変倍時に、元画像の周波数帯域を残すと、元画像に周期性のある画像が含まれている場合、モアレが発生し、画質劣化の原因となる。例えば、５０％縮小変倍を行った場合、２００ｄｐｉのスクリーン画像又は２００線の網点を用いた印刷物が元画像に含まれていると、みかけの周波数が４００ｄｐｉであるような振る舞いをする。そのため、解像限界の３００ｄｐｉを越えてしまい、モアレ縞による画質劣化が起こる。
【００５８】
そこで、本実施形態では、変倍率に応じて位相情報変更を行うことで、上述のモアレ縞による画質劣化を防ぐものである。
【００５９】
以下、変倍率に応じて位相情報を変更する本実施形態の処理を説明する。本来、距離ｄは注目画素からの距離であるので、ｄXi＝AXi（dYj＝AYj）となるが、位相制御パラメータＬＣを用いて次のように変更する。
【００６０】
ｄXi＝AXi／LC（dYj＝AYj／LC）
ＬＣは、変倍率に応じて変更される。例えば、上述したように、ＬＣ＝１００／ＲＰ（変倍率）とすると、ＬＣ＝２となる。
【００６１】
ＬＣ＝１の時、
ｄ＝AX0＝3.5  Ｃi＝0
ｄ＝AX1＝2.5  Ｃi＝0
ｄ＝AX2＝1.5  Ｃi＝-0.125
ｄ＝AX3＝0.5  Ｃi＝0.625
ｄ＝AX4＝0.5  Ｃi＝0.625
ｄ＝AX5＝1.5  Ｃi＝-0.125
ｄ＝AX6＝2.5  Ｃi＝0
ｄ＝AX7＝3.5  Ｃi＝0
ＬＣ＝２の時は、
ｄ＝AX0＝3.5/2＝1.75  Ｃi＝-0.047
ｄ＝AX1＝2.5/2＝1.25  Ｃi＝-0.141
ｄ＝AX2＝1.5/2＝0.75  Ｃi＝0.297
ｄ＝AX3＝0.5/2＝0.25  Ｃi＝0.891
ｄ＝AX4＝0.5/2＝0.25  Ｃi＝0.891
ｄ＝AX5＝1.5/2＝0.75  Ｃi＝0.297
ｄ＝AX6＝2.5/2＝1.25  Ｃi＝-0.141
ｄ＝AX7＝3.5/2＝1.75  Ｃi＝-0.047
となる。尚、説明の簡略化のため、係数の小数点は第４位で四捨五入している。ここで重要なことは、ＬＣ＝１の場合、ｉが２から５までの真ん中の４つの係数しか用いていない（図１０参照）が、ＬＣ＝２の場合、ｉが０から７まで全てに係数が割り当てられ、より低周波数の領域まで帯域制限されることである。
【００６２】
図１２は、ＬＣ＝２の場合の係数Ｃと距離ｄとの関係を示す図である。また、図１３はＬＣ＝２の場合のフィルタの周波数特性を模式的に示す図である。尚、実際の周波数特性としては、フィルタがｓｉｎｃ関数そのものではなく近似であること、有限個で打ち切られていることのために、このようにきれいな矩形とはならないが、意図する周波数特性という意味では近い特性となっている。図１３からもわかるように、ナイキスト周波数の半分の帯域まで制限することになり、上述したようなモアレ縞の発生による画質劣化を低減することが可能となる。
【００６３】
また、副走査方向のフィルタ係数も上述した主走査方向のフィルタ係数と同様にして求めることができる。
【００６４】
このように、本実施形態では１次元のフィルタ係数を例に説明したが、２次元でのフィルタ係数を以下のように求め、フィルタ処理部７０５でフィルタ処理を行う。
【００６５】
Ｃij＝Ｃi＊Ｃj
つまり、フィルタ処理部７０５にはＣijが入力され、８×８のうちのアドレス（ｉ番目、ｊ番目）に対応した場所にフィルタ係数をセットする。これを８×８個分の係数回だけセットすることでフィルタ演算を行う。また、各Ｃij（i=0〜7,j=0〜7）の総和でフィルタ演算結果は正規化され出力される。尚、本実施形態では、０〜２５５の２５６値へと正規化されるものとする。
【００６６】
ここで、フィルタ係数は、主副別々に演算される。実際は、元画像の画素位置情報Ｘ、Ｙが、ｉ＝３、ｊ＝３にあたるため、元画像のＸ−３，Ｙ−３からＸ＋４，Ｙ＋４までの８ｘ８画素のデータを取り出して畳み込み演算を行う。
【００６７】
ここで、フィルタ処理部７０５は、アドレス演算処理部７０２からの画素位置情報に基づき、処理される元画像の８×８画素のデータを画像記憶部６０４から取り出し、フィルタ係数に基づいて畳み込み演算を行い、多値画像データを出力する。そして、多値画像データはＬＵＴ７０６に入力され、出力手段である図１に示したプリンタ３００の濃度特性にレベルが変更され、所望の濃度特性に変更することが可能である。
【００６８】
図１４は、本実施形態によるＬＵＴ７０６の入出力特性を示す図である。図示するように、多値画像の入力信号が１９２レベルであれば、１４５レベルの出力信号を出力するものである。従って、入力信号の濃度特性と出力信号でプリントされた際の濃度特性から以上のようなテーブルを作成し、セットしておくことで濃度補正が可能になる。
【００６９】
そして、ＬＵＴ７０６から出力された多値画像データは、２値化処理部７０７により２値化され、２値画像データとして画像記憶部６０４に出力される。
【００７０】
このように、本実施形態によれば、２値画像で入力し、変倍した後、２値画像で出力するために、画像記憶容量、データ転送量も一旦多値で画像出力するよりも１／８でよく、リソース節減に貢献することができる。
【００７１】
［第２の実施形態］
次に、図面を参照しながら本発明に係る第２の実施形態を詳細に説明する。
【００７２】
通常、ＬＣ（ローパス係数）を選ばないと、２値の場合、原稿にはない干渉縞（モアレ）が発生してしまう可能性がある。特に、１００％に近い変倍率で変倍処理を行う場合、顕著に現れてしまう。これは、ローパス係数ＬＣが１のとき、位相の変化により周波数特性が、大きく変化してしまうからである。第２の実施形態では、これを防ぐための方法について説明する。
【００７３】
前述した第１の実施形態では、ＬＣ＝１、２におけるローパスフィルタを例に周波数特性の相違を模式的に示したが、ＬＣの値と位相とから作られるローパスフィルタの周波数特性について、もう少し詳しく説明していく。
【００７４】
図１５〜図１８は、１画素を６００ｄｐｉとして、各ローパス係数、各位相に応じた周波数応答のグラフを示す図である。各図共に、横軸は周波数（ｄｐｉ）として画像の空間周波数の半分（ナイキスト周波数）である３００ｄｐｉまでを示し、縦軸はパワーを表している。
【００７５】
図１５は、ＬＣ＝１、位相＝０画素のときのフィルタの周波数特性を示す図である。図１６は、ＬＣ＝１、位相＝１／２画素のときのフィルタの周波数特性を示す図である。位相が１／２のときが、位相０から最も離れた周波数特性になり、１／２から１に近づくにつれて位相０のときの周波数特性に近づく。よって、その他の位相における周波数特性は、図１５及び図１６の間を通る曲線となる。このように位相毎に周波数特性が異なる場合、２値画像を入力すると、周期性がない原稿であっても周期的な濃度むらが発生してしまう。特に、１００％に近い変倍率の場合、濃度むらが長い周期で起きてしまうため、非常に目立ってしまう。これは、位相が０、又は１に近づく場合、図１５の周波数特性のように、殆ど解像度が落ちない状態となり、位相が１／２画素に近づくと図１６のような周波数特性となり、図１５に比べて解像度が落ちる状態となる。
【００７６】
第１の実施形態では、５０％で説明を行ったため、位相が、初期の位相である０．５画素から変化しなかった。しかしながら、他の変倍率では、変倍処理中の注目画素からアドレス演算手段により演算される、位相値は、注目画素毎に変動していく。例えば、９９％の変倍率であると、９９画素周期で位相が元に戻る。そのため、９９画素周期で周波数特性が異なるフィルタ係数が繰り返されることになり、長い周期の濃度むらとなり目立ってしまうことがある。
【００７７】
参考のため、ＬＣ＝１の時の位相０、０．５画素のときの元画像０〜７の距離ｄ及び係数AXn（AYnも同じ）（ｎは０〜７）を示す。
【００７８】
ＬＣ＝１、位相＝０画素のとき、
d＝AX0＝3  Ｃi＝0
d＝AX1＝2  Ｃi＝0
d＝AX2＝1  Ｃi＝0
d＝AX3＝0  Ｃi＝1
d＝AX4＝0  Ｃi＝0
d＝AX5＝1  Ｃi＝0
d＝AX6＝2  Ｃi＝0
d＝AX7＝3  Ｃi＝0
ＬＣ＝１、位相＝０．５画素のとき、
d＝AX0＝3.5  Ｃi＝0
d＝AX1＝2.5  Ｃi＝0
d＝AX2＝1.5  Ｃi＝-0.125
d＝AX3＝0.5  Ｃi＝0.625
d＝AX4＝0.5  Ｃi＝0.625
d＝AX5＝1.5  Ｃi＝-0.125
d＝AX6＝2.5  Ｃi＝0
d＝AX7＝3.5  Ｃi＝0
このような現象を防ぐために、本実施形態では、ＬＣは常に１．３以上であるように設定する。
【００７９】
図１７は、ＬＣ＝１．３、位相＝０画素のときの周波数特性を示す図である。また、図１８は、ＬＣ＝１．３、位相＝１／２画素のときの周波数特性を示す図である。図１５及び図１６に示す周波数特性とは違い、位相がどの場合であっても、かなり近い周波数特性になることがわかる。即ち、ＬＣの値を１．３以上にすれば、ローパスフィルタの効果がより低周波数まで得られ、かつ、位相による周波数特性の差も少ないままとなり、上述した問題は低減される。
【００８０】
参考のために、ＬＣ＝１．３のときの位相０、０．５画素のときの元画像０〜７の距離ｄ及び係数AXn（AYnも同じ）（ｎは０〜７）を示す。
【００８１】
ＬＣ＝１．３、位相０画素のとき、
d＝AX0＝3  Ｃi＝0
d＝AX1＝2  Ｃi＝-0.11
d＝AX2＝1  Ｃi＝0.27
d＝AX3＝0  Ｃi＝1
d＝AX4＝0  Ｃi＝0.27
d＝AX5＝1  Ｃi＝-0.11
d＝AX6＝2  Ｃi＝0
d＝AX7＝3  Ｃi＝0
ＬＣ＝１、位相＝０．５画素のとき、
d＝AX0＝3.5  Ｃi＝0
d＝AX1＝2.5  Ｃi＝-0.01
d＝AX2＝1.5  Ｃi＝-0.11
d＝AX3＝0.5  Ｃi＝0.76
d＝AX4＝0.5  Ｃi＝0.76
d＝AX5＝1.5  Ｃi＝-0.11
d＝AX6＝2.5  Ｃi＝-0.01
d＝AX7＝3.5  Ｃi＝0
第２の実施形態によれば、ＬＣ（ローパス係数）を１．３以上にすることで、どの位相においても近しい周波数特性が得られ、上述した問題を防ぐことが可能になる。これを言い換えると、図１７及び図１８に示すように、各位相でのローパスフィルタの周波数特性で、ナイキスト周波数でのパワーの差が２０％以内であれば、上述した問題の発生を十分低減することができる。
【００８２】
尚、本発明は複数の機器（例えば、ホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【００８３】
また、前述した実施形態では、２値画像処理部６０２をハードウェアによって構成した場合を例に説明したが、本発明の目的は前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出して実行することによっても、達成されることは言うまでもない。
【００８４】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００８５】
プログラムコードを供給するための記憶媒体としては、例えばフロッピーディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００８６】
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードをコンピュータが読み出して実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８７】
更に、記憶媒体から読み出されたプログラムコードがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニット等に備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８８】
【発明の効果】
以上説明したように、本発明によれば、変倍時にモアレ縞発生による画質劣化を防いだ変倍処理を施すことが可能となる。
【図面の簡単な説明】
【図１】本実施形態における画像制御装置の構成を示すブロック図である。
【図２】本実施形態における画像入力装置を示す外観斜視図である。
【図３】本実施形態における画像出力装置を示す外観斜視図である。
【図４】図１に示すスキャナ画像処理部４００の構成を示す図である。
【図５】図１に示すプリンタ画像処理部５００の構成を示す図である。
【図６】図１に示す２値画像変倍処理部１３０の処理を説明するための簡単なブロック図である。
【図７】図６に示す画像変倍部６０２の詳細な構成を示すブロック図である。
【図８】注目画素と注目画素近傍の元画像上の画素を表した図である。
【図９】主走査方向の距離を求める処理を説明するための図である。
【図１０】双３次補間法の係数Ｃと距離ｄとの関係を示す図である。
【図１１】ｓｉｎｃ関数の周波数特性を示す図である。
【図１２】ＬＣ＝２の場合の係数Ｃと距離ｄとの関係を示す図である。
【図１３】ＬＣ＝２の場合のフィルタの周波数特性を模式的に示す図である。
【図１４】本実施形態によるＬＵＴ７０６の入出力特性を示す図である。
【図１５】ＬＣ＝１、位相＝０画素のときの周波数特性を示す図である。
【図１６】ＬＣ＝１、位相＝１／２画素のときの周波数特性を示す図である。
【図１７】ＬＣ＝１．３、位相＝０画素のときの周波数特性を示す図である。
【図１８】ＬＣ＝１．３、位相＝１／２画素のときの周波数特性を示す図である。
【図１】
0003927776.tif 000005
【図２】
0003927776.tif 000006
【図３】
0003927776.tif 000007
【図４】
0003927776.tif 000008
【図５】
0003927776.tif 000009
【図６】
0003927776.tif 000010
【図７】
0003927776.tif 000011
【図８】
0003927776.tif 000012
【図９】
0003927776.tif 000013
【図１０】
0003927776.tif 000014
【図１１】
0003927776.tif 000015
【図１２】
0003927776.tif 000016
【図１３】
0003927776.tif 000017
【図１４】
0003927776.tif 000018
【図１５】
0003927776.tif 000019
【図１６】
0003927776.tif 000020
【図１７】
0003927776.tif 000021
【図１８】
0003927776.tif 000022