オーディオ空間化は、ユーザが、オーディオを三次元空間で受けることができる機能のことである。これは、ユーザが、音響の方向および距離に関するオーディオ情報を検知することを意味している。
パーソナルコンピュータ上で再生されるオーディオストリームは、生来のステレオか、又は、殆どのパーソナルコンピュータ又はパーソナルコンピュータに接続されているヘッドフォンセットに埋め込まれている2つのスピーカで再生される前に、ダウンミックスされステレオになったマルチチャネルのオーディオシステムであるかのいずれかである。ステレオのオーディオストリームは、生来は、一部のサラウンド音響システムに含まれているオーディオ情報の量を含んでいない。
しかし、特殊なオーディオ空間化技術をこのステレオのオーディオストリームに利用することで、欠けていた三次元の音響コンテンツの一部が得られる。人間の聴覚系は、幾つかの手がかり(cue)(時間の差、振幅の差、スペクトル情報、タイミング分析、および相関分析がほんの一例である)を利用して、音源のローカライゼーション(localization)を行う。例えば、視聴者の右側からの音響は、左耳より少し前に右耳に、しかも少し大きな強度で到達する。さらに、遠い場所からの音響は、振幅が低く、高周波コンテンツがなくなっている場合が多い。このタイプの手がかりを人間の聴覚系が利用すると、空間における音響のローカライゼーションを行うことができる。これは、人間の脳が、右目および左目から得た画像の間の差を分析することで、視覚的な三次元情報を抽出することに似ている。
オーディオ空間化技術は、オーディオストリームを後処理するが、オーディオストリームを生成する音響システムに関するユーザの空間における位置を考慮はしない。たとえばユーザがヘッドフォンを装着している場合などに、スピーカのトランスデューサは、ユーザの頭部の動きに応じて動く。したがって、特定の方向および距離にあるはずの音響も、ユーザの頭部の動きに応じて動くことになる。
一部の実施形態では、プロセッサベースのデバイスにおけるカメラの入力を利用して、オーディオコンテンツの空間化を向上させることもできる。様々なパーソナルコンピュータデバイスを利用することができる(一例を挙げると、ノートブック、タブレット、スマートフォン、ひいてはビデオカメラ自身も利用可能である)。
一部の実施形態では、エンベデッドの常時ONのカメラ(Embedded always - on cameras)を利用することもできる。モバイルプラットフォーム上の既存のエンベデッドカメラは、プラットフォームに対するユーザの現在位置情報をプラットフォームに提供することで、ユーザの三次元オーディオ体験を向上させることができる。
一部の実施形態では、ユーザは、ヘッドフォンから流れるオーディオストリームを聞くことができる。オーディオ空間化技術を、パーソナルコンピュータに埋め込まれている従来のスピーカから流れるオーディオストリームに適用することもできるが、その影響は、ヘッドフォンを利用することで、よりクリアに感じられる。
オーディオストリームは、いつでもパーソナルコンピュータシステム上でアクティブであってよい。これらストリームには、ビデオ再生アプリケーション等のアプリケーションが生成するシステム音響又はオーディオコンテンツが含まれる。オーディオストリームは、5.1又は7.1オーディオの場合、2つのステレオオーディオ又は2を超える数のチャネルからなることがある。2を超える数のチャネルの場合、オーディオチャネルは、2つのチャネルにダウンミックスされることで、2つのヘッドフォンに流すことができるようになる。ステレオシステムがパーソナルコンピュータに接続される場合には、このようなダウンミックスは不要である。この場合には、様々なスピーカを様々な異なるストリームで駆動することができる。
通常、パーソナルコンピュータシステムが生成する音響、および、殆どのアプリケーションが生成するオーディオストリームは、空間系エフェクトを含まないので、パーソナルコンピュータシステムに対するユーザの相対位置は関係しない。ユーザがヘッドフォンを利用しており、システム音響が生成された場合、この音響は、ユーザの頭部がどの方向に向けられていようとも、常に左耳又は右耳の方向から来ることになる。他方で、一部のアプリケーションにおいては、オーディオの空間化をサポートしているが、ユーザの位置がコンピュータの前方の三次元空間のデフォルト位置にあると想定していたり、ユーザが常にコンピュータスクリーンの方向を向いていることを想定したりしているものがある。このデフォルトの位置および向きは、図1のX、Y、Z軸の原点で表され、ユーザの位置は、ユーザの目の間の点の位置として定義されている。
カメラの入力は、コンピュータにおいて、オーディオの空間化をサポートしたり、既にサポートしているアプリケーションのオーディオ空間化を向上させたりするために利用される。コンピュータシステムは、たとえば、流されるオーディオパケットの相対振幅又は相対的レイテンシを変更することで、オーディオの空間化をサポートすることができる。たとえば音響をユーザの左側に方向付けようとするとき、ユーザの左耳に位置しているヘッドセットスピーカに形成されるオーディオチャネルは、他のオーディオチャネルと比較して、いくらか短いレイテンシと、大きな振幅とを有するだろう。しかし、パーソナルコンピュータは、複数の他の技術を利用することでもオーディオのローカライゼーション効果を発揮することができてよい。
一般的には、ある人の頭部の位置および向きは、この人の空間における音響の認知に対して影響する。位置又は向きは、音響の方向および距離の認知に影響を与える。このパラダイムをパーソナルコンピュータデバイスのユーザに転用すると、ユーザの頭部の位置および向きは、パーソナルコンピュータが生成する音響のユーザの認知に影響を与える。たとえば図1に示すコンピュータシステムが、ユーザが自身の頭部を右に向けているときに音響を生成すると、システム音響が空間ローカライゼーションされた場合には、これは、ユーザの左側からのものであるかのように認知されるはずである。
音響を空間化することができるためには、コンピュータは、ユーザの現在の位置および向きを認識しておく必要があるだろう。図1のXYZ軸は、ユーザのデフォルトの位置を示している。図1のX' Y' Z'軸は、ユーザが頭部を(x1、y1、z1)に動かし、ユーザが頭部をa1およびb1の角度だけ水平および垂直方向に頭部を回転させた場合に利用される、空間における新たなユーザ位置および向きを示している。ベクトル(x1、y1、z1、a1、b1)は、空間における新たなユーザ位置および向きを示すために利用することができる。そしてコンピュータは、エンベデッドカメラおよびビデオ分析を利用して位置および向きを判断することで、新たなユーザ位置および向きを特定することができる。
たとえば、ユーザの目の間の点の位置がビデオ分析により判断されると、その点のコンピュータからの距離が容易に導き出される。この距離に基づいて、音響の振幅を、各耳の向きに対して調節することができる。
コンピュータが、空間化をサポートしていないオーディオストリームを流す場合には、カメラの入力は、欠けている三次元情報を提供するために利用することができる。コンピュータの前の空間におけるユーザの位置および向きを、カメラの入力から得ることができる。たとえば、ビデオ再生アプリケーションが、スクリーン「中」の真ん前の一定の距離離れたところから生じた爆発の音響を流そうとしているが、ユーザの位置がコンピュータの左側に少しずれていた場合には、ユーザはこの爆発を少し右側にずれた方向からのものであると認知するだろう。これは、ヘッドフォンに流すオーディオストリームの振幅およびレイテンシを操作することにより行われる。
特定のアプリケーションが空間化されたオーディオを流すとき、これも、同様の方法で、コンピュータのエンベデッドカメラからの情報を利用して後処理することができる。たとえば、アプリケーションが、ユーザの左側に音響を生じさせることを意図しているが、実際のユーザは頭部を右にひねっている場合、この音響は実際には、ユーザの頭部の後側からのように受け取られるようになる。したがってコンピュータは、ユーザの現在の位置および向きの情報を利用して、オーディオストリームを後処理して、音響があたかもユーザの頭部の後ろから来るように生成する。上述した例は、ユーザの向きの極端な変更の例である。多くの実際の生活では、ユーザは、図1に示すデフォルト位置より少し位置又は角度がずれている場合のほうが多く、オーディオストリームに行われる空間化処理も、このような小さい又は些細な位置および向きの変更を反映するようなものにする必要があるだろう。
オーディオデコードおよび後処理は、実際には、プラットフォーム上の複数の異なる位置で実行されてよい。ソフトウェア(たとえばアプリケーション)で行われてもよい。ホスト処理ユニット又はチップセットに埋め込まれているオーディオデジタル信号プロセッサ(DSP)により行うことができる。さらに、中央処理装置内で別個の又は統合されたグラフィックエンジンのいずれかを含むグラフィックエンジン上で行うこともできる。統合されたDSPでオーディオ処理を行う例を説明するが、ここで説明する概念は、全てのケースに応用可能である。
図2に示すオーディオデジタル信号プロセッサ12は、オーディオコーデック16に直接的又は間接的に接続されていてよく、オーディオコーデック16は、パーソナルコンピュータのオーディオ出力をヘッドフォン又はスピーカ18へ送出する。アプリケーション又はオペレーティングシステムは視聴(audio/visual)ストリームを生成するが、これらはさらなる処理のためにオーディオデジタル信号プロセッサ12に渡され、ここから、オーディオコーデック16およびヘッドセット又はスピーカ18へと渡される。
オーディオ空間系エフェクトを得るために、オーディオDSPドライバは、エンベデッドカメラドライバと通信して、ここからユーザの現在の位置および頭部の向きに関する情報を得る。この情報を利用して、DSP12は、生成されているオーディオストリームに対して適切な後処理を行い、所望の空間系エフェクトを与える。たとえばDSPが2つのダウンミックスされる可能性のあるオーディオストリームを生成している場合、もしこれらがユーザの現在の位置に依存したユーザのヘッドセット向けのものであれば、これら2つのストリームに対して適切な遅延又は振幅の操作を行って空間化を行うことができる。
DSPドライバは、カメラドライバとハンドシェークを行うことができ(標準的なオペレーティングシステムインタフェースを介してであってよい)、現在のユーザ位置に関する入力を受信することができる。このハンドシェークは、数多くの異なる方法で行われてよい。たとえば、プログラム可能な数ミリ秒ごと(every so many programmable milliseconds)、という周期的なシステムの割り込みを利用して行うことができる。
図3は、本発明の一実施形態の構造のフロー図を示す。ハードウェア、ソフトウェア、および/又は、ファームウェアに実装することができる。ソフトウェアおよびファームウェアの実施形態では、磁気、光、又は、半導体ストレージ等の1以上のコンピュータ可読媒体に格納されているコンピュータ実行された命令で実装されてよい。
一実施形態では、DSPドライバは、カメラと、数ミリ秒ごとの周期的なシステムの割り込みによってハンドシェークを実行する。ドライバは、カメラドライバから、現在のユーザ位置および向きの情報を受信する。実際、オーディオストリームがDSPにより現在レンダーリング中である場合、DSPは、現在のユーザ位置を利用してこれらストリームを後処理して、空間系エフェクトを生じさせる。
したがって特にブロック20で、ドライバは、カメラから新たなユーザの位置を読み取る。そしてダイアモンド22でチェックを行い、現在レンダーリング中のアクティブなオーディオストリームがあるかを判断する。判断結果が肯定的である場合には、DSPは、ブロック24で、ユーザの位置に基づいてオーディオパケットを処理して、空間系エフェクトを生じさせる。次に、ダイアモンド26でチェックを行い、ユーザ位置が最後に読み出されてから経過した時間が、プログラム可能な時間間隔より大きいかを判断する。次に、フローはブロック20に戻り繰り返すか、さもなくば、ダイアモンド22に戻る。
他の実施形態では、マルチチャネルのホーム娯楽システムを利用することもできる。テレビ又はビデオシステムが、現在のユーザ位置および向きを追跡できるエンベデッドカメラを含んでいるという前提で、同じ処理を行って、サラウンド音響オーディオを空間化することができる。ホーム娯楽システムのオーディオの品質は、サラウンドスピーカに対するユーザの実際の位置に依存する。オーディオを空間化することで、カメラの入力を利用して、各オーディオチャネルを適切に後処理して、ユーザの実際の位置および向きにおいて、各スピーカから発せられる音響の品質を最適化することができる。
このようにして、カメラの入力は、ユーザの位置および向きを取り入れて、ホームコンピュータシステムおよびホームシアターシステム両方におけるオーディオの空間化を可能としたり、向上させたりすることができる。
図4は、システム700の一実施形態を示す。一部の実施形態では、システム700はメディアシステムであるが、システム700は、このコンテキストに限定はされない。たとえばシステム700は、パーソナルコンピュータ(PC)、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、可搬型コンピュータ、ハンドヘルドコンピュータ、手のひらサイズのコンピュータ、情報携帯端末(PDA)、携帯電話器、携帯電話器/PDAの組み合わせ、テレビ、スマートデバイス(たとえばスマートフォン、スマートタブレット又はスマートテレビ)、モバイルインターネットデバイス(MID)、メッセージングデバイス、データ通信デバイス等に組み込み可能である。
一部の実施形態では、システム700は、ディスプレイ720に連結されたプラットフォーム702を含む。プラットフォーム702は、コンテンツサービスデバイス730(一又は複数)又はコンテンツ配信デバイス740(一又は複数)又はその他の類似したコンテンツソース等のコンテンツをコンテンツデバイスから受信してよい。1以上のナビゲーション特徴部を含むナビゲーションコントローラ750が、たとえばプラットフォーム702および/又はディスプレイ720と交信するために利用されてよい。これらコンポーネントのそれぞれは後に詳述される。
一部の実施形態では、プラットフォーム702は、チップセット705、プロセッサ710、メモリ712、ストレージ714、グラフィックサブシステム715、アプリケーション716、グローバルポジショニングシステム(GPS)721、カメラ723、および/又は、ラジオ718の任意の組み合わせを含んでよい。チップセット705は、プロセッサ710、メモリ712、ストレージ714、グラフィックサブシステム715、アプリケーション716、および/又は、ラジオ718の間に交信を行わせることができてよい。たとえば、チップセット705は、ストレージ714と交信することのできるストレージアダプタ(不図示)を含んでよい。
加えて、プラットフォーム702は、オペレーティングシステム770を含んでよい。プロセッサ772へのインタフェースは、オペレーティングシステムとプロセッサ710とをインタフェースしてよい。
ファームウェア790は、ブートシーケンス等の機能を実装するために提供されてよい。ファームウェアをプラットフォーム702外から更新するための更新モジュールも提供されてよい。例として更新モジュールは、更新の試みが正当なものかの判断、および、更新が必要となる時期の判断を促すために、ファームウェア790の最後の更新の特定を行うためのコードを含んでよい。
一部の実施形態では、プラットフォーム702は、外部電源により給電されてよい。一部の場合においては、プラットフォーム702は、さらに、実施形態によっては、外部電源に適合されない電源として動作する、又は、実施形態によっては、電池駆動電力又は外部電源電力の切り替えを可能とする電源として動作する内部電池780を含んでよい。
図3に示すシーケンスは、数例を挙げると、ストレージ714内、又は、プロセッサ710又はグラフィックサブシステム715内のメモリに、これらを含めることで、ソフトウェアおよびファームウェアの実施形態に実装することができる。一実施形態では、グラフィックサブシステム715は、グラフィック処理ユニットを含んでよく、プロセッサ710は、中央処理装置であってよい。
プロセッサ710は、CISC(Complex Instruction Set Computer)又はRISC(Reduced Instruction Set Computer)プロセッサ、x86命令セットに準拠したプロセッサ、マルチコア、又は任意の他のマイクロプロセッサ又は中央処理装置(CPU)として実装されてよい。一部の実施形態では、プロセッサ710は、デュアルコアプロセッサ、デュアルコアモバイルプロセッサ等を含んでよい。
メモリ712は、これらに限定はされないがRAM、DRAM、又はSRAM等を含む揮発性メモリとして実装されてよい。
ストレージ714は、これらに限定はされないが磁気ディスクドライブ、光ディスクドライブ、テープドライブ、内部記憶デバイス、アタッチストレージデバイス(attached storage device)、フラッシュメモリ、バッテリーバックアップSDRAM(同期DRAM)および/又はネットワークアクセス可能記憶デバイス等を含む不揮発性記憶デバイスとして実装されてよい。一部の実施形態では、ストレージ714は、複数のハードドライブが含まれると、価値あるデジタルメディアのための、記憶性能が向上した保護を提供する技術を含むことができる。
グラフィックサブシステム715は、静止画又は動画等の画像を表示するために処理することができる。グラフィックサブシステム715は、例として、グラフィック処理ユニット(GPU)又は視覚処理ユニット(VPU)であってよい。アナログ又はデジタルインタフェースを利用して、グラフィックサブシステム715およびディスプレイ720を通信可能なように連結することができる。たとえばインタフェースは、高精細マルチメディアインタフェース、DisplayPort、無線HDMI(登録商標)、および/又は、無線HDに準拠した技術のいずれであってもよい。グラフィックサブシステム715は、プロセッサ710又はチップセット705に統合することもできる。グラフィックサブシステム715は、チップセット705に通信可能に連結されている独立型カードであってもよい。
ここで説明するグラフィックおよび/又はビデオ処理技術は、様々なハードウェアアーキテクチャに実装することができる。たとえばグラフィックおよび/又はビデオ機能は、1つのチップセットに統合することもできる。この代わりに、別個のグラフィックおよび/又はビデオプロセッサを利用することもできる。また別の実施形態として、グラフィックおよび/又はビデオ機能を、汎用プロセッサ(マルチコアプロセッサを含む)で実装してもよい。また別の実施形態では、これら機能を家庭用電子機器に実装することもできる。
ラジオ718は、様々な適切な無線通信技術を利用して信号を送受信することができる1以上のラジオを含んでよい。これら技術は、1以上の無線ネットワークにおける通信を含んでよい。無線ネットワークの例を挙げると(これらに限定はされない)、無線ローカルエリアネットワーク(WLAN)、無線パーソナルエリアネットワーク(WPAN)、無線メトロポリタンエリアネットワーク(WMAN)、セルラーネットワーク、および衛星ネットワークが含まれる。これらネットワークで通信を行うために、無線718は任意のバージョンの1以上の適用可能な規格に従って動作してよい。
一部の実施形態では、ディスプレイ720は、任意のテレビ型モニタ又はディスプレイを含んでよい。ディスプレイ720は、たとえば、コンピュータディスプレイスクリーン、タッチスクリーンディスプレイ、ビデオモニタ、テレビに類したデバイス、および/又はテレビを含んでよい。ディスプレイ720は、デジタルおよび/又はアナログであってよい。一部の実施形態では、ディスプレイ720は、ホログラフィックディスプレイであってもよい。さらに、ディスプレイ720は、視覚投射を受けることのできる透明な表面であってもよい。これら投射によって、様々な形態の情報、画像、および/又はオブジェクトが伝達されてよい。たとえば、投射が、移動型の拡張現実(MAR:mobile augmented reality)用途の視覚オーバレイであってもよい。1以上のソフトウェアアプリケーション716に制御されることで、プラットフォーム702は、ユーザインタフェース722をディスプレイ720に表示することができる。
一部の実施形態では、コンテンツサービスデバイス730(1又は複数)は、任意の国の事業、国際事業、および/又は、独立機関の事業によりホストされることで、インターネット等を介してプラットフォーム702にアクセス可能であってよい。コンテンツサービスデバイス730は、プラットフォーム702および/又はディスプレイ720に連結されていてよい。プラットフォーム702および/又はコンテンツサービスデバイス730は、ネットワーク760に連結されて、メディア情報をネットワーク760との間でやりとり(たとえば送信および/又は受信)することができる。コンテンツ配信デバイス740も、プラットフォーム702および/又はディスプレイ720に連結されていてよい。
一部の実施形態では、コンテンツサービスデバイス730は、ケーブルテレビボックス、パーソナルコンピュータ、ネットワーク、電話、インターネット利用可能デバイス、又は、デジタル情報および/又はコンテンツを配信可能な機器、および、任意のその他の、コンテンツプロバイダとプラットフォーム702および/又はディスプレイ720との間でネットワーク760を介して、一方向又は双方向のコンテンツの通信が可能な類似したデバイスを含んでよい。コンテンツは、システム700およびコンテンツプロバイダとの間でネットワーク760を介して、一方向および/又は双方向に伝達されてよいことがわかるだろう。コンテンツの例には、たとえばビデオ、音楽、医療情報およびゲーム情報等が含まれてよい。
コンテンツサービスデバイス730は、ケーブルテレビ番組等のコンテンツ(メディア情報、デジタル情報、および/又はその他のコンテンツを含む)を受信する。コンテンツプロバイダの例には、任意のケーブル、衛星テレビ、又はラジオ又はインターネットコンテンツプロバイダが含まれてよい。挙げた例は、本発明の実施形態を限定する意図はない。
一部の実施形態では、プラットフォーム702が、制御信号を1以上のナビゲーション特徴部分を有するナビゲーションコントローラ750から受信してよい。コントローラ750のナビゲーション特徴部分は、たとえば、ユーザインタフェース722と交信するために利用されてよい。一部の実施形態では、ナビゲーションコントローラ750が、ユーザに空間(たとえば連続した、多次元の)データをコンピュータに入力させるコンピュータハードウェアコンポーネント(特にヒューマンインタフェースデバイス)であってよいポインティングデバイスであってよい。多くのシステム(たとえば、グラフィックユーザインタフェース(GUI)、テレビ、およびモニタ)によって、ユーザは、身体ジェスチャーを利用してデータをコンピュータ又はテレビに制御提供することができるようになる。
コントローラ750のナビゲーション特徴部分の動きは、ポインタ、カーソル、フォーカスリング、その他のディスプレイ(たとえばディスプレイ720)に表示される視覚的インジケータ上に反映(echo)されてよい。たとえば、ソフトウェアアプリケーション716の制御の下で、ナビゲーションコントローラ750に位置しているナビゲーション特徴部分は、たとえば、ユーザインタフェース722に表示される視覚上のナビゲーション特徴部分にマッピングされてよい。一部の実施形態では、コントローラ750は、別個のコンポーネントではなく、プラットフォーム702および/又はディスプレイ720に統合されてよい。しかし実施形態は、ここで記載するエレンメント又はコンテキストに限定はされない。
一部の実施形態では、ドライバ(不図示)が、ユーザがプラットフォーム702を即座にオン/オフできるような技術を含んでよい(たとえば、イネーブルされていれば、初期起動の後にテレビを、ボタンを触ればオフにできるようなもの)。プログラム論理によって、プラットフォーム702は、プラットフォームが「オフ」のときに、コンテンツをメディアアダプタその他のコンテンツサービスデバイス730又はコンテンツ配信デバイス740にストリーミングすることができる。加えて、チップセット705は、たとえば、5.1サラウンド音響オーディオおよび/又は7.1サラウンド音響オーディオ用のハードウェアおよび/又はソフトウェアサポートを含んでよい。ドライバは、統合されているグラフィックプラットフォームのためのグラフィックドライバを含んでよい。実施形態によっては、グラフィックドライバは、PCI(peripheral component interconnect)Expressグラフィックカードを含んでよい。
様々な実施形態では、システム700内に示されているコンポーネントのうちの任意の1以上を統合することもできる。たとえばプラットフォーム702とコンテンツサービスデバイス730とが統合されていてもよいし、プラットフォーム702とコンテンツ配信デバイス740とが統合されていてもよいし、又は、プラットフォーム702、コンテンツサービスデバイス730、および、コンテンツ配信デバイス740が統合されていてもよい。様々な実施形態では、プラットフォーム702とディスプレイ720とが1つの統合されたユニットであってよい。ディスプレイ720とコンテンツサービスデバイス730とが統合されていてもよいし、又は、ディスプレイ720とコンテンツ配信デバイス740とが統合されていてもよい。これらの例は本発明を限定する意図を持たない。
様々な実施形態では、システム700は、無線システム、有線システム、又はこれらの組み合わせとして実装することができる。無線システムとして実装される場合、システム700は、無線共有媒体で通信するために適したインタフェースおよびコンポーネント(1以上のアンテナ、トランスミッタ、レシーバ、トランシーバ、増幅器、フィルタ、制御論理等)を含んでよい。有線共有媒体の一例には、無線スペクトルの一部(たとえばRFスペクトル等)が含まれてよい。有線システムとして実装される場合、システム700は、有線通信媒体で通信するために適したインタフェースおよびコンポーネント(たとえば入出力(I/O)アダプタ、I/Oアダプタを対応する有線通信媒体に接続するための物理コネクタ、ネットワークインタフェースカード(NIC)、ディスクコントローラ、ビデオコントローラ、オーディオコントローラ等)を含んでよい。有線通信媒体の例には、ワイヤ、ケーブル、金属鉛(metal lead)、プリント回路基板(PCB)、バックプレーン、スイッチ構成、半導体材料、ツイストペアワイヤ、同軸ケーブル、光ファイバ等が含まれる。
プラットフォーム702は、情報を運ぶための1以上の論理チャネル又は物理チャネルを構築してよい。情報は、メディア情報および制御情報を含んでよい。メディア情報は、ユーザのためのコンテンツを表す任意のデータのことであってよい。コンテンツの例には、たとえば、音声会話からのデータ、ビデオ会議、ストリーミングビデオ、電子メール(「Eメール」)メッセージ、音声メールメッセージ、英数字、グラフィック、画像、ビデオ、テキスト等が含まれてよい。音声会話からのデータとは、たとえば、音声情報、沈黙期間、背景の雑音、快適雑音、トーン等であってよい。制御情報とは、コマンド、命令、又は自動化されたシステム用の制御語を表すいずれかのデータのことであってよい。たとえば制御情報は、システム経由でメディア情報をルーティングするため、又は、メディア情報を予め定められた方法で処理するようノードに指示するために利用することができてよい。しかし実施形態は図4に示す、又はこれを参考に説明したエレメント又はコンテキストに限定はされない。
上述したように、システム700は、様々な物理的スタイル又はフォームファクタで具現化することができる。図4は、システム700を具現化することができる小型のフォームファクタのデバイス800の実施形態を示す。一部の実施形態では、たとえば、デバイス800を、無線機能をもつモバイルコンピューティングデバイスとして実装することができる。モバイルコンピューティングデバイスは、処理システムおよび移動電源又は移動電力供給装置(たとえば1以上の電池等)を持つ任意のデバイスのことであってよい。
上述したように、モバイルコンピューティングデバイスの例には、パーソナルコンピュータ(PC)、ウルトララップトップコンピュータ、タブレット、タッチパッド、可搬型コンピュータ、手持ち型コンピュータ、手のひらサイズのコンピュータ、情報携帯端末(PDA)、携帯電話器、携帯電話器/PDAの組み合わせ、テレビ、スマートデバイス(たとえばスマートフォン、スマートタブレット又はスマートテレビ)、モバイルインターネットデバイス(MID)、メッセージングデバイス、データ通信デバイス等が含まれてよい。
モバイルコンピューティングデバイスの例には、さらに、人が装着できるよう構成されたコンピュータ(たとえば手首用コンピュータ、指用コンピュータ、リング状コンピュータ、メガネコンピュータ、ベルトクリップコンピュータ、腕用コンピュータ、靴型コンピュータ、衣服コンピュータ、その他の装着可能なコンピュータ)が含まれてよい。一部の実施形態では、たとえば、モバイルコンピューティングデバイスが、コンピュータアプリケーションの実行、音声通信および/又はデータ通信を行うことのできるスマートフォンとして実装されてよい。一部の実装例は、例としてスマートフォンとして実装されるモバイルコンピューティングデバイスで説明されているが、他の実施形態は、他の無線モバイルコンピューティングデバイスを利用して実装されてもよい。実施形態はこのコンテキストに限定はされない。
図5に示すように、デバイス800は、筐体802、ディスプレイ804、入出力(I/O)デバイス806、および、アンテナ808を含んでよい。デバイス800はさらに、ナビゲーション特徴部分812を含んでよい。ディスプレイ804は、モバイルコンピューティングデバイスに適した情報を表示するための任意の適切なディスプレイユニットを含んでよい。I/Oデバイス806は、モバイルコンピューティングデバイスに情報を入力するための任意の適切なI/Oデバイスを含んでよい。I/Oデバイス806の例には、英数字キーボード、数字キーパッド、タッチパッド、入力キー、ボタン、スイッチ、ロッカースイッチ、マイクロフォン、スピーカ、音声認識デバイスおよびソフトウェア等が含まれてよい。情報は、マイクロフォン経由でデバイス800に入力されてもよい。これら情報は、音声認識デバイスによってデジタル化されてもよい。実施形態はこのコンテキストに限定はされない。
様々な実施形態は、ハードウェアエレメント、ソフトウェアエレメント、又はこれらの組み合わせを利用して実装可能である。ハードウェアエレメントの例には、プロセッサ、マイクロプロセッサ、回路、回路エレメント(たとえばトランジスタ、抵抗、コンデンサ、インダクタ等)、集積回路、特定用途向け集積回路(ASIC)、プログラム可能論理デバイス(PLD)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、論理ゲート、レジスタ、半導体素子、チップ、マイクロチップ、チップセット等が含まれてよい。ソフトウェアの例には、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、機能、方法、プロシージャ、ソフトウェアインタフェース、アプリケーションプログラムインタフェース(API)、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル、又はこれらの任意の組み合わせが含まれてよい。実施形態をハードウェアエレメントおよび/又はソフトウェアエレメントで実装するかの判断は、任意の数の要素(たとえば所望の計算レート、電力レベル、耐熱性、処理サイクル予算、入力データレート、出力データレート、メモリリソース、データバス速度その他の設計又はパフォーマンス上の制約)に応じて変化させてよい。
少なくとも1つの実施形態の1以上の態様は、マシン可読媒体に格納されており、プロセッサ内の様々な論理を表す代表的な命令で実装されてよく、これら命令は、マシンに読み取られると、マシンに、ここに記載した技術を実行するための論理を生成(fabricate)させる。これらの代表例は、「IPコア」として知られており、有形のマシン可読媒体に格納されており、様々な消費者又は製造施設に供給されて、実際に論理又はプロセッサを製造する製造マシンにロードされてよい。
様々な実施形態が、ハードウェアエレメント、ソフトウェアエレメント、又はこれらの組み合わせを利用して実装可能である。ハードウェアエレメントの例には、プロセッサ、マイクロプロセッサ、回路、回路エレメント(たとえばトランジスタ、抵抗、コンデンサ、インダクタ等)、集積回路、特定用途向け集積回路(ASIC)、プログラム可能論理デバイス(PLD)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、論理ゲート、レジスタ、半導体素子、チップ、マイクロチップ、チップセット等が含まれてよい。ソフトウェアの例には、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、機能、方法、プロシージャ、ソフトウェアインタフェース、アプリケーションプログラムインタフェース(API)、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル、又はこれらの任意の組み合わせが含まれてよい。実施形態をハードウェアエレメントおよび/又はソフトウェアエレメントで実装するかの判断は、任意の数の要素(たとえば所望の計算レート、電力レベル、耐熱性、処理サイクル予算、入力データレート、出力データレート、メモリリソース、データバス速度その他の設計又はパフォーマンス上の制約)に応じて変化させてよい。
少なくとも1つの実施形態の1以上の態様は、マシン可読媒体に格納されており、プロセッサ内の様々な論理を表す代表的な命令で実装されてよく、これら命令は、マシンに読み取られると、マシンに、ここに記載した技術を実行するための論理を生成(fabricate)させる。これらの代表例は、「IPコア」として知られており、有形のマシン可読媒体に格納されており、様々な消費者又は製造施設に供給されて、実際に論理又はプロセッサを製造する製造マシンにロードされてよい。
ここで説明したグラフィック処理技術は、様々なハードウェアアーキテクチャに実装可能である。たとえばグラフィック機能はチップセット内に統合してよい。この代わりに、別個のグラフィックプロセッサを利用してもよい。また別の実施形態では、グラフィック機能を汎用プロセッサ(マルチコアプロセッサを含む)により実装してもよい。
本明細書全体において、「一実施形態」又は「1つの実施形態」という言い回しは、その実施形態で記載される特定の特徴、構造、又は特性が、本発明の少なくとも1つの実施形態に含まれていることを示す。したがって「一実施形態」又は「1つの実施形態」という言い回しが本明細書の随所にみられても、これらは必ずしも全てが同じ実施形態のことを意味しているわけではない。さらに、特定の特徴、構造、又は特性は、それらが述べられた具体的な実施形態以外の適切な形態で実施することもでき、本願の請求項の範囲には、これらすべての形態が含まれることとする。
本発明は、限られた数の実施形態に関しての説明を行ったが、当業者であれば、数多くの変形例および変更例を想到するであろう。添付請求項は、これらすべての変形例および変更例を、本発明の真の精神および範囲に含まれるものとして含んでいることが意図されている。