(57)【特許請求の範囲】
【請求項１】
インタラクティブプログラムとインタフェースするためのコントローラであって、
複数の第１表面領域および前記第１表面領域と交互に隣り合うように配置された１以上の第２表面領域を含む外面と、
前記複数の第１表面領域に結合された少なくとも１つの加熱源と、
前記第２表面領域に結合された少なくとも１つの冷却源と、
前記第１表面領域を加熱するために前記加熱源をアクティブにするタイミングおよび前記第２表面領域を冷却するために前記冷却源をアクティブにするタイミングを、前記インタラクティブプログラムにより生成された温度トリガデータに基づいて決定するための温度コントローラと、を含み、
前記外面は、ユーザが前記コントローラを把持するときに前記ユーザの肌に接触するように前記コントローラのハンドル部分に画定され、
前記加熱源および前記冷却源を同時にアクティブにすることにより、前記コントローラの前記ハンドル部分がユーザにより把持されるときに、ユーザに対して痛みや焼け付くような感覚を出現させるサーマルグリルイリュージョンが生じる、コントローラ。
【請求項２】
前記加熱源および前記冷却源は少なくとも１つの熱電デバイスを含む、請求項１記載のコントローラ。
【請求項３】
前記温度コントローラは、前記加熱源のアクティベーションレベルおよび前記冷却源のアクティベーションレベルを、前記インタラクティブプログラムにより生成された前記温度トリガデータに基づいて決定する、請求項１記載のコントローラ。
【請求項４】
インタラクティブプログラムとインタフェースし、前記インタラクティブプログラムから温度フィードバックを提供するためのコントローラであって、
第１外部露出面を有する第１熱電デバイスを含み、前記外部露出面は前記第１熱電デバイスがアクティブにされるときに加熱されるものであって、
前記第１熱電デバイスに隣接し、第２外部露出面を有する第２熱電デバイスを含み、前記外部露出面は前記第２熱電デバイスがアクティブにされるときに冷却されるものであって、
前記第２熱電デバイスに隣接し、第３外部露出面を有する第３熱電デバイスを含み、前記外部露出面は前記第３熱電デバイスがアクティブにされるときに加熱されるものであって、および、前記第１、第２、および第３熱電デバイスをアクティブにするタイミングを、前記インタラクティブプログラムにより生成された温度トリガデータに基づいて決定するための温度コントローラ、を含み、
前記第１、第２および第３熱電デバイスは、ユーザがコントローラを把持するときに前記ユーザの肌に接触するように方向づけられた前記コントローラのハンドル部分に画定され、
前記第１、第２および第３熱電デバイスを同時にアクティブにすることにより、前記コントローラの前記ハンドル部分がユーザにより把持されるときに、ユーザに対して痛みや焼け付くような感覚を出現させるサーマルグリルイリュージョンが生じる、コントローラ。
【請求項５】
前記第１熱電デバイスと前記第２熱電デバイスの間に画定された第１絶縁体と、
前記第２熱電デバイスと前記第３熱電デバイスの間に画定された第２絶縁体と、をさらに含む、請求項４記載のコントローラ。
【請求項６】
前記第１、第２または第３熱電デバイスの前記アクティベーションに相互に関連付けられる色を発色するための少なくとも１つのランプをさらに含む、請求項４記載のコントローラ。
【請求項７】
コンピュータが実行する、コントローラを操作中のユーザに温度フィードバックを提供するための方法であって、前記コンピュータが、
温度トリガデータを受信するステップと、
前記温度トリガデータに基づいて前記コントローラの複数の第１表面領域を加熱するステップと、
前記温度トリガデータに基づいて、前記第１表面領域と交互に隣り合うように配置されている前記コントローラの１以上の第２表面領域を冷却するステップと、を実行し、
前記第１表面領域の加熱および前記第２表面領域の冷却を同時に行うことにより、前記第１表面領域および前記第２表面領域に前記ユーザの肌が接触するときに、ユーザに対して痛みや焼け付くような感覚を出現させるサーマルグリルイリュージョンが生じる、方法。
【請求項８】
前記複数の第１表面領域を加熱するステップおよび前記１以上の第２表面領域を冷却するステップは、少なくとも１つの熱電デバイスをアクティブにするステップを含む、請求項７記載の方法。
【請求項９】
前記コントローラの位置をトラッキングするステップと、
前記トラッキングしたコントローラの位置に基づいて前記温度トリガデータを生成するステップと、をさらに含む請求項７記載の方法。
【請求項１０】
前記コントローラの発光された部分を照光するステップをさらに含み、前記照光ステップにおいて、前記温度トリガデータに基づく色が生成される、請求項７記載の方法。
【請求項１１】
コントローラを操作中のユーザへ温度フィードバックを提供するための方法であって、
インタラクティブアプリケーションを実行するステップと、
複数の交互に隣り合うコントローラの表面領域に対して加熱および冷却レベルをそれぞれ決定するための温度トリガデータを生成するステップと、
前記コントローラへ前記温度トリガデータを送信するステップと、を含み、
前記コントローラの位置をトラッキングするステップをさらに含み、
前記温度トリガデータは前記トラッキングされたコントローラの位置に基づいて生成され、
前記複数の交互に隣り合うコントローラ表面領域を、それぞれ同時に加熱および冷却するステップを有し、このステップは、前記複数の交互に隣り合うコントローラ表面領域が前記ユーザの前記肌に接触するときにサーマルグリルイリュージョンを生じさせる、方法。
【請求項１２】
前記温度トリガデータを生成するステップは、所定の温度フィードバック構成と相互に関連づけられる仮想環境内の仮想オブジェクトの現在地を決定するステップを含む、請求項１１記載の方法。
【請求項１３】
前記温度トリガデータに基づいて、前記コントローラの光源により表示される色を決定する光トリガデータを生成するステップと、
前記コントローラへ前記光トリガデータを送信するステップと、をさらに含む、請求項１１記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は２００９年１１月２０日に出願の、発明者をXiadong MaoおよびNoam Rimonとし、発明の名称を「CONTROLLER FOR INTERFACING WITH A COMPUTING PROGRAM USING POSITION,ORIENTATION,OR MOTION」とする米国特許出願第12/623,352号と、２０１０年１２月８日に出願の、発明者をGeorge Weisingとし、発明の名称を「BIOMETRIC INTERFACE FOR A HANDHELD DEVICE」とする米国特許出願第12/963,594号に関するものであり、上記各出願は参照のために全体が本願に組み込まれている。
【背景技術】
【０００２】
本発明はインタラクティブプログラムとインタフェースするコントローラデバイスを介して温度フィードバックを提供するための方法およびシステムに関する。
テレビゲーム業界は長年にわたり変化を遂げてきた。コンピュータの処理能力の向上とともに、テレビゲームの開発者らも、このような処理能力の高度化を利用したゲームソフトウェアを開発してきた。このため、テレビゲームの開発者らは、非常にリアルなゲーム体験となるように高度な演算や数値演算を組み込んだゲームをコーディングしてきた。
【０００３】
このようなゲームのプラットフォームの例には、ソニープレイステーション（登録商標）、ソニープレイステーション２（登録商標）（ＰＳ２）およびソニープレイステーション３（登録商標）（ＰＳ３）があり、これらは共にゲームコンソールの形態で販売されている。周知のように、ゲームコンソールはモニタ（通常はテレビ）に接続され、携帯コントローラを介してユーザインタラクションを可能にするように設計されている。ゲームコンソールは、ＣＰＵ、重いグラフィック演算を処理するためのグラフィックシンセサイザ、ジオメトリ変換を実行するためのベクトル演算ユニット、およびグルーハードウェアと呼ばれるその他のハードウェア、ファームウェア、およびソフトウェアを含む専用の処理ハードウェアで設計されている。
【０００４】
ゲームコンソールは、ゲームコンソールを介してローカルでプレイするためのゲームのコンパクトディスクを受け入れるための光ディスクトレイを備えるようにさらに設計される。また、ユーザがインターネットを介して他のユーザとインタラクティブに対戦したり、他のユーザと一緒にインタラクティブにプレイすることができるオンラインゲームも可能である。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ゲームを複雑にしてプレーヤの興味を引き付けるために、ゲームおよびハードウェアの製造業者らは、新しい手法を取り入れてさらなるインタラクティビティ、つまり対話性、とコンピュータプログラムとを可能にしようとしてきた。
【０００６】
コンピュータゲーム業界においては、ユーザとゲームシステム間のインタラクションを高めるゲームを開発する傾向が広がっている。より質の高いインタラクティブな体験を実現する１つのやり方として、プレーヤの動きをトラッキングして、この動きをゲームの入力として使用するために、ゲームシステムによって移動がトラッキングされる無線ゲームコントローラを使用する方法がある。一般的にいうと、ジェスチャ入力とは、コンピューティングシステム、テレビゲームコンソール、インテリジェント家電などの電子装置を、物体をトラッキングするビデオカメラがキャプチャした何らかのジェスチャに反応させることを指す。
本発明は、この状況においてなされたものである。
【課題を解決するための手段】
【０００７】
本発明の実施形態の各々は、インタラクティブプログラムとインタフェースするモーションコントローラを介して温度フィードバックを提供するための方法およびシステムを提供する。本発明はプロセス、装置、システム、デバイスあるいは方法などの様々な方法でコンピュータ可読媒体に実装することができる。以下に本発明の、発明性を有する実施形態をいくつか記載する。
【０００８】
一実施形態では、インタラクティブプログラムとインターフェイスするためのコントローラは、複数の第１表面領域と、１以上の第２表面領域と、を有する外面を含む。第２表面領域は第１表面領域と交互に隣り合うように配置されている。複数の第１面領域には加熱源が結合され、第２表面領域には冷却源が結合される。第１表面領域を加熱するために加熱源をアクティブにするタイミングと、第２面領域を冷却するために冷却源をアクティブにするタイミングとを、インタラクティブプログラムにより生成される温度トリガデータに基づいて決定するために温度コントローラが提供される。
【０００９】
一実施形態では、ユーザがコントローラを把持するときにユーザの肌が接触するように、コントローラのハンドル部分に外面が画定される。一実施形態では、ユーザがコントローラのハンドル部分を把持しているときに加熱源および冷却源を同時にアクティブにすることにより、サーマルグリルイリュージョン、いわゆる、近い距離で温感と冷感を同時に提示するときに生じる痛覚、が生じる。一実施形態では、加熱源および冷却源は少なくとも１つの熱電デバイスを含む。
【００１０】
一実施形態では、温度コントローラは加熱源のアクティベーションレベルおよび冷却源のアクティベーションレベルを、インタラクティブプログラムにより生成される温度トリガデータに基づいて決定する。
【００１１】
一実施形態では、インタラクティブプログラムとインターフェイスし、該インタラクティブプログラムから温度フィードバックを提供するためのコントローラが提供される。コントローラは第１外部露出面を含む第１熱電デバイスを含み、該露出面は第１熱電デバイスがアクティブにされるときに加熱される。さらにコントローラは、第１熱電デバイスに隣接し、第２外部露出面を有する第２熱電デバイスを含み、該露出面は第２熱電デバイスがアクティブにされるときに冷却される。さらにコントローラは、第２熱電デバイスに隣接し、第３外部露出面を有する第３熱電デバイスを含み、該露出面は第３熱電デバイスがアクティブにされるときに加熱される。コントローラは、第１、第２、および第３熱電デバイスをアクティブにするタイミングを、インタラクティブプログラムにより生成される温度トリガデータに基づいて決定するための温度コントローラをさらに含む。
【００１２】
一実施形態では、第１、第２および第３熱電デバイスは、ユーザがコントローラを把持するときににユーザの肌に接触するように方向づけられたコントローラのハンドル部分に画定される。一実施形態では、第１、第２および第３熱電デバイスの同時にアクティブにすることにより、ユーザがコントローラのハンドル部分を把持するときに、サーマルグリルイリュージョンが生じる。
【００１３】
一実施形態では、コントローラは第１熱電デバイスと第２熱電デバイスの間に画定される第１絶縁体と、第２熱電デバイスと第３熱電デバイスの間に画定される第２絶縁体と、を含む。
【００１４】
一実施形態では、コントローラは第１、第２または第３熱電デバイスのアクティベーションに相互に関連づけられる色を発色するためのランプを含む。
【００１５】
一実施形態では、コントローラを操作中のユーザに温度フィードバックを提供するための方法が提供される。該方法は温度トリガデータの受信により開始される。コントローラの複数の第１表面領域は、温度トリガデータに基づき加熱される。コントローラの１以上の第２表面領域は温度トリガデータに基づき冷却される。この第２表面領域は第１表面領域と交互に隣り合うように配置されている。
【００１６】
一実施形態では、複数の第１表面領域の加熱および１以上の第２表面領域の冷却を同時に行うステップは、少なくとも１つの熱電デバイスをアクティブにするステップを含む。
【００１７】
一実施形態では、該方法は、コントローラの位置をトラッキングするステップと、トラッキングされたコントローラの位置に基づいて温度トリガデータを生成するステップと、を含む。
【００１８】
一実施形態では、第１表面領域の加熱および第２表面領域の冷却を同時に行うことにより、ユーザの肌が第１表面領域と第２表面領域に接触したときにサーマルグリルイリュージョンが生じる。
【００１９】
一実施形態では、該方法は、コントローラの発光された部分を照光するステップを含み、この照光ステップにおいて、温度トリガデータに基づく色が生成される。
【００２０】
一実施形態では、コントローラを操作中のユーザへ温度フィードバックを提供するための方法が提供される。該方法はインタラクティブアプリケーションの実行により開始される。次に、複数の交互に隣り合うコントローラの表面領域に対して加熱および冷却レベルをそれぞれ決定するための温度トリガデータが生成される。その後、この温度トリガデータはコントローラへ送信される。
【００２１】
一実施形態では、温度トリガデータを生成するステップは、所定の温度フィードバック構成に相互に関連づけられる、仮想環境内の仮想オブジェクトの現在地を決定するステップを含む。
【００２２】
一実施形態では、方法はコントローラの位置をトラッキングするステップを含み、このトラッキングされたコントローラの位置に基づいて温度トリガデータが生成される。
【００２３】
一実施形態では、交互に隣り合う表面領域の加熱および冷却を同時に行うことにより、この交互に隣り合う表面領域がユーザの肌に接触したときにサーマルグリルイリュージョンが生じる。一実施形態では、方法は、温度トリガデータに基づいて、コントローラの光源により表示される色を決定する光トリガデータを生成するステップを含む。この光トリガデータはコントローラへ送信される。本発明の他の態様は、例示のために本発明の原理を示す添付の図面と併せて、以下の詳細な説明を読めば明らかとなるであろう。 
本発明は添付の図面と併せて、以下の説明を読むことで理解されるであろう。
【図面の簡単な説明】
【００２４】
【図１】本発明の一実施形態による一般のインタラクティブシステムを示す説明図。
【図２】本発明の一実施形態による、インタラクティブプログラムとインタフェースするためのコントローラを示す説明図。
【図３】本発明の一実施形態による、加熱されるように構成された領域と、冷却されるように構成された領域とを有するコントローラを示す説明図。
【図４】本発明の一実施形態による、加熱されるように構成された領域と、冷却されるように構成された領域とを有するコントローラを示す説明図。
【図５】本発明の一実施形態による、モーションコントローラの構成要素を示す説明図。
【図６】本発明の一実施形態による、インタラクティブプログラムから温度フィードバックを提供するためのコントローラの構成要素を示した概略図。
【図７】本発明の一実施形態による、インタラクティブプログラムから温度フィードバックを提供するためのコントローラの構成要素を示した概略図。
【図８】本発明の一実施形態による、モーションコントローラへ温度フィードバックを提供するためのシステムを示す説明図。
【図９】本発明の一実施形態による、加熱されるように、または冷却されるように構成されたコントローラの表面の経時的なアクティベーションレベルを示すグラフの説明図。
【図１０】本発明の一実施形態による、三次元座標空間におけるコントローラを示す説明図。
【図１１Ａ】本発明の一実施形態による、外装アタッチメントおよび温度フィードバックを提供するためのコントローラを示す説明図。
【図１１Ａ−１】コントローラから取り外された図１１Ａの外装アタッチメントを示す説明図。
【図１１Ｂ】本発明の一実施形態による、図１１Ａの外装アタッチメントの一部分の断面図。
【図１２Ａ】本発明の一実施形態による、温度フィードバックを提供するためのコントローラの一部分の断面図。
【図１２Ｂ】本発明の一実施形態による、温度フィードバックを提供するためのコントローラの一部分の断面図。
【図１２Ｃ】本発明の一実施形態による、温度フィードバックを提供するためのコントローラの一部分の断面図。
【図１３】本発明の一実施形態による、モーションコントローラを操作中のユーザを示す俯瞰図。
【図１４】本発明の一実施形態による、温度フィードバックを提供するためのインタラクティブな環境を示す俯瞰図。
【図１５】本発明の一実施形態による、インタラクティブプログラムに対して入力するためのインタラクティブな環境を示す俯瞰図。
【図１６】本発明の一実施形態による、インタラクティブプログラムへ入力を提供するためのインタラクティブな環境を示す俯瞰図。
【図１７】本発明の一実施形態による、インタラクティブプログラムへ入力を提供するためのインタラクティブな環境を示す側面図。
【図１８】本発明の一実施形態による、拡張コネクタを備えたコントローラのハンドルの構成要素を示す説明図。
【図１９】一実施形態による、動作トラッキングを改善するためのセンサを備えたコントローラを示す説明図。
【図２０Ａ】本発明の一実施形態による、「リッチな」機能セットを備えたハンドルのアタッチメントを示す説明図。
【図２０Ｂ】図２０Ａのアタッチメントが図１８のコントローラに接続されている実施形態の説明図。
【図２１】本発明の一実施形態による、温度フィードバックを提供するために使用されうるユーザインタフェースおよびハードウェアの説明図。
【図２２】本発明の一実施形態による、命令を処理するために使用されうる追加のハードウェアの説明図。
【図２３】本発明の一実施形態による、シーンＡ〜シーンＥと、インターネットを介して処理サーバに接続されているゲームクライアント１１０２とインタフェース中のそれぞれのユーザＡ〜ユーザＥを例示的に示す説明図。
【図２４】情報サービスプロバイダ（ＩＳＰ:Information Service Provider）アーキテクチャの形態の説明図。
【発明を実施するための形態】
【００２５】
以下の実施形態では、インタラクティブプログラムとインタフェースするための方法および装置を記載する。
【００２６】
しかし、本発明を、このような詳細な内容の一部または全てを用いなくても実施しうることは当業者にとって自明である。場合によっては、本発明を不必要に曖昧にすることのないよう、公知の処理操作は詳述していない。
【００２７】
図１は本発明の一実施形態による一般のインタラクティブシステムの説明図である。システムはコンピュータ１０およびディスプレイ１２を含む。各種実施形態では、コンピュータ１０は汎用コンピュータ、特定用途コンピュータ、ゲームコンソール、またはディスプレイ１２に表示されるインタラクティブプログラムを実行するようなその他の装置であってもよい。当技術分野で周知のゲームコンソールの例には、ソニーコンピュータエンターテインメント社やその他のメーカにより製造されているものを含む。ディスプレイ１２はテレビ、モニタ、プロジェクタ、あるいはコンピュータ１０からのビデオ出力の受信と表示とが可能なその他のディスプレイやディスプレイシステムであってよい。ユーザ１６はコントローラ１４を操作することによりインタラクティブプログラムへの入力を行う。コントローラは、有線接続の場合よりも無線の場合により自由に動かすことが可能となるので、好適な実施形態では、コントローラ１４はコンピュータ１０と無線通信する。コントローラ１４はインタラクティブプログラムに入力するためのいずれの様々な機能を含むことができ、例えば、ボタンやジョイスティック、方向パッド、トリガ、タッチパッド、タッチスクリーンあるいはその他のタイプの入力装置などを含むことができる。コントローラの一例としては、ソニーコンピュータエンターテインメント社により製造されるソニーデュアルショック３（Sony Dualshock 3）コントローラが挙げられる。
【００２８】
さらに、コントローラ１４は、ユーザがインタラクティブプログラムとインタフェースできるようにし、さらに、コントローラを動かすことによりインタラクティブプログラムへの入力提供を可能にするモーションコントローラでありうる。モーションコントローラの一例としては、ソニーコンピュータエンターテインメント社により製造されるプレーステーションムーブ（Playstation Move）コントローラが挙げられる。モーションコントローラの位置や動作を検出するために様々な技術を用いることができる。例えば、モーションコントローラは加速度計、ジャイロスコープ、および磁力計などの様々な種類の動作検出ハードウェアを含みうる。ある実施形態では、モーションコントローラは固定参照物の画像をキャプチャする１台以上のカメラを含みうる。次いで、この１台以上のカメラによりキャプチャされた画像を解析することにより、モーションコントローラの位置と動作とが決定される。ある実施形態では、モーションコントローラは、定位置を有するカメラによりトラッキングされる照光される要素を含みうる。
【００２９】
図２は、本発明の一実施形態による、インタラクティブプログラムとインタフェースするためのコントローラの説明図である。コントローラ２０はインタラクティブプログラムへ入力を提供するための様々なボタン２２およびトリガ２４とを含む。また、コントローラ２０は、様々な色で照光されうるアタッチメント２６を含む。コントローラ２０は、ユーザが把持するためのハンドル部分２７を含み、このハンドル部分には加熱または冷却されうる各種領域が画定される。例示の実施形態では、領域２８ａ、２８ｂ、２８ｃおよび２８ｄの各々は加熱されるように構成され、領域３０ａ、３０ｂ、３０ｃおよび３０ｄの各々は冷却されるように構成される。図示しているように、領域２８ａ、２８ｂ、２８ｃおよび２８ｄの各々は領域３０ａ、３０ｂ、３０ｃおよび３０ｄと交互に隣り合うように配置されており、これらの領域はユーザがコントローラを把持するときにユーザの肌に接触するように構成されている。
【００３０】
領域２８ａ〜２８ｄおよび３０ａ〜３０ｄの加熱および冷却は、コントローラ２０に含まれる温度モジュール３２により行われる。温度モジュール３２は、領域２８ａ、２８ｂ、２８ｃおよび２８ｄを加熱するための加熱源３４を含む。さらに、該温度モジュールは、領域３０ａ、３０ｂ、３０ｃおよび３０ｄを冷却するための冷却源３６を含む。加熱源３４および冷却源３６は温度コントローラ３８により制御される。温度コントローラ３８は、加熱源３４および冷却源３６をアクティブにするタイミングに加えてこれらのアクティベーションレベルを決定する。これにより、領域２８ａ〜２８ｄを加熱するタイミングとレベル、および３０〜３０ｄを冷却するタイミングとレベルが制御される。
【００３１】
当業者であれば、領域２８ａ〜２８ｄの加熱と領域３０ａ〜３０ｄの冷却を様々な方法で操作し、調整することができる。例えば、領域２８ａ、２８ｂ、２８ｃおよび２８ｄの各々が同時に加熱されるように該領域の加熱を調整することができる。あるいは、領域２８ａ〜２８ｄのうちの１つの領域の加熱が他の領域２８ａ〜２８ｄの加熱とは異なるように、これらの領域を個々に制御して加熱するようにしてもよい。同様に、領域３０ａ、３０ｂ、３０ｃおよび３０ｄの各々の領域を同時に冷却すようにしてもよいし、該領域を冷却することで実現したい所望の効果に応じて独自の方法で冷却するようにしてもよい。＃例えば、コントローラ２０を把持しているユーザに対して熱感を与えるために、領域２８ａ〜２８ｄを温度モジュール３２により加熱するようにしてもよい。この間、領域３０ａ〜３０ｄは非アクティブ状態である。同様に、ユーザに冷感を与えるために、領域３０ａ〜３０ｄを温度モジュール３２により冷却するようにしてもよい。その間、領域２８ａ〜２８ｄは非アクティブ状態である。また、ハンドル部分２７に沿って各々の領域を選択的に加熱および冷却することにより、コントローラ２０のハンドル部分２７にわたり温度勾配を生じさせることができる。例えば、領域２８ａを高レベルに、領域２８ｂを低レベルにそれぞれ加熱し、領域３０ｃを低レベルに、さらに、領域３０ｄを高レベルにそれぞれ冷却することにより温度勾配を実現することができる。
【００３２】
さらに、一実施形態では、領域２８ａ〜２８ｄが加熱され、一方で、領域３０ａ〜３０ｄが同時に冷却される。これにより、ユーザがコントローラ２０を把持し、加熱領域と冷却領域に同時に接触するときにサーマルグリルイリュージョンが生じることがある。このサーマルグリルイリュージョンとは、痛みや組織損傷を引き起こすほど十分に熱いあるいは冷たい面に実際には接触していないにもかかわらず、ユーザに対して痛みや焼け付くような感覚を出現させる現象である。
【００３３】
その他の各種実施形態では、所望の温度フィードバック効果を実現するために、領域２８ａ〜２８ｄと３０ａ〜３０ｄの各々を方法や構造を問わず（各種のオン／オフ状態やレベルを含む）加熱および冷却することができることから、上記の実行可能な加熱構造および冷却構造は単なる例示である。さらに、例示の実施形態を参照して領域２８ａ〜２８ｄおよび領域３０ａ〜３０ｄが記載されているが、加熱および冷却されるように構成された特定領域の数が変更可能であることは明らかであろう。サーマルグリルイリュージョンを実現するには、コントローラは、加熱されるように構成された少なくとも２つの領域と、冷却されるように構成された少なくとも１つの領域を有する必要がある。しかし、本発明の他の実施形態では、コントローラは、加熱および冷却されるように構成された領域を幾つでも有することができ、加熱領域と冷却領域の各々は交互に隣り合うように配置されている。
【００３４】
また、アタッチメント２６は、各種領域に適用される加熱または冷却の方法に対応する方法で発光されうる。例えば、一実施形態では、アタッチメントは、領域３０ａ〜３０ｄだけが冷却されるときは青色を表示するように、領域２８ａ〜２８ｄだけが加熱されるときは黄色／オレンジ色を表示するように、さらに、領域２８ａ〜２８ｄおよび３０ａ〜３０ｄがそれぞれ加熱および冷却されるときは赤色を表示するように照光される。このようにして、アタッチメント２６により表示される色は、コントローラ２０が冷たいときは青系統の色域から、コントローラ２０が暖かいときは黄色／オレンジ系統の色域へと変化し、コントローラ２０がサーマルグリルイリュージョンをもたらしているときは、赤系統の色域へと変化する。さらに、１つの色から別の色へは連続的に遷移しうる。また、この色の遷移は各々の領域の加熱および冷却構造の変化と相互に関連づけられる。上記は、領域２８ａ〜２８ｄおよび３０ａ〜３０ｄを介して提供される温度フィードバックを使用したアタッチメント２６の発光調整の一例に過ぎない。他の実施形態では、アタッチメント２６により表示される特定の色を領域２８ａ〜２８ｄおよび３０ａ〜３０ｄの各種の温度構造といずれの方法で相互に関連づけて、コントローラ２０により提供される温度フィードバックを視覚的に示すようにしてもよい。
【００３５】
さらに、加熱するように構成された領域および冷却するように構成された領域は、加熱領域と冷却領域とが互いに交互に隣り合うのであれば、どのような方法で配列されてもよい。例えば、図３は、加熱するように構成された領域４２および冷却するように構成された領域４４を有するコントローラ４０を示す説明図である。領域４２および領域４４は格子状に配列されてコントローラ４０のハンドル部分にわたって配置されている。
【００３６】
別の実施形態では、図４は、加熱するように構成された領域５２および冷却するように構成された領域５４を有するコントローラ５０を示す説明図である。例示の実施形態に示すように、領域の各々はコントローラ５０のハンドル部分に分散された個々の幾何学形状（例えば、正方形）部により構成される。加熱領域５２の各々は、冷却領域５４の少なくとも１つに隣接し、これと交互に並んでいる。領域の各々は、加熱領域と冷却領域とが互いに干渉することなく効率的に各々を加熱または冷却することができるように、加熱領域５２を冷却領域５４から絶縁する、絶縁体５６に画定される。
【００３７】
絶縁体５６は、加熱領域５２と冷却領域５４間および／あるいはそれらの周囲を断熱するのに適した材料であればどのような材料で構成されてもよい。さらに、好適な実施形態では、絶縁体５６は加熱および冷却領域の熱膨張および収縮に適切に対処し、さらに、繰り返される熱サイクルにわたっての耐久性がある。さらに、絶縁体５６は、ユーザがしっかりと握ることができるように、ユーザの肌に対して摩擦を与えるように構成されてもよい。この点は、加熱領域および冷却領域の表面がすべりやすくつるつるしており、しっかりと握ることができないときに重要となりうる。握りやすくするように、絶縁体５６はテクスチャ加工されていてもよく、例えばくぼみや握りなどの特徴が付けられていてもよい。絶縁体５６は、硬いプラスチック、柔らかいプラスチック、ゴム引きプラスチック、ポリマー、ゴムおよびその他の材料などの様々な材料を含みうる。また、これらの材料は人の手に合うように形成されうる。
【００３８】
ある実施形態では、絶縁体５６は照光されるように構成される。絶縁体５６は、光源により照光される、透明あるいは半透明の材料から構成されうる。他の部分に記載しているように、照光の色や強度は加熱領域５２および冷却領域５４を介して提供される温度フィードバックの程度やレベルに相互に関連づけられうる。温度フィードバックの程度やレベルは、ある期間の間に、または、あるゲームセッションの間に、絶縁体５６の色合いを徐々にあるいは次第に変化させることにより示されうる。
【００３９】
図５は本発明の一実施形態によるモーションコントローラの構成要素を示す説明図である。コントローラは、プログラム命令を記憶し実行するためのメモリ６２とプロセッサ６０とを含む。コントローラは、無線通信モジュール６４を介してインタラクティブプログラムを実行中のコンピュータあるいはコンソールと無線通信する。一実施形態では、無線通信はBluetooth（登録商標）通信プロトコルを利用するが、別の実施形態では、その他の無線通信技術を利用してもよい。コントローラは、ボタン６６など、入力を受信するための各種機構を含む。さらに、コントローラは、加速度計７０、ジャイロスコープ７２および磁力計７４からの入力を検出するためのモーションセンサモジュール６８を含む。これらの入力機構により、ユーザはコントローラを操作することにより入力を提供することができる。
【００４０】
熱的効果モジュール７６は、コントローラにより提供される温度フィードバックを管理するために提供される。ユーザがインタラクティブプログラムとインタラクトしているときに（例えば、ボタン６６を操作することにより、あるいはコントローラを動かすことによりインタラクティブプログラムへ入力を提供する）、インタラクティブプログラムはユーザへ提供するための温度フィードバックの種類およびレベルを決定する。この情報は無線でコントローラへ伝えられる。この熱的効果モジュール７６はプロセッサ６０と通信しており、コントローラにより提供される温度フィードバックの種類およびレベルに関する命令を受信する。熱的効果モジュール７６は、受信した命令に基づいて、コールドコントローラ７８またはヒートコントローラ８０の操作を指示する。
【００４１】
冷却コントローラ７８は、電源８２と１以上の熱電デバイス８６とのインタフェースとなる。熱電デバイスとは、電位を温度差に変換する装置である。この効果はペルチェ効果として周知である。熱電デバイスの一例としては、ペルチェクーラまたはペルチェ素子がある。これは、アクティブにされると、一方に熱が発生し、反対側が吸熱されるものである（従って、反対側が冷却される）。熱電デバイスと材料の更なる説明および例は、２００８年５月１１日〜１４日に開催された第２６回ミクロ電子工学に関する国際会議の議事録、３２９〜３３２ページに記載の、Ｇｏｕｌｄ等による、「A comprehensive review of thermoelectric technology, micro-electrical and power generation properties」に記載されており、上記内容は参照のために全体が本願に組み込まれている。
【００４２】
熱電デバイス８６は、アクティブにされたときに、熱電デバイス８６の外側を向いた部分が冷却されるようにコントローラの表面に配置される。このようにすることで、これと同時に、熱電デバイス８６の内側を向いた部分が加熱される。よって、冷却コントローラ７８は、熱的効果モジュール７６からの信号を受けて、熱電デバイス８６に電力を供給するために電源８２を係合して熱電デバイス８６をアクティブにしてもよいし、アクティベーションレベルを調整するようにしてもよいし、熱電デバイス８６を非アクティブにしてもよい。同様に、ヒートコントローラ８０は電源８２と熱電デバイス８４間のインタフェースとなる。熱電デバイスは、熱電デバイス８４がアクティブにされると加熱される、外側を向いた面を有するように、コントローラの表面に配置される。従って、これらの熱電デバイス８４の内側を向いた面が同時に冷却される。ヒートコントローラ８０は、熱効果モジュール７６から受信した信号を受けて、熱電デバイス８４をアクティブにし、調整し、あるいは非アクティブにする。
【００４３】
熱電デバイス８４および８６は絶縁体９０により分離される。絶縁体９０は熱電デバイス８４と熱電デバイス８６の熱移動を阻止し、各々のデバイスが互いに干渉することなく効率的に加熱および冷却されるようにしている。絶縁体９０は、隣接する熱電デバイス間の著しい熱移動を回避することができるものであればどのような材料から構成されてもよい。さらに、好ましい材料とは、コントローラ寿命を通じて、繰り返される熱サイクルに対して適切な耐久性および回復力を示すものである。
【００４４】
コントローラは、図２のアタッチメント２６などのアタッチメントを発光させるために使用されうる、１以上のＬＥＤ９４の発光を制御する発光効果モジュール９２をさらに含む。インタラクティブプログラムは、コントローラにより表示される色を決定し、さらに、コントローラへ命令を送信する。発光効果モジュール９２は、決定された色を生成し、ＬＥＤ９４の各々にその色を生成させるようにする。生成された特定の色を熱電デバイス８４および８６の特定のアクティベーション構造に同期させるようにしてもよい。
【００４５】
図６は本発明の一実施形態による、インタラクティブプログラムから温度フィードバックを提供するためのコントローラの構成要素を示した概略図である。コントローラは、プログラム命令を記憶し実行するためのメモリ１０２とプロセッサ１００とを含む。コントローラは、コントローラの表面に特定の温度構造を生成するための命令に応じて熱電デバイス１０６、ヒートスイッチ１０８、コールドスイッチ１１４の操作を制御するための温度コントローラ１０４をさらに含む。簡素化のために例示の実施形態では、熱電デバイス、ヒートスイッチおよびコールドスイッチの各々の１つを示しているが、各種の実施形態では１つ以上の熱電デバイス、ヒートスイッチまたはコールドスイッチが存在してもよい。
【００４６】
熱電デバイス１０６は温度コントローラ１０４によりアクティブにされると、一方で熱を発生させ、(反対側から吸熱することにより）反対側を冷却する。熱電デバイス１０８の加熱側はヒートスイッチ１０８に接続される。ヒートスイッチ１０８は温度コントローラ１０４により制御され、熱電デバイス１０８により生成された熱を表面領域１１０かヒートシンク１１２のいずれかに向かわせる。ヒートシンク１１２は、コントローラの表面から熱を吸収あるいは分散するデバイスであればどのようなデバイスであってもよい。熱電デバイス１０６の冷却側はコールドスイッチ１１４に接続され、温度コントローラ１０４により決定されたように、領域１１６かコールドシンク１１８のいずれかに冷気を向かわせる。コールドシンクは、コントローラの表面から冷気を吸収あるいは分散するデバイスであればどのようなデバイスであってもよい。ある実施形態では、コールドシンク１１８は、プロセッサ１００などのプロセッサや、熱を生成するその他の搭載デバイスであってよい。領域１１０は加熱されるように構成されたコントローラの表面領域を構成する一方、領域１１６は冷却されるように構成された表面領域を構成する。
【００４７】
例示の実施形態はユーザに様々な温度フィードバック感覚を提供するためのフレキシブル構造を提供する。例えば、表面領域１１０を加熱するだけで暖かい／熱い感覚を提供することができる。このために、熱電デバイス１０６がアクティブにされ、熱を領域１１０に向かわせるようにヒートスイッチ１０８が制御される。一方で、熱電デバイス１０６により生成された冷気がコールドシンク１１８に向かうようにコールドスイッチ１１４が制御される。あるいは、表面領域１１６を冷却するだけで冷たい感覚を提供することができる。このことは、熱電デバイス１０６をアクティブにし、領域１１６に冷気が向かうようにコールドスイッチ１１４を制御する一方で、熱電デバイス１０６により生成された熱をヒートシンク１１２に向かわせるようにヒートスイッチ１０８を制御することにより実現される。熱電デバイスをアクティブにし、領域１１０へ熱を向かわせるようにヒートスイッチを制御し、領域１１６に冷気が向かうようコールドスイッチ１１４を制御することでサーマルグリルイリュージョンが実現されうる。
【００４８】
別の実施形態では、領域１１０および１１６の各々は加熱および冷却されるように構成されうる。このことは、例えば、領域１１０および１１６の各々が少なくとも１つのコールドスイッチおよび少なくとも１つのヒートスイッチに接続されるようにすることで実現されうる。そのような構成の一実施形態では、領域１１０と１１６の各々が別々に加熱または冷却されるように各々の領域は個別に制御されてよい。そのような構成では、それぞれの領域の温度を別々に制御することにより、非常に厳密な温度勾配、サーマルグリルイリュージョン、およびその他のタイプの温度構成を異なる領域１１０および１１６にわたって実現することができる。
【００４９】
図７は、本発明の一実施形態による、インタラクティブプログラムから温度フィードバックを提供するためのコントローラの構成要素を示した概略図である。コントローラは、命令を記憶し実行するためのメモリ１２０とプロセッサ１２０とを含む。温度コントローラ１２４は、熱電デバイス１２６と１３０の操作を制御するだけでなく、温度スイッチ１３４と１３６の操作も制御する。熱電デバイス１２６がアクティブにされると、該熱電デバイスは一方の側に熱を発生させて表面領域１２８を加熱し、反対側に冷気を発生させる。この冷気は温度スイッチ１３４を介して領域１３２またはコールドシンク１３８のいずれかに向けられる。同様に、熱電デバイス１３０がアクティブにされると、該熱電デバイスは一方の側に冷気を発生させて表面領域１２８を冷却し、反対側に熱を発生させる。この熱は温度スイッチ１３６を介して領域１２８またはコールドシンク１４０のいずれかに向けられる。
【００５０】
熱電デバイス１２６により生成された冷気を熱電デバイス１３０により生成された冷気よりも冷たくすることができ、熱電デバイス１３０により生成された熱を熱電デバイス１２６により生成された熱よりも熱くすることができることから、本発明は表面領域１２８および１３２に対して可能な加熱および冷却構造を提供する。例えば、領域１２８を加熱するために熱電デバイス１２６をアクティブにして領域１２８だけを加熱し、ヒートスイッチ１３４を制御して熱電デバイス１２６により生成される冷気をコールドシンク１３８へ向かわせることができる。同様に、領域１３２を冷却するために熱電デバイス１３０をアクティブにして領域１３２だけを冷却し、ヒートスイッチ１３６を制御して熱電デバイス１３０により生成された熱をヒートシンク１４０へ向かわせることができる。また、上述の操作を組み合わせて領域１２８および１３２をそれぞれ加熱および冷却することもでき、これによりユーザにサーマルグリル効果を提供することができる。
【００５１】
また、熱電デバイス１２６により生成された冷気が領域１３２に向かうよう温度スイッチ１３４を制御し、熱電デバイス１３０により生成された熱を領域１２８に向かわせるように温度スイッチ１３６を制御することにより、領域１２８および１３２をそれぞれ最大に加熱および冷却することもできる。このようにして、熱電デバイス１３４および１３６により生成された冷気および熱はそれぞれ、領域１２８および１３０をそれぞれ加熱および冷却するために他の熱電デバイスにより生成された冷気や熱よりも冷たくするように、または熱くするように使用される。コールドシンク１３８に冷気を向かわせるように温度スイッチ１３４を操作し、領域１２８に熱が向かうよう温度スイッチ１３６を操作する間に熱電デバイス１２６および１３０をアクティブにすることにより、領域１２８の各々を最大に加熱し、領域１３２の各々を適度なレベルにまで冷却することができる。同様に、領域１３２の各々に冷気を向かわせるように温度スイッチ１３４を操作し、ヒートシンク１４０に熱を向かわせるように温度スイッチ１３６を操作する間に熱電デバイス１２６および１３０をアクティブにすることにより、領域１３２の各々を最大に冷却し、領域１２８の各々を適度なレベルにまで加熱することができる。
【００５２】
図８は本発明の一実施形態による、モーションコントローラへ温度フィードバックを提供するためのシステムを示す説明図である。システムは、コンソール１５０、ディスプレイ１６０、カメラ１６２、およびモーションコントローラ１６４を含む。コンソール１５０は、様々な入力を受信し、様々な種類のフィードバックデータを出力するインタラクティブアプリケーションを実行する。また、インタラクティブアプリケーション１５４は、ディスプレイ１６０に表示するための音声データ１５６およびビデオデータ１５８を出力する。一実施形態では、インタラクティブアプリケーション１５４はテレビゲームであってもよい。また、別の実施形態では、インタラクティブアプリケーション１５４はユーザとインタラクトしうるものであればどのような種類のプログラムやアプリケーションであってもよい。
【００５３】
モーションコントローラ１６４は、加速度計、ジャイロスコープあるいは磁力計などの様々な動作検知ハードウェアからデータを検出し、対応する動作検知データ１６８をコンソール１５０の動作検出モジュール１５２へ送信する動作検知モジュール１６６を含む。さらに、動作検出モジュール１５２は、モーションコントローラの画像ストリームをキャプチャするカメラ１６２からのデータを受信する。動作検出モジュール１５２は、キャプチャした画像ストリームおよび動作検知データ１６８を分析し、モーションコントローラ１６４の位置、方向、および動作を決定するようにする。データはインタラクティブアプリケーション１５４への入力として提供される。さらに、モーションコントローラは、ボタン１７０を含む。ボタン１７０がアクティブにされると、コントローラ１６４は対応するボタンデータ１７２を生成し、このボタンデータ１７２をインタラクティブアプリケーション１５４の入力として送信する。
【００５４】
インタラクティブアプリケーション１５４を実行しているときに、様々な種類のフィードバックデータを生成する。例えば、インタラクティブアプリケーションは、モーションコントローラ１６４により表示されるべき色を指示するカラーインジケータデータ１７４を生成する。カラーインジケータデータ１７４は、モーションコントローラ１６４の光／色モジュール１７６へ送信される。光／色モジュール１７６は、所望の色を表示するためにカラーインジケータデータ１７４に基づいて１以上のカラーＬＥＤなどの光源をアクティブにして制御する。一実施形態では、アタッチメントまたはモーションコントローラ１６４の一部を照光することにより色が表示される。また、インタラクティブアプリケーション１５４は、モーションコントローラ１６４によって提供される振動フィードバックに対するパラメータを示す振動フィードバックデータ１７８を生成する。振動フィードバックデータ１７８は、モーションコントローラ１６４の振動モジュール１８０に送信される。この振動モジュールは、所望の振動フィードバックをモーションコントローラ１６４において生成するための機構を操作するものである。
【００５５】
さらに、インタラクティブアプリケーション１５４は、温度トリガデータ１８２を生成する。この温度トリガデータは、モーションコントローラ１６４を介してユーザに温度フィードバックを提供するためのパラメータを示すものである。温度トリガデータ１８２は、温度効果モジュール１８４へ送信される。この温度効果モジュールは、所望の温度効果フィードバックを生成するために各種の温度ハードウェアをアクティブにして制御する。本文の他の箇所に記載したように、温度フィードバック効果は、加熱や冷却、そして特にサーマルグリルイリュージョン効果の様々な状態を含みうる。光／色フィードバック、振動フィードバック、および温度フィードバックを含む様々な種類のフィードバックを様々な組合せで相互に同期させて、ユーザに多角的な視覚および内臓フィードバック体験を伝えるようにしてもよい。
【００５６】
図９は、本発明の一実施形態による、加熱または冷却されるように構成されたコントローラの表面に対する経時的なアクティベーションレベルを示したグラフである。曲線１９０は冷却されるように構成された表面に対するアクティベーションレベルであり、曲線１９２は加熱されるように構成された表面に対するアクティベーションレベルである。当業者であれば、各々の表面に対するアクティベーションレベルは経時的に変化しうるものであることが分かるであろう。例えば、時間１９４の間はどちらの表面もアクティブにされない。時間１９６では、ヒートフィードバックを最大にするために加熱された表面だけが最大レベルにまでアクティブにされる。一方で、時間１９８では、冷たいフィードバック最大にするために、冷却された表面だけが最大レベルにまでアクティブにされる。時間２００では、この冷たくされた表面および熱くされた表面がそれぞれの最大レベルにまでアクティブにされる。これにより、上述のように表面の各々が交互に隣り合うように構成されているときにサーマルグリルイリュージョンが生じる。
【００５７】
時間、１９４、１９６、１９８、および２００では、表面の各々は原則的にはオン・オフの二進法でアクティブにされる。しかし、本発明の各種の実施形態により、アクティベーションレベルは連続的に変化するものであってもよいし、いずれのレベルを超えるものであってもよい。例えば、時間２０２の間に、冷たくされた表面と熱くされた表面のアクティベーションレベルは経時的に連続して変化する。特定の時間２０４では、加熱された表面は最大アクティベーションからゼロアクティベーションへと低下しており、一方でこれと同時に、冷却された表面はゼロアクティベーションから最大アクティベーションへと増加している。ユーザに様々な温度フィードバックの知覚体験をさせるために、加熱された表面と冷却された表面の各々を、ゼロ、中程度、および最大アクティベーションレベルを含む様々な組合せにおいて、いずれのアクティベーションレベルにまで同時にアクティブにすることができる。
【００５８】
図１０は、本発明の一実施形態による、三次元座標空間におけるコントローラを示す説明図である。図示しているように、コントローラ２１０は三次元の現実世界の座標空間（ｘ、ｙ、ｚ）に存在する。コントローラの位置と動作とは本文中に記載した方法および装置に従いトラッキングされる。コントローラの現在位置は（９、１０、５）である。本発明の各種実施形態においては、現実世界の座標空間におけるコントローラの動作が仮想空間における動作に相互に関連づけられるように、現実世界の座標空間が三次元の仮想空間にマッピングされうる。仮想空間は、仮想空間内の特定の場所、あるいは、特定の物体の近くへ移動することで、コントローラが温度フィードバックを提供するように構成されうる。
【００５９】
例えば、図示しているように、現実世界空間に相互に関連づけられる仮想空間では、ドアノブ２１４を有するドア２１２が存在しうる。仮想空間におけるドアノブの位置は、現実世界の座標空間（１０、６、１）に相互に関連づけられたものであってもよい。従って、コントローラ２１０が相互に関連づけられたドアノブの位置に移動すると、コントローラ２１０はユーザに対して温度フィードバックを提供することがあり、これは、ドアノブがある特定の温度であるということを示す。例えば、仮想空間のドアの後ろで火が燃えていれば、コントローラの表面を加熱する、またはサーマルグリルイリュージョンを提供する、などによりドアノブが熱いということをユーザに示す温度フィードバックを提供するためにコントローラが加熱されうる。
【００６０】
図１１Ａは本発明の一実施形態による、温度フィードバックを提供するための外装アタッチメントを示す説明図である。図示しているように、コントローラ２２０はデータポート２２２を含む。外装アタッチメント２２４は、コントローラ２２０のハンドル部分を囲むようにコントローラ２２０に取り付けられ、ケーブル２２６を介してデータポート２２２に接続される。外装アタッチメントは、表面領域２２５ａの加熱や表面領域２２５ｂの冷却を別々に、あるいは組み合わせて行うなどの温度フィードバック機構を提供するように構成されている。図１１Ａ−１は、コントローラ２２０から取り外された外装アタッチメント２２４を示す説明図である。外装アタッチメント２２４はコントローラ２２０の付属品であり、コントローラ２２０から着脱可能なように構成されてよい点に留意されたい。
【００６１】
図１１Ｂは本発明の一実施形態による、図１１Ａの外装アタッチメント２２４の一部分２２８を示す断面図である。外装アタッチメント２２４は熱電デバイス２３４を互いに断熱する絶縁材料２３０を含む。熱電デバイスは領域２２５ａと２２５ｂの各々をそれぞれ加熱または冷却するようにアクティブにされる。コントローラ２３２はコントローラ２２０のデータポート２２２に動作可能に接続されており、熱電デバイス２３４の操作を制御する。外装アタッチメント２２４は、熱電デバイス２３４を制御し、さらに該デバイスに電力を供給するために、制御データおよび制御電源をデータポート２２２経由で受信する。
【００６２】
図１２Ａは本発明の一実施形態による温度フィードバックを提供するためのコントローラの一部分を示す断面図である。導体２４０および２４２はそれぞれ加熱および冷却されるように構成される。導体２４０および２４２の外部露出部分には、コントローラを把持するユーザの肌に接触したときに温度フィードバックを提供する表面領域が画定される。導体２４０および２４２は、導体２４０および２４２を別々に効率よく加熱および冷却するために、断熱材２４４により分離される。導体２４０および２４２は、熱を効率的に移動させる材料であればどのような材料から構成されてもよく、これにはアルミニウムなどの様々な金属が含まれてよい。また、断熱材２４４は、導体２４０および２４２間の熱移動を効果的に阻止する材料であればどのような材料から構成されてもよく、これには各種のポリマーが含まれてよい。また、断熱材２４４は、導体２４０および２４２の熱膨張と収縮とに耐えることができるように適度に柔軟性があるものであってもよい。
【００６３】
図１２Ｂは本発明の一実施形態による温度フィードバックを提供するためのコントローラの一部分を示す断面図である。熱電デバイス２５０および２５２は、表面領域２５６の各々をそれぞれ加熱または冷却するように構成される。熱電デバイス２５０および２５２は断熱材２５４により分離される。
【００６４】
図１２Ｃは本発明の一実施形態による温度フィードバックを提供するためのコントローラの一部分を示す断面図である。導体２６０および２６２はそれぞれ加熱および冷却されるように構成されており、さらにこれらは断熱材２６４により分離される。当業者にとっては、導体および断熱材の形状および寸法はかなりの程度まで異なってもよいことは明らかであろう。比較として、図１２Ｃの導体２６０と２６２は図１２Ａの導体２４０と２４２と比べると著しく小さい。その他の各種実施形態では、導体の各々はユーザに対して温度フィードバックを提供するのに十分であればどのような寸法や形状であってもよい。
【００６５】
図１３は本発明の一実施形態による、モーションコントローラを操作中のユーザを示す俯瞰図である。ユーザ２７０はディスプレイ２７４に表示されるインタラクティブアプリケーションを見る。ユーザは、モーションコントローラ２７２を操作し動かすことにより入力を提供するとともにインタラクティブアプリケーションとインタラクトする。一実施形態では、インタラクティブプログラムは、ある特定の空間の領域にモーションコントローラを配置すると、モーションコントローラ２７２において特定の種類の温度フィードバックがアクティブにされるように構成されうる。例えば、例示の実施形態では、領域２７６でコントローラを操作しても温度フィードバックも生成されない。一方で、領域２７８、２８０、および２８２へコントローラ２７２を移動させると、熱いまたは冷たい温度フィードバックのレベルが上昇する。一実施形態では、コントローラ２７２が領域２８２へ移動すると、コントローラ２７２においてサーマルグリルイリュージョンがアクティベートする。この領域は仮想空間のオブジェクトまたは構成要素に相互に関連づけられうる。
【００６６】
例えば、一実施形態では、領域２８２はユーザ２７０がディスプレイ２７４に表示されるインタラクティブアプリケーションにおいて見ることができない物体に相互に関連づけられる。ユーザ２７０は、コントローラ２７２を動かし、物体の場所を示す温度フィードバックを受信することにより物体の位置を探し出すことができる。例えば、ユーザが領域２７８および２８０を通じてコントローラ２７２を移動させるときに、インタラクティブアプリケーションはコントローラに対して加熱または冷却レベルを上げるように指示を出し、コントローラが領域２８２に配置されたときに加熱または冷却レベルが最大に達する。一例では、インタラクティブアプリケーションとはテレビゲームであり、物体とはユーザが探さなければならない幽霊である。コントローラが領域２７８、２８０、および２８２に配置されるにつれてコントローラは段々と冷たくなる。これは幽霊の存在を示す。
【００６７】
図１４は本発明の一実施形態による、温度フィードバックを提供するためのインタラクティブ環境を示す俯瞰図である。ユーザ２７０はディスプレイ２７４に表示されるインタラクティブアプリケーションとインタラクトし、モーションコントローラ２７２を操作することにより入力を提供する。領域２９０、２９２、２９４、および２９６は、コントローラ２７２をこれらの領域のうちの１つに配置することにより、コントローラ２７２の表面領域に温度フィードバックが提供されるように画定される。例えば、ユーザ２７０がコントローラ２７２を領域２９０、２９２、２９４および２９６を通じて前方に操作しているときは、コントローラ２７２は、加熱レベルまたは冷却レベルを上昇させたものを温度フィードバックとしてユーザ２７０へ提供しうる。コントローラ２７２においてサーマルグリルイリュージョンが提供されるように、１以上の領域２９０、２９２、２９４または２９６が構成されてもよい。
【００６８】
図１５を参照すると、本発明の一実施形態による、インタラクティブプログラムへの入力を提供するインタラクティブ環境の俯瞰図が示されている。インタラクティブプログラムはディスプレイ２７４に表示される。区間つまりゾーン３００、３０２、３０４、および３０６の各々は、コントローラがこれらの特定ゾーン内に位置するときにコントローラの温度フィードバックが決定される空間領域を画定する。図示している実施形態では、４名のユーザ３０８、３１０、３１２、および３１４がそれぞれコントローラ３０９、３１１、３１３および３１５を把持した状態で示されている。ユーザ３０８、３１０、３１２、および３１４の各々はそれぞれゾーン３００、３０２、３０４および３０６に位置した状態で示されている。ゾーンの各々はディスプレイ２７４の周りに略放射状に配置されている。
【００６９】
一実施形態では、ゾーン３００、３０２、３０４、および３０６の各々はそれぞれコントローラ３０９、３１１、３１３および３１５の各々に対する指定ゾーンとして、さらには、コントローラの各々に関連付けられたユーザの指定ゾーンとして機能する。各ユーザに対して指定された空間ゾーンを実装することにより、ユーザの各々が互いに妨害しないように、あるいは互いに干渉しないようにすることができる。例えば、ユーザ３５４が自身のコントローラ３５５をその指定ゾーン３４６の範囲外で、および隣接するゾーン３４４か３４８のいずれかで操作していれば、インタラクティブプログラムは温度フィードバック機構をアクティブにするようにコントローラ３５５へ伝え、これによりユーザ３５４は、自身のコントローラ３５５がその指定ゾーンにないことを知らされる。このようにして、インタラクティブプログラムの複数のユーザの位置決めにおける秩序性を高めることができる。
【００７０】
図１６を参照すると、本発明の一実施形態による、インタラクティブプログラムへの入力を行うインタラクティブ環境の俯瞰図が示されている。インタラクティブプログラムはディスプレイ２７４に表示される。コントローラ３６０は対応するゾーン３６２、３６４、３６６、および３６８を有する。各ゾーンは、コントローラが特定ゾーンに配置されるときにコントローラの温度フィードバックのアクティベーションが決定される空間領域を画定する。図示しているように、ゾーン３６２、３６４、３６６および３６８の各々は同心円状に配置されている。従って、コントローラ３６０がこれに対応する、中心に最も近いゾーン３６２から外側に動かされるときは、コントローラはゾーン３６４、３６６および３６８の順番で通過することになる。同様に、第２コントローラ３７０は対応するゾーン３７２、３７４、３７６および３７８を含む。また、これらのゾーン３７２、３７４、３７６および３７８も同心円状に配置されている。領域Ａ、Ｂ、ＣおよびＤに示すように、２つのコントローラ３６０および３７０に対応する同心円ゾーンは様々な方法で相互に交差する。領域Ａは、コントローラ３６０に対応するゾーン３６４と、コントローラ３７０に対応するゾーン３７８とが交差する部分である。領域Ｂは、コントローラ３６０に対応するゾーン３６６と、コントローラ３７０に対応するゾーン３７８とが交差する部分である。領域Ｃは、（コントローラ３６０の）ゾーン３６６と（コントローラ３７０の）ゾーン３７６とが交差する部分である。領域Ｄは、（コントローラ３６０の）ゾーン３６８と（コントローラ３７０の）ゾーン３７６とが交差する部分である。従って、同一の空間位置が一方のコントローラの１つのゾーンに対応し、さらに他方のコントローラの別のゾーンにも対応する場合がある。
【００７１】
現在例示している実施形態では、部分的に重なるゾーンを有する２つのコントローラに関して記載されているが、他の実施形態では、様々な方法で構成されたゾーンを有する２以上のコントローラが存在してもよい。各々のゾーンは各コントローラに対して同一のものであってもよい。あるいは、各々のゾーンは、各々のゾーンが影響を及ぼす温度フィードバックの機能性に応じて各特定のコントローラに対して異なるものであってもよい。例えば、多人数参加型ゲームでは、各プレーヤの役割はそれぞれ異なるものであってもよい。また、各プレーヤは、キャラクタのタイプ、武器等、などをカスタマイズ可能なオプションを有することができる。このような多様な形態を特徴とする多人数参加型ゲームにおいては、温度フィードバックの機能性を各コントローラに及ぼすために、一連の異なるゾーンが利用されうる。したがって、各プレーヤは、各々のコントローラデバイスに割り当てられた一連の異なるゾーンを有しうる。これらのゾーンは、各コントローラデバイスに対するゾーンの位置に応じて様々な方法で部分的に重なり合ってもよい。
【００７２】
図１７を参照すると、本発明の一実施形態による、インタラクティブプログラムへ入力を提供するためのインタラクティブ環境の側面図が示されている。インタラクティブプログラムはディスプレイ２７４に表示される。ゾーン３８０、３８２、３８３、３８４、３８６、３８８、３９０および３９２の各々は、コントローラ２７２が特定ゾーンに配置されるときにコントローラ２７２の温度フィードバック機構のアクティベーションが決定される空間領域を画定する。図示しているように、ゾーンの各々は位置３９４の周りに放射状に配置されている。従って、ディスプレイ２７４に向かってコントローラ２７２を把持しているユーザは、コントローラを上下に振ることにより各種ゾーンを通じてコントローラ２７２を操作することができる。ユーザがそのようにコントローラ２７２を操作すると、コントローラは通常弧をたどる。これによりコントローラはゾーンの各々を通り抜けることになる。一実施形態では、コントローラ１００をゾーン３９４からゾーン３９２、３９０、３８８、３８６、３８４、３８２を通ってゾーン３８０まで上方に動かすと、次のゾーンに移る度に、コントローラ２７２の加熱レベルまたは冷却レベルが増加する。反対方向に動かすと、コントローラ２７２の加熱レベルまたは冷却レベルが低下する。本発明の他の実施形態では、ゾーンの各々は様々な方法でグループ化されてもよい。例えば、コントローラ２７２がゾーン３８０、３８２、３８４、および３８６のいずれかに存在するときは、コントローラ２７２は、コントローラ１００の位置（ゾーン３８０、３８２、３８４あるいは３８６のいずれか）に応じたレベルを熱い温度フィードバックに与える。一方で、コントローラがゾーン３８８、３９０、または３９４のいずれかにあるときは、コントローラ２７２は、コントローラの位置（ゾーン３８８、３９０、３９２あるいは３９４のいずれか）に応じたレベルを冷たい温度フィードバックに与える。その他の実施形態では、各々のゾーンは、インタラクティブプログラムに適切ないずれの方法でグループ化されてもよい。
【００７３】
当業者にとっては、コントローラに温度フィードバックを提供するために本文に記載した原理を様々なインタラクティブプログラムの場面で適用することができることは明らかであろう。以下、いくつかの例示の実施形態を示すが、これらは限定を目的としたものではなく、単なる例示として示される。
【００７４】
例えば、一実施形態では、ユーザはテレビゲームの仮想環境においてキャラクタの動作を制御する。キャラクタが低温環境に入ると、コントローラは冷たいフィードバックを示し、高温環境に入ると、コントローラは熱いフィードバックを示す。キャラクタが特にダメージを受けた環境または危険な環境に入ると、コントローラはサーマルグリルイリュージョンを示しうる。
【００７５】
一実施形態では、ユーザはコントローラを操作することによりテレビゲームにおけるキャラクタの手を制御する。キャラクタの手が低温環境に向かって、あるいは低温環境に伸ばされると（例えば、手を冷水に漬ける）、コントローラは冷たいフィードバックを示す。一方で、キャラクタの手が低温環境に向かって、あるいは高温環境に伸ばされる（例えば、火の方向に向ける）と、コントローラは熱いフィードバックを示す。
【００７６】
一実施形態では、ユーザはテレビゲームにおける物体の動作を制御するためにモーションコントローラを操作する。ユーザが物体を操作してその他の物体を打つときに、あるいはその他の方法で物体とインタラクトするときに、コントローラは温度フィードバックを提供する。例えば、ユーザはモーションコントローラを振り動かして剣闘における剣を制御することができる。ユーザにより制御された刀が相手の刀を繰り返して突くときに、ユーザのコントローラは熱いフィードバックのレベルを徐々に上げる。あるいは、別の実施形態では、ユーザはボールを打つためにラケット、バット、あるいはクラブを振る。ボールが正しく打たれなければ、コントローラはサーマルグリルイリュージョンを示す。
【００７７】
一実施形態では、ユーザはテレビゲームの武器の発砲を制御する。武器が繰り返し発砲すると、武器は熱くなることがある。コントローラは熱いフィードバックをさらに熱くして、この事実をユーザに知らせるようにしてもよい。ある時点で武器が操作不可能となる場合がある。その際にユーザは武器を再び発砲できるようになるまで、武器が冷えるのを待つ必要がある。また、このことは、熱いフィードバックのレベルを下げるかコントローラを積極的に冷やすことによってもユーザに示されうる。さらに、コントローラは温度フィードバックと併せて発光フィードバックを示すことができる点に留意されたい。例えば、武器がヒートアップすると、コントローラのライトは青色や緑色からオレンジ色や赤色といった、寒色から暖色へと変化しうる。同様に、武器が冷えると、その色は寒色へ戻りうる。
【００７８】
一実施形態では、ユーザはテレビゲーム中のアイテムをチャージし、その後ディスチャージする。アイテムのチャージは温度フィードバックと相互に関連づけることができる。例えば、アイテムがチャージされているときにコントローラを熱くするか冷たくし、アイテムがすでにディスチャージされているときは、この逆を行う。一実施形態では、ユーザは戦闘に参戦するキャラクタを制御しうる。キャラクタが敵の発砲により、あるいは爆発やその他ダメージを与える事件により撃たれるときは、コントローラはサーマルグリルイリュージョンを示しうる。一実施形態では、ユーザのキャラクタが電気ショックを受けたときに、コントローラにサーマルグリルイリュージョンが提供される。
【００７９】
あるテレビゲームでは、ユーザがある特定の時間の間に多くの敵を打ち破るためにキャラクタを制御しているときに、キャラクタは特殊攻撃のためのエネルギーを得ることがある。この特殊攻撃のチャージは、例えばコントローラの表面を加熱によるなどの温度フィードバックによりコントローラに示されうる。同様に、これと同時にコントローラの照光部分の明度または色を変更して、この特殊攻撃のチャージを示すようにしてもよい。
【００８０】
一実施形態では、ユーザは、画面上に見えないか、そうでなければユーザに知られていない物体の存在を見つけ出すためにコントローラを利用する。ユーザはコントローラをそれぞれのインタラクティブ環境の周囲で操作し、物体の存在を示す温度フィードバック（例えば、熱いフィードバックまたは冷たいフィードバック）を受信する。
【００８１】
さらに、ユーザのインタフェース能力を高めるために、温度フィードバックを提供するための上述の各種実施形態および原理をバイオメトリックデータと併せて利用してもよい。一実施形態では、コントローラは、上記に詳述したように、温度フィードバックを提供するための機構を含み、さらに、ユーザのバイオメトリックデータを検出するための機構を含む。インタフェースデバイスに利用されているバイオメトリックセンサの例は、２０１０年１２月８日に出願の、発明者をGeorge Weisingとし、発明の名称を「BIOMETRIC INTERFACE FOR A HANDHELD DEVICE」とする米国特許出願第１２／９６３，５９４号に記載されており、上記出願は参照のために全体が本願に組み込まれている。各種の実施形態では、様々な構成で温度フィードバックおよびバイオメトリックセンサが利用されうる。
【００８２】
例えば、一実施形態では、インタラクティブアプリケーションはコントローラデバイス上のバイオメトリックセンサから受信した各種のバイオメトリックデータを監視し、このバイオメトリックデータに基づいてコントローラに温度フィードバックを開始する。バイオメトリックデータに関連して提供される温度フィードバックの種類は異なるものであってよい。例えば、一実施形態では、インタラクティブアプリケーションが電気皮膚反応（ＧＳＲ：Galvanic Skin Resistance）の低下を感知し、これがユーザの手が発汗していることを示す可能性がある場合は、インタラクティブアプリケーションはコントローラにおいて冷たいフィードバックを開始することも可能である。あるいは逆に、ＧＳＲが増加すると、インタラクティブアプリケーションは熱いフィードバックを開始することも可能である。同様に、心電データや電気-筋肉データ（EMD:Electro-Muscular Data)に基づいて冷却フィードバックまたは加熱フィードバックを開始してもよい（例えば、心拍数や電気-筋肉アクティビティが増加すると、冷却フィードバックが提供され、これは、ユーザのストレスが増加していることを示す）。
【００８３】
他の実施形態では、インタラクティブアプリケーションによりコントローラにおいて開始された温度フィードバックは、バイオメトリックセンサからコントローラに感知されたバイオメトリック情報による影響を受けることがある。例えば、一実施形態では、インタラクティブアプリケーションにより開始される温度フィードバックの大きさは、ＧＳＲ、心電データ、および電気-筋肉データなどのバイオメトリックインジケータ基づいて決定されたユーザの相対ストレスレベルに関連することがある。低ストレスユーザはごく僅かな大きさの温度フィードバックだけで感覚に訴えることができるので、インタラクティブアプリケーションは低ストレスレベルを示すユーザに対して大きさの低い温度フィードバックを開始することも可能である。一方で、高ストレスユーザは、高ストレス状態であっても充分なまでに温度フィードバックが大きなものでなければ温度フィードバックを感じることができないので、インタラクティブアプリケーションは高ストレスレベルを示すユーザに対して大きさの大きな温度フィードバックを開始することも可能である。
【００８４】
さらに別の実施形態では、インタラクティブアプリケーションは、バイオメトリックデータに基づいて温度フィードバックを提供することについての効果を測定しうる。インタラクティブアプリケーションは温度フィードバックが提供されるときにユーザの相対ストレスレベルを監視し、温度フィードバックの大きさを高めるべきか低下させるべきか、あるいはその大きさが適正であるかどうかを判断する。例えば、サーマルグリルイリュージョンが開始し、その結果生じる、バイオメトリックデータに基づいて決定されたユーザのストレスレベルの変化を利用して、サーマルグリルイリュージョンのレベルを上げるべきか下げるべきかを判断し、所望のストレスレベルを実現することも可能である。後続のサーマルグリルイリュージョンを開始するために、この上げられた、または下げられたレベルを使用することも可能である。
【００８５】
バイオメトリックデータとともに温度フィードバックを利用した上述の各々の例は単なる例示であって限定するものではない。他の実施形態では、インタラクティブアプリケーションは、様々に可能な構成において監視されたバイオメトリックデータに基づいて温度フィードバックを適用するように構成されうる。温度フィードバックの開始および終了時間、大きさのレベル、上昇率または低下率、または様々なその他のパラメータは、バイオメトリックデータに基づき、いずれの方法でも調整されうる。
【００８６】
別の実施形態では、コントローラは周辺温度を感知するための温度センサを含みうる。この周辺温度に関連してコントローラの加熱および冷却の制御が可能である。例えば、コントローラを把持しているユーザに、より一層快適な体験をさせるように、コントローラの表面は、周辺温度が低いときは熱くされ、周辺温度が高いときは冷たくされうる。
【００８７】
別の実施形態では、コントローラは、ユーザがコントローラを把持したときにユーザの手の温度を測るための温度センサを含みうる。ユーザの手が冷たいときは、コントローラの表面は熱くされ、ユーザの手が熱いときは、コントローラの表面は冷たくされうる。
【００８８】
さらに別の実施形態では、コントローラは、本文に記載した熱電デバイスとともに操作する１以上のファンを含みうる。１つあるいは複数のファンは、熱電デバイスにより熱くされた、または冷たくされた空気をユーザの肌に吹きかけるように構成されうる。一実施形態では、熱電デバイスの一方に生成された熱風がユーザの肌に向けて吹きかけられた場合、熱電デバイスの反対側に生成された冷風がコントローラから排気される。これとは逆に、熱電デバイスの一方に生成された冷風がユーザの肌に向けて吹きかけられた場合、反対側に生成された熱風が排気される。
【００８９】
概して、本明細書に示した本発明の実施形態はモーションコントローラに関して記載しているが、当業者にとっては、本発明の原理が各種のゲームコントローラ、キーボード、マウスデバイスなどを含む様々な種類のコントローラに適用されうることは明らかであろう。例えば、一実施形態では、キーボードを操作中のユーザの手に向かって、熱風や冷風を吹きかけるようにキーボードを構成することができる。
【００９０】
本明細書に記載したコントローラの形状は様々であり、さらにコントローラは様々な特徴を備えうることは明らかであろう。一実施形態では、コントローラはハンドルおよび拡張機能を提供する分離されたアタッチメントから構成されうる。図１８は本発明の一実施形態による拡張コネクタ５０２を備えたコントローラのハンドル５２４の構成要素を示す説明図である。特許請求の精神および範囲内において定義されたコントローラの各々が有する構成要素の数は増減してもよいが、このような構成要素の例は、電子回路、ハードウェア、ファームウェア、および操作可能な例を定義するためのハウジング構造の実例を示す。しかし、構成要素の数は増減してもよいため、これらの構成要素の例は請求項に関わる発明を制限すべきでない。ハンドル５２４は、コントローラを操作中のユーザにより片手で把持されるように構成されている。ユーザのもう一方の手は、当然、ハンドル５２４のボタンを保持あるいは選択するために使用されうる。コントローラを把持しているユーザは、上ボタン５１０や下ボタン５０８などのボタンを押下げすることにより入力を提供することができる。さらに一実施形態では、図２０Ａなどに示しているようなアタッチメントがハンドル５２４に結合されているときは、三次元空間内でコントローラを動かすことによって入力を提供することができる。コントローラはワイヤレスで動作するように構成されており、これにより、コントローラがコンピュータおよびコンソールとインタラクトするために、コントローラを自由に動かすことが可能となる。無線通信は、ブルートゥース（BlueTooth（登録商標））無線リンク、ＷｉＦｉ、赤外線（不図示）リンク経由などの様々な方法で実現することができる。
【００９１】
ハンドル５２４へ拡張機能を提供するアタッチメントの各々は、拡張コネクタ５０２へ接続及び取り外しされる。一実施形態では、アタッチメントを用いることで、ベースコンピューティングデバイスはカメラによって撮像された画像を視覚的に認識することで、三次元空間にハンドルとアタッチメントの組み合せを配置することが可能になる。その他の各実施形態は、例えばベースコンピュータまたはプレイフィールドのその他のコントローラと超音波通信するアタッチメントのような付加的通信機能をコントローラへ提供する。さらに別の実施形態では、アタッチメントは、コントローラがベースコンピュータと赤外振動数を介して通信できるように、または、コントローラをＴＶやその他の電子装置用のリモコン装置として使用するように、赤外機能を提供する。
【００９２】
一実施形態では、アタッチメントはコンピュータと直接通信し、コンピュータから命令を受信すると起動するようにされており、例えば、内側のライトをオンにしたり、音を出す場合などが挙げられる。別の実施形態では、アタッチメントはハンドル５２４により直接的に制御されてハンドル５２４からの命令にだけ反応する。さらに別の実施形態では、アタッチメントはコンピュータまたはハンドルから受信した命令に反応しうる。
【００９３】
ハンドル５２４の内部では、プリント回路基板５１６は、プロセッサ５１２、入力／出力（Ｉ／Ｏ）モジュール５０６、メモリ５１６、およびBluetooth（登録商標）モジュール５１８を有し、これらはバス５２２により相互接続されている。また、ユニバーサルシリアルバス（ＵＳＢ）モジュール５２０は、ベースコンピューティングデバイスあるいはＵＳＢポート５３２に接続されているその他のデバイスとのインタラクティビティを提供する。再充電式バッテリ５３０を充電するためにＵＳＢポートを使用してもよい。振動触覚フィードバックは、振動触覚モジュール５２８により提供され、温度フィードバックは温度モジュール５２９により提供される。スピーカ５２６は音声出力を行う。
【００９４】
上記コントローラの構成は例示に過ぎず、本明細書を参照する多くの当業者はモジュールの削除と追加とを含む多くの変更例を想到でき、これらも同様に請求項に関わる発明の範囲に含まれる。例えば、コントローラはコントローラの動きを機械的にトラッキングするためのセンサも備えてもよい。
【００９５】
図１９は一実施形態による動作トラッキングを改善するためのセンサを有するコントローラ２０を示す説明図である。実施形態によって、磁力計５３４、加速度計５３６、ジャイロスコープ５３８などのセンサの組み合せが異なる。加速度計は加速度と、重力に起因する反力とを測定するための装置である。異なる方向での加速度の大きさや方向を検出するために一軸モデルと多軸モデルとを使用することができる。加速度計は、傾斜、振動、および衝撃を検出するために使用される。一実施形態では、２角度（世界空間ピッチおよび世界空間ロール）の絶対基準となる重力の方向を提供するために３台の加速度計５３６が使用される。コントローラが５Ｇ越の加速度を受ける可能性もあり、このため、５Ｇ越の力でも動作可能な加速度計がコントローラ１００内部に使用されている。
【００９６】
磁力計はコントローラ近くの磁界の強度と向きとを測定する。一実施形態では、コントローラ内部に３台の磁力計５３４が使用されており、世界空間ヨー角度の絶対基準を規定している。磁力計は、±８０マイクロテスラである地磁界の範囲をカバーするように設計されている。磁力計は、金属の影響を受け、実際のヨーと単調関係を示すヨー測定値を提供する。磁界は、環境に存在する金属の影響で歪むことがあり、このため、ヨー測定値に歪みが生じる。必要に応じて、この歪みを、ジャイロ（下記参照）またはカメラからの情報を使用して較正することができる。一実施形態では、加速度計５３６は、コントローラの傾斜および方位角を取得するために、磁力計５３４と共に使用される。
【００９７】
ジャイロスコープは、角運動量の原理に基づいて、向きを測定および保持するための装置である。一実施形態では、３台のジャイロスコープが、検知された慣性に基づいて、各軸（ｘ、ｙおよびｚ）の移動に関する情報を提供する。ジャイロスコープは、高速回転の検出を補助する。しかし、ジャイロスコープは、絶対基準が存在しなければ、時間が経つとずれが生じることがある。このため、ジャイロスコープの定期的なリセットが必要であり、このリセットは、ディスプレイ１０６の視覚トラッキング、加速度計、磁力計など等の他の入手可能な情報を使用して行なうことができる。ハンドヘルドデバイスは５００°／秒より高速に回転することがあるため、１０００°／秒を超える性能を有するジャイロスコープが推奨されるが、これより低い値でもよい。
【００９８】
図２０Ａは「リッチな」機能セットを備えたハンドル５２４用アタッチメント６０２を示す説明図である。図２０Ａに示した実施形態は例示的なものであり、その他の実施形態ではアタッチメント６０２の一部の特徴を含みうることは明らかである。従って、図２０Ａに例示の実施形態は排他的あるいは限定的に解釈されるべきではなく、むしろ例示的であると解釈されるべきである。
【００９９】
球形アタッチメント６０２の様々なモジュールは共通バスを経由して相互接続されるが、その他の相互接続機構も可能である。コネクタ６０４はアタッチメント６０２をコントローラに接続し、またはアタッチメント６０２から分離するためのインタフェースを提供する。アタッチメント６０２によりコンピュータ命令の処理がなされるように、アタッチメント６０２はプロセッサまたは回路、さらにメモリを含む。さらに、アタッチメント６０２は、超音波、赤外線およびＷｉＦｉなどの通信モジュールを含む。そのような通信により、アタッチメントによるコンピュータやその他の電子装置との通信が可能になる。これは、本文中ではコントローラとコンピュータまたはその他いずれの電子装置との間での通信インタフェースと称される。一実施形態では、アタッチメントは、コントローラから情報を受信し、この情報をコンピュータへ送信する（さらにこの逆も同様）ことにより、モデムとして動作する。
【０１００】
アタッチメントにより受信され、コントローラへ送られた情報を使用してコントローラの状態が変更される。例えば、コントローラは音を出し、ボタンの構成を変更し、コントローラを無効にし、メモリのレジスタを読み込み、発光するようにアタッチメントに命令を送ることができる。コンピュータにより受信された情報はインタラクティブプログラムにより使用され、インタラクティブプログラムの状態がアップデートされる。例えば、インタラクティブプログラムは、画面上のアバタを移動させるかアバタの状態を変更する、武器を発砲する、ゲームを開始する、メニューのオプションを選択する、等をしてもよい。
【０１０１】
加速度計、磁力計、およびジャイロスコープは、アタッチメントの動きに関連する機械的情報を提供する。一実施形態では、コントローラとアタッチメントの組み合せの位置を正確に決定するために、この機械的情報または慣性情報がディスプレイの視覚的トラッキングなどのその他の位置決定情報と結合される。
【０１０２】
ユーザにフィードバックを提供するために、内部発光素子により内側からアタッチメントを照光することができる。一実施形態では、発光素子は単色光を発してもよいし、別の実施形態では、発光素子が選択された色の光を発するように構成されてもよい。更に別の実施形態では、アタッチメント６０２が、それぞれ単色光を発する複数の発光素子を備えてもよい。発光素子は、異なる明るさレベルで発光するように構成可能である。コンピュータは、アタッチメント６０２の発光状態を変更することによって、コントローラを把持しているユーザとのインタラクティビティを提供したり、音声信号を発生させたり、振動触覚的フィードバックなどを提供してもよい。これらのフィードバック操作のいずれか、またはこれらの組合せが可能である。一実施形態では、フィードバックの種類が、あらかじめ定義されたインタラクティビティの一覧から、ゲームで発生中のイベントに基づいて選択される。
【０１０３】
マイクロフォンとスピーカが音声機能を提供し、バッテリがプロセッサおよび発光素子を含むその他の構成要素に電力を供給する。また、バッテリが第２電源としてハンドルにより使用されてもよい。例えば、コントローラの再充電式バッテリが放電した場合、アタッチメントは所要の電力を供給することができ、これによりユーザはコントローラを充電するためにプレイを中断するせずにプレイを続けることができる。一実施形態では、アタッチメント６０２はバッテリを含まず、アタッチメント６０２のモジュールの各々の電力は、ハンドルの電源と接続することにより得られる。
【０１０４】
ＵＳＢモジュールはアタッチメント間でのＵＳＢ通信を可能にする。一実施形態では、アタッチメントのバッテリを充電するためにＵＳＢ接続が使用される。さらに別の実施形態では、アタッチメント６０２はコントローラ、コンピュータ、コントローラおよびコンピュータの双方に転送されるファイルをメモリに含む。メモリ内のファイルの各々は、コントローラまたはゲームシステムで実行するために転送される構成ファイルまたは構成プログラムを含むことができる。ファイルの各々は、特定ユーザの識別のため、コントローラまたはベースシステムを構成するため、ゲームを読み込むため、既存のゲームに機能を追加するため等に使用することができる。例えば、一方では、ファイルはプレイのためにコンピュータへ読み込まれるゲームであり、もう一方では、ファイルは、シングアロングゲーム(sing-along game)で使用されうるカラオケソングを含むものであり、もう一方では、ファイルはスポーツゲームをアップデートするための新たなプレーヤの登録名簿や統計値を含む、等であってもよい。さらに、ユーザのパラメータ（例えば、特定のゲームに対するプレーヤの構成）を保存するためにアタッチメントが使用されてもよい。その後プレーヤは、別のゲームシステムでこのアタッチメントを使い、当初のゲームシステムから取得した構成を用いて他のプレーヤとプレイすることができる。
【０１０５】
図２０Ｂは、図２０Ａのアタッチメントが図１８のコントローラに接続された実施形態を示している。一実施形態では、アタッチメント６０２はＵＳＢなどの通信インタフェースを経由してコントローラ５２４とインタラクトする。別の実施形態では、アタッチメント６０２はコントローラ５２４内の１つまたは複数の内部モジュールと電気通信している。例えば、（図２０Ａに示すように）アタッチメント６０２のプロセッサ／回路は（図１８に示すように）コントローラ５２４のバス５２２に接続されている。従って、アタッチメント６０２のプロセッサは、バスに取り付けられたコントローラのモジュールと通信することができる。アタッチメント６０２のプロセッサはデータを直接ライトまたはリードするためにメモリ５１６へアクセスすることができ、または、プロセッサ５１２により処理される必要がある外部イベントを知らせるためにコントローラ５２４のプロセッサ／回路５１２に対して割り込みを生成することができる。
【０１０６】
図２０Ｂに示した実施形態は例示的なものであり、他の実施形態では構成要素が少なくてもよい。
【０１０７】
さらに、アタッチメント６０２は永久的に装着されるように、または着脱可能に構成されてもよい。アタッチメント６０２は様々な構成からなる成形物であってもよい。一実施形態では、成形物はプラスチックから形成される。プラスチックはソフトプラスチック、ハードプラスチック、または中程度の硬さのプラスチックであってよい。成形あるいは変形可能なプラスチックを使って形状を定義する場合は、その形状を強制的に特定のものとし、その状態が維持される。別の実施形態では、成形物を有するコントローラは、使用中、または使用の前後において、ユーザが成形物を握るか押しつぶした場合、常に元の形状に跳ね返る。
【０１０８】
さらに別の実施形態では、成形物は半透明のプラスチック材料から構成される。半透明のプラスチック材料は、成形物内に生成された光により該形状が照光されるように構成される。成形物内に生成される光は、光を生成する装置であればどのような装置によっても生成されてよい。一実施形態では、該装置は発光ダイオードである。上述の、および以下の図に記載しているどの成形物も半透明のプラスチック材料から構成することができる。半透明のプラスチック材料は、射出成形技術またはその他の適切な構成技術により定義されうる。他の実施形態では、成形物はアルミニウムなどの金属材料、またはその他の金属から生成されうる。さらに別の実施形態では、成形物は硝子タイプの材料やセラミックなどから形成されうる。一実施形態では、コントローラのハンドル以外にもユーザが指で握ることができる場所を提供するために、コントローラのハンドルにハンドストラップが結合される。例えば、ユーザがコントローラ本体から手を放したとしても、結合されたハンドストラップにより、コントローラがユーザの手に固定される。一実施形態では、結合されたハンドストラップはプラスチック材料から形成されてよい。プラスチック材料は、ゴム引きされた材料または発泡型の材料などの柔軟な材料であってよい。別の実施形態では、結合されたハンドストラップは、布地、ポリエステル材料、または、繊維材料材料から作られてもよい。さらに別の実施形態では、コントローラハンドルが硬質プラスチック材料で作られているのであれば、結合されたハンドストラップは、コントローラハンドルの材料と同類の硬質プラスチック材料から作られてもよい。コントローラハンドルには、ユーザがコントローラデバイスとインタフェースするときにユーザが利用しやすい位置に各種のボタンが設けられる。例えば、コントローラボタンには、押下げ操作、トリガ操作、ジョイスティック操作などを可能にする、典型的なゲーム型ボタンが含まれうる。
【０１０９】
上述したように、グリップ部は、柔らかさ、柔軟性、およびコントローラを利用するユーザに快適さを与える材料であればどのような材料から形成されてもよい。また、コントローラは少なくとも一方の側にボタンを含む。さらに、コントローラは少なくとも一方の側にトリガボタンを含みうる。グリップの材料は、コントローラ本体にわたって層状に重ねることにより提供されてもよいし、コントローラ本体と一体的に形成されてもよい。コントローラ本体の一方の端部には、成形部位が定義される。一般に、この成形部位は、成形物の形状を問わずコントローラに一体化されうることを強調するように示される。したがって、コントローラおよび成形物の形状は、所望の構成に最も適した形状を有することになり、よって、設計者にとって最も喜ばしい設計をすることができる。
【０１１０】
グリップ部の材料をコントローラハンドルに適用することもできるし、グリップ材料をコントローラハンドルと一体化してもよい。グリップ部の材料およびコントローラハンドルの形状は、ユーザがより快適にコントローラ本体を把持することができるように曲線を帯びるように成形されたものであってもよい。一実施形態では、コントローラハンドルはボタンを全く含まないものであってもよい。別の実施形態では、コントローラは複数のボタンを含む。これらのボタンは、コントローラハンドルの、ユーザが最も効率的に利用できる位置に設けられてよい。したがって、成形された位置は、コントローラハンドルの一方の端部に接続されうる。
【０１１１】
図２１は、本発明の一実施形態による、温度フィードバックを提供するために利用されうるハードウェアおよびユーザインタフェースである。図２１は、本発明の各実施形態による、コントロールデバイスを、ベースコンピューティングデバイスで実行中のコンピュータプログラムとインタフェースさせるために互換性を有しうるコンソールであるソニー（登録商標）プレイステーション３（登録商標）エンターテイメントデバイスのシステムアーキテクチャ全体を模式的に示す。システムユニット７００は、システムユニット７００に接続可能なさまざまな周辺機器を備える。システムユニット７００は、Ｃｅｌｌプロセッサ７２８、Rambus（登録商標）ダイナミックランダムアクセスメモリ（ＸＤＲＡＭ）ユニット７２６、専用のビデオランダムアクセスメモリ（ＶＲＡＭ）ユニット７３２を有するReality Synthesizerグラフィックユニット７３０、およびＩ／Ｏブリッジ７３４を備える。また、システムユニット７００は、Ｉ／Ｏブリッジ７３４を介してアクセス可能な、ディスク７４０ａから読み出すためのブルーレイ（登録商標）ディスクＢＤ−ＲＯＭ（登録商標）光ディスクリーダ７４０、および着脱可能なスロットインハードディスクドライブ（ＨＤＤ）７３６も備える。任意選択で、システムユニット７００は、同様にＩ／Ｏブリッジ７３４を介してアクセス可能な、コンパクトフラッシュ（登録商標）メモリカード、メモリースティック（登録商標）メモリカードなどを読み出すためのメモリカードリーダ７３８も備える。
【０１１２】
また、Ｉ／Ｏブリッジ７３４は、６つのユニバーサルシリアルバス（ＵＳＢ）２．０ポート７２４、ギガビットイーサネット（登録商標）ポート７２２、ＩＥＥＥ ８０２．１１ｂ／ｇ無線ネットワーク（Ｗｉ−Ｆｉ）ポート７２０、および最大７つのブルートゥース接続に対応可能なブルートゥース（登録商標）無線リンクポート７１８にも接続している。
【０１１３】
動作時に、Ｉ／Ｏブリッジ７３４は、１台以上のゲームコントローラ７０２〜７０３からのデータを含む、全ての無線、ＵＳＢ、およびイーサネット（登録商標）のデータを処理する。例えば、ユーザがゲームをプレイ中に、Ｉ／Ｏブリッジ７３４はブルートゥースリンクを介してゲームコントローラ７０２〜７０３からデータを受信して、これをＣｅｌｌプロセッサ７２８に転送し、Ｃｅｌｌプロセッサ７２８が適宜ゲームの現在の状態を更新する。
【０１１４】
また、無線、ＵＳＢ、およびイーサネット（登録商標）の各ポートを介して、ゲームコントローラ７０２〜７０３のほかに、他の周辺機器も接続することが可能となる。このような周辺機器には、例えば、リモコン７０４、キーボード７０６、マウス７０８、ソニープレイステーションポータブル（登録商標）エンターテイメントデバイスなどのポータブルエンターテイメントデバイス７１０、ＥyeToy（登録商標）ビデオカメラ７１２などのビデオカメラ、マイクロフォンヘッドセット７１４、マイクロフォン７１５などがある。このため、これらの周辺機器は、原則としてシステムユニット７００に無線で接続されうる。例えば、ポータブルエンターテイメントデバイス７１０はＷｉ−Ｆｉアドホック接続を介して通信し、マイクロフォンヘッドセット７１４はブルートゥースリンクを介して通信しうる。
【０１１５】
これらのインタフェースを提供することにより、プレイステーション３デバイスは、デジタルビデオレコーダ（ＤＶＲ）、セットトップボックス、デジタルカメラ、ポータブルメディアプレーヤ、ＶｏＩＰ電話、携帯電話、プリンタ、およびスキャナなどの他の周辺機器と場合によっては互換となりうる。
【０１１６】
更に、ＵＳＢポート７２４を介して旧式メモリカードリーダ７１６をシステムユニットに接続することができ、プレイステーション（登録商標）デバイスまたはプレイステーション２（登録商標）デバイスで用いられていたタイプのメモリカード７４８の読み出しが可能となる。
【０１１７】
ゲームコントローラ７０２〜７０３は、ブルートゥースリンクを介してシステムユニット７００とワイヤレスで通信するか、あるいは、ＵＳＢポートと接続され、これにより、ゲームコントローラ７０２〜７０３のバッテリを充電する電力を供給するように動作可能である。また、ゲームコントローラ７０２〜７０３は、メモリ、プロセッサ、メモリカードリーダ、フラッシュメモリなどの恒久メモリ、照光された球形部分、ＬＥＤまたは赤外線ライトなどの発光素子、超音波通信のためのマイクロフォンおよびスピーカ、アコースティックチャンバ、デジタルカメラ、内部クロック、ゲームコンソールに対向する球形部分等の認識可能な形状、ブルートゥース（登録商標）、ＷｉＦｉ（登録商標）などのプロトコルを使用する無線通信も有しうる。
【０１１８】
ゲームコントローラ７０２は両手で使用されるように設計されたコントローラであり、ゲームコントローラ７０３は、アタッチメントが取り付けられている片手コントローラである。ゲームコントローラは、１つ以上のアナログジョイスティックおよび従来のコントロールボタンに加えて、三次元位置決定の対象となる。したがって、従来のボタンまたはジョイスティックコマンドに加えて、あるいはこれらの代わりに、ゲームコントローラのユーザが行なったジェスチャおよび移動が、ゲームへの入力として変換されうる。任意選択で、プレイステーション（登録商標）ポータブルデバイスなどの他の無線対応の周辺機器をコントローラとして使用することができる。プレイステーション（登録商標）ポータブルデバイスの場合、追加のゲーム情報または制御情報（例えば制御命令またはライブの数）が、当該デバイスの画面に提示されうる。ほかの代替的または補助的な制御装置が使用されてもよく、これには、ダンスマット（不図示）、ライトガン（不図示）、ハンドルおよびペダル（不図示）、あるいは、即答クイズゲームのための１つまたは複数の大型のボタン（これも図示なし）などの特注品のコントローラなどがある。
【０１１９】
また、リモコン７０４も、ブルートゥースリンクを介してシステムユニット７００と無線通信するように動作可能である。リモコン７０４は、ブルーレイ（登録商標）ディスクＢＤ−ＲＯＭリーダ５４０の操作、およびディスクの内容の閲覧のために適した制御を備える。
【０１２０】
ブルーレイ（登録商標）ディスクＢＤ−ＲＯＭリーダ７４０は、従来の記録済みＣＤ、記録可能ＣＤ、およびいわゆるスーパーオーディオＣＤのほか、プレイステーションデバイスおよびプレイステーション２デバイスと互換のＣＤ−ＲＯＭを読み出すように動作可能である。また、リーダ７４０は、従来の記録済みＤＶＤおよび記録可能ＤＶＤのほか、プレイステーション２デバイスおよびプレイステーション３デバイスと互換のＤＶＤ−ＲＯＭを読み出すように動作可能である。更に、リーダ７４０は、従来の記録済みブルーレイディスクおよび記録可能ブルーレイディスクのほか、プレイステーション３デバイスと互換のＢＤ−ＲＯＭを読み出すように動作可能である。
【０１２１】
システムユニット７００は、Reality Synthesizerグラフィックユニット７３０を介して、プレイステーション３デバイスによって生成またはデコードされた音声およびビデオを、音声コネクタおよびビデオコネクタ経由で、ディスプレイ７４４および１つ以上のスピーカ７４６を備えた表示および音声出力デバイス７４２（モニタまたはテレビ受像機など）に提供するように動作可能である。音声コネクタ７５０は、従来のアナログ出力およびデジタル出力を備える一方、ビデオコネクタ７５２は、コンポーネントビデオ、Ｓ−ビデオ、コンポジットビデオ、および１つ以上の高品位マルチメディアインタフェース（ＨＤＭＩ）の出力などを種々備えうる。したがって、ビデオ出力は、ＰＡＬまたはＮＴＳＣ、あるいは７２０ｐ、１０８０ｉまたは１０８０ｐの高解像度などのフォーマットであってもよい。
【０１２２】
音声処理（生成、デコードなど）はＣｅｌｌプロセッサ７２８によって実行される。プレイステーション３デバイスのオペレーティングシステムは、ドルビー（登録商標）５．１サラウンドサウンド、ドルビー（登録商標）シアターサラウンド（ＤＴＳ）、およびブルーレイディスクからの７．１サラウンドサウンドのデコードに対応している。
【０１２３】
本実施形態では、ビデオカメラ７１２は、１つの電荷結合素子（ＣＣＤ）、ＬＥＤインジケータ、およびハードウェアベースのリアルタイムデータ圧縮およびエンコード装置を備え、圧縮ビデオデータが、システムユニット７００によるデコードのために、イントラ画像ベースのＭＰＥＧ（Motion Picture Expert Group）標準などの適切なフォーマットで送信されるようになる。カメラのＬＥＤインジケータは、例えば不利な照明条件を示す適切な制御データをシステムユニット７００から受け取ると、発光するように配置されている。ビデオカメラ７１２の実施形態は、ＵＳＢ、ブルートゥースまたはＷｉ−Ｆｉの通信ポートを介して、システムユニット７００にさまざまな方法で接続しうる。ビデオカメラの実施形態は、１つ以上の関連するマイクロフォンを備えており、音声データを送信することができる。ビデオカメラの実施形態では、ＣＣＤは、高解像度のビデオキャプチャに適した分解能を備えうる。使用時に、ビデオカメラによってキャプチャされた画像が、例えば、ゲーム内に取り込まれるか、またはゲームの制御入力として解釈されうる。別の実施形態では、カメラは、赤外光の検出に適した赤外線カメラである。
【０１２４】
一般に、システムユニット７００の通信ポートの１つを介して、ビデオカメラまたはリモコン等などの周辺機器とのデータ通信がうまく行われるように、デバイスドライバ等の適切なソフトウェアを提供する必要がある。デバイスドライバ技術は公知であり、ここで詳細に説明しないが、デバイスドライバまたは同様のソフトウェアインタフェースが、記載する本実施形態で必要とされうることを当業者は理解するであろう。図２２は、本発明の一実施形態による、命令の処理に使用されうる追加のハードウェアを示す。Ｃｅｌｌプロセッサ７２８は、メモリコントローラ８６０およびデュアルバスインタフェースコントローラ８７０Ａ，Ｂを含む外部入出力構造、パワープロセッシングエレメント８５０と呼ばれるメインプロセッサ、シナジスティックプロセッシングエレメント（ＳＰＥ）８１０Ａ〜Ｈと呼ばれる８基のコプロセッサ、エレメント相互接続バス８８０と呼ばれる上記のコンポーネントに接続している環状データバス、の４つの基本コンポーネントを備えたアーキテクチャを有する。プレイステーション２デバイスのエモーションエンジンは６．２ギガフロップスであるのに対し、Ｃｅｌｌプロセッサの総浮動小数点演算性能は、２１８ギガフロップスである。
【０１２５】
パワープロセッシングエレメント（ＰＰＥ）８５０は、３．２ＧＨｚの内部クロックで動作し、双方向同時マルチスレッディングＰｏｗｅｒ５７０準拠のPowerPCコア（ＰＰＵ）８５５をベースにしている。ＰＰＥ８５０は、５１２ｋＢのレベル２（Ｌ２）キャッシュと、３２ｋＢのレベル１（Ｌ１）キャッシュとを備える。ＰＰＥ８５０は、クロックサイクルごとに８つの単一位置操作ができ、これは、３．２ＧＨｚで２５．６ギガフロップスに相当する。ＰＰＥ８５０の主な役割は、演算作業負荷の大部分を処理するシナジスティックプロセッシングエレメント８１０Ａ〜Ｈのコントローラとして機能することにある。動作時に、ＰＰＥ８５０はジョブキューを保持し、シナジスティックプロセッシングエレメント８１０Ａ〜Ｈのジョブをスケジューリングしており、その進捗を監視する。したがって、各シナジスティックプロセッシングエレメント８１０Ａ〜Ｈはカーネルを実行し、その役割は、ジョブを取り出して、これを実行し、ＰＰＥ８５０と同期されることにある。各シナジスティックプロセッシングエレメント（ＳＰＥ）８１０Ａ〜Ｈは、シナジスティックプロセッシングユニット（ＳＰＵ）８２０Ａ〜Ｈおよびメモリフローコントローラ（ＭＦＣ）８４０Ａ〜Ｈをそれぞれ備え、ＭＦＣ８４０Ａ〜Ｈは、ダイナミックメモリアクセスコントローラ（ＤＭＡＣ）８４２Ａ〜Ｈ、メモリ管理ユニット（ＭＭＵ）８４４Ａ〜Ｈ、およびバスインタフェース（不図示）をそれぞれ備える。各ＳＰＵ８２０Ａ〜Ｈは３．２ＧＨｚでクロック供給され、原則として４ＧＢまで拡張可能な２５６ｋＢのローカルＲＡＭ８３０Ａ〜Ｈを備えたＲＩＳＣプロセッサである。各ＳＰＥは、理論的には単精度処理性能で２５．６ギガフロップスを示す。１つのＳＰＵは、１クロックサイクルに、４つの単精度浮動小数点数、４つの３２ビット数、８つの１６ビット整数または１６の８ビット整数を処理することができる。同じクロックサイクルで、メモリ操作も実行することができる。ＳＰＵ８２０Ａ〜ＨはシステムメモリＸＤＲＡＭ７２６に直接アクセスしない。ＳＰＵ８２０Ａ〜Ｈが作成した６４ビットアドレスがＭＦＣ１５４０Ａ〜Ｈに渡され、ＭＦＣ８４０Ａ〜Ｈが、自身のＤＭＡコントローラ１５４２Ａ〜Ｈに対して、エレメント相互接続バス８８０およびメモリコントローラ８６０を介してメモリにアクセスするように指示する。
【０１２６】
エレメント相互接続バス（ＥＩＢ）８８０は、Ｃｅｌｌプロセッサ７２８内部の論理的には環状の通信バスであり、上記のプロセッサエレメント（すなわち、ＰＰＥ８５０、メモリコントローラ８６０、デュアルバスインタフェース８７０Ａ，Ｂ、および８基のＳＰＥ８１０Ａ〜Ｈ、合計１２個のパーティシパント）を接続している。パーティシパントは、１クロックサイクルにつき８バイトの速度で、バスに同時に読み出しおよび書き込みを行うことができる。上で説明したように、各ＳＰＥ８１０Ａ〜Ｈは、長いリードまたはライトのシーケンスをスケジュールするためのＤＭＡＣ８４２Ａ〜Ｈを備える。ＥＩＢは、４つのチャネルを備え、そのうち２つは時計回り方向であり、残り２つは反時計回り方向である。したがって、１２のパーティシパントについて、２つのパーティシパント間のステップ方式の最長のデータフローは、適切な方向で６ステップとなる。このため、パーティシパント間でアービトレーションが行われて完全な利用度が実現されると、１２のスロットの理論上のピーク瞬間ＥＩＢ帯域幅は、１クロックにつき９６Ｂとなる。これは、３．２ＧＨｚのクロック速度で３０７．２ＧＢ／ｓ（ギガバイト／秒）の理論上のピーク帯域幅に相当する。
【０１２７】
メモリコントローラ８６０は、ラムバス社（Rambus Incorporated）によって開発されたＸＤＲＡＭインタフェース８６２を備える。このメモリコントローラは、２５．６ＧＢ／ｓの理論上のピーク帯域幅で、Rambus XDRAM７２６とインタフェースする。
【０１２８】
デュアルバスインタフェース８７０Ａ，Ｂは、Rambus FlexIO（登録商標）システムインタフェース８７２Ａ，Ｂを備える。このインタフェースは、それぞれ８ビット幅の１２のチャネルに編成されており、このうち、５の経路が受信用、７つの経路が送信用である。これにより、Ｃｅｌｌプロセッサと、コントローラ８７０Ａを介してＩ／Ｏブリッジ７３４間、およびコントローラ８７０Ｂを介してReality Simulatorグラフィックユニット７３０間で、理論上のピーク帯域幅が６２．４ＧＢ／ｓ（送信３６．４ＧＢ／ｓ、受信２６ＧＢ／ｓ）が得られる。
【０１２９】
Ｃｅｌｌプロセッサ７２８によってReality Simulatorグラフィックユニット７３０に送信されるデータには、通常、表示リストが含まれ、これは、頂点を描画したり、ポリゴンにテクスチャを貼り付けたり、照明条件を指定するなどための一連のコマンドである。
【０１３０】
図２３は、本発明の一実施形態による、シーンＡ〜シーンＥと、インターネットを介して処理サーバに接続されているゲームクライアント１００２とインタフェースしているそれぞれのユーザＡ〜Ｅの例示的な図である。ゲームクライアントは、ユーザがインターネットを介してサーバアプリケーションや処理サーバへの接続を可能にするデバイスである。ゲームクライアントにより、ユーザは、ゲーム、映画、音楽、および写真など（これらに限定されない）のオンラインエンターテインメントコンテンツにアクセスしこれらを再生することができる。さらに、ゲームクライアントは、ＶＯＩＰ、テキストチャットプロトコル、およびｅメールなどのオンライン通信アプリケーションへアクセスできるようにする。
【０１３１】
ユーザはコントローラを介してゲームクライアントとインタラクトする。ある実施形態では、コントローラはゲームクライアント特有のコントローラであり、他の実施形態では、コントローラはキーボードとマウスの組み合わせであってよい。一実施形態では、ゲームクライアントは音声および画像信号を出力し、モニタ／テレビおよび関連づけられる音声機器によりマルチメディア環境を生成することができる独立型のデバイスである。例えば、ゲームクライアントは、薄型のクライアント、内蔵型ＰＣＩエクスプレスカード、外付けＰＣＩエクスプレスデバイス、エクスプレスカード（ExpressCard）デバイス、内蔵型、外付け、あるいは無線ＵＳＢデバイス、ファイヤワイヤ（Firewire）デバイスなどでありうるが、これらに限定されない。他の実施形態では、ゲームクライアントは、ＤＶＲ、ブルーレイプレーヤ、ＤＶＤプレーヤ、あるいはマルチチャネルレシーバと一体化されている。
【０１３２】
図２３のシーンＡでは、ユーザＡは、ゲームクライアント１１０２Ａとペアにされたコントローラ１１０６を使用して、モニタ１１０４Ａに表示されるクライアントアプリケーションとインタラクトする。同様に、シーンＢでは、ユーザＢは、ゲームクライアント１１０２Ｂとペアにされたコントローラ１１０６Ｂを使用して、モニタ１１０４に表示される別のクライアントアプリケーションとインタラクトする。シーンＣは、ユーザがゲームクライアント１１０２Ｃからの友人リストあるいはバディリストとゲームが表示されているモニタを見ているユーザＣの背後からのビューを示す図である。図２３は、一つの処理サーバモジュールを図示しているが、一実施形態では、多くの処理サーバモジュールが世界中で存在する。各処理サーバモジュールは、ユーザセッションコントロール、共有／通信論理、ユーザのジオロケーション（地理位置情報）、ロードバランス処理サービスのためのサブモジュールを含む。さらに、処理サーバモジュールは、ネットワーク処理と分散型の記憶装置とを含む。 
【０１３３】
ゲームクライアント１１０２が処理サーバモジュールに接続するときに、ユーザセッションコントロールを利用してユーザ認証を行うようにしてもよい。認証されたユーザは、関連する視覚化された分散型の記憶装置と視覚化されたネットワーク処理とを有することができる。ユーザの視覚化された分散型の記憶装置の一部として記憶されうるアイテムの例としては、ゲーム、ビデオおよび音楽などの購入された媒体が挙げられるが、これらに限定されない。さらに、複数のゲームのゲームステータスや、個々のゲームのカスタマイズ設定、ゲームクライアントの一般的な設定をセーブするように分散型の記憶装置を利用してもよい。一実施形態では、処理サーバのユーザジオロケーションモジュールを用いて、ユーザと、ユーザのそれぞれのゲームクライアントのジオロケーションが決定される。複数の処理サーバモジュールの処理命令と地理的位置とに基づいてパフォーマンスを最適化するように、共有／通信論理とロードバランス処理サービスとによりこのユーザの地理的位置が用いられてもよい。ネットワーク処理とネットワーク記憶装置の一方あるいは両方を視覚化することにより、十分に活用されていない処理サーバモジュールへゲームクライアントからの処理タスクを動的にシフトさせることができる。従って、ロードバランスを利用して、記憶装置からのリコールと、処理サーバモジュールとゲームクライアント間のデータ送信とに関連づけられるレイテンシーを最小限に抑えるようにしてもよい。 
【０１３４】
処理サーバモジュールは、例えば、サーバアプリケーションＡおよびサーバアプリケーションＢを有する。処理サーバモジュールは、サーバアプリケーションＸ１とサーバアプリケーションＸ２によって示されるような複数のサーバアプリケーションに対応することができる。一実施形態では、処理サーバは、クラスタコンピューティングアーキテクチャに基づくものであり、このアーキテクチャにより、クラスタ内の複数のプロセッサはサーバアプリケーションを処理することができる。別の実施形態では、サーバアプリケーションを処理するために、様々なタイプのマルチコンピュータプロセッシングスキームが適用される。これにより、複数のクライアントアプリケーションと、対応のサーバアプリケーションとを実行する、より多くのゲームクライアントに対応することができるように、処理サーバを増やすことができる。他の形態では、要求の多いグラフィック処理やゲーム、ビデオ圧縮、あるいはアプリケーションの複雑さにより求められる、増加するコンピューティング命令に対応するように処理サーバを増やすことができる。一実施形態では、処理サーバモジュールは、サーバアプリケーションを介して処理の大部分を実行する。これにより、グラフィックプロセッサ、ＲＡＭ、および汎用プロセッサなどの比較的高額な要素を中央に位置決めすることができ、ゲームクライアントのコストを削減することができる。処理されたサーバアプリケーションデータは、インターネットを介して対応するゲームクライアントに送り戻され、モニタに表示されるようにする。 
【０１３５】
シーンＣは、ゲームクライアントと処理サーバモジュールとにより実行される例示的なアプリケーションを示す。例えば、一実施形態では、ゲームクライアント１１０２Ｃにより、ユーザＣは、ユーザＡ、ユーザＢ、ユーザＤ、およびユーザＥを含む友人リストあるいはバディリスト（buddy list：BL）１１２０を生成し、これを見ることができる。図示しているように、シーンＣでは、ユーザＣは、モニタ１１０４Ｃでリアルタイム画像か、それぞれのユーザのアバタのいずれか一方を見ることができる。処理サーバでは、ゲームクライアント１１０２Ｃのそれぞれのアプリケーションが、ユーザＡ、ユーザＢ、ユーザＤおよびユーザＤおよびユーザＥのそれぞれのゲームクライアント１１０２により実行される。ゲームクライアントＢが実行中のアプリケーションを処理サーバが認識しているので、ユーザＡの友人リストにユーザＢがプレイ中のゲームを表示することができる。さらにまた、一実施形態では、ユーザＡは、ユーザＢが直接見ているゲームビデオを直接見ることができる。 これは、ユーザＢに対する処理済のサーバアプリケーションデータを、ゲームクライアントＢだけでなく、ゲームクライアントＡに送信するだけでできるようになる。
【０１３６】
友人からの映像を見ることができるだけでなく、この通信アプリケーションにより、友人間でリアルタイム通信ができるようになる。上述した例に適用しているように、これにより、ユーザＡはユーザＢのリアルタイム映像を見ている間に、激励したりヒントを与えることができる。一実施形態では、双方向リアルタイム音声通信は、クライアント／サーバアプリケーションを介して確立される。別の実施形態では、クライアント／サーバアプリケーションはテキストでのチャットを可能にする。さらに別の実施形態では、クライアント／サーバアプリケーションは、音声やスピーチをテキストに変換して友人のスクリーンに表示する。
【０１３７】
シーンＤは、ゲームコンソール１１１０Ｄとインタラクト中のユーザＤを、シーンＥは、ゲームコンソール１１１０Ｅとインタラクト中のユーザＥを示す。各ゲームコンソール１１１０Ｄと１１１０Ｅは、処理サーバモジュールに接続されており、この処理サーバモジュールがゲームコンソールとゲームクライアント両方に対するゲームプレイを調整しているネットワークを示す。 
【０１３８】
図２４に、インフォメーションサービスプロバイダ（Information Service Provider）アーキテクチャの実施形態を示す。インフォメーションサービスプロバイダ（ＩＳＰ）１３７０は、地理的に分散しており、かつ、ネットワーク１３８６を介して接続されているユーザ１３８２に大量の情報を提供する。ＩＳＰは、例えば株価の更新に的を絞ったサービスや、放送メディア、ニュース、スポーツ、ゲームなどの様々なサービスを提供することができる。さらに、それぞれのＩＳＰにより提供されるサービスは動的である。つまり、いつでもサービスを追加したり減らすことができる。従って、特定の種類のサービスを特定の個人に提供するＩＳＰは経時的に変化する。例えば、あるユーザが地元(ホームタウン)にいる間は、ユーザは、ユーザのすぐ近くのＩＳＰからサービスを受けることができ、ユーザが別の都市に移動するときには、ユーザは別のＩＳＰからサービスを受けることができる。ホームタウンＩＳＰは、所要の情報とデータとを新たなＩＳＰに転送する。従って、ユーザ情報はユーザを「フォローする」、つまり後について新たな都市へ行く。よってデータとユーザとを密接にし、アクセスしやすくしている。別の実施形態では、ユーザの情報を管理するマスタＩＳＰと、マスタＩＳＰの管理下でユーザと直接のインタフェースを行うサーバＩＳＰとの間で、マスタ−サーバリレーションシップが確立されうる。他の実施形態では、クライアントが世界中を移動する際に、データは１つのＩＳＰから他のＩＳＰへ転送され、ユーザへのサービス提供にあたり望ましい位置にあるＩＳＰが、これらのサービスを提供するＩＳＰとなるようにする。
【０１３９】
ＩＳＰ１３７０は、アプリケーションサービスプロバイダ（Application Service Provider；ＡＳＰ）１３７２を含む。これは、コンピュータベースのサービスをネットワークを介して顧客に提供するものである。ＡＳＰモデルを利用して提供されるソフトウェアは、多くの場合、オンデマンドソフトウェアまたは、サービス型ソフトウェア（ＳａａＳ）とも呼ばれる。特定のアプリケーションプログラム（顧客関係管理など）へのアクセスを与える簡単な形態として、ＨＴＴＰなどの標準プロトコルを使用することが挙げられる。このアプリケーションソフトウェアはベンダーのシステムに存在しており、ユーザは、ＨＴＭＬによりウェブブラウザを介してアクセスするか、ベンダーが提供する特定用途のクライアントソフトウェアによってアクセスするか、薄型のクライアントなどの、他の遠隔インターフェースによってアクセスする。
【０１４０】
広い地理的領域にわたって提供されるサービスは、多くの場合、クラウドコンピューティングを利用する。クラウドコンピューティングとは、動的に拡張可能なコンピューティングスタイルのことであり、多くの場合、視覚化（ビジュアライズ）されたリソースがインターネットを介してサービスとして提供される。ユーザは、これらをサポートする「クラウド」における技術基盤の専門家／エキスパートである必要はない。クラウドコンピューティングは様々なサービスに分けられる。例えば、コンピュータ基盤をサービスとして提供するＩａａＳ（イアース）（Infrastructure as a Service）、プラットフォームをサービスとして提供するＰａａＳ（パース）（Platform as a Service）、および、ソフトウェアをサービスとして提供するＳａａＳ（サース）（Software as a Service）などである。クラウドコンピューティングサービスは多くの場合、ソフトウェアとデータとがサーバに保存された状態で、ウェブブラウザからアクセスされる共通のビジネスアプリケーションをオンラインで提供する。クラウド（雲）との用語は、インターネットがコンピュータネットワークの図において図示される様子に基づいてインターネットの比喩表現として用いられるものであり、クラウド（雲）により隠される複雑なインフラストラクチャを抽象化したものである。
【０１４１】
さらに、ＩＳＰ１３７０は、ゲームプロセッシングサーバ（Game Processing Server；ＧＰＳ）１３７４を含み、これは、ゲームクライアントが１人用および多人数参加型のテレビゲームをプレイするために利用するものである。インターネットを介してプレイされるほとんどのテレビゲームは、ゲームサーバへ接続することにより動作する。典型的には、ゲームは、プレーヤからデータを収集し、これを他のプレーヤに配信する専用のサーバアプリケーションを利用する。これは、ピアツーピアアレンジメントよりも効率であり実効的であるが、サーバアプリケーションをホスティングするために別のサーバを必要とする。別の実施形態では、ＧＰＳはプレーヤ間での通信を確立し、中心にあるＧＰＳに依存せずにそれぞれのゲームプレイデバイスが情報交換を行う。
【０１４２】
専用のＧＰＳは、クライアントとは独立に実行するサーバである。そのようなサーバは通常、データセンターに位置する専用ハードウェア上で実行されるものであり、より広い帯域幅と特定の処理能力とを提供している。専用サーバは、パソコンベースのほとんどの多人数参加型ゲームのゲームサーバをホスティングするための好適な方法である。専用サーバ上で実行する多人数参加型オンラインゲームは通常、ゲームタイトルを所有するソフトウェア会社がホスティングしており、このような会社がコンテンツの制御とアップデートとを行う。
【０１４３】
ブロードキャストプロセッシングサーバ（Broadcast Processing Server；ＢＰＳ）１３７６は音声信号または映像信号を視聴者へ分配する。非常に狭い範囲の視聴者に向けて放送することをナローキャスティングと呼ぶことがある。放送配信は、最終的にその信号がリスナーや視聴者に配信され、この信号はラジオ放送局やテレビ放送局と同様、無線でアンテナおよび受信機へ送ることができ、あるいは、放送局を介して、あるいは、ネットワークから直接、ケーブルテレビやケーブルラジオ（つまり、「無線ケーブル」）へ送ることができる。インターネットにより、ラジオやテレビも受信者へ配信することができ、特に、信号と帯域幅の共有が可能なマルチキャスティングによって配信することができる。歴史的には、地理的領域（全国放送や地域向け放送など）により放送範囲が定められていた。しかし、高速インターネットの急増により、世界のどこの国にもコンテンツを届けることができるので、ブロードバンドによる放送が地理的範囲により限定されることはない。
【０１４４】
ストレージサービスプロバイダ（Storage Service Provider；ＳＳＰ）１３７８は、コンピュータストレージスペースおよび関連する管理サービスを提供する。ＳＳＰはさらに、定期的なバックアップと保存を行う。サービスとしてストレージを提供することで、必要に応じてユーザはより多くのストレージをオーダーすることができる。別の主な利点としては、各ＳＳＰにおいてバックアップサービスが行われることであり、コンピュータのハードドライブが故障した場合であってもユーザは全てのデータを失うことはない。さらに、複数のＳＳＰによりユーザデータの全体あるいは一部のコピーが保有されるので、ユーザは居場所に関係なく、あるいは、データのアクセスに使用されるデバイスに関係なく、効率的にデータにアクセスすることができる。例えば、ユーザは家庭用コンピュータの個人ファイルにアクセスできるほか、移動中に携帯電話にアクセスできる。
【０１４５】
通信プロバイダ（Communication Provider）３８０はユーザへの接続性を提供する。通信プロバイダの一つの形態はインターネットサービスプロバイダ（Internet Service Provider）であり、これによりインターネットへのアクセスが提供される。ＩＳＰは、ダイアルアップやＤＳＬ、ケーブルモデム、ワイヤレスまたは専用の高速相互接続などのインターネットプロトコルデータグラムの配信に適したデータ転送技術により、ユーザに接続する。通信プロバイダはさらに、ｅメールやインスタントメッセージ、ショートメッセージサービス（ＳＭＳ）メールなどのメッセージサービスを提供することができる。通信プロバイダの別の形態としてネットワークサービスプロバイダ（Network Service Provider；ＮＳＰ）が挙げられる。これは、インターネットへのダイレクトバックボーンアクセスを提供することにより、帯域幅やネットワークを販売するものである。ネットワークサービスプロバイダは、電気通信会社、データキャリア、無線通信プロバイダ、インターネットサービスプロバイダ、高速インターネットアクセスを提供するケーブルテレビオペレータなどから構成される。
【０１４６】
データエクスチェンジ部１３８８は、ＩＳＰ１３７０内のいくつかのモジュールを相互接続し、これらのモジュールをネットワーク１３８６を介してユーザ１３８２に接続する。データエクスチェンジ部１３８８は、ＩＳＰ１３７０のモジュール全てが密接した狭い領域や、様々なモジュールが地理的に分散した場合に広い地理的領域をカバーできる。例えば、データエクスチェンジ部１３８８は、データセンターのキャビネット内に高速（あるいは、より高速な）ギガビットイーサネット（登録商標）や大陸間のバーチャルエリアネットワーク（Virtual Area Network；ＶＬＡＮ）を含むことができる。
【０１４７】
ユーザ１３８２は、少なくともＣＰＵ、ディスプレイ、および入出力を含むクライアントデバイス１３８４によりリモートサービスにアクセスする。クライアントデバイスはパーソナルコンピュータ、携帯電話、ネットブック、ＰＤＡ（携帯端末）などであってよい。一実施形態では、ＩＳＰ１３７０により、クライアントにより使用されるデバイスの種類が認識され、利用する通信方法が調整される。別の場合では、クライアントデバイスは、ハイパーテキストマークアップ言語（ｈｔｍｌ）などの標準の通信方法によりＩＳＰ１３７０にアクセスする。
【０１４８】
本発明の各実施形態は、携帯式デバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な家庭用電気製品、ミニコンピュータ、メインフレームコンピュータなど、他のコンピュータシステム構成によって実施されてもよい。また、本発明は、分散コンピューティング環境で実施されてもよく、このような環境では、ネットワークを介してリンクされる遠隔処理デバイスによってタスクが実行される。上述の各実施形態を考慮に入れて、本発明は、コンピュータシステムに記憶されるデータを使用する、各種のコンピュータ実装操作を使用してもよいことを理解すべきである。これらの操作には、物理量の物理的な操作を必要とする操作が含まれる。本発明の一部を形成する本文に記載された操作はいずれも、有益な機械操作である。本発明はこれらの操作を実行するためのデバイスや装置にも関連する。装置は、特定用途コンピュータなど、所要の目的のために特別に作成されてもよい。あるいは、装置は選択的にアクティブにされる汎用コンピュータであってもよいし、コンピュータに記憶されたコンピュータプログラムにより構成された汎用コンピュータであってもよい。特に、各種の汎用目的の機械は、本明細書の教示に従って書かれたコンピュータプログラムと共に使用されてもよいし、あるいは、所要の操作を実行するためにより特化された装置を構成しやすいものであってもよい。
【０１４９】
本発明は、コンピュータ可読媒体上のコンピュータ可読コードとして製造されてもよい。コンピュータ可読媒体は、データの記憶が可能であり、その後、コンピュータシステムによって読み取ることができるものであればどのようなデータ記憶装置であってもよい。コンピュータ可読媒体の例には、ハードディスク、ネットワーク接続記憶装置（ＮＡＳ）、リードオンリーメモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープおよび他の光学式データ記憶装置および非光学式データ記憶装置などがある。コンピュータ可読媒体には、コンピュータ可読コードが分散式に記憶されて、実行されるように、ネットワークに結合されたコンピュータシステムを介して分散されるコンピュータ可読有形的表現媒体が含まれてもよい。特定の順序で方法オペレーションを記載したが、所望の方法でオーバーレイオペレーションの処理が実行されるのであれば、他のハウスキーピングオペレーションをオペレーションの間に実行してもよいし、わずかな時間差でオペレーションが行われるようにオペレーションを調整してもよい。あるいは、処理に関連づけられる様々な間隔で処理を発生させることができるシステムにオペレーションを分散してもよいことを理解されたい。上記に、本発明を明確に理解できるように多少詳細に記載したが、添付の特許請求の範囲内で変更例または変形例を実施できることは明らかである。したがって、本実施形態は例示的なものであり、制限するものではなく、本発明は本明細書に記載されている詳細な事項に限定されず、添付の特許請求の範囲およびその均等物の範囲内で変更されてもよい。
【図１】
0005551203.tif 000002
【図２】
0005551203.tif 000003
【図３】
0005551203.tif 000004
【図４】
0005551203.tif 000005
【図５】
0005551203.tif 000006
【図６】
0005551203.tif 000007
【図７】
0005551203.tif 000008
【図８】
0005551203.tif 000009
【図９】
0005551203.tif 000010
【図１０】
0005551203.tif 000011
【図１１Ａ】
0005551203.tif 000012
【図１１Ａ−１】
0005551203.tif 000013
【図１１Ｂ】
0005551203.tif 000014
【図１２Ａ】
0005551203.tif 000015
【図１２Ｂ】
0005551203.tif 000016
【図１２Ｃ】
0005551203.tif 000017
【図１３】
0005551203.tif 000018
【図１４】
0005551203.tif 000019
【図１５】
0005551203.tif 000020
【図１６】
0005551203.tif 000021
【図１７】
0005551203.tif 000022
【図１８】
0005551203.tif 000023
【図１９】
0005551203.tif 000024
【図２０Ａ】
0005551203.tif 000025
【図２０Ｂ】
0005551203.tif 000026
【図２１】
0005551203.tif 000027
【図２２】
0005551203.tif 000028
【図２３】
0005551203.tif 000029
【図２４】
0005551203.tif 000030