JP3608229B2 - Adaptive filter method and apparatus - Google Patents

Adaptive filter method and apparatus Download PDF

Info

Publication number
JP3608229B2
JP3608229B2 JP22702494A JP22702494A JP3608229B2 JP 3608229 B2 JP3608229 B2 JP 3608229B2 JP 22702494 A JP22702494 A JP 22702494A JP 22702494 A JP22702494 A JP 22702494A JP 3608229 B2 JP3608229 B2 JP 3608229B2
Authority
JP
Japan
Prior art keywords
filter
group
filtered
adaptive filter
adaptive
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP22702494A
Other languages
Japanese (ja)
Other versions
JPH0896154A (en
Inventor
琢 横山
卓志 戸塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP22702494A priority Critical patent/JP3608229B2/en
Publication of JPH0896154A publication Critical patent/JPH0896154A/en
Application granted granted Critical
Publication of JP3608229B2 publication Critical patent/JP3608229B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【産業上の利用分野】
本発明はフィルタ処理において、速度の段階に応じた複数のフィルタを用意することで、要求した速度の段階に応じる適応型フィルタ技術に関する。
本発明は特に、ボリューム・レンダリング手法による適応型フィルタ技術に関する。
【0002】
【従来の技術】
図9に図解したように、フィルタを用いた補間処理は以下の手順により行なわれる。
手順1:出力点にフィルタの中心を重ねる。
手順2:フィルタ幅内に存在する入力点を1個選択する。
手順3:出力点と入力点の距離を算出する。
手順4:距離に応じたフィルタ係数を求める。
手順5:フィルタ係数と入力値の乗算値を算出する。
手順6:手順2における全ての入力点について手順3〜5を繰り返し、手順5の乗算値を累積加算する。
フィルタの領域が大きい方が、フィルタの内側に存在する入力点が増え、多くの入力点から補間を行えるため精度の高い出力が得られる。しかし一方で上記の手順5における演算が増えるため処理時間は長くなる。
【0003】
従来の技術においてフィルタの交換を行なわない第1のフィルタ方法を説明する。この方法では、フィルタは予め選択した1個のフィルタを用いる。このフィルタを用いてフィルタ処理を行なう方法は、フィルタの交換が出来ないため、出力データの要求精度やフィルタ処理の要求速度に応じることは出来なかった。
【0004】
次に、従来の技術においてフィルタ処理を行なう第2のフィルタ方法について説明する。この方法では、予め複数のフィルタを用意して出力精度の順番を付けておく。先に述べたように、フィルタの領域が大きいフィルタの方が多くの入力点から出力点の値を算出できるため出力精度が高い。
いま、フィルタを3次元フィルタとし、精度の低い順にフィルタの大きさを、1×1×1、2×2×2、3×3×3、4×4×4とすると、この順番通りに出力精度は高くなる。
いま、以下に挙げる4個の大きさの3次元フィルタ、1×1×1、2×2×2、3×3×3、4×4×4が用意されていると仮定する。入力データが規則的に空間上に与えられている例として、3次元空間の整数座標上に入力データが存在する場合は、出力点の算出の際に、フィルタの体積(容積)に比例して、フィルタ内の入力点の個数を計算することが出来る(注1)。
いま、1×1×1のフィルタ内に1個の入力点が存在するとき、2×2×2のフィルタは体積が8倍なのでフィルタ内の入力点の個数も8個、3×3×3のフィルタは体積が27倍なのでフィルタ内の入力点の個数も27個、4×4×4のフィルタは体積が64倍なのでフィルタ内の入力点の個数も64個、と概算できる。
【0005】
次に、フィルタ処理におけるフィルタ係数の乗算回数は、フィルタ内の入力点の個数と等しいことを示す。ここで、最初に述べた補間処理の手順4における出力点の値の算出式を示しておく。ただし、出力点A(i)の値をe(i)とする(i=1,2,…,m)。また、入力点の値をd(j)(j=1,2,…,n)、この点におけるフィルタ係数をv(j)(j=1,2,…,n)とする。
【0006】

Figure 0003608229
【0007】
式(1)の処理を示すフローチャートを図10に示す。ただし、値を算出する出力点数をm個、各出力点の値の算出に必要な入力点数をn個とする。以下、図10を参照して説明する。
【0008】
ステップ01(S01):変数iを1で初期化する。
ステップ02(S02):変数jを1で初期化する。
ステップ03(S03):入力点B(j)のデータd(j)を算出する。
ステップ04(S04):出力点の値e(i)0で初期化する。
ステップ05(S05):出力点A(i)と入力点B(j)との距離s(j)を算出する。
ステップ06(S06):フィルタの中心からの距離がs(j)に最も近いフィルタ係数v(j)を選択する。
ステップ07(S07):e(i)=e(i)+v(j)d(j)を計算する。
ステップ08(S08):j=j+1を計算する。
ステップ09(S09):j≦nなら、ステップ03〜ステップ08の処理を繰り返す。
ステップ10(S10):j>nならば、i=i+1を計算する。
ステップ11(S11):i≦mなら、ステップ02〜ステップ10の処理を繰り返す。
【0009】
ここで説明したフィルタ処理の演算回数を考える。ステップ07における乗算と加算を合わせて1個の演算としたとき、演算回数はフィルタ内の入力点の数と同じn回である(注2)。
以上によりフィルタ処理において以下のことが分かる。即ち、(注1)より、フィルタの体積はフィルタ内の入力点の個数に比例し、(注2)より、フィルタ処理の演算回数はフィルタ内の入力点の個数に等しい。従って、フィルタの体積はフィルタ処理の演算回数に比例する。また、フィルタ処理の演算回数は、フィルタの処理時間に比例するので、フィルタの体積はフィルタの処理時間に比例することが分かる(注3)。
【0010】
ここで、1×1×1、2×2×2、3×3×3、4×4×4の4個のフィルタを順にF1,F2,F3,F4としたとき、これらのフィルタの処理時間について考える。
いま、1×1×1のフィルタの処理時間をT1としたとき、(注3)より他の3個のフィルタの処理時間は、下記式で表される。
【0011】
T2=8T1
T3=27T1
T4=64T1
【0012】
この4個のフィルタを用いて、フィルタの処理時間の段階に応じたフィルタ処理を行なうことを試みる。この場合、図11に示したように、処理時間の段階ごとに以下のフィルタ対応させることができる。
フィルタF1(処理時間が0からT1まで)、フィルタF2(処理時間がT1から8T1まで)、フィルタF3(処理時間が8T1から27T1まで)、フィルタF4(処理時間が27T1から64T1まで)。
このとき、要求する処理速度が4T1ごとに等加速する場合、要求速度が速い間は実際の処理時間との誤差が小さいが、要求速度が遅くなるとは実際の処理時間との誤差が大きくなる。
【0013】
具体的に、要求する処理時間が5T1と15T1の場合について計算してみる。
要求する処理時間が5T1のときは、フィルタF2が選択されるので、実際の処理時間は8T1になり、その誤差は+3T1である。
また、要求する処理時間が15T1のときは、フィルタF3が選択されるので、実際の処理時間は27T1になり、その誤差は+12T1である。
以上より、出力精度の段階毎に用意したフィルタ群は、これをそのまま演算の処理時間の段階に応じたフィルタとして用いようとすると、要求速度が変化するとき、実際の処理時間との誤差が不規則であり、滑らかな速度の変化を実現することが出来なかった。
【0014】
【発明が解決しようとする課題】
従来の技術において、フィルタの交換を行なわない第1のフィルタ方法は演算速度の段階に応じたフィルタ処理を行なうことが出来なかった。
【0015】
また、従来の技術において、出力精度の要求段階ごとのフィルタを用意し、要求する出力精度に応じてフィルタ処理を行なう第2のフィルタ方法は、処理時間の段階に応じたフィルタ処理を行なうことは出来なかった。なぜなら、出力精度の段階に応じて用意されたフィルタ群は、これをそのまま演算の処理時間の段階に応じて用いようとすると、処理速度において不規則な段階の変化を生じるためである。
【0016】
本発明は上述した第1のフィルタ方法および第2のフィルタ方法における問題を解決するものであり、本発明の目的は、設定した速度の段階でフィルタ処理できるフィルタ方法および装置を提供することにある。
【0017】
【課題を解決するための手段】
本発明の第1観点によれば、 画像データ、あるいは、画像データをフーリエ変換したデータをフィルタ処理結果として出力するため、設定した速度の段階でフィルタ処理できるフィルタ群を記憶し、要求した速度に対応したn次元フィルタを選択する適応型フィルタ方法において、前記設定した速度でフィルタ処理できるフィルタ群の作り方は、前記n次元フィルタの一辺のタップ数が設定段階の(1/n)乗であることを特徴とする適応型フィルタ方法が提供される。
【0018】
本発明の第2観点によれば、画像データ、あるいは、画像データをフーリエ変換したデータをフィルタ処理結果として出力する適応型フィルタ装置であって、設定した速度の段階でフィルタ処理できるフィルタ群を記憶する手段と、要求した速度に対応したn次元のフィルタを選択する手段とを有し、前記記憶する手段は、前記設定した速度でフィルタ処理できるフィルタ群を、前記n次元フィルタの一辺のタップ数が設定段階の(1/n)乗として記憶する、適応型フィルタ装置が提供される。
【0019】
さらに本発明のフィルタ方法および装置は、速度の段階を線形に設定してフィルタ処理を行なう適応型フィルタ方法および装置である。
【0020】
本発明のフィルタ方法および装置は、設定した速度でフィルタ処理できるフィルタ群の作り方は、1個のフィルタのフィルタ係数から作ることを特徴とする適応型フィルタ方法および装置である。
【0021】
本発明のフィルタ方法および装置は、設定した速度の段階でフィルタ処理できるフィルタ群からフィルタを選択する規準は、速度センサーあるいは、圧力または温度等の物理量を測るセンサーからの信号であることを特徴とする適応型フィルタ方法および装置である。
【0022】
本発明のフィルタ方法および装置は、フィルタ処理の出力が、「画像データ」あるいは「画像データをフーリエ変換したデータ」であることを特徴とする適応型フィルタ方法および装置である。
【0023】
また本発明のフィルタ方法および装置は、設定した速度の段階でフィルタ処理できるフィルタ群から、フィルタを選択する規準は、動画像作成において1枚ずつの作成時間である特徴とする適応型フィルタ方法および装置である。
【0024】
【作用】
本発明の上記の構成によれば、ボリューム・レンダリング手法、好ましくは、周波数領域ボリューム・レンダリング手法に基づいて、設定した速度の段階でフィルタ処理できるフィルタ群を記憶し、要求速度に対応したフィルタをその中から選んでフィルタ処理を行なう。
【0025】
【実施例】
本発明の適応型フィルタ装置の第1実施例として、文献、Takashi ToTsuka,”Frequency Domain Volume Rendering”,COMPUTER GRAPHICS Proceedings,ANNUAL Conference Sereies,1993,pp271−278に開示された技術に対する、本発明の適用を図1〜図3のフローチャートを参照して、後で説明する。
以下、上記文献について簡単に説明するが、詳細な説明は前記文献に譲ることにする。
【0026】
最初に、上記文献におけるボリューム・レンダリング手法について簡単に説明する。
ボリューム・レンダリング手法はコンピュータ・グラフィックスの一手法であり、3次元空間の「場」の密度データを可視化する手段である。ボリューム・レンダリングにおけるデータの可視化は、図4に示すように、視線方向に垂直な投影画像を作成することで実現され、視線方向を変更する度に画像生成に必要な処理を更新することになる。
【0027】
”Frequency Domain Volume Rendering(周波数領域ボリューム・レンダリング手法)”は、このボリューム・レンダリングを高速に処理するアルゴリズムである。”Frequency DomainVolume Rendering”においては、図5に示すように、以下の3つの処理から構成される。
【0028】
処理A:実空間上の3次元データ(ボリュームデータ)に周波数変換を施し、周波数空間上の3次元データ(ボリュームデータ)にする。ただし、この過程は一度だけ行なえばよい。
処理B:図6に示すように、視線方向(投影方向)に垂直で、周波数空間上のボリュームデータの中心(原点)を通るような平面を考え、この平面上のデータを補間処理により算出する。
処理C:処理Bで算出された周波数空間上の2次元データに逆フーリエ変換を施すことで実空間上の2次元データを算出する。ここで算出された2次元データは、実空間上の投影画像に他ならない。
以上の一連の処理(処理Aから処理)により、投影画像を算出し、視線方向が変化する度に処理Aと処理Bを更新する。
【0029】
従来の”Frequency Domain Volume Rendering”のアルゴリズムは、投影像の出力精度の要求に応じてフィルタを交換することは出来たが、演算の処理速度に応じてフィルタを交換することは出来なかった。
その理由は以下の通りである。即ち、出力精度の段階を設定し、この段階毎にフィルタ群が用意されているとき、このフィルタ群を用いたフィルタの処理時間は一定の間隔では並んでいない。図7は、このことを示すための、出力精度に応じて線形なフィルタを処理時間に応じて並べた一例である。
従って、このフィルタ群をそのまま用いて演算の処理時間の段階を設定すると、例えば、一定間隔で加速する速度(等加速)を表現したいときに、誤差が不規則なため要求する速度の変化を満足できないという問題がある。
【0030】
この問題を解決するためには、演算の処理速度の段階(例えば、線形な段階)を設定し、この段階に応じたフィルタを設計出来れば良い。以下に、フィルタの設計方法の一例を述べる。
ここでは3次元フィルタを例にする。3次元フィルタの体積と演算の処理時間が比例関係にあることは、(注3)において証明済みである。
いま、演算の処理時間の段階を線形に設定することにする。1×1×1のフィルタの処理時間をT1としたとき、フィルタの処理時間が2倍の2T1となるフィルタを設計したい。ここで、3次元フィルタの体積と演算の処理時間は比例関係にあるので、速度が2倍のフィルタを設計するには、体積が2倍のフィルタを設計すればよい。フィルタが立方体形状であるので、体積を2倍にするには、立方体の一辺の長さ(2の(1/3)乗)にすればよい。ここで、一辺の長さが(2の(1/3)乗)のフィルタを作る方法を考える。いま仮に1×1×1のフィルタの一辺のフィルタ係数の数(タップ数)が256個あったとする。このとき、一辺の長さが(2の(1/3)乗)のフィルタは、一辺のフィルタ係数の数(タップ数)が、256*(2の(1/3)乗)になるフィルタである。
この処理を拡張すると、フィルタの処理時間がn倍のnT1となるフィルタを設計するには、立方体の一辺の長さが(nの(1/3)乗)にすればよい。
以上により、1×1×1のフィルタの処理時間を単位として、線形の処理速度ごとに用意されたフィルタ群を有することで、要求速度に対して一様な(線形な)応答でフィルタが交換されて、フィルタ処理を行なえる。
また、1個のフィルタのフィルタ係数を段階的に用いることにより、処理速度の段階ごとに用意したフィルタを実現できる。
【0031】
図8にその一例を挙げる。図8における4個のフィルタ1〜4の大きさは、フィルタAのフィルタ係数を途中で打ち切ることでも実現できる。
例えば、フィルタの中心から外側に向けて、与えられた体積の比率を守りながら徐々にフィルタ係数を増やす方法がある。
一般にフィルタ係数は、フィルタの中心から離れるほど小さくなるので、この場合は効率の良いフィルタ処理が行なえる。
【0032】
これらの線形な段階に応じて用意したフィルタ群を用いて、”Frequency Domain Volume Rendering”の補間処理への応用を考える。この場合、フィルタ処理の出力データにフーリエ変換を施して画像データが算出される。従って、動画の各フレームの作成時間に対応した処理を行ないたい。ここでは、マウスにより視線方向の変換を行ない、その際のマウスの移動速度の検出により動画の速度を調整する。
このときの、本発明による適応的演算方法の処理の流れを図1〜図3に示すフローチャートを参照して説明する。
【0033】
最初に全体の処理の流れを図1に示す。
ステップ100(S100):要求速度に応じたフィルタを選択する。
ステップ200(S200):フィルタ処理により出力を算出する。
【0034】
図1に示したステップ100の処理の流れを図2で示す。
ステップ101(S101):マウスの移動速度を検出する。
ステップ102(S102):検出した移動速度から、フィルタ群の処理速度の段階kを指示する。
ステップ103(S103):段階kに対応するフィルタF(k)を選択する。
【0035】
図1に示したステップ200の処理の流れを図3に示す。
ステップ201(S201):変数iを1で初期化する。
ステップ202(S202):変数jを1で初期化する。
ステップ203(S203):入力点B(j)のデータd(j)を算出する。
ステップ204(S204):出力点の値e(i,k)0で初期化する。
ステップ205(S205):出力点A(i)と入力点B(j)との距離s(j)を算出する。
ステップ206(S206):フィルタF(k)の中心からの距離がs(j)に最も近いフィルタ係数v(j,k)を選択する。
ステップ207(S207):e(i,k)=e(i,k)+v(j,k)d(j)を計算する。
ステップ208(S208):j=j+1を計算する。
ステップ209(S209):j≦nなら、ステップ203〜ステップ208の処理を繰り返す。
ステップ210(S210):j>nなら、i=i+1を計算する。
ステップ211(S211):i≦mなら、ステップ202〜ステップ211の処理を繰り返す。
【0036】
以上の処理の流れより、マウスの移動速度に連動したボリューム・レンダリングの画像作成が可能になる。このとき、速度が速い場合は出力精度は悪くなり、速度が遅い場合は出力精度は良くなるので、「高速に動いている物体の細部は明確に認識できない」という人間の視覚特性に合った動画処理が行なえる。
【0037】
また、本実施例においては、補間処理にフィルタを用いたが、補間処理以外のフィルタ処理においても本発明は適用される。
また、本実施例においては、マウスの移動速度を検出したが、温度や圧力等の他の物理量を測るセンサーを用いる場合にも本発明は適用される。
また、本実施例においては、演算の処理速度の段階を線形に設定した(直線式を用いた)が、任意の関数を用いて段階を設定する場合にも本発明は適用できる。
また、本実施例においては、立方体形状の3次元フィルタを用いたが、一般に任意形状のn次元フィルタ(nは自然数)を用いる場合にも本発明は適用できる。
【0038】
【発明の効果】
本発明の適応型フィルタ装置は以下の効果をもたらす。
(1)”Frequency Domain Volume Rendering”において、マウスにより視線方向を決定する際にマウスの移動速度を検出し、線形に設定された処理時間の各段階ごとにフィルタを用意し、マウスの移動速度により処理時間の段階を指示することでフィルタを選択し、選択したフィルタによってフィルタ処理を行ない、この出力データに逆フーリエ変換を施すことで画像データを算出する。この一連の処理により、マウスの移動速度により、動画の画像作成の処理速度を滑らかに制御し、かつ高速になるにつれて細部が認識できなくなる(出力精度が低下する)という人間の視覚特性に合った動画処理を行なうことが出来る。
【0039】
(2)本発明の適応型フィルタ装置において、演算の処理速度の段階を自由に設定し、3次元フィルタの場合には一辺の長さが(設定段階の1/3乗)のフィルタ群を用意し、また、n次元フィルタの場合には(設定段階の1/n)乗)のフィルタ群を用意することにより、設定段階に応じたフィルタを用意できる。
【0040】
(3)本発明の適応型フィルタ装置において、速度または圧力または温度等の物理量を測るセンサーからの信号から、処理速度の段階を指示することにより、これらの物理量で処理速度を制御できる。
【0041】
(4)本発明の適応型フィルタ装置において、一つのフィルタのフィルタ係数を段階的に用いることで、複数の段階に対応したフィルタとして用いる事が出来るため、フィルタ係数を記憶する記憶領域が小さくて済む。
【0042】
(5)本発明の適応型フィルタ装置を、動画における各フレームの画像生成に用いることで人間の視覚特性に合った動画が生成できる。
【図面の簡単な説明】
【図1】本発明の適応型フィルタ方法の一実施例の処理を示すフローチャートである。
【図2】図1に示したステップ100の処理を示すフローチャートである。
【図3】図1に示したステップ200の処理を示すフローチャートである。
【図4】ボリューム・レンダリングを説明する図である。
【図5】周波数領域ボリューム・レンダリング手法(Frequency Domain volume Rendering)の全体の処理を示す図である。
【図6】周波数領域ボリューム・レンダリング手法の補間処理を示す図である。
【図7】フィルタの処理時間の段階を示す図である。
【図8】1個のフィルタ係数を段階的に用いる図である。
【図9】フィルタを用いた補間処理を示す図である。
【図10】従来の技術のフィルタ方法の処理を示すフローチャートである。
【図11】処理時間の段階ごとにフィルタを対応させた場合の図である。[0001]
[Industrial application fields]
The present invention relates to an adaptive filter technique according to a requested speed stage by preparing a plurality of filters according to the speed stage in the filter processing.
The present invention particularly relates to an adaptive filter technique based on a volume rendering technique.
[0002]
[Prior art]
As illustrated in FIG. 9, the interpolation process using the filter is performed according to the following procedure.
Step 1: Place the filter center on the output point.
Procedure 2: Select one input point existing within the filter width.
Procedure 3: The distance between the output point and the input point is calculated.
Procedure 4: A filter coefficient corresponding to the distance is obtained.
Step 5: Calculate a multiplication value of the filter coefficient and the input value.
Step 6: Repeat steps 3-5 for all the input point in the procedure 2, accumulatively adds the multiplication values of step 5.
The larger the filter area, the more input points existing inside the filter, and interpolation can be performed from many input points, so that a highly accurate output can be obtained. However, on the other hand, the calculation time in the above procedure 5 increases, so the processing time becomes long.
[0003]
A first filter method in which no filter is replaced in the prior art will be described. In this method, a preselected filter is used as the filter. The filter processing method using this filter cannot replace the filter, and cannot meet the required output data accuracy and the required filter processing speed.
[0004]
Then, in the prior art for the second filter method for performing filter processing will be described. In this method, a plurality of filters are prepared in advance and the order of output accuracy is assigned. As described above, a filter having a large filter area can calculate output point values from a large number of input points, so that output accuracy is high.
Now, assuming that the filter is a three-dimensional filter and the size of the filter is 1 × 1 × 1, 2 × 2 × 2, 3 × 3 × 3, 4 × 4 × 4 in ascending order of accuracy, output is performed in this order. The accuracy is increased.
Assume that the following four-dimensional three-dimensional filters, 1 × 1 × 1, 2 × 2 × 2, 3 × 3 × 3, and 4 × 4 × 4, are prepared. As an example where the input data is regularly given on the space, when the input data exists on the integer coordinates of the three-dimensional space, the output point is calculated in proportion to the volume of the filter (volume). The number of input points in the filter can be calculated (Note 1).
Now, when there is one input point in the 1 × 1 × 1 filter, the 2 × 2 × 2 filter has 8 times the volume, so the number of input points in the filter is also 8 × 3 × 3 × 3 Since the volume of the filter is 27 times, the number of input points in the filter is 27, and the 4 × 4 × 4 filter has a volume of 64 times, so the number of input points in the filter is 64.
[0005]
Next, it is shown that the number of times the filter coefficient is multiplied in the filter processing is equal to the number of input points in the filter. Here, an equation for calculating the value of the output point in the procedure 4 of the interpolation process described first is shown. However, the value of the output point A (i) is assumed to be e (i) (i = 1, 2,..., M ). Further, the value of the input point is d (j) (j = 1, 2,..., N), and the filter coefficient at this point is v (j) (j = 1, 2,..., N).
[0006]
Figure 0003608229
[0007]
FIG. 10 is a flowchart showing the processing of the formula (1). However, the number of output points for calculating the value is m, and the number of input points necessary for calculating the value of each output point is n. Hereinafter, a description will be given with reference to FIG.
[0008]
Step 01 (S01): The variable i is initialized with 1.
Step 02 (S02): The variable j is initialized with 1.
Step 03 (S03): Data d (j) at the input point B (j) is calculated.
Step 04 (S04): The output point value e (i) is initialized to zero.
Step 05 (S05): A distance s (j) between the output point A (i) and the input point B (j) is calculated.
Step 06 (S06): A filter coefficient v (j) whose distance from the center of the filter is closest to s (j) is selected.
Step 07 (S07): e (i) = e (i) + v (j) d (j) is calculated.
Step 08 (S08): j = j + 1 is calculated.
Step 09 (S09): If j ≦ n, the processes of Step 03 to Step 08 are repeated.
Step 10 (S10): If j> n, i = i + 1 is calculated.
Step 11 (S11): If i ≦ m, repeat the process from Step 02 to Step 10.
[0009]
Consider the number of operations of the filter processing described here. When multiplication and addition in Step 07 are combined into one operation, the number of operations is n times the same as the number of input points in the filter (Note 2).
From the above, the following can be understood in the filter processing. That is, from (Note 1), the volume of the filter is proportional to the number of input points in the filter, and from (Note 2), the number of computations of the filter processing is equal to the number of input points in the filter. Therefore, the volume of the filter is proportional to the number of computations of the filter process. Further, since the number of times of the filter processing is proportional to the filter processing time, it can be seen that the filter volume is proportional to the filter processing time (Note 3).
[0010]
Here, when four filters of 1 × 1 × 1, 2 × 2 × 2, 3 × 3 × 3, 4 × 4 × 4 are sequentially designated as F1, F2, F3, and F4, the processing time of these filters think about.
Now, assuming that the processing time of the 1 × 1 × 1 filter is T1, the processing times of the other three filters from (Note 3) are expressed by the following equations.
[0011]
T2 = 8T1
T3 = 27T1
T4 = 64T1
[0012]
Using these four filters, an attempt is made to perform filter processing according to the stage of the filter processing time. In this case, as shown in FIG. 11, the following filters can be made to correspond to each stage of the processing time.
Filter F1 (processing time from 0 to T1), filter F2 (processing time from T1 to 8T1), filter F3 (processing time from 8T1 to 27T1), filter F4 (processing time from 27T1 to 64T1).
At this time, if the processing speed required by the equally accelerates every 4T1, although during the request speed is high small error between the actual processing time, increases the error between the actual processing time and the required speed becomes slow.
[0013]
Specifically, calculation is performed for the cases where the requested processing times are 5T1 and 15T1.
When the requested processing time is 5T1, since the filter F2 is selected, the actual processing time is 8T1, and the error is + 3T1.
When the requested processing time is 15T1, the filter F3 is selected, so the actual processing time is 27T1, and the error is + 12T1.
As described above, if the filter group prepared for each output accuracy stage is used as it is as a filter according to the calculation processing time stage, there is no error in the actual processing time when the required speed changes. It was a rule, and it was impossible to realize a smooth change in speed.
[0014]
[Problems to be solved by the invention]
In the prior art, the first filter method that does not replace the filter cannot perform the filter process according to the stage of the calculation speed.
[0015]
Further, in the conventional technique, the second filter method for preparing a filter for each output accuracy required stage and performing the filter processing according to the required output accuracy is to perform the filter processing according to the processing time stage. I could not do it. This is because the filter group prepared according to the stage of output accuracy causes an irregular stage change in the processing speed if it is used as it is according to the stage of the processing time of the calculation.
[0016]
The present invention solves the problems in the first filter method and the second filter method described above, and an object of the present invention is to provide a filter method and apparatus capable of performing filtering at a set speed stage. .
[0017]
[Means for Solving the Problems]
According to the first aspect of the present invention, in order to output image data or data obtained by Fourier transforming image data as a filter processing result, a filter group that can be filtered at a set speed stage is stored, and the requested speed is obtained. in the adaptive filter method for selecting the n-dimensional filter the corresponding, how to make filter group that can be filtered at a rate above configuration, the number of taps of one side of the n-dimensional filter is a power of (1 / n) of the setting step An adaptive filter method is provided.
[0018]
According to a second aspect of the present invention, there is provided an adaptive filter device that outputs image data or data obtained by Fourier transforming image data as a filter processing result, and stores a group of filters that can be filtered at a set speed stage. means for, and means for selecting the n-dimensional filter corresponding to the requested velocity, the means for storing includes a filter group that can be filtered at a rate above set, one side of the tap of the n-dimensional filter An adaptive filter device is provided in which the number is stored as the (1 / n) power of the setting stage.
[0019]
Furthermore, the filter method and apparatus of the present invention is an adaptive filter method and apparatus for performing filter processing with the speed stage set linearly.
[0020]
The filter method and apparatus according to the present invention is an adaptive filter method and apparatus characterized in that a filter group that can be filtered at a set speed is created from the filter coefficients of one filter.
[0021]
In the filtering method and apparatus of the present invention, the criterion for selecting a filter from a group of filters that can be filtered at a set speed stage is a signal from a speed sensor or a sensor that measures a physical quantity such as pressure or temperature. An adaptive filter method and apparatus .
[0022]
The filtering method and apparatus of the present invention is an adaptive filtering method and apparatus characterized in that the output of the filtering process is “image data” or “data obtained by Fourier transforming image data”.
[0023]
The filtering method and apparatus of the present invention, the filter group that can be filtered by speed stage set, criteria for selecting the filter, the adaptive filter method wherein a creation time of the one by one in creating moving image and Device .
[0024]
[Action]
According to the above configuration of the present invention, a filter group that can be filtered at a set speed stage is stored based on a volume rendering method, preferably a frequency domain volume rendering method, and a filter corresponding to the required speed is stored. Select one of them and perform filter processing.
[0025]
【Example】
As a first embodiment of the adaptive filter device of the present invention, Takashi ToTsuka, “Frequency Domain Volume Rendering”, COMPUTER GRAPHICS Proceedings, NN, disclosed in 1993, pp1 Will be described later with reference to the flowcharts of FIGS.
The above document will be briefly described below, but the detailed description will be left to the document.
[0026]
First, the volume rendering method in the above document will be briefly described.
The volume rendering technique is a technique for computer graphics, and is a means for visualizing density data of a “field” in a three-dimensional space. As shown in FIG. 4, visualization of data in volume rendering is realized by creating a projection image perpendicular to the line-of-sight direction, and processing necessary for image generation is updated every time the line-of-sight direction is changed. .
[0027]
“Frequency Domain Volume Rendering (frequency domain volume rendering technique)” is an algorithm for processing this volume rendering at high speed. “Frequency DomainVolume Rendering” includes the following three processes as shown in FIG.
[0028]
Process A : Frequency conversion is performed on three-dimensional data (volume data) in real space to obtain three-dimensional data (volume data) in the frequency space. However, this process only needs to be performed once.
Process B : As shown in FIG. 6, a plane perpendicular to the line-of-sight direction (projection direction) and passing through the center (origin) of the volume data in the frequency space is considered, and data on this plane is calculated by interpolation processing. .
Process C : Two-dimensional data in real space is calculated by performing inverse Fourier transform on the two-dimensional data in frequency space calculated in process B. The two-dimensional data calculated here is nothing but a projected image in real space.
A projection image is calculated by the above series of processes (process A to process C ), and process A and process B are updated each time the line-of-sight direction changes.
[0029]
The conventional “Frequency Domain Volume Rendering” algorithm can replace the filter according to the requirement of the output accuracy of the projected image, but cannot replace the filter according to the processing speed of the calculation.
The reason is as follows. That is, when a stage of output accuracy is set and a filter group is prepared for each stage, the processing times of the filters using this filter group are not arranged at regular intervals. FIG. 7 shows an example in which linear filters are arranged according to the processing time to indicate this.
Therefore, if this filter group is used as it is and the processing time stage is set, for example, when it is desired to express the speed of acceleration at constant intervals (equal acceleration), the required speed change is satisfied because the error is irregular. There is a problem that you can not.
[0030]
In order to solve this problem, it is only necessary to set a stage of processing speed (for example, a linear stage) and design a filter corresponding to this stage. Hereinafter, an example of a filter design method will be described.
Here, a three-dimensional filter is taken as an example. It has been proved in (Note 3) that the volume of the three-dimensional filter is proportional to the processing time of the calculation.
Now, the stage of processing time of calculation is set linearly. When the processing time of a 1 × 1 × 1 filter is T1, I want to design a filter that doubles the processing time of the filter to 2T1. Here, since the volume of the three-dimensional filter and the processing time of the calculation are in a proportional relationship, in order to design a filter having a double speed, it is only necessary to design a filter having a double volume. Since the filter is a cubic shape, to double the volume, it may be the length of the cube side to (2 (1/3) th power). Here, consider a method of creating a filter having a side length of (2 to the power of (1/3) ). Assume that there are 256 filter coefficients (number of taps) on one side of a 1 × 1 × 1 filter. At this time, a filter having a side length of (2 to the (1/3) th power) is a filter in which the number of filter coefficients on one side (the number of taps) is 256 * (2 to the (1/3) power). is there.
When this process is expanded, a filter whose nT1 is n times as long as the filter processing time can be designed by setting the length of one side of the cube to (n to the (1/3) th power).
As described above, by having a filter group prepared for each linear processing speed in units of processing time of a 1 × 1 × 1 filter, the filters are exchanged with a uniform (linear) response to the required speed. Then, filtering can be performed.
Further, by using the filter coefficients of one filter stepwise, it is possible to realize a filter prepared for each processing speed step.
[0031]
An example is shown in FIG. Four sizes of filter 1-4 in FIG. 8 can also be realized by as possible hit Chi the filter coefficients of the filter A in the middle.
For example, there is a method of gradually increasing the filter coefficient from the center of the filter toward the outside while keeping a given volume ratio.
In general, the filter coefficient decreases as the distance from the center of the filter decreases. In this case, efficient filter processing can be performed.
[0032]
Consider the application of “Frequency Domain Volume Rendering” to the interpolation processing using a filter group prepared according to these linear stages. In this case, image data is calculated by performing Fourier transform on the output data of the filter processing. Therefore, we want to perform processing corresponding to the creation time of each frame of the moving image. Here, the line-of-sight direction is converted by the mouse, and the moving image speed is adjusted by detecting the moving speed of the mouse at that time.
The processing flow of the adaptive calculation method according to the present invention will be described with reference to the flowcharts shown in FIGS.
[0033]
First, the overall processing flow is shown in FIG.
Step 100 (S100): A filter corresponding to the requested speed is selected.
Step 200 (S200): Output is calculated by filter processing.
[0034]
FIG. 2 shows the flow of processing in step 100 shown in FIG.
Step 101 (S101): The moving speed of the mouse is detected.
Step 102 (S102): The stage k of the processing speed of the filter group is instructed from the detected moving speed.
Step 103 (S103): A filter F (k) corresponding to the stage k is selected.
[0035]
FIG. 3 shows the flow of processing of step 200 shown in FIG.
Step 201 (S201): The variable i is initialized with 1.
Step 202 (S202): The variable j is initialized with 1.
Step 203 (S203): Data d (j) at the input point B (j) is calculated.
Step 204 (S204): The output point value e (i, k) is initialized to zero.
Step 205 (S205): A distance s (j) between the output point A (i) and the input point B (j) is calculated.
Step 206 (S206): A filter coefficient v (j, k) that is closest to s (j) from the center of the filter F (k) is selected.
Step 207 (S207): e (i, k) = e (i, k) + v (j, k) d (j) is calculated.
Step 208 (S208): j = j + 1 is calculated.
Step 209 (S209): If j ≦ n, the processing from step 203 to step 208 is repeated.
Step 210 (S210): If j> n, i = i + 1 is calculated.
Step 211 (S211): If i ≦ m, the processing of Step 202 to Step 211 is repeated.
[0036]
From the above processing flow, it is possible to create a volume rendering image that is linked to the moving speed of the mouse. At this time, if the speed is high, the output accuracy will deteriorate, and if the speed is low, the output accuracy will improve. Therefore, a video that matches the human visual characteristics that "details of objects moving at high speed cannot be clearly recognized" Can be processed.
[0037]
In this embodiment, a filter is used for the interpolation process, but the present invention is also applied to a filter process other than the interpolation process.
In the present embodiment, the moving speed of the mouse is detected, but the present invention is also applied to a case where a sensor that measures other physical quantities such as temperature and pressure is used.
In this embodiment, the stage of the processing speed of calculation is set linearly (using a linear equation), but the present invention can also be applied to the case where the stage is set using an arbitrary function.
In this embodiment, a cubic three-dimensional filter is used. However, the present invention can also be applied to an arbitrary-shaped n-dimensional filter (n is a natural number).
[0038]
【The invention's effect】
The adaptive filter device of the present invention provides the following effects.
(1) In “Frequency Domain Volume Rendering”, the movement speed of the mouse is detected when determining the gaze direction with the mouse, and a filter is prepared for each stage of the processing time set linearly. A filter is selected by instructing the stage of processing time, filter processing is performed by the selected filter, and image data is calculated by performing inverse Fourier transform on the output data. Through this series of processing, the moving speed of the mouse is controlled smoothly by the moving speed of the mouse, and it matches the human visual characteristic that details cannot be recognized (output accuracy decreases) as the speed increases. Movie processing can be performed.
[0039]
(2) In the adaptive filter device of the present invention, the stage of the processing speed of the operation is freely set, and in the case of a three-dimensional filter, a group of filters whose side length is ( ( 1/3 ) th power of the setting stage) In the case of an n-dimensional filter, a filter according to the setting stage can be prepared by preparing a filter group of (( 1 / n) th power of the setting stage).
[0040]
(3) In the adaptive filter device of the present invention, the processing speed can be controlled with these physical quantities by instructing the stage of the processing speed from a signal from a sensor that measures a physical quantity such as speed, pressure, or temperature.
[0041]
(4) In the adaptive filter device of the present invention, by using the filter coefficients of one filter in stages, it can be used as a filter corresponding to a plurality of stages, so the storage area for storing the filter coefficients is small. That's it.
[0042]
(5) By using the adaptive filter device of the present invention for image generation of each frame in a moving image, it is possible to generate a moving image that matches human visual characteristics.
[Brief description of the drawings]
FIG. 1 is a flowchart showing processing of an embodiment of an adaptive filter method of the present invention.
FIG. 2 is a flowchart showing processing of Step 100 shown in FIG.
FIG. 3 is a flowchart showing a process of step 200 shown in FIG. 1;
FIG. 4 is a diagram illustrating volume rendering.
FIG. 5 is a diagram illustrating an entire process of a frequency domain volume rendering technique.
FIG. 6 is a diagram illustrating interpolation processing of a frequency domain volume rendering method.
FIG. 7 is a diagram illustrating stages of processing time of a filter.
FIG. 8 is a diagram using one filter coefficient in stages.
FIG. 9 is a diagram illustrating an interpolation process using a filter.
FIG. 10 is a flowchart showing processing of a conventional filtering method.
FIG. 11 is a diagram when a filter is associated with each stage of processing time;

