(57)【特許請求の範囲】
【請求項１】
フィルタ処理の対象となる画像を取得する取得手段と、
フィルタのサイズ及び該フィルタにおける有意係数の配置間隔が互いに異なる複数のフィルタのうち１つまたは複数のフィルタを選択する選択手段と、
前記選択手段が選択したフィルタを前記画像に適用して該画像に対するフィルタ処理を行う処理手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記複数のフィルタは、それぞれ制御する周波数帯域に基づいて有意係数を配置したフィルタであることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記複数のフィルタのそれぞれは、所定の間隔で格子状に有意係数を配置したフィルタであることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記複数のフィルタは、フィルタのサイズが小さいほど有意係数の配置間隔が小さいフィルタの集合であることを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記選択手段は、前記複数のフィルタの複数の組み合わせのうち選択されたモードに対応する組み合わせのフィルタを選択することを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記選択手段は、より高速にフィルタ処理を行うモードが設定された場合には、より数が少ないフィルタを選択することを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記選択手段は、より高画質にフィルタ処理を行うモードが設定された場合には、より数が多いフィルタを選択することを特徴とする請求項１に記載の画像処理装置。
【請求項８】
前記選択手段は、フィルタ処理が施された画像をより高品位の記録媒体に記録する設定がなされている場合には、より数が多いフィルタを選択することを特徴とする請求項１に記載の画像処理装置。
【請求項９】
前記選択手段は、フィルタ処理が施された画像をより低品位の記録媒体に記録する設定がなされている場合には、より数が少ないフィルタを選択することを特徴とする請求項１に記載の画像処理装置。
【請求項１０】
前記処理手段は、前記画像に対して第１のフィルタ処理を実行し、
前記選択手段は、前記第１のフィルタ処理の結果に基づいて、前記第１のフィルタ処理後にさらに適用するフィルタを選択する
ことを特徴とする請求項１乃至９の何れか１項に記載の画像処理装置。
【請求項１１】
前記選択手段は、前記画像における領域毎にフィルタを選択し、
前記処理手段は、前記領域によってフィルタ処理を適用する回数が異なる
ことを特徴とする請求項１乃至１０の何れか１項に記載の画像処理装置。
【請求項１２】
フィルタ処理の対象となる画像を取得する取得手段と、
フィルタのサイズ及び該フィルタにおける有意係数の配置間隔が互いに異なる複数のフィルタを前記画像に適用して該画像に対するフィルタ処理を行う処理手段と
を備え、
前記処理手段は、フィルタ処理の前後で画像の差分が閾値を超えている場合には、該フィルタ処理の後の画像に対して更にフィルタ処理を行うことを特徴とする画像処理装置。
【請求項１３】
フィルタ処理の対象となる画像を取得する取得手段と、
フィルタのサイズ及び該フィルタにおける有意係数の配置間隔が互いに異なる複数のフィルタを前記画像に適用して該画像に対するフィルタ処理を行う処理手段と
を備え、
前記処理手段は、フィルタ処理の前後で画像の差分が閾値を下回る場合には、該フィルタ処理の後の画像に対して更にフィルタ処理を行わないことを特徴とする画像処理装置。
【請求項１４】
フィルタ処理の対象となる画像を取得する取得手段と、
フィルタのサイズ及び該フィルタにおける有意係数の配置間隔が互いに異なる複数のフィルタを前記画像に適用して該画像に対するフィルタ処理を行う処理手段と
を備え、
前記処理手段は、
画像のエッジ強度に応じて、該画像に適用するフィルタの数を判断することを特徴とする画像処理装置。
【請求項１５】
フィルタ処理の対象となる画像を取得する取得手段と、
フィルタのサイズ及び該フィルタにおける有意係数の配置間隔が互いに異なる複数のフィルタを前記画像に適用して該画像に対するフィルタ処理を行う処理手段と
を備え、
前記処理手段は、
画像の画像属性に応じて、該画像に適用するフィルタの数を判断することを特徴とする画像処理装置。
【請求項１６】
フィルタ処理の対象となる画像を取得する取得手段と、
フィルタのサイズ及び該フィルタにおける有意係数の配置間隔が互いに異なる複数のフィルタを前記画像に適用して該画像に対するフィルタ処理を行う処理手段と
を備え、
前記処理手段は、
フィルタ処理の演算精度に応じて、画像に適用するフィルタの数を判断することを特徴とする画像処理装置。
【請求項１７】
フィルタ処理の対象となる画像を取得する取得手段と、
フィルタのサイズ及び該フィルタにおける有意係数の配置間隔が互いに異なる複数のフィルタを前記画像に適用して該画像に対するフィルタ処理を行う処理手段と
を備え、
前記処理手段は、
画像における画素のビット精度に応じて、画像に適用するフィルタの数を判断することを特徴とする画像処理装置。
【請求項１８】
前記処理手段は、フィルタのサイズがより大きく且つ該フィルタにおける有意係数の配置間隔がより大きいフィルタから順に使用してフィルタ処理を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項１９】
前記処理手段は、フィルタのサイズがより小さく且つ該フィルタにおける有意係数の配置間隔がより小さいフィルタから順に使用してフィルタ処理を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項２０】
前記複数のフィルタは、フィルタのサイズが小さいほど有意係数の配置間隔が小さいフィルタの集合であることを特徴とする請求項１２乃至１９の何れか１項に記載の画像処理装置。
【請求項２１】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の取得手段が、フィルタ処理の対象となる画像を取得する取得工程と、
前記画像処理装置の選択手段が、フィルタのサイズ及び該フィルタにおける有意係数の配置間隔が互いに異なる複数のフィルタのうち１つまたは複数のフィルタを選択する選択工程と、
前記画像処理装置の処理手段が、前記選択工程で選択したフィルタを前記画像に適用して該画像に対するフィルタ処理を行う処理工程と
を備えることを特徴とする画像処理方法。
【請求項２２】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の取得手段が、フィルタ処理の対象となる画像を取得する取得工程と、
前記画像処理装置の処理手段が、フィルタのサイズ及び該フィルタにおける有意係数の配置間隔が互いに異なる複数のフィルタを前記画像に適用して該画像に対するフィルタ処理を行う処理工程と
を備え、
前記処理工程では、フィルタ処理の前後で画像の差分が閾値を超えている場合には、該フィルタ処理の後の画像に対して更にフィルタ処理を行うことを特徴とする画像処理方法。
【請求項２３】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の取得手段が、フィルタ処理の対象となる画像を取得する取得工程と、
前記画像処理装置の処理手段が、フィルタのサイズ及び該フィルタにおける有意係数の配置間隔が互いに異なる複数のフィルタを前記画像に適用して該画像に対するフィルタ処理を行う処理工程と
を備え、
前記処理工程では、フィルタ処理の前後で画像の差分が閾値を下回る場合には、該フィルタ処理の後の画像に対して更にフィルタ処理を行わないことを特徴とする画像処理方法。
【請求項２４】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の取得手段が、フィルタ処理の対象となる画像を取得する取得工程と、
前記画像処理装置の処理手段が、フィルタのサイズ及び該フィルタにおける有意係数の配置間隔が互いに異なる複数のフィルタを前記画像に適用して該画像に対するフィルタ処理を行う処理工程と
を備え、
前記処理工程では、
画像のエッジ強度に応じて、該画像に適用するフィルタの数を判断することを特徴とする画像処理方法。
【請求項２５】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の取得手段が、フィルタ処理の対象となる画像を取得する取得工程と、
前記画像処理装置の処理手段が、フィルタのサイズ及び該フィルタにおける有意係数の配置間隔が互いに異なる複数のフィルタを前記画像に適用して該画像に対するフィルタ処理を行う処理工程と
を備え、
前記処理工程では、
画像の画像属性に応じて、該画像に適用するフィルタの数を判断することを特徴とする画像処理方法。
【請求項２６】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の取得手段が、フィルタ処理の対象となる画像を取得する取得工程と、
前記画像処理装置の処理手段が、フィルタのサイズ及び該フィルタにおける有意係数の配置間隔が互いに異なる複数のフィルタを前記画像に適用して該画像に対するフィルタ処理を行う処理工程と
を備え、
前記処理工程では、
フィルタ処理の演算精度に応じて、画像に適用するフィルタの数を判断することを特徴とする画像処理方法。
【請求項２７】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の取得手段が、フィルタ処理の対象となる画像を取得する取得工程と、
前記画像処理装置の処理手段が、フィルタのサイズ及び該フィルタにおける有意係数の配置間隔が互いに異なる複数のフィルタを前記画像に適用して該画像に対するフィルタ処理を行う処理工程と
を備え、
前記処理工程では、
画像における画素のビット精度に応じて、画像に適用するフィルタの数を判断することを特徴とする画像処理方法。
【請求項２８】
コンピュータを、請求項１乃至２０の何れか１項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィルタ処理技術に関するものである。
【背景技術】
【０００２】
従来から、画像形成を行って出力する際に、空間フィルタ処理などの局所（近傍）画像処理が行なわれている。局所画像処理は、入力画像の参照領域に含まれる複数の参照画素（処理対象となる画素及びその周辺の画素）を用いた画像処理である。例えば、エッジ強調処理やぼかし処理といった空間フィルタ処理では、処理対象となる画素の値は、参照画素の値とフィルタ係数との間の積和演算によって求められる。積和演算の回数（以下、演算量と略称する）は参照画素の数と等しいため、所望の特性を実現しようとして参照領域のサイズ（フィルタのサイズ）を大きくした場合、演算量の増大がしばしば問題となる。
【０００３】
そこで、このような問題を解決する従来技術として、特許文献１に開示されている技術がある。即ち、入力画像にインターレース画像（ライン間引き画像）を用い、入力されないラインのフィルタ係数を０とすることで、フィルタの参照領域のサイズを維持したまま、積和演算に用いる参照画素の数（以下、タップ数と略称する）を削減する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１６７８３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、空間フィルタ処理による制御が好適に行える周波数帯の上限は参照画素の間隔が広がると低下するため、参照領域のサイズを変えずにタップ数を削減したことにより参照画素の間隔が広がると、高周波の制御性能が低下してしまう。
【０００６】
本発明はこのような問題に鑑みてなされたものであり、フィルタ処理において参照する画素の数を削減しても低周波から高周波までの制御を可能にする技術を提供する。
【課題を解決するための手段】
【０００７】
本発明の一様態は、フィルタ処理の対象となる画像を取得する取得手段と、
フィルタのサイズ及び該フィルタにおける有意係数の配置間隔が互いに異なる複数のフィルタのうち１つまたは複数のフィルタを選択する選択手段と、
前記選択手段が選択したフィルタを前記画像に適用して該画像に対するフィルタ処理を行う処理手段と
を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、フィルタ処理において参照する画素の数を削減しても低周波から高周波までの制御を可能にする。
【図面の簡単な説明】
【０００９】
【図１】複合機のハードウェア構成例を示すブロック図。
【図２】画像処理部１３０の構成例を示すブロック図。
【図３】通常のフィルタ処理、間引き処理を比較した図。
【図４】フィルタ４０１〜４０３を説明する図。
【図５】空間フィルタ回路２３０の第１の構成例を示すブロック図。
【図６】空間フィルタ回路２３０の第２の構成例を示すブロック図。
【図７】フィルタ処理の効果を比較した図。
【図８】空間フィルタ回路２３０の第３の構成例を示すブロック図。
【図９】空間フィルタ回路２３０の第４の構成例を示すブロック図。
【図１０】フィルタの変形例を示す図。
【図１１】第１の実施形態における空間フィルタ回路２３０の動作のフローチャート。
【図１２】第２の実施形態における空間フィルタ回路２３０の動作のフローチャート。
【図１３】第３の実施形態における空間フィルタ回路２３０の動作のフローチャート。
【図１４】フィルタについて説明する図。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の１つである。
【００１１】
［第１の実施形態］
以下では、フィルタ処理の対象となる画像を取得し、フィルタのサイズ及び該フィルタにおける有意係数の配置間隔が異なる複数のフィルタを該画像に適用して該画像に対するフィルタ処理を行う画像処理装置の一例について説明する。本実施形態ではこのような画像処理装置を、スキャン機能及びプリント機能を有する複合機に適用した場合について説明する。先ず、本実施形態に係る複合機のハードウェア構成例について、図１のブロック図を用いて説明する。図１に示す如く、複合機は、読み取り対象となる原稿１００を画像情報として読み取る画像読み取り部１２０、各種の画像処理を行う画像処理部１３０、プリント機能を有するプリンタ部１４０、複合機全体の動作制御を行うＣＰＵ回路部１１０を有する。
【００１２】
先ず、画像読み取り部１２０について説明する。レンズ１２２を介してＣＣＤ１２４に結像された原稿１００の像は、ＣＣＤ１２４によりアナログ電気信号（Ｒ（Red），Ｇ（Green），Ｂ（Blue）の各色のアナログ電気信号）に変換される。アナログ信号処理部１２６は、ＣＣＤ１２４によって変換されたアナログ電気信号に対して補正等の処理を行った後でアナログ・デジタル変換（Ａ／Ｄ変換）を行うことで、該アナログ電気信号をデジタル電気信号（フルカラー信号）に変換する。そしてアナログ信号処理部１２６は、変換したデジタル電気信号を、後段の画像処理部１３０に対して送出する。
【００１３】
画像処理部１３０は、アナログ信号処理部１２６から送出されたデジタル電気信号によって表される画像に対して、入力補正処理、空間フィルタ処理、色空間変換処理、濃度補正処理、中間調処理等の各種の画像処理を施す。そして画像処理部１３０は、これらの画像処理が施された後の画像をプリンタ部１４０へ出力する。プリンタ部１４０は、たとえば、インクジェットヘッドやサーマルヘッド等を使用したラスタプロッタ等の印刷出力機能を有するものであり、画像処理部１３０から送出された画像を紙などの記録媒体上に記録する。
【００１４】
次に、ＣＰＵ回路部１１０について説明する。ＣＰＵ１１２は、ＲＯＭ１１４やＲＡＭ１１６に格納されているコンピュータプログラムやデータを用いて処理を実行することで、複合機全体の動作制御を行うと共に、複合機が行うものとして後述する各処理を実行若しくは制御する。ＲＯＭ１１４には、複合機の書き換え不要な設定データ、ＣＰＵ１１２に複合機の起動を制御させるための起動制御プログラム、ＣＰＵ１１２に複合機の基本動作を実行若しくは制御させるための基本動作プログラムなどが格納されている。ＲＡＭ１１６は、ＲＯＭ１１４や外部記憶装置１１８からロードされたコンピュータプログラムやデータ、画像読み取り部１２０やプリンタ部１４０から入力される各種のデータ、を格納するためのエリアを有する。更にＲＡＭ１１６は、ＣＰＵ１１２が各種の処理を実行する際に用いるワークエリアを有する。このように、ＲＡＭ１１６は、各種のエリアを適宜提供することができる。外部記憶装置１１８は、ハードディスクドライブ装置やフラッシュメモリなどの大容量情報記憶装置である。外部記憶装置１１８には、ＯＳ（オペレーティングシステム）や、ＣＰＵ１１２に後述する各処理を実行若しくは制御させるためのコンピュータプログラムやデータ、などが保存されている。外部記憶装置１１８やＲＯＭ１１４に保存／格納されているコンピュータプログラムやデータは、ＣＰＵ１１２による制御に従って適宜ＲＡＭ１１６にロードされ、ＣＰＵ１１２による処理対象となる。
【００１５】
次に、画像処理部１３０の構成例について、図２のブロック図を用いて説明する。アナログ信号処理部１２６から出力された画像（Ｒ，Ｇ，Ｂの輝度信号）は、入力インターフェース２１０を介して画像２１５として入力補正回路２２０に入力される。入力補正回路２２０は画像２１５に対し、原稿１００を読み取るセンサの特性のばらつきや、原稿照明用ランプの配光特性等を補正するための処理を行い、該補正済みの画像２２５を後段の空間フィルタ回路２３０に対して送出する。
【００１６】
空間フィルタ回路２３０は、画像２２５に対して、フィルタを用いたフィルタ処理、具体的には、平滑化やエッジ強調といった局所画像処理を行い、該フィルタ処理済みの画像２３５を、後段の色空間変換回路２４０に対して送出する。色空間変換回路２４０は、画像２３５（Ｒ，Ｇ，Ｂの輝度信号）を濃度信号２４５（濃度信号Ｃ（Cyan），Ｍ（Magenta），Ｙ（Yellow），Ｋ（Black））に変換し、該濃度信号２４５を、後段の濃度補正回路２５０に対して送出する。
【００１７】
濃度補正回路２５０は、濃度信号２４５に対して濃度補正を行う。これは、後段の中間調処理回路２６０で２値化処理を行ったときに濃度変化が起きないように、中間調処理の特性を考慮して予め濃度補正を行う必要があるからである。そして濃度補正回路２５０は、濃度補正済みの濃度信号２５５を、後段の中間調処理回路２６０に対して送出する。中間調処理回路２６０は、濃度信号２５５に対してスクリーン処理を行って、２値の中間調表現の２値デジタル画像信号（印字信号Ｃ,Ｍ,Ｙ,Ｋ）２６５に変換する。そして中間調処理回路２６０は、該２値デジタル画像信号２６５を、出力インターフェース２７０を介してプリンタ部１４０に対して送出する。
【００１８】
なお、本実施形態では、入力補正回路２２０、空間フィルタ回路２３０、色空間変換回路２４０、濃度補正回路２５０、中間調処理回路２６０は何れも回路、即ちハードウェアで構成されているものとしている。しかし、これらの各回路の一部若しくは全部の機能をソフトウェアで構成しても構わない。この場合、このソフトウェアは、外部記憶装置１１８に保存しておき、必要に応じてＲＡＭ１１６にロードし、ＣＰＵ１１２がこれを実行することで対応する機能が実現される。
【００１９】
次に、空間フィルタ回路２３０の動作について説明する。ここで、上記の特許文献１に記載されている技術の課題について説明する。上記の通り、特許文献１に記載された技術は、参照領域のサイズを維持したまま、積和演算に用いる参照画素の数（以下、タップ数と略称する）を間引くものである。以下ではこの技術を間引き処理と呼ぶ。
【００２０】
図３は、縦７画素×横７画素の参照領域に対する通常のフィルタ処理、間引き処理を比較した図である。３０１，３０２は共にフィルタを表しており、フィルタを構成する各矩形はフィルタ係数を表している。ここで、黒で塗りつぶしている矩形は有意の値を有するフィルタ係数（有意係数）、空白の矩形は無為の値（例えば０やＮＵＬＬ）を有するフィルタ係数（無為係数）を表している。フィルタ３０１，３０２は共に縦７個×横７個のフィルタ係数のマトリクスとなっている。通常のフィルタ処理において用いるフィルタ３０１は、参照領域内の各画素に対応する有意係数から構成されるため、縦７個×横７個の有意係数から構成され、また、有意係数間の距離（参照画素間の距離）は１画素分となる。一方、間引き処理では、参照画素を間引いているため、フィルタ３０２ではそれに伴って、有意係数がフィルタ３０１と比べて間引かれている。図３では、有意係数は縦横共に３個おきに登場しており、それ以外のフィルタ係数は無為係数となっている。ここで、無為係数に対応する画素については演算の対象外となるため、フィルタ３０２を用いたフィルタ処理の演算量は、フィルタ３０１を用いたフィルタ処理の演算量の約１８％となり、演算量の観点では通常のフィルタ処理と比べて軽減されている。
【００２１】
フィルタ処理による制御が好適に行える周波数帯の下限はフィルタのサイズ（参照領域のサイズ）に依存する。図３の場合、フィルタ３０１のサイズとフィルタ３０２のサイズとは同じであるため、フィルタ３０２を用いた場合、演算量が通常のフィルタ処理と比べて軽減するだけでなく、フィルタ３０１を用いた場合の低周波成分の制御性能と同等の制御性能が得られる。図３の場合、フィルタ３０２を用いた場合の周波数特性３０４は、ナイキスト周波数の１／３の周波数までは通常のフィルタ処理の周波数特性３０３と同じ周波数特性を実現している。
【００２２】
一方、フィルタ処理による制御が好適に行える周波数帯の上限は参照画素の間隔（有意係数の配置間隔）が広がると低下する。なおここで有意係数の配置間隔とは、上下左右の位置に他の有意係数がある場合、その有意係数との間隔を意味する。上記の通り、フィルタ３０１では有意係数の配置間隔は１画素であるのに対し、フィルタ３０２では有意係数の配置間隔は３画素になっている。そのため、ナイキスト周波数の１／３を超える周波数では、周波数特性３０４は周波数特性３０３と乖離している。一般的に、有意係数がｎ個おきに存在するように間引いた場合（参照画素の間隔がｎ画素の場合）、ナイキスト周波数の１／ｎまでの低周波は制御できるが、ナイキスト周波数の１／ｎを超える高周波は制御できない。
【００２３】
本実施形態ではこのような問題に鑑み、低周波から高周波までの制御を好適に行うために、画像に対して適用するフィルタとして、複数のフィルタを用いる。各フィルタは、フィルタのサイズ及び該フィルタにおける有意係数の配置間隔が互いに異なっている。なおフィルタのサイズとは、有意係数により囲まれる矩形領域のサイズであり、参照領域のサイズを示す。本実施形態では特に、適用する複数のフィルタはそれぞれ、有意係数が等間隔で格子状に配置されている。また、各フィルタは互いに有意係数の配置間隔が異なるが、フィルタに含まれる有意係数（参照画素）の数は同じフィルタである。そして更に、本実施形態では、この複数のフィルタは、フィルタのサイズが小さいほど有意係数の配置間隔が小さいフィルタの集合である。ここで、「フィルタのサイズ及び該フィルタにおける有意係数の配置間隔が異なる複数のフィルタ」として３つのフィルタを図４に示す。
【００２４】
フィルタ４０１は、縦７画素×横７画素の参照領域に対して適用するフィルタであり、そのため、縦７個×横７個のフィルタ係数から成る。フィルタ４０１において有意係数は、黒で塗りつぶした矩形で示す如く、間隔「３」で配置されている。フィルタ４０１は、着目画素の画素位置、および着目画素に対して３画素ずつ分上下左右の画素位置と、着目画素から３√２画素分離れた斜めに位置する４画素位置からなる９画素を参照画素とする。フィルタ４０２は、縦５画素×横５画素の参照領域に対して適用するフィルタであり、そのため、縦５個×横５個のフィルタ係数から成り、且つ有意係数は黒で塗りつぶした矩形で示す如く、間隔「２」で配置されている。フィルタ４０２には、着目画素の画素位置、および着目画素に対して２画素分離れた上下左右の画素位置と、着目画素から２√２画素分離れた斜めに位置する４画素位置からなる９画素を参照画素とする。フィルタ４０３は、縦３画素×横３画素の参照領域に対して適用するフィルタであり、そのため、縦３個×横３個のフィルタ係数から成り、且つ有意係数は黒で塗りつぶした矩形で示す如く、間隔「１」で配置されている。フィルタ４０３は、着目画素の画素位置を含み、隣接する上下左右、斜めに位置する画素位置からなる９画素を参照画素とする。フィルタ４０１、４０２、４０３はそれぞれ、有意係数の配置が異なり、制御する周波数成分が異なっている。
【００２５】
このような３つのフィルタを用いて画像に対するフィルタ処理を行う場合、先ず、フィルタ４０１を、その中心位置が着目画素の画素位置と重なるように配置する。そして、フィルタ４０１における有意係数の値と、該有意係数に対応する画素位置の画素の画素値と、の積和演算を行い、該積和演算の結果を該着目画素の画素値とする。この演算を各画素位置について行うことで、フィルタ４０１を用いたフィルタ処理を実現する。このようなフィルタ４０１を用いたフィルタ処理により、４０４に示す如く、ナイキスト周波数の１／３までの周波数成分を制御する。そしてフィルタ４０１を用いてフィルタ処理を施した画像が、フィルタ４０２を用いたフィルタ処理の対象となる。
【００２６】
次に、フィルタ４０２を、その中心位置が着目画素の画素位置と重なるように配置する。そして、フィルタ４０２における有意係数の値と、該有意係数に対応する画素位置の画素の画素値と、の積和演算を行い、該積和演算の結果を該着目画素の画素値とする。この演算を各画素位置について行うことで、フィルタ４０２を用いたフィルタ処理を実現する。フィルタ４０１によってフィルタ処理された画像に対して更にフィルタ４０２を用いてフィルタ処理を行うことで、４０５に示す如く、ナイキスト周波数の１／２までの周波数成分を制御する。１回目のフィルタ処理によりナイキスト周波数の１／３までの低周波はすでに制御されているため、２回目のフィルタ処理では、主に、ナイキスト周波数の１／３からナイキスト周波数の１／２までの中周波を制御する。そしてフィルタ４０２を用いてフィルタ処理を施した画像が、フィルタ４０３を用いたフィルタ処理の対象となる。
【００２７】
次に、フィルタ４０３を、その中心位置が着目画素の画素位置と重なるように配置する。そして、フィルタ４０３における有意係数の値と、該有意係数に対応する画素位置の画素の画素値と、の積和演算を行い、該積和演算の結果を該着目画素の画素値とする。この演算を各画素位置について行うことで、フィルタ４０３を用いたフィルタ処理を実現する。フィルタ４０１、フィルタ４０２によってフィルタ処理された画像に対して更にフィルタ４０３を用いてフィルタ処理を行うことで、４０６に示す如く、ナイキスト周波数までの周波数成分を制御する。１回目のフィルタ処理と２回目のフィルタ処理によりナイキスト周波数の１／２までの低・中周波はすでに制御されているため、３回目のフィルタ処理では、主に、ナイキスト周波数の１／２以上の高周波を制御する。
【００２８】
このように、画像に対して、制御したい周波数成分に応じて有意係数を配置した複数のフィルタそれぞれを順次適用することで、低周波から高周波までの制御を好適に行うことができる。図４の場合、タップ数が３×３の処理を３回行うため、その演算量は、フィルタ３０１（タップ数が７×７）を用いたフィルタ処理の演算量の５５％となる。このような、画像に対して「フィルタのサイズ及び該フィルタにおける有意係数の配置間隔が互いに異なる複数のフィルタ」のそれぞれを順次適用するフィルタ処理は、空間フィルタ回路２３０によって行われる。画像に対してフィルタ４０１〜４０３を順次適用する場合における空間フィルタ回路２３０の構成例を図５に示す。第一フィルタ処理部５０１は、周波数特性５０４を有する入力画像Ｉに対してフィルタ４０１であるｋ＿１を適用するフィルタ処理（第一フィルタ処理）を行う。第一フィルタ処理では、以下の式（１）で示す如く、入力画像Ｉに対してｋ＿１を畳み込む演算（畳み込み演算）を行うことで、周波数特性５０５を有する画像Ｏ＿１を生成する。Ｏ_１＝ｋ_１＊Ｉ        （１）
次に第二フィルタ処理部５０２は、周波数特性５０５を有する画像Ｏ＿１に対してフィルタ４０２であるｋ＿２を適用するフィルタ処理（第二フィルタ処理）を行う。第二フィルタ処理では、以下の式（２）で示す如く、画像Ｏ＿１に対してｋ＿２を畳み込む演算（畳み込み演算）を行うことで、周波数特性５０６を有する画像Ｏ＿２を生成する。Ｏ_２＝ｋ_２＊Ｏ_１        （２）
次に第三フィルタ処理部５０３は、周波数特性５０６を有する画像Ｏ＿２に対してフィルタ４０３であるｋ＿３を適用するフィルタ処理（第三フィルタ処理）を行う。第三フィルタ処理では、以下の式（３）で示す如く、画像Ｏ＿２に対してｋ＿３を畳み込む演算（畳み込み演算）を行うことで、周波数特性５０７を有する画像Ｏ＿３を生成する。Ｏ_３＝ｋ_３＊Ｏ_２        （３）
そして第三フィルタ処理部５０３は、生成した画像Ｏ＿３を、後段の色空間変換回路２４０に対して送出する。
【００２９】
第一フィルタ処理、第二フィルタ処理、第三フィルタ処理、のそれぞれのフィルタ処理は、光学系のボケを回復する処理であり、周波数特性５０４は光学系のボケ特性を表している。第一フィルタ処理では、この周波数特性５０４に対して、フィルタ４０１の周波数特性４０４が乗算されるため、周波数特性は周波数特性５０４から周波数特性５０５のように変化し、主に低周波が制御されることが分かる。第二フィルタ処理では、周波数特性５０５に対して、フィルタ４０２の周波数特性４０５が乗算されるため、周波数特性は周波数特性５０５から周波数特性５０６のように変化し、主に中周波が制御されることが分かる。第三フィルタ処理では、周波数特性５０６に対して、フィルタ４０３の周波数特性４０６が乗算されるため、周波数特性は周波数特性５０６から周波数特性５０７のように変化し、主に高周波が制御されることが分かる。
【００３０】
なお、空間フィルタ回路２３０の構成は図５に示した構成に限るものではない。本実施形態のように、各フィルタ処理で用いる参照画素の数（タップ数）が同じであれば、フィルタ処理の数分だけのフィルタ処理部を設ける必要はない。例えば図６に示す如く、１つのフィルタ処理部６０１がフィルタを適宜切り替えてフィルタ処理を実行するようにしても良い。
【００３１】
フィルタ処理部６０１は、入力画像Ｉに対してフィルタ４０１を用いたフィルタ処理（式（１））を行い、その結果生成した画像Ｏ＿１を自身にフィードバックする。次にフィルタ処理部６０１は、フィードバックした画像Ｏ＿１に対してフィルタ４０２を用いたフィルタ処理を行い（式（２））、その結果生成した画像Ｏ＿２を自身にフィードバックする。次にフィルタ処理部６０１は、フィードバックした画像Ｏ＿２に対してフィルタ４０３を用いたフィルタ処理を行い（式（３））、その結果生成した画像Ｏ＿３を、後段の色空間変換回路２４０に対して送出する。このように、図６の構成であっても、図５の構成と同等のフィルタ処理結果を得ることができる。
【００３２】
このように、各フィルタ処理で用いる参照画素の数（タップ数）が同じであれば、同一のフィルタ処理部によって複数回のフィルタ処理を実行することができる。また、各フィルタ処理で用いる参照画素の数が異なっていても、参照画素の数が最大となるフィルタが１つあれば、不要な参照画素に対応するフィルタ係数を無為係数に設定することで、同一のフィルタ処理部で複数回のフィルタ処理を実行することができる。
【００３３】
なお、以上説明した複数回のフィルタ処理により最終的に得られる画像（図５、図６の例ではＯ＿３）は、通常のフィルタ処理で得られる画像になるべく近いことが望ましい。通常のフィルタ処理で用いるフィルタ（例えば、図３のフィルタ３０１）をｋ＿ｂとしたとき、通常のフィルタ処理で入力画像Ｉから得られる画像Ｏ＿ｂは以下の式（４）の通りとなる。Ｏ_ｂ＝ｋ_ｂ＊Ｉ        （４）
一方、複数回のフィルタ処理により最終的に得られる画像（図５、図６の例ではＯ＿３）は、上記の式（１）〜式（３）より、式（５）の通りとなる。Ｏ＿３＝ｋ＿１＊ｋ＿２＊ｋ＿３＊Ｉ        （５）
そのため、式（４）、式（５）より、複数回のフィルタ処理により最終的に得られる画像（この例ではＯ＿３）が、通常のフィルタ処理で得られる画像Ｏ＿ｂに近くなるためには、次のような条件が必要なことが分かる。すなわち、複数回のフィルタ処理で使用する各フィルタを合成したフィルタｋ＿ｔ（この例では、ｋ＿ｔ＝ｋ＿１＊ｋ＿２＊ｋ＿３）が、通常のフィルタ処理で用いるフィルタｋ＿ｂに近いことが条件といえる。すなわち、ｋ＿ｔとｋ＿ｂとの間の距離（差異）をｄとした場合、距離ｄが近いことが条件といえる。距離ｄとしてユークリッド距離を用いた場合、距離ｄは以下の式（６）により求められる。
【００３４】
ｄ＝（Σ（ｋ＿ｔ−ｋ＿ｂ）２）０．５      （６）
ここでΣは、フィルタｋ＿ｔ、ｋ＿ｂにおける全てのフィルタ係数位置についての総和を表す。即ち、Σ（ｋ＿ｔ−ｋ＿ｂ）２は、フィルタｋ＿ｔの各フィルタ係数について、該フィルタ係数の位置に対応するフィルタｋ＿ｂ中の位置のフィルタ係数との差の二乗和を表している。
【００３５】
なお、距離ｄの定義は式（６）に限定されず、ｋ＿ｔとｋ＿ｂとの差を表現できれば、どのような尺度であってもかまわない。例えば、ｋ＿ｔとｋ＿ｂの周波数特性（ｋ＿ｔ（ｐ、ｑ）とｋ＿ｂ（ｐ、ｑ）を離散フーリエ変換して絶対値を求めて得られる）をＫ＿ｔ（ｕ、ｖ）とＫ＿ｂ（ｕ、ｖ）とする。このとき、Ｋ＿ｔ（ｕ、ｖ）とＫ＿ｂ（ｕ、ｖ）のユークリッド距離やチェビシェフ距離等も、距離ｄとして用いることができる。なお、ｐはフィルタ内の各フィルタ係数のｘ方向の位置、ｑはフィルタ内の各フィルタ係数のｙ方向の位置、ｕはｘ方向の空間周波数、ｖはｙ方向の空間周波数である。
【００３６】
このように、距離ｄをどのような尺度で表したとしても、複数回のフィルタ処理で使用する各フィルタ（図５、図６の例では、ｋ＿１、ｋ＿２、ｋ＿３）は、次のようにして予め求めておく。すなわち、ｋ＿ｂを所与とした場合において、距離ｄを最小化する最適化問題を、勾配法といった公知のアルゴリズムで解くことにより求められる。このように、複数回のフィルタ処理で使用する各フィルタは、各フィルタを畳み込み演算により合成したフィルタ係数ｋ＿ｔと、通常のフィルタ処理で用いるフィルタ係数ｋ＿ｂとの違いを示す尺度を最小化する最適化問題を解くことにより求める。これにより、複数回のフィルタ処理により最終的に得られる画像（図５、図６の例ではＯ＿３）は、通常のフィルタ処理で得られる画像Ｏ＿ｂに近くなる。
【００３７】
なお、フィルタｋ＿１，ｋ＿２，ｋ＿３の求め方はこのような求め方に限るものではない。何れの求め方を採用するにしても、フィルタｋ＿１，ｋ＿２，ｋ＿３は予め作成して外部記憶装置１１８やＲＯＭ１１４に格納しておき、空間フィルタ回路２３０が適宜参照する。なお、作成済みのフィルタを編集したり、追加したり、削除したりてきるようにしても構わない。このような場合、フィルタは、ＲＯＭ１１４ではなく、外部記憶装置１１８等の読み書き可能なメモリに保存させておく。
【００３８】
図７は、通常のフィルタ処理、間引き処理、本実施形態に係るフィルタ処理、のそれぞれのフィルタ処理の効果を比較した図である。通常のフィルタ処理では図３のフィルタ３０１を用い、間引き処理では図３のフィルタ３０２を用い、本実施形態に係るフィルタ処理では図４のフィルタ４０１〜４０３を用いている。７０１〜７０３はそれぞれ、通常のフィルタ処理により得られる周波数特性、間引き処理におけるフィルタ処理により得られる周波数特性、本実施形態に係るフィルタ処理により得られる周波数特性、を表している。７０４〜７０６はそれぞれ、通常のフィルタ処理により得られるフィルタ処理済画像、間引き処理におけるフィルタ処理により得られるフィルタ処理済画像、本実施形態に係るフィルタ処理により得られるフィルタ処理済画像、を表している。
【００３９】
通常のフィルタ処理と間引き処理におけるフィルタ処理とを比較すると、周波数特性７０１，７０２に示す如く、低周波領域ではほぼ等しい。しかし、前述の通り、間引き処理におけるフィルタ処理は高周波の制御性能が低下するため、周波数特性７０２は周波数特性７０１に比べ、フィルタ処理による高周波の応答値の変化が少ないことが分かる。このことはフィルタ処理済画像７０４、７０５の比較からも分かり、フィルタ処理済画像７０５はフィルタ処理済画像７０４と比べて高周波成分が弱くボケて見える。一方、通常のフィルタ処理と本実施形態に係るフィルタ処理とを比較すると、周波数特性については周波数特性７０１と周波数特性７０３とでほぼ一致しており、またフィルタ処理済画像７０４とフィルタ処理済画像７０６とはほぼ同じに見える。
【００４０】
次に、空間フィルタ回路２３０の動作について、図１１のフローチャートに従って説明する。なお、図１１の各ステップにおける処理の詳細については上記の通りであるため、ここでは簡単に説明する。ステップＳ１１０１において第一フィルタ処理部５０１は、外部記憶装置１１８等のメモリからフィルタ４０１を読み出し、該読み出したフィルタ４０１を入力画像に適用することで、該入力画像に対するフィルタ処理を実行する。ステップＳ１１０２において第二フィルタ処理部５０２は、外部記憶装置１１８等のメモリからフィルタ４０２を読み出し、該読み出したフィルタ４０２を、第一フィルタ処理部５０１によるフィルタ処理済画像に適用する。これにより、該フィルタ処理済画像に対するフィルタ処理を実行する。
【００４１】
ステップＳ１１０３において第三フィルタ処理部５０３は、外部記憶装置１１８等のメモリからフィルタ４０３を読み出し、該読み出したフィルタ４０３を、第二フィルタ処理部５０２によるフィルタ処理済画像に適用する。これにより、該フィルタ処理済画像に対するフィルタ処理を実行する。ステップＳ１１０４において第三フィルタ処理部５０３は、ステップＳ１１０３においてフィルタ処理を行った画像を、後段の色空間変換回路２４０に対して出力する。なお、出力するものは画像全体に限らず、画像においてフィルタ処理を行った箇所のみを出力するようにしても構わない。
【００４２】
このように、本実施形態によれば、画像に対して、制御する周波数帯域に応じて有意係数を配置した複数のフィルタそれぞれを順次適用することで、少ない演算量で低周波から高周波までの制御を好適に行うことができる。
【００４３】
［第２の実施形態］
第１の実施形態によれば、有意係数の配置が異なる複数のフィルタを用いて複数回フィルタ処理することにより周波数成分の制御性能を向上できる。しかしながら、フィルタ処理の回数が増えると、フィルタ処理１回である場合よりも当然、処理時間が増大してしまう。一般的に周波数成分の制御性能が良いほど画質が向上するため、画質と処理時間はトレードオフの関係にある。そこで本実施形態では、全てのフィルタを適用するのか、一部のフィルタを適用するのか等のモードを設け、ユーザ操作などによって選択されたモードに対応するフィルタを画像に適用する。このような構成により、例えば、画質と処理時間との兼ね合いにおいて所望とするバランスに対応するモードを選択することができる。モードの選択は、ユーザが不図示の操作部を操作することで行っても良いし、ＣＰＵ１１２が状況に応じて行っても良い。
【００４４】
以下では第１の実施形態との差分について重点的に説明し、以下で特に触れない限りは第１の実施形態と同様であるものとする。本実施形態では、空間フィルタ回路２３０が図８に例示する構成を有する。本実施形態に係る空間フィルタ回路２３０は、ユーザ選択などによって指定されたモードに応じて処理部８０１〜８０４の何れかを動作させて、入力画像に対するフィルタ処理を実行する。
【００４５】
スイッチ部８９０は、ユーザ選択などに応じて処理部８０１〜８０４のうち対応する１つを選択する。処理部８０１は、第１の実施形態と同様に、画像に対して第一フィルタ処理、第二フィルタ処理、第三フィルタ処理を実行する。処理部８０２は、画像に対して第一フィルタ処理、第二フィルタ処理、を実行する。処理部８０３は、画像に対して第二フィルタ処理、第三フィルタ処理、を実行する。処理部８０４は、画像に対して第一フィルタ処理を実行する。すなわち、空間フィルタ回路２３０は、選択されたモードに応じたフィルタを用いて、入力画像に対するフィルタ処理を実行する。
【００４６】
ここで、処理部８０１〜８０４のうち最も処理時間が長いものは処理部８０１で、次に長いものは処理部８０２及び８０３であり、最も短いものは処理部８０４である。しかし、フィルタ処理済画像の画質については、処理部８０１は低周波〜高周波を制御でき、処理部８０２は低周波〜中周波を制御でき、処理部８０３は中周波〜高周波を制御でき、処理部８０４は低周波のみを制御できる。
【００４７】
次に、モード切替の具体的な例について説明する。例えばユーザが不図示の操作部を操作することで、高速モード、標準モード、高画質モード、の何れかを選択できるとする。ここで、ユーザが操作部を操作して高速モードを選択すると、スイッチ部８９０は処理部８０４を選択する。また、ユーザが操作部を操作して標準モードを選択すると、スイッチ部８９０は処理部８０２を選択する。また、ユーザが操作部を操作して高画質モードを選択すると、スイッチ部８９０は、処理部８０１を選択する。画像の周波数成分に着目すると、低い周波数ほど視覚感度が高く画質への寄与が大きいため、このように低周波から順に制御することにより、処理時間あたりの画質向上効果を高めることができる。一方、処理部８０３のように低周波からではなく中周波から順に制御した場合、処理時間が同じ処理部８０２に比べて画質向上効果が劣ってしまうが、入力画像の低周波成分のゲインが小さい場合は処理部８０２の方が適している。即ち、所望のフィルタの周波数特性によって最適な構成を選択するようにしても良い。なお、上記のように、フィルタ処理の組み合わせの中から所望の組み合わせを選択する代わりに、どのフィルタを用いるのかを選択するようにしても構わない。
【００４８】
また、モード切替の他の例としては、コピーモード（原稿の読み取りとプリント出力を行うモード）と、スキャンモード（原稿の読み取りのみを行うモード）と、が設けられている場合がある。コピーモードでは、読み取りと同時にプリント出力も行うため高速な処理が求められるのに対し、スキャンモードでは、コピーモードほどの速度は求められない。そこで、コピーモードが選択されると、スイッチ部８９０は処理部８０４を選択し、スキャンモードが選択されると、スイッチ部８９０は処理部８０１を選択する。もしくは、コピーモードでも処理の初めの段階では処理部８０１を用いることにするが、処理時間が所定の閾値を超えた場合は、処理を途中で打ち切り、処理部８０２や処理部８０４を選択する。
【００４９】
このように、スキャンモードに比べてコピーモードではフィルタ処理の回数を少なくすることにより、コピーモードでは処理の遅れのない安定した動作を実現し、スキャンモードでは高画質を実現できる。すなわち、より高速にフィルタ処理を行うモードが設定された場合には、より数が少ないフィルタのセットを選択し、より高画質にフィルタ処理を行うモードが設定された場合には、より数が多いフィルタのセットを選択する構成には様々な構成がある。
【００５０】
また、他の例としては、プリント出力時に高品位用紙（写真用紙など）と、低品位用紙（普通紙など）と、を選択できる場合、低品位用紙を使用した場合はフィルタ処理の効果が視認されづらいため、高品位用紙を使用した場合に比べて処理回数を少なくする。例えば、高品位用紙では処理部８０１を選択し、低品位用紙では処理部８０４を選択する。すなわち、フィルタ処理が施された画像をより高品位の記録媒体に記録する設定がなされている場合には、より数が多いフィルタを選択する。一方、フィルタ処理が施された画像をより低品位の記録媒体に記録する設定がなされている場合には、より数が少ないフィルタを選択する。このように、フィルタ処理の効果が視認されづらいケースではフィルタ処理の回数を少なくすることにより、効果が少ないのに処理時間が長くなるという無駄を防ぐことができる。
【００５１】
本実施形態に係る空間フィルタ回路２３０の動作について、図１２のフローチャートに従って説明する。なお、図１２の各ステップにおける処理の詳細については上記の通りであるため、ここでは簡単に説明する。
【００５２】
ステップＳ１２０１においてスイッチ部８９０は、ユーザ操作などによって第１〜４のモードの何れが設定されているのかを判断する。第１〜４のモードには、上記の高速モード、標準モード、高画質モード、スキャンモード、コピーモード、高品位用紙を使用するモード、低品位用紙を使用するモード等、使用するフィルタを切り替えるための様々なモードが含まれる。この判断の結果、第１のモードが設定されている場合には、処理はステップＳ１２０２に進み、第２のモードが設定されている場合には、処理はステップＳ１２０３に進む。一方、第３のモードが設定されている場合には、処理はステップＳ１２０４に進み、第４のモードが設定されている場合には、処理はステップＳ１２０５に進む。
【００５３】
ステップＳ１２０２においてスイッチ部８９０は処理部８０１に動作を指示するので、処理部８０１は、図１１のフローチャートに従った処理と同様の処理を行うことで、入力画像に対するフィルタ処理を実行する。ステップＳ１２０３においてスイッチ部８９０は処理部８０２に動作を指示する。処理部８０２は、外部記憶装置１１８等のメモリからフィルタ４０１を読み出し、該読み出したフィルタ４０１を入力画像に適用する。これにより、該入力画像に対するフィルタ処理を実行する。その後、処理部８０２は、外部記憶装置１１８等のメモリからフィルタ４０２を読み出し、該読み出したフィルタ４０２を、フィルタ４０１を用いたフィルタ処理済みの画像に適用することで、該フィルタ処理済みの画像に対するフィルタ処理を実行する。
【００５４】
ステップＳ１２０４においてスイッチ部８９０は処理部８０３に動作を指示する。処理部８０３は、外部記憶装置１１８等のメモリからフィルタ４０２を読み出し、該読み出したフィルタ４０２を入力画像に適用することで、該入力画像に対するフィルタ処理を実行する。その後、処理部８０３は、外部記憶装置１１８等のメモリからフィルタ４０３を読み出し、該読み出したフィルタ４０３を、フィルタ４０２を用いたフィルタ処理済みの画像に適用することで、該フィルタ処理済みの画像に対するフィルタ処理を実行する。
【００５５】
ステップＳ１２０５においてスイッチ部８９０は処理部８０４に動作を指示する。処理部８０４は、外部記憶装置１１８等のメモリからフィルタ４０１を読み出し、該読み出したフィルタ４０１を入力画像に適用することで、該入力画像に対するフィルタ処理を実行する。なお、処理部８０１〜８０４の何れも、フィルタ処理を行った画像を、後段の色空間変換回路２４０に対して出力する。なお、出力するものは画像全体に限らず、画像においてフィルタ処理を行った箇所のみを出力するようにしても構わない。
【００５６】
［第３の実施形態］
第２の実施形態では、フィルタ処理の回数をモードに応じて切り替えたが、本実施形態では、フィルタ処理の対象となる対象領域の位置に応じて、該対象領域に対するフィルタ処理の回数を制御する。具体的には、高周波成分が多い画像領域（文字や線画の領域）では、できるだけ多くの周波数帯域を制御するため、フィルタ処理の回数を多くする。一方、高周波成分が少ない画像領域（自然画の領域）では、低周波から高周波まで制御しても効果が出にくいため、フィルタ処理の回数を少なくする。これにより、処理時間あたりの画質向上効果を高めることができる。以下では、第１の実施形態との差分について重点的に説明し、以下で特に触れない限りは、第１の実施形態と同様であるものとする。
【００５７】
本実施形態に係る空間フィルタ回路２３０の構成例について、図９のブロック図を用いて説明する。本実施形態に係る空間フィルタ回路２３０は、第一フィルタ処理を行う処理部９０１、第二フィルタ処理を行う処理部９０２、第三フィルタ処理を行う処理部９０３を有している。入力画像に対して処理部９０１が第一フィルタ処理を行い、処理部９０１によるフィルタ処理済画像に対して処理部９０２が第二フィルタ処理を行い、処理部９０２によるフィルタ処理済画像に対して処理部９０３が第三フィルタ処理を行ったとする。このとき、処理部９０３から出力されるフィルタ処理済画像は、図５における画像Ｏ＿３と同じである。
【００５８】
本実施形態でも、第２の実施形態と同様に、視覚感度の高い低周波から順に制御を行う。先ず、処理部９０１では入力画像Ｉに対して第一フィルタ処理を行うことで画像Ｏ＿１を生成し、更に、入力画像Ｉと画像Ｏ＿１との差分値（差の絶対値）を、低周波の制御効果として求める。例えば、入力画像Ｉを複数の画像領域に分割し、画像領域ごとに、「該画像領域内の各画素の画素値と、該画像領域に対応する画像Ｏ＿１内の画像領域内の各画素の画素値と、の差分（絶対値）の総和」を、該画像領域における低周波の制御効果として求める。なお、低周波の制御効果を求める方法はこれに限るものではなく、第一フィルタ処理を施す前と後とでどれだけの変化があったのかを定量的に評価することができる値であれば、如何なる値であっても構わない。そして、低周波の制御効果の値が閾値を下回る画像領域については、さらに異なるフィルタを用いてフィルタ処理を施しても効果が出にくい画像領域とみなし、２回目以降のフィルタ処理（第二フィルタ処理及び第三フィルタ処理）を施すことなく色空間変換回路２４０に出力する。一方、低周波の制御効果の値が閾値を超える画像領域（第一フィルタ処理済み）については、処理部９０２に対して出力する。
【００５９】
処理部９０２は、処理部９０１からの画像領域に対して第二フィルタ処理を施し、処理部９０１からの画像領域と、該画像領域について第二フィルタ処理を施した結果と、の差分値（差の絶対値）を、中周波の制御効果として求める。中周波の制御効果の求め方については低周波の制御効果の求め方と同様である。そして、中周波の制御効果の値が閾値を下回る画像領域については、フィルタ処理の回数を増やしても効果が出にくい画像領域とみなし、３回目以降のフィルタ処理（第三フィルタ処理）を施すことなく色空間変換回路２４０に対して出力する。一方、中周波の制御効果の値が閾値を超える画像領域（第二フィルタ処理済み）については、処理部９０３に対して出力する。
【００６０】
処理部９０３は、処理部９０２からの画像領域に対して第三フィルタ処理を施し、第三フィルタ処理済みの画像領域を色空間変換回路２４０に対して出力する。つまり本実施形態に係る空間フィルタ回路２３０は、着目フィルタを適用する対象となる画像と、該画像に対して該着目フィルタを適用した後の画像と、の差分が閾値を超えている場合には、次のように動作する。つまり、該着目フィルタよりもサイズが小さく且つ有意係数の配置間隔が狭いフィルタを、着目フィルタを適用した後の画像に適用してフィルタ処理を行う。一方、空間フィルタ回路２３０は、着目フィルタを適用する対象となる画像と、該画像に対して該着目フィルタを適用した後の画像と、の差分が閾値を下回る場合には、着目フィルタを適用した後の画像に対して更にフィルタ処理は行わない。
【００６１】
本実施形態に係る空間フィルタ回路２３０の動作について、図１３のフローチャートに従って説明する。なお、図１３の各ステップにおける処理の詳細については上記の通りであるため、ここでは簡単に説明する。ステップＳ１３０１において処理部９０１は、外部記憶装置１１８等のメモリからフィルタ４０１を読み出し、該読み出したフィルタ４０１を入力画像Ｉに適用することで、該フィルタ処理済みの入力画像である画像Ｏ＿１を生成する。そして更に処理部９０１は、入力画像Ｉと画像Ｏ＿１との差分値（差の絶対値）を、低周波の制御効果として求める。
【００６２】
ステップＳ１３０２において処理部９０１は、ステップＳ１３０１において求めた低周波の制御効果の値が閾値を超えている画像領域があるか否かを判断する。そして処理部９０１は、低周波の制御効果の値が閾値を下回る画像領域については色空間変換回路２４０に対して出力し、低周波の制御効果の値が閾値を超える画像領域については、処理部９０２に対して出力する。そして、この判断の結果、低周波の制御効果の値が閾値を超えている画像領域がある場合には、処理はステップＳ１３０３に進み、ない場合には、図１３のフローチャートに従った処理は終了する。
【００６３】
ステップＳ１３０３において処理部９０２は、外部記憶装置１１８等のメモリからフィルタ４０２を読み出し、該読み出したフィルタ４０２を、処理部９０１から送出された画像領域に適用することで、該画像領域に対してフィルタ処理を実行する。そして更に処理部９０２は、処理部９０１から送出された画像領域と、本ステップにおいて該画像領域をフィルタ処理した結果と、の差分値（差の絶対値）を、中周波の制御効果として求める。ステップＳ１３０４において処理部９０２は、ステップＳ１３０３において求めた中周波の制御効果の値が閾値を超えている画像領域があるか否かを判断する。そして処理部９０２は、中周波の制御効果の値が閾値を下回る画像領域については色空間変換回路２４０に対して出力し、中周波の制御効果の値が閾値を超える画像領域については、処理部９０３に対して出力する。そして、この判断の結果、中周波の制御効果の値が閾値を超えている画像領域がある場合には、処理はステップＳ１３０５に進み、ない場合には、図１３のフローチャートに従った処理は終了する。
【００６４】
ステップＳ１３０５において処理部９０３は、外部記憶装置１１８等のメモリからフィルタ４０３を読み出し、該読み出したフィルタ４０３を、処理部９０２から送出された画像領域に適用することで、該画像領域に対してフィルタ処理を実行する。そして処理部９０３は、フィルタ４０３を用いてフィルタ処理を行った画像領域を色空間変換回路２４０に対して出力する。
【００６５】
なお、上記の説明では、低周波の制御効果の値や中周波の制御効果の値が閾値を超えている画像領域のみを後段の処理部に転送し、超えていない画像領域については色空間変換回路２４０に転送していた。しかし、次のように空間フィルタ回路２３０を構成しても良い。処理部９０１は、画像中に低周波の制御効果の値が閾値を超えている画像領域が存在しない場合には、該画像を色空間変換回路２４０に転送し、１つでも存在する場合には、該画像を処理部９０２に転送する。処理部９０２は、処理部９０１から転送された画像において低周波の制御効果の値が閾値を超えている画像領域に対して第二フィルタ処理を行う。そして処理部９０２は、フィルタ処理済みの画像において中周波の制御効果の値が閾値を超えている画像領域が存在しない場合には、該画像を色空間変換回路２４０に転送し、１つでも存在する場合には、該画像を処理部９０３に転送する。処理部９０３は、処理部９０２から転送された画像において中周波の制御効果の値が閾値を超えている画像領域に対して第三フィルタ処理を行ってから該画像を色空間変換回路２４０に転送する。
【００６６】
このように、本実施形態によれば、互いに異なる周波数成分を制御する複数のフィルタを用いたフィルタ処理の効果が出やすい領域については、すべてのフィルタ処理を施す。これにより、処理時間あたりの画質向上効果を高めることができる。なお、図９の例では、更にフィルタ処理を行うのか否かを、フィルタ処理の前後の差の絶対値に基づいて判断したが、この判断に他の方法を用いてもかまわない。例えば、公知の方法でエッジ強度を求め、求めたエッジ強度が閾値以上であれば、更なるフィルタ処理を行い、閾値未満であれば更なるフィルタ処理は行わないようにしても良い。すなわち、画像のエッジ強度に応じて、該画像に適用するフィルタの数を判断しても良い。
【００６７】
また、画像にあらかじめ設定されている属性情報（文字や線画や自然画を区別できる属性情報）に基づいて、画像へのフィルタ処理の回数を決めてもかまわない。この場合、自然画に比べ、文字や線画ではフィルタ処理の回数を多くする。すなわち、画像の画像属性に応じて、該画像に適用するフィルタの数を判断しても良い。
【００６８】
＜変形例＞
上記の実施形態では説明上、互いに制御する周波数帯域が異なる複数のフィルタを３つ（フィルタ処理の最大回数を３）としているが、最大回数は３に限るものではない。また、上記の実施形態では説明上、各フィルタ処理で使用するタップ数を一定にしたが、フィルタ処理ごとにタップ数を変えてもかまわない。例えば、図５のフィルタ処理において、二回目のフィルタ処理で用いるフィルタ４０２の有意係数の間隔を１にすることにより、タップ数を３×３から５×５にしてもかまわない。
【００６９】
また、フィルタは、図１０（ａ）に示すようなフィルタ１００１（有意係数、無為係数の表現は図４，５と同じ）のように、縦サイズと横サイズとが同じでなくても良いし、有意係数の縦方向の間隔と横方向の間隔とが同じでなくても良い。一例として、インクジェットプリンタによる印字プロセスで発生するボケを図５のフィルタ処理によって回復するケースを想定する。インクジェットプリンタは縦方向に比べて横方向の方がボケやすい。そのため、主に低周波を制御する処理（図５の第一フィルタ処理のように、複数回のフィルタ処理のうち参照領域が最も広いフィルタを用いる処理）において、横方向の参照領域のサイズを縦方向に比べて大きくしたフィルタを用いる。この例ではフィルタ１００１を、フィルタ４０１のかわりに用いる。これにより、インクジェットプリンタのボケをさらに好適に回復することができる。
【００７０】
また、フィルタの参照領域は、矩形に限定されない。通常、光学系のボケ特性は円形に近いことが多いため、ボケを回復する際に矩形の参照領域を持つフィルタを用いた場合、矩形の頂点に対応する４つのフィルタ係数の値がほぼ０になることが多い。そこで、フィルタを図１０（ｂ）のフィルタ１００２（有意係数、無為係数の表現は図４，５と同じ）のように構成することで、参照領域を六角形にする。このようにすることにより、少ないタップ数でより広い範囲を参照できる。このような、矩形ではなく、円に近い参照領域を持つフィルタは、主に低周波を制御する処理（図５の第一フィルタ処理のように、複数回のフィルタ処理のうち参照領域が最も広いフィルタを用いる処理）において特に有効である。例えば、図８の処理部８０３のように、２回のフィルタ処理を行うケースにおいて、第二フィルタ処理においてフィルタ４０２のかわりにフィルタ１００２を用いることにより、参照領域のサイズをほとんど変化させずにタップ数を削減できる。
【００７１】
このように、有意係数が格子状に配置されていれば、有意係数の配置間隔や、参照領域の形は任意に設定できる。すなわち、画素間を結ぶ二次元ベクトルｖ１、ｖ２を単位格子ベクトルとし、ａ、ｂを整数としたとき、ｖ＝ａ×ｖ１＋ｂ×ｖ２となる位置に有意係数が配置されていることが望ましい。このとき、単位格子ベクトルｖ１、ｖ２の方向と長さおよび、整数ａ、ｂの範囲は、任意に設定できる。これまで示してきたフィルタ（３０２、４０１、４０２、４０３、１００１、１００２）は全て、有意係数が格子状に配置されている。有意係数が格子状に配置されている場合、より少ない参照画素で、より多くの画素の影響を考慮でき、有意係数が格子状に配置されていない場合に比べて、周波数成分の制御性能が向上する。
【００７２】
例えば、有意係数が格子状に配置されているフィルタ４０１とフィルタ４０３を用いた２回のフィルタ処理を行うケースを想定する。この処理は、フィルタ４０１とフィルタ４０３の畳み込み演算を行って合成したフィルタを１回だけ適用する処理と等価である。フィルタ４０１とフィルタ４０３を合成したフィルタの有意係数の配置は、図１４（ａ）の１４０１のようになるため、縦９画素×横９画素の参照領域内の全ての画素の影響を考慮できる。
【００７３】
一方、この処理において、フィルタ４０１の代わりに、有意係数が格子状に配置されていないフィルタ１４０２（図１４（ｂ））を用いた場合、フィルタ１４０２は有意係数が等間隔になっていないため、フィルタ１４０２とフィルタ４０３を合成したフィルタの有意係数の配置は、図１４（ｃ）の１４０３のようになる。そのため、縦９画素×横９画素の参照領域内の全ての画素の影響を考慮できず、フィルタ４０１を用いたときに比べ、周波数成分の制御性能が劣ってしまう。
【００７４】
このような理由から前述の実施形態では、各フィルタの有意係数を格子状に配置し、その配置間隔を異ならせることで、複数回のフィルタ処理において、より少ない参照画素で、より多くの画素の影響を考慮できるようにしている。
【００７５】
また、より少ない参照画素で、より多くの画素の影響を考慮するには、複数回のフィルタ処理で使用する各フィルタの単位格子ベクトルの向きを揃えるように構成することも有効である。例えば、フィルタ４０１とフィルタ４０３を用いた２回のフィルタ処理を行うケースを想定する。フィルタ４０１とフィルタ４０３は、単位格子ベクトルの向きが揃っており、いずれも、右向きと、上向きである。そのため、フィルタ４０１とフィルタ４０３を合成したフィルタの有意係数の配置は、図１４（ａ）の１４０１のようになり、縦９画素×横９画素の参照領域内の全ての画素の影響を考慮できる。
【００７６】
一方、この処理において、フィルタ４０３の代わりに、フィルタ１４０４（図１４（ｄ））を用いた場合、フィルタ４０１とフィルタ１４０４を合成したフィルタの有意係数の配置は、図１４（ｅ）の１４０５のようになる。フィルタ１４０４の単位格子ベクトルの向きは、図１４（ｄ）に示すように、右斜め上向きと、右斜め下向きであり、フィルタ４０１の単位格子ベクトルと向きが異なっている。そのため、フィルタ１４０５は、参照領域の大きさは縦１１画素×横１１画素となり、フィルタ１４０１よりも広い範囲の画素の影響を考慮できるが、参照領域内の全ての画素の影響を考慮できなくなる。特に、縦９画素×横９画素の領域内の全ての画素の影響を考慮したい場合、フィルタ４０１とフィルタ４０３を用いれば可能であるが、フィルタ４０１とフィルタ１４０４を用いた場合は不可能である。このような理由から、第１の実施形態では、フィルタ４０１、４０２、４０３の単位格子ベクトルの向きを揃えることにより、より少ない参照画素で、より多くの画素の影響を考慮できるようにしている。
【００７７】
また、光学系のボケの回復のような画像処理を、前述の実施形態に示すような複数回のフィルタ処理により実現する場合、合成したフィルタは、係数の総和をほぼ１にしないと、処理前後で画像の全体的な明るさが変化してしまう。合成したフィルタの係数の総和をほぼ１にするためには、通常のフィルタ処理で用いるフィルタ係数ｋ＿ｂの総和をほぼ１になるように各係数を決定すればよい。
【００７８】
ただし、合成したフィルタ係数の総和はほぼ１になるように決定できても、複数回の処理で使用する各フィルタは、総和がほぼ１にならないことがある。例えば、２回のフィルタ処理を行う場合、１回目のフィルタ処理で使用する係数は、総和が２となり、２回目のフィルタ処理で使用する係数は、総和が０．５となることがある。すなわち、１回目の処理では画像が全体的に明るくなり、２回目の処理では画像が全体的に暗くなる。有限長のビットを用いて演算を行う場合、画像の全体的な明るさが変化すると、クリッピングや丸め処理により情報が欠落し、画質が劣化してしまう。そのため、合成したフィルタだけでなく、複数回の処理で使用する各フィルタも、係数の総和をほぼ１にすることが望ましい。
【００７９】
例えば、各フィルタの中央の係数を従属変数として、各フィルタの有意係数を決定する。具体的には、中央の係数を、１から、中央以外の係数の総和を減算した値と設定する。もしくは、各フィルタ係数を求めた後に、各フィルタ係数について、個々の係数を、係数の総和で除算して正規化する。これらの方法を用いれば、いずれのフィルタも、係数の総和がほぼ１になるように決定することができる。これにより、有限長のビットを用いて演算を行う場合において、クリッピングや丸め処理による情報欠落を低減でき、画質が向上する。
【００８０】
また、図５のフィルタ処理では使用するフィルタのサイズを、後段のフィルタ処理ほど小さくすることにより、周波数成分を低周波から順に制御しているが、これに限らない。例えば、逆に、フィルタサイズを、後段のフィルタ処理ほど大きくし、周波数成分を高周波から順に制御してもかまわない。例えば、図５のフィルタ処理の場合、一回目のフィルタ処理、二回目のフィルタ処理、三回目のフィルタ処理において、それぞれ、フィルタ４０３、フィルタ４０２、フィルタ４０１を用いてもかまわない。
【００８１】
各フィルタ処理は線形演算のため、フィルタ処理の順番を変えても最終結果は数式上は変わらない。しかし、有限長のビットを用いて演算を行う場合、演算過程でクリッピングが生じることにより、フィルタ処理の順番によってクリッピングに起因するアーチファクトの出方が変化する。実際、発明者は、低周波から順に制御した場合に比べ、高周波から順に制御した方が、アーチファクトが弱くなるケースがあることを確認した。このように、クリッピングによるアーチファクトが目立つ場合は、フィルタ処理の順番を変化させることにより改善することができる。
【００８２】
また、上記の各実施形態におけるフィルタ処理は、積和演算を行うフィルタ処理に限るものではなく、他の種のフィルタ処理、例えば、メジアンフィルタなどの非線形なフィルタ処理であっても構わない。
【００８３】
また、フィルタ処理の回数は、フィルタ処理の演算精度に応じて切り替えても良い。演算精度は、フィルタ係数のビット長といった、フィルタ処理に関わるデータのビット長であり、ビット長が長いほど演算精度が高くなる。一般的に、演算精度が低くなるほど、フィルタ処理による周波数成分の制御性能が低下する。そのため、演算精度が低いフィルタ処理ほど、その回数を増やす。すなわち、フィルタ処理の演算精度に応じて、画像に適用するフィルタの数を判断するようにしても良い。これにより、演算精度を低くしたことによる画質劣化を補償できる。また、入力画素のビット数（ビット精度）に応じて切り換えても良い。即ち、入力画素のビット数が少ない場合（例えば８ビット）は処理回数を増やし、入力画素のビット数が多い場合（例えば１６ビット）は処理回数を減らすようにしても良い。あるいは、入力画素のビット数が少ない場合は、出力画像として高画質を期待していないと言えるので処理回数を減らし、入力画素のビット数が多い場合は、出力画像として高画質を期待していると言えるので処理回数を増やすようにしても良い。
【００８４】
また、上記の各実施形態では、複合機における空間フィルタ回路２３０の動作について説明した。しかし、上述した空間フィルタ回路２３０の機能は、入力画像に対してフィルタ処理を行う機器であれば、複合機に限らず、ＰＣ（パーソナルコンピュータ）や携帯電話、スマートフォン、タブレット端末など様々な機器に適用することができる。
【００８５】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８６】
２３０：空間フィルタ回路
【図１】
0006649750.tif 000002
【図２】
0006649750.tif 000003
【図３】
0006649750.tif 000004
【図４】
0006649750.tif 000005
【図５】
0006649750.tif 000006
【図６】
0006649750.tif 000007
【図７】
0006649750.tif 000008
【図８】
0006649750.tif 000009
【図９】
0006649750.tif 000010
【図１０】
0006649750.tif 000011
【図１１】
0006649750.tif 000012
【図１２】
0006649750.tif 000013
【図１３】
0006649750.tif 000014
【図１４】
0006649750.tif 000015