(57)【要約】【課題】  処理速度が速く、カメラ台数を増やす際の対応が容易で、高い信頼性が得られる画像処理装置および画像処理方法を提供すること。【解決手段】  検査対象物の欠陥を検出する画像処理装置１は、ＣＰＵ２、メインメモリ３およびＰＣＩバス４を備えたパーソナルコンピュータ５と、ＰＣＩバス４に接続された画像処理ボード６とを備える。画像処理ボード６は、大容量画像メモリ８を備え、４台のカメラ１１〜１４からの原画像データを大容量画像メモリ８に記憶させる処理、シェーディング補正処理、および原画像データを圧縮する画像圧縮処理等、原画像データの全てに関わる処理をハードウェアを使って行う。ＣＰＵ２は、画像処理ボード６からＰＣＩバス４を通じてメインメモリ３へ転送される圧縮画像データに対して、２値化処理、ラベリング処理等、欠陥検出のためのソフトウェア処理を行う。【選択図】      図１
2005283280.tif 000002
【特許請求の範囲】
【請求項１】
検査対象物の欠陥を検出する画像処理装置において、
ＣＰＵ、メインメモリおよびバスを備えたコンピュータと、
前記バスに接続された画像処理ボードと、を備え、
前記画像処理ボードは、画像メモリを備え、前記検査対象物を撮像する１台或いは複数台のカメラからの原画像データを前記画像メモリに記憶させる処理、シェーディング補正処理、および前記原画像データを圧縮して圧縮画像データを作成する画像圧縮処理等、前記原画像データの全てに関わる処理をハードウェアを使って行い、
前記ＣＰＵは、前記画像処理ボードから前記バスを通じて前記メインメモリへ転送される前記圧縮画像データに対して、２値化処理、ラベリング処理等、欠陥検出のためのソフトウェア処理を行うことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記バスはＰＣＩバスであり、前記画像処理ボードは、前記原画像データの全てを前記ＰＣＩバスの転送レートに制限されないデータ量まで、欠陥情報を残したままで圧縮することを特徴とする画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
前記画像処理ボードは、前記圧縮画像データを、前記ＰＣＩバスを通じて前記メインメモリへＤＭＡ転送することを特徴とする画像処理装置。
【請求項４】
請求項２又は３に記載の画像処理装置において、
前記ＣＰＵは、前記原画像データのうち、前記欠陥検出のための処理により欠陥と判定された欠陥位置周辺の原画像データの転送要求を前記ＰＣＩバスを通じて前記画像処理ボードへ送り、
前記ＣＰＵは、前記転送要求に応じて前記画像処理ボードから前記ＰＣＩバスを通じて転送される前記欠陥位置周辺の原画像データに対して、前記欠陥検出のための処理を再度行うことを特徴とする画像処理装置。
【請求項５】
請求項１〜４のいずれか１つに記載の画像処理装置において、
前記画像処理ボードは、前記カメラからの原画像データを取り込む画像入力手段を備えるとともに、前記原画像データの全てに関わる処理を行う前記ハードウェアとしてのＦＰＧＡを備えることを特徴とする画像処理装置。
【請求項６】
請求項５に記載の画像処理装置において、
前記画像処理ボードは、さらに、前記ＦＰＧＡをコンフィギュレーションするコンフィギュレーション手段を備え、前記ＦＰＧＡのコンフィギュレーション用データファイルを、前記メインメモリから前記ＰＣＩバスを通じて前記コンフィギュレーション手段にダウンロード可能に構成したことを特徴とする画像処理装置。
【請求項７】
検査対象物の欠陥を検出する画像処理方法において、
ＣＰＵ、メインメモリおよびバスを備えたコンピュータと、
前記バスに接続され、画像メモリを有する画像処理ボードと、を備え、
前記画像処理ボードにより、前記検査対象物を撮像する１台或いは複数台のカメラからの原画像データを前記画像メモリに記憶させる処理、シェーディング補正処理、および前記原画像データを圧縮して圧縮画像データを作成する画像圧縮処理等、前記原画像データの全てに関わる処理をハードウェアを使って行い、
前記ＣＰＵ２により、前記バスを通じて前記メインメモリへ転送される前記圧縮画像データに対して、２値化処理、ラベリング処理等、欠陥検出のためのソフトウェア処理を行
うことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動車用ガラスや磁気ディスク用のガラス基板等の板状ガラスの欠陥検出等に用いる画像処理装置及び画像処理方法に関するものである。
【背景技術】
【０００２】
従来、ガラス基板等の欠陥を検出するための画像処理をソフトウェアで行う、ソフトウェア処理方式の画像処理システムが知られている（例えば、特許文献１参照）。この画像処理システムは、１台のカメラ（ラインセンサカメラ）に１台のパーソナルコンピュータ（以下、「ＰＣ］という）を割り当てて画像処理を行う。この画像処理は、複数台のＰＣの各々においてソフトウェアで行う。例えば、各ＰＣにおいて、カメラからの画像データを、画像データを入力するためのだけの機能を有する画像入力ボードによりメモリに転送し、転送された画像データの処理をＣＰＵによりソフトウェアで行う。そして、複数台のＰＣでそれぞれ画像処理した結果を、これらのＰＣとＬＡＮ結合されたホストコンピュータに転送し、ホストコンピュータが各ＰＣからの画像処理結果を受けて全体での欠陥処理の結果を表示する。
【０００３】
また、ＩＣ，ＬＳＩの実装に用いるフィルムキャリア等に形成されたパターンを検査するための画像処理をハードウェアで行う、ハードウェア処理方式の画像処理装置が知られている（例えば、特許文献２参照）。この画像処理装置は、１台のカメラからの画像データをメモリに格納し、この画像データを４つに分割した各分割画像データを４つの計測ユニットで同時に並行処理（ハードウェア処理）して検査し、各計測ユニットからの検査結果をホストコンピュータで統合判断するようになっている。
【０００４】
また、ガラスや紙などの連続状シート物体の欠点検査のための画像処理をハードウェアで行うハードウェア方式の欠点検査装置が知られている（例えば、特許文献３参照）。この欠点検査装置では、複数台のカメラ（ラインセンサカメラ）が１台ごとに対応する画像処理装置に接続され、複数台の画像処理装置はホストコンピュータに接続されている。各画像処理装置は、対応する各ラインセンサカメラからの入力画像を処理（ハードウェア処理）して検査情報を作成し、検査情報をホストコンピュータに送る。ホストコンピュータでは、検査情報を元に欠点を総合的に判断する。
【０００５】
さらに、検査対象物から得られた原画像データを圧縮し、圧縮された画像データに対して２値化処理、ラベリング処理を行ってガラス基板等の欠陥の位置を検出し、その位置から欠陥位置周辺の原画像データを抽出し、抽出された原画像データに対して２値化処理、ラベリング処理を行う画像処理装置が知られている（例えば、特許文献４参照）。
【特許文献１】特開２００２−２４８０２号公報
【特許文献２】特開平０６−３４１９６０号公報
【特許文献３】特開平０８−３２７５６１号公報
【特許文献４】特開２００２−８３３０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、上記特許文献１に記載された画像処理システムでは、安価なシステムを構築でき、大量の画像データのリアルタイム処理が可能になる。しかし、この画像処理システムでは、カメラの台数に応じた台数のＰＣが必要になるため、カメラ台数を増やす際に、カメラと同じ台数だけＰＣを増やす必要があり、対応が面倒である。また、ＰＣが増えることに比例して内蔵のハードディスクが増えるため、ハードディスククラッシュの確率が
高くなり、結果として信頼性が低くなる、という問題がある。
【０００７】
上記特許文献２に記載された画像処理装置および上記特許文献３に記載された欠点検査装置では、１台のカメラに対して複数の計測ユニットおよび画像処理装置がそれぞれ必要になり、カメラ台数を増やす際の対応が面倒である。
【０００８】
本発明は、このような従来の問題点に着目してなされたものであり、その目的は、処理速度が速く、カメラ台数を増やす際の対応が容易で、高い信頼性が得られる画像処理装置および画像処理方法を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、請求項１に係る発明は、検査対象物の欠陥を検出する画像処理装置において、ＣＰＵ、メインメモリおよびバスを備えたコンピュータと、前記バスに接続された画像処理ボードと、を備え、前記画像処理ボードは、画像メモリを備え、前記検査対象物を撮像する１台或いは複数台のカメラからの原画像データを前記画像メモリに記憶させる処理、シェーディング補正処理、および前記原画像データを圧縮して圧縮画像データを作成する画像圧縮処理等、前記原画像データの全てに関わる処理をハードウェアを使って行い、前記ＣＰＵは、前記画像処理ボードから前記バスを通じて前記メインメモリへ転送される前記圧縮画像データに対して、２値化処理、ラベリング処理等、欠陥検出のためのソフトウェア処理を行うことを要旨とする。
【００１０】
これによれば、画像処理ボードが上記原画像データの全てに関わる処理をハードウェアを使って行い、ＣＰＵが、画像処理ボードからバスを通じてメインメモリへ転送される圧縮画像データに対して欠陥検出のためのソフトウェア処理を行う。つまり、大量のデータを処理する必要のある上記原画像データの全てに関わる処理を、画像処理ボードによるハードウェア処理で行い、ＣＰＵが圧縮画像データに対して欠陥検出のためのソフトウェア処理を行う。これにより、装置全体として処理速度を速くすることができる。また、ＣＰＵにかかる負担が低減されるので、ＣＰＵ自体の信頼性が向上する。さらに、１つの画像処理ボードに対して複数台のカメラが使用可能であり、また、それ以上の台数のカメラが必要な場合には、バスに接続する画像処理ボードを増やだけで良く、上記従来技術のようにカメラ台数を増やす際に、カメラと同じ台数だけＰＣを増やす必要がない。このため、カメラ台数を増やす際の対応が容易になるとともに、ハードディスククラッシュの確率が低くなり、結果として装置全体の信頼性が向上する。したがって、処理速度が速く、カメラ台数を増やす際の対応が容易で、高い信頼性が得られる画像処理装置を実現することができる。
【００１１】
請求項２に係る発明は、請求項１に記載の画像処理装置において、前記バスはＰＣＩバスであり、前記画像処理ボードは、前記原画像データの全てを前記ＰＣＩバスの転送レートに制限されないデータ量まで、欠陥情報を残したままで圧縮することを要旨とする。
【００１２】
これによれば、画像処理ボードは、原画像データの全てをＰＣＩバスの転送レートに制限されないデータ量まで、欠陥情報を残したままで圧縮するので、ＰＣＩバスの速いデータ転送速度を生かして処理速度をさらに速くすることができる。
【００１３】
なお、ここにいう「ＰＣＩバスの転送レートに制限されないデータ量」とは、ＰＣＩバスの最大データ転送速度である１３２ＭＢ／ｓに制限されないデータ量を意味する。
請求項３に係る発明は、請求項２に記載の画像処理装置において、前記画像処理ボードは、前記圧縮画像データを、前記ＰＣＩバスを通じて前記メインメモリへＤＭＡ転送することを要旨とする。
【００１４】
これによれば、画像処理ボードは、圧縮画像データを、ＰＣＩバスを通じてメインメモリへＤＭＡ転送することで、ＣＰＵにかかる負担がさらに低減されるので、ＣＰＵ自体の信頼性もさらに向上し、結果として信頼性がさらに向上する。
【００１５】
なお、ここにいう「ＤＭＡ」は「Direct Memory Access」のことで、「ＤＭＡ転送」とは、システムのＣＰＵを介することなく、メモリへのデータ転送を行う方法を意味する。
請求項４に係る発明は、請求項２又は３に記載の画像処理装置において、前記ＣＰＵは、前記原画像データのうち、前記欠陥検出のための処理により欠陥と判定された欠陥位置周辺の原画像データの転送要求を前記ＰＣＩバスを通じて前記画像処理ボードへ送り、前記ＣＰＵは、前記転送要求に応じて前記画像処理ボードから前記ＰＣＩバスを通じて転送される前記欠陥位置周辺の原画像データに対して、前記欠陥検出のための処理を再度行うことを要旨とする。
【００１６】
これによれば、ＣＰＵは、原画像データのうち、欠陥検出のための処理により欠陥と判定された欠陥位置周辺の原画像データの転送要求をＰＣＩバスを通じて画像処理ボードへ送る。また、ＣＰＵは、転送要求に応じて画像処理ボードからＰＣＩバスを通じて転送される欠陥位置周辺の原画像データに対して、欠陥検出のための処理を再度行う。このため、検査対象物の欠陥検出を、短い検査時間でかつ高精度に行うことができる。
【００１７】
請求項５に係る発明は、請求項１〜４のいずれか１つに記載の画像処理装置において、前記画像処理ボードは、前記カメラからの原画像データを取り込む画像入力手段を備えるとともに、前記原画像データの全てに関わる処理を行う前記ハードウェアとしてのＦＰＧＡを備えることを要旨とする。
【００１８】
これによれば、原画像データの全てに関わる処理の内容が変更になる場合、或いはユーザによってその処理内容が異なる場合等において、ＦＰＧＡに処理を実行するための回路構成を書き換えることで、対応が容易になり、ユーザ側でシステムを立ち上げる際の柔軟性が向上する。
【００１９】
なお、ここにいう「ＦＰＧＡ」は、「Field Programmable Gate Array」のことで、所
望の処理を実行するための回路構成を書き換え可能な大規模集積回路である。
請求項６に係る発明は、請求項５に記載の画像処理装置において、前記画像処理ボードは、さらに、前記ＦＰＧＡをコンフィギュレーションするコンフィギュレーション手段を備え、前記ＦＰＧＡのコンフィギュレーション用データファイルを、前記メインメモリから前記ＰＣＩバスを通じて前記コンフィギュレーション手段にダウンロード可能に構成したことを要旨とする。
【００２０】
これによれば、画像処理ボードは、ＦＰＧＡをコンフィギュレーション手段としてのフラッシュメモリを備える。このフラッシュメモリには、ＶＨＤＬプログラムをコンパイルしたコンフィギュレーション用データファイルを、メインメモリからダウンロードできるようになっている。これにより、ＦＰＧＡの回路構成の書き換えが容易になり、ユーザ側でシステムを立ち上げる際の柔軟性がさらに向上する。
【００２１】
なお、ここにいう「ＦＰＧＡをコンフィギュレーションする」とは、ＦＰＧＡに、上記「原画像データの全てに関わる処理」等の所望の処理を実行させるための回路を構成することを意味する。
【００２２】
請求項７に係る発明は、検査対象物の欠陥を検出する画像処理方法において、ＣＰＵ、メインメモリおよびバスを備えたコンピュータと、前記バスに接続され、画像メモリを有する画像処理ボードと、を備え、前記画像処理ボードにより、前記検査対象物を撮像する
１台或いは複数台のカメラからの原画像データを前記画像メモリに記憶させる処理、シェーディング補正処理、および前記原画像データを圧縮して圧縮画像データを作成する画像圧縮処理等、前記原画像データの全てに関わる処理をハードウェアを使って行い、前記ＣＰＵ２により、前記バスを通じて前記メインメモリへ転送される前記圧縮画像データに対して、２値化処理、ラベリング処理等、欠陥検出のためのソフトウェア処理を行うことを要旨とする。
【００２３】
これによれば、大量のデータを処理する必要のある上記原画像データの全てに関わる処理を、画像処理ボードによるハードウェア処理で行い、ＣＰＵが圧縮画像データに対して欠陥検出のためのソフトウェア処理を行う。したがって、処理速度が速く、カメラ台数を増やす際の対応が容易で、高い信頼性が得られる画像処理装置を実現することができる。
【発明の効果】
【００２４】
以上説明したように、本発明によれば、処理速度が速く、カメラ台数を増やす際の対応が容易で、高い信頼性が得られる画像処理装置を実現することができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明を具体化した一実施の形態を図面に基づいて説明する。
[一実施形態]
本発明の第１実施形態に係る画像処理装置を図１および図２に基づいて説明する。
【００２６】
この画像処理装置は、板状ガラス等の検査対象物の欠陥を検出するのに用いられる。この画像処理装置１は、図１に示すように、ＣＰＵ２、メインメモリ３およびＰＣＩバス４を備えたパーソナルコンピュータ５と、パーソナルコンピュータ（以下、「ＰＣ］という）５内にＰＣＩバス４に接続して実装した画像処理ボード６とを備えている。なお、図１では、画像処理ボード６と画像処理ボード７の２つを示してある。本実施形態では、一例として、１つの画像処理ボードに対して最大で４台のカメラを使用可能であり、１つの画像処理ボード６に対して４台のカメラ１１〜１４を用いる構成について説明する。
【００２７】
画像処理ボード６は、大容量画像メモリ８を備え、検査対象物を撮像する４台のカメラ１１〜１４からの原画像データを画像メモリ８に記憶させる処理、シェーディング補正処理、原画像データを圧縮して圧縮画像データを作成する画像圧縮処理等、原画像データの全てに関わる処理をハードウェアを使って行うようになっている。さらに、画像処理ボード６は、圧縮画像データをＰＣＩバス４を通じてＤＭＡ転送するようになっている。なお、大容量画像メモリ８は、４台のカメラ１１〜１４からの原画像データ全てを画素単位で格納できるだけの大容量を備えている。
【００２８】
この画像処理ボード６は、大容量画像メモリ８の他に、画像入力手段としてのカメラコントローラ９と、上述した原画像データの全てに関わる処理を行うハードウェアとしてのＦＰＧＡ１０と、フラッシュメモリ２０とを備えている。
【００２９】
カメラコントローラ９は、４台のカメラ１１〜１４からの原画像データを取り込み、ＦＰＧＡ１０に転送する、「原画像データの転送」を行うようになっている。なお、各カメラ１１〜１４は、ラインセンサカメラである。また、ここにいう「原画像データ」は、例えば、各カメラ１１〜１４から出力されるアナログ信号である画像信号をＡ／Ｄ変換した多階調のデジタル信号である。
【００３０】
ＦＰＧＡ１０は、上述したように、上記「原画像データの全てに関わる処理」等の所望の処理を書き換え可能な大規模集積回路である。本例におけるＦＰＧＡ１０は、「原画像データの全てに関わる処理」を行うハードウェアとして機能する。
【００３１】
つまり、ＦＰＧＡ１０は、カメラコントローラ９から転送される原画像データを大容量画像メモリ８に記憶させる処理、シェーディング補正処理、原画像データを圧縮する画像圧縮処理、原画像データの全てに関わるハードウェア処理を実行させるための回路に構成される（コンフィギュレーションされる）。
【００３２】
フラッシュメモリ２０は、ＦＰＧＡ１０に、上述した原画像データの全てに関わる処理を実行させるための回路を構成する（コンフィギュレーションする）コンフィギュレーション手段である。このフラッシュメモリ２０には、ＶＨＤＬプログラムをコンパイルしたコンフィギュレーション用データファイルを、ＰＣ５のメインメモリ３からダウンロードできるようになっている。ＦＰＧＡ１０は、フラッシュメモリ２０にダウンロードされたコンフィギュレーション用データファイルによってコンフィギュレーションを完了する。
【００３３】
なお、ここにいう「ＶＨＤＬ」は「VHSIC Hardware Description Language」のことで
、ＶＨＳＩＣ（Very High Speed Integrated Circuit）開発のために、米国国防総省のプロジェクトとして開発がなされたハードウェア記述言語である。
【００３４】
また、画像処理ボード６のＦＰＧＡ１０は、上記画像圧縮処理において、カメラコントローラ９により取り込んだ４台のカメラ１１〜１４からの原画像データの全てを、ＰＣＩバス４の転送レートに制限されないデータ量まで、欠陥情報を残したまま圧縮する。本例では、一例として、原画像データの全てを１／６４に圧縮するようになっている。
【００３５】
さらに、画像処理ボード６のＦＰＧＡ１０は、原画像データを圧縮すると同時に、圧縮画像データをＰＣＩバス４を通じてメインメモリ３へＤＭＡ転送する処理と、大容量画像メモリ８への原画像データの格納及び同メモリに格納された原画像データの読出し等の画像データ管理とを行うように構成されている。
【００３６】
ＣＰＵ２は、画像処理ボード６のＦＰＧＡ１０からＰＣＩバス４を通じてメインメモリ３へ転送される圧縮画像データに対して、２値化処理、ラベリング処理等、欠陥検出のためのソフトウェア処理を行うように構成されている。
【００３７】
また、ＣＰＵ２は、原画像データ、つまり大容量画像メモリ８に格納された原画像データの全てのうち、前記欠陥検出のための処理により欠陥と判定された欠陥位置周辺の原画像データの転送要求をＰＣＩバス４を通じて画像処理ボード６へ送るようになっている。
【００３８】
さらに、ＣＰＵ２は、前記転送要求に応じて画像処理ボード６のＦＰＧＡ１０からＰＣＩバス４を通じて転送される前記欠陥位置周辺の原画像データに対して、前記欠陥検出のための処理を再度行うように構成されている。
【００３９】
次に、以上のように構成された画像処理装置１の動作を、図２に示すフローチャートに基づいて説明する。図２では、理解を容易にするために、画像処理ボード６が実行する処理（ボード内のハードウェア処理）と、ＣＰＵ２が実行する処理（ＰＣ内のソフトウェア処理）とを１つのフローチャートに示してある。
【００４０】
まず、画像処理ボード６のカメラコントローラ９により、カメラから原画像の入力と、ＦＰＧＡへの転送とを行う（ステップＳ１０参照）。つまり、カメラコントローラ９は、検査対象物を撮像する４台のカメラ１１〜１４からの原画像データを順次取り込むとともに、取り込んだ原画像データをＦＰＧＡ１０に順次転送する。
【００４１】
次のステップＳ２０では、ＦＰＧＡ内処理が実行される。ここでは、画像処理ボード６
のＦＰＧＡ１０は、カメラコントローラ９から順次転送される原画像データをシェーディング補正処理し、シェーディング補正後の原画像データの全てを大容量画像メモリ８に順次転送して同メモリに記憶させる処理を実行する。これらの処理と同時に、ＦＰＧＡ１０は、カメラコントローラ９から順次転送される原画像データを圧縮して圧縮画像データを作成し、この圧縮画像データをＰＣＩバス４を通じてＰＣ５のメインメモリ３にＤＭＡ転送する。
【００４２】
次のステップＳ３０では、圧縮画像に対するＰＣ内ソフトウェア画像処理が実行される。ここでは、ＰＣ５のＣＰＵ２は、ＦＰＧＡ１０からＰＣＩバス４を通じてメインメモリ３へ転送される圧縮画像データに対して、２値化処理、ラベリング処理等、欠陥判定処理、欠陥位置計算等、欠陥検出のためのソフトウェア処理を実行する。
【００４３】
次のステップＳ４０では、欠陥位置指定による欠陥画像転送要求が実行される。ここでは、ＣＰＵ２は、原画像データ、つまり大容量画像メモリ８に格納された原画像データの全てのうち、欠陥検出のための処理により欠陥と判定された欠陥位置周辺の原画像データの転送要求をＰＣＩバス４を通じて画像処理ボード６へ送る。
【００４４】
次のステップＳ５０では、画像処理ボード内にある欠陥画像（周辺も含む）のＤＭＡ転送が実行される。ここでは、画像処理ボード６のＦＰＧＡ１０は、前記欠陥位置周辺の原画像データの転送要求に応じて、欠陥位置周辺の原画像データ（欠陥画像データ）を大容量画像メモリ８から読出し（切り出し）、この切り出した欠陥画像データをＰＣＩバス４を通じてメインメモリ３にＤＭＡ転送する。
【００４５】
次のステップＳ６０では、ＰＣ内ソフトウェア画像処理が再び実行される。ここでは、ＣＰＵ２は、前記転送要求に応じて画像処理ボード６のＦＰＧＡ１０からＰＣＩバス４を通じて転送される欠陥位置周辺の原画像データ（欠陥画像データ）に対して、前記欠陥検出のための処理を再度実行する。これとともに、ＣＰＵ２は、前記欠陥画像データに対して行った欠陥検出のための処理によって判定された欠陥位置の画像（欠陥画像）を不図示のディスプレイに表示させる。
【００４６】
そして、次のステップＳ７０では、ＣＰＵ２は、上記ステップＳ６０で、前記欠陥画像データに対して行った欠陥検出のための処理によって判定される検査結果を出力する。
以上のように構成された一実施形態によれば、以下の作用効果を奏する。
【００４７】
○画像処理装置１では、画像処理ボード６が上記原画像データの全てに関わる処理をハードウェアを使って行い（ステップＳ２０参照）、ＣＰＵ２が、画像処理ボード６からＰＣＩバス４を通じてメインメモリ３へ転送される圧縮画像データに対して、２値化処理、ラベリング処理等、欠陥検出のためのソフトウェア処理を行う（ステップＳ３０参照）。つまり、大量のデータを処理する必要のある上記原画像データの全てに関わる処理を、画像処理ボード６によるハードウェア処理で行い、ＣＰＵ２が圧縮画像データに対して欠陥検出のためのソフトウェア処理を行う。これにより、装置全体として処理速度を速くすることができる。
【００４８】
○ＰＣ５のＣＰＵ２にかかる負担が低減されるので、ＣＰＵ２自体の信頼性が向上する。
○１つの画像処理ボードに対して複数台のカメラ、例えば本例では最大４台のカメラが使用可能であり、また、それ以上の台数のカメラが必要な場合には、バスに接続する画像処理ボードを増やすだけで良い。このため、上記従来技術のようにカメラ台数を増やす際に、カメラと同じ台数だけＰＣを増やす必要がない。このため、カメラ台数を増やす際の対応が容易になるとともに、ハードディスククラッシュの確率が低くなり、結果として装
置全体の信頼性が向上する。
【００４９】
○画像処理ボード６は、原画像データの全てをＰＣＩバス４の転送レートに制限されないデータ量まで、欠陥情報を残したままで圧縮するので、ＰＣＩバスの速いデータ転送速度を生かして処理速度をさらに速くすることができる。
【００５０】
○画像処理ボード６は、圧縮画像データを、ＰＣＩバス４を通じてメインメモリ３へＤＭＡ転送する（ステップＳ２０参照）ことで、ＣＰＵ２にかかる負担がさらに低減されるので、ＣＰＵ自体の信頼性がさらに向上し、結果として装置全体の信頼性がさらに向上する。
【００５１】
○ＣＰＵ２は、原画像データのうち、欠陥検出のための処理により欠陥と判定された欠陥位置周辺の原画像データの転送要求をＰＣＩバス４を通じて画像処理ボード６へ送る（ステップＳ４０参照）。また、ＣＰＵ２は、転送要求に応じて画像処理ボード６からＰＣＩバス４を通じて転送される欠陥位置周辺の原画像データに対して、欠陥検出のための処理を再度行う（ステップＳ６０参照）。このため、検査対象物の欠陥検出を、短い検査時間でかつ高精度に行うことができる。
【００５２】
○画像処理ボード６は、カメラ１１〜１４からの原画像データの全てに関わる処理を行うハードウェアとしてのＦＰＧＡ１０を備える。これにより、原画像データの全てに関わる処理の内容が変更になる場合、或いはユーザによってその処理内容が異なる場合において、ＦＰＧＡに処理を実行するための回路構成を書き換えることで、対応が容易になり、ユーザ側でシステムを立ち上げる際の柔軟性が向上する。
【００５３】
○画像処理ボード６は、ＦＰＧＡ１０をコンフィギュレーションするコンフィギュレーション手段としてのフラッシュメモリ２０を備える。このフラッシュメモリ２０は、ＦＰＧＡ１０に、上述した原画像データの全てに関わる処理を実行させるための回路を構成する（コンフィギュレーションする）。このフラッシュメモリ２０には、ＶＨＤＬプログラムをコンパイルしたコンフィギュレーション用データファイルを、ＰＣ５のメインメモリ３からダウンロードできるようになっている。これにより、ＦＰＧＡ１０の回路構成の書き換えが容易になり、ユーザ側でシステムを立ち上げる際の柔軟性がさらに向上する。
【００５４】
なお、この発明は以下のように変更して具体化することもできる。
・上記一実施形態では、一例として、１つの画像処理ボード６に４台のカメラ１１〜１４を使用した例について説明したが、画像処理ボード６に１台或いは複数台（２台又は３台）のカメラを使用する場合にも本発明は適用可能である。
【００５５】
・上記一実施形態において、１つの画像処理ボードに対して最大で４台のカメラを使用可能とすると、５台以上のカメラを用いて画像処理を行う場合には、画像処理ボード６と同じ構成の画像処理ボード７を追加し、このボードをＰＣＩバス４に接続するだけで良い。
【００５６】
・上記一実施形態では、一例として、１つの画像処理ボードに対して最大で４台のカメラを使用可能としたが、本発明は１つの画像処理ボードに対して５台以上のカメラを使用する場合にも適用可能である。
【００５７】
・上記一実施形態では、ＰＣＩバス４を有するＰＣ５について説明したが、本発明は、ＰＣＩバス以外に、ＩＳＡバス、ＶＬバス、汎用拡張バスを有するＰＣを使用する構成にも適用可能である。
【００５８】
・上記一実施形態では、ＦＰＧＡ１０をコンフィギュレーションするコンフィギュレーション手段としてフラッシュメモリ２０を用いた構成について一例として説明したが、本発明はこれに限定されない。例えば、そのコンフィギュレーション手段として、市販のコンフィギュレーションデバイスを用いても良い。
【００５９】
・上記一実施形態において、ＦＰＧＡ１０に複数の回路構成の１つを選択的に切り換えてコンフィギュレーションできる構成にしても良い。これにより、ＦＰＧＡ１０に実行させる処理内容の変更がさらに容易になるとともに、ユーザ側でシステムを立ち上げる際の柔軟性がさらに向上する。なお、その切り換えは、ＰＣ５側で行うようにしても良いし、そのような切り換え機能をコンフィギュレーションデバイスに持たせても良い。
【図面の簡単な説明】
【００６０】
【図１】一実施形態に係る画像処理装置の概略構成を示すブロック図。
【図２】同画像処理装置の画像処理動作を示すフローチャート。
【符号の説明】
【００６１】
１…画像処理装置、２…ＣＰＵ、３…メインメモリ、４…ＰＣＩバス、５…パーソナルコンピュータ（ＰＣ）、６，７…画像処理ボード、８…画像メモリとしての大容量画像メモリ、９…画像入力手段としてのカメラコントローラ、１０…ＦＰＧＡ、１１〜１４…カメラ、２０…コンフィギュレーション手段としてのフラッシュメモリ。
【図１】
2005283280.tif 000003
【図２】
2005283280.tif 000004