(58)【調査した分野】(Int.Cl.,DB名)
コンピューター実行可能命令がエンコードされた少なくとも1つのコンピューター読取可能記憶媒体であって、前記コンピューター実行可能命令は、実行されたときに、リモート・オーディオ−ビデオ提示デバイスで提示するためにコンテンツを提供するワイヤレス・オーディオ−ビデオ・ソース・デバイスを動作させる方法を行わせ、該方法は、
前記リモート・オーディオ−ビデオ提示デバイスとサイド・チャンネルをネゴシエートすることであって、前記サイド・チャンネルが、デジタル・テレビジョン・スペクトルの一部内にあり、かつ前記サイド・チャンネルのための1つ以上の周波数が前記デジタル・テレビジョン・スペクトルの不使用部分内にあるかどうかに無関係にネゴシエートされ、
前記リモート・オーディオ−ビデオ提示デバイスにおけるオーディオ−ビデオ・コンテンツの再生を制御するための制御を有するグラフィカル・ユーザー・インターフェースを表示することと、
前記グラフィカル・ユーザー・インターフェースの第1の提示制御の選択の指示を受けることであって、前記第1の提示制御の前記選択が、前記リモート・オーディオ−ビデオ提示デバイスにより前記オーディオ−ビデオ・コンテンツが提示されるべきであることを示し、
前記第1の提示制御の前記選択に少なくとも部分的に基づいて前記リモート・オーディオ−ビデオ提示デバイスにおける前記オーディオ−ビデオ・コンテンツの提示のため、前記サイド・チャンネルとは異なる第1チャンネルを介して前記リモート・オーディオ−ビデオ提示デバイスへ前記オーディオ−ビデオ・コンテンツを表すデーターをストリーミングすることと、
前記リモート・オーディオ−ビデオ提示デバイスが前記オーディオ−ビデオ・コンテンツの提示特性を変更するためのコマンドを前記リモート・オーディオ−ビデオ提示デバイスに、サイド・チャンネルを介して送ることであって、該送ることが前記デジタル・テレビジョン・スペクトルの前記一部において送ることを含むこと、
を含み、
前記少なくとも1つのコンピューター読み取り可能記憶媒体が、ランダム・アクセス・メモリー、リード・オンリー・メモリー、フラッシュメモリー、EEPROM、光ディスク、磁気ディスク、磁気テープ、および磁気カセットの少なくとも1つを含む、
コンピューター読取可能記憶媒体。
【発明を実施するための形態】
【0013】
[0023] オーディオ−ビデオ・コンテンツを提示するために、使用可能な提示デバイスを使えるようにする構成をワイヤレス計算デバイスに装備することにより、ワイヤレス計算デバイスのユーザーの体験する状況が改善される、ということを発明者は認識および理解している。そのような使用をサポートするために、計算デバイスは、適切なリモート提示デバイスとの、オーディオ−ビデオ・コンテンツを表すデーターを搬送するために使用できる第1のワイヤレス・リンクを形成するように構成される。第2のリンクは、提示コマンドを送るための制御チャンネルとして使用される。そのようなコマンドは、オーディオ−ビデオ・コンテンツの提示に関する機能を制御する。
【0014】
[0024] このオーディオ−ビデオ・コンテンツは、任意の適切なコンテンツであり、任意の適切なソースから得ることができる。例えば、オーディオ−ビデオ・コンテンツは、音楽や本の朗読などを表すオーディオのみであり得る。また、オーディオ−ビデオ・コンテンツは、写真やコンピューターのデスクトップの提示やイメージなどを表す視覚的表示物のみであり得る。また、オーディオ−ビデオ・コンテンツは、オーディオ成分とビデオ成分との双方を含むマルチメディア・コンテンツであり得る。例えば、コンテンツは映画やテレビジョン番組であり得る。
【0015】
[0025] 計算デバイスは、オーディオ−ビデオ・コンテンツの提示と関連するデーターのストリームおよびコマンドを獲得および提供するための任意の適切な様式に構成される。1以上の他のコンポーネントが、オーディオ−ビデオ・コンテンツを表すデーターのストリームの生成を制御する場合もある。それらのコンポーネントは、ユーザーに対するインターフェースの役割を担い、コマンドを表す入力を得て、コマンドを表す送信用データーを生成する。これらのコンポーネントは、メディア制御アプリケーションなどのようなユーザ・モード・コンポーネントであり得る。また、コンポーネントは、オペレーティング・システム内のものとすることもできる。オペレーティング・システム内のコンポーネントは、コンテンツを生成したアプリケーション(1以上)とは関係なしに、リモート提示デバイスへ、計算デバイスのデスクトップを表すコンテンツや、アクティブ・ウィンドゥなどのようなデスクトップの幾つかの部分などを、送信するように制御される。
【0016】
[0026] 計算デバイスは、計算デバイスの1以上の無線装置を制御してオーディオ−ビデオ・チャンネルおよびサイド・チャンネルのためのリンクを形成するコンポーネントを、オペレーティング・システム内に含むことができる。任意の適切なトランスポート(1以上)を用いてそのチャンネルやサイド・チャンネルを形成することができる。
【0017】
[0027] 幾つかの実施形態では、計算デバイスおよび提示デバイスのそれぞれは、複数トランスポートをサポートする。複数のデバイスは、発見およびネゴシエーション(discovery and negotiation)プロセスを行って、相互にサポートされているトランスポートを選択して、デバイスが有効に通信できることを確実なものとする。しかし、幾つかの実施形態では、1対のデバイスに関して設定情報を記憶しておき、それらのデバイスが迅速にオーディオ−ビデオ・チャンネルおよびサイド・チャンネルを確立できるようにする。
【0018】
[0028] 幾つかの実施形態では、オーディオ−ビデオ・チャンネルは、Wi−Fi Direct Accessのピア・ツー・ピア接続または他の適切なピア・ツー・ピア接続を用いて形成される。また、計算デバイスがWi−Fi Direct Accessによる接続をサポートする場合には、それを用いてサイド・チャンネルが形成される。しかし、別のトランスポートを用いてサイド・チャンネルを形成することも可能である。例えば、サイド・チャンネルは、BLUETOOTH(登録商標)のリンクまたは他の適切なピア・ツー・ピア・プロトコルのリンクを用いて形成することができる。他の実施形態では、代替的または追加的に、IRリンクや近距離通信を用いる他のリンクを用いる通信をサポートすることができる。また、デジタルTVスペクトルを使用することもでき、その場合、送信をスペクトルの空白部に制限することや、干渉を避けられる低パワー・レベルにすることもできる。なお、上記の構成は、使用できるトランスポートの単なる例であり、任意の適切なトランスポートを用いることが可能である。
【0019】
[0029] これらの能力は、多くの望ましいユーザー体験をサポートすることで、ユーザーの体験する状況を改善する。例えば、ユーザーは、部屋へ入り、高度な設定を必要とせずに、部屋のテレビジョンで映画を表示することができる。
【0020】
[0030]
図1は、計算デバイスを使用して提示デバイスでのオーディオ−ビデオ・情報の提示を制御する実施形態を示す。
図1の例では、計算デバイスは、計算デバイス120として示されており、この例では、計算デバイス120はスレート・フォームファクタを有する。計算デバイス120は、ユーザー122により操作される。計算デバイス120は、提示デバイスを通じてのオーディオ−ビデオ・情報の提示を制御するように構成され、この例では、提示デバイスをテレビジョン130として示している。
【0021】
[0031] 計算デバイス120は、オーディオ−ビデオ・コンテンツのデーターのストリーミング処理を行うアプリケーションを用いて構成される。ここでは、第1チャンネルはオーディオ−ビデオ・チャンネル132として示されている。計算デバイス120内のアプリケーションは、更に、サイド・チャンネル134を通じてコマンドをテレビジョン130へ送信する。オーディオ−ビデオ・コンテンツのデーターは、映画や他のマルチメディア・コンテンツであり得る。なお、本発明に関しては、テレビジョン130へストリーミングで送られる特定のオーディオ−ビデオ・コンテンツが重要な問題となることはない。
【0022】
[0032] サイド・チャンネル134を通じて送られるコマンドは、任意の適切な形態とすることができる。例えば、コマンド・データは、オーディオ−ビデオ・コンテンツのデーターの提示における音量や他のオーディオ特性を制御する。代替的または追加的に、サイド・チャンネル134を通じて送られるコマンドは、テレビジョン(TV)130における表示の明るさなどのような、オーディオ−ビデオ・データの提示における1以上の視覚的特性を制御する。なお、サイド・チャンネル134を通じて送られる特定のコマンドは、テレビジョン130が処理できるコマンドの形式に対応したものとなることを、理解すべきである。例えば、テレビジョン130が、ディスプレイをフリーズするコマンドに応答するように構成されている場合、そのコマンドをサイド・チャンネル134を通じて送ることができる。
【0023】
[0033] 本発明では、オーディオ−ビデオ・チャンネル132およびサイド・チャンネル134に使用される特定の周波数が重要な問題となることはない。同様に、本発明では、オーディオ−ビデオ・チャンネル132およびサイド・チャンネル134での通信のプロトコルおよび他のパラメーターが重要な問題となることもない。なお、幾つかの実施形態では、サイド・チャンネル134は、オーディオ−ビデオ・チャンネル132とは異なる周波数スペクトルで形成され、異なるプロトコルおよび他の送信パラメーターを使用する場合もある。特定の例として、オーディオ−ビデオ・チャンネル132は、インダストリアル・サイエンティフィク・アンド・メディカル(IMS)無線バンドや、アンライセンスド・ナショナル・インフォメーション・インフラストラクチャ(UNII)バンドで形成される。
【0024】
[0034] 特定の例として、オーディオ−ビデオ・チャンネル132は、Wi−Fi標準で指定される周波数で送信される。この例では、計算デバイス120は、Wi−Fiダイレクト・プロトコルを用いて直接接続を形成する。そのような場合、計算デバイス120は、Wi−Fiダイレクト標準に従ってグループ・オーナーとして構成され、テレビジョン130には、ワイヤレス受信機および関連するコントローラが装備され、これが計算デバイス120のクライアントとしてWi−Fiダイレクト・グループを形成する。テレビジョン130内のそのようなコントローラは、オーディオ−ビデオ・チャンネル132を介してオーディオ−ビデオ・コンテンツを受信し、そのデーターをテレビジョン130内のコンポーネントへ送り、それらのコンポーネントは、テレビジョン・スクリーンで、およびテレビジョン130と結合されたスピーカーを通じて、オーディオ−ビデオ・コンテンツを提示する。
【0025】
[0035] サイド・チャンネル134の適切な周波数スペクトルおよび適切なプロトコルの例に関しては、計算デバイス120が赤外線送信機を備える場合には、赤外線周波数を用いてサイド・チャンネル134を形成することができる。そのような場合、テレビジョン130には、当該技術では知られているリモート・コントロール装置から信号を受信するために使用されるもののような、IR受信機が装備される。その場合、サイド・チャンネル134を通じての通信は、当該技術では知られているテレビジョン用のリモート・コントロール装置のためのプロトコルを用いてフォーマットすることができる。
【0026】
なお、代替的または追加的に、他の周波数および他のプロトコルを用いることも可能であることを理解すべきである。例えば、多くの計算デバイスは、BLUETOOTH(登録商標)無線装置を装備している。テレビジョン130にも同様にBLUETOOTH(登録商標)無線装置が装備されている場合、サイド・チャンネル134は、BLUETOOTH(登録商標)ピア・ツー・ピア接続として形成される。更なる可能な代替例として、サイド・チャンネル134を形成するために低パワー通信を用いることもできる。
図1に示すように、テレビジョン130の制御は、計算デバイス120がテレビジョン130と同じ部屋110にある時に行われる。従って、計算デバイス120とテレビジョン130との間の距離は比較的短いものである。計算デバイス120とテレビジョン130との間でのコマンドのための通信のデータ・レートは比較的低速であり、例えば、1秒あたり56Kまたはそれより低い。幾つかの実施形態では、データ・レートは1秒あたり32Kまたはそれより低い。従って、非常に低いコーディング・レートの誤り制御符号化(error control coding)が使用され、サイド・チャンネル134での送信に非常に低いパワーが使用される。結果として、NFCを含む近接通信技術などのような低パワー送信の技術を使用する場合でも、Transfer JetおよびFelicaを使用することができる。
【0027】
[0036] 送信パワーに関する要求が比較的低いので、更に、ピア・ツー・ピア通信以外の目的で使用する周波数スペクトルは、それらの周波数を用いる他のデバイスに対し受け入れ不可能な干渉生成せずに、使用することもできる。特定的な例として、サイド・チャンネル134は、デジタルTVスペクトルで形成することができる。そのような場合の送信は、干渉が起こらないように低パワーで行われる。
【0028】
[0037] なお、サイド・チャンネル134を形成するために非常に低いパワーの送信を使用する、ということは必要条件ではない。代替例として、サイド・チャンネル134は、オーディオ−ビデオ・チャンネル132を形成するために使用される周波数スペクトルと同じ周波数スペクトルを用いて形成することができる。オーディオ−ビデオ・チャンネル132が約2.4GHzから5GHzの範囲のスペクトルで形成される
図1の例では、サイド・チャンネル134を、その周波数範囲に基づくものとすることができる。
【0029】
[0038] 幾つかの実施形態では、サイド・チャンネル134を形成するための可能な範囲のトランスポートがある場合、計算デバイス120および/またはテレビジョン130は、サイド・チャンネル134を形成するために使用される複数のトランスポートをサポートする。そのようなシナリオの場合、計算デバイス120およびテレビジョン130は、例えばサイド・チャンネル134を形成するための周波数やプロトコルなどに関してのような、特定のトランスポートに関してのネゴシエーションを行うために互いに通信する。ペアリング・セレモニー(pairing ceremony)を必要とするピア・ツー・ピア・プロトコルを用いてオーディオ−ビデオ・チャンネル132が形成される実施形態では、サイド・チャンネル134を定めるパラメーターは、そのペアリング・セレモニーの一部としてネゴシエーションされる。
【0030】
[0039] なお、オーディオ−ビデオ・チャンネル132およびサイド・チャンネル134を形成する特定の機構にかかわらず、それらが形成された後には、ユーザー122は、テレビジョン130のコンテンツと提示パラメーターとの双方を、計算デバイス120のユーザ・インターフェースを通じて制御できる。従って、計算デバイス120からストリーミングされる特定のオーディオ−ビデオ・コンテンツが、計算デバイス120を相互作用するユーザー122により選択される。選択された特定のオーディオ−ビデオ・コンテンツおよびそのコンテンツのソースは、本発明の重要事項ではない。なお、
図1では、計算デバイス120が、アクセス・ポイント140を通じて、より大きいネットワーク、例えばインターネット150へも接続され得ることを示している。この例では、計算デバイス120とインターネット150との間の接続はワイヤレス接続142である。ワイヤレス接続142は、計算デバイス120の、オーディオ−ビデオ・チャンネル132および/またはサイド・チャンネル134を形成するための無線装置と同じまたは異なる無線装置で形成される。例えば、接続142を、Wi−Fiインフラストラクチャ・モード・プロトコルに従うものとし、オーディオ−ビデオ・チャンネル132を、Wi−Fi Direct Accessプロトコルを用いて形成することができる。
【0031】
[0040] どのようにして接続142が形成されるかにかかわらず、ユーザー122は、インターネット150を介して使用可能なオーディオ−ビデオ・コンテンツへアクセスするために接続142を使用することができる。しかし、代替的または追加的に、オーディオ−ビデオ・コンテンツを得るために他の任意の適切な技術を使用することも可能であり、また、接続142は、テレビジョン130のようなデバイスで提示するために計算デバイス120により得られてオーディオ−ビデオ・チャンネル132を通じてストリーミングされるオーディオ−ビデオ・コンテンツを得る単なる例として示したものであることを、理解すべきである。
【0032】
[0041] 計算デバイス120は、オーディオ−ビデオ・コンテンツを得る機能、そのコンテンツをデバイスで提示する際の制御のためのユーザー入力を受信する機能、提示デバイスとのインターフェースを行ってオーディオ−ビデオ・コンテンツが適切なフォーマットで提示されるようにする機能などの機能をサポートするための、任意の適切なアーキテクチャを有する。
図2は、そのようなアーキテクチャの一例を示す。
【0033】
[0042]
図2は、オーディオ−ビデオ・コンテンツを送信するチャンネルと、コマンドを送信するチャンネルとの少なくとも2つのチャンネルで情報を送信するように動作する計算デバイス210のためのアーキテクチャを、高位レベルで示す。
図2の例では、計算デバイス210は、無線装置250および無線装置254の2つの無線装置を含む。それぞれの無線装置は、ワイヤレス通信で送信および受信を行うように構成される。例えば、無線装置250は、第1のチャンネルを通じてワイヤレス通信を行うために用いられ、オーディオ−ビデオ・コンテンツを送信するように構成される。例えば、無線装置254は、第2のチャンネルを通じてワイヤレス通信を行うために用いられ、コマンドを送信するように構成される。なお、幾つかの実施形態では、複数のチャンネルでの同時の通信をサポートするために1つの無線装置を用いることもできることを、理解すべきである。
【0034】
図2の例では、アプリケーション220が示されている。アプリケーション220は、ワイヤレス送信のための情報を生成し、また、ワイヤレスで受信した情報を処理する。ここに示した実施形態では、その情報はオーディオ−ビデオ・ストリームであり、オーディオ・コンテンツおよび/またはビデオ・コンテンツを表す情報を含み、更には制御情報などのような他の情報も含み得る。特定の例では、アプリケーション220はメディア制御アプリケーションであり、計算デバイス210を構成設定してユーザ・インターフェースを提供するようにする。そのユーザ・インターフェースを介して、ユーザーは、テレビジョンやステレオなどのような表示デバイスへストリーミングで送られるオーディオ−ビデオ・コンテンツを選択することができる。メディア制御アプリケーションは知られたものである。例えば、多くのコンピューターは、WINDOWS(登録商標)MEDIA CENTER(登録商標)アプリケーションにより構成設定される。そのようなアプリケーションを作成するために用いられる技術と同様の技術が、アプリケーション220を作成するために用いられる。なお、計算デバイス210と直接に関連するディスプレイにコンテンツを提示することに加えて、アプリケーション220は、そのような情報を、チャンネル132および134のようなチャンネルを介して送信して、リモート・デバイスで提示するようにプログラムされる。
【0035】
[0043] なお、リモート提示デバイスのアーキテクチャは示していないが、オーディオ−ビデオ・ストリームを受信および提示するデバイスは同様のアーキテクチャを有する。そのような実施形態では、アプリケーション220はユーザー入力を直接的には受信しない。しかし、コンピューターで実行可能なコンポーネントは、オーディオ−ビデオ・ストリームを受信してディスプレイに表示させ、また、チャンネル132および134を介して受信したユーザ・コマンドに応答するものである。
【0036】
[0044]
図2の例では、アプリケーション220は、オペレーティング・システム230とのインターフェースを行う。幾つかの実施形態では、オペレーティング・システム230は、WINDOWS(登録商標)オペレーティング・システムなどのような汎用オペレーティング・システムである。そのような構成は、計算デバイス210がアプリケーション220以外のアプリケーションを実行する場合には、望ましい。なお、計算デバイス210が、オーディオ−ビデオ・情報を提示するために特定的に構成設定される実施形態では、オペレーティング・システム230の機能を制限されたものとすることもできる。
【0037】
[0045] オペレーティング・システム230が特定用途向けのものか汎用のものかにかかわらず、ここで示す実施形態では、オペレーティング・システム230の機能は、アプリケーション220により処理された情報をワイヤレスで送信および受信することを容易にするサービスを提供するためのものである。送信に関して、オペレーティング・システム230は、近くのデバイスとの接続を確立するためにアプリケーション220から要求を受信する。その後、オペレーティング・システム230は、アプリケーション220から、接続を介して送信されるオーディオ−ビデオ・コンテンツを表す情報のストリームを受信する。この例では、送信は無線装置250により行われ、それによりチャンネル132のようなデータ・チャンネルが実現される。
【0038】
[0046] 計算デバイス210が別のデバイスからオーディオ−ビデオ・情報を受信して提示する実施形態では、オペレーティング・システム230は、別のデバイスからワイヤレスで受信した要求に応答して接続を確立する。次に、オペレーティング・システム230は、その接続を介して受信したデーターを、処理のためにアプリケーション220へ供給する。この処理は、データーを可聴および/または視覚的なフォーマットで提示することを含む。
【0039】
[0047] そのような接続は、当該技術では知られた技術を用いて形成される。ここで示した例では、その接続は、直接のデバイス対デバイス接続である。特定の例では、その接続は、Wi−Fi Directで指定された周波数およびプロトコルを用いて形成される。次に、オペレーティング・システム230は、アプリケーション220が接続へアクセスできるようにするネットワーク・アダプターまたは他の適切なインターフェースを提示することにより、アプリケーション220がその接続を使用できるようにする。なお、ここでは、任意の適切な技術を用いることができる。
【0040】
[0048] また、アプリケーション220は、外部デバイスを制御するためのコマンドを表すユーザー入力を受信する。例えば、それらのコマンドは、オーディオ情報を提示する際の音量を変更するコマンドや、明度などのようなディスプレイの視覚特性を変更するコマンドである。なお、それらの特定のコマンドは例示であり限定のためのものではなく、任意の適切なコマンドがサポートされることを理解すべきである。
【0041】
[0049] オペレーティング・システム230は、それらのコマンドをアプリケーション220から受信し、送信のためにルーティングする。この例では、コマンドは、無線装置254を通じての送信のためにルーティングされる。そのような送信は、サイド・チャンネル134のようなサイド・チャンネルを実現するためにオペレーティング・システム230により形成された接続を介して、行われる。また、サイド・チャンネルへのアクセスは、オペレーティング・システム230により作成されたネットワーク・アダプターを通じて行われる。ネットワーク・アダプターを使用して、オペレーティング・システム230は、アプリケーション220がオーディオ−ビデオ・コンテンツおよびコマンドの送信を要求するための機構提供することができ、この機構は、チャンネルを作成するために使用される特定のトランスポートに依存しない。このようにして、アプリケーション220は、特定のトランスポートが動的に選択されることとは関係なく機能する。
【0042】
[0050] 様々なトランスポートを通じての送信のための通信の処理をサポートするために、オペレーティング・システム230にはトランスポート・コントロール・レイヤ260が含まれる。トランスポート・コントロール・レイヤ260は、データーの送信のためにアプリケーション220からの複数の要求を処理し、そのデーターを送信に適するようにルーティングする。例えば、オーディオ−ビデオ・ストリームを表すデーターは、無線装置250を通じての送信のためにフォーマットされる。コマンドを表すデーターは、無線装置254を通じての送信のためにフォーマットされる。
【0043】
[0051] 更なるトランスポート向け処理が、トランスポート・コントロール・レイヤ260内で行われる。幾つかの実施形態では、例えば、コマンドは低パワーのサイド・チャンネルを介して送信される。そのような情報は、比較的低いビット・レートおよび/または比較的多量の誤り制御符号化を用いて送信される。トランスポート・コントロール・レイヤ260は、適切に、送信のためのコマンドの処理、および/または無線装置254の制御を行い、そのデーターを望ましいパワー・レベルや誤り制御符号化を用いて送信する。この動作は、別のトランスポートが使用されている場合には同様に起きるとは限らない。
【0044】
[0052] トランスポート・コントロール・レイヤ260内で行われる特定の処理は、オーディオ−ビデオ・データを搬送するための第1のチャンネルを実施するために使用される特定のトランスポートと、コマンドを搬送するために使用される特定のトランスポートとに依存する。例えば、UNIIまたはISMドメインで確立されるワイヤレス・リンクは、オーディオ−ビデオ・データ用のトランスポートとして使用され、その送信は、コンピューターがデバイスと通信を行うための既知のプロトコルに従うものである。そのような実施形態では、トランスポート・コントロール・レイヤ260において、オーディオ−ビデオ・データに対しての従来の処理が用いられる。
【0045】
[0053] コマンドの処理には様々な処理を使用することができる。コマンドは、IRやBLUETOOTH(登録商標)などのようなトランスポートを用いて送信することができる。そのような実施形態では、従来の処理を用いて送信のためにコマンド・データをフォーマットすることができるが、その処理は、オーディオ−ビデオ・コンテンツ・データに対して行われる処理と異なるものであってもよい。
【0046】
[0054] 代替例として、Digital TVなどのような認可されたドメインで確立されるワイヤレス・リンクは、コマンド・データのためのトランスポートとして使用することができる。そのようなトランスポートが使用される場合、トランスポート・コントロール・レイヤ260内の処理は、無線装置254の適切な利得や、変調や、誤り制御符号化や、他のパラメーターの設定を含む。なお、望まれる処理を行うように無線装置のパラメーターを設定する代わりに、トランスポート・コントロール・レイヤ260が処理の幾つかまたは全てを直接に行うようにできることも理解すべきである。例えば、誤り制御符号化、そして可能性としては他の機能は、計算デバイス210のプロセッサ・コアで実行されるソフトウェア・コンポーネントにより行われる。従って、
図2では特定のアーキテクチャを提案しているが、そのアーキテクチャが例示であり限定のためのものではないことを理解すべきである。
【0047】
[0055] また、トランスポート・コントロール・レイヤ260は、受信した情報に応答する。その受信した情報は、別のデバイスが要求した接続を要求するものである。また、受信した情報は、提示用のデーターや他のタイプの情報を表す。
【0048】
[0056] データーを送信および受信するために、トランスポート・コントロール・レイヤ260は、1以上の無線装置と対話する。無線装置に関しては、無線装置250および254が示されている。無線装置250は、
図2でドライバー240として表されているソフトウェアを通じて制御される。この例では、ドライバー240はインターフェース242を含み、インターフェース242を介して、オペレーティング・システム230は、ドライバー240へコマンドを発行し、ドライバー240は、オペレーティング・システム230へ、ステータスを報告し、受信したデーターを通知する。インターフェース242は、任意の適切な様式で実施することができ、その様式には、既知の標準に従う様式も含まれる。既知の標準の一例としてはNDISと呼ばれるものがあるが、その標準は、本発明の重要事項ではない。
【0049】
[0057] インターフェース242は、無線装置250の構成に依存しないフォーマットの多数のコマンドをサポートする。それらのコマンドは、或る周波数での送信のために無線装置250を構成設定するためのコマンドや、記号を送信するための或る変調スキームや誤り制御符号化を使用するためのコマンドを含む。更に、インターフェース242を通じて、ドライバー240は、無線装置250により送信するためのデーターを受信する。従って、インターフェース242は、オーディオ−ビデオ・データのストリームを表すデーターを送信するためにトランスポート・コントロール・レイヤ260が無線装置250を制御するための機構を提供する。また、無線装置250は、インターフェース242を用いてデーターおよびステータス・メッセージをオペレーティング・システム230へ提供する。
【0050】
[0058] 特定のコマンドとは関係なく、ドライバー240は、インターフェース242の標準化フォーマットのコマンドを、無線装置250へ印加される特定の制御信号へと変換する。更に、ドライバー240は、ワイヤレス接続と関連する或る低レベル機能を行うようにプログラムされる。例えば、パケットを受信すると、ドライバー240は、そのパケットが適切にフォーマットされているかを検査する。パケットが適切にフォーマットされている場合、ドライバー240は無線装置250を制御してアクノレッジメントを生成する。逆に、パケットが適切にフォーマットされていない場合、ドライバー240は無線装置250を制御して、ネガティブ・アクノレッジメントを送信する。
【0051】
[0059]
図2に示す実施形態では、計算デバイス210は第2の無線装置254を含む。例えば、無線装置250は、オーディオ−ビデオ・コンテンツを表すデーターのストリームの送信および/または受信に使用され、無線装置254は、リモート・オーディオ−ビデオ・デバイスを制御するためのコマンドを表すデーターの送信および/または受信に使用される。
【0052】
[0060] 無線装置254は計算デバイス210に含まれ、一般に無線装置250と同じアーキテクチャである。無線装置254はドライバー244と関連し、ドライバー244は、オペレーティング・システム230が無線装置254を制御するための機構を提供する。ドライバー244はインターフェース246を有し、このインターフェース246を通じて、オペレーティング・システム230は、コマンドをドライバー244へ送信し、ドライバー244は、データーおよびステータス・メッセージをオペレーティング・システム230へ提供する。インターフェース242と同様に、インターフェース246は標準化されたインターフェースであり、オペレーティング・システム230は、ドライバー240に対して使用されるコマンドと同様のコマンドの組を使用してドライバー244と通信する。
【0053】
[0061] 2つの無線装置を示したが、任意の適切な数の無線装置を計算デバイス210に含めることができることを理解すべきである。例えば、オーディオ−ビデオ・チャンネル132、サイド・チャンネル134、および接続142(
図1)を形成するために個別の無線装置を使用することができる。なお、それらのチャンネルが類似の周波数を用いて形成される実施形態では、ここで示した接続の全てを1つの無線装置を用いて形成することも可能である。従って、計算デバイス210の特定のハードウェア構成は、本発明の重要事項ではない。
【0054】
[0062] 計算デバイス210の特定の構成に関係なく、計算デバイス210は、ユーザーが近くの提示デバイスで提示するためのオーディオ−ビデオ・コンテンツを選択するため、およびその提示のパラメーターを制御するためのユーザ・インターフェースを提示するためのソフトウェアにより、構成設定される。
【0055】
[0063]
図3は、そのようなソフトウェアにより提示されるユーザ・インターフェースを示す。ユーザ・インターフェース300は、計算デバイス210内の適切なコンポーネントにより、計算デバイス210のスクリーンに提示される。なお、ここで示した実施形態では、アプリケーション220(
図2)はメディア制御アプリケーションであり、これによりユーザ・インターフェース300が提示される。この例では、メディア制御アプリケーションは、任意の適切なフォーマットのオーディオ−ビデオ・コンテンツの提示を制御する。例えば、オーディオ−ビデオ・コンテンツは、オーディオのみ、ビデオのみ、または可聴成分および視覚的成分の両方を含むマルチメディアであり得る。この例では、ユーザ・インターフェース300は、オーディオ成分およびビデオ成分の両方を有するオーディオ−ビデオ・コンテンツの提示を制御するように構成設定される。
【0056】
[0064] ユーザーは、当該技術で知られているインターフェース技術を用いるグラフィカル・ユーザ・インターフェース300を通じてアプリケーション220と対話する。例えば、ユーザ・インターフェース300は、ユーザーがマウスや他のヒューマン・インターフェース・デバイスを用いて作動せることができる制御部を有する。ユーザーにより制御部が作動させられると、アプリケーション220は、その制御部と関連する機能を実行することを促される。例えば、ユーザ・インターフェース300は、メディア選択制御部310を含む。そのような制御部は、メディア制御アプリケーションの技術で知られた機能を実行するためのものである。メディア選択制御部310の1以上の制御部を作動させることにより、ユーザーは、計算デバイス210にあるメディア・ファイルや計算デバイス210がアクセス可能なメディア・ファイルの中を動きまわって、提示するオーディオ−ビデオ・コンテンツを表すファイルを特定する。
【0057】
[0065]
図3に示す動作状態では、ユーザーは、映画を選択するためにメディア選択制御部を作動させている。選択されたコンテンツは、コンテンツ表示エリア320で提示される。従って、
図3で示す動作状態では、選択されたオーディオ−ビデオ・コンテンツを表す映画が、メディア表示エリア320に提示されている。
【0058】
[0066] また、メディア制御アプリケーションは、メディア・プレイバック制御部330を提供する。例えば、それらの制御部はプレイ制御部336を含む。プレイ制御部336を作動させると、選択されたオーディオ−ビデオ・コンテンツがコンテンツ表示エリア320でプレイされる。プレイ制御部336は複数の状態の間で切り替えすることができ、選択されたオーディオ−ビデオ・コンテンツがコンテンツ表示エリア320で再生されているときにユーザーがプレイ制御部336を作動させると、オーディオ−ビデオ・コンテンツの再生がフリーズされる。
【0059】
[0067] メディア・プレイバック制御部の別の例として、アプリケーション220は、音をミュートする制御部332を提示し、これはオーディオ−ビデオ・コンテンツのオーディオ部分を抑制する。代替的または追加的に、メディア・プレイバック制御部330はスライダ334を含むことができる。スライダ334は、当該技術で知られた制御部であり、ユーザーが値の範囲から1つの値を指定することを可能にする。指定された値は、コンテンツ表示エリア320で提示されているオーディオ−ビデオ・コンテンツのオーディオ部分の音量と相関する。
【0060】
[0068] ユーザ・インターフェース300の機能は、従来のメディア制御アプリケーションの場合と同様に実施することができる。例えば、メディア選択制御部310、コンテンツ表示エリア320、およびメディア・プレイバック制御部330は、当該技術分野で知られた技術を用いて実施することができる。
【0061】
[0069] なお、メディア制御アプリケーションは、計算デバイス210がリモート提示デバイスでのオーディオ−ビデオ・コンテンツの提示を制御するために使用されているときに、これらのコンポーネントの幾つかまたは全ての挙動が変わるように、適合させられている。例えば、リモート・コントロール・モードで動作するときの、プレイ制御部336の選択は、チャンネル132(
図1)のようなオーディオ−ビデオ・チャンネルを介してのオーディオ−ビデオ・コンテンツを表すデーターのストリーミングをトリガする。同様に、リモート・コントロール・モードで動作するときの、計算デバイス210での音レベルの制御に代えてのまたは制御に加えてのミュート制御部332の選択は、サイド・チャンネル134(
図1)などのようなサイド・チャンネルを介してのコマンドの送信をトリガし、音をミュートすることを提示デバイスに指令する。同様に、リモート・コントロール・モードにおいて、スライダ334を作動させると、音量変更のコマンドがサイド・チャンネルを介して送信される。
【0062】
[0070] 代替的または追加的に、メディア制御アプリケーションは、提示デバイスのリモート・コントロールと特定的に関連する機能を制御するコマンドを提示するように、変更することもできる。
図3の例は、デバイス制御部342、提示制御部344、およびピクチャ・イン・ピクチャ制御部346を示す。これらの制御部は制御部の例であり、特定的に、計算デバイス210がリモート・コントロールとして動作することを可能とするようにサポートされている。他の制御部を代替的または追加的に提供することも可能である。
【0063】
[0071] 幾つかの実施形態では、リモート・コントロール・モードにおいてユーザ・インターフェース300を通じて使用可能とされる特定の制御部は、リモート提示デバイスの能力に依存して決まる。そのような能力は、例えば、任意の適切な方法で計算デバイスへ通信される。例えば、リモート・コントロール・デバイスの能力を定める情報は、オーディオ−ビデオ・チャンネル132のための接続が作成されたときに得られる。代替例では、情報は、サイド・チャンネル134を介して通信される。従って、メディア制御アプリケーションは、リモート提示デバイスについての情報に基づいて、提示のための制御部を選択することができ、このリモート提示デバイスと情報とが比較される。
【0064】
[0072]
図3の例では、デバイス制御部342は、メディア制御アプリケーションがリモート・コントロール・モードで動作する前に、ユーザーにより作動させることができる。デバイス制御部342が作動すると、メディア制御アプリケーションは、更なるユーザ・インターフェースを提示し、そのユーザ・インターフェースを通じて、ユーザーは、近くのデバイスを提示デバイスとして働くように選択することができる。特定の例として、デバイス制御部342が作動すると、
図4に示すようなユーザ・インターフェースがユーザーへ提示される。
【0065】
[0073]
図4はグラフィカル・ユーザ・インターフェース400を示し、このグラフィカル・ユーザ・インターフェース400を通じて、ユーザーは、リモート・デバイスがオーディオ−ビデオ・コンテンツの提示デバイスとして働くように選択することができる。グラフィカル・ユーザ・インターフェース400は任意の適切な方法で提示することができる。例えば、アプリケーション220は、グラフィカル・ユーザ・インターフェース400を提示するようにプログラムされる。なお、別の実施形態では、グラフィカル・ユーザ・インターフェース400は、オペレーティング・システム230のコンポーネントにより提示される。例えば、別の構成において、オペレーティング・システム230がデバイス・マネージャを含み、そのデバイス・マネージャが、ワイヤレス接続が形成される近くのデバイスに関するオプションを発見し、それらのオプションのリストをユーザーに提示することは知られている。幾つかの実施形態では、グラフィカル・ユーザ・インターフェース400は、そのようなデバイス・マネージャやオペレーティング・システム230の他の適切なコンポーネントにより提示することができる。
【0066】
[0074] アプリケーション220は、任意の適切な様式で提示デバイスとして動作可能な近くのデバイスに関する情報を得る。例えば、Wi−Fi Directのようなピア・ツー・ピア・プロトコルを用いるオーディオ−ビデオ・チャンネル132が実施される
図1に示す実施形態において、メディア制御アプリケーション220は、オペレーティング・システム230を制御して、そのプロトコルのデバイス発見(device discovery)またはサービス発見(service discovery)の構成に従ってメッセージを送信する。ピア・ツー・ピア・プロトコルのデバイス発見構成に従って、近くのデバイスは、それらのデバイスのオーディオ−ビデオ・コンテンツを提示するための能力を示すように、デバイス発見メッセージに応答する。
【0067】
[0075] グラフィカル・ユーザ・インターフェース400は、複数の提示デバイスが発見されているところの動作状態を示す。それらの提示デバイスは、それらのオーディオ−ビデオ・コンテンツを提示するための能力を示すような様式で、グラフィカル・ユーザ・インターフェース400を通じて提示される。この例では、表示エリア420は、オーディオ・コンテンツのみを提示できるデバイスを示す。表示エリア430は、ビデオ・コンテンツのみを提示できるデバイスを示す。表示エリア440は、マルチメディア・コンテンツを提示できるデバイスを示す。
図4の特定の例において、表示エリア420はアイコン422を含み、オーディオ情報を提示できるステレオが検出されたことを示す。表示エリア430はアイコン424を含み、ビデオ・コンテンツを提示できるプロジェクターが検出されたことを示す。表示エリア440は2つのアイコンを含み、アイコン442は、テレビジョンが検出されたことを示し、アイコン444は、タブレットPCが検出されたことを示す。なお、タブレットPCは、通常はオーディオ−ビデオ・提示デバイスとは見なされないが、幾つかの実施形態では、タブレットPCは視覚的表示装置およびオーディオ提示用スピーカーを含むので、マルチメディア・コンテンツを提示するためにタブレットPCを制御することもできる。
【0068】
[0076] グラフィカル・ユーザ・インターフェース400を通じて提示される特定のデバイスは、計算デバイス210の近くにあるデバイスによって決まることを認識すべきである。ユーザ・インターフェース400を介して発見されユーザーに提示される特定のデバイスと関係なく、ユーザーは、検出されたデバイスの1つを選択するためにマウスや他のヒューマン・インターフェース・デバイスを操作することができる。デバイスを選択すると、メディア制御アプリケーション220または計算デバイス210の他の適切なコンポーネントは、選択されたデバイスと対話してオーディオ−ビデオ・チャンネルおよびサイド・チャンネルを形成し、それらのチャンネルを介してオーディオ−ビデオ・コンテンツおよびコマンドがそれぞれ通信される。
【0069】
[0077] 再度
図3を参照する。デバイスとのオーディオ−ビデオ・チャンネルおよびサイド・チャンネルが形成されると、ユーザーは、ユーザ・インターフェース300を通じて更なる入力を提供して、選択されたメディア・コンテンツが選択された提示デバイスへストリームで送られることを示す。提示制御部344は、この目的のために提供される。提示制御部344が選択されると、それに応答してメディア制御アプリケーション220は、コンテンツ提示エリア320に現れるオーディオ−ビデオ・コンテンツを表すデーターをオーディオ−ビデオ・チャンネルを介して送信することを、オペレーティング・システム230に要求する。提示制御部344が選択されると、オーディオ−ビデオ・コンテンツは、コンテンツ提示エリア320に提示される代わりにまたは提示に加えて、オーディオ−ビデオ・チャンネルを介してストリームで送られる。
【0070】
[0078] 幾つかの実施形態では、提示制御部344はトグル型の制御部である。そのような制御部は、様々な動作状態で様々な影響を与える。例えば、オーディオ−ビデオ・コンテンツがオーディオ−ビデオ・チャンネルを介してストリーミングされていないときに、提示制御部344が選択されると、そのオーディオ−ビデオ・コンテンツのストリーミングが開始される。また、オーディオ−ビデオ・コンテンツがオーディオ−ビデオ・チャンネルを介してリモート・ディスプレイ・デバイスへストリーミングされている動作状態のときに、提示制御部344が選択されると、そのオーディオ−ビデオ・コンテンツのストリーミングが停止される。
【0071】
[0079] ユーザ・インターフェース300に現れる制御部の更なる例として、
図3は、ピクチャ・イン・ピクチャ制御部346を示している。ピクチャ・イン・ピクチャ制御部346が選択されると、メディア制御アプリケーション220は、サイド・チャンネルを介しての送信のためのコマンドを生成する。このコマンドは、選択された提示デバイスにより、ピクチャ・イン・ピクチャ表示を形成するためのコマンドとして認識される様式で、フォーマットされる。ピクチャ・イン・ピクチャ表示フォーマットを用いると、オーディオ−ビデオ・チャンネルを介してストリーミングされたオーディオ−ビデオ・コンテンツは、提示デバイスのディスプレイの一部にのみ現れる。ディスプレイの他の部分は、提示デバイスにより供給されるコンテンツで満たされる。
図1の例では、ピクチャ・イン・ピクチャ制御部346が選択されると、テレビジョン130は、計算デバイス210以外のソースからテレビジョン130が受信したテレビジョン番組の提示を継続する。その提示に対してウィンドウがオーバーレイされ(かぶせられ)、計算デバイス210からストリーミングされるビデオ・コンテンツが提示される。
【0072】
[0080] なお、
図3に示した制御部は、リモート提示デバイスの制御のために計算デバイスにより提示できる幾つかのタイプの制御部の単なる例であることを理解すべきである。ここで知ることになった制御部や、テレビジョンや他の提示デバイスを制御するために後に発見される制御部などのような他の制御部も、メディア制御アプリケーションにより提示することができる。
【0073】
[0081]
図5を参照すると、ワイヤレス計算デバイスがオーディオ−ビデオ・提示デバイスを制御するシステムの代替の実施形態が示されている。この例では、ユーザー522により操作されるワイヤレス計算デバイス520は、ここではテレビジョン530として示す提示デバイスとのオーディオ−ビデオ・チャンネル532を確立する。
図1の例のように、オーディオ−ビデオ・チャンネル532は、Wi−Fi Directプロトコルに従って指定された周波数およびプロトコルを用いて形成される。なお、そのチャンネルの形成のために用いる信号で使用する特定の周波数、およびそのチャンネルで使用するプロトコルは、本発明の重要事項ではない。計算デバイス520で実行するメディア制御アプリケーションは、オーディオ−ビデオ・チャンネル532を介して送信するためのオーディオ−ビデオ・コンテンツを表すデータ・ストリームを生成する。更に、そのようなメディア制御アプリケーションは、計算デバイス520のオペレーティング・システムを制御して、テレビジョン530に対するコマンドを送信するためのサイド・チャンネルを形成する。
【0074】
[0082]
図5の例において、サイド・チャンネルは、リンク534Aおよび534Bを用いて形成される。ここでは、リンク534Aは、計算デバイス520とアクセス・ポイント540との間に形成される。アクセス・ポイント540は、当該技術で知られたアクセス・ポイントである。例えば、アクセス・ポイント540は、インフラストラクチャ・モード・コンポーネントのための既知のWi−Fiプロトコルに従って動作するように構成される。動作において、アクセス・ポイント540は、インターネット550などのような外部ネットワークへの接続を提供する。更に、アクセス・ポイント540は、ローカル・ネットワークを形成する。この場合、ワイヤレス通信のための装備を備える他のデバイスもまた、アクセス・ポイント540を通じてそのローカル・ネットワークへ接続する。
図5に示す実施形態では、テレビジョン530は、計算デバイス520と同様の様式でアクセス・ポイント540と接続できる無線装置を備える。従って、テレビジョン530は、リンク534Bを介してアクセス・ポイント540と通信することができる。リンク534Aおよび534Bは、ローカル・ネットワークにおいて計算デバイス520およびテレビジョン530を接続し、デバイスが情報を交換することを可能にする。従って、サイド・チャンネルは、リンク534Aおよび534Bを介して確立される。計算デバイス520は、このサイド・チャンネルを用いてコマンドをテレビジョン530へ送信する。それらのコマンドは、例えば、メディア制御アプリケーションとユーザーとの対話に基づいて生成される。ユーザーは、ユーザ・インターフェース300(
図3)や他の適切なインターフェースなどのようなインターフェースを通じて、そのようなコマンドを入力する。
【0075】
[0083]
図5に示す実施形態では、アクセス・ポイント540は、テレビジョン530の配された部屋510の外側に位置するが、この場合、サイド・チャンネルを形成するトランスポートは、そのような距離を介して通信することができる。例えば、Wi−Fiプロトコルは、比較的短い距離での通信のために設計されているが、数十メートルの距離での通信をサポートすることができる。なお、
図5の実施形態は、サイド・チャンネルを形成するための適切なトランスポートの単なる1つの例であること、および任意の適切なトランスポートを使用できることを理解すべきである。
【0076】
[0084] 幾つかの実施形態では、計算デバイス520は、複数のトランスポートを介しての通信をサポートするように構成される。なお、それらのトランスポートの何れのものも、オーディオ−ビデオ・コンテンツの提示を制御するためのコマンドの送信のためのサイド・チャンネルを形成するために、使用することができる。同様に、テレビジョン530などのようなオーディオ−ビデオ・提示デバイスは、代替的または追加的に、複数のトランスポートを介しての通信をサポートするように構成される。また、それらのトランスポートの何れのものも、サイド・チャンネルを形成するために適切なものである。従って、幾つかの実施形態では、計算デバイスおよびオーディオ−ビデオ・提示デバイスは、互いにワイヤレス通信を行い、オーディオ−ビデオ・チャンネルおよび関連のサイド・チャンネルを介しての通信を確立する。その対話の一部は、サイド・チャンネルの形成で使用するための、計算デバイスおよびオーディオ−ビデオ・提示デバイスにより共通にサポートされるトランスポートを選択することを含む。
【0077】
[0085]
図6は、オーディオ−ビデオ・コンテンツおよび関連する提示コマンドをテレビジョンなどのような提示デバイスへ供給するためのオーディオ−ビデオ・チャンネルおよびサイド・チャンネルを確立するために働く計算デバイスの動作の方法を示す。
図6の方法は、任意の適切なトリガに応答して開始する。1つの例として、方法はユーザー入力によりトリガされる。例えば、グラフィカル・ユーザ・インターフェース300を提示するメディア制御アプリケーション220を実行する計算デバイス210のような計算デバイスに関しては、トリガは、デバイス制御部342(
図3)などのような制御部を選択するユーザー入力である。
【0078】
[0086] トリガにかかわらず、計算デバイスは、提示デバイスとして動作するデバイスへ、応答することを要求するメッセージを送信する。そのような要求の特定のフォーマットは、計算デバイスがオーディオ−ビデオ・チャンネルとして働く接続を形成することを選択する際のプロトコルに対応する。計算デバイスが、オーディオ−ビデオ・チャンネルを確立するためにWi−Fi Directプロトコルを用いるように構成される場合、ブロック610で送信される要求メッセージは、デバイス発見またはサービス発見のためにフォーマットされたプローブ要求(probe request)メッセージとしてフォーマットされる。サービス発見メッセージが使用される場合、そのメッセージは、オーディオ−ビデオ・コンテンツのための提示デバイスとして動作できるリモート・デバイスを計算デバイスが捜していることを、示す。オーディオ−ビデオ・コンテンツがオーディオのみであるシナリオでは、サービス発見要求は、オーディオ情報の提示に適切な所望されるサービスを示す。提示されるオーディオ−ビデオ・コンテンツがビデオのみである場合、サービス発見要求は、ビデオ・コンテンツの提示に適切なサービスを提供するデバイスを要求する。オーディオ−ビデオ・コンテンツがマルチメディア・コンテンツである場合、サービス発見要求は、マルチメディア・コンテンツの提示に適切なサービスを要求する。なお、例示のインターフェース400(
図4)により示されるように、計算デバイスがオーディオ−ビデオ・提示デバイスのタイプを自動的に特定する構成は、必要条件ではない。例えば、複数のオーディオ−ビデオ・提示デバイスが、ブロック610で送信された要求に応答する場合、ユーザーに対して、使用可能なデバイスのメニューを提示して、ユーザーが所望するデバイスを選択することを可能にすることもできる。
【0079】
[0087] ブロック610で送信された要求の種類にかかわらず、処理はブロック612へ進む。ブロック612において、ユーザーは、オーディオ−ビデオ・チャンネルおよびサイド・チャンネルを形成する相手となるデバイスの選択を示す。計算デバイスが1つのオーディオ−ビデオ・提示デバイスを自動的に特定するシナリオであっても、ユーザーには、ブロック612で、ユーザーが接続することを望むか否かを示す選択を行う機会が与えられる。なお、リモート・デバイスを選択する特定の機構が本発明の重要事項ではないことを理解すべきである。
【0080】
[0088] リモート・デバイスが選択される様式にかかわらず、処理は判断ブロック620へ進む。判断ブロック620において、処理は、選択されたデバイスが既知のデバイスであるか否かに応じて分岐する。
図6の処理を行う計算デバイスが、1つのリモート・デバイスとの接続を以前に形成しており、その接続を確立したときに使用された情報が記憶されている場合、そのデバイスは計算デバイスに知られたデバイスである。以前に情報が記憶されていない場合、処理は判断ブロック620からサブプロセス622へと分岐する。
【0081】
[0089] サブプロセス622において、計算デバイスは、ワイヤレス通信でリモート・デバイスと互いに通信し、オーディオ−ビデオ・チャンネルおよび関連するサイド・チャンネルを介しての通信のためにリモート・デバイスをセットアップする。サブプロセス622における特定の工程は、計算デバイスがリモート・デバイスとの接続を確立するために使用するプロトコルにより決まる。この例では、サブプロセス622の工程は、オーディオ−ビデオ・チャンネルを確立するために用いられるプロトコルに基づく。特定の例では、オーディオ−ビデオ・チャンネルは、Wi−Fi Directプロトコルを用いて確立される。そのシナリオでは、サブプロセス622の工程は、Wi−Fi Directプロトコルに従って定められるペアリング・セレモニーを実施する。なお、計算デバイスとリモート提示デバイスとの接続の形成を可能にする情報の交換を行うために任意の適切な工程を使用できることを、理解すべきである。
【0082】
[0090] そのような接続は、例えば、計算デバイスとリモート・デバイスとの間でのパスワードやチャレンジ・コードや他の適切なセキュリティ情報の交換を含む。これらのデバイスは、そのようなセキュリティ情報を任意の適切な方法で得ることができる。例えば、パスワードは、計算デバイスでのユーザー入力により得ることができる。ユーザーは、そのようなパスワードをリモート・デバイスの製造者から得ることができる。例えば、ワイヤレスで接続を形成するための装備を備えるデバイスは、パスワードを提供する命令がパッケージされていたり、また、デバイスがユーザーに見せるためのパスワードを表示するオペレーティング・モードに入るように構成されていたりする。代替例としては、ユーザーにより双方のデバイスで同じパスワードを制定して入力することもできる。ペアリング・セレモニーの一部としてパスワードを要求することは、意図された提示デバイスと計算デバイスが対をなすことを確実なものとする。
【0083】
[0091] パスワードの交換に加えて、計算デバイスおよびリモート提示デバイスは、デバイス間でオーディオ−ビデオ・チャンネルおよびサイド・チャンネルを保持するための1以上のワイヤレス・リンクの確立の際に有用な他の情報を交換する。なお、この情報を運ぶために任意の適切な機構を使用できるが、幾つかの実施形態では、追加の情報は、メッセージと関連する情報エレメントで運ばれ、さもなければ、その追加の情報は、オーディオ−ビデオ・チャンネルのためのトランスポートの構成で使用されるプロトコルの一部として規定される。情報エレメントは、標準化されたプロトコルの一部として特定的に提供されない情報が、その標準化されたプロトコルに従ってフォーマットされたメッセージへ挿入されることを可能にする。このようにして、標準化されたプロトコルを使用しながらも、多くのタイプの情報が、計算デバイスとリモート提示デバイスとの間で通信される。
【0084】
[0092] 交換する追加の情報のタイプの例として、それぞれのデバイスは、そのデバイスによりサポートされ且つサイド・チャンネルの確立に使用できる代替のトランスポートについての他の情報を見せる。更に、交換される情報は、オーディオ−ビデオ・コンテンツを提示するためのリモート提示デバイスの能力についての情報を見せる。そのような情報は、例えば、サポートされるコードのタイプやディスプレイ・スクリーンの解像度やディスプレイ・スクリーンのサイズなどのような、リモート提示デバイスについての情報を特定する。幾つかの実施形態では、計算デバイスとリモート提示デバイスとの間で交換される情報は、ペアリング・セレモニーの一部として行われる工程を示す。1つの例として、幾つかのワイヤレス・デバイスは、Wi−Fi Protected Setup(WPS、ワイファイ・プロテクテッド・セットアップ)と呼ばれる標準をサポートし、これは複数の方法を含む。デバイス間で交換される情報は、デバイスによりサポートされる特定のWPS方法を特定する。なお、デバイスのセットアップに使用できる任意の適切な情報を、用いることができる。
【0085】
[0093] 計算デバイスとリモート提示デバイスとの間で交換される特定の情報にかかわらず、それぞれのデバイスは、デバイス間の通信の確立において使用される1以上のパラメーターの値を特定するために情報を分析するプロセッサを用いて、構成設定される。例えば、ブロック623において、計算デバイスは、サイド・チャンネルの形成において使用されるトランスポートを選択する。この選択がどのように行われるかの一例として、それぞれのデバイスは、サイド・チャンネルを確立する際に使用するための考慮され得るトランスポートの順番付けしたリストを維持する。それらのリストは、双方のデバイスが双方のテストを行うように交換される。それぞれのデバイスは、リストを処理して、双方のデバイスでサポートされるトランスポートを特定する。相互にサポートされるそれらのトランスポートのうち、双方のリストでの位置を表す計量値(metric)が、そして、計算された計量値の最高値をもつトランスポートが、サイド・チャンネルを実施するために選択される。他のパラメーターの値を選択するために同様のネゴシエーション戦略が実施され、そのために情報が交換される。そのような処理は、当該技術分野で知られた技術または他の任意の適切な方法を用いて行われる。
【0086】
[0094] サブプロセス622の間に交換される情報の特性にかかわらず、サブプロセス622が完了すると、それぞれのデバイスは、オーディオ−ビデオ・コンテンツを通信するための接続を確立するために使用可能なセットアップ情報を有する。ブロック624において、その情報は記憶される。関連するデバイスにおいて、その情報は、リモート提示デバイスの指定と関連して記憶される。
【0087】
[0095]
図6には明確に示していないが、相補的な動作がリモート提示デバイスで行われ、セットアップ情報がそのデバイスでも使用可能とされる。ブロック624において情報を記憶することは、後の時点でサブプロセス622を反復せずともリモート提示デバイスへの接続を形成することを可能とする。従って、その情報が以前に記憶されている状態で
図6の処理が実行される場合、処理は、サブプロセス622を回避するように判断ブロック620からブロック630へと分岐する。ブロック630において、以前に行われた処理の反復によりブロック624で記憶された情報が、取り出される。
【0088】
[0096] ブロック630でセットアップ情報が取り出されるかサブプロセス622の一部で生成されるかにかかわらず、
図6の処理はブロック634へ進む。ブロック634において、計算デバイスは、オーディオ−ビデオ・チャンネルおよびサイド・チャンネルのための選択された接続を介して情報を送るように内部で構成設定される。そのような処理は、当該技術分野で知られた技術を用いて行われる。例えば、ブロック634での処理は、オーディオ−ビデオ・チャンネルおよびサイド・チャンネルのための接続を確立するために、接続マネージャと呼ばれることもあるオペレーティング・システムの既知のコンポーネントへ命令を供給することを含む。
【0089】
[0097] 従って、ブロック636において、接続マネージャは、ブロック623で選択されたトランスポートを介するサイド・チャンネルのために使用される接続を確立する。
[0098] ブロック638において、接続マネージャは、計算デバイスがオーディオ−ビデオ・チャンネルを介して通信するように構成設定する。ブロック636および638における処理は、特定されたトランスポートを介して接続を確立するための当該技術分野で知られた工程を含む。この処理は、計算デバイスのドライバー、無線装置、および/または他のコンポーネントの構成設定を含む。この処理により、ネットワーク・アダプターが露出され、そのネットワーク・アダプターを介してサイド・チャンネルまたはオーディオ−ビデオ・チャンネルがアクセスされる。従って、ブロック636および638における特有の処理は、特定されるトランスポートにより異なる。
【0090】
[0099] オーディオ−ビデオ・チャンネルおよびサイド・チャンネルのためのトランスポートが確立される様式にかかわらず、処理はブロック640へ進む。ブロック640において、計算デバイスは、確立されたオーディオ−ビデオ・チャンネルを介して、オーディオ−ビデオ・コンテンツを表すデーターをストリームでストリーミングする。ブロック640におけるオーディオ−ビデオ・コンテンツ・ストリームは、任意の適切な方法で生成することができる。メディア制御アプリケーションを含む計算デバイス210(
図2)の例では、オーディオ−ビデオ・コンテンツは、メディア制御アプリケーションがユーザー入力に応答して生成する。なお、データ・ストリームを形成するための特定の機構は、本発明の重要事項ではない。
【0091】
[00100] オーディオ−ビデオ・コンテンツを表すデーターを送信するためにオーディオ−ビデオ・チャンネルへ入れる機構もまた、本発明の重要事項ではなく、当該技術分野で知られた技術を用いて実施することができる。例えば、オペレーティング・システム内の接続マネージャは、オーディオ−ビデオ・チャンネルへ結合されるネットワーク・アダプターを確立する。メディア制御アプリケーションなどのような制御用アプリケーションは、そのようなネットワーク・アダプターへコールを行い、送信のためのデーターを供給する。これに関しても任意の他の適切な技術を用いることができる。
【0092】
[00101] また、
図6における処理は、ブロック642においてユーザー入力に応答してコマンドを送ることを含む。ユーザー入力は、任意の適切な方法で得ることができる。計算デバイスが、ユーザ・インターフェース300(
図3)のようなユーザ・インターフェースを提示するメディア制御アプリケーションにより構成設定されたとき、送信されるコマンドは、そのユーザ・インターフェースを通じて供給されたユーザー入力に基づいて特定される。コマンドの特定のフォーマットもまた、本発明の重要事項ではない。送信されるコマンドは、計算デバイスおよびリモート提示デバイスで相互に認識されるフォーマットである。
【0093】
[00102] コマンドを送信するためにサイド・チャンネルへ入れる機構もまた、本発明の重要事項ではない。一例として、当該技術分野で知られた技術を用いることができる。接続マネージャは、サイド・チャンネルのために使用される接続を確立すると、その接続と関連するネットワーク・アダプターを提供する。メディア制御アプリケーションまたはコマンドを生成する他のコンポーネントは、そのネットワーク・アダプターへコールを行い、送信されるコマンドを表すデーターを供給する。そのコールに応答して、コマンドはサイド・チャンネルを介して送信される。
【0094】
[00103]
図6は、計算デバイスを動作させる例示的な処理を表すことを理解すべきである。様々な計算デバイスで様々な処理を用いることができる。更に、様々な処理は、同じ計算デバイスの様々な動作モードで行うことができる。
図7は、計算デバイスを動作させる代替的な処理の例を示す。この例において、処理は、オペレーティング・システム・ユーティリティ内で行われる。
図7の処理は、計算デバイスの近くにあるリモート・オーディオ−ビデオ・提示デバイスに対するセットアップ情報を計算デバイスが記憶している場合に、受信したユーザー入力に応答して開始される。一例として、計算デバイスのオペレーティング・システムは、計算デバイスへ入力された予め定めたキーストローク・シーケンスまたは他の入力に応答して、
図7に示した処理を実行する。特定の例として、WIMDOWS(登録商標)オペレーティング・システムを実行するコンピューターは、特別の「WIN」キーおよび文字「P」と関連したキーとを含むキーストロークの組み合わせに応答するように構成設定される。そのようなキー・シーケンスは、近くの既知のリモート提示デバイスを計算デバイスのスクリーンに表される情報を提示する出力デバイスとして使用することを、トリガする。
【0095】
[00104] 従って、
図7の処理は、ブロック710において、そのキーストローク・シーケンスが検出されたときに開始される。そのキーストローク・シーケンスを受信すると、処理はブロック730へ進む。ブロック730において、オペレーティング・システム内で実行されるユーティリティは、以前に特定したデバイスのセットアップ情報を取り出す。そのセットアップ情報は、パスワードや、そのデバイスへの接続を確立する際に使用した他の情報を含み得る。更に、そのセットアップ情報は、オーディオ−ビデオ・チャンネルおよびサイド・チャンネルを形成するために用いたトランスポートの識別情報を含み得る。
【0096】
[00105] ブロック734において、接続マネージャは、取り出したセットアップ情報を用いてサイド・チャンネル接続を確立する。ブロック738において、接続マネージャは、取り出したセットアップ情報を用いて、オーディオ−ビデオ・チャンネルのための接続を確立する。ブロック734、736および738での処理は、それぞれ、ブロック634、636および638で行われる処理と類似である。なお、接続マネージャがメディア制御アプリケーションからのコマンドに応答するようにではなく、コマンドは、ブロック710においてユーザー入力に応答して呼び出されたオペレーティング・システムのユーティリティにより提供することもできる。
【0097】
[00106] リモート提示デバイスと通信するように計算デバイスが構成設定されると、処理はブロック740へ進む。ブロック740において、オーディオ−ビデオ・情報のストリームを表すデーターは、オーディオ−ビデオ・チャンネルを介して搬送される。ブロック740での処理はブロック640での処理と類似である。しかし、
図7の例では、メディア制御アプリケーションにより直接に生成されたデーターをストリーミングするのではなく、オペレーティング・システムのユーティリティにより捕獲された何れのデーターも、オーディオ−ビデオ・チャンネルを介してストリームで送られる。この例では、そのデーターは、計算デバイスのディスプレイ・スクリーンに表示される情報を表すものであり、リモート・ディスプレイ・ユーティリティは、その情報を、計算デバイスのディスプレイを制御する他のコンポーネントから獲得する。
【0098】
[00107] ブロック742での処理により、ブロック642での処理と同様に、コマンドが送信される。なお、メディア制御アプリケーションを介して受信したユーザー入力に応答してコマンドが生成されるようにではなく、コマンドが、ブロック710において呼び出されたオペレーティング・システムのユーティリティを通じて受信したユーザー入力に応答して送信されるようにすることもできる。
【0099】
[00108]
図8および
図9は更なる代替例を示す。
図1および
図5に示した実施形態のように、
図8に示す実施形態は、計算デバイス820と、オーディオ−ビデオ・提示デバイスの例としてのテレビジョン830とを含む。また、以前の例のように、オーディオ−ビデオ・チャンネル832およびサイド・チャンネル834が形成される。オーディオ−ビデオ・チャンネル832は、トランスポートとして、任意の適切な周波数およびプロトコルを用いて形成されたリンクを用いる。一例として、オーディオ−ビデオ・チャンネル832は、ピア・ツー・ピア接続を用いて形成される。そのような接続は、例えば、Wi−Fi Directプロトコルまたは任意の他の適切なプロトコルを用いて形成される。
【0100】
[00109] この例では、サイド・チャンネル834は、トランスポートとして、デジタルTVスペクトルで形成されたリンクを用いる。コンピュータ・ベースの通信が、デジタルTVスペクトルの空白部を用いて行われることは知られている。空白部は、コンピュータ・ベースの通信が行われる地理的範囲での使用のための免許を何れのエンティティへも与えていない周波数のことである。しかし、その空白部の通信では、計算デバイスがデジタルTVスペクトルの使用されていない部分を特定することを、必要とする。
【0101】
[00110] 幾つかのシナリオでは、デジタルTVスペクトルで通信するために設定された計算デバイスは、ロケーション別の認可デジタルTVチャンネルのデータベースへアクセスするようにプログラムされる。デジタルTVスペクトルの周波数を用いて通信する前に、計算デバイスは、使用されていないチャンネルを特定するためにデータベースへアクセスする。計算デバイスは、任意の適切な方法でデータベースへアクセスすることができる。例えば、計算デバイスは、データベースのコピーを記憶することや、チャンネル割り当てに関する情報を入手可能なサーバーまたは他の中央位置へアクセスすることができる。
【0102】
[00111] 代替例として、計算デバイスは、デジタルTVスペクトルの様々なチャンネルのパワー・レベルを感知して、使用されていないチャンネルを特定することにより、空白部を検出することができる。
図9は、デジタルTVスペクトルの一部におけるパワー・レベルを示すグラフである。この例では、スペクトルの一部は、チャンネル910A、910B、・・・910Iに分割されている。チャンネル910A、910B、・・・910Iのそれぞれは、例えば、6MHzの幅である。
【0103】
[00112]
図9は、−114dBmのノイズしきい値を示している。このしきい値は、デジタル・テレビジョン受信機による応答が期待される下限の信号強度を示す。このレベルより下のパワーの信号は検出されないか、またはノイズと見なされる。
図9に示すシナリオでは、チャンネル910A、910C、および910Gに関して、デジタルTV信号を搬送するために使用されていることを示すパワー・レベルが示されている。それに対して、チャンネル910B、910E、910F、910H、および910Iに関しては、ノイズしきい値より下のパワー・レベルの信号を搬送しているところを示し、これは、これらのチャンネルがデジタルTV信号の搬送に使用されていないことを示す。
【0104】
[00113] 従って、デジタルTVチャンネルのパワー・レベルを感知して、ノイズしきい値より下のパワー・レベルのチャンネルを特定することにより、計算デバイス820は、サイド・チャンネル834の形成に使用するための空白部チャンネルを特定することができる。サイド・チャンネルが形成されると、計算デバイス820は、テレビジョン830へのコマンドを任意の適切なフォーマットでエンコードし、デジタルTVスペクトルにおける特定された空白部チャンネルの周波数を用いて、それらのコマンドを送信する。計算デバイス820はデジタルTVスペクトルの空白部を用いて送信を行うので、他の近くにあるテレビジョン、例えば、テレビジョン850へ到達し得るサイド・チャンネルの通信と関連する放射836は、テレビジョン850の動作に干渉しない。テレビジョン850は、サイド・チャンネルの通信が行われているチャンネルと同じチャンネルのデジタル・テレビジョン番組を受信しようとはしない。なぜなら、その空白部チャンネルは、テレビジョン850の位置する地理的範囲で使用されていないからである。従って、空白部チャンネルでの送信のパワー・レベルがノイズしきい値(この例では−114dBm)を超えた場合でも、テレビジョン850の通常の動作は阻害されない。
【0105】
[00114] しかし、幾つかの実施形態では、空白部チャンネルを特定することが難しい場合や、空白部チャンネルの特定に多くの費用がかかる場合がある。チャンネルを特定するには、例えば、−114dBmより上のパワー・レベルと−114dBmより下のパワー・レベルとを区別可能な高感度の受信機が必要である。そのような受信機は高価である場合が多い。また、認可されたTVチャンネルの最新のデータベースへアクセスでき、そのデータベースの位置を見つけてその中の情報を使用できるようにする計算デバイスを装備するには、費用がかかる場合や、支援が困難な場合がある。従って、幾つかの実施形態では、計算デバイス820は、サイド・チャンネルが空白部チャンネルの周波数を使用するか否かを考慮せずに、デジタルTVスペクトルにおいてサイド・チャンネルを形成する。なお、他のデバイスとの干渉を避けるために、計算デバイス820は、十分に低いパワー・レベルで送信を行い、その送信と関連する放射が、例えばテレビジョン850などのような近くにあるテレビジョンと干渉しないようにする。幾つかの実施形態では、送信のために選択されるパワーは、チャンネルの現在のユーザーを検出するための規定されたパワーしきい値より下とすることができる。
【0106】
[00115] その目的を達成するために、近くにあるデバイスへ到達する放射836のパワー・レベルは、ノイズしきい値より下にすべきである。このノイズしきい値は、
図9の例では−114dBmである。従って、幾つかの実施形態では、計算デバイス820は、サイド・チャンネル834に対して使用される無線装置を制御するように構成され、部屋810の境界838へ到達する放射836のレベルが−114dBm以下となるようなパワー・レベルでその無線装置が送信を行うようにする。
【0107】
[00116] 境界838でのそのようなパワー・レベルは、例えば、0dBm以下のオーダーのパワー・レベルで送信することにより達成される。計算デバイス820と境界838との間での伝搬損失は、100dMmのオーダーであり、この送信パワー・レベルは、テレビジョン850へ到達する放射836のパワーが十分に低く、放射836がテレビジョン850の動作と干渉しないことを保証する。
【0108】
[00117] なお、テレビジョン830により受信される信号は、テレビジョン830がサイド・チャンネル834で搬送された情報を使用できるように、十分に認識可能なものである必要がある。そのような通信を可能とするために、デジタル計算デバイス820は、処理利得をもたらす符号化および変調の技術を、それに対応する復号化および復調の技術を用いるデジタル・テレビジョン830などのようなデバイスに対して、用いる。一例として、計算デバイス820は、スペクトル拡散変調技術を用いて、コマンドを表す信号をサイド・チャンネルで送信する。
【0109】
[00118]
図9は、チャンネル910Eで送信されるスペクトル拡散信号920を示す。信号920は、デジタル・テレビジョン830へ到達したときにそのパワー・レベルがノイズを表すしきい値より下となるようなパワー・レベルで、送信される。しかし、当該技術で知られているように、スペクトル拡散復調は、そのチャンネルにわたるパワーを集めるので、送信デバイスのスペクトル拡散変調器と整合するスペクトル拡散復調器を用いる受信機は、信号920のパワーを集めて、より強力な信号にする。次に、受信機は、その信号から情報を検出および抽出する。一例として、スペクトル拡散復調器は、20dB以上のオーダーの利得を信号に加算する効果をもつ。従って、信号920は、
図9ではノイズしきい値より下のものとして示されているが、後のスペクトル拡散復調器での処理により、検出可能なしきい値より上の出力を生成することになる。
【0110】
[00119] なお、スペクトル拡散復調器を用いる受信機は、スペクトル拡散信号920を検出することができるが、他のタイプの復調器を用いる受信機は、信号920を、ノイズしきい値より下のノイズとして知覚する。更に、
図9では、スペクトル拡散信号920が1つのチャンネルにわたって拡散しているところを示しているが、幾つかの実施形態では、信号は、更なる処理利得を達成するように複数のチャンネルにわたって拡散させる場合もある。従って、このような低パワー送信および利得を生じさせる変調技術を用いることにより、デジタルTV受信機との干渉を起こすこと無く、デジタルTVスペクトルの周波数をサイド・チャンネル834の形成のために使用できる。
【0111】
[00120] このような低パワーを用いてのサイド・チャンネルでの通信を更に改善するために、前進型誤信号制御コードを用いて、コマンドを表すデジタル・データをエンコードすることができる。例えば、前進型誤信号制御コード化は、送信されるデーターの各ビットに対して少なくとも1つの追加のエラー修正用のビットを含む。なお、幾つかの実施形態では、更に低いコード化レート使用することができ、例えば、データーの各ビットに対してエラー修正用の2ビットを付加することができる。
【0112】
[00121] 比率が1対1、1対2、またはそれよりも低いような低レートのエラー修正コードは、低パワー・レベルの送信であっても、高い信頼性でコマンドを送信することを可能にする。なお、幾つかのシナリオでは、送信されるビットの総数が増加することは望ましくないが、
図8に示すシナリオでは、サイド・チャンネルを介して通信されるコマンドは、幾つかのデータ・ビットを必要とする。エラー制御のためにビットを付加したとしても、サイド・チャンネル834を介して送信されるビットの数は比較的少ない。例えば、エラー修正用ビットを含むコマンドを表すデーターは、56キロビット/秒以下のデータ・レートで送信することができる。幾つかの実施形態では、データ・レートは更に低く、例えば、32キロビット/秒以下とすることもできる。多くの実施形態では、ビット・レートは、サイド・チャンネルのチャンネル容量より下である。
【0113】
[00122]
図9は、サイド・チャンネル834で送信されるコマンドを表す信号920が空白部チャンネルにあるシナリオを示すが、必ずしも信号920を空白部チャンネルで送信しなくてもよい。信号処理技術を用いて、サイド・チャンネル信号をデジタルTV信号から区別することができる。
図9に示すように、デジタルTV信号を含むチャンネル910A、910C、および910Gでさえ、比較的低いパワー・レベルを有する。
図9の例において、チャンネル910A、910C、および910Gは、ここでは約−100dBmとして示されている第2のしきい値より下のパワー・レベルを有する。サイド・チャンネル834の信号920を受信するであろうテレビジョン830などのようなリモート・オーディオ−ビデオ・提示デバイスは、信号920が送信されるチャンネルにおいて、受信信号のレベルがデジタルTV信号のレベルを十分に超える場合、信号920を適切に検出する。
【0114】
[00123]
図9で示す信号920の平均パワー・レベルは−114dBmより下であるが、スペクトル拡散復調器で復調されると、その信号レベルは、復調技術により与えられる利得により、有効に増加する。
図9に示すような6MHzのオーダーの帯域にわたって作用するスペクトル拡散復調は、20dBを超える利得を提供する。従って、初期的にはノイズしきい値より下であった信号レベルは、その帯域のデジタルTV信号のレベルより上に増加させられる。
【0115】
[00124] 特定の数値の例として、
図9は、使用中のデジタルTVチャンネル、即ち、チャンネル910A、910C、および910Gのそれぞれに関して、デジタル・テレビジョン信号の平均パワー・レベルが−100dBmより下であることを示している。信号920のパワー・レベルは、この例では−114dBmより下であり、約−120dBmであるが、20dBを超える利得を復調器により付加することにより、−100dBmより上の有効なパワー・レベルを持つ信号を生成することができ、信号を、占有されたチャンネルのそれぞれにおけるデジタル・テレビジョン信号のパワー・レベルより上のものとすることができる。信頼性をもって検出されるように、信号920の送信パラメーターは、復調された信号の有効パワー・レベルが、占有されたデジタルTVチャンネルにおけるデジタル・テレビジョン信号の平均パワー・レベルを十分に超えるように、設計される。パラメーターは、例えば、復調された信号920の有効パワー・レベルが、リモート提示デバイスにおいて、デジタルTV信号の平均パワー・レベルを3dBより多く超えるように選択される。ここで説明した数値の例はあくまでも例示であり、他の実施形態では別の信号レベルが存在し得ることを理解すべきである。しかしながら、相対的な信号レベルは、サイド・チャンネル通信の検出がデジタルTV受信機との干渉内で行われるように設定される。当該技術で知られた無線装置は、計算デバイス820とテレビジョン830とがデジタルTVスペクトル内の周波数を用いて形成されたサイド・チャンネル834を介して通信するものであり、その通信に使用される周波数がデジタルTVスペクトルの空白部チャンネル内のものか否かを考慮していない、という条件下で信号を検出するように構成される。
【0116】
[00125]
図10は、本発明を実施できる適切な計算システム環境1000の例を示す。計算システム環境1000は、適切な計算システム環境の単なる一例であり、本発明の使用や機能の範囲を制限することを意図するものでも提案するものでもない。計算環境1000は、例示的な動作環境1000に示されたコンポーネントの何れかのものやコンポーネントの組み合わせと関連する依存性や必要条件を持たないことを理解すべきである。
【0117】
[00126] 本発明は、他の様々な汎用や特定用途向けの計算システムの環境または構成設定で動作することができる。本発明を用いるのに適切な良く知られた計算システム、環境、および/または構成設定の例は、パーソナル・コンピュータ、サーバ・コンピュータ、手持型またはラップトップ型のデバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セットトップ・ボックス、プログラマブルの大衆消費電子製品、ネットワークPC、ミニコンピュータ、メインフレーム・コンピュータ、上記のシステムやデバイスの何れかを含む分散型計算環境などを含むが、これらに限定はされない。
【0118】
[00127] 計算環境は、プログラム・モジュールなどのようなコンピューター実行可能命令を実行する。一般に、プログラム・モジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データー構造などを含み、それらは、特定のタスクを行うか、または特定の抽象データー型を実現する。本発明はまた、通信ネットワークを通じてリンクされたリモート処理デバイスによりタスクが行われる分散型計算環境でも実施することができる。分散型計算環境では、プログラム・モジュールは、メモリ・ストレージ・デバイスを含むローカルおよびリモートのコンピュータ・ストレージ媒体に配される。
【0119】
[00128]
図10を参照すると、本発明を実施するための例示的なシステムは、コンピューター1010の形態の汎用計算デバイスを含む。コンピューター1010のコンポーネントは、処理ユニット1020、システム・メモリ1030、および様々なシステム・コンポーネントを結合するシステム・バス1021含むが、これらに限定はされない。システム・バス1021は、システム・メモリを処理ユニットへ結合する。システム・バス1021は、幾つかのタイプのバス構造のうちの任意のものであり、バス構造は、様々なバス・アーキテクチャのうちの任意のものを用いるメモリ・バスおよびメモリ・コントローラー、周辺バス、およびローカル・バスを含む。例えば、そのようなアーキテクチャとてしては、Industrial Standard Architecture(ISA)バス、Micro Channel Architecture(MCA)バス、Enhanced ISA(EISA)バス、Video Electronics Standard Association(VESA)ローカル・バス、Mezzanineバスとしても知られるPeripheral Component Interconnect(PCI)バスなどがあるが、これらに限定はされない。
【0120】
[00129] コンピューター1010は、典型的には、様々なコンピューター読取可能媒体を含む。コンピューター読取可能媒体は、コンピューター1010によりアクセスできる任意の使用可能な媒体とすることができ、揮発性および不揮発性の媒体や、リムーバブルおよび非リムーバブルな媒体を含む。例えば、コンピューター読取可能媒体は、コンピュータ・ストレージ媒体および通信媒体を含むが、これらに限定はされない。コンピュータ・ストレージ媒体は、コンピューター読取可能命令、データー構造、プログラム・モジュール、および他のデーターなどのような情報を記録するための任意の方法や技術により実現される揮発性および不揮発性、リムーバブルおよび非リムーバブルの媒体を含む。コンピュータ・ストレージ媒体は、RAM、ROM、EEPROM、フラッシュ・メモリや他のメモリ技術、CD−ROM、デジタル・バーサタイル・ディスク(DVD)や他の光学ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージや他の磁気ストレージ・デバイス、望まれる情報を記憶するために使用でき且つコンピューター1010によりアクセスできる任意の他の媒体などを含むが、これらに限定はされない。通信媒体は、典型的には、搬送波のような変調されたデーター信号や他のトランスポート機構などの中にあるコンピューター読取可能命令や、データー構造や、プログラム・モジュールや、他のデーターを実現するものであり、通信媒体には、任意の情報搬送媒体が含まれる。「変調されたデーター信号」という用語は、情報を信号内へエンコードするような様式で設定または変更されて1以上の特性を有する信号、を意味する。例えば、通信媒体は、有線ネットワークや直接有線接続などのような有線媒体と、音響、RF、赤外線、および他のワイヤレスの媒体などのようなワイヤレス媒体とを含むが、これらに限定はされない。上記の媒体のうちの任意のものの組み合わせも、コンピューター読取可能媒体の範囲に含まれる。
【0121】
[00130] システム・メモリ1030は、リード・オンリ・メモリ(ROM)1031やランダム・アクセス・メモリ(ROM)1032などのような揮発性および/または不揮発性のメモリの形態のコンピュータ・ストレージ媒体を含む。スタートアップのときなどにコンピューター1010内のエレメント間での情報の転送を支援する基礎的ルーチンを含むベーシック・インプット/アウトプット・システム1033(BIOS)は、典型的には、ROM1031に記憶される。RAM1032は、典型的には、処理ユニット1020により即座にアクセス可能な、および/または現在処理されているデーターおよび/またはプログラム・モジュールを含む。例として、
図10は、オペレーティング・システム1034、アプリケーション・プログラム1035、他のプログラム・モジュール1036、およびプログラム・データ1037を示しているが、これらに限定はされない。
【0122】
[00131] コンピューター1010はまた、他のリムーバブルおよび/または非リムーバブルの揮発性および/または不揮発性の記録媒体を含むことができる。単なる例であるが、
図10は、非リムーバブルで不揮発性の磁気媒体に対しての読み出しおよび書き込みを行うハードディスク1040、リムーバブルで不揮発性の磁気ディスク1052に対しての読み出しおよび書き込みを行う磁気ディスク・ドライブ1051、およびCD ROMや他の光学媒体などのようなリムーバブルで不揮発性の光ディスク1056に対しての読み出しおよび書き込みを行う光ディスク・ドライブ1055を示している。例示した動作環境で使用できる他のリムーバブル/非リムーバブルで揮発性/不揮発性のコンピュータ・ストレージ媒体としては、磁気テープ・カセット、フラッシュ・メモリ・カード、デジタル・バーサタイル・ディスク、デジタル・ビデオ・テープ、ソリッドステートRAM、ソリッドステートROMなどがあるが、これらに限定はされない。ハード・ディスク・ドライブ1041は、典型的には、インターフェース1040などのような非リムーバブル・メモリ・インターフェースを通じてシステム・バス1021と接続され、磁気ディスク・ドライブ1051および光ディスク・ドライブ1055は、典型的には、インターフェース1050などのようなリムーバブル・メモリ・インターフェースによりシステム・バス1021と接続される。
【0123】
[00132] 上記で説明したドライブおよびそれらと関連するコンピュータ・ストレージ媒体や
図10に示されたものは、コンピューター1010に関するコンピューター読取可能命令、データー構造、プログラム・モジュール、および他のデーターのストレージを提供する。例えば、
図10では、ハード・ディスク・ドライブ1041は、オペレーティング・システム1044、アプリケーション・プログラム1045、他のプログラム・モジュール1046、およびプログラム・データ1047を記憶するものとして示している。なお、これらのコンポーネントは、オペレーティング・システム1034、アプリケーション・プログラム1035、他のプログラム・モジュール1036、およびプログラム・データ1037と同じものである場合も異なるものである場合もある。ここでは、オペレーティング・システム1044、アプリケーション・プログラム1045、他のプログラム・モジュール1046、およびプログラム・データ1047に対して、このように別の参照番号が付されているが、これは、少なくとも、それらが別のコピーであることを示すためである。ユーザーは、キーボード1062や、マウス、トラック・ボール、タッチ・パッドなどと呼ばれるポインティング・デバイス1061などのような入力デバイスを通じて、コマンドおよび情報をコンピューター1010へ入力する。他の入力デバイス(図に示さず)としては、マイクロフォン、ジョイスティック、ゲーム・パッド、サテライト・ディッシュ、スキャナなどがある。これらおよび他の入力デバイスは、システム・バスへ結合されたユーザー入力インターフェース1060を通じて処理ユニット1020へ接続されることが多いが、パラレル・ポートやゲーム・ポートやユニバーサル・シリアル・バス(USB)などのような他のインターフェースやバス構造により接続することもできる。モニター1091や他のタイプの表示デバイスも、ビデオ・インターフェース1090などのようなインターフェースを介してシステム・バス1021へ接続される。モニターに加えて、コンピューターはまた、スピーカー1097やプリンター1096などのような他の周辺出力デバイスを含むこともでき、それらの周辺出力デバイスは、出力周辺機器インターフェース1095を通じて接続される。
【0124】
[00133] コンピューター1010は、リモート・コンピュータ1080などのような1以上のリモート・コンピュータへの論理接続(logical connection)を用いるネットワークの環境で、動作することができる。リモート・コンピュータ1080は、パーソナル・コンピュータ、サーバー・、ルーター、ネットワークPC、ピア・デバイス、または他のコモン・ネットワーク・ノード(common network node)であり、典型的には、コンピューター1010に関して説明したエレメントのうちの多くのものまたは全てを含むが、
図10では、メモリ・ストレージ・デバイス1081のみを示している。
図10に示す論理接続は、ローカル・エリア・ネットワーク(LAN)1071およびワイド・エリア・ネットワーク(WAN)1073を含むが、他のネットワークを含むこともできる。このようなネットワークの環境は、オフィス、エンタープライズ−ワイド・コンピュータ・ネットワーク、イントラネット、およびインターネットにおいて一般的なものである。
【0125】
[00134] LANのネットワーク環境で使用する場合、コンピューター1010は、ネットワーク・インターフェースまたはアダプタ1070を通じてLAN1071へ接続される。WANのネットワーク環境で使用する場合、コンピューター1010は、典型的には、インターネットなどのようなWAN1073を介しての通信を確立するために、モデム1072または他の手段を含む。内蔵または外付けであるモデム1072は、ユーザー入力インターフェース1060または他の適切な機構を介して、システム・バス1021へ接続される。ネットワークの環境では、コンピューター1010と関連して示されたプログラム・モジュールまたはその一部は、リモート・メモリ・ストレージ・デバイスに記憶される。例として、
図10では、リモート・アプリケーション・プログラム1085がメモリ・デバイス1081に駐在することを示しているが、これに限定はされない。ここに示されたネットワーク接続が例示であり、コンピューター間で通信リンクを確立するために他の手段を使用できることは、理解されるであろう。
【0126】
[00135] 従って、本発明の少なくとも1つの実施形態の幾つかの特徴を説明したが、様々な代替例、変更例、および改善例を構成することが当業者には容易であることを、理解すべきである。
【0127】
[00136] 例として、リモート・オーディオ−ビデオ提示デバイスの制御が、計算デバイスで実行されるメディア制御アプリケーション内で提供されることを説明した。リモート・オーディオ−ビデオ提示デバイスの制御がメディア制御アプリケーションを通じて提供されることは、必要条件ではない。そのような制御は、代替的または追加的に、オペレーティング・システムを通じて提供することもできる。計算デバイスのオペレーティング・システムは、計算デバイスのディスプレイ上でおよびスピーカーを通じてのオーディオ−ビデオ情報の提示のためのサービスを提供するので、オペレーティング・システムは、オーディオ−ビデオ・コンテンツをインターセプトし、リモート提示デバイスへリダイレクトすることが適切である場合には、そのリダイレクトを行う。そのようなシナリオでは、オーディオ−ビデオ・コンテンツの提示の特性を選択および制御するためのユーザ・インターフェースは、従来のメディア制御アプリケーションにより提供される。
【0128】
[00137] リモート提示デバイスの制御のための他の機能を実施するために、オペレーティング・システムは、ユーザーにより呼び出され得るユーティリティを提供することができる。そのようなユーティリティは、例えば、計算デバイスでローカルに提示できる音声コンテンツやビデオ・コンテンツが、ディスプレイ・デバイスとして働く近くのデバイスへリダイレクトされることを、可能にする。例えば、計算デバイスの「デスクトップ」を通じて従来のように提示されるユーザー印象(user impression)は、デスクトップで実行されているように見えるアプリケーションにより提供されるコンテンツと共に、近くのディスプレイ・デバイスへ送信される。そのようなユーティリティは、ユーザーがその提示の特性、例えば、音量や、フルスクリーン・モードで提示するかまたは提示デバイス上の別のイメージへ埋め込むかなどを制御することを、可能にする。
【0129】
[00138] 別の例として、リモート提示デバイスを制御するためのコマンド用にサイド・チャンネルを実現するために、デジタルTVスペクトルにおいて低パワー送信を使用することを説明した。他の目的のためのサイド・チャンネルを形成する際にも、同様の技術を使用することができる。更には、その技術は、例えば、56Kbps以下の低ビット・レート通信のために使用することもできる。
【0130】
[00139] また、幾つかの実施形態では、チャンネルは接続を介して形成されると言える。「接続(connection)」という単語の使用に関しては、ステートフル(stateful)な接続を維持するプロトコルが使用されることを意味する、ということを意図していない。「コネクションレス(connectionless)」と呼ばれることもあるプロトコルを使用することもできる。ここでは、「接続」は、単に、通信におけるエンゲージのための十分な情報が使用可能であることを示す。例えば、コネクションレスとして記述されることもあるUDPプロトコルや他の適切なプロトコルを、使用することができる。
【0131】
[00140] 更に、オーディオ−ビデオ・コンテンツおよびコマンドを生成する計算デバイスと関連して、例示的な実施形態が説明された。チャンネルを形成するコンポーネントはリモート提示デバイスに存在し得るが、幾つかの実施形態では、より簡素なコンポーネントを使用することも可能である。例えば、提示デバイスは、無線装置250および254のような1以上の無線装置を備えることができる。リモート提示デバイスは、処理ユニット1020のようなコントローラを備えることができる。そのようなコントローラがサポートする機能の数は汎用CPUのサポートする機能の数よりも少ないが、それでも、デバイスがペアリング・セレモニーを行うことを制御する。また、コントローラは、提示用のコンテンツを表すデーターを送り、サイド・チャンネルを介して受信したコマンドにデバイスが応答するように制御する。
【0132】
[00141] このような代替例、変更例、および改善例は、ここでの開示の一部であることが意図され、かつ本発明の精神および範囲の中にあることが意図される。従って、上記の説明および図面は、単なる例である。
【0133】
[00142] 本発明の上記の実施形態は、様々な方法で実施できる。例えば、実施形態は、ハードウェア、ソフトウェア、またはそれらの組み合わせにより実施できる。ソフトウェアで実施する場合、ソフトウェア・コードは、1つのコンピューターで提供されるか複数のコンピューター間で分散されて提供されるかにかかわらず、任意の適切なプロセッサまたはプロセッサの集合体で実行される。そのようなプロセッサは、集積回路として実施され、集積回路コンポーネントには1以上のプロセッサが含まれ得る。なお、プロセッサは、任意の適切な形式の回路を用いて実施することができる。
【0134】
[00143] 更に、コンピューターは、ラック取り付け型コンピューター、デスクトップ・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータなどのような多数の形態のうちの任意の形態で実現できることを、理解すべきである。更に、適切な処理能力を有するが通常はコンピューターと見なされないデバイスへ、コンピューターを埋め込むことも可能であり、そのようなデバイスの例としては、パーソナル・デジタル・アシスタント(PDA)や、スマート・フォンや、他の適切なポータブルまたは固定の電子デバイスなどがある。
【0135】
[00144] また、コンピューターは、1以上の入力および出力デバイスを有する。それらのデバイスは、特に、ユーザ・インターフェースを提示するために使用できる。ユーザ・インターフェースを提供するために使用できる出力デバイスの例としては、出力を視覚的に提示するためのプリンターやディスプレイ、および出力を可聴的に提示するためのスピーカーや他の音生成デバイスがある。ユーザ・インターフェースとして使用できる入力デバイスの例としては、キーボードや、マウス、タッチ・パッド、デジタイジング・タブレットなどのようなポインティング・デバイスがある。別の例として、コンピューターは、音声認識を通じてや他の可聴形態で、入力情報を受信する。
【0136】
[00145] そのようなコンピューターは、例えば、エンタープライズ・ネットワークやインターネットなどのような、ローカル・エリア・ネットワークやワイド・エリア・ネットワークを含む任意の適切な形態の1以上のネットワークにより、相互接続される。そのようなネットワークは、任意の適切な技術に基づくものであり、任意の適切なプロトコルに従って動作するものであり、ワイヤレス・ネットワーク、有線ネットワーク、光ファイバ・ネットワークなどを含む。
【0137】
[00146] また、ここで概説した様々な方法およびプロセスは、様々なオペレーティング・システムやプラットフォームの何れかを用いる1以上のプロセッサで実行可能なソフトウェアとして、コード化できる。更に、そのようなソフトウェアは、多数の適切なプログラミング言語および/またはプログラム用またはスクリプト用のツールのうちの任意のものを用いて、書くことができる。また、ソフトウェアは、実行可能な機械語コードや、フレームワークや仮想マシンで実行される中間コードとして、コンパイルすることができる。
【0138】
[00147] この点に関して、本発明は、1以上のプログラムによりエンコードされたコンピューター読取可能記録媒体(または複数のコンピュータ読取可能媒体)として実現することができ、そのプログラムは、1以上のコンピューターまたは他のプロセッサにより実行されたときに、上記の本発明の様々な実施形態を実施する方法を行わせるものである。コンピューター読取可能記録媒体の例としては、コンピュータ・メモリ、1以上のフロッピー(登録商標)・ディスク、コンパクト・ディスク(CD)、光ディスク、デジタル・ビデオ・ディスク(DVD)、磁気テープ、フラッシュ・メモリ、フィールド・プログラマブル・ゲート・アレイや他の半導体デバイスにおける回路構成、他の非一時的で実体的なコンピューター記録媒体などがある。コンピューター読取可能記録媒体(1または複数)は移動可能であり、コンピューター読取可能記録媒体に記憶されたプログラム(1または複数)は、上記の本発明の様々な機能を実施するために、1以上の別のコンピューターや他のプロセッサへロードすることができる。ここで使用する「非一時的なコンピューター読取可能記録媒体」という用語は、製造品(即ち、製造品目)または機械として考慮されるコンピューター読取可能媒体のみを含む。代替的または追加的に、本発明は、伝搬信号などのようなコンピューター読取可能記録媒体以外のコンピューター読取可能媒体として実現することができる。
【0139】
[00148] ここでは、「プログラム」や「ソフトウェア」という用語は、一般に、上記の本発明の様々な機能を実施するためにコンピューターや他のプロセッサをプログラムするために使用できる任意のタイプのコンピュータ・コードやコンピューター実行可能命令の組を示すものとして、使用している。更に、本発明の1つの特徴によると、実行されたときに本発明の方法を行わせる1以上のコンピュータ・プログラムは、必ずしも1つのコンピューターまたはプロセッサに駐在しなくてもよく、本発明の様々な機能を実施するために、モジュールの様式で複数の別のコンピューターまたはプロセッサへ分散させることもできる、ということを理解すべきである。
【0140】
[00149] コンピューター実行可能命令は様々な形態とすることができ、例えば、1以上のコンピューターまたは他のデバイスにより実行されるプログラム・モジュールの形態とすることができる。一般に、プログラム・モジュールは、特定のタスクを行うためや特定の抽象データー型を実施するためのルーチン、プログラム、オブジェクト、コンポーネント、データー構造などを含む。典型的に、プログラム・モジュールの機能は、様々な実施形態において望まれるように、組み合わせることや分散させることができる。
【0141】
[00150] また、データー構造は、任意の適切な形態でコンピューター読取可能媒体へ記憶することができる。例示を容易にするために、データー構造は、そのデーター構造における位置を通じて関連させられるフィールドを有するものとして、示すことができる。そのような関連は、フィールドのストレージに、コンピューター読取可能媒体における位置を割り当て、フィールド間の関係を運ぶようにすることにより、達成される。しかし、任意の適切な機構を使用して、データー構造のフィールド内の情報の関係を確立することもでき、関係を確立することに関しては、データ・エレメント間の関係を確立するポインター、タグ、他の機構などを使用することも含む。
【0142】
[00151] 本発明の様々な機能は、単独でも、組み合わせでも、上記の実施形態で特定的に説明していない様々な構成でも、使用することができ、従って、本発明の応用は、上記で説明し図面に示したコンポーネントの詳細や構成に制限されるものではない。例えば、1つの実施形態で説明された特徴は、他の実施形態で説明された特徴と、任意の様式で組み合わせることができる。
【0143】
[00152] また、本発明は方法として実現でき、その例は提供している。その方法の一部として行われる動作は、任意の適切な順に行うことができる。従って、実施形態は、例示した順と異なる順で動作を行うように構成することもできる。また、例示した実施形態は動作が順に行われるものとして示しているが、異なる順で動作を行うということには、幾つかの動作を同時に行うことも含まれる。
【0144】
[00153] 「第1」、「第2」、「第3」などのような順を表す用語を特許請求の範囲における構成要素を修飾する際に使用している場合、その使用は、或る構成要素の他の構成要素に対しての優先順位、優先度、順位や、方法の動作が行われる時間的順序を意味するものではなく、単に、構成要素を区別するため、即ち、或る名前の或る構成要素を、それと同じ名前の別の構成要素と区別するためのラベルとして使用している(ただし、順を表す用語として使用する場合は除く)。
【0145】
[00154] また、ここで用いられた文体や用語は説明を目的としたものであり、限定と見なすべきではない。「含む」、「備える」、「有する」、「内包する」、およびこれらの用語が変化した形の用語は、それらの前に記載した項目やその項目の等価物や追加の項目を含むことを意味する。