(57)【特許請求の範囲】
【請求項１】
仮想３次元的空間に表示されるためのオブジェクトのデータと、該仮想３次元的空間中に表示される二つの参照オブジェクトＡとＢのデータと、前記表示された参照オブジェクトを制御するためのパネルと、前記オブジェクトを表示する為の表示手段とを備えるシステムのオブジェクト表示方法であって、前記パネルは  前記参照オブジェクトＡを仮想３次元的空間中において動き回らせる機能と、
前記参照オブジェクトＡを仮想３次元的空間中において移動させたとき該参照オブジェクトＡとの相対的関係を維持しながら前記参照オブジェクトＢを並進移動させる機能と、
前記参照オブジェクトＢを前記参照オブジェクトＡの内部に定義された原点を中心に回転させる機能と、
前記参照オブジェクトＢの回転半径を変える機能と、
仮想３次元的空間に表示されるオブジェクトの表示内容を、前記参照オブジェクトＡの視点からの表示と前記参照オブジェクトＢの視点からの表示との間で切替える機能とを有し、
前記パネルの表示の操作によって前記オブジェクトの所望の部分を前記表示手段に表示させることを特徴とする仮想３次元的空間におけるオブジェクト表示方法。
【請求項２】
前記オブジェクトの制御をするためのパネルが前記仮想３次元的空間に表示されるオブジェクトと合わせて前記表示手段に表示される請求項１記載の仮想３次元的空間におけるオブジェクト表示方法。
【請求項３】
前記オブジェクトの制御をするためのパネルが、前記システムに接続され、選択的に操作される複数の操作ボタンを有する外部入力装置である請求項１記載の仮想３次元的空間におけるオブジェクト表示方法。
【請求項４】
前記参照オブジェクトの制御をするためのパネルが、前記二つの参照オブジェクトの姿勢を合わせるための機能を備える請求項１記載の仮想３次元的空間におけるオブジェクト表示方法。
【請求項５】
仮想３次元的空間に表示されるためのオブジェクトのデータと、該仮想３次元的空間中に表示される二つの参照オブジェクトＡとＢのデータと、前記表示された参照オブジェクトを制御するためのパネルと、前記オブジェクトを表示する為の表示手段とを備えるシステムのオブジェクト表示方法であって、前記参照オブジェクトＡと前記参照オブジェクトＢとは合体あるいは分離して前記仮想３次元的空間中に表示され、前記パネルは、
前記参照オブジェクトＡと前記参照オブジェクトＢとの合体および分離を指示する機能と、
前記参照オブジェクトＡを仮想３次元的空間中において動き回らせる機能と、
前記参照オブジェクトＡを仮想３次元的空間中において移動させたとき該参照オブジェクトＡとの相対的関係を維持しながら前記参照オブジェクトＢを並進移動させる機能と、
前記参照オブジェクトＢを前記参照オブジェクトＡの内部に定義された原点を中心に回転させる機能と、
参照オブジェクトＢの回転半径を変える機能と、
仮想３次元的空間に表示されるオブジェクトの表示内容を、前記参照オブジェクトＡの視点からの表示と前記参照オブジェクトＢの視点からの表示との間で切替える機能とを有し、
前記参照オブジェクトＡと前記参照オブジェクトＢとが合体しているときはこれを前記参照オブジェクトＡとして前記パネルにより制御するとともに、前記参照オブジェクトＢの視点からの前記オブジェクトの見えを前記表示手段に表示し、前記パネルの操作によって前記オブジェクトの所望の部分を前記表示手段に表示させることを特徴とする仮想３次元的空間におけるオブジェクト表示方法。
【請求項６】
前記パネルは前記参照オブジェクトＡと前記参照オブジェクトＢとの合体および分離を指示する機能を実現するボタンを有し、前記参照オブジェクトＡ，Ｂが合体した状態で該ボタンを押し続けると前記参照オブジェクトＡと前記参照オブジェクトＢとが分離して前記参照オブジェクトＡが前進し、前記参照オブジェクトＡ，Ｂが分離した状態で該ボタンを押し続けると前記参照オブジェクトＡと前記参照オブジェクトＢとが近づくとともに所定の近さまで接近したとき前記参照オブジェクトＡ，Ｂが合体する請求項５記載の仮想３次元的空間におけるオブジェクト表示方法。
【請求項７】
仮想３次元的空間に表示されるためのオブジェクトのデータと、該仮想３次元的空間中に表示される二つの参照オブジェクトＡとＢのデータと、前記表示された参照オブジェクトを制御するためのパネルと、前記オブジェクトを表示する為の表示手段とを備えるシステムのオブジェクト表示方法を実行するためのプログラムを記憶した記憶媒体であって、前記記憶媒体は
前記参照オブジェクトＡを仮想３次元的空間中において動き回らせる機能と、
前記参照オブジェクトＡを仮想３次元的空間中において移動させたとき該参照オブジェクトＡとの相対的関係を維持しながら前記参照オブジェクトＢを並進移動させる機能と、
前記参照オブジェクトＢを前記参照オブジェクトＡの内部に定義された原点を中心に回転させる機能と、
前記参照オブジェクトＢの回転半径を変える機能と、
仮想３次元的空間に表示されるオブジェクトの表示内容を、前記参照オブジェクトＡの視点からの表示と前記参照オブジェクトＢの視点からの表示との間で切替える機能と、
を実行するプログラムを備え、前記パネルの表示の操作によって前記オブジェクトの所望の部分を前記表示手段に表示させることを特徴とする仮想３次元的空間におけるオブジェクト表示方法を実行するためのプログラムを記憶した記憶媒体。
【請求項８】
仮想３次元的空間に表示されるためのオブジェクトのデータと、該仮想３次元的空間中に表示される二つの参照オブジェクトＡとＢのデータと、前記表示された参照オブジェクトを制御するためのパネルと、前記オブジェクトを表示する為の表示手段とを備えるシステムのオブジェクト表示方法を実行するためのプログラムを記憶した記憶媒体であって、前記参照オブジェクトＡと前記参照オブジェクトＢとは合体あるいは分離して前記仮想３次元的空間中に表示され、前記パネルは、
前記参照オブジェクトＡと前記参照オブジェクトＢとの合体および分離を指示する機能と、
前記参照オブジェクトＡを仮想３次元的空間中において動き回らせる機能と、
前記参照オブジェクトＡを仮想３次元的空間中において移動させたとき該参照オブジェクトＡとの相対的関係を維持しながら前記参照オブジェクトＢを並進移動させる機能と、
前記参照オブジェクトＢを前記参照オブジェクトＡの内部に定義された原点を中心に回転させる機能と、
参照オブジェクトＢの回転半径を変える機能と、
仮想３次元的空間に表示されるオブジェクトの表示内容を、前記参照オブジェクトＡの視点からの表示と前記参照オブジェクトＢの視点からの表示との間で切替える機能とを有し、
前記参照オブジェクトＡと前記参照オブジェクトＢとが合体しているときはこれを前記参照オブジェクトＡとして前記パネルにより制御するとともに、前記参照オブジェクトＢの視点からの前記オブジェクトの見えを前記表示手段に表示させる操作を実行するプログラムを備え、前記パネルの操作によって前記オブジェクトの所望の部分を前記表示手段に表示することを特徴とする仮想３次元的空間におけるオブジェクト表示方法を実行するためのプログラムを記憶した記憶媒体。
【請求項９】
前記パネルは前記参照オブジェクトＡと前記参照オブジェクトＢとの合体および分離を指示する機能を実現するボタンを有し、前記参照オブジェクトＡ，Ｂが合体した状態で該ボタンを押し続けると前記参照オブジェクトＡと前記参照オブジェクトＢとが分離して前記参照オブジェクトＡが前進し、前記参照オブジェクトＡ，Ｂが分離した状態で該ボタンを押し続けると前記参照オブジェクトＡと前記参照オブジェクトＢとが近づくとともに所定の近さまで接近したとき前記参照オブジェクトＡ，Ｂが合体する請求項８記載の仮想３次元的空間におけるオブジェクト表示方法を実行するためのプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、仮想３次元的空間におけるオブジェクト表示方法および表示プログラムを記録した記憶媒体に関し、特にユーザが表示された仮想３次元的空間を自由にウォークスルーすることが可能なように工夫されたユーザインタフェイスを提供するものである。
【０００２】
【従来の技術】
仮想３次元的表示の技術は、仮想３次元的コンピュータグラフィックス映像の制作のみではなく、ＣＡＤ、科学技術計算の結果の表示等、多くの分野で応用されてきた。近年は、情報検索のような、従来、仮想３次元的表示と無縁であった分野にも応用されてきている（例えば、特開平１１−１７５５３４、特開２０００−０２９８８５あるいは「ＶＲ空間を用いた画像特徴量空間の可視化」広池  他、信学技報ＰＲＭＵ９８−８６（１９９８−０９）Ｐ．１７−２４）。
【０００３】
仮想３次元的空間表示中をユーザが動き回ることをウォークスルーという。ウォークスルー機能を備えたユーザインタフェイスとして一般に知られているものとしては、ＶＲＭＬ用のブラウザがある。このブラウザに用いることによって、ユーザは、ＶＲＭＬによって記述された仮想３次元的世界を自由に動き回ることができる。ＶＲＭＬ用ブラウザでは、通常、２種類の典型的なウォークスルー用のインタフェイスを提供している。一つは、視点を中心とした視線方向（ｚ方向）の上下左右回転、視線方向の前進および後退、視線方向と垂直な面（ｘ−ｙ面）上での視点の並進移動の機能からなり、人間が通常行う歩行動作を模擬したものである。もう一つは、移動についは前者と同等であるが、回転については、視点の方ではなく、仮想３次元的空間の方が仮想３次元的空間の原点を中心に回転する。これによって、空間中に表示されたあるオブジェクトの周りを回って眺めることができる。従って、オブジェクトの全体像を概観する際には、後者の方が便利と言える。
【０００４】
【発明が解決しようとする課題】
視点中心の回転は、空間中を任意方向を選んで動き回るのには適しているが、空間中のあるオブジェクトを概観する場合不都合である。一方、空間の側を回転させる方法は、空間の中心に配置されたオブジェクトを概観するためには便利であるが、自身が自由に動き回るためには、不都合である。また、空間中に複数のオブジェクトが存在し、それぞれを概観したい場合は、空間の中心点を設定し直す必要がある。
【０００５】
仮想３次元的表示が対象とする空間が、建造物の中等を模擬したものであったなら、空間内部の構造が複雑であっても、ユーザは、視点中心の回転によって、日常的動作と比較的近い感覚でウォークスルーを行うことができる。一方、空間の構造が単純で、単一の仮想３次元的オブジェクトを眺める、という場面では、空間の側を回転すれば十分である。
【０００６】
しかし、例えば、情報検索等の分野に応用した場合、生成される仮想３次元的世界は、人間が日常的体験するような現実世界と必ずしも対応しない。先に引用した特開２０００−０２９８８５の発明の例では、データベース中の画像コンテンツを、画像間類似度を空間の計量として仮想３次元的可視化される。この場合、得られた空間が表現するものは、画像特徴量が張る情報空間という、元来が、抽象的な世界であり、多数のデータが局所的な構造を持ちつつ、仮想３次元的空間中に散布している。この世界は、複雑な空間的構造を持つが、人間が日常的に経験するものとは異なる。ユーザは、その中を歩き回って所望のデータに近づいていく必要があるが、単純な視点中心の回転のみだとデータの分布の全体像を見失ってしまい、能率のよいウォークスルーは困難である。
【０００７】
データ分布の全体像を把握するためには、空間の側を回転することが考えられるが、空間の構造が複雑なため、空間中のどこに回転の中心を設定すればよいかが自明ではない。ユーザが回転の中心を設定する場合、中心とするべき点の付近に具体的なオブジェクトが存在する場合は、そのオブジェクトを回転の中心として選択する、といったユーザインターフェイスが設計可能である。しかし、回転の中心としたい位置の付近に適当なオブジェクトが存在しない場合、中心点を設定するためのユーザインタフェイスの設計が問題となる。
【０００８】
従来型のウォークスルー用のユーザインターフェイスを用いた場合の問題点は、今後、仮想３次元的表示を種々の分野に応用していく場合の障害となる。従って、より高機能で、かつ、操作性がよいウォークスルーのためユーザインターフェイスが必要である。
【０００９】
【課題を解決するための手段】
仮想３次元的空間中に２つの参照オブジェクトＡ、Ｂを用意する。両者は、仮想３次元的空間中でのユーザの視点を与えるとともに、性質の異なる動作を行う参照オブジェクトとして定義されている。
【００１０】
参照オブジェクトＡは、Ａ自身を中心に回転する。参照オブジェクトＡは、従来技術での視点中心の回転機能を表わす。一方、参照オブジェクトＢは、参照オブジェクトＡを中心に回転する。これは、従来技術での空間中心の回転に類似しているが参照オブジェクトトＢ自身が回転するので、回転の方向は逆転する。また、回転の中心は参照オブジェクトＡが位置する空間中の任意の位置である。参照オブジェクトＢは、参照オブジェクトＡを中心に回転するため、視線方向は常に参照オブジェクトＡを向いている。
【００１１】
参照オブジェクトＢは参照オブジェクトＡが並進移動すると参照オブジェクトＡとの相対的位置関係および姿勢の関係を維持したまま、参照オブジェクトＡの移動に追随して移動する。この参照オブジェクトＢの移動は、ユーザ操作によるのではなく、自動的に行われる。
【００１２】
ユーザは、ユーザインタフェイス上で、自らの視点を参照オブジェクトＡか参照オブジェクトＢのいずれかに選択できる。その上で参照オブジェクトＡと参照オブジェクトＢそれぞれの回転、移動等を制御する。これによって、従来のウォークスルー機能では困難であった空間中を自由に歩き回りながら、かつ、空間の全体像も容易に把握する機能が実現できる。
【００１３】
【発明の実施の形態】
実施例１：画像検索における情報空間のウォークスルー
本実施例は、類似画像検索のためにユーザインタフェイス上に、本発明の技術を応用したものである。
【００１４】
１．システム構成
図1に本実施例のシステム構成のブロック図を示す。本システムは、画像特徴量に基づく検索を行う検索サーバ１１０、仮想３次元的空間の表示を行う可視化サーバ１２０、ＧＵＩ（グラフィックユーザインターフェイス）クライアント１３０からなる。サーバおよびクライアント間の情報の伝達はソケット通信で行う。
【００１５】
検索サーバ１１０は、内蔵されたメモリー内に展開された画像特徴量に基づき検索キー画像との類似度を計算する。可視化サーバ１２０は、空間中の対象物の運動およびユーザのウォークスルー動作に伴う仮想３次元的空間中の状態更新を実時間で行う。ＧＵＩクライアント１３０では、表示領域でのウォークスルー動作の制御、および、検索条件の指定を行う。
【００１６】
可視化サーバ１２０およびＧＵＩクライアント１３０は、高性能のテクスチュアマッピング機能を持つグラフィックワークステーション上で動作する。検索サーバ１１０は同一計算機上、あるいは、他の高速な数値計算可能な計算機上で動作する。
【００１７】
検索サーバ１１０は、システム起動時に、画像特徴量のデータベース１４０から全画像分の特徴量をメモリー内に取り込む。可視化サーバ１２０は、同じくシステム起動時に、全画像データ縮小イメージを画像データベース１５０から取り込み、テクスチュアマッピング用のデータに変換し、内蔵されたメモリー内に取り込む。ＧＵＩクライアント１３０は、必要な画像データを各時点で画像データベースから取り込む。
【００１８】
本発明は画像検索自体ではないので、検索の詳細およびその結果の表示は先に引用した特許出願を参照することとし、以下ウォークスルーを主体に説明する。
【００１９】
図５は、本実施例における表示例である。ユーザインタフェイスは、可視化サーバ１２０が作成する仮想３次元的可視化空間に存在するオブジェクトの内、ユーザが選択した参照オブジェクトの視点から見えるオブジェクトの表示領域５１０およびＧＵＩクライアント１３０が表示する各種のパネル５２０，５３０，５４０から構成される。パネル５２０は画像検索のために使用されたパネルの例であり、パネル５３０，５４０がウォークスルーのために使用されるパネルである。表示領域５１０には、図に示すように、画像検索の結果に応じた小画像が検索のキーに応じたグループを構成して仮想３次元空間に散布している。
【００２０】
２．検索機能と可視化表現
ユーザは、表示領域５１０内に浮かぶ小画像をマウスでクリックすることによって、新たな検索キーとしての登録を行うことができる。ユーザのキー画像登録要求は、ＧＵＩクライアント１３０を通して、検索サーバ１１０に送られる。検索サーバ１１０が、検索キーとなる画像集合と類似度が高いと判定した画像は、表示領域５１０中に、小画像から構成される仮想３次元的な散布図として新たに表示される。検索キーとなる画像集合は、パネル５２０内に表示される。キー画像の削除は、パネル５２０上の画像をマウスでクリックすることによって行う。なお、初期画面では、システム側が予め用意したサンプル画像を検索キーとした検索結果が表示されている。
【００２１】
各画像の仮想３次元的可視化空間の表示領域５１０中での大きさは、特徴量空間中の類似度と対応付けられる。類似度は０から１の間の実数値で表現され、１ならば最大の大きさで画像は表示される。それ以下の場合は、類似度に比例して縮小して表示され、０．１以下の場合は表示されない。この類似度の値は、検索条件によって決まる。類似度の計算は、検索サーバ１１０中で行われる。本実施例では、色関連の画像特徴量として、画像中の色分布をヒストグラム化した特徴量、形関連の画像特徴量として、画像の輝度勾配ベクトルの方向成分の分布をヒストグラム化した特徴量を用いている。両者とも実数ベクトルとして表現されており、画像間の類似度は、これらのベクトル間の２乗距離をもとに定義される。（数１）は、ある与えらた画像とキー画像（添え字ｉで表わす）との類似度を定義したものである。
【００２２】
【数１】
0003887136.tif 000002
【００２３】
複数のキー画像が登録されている場合は、与えられた画像と各キー画像との類似度の中で最大のものを、与えられた画像の類似度として定義する。
【００２４】
可視化サーバ１２０は、定常的には、ＧＵＩクライアント１３０、検索サーバ１１０とは独立に仮想３次元的可視化空間の表示領域５１０の更新を行う。ユーザがウォークスルーすることに伴う表示領域５１０の表示の変化は、パネル５３０あるいはパネル５４０の操作により、ＧＵＩクライアント１３０から送られた制御情報によって引き起こされる。
【００２５】
３．ウォークスルー機能
表示領域５１０中には、カメとカニと名付けられた２つの参照オブジェクトの一つを視点とするオブジェクトが表示される。参照オブジェクトのカメとカニは、異なる視点およびウォークスルー機能を持っている。前述した参照オブジェクトＡはカメに、参照オブジェクトＢはカニに対応する。以下、参照オブジェクトのカメおよびカニについては簡単のために、適当に「参照オブジェクト」の表現を省略する。カメは自身を中心に回転する従来技術での視点中心の回転機能を持つ。一方、カニは、カメを中心に回転する。これは、従来技術での空間中心の回転に類似しているが、カニ自身が回転移動するので、表示領域５１０中での表示されているオブジェクトの回転の方向は従来技術とは逆となる。また、カニの回転移動の中心は、カメの内部に定義された原点とする。カニは、カメを中心に回転移動するため、視線方向は常にカメを向いている。したがって、カニを視点として見た表示領域５１０の表示の中にはカメが必ず表れる。一方、カメは任意の方向を向くことができるので、カメを視点として見た表示領域５１０の表示の中にカニが必ず表れるというわけでは無い。
【００２６】
ユーザは、ユーザインタフェイス上で、自らの視点をカメあるいはカニのいずれかに自由に選択できる。その上で、それぞれの回転、移動等を制御する。図５は、カニから見た表示領域５１０の表示例で、図５では良く見えないが、視野の中心部分に、小さくカメが表示されている。
【００２７】
図６は、カニの視点において、カメを近くから見た場合の表示例である。カメに近づいた為に、カメの存在は明瞭になったが、表示領域５１０の領域に表示されるオブジェクトは減っている。図７は、カメの視点において、カニを近くから見た場合の表示例である。図６、図７では、画像検索のために用意されたパネル５２０の表示は隠されている。
【００２８】
図２は、カニ、カメの参照オブジェクトのそれぞれの動きを具体的に説明するための概念図である。カメは、従来型のウォークスルー機能を表現した参照オブジェクトであるから、自己中心的な首振り回転を行うことによって、矢印２１０に示すように、任意の方向を向くことができる。また、矢印２２０に示すように、その回転により向いた任意の方向に移動できる。一方、カニは、常にカメに面し、カメとの距離を一定に保ちながら、矢印２４０に示すように、カメの移動に追随する。カニ自体が自発的に行なえる並進移動は、矢印２５０に示すように、カメへの接近、あるいは、カメからの逃避のみである。また、カニの回転は、矢印２３０に示すように、常に、カメを中心として行なわれる。カニおよびカメについては、それぞれ、ｘ，ｙ，ｚで表現される局所座標が定義されており、ｚ軸の＋方向がそれぞれの視線方向に一致する。ｙ軸の＋方向がそのオブジェクトの視点となった場合の上方向と一致する。カメおよびカニはそれぞれ移動しあるいは回転ができるから、これに応じていろんな姿勢を取ることになる。ここで姿勢は仮想3次元空間の絶対座標で表現した３×３の姿勢行列で定まる。後述するように、ユーザは、視点の変更等のために、カメおよびカニの姿勢を一致させる操作を行うことがあるが、姿勢が一致するということは、この姿勢行列が一致することを意味する。
【００２９】
図５に示したように、表示領域５１０にはパネル５３０と５４０が表示されているが、これらのパネルは、カメ、カニの参照オブジェクトを操作するためのものである。
【００３０】
図３は、パネル５３０の主要部の拡大図である。パネル中央にあるボタン３１０は、表示領域５１０の表示をカニの視点（カニから見えている状態の表示）、あるいは、カメの視点（カメから見えている状態の表示）に切り替えるためのトグルボタンである。その時点での見えは、ボタン３１０上のカニまたはカメのマークによって示される。したがって、図３のようにボタン３１０がカニの表示となっているときは、図６のように、表示領域５１０の中心部にはカメが見えていることになる。逆に、ボタン３１０がカメの表示となっているときは、図７のように、表示領域５１０の中にカニが見えていることがあるが、カメは任意の回転をするから、カメの視点では、通常の場合、表示領域５１０の中にカニが見えていない場合も多い。ボタン３１０の周囲にある矢印が付いた８つのボタンは、現在の視点における（ｘ，ｙ）平面上の並進移動のためボタンである。３２０は、カニおよびカメを表示領域５１０中に表示するかどうかを指定するトグルスイッチである。このトグルスイッチ３２０の操作により、表示領域５１０中にカニおよびカメが表示されたり隠されたりする。３３０は、それぞれの参照オブジェクトの位置を初期状態に戻すためのスイッチである。例えば、図６のように表示されている状態から、図５の表示のように初期状態に戻すために使用される。
【００３１】
図４は、パネル５４０の主要部の拡大図である。このパネルは参照オブジェクトの回転および前進および後退（ｚ方向の移動）のためのパネルで、中央にあるボタン４１０は、制御対象となる参照オブジェクトを切り替えるためのトグルボタンである。その時点での制御対象は、ボタン４１０上のカニまたはカメのマークによって示される。したがって、図４のようにボタン４１０がカニの表示となっているときは、カニの回転および前進および後退（ｚ方向の移動）が制御される。ボタン４１０の周囲にある８つのボタンは、左右、上下、および、斜め方向の回転のためのボタンで、ボタンに表示された回転を行なう。その左の縦に並んた２つのボタン４２０および４２１は、前進および後退用のボタンである。
【００３２】
移動および回転用の矢印ボタンは、すべて、ボタンを押す際のマウス側のボタンに応じて表示の移動および回転の速度が切り替わる。すなわち、マウスが二つのボタンを備えるものであれば２段階に、三つのボタンを備えるものなら３段階に変えられる。運動は、ボタンを押すと開始し、離すと止まる。この操作については、図１４を参照しながら、後で、もう少し詳細に説明する。
【００３３】
図３および図４に示すパネル５３０および５４０による視点の切替および制御対象の切替は全く独立である。ユーザは、カニの視点からカメの動きを眺めつつ、カメの動きを制御することができる。これによって、画像分布を眺めるのに適切な表示領域５１０中の位置に、カニの回転の中心を設定することが容易にできる。
【００３４】
図３の（ｘ，ｙ）平面の並進移動については、カメ視点の場合、回転と移動のショートカットとして働く。まず、カメ自身が、現在の（ｘ，ｙ）平面上のある方向に回転した後、前方すなわち回転後のｚ方向へと進む。一方、カニ視点の場合は、カニは、前述した定義より自由な方向転換ができない。従って、「カメが動くことによって結果として視点が移動する」という形式で動作する。例えば、ユーザが、カニ視点（パネル５３０のボタン３１０がカニ）で右方向移動のボタン３１１を押すと、まず、カメがカニの右方向と一致する方向に回転する。その後、カメの方がカメの前方方向に進み、カニはその動きに追随する。結果として、視点はカニの右方向に移動する。
【００３５】
図８、図９および図１０は、カニの視点で、左上方向への並進移動を行った場合の表示例である。すなわち、パネル５３０のボタン３１０をカニとして、左上を向いた矢印のボタン３１２を操作することによって、カメが左上方向への並進移動を行った状態を表示する例である。カメは、カニにとっての左上方向を向き、画面上の表示領域は、左上方向に移動している。カメの位置は表示領域５１０の中央である。
【００３６】
図１１、図１２および図１３は、カメを中心としたカニの右上方向への回転を、カニの視線から見た場合の表示例である。この場合、パネル５４０のボタン４１０をカニとして、右上を向いた矢印のボタン４１１を操作することによって、カニが右上方向への回転を行った状態を表示する例である。この場合も、カメの位置は表示領域５１０の中央である。
【００３７】
実際に参照オブジェクトのカニおよびカメの表示を参照しながら、パネル５３０のボタンを操作してウォークスルーを行なっていくと、カニおよびカメの互いの位置および姿勢の相対的な関係は変化していく。カメは任意の回転をするから、カメの視点では、通常の場合、カニをすぐに見失う。一方、カニはカメの方を見ながら、その周辺を回転するから、カニの視点では、カメは常に見えてはいる。しかし、両参照オブジェクトの回転により、カニとカメの姿勢は必ずしも一致しない。カメの視点を制御する場合、カニとカメの姿勢が一致しないと不都合な場合がある。また、現在のカメが見ている視点でカニで見てみたい、という要求も出て来る。
【００３８】
このような場面に対応するために用意されているのが、図４に示すパネル５４０の右下にある小さなボタン４３０である。これは、参照オブジェクトの回転についてのショートカット機能を与える。ボタン４１０がカメの場合、ボタン４３０にはカニが表示されている。この時、ボタン４３０を押すと、カメは、カニの姿勢とｚ方向が反転した姿勢、すなわち、カニに面した姿勢へと、まず回転する。以降、ショートカットボタン４３０を連続してクリック操作するとｚ方向の反転に伴う回転が順次起きる。一方、ボタン４１０がカニの場合、ボタン４３０にはカメが表示されている。この時、ボタン４３０を押すと、カニは、カメの姿勢と全く一致した姿勢へと回転する。カニは、カメを中心とする公転運動をするように回転する。実際には、これは、カメの後側に回り込むような運動となる。連続してショートカットボタン４３０をクリック操作すると、カメの場合と同様、ｚ方向の反転が起き、カメの前あるいは後に回り込むような動作をカニは行なう。
【００３９】
なお、これらの回転運動は、すべて、１軸を中心とした連続的な回転運動として実現されている。その際の回転軸および回転角の導出は、クライアントプログラムの側で行なっている。
【００４０】
参照オブジェクトのカメのみが持つ機能としては、画像へのジャンプ機能がある。ユーザは、表示領域５１０中の任意の画像をクリックすることによって、この画像の位置へとカメを飛ばすことができる。カニは、このカメの跳躍に追随する。この機能によって、ユーザは、見たい画像に容易に近づくことができる。
【００４１】
図１４は、パネル５４０のボタン４１０をカメとして、カメ前進用矢印ボタン４２０を押した場合の参照オブジェクトのカメの動きを制御する処理の流れを示すフローチャートである。その他の参照オブジェクトの種々の動きの制御も同様であり、説明は省略する。
【００４２】
ユーザがカメ前進用矢印ボタンを押した後、マウスボタンを押すと、GUIクライアントのマウス押下イベント処理が実行される。GUIクライアントは、可視化サーバより、現在のカメの姿勢行列を取得する。可視化サーバには、可視化空間に表示するための各種のデータが保存されている。移動ベクトルは、得られた姿勢行列のｚ方向ベクトルに、マウスボタンの選択に応じた移動速度を乗じたものとなる。押下イベント処理の最後で、時間割り込みが開始されている。以降、ユーザがマウスボタンを放すまで、一定時間単位の時間割り込みが発生する。
【００４３】
各時間割り込イベント処理においては、GUIクライアントから可視化サーバへ両参照オブジェクトの並進移動のための命令が送信される。
【００４４】
実施例２：仮想美術館のウォークスルー
本実施例は、仮想３次元的空間中に構築された美術館をブラウジングするシステムである。
【００４５】
本実施例では、首振り回転を行う参照オブジェクトＡは参照オブジェクトＢの分身としてユーザに理解されるように、ユーザインタフェイスを構成した。初期状態では、両者は、合体した状態にあり、ユーザの要求に応じて、分身が出現ないし消滅する。
【００４６】
図１５は、本実施例の参照オブジェクトのイメージを示した概念図である。参照オブジェクトＢはユーザ自身を意味する本体１４１０であり、参照オブジェクトＡは参照オブジェクトＢの前方方向の位置にある分身１４２０である。本実施例では、ユーザは自分自身が仮想３次元的空間を浮遊しているような感覚を感じつつ、ウォークスルーを行うことができる。
【００４７】
図１６（ａ），（ｂ）は、ユーザに表示される画像の例である。図１６（ａ）では、参照オブジェクトＡ、Ｂが合体している状態の表示である。表示領域１５１０には、ユーザが自分自身の視点から見た美術館内の様子が表示されている。１５１１および１５１２は、ウォークスルー用のパネルである。図１６（ｂ）は、表示領域１５１０に参照オブジェクトＡである分身１４２０が出現した際の表示例である。
【００４８】
本実施例における回転機能、および、移動時のそれぞれの参照オブジェクトの制約については、実施例１の場合と同様で、本体１４１０が参照オブジェクトのカニ、分身１４２０が参照オブジェクトのカメに相当する。
【００４９】
図１７（ａ），（ｂ）は、パネル１５１１の拡大図である。パネル中央のボタン１６１１は、視点切替え用のボタンで、本体の視点か、分身の視点かを切替える。図１７（ａ）では、ボタン１６１１の表示は、現在の視点が、本体の視点であることを示す。一方、図１７（ｂ）では、ボタン１６１１の表示は、現在の視点が、分身のものであることを示す。両者が、合体した状態では、本体の視点のみが存在すると定義する。従って、視点の切替えは生じず、パネルの表示は、図１７（ａ）の状態にある。ボタン１６１１の周囲の矢印ボタンは、（ｘ，ｙ）平面内での並行移動のためのボタンである。
【００５０】
図１８（ａ），（ｂ）は、パネル１５１２の拡大図である。本パネルは、ボタン１７１１に示された制御対象の回転および前進および後退移動のためのパネルである。合体した状態では、制御対象は、常に分身となるよう定義されている。従って、制御対象の切替えは生じず、パネルの表示は、図１８（ａ）の状態にある。分身の出現および消滅は、ボタン１７１２で行う。合体した状態で、ボタン１７１２を押すと、分身が出現し、初期状態では、予め設定されたある一定距離、その他の場合は、その直前に消滅が起きた時点での距離まで、分身は、本体の前方方向に進み、止まる。その時点での分身の姿勢方向は、本体と同一である。その後は、制御対象を、本体あるいは分身に切替えることが可能となる。制御対象が、分身で、かつ、本体と分身とが分離した状態の時に、ボタン１７１２を押すと、分身は、後ずさりするような形で本体に接近し、本体と同一位置といえる至近位置にまで至ると消滅する。その際の視点が、分身であった場合は、消滅に至る動作に対応した表示が行われた後、図１７のパネル表示が、図１７（ｂ）から図１７（ａ）に切り替わる。すなわち、視点は、本体の視点となる。一方、制御対象が、図１８（ｂ）に示すように、本体の場合、ボタン１７１２を押すと、本体が、分身の側に接近する形で、分身の消滅が起きる。この場合、消滅に至る動作に対応した表示が終了すると、図１８のパネル表示が、図１８（ｂ）から図１８（ａ）に変わる。すなわち、制御対象が、本体から分身へと切り替わる。
【００５１】
上記のような基本機能に基づき、ユーザは、仮想的な美術舘の内部のウォークスルーを行う。内部のコンテンツ側に定義された機能として、美術館内の展示物をクリックすると、分身が、その展示物の中心へと移動する機能がある。その時点で、本体と分身とが合体した状態の場合は、分身の出現が生ずる。図１９は、その際に、ユーザが抱くイメージを示した概念図である。ユーザ自身１４１０が眺めている美術品１８１０に、分身１４２０が吸い込まれていくような感覚をユーザが感じるように、表示は行われる。その後、ユーザは美術品１８１０の周辺を回転して眺めることができる。
【００５２】
実施例３：画像検索における情報空間の分身を用いたウォークスルー
本実施例は、実施例１の画像検索システムにおいて、実施例２のウォークスルー方法を用いたものである。システム構成は、図１に示した実施例１のシステムと同一である。画面表示は、図５に示した実施例１の仮想３次元的空間の表示領域の表示と基本的には同一である。ただし、パネル５３０、５４０は、図１６に示したパネル１５１１、１５１２に置換されたものとなる。本実施例のウォークスルー機能は、図１８のパネルのボタン１７１２の機能が異なる点を除き、基本的には実施例２と同一である。
【００５３】
本実施例では、ボタン１７１２は、スイッチ形式ではなく、他の矢印ボタンと同様、ボタンを押し続けることによって、所望の動作が生じる。
【００５４】
本体と分身が合体した状態（パネルの表示は図１８（ａ））で、ボタン１７１２を押すと、分身の分離が生じ、その後、ボタン１７１２が押されている間、前方方向に分身は前進する。ボタンを離すと、分身の前進は停止する。
【００５５】
分身が分離した状態で、かつ、制御対象が分身の場合（パネルの表示は同じく図１８（ａ））、ボタン１７１２を押すと、分身は、本体の姿勢と一致した姿勢に回転した上で、後退する形で、本体に向かって接近してくる。ボタンを離すまで、この接近は持続し、両者の位置が同一と判定されると、分身は消滅する。両者の位置が同一と判定される以前にボタンが離された場合、分身は、本体に近づいただけで、消滅はしない。
【００５６】
分身が分離した状態で、かつ、制御対象が本体の場合（パネルの表示は図１８（ｂ）、ボタン１７１２を押すと、まず、本体が、分身を中心に公転するような形式で回転し、分身と同一の姿勢となる。この間の動作は、実施例１のカニにおける図４のパネル５４０のボタン４３０を押した場合の動作と同一である。その後、ボタン１７１２が押され続けると、本体は、分身に接近していく。両者の位置が同一と判定されると、分身は消滅する。両者の位置が同一と判定される以前にボタンが離された場合、分身の消滅は生じない。
【００５７】
実施例４：ボタンを備えた外部入力装置を用いたシステム
本実施例では、画面上のパネルの代わりに、外部入力装置を用いて、ウォークスルーを行う。
【００５８】
図２０は、本実施例のシステムの構成図である。１９１０は検索サーバ、１９２０は可視化サーバであり、１９３０は特徴量ＤＢ、１９４０は画像ＤＢ、１９５０は外部入力装置である。ここで、可視化サーバ１９２０および外部入力装置１９５０を除くと、実施例１の検索サーバ１１０と同一のプログラム、特徴量ＤＢ  １４０、画像ＤＢ  １５０と同一のデータで実施できる。本システムのユーザインタフェイスは、可視化サーバ１９２０のみによって管理される。可視化サーバ１９２０は、ユーザからの入力を外部入力装置１９５０から取得する。
【００５９】
図２１は、本実施例の表示例である。可視化サーバ１９２０は、仮想３次元的可視化空間の内の表示領域２０１０内に散布されている大小の四角で示す小画像群に加え、検索キー画像の一覧を表示するパネル２０２０および現在の視点を示す小画像２０３０を表示する。これらは、それぞれ実施例１における図５に示すパネル５２０および図３に示すパネル５３０のボタン３１０に対応するが、実施例１のシステムにおいてＧＵＩクライアント１３０が表示したパネルとは異なり、パネル２０２０、２０３０は、観察者の目前に存在する板状の仮想３次元的オブジェクトとして表示される。ただし、表示位置は、あくまで観察者の視点との関係で定義されており、ウォークスルーを行っても、画面中の位置は変化しない。
【００６０】
図２２に、本実施例で用いる外部入力装置１９５０を示す。外部入力装置１９５０上には、８方向の自由度を持つカーソルボタン２１００と、Ａ、Ｂ、Ｃ、Ｄの４つのボタンが存在する。
【００６１】
表示領域２０１０中でのキー画像の選択は、ボタンＣを押して表示領域２０１０中にカーソルを表示させるとともにカーソルボタン２１００で所望の画像をカーソルにより指定した後ボタンＣを元に戻すことにより行う。任意の画像へのカメのジャンプは、ボタンＤを押して表示領域２０１０中にカーソルを表示させるとともにカーソルボタン２１００で所望の画像をカーソルにより指定した後ボタンＤを元に戻すことにより行う。
【００６２】
カニおよびカメ間での視点の切替えは、２つのボタンＡとＢを同時に押すことによって行われる。現在視点についての（ｘ，ｙ）平面上、ないしは、（ｘ，ｚ）平面上での並進移動は、カーソルボタン２１００によって行う。（ｘ，ｙ）平面と（ｘ，ｚ）平面の切替えは、２つのボタンＣとＤを同時に押すことによって行われる。並進移動の仕方は、実施例１の図３と同様である。例えば、カニ視点での（ｘ，ｚ）平面上での並進移動では、まず、カメが、カニにとっての（ｘ，ｚ）平面上の指定された方向を向き、その後、カメが前進し、それをカニが追随する。
【００６３】
ボタンＡを押しながら、カーソルボタン２１００を押し回転方向を指定すると、カニの回転運動が行われる。ボタンＢを押しながら、カーソルボタン２１００を押し回転方向を指定すると、カメの回転運動が行われる。回転運動の直後は、カーソルボタン２１００は、上下のボタンのみが有効となり、回転を行った参照オブジェクトの前進および後退（ｚ方向の並進移動）を行うことができる。単にボタンＡ、ないしは、ボタンＢを押した場合も、同様で、それらのボタンが押された直後は、カーソルボタンは、対応する参照オブジェクト（Ａならカニ、Ｂならカメ）の前進および後退用のボタンとなる。この前進および後退モードは、対応するボタンＡないしＢを再び押すことによって解除され、現在視点についての（ｘ，ｙ）平面上、ないしは、（ｘ，ｚ）平面上を並進移動するモードに戻る。
【００６４】
図４のパネル５４０のボタン４３０に対応する、カニあるいはカメのショートカット機能については、カニのショートカット機能は、２つのボタンＡとＣを同時に押すことによって、カメのショートショートカット機能は、２つのボタンＢとＤを同時に押すことによって行われる。
【００６５】
【発明の効果】
本発明によって、仮想３次元的表示における、視点中心の回転機能と対象中心の回転機能が、操作性のよいユーザインタフェイス上に統合することが可能となった。これによって、仮想３次元的空間を自由に動き回ることと、その空間中の対象物の概観を眺めることを、ユーザが、容易に行うことが可能となった。
【図面の簡単な説明】
【図１】実施例１のシステム構成を示すブロック図。
【図２】二つの参照オブジェクトの動きを具体的に説明するための概念図。
【図３】実施例１の参照オブジェクトの（ｘｙ）方向並進移動と視点切替えとを制御するためのパネルの主要部の拡大図。
【図４】実施例１の参照オブジェクトの回転および前進後退と制御対象の切替えとを制御するためのパネルの主要部の拡大図。
【図５】実施例１における表示領域およびパネルの表示例を示す図。
【図６】図５における参照オブジェクトの一つのカメを近くから見た場合の表示例を示す図。
【図７】図５における参照オブジェクトの他の一つのカニを近くから見た場合の表示例を示す図。
【図８】参照オブジェクトのカニの視点におけるｘ−ｙ平面上での並進移動の一つの表示例を示す図。
【図９】参照オブジェクトのカニの視点におけるｘ−ｙ平面上での並進移動の他の一つの表示例を示す図。
【図１０】参照オブジェクトのカニの視点におけるｘ−ｙ平面上での並進移動の他の一つの表示例を示す図。
【図１１】参照オブジェクトのカメを中心とした参照オブジェクトのカニの右上方向への回転をカニの視線から見た場合の一つの表示例を示す図。
【図１２】参照オブジェクトのカメを中心とした参照オブジェクトのカニの右上方向への回転をカニの視線から見た場合の他の一つの表示例を示す図。
【図１３】参照オブジェクトのカメを中心とした参照オブジェクトのカニの右上方向への回転をカニの視線から見た場合の他の一つの表示例を示す図。
【図１４】参照オブジェクトの動きの一部を示すフローチャート。
【図１５】実施例２の参照オブジェクトのイメージを示す概念図。
【図１６】（ａ）および（ｂ）は実施例２においてユーザに表示される仮想３次元的表示領域の画像の例を示す概念図およびこの表示領域に参照オブジェクトの一つが表示されたときの仮想３次元的表示領域の画像の例を示す概念図。
【図１７】（ａ），（ｂ）は、図１６の画像に表れたパネルの一つを説明するためのの拡大図。
【図１８】（ａ），（ｂ）は、図１６の画像に表れたパネルの他の一つを説明するためのの拡大図。
【図１９】実施例２における参照オブジェクトの操作による参照オブジェクトの表示のイメージの概念図。
【図２０】実施例４のシステム構成を示すブロック図。
【図２１】実施例４における表示領域およびパネルの表示例を示す図。
【図２２】実施例４におけるユーザの操作用の外部入力装置の構成の一例を示す図。
【符号の説明】
１１０：検索サーバ、１２０：可視化サーバ、１３０：ＧＵＩクライアント、１４０：画像特徴量データベース、１５０：画像データベース、３１０：視点の切替えボタン、３２０：参照オブジェクトの表示および非表示の切替えボタン、３３０：参照オブジェクト位置のリセットボタン、４１０：制御対象の参照オブジェクトの切替えボタン、４１０，４２０：参照オブジェクトの前進、後退ボタン、４３０：ショートカット用ボタン、５１０：表示領域、５２０：検索キー画像の集合、５３０：図３のウォークスルー用パネル、５４０：図４のウォークスルー用パネル、１４１０：参照オブジェクトであるユーザ自身のイメージ、１４２０：参照オブジェクトである分身のイメージ、１５１０：表示領域、１５１１：図１７のウォークスルー用パネル、１５１２：図１８のウォークスルー用パネル、１６１１：視点切替えボタン、１７１１：制御対象切替えボタン、１７１２：分身出現および消滅ボタン、１８１０：仮想的美術品、１９１０：検索サーバ、１９２０：可視化サーバ、１９３０：画像特徴量データベース、１９４０：画像データベース、１９５０：外部入力装置、２０１０：表示領域、２０２０：キー画像が表示されるパネル、２０３０：現在の視点の表示、２１００：カーソルボタン、Ａ，Ｂ，ＣおよびＤ：ボタン。
【図１】
0003887136.tif 000003
【図２】
0003887136.tif 000004
【図３】
0003887136.tif 000005
【図４】
0003887136.tif 000006
【図５】
0003887136.tif 000007
【図６】
0003887136.tif 000008
【図７】
0003887136.tif 000009
【図８】
0003887136.tif 000010
【図９】
0003887136.tif 000011
【図１０】
0003887136.tif 000012
【図１１】
0003887136.tif 000013
【図１２】
0003887136.tif 000014
【図１３】
0003887136.tif 000015
【図１４】
0003887136.tif 000016
【図１５】
0003887136.tif 000017
【図１６】
0003887136.tif 000018
【図１７】
0003887136.tif 000019
【図１８】
0003887136.tif 000020
【図１９】
0003887136.tif 000021
【図２０】
0003887136.tif 000022
【図２１】
0003887136.tif 000023
【図２２】
0003887136.tif 000024