説明

インタラクティブ・システム及び方法

【解決手段】ユーザーに複合現実感の経験をもたらすインタラクティブ・システムであり、このシステムは、各面に一つのマーカーを有する少なくとも2つの面を有するオブジェクトと、 第1シーン内のオブジェクトの複数の画像をキャプチャする画像キャプチャリング・デバイスと、オブジェクトの少なくとも2面及び少なくとも1個のマーカーを識別することで第1シーン内のオブジェクトの位置及び向きをトラッキングするコンピュータ・ソフトウェアとを備えている。コンピュータ・ソフトウェアは、識別されたマーカーに関連するマルチメディア・コンテンツを取得し、第1シーン上の識別されたマーカーに対する相対位置に重ね合わされた関連するマルチメディア・コンテンツを含む第2シーンを生成する。この結果、ユーザーに対して複合現実感の経験がもたらされる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複合現実感の経験をユーザーにもたらすためのインタラクティブ・システムに関する。
【背景技術】
【0002】
コンピュータ用のユーザー・インターフェースに関しては、比較的わずかな変化しか生じていない。何十年もの間、コンピュータに用いられる標準の入力デバイスは、キーボードとマウスである。最近、人気のある発展としては、ブルートゥース又は無線周波数を用いてデスクトップ端末と交信するワイヤレスキーボード及びマウスがある。これにより、ケーブルは不要になるが、これらのキーボード及びマウスは電池を必要とする。別の直感的入力方法は、音声認識である。この方法では、コンピュータがユーザーの声を認識して理解することが必要であり、さらに対応するコマンドを実行することが必要である。音声認識は、コンピュータを訓練してユーザーの話し方を認識するようにする事が必要である。しかし、正確さは、未だに、コンピュータの処理能力、マイクの質及びユーザーが喋る言葉の明瞭性に頼っている。
【発明の開示】
【発明が解決しようとする課題】
【0003】
コンピュータとの間でのこのようにインターフェースをとることは、煩雑であって直感的ではないため、ユーザーの不満を引き起こしている。
【課題を解決するための手段】
【0004】
本発明の第1の好ましい側面として、複合現実感の経験をユーザーにもたらすためのインタラクティブ・システムが提供され、システムは、
各面に1つのマーカーを有する少なくとも2つの面を有するオブジェクトと、
第1シーンにおけるオブジェクトの複数の画像をキャプチャーするための画像キャプチャリング・デバイスと、
オブジェクトの少なくとも2つの面をトラックしさらに少なくとも1つのマーカーを識別することで、第1シーン内のオブジェクトの位置及び向きをトラックするためのコンピュータ・ソフトウェアとを備えている。
【0005】
コンピュータ・ソフトウェアは、識別されたマーカーに関連するマルチメディア・コンテンツを取得し、さらに第1シーン上の識別されたマーカーに対する相対位置に重ね合わされた関連するマルチメディア・コンテンツを含む第2シーンを生成する。この結果、ユーザーに複合現実感の経験がもたらされる。
【0006】
有利な点として、オブジェクトの上面が塞がれている場合は、他の面のマーカーを識別可能であるため上面のマーカーを確認可能であり、オブジェクトのトラックが可能である。
【0007】
好ましくは、マーカーは、単一のギャップを有する不連続のボーダーを含んでいる。
【0008】
有利な点として、ギャップはボーダーの対称性を崩しており、そのためマーカー同士の相違を増やしている。
【0009】
より好ましくは、マーカーは、ボーダー内の画像を備えている。この画像は、マーカーを識別するためのテンプレート/マッチングを促進する幾何学模様(幾何学的パターン)であってもよい。この模様は、見本のレポジトリに格納された見本(見本パターン)にマッチすることができても良い。
【0010】
さらに好ましくは、ボーダー及び画像は、白い背景上の黒色であっても良い。有利な点として、これによって、変化する照明条件のマイナスの影響が少なくなる。
【0011】
マーカーは、自らが識別されるために塞がれていない状態であっても良い。
【0012】
マーカーは、先に定められた形状であっても良い。マーカーを識別するために、少なくとも形状の一部は、コンピュータ・ソフトウェアによって認識される。コンピュータ・ソフトウェアは、形状の検出された部分を用いて、マーカーの完全な先に決定された形状を決定しても良い。例えば、先に定められた形状が正方形である場合、コンピュータ・ソフトウェアは、1つのコーナーが塞がれていた場合、マーカーが正方形であると判断することができる。
【0013】
コンピュータ・ソフトウェアは、ボーダーが部分的に塞がれておりボーダー内の模様が塞がれていない場合は、マーカーを識別しても良い。
【0014】
インタラクティブ・システムは、さらにモニター、テレビスクリーン又はLCD等の、第2シーンが生成されると同時に第2シーンを表示するためのディスプレイ・デバイスを有していても良い。ディスプレイ・デバイスは、画像キャプチャリング・デバイスのビュー・ファインダー、又は画像若しくはビデオを投影するプロジェクタであっても良い。ディスプレイ・デバイスのビデオフレーム・レートは毎秒12〜30フレーム(12[fps]〜30[fps])であっても良い。
【0015】
画像キャプチャリング・デバイスは、ディスプレイ・デバイスの上方に取り付けられても良いし、画像キャプチャリング・デバイス及びディスプレイ・デバイスの両方がユーザーを向いていても良い。オブジェクトは、ユーザーとディスプレイ・デバイスとの間で操作可能であっても良い。
【0016】
マルチメディア・コンテンツは、2D画像(2次元画像)又は3Dモデル(3次元モデル)、ビデオとオーディオの情報を含んでいても良い。
【0017】
好ましくは、オブジェクトの少なくとも2つの面は実質的に平面である。
【0018】
好ましくは、少なくとも2つの面は互いに接続されている。
【0019】
オブジェクトは、キューブ又は多面体であっても良い。
【0020】
オブジェクトは、折り畳み可能であり、例えばストーリーを語るための折り畳み可能なキューブであってもよい。
【0021】
コンピュータ・ソフトウェアは、パーソナル・デジタル・アシスタント(PDA)、携帯電話、その他のモバイル・コミュニケーション・デバイス、または、内蔵コンピュータ・プロセッサ付きのコンソール・ボックスといった、モバイルのコンピューティング・デバイスやデスクトップのコンピューティング・デバイスにインストールされてもよい。
【0022】
画像キャプチャリング・デバイスはカメラであっても良い。カメラはCCD又はCMOSビデオカメラであっても良い。
【0023】
カメラ、コンピュータ・ソフトウェア及びディスプレイ・デバイスは、単一の統合ユニット内に設けられても良い。
【0024】
カメラ、コンピュータ・ソフトウェア及びディスプレイ・デバイスは、互いに遠く離れた位置に設けられていても良い。
【0025】
関連するマルチメディア・コンテンツは、表示されるビデオ・フレームごとに、関連するマルチメディア・コンテンツを第1シーンにレンダリングすることで、第1シーンに重ね合わされても良い。
【0026】
オブジェクトの位置は3次元空間で計算しても良い。位置関係は、カメラとオブジェクトの間で推定されても良い。
【0027】
カメラ画像は、しきい値処理されても良い。隣接する暗い領域は、コネクトテッド・コンポーネント・アルゴリズム(connected components algorithm)を用いて識別されても良い。
【0028】
輪郭探求技術は、これらの暗い領域のアウトラインを識別できる。4つのコーナーを有さない輪郭は放棄されても良い。間違ったサイズの領域を有する輪郭は放棄されても良い。
【0029】
複数の直線は、正方形輪郭の各側に合致するようにしても良い。複数の直線の交点はコーナー位置の推定として用いられる。
【0030】
射影変換は、これらのコーナーによって規定された領域をワープして標準の形状にするために用いられても良い。標準の形状は、マーカーの格納された見本パターンと相互相関関係にあり、それによってマーカーが識別され、マーカーの向きが検出される。
【0031】
マーカーコーナーの位置は、マーカー位置に対するカメラ位置に関連するユニークなユークリッド行列変換を識別(特定)するために用いることができる。
【0032】
インタラクティブ・システムは、ストーリーテリング・アプリケーション又はインテリア・デザイン・アプリケーションであっても良い。
【0033】
システムは、少なくとも2つのオブジェクトをさらに備えていても良い。そこでは、少なくとも2つのオブジェクトの空間的関係が決定されると、識別されたマーカーに関連するマルチメディア・コンテンツから先に定められた応答(予め設定されたレスポンス)を生じさせる。
【0034】
空間的関係は、オブジェクト同士の、距離、積み上げ、及び塞がりからなるグループの1つから選ぶことができる。
【0035】
先に定められた応答は、関連するマルチメディア・コンテンツ、少なくとも一つの関連マルチメディア・コンテンツのアニメーション及び関連するマルチメディア・コンテンツの少なくとも1つのオーディオ・レコーディングの再生の相互作用からなるグループから選択可能である。
【0036】
本発明の第2の側面として、複合現実感の経験をユーザーにもたらすためのインタラクティブ・システムが提供され、システムは、第1シーン内のオブジェクトの複数の画像をキャプチャーするための画像キャプチャリング・デバイスと、1つのマーカーを有するオブジェクトの少なくとも2つの面をトラックしさらに少なくとも1つのマーカーを識別することで、第1シーン内のオブジェクトの位置及び向きをトラックするためのコンピュータ・ソフトウェアとを備えている。
【0037】
コンピュータ・ソフトウェアは、識別されたマーカーに関連するマルチメディア・コンテンツを取得し、さらに第1シーン上の識別されたマーカーに対する相対位置に重ね合わされた関連するマルチメディア・コンテンツを含む第2シーンを生成する。その結果、複合現実感の経験がユーザーにもたらされる。
【0038】
本発明の第3の側面では、複合現実感の経験をユーザーにもたらすためのソフトウェア・アプリケーションが提供され、アプリケーションは、
第1シーンにおける1つのオブジェクトのキャプチャーされた画像を画像キャプチャリング・デバイスから受け取るための画像処理モジュールと、
各面が1つのマーカーを有するオブジェクトの少なくとも2つの面をトラックしてさらに少なくとも1つのマーカーを識別することで、第1シーン内のオブジェクトの位置及び向きをトラックするためのトラッキング・モジュールと、を備えている。
【0039】
ソフトウェア・アプリケーションは、識別されたマーカーに関連するマルチメディア・コンテンツ取得し、さらに第1シーン上の識別されたマーカーに対する相対位置に重ね合わされた関連するマルチメディア・コンテンツを含む第2シーンを生成する。この結果、複合現実感の経験がユーザーにもたらされる。
【0040】
本発明の第4の側面では、仮想オブジェクトを取得して複合現実感の経験をユーザーにもたらすための取得モジュールが提供され、モジュールは、
識別されたマーカーに関連するマーカー識別データを受け取るためのデータ・レシーバと、
マーカー識別データに関連する仮想オブジェクトを求めて仮想オブジェクトデーターベースを検索するための検索ツールと、を備えている。
【0041】
マッチングが検出されると、仮想オブジェクトは、実際のシーン上の識別されたマーカーに関連する位置に重ね合わせられる。その結果、複合現実感の経験がユーザーにもたらされる。
【0042】
1つの識別されたマーカーは、2つ以上の対応仮想オブジェクトを有していても良い。
【0043】
本発明の第5の側面では、複合現実感の経験をユーザーにもたらすための関連するマルチメディア・コンテンツのレポジトリが提供され、レポジトリは、
マルチメディア・コンテンツの各アイテムを識別するための識別データフィールドと、
マルチメディア・コンテンツのアイテム又はマルチメディア・コンテンツの1つのアイテムの格納位置を格納するためのコンテンツデータのフィールドと、を備えている。
【0044】
識別されたマーカーに関連するマーカー識別データは、識別データフィールドに関して検索され、さらに識別されたマーカーに関連するマルチメディア・コンテンツは取得されて実際のシーン上の識別されたマーカーに対する位置に重ね合わされる。その結果、複合現実感の経験がユーザーにもたらされる。
【0045】
本発明の第6の側面では、複合現実感の経験をユーザーにもたらすための複合現実感コンテンツを搬送する信号が提供され、信号は、
実際のシーンと、実際のシーン上の識別されたマーカーに対する位置に重ね合わされた識別されたマーカーに関連するマルチメディア・コンテンツとを含むグラフィック情報を備えている。
【0046】
識別されたマーカーは、各面におけるマーカーを有するオブジェクトの少なくとも2つの面をトラックすることで識別される。
【0047】
信号は、識別されたマーカーに関連するオーディオ情報をさらに備えていても良い。
【0048】
本発明の第7の側面では、複合現実感の経験をユーザーにもたらすためのインタラクティブ・システムに用いられる有形のオブジェクトが提供され、オブジェクトは、
少なくとも2つの面と、
各面における不連続のボーダー及びボーダー内の画像を含んでいるマーカーと、を備えている。
【0049】
ボーダーの不連続は、ボーダー内の画像の配置(位置合わせ)及びオブジェクトの向きを示している。
【0050】
オブジェクトの位置及び向きは、オブジェクトの少なくとも1面をトラックすることで、トラックされることができる。
【0051】
本発明の第8の側面では、複合現実感の経験をユーザーにもたらすためのインタラクティブ・システムで用いられる有形のオブジェクト用のマーカーが提供され、マーカーは、
不連続のボーダー及びボーダー内の画像を備え、
シーン内のマーカーを識別するため、ボーダーはシーン内に配置されており、さらにボーダー内の画像は、画像レポジトリ内のマッチング・イメージを見つけるためにサーチされる。
【0052】
マーカーが識別されると、コンピュータ・ソフトウェアは、識別されたマーカーに関連するマルチメディア・コンテンツを取得することができる。
【0053】
本発明の第9の側面では、複合現実感の経験をユーザーにもたらすためのオブジェクトをトラッキングする方法が提供され、この方法は、
各面に1つのマーカーがあるオブジェクトの各面のために対応する変換行列を計算するステップと、
最高のトラッキング信頼性を有する表面を識別するステップと、
識別された表面とオブジェクトとの物理的関係に基づいて、マーカー座標系からオブジェクト座標系への変換行列を計算するステップとを備えている。
【0054】
オブジェクト座標系からカメラ座標系への変換行列は、オブジェクト座標系から表面座標系への変換行列に表面座標系からカメラ座標系への変換行列を乗算することで、計算される。
【0055】
本発明の第10の側面では、複合現実感の経験をユーザーにもたらすための画像キャプチャリング・デバイスが提供され、このデバイスは、
第1シーン内の1つのオブジェクトの複数の画像をキャプチャーするための画像キャプチャリング・モジュールと、
各面が1つのマーカーを有するオブジェクトの少なくとも2つの面をトラックしさらに少なくとも1つのマーカーを識別することで、第1シーン内のオブジェクトの位置及び向きをトラックするためのトラッキング・モジュールと、を備えている。
【0056】
デバイスは、識別されたマーカーに関連するマルチメディア・コンテンツを取得し、さらに第1シーン上の識別されたマーカーに対する相対位置に重ね合わされた関連するマルチメディア・コンテンツを含む第2シーンを生成する。この結果、複合現実感の経験をユーザーにもたらす。
【0057】
本発明の第11の側面では、コンピュータプログラム・プロダクトが提供される。このプロダクトは、コンピュータにより実行可能なインストラクション(命令)を担持するためのコンピュータにより読み取り可能なメディアからなる。インストラクションは、
第1シーンにおける1つのオブジェクトのキャプチャーされた画像を画像キャプチャリング・デバイスから受け取ることと、
各面が1つのマーカーを有するオブジェクトの少なくとも2つの面をトラックしさらに少なくとも1つのマーカーを識別することで、第1シーン内のオブジェクトの位置及び向きをトラックすることと、を備えている。
【0058】
識別されたマーカーに関連するマルチメディア・コンテンツは取得され、第1シーン上の識別されたマーカーに対する位置に重ね合わされた関連するマルチメディア・コンテンツを含む第2シーンが生成される。この結果、複合現実感の経験がユーザーにもたらされる。
【発明を実施するための最良の形態】
【0059】
図面及び以下の説明は、本発明が実施可能となる適切なコンピュータ環境の短く一般的な説明を提供することを意図している。必ずしも必須ではないが、本発明は、コンピュータにより実行可能なインストラクションの一般的なコンテクストにおいて説明される。インストラクションは、例えば、パーソナルコンピュータによって実行される複数のプログラム・モジュールである。一般的に、プログラム・モジュールは、特別なタスクを実施する又は特別な抽象データ型を実装するルーチーン、プログラム、文字、コンポーネント、データ構造である。当業者なら理解するように、本発明は、他のコンピュータシステムの構成によっても実施できる。他のコンピュータシステムの構成には、手持ちデバイス、マルチプロセッサ・システム、マイクロプロセッサ搭載の又はプログラム可能な民生用電子製品、ネットワークPC、ミニコンピュータ、メインフレーム・コンピュータ、コンソール・ボックス等が含まれる。本発明は、分散コンピュータ環境でも実施できる。そこでは、通信ネットワークによってリンクされた離れた複数の処理装置によってタスクが実行される。分散コンピュータ環境では、プログラム・モジュールは、ローカルのメモリ・ストレージ装置とリモートのメモリ・ストレージ装置との両方に配置されても良い。
【0060】
図1を参照すると、コンピュータに搭載されたソフトウェア・アプリケーションと相互作用可能なインタラクティブ・システムが提供されている。この例では、ソフトウェア・アプリケーションは、メディア・ファイルを再生するためのメディア・プレーヤー・アプリケーションである。メディア・ファイルは、AVIムービーファイル又はWAVオーディオ・ファイルを含んでいる。インタラクティブ・システムは、マイクロソフトのウィンドウズXPプラットフォームでVisualC++6.0を用いてプログラムされたソフトウェア、コンピュータのモニター、及びデスクトップ領域をトラックするためのモニターの上方に設置されたDragonflyカメラを備えている。
【0061】
簡単なタンジブル・ユーザー・インターフェース(TUI)を用いる複雑なインタラクションは、オブジェクト指向タンジブル・ユーザー・インターフェース(OOTUI)コンセプトをインタラクティブ・システム用のソフトウェア開発に応用することで可能になっている。それぞれ異なるクラスのオブジェクトからの属性及び方法(メソッド)は、オブジェクト指向プログラミング(OOP)技術を用いて抽象化されている。図1の(a)は、階層的な方法で構造化され(階層構造を有し)、複数の共通点がスーパークラスであるグラフィック・メディア13の下で分類されている(クラス化されている)仮想オブジェクト(画像10、ムービー11、3Dアニメーション・オブジェクト12)を示している。仮想オブジェクトに対応する3つのサブクラスは、画像10、ムービー11及び3Dアニメーション・オブジェクト12である。これらのサブクラスは、属性及び方法(メソッド)をグラフィック・メディア・スーパークラス13から継承している。ムービー11及び3Dアニメーション・オブジェクト12サブクラスは、自らのクラスに固有な属性及び方法(メソッド)を含んでいる。これらの属性及び方法(メソッド)は、TUIの状態によって決定されるTUIの物理的特性及びアクションに結合されている。関連するオーディオ情報、例えば、音響効果を、グラフィック・メディア11、12、13に関連づけることができる。このシステムでは、TUIによって、ファイルのデータベースを検索する活動や、グラフィック・メディア11、12、13のサイジング、スケーリング及び移動をする活動の制御が可能である。ムービー11及び3Dオブジェクト12については、活動は、メディア・ファイルの再生/一時停止、早送り及び巻き戻しを含む。さらに、音量調節が可能である。
【0062】
この例では、TUIはキューブである。キューブは、ボールや複雑な形状に比較して、自らの表面の一つに安定した物理的平衡を有しており、そのためトラックしたり感知したりすることが比較的容易である。このシステムでは、キューブの上面は、これら物理的平衡によって定義されている。さらに、キューブは、互いの上面に積み重ねることができる。積み重ね時には、キューブはコンパクトで安定した物理構造を形成する。このため、インタラクティブ・ワークスペースでの散乱が少なくなる。キューブは、ほとんどの人にとって子供の頃から親しんだ直感的かつ簡単なオブジェクトである。キューブは、掴むことができ、それによって人々は敏感な空間把握能力を利用することができ、物理的オブジェクト操作のための振る舞いに活用することができる。
【0063】
キューブの位置及び動きは、視覚ベースのトラッキング・アルゴリズムを用いてメディア・プレーヤー・アプリケーションを介してグラフィック・メディアを操作することで、検出される。6つの互いに異なるマーカーがキューブの上に存在しており、1表面に1つのマーカーが存在する。他の例では、2つ以上のマーカーを一表面に配置することが可能である。そこでは各マーカーの互いに対する位置は知られておりしかも固定されている。なぜなら、キューブの表面同士の関係は知られているからである。キューブの位置を識別するためには、6つのマーカーのいずれか1つがトラックされる。これによって、相互作用中に片手又は両手がキューブの異なる部分を塞いでいるときでも、連続したトラッキングが保証される。このことは、キューブを操作する能力についての制限を最低限にすることで、キューブを直感的にかつ直接的に取り扱うことができることを意味している。
【0064】
人工物の状態は、複数のクラスとのカップリング(結合)されている関係を切り替えるのに用いられる。キューブが自らの表面のいずれか一つに載置されているときに、各キューブの状態は1つのキューブの6つの物理的平衡状態から定義される。メディア・プレーヤー・アプリケーションとの相互作用については、わずか3つのクラスに対処するだけでよい。一つのキューブは、6つの状態を有しているため、単一のキューブは、3つのクラスとの適切なカップリング(結合)がなされる。このキューブは、「オブジェクト・キューブ」14と呼ばれる。
【0065】
しかし、仮想オブジェクトの仮想属性/方法(メソッド)17を取り扱うのには、単一のキューブは不十分である。なぜなら、ムービー11クラス及び3Dアニメーション・オブジェクト12クラスのために結合の最大数はすでに6に達しているからである。カップリング(結合)の総数は、「キューブの6つの状態<3クラス+6属性/方法(メソッド)17」である。これは単一のキューブの限界を超えてしまう。そこで、第2のキューブが、仮想オブジェクトの仮想属性/方法(メソッド)17をカップリング(結合)するために提供される。このキューブは、「方法キューブ」15と呼ばれる。
【0066】
「オブジェクト・キューブ」14の状態は、表示されたオブジェクトのクラス及び「方法キューブ」15が結合されるクラスを決定する。「方法キューブ」15の状態は、どの仮想属性/方法(メソッド)17に物理的な特性/アクション18が結合されるかを決定する。関連する情報は、仮想オブジェクトさらにはキューブのために構造化され、さらにカテゴリー化される。図1(b)は抽象化後のキューブ16の構造を示す。
【0067】
「オブジェクト・キューブ」14は、グラフィカルメディアを収容するデータベースとして機能する。キューブの3つの有効な状態がある。キューブの上面がトラックされて3個の予め定められたマーカーの一つと一致する場合、キューブが継承したクラスのインスタンスを表示することだけが許可され、この例ではメディア・ファイルの種類である。キューブが回転又は変換されるときに、グラフィック仮想オブジェクトは、あたかもキューブの上面に取り付けられているかのように表示される。仮想オブジェクト及び物理的キューブの間のアタッチメント用の柔軟性を導入することも可能である。キューブのこれら状態は、「方法キューブ」15のカップリング(結合)されたクラスを決定し、さらに継承したクラスにしたがってアクションへのカップリング(結合)を活性化又は不活性化する。
【0068】
柔軟性については、マーカーが位置Aで最後にトラックされた後に、ユーザーの手による塞がりによってシステムがマーカーのトラッキングを見失うかもしれない。マーカーが位置Bで後に再トラックされたときに、仮想オブジェクトは、位置Aから位置Bに跳ねているので、仮想オブジェクトは、次のフレームに表示される。これにより、スムーズな移行が可能となって、システムがマーカー又はマーカー付きオブジェクトを見失ったときでもトラッキング・オブジェクト表示の点滅(チラツキ)が避けられる。
【0069】
図2を参照すると、「方法キューブ」15では、キューブの特性(プロパティ)/アクション18は、仮想オブジェクトの3つのクラスの属性/方法(メソッド)17にそれぞれマッピングされる。互いに異なる属性及び方法(メソッド)を有する仮想オブジェクトの3つの互いに異なるクラスがあるが、新しいインターフェースは、それら全てのために設計されなくても良い。その代わり、同じインターフェースをグループ化して、同様の方法(メソッド)/特性(プロパティ)を用いて同様の方法(メソッド)/特性(プロパティ)をさらに実装することで、重複度(冗長度)は減る。
【0070】
図2では、「選択」メソッド19、「スケールX−Y」メソッド20及び「変換」メソッド21は、グラフィック・メディア・スーパークラス13から継承される。これらは、同じインターフェース毎に制御のために一つにグループ化されることができる。「再生/停止のセット」メソッド23、「アニメーション/停止のセット」メソッド、「音量調整」メソッド24及び「フレーム位置のセット」メソッド22は、個々のクラスに排他的関係にあってしかも実装において互いに異なる方法(メソッド)である。実行(実装)において異なるものの、同様な考え又はコンセプトを包含している方法(メソッド)17は、やはり一つのインターフェースに基づいてグループ化可能である。図に示すように、物理的特性/アクション18の一つのセット(設定)のみが、3つのクラス全てが共通に有する「スケール」メソッド20とカップリング(結合)するために用いられる。これは、OOTUIにおける多様性(polymorphism)の実行(実装)である。これは、分離可能なクラス間でのインターフェースまたは情報の複製を防止することで複数のTUIを創り出すコンパクトで効率的な方法であり、そしてシステムにおけるインターフェースの数が減らされる。この方法論を用いることで、インターフェースの数は15(画像のための方法(メソッド)−3つのインターフェース、ムービー−6つのインターフェース、3Dオブジェクト−6つのインターフェース)から6つのインターフェースにまで減る。これにより、システムは、単一のキューブの6個の状態によって取り扱い可能となる。
【0071】
図3を参照すると、ピクチャーの第1列30は、キューブが、方法(メソッド)31とカップリング(結合)するための特性(プロパティ)を「ムービー」クラス11から継承していることを示している。ユーザーは、継承したクラス内の「セット・フレーム」メソッド32を用いてシーンを切り替えることができる。第2列35は、ユーザーが「3Dオブジェクト」クラス12の同じタスクをしていることを示している。第3列36内の最初のピクチャーは、「画像」クラス10が「セット・フレーム」メソッド32を継承しておらず、そのため赤い十字が表面に現れていることを示している。2番目のピクチャーは、「オブジェクト・キューブ」14が、赤い十字に示された定義されていない状態であることを示している。
【0072】
ムービー11オブジェクト及びアニメーション・オブジェクト12の「セット・フレーム」32メソッドに対する「方法キューブ」15の回転アクションは、ムービーを見るための直感的なインターフェースである。この方法は、典型的なビデオプレーヤーにおける「早送り」及び「巻き戻し」といった機能を間接的に実現している。さらに、「方法キューブ」15は、ユーザーにアニメーションの「再生/一時停止」を許可する。
【0073】
ユーザーは、同じアクションにより、3つのクラス全てのグラフィック・メディアのサイズ測定をすることができる。つまり、「方法キューブ」15を上面(状態2)の「+」と共に回転させることでサイズ測定をすることができる。これは、「サイズ」メソッド20を呼び出しており、この方法(メソッド)では、キューブのその上面の法線に対する角度を参照して、グラフィック・メディアのサイズを変更する。TUIの設計者の観点からは、「サイズ」メソッド20は、3つのクラス10、11、12に対して異なるように実装される。しかし、実装のこの違いはユーザーに知覚されず、つまりユーザートランスペアレント(ユーザーに気付かれないもの)である。
【0074】
ユーザーの聴覚・視覚経験を増強させるために、視覚・聴覚効果が加えられて感情を揺さぶる経験が創り出される。例えば、アニメーション化された緑の丸い矢と赤い十字が、利用可能なアクションを示すのに用いられる。オーディオ・フィードバックは、オブジェクト・キューブ及び方法キューブ両方用の状態変化を示すための音響効果を含んでいる。
【0075】
(例) 3Dボキャブラリ・ブック
図22を参照すると、子供用3Dインタラクティブ・ボキャブラリ・ブックは、インタラクティブ・システムの一つのアプリケーションのである。3Dインタラクティブ・ボキャブラリ・ブックは、2つのキューブからの相互作用を必要とする。スクリーンショット上の左にある「オブジェクト・キューブ」は6面を有している。各面は、子供学習用3Dオブジェクトのカテゴリーを表している。図22は、「乗り物」カテゴリーを示している。スクリーンショットの右側の「方法キューブ」は、「乗り物」データベースをナビゲートするのに使用される。ユーザーがキューブの上面の上方に示されたナビゲーション・パターンに従って「方法キューブ」を回転させると、「オブジェクト・キューブ」上方の3Dモデルが戦車から車に変化する。ポップアップ2Dテキストは、短い説明を含む互いに異なる言語で単語「戦車」を説明している。モデルはアニメーション化されていても良い。モデルがアニメーション化されている場合は、エンジン音は短い説明の人間による朗読とともに鳴らされる。互いに異なる言語における単語の異なる発音が再生されても良い。また、ユーザーにはオブジェクトをリサイズしたり動かしたりすることを含む相互作用が提供される。
【0076】
(例) 3Dマジックストーリーキューブ・アプリケーション
インタラクティブ・システムのもう一つのアプリケーションは、3Dマジックストーリーキューブ・アプリケーションである。このアプリケーションでは、物語キューブは、有名な聖書物語、「ノアの箱船」について語る。アプリケーションが必要とするハードウェアは、コンピュータ、カメラ及び折り畳み可能なキューブである。コンピュータに対する最低限の要件は、少なくとも512MBのRAM及び128MBのグラフィックカードである。一例では、IEEE1394カメラが用いられる。IEEE1394カードがIEEE1394カメラとのインターフェースを取るためにコンピュータに取り付けられる。このアプリケーションに適した2つのIEEE1394カメラは、Dragonflyカメラ又はFireflyカメラである。これら両方のカメラは、640x480ピクセルの解像度及び30Hzの速度でカラー画像を取得可能である。これにより、折り畳み可能な有形のキューブを探りながら、ストーリーの3D版を見ることが可能である。カメラのキャプチャー速度が高くなればなるほど、待ち時間の低減によって複合現実感の経験がユーザーにとってより現実感を増す。カメラの解像度が高くなればなるほど、画像がより詳細になり、その結果トラッキングの正確さを向上させる。折り畳み可能なキューブは、3DストーリーテリングのためのTUIとして用いられる。ユーザーはキューブを単方向に展開可能である。折り畳み可能なキューブは、先には、キューブ表面に印刷された図面を有する2Dストーリーテリングに用いられていた。
【0077】
本アプリケーションに用いられるソフトウェア及びソフトウェア・ライブラリーは、マイクロソフトVisual C++6.0、DirectX、OpenGL、GLUT及びMXR開発ツールキットである。マイクロソフトVisual C++6.0は、開発ツールとして使用される。これは、全て統合されたエディタ、コンパイラ及びデバッガを備えており、コーディング及びソフトウェア開発を簡単にしている。他のコンポーネント用ライブラリも統合されている。仮想現実(VR)モードでは、DirectX、OpenGL及びGLUTがグラフィック表示のために重要な役割を果たしている。OpenGLは、ポータブルでインタラクティブな2D及び3Dグラフィックスアプリケーションを開発するのに最高の環境である。OpenGLは、VRモードにおける2D及び3Dグラフィックスの全ての操作を担当している。GLUTは、OpenGLユーティリティ・ツールキットであり、OpenGLプログラムを書くためのツールキットから独立したウィンドウシステムである。それはOpenGLのためのウィンドウのアプリケーション・プログラミング・インターフェース(API)を実装するのに用いられる。MXR開発ツールキットによって、開発者は拡張現実感(AR)ソフトウェア・アプリケーションを作ることができる。それは、ビデオのキャプチャリングとマーカーの認識に主に用いられるアプリケーションをプログラムするのに用いられる。MXRツールキットは、基準をトラックして基準内のパターンを認識するコンピュータ・ビジョン・ツールである。各面にユニークなマーカーを有するキューブを使用することで、MXRツールキットにより、キューブの位置がコンピュータによって連続的にトラック可能となる。
【0078】
図4を参照すると、3Dマジックストーリーキューブ・アプリケーションは、簡単な状態遷移モデル40をインタラクティブなストーリーテリングに適用している。ユーザーがキューブを特定の物理的状態41に展開すると、オーディオ及び3Dアニメーションの適切なセグメントが予め定められた順番に再生される。状態遷移は、現状態のコンテンツが再生された場合にのみ、引き起こされる。OOTUIコンセプトを適用することで、折り畳み可能なキューブの各状態42の仮想結合が、ディジタルのアニメーションの1ページにマッピングされる。
【0079】
図5を参照すると、アルゴリズム50は、各展開されたページの上に1つの互いに異なるマーカーを有する折り畳み可能なキューブをトラックするように設計されている。マーカーの相対位置はトラックされ(51)さらに記録される(52)。このアルゴリズムによって、連続したトラッキングが保証され、さらに、いつ1ページが一度最後まで再生されたかを決定する。これによって、物語が一方向に探求されて、そのため物語が連続した物語の進行を維持できる。ストーリーの全ページが最後まで一度再生されると、ユーザーはシーン演技をもう一度見るためにストーリーの任意のページに戻ることができる。
【0080】
システムを設計する際に心にとめておくべきいくつかの設計配慮は、悪い照明状況におけるシステムの堅牢性及び画像解像度である。キューブの展開は一方向であり、キューブが展開される度にストーリーの新しい1ページが現れる。ユーザーは、キューブに描かれたストーリーを非拡張ビュー(2Dビュー)及び拡張されたビュー(3Dビュー)の両方で見ることができる。物語のシナリオは、キューブの表面で拡張された3Dグラフィックスである。
【0081】
ARの語りは、3D操作及び3D触感に加えて3Dグラフィックス及び音響を導入することで、魅力的かつ分かりやすい経験を提供する。ユーザーは、物語を経験する際に参加型・探求型役割を楽しむことができる。物理的キューブは、感触及び物理的相互作用の感覚を提供し、それにより自然でかつ直感的な相互作用を得ることができる。例えば、ユーザーは、制御キューブを物語キューブの近くに動かして、新しいストーリーキャラクター又はストーリーオブジェクトを削除したり追加したりできる。さらに、物理的キューブによって、互いと自然に交流することができるので、聴衆との社交的ストーリーテリングが可能になる。
【0082】
キューブを展開する際のユーザーの相互作用及び直感を増強するため、ストーリーの各ページ又はセグメントが再生された後に、アニメーション化された矢が現れてキューブを展開する方向を示す。さらに、使われた3D仮想モデルは96%のわずかな透明度を有しており、ユーザーの手がまだ部分的に見えるようになっている。その結果、キューブをどのように操作するかについて視覚フィードバックが得られる。
【0083】
一つの特定のマーカーがトラックされるとき、物語キューブの各ページのレンダリングが実行される。マーカーは小さくできるため、1ページ上の複数のマーカーを持たせることも可能である。複数のマーカーは、すでに知られたレイアウト内の同じ表面に位置しているため、マーカーの一つをトラックすることで、他のマーカーの位置の把握を保証する。これは、より堅牢なトラッキングを促進する性能問題である。
【0084】
同期を補助するために、コンピュータのシステムクロックが、プログラムに用いられる様々なカウンターをインクリメントするのに用いられる。これにより、プログラムが互いに異なるコンピュータに対して様々な速度で実行できるようになる。別の例として、フレームレートを一定にする方法が用いられ、そこでは一定のフレーム数が一秒ごとにレンダリングされる。一定のフレームレートを達成するため、一秒を多くの同サイズのタイムスライスに分割し、各フレームのレンダリングを、各タイムスライスの開始時に開始させる。アプリケーションは、各フレームのレンダリングが1つのタイムスライスより長くかからないことを保証しなければならない。さもないと、フレーム周波数を一定にすることができず、破綻する。3Dマジックストーリーキューブ・アプリケーションのレンダリングのための最大可能なフレームレートを計算するため、最も複雑なシーンをレンダリングするのに必要な時間量を測定する。この測定により、毎秒フレーム数が算出される。
【0085】
(例) インテリア・デザイン・アプリケーション
インタラクティブ・システムのために開発されたさらなるアプリケーションは、インテリア・デザイン・アプリケーションである。このアプリケーションでは、家具カタログとしてのブックを用いることで、MXRツールキットが部屋の位置を示す家具ボードと共に用いられる。
【0086】
MXRツールキットは、各マーカーの位置を提供するが、仮想オブジェクトに相互作用させるためのコマンドの情報を提供しない。キューブは掴むことが可能であり、そのためユーザーは仮想オブジェクトのより典型的な感触を得ることができる。キューブは掴むことが可能であるので、ハンドルを振り回すのに比較して、運動の自由度は、制限がより少ない。キューブは、知られた関係にある6つの結合されたマーカーからなるオブジェクトとして、トラックされる。これにより、1つのマーカーが塞がれていたり覆われていたりするときでも、キューブの連続的なトラッキングが保証される。
【0087】
キューブに加えて、家具ボードは6つのマーカーを有している。トラッキング精度の満足がいくレベルを得るためには、家具ボードの上に1つのマーカーを用いることさえできればよい。しかし、複数の印を用いると、1つの基準が塞がれていない限り、堅牢なトラッキングを可能にする。このことは、キューブ及びボードの連続したトラッキングに重要である。
【0088】
特別な家具アイテムを選択するために、ユーザーは、各ページ上の1つのマーカーを有する家具カタログ又はブックを用いる。このコンセプトは、すでに述べられた3Dマジックストーリーキューブ・アプリケーションと同様である。ユーザーは、キューブをマーカーの横のローディング領域内に置く。この領域は、家具をARモードで見るための選択の家具のカテゴリーを表している。
【0089】
図14を参照すると、キューブを用いて実行されるべきタスクを決定するのに先立って、OOTUIを適用することで、ソフトウェア開発者は複雑なインターフェースを取り扱えるようになっている。最初に、問題(対象)にしている仮想オブジェクト及びそれらの属性及び方法(メソッド)が決定される。仮想オブジェクトは、2つのグループに分類される。積み重ね可能なオブジェクト140及び積み重ね不能なオブジェクト141である。積み重ね可能なオブジェクト140は、他のオブジェクト、例えば、植物、テレビ及びハイファイ・ユニット(ハイファイ装置)の上面に配置可能なオブジェクトである。それらは地面の上に置くこともできる。両方のグループ140、141は、それらの親クラス、つまり、3D家具142から属性及び方法(メソッド)を継承している。積み重ね可能なオブジェクト140は、それ自身が置かれているオブジェクトに対する相対位置のさらなる属性143を有している。この抽象化の結果が図14(a)に示されている。
【0090】
仮想ツールキューブ144については、キューブの6個の平衡状態は、状態を決定する複数のファクターの中の一つとして、定義される。このキューブに対する2、3の追加属性があり、それらは家具カタログ及びボードを補足するように使われる。よって、例えば、ブック145及びボード146に対するキューブの相対位置のような、いくつかの追加の属性を持つことになる。キューブ親クラス144から継承した属性にカップリング(結合)されたこれらの追加の属性は、キューブの様々な状態を決定する。この要約の結果が図14(b)に示されている。
【0091】
オブジェクトを直感的に掴み上げるため、以下の行為が必要である。
【0092】
1)所望のオブジェクトに近接した位置に移動する
2)キューブを用いた「掴み上げ」ジェスチャーを行う
掴み上げられたオブジェクトは落とされるまで手のジェスチャーに従う。実際のオブジェクトが落とされると、以下のことが予期される。
【0093】
1)手が落とすジェスチャーをしたときのみ、オブジェクトは落下を開始する
2)重力の法則に従って、落とされたオブジェクトは、オブジェクトの落下前の位置から真下に落ちる。
【0094】
3)もしオブジェクトが角度を付けて落とされると、オブジェクトは落とされた後に角度を付けられたように見える。
【0095】
これらは、仮想オブジェクトに拡張現実感を追加することを支配する基本的原則である。
【0096】
図6を参照すると、OOTUIを適用すると、家具を追加するためにカップリング(結合)60が物理的世界61及び仮想世界62との間に形成される。キューブを変換するコンセプト63は、他の方法、例えば、家具を削除したり再配置したりすることに用いられる。同様なマッピングはキューブの他の面にもなされる。
【0097】
ブック及びボードに対するキューブの関係を決定するため、仮想オブジェクトに対するキューブの位置及び近接度を検出する必要がある。MXRツールキットを用いることで、カメラに対する各マーカーの座標が分かる。この情報を用いて、行列計算が実行されて、ブック及びボードを含む他のアイテムに対するキューブの近接度及び相対位置が検出される。
【0098】
図7は、どのようにして仮想オブジェクトの「掴み上げ」70及び「落下」71により家具72がボードに追加されるかを例示するためのスクリーンショットの詳細な連続したストリップを示している。
【0099】

図8を参照すると、家具アイテムを追加するのと同様に、「掴み上げ」80及び落下の考えは、家具を再配置するのにも用いられる。追加を表す「+」マーカーとは対照的に、「右向きの矢印」マーカー81は、「右向きの矢印」マーカー81が上面となるように用いられることで、全ての方向に移動可能であることを表す。図9は、家具を再配置するための仮想結合を示している。
【0100】
ARシステムを設計する際に、仮想オブジェクトの物理的制約は、実際のオブジェクトとして表される。家具を部屋の中に持ち込む際には、望みの仮想家具を部屋内で動かすとき物理的制約がある。仮想家具アイテムがすでにその位置にあるときは、ユーザーは他の家具アイテムをその位置に「落とす」ことができない。ユーザーが家具アイテムを落とすことができる最も近い位置は、ボード上の存在する家具アイテムの直近にある。
【0101】
図10を参照すると、より小さな仮想家具アイテムはより大きなアイテムの上に積み上げられることができる。例えば、植物やテレビセットといったアイテムは、地面の上だけでなく、本棚やテーブルの上に置くことができる。同様に、地面に置かれたアイテムは再配置されて、もう一つのアイテムの上面に積み上げられる。図10は、地面から拾われて本棚の一番上に置かれた植物を示している。
【0102】
図11を参照すると、オブジェクトを直感的に削除又は外へ出すために、以下の行為が必要である。
【0103】
1)所望のオブジェクトに近接した位置に行く(110)。
【0104】
2)キューブを用いて、「掴み上げ」ジェスチャーを行う(111)。
【0105】
3)手による投げつけ動作(flinging motion)を行う(112)。
【0106】
図12を参照すると、ある家具アイテムは他の家具アイテムの上に積み上げることができる。このことは、ある仮想オブジェクトについてグループ化及び集団化関係120を形成することになる。図12は、家具をひとまとめにして再配置するタスクにおいて(グループ化されたオブジェクト用の)大きなキューブを使用する場合を示している。
【0107】
視覚・聴覚フィードバックが追加されて、ユーザーの直感を増加させる。これにより、ユーザー経験は拡張され、さらにユーザーの接触、音及び視覚の感覚が有効に活用される。異なるイベントが生じるときに、様々な音が追加される。これらのイベントは、家具オブジェクトを選択すること、掴み上げること、追加すること、再配置すること及び削除することを含んでいる。さらに、家具アイテムがボード上の他のオブジェクトに衝突すると、ユーザーが家具アイテムを新しい位置に動かすまで、絶え間ないビープ音が連続して鳴り続ける。このことで、拡張された有形のユーザー・インターフェースがより直感的なものになる。視覚と聴覚両方のフィードバックをもたらすことでユーザーとの相互作用が増えるからである。
【0108】
インテリア・デザイン・アプリケーションで用いられるハードウェアは、家具ボード及びキューブを含んでいる。インテリア・デザイン・アプリケーションは先に述べられた単一のマーカートラッキングを拡張する。複数のオブジェクトをトラックするためにキューブは3次元であるのに対し、家具ボードは、2次元である。
【0109】
図13を参照すると、ユーザーIDカードをトラックする方法は、共有ホワイトボードカード130をトラックすることまで拡張される。6個のマーカー131は、システムの堅牢性を増加するようにボード130の位置をトラックするのに用いられる。複数のマーカー131に対する変換行列は、視認可能なマーカーから推定される。利用可能なマーカーの数が少ないと、エラーが発生する。各マーカー131は、自らの中にユニークな模様(パターン)132を有しており、その模様(パターン)によってシステムがマーカー131を識別できるようになっている。マーカー131は、水平方向に又は垂直方向に整列されることになっており、これによりボード回転が推定可能となる。
【0110】
ショールームは、ボードの計算された中心133に対してレンダリングされる。上述の特定のマーカーがトラックされるとき、ボードの中心133は、プリセットされたX変位とY変位を用いていくつかの簡単な変換を行うことで、計算される。これら計算された中心133は、トラックされたマーカー131の数に基づいて平均化される。これにより、マーカー131がトラックされている限り、ボード130上での家具ショールームの連続したトラッキング及びレンダリングが確実になされる。
【0111】
マーカー131の表面は、視線と平行に接近しているとき、認識に使われるピクセル数が少なくなればなるほどトラッキングはより難しくなる。マーカーがひっくり返ると、トラッキングは失われる。マーカー131の全領域は確実にトラッキングを行うために常に見えていなければならないので、マーカー131におけるいかなる塞がりも許されない。このことによって、操作及び自然な両手によるインタラクションの困難さが発生してしまう。
【0112】
図15を参照すると、このアルゴリズムの1つの利点は、それが両手でキューブを直接操作可能にすることにある。片手がキューブを操作するのに用いられる場合、キューブの6面の少なくとも1つの面が検出される限りは、キューブは常にトラックされる。キューブをトラックするのに用いられるアルゴリズムは以下の通りである。
【0113】
1.全ての表面マーカー150を検出し、各検出された面に対して対応する変換行列(Tcm)を計算する。
【0114】
2.最高のトラッキング信頼性を有する表面を選択し、その表面IDを認識する。すなわち、上面、底面、左、右、前及び後ろである。
【0115】
3.選択したマーカーとキューブとの物理的関係に基づいて、マーカー座標系からオブジェクト座標系(Tmo)151への変換行列を計算する。
【0116】
4.オブジェクト座標系151からカメラ座標系(Tco)152への変換行列は、Tco=Tcm-1×Tmoの式によって計算される。
【0117】
図16は、小さなキューブ161及び大きいキューブ162のサーチが同時に行われているボード160におけるARインテリア・デザイン・アプリケーションの実行を示している。
【0118】
キューブが家具カタログのマーカー131に近いときにユーザーが仮想オブジェクトを掴み上げることができるためには、キューブと仮想オブジェクトとの間の相対距離が分かっている必要がある。MXRツールキットは、各マーカー131のカメラ座標を返すため、マーカーが距離を計算するのに用いられる。キューブ上のマーカーと仮想オブジェクト用マーカーとの距離は、マーカーに対するキューブの近接度を求めるのに、用いられる。
【0119】
各マーカーのカメラ座標を求めることが可能である。このことは、キューブ上のマーカーのカメラ座標及び仮想オブジェクトのマーカーのカメラ座標は、MXRツールキットによって提供されていることを意味する。言い換えると、カメラに対するキューブ・マーカーの座標及び仮想オブジェクトマーカーの座標は知られている。TAは、カメラ源(原点)から仮想オブジェクトマーカーへの変換行列である。TBは、カメラ源(原点)からキューブ・マーカーへの変換行列である。しかし、これではキューブ・マーカーと仮想オブジェクトマーカーとの関係は得られない。座標から、有効距離を見つけることができる。
【0120】
TA−1を求めることで、仮想オブジェクトからカメラ源(原点)への変換行列が得られる。この情報を用いることで、キューブの仮想オブジェクトマーカーに対する相対位置が得られる。キューブと仮想オブジェクトとの近接度は興味の対象でしかない。それゆえ、仮想オブジェクトからキューブへの変換のみが必要とされ(すなわち、Tx、Ty、Tz)、回転コンポーネントは無視され得る。
【0121】
【数1】

(数式1)
【0122】
Tzは、ブック又はボード上に置かれたときにキューブを測定するのに用いられる。これは、オブジェクトの掴み上げ及び落下のためのステージを設定する。この値は、キューブの上面にあるマーカーに対するキューブの高さに対応する。しかし、キューブの高さあたりの所定の範囲は、トラッキングの不正確さの原因となっている(トラッキングの不正確さの説明として許される)。
【0123】
Tx及びTyは、キューブがブック又はボードの所定の範囲にあるか否かを決定するのに用いられる。これにより、キューブが、ブックの近くで、かつローディング領域にある場合は、「追加」モードに入る。キューブは、ボードの周辺又はボード中心からある半径内にある場合は、キューブの再配置、削除、追加又は他のオブジェクトへの積み重ねが可能となっている。
【0124】
キューブの状態を決定するいくつかのパラメータがあり、キューブの上面、キューブの高さ、及びキューブのボード及びブックに対する位置を含んでいる。
【0125】
システムは、初期化ステップによってキャリブレーションがなされ、キューブの相互作用及び操作の間にキューブの上面を決定することができる。このステップは、キューブがテーブルの上に置かれたときに、開始前のテーブルの法線のキャプチャリングを含んでいる。このようにして、キューブがテーブルの上方で操作されているときに、キューブ及びテーブル上面の法線を比較することで、キューブの上面を決定することができる。キューブの変換行列は、tfmテーブルと呼ばれる行列内にキャプチャーされる。変換行列は、カメラに対するマーカーの位置及び向きの情報全てを包含している。正確な用語を用いると、トラッキング・フレームのレファレンスのフレーム内の点を、カメラのレファレンスのフレーム内の点に変換するのは、ユークリッド変換行列である。プログラムの全体構造は以下のように定義される。

【0126】
数式1の最終列は、好ましい計算に影響を与えないので省略される。最初の9個の要素(エレメント)は、3×3回転行列を形成し、さらにオブジェクトの向きを規定する。キューブの上面を決定するために、各面をトラッキングすることで得られた変換行列が用いられ、以下の数式が算出される。キューブの各面のための変換行列は、tfmCubeと呼ばれる。
【0127】
Dot_product = tfmCube.r13*tfmTable.r13+
tfmCube.r23*tfmTable.r23+
tfmCube.r33*tfmTable.r33
(数式2)
数式2の変換行列を用いたときに最大のDot_product値となる面が、キューブの上面として決定される。キューブがブック及びボードに対してどの位置にあるかも考慮される。キューブの4つの位置状態は、オンボード、オフボード、オンブック及びオフブックとして定義される。キューブの状態と位置との関係は以下のようになる。


図17を参照すると、家具の追加は、「+」マーカーをキューブ170の上面として使うことで行われる(170)。これは、家具カタログの近くに連れて行かれ、望みの家具のページが現れる。キューブがブック上にある(オンブック)と検出された場合(171)、仮想家具オブジェクトがキューブの上面に飛び出てくる。回転動作を用いることで、ユーザーは、キューブが回転している間に互いに異なる仮想家具アイテムが飛び出してくるので、カタログを「ブラウズ」することができる。キューブが掴み上げられる(オフブック)とき、キューブ上に見られる最後の仮想家具アイテムが掴み上げられる(172)。
【0128】
キューブがボード上にある(オンボード)と検出されるとき、ユーザーは、キューブをボードから持ち上げる(オフボード)ことで家具をキューブに追加できる(173)。家具を再配置するために、「右向きの矢印」マーカーを上面として、キューブはボードの上に置かれる(オンボード)。キューブがボード上に置かれているとき、ユーザーは、キューブを所望の家具の中心に動かすことで、家具を「掴み上げ」ることができる。
【0129】
図18を参照すると、家具が「掴み上げられる」(オフボード)とき、家具はキューブの上面にレンダリングされ、オーディオ・ヒントが演奏される(鳴らさせる)(180)。次に、ユーザーは、ボード上のキューブを所望の位置に動かす。位置が選択されるとき、ユーザーは、単にキューブをボードから持ち上げて、その位置181に落とす。
【0130】
図19を参照すると、家具を削除するために、キューブは、「x」マーカーを上面190として、ボード上に置かれる(オンボード)。キューブがボード上にあると検出された場合、ユーザーは、キューブを所望の家具の中心に動かすことで、家具を選択できる。家具の選択が成功した場合、家具はキューブの上面にレンダリングされ、オーディオ・ヒントが演奏される(鳴らされる)(191)。次に、ユーザーはキューブをボードから持ち上げて(オフボード)、家具を削除する(192)。
【0131】
家具が導入又は再配置されるときに、忘れてはならない問題は家具の物理的制約である。現実と同様に、拡張現実感ワールドの家具は、他の家具に衝突したり「交差」したりすることができない。ゆえに、ユーザーは、家具型の家具に衝突する場合にその家具を追加することができない。
【0132】
図20を参照すると、家具アイテム同士が衝突する問題を解決する一つの方法は、4つの境界となる座標200と、衝突状態になっている家具の座標系に加えられている家具の中心とを転換することである。ポイントpt0、pt1、pt2、pt3、pt4 200は、ボード上の家具のU−V軸に転換される。これら5点のU−V座標は、次にボード201上の家具のx方向長さ及びy方向幅に対してチェックされる。
【0133】
N=cosθ(XN−X0)+sinθ(YN−Y0
N=sinθ(XN−X0)+cosθ(YN−Y0
この式において、
(UN、VN)は、ボード上の家具に対して新しく転換された座標であり、
θは、ボード上の家具がX−Y座標に対してなす角度であり、
(X0,Y0)は、ボード上の家具のX−Y中心座標であり、
(XN,YN)は、キューブ上の家具のいずれかのX−Y座標である(図からは、それらは、pt0、pt1,pt2,pt3,pt4を表している。)
U−V座標のいずれかがUN<x方向長さ && VN<y方向幅であれば、音響が鳴らされる。これは、ユーザーに対して、家具アイテムをその位置に落とせず、家具アイテムを落とす前に他の位置に移動しなければならないことを示している。
【0134】
物を上面に積み重ね可能なテーブルや本棚といった家具については、フラグがスタックド(stacked)と呼ばれる家具構造(furniture structure)において提供される。このフラグは、植物、ハイファイ・ユニット(ハイファイ装置)又はテレビといったオブジェクトがこのオブジェクトの上面にリリースされたことを検出されるときに、真(true)に設定される。オブジェクトのこのカテゴリーは、それらの上に置かれたオブジェクトが4つまで許される。この種の家具は、例えば、植物であるであるが、ボードの中心に対する相対行列に加えて、その構造に、テーブルまたは棚に対して、積み上げたオブジェクトの相対変換行列を格納(保存)する。カメラが大きいキューブの上面「左向きの矢印」又は「x」を検出すると、それはオブジェクトをひとまとめにして再配置及び削除するモードに突入する。このようにして、テーブル又は本棚が掴まれ、さらに積み重ねられたことを示すフラグが真(true)である場合、テーブル又は棚上のオブジェクトは、その構造内に格納された相対変換行列を用いるキューブに従ってレンダリングされる。
【0135】
図21に示すように、仮想オブジェクト同士の相互作用は、キューブ同士の空間的関係に対して応答するようにしてもよい。2つのキューブの距離は、物語のシーン内の物語キャラクターと他の仮想オブジェクトとの間の相互作用を定義するのに用いられる。第1スクリーンショットでは、ユーザーは、中国王女の仮想オブジェクトを有する小さなキューブを、惑星仮想オブジェクトを有する、より大きなキューブに向けて動かす。システム210は、常に小さなキューブと大きなキューブとの空間的関係を測定している。空間的関係がある条件を満たしている場合、例えば、小さいキューブとそれより大きいキューブとの距離は十分近くなっており、仮想オブジェクトからの応答が生じる。この例では、より大きなキューブに関連する仮想オブジェクトは、第2スクリーンショットで描かれるように惑星から薔薇に変化する。
【0136】
マーカーとして通常の形状が説明されてきたが、マーカーは不規則な形状であっても良い。ボーダーを有するマーカーが説明されてきたが、いくつか実施形態はボーダーが不要であることが予測される。不規則形状のマーカーについては、マーカーのための模様(パターン)は、以下のことができる。
・自らを表面の残りの部分から区別する。つまり、マーカーのIDを異ならせる。
・背景から容易に分離可能となる高コントラストエッジを有している。したがって、色は、必ずしも白黒にのみ制限される必要はない。
・さらにトラッキングのための少なくとも4つの特徴点を有する。変換行列を計算しているときに、少なくとも4つの特徴点が識別される。しかし、コーナーの代わりに、大きな黒点といった他の特徴点が用いられても良い。
【0137】
すでに述べられた不規則なトラッキング方法は、正方形マーカー使用法を補うことができる。正方形のコーナー又は辺が塞がれているときは、不規則なトラッキングが一時的な補助として使われる。
【0138】
インタラクティブ・システム210は、マイクロソフトのウィンドウズXPプラットフォームにおいてVisual C++6.0を用いてプログラムされているが、他のプログラミング言語も可能であり、また他のプラットフォーム、例えば、LinuxやMacOSXも使用可能である。
【0139】
Dragonflyカメラ211が説明に用いられたが、少なくとも640x480ピクセルのビデオ解像度を有するウェブカメラであれば使用可能である。
【0140】
システム210は、上記一実施形態ではソフトウェアとして説明したが、全てのソフトウェア機能を、カメラの電気回路に接続された回路に組み込んでハード・ワイヤード化することで実現することもできる。ゆえに、コンピュータ・ソフトウェアの画像処理機能はカメラ単独で実行されることになると予測される。
【0141】
したがって、コンピュータ・ソフトウェアの画像処理機能は、カメラ単独で実行されることが予想される。
【0142】
当業者にとっては、具体的な実施形態に示すように、広く述べられた本発明の範囲又は精神から逸脱することなく、本発明について多くの変形及び/又は変更が可能であることは理解されるであろう。本実施形態は、したがって、全ての点において例示に過ぎず制限を行うものではない。
【図面の簡単な説明】
【0143】
【図1】グラフィック・メディア及びインタラクティブ・システムのキューブの「抽象化」を示すクラス図である。
【図2】インタラクティブ・システムの「方法キューブ」内で定義された状態及びカップリング(結合)のマッピングを示すテーブルである。
【図3】インタラクティブ・システム内の「継承」を示す図表である。
【図4】3Dマジックストーリーキューブ・アプリケーション内の仮想カップリング(仮想結合)を示すテーブルである。
【図5】3Dマジックストーリーキューブ・アプリケーションのプロセスフロー図である。
【図6】インテリア・デザイン・アプリケーション内で家具を追加するための仮想カップリング(仮想結合)を示すテーブルである。
【図7】仮想オブジェクトの「掴み上げ」及び「落下」がどのように家具をボードに追加するかを例示する一連のスクリーンショットである。
【図8】家具を再配置する方法を例示する一連のスクリーンショットである。
【図9】家具を再配置するための仮想カップリング(仮想結合)を示すテーブルである。
【図10】仮想オブジェクトの「掴み上げ」及び「落下」がどのように家具をボードに積み上げるかを例示する一連のスクリーンショットである。
【図11】家具をボードから放り出すことを示す一連のスクリーンショットである。
【図12】家具をまとめて再配置することを例示する一連のスクリーンショットである。
【図13】インテリア・デザイン・アプリケーション内で用いられる6個のマーカーの描画表示である。
【図14】仮想及び物理的オブジェクトの抽象化とカプセル化を示すクラス図である。
【図15】トラッキング・キューブの座標系を例示する概略図である。
【図16】インテリア・デザイン・アプリケーションのプラグラムのフローのプロセスフロー図である。
【図17】家具を追加するためのプロセスフロー図である。
【図18】家具を再配置するためのプロセスフロー図である。
【図19】家具を削除するためのプロセスフロー図である。
【図20】インテリア・デザイン・アプリケーションにおける家具アイテムの衝突を描いている。
【図21】キューブ同士の空間的関係に対応する仮想オブジェクト同士の相互作用を例示する一連のスクリーンショットである。
【図22】3Dボキャブラリブック・アプリケーションからの1つのスクリーンショットである。

【特許請求の範囲】
【請求項1】
ユーザーに複合現実感の経験をもたらすためのインタラクティブ・システムであって、
各面に1つのマーカーを有する少なくとも2つの面を有するオブジェクトと、
第1シーンにおける前記オブジェクトの画像をキャプチャーするための画像キャプチャリング・デバイスと、
前記オブジェクトの少なくとも2つの面をトラックし、少なくとも1つのマーカーを識別することにより前記第1シーンにおける前記オブジェクトの位置と方向とをトラックするコンピュータ・ソフトウェアと、
を備え、
前記コンピュータ・ソフトウェアは、識別されたマーカーに関連するマルチメディア・コンテンツを取得し、前記識別されたマーカーに対する相対位置に重ね合わされた前記関連のマルチメディア・コンテンツを含む第2シーンを生成し、その結果ユーザーに複合現実感の経験をもたらす、
インタラクティブ・システム。
【請求項2】
前記マーカーは、塞がれていない、
請求項1に記載のシステム。
【請求項3】
前記マーカーは、先に定められた形状である、
請求項1に記載のシステム。
【請求項4】
前記マーカーは、前記形状の少なくとも一部を認識することにより、前記ソフトウェアにより識別される、
請求項3に記載のシステム。
【請求項5】
前記コンピュータ・ソフトウェアは、前記形状の前記認識された一部を用いて、前記マーカーの前記先に定められた形状を完全に決定する、
請求項4に記載のシステム。
【請求項6】
前記先に定められた形状は、正方形である、
請求項3に記載のシステム。
【請求項7】
前記コンピュータ・ソフトウェアは、前記正方形の少なくとも2つのコーナーを認識することで、前記マーカーを決定する、
請求項6に記載のシステム。
【請求項8】
前記マーカーは、単一のギャップを有する不連続のボーダーを含む、
請求項1に記載のシステム。
【請求項9】
前記マーカーは、前記ボーダー内に画像を備えている、
請求項8に記載のシステム。
【請求項10】
前記画像は、幾何学的なパターンである、
請求項9に記載のシステム。
【請求項11】
前記パターンは、見本パターンのレポジトリに格納されている見本パターンである、
請求項10に記載のシステム。
【請求項12】
前記ボーダーの色は、前記マーカーの背景の色に対して高コントラストをなしており、それによって、前記背景が前記コンピュータ・ソフトウェアによって、分離され得る、
請求項8に記載のシステム。
【請求項13】
前記ボーダーの色は黒であり、前記背景の色は白である、
請求項12に記載のシステム。
【請求項14】
前記コンピュータ・ソフトウェアは、前記ボーダーが部分的にふさがれている場合および前記ボーダー内の前記パターンがふさがれていない場合、1つのマーカーを識別することが可能である、
請求項10に記載のシステム。
【請求項15】
前記第2シーンが生成されると同時に前記第2シーンを表示するディスクプレイ・デバイスをさらに備える、
請求項1に記載のシステム。
【請求項16】
前記ディスプレイ・デバイスは、モニタ、テレビスクリーン、LCDまたはPDPである、
請求項15に記載のシステム。
【請求項17】
前記ディスプレイ・デバイスは、前記画像キャプチャーリング・デバイスのビューファインダ、または、画像若しくはビデオを投影するプロジェクターである、
請求項15に記載のシステム。
【請求項18】
前記ディスプレイ・デバイスの前記ビデオのフレームレートは、12fps(frames per second)から30fpsの範囲内である、
請求項15に記載のシステム。
【請求項19】
前記画像キャプチャーリング・デバイスは、前記ディスプレイ・デバイスの上方に配置されている、
請求項1に記載のシステム。
【請求項20】
前記画像キャプチャーリング・デバイスおよび前記ディスプレイ・デバイスは、ユーザーに向いている、
請求項19に記載のシステム
【請求項21】
前記オブジェクトは、前記ユーザーと前記ディスプレイ・デバイスの間で操作される、
請求項20に記載のシステム
【請求項22】
マルチメディア・コンテンツは、2次元画像または3次元モデル、ビデオまたはオーディオの情報を含む、
請求項1に記載のシステム
【請求項23】
前記オブジェクトの前記少なくとも2つの面は、実質的に平面である、
請求項1に記載のシステム
【請求項24】
前記少なくとも2つの面は、互いに接続されている、
請求項23に記載のシステム
【請求項25】
前記オブジェクトは、キューブまたは多面体である、
請求項23に記載のシステム
【請求項26】
前記オブジェクトは、折り畳み可能である、
請求項1に記載のシステム
【請求項27】
前記オブジェクトは、ストーリーを語るための折り畳み可能なキューブである、
請求項26に記載のシステム
【請求項28】
前記コンピュータ・ソフトウェアは、パーソナル・デジタル・アシスタント(PDA)、携帯電話、その他のモバイル・コミュニケーション・デバイス、または、内蔵コンピュータ・プロセッサ付きのコンソール・ボックスといった、モバイルのコンピューティング・デバイスやデスクトップのコンピューティング・デバイスにインストールされる、
請求項1に記載のシステム
【請求項29】
前記画像キャプチャーリング・デバイスは、カメラである、
請求項1に記載のシステム
【請求項30】
前記カメラは、CCDまたはCMOSビデオ・カメラである、
請求項29に記載のシステム
【請求項31】
前記カメラ、前記コンピュータ・ソフトウェアおよび前記ディスプレイ・デバイスは、単一の統合ユニット内に設けられている、
請求項29に記載のシステム。
【請求項32】
前記カメラ、前記コンピュータ・ソフトウェアおよび前記ディスプレイ・デバイスは、互いに遠く離れた位置に配置されている、
請求項29に記載のシステム。
【請求項33】
前記関連するマルチメディア・コンテンツは、表示されるビデオ・フレームごとに前記関連するマルチメディア・コンテンツを前記第1シーンにレンダリングすることで、前記第1シーンに重ね合わせられる、
請求項1に記載のシステム。
【請求項34】
前記オブジェクトの前記位置は、3次元空間で計算される、
請求項1に記載のシステム。
【請求項35】
位置関係は、前記ディスプレイ・デバイスと前記オブジェクトとの間で推定される、
請求項34に記載のシステム。
【請求項36】
前記キャプチャーされた画像には、しきい値が設けられる、
請求項1に記載のシステム。
【請求項37】
隣接する暗い領域は、コネクトテッド・コンポーネント・アルゴリズム(connected components algorithm)を用いて識別される、
請求項36に記載のシステム。
【請求項38】
輪郭探索技術がこれらの暗い領域の輪郭を識別するのに用いられる、
請求項37に記載のシステム。
【請求項39】
4つのコーナーを有さない輪郭は、放棄される、
請求項38に記載のシステム。
【請求項40】
間違ったサイズの領域は、放棄される、
請求項38に記載のシステム。
【請求項41】
複数の直線は、正方形輪郭の各側に合致する、
請求項38に記載のシステム。
【請求項42】
前記複数の直線の交点は、コーナー位置の推定として用いられる、
請求項41に記載のシステム。
【請求項43】
射影変換が前記コーナー位置によって規定された領域をワープして標準の形状にするために用いられる、
請求項42に記載のシステム。
【請求項44】
前記標準の形状は、前記マーカーを識別し、前記オブジェクトの方向を決定するために、マーカーの格納されている見本パターンと相互相関関係にある、
請求項43に記載のシステム。
【請求項45】
前記コーナー位置は、前記マーカーの位置に対する前記ディスプレイ・デバイスの位置に関連するユニークなユーグリッド変換行列を識別するために用いられる、
請求項42に記載のシステム。
【請求項46】
前記インタラクティブ・システムは、インテリア・デザイン・アプリケーションまたはボキャブラリ・ティーチング・アプリケーションである、
請求項1に記載のシステム。
【請求項47】
少なくとも2つのオブジェクトをさらに備え、
前記少なくとも2つのオブジェクト同士の空間的関係が決定されると、前記識別されたマーカーに関連する前記マルチメディア・コンテンツから先に定められた応答を生じさせる、
請求項1に記載のシステム。
【請求項48】
前記空間的関係は、オブジェクト同士の距離、積み上げ及び塞がりからなるグループの中から選択される、
請求項47に記載のシステム。
【請求項49】
前記先に定められた応答は、前記関連するマルチメディア・コンテンツ、少なくとも1つの関連するマルチメディア・コンテンツのアニメーション及び少なくとも1つの関連するマルチメディア・コンテンツのためのオーディオ・レコーディングの再生の相互作用からなるグループの中から選ばれる、
請求項47に記載のシステム。
【請求項50】
ユーザーに複合現実感の経験をもたらすためのインタラクティブ・システムであって、
第1シーン内のオブジェクトの画像をキャプチャーするための画像キャプチャリング・デバイスと、
前記オブジェクトの少なくとも2面をトラックしさらに少なくとも1つのマーカーを識別することで、前記第1シーン内の前記オブジェクトの位置及び向きをトラックするためのコンピュータ・ソフトウェアと、
を備え、
前記コンピュータ・ソフトウェアは、識別されたマーカーに関連するマルチメディア・コンテンツを取得し、さらに前記第1シーン上の前記識別されたマーカーの相対位置に重ね合わされた前記関連するマルチメディア・コンテンツを含む第2シーンを生成し、その結果ユーザーに複合現実感をもたらす、
インタラクティブ・システム。
【請求項51】
ユーザーに複合現実感の経験をもたらすためのソフトウェア・アプリケーションであって、
第1シーンにおける1つのオブジェクトのキャプチャーされた画像を画像キャプチャリング・デバイスから受け取るための画像処理モジュールと、
各面が1つのマーカーを有する前記オブジェクトの少なくとも2面をトラックしさらに少なくとも1つのマーカーを識別することで、前記第1シーン内の前記オブジェクトの位置及び向きをトラックするためのトラッキング・モジュールと、
を備え、
前記ソフトウェア・アプリケーションは、識別されたマーカーに関連するマルチメディア・コンテンツを取得し、さらに前記第1シーン上の前記識別されたマーカーに対する相対位置に重ね合わされた前記関連のマルチメディア・コンテンツを含む第2シーンを生成し、その結果ユーザーに複合現実感の経験をもたらす、
ソフトウェア・アプリケーション。
【請求項52】
仮想オブジェクトを取得してユーザーに複合現実感の経験をもたらすための取得モジュールであって、
識別されたマーカーに関連するマーカー識別データを受け取るためのデータ・レシーバと、
前記マーカー識別データに関連する仮想オブジェクトを求めて仮想オブジェクトデーターベースを検索するための検察ツールと、
を備え、
マッチングが見つけられると、前記仮想オブジェクトは、実際のシーンの前記識別されたマーカーに対する相対位置に重ね合わされ、それにより複合現実感の経験をユーザーにもたらす、
取得モジュール。
【請求項53】
1つの識別されたマーカーは、2つ以上の対応仮想オブジェクトを有している、
請求項52記載のモジュール。
【請求項54】
複合現実感の経験をユーザーにもたらすための関連するマルチメディア・コンテンツのレポジトリであって、
マルチメディア・コンテンツの各アイテムを識別するための識別データフィールドと、
マルチメディア・コンテンツのアイテム又はマルチメディア・コンテンツのアイテムの格納位置を格納するためのコンテンツデータのフィールドと、
を備え、
識別されたマーカーに関連するマーカー識別データは、前記識別データフィールドに関して検索され、さらに前記識別されたマーカーに関連するマルチメディア・コンテンツは、取得されて実際のシーン上の前記識別されたマーカーに対する相対位置に重ね合わされて、それにより複合現実感の経験をユーザーにもたらす、
レポジトリ。
【請求項55】
複合現実感の経験をユーザーにもたらすための複合現実感コンテンツを搬送する信号であって、
実際のシーンと、識別されたマーカーに関連するマルチメディア・コンテンツであって、前記実際のシーン上の前記識別されたマーカーに対する相対位置に重ね合わされた関連するマルチメディア・コンテンツとを含むグラフィック情報を備え、
前記識別されたマーカーは、各面におけるマーカーを有するオブジェクトの少なくとも2つの面をトラックすることによって識別される、
信号。
【請求項56】
識別されたマーカーに関連するオーディオ情報をさらに備える、
請求項55に記載の信号。

【請求項57】
ユーザーに複合現実感の経験をもたらすためのインタラクティブ・システムで用いられる有形のオブジェクトであって、
少なくとも2つの面と、
不連続のボーダー及び前記ボーダー内の画像を有する、各面における1つのマーカーと、
を備え、
前記ボーダーの不連続は、前記ボーダー内のイメージの配置(位置合わせ)及び前記オブジェクトの向きを示している、
有形のオブジェクト。
【請求項58】
前記オブジェクトの少なくとも1つの面をトラックすることで、前記オブジェクトの位置と方向がトラックされる、
請求項57に記載のオブジェクト。
【請求項59】
ユーザーに複合現実感の経験をもたらすためのインタラクティブ・システムで用いられる有形のオブジェクトのマーカーであって、
不連続のボーダーと、
前記ボーダー内の画像と、
を備え、
1つのシーンにおいて前記マーカーを識別するために、前記ボーダーが前記シーン内に配置され、前記ボーダー内の前記画像が画像レポジトリ内のマッチング画像を見つけるためにサーチされる、
マーカー。
【請求項60】
コンピュータ・ソフトウェアは、前記マーカーが識別された場合、前記マーカーに関連するマルチメディア・コンテンツを取得する、
請求項59に記載のマーカー。
【請求項61】
複合現実感の経験をユーザーにもたらすための方法であって、
各面に1つのマーカーを有する少なくとも2つの面を有するオブジェクトの画像を第1シーンでキャプチャーすることと、
前記オブジェクトの少なくとも2つの面をトラックすることで、前記第1シーン内の前記オブジェクトの位置及び向きをトラックすることと、
少なくとも1つのマーカーを識別することと、
を備え、
識別されたマーカーに関連するマルチメディア・コンテンツが取得され、さらに前記第1シーン上の前記識別されたマーカーに対する相対位置に重ね合わされた前記関連するマルチメディア・コンテンツを含む第2シーンを生成し、それにより複合現実感の経験をユーザーにもたらす、
方法。
【請求項62】
複合現実感の経験をユーザーにもたらすためのオブジェクトをトラックする方法であって、
各面に1つのマーカーがあるオブジェクトの各面のための変換行列を計算するステップと、
最高のトラッキング信頼性を有する面を識別するステップと、
前記識別された面と前記オブジェクトとの物理的関係に基づいて、マーカー座標系からオブジェクト座標系への変換行列を計算するステップと、
を備え、
前記オブジェクト座標系からカメラ座標系への変換行列は、前記オブジェクト座標系から表面座標系への変換行列に前記表面座標系からカメラ座標系への変換行列を乗算することで、計算される、
方法。
【請求項63】
静止位置にある前記オブジェクトの上面の法線をキャプチャーする初期ステップをさらに備えている、
請求項62に記載の方法。
【請求項64】
前記変換行列を用いて最大の内積を生成する面を計算することで、前記オブジェクトの上面を決定するステップをさらに備えている、
請求項63に記載の方法。
【請求項65】
前記オブジェクトの操作の間、前記オブジェクトの上面は、前記変換行列を用いて最大の内積を生成する面を連続して計算することで、決定される、
請求項64に記載の方法。
【請求項66】
複合現実感の経験をユーザーにもたらすための画像キャプチャリング・デバイスであって、
第1シーンにおける1つのオブジェクトのキャプチャーされた複数の画像を受け取るための画像処理モジュールと、
各面が1つのマーカーを有するオブジェクトの少なくとも2つの面をトラックしさらに少なくとも1つのマーカーを識別することで、前記第1シーン内の前記オブジェクトの位置及び向きをトラックするためのトラッキング・モジュールと、
を備え、
前記デバイスは識別されたマーカーに関連するマルチメディア・コンテンツを取得し、さらに前記第1シーン上の前記識別されたマーカーに対する相対位置に重ね合わされた前記関連するマルチメディア・コンテンツを含む第2シーンを生成し、その結果ユーザーに複合現実感の経験をもたらす、
画像キャプチャリング・デバイス。
【請求項67】
コンピュータにより実行可能なインストラクション(命令)を担持するコンピュータにより読み取り可能なメディアからなるコンピュータプログラム・プロダクトであって、
第1シーンにおける1つのオブジェクトのキャプチャーされた画像を画像キャプチャリング・デバイスから受け取ることと、
各面が1つのマーカーを有する前記オブジェクトの少なくとも2つの面をトラックし、さらに少なくとも1つのマーカーを識別することで、前記第1シーン内の前記オブジェクトの位置及び向きをトラックすることと、
を備え、
識別されたマーカーに関連するマルチメディア・コンテンツは取得され、さらに前記第1シーン上の前記識別されたマーカーに対する相対位置に重ね合わされた前記関連するマルチメディア・コンテンツを含む第2シーンが生成され、それにより複合現実感の経験をユーザーにもたらす、
コンピュータプログラム・プロダクト。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公表番号】特表2008−501184(P2008−501184A)
【公表日】平成20年1月17日(2008.1.17)
【国際特許分類】
【出願番号】特願2007−514998(P2007−514998)
【出願日】平成17年5月9日(2005.5.9)
【国際出願番号】PCT/SG2005/000146
【国際公開番号】WO2005/116807
【国際公開日】平成17年12月8日(2005.12.8)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Linux
【出願人】(506393879)シンガポール国立大学 (1)
【Fターム(参考)】