(57)【特許請求の範囲】
【請求項１】
二次元以上の空間上に配列される元データを間引きするデータの間引き処理方法において、
前記元データを小さな空間範囲から大きな空間範囲へと段階的に分割し、
各空間範囲のサイズに対応する周波数成分の大きさを空間範囲毎に求め、
前記周波数成分の大きさが所定の値よりも大きな空間範囲のサイズに対応した間引き間隔で前記元データを間引くようにしたことを特徴とするデータの間引き処理方法。
【請求項２】
二次元以上の空間上に配列される元データを間引きするデータの間引き処理方法において、
前記元データを小さな空間範囲から大きな空間範囲へと段階的に分割したときの各空間範囲に空間的及び周波数的に適合する基底関数を用いて、前記元データを前記各空間範囲に対応した数列に分解し、
得られた分解数列の各要素のうち絶対値が所定のスレッショルド値よりも小さい要素をゼロにしたのち、
得られた分解数列の各要素に基づいて前記元データに対応させて前記空間範囲の重なり具合に応じた重み付けを行い、
重みがゼロでない元データのみを抽出する
ことを特徴とするデータの間引き処理方法。
【請求項３】
二次元以上の空間上に配置される元データに対して間引き処理を施すデータ処理装置において、
前記元データを記憶する記憶手段と、
前記記憶された元データからその変化の度合いに応じた間隔で間引き処理を行うデータ処理手段とを備え、
前記データ処理手段が、前記元データを小さな空間範囲から大きな空間範囲へと段階的に分割すると共に、各空間範囲のサイズに対応する周波数成分の大きさを空間範囲毎に求め、前記周波数成分の大きさが所定の値よりも大きな空間範囲のサイズに対応した間引き間隔で前記元データを間引く処理を実行するものである
ことを特徴とするデータ処理装置。
【請求項４】
二次元以上の空間上に配置される元データに対して間引き処理を施すデータ処理装置において、
前記元データを記憶する記憶手段と、
前記記憶された元データからその変化の度合いに応じた間隔で間引き処理を行うデータ処理手段とを備え、
前記データ処理手段が、前記元データを小さな空間範囲から大きな空間範囲へと段階的に分割したときの各空間範囲に空間的及び周波数的に適合する基底関数を用いて、前記元データを前記各空間範囲に対応した数列に分解し、得られた分解数列の各要素のうち絶対値が所定のスレッショルド値よりも小さい要素をゼロにしたのち、得られた分解数列の各要素に基づいて前記元データに対応させて前記空間範囲の重なり具合に応じた重み付けを行い、重みがゼロでない元データのみを抽出する処理を実行するものである
ことを特徴とするデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、二次元以上の空間上に配列されるデータをその特徴を維持したまま間引き処理するデータの間引き処理方法及びデータ処理装置に関する。
【０００２】
【従来の技術】
計測器等のデータを画面に表示する場合、一般にデータの数に対して画面の表示能力が劣っているために、全てのデータを厳密に表示することはできない。また、得られたデータ点群から多面体を構成するような場合には、膨大な情報量と計算時間とを費やすことになり、巨大データの取り扱いが実用上大きな問題となっている。これらの問題を解決するためには、データを何らかの方法で適当に間引いてやる必要がある。
【０００３】
従来、このようなデータの間引き処理としては、図１２（ａ）に示すような元データに対して、同図（ｂ）に示すように、データを等間隔に間引くいわゆる「櫛引方式」や、同図（ｃ）に示すように、データを幾つかのブロックに分け、ブロック内の特徴的なデータ点（例えば最大値／最小値を与える点）をブロックの代表データとする「圧縮方式」が知られている。
【０００４】
【発明が解決しようとする課題】
しかし、上述した間引き処理方法のうち、「櫛引方式」では、間引く間隔の設定が難しいという問題がある。即ち、緩やかな変動部分を十分に間引けるように間引き間隔を設定すると、変化の激しい部分の特徴が失われてしまい、変化の激しい部分の特徴を残そうと間引き間隔を狭く設定すると、十分な間引き効果が得られない。また、「圧縮方式」でも同様に、どのようにブロックを分割するかを決定するのが難しく、データの変動具合に応じて分割しようとすればするほど処理時間がかかってしまう。この他、元データを的確に表現することを主眼においた方法として、三次元メッシュ構造を一定の規則で簡単化していく方法が提案されているが、この方法も多くの計算時間を必要とするため多量のデータの間引き処理には不向きであるという問題がある。
【０００５】
本発明は、このような問題点に鑑みなされたもので、元データの変動状況に応じて適応的に間引き率が変化するインテリジェントで且つ高速の間引き処理を実現することができるデータの間引き処理方法及びデータ処理装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
この発明に係るデータの間引き処理方法は、二次元以上の空間上に配列される元データを間引きするデータの間引き処理方法において、前記元データを小さな空間範囲から大きな空間範囲へと段階的に分割し、各空間範囲のサイズに対応する周波数成分の大きさを空間範囲毎に求め、前記周波数成分の大きさが所定の値よりも大きな空間範囲のサイズに対応した間引き間隔で前記元データを間引くようにしたことを特徴とする。
【０００７】
また、この発明に係るデータ処理装置は、二次元以上の空間上に配置される元データに対して間引き処理を施すデータ処理装置において、前記元データを記憶する記憶手段と、前記記憶された元データからその変化の度合いに応じた間隔で間引き処理を行うデータ処理手段とを備え、前記データ処理手段が、前記元データを小さな空間範囲から大きな空間範囲へと段階的に分割すると共に、各空間範囲のサイズに対応する周波数成分の大きさを空間範囲毎に求め、前記周波数成分の大きさが所定の値よりも大きな空間範囲のサイズに対応した間引き間隔で前記元データを間引く処理を実行するものであることを特徴とする。
【０００８】
本発明によれば、元データを小さな空間範囲から大きな空間範囲へと段階的に分割した場合の各空間範囲（空間的及び周波数的に独立した各空間範囲）に対応する周波数成分の変化の度合いを空間範囲毎に求めているので、変化の激しい部分では、小さな空間範囲での変化の度合いが大きくなり、変化が緩やかな部分では、大きな空間範囲での変化の度合いが大きくなる。そして、変化の度合いが所定の値よりも大きな空間範囲の大きさに応じて前記元データを間引く処理ようにしているので、変化の激しい部分では、間引き間隔が小さくなり、変化が緩やかな部分では、間引き間隔が大きくなる。このため、元データの変動状況に応じて適応的に間引き間隔が変動し、特徴部分を失わずに、適切なデータの間引きが可能であり、しかも高速処理が可能である。
【０００９】
なお、本発明は、より具体的には、元データを小さな空間範囲から大きな空間範囲へと段階的に分割したときの各空間範囲に空間的及び周波数的に適合する基底関数を用いて、元データを各空間範囲に対応した数列に分解し、得られた分解数列の各要素のうち絶対値が所定のスレッショルド値よりも小さい要素をゼロにしたのち、得られた分解数列の各要素に基づいて前記元データに対応させて空間範囲の重なり具合に応じた重み付けを行い、重みがゼロでない元データのみを抽出する処理を実行することにより、更に高速な処理が可能になる。
【００１０】
【発明の実施の形態】
以下、図面を参照して、この発明の好ましい実施の形態について説明する。
図１は、この発明の一実施例に係るデータの間引き処理方法を適用した表面性状測定装置の要部構成を示すブロック図である。
この表面性状測定装置には、測定テーブル１上に載置されたワーク２の表面を走査して、その表面の変位を非接触に検出する変位検出器３が備えられている。駆動装置４は、変位検出器３が、予め決められたワーク２の測定範囲内を走査するように駆動制御する。変位検出器３から出力される変位信号は、測定値サンプリング部５に供給されている。測定値サンプリング部５は、駆動装置４から供給される変位検出器３の走査位置の情報に基づいて、所定の間隔、例えば三次元測定空間内でＸＹ方向に一定の間隔で変位検出器３からの信号を測定データとしてサンプリングする。サンプリングされた測定データは、記憶装置６に一旦記憶される。記憶された測定データは、適当なタイミングで信号処理部７に供給される。信号処理部７は、測定データ（元データ）の表示のためのデータ圧縮を行うため、元データに間引き処理を施す。信号処理部７で間引き処理されたデータは、記憶装置６に格納され、更に表示部８に高速表示される。操作部９は、信号処理部７における間引き処理に必要なパラメータを入力したりするのに使用する。
【００１１】
次に、このように構成された表面性状測定装置における間引き処理の原理について説明する。
緩やかな変動部分は大きな間隔で、激しい変動部分は小さな間隔で間引くためには、データがどの位置でどの程度の周波数で変動しているかということを知る必要がある。このようなローカルな変動をとらえる最も単純な方法としては、２つの隣接するデータ間の差をとる方法が考えられる。この差の絶対値が大きければ、データ間でそれだけ大きく変動しているということになる。このとき、差を求める２つのデータを近傍データの平均値で置き換えると、平均を求めたデータ数に相当する変動成分を求めることができる。このように、データのローカルな平均とその差を順次求めていくと、どの位置にどの変動成分が含まれるかを知ることができ、データ変動に応じて間引き間隔を決めることができる。
【００１２】
図２に具体例を示す。図中最上段が元のデータ列であり、その下に示された逆ピラミッド構造の下側に行くに従って平均化のレベルが上がっている。二段目以降の枠内の数値は、「平均／差」を示しており、ハッチングで示された差の最も大きい枠の大きさの半分をその位置の間引き間隔としている。以上の考え方により、データの変動具合に応じた間引き間隔の決定が可能になる。この処理は、 Har Wavelet を使用した Wavelet 変換と同じ意味を持っており、 Wavelet 変換を利用すればより汎用的にインテリジェントな間引き処理を記述することができる。
【００１３】
Wavelet 変換では、平均がゼロであるという以下の条件を満足する空間的・周波数的に局在した Mother Wavelet w(x)を考える。
【００１４】
【数１】
0003752093.tif 000002
【００１５】
測定データz(x)から緩やかな変動（低周波成分）を見つけ出そうとすれば、長い距離にわたって測定しなければならない。このようなときは、図３に示すように、 Mother Wavelet を空間軸上でa倍だけ膨脹させて基底関数とし、逆に急激な変動（高周波成分）を見つけ出そうとする場合には、Mother Wavelet を1/aに縮小して基底関数とする。更に、変動の発生位置を見つけるために、空間軸上でｂだけ平行移動して基底関数を作る。このようにして得られる基底関数は、
【００１６】
【数２】
0003752093.tif 000003
【００１７】
で与えられる。この基底関数を使用した Wavelet 変換は、
【００１８】
【数３】
0003752093.tif 000004
【００１９】
と、基底関数と元データの内積として定義される。図４に示すように、正弦波信号を幅の異なる窓を通して見た場合、窓が狭くなるに従って信号の周期性が失われ、周波数分布が広がってくることは良く知られている。一般にデータは、空間軸に沿って、ある位置ｘを中心にΔｘの領域を占める。そして、その Fourier 変換は、周波数軸に沿ってある角周波数ωを中心にΔωの領域を占める。図４の説明で分かるように、Δｘを小さくしようと窓を小さくすると、角周波数の拡がりΔωは大きくなり、逆にΔωを小さくしようとするとΔｘが大きくなってしまう。このように、ΔｘとΔωとの間には、以下に示す不確定関係が成り立つ。
【００２０】
【数４】
0003752093.tif 000005
【００２１】
不確定性関係から信号には最終単位が存在し、数３の連続 Walevelet 変換には、多くの情報が重複していることになる。もし２点(a1,b1)と(a2,b2)とが共に同じ最小単位に含まれる点であれば、W(a1,b1)とW(a2,b2)は独立な量ではない。従って、互いに同じ最小単位内に属さない点の組(a,b)についてW(a,b)を求めれば良いことなる。これは、座標(a,b)を数５のように離散化すればよい。
【００２２】
【数５】
(a,b)＝(2-j,2-jk）
（但し、j,kは整数）
【００２３】
離散化された座標に基づく離散 Wavelet 変換・逆変換は数６のように定義される。
【００２４】
【数６】
0003752093.tif 000006
【００２５】
離散 Wavelet 変換において、
【００２６】
【数７】
0003752093.tif 000007
【００２７】
とすると、
【００２８】
【数８】
0003752093.tif 000008
【００２９】
が得られる。これは、fj(x)がgj-1(x)とfj-1(x)とに分解できることを意味している。なお、分解過程において、gj-1(x)とfj-1(x)とは、それぞれfj(x)の高周波成分と低周波成分とになっている。ここで、
【００３０】
【数９】
0003752093.tif 000009
【００３１】
で定義されるトゥー・スケール関係を満足するスケーリング関数φ(x)を導入する。スケーリング関数φ(x)を導入することによって、Mother Wavelet を、
【００３２】
【数１０】
0003752093.tif 000010
【００３３】
と定義できるようになる。ここで、{qk}は、トゥー・スケール関係から決まる数列である。関数f1(x)をスケーリング関数φ(x)で表すと、
【００３４】
【数１１】
0003752093.tif 000011
【００３５】
となる。これらの関係から、ck(j-1)，dk(j-1)は、ck(j)を用いて求めることができ、下記数１２で表される分解アルゴリズムが得られる。
【００３６】
【数１２】
0003752093.tif 000012
【００３７】
ここで、ck(j-1)，とdk(j-1)は、それぞれローパスフィルタとハイパスフィルタの出力となっており、分解の過程は、図５に示すようなフィルタバンクを形成することなる。ここで{gk}と{hk}は、共にトゥー・スケール関係から決まる分解数列である。
【００３８】
逆に、ck(j)をck(j-1)とdk(j-1)とから求める過程は、再構成アルゴリズムと呼ばれ、下記数１３のように表すことができる。
【００３９】
【数１３】
0003752093.tif 000013
【００４０】
最後に、分解のスタートとなるck(0)を信号f(x)から決める処理が残っているが、実用上、測定データ列を{ck(0)}とみなして問題ない。
【００４１】
Haar Wavelet は、図６に示した形をしている最も簡単な Mother Wavelet である。Haar Wavelet を使用したときの分解アルゴリズムは、
【００４２】
【数１４】
0003752093.tif 000014
【００４３】
で与えられ、再構成アルゴリズムは、
【００４４】
【数１５】
0003752093.tif 000015
【００４５】
で与えられる。
【００４６】
このような Wavelet 変換の分解アルゴリズムを使用して測定データを分解していくことによって得られる分解数列の各要素が占める位置・周波数空間を示すと、図７のようになる。この図から、各分解数列はある特定の位置と周波数範囲の情報を持っていることが分かる。そこで、各分解数列に対応する範囲のデータの代表位置に、分解数列の絶対値を加算していくという重み付けを行う。ここで、分解数列の値は、この分解数列が属する周波数範囲でのデータ変動の振幅に相当するので、検出したい振幅の大きさをスレッショルド値λとして与え、この値以下の分解数列の値をゼロとおくと、λ以下の振幅変動を特徴とするデータの重みがゼロになる。さらに、検出しないデータ変動の周波数領域に相当する範囲の分解数列をゼロとおいて同様の処理を行うと、間引き処理に一種のフィルタとしての働きを付加することもできる。
【００４７】
このような処理結果として得られる間引き後のデータ列は、緩やかな変動部分は大きな間隔で、激しい変動部分は小さな間隔で並ぶことになる。また、Wavelet 変換の Mother Wavelet として Haar Wavelet を選択すれば、大幅な計算量の短縮になり、非常に高速な処理が可能になる。勿論、Mother Wavelet として他の Wavelet を使用することもできるので、目的に応じた選択が可能である。二次元処理も全く同様に実現できる。
【００４８】
各分解数列に対応する範囲のデータの代表位置への加算方式については、例えば分解数列が属する空間範囲の先頭データを代表位置と考えると、図８に示すように、加算していけば重みを求めることができる。この図中、wkはｋ番目のデータの重みで、●印を付けた分解数列の絶対値の和を→の方向に加算することによって求めることができる。
【００４９】
以上説明したインテリジェント間引き処理の手順について、図９に簡単な具体例を示す。
測定データは、前述した図２のデータと同様とする。測定データを Wavelet 変換し、分解数列を求める。次に、絶対値がスレッショルドλ以下（ここでは、λ＝０．２）の分解数列をゼロにする。なお、このとき必要に応じて指定周波数範囲のみの処理としても良い。次に分解数列を使用して測定データに重み付けを行う。そして、重みがゼロでない測定データを抽出する。以上の処理によって、結果的に図２で示したのと同じ間引き処理がなされたことになる。
【００５０】
図１０は、二次元の元データについて上述したインテリジェントな間引き処理を施した例を示す図である。この例の元データは、
【００５１】
【数１６】
0003752093.tif 000016
【００５２】
であり、図中（ａ）は元データ（データ数nx＝512）で、同図（ｂ）はλ＝0.01としてデータ数nx＝46まで間引いた例、同図（ｃ）はλ＝0.05としてデータ数nx＝17まで間引いた例をそれぞれ示している。この例から明らかなように、データ数が17になるまでデータを間引いても元データの特徴は殆ど失われていないことが分かる。
【００５３】
図１１は、三次元の元データについて上述したインテリジェントな間引き処理を施した例を示す図である。この例の元データは、
【００５４】
【数１７】
0003752093.tif 000017
【００５５】
であり、図中左上は元データ（データ数nx×ny＝512×512）で、右上はλ＝0.001として間引いた等高線図、左下は同じくメッシュ構造、右下はλ＝0.001のデータ点であり、いずれも間引き後のデータ数は1793であり、これは元データの0.689％に相当する。このように、上記の方法を三次元データに拡張した場合でも、十分な効果を確認することができた。
【００５６】
以上述べたように、この発明によれば、元データの変動状況に応じて適応的に間引き間隔が変動し、特徴部分を失わずに、適切なデータの間引きが可能であり、しかも高速処理が可能であるという効果を奏する。
【図面の簡単な説明】
【図１】  この発明の一実施例に係る表面性状測定装置の概略構成を示すブロック図である。
【図２】  同装置における間引き処理の原理を説明するための図である。
【図３】  同処理に使用される基底関数の一例を示す図である。
【図４】  正弦波関数の窓とスペクトルの関係を説明するたちめの図である。
【図５】  同間引き処理で使用される分解アルゴリズムにおけるフィルタバンクを示す図である。
【図６】  同処理で使用される基底関数の他の例を示す図である。
【図７】  同処理で得られる分解数列の各要素が占める空間的・周波数的配置を示す図である。
【図８】  同分解数列の各要素からデータの重みを求める方法を説明するための図である。
【図９】  同処理の具体例を示す図である。
【図１０】  同処理を二次元データに適用した例を示す図である。
【図１１】  同処理を三次元データに適用した例を示す図である。
【図１２】  従来の間引き処理方法を説明するための図である。
【符号の説明】
１…測定テーブル、２…ワーク、３…変位検出器、４…駆動装置、５…測定値サンプリング部、６…記憶装置、７…信号処理部、８…表示部、９…操作部。
【図１】
0003752093.tif 000018
【図２】
0003752093.tif 000019
【図３】
0003752093.tif 000020
【図４】
0003752093.tif 000021
【図５】
0003752093.tif 000022
【図６】
0003752093.tif 000023
【図７】
0003752093.tif 000024
【図８】
0003752093.tif 000025
【図９】
0003752093.tif 000026
【図１０】
0003752093.tif 000027
【図１２】
0003752093.tif 000028
【図１１】
0003752093.tif 000029