(57)【要約】【課題】シフトレジスタ７１の各レジスタ７１１〜７１４にダミーデータを一括セットすることにより、画像データの最初のデータの入力時から有効なフィルタ出力を得ることができる軸受部品の外観検査方法及び装置を提供する。【解決手段】玉軸受のボール１の画像データをディジタルフィルタである高域通過フィルタ７に通すことにより、このボール１の傷等の欠陥を検査する軸受部品の外観検査装置において、各ボール１ごとに、高域通過フィルタ７のシフトレジスタ７１に画像データの最初のデータが入力されたとき又はその前に、このシフトレジスタ７１の各レジスタ７１１〜７１４にそれぞれ最初のデータと同じダミーデータを一括してセットする初期値設定回路７４が備えられた構成とする。【選択図】図１
2005121484.tif 000002
【特許請求の範囲】
【請求項１】
軸受部品の外観の画像データをディジタルフィルタに通すことにより、この軸受部品の傷等の欠陥を検査する軸受部品の外観検査方法であって、
各軸受部品ごとに検出した画像データの先頭に、この画像データの最初から１サンプル以上の所定サンプル数のデータに基づいて算出された１サンプル以上のダミーデータを挿入してディジタルフィルタに通すことを特徴とする軸受部品の外観検査方法。
【請求項２】
軸受部品の外観の画像データをディジタルフィルタに通すことにより、この軸受部品の傷等の欠陥を検査する軸受部品の外観検査装置であって、
各軸受部品ごとに、ディジタルフィルタのシフトレジスタ手段に画像データの最初から１サンプル以上の所定サンプル数のデータが入力されたとき又はその前に、このシフトレジスタ手段のレジスタにこれら所定サンプル数のデータに基づいて算出されたダミーデータをそれぞれセットするシフトレジスタ初期値設定手段が備えられたことを特徴とする軸受部品の外観検査装置。
【請求項３】
軸受部品の外観の画像データをディジタルフィルタに通すことにより、この軸受部品の傷等の欠陥を検査する軸受部品の外観検査装置であって、
各軸受部品ごとに、ディジタルフィルタのシフトレジスタ手段に画像データの最初のデータが入力されたとき又はその前に、このシフトレジスタ手段のレジスタにそれぞれ最初のデータと同じダミーデータを一括してセットするシフトレジスタ初期値設定手段が備えられたことを特徴とする軸受部品の外観検査装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、玉軸受のボール等のような軸受部品の外観表面の傷等の欠陥を検出して不良検査を行う軸受部品の外観検査装置に関するものである。
【背景技術】
【０００２】
玉軸受のボールの外観に生じた欠陥を検査する場合、このボールの表面の反射光を検出して分光測色方法等により明度や彩度に基づく検査を行う方法がある（例えば、特許文献１参照。）。また、特にボール表面の傷等のように、反射光の強度が急激に変化する欠陥を検出する場合には、この反射光の画像信号を高域通過フィルタに通すことにより、この画像信号の高周波成分のみの信号レベルの大きさを調べて検査を行う場合もある。
【０００３】
上記高域通過フィルタを用いる従来の玉軸受のボールの外観検査装置の構成例を図３に示す。検査対象となるボール１は、順次搬送されて来て、ローラ２上に載置され、このローラ２上で一定速度で回転する。また、このボール１の上方には、赤色ＬＥＤ３からの赤色光をボール１の表面に照射する照明用光ファイバ４と、この照明用光ファイバ４からの赤色光がボール１の表面で反射した反射光を受光素子５に導いて受光させる受光用光ファイバ６とが配置されている。そして、この受光素子５で受光された１次元の画像信号は、高域通過フィルタ７を通して比較回路８に送られる。なお、ボール１は、表面の球面全体を検査する必要があるので、実際には、ローラ２によるこのボール１の回転方向を随時変化させたり、このボール１の回転の間に照明用光ファイバ４と受光用光ファイバ６の先端の位置を随時変化させるようにしている。
【０００４】
上記高域通過フィルタ７は、画像信号の高周波成分のみを通過させるフィルタであり、直流成分や低周波成分がカットされる。ここで、ボール１の表面が完全に鏡面研磨され傷等の欠陥が全くない場合、画像信号は、信号レベルが常に一定となる筈であるが、ローラ２が真円でなかったり回転駆動軸の振動等の影響で、ボール１の回転に伴い表面の反射面の位置が変動するため、実際の画像信号は、図４（ａ）に示すように、信号レベルが緩やかに変化する低周波成分のみを含んだ波形となる。これに対して、ボール１の表面に傷がある場合の画像信号は、図４（ｂ）に示すように、全体にゆるやかに変化する信号レベルがこの傷の部分Ａ１〜Ａ３で一時的に急激に変動して高周波成分も含む波形となる。そこで、このような傷のあるボール１の画像信号を高域通過フィルタ７に通すと、図４（ｃ）に示すように、この傷の部分Ａ１〜Ａ３での一時的な急激な変動のみからなる高周波成分だけの波形を抽出することができる。そして、この高域通過フィルタ７を通過した画像信号の信号レベルがしきい値Ｖｔｈを超えたかどうかを比較回路８で判定することにより、ボール１の欠陥の有無を判断することができる。例えば図４（ｃ）の場合、傷の部分Ａ２で大きく変動する信号レベルが負方向にしきい値Ｖｔｈを超えることになるので、これにより所定以上の大きさの傷の有無を検査することができる。
【０００５】
上記従来のボールの外観検査装置は、ロジック回路やマイクロコンピュータ又はＤＳＰ等のディジタルシステムによって構成される場合がある。そして、この場合、高域通過フィルタ７は、ディジタルフィルタによって構成される。ディジタルフィルタには、インパルス応答が有限となるＦＩＲ（Finite Impulse Response）と、インパルス応答が無限となるＩＩＲ（Infinite Impulse Response）の２種類がある。そして、実際の検査装置では、安定性を十分に考慮する必要があるが、少ない次数で急峻な特性が得られるＩＩＲが用いられることが多い。ただし、ここでは説明を簡単にするために、図５に示すようなＦＩＲによる高域通過フィルタ７を示す。この図５に示す高域通過フィルタ７は、ロジック回路による４次のＦＩＲであり、シフトレジスタ７１を構成する４個のレジスタ７１１〜７１４と５個の乗算回路７２０〜７２４と４個の加算回路７３１〜７３４とで構成される。各レジスタ７１１〜７１４は、フリップフロップ回路の組み合わせにより複数ビットのデータをセットすることができる記憶装置である。そして、シフトレジスタ７１は、これらのレジスタ７１１〜７１４にセットされたデータを、高域通過フィルタ７に入力されるデータのサンプリング周期に同期した図示しないクロック信号に基づいて図５の右方向にシフトするようになっている。また、図示左端のレジスタ７１１は、このシフト動作の際に、高域通過フィルタ７に新たに入力されたデータをセットする。各乗算回路７２１〜７２４は、これらのレジスタ７１１〜７１４にセットされたデータに所定の係数ａ１〜ａ４を乗算する回路である。また、図示左端の乗算回路７２０は、高域通過フィルタ７に新たに入力されたデータに所定の係数ａ０を乗算する回路である。加算回路７３１〜７３４は、これら乗算回路７２０〜７２４の各乗算結果を加算する回路であり、これらが全て加算された図示右端の加算回路７３４の出力が高域通過フィルタ７の出力となる。
【０００６】
ところが、上記ディジタルフィルタからなる高域通過フィルタ７は、ボール１の検査が開始されたときには、各レジスタ７１１〜７１４にはそれ以前の無意味なデータがセットされていたり前回の画像データが残っているので、全てのレジスタ７１１〜７１４に新たな画像データがシフトされる４サンプリング期間が経過するまでの間は、有効な出力を得ることができなかった。しかも、実際の高域通過フィルタ７は、ＦＩＲに限らずＩＩＲを用いた場合にも、図５に示したものよりもっと多くの次数（シフトレジスタ７１のレジスタの個数）が必要となるので、有効な出力を得るまでの時間がさらに長くなる。このため、従来の玉軸受のボールの外観検査装置では、各ボール１の検査を行う際に、シフトレジスタ７１の全レジスタ７１１〜７１４にシフトされるまでに余分な画像データが必要となり、この余分なデータをサンプリングするために検査時間が長くなるという問題があった。
【０００７】
即ち、説明を簡単にするために、図３に示したボール１が１回転すれば全表面の検査が完了するものとすると、このボール１が回転して検査が開始され、サンプリング期間ごとに画像データの各データが高域通過フィルタ７に送られても、シフトレジスタ７１の全レジスタ７１１〜７１４にこのデータがシフトされるまでは正しい検査を行うことができない。このため、ボール１の全周にわたって正しい検査を行うためには、このボール１の１回転分の画像データよりもさらにシフトレジスタ７１の次数分だけ余分にサンプリングしたデータが必要となる。しかも、連続する長尺物の外観検査を行う場合であれば、この長尺物の検査を開始してから有効な検査が行えるようになるまでの僅かな時間遅れが生じるだけで済むが、このような玉軸受のボール１の検査の場合には、大量のボール１を順次検査する必要があり、各ボール１ごとに余分に何％ずつかのデータが必要になると、全ボール１の検査時間も同じ何％かの割合で長くなることになる。また、このような問題は、ボール１の検査をリアルタイムで実行する場合に限らず、各ボール１ごとに検査用の画像データを独立に検出して一旦保存しておくような場合でも同様であり、図３に示した個々のボール１を回転させておく時間が長くなることが問題となる。
【０００８】
なお、上記問題は、図５に示すようにシフトレジスタ７１を非再帰的に使用したＦＩＲに限らず、図６に示すようにシフトレジスタ７１を再帰的に使用したＩＩＲにおいても同様である。この図６の高域通過フィルタ７の場合、シフトレジスタ７１の各レジスタ７１１〜７１４は、画像データそのものではなく、これの演算結果をフィードバックするためのデータが順次シフトされるようになっている。そして、この場合も、インパルス応答が無限に続くためにＦＩＲほど厳密ではないが、画像データの演算結果が全レジスタ７１１〜７１４にシフトされるまでは正しい検査を行うことができない。
【０００９】
また、上記問題は、外観検査装置をロジック回路等で構成した場合に限らず、マイクロコンピュータ等においてディジタルフィルタをソフトウエアによって構成した場合でも同様である。また、玉軸受のボール１の検査に限らず、大量の軸受部品を個々に検査する検査装置の場合も同様である。
【特許文献１】特開２００１−１４６４８０号公報（第３頁）
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、軸受部品の外観の画像データをディジタルフィルタに通すことにより検査を行う場合に、このディジタルフィルタのシフトレジスタ手段の全レジスタに画像データがシフトされるまでの余分なデータが必要となるので、この余分なデータを検出する時間だけ検査時間が長くなるという問題を解決しようとするものである。
【課題を解決するための手段】
【００１１】
請求項１の発明は、軸受部品の外観の画像データをディジタルフィルタに通すことにより、この軸受部品の傷等の欠陥を検査する軸受部品の外観検査方法であって、各軸受部品ごとに検出した画像データの先頭に、この画像データの最初から１サンプル以上の所定サンプル数のデータに基づいて算出された１サンプル以上のダミーデータを挿入してディジタルフィルタに通すことを特徴とする。
【００１２】
請求項２の発明は、軸受部品の外観の画像データをディジタルフィルタに通すことにより、この軸受部品の傷等の欠陥を検査する軸受部品の外観検査装置であって、各軸受部品ごとに、ディジタルフィルタのシフトレジスタ手段に画像データの最初から１サンプル以上の所定サンプル数のデータが入力されたとき又はその前に、このシフトレジスタ手段のレジスタにこれら所定サンプル数のデータに基づいて算出されたダミーデータをそれぞれセットするシフトレジスタ初期値設定手段が備えられたことを特徴とする。
【００１３】
請求項３の発明は、軸受部品の外観の画像データをディジタルフィルタに通すことにより、この軸受部品の傷等の欠陥を検査する軸受部品の外観検査装置であって、各軸受部品ごとに、ディジタルフィルタのシフトレジスタ手段に画像データの最初のデータが入力されたとき又はその前に、このシフトレジスタ手段のレジスタにそれぞれ最初のデータと同じダミーデータを一括してセットするシフトレジスタ初期値設定手段が備えられたことを特徴とする。
【発明の効果】
【００１４】
請求項１の発明によれば、実際に検出された各軸受部品の画像データの先頭に、シフトレジスタ手段のレジスタ分のダミーデータを追加することができる。しかも、このダミーデータは、画像データの最初の部分に基づいて算出されるので、ダミーデータ自身だけでなく、この画像データとの繋ぎの部分でも、ディジタルフィルタを通過するような周波数成分を含まないデータとすることができる。従って、このダミーデータに続いて実際に検出された画像データがディジタルフィルタに入力され始めれば、直ちに検査に有効な出力を得ることができるようになるので、各軸受部品から実際に画像データを検出するための時間を短縮し、検査時間の無駄をなくすことができるようになる。なお、ダミーデータは、実際に画像データの先頭に張り付けて一連のデータ列とする他、この画像データよりも前にディジタルフィルタに入力されるようにすることにより挿入してもよい。
【００１５】
請求項２の発明によれば、実際に検出された各軸受部品の画像データをディジタルフィルタに入力する際の開始時に、この入力よりも前に既に画像データが十分に入力されていたかのように見せかけるダミーデータをシフトレジスタ手段のレジスタにセットすることができる。しかも、このダミーデータは、画像データの最初の部分に基づいて算出されるので、ダミーデータ自身だけでなく、この画像データとの繋ぎの部分でも、ディジタルフィルタを通過するような周波数成分を含まないデータとすることができる。従って、画像データが先頭から所定サンプル数分だけディジタルフィルタに入力されれば、以降は直ちに検査に有効な出力を得ることができるようになるので、各軸受部品から実際に画像データを検出するための時間を短縮し、検査時間の無駄をなくすことができるようになる。
【００１６】
請求項３の発明によれば、実際に検出された各軸受部品の画像データをディジタルフィルタに入力する際の開始時に、この入力よりも前に既に画像データが十分に入力されていたかのように見せかけるダミーデータをシフトレジスタ手段のレジスタにセットすることができる。しかも、このダミーデータは、画像データの最初のデータと同じものなので、直流成分しか含まないデータとすることができる。従って、画像データがディジタルフィルタに入力されれば、直ちに検査に有効な出力を得ることができるようになるので、各軸受部品から実際に画像データを検出するための時間を短縮し、検査時間の無駄をなくすことができるようになる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の最良の実施形態について説明する。
【００１８】
本実施形態は、図３に示した従来例と同様に、玉軸受のボール１の外観検査を行う場合について説明する。従来のディジタルシステムの外観検査装置では、ボール１での反射光を受光素子５で受光して検出した画像信号を図示しないＡＤ変換により画像データに変換してそのまま高域通過フィルタ７に通していた。しかし、本発明では、この画像データの先頭にダミーデータを付加することを特徴としている。ダミーデータを付加するには、実際に画像データの先頭にダミーデータを挿入してもよいし、この画像データを高域通過フィルタ７に入力する際に、このディジタルフィルタのシフトレジスタ手段にダミーデータを一括セットするようにしてもよい。
【００１９】
上記ダミーデータは、１サンプル以上のデータからなるが、このダミーデータを実際にサンプリングして検出するのを省略することにより検査時間の短縮を図るものであるため、サンプル数は十分に多い方が効果的である。なお、このダミーデータや画像データの各サンプルのデータは、８ビットや１６ビット等の整数値であってもよいし、３２ビットや６４ビット等の浮動小数点数値であってもよく、その他、固定小数点数値等の任意のディジタル値を用いることができる。
【００２０】
上記ダミーデータは、全データを画像データの最初のデータと同じものにすることができる。このようにすれば、ダミーデータは、直流成分のみからなり、実際の画像データとも高周波成分を含むことなく円滑に繋がるので、このダミーデータ自身や画像データとの境界の変動が高域通過フィルタ７を通過して出力されるようなことがなくなる。従って、このダミーデータの付加が検査結果に影響を及ぼすようなことはなく、しかも、画像データにボール１の表面の傷等による変動が生じていれば、これが画像データの先頭部分であったとしても、正しく検出することができるようになる。
【００２１】
また、上記ダミーデータは、画像データの最初から１サンプル以上の所定サンプル数のデータに基づいて算出されたデータであってもよい。例えばボール１の表面に傷等がない場合における画像データの緩やかな変動の周期や振幅、波形等が既知である場合、実際の画像データの最初の数サンプルのデータを調べれば、この変動の位相や直流成分等を算出することができる。従って、実際の画像データよりも前のデータ部分を推定することができるので、この算出したデータをダミーデータとして用いれば、実際にこのボール１の傷のない部分の画像データを検出して得たかのように見えるデータを付加することができる。そして、このようなダミーデータの付加が検査結果に影響を及ぼすようなことはなく、しかも、実際の画像データにボール１の表面の傷等による変動が生じていれば、これが画像データの先頭部分であっても正しく検出することができるようになる。
【００２２】
さらに、高域通過フィルタ７のディジタルフィルタがＩＩＲである場合は、シフトレジスタ手段で画像データがそのままシフトされるのではなく、これに演算が施されてフィードバックされるため、例えばこの画像データの前の部分を推定して作成したデータをこの高域通過フィルタ７に入力した場合の結果のデータを予め算出してダミーデータとすることもできる。ＩＩＲのディジタルフィルタとしては、図６に示すように再帰的なシフトレジスタ７１のみからなるものの他、非再帰的なシフトレジスタと再帰的なシフトレジスタとを直列接続したものや、これら非再帰的なシフトレジスタと再帰的なシフトレジスタを共用させるようにしたもの等があり、いずれのディジタルフィルタの場合にも同様に実施可能である。なお、ダミーデータを画像データの最初の１サンプルのデータに基づいて算出されたデータとする場合は、上述の最初のデータをそのままコピーする場合とほぼ同様である。
【００２３】
ところで、画像データの最初部分のデータが、ボール１の表面の傷等の部分を検出したデータであった場合には、これに基づいて傷等がない場合の緩やかに変動する画像データを推定することができない。しかしながら、このような傷等の部分のデータはサンプリングごとに大きく変動するので、数サンプル分のデータを調べれば、欠陥部分のデータであることは判別できる。そして、このような場合は、この画像データの最初の部分がもともと高域通過フィルタ７を通過するデータとなるので、例えば同じ値の適当なデータをダミーデータとするだけでもよい。また、これは、画像データの最初のデータをそのままコピーしてダミーデータとする場合も同様である。さらに、例えばボール１が１回転すれば全表面の検査が完了するような場合に、丁度傷の真上から画像データの検出が始まり、同じ傷の真上で検出が完了したとすると、この傷による画像データの変動が過少評価されて欠陥が見過ごされるおそれが生じる。このため、実際の画像データの検出の際には、検出すべき傷の最少の大きさに相当するサンプル数分だけボール１を余分に回転させて画像データを長めに検出することが好ましい。
【００２４】
上記のようにして実際の画像データの先頭にダミーデータを付加すれば、高域通過フィルタ７のシフトレジスタ手段にまずこのダミーデータをシフトしてセットすることができるので、実際の画像データが高域通過フィルタ７に入力されるようになると同時に、検査に有効なフィルタ出力を得ることができるようになる。このため、各ボール１ごとに余分な画像データを検出する必要がなくなるので、これらのボール１の検査時間を短縮することができるようになる。
【００２５】
ただし、実際に画像データの先頭にダミーデータを挿入する場合には、このダミーデータをシフトレジスタ手段にシフトさせながら入力するための時間が必要となる。このため、画像データのシフトレジスタ手段への入力を遅延させたり、ダミーデータをシフトレジスタ手段に入力する際のシフトクロック信号のみを高速化する等しても、リアルタイム処理が困難になる場合がある。これに対して、ダミーデータをシフトレジスタ手段に一括セットする場合には、極めて短時間にこのダミーデータを入力することができるので、ボール１の画像データの検出と欠陥の判定とをリアルタイムで行うことが容易となる。
【００２６】
なお、本実施形態では、ディジタルフィルタとして高域通過フィルタ７を用いる場合を示したが、例えば欠陥とすべき傷の大きさ等の範囲を厳密に限定するために、帯域通過フィルタを用いる場合もあり、このフィルタの種類は限定されない。
【００２７】
また、本実施形態では、玉軸受のボール１の外観検査を行う場合について説明したが、大量の軸受部品を個々に検査する場合も同様であるため、検査対象となるものはこのようなボール１には限定されない。
【００２８】
さらに、本実施形態では、１次元の画像データに基づいて説明したが、軸受部品の外観の画像データであればよいので、２次元の画像データにも同様に実施可能である。この場合、ディジタルフィルタも、２次元デジタルフィルタを用いる。また、このディジタルフィルタを通した画像データは、直ちに欠陥の判定を行うのではなく、画像処理等を施した上で判定することもでき、この判定手段もしきい値Ｖｔｈとの比較とは限らない。
【実施例１】
【００２９】
本実施例では、ダミーデータを画像データの先頭に挿入するようにした外観検査方法について説明する。この画像データの先頭にダミーデータを挿入するには、実際に画像データの先頭にダミーデータを張り付けて一連のデータ列とすればよい。このデータ列は、信号線等をリアルタイムに伝送されるデータストリームであってもよいし、ファイル等の形式で記憶装置に一時的に格納されたシーケンシャルなデータであってもよい。また、ダミーデータは、画像データが送られて来るのとは別の系統から、この画像データの入力よりも前にディジタルフィルタに入力されるようにして挿入してもよい。
【００３０】
この外観検査方法では、ディジタルフィルタに画像データを入力する場合と同様に、この画像データの入力よりも前にダミーデータを１サンプルずつ入力することを特徴としている。従って、この場合は、ディジタルフィルタがＦＩＲでもＩＩＲでも、ダミーデータは、これらに影響されることなく同様のものを用いることができる。
【００３１】
なお、ディジタルフィルタに画像データを入力する場合とダミーデータを入力する場合とでは、サンプリング周期（シフトレジスタ手段のシフトクロック周期）を同じにする必要はない。即ち、例えばダミーデータを別系統から入力する場合には、実際の画像データの検出速度に合わせることなく、それよりも高速で入力することができる。また、ダミーデータの入力が完了しても、ディジタルフィルタのシフトレジスタ手段を停止させておけば、画像データの入力が開始されるまでの間に時間が開いてもよい。
【実施例２】
【００３２】
本実施例では、画像データをディジタルフィルタに入力する際に、このディジタルフィルタのシフトレジスタ手段にダミーデータを一括セットするようにした外観検査装置について説明する。この外観検査装置は、高域通過フィルタ７の構成を除けば、図３に示した従来例と同じである。なお、図１においても、図５に示した従来例と同様の機能を有する構成部材には同じ番号を付記する。
【００３３】
図１に示すように、本実施例の高域通過フィルタ７も、説明を簡単にするためにＦＩＲのディジタルフィルタを用いた場合を示す。この高域通過フィルタ７におけるディジタルフィルタ部分、即ち４個のレジスタ７１１〜７１４からなるシフトレジスタ７１と乗算回路７２０〜７２４と加算回路７３１〜７３４の構成は、図５に示した従来例と同じである。
【００３４】
しかしながら、本実施例の高域通過フィルタ７は、初期値設定回路７４を備えていることを特徴とする。初期値設定回路７４は、高域通過フィルタ７に各ボール１の画像データの最初のデータが入力されたときに、このデータを３個のレジスタ７１２〜７１４に一括してセットするようにした回路である。即ち、この初期値設定回路７４は、入力された画像データが各ボール１ごとの最初の１サンプル目のデータかどうかを判断する。シフトレジスタ７１が画像データのサンプリングに同期したクロック信号で常時シフト動作を行っているものとすると、この最初のデータかどうかは、図３に示したリアルタイムで検査を行う外観検査装置の場合であれば、例えばボール１がローラ２上に載置され回転を始めたときに発せられる図示しない検査開始信号等に基づいて判断することができる。そして、この初期値設定回路７４は、入力された画像データが最初のデータではないと判断した場合には何もしないが、最初のデータであると判断した場合は、前段のレジスタ７１１〜７１３からのシフトデータに代えて、この最初のデータと同じデータをレジスタ７１２〜７１４にそれぞれセットすることになる。
【００３５】
上記構成により、この高域通過フィルタ７に最初の１サンプルのデータが入力されると、このデータが図１の左端のレジスタ７１１にセットされると共に、その右側の残り３個のレジスタ７１２〜７１４にもセットされる。そして、２番目以降のデータが入力されると、従来と同様に、これらのデータがレジスタ７１１〜７１４を右に向けてシフトされる。また、画像データの各サンプルのデータがこの高域通過フィルタ７に入力されるたびに、新たな入力データは、乗算回路７２０によって係数ａ０が乗算されると共に、各レジスタ７１１〜７１４にセットされたデータは、乗算回路７２１〜７２４によってそれぞれ係数ａ１〜ａ４が乗算され、これらの乗算結果が加算回路７３１〜７３４によって加算されて高域通過フィルタ７から出力される。従って、画像データの最初のデータが高域通過フィルタ７に入力されたときには、図１の左端を除く３個のレジスタ７１２〜７１４に無意味なデータがセットされているので、有効なフィルタ出力は得られないが、２番目以降のデータが入力されると、有効なフィルタ出力が得られるようになる。
【００３６】
ところで、図１に示した高域通過フィルタ７では、画像データの最初のデータが入力されたときのフィルタ出力だけは無効なものとなる。しかし、例えばシフトレジスタ７１の前段に１個のレジスタを追加し、このレジスタに最初のデータが入力されたときに、初期値設定回路７４がシフトレジスタ７１の全レジスタ７１１〜７１４に同じデータをセットするように構成すれば、この最初のデータがシフトレジスタ７１に入力されたときのフィルタ出力も有効なものにすることができる。
【実施例３】
【００３７】
本実施例では、実施例２と同様に、画像データをディジタルフィルタに入力する際に、このディジタルフィルタのシフトレジスタ手段にダミーデータを一括セットするようにした外観検査装置について説明する。ただし、この外観検査装置は、マイクロコンピュータを用いて構成する場合を示す。
【００３８】
このマイクロコンピュータの外観検査のソフトウエアは、ディジタルフィルタ・ルーチンと比較ルーチンとからなる。ディジタルフィルタ・ルーチンは、図２に示すように、まず最初のステップ（以下「Ｓ」という）で、ＡＤ変換された画像データの１サンプルのデータをシフトレジスタ手段に入力する（Ｓ１）。シフトレジスタ手段は、配列やリスト構造等を用いて実現することができる。線形リスト構造を用いる場合には、新たな入力データをリストの先頭要素に挿入すると共に、末尾要素を削除することでシフト動作を実現でき、環状リスト構造の場合には、リストの先頭要素を順次移動させて、最も古いデータの要素に最新のデータを上書きすることでシフト動作を実現できる。また、配列の場合も、末尾を除く各要素のデータを後方に１要素ずつずらして再格納し、先頭要素に新たなデータを格納することでシフトレジスタ手段を実現することができる。そして、オブジェクト指向言語の配列クラスライブラリの場合には、各要素がメモリ上の連続する位置に確保される訳ではないので、新たなデータを先頭要素に挿入したり末尾要素を削除するメソッドが用意されていることが多く、各要素のデータを１要素ずつずらして再格納する手間が不要となる。
【００３９】
ここでは、Ｃ言語によるＦＩＲのディジタルフィルタ・ルーチンにおいて、上記シフトレジスタ手段を配列を用いて実現する場合を示す。Ｃ言語の配列は、各要素がメモリ上に実際に連続して配置されるので、シフトレジスタ手段として用いる場合には、各要素のデータを１要素ずつずらして再格納する処理が必要となる。しかしながら、ここでは、シフトレジスタ手段としての先頭の要素となるシフト先頭要素の位置をシフト動作ごとに配列上で推移させることにより、この各要素のデータを再格納する処理を省略する場合を示す。まず、定数ＭＡＸをＦＩＲの次数より１多い値としておき、シフトレジスタ配列ｒｅｇと係数配列ａｍｐと演算結果を格納する変数ｓｕｍを以下のように宣言する。
float reg[MAX];
float amp[MAX];
float sum;
シフトレジスタ配列ｒｅｇの各要素は、上記シフトレジスタ７１における各レジスタ７１１〜７１４に対応する。ただし、シフト動作の際の先頭となるシフト先頭要素だけは、上記シフトレジスタ７１のさらに前段に配置されるレジスタに対応する。また、係数配列ａｍｐの各要素には、上記乗算回路７２０〜７２４の各係数ａ０〜ａ４に対応する値が格納される。そして、シフトレジスタ配列ｒｅｇのシフト先頭要素の添え字を示す変数ｔｏｐと、ループ変数ｉ，ｊを以下のように宣言する。
int top = 0;
int i, j;
【００４０】
上記Ｓ１において、画像データの最初のデータが入力されると、このデータはシフト先頭要素ｒｅｇ［ｔｏｐ］に格納される。ただし、この最初のデータの場合には、変数ｔｏｐが初期化されたままの０の値となるので、このデータは実際には先頭要素ｒｅｇ［０］に格納されることになる。
【００４１】
次に、このデータが最初のデータかどうかが判断されて（Ｓ２）、ここでは最初のデータであることから、この最初のデータをシフトレジスタ配列ｒｅｇの各要素に一括セットする（Ｓ３）。このＳ３の処理は、以下のｆｏｒ文により実行することができる。
for (i = 1; i < MAX; i++) {
reg[i] = reg[0];
}
即ち、このｆｏｒループでは、ループ変数ｉを１から最大の添え字を示すＭＡＸ−１まで順にインクリメントしながら、シフトレジスタ配列ｒｅｇの２番目の要素（ｒｅｇ［１］）から最後の要素（ｒｅｇ［ＭＡＸ−１］）までに、それぞれ最初のデータ（ｒｅｇ［０］）を格納する。なお、このＳ３の処理では、画像データの処理の最初に１回だけ実行されるので、先頭要素ｒｅｇ［０］とシフト先頭要素ｒｅｇ［ｔｏｐ］は同じ要素を示す。
【００４２】
このようにして最初のデータがシフトレジスタ配列ｒｅｇの各要素に一括セットされると、これらのシフトレジスタ配列ｒｅｇの各要素のデータに係数配列ａｍｐの各要素の係数を乗算すると共に、これらの乗算結果を加算することにより演算出力を行う（Ｓ４）。また、２サンプル目以降のデータが入力された場合には、Ｓ１の処理によりこのデータがシフト先頭要素ｒｅｇ［ｔｏｐ］に格納されると、直ちにＳ４の処理に移行する。このＳ４の処理は、以下のプログラムにより実行することができる。
sum = 0;
for (i = top, j = 0; j < MAX; i = (i > 0)? i-1 : MAX-1, j++) {
sum += reg[i] * amp[j];
}
即ち、このプログラムでは、まず最初の代入文で演算結果を格納する変数ｓｕｍを０に初期化して、ｆｏｒループ文でループ変数ｊを０からＭＡＸ−１まで順にインクリメントしながら、シフトレジスタ配列ｒｅｇの各要素の値と係数配列ａｍｐの各要素の値とを乗算した結果をこの変数ｓｕｍに加算する。ただし、次に示すように、シフトレジスタ配列ｒｅｇのシフト先頭要素は、シフト動作によって順に推移し、データの並びも新しいものがより後方の要素となるように逆順に並ぶので、最初にこのシフト先頭要素の添え字を示す変数ｔｏｐの値をループ変数ｉに格納し、この変数ｉをデクリメントしながら式ｒｅｇ［ｉ］によって各要素を順に取り出すようにする。また、変数ｉのデクリメントは、３項演算子を用いた以下の式により演算する。
i = (i > 0)? i-1 : MAX-1
この式によれば、変数ｉの値が０よりも大きい間は通常にデクリメントするが、０になるとＭＡＸ−１の値が代入される。従って、このｉの値は、ｆｏｒ文をループする間に、変数ｔｏｐの値から徐々に減少し、０に達するとＭＡＸ−１の値に一旦増加して、再び変数ｔｏｐの値の手前まで徐々に減少することになる。このようにして全ての配列要素について加算が完了すると、変数ｓｕｍの値が当該サンプリング時におけるディジタルフィルタの出力となる。
【００４３】
上記Ｓ３の処理により画像データの最初のデータがシフトレジスタ配列ｒｅｇの全要素にコピーされるので、この最初のデータが入力されたときから、Ｓ４の演算出力によって有効なフィルタ出力が得られるようになる。そして、この演算出力が行われると、最後にデータ入力位置を移動する（Ｓ５）。このデータ入力位置の移動は、シフトレジスタ配列ｒｅｇのシフト先頭要素の添え字を示す変数ｔｏｐをインクリメントするものであり、このインクリメント処理は、以下の文により実行することができる。
top = (top + 1) % MAX;
即ち、まずこの変数ｔｏｐの値がインクリメントされ、これによってＭＡＸに達すると剰余演算により０に戻されることになる。
【００４４】
以上の一連の処理が完了すると、このディジタルフィルタ・ルーチンは、一旦処理を完了し、その後、サンプリング期間が経過することにより再度呼び出される。そして、再びＳ１において、画像データの１サンプルのデータをシフトレジスタ手段に入力する。
【００４５】
このようにしてシフトレジスタ配列ｒｅｇの添え字の範囲内で変数ｔｏｐの値がインクリメントされると、新たな要素がシフト先頭要素ｒｅｇ［ｔｏｐ］となり、新たに入力されたデータがこの要素に格納される。従って、このディジタルフィルタ・ルーチンが何度も繰り返し呼び出されて、変数ｔｏｐのインクリメントが１順以上繰り返されると、この変数ｔｏｐのインクリメントの直後のシフト先頭要素ｒｅｇ［ｔｏｐ］には、シフトレジスタ配列ｒｅｇにおける最も古いデータが格納されていることになる。この結果、シフトレジスタ配列ｒｅｇでは、最も古いデータの上に最新のデータの上書きを繰り返すことにより、シフト先頭要素を順次推移させながら、実質的なシフト動作を行うことになる。
【００４６】
なお、上記ディジタルフィルタ・ルーチンを繰り返し呼び出して演算出力させたデータは、比較ルーチンに送られ、ここでしきい値Ｖｔｈと比較される。そして、このしきい値Ｖｔｈを超えると、欠陥があると判断することができる。
【図面の簡単な説明】
【００４７】
【図１】本発明の実施例２を示すものであって、ＦＩＲのディジタルフィルタからなる高域通過フィルタの構成を示すブロック図である。
【図２】本発明の実施例３を示すものであって、高域通過フィルタを構成するディジタルフィルタ・ルーチンの動作を示すフローチャートである。
【図３】玉軸受のボールの外観検査装置の構成を示すブロック図である。
【図４】玉軸受のボールの外観検査装置に用いられる高域通過フィルタの入力信号（ａ）（ｂ）と出力信号（ｃ）を示す波形図である。
【図５】従来例を示すものであって、ＦＩＲのディジタルフィルタからなる高域通過フィルタの構成を示すブロック図である。
【図６】従来例を示すものであって、ＩＩＲのディジタルフィルタからなる高域通過フィルタの構成を示すブロック図である。
【符号の説明】
【００４８】
１      ボール
７      高域通過フィルタ
７１    シフトレジスタ
７１１〜７１４  レジスタ
７２０〜７２４  乗算回路
７３１〜７３４  加算回路
７４    初期値設定回路
８      比較回路
【図１】
2005121484.tif 000003
【図２】
2005121484.tif 000004
【図３】
2005121484.tif 000005
【図４】
2005121484.tif 000006
【図５】
2005121484.tif 000007
【図６】
2005121484.tif 000008