(57)【要約】【課題】  補間演算を行った後に平均化フィルタリングを施す場合において、フィルタリング後の画像におけるエッジのコントラストの低下を抑制する。【解決手段】  ラインメモリー１−１〜１−３は、複数のラインの画像データを記憶する。補間演算部２は、ラインメモリー１−１〜１−３内の画像データを使用して、注目画素の画素値を導出するための補間演算を行う。フィルター演算部３は、補間演算で導出された注目画素の画素値を使用するとともに、（補間演算が施されていない）ラインメモリー１−１〜１−３内の画像データを周辺画素の画素値として使用して、フィルタリング後の注目画素の画素値を導出するためのバイラテラルフィルター演算を行う。【選択図】  図１
2016085543.tif 000002
【特許請求の範囲】
【請求項１】
複数のラインの画像データを記憶するラインメモリーと、
前記ラインメモリー内の画像データを使用して、注目画素の画素値を導出するための補間演算を行う補間演算部と、
前記補間演算で導出された前記注目画素の画素値を使用するとともに、前記補間演算が施されていない前記ラインメモリー内の画像データを周辺画素の画素値として使用して、フィルタリング後の注目画素の画素値を導出するためのバイラテラルフィルター演算を行うフィルター演算部と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記フィルター演算部は、前記補間演算で画素値が導出された前記注目画素と、前記補間演算が施されていない周辺画素との間のそれぞれの距離に基づいて前記バイラテラルフィルター演算を行うことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記フィルター演算部は、前記補間演算で画素値が導出された前記注目画素と、前記補間演算が施されていない周辺画素との間のそれぞれの距離が互いに同一であるものとして、前記バイラテラルフィルター演算を行うことを特徴とする請求項１記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関するものである。
【背景技術】
【０００２】
画像処理の１つとしてバイラテラルフィルターによるフィルタリングがある（例えば特許文献１参照）。
【０００３】
図５は、縦３画素横３画素のフィルターサイズのバイラテラルフィルター演算の演算式を示す図である。
【０００４】
図５に示す式において、ｇ（ｉ，ｊ）は、フィルタリング後の注目画素の画素値を示し、ｍおよびｎは、主走査方向および副走査方向における注目画素（ｉ，ｊ）から周辺画素までの距離（画素数）を示しており、ｆ（ｉ，ｊ）は、注目画素の画素値を示し、ｆ（ｉ＋ｍ，ｊ＋ｎ）は、周辺画素の画素値を示している。また、σｄおよびσｒは、ガウス分布の標準偏差をそれぞれ示す。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−２２６３９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
通常、バイラテラルフィルター演算は、エッジのコントラストを保存しつつ平均化を行う際に使用される。
【０００７】
一連の画像処理において、解像度変換などのためにバイリニア補間などで補間演算を行った後に、バイラテラルフィルター演算を行う場合、補間演算でエッジのコントラストが低下してしまうため、平均化フィルターとしてバイラテラルフィルターを使用しても、フィルタリング後の画像におけるエッジのコントラストが低下してしまう。
【０００８】
本発明は、上記の問題に鑑みてなされたものであり、補間演算を行った後に平均化フィルタリングを施す場合において、フィルタリング後の画像におけるエッジのコントラストの低下を抑制する画像処理装置を得ることを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る画像処理装置は、複数のラインの画像データを記憶するラインメモリーと、前記ラインメモリー内の画像データを使用して、注目画素の画素値を導出するための補間演算を行う補間演算部と、前記補間演算で導出された前記注目画素の画素値を使用するとともに、前記補間演算が施されていない前記ラインメモリー内の画像データを周辺画素の画素値として使用して、フィルタリング後の注目画素の画素値を導出するためのバイラテラルフィルター演算を行うフィルター演算部とを備える。
【発明の効果】
【００１０】
本発明によれば、補間演算を行った後に平均化フィルタリングを施す場合において、フィルタリング後の画像におけるエッジのコントラストの低下を抑制する画像処理装置を得ることができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の実施の形態１に係る画像処理装置の構成を示すブロック図である。
【図２】図２は、図１に示す画像処理装置において使用される、縦３画素横３画素のフィルターサイズのバイラテラルフィルター演算の演算式の一例を示す図である。
【図３】図３は、補間前の画素の位置と補間後の画素の位置との対応関係の一例を示す図である。
【図４】図４は、図１に示す画像処理装置により実行される補間演算およびフィルター演算において、注目画素の位置に応じて参照される周辺画素を説明する図である。
【図５】図５は、縦３画素横３画素のフィルターサイズのバイラテラルフィルター演算の演算式を示す図である。
【発明を実施するための形態】
【００１２】
以下、図に基づいて本発明の実施の形態を説明する。
【００１３】
図１は、本発明の実施の形態１に係る画像処理装置の構成を示すブロック図である。図１に示す画像処理装置は、フィルターサイズが主走査方向および副走査方向のそれぞれにおいて３画素であるバイラテラルフィルターの演算を行う。
【００１４】
図１において、ラインメモリー１−１〜１−３は、縦列に接続され、原画像の画像データを１ラインずつ順次記憶するメモリーである。ラインメモリー１−２に第ｉ番目のラインが記憶されているとき、ラインメモリー１−１には第（ｉ＋１）番目のラインが記憶され、ラインメモリー１−３には第（ｉ−１）番目のラインが記憶されている。
【００１５】
補間演算部２は、ラインメモリー１−１〜１−３内の画像データを使用して、注目画素の画素値を導出するための補間演算を行う。
【００１６】
例えばバイリニア補間演算を行う場合、注目画素が、副走査方向において第（ｉ−１）番目のラインと第ｉ番目のラインとの間に位置するときには、補間演算部２は、ラインメモリー１−１，１−２内の画像データを使用して、注目画素の周辺画素（４画素）の画素値に基づいて補間演算を行い、注目画素が、副走査方向において第ｉ番目のラインと第（ｉ＋１）番目のラインとの間に位置するときには、補間演算部２は、ラインメモリー１−２，１−３内の画像データを使用して、注目画素の周辺画素（４画素）の画素値に基づいて補間演算を行う。なお、副走査方向において第ｉ番目のライン上にある場合には、上記の２つの場合のいずれかに含めればよい。
【００１７】
フィルター演算部３は、補間演算部２における補間演算で導出された注目画素の画素値を使用するとともに、補間演算部２における補間演算が施されていないラインメモリー１−１〜１−３内の画像データを周辺画素の画素値として使用して、フィルタリング後の注目画素の画素値を導出するためのバイラテラルフィルター演算を行う。
【００１８】
図２は、図１に示す画像処理装置において使用される、縦３画素横３画素のフィルターサイズのバイラテラルフィルター演算の演算式の一例を示す図である。
【００１９】
一般的なバイラテラルフィルター演算では、注目画素と、参照すべき周辺画素との距離が、図５に示すように整数となるが、ここでは、補間後の注目画素について、補間前の画素が周辺画素として参照されるため、その代わりに、図２に示すように、主走査方向における注目画素と周辺画素との距離Ｌｘ（ｍ，ｎ）と、副走査方向における注目画素と周辺画素との距離Ｌｙ（ｍ，ｎ）とがバイラテラルフィルター演算において使用される。
【００２０】
また、図２に示す式において、ｆ（０，０）には、補間後の注目画素の画素値が使用される。さらに、ｆ（ｍ，ｎ）は、補間後の注目画素に最も近い補間前の画素から、主走査方向にｍ画素および副走査方向にｎ画素の距離にある周辺画素の画素値である。
【００２１】
このとき、フィルター演算部３は、補間演算で画素値が導出された注目画素と、補間演算が施されていない周辺画素との間のそれぞれの距離（上述のＬｘ（ｍ，ｎ）の２乗とＬｙ（ｍ，ｎ）の２乗との和の平方根）に基づいてバイラテラルフィルター演算を行う。
【００２２】
なお、Ｌｘ（ｍ，ｎ）およびＬｙ（ｍ，ｎ）は、注目画素の位置および参照すべき周辺画素の位置に基づいて計算によって求めればよい。その場合、計算によって求めたＬｘ（ｍ，ｎ）およびＬｙ（ｍ，ｎ）をメモリーなどの記憶装置に記憶しておき、その後、注目画素が移動されていき、参照すべき周辺画素との間の距離が同一となる注目画素のときに、Ｌｘ（ｍ，ｎ）およびＬｙ（ｍ，ｎ）の値を読み出して、バイラテラルフィルター演算に使用するようにしてもよい。
【００２３】
また、計算を簡単にするために、フィルター演算部３は、補間演算で画素値が導出された注目画素と、補間演算が施されていない周辺画素との間のそれぞれの距離が互いに同一であるものとして（つまり、１つの注目画素について、上述のＬｘ（ｍ，ｎ）の２乗とＬｙ（ｍ，ｎ）の２乗との和の平方根がｍおよびｎに拘わらず一定であるとして）、バイラテラルフィルター演算を行うようにしてもよい。
【００２４】
制御部４は、補間演算部２およびフィルター演算部３に対して注目画素を順番に指定する。
【００２５】
なお、補間演算部２、フィルター演算部３および制御部４は、専用回路としてハードウェアとして実現してもよいし、プロセッサーにプログラムを実行させてソフトウェアとして実現してもよい。
【００２６】
次に、上記画像処理装置の動作について説明する。
【００２７】
図３は、補間前の画素の位置と補間後の画素の位置との対応関係の一例を示す図である。図４は、図１に示す画像処理装置により実行される補間演算およびフィルター演算において、注目画素の位置に応じて参照される周辺画素を説明する図である。
【００２８】
ここでは、説明を簡単にするために、図３に示すように、解像度を２倍にする場合について説明する。なお、補間によって得られる画素の位置については特にこれに限定されるものではない。
【００２９】
制御部４は、まず、（補間後の解像度における）注目ラインを副走査方向に沿って順番に選択し、選択した注目ラインにおいて注目画素を主走査方向に沿って順番に選択していき、選択した注目画素を補間演算部２およびフィルター演算部３に対して指定し、補間演算部２およびフィルター演算部３は、その注目画素に対する補間演算およびバイラテラルフィルター演算を行う。
【００３０】
また、制御部４は、注目ラインの各画素のためのバイラテラルフィルター演算において参照される周辺画素を含む３ラインがラインメモリー１−１〜１−３にセットされるように、ラインメモリー１−１〜１−３に対する画像データの入出力を制御する。
【００３１】
補間演算部２は、図４に示すように、注目画素の画素値を、注目画素の周辺に位置する補間前の４画素を特定し、その４画素の画素値に基づく線形補間で補間後の画素の画素値を求める。
【００３２】
そして、フィルター演算部３は、図４に示すように、注目画素についてのバイラテラルフィルター演算を、補間後の注目画素の画素値と、８個の周辺画素の画素値とに基づいて行い、演算結果を出力する。
【００３３】
図４において、注目画素が（Ｘｏ，Ｙｏ）＝（３，３）の画素である場合、ラインメモリー１−１には、Ｙ＝３のラインが記憶されており、ラインメモリー１−２には、Ｙ＝２のラインが記憶されており、ラインメモリー１−３には、Ｙ＝１のラインが記憶されている。そして、補間前の４画素（（Ｘ，Ｙ）＝（１，１）、（Ｘ，Ｙ）＝（２，１）、（Ｘ，Ｙ）＝（１，２）、および（Ｘ，Ｙ）＝（２，２）の画素）の画素値に基づいて、補間後の（Ｘｏ，Ｙｏ）＝（３，３）の画素の画素値が計算される。
【００３４】
そして、補間後の（Ｘｏ，Ｙｏ）＝（３，３）の画素の画素値と、補間前の周辺８画素（（Ｘ，Ｙ）＝（１，１）、（Ｘ，Ｙ）＝（２，１）、（Ｘ，Ｙ）＝（３，１）、（Ｘ，Ｙ）＝（１，２）、（Ｘ，Ｙ）＝（３，２）、（Ｘ，Ｙ）＝（１，３）、（Ｘ，Ｙ）＝（２，３）、および（Ｘ，Ｙ）＝（３，３）の画素）の画素値とに基づいて、バイラテラルフィルター演算が行われる。
【００３５】
このように、注目画素の副走査方向の位置Ｙｏが３である場合、補間演算には、ラインメモリー１−３およびラインメモリー１−２に記憶されている画像データが使用され、バイラテラルフィルター演算には、ラインメモリー１−３、ラインメモリー１−２およびラインメモリー１−１に記憶されている画像データが使用される。
【００３６】
また、図４において、注目画素が（Ｘｏ，Ｙｏ）＝（３，４）の画素である場合、ラインメモリー１−１には、Ｙ＝３のラインが記憶されており、ラインメモリー１−２には、Ｙ＝２のラインが記憶されており、ラインメモリー１−３には、Ｙ＝１のラインが記憶されている。そして、補間前の４画素（（Ｘ，Ｙ）＝（１，２）、（Ｘ，Ｙ）＝（２，２）、（Ｘ，Ｙ）＝（１，３）、および（Ｘ，Ｙ）＝（２，３）の画素）の画素値に基づいて、補間後の（Ｘｏ，Ｙｏ）＝（３，４）の画素の画素値が計算される。
【００３７】
そして、補間後の（Ｘｏ，Ｙｏ）＝（３，４）の画素の画素値と、補間前の周辺８画素（（Ｘ，Ｙ）＝（１，１）、（Ｘ，Ｙ）＝（２，１）、（Ｘ，Ｙ）＝（３，１）、（Ｘ，Ｙ）＝（１，２）、（Ｘ，Ｙ）＝（３，２）、（Ｘ，Ｙ）＝（１，３）、（Ｘ，Ｙ）＝（２，３）、および（Ｘ，Ｙ）＝（３，３）の画素）の画素値とに基づいて、バイラテラルフィルター演算が行われる。
【００３８】
このように、注目画素の副走査方向の位置Ｙｏが４である場合、補間演算には、ラインメモリー１−２およびラインメモリー１−１に記憶されている画像データが使用され、バイラテラルフィルター演算には、ラインメモリー１−３、ラインメモリー１−２およびラインメモリー１−１に記憶されている画像データが使用される。
【００３９】
つまり、注目画素の副走査方向の位置Ｙｏが３である場合も、注目画素の副走査方向の位置Ｙｏが４である場合も、ラインメモリー１−１〜１−３に記憶されている画像データは互いに同一であるので、副走査方向の位置Ｙｏが３である画素についての演算が完了した後、ラインメモリー１−１〜１−３に記憶されている画像データをシフトさせずに、副走査方向の位置Ｙｏが４である画素についての演算が行われる。そして、副走査方向の位置Ｙｏが４である画素についての演算が完了した後、ラインメモリー１−１〜１−３に記憶されている画像データを１ラインだけシフトさせて、副走査方向の位置Ｙｏが５または６である画素についての演算が行われる。このようにして、補間後の各ラインについての画素値が計算される。
【００４０】
以上のように、上記実施の形態によれば、ラインメモリー１−１〜１−３は、複数のラインの画像データを記憶する。補間演算部２は、ラインメモリー１−１〜１−３内の画像データを使用して、注目画素の画素値を導出するための補間演算を行う。フィルター演算部３は、補間演算で導出された注目画素の画素値を使用するとともに、（補間演算が施されていない）ラインメモリー１−１〜１−３内の画像データを周辺画素の画素値として使用して、フィルタリング後の注目画素の画素値を導出するためのバイラテラルフィルター演算を行う。
【００４１】
これにより、補間演算を行った後に平均化フィルタリングを施す場合において、補間演算が行われる前の周辺画素値を使用しているため、フィルタリング後の画像におけるエッジのコントラストの低下が抑制される。
【００４２】
また、バイラテラルフィルター演算において参照される周辺画素として、補間後の画素を使用していないため、補間演算部２の後段に、補間後の画像全体を一旦保持するためのバッファーなどを設ける必要がなく、回路規模が少なくて済むとともに、低コストとなる。
【００４３】
また、補間演算部２とフィルター演算部３とがソフトウェアで実現される場合において、バイラテラルフィルター演算に使用される周辺画素のうち、補間演算に使用する画素と同一の画素については、プロセッサーが、補間演算に使用する画素の画素値を読み出した後、そのまま画素値を保持してバイラテラルフィルター演算に使用することで、その画素の画素値の読み出しを２度行わずに済み、ラインメモリー１−１〜１−３からの画素値の読み出しにかかる時間を減らすことができる。
【００４４】
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【００４５】
例えば、上記実施の形態に係る画像処理装置を、スキャナー、複写機、複合機などの画像形成装置に内蔵し、画像処理装置により画像データを解像度変換した後にバイラテラルフィルターでフィルタリングし、フィルタリングした後の画像データに基づき印刷などを行うようにしてもよい。
【００４６】
また、上記実施の形態ではフィルターサイズが３×３であるが、その代わりに、５×５またはそれ以上のフィルターサイズとしてもよい。例えば、５×５のフィルターサイズの場合、ラインメモリーを５本にすればよい。
【００４７】
また、上記実施の形態では、補間演算の一例としてバイリニア補間を挙げているが、バイキュービック補間など複数の画素値を使用して補間後の画素値を計算するものであれば、別の補間方法でもよい。
【産業上の利用可能性】
【００４８】
本発明は、例えば、画像形成装置における画像データのフィルタリングに適用可能である。
【符号の説明】
【００４９】
１−１〜１−３  ラインメモリー
２  補間演算部
３  フィルター演算部
【図１】
2016085543.tif 000003
【図２】
2016085543.tif 000004
【図３】
2016085543.tif 000005
【図４】
2016085543.tif 000006
【図５】
2016085543.tif 000007