(57)【特許請求の範囲】
【請求項１】
データを入力して所定の処理をそれぞれ行い、該処理の結果である出力データを後段の画像処理ブロックに対する入力データとしてそれぞれ送出することによってパイプライン処理を行う複数段の画像処理ブロックを備えた画像処理装置であって、
第１の画像処理ブロックと、当該第１の画像処理ブロックの次段の第２の画像処理ブロックと、バッファメモリと、ＦＩＦＯメモリとを有し、
第１の画像処理ブロックは、当該画像処理ブロックでの処理結果である出力データを所定データ量の単位毎に順次前記バッファメモリを介して第２の画像処理ブロックに１又は複数渡し、前記バッファメモリ内の前記出力データの格納位置を示すポインタと第２の画像処理ブロックで実行すべき処理を指定するコマンドとを、順次前記ＦＩＦＯメモリを介して第２の画像処理ブロックに渡す構成を有し、
前記ＦＩＦＯメモリは、前記バッファメモリのデータ格納容量に応じて段数が決定され、且つ対応する画像処理ブロックの処理能力に応じて前記段数が変更可能に構成されていることを特徴とする画像処理装置。
【請求項２】
データを入力して所定の処理をそれぞれ行い、該処理の結果である出力データを後段の画像処理ブロックに対する入力データとしてそれぞれ送出することによってパイプライン処理を行う複数段の画像処理ブロックを備えた画像処理装置であって、
第１の画像処理ブロックと、当該第１の画像処理ブロックの次段の第２の画像処理ブロックと、バッファメモリと、ＦＩＦＯメモリとを有し、
第１の画像処理ブロックは、当該画像処理ブロックでの処理結果である出力データを所定データ量の単位毎に順次前記バッファメモリに１又は複数格納し、前記所定データ量の単位毎に対応した前記バッファメモリ内の前記出力データの格納位置を示すポインタと第２の画像処理ブロックで実行すべき処理を指定するコマンドとを順次前記ＦＩＦＯメモリに格納し、
第２の画像処理ブロックは、前記ＦＩＦＯメモリから順次ポインタとコマンドとを読み出し、
該ポインタに基づいて前記バッファメモリから出力データを読み出し、該出力データに基づいて前記コマンドで指定された処理をする構成を有し、
前記ＦＩＦＯメモリは、前記バッファメモリのデータ格納容量に応じて段数が決定され、且つ対応する画像処理ブロックの処理能力に応じて前記段数が変更可能に構成されていることを特徴とする画像処理装置。
【請求項３】
前記バッファメモリと前記ＦＩＦＯメモリとは、対応する画像処理ブロックの処理能力に応じて、前記バッファメモリのデータ格納容量と前記ＦＩＦＯメモリの段数とがそれぞれ変更可能に構成され、
前記ＦＩＦＯメモリは、前記ＦＩＦＯメモリに記憶されているデータ単位数（現記憶ワード数）を観測するＦＩＦＯ部を備えることを特徴とする請求項１又は請求項２記載の画像処理装置。
【請求項４】
前記ＦＩＦＯ制御部は、段数設定レジスタと、現記憶ワードカウンタと、前記段数設定レジスタの出力と前記記憶ワードカウンタの出力とを入力とする比較器と、比較器の出力とカウンタと当該ＦＩＦＯメモリの各段の保持すべきデータを選択するセレクタとに接続された制御ロジック部とを備え、
ハードウエアが確定した後であっても、ＦＩＦＯメモリの使用可能段数を変更可能に構成され、設定段数に応じた制御を行なう
ことを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記バッファメモリはランダム・アクセス・メモリで構成され、
前記ＦＩＦＯメモリは論理回路で構成される
ことを特徴とする請求項１ないし４記載の画像処理装置。
【請求項６】
前記複数の画像処理ブロックに対応する前記バッファメモリを同一のランダム・アクセス・メモリ中に設け、
前記複数の画像処理ブロックからの前記ランダム・アクセス・メモリへのアクセスを調停する調停手段を備えたことを特徴とする請求項５記載の画像処理装置。
【請求項７】
被複写物を走査して入力画像データを生成する画像入力部と、当該画像入力部で生成した入力画像データと予め登録した登録パターンとをパターンマッチングし前記被複写物の印刷の可否を判断する画像処理部と、当該画像処理部での判断結果に応じて前記被複写物を印刷するプリンタと、を備えた複写装置であって、
請求項１ないし６記載の画像処理装置を、前記画像処理部で前記パターンマッチングを行う処理部に適用したことを特徴とする複写装置。
【請求項８】
前記画像処理装置は、ハードウエアで構成されることを特徴とする請求項７記載の複写装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像処理装置に関するものであり、詳しくは処理を分割しパイプライン処理により高速化をした画像処理装置に関するものであり、例えばカラー複写装置において複写禁止物を検出する等に応用される画像処理装置、及び当該画像処理装置を備えた複写装置に関するものである。
【０００２】
【従来の技術】
図２は、従来の画像処理装置の一例であるカラー複写装置を示す概略構成図である。カラー複写装置には紙幣等の複写を禁止されているものを複写しようとしたとき、複写物禁止物を検出し、複写を止める機能が備えられている。
【０００３】
この画像処理装置を含む複写装置は、被複写物を走査して入力画像データS1を出力するスキャナ1を有している。スキャナ1の出力側には、画像処理部2および印刷処理部（HOST）3が接続されている。印刷処理部3は、入力画像データS1を入力し、印刷用出力データS3として出力する機能を有している。印刷処理部3の出力側には、印刷用出力データS3を入力して印刷するプリンタ4が接続されている。印刷処理部3は印刷処理の他、スキャナの制御、プリンタの制御、画像処理部2の全体制御をするコンピュータを含んでいるためホスト（HOST）と呼ばれる。以下ではHOST3という。
【０００４】
画像処理部2は、例えばマイクロコンピュータ等で構成され、入力画像データS1を入力してプログラムに基づいた所定の処理を行い、あらかじめ登録された登録画像と一致するか否かを判定し判定信号S2を出力する。あるいは画像処理部2はHOST3のコンピュータ上で動作するプログラムで実現されていることもある。その場合もプログラムである画像処理部2より判定信号S2が出力される。
【０００５】
この画像処理装置では、例えば紙幣等、複写すべきでないものの画像が登録パターンとして予め登録され、入力画像データS1に登録パターンと一致する部分が含まれているとき、判定信号S2がアクティブになり、 HOST3はこれによりプリンタ4を停止させたり、印刷用出力データS3を変化させ正常な複写が得られないようにすることにより、複写が得られないようにする。
【０００６】
【発明が解決しようとする課題】
しかしながら、従来の画像処理装置では、次のような課題があった。
【０００７】
例えば画像処理部2における処理がプログラムに基づいて行われる場合には、処理速度がスキャナ1やプリンタ4の動作速度に対して遅い。そのため画像処理部2の処理が終わるまでスキャナやプリンタを待たせておかなければならなかった。これではスキャナやプリンタの高速性を活かせないという問題があった。このため画像処理部2を、スキャナ1やプリンタ4の動作速度にも充分対応できる処理速度を達成する必要があるという課題があった。また、スキャナ1が被複写物を走査し終わって、入力画像データS1が揃ってから処理するのでなく、走査と平行して連続的に画像処理を行うことが求められた。
【０００８】
また画像処理部2における処理が、ハードウエアによって行われる場合にも、大量の画像処理データをどのように内部で受け渡しをするかが問題であった。また、入力画像データの仕様変更（例えばビット長、データ長、フォーマット等の変更）、画像処理仕様の変更、それらに伴って内部で渡されるデータ仕様の変更等に対してハードウエアがどのように柔軟に対応するかも問題であった。一般に上記問題に応えるにはそれに応じたコストや動作上のオーバーヘッドが必要となる。しかしながら、上記問題と同時に、また経済性の面では最適化された無駄の無い必要最小限のハードウエアにする必要もあり、また性能面では全体として高速なスループットの良好な画像処理装置および複写装置を実現することが必要であり、これらの相反する問題をどのように解決するかが課題であった。
【０００９】
【課題を解決するための手段】
前記課題を解決するために、本願発明の画像処理装置は、データを入力して所定の処理をそれぞれ行い、該処理の結果である出力データを後段の画像処理ブロックに対する入力データとしてそれぞれ送出することによってパイプライン処理を行う複数段の画像処理ブロックを備えた画像処理装置であって、第１の画像処理ブロックと、当該第１の画像処理ブロックの次段の第２の画像処理ブロックと、バッファメモリと、ＦＩＦＯメモリとを有し、第１の画像処理ブロックは、当該画像処理ブロックでの処理結果である出力データを所定データ量の単位毎に順次前記バッファメモリを介して第２の画像処理ブロックに１又は複数渡し、前記バッファメモリ内の前記出力データの格納位置を示すポインタと第２の画像処理ブロックで実行すべき処理を指定するコマンドとを、順次前記ＦＩＦＯメモリを介して第２の画像処理ブロックに渡す構成を有し、前記ＦＩＦＯメモリは、前記バッファメモリのデータ格納容量に応じて段数が決定され、且つ対応する画像処理ブロックの処理能力に応じて前記段数が変更可能に構成されていることを特徴とする。
【００１０】
また、データを入力して所定の処理をそれぞれ行い、該処理の結果である出力データを後段の画像処理ブロックに対する入力データとしてそれぞれ送出することによってパイプライン処理を行う複数段の画像処理ブロックを備えた画像処理装置であって、第１の画像処理ブロックと、当該第１の画像処理ブロックの次段の第２の画像処理ブロックと、バッファメモリと、ＦＩＦＯメモリとを有し、第１の画像処理ブロックは、当該画像処理ブロックでの処理結果である出力データを所定データ量の単位毎に順次前記バッファメモリに１又は複数格納し、前記所定データ量の単位毎に対応した前記バッファメモリ内の前記出力データの格納位置を示すポインタと第２の画像処理ブロックで実行すべき処理を指定するコマンドとを順次前記ＦＩＦＯメモリに格納し、第２の画像処理ブロックは、前記ＦＩＦＯメモリから順次ポインタとコマンドとを読み出し、該ポインタに基づいて前記バッファメモリから出力データを読み出し、該出力データに基づいて前記コマンドで指定された処理をする構成を有し、前記ＦＩＦＯメモリは、前記バッファメモリのデータ格納容量に応じて段数が決定され、且つ対応する画像処理ブロックの処理能力に応じて前記段数が変更可能に構成されていることを特徴とする。
【００１２】
また、前記バッファメモリと前記ＦＩＦＯメモリとは、対応する画像処理ブロックの処理能力に応じて、前記バッファメモリのデータ格納容量と前記ＦＩＦＯメモリの段数とがそれぞれ変更可能に構成され、前記ＦＩＦＯメモリは、前記ＦＩＦＯメモリに記憶されているデータ単位数（現記憶ワード数）を観測するＦＩＦＯ部を備えることを特徴とする。
【００１３】
また、前記ＦＩＦＯ制御部は、段数設定レジスタと、現記憶ワードカウンタと、前記段数設定レジスタの出力と前記記憶ワードカウンタの出力とを入力とする比較器と、比較器の出力とカウンタと当該ＦＩＦＯメモリの各段の保持すべきデータを選択するセレクタとに接続された制御ロジック部とを備え、ハードウエアが確定した後であっても、ＦＩＦＯメモリの使用可能段数を変更可能に構成され、設定段数に応じた制御を行なうことを特徴とする。
【００１４】
また、前記バッファメモリはランダム・アクセス・メモリで構成され、前記ＦＩＦＯメモリは論理回路で構成されることを特徴とする。
【００１５】
また、前記複数の画像処理ブロックに対応する前記バッファメモリを同一のランダム・アクセス・メモリ中に設け、前記複数の画像処理ブロックからの前記ランダム・アクセス・メモリへのアクセスを調停する調停手段を備えたことを特徴とする。
【００１６】
更に、本願発明の複写装置は、被複写物を走査して入力画像データを生成する画像入力部と、当該画像入力部で生成した入力画像データと予め登録した登録パターンとをパターンマッチングし前記被複写物の印刷の可否を判断する画像処理部と、当該画像処理部での判断結果に応じて前記被複写物を印刷するプリンタと、を備えた複写装置であって、請求項１ないし６記載の画像処理装置を、前記画像処理部で前記パターンマッチングを行う処理部に適用したことを特徴とする。
【００１７】
そして、本願発明の複写装置は、前記画像処理装置は、ハードウエアで構成されることを特徴とする。
【００１８】
【発明の実施の形態】
図１は、本発明の実施形態を示す画像処理装置の概略の構成図である。
【００１９】
この画像処理装置は、被複写物を走査して登録パターンとのパターンマッチング処理の対象となる入力画像データS10を出力する画像入力部（例えば、スキャナ）10を有している。スキャナ10の出力側には、画像処理部20が接続されている。画像処理部20は、FIFO21を有している。FIFO21は、入力画像データS10から画素データを順次取り込んで記憶し、該取り込んだ順序と同一の順序で画素データを出力する。これが第１の処理データS21である。この処理データS21は入力画像データと同じである。FIFO21の目的は後段の処理で待ちが発生しても画像処理部へのスムースな入力を可能にするものである。FIFO21の出力側には、１段目の画像処理ブロック（例えば、解像度変換部）22が接続されている。解像度変換部22は、FIFO21の出力の第1の処理データS21を入力して解像度・輝度・色相を所定の方法で変換する。変換された結果が第2の処理データS22aである。このデータは調停部29を介してメモリ40の中の第１のバッファ（例えば、イメージバッファ、以下、「ＩＭバッファ」という）40aに書き込まれる。ＩＭバッファ40aには所定のライン数単位で記憶される。
【００２０】
解像度変換部22の出力側には、第１のFIFO23が接続されている。FIFO23には、ＩＭバッファ40a内に記憶された、所定のライン数を単位とした第２の処理データ（この例では解像度変換の結果）を示す第１のポインタ（例えば処理データの最初のアドレス）と、この処理データに対する次段の画像処理ブロックの処理内容を指定するコマンドが組にして書き込まれる（FIFO23へのライト動作）。解像度変換部22が例えば４単位の処理データをＩＭバッファに書いた場合は、各処理データに対応する４組のコマンドとポインタの組がFIFO23に書かれる。また、FIFO23からは現在何ワードのデータ（コマンドとポインタの組）が記憶されているかを表す信号（現記憶ワード数という）S23-6が外部出力端子TP1〜TP3に出力されており、外部で観測することができる。FIFO23の出力側には、２段目の画像処理ブロック（この例では特徴抽出部）24が接続されている。特徴抽出部24は、FIFO23よりコマンド及びポインタを取り出す（FIFO23のリード動作）。ポインタによりメモリ40内のＩＭバッファ40aを参照し、第2の処理データである解像度変換の結果を読み出して所定の特徴抽出を行う。特徴抽出結果は所定量をまとめ第3の処理データとし、調停部29を介してメモリ40の中の第2のバッファ（例えば、特徴抽出バッファ、以下、「ＦＥバッファ」という）40b に書き込む。
【００２１】
特徴抽出部24の出力側には、第２のFIFO25が接続されている。FIFO25には、メモリ40中のＦＥバッファ内 の処理データの位置を示す第2のポインタ（例えば、処理データの最初のアドレス）と次の段の画像処理へのコマンドが組にして書き込まれる。また、FIFO25からは現記憶ワード数S25-6が外部出力端子TP5〜TP7に出力されており、外部で観測することができる。FIFO25の出力側には、３段目の画像処理ブロック（例えば、パターンマッチング部）26が接続されている。パターンマッチング部26は、FIFO25よりコマンド及びポインタを読み出す。この例ではポインタはメモリ40のアドレスである。このアドレスによりメモリ40の中のＦＥバッファ40bに記憶された第3の処理データである特徴抽出結果を参照する。特徴抽出結果と登録画像の特徴量を基に作成した比較データを比べる。比較データを集めたものがデータベースと呼ばれ。データベースはメモリ40の中のＤＢバッファ40cに記憶されている。比較はFIFO25から読んだコマンドとポインタの一つの組に対応する特徴抽出結果の集まりとＤＢバッファに記憶されたデータの集まりの全ての組み合わせについて行われる。パターンマッチングの結果は第4の処理データとして調停部29を介してメモリ40の中の第3のバッファ（「ＰＭバッファ」という）40dに記憶される。
【００２２】
パターンマッチング部26の出力側には、第3のFIFO27が接続されている。FIFO27には、メモリ40中のＰＭバッファ40d内の処理データの位置を示す第３のポインタ（例えば、処理データの最初のアドレス）と次の段の画像処理へのコマンドが組にして書き込まれる。また、FIFO27からは現記憶ワード数S27-6が外部出力端子TP9〜TP11に出力されており、外部で観測することができる。
【００２３】
FIFO27の出力側はインタフェース28を介して第４の画像処理ブロック（例えば、ＭＣＵ）50に接続されている。 更に、ＭＣＵ50はインターフェース28、調停部29を介してメモリ40に接続されている。ＭＣＵ50はメモリ31及びメモリ60に記憶されたプログラムやデータにより、画像処理の最終段の詳細マッチングを行う。詳細マッチングではFIFO27よりコマンドとポインタを読み出す。この例ではポインタはメモリ40のアドレスである。このアドレスによりメモリ40の中のＰＭバッファ40dに記憶されたパターンマッチング結果を参照する。 詳細マッチングの結果、登録画像と一致する画像が入力画像に含まれていると判断すると、ＭＣＵ50は制御部30より判定信号S20を出力する。
【００２４】
メモリ40は、所定の記憶容量を有するＳＲＡＭ（Static Random Access Memory）等で構成され、ＩＭバッファ40a、ＦＥバッファ40b、ＤＢバッファ40c、及びＰＭバッファ40dを収容している。ＩＭバッファ40a、ＦＥバッファ40b、及びＰＭバッファ40dは、解像度変換部22、特徴抽出部24、パターンマッチング部26の処理内容や処理能力に応じて、あるいは当該バッファへの書込み側処理ブロックのスループットと読み出し側処理ブロックのスループットとの相対的な関係において、あるいはパイプライン処理全体としての処理速度に応じて、それぞれ適当な所定の容量に設定される。調停部29は、解像度変換部22、特徴抽出部24、パターンマッチング部26及びインタフェース28からのメモリ40に対するアクセスを予め決められた優先順序で調停する機能を有している。制御部30は、全体を制御するとともにHOST70と接続され判定信号S20を出力するものである。メモリ31は、例えばＲＯＭ（Read Only Memory）等で構成され、ＭＣＵ50のプログラム等を記憶するものである。メモリ60は、例えばＤＲＡＭ（Dynamic Random Access Memory）等で構成され、ＭＣＵ50における作業用データやプログラム等を記憶するものである。更に、スキャナ10の出力側はHOST70が接続されている。HOST70は、入力画像データS10を入力し、判定信号S20がノンアクティブのときに印刷用出力データS70をプリンンタ80に出力する。
【００２５】
図３は、図１中のFIFO23の一例を示す概略の構成図である。
【００２６】
このFIFO23は、３入力１出力のマルチプレクサ（以下、「ＭＵＸ」という）23-1a，23-2a，23-3a，23-4aを有している。ＭＵＸ23-1a，23-2a，23-3a，23-4aの第１の入力側には、入力データS22dが入力されるようになっている。入力データS22dはアドレスS22cとコマンドS22bからなる。ＭＵＸ23-1a，23-2a，23-3a，23-4aの各出力側には、レジスタ23-1b，23-2b，23-3b，23-4bがそれぞれ接続されている。レジスタ23-1b，23-2b，23-3b，23-4bは、ＭＵＸ23-1a，23-2a，23-3a，23-4aの出力信号S23-1a，S23-2a，S23-3a，S23-4aを入力して保持し、出力信号S23，S23-2b，S23-3b，S23-4bを出力するものである。レジスタ23-1bの出力はＭＵＸ23-1aの第３の入力側に接続されている。レジスタ23-2bの出力は、ＭＵＸ23-1aの第２の入力側に接続されると共に、ＭＵＸ23-2aの第３の入力側に接続されている。レジスタ23-3bの出力は、ＭＵＸ23-2aの第２の入力側に接続されると共に、ＭＵＸ23-3aの第３の入力側に接続されている。レジスタ23-4bの出力は、ＭＵＸ23-3aの第２の入力側に接続されると共に、ＭＵＸ23-4aの第３の入力側に接続されている。ＭＵＸ23-4aの第２の入力側には、“０”が入力されるようになっている。ＭＵＸ23-1a，23-2a，23-3a，23-4aの制御信号入力端子には、FIFO制御部23-5が接続されている。 FIFO制御部23-5は、制御信号S30bに接続される段数設定レジスタ23-7、現記憶ワード数カウンタ23-6、現使用段数S23-6と設定された段数S23-7を比較する比較器23-8、制御ロジック回路23-9を有し、段数設定レジスタ23-7に設定された段数により、この実施形態では深さが1段から4段までのFIFOとして動作する。また、現在の段数は現使用段数S23-6により外部に出力される。制御ロジック回路23-9にはFIFOのライト信号S23-5a、FIFOのリード信号S23-5b、比較器23-8の比較結果S23-8が入力され、また、現記憶ワード数カウンタ23-6のカウントアップ信号S23-6a、カウントダウン信号S23-6b、リセット信号S23-6cを出力し、 MUX23-1a、 MUX23-2a、 MUX23-3a、 MUX23-4aのそれぞれの選択信号S23-1c、 S23-2c、 S23-3c、 S23-4cを出力する。
【００２７】
FIFOの段数の深さは、解像度変換部22、特徴抽出部24、パターンマッチング部26等の処理内容に応じて、あるいは当該バッファへの書込み側処理ブロックのスループットと読み出し側処理ブロックのスループットとの相対的な関係において、あるいはパイプライン処理全体としての処理速度に応じて、それぞれ適当な所定の段数に設定される。また、FIFOの扱うことのできるデータ（例えばS22d）の幅は、取り扱うデータのビット幅に対応して必要に応じて変更される。
【００２８】
このFIFO23が1段の深さのFIFOとして設定された場合、現記憶ワード数カウンタ23-6がゼロ、すなわちレジスタ23-1bにデータが入っていないときにFIFOのライトがされると、選択信号S23-1cにより、MUX23-1aは入力データS22dを選択し、データはレジスタ23-1bに書き込まれる。同時にカウントアップ信号S23-6aにより現記憶ワード数カウンタ23-6は１になる。そして、FIFOがリードされるとデータはS23が読まれ、カウントダウン信号S23-6bにより現記憶ワード数カウンタ23-6は１から０になる。
【００２９】
FIFO23が2段の深さのFIFOとして設定された場合の動作について説明する。この場合レジスタ23-1bとレジスタ23-2bがデータの記憶に使われる。先ずライト動作について説明する。現記憶ワード数カウンタ23-6がゼロ、すなわちレジスタ23-1bにもレジスタ23-1bにもデータが入っていないとき、選択信号S23-1cにより、MUX23-1aは入力データS22dを選択し、データはレジスタ23-1bに書き込まれる。現記憶ワード数カウンタ23-6はカウントアップされ０から１になる。次に、現記憶ワード数カウンタ23-6が１、すなわちレジスタ23-1bにデータが既に入っており、レジスタ23-2bはデータが入っていないときは、選択信号S23-2cにより、MUX23-2aは入力データS22dを選択し、データはレジスタ23-2bに書き込まれる。現記憶ワード数カウンタ23-6はカウントアップされ１から２になる。このときMUX23-1aは選択信号S23-1cによりS23を選択しデータを保持している。次にリード動作について説明する。現記憶ワード数カウンタ23-6が２、すなわちレジスタ23-1bとレジスタ23-2bにデータが入っているとき、S23をデータとして読まれる。同時に選択信号S23-1cによりMUX23-1aはS23-2bを選択し、レジスタ23-2bにあったデータがレジスタ23-1bに移る。現記憶ワード数カウンタ23-6はカウントダウン信号S23-6bにより２から１になる。現記憶ワード数カウンタ23-6が１、すなわちレジスタ23-1bのみにデータが入っているとき、S23をデータとして読まれる。現記憶ワード数カウンタ23-6はカウントダウン信号S23-6bにより１から０になる。
【００３０】
現記憶ワード数カウンタ23-6がゼロのときFIFOをリードした場合、または現記憶ワード数カウンタ23-6が段数設定レジスタ23-7に設定された段数のときFIFOをリードした場合は、図では示さないがFIFOが「EMPTY」またはFIFOか「FULL」を表す信号を出力しリードあるいはライト動作が無効なことを知らせる。
【００３１】
FIFO23が３段あるいは4段の深さのFIFOとして設定された場合は、上記2段の場合の説明から理解できるので説明しない。 FIFO25、 FIFO27もFIFO23と同様に構成され、同様の動作をおこなう。 FIFO23、 FIFO25、 FIFO27はそれぞれ独立に、対応するＩＭバッファ、ＦＥバッファ、ＰＭバッファの容量に応じて段数が設定される。
次に、図１の画像処理装置の動作を説明する。スキャナ10において被複写物が走査され、該スキャナ10から入力画像データS10が出力される。入力画像データS10は、順次FIFO21に取り込まれて記憶され、取り込んだ順序と同一の順序で画素データ（第１の処理データ） S21を出力する。
【００３２】
画像データS21は解像度変換部22に入力され、該解像度変換部22により解像度・輝度・色相等が所定の方法で変換される。そして、解像度変換部22から、変換された結果である第2の処理データS22a、該第２の処理データを示す第１のポインタ（例えば処理データの最初のアドレス）及び該処理データに対する次段の画像処理ブロック（特徴抽出部24）の処理内容を指定するコマンド、が所定のライン数単位で出力される。第２の処理データは調停部29を介してメモリ40の中のＩＭバッファ40aに送出され、前記第1のポインタに対応したＩＭバッファ40aに記憶される。第1のポインタ及びコマンドは、所定数のライン毎に組にして順次FIFO23に取り込まれて記憶される。 TP1〜TP3にはFIFO23の現使用段数が出力される。
【００３３】
FIFO23からは、特徴抽出部24によって、取り込まれた順序と同一の順でコマンド及びポインタが出力される。出力されたコマンド及びポインタは特徴抽出部24に入力される。該コマンドが特徴抽出の実行を示すとき、該ポインタに基づきメモリ40中のIMバッファ40aから調停部29を介して第2の処理データが読み出され、特徴抽出部24で所定の特徴抽出が行われる。
【００３４】
そして、特徴抽出部24が実行した結果生成された特徴抽出結果は、所定の量をまとめて第３の処理データとして出力される。加えて、特徴抽出部24からは該第３の処理データを示す第２のポインタ（例えば処理データの最初のアドレス）及び該処理データに対する次段の画像処理ブロック（パターンマッチング部26）の処理内容を指定するコマンドが所定のライン数単位で出力される。第３の処理データは調停部29を介してメモリ40の中のＦＥバッファ40bに送出され、前記第２のポインタに対応したＦＥバッファ40bに記憶される。第２のポインタ及びコマンドは、所定数のライン毎に組にして順次FIFO25に取り込まれて記憶される。 TP5〜TP7にはFIFO25の現使用段数が出力される。
【００３５】
FIFO25からは、パターンマッチング部26によって、取り込まれた順序と同一の順でコマンド及びポインタが出力される。出力されたコマンド及びポインタはパターンマッチング部26に入力される。該コマンドが特徴抽出の実行を示すとき、該ポインタに基づきメモリ40中のＦＥバッファ40bから調停部29を介して第３の処理データが読み出される。一方で、メモリ40の中のＤＢバッファ40cから調停部29を介して比較データが読み出される。パターンマッチング部26では、読み出された第３の処理データの集まりと比較データの集まりについての組み合わせについて比較がされパターンマッチングが行われる。
【００３６】
そして、パターンマッチング部26が実行した結果は第４の処理データとして出力される。加えて、パターンマッチング部26からは該第４の処理データを示す第３のポインタ（例えば処理データの最初のアドレス）及び該処理データに対する次段の画像処理ブロックの処理内容を指定するコマンドが所定のライン数単位で出力される。第４の処理データは調停部29を介してメモリ40の中のＰＭバッファ40dに送出され、前記第３のポインタに対応したＰＭバッファ40dに記憶される。第３のポインタ及びコマンドは、所定数のライン毎に順次FIFO27に取り込まれて記憶される。 TP9〜TP11にはFIFO27の現使用段数が出力される。
【００３７】
FIFO27からは、インタフェース28を介して第４の画像処理ブロック（例えば、ＭＣＵ）50へ、取り込まれた順序と同一の順でコマンド及びポインタが出力される。出力されたコマンド及びポインタはＭＣＵ50に入力される。ＭＣＵ50では該ポインタに基づきメモリ40中のＰＭバッファ40dから調停部29、インダーフェース28を介して第４の処理データ（パターンマッチング結果）が読み出される。そして、該第４の処理データとメモリ31及びメモリ60に記憶されたプログラムやデータとにより詳細マッチングが行われる。
【００３８】
詳細マッチングの結果、登録画像と一致する画像が入力画像に含まれていると判断すると、ＭＣＵ50は制御部30より判定信号S20を出力する。判定信号S20はHOST70に入力され、該判定信号S20がアクティブのときには、HOST70はこれによりプリンタ80を停止させたり、出力画像データS70を変化させ正常な複写が得られないようにすることにより、複写が得られないようにする。該判定信号S20がノンアクティブのときには、該HOST70から出力画像データS70が出力される。出力画像データS70は、プリンタ80に入力されて印刷される。
【００３９】
以上のように、この実施形態では、
（１）解像度変換部22、特徴抽出部24及びパターンマッチング部26等の画像処理ブロック間の処理データの受け渡しをする場合、この場合画像処理で扱うデータであるから一般に大量なデータであるが、直接FIFOを介して受け渡しをしないので大規模なFIFOが不要であり、処理データの仕様（ビット長、データ長、フォーマット等）の変更にも柔軟に対応できる。
【００４０】
（２）また、FIFO23、FIFO25、FIFO27に対しては、ポインタと共に、次段の画像処理ブロック（特徴抽出部24及びパターンマッチング部26等）の処理内容を指定するコマンドが所定のライン数単位で出力されるので、次段の画像処理に対する実行の種類を指定でき、多様な画像処理を実現でき、また画像処理の仕様変更にも柔軟に対応できる。
【００４１】
（３）IMバッファ40a、FEバッファ40b、DBバッファ40c、及びPMバッファ40dは、解像度変換部22、特徴抽出部24及びパターンマッチング部26の処理内容に応じてサイズが調整され、メモリ40は最適なものを選択することができる。また、FIFO23，25，27は、解像度変換部22、特徴抽出部24及びパターンマッチング部26の処理内容に応じて深さが調整され、最適な構成とすることができる。FIFO23，25，27には出力端子TP1，TP2，TP3が備えられ、各FIFO23，25，27の現使用段数が容易に観測され、デバッグ、性能評価、段数を最適に設定するための判断材料の取得、状態チェック等に役立つ。
【００４２】
（４）ＦＩＦＯ制御部は、段数設定レジスタ23-7と、現記憶ワードカウンタ23-6と、前記段数設定レジスタの出力と前記記憶ワードカウンタの出力とを入力とする比較器23-8と、比較器の出力とカウンタと当該ＦＩＦＯの各段の保持すべきデータを選択するセレクタ23-1a、23-2a、23-3a、23-4aとに接続された制御ロジック部23-9とを備え、ハードウエアが確定した後であっても、ＦＩＦＯメモリの使用可能段数が設定できかつ設定段数に応じた制御が可能であるので、ハードウエアをインプリメントした後でも、処理状況に応じて、段数を変更することができ、最適なシステムをソフト的にチューニングすることができる。
【００４３】
（５） IMバッファ40a、FEバッファ40b、DBバッファ40c、及びPMバッファ40dはＲＡＭで構成し、 FIFO23，25，27は論理回路で構成したので、処理データ仕様の変更に伴うデータバッファの容量変更に容易に対応できる。また、ＲＡＭによれば単位ビット当たりのコストも安く経済的である。一方、各FIFOは前後段の画像処理ブロックとは直に接続され、メモリの場合に必要となってくるアクセス処理を経ることもなく直に前後の画像処理ブロックからポインタやコマンドが渡される。その意味で高速である。
【００４４】
（６）複数の画像処理ブロックに対応する、IMバッファ40a、FEバッファ40b、DBバッファ40c、及びPMバッファ40dを同一のＲＡＭ40に設けた上で、前記複数の画像処理ブロックからの前記ＲＡＭ40へのアクセスを調停する調停部29を備えたので、複数のバッファを同一のＲＡＭによって構成することによる、実装スペース、配線、チップコスト等に貢献し経済性を向上させつつも、画像処理ブロック同士のアクセスの競合が回避されて画像処理装置の動作不具合が生ずることがない。また、一の画像処理ブロックは他の画像処理ブロックの状態を知らずしてＲＡＭにアクセスできるから、それぞれの画像処理ブロックの処理の独立性が保たれ、全体としてスループットの良好なパイプラン処理が容易に実現できる。
【００４５】
（７）スキャナ10とHOST70との間に当該画像処理装置20を設けた上で、HOST70からプリンタ80に接続している。これにより、画像処理装置20がスキャナやプリンタの動作を止めることなく走査と平行して連続的に画像処理を行うことができ、全体としてスループットのよい複写装置を得ることができる。また、大量のデータを扱うこのような画像処理を小規模なハードウエアで高速に実現できる。
【００４６】
（８）また（７）において、画像処理部20をハードウエアで構成したので、従来のソフトウェアによる画像処理装置よりも高速でかつ高信頼性で動作する画像処理装置が提供でき、（１）〜（６）の特徴を活かした画像処理装置を用いることで、近年高速化が進んでいるスキャナ10やプリンタ80の処理能力を活かし、全体としてスループットのよい複写装置を得ることができる。
【００４７】
尚、本発明の画像処理装置は、複写装置に限らず、例えば、紙幣の真偽や種類を識別する紙幣識別装置、有価証券の真偽や種類を識別する識別装置等にも適用できる。
【００４８】
【発明の効果】
以上詳細に説明したように、本発明によれば、
（１）画像処理ブロック間の処理データの受け渡しをする場合、画像処理のような一般に大量なデータを、直接FIFOを介して受け渡しをしないので大規模なFIFOが不要であり、処理データの仕様（ビット長、データ長、フォーマット等）の変更にも柔軟に対応できる。
【００４９】
（２）ＦＩＦＯメモリへは、ポインタと共に、次段の画像処理ブロックの処理内容を指定するコマンドが所定のライン数単位で出力されるので、次段の画像処理に対する実行の種類を指定でき、多様な画像処理を実現でき、また画像処理の仕様変更にも柔軟に対応できる。
【００５０】
（３）各バッファメモリは、対応する画像処理ブロックの処理内容に応じてサイズが調整されるから、メモリの最適化をすることができる。また、各ＦＩＦＯメモリは、対応する画像処理ブロックの処理内容に応じて段数（深さ）が調整され、最適な構成とすることができる。また各ＦＩＦＯメモリには出力端子が備えられ、各ＦＩＦＯメモリの現使用段数が容易に観測され、デバッグ、性能評価、段数を最適に設定するための判断材料の取得、状態チェック等に役立つ。
【００５１】
（４）ＦＩＦＯ制御部は所定の構成を備えるので、ハードウエアが確定した後であっても、ＦＩＦＯメモリの使用可能段数が設定できかつ設定段数に応じた制御が可能である。これにより、ハードウエアをインプリメントした後でも、処理状況に応じて、段数を変更することができ、最適なシステムをソフト的にチューニングすることができる。
【００５２】
（５）各バッファメモリはＲＡＭで構成し、 ＦＩＦＯメモリは論理回路で構成したので、処理データ仕様の変更に伴うデータバッファの容量変更に容易に対応できる。また、ＲＡＭによれば単位ビット当たりのコストも安く経済的である。一方、各FIFOは前後段の画像処理ブロックとは直に接続され、メモリの場合に必要となってくるアクセス処理を経ることもなく直に前後の画像処理ブロックからポインタやコマンドが渡される。その意味で高速である。
【００５３】
（６）複数の画像処理ブロックに対応する、複数のバッファメモリを同一のＲＡＭに設けた上で、前記複数の画像処理ブロックからの前記ＲＡＭへのアクセスを調停する調停手段を備えたので、複数のバッファを同一のＲＡＭによって構成することによる、実装スペース、配線、チップコスト等に貢献し経済性を向上させつつも、画像処理ブロック同士のアクセスの競合が回避されて画像処理装置の動作不具合が生ずることがない。また、一の画像処理ブロックは他の画像処理ブロックの状態を知らずしてＲＡＭにアクセスできるから、それぞれの画像処理ブロックの処理の独立性が保たれ、全体としてスループットの良好なパイプラン処理が容易に実現できる。
【００５４】
（７）スキャナとHOSTとの間に本願発明の画像処理装置を設けた。これにより、画像処理装置がスキャナやプリンタの動作を止めることなく走査と平行して連続的に画像処理を行うことができ、全体としてスループットのよい複写装置を得ることができる。また、大量のデータを扱うこのような画像処理を小規模なハードウエアで高速に実現できる。
【００５５】
（８）また（７）において、画像処理装置をハードウエアで構成したので、従来のソフトウェアによる画像処理装置よりも高速でかつ高信頼性で動作する画像処理装置が提供でき、（１）〜（６）の特徴を活かした画像処理装置を用いることで、近年高速化が進んでいるスキャナ10やプリンタ80の処理能力を活かし、全体としてスループットのよい複写装置を得ることができる。
【図面の簡単な説明】
【図１】本発明の実施形態の画像処理装置の構成図である。
【図２】従来の画像処理装置の構成図である。
【図３】図１中のFIFO23の構成図である。
【符号の説明】
21，23，25，27                FIFO
22                            解像度変換部（画像処理ブロック）
24                            特徴抽出部（画像処理ブロック）
26                            パターンマッチング部（画像処理ブロック）
28                            インタフェース
29                            調停部
30                            制御部
40                            メモリ
40a                          IMバッファ（バッファ）
40b                          FEバッファ（バッファ）
40c                          DBバッファ（バッファ）
40d                          PMバッファ（バッファ）
50                            ＭＣＵ（画像処理ブロック）
TP1〜TP11                     出力端子
【図１】
0003988340.tif 000002
【図２】
0003988340.tif 000003
【図３】
0003988340.tif 000004