Claims (10)

画像データ、あるいは、画像データをフーリエ変換したデータをフィルタ処理結果として出力するため、設定した速度の段階でフィルタ処理できるフィルタ群を記憶し、要求した速度に対応したn次元フィルタを選択する適応型フィルタ方法において、
前記設定した速度でフィルタ処理できるフィルタ群の作り方は、前記n次元フィルタの一辺のタップ数が設定段階の(1/n)乗である
ことを特徴とする適応型フィルタ方法。
In order to output image data or data obtained by Fourier transform of image data as a filter processing result, a filter group that can be filtered at a set speed stage is stored, and an adaptive type that selects an n-dimensional filter corresponding to the requested speed In the filtering method,
The recipe filter group that can be filtered at the set speed, the adaptive filter wherein the number of taps of one side of the n-dimensional filter is a power of (1 / n) of the setting stages.
請求項1に記載の適応型フィルタ方法において、前記設定した速度の段階は線形であることを特徴とする適応型フィルタ方法。2. The adaptive filter method according to claim 1, wherein the set speed stage is linear. 請求項1または2に記載の適応型フィルタ方法において、前記設定した速度の段階でフィルタ処理できるフィルタ群は、1個のフィルタのフィルタ係数から作ることを特徴とする適応型フィルタ方法。3. The adaptive filter method according to claim 1, wherein a filter group that can be filtered at the set speed stage is made from filter coefficients of one filter. 請求項1〜3のいずれかに記載の適応型フィルタ方法において、前記設定した速度の段階でフィルタ処理できるフィルタ群から、フィルタを選択する規準は、速度センサー、あるいは、圧力または温度等の物理量を測るセンサーからの信号である
ことを特徴とする適応型フィルタ方法。
4. The adaptive filter method according to claim 1, wherein a criterion for selecting a filter from a group of filters that can be filtered at the set speed stage is a speed sensor or a physical quantity such as pressure or temperature. An adaptive filter method characterized by being a signal from a sensor to be measured.
請求項1〜4のいずれかに記載の適応型フィルタ方法において、前記設定した速度の段階でフィルタ処理できるフィルタ群から、フィルタを選択する規準は、動画像作成において1枚ずつの作成時間であることを特徴とする適応型フィルタ方法。The adaptive filter method according to any one of claims 1 to 4 , wherein a criterion for selecting a filter from a group of filters that can be filtered at the set speed stage is a creation time for each image. And an adaptive filter method. 画像データ、あるいは、画像データをフーリエ変換したデータをフィルタ処理結果として出力する適応型フィルタ装置であって、
設定した速度の段階でフィルタ処理できるフィルタ群を記憶する手段と、
要求した速度に対応したn次元のフィルタを選択する手段と
を有し、
前記記憶する手段は、前記設定した速度でフィルタ処理できるフィルタ群を、前記n次元フィルタの一辺のタップ数が設定段階の(1/n)乗として記憶する、
適応型フィルタ装置。
An adaptive filter device that outputs image data or data obtained by Fourier transforming image data as a filter processing result,
Means for storing a group of filters that can be filtered at a set speed stage;
Means for selecting an n-dimensional filter corresponding to the requested speed;
Have
It said means for storing includes a filter group that can be filtered at a rate above setting, the number of taps of one side of the n-dimensional filter is stored as (1 / n) power setting step,
Adaptive filter device.
請求項6に記載の適応型フィルタ装置において、前記設定した速度の段階は線形であることを特徴とする適応型フィルタ装置。7. The adaptive filter device according to claim 6 , wherein the set speed stage is linear. 請求項6または7に記載の適応型フィルタ装置において、前記設定した速度の段階でフィルタ処理できるフィルタ群は、1個のフィルタのフィルタ係数から作られていることを特徴とする適応型フィルタ装置。8. The adaptive filter device according to claim 6 , wherein the filter group that can be filtered at the set speed stage is formed from filter coefficients of one filter. 請求項6〜8のいずれかに記載の適応型フィルタ装置において、前記設定した速度の段階でフィルタ処理できるフィルタ群からフィルタを選択する規準は、速度センサーあるいは、圧力または温度等の物理量を測るセンサーからの信号であることを特徴とする適応型フィルタ装置。9. The adaptive filter device according to claim 6 , wherein a criterion for selecting a filter from a group of filters that can be filtered at the set speed stage is a speed sensor or a sensor that measures a physical quantity such as pressure or temperature. An adaptive filter device characterized by being a signal from 請求項6〜9のいずれかに記載の適応型フィルタ装置において、前記設定した速度の段階でフィルタ処理できるフィルタ群からフィルタを選択する規準は、動画像作成において1枚ずつの作成時間であることを特徴とする適応型フィルタ装置。10. The adaptive filter device according to claim 6 , wherein a criterion for selecting a filter from a group of filters that can be filtered at the set speed stage is a creation time for each image. An adaptive filter device characterized by the above.
JP22702494A 1994-09-21 1994-09-21 Adaptive filter method and apparatus Expired - Fee Related JP3608229B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22702494A JP3608229B2 (en) 1994-09-21 1994-09-21 Adaptive filter method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22702494A JP3608229B2 (en) 1994-09-21 1994-09-21 Adaptive filter method and apparatus

