(57)【要約】【課題】  フィルター処理の際に、画像データが記憶されている記憶装置から、隣接する２つのブロックの境界周辺の画素の値を読み出す回数が少なくて済む【解決手段】  入出力回路４１は、（ａ）注目ブロックとその注目ブロックに主走査方向または副走査方向において隣接する隣接ブロックについて、注目ブロックおよび隣接ブロックのいずれのフィルター演算にも値が必要となる画素を含むオーバーラップエリア内の１つの画素の値を、注目ブロックが指定されているときに代表画素値としてレジスター４４に記憶し、（ｂ）オーバーラップエリアに含まれるすべての画素の値が同一である場合には、隣接ブロックのフィルター演算に必要な画素値のうち、オーバーラップエリアに含まれるすべての画素の値として、その代表画素値をレジスター４４から読み出し、残りをＲＡＭ３から読み出す。【選択図】  図１
2014068085.tif 000002
【特許請求の範囲】
【請求項１】
画像データを記憶する第１記憶装置と、
前記画像データを分割して得られる所定画素サイズの複数のブロックのそれぞれにおける画素に対してフィルター演算を行う演算回路と、
主走査方向に沿って順番に指定される前記ブロックについて、そのブロックに対する前記フィルター演算のために、そのブロック内の少なくとも一部の画素の値を前記第１記憶装置から読み出すデータリード部と、
前記データリード部により前記第１記憶装置に比べ高速にデータリードが可能な第２記憶装置とを備え、
前記データリード部は、（ａ）前記複数のブロックのうちの注目ブロックとその注目ブロックに主走査方向または副走査方向において隣接する隣接ブロックについて、前記注目ブロックに対する前記フィルター演算および前記隣接ブロックに対する前記フィルター演算のいずれにも値が必要となる画素を含むオーバーラップエリアに含まれるいずれか１つの画素の値を、前記注目ブロックが指定されているときに代表画素値として前記第２記憶装置に記憶し、（ｂ）前記オーバーラップエリアに含まれるすべての画素の値が同一である場合には、前記隣接ブロックに対する前記フィルター演算のために必要な画素値のうち、前記オーバーラップエリアに含まれるすべての画素の値として、前記代表画素値を前記第２記憶装置から読み出し、前記隣接ブロックに対する前記フィルター演算のために必要な画素値の残りを前記第１記憶装置から読み出すこと、
を特徴とする画像処理装置。
【請求項２】
前記フィルター演算は、主走査方向において注目画素およびその注目画素の両側のそれぞれに連続するｎ画素の値を使用し、
注目ブロックとその注目ブロックに主走査方向において隣接する隣接ブロックについての前記オーバーラップエリアの主走査方向のサイズは、前記ｎの２倍であること、
を特徴とする請求項１記載の画像処理装置。
【請求項３】
前記フィルター演算は、副走査方向において注目画素およびその注目画素の両側のそれぞれに連続するｍ画素の値を使用し、
注目ブロックとその注目ブロックに副走査方向において隣接する隣接ブロックについての前記オーバーラップエリアの副走査方向のサイズは、前記ｍの２倍であること、
を特徴とする請求項１記載の画像処理装置。
【請求項４】
前記オーバーラップエリアは、前記注目ブロックに対する前記フィルター演算および前記隣接ブロックに対する前記フィルター演算のいずれにも値が必要となるすべての画素を含むことを特徴とする請求項１から請求項３のうちのいずれか１項記載の画像処理装置。
【請求項５】
前記第１記憶装置が接続されるバスをさらに備え、
前記演算回路、前記データリード部、および前記第２記憶装置は、前記バスに接続される処理部に含まれ、
前記データリード部は、前記第１記憶装置から画素値を読み出す場合、前記バスを介して読み出し、前記第２記憶装置から前記代表画素値を読み出す場合、前記バスを介さずに読み出すこと、
を特徴とする請求項１から請求項４のうちのいずれか１項記載の画像処理装置。
【請求項６】
前記処理部は、集積回路であり、
前記第２記憶装置は、前記集積回路内のレジスターであること、
を特徴とする請求項５記載の画像処理装置。
【請求項７】
画像データを記憶する第１記憶装置と、
前記画像データを分割して得られる所定画素サイズの複数のブロックのそれぞれにおける画素に対してフィルター演算を行う演算回路と、
主走査方向に沿って順番に指定される前記ブロックについて、そのブロックに対する前記フィルター演算のために、そのブロック内の少なくとも一部の画素の値を前記第１記憶装置から読み出すデータリード部と、
前記データリード部により前記第１記憶装置に比べ高速にデータリードが可能な第２記憶装置とを備え、
前記データリード部は、（ａ）前記複数のブロックのうちの注目ブロック、その注目ブロックに主走査方向において隣接する第１隣接ブロック、およびその注目ブロックに副走査方向において隣接する第２隣接ブロックについて、前記注目ブロックに対する前記フィルター演算および前記第１隣接ブロックに対する前記フィルター演算のいずれにも値が必要となる画素並びに前記注目ブロックに対する前記フィルター演算および前記第２隣接ブロックに対する前記フィルター演算のいずれにも値が必要となる画素を含むオーバーラップエリアに含まれるいずれか１つの画素の値を、前記注目ブロックが指定されているときに代表画素値として前記第２記憶装置に記憶し、（ｂ）前記オーバーラップエリアに含まれるすべての画素の値が同一である場合には、前記第１隣接ブロックに対する前記フィルター演算のために必要な画素値のうち、前記オーバーラップエリアに含まれるすべての画素の値として、前記代表画素値を前記第２記憶装置から読み出し、前記第２隣接ブロックに対する前記フィルター演算のために必要な画素値のうち、前記オーバーラップエリアに含まれるすべての画素の値として、前記代表画素値を前記第２記憶装置から読み出すこと、
を特徴とする画像処理装置。
【請求項８】
請求項１から請求項７のうちのいずれか１項記載の画像処理装置を備えることを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像形成装置に関するものである。
【背景技術】
【０００２】
ある画像処理装置では、画像データをブロックごとにメモリーから読み出してフィルター処理を施すことで、メモリーアクセスを減らしている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−４９８９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ブロックごとに画素値を読み出してフィルター演算を行う場合、ブロックの縁周辺の画素についてフィルター演算を行う際に、ブロックより外側の画素の値も必要になるときには、そのブロックより外側の画素の値も併せて読み出す必要がある。
【０００５】
このため、隣接する２つのブロックの境界周辺の画素の値は、一方のブロックに対するフィルター演算と他方のブロックに対するフィルター演算において２回読み出されることになる。
【０００６】
本発明は、上記の問題に鑑みてなされたものであり、画像データに対してフィルター処理を行う場合に、画像データが記憶されている記憶装置から、隣接する２つのブロックの境界周辺の画素の値を読み出す回数が少なくて済む画像処理装置および画像形成装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明では以下のようにした。
【０００８】
本発明に係る画像処理装置は、画像データを記憶する第１記憶装置と、画像データを分割して得られる所定画素サイズの複数のブロックのそれぞれにおける画素に対してフィルター演算を行う演算回路と、主走査方向に沿って順番に指定されるブロックについて、そのブロックに対するフィルター演算のために、そのブロック内の少なくとも一部の画素の値を第１記憶装置から読み出すデータリード部と、データリード部により第１記憶装置に比べ高速にデータリードが可能な第２記憶装置とを備える。そして、データリード部は、（ａ）その複数のブロックのうちの注目ブロックとその注目ブロックに主走査方向または副走査方向において隣接する隣接ブロックについて、注目ブロックに対するフィルター演算および隣接ブロックに対するフィルター演算のいずれにも値が必要となる画素を含むオーバーラップエリアに含まれるいずれか１つの画素の値を、注目ブロックが指定されているときに代表画素値として第２記憶装置に記憶し、（ｂ）オーバーラップエリアに含まれるすべての画素の値が同一である場合には、隣接ブロックに対するフィルター演算のために必要な画素値のうち、オーバーラップエリアに含まれるすべての画素の値として、その代表画素値を第２記憶装置から読み出し、隣接ブロックに対するフィルター演算のために必要な画素値の残りを第１記憶装置から読み出す。
【０００９】
これにより、画像データが記憶されている記憶装置から、隣接する２つのブロックの境界周辺の画素の値を読み出す回数が少なくて済む。
【００１０】
また、本発明に係る画像処理装置は、上記の画像処理装置に加え、次のようにしてもよい。この場合、上述のフィルター演算は、主走査方向において注目画素およびその注目画素の両側のそれぞれに連続するｎ画素の値を使用し、注目ブロックとその注目ブロックに主走査方向において隣接する隣接画素とについてのオーバーラップエリアの主走査方向のサイズは、そのｎの２倍である。
【００１１】
また、本発明に係る画像処理装置は、上記の画像処理装置に加え、次のようにしてもよい。この場合、上述のフィルター演算は、副走査方向において注目画素およびその注目画素の両側のそれぞれに連続するｍ画素の値を使用し、注目ブロックとその注目ブロックに副走査方向において隣接する隣接画素とについてのオーバーラップエリアの副走査方向のサイズは、そのｍの２倍である。
【００１２】
また、本発明に係る画像処理装置は、上記の画像処理装置に加え、次のようにしてもよい。この場合、上述のオーバーラップエリアは、注目ブロックに対するフィルター演算および隣接ブロックに対するフィルター演算のいずれにも値が必要となるすべての画素を含む。
【００１３】
また、本発明に係る画像処理装置は、上記の画像処理装置に加え、次のようにしてもよい。この場合、画像処理装置は、第１記憶装置が接続されるバスをさらに備える。そして、演算回路、データリード部、および第２記憶装置は、バスに接続される処理部に含まれ、データリード部は、第１記憶装置から画素値を読み出す場合、バスを介して読み出し、第２記憶装置から代表画素値を読み出す場合、バスを介さずに読み出す。
【００１４】
これにより、フィルター演算によるバスの使用帯域が少なくて済む。
【００１５】
また、本発明に係る画像処理装置は、上記の画像処理装置に加え、次のようにしてもよい。この場合、処理部は、集積回路であり、第２記憶装置は、その集積回路内のレジスターである。
【００１６】
これにより、上述の代表画素値をそのレジスターから高速に読み出すことができる。
【００１７】
また、本発明に係る別の画像処理装置は、画像データを記憶する第１記憶装置と、画像データを分割して得られる所定画素サイズの複数のブロックのそれぞれにおける画素に対してフィルター演算を行う演算回路と、主走査方向に沿って順番に指定されるブロックについて、そのブロックに対するフィルター演算のために、そのブロック内の少なくとも一部の画素の値を第１記憶装置から読み出すデータリード部と、データリード部により第１記憶装置に比べ高速にデータリードが可能な第２記憶装置とを備える。そして、データリード部は、（ａ）その複数のブロックのうちの注目ブロック、その注目ブロックに主走査方向において隣接する第１隣接ブロック、およびその注目ブロックに副走査方向において隣接する第２隣接ブロックについて、注目ブロックに対するフィルター演算および第１隣接ブロックに対するフィルター演算のいずれにも値が必要となる画素並びに注目ブロックに対するフィルター演算および第２隣接ブロックに対するフィルター演算のいずれにも値が必要となる画素を含むオーバーラップエリアに含まれるいずれか１つの画素の値を、注目ブロックが指定されているときに代表画素値として第２記憶装置に記憶し、（ｂ）オーバーラップエリアに含まれるすべての画素の値が同一である場合には、第１隣接ブロックに対するフィルター演算のために必要な画素値のうち、オーバーラップエリアに含まれるすべての画素の値として、その代表画素値を第２記憶装置から読み出し、第２隣接ブロックに対するフィルター演算のために必要な画素値のうち、オーバーラップエリアに含まれるすべての画素の値として、その代表画素値を第２記憶装置から読み出す。
【００１８】
これにより、画像データが記憶されている記憶装置から、隣接する２つのブロックの境界周辺の画素の値を読み出す回数が少なくて済む。
【００１９】
本発明に係る画像形成装置は、上記の画像処理装置のいずれかを備える。
【発明の効果】
【００２０】
本発明によれば、画像データに対してフィルター処理を行う場合に、画像データが記憶されている記憶装置から、隣接する２つのブロックの境界周辺の画素の値を読み出す回数が少なくて済む。
【図面の簡単な説明】
【００２１】
【図１】図１は、本発明の実施の形態１に係る画像処理装置の構成を示すブロック図である。
【図２】図２は、実施の形態１に係る画像処理装置の動作を説明するフローチャートである。
【図３】図３は、実施の形態１におけるブロックとそのブロックの左側オーバーラップエリアおよび右側オーバーラップエリアとの対応関係を説明する図である。
【図４】図４は、実施の形態１におけるブロックおよび１つ前のブロック、並びにそれらの左側オーバーラップエリアおよび右側オーバーラップエリアの対応関係を説明する図である。
【図５】図５は、実施の形態２におけるブロックとそのブロックの上側オーバーラップエリアおよび下側オーバーラップエリアとの対応関係を説明する図である。
【図６】図６は、実施の形態３におけるオーバーラップエリアの一例を示す図である。
【発明を実施するための形態】
【００２２】
以下、図に基づいて本発明の実施の形態を説明する。
【００２３】
実施の形態１．
【００２４】
図１は、本発明の実施の形態１に係る画像処理装置の構成を示すブロック図である。図１に示す画像処理装置は、スキャナー、複写機、複合機などの画像形成装置に内蔵されている。
【００２５】
図１に示す画像処理装置では、画像読取装置１、ＣＰＵ（Central Processing Unit）２、ＲＡＭ（Random Access Memory）３、ＡＳＩＣ（Application Specific Integrated Circuit）４などがバス５に接続されている。
【００２６】
画像読取装置１は、原稿の各ページのページ画像を光学的に読み取り、そのページ画像の画像データを生成し出力する。
【００２７】
ＣＰＵ２は、図示せぬＲＯＭ（Read Only Memory）などに記憶されているプログラムをＲＡＭ３にロードし、そのプログラムを実行して、各種処理部を実現する。この実施の形態１では、制御部２１およびブロック指定部２２が実現される。制御部２１は、画像読取装置１を制御して、上述のページ画像の画像データ３１をＲＡＭ３に記憶させる。ブロック指定部２２は、画像データを分割して得られる所定画素サイズの複数のブロックのうち、主走査方向に沿って順番にブロックを選択し、フィルター演算の対象として指定する。
【００２８】
ＲＡＭ３は、画像データ３１およびフィルター演算後の画像データを記憶するメモリーである。
【００２９】
ＡＳＩＣ４は、フィルター演算を行う集積回路であって、入出力回路４１、バッファー４２、演算回路４３、およびレジスター４４を有する。
【００３０】
入出力回路４１は、ブロック指定部２２により指定されたブロックに対するフィルター演算のために必要な画素値をバッファー４２に入力するとともに、そのフィルター演算の演算結果をＲＡＭ３に記憶する。
【００３１】
具体的には、入出力回路４１は、バッファー４２に入力すべき画素値のうち、そのブロック内の画素の値をＲＡＭ３１から読み出し、そのブロックの外側の画素の値についてはＲＡＭ３１またはレジスター４４から読み出す。入出力回路４１は、ＲＡＭ３から画素値を読み出す場合、バス５を介して読み出し、レジスター４４から代表画素値を読み出す場合、バス５を介さずに読み出す。
【００３２】
現時点の処理対象であるブロックを注目ブロックとし、その注目ブロックに主走査方向において隣接する次のブロックを隣接ブロックとすると、入出力回路４１は、注目ブロックが指定されているときに、（ａ１）ブロック指定部２２によるブロック指定に基づいて、注目ブロックに対するフィルター演算および隣接ブロックに対するフィルター演算のいずれにも値が必要となる画素を含むオーバーラップエリアを特定し、（ａ２）オーバーラップエリアに含まれるいずれか１つの画素の値を、代表画素値としてレジスター４４に記憶し、隣接ブロックが指定されているときに、（ｂ）そのオーバーラップエリアに含まれるすべての画素の値が同一である場合には、隣接ブロックに対するフィルター演算のために必要な画素値のうち、そのオーバーラップエリアに含まれるすべての画素の値として、その代表画素値をレジスター４４から読み出し、残りをＲＡＭ３から読み出す。
【００３３】
なお、この実施の形態１では、上述のフィルター演算は、主走査方向において注目画素およびその注目画素の両側のそれぞれに連続するｎ画素の値を使用し、上述のオーバーラップエリアの主走査方向のサイズは、そのｎの２倍である。例えば、注目画素に対するフィルター演算が、注目画素を中心とした７×７画素の値を使用する場合、ｎは３となる。
【００３４】
また、この実施の形態１では、上述のオーバーラップエリアは、注目ブロックに対するフィルター演算および隣接ブロックに対するフィルター演算のいずれにも値が必要となるすべての画素を含む。
【００３５】
バッファー４２は、１つのブロックに対するフィルター演算のために必要な画素の値を一時的に保持する記憶回路である。
【００３６】
演算回路４３は、バッファー４２に記憶されている画素値に基づく所定のフィルター演算を注目ブロック内の各画素に対して行う。なお、このフィルター演算では、注目画素を中心とした２次元の画素領域における各画素の値に対して所定の演算を行い、その演算結果を注目画素の演算値とする。
【００３７】
レジスター４４は、ＡＳＩＣ４の内蔵レジスターであり、入出力回路４１によりＲＡＭ３に比べ高速にデータリードが可能である。実施の形態１では、このレジスター４４の記憶容量は、１つの画素値を記憶可能なサイズであればよい。
【００３８】
次に、上記画像処理装置の動作について説明する。
【００３９】
図２は、実施の形態１に係る画像処理装置の動作を説明するフローチャートである。
【００４０】
制御部２１は、画像データ３１がＲＡＭ３に記憶された後、その画像データ３１に対するフィルター処理を開始する。
【００４１】
まず、ブロック指定部２２は、ブロックを１つ選択し、選択したブロックを示すブロック指定情報をＡＳＩＣ４の入出力回路４１に供給する（ステップＳ１）。
【００４２】
ブロック指定部２２は、主走査方向および副走査方向において先頭となるブロックを最初に選択し、その後、主走査方向に沿って順番にブロックを選択していき、主走査方向において最終のブロックの次に、副走査方向における次の、主走査方向における先頭のブロックを選択する。
【００４３】
入出力回路４１は、そのブロック指定情報に基づいて、バッファー４２に画素値を入力すべき画素の範囲を特定する。このとき、入出力回路４１は、その範囲内における、そのブロックの右側オーバーラップエリアと左側オーバーラップエリアを特定する。つまり、そのブロックのサイズと位置およびフィルターサイズから、右側オーバーラップエリアと左側オーバーラップエリアのサイズと位置が特定される。
【００４４】
図３は、実施の形態１におけるブロック１０１（ｉ，ｊ）とそのブロック１０１（ｉ，ｊ）の左側オーバーラップエリア１０２Ｌ（ｉ，ｊ）および右側オーバーラップエリア１０２Ｒ（ｉ，ｊ）との対応関係を説明する図である。また、図４は、実施の形態１におけるブロック１０１（ｉ，ｊ）および１つ前のブロック１０１（ｉ−１，ｊ）、並びにそれらの左側オーバーラップエリア１０２Ｌ（ｉ，ｊ），１０２Ｌ（ｉ−１，ｊ）および右側オーバーラップエリア１０２Ｒ（ｉ，ｊ），１０２Ｒ（ｉ−１，ｊ）の対応関係を説明する図である。
【００４５】
図３および図４において、ブロック１０１（ｉ，ｊ）は、主走査方向においてｉ番目であって副走査方向においてｊ番目のブロックである。このブロックは、１０×１０画素の領域である。
なお、主走査方向における先頭ブロック１０１（１，ｊ）には、左側オーバーラップエリア１０２Ｌ（１，ｊ）は設定されない。また、主走査方向における最終ブロック１０１（Ｎ，ｊ）には、右側オーバーラップエリア１０２Ｒ（Ｎ，ｊ）は設定されない。ここで、Ｎ（Ｎ＞１）は主走査方向におけるブロックの数である。
【００４６】
左側オーバーラップエリア１０２Ｌ（ｉ，ｊ）は、主走査方向において、ブロック指定情報により指定された注目ブロック１０１（ｉ，ｊ）とその１つ前の隣接ブロック１０１（ｉ−１，ｊ）とについてのオーバーラップエリアである。図３に示す左側オーバーラップエリア１０２Ｌ（ｉ，ｊ）は、注目画素のフィルター演算に必要な画素が、注目画素を中心とした７×７画素である場合のものである（つまり、ｎ＝３であるので、主走査方向の幅が６（＝ｎ×２）画素である）。
【００４７】
右側オーバーラップエリア１０２Ｒ（ｉ，ｊ）は、主走査方向において、注目ブロック１０１（ｉ，ｊ）とその次の隣接ブロック１０１（ｉ＋１，ｊ）とについてのオーバーラップエリアである。図３に示す右側オーバーラップエリア１０２Ｒ（ｉ，ｊ）は、注目画素のフィルター演算に必要な画素が、注目画素を中心とした７×７画素である場合のものである（つまり、主走査方向の幅が６画素である）。
【００４８】
そして、入出力回路４１は、注目ブロック１０１（ｉ，ｊ）に対するフィルター演算に必要な画素から注目画素を順番に選択する（ステップＳ３）。例えば、ブロック１０１（ｉ，ｊ）が１０×１０画素の領域であり、フィルターサイズが７×７画素である場合、図３に示すように、ブロック１０１（ｉ，ｊ）に対するフィルター演算に必要な画素の領域は、１６×１６画素となる。
【００４９】
入出力回路４１は、主走査方向および副走査方向において先頭となる画素１１１を最初に選択し、その後、主走査方向に沿って順番に画素を選択していき、主走査方向において最終の画素の次に、副走査方向における次の、主走査方向における先頭の画素を選択する。
【００５０】
入出力回路４１は、選択した注目画素が左側オーバーラップエリア１０２Ｌ（ｉ，ｊ）内の画素であるか否かを判定する（ステップＳ４）。
【００５１】
選択した注目画素が左オーバーラップエリア１０２Ｌ（ｉ，ｊ）内の画素である場合、入出力回路４１は、注目ブロック１０１（ｉ，ｊ）が主走査方向の先頭ブロックであるか否かを判定し（ステップＳ５）、注目ブロック１０１（ｉ，ｊ）が主走査方向の先頭ブロックである場合にはＲＡＭ３から注目画素の画素値を読み出し、バッファー４２に入力する（ステップＳ６）。
【００５２】
一方、注目ブロック１０１（ｉ，ｊ）が主走査方向の先頭ブロックではない場合には、入出力回路４１は、１つ前のブロック１０２Ｌ（ｉ−１，ｊ）の右側オーバーラップエリア１０２Ｒ（ｉ−１，ｊ）（つまり、注目ブロック１０１（ｉ，ｊ）の左側オーバーラップエリア１０２Ｌ（ｉ，ｊ））の画素値がすべて同一であるか否かを判定する（ステップＳ７）。
【００５３】
この実施の形態では、１つ前のブロック１０１（ｉ−１，ｊ）に対するフィルター演算に必要な画素値を読み出す際に、そのブロック１０１（ｉ−１，ｊ）の右側オーバーラップエリア１０２Ｒ（ｉ−１，ｊ）の画素値がすべて同一であるか否かが判定され、その右側オーバーラップエリア１０２Ｒ（ｉ−１，ｊ）の先頭画素の画素値がレジスター４４に保持されるとともに、その判定結果を示す値がフラグにセットされる（後述するステップＳ１１〜Ｓ１６の処理）。このため、ステップＳ７では、入出力回路４１は、このフラグの値を読み出して、１つ前のブロック１０１（ｉ−１，ｊ）の右側オーバーラップエリア１０２Ｒ（ｉ−１，ｊ）の画素値がすべて同一であるか否かを判定する。なお、このフラグは、ＡＳＩＣ４内の図示せぬレジスターなどに保持される。
【００５４】
１つ前のブロック１０１（ｉ−１，ｊ）の右側オーバーラップエリア１０２Ｒ（ｉ−１，ｊ）の画素値がすべて同一である場合には、入出力回路４１は、レジスター４４に記憶されている画素値を、注目画素の画素値として読み出し、バッファー４２に入力する（ステップＳ８）。
【００５５】
一方、例えば図３における画素１１２のように、選択した注目画素が左側オーバーラップエリア１０２Ｌ（ｉ，ｊ）内の画素ではない場合（ステップＳ４）、入出力回路４１は、ＲＡＭ３から注目画素の画素値を読み出し、バッファー４２に入力する（ステップＳ９）。
【００５６】
そして、入出力回路４１は、注目ブロック１０１（ｉ，ｊ）が主走査方向の最終ブロック１０１（Ｎ，ｊ）であるか否かを判定する（ステップＳ１０）。
【００５７】
注目ブロック１０１（ｉ，ｊ）が主走査方向の最終ブロック１０１（Ｎ，ｊ）ではない場合、入出力回路４１は、選択した注目画素が右側オーバーラップエリア１０２Ｒ（ｉ，ｊ）内の画素であるか否かを判定する（ステップＳ１１）。
【００５８】
選択した注目画素が右側オーバーラップエリア１０２Ｒ（ｉ，ｊ）内の画素である場合には、さらに、入出力回路４１は、その注目画素が右側オーバーラップエリア１０２Ｒ（ｉ，ｊ）の先頭画素（つまり、主走査方向および副走査方向における先頭の画素、図３の場合では画素１１３）であるか否かを判定し（ステップＳ１２）、その注目画素が右側オーバーラップエリア１０２Ｒ（ｉ，ｊ）の先頭画素である場合には、その画素値（つまり、ステップＳ９でＲＡＭ３から読み出した画素値をレジスター４４に記憶し（ステップＳ１３）、右側オーバーラップエリア１０２Ｌ（ｉ、ｊ）の画素値がすべて同一であるか否かを示すフラグに初期値である１にセットする（ステップＳ１４）。
【００５９】
一方、選択した注目画素が右側オーバーラップエリア１０２Ｒ（ｉ，ｊ）の先頭画素ではない場合（つまり、注目画素が右側オーバーラップエリア１０２Ｒ（ｉ，ｊ）内の別の画素である場合）、入出力回路４１は、レジスター４４に記憶されている画素値（つまり、先頭画素の画素値）と注目画素の画素値とが同一であるか否かを判定し（ステップＳ１５）、両者が同一ではない場合には、そのフラグの値を０にする（ステップＳ１６）。
【００６０】
また、注目ブロック１０１（ｉ，ｊ）が最終ブロック１０１（Ｎ，ｊ）ではない場合、ステップＳ１１〜Ｓ１６の処理はスキップされる。
【００６１】
このようにして、注目画素の画素値が、ＲＡＭ３またはレジスター４４から読み出されてバッファー４２に入力される。また、注目画素が、右側オーバーラップエリア１０２Ｌ（ｉ，ｊ）の先頭画素である場合には、その画素値がレジスター４４に保持される。
【００６２】
そして、注目ブロック１０１(ｉ，ｊ）のフィルター演算に必要なすべての画素値がバッファー４２に入力されるまで（ステップＳ１７）、入出力回路４１は、順番に注目画素を選択し、同様の処理を実行する。
【００６３】
これにより、そのすべての画素値がバッファー４２に入力された時点では、右側オーバーラップエリア１０２Ｌ（ｉ，ｊ）のすべての画素の値が同一である場合には、フラグの値は１となり、そうではない場合には、フラグの値は０となっている。
【００６４】
また、注目ブロック１０１(ｉ，ｊ）のフィルター演算に必要なすべての画素値がバッファー４２に入力されると、演算回路４３が、そのブロック１０１（ｉ，ｊ）の各画素に対するフィルター演算を実行し（ステップＳ１８）、その演算結果を、入出力回路４１でＲＡＭ３に記憶する。
【００６５】
そして、すべてのブロック１０１(ｉ，ｊ）に対するフィルター演算が実行されるまで（ステップＳ１９）、入出力回路４１は、順番に注目ブロックを選択していき、同様の処理を実行する。
【００６６】
以上のように、上記実施の形態１によれば、入出力回路４１は、（ａ）注目ブロック１０１（ｉ，ｊ）とその注目ブロック１０１（ｉ，ｊ）に主走査方向において隣接する隣接ブロック１０１（ｉ＋１，ｊ）について、注目ブロック１０１（ｉ，ｊ）に対するフィルター演算および隣接ブロック１０１（ｉ＋１，ｊ）に対するフィルター演算のいずれにも値が必要となる画素を含むオーバーラップエリア１０２Ｒ（ｉ，ｊ）に含まれるいずれか１つの画素の値を、注目ブロック１０１（ｉ，ｊ）が指定されているときに代表画素値としてレジスター４４に記憶し、（ｂ）オーバーラップエリア１０２Ｒ（ｉ，ｊ）に含まれるすべての画素の値が同一である場合には、隣接ブロック１０１（ｉ＋１，ｊ）に対するフィルター演算のために必要な画素値のうち、オーバーラップエリア１０２Ｒ（ｉ，ｊ）（つまり、オーバーラップエリア１０２Ｌ（ｉ＋１，ｊ））に含まれるすべての画素の値として、その代表画素値（１つの値）をレジスター４４から読み出し、隣接ブロック１０２（ｉ＋１，ｊ）に対するフィルター演算のために必要な画素値の残りをＲＡＭ３から読み出す。
【００６７】
これにより、画像データ３１が記憶されているＲＡＭ３から、主走査方向において隣接する２つのブロック１０１（ｉ，ｊ），１０１（ｉ＋１，ｊ）の境界周辺の画素の値を読み出す回数が少なくて済む。
【００６８】
実施の形態２．
【００６９】
実施の形態１では、主走査方向に隣接する２つのブロックのいずれのフィルター演算にも必要な画素の領域がオーバーラップエリアとして設定されているが、実施の形態２では、副走査方向に隣接する２つのブロックのいずれのフィルター演算にも必要な画素の領域がオーバーラップエリアとして設定される。なお、実施の形態２に係る画像処理装置の構成は実施の形態１のものと同様であるが、以下のように動作する。
【００７０】
図５は、実施の形態２におけるブロック１０１（ｉ，ｊ）とそのブロック１０１（ｉ，ｊ）の上側オーバーラップエリア１０２Ｕ（ｉ，ｊ）および下側オーバーラップエリア１０２Ｄ（ｉ，ｊ）との対応関係を説明する図である。
【００７１】
上側オーバーラップエリア１０２Ｕ（ｉ，ｊ）は、副走査方向において、ブロック指定情報により指定されたブロック１０１（ｉ，ｊ）とその１つ前の隣接ブロック１０１（ｉ，ｊ−１）とについてのオーバーラップエリアである。図５に示す上側オーバーラップエリア１０２Ｕ（ｉ，ｊ）は、注目画素のフィルター演算に必要な画素が、注目画素を中心とした７×７画素である場合のものである（つまり、ｎ＝３であるので、副走査方向の幅が６（＝ｎ×２）画素である）。
【００７２】
下側オーバーラップエリア１０２Ｄ（ｉ，ｊ）は、副走査方向において、ブロック指定情報により指定されたブロック１０１（ｉ，ｊ）とその次の隣接ブロック１０１（ｉ，ｊ＋１）とについてのオーバーラップエリアである。図５に示す下側オーバーラップエリア１０２Ｄ（ｉ，ｊ）は、注目画素のフィルター演算に必要な画素が、注目画素を中心とした７×７画素である場合のものである（つまり、副走査方向の幅が６画素である）。
【００７３】
実施の形態２では、１つ前の隣接ブロック１０１（ｉ，ｊ−１）が指定されているときに、隣接ブロック１０１（ｉ，ｊ−１）の下側オーバーラップエリア１０２Ｄ（１，ｊ−１）の先頭画素１２１の画素値がレジスター４４に記憶され、下側オーバーラップエリア１０２Ｄ（１，ｊ−１）のすべての画素値が同一であるか否かを示す値がフラグにセットされる。下側オーバーラップエリア１０２Ｄ（ｉ，ｊ−１）のすべての画素値が同一である場合、実施の形態１と同様にして、フラグには１がセットされ、そうではない場合には、０がセットされる。
【００７４】
そして、現時点で指定されている注目ブロック１０１（ｉ，ｊ）のフィルター演算に必要な画素値をバッファー４２に入力する際に、そのフラグの値が１である場合には、入出力回路４１は、上側オーバーラップエリア１０２Ｕ（ｉ，ｊ）のすべての画素値としてレジスター４４に記憶されている画素値を読み出してバッファー４２に入力し、そのフラグの値が０である場合には、上側オーバーラップエリア１０２Ｕ（ｉ，ｊ）内の各画素値をＲＡＭ３から読み出してバッファー４２に入力する。注目ブロック１０１（ｉ，ｊ）のフィルター演算に必要な画素値の残りについては、入出力回路４１は、ＲＡＭ３から読み出してバッファー４２に入力する。
【００７５】
また、入出力回路４１は、注目ブロック１０１（ｉ，ｊ）の下側オーバーラップエリア１０２Ｄ（ｉ，ｊ）の先頭画素１２２の画素値をレジスター４４に記憶し、下側オーバーラップエリア１０２Ｄ（ｉ，ｊ）内のすべての画素値が同一であれば、実施の形態１と同様にして、フラグに１をセットし、そうではなければ、フラグに０をセットする。
【００７６】
このフラグの値およびレジスター４４の値は、次のブロック１０１（ｉ，ｊ＋１）のフィルター演算に必要な画素値がバッファー４２に入力されるときに使用される。
【００７７】
以上のように、上記実施の形態２によれば、入出力回路４１は、（ａ）注目ブロック１０１（ｉ，ｊ）とその注目ブロック１０１（ｉ，ｊ）に副走査方向において隣接する隣接ブロック１０１（ｉ，ｊ＋１）について、注目ブロック１０１（ｉ，ｊ）に対するフィルター演算および隣接ブロック１０１（ｉ，ｊ＋１）に対するフィルター演算のいずれにも値が必要となる画素を含むオーバーラップエリア１０２Ｄ（ｉ，ｊ）に含まれるいずれか１つの画素の値を、注目ブロック１０１（ｉ，ｊ）が指定されているときに代表画素値としてレジスター４４に記憶し、（ｂ）オーバーラップエリア１０２Ｄ（ｉ，ｊ）に含まれるすべての画素の値が同一である場合には、隣接ブロック１０１（ｉ，ｊ＋１）に対するフィルター演算のために必要な画素値のうち、オーバーラップエリア１０２Ｄ（ｉ，ｊ）（つまり、オーバーラップエリア１０２Ｕ（ｉ，ｊ＋１））に含まれるすべての画素の値として、その代表画素値（１つの値）をレジスター４４から読み出し、隣接ブロック１０２（ｉ，ｊ＋１）に対するフィルター演算のために必要な画素値の残りをＲＡＭ３から読み出す。
【００７８】
これにより、画像データ３１が記憶されているＲＡＭ３から、副走査方向において隣接する２つのブロック１０１（ｉ，ｊ），１０１（ｉ，ｊ＋１）の境界周辺の画素の値を読み出す回数が少なくて済む。
【００７９】
ただし、実施の形態２では、上述のフラグおよびレジスター４４に記憶される代表画素値は、副走査方向における次のブロック１０１（ｉ，ｊ＋１）のフィルター演算に必要な画素値がバッファー４２に入力されるまで保持しておく必要があり、画像データ３１についての主走査方向におけるブロック数をＮとすると、Ｎ個のフラグおよび代表画素値を保持しておく必要がある。例えば、フラグおよび代表画素値をそれぞれＮ段のＦＩＦＯ（First-In First-Out）で記憶しておき、それぞれのＦＩＦＯの先頭のフラグおよび代表画素値を注目ブロック１０１（ｉ，ｊ）について使用するようにしてもよい。
【００８０】
実施の形態３．
【００８１】
実施の形態１，２では、主走査方向または副走査方向に隣接する２つのブロックのいずれのフィルター演算にも必要な画素の領域がオーバーラップエリアとして設定されているが、実施の形態３では、主走査方向に隣接する２つのブロックのいずれのフィルター演算にも必要な画素の領域と副走査方向に隣接する２つのブロックのいずれのフィルター演算にも必要な画素の領域とを合成した逆Ｌ字形のオーバーラップエリアを設定する。なお、実施の形態２に係る画像処理装置の構成は実施の形態１，２のものと同様であるが、以下のように動作する。
【００８２】
図６は、実施の形態３におけるオーバーラップエリアの一例を示す図である。
【００８３】
図６（Ａ）は、実施の形態３におけるブロック１０１（ｉ，ｊ）とそのブロック１０１（ｉ，ｊ）とその次の隣接ブロック１０１（ｉ＋１，ｊ），１０１（ｉ，ｊ＋１）との間のオーバーラップエリア１０３（ｉ，ｊ）との対応関係を説明する図である。図６（Ａ）に示すオーバーラップエリア１０３（ｉ，ｊ）は、注目画素のフィルター演算に必要な画素が、注目画素を中心とした７×７画素である場合のものである。実施の形態３では、注目ブロック１０１（ｉ，ｊ）のオーバーラップエリア１０３（１，ｊ）の先頭画素１３１の画素値がレジスター４４に記憶され、オーバーラップエリア１０３（１，ｊ）のすべての画素値が同一であるか否かを示す値がフラグにセットされる。オーバーラップエリア１０３（１，ｊ）のすべての画素値が同一である場合、実施の形態１，２と同様にして、フラグには１がセットされ、そうではない場合には、０がセットされる。
【００８４】
図６（Ｂ）は、実施の形態３におけるブロック１０１（ｉ，ｊ）とそのブロック１０１（ｉ，ｊ）と１つ前の隣接ブロック１０１（ｉ−１，ｊ），１０１（ｉ，ｊ−１）との間のオーバーラップエリア１０３Ｌ（ｉ，ｊ），１０３Ｕ（ｉ，ｊ）との対応関係を説明する図である。図６（Ｂ）に示すオーバーラップエリア１０３Ｌ（ｉ，ｊ），１０３Ｕ（ｉ，ｊ）は、注目画素のフィルター演算に必要な画素が、注目画素を中心とした７×７画素である場合のものである。
【００８５】
オーバーラップエリア１０３Ｌ（ｉ，ｊ）は、１つ前の隣接ブロック１０１（ｉ−１，ｊ）のオーバーラップエリア１０３（ｉ−１，ｊ）の一部となっている。このため、オーバーラップエリア１０３Ｌ（ｉ，ｊ）についての上述のフラグの値が１であれば、注目ブロック１０１（ｉ，ｊ）のフィルター演算に必要な画素値をバッファー４２に入力する際に、入出力回路４１は、オーバーラップエリア１０３Ｌ（ｉ，ｊ）内の画素値として、バッファー４４に記憶されている、隣接ブロック１０１（ｉ−１，ｊ）の代表画素値を使用する。
【００８６】
同様に、オーバーラップエリア１０３Ｕ（ｉ，ｊ）は、１つ前の隣接ブロック１０１（ｉ，ｊ−１）のオーバーラップエリア１０３（ｉ，ｊ−１）の一部となっている。このため、隣接ブロック１０１（ｉ，ｊ−１）についての上述のフラグの値が１であれば、注目ブロック１０１（ｉ，ｊ）のフィルター演算に必要な画素値をバッファー４２に入力する際に、入出力回路４１は、オーバーラップエリア１０３Ｕ（ｉ，ｊ）内の画素値として、バッファー４４に記憶されている、隣接ブロック１０１（ｉ，ｊ−１）の代表画素値を使用する。
【００８７】
以上のように、上記実施の形態３によれば、入出力回路４１は、（ａ）注目ブロック１０１（ｉ，ｊ）、その注目ブロック１０１（ｉ，ｊ）に主走査方向において隣接する第１隣接ブロック１０１（ｉ＋１，ｊ）、およびその注目ブロック１０１（ｉ，ｊ）に副走査方向において隣接する第２隣接ブロック１０１（ｉ，ｊ＋１）について、注目ブロック１０１（ｉ，ｊ）に対するフィルター演算および第１隣接ブロック１０１（ｉ＋１，ｊ）に対するフィルター演算のいずれにも値が必要となる画素並びに注目ブロック１０１（ｉ，ｊ）に対するフィルター演算および第２隣接ブロック１０１（ｉ，ｊ＋１）に対するフィルター演算のいずれにも値が必要となる画素を含むオーバーラップエリア１０３（ｉ，ｊ）に含まれるいずれか１つの画素の値を、注目ブロックが指定されているときに代表画素値としてレジスター４４に記憶し、（ｂ）オーバーラップエリア１０３（ｉ，ｊ）に含まれるすべての画素の値が同一である場合には、第１隣接ブロック１０１（ｉ＋１，ｊ）に対するフィルター演算のために必要な画素値のうち、オーバーラップエリア１０３（ｉ，ｊ）に含まれるすべての画素の値として、その代表画素値をレジスター４４から読み出し、第２隣接ブロック１０１（ｉ，ｊ＋１）に対するフィルター演算のために必要な画素値のうち、オーバーラップエリア１０３（ｉ，ｊ）に含まれるすべての画素の値として、その代表画素値をレジスター４４から読み出す。
【００８８】
これにより、画像データが記憶されている記憶装置から、隣接する２つのブロック（つまり、ブロック１０１（ｉ，ｊ）とブロック１０１（ｉ＋１，ｊ）、およびブロック１０１（ｉ，ｊ）とブロック１０１（ｉ，ｊ＋１））の境界周辺の画素の値を読み出す回数が少なくて済む。
【００８９】
なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【００９０】
例えば、上記実施の形態１〜３では、画像読取装置１により生成された画像データ３１に対して２次元のフィルター処理を行っているが、他の画像データに対してフィルター処理を行うようにしてもよい。また、演算回路４３におけるフィルター演算のフィルターサイズも上述のものに限定されるものではない。
【産業上の利用可能性】
【００９１】
本発明は、例えば、スキャナーによる画像読み取りなどで生成される画像データに対するフィルター処理に適用可能である。
【符号の説明】
【００９２】
３  ＲＡＭ（第１記憶装置の一例）
４  ＡＳＩＣ（処理部の一例）
５  バス
３１  画像データ
４１  入出力部（データリード部の一例）
４３  演算回路
４４  レジスター（第２記憶装置の一例）
１０１（ｉ，ｊ）  ブロック
１０２Ｌ（ｉ，ｊ）  左側オーバーラップエリア（オーバーラップエリアの一例）
１０２Ｒ（ｉ，ｊ）  右側オーバーラップエリア（オーバーラップエリアの一例）
１０２Ｕ（ｉ，ｊ）  上側オーバーラップエリア（オーバーラップエリアの一例）
１０２Ｄ（ｉ，ｊ）  下側オーバーラップエリア（オーバーラップエリアの一例）
１０３（ｉ，ｊ）  オーバーラップエリア
１０３Ｌ（ｉ，ｊ）  オーバーラップエリア
１０３Ｕ（ｉ，ｊ）  オーバーラップエリア
【図１】
2014068085.tif 000003
【図２】
2014068085.tif 000004
【図３】
2014068085.tif 000005
【図４】
2014068085.tif 000006
【図５】
2014068085.tif 000007
【図６】
2014068085.tif 000008