論文――――――――――――――――――――――――――――――――――――

Queryball: VR システムのための対話的な問合せモデル
Queryball: An Interactive Query Model forVR Systems

渡辺 知恵美♥増永 良文♣

Chiemi WATANABE
Kazuki JO

城 和貴♠

Yoshifumi MASUNAGA

本稿では，VR システムにおける新しい問合せの 1 手法として Queryball を提案する．Queryball は半透明の球体であり，探索条件および探索条件に該当する（または該当しない）オブジェクトに対する表示方法を持つ．ユーザは生成された
Queryball を仮想世界のオブジェクトに対して重ね合わせることで，Queryball の中にあるオブジェクトに対して問合せを適用させることができる．また，ボールを持って動かす，大きさを変える，複数の Queryball を組み合わせるなどという直感的な操作により試行錯誤的に問合せを行うことができる．
In this paper, we propose a powerful and convenient
querying model, "Queryball", for users to query inimmersive VR systems. Queryball is a new style ofquerying model for intuitive and heuristic queryinteraction. Queryball, which is a translucent ball, isdefined as a quadruple of area specification, search
condition, and two types of display methods. The search
condition can be applied only to the virtual objects insideof the Queryball. The query results are shown to the user
according to the display method. The position and radiusof the Queryball changes when the user moves theQueryball interactively with observing the query results.

1. はじめに
近年，科学技術データの可視化は必要不可欠な要素となりつつあり，特に3次元空間での可視化はウォークスルーによりさまざまな視点からオブジェクトを視認でき直感的に理解しやすいことから，多様な分野で用いられている[3]．VR
システムは可視化結果のなかにユーザが入り込んで結果を見まわす体験ができることから，直感的な理解が得られる重要な可視化ツールとして期待されている[2]．また，最近では単に効果的なプレゼンテーションとして可視化結果を示すだけでなく，「ビジュアルデータマイニング」として既存のモデルでは解明できないデータ間の関連を人間の目と直観力で解明する試みも多く見られるようになっており[4]，ここでもVRシステムは有効であると考えられる．例えば人間の身体に関して様々な分野の研究機関で得られた複数のデー♥

正会員 奈良女子大学大学院人間文化研究科
chiemi@ics.nara-wu.ac.jp♣
正会員 お茶の水女子大学理学部情報科学科
masunaga@is.ocha.ac.jp♠
非会員 奈良女子大学大学院人間文化研究科
joe@ics.nara-wu.ac.jp

1DBSJ Letters Vol.2, No.2

タ測定結果やシミュレーション実験結果をVRシステムで表示された仮想身体に重ね合わせ，複数の結果を交互に表示したり重ね合わせたりと対話的な分析を行う，いわゆるビジュ
アルデータマイニングを行うことで各研究者が別々に分析しただけでは得られなかった結果を見つけることができるかもしれない．そんな時，仮想世界での対話的なデータの呼び出しや条件による表示の絞込み等を行うために，VRシステムからのデータベース検索インタラクション機能が必要不可欠である．
VRシステムにおける対話的なデータベース検索インタラ
クションは仮想空間上で行う直接操作が最も効果的であるが，直接操作のできる検索インタラクションは十分なものが提供されていないのが現状である．現段階では，仮想空間を表示するウインドウの外にGUIがあり，それを通して対話を行う間接操作が中心である．
そこで我々は，VRシステムにおける直接操作による問合せモデルとしてQueryballを提案する．Queryballは問合せ条件とその結果の表示メソッドを持つ半透明の球体であり，ユーザは球体を移動させたり，重ね合わせたりすることによって，仮想空間の部分問合せを行うことができる．これにより，単純な操作でユーザは対話的に問合せを発行しながら，仮想世界に表示された可視化結果に対して積極的に分析を行うことができる．
本稿ではQueryballモデルを提案し，Queryballを用いた問合せモデルの定義と初期プロトタイプシステムの実装について述べる．第2章では現在Queryballによる問合せと有効性を実現するために実装中である初期プロトタイプシステムについて述べ，Queryballによる問合せ実行例を示す．第3章
ではQueryballによる問合せモデルの定義を行う．

