(57)【要約】【課題】コンピュータネットワークを介してチャットセッションでユーザが他のユーザとハプティックチャットメッセージを交換できるようにするチャットインターフェースを提供する。【解決手段】入力デバイスと、ネットワークインターフェースと、マイクロフォン、前記ネットワークインターフェース、および前記入力デバイスと通信するプロセッサとを含み、前記プロセッサが、テキストメッセージを含む入力を、ユーザから受信し、前記テキストメッセージに、ハプティックコマンドを関連付け、前記テキストメッセージ、および前記ハプティックコマンドを、リモートデバイスに伝送するように構成されているデバイス。【選択図】図１
2014112411.tif 000002
【特許請求の範囲】
【請求項１】
テキストメッセージを含む入力を、受信することと、
前記テキストメッセージに、ハプティックコマンドを関連付けることと、
前記テキストメッセージ、および前記ハプティックコマンドを、一人または複数の受取人へ伝送することと
を含む方法。
【請求項２】
前記テキストメッセージを伝送することが、無線ネットワーク全体に、前記テキストメッセージを伝送することを含む請求項１の方法。
【請求項３】
前記テキストメッセージ、および前記ハプティックコマンドが、シミュレーションされた人物によって伝送される請求項１の方法。
【請求項４】
前記ハプティックコマンドが、オーサリングされたハプティックコマンドを含む請求項１の方法。
【請求項５】
前記ハプティックコマンドを、ハプティックコマンドの標準化されたライブラリから選択することをさらに含む請求項１の方法。
【請求項６】
入力デバイスと、
ネットワークインターフェースと、
マイクロフォン、前記ネットワークインターフェース、および前記入力デバイスと通信するプロセッサと
を含み、前記プロセッサが、
テキストメッセージを含む入力を、受信し、
前記テキストメッセージに、ハプティックコマンドを関連付け、
前記テキストメッセージ、および前記ハプティックコマンドを、一人または複数の受取人に伝送する
ように構成されているデバイス。
【請求項７】
前記ネットワークインターフェースが、無線ネットワークインターフェースである請求項６のデバイス。
【請求項８】
前記テキストメッセージ、および前記ハプティックコマンドが、シミュレーションされた人物によって伝送される請求項６のデバイス。
【請求項９】
前記ハプティックコマンドが、オーサリングされたハプティックコマンドを含む請求項６のデバイス。
【請求項１０】
前記プロセッサが、前記ハプティックコマンドを、ハプティックコマンドの標準化されたライブラリから選択するようにさらに構成されている請求項６のデバイス。
【請求項１１】
プログラムコードを含むコンピュータ読み取り可能媒体であって、前記プログラムコードが、
テキストメッセージを含む入力を受信するためのプログラムコードと、
前記テキストメッセージに、ハプティックコマンドを関連付けるためのプログラムコードと、
前記テキストメッセージ、および前記ハプティックコマンドを、一人または複数の受取人へ伝送するためのプログラムコードと
を含むコンピュータ読み取り可能媒体。
【請求項１２】
前記テキストメッセージおよび前記ハプティックコマンドを伝送するためのプログラムコードが、前記テキストメッセージ、および前記ハプティックコマンドを、無線ネットワークを介して伝送するためのプログラムコードを含む請求項１１のコンピュータ読み取り可能媒体。
【請求項１３】
前記テキストメッセージおよび前記ハプティックコマンドを伝送するためのプログラムコードが、前記テキストメッセージ、および前記ハプティックコマンドを、シミュレーションされた人物によって伝送するためのプログラムコードを含む請求項１１のコンピュータ読み取り可能媒体。
【請求項１４】
前記ハプティックコマンドが、オーサリングされたハプティックコマンドを含む請求項１１のコンピュータ読み取り可能媒体。
【請求項１５】
前記プログラムコードが、前記ハプティックコマンドを、ハプティックコマンドの標準化されたライブラリから選択するためのプログラムコードをさらに含む請求項１１のコンピュータ読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、人間がコンピュータシステムとやりとりができるようにするためのインターフェースデバイスに係わり、より詳細には、ユーザからコンピュータシステムに入力を提供し、ユーザへのフォースフィードバックを実現するコンピュータインターフェースデバイスに係わる。
【背景技術】
【０００２】
インターフェースデバイスを使用すると、ユーザはコンピュータ上で、ゲームをプレイする、シミュレーションまたは仮想現実環境を経験する、コンピュータ支援設計システムを使用する、グラフィックユーザインターフェース（ＧＵＩ）を操作する、あるいはそれ以外の場合画面上に描かれるイベントまたは画像に影響を及ぼすなどの機能及びタスクを実行するために、コンピュータシステムによって表示される環境と対話することができる。このような対話に使用される共通の人間−コンピュータインターフェースデバイスは、表示された環境を制御するコンピュータシステムに接続されるジョイスティック、マウス、トラックボール、スタイラス、タブレット、感圧ボール等を含む。一般的には、コンピュータは、ジョイスティックハンドルまたはマウスなどのユーザが操作できる物理オブジェクトのユーザの操作に応えて環境を更新し、ユーザに視覚的及び音声的なフィードバックを提供する。コンピュータは、位置を示す信号をコンピュータに送信するインターフェースデバイス上に設けられるセンサによってユーザがユーザオブジェクトを操作するのを感知する。
【０００３】
いくつかのインターフェースデバイスでは、「フォースフィードバック」としても知られているハプティックフィードバックもユーザに与えられる。これらの種類のインターフェースデバイスは、インターフェースデバイスのユーザによって操作可能なオブジェクトを操作するユーザによって感じられる物理的なセンセーションを提供できる。例えば、ロジテック社（Ｌｏｇｉｔｅｃｈ．Ｉｎｃ．）のウィングマン（Ｗｉｎｇｍａｎ）フォースジョイスティックまたはウィングマンフォースフィードバックマウスは、コンピュータに接続されてよく、制御装置のユーザにフォースを与える。デバイスでは１つまたは複数のモータまたは他のアクチュエータが使用され、制御コンピュータシステムに接続される。コンピュータシステムは、アクチュエータに制御信号またはコマンドを送信することにより、表示されているイベント及び対話に関連および調和して、及び表示されているイベント及び対話と連係するジョイスティック上の力を制御する。このようにして、コンピュータシステムは、ユーザがジョイスティックまたはインターフェースデバイスの他のオブジェクトを掴んでいる、あるいは触っているときに、供給される他のフィードバックと関連してユーザに物理的なフォースセンセーションを伝えることができる。例えば、ユーザが操作可能なオブジェクトを移動し、表示されているカーソルに、別の表示されているグラフィックオブジェクトと対話させると、コンピュータは、アクチュエータにユーザオブジェクトに対するフォースを出力させるコマンドを発行し、ユーザに感触のセンセーションを伝えることができる。
【０００４】
フォースフィードバックは、エフェクトだけではなく考えとメッセージも伝達するために使用できる。フォースは、多くの例で、テキストまたは音声メッセージの中では明白ではない可能性がある追加情報をメッセージの受取人に与える。例えば、インターネット上で別のユーザに送信されるテキストメッセージは、ユーザが、表現されているトピックまたは他のメッセージサブテキストについてどれほど強く感じているのかを示す情報を含んでいない可能性がある。ユーザは、横から見ると笑っている顔に似ているコロンと右括弧マーク：）として表現されるユーモラスなメッセージを示す「スマイリー」などの、感情またはメッセージのアイコンによる表現である「エモティコン」として知られている周知のアイコンまたは記号を使用してこのサブテキストを表現しようとすることができる。スマイリーエモティコンの変化が、種々の他の感情を表現できる。しかしながら、このようなエモティコンと記号は、それらが伝達するメッセージの複雑さ、及び異なるメッセージの考えられる範囲という点で限られている。対照的に、ハプティックフィードバックは、このようなサブテキストを他のユーザに対してより説得力のある様式で表現するために、はるかに複雑で直接的な方法を提供できる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第５，３７９，８１１号明細書
【特許文献２】米国特許第６，１６９，５４０号明細書
【特許文献３】米国特許第５，７３４，３７３号明細書
【特許文献４】米国特許第６，０２８，５９３号明細書
【特許文献５】米国特許第６，１６１，１２６号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、ユーザが、コンピュータネットワーク上で他のユーザとハプティックチャットメッセージを交換できるようにするインターフェースを目的としている。ユーザは、チャット環境でより多様化し、説得力のあるメッセージを送信できるようにするハプティックインターフェースデバイスを有する一人または複数のリモートユーザにハプティックセンセーションを引き起こすメッセージを提供できる。
【課題を解決するための手段】
【０００７】
より詳細には、本発明の請求項１に記載の方法は、テキストメッセージを含む入力を、受信することと、前記テキストメッセージに、ハプティックコマンドを関連付けることと、前記テキストメッセージ、および前記ハプティックコマンドを、一人または複数の受取人へ伝送することとを含む方法である。
請求項２記載の発明は、前記テキストメッセージを伝送することが、無線ネットワーク全体に、前記テキストメッセージを伝送することを含む請求項１の方法である。
【０００８】
請求項３記載の発明は、前記テキストメッセージ、および前記ハプティックコマンドが、シミュレーションされた人物によって伝送される請求項１の方法である。
請求項４記載の発明は、前記ハプティックコマンドが、オーサリングされたハプティックコマンドを含む請求項１の方法である。
請求項５記載の発明は、前記ハプティックコマンドを、ハプティックコマンドの標準化されたライブラリから選択することをさらに含む請求項１の方法である。
【０００９】
請求項６記載の発明は、入力デバイスと、ネットワークインターフェースと、マイクロフォン、前記ネットワークインターフェース、および前記入力デバイスと通信するプロセッサとを含み、前記プロセッサが、テキストメッセージを含む入力を、受信し、前記テキストメッセージに、ハプティックコマンドを関連付け、前記テキストメッセージ、および前記ハプティックコマンドを、一人または複数の受取人に伝送するように構成されている
デバイスである。
【００１０】
請求項７記載の発明は、前記ネットワークインターフェースが、無線ネットワークインターフェースである請求項６のデバイスである。
請求項８記載の発明は、前記テキストメッセージ、および前記ハプティックコマンドが、シミュレーションされた人物によって伝送される請求項６のデバイスである。
請求項９記載の発明は、前記ハプティックコマンドが、オーサリングされたハプティックコマンドを含む請求項６のデバイスである。
【００１１】
請求項１０記載の発明は、前記プロセッサが、前記ハプティックコマンドを、ハプティックコマンドの標準化されたライブラリから選択するようにさらに構成されている請求項６のデバイスである。
請求項１１記載の発明は、プログラムコードを含むコンピュータ読み取り可能媒体であって、前記プログラムコードが、テキストメッセージを含む入力を受信するためのプログラムコードと、前記テキストメッセージに、ハプティックコマンドを関連付けるためのプログラムコードと、前記テキストメッセージ、および前記ハプティックコマンドを、一人または複数の受取人へ伝送するためのプログラムコードとを含むコンピュータ読み取り可能媒体である。
【００１２】
請求項１２記載の発明は、前記テキストメッセージおよび前記ハプティックコマンドを伝送するためのプログラムコードが、前記テキストメッセージ、および前記ハプティックコマンドを、無線ネットワークを介して伝送するためのプログラムコードを含む請求項１１のコンピュータ読み取り可能媒体である。
請求項１３記載の発明は、前記テキストメッセージおよび前記ハプティックコマンドを伝送するためのプログラムコードが、前記テキストメッセージ、および前記ハプティックコマンドを、シミュレーションされた人物によって伝送するためのプログラムコードを含む請求項１１のコンピュータ読み取り可能媒体である。
【００１３】
請求項１４記載の発明は、前記ハプティックコマンドが、オーサリングされたハプティックコマンドを含む請求項１１のコンピュータ読み取り可能媒体である。
請求項１５記載の発明は、前記プログラムコードが、前記ハプティックコマンドを、ハプティックコマンドの標準化されたライブラリから選択するためのプログラムコードをさらに含む請求項１１のコンピュータ読み取り可能媒体である。
【００１４】
テキストメッセージを含む入力を、ユーザから受信することと、前記テキストメッセージに、ハプティックコマンドを関連付けることと、前記テキストメッセージ、および前記ハプティックコマンドを、リモートデバイスへ伝送することとを含む方法が提供されてもよい。
前記テキストメッセージを伝送することは、無線ネットワーク全体に、前記テキストメッセージを伝送することを含んでもよい。
【００１５】
入力デバイスと、ネットワークインターフェースと、マイクロフォン、前記ネットワークインターフェース、および前記入力デバイスと通信するプロセッサとを含み、前記プロセッサが、テキストメッセージを含む入力を、ユーザから受信し、前記テキストメッセージに、ハプティックコマンドを関連付け、前記テキストメッセージ、および前記ハプティックコマンドを、リモートデバイスに伝送するように構成されているデバイスが提供されてもよい。
【００１６】
前記ネットワークインターフェースは、無線ネットワークインターフェースであってもよい。
当該デバイスは、手で持つデバイスであってもよい。
音声を含む入力を、ユーザから受信することと、前記音声に関連付けられたハプティックコマンドを決定することと、前記音声、および前記ハプティックコマンドを、リモートデバイスに伝送することとを含む方法が提供されてもよい。
【００１７】
前記ハプティックコマンドを決定することは、ハプティック効果のユーザによる選択に基づくものであってもよい。
前記ハプティックコマンドを決定することは、前記音声の音声認識に基づくものであってもよい。
マイクロフォンと、インターネットを用いて通信するように構成されたネットワークインターフェースと、入力デバイスと、前記マイクロフォン、前記ネットワークインターフェース、および前記入力デバイスと通信するプロセッサとを含み、前記プロセッサが、前記マイクロフォンから、音声メッセージを受信し、前記音声メッセージに関連付けられたハプティック効果を決定し、前記音声メッセージ、および前記ハプティック効果を、前記ネットワークインターフェースを用いて、リモートデバイスに伝送するように構成されているデバイスが提供されてもよい。
【００１８】
前記プロセッサは、前記ハプティック効果を、ハプティック効果のユーザによる選択に基づいて決定するように、さらに構成されていてもよい。
前記プロセッサは、前記ハプティック効果を、前記音声メッセージの音声認識に基づいて決定するように、さらに構成されていてもよい。
前記ネットワークインターフェースは、無線ネットワークインターフェースであってもよい。
【００１９】
当該デバイスは、手で持つデバイスであってもよい。
ネットワーク全体で他のユーザにハプティックメッセージを提供できる、ローカルコンピュータにより表示されるチャットインターフェースが提供されてもよい。チャットインターフェースは、ローカルコンピュータのディスプレイ装置に表示され、送信されたフォース情報を含むことができる発信チャットメッセージを提供するローカルコンピュータのユーザからの入力データはチャットインターフェースで受信されてもよい。発信チャットメッセージは、コンピュータネットワークを介してローカルホストコンピュータに接続されるリモートコンピュータに送信され、リモートコンピュータはチャットインターフェースを表示し、少なくとも部分的にはフォース情報に基づくリモートコンピュータのユーザにハプティックセンセーションを出力することができてもよい。受信されたフォース情報を含む場合もあるリモートコンピュータからの入信メッセージが、チャットインターフェースで受信されてもよい。入信チャットメッセージは、ローカルコンピュータのユーザに対し、ディスプレイ装置上に表示されてもよい。ハプティックセンセーションは、ローカルコンピュータに結合されるハプティックデバイスを使用してローカルコンピュータのユーザに出力することができ、該ハプティックセンセーションはリモートコンピュータから受信される受信済みフォース情報に少なくとも部分的に基づいてもよい。
【００２０】
ローカルコンピュータ及びリモートコンピュータは、ＩＲＣサーバなどのサーバマシンにネットワークを介してそれぞれ結合されるか、あるいはピアツーピア接続を介して互いに結合できてもよい。チャットインターフェースは、好ましくは、それぞれがチャットメッセージ中のフォース情報として送信されるためにユーザによって選択可能である複数の使用可能なハプティックエフェクトを含む。また、チャットインターフェースにより、ユーザはリモートコンピュータに送信されるフォース情報によって参照されるカスタムハプティックセンセーションも作成できてもよい。フォース情報は、好ましくはサウンド情報とも関連付けられ、その結果リモートコンピュータは、ハプティックセンセーションの出力と協調してサウンドエフェクトを出力してもよい。１つの実施形態では、受信されたフォース（または他の）情報は、そのチャットインターフェースと同時にローカルコンピュータ上で実行している、ユーザへのハプティックセンセーションの出力を制御するバックグラウンドアプリケーションによって処理することができる。
【００２１】
送信されたフォース情報は、リモートコンピュータにあるハプティックデバイスにフォースセンセーションを出力するために必要とされる追加のフォース情報を検索するためのネットワークロケーションとして、その後リモートコンピュータ上のチャットインターフェースに使用されるネットワークアドレスを含むことがある。例えば、該ネットワークアドレスは、ハプティックデバイスにより出力できる、標準的なハプティックセンセーションとカスタマイズされたハプティックセンセーションのライブラリを記憶するウェブサーバのアドレスである場合がある。さらに、カスタムフォース情報は、カスタムフォース情報に基づいてハプティックセンセーションを出力するためにアップロードされたカスタムフォース情報が別のクライアントコンピュータによってダウンロードできるネットワークアドレスにあるサーバにクライアントマシンからアップロードできてもよい。チャットメッセージ中のフォース情報は、代わりに、所望されるハプティックセンセーションを特徴付けるデータを含むことがある。好ましくは、チャットインターフェースにより、ローカルコンピュータのユーザは、フォースコマンドとして送信されるか、あるいはフォース情報をリモートコンピュータに送信させるテキスト文字を含むテキストコマンドを入力できる。テキストフォースコマンドは、好ましくはリモートコンピュータのチャットインターフェースに表示され、テキストフォースコマンドの性質を示すための少なくとも１つの区切り文字を含むか、あるいはエモティコンのために使用される文字などの所定の文字（複数の場合がある）である場合がある。チャットメッセージは、音声フォーマットまたは他のフォーマットを取ることもあり、１つの実施形態では、ハプティックセンセーションを波形コンテンツに基づかせるために、チャットメッセージ中の音声波形を分析できるようにする。
【００２２】
ハプティックセンセーションを使用してチャットメッセージに対する機能拡張を可能とするための機能をコンピュータ上のチャットインターフェース内で提供してもよい。ユーザは所望されるハプティックセンセーションを選択する、あるいはチャットセッション中の一人または複数の他のユーザにメッセージを提供するためにハプティックセンセーションをカスタマイズすることさえできる。ハプティックセンセーションは、広範囲の感情及びメッセージの他のコンテンツとサブテキストを伝達できるようにし、コンピュータネットワーク全体で所望されるメッセージを表すためのさらに多くの自由をユーザに与えてもよい。
【００２３】
チャットセッションで他のユーザにハプティックメッセージを提供できる、ローカルコンピュータによって表示されるチャットインターフェースを提供するための方法は、前記ローカルコンピュータのディスプレイ装置で前記チャットインターフェースの表示を生じさせることと、前記ローカルコンピュータのユーザから前記チャットインターフェースへの、発信チャットメッセージを提供する入力データを受信し、前記発信チャットメッセージが送信されたフォース情報を含むことと、前記発信チャットメッセージを、ネットワークを介して前記ローカルホストコンピュータに接続されるリモートコンピュータに送信させ、前記リモートコンピュータが前記フォース情報に少なくとも部分的に基づいて前記リモートコンピュータのユーザにハプティックセンセーションを出力することと、前記リモートコンピュータから前記チャットインターフェースへの入信チャットメッセージを受信することと、前記ローカルコンピュータの前記ユーザに対し、ディスプレイ装置上に入信チャットメッセージを表示することと、を備えてもよい。
【００２４】
前記リモートコンピュータは、前記リモートコンピュータの前記ユーザにチャットインターフェースを表示してもよい。
前記リモートコンピュータは、前記リモートコンピュータに結合されるハプティックフィードバックインターフェースデバイスを使用して前記ハプティックセンセーションを出力してもよい。
【００２５】
前記入信チャットメッセージは、受信されたフォース情報を含み、前記ローカルコンピュータが前記ローカルコンピュータの前記ユーザに、前記受信されたフォース情報に少なくとも部分的に基づくハプティックセンセーションを出力してもよい。
前記ローカルコンピュータ及び前記リモートコンピュータは、それぞれ前記ネットワークを介してサーバマシンに結合されてもよい。
【００２６】
前記チャットインターフェースは、前記フォース情報として送信されるために前記ユーザによって選択可能な複数の使用可能なハプティックエフェクトを含んでもよい。
前記リモートコンピュータは、前記ハプティックセンセーションの前記出力と協調してサウンドエフェクトを出力するように、前記フォース情報がサウンド情報と関連付けられてもよい。
【００２７】
前記チャットインターフェースは、前記ユーザが、前記リモートコンピュータに送信される前記フォース情報により参照されるカスタムハプティックセンセーションを作成できるようにしてもよい。
前記チャットインターフェースは、それぞれが特定のハプティックセンセーションと関連付けられる複数のボタンを含み、前記ユーザが、前記特定のハプティックセンセーションに関連付けられる前記ボタンを選択することによって特定のハプティックセンセーションを生じさせてもよい。
【００２８】
前記フォース情報は、チャットセッションの複数のユーザの部分集合だけに送信され、前記ユーザの部分集合が前記ローカルコンピュータで前記ユーザにより選択されてもよい。
前記チャットインターフェースに含まれる複数のボタンは、前記ローカルコンピュータで前記ユーザにより選択されるユーザの前記部分集合だけに前記フォース情報を送信する一連のウィスパボタンを含んでもよい。
【００２９】
前記フォース情報が、前記リモートコンピュータに結合される前記ハプティックデバイスへのフォースセンセーションの前記出力を命令するために、前記リモートコンピュータでチャットインターフェースにより認識されるコマンドを含んでもよい。
前記フォース情報は、前記リモートコンピュータ上で、前記リモートコンピュータに結合される前記ハプティックデバイスへフォースセンセーションを出力するために必要とされる追加フォース情報を検索するネットワークロケーションとしてチャットインターフェースによって使用されるネットワークアドレスを含んでもよい。
【００３０】
前記ネットワークアドレスは、前記ハプティックデバイスによって出力できる標準ハプティックセンセーション及びカスタマイズされたハプティックセンセーションのライブラリを記憶するウェブサーバのアドレスであってもよい。
当該方法は、前記ネットワークアドレスでサーバにカスタムフォース情報をアップロードすることをさらに備えてもよく、この場合、前記アップロードされたカスタムフォース情報は、前記カスタムフォース情報に基づいてハプティックセンセーションを出力するために前記リモートコンピュータによってダウンロードできてもよい。
【００３１】
前記フォース情報は、出力される特定のハプティックセンセーションを指定し、前記特定のハプティックセンセーションを特徴付けるデータを含んでもよい。
前記チャットインターフェースは、前記フォース情報を前記リモートコンピュータに対し送信させるためのテキストコマンドを前記ローカルコンピュータの前記ユーザが入力できるようにしてもよい。
【００３２】
ローカルコンピュータ上で、実行中のチャットセッションで他のクライアントコンピュータと通信できるチャットインターフェースを提供するための方法は、前記ローカルコンピュータで実行中の前記チャットインターフェースを提供することと、前記ローカルコンピュータのユーザから前記チャットインターフェースへの、発信チャットメッセージを提供する入力データを受信することと、前記発信チャットメッセージを、ネットワークを介して前記ローカルホストコンピュータに接続されるリモートコンピュータに送信させることと、前記リモートコンピュータから前記チャットインターフェースへの入信チャットメッセージを受信することと、前記ローカルコンピュータの前記ユーザに前記入信チャットメッセージを出力することと、前記ローカルコンピュータに結合されるハプティックデバイスを使用して前記ローカルコンピュータの前記ユーザに、前記リモートコンピュータから受信される前記受信チャットメッセージに少なくとも部分的に基づくハプティックセンセーションを出力することと、を備えてもよい。
【００３３】
前記入信チャットメッセージが受信されたフォース情報を含み、前記ハプティックセンセーションが前記受信されたフォース情報に少なくとも部分的に基づき、前記発信チャットメッセージが送信されたフォース情報を含んでもよい。
前記ローカルコンピュータは、ディスプレイ装置に前記チャットインターフェースを表示し、前記リモートコンピュータは、前記リモートコンピュータのユーザにリモートチャットインターフェースを表示し、前記リモートコンピュータが前記ローカルコンピュータから受信される前記送信されたフォース情報に少なくとも部分的に基づいて、前記リモートコンピュータの前記ユーザにハプティックセンセーションを出力してもよい。
【００３４】
前記リモートコンピュータは、前記リモートコンピュータに結合されるハプティックフィードバックインターフェースデバイスを使用して前記ハプティックセンセーションを出力してもよい。
前記ローカルコンピュータ及び前記リモートコンピュータは、それぞれ前記ネットワークを介してサーバマシンに結合されてもよい。
【００３５】
前記入信チャットメッセージは、前記ローカルコンピュータ上で実行している前記チャットインターフェースによって、前記ローカルコンピュータの前記ユーザに前記ハプティックセンセーションを出力するために必要とされる追加フォース情報を検索するロケーションとして認識されているネットワークアドレスを含んでもよい。
前記送信されたフォース情報は、出力される特定のハプティックセンセーションを指定し、前記特定のハプティックセンセーションを特徴付けるデータを含んでもよい。
【００３６】
前記サーバマシンは、インターネットリレーチャット（ＩＲＣ）サーバを含み、前記チャットインターフェースは、標準ＩＲＣプロトコルを使用して前記ＩＲＣサーバと通信してもよい。
前記入信チャットメッセージは、サウンド情報と関連付けられ、その結果前記ローカルコンピュータが前記ハプティックセンセーションの前記出力と協調してサウンドエフェクトを出力してもよい。
【００３７】
前記入信チャットメッセージは、１つまたは複数の表示された画像と関連付けられ、その結果前記ローカルコンピュータが前記ハプティックセンセーションの前記出力と協調して前記１つまたは複数の表示された画像を表示してもよい。
前記ネットワークアドレスは、前記ハプティックデバイスによって出力できる標準的なハプティックセンセーション及びカスタマイズされたハプティックセンセーションのライブラリを記憶するウェブサーバのアドレスであってもよい。
【００３８】
この方法は、前記ネットワークアドレスにあるサーバにカスタムフォース情報をアップロードすることをさらに備えてもよく、この場合、前記アップロードされたカスタムフォース情報が、前記カスタムフォース情報に基づいてハプティックセンセーションを出力するために前記リモートコンピュータによってダウンロードできてもよい。
前記チャットインターフェースは、前記ローカルコンピュータの前記ユーザが、前記送信されたフォース情報を前記リモートコンピュータに送信させるためにテキストフォースコマンドを入力できるようにしてもよい。
【００３９】
前記テキストフォースコマンドは、前記リモートコンピュータのチャットインターフェースに表示され、前記テキストフォースコマンドの性質を示すための少なくとも１つのデリミタ文字を含んでもよい。
前記テキストフォースコマンドは、前記リモートコンピュータの前記チャットインターフェースに表示され、エモティコンの少なくとも１つのテキスト文字を含んでもよい。
【００４０】
前記入信チャットメッセージ及び前記発信チャットメッセージは、前記チャットインターフェースで表示するためのテキスト文字を記述するデータを含み、前記送信され、受信されたフォース情報がテキスト文字を記述する前記データとしても提供されてもよい。
前記入力データ及び前記入信チャットメッセージは、音声出力を生じさせる音声データとして提供されてもよい。
【００４１】
前記入力データ及び前記入信チャットメッセージは、ディスプレイ装置によって表示されるテキスト文字として提供されてもよい。
前記入信チャットメッセージは、前記リモートコンピュータの前記ユーザの音声を表現する波形として提供されてもよい。
前記波形は、前記ローカルコンピュータによって分析され、前記分析は、前記ハプティックデバイスによって出力される前記ハプティックセンセーションと関連付けられる前記波形のコンテンツを検出してもよい。
【００４２】
前記コンテンツは、前記チャットメッセージの１つまたは複数のエモティコンを示し、前記ハプティックセンセーションが前記１つまたは複数のエモティコンと関連付けられてもよい。
コンピュータネットワーク全体で他のクライアントコンピュータにハプティックメッセージを提供することができる、ローカルコンピュータによって表示されるチャットインターフェースを提供するために前記ローカルコンピュータによって実行されるプログラム命令を記憶するコンピュータ読み取り可能媒体において、プログラム命令が、前記ローカルコンピュータのディスプレイ装置で前記チャットインターフェースの表示を生じさせるステップと、前記ローカルコンピュータのユーザから前記チャットインターフェースへの、出力チャットメッセージを提供する入力データを受信するステップと、前記発信チャットメッセージを、前記コンピュータネットワークを介して前記ローカルホストコンピュータに接続されるリモートコンピュータに送信させるステップと、前記リモートコンピュータから前記チャットインターフェースへの入信メッセージを受信するステップと、前記ローカルコンピュータの前記ユーザにディスプレイ装置上で前記入信チャットメッセージを表示するステップと、前記ローカルコンピュータに結合されるハプティックデバイスを使用して前記ローカルコンピュータの前記ユーザに、前記リモートコンピュータから受信される前記入信チャットメッセージに少なくとも部分的に基づくハプティックセンセーションを出力するステップと、を備えてもよい。
【００４３】
前記発信チャットメッセージは、送信されたフォース情報を含み、前記入信チャットメッセージは、受信されたフォース情報を含み、前記ハプティックセンセーションは、前記リモートコンピュータから受信される前記受信されたフォース情報に少なくとも部分的に基づいてもよい。
前記発信チャットメッセージ及び前記入信チャットメッセージは、テキスト文字を記述するデータを含んでもよい。
【００４４】
前記送信され、受信されたフォース情報は、テキスト文字として提供されてもよい。
前記受信されたフォース情報は、前記チャットインターフェースと同時に前記ローカルコンピュータ上で実行している、前記ハプティックデバイスによって前記ユーザに前記ハプティックセンセーションを前記出力することを制御するバックグラウンドアプリケーションによって処理されてもよい。
【００４５】
前記受信されたフォース情報は、前記ローカルコンピュータの前記ユーザに前記ハプティックセンセーションを出力するために必要とされる追加フォース情報を検索するロケーションとして前記ローカルコンピュータ上で実行している前記チャットインターフェースによって認識されるネットワークアドレスを含んでもよい。
前記プログラム命令は、さらに前記ネットワークアドレスにあるサーバにカスタムフォース情報をアップロードするステップを実行し、前記アップロードされたカスタムフォース情報が前記カスタムフォース情報に基づいてハプティックセンセーションを出力するために前記リモートコンピュータによってダウンロードできてもよい。
【００４６】
ローカルコンピュータによって表示される、コンピュータネットワーク全体で他のクライアントコンピュータにハプティックメッセージを提供できるチャットインターフェースを提供するための装置は、前記ローカルコンピュータのディスプレイ装置上でチャットインターフェースの表示を生じさせ、前記ローカルコンピュータの前記ユーザにディスプレイ装置上で入信チャットメッセージの表示を生じさせるための手段と、前記ローカルコンピュータのユーザから前記チャットインターフェースへの、発信チャットメッセージを提供する入力データを受信するための手段と、前記コンピュータネットワークを介して前記ローカルホストコンピュータに接続されるリモートコンピュータに送信される前記出力チャットメッセージを生じさせるための手段と、前記リモートコンピュータから前記チャットインターフェースへの前記入信メッセージを受信するための手段と、前記ローカルコンピュータに結合されるハプティックデバイスを使用して前記ローカルコンピュータの前記ユーザに、前記リモートコンピュータから受信される前記入信チャットメッセージに少なくとも部分的に基づくハプティックセンセーションを出力するための手段と、を備えてもよい。
【００４７】
本発明の優位点及び他の優位点は、本発明の以下の明細書を読み、図面の複数の図を研究すると当業者に明らかになるだろう。
【図面の簡単な説明】
【００４８】
【図１】本発明でクライアントコンピュータとして使用するのに適切なハプティックシステムを描くブロック図である。
【図２】本発明で使用するのに適したネットワーク構成を描くブロック図である。
【図３ａ】ハプティックメッセージを送受信できるようにする、本発明とともに用いられるチャットインターフェースの１つの実施形態の画面表示である。
【図３ｂ】ハプティックエフェクトが、ハプティックメッセージとして送信されるために選択される図３ａのチャットインターフェースの画面表示である。
【図３ｃ】ユーザがカスタムハプティックエフェクトについての情報を指定できるようにするための図３ａのチャットインターフェースの入力画面の画面表示である。
【図３ｄ】ユーザが別のサーバに記憶されるリストからハプティックエフェクトを検索、試験できるようにするための図３ａのチャットインターフェースの選択画面の画面表示である。
【図４】ハプティックメッセージを送信するために使用されるボタンを含む、図３ｂのチャットインターフェースの別の実施態様の画面表示である。
【発明を実施するための形態】
【００４９】
図１は、本発明とともに使用するための、ホストコンピュータシステムによって制御される、フォースフィードバックインターフェースシステム１０を描くブロック図である。インターフェースシステム１０は、ホストコンピュータシステム１２とインターフェースデバイス１４を含む。
ホストコンピュータシステム１２は、好ましくは、ＩＢＭと互換性のあるパーソナルコンピュータまたはＭａｃｉｎｔｏｓｈパーソナルコンピュータなどのパーソナルコンピュータ、あるいはＳＵＮまたはＳｉｌｉｃｏｎ  Ｇｒａｐｈｉｃｓのワークステーションなどのワークステーションである。代わりに、ホストコンピュータシステム１２は、Ｎｉｎｔｅｎｄｏ、ＳｅｇａまたはＳｏｎｙから市販されているシステムなどの家庭用テレビゲームシステム、テレビに接続する「セットトップボックス」あるいは「ネットワークコンピュータ」等の１つである場合がある。ホストコンピュータシステム１２は、好ましくは、周辺機器及びインターフェースデバイス１４を介してユーザ２２が対話しているホストアプリケーションプログラムを実現する。例えば、ホストアプリケーションプログラムは、テレビゲーム、医療シミュレーション、科学分析プログラム、オペレーティングシステム、グラフィックユーザインターフェース、またはフォースフィードバックを活用する他のアプリケーションプログラムである場合がある。一般的には、ホストアプリケーションは、後述されるように、ディスプレイ出力デバイスで表示される画像、及び／または聴覚信号などの他のフィードバックを提供する。
【００５０】
ホストコンピュータシステム１２は、好ましくはホストマイクロプロセッサ１６、ランダムアクセスメモリ（ＲＡＭ）１７、読取専用メモリ（ＲＯＭ）１９、入力／出力（Ｉ／Ｏ）電子回路２１、クロック１８、表示画面２０、及び音声出力装置２１を含む。表示画面２０は、ホストコンピュータシステム１２または他のコンピュータシステムによって生成される画像を表示するために使用でき、標準表示画面、ＣＲＴ、フラットパネルディスプレイ、３Ｄゴーグル、または任意の他の視覚インターフェースである場合がある。スピーカなどの音声出力装置２１は、好ましくは増幅器、フィルタ及び（サウンドカードなどの）当業者に周知である他の回路構成要素を介してホストマイクロプロセッサ１６に結合され、ホストコンピュータ１８からユーザ２２にサウンド出力を提供する。他の種類の周辺装置を、記憶装置（ハードディスクドライブ、ＣＤ  ＲＯＭ／ＤＶＤ−ＲＯＭドライブ、フロッピー（登録商標）ディスクドライブ等）などのホストプロセッサ１６、プリンタ、及び他の入出力装置に結合することもできる。本発明とともに用いることができるインターフェースを実現するためのデータは、メモリ（ＲＡＭまたはＲＯＭ）、ハードディスク、ＣＤ−ＲＯＭまたはＤＶＤ−ＲＯＭなどのコンピュータ読み取り可能媒体上に記憶できる。
【００５１】
インターフェースデバイス１４は、双方向バス２４によってホストコンピュータシステム１２に結合される。該双方向バスは、ホストコンピュータシステム１２とインターフェースデバイスの間のどちらかの方向で信号を送信する。ＲＳ２３２またはユニバーサルシリアルバス（ＵＳＢ）シリアルインターフェースポート、パラレルポート、ゲームポート等のホストコンピュータシステム１２のインターフェースポートは、バス２４をホストコンピュータシステム１２に接続する。
【００５２】
インターフェースデバイス１４は、ローカルマイクロプロセッサ２６、ローカルメモリ２７、センサ２８、アクチュエータ３０、ユーザオブジェクト３４、オプションのセンサインターフェース３６、オプションのアクチュエータインターフェース３８、及び他のオプションの入力装置３９を含む。ローカルマイクロプロセッサ２６はバス２４に結合され、インターフェースデバイス１４にとってはローカルと考えられ、インターフェースデバイス１４のフォースフィードバック及びセンサＩ／Ｏ専用である。マイクロプロセッサ２６は、コンピュータホスト１２からのコマンドまたは要求を待機する、コマンドまたは要求を復号する、及びコマンドまたは要求に従って入力信号と出力信号を処理する／制御するためのソフトウェア命令を備えることができる。加えて、プロセッサ２６は、センサ信号を読み取り、それらのセンサ信号、時間信号、及びホストコマンドに従って選択される記憶または中継される命令から適切なフォースを計算することによりホストコンピュータ１６とは無関係に動作することが好ましい。ローカルマイクロプロセッサ２６として使用するために適切なマイクロプロセッサは、例えば、ＭｏｔｏｒｏｌａのＭＣ６８ＨＣ７１１Ｅ９、ＭｉｃｒｏｃｈｉｐのＰＩＣ１６Ｃ７４、及びＩｎｔｅｌ  Ｃｏｒｐ．の８２９３０ＡＸを含む。マイクロプロセッサ２６は、１つのマイクロプロセッサチップ、または複数のプロセッサ及び／またはコプロセッサチップ、及び／またはデジタル信号プロセッサ（ＤＳＰ）機能を含むことができる。
【００５３】
マイクロプロセッサ２６は、センサ２８から信号を受信し、バス２４上で、ホストコンピュータ１２により提供される命令に従ってインターフェースデバイス１４のアクチュエータ３０に信号を提供できる。例えば、好ましいローカル制御実施形態では、ホストコンピュータシステム１２は、バス２４上でマイクロプロセッサ２６に高水準監督コマンドを提供し、マイクロプロセッサ２６は、高水準コマンドに従って、ホストコンピュータ１８には無関係に、センサ及びアクチュエータに対する低水準フォース制御ループを管理する。このようにして、フォースフィードバックシステムは、分散制御システムにおいて情報のホスト制御ループ及び情報のローカル制御ループを提供する。この動作は、米国特許番号第５，３７９，８１１号、第６，１６９，５４０号、及び第５，７３４，３７３号にさらに詳しく説明される。マイクロプロセッサ２６は、ボタンなどのインターフェース装置１４に含まれるいかなる他の入力装置３９からコマンドを受信することもでき、入力情報が受信され、任意の情報が入力情報に含まれることを示すためにホストコンピュータ１２に適切な信号を提供する。ＲＡＭ及び／またはＲＯＭなどのローカルメモリ２７は、好ましくはマイクロプロセッサ２６のための命令を記憶し、一時データ及び他のデータを記憶するためにインターフェースデバイス１４内のマイクロプロセッサ２６に結合される。さらに、ローカルクロック２９は、タイミングデータを提供するためにマイクロプロセッサ２６に結合できる。
【００５４】
センサ２８は、１つまたは複数の自由度に沿ってインターフェースデバイス１４のユーザオブジェクト３４の位置、運動及び／または他の特性を感知し、それらの特性を表す情報を含む信号をマイクロプロセッサ２６に提供する。ロータリーエンコーダまたはリニア光エンコーダ、電位差計、光センサ、速度センサ、加速度センサ、歪みゲージ、あるいは他の種類のセンサを使用できる。センサ２８は、マイクロプロセッサ２６及び／またはホストコンピュータシステム１２によって解釈できる信号にセンサ信号を変換するために使用できる、オプションのセンサインターフェース３６に電気信号を提供する。
【００５５】
アクチュエータ３０は、１つまたは複数の自由度に沿った１つまたは複数の方向でインターフェースデバイス１４のユーザオブジェクト３４にフォースを伝送する、及び／またはマイクロプロセッサ２６から受信される信号に応えてデバイス１４のハウジングにフォースを適用してよい。アクチュエータ３０は、アクティブアクチュエータとパッシブアクチュエータの２種類を含むことがある。アクティブアクチュエータは直線電流制御モータ、ステッピングモータ、空気圧／油圧アクティブアクチュエータ、トルカ（角範囲が限られたモータ）、音声コイルアクチュエータ、及びオブジェクトを移動するために力を伝達する他の種類のアクチュエータを含む。パッシブアクチュエータは、磁性粒子ブレーキ、摩擦ブレーキなどのアクチュエータ３０、あるいは空気圧／油圧パッシブアクチュエータのためにも使用できる。アクチュエータインターフェース３８は、マイクロプロセッサ２６からの信号を、アクチュエータ３０を駆動するのに適切な信号に変換するために、任意でアクチュエータ３０とマイクロプロセッサ２６の間で接続できる。
【００５６】
他の入力装置３９は、任意でインターフェースデバイス１４に含まれ、マイクロプロセッサ２６に、またはホストプロセッサ１６に入力信号を送信できる。このような入力装置は、ボタン、ダイヤル、スイッチ、レバーまたは他の機構を含むことがある。例えば、ユーザオブジェクト３４がジョイスティックである実施形態では、他の入力装置は、例えば、ジョイスティックのハンドルまたは基部に設けられる１つまたは複数のボタンを含むことがある。電源４０は、任意で、電力を提供するためにアクチュエータインターフェース３８及び／またはアクチュエータ３０に結合できる。安全スイッチ４１は、任意で、安全性の理由からアクチュエータ３０の動作を停止するための機構を提供するために、インターフェースデバイス１４に含まれる。
【００５７】
ユーザが操作可能なオブジェクト３４（「ユーザオブジェクト」）は、ユーザによって掴まれる、あるいはそれ以外の場合は接触されるまたは管理され、インターフェースデバイス１４に結合される物理的なオブジェクト、デバイスまたは製品である。「掴む」は、手によって、指先で、あるいは障害者の場合には口を使ってなどのなんらかの方法で、ユーザが物理的にオブジェクトに接することができることを意味する。ユーザ２２は、ユーザが表示画面２０上で見ているホストアプリケーションプログラムと話すために、オブジェクトを操作または移動できる。オブジェクト３４は、ジョイスティック、マウス、トラックボール、キーボード、（例えば、リンクの最後にある）スタイラス、ハンドル、球面（ｓｐｈｅｒｅ）、医療機器（腹腔鏡、カテーテル等）、ビリヤードの突き棒（ｐｏｏｌ  ｃｕｅ）（例えば、作動されたローラを通して突き棒を移動する）、ハンドグリップ、ノブ、ボタン、または他の製品である場合がある。
【００５８】
ハプティックフィードバックインターフェースデバイス１４は、マウス、ジョイスティック、ゲームパッド、ハンドル、ユーザが座る椅子パッド、釣りざお、ビリヤードの突き棒等を含む多様な形を取ることができる。種々のこれらの種類のデバイスは市販されている。例えば、本発明とともに使用するために適切なマウスは、同時係属米国特許第６，１６６，７２３号と第６，２１１，８６１号に記述されるマウスなどの運動感覚力マウスとｖｉｂｒｏｔａｃｔｉｌｅマウスを含む。ユーザオブジェクト３４及び／またはインターフェースデバイス１４も、ハプティックフィードバック機能性を有するキーボードである場合があり、例えば振動誘発アクチュエータアセンブリ（複数の場合がある）は、キーまたはキーボードハウジング上でのタクタイル（触覚）フィードバックをハプティックセンセーションとして生じさせるために配置できる。本発明と使用するためのシステムの１つの好ましい実施形態は、ユーザがチャットインターフェースでハプティックキーボードでメッセージを入力でき、カーソルを移動し、チャットインターフェース内で機能を選択するためにハプティックマウスを使用できるハプティックキーボードとハプティックマウスである。両方のデバイスとも本発明で伝達されるハプティックフィードバックを出力できる。したがって、両方のデバイスを使用するときには、ユーザは、ユーザがキーボード上に片手を置き、マウス上に片手を置くのか、キーボード上に両手を置くかまたはマウス上に片手を置くのか、あるいはキーボード上に手を置かず、マウス上に片手を置くのかに関係なくつねにハプティックフィードバックを経験できる。
（ハプティックフィードバックチャットインターフェース）
図２は、本発明と使用するのに適したコンピュータネットワーキング構造６０を描くブロック図である。当業者に周知であるように、チャット通信プログラム及び／またはＩＲＣなどのプロトコルを実現できるチャットサーバマシン７０を具備することができる。サーバは、例えばインターネット及び／またはワールドワイドウェブ、あるいはＬＡＮ、ＷＡＮ、または（無線網、デバイスネットワーク、電話網等を含む）他のネットワーク上で使用できる。クライアントマシン７２ａと７２ｂは、ネットワーク上でサーバに接続し、サーバと通信できる。各クライアントマシン７２は、前記に詳説されたようにユーザにハプティックセンセーションを出力し、クライアントマシンのユーザによって物理的に触れられ、操作されるハプティックデバイス７４に結合される。クライアントマシン７２ａ、７２ｂ及び７３は、サーバに接続し、サーバを通して、クライアントマシンは互いとの接続を確立できる。チャットの中で、各クライアントマシンのユーザは、データを、それが他のユーザによって読み取られ、感知される他のクライアントマシンの１台または複数台に送信する。チャットサーバ７０は、２台のクライアントマシンが互いを発見し、接続するための方法としてだけ使用でき、その結果クライアントマシン間の通信はそれ以降それら自体の間だけとなるか、あるいはチャットサーバ７０は、データを受信し、クライアントの間でデータを送り続けることができる。他の実施形態では、クライアントマシンは、多様な種類のネットワーク、接続及びチャネル上で、別個のサーバマシンを使用しなくても、ピアツーピア接続で互いに直接的に接続できる。ここに使用される用語「ネットワーク」は、すべてのこのような通信接続を指すことを目的とする。
【００５９】
説明されるインプリメンテーションでは、クライアント７２ａと７２ｂは、それぞれチャットクライアント機能部分７６及びハプティック制御機能部分７８を含む。チャットクライアント７６は、他のクライアントマシンからクライアントマシンのユーザにチャット通信を提供するために、標準的なプロトコルに従ってチャットサーバ７０と対話する。例えば、サーバ７０は、周知のＩＲＣプロトコルを使用してクライアントと通信するＩＲＣ（インターネットリレーチャット）サーバである場合がある。使用できる他の種類のチャットプロトコルは、純粋なＨＴＭＬベースのチャットプロトコル、Ｊａｖａ（登録商標）ベースのチャットプロトコル、他の基準に基づくプロトコルを含む。クライアント７３などの、サーバ７０に接続され、チャットセッションに参加しているいくつかのクライアントは、チャットクライアント部分７６を実現しているにすぎないので、ハプティックメッセージのハプティックインプリメンテーションを無視してよい。
【００６０】
ハプティック制御部分７８は、チャットメッセージと関連付けられる本発明のハプティックセンセーションに対する制御を提供するためにチャットクライアント部分７６と対話する。例えば、ハプティックメッセージまたはコマンドとして解釈される受信メッセージは、ハプティック制御部分７６によって検出することができ、ハプティックセンセーションは部分７８からハプティックデバイス７４に命令することができる。さらに、いくつかの実施形態では、ハプティック制御部分７８は、ウェブサーバ８０などの１台または複数台の他のサーバと通信できる。例えば、フォースエフェクトデータ、サウンドデータまたは他のデータは、特定のハプティックセンセーションを実現するためにハプティック制御部分７８によって検索できる。この動作は、以下にさらに詳しく説明される。
【００６１】
図３ａは、ネットワークチャットアプリケーションプログラム用のチャットインターフェースの一例を描く表示されたインターフェース１００を示すホストコンピュータ１２の表示画面２０の図である。当業者に周知であるように、ネットワークチャットプログラムにより、異なるコンピュータまたは端末にいる二人または三人以上の人はコンピュータネットワーク上で互いと通信できる。いくつかの実施形態では、ただ一人の人が、やはり本発明を利用できる、チャット状の通信の「シミュレーションされた人物」または、サーバ上で実行中のプログラムによって実現されるＡＩゲームキャラクターまたはプレーヤーなどのエンティティと対話できる。さまざまな実施形態では、テキスト、サウンド、画像またはこれらの組み合わせなどのさまざまなフォーマットのメッセージが送信できる。このチャットインターフェースにより、送信が所望されるメッセージに基づき、ネットワーク全体で、一人のユーザから一人または複数の他のユーザにハプティックセンセーションを送信することができる。ネットワークでハプティックフィードバックを提供するためのいくつかの方法は、米国特許第６，０２８，５９３号に説明されている。ネットワークは、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、インターネット、または他のネットワークである場合がある。
【００６２】
表示画面２０は、チャットインターフェース１００を表示して図示されている。インターフェース１００は、当業者に周知の方法を使用して、インターネットリレーチャット（ＩＲＣ）などの標準チャットプログラムとプロトコルを実行しているサーバを実現し、サーバに接続することができる。ＩＲＣは、あるクライアントから、チャットセッションに参加している他のクライアントにテキスト文字を送るチャットサーバ７０にテキスト文字を提供するにすぎない。いくつかの実施形態では、使用されるチャットプロトコルは、特定のプログラムでしか機能しない独占プロトコルである場合がある。
【００６３】
記載されている実施形態では、チャットクライアントプログラムは、すべての標準チャット接続を処理するが、ハプティック機能性プログラムは、ハプティックセンセーションの出力を処理するためにチャットプログラムと連動する。例えば、チャットインターフェース１００は、ウェブページとして、Ｍｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  ＥｘｐｌｏｒｅｒまたはＮｅｔｓｃａｐｅ  Ｎａｖｉｇａｔｏｒなどのウェブブラウザプログラムに表示できる。例えば、１つのインプリメンテーションでは、Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒウェブブラウザは、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐ．から入手できる、ＩＲＣサーバと通信するために必要なすべての機能及び必要なネットワークプロトコルを実行できるＭＳ  Ｃｈａｔ  ＡｃｔｉｖｅＸ  Ｃｏｎｔｒｏｌを利用できる。これは、図２に図示されるようにチャットクライアント部分７６である場合がある。ＡｃｔｉｖｅＸ  Ｃｏｎｔｒｏｌは、他のプログラムがこれらのイベントに作用できるようにするために、メッセージデータが受信されるときなどのイベントを生成できる。ハプティック制御部分７８は、チャットＡｃｔｉｖｅＸ  Ｃｏｎｔｒｏｌに沿って実行でき、制御からイベントを受信できる。イベントが発生すると、ハプティック制御部分は、特定的なハプティックコマンドまたはメッセージの入力をチェックし、適宜に、ユーザに対するハプティックセンセーションを引き起こすためのコマンドを生成できる。
【００６４】
代わりに、チャットインターフェース１００は、別個のアプリケーションプログラムとして、ワールドワイドウェブまたはインターネット上で実現される別のプログラムまたはオペレーティングシステム、Ｊａｖａ（登録商標）アプレット、または他のプログラムの機能部分、あるいは他のインプリメンテーションとして実現することができる。ワールドワイドウェブで送信されるウェブページ内のフォースフィードバックのために使用される類似した実施形態は、米国特許第６，１６１，１２６号に説明されている。例えば、ある実施形態では、ハプティックチャットインターフェースは、ユーザが、テキストを使用してチャットし、ファイルを互いに送信し、ゲームプログラム等を使用して互いに接続できるようにする、Ａｍｅｒｉｃａ  Ｏｎｌｉｎｅ  Ｉｎｃ．から入手できるＩＣＱまたはＡＯＬ  Ｉｎｓｔａｎｔ  Ｍｅｓｓｅｎｇｅｒなどの「インスタントメッセージ通信」プログラムの一部である場合がある。別の実施形態では、つねにクライアントコンピュータ上で実行中であるバックグラウンドアプリケーションが、送信及び／または受信されるすべての入力をチェックし、例えば入力が後述されるような括弧で囲まれたテキスト文字を有するかどうかなど、入力のどれかがハプティックメッセージとして適格かどうかを判断する。このようにして、標準チャットインターフェースプログラムはチャット機能性を提供するために使用でき、バックグラウンドアプリケーションが、ハプティックメッセージのためにハプティックセンセーションを可能にする。このようなバックグラウンドアプリケーションが使用されると、チャットプログラムおよびインスタントメッセージ通信プログラムなどの特定のアプリケーションプログラムが、バックグラウンドアプリケーションによって監視されるためにユーザによって指定でき、その結果、バックグラウンドアプリケーションはハプティックメッセージ通信に関連しない他のプログラムの入力と出力を無視する。カーソル位置を監視し、グラフィックオブジェクトの位置または種類に基づき、グラフィックユーザインターフェース内でハプティックセンセーションを適用するバックグラウンドアプリケーションも、このチャットインターフェースに適用できる。
【００６５】
依然として他の実施形態では、インターフェース１００は、ユーザがナビゲートし、操作できる２Ｄまたは３Ｄのグラフィック環境を描写することができる。例えば、インターネットまたは（例えば、ＶＲＭＬプロトコルを使用する）他のネットワーク上で実現される仮想環境またはゲーム環境では、メッセージは別の３Ｄキャラクターまたはａｖａｔａｒに送信することができ、メッセージに対するハプティック構成要素が受取人のために提供できる。
【００６６】
インターフェース１００は、情報フィールド１０２、チャットウィンドウ１０４、ユーザリストウィンドウ１０６、及びエフェクトウィンドウ１０８を含む。情報フィールド１０２によって、ユーザは、接続及び名前指定のオプションを指定できる。サーバ名（Ｓｅｒｖｅｒ  Ｎａｍｅ）フィールド１１２により、ユーザは接続先の特定のサーバを指定できる。例えば、説明されたインプリメンテーションにより、ユーザはＩＲＣサーバに接続できる。代わりに、このような機能性がチャットインターフェースで提供される場合、これは別のクライアントマシンに直接的に接続するためのクライアント名である場合がある。ニックネーム（Ｎｉｃｋｎａｍｅ）フィールド１１４により、ユーザはチャットの中で使用される名前を指定できる。ルーム名（Ｒｏｏｍ  Ｎａｍｅ）フィールド１１６により、ユーザは、「チャットルーム」つまり指定されたユーザだけが、チャットセッション中に互いに通信するためにそのチャットルーム内にいることができるようにする、チャットが行われる指定されたサーバ上の特定の領域を指定できる。「終了」（Ｌｅａｖｅ）ボタン１１８は、（例えば、キーボードまたはマウスカーソルを使って）ユーザによって選択されると、ユーザに、ユーザが現在参加しているチャットセッションを終了させる。属性１２０は、ユーザが、ウィンドウ１０８のエフェクトと関連付けられたハプティックセンセーションを、このようなエフェクトが別のユーザから受信されるときに感じるのか、及び／または、そのハプティックメッセージと関連付けられたサウンドエフェクトを、それが受信されるときに聞くのかどうかを（あるいは、いくつかの実施形態では、ハプティックエフェクトまたはサウンドエフェクトがユーザによって送信されるときに、ユーザがメッセージの受取人がそれを経験するようにメッセージをハプティックに、及び聴覚的に経験できるように）、ユーザが指定できるようにする。アイコン属性１２２により、ユーザは、ユーザが別のユーザから受信される「アイコン」（エモティコン）、つまりそれぞれのメッセージが単一のコマンドまたはアイコンによって表現される本発明で使用されるときにハプティックコンテンツ及び聴覚コンテンツを有するメッセージ、と関連付けられるハプティックセンセーション及び／またはサウンドエフェクトを感じるかどうかを指定できるようにする。例えば、スマイリーアイコン（“：）”）では、属性１２２が選択されている場合には、受信時に、所定のフォースセンセーションとサウンドがユーザに出力される。したがって、ユーザは、自分が、チャットインターフェース１００で受信されるアイコンのメッセージのハプティックコンテンツ及び／または聴覚コンテンツを経験することを希望するかどうかを選択できる。
【００６７】
チャットウィンドウ１０４は、現在チャットセッション中のユーザのコンピュータに接続されている他のユーザから送信されるメッセージだけではなく、ユーザによってタイプされる（あるいはそれ以外の場合入力される）テキストメッセージも表示する。ユーザは、テキストエントリーフィールド１２６にテキストメッセージをタイプし、ボタン１２８を選択することによってチャットセッション中の全ユーザにメッセージを送信することができるか、あるいはボタン１３０を選択することによってウィンドウ１０６で選択されるユーザだけにメッセージを「ささやく」ことができる。他のインプリメンテーションでは、チャットセッション中のユーザのそれぞれが、別のウィンドウまたはそのユーザ専用のインターフェース１００の他の領域にメッセージを表示できる。ユーザリストウィンドウ１０６は、ユーザが参加している、あるいは（例えば、ユーザが自分自身のメッセージを送信せずに観察することを希望するチャットルーム内に）観察しているチャットルームまたはセッションに現在入っているすべてのユーザを表示する。チャットルームに参加しているユーザは、チャットルーム内の他のユーザにメッセージを入力することができ、それらのメッセージはチャットウィンドウ１０４に表示される。いくつかの実施形態では、ユーザは、それらのユーザについての情報を呼び出す、及び／またはそれらのユーザに直接的にメッセージを送信するために、ウィンドウ１０６に表示されるユーザの１つまたは複数の名前を選択できる。好ましい実施形態では、ユーザは、１つまたは複数の名前を選択し、選択されたユーザにタクタイルメッセージを送信できる。
【００６８】
エフェクト（Ｅｆｆｅｃｔｓ）リスト１０８は、ユーザリストウィンドウ１０６で選択される特定のユーザに（あるいはリスト１０６内のユーザが選択されない場合には全ユーザに）ハプティックメッセージとして送信できる数多くのフォースエフェクトを提供する。また、リスト１０８に一覧表示されるエフェクトのそれぞれは、ハプティックメッセージが送信されるときに受取人のクライアントマシンにより再生される、それに関連付けられた１つまたは複数のサウンドを有する。エフェクトリスト１０８は、好ましくは、任意のカスタムメッセージまたは新規にダウンロードされるメッセージを含む、ユーザが送信できるすべてのハプティックメッセージを含む。メッセージは、選択されたユーザ（複数の場合がある）だけに送信され、その結果他の選択されていないユーザはメッセージを送信されない。リスト１０８内のそれぞれの名前は、リスト１０８内のその名前またはラベルと関連付けられたある特定のハプティックセンセーションを表す。ハプティックメッセージを送信するために、ユーザは、表示されたカーソルを用いて、あるいは他のなんらかの選択方法（キーボード等）を使用することによって、リスト１０８中のエフェクトの１つを選択できる。これが、好ましくは、図３ｂに関して詳しく後述されるように、ユーザが選択されたエフェクトでさまざまな機能を実行できるようにするためにメニューを呼び出す。リスト１０８は、好ましくは、エントリーが多すぎて一度にすべてを表示できない場合には、スクロールまたはそれ以外の場合ナビゲートできる。
【００６９】
図３ｂは、ユーザがオプションメニュー１４０を表示するためにリスト１０８中のエフェクトの内の１つを選択した、図３ａの表示されたインターフェース１００を示す。例えば、ユーザは、所望されるエフェクト上にカーソルを移動し、ある特定のマウスボタンを押してメニュー１４０を立ち上げるために、マウスまたは他のポインティングデバイスを使用できる。メニュー１４０は、送信（Ｓｅｎｄ）コマンド１４２、ウィスパ（Ｗｈｉｓｐｅｒ）コマンド１４４、再生（Ｐｌａｙ）コマンド１４６、新規エフェクト作成（Ｃｏｍｐｏｓｅ  Ｎｅｗ  Ｅｆｆｅｃｔ）コマンド１４８、及びインポートエフェクト（Ｉｍｐｏｒｔ  Ｅｆｆｅｃｔ）コマンド１５０を含む、数多くのオプションを含む。ユーザはこれらのコマンドのどれかを選択してよい。
【００７０】
図３ｂのインターフェース１００は、選択されている送信コマンド１４２を示す。このコマンドは、リスト１０８中の選択されているエフェクトを、チャットに参加している全ユーザ、つまりチャットルーム内のユーザに送信させるだろう。例えば、図３ｂで選択されて示されている「ｌａｕｇｈ（笑う）」エフェクトが、チャットセッション中の全参加者に送信される。説明される実施形態では、これは、他のテキスト文字によりハプティックコマンドとして指定されるまたは区切られるテキスト文字を送信することによって実現される。例えば、括弧＜と＞で囲まれる文字は、インターフェース１００のハプティック制御部分によりハプティックコマンドとして解釈できる。このようにして、コマンド＜ｌａｕｇｈ（笑う）＞は、メニュー１４０を使用して「ｌａｕｇｈ（笑う）」エフェクトが送信されるときに他のクライアントに送信される。好ましくは、コマンドラベルは、通常、自然言語では、それが関連付けられているハプティックセンセーションを意味する。例えば、コマンド「ｓｌａｐ（平手打ち）」は重要度が高い衝撃を意味するが、コマンド「ｗｉｎｋ（ウィンク）」は重要度が低いセンセーションを意味してよい。
【００７１】
受取人ユーザのクライアントのハプティック制御部分は、受信されたコマンドを検出し、同じ名前が付けられたフォースセンセーションをハプティックデバイスに出力する。このようにして、例えば、エフェクト「なでる」が選択される（またはコマンド＜ｐａｔ＞が入力される）と、関連付けられたハプティックメッセージが他のチャットユーザ（複数の場合がある）に送信される。それから、受取人ユーザ（複数の場合がある）は、受取人ユーザが使用しているハプティックフィードバックインターフェースデバイスを介してハプティックメッセージを感じる。ハプティックメッセージは、脈動、振動、衝撃等、または複数のハプティックセンセーションの組み合わせなどの受取人ユーザのハプティックインターフェースデバイスによって出力されるハプティックセンセーションとして受取人ユーザに送信される。リスト１０８中のエフェクトのそれぞれは、好ましくは、その名前に関連付けられるハプティックセンセーションに適切である名前またはラベルを有する。例えば、「なでる」エフェクトは、好ましくは、受取人ユーザのハプティックデバイスのユーザオブジェクトあるいはグリップに、手でなでるような小さく円滑な衝撃を実現するハプティックメッセージを提供する。「ｇｉｇｇｌｅ（クスクス笑う）」エフェクトは、低周波の振動を提供することができ、「ｓｌａｐ（平手打ち）」効果は鋭い重要度が高い衝撃を達成することができ、「ｓｍｉｌｅ（微笑む）」エフェクトが低速の側面から側面への運動等を提供することができる。
【００７２】
また、このようなサウンドは代替実施形態で再生される必要はないが、所定のサウンドエフェクトも、好ましくは、メッセージをさらに効果的に伝達するために送信されたメッセージと関連付けられる。サウンドエフェクトは、ハプティックメッセージのハプティックセンセーションの特徴と同期される。例えば、メッセージ「ｓｌａｐ（平手打ち）」は、単一のハプティック衝撃とサウンドエフェクトを提供できるが、メッセージ「ｓｌａｐ−ｓｌａｐ（平手打ち−平手打ち）」は、それぞれの衝撃が適切な平手で打つサウンドエフェクトと同期する２つの連続する衝撃を提供できる。（．ｗａｖなどの標準化されたフォーマットを取ることがある）サウンドファイルは、受取人クライアントマシンでハプティックコマンドと関連付けることができ、このサウンドファイルはフォースセンセーションの出力と同時に再生される。他の実施形態では、他の種類の媒体データが、サウンドエフェクトの代わりに、またはサウンドエフェクトに加えて、ハプティックエフェクトと同期して出力することができる。例えば、動画のまたは静止のグラフィックまたは画像は、ハプティックエフェクトの出力と、及びサウンドエフェクトと協調して表示画面に表示することができる。これらの他の種類のデータは、ファイルに記憶され、前述されたサウンドファイルと同様にアクセスできる。
【００７３】
チャットユーザは、リスト１０８からエフェクトを選択するよりむしろ、キーボード（あるいは別の入力装置を用いてコマンドを入力すること）によってチャットウィンドウにじかにテキストコマンドを入力することによってハプティックメッセージを送信することもできる。例えば、ユーザは、適切なハプティックメッセージを送信させるために単に「＜ｓｌａｐｓｌａｐ＞」を入力できるだろう。さらに、所定の「エモティコン」は、ハプティックエフェクトとサウンドエフェクトと関連付けられるために定義することができ、ハプティックコマンドとして送信できる。例えば、スマイリーエモティコン“：）”は、入力フィールド１２６に入力され、別のユーザに送信されると、エフェクトリスト１０８から選択される「ｓｍｉｌｅ（微笑む）」エフェクトと同じハプティックセンセーションを引き起こすことができる、あるいは一意の関連付けられたハプティックセンセーションを、受取人に出力させることができる。エモティコンの他の例は、“：（”（ｆｒｏｗｎ（しかめる））、“；）”（ｗｉｎｋ（ウィンク））、及び“：ｏ”（ｓｕｒｐｒｉｓｅ（驚く））を含む。いくつかの実施形態では、ハプティックメッセージとして使用されるために、このようなエモティコンが括弧の間に配置され、それらがハプティックコマンドであることを示す。他の実施形態は、括弧または他のコマンド文字またはデリミタを使用せずに、このようなエモティコンをコマンドとして自動的に解釈できる。エモティコンは、好ましくは別のリストでユーザによって事前に定義でき、各エモティコンは、後述のカスタムエフェクトと同様にハプティックエフェクトとサウンドエフェクトと関連付けることができる。
【００７４】
説明される実施形態では、ハプティックメッセージとして受取人クライアントに送信されるコマンドは、メッセージ中のテキスト文字として、受取人のチャットウィンドウ１０４（及び所望される場合には送信者のウィンドウ１０４）にも表示される。このようにして「ｓｍｉｌｅ（微笑む）」ハプティックメッセージ１２４は、ハプティックセンセーション及び関連するサウンドを受取人のクライアントマシン上で出力させた図３ｂに表示される。該表示メッセージ１２４は、ハプティクメッセージが送信された旨をユーザに視覚的に示す。
【００７５】
いくつかの実施形態では、ユーザは、ハプティックエフェクトとサウンドエフェクトだけではなく通常のテキストメッセージも、すべて同時に送信できる。例えば、ユーザはフィールド１２６にメッセージを入力し、選択されたハプティックエフェクト（と関連付けられるサウンドエフェクト）を、受取人ユーザにフィールド１２６のテキストメッセージとともに同時に送信させるだろう「テキストメッセージとともに送信する」などのメニュー１４０内のオプション（図示されていない）を選択できる。したがって、ここに参照されるような用語「ハプティックメッセージ」は、サウンドエフェクト、テキストメッセージ及び／または他のコンテンツだけではなくハプティックエフェクトも含むことができる。
【００７６】
メニュー１４０内のウィスパコマンド１４４は、選択時、リスト１０８から選択されたハプティックエフェクト（複数の場合がある）を、ウィンドウ１０６内で選択されたそれらのユーザだけに送信させるが、それ以外には送信コマンド１４２に類似している。再生コマンド１４６は、選択されたハプティックエフェクト（複数の場合がある）とその関連サウンドを、ユーザが、ハプティックメッセージが受取人ユーザによってどのように経験されるのかをチェックできるように、ユーザの独自のクライアントマシンに出力できるようにする。
【００７７】
受取人クライアントマシン（複数の場合がある）に送信される実際のハプティックメッセージコンテンツは、さまざまな実施形態で異なることがある。説明されている実施形態では、リスト１０８からの使用可能なハプティックメッセージは、すべて同じインターフェース１００を使用しているチャット内の全ユーザに対して同一である。したがって、ハプティックメッセージ内の他のユーザに送信される必要のある唯一の情報は、前述された括弧によって囲まれるエフェクトのテキストラベル、または他の種類のコマンドなど、ハプティックセンセーションの種類がメッセージとして送信されていることを示す高水準コマンドである。これにより、受取人クライアントマシンのチャットインターフェースは、標準テキスト文字または他の標準化されたデータとしてコマンドを受信でき、受取人クライアントマシンのハプティック制御部分は、どのハプティックセンセーションを出力する必要があるのかを知ることができる。いくつかの実施形態では、ハプティックメッセージは、送信側クライアントが、それがハプティックメッセージであることを知らなくとも送信できることに注意する必要がある。例えば、前述されたように、他の特殊文字を使用しないエモティコンは、テキストメッセージとしてチャットセッション中の非フォースフィードバック標準クライアントによって送信でき、該エモティコンは、該エモティコンに関連付けられるハプティックセンセーションが受信時に出力されるように、受信側クライアントによりハプティックメッセージと見なすことができる。このようなインプリメンテーションは、受信側クライアントだけで実現される「一般的な」ハプティックエフェクトと見なすことができる。
【００７８】
他の実施形態では、さらに精密なハプティックメッセージの送信または表示ができる。例えば、ハプティックメッセージは、受取人ユーザのクライアントマシンに送信され、受取人ユーザのハプティックデバイスにハプティックセンセーションを出力するように命令するフォース情報コンテンツ及び／または追加コマンドを含むことができる。これにより、インターフェース１００内で過去に定義されていないカスタマイズされたハプティックセンセーションを出力できるようにする。フォース情報は、複数の異なる方法で提供できる。例えば、フォース情報は、出力するための標準化された種類のハプティックセンセーションを示す高水準コマンドとして送信することができ、そこでは受取人ユーザのすべてが、高水位順コマンドが参照できるそれらのコンピュータシステム上で使用可能なハプティックセンセーションの標準化されたライブラリを有すると仮定される。いくつかの実施形態では、センセーションの時間分、頻度、規模、方向、ボタンパラメータ、立ち上がり時間と減衰期間、シミュレーションされる質量と位置等の命令されたハプティックセンセーションを特徴づける１つまたは複数のコマンドパラメータなどの追加情報が送信できる。また他の実施形態では、一連のフォース規模と方向などの実際のハプティックセンセーションを記述し、定義するデータが送信できる。あるいはハプティックセンセーションデータをダウンロードまたは検索できるネットワークアドレス（または他のロケーション）が送信できる。これらの方法の多くは、受取人ユーザが常時有していない完全にカスタマイズされたハプティックセンセーションを送信できるようにする。例えば、初めてカスタマイズされたハプティックメッセージが送信されると、ハプティックセンセーションを実現するために必要とされるすべてのデータも送信される。ハプティック記述データはすでに受取人コンピュータシステム上に常駐し、保存されているので、そのハプティックメッセージが後に連続して送信されるときにはそれ以後記述データを送信する必要はない。明らかに、このような記述データの送信は、送信される大量のデータ量のために、さらに高速のブロードバンドネットワークでの通信及び接続により適している。
【００７９】
カスタムハプティックエフェクト及びサウンドエフェクトは、ユーザによって創作することもできる。例えば、ユーザはメニュー１４０からＣｏｍｐｏｓｅ  Ｎｅｗ  Ｅｆｆｅｃｔ（新規エフェクト創作）コマンド１４８を選択すると、ユーザは好ましくはエフェクト作成を可能とするためのユーザインターフェースにアクセスする。このようなユーザインターフェースの一例は、図３ｃに図示されている。ダイアログボックス１６０は、ユーザがコマンド１４８を選択したときに表示される。ユーザは、カスタムハプティックエフェクトとサウンドエフェクトを定義するために、ダイアログボックスのフィールドの中に情報を入力することができる。例えば、ハプティックメッセージの名前またはラベルは、フィールド１６２で指定することができ、ネットワークアドレスまたは（データを「．ＩＦＲ」ファイルなどの標準化されたフォーマットを有するファイルの中で編成できる）ラベルと関連付けられるハプティックエフェクトのロケーションのローカルアドレスは、フィールド１６４で指定することができ、フィールド１６４のアドレスでのハプティックエフェクトファイルの名前はフィールド１６６で指定することができ、サウンドファイルなどのサウンドデータのネットワークアドレスまたはローカルアドレスは、フィールド１６８で指定することができる。いったんユーザが新しいハプティックメッセージを作成するためにこのデータを入力すると、フィールド１６２の名前はチャットインターフェース１００のリスト１０８に表示され、他の一覧表示されたエフェクトと同様に選択することができる。
【００８０】
いくつかの実施形態では、カスタマイズされたあるいは標準化されたハプティックエフェクトとサウンドエフェクトのライブラリも、受信したハプティックメッセージを経験するのに必要なデータをダウンロードするために受信ユーザーがアクセスできるインターネットなどの幅広い分散を有するネットワーク上で使用可能なネットワークサーバに記憶することができる。説明されている実施形態では、（図２に図示されている）ウェブサーバ８０は、サウンドデータだけではなく必要とされるハプティックエフェクト及び／またはデータもダウンロードするために、（例えば、ＵＲＬアドレスとＣＧＩスクリプトを使用することによって）本発明のチャットプログラムのハプティック制御部分によってアクセスできる。例えば、送信側ユーザは、図３ｃのインターフェースを使って自分のクライアントマシンに対するカスタムハプティックエフェクトを作成できる。エフェクト作成時に、または作成側ユーザがチャットルームに入るときに、あるいはそのユーザがこのように選ぶ場合／ときに、カスタムハプティックエフェクトは、記憶し、ネットワークにアクセスしている他のクライアントが使用できるようにするために、ウェブサーバ８０にアップロードされる。さまざまなクライアントマシン上の他のユーザは、チャットルームに入るとき、あるいはカスタムエフェクトがアップロードされた後に、ウェブサーバ８０からカスタムハプティックエフェクトを自動的にダウンロードするか、あるいはそのマシンのユーザがそのように選ぶときにカスタムエフェクトをダウンロードできる。例えば、チャットセッションに入ると、各クライアントマシン上のチャットインターフェースは、そのチャットセッションにどのハプティックエフェクトが必要とされているのかをチェックできる。これは、チャットルーム内のクライアントマシンのどれかから送信しうるすべてのエフェクトを含む、ウェブサーバに対するエフェクトの常時更新されている「チャットルームリスト」を維持することによって達成できる。ある特定のチャットインターフェースは、チャットセッションに入るとそのリストをチェックし、それからそのクライアントマシンに現在リストに記憶されていないエフェクトをダウンロードできる。代わりに、カスタムエフェクトを参照するハプティックメッセージがクライアントマシンに送信されるとき、受取人クライアントマシンはハプティックメッセージの受信時にそのエフェクトのためのデータをダウンロードできる。
【００８１】
チャットインターフェース１００（あるいは他の別個のプログラムまたはウェブページ）は、ユーザが、自分達のセンセーションを使用可能とすることを選択した他の複数のユーザから使用できるカスタマイズされたハプティックセンセーションを一覧表示するサーバに接続できるようにするための、及びユーザが選択されたハプティックセンセーションファイルとデータをダウンロードするために多様な他のユーザクライアントマシンまたはサーバに接続できるようにする機能を含むことがある。例えば、ユーザがメニュー１４８のＩｍｐｏｒｔ  Ｅｆｆｅｃｔコマンド１５０を選択すると、ユーザは、複数の使用可能なエフェクトのどれかをインポートできることが好ましい。このような選択を可能にするためのインターフェースの例は、図３ｄに図示されている。ウィンドウ１７０は、サーバ上で使用可能なエフェクトの数多くのカテゴリとサブカテゴリ１７２を含むウェブサーバ（または他のサーバ）に記憶されるライブラリリストを示す。それぞれのカテゴリまたはサブカテゴリ１７２では、サーバに記憶される数多くのエフェクト１７４が一覧表示できる。インターフェース１００を表示するクライアントマシンに現在記憶されていないエフェクトは、そういうものとして指定またはマーキングできる。ユーザは、エフェクト１７４を選択してから、選択されたエフェクトをローカルクライアントマシンにダウンロードするために検索（Ｒｅｔｒｉｅｖｅ）ボタン１７６を選択できる。ユーザは、選択され、検索されたエフェクト１７４を再生するために再生（Ｐｌａｙ）ボタン１７８を選択し、ユーザがどのようにエフェクトが感じられるのかを経験できるようにすることもできる。ユーザがインポート（Ｉｍｐｏｒｔ）ボタン１８０を選択すると、選択されたエフェクトはエフェクトのリスト１０８に追加、表示され（必要な場合にはダウンロードされ）、ユーザがそのハプティックエフェクトを含むハプティックメッセージを受信するときに再生
されるだけではなく、ハプティックメッセージとしてユーザによって送信することもできる。検索されたハプティックエフェクトと関連付けられるあらゆるサウンドエフェクトも好ましくはダウンロードされる。
【００８２】
エフェクトは、数多くのさまざまな基準に従ってサーバ上で分類できる。例えば、ハプティックメッセージのグループは、メッセージの種類、メッセージの感情、メッセージの強度等に従って表示、編成できる。例えば、「ｓａｄ  ｍｅｓｓａｇｅｓ（悲しいメッセージ）」カテゴリは、このような感情状態を伝達するすべてのそれらのハプティックメッセージを含むことができ、「ｒｏｍａｎｃｅ（ロマンス）」カテゴリは適切な近い個人的なメッセージを伝達するハプティックメッセージを含むことができる。
【００８３】
他の実施形態では、チャットインターフェースが、コンピュータネットワーク６０上で音声通信または電話技術を可能にする音声通信プログラムの一部である場合がある。音声通信機能は、既存のユーティリティプログラムに、あるいはＤｉｒｅｃｔＸなどのＡＰＩのユーティリティプログラム内にある。例えば、何かを受取人ユーザに言うとき、送信側ユーザは、音声（ｓｐｏｋｅｎ）メッセージとともに、あるいは任意の音声とは無関係に、受取人ユーザにハプティックセンセーションを提供するために、リスト１０８のエフェクトに類似するメッセージエフェクトを選択できる。ハプティックメッセージは、音声（ｓｐｏｋｅｎ）メッセージの発生またはコンテンツに基づいて受取人ユーザに送信されるために選択することもできる。例えば、ハプティックメッセージは、言葉が話されるたびに送信できる。（例えば、標準的な市販の音声認識ソフトウェアを使用して）音声認識がクライアントマシン上で実現されている場合、ハプティックメッセージは、実際に話されるメッセージコンテンツのソフトウェア解釈をベースにすることができる。このように、もしユーザが「あなたを大嫌いだ」と別のユーザに言うと、適切なハプティックセンセーションを提供するために、音声メッセージとともに、あるいは音声メッセージの直後に、「ｓｌａｐ（平手打ち）」または「ｐｕｎｃｈ（パンチ）」メッセージを自動的に送信することができる。
【００８４】
ハプティックメッセージは、「一般的」である場合がある。つまりハプティック出力はユーザの好みに基づいて受信側マシンで作成でき、そこではユーザは所望のハプティックセンセーションを適切なインターフェースで受信される特定のコマンドに関連付けることができる。代わりに、ハプティックメッセージは「オーサリング」することができ、そこでは送信側ユーザが、標準化されたハプティックセンセーションを指すか、あるいはオーサリングされたハプティックセンセーションを実現するために必要なデータを提供することによって、ハプティックセンセーションがメッセージ内でどのように感じられるのかを定義する。このような一般的な、オーサリングされたインプリメンテーションは、米国特許番号第６，１６１，１２６号に説明されるようなネットワーク上で送信される一般的およびオーサリングされたフォースエフェクトに類似している。
【００８５】
別の実施形態では、ハプティックセンセーションは、チャットセッション中に他のクライアントマシンにより出力されるチャットメッセージとして入力、伝送されるオーディオ音声（ａｕｄｉｏ  ｓｐｅｅｃｈ）に基づくことができる。このような１つの実施形態では、プロセスは入信オーディオ音声データを分析し、音声データに基づいてハプティックセンセーションを命令する受信側クライアントコンピュータで実行できる。例えば、簡略な実施形態では、音声データを表す波紋は、波形の形状に基づいてハプティックセンセーションに変換でき、そこでは波形のそれぞれの（または選択された）ピークがハプティックデバイス上での脈動または衝撃の出力を引き起こすことがあり、波形での繰り返すピークが振動を引き起こすことがある。例えば、所定量の振幅でのジャンプは衝撃または脈動を生じさせることがある、あるいは衝撃の規模は波形の振幅でのジャンプに比例するなど、波形の他の特徴が他のハプティックエフェクトのために指定できる。
【００８６】
さらに複雑な実施形態では、受信されたメッセージの音声波形が、音声チャットメッセージの感情のコンテンツを示すことができる所定の特定の特性について分析でき、感情コンテンツに適切なハプティックセンセーションがユーザに出力できる。例えば、送信側ユーザの笑いは、高周波、高振幅発振などの送信波形の他と区別する特性を提供することがある。このような笑いが検出されると、マウスを振動または小刻みに動かすこと（あるいは他のユーザマニピュランダム）などのハプティックセンセーションが出力できる。送信側ユーザからの叫びは、低振幅から高振幅への急速な遷移として波形内に表示される可能性があり、関連付けられるハプティックセンセーションは、迅速な高周波振動または脈動である場合がある。送信側ユーザからのため息は、波形の長い低周波の低いボリュームの一貫したピッチまたは振幅を生じさせることがあり、マニピュランダムの穏やかな循環する運動またはハプティックデバイスでの低周波振動と関連付けることができる。他の感情または固有のメッセージは、受信される波形で同様に分析され、適切なハプティックセンセーションを分析に基づいて出力できる。
【００８７】
図４は、図３ａに図示されるチャットインターフェース１００に類似する、チャットインターフェースのわずかに異なる実施形態１００’を描く。インターフェース１００’は、エフェクトのリスト１０８の代わりに、複数のハプティックメッセージボタンが設けられるという点でインターフェース１００と異なる。ハプティックメッセージウィスパボタン２１０は、ユーザリストウィンドウ１０６で選択される特定のユーザにハプティックメッセージと聴覚メッセージを送信するために使用される。メッセージは、ウィンドウ１０６で選択されたユーザだけに送信される。それぞれのボタン２１０は、前述されたリスト１０８に一覧表示されるエフェクトに類似するボタンの名前と関連付けられた特定のハプティックセンセーションを表す。ハプティックメッセージを送信するために、ユーザは、表示されるカーソルを用いて、あるいは他のなんらかの選択方法（キーボード、音声等）を使用することによってボタン２１０の内の１つを選択するにすぎない。このようにして、ボタン「なでる」が選択されると、関連付けられたハプティックメッセージが選択されたユーザ（複数の場合がある）に送信される。それから、選択されたユーザ（複数の場合がある）は、選択されたユーザが使用しているハプティックフィードバックインターフェースデバイスを介してハプティックメッセージを感じる。一般的なハプティックセンセーションメッセージボタン２１２は、ボタンラベルによって指定されるハプティックメッセージが選択されるユーザの代わりにチャットセッション内の全ユーザに送信される点を除き、ウィスパボタン２１０に類似している。
【００８８】
本発明は、複数の好ましい実施形態に関して説明されてきたが、その改変、置換及び同等物は、明細書を読み、図面を検討すれば当業者に明らかになるだろうと考えられる。例えば、ゲームプログラム、仮想現実プログラムと環境、営業会議用のテレビ電話用途、コンピュータネットワークまたは他の通信チャネルでの電話型音声通信等を含む、多くの異なるアプリケーションプログラムが、本発明のメッセージ通信機能を使用することができる。さらに、一部の専門用語は、本発明を制限するためではなく、記述の明快さの目的に使用された。
【図１】
2014112411.tif 000003
【図２】
2014112411.tif 000004
【図３ａ】
2014112411.tif 000005
【図３ｂ】
2014112411.tif 000006
【図３ｃ】
2014112411.tif 000007
【図３ｄ】
2014112411.tif 000008
【図４】
2014112411.tif 000009