大まかに、本技術の実装は、複数のユーザーが、ユーザー自身、ユーザーの興味、およびユーザーのメディアコンテンツに関する情報を他者と共有することを可能にするシステムを含む。例示的な実装では、ユーザーは、個人用電子装置(例えば、コンピュータ、メディアプレーヤ、携帯電話、タブレットコンピュータ、または他の電子装置)を使用して、ユーザー自身およびユーザーの興味に関する情報を入力することができる。例えば、ユーザーは、ユーザーの名前およびユーザーの個人的興味(例えば、音楽、映画、TV、ビデオゲーム、本、スポーツ、趣味、有名人、および他の興味)を入力することができる。ユーザーは、装置を使用して、例えば、音楽を聴く、映画およびTV番組を見る、本を読む、画像を見る等、メディアを消費することもできる。ユーザーは、装置を使用して、ビデオゲームをする、写真を撮る、作曲および演奏する、動画を作成する、または他のコンテンツを作成する(例えば、書く、描く等)の他の活動を実施することもできる。
ユーザーおよびユーザーの興味に関する情報ならびに活動は、他のユーザーがそのユーザーの経験を共有することができるように他のユーザーと共有され得る。いくつかの実装では、ユーザー間で情報を共有することは、ユーザー間でコンテンツを直接送信することを含んでもよく、例えば、場合によっては、ユーザーは、ユーザーが聴いている歌曲を他のユーザーに伝送することができ、他のユーザーが同様にその歌曲を聴くことができるようにする。いくつかの実装では、ユーザー間で情報を共有することは、ユーザー間でコンテンツを間接的に送信することを含んでもよく、例えば、場合によっては、ユーザーは、ユーザーが聴いている歌曲に関するメタデータを他のユーザーに伝送することができ、他のユーザーが独立してその歌曲を取得し、歌曲を聴くことができるようにする。このように、ユーザーは、情報およびコンテンツを他のユーザーと直接または間接的に共有することができる。
いくつかの実装では、ユーザーは、ユーザーの個人用電子装置以外の制御装置を使用して、情報およびコマンドをシステムに入力することができる。例えば、いくつかの実装では、制御装置は、個人用電子装置自体を直接取り扱うことなく、ユーザーがコンピューティング装置の作動を制御することを可能にする個人用電子装置と併せて使用され得る。例示的な実装では、個人用電子装置は、音声出力装置(例えば、ヘッドホン、スピーカー、小型イヤホン、またはスピーカーケーブル)、ビデオ出力装置(例えば、スクリーンもしくはモニター、ヘッドアップディスプレイ、ビデオ対応の眼鏡もしくはバイザー、または他の携帯型ビデオ出力装置)、またはさらにステアリングホイール、ダッシュボードパネル、視覚もしくは音声キオスク、楽器等の個人用電子装置と関わらない遠隔入力装置から制御され得る。
双方向型出力装置または遠隔入力装置から個人用電子装置への入力が、より便利な方法でユーザーが個人用電子装置と相互作用することを可能にする場合、例えば、ユーザーは、最初に個人用電子装置を記憶装置位置(例えば、衣服のポケット、運搬している鞄、保持しているブラケット、アームバンド等)から取り外さずに、制御装置を使用して個人用電子装置と相互作用することができる。このように、ユーザーは制御装置を使用して、個人用電子装置を誤った取り扱いまたは環境要因による潜在的損傷に曝すことなく、個人用電子装置を作動することができる。ユーザーは、制御装置を使用して、容易にアクセスできない個人用電子装置、例えば、ケースもしくは保護ハウジング内に固定された、または固定筐体(例えば、家庭用音声システムまたは車両内のメディアシステム)に内蔵された装置を作動することもできる。
別の例では、ユーザーは、制御装置を使用して、制御装置または個人用電子装置のいずれも見ずに、個人用電子装置と相互作用することができる。このように、ユーザーは、歩行、ランニング、読書、運転、または注意をそらすことが望ましくない任意の他の活動等の他の活動に携わりながら、個人用電子装置を使用することができる。加えて、ユーザーは、制御装置を使用して、ユーザーが制御装置上で比較的単純な入力を使用して複雑な命令を個人用電子装置に発行し得るように、個人用電子装置の特定のタスクを単純化することができる。例えば、いくつかの実装では、ユーザーがヘッドセット上での入力装置の単純な操作によってソーシャルネットワークを介して音楽ファイルに関する選好を他のユーザーと連絡することができるように、ユーザーは、携帯電話上で再生され、ヘッドホンが入力コンポーネントを含むヘッドホン等の出力装置を介してユーザーに送達される音楽録音等のコンテンツを共有するか、または「気に入っていることを示す」ことができる。
ユーザー入力を承諾する、解釈する、および伝送するための例示的なシステムが、図1に示される。この例では、システムは、入力インターフェースモジュール、アナログ−デジタル変換モジュール、マイクロ−コントローラモジュール、メイン処理装置、Bluetooth(登録商標)モジュール、およびモバイル装置アプリケーションを入力する。
入力インターフェースモジュールは、ユーザーからの入力を受信する1つ以上のコンポーネントを含む。例えば、入力インターフェースモジュールは、ユーザーのタッチを検出することができる1つ以上のタッチセンサー式素子(例えば、容量性感知素子)を含み得る。抵抗性感知素子等の他のタッチセンサー式素子も、使用することができる。いくつかの実装では、入力インターフェースモジュールは、ボタン、スイッチ、ダイヤル、レバー、およびユーザーによって物理的に操作され得る他のコンポーネント等のコンポーネントも含むことができる。いくつかの実装では、入力インターフェースモジュールの部分は、ガラス、金属、もしくはプラスチックの層または筐体等の保護層または筐体によって保護され得る。例えば、いくつかの容量性感知素子は、感知素子が損傷を受けることを防ぐためにガラス片によって覆われ得る。
入力インターフェースモジュールは、アナログ電気信号の形態でユーザーからの入力を検出する。これらの電気信号は、それらがデジタル電気装置によってより容易に解釈され得るように、デジタル情報に変換され得る(例えば、「変形され得る」)。いくつかの実装では、これは、アナログ信号(例えば、アナログ電気波形)を承諾し、それらをデジタル情報(例えば、2進情報)に変換するアナログ−デジタル変換モジュールによって実施される。
デジタル化情報は、解釈のためにマイクロ−コントローラに伝送される。マイクロ−コントローラは、例えば、入力インターフェースモジュール上でユーザーによって作られる特定のジェスチャを判定するためにデジタル化情報を分析することができる。例えば、ユーザーは、特定のパターンで(例えば、タッチセンサー式素子の下部から上部へ上向きにスワイプすることによって、タッチセンサー式素子の左から右へ右方向にスワイプすることによって、またはタッチセンサー式素子上で「Z」等の特定のパターンをスワイプすることによって)入力インターフェースモジュールにタッチし得る。ユーザーは、特定の時間の長さにわたって入力インターフェースモジュールにタッチしてもよい(例えば、タッチインターフェースモジュールに手短にタッチする、またはタッチインターフェースモジュールに対してユーザーのタッチを保持する)。マイクロ−コントローラは、この相互作用を記載するデジタル化情報(例えば、位置、時間、力、および動作を記載する情報)を受信し、ジェスチャを識別する(例えば、方向性に依存するスワイプ、位置依存性接触、位置依存性ホールド等)。
識別されるジェスチャに関する情報は、メイン処理装置に伝送される。メイン処理装置は、ジェスチャ情報を装置の他のコンポーネントによって生成される他の情報と統合して、データパケットを作成する。例えば、例示されるシステムが、センサーを備えたヘッドホン(または他の音声再生装置)の一部である場合、ヘッドホンは、デジタル音声データ(例えば、内蔵型マイクから)、センサー情報(例えば、加速度計、ジャイロスコープ、コンパス、および/または近接センサーから)、電力情報(例えば、電池状態)、ならびに他の情報等の情報を生成することができる。ジェスチャ情報とともにこの情報は、1つ以上のデータパケットに統合される。各データパケットは、利用可能な情報のすべてを含む必要はない。例えば、場合によっては、データパケットは、情報の一部分のみ(例えば、タッチジェスチャに関する情報のみ)を含み得る。さらに、利用可能な情報は、いくつかのデータパケットにわたって散らばっていることがある。例えば、デジタル音声データは、いくつかの異なる部分に区分されることがあり、複数のデータパケットにわたって含まれ得る。
データパケットは、モバイル装置アプリケーションに伝送される。例えば、いくつかの実装では、データパケットは、Bluetooth通信プロトコルを使用してシステムとモバイル装置との間でデータを伝送および受信するBluetoothモジュールを介して伝送され得る。Bluetoothモジュールが図1に示されるが、これは単なる一例に過ぎない。いくつかの実装では、データパケットは、Wi−Fi無線通信、セル方式無線通信、赤外線トランシーバ、有線接続、または他の通信装置の使用等、他のコンポーネントを使用して伝送され得る。
前述のように、マイクロ−コントローラモジュールは、ユーザーによって作られる特定のジェスチャを識別するために、入力インターフェースモジュールとのユーザーの相互作用に対応するデジタル化情報を分析する。これは、多様な方法で実施され得る。例示的な技法が、図2に示される。ここでは、マイクロ−コントローラは、入力インターフェースモジュールとのユーザーの相互作用に対応するデジタル化データを受信する。ユーザーが、一定期間にわたって入力インターフェースモジュールとの相互作用(例えば、一定期間にわたるタッチの保持、一定期間にわたるスワイプ、または一定期間にわたる相互作用)し得る場合、デジタル化データは、それに応じて一定期間にわたって受信され得る。最後のデータが受信されてからある特定の時間が経過したとき(例えば、「タイムアウト時間」が経過したとき)、マイクロ−コントローラは、相互作用事象が終わったと判定し、その相互作用事象に関して受信されるデジタル化データを解釈する。
マイクロ−コントローラモジュールが、ユーザーが特定の閾時間を超える時間の長さにわたって感知素子にタッチしたと判定する場合、マイクロ−コントローラは、「ホールド」ジェスチャが実施されたと判定する。次いでマイクロ−コントローラモジュールは、タッチされた感知素子の部分(例えば、前後、上部、下部等)を識別し、適切なジェスチャ(例えば、「フロントホールド」、「バックホールド」、「アップホールド」、および「ダウンホールド」)を識別する。
マイクロ−コントローラモジュールが、ユーザーが特定の閾時間を超えなかった時間の長さにわたって感知素子にタッチしたと判定する場合、マイクロ−コントローラは、「ホールド」ジェスチャが実施されていないと判定する。次いでマイクロ−コントローラモジュールは、別のタイプのジェスチャが実施されたかどうかを判定する。例えば、マイクロ−コントローラは、デジタル化情報が、方向性に依存するスワイプ(例えば、「前方スワイプ」、「後方スワイプ」、「上方スワイプ」、または「下方スワイプ」)に対応するかどうかを判定することができる。例示的なジェスチャが図2に示されるが、これは単なる例示としての例に過ぎない。実際には、示されるものに加えて、またはその代わりに異なる技法を使用して、他のジェスチャを検出することができる。
図1に示される例では、タッチセンサー式素子から情報が収集され、システムによって解釈され、ジェスチャ情報が他の装置に伝送される。しかしながら、これはジェスチャ情報のみに限定されない。例えば、図3を参照すると、いくつかの実装では、システムは、システムのユーザーへの近接に関連する情報を収集および解釈することができる。例えば、システムは、装置がユーザーに近接するときを検出する近接センサー(例えば、アナログアンテナ、圧力センサー、赤外線センサー、または他のそのようなセンサー)を含み得る。場合によっては、センサーから出力される情報は、アナログ信号の形態であり得る。これらのアナログ信号は、上で考察されるものと同様の方式でデジタル情報に変換され得る(例えば、アナログ−デジタル変換モジュールを使用する)。同様に、このデジタル化情報は、マイクロ−コントローラモジュールによって解釈され得る。例えば、マイクロ−コントローラモジュールは、デジタル化情報に基づいて、システムが、ユーザー(例えば、ユーザーの耳)に近接するか、またはユーザーから遠くにあるか(例えば、ユーザーの耳から離れている)を判定することができる。上述と同様の方式で、この近接情報は、上で考察されるものと同様の方式で他の装置(例えば、モバイル装置アプリケーション)に伝送され得る。
いくつかの実装では、マイクロ−コントローラモジュールは、近接に基づいて特定のコマンドを選択することもできる。例えばヘッドホンの場合、マイクロ−コントローラモジュールが、システムがユーザーに近接していると判定する場合、マイクロ−コントローラは、音楽がユーザーに再生されるように「音楽再生」コマンドを選択することができる。マイクロ−コントローラモジュールが、システムがユーザーに近接していないと判定する場合、マイクロ−コントローラは、音楽再生が一時停止するように「音楽一時停止」コマンドを選択することができる。例示的なコマンドが示されるが、これらは単なる例に過ぎず、上に示されるものに加えて、またはその代わりに他のコマンドも可能である。上述と同様の方式で、これらのコマンドは、上で考察されるものと同様の方式で他の装置(例えば、モバイル装置アプリケーション)に伝送され得る。
上で考察されるように、場合によっては、システムは、加速度計、ジャイロスコープ、および/またはコンパスからのセンサーデータのために追加のセンサーを収集することができる。図4を参照すると、センサー情報は、データパケットへの集約のために、メイン処理装置のこれらのセンサーのうちの1つ以上から伝送され得る。図4に示される例では、センサーの出力は、デジタルデータであり、メイン処理装置に直接伝送され得る。これらのセンサーがアナログデータを出力する実装では、アナログデータは、まずアナログ−デジタル変換モジュールに伝送され得、上で考察されるものと同様の方式でデジタル化情報に変換され得る。
上で考察されるように、いくつかの実装では、システムは、ヘッドホンまたは他の音声再生装置の一部であり得る。例えば、図5を参照すると、システムは、音声再生または音声録音能力を提供する1つ以上のコンポーネントを含み得る。例えば、システムは、音声を録音するための1つ以上のマイクと、マイクによって録音されたアナログ音声情報をデジタル化情報に変換するための1つ以上のアナログからデジタルへの変換器を含んでもよい。このデジタル化情報は、さらなる処理のためにメイン処理装置に伝送され得る。例えば、メイン処理装置は、デジタル信号処理および雑音除去を実施し、録音を改善する、改良する、さもなければ変更することができる。処理後、録音に対応するデジタル化情報は、データパケット統合され得るか(例えば、前述のように)、および/または再生のために1つ以上のスピーカーに伝送され得る。例えば、デジタル化情報は、1つ以上のデジタル音声変換器(DAC)に伝送されてもよく、変換された音声情報は、ユーザーへの再生のために1つ以上のスピーカーに伝送され得る。
前述のように、メイン処理装置は、ジェスチャ情報、センサー情報、および他の情報等の情報を1つ以上のデータパケットに統合する。例示的なデータパケットが、図6に概念的に示される。図6に示されるように、データパケットは、デジタル音声情報(例えば、マイクで録音された音声に対応する)、マイクロ−コントローラモジュールによって判定されるジェスチャ情報、センサー情報(例えば、加速度計、ジャイロスコープ、コンパス、および近接データ)、電池状態情報、ならびに他の情報(例えば、試験状態および診断情報を組み入れる)を含み得る。上で考察されるように、各データパケットは、利用可能な情報のすべてを含む必要はない。例えば、場合によっては、データパケットは、情報の一部分のみ(例えば、タッチジェスチャに関する情報のみ)を含み得る。さらに、利用可能な情報は、いくつかのデータパケットにわたって散らばっていることがある。例えば、デジタル音声データは、いくつかの異なる部分に区分されることがあり、複数のデータパケットにわたって含まれ得る。さらに、データパケットの例示的なコンテンツが上に示されるが、これは一例に過ぎない。実際には、データパケットは、上述されるものに加えて、またはその代わりに他の情報を含み得る。
いくつかの実装では、システムは、データパケットを受信することもできる。図7を参照すると、一例として、受信されるデータパケットは、接続される装置(例えば、モバイル装置アプリケーション)からのデジタル音声データを含み得る。システムは、受信されたデジタル音声データを処理し(例えば、メイン処理装置を使用する)、デジタル音声データをアナログ信号に変換し(例えば、DACを使用する)、1つ以上のスピーカーを使用してアナログ音声を再生することができる。別の例として、受信されるデータパケットは、システム上に実装されるファームウェアまたはソフトウェアを更新するためのファームウェアまたはソフトウェアアップデートを含み得る。このように、システムの作動は、時間とともに修正および改善され得る。
図7に示される例では、システムは、デジタル音声データを受信し、デジタル音声データをアナログ信号に変換し、音声を再生することができる。いくつかの実装では、システムは、スピーカーで再生するためにアナログ音声を直接承諾することができる。例えば、図8を参照すると、装置は、アナログ入力(例えば、アナログ入力インターフェースから)を承諾し、1つ以上のスピーカーを使用して音声を直接再生することができる。
図5に示される例では、システムは、マイクからアナログ信号を受信し、アナログ信号をデジタル化情報に変換し、データパケットの一部としてデジタル化情報を伝送することができる。いくつかの実装では、システムは、マイクで録音された音声に対応するアナログ信号を直接出力することができる。例えば、図8を参照すると、マイクによるアナログ信号出力は、アナログ出力インターフェースを通して直接出力され得る。
モバイル装置アプリケーションによって受信されるデータパケットは、多様な方法で使用され得る。いくつかの実装では、モバイル装置アプリケーションによって受信されるデータパケットは、モバイル装置アプリケーションに適した対応するコマンドに「翻訳され」得る。例えば、図9を参照すると、モバイル装置アプリケーションが音声再生機能(例えば、メディアプレーヤ)を含む場合、モバイル装置アプリケーションは、データパケット中のジェスチャ情報をメディア再生に関係する機能に翻訳することができる。例えば、前方スワイプは、「次の曲」コマンドに翻訳されてもよく、後方スワイプは、「前の曲」コマンド等に翻訳されてもよく、その他であってもよい。その特定のモバイル装置アプリケーションによって使用されないコマンドは、無視され得る、放棄され得る、または他のアプリケーションに渡され得る。例示的なパケット翻訳が図9に示されるが、これは単なる一例に過ぎない。他のコマンドは、実装に応じてジェスチャの各々に関連付けられ得る。さらに、例示的な音声再生アプリケーションが図9に示されるが、これも単なる一例に過ぎない。他のタイプのアプリケーションおよび機能も、パケット翻訳と併せて使用することができる。いくつかの実装では、パケット翻訳は、データパケットを解釈し、それらをコマンドに翻訳することができるアプリケーションを作り上げるための標準化されたツールを開発者に提供するソフトウェア開発キット(SDK)の一部として含まれ得る。
前述のように、いくつかの実装では、入力インターフェースモジュールは、タッチセンサー式素子、ボタン、スイッチ、ダイヤル、レバー、およびユーザーによって物理的に操作され得る他のコンポーネント以外の1つ以上のコンポーネントを含み得る。これらのコンポーネントの各々は、ユーザーが様々なタスクを実施できるように1つ以上のコマンドと関連付けられ得る。例えば、システムは、ユーザーがシステム電源および/または同期を制御することを可能にするボタンを含み得る。ユーザーがボタンを押す特定のパターンに応じて、システムは、異なるタスクを実施することができる。これらの作動の一例が、図10に示される。例示的なパターンおよびタスクが図10に示されるが、これらは、単なる例に過ぎない。実際には、他の組み合わせおよびタスクも可能である。さらに、複数のボタンおよび/または他のコンポーネントを使用して、システムの様々な態様を制御することもできる。
前述のように、いくつかの実装では、システムは、複数のユーザーが、ユーザー自身、ユーザーの興味、およびユーザーのメディアコンテンツに関する情報を他者と共有することを可能にすることができる。これは、多様な方法で実施され得る。例えば、図11Aを参照すると、システムは、各々がそれぞれのモバイルアプリケーションを有する複数のクライアント装置を含むことができる。これらのクライアント装置の各々は、例えば、携帯電話、タブレット、メディアプレーヤ、個人用コンピュータ等の個人用電子装置であり得る。ここでは、第1のクライアント装置を使用するユーザーは、ユーザー自身、ユーザーの興味、およびユーザーのメディアコンテンツに関する情報を他者と共有することを望む。いくつかの実装では、共有される情報は、特定のメディアコンテンツアイテムに関する情報(例えば、メタデータ)を含む。例えば、第1のクライアントは、第1のクライアントが特定の歌曲、映画、もしくはTV番組を楽しむこと、または第1のクライアントが特定の歌曲、映画、もしくはTV番組を現在見ていることを示すことがある。この情報は、伝送されるデータを承諾し、さらなる検索のためにそれを記憶するサーバ(例えば「クラウド」サーバ)に第1のクライアント装置から伝送される。いくつかの実装では、サーバは、ユーザーに情報を記憶するための個人用アカウントを提供するサービスの一部であってもよい。この情報は、ソーシャルメディアサーバ(例えば、Facebook、Twitter、Google+等によって作動されるサーバ)に伝送されてもよい。情報は、WAN(例えば、インターネット)、LAN(例えば、イーサネット(登録商標)またはWi−Fiネットワーク)、または任意の他の有線もしくは有線ネットワーク等の他のネットワークに伝送され得る。
図11Bを参照すると、第1のクライアントによって伝送される情報は、第2のクライアントと共有され得る。例えば、第1のクライアントによって共有される情報は、サーバおよび/またはソーシャルメディアサーバから第2のクライアント装置のモバイルアプリケーションに伝送され得る。いくつかの実装では、第2のクライアントは、第1のクライアントによって共有されるデータを自由に受信し得る。いくつかの実装では、第2のクライアントはまず、第1のクライアントのプライバシーが制御されるように、第1のクライアントによって共有されるデータを受信するための許可を受信しなければならない。
図11Cを参照すると、受信される情報に基づいて、第2のクライアントは、メディアコンテンツアイテムを要求することができる。例えば、第1のクライアントが第1のクライアントが聴いている特定の歌曲に関する情報を共有した場合、第2のクライアントは、メディアソースからそのメディアコンテンツアイテムを要求することができる。一例として、歌曲に関する情報が共有される場合、メディアソースは、コンテンツ店舗(例えば、iTunes、Google Music等)またはコンテンツストリーミングサービス(例えば、Rdio、Spotify、Pandora等)を含み得る。図11Dを参照すると、要求されるメディアは次いで、モバイルアプリケーションのメディアソースから伝送される。
上記システムの実装を使用して、いくつかの異なるユーザーの間で情報を共有することができる。例えば、ユーザーは、メディアコンテンツアイテムを再生し、ユーザーが楽しむコンテンツアイテムを推奨し、ユーザーの現在の活動を他者と共有するために、ユーザーのモバイルアプリケーションと相互作用し得る。ユーザーは、他者から共有される情報を受信し、他のユーザーによって照会されるコンテンツアイテムを要求し、要求されたコンテンツアイテムを再生することもできる。コンテンツアイテムは、メタデータに基づいてメディアソースを通して要求されるため、コンテンツアイテム自体がユーザー間で伝送される必要はない。これは、ユーザーが、素早く合法的にコンテンツアイテムを他者と共有することを可能にする。しかしながら、いくつかの実装では、コンテンツアイテムはユーザー間で伝送されてもよく、例えば、場合によっては、コンテンツアイテムは、各クライアントから、サーバおよび/もしくはソーシャルメディアサーバに、または直接別のクライアントに伝送され得る。
図11A〜Bを参照すると、多様なユーザーおよび/またはメディア情報が、クライアントとサーバとの間で交換され得る。例えば、図12を参照すると、この情報は、ユーザー名およびパスワード(例えば、サーバ上の特定のユーザーのアカウントに関連付けられる)、ならびにプロフィール情報(例えば、ユーザーの識別情報、位置、興味、連絡先情報等のユーザーに関する情報)を含み得る。この情報は、1つ以上のメディアコンテンツアイテム、例えば、ユーザーのお気に入りの歌曲または他のメディアコンテンツアイテムに関する情報、およびプレイリストも含み得る。この情報は、コンテンツ自体を伝送することなく、コンテンツアイテム(例えば、題名、アルバム名、ジャンル、リリースの年等)を識別するメタデータの形態で伝送され得る。この情報は、ユーザーがソーシャルメディアプラットフォーム上のコンテンツアイテムに関する情報を共有しているという表示等のソーシャルメディアに関係する情報も含み得る。この情報は、1つ以上のユーザーの繋がり(例えば、「友達」またはユーザーが情報を共有することを望む他のユーザー)を含み得る。この情報は、ユーザーの位置(例えば、GPSまたは位置情報タグを付けられた事象)も含み得る。
再び図11A〜Bを参照すると、多様なユーザーおよび/またはメディア情報が、クライアントとソーシャルメディアサーバとの間で交換され得る。例えば、図13を参照すると、この情報は、1つ以上のメディアコンテンツアイテム、例えば、ユーザーのお気に入りの歌曲または他のメディアコンテンツアイテムに関する情報、およびプレイリストを含み得る。この情報は、ソーシャルメディアサーバ上のコンテンツアイテムに関する情報を共有するための表示も含み得る。この情報は、コンテンツアイテムを識別するメタデータの形態で伝送され得る。この情報は、画像およびサムネイル(例えば、アルバムカバー)、関連リンク(例えば、関連ウェブサイトへのリンク)も含み得る。
図11C〜Dを参照すると、クライアントは、メディアコンテンツアイテムがクライアント間で直接伝送される必要がないように、メディアソースからメディアコンテンツアイテムを要求し、受信することができる。図14を参照すると、モバイルアプリケーションとメディアソースとの間での情報交換は、ユーザー情報(例えば、ソースに関連付けられるユーザーのアカウント情報)、メディアコンテンツアイテムの部分(例えば、歌曲の断片もしくは視聴)、メディアコンテンツアイテム全体(例えば、完全な歌曲)、 ユーザーのお気に入りのメディアコンテンツアイテムに関する情報、およびプレイリストを含み得る。
例示的な情報が図12〜14に示されるが、これらは、例示としての例に過ぎないと意図される。実際には、上述されるものに加えて、またはその代わりに他の情報が、クライアント装置の各々、サーバ、およびソーシャルメディアサーバの間で交換され得る。さらに、2つのクライアント装置、単一サーバ、単一ソーシャルメディアサーバ、および単一メディアソースのみが上に示されるが、実際には、システムは、任意の数のクライアント、サーバ、ソーシャルメディアサーバ、およびメディアソースを含むことができる。
図1〜6を参照すると、ユーザー入力を承諾する、解釈する、および伝送するための例示的なシステムが、ヘッドホン等の音声再生装置に関連して記載されている。システムの実装は、ビデオ出力装置、自動車メディアプレーヤ、計器盤、視覚または音声キオスク、楽器等の他の装置の一部として実装され得る。例えば、図15を参照すると、ユーザー入力を承諾する、解釈する、および伝送するためのシステムは、電子ドラムセットの一部として実装され得る。
例示的な実装では、電子ドラムセットは、1つ以上のドラムスティック(例えば、左右のドラムスティック)および1つ以上のフットバンド(例えば、左右のフットバンド)を含む。ドラムスティックおよびフットバンドの各々は、加速度計、ジャイロスコープ、および電子コンパス等のセンサーを含む。ドラムスティックおよびフットバンドの各々は、センサーに接続されるメインプロセッサ、LED表示器、無線ネットワークモジュール、および触覚フィードバックモジュールも含む。ドラムスティックおよびフットバンドの各々は、モバイルアプリケーションに無線で接続する。
前述のものと同様の方式で、ドラムスティックおよびフットバンドは、デジタルデータを1つ以上のデータパケットに統合し、次いで、無線ネットワークモジュールを使用してデータパケットをモバイルアプリケーションに伝送することができる。例えば、加速度計、ジャイロスコープ、および電気コンパスからのセンサーデータは、センサーデータを1つ以上のデータパケットに統合するメインプロセッサに伝送され得る。これらのデータパケットは、データパケットをモバイルアプリケーションに無線で伝送する無線ネットワークモジュールに伝送される。
例示的な使用法では、ユーザーは、両手にドラムスティックを保持し、フットバンドを両足に設置する。次いでユーザーは、ドラムセットの演奏を模擬するように、ドラムスティックおよびユーザーの足をユーザーの周りで動かす。例えば、ユーザーは、特定のタイプのドラムの演奏を模擬するためにユーザーの正面でドラムスティックを振ってもよい。別の例として、ユーザーは、異なるタイプのドラムの演奏を模擬するために、ドラムスティックをユーザーの横に振ってもよい。さらに別の例として、ユーザーは、特定のタイプのフットペダル起動式のドラムの演奏を模擬するために、特定の方向でユーザーの足を動かしてもよい。さらに別の例として、ユーザーは、異なるタイプのフットペダル起動式のドラムの演奏を模擬するために、別の方向でユーザーの足を動かしてもよい。ユーザーがドラムスティックおよびユーザーの足を動かすと、ドラムスティックおよびフットバンド中のセンサーは、装置の加速度、配向性、および動作に関する情報を検出する。この情報を使用して、ドラムスティックおよびフットバンドの各々の動作、ならびにユーザーに対するそれらのそれぞれの位置を判定する。この情報は、モバイルアプリケーションに伝送される。ドラムスティックおよびフットバンドの各々の位置および運動に基づいて、モバイルアプリケーションは、特定のドラムの打撃を模擬するために適切な音声を、ドラムが叩かれた強度を模擬するために適切な音量で、再生する。ユーザーがドラムスティックおよびユーザーの足を動かし続けると、モバイルアプリケーションは、対応する音声を再生し、それにより演奏されているドラムセットを模擬し続ける。
一例として、図16を参照すると、ユーザーに関する領域は、特定の方向に対する偏角に基づいて、いくつかの異なる領域に分割され得る。例えば、ユーザーの正面で方向がちょうど0°である場合、275°〜0°は、第1のタイプのドラム(例えば、スネア)に関連付けられることがあり、0〜45°は、異なるタイプのドラム(例えば、ハイハット)に関連付けられることがあり、45°〜90°は、異なるタイプのドラム(例えば、フロアタム)に関連付けられることがある等である。各ドラムスティック内のセンサー情報に基づいて、モバイルアプリケーションは、再生音声(例えば、「打撃」運動)に関連付けられる運動を検出し、ドラムスティックが動かされている領域を識別し、適切な音を再生することができる。
機器の異なる組が、ドラムスティックおよびフットバンドの各々に関連付けられ得る。例えば、275°〜0°の領域は、ドラムスティック用のスネアに関連付けられてもよく、図17を参照すると、275°〜0°の領域は、フットバンド用のダブルベースに関連付けられ得る。同様に、異なる機器が、各々の領域に割り当てられ得る。このように、各ドラムスティックおよび/またはフットバンドは、実装に応じて機器の異なる組に関連付けられ得る。
例示的な機器および領域が図16〜17に示されるが、これらは単なる例に過ぎない。実際には、ユーザーに関する領域は、任意の数の異なる方法で分割されてもよく、各領域は、いくつかの異なる機器のうちのいずれか1つに関連付けられ得る。
いくつかの実装では、モバイルアプリケーションは、スピーカー、ヘッドホン、またはコンピュータ等の音声再生装置に接続され得る。このように、模擬されるドラム音声は、ユーザーが聞くことができ、および/または将来の再生のために録音され得る。いくつかの実装では、モバイルアプリケーションは、ユーザーの演奏が将来再生され得るように、再生を録音する(例えば、サウンドファイルとして、または一連の音符として)。いくつかの実装では、モバイルアプリケーションは、ユーザーが、異なる模擬される機器を選択することを可能にする。例えば、ユーザーは、全体として異なるタイプのドラムまたは異なるタイプの機器を選択することができる。いくつかの実装では、モバイルアプリケーションは、ユーザーが、再生を他者と共有することを可能にする(例えば、記憶される再生をサーバに、または直接他のユーザーに伝送することによって)。
前述のように、ユーザーがドラムスティックおよびユーザーの足を動かすと、ドラムスティックおよびフットバンド中のセンサーは、装置の加速度、配向性、および動作に関する情報を検出する。この情報を使用して、ドラムスティックおよびフットバンドの各々の動作、ならびにユーザーに対するそれらのそれぞれの位置を判定する。いくつかの実装では、この判定は、メインプロセッサによって実施され得る。例えば、図18を参照すると、いくつかの実装では、メインプロセスは、加速度計、ジャイロスコープ、および電子コンパスからセンサーデータを受信する。この情報(例えば、電子コンパスおよびジャイロスコープ)に基づいて、メインプロセッサは、ユーザーに対する装置の位置(例えば、ユーザーの正面に対する角度)を判定することができる。この情報(例えば、加速度計およびジャイロスコープ)に基づいて、メインプロセッサは、装置の運動が音声(例えば、「打撃」運動)の再生に対応するかどうかを判定することもできる。この情報(例えば、加速度計およびジャイロスコープ)に基づいて、メインプロセッサは、装置の運動の力であるかどうかを判定することもできる。この情報は、データパケットとして統合され、次いで、モバイルアプリケーションへの伝送のために無線ネットワークモジュールに伝送される。例えば、図16に示されるように、データパケットは、装置識別(例えば、ドラムスティックまたはフットバンドのうちの特定の1つ)、配置(例えば、ユーザーの正面に対する特定の角度)、力の強度(例えば、力の度合いを表す整数値)、および装置が動かされたときを示すタイムスタンプを含み得る。
いくつかの実装では、装置は、力の強度に基づく触覚フィードバックを生成することもできる。例えば、ユーザーが特に高い度合いの力でドラムスティックを振る場合、ドラムスティックは、ドラムの非常にしっかりとした殴打を模擬するように強く振動し得る。別の例として、ユーザーがより低い度合いの力でドラムスティックを振る場合、ドラムスティックは、ドラムのより優しい殴打を模擬するようにより弱く振動し得る。
いくつかの実装では、メインプロセッサは、情報をユーザーに中継するために表示器LEDを照らすこともできる(例えば、選択される機器のタイプ、装置の電力状態等)。
前述のように、ドラムスティックおよびフットバンドからの情報は、モバイルアプリケーションに伝送される。ドラムスティックおよびフットバンドの各々の位置および運動に基づいて、モバイルアプリケーションは、特定のドラムの打撃を刺激するために適切な音声を、ドラムが叩かれた強度を模擬するために適切な音量で、再生する。図19を参照すると、モバイルアプリケーションは、備わっているスピーカー(例えば、モバイルアプリケーションを実行する装置に内蔵されるスピーカー)、オーディオジャック(例えば、3.5mmジャック)、または1対のヘッドホンまたはスピーカーに対するBluetoothモジュールを使用して音声を再生することができる。さらに、いくつかの実装では、モバイルアプリケーションは、ユーザーが、各領域に対して、全体として異なるタイプのドラムまたは異なるタイプの機器を選択することを可能にすることができる。いくつかの実装では、モバイルアプリケーションは、ユーザーが、再生を他者と(例えば、記憶される再生をサーバまたは直接他のユーザーに伝送することによって)、ライブストリーミング再生を他者と(例えば、複数人が互いに同時に再生できるようにライブ再生を他者に伝送することによって)共有し、機器構造を交換し、カスタムサウンドを設計および交換することを可能にする。
本明細書に記載の実装は、ヘッドホンに限定されず、ドングルまたは他の外部入力装置に組み込まれてもよい。層状コンテンツを作成し、遠隔装置に入力されるコマンドを介してベース装置上でホストされるプログラムおよびコンテンツと相互作用する方法が、ビデオ装置またはヘッドホン/ビデオの組み合わせに実装され得る。
本明細書に記載される作動は、1つ以上のコンピュータ可読記憶装置上に記憶される、または他のソースから受信されるデータ上でデータ処理器具によって実施される作動として実装され得る。
「データ処理器具」という用語は、データを処理するためのすべての種類の器具、装置、および機械を包含し、例として、プログラマブルプロセッサ、コンピュータ、システム・オン・チップ、もしくは複数のもの、または前述のものの組み合わせを含む。器具は、特殊用途論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含み得る。器具は、ハードウェアに加えて、問題のコンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想機械、またはそれらのうちの1つ以上の組み合わせを構成するコードも含み得る。器具および実行環境は、ウェブサービス、分散コンピューティング、およびグリッドコンピューティングインフラストラクチャ等の様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても既知である)は、コンパイラ型またはインタプリタ型言語、宣言型または手続型言語を含む任意の形態のプログラミング言語で書かれてもよく、それは独立型プログラム、またはモジュール、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境での使用に適した他のユニットを含む、任意の形態で展開され得る。コンピュータプログラムは、ファイルシステム内のファイルに対応し得るが、その必要はない。プログラムは、他のプログラムもしくはデータを保持するファイルの一部分内に(例えば、マークアップ言語文書内に記憶される1つ以上のスクリプト)、問題のプログラムに特化した単一ファイル内に、または複数の調整されたファイル内に(例えば、1つ以上のモジュール、サブプログラム、またはコードの部分を記憶するファイル)記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つの場所に位置する、もしくは複数の場所にわたって分散され、通信ネットワークによって相互接続される複数のコンピュータ上で実行されるように展開され得る。
本明細書に記載されるプロセスおよび論理流れ図は、1つ以上のコンピュータプログラムを実行し、入力データ上で作動し、出力を生成することによってアクションを実施する、1つ以上のプログラマブルプロセッサによって実施され得る。プロセスおよび論理流れ図は、特殊用途論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によっても実施され得、器具は、特殊用途論理回路としても実装され得る。
コンピュータプログラムの実行に適したプロセッサには、例として、汎用および特殊用途マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。概して、プロセッサは、読み取り専用メモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須素子は、命令に従ってアクションを実施するためのプロセッサ、ならびに命令およびデータを記憶するための1つ以上のメモリ装置である。概して、コンピュータは、データを記憶するための1つ以上の大容量記憶装置、例えば、磁気、磁気光学ディスク、または光学ディスクも含むか、または作動的に結合され、それらからデータを受信する、もしくはそれらにデータを転送する、またはその両方を行う。しかしながら、コンピュータは、そのような装置を有する必要はない。さらに、コンピュータは、別の装置、例えば、数例を挙げると、携帯電話、パーソナルデジタルアシスタント(PDA)、モバイル音声もしくはビデオ再生装置、ゲーム機、Global Positioning System(GPS)受信機、または携帯型記憶装置(例えば、ユニバーサルシリアルバス(USB)フラッシュドライブ)に埋め込まれてもよい。コンピュータプログラム命令およびデータを記憶するのに適した装置には、すべての形態の不揮発性メモリ、メディア、およびメモリ装置を含み、例として、半導体メモリ装置、例えば、EPROM、EEPROM、およびフラッシュメモリ装置、磁気ディスク、例えば、内蔵ハードディスクまたはリムーバブルディスク、磁気光学ディスク、ならびにCD−ROMおよびDVD−ROMディスクを含む。プロセッサおよびメモリは、特殊用途論理回路によって補完されるか、または特殊用途論理回路に組み込まれてもよい。
ユーザーとの相互作用を提供するために、本明細書に記載される本主題の実施形態は、ディスプレイ装置、例えば、ユーザーに情報を表示するためのCRT(陰極線管)もしくはLCD(液晶ディスプレイ)モニター、およびキーボード、およびポインティング装置、例えば、それによりユーザーが入力をコンピュータに提供することができるマウスまたはトラックボールを有するコンピュータ上に実装されてもよい。他の種類の装置を使用して、同様にユーザーとの相互作用を提供することもできる。例えば、ユーザーに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、または触知性フィードバックであり得、ユーザーからの入力は、聴覚的、音声的、または触知性入力を含む任意の形態で受信され得る。加えて、コンピュータは、ユーザーによって使用される装置に文書を送信し、その装置から文書を受信することによって、例えば、ウェブブラウザから受信される要求に応答してユーザーのクライアント装置上のウェブブラウザにウェブページを送信することによって、ユーザーと相互作用することができる。
本明細書に記載される本主題の実施形態は、例えば、データサーバとしてバックエンドコンポーネントを含むか、またはミドルウェアコンポーネント、例えばアプリケーションサーバを含むか、またはフロントエンドコンポーネント、例えば、それを通してユーザーが本明細書に記載される本主題の実装と相互作用することができるグラフィカルユーザーインターフェースもしくはウェブブラウザを有するクライアントコンピュータを含むか、または1つ以上のそのようなバックエンド、ミドルウェア、もしくはフロントエンドコンポーネントの任意の組み合わせを含む、コンピューティングシステムに実装され得る。システムのコンポーネントは、任意の形態またはメディアのデジタルデータ通信、例えば、通信ネットワークによって相互接続され得る。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)および広域ネットワーク(「WAN」)、インターネットワーク(例えば、インターネット)、ならびにピアツーピアネットワーク(例えば、アドホックピアツーピアネットワーク)が挙げられる。
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、概して互いに遠くにあり、典型的には通信ネットワークを通して相互作用する。それぞれのコンピュータ上で実行しており、互いに対してクライアント−サーバ関係を有するコンピュータプログラムによって、クライアントおよびサーバの関係が生じる。いくつかの実施形態では、サーバは、データ(例えば、HTMLページ)をクライアント装置に伝送する(例えば、クライアント装置と相互作用するユーザーにデータを表示し、クライアント装置と相互作用するユーザーからユーザー入力を受信するため)。クライアント装置で生成されるデータ(例えば、ユーザー相互作用の結果)は、サーバでクライアント装置から受信され得る。
本明細書は多くの特定の具体的な実装詳細を含むが、これらは、あらゆる発明の範囲または特許請求され得る範囲に対する制限ではなく、むしろ1つ以上の例示的な実装の特徴の説明であると解釈されるべきである。別個の実施形態に関連して本明細書に記載されるある特定の特徴は、単一の実施形態で組み合わせて実装されてもよい。反対に、単一の実施形態に関連して記載される様々な特徴も、複数の実施形態に別個に、または任意の好適な部分的組み合わせで実装されてもよい。さらに、特徴は、ある特定の組み合わせで活動するように上述され得、およびさらに最初に特許請求され得るが、したがって、特許請求される組み合わせの1つ以上の特徴は、場合によっては、組み合わせから抜粋されることがあり、特許請求される組み合わせは、部分的組み合わせ、または部分的組み合わせの変形を対象にし得る。
同様に、作動は特定の順序で図面に示されるが、これは、そのような作動が示される特定の順序で、もしくは順番で実施されること、またはすべての例示される作動が望ましい結果を実現するように実施されることを必要とすると理解されるべきではない。ある特定の状況では、多重タスク処理および並列処理が有利であり得る。さらに、上述される実施形態における様々なシステムコンポーネントの分離は、すべての実施形態においてそのような分離を必要とすると理解されるべきではなく、記載されるプログラムコンポーネントおよびシステムは概して、単一のソフトウェア製品に一緒に一体化され得るか、または複数のソフトウェア製品にパッケージ化され得ると理解されるべきである。
このように、本主題の特定の実施形態が記載されている。他の実施形態は、以下の特許請求の範囲の範囲内である。場合によっては、特許請求の範囲に列挙されるアクションは、異なる順序で実施されてもよく、依然として望ましい結果を実現する。加えて、添付図面に示されるプロセスは、望ましい結果を実現するために示される特定の順序、または順番を必ずしも必要としない。ある特定の実装では、多重タスク処理および並列処理が有利であり得る。