Publications (2)

Publication Number Publication Date
JPH0896154A JPH0896154A (en) 1996-04-12
JP3608229B2 true JP3608229B2 (en) 2005-01-05

Family

ID=16854324

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22702494A Expired - Fee Related JP3608229B2 (en) 1994-09-21 1994-09-21 Adaptive filter method and apparatus

Country Status (1)

Country Link
JP (1) JP3608229B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4557899B2 (en) * 2006-02-03 2010-10-06 任天堂株式会社 Sound processing program and sound processing apparatus

Also Published As

Publication number Publication date
JPH0896154A (en) 1996-04-12

Similar Documents

Publication Publication Date Title
Abbasbandy et al. Numerical solutions of fuzzy differential equations by Taylor method
US20110128285A1 (en) Parallel triangle tessellation
EP1421546A2 (en) Method and apparatus for analysis of variables
JPH06259568A (en) System and method for rendering bezier spline
JP2020123114A (en) Depth super resolution device, depth super resolution method, and program
Han et al. Fitting monotone surfaces to scattered data using C1 piecewise cubics
Banei et al. Solving the forward-backward heat equation with a non-overlapping domain decomposition method based on multiquadric RBF meshfree method
JP3608229B2 (en) Adaptive filter method and apparatus
JP6801461B2 (en) Information processing equipment, information processing methods, and programs
Cheng et al. Interproximation: interpolation and approximation using cubic spline curves
Kimmel et al. Fast Voronoi Diagrams and O sets on Triangulated Surfaces
JP6651254B2 (en) Simulation method, simulation program, and simulation device
Budunova et al. On a new method for approximation of squares of atomic functions ha (x) by nonnegative rational fractions
Gorinevsky et al. Optimization-based design and implementation of multidimensional zero-phase IIR filters
Nengem Symmetric kernel-based approach for elliptic partial differential equation
JP3323738B2 (en) Volume data calculation method and apparatus, and volume data visualization method and apparatus
Sturgill Variable shape parameter strategies in radial basis function methods
Mishra Review of numerical inversion of Laplace transforms using Fourier analysis, fast Fourier transform and orthogonal polynomials
JPS6350722B2 (en)
JP2768302B2 (en) Computational fluid analysis method using two types of time integration methods
Stewart Approximations and Interpolation
Traas Approximation of surfaces constrained by a differential equation using simplex splines
Strick Sums of Powers of Consecutive Natural Numbers
US20120046915A1 (en) Display processing technique of design parameter space
JPH06243263A (en) Method for smoothly interpolating numerical data arranged on three-dimensional lattice points

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040316

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040629

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040830

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040921

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041004

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081022

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091022

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091022

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101022

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111022

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees