(58)【調査した分野】(Int.Cl.,DB名)
コンピュータプログラム(p)が、コンピュータによって実行されるとき、請求項1から8のいずれか一項に記載の方法を実施するように構成された命令を含む、コンピュータプログラム(p)。
【発明の概要】
【発明が解決しようとする課題】
【0005】
したがって、先行技術の固有の欠点を示すことのない、多次元空間を回転させるための方法およびデバイスを提案することが、本発明の実施形態の目的である。
【課題を解決するための手段】
【0006】
したがって、実施形態は、多次元空間を回転させるためのデバイスによって実行される、多次元空間を回転させるための方法に関し:
− ユーザによって入力された2次元可視化空間の第1のポイントおよび第2のポイントの2次元座標を取得するステップと、
− 前記第1のポイントおよび前記第2のポイントを、Dが4以上であるD次元空間中に投影することによって、第1のD次元ベクトルおよび第2のD次元ベクトルを決定するステップと、
− 前記第1のD次元ベクトルおよび前記第2のD次元ベクトルに応じて回転行列を決定するステップとを含み、
前記D次元空間が、第1の次元、第2の次元およびD−2個の他の次元を有し、2次元可視化空間が、前記D−2個の他の次元のうちそれぞれの次元に関連づけられた事前定義のD−2個の領域を有し、
前記第1のD次元ベクトルおよび前記第2のD次元ベクトルを決定するステップが:
− ユーザによって指定された領域のうちの1つを決定するステップと、
− 前記第1の次元、前記第2の次元、およびD−2個の他の次元のうち主にユーザによって指定された領域に関連づけられた第3の次元に、前記2次元座標を投影するステップとを含む。
【0007】
相関して、実施形態は、多次元空間を回転させるためのデバイスに関し:
− ユーザによって入力された2次元可視化空間の第1のポイントおよび第2のポイントの2次元座標を取得するための手段と、
− 前記第1のポイントおよび前記第2のポイントを、Dが4以上であるD次元空間中に投影することによって、第1のD次元ベクトルおよび第2のD次元ベクトルを決定するための手段と、
− 前記第1のD次元ベクトルおよび前記第2のD次元ベクトルに応じて回転行列を決定するための手段とを備え、
前記D次元空間が、第1の次元、第2の次元およびD−2個の他の次元を有し、2次元可視化空間が、前記D−2個の他の次元のうちそれぞれの次元に関連づけられた事前定義のD−2個の領域を有し、
前記第1のD次元ベクトルおよび前記第2のD次元ベクトルを決定するための手段が:
− ユーザによって指定された領域のうちの1つを決定するための手段と、
− 前記第1の次元、前記第2の次元、およびD−2個の他の次元のうち主にユーザによって指定された領域に関連づけられた第3の次元に、前記2次元座標を投影するための手段とを備える。
【0008】
方法は、2次元可視化空間で、回転行列に従って回転されたD次元空間の投影を表示するステップを含むことができる。
【0009】
ユーザによって指定された領域は、第1のポイントおよび第2のポイントのうちの少なくとも1つが位置する領域となり得る。
【0010】
領域は、所定のD−2個の距離によって画定された、2次元可視化空間の原点を中心とする内円とD−3個の環状輪(annular ring)とを含むことができる。
【0011】
ユーザによって指定された領域を決定するステップは、第1のポイントおよび第2のポイントのうちの少なくとも1つの2次元座標に応じて、2次元可視化空間の原点からの距離を決定するステップを含むことができる。
【0012】
2次元座標は、D−2個の他の次元のうち第3の次元にのみ投影され得る。
【0013】
方法は、2次元可視化空間で領域を表示するステップを含むことができる。
【0014】
回転行列を決定するステップが:
− 前記第1のD次元ベクトルおよび前記第2のD次元ベクトルから成る行列の特異値分解を決定するステップと、
− 前記特異値分解に応じて静的な超平面を決定するステップと、
− 静的な超平面に沿ってD次元空間を回転させるための回転行列を決定するステップとを含むことができる。
【0015】
第3の次元は、第2のポイントが位置する領域に関連づけられ得る。
【0016】
デバイスは、2次元入力インターフェースを備えることができる。
【0017】
実施形態は、コンピュータプログラムが、コンピュータによって実行されるとき、多次元空間を回転させるための前記方法を実施するように構成された命令を含む前記プログラムにも関する。
【0018】
添付の図面に併せて実施形態の以下の説明を参照することによって、本発明の上記のおよび他の目的ならびに特徴がより明らかになり、本発明それ自体が、深く理解されるであろう。
【発明を実施するための形態】
【0020】
図面に示す種々の要素の機能は、専用のハードウェア、ならびに適切なソフトウェアと連携した、ソフトウェアを実行することができるハードウェアの使用を介して実現され得ることを述べておきたい。プロセッサによって実現されるとき、その機能は、単一の専用プロセッサによって、単一の共用プロセッサによって、または、そのうちいくつかは共用され得る個々の複数のプロセッサによって実現され得る。さらに、用語「プロセッサ」を明示的に使用するとき、ソフトウェアを実行することができるハードウェアを排他的に言うと解釈されるべきではなく、限定はしないが、暗黙の裡に、デジタル信号プロセッサ(DSP)ハードウェア、ネットワークプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ソフトウェアを記憶するための読出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、および不揮発性記憶装置を含むことができる。従来型および/またはカスタムの他のハードウェアも含まれ得る。これらの機能は、プログラム論理のオペレーションを介して、専用論理を介して、プログラム制御と専用論理の相互作用を介して、または手動でも、遂行され、特定の技術は、文脈からより具体的に理解されるように実施者によって選択され得る。
【0021】
さらに当業者には、本明細書のいずれのブロック図も、本発明の原理を実施する実例としての回路の概念図を示すということが、理解されるべきである。同様に、コンピュータまたはプロセッサが明示的に示されようとなかろうと、実質的にコンピュータ可読媒体中で示され、コンピュータまたはプロセッサによって実行され得る種々のプロセスを、いずれの流れ図も示すということが、理解されよう。
【0022】
図1は多次元データを表示するための2次元可視化空間1を示す。2次元可視化空間1は、スクリーンなどの端末5のディスプレイインターフェース54に表示される。端末5は、2次元入力デバイス53、例えば、マウス、タッチパッドまたは類似のものを備える。2次元可視化空間1は、x軸、y軸および原点Oを含む座標システムを有する。2次元ディスプレイ空間1のポイントp
iは、その2次元座標(x
i、y
i)によって指定され得る。
【0023】
Dが4以上であるD次元データは、2次元可視化空間1に表示するために投影される。2次元可視化空間に多次元データを投影するための技術は、当業者には知られており、これについては詳細に説明しない。
【0024】
D次元仮想トラックボールにより、2次元可視化空間1上のその投影を変更するためにD次元空間をその原点の周りで回転させることができる。D次元仮想トラックボールは、半径R
3の内部球体と、dが4からDまでの増加する半径R
dのD−3個の外郭とを含む。内部球体および外郭は、D次元空間の原点を中心とする。
【0025】
2次元可視化空間1では、D次元仮想トラックボールが、D−2個の領域に対応する:半径R
3の内円2、および原点Oの周りの半径R
d−1、R
d(dは4からDまで)によって限定されるD−3個のリング3。R
3からR
Dまでの増加する距離は、連続する距離間隔4の1セットを画定する:0からR
3まで、R
3からR
4まで...R
D−1からR
Dまで。領域のそれぞれは、距離間隔の1つに対応する。2次元可視化空間1のポイントp
iの原点Oからの距離は、p
iが位置する(内円2またはリング3のうちの1つである)領域に対応する距離間隔中に与えられる。
【0026】
D=6の例として
図1に示すように、内円2およびリング3が、2次元可視化空間1に表示され得ることに留意されたい。あるいは、円2およびリング3が必ずしも表示される必要はない。
【0027】
これ以降
図2を参照して説明するように、D次元仮想トラックボールと相互に作用するために2次元入力デバイス53を使用することによって、端末5のユーザが、D次元空間をその原点の周りで回転させることができる。このために、ユーザは、2次元可視化空間1の第1のポイントp
1、第2のポイントp
2を指定する。例えば、ユーザは、マウスボタンを保持しながらマウスを使用することによってポインタを動かし、p
1およびp
2は、ポインタの2つの連続する位置である。
【0028】
p
1およびp
2が位置する領域に応じて、D次元空間は、別の次元のサブセットで回転される。内円2は、3次元仮想トラックボールと似た挙動をし、D次元空間の最初の3つの次元XYZでの回転に対応する。第2のリング3(R
3からR
4までの距離間隔に対応する)は、第1、第2および第4の次元での回転に対応する。第3のリング3(R
4からR
5までの距離間隔に対応する)は、第1、第2および第5の次元での回転に対応するなどである。
【0029】
D次元空間の最初の2つの次元を含む回転を常に画定することによって、マウスポインタとの相互作用が、いずれの他の組合せとの相互作用より直感的に見える。さらに、次元のいずれの他の組合せでの回転も、最初の2つの次元および別の次元を含む回転のシーケンスで分解され得る。また、この分割は、直感的に感じる。得られる回転は常に超平面中にある。これは、全てのポイントが、平行な超平面中で中心の周りを、同じ超平面中の別のポイントに対して一定の角度で回転することを意味する。3次元では、これは、考え得る唯一のタイプの回転である。4次元では、これが「シンプル」ローテーションと呼ばれ、全ての考え得る回転の小さなサブセットである。しかし、ユーザは、このタイプの回転を範囲決定することによってのみ、より予測的にするような、相互作用のいくつかの制御を有すると感じる。
【0030】
別の実施形態では、D−2個の次元に関連づけられた領域が、内円2および環状輪3とは異なる形状、例えば楕円形または扇形を有する。
【0031】
図2は、端末5によって実行される、D次元空間を回転させるための方法の流れ図である。
【0032】
初めに、ユーザが、第1のポイントp
1の2次元座標(x
1,y
1)および第2のポイントp
2の2次元座標(x
2,y
2)を入力する(ステップS1)。例えば、先に説明したように、ユーザは、マウスボタンを保持しながらマウスを使用することによってポインタを動かし、p
1およびp
2は、ポインタの2つの連続する位置である。
【0033】
次いで、端末5が、ポイントp
1およびp
2の位置を2次元可視化空間1からD次元空間に投影することによって、D次元空間で2つのベクトルp
1およびp
2を決定する(ステップS2)。この投影は、先に述べた投影(D次元空間から2次元可視化空間1に)の反対であり、逆投影または反転投影と呼ばれ得ることに留意されたい。
【0034】
これに関しては、端末5が、ユーザによって指定された領域を決定する(ステップS2a)。この実施形態では、この領域は、ポイントp
2が位置する領域である。したがって、端末5は、原点Oとポイントp
2との間の距離Distを決定する:
【数1】
p
1およびp
2は、互いに近いので、別の例では、領域は、ポイントp
1、またはp
1とp
2との中間点例えばp
1とp
2との間の中点が位置する領域となり得る。その事例では、これに応じて距離Distが計算される。別の例では、ユーザによって指定される領域が、その領域の外側に位置するポイントp
1とp
2の連続する対に関しても、最初のマウスダウンイベントの領域である。この事例では、ベクトルp
1およびp
2が、ポイントp
1とp
2の連続する対に関して決定されるが、その領域は依然として同じである。
【0035】
図1の領域(内円2およびリング3)の例では、距離Distは、p
2(または先に説明した別のポイント)が位置する領域に対応する距離間隔4中に与えられる。
【0036】
次いで、端末5が、ポイントp
1およびp
2の2次元座標をD次元空間の3つの次元に投影することによって、2つのベクトルp
1およびp
2を決定する:2つの所定の次元、および残りのD−2個の他の次元のうち、距離Distに依存する第3の次元(ステップS2b)。2つの所定の次元は、2つの最初の次元XおよびYとすることができる。第3の次元は、ポイントp
2が位置する領域に関連づけられた次元である。これは、次のように表され得る。
p
1=(x
1,y
1,f
3(Dist),f
4(Dist),...,f
D(Dist))
T
p
2=(x
2,y
2,f
3(Dist),f
4(Dist),...,f
D(Dist))
T
式中:
【数2】
【0037】
ポイントp
2が次元dに対応して内円2またはリング3中に位置するとき、関数f
dは1に等しく、そうでない場合は0である。この選択により、リング3間の半径R
dをもつ円のところで強い境界線がもたらされる。「softer関数」を使用することによって、遷移をより滑らかなすることができ、この「softer関数」とは、R
d−1とR
dとの間の距離Distでは閾値t
0より高く、そうでない場合は閾値t
0より低く、好ましくは、間隔[R
d−1,R
d]からさらに離れたより低い閾値t
0’より低い、連続関数f
dである。例えば:
【数3】
【0038】
両方の事例の関数f
dについて、D=6の場合を
図3のグラフに示す。第1の事例(
図3の左)では、ポイントp
1およびp
2の2次元座標が、XおよびY次元に、またp
2が位置する領域に依存する第3の次元に、独占的に投影される。第2の事例(
図3の右)では、ポイントp
1およびp
2の2次元座標が、X軸およびY軸上に、また主に(独占的ではないが)p
2が位置する領域に依存する第3の次元に投影される。
【0039】
D−2個の次元に関連づけられた領域が円によって区切られるこの実施形態では、距離Distと距離R
dに応じて、ポイントp
2が位置する領域を決定することが可能である。一実施形態では、D−2個の次元に関連づけられた領域が、円によって区切られてなく、例えばそれらは、楕円形または扇形であり、ポイントp
2が位置する領域は、例えばx
2とy
2との両方に従って変化する関数f
dを使用することによって決定され得る。
【0040】
次いで、端末5は、ベクトルp
1およびp
2に応じて回転行列Rを決定する(ステップS3)。当業者は、種々の方式で、2つのベクトルに応じて回転行列Rを決定することが可能である。
【0041】
一例では、回転が、1つの軸ではなく、いくつかの軸周りに一時に回転するため、端末5は、ポイントがそれに沿って回転される静的な超平面(v
1,v
2)を決定する。相補超平面(v
3...v
D)は、回転軸のセットを形成する。これらの空間は、行列[p
1 p
2]の特異値分解から定義される:
[p
1 p
2]=UΣV
T
式中、V=(v
1 v
2...v
D)
【0042】
次いで、回転角θが決定される:
【数4】
【0043】
次のように、回転行列Rは、回転角θと行列Vから計算され得る:
【数5】
式中、I
D*Dは、次元Dの恒等行列である。
【0044】
次いで、端末5は、回転行列Rと回転角θに従って回転するD次元空間を、2次元可視化空間1に投影し、2次元可視化空間1を表示する(ステップS4)。
【0045】
ステップS1からS4は、連続するポイントp
1およびp
2の次の対のために、反復され得る。したがって、ユーザは、マウスポインタを用いてD次元仮想トラックボールを保持し、D次元仮想トラックボールの回転に従ってD次元空間を回転させる感覚を有することができる。
【0046】
図2の方法は、D次元空間のデータを考慮しないことに留意されよう。したがって、これは、ユーザ入力に基づいた一般的な方法であり、データとは独立的に応用され得る。
【0047】
本明細書で説明する多次元データを回転させるための方法は、種々の例で使用され得る。
【0048】
第1の例では、ユーザが、メディアコレクションを介してブラウズしたいとする。全てのメディアオブジェクトは、次のジャンルのそれぞれに対して評価される:演劇、コメディ、スリラー、アクション、ホラー、ファンタジーおよびサイエンスフィクション。結果として、メディアは全て、それぞれの次元がそのジャンルの評価に対応している、7次元特徴記述子を有する。メディアオブジェクトは、2次元スクリーン上に3次元ポイントクラウドとして可視化される。視聴者に対して最も近いポイントが、タイトルおよび小さなスクリーンショットを用いて示される。サイズは、3次元ポイントがユーザにどのくらい近いかということに対応する。離れているポイントは、破棄されるか、小さいドットとして示される。これらの3次元ポイントは、何らかの形で元の7次元空間の投影となることに留意されたい。ユーザは、先に説明したように、7次元仮想トラックボールを使用して、7次元ポイントクラウドを回転させることによって投影の方向に影響を及ぼすことができる。トラックボールのリング状の領域は、巧妙な方式で、スクリーンの背景に示され得る。ユーザは、例えばコメディ動画を正面に移動させ、またはトラックボールをドラッグすることによって適宜にスリラーを背後に送ることができる。同様に、ユーザは、ポイントクラウドを回転させることによって演劇対アクションのプロットを作成することができる。投影の方向は、ジャンルと正確に位置合せする必要はない。組み合わせることも可能である。
【0049】
多次元データの他の例には、ホテルの予約サイト、レストランガイド、オンラインショップなどが含まれる。こうしたデータを提供するウェブサイトは、ブラウジングをフィルタリングおよびソーティングまで還元する。1次元リストまたは2次元マップまでになることも多い。これにより、ユーザが、制約されるように感じ、完全な眺望(制限されることにより優先的に概観できないので、ユーザの思考の中にのみあるもの)を得るために、異なるフィルタおよびソートの設定を用いて複数の検索を実行する必要性の、可能性を低減する。本明細書で説明したD次元仮想トラックボールにより、ユーザが、単一のインターフェースを用いて一時に全ての次元でデータコレクションをブラウズすることができる。
【0050】
高次元データは、多くの科学分野でも利用可能である。例えば気象学者は、空気圧および風速を可視化することを望み、これは空間−時間の4次元に、1つまたは2つの次元を加えることになる。こうしたデータを介したブラウジングは、入力コントローラ、多くが2次元マウスポインタであるが、その限界によって制約される。これは、科学者が、望むやり方でデータを可視化するために、別個のツールまたは入力モードの間を連続的に切り替えしなければならないことを意味する。これは、時間がかかり、制約されることで、優先的な可視化の可能性を無効にすることさえあり、これにより、科学者は、重要な成果を得ることに失敗することになる。他の科学分野には、天文学、統計分析、量子物理学などが含まれる。
【0051】
図4は、端末5の構造図である。端末5は、プロセッサ51、メモリ52、2次元入力インターフェース53およびディスプレイデバイス54を備える。プロセッサ51は、メモリ52に記憶されたコンピュータプログラムを実行することができる。
図2の方法のステップは、こうしたコンピュータプログラムPの実行に対応することができる。この実施形態では、端末5が、多次元データを回転させるためのデバイスの一例である。
【0052】
クライアント/サーバ実施形態と呼ばれ得る別の実施形態では、端末5が、ポイントp
1およびp
2の位置を示すデータをサーバに送信し、このサーバは、
図2のステップのいくつかを実行することができる。例えば、サーバが、ポイントp
1およびp
2の座標を受信し、ベクトルp
1およびp
2、回転行列Rおよび回転角θを決定し、回転行列Rおよび回転角θを端末5に返信する。
【0053】
この方法の実施形態は、専用ハードウェアおよび/またはソフトウェアまたはその両方の任意の組合せによって実行され得る。
【0054】
本発明の原理について、特定の実施形態に関して上記で説明してきたが、この説明は例示のためだけのものであり、付属の特許請求の範囲で定義する本発明の範囲を限定するものではないことを、明確に理解されたい。