(57)【要約】【課題】画像処理を施す際に中間記憶装置の容量を節約するとともに回路規模の増大を抑制する。【解決手段】処理前画像データに対して注目画素とその周辺の参照画素を用いて演算処理を行う際に、中間記憶装置として、演算処理に必要なライン数に応じた数のバッファすなわち第１のバッファ１５０第２のバッファ１６０を用いる。各バッファは、処理前画像データのラインの大きさより小さくかつ主走査方向において演算処理に必要な大きさ以上の容量を有する。１度の演算処理につき、処理前画像データにおける該当各ラインから１画素ずつ、それぞれが対応するバッファの右端の記憶領域に入力し、各バッファの、注目画素とその参照画素間の位置関係に応じて決められた各位置から画素を読み出して出力する。各ラインにおいて演算処理が行われるたびに、第１のバッファ１５０と第２のバッファ２６０に対して右端から左端に１画素分のデータシフトを行う。【選択図】図３
2008072585.tif 000002
【特許請求の範囲】
【請求項１】
複数のラインから構成された処理前画像データであって、各ラインが所定の大きさの単位データを主走査方向において複数順次配列してなる前記処理前画像データに対して、注目単位データとその周辺に位置する参照単位データを用いて演算処理を行う際の演算処理用データ供給方法において、
前記所定の大きさの記憶領域が片端から他端に複数順次配列しており、前記ラインの大きさより小さくかつ主走査方向において演算処理に必要な大きさ以上の容量を有する中間記憶部を、演算処理に必要なライン数に応じた個数を設け、
１度の演算処理につき、前記処理前画像データにおける該当各ラインから単位データを１つずつ、それぞれが対応する前記中間記憶部の入力端である前記片端の記憶領域に入力する入力工程と、各前記中間記憶部から、注目単位データと該注目単位データの参照単位データ間の位置関係に応じて決められた各位置の記憶領域に記憶された単位データを読み出して前記演算処理に供する出力工程とを行い、
各ラインにおいて演算処理が行われるたびに、各前記中間記憶部に対して前記片端から他端に１記憶領域分のデータシフトを行うことを特徴とする演算処理用データ供給方法。
【請求項２】
前記演算処理は、走査順が注目単位データより前にあり、該注目単位データの周辺に位置する単位データの処理済みデータを参照単位データとして用いるものであり、
前記入力工程は、前記処理前画像データを記憶する第１のメモリから１つの対象単位データを読み出して所定の前記中間記憶部の入力端の記憶領域に入力するとともに、前記処理済みデータを記憶する第２のメモリから、前記演算処理に必要な単位データが存在するラインのうちの、前記対象単位データが位置するライン以外のラインの処理済みデータを１つずつ読み出して、それぞれが対応する、前記所定の中間記憶部以外の中間記憶部の入力端の記憶領域に入力する工程であり、
演算処理が終わるたびに該演算の結果となる処理済みデータを、前記中間記憶部のデータシフトがなされた後に前記所定の中間記憶部における入力端の記憶領域と隣接する記憶領域に入力する工程をさらに行うことを特徴とする請求項１に記載の演算処理用データ供給方法。
【請求項３】
前記中間記憶部をバッファとして構成することを特徴とする請求項１または２に記載の演算処理用データ供給方法。
【請求項４】
前記中間記憶部をシフトレジスタとして構成することを特徴とする請求項１または２に記載の演算処理用データ供給方法。
【請求項５】
前記単位データは、１画素のデータであることを特徴とする請求項１から４のいずれか１項に記載の演算処理用データ供給方法。
【請求項６】
前記中間記憶部の容量は、１度の演算処理に必要な単位データのうちの、同じラインにおいて最も離れた２つの単位データ間の距離と、単位データの前記所定の大きさの２倍との和であることを特徴とする請求項１から５のいずれか１項記載の演算処理用データ供給方法。
【請求項７】
複数のラインから構成された処理前画像データであって、各ラインが所定の大きさの単位データを主走査方向において複数順次配列してなる前記処理前画像データに対して、注目単位データとその周辺に位置する参照単位データを用いて演算処理を行う画像処理装置であって、
演算処理に必要なライン数に応じた個数の中間記憶部であって、それぞれは、前記所定の大きさの記憶領域が片端から他端に複数順次配列しており、前記ラインの大きさより小さくかつ主走査方向において演算処理に必要な大きさ以上の容量を有し、各ラインにおいて演算処理が行われるたびに、前記片端から他端に１記憶領域分のデータシフトを行う前記中間記憶部と、
１度の演算処理につき、前記処理前画像データにおける該当各ラインから単位データを１つずつ、それぞれが対応する前記中間記憶部の入力端である前記片端の記憶領域に入力する第１の入力部と、
各前記中間記憶部から、注目単位データと該注目単位データの参照単位データ間の位置関係に応じて決められた各位置の記憶領域に記憶された単位データを読み出して出力する出力部と、
該出力部により出力された単位データを用いて演算処理を実行する処理実行部と、
を備えることを特徴とする画像処理装置。
【請求項８】
前記処理前画像データを記憶する第１のメモリと、
前記処理実行部の演算結果を処理済みデータとして記憶する第２のメモリと、
第２の入力部とをさらに備え、
前記処理実行部は、走査順が注目単位データより前にあり、該注目単位データの周辺に位置する単位データの処理済みデータを参照単位データとして用いるものであり、
前記第１の入力部は、１度の演算処理につき、前記第１のメモリから１つの対象単位データを読み出して所定の前記中間記憶部の入力端の記憶領域に入力し、
前記第２の入力部は、前記所定の中間記憶部以外の中間記憶部の入力端の記憶領域に入力するものであって、１度の演算処理につき、前記第２のメモリから、前記演算処理に必要な単位データが存在するラインのうちの、前記対象単位データが存在するライン以外のラインの処理済みデータを１つずつ読み出して、それぞれが対応する中間記憶部に入力し、
前記処理実行部は、演算処理が終わるたびに演算結果を前記第２のメモリに出力するとともに、前記中間記憶部のデータシフトがなされた後に前記所定の中間記憶部における入力端の記憶領域と隣接する記憶領域に該演算結果を入力することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記中間記憶部は、バッファであることを特徴とする請求項７または８に記載の画像処理装置。
【請求項１０】
前記中間記憶部は、シフトレジスタであることを特徴とする請求項７または８に記載の画像処理装置。
【請求項１１】
前記単位データは、１画素のデータであることを特徴とする請求項７から１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記中間記憶部の容量は、１度の演算処理に必要な単位データのうちの、同じラインにおいて最も離れた２つの単位データ間の距離と、単位データの前記所定の大きさの２倍との和であることを特徴とする請求項７から１１のいずれか１項記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを処理する際のデータ供給方法、およびこのデータ供給方法を用いた画像処理技術に関する。
【背景技術】
【０００２】
デジタル複写機やプリンタなどにおいて、スキャナなどにより得られた入力画像に対して平滑化、拡大縮小、エッジ強調などの画像処理を施してから出力することが行われている。また、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）上で使われる画像、テレビ、ＤＶＤ等ＡＶ機器で使われる画像にも同様の画像処理を施してから出力することが行われている。従来、これらの画像処理を担う画像処理装置には中間記憶装置として機能するラインメモリを備え、ページメモリに記憶された入力画像をラインごとにラインメモリに一時的に記憶して処理を行う。
【０００３】
このような画像処理装置に備えるラインメモリの数は、画像処理に必要な画素の位置によって異なる。たとえば、入力画像に対して３×３のフィルタ処理を行う場合に、２つ前のラインのデータ（以下単にラインデータという）と、１つ前のラインデータとをそれぞれ記憶する２つのラインメモリが必要であり、画像処理装置は、現在のラインデータと、この２つのラインメモリに記憶されたラインデータを用いてフィルタ処理を実行する。フィルタのサイズが大きいほど、ラインメモリの数が増える。
【０００４】
近年、画質向上のための解像度増加やフィルタサイズの増大が進む一方である。そのため、１つのラインメモリの容量やラインメモリの数の増加も容赦なくされる現状である。
【０００５】
特許文献１には、ラインメモリの容量の増加を抑制することを図る画像処理装置が開示されている。図１９（特許文献１における図１）は、その画像処理装置１０の構成を示す。画像処理装置１０は、ページメモリ１２、セグメント読出部１４、画像処理ＡＳＩＣ１８、ライン復元部２０を有する。画像処理ＡＳＩＣ１８は、セグメントメモリ２２、セグメントメモリ２４、画像処理部２６から構成される。
【０００６】
セグメント読出部１４は、ページメモリ１２を複数（図示の例では９個）のブロックに分割してブロック単位にデータの読出をする。具体的には、主走査方向（図中矢印Ａ方向）に読出をし、ブロック内の１ライン（セグメント）分のデータ（セグメントデータ：例えば図中Ｃの部分）を画像処理ＡＳＩＣ１８に出力する。これを当該ブロック内でセグメント単位で副走査方向（図中矢印Ｂ方向）において繰り返し、１ブロックの読出しが終了すると次のブロックを読み出すようにする。
【０００７】
画像処理ＡＳＩＣ１８における画像処理部２６は、セグメント読出部１４からのセグメントデータに対して例えば３×３のフィルタ処理をするものであり、セグメント読出部１４からのセグメントデータとともに、セグメントメモリ２２、セグメントメモリ２４に記憶されたセグメントデータも画像処理部２６に出力される。
【０００８】
片方、セグメントメモリ２２とセグメント２４にも、セグメント読出部１４から出力されたセグメントデータと、セグメントメモリ２２から出力されたセグメントデータがそれぞれ書き込まれる。セグメントメモリ２２とセグメントメモリ２４はＦＩＦ０（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  ＯＵＴ）メモリであるため、セグメントメモリ２４には２つ前のセグメントデータが、セグメントメモリ２２には１つ前のセグメントデータが記憶される。
【０００９】
このように、画像処理部２６には、３×３フィルタ処理をする上で必要な副走査方向の画素数すなわち３つのセグメントデータが入力されることになる。それによってフィルタ処理されたセグメントデータは、セグメント読出部１４による読出順と同じようにブロック順になっているので、ライン復元部２０によりラインデータに復元する必要がある。
【００１０】
また、セグメント読出部１４は、画像オーバーラップ読出機能を内蔵しており、フィルタ処理が行われる注目画素の参照すべき周辺画素（以下参照画素という）が隣接するブロックに存在する場合には、この隣接するブロックに存在する画素（オーバーラップ画素）を読み出して画像処理部２６に供するようにしている。たとえば、図２０の（ａ）に示すように、ブロック１の右端に注目画素（図中黒丸）があった場合には、それの参照画素（図中点線枠内の白丸）のうちの右側の３つは、隣接するブロック２にある。同様に、図２０の（ｂ）に示すように、ブロック２の左端に注目画素があった場合には、それの参照画素のうちの左側の３つは、隣接するブロック１にある。セグメント読出部１４は、画像オーバーラップ機能を備えることによって、注目画素と参照画素が異なるブロックにある場合においても参照画素を読み出して画像処理ＡＳＩＣ１８に供することができる。図２０は、注目画素のブロックと主走査方向に並ぶ別のブロックに参照画素がある場合の例であるが、注目画素のブロックと副走査方向において並ぶ別のブロックに参照画素がある場合にも同じである。
【００１１】
このように、従来の画像処理装置のラインメモリは入力画像の１ライン分のデータを格納する容量が必要とされるのに対して、画像処理装置１０におけるセグメントメモリ２２とセグメントメモリ２４は、１セグメント分のデータを格納できる容量があればよく、ラインメモリの容量を削減することに功を奏することができる。
【特許文献１】特開２０００−２５１０６５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
ここで、１ブロックあたりのオーバーラップ画素の数について考える。図２１において、点線枠による囲まれた画素が、３×３フィルタ処理の場合に１ブロックのデータを処理するために読出が必要なデータである。図示のように、ブロック２のデータを処理するために、セグメント読出部１４は、ブロック２の外縁のすべての画素（図中黒丸）を読み出す必要がある。
【００１３】
図２０および図２１の例では、参照画素が注目画素と隣接している。フィルタ処理の種類によって、注目画素からｎ（ｎ：２以上の自然数）画素分離れている参照画素が存在する場合がある。例えば図２２に示すように、点線枠により囲まれた画素のうちの右下端の画素が注目画素であり、演算処理に必要なデータは、図中黒丸で示す画素すなわち注目画素と、注目画素と同じラインにあり、主走査方向と逆の方向に注目画素から３画素分離れた位置の画素と、注目画素の前のラインにあり、主走査方向において注目画素と同じ位置の画素と、注目画素の前のラインにあり、主走査方向と逆の方向に注目画素から３画素分離れた位置の画素のデータである。このような演算処理の場合、図２３に示すように、ブロック２のデータを処理するために、セグメント読出部１４は、ブロック２内の画素のみならず、ブロック２の外の、図中黒丸で示されるすべての画素を読みだす必要があり、その分画像オーバーラップ読出機能を担う部分の回路規模が大きくなる。
【００１４】
また、セグメント読出部１４は、オーバーラップ画素を読み出すためにアドレス計算が必要であるため、これも回路規模の増大につながる。
【００１５】
さらに、画像処理装置１０は、ブロック単位に処理したデータを出力する前に、それをライン単位に復元する必要がある。画像処理装置１０におけるライン復元部２０は、これのためであり、これも回路規模の増大を招く要因である。
【課題を解決するための手段】
【００１６】
本発明の１つの態様は演算処理用データ供給方法である。この方法は、複数のラインから構成され、各ラインが所定の大きさの単位データを主走査方向において複数順次配列してなる処理前画像データに対して、注目単位データとその周辺に位置する参照単位データを用いて演算処理を行う際に、演算処理に必要なライン数に応じた個数の中間記憶部を設ける。各中間記憶部は、単位データの大きさに等しい大きさの記憶領域が片端から他端に複数順次配列しており、処理前画像データのラインの大きさより小さくかつ主走査方向において演算処理に必要な大きさ以上の容量を有する。
【００１７】
１度の演算処理につき、処理前画像データにおける該当各ラインから単位データを１つずつ、それぞれが対応する中間記憶部の入力端である片端の記憶領域に入力する入力工程と、各中間記憶部から、注目単位データと該注目単位データの参照単位データ間の位置関係に応じて決められた各位置の記憶領域に記憶された単位データを読み出して演算処理に供する出力工程とを行う。
【００１８】
さらに、  各ラインにおいて演算処理が行われるたびに各中間記憶部に対して片端から他端に１記憶領域分のデータシフトを行う。
【００１９】
本発明の別の態様も演算処理用データ供給方法である。この方法が適用する演算処理は、走査順が注目単位データより前にあり、該注目単位データの周辺に位置する単位データの処理済みデータを参照単位データとして用いるものであり、ここで上記の演算処理用データ供給方法と異なる点についてのみ説明する。この態様において、入力工程は、処理前画像データを記憶する第１のメモリから１つの対象単位データを読み出して所定の中間記憶部の入力端の記憶領域に入力するとともに、処理済みデータを記憶する第２のメモリから、演算処理に必要な単位データが存在するラインのうちの、対象単位データが位置するライン以外のラインの処理済みデータを１つずつ読み出して、それぞれが対応する、所定の中間記憶部以外の中間記憶部の入力端の記憶領域に入力する工程である。また、演算処理が終わるたびに該演算の結果となる処理済みデータを、中間記憶部のデータシフトがなされた後に所定の中間記憶部における入力端の記憶領域と隣接する記憶領域に入力する工程をさらに行う。
【００２０】
なお、上記方法を装置、システム、プログラムに置き換えたもの、および上記方法を画像処理装置に適用して得たものも、本発明の態様としては有効である。
【発明の効果】
【００２１】
本発明にかかる技術によれば、入力画像に対して画像処理を施す際に中間記憶装置の容量を節約するとともに回路規模の増大を抑制することができる。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照して本発明の実施の形態について説明する。
図１は、本発明の第１の実施形態にかかる画像処理装置１００の構成を示す。処理前の画像データ（図中画像データＳ０）をページ毎に記憶するメモリ１１０と、メモリ１１０に記憶された処理前画像データＳ０に対して後述する演算処理を施す演算処理チップ１３０と、演算処理のためにメモリ１１０からデータを読み出して演算処理チップ１３０に入力する入力部１２０と、演算処理チップ１３０により得られた処理済画像データＳ１を記憶するメモリ１９０を有する。
【００２３】
演算処理チップ１３０は、入力部１２０により入力された画像データを一時的に記憶する一時記憶部１４０と、演算処理を実行する処理実行部１８０と、処理実行部１８０のために一時記憶部１４０からデータを読み出して処理実行部１８０に出力する出力部１７０を備える。一時記憶部１４０は、第１のバッファ１５０と第２のバッファ１６０から構成される。第１のバッファ１５０と第２のバッファ１６０は、中間記憶装置として機能する。
【００２４】
ここでまず処理実行部１８０により行われる演算処理について説明する。画像処理装置１００は、画像フォーマット規格の一つであるＰＮＧ（Ｐｏｒｔａｂｌｅ  Ｎｅｔｗｏｒｋ  Ｇｒａｐｈｉｃｓ）圧縮を行う際に圧縮効率を高めるためのフィルタ処理をするものであり、このフィルタ処理は、図２に示すように４つの画素を用いる。
【００２５】
図２において、１マスが１画素を示す。注目画素が画素４であり、フィルタ処理には、画素４と、主走査方向と逆の方向に画素４から３画素分離れた画素３と、副走査方向において画素３の１つ上の画素１と、副走査方向において画素４の１つ上の画素２とを用いる。ここで、画素の画素値をｐとすると、処理実行部１８０により行われる演算処理が下記の式（１）、式（２）、式（３）により表される。
【００２６】
【数１】
2008072585.tif 000003
【数２】
2008072585.tif 000004
【数３】
2008072585.tif 000005
すなわち、本実施の形態において、処理実行部１８０は、フィルタ処理を行う際に、注目画素と、主走査方向と逆の方向に注目画素から３画素分離れた画素と副走査方向においてこの画素の１つ上の画素と、副走査方向において注目画素の１つ上の画素が必要である。
【００２７】
図３は、一時記憶部１４０の構成を示す。本実施の形態の画像処理装置１００において、一時記憶部１４０には、１度の演算処理に必要な画素が存在するラインの数（ここでは２つ）のバッファすなわち第１のバッファ１５０と第２のバッファ１６０とが設けられている。入力部１２０は、メモリ１１０に記憶された処理前画像データＳ０の２つの隣接するラインから１画素ずつ読み出して、一時記憶部１４０の２つのバッファにそれぞれ入力する。
【００２８】
図３の例では、この１画素ずつのデータがバッファの右から入力され、まず、バッファの右端の領域に格納される。演算処理が行われるたびに、バッファに記憶中のデータがシフト方向に（図示の例では左に向かう方向）１画素分シフトされる。その結果、演算処理が行われるたびに左端の領域に格納されたデータが破棄される。このように、１度の演算処理につきバッファの片端から１画素が入力され、演算処理が行われるたびにバッファ中のデータが他端に向かってシフトされる。以下説明上の便宜のため、データが入力される片端をバッファの右端とし、シフト方向を左方向とする。
【００２９】
各バッファは、処理前画像データＳ０のラインの大きさより小さく、かつ主走査方向において演算処理に必要な大きさ以上の容量を有する。主走査方向において演算処理に必要な大きさは、１度の演算処理に必要な画素のうちの、同じラインにおいて最も離れた２つの画素間の距離に２画素分を加算した大きさであるため、本実施の形態においては、５画素となる。バッファの容量をラインの大きさより小さくできれば、演算処理のための中間記憶装置の容量の節約を果たすことができるが、本実施の形態において、バッファの容量を最大限に節約する視点から、第１のバッファ１５０と第２のバッファ１６０のそれぞれの容量を、必要最小限の５画素分としている。
【００３０】
ここで図４、図５を参照してバッファにデータが入力される態様、出力部１７０がバッファに格納されたデータを処理実行部１８０に出力する態様、バッファ内のデータについて説明する。
【００３１】
図４は、メモリ１１０に記憶されたデータであり、図中太線枠で囲まれたＢ行とＣ行は、処理対象の画素があるラインを示す。
【００３２】
図５のステップ１が示すように、入力部１２０は、まず、Ｂ行とＣ行の主走査方向における最も先頭の画素Ｂ１、Ｃ１をそれぞれメモリ１１０から読み出して第１のバッファ１５０と第２のバッファ１６０の右端の領域に格納する。以下の説明および図示において、バッファの１マスを１画素を格納する領域とし、右端から左端の順にそれぞれのマスに１〜５の番号を付与する。
【００３３】
出力部１７０は、第１のバッファ１５０と第２のバッファ１６０に格納されたデータのうち、演算処理に必要な画素を格納した位置からデータを読み出して処理実行部１８０に供する。本実施の形態において、第２のバッファ１６０の右端（１マス目）のデータが注目画素のデータであり、出力部１７０は、この画素のデータと、第２のバッファの左端（５マス目）のデータと、第１のバッファ１５０の左端および右端のデータを読み出すように動作する。図５のステップ１に示すバッファ内のデータの格納態様の場合、この４つのデータはｐ（１）＝０、ｐ（２）＝Ｂ１、ｐ（３）＝０、ｐ（４）＝Ｃ１として出力部１７０により読み出されて処理実行部１８０に供される。
【００３４】
図５における太線枠は、出力部１７０がデータを読み出す位置を示す。
【００３５】
２つのバッファからデータが読み出され、処理実行部１８０による演算処理が行われる。それに伴って、２つのバッファは、左方向に１画素分シフトされる。そして、次の演算処理のために、各バッファの右端にそれぞれ新たな１画素が入力される。これをステップ２に示す。
【００３６】
ステップ２に示すように、バッファのシフトと新たな１画素の入力によって、第１のバッファ１５０の２マス目と１マス目にはそれぞれＢ１とＢ２のデータ、第２のバッファ１６０の２マス目と１マス目にはそれぞれＣ１とＣ２のデータが格納される。
【００３７】
そして、出力部１７０は、ステップ２の状態の２つのバッファから演算処理に必要なデータを図中太線枠が示す位置から読み出して処理実行部１８０に供する。この場合、演算処理に必要な４つのデータはｐ（１）＝０、ｐ（２）＝Ｂ２、ｐ（３）＝０、ｐ（４）＝Ｃ２である。
【００３８】
その後、２つのバッファは、左方向に１画素分シフトされ、次の演算処理のためにそれぞれの右端に新たな１画素が入力される。
【００３９】
このように、各バッファに対して１画素ずつの入力、演算処理のための読出しに伴うデータのシフト、１画素ずつの入力、・・・が繰り返され、４回目の演算処理の後、Ｂ１とＣ１のデータがそれぞれのバッファの左端すなわち５マス目に格納される。これをステップ３に示す。
【００４０】
この状態において、出力部１７０は、演算処理に必要なデータを図中太線枠が示す位置から読み出して処理実行部１８０に供する。この場合、４つのデータはｐ（１）＝Ｂ１、ｐ（２）＝Ｂ５、ｐ（３）＝Ｃ１、ｐ（４）＝Ｃ５である。
【００４１】
その後、２つのバッファは、左方向に１画素分シフトされ、それぞれの右端に新たな１画素が入力される。これをステップ６に示す。
【００４２】
ステップ６に示すように、バッファのシフトによって、不要になったＢ１とＣ１のデータが破棄される。新たな注目画素Ｃ６に対して、参照画素Ｂ２とＣ３のデータが第１のバッファ１５０と第２のバッファ１６０の５マス目に格納され、参照画素Ｂ６のデータが第１のバッファ１５０の１マス目にそれぞれ入力される。
【００４３】
出力部１７０は、演算処理に必要データ（ｐ（１）＝Ｂ２、ｐ（２）＝Ｂ６、ｐ（３）＝Ｃ２、ｐ（４）＝Ｃ６）を読み出して処理実行部１８０に供し、バッファのシフトとバッファに１画素の入力がなされる。
【００４４】
このような画素の入力、演算処理のためのデータの読出し、バッファのシフトが、ラインの終わりまで繰り返される。そしてバッファがクリアされ、次の処理対象のライン（Ｃ行とＤ行）に対する処理に移る。
【００４５】
図６は、図１に示す画像処理装置１００における処理のフローチャートを示す。メモリ１１０に記憶された処理前画像データＳ０のサイズをＭ×Ｎ（Ｍ：１ラインの画素数、Ｎ：ライン総数）とする。
【００４６】
画像処理装置１００は、メモリ１１０に記憶された画像データに対して演算処理をするために、まず、入力部１２０により、１行目と２行目の主走査方向における１画素目のデータを読み出して第１のバッファ１５０と第２のバッファ１６０に入力する（Ｓ１００、Ｓ１１０、Ｓ１２０）。この２つの画素のデータは２つのバッファの１マス目にそれぞれ格納される。出力部１７０は、第１のバッファ１５０と第２のバッファ１６０の１マス目と５マス目のデータ（計４つ）を読み出して処理実行部１８０に出力する（Ｓ１３０）。それに伴い、２つのバッファはそれぞれ１マス左にシフトされる（Ｓ１４０）。ステップＳ１２０でバッファに入力したデータがその行すなわちラインの最後の画素ではない場合（Ｓ１５０：Ｎｏ）、１行目と２行目の主走査方向における次の画素がバッファに入力され（Ｓ１６０：Ｓ１２０）、バッファからデータの読出し、読出し後のバッファのシフトが行われる（Ｓ１３０、Ｓ１４０）。一方、ステップＳ１５０において、ステップＳ１２０でバッファに入力したデータがその行の最後の画素である場合には（Ｓ１５０：Ｙｅｓ）、２つのバッファがクリアされ、次の行の処理に備える（Ｓ１７０）。ステップＳ１１０からステップＳ１７０までの処理が、すべての行に対して行われる（Ｓ１８０：Ｎｏ、Ｓ１９０、Ｓ１１０〜）。
【００４７】
なお、処理実行部１８０は、出力部１７０から４つ毎に出力されてきたデータを用いて前記式（１）〜（３）に示す演算処理を行って順次メモリ１９０に出力する。
【００４８】
このように、本実施の形態の画像処理装置１００には、１度の演算処理に必要な画素が存在するライン数の個数のバッファを設け、各バッファは、主走査方向において一度の演算処理に必要最小限の５画素分の容量を有する。そして、メモリ１１０から該当する２つのラインの画素を１画素ずつバッファの右端に入力し、演算処理のたびにバッファに格納されたデータのうちの、演算処理に必要なデータを格納した位置からデータが読み出される。それにともなってバッファが左にシフトされ、左端のデータが破棄される。すなわち、本実施の形態の画像処理装置１００において、２つのバッファには１度の演算処理に必要なデータを格納させ、メモリから画素を逐次読み出してバッファに入力し、演算処理のためにバッファからデータが読み出されればバッファを左にシフトしながらバッファに新たなデータを入力する。このようなデータの入力と読出し、バッファのシフトが繰り返される。こうすることによって、一時記憶部１４０における各バッファは１ライン分のデータを格納するほどの容量を有する必要がなく、１ラインのデータ数が増えても中間記憶装置として機能するバッファの容量を削減できる。
【００４９】
また、１度の演算処理に必要なデータがバッファに同時に格納されるので、特許文献１のようにオーバーラップ画素の対処のために別途回路を設ける必要がない。そのため、中間記憶装置の容量を削減しつつ回路規模を抑制できる。さらに、前述したように、注目画素を処理する際に参照すべき画素のうち、注目画素からｎ（ｎ：２以上の自然数）画素分離れている画素がある場合において、特許文献１による技術では、画像オーバーラップ読出機能を担う部分の回路規模が大きくなる問題がある。それに対して画像処理装置１００では、オーバーラップ画素の問題が無いため、注目画素と離れた参照画素がある場合においても確実に回路規模の増大を抑制することができる。
【００５０】
また、本実施の形態の画像処理装置１００は、処理前画像データＳ０におけるデータの並び順に演算処理を順次行うので、処理済み画像データに対してライン復元する必要が無い。これも回路規模の増大を抑制することに功を奏している。
【００５１】
画像処理装置１００は、例として演算処理の際に用いられる参照画素が、主走査方向に沿って注目画素より前に位置する画素であるが、本発明は、参照画素が、主走査方向において注目画素より後に位置する場合や、参照画素が主走査方向において注目画素の前後両方に存在する場合にも適用することができる。図７は、参照画素が注目画素の前後両方に存在する場合のバッファの構造、バッファへのデータの入力態様、およびバッファからデータを出力する態様を示す。説明上の便宜のため、１つのバッファについてのみ説明する。
【００５２】
この場合においても、バッファの容量を、ラインの大きさより小さく、主走査方向において演算処理に必要な大きさ以上とすることができる。バッファの容量を最大限に節約するために、必要最小限の容量すなわち、１度の演算処理に必要な画素のうちの、同じラインにおいて最も離れた２つの画素間の距離に２画素分を加算した大きさとする。図７に示す例では、注目画素に対して３画素前と２画素後にそれぞれ参照画素があり、「最も離れた２つの画素」はこの２つの参照画素となる。そのため、バッファの容量は、２つの参照画素間の距離６画素に２画素を加算して得た８画素分である。
【００５３】
バッファの右端に１画素ずつデータを入力する。バッファから演算処理用のデータを取得する際に、右端から８マス目、４マス目、１マス目からデータを読み出せばよい。そして、演算処理のたびにバッファを左に１画素シフトする。こうすることによって、参照画素が注目画素の前後両方に存在するような演算処理を行う装置においても画像処理装置１００と同様な効果を得ることができる。
【００５４】
また、画像処理装置の処理対象となる画像によって、参照画素と注目画素間の距離が可変である場合がある。この場合、特許文献１に記載の技術で演算処理を行おうとすると、その距離に応じてブロックの分割の方法やオーバーラップ画素を読み出すためのアドレス計算やライン復元処理などのために回路は大変複雑にならざるを得ない。それに対して本発明をこの場合にも適用し、シンプルな構成で対応することができる。
【００５５】
図８は、この場合のバッファの構造、バッファへのデータの入力態様、およびバッファからデータを出力する態様を示す。ここでも説明上の便宜のため、１つのバッファについてのみ説明する。
【００５６】
この場合においても、上記同様に、バッファの容量を、ラインの大きさより小さくかつ主走査方向において演算処理に必要な大きさ以上とすることができる。必要最小限の容量は、参照画素と注目画素間の主走査方向においてとり得る距離の最大値を基準に応じて決める。たとえば、参照画素と注目画素間の距離が画像によって２画素と６画素で可変である場合、バッファの必要最小限の容量が、（最大の距離＋２）画素分であるため、距離の最大値の６画素を基準とするとバッファの容量が８画素となる。この場合においても、バッファの右端に１画素ずつデータを入力する。バッファから演算処理用のデータを取得する際に、その回の演算処理に用いられる参照画素と注目画素間の距離に応じて決められた位置からデータを取得すればよい。たとえば、参照画素と注目画素間の距離が６画素である場合には図８に示すように、バッファの左端および右端からデータを取得する。一方、参照画素と注目画素間の距離が２画素である場合には、バッファの右端、および右端から４番目のマスからデータを取得して演算処理に供すればよい。そして、演算処理のたびにバッファを左にシフトする。こうすることによって、参照画素と注目画素間の距離が可変である演算処理を行う装置においても画像処理装置１００と同様な効果を得ることができる。
【００５７】
演算処理の種類によって、注目画素および参照画素が異なるメモリから取得する場合がある。ここで、演算処理には、処理前画像データに含まれる注目画素のデータと、走査順が注目画素の前にある参照画素の処理済みデータが用いられる場合にかかる本発明の第２の実施の形態を説明する。
【００５８】
図９は、本発明の第２の実施の形態である画像処理装置２００の構成を示す。画像処理装置２００は、処理前の画像データ（図中処理前画像データＳ０）をページ毎に記憶するメモリ２１０と、メモリ２１０に記憶された処理前画像データＳ０に対して後述する演算処理を施す演算処理チップ２３０と、演算処理のためにメモリ２１０からデータｗ０を読み出して演算処理チップ２３０に入力する第１の入力部２２２と、演算処理のために後述するメモリ２９０からデータｗ１を読み出して演算処理チップ２３０に入力する第２の入力部２２４と、演算処理チップ２３０の演算結果を処理済画像データＳ１として記憶するメモリ２９０とを有する。
【００５９】
演算処理チップ２３０は、第１の入力部２２２および第２の入力部２２４により入力されたデータｗ０およびデータｗ１を記憶する一時記憶部２４０と、演算処理を実行する処理実行部２８０と、処理実行部２８０のために一時記憶部２４０からデータを読み出して処理実行部２８０に出力する出力部２７０を備える。また、処理実行部２８０は、演算処理のたびに演算結果をメモリ２９０に出力するとともに一時記憶部２４０にも出力する。一時記憶部２４０は、第１のバッファ２５０と第２のバッファ２６０から構成される。
【００６０】
本実施の形態では、処理実行部２８０により行われる演算処理は、ＰＮＧ復号時のフィルタ処理であり、画像処理装置１００において行われた演算処理の逆の処理である。図１０は、処理実行部２８０の処理に用いられるデータの態様を示す。
【００６１】
図１０において、画素４は注目画素である。この場合の演算処理は、画素４と、主走査方向の位置が画素４と同じであり、副走査方向において画素４の前のラインにある画素（図中画素２）と、画素４と同じラインにあり、主走査方向において画素４の３つ前の画素（図中画素３）と、主走査方向の位置が画素３と同じであり、副走査方向において画素３の前のラインにある画素（図中画素１）のデータを用いる。但し、注目画素の画素４を除き、画素１、画素２、画素３のデータは、処理済の画素のデータであり、メモリ２９０から取得する。
【００６２】
ここで一時記憶部２４０の構成とともに、第１の入力部２２２、第２の入力部２２４、出力部２７０、処理実行部２８０の動作について説明する。
【００６３】
図１１は、一時記憶部２４０の構成を示す。一時記憶部２４０には、一度の演算処理に必要な画素が存在するラインの数（ここでは２つ）のバッファすなわち第１のバッファ２５０と第２のバッファ２６０とが設けられている。２つのバッファの容量および容量の決め方は、画像処理装置１００における２つのバッファと同じであり、ここで詳細な説明を省略する。図中点線枠により囲まれた領域には、処理済の画像データが格納され、点線枠外の領域すなわち第２のバッファ２６０の右端の領域は注目画素の処理前のデータが格納される。なお、図中１マスは１画素を記憶する領域を示す。
【００６４】
第１の入力部２２２は、１度の演算処理につきメモリ２１０から１画素をデータｗ０として読み出して第２のバッファ２６０に入力する。このデータｗ０は、第２のバッファ２６０の右端のマスに格納される。また、演算処理が行われるたびに、第２のバッファ２６０は左方向に１画素分シフトされる。
【００６５】
第２の入力部２２４は、１度の演算処理につきメモリ２９０から１画素をデータｗ１として読み出して第１のバッファ２５０に入力する。このデータｗ１は、副走査方向においてデータｗ０の前のラインにあり、主走査方向の位置がデータｗ０と同じである画素の処理済み画像データである。このデータｗ１は、第１のバッファ２５０の右端のマスに格納される。また、演算処理が行われるたびに、第１のバッファ２５０も左方向に１画素分シフトされる。
【００６６】
第１の入力部２２２と第２の入力部２２４以外に、処理実行部２８０も一時記憶部２４０にデータを入力する。処理実行部２８０は、各回の演算処理が終わるたびに、演算結果すなわち処理済みデータをデータｗ２としての第２のバッファ２６０の右端から２つ目のマスに入力する。
【００６７】
以下図１２、図１３、図１４を参照して、第１の入力部２２２、第２の入力部２２４、一時記憶部２４０、出力部２７０、処理実行部２８０の動作を具体的に説明する。
【００６８】
図１２は、メモリ２１０に記憶された処理前画像データＳ０を示す。処理前画像データＳ０の大きさを、Ｍ×Ｎ（Ｍ，Ｎ：２以上の自然数）とする。
【００６９】
図１３は、処理前画像データＳ０の最も上のライン（Ａ行）が処理される際に、一時記憶部２４０に記憶されたデータの態様およびメモリ２９０に記憶された処理済画像データＳ１を示す。
【００７０】
図１３のステップ１に示すように、まず、第１の入力部２２２は、メモリ２１０から、処理前画像データＳ０のＡ行の最も先頭の画素Ａ１を読み出して第２のバッファ２６０の右端すなわち１番目のマスに入力する。この際、同じページに対して、メモリ２９０には、まだ処理済みのデータが無い。
【００７１】
出力部２７０は、演算処理用のデータとして、第１のバッファ２５０と第２のバッファ２６０の左端および右端すなわち５番目と１番目のマスのデータを読み出して処理実行部２８０に供する。データが入力されていないマス（５番目のマス）については０を出力する。これに伴い、第１のバッファ２５０と第２のバッファ２６０は左方向へ１画素分シフトされる。また、処理実行部２８０は、出力部２７０から供されるデータを用いて演算処理をし、その演算結果を処理済みのデータＡ０１としてメモリ２９０に出力するとともに、データｗ２として第２のバッファ２６０の２番目のマスに入力する。そして、次の演算処理のために、第１の入力部２２２は、メモリ２１０から次の注目画素Ａ２を第２のバッファ２６０の１番目のマスに入力する。このときの状態は、図１３のステップ２に示す。
【００７２】
このような処理がメモリ２１０に記憶されたＡ行の各画素に対して走査順に繰り返される。ステップ３では、注目画素Ａ５が第２のバッファ２６０の１番目のマスに入力されており、第２のバッファ２６０の５番目〜２番目のマスには、Ａ１〜Ａ４の画素の処理済みデータＡ０１〜Ａ０４が格納されている。Ａ５を注目画素とした処理の結果、ステップ４に示すように、第２のバッファ２６０の５番目〜２番目のマスには、Ａ２〜Ａ５の画素の処理済みデータＡ０２〜Ａ０５が格納され、１番目のマスには次の注目画素Ａ６のデータが入力される。また、このとき、処理済画像データＳ１として、メモリ２９０にはＡ０１〜Ａ０５が格納されている。
【００７３】
Ａ行に対する演算処理が進み、Ａ行の最後の画素ＡＭに対する演算処理が終了した際に、２つのバッファがクリアされる。なお、図１４のステップ１に示すように、このとき、処理済画像データＳ１としてメモリ２９０には、Ａ行の処理済みデータＡ０１〜Ａ０Ｍが格納されている。
【００７４】
図１４は、続いて、処理前画像データＳ０の２ライン目すなわちＢ行が処理される際に、一時記憶部２４０に記憶されたデータの態様およびメモリ２９０に記憶された処理済画像データＳ１を示す。
【００７５】
まず、ステップ１に示すように、２つのバッファの１番目のマスにデータが入力される。第２のバッファ２６０には、第１の入力部２２２により処理前画像データＳ０のＢ行の最も先頭の画素（画素Ｂ１）が入力される。同時に、第１のバッファ２５０には、第２の入力部２２４によりメモリ２９０から、Ｂ行の前の行（Ａ行）の最も先頭の画素（Ａ１）の処理済みデータとして、Ａ行の最も先頭の画素Ａ０１が入力される。
【００７６】
出力部２７０は、演算処理用のデータとして、第１のバッファ２５０と第２のバッファ２６０の左端および右端のマスのデータを読み出して処理実行部２８０に供する。データが入力されていない５番目のマスについては０を出力する。これに伴い、第１のバッファ２５０と第２のバッファ２６０は左方向へ１画素分シフトされる。また、処理実行部２８０は、出力部２７０から供されるデータを用いて演算処理をし、その演算結果を処理済みのデータＢ０１としてメモリ２９０に出力するとともに、第２のバッファ２６０の２番目のマスに入力する。そして、次の演算処理のために、第１の入力部２２２は、メモリ２１０から次の注目画素Ｂ２を第２のバッファ２６０の１番目のマスに入力し、第２の入力部２２４はメモリ２９０から、画素Ａ２の処理済みデータとして、画素Ａ０２を第１のバッファ２５０の１番目のマスに入力する。このときの状態は、図１４のステップ２に示す。
【００７７】
このように、第２のバッファ２６０の１番目のマスにメモリ２１０から読み出された注目画素の入力と、第１のバッファ２５０の１番目のマスにメモリ２９０から読み出された、注目画素の前のラインにおける同じ主走査方向位置にある画素の処理済みデータの入力と、２つのバッファの１番目と５番目のデータを用いた演算処理と、２つのバッファの左方向へのシフトと、第２のバッファ２６０の２番目のマスおよびメモリ２９０への演算結果の入力が繰り返される。ステップ３では、注目画素Ｂ５が第２のバッファ２６０の１番目のマスに入力されており、第２のバッファ２６０の５番目〜２番目のマスには、Ｂ１〜Ｂ４の画素の処理済みデータＢ０１〜Ｂ０４が格納されている。また、第１のバッファ２５０の５番目〜１番目のマスには、Ａ１〜Ａ５の処理済みデータＡ０１〜Ａ０５が格納されている。
【００７８】
Ｂ５を注目画素とした処理の結果、ステップ４に示すように、第２のバッファ２６０の５番目〜２番目のマスには、Ｂ２〜Ｂ５の画素の処理済みデータＢ０２〜Ｂ０５が格納され、１番目のマスには次の注目画素Ｂ６のデータが入力される。また、このとき、メモリ２９０にはＡ０１〜Ａ０ＭおよびＢ０１〜Ｂ０５が格納されている。
【００７９】
Ｂ行に対する演算処理が進み、Ｂ行の最後の画素ＢＭに対する演算処理が終了した際に、２つのバッファがクリアされる。
【００８０】
副走査順に各行に対してこのような処理が繰り返され、処理前画像データＳ０の全てのデータが演算処理される。
【００８１】
図１５は、画像処理装置２００における処理のフローチャートである。画像処理装置２００は、メモリ２１０に記憶された画像データに対して演算処理をするのにあたり、まず、第１の入力部２２２と第２の入力部２２４により、第１のバッファ２５０と第２のバッファ２６０の１番目のマスにそれぞれ１画素の入力がなされる（Ｓ２００、Ｓ２１０、Ｓ２２０）。ここで、第１の入力部２２２はメモリ２１０から注目画素のデータ（処理前データ）ｗ０を読み出して入力し、第２の入力部２２４メモリ２９０から、注目画素の前のラインにおける同じ主走査方向位置にある画素の処理済みデータｗ１を読み出して入力する。なお、注目画素が処理前画像データＳ０のもっとも上のライン（Ａライン）にある場合には、第２の入力部２２４は、入力をしないか、データｗ１として「０」を第１のバッファ２５０に入力する。
【００８２】
出力部２７０は、演算処理に用いるデータを取得する位置ここでは第１のバッファ２５０と第２のバッファ２６０の１番目と５番目のマスから計４つのデータを読み出して処理実行部２８０に出力する（Ｓ２３０）。それに伴い、２つのバッファはそれぞれ１マス左にシフトされる（Ｓ２４０）。処理実行部２８０は、演算処理を行い、その結果（注目画素の処理済みデータ）をデータｗ２として第２のバッファ２６０の２番目のマスに入力する（Ｓ２４４）。なお、処理実行部２８０は、演算処理の結果をメモリ２９０にも出力する。ステップＳ２２０で第１の入力部２２２により第２のバッファ２６０に入力したデータがそのラインの最後の画素ではない場合（Ｓ２５０：Ｎｏ）には、この画素と同じラインにおける次の画素を注目画素として（Ｓ２６０）、ステップＳ２２０〜ステップＳ２４４の処理が繰り返される。一方、ステップＳ２２０で第１の入力部２２２により第２のバッファ２６０に入力したデータがそのラインの最後の画素である場合（Ｓ２５０：Ｙｅｓ）には、２つのバッファがクリアされ、次のラインの各画素に対してステップＳ２１０〜ステップＳ２６０の処理が順次なされる（Ｓ２８０：Ｎｏ、Ｓ２９０、Ｓ２１０〜Ｓ２６０）。そして、最後のラインの末尾の画素を注目画素とする演算処理の終了（Ｓ２８０：Ｙｅｓ）をもって、処理前画像データＳ０に対する処理が終了する。
【００８３】
このように、画像処理装置２００は、演算処理の際に用いられるデータが処理前の画像データと処理済の画像データが混在する場合において、画像処理装置１００と同じように中間記憶装置として機能するバッファの容量を抑制しつつ回路規模の増大を抑制することができる。ここでさらに、画像処理装置２００において演算処理を行う際のメモリアクセスについて考える。
【００８４】
図１６は、画像処理装置２００において、一度の演算処理におけるメモリアクセスおよびその回数を示す。図中丸はメモリアクセスを示し、同時に行うことができるメモリアクセスについては同じ回にカウントしている。
【００８５】
図１６に示すように、画像処理装置２００では、一度の演算処理につき、処理前データを記憶するメモリ２１０から１画素をデータｗ０として読み出すためのアクセスと、処理済みデータを記憶するメモリ２９０から１画素をデータｗ１として読み出すためのアクセスと、演算処理の結果すなわち処理済みのデータｗ２をメモリ２９０に書き込むためのアクセスが必要である。メモリ２１０からデータｗ０を読み出すためのアクセスと、メモリ２９０からデータｗ１を読み出すためのアクセスが同時に行うことができるので、同じ回（１回）にカウントされている。すなわち、画像処理装置２００において、一度の演算処理につき２回のメモリアクセスがなされている。
【００８６】
ここで、特許文献１に記載の技術を用いて画像処理装置２００による演算処理を行う場合について考える。この場合の装置を画像処理装置１０ａとして図１７に示す構成が考えられる。図１７において、図１９に示す画像処理装置１０において同じ機能を担うブロックについては図１９と同じ符号を付与する。また、ライン復元部２０によりライン復元された処理済みのデータは、メモリ１３に格納されるとする。
【００８７】
前述した通りこの演算処理に必要なデータは、処理前のデータ（注目画素のデータ）が１つ、処理済みのデータが３つを用いる。そのため、図１８に示すように、画像処理装置１０ａでは、１度の演算処理のために、処理前データを記憶するページメモリ１２から１画素を読み出すための１回のアクセスと、処理済みデータを記憶するメモリ１３から３つの画素をそれぞれ読み出すための３回のアクセスと、演算処理の結果をメモリ１３に書き込むための１回のアクセスが必要である。ここで、メモリ１２から読出しを行うためのアクセスと、メモリ１３から読出しを行うための３回のアクセスのうちの最初回が同時に行うことができるとし、同じ回（１回）にカウントされるとしても、画像処理装置１０ａにおいて、一度の演算処理につき４回のメモリアクセスがなされている。演算処理用のデータを取得するためのメモリアクセスの回数が多いほど１度の演算処理に費やす時間が長くなるため、図１７に示すような構成では高速性に欠けるという問題がある。
【００８８】
それに対して、本発明の第２の実施の形態となる画像処理装置２００は、１度の演算処理にデータを取得するためのメモリアクセスが２回しかないので、高速な処理ができる。
【００８９】
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、さまざまな変更、増減を加えてもよい。これらの変更、増減が加えられた変形例も本発明の範囲にあることは当業者に理解されるところである。
【００９０】
たとえば、上述した実施の形態において、処理実行部の処理単位に応じてバッファの構成単位（マス）を１画素としているが、画像処理の処理単位が１画素ではない場合には、その処理単位に応じた構成単位を用いればよい。たとえば、１Ｂｙｔｅのデータを４つを用いる画像処理の場合において１マスを１Ｂｙｔｅにし、シフトする際には１Ｂｙｔｅ分シフトすればよい。
【００９１】
また、上述した実施の形態において、一時記憶部として、バッファの代わりにシフトレジスタを用いてもよい。
【００９２】
また、本発明の実施の形態となる画像処理装置１００および画像処理装置２００において、様々な処理を行う機能ブロックとして記載された各要素は、ハードウェア的には、プロセッサ、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メモリにロードされた予約管理機能のあるプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００９３】
たとえば、ハードディスク装置などの記憶媒体にオペレーティングシステムと共同してＣＰＵに命令を与えるシステムにおいて、画像処理装置１００および画像処理装置２００の各部の機能を実施するためのコンピュータ・プログラムをこのハードディスク装置上に展開され、ＣＰＵが当該プログラムにしたがって処理を行い、他のハードウェア構成と協働することによって、各機能ブロックが構成されてもよい。
【００９４】
また、図６および図９のフローチャートに示される処理手順は、ＣＰＵにおいて所定のプログラムが実行されることで実現されている。なお、これらのシステムは、単一のコンピュータでなくとも、複数のコンピュータによって構成することも可能である。
【００９５】
また、中間記憶装置としてのバッファやシフトレジスタなどは、ソフトウェアたとえばライブラリとして構成してもよい。
【図面の簡単な説明】
【００９６】
【図１】本発明にかかる第１の実施の形態による画像処理装置の構成を示すブロック図である。
【図２】図１に示す画像処理装置における処理実行部が用いる注目画素と参照画素の関係を示す図である。
【図３】図１に示す画像処理装置における一時記憶部の構成を示す図である。
【図４】図１に示す画像処理装置に用いられる処理前画像データを示す図である。
【図５】図１に示す画像処理装置における入力部と出力部の動作を説明するための図である。
【図６】図１に示す画像処理装置の処理の流れを示すフローチャートである。
【図７】図１に示す画像処理装置の他の態様を説明するための図である（その１）。
【図８】図１に示す画像処理装置の他の態様を説明するための図である（その２）。
【図９】本発明の第２の実施の形態による画像処理装置の構成を示すブロック図である。
【図１０】図９に示す画像処理装置における処理実行部が用いる注目画素と参照画素の関係を示す図である。
【図１１】図９に示す画像処理装置における一時記憶部の構成を示す図である。
【図１２】図９に示す画像処理装置に用いられる処理前画像データを示す図である。
【図１３】図９に示す画像処理装置における第１の入力部と第２の入力部および出力部の動作を説明するための図である（その１）
【図１４】図９に示す画像処理装置における第１の入力部と第２の入力部および出力部の動作を説明するための図である（その１）
【図１５】図９に示す画像処理装置の処理の流れを示すフローチャートである。
【図１６】図９に示す画像処理装置のメモリアクセスを説明するための図である。
【図１７】従来技術の画像処理装置がとり得る構成を示すブロック図である。
【図１８】図１７に示す構成の画像処理装置のメモリアクセスを説明するための図である。
【図１９】従来の画像処理装置の構成を示す図である。
【図２０】図１９に示す画像処理装置の画像オーバーラップ読出機能を説明するための図である。
【図２１】図１９に示す画像処理装置において読み出す必要のあるオーバーラップ画素の数の例を示す。
【図２２】演算処理の例を説明するための図である。
【図２３】図２２に示す演算処理を図１９に示す画像処理装置で行う際に読み出す必要のあるオーバーラップ画素の数を説明するための図である。
【符号の説明】
【００９７】
１０  画像処理装置、  １２  ページメモリ、  １３  メモリ、  １４  セグメント読出部、  １８  画像処理ＡＳＩＣ、  ２０  ライン復元部、  ２２  セグメントメモリ、  ２４  セグメントメモリ、  ２６  画像処理部、  １００  画像処理装置、  １１０  メモリ、  １２０  入力部、  １３０  演算処理チップ、  １４０  一時記憶部、  １５０  第１のバッファ、  １６０  第２のバッファ、  １７０  出力部、  １８０  処理実行部、  １９０  メモリ、  ２００  画像処理装置、  ２１０  メモリ、  ２２２  第１の入力部、  ２２４  第２の入力部、  ２３０  演算処理チップ、  ２４０  一時記憶部、  ２５０  第１のバッファ、  ２６０  第２のバッファ、  ２７０  出力部、  ２８０  処理実行部、  ２９０  メモリ、  ３００  画像処理装置。
【図１】
2008072585.tif 000006
【図２】
2008072585.tif 000007
【図３】
2008072585.tif 000008
【図４】
2008072585.tif 000009
【図５】
2008072585.tif 000010
【図６】
2008072585.tif 000011
【図７】
2008072585.tif 000012
【図８】
2008072585.tif 000013
【図９】
2008072585.tif 000014
【図１０】
2008072585.tif 000015
【図１１】
2008072585.tif 000016
【図１２】
2008072585.tif 000017
【図１３】
2008072585.tif 000018
【図１４】
2008072585.tif 000019
【図１５】
2008072585.tif 000020
【図１６】
2008072585.tif 000021
【図１７】
2008072585.tif 000022
【図１８】
2008072585.tif 000023
【図１９】
2008072585.tif 000024
【図２０】
2008072585.tif 000025
【図２１】
2008072585.tif 000026
【図２２】
2008072585.tif 000027
【図２３】
2008072585.tif 000028