【解決手段】触覚効果をストリーミングするための装置および方法は、マスター触覚ライブラリに従って触覚効果を受信および符号化するためのシステムを作成するために提供される。符号化された触覚効果は、クライアント触覚装置に配信するためにサーバーシステムに送信される。クライアント触覚装置は、それぞれの装置の能力に従って受信した触覚効果を復号するために装置固有の触覚ライブラリを含む。
送信のために触覚入力を符号化するコンピュータ実装方法であって、1つ以上の物理プロセッサによって実行される場合に、コンピュータシステムに前記方法を実行させるコンピュータプログラム命令でプログラムされた前記1つ以上の物理プロセッサを有する前記コンピュータシステム上で実行される方法であって、
コンテンツ識別子と設計された触覚効果との間の関連付けを格納しているマスター触覚ライブラリにアクセスすることであって、前記設計された触覚効果は第1の触覚ブロックテンプレートおよび第2の触覚ブロックテンプレートを含む、マスター触覚ライブラリにアクセスすることと、
触覚効果情報を受信することと、
前記マスター触覚ライブラリから、前記触覚効果情報に基づき前記第1の触覚ブロックテンプレートに従って第1の触覚ブロックを生成することと、
前記触覚効果情報に従って第1のタイムスタンプを前記第1の触覚ブロックに付加することと、
前記マスター触覚ライブラリから、前記触覚効果情報に基づき前記第2の触覚ブロックテンプレートに従って第2の触覚ブロックを生成することと、
前記触覚効果情報に従って第2のタイムスタンプを前記第2の触覚ブロックに付加することと、
前記第1の触覚ブロックおよび前記第1のタイムスタンプを前記第2の触覚ブロックおよび前記第2のタイムスタンプと共に触覚データユニットにカプセル化することと、
前記触覚データユニットを、1つ以上のクライアント触覚装置への配信のために触覚サーバーシステムに送信することと
を含む、コンピュータ実装方法。
前記第1の触覚ブロックテンプレートに従って前記第1の触覚ブロックを生成することは、繰返し数および振幅を前記少なくとも1つのブロックパラメータとして選択することを含む、請求項5に記載の方法。
前記マスター触覚ライブラリ、前記第1の触覚ブロックの前記第1の触覚ブロックテンプレート、および前記第2の触覚ブロックの前記第2の触覚ブロックテンプレートに基づいてマスター触覚サブライブラリを生成することと、
前記マスター触覚サブライブラリを前記触覚サーバーシステムに送信することと
をさらに含む、請求項1に記載の方法。
前記1つ以上のプロセッサは、前記システムに、アクセス識別を、前記セッション識別と関連付けられた前記触覚データユニットにカプセル化させるようにさらに構成され、
前記クライアント識別は、前記完全な触覚効果を受信するために選択されたクライアントのクラスを表す、請求項11に記載のシステム。
触覚効果のストリームを送信するコンピュータ実装方法であって、1つ以上の物理プロセッサによって実行される場合に、コンピュータシステムに前記方法を実行させるコンピュータプログラム命令でプログラムされた前記1つ以上の物理プロセッサを有する触覚サーバー上で実行される方法であって、
触覚オーサリングシステムとの通信を確立することと、
前記触覚オーサリングシステムから、前記触覚オーサリングシステム上に格納されたマスター触覚ライブラリのサブセットを含むマスター触覚サブライブラリを受信することと、
クライアント触覚装置との通信を確立することと、
装置触覚ライブラリにアクセスすることと、
前記クライアント触覚装置に、前記クライアント触覚装置の装置識別に従った前記装置触覚ライブラリからの装置固有の触覚サブライブラリおよび前記マスター触覚サブライブラリを提供することと、
前記触覚オーサリングシステムからマスター触覚ストリームを受信することと、
前記マスター触覚ストリームからクライアント触覚ストリームを生成することと、
前記クライアント触覚ストリームを前記クライアント触覚装置に送信することと
を含む、コンピュータ実装方法。
前記クライアント触覚ストリームを生成することは、前記クライアント触覚装置のアカウント識別に従い、前記マスター触覚ストリームから触覚データユニットを選択することを含む、請求項19に記載の方法。
前記クライアント触覚装置は第1のクライアント触覚装置であり、前記装置固有の触覚サブライブラリは第1の装置固有の触覚サブライブラリであり、前記装置識別は第1の装置識別であり、前記クライアント触覚ストリームは第1のクライアント触覚ストリームであり、前記アカウント識別は第1のアカウント識別であり、
前記方法は
第2のクライアント触覚装置との通信を確立することと、
前記第2のクライアント触覚装置に、前記第2のクライアント触覚装置の第2の装置識別に従って判断された第2の装置固有の触覚サブライブラリを提供することと、
前記第1のクライアント触覚装置の第1のアカウント識別に従って前記マスター触覚ストリームの触覚データユニットを選択することにより前記第1のクライアント触覚ストリームを生成することと、
前記第2のクライアント触覚装置の前記第2のアカウント識別に従って前記マスター触覚ストリームの触覚データユニットを選択することにより第2のクライアント触覚ストリームを生成することと、
前記第2のクライアント触覚ストリームを前記第2のクライアント触覚装置に送信することと
をさらに含む、請求項20に記載の方法。
前記クライアント触覚ストリームを生成するために、前記1つ以上のプロセッサは、前記システムに、前記クライアント触覚装置のアカウント識別に従い、前記マスター触覚ストリームから触覚データユニットを選択させるようにさらに構成される、請求項22に記載のシステム。
前記クライアント触覚装置は第1のクライアント触覚装置であり、前記装置固有の触覚サブライブラリは第1の装置固有の触覚サブライブラリであり、前記装置識別は第1の装置識別であり、前記クライアント触覚ストリームは第1のクライアント触覚ストリームであり、前記アカウント識別は第1のアカウント識別であり、
前記1つ以上のプロセッサは、前記システムに、
第2のクライアント触覚装置との通信を確立することと、
前記第2のクライアント触覚装置に、前記第2のクライアント触覚装置の第2の装置識別に従って判断された第2の装置固有の触覚サブライブラリおよび前記マスター触覚効果サブライブラリを提供することと、
前記第1のクライアント触覚装置の第1のアカウント識別に従って前記マスター触覚ストリームの触覚データユニットを選択することにより前記第1のクライアント触覚ストリームを生成することと、
前記第2のクライアント触覚装置の第2のアカウント識別に従って前記マスター触覚ストリームの触覚データユニットを選択することにより第2のクライアント触覚ストリームを生成することと、
前記第2のクライアント触覚ストリームを前記第2のクライアント触覚装置に送信することと
を行わせるようにさらに構成される、請求項23に記載のシステム。
再生のためにクライアント触覚ストリームを復号するコンピュータ実装方法であって、1つ以上の物理プロセッサによって実行される場合に、クライアント触覚装置に前記方法を実行させるコンピュータプログラム命令でプログラムされた前記1つ以上の物理プロセッサを有する前記クライアント触覚装置上で実行される方法であって、
触覚サーバーシステムとの通信を確立することと、
前記触覚サーバーからクライアント触覚ライブラリを取得することであって、前記クライアント触覚ライブラリは前記クライアント触覚装置の装置識別に従い前記触覚サーバーによって生成される、クライアント触覚ライブラリを取得することと、
前記クライアント触覚装置によって、クライアント触覚ストリームを前記触覚サーバーから受信することであって、前記クライアント触覚ストリームは、複数の触覚ブロックおよび対応する複数のタイムスタンプを含む、クライアント触覚ストリームを受信することと、
前記クライアント触覚装置の1つ以上の触覚出力装置上での再生のために複数の触覚効果を生成することであって、各触覚効果は、対応する触覚ブロックのタイムスタンプに従って一度に再生される前記クライアント触覚ストリームから、前記対応する触覚ブロックのコンテンツ識別子に従い前記クライアント触覚ライブラリから選択される、複数の触覚効果を生成することと、
前記複数の触覚効果を前記クライアント触覚装置の前記1つ以上のアクチュエータに出力することと
を含む、コンピュータ実装方法。
前記クライアント触覚ライブラリは、コンテンツ識別子と、前記クライアント触覚装置の前記1つ以上のアクチュエータによって再生可能な対応する触覚効果との間の関連付けを含む、請求項25に記載の方法。
前記複数の触覚効果の各々を、前記1つ以上触覚出力装置の能力に従って再生するために前記1つ以上の触覚出力装置に割り当てることをさらに含む、請求項25に記載の方法。
前記クライアント触覚ライブラリは、触覚ブロックと、前記クライアント触覚装置の前記アクチュエータによって再生可能な対応する触覚効果との間の関連付けを含む、請求項29に記載のクライアント触覚装置。
前記1つ以上のプロセッサは、前記システムに、前記複数の触覚効果の各々を、前記触覚出力装置の能力に従って再生するために前記触覚出力装置に割り当てさせるようにさらに構成される、請求項29に記載のクライアント触覚装置。
【発明を実施するための形態】
【0013】
[0024] 本発明の特定の実施形態がここで、図を参照して説明される。以下の詳細な説明は本質的に例示に過ぎず、本発明または本発明の用途および使用を制限することを意図しない。さらに、前述の技術分野、背景、概要または以下の詳細な説明で提示される明示または暗黙の理論に縛られることを意図しない。
【0014】
[0025] 本発明の実施形態は、本明細書で触覚ストリームと呼ばれる、符号化された触覚効果のデータストリームの作成、送信、および再生を対象とする。触覚オーサリングシステムは、触覚効果を受信し、マスター触覚ライブラリに従って触覚効果を符号化し、触覚効果をマスター触覚ストリームとして送信するために提供される。触覚サーバーシステムは、触覚オーサリングシステムからマスター触覚ストリームを受信し、マスター触覚ストリームをクライアント触覚装置に対するクライアント触覚ストリームに分解するために提供される。触覚サーバーシステムはまた、クライアント触覚ライブラリを提供および更新して、各特定のクライアント触覚装置が特定の装置上での再生のためにクライアント触覚ストリームを復号できるようにする。触覚サーバーシステムは、例えば、オーディオビジュアルストリームを含め、再生のために追加のメディアコンテンツをクライアント触覚装置に提供するようにも構成され得る。
【0015】
[0026]
図1は、触覚ストリームのオーサリング、符号化、送信、および再生のための触覚ストリーム送信システム10を例示する。触覚ストリーム送信システム10は、ネットワーク20を介して通信する、触覚オーサリングシステム100、触覚サーバーシステム200、およびクライアント触覚装置300を含む。触覚ストリーム送信システム10は、任意の数の追加の触覚オーサリングシステム100、触覚サーバーシステム200、およびクライアント触覚装置300をさらに含み、各々1つを含むことに制限されない。特定の数の触覚オーサリングシステム100、触覚サーバーシステム200、およびクライアント触覚装置300を有する本明細書で説明する実施形態は、例示目的のみで提供され、制限することを意図していない。
【0016】
[0027] 触覚オーサリングシステム100は、触覚効果を受信して符号化するようにプログラムできる、サーバー(例えば、1つ以上のサーバーブレード、プロセッサ、などを有する)、パーソナルコンピュータ(例えば、デスクトップコンピュータ、ラップトップコンピュータなど)、スマートフォン、タブレットコンピューティング装置、および/または他の装置として構成され得る。一実施形態では、コンピューティング触覚オーサリングシステム100の任意または全部の機能は、クラウドコンピューティングプラットフォームの一部として実行され得る。
【0017】
[0028] 触覚オーサリングシステム100は、1つ以上のプロセッサ110(本明細書では、複数のプロセッサ110、プロセッサ(複数可)110、または便宜上プロセッサ110とも区別しないで呼ばれる)、1つ以上の記憶装置(複数可)120、1つ以上の触覚入力装置(複数可)160、および/または他の構成要素を含む。プロセッサ110は、記憶装置120上に格納された1つ以上のコンピュータプログラム命令によってプログラムされる。例えば、プロセッサ110は、オーサリングユーザーインタフェースシステム151、触覚符号化システム153、カプセル化システム154、およびオーサリング通信システム155によってプログラムされる。追加として、記憶装置120は、マスター触覚ライブラリ190を格納する。本明細書では、便宜上、様々な命令モジュールおよびシステムが、実際には、操作を実行するためにプロセッサ110(および従って、触覚オーサリングシステム100)をプログラムする場合、命令モジュールおよびシステムがその操作を実行していると説明される。説明する発明の特徴を実装するために構成された触覚オーサリングシステム100のさらなる詳細および特徴が
図2および
図3に関して理解され得る。
【0018】
[0029] 本明細書で説明する、記憶装置は、持続性コンピュータ可読記憶媒体、ならびに機械に特定の方法で動作させるデータおよび/または命令を格納する任意の媒体またはコンピュータメモリを含む。かかる持続性媒体は、不揮発性媒体および/または揮発性媒体を含み得る。不揮発性媒体には、例えば、光または磁気ディスク、および様々な形の半導体媒体を含む。揮発性媒体はダイナミックメモリを含む。持続性媒体の一般的な形式には、例えば、フロッピィディスク、フレキシブルディスク、ハードディスク、半導体ドライブ、磁気テープ、または任意の他の磁気データ記憶媒体、CD−ROM、DVD、Blu−Ray、任意の他の光データ記憶媒体、孔のパターンをもつ任意の物理的な媒体、RAM、PROM、およびEPROM、FLASH−EPROM、NVRAM、任意の他のメモリチップまたはカートリッジ、ならびに同じもののネットワーク化バージョンを含む。
【0019】
[0030]
[0031] 触覚サーバーシステム200は、触覚ストリームを受信および送信するようにプログラムできるサーバー(例えば、1つ以上のサーバーブレード、プロセッサ、などを有する)、パーソナルコンピュータ(例えば、デスクトップコンピュータ、ラップトップコンピュータなど)、スマートフォン、タブレットコンピューティング装置、ならびに/または他の装置として構成され得る。一実施形態では、触覚サーバーシステム200の任意または全部の機能は、クラウドコンピューティングプラットフォームの一部として実行され得る。
【0020】
[0032] 触覚サーバーシステム200は、1つ以上のプロセッサ210(本明細書では、複数のプロセッサ210、プロセッサ(複数可)210、または便宜上プロセッサ210とも区別しないで呼ばれる)、1つ以上の記憶装置(複数可)220、および/または他の構成要素を含む。プロセッサ210は、記憶装置220上に格納された1つ以上のコンピュータプログラム命令によってプログラムされる。例えば、プロセッサ210は、サーバー通信システム255、クライアントストリーム作成システム253、およびクライアント識別システム251によってプログラムされる。追加として、記憶装置220は、装置触覚ライブラリ290を格納する。本明細書では、便宜上、様々な命令モジュールおよびシステムが、実際には、操作を実行するためにプロセッサ210(および従って、触覚サーバーシステム200)をプログラムする場合、命令モジュールおよびシステムがその操作を実行していると説明される。説明する発明の特徴を実装するために構成された触覚サーバーシステム200のさらなる詳細および特徴が
図2および
図6に関して説明され得る。
【0021】
[0033] クライアント触覚装置300は、触覚ストリームを受信して触覚効果を出力するようにプログラムできるパーソナルコンピュータ(例えば、デスクトップコンピュータ、ラップトップコンピュータなど)、スマートフォン、タブレットコンピューティング装置、スマートウォッチ、ビデオゲームコントローラもしくはテレビゲーム機、仮想現実(VR)、拡張現実(AR)、もしくは複合現実(MR)ヘッドセット、および/または他の装置として構成され得る。一実施形態では、触覚クライアント装置300の任意のコンピューティング機能は、クラウドコンピューティングプラットフォームの一部として実行され得る。
【0022】
[0034] クライアント触覚装置300は、1つ以上のプロセッサ310(本明細書では、複数のプロセッサ310、プロセッサ(複数可)310、または便宜上プロセッサ310とも区別しないで呼ばれる)、1つ以上の記憶装置(複数可)320、および/または他の構成要素を含む。プロセッサ310は、記憶装置320上に格納された1つ以上のコンピュータプログラム命令によってプログラムされる。例えば、プロセッサ310は、再生ユーザーインタフェースシステム351、触覚再生システム352、触覚復号システム353、カプセル化解除システム354、およびクライアント通信システム355によってプログラムされる。追加として、記憶装置320は、クライアント触覚ライブラリ390を格納する。本明細書では、便宜上、様々な命令モジュールおよびシステムが、実際には、操作を実行するためにプロセッサ310(および従って、クライアント触覚装置300)をプログラムする場合、命令モジュールおよびシステムがその操作を実行していると説明される。クライアント触覚装置300は、1つ以上の触覚出力装置330も含む。説明する発明の特徴を実装するために構成されたクライアント触覚装置300のさらなる詳細および特徴が
図2および
図7に関して理解され得る。
【0023】
[0035] 触覚出力装置330は、当技術分野で周知の任意の適切な出力装置であり得るか、またはそれを含み得る。例えば、触覚出力装置330は、マクロファイバコンポジット(MFC)アクチュエータ、圧電材料アクチュエータ、スマート材料アクチュエータ、電子ポリマー(electro−polymer)アクチュエータ、および他などの、薄膜アクチュエータを含み得る。触覚出力装置330は、慣性もしくは運動感覚触覚アクチュエータ、偏心質量がモーターによって動かされる偏心回転質量(「ERM」)触覚アクチュエータ、ばねに付加された質量が前後に駆動されるリニア共振触覚アクチュエータ(「LRA」)、振動触覚アクチュエータ、形状記憶合金、および/または前述した触覚出力装置の任意の組合せをさらに含み得る。
【0024】
[0036]
図1は、触覚オーサリングシステム100、触覚サーバーシステム200、およびクライアント触覚装置300内の記憶装置上に配置されたソフトウェアシステムおよび触覚ライブラリを例示する。さらなる実施形態では、任意もしくは全部のソフトウェアシステムおよび触覚ライブラリは、関連システムからリモートに格納および/または実行され得る。例えば、マスター触覚ライブラリ190、装置触覚ライブラリ290、およびクライアント触覚ライブラリ390の各々は、リモート位置に格納され、必要に応じて関連システムまたは装置によってアクセスされ得る。様々なソフトウェアシステムも、例えば、クラウドコンピューティング環境内に、リモートに格納および/または実行され得る。
【0025】
[0037]
図2は、触覚ストリームをオーサリング、符号化、および送信するためのシステム10の操作を例示する略図である。触覚オーサリングシステム100は、触覚効果情報171をユーザーから、事前に格納された触覚効果ファイルから引き出されて、かつ/またはその両方の組合せで受信する。触覚オーサリングシステム100は、
図3に関して以下でさらに詳細に説明するように、触覚効果をマスター触覚ストリーム400に符号化するためにマスター触覚ライブラリ190にアクセスすることにより、複数の触覚効果を符号化してマスター触覚ストリーム400を生成する。
【0026】
[0038]
図3は、触覚オーサリングシステム100の操作を例示する略図である。触覚オーサリングシステム100は、1つ以上の触覚入力装置160によりオーサリングユーザーインタフェースシステム151を通して触覚効果情報171を受信し、複数の触覚データユニット170を出力するように構成される。触覚データユニット170は触覚効果情報171を符号化し、触覚オーサリングシステム100の様々なソフトウェアシステムによりマスター触覚ライブラリ190と共に生成される。
【0027】
[0039] 触覚データユニット170は、任意の適切な送信プロトコルを介して他のコンピューティング装置に送信され得るコンピュータデータの基本ユニットである。触覚データユニット170は、例えば、セグメント、パケット、および/またはフレームを含み得る。
【0028】
[0040] オーサリングユーザーインタフェースシステム151は、触覚オーサリングシステム100上で動作するソフトウェアモジュールである。オーサリングユーザーインタフェースシステム151は、触覚効果のオーサリングを可能にするためにユーザーにインタフェースを提供する。オーサリングユーザーインタフェースシステム151は、一連の触覚効果を触覚トラックとしてオーサリングするのを可能にする。オーサリングユーザーインタフェースシステム151は、ユーザーがオーサリングユーザーインタフェースシステム151とのやり取りを通して触覚効果を入力、設計、および/または変更するのを可能にする。ユーザーは、1つ以上の触覚入力装置160および任意のタイプの従来型のコンピュータ入力を通して、オーサリングユーザーインタフェースシステム151とやり取りする。
【0029】
[0041] オーサリングユーザーインタフェースシステム151は、1つ以上の触覚入力装置160を介して触覚入力を受信し、触覚入力に基づいて触覚効果情報171を生成する。触覚入力装置160は、キーボード、マウス、およびタッチスクリーンなどの基本的なコンピュータ入力装置を含み得る。触覚入力装置160は、触覚対応グローブおよび/または他のウェアラブルなどの、入力ジェスチャの受信のために構成された専用装置、ジェスチャを捕捉するように構成されたカメラ、レーダー、または他のセンサー、ならびに触覚入力を受信可能な任意の他の装置も含み得る。例えば、ユーザーは、触覚対応グローブを用いて入力ジェスチャを入力として提供することにより、オーサリングユーザーインタフェースシステム151に触覚効果情報171を生成させ得る。別の例では、ユーザーは、キーボード、マウス、および/またはタッチスクリーンを操作して、触覚効果のパラメータを定義し、かつ/または効果の事前に格納されたライブラリにアクセスし得る。実施形態では、オーサリングユーザーインタフェースシステム151は、ユーザーが触覚効果の1つ以上のデータベースまたはライブラリにアクセスするのを可能にし得、そこからユーザーは、触覚トラックを作成する際に触覚効果を引き出し得る。
【0030】
[0042] オーサリングユーザーインタフェースシステム151は、ユーザーが、入力触覚効果の触覚効果情報171を修正するのをさらに可能にする。触覚効果情報171は、触覚効果の長さ、継続時間、周波数、タイプ、および/または任意の他のパラメータを含み、オーサリングユーザーインタフェースシステム151を用いてユーザーによって修正可能である。ユーザーは、複数の入力触覚効果の触覚効果情報171を組み合わせて複合触覚効果を形成するため、および/または触覚効果のトラックを開発するためにもオーサリングユーザーインタフェースシステム151を使用し得る。オーサリングユーザーインタフェースシステム151は、新しい触覚効果を生成する際に使用するため、または触覚ストリームに直接符号化するためのいずれかで、以前にオーサリングされた触覚効果情報171もしくは触覚効果にアクセスするか、または受信するためにも使用され得る。以前にオーサリングされた触覚効果情報171は、例えば、追加の周辺記憶装置、可搬式コンピュータメモリ装置、およびネットワーク化コンピュータメモリ装置を含む、触覚オーサリングシステム100によってアクセス可能な記憶装置120および/または任意の他のコンピュータメモリを含み得る記憶位置内に、格納され得る。
【0031】
[0043] 触覚符号化システム153は、触覚オーサリングシステム100上で動作するソフトウェアモジュールである。触覚符号化システム153は、オーサリングユーザーインタフェースシステム151によって受信、修正、および/または生成された触覚効果情報171を符号化する。触覚符号化システム153は符号化を実行するためにマスター触覚ライブラリ190にアクセスする。
【0032】
[0044]
図4は、マスター触覚ライブラリ190、装置触覚ライブラリ290、およびクライアント触覚ライブラリ390の構造を例示する。マスター触覚ライブラリ190は、コンテンツ識別子191のグループと設計された触覚効果192のグループとの間の関連付けを格納する。各個々のコンテンツ識別子191A、191B、191C、191Dは個々の設計された触覚効果192A、192B、192C、192Dを識別して、それと関連付けられる。コンテンツ識別子191は、それらの関連付けられた設計された触覚効果192へのインデックスとして機能する。設計された触覚効果192は、触覚効果をオーサリングしたオペレーターの初期の設計意図に従って触覚効果を表す。触覚トラックまたは他の一連の触覚効果を設計する場合、触覚設計者は、設計された触覚効果によって表される、彼または彼女が最適な触覚効果であると信じるものを選択する。マスター触覚ライブラリ190内の各設計された触覚効果192A、192B、192C、192Dと関連付けられたコンテンツ識別子191A、191B、191C、191Dは従って、触覚設計者の意図した触覚効果を識別する。
【0033】
[0045] 触覚サーバーシステム200上に格納された、装置触覚効果ライブラリ290は、装置固有のサブライブラリ291の集合である。
図4は、装置固有の3つのサブライブラリを例示しており、その1つが詳細に例示されている。装置触覚効果ライブラリ290は3つの装置固有のサブライブラリに制限されず、必要なだけ多くの装置固有のサブライブラリ291を含み得る。装置触覚ライブラリ290の各装置固有のサブライブラリ291は、特定のモデルまたはタイプのクライアント触覚装置300に対応する。装置固有のサブライブラリ291では、コンテンツ識別子191は装置触覚効果193と関連付けられる。各個々のコンテンツ識別子191A、191B、191C、191Dは個々の装置触覚効果193A、193B、193C、193Dと関連付けられる。各装置固有のサブライブラリ291は、特定のモデルまたはタイプのクライアント触覚装置300と関連付けられて、設計された触覚効果192によって表される、触覚設計者の初期の設計意図と、装置触覚効果193によって表される、クライアント触覚装置300の機能との間のマッピングを可能にする。本明細書では、クライアント触覚装置300の機能は、クライアント触覚装置300と関連付けられた全ての触覚出力装置330の集合的機能、およびクライアント触覚装置300と関連付けられた触覚出力装置330の各々の個々の機能の両方を指す。コンテンツ識別子191が関連付けられている、マスター触覚ライブラリ190内の設計された触覚効果192は、同じコンテンツ識別子192が関連付けられている、装置固有のサブライブラリ291内の装置触覚効果193と同じであり得るか、または異なり得る。例えば、特定のモデルのクライアント触覚装置が、設計された触覚効果192を実装するために必要な全てのタイプのアクチュエータを含む場合、設計された触覚効果192および特定のコンテンツ識別子191と関連付けられた装置触覚効果193の両方は同じであろう。しかし、特定のモデルのクライアント触覚装置が、設計された触覚効果192を元々意図されたとおりに実施するために適切な触覚アクチュエータを欠いている場合、装置触覚効果193は設計された触覚効果192に対する代替を提供するための情報を含むので、特定のコンテンツ識別子191と関連付けられた装置触覚効果193は、その特定のコンテンツ識別子191と関連付けられた設計された触覚効果192と異なるであろう。従って、装置が、設計された触覚効果192を設計者によって意図されたとおりに実施する能力を有する場合、実施するであろう。クライアント触覚装置300が、設計された触覚効果192を設計者によって意図されたとおりに実施する能力を有していない場合には、代替装置触覚効果193を実行する。代替装置触覚効果193はできる限り設計された触覚効果192と類似するように、かつ/または設計された触覚効果192と同じ情報もしくは意図を伝達するように明確に選択され得る。例えば、特定のコンテンツ識別子191aは、リニア共振アクチュエータからの特定の周波数での振動を含む設計された触覚効果192aに対応し得る。リニア共振アクチュエータを有していないクライアント触覚装置300の装置固有のサブライブラリ291では、偏心回転質量からの同じ周波数での振動を含む装置触覚効果193aは特定のコンテンツ識別子191aに対応し得る。
【0034】
[0046] クライアント触覚ライブラリ390はクライアント触覚装置300上に格納されて、クライアント触覚装置300のモデルまたはタイプに対応する装置固有のサブライブラリ291の完全または部分的なコピーである。クライアント触覚ライブラリ390は異なる実施形態で様々な方法で維持され得る。
図4に例示されるように、クライアント触覚ライブラリ390は装置固有のサブライブラリ291の部分コピーであり得る。
図4は、コンテンツ識別子191A、191B、および191Dを対応する装置触覚効果193A、193B、および193Dと共に含むが、コンテンツ識別子191Cおよびその関連付けられた装置触覚効果193Cは含まない、クライアント触覚ライブラリ390を示す。かかる実施形態では、クライアント触覚ライブラリ390は、触覚ストリームを受信する前に、触覚サーバーシステム200からクライアント触覚装置300によってダウンロードされ得、クライアント触覚ライブラリ390は触覚ストリーム内に含まれるコンテンツ識別子191だけを含み得る。この例では、触覚ストリームはコンテンツ識別子191Cを含んでおらず、それ故それはクライアント触覚ライブラリ390内に存在しない。従って、クライアント触覚装置300は、次の触覚ストリームを復号するために必要な情報だけを受信する。クライアント触覚ライブラリ390は、関連付けられた装置固有のサブライブラリ291の部分または完全コピーのいずれかとして、クライアント触覚装置300上にも永続的に格納され得る。永続的に格納される場合、クライアント触覚ライブラリ390は、クライアント触覚装置300によって触覚ストリームを受信する前に、触覚サーバーシステム200によって更新され得る。別の実施形態では、触覚ストリームがダウンロードされるたびに触覚ストリームを受信する前に、装置固有のサブライブラリ291の完全コピーが、クライアント触覚ライブラリ390として格納するためにクライアント触覚装置300によってダウンロードされ得る。
【0035】
[0047] 一実施形態では、個々のクライアント触覚装置300は、個々のクライアント触覚装置と関連付けられた特定のカスタマイズされたクライアント触覚ライブラリ390を有し得る。ユーザーは、ユーザー自身の好みに従ってクライアント触覚ライブラリ390をカスタマイズし得る。例えば、特定の触覚効果が、装置アクチュエータではなく、装置スピーカーによって出力される場合、ユーザーは興奮(sensation)を好み得る。そのユーザーは、特定の触覚効果のコンテンツ識別子を自身の特定の装置に対するユーザーの好ましい触覚出力にマッピングするカスタマイズされたクライアント触覚ライブラリ390を作成し得る。かかる実施形態では、触覚サーバーシステム200からの自動更新が無効にされ得る。
【0036】
[0048] 引き続き
図4を参照すると、様々なライブラリの設計された触覚効果192および装置触覚効果193がコンテンツ識別子191と関連付けられた触覚ブロックテンプレート450として格納されている。
図4は、設計された触覚効果192Dの情報を格納している単一の触覚ブロックテンプレート例450を例示する。他の設計された触覚効果192および装置触覚効果193の各々は、対応する触覚ブロックテンプレート450(例示せず)も含む。各触覚ブロックテンプレート450は、基本触覚要素ID451およびブロックパラメータ452を定義するテンプレートまたはデータ構造である。装置固有のサブライブラリ291では、コンテンツ識別子191は、触覚ブロックテンプレート450として同様に格納された装置触覚効果193と関連付けられる。前述のように、特定のコンテンツ識別子191と関連付けられた触覚ブロックテンプレート450は、マスター触覚ライブラリ190と装置固有のサブライブラリ291との間で異なり得る。触覚ブロックテンプレート450によって定義された基本触覚要素ID451は、基本触覚要素、すなわち、より大きな触覚効果の基本的な構成ブロックを表す識別子である。基本触覚要素ID451は、アクチュエータタイプに基づいて定義された基本触覚要素の簡便な表現であり、特定のアクチュエータ上で再生可能な基本効果を含む。例えば、ERMアクチュエータに対して、基本触覚要素は、そのアクチュエータの帯域幅内の様々な周波数における振動効果を含む。ERMアクチュエータ上で利用可能な基本触覚要素は、基本触覚要素ID451によって識別され得る。基本触覚要素の持続時間は、この例では、最も短い利用可能な効果である。ERMに対して、最も短い利用可能な効果はERMの立ち上がり時間に等しい持続時間を有し得る。各触覚ブロックテンプレート450のブロックパラメータ452は、基本触覚要素の操作パラメータを実装どおりに定義する。ブロックパラメータ452は、例えば、振幅および繰返し数を含む。従って、基本触覚効果は、コンテンツ識別子191および1つ以上の付随するパラメータによって呼び出され得る。コンテンツ識別子191は、触覚効果に対する特定の触覚ブロックテンプレート450、従って、基本触覚要素ID451を識別する。付随するブロックパラメータ452は、基本触覚要素、例えば、再生振幅および繰返し数、に対する修飾子を表す。
【0037】
[0049] このようにして、触覚ブロックテンプレート450は、基本触覚効果を完全に定義する制御信号または他の信号を格納する必要なく、基本触覚効果を表すか、または示す情報を格納できる。例えば、特定の周波数および振幅におけるERMアクチュエータの3つの振動を含む基本触覚効果を考える。この基本触覚効果は、完全に格納するために比較的かなりの量のデータを必要とし得る3つの完全な繰返しをもつ正弦波によって完全に定義される。基本触覚要素ID451は、3つの振動効果を示す簡便な識別子から成るが、ブロックパラメータ452は周波数および振幅を格納する。
【0038】
[0050]
図5は、カプセル化システム154によって生成された触覚データユニット170の構造を例示する。触覚データユニット170A、170Bは各々、一連の触覚ブロック525および対応するタイムスタンプ526を含む。
図5に示すように、各触覚ブロックは、触覚ブロックテンプレート450、ならびに繰返しおよび振幅を含むブロックパラメータ452を含む。加えて、各触覚データユニット170A、170Bはアクセス識別またはID540およびセッション識別またはID530を含む。
【0039】
[0051] 追加で
図3を参照すると、触覚符号化システム153は、マスター触覚ライブラリ190に基づき、触覚効果情報171に従って一連の触覚ブロックを生成する。各触覚ブロック525は、前述のとおり、触覚ブロックテンプレート450によって定義される。各触覚ブロック525は、触覚ブロックテンプレート450を識別するコンテンツ識別子191およびコンテンツ識別子191によって識別される触覚ブロックテンプレート450の基本触覚要素ID451を修正するブロックパラメータ452を含む。単純な触覚効果は、触覚ブロック525によって表され得る。単純な触覚効果の触覚効果情報171に最も厳密に対応する基本触覚要素を識別する基本触覚要素ID451を有する触覚ブロックテンプレート450が選択される。ブロックパラメータ452は、触覚効果情報171に対応するように選択される。例えば、半秒の振動からなる触覚効果は、基本触覚要素ID451によって識別される共振LRA振動ならびに50%の振幅および半秒の振動を生成するのに適した数の繰返しを定義するブロックパラメータ452を有する触覚ブロックテンプレート450に従って定義され得る。共振LRA振動基本触覚要素ID451が50ミリ秒の基本持続時間を有する場合、半秒の振動に対して10回の繰返しが必要であろう。触覚符号化システム153は次に、タイムスタンプ526を触覚ブロック525に付加して、触覚ブロック525が触覚効果情報171の文脈内で再生される時間を定義する。
【0040】
[0052] さらに複雑な触覚効果が複数の触覚ブロック525によって表され得る。例えば、複数の異なる振幅または周波数を必要とする振動は、異なる振幅パラメータを有する連続的な触覚ブロック525または異なる周波数における基本触覚要素を表す基本触覚要素ID451によって表され得る。別の複雑な触覚効果は、共に動作する複数のアクチュエータを必要とし得、従って、複数のアクチュエータによって再生される基本触覚要素を定義する複数の触覚ブロック525によって定義され得る。複数の触覚ブロック525は、効果が同時に再生されることを意図する場合、同じタイムスタンプ526を有し得る。
【0041】
[0053] 触覚符号化システム153は、オーサリングユーザーインタフェースシステム151を介して受信された触覚効果情報171に従い、触覚ブロックテンプレート、ブロックパラメータ、およびタイムスタンプを選択することにより、追加の触覚ブロック525を生成し続ける。実施形態では、触覚符号化システム153は、触覚効果情報171のストリームまたはトラックが完全にオーサリングされて格納された後、それを符号化する。実施形態では、触覚符号化システム153は、実質的に、触覚効果情報171がオーサリングされている間にそれを符号化する。実施形態では、触覚符号化システム153は、触覚効果情報171を実質的にリアルタイムで、例えば、触覚効果情報171がオーサリングされているとき、またはそれがオーサリングされるのと実質的に同じ進度で、符号化する。
【0042】
[0054] 触覚符号化システム153は従って、一連の触覚効果の触覚効果情報171を連続する一連の触覚ブロック525として符号化することが可能である。各々がより大きくて、さらに複雑な触覚効果の小さくて、単純な部分を表す、触覚ブロック525を使用することにより、多様な触覚効果が符号化できる。触覚ブロック525は、触覚アクチュエータが可能な最も基本的な効果を表すので、ブロックの組合せは、アクチュエータが可能であり得るもっと長いか、またはもっと複雑な触覚効果を定義するために選択できる。
【0043】
[0055] カプセル化システム154は、触覚オーサリングシステム100上で動作するソフトウェアモジュールである。カプセル化システム154は、符号化された触覚ブロック525をそれらのタイムスタンプと一緒に、触覚サーバーによってクライアント触覚装置に送信するために、一連の触覚データユニットにカプセル化する。
【0044】
[0056] 各セッションID530は、1つ以上の触覚ブロック525および対応するタイムスタンプ526から成る完全な触覚効果を指定する。完全な触覚効果は、単一ユニットとして出力されるように触覚設計者またはオーサーによって意図された触覚効果である。完全な触覚効果の一部が再生されない場合、その効果に対する触覚設計者の意図は満足されない。例えば、完全な触覚効果は、最終的な運動感覚効果によって中断される異なる振幅における一連の振動効果を含み得る。別の例は、振動効果が振幅においてピークまで増加し、その後完了するまで振幅において減少する、クレッシェンド/デクレッシェンド効果である。クレッシェンド/デクレッシェンド効果の基本触覚要素、すなわち、クレッシェンドの特定の振幅部分が出力されない場合、それは意図された効果を損なうであろう。完全な触覚効果を定義するために必要な一連の触覚ブロック525およびタイムスタンプ526は、符号化されてセッションID530を割り当てられ得る。データユニットサイズ制限によって触覚効果が複数の触覚データユニット170A、170Bにわたる場合、セッションID530は触覚データユニット170A、170Bにわたって同じであり得、復号器が完全な触覚効果全体を再構築するのを可能にする。
【0045】
[0057] 各アクセスID540は、セッションID530によって指定される完全な触覚効果を受信する許可をもつクライアントのクラスを指定するアクセス制御を表す。アクセスID540は、クライアントのアクセスレベルに従い、触覚効果を選択的に配信するために使用される。クライアントのアクセスレベルは、例えば、加入(subscription)および/または分類の他の方法に基づき得る。例えば、触覚効果を自分のビデオストリームと共に提供するライブストリームアーティストは、1つのセットの触覚効果を一時的視聴者に、第2の、より排他的な触覚効果のセットを加入視聴者に提供し得る。実施形態では、一連の完全な触覚効果のオーサーは、特定の効果をアクセス識別に基づいて受信されるように指定し得る。実施形態では、触覚効果オーサーが効果を選択する完全な触覚効果のライブラリまたはデータベースは関連付けられたアクセス識別を含み得る。
【0046】
[0058] ここで
図3を再度参照すると、オーサリング通信システム155は、触覚オーサリングシステム100上で動作するソフトウェアモジュールである。オーサリング通信システム155は、触覚オーサリングシステム100と触覚サーバーシステム200との間で通信を確立するように構成される。確立された通信経路は、例えば、HTTP、TCP、UDPなどを含む、任意の適切なネットワーク転送プロトコルを利用し得る。
【0047】
[0059] オーサリング通信システム155は、触覚データユニット170A、170B、170C、170Dを触覚ストリーム(例えば、マスター触覚ストリーム400)の一部として、最終的にクライアント触覚装置300への送信のために、触覚サーバーシステム200に送信する。オーサリング通信システム155は、オーディオビジュアルデータのオーディオビジュアルストリーム375を触覚サーバーシステム200に送信するようにさらに構成され、そこでオーディオビジュアルストリーム375はマスター触覚ストリーム400に対応する。マスター触覚ストリーム400のタイムスタンプ526は、触覚効果が再生されるのを意図するオーディオビジュアルストリーム375の特定の時点に対応し得る。
【0048】
[0060] 実施形態では、触覚オーサリングシステム100はマスター触覚サブライブラリ391も触覚サーバーシステム200に送信する。実施形態では、触覚オーサリングシステム100と触覚サーバーシステム200との間で通信が初めて確立されると、マスター触覚サブライブラリ391が最初に送信される。マスター触覚サブライブラリ391は、マスター触覚ストリーム400によって使用される触覚ブロックテンプレート450の全部のコンテンツ識別子191を含むマスター触覚ライブラリ190の一部またはサブセットである。マスター触覚サブライブラリ391は、マスター触覚ストリーム400内でどの触覚ブロックテンプレート450が使用されるかを触覚サーバーシステム200に対して識別するために使用される。実施形態では、マスター触覚サブライブラリ391は、触覚ブロックテンプレート450の基本触覚要素ID451を識別する情報および触覚ブロックテンプレートの基本触覚要素ID451と関連付けられたブロックパラメータ452を識別する情報を含む、マスター触覚ストリーム400のコンテンツ識別子191および触覚ブロックテンプレート450に関する情報の全部を含み得る。実施形態では、マスター触覚サブライブラリ391は、マスター触覚ストリーム400によって使用されるコンテンツ識別子191および触覚ブロックテンプレート450を識別する情報だけを含み得る。触覚ブロックテンプレート450を識別する情報は、マスター触覚ストリーム400内で使用される各触覚ブロックテンプレート450の構成部分を判断するために触覚サーバーシステムによって使用される。
【0049】
[0061] ここで
図2を参照すると、触覚サーバーシステム200は、マスター触覚ストリーム400および、任意選択として、マスター触覚サブライブラリ391を受信する。触覚サーバーシステム200は、触覚ストリーム送信システム10の一対多態様を管理する。触覚サーバーシステム200は、マスター触覚ストリーム400を受信し、複数のクライアント触覚ストリーム401A、401B、401Cをそれから生成する。クライアント触覚ストリーム401A、401B、401Cは、クライアント触覚装置300A、300B、300Cのアクセスレベル、機能、および好みに従って生成される。クライアント触覚ストリーム401A、401B、401Cは次いで、それぞれのクライアント触覚装置300A、300B、300Cに送信される。触覚サーバーシステム200は、クライアント触覚装置300A、300B、300Cのクライアント触覚ライブラリ390A、390B、390Cの最新性(currency)も提供、更新、または確実にする。
【0050】
[0062]
図6は、触覚サーバーシステム200の動作を例示する。触覚サーバーシステム200は、触覚オーサリングシステム100によって符号化されたマスター触覚ストリーム400の触覚データユニット170A、170B、170C、170Dを受信して、触覚データユニット170A、170B、170C、170Dを適切なクライアント触覚装置300A、300B、300Cに送信するように構成される。
【0051】
[0063] サーバー通信システム255は、触覚サーバーシステム200上で動作するソフトウェアモジュールである。サーバー通信システム255は、触覚サーバーシステム200からの全ての着信および発信トラフィックを管理する。サーバー通信システム255は、クライアント触覚装置300A、300B、300Cおよび触覚オーサリングシステム100との通信を確立および維持するように構成される。サーバー通信システム255は、任意の適切な送信プロトコルを使用して、ローカルネットワーク、方向接続(direction connection)、および/またはインターネットを介して通信を確立し得る。実施形態では、サーバー通信システム255は、例えば、HTTP、TCP、UDPなどを含む、任意の適切なネットワーク転送プロトコルを介して通信を確立するように構成される。
【0052】
[0064] クライアント識別システム251は、触覚サーバーシステム200上で動作するソフトウェアモジュールである。クライアント識別システム251は、各クライアント触覚装置300の装置識別を判断するために接続されたクライアント触覚装置300A、300B、300Cを識別および分類するように構成される。クライアント識別システム251は、クライアント触覚装置300A、300B、300Cと触覚サーバーシステム200との間で通信が確立された後、クライアント触覚装置300A、300B、300Cを1つ以上のクライアント装置特性によって識別する、すなわち、装置識別を判断するように構成される。クライアント装置特性の識別は、例えば、通信が初期化される場合に生じるハンドシェイクプロセス中に、実行され得る。クライアント装置特性は、クライアント触覚装置300A、300B、300Cを識別および定義するアクセスレベル、機能、クライアントの好み、および他の特性を含む。
【0053】
[0065] クライアントストリーム作成システム253は、クライアント識別システム251によって識別されるとおり、クライアントアクセスレベルに従い、マスター触覚ストリーム400を分解するように構成される。
図5に関して前述したように、各符号化された触覚効果は、アクセス制御識別を表すアクセスID540を含む。クライアントストリーム作成システム253は、セッションID530によって識別されて、マスター触覚ストリーム400から分解されるとおり、完全な触覚効果のアクセスID540に従ってクライアント触覚ストリーム401A、401B、401Cを生成する。所与のクライアント触覚ストリーム401A、401B、401Cに割り当てられたセッションID530によって識別される完全な触覚効果の各々は、特定のアクセスレベルを有するクライアント触覚装置300A、300B、300Cによるアクセスのために指定される。従って、各触覚効果は、2つ以上のクライアント触覚ストリーム401A、401B、401Cに割り当てられ得る。例えば、全てのクライアントがアクセス可能としてそれを指定するアクセスID540を有する触覚データユニット170は、各クライアント触覚ストリーム401A、401B、401Cに割り当てられ得る。より制限されたアクセスレベルを有する触覚データユニット170は、より高いアクセスレベルを有するクライアント触覚装置300A、300B、300Cだけが利用可能なクライアント触覚ストリーム401A、401B、401Cに割り当てられ得る。触覚効果は、例えば、加入支払い(subscription payment)、会員規約、評判ランキング、および他の要因に基づき、複数のアクセスレベルに従って分類され得る。一実施形態では、クライアントストリーム作成システム253は、許可されるクライアントアクセスの各レベルに従って触覚ストリームを生成する。サーバー通信システム255は、クライアント触覚ストリーム401A、401B、401Cの各々を、クライアント触覚装置300A、300B、300Cのアクセスレベルに基づいて、適切なクライアント触覚装置300A、300B、300Cに送信するように構成される。実施形態では、クライアントストリーム作成システム253は、クライアント触覚ストリーム401A、401B、401Cを作成する場合、各セッションID530と関連付けられたアクセスID540情報を除去する。
【0054】
[0066] 例えば、
図6に例示するように、触覚データユニット170Bは、触覚クライアント装置300Cなどの、加入者だけが利用可能な排他的な触覚コンテンツを含む。触覚データユニット170Bは従って、それを加入しているクライアントだけが利用可能として指定するアクセスIDを有する。触覚データユニット170A、170C、170Dは、クライアントIDによって全てのクライアントが利用可能であると指定される。従って、クライアント触覚ストリーム401Cは触覚データユニット170Bを含むが、クライアント触覚ストリーム401A、401Bは含まない。
【0055】
[0067] サーバー通信システム255は、クライアント識別システム251によって識別されるとおり、接続されたクライアント触覚装置300A、300B、300Cの特性に従ってクライアント触覚ライブラリ390A、390B、390Cを供給、更新、または確認するようにさらに構成される。クライアント触覚装置300A、300B、300Cの特性は、クライアント触覚装置300A、300B、300Cの触覚能力を含み、クライアント触覚装置300A、300B、300Cのモデル番号および/またはタイプによって定義され得る。クライアント触覚装置300A、300B、300Cと、触覚サーバーシステム200との間で通信が確立された後、サーバー通信システム255は、各クライアント触覚装置300A、300B、300Cが、クライアント触覚装置のモデルおよびタイプに対して固有の最新クライアント触覚ライブラリ390A、390B、390Cを有することを確実にする。これは、クライアント触覚ライブラリ390A、390B、390Cを、クライアント触覚装置300A、300B、300Cが1つも有していない場合に、送信すること、古いクライアント触覚ライブラリ390A、390B、390Cを更新すること、および/またはクライアント触覚ライブラリ390A、390B、390Cが最新であることを確認することを含み得る。クライアント触覚ライブラリ390の構造は、
図4に関して、前述されている。前述のように、サーバー通信システム255は、完全な装置固有のサブライブラリ291をクライアント触覚ライブラリ390として送信し得るか、または装置固有のサブライブラリ291の部分コピーをクライアント触覚ライブラリ390として送信し得る。装置固有のサブライブラリ291の部分コピーは、マスター触覚ストリーム400のコンテンツ識別子191に従って選択され得る。実施形態では、装置固有のサブライブラリ291の部分コピーは、特定のクライアント触覚ストリーム401A、401B、401Cのコンテンツ識別子191に従い、例えば、クライアントアクセスレベルに基づきマスター触覚ストリーム400から縮小されるように、選択され得る。
【0056】
[0068] 動作中、触覚サーバーシステム200は次のように実行する。例えば、クライアント触覚装置300Aがサーバー通信システム255を介して触覚サーバーシステム200との通信を確立すると、クライアント触覚装置300Aの装置特性がクライアント識別システム251によって識別される。クライアント触覚装置300Aの識別された能力、例えば、装置モデルまたはタイプに基づき、サーバー通信システム255は次いで、クライアント触覚ライブラリ390Aをクライアント触覚装置300Aに送信するか、クライアント触覚装置300Aに以前に格納されたクライアント触覚ライブラリ390Aに対するアップデートを送信するか、または以前に格納されたクライアント触覚装置390Aが最新であることをクライアント触覚装置300Aに確認する。クライアント識別システム251は、クライアント装置300Aのアクセスレベルを識別する。サーバー通信システム255は次いで、クライアント触覚装置300Aのアクセスレベルと関連付けられたクライアント触覚ストリーム401Aをクライアント触覚装置300Aに送信する。
【0057】
[0069] ここで
図2を再度参照すると、複数のクライアント触覚装置300A、300B、300Cは各々、それぞれのクライアント触覚ストリーム401A、401B、401Cおよびそれぞれのクライアント触覚ライブラリ390A、390B、390Cを受信する。クライアント触覚装置300A、300B、300Cはクライアント触覚ストリーム401A、401B、401Cを復号して、触覚出力のストリームを触覚出力装置330A、330B、330Cを介して提供する。
【0058】
[0070]
図7Aおよび
図7Bは、一実施形態に従った、触覚オーサリングシステムからクライアント触覚装置へのエンドツーエンド触覚ストリーム送信を例示する。触覚オーサリングシステム100は、マスター触覚ストリーム400を触覚サーバーシステム200に送信する。
図7Aおよび
図7Bは、個々に触覚データユニット700A、700B、700C、700D、700Eとして指定された、複数の触覚データユニット170を例示する。触覚データユニット700A、700B、700C、700D、700Eの各々は、アクセスID540、セッションID530、ならびに1つ以上の触覚ブロック525(図示せず)および関連付けられたタイムスタンプ526(図示せず)を含む。
図7Aおよび
図7Bに例示するように、触覚データユニット700Aおよび700Cは、クライアント触覚装置300Bのアクセスレベルに対応する「B」アクセスID540を含み、他方、触覚データユニット700A、700B、700Dおよび700Eは、クライアント触覚装置300Cのアクセスレベルに対応する「C」アクセスID540を含む。それに応じて、触覚データユニット700Aおよび700Cは、クライアント触覚ストリーム401Bにパッケージ化されて、クライアント触覚装置300Bに送信され、他方、触覚データユニット700A、700B、700Dおよび700Eは、クライアント触覚ストリーム401Cにパッケージ化されて、クライアント触覚装置300Cに送信される。それぞれのクライアント触覚ストリーム401B、401Cを受信すると、クライアント触覚装置300B、300Cは受信した触覚データユニット170を復号し、符号化された触覚効果をタイムスタンプ526に従って適切な時に再生する。
【0059】
[0071]
図7Aおよび
図7Bによって例示されるように、触覚データユニット700B、700Dおよび700Eは、「1」のセッションID530を共有する。従って、触覚効果は複数の触覚データユニット700B、700Dおよび700Eにわたって広がるが、それは、受信されるとクライアント触覚装置300によって単一の完全な触覚効果に再構築される。触覚データユニット700Aおよび700Cの触覚効果は、触覚データユニット700Aおよび700Cの各々内に完全に含まれる。
【0060】
[0072]
図7Aおよび
図7Bによって例示されるように、アクセスID540は異なるクライアント触覚装置300間で相互に排他的であり得る。すなわち、クライアントアクセスレベルは、各高位レベルが下位レベルの全ての触覚効果へのアクセスを含む、階層的である必要はない。
図7Aおよび
図7Bに示すように、第1のクライアントは利用可能であるが、第2のクライアントは利用可能でない触覚効果があり、他方、他の触覚効果は第2のクライアントには利用可能であるが第1のクライアントは利用可能でない。
【0061】
[0073]
図8は、クライアント触覚装置300の操作を例示する。クライアント触覚装置300は、クライアント触覚ストリーム401の触覚データユニット170を受信および復号して、効果を再生するように構成される。クライアント触覚装置300は、少なくとも1つのプロセッサ310(
図8には示さず)、少なくとも1つの記憶装置320(
図8には示さず)、および少なくとも1つの触覚出力装置330を含む。記憶装置320は、再生ユーザーインタフェースシステム351、触覚再生システム352、触覚復号システム353、カプセル化解除システム354、およびクライアント通信システム355の操作を実行するためのソフトウェア命令を格納するように構成される。
【0062】
[0074] 再生ユーザーインタフェースシステム351は、クライアント触覚装置300上で動作するソフトウェアモジュールである。再生ユーザーインタフェースシステム351はクライアント触覚装置300に対してユーザーインタフェース715を提供するように構成される。ユーザーインタフェースは、例えば、ディスプレイ画面もしくはタッチスクリーンによって提供される、視覚的であり得、例えば、ボタン、スイッチ、もしくは同様のものによって提供される、触覚的であり得、例えば、オーディオ出力およびオーディオ入力によって提供される、可聴式であり得、かつ/または、例えば、仮想、拡張、もしくは複合現実インタフェースによって提供される、仮想的であり得る。ユーザーインタフェースは、ユーザーが、触覚コンテンツを含む、メディアコンテンツとやり取りする、例えば、再生、一時停止、停止、トラック選択などを行うのを可能にするように構成される。
【0063】
[0075] クライアント通信システム355は、クライアント触覚装置300上で動作するソフトウェアモジュールである。クライアント通信システム355は、クライアント触覚装置300からの全ての着信および発信データトラフィックを管理する。クライアント通信システム355は、触覚サーバーシステム200との通信を確立および維持するように構成される。クライアント通信システム355は、例えば、HTTP、TCP、UDPなどを含む、任意の適切な送信プロトコルを使用して、ローカルネットワーク、方向接続、および/またはインターネットを介して通信を確立し得る。
【0064】
[0076] クライアント通信システム355は、触覚サーバーシステム200によって送信された装置固有のサブライブラリ291を受信し、装置固有のサブライブラリ291をクライアント触覚ライブラリ390として格納するように構成される。クライアント通信システム355は、クライアント触覚ライブラリ390を更新し、かつ/または受信した装置固有のサブライブラリ291に基づいてクライアント触覚ライブラリ390が最新であることを確認するようにさらに構成される。クライアント通信システム355は、触覚データユニット170を含む、クライアント触覚ストリーム401を触覚サーバーシステム200から受信するようにさらに構成される。
【0065】
[0077] カプセル化解除システム354は、クライアント触覚装置300上で動作するソフトウェアモジュールである。カプセル化解除システム354は、クライアント触覚ストリーム401のカプセル化を解除するように構成される。クライアント触覚ストリーム401のカプセル化を解除することは、クライアント触覚ストリーム401からヘッダーおよびアドレス情報を除去して、触覚ブロック525を、それらのタイムスタンプ526およびセッションID520と共に抽出することを含む。カプセル化解除システム354は、クライアント触覚ストリーム401の触覚ブロック525を触覚ブロックキュー720に移動させ、触覚ブロック525をセッションID530に従って触覚ブロックキュー720内に格納する。前述のように、各セッションID530は、配信される完全な触覚効果を表す。触覚ブロックキュー720は、触覚復号システム353が完全な触覚効果に対して必要な情報を、タイムスタンプに従って要求されるとおり、触覚ブロックキュー720から引き出すことができるように、各セッションID530のタイムスタンプ526および触覚ブロック525を一緒に格納する。一実施形態では、触覚ブロック525は、それらが再生される順序で、触覚ブロックキュー720内に格納される。
【0066】
[0078] ストリーミングに適した通信プロトコルは、多くの場合損失の多いプロトコルである。例えば、UDPプロトコルは、失われたデータユニットを回復するためのいかなる機構も含んでいない。データユニットが失われるか、または順序がばらばらで受信される場合、それらは無視される。これは、たとえ損失を伴ってさえ、ストリームを継続することが、送信が完全であるよりも重要であるので、ストリーミングフォーマットにおいて重要である。一実施形態では、触覚ストリーム送信システム10は、順序がばらばらで受信される触覚ブロック525を廃棄することによる潜在的なデータユニット損失または延着の責任をもつ。
【0067】
[0079] 触覚復号システム353は、クライアント触覚装置300上で動作するソフトウェアモジュールである。触覚復号システム353は、各セッションID530と関連付けられた触覚ブロック525の集合を、触覚ブロック525のタイムスタンプに従い、触覚ブロックキュー720から引き出す。触覚復号システム353は、各連続的な触覚ブロック525のコンテンツ識別子191を判断する。触覚復号システム353はクライアント触覚ライブラリ390にアクセスして、コンテンツ識別子と関連付けられた触覚ブロックテンプレート450を判断する。触覚復号システム353は、選択された触覚ブロックテンプレート450と関連付けられた基本触覚要素ID451によって識別される基本触覚要素を識別し、コンテンツ識別子191と関連付けられたブロックパラメータ452を基本触覚要素に適用する。触覚復号システム353は、各セッションID530と関連付けられた完全な触覚効果を基本触覚要素ID451ならびにそれらの対応するブロックパラメータ452、例えば、繰返しおよび振幅、から構築する。触覚復号システム353は次いで、各復号した触覚効果の基本触覚要素ID451およびブロックパラメータ452によって定義された基本触覚効果を触覚再生システム352に渡す。
【0068】
[0080] クライアント触覚装置300の触覚復号システム353は、ローカルのクライアント触覚ライブラリ390に従って各完全な触覚効果を復号する。従って、クライアント触覚ストリーム401の触覚効果は、クライアント触覚装置300が出力可能な触覚効果に変換される。同等のアクセスレベルをもち、同一のクライアント触覚ストリーム401を受信する異なるクライアント触覚装置300は、異なるクライアント触覚装置300の特定のアクチュエータおよび能力に基づいて、異なる完全な触覚効果を生成し得る。ユニバーサルコンテンツ識別子191に従ってクライアント固有の触覚効果の生成を可能にする、ローカルのクライアント触覚ライブラリ390は、多くの異なるクライアント触覚装置300によりそれらの個々の能力に従って再生される単一の触覚トラックまたはストリームを触覚設計者が作成するのを可能にする。
【0069】
[0081] 触覚再生システム352は、クライアント触覚装置300上で動作するソフトウェアモジュールである。触覚再生システム352は、触覚復号システム353によって生成されたとおり完全な触覚効果を受信する。触覚再生システム352は、触覚コマンド信号を、触覚復号システム353から受信した完全な触覚効果に基づき、触覚クライアント装置300の触覚出力装置330に送信するか、または送信を引き起こすように構成される。触覚コマンド信号は、各セッションID530に対して生成された完全な触覚効果に従い、触覚出力装置330に触覚効果を出力させるように構成された電気制御信号を含む。実施形態では、触覚再生システム352は、触覚コマンド信号を、触覚出力装置330の特定の能力に従って触覚出力装置330に送信するように構成される。
【0070】
[0082]
図9は、送信のために触覚入力を符号化するプロセス900を示す流れ図である。プロセス900は、1つ以上の物理プロセッサによって実行される場合に、コンピュータシステムに本方法を実行させるコンピュータプログラム命令でプログラムされた1つ以上の物理プロセッサを有するコンピュータシステム上で実行される。1つ以上の物理プロセッサは以下では単にプロセッサと呼ばれる。実施形態では、プロセス900は、本明細書で説明するような触覚オーサリングシステム100を介して実行される。触覚オーサリングシステム100は、プロセス900を実行するように構成されたハードウェアおよびソフトウェアの組合せの一例を表すが、プロセス900の実施態様は触覚オーサリングシステム100のハードウェアおよびソフトウェアの組合せに制限されない。本方法の操作の各々に関する追加の詳細は、前述のように、触覚送信システム10の説明に従って理解され得る。
【0071】
[0083] 操作902で、プロセス900は、プロセッサによって、触覚効果情報を受信することを含む。触覚効果情報は、触覚入力装置によってユーザーから受信され得、かつ/またはローカルコンピュータメモリ、取り外し可能もしくは可搬式コンピュータメモリ、および/またはネットワーク化コンピュータメモリなどの、記憶位置から受信され得る。触覚入力装置は、コンピュータインタフェースを介して触覚効果のパラメータを選択するために使用されるキーボードおよびマウスなどの、従来のコンピュータインタフェースツールを含み得る。触覚入力装置は、触覚効果情報がユーザーの入力ジェスチャに従って生成されるのを可能にする、タッチスクリーン、マウス、カメラなどの、ジェスチャを受信可能なコンピュータインタフェースツールをさらに含み得る。触覚効果情報は、触覚効果のオーサーによって元々設計されたとおりに触覚効果を記述するデータを含む。
【0072】
[0084] 操作904で、プロセス900は、マスター触覚ライブラリにアクセスすることを含む。マスター触覚ライブラリは、触覚効果情報の符号化のためにプロセッサによってアクセスされる。マスター触覚ライブラリは、コンテンツ識別子と設計された触覚効果との間の関連付けを含む。設計された触覚効果は、触覚ブロックテンプレートによって定義され、その各々は、基本触覚要素ならびに振幅および繰返し数などの、基本触覚要素に適用される1つ以上の触覚ブロックパラメータを含む。
【0073】
[0085] 操作906で、プロセス900は、マスター触覚ライブラリの触覚ブロックテンプレートに従い、触覚効果情報に基づいて、触覚ブロックを生成することを含む。触覚効果情報に基づいて、適切な触覚ブロックテンプレート450がマスター触覚ライブラリから選択される。触覚効果情報に基づいて、ブロックパラメータが判断される。ブロックパラメータは、例えば、振幅および繰返し数を含み得る。各生成された触覚ブロックは、触覚ブロックテンプレートを識別するコンテンツ識別子および1つ以上の触覚ブロックパラメータを含む。各触覚ブロックは次いで、触覚効果情報に従ってタイムスタンプが押され、タイムスタンプは触覚ブロックの効果が再生される触覚ストリーム内の時間を示す。
【0074】
[0086] 操作908で、プロセス900は、触覚ブロックをカプセル化することを含む。触覚ブロックをカプセル化することは、触覚ブロックおよびタイムスタンプを触覚ストリームに対するデータユニットとして格納することを含む。触覚ブロックをカプセル化することは、単一の完全な触覚効果の触覚ブロックの全部をセッション識別で識別することを含む。触覚ブロックをカプセル化することは、各完全な触覚効果と関連付けるためにアクセス情報を判断することをさらに含み、アクセス情報は関連付けられた完全な触覚効果を受信するために必要なクライアントアクセスレベルを示す。セッション識別およびアクセス識別は次いで触覚ブロックと共にカプセル化されて触覚データユニットを生成する。触覚データユニットには次いで、選択された送信プロトコルに従って送信するために適切なヘッダーおよびラッパーが提供される。
【0075】
[0087] 操作910で、プロセス900は、触覚データユニットを配信のために触覚サーバーに送信することを含む。触覚データユニットは、最終的に1つ以上のクライアント触覚装置への配信のために、触覚ストリームの一部として送信される。実施形態では、触覚ストリームに対応するオーディオビジュアルストリームも触覚オーサリングシステムによって送信される。かかる実施形態では、触覚ストリームのタイムスタンプは触覚ブロックの再生をオーディオビジュアルストリームと同期させるために使用される。実施形態では、触覚オーサリングシステムは、マスター触覚ライブラリおよび触覚ストリームの選択された触覚ブロックテンプレートに基づいてマスター触覚サブライブラリを生成するように構成され、マスター触覚サブライブラリは、選択された触覚ブロックテンプレートと関連付けられたマスター触覚ライブラリの部分を含む。マスター触覚サブライブラリは、マスター触覚ストリームの送信前、後、または送信中に触覚サーバーシステムに送信される。
【0076】
[0088] 前述は、本明細書で説明する実施形態に従って触覚入力を送信のために符号化するプロセス例900の例示的なフローを説明する。
図9に例示するプロセスは例示に過ぎず、本明細書で説明する実施形態の範囲から逸脱することなく変形形態が存在する。本ステップは、説明するものとは異なる順序で実行され得、追加のステップが実行され得、かつ/またはさらに少ないステップが実行され得る。
【0077】
[0089]
図10は、触覚効果のストリームをクライアント触覚装置に送信するプロセス1000を示す流れ図である。プロセス1000は、1つ以上の物理プロセッサによって実行される場合に、コンピュータシステムに本方法を実行させるコンピュータプログラム命令でプログラムされた1つ以上の物理プロセッサを有するコンピュータシステム上で実行される。1つ以上の物理プロセッサは以下では単にプロセッサと呼ばれる。実施形態では、プロセス1000は本明細書で説明するような触覚サーバーシステム200によって実行される。触覚サーバーシステム200は、プロセス1000を実行するように構成されたハードウェアおよびソフトウェアの組合せの一例を表すが、プロセス1000の実施態様は触覚サーバーシステム200のハードウェアおよびソフトウェアの組合せに制限されない。本方法の操作の各々に関する追加の詳細は、前述のように、触覚送信システム10の説明に従って理解され得る。
【0078】
[0090] 操作1002で、プロセス1000は、触覚サーバーシステムと触覚オーサリングシステムとの間に通信を確立することを含む。通信は、例えば、HTTP、TCP、UDPなどを含む、任意の適切なネットワーク送信プロトコルを介して確立され得る。
【0079】
[0091] 操作1004で、プロセス1000は、触覚オーサリングシステムからマスター触覚サブライブラリを受信することを含む。触覚サーバーシステムは、マスター触覚サブライブラリを触覚オーサリングシステムから受信する。マスター触覚サブライブラリは、マスター触覚ライブラリからのコンテンツ識別子および関連付けられた設計された触覚効果の一部を含む。その部分は、マスター触覚ストリームによって使用されるコンテンツ識別子に従い、触覚オーサリングシステムから触覚サーバーシステムに送信するために選択される。実施形態では、任意選択として、触覚サーバーシステムは既にマスター触覚ライブラリのコピーを格納しているので、触覚オーサリングシステムと触覚サーバーシステムとの間で送信する必要のあるライブラリはない。実施形態では、触覚オーサリングシステムおよび触覚サーバーシステムは、触覚サーバーシステム上に格納されたマスター触覚ライブラリのコピーが最新であるかどうかを判断するために通信し得る。
【0080】
[0092] 操作1006で、プロセス1000は、マスター触覚ストリームを触覚オーサリングシステムから受信することを含む。マスター触覚ストリームは、触覚ブロックおよびタイムスタンプのストリームであり、各々対応するセッション識別およびクライアント識別と関連付けられる。マスター触覚ストリームは、触覚効果のオーサーによって元々設計されたとおり一連の触覚効果を表す。
【0081】
[0093] 操作1008で、プロセス1000は、クライアント触覚装置との通信を確立することを含む。通信は、例えば、HTTP、TCP、UDPなどを含む、任意の適切なネットワーク送信プロトコルを介して確立され得る。
【0082】
[0094] 操作1010で、プロセス1000は、クライアント触覚装置の装置識別に従って判断された装置固有の触覚サブライブラリをクライアント触覚装置に提供することを含む。クライアント触覚装置の装置識別は、前述のとおり、クライアント触覚装置の特性に従い触覚サーバーシステムによって判断される。触覚サーバーシステムは、装置固有のサブライブラリの集合を含む装置触覚ライブラリを格納する。各装置固有のサブライブラリは、クライアント触覚装置の特定のタイプまたはモデルと関連付けられる。送信のための装置固有の触覚ライブラリは、クライアント触覚装置のモデルまたはタイプを示す装置識別に従って、装置触覚ライブラリの装置固有のサブライブラリから選択される。実施形態では、クライアント触覚装置に送信された装置固有の触覚サブライブラリは、クライアント触覚装置に送信されるクライアント触覚ストリームと関連付けられたコンテンツ識別子だけを含むようにさらに改善される。
【0083】
[0095] 操作1012で、プロセス1000は1つ以上のクライアント触覚ストリームをマスター触覚ストリームから生成することを含む。触覚サーバーシステムは、クライアント触覚装置のアカウント識別に従い、マスター触覚ストリームから触覚効果を選択することにより、マスター触覚ストリームを1つ以上のクライアント触覚ストリームに分解する。クライアント触覚装置のアカウント識別は、各クライアント触覚装置がアクセスを有するアクセス識別を示す。前述のように、完全な触覚効果を表す触覚ブロックは、セッション識別およびアクセス識別下で符号化される。アクセス識別は、完全な触覚効果を受信するためにクライアント触覚装置によって必要とされるクライアントアクセスのレベルを示す。クライアントアクセスのレベルは、各クライアント触覚装置のアカウント識別によって識別され得る。触覚サーバーシステムは、各クライアント触覚ストリームに対して、適切なアカウント識別、すなわち、クライアントアクセスのレベルに対応するアクセス識別を有する触覚ブロックだけを選択することにより、異なるクライアントアクセスレベルに対して1つ以上のクライアント触覚ストリームを構築する。実施形態では、一旦、クライアント触覚装置が識別されると、触覚サーバーシステムは、クライアントアクセスの各可能なレベルに対してクライアント触覚ストリームを生成し、生成したクライアント触覚ストリームをクライアント触覚装置と照合する。
【0084】
[0096] 操作1014で、プロセス1000は、クライアント触覚ストリームをクライアント触覚装置に送信することを含む。実施形態では、1つ以上のクライアント触覚ストリームが対応する1つ以上のクライアント触覚装置に送信される。クライアント触覚ストリームは、アクセスレベルを示すクライアントアカウント識別に基づいて生成されて、複数のクライアント触覚装置の間で同じであり得るので、2つ以上のクライアント触覚装置が同じクライアント触覚ストリームを受信し得る。
【0085】
[0097] 前述は、本明細書で説明する実施形態に従って触覚ストリームをクライアント触覚装置に送信するプロセス例1000の例示的なフローを説明する。
図10に例示するプロセスは例示に過ぎず、本明細書で説明する実施形態の範囲から逸脱することなく変形形態が存在する。本ステップは、説明するものとは異なる順序で実行され得、追加のステップが実行され得、かつ/またはさらに少ないステップが実行され得る。
【0086】
[0098]
図11は、再生のために触覚効果のストリームを受信および復号する方法を示す流れ図である。プロセス1100は、1つ以上の物理プロセッサによって実行される場合に、コンピュータシステムに本方法を実行させるコンピュータプログラム命令でプログラムされた1つ以上の物理プロセッサを有するコンピュータシステム上で実行される。1つ以上の物理プロセッサは以下では単にプロセッサと呼ばれる。実施形態では、プロセス1100は本明細書で説明するようなクライアント触覚装置300によって実行される。クライアント触覚装置300は、プロセス1000を実行するように構成されたハードウェアおよびソフトウェアの組合せの一例を表すが、プロセス1000の実施態様はクライアント触覚装置300のハードウェアおよびソフトウェアの組合せに制限されない。本方法の操作の各々に関する追加の詳細は、前述のように、触覚送信システム10の説明に従って理解され得る。
【0087】
[0099] 操作1102で、プロセス1100は、触覚サーバーとの通信を確立することを含む。クライアント触覚装置と触覚サーバーシステムとの間の通信リンクは、例えば、HTTP、TCP、UDPなどを含む、任意の適切な送信プロトコルに従って確立され得る。
【0088】
[0100] 操作1104で、プロセス1100は、触覚サーバーシステムからクライアント触覚ライブラリを取得することを含む。クライアント触覚装置は、触覚サーバーに装置識別を供給し、次いで、触覚サーバーは、装置識別に従って生成されたクライアント触覚ライブラリをクライアント触覚装置に送信する。クライアント触覚装置の装置識別は、前述のように、クライアント触覚装置の特性に従い、触覚サーバーシステムによって判断される。クライアント触覚ライブラリは、装置識別によって識別されるとおり、クライアント触覚装置の能力に基づきクライアント触覚装置に対して最適化される。クライアント触覚ライブラリは、コンテンツ識別子とクライアント触覚装置の1つ以上のアクチュエータによって再生可能な対応する触覚効果との間の関連付けを含む。実施形態では、クライアント触覚ライブラリは、クライアント触覚ストリーム内に含まれる触覚ブロックに従って生成され得る。
【0089】
[0101] 操作1106で、プロセス1100は、触覚サーバーからクライアント触覚ストリームを受信することを含む。クライアント触覚ストリームは、複数の触覚ブロックおよび対応する複数のタイムスタンプを含む。各触覚ブロックは、コンテンツ識別子および触覚ブロックパラメータを含む。各触覚ブロックは、セッション識別と関連付けられる。一緒に、所与のセッション識別と関連付けられた触覚ブロックの集合は完全な触覚効果を表す。
【0090】
[0102] 操作1108で、プロセス1100は、クライアント触覚装置の1つ以上のアクチュエータ上での再生のために複数の触覚効果を生成することを含む。触覚効果は、クライアント触覚ストリームの触覚ブロックから生成される。触覚ブロックのコンテンツ識別子は、クライアント触覚ライブラリに対するインデックスとして機能して、その触覚ブロックによって要求される触覚ブロックテンプレートを識別する。触覚ブロックパラメータは、コンテンツ識別子によって識別された触覚ブロックテンプレートと関連付けられた基本触覚要素に適用される。基本触覚要素および触覚ブロックパラメータの組合せは、基本触覚要素を提供する。所与のセッション識別と関連付けられた触覚ブロックから復号された基本触覚効果の全てをそれらのタイムスタンプに従って組み合わせると、完全な触覚効果が生成される。
【0091】
[0103] 操作1110で、プロセス1100は、複数の触覚効果をクライアント触覚装置の1つ以上のアクチュエータに出力することを含む。クライアント触覚装置は、基本触覚効果の形で、または完全な触覚効果の形で全て一緒に、のいずれかで、生成された触覚効果を、クライアント触覚装置と関連付けられた1つ以上のアクチュエータに出力する。
【0092】
[0104] 前述は、触覚ストリームを受信し、その中に符号化された触覚効果を再生するプロセス例1100の例示的なフローを説明する。
図11に例示するプロセスは例示に過ぎず、本明細書で説明する実施形態の範囲から逸脱することなく変形形態が存在する。本ステップは、説明するものとは異なる順序で実行され得、追加のステップが実行され得、かつ/またはさらに少ないステップが実行され得る。
【0093】
[0105] 従って、触覚効果を符号化、送信、復号、および再生するシステム、装置、および方法が提供される。本発明に従った様々な実施形態が前述されているが、それらは実例としてほんの一例として提示されており、制限ではないことを理解すべきである。当業者には、形式および詳細における様々な変更が本発明の精神および範囲から逸脱することなく行われ得ることが明らかであろう。従って、本発明の幅および範囲は、前述の例示的な実施形態のいずれによっても制限されるべきでなく、添付のクレームおよびそれらの均等物に従ってのみ定義されるべきである。本明細書で説明する各実施形態、および本明細書で引用される各参照の各特徴は、任意の他の実施形態の特徴と組み合わせて使用できることも理解されたい。別の言い方をすれば、触覚効果をレンダリングする前述の方法の態様は、本明細書で説明する他の方法と任意の組合せで使用され得るか、または方法は別々に使用できる。本明細書で説明する全ての特許および公開は、参照により全体として本明細書に組み込まれる。
【0094】
[0106] 様々な実施形態の追加の説明:
【0095】
[0107] 実施形態1は、送信のために触覚入力を符号化するコンピュータ実装方法であり、本方法は、1つ以上の物理プロセッサによって実行される場合に、コンピュータシステムに本方法を実行させるコンピュータプログラム命令でプログラムされた1つ以上の物理プロセッサを有するコンピュータシステム上で実行され、本方法は、
・コンテンツ識別子と設計された触覚効果との間の関連付けを格納しているマスター触覚ライブラリにアクセスすることであって、設計された触覚効果は第1の触覚ブロックテンプレートおよび第2の触覚ブロックテンプレートを含むこと、
・触覚効果情報を受信すること、
・マスター触覚ライブラリから、触覚効果情報に基づき第1の触覚ブロックテンプレートに従って第1の触覚ブロックを生成すること、
・触覚効果情報に従って第1のタイムスタンプを第1の触覚ブロックに付加すること;
・マスター触覚ライブラリから、触覚効果情報に基づき第2の触覚ブロックテンプレートに従って第2の触覚ブロックを生成すること、
・触覚効果情報に従って第2のタイムスタンプを第2の触覚ブロックに付加すること;
・第1の触覚ブロックおよび第1のタイムスタンプを第2の触覚ブロックおよび第2のタイムスタンプと共に触覚データユニットにカプセル化すること、及び
・触覚データユニットを、1つ以上のクライアント触覚装置への配信のために触覚サーバーシステムに送信すること
を含む。
【0096】
[0108] 実施形態2は、実施形態1の方法であり、セッション識別を触覚データユニットにカプセル化することをさらに含み、セッション識別は、第1の触覚ブロックおよび第2の触覚ブロックを含む完全な触覚効果を表す。
【0097】
[0109] 実施形態3は、実施形態2の方法であり、アクセス識別を、セッション識別と関連付けられた触覚データユニットにカプセル化することをさらに含み、アクセス識別は、完全な触覚効果を受信するために選択された複数のクライアントを表す。
【0098】
[0110] 実施形態4は、実施形態1〜3のいずれかの方法であり、触覚データユニットを触覚ストリームの一部として送信すること、および触覚ストリームに対応するオーディオビジュアルストリームを送信することをさらに含む。
【0099】
[0111] 実施形態5は、実施形態1〜4のいずれかの方法であり、第1の触覚ブロックテンプレートは基本触覚要素および少なくとも1つのブロックパラメータを含む。
【0100】
[0112] 実施形態6は、実施形態1〜5のいずれかの方法であり、第1の触覚ブロックテンプレートに従って第1の触覚ブロックを生成することは、繰返し数および振幅を少なくとも1つのブロックパラメータとして選択することを含む。
【0101】
[0113] 実施形態7は、実施形態1〜6のいずれかの方法であり、触覚効果情報は記憶位置から受信される。
【0102】
[0114] 実施形態8は、実施形態1〜7のいずれかの方法であり、触覚効果情報はユーザーの入力ジェスチャに従って生成される。
【0103】
[0115] 実施形態9は、実施形態1〜8のいずれかの方法であり、マスター触覚ライブラリ、第1の触覚ブロックの第1の触覚ブロックテンプレート、および第2の触覚ブロックの第2の触覚ブロックテンプレートに基づいてマスター触覚サブライブラリを生成すること;ならびにマスター触覚サブライブラリを触覚サーバーシステムに送信することをさらに含む。
【0104】
[0116] 実施形態10は、触覚効果のストリームを符号化および送信するためのシステムであり、本システムは、
・1つ以上のプロセッサと、
・1つ以上のプロセッサによって実行される場合に、本システムに以下のことを実行させる命令を格納している記憶装置と、を備える。
・複数の触覚ブロックテンプレートを格納しているマスター触覚ライブラリにアクセスすることであって、各触覚ブロックテンプレートは基本触覚要素を表し、ブロックパラメータを有すること、
・触覚効果情報を受信すること、
・マスター触覚ライブラリから、触覚効果情報に従って第1の触覚ブロックテンプレートおよび第1のブロックパラメータを有する第1の触覚ブロックを生成すること、
・触覚効果情報に従って第1のタイムスタンプを第1の触覚ブロックに付加すること、
・マスター触覚ライブラリから、触覚効果情報に従って第2の触覚ブロックテンプレートおよび第2のブロックパラメータを有する第2の触覚ブロックを生成すること、
・触覚効果情報に従って第2のタイムスタンプを第2の触覚ブロックに付加すること、
・第1の触覚ブロックおよび第1のタイムスタンプを第2の触覚ブロックおよび第2のタイムスタンプと共に触覚データユニットにカプセル化すること;ならびに
・触覚データユニットを、1つ以上のクライアント触覚装置への配信のために触覚サーバーシステムに送信すること
【0105】
[0117] 実施形態11は、実施形態10のシステムであり、1つ以上のプロセッサは、本システムに、セッション識別を触覚データユニットにカプセル化させるようにさらに構成され、セッション識別は第1の触覚ブロックおよび第2の触覚ブロックを含む完全な触覚効果を表す。
【0106】
[0118] 実施形態12は、実施形態11のシステムであり、1つ以上のプロセッサは、本システムに、アクセス識別を、セッション識別と関連付けられた触覚データユニットにカプセル化させるようにさらに構成され、クライアント識別は完全な触覚効果を受信するために選択されたクライアントのクラスを表す。
【0107】
[0119] 実施形態13は、実施形態10〜12のいずれかのシステムであり、1つ以上のプロセッサは、本システムに、触覚データユニットを触覚ストリームの一部として送信させ、かつ触覚ストリームに対応するオーディオビジュアルストリームを送信させるようにさらに構成される。
【0108】
[0120] 実施形態14は、実施形態10〜13のいずれかのシステムであり、第1および第2のブロックパラメータは振幅および繰返しを含む。
【0109】
[0121] 実施形態15は、実施形態10〜14のいずれかのシステムであり、基本触覚要素は約200ms未満のアクチュエータ起動を含む。
【0110】
[0122] 実施形態16は、実施形態10〜15のいずれかのシステムであり、触覚効果情報は記憶位置から受信される。
【0111】
[0123] 実施形態17は、実施形態10〜16のいずれかのシステムであり、触覚効果情報はユーザーの入力ジェスチャに従って生成される。
【0112】
[0124] 実施形態18は、実施形態10〜17のいずれかのシステムであり、1つ以上のプロセッサは、本システムに、マスター触覚ライブラリ、第1の触覚ブロックの第1のブロックテンプレート、および第2の触覚ブロックの第2のブロックテンプレートに基づいてマスター触覚サブライブラリを生成させ、かつマスター触覚サブライブラリを触覚サーバーに送信させるようにさらに構成される。
【0113】
[0125] 実施形態19は、触覚効果のストリームを送信するコンピュータ実装方法であり、本方法は、1つ以上の物理プロセッサによって実行される場合に、コンピュータシステムに本方法を実行させるコンピュータプログラム命令でプログラムされた1つ以上の物理プロセッサを有する触覚サーバー上で実行され、本方法は、
・触覚オーサリングシステムとの通信を確立すること、
・触覚オーサリングシステムから、触覚オーサリングシステム上に格納されたマスター触覚ライブラリのサブセットを含むマスター触覚サブライブラリを受信すること、
・クライアント触覚装置との通信を確立すること、
・装置触覚ライブラリにアクセスすること、
・クライアント触覚装置に、クライアント触覚装置の装置識別に従った装置触覚ライブラリからの装置固有の触覚サブライブラリおよびマスター触覚サブライブラリを提供すること、
・触覚オーサリングシステムからマスター触覚ストリームを受信すること、
・マスター触覚ストリームからクライアント触覚ストリームを生成すること、及び
・クライアント触覚ストリームをクライアント触覚装置に送信すること
を含む。
【0114】
[0126] 実施形態20は、実施形態19の方法であり、クライアント触覚ストリームを生成することは、クライアント触覚装置のアカウント識別に従い、マスター触覚ストリームから触覚データユニットを選択することを含む。
【0115】
[0127] 実施形態21は、実施形態20の方法であり、クライアント触覚装置は第1のクライアント触覚装置であり、装置固有の触覚サブライブラリは第1の装置固有の触覚サブライブラリであり、装置識別は第1の装置識別であり、クライアント触覚ストリームは第1のクライアント触覚ストリームであり、アカウント識別は第1のアカウント識別であり、本方法は、第2のクライアント触覚装置との通信を確立すること、第2のクライアント触覚装置に、第2のクライアント触覚装置の第2の装置識別に従って判断された第2の装置固有の触覚サブライブラリを提供すること、第1のクライアント触覚装置の第1のアカウント識別に従ってマスター触覚ストリームの触覚データユニットを選択することにより第1のクライアント触覚ストリームを生成すること、第2のクライアント触覚装置の第2のアカウント識別に従ってマスター触覚ストリームの触覚データユニットを選択することにより第2のクライアント触覚ストリームを生成すること、および第2のクライアント触覚ストリームを第2のクライアント触覚装置に送信することをさらに含む。
【0116】
[0128] 実施形態22は、触覚効果のストリームを送信するための触覚サーバーシステムであり、本触覚サーバーシステムは、
・1つ以上のプロセッサと、
・1つ以上のプロセッサによって実行される場合に、本システムに以下のことを行わせる命令を格納している記憶装置を備える。
・触覚オーサリングシステムとの通信を確立すること、
・触覚オーサリングシステムから、触覚オーサリングシステム上に格納されたマスター触覚ライブラリのサブセットを含むマスター触覚サブライブラリを受信すること、
・クライアント触覚装置との通信を確立すること
・装置触覚ライブラリにアクセスすること、
・クライアント触覚装置に、クライアント触覚装置の装置識別に従って判断された装置触覚ライブラリからの装置固有の触覚サブライブラリおよびマスター触覚サブライブラリを提供すること、
・触覚オーサリングシステムからマスター触覚ストリームを受信すること、
・クライアント触覚ストリームを生成すること、ならびに
・クライアント触覚ストリームをクライアント触覚装置に送信すること
【0117】
[0129] 実施形態23は、実施形態22のシステムであり、クライアント触覚ストリームを生成するために、1つ以上のプロセッサは、本システムに、クライアント触覚装置のアカウント識別に従い、マスター触覚ストリームから触覚データユニットを選択させるようにさらに構成される。
【0118】
[0130] 実施形態24は、実施形態23のシステムであり、クライアント触覚装置は第1のクライアント触覚装置であり、装置固有の触覚サブライブラリは第1の装置固有の触覚サブライブラリであり、装置識別は第1の装置識別であり、クライアント触覚ストリームは第1のクライアント触覚ストリームであり、アカウント識別は第1のアカウント識別であり、1つ以上のプロセッサは、本システムに、第2のクライアント触覚装置との通信を確立させ、第2のクライアント触覚装置に、第2のクライアント触覚装置の第2の装置識別に従って判断された第2の装置固有の触覚サブライブラリおよびマスター触覚効果サブライブラリを提供させ、第1のクライアント触覚装置の第1のアカウント識別に従ってマスター触覚ストリームの触覚データユニットを選択することにより第1のクライアント触覚ストリームを生成させ、第2のクライアント触覚装置の第2のアカウント識別に従ってマスター触覚ストリームの触覚データユニットを選択することにより第2のクライアント触覚ストリームを生成させ、かつ第2のクライアント触覚ストリームを第2のクライアント触覚装置に送信させるようにさらに構成される。
【0119】
[0131] 実施形態25は、再生のためにクライアント触覚ストリームを復号するコンピュータ実装方法であり、本方法は、1つ以上の物理プロセッサによって実行される場合に、クライアント触覚装置に本方法を実行させるコンピュータプログラム命令でプログラムされた1つ以上の物理プロセッサを有するクライアント触覚装置上で実行され、本方法は、
・触覚サーバーシステムとの通信を確立すること、
・触覚サーバーからクライアント触覚ライブラリを取得することであって、クライアント触覚ライブラリはクライアント触覚装置の装置識別に従い触覚サーバーによって生成されること、
・クライアント触覚装置によって、クライアント触覚ストリームを触覚サーバーから受信することであって、クライアント触覚ストリームは、複数の触覚ブロックおよび対応する複数のタイムスタンプを含むこと、
・クライアント触覚装置の1つ以上の触覚出力装置上での再生のために複数の触覚効果を生成することであって、各触覚効果は、対応する触覚ブロックのタイムスタンプに従って一度に再生されるクライアント触覚ストリームから、対応する触覚ブロックのコンテンツ識別子に従ってクライアント触覚ライブラリから選択されること、及び
・複数の触覚効果をクライアント触覚装置の1つ以上のアクチュエータに出力すること
を含む。
【0120】
[0132] 実施形態26は、実施形態25の方法であり、クライアント触覚ライブラリは、コンテンツ識別子と、クライアント触覚装置の1つ以上のアクチュエータによって再生可能な対応する触覚効果との間の関連付けを含む。
【0121】
[0133] 実施形態27は、実施形態26の方法であり、クライアント触覚ライブラリは、クライアント触覚ストリーム内に含まれる触覚ブロックに従って生成される。
【0122】
[0134] 実施形態28は、実施形態25〜27のいずれかの方法であり、複数の触覚効果の各々を、1つ以上の触覚出力装置の能力に従って再生するために1つ以上の触覚出力装置に割り当てることをさらに含む。
【0123】
[0135] 実施形態29は、再生のためにクライアント触覚ストリームを復号するためのクライアント触覚装置であり、クライアント触覚装置は、1つ以上のプロセッサ;ならびに1つ以上のプロセッサによって実行される場合に、クライアント触覚装置に、触覚サーバーとの通信を確立させ、触覚サーバーからクライアント触覚効果ライブラリを取得させることであって、クライアント触覚効果ライブラリはクライアント触覚装置の装置識別に従い触覚サーバーによって生成され、クライアント触覚ストリームを触覚サーバーから受信させることであって、クライアント触覚ストリームは、複数の触覚ブロックおよび対応する複数のタイムスタンプを含み、クライアント触覚装置の触覚出力装置上での再生のために複数の触覚効果を生成させることであって、各触覚効果は、対応する触覚ブロックのタイムスタンプに従って一度に再生されるクライアント触覚ストリームから、対応する触覚ブロックに従ってクライアント触覚ライブラリから選択され、かつ複数の触覚効果をクライアント触覚装置のアクチュエータに出力させる命令を格納している記憶装置を備える。
【0124】
[0136] 実施形態30は、実施形態29のクライアント触覚装置であり、クライアント触覚ライブラリは、触覚ブロックと、クライアント触覚装置のアクチュエータによって再生可能な対応する触覚効果との間の関連付けを含む。
【0125】
[0137] 実施形態31は、実施形態30のクライアント触覚装置であり、クライアント触覚ライブラリは、クライアント触覚ストリーム内に含まれる触覚ブロックに従って生成される。
【0126】
[0138] 実施形態32は、クレーム29のクライアント触覚装置であり、1つ以上のプロセッサは、本システムに、複数の触覚効果の各々を、触覚出力装置の能力に従って再生するために触覚出力装置に割り当てさせるようにさらに構成される。
前記装置触覚効果は、前記クライアント触覚装置の前記能力に基づいて、できる限り前記設計された触覚効果と類似するように選択される、請求項6に記載のクライアント触覚装置。
前記識別子に基づいて前記装置触覚効果を生成することは、前記識別子および前記クライアント触覚装置の前記能力に基づいて前記装置触覚効果を生成することを含む、請求項1に記載のクライアント触覚装置。
前記識別子に基づいて前記装置触覚効果を生成することは、前記識別子およびクライアント触覚ライブラリに基づいて前記装置触覚効果を生成することを含み、前記クライアント触覚ライブラリは、前記コンテンツ識別子と前記装置触覚効果との間の関連付けを含む、請求項11に記載の方法。
前記識別子に基づいて前記装置触覚効果を生成することは、前記識別子および前記クライアント触覚装置の前記能力に基づいて前記装置触覚効果を生成することを含む、請求項11に記載の方法。