(58)【調査した分野】(Int.Cl.,DB名)
前記メディアデータを前記シンクデバイスに送信することは、複数のパケットを送信することを備え、ここにおいて、前記複数のパケットの各パケットがそれぞれのシーケンス番号を含み、ここにおいて、送信権利を転送することは、
前記1次ソースデバイスが、最終シーケンス番号を含む最終パケットを前記シンクデバイスに送信することと、
前記1次ソースデバイスが、シーケンス番号値を備える権利付与済み通信を前記2次ソースデバイスに送信することと、ここにおいて、前記シーケンス番号値が前記最終シーケンス番号の値に対応する、
を備える、請求項1に記載の方法。
前記1次ソースデバイスがグループを確立すること、ここにおいて、前記1次ソースデバイスがグループ所有者であり、ここにおいて、前記2次ソースデバイスがグループメンバーである、
をさらに備える、請求項1に記載の方法。
前記メディアデータを前記シンクデバイスに送信するための前記手段は、複数のパケットを送信するための手段を備え、ここにおいて、前記複数のパケットの各パケットがそれぞれのシーケンス番号を含み、ここにおいて、送信権利を転送するための前記手段は、
最終シーケンス番号を含む最終パケットを前記シンクデバイスに送信するための手段と、
シーケンス番号値を備える権利付与済み通信を前記2次ソースデバイスに送信するための手段と、ここにおいて、前記シーケンス番号値が前記最終シーケンス番号の値に対応する、
を備える、請求項8に記載のデバイス。
前記1次ソースデバイスがグループを確立するための手段、ここにおいて、前記1次ソースデバイスがグループ所有者であり、ここにおいて、前記2次ソースデバイスがグループメンバーである、
をさらに備える、請求項8に記載のデバイス。
実行されたとき、1次ソースデバイスの1つまたは複数のプロセッサに、請求項1乃至7のいずれか一項に記載の方法を行わせる命令を記憶する、非一時的コンピュータ可読記憶媒体。
【発明を実施するための形態】
【0012】
[0017]いくつかの状況では、複数のソースデバイスが単一のシンクデバイスを共有することは、望ましいことがある。たとえば、会議室では、複数の会議参加者が、たとえば、共同作業を可能にするために、彼らのそれぞれのソースデバイスからのメディアデータを単一のシンクデバイスから出力することを望み得る。しかしながら、ソースデバイスの間で切り替わるときに、シンクデバイスとの接続の再ネゴシエーションを必要とすることは理想的でないであろう。たとえば、シンクデバイスとソースデバイスとがまだペアリングされていない場合、メディア共有セッションのネゴシエーションには約10秒かかり得る。この中断は、会議の流れを大きく中断させ得、共同作業を妨害し得る。
【0013】
[0018]本開示による技法は、複数のソースデバイスがメディア共有セッションへの送信権利を転送することを可能にし得る。いくつかの例では、1次ソースデバイスは、複数のソースデバイスの間の送信権利の転送を制御し得る。このようにして、複数のソースデバイスは、メディア共有セッションを再ネゴシエートすることなしにシンクデバイスをシームレスに共有し得る。さらに、本開示の技法は、既存のMiracast(登録商標)シンクソリューションを用いて動作するという利点を提供し得る。
【0014】
[0019]会議室の例を続けると、会議は、コーディネータを有し得る。コーディネータは、1次ソースデバイスと呼ばれることがあるデバイスを動作させ得る。コーディネータによって使用されるデバイスは、シンクデバイスとのWi−FiディスプレイセッションをネゴシエートするWi−Fiディスプレイソースデバイスとして機能し得る。1次ソースデバイスは、Wi−Fi Direct接続の場合、固定グループ所有者として機能し得る。いくつかの例では、これは、自律的GOモード(Autonomous GO mode)と呼ばれることがある。シンクデバイスは、グループに加入するように勧誘され得、RTSPネゴシエーションが、1次ソースデバイスとシンクデバイスとの間のメディア共有セッションを確立するために使用され得る。また、会議の他の参加者は、2次ソースデバイスと呼ばれる彼らのデバイスを、1次ソースデバイスによってホストされるグループに加入させ得る。2次ソースデバイスは、送信権利についての要求および応答がそれを通して転送され得るTCP接続を使用して1次ソースに接続され得る。本開示の1つまたは複数の技法によれば、1次ソースデバイスは、次いで、1次ソースデバイスと2次ソースデバイスとの間の送信権利の転送を可能にし得る。
【0015】
[0020]
図1Aおよび
図1Bは、本開示の1つまたは複数の技法による、メディア共有セッションへの送信権利を管理するための例示的なシステム2を示すブロック図である。
図1Aおよび
図1Bの例に示されているように、システム2は、シンクデバイス4と、1次ソースデバイス6と、複数の2次ソースデバイス8A〜8N(総称して「2次ソースデバイス8」)とを含む。本開示では、1次ソースデバイス6および2次ソースデバイス8は「ソースデバイス」と総称されることがある。ソースデバイスのうちのより多くの1つは、限定はしないが、モバイルフォン、タブレットコンピュータ、携帯情報端末、ハンドヘルドコンピュータ、メディアプレーヤなど、またはこれらのアイテムのうちの2つ以上の組合せを含む、モバイルコンピューティングデバイスを表し得る。ソースデバイスのうちのより多くの1つは、たとえば、ネットワーク3によってアクセス可能なサーバからメディアデータを受信するために、ワイヤレス通信リンクによってネットワーク3と通信し得る。いくつかの例では、ソースデバイスのうちの1つまたは複数は、追加または代替として、ソースデバイスのコンピュータ可読記憶媒体(
図1に図示せず)からメディアデータをソーシングするスタンドアロンソースデバイスを表し得る。
【0016】
[0021]ネットワーク3は、ソースデバイスのうちの1つまたは複数などのソースデバイスに、ネットワークアクセスとデータトランスポートと他のサービスとを提供するために、サービスプロバイダによって運営されるモバイルネットワークを表し得る。一般に、ネットワーク3は、第3世代パートナーシッププロジェクト(3GPP(登録商標):3rd Generation Partnership Project)によってそれぞれ規格化されている汎用パケット無線サービス(GPRS:General Packet Radio Service)アーキテクチャ、ユニバーサルモバイルテレコミュニケーションズシステム(UMTS:Universal Mobile Telecommunications System)アーキテクチャ、およびロングタームエボリューション(LTE(登録商標):Long Term Evolution)と呼ばれるUMTSの発展形など、セルラーネットワークアーキテクチャを実装し得る。
【0017】
[0022]シンクデバイス4は、メディアデータを受信し、1つまたは複数の出力デバイスを使用して、受信されたデータを出力するように構成され得る。たとえば、シンクデバイス4は、ソースデバイスのうちの1つまたは複数からビデオデータを受信し、ビデオディスプレイを使用して、受信されたビデオデータを出力し得る。シンクデバイス4の例としては、限定はしないが、携帯電話、ワイヤレス通信カードをもつポータブルコンピュータ、携帯情報端末(PDA)、ポータブルメディアプレーヤ、カメラまたはカムコーダなどのデジタル画像キャプチャデバイス、あるいは、いわゆる「スマート」フォンおよび「スマート」パッドまたはタブレットを含むワイヤレス通信機能をもつ他のフラッシュメモリデバイス、ワイヤレス通信機能を含む、テレビジョン、デスクトップコンピュータ、モニタ、プロジェクタ、プリンタ、オーディオ増幅器、セットトップボックス、ゲーミングコンソール、ルータ、ドングル、デジタルビデオディスク(DVD)プレーヤ、メディアサーバなどがあり得る。いくつかの例では、シンクデバイス4は、別のデバイスの1つまたは複数の入力に接続するように構成されたドングル(たとえば、テレビジョンのHDMI(登録商標)ポートに接続するように構成されたドングル)であり得る。いくつかの例では、シンクデバイス4は1次ソースデバイス6を含み得る。言い換えれば、1次ソースデバイス6はシンクデバイス4と一体であるか、またはシンクデバイス4に組み込まれ得る。
【0018】
[0023]1次ソースデバイス6およびシンクデバイス4は、1つまたは複数の通信プロトコル、たとえば、ワイヤレスローカルエリアネットワーク(WLAN)、Bluetooth(登録商標)、および/またはWi−Fi Directに従ってワイヤレスリンク10を確立し得る。WLANは、IEEE802.11規格ファミリーからのワイヤレス通信規格に準拠し得る。いくつかの例では、1次ソースデバイス6およびシンクデバイス4は互いを発見し、グループ所有者ネゴシエーションを実行し得る。たとえば、1次ソースデバイス6は、グループ所有者ネゴシエーション中でグループ所有者になるために大グループ所有者意図を使用し得る。いくつかの例では、1次ソースデバイス6はグループ(たとえば、Wi−Fi Directグループ)を確立し、シンクデバイス4をグループに加入するように勧誘し得る。いくつかの例では、1次ソースデバイス6はグループ所有者と呼ばれることがある。
【0019】
[0024]1次ソースデバイス6およびシンクデバイス4は、メディア共有セッション11を確立するためにワイヤレスリンク10を使用し得る。いくつかの例では、メディア共有セッション11は、シンクデバイス4がワイヤレスディスプレイ(WD)シンクとして動作することを可能にし、1次ソースデバイス6がシンクデバイス4にメディアデータ16AをソーシングするためにWDソースとして動作することを可能にするWDプロトコルセッションに準拠し得る。いくつかの例では、1次ソースデバイス6およびシンクデバイス4は、メディア共有セッション11を確立するためにリアルタイムストリーミングプロトコル(RTSP:real time streaming protocol)を使用し得る。いくつかの例では、メディア共有セッション11は、たとえば、シンクデバイス4が、1次ソースデバイス6にユーザ入力などのデータを送ることを可能にするために、制御チャネル14を含み得る。いくつかの例では、制御チャネル14は、ユーザインターフェースバックチャネル(UIBC)であり得る。いくつかの事例では、メディア共有セッション11は、対応するワイヤレスディスプレイプロトコルに従ってワイヤレスリンク上で動作し得る。
図1Aの例では、1次ソースデバイス6は、シンクデバイス4のインターフェースにおける出力のためにシンクデバイス4にメディアデータ16Aを送信するためにメディア共有セッション11を使用し得る。
【0020】
[0025]1次ソースデバイス6と2次ソースデバイス8のうちの1つまたは複数とは、1つまたは複数の通信プロトコル、たとえば、ワイヤレスローカルエリアネットワーク(WLAN)、Bluetooth、および/またはWi−Fi Directに従って、ワイヤレスリンク12A〜12N(総称して「ワイヤレスリンク12」)をそれぞれ確立し得る。
図1Aの例では、1次ソースデバイス6と2次ソースデバイス8Aとはワイヤレスリンク12Aを確立し得る。いくつかの例では、ワイヤレスリンク12のうちの1つまたは複数は、ワイヤレスリンク10とは異なる通信プロトコルに準拠し得る。いくつかの例では、ワイヤレスリンク12のうちの1つまたは複数は、ワイヤレスリンク10と同じ通信プロトコルに準拠し得る。たとえば、ワイヤレスリンク10およびワイヤレスリンク12Aは両方とも、Wi−Fi Direct通信プロトコルに準拠し得る。1次ソースデバイス6がグループを確立する場合などのいくつかの例では、2次ソースデバイス8のうちの1つまたは複数はグループに加入し得る。いくつかの例では、ワイヤレスリンク12のうちの1つまたは複数は、たとえば、1次ソースデバイス6と2次ソースデバイス8のうちの1つまたは複数との間で制御データが交換されることを可能にするために、それぞれ、制御チャネル18A〜18N(総称して「制御チャネル18」)のうちの1つまたは複数を含み得る。いくつかの例では、ワイヤレスリンク12のうちの1つまたは複数は、メディア共有セッション11の確立より前に確立され得る。
【0021】
[0026]本開示の1つまたは複数の技法によれば、1次ソースデバイス6は、2次ソースデバイス8のうちの1つにメディア共有セッションへの送信権利11を転送し得る。いくつかの例では、1次ソースデバイス6は、メディア共有セッション11の動作中に送信権利を転送し得る。いくつかの例では、1次ソースデバイス6は、2次ソースデバイスから権利要求メッセージ(rights request message)を受信したことに応答して、送信権利を2次ソースデバイスに転送し得る。いくつかの例では、1次ソースデバイス6は、1次ソースデバイス6のユーザからユーザ入力を受信したことに応答して、送信権利を2次ソースデバイスに転送し得る。いくつかの例では、1次ソースデバイス6は、2次ソースデバイスに権利付与済みメッセージ(rights granted message)を送ることによって送信権利を転送し得る。いくつかの例では、権利付与済みメッセージは、2次ソースデバイスがメディア共有セッションを続けることを可能にし得る情報を含み得る。
図1Aの例では、1次ソースデバイス6は、2次ソースデバイス8Aにメディア共有セッションへの送信権利を転送し得る。
【0022】
[0027]2次ソースデバイス8のうちの1つまたは複数は、送信権利を受信した後に、シンクデバイス4のインターフェースにおける出力のためにシンクデバイス4にメディアデータ16Aを送信するために、メディア共有セッション11を利用し得る。
図1Bの例に示すように、2次ソースデバイス8Aは、シンクデバイス4のインターフェースにおける出力のために、1次ソースデバイス6を介して、シンクデバイス4にメディアデータ16Bを送信し得る。このようにして、複数のソースデバイスは、代替的に、メディア共有セッションを再ネゴシエートすることなしにシンクデバイスを使用し得る。
【0023】
[0028]1次ソースデバイス6は、2次ソースデバイス8のうちの別の2次ソースデバイス(たとえば、送信権利を有しない2次ソースデバイス8)に送信権利を転送し得る。いくつかの例では、1次ソースデバイス6は、送信権利を現在所有する2次ソースデバイスに権利解放メッセージ(release rights message)を送り得る。
図1Bの例では、1次ソースデバイス6は、制御チャネル18Aを介して2次ソースデバイス8Aに権利解放メッセージ(rights release message)を送り得る。1次ソースデバイス6は、現在送信している2次ソースデバイスから、権利解放済みメッセージ(rights released message)を受信し得る。いくつかの例では、権利解放済みメッセージは、別のソースデバイスがメディア共有セッションを続けることを可能にし得る情報を含み得る。
図1Bの例では、1次ソースデバイス6は、2次ソースデバイス8Aから権利解放済みメッセージを受信し得る。権利解放済みメッセージを受信したことに応答して、1次ソースデバイス6は別の2次ソースデバイスに送信権利を転送し得る。たとえば、2次ソースデバイス8Aから権利解放済みメッセージを受信したことに応答して、1次ソースデバイス6は2次ソースデバイス8Bに送信権利を転送し得る。
【0024】
[0029]
図2Aおよび
図2Bは、本開示の1つまたは複数の技法による、システム2の一例のさらなる詳細を示すブロック図である。
図2Aおよび
図2Bの例に示されているように、システム2は、シンクデバイス4と、1次ソースデバイス6と、2次ソースデバイス8とを含み得る。
【0025】
[0030]
図2Aおよび
図2Bに示されているように、シンクデバイス4は、1つまたは複数のプロセッサ22と、1つまたは複数の通信ユニット24と、1つまたは複数のユーザインターフェース(UI)デバイス26と、1つまたは複数の記憶デバイス28とを含み得る。構成要素22、24、26、および28の各々は、構成要素間通信のための通信チャネル30を介して(物理的に、通信可能に、および/または動作可能に)相互接続され得る。いくつかの例では、通信チャネル30は、システムバス、ネットワーク接続、プロセス間通信データ構造、またはデータを通信するための他のチャネルを含み得る。記憶デバイス28のうちの1つまたは複数は、いくつかの例では、UIモジュール32と通信モジュール34とを含み得る。UIモジュール32および/または通信モジュール34は、情報を互いと通信し、ならびに通信ユニット24など、シンクデバイス4中の他の構成要素と通信し得る。
【0026】
[0031]プロセッサ22は、一例では、機能を実装し、および/またはシンクデバイス4内で実行するための命令を処理するように構成される。たとえば、プロセッサ22は、記憶デバイス28のうちの1つまたは複数に記憶された命令を処理することが可能であり得る。プロセッサ22の例としては、任意の1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、あるいは他の同等の集積回路もしくはディスクリート論理回路、ならびにそのような構成要素の任意の組合せがあり得る。
【0027】
[0032]シンクデバイス4はまた、いくつかの例では、1つまたは複数の通信ユニット24を含む。シンクデバイス4は、一例では、1つまたは複数のワイヤレスネットワークなどの1つまたは複数のネットワークを介して外部デバイスと通信するために、通信ユニット24のうちの1つまたは複数を利用する。通信ユニット24のうちの1つまたは複数は、イーサネット(登録商標)カードなどのネットワークインターフェースカード、光トランシーバ、無線周波数トランシーバ、または情報を送信および受信することができる他のタイプのデバイスであり得る。そのようなネットワークインターフェースの他の例としては、Bluetooth、3G、およびWi−Fi無線があり得る。いくつかの例では、シンクデバイス4は、外部デバイスとワイヤレス通信するために通信ユニット24を利用する。たとえば、シンクデバイス4は、ワイヤレスリンク10上で1次ソースデバイス6とワイヤレス通信するために通信ユニット24を利用し得る。いくつかの例では、通信ユニット24は、通信ユニット24に、1次ソースデバイス6の通信ユニット40などの外部デバイスとワイヤレス通信させる、通信モジュール34など、シンクデバイス4の他の構成要素から入力を受信し得る。
【0028】
[0033]シンクデバイス4はまた、いくつかの例では、通信モジュール34を含む。いくつかの例では、通信モジュール34は、シンクデバイス4と1次ソースデバイス6などの外部デバイスとの間の通信を管理し得る。たとえば、通信モジュール34は、1次ソースデバイス6によってホストされるネットワークに接続し得る。いくつかの例では、通信モジュール34はデータを1次ソースデバイス6と交換し得る。一例として、通信モジュール34は、1次ソースデバイス6からメディアデータを受信し得る。いくつかの例では、通信モジュール34は、受信された情報をシンクデバイス4の他の構成要素に与え得る。たとえば、通信モジュール34は、受信されたメディアデータをUIモジュール32に与え得る。
【0029】
[0034]シンクデバイス4はまた、いくつかの例では、1つまたは複数のUIデバイス26を含み得る。いくつかの例では、UIデバイス26のうちの1つまたは複数は、メディアデータなどのコンテンツを出力するように構成され得る。たとえば、UIデバイス26のうちの1つまたは複数は、ディスプレイにおいてビデオデータを表示し、および/またはスピーカーからオーディオデータを出力するように構成され得る。コンテンツを出力することに加えて、UIデバイス26のうちの1つまたは複数は、触覚入力、聴覚入力、または視覚入力を受信するように構成され得る。UIデバイス26のいくつかの例としては、ビデオディスプレイ、スピーカー、キーボード、タッチスクリーン、マウス、カメラなどがある。
【0030】
[0035]シンクデバイス4はまた、いくつかの例では、UIモジュール32を含み得る。UIモジュール32は、シンクデバイス4に関連する他の構成要素から、メディアデータなどのコンテンツを受信し、UIデバイス26のうちの1つまたは複数にコンテンツを出力させるために、1つまたは複数の機能を実行することができる。いくつかの例では、UIモジュール32は、ユーザ入力などの入力の指示を受信し、入力の指示を、通信モジュール34のうちの1つまたは複数など、シンクデバイス4に関連する他の構成要素に送るように構成され得る。そのデータを使用して、UIモジュール32は、UIデバイス26のうちの1つまたは複数など、シンクデバイス4に関連する他の構成要素に、そのデータに基づいて出力を与えさせ得る。
【0031】
[0036]1つまたは複数の記憶デバイス28は、動作中にシンクデバイス4内に情報を記憶するように構成され得る。記憶デバイス28のうちの1つまたは複数は、いくつかの例では、コンピュータ可読記憶媒体を備え得る。いくつかの例では、記憶デバイス28のうちの1つまたは複数は一時メモリを備え得、これは、記憶デバイス28のうちの1つまたは複数の主目的が長期保存でないことを意味する。記憶デバイス28のうちの1つまたは複数は、いくつかの例では、揮発性メモリを備え得、これは、システムがオフにされたときに記憶デバイス28のうちの1つまたは複数が、記憶されたコンテンツを維持しないことを意味する。揮発性メモリの例としては、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、および当技術分野で知られている他の形態の揮発性メモリがある。いくつかの例では、記憶デバイス28のうちの1つまたは複数は、プロセッサ22が実行するためのプログラム命令を記憶するために使用される。記憶デバイス28のうちの1つまたは複数は、一例では、プログラム実行中に情報を一時的に記憶するために、シンクデバイス4上で実行しているソフトウェアまたはモジュール(たとえば、UIモジュール32および通信モジュール34によって使用され得る。
【0032】
[0037]記憶デバイス28のうちの1つまたは複数はまた、いくつかの例では、1つまたは複数のコンピュータ可読記憶媒体を含み得る。記憶デバイス28のうちの1つまたは複数は、情報の長期記憶のためにさらに構成され得る。いくつかの例では、記憶デバイス28のうちの1つまたは複数は不揮発性記憶要素を含み得る。そのような不揮発性記憶要素の例としては、磁気ハードディスク、光ディスク、フロッピー(登録商標)ディスク、フラッシュメモリ、あるいは電気的プログラマブルメモリ(EPROM)または電気消去可能およびプログラマブル(EEPROM(登録商標))メモリの形態がある。
【0033】
[0038]
図2Aおよび
図2Bに示されているように、1次ソースデバイス6は、1つまたは複数のプロセッサ38と、1つまたは複数の通信ユニット40と、1つまたは複数のユーザインターフェース(UI)デバイス42と、1つまたは複数の記憶デバイス44とを含み得る。構成要素38、40、42、および44の各々は、構成要素間通信のための通信チャネル46を介して(物理的に、通信可能に、および/または動作可能に)相互接続され得る。いくつかの例では、通信チャネル46は、システムバス、ネットワーク接続、プロセス間通信データ構造、またはデータを通信するための他のチャネルを含み得る。記憶デバイス44のうちの1つまたは複数は、いくつかの例では、1つまたは複数のアプリケーションモジュール48A〜48N(総称して「アプリケーションモジュール48」)と、送信権利モジュール50と、UIモジュール52と、通信モジュール54とを含み得る。アプリケーションモジュール48、送信権利モジュール50、UIモジュール52、および通信モジュール54は、情報を互いと通信し、ならびに通信ユニット40のうちの1つまたは複数など、1次ソースデバイス6中の他の構成要素と通信し得る。
【0034】
[0039]プロセッサ38は、一例では、機能を実装し、および/または1次ソースデバイス6内で実行するための命令を処理するように構成される。たとえば、プロセッサ38は、記憶デバイス44のうちの1つまたは複数に記憶された命令を処理することが可能であり得る。プロセッサ38の例としては、任意の1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、あるいは他の同等の集積回路もしくはディスクリート論理回路、ならびにそのような構成要素の任意の組合せがあり得る。
【0035】
[0040]1次ソースデバイス6はまた、いくつかの例では、1つまたは複数の通信ユニット40を含む。1次ソースデバイス6は、一例では、1つまたは複数のワイヤレスネットワークなどの1つまたは複数のネットワークを介して外部デバイスと通信するために、通信ユニット40のうちの1つまたは複数を利用する。通信ユニット40のうちの1つまたは複数は、イーサネットカードなどのネットワークインターフェースカード、光トランシーバ、無線周波数トランシーバ、または情報を送信および受信することができる他のタイプのデバイスであり得る。そのようなネットワークインターフェースの他の例としては、Bluetooth、3G、およびWi−Fi無線があり得る。いくつかの例では、1次ソースデバイス6は、1つまたは複数の外部デバイスとワイヤレス通信するために通信ユニット40を利用する。たとえば、1次ソースデバイス6は、ワイヤレスリンク10上でシンクデバイス4とワイヤレス通信するために通信ユニット40のうちの1つまたは複数を利用し得る。別の例として、1次ソースデバイス6は、ワイヤレスリンク12上で2次ソースデバイス8とワイヤレス通信するために通信ユニット40のうちの1つまたは複数を利用し得る。いくつかの例では、通信ユニット40は、通信ユニット40に、シンクデバイス4の通信ユニット24および/または2次ソースデバイス8の通信ユニット60などの1つまたは複数の外部デバイスとワイヤレス通信させる、通信モジュール54など、1次ソースデバイス6の他の構成要素から入力を受信し得る。
【0036】
[0041]1次ソースデバイス6はまた、いくつかの例では、通信モジュール54を含む。いくつかの例では、通信モジュール54は、1次ソースデバイス6と、シンクデバイス4および/または2次ソースデバイス8などの1つまたは複数の外部デバイスとの間の通信を管理し得る。たとえば、通信モジュール54は、シンクデバイス4および/または2次ソースデバイス8によって加入され得る1つまたは複数のワイヤレスネットワークをホストし得る。いくつかの例では、通信モジュール54は、Wi−Fiダイレクトをサポートしない他のデバイスが依然として加入し得るように、レガシーWi−Fiホットスポットとして動作し得る。いくつかの例では、通信モジュール35は、データをシンクデバイス4および/または2次ソースデバイス8と交換し得る。一例として、通信モジュール54は、メディア共有セッション11などのメディア共有セッションをシンクデバイス4とネゴシエートするように構成され得る。たとえば、通信モジュール54は、メディア共有セッションのためのビデオ、オーディオ、および/またはネットワーク設定をシンクデバイス4とネゴシエートし得る。いくつかの例示的な設定は、メディア共有セッション中に使用するための解像度と、1つまたは複数のコーデックと、UDPポート番号とを含み得る。いくつかの例では、通信モジュール54は、メディア共有セッションをネゴシエートするためにリアルタイムストリーミングプロトコル(RTSP)を使用し得る。
【0037】
[0042]別の例として、通信モジュール54はメディアデータをシンクデバイス4に送り得る。たとえば、通信モジュール54は、メディアデータを含む複数のパケットをシンクデバイス4に送り得る。また別の例として、1次ソースデバイス6は2次ソースデバイス8からメディアデータを受信し、受信されたデータをシンクデバイス4にフォワーディングし得る。たとえば、1次ソースデバイス6は、2次ソースデバイス8から、メディアデータを含む複数のパケットを受信し、受信されたパケットをシンクデバイス4に送り得る。いくつかの例では、通信モジュール54は、メディアデータをMPEG2−TSフォーマットでカプセル化し、ユーザデータグラムプロトコル(UDP:user datagram protocol)上でデータをトランスポートするように構成され得る。いくつかの例では、通信モジュール54によって送られた複数のパケットはリアルタイムトランスポートプロトコル(RTP:real-time transport protocol)パケットであり得る。いくつかの例では、パケットは、以下の表1に従ってフォーマットされ得る。
【0038】
[0043]いくつかの例では、パケットは、
図3に関して以下でさらに説明するヘッダを含み得る。以下で表1に示すように、パケットは連続カウンタを含み得る。いくつかの例では、通信モジュール54は、送信される後続の各パケットについて連続カウンタの値を増分し得る。たとえば、通信モジュール54は、連続カウンタ値10をもつ第1のパケットの送信に続いて、連続カウンタ値11をもつ第2のパケットを送信し得る。いくつかの例では、連続カウンタ値はシーケンス番号と呼ばれることがある。また、以下で表1に示すように、パケットはPID値を含み得る。いくつかの例では、通信モジュール54は、複数のタイプのパケット(たとえば、オーディオパケット、ビデオパケット、およびプログラムクロックリファレンス(PCR:program clock reference)値を搬送するパケット)を送信するように構成され得る。パケットの各タイプは固有のPIDを有し得る。いくつかの例では、パケットの各タイプに対応するPIDは、より多くの仕様(たとえば、Miracast(登録商標))のうちの1つに基づいて決定され得る。いくつかの例では、通信モジュール54は、プログラムクロックリファレンス(PCR)値を含むパケットを通信モジュール34に送信するように構成され得る。いくつかの例では、通信モジュール54はデータを1次ソースデバイス6の他の構成要素に与え得る。たとえば、通信モジュール54はデータを送信権利モジュール50に与え得る。
【0040】
[0044]1次ソースデバイス6はまた、いくつかの例では、1つまたは複数のUIデバイス42を含み得る。いくつかの例では、UIデバイス42のうちの1つまたは複数は、メディアデータなどのコンテンツを出力するように構成され得る。たとえば、UIデバイス42のうちの1つまたは複数は、ディスプレイにおいてビデオデータを表示し、および/またはスピーカーからオーディオデータを出力するように構成され得る。コンテンツを出力することに加えて、UIデバイス42のうちの1つまたは複数は、触覚入力、聴覚入力、または視覚入力を受信するように構成され得る。UIデバイス42のいくつかの例としては、ビデオディスプレイ、スピーカー、キーボード、タッチスクリーン、マウス、カメラなどがある。
【0041】
[0045]1次ソースデバイス6はまた、いくつかの例では、UIモジュール52を含み得る。UIモジュール52は、1次ソースデバイス6に関連する他の構成要素から、メディアデータなどのコンテンツを受信し、UIデバイス42のうちの1つまたは複数にコンテンツを出力させるために、1つまたは複数の機能を実行することができる。いくつかの例では、UIモジュール52は、通信モジュール54に、メディアデータなどのコンテンツを送るために1つまたは複数の機能を実行し得る。いくつかの例では、UIモジュール52は、ユーザ入力などの入力の指示を受信し、入力の指示を、通信モジュール54のうちの1つまたは複数および/あるいは送信権利モジュール50など、1次ソースデバイス6に関連する他の構成要素に送るように構成され得る。そのデータを使用して、UIモジュール52は、UIデバイス42のうちの1つまたは複数など、1次ソースデバイス6に関連する他の構成要素に、そのデータに基づいて出力を与えさせ得る。
【0042】
[0046]1つまたは複数の記憶デバイス44は、動作中に1次ソースデバイス6内に情報を記憶するように構成され得る。記憶デバイス44のうちの1つまたは複数は、いくつかの例では、コンピュータ可読記憶媒体を備え得る。いくつかの例では、記憶デバイス44のうちの1つまたは複数は一時メモリを備え得、これは、記憶デバイス44のうちの1つまたは複数の主目的が長期保存でないことを意味する。記憶デバイス44のうちの1つまたは複数は、いくつかの例では、揮発性メモリを備え得、これは、システムがオフにされたときに記憶デバイス44のうちの1つまたは複数が、記憶されたコンテンツを維持しないことを意味する。揮発性メモリの例としては、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、および当技術分野で知られている他の形態の揮発性メモリがある。いくつかの例では、記憶デバイス44のうちの1つまたは複数は、プロセッサ38が実行するためのプログラム命令を記憶するために使用される。記憶デバイス44のうちの1つまたは複数は、一例では、プログラム実行中に情報を一時的に記憶するために、1次ソースデバイス6上で実行しているソフトウェアまたはモジュール(たとえば、アプリケーションモジュール48、送信権利モジュール50、UIモジュール52、および通信モジュール54)によって使用され得る。
【0043】
[0047]記憶デバイス44のうちの1つまたは複数はまた、いくつかの例では、1つまたは複数のコンピュータ可読記憶媒体を含み得る。記憶デバイス44のうちの1つまたは複数は、情報の長期記憶のためにさらに構成され得る。いくつかの例では、記憶デバイス44のうちの1つまたは複数は不揮発性記憶要素を含み得る。そのような不揮発性記憶要素の例としては、磁気ハードディスク、光ディスク、フロッピーディスク、フラッシュメモリ、あるいは電気的プログラマブルメモリ(EPROM)または電気消去可能およびプログラマブル(EEPROM)メモリの形態がある。
【0044】
[0048]アプリケーションモジュール48の各々は、1次ソースデバイス6を製造する団体によって提供されるアプリケーション、または1次ソースデバイス6上で動作するソフトウェア、または1次ソースデバイス6とともに使用するためにサードパーティによって開発されたアプリケーションを表し得る。アプリケーションモジュール48の例としては、移動経路設定、地図、オーディオおよび/またはビデオの提示、ストリーミングビデオの配信および提示、音声および/または通話、天気などのためのアプリケーションがあり得る。
【0045】
[0049]1次ソースデバイス6はまた、送信権利モジュール50を含み得る。いくつかの例では、送信権利モジュール50は、メディア共有セッションへの送信権利を管理するように構成され得る。たとえば、送信権利モジュール50は、シンクデバイス4と1次ソースデバイス6との間のメディア共有セッション11への送信権利を管理するように構成され得る。いくつかの例では、送信権利モジュール50は、メディア共有セッション11への送信権利を1次ソースデバイス6から2次ソースデバイス8に転送することによって、送信権利を管理し得る。いくつかの例では、送信権利モジュール50は、2次ソースデバイス8に権利付与済みメッセージを送ることによって、2次ソースデバイス8に送信権利を転送し得る。いくつかの例では、権利付与済みメッセージは、メディア共有セッション11中に不連続性を生じることなしにメディア共有セッション11上での送信を開始するために、2次ソースデバイス8によって必要とされる情報を含み得る。いくつかの例では、送信権利モジュール50は、2次ソースデバイス8にトークンを送ることによって、2次ソースデバイス8に送信権利を転送し得る。そのような例では、デバイスによるトークンの所有は、デバイスが送信権利を有することを示し得る。いくつかの例では、送信権利モジュール50は、2次ソースデバイス8などの2次ソースデバイスから送信権利についての要求を受信するように構成され得る。
【0046】
[0050]アプリケーションモジュール48、送信権利モジュール50、UIモジュール52、および通信モジュール54(総称して「1次ソースデバイスモジュール」)のいずれも、様々な方法で実装され得る。たとえば、1つまたは複数の1次ソースデバイスモジュールは、ダウンロード可能あるいはプレインストールされたアプリケーションまたは「アプリ」として実装され得る。別の例では、1次ソースデバイスモジュールのうちの1つまたは複数は、1次ソースデバイス6のハードウェアユニットの一部として実装され得る。別の例では、1次ソースデバイスモジュールのうちの1つまたは複数は、1次ソースデバイス6のオペレーティングシステムの一部として実装され得る。
【0047】
[0051]
図2Aおよび
図2Bに示されているように、2次ソースデバイス8は、1つまたは複数のプロセッサ58と、1つまたは複数の通信ユニット60と、1つまたは複数のユーザインターフェース(UI)デバイス62と、1つまたは複数の記憶デバイス64とを含み得る。構成要素58、60、62、および64の各々は、構成要素間通信のための通信チャネル66を介して(物理的に、通信可能に、および/または動作可能に)相互接続され得る。いくつかの例では、通信チャネル66は、システムバス、ネットワーク接続、プロセス間通信データ構造、またはデータを通信するための他のチャネルを含み得る。記憶デバイス64のうちの1つまたは複数は、いくつかの例では、1つまたは複数のアプリケーションモジュール68A〜68N(総称して「アプリケーションモジュール68」)と、送信権利モジュール70と、UIモジュール72と、通信モジュール74とを含み得る。アプリケーションモジュール68、送信権利モジュール70、UIモジュール72、および通信モジュール74は、情報を互いと通信し、ならびに通信ユニット60のうちの1つまたは複数など、2次ソースデバイス8中の他の構成要素と通信し得る。
【0048】
[0052]プロセッサ58は、一例では、機能を実装し、および/または2次ソースデバイス8内で実行するための命令を処理するように構成される。たとえば、プロセッサ58は、記憶デバイス64のうちの1つまたは複数に記憶された命令を処理することが可能であり得る。プロセッサ58の例としては、任意の1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、あるいは他の同等の集積回路もしくはディスクリート論理回路、ならびにそのような構成要素の任意の組合せがあり得る。
【0049】
[0053]2次ソースデバイス8はまた、いくつかの例では、1つまたは複数の通信ユニット60を含む。2次ソースデバイス8は、一例では、1つまたは複数のワイヤレスネットワークなどの1つまたは複数のネットワークを介して外部デバイスと通信するために、通信ユニット60のうちの1つまたは複数を利用する。通信ユニット60のうちの1つまたは複数は、イーサネットカードなどのネットワークインターフェースカード、光トランシーバ、無線周波数トランシーバ、または情報を送信および受信することができる他のタイプのデバイスであり得る。そのようなネットワークインターフェースの他の例としては、Bluetooth、3G、およびWi−Fi無線があり得る。いくつかの例では、2次ソースデバイス8は、1つまたは複数の外部デバイスとワイヤレス通信するために通信ユニット60のうちの1つまたは複数を利用する。たとえば、2次ソースデバイス8は、ワイヤレスリンク12上で1次ソースデバイス6とワイヤレス通信するために通信ユニット60のうちの1つまたは複数を利用し得る。いくつかの例では、通信ユニット60は、通信ユニット60に、1次ソースデバイス6の通信ユニット40など、1つまたは複数の外部デバイスとワイヤレス通信させる、通信モジュール74など、2次ソースデバイス8の他の構成要素から入力を受信し得る。
【0050】
[0054]2次ソースデバイス8はまた、いくつかの例では、通信モジュール74を含む。いくつかの例では、通信モジュール74は、2次ソースデバイス8と、1次ソースデバイス6など、1つまたは複数の外部デバイスとの間の通信を管理し得る。たとえば、通信モジュール74は、1次ソースデバイス6によってホストされるネットワークに接続し得る。いくつかの例では、通信モジュール74はデータを1次ソースデバイス6およびまたはシンクデバイス4と交換し得る。一例として、通信モジュール74は、メディアデータを1次ソースデバイス6に送り得る。たとえば、通信モジュール74は、シンクデバイス4にフォワーディングするために、メディアデータを含む複数のパケットを1次ソースデバイス6に送り得る。いくつかの例では、通信モジュール74によって送られたメディアデータのパケットは、1次ソースデバイス6の通信モジュール54によって送られたメディアデータのパケット(すなわち、RTPパケット)と同様であり得る。いくつかの例では、通信モジュール74は、受信されたデータを2次ソースデバイス8の他の構成要素に与え得る。たとえば、通信モジュール74は、受信されたデータを送信権利モジュール70に与え得る。
【0051】
[0055]2次ソースデバイス8はまた、いくつかの例では、1つまたは複数のUIデバイス62を含み得る。いくつかの例では、UIデバイス62のうちの1つまたは複数は、メディアデータなどのコンテンツを出力するように構成され得る。たとえば、UIデバイス62のうちの1つまたは複数は、ディスプレイにおいてビデオデータを表示し、および/またはスピーカーからオーディオデータを出力するように構成され得る。コンテンツを出力することに加えて、UIデバイス62のうちの1つまたは複数は、触覚入力、聴覚入力、または視覚入力を受信するように構成され得る。UIデバイス62のいくつかの例としては、ビデオディスプレイ、スピーカー、キーボード、タッチスクリーン、マウス、カメラなどがある。
【0052】
[0056]2次ソースデバイス8はまた、いくつかの例では、UIモジュール72を含み得る。UIモジュール72は、2次ソースデバイス8に関連する他の構成要素から、メディアデータなどのコンテンツを受信し、UIデバイス62のうちの1つまたは複数にコンテンツを出力させるために、1つまたは複数の機能を実行することができる。いくつかの例では、UIモジュール72は、ユーザ入力などの入力の指示を受信し、入力の指示を、通信モジュール74のうちの1つまたは複数および/あるいは送信権利モジュール70など、2次ソースデバイス8に関連する他の構成要素に送るように構成され得る。そのデータを使用して、UIモジュール72は、UIデバイス62のうちの1つまたは複数など、2次ソースデバイス8に関連する他の構成要素に、そのデータに基づいて出力を与えさせ得る。
【0053】
[0057]1つまたは複数の記憶デバイス64は、動作中に2次ソースデバイス8内に情報を記憶するように構成され得る。記憶デバイス64のうちの1つまたは複数は、いくつかの例では、コンピュータ可読記憶媒体を備え得る。いくつかの例では、記憶デバイス64のうちの1つまたは複数は一時メモリを備え得、これは、記憶デバイス64のうちの1つまたは複数の主目的が長期保存でないことを意味する。記憶デバイス64のうちの1つまたは複数は、いくつかの例では、揮発性メモリを備え得、これは、システムがオフにされたときに記憶デバイス64のうちの1つまたは複数が、記憶されたコンテンツを維持しないことを意味する。揮発性メモリの例としては、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、および当技術分野で知られている他の形態の揮発性メモリがある。いくつかの例では、記憶デバイス64のうちの1つまたは複数は、プロセッサ58が実行するためのプログラム命令を記憶するために使用される。記憶デバイス64のうちの1つまたは複数は、一例では、プログラム実行中に情報を一時的に記憶するために、2次ソースデバイス8上で実行しているソフトウェアまたはモジュール(たとえば、アプリケーションモジュール68、送信権利モジュール70、UIモジュール72、および通信モジュール74)によって使用され得る。
【0054】
[0058]記憶デバイス64のうちの1つまたは複数はまた、いくつかの例では、1つまたは複数のコンピュータ可読記憶媒体を含み得る。記憶デバイス64のうちの1つまたは複数は、情報の長期記憶のためにさらに構成され得る。いくつかの例では、記憶デバイス64のうちの1つまたは複数は不揮発性記憶要素を含み得る。そのような不揮発性記憶要素の例としては、磁気ハードディスク、光ディスク、フロッピーディスク、フラッシュメモリ、あるいは電気的プログラマブルメモリ(EPROM)または電気消去可能およびプログラマブル(EEPROM)メモリの形態がある。
【0055】
[0059]アプリケーションモジュール68の各々は、2次ソースデバイス8を製造する団体によって提供されるアプリケーション、または2次ソースデバイス8上で動作するソフトウェア、または2次ソースデバイス8とともに使用するためにサードパーティによって開発されたアプリケーションを表し得る。アプリケーションモジュール68の例としては、移動経路設定、地図、オーディオおよび/またはビデオの提示、ストリーミングビデオの配信および提示、音声および/または通話、天気などのためのアプリケーションがあり得る。
【0056】
[0060]2次ソースデバイス8はまた、送信権利モジュール70を含み得る。いくつかの例では、送信権利モジュール70は、メディア共有セッションへの送信権利を管理するように構成され得る。たとえば、送信権利モジュール70は、メディア共有セッション11への送信権利を交換する(送信および受信する)ように構成され得る。いくつかの例では、送信権利モジュール70は、送信権利を1次ソースデバイス6の送信権利モジュール50と交換し得る。いくつかの例では、送信権利モジュール70は、送信権利を別の2次ソースデバイスの送信権利モジュールと交換し得る。
【0057】
[0061]アプリケーションモジュール68、送信権利モジュール70、UIモジュール72、および通信モジュール74(総称して「2次ソースデバイスモジュール」)のいずれも、様々な方法で実装され得る。たとえば、1つまたは複数の2次ソースデバイスモジュールは、ダウンロード可能あるいはプレインストールされたアプリケーションまたは「アプリ」として実装され得る。別の例では、2次ソースデバイスモジュールのうちの1つまたは複数は、2次ソースデバイス8のハードウェアユニットの一部として実装され得る。別の例では、2次ソースデバイスモジュールのうちの1つまたは複数は、2次ソースデバイス8のオペレーティングシステムの一部として実装され得る。
【0058】
[0062]本開示のより多くの技法のうちの1つによれば、および
図2Aに示されているように、1次ソースデバイス6の通信モジュール54はグループを確立し得る。たとえば、通信モジュール54はWi−Fi Directグループを確立し得る。いくつかの例では、1次ソースデバイス6はグループの所有者と呼ばれることがある。グループの確立に続いて、通信モジュール54は、他のデバイスがグループに加入することを可能にし得る。
【0059】
[0063]シンクデバイス4の通信モジュール34は、1次ソースデバイス6を発見し、1次ソースデバイス6の通信モジュール54によってホストされるグループに加入するためにワイヤレスリンク10を利用し得る。いくつかの例では、通信モジュール34は、1次ソースデバイス6から受信された勧誘に応答してグループに加入し得る。いくつかの例では、通信モジュール34は、UIモジュール32によって受信されたユーザ入力に応答してグループに加入し得る。いくつかの例では、通信モジュール34は、通信モジュール54によってインターネットプロトコル(IP)アドレスを割り当てられ得る。いくつかの例では、通信モジュール34は、通信モジュール54からクロック同期信号を受信し得る。このようにして、1次ソースデバイス6とシンクデバイス4とは、同じクロックに同期され得る。
【0060】
[0064]シンクデバイス4がグループに加入した後、1次ソースデバイス6はメディア共有セッション11をシンクデバイス4とネゴシエートし得る。いくつかの例では、1次ソースデバイス6は、いくつかのパラメータが同意されるまでメッセージをシンクデバイス4と交換することによって、メディア共有セッション11をシンクデバイス4とネゴシエートし得る。いくつかの例示的なパラメータは、ビデオ解像度、より多くのコーデックのうちの1つ、UDPポート番号、フレームレート、オーディオサンプリングレート、および/またはチャネルの数を含み得る。いくつかの例では、メディア共有セッション11への送信権利は、最初に1次ソースデバイス6に割り当てられ得る。言い換えれば、データを送信するための最初の権利は、1次ソースデバイス6に存在し得る。
【0061】
[0065]ネゴシエーションに続いて、1次ソースデバイス6は、シンクデバイス4へのメディアデータ16Aの送信を開始するためにメディア共有セッション11を使用し得る。言い換えれば、1次ソースデバイス6はメディアデータをシンクデバイス4にストリーミングし始め得る。たとえば、通信モジュール54は、通信モジュール34の同意されたUDPポートにメディアデータを含むパケットを送り始め得る。いくつかの例では、通信モジュール54は、メディアデータをMPEG2−TSフォーマットにカプセル化し、メディアデータをRTPパケットとして通信モジュール34にトランスポートし得る。いくつかの例では、送られるパケットの各々は、それぞれのシーケンス番号を含み得る。
【0062】
[0066]シンクデバイス4は、メディアデータを受信し、1つまたは複数のインターフェースにおいてメディアデータを出力し得る。たとえば、通信モジュール34は、同意されたUDPポートにおいてパケットを受信し、UIモジュール32にメディアデータを与え得る。UIモジュール32は、次いで、UIデバイス26のうちの1つまたは複数に、メディアデータを出力させ得る。たとえば、UIデバイス26のビデオディスプレイはメディアデータのビデオ成分を出力し得、UIデバイス26の1つまたは複数のスピーカーはメディアデータのオーディオ成分を出力し得る。
【0063】
[0067]2次ソースデバイス8の通信モジュール74は、1次ソースデバイス6を発見し、1次ソースデバイス6の通信モジュール54によってホストされるグループに加入するためにワイヤレスリンク12を利用し得る。いくつかの例では、通信モジュール74は、1次ソースデバイス6から受信された勧誘に応答してグループに加入し得る。いくつかの例では、通信モジュール74は、UIモジュール72によって受信されたユーザ入力に応答してグループに加入し得る。いくつかの例では、通信モジュール74は、通信モジュール54によってインターネットプロトコル(IP)アドレスを割り当てられ得る。いくつかの例では、通信モジュール74は、通信モジュール54からクロック同期信号を受信し得る。このようにして、1次ソースデバイス6と2次ソースデバイス8とは、同じクロックに同期され得る。
【0064】
[0068]メディア共有セッション11の動作中に、1次ソースデバイス6の送信権利モジュール50は、メディア共有セッション11への送信権利を2次ソースデバイス8の送信権利モジュール70に転送し得る。いくつかの例では、送信権利モジュール50は、通信ユニット40のより多くのうちの1つに、制御チャネル18を介して、送信権利モジュール70に権利付与済みメッセージを送らせることによって、送信権利を転送し得る。いくつかの例では、通信モジュール54は、最終シーケンス番号を含む最終パケットを通信モジュール34に送り得る。いくつかの例では、権利付与済みメッセージは、2次ソースデバイス8が同じメディア共有セッションを使用し続けることを可能にする1つまたは複数の値を含み得る。たとえば、権利付与済みメッセージは、最終シーケンス番号の値に対応する値、プログラムクロックリファレンス値、PID値、シンクデバイス4に割り当てられたIPアドレス、および/またはネゴシエートされたパラメータ(たとえば、シンクデバイス4におけるRTPポート、コーデック、ビデオ解像度、フレームレート、オーディオサンプリングレート、および/またはチャネルの数)のうちの1つまたは複数を含み得る。
【0065】
[0069]いくつかの例では、権利付与済みメッセージは、最終シーケンス番号の値と等価な値を含み得る。いくつかの例では、最終パケットを送った後に、通信モジュール54は、1次ソースデバイス6によって生成されたメディアデータを含むパケットをシンクデバイス4に送信することを停止し得る。いくつかの例では、送信権利モジュール50は、2次ソースデバイス8から権利要求メッセージを受信したことに応答して送信権利を2次ソースデバイス8に転送し得る。いくつかの例では、メディア共有セッション11への送信権利は非モデレート型(すなわち、オンデマンド)であり得る。たとえば、送信権利モジュール50は、送信権利を転送するより前に、ユーザ承認を求めないことがある。いくつかの例では、メディア共有セッション11への送信権利はモデレート型であり得る。たとえば、送信権利モジュール50は、送信権利を転送するより前に、ユーザ承認を求め得る。一例として、送信権利モジュール50は、UIモジュール52に、転送の承認を要求するグラフィカルユーザインターフェースを出力させ得、UIモジュール52は、受信された承認または不承認を送信権利モジュール50に与え得る。いくつかの例では、交換のモード(すなわち、モデレート型または非モデレート型)は、UIモジュール52からユーザ入力を受信することによって選択され得る。いくつかの例では、交換のモードは、送信権利モジュール50によるデフォルト設定であり得る。
【0066】
[0070]
図2Bに示されているように、2次ソースデバイス8の送信権利モジュール70は、送信権利を受信し得る。いくつかの例では、送信権利を受信したことに応答して、送信権利モジュール70は、通信モジュール74が、メディアデータ16Bをシンクデバイス4に送信するためにメディア共有セッション11を使用し始めることを可能にし得る。言い換えれば、2次ソースデバイス8はメディアデータをシンクデバイス4にストリーミングし始め得る。いくつかの例では、通信モジュール74は、メディアデータ16Bを含むパケットを1次ソースデバイス6の通信モジュール54にワイヤレスリンク12上で送ることによって、メディアデータ16Bをシンクデバイス4に送信し得る。
【0067】
[0071]1次ソースデバイス6は2次ソースデバイス8からメディアデータを受信し、受信されたメディアデータをシンクデバイス4にフォワーディングし得る。たとえば、通信モジュール54は、通信モジュール74から、メディアデータを含むパケットを受信し、受信されたパケットを、通信モジュール34の同意されたUDPポートにフォワーディングし得る。
【0068】
[0072]シンクデバイス4は、メディアデータを受信し、1つまたは複数のインターフェースにおいてメディアデータを出力し得る。たとえば、通信モジュール34は、同意されたUDPポートにおいてパケットを受信し、UIモジュール32にメディアデータを与え得る。UIモジュール32は、次いで、UIデバイス26のうちの1つまたは複数に、メディアデータを出力させ得る。たとえば、UIデバイス26のビデオディスプレイはメディアデータのビデオ成分を出力し得、UIデバイス26の1つまたは複数のスピーカーはメディアデータのオーディオ成分を出力し得る。このようにして、2次ソースデバイス8は、メディア共有セッション11を再ネゴシエートすること、または異なるメディア共有セッションをネゴシエートすることなしに、シンクデバイス4に、2次ソースデバイス8によって生成されたメディアデータを出力させ得る。
【0069】
[0073]
図3は、本開示の1つまたは複数の技法による、メディア共有セッション中でメディアデータをトランスポートするために使用される例示的なパケットを示すブロック図である。
図3の例に示されているように、パケット78はパケットヘッダ80とペイロードデータ82とを含む。いくつかの例では、パケット78はRTPパケットであり得る。
【0070】
[0074]この例では、パケットヘッダ80は、バージョン(V)84と、パディング(P)86と、拡張(X)88と、CSRCカウント(CC)90と、マーカー(M)92と、ペイロードタイプ(PT)94と、シーケンス番号96とを指定する第1の32ビットワードを含み得る。さらに、パケットヘッダ80は、タイムスタンプ98と、同期ソース識別子(SSRC:synchronization source identifier)100と、1つまたは複数の寄与ソース識別子(CSRC:contributing source identifier)102とを指定し得る。
【0071】
[0075]V84は、
図1Aおよび
図1Bのメディア共有セッション11などのメディア共有セッションが準拠し得るプロトコルのバージョンを示し得る。P86は、パケット78の端部に余分のパディングバイトがあるかどうかを示し得る。X88は、ヘッダ80とペイロードデータ82との間の拡張ヘッダの存在を示し得る。CC90は、CSRC102中に含まれるCSRC識別子の量を示し得る。M92は、パケット78がアプリケーションへの何らかの特殊な関係性を有するかどうかを示し得る。PT94はペイロードデータ82のフォーマットを示し得る。シーケンス番号96はパケット78のシーケンス番号の値を示し得る。いくつかの例では、シーケンス番号96は16ビットカウンタであり得る。いくつかの例では、シーケンス番号96は、後続の各パケットについて増分され得る。
【0072】
[0076]タイムスタンプ98は、パケット78が作成された時間を示し得る。SSRC100は、パケット78のソースを示す一意の識別子であり得る。CSRC102は、パケット78を含むストリームに寄与する1つまたは複数のソースの識別子を示し得る。
【0073】
[0077]本開示の1つまたは複数の技法によれば、ソースデバイスはシンクデバイスに複数のパケット78を送り得る。1次ソースデバイスとシンクデバイスとの間のメディア共有セッションの動作中に、1次ソースデバイスは、メディア共有セッションへの送信権利を2次ソースデバイスに転送し得る。2次ソースデバイスは、次いで、1次ソースデバイスを介してシンクデバイスに複数のパケット78を送り得る。いくつかの例では、1次ソースデバイスによって送信されたパケット78と2次ソースデバイスによって送信されたパケット78とは、SSRC100について同等の値を有し得る。いくつかの例では、1次ソースデバイスと2次ソースデバイスとは、同じクロックに同期され得る。このようにして、1次ソースデバイスによって送信されたパケットのタイムスタンプ98の値は、2次ソースデバイスによって送信されたパケットのタイムスタンプ96の値と連続であり得る(すなわち、同期され得る)。いくつかの例では、送信権利が転送されるとき、タイムスタンプ96、シーケンス番号96、および/またはSSRC100の値は、送信権利を受信しているソースデバイスに通信され得る。このようにして、送信権利の受信側は、同じメディア共有セッションを使用し続け得る。
【0074】
[0078]
図4は、本開示の1つまたは複数の技法による、メディア共有セッションへの送信権利の転送を管理するためのシステムの例示的な動作を示す流れ図である。説明の目的で、
図4の技法について、
図1A、
図1B、
図2A、および
図2Bのシンクデバイス4、1次ソースデバイス6、および2次ソースデバイス8のコンテキスト内で説明するが、1次ソースデバイス6の構成とは異なる構成を有するソースデバイスが
図4の技法を実行し得る。
【0075】
[0079]
図5は、本開示の1つまたは複数の技法による、メディア共有セッションへの送信権利の転送を管理するための1次ソースデバイスの例示的な動作を示す流れ図である。説明の目的で、
図5の技法について、
図1A、
図1B、
図2A、および
図2Bの1次ソースデバイス6のコンテキスト内で説明するが、1次ソースデバイス6の構成とは異なる構成を有するソースデバイスが
図5の技法を実行し得る。
【0076】
[0080]本開示の1つまたは複数の技法によれば、1次ソースデバイス6は、1次ソースデバイス6とシンクデバイスとの間の第1の通信セッションを確立する(502)。第1の通信セッションの動作中に、1次ソースデバイス6は、1次ソースデバイス6とシンクデバイスとの間のワイヤレスメディア共有セッションを確立する(504)。1次ソースデバイス6は、1次ソースデバイス6と2次ソースデバイスとの間の第2の通信セッションを確立する(506)。ワイヤレスメディア共有セッションの動作中に、1次ソースデバイス6は、シンクデバイスとのワイヤレスメディア共有セッションへの送信権利を2次ソースデバイスに転送する(508)。このようにして、1次ソースデバイス6と1つまたは複数の2次ソースデバイスとは、各ソースデバイスがメディア共有セッションをネゴシエートすることなしに、ソースデバイスを共有し得る。
【0077】
[0081]
図6は、本開示の1つまたは複数の技法による、メディア共有セッションへの送信権利の転送を管理するための1次ソースデバイスの例示的な動作を示す流れ図である。説明の目的で、
図6の技法について、
図1A、
図1B、
図2A、および
図2Bの1次ソースデバイス6と、
図1Aおよび
図1Bの2次ソースデバイス8Aと、
図1Aおよび
図1Bの2次ソースデバイス8Bとのコンテキスト内で説明するが、1次ソースデバイス6と2次ソースデバイス8Aと2次ソースデバイス8Bとの構成とは異なる構成を有するソースデバイスが
図6の技法を実行し得る。
【0078】
[0082]本開示の1つまたは複数の技法によれば、1次ソースデバイス6は、1次ソースデバイス6とシンクデバイスとの間の第1の通信セッションを確立する(602)。第1の通信セッションの動作中に、1次ソースデバイス6は、1次ソースデバイス6とシンクデバイスとの間のワイヤレスメディア共有セッションを確立する(604)。1次ソースデバイス6は、1次ソースデバイス6と第1の2次ソースデバイス8Aとの間の第2の通信セッションを確立する(606)。1次ソースデバイス6は、1次ソースデバイス6と第2の2次ソースデバイス8Bとの間の第3の通信セッションを確立する(608)。ワイヤレスメディア共有セッションの動作中に、1次ソースデバイス6は、シンクデバイスとのワイヤレスメディア共有セッションへの送信権利を第2の2次ソースデバイス8Bに転送する(610)。
【0079】
[0083]1次ソースデバイス6は、第1の2次ソースデバイス8Aから権利要求通信(rights request communication)を受信する(612)。1次ソースデバイス6は、第2の2次ソースデバイス8Bが送信権利を有すると決定する(614)。1次ソースデバイス6は、次いで、第2の2次ソースデバイス8Bに権利解放通信(release rights communication)を送る(616)。1次ソースデバイス6は、第2の2次ソースデバイス8Bから権利解放済み通信(rights released communication)を受信する(618)。1次ソースデバイス6は、次いで、シンクデバイスとのワイヤレスメディア共有セッションへの送信権利を第1の2次ソースデバイス8Aに転送する(620)。このようにして、1次ソースデバイス6と1つまたは複数の2次ソースデバイスとは、各ソースデバイスがメディア共有セッションをネゴシエートすることなしに、ソースデバイスを共有し得る。
【0080】
[0084]例1。1次ソースデバイスとシンクデバイスとの間のワイヤレスメディア共有セッションの動作中に、ワイヤレスリンクを使用して、シンクデバイスとのメディア共有セッションへの送信権利を1次ソースデバイスから2次ソースデバイスに転送することを備える方法。
【0081】
[0085]例2。1次ソースデバイスが、シンクデバイスのインターフェースにおける出力のために1次ソースデバイスによって生成されたメディアデータをシンクデバイスに送信すること、をさらに備える、例1に記載の方法。
【0082】
[0086]例3。メディアデータをシンクデバイスに送信することが、複数のパケットを送信することを備え、ここにおいて、複数のパケットの各パケットがそれぞれのシーケンス番号を含み、ここにおいて、送信権利を転送することは、1次ソースデバイスが、最終シーケンス番号を含む最終パケットをシンクデバイスに送信することと、1次ソースデバイスが、シーケンス番号値を備える権利付与済み通信を2次ソースデバイスに送信することと、ここにおいて、シーケンス番号値が最終シーケンス番号の値に対応する、を備える、例1から2のいずれかに記載の方法。
【0083】
[0087]例4。1次ソースデバイスが、2次ソースデバイスから、第1のシーケンス番号を含む第1のパケットを受信することと、ここにおいて、第1のシーケンス番号が最終シーケンス番号+1に等しい、1次ソースデバイスが、シンクデバイスのインターフェースにおける出力のために、2次ソースデバイスから受信されたパケットをシンクデバイスに送信することとをさらに備える、例1から3のいずれかに記載の方法。
【0084】
[0088]例5。1次ソースデバイスが、2次ソースデバイスから権利要求通信を受信することをさらに備え、ここにおいて、権利要求通信を受信したことに応答して、送信権利が1次ソースデバイスから2次ソースデバイスに転送される、例1から4のいずれかに記載の方法。
【0085】
[0089]例6。2次ソースデバイスが第1の2次ソースデバイスであり、本方法は、1次ソースデバイスが、第2の2次ソースデバイスが送信権利を有すると決定することと、1次ソースデバイスが、第2の2次ソースデバイスに権利解放通信を送信することと、1次ソースデバイスが、第2の2次ソースデバイスから、最終シーケンス番号を含む最終パケットを受信することと、1次ソースデバイスが、第2の2次ソースデバイスから権利解放済み通信を受信することとをさらに備え、ここにおいて、権利解放済み通信を受信したことに応答して、送信権利が1次ソースデバイスから第1の2次ソースデバイスに転送され、ここにおいて、1次ソースデバイスが、第1の2次ソースデバイスに送信権利を転送することは、1次ソースデバイスが、シーケンス番号値を備える権利付与済み通信を第1の2次ソースデバイスに送信すること、ここにおいて、シーケンス番号値が最終シーケンス番号の値に対応する、を備える、例1から5のいずれかに記載の方法。
【0086】
[0090]例7。1次ソースデバイスがグループを確立すること、ここにおいて、1次ソースデバイスがグループ所有者であり、ここにおいて、2次ソースデバイスがグループメンバーである、をさらに備える、例1から6のいずれかに記載の方法。
【0087】
[0091]例8。1次ソースデバイスのクロックを2次ソースデバイスのクロックと同期させることをさらに備える、例1から7のいずれかに記載の方法。
【0088】
[0092]例9。1次ソースデバイスとシンクデバイスとの間のワイヤレスメディア共有セッションの動作中に、ワイヤレスリンクを使用して、シンクデバイスとのメディア共有セッションへの送信権利を1次ソースデバイスから2次ソースデバイスに転送するように構成された1つまたは複数のプロセッサを備える1次ソースデバイス。
【0089】
[0093]例10。1つまたは複数のプロセッサが、シンクデバイスのインターフェースにおける出力のために1次ソースデバイスによって生成されたメディアデータをシンクデバイスに送信するようにさらに構成された、例9に記載のデバイス。
【0090】
[0094]例11。1つまたは複数のプロセッサが、複数のパケットを送信することによってシンクデバイスにメディアデータを送信するように構成され、ここにおいて、複数のパケットの各パケットがそれぞれのシーケンス番号を含み、ここにおいて、1つまたは複数のプロセッサは、最終シーケンス番号を含む最終パケットをシンクデバイスに送信することと、シーケンス番号値を備える権利付与済み通信を2次ソースデバイスに送信することと、ここにおいて、シーケンス番号値が最終シーケンス番号の値に対応する、によって送信権利を転送するように構成された、例9から10のいずれかに記載のデバイス。
【0091】
[0095]例12。1つまたは複数のプロセッサは、2次ソースデバイスから、第1のシーケンス番号を含む第1のパケットを受信することと、ここにおいて、第1のシーケンス番号が最終シーケンス番号+1に等しい、シンクデバイスのインターフェースにおける出力のために、2次ソースデバイスから受信されたパケットをシンクデバイスに送信することとを行うようにさらに構成された、例9から11のいずれかに記載のデバイス。
【0092】
[0096]例13。1つまたは複数のプロセッサが、2次ソースデバイスから権利要求通信を受信するようにさらに構成され、ここにおいて、権利要求通信を受信したことに応答して、送信権利が1次ソースデバイスから2次ソースデバイスに転送される、例9から12のいずれかに記載のデバイス。
【0093】
[0097]例14。2次ソースデバイスが第1の2次ソースデバイスであり、ここにおいて、1つまたは複数のプロセッサは、第2の2次ソースデバイスが送信権利を有すると決定することと、第2の2次ソースデバイスに権利解放通信を送信することと、第2の2次ソースデバイスから、最終シーケンス番号を含む最終パケットを受信することと、第2の2次ソースデバイスから、権利解放済み通信を受信することとを行うようにさらに構成され、ここにおいて、権利解放済み通信を受信したことに応答して、送信権利が1次ソースデバイスから第1の2次ソースデバイスに転送され、ここにおいて、1つまたは複数のプロセッサは、少なくとも、シーケンス番号値を備える権利付与済み通信を第1の2次ソースデバイスに送信すること、ここにおいて、シーケンス番号値が最終シーケンス番号の値に対応する、によって第1の2次ソースデバイスに送信権利を転送するように構成された、例9から13のいずれかに記載のデバイス。
【0094】
[0098]例15。1つまたは複数のプロセッサが、グループを確立すること、ここにおいて、1次ソースデバイスがグループ所有者であり、ここにおいて、2次ソースデバイスがグループメンバーである、を行うようにさらに構成された、例9から14のいずれかに記載のデバイス。
【0095】
[0099]例16。1つまたは複数のプロセッサが、1次ソースデバイスのクロックを2次ソースデバイスのクロックと同期させるようにさらに構成された、例9から15のいずれかに記載のデバイス。
【0096】
[0100]例17。1次ソースデバイスとシンクデバイスとの間のワイヤレスメディア共有セッションを動作させるための手段と、ワイヤレスメディア共有セッションの動作中に、ワイヤレスリンクを使用して、シンクデバイスとのメディア共有セッションへの送信権利を1次ソースデバイスから2次ソースデバイスに転送するための手段とを備える1次ソースデバイス。
【0097】
[0101]例18。シンクデバイスのインターフェースにおける出力のために1次ソースデバイスによって生成されたメディアデータをシンクデバイスに送信するための手段をさらに備える、例17に記載のデバイス。
【0098】
[0102]例19。メディアデータをシンクデバイスに送信するための手段が、複数のパケットを送信するための手段を備え、ここにおいて、複数のパケットの各パケットがそれぞれのシーケンス番号を含み、ここにおいて、送信権利を転送するための手段は、最終シーケンス番号を含む最終パケットをシンクデバイスに送信するための手段と、シーケンス番号値を備える権利付与済み通信を2次ソースデバイスに送信するための手段と、ここにおいて、シーケンス番号値が最終シーケンス番号の値に対応する、を備える、例17から18のいずれかに記載のデバイス。
【0099】
[0103]例20。2次ソースデバイスから、第1のシーケンス番号を含む第1のパケットを受信するための手段と、ここにおいて、第1のシーケンス番号が最終シーケンス番号+1に等しい、シンクデバイスのインターフェースにおける出力のために、2次ソースデバイスから受信されたパケットをシンクデバイスに送信するための手段とをさらに備える、例17から19のいずれかに記載のデバイス。
【0100】
[0104]例21。2次ソースデバイスから権利要求通信を受信するための手段をさらに備え、ここにおいて、権利要求通信を受信したことに応答して、送信権利が1次ソースデバイスから2次ソースデバイスに転送される、例17から20のいずれかに記載のデバイス。
【0101】
[0105]例22。2次ソースデバイスが第1の2次ソースデバイスであり、本デバイスは、第2の2次ソースデバイスが送信権利を有すると決定するための手段と、第2の2次ソースデバイスに権利解放通信を送るための手段と、2次ソースデバイスから、最終シーケンス番号を含む最終パケットを受信するための手段と、第2の2次ソースデバイスから、権利解放済み通信を受信するための手段とをさらに備え、ここにおいて、権利解放済み通信を受信したことに応答して、送信権利が1次ソースデバイスから第1の2次ソースデバイスに転送され、ここにおいて、送信権利を転送するための手段は、シーケンス番号値を備える権利付与済み通信を第1の2次ソースデバイスに送信するための手段、ここにおいて、シーケンス番号値が最終シーケンス番号の値に対応する、を備える、例17から21のいずれかに記載のデバイス。
【0102】
[0106]例23。1次ソースデバイスがグループを確立するための手段、ここにおいて、1次ソースデバイスがグループ所有者であり、ここにおいて、2次ソースデバイスがグループメンバーである、をさらに備える、例17から22のいずれかに記載のデバイス。
【0103】
[0107]例24。実行されたとき、1次ソースデバイスの1つまたは複数のプロセッサに、1次ソースデバイスとシンクデバイスとの間のワイヤレスメディア共有セッションの動作中に、ワイヤレスリンクを使用して、シンクデバイスとのメディア共有セッションへの送信権利を1次ソースデバイスから2次ソースデバイスに転送することを行わせる命令を記憶する非一時的コンピュータ可読記憶媒体。
【0104】
[0108]例25。実行されたとき、1つまたは複数のプロセッサに、シンクデバイスのインターフェースにおける出力のために1次ソースデバイスによって生成されたメディアデータをシンクデバイスに送信することを行わせる命令をさらに備える、例24に記載の非一時的コンピュータ可読記憶媒体。
【0105】
[0109]例26。1つまたは複数のプロセッサに、メディアデータをシンクデバイスに送信することを行わせる命令が、1つまたは複数のプロセッサに、複数のパケットを送信することを行わせる命令を備え、ここにおいて、複数のパケットの各パケットがそれぞれのシーケンス番号を含み、ここにおいて、1つまたは複数のプロセッサに送信権利を転送することを行わせる命令は、1つまたは複数のプロセッサに、最終シーケンス番号を含む最終パケットをシンクデバイスに送信することと、シーケンス番号値を備える権利付与済み通信を2次ソースデバイスに送信することと、ここにおいて、シーケンス番号値が最終シーケンス番号の値に対応する、を行わせる命令を備える、例24から25のいずれかに記載の非一時的コンピュータ可読記憶媒体。
【0106】
[0110]例27。実行されたとき、1つまたは複数のプロセッサに、2次ソースデバイスから、第1のシーケンス番号を含む第1のパケットを受信することと、ここにおいて、第1のシーケンス番号が最終シーケンス番号+1に等しい、シンクデバイスのインターフェースにおける出力のために、2次ソースデバイスから受信されたパケットをシンクデバイスに送信することとを行わせる命令をさらに備える、例24から26のいずれかに記載の非一時的コンピュータ可読記憶媒体。
【0107】
[0111]例28。実行されたとき、1つまたは複数のプロセッサに、2次ソースデバイスから権利要求通信を受信することを行わせる命令をさらに備え、ここにおいて、1つまたは複数のプロセッサに、送信権利を1次ソースデバイスから2次ソースデバイスに転送することを行わせる命令は、1つまたは複数のプロセッサに、権利要求通信を受信したことに応答して送信権利を1次ソースデバイスから2次ソースデバイスに転送することを行わせる命令を備える、例24から27のいずれかに記載の非一時的コンピュータ可読記憶媒体。
【0108】
[0112]例29。2次ソースデバイスが第1の2次ソースデバイスであり、ここにおいて、非一時的コンピュータ可読は、実行されたとき、1つまたは複数のプロセッサに、第2の2次ソースデバイスが送信権利を有すると決定することと、第2の2次ソースデバイスに権利解放通信を送信することと、第2の2次ソースデバイスから、最終シーケンス番号を含む最終パケットを受信することと、第2の2次ソースデバイスから、権利解放済み通信を受信することとを行わせる命令をさらに備え、ここにおいて、権利解放済み通信を受信したことに応答して、送信権利が1次ソースデバイスから第1の2次ソースデバイスに転送され、ここにおいて、1つまたは複数のプロセッサに、第1の2次ソースデバイスに送信権利を転送することを行わせる命令は、1つまたは複数のプロセッサに、シーケンス番号値を備える権利付与済み通信を第1の2次ソースデバイスに送信すること、ここにおいて、シーケンス番号値が最終シーケンス番号の値に対応する、を行わせる命令を備える、例24から28のいずれかに記載の非一時的コンピュータ可読記憶媒体。
【0109】
[0113]例30。実行されたとき、1つまたは複数のプロセッサに、グループを確立すること、ここにおいて、1次ソースデバイスがグループ所有者であり、ここにおいて、2次ソースデバイスがグループメンバーである、を行わせる命令をさらに備える、例24から29のいずれかに記載の非一時的コンピュータ可読記憶媒体。
【0110】
[0114]本開示で説明する技法は、汎用マイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、または他の同等の論理デバイスのうちの1つまたは複数の内に実装され得る。したがって、本明細書で使用する「プロセッサ」または「コントローラ」という用語は、前述の構造、または本明細書で説明する技法の実装に好適な他の構造のうちのいずれか1つまたは複数を指すことがある。
【0111】
[0115]本明細書で説明した様々な構成要素は、ハードウェア、ソフトウェア、ファームウェアの任意の適切な組合せによって実現され得る。図では、様々な構成要素は、別々のユニットまたはモジュールとして示される。しかしながら、これらの図を参照しながら説明した様々な構成要素のすべてまたはいくつかは、共通ハードウェア、ファームウェア、および/またはソフトウェア内の組合せユニットまたはモジュールに統合され得る。したがって、構成要素、ユニット、またはモジュールとしての特徴の表現は、説明しやすいように特定の機能的特徴を強調するものであり、別々のハードウェア、ファームウェア、またはソフトウェア構成要素によるそのような特徴の実現を必ずしも必要としない。場合によっては、様々なユニットは、1つまたは複数のプロセッサによって実行されるプログラマブルプロセスとして実装され得る。
【0112】
[0116]モジュール、デバイス、または構成要素として本明細書で説明した特徴は、集積論理デバイスに一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装され得る。様々な態様では、そのような構成要素は、少なくとも部分的に、集積回路チップまたはチップセットなど、集積回路デバイスと総称されることがある1つまたは複数の集積回路デバイスとして形成され得る。そのような回路は、単一の集積回路チップデバイス中、または複数の相互運用可能な集積回路チップデバイス中に設けられ得、様々な画像、ディスプレイ、音声、または他のマルチマルチメディアアプリケーションおよびデバイスのいずれかにおいて使用され得る。いくつかの態様では、たとえば、そのような構成要素は、ワイヤレス通信デバイスハンドセット(たとえば、モバイル電話ハンドセット)などのモバイルデバイスの一部を形成し得る。
【0113】
[0117]ソフトウェアで実装した場合、本技法は、1つまたは複数のプロセッサによって実行されたとき、上記で説明した方法のうちの1つまたは複数を実行する命令をもつコードを備えるコンピュータ可読データ記憶媒体によって少なくとも部分的に実現され得る。コンピュータ可読記憶媒体は、パッケージング材料を含むことがあるコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、同期ダイナミックランダムアクセスメモリ(SDRAM)などのランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM)、埋込みダイナミックランダムアクセスメモリ(eDRAM)、スタティックランダムアクセスメモリ(SRAM)、フラッシュメモリ、磁気または光学データ記憶媒体を備え得る。利用される任意のソフトウェアは、1つまたは複数のDSP、汎用マイクロプロセッサ、ASIC、FPGA、または他の等価の集積またはディスクリート論理回路など、1つまたは複数のプロセッサによって実行され得る。
【0114】
[0118]本発明の様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
1次ソースデバイスとシンクデバイスとの間のワイヤレスメディア共有セッションの動作中に、ワイヤレスリンクを使用して、前記シンクデバイスとの前記メディア共有セッションへの送信権利を前記1次ソースデバイスから2次ソースデバイスに転送することを備える方法。
[C2]
前記1次ソースデバイスが、前記シンクデバイスのインターフェースにおける出力のために前記1次ソースデバイスによって生成されたメディアデータを前記シンクデバイスに送信することをさらに備える、C1に記載の方法。
[C3]
前記メディアデータを前記シンクデバイスに送信することが、複数のパケットを送信することを備え、ここにおいて、前記複数のパケットの各パケットがそれぞれのシーケンス番号を含み、ここにおいて、送信権利を転送することは、
前記1次ソースデバイスが、最終シーケンス番号を含む最終パケットを前記シンクデバイスに送信することと、
前記1次ソースデバイスが、シーケンス番号値を備える権利付与済み通信を前記2次ソースデバイスに送信することと、ここにおいて、前記シーケンス番号値が前記最終シーケンス番号の値に対応する、を備える、C2に記載の方法。
[C4]
前記1次ソースデバイスが、前記2次ソースデバイスから、第1のシーケンス番号を含む第1のパケットを受信することと、ここにおいて、前記第1のシーケンス番号が前記最終シーケンス番号+1に等しい、
前記1次ソースデバイスが、前記シンクデバイスの前記インターフェースにおける出力のために、前記2次ソースデバイスから受信された前記パケットを前記シンクデバイスに送信することと
をさらに備える、C3に記載の方法。
[C5]
前記1次ソースデバイスが、前記2次ソースデバイスから権利要求通信を受信することをさらに備え、
ここにおいて、前記権利要求通信を受信したことに応答して、前記送信権利が前記1次ソースデバイスから前記2次ソースデバイスに転送される、C1に記載の方法。
[C6]
前記2次ソースデバイスが第1の2次ソースデバイスであり、前記方法は、
前記1次ソースデバイスが、第2の2次ソースデバイスが前記送信権利を有すると決定することと、
前記1次ソースデバイスが、前記第2の2次ソースデバイスに権利解放通信を送信することと、
前記1次ソースデバイスが、前記第2の2次ソースデバイスから、最終シーケンス番号を含む最終パケットを受信することと、
前記1次ソースデバイスが、前記第2の2次ソースデバイスから権利解放済み通信を受信することと
をさらに備え、
ここにおいて、前記権利解放済み通信を受信したことに応答して、前記送信権利が前記1次ソースデバイスから前記第1の2次ソースデバイスに転送され、ここにおいて、前記1次ソースデバイスが、前記第1の2次ソースデバイスに前記送信権利を転送することは、
前記1次ソースデバイスが、シーケンス番号値を備える権利付与済み通信を前記第1の2次ソースデバイスに送信すること、ここにおいて、前記シーケンス番号値が前記最終シーケンス番号の値に対応する、を備える、C5に記載の方法。
[C7]
前記1次ソースデバイスがグループを確立すること、ここにおいて、前記1次ソースデバイスがグループ所有者であり、ここにおいて、前記2次ソースデバイスがグループメンバーである、をさらに備える、C1に記載の方法。
[C8]
前記1次ソースデバイスのクロックを前記2次ソースデバイスのクロックと同期させることをさらに備える、C1に記載の方法。
[C9]
1つまたは複数のプロセッサを備える1次ソースデバイスであって、前記1つまたは複数のプロセッサが、
前記1次ソースデバイスとシンクデバイスとの間のワイヤレスメディア共有セッションの動作中に、ワイヤレスリンクを使用して、前記シンクデバイスとの前記メディア共有セッションへの送信権利を前記1次ソースデバイスから2次ソースデバイスに転送するように構成された、1次ソースデバイス。
[C10]
前記1つまたは複数のプロセッサは、
前記シンクデバイスのインターフェースにおける出力のために前記1次ソースデバイスによって生成されたメディアデータを前記シンクデバイスに送信するようにさらに構成された、C9に記載のデバイス。
[C11]
前記1つまたは複数のプロセッサが、複数のパケットを送信することによって前記シンクデバイスに前記メディアデータを送信するように構成され、ここにおいて、前記複数のパケットの各パケットがそれぞれのシーケンス番号を含み、ここにおいて、前記1つまたは複数のプロセッサは、
最終シーケンス番号を含む最終パケットを前記シンクデバイスに送信することと、
シーケンス番号値を備える権利付与済み通信を前記2次ソースデバイスに送信することと、ここにおいて、前記シーケンス番号値が前記最終シーケンス番号の値に対応する、によって送信権利を転送するように構成された、C10に記載のデバイス。
[C12]
前記1つまたは複数のプロセッサは、
前記2次ソースデバイスから、第1のシーケンス番号を含む第1のパケットを受信することと、ここにおいて、前記第1のシーケンス番号が前記最終シーケンス番号+1に等しい、
前記シンクデバイスの前記インターフェースにおける出力のために、前記2次ソースデバイスから受信された前記パケットを前記シンクデバイスに送信することと
を行うようにさらに構成された、C11に記載のデバイス。
[C13]
前記1つまたは複数のプロセッサが、
前記2次ソースデバイスから権利要求通信を受信するようにさらに構成され、
ここにおいて、前記権利要求通信を受信したことに応答して、前記送信権利が前記1次ソースデバイスから前記2次ソースデバイスに転送される、C9に記載のデバイス。
[C14]
前記2次ソースデバイスが第1の2次ソースデバイスであり、ここにおいて、前記1つまたは複数のプロセッサは、
第2の2次ソースデバイスが前記送信権利を有すると決定することと、
前記第2の2次ソースデバイスに権利解放通信を送信することと、
前記第2の2次ソースデバイスから、最終シーケンス番号を含む最終パケットを受信することと、
前記第2の2次ソースデバイスから、権利解放済み通信を受信することと
を行うようにさらに構成され、
ここにおいて、前記権利解放済み通信を受信したことに応答して、前記送信権利が前記1次ソースデバイスから前記第1の2次ソースデバイスに転送され、ここにおいて、前記1つまたは複数のプロセッサは、少なくとも、
シーケンス番号値を備える権利付与済み通信を前記第1の2次ソースデバイスに送信すること、ここにおいて、前記シーケンス番号値が前記最終シーケンス番号の値に対応する、によって前記第1の2次ソースデバイスに前記送信権利を転送するように構成された、C13に記載のデバイス。
[C15]
前記1つまたは複数のプロセッサが、
グループを確立すること、ここにおいて、前記1次ソースデバイスがグループ所有者であり、ここにおいて、前記2次ソースデバイスがグループメンバーである、を行うようにさらに構成された、C9に記載のデバイス。
[C16]
前記1つまたは複数のプロセッサが、
前記1次ソースデバイスのクロックを前記2次ソースデバイスのクロックと同期させるようにさらに構成された、C9に記載のデバイス。
[C17]
1次ソースデバイスであって、
前記1次ソースデバイスとシンクデバイスとの間のワイヤレスメディア共有セッションを動作させるための手段と、
前記ワイヤレスメディア共有セッションの動作中に、ワイヤレスリンクを使用して、前記シンクデバイスとの前記メディア共有セッションへの送信権利を前記1次ソースデバイスから2次ソースデバイスに転送するための手段とを備える1次ソースデバイス。
[C18]
前記シンクデバイスのインターフェースにおける出力のために前記1次ソースデバイスによって生成されたメディアデータを前記シンクデバイスに送信するための手段をさらに備える、C17に記載のデバイス。
[C19]
前記メディアデータを前記シンクデバイスに送信するための前記手段が、複数のパケットを送信するための手段を備え、ここにおいて、前記複数のパケットの各パケットがそれぞれのシーケンス番号を含み、ここにおいて、送信権利を転送するための前記手段は、
最終シーケンス番号を含む最終パケットを前記シンクデバイスに送信するための手段と、
シーケンス番号値を備える権利付与済み通信を前記2次ソースデバイスに送信するための手段と、ここにおいて、前記シーケンス番号値が前記最終シーケンス番号の値に対応する、を備える、C18に記載のデバイス。
[C20]
前記2次ソースデバイスから、第1のシーケンス番号を含む第1のパケットを受信するための手段と、ここにおいて、前記第1のシーケンス番号が前記最終シーケンス番号+1に等しい、
前記シンクデバイスの前記インターフェースにおける出力のために、前記2次ソースデバイスから受信された前記パケットを前記シンクデバイスに送信するための手段と
をさらに備える、C19に記載のデバイス。
[C21]
前記2次ソースデバイスから権利要求通信を受信するための手段をさらに備え、
ここにおいて、前記権利要求通信を受信したことに応答して、前記送信権利が前記1次ソースデバイスから前記2次ソースデバイスに転送される、C17に記載のデバイス。
[C22]
前記2次ソースデバイスが第1の2次ソースデバイスであり、前記デバイスは、
第2の2次ソースデバイスが前記送信権利を有すると決定するための手段と、
前記第2の2次ソースデバイスに権利解放通信を送るための手段と、
前記2次ソースデバイスから、最終シーケンス番号を含む最終パケットを受信するための手段と、
前記第2の2次ソースデバイスから、権利解放済み通信を受信するための手段と
をさらに備え、
ここにおいて、前記権利解放済み通信を受信したことに応答して、前記送信権利が前記1次ソースデバイスから前記第1の2次ソースデバイスに転送され、ここにおいて、前記送信権利を転送するための前記手段は、
シーケンス番号値を備える権利付与済み通信を前記第1の2次ソースデバイスに送信するための手段、ここにおいて、前記シーケンス番号値が前記最終シーケンス番号の値に対応する、を備える、C21に記載のデバイス。
[C23]
前記1次ソースデバイスがグループを確立するための手段、ここにおいて、前記1次ソースデバイスがグループ所有者であり、ここにおいて、前記2次ソースデバイスがグループメンバーである、をさらに備える、C17に記載のデバイス。
[C24]
実行されたとき、1次ソースデバイスの1つまたは複数のプロセッサに、
前記1次ソースデバイスとシンクデバイスとの間のワイヤレスメディア共有セッションの動作中に、ワイヤレスリンクを使用して、前記シンクデバイスとの前記メディア共有セッションへの送信権利を前記1次ソースデバイスから2次ソースデバイスに転送することを行わせる命令を記憶する非一時的コンピュータ可読記憶媒体。
[C25]
実行されたとき、前記1つまたは複数のプロセッサに、
前記シンクデバイスのインターフェースにおける出力のために前記1次ソースデバイスによって生成されたメディアデータを前記シンクデバイスに送信することを行わせる命令をさらに備える、C24に記載の非一時的コンピュータ可読記憶媒体。
[C26]
前記1つまたは複数のプロセッサに、前記メディアデータを前記シンクデバイスに送信することを行わせる前記命令が、前記1つまたは複数のプロセッサに、複数のパケットを送信することを行わせる命令を備え、ここにおいて、前記複数のパケットの各パケットがそれぞれのシーケンス番号を含み、ここにおいて、前記1つまたは複数のプロセッサに送信権利を転送することを行わせる前記命令は、前記1つまたは複数のプロセッサに、
最終シーケンス番号を含む最終パケットを前記シンクデバイスに送信することと、
シーケンス番号値を備える権利付与済み通信を前記2次ソースデバイスに送信することと、ここにおいて、前記シーケンス番号値が前記最終シーケンス番号の値に対応する、を行わせる命令を備える、C25に記載の非一時的コンピュータ可読記憶媒体。
[C27]
実行されたとき、前記1つまたは複数のプロセッサに、
前記2次ソースデバイスから、第1のシーケンス番号を含む第1のパケットを受信することと、ここにおいて、前記第1のシーケンス番号が前記最終シーケンス番号+1に等しい、
前記シンクデバイスの前記インターフェースにおける出力のために、前記2次ソースデバイスから受信された前記パケットを前記シンクデバイスに送信することと
を行わせる命令をさらに備える、C26に記載の非一時的コンピュータ可読記憶媒体。
[C28]
実行されたとき、前記1つまたは複数のプロセッサに、
前記2次ソースデバイスから権利要求通信を受信することを行わせる命令をさらに備え、
ここにおいて、前記1つまたは複数のプロセッサに、前記送信権利を前記1次ソースデバイスから前記2次ソースデバイスに転送することを行わせる前記命令は、前記1つまたは複数のプロセッサに、前記権利要求通信を受信したことに応答して前記送信権利を前記1次ソースデバイスから前記2次ソースデバイスに転送することを行わせる命令を備える、C24に記載の非一時的コンピュータ可読記憶媒体。
[C29]
前記2次ソースデバイスが第1の2次ソースデバイスであり、ここにおいて、前記非一時的コンピュータ可読は、実行されたとき、前記1つまたは複数のプロセッサに、
第2の2次ソースデバイスが前記送信権利を有すると決定することと、
前記第2の2次ソースデバイスに権利解放通信を送信することと、
前記第2の2次ソースデバイスから、最終シーケンス番号を含む最終パケットを受信することと、
前記第2の2次ソースデバイスから、権利解放済み通信を受信することと
を行わせる命令をさらに備え、
ここにおいて、前記権利解放済み通信を受信したことに応答して、前記送信権利が前記1次ソースデバイスから前記第1の2次ソースデバイスに転送され、ここにおいて、前記1つまたは複数のプロセッサに、前記第1の2次ソースデバイスに前記送信権利を転送することを行わせる前記命令は、前記1つまたは複数のプロセッサに、
シーケンス番号値を備える権利付与済み通信を前記第1の2次ソースデバイスに送信すること、ここにおいて、前記シーケンス番号値が前記最終シーケンス番号の値に対応する、を行わせる命令を備える、C28に記載の非一時的コンピュータ可読記憶媒体。
[C30]
実行されたとき、前記1つまたは複数のプロセッサに、
グループを確立すること、ここにおいて、前記1次ソースデバイスがグループ所有者であり、ここにおいて、前記2次ソースデバイスがグループメンバーである、を行わせる命令をさらに備える、C24に記載の非一時的コンピュータ可読記憶媒体。