2. プロトタイプシステム
本章では，我々が提案する Queryball を用いた問合せとはどのようなものかを示すために，プロトタイプシステムで実行されている Queryball 問合せインタラクションを，例を挙げて説明する．
図 1 はプロトタイプシステムのメインウインドウである．
本システムでは，単体の Queryball，または複数の Queryballの重ね合わせからデータベースシステムへの問合せ言語を作成し発行する．クライアントはそれらの結果を受け取った
後，問合せの該当したオブジェクト（もしくは該当していないオブジェクト）の強調表示または透明化を行い VR システムに表示させる．図 1 は複数の Queryball を次々と重ね合わせて，複雑な問合せを実現していく様子を示している．例として用いる仮想世界では，単一の Queryball による問合せの実例で用いた縦・横・奥行き各 5 個ずつの box を大きな 1 つの箱 Tbox で覆っている状況を考える．Tbox のクラス階層もBox とほぼ同じであり，サーフェスデータにより構成されている．Queryball は以下の 3 つを用意した．
Q1: box を覆っている大きな箱 Tbox を部分的に取り除く．
全体の Tbox の大きさを見ながらその中の box を覗き込むことができるように，Tbox を構成する各 Surfaceに対して問合せをかけ，領域条件に含まれるすべてのSurface を透明度 100％にする．
Q2: Tbox の中にある box に対して問合せを適用する．単一の Queryball と同じく属性 val の値が 10 以上である
ものを赤く表示させ，それ以外を透明度 100％にする．
Q3: Box の属性 val2 が 50 以下という探索条件で，Q2 で日本データベース学会 Letters Vol.2, No.2

論文――――――――――――――――――――――――――――――――――――
得られた結果に対してさらに絞込みをかけていく．
まず，
Q1 をかぶせた部分の Surface を透明にすることで，中に入っていた Box 群をあらわにし，Q2 を重ね合わせる事で属性 val の値が 10 より大きなオブジェクトだけを赤く強調表示している．Q3 を重ね合わせることで属性 val2 の値が20 より大きいという条件で絞込みをかけている．

Q2

DBSJ Letters Vol.2, No.2

複雑でユーザの意図に合致した問合せを発行し，その結果を表示することができる．
図2のようにQueryBall QiとQueryBall Qjを重ね合わせた状態を次のように定義する．
Qiθ∪Qj=(Qi-Qj) UNION (Qj-Qi) UNION (Qiθ∩Qj) (2)
ここに，Qi-Qj，Qj-Qi，Qi θ∩ Qjは図2の(a), (b), (c)に対応している領域であり，このような，単一のQueryballまたは複数のQueryballの重ねあわせによってできる領域を「問合せ領域」とよび次のように定義する．

Q1(c)
(b)

Q3(a)
図1

複数の Queryball による問合せの様子

3. Queryball の定義
3.1 単一の Queryball
QueryBall Qは，Q＝ (B,S,Ps,Pu) の4つ組みで定義される．ここに，B は領域条件，S は探索条件，Psは探索条
件S に該当するオブジェクトの表示方法，Pu は探索条件Sに該当しないオブジェクトの表示方法とする．複数のQueryBall を区別する時は，Q に添え字を付け，QueryBall
Qi は，以下のように記述する．

Qi＝(Bi，Si，Psi，Pui)(1)

QueryBall を中心o1と半径r1とし，3次元空間内でのオブジェクトの中心座標をposとしたとき，領域条件はdist(pos,oi)<riとなる．
探索対象をコレクションオブジェクトとし，コレクション中にある各オブジェクトのタプル変数を含む一階述語論理式を用いて探索条件を指定する．図2(a)の例でBoxオブジェクトの集合であるBoxesからvalの値が10より大きなBoxを探索条件とする場合は S=(∃b)(Boxes(b)∧b[val]>10) となる．
表示条件PsおよびPuは，探索条件結果に該当するオブジェクトの表示方法と該当しないオブジェクトの表示方法を指定する．オブジェクトの表示方法は表示用に定義されたメソッドを用いる．あらかじめ提供されている表示方法として
は，強調表示するemphasis(color)，オブジェクトの透明度を指定するtransparency(alpha)，ワイヤーフレーム表示にするwireframe()がある．
例えば，val>10に該当するオブジェクトを赤く強調表示し，それ以外のオブジェクトをワイヤーフレーム表示する
Queryball Q1は以下のように表される．
Q1=((∃e)(dist(e[pos],o1)<r1),(∃b)(Boxes(b)∧b[val]>10),emphasis(255,0,0),wireframe())

3.2

2 つの Queryball の重ね合わせ

本システムでは単一のQueryballによって最も単純な問合せを適用し，さらに複数のQueryBall を重ね合わせて行くことで対話的に問合せの絞込みや結果の重畳表示をする．つまりQueryballを重ね合わせるという単純な行為により，より

2Qiθ∪Qj
図2【問合せ領域】
単一のQueryballまたは複数のQueryballによってできる
問合せ領域Rは，単一の領域条件Bと複数の探索条件と表示方法のからなり，以下のように記述する．
R = (B, (S1,Ps1),…,(Sn-1,Psn-1),(Sn,Pu))(3)
単一のQueryball Qi＝(Bi，Si，Psi，Pui)は，探索条件と表示条件をただ1つだけ持つ特殊な問合せ領域であり，問合せ領域として表現すると以下のようになる．
Ri=(Bi,(Si,Psi),(￢Si,Pui))(4)Queryball Qi とQueryball Qjの重ねあわせによってできた3種類の問合せ領域Qi – Qj, Qj – Qi, Qiθ∩Qjはそれぞれ以下のように定義される．
Qi – Qj
領域条件：Bi∧￢Bj
探索条件と表示方法：(Si,Psi),(￢Sj,Puj)
Qj – Qiも同様に定義される
Qiθ∩Qj
領域条件：Bi∧Bj
探索条件と表示条件：探索条件S1とS2の種類が重なるため，2つの探索条件の論理和（∨） または，論理積（∧）のどちらかを指定する．
・Qi∨∩Qjにおける探索条件と表示方法：
論理和による球の重ね合わせは，問合せ結果の重畳表示として表す．つまりQiの探索条件および表示方法とQjの探索条件および表示方法の両方をそのまま採用する．
しかし，以下の2点注意すべきことがある．
1. SiもしくはSjのどちらか一方に該当するオブジェクトがもう一方の探索条件に合致しないがために表示条件Puが適用されてしまう場合がある．
2. SiとSjの両条件に該当するオブジェクトがあり，それらのオブジェクトに対する表示条件を考える必要がある．
まず1点目を解決するためにQ1∨∩Q2における探索条件と表示条件を以下のように表すこととした．
(Si,Psi),(Sj,Psj),(￢(Si∨Sj), Pui)
(5)
ここではSiとSjのどちらも満たさないものにPuiを適

日本データベース学会 Letters Vol.2, No.2

論文――――――――――――――――――――――――――――――――――――用するようにしている．さらに，2点目に関しては，式(5)を以下のように拡張し，どちらの条件をも満たすオブジェクトは，Ps1とPs2のどちらでもない強調表示方法をシステムが自動的に提供するものとする．
(Si∧￢Sj, Psi),(Sj∧￢Si,Psj)(Si∧Sj,Psk),(￢(Si∨Sj), Pui)
(6)
Pskはシステムが自動的に提供し後にユーザが自由に変更可能とする． なお式(6)のように定義することにより，問合せ領域における各探索条件は双方同時に満たすオブジェクトがないという性質を持つことになる．
・Q1∧∩Q2 における探索条件と表示方法：
論理積による球の重ね合わせは，探索条件の絞込みとして表す．表示方法については，球の生成時に表示優先順位を付けて，優先順序の早いほうの表示方法を適用する．なお，優先順位についてはユーザが自由に変更可能とする．つまり，Q1の方が Q2 より優先順位が高い場合，探索条件および表示条件は(S1∧S2, Ps1) ,(￢(S1∧S2), Pu1)
(7)となる．

3.3

3 つ以上の Queryball の重ね合わせ

次に3つ以上のQueryballの重ねあわせについて定義する．
n個のQueryballを重ね合わせる場合，最大 ΣnCi 種類の問合せ部分領域ができる．例えば，図3にあらわすような3つのQuerybalによる重ね合わせの場合，それらがすべて互いに重なり合っていた場合は7種類の問合せ部分領域ができている．
ここで，3つ以上のQueryballを重ね合わせる場合，問合せ部分領域での探索条件および表示条件においてQueryball同士の重ね合わせの順序が重要となるため，Queryballの重ね合わせの順序関係を木構造で表し保存する．

(a)(b)
図3 （Q1∨∪Q2）∧∪Q3
例えば，図3(a)はQ1とQ2を論理和で重ね合わせたあと，それに対してQ3を論理積で重ね合わせたもの（Q1∨∪Q2）∧∪Q2とあるとする．このとき重合せの順序関係を図3(b)に示すよ
うな木構造で保存しておく．そしてこの木構造に基づいて各問合せ領域における探索条件および表示条件の導出を行う．
例えば，Q1とQ3による問合せ領域（（Q1 θ∩Q3）- Q2 ）の場
合，木構造でQ1とQ3が共有する親ノードをたどるとQ1とQ3は論理積（∧）で結合されていることが分かる．そこでこの問合せ領域は次のように表すことができる．
領域条件：B1∧B3∧￢B2
探索条件および表示方法：(S1∧S3, Ps1) ,( ￢(S1∧S3),
P u 1)
また，3個以上のQueryballを組み合わせた場合，Queryball同士の重ね合わせだけでなく，（Q1 θ∩Q3）- Q2 ）のように問合せ領域とQueryballもしくは問合せ領域同士の重ね合せも生じる．これらの探索条件および表示方法の導出は基本的には3.2節で述べたQueryball同士の重ねあわせと同じであるが，それらをより一般化した定義として，問合せ

3DBSJ Letters Vol.2, No.2

領域R1 = (B1, (S11,P11), …,(S1(m-1),P1(m-1)),(￢S1m,P1m)) とR2 = (B2, (S21,P21), …, ,(S2(n-1),P2(n-1)),(￢S2n,P2n))における重ね合せ部分の問合せ領域R1θ∩R2を次のように表す．
θ=∨（論理和）の場合，R1∨∩R2はR1の問合せ結果とR2の問合せ結果の重畳表示であると考え，探索条件および表示方法を以下のようにあらわす．
R1∨∩R2 = (B1∧B2，(S11∧￢(S21∨... ∨S2(n-1)),P11),…,(S1(m-1)∧￢(S21∨...∨S2(n-1)),P1(m-1)),(S21∧￢(S11∨... ∨S1(m-1)),P21),…,(S2(n-1) ∧￢(S11∨... ∨S1(m-1)),P2(n-1)),(S11∧S21,P31),...,(S1i∧S2j, P3k),..., (S1m∧S2n, P3(m×n))(￢(S11∨... ∨S1n∨S21∨... ∨S2n), P1m))(8)
θ= ∧（論理積）の場合，R1∧∩R2はR1の問合せ結果に対するR2の探索条件による絞込みであると考え，探索条件および表示方法を以下のようにあらわす．
R1∧∩R2 = (B1∧B2，((S11∧S21)∨...∨(S11∧S2(n-1)),P11),…
, ((S1m∧S21)∨...∨(S1(m-1)∧S2(n-1)),P1(m-1)), (￢((S11∧S21)∨...∨(S11∧S2(n-1))∨...∨(S1i∧S2j) ∨...
∨(S1m∧S2n)), P1n))(9)以上の定義を元に，Q1，Q2，Q3の3つのQueryballによって作られた，7種類の問合せ部分領域からなる（Q1∨∪Q2）∧∪Q3は次のように表すことができる．
（Q1∨∪Q2）∧∪Q3=(Q1-Q2-Q3) UNION (Q2-Q1-Q3) UNION (Q3-Q1-Q2)
UNION ((Q1∨∩Q2)-Q3) UNION ((Q1∨∩Q3)-Q2) UNION ((Q2∨∨∧∩Q3)-Q1) UNION ((Q1 ∩Q2)
∩Q3)=(B1∧￢B2∧￢B3, (S1,Ps1), (￢S1,Pu1))
UNION (B2∧￢B1∧￢B3, (S2,Ps2), (￢S2,Pu2))
UNION (B3∧￢B1∧￢B2, (S3,Ps3), (￢S3,Pu3))
UNION ( B1∧B2∧￢B3, (S1∧￢S2,Ps1),(S2∧￢S1,Ps2),(S1∧S2,Ps4), (￢(S1∨S2), Pu1))
UNION ( B1∧B3∧￢B2, (S1∧￢S3,Ps1),(S3∧￢S1,Ps2),(S1∧S3,Ps5), (￢(S1∨S3), Pu1))
UNION ( B2∧B3∧￢B1, (S2∧￢S3,Ps1),(S3∧￢S2,Ps2),(S2∧S3,Ps6), (￢(S2∨S3), Pu1))
UNION (B1∧B2∧B3, (S1∧S3, Ps1) , (S2∧S3, Ps2) , (￢((S1∧S3)∨S3)), Pu1)

4. Queryball による問合せの実例
2 章の図 1 で示した複数の Queryball による問合せを記述する．各々の Queryball による問合せは以下のように記述される．
Q1=(dist(pos,o1)<r1,( ∃ t)( ∃ s) (Tbox(t), Surface(s),t[surfaces]==s), transparency(100),)
Q2=(dist(pos,o2) <r2, ( ∃ b) (Boxes(b) ∧ b[val]>10),emphasis(255,0,0),transparency(100))
Q3=(dist(pos,o3) <r3, ( ∃ b) (Boxes(b) ∧ b[val2]<50),emphasis(255,0,0),transparency(100))
この例では，Q1を用いてTboxを部分的に取り除いたのち，Q2を被せる事で属性値が10以上のオブジェクトだけを赤く強調表示させている．このときQ1による問合せ結果とQ2による問合せ結果は重畳表示の関係にあるので，重ね合わせによる問合せ領域Q1∨∪Q2は次のように表される．
Q1∨∪Q2

日本データベース学会 Letters Vol.2, No.2

論文――――――――――――――――――――――――――――――――――――=( dist(pos,o1)<r1 ∧dist(pos,o2)<r2 , ((∃b)(Boxes(b)∧b[val]>10), emphasis(255,0,0)),((∃s) (∃t) (∃b) (Tbox(t)∧Surface(s)∧t.surfaces==s∧Boxes(b)∧b[val]≦10),transparency(100))
さらにQ3を重ね合わせることによって探索条件を絞り込んでいる．このときQ3はQ2の結果を絞り込む目的で重ねているため問合せ領域は(Q1∨∪Q2) ∧∪Q3となり具体的に次のように表される．
（Q1∨∪Q2）∧∪Q3=(dist(pos,o1)<r1∧dist(pos,o2)≧r2∧dist(pos,o3)≧r3, ((∃s) (∃t) (∃b) (Tbox(t)∧Surface(s)∧t[surfaces]==s),true),transparency(100)))
UNION (dist(pos,o2)<r2∧dist(pos,o1)≧r1∧dist(pos,o3)≧r3, ((∃b) (Boxes(b)∧b[val]>10), emphasis(255,0,0)), ((∃b)(Boxes(b)∧b[val]≦10), transparency(100)))
UNION (dist(pos,o3)<r3∧dist(pos,o1)≧r1∧dist(pos,o2)≧r2, ((∃b) (Boxes(b)∧b[val2]>50), emphasis(255,0,0)), ((∃b) (Boxes(b)∧b[val]≦50)), transparency(100)))
UNION (dist(pos,o1)<r1∧dist(pos,o2) <r2∧dist(pos,o3)≧r3, ((∃b) (Boxes(b)∧b[val]>10), emphasis(255,0,0)) ,((∃s) (∃t)(∃b)(Tbox(t)∧Surface(s)∧Boxes(b)∧t[surfaces]==s∧b[val]≦10), transparency(100)))
UNION (dist(pos,o1)<r1∧dist(pos,o3) <r3∧dist(pos,o2)≧r2, ((∃b)(Boxes(b)∧b[val2]>50), emphasis(255,0,0)), ((∃s)(∃t)(∃b)(Tbox(t)∧Surface(s)∧Boxes(b)∧t[surfaces]==s∧b[val2]≧50)), transparency(100)))
UNION (dist(pos,o2)<r2∧dist(pos,o3)<r3∧dist(pos,o1)≧r1, (∃b)(Boxes(b)∧b[val]>10∧ b[val2]≧50),emphasis(255,0,0)),(((∃b)(Boxes(b)∧b[val2]<50∧b[val]≦10), emphasis(255,0,0)), ((∃b)(Boxes(b)∧b[val2]<50∧b[val]>10), emphasis(255,255,0)),((∀b)(Boxes(b)∧(b[val2]≧50∨b[val]≦10)),transparency(100)))
UNION (dist(pos,o1)<r1∧dist(pos,o2)<r2∧dist(pos,o3)<r3,(∀b)(Boxes(b)∧b[val2]<50∧ b[val]>10),emphasis(255,255,0)), ((∃s) (∃t)(∃b)(Tbox(t)∧Surface(s)∧Boxes(b)∧t[surfaces]==s∧Boxes(b)∧(b[val2]≧50∨b[val]≦10), transparency(100))

5. 考察
複数の可視化手法を部分的に適用し，それらを組み合わせて表示する方法は可視化システムに多数見受けられる．例えば CT スキャンデータの場合は，再構成された 3 次元ボリュームデータとあわせてある面のスライス画像を表示する例が多く見受けられる．Queryball はこのような部分表示の組合せを仮想空間中で直接的に行うことを目的としており，例
えばプレゼンテーションで直接 Queryball を動かしながら複数の可視化手法の組合せを対話的に生成することができれば効果的で印象的なプレゼンテーションとなるだろう．この場合，Queryball の形状について考察する必要がある．例
えば先ほどの CT スキャン画像の場合は球よりスライスの方が効果的である．Queryball も球の部分表示のみを想定しているのではなく，将来的にはそれぞれの応用に適した形状を提供することを考えている．しかしながら今回球体を採用した大きな理由に直接対話のしやすさと重畳表示のしやすさがある．球体を表すパラメタは中心と半径のみであり，ユーザが球体を操作するのが単純である．また複数の球体を重ね合わせた場合，重畳部分の抽出がもっとも容易である．

4

DBSJ Letters Vol.2, No.2

Queryball の一つの特徴として，ここの ball の問合せ指定は単純であるがそれらを重ね合わせていくことによって複雑な表現を可能にする点があり，これを生かすために球体は最も効果的であると考えられる．

6. まとめと今後の課題
本稿では，VRシステムでの対話的な問い合わせを実現するための新たなインタラクションモデルとして，Queryballという半透明の球の重ねあわせによる問合せ手法を提案し，そのモデル化を行った．この手法では，ユーザは球の重ねあわせで問合せを表現するため，球を動かしたり，大きさを変更したりという単純な操作で仮想世界に表示されたオブジェクトの分析を対話的に行うことができる．本稿では例としてあげた仮想世界を抽象的なものにしたが，今後の課題として具体的なアプリケーションに適用する必要がある．
また，各球の検索条件をユーザが与えるのは難しいため，前処理として仮想世界オブジェクトのクラスタリング等を行うことによって適切な検索条件を持つ Queryball を自動的に生成することを検討している．

［文献］[1] D. Bowman and L. Hodges: User Interface Constraints for
Immersive Virtual Environment Applications, Graphic,Visualization and Usability Center Technical Report
GIT-GVU-95-26(1995).
[2] S. Bryson: Virtual reality in scientific visualization, in Comm.
of the ACM, 39(5), pp. 62-72 (1996).
[3] P. Cignoni, E. Puppo, R. Scopigno: Representation andVisualization of Terrain Surfaces at Variable Resolution, The
Visual Computer, 13(5), pp.199-217(1997).
[4] D. A. Keim, H. P. Kriege: Visualization Techniques for Mining
Large Databases: A Comparison, Transactions on Knowledge andData Engineering, Special Issue on Data Mining, pp. 923--938(1996).

渡辺 知恵美Chiemi WATANABE

奈良女子大学大学院人間文化研究科助手．2000 年お茶の水女子大学大学院人間文化研究科博士前期課程修了．2003 年お茶の水女子大学大学院人間文化研究科博士後期課程修了．理学
博士．仮想世界データベースシステムの研究・開発に従事．
情報処理学会学生会員．日本データベース学会学生会員．

増永 良文

Yoshifumi MASUNAGAお茶の水女子大学理学部情報科学科教授．1970 東北大学大学
院工学研究科博士課程修了，工学博士．データベースシステムの研究・開発に従事．情報処理学会フェロー．電子情報通信学会フェロー．日本データベース学会副会長．著書に「リレーショナルデータベース入門」(サイエンス社)など．

城 和貴

Kazuki JO

阪大・理・数学卒．日本 DEC，ATR 視聴覚研究所（日本 DECより出向），（株）クボタ・コンピュータ事業推進室で勤務．
1993 年奈良先端科学技術大学院大学情報科学研究科博士前期課程入学，1996 年同研究科後期課程修了，同年同研究科助手．1997 年和歌山大学システム工学部情報通信システム学科講師，1998 年同学科助教授．1999 年より奈良女子大学理学部情報科学科教授．工博．画像処理，文字認識，ニューラルネットワーク，並列計算機アーキテクチャ，自動並列化コンパイラ，並列計算機の解析モデル，可視化などの研究に従事．
IEEE, ACM 会員．

日本データベース学会 Letters Vol.2, No.2