(57)【特許請求の範囲】
【請求項１】
入力画像を、隣接するバンド領域と互いに一部重なり合うように複数のバンド領域画像に分割し、各バンド領域画像をバンドメモリに逐次格納して画像処理を行なう画像処理装置であって、
第１の方向にＭ画素、該第１の方向に直交する第２の方向にＮ画素の２次元の参照領域を有するフィルタ係数を記憶する記憶手段と、
前記バンドメモリに格納されたバンド領域画像に対して、前記フィルタ係数を利用した空間フィルタを適用する空間フィルタ手段と、
を有し、
前記フィルタ係数は、前記第２の方向においてＫ画素ごとの画素を参照するように係数が設定されており、
前記空間フィルタ手段は、前記フィルタ係数による前記バンド領域画像に対するサンプリング位相が前記第２の方向に互いに異なるように、前記空間フィルタを前記バンド領域画像に対してＫ回順次適用し、
前記記憶手段は、第１の参照領域を有する第１のフィルタ係数と、該第１の参照領域よりも広い第２の参照領域を有する第２のフィルタ係数とを記憶しており、
前記画像処理装置は、
前記入力画像の解像度の指定を受け付ける受付手段と、
前記受付手段により所定の解像度より低い解像度を受け付けた場合は前記第１のフィルタ係数を選択し、前記受付手段により前記所定の解像度以上の解像度を受け付けた場合は前記第２のフィルタ係数を選択する選択手段と、
を更に有し、
前記空間フィルタ手段は、前記選択手段により選択されたフィルタ係数を使用する
ことを特徴とする画像処理装置。
【請求項２】
前記フィルタ係数は、更に、前記第１の方向においてＬ画素ごとの画素を参照するように係数が設定されており、
前記空間フィルタ手段は、前記フィルタ係数による前記バンド領域画像に対するサンプリング位相が互いに異なるように、前記空間フィルタをＫ×Ｌ回順次適用する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記記憶手段は、更に、前記第１の方向にＭ画素、前記第２の方向にＫ×（Ｎ−１）＋１画素の参照領域を有する参照領域拡大フィルタ係数を記憶しており、
前記参照領域拡大フィルタ係数は、前記第２の方向においてＫ画素ごとの画素を参照するように係数が設定されており、
前記参照領域拡大フィルタ係数を利用する場合、前記画像処理装置は、参照画素の間引きを行わない場合のＫ倍の領域のバンド領域画像を前記バンドメモリに逐次格納し、前記空間フィルタ手段は、前記参照領域拡大フィルタ係数による前記バンド領域画像に対するサンプリング位相が前記第２の方向に互いに異なるように、前記空間フィルタをＫ回順次適用する
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記バンド領域画像の高さ及び長さの一方は、前記入力画像の高さ及び長さの少なくとも一方と同一である
ことを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
入力画像を、隣接するバンド領域と互いに一部重なり合うように複数のバンド領域画像に分割し、更に、各バンド領域画像を、隣接するブロック領域と互いに一部重なり合うように複数のブロック領域画像に分割し、各ブロック領域画像をブロックメモリに逐次格納して画像処理を行なう画像処理装置であって、
第１の方向にＭ画素、該第１の方向に直交する第２の方向にＮ画素の２次元の参照領域を有するフィルタ係数を記憶する記憶手段と、
前記ブロックメモリに格納されたブロック領域画像に対して、前記フィルタ係数を利用した空間フィルタを適用する空間フィルタ手段と、
を有し、
前記フィルタ係数は、前記第２の方向においてＫ画素ごとの画素を参照するように係数が設定されており、
前記空間フィルタ手段は、前記フィルタ係数による前記ブロック領域画像に対するサンプリング位相が前記第２の方向に互いに異なるように、前記空間フィルタを前記ブロック領域画像に対してＫ回順次適用し、
前記記憶手段は、第１の参照領域を有する第１のフィルタ係数と、該第１の参照領域よりも広い第２の参照領域を有する第２のフィルタ係数とを記憶しており、
前記画像処理装置は、
前記入力画像の解像度の指定を受け付ける受付手段と、
前記受付手段により所定の解像度より低い解像度を受け付けた場合は前記第１のフィルタ係数を選択し、前記受付手段により前記所定の解像度以上の解像度を受け付けた場合は前記第２のフィルタ係数を選択する選択手段と、
を更に有し、
前記空間フィルタ手段は、前記選択手段により選択されたフィルタ係数を使用する
ことを特徴とする画像処理装置。
【請求項６】
入力画像を、隣接するバンド領域と互いに一部重なり合うように複数のバンド領域画像に分割し、各バンド領域画像をバンドメモリに逐次格納して画像処理を行なう画像処理装置の制御方法であって、
第１の方向にＭ画素、該第１の方向に直交する第２の方向にＮ画素の２次元の参照領域を有するフィルタ係数を記憶部に記憶する記憶工程と、
前記バンドメモリに格納されたバンド領域画像に対して、前記フィルタ係数を利用した空間フィルタを適用する空間フィルタ工程と、
を含み、
前記フィルタ係数は、前記第２の方向においてＫ画素ごとの画素を参照するように係数が設定されており、
前記空間フィルタ工程では、前記フィルタ係数による前記バンド領域画像に対するサンプリング位相が前記第２の方向に互いに異なるように、前記空間フィルタを前記バンド領域画像に対してＫ回順次適用し、
前記記憶工程では、第１の参照領域を有する第１のフィルタ係数と、該第１の参照領域よりも広い第２の参照領域を有する第２のフィルタ係数とを前記記憶部に記憶し、
前記制御方法は、
前記入力画像の解像度の指定を受け付ける受付工程と、
前記受付工程により所定の解像度より低い解像度を受け付けた場合は前記第１のフィルタ係数を選択し、前記受付工程により前記所定の解像度以上の解像度を受け付けた場合は前記第２のフィルタ係数を選択する選択工程と、
を更に含み、
前記空間フィルタ工程では、前記選択工程により選択されたフィルタ係数を使用する
ことを特徴とする画像処理装置の制御方法。
【請求項７】
入力画像を、隣接するバンド領域と互いに一部重なり合うように複数のバンド領域画像に分割し、更に、各バンド領域画像を、隣接するブロック領域と互いに一部重なり合うように複数のブロック領域画像に分割し、各ブロック領域画像をブロックメモリに逐次格納して画像処理を行なう画像処理装置の制御方法であって、
第１の方向にＭ画素、該第１の方向に直交する第２の方向にＮ画素の２次元の参照領域を有するフィルタ係数を記憶部に記憶する記憶工程と、
前記ブロックメモリに格納されたブロック領域画像に対して、前記フィルタ係数を利用した空間フィルタを適用する空間フィルタ工程と、
を含み、
前記フィルタ係数は、前記第２の方向においてＫ画素ごとの画素を参照するように係数が設定されており、
前記空間フィルタ工程では、前記フィルタ係数による前記ブロック領域画像に対するサンプリング位相が前記第２の方向に互いに異なるように、前記空間フィルタを前記ブロック領域画像に対してＫ回順次適用し、
前記記憶工程では、第１の参照領域を有する第１のフィルタ係数と、該第１の参照領域よりも広い第２の参照領域を有する第２のフィルタ係数とを前記記憶部に記憶し、
前記制御方法は、
前記入力画像の解像度の指定を受け付ける受付工程と、
前記受付工程により所定の解像度より低い解像度を受け付けた場合は前記第１のフィルタ係数を選択し、前記受付工程により前記所定の解像度以上の解像度を受け付けた場合は前記第２のフィルタ係数を選択する選択工程と、
を更に含み、
前記空間フィルタ工程では、前記選択工程により選択されたフィルタ係数を使用する
ことを特徴とする画像処理装置の制御方法。
【請求項８】
入力画像を、隣接するバンド領域と互いに一部重なり合うように複数のバンド領域画像に分割し、各バンド領域画像をバンドメモリに逐次格納して画像処理を行なう画像処理装置であって、
第１の方向にＭ画素、該第１の方向に直交する第２の方向にＮ画素の２次元の参照領域を有するフィルタ係数を記憶する記憶手段と、
前記バンドメモリに格納されたバンド領域画像に対して、前記フィルタ係数を利用した空間フィルタを適用する空間フィルタ手段と、
を有し、
前記フィルタ係数は、前記第２の方向においてＫ画素ごとの画素を参照するように係数が設定されており、
前記空間フィルタ手段は、前記フィルタ係数による前記バンド領域画像に対するサンプリング位相が前記第２の方向に互いに異なるように、前記空間フィルタを前記バンド領域画像に対してＫ回順次適用し、
前記記憶手段は、第１の参照領域を有する第１のフィルタ係数と、該第１の参照領域よりも広い第２の参照領域を有する第２のフィルタ係数とを記憶しており、
前記画像処理装置は、
前記入力画像における画像のボケ幅の指定を受け付ける受付手段と、
前記受付手段により所定のボケ幅より狭いボケ幅を受け付けた場合は前記第１のフィルタ係数を選択し、前記受付手段により前記所定のボケ幅以上のボケ幅を受け付けた場合は前記第２のフィルタ係数を選択する選択手段と、
を更に有し、
前記空間フィルタ手段は、前記選択手段により選択されたフィルタ係数を使用する
ことを特徴とする画像処理装置。
【請求項９】
入力画像を、隣接するバンド領域と互いに一部重なり合うように複数のバンド領域画像に分割し、更に、各バンド領域画像を、隣接するブロック領域と互いに一部重なり合うように複数のブロック領域画像に分割し、各ブロック領域画像をブロックメモリに逐次格納して画像処理を行なう画像処理装置であって、
第１の方向にＭ画素、該第１の方向に直交する第２の方向にＮ画素の２次元の参照領域を有するフィルタ係数を記憶する記憶手段と、
前記ブロックメモリに格納されたブロック領域画像に対して、前記フィルタ係数を利用した空間フィルタを適用する空間フィルタ手段と、
を有し、
前記フィルタ係数は、前記第２の方向においてＫ画素ごとの画素を参照するように係数が設定されており、
前記空間フィルタ手段は、前記フィルタ係数による前記ブロック領域画像に対するサンプリング位相が前記第２の方向に互いに異なるように、前記空間フィルタを前記ブロック領域画像に対してＫ回順次適用し、
前記記憶手段は、第１の参照領域を有する第１のフィルタ係数と、該第１の参照領域よりも広い第２の参照領域を有する第２のフィルタ係数とを記憶しており、
前記画像処理装置は、
前記入力画像における画像のボケ幅の指定を受け付ける受付手段と、
前記受付手段により所定のボケ幅より狭いボケ幅を受け付けた場合は前記第１のフィルタ係数を選択し、前記受付手段により前記所定のボケ幅以上のボケ幅を受け付けた場合は前記第２のフィルタ係数を選択する選択手段と、
を更に有し、
前記空間フィルタ手段は、前記選択手段により選択されたフィルタ係数を使用する
ことを特徴とする画像処理装置。
【請求項１０】
入力画像を、隣接するバンド領域と互いに一部重なり合うように複数のバンド領域画像に分割し、各バンド領域画像をバンドメモリに逐次格納して画像処理を行なう画像処理装置の制御方法であって、
第１の方向にＭ画素、該第１の方向に直交する第２の方向にＮ画素の２次元の参照領域を有するフィルタ係数を記憶部に記憶する記憶工程と、
前記バンドメモリに格納されたバンド領域画像に対して、前記フィルタ係数を利用した空間フィルタを適用する空間フィルタ工程と、
を含み、
前記フィルタ係数は、前記第２の方向においてＫ画素ごとの画素を参照するように係数が設定されており、
前記空間フィルタ工程では、前記フィルタ係数による前記バンド領域画像に対するサンプリング位相が前記第２の方向に互いに異なるように、前記空間フィルタを前記バンド領域画像に対してＫ回順次適用し、
前記記憶工程では、第１の参照領域を有する第１のフィルタ係数と、該第１の参照領域よりも広い第２の参照領域を有する第２のフィルタ係数とを前記記憶部に記憶し、
前記制御方法は、
前記入力画像における画像のボケ幅の指定を受け付ける受付工程と、
前記受付工程により所定のボケ幅より狭いボケ幅を受け付けた場合は前記第１のフィルタ係数を選択し、前記受付工程により前記所定のボケ幅以上のボケ幅を受け付けた場合は前記第２のフィルタ係数を選択する選択工程と、
を更に含み、
前記空間フィルタ工程では、前記選択工程により選択されたフィルタ係数を使用する
ことを特徴とする画像処理装置の制御方法。
【請求項１１】
入力画像を、隣接するバンド領域と互いに一部重なり合うように複数のバンド領域画像に分割し、更に、各バンド領域画像を、隣接するブロック領域と互いに一部重なり合うように複数のブロック領域画像に分割し、各ブロック領域画像をブロックメモリに逐次格納して画像処理を行なう画像処理装置の制御方法であって、
第１の方向にＭ画素、該第１の方向に直交する第２の方向にＮ画素の２次元の参照領域を有するフィルタ係数を記憶部に記憶する記憶工程と、
前記ブロックメモリに格納されたブロック領域画像に対して、前記フィルタ係数を利用した空間フィルタを適用する空間フィルタ工程と、
を含み、
前記フィルタ係数は、前記第２の方向においてＫ画素ごとの画素を参照するように係数が設定されており、
前記空間フィルタ工程では、前記フィルタ係数による前記ブロック領域画像に対するサンプリング位相が前記第２の方向に互いに異なるように、前記空間フィルタを前記ブロック領域画像に対してＫ回順次適用し、
前記記憶工程では、第１の参照領域を有する第１のフィルタ係数と、該第１の参照領域よりも広い第２の参照領域を有する第２のフィルタ係数とを前記記憶部に記憶し、
前記制御方法は、
前記入力画像における画像のボケ幅の指定を受け付ける受付工程と、
前記受付工程により所定のボケ幅より狭いボケ幅を受け付けた場合は前記第１のフィルタ係数を選択し、前記受付工程により前記所定のボケ幅以上のボケ幅を受け付けた場合は前記第２のフィルタ係数を選択する選択工程と、
を更に含み、
前記空間フィルタ工程では、前記選択工程により選択されたフィルタ係数を使用する
ことを特徴とする画像処理装置の制御方法。
【請求項１２】
コンピュータを、請求項１乃至５、８、９の何れか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、空間フィルタを利用した画像処理技術に関するものである。
【背景技術】
【０００２】
従来から、画像形成を行って出力する際に、空間フィルタ処理などの局所画像処理が行なわれている。この局所画像処理は、処理対象となる画素（以下、処理画素と呼ぶ）を含む参照領域に含まれるすべての画素を用いて何らかの演算を行う画像処理のことである。例えば、デジタル画像データに対してエッジ強調処理やぼかし処理といった空間フィルタ処理を施す。
【０００３】
このような局所画像処理では、デジタル画像データの上端の画素列について左端から右端まで処理を行ない、その後、上端から２行目の画素列について処理を行い、同様の動作を下端の画素列まで繰り返し実行する手法が利用される場合がある。この手法においては、デジタル画像データの主走査方向の幅が大きくなるにつれて、大きなメモリ容量が必要になる。例えば、Ａ４サイズの画像を、解像度が６００ｄｐｉのスキャナで読み取り、デジタル画像データに変換した場合、デジタル画像データのサイズは約５０００画素×７０００画素となる。そのため、１画素が３バイト（２４ビット）のデータ量である場合には、デジタル画像データの格納に必要な容量は５０００画素×７０００画素×３バイト＝１０５ＭＢとなる。そこで、画像処理に用いるローカルメモリ（作業領域）を削減するため、画像データを複数のバンドに分割して画像処理を行う技術（以下、バンド処理と呼ぶ）が一般的に用いられている。
【０００４】
さらに、画像処理に必要なメモリ容量を低減すべく、デジタル画像データを複数のブロック（タイル）領域に分割し、別々に局所（近傍）画像処理を行うという技術（以下、ブロック処理と呼ぶ）が開示されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−２５９６４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、バンド処理や特許文献１に記載されたブロック処理においては、各領域の境界に重なり合う領域（重複領域）があるため、局所画像処理における参照領域を広くすると総転送画素数が増えてしまうという問題がある。例えば、空間フィルタ処理により光学系のボケが発生している画像を回復する場合、図１９に示すように、空間フィルタの参照領域をボケ幅と同程度の広がりにしなければ十分な回復性能が得られない。そのため、光学系のボケが大きい場合は、参照領域を広くする必要があり、その結果、総転送画素数が増えてしまう。もしくは、空間フィルタ処理により画像をぼかして撮像系のノイズを除去したい場合、ノイズが大きいほどぼかす範囲を広くする必要がある。そのため、撮像系のノイズが大きい場合は参照領域を広くする必要があり、その結果、総転送画素数が増えてしまう。
【０００７】
本発明は、上述の問題点に鑑みなされたものであり、局所画像処理をより効率的に実行可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述の問題点を解決するため、本発明に係る画像処理装置は以下の構成を備える。すなわち、入力画像を、隣接するバンド領域と互いに一部重なり合うように複数のバンド領域画像に分割し、各バンド領域画像をバンドメモリに逐次格納して画像処理を行なう画像処理装置において、第１の方向にＭ画素、該第１の方向に直交する第２の方向にＮ画素の２次元の参照領域を有するフィルタ係数を記憶する記憶手段と、前記バンドメモリに格納されたバンド領域画像に対して、前記フィルタ係数を利用した空間フィルタを適用する空間フィルタ手段と、を有し、前記フィルタ係数は、前記第２の方向においてＫ画素ごとの画素を参照するように係数が設定されており、前記空間フィルタ手段は、前記フィルタ係数による前記バンド領域画像に対するサンプリング位相が前記第２の方向に互いに異なるように、前記空間フィルタを前記バンド領域画像に対してＫ回順次適用し、前記記憶手段は、第１の参照領域を有する第１のフィルタ係数と、該第１の参照領域よりも広い第２の参照領域を有する第２のフィルタ係数とを記憶しており、前記画像処理装置は、前記入力画像の解像度の指定を受け付ける受付手段と、前記受付手段により所定の解像度より低い解像度を受け付けた場合は前記第１のフィルタ係数を選択し、前記受付手段により前記所定の解像度以上の解像度を受け付けた場合は前記第２のフィルタ係数を選択する選択手段と、を更に有し、前記空間フィルタ手段は、前記選択手段により選択されたフィルタ係数を使用する。
【０００９】
または、入力画像を、隣接するバンド領域と互いに一部重なり合うように複数のバンド領域画像に分割し、更に、各バンド領域画像を、隣接するブロック領域と互いに一部重なり合うように複数のブロック領域画像に分割し、各ブロック領域画像をブロックメモリに逐次格納して画像処理を行なう画像処理装置において、第１の方向にＭ画素、該第１の方向に直交する第２の方向にＮ画素の２次元の参照領域を有するフィルタ係数を記憶する記憶手段と、前記ブロックメモリに格納されたブロック領域画像に対して、前記フィルタ係数を利用した空間フィルタを適用する空間フィルタ手段と、を有し、前記フィルタ係数は、前記第２の方向においてＫ画素ごとの画素を参照するように係数が設定されており、前記空間フィルタ手段は、前記フィルタ係数による前記ブロック領域画像に対するサンプリング位相が前記第２の方向に互いに異なるように、前記空間フィルタを前記ブロック領域画像に対してＫ回順次適用し、前記記憶手段は、第１の参照領域を有する第１のフィルタ係数と、該第１の参照領域よりも広い第２の参照領域を有する第２のフィルタ係数とを記憶しており、前記画像処理装置は、前記入力画像の解像度の指定を受け付ける受付手段と、前記受付手段により所定の解像度より低い解像度を受け付けた場合は前記第１のフィルタ係数を選択し、前記受付手段により前記所定の解像度以上の解像度を受け付けた場合は前記第２のフィルタ係数を選択する選択手段と、を更に有し、前記空間フィルタ手段は、前記選択手段により選択されたフィルタ係数を使用する。
【発明の効果】
【００１０】
本発明によれば、局所画像処理をより効率的に実行可能とする技術を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態に係る画像処理装置の全体構成を示すブロック図である。
【図２】画像処理部の構成を示すブロック図である。
【図３】バンド処理におけるフィルタ処理の動作を説明する図である。
【図４】第１実施形態におけるフィルタ処理の動作を説明する図である。
【図５】空間フィルタ回路の構成の一例を示す図である。
【図６】空間フィルタの参照領域の一例を示す図である。
【図７】空間フィルタ処理が実行される領域を例示的に示す図である。
【図８】第２実施形態における空間フィルタ処理を説明する図である（例１）。
【図９】第２実施形態における他の空間フィルタ処理を説明する図である（例２）。
【図１０】第２実施形態における他の空間フィルタ処理を説明する図である（例３）。
【図１１】第２実施形態における他の空間フィルタ処理を説明する図である（例４）。
【図１２】第３実施形態における空間フィルタ処理を説明する図である（例５）。
【図１３】第３実施形態における空間フィルタ処理を説明する図である（例６）。
【図１４】ブロック処理におけるフィルタ処理の動作を説明する図である。
【図１５】第４実施形態における空間フィルタ処理を説明する図である。
【図１６】第５実施形態における複数の処理モードを示す図である。
【図１７】第６実施形態における解像度による処理の切り替えを示す図である。
【図１８】第７実施形態におけるボケ幅による処理の切り替えを示す図である。
【図１９】光学系のＰＳＦのボケ幅と空間フィルタのフィルタ係数の参照領域との関係を示す図である。
【発明を実施するための形態】
【００１２】
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【００１３】
（第１実施形態）
本発明に係る画像処理装置の第１実施形態として、原稿を読み取り、読み取り光学系に起因する画像ボケを補正（補償）し画像形成を行う複合機（ＭＦＰ）を例に挙げて以下に説明する。
【００１４】
＜前提技術＞
まず、本発明の前提となる背景技術で述べた画像処理の手法について説明する。
【００１５】
・ブロック処理
デジタル画像データを複数のブロック（タイル）領域に分割し、別々に局所（近傍）画像処理を行う手法である。かかる技術では、各ブロック領域間で隙間なく局所（近傍）画像処理を行うために、各ブロック領域が、夫々隣接するブロック領域と、境界で互いに一部が重なり合うようにしている。このようにすれば、メモリの容量をブロック（タイル）領域の大きさで規定することができ、省メモリ化することが可能となる。例えば、解像度が６００ｄｐｉのＡ４サイズのデジタル画像データ（主走査方向５０００画素×副走査方向７０００画素）であるとする。このデジタル画像データに、３画素×３画素の参照領域を持つ空間フィルタ処理を行う。このとき、ブロック（タイル）領域の大きさを１６画素×１６画素とすると、メモリ容量は、０．７５Ｋバイト（１６画素×１６画素×３バイト）になる。
【００１６】
ただし、上述の重なり合う領域の画素は２回又は４回転送されることになる。例えば、３画素×３画素の参照領域に対して空間フィルタ処理を行う場合、総転送画素数は本来のデジタル画像データの画素数である５０００画素×７０００画素に対し１.３１倍となる。また、９画素×９画素の空間フィルタ領域に対して空間フィルタ処理を行う場合には、重なり合う領域がさらに増加し、デジタル画像データの総転送画素数は本来のデジタル画像データの画素数の４倍となる。
【００１７】
・バンド処理
１枚の画像データの副走査方向に分割して得られた複数のバンド領域毎に、バンド領域内の画素を走査して局所（近傍）画像処理を逐次行う手法である。かかる技術では、バンド領域内の画素を画像処理するためのメモリ容量を、バンド領域の主走査方向に対して垂直な方向におけるバンド領域の大きさ（バンド領域の高さ）に依存させることができる。即ち、各バンド領域間で隙間なく局所（近傍）画像処理を行うために、各バンド領域が、夫々隣接するバンド領域と、境界で互いに一部重なり合うようにしている。上述のブロック処理とは異なり重なり合う領域が網目状になるわけではない。そのためブロック処理に比較して、同一画素の再転送数は少量となり、その結果、総転送画素数も少なくなる。
【００１８】
＜概要＞
第１実施形態では、バンド処理において、空間フィルタ処理の参照領域内の参照画素の一部を適切に間引く。これにより、空間フィルタ処理に使用する画素数が削減されるため総転送画素数の増加を抑制することが可能となる。
【００１９】
＜装置構成＞
図１は、第１実施形態に係る画像処理装置の全体構成を示すブロック図である。
【００２０】
画像読み取り部１２０は、レンズ１２２、ＣＣＤセンサ１２４、及びアナログ信号処理部１２６等を備えて構成される。レンズ１２２を介しＣＣＤセンサ１２４に結像された原稿１００の画像が、ＣＣＤセンサ１２４によりＲ（Red），Ｇ（Green），Ｂ（Blue）のアナログ電気信号に変換される。
【００２１】
アナログ信号に変換された画像情報は、アナログ信号処理部１２６に入力され、Ｒ，Ｇ，Ｂの色毎に補正等が行われた後にアナログ・デジタル変換（Ａ／Ｄ変換）される。デジタル化されたフルカラー信号（以下、デジタル画像信号という）は、画像処理部１３０に入力される。画像処理部１３０は、デジタル画像信号に対し、後述する入力補正処理、空間フィルタ処理、色空間変換、濃度補正処理、及び中間調処理を施し、これらの処理が施された後のデジタル画像信号をプリンタ部１４０へ出力する。
【００２２】
プリンタ部１４０は、たとえば、インクジェットヘッドやサーマルヘッド等を使用したラスタプロッタ等の印刷出力部（図示せず）を備えて構成され、入力されたデジタル画像信号により紙上に画像を記録する。
【００２３】
また、ＣＰＵ回路部１１０は、演算制御用のＣＰＵ１１２、固定データやプログラムを格納するＲＯＭ１１４、データの一時保存やプログラムのロードに使用されるＲＡＭ１１６、及び外部記憶装置１１８等を備える。そして、画像読み取り部１２０、画像処理部１３０、及びプリンタ部１４０等を制御し、画像処理装置のシーケンスを統括的に制御する。外部記憶装置１１８は、画像処理装置が使用するパラメータやプログラムを記憶するディスク等の媒体であり、ＲＡＭ１１６のデータやプログラム等は、外部記憶装置１１８からロードされる構成としても構わない。
【００２４】
図２は、画像処理部の構成を示すブロック図である。アナログ信号処理部１２６から出力されたデジタル画像信号は、バス２０５を経由して画像処理コントローラ２００に入力される。画像処理コントローラ２００は、入力インターフェース２１０、入力補正回路２２０、空間フィルタ回路２３０、色空間変換回路２４０、濃度補正回路２５０、中間調処理回路２６０、及び出力インターフェース２７０を備える。以下、入力補正回路２２０、空間フィルタ回路２３０、色空間変換回路２４０、濃度補正回路２５０、及び中間調処理回路２６０について詳細に説明する。
【００２５】
入力補正回路２２０には、入力インターフェース２１０を経由してデジタル画像信号２１５が入力される。このデジタル画像信号２１５はＲ，Ｇ，Ｂの輝度信号で構成される。入力補正回路２２０は、原稿１００を読み取るセンサの特性のばらつきや、原稿照明用ランプの配光特性を補正するための処理を行う。
【００２６】
空間フィルタ回路２３０には、入力補正回路２２０から出力されたデジタル画像信号（輝度信号Ｒ，Ｇ，Ｂ）２２５が入力される。空間フィルタ回路２３０は、第１実施形態の主な特徴部分に該当する回路であり、デジタル画像信号（輝度信号Ｒ，Ｇ，Ｂ）２２５に対し、平滑化やエッジ強調、光学ボケ補正といった局所（近傍）画像処理を行う。
【００２７】
色空間変換回路２４０には、空間フィルタ処理回路２３０から出力されたデジタル画像信号（輝度信号Ｒ,Ｇ,Ｂ）２３５が入力される。色空間変換処理回路２４０は、デジタル画像信号２３５の輝度信号Ｒ，Ｇ，Ｂを、濃度信号Ｃ（Cyan），Ｍ（Magenta），Ｙ（Yellow），Ｋ（Black）に変換する。
【００２８】
濃度補正回路２５０には、色空間変換回路２４０から出力されたデジタル画像信号（濃度信号Ｃ，Ｍ，Ｙ，Ｋ）２４５が入力される。濃度補正回路２５０は、デジタル画像信号（濃度信号Ｃ，Ｍ，Ｙ，Ｋ）２４５に対し濃度補正を行う。これは、後段の中間調処理回路２６０で２値化されたときに濃度変化が起きないように、中間調処理の特性を考慮して予め濃度補正を行う必要があるからである。
【００２９】
中間調処理回路２６０には、濃度補正回路２５０から出力されるデジタル画像信号（濃度信号Ｃ，Ｍ，Ｙ，Ｋ）２５５が入力される。中間調処理回路２６０は、デジタル画像信号（濃度信号Ｃ，Ｍ，Ｙ，Ｋ）２５５に対しスクリーン処理を行い、２値の中間調表現に変換する。そして、２値デジタル画像信号（印字信号Ｃ，Ｍ，Ｙ，Ｋ）２６５が、出力インターフェース２７０とバス２７５とを経由してプリンタ部１４０に出力される。
【００３０】
＜空間フィルタ回路２３０のバンド処理動作＞
家庭用プリンタのような低コストの機器では、システムのメインメモリ（図１のＲＡＭ１１６に相当）の容量が小さい。そのため、１枚の画像データを複数のバンド（帯状）領域に分割し、各バンド領域をメインメモリに展開して各種の画像処理を行うことが一般的である。
【００３１】
この分割された細長い領域をバンド領域と呼び、バンド領域のデータが展開される記憶領域をバンドメモリと呼び、分割する行為をバンド分割と呼ぶ。バンドメモリは、メインメモリ内に記憶領域として確保されると決まっているわけではなく、システム上のどの記憶領域に確保してもよいが、ここでは、説明を簡潔にするためにバンドメモリをメインメモリ内に確保する場合を例に挙げて説明する。
【００３２】
図３は、従来のバンド処理におけるフィルタ処理の動作を説明する図である。ここで、デジタル画像データの座標系（主走査方向−副走査方向）は、図３（ｅ）に示すように、長さ方向、高さ方向という新たな座標系（バンド領域座標系）を定義し、バンド領域を長さ×高さで表現する。また、バンド領域の長さは、必ずデジタル画像データの主走査方向の幅、もしくは副走査方向の高さの何れかの値となり、バンドの高さは任意の値となる。
【００３３】
バンド処理についてもう少し詳しく説明する。まず、１つ目のバンド領域画像である第１のバンド領域３０１を、メインメモリ上のバンドメモリに展開して画像処理を行う（図３（ａ））。次に、２つ目のバンド領域画像である第２のバンド領域３０２を、バンド領域３０１が展開されたバンドメモリに上書き展開して画像処理を行う（図３（ｂ））。さらに、第３のバンド領域３０３を、バンド領域３０２が展開されたバンドメモリに上書き展開して画像処理を行う（図３（ｃ））。以下同様にして、画像データの下方領域まで逐次格納して処理を行う。
【００３４】
なお、バンド領域３０１〜３０３の長さ（主走査方向）は同じであるが、高さ（副走査方向）は同じである必要性は無い。メインメモリの記憶領域であるバンドメモリは最も大きいバンド領域によって決定される。
【００３５】
また、前述したように、メインメモリ内のバンドメモリは１つの記憶領域に限定されるわけではない。例えば２つのバンドメモリＡ、Ｂをメインメモリ内に確保してもよい。このようにした場合には、まず、第１のバンドメモリＡにバンド領域３０１を展開して第１の画像処理を行う。次に、バンド領域３０１を第１のバンドメモリＡから第２のバンドメモリＢに移して、第１のバンドメモリＡに第２のバンド領域３０２を展開する。そして、第１のバンド領域３０１に対して第２の画像処理を行ないながら、並列に第２のバンド領域３０２に第１の画像処理を行うと良い。バンド領域単位にデジタル画像データを分割して画像処理を行うことで、このようなパイプライン的な画像処理が可能となる。
【００３６】
第１実施形態における基本的な画像処理方法は従来のバンド処理と同じである。ただし、空間フィルタにおける参照画素を削減する点が異なる。
【００３７】
図６は、第１実施形態に係る空間フィルタの参照領域の一例を示す図である。図６（ａ）は、１行毎に参照画素を間引いた２次元の参照領域（参照画素の配置）を示している。画素ｈは、処理画素の位置に対応する。画素ａ〜ｏは、０以外のフィルタ係数が対応する画素であり、空間フィルタにより各々のフィルタ係数が乗算される。なお図６（ａ）において空欄のマスは、画素値を参照しない画素であることを意味する。このような空間フィルタにおいて、直交する２つの方向（高さ方向、長さ方向）により規定される参照領域のサイズ（幅ｆｗと高さｆｈ）は従来のバンド処理（図３）と同じ５画素四方である。しかし、参照領域内において空間フィルタ処理に使用する参照画素の数は、従来のバンド処理が２５画素である一方、第１実施形態では１５画素である。なお、フィルタ係数は、後述するフィルタ係数レジスタ５６０などの記憶部に記憶される。
【００３８】
この場合、垂直方向（副走査方向）の解像度は１／２となり、垂直方向の高周波成分は制御できないが、低周波成分は制御できる。この場合、空間フィルタ処理の係数は図６（ｃ）に示すように、１行おきに”０”が挿入されたフィルタ係数と等価になる。逆にいえば、このような係数となる空間フィルタで対応できれば、参照画素を間引くことができる。なお、ここでは１行おき（２画素ごと）としているが、Ｋを任意の１以上の正整数として、Ｋ画素ごととすることが出来る。
【００３９】
ところで、人間の視覚特性においては、高周波画像成分は低周波画像成分に比較し感度が低い。そのため、前述した光学系のボケ回復においては、視覚特性上の感度が高い低周波画像成分のみ回復できればよい。よって、１行おきに”０”が挿入されたフィルタ係数の空間フィルタ処理でも十分ボケの補正が可能である。
【００４０】
図４は、第１実施形態におけるフィルタ処理の動作を説明する図である。ここでは、図６（ｃ）に示すフィルタ係数を用いる。なお、係数０の画素位置のデータはフィルタ処理には必要ないので読み出さない。このようなフィルタ係数を用いて、バンド領域内で偶数行に位置する画素群（偶数行画素）と奇数行に位置する画素群（奇数行画素）を別々に処理する点が従来のバンド処理と異なる。
【００４１】
図４（ａ）において、参照符号４００は、画像データの全域を示している。また、参照符号３０１は第１のバンド領域、参照符号３０２は第２のバンド領域をそれぞれ示している。上述の通り、ここでは、バンド領域を単位として処理を行うため、画像データ４００の座標系（主走査方向−副走査方向）とは異なるバンド領域の座標系（長さ方向−高さ方向）で画像処理を行う。図４において第１のバンド領域は、０行〜１５行からなり、処理画素ｈは、６行目に位置する画素の１つである。なお、図４（ａ）に示す、参照領域４１０内の偶数行の１５個の参照画素は、図６（ａ）に示す画素ａ〜ｏに対応する。また、第１実施形態では総転送画素数を削減するため、各バンドにおいて偶数行画素と奇数行画素を別々に処理する。また、偶数行画素と奇数行画素を別々に処理することにより、図４に示すように、同じ遅延メモリ容量で従来バンド処理（図３）の２倍の高さのバンドを処理することができる。
【００４２】
まず、バンド領域３０１に対して、バンド領域の偶数行の左上端の画素からバンド領域の長さ方向（主走査方向）に沿って、一画素ずつ画像処理が実行される。バンド領域３０１の場合、画像データ４００における０行目左端の画素から画像処理が開始される。バンド領域の偶数行の右端の画素まで到達すると、次の偶数行の先頭に画像処理する画素を進める。そして、再びバンド領域の偶数行の左端の画素からバンド領域の長さ方向に沿って一画素ずつ偶数行の右端まで画像処理が実行される。この一連の画像処理をバンド領域の偶数行の右下端の画素まで実行し、偶数行画素に対するバンド処理が終了する。
【００４３】
バンド領域３０１の偶数行画素に対する処理を終えた後、図４（ｂ）に示すように、バンド領域３０１の奇数行画素に対して、同様の局所（近傍）画像処理を行う。すなわち、バンド領域３０１に対して、バンド領域の奇数行の左上端の画素からバンド領域の長さ方向に沿って、一画素ずつ画像処理が実行される。ここでは、１行目の左端の画素から画像処理が開始される。バンド領域の奇数行の右端の画素まで到達すると、次の奇数行の先頭に画像処理する画素を進める。そして、再びバンド領域の奇数行の左端の画素からバンド領域の長さ方向に沿って一画素ずつ奇数行の右端まで画像処理が実行される。この一連の画像処理をバンド領域の奇数行の右下端の画素まで実行し、奇数行画素に対するバンド処理が終了する。
【００４４】
このように、偶数行画素に対するバンド処理と、奇数行画素に対するバンド処理を行うことにより、１つのバンド処理が終了する。すなわち、ここでは、１行おき（２画素ごと）に間引かれた空間フィルタを用いて２つのサンプリング位相により空間フィルタを２回順次適用した。Ｋ画素ごとに間引く場合はＫ個のサンプリング位相により空間フィルタをＫ回順次適用することになる。
【００４５】
バンド領域３０１に対して、上述の処理を終えた後、図４（ｃ）、図４（ｄ）に示すように、バンド処理を実行する。つまり、次の第２のバンド領域３０２に対して、第１のバンド領域３０１に対して行ったのと同様に偶数行画素に対するバンド処理と奇数行画素に対するバンド処理を実行し、局所（近傍）画像処理を行う。不図示の第３のバンド領域３０３以降に対しても同様の処理を行う。
【００４６】
図７は、空間フィルタ処理が実行される領域を例示的に示す図である。従来技術と同様に、デジタル画像データ４００の周辺部は、空間フィルタ処理を施すことができない領域１１９０が存在する。これは参照領域４１０内のすべての画素値を空間フィルタ処理に代入できないことに起因し、領域１１９０に対しては、原理上、適切な空間フィルタ処理を行うことができない。したがって、各バンド領域（バンド領域３０１、３０２、３０３）間で隙間無く局所（近傍）画像処理を行うためには、各バンド領域において、図４（ｅ）に示すような重なり合う画素領域４６０が必須となる。
【００４７】
＜空間フィルタ回路２３０のフィルタ処理の詳細＞
図５は、空間フィルタ回路の構成の一例を示す図である。以下では、空間フィルタ回路２３０におけるにおけるフィルタ処理（積和演算処理）の詳細について説明する。
【００４８】
空間フィルタ回路２３０において、積和演算器５６５には、図６（ｂ）に示すような入力画素の画素値が入力される。また、積和演算器５６５には、フィルタ係数レジスタ５６０から１５個の加重値（図６（ｃ）に示される０以外のフィルタ係数）が入力される。空間フィルタ回路２３０において、参照領域４１０内の１５個の画素ａ〜ｏがすべて揃った状態が図４（ａ）に対応する。
【００４９】
また、遅延レジスタ５７２によって遅延された画素ｋ〜ｏの画素値が夫々、積和演算器５６５に入力される。また画素ａ〜ｅ、ｆ〜ｊの画素値は遅延メモリ５７５に記憶されており、遅延回路５７０によって遅延メモリ５７５から取り出され、積和演算器５６５に入力される。
【００５０】
積和演算器５６５は、加重マトリクスレジスタ５６０から１５個の加重値と画素ａ〜ｏの画素値とを用いて所定の演算を行ない、処理画素のフィルタ演算結果５９０を出力する。この出力した値が、図４（ａ）に示す処理画素ｈの画像処理結果となる。
【００５１】
その後、空間フィルタ回路２３０は、遅延回路５７０を介して遅延メモリ５７５の画素ａの画素値に画素ｂの画素値を上書きすることにより、画素ａの画素値を消去すると共に画素ｂの画素値を記憶する。このような遅延回路５７０のリング式ＦＩＦＯ（First-In First-Out）と同一の動作により、図４（ａ）に示す遅延メモリ５７５に記憶される画素領域４５０は、常に４ラインとなる。すなわち、参照領域４１０の高さ”５”より１だけ小さいライン数となる（ここでは高さ方向に１／２に間引いているので実質のライン数は１／２の２ラインとなる）。処理画素が進むにつれ、入力画素の走査方向４４０（バンド領域の長さ方向）とは垂直な方向（バンド領域の高さ方向）に、遅延メモリ５７５に記憶される画素領域４５０は遷移していくことになる。なお、図４（ａ）では、この遅延メモリ５７５に記憶される画素領域４５０が遷移する方向を、遅延メモリの走査方向４５５として図示している。
【００５２】
以上、空間フィルタ回路２３０における偶数行画素に対する処理を説明したが、奇数行画素の場合も、空間フィルタ回路２３０における処理は同じである。
【００５３】
＜効果＞
・遅延メモリ容量
第１実施形態における遅延メモリ５７５の容量は、以下の数式（１）に示すように、バンド領域の長さＢｄｌ及び参照領域４１０の高さｆｈに依存した容量となる。
【００５４】
遅延メモリ容量Ｄｂｕｆ＝Ｂｄｌ×（ｆｈ−１）÷２  ・・・（１）
一方、従来のバンド処理（図３）では、遅延メモリ容量Ｄｂｕｆは数式（２）に示す通りとなる。
【００５５】
遅延メモリ容量Ｄｂｕｆ＝Ｂｄｌ×（ｆｈ−１）  ・・・（２）
すなわち、第１実施形態では、各バンドにおいて偶数行と奇数行を別々に処理するため、Ｂｄｌとｆｈが同じ場合、従来のバンド処理における遅延メモリ容量Ｄｂｕｆの半分で良いことが分かる。
【００５６】
・総転送画素数の増加率
数式（１）及び数式（２）から、第１実施形態では、Ｄｂｕｆとｆｈが同じ場合、従来のバンド処理におけるバンド領域の高さＢｄｈの２倍のバンド領域の高さを確保できることが分かる。すなわち、図４及び図３に示されるように、遅延メモリ容量Ｄｂｕｆは同じ容量であるが、第１実施形態は従来のバンド処理に比べて２倍のバンド領域の高さを確保できていることが分かる。
【００５７】
背景技術において説明したように、局所画像処理では、総転送画素数がデジタル画像データの総画素数より増加してしまう。その増加率ｒは、参照領域４１０の高さをｆｈとすると、数式（３）に示す通りとなる。
【００５８】
総転送画素数の増加率ｒ＝（Ｂｄｈ）÷（Ｂｄｈ−（ｆｈ−１））  ・・・（３）
数式（３）より、ｆｈが一定の場合、増加率ｒは、バンド領域の高さＢｄｈが増えるに従って減少し”１”に近づくことが分かる。第１実施形態では従来のバンド処理の２倍のバンド領域の高さを確保可能であることから、第１実施形態では従来のバンド処理に比較し総転送画素数が低減されることが分かる。
【００５９】
・周波数特性の制御性能
第１実施形態では、参照画素を１行おきに間引いて減らしたため、垂直方向の高周波成分の制御性能が従来のバンド処理よりも悪化する。一方、参照領域のサイズ（幅ｆｗと高さｆｈ）は変えていないため、低周波成分の制御性能は、従来のバンド処理と変わらない。前述したように、人間の視覚特性において、画像の高周波成分は低周波成分に比較し感度が低いため、光学系のボケ回復においては十分なボケ補正が可能であることが分かる。
【００６０】
以上説明したとおり第１実施形態によれば、バンド処理において、参照領域のサイズ（幅ｆｗと高さｆｈ）を変えずに、参照領域内における参照画素を間引いた空間フィルタを用いる。具体的には、参照画素を１行おきに間引いた空間フィルタ（図６）を使用して処理を行う。この構成により、従来のバンド処理に比較し、遅延メモリ容量の低減や総転送画素数の低減を実現することが可能となる。
【００６１】
なお、ここでは横長のバンドに分割して処理したが、縦長のバンドに分割して処理する形態にも適用できる。この場合、走査方向を９０度回転させたバンド処理が可能である。
【００６２】
（第２実施形態）
第２実施形態では、空間フィルタの参照画素の他の間引きの形態について説明する。すなわち、第１実施形態においては、参照画素を１行おきに間引いたが、間引きの形態はこれに限定されない。
【００６３】
なお、以下に示す例１〜例４では、従来のバンド処理（図３）と同じく、参照領域のサイズは５画素四方（幅ｆｗ＝５、高さｆｈ＝５）とし、遅延メモリ容量も同じとする。
【００６４】
＜例１（列間引き）＞
図８は、第２実施形態における空間フィルタ処理を説明する図である。ここでは、図８（ａ）に示すように、５画素四方の参照領域を１列おきに間引いている。この場合、１つのバンド領域に対する処理は、図８（ｂ）、図８（ｃ）に示すように、偶数列画素に対する処理と、奇数列画素に対する処理の２回の処理に分けられる。なお、図８（ｂ）、図８（ｃ）は例としてバンド領域３０１に対する処理を示しているが、他のバンド領域に対しても処理方法は同じである。
【００６５】
図８の例では、２回の処理に分けた結果、バンド領域の高さＢｄｈは従来の２倍の１６画素である。そのため、図８（ｄ）に示すように総転送画素数の増加率ｒは約１．３３となる。よって、図３（ｄ）に示した従来のバンド処理に比べ、総転送画素数の増加率ｒが小さいといえる。
【００６６】
なお、図８の列間引きにおいては、参照画素を１列おきに間引いて減らしたため、水平方向の高周波成分の制御性能が従来のバンド処理よりも悪化する。しかしながら、第１実施形態で説明した理由と同様の理由により、光学系のボケ回復においては十分なボケ補正が可能であることが分かる。
【００６７】
＜例２（縦横間引き）＞
図９は、第２実施形態における他の空間フィルタ処理を説明する図である。ここでは、図９（ａ）に示すように、長さ方向と高さ方向それぞれに２画素ごと（１画素おき）に間引いている。この場合、１つのバンド領域に対する処理は、４回の処理に分けられる。すなわち、ここでは、縦横それぞれ２画素ごとに間引かれた空間フィルタを用いて、４つのサンプリング位相に対して空間フィルタを４回順次適用する。高さ方向にＫ画素ごと長さ方向にＬ画素ごとに間引く場合は、Ｋ×Ｌ個のサンプリング位相によりＫ×Ｌ回順次適用することになる。
【００６８】
バンド領域３０１に対する処理に対する４回の処理のうち１回分の処理を図９（ｂ）に例示的に示している。具体的には、図９（ｂ）では列番号を２で割ったときの剰余が”０”、行番号を２で割ったときの剰余が”０”となる画素群を用いて処理を行う。
【００６９】
また、図には示していないが、２回目の処理では、列番号を２で割ったときの剰余が”１”かつ行番号を２で割ったときの剰余が”０”となる画素群を用いて処理を行う。３回目の処理では、列番号を２で割ったときの剰余が”０”かつ行番号を２で割ったときの剰余が”１”となる画素群を用いて処理を行う。４回目の処理では、列番号を２で割ったときの剰余が”１”かつ行番号を２で割ったときの剰余が”１”となる画素群を用いて処理を行う。
【００７０】
図９の例では、４回の処理に分けた結果、バンド領域の高さＢｄｈは従来の４倍の３２画素である。そのため、図９（ｃ）に示すように総転送画素数の増加率ｒは約１．１４となる。よって、図３（ｄ）に示した従来のバンド処理に比べ、総転送画素数の増加率ｒが小さいといえる。
【００７１】
なお、図９の縦横間引きにおいては、水平方向と垂直方向の両方の解像度が１／２となるため、水平方向と垂直方向の両方に関し、高周波成分の制御性能が従来のバンド処理よりも悪化する。しかしながら、第１実施形態で説明した理由と同様の理由により、光学系のボケ回復においては十分なボケ補正が可能であることが分かる。
【００７２】
なお、例２から分かる通り、本発明では、１つのバンド領域を、位相の異なる複数の画素群に分割し、それらの画素群ごとに同一の処理を行っている。各画素群は、１つのバンド領域の画素を、間隔が均等な格子状にサンプリングすることにより得られる。すなわち、ａ、ｂを整数とし、二次元ベクトルｖ１、ｖ２を単位格子ベクトルとした場合、ｖ＝ａ×ｖ１＋ｂ×ｖ２となる格子点でサンプリングする。そのため、任意の画素群のサンプリング位置は、該画素群を平行移動することにより、他の任意の画素群のサンプリング位置と重ねることができる。
【００７３】
また、分割した画素群は、互いにサンプリング位置が重複せず、分割された全ての画素群を合成した画像と、１つのバンド領域における画像は完全に一致するようにする。画素群に分割する方法は、間引き方式に基づいており、具体的には、間引かれたフィルタ係数が、画素群の任意の位置に当てはまるように、画素群を分割する。
【００７４】
例えば、後述する例のように、フィルタ係数が長さ方向に２画素ごと、高さ方向に４画素ごとに値を持つ場合、分割する画素群も同様に、長さ方向に２画素ごと、高さ方向に４画素ごとに値を持つようにする。
【００７５】
すなわち、フィルタ係数を間引く際と同じサンプリング間隔で１つのバンド領域の画素をサンプリングする。位相の異なる複数の画素群は、サンプリング位相を変化させ、他の画素群と同じ間隔でサンプリングすることにより得られる。
【００７６】
これにより、遅延メモリ容量Ｄｂｕｆが同じ場合、従来のバンド処理よりもバンド領域の高さＢｄｈを拡大することが可能となる。具体的には、ｎ枚の画素群に分割した場合、遅延メモリ容量Ｄｂｕｆが同じ場合、従来のバンド処理よりもバンド領域の高さＢｄｈをｎ倍に拡大できる。
【００７７】
＜例３（千鳥間引き）＞
図１０は、第２実施形態における他の空間フィルタ処理を説明する図である。ここでは、図１０（ａ）に示すように、千鳥状（市松模様状）に間引いている。この場合、１つのバンド領域に対する処理は、図１０（ｂ）、１０（ｃ）に示すように、２回の処理に分けられる。
【００７８】
図１０の例では、２回の処理に分けた結果、バンド領域の高さＢｄｈは従来の２倍の１６画素である。そのため、図１０（ｄ）に示すように総転送画素数の増加率ｒは約１．３３となる。よって、図３（ｄ）に示した従来のバンド処理に比べ、総転送画素数の増加率ｒが小さいといえる。
【００７９】
なお、図１０の千鳥間引きにおいては、水平方向に対して４５度方向の高周波成分の制御性能が従来のバンド処理よりも悪化するが、水平方向と垂直方向に関しては高周波成分の制御性能が行間引きや列間引きに比較し劣化が低減される。また、第１実施形態で説明した理由と同様の理由により、光学系のボケ回復においては十分なボケ補正が可能であることが分かる。
【００８０】
＜例４（その他）＞
図１１は、第２実施形態における他の空間フィルタ処理を説明する図である。ここでは、図１１（ａ）に示すように間引いている。この場合、１つのバンド領域に対する処理は、４回の処理に分けられる。
【００８１】
バンド領域３０１に対する処理に対する４回の処理のうち１回分の処理を図１１（ｂ）に例示的に示しておいる。１つのバンド領域に対する処理は、図１１（ｂ）と同じ処理を、位相の異なる他の３個の画素群に対して行うことにより完了する。
【００８２】
図１１の例では、４回の処理に分けた結果、バンド領域の高さＢｄｈは従来の４倍の３２画素である。そのため、図１１（ｃ）に示すように総転送画素数の増加率ｒは約１．１４となる。よって、図３（ｄ）に示した従来のバンド処理に比べ、総転送画素数の増加率ｒが小さいといえる。なお、この図１１の間引き方式では、例２に比べ、等方的に配置されるため、高周波成分の制御性能の劣化についても例２に比べて等方的になる。
【００８３】
（第３実施形態）
第３実施形態では、空間フィルタの参照領域のサイズを広げる形態について説明する。すなわち、第１実施形態及び第２実施形態においては、参照領域のサイズ（幅ｆｗと高さｆｈ）を変えずに、参照領域内の参照画素を間引く形態について説明したが、参照領域のサイズを変えるよう構成してもよい。すなわち、遅延メモリが一定の場合、参照領域のサイズを広げた場合でも、参照画素を間引くことによりバンド領域の高さＢｄｈを拡大することが出来、転送画素数の増加を抑制できる。
【００８４】
なお、以下に示す例５〜例６では、第１実施形態（図４）と同じ遅延メモリ容量とし、参照領域のサイズを、拡大前のＭ画素×Ｎ画素に対し高さ方向にＫ倍（拡大率Ｋ）、長さ方向にＬ倍（拡大率Ｌ）だけ拡大する。即ち、拡大された参照領域の高さ方向の画素数はＫ×（Ｎ−１）＋１、長さ方向の画素数はＬ×（Ｍ−１）＋１となる。このとき、Ｌ×Ｋ画素単位に１画素を参照するように係数（参照領域拡大フィルタ係数）を設定し、Ｌ×Ｋ個のサンプリング位相で空間フィルタをＬ×Ｋ回順次適用する。
【００８５】
＜例５（行間引き）＞
図１２は、第３実施形態における空間フィルタ処理を説明する図である。ここでは、図１２（ａ）に示すように、幅ｆｗが５画素で高さｆｈが９画素の参照領域を、参照画素が４列ごととなるように間引いている。即ち、拡大前参照領域の長さＭが５、拡大前参照領域の高さＮが３、長さ方向の拡大率Ｌが１、高さ方向の拡大率Ｋが４となる。この場合、１つのバンド領域に対する処理は、Ｋ×Ｌ＝４×１＝４回の処理に分けられる。４回のうちの１回分の処理を図１２（ｂ）に示している。
【００８６】
この場合、バンド領域の高さＢｄｈは例２や例４と同じく３２画素となる。しかしながら、参照領域の高さｆｈが９画素のため、図１２（ｃ）に示されるように、総転送画素数の増加率ｒは約１．３３となる。
【００８７】
すなわち、第１実施形態の場合に比べて参照領域のサイズを広くしつつ、総転送画素数の増加率ｒを第１実施形態と同程度に抑止することが出来る。
【００８８】
＜例６（縦横間引き）＞
図１３は、第３実施形態における他の空間フィルタ処理を説明する図である。ここでは、図１３（ａ）に示すように、幅ｆｗが９画素で高さｆｈが９画素の参照領域としている。そして、長さ方向に２画素ごと（Ｌ＝２）、高さ方向に４画素ごと（Ｋ＝４）の参照画素を配置している。よって、１つのバンド領域に対する処理は、Ｋ×Ｌ＝４×２＝８回の処理に分けられる。図１３（ｂ）は、８回の処理のうちの１つを示しており、１つのバンド領域に対する処理は、図１３（ｂ）と同じ処理を、位相の異なる他の７個の画素群に対して行うことにより完了する。
【００８９】
この場合、バンド領域の高さＢｄｈは６４画素となり、図１３（ｃ）に示されるように、総転送画素数の増加率ｒは約１．１４となる。
【００９０】
すなわち、例５に比べて参照領域のサイズを更に広くしつつ、総転送画素数の増加率ｒをさらに抑止することが出来る。
【００９１】
（第４実施形態）
第４実施形態では、ブロック処理において、空間フィルタ処理の参照領域内の参照画素の一部を適切に間引く形態について説明する。これにより、バンド処理をベースとした第１〜第３実施形態と同様に、総転送画素数の増加を抑制する。
【００９２】
図１４は、従来のブロック処理におけるフィルタ処理の動作を説明する図である。ここでは、１枚のデジタル画像データをブロック分割した際の１つ目のブロックであるブロック領域画像を示している。図３と異なり、１枚のデジタル画像データをバンド状ではなくブロック状に分割している。ブロック分割により分割されたブロック領域１４０１は、ブロックメモリに格納され、図３で説明したバンド処理と同様に、ブロック領域ごとに処理される。図１４（ｃ）は、ブロック領域の座標系を示している。
【００９３】
なお、この図１４では、例として１つ目のブロック領域１４０１に対する処理を示しているが、他のブロック領域に対しても処理方法は同じである。参照領域１５１０のサイズは５画素四方で、遅延メモリ容量は６４画素とする。画素領域１５５０は遅延メモリに記憶される領域であり、ブロック領域１４０１内の処理結果は、バンド処理と同様に、遅延メモリに記憶された画素値を用いて算出される。このとき、図１５（ｂ）に示すように、ブロック領域のサイズは８画素四方となり、重複領域１５６０を除外した中央の領域のサイズは４画素四方になるため、総転送画素数の増加率ｒは４となる。
【００９４】
図１５は、第４実施形態における空間フィルタ処理を説明する図である。遅延メモリ容量は、従来のブロック処理（図１４）と同じ６４画素で、参照領域のサイズも従来のブロック処理（図１４）と同じ５画素四方である。ただし、参照領域内において空間フィルタ処理に使用する参照画素を図９（ａ）と同じ方法で間引いている。そのため、ブロック領域１４０１に対する処理は、４回の処理に分けられる。図１５（ａ）は、４回の処理のうちの１回分を例示的に示している。
【００９５】
その結果、図１５（ｂ）の通り、ブロック領域のサイズを拡大することができる。すなわち、ブロック領域のサイズは１６画素四方となり、重複領域１５６０を除外した中央の領域のサイズは１２画素四方になるため、総転送画素数の増加率ｒは約１．７８となる。
【００９６】
すなわち、参照領域のサイズを変えない場合であっても、参照領域内の参照画素の数を間引いて減らすことにより１つのブロック領域に対する処理を複数回の処理に分けることが可能となる。その結果、遅延メモリ容量が同じ場合、従来のブロック処理よりもブロック領域のサイズを拡大可能となり、総転送画素数を削減できる。
【００９７】
以上説明したとおり第４実施形態によれば、ブロック処理において、参照領域のサイズ（幅ｆｗと高さｆｈ）を変えずに、参照領域内における参照画素を間引いた空間フィルタを用いる。この構成により、従来のブロック処理に比較し、遅延メモリ容量の低減や総転送画素数の低減を実現することが可能となる。
【００９８】
なお、ここでは正方形のブロック状に分割して処理したが、長方形やひし形のブロックに分割した形態にも適用可能である。互いにオーバーラップする単位領域ごとに局所画像処理を行う際、各単位領域を、位相ごとに、格子状にサンプリングして処理することで、間引き量を多くするほど単位領域のサイズを拡大でき、総転送画素数を低減できる。そのため、単位領域が正方形以外のブロックであっても、単位領域間でオーバーラップする領域の面積が変わらなければ、総転送画素数を低減する効果が得られる。
【００９９】
（第５実施形態）
第５実施形態では、予め複数の画像処理モードを用意しておき、使用する画像処理モードをユーザから受け付ける形態について説明する。すなわち、上述の実施形態に示したように、参照画素を間引いた空間フィルタを用いることにより総転送画素数を低減させることが可能となり処理速度（スループット）を向上させることが可能となる。一方、参照画素の間引きは高周波成分の制御性能を犠牲にすることにつながる。
【０１００】
そこで、出力画質を優先する画像処理モード（画質優先モード）及び処理速度を優先する画像処理モード（高速モード）の何れかの指定をユーザから受付可能となるよう構成する。画質優先モードでは、間引き量を少なく設定することにより、処理速度は低下するが高周波成分の制御性能を向上できる。一方、高速モードでは、間引き量を多く設定することにより、人間の視覚特性上感度が高い低周波成分の制御性能を維持しつつ処理速度を向上できる。
【０１０１】
図１６は、３つのモードを例示的に示す図である。各モードにおける処理方法は、画質優先モードは従来のバンド処理（図３）、中速モードは図１０、高速モードは図９に示す通りである。すなわち、Ｑ＜Ｐとしたとき（Ｐ，Ｑは正整数）、出力画質を優先する指定を受け付けた場合はＰ個の画素を参照するフィルタ係数を選択する。処理速度を優先する指定を受け付けた場合はＱ個の画素を参照するフィルタ係数を選択する。いずれのモードも参照領域のサイズは５画素四方であるため、低周波成分の制御性能は同じである。なお、これらの複数の画像処理モードは例えば、工場出荷時、あるいはユーザが事前に設定するとよい。
【０１０２】
このように構成することにより、ユーザは、画質（高周波成分の制御性能）と処理速度のトレードオフを調整できる。
【０１０３】
なお、第５実施形態における画像処理モードは、図１６に示したもの以外であっても構わない。例えば、ユーザが、プリンタドライバや、プリンタ上のユーザインターフェースで指定するプリント用紙の種類も、第５実施形態における画像処理モードに含まれる。また、第５実施形態では、画像処理モードによって参照画素の間引き量を切り替える際、図１６に示した通り、参照領域のサイズは全てのモードで同じとしたが、モードによって、参照画素の間引き量と、参照領域のサイズを同時に切り替えても構わない。例えば、ユーザが写真用紙と普通紙を選択できる場合において、普通紙が選択されたときは、写真用紙が選択されたときに比べ、間引き量を多くし、参照領域のサイズを小さくすることで、高速な処理を実現できる。
【０１０４】
（第６実施形態）
第６実施形態では、入力画像の解像度に応じて処理を切り替える形態について説明する。特に、参照領域のサイズ及び参照画素の間引きを切り替える形態について説明する。
【０１０５】
図１９は、光学系のＰＳＦ（Point Spread Function）のボケ幅と空間フィルタのフィルタ係数の参照領域との関係を示す図である。光学系に依存する画像ボケの回復処理においては、参照領域の物理的なサイズを、画像における物理的なボケ幅と同程度にしなければ十分な回復性能が得られない。例えば、画像におけるボケ幅が約２１０μｍの場合、空間フィルタの参照領域のサイズも約２１０μｍとする必要がある。
【０１０６】
入力画像の解像度を６００ｄｐｉとしたとき、参照領域のサイズは５画素四方に相当することになる。しかし、解像度が１２００ｄｐｉの場合、画素数で換算した参照領域のサイズは１０画素四方となり、６００ｄｐｉの場合よりも増えてしまう。前述の通り、画素値で換算した参照領域のサイズが増えると、総転送画素数の増加率ｒが増え、スループットが低下する。そのため、光学系のボケ回復処理において、物理的なボケ幅が一定でも、入力解像度を高くすると総転送画素数の増加率ｒが増え、スループットが低下してしまう。
【０１０７】
前述の通り、遅延メモリ容量が一定のとき、参照領域のサイズを広げた場合であってもても、参照画素を間引くことによりバンド領域のサイズを拡大でき、転送画素数を抑制できる。また、間引き量を多く設定するほど、総転送画素数の増加率ｒの増大を抑制できる。そこで、光学系の物理的なボケ幅が一定の場合、入力画像の解像度が所定の解像度以上であるか否かに応じて、間引き量を変化させることにより総転送画素数の増加率ｒの増大を抑制できる。
【０１０８】
図１７は、ボケ幅が一定の場合における、入力解像度（６００ｄｐｉ、１２００ｄｐｉ）に基づく２つの設定を例示的に示す図である。ここでは、入力解像度は、ユーザが設定することを想定するが、スキャナなどの外部機器から設定を受け付けるように構成してもよい。
【０１０９】
ここでは、６００ｄｐｉのときは図４に示す処理、１２００ｄｐｉのときは図１３に示す処理としている。すなわち、参照領域のサイズを、１２００ｄｐｉの場合は６００ｄｐｉの場合よりも大きくしている。ただし、１２００ｄｐｉの場合の方が間引き量が多いため双方の処理における参照画素の数は同じになっており、その結果、総転送画素数の増加率ｒも同じになっている。
【０１１０】
このように、入力画像の解像度に応じて処理を切り替えることにより、光学系のボケ回復処理において十分な回復性能を得つつ、総転送画素数の増加率ｒの増大を抑制することが可能となる。
【０１１１】
（第７実施形態）
第７実施形態では、入力画像におけるボケ幅に応じて処理を切り替える形態について説明する。特に、参照領域のサイズ及び参照画素の間引きを切り替える形態について説明する。
【０１１２】
図１８は、解像度が一定の場合における、ボケ幅（小さい、大きい）に基づく２つの設定を例示的に示す図である。ここでは、ボケ幅は、ユーザが設定することを想定するが、外部機器から設定を受け付けるように構成してもよい。
【０１１３】
ここでは、ボケ幅が小さい（例えば２００μｍ未満）ときは図４に示す処理、ボケ幅が大きい（例えば２００μｍ以上）ときは図１３に示す処理としている。すなわち、ボケ幅が所定のボケ幅以上であるか否かに応じて参照領域のサイズを変えている。なお、参照領域のサイズを、ボケ幅に比例して順次大きくしてもよい。図１７の場合と同様に、ボケ幅が大きいほど間引き量を大きくしているため、総転送画素数の増加率ｒは変化しない。
【０１１４】
このように、ボケ幅に応じて処理を切り替えることにより、光学系のボケ回復処理において十分な回復性能を得つつ、総転送画素数の増加率ｒの増大を抑制することが可能となる。
【０１１５】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１１６】
１１０  ＣＰＵ回路部；  １２０  画像読み取り部；  １３０  画像処理部；  １４０  プリンタ部；  ３０１〜３０３  バンド領域；  ４１０  参照領域
【図１】
0006706985.tif 000002
【図２】
0006706985.tif 000003
【図３】
0006706985.tif 000004
【図４】
0006706985.tif 000005
【図５】
0006706985.tif 000006
【図６】
0006706985.tif 000007
【図７】
0006706985.tif 000008
【図８】
0006706985.tif 000009
【図９】
0006706985.tif 000010
【図１０】
0006706985.tif 000011
【図１１】
0006706985.tif 000012
【図１２】
0006706985.tif 000013
【図１３】
0006706985.tif 000014
【図１４】
0006706985.tif 000015
【図１５】
0006706985.tif 000016
【図１６】
0006706985.tif 000017
【図１７】
0006706985.tif 000018
【図１８】
0006706985.tif 000019
【図１９】
0006706985.tif 000020