(57)【特許請求の範囲】
【請求項１】
仮想オブジェクトを制御する方法であって、
ａ）第１タッチインタフェース上の第１タッチ入力の位置を決定するステップと、
ｂ）第２タッチインタフェース上の第２タッチ入力の位置を決定するステップと、
ｃ）前記第１タッチ入力の位置、前記第２タッチ入力の位置、および前記第１タッチインタフェースと前記第２タッチインタフェースとの間の事前に定められた空間的な関係を用いて３次元線分を生成するステップと、
ｄ）ｃ）における３次元線分を制御入力として用いて仮想オブジェクトを操作するステップと、
ｅ）操作した前記仮想オブジェクトを表示装置上に表示するステップとを含むことを特徴とする方法。
【請求項２】
前記第１タッチインタフェースはタッチスクリーンであることを特徴とする請求項１に記載の方法。
【請求項３】
前記タッチインタフェースはタッチパッドであることを特徴とする請求項２に記載の方法。
【請求項４】
前記第１タッチ入力の位置を決定するステップは、第１タッチインタフェースにおける第１タッチ入力の位置を決定するための事前タッチと、当該第１タッチ入力の位置とタッチの適用点（point of application）との間の垂直距離とを用いることを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記第２タッチ入力の位置を決定するステップは、第２タッチインタフェースにおける第２タッチ入力の位置を決定するための事前タッチと、当該第２タッチ入力の位置とタッチの適用点との間の垂直距離とを用いることを含むことを特徴とする請求項１に記載の方法。
【請求項６】
ｅ）は、前記第１タッチインタフェースを含むデバイスおよび前記第２タッチインタフェースを含むデバイスから離れている表示装置上に前記仮想オブジェクトを表示することを含むことを特徴とする請求項１に記載の方法。
【請求項７】
ｅ）は、前記仮想オブジェクトを第１タッチスクリーンに表示することを特徴とする請求項１に記載の方法。
【請求項８】
ｅ）は、前記仮想オブジェクトを第２タッチスクリーンにも表示することを特徴とする請求項７に記載の方法。
【請求項９】
仮想オブジェクトを制御する装置であって、
第１タッチインタフェースと、
第２タッチインタフェースと、
前記第１タッチインタフェースと動作可能に接続しているプロセッサと、
前記プロセッサによって実行可能な命令を含み、当該命令は、
ａ）第１タッチインタフェース上の第１タッチ入力の位置を決定するステップと、
ｂ）第２タッチインタフェース上の第２タッチ入力の位置を決定するステップと、
ｃ）前記第１タッチ入力の位置、前記第２タッチ入力の位置、および前記第１タッチインタフェースと前記第２タッチインタフェースとの間の事前に定められた空間的な関係を用いて３次元線分を生成するステップと、
ｄ）ｃ）における３次元線分を制御入力として用いて仮想オブジェクトを操作するステップと、
ｅ）操作した前記仮想オブジェクトを表示装置上に表示するステップとを前記プロセッサが実行することを特徴とする装置。
【請求項１０】
前記プロセッサはさらに、前記第２タッチインタフェースに動作可能に接続されており、前記第１タッチインタフェースと前記第２タッチインタフェースとはともに、第１と第２の広い面（major surface）を有するケースに存在することを特徴とする請求項９に記載の装置。
【請求項１１】
前記第１タッチインタフェースは、前記第１の広い面に位置するタッチスクリーンであることを特徴とする請求項１０に記載の装置。
【請求項１２】
前記第２タッチインタフェースは、前記第２の広い面に位置するタッチパッドであることを特徴とする請求項１１に記載の装置。
【請求項１３】
ａ）における前記第１タッチインタフェースは第１デバイス上に位置し、ｂ）における前記第２タッチインタフェースは第２デバイス上に位置することを特徴とする請求項９に記載の装置。
【請求項１４】
前記第１デバイスと前記第２デバイスとは、無線ネットワークで接続されていることを特徴とする請求項１３に記載の装置。
【請求項１５】
前記第１タッチインタフェースを含むデバイスおよび前記第２タッチインタフェースを含むデバイスから離れている視覚的表示装置をさらに含むことを特徴とする請求項９に記載の装置。
【請求項１６】
ふたつのタッチインタフェースを用いて仮想オブジェクトを制御するためのプログラムであって、
ａ）第１タッチインタフェース上の第１タッチ入力の位置を決定する機能と、
ｂ）第２タッチインタフェース上の第２タッチ入力の位置を決定する機能と、
ｃ）前記第１タッチ入力の位置、前記第２タッチ入力の位置、および前記第１タッチインタフェースと前記第２タッチインタフェースとの間の事前に定められた空間的な関係を用いて３次元線分を生成する機能と、
ｄ）ｃ）における３次元線分を制御入力として用いて仮想オブジェクトを操作する機能と、
ｅ）操作した前記仮想オブジェクトを表示装置上に表示する機能とをコンピュータに実現させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【背景技術】
【０００１】
本発明の実施の形態は、タッチインタフェースを利用するデバイスとそれらのタッチインタフェースを用いる仮想オブジェクトの制御に関する。
【０００２】
スマートフォン、携帯インターネットデバイス、ポータブルミュージックプレイヤ、および携帯ゲーム機のような手で持って操作できる家庭用電子デバイスは、多くの場合、平面型画像ディスプレイやタッチスクリーンディスプレイのような何らかの形のディスプレイを含む。タッチスクリーンは、表示エリア内のタッチの位置を検出することもできるディスプレイである。タッチスクリーンにより、表示されたコンテンツを操作するための主要な入力装置であるキーボードおよび／またはマウスを取り除いて、ディスプレイを入力装置として用いることができる。このようなディスプレイは、コンピュータに取り付けられたり、端末としてネットワークに取り付けられたりする。タッチスクリーンはまた、ＰＤＡ（personal digital assistant）、衛生ナビゲーション、および携帯電話機器の近年のデザインを変更することの助けとなり、これらの機器を使い勝手の良いものとしている。
【０００３】
タッチスクリーンは１９７１年にDr. Samuel C. Hurstによって発明されて以来、当たり前のものとなっている。タッチスクリーンは、スタイラス（stylus）や指を用いてＧＵＩ（graphical user interface）を操作したりデータを入力したりするＰＤＡ、スマートフォン、および携帯インターネットデバイスでよく用いられるようになった。スマートフォン、ＰＤＡ、携帯ゲームコンソール、および多くの種類の情報家電の人気が、タッチスクリーンの需要および受け入れを推進している。
【０００４】
現在、タッチインタフェースの利用を具現化している多くのデバイスは、ひとつのデバイスあたりひとつのタッチインタフェースのみを用いている。ひとつのタッチインタフェースのみを用いているため、これらの機器に表示された仮想オブジェクトの操作は制限される。たったひとつのタッチインタフェースでは、仮想オブジェクトの直感的な操作は２次元的にしか実行できない。
【０００５】
本発明はこのような文脈の中で生じた。
【０００６】
本発明の実施の形態は、添付の図面と併せて、以下の詳細な説明を考慮すれば容易に理解できる。
【図面の簡単な説明】
【０００７】
【図１Ａ】本発明の実施の形態に係る、仮想オブジェクトを操作するための直接タッチ（direct touch）を用いるデバイスを示す３次元の概略図である。
【図１Ｂ】本発明の実施の形態に係る、仮想オブジェクトを操作するための直接タッチを用いるデバイスを示す上面図である。
【図１Ｃ】本発明の実施の形態に係る、仮想オブジェクトを操作するための直接タッチを用いるデバイスを示す下面図である。
【図２Ａ】本発明の実施の形態に係る、仮想オブジェクトを操作するための事前タッチ（pre-touch）センサを用いるデバイスを示す３次元の概略図である。
【図２Ｂ】本発明の実施の形態に係る、仮想オブジェクトを操作するための事前タッチセンサを用いるデバイスを示す上面図である。
【図２Ｃ】本発明の実施の形態に係る、仮想オブジェクトを操作するための事前タッチセンサを用いるデバイスを示す下面図である。
【図３Ａ】本発明の実施の形態に係る、直接タッチを用いる仮想オブジェクトを操作するための方法を示す３次元の概略図である。
【図３Ｂ】本発明の実施の形態に係る、事前タッチを用いる仮想オブジェクトを操作するための方法を示す３次元の概略図である。
【図４Ａ】本発明の実施の形態に係る、仮想オブジェクトを回転する方法を示す概略図である。
【図４Ｂ】本発明の実施の形態に係る、仮想オブジェクトをシフトする方法を示す概略図である。
【図４Ｃ】本発明の実施の形態に係る、仮想オブジェクトを摘む、または圧縮する方法を示す概略図である。
【図４Ｄ】本発明の実施の形態に係る、仮想オブジェクトを拡大する方法を示す概略図である。
【図５】本発明の実施の形態に係る、仮想オブジェクトを制御する装置を示すブロック図である。
【図６】本発明の実施の形態に係る、仮想オブジェクトの制御を実装した命令を格納した記録媒体を例示する図である。
【発明を実施するための形態】
【０００８】
下記の詳細な説明は、例示を目的として多くの特定の詳細を含むが、下記の詳細に対する多くの変形及び置換が本発明の範囲に入ることは、当業者に認識されるところである。したがって、下記に説明する本発明の実施の形態は、請求された発明の一般性を失わせることなく、また限定を付加することもなく説明される。
【０００９】
図１Ａは、本発明の実施の形態に係る、仮想オブジェクトを操作するための直接タッチを用いる機器を示す３次元の概略図である。この実施の形態では、第１タッチインタフェース１０３と第２タッチインタフェース１０５とが両方とも、単一のデバイス１０１上にある。図１Ａでは、限定はしないが、例示の目的で、タッチインタフェース１０３、１０５は平面で実装されている。タッチインタフェースは、曲面を含む様々な形やサイズで実装されうることは重要である。第１タッチインタフェース１０３は、デバイス１０１の正面に位置し、以下本明細書において正面タッチインタフェースと記載する。第２タッチインタフェース１０５は、デバイス１０１の背面に位置し、以下本明細書において背面タッチインタフェースと記載する。いくつかの実施の形態では、正面タッチインタフェース１０３または背面タッチインタフェース１０５はタッチスクリーンとして実装される。タッチスクリーンは、表示領域内における接触の位置を検出する能力を持った画像表示ディスプレイのことをいう。あるいは、正面タッチインタフェース１０３または背面タッチインタフェース１０５はタッチパッドとして実装されうる。タッチパッドは、画像表示ディスプレイを含まないタッチインタフェースのことをいう。代わりに、タッチパッドへのユーザの接触は、プロセッサを介して、およびオプションとして独立の画像表示ディスプレイを介して伝えることができる。
【００１０】
正面タッチインタフェース１０３と背面タッチインタフェース１０５とは両方とも、タッチ入力の位置を決定するように構成されている。限定はしないが一例として、タッチインタフェースは、抵抗方式タッチパネル、表面弾性波技術、静電容量方式タッチパネル、赤外タッチパネル、歪みゲージ（strain gauge）技術、光学像、分散信号（dispersive signal）技術、音響パルス認識、または妨害内部全反射（frustrated total internal reflection; FTIR）を利用してタッチ入力の位置を検出するように構成されている。
【００１１】
抵抗方式タッチパネルは、薄い空間で分離されたふたつの薄い金属製の導電性および抵抗のある層を含む数枚の層からなる。あるオブジェクト（例えば指やスタイラス）がこの種のタッチパネルに接触すると、層同士がある点で接触する。タッチパネルは、出力が結合したふたつの電圧分配器と同様に電気的にふるまう。これは電流の変化を生じさせ、これがタッチイベントとして登録され、処理のためにプロセッサに送られる。
【００１２】
表面弾性波技術は、タッチスクリーンパネルの全面を通過する超音波を用いる。パネルがタッチされると、波の一部分が吸収される。センサがその結果による超音波の変化を登録し、対応する情報を処理のためにプロセッサに送信する。これによりタッチイベントの位置を決定することができる。
【００１３】
静電容量方式タッチパネルは、センサを横断する連続的な電流を伝導するインジウムスズ酸化物等の材料でコーティングされている。このため、センサは縦軸および横軸の両方において電子を格納する正確に制御された場を提示する。静電容量方式タッチパネルの「通常」の静電容量場（参照状態）が、例えばユーザの指から等の外部から加えられた電場によって変更されると、パネルのそれぞれの角にある電気回路が結果として参照場の特性における「歪み」を計測し、タッチイベントの位置を決定するための数学的処理のため、タッチイベントに関する情報をプロセッサに送信する。
【００１４】
赤外線タッチパネルは、ふたつの異なる方法論のうちのひとつを採用する。ひとつの方法は、熱的に誘導される表面抵抗の変化を利用する。もうひとつの方法は、パネル表面近くの変調されたビーム光の遮断を検出する垂直および水平方向のＩＲセンサ配列を利用する。
【００１５】
いくつかのタッチインタフェースはバネ計測器（spring gauge）の構成を利用する。この構成では、タッチ表面（例えばスクリーンまたはタッチパッド）は四隅それぞれに取り付けられたバネであり、歪みゲージがスクリーンがタッチされたときのたわみを決定するために用いられる。タッチの位置は、歪みゲージによって決定されたたわみから計算することができる。
【００１６】
光学像に基づくタッチインタフェース技術では、２以上の画像センサがスクリーンの境界（多くの場合、角）周辺に置かれる。スクリーンの他の側に、赤外のバックライトがカメラの画角内に設置される。タッチは影として現れ、各カメラのペアによって決定された影の位置は、三角測量によってタッチ位置が決定される。
【００１７】
分散信号技術は、タッチによって発生するガラス製タッチパネルの力学的エネルギーを検出する。この情報から最終的に実際のタッチの位置を導出するために複雑なアルゴリズムが用いられる。
【００１８】
音響パルス認識に基づくタッチパネルは、パネル上のいくつかの場所に置かれた、タッチ（振動）の力学的エネルギーを電気信号に変換するための２以上の圧電変換素子を用いる。この信号は音声ファイルに変換され、タッチの位置を決定するために、スクリーン上の全ての位置用に事前に存在する音声プロファイルと比較される。
【００１９】
妨害内部全反射に基づくタッチパネルは、内部全反射の原理を屈折媒質を光で満たすために利用する。指または他の柔らかいオブジェクトがタッチパネルを押すと、内部の反射光のパスが妨害され、光が反射して媒質の外に出て、それにより媒質の後のカメラによって見えるようになる。カメラはタッチの位置を決定するためにこの情報を処理する。
【００２０】
第１の指Ｆ１が正面タッチインタフェース１０３と接触すると、正面タッチインタフェース１０３は、正面タッチインタフェース１０３に関する第１タッチ入力１０７の位置を決定する。同様に、第２の指Ｆ２が背面タッチインタフェース１０５に接触すると、背面タッチインタフェース１０５は、背面タッチインタフェース１０５に関する第２タッチ入力１０９の位置を決定する。限定しない例として、タッチ入力位置１０７、１０９は、指Ｆ１、Ｆ２のいずれについても、任意の上述したタッチパネル技術を用いて、接触している表面全体のうちの中心点が選択されることで決定される。タッチ入力は指以外のオブジェクト（例えばスタイラスやコントローラ等）によっても実現されうることは重要である。
【００２１】
正面タッチインタフェース１０３および背面タッチインタフェース１０５が、ひとたびそれぞれタッチ入力１０７、１０９を決定すると、デバイス１０１は第１タッチ入力１０７の位置、第２タッチ入力１０９の位置、および事前に定められた正面タッチインタフェース１０３と背面タッチインタフェース１０５との間の空間的な関係を用いて、３次元の線分１１１を生成する。限定しない例として、事前に定められた正面タッチインタフェース１０３と背面タッチインタフェース１０５との間の空間的な関係は、ふたつのインタフェース間の実際の物理的距離ｄの倍数であってもよい。比較的単純なケースでは、正面および背面タッチインタフェースは実質的に同じサイズかつ同じ形であり、お互いに関して平行かつ重複していると仮定してもよい。これは限定しない例のケースである。
【００２２】
３次元線分１１１の生成の例として、タッチインタフェース１０３、１０５が距離ｄだけ離れて実質的に重複した配置である場合を考える。タッチ入力の位置は、デカルト座標系のＸ−Ｙ平面の共通の原点に関して定義される。一例として、デカルト座標系のＸ−Ｙ平面は、第１タッチインタフェース１０３の表面に設定される。第１タッチ入力位置１０７は、ｘ、ｙ、ｚ座標系のｘ１、ｙ１、０で定義される。第２タッチ入力位置１０９は、ｘ、ｙ、ｚ座標系のｘ２、ｙ２、−ｄで定義される。線分１１１の方向および向きは、ベクトル(ｘ１−ｘ２)ｉ＋（ｙ１−ｙ２）ｊ−ｄｋを用いて表される。ここで、ｉ、ｊ、およびkは、それぞれｘ、ｙ、およびｚ方向の単位線分である。あるいは、線分１１１の方向はオイラー角（例えばｘ、ｙ、およびｚ軸それぞれに関してｘ−ｙ、ｘ−ｚ、およびｙ−ｚ平面に線分１１１を投影したときの角度）で表してもよい。線分１１１の大きさは線分１１１の長さＬで表せる。これは例えば以下の式（１）のような公知の距離公式を用いて計算される。
【数１】
0005749805.tif 000002
【００２３】
３次元線分１１１は、仮想オブジェクト１１３の制御のための制御入力として用いられる。限定しない例として、仮想オブジェクト１１３は正面タッチインタフェース１０３と背面タッチインタフェース１０５との間にあるかのように見えてもよい。仮想オブジェクト１１３は、背面タッチインタフェース１０５の後側、または任意の数の別の方向にあるかのように見えることもできる。例示目的として、仮想オブジェクト１１３は仮想オブジェクト１１３は正面タッチインタフェース１０３と背面タッチインタフェース１０５との間に見えることを仮定する。３次元線分１１１は仮想オブジェクト１１３を貫通する。３次元の線分１１１の任意の位置シフトは、仮想オブジェクト１１３の方向を操作する。ゆえに、第１タッチ入力位置１０７の任意のシフト、または第２タッチ入力位置１０９の任意のシフトは、これらのシフトによって新しく生成された３次元線分１１１にしたがって、仮想オブジェクト１１３の変換が生じる。
【００２４】
図１Ｂは、仮想オブジェクトを操作するための直接タッチを用いるデバイス１０１を示す上面図である。第１の指Ｆ１が正面タッチインタフェース１０３に接触し、第１タッチ入力位置１０７を生成している。第１タッチ入力位置１０７は、上述した方法にしたがって３次元線分を生成するために用いられる。
【００２５】
図１Ｃは、仮想オブジェクトを操作するための直接タッチを用いるデバイス１０１を示す下面図である。第２の指Ｆ２が背面タッチインタフェース１０５に接触し、第２タッチ入力位置１０９を生成している。第２タッチ入力位置１０９は、上述した方法にしたがって３次元線分を生成するために用いられる。
【００２６】
図２Ａは、本発明の実施の形態に係る、仮想オブジェクトを操作するための事前タッチセンサを用いるデバイスを示す３次元の概略図である。この場合も、第１タッチインタフェース２０３および第２タッチインタフェース２０５は同一のデバイス２０１上に位置する。第１タッチインタフェース２０３を正面タッチインタフェースとし、第２タッチインタフェース２０５を背面タッチインタフェースとする。図１Ａにおけるデバイスと同様に、このデバイス２０１の正面タッチインタフェース２０３および背面タッチインタフェース２０５は、タッチスクリーンまたはタッチパッドのいずれかとして実装される。
【００２７】
しかしながら、図１Ａのタッチインタフェースがタッチ入力の位置を決定するために直接的な接触を要求したのに対し、図２Ａのタッチインタフェース２０３、２０５は、直接的な接触を用いずにタッチ入力位置を生成する。正面タッチインタフェース２０３と背面タッチインタフェース２０５とはともに、タッチ入力位置を決定するために事前タッチセンサを用いる。これらの事前タッチセンサは、オブジェクトがタッチインタフェースに近接するときはいつでも、実際に接触しなくても、タッチ入力位置を決定する。例えば、第１の指Ｆ１が正面タッチインタフェース２０３に近接すると、第１タッチインタフェース２０３は第１タッチ入力２０７の位置を決定する。正面タッチインタフェース２０３に近接する第１の指Ｆ１の位置は、本明細書において、第１の適用点（point of application）２０４と呼ぶ。第１タッチ入力２０７の位置は、事前タッチセンサによって検出された第１の適用点２０４の正面タッチインタフェース２０３上の位置と、第１の適用点２０４とその正面タッチインタフェース２０３上の位置との間の垂直距離Ｄ１によって特徴付けられる。同様に、第２の指Ｆ２が背面タッチインタフェース２０５に近接すると、背面タッチインタフェース２０５は、第１タッチ入力位置の決定に用いるのと同じ手法で、第２タッチ入力２０９の位置を決定する。
【００２８】
事前タッチセンサは、様々な方法で実装されうる。限定しない例として、事前タッチセンサは、静電容量方式タッチパネル、赤外タッチパネル、光学像、または表面音響波技術を介して実装してもよい。これらの事前タッチ技術の実装については上述した。任意のタッチインタフェースにおけるオブジェクト位置を決定する能力は、タッチインタフェースに極近接しているオブジェクトに限られることは重要である。
【００２９】
ひとたびタッチ入力２０７、２０９の位置が決定されると、デバイス２０１は上述した方法と同様な方法で仮想オブジェクト１１３を制御する。デバイス２０１は、第１タッチ入力２０７の位置、第２タッチ入力２０９の位置、および正面タッチインタフェース２０３および背面タッチインタフェース２０５との間の事前に定められた空間的な関係を用いて３次元線分２１１を生成する。あるいは、３次元線分２１１’が、適用点２０４、２０６の間で決定されてもよい。この３次元線分２１１’は、垂直距離Ｄ１、Ｄ２を長くしたり短くしたりすることによって修正される。垂直距離Ｄ１、Ｄ２は、適用点２０４、２０６と、それらの点のタッチインタフェース２０３、２０５における各位置２０７、２０９との間の距離である。最後に、３次元線分２１１、２１１’が、仮想オブジェクト１１３の方向を操作する。適用点２０４、２０６によって生成された３次元線分２１１’は、ふたつのタッチ入力２０９、２１１によって生成された３次元線分２１１と比較して、より直感的かつ効果的なユーザ体験（user-experience）を提供することは重要である。適用点２０４、２０６の間の３次元線分２１１’は、制御における追加の自由度（すなわち、適用点とタッチインタフェース上の対応するテントの間の垂直距離）を有するからである。
【００３０】
図２Ｂは、仮想オブジェクトを操作するための事前タッチセンサを用いるデバイス２０１を示す上面図である。第１の指Ｆ１が正面タッチインタフェース２０３に近接している。第１タッチ入力２０７の位置は、事前タッチセンサによって検出された第１の適用点２０４の正面タッチインタフェース２０３上の位置と、第１の適用点２０４とその正面タッチインタフェース２０３上の位置との間の垂直距離Ｄ１によって特徴付けられる。第１タッチ入力位置２０７は上述の方法にしたがって３次元線分を生成するために用いられる。
【００３１】
図２Ｃは、仮想オブジェクトを操作するための事前タッチセンサを用いるデバイス２０１を示す下面図である。第２の指Ｆ２が背面タッチインタフェース２０５に近接している。第２タッチ入力２０９の位置は、事前タッチセンサによって検出された第２の適用点２０６の背面タッチインタフェース２０５上の位置と、第２の適用点２０６とその背面タッチインタフェース２０５上の位置との間の垂直距離Ｄ２によって特徴付けられる。第２タッチ入力位置２０９は上述の方法にしたがって３次元線分を生成するために用いられる。
【００３２】
以上の例は、ひとつのデバイスで仮想オブジェクトをコントロールする方法を説明するものである。しかしながら、１以上のユーザが同じ仮想オブジェクトを制御する状況も起こりうる。限定しない例として、仮想の世界の中に２人のユーザがおり、その中で２人のユーザがひとつの仮想オブジェクトを協力して制御する。図３Ａおよび図３Ｂは、本発明の実施の形態に係る、仮想オブジェクトを制御する方法を示す概略図である。図３Ａは直接タッチを用いる仮想オブジェクトを操作するための方法を示し、図３Ｂは事前タッチを用いる方法を示す。第１ユーザは第１デバイス３０１を操作する。第１デバイス３０１は、第１タッチインタフェース３０３を含む。第２ユーザは第２デバイス３０１’を操作する。第２デバイス３０１’は第２タッチインタフェース３０５を含む。これらの２人のユーザはネットワーク３１５を通して接続可能である。限定しない例として、ネットワークは有線接続や、Ｂｌｕｅｔｏｏｔｈ（登録商標）無線技術、赤外信号等の無線接続を用いて実装してもよい。ユーザは、一致協力して同じ仮想オブジェクト３１３を制御する。
【００３３】
第１デバイス３０１のタッチインタフェース３０３に関する第１タッチ入力３０７の位置は、第１タッチインタフェース３０３に（直接タッチまたは事前タッチによって）作用する第１ユーザの指Ｆ１によって、例えば上述したように決定できる。第２タッチインタフェース３０５に関する第２タッチ入力３０９の位置も、第２タッチインタフェース３０５に（直接タッチまたは事前タッチによって）作用する第２ユーザの指Ｆ２によって、例えば上述したように決定できる。あるいは、第１適用点３０４および第２適用点３０６もまた、図２Ａ中に説明したような事前タッチ技術を用いて決定できる。第１タッチ入力３０７（または第１適用点３０４）の位置はネットワーク３１５を介して第２デバイス３０１’に送信される。同様に、第２タッチ入力３０９（または第２適用点３０６）の位置はネットワーク３１５を通して第１デバイス３０１に送信される。
【００３４】
第１タッチ入力３０７（または第１適用点３０４）の位置は、第１タッチインタフェース３０３上における位置、または近接する位置にしたがって第２デバイス３０１’上にマッピングされる。本明細書において、投影された第１タッチ入力３０７’の位置（または投影された第１適用点３０４’の位置）と呼ぶ。同様に、第２タッチ入力３０９（または第２適用点３０６）の位置は、第２タッチインタフェース３０５上における位置、または近接する位置にしたがって第１デバイス３０１上にマッピングされる。本明細書において、投影された第２タッチ入力の位置（または投影された第２適用点３０６’の位置）と呼ぶ。
【００３５】
第１デバイス３０１は、第１タッチ入力３０７の位置、投影された第２タッチ入力３０９’の位置、および第１タッチインタフェースおよび第２タッチインタフェースの間に事前に定められた空間的な関係を用いて、３次元線分３１１を生成する。同様に、第２デバイス３０１’は、第２タッチ入力３０９の位置、投影された第１タッチ入力３０７’の位置、およびよび第１タッチインタフェースおよび第２タッチインタフェースの間に事前に定められた空間的な関係を用いて、次元線分３１１’を生成する。限定しない例として、事前に定められた空間的な関係は、第１および第２タッチインタフェース３０３、３０５が平行かつ重複した配置で、距離ｄ離れていることを仮定する。しかしながら、ふたつのタッチインタフェース３０３、３０５の間の任意の関係、一例としてはこれらが平行でないこと、が利用されうる。
【００３６】
あるいは、図２Ａで説明したように、第１デバイス３０１は、第１適用点３０４の位置と投影された第２適用点３０６’とを用いて３次元線分３１１Ｂを生成してもよい。同様に、図２Ａで説明したように、第２デバイス３０１’は、投影された第１適用点３０４’の位置と第２適用点３０６の位置とを用いて、３次元線分３１１Ｂ’を生成してもよい。これらの３次元線分３１１Ｂ、３１１Ｂ’は、垂直距離Ｄ１、Ｄ２を長くしたり短くしたりすることによって修正される。垂直距離Ｄ１、Ｄ２は、適用点３０４、２０６およびそれらのタッチインタフェース３０３、３０５上の点との間の距離である。上述したように、適用点３０４、３０６を用いて生成された３次元線分３１１Ｂ、３１１Ｂ’は、タッチ入力を用いて生成された３次元線分３１１、３１１’よりも好ましい。さらなる制御の自由度を提供するからである。
【００３７】
例示の目的として、各デバイス内の仮想オブジェクト３１３、３１３’が、それぞれのデバイスのタッチインタフェース３０３、３０５と投影されたタッチ入力３０９’、３０７’の平面との間に出現していることを仮定する。各３次元線分３１１、３１１’、３１１Ｂ、３１１Ｂ’は、最初は仮想オブジェクト３１３、３１３’を貫通しており、３次元線分３１１、３１１’、３１１Ｂ、３１１Ｂ’の位置における任意のシフトは、仮想オブジェクト３１３、３１３の方向を操作する。仮想オブジェクト３１３、３１３’はふたつの分離されたデバイス３０１、３０１’によって制御されるので、各デバイスは３次元線分３１１、３１１’、３１１Ｂ、３１１Ｂ’の一方の端を制御できるだけである。例えば、第１デバイス３０１のユーザは、第１タッチ入力３０７（または第１適用点３０４）の位置を制御するが、投影された第２タッチ入力３０９’（または投影された第２適用点３０６’）の位置を制御することはできない。第２タッチ入力３０９’（または投影された第２適用点３０６’）の位置は第２デバイス３０１’のユーザによって制御されるからである。同様に、第２デバイス３０１’のユーザは、第２タッチ入力３０９（または第２適用点３０６）の位置を制御するが、投影された第１タッチ入力３０７’（または投影された第１適用点３０４’）の位置を制御することはできない。投影された第１タッチ入力３０７’（または投影された第１適用点３０４’）の位置は、第１デバイス３０１のユーザによって制御されるからである。両方のユーザは仮想オブジェクト３１３、３１３’を個々の観点から見ているが、仮想オブジェクトの制御はネットワーク３１５を通じた２人のユーザ間の意思の疎通に依存している。
【００３８】
上述の方法を用いる仮想オブジェクトの制御は多数の異なる方法で用いることができる。図４Ａ−４Ｄは、本発明の実施の形態に係る、仮想オブジェクトを制御する可能な方法のいくつかの例を示す概略図である。第１タッチインタフェースに関する第１タッチ入力の位置（または第１適用点の位置）４０７は、第１タッチインタフェースに（直接タッチまたは事前タッチによって）作用する第１ユーザの指Ｆ１によって決定される。同様に、第２タッチインタフェースに関する第１タッチ入力の位置（または第２適用点の位置）４０９は、第２タッチインタフェースに（直接タッチまたは事前タッチによって）作用する第２ユーザの指Ｆ２によって決定される。例示目的として、仮想オブジェクト４１３は第１タッチインタフェースと第２タッチインタフェースとの間に出現すると仮定することができる。第１タッチ入力の位置（または第１適用点の位置）４０７、第２タッチ入力の位置（または第２適用点の位置）４０９、および２つのタッチインタフェースの間の予め定められた空間的な関係（例えば、タッチインタフェース間の実際の物理的距離）が３次元線分４１１を生成するために用いられる。３次元線分４１１が仮想オブジェクト４１３を制御するための制御入力として用いられる。動きのある３次元線分４１１は最初仮想オブジェクト４１３を貫通しており、３次元線分４１１の位置における任意のシフトは、仮想オブジェクト４１３の方向を操作する。
【００３９】
図４Ａは、本発明の実施の形態に係る、仮想オブジェクトを回転する方法を示す概略図である。第１の指Ｆ１と第２の指Ｆ２とを反対方向に動かすと仮想オブジェクト４１３が回転する。線分４１１の方向の変化は、オブジェクト４１３の方向の変化にマッピングすることができる。指の動きの速度を調整することにより、ユーザは仮想オブジェクト４１３の回転速度を制御することができる。例えば、指を反対方向にゆっくりと動かすことで、それと対応して仮想オブジェクト４１３をゆっくりと回転する。指を反対方向に素早く引くと、それと対応して線分４１１の方向の変化とともに仮想オブジェクト４１３は素早く回転する。さらに、指の動く方向を変更することによって、ユーザは仮想オブジェクト４１３の回転する方向を制御することができる。仮想オブジェクト４１３は、一方の指を単にシフトし、他方の指を所定の位置に残すことで回転させてもよいことは重要である。限定しない例として、この動作は、ひとつの指を規定の長さシフトさせ、元の位置まで戻し、また規定の長さシフトさせるという動作を、ユーザが仮想オブジェクト４１３の回転を続けようとする限り繰り返すことで、無期限に伝搬することができる。さらに、３次元線分４１１の長さを増加させある閾値を超えると、回転を解除することを示してもよい。
【００４０】
図４Ｂは、本発明の実施の形態に係る、仮想オブジェクトをシフトする方法を示す概略図である。第１の指Ｆ１と第２の指Ｆ２とを同じ方向に動かすと仮想オブジェクト４１３がシフトする。指が同じ速度で動くと、仮想オブジェクト４１３は指の動きと同じ方向にまっすぐに進む。仮想オブジェクト４１３の動く角度を変更するために、ユーザは一方の指の動きの速度を別の指に対して調整することができる。例えば、第１の指Ｆ１が第２の指よりも早い速度で動くと、仮想オブジェクト４１３はふたつの指の方向において第１の指Ｆ１の位置に向かう角度で動く。同様に、第２の指Ｆ２が第１の指よりも速い速度で動くと、仮想オブジェクト４１３はふたつの指の方向において第２の指Ｆ２の位置に向かう角度で動く。さらに、タッチインタフェースに関する３次元線分４１１の角度が、仮想オブジェクト４１３の方向制御の別の度数を提供する。例えば、仮想オブジェクト４１３が銃弾の形を取っているとき、その銃弾は指の動きに依存して３次元線分４１１と垂直な方向に動く。
【００４１】
図４Ｃは、本発明の実施の形態に係る、仮想オブジェクトを摘む、または圧縮する方法を示す概略図である。直接タッチの文脈では、第１の指Ｆ１が第１タッチインタフェースにかける圧力を増加し、第２の指Ｆ２が第２タッチインタフェースにかける圧力を増加すると、仮想オブジェクト４１３を圧縮させる。各タッチインターフェース上に異なる組み合わせで指の圧力をかけることで、仮想オブジェクト４１３の圧縮を修正できることは推測可能である。事前タッチセンサを用いる仮想オブジェクト４１３の圧縮は、直接タッチを用いる仮想オブジェクト４１３の圧縮に比べて少し異なる。タッチインタフェースにより力をかけるのではなく、適用点とそのタッチインタフェース上の位置との各垂直距離を減少することで、仮想オブジェクトを圧縮させる。垂直距離の異なる組み合わせを用いることで、仮想オブジェクト４１３の圧縮を修正できることは推測可能である。
【００４２】
図４Ｄは、本発明の実施の形態に係る、仮想オブジェクトを拡大する方法を示す概略図である。直接タッチの文脈では、第１の指Ｆ１が第１タッチインタフェースにかける圧力を減少し、第２の指Ｆ２が第２タッチインタフェースにかける圧力を減少すると、仮想オブジェクト４１３を拡大させる。各タッチインターフェース上に異なる組み合わせで指の圧力をかけることで、仮想オブジェクト４１３の拡大を修正できることは推測可能である。事前タッチセンサを用いる仮想オブジェクト４１３の拡大は、直接タッチを用いる仮想オブジェクト４１３の圧縮に比べて少し異なる。タッチインタフェースにかける力を小さくするのではなく、適用点とそのタッチインタフェース上の位置との各垂直距離を増加することで、仮想オブジェクトを拡大させる。垂直距離の異なる組み合わせを用いることで、仮想オブジェクト４１３の拡大を修正できることは推測可能である。
【００４３】
これらは仮想オブジェクトの制御のための方法のほんの少数の例に過ぎないことは重要である。仮想オブジェクトの制御のための別の方法の他に、上述した仮想オブジェクトの制御のための方法の２以上の組み合わせを利用することもできる。
【００４４】
図５は、上述した仮想オブジェクトの制御をの実装に用いるコンピュータ装置５００を示すブロック図である。装置５００は、一般に、プロセッサモジュール５０１とメモリ５０５を備える。プロセッサモジュール５０１は１以上のプロセッサコアを含む。複数のプロセッサモジュールを用いるプロセッシングシステムの例は、セルプロセッサであり、その例は、たとえば、http://www-306.ibm.com/chips/techlib/techlib.nsf/techdocs/1AEEE1270EA2776387257060006E61BA/$file/CBEA_01_pub.pdfにおいてオンラインで参照可能なセルブロードバンドエンジンアーキテクチャに詳しく記述されており、その内容を参照によりここに組み込む。
【００４５】
メモリ５０５は、例えば、ＲＡＭ、ＤＲＡＭ、ＲＯＭなどの集積回路の形態を取ってもよい。そのメモリはまた、すべてのプロセッサモジュール５０１によってアクセス可能なメインメモリであってもよい。ある実施の形態では、プロセッサモジュール５０１は、各コアに関連付けられたローカルメモリを含む。プログラム５０３は、プロセッサモジュール５０１上で実行することができるプロセッサ読み取り可能なインストラクションの形態でメインメモリ５０５に格納されてもよい。プログラム５０３は、例えば図１、図２、図３、および図４に関して上述した２つのタッチインタフェースを用いて仮想オブジェクトを制御するように構成されている。プログラム５０３は、任意の適切なプロセッサ読み取り可能な言語、たとえば、Ｃ、Ｃ＋＋、ＪＡＶＡ（登録商標）、アセンブリ、ＭＡＴＬＡＢ、ＦＯＲＴＲＡＮ、および他の様々な言語で書かれる。プログラム５０３の実行中、プログラムコードおよび／またはデータ５０７の一部は、メモリ５０５またはマルチプロセッサコアによる並列処理のためのプロセッサコアのローカルストアにロードされる。限定しない例として、入力データ５０７はタッチ入力（直接タッチと事前タッチとの両者とも）の位置と、タッチ入力によって生成された３次元線分とを含む。
【００４６】
プログラム５０３は、プロセッサ５０１によって実行されたとき、ａ）第１タッチインタフェース上の第１タッチ入力の位置を決定し、ｂ）第２タッチインタフェース上の第２タッチ入力の位置を決定し、ｃ）、ｄ）ｃ）における３次元線分を制御入力として用いて仮想オブジェクトを操作し、ｅ）操作した仮想オブジェクトを表示装置上に表示することで仮想オブジェクトを制御する方法を実装する。
【００４７】
装置５００はさらに、入出力（Ｉ／Ｏ）装置５１１、電源（Ｐ／Ｓ）５１３、クロック（ＣＬＫ）５１５およびキャッシュ５１７などの周知のサポート機能５０９を備えてもよい。装置５００はオプションとして、プログラムおよび／またはデータを格納するためのディスクドライブ、ＣＤ−ＲＯＭドライブ、テープドライブなどの大容量記憶装置５１９を備えてもよい。装置５００はまた、オプションとして、装置５００とユーザの相互作用を容易にするために、ディスプレイユニット５２１、およびユーザインタフェースユニット５２５を備えてもよい。ディスプレイユニット５２１は、テキスト、数値、グラフィカルシンボルや画像を表示する陰極線管（ＣＲＴ）、またはフラットパネルスクリーンの形態であってもよい。ユーザインタフェース５２５は、キーボード、マウス、ジョイスティック、ライトペン、またはＧＵＩ（graphical user interface）とともに用いられる他のデバイスを含む。装置５００はまた、ネットワークインタフェース５２３を含み、これにより、当該装置がインターネットのようなネットワーク上で他の装置と通信することが可能になる。
【００４８】
装置５００はオプションとして、入出力装置５１１を介してプロセッサ５０１と接続されている１以上のオーディオスピーカ５２７を含んでもよい。スピーカはプログラム５０３の実行によって生成された信号に応答して生成された音声を再生できる。オーディオスピーカ５２７は、例えば仮想オブジェクトの動きが３Ｄ音声効果を生み出すときに用いることができる。いくつかの実施の形態では、装置５００はオプションのマイクロフォン５２９を含んでもよい。マイクロフォン５２９は、単一のマイクロフォンでもマイクロフォンアレイであってもよい。マイクロフォン５２９は、入出力装置５１１を介してプロセッサ５０１と接続されている。限定しない例として、マイクロフォンアレイ５２９を用いる音源位置の追跡および仮想オブジェクトの位置の追跡との両方をすることによって異なる３Ｄ音声効果が生成されてもよい。
【００４９】
さらに、マイクロフォンアレイとともにある３次元の実際の音源の位置を仮想オブジェクトの位置と組み合わせることで、異なる３Ｄ音声効果を生成できる。例えば、オーディオスピーカ５２７のうちのたった１つのスピーカが対応する音声を生成できるように、特定の方向において実際の音を跳ね返すために仮想の鏡を用いることができる。
【００５０】
プロセッサ５０１、メモリ５０５、サポート機能５０９、大容量記憶装置５１９、ユーザインタフェース５２５、ネットワークインタフェース５２３、およびディスプレイ５２１を含む装置５００の構成要素は、１以上のデータバス５３１を経由して互いに動作可能に接続されてもよい。これらの構成要素はハードウェア、ソフトウェア、ファームウェアまたはこれらの２以上の組み合わせによって実装される。
【００５１】
別の実施の形態では、仮想オブジェクトの制御のための命令はコンピュータが読み出し可能な記録媒体に格納される。限定しない例として、図６は発明の実施の形態に係る、仮想オブジェクトの制御を実装した命令を格納した記録媒体６００を例示する図である。記録媒体６００には、コンピュータ・プロセッシング・デバイスが読み取って解釈することのできるフォーマットで格納されたコンピュータ読み取り可能な命令が含まれる。一例として、これに限られないが、コンピュータ読み取り可能な記録媒体６００は、ＲＡＭまたはＲＯＭのようなコンピュータ読み取り可能なメモリ、固定ディスクドライブ（たとえば、ハードディスクドライブ）に対するコンピュータ読み取り可能なストレージディスク、またはリムーバブルディスクドライブであってもよい。さらに、コンピュータ読み取り可能な記録媒体６００は、フラッシュメモリデバイス、コンピュータ読み取り可能なテープ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ブルーレイ（商標）、ＨＤ−ＤＶＤ、ＵＭＤ、あるいは他の光記録媒体を含む。
【００５２】
記録媒体６００はタッチを通じた仮想オブジェクトの制御および操作するように構成された命令６０１を含む。仮想オブジェクトを制御するための命令６０１は、例えば図１、図２、図３、および図４に関して上述した方法に係る仮想オブジェクトの制御を実装するように構成されている。特に、仮想オブジェクトを制御するための命令６０１は、第１タッチインタフェースに関する第１タッチ入力の位置を決定するために用いられる、第１タッチインタフェースにおける第１タッチ入力の位置を決定する命令６０３を含む。想オブジェクトを制御するための命令６０１はさらに、第２タッチインタフェースに関する第２タッチ入力の位置を決定するために用いられる、第２タッチインタフェースにおける第２タッチ入力の位置を決定する命令６０５を含む。タッチ入力の位置は、図１Ａ−１Ｃ、図２Ａ−２Ｃに関して上述した直接接触または事前タッチセンサを経由して決定されてもよい。これらの命令は、個々のユーザの指の長さや動きの速度を考慮に入れるために各ユーザ個別のタッチ配列を保存するように構成されてもよい。
【００５３】
仮想オブジェクトを制御するための命令６０１はさらに、第１タッチ入力、第２タッチ入力、および第１インタフェースと第２インタフェースとの間の事前に定められた空間的な関係を用いて３次元線分を生成するために用いられる３次元線分を生成する命令６０７を含んでもよい。これは、３次元線分を制御入力として用いる仮想オブジェクトの方向を操作する１以上の仮想オブジェクトを操作する命令６０９のトリガとなる。
【００５４】
仮想オブジェクトを制御するための命令６０１はさらに、１以上のユーザに操作した仮想オブジェクトを表示するために用いられる、操作した仮想オブジェクトを表示する命令６１１を含んでもよい。これらの命令は、生成された任意の３次元制御線分または指の動きにしたがって、特定の音声効果（例えば３Ｄ音声効果）を再生する指示を含んでもよい。
【００５５】
本発明の好ましいバージョンを参照しながらかなり詳細に本発明を説明したが、他のバージョンも可能である。例えば、ある実施の形態においては、３次元線分がデカルト座標系の観点から定義されたが、当業者であれば、円柱座標系や極座標系のような他の座標系の観点で線分が定義可能であることは認識できる。さらに、いくつかの実施の形態では第１および第２タッチインタフェース間が重複する平行な関係であると仮定して記載した。しかしながら、２つのタッチインタフェース間を任意の関係で実装してもよい。例えば、２つのタッチインタフェースが、互いに垂直であるなど平こく出ない関係で実装してもよい。さらに、第１および第２タッチインタフェースの間に傾斜や横方向のオフセットがあってもよい。したがって、添付の請求項の趣旨および範囲は、ここに含まれる好ましいバージョンの説明に限定されるべきではない。むしろ、本発明の範囲は、添付の請求項をその均等物の全範囲とともに参照することで決定されるべきである。
【００５６】
この明細書（添付の請求項、要約、図面を含めて）に開示したすべての特徴は、明示的に断らない限り、同じ目的または等価ないしは類似の目的を達する代替的な特徴で置き換えることができる。したがって、明示的に断らない限り、開示された各特徴は、等価または類似の特徴の包括的な体系のほんの一例である。いずれの特徴も、好ましいかどうかを問わず、他の特徴と組み合わせてもよい。請求項において、明示的に断らない限り、各項目は１またはそれ以上の数量である。請求項において「〜のための手段」のような語句を用いて明示的に記載する場合を除いて、請求項のいずれの構成も、３５ＵＳＣ§１１２第６パラグラフに規定された「手段」または「ステップ」として解釈されるものではない。特に請求項において「〜のステップ」を用いても３５ＵＳＣ§１１２第６パラグラフの規定を行使することを意図したものではない。
【００５７】
この明細書と同時に提出され、この明細書とともに公衆の閲覧に付されたすべての書面に読者の注意は向けられるものであり、それらの書面の内容を参照によりここに組み込む。
【図１Ａ】
0005749805.tif 000003
【図１Ｂ】
0005749805.tif 000004
【図１Ｃ】
0005749805.tif 000005
【図２Ａ】
0005749805.tif 000006
【図２Ｂ】
0005749805.tif 000007
【図２Ｃ】
0005749805.tif 000008
【図４Ａ】
0005749805.tif 000009
【図４Ｂ】
0005749805.tif 000010
【図４Ｃ】
0005749805.tif 000011
【図４Ｄ】
0005749805.tif 000012
【図５】
0005749805.tif 000013
【図６】
0005749805.tif 000014
【図３Ａ】
0005749805.tif 000015
【図３Ｂ】
0005749805.tif 000016