(58)【調査した分野】(Int.Cl.,DB名)
ストリーミングパラメータの前記セットが、コーデック情報、ディスプレイ解像度、ビデオフォーマット、またはオーディオフォーマットのうち1つ、あるいはそれらの組合せを含む、請求項1に記載の装置。
前記第1および第2の制御メッセージが各々、マルチキャスト構成、ユニキャスト構成、またはコンテンツストリーミングのためのグループMACアドレスを含むグループキャスト構成のうちの1つ、あるいはそれらの組合せを含む、請求項1に記載の装置。
前記プロセッサが、前記特定のマルチメディアコンテンツを要求する前記第1のグループおよび前記第2のグループの前記Wi−Fiピアツーピア接続されたシンクデバイスの各々から前記能力を受信するようにさらに構成された、請求項1に記載の装置。
前記プロセッサが、前記装置において開始された要求、または前記シンクデバイスにおいて開始された要求のうちの1つに基づいて、前記関連付けられたグループセッションIDから前記Wi−Fiピアツーピア接続されたシンクデバイスのうちの1つまたは複数を追加または削除することと、
前記シンクデバイスの不十分な能力に基づいて、前記関連付けられたグループセッションIDから前記Wi−Fiピアツーピア接続されたシンクデバイスのうちの1つまたは複数を追加または削除することと
を行うようにさらに構成された、請求項1に記載の装置。
前記シンクデバイスの前記不十分な能力は、少なくとも、それがセッションタイプをサポートすることができないこと、またはコンテンツストリーミングのために使用されるべき前記ストリーミングパラメータのうちの少なくとも1つをサポートすることができないことを含む、請求項9に記載の装置。
前記Wi−Fiピアツーピア接続を確立することが、Wi−Fiディスプレイデバイス発見情報の交換を含み、ここにおいて、前記Wi−Fiディスプレイデバイス発見情報が、少なくとも、前記装置のグループセッション能力の指示、グループセッション管理制御ポートデータのセット、グループセッションタイプ、およびコンテンツストリーミングのために使用されるべきストリーミングパラメータのセットを備える、請求項1に記載の装置。
少なくとも前記Wi−Fiディスプレイデバイス発見情報のサブセットが、あらかじめ確立されたWi−Fiピアツーピア接続上で、Wi−Fi Directサービス規格のアプリケーションサービスプラットフォームを通してさらに交換される、請求項12に記載の装置。
前記ソースデバイスにおいて開始された要求、または前記シンクデバイスにおいて開始された要求のうちの1つに基づいて、前記関連付けられたグループセッションIDから前記Wi−Fiピアツーピア接続されたシンクデバイスのうちの1つまたは複数を追加または削除することと、
前記シンクデバイスの不十分な能力に基づいて、前記関連付けられたグループセッションIDから前記Wi−Fiピアツーピア接続されたシンクデバイスのうちの1つまたは複数を追加または削除することと
をさらに備え、ここにおいて、前記シンクデバイスの前記不十分な能力は、少なくとも、それがセッションタイプをサポートすることができないこと、またはコンテンツストリーミングのために使用されるべき前記ストリーミングパラメータのうちの少なくとも1つをサポートすることができないことを含む、請求項14に記載の方法。
前記Wi−Fiピアツーピア接続を確立することが、Wi−Fiディスプレイデバイス発見情報の交換を含み、ここにおいて、前記Wi−Fiディスプレイデバイス発見情報が、少なくとも、前記ソースデバイスのグループセッション能力の指示、グループセッション管理制御ポートデータのセット、グループセッションタイプ、およびコンテンツストリーミングのために使用されるべきストリーミングパラメータのセットを備える、請求項14に記載の方法。
少なくとも前記Wi−Fiディスプレイデバイス発見情報のサブセットが、あらかじめ確立されたWi−Fiピアツーピア接続上で、Wi−Fi Directサービス規格のアプリケーションサービスプラットフォームを通してさらに交換される、請求項18に記載の方法。
前記ソースデバイスにおいて開始された要求、または前記シンクデバイスにおいて開始された要求のうちの1つに基づいて、前記関連付けられたグループセッションIDから前記Wi−Fiピアツーピア接続されたシンクデバイスのうちの1つまたは複数を追加または削除するための手段と、
前記シンクデバイスの不十分な能力に基づいて、前記関連付けられたグループセッションIDから前記Wi−Fiピアツーピア接続されたシンクデバイスのうちの1つまたは複数を追加または削除するための手段と
をさらに備え、ここにおいて、前記シンクデバイスの前記不十分な能力は、少なくとも、それがセッションタイプをサポートすることができないこと、またはコンテンツストリーミングのために使用されるべき前記ストリーミングパラメータのうちの少なくとも1つをサポートすることができないことを含む、請求項20に記載の装置。
前記Wi−Fiピアツーピア接続を確立することが、Wi−Fiディスプレイデバイス発見情報の交換を含み、ここにおいて、前記Wi−Fiディスプレイデバイス発見情報が、少なくとも、前記装置のグループセッション能力の指示、グループセッション管理制御ポートデータのセット、グループセッションタイプ、およびコンテンツストリーミングのために使用されるべきストリーミングパラメータのセットを備える、請求項20に記載の装置。
少なくとも前記Wi−Fiディスプレイデバイス発見情報のサブセットが、あらかじめ確立されたWi−Fiピアツーピア接続上で、Wi−Fi Directサービス規格のアプリケーションサービスプラットフォームを通してさらに交換される、請求項24に記載の装置。
実行されたとき、前記ソースデバイスにおいて開始された要求、または前記シンクデバイスにおいて開始された要求のうちの1つに基づいて、前記関連付けられたグループセッションIDから前記Wi−Fiピアツーピア接続されたシンクデバイスのうちの1つまたは複数を追加または削除することと、
前記シンクデバイスの不十分な能力に基づいて、前記関連付けられたグループセッションIDから前記Wi−Fiピアツーピア接続されたシンクデバイスのうちの1つまたは複数を追加または削除することと
を装置に行わせるコードをさらに備え、ここにおいて、前記シンクデバイスの前記不十分な能力は、少なくとも、それがセッションタイプをサポートすることができないこと、またはコンテンツストリーミングのために使用されるべき前記ストリーミングパラメータのうちの少なくとも1つをサポートすることができないことを含む、請求項26に記載の媒体。
前記Wi−Fiピアツーピア接続を確立することが、Wi−Fiディスプレイデバイス発見情報の交換を含み、ここにおいて、前記Wi−Fiディスプレイデバイス発見情報が、少なくとも、前記ソースデバイスのグループセッション能力の指示、グループセッション管理制御ポートデータのセット、グループセッションタイプ、およびコンテンツストリーミングのために使用されるべきストリーミングパラメータのセットを備える、請求項26に記載の媒体。
少なくとも前記Wi−Fiディスプレイデバイス発見情報のサブセットが、あらかじめ確立されたWi−Fiピアツーピア接続上で、Wi−Fi Directサービス規格のアプリケーションサービスプラットフォームを通してさらに交換される、請求項28に記載の媒体。
【発明を実施するための形態】
【0010】
[0029]図面に示す様々な特徴は一定の縮尺で描かれていないことがある。したがって、様々な特徴の寸法は、明快のために恣意的に拡大または縮小されていることがある。さらに、図面のいくつかは、所与のシステム、方法またはデバイスの構成要素のすべてを示しているとは限らない。最後に、明細書および図の全体にわたって同様の特徴を示すために同様の参照番号が使用されることがある。
【0011】
[0030]添付の図面に関して以下に示す発明を実施するための形態は、本発明のいくつかの実装形態を説明するものであり、本発明が実施され得る唯一の実装形態を表すものではない。この明細書全体にわたって使用する「例示的」という用語は、「例、事例、または例示の働きをすること」を意味し、必ずしも他の例示的な実装形態よりも好ましいまたは有利であると解釈すべきではない。発明を実施するための形態は、開示する実装形態の完全な理解を与えるための具体的な詳細を含む。いくつかの事例では、いくつかのデバイスをブロック図の形式で示す。
【0012】
[0031]添付の図面を参照しながら、新規のシステム、装置、および方法の様々な態様について以下でより十分に説明する。ただし、開示する教示は、多くの異なる形態で実施され得、本開示全体にわたって提示されるいずれかの特定の構造または機能に限定されるものと解釈されるべきではない。むしろ、これらの態様は、本開示が周到で完全になり、本開示の範囲を当業者に十分に伝えるように与えられる。本明細書の教示に基づいて、本開示の範囲は、本発明の他の態様とは無関係に実装されるにせよ、本発明の他の態様と組み合わされるにせよ、本明細書で開示される新規のシステム、装置、および方法のいかなる態様をもカバーするものであることを、当業者なら諒解されたい。たとえば、本明細書に記載される態様をいくつ使用しても、装置は実装され得、または方法は実施され得る。さらに、本発明の範囲は、本明細書に記載される本発明の様々な態様に加えてまたはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実施されるそのような装置または方法をカバーするものとする。本明細書で開示するどの態様も請求項の1つまたは複数の要素によって実施され得ることを理解されたい。
【0013】
[0032]本明細書では特定の態様が説明されるが、これらの態様の多くの変形および置換は本開示の範囲内に入る。好適な態様のいくつかの利益および利点が説明されるが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。むしろ、本開示の態様は、様々なワイヤレス技術、システム構成、ネットワーク、および伝送プロトコルに広く適用可能であるものとし、それらのいくつかが例として、図および好適な態様についての以下の説明において示される。発明を実施するための形態および図面は、本開示を限定するものではなく説明するものにすぎず、本開示の範囲は添付の特許請求の範囲およびそれの均等物によって定義される。
【0014】
[0033]上述のように、現在のミラキャスト仕様は、1つのソースから1つのシンクデバイスへのマルチメディアストリーミングのためのセッション確立および制御を主に処理する。ソースから複数のシンクデバイスの各々への個々のWi−Fiディスプレイ(WFD)セッションを確立し、各シンクにマルチメディアコンテンツをストリーミングするために、いくつかの実装形態を拡張することが可能であり得る。しかしながら、セッション確立、セッション制御、およびメディアペイロード処理は、別個のプロトコルスタックおよびネットワークリソース(たとえば、TCP/UDPポート)を維持することを必要とし、それは現在のミラキャスト仕様の範囲を越えている。さらに、この手法の複雑さおよび帯域幅要件は、そのような実装形態を少数のシンクデバイスに、または低品質メディアフォーマットに制限し得る。(たとえば、マルチキャストまたはブロードキャストとしての)複数セッション処理のための制御およびフレキシビリティの欠如により、この手法は、個々のシンクデバイスが同期外れになることをも生じ得る。さらに、そのような実装形態は、様々な製品の間で相互運用可能でないことがある。1つのソースデバイスからのメディアコンテンツをいくつかのシンクデバイスに共有することをサポートするために、Wi−Fiディスプレイセッション管理は、シンクデバイスのグループへのメディアストリーミングの制御を可能にするための拡張を必要とする。この拡張は、複数デバイス(1:N)トポロジーのためのセッション確立、セッション制御、およびデータプレーン処理のための新しい構成の形態でもたらされ得る。
【0015】
[0034]本開示は、本明細書ではシンクと呼ぶ第2のデバイス上での表示のために、本明細書ではソースと呼ぶ第1のデバイスが1つまたは複数の第2のデバイスにマルチメディアコンテンツを配信することを可能にするシステムおよび方法を対象とする。いくつかの実装形態では、各デバイスは、本明細書では「Wi−Fi」と呼ぶことがある、ワイヤレス通信プロトコルのIEEE802.11ファミリーのうちの1つまたは複数に従ってワイヤレス通信することが可能である。そのようなデバイスは、一般に、直接ではなく、アクセスポイント(AP)を通して通信するが、ソースデバイスが、いかなるAPまたは他の媒介をも使用せずに、直接シンクデバイスにマルチメディアコンテンツを送信することを可能にするプロトコルが開発されている。上記で説明したように、1つのそのようなプロトコルはミラキャストとして知られている。このプロトコルの拡張(enhancement)および拡大(extension)を以下に記載する。これらの拡張および拡大は、ミラキャストへの適用だけでなく、ローカル環境においてワイヤレスに接続されたデバイス上での、およびそれらの間でのディスプレイデータの送信、受信、およびプレゼンテーションを可能にするディスプレイ共有デバイスまたはプロトコル、システム、あるいは方法への適用をも有し、ここで、「ローカル」は、一般に、部屋、建築物内など、ワイヤレスLAN接続の範囲を指す。
【0016】
[0035]ミラキャスト仕様の現在の状態では、シンクのグループにマルチメディアコンテンツをストリーミングすることはサポートされていない。能力ネゴシエーションおよびセッション確立は、1つのソースおよび1つのシンクデバイスに限定される。さらに、コンテンツのマルチキャスト/グループキャストのためのストリーミング制御がサポートされていないことがある。少なくともこれらの問題に対処するために、ピアツーピアストリーミング制御のためにミラキャストにおいて現在使用されているRTSP(リアルタイムストリーミングプロトコル)制御プレーンが、シンクデバイスのグループを管理するために拡張され得る。さらに、PES(パケット化エレメンタリーストリーム)、MPEG2−TSトランスポート、およびRTPパケット化は、シンクデバイスのグループの能力に基づいてグループごとに行われ得る。MPEG2−TS多重化は、複数のプログラムのためのコンテンツを含み得る。さらに、RTSP制御スタックおよびコンテンツ処理データプレーンによるグループアドレス指定されたフレーム配信のためのMACレイヤ能力の知識が、セッションパラメータの効率的な設定を可能にし得る。
【0017】
[0036]次に
図1A〜
図1Cを参照すると、ミラキャストシステムにおいて、追加の制御通信および転送プロトコルネゴシエーションが、ソースデバイス30とシンクデバイス32との間で行われることがある。
図1Aに示されているように、ソース30において、ディスプレイデータ34がエンコーダ36にルーティングされる。従来のミラキャストシステムでは、エンコーダ36およびデコーダ38は、それぞれ、ビデオの符号化および復号のためのH.264プロトコルを使用する。このデータは、次いで、従来のミラキャストシステムにおけるリアルタイムトランスポートプロトコル(RTSP)メッセージングを用いたMPEG2トランスポートストリームを使用して、シンク32にワイヤレスに送信される。シンク32において受信されたとき、データは、対応するデコーダ38にルーティングされ、シンク32上のディスプレイ40に送られる。制御信号はまた、ソース30とシンク32との間でパスされる。従来のミラキャストシステムでは、1つのピアツーピアセッションセットアップおよびセッション維持のための制御信号が利用される。
【0018】
[0037]次に
図1Bを参照すると、
図1のソースデバイス30の一実装形態のブロック図が示されている。
図1Bでは、ソースデバイスは、グラフィックス処理ユニット(GPU)50と、ディスプレイプロセッサ/ブレンダ52と、フレームバッファ54と、ディスプレイ56とを含む。ソースは、ユーザへのプレゼンテーションのためのディスプレイデータを与え得る、アプリケーション1 62およびアプリケーション2 64など、いくつかのアプリケーションを実行していることがある。ソースオペレーティングシステムの制御下で、GPU50およびディスプレイプロセッサ/ブレンダ52は、ディスプレイ56にフォワーディングするために、ディスプレイデータを準備し、フレームバッファ54を充填する。ソースは、それもビデオデコーダを通してディスプレイプロセッサ/ブレンダ52にコンテンツをルーティングする、メディアプレーヤ66をも含み得る。
【0019】
[0038]1つのソースと1つのシンクデバイスとの間のミラーリングモードでの従来のミラキャストマルチメディアストリーミングにおけるデータフローが、
図1Bによって示されている。ミラキャストミラーリングが実行されているとき、フレームバッファ54中のピクセルデータの連続フレームは、データ経路80に沿ってビデオエンコーダ72にルーティングされ、符号化されたデータは、モジュール74によってMPEG2トランスポートストリーム中に集められ、モジュール75によってRTPメッセージングデータと組み合わせられ、シンクデバイス32への送信のためにソケット77にルーティングされる。従来のミラキャストでは、エンコーダ72はH.264エンコーダであり、ソケットはUDP(ユーザデータグラムプロトコル)ソケットであり、他のオプションはサポートされていない。
【0020】
[0039]シンクデバイス32を
図1Cに示す。シンクでは、ソケット92が着信データストリームを受信し、RTPヘッダ情報がモジュール94を用いて抽出され、ディスプレイデータがモジュール96を用いて抽出される。ディスプレイデータは、ビデオデコーダ98にルーティングされ、次いで、ディスプレイプロセッサ/ブレンダ102にルーティングされ得、これにより、ディスプレイ106上でのプレゼンテーションのためにフレームバッファ104が充填される。従来のミラキャストでは、ビデオデコーダ98は、ミラキャスト規格に適合するシンクデバイスにおいて必要とされるH.264デコーダである。
【0021】
[0040]
図2に、上記で説明したミラキャストマルチメディアストリーミングシステム内で採用され得るワイヤレスデバイス180において利用され得る様々な構成要素を示す。ワイヤレスデバイス180は、本明細書で説明する様々な方法を実装するように構成され得るデバイスの一例である。
【0022】
[0041]ワイヤレスデバイス180は、ワイヤレスデバイス180の動作を制御するプロセッサ184を含み得る。プロセッサ184は中央処理ユニット(CPU)と呼ばれることもある。読取り専用メモリ(ROM)とランダムアクセスメモリ(RAM)の両方を含み得るメモリ186は、命令とデータとをプロセッサ184に与える。メモリ186の一部は不揮発性ランダムアクセスメモリ(NVRAM)をも含み得る。プロセッサ184は、一般に、メモリ186内に記憶されたプログラム命令に基づいて論理演算および算術演算を実行する。メモリ186中の命令は、本明細書で説明する方法を実装するために実行可能であり得る。たとえば、デバイスがソース30であるのか、シンク32であるのか、その両方であるのかに応じて、
図1A、
図1B、および
図1Cのブロックは、プロセッサ184およびメモリ186を用いて実装され得る。プロセッサ184は、1つまたは複数のプロセッサとともに実装された処理システムを備えるか、またはそれの構成要素であり得る。1つまたは複数のプロセッサは、汎用マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、コントローラ、状態機械、ゲート論理、個別ハードウェア構成要素、専用ハードウェア有限状態機械、あるいは情報の計算または他の操作を実行することができる任意の他の好適なエンティティの任意の組合せを用いて実装され得る。
【0023】
[0042]処理システムは、ソフトウェアを記憶するための機械可読媒体をも含み得る。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語などの名称にかかわらず、任意のタイプの命令を意味すると広く解釈されたい。命令は、(たとえば、ソースコード形式、バイナリコード形式、実行可能コード形式、または任意の他の好適なコード形式の)コードを含み得る。命令は、1つまたは複数のプロセッサによって実行されたとき、本明細書で説明する様々な機能を処理システムに実行させる。
【0024】
[0043]ワイヤレスデバイス180はまた、ワイヤレスデバイス180と遠隔ロケーションとの間のデータの送信および受信を可能にするために送信機190と受信機192とを含み得るハウジング188を含み得る。送信機190と受信機192とは組み合わせられてトランシーバ194になり得る。アンテナ196が与えられ、トランシーバ194に電気的に結合され得る。ワイヤレスデバイス180はまた、複数の送信機、複数の受信機、複数のトランシーバ、および/または複数のアンテナを含み得る(図示せず)。
【0025】
[0044]ワイヤレスデバイス180はまた、トランシーバ194によって受信された信号のレベルを検出し、定量化するために使用され得る信号検出器200を含み得る。信号検出器200は、そのような信号を、総エネルギー、シンボルごとのサブキャリア当たりのエネルギー、電力スペクトル密度、および他の信号として検出し得る。ワイヤレスデバイス180は、信号を処理する際に使用するデジタル信号プロセッサ(DSP)202をも含み得る。DSP202は、送信のためのデータユニットを生成するように構成され得る。ワイヤレスデバイス180は、ディスプレイ204とユーザインターフェース206とをさらに備え得る。ユーザインターフェース206は、タッチスクリーン、キーパッド、マイクロフォン、および/またはスピーカーを含み得る。ユーザインターフェース206は、ワイヤレスデバイス180のユーザに情報を伝達し、および/またはユーザからの入力を受信する、任意の要素または構成要素を含み得る。
【0026】
[0045]ワイヤレスデバイス180の様々な構成要素は、1つまたは複数のバスシステム208によって互いに結合され得る。バスシステム208は、たとえば、データバス、ならびに、データバスに加えて、電力バスと、制御信号バスと、ステータス信号バスとを含み得る。ワイヤレスデバイス180の構成要素は、何らかの他の機構を使用して、互いに結合されるか、または互いに入力を受け付け、または与え得ることを当業者は諒解されよう。
【0027】
[0046]いくつかの別個の構成要素が
図2に示されているが、それらの構成要素のうちの1つまたは複数は、組み合わせられるかまたは共通に実装され得る。たとえば、プロセッサ184は、プロセッサ185に関して上記で説明した機能を実装するためだけでなく、信号検出器200および/またはDSP202に関して上記で説明した機能を実装するためにも使用され得る。さらに、
図7に示す構成要素の各々は、複数の別個の要素を使用して実装され得る。さらに、プロセッサ184は、以下で説明される構成要素、モジュール、回路などのいずれかを実装するために使用され得、または各々が複数の別個の要素を使用して実装され得る。
【0028】
[0047]
図3に、ソースデバイス300からK個のシンクグループ305〜305Kへのメディアストリーミングのためのトポロジーを示す。このWFDセッションは1:Nトポロジーを説明する。N個のシンクデバイス(310〜310N)は、K個のシンクグループ305〜305Kにグループ化され得る。各グループ(G(k),k=1,...,K)は、ソースデバイス300から複数の送信(たとえば、ユニキャスト、単一のマルチキャスト、グループキャストなど)を使用してメディアストリームを送るために、
【0030】
のようなP
k個のシンクデバイスを有し得る。ソースデバイス300およびN個のシンクデバイス310〜310Nは、P2P接続(たとえば、ピアツーピア、Wi−Fi Directなど)を使用し得る。また、これらのプロシージャは、たとえば、TDLS(トンネルドダイレクトリンクセットアップ)接続を使用するときに実装され得る。さらに、ソースデバイス300はまた、通常Wi−Fi STAとして構成された関連付けられたシンクデバイスをもつソフトAPとして構成され得る。一実装形態では、K個のシンクグループ305〜305Kのうちの1つ中のN個のシンクデバイス310〜310Nは、P2Pグループの一部であり得る。
【0031】
[0048]このトポロジーについての例示的な使用事例は、(ソースデバイス300としての)スマートフォンまたはタブレットが、(N個のシンクデバイス310〜310Nとしての)複数のラップトップまたはタブレットにマルチメディアクリップをストリーミングすることを含む。この例は、グループに対するプレゼンテーションなど、教室共有を含み得る。別の例は、(ソースデバイス300としての)タブレットが、1つのウィンドウからのコンテンツをN個のシンクデバイス310〜310Nのセットに共有することを含み得る。シンクデバイスの複数のグループ(305〜305K)があり得、各グループは、ソースデバイス300から別個のコンテンツストリームを受信し得る。たとえば、マルチメディアコンテンツが(N個のシンクデバイス310〜310Nとしての)タブレットのグループにストリーミングされ得、オーディオが共通オーディオシステムにストリーミングされ得る。別の例は、3G/4Gデータ接続をもつ(ソースデバイス300としての)自動車ヘッドセットユニットが、インターネットからのマルチメディアコンテンツを助手席にある(N個のシンクデバイス310〜310Nとしての)タブレットまたはワイヤレスヘッドセットに共有することを含み得る。シンクの各グループ305〜305Kに送られるコンテンツは互いに異なり得、たとえば、あるデバイス上ではムービークリップをレンダリングし、他のデバイス上では音楽のみをレンダリングする。
【0032】
[0049]
図4に、ソースデバイス400(たとえば、
図3のソースデバイス300)から複数のシンクグループ405Aおよび405B(たとえば、
図3のK個のシンクグループ305〜305Kのいずれか)へのメディアストリーミングのためのグループ化例を示す。一例では、シンクグループ405Aは2つのシンクデバイス410Aおよび410B(たとえば、N個のシンクデバイス310〜310Nのいずれか)を含み、シンクグループ405Bは3つのシンクデバイス410C、410D、および410E(たとえば、N個のシンクデバイス310〜310Nのいずれか)を含む。一例では、ソースデバイス400はセルフォンであり得、シンクグループ405Aは、たとえば、シンクデバイス410AのウルトラHD(4K 2160p)またはフルHD(1020p)DTVディスプレイ能力と、シンクデバイス410BにおけるHD(720p)DTVディスプレイ能力とを含み得るシンクデバイス410Aおよび410Bに、720p高精細度フォーマットビデオをもつマルチキャストビデオを送信するために使用され得る。さらに、シンクグループ405Bは、たとえば、異なる最大解像度(たとえば、800×480 p60、1024×768 p60など)が可能な2つのタブレットディスプレイと、1280×960 p60解像度をもつラップトップディスプレイとを含み得るシンクデバイス410C、410D、および410Eに、WVGA(800×480)フォーマットをもつマルチキャストプレゼンテーションを送信するために使用され得る。
【0033】
[0050]
図5に、シンクデバイスがソース開始および制御グループセッションに加入するための例示的な一連のステップを示す。このタイプのグループセッションは「ソース中心グループ」と呼ばれることもある。
【0034】
[0051]ステップ1において、ピアツーピア接続が、ソースデバイス500(たとえば、
図3のソースデバイス300)と、シンクデバイス510A〜510Dのグループ(たとえば、N個のシンクデバイス310〜310Nのいずれか)との間で確立され得る。ピアツーピア接続はグループセッションと呼ばれることもある。接続を開始するために、ユーザは、シンクデバイスのグループへのマルチメディアストリーミングを処理するためのWi−Fiディスプレイ(WFD)アプリケーションをソースデバイス500からローンチし得、これにより、ソースデバイス500は、シンクデバイス510A〜510Dにそれのサービスおよびグループセッション能力を告知(たとえば、広告)することになり得る。告知のこの期間はP2Pデバイス発見段階と呼ばれることもある。マルチキャストデータ配信が、マルチキャストトラフィック(たとえば、802.11ダイレクテッドマルチキャストサービス(DMS)、またはリトライを用いるグループキャスト(GCR:Group-cast with Retries))のためにMACレイヤによってサポートされるかまたは必要とされるとき、ソースデバイス500は、グループオーナーになるというそれの意図をすでに広告していることがある。一実施形態では、ソースデバイス500およびシンクデバイス510A〜510Dは、グループメンバーシップを確立するためのL3 IGMPプロトコル(インターネットグループ管理プロトコル−RFC3376)を使用し得る。
【0035】
[0052]Wi−Fiディスプレイグループ動作をサポートするために、RTSPメッセージングが、メッセージ交換におけるそれの信頼性、ならびに多数のシンクデバイスのそれの処理により、グループセッションのために使用され得る。グループ中のシンクデバイスの数に応じて、異なるRTSPシグナリングおよびストリーミング制御オプションが、ソースデバイス500によって使用および広告され得る。たとえば、多数のシンクデバイス(図示せず)がある場合、ソースデバイス500は、それのグループセッション(たとえば、共通セッション)開始要求メッセージのための、UDPを用いるRTSP(RTSPU:RTSP with UDP)方式(IETF RFC2326)(たとえば、ANNOUNCEまたはSETUPなどの方法)を使用し得る。この方法および他のRTSPベース方法に関するさらなる詳細について、
図6〜
図9に関して以下で説明する。
【0036】
[0053]使用されるRTSP方法にかかわらず、RTSPメッセージは、シンクデバイスがグループセッションに加入するための必要とされる能力、たとえば、共通マルチメディアコーデック、共通マルチメディアフォーマット、最小レイテンシまたはバッファ能力、またはサポートされるマルチキャスト機構(たとえば、DMSまたはGCR)に関する情報を含み得る。場合によっては、RTSPメッセージは、ソースデバイス500が、それがサービスしようとするシンクデバイスの最大数に基づいて設定し得る、キープアライブタイムアウトおよび応答時間制限情報をも含み得る。ソースデバイス500はまた、ユニキャスト、非GCRマルチキャスト、DMS、またはGCRマルチキャストなど、適切なMACレイヤ送信方式に基づいてそのような情報を設定し得る。必要とされる能力をサポートするシンクデバイス(たとえば、510A〜510D、および図示されていない何らかの追加のシンクデバイス)の各々は、ブロードキャストされたRTSPメッセージに応答し得る。ソースデバイス500は、ブロードキャストされたRTSPメッセージを周期的に再送信し得る。これは、範囲内のすべてのシンクデバイスがRTSPメッセージを受信すること、および/または新たに発見されたいかなるシンクデバイスも、グループセッションに加入するための機会を有することを保証する。
【0037】
[0054]発見期間中に、デバイスは、プローブ要求、プローブ応答、またはビーコンフレームなど、1つまたは複数のMACフレームを交換し得る(図示せず)。サポートされるグループタイプを含むグループセッション管理情報、何らかの事前構成されたコーデックおよび他のパラメータ、ならびにセッション管理制御のためのポート情報が、ピアツーピアデバイス発見のためのこれらのフレーム中に含まれる。交換された情報に基づいて、シンクデバイス510A〜510Gのうちの1つまたは複数は、ソースデバイス500と接続することを拒絶し得る。この例では、シンクデバイス510Dは、ソースデバイス500と接続することを拒絶する。ソースデバイス500は、次いで、UDPポートを作成し、ポート情報と他のセッション制御データ(たとえば、マルチキャストグループ)とを残りのシンクに送り得る。その情報およびデータを使用して、デバイスは、次いで、ピアツーピア接続またはグループセッションを形成し得る。
【0038】
[0055]ステップ2において、ソースデバイス500は、たとえば、マルチメディアコンテンツフォーマッティングと、マルチキャストグループ情報と、UDPポート情報とを含み得る、データプレーンに関する情報をもつRTSPメッセージを使用して、それのグループセッション構成を告知し得る。データプレーンのためのそれのグループセッション構成を告知することによって、ソースデバイス500は、既存のグループセッションに加入するように他のシンクデバイスを効果的に勧誘する。マルチメディアフォーマット要件の最小セットが、グループセッションのためのデフォルト必須パラメータとして設定され得る。一実施形態では、グループセッションのための共通マルチメディアフォーマットは固定であり、たとえば、CEA 1280×720p、24FPS解像度であり得る。いくつかの実装形態では、同じマルチメディアコンテンツが、シンクデバイスのあるグループに、ある共通フォーマットでストリーミングされ、シンクデバイスの別のグループに、別の共通フォーマットでストリーミングされ得る。この例では、グループセッション505Aがシンクデバイス510A〜510Cからなり、グループセッション505Bがシンクデバイス510F〜510Gからなる。シンクデバイス510Dは、それがステップ1において接続要求を拒絶したので、いずれのグループセッションにも現れない。ソースデバイス500は、グループ化すべき、同じ能力をもつ少なくとも2つのシンクデバイスがあるとき、グループセッションを確立し得る。
【0039】
[0056]効率を高め、処理を最小限に抑えるために、ソースデバイス500は、「アクティブシンクデバイス」であるべき各グループ中のあらかじめ決定された数のシンクデバイスを選択し得る。グループセッション管理データ中でアクティブシンクデバイスに関する情報が更新され得る。アクティブシンクデバイスは、ソースデバイス500によって送られたRTSP要求メッセージに応答し得る。「パッシブシンクデバイス」と呼ばれる、シンクデバイスの残りは、RTSP要求メッセージに応答しないことがあり、ソースデバイス500からマルチメディアコンテンツを受信し、非要請様式でそれらの能力情報を交換し得、たとえば、パッシブシンクデバイスは、アクティブシンクデバイスと比較して、ソースデバイス500から、グループセッションにおけるストリーミングのために使用されるコンテンツフォーマットと、ポート情報とのみを受信し得る。
【0040】
[0057]ステップ3において、ソースデバイス500は、グループセッション505Aにおけるシンクデバイス510A〜510Cにマルチメディアコンテンツを送信(たとえば、ストリーミング)することを開始し得る。送信中の任意の時間において、マルチメディアコンテンツは、メディアコンテンツのネイティブフォーマットに基づいて異なるコーデックまたはフォーマット要件を有し得る、異なるマルチメディアコンテンツに切り替えられ得る。シンクデバイスがコンテンツのネイティブフォーマットをサポートすることができないとき、何らかの他のフォーマットへのトランスコーディングが必要とされ得る。一実装形態では、ソースデバイス500は、グループセッション505Aにおけるシンクデバイス510A〜510Cのすべてに共通のフォーマットにコンテンツを再符号化し得る。グループセッション中に、ソースデバイス500はまた、ステップ2の場合のようにRTSPメッセージを使用することによってグループセッション構成を周期的に告知し得る。ソースデバイス500は、「一時停止」、「早送り」、「巻戻し」、フォーマット変更など、ストリーミング制御の大部分を処理し得る。
【0041】
[0058]ステップ4において、新しいシンクデバイス510Eが、ステップ2またはステップ3中に送信されたグループセッション構成告知メッセージを受信し、グループセッション505Aに加入し得る。新しいシンクデバイス510Eがグループセッション505Aに加入すると、それも、ソースデバイス500からグループセッション505Aに送信されているマルチメディアコンテンツを受信することになる。新しいシンクデバイスは、任意の時間にグループセッションに加入することを要求し得る。同様に、現在グループセッションにあるシンクデバイスは、任意の時間にグループを出ることを要求し得る。
【0042】
[0059](たとえば、1つの継続する図として解釈される
図6Aおよび
図6Bによって示される)
図6に、Wi−FiディスプレイソースデバイスといくつかのWi−Fiディスプレイシンクデバイスとの間の、ソース中心RTSPベース能力ネゴシエーションおよびグループセッション確立方法の1つの例示的な実装形態を示す。図示の例では、シンクデバイスのすべてが同じグループ中にあると仮定される。この方法は、グループセッション確立および制御のためのメッセージおよびパラメータの追加によって、TCPポートを介した上記で説明したユニキャストRTSPメッセージングの効率を改善する。概して、この方法では、ソースは、信頼できる制御のための個々のRTSP接続を確立し、グループ内でのストリーミング中にメディアデータのためのマルチキャストを可能にし得、これは、少数のシンクデバイスの場合に好適である。さらに、ステップ670に記載されているように、ソースは、シンクからSETUP要求を受信することなしにグループセッションを自律的に開始するためのグループセッションIDを生成し得る。
【0043】
[0060]ステップ661において、Wi−Fiディスプレイソース600は、Wi−Fiディスプレイシンク610のうちの少なくとも1つとともに(この例では、シンク610Aとともに)発見段階を開始する。発見段階中に交換される発見情報は、
図5に関して上記で説明したように、グループセッション管理およびデバイス能力情報を含み得る。発見段階は、チャネル上のトラフィックの量に基づいて、選定されたチャネル(たとえば、チャネル1、6、または11)上で行われ得る。さらに、発見情報は、プローブ要求およびプローブ応答フレームを介してソース600とシンク610との間で交換され得る。
【0044】
[0061]ステップ662において、シンク610のうちの1つまたは複数は、サービス発見情報をもソース600と交換し得る。
【0045】
[0062]ステップ663において、ソース600は、ステップ661およびステップ662が行われたことをユーザ650に示し、いずれの1つまたは複数のシンク610が発見段階中に発見されたかをユーザ650に通知し得る(この例では、シンク610Aが選択された)。
【0046】
[0063]ステップ664において、ソース600は、発見段階中に選択された1つまたは複数のシンク610との接続セットアップを完了し得る。場合によっては、接続セットアップはWi−Fiピアツーピアリンクであり得る。
【0047】
[0064]ステップ665において、ソース600は、それ自体と、発見段階中に選択された1つまたは複数のシンク610との間で能力情報を交換し得る。そのような能力情報は、特に、マルチメディアコーデック、マルチメディアフォーマット、最小レイテンシまたはバッファ能力、あるいはサポートされるマルチキャスト機構(たとえば、DMSまたはGCR)を含み得る。ソース600は、能力情報を交換および設定するために、グループセッション管理情報を含めることによって、RTSP OPTIONSと後続のGET_PARAMETERコマンドとを使用し得る。
【0048】
[0065]ステップ666において、ソース600は、追加のシンク610とともに(この例では、シンク610Bおよび610Cとともに)、継続する発見段階を開始し得る。発見段階中に交換される発見情報は、グループセッション管理およびデバイス能力情報を含み得る。継続する発見段階中の情報の交換は、1つのシンクずつ行われ得、たとえば、ソース600は、発見情報をシンク610Bと交換し、次いで、発見情報をシンク610Cと交換し得る。
【0049】
[0066]ステップ667において、追加のシンク610のうちの1つまたは複数(ここでは、610Bおよび610C)は、ソース600からのサービス発見情報をも交換し得る。
【0050】
[0067]ステップ668において、ソース600は、ステップ666および667が行われたことをユーザ650に示し、存在する、能力要件を満たすいくつかのシンク610(ここでは、シンク610A、610B、および610C)が、発見段階中に選択されたことをユーザ650に通知し得る。
【0051】
[0068]ステップ669において、ソース600は、それ自体と、継続する発見段階中に選択された追加の1つまたは複数のシンク610(ここでは、610Bおよび610C)との間で能力情報を交換し得る。そのような能力情報は、特に、マルチメディアコーデック、マルチメディアフォーマット、最小レイテンシまたはバッファ能力、あるいはサポートされるマルチキャスト機構(たとえば、DMSまたはGCR)を含み得る。ソース600は、能力情報を交換および設定するために、グループセッション管理情報とともに、RTSP OPTIONSと後続のGET_PARAMETERコマンドとを使用し得る。この段階中の情報の交換は、1つのシンクずつ行われ得、たとえば、ソース600は、能力情報をシンク610Bと交換し、次いで、能力情報をシンク610Cと交換し得る。
【0052】
[0069]ステップ670において、ソース600は、グループセッションを確立する準備ができていることがある。グループセッションのそれの確立において、ソース600は、上記のステップにおいて選択された1つまたは複数のシンクとの間での能力情報交換に基づいて、グループセッションのための最適パラメータを決定し得る。ソース600はグループセッションのためのセッションIDをさらに生成し得る。
【0053】
[0070]ステップ671において、ソース600は告知段階に入り得、その間、それは、シンク610のうちの1つ(この場合、シンク610A)にRTSPグループセッション情報の告知を送り得る。ソース600は、告知を送るためにRTSP ANNOUNCEコマンドを使用し得る。告知は、特に、プレゼンテーションURLと、コーデックパラメータと、グループIPアドレスと、RTPポート番号と、特定のシンク610(ここでは、シンク610A)とシンクするためのセッションIDとに関する情報を含み得る。告知段階中に、ソース600はWFD−TRIGGER−METHOD=WAITコマンドの下で動作し得、その間、それは、マルチメディアコンテンツを再生することを待つことになる。
【0054】
[0071]ステップ672において、シンク610(ここでは、シンク610A)は、それがステップ671の告知を受信したこと、およびそれがマルチメディアコンテンツを受信する準備ができていることを示すRTSP OKメッセージをソース600に送り得る。
【0055】
[0072]ステップ673において、ソース600は継続する告知段階に入り得、その間、それは、追加のシンク610(この場合、シンク610Bおよび610C)にRTSPグループセッション情報の告知を送り得る。ソース600は、再び、継続する告知を送るために、RTSP ANNOUNCEコマンドを使用し得る。継続する告知は、特に、プレゼンテーションURLと、コーデックパラメータと、グループIPアドレスと、RTPポート番号と、特定の追加のシンク610(この場合、シンク610Bおよび610C)とシンクするためのセッションIDとに関する情報を含み得る。継続する告知段階中に、ソース600は、WFD−TRIGGER−METHOD=PLAYコマンドの下で動作し得、その間、ソース600は、接続されたシンク610(ここでは、シンク610A、610B、および610C)に対してマルチメディアコンテンツを再生する準備ができていることがある。
【0056】
[0073]ステップ674において、追加のシンク610(ここでは、シンク610Bおよび610C)は、それらがステップ673の告知を受信したこと、およびそれらがマルチメディアコンテンツを受信する準備ができていることを示すRTSP OKメッセージをソース600に送り得る。
【0057】
[0074]ステップ675において、接続されたシンク610のうちの1つまたは複数は、RTSPプレゼンテーションURLを介してソース600に再生要求(たとえば、RTSP PLAY要求)を送り得る。
【0058】
[0075]ステップ676において、ステップ675の再生要求に応答して、ソース600は、たとえば、「PLAY応答OK」メッセージを介して、再生が始まることを要求元シンク610に通知し得る。
【0059】
[0076]ステップ677において、ソース600は、要求元シンク610にグループセッション上でマルチメディアコンテンツをストリーミングすることを開始し得る。この時間中に、ソース600は「PLAYING」のステータスを示し得る。
【0060】
[0077]ステップ678において、要求元シンク610は、ソース600からストリーミングマルチメディアコンテンツを受信し得る。
【0061】
[0078]一実装形態では、ソース600は、(上記のステップ665および669において説明した)個々のシンク610能力交換をスキップし、マルチメディアコンテンツパラメータのあらかじめ決定されたセット(たとえば、コンテンツのフォーマット)を用いてグループセッションを開始することを選択し得る。代わりに、マルチメディアコンテンツパラメータのあらかじめ決定されたセットは、(上記のステップ662および667において説明した)デバイスまたはサービス発見段階中にシンク610から取得され得る。
【0062】
[0079](たとえば、1つの継続する図として解釈される
図7Aおよび
図7Bによって示される)
図7に、Wi−FiディスプレイソースデバイスといくつかのWi−Fiディスプレイシンクデバイスとの間の、ソース中心RTSPベースグループセッション確立および能力ネゴシエーション方法の別の例示的な実装形態を示す。図示の例では、シンクデバイスのすべてが同じグループ中にあると仮定される。この方法は、この場合も、グループセッション確立および制御のためのメッセージおよびパラメータの追加によって、上記で説明したTCPユニキャストRTSPの効率を改善する。概して、この方法では、ソースは、信頼できる制御のための個々のRTSP接続を確立し、グループ内でのストリーミング中にメディアデータのためのマルチキャストを可能にし得、これは、少数のシンクデバイスの場合に好適である。さらに、以下で説明するように、および
図6で説明した方法と比較して、ソースは、選択されたシンクデバイスのうちの1つとのセットアップ交換を実行し得る。
【0063】
[0080]ステップ761において、Wi−Fiディスプレイソース700は、Wi−Fiディスプレイシンク710のうちの少なくとも1つとともに(この例では、シンク710Aとともに)発見段階を開始する。発見段階中に交換される発見情報は、
図5に関して上記で説明したように、グループセッション管理およびデバイス能力情報を含み得る。発見段階は、チャネル上のトラフィックの量に基づいて、選定されたチャネル(たとえば、チャネル1、6、または11)上で行われ得る。さらに、発見情報は、プローブ要求およびプローブ応答フレームを介してソース700とシンク710との間で交換され得る。
【0064】
[0081]ステップ762において、シンク710のうちの1つまたは複数は、サービス発見情報をもソース700と交換し得る。
【0065】
[0082]ステップ763において、ソース700は、ステップ761およびステップ762が行われたことをユーザ750に示し、いずれの1つまたは複数のシンク710が発見段階中に発見されたかをユーザ750に通知し得る(この例では、シンク710Aが選択された)。
【0066】
[0083]ステップ764において、ソース700は、発見段階中に選択された1つまたは複数のシンク710との接続セットアップを完了し得る。場合によっては、接続セットアップはWi−Fiピアツーピアリンクであり得る。
【0067】
[0084]ステップ765において、ソース700は、それ自体と、発見段階中に選択された1つまたは複数のシンク710との間で能力情報を交換し得る。そのような能力情報は、特に、マルチメディアコーデック、マルチメディアフォーマット、最小レイテンシまたはバッファ能力、あるいはサポートされるマルチキャスト機構(たとえば、DMSまたはGCR)を含み得る。ソース700は、能力情報を交換および設定するために、グループセッション管理情報とともに、RTSP OPTIONSおよびGET_PARAMETERコマンドを使用し得る。
【0068】
[0085]ステップ766において、ソース700は、追加のシンク710とともに(この例では、シンク710Bおよび710Cとともに)、継続する発見段階を開始し得る。発見段階中に交換される発見情報は、グループセッション管理およびデバイス能力情報を含み得る。継続する発見段階中の情報の交換は、1つのシンクずつ行われ得、たとえば、ソース700は、発見情報をシンク710Bと交換し、次いで、発見情報をシンク710Cと交換し得る。
【0069】
[0086]ステップ767において、追加のシンク710のうちの1つまたは複数(ここでは、710Bおよび710C)は、ソース700からのサービス発見情報をも交換し得る。
【0070】
[0087]ステップ768において、ソース700は、ステップ766および767が行われたことをユーザ750に示し、存在する、能力要件を満たすいくつかのシンク710(ここでは、シンク710A、710B、および710C)が、発見段階中に選択されたことをユーザ750に通知し得る。
【0071】
[0088]ステップ769において、ソース700は、それ自体と、継続する発見段階中に選択された追加の1つまたは複数のシンク710(ここでは、710Bおよび710C)との間で能力情報を交換し得る。そのような能力情報は、特に、マルチメディアコーデック、マルチメディアフォーマット、最小レイテンシまたはバッファ能力、あるいはサポートされるマルチキャスト機構(たとえば、DMSまたはGCR)を含み得る。ソース700は、能力情報を交換および設定するために、グループセッション管理情報とともに、RTSP OPTIONSおよびGET_PARAMETERコマンドを使用し得る。この段階中の情報の交換は、1つのシンクずつ行われ得、たとえば、ソース700は、能力情報をシンク710Bと交換し、次いで、能力情報をシンク710Cと交換し得る。
【0072】
[0089]ステップ770において、ソース700は、グループセッションを確立する準備ができていることがある。グループセッションのそれの確立において、ソース700は、上記のステップにおいて選択された1つまたは複数のシンクとの間での能力情報交換に基づいて、グループセッションのための最適パラメータを決定し得る。
図6で説明した方法と比較して、ソース700は、この時点でグループセッションのためのセッションIDを生成しないことがある。
【0073】
[0090]ステップ771において、ソース700は告知段階に入り得、その間、それは、シンク710のうちの1つ(この場合、シンク710A)にRTSPグループセッション情報の告知を送り得る。ソース700は、告知を送るためにRTSP ANNOUNCEコマンドを使用し得る。告知は、特に、プレゼンテーションURLと、コーデックパラメータと、グループIPアドレスと、RTPポート番号と、特定のシンク710(ここでは、シンク710A)とシンクするためのセッションIDとに関する情報を含み得る。告知段階中に、ソース700はWFD−TRIGGER−METHOD=SETUPコマンドの下で動作し得、その間、それは、個々のシンク710(ここでは、シンク710A)からのセットアップ要求を待つことになる。
【0074】
[0091]ステップ772において、シンク710(ここでは、シンク710A)は、それがステップ771の告知を受信したことを示すRTSP OKメッセージをソース700に送り得る。
【0075】
[0092]ステップ773において、個々のシンク710(ここでは、シンク710A)は、RTSPプレゼンテーションURLを介してソース700にRTSPセットアップ要求を送り得る。
【0076】
[0093]ステップ774において、ソース700は、RTSPセットアップ要求のそれの確認および承認を個々のシンク710(ここでは、シンク710A)に送り得る。
図6に反して、ソース700は、この時点でグループセッションIDを送り得る。
【0077】
[0094]ステップ775において、ソース700は継続する告知段階に入り得、その間、それは、追加のシンク710(この場合、シンク710Bおよび710C)にRTSPグループセッション情報の告知を送り得る。ソース700は、再び、継続する告知を送るために、RTSP ANNOUNCEコマンドを使用し得る。継続する告知は、特に、プレゼンテーションURLと、コーデックパラメータと、グループIPアドレスと、RTPポート番号と、特定の追加のシンク710(この場合、シンク710Bおよび710C)とシンクするためのセッションIDとに関する情報を含み得る。継続する告知段階中に、ソース700はWFD−TRIGGER−METHOD=SETUPコマンドの下で動作し続け得、その間、ソース700は、追加の接続されたシンク710(ここでは、シンク710Bおよび710C)からのセットアップ要求を待ち得る。
【0078】
[0095]ステップ776において、追加のシンク710(ここでは、シンク710Bおよび710C)は、それらがステップ775の告知を受信したことを示すRTSP OKメッセージをソース700に送り得る。
【0079】
[0096]ステップ777において、追加のシンク710(ここでは、シンク710Bおよび710C)は、RTSPプレゼンテーションURLを介してソース700にRTSPセットアップ要求を送り得る。
【0080】
[0097]ステップ778において、セットアップ要求に応答して、ソース700は、RTSPセットアップ要求のそれの確認および承認を追加のシンク710(ここでは、シンク710Bおよび710C)に送り得る。ソース700は、この時点でグループセッションIDをも送り得る。
【0081】
[0098]ステップ779において、接続されたシンク710のうちの1つまたは複数は、RTSPプレゼンテーションURLを介してソース700に再生要求(たとえば、RTSP PLAY要求)を送り得る。再生要求は、グループセッションIDに従って送られ得る。
【0082】
[0099]ステップ780において、ステップ779の再生要求に応答して、ソース700は、たとえば、「PLAY応答OK」メッセージを介して、再生が始まることを要求元シンク710に通知し得る。
【0083】
[00100]ステップ781において、ソース700は、要求元シンク710にグループセッション上でマルチメディアコンテンツをストリーミングすることを開始し得る。この時間中に、ソース700は「PLAYING」のステータスを示し得る。
【0084】
[00101]ステップ782において、要求元シンク710は、ソース700からストリーミングマルチメディアコンテンツを受信し得る。
【0085】
[00102]一実装形態では、ソース700は、(上記のステップ765および769において説明した)個々のシンク710能力交換をスキップし、マルチメディアコンテンツパラメータのあらかじめ決定されたセット(たとえば、コンテンツのフォーマット)を用いてグループセッションを開始することを選択し得る。代わりに、マルチメディアコンテンツパラメータのあらかじめ決定されたセットは、(上記のステップ762および767において説明した)デバイスまたはサービス発見段階中にシンク710から取得され得る。
【0086】
[00103](たとえば、1つの継続する図として解釈される
図8Aおよび
図8Bによって示される)
図8に、Wi−FiディスプレイソースデバイスといくつかのWi−Fiディスプレイシンクデバイスとの間の、ソース中心RTSPベースグループセッション確立および能力ネゴシエーション方法の別の例示的な実装形態を示す。図示の例では、シンクデバイスのすべてが同じグループ中にあると仮定される。この方法は、
図6および
図7のTCPベース方法と比較して、(たとえば、信頼性を維持するために)フィードバックのための複数再試行機能および機会を使用し得る、より効率的にWi−Fiディスプレイグループセッションを確立するためのUDPベース「RTSPU」方式である。
【0087】
[00104]ステップ861において、Wi−Fiディスプレイソース800は、Wi−Fiディスプレイシンク810のうちの少なくとも1つとともに(この例では、シンク810Aとともに)発見段階を開始する。発見段階中に交換される発見情報は、
図5に関して上記で説明したように、グループセッション管理情報を含み得る。一実装形態では、ソース800は、それが下記のいくつかの能力交換ステップ(たとえば、ステップ869、870、および/または871)をスキップし得るようにマルチメディアフォーマットおよびパラメータのセットをあらかじめ決定するために、発見情報を使用し得る。発見段階は、チャネル上のトラフィックの量に基づいて、選定されたチャネル(たとえば、チャネル1、6、または11)上で行われ得る。さらに、発見情報は、プローブ要求およびプローブ応答フレームを介してソース800とシンク810との間で交換され得る。
【0088】
[00105]ステップ862において、シンク810のうちの1つまたは複数は、サービス発見情報をもソース800と交換し得る。一実装形態では、ソース800は、それが下記のいくつかの能力交換ステップ(たとえば、ステップ869、870、および/または871)をスキップし得るようにマルチメディアフォーマットおよびパラメータのセットをあらかじめ決定するために、サービス発見情報を使用し得る。
【0089】
[00106]ステップ863において、ソース800は、ステップ861およびステップ862が行われたことをユーザ850に示し、いずれの1つまたは複数のシンク810が発見段階中に選択されたかをユーザ850に通知し得る(この例では、シンク810Aが選択された)。
【0090】
[00107]ステップ864において、ソース800は、発見段階中に選択された1つまたは複数のシンク810との接続セットアップを完了し得る。場合によっては、接続セットアップはWi−Fiピアツーピアリンクであり得る。
【0091】
[00108]ステップ865において、ソース800は、追加のシンク810とともに(この例では、シンク810Bおよび810Cとともに)、継続する発見段階を開始し得る。発見段階中に交換される発見情報は、グループセッション管理およびデバイス能力情報を含み得る。継続する発見段階中の情報の交換は、1つのシンクずつ行われ得、たとえば、ソース800は、発見情報をシンク810Bと交換し、次いで、発見情報をシンク810Cと交換し得る。一実装形態では、ソース800は、それが下記のいくつかの能力交換ステップ(たとえば、ステップ869、870、および/または871)をスキップし得るようにマルチメディアフォーマットおよびパラメータのセットをあらかじめ決定するために、発見情報を使用し得る。
【0092】
[00109]ステップ866において、追加のシンク810のうちの1つまたは複数(ここでは、810Bおよび810C)は、ソース800からのサービス発見情報をも交換し得る。一実装形態では、ソース800は、それが下記のいくつかの能力交換ステップ(たとえば、ステップ869、870、および/または871)をスキップし得るようにマルチメディアフォーマットおよびパラメータのセットをあらかじめ決定するために、サービス発見情報を使用し得る。
【0093】
[00110]ステップ867において、ソース800は、継続する発見段階中に選択された追加のシンク810との接続セットアップを完了し得る。場合によっては、接続セットアップはWi−Fiピアツーピアリンクであり得る。
【0094】
[00111]ステップ868において、ソース800は、ステップ865〜867が行われたことをユーザ850に示し、存在する、能力要件を満たすいくつかのシンク810(ここでは、シンク810A、810B、および810C)が、発見段階中に選択されたことをユーザ850に通知し得る。一実装形態では、ソース800が、能力交換をスキップするのに必要なマルチメディアフォーマットおよびパラメータのセットをあらかじめ決定した場合、ソース800またはユーザ850は、この時点で、ステップ869、870、および871をスキップすることを選択し得る。
【0095】
[00112]ステップ869において、上記のようにスキップされない限り、ソース800は、それ自体と、ステップ861〜867において発見段階中に選択された1つまたは複数のシンク810との間で、能力情報についての要求を送り得る。能力情報は、特に、マルチメディアコーデック、マルチメディアフォーマット、最小レイテンシまたはバッファ能力、あるいはサポートされるマルチキャスト機構(たとえば、DMSまたはGCR)を含み得る。ソース800は、能力情報を交換および設定するために、グループセッション管理情報とともに、RTSP GET_PARAMETERコマンドを使用し得る。一実装形態では、ソース800は、
図5に関して説明したように、シンク810からの応答のためのタイムアウトを指定し得る。ソース800は、応答のためのタイムアウトを、予想されるネットワークラウンドトリップ時間に基づかせ得る(たとえば、ラウンドトリップ時間は、Wi−Fiチャネルアクセスの場合、50ms〜500msであり得る)。ソース800から送られた各UDPベースRTSPメッセージ要求は、少なくとも応答のためのタイムアウトに基づく、「応答時間制限」と、「再試行の回数」と、「次送信間隔」とを含み得る。UDPベースRTSPメッセージ要求の各々は、メッセージ信頼性および明瞭性を改善するために、一意のシーケンス番号(たとえば、CSeqヘッダ)をも含み得る。
【0096】
[00113]ステップ870および871において、上記のようにスキップされない限り、ソース800は、ステップ869において1つまたは複数のシンク810から要求されたシンクパラメータ(たとえば、能力情報)を取り出し得る。この段階中の情報の交換は、1つのシンクずつ行われ得、たとえば、ソース800は、(ステップ870の場合のように)能力情報をシンク810Aと交換し、次いで、(ステップ871の場合のように)能力情報をシンク810Bまたは810Cと交換し得る。
【0097】
[00114]ステップ872において、ソース800は、グループセッションを確立する準備ができていることがある。グループセッションのそれの確立において、ソース800は、上記のステップにおいて選択された1つまたは複数のシンクとの間での能力情報交換に基づいて、グループセッションのための最適パラメータを決定し得る。ソース800は、この時点でグループセッションIDをも生成し得る。
【0098】
[00115]ステップ873において、ソース800は告知段階に入り得、その間、それは、接続されたシンク810(たとえば、ここでは、シンク810A、810B、および810C)にRTSPグループセッション情報の告知を送り得る。ソース800は、告知を送るためにRTSP ANNOUNCEコマンドを使用し得る。告知は、特に、マルチキャストプレゼンテーションURLと、コーデックパラメータと、グループIPアドレスと、RTPポート番号と、グループセッション中のシンクのすべてのための共通セッションIDとに関する情報を含み得る。告知段階中に、ソース800はWFD−TRIGGER−METHOD=WAITコマンドの下で動作し得、その間、それは、マルチメディアコンテンツを再生することを待つことになる。告知はまた、ステップ869において確立された場合、応答タイムアウトおよび再試行カウントパラメータに従い得る。そうである場合、ソース800は、次のメッセージを送信することに進む前に、1つまたは複数のシンクからの応答のためのあらかじめ決定された待機時間の間、「待機のみ」を設定し得る。さらに、UDP上でのマルチキャストがプロトコル処理負荷を低減し得るので、告知中のRTSPマルチキャストプレゼンテーションURLは、フォーマット「rtspu://<host[“:”port][path]」を有し得る。以下でさらに説明するように、ソース800は、新しいシンクにグループセッションに加入するように要請するために告知を送信し続け得る。告知は、あらかじめ決定された時間間隔において周期的に繰り返され得る。繰り返される告知は、ステップ882においてさらに説明するように、マルチメディアストリーミングが(ステップ880において)開始した後でも行われ得る。
【0099】
[00116]ステップ874において、シンク810(ここでは、シンク810A)は、それがステップ873の告知を受信したことを示すRTSP OKメッセージをソース800に送り得る。
【0100】
[00117]ステップ875において、追加のシンク810(ここでは、シンク810C)は、それらがステップ873の告知を受信したことを示すRTSP OKメッセージをソース800に送り得る。いくつかの実装形態では、このステップは、上記で説明したタイムアウトおよび再試行によりスキップされ得る。
【0101】
[00118]ステップ876において、ステップ873に関して上記で説明したように、ソース800は、新しいシンクにグループセッションに加入するように要請するために告知を送信し続け得る。告知は、あらかじめ決定された時間間隔において周期的に繰り返され得る。繰り返される告知は、ステップ882においてさらに説明するように、マルチメディアストリーミングが(ステップ880において)開始した後でも行われ得る。いくつかの実装形態では、本方法においてこの段階で送られる告知は、UDP上でのユニキャストを介して送られ得る。この告知段階中に、ソース800はWFD−TRIGGER−METHOD=PLAYコマンドの下で動作し得、その間、ソース800は、接続されたシンク810(ここでは、シンク810A、810B、および810C)に対してマルチメディアコンテンツを再生する準備ができていることがある。
【0102】
[00119]ステップ877において、いずれかの追加のシンク810(ここでは、シンク810B)は、それらがステップ876の告知を受信したことを示すRTSP OKメッセージをソース800に送り得る。
【0103】
[00120]ステップ878において、接続されたシンク810のうちの1つまたは複数は、RTSPプレゼンテーションURLを介してソース800に再生要求(たとえば、RTSP PLAY要求)を送り得る。再生要求は、グループセッションIDに従って送られ得る。
【0104】
[00121]ステップ879において、ステップ879の再生要求に応答して、ソース800は、たとえば、「PLAY応答OK」メッセージを介して、再生が始まることを要求元シンク810に通知し得る。
【0105】
[00122]ステップ880において、ソース800は、要求元シンク810にグループセッション上でマルチメディアコンテンツをストリーミングすることを開始し得る。この時間中に、ソース800は「PLAYING」のステータスを示し得る。
【0106】
[00123]ステップ881において、要求元シンク810は、ソース800からストリーミングマルチメディアコンテンツを受信し得る。
【0107】
[00124]ステップ882において、ステップ873に関して上記で説明したように、ソース800は、新しいシンクにグループセッションに加入するように要請するために告知を送信し続け得る。告知は、あらかじめ決定された時間間隔において周期的に繰り返され得る。いくつかの実装形態では、本方法においてこの段階で送られる告知は、マルチキャストプレゼンテーションURLを介して送られ得る。告知段階中に、ソース800はWFD−TRIGGER−METHOD=WAITコマンドの下で動作し得、その後、受信シンクデバイスは、任意の時間にコンテンツを受信する準備ができていることがある。
【0108】
[00125](たとえば、1つの継続する図として解釈される
図9Aおよび
図9Bによって示される)
図9に、Wi−FiディスプレイソースデバイスといくつかのWi−Fiディスプレイシンクデバイスとの間の、ソース中心RTSPベースグループセッション確立および能力ネゴシエーション方法の別の例示的な実装形態を示す。図示の例では、シンクデバイスのすべてが同じグループ中にあると仮定される。この方法は、
図6および
図7のTCPベースのみの方法と比較して、ならびに
図8のUDPベースのみの方法と比較して、TCPベースRTSPメッセージング方式とUDPベースRTSPUメッセージング方式の両方のハイブリッドを利用する。(ステップ973、975、および979に関して)以下でさらに説明するように、ソースは、限られた数の「アクティブ」シンクデバイスへのTCPベースRTSP接続を維持する。ソースはまた、グループに加入する資格がある任意の他の「パッシブ」シンクデバイスにグループセッションを広告するためのUDPベースRTSPメッセージング方式を確立する。
【0109】
[00126]ステップ961において、Wi−Fiディスプレイソース900は、Wi−Fiディスプレイシンク910のうちの少なくとも1つとともに(この例では、シンク910Aとともに)発見段階を開始する。発見段階中に交換される発見情報は、
図5に関して上記で説明したように、グループセッション管理およびデバイス能力情報を含み得る。発見段階は、チャネル上のトラフィックの量に基づいて、選定されたチャネル(たとえば、チャネル1、6、または11)上で行われ得る。さらに、発見情報は、プローブ要求およびプローブ応答フレームを介してソース900とシンク910との間で交換され得る。
【0110】
[00127]ステップ962において、シンク910のうちの1つまたは複数は、サービス発見情報をもソース900と交換し得る。
【0111】
[00128]ステップ963において、ソース900は、ステップ961およびステップ962が行われたことをユーザ950に示し、いずれの1つまたは複数のシンク910が発見段階中に発見されたかをユーザ950に通知し得る(この例では、シンク910Aが選択された)。
【0112】
[00129]ステップ964において、ソース900は、発見段階中に選択された1つまたは複数のシンク910との接続セットアップを完了し得る。場合によっては、接続セットアップはWi−Fiピアツーピアリンクであり得る。
【0113】
[00130]ステップ965において、ソース900は、それ自体と、発見段階中に選択された1つまたは複数のシンク910との間で能力情報を交換し得る。そのような能力情報は、特に、マルチメディアコーデック、マルチメディアフォーマット、最小レイテンシまたはバッファ能力、あるいはサポートされるマルチキャスト機構(たとえば、DMSまたはGCR)を含み得る。ソース900は、能力情報を交換および設定するために、グループセッション管理情報とともに、RTSP OPTIONSおよびGET_PARAMETERコマンドを使用し得る。
【0114】
[00131]ステップ966において、ソース900は、追加のシンク910とともに(この例では、シンク910Bとともに)、継続する発見段階を開始し得る。発見段階中に交換される発見情報は、グループセッション管理およびデバイス能力情報を含み得る。
【0115】
[00132]ステップ967において、接続されたシンク910のうちの1つまたは複数(ここでは、910Aおよび910B)は、ソース900からのサービス発見情報をも交換し得る。
【0116】
[00133]ステップ968において、ソース900は、ステップ965〜967が行われたことをユーザ950に示し、存在する、能力要件を満たすいくつかのシンク910(ここでは、シンク910Aおよび910B)が、発見段階中に選択されたことをユーザ950に通知し得る。
【0117】
[00134]ステップ969において、ソース900は、再び、それ自体と、継続する発見段階中に選択された追加のシンク910(ここでは、シンク910B)との間で能力情報を交換し得る。そのような能力情報は、特に、マルチメディアコーデック、マルチメディアフォーマット、最小レイテンシまたはバッファ能力、あるいはサポートされるマルチキャスト機構(たとえば、DMSまたはGCR)を含み得る。ソース900は、能力情報を交換および設定するために、グループセッション管理情報とともに、RTSP OPTIONSおよびGET_PARAMETERコマンドを使用し得る。
【0118】
[00135]ステップ970および971において、ソース900は、追加のシンク910とともに(この例では、シンク910Cおよび910Dとともに)、第2の継続する発見段階を開始し得る。発見段階中に交換される発見情報は、グループセッション管理およびデバイス能力情報を含み得る。継続する発見段階中の情報の交換は、1つのシンクずつ行われ得、たとえば、ソース900は、(ステップ970の場合のように)発見情報をシンク910Cと交換し、次いで、(ステップ971の場合のように)発見情報をシンク910Dと交換し得る。
【0119】
[00136]ステップ972において、ソース900は、グループセッションを確立する準備ができていることがある。グループセッションのそれの確立において、ソース900は、上記のステップにおいて選択された1つまたは複数のシンクとの間での能力情報交換に基づいて、グループセッションのための最適パラメータを決定し得る。ソース900は、この時点でグループセッションIDをも生成し得る。さらに、ソース900は、「パッシブ」シンクデバイス(ここでは、シンク910Cおよび910D)がグループに加入し得るように、UDPベースマルチキャストポートを介してそれのグループセッションIDを広告し得る。アクティブおよびパッシブシンクの数は、あらかじめ決定されるか、またはソース900の計算に基づき得る。一実施形態では、アクティブシンクデバイスがより多くのソース900コンピューティングリソースを必要とするので、アクティブシンクデバイスの数は、パッシブシンクデバイスの数よりも小さくなることになる。上記で説明したように、ソース900は、ソース900が限られた数のアクティブシンクデバイス(ここでは、シンク910Aおよび910B)上での信頼できるRTSP制御を維持し得るように、限られた数のアクティブシンクデバイスへのTCPベースRTSP接続を維持し得る。
【0120】
[00137]ステップ973および975において、ソース900はユニキャスト告知段階に入り得、その間、それは、アクティブシンク910(ここでは、シンク910Aおよび910B)にRTSPグループセッション情報の告知を送り得る。ソース900は、アクティブシンクに告知を送るためにRTSP ANNOUNCEコマンドを使用し得る。告知は、特に、プレゼンテーションURLと、コーデックパラメータと、グループIPアドレスと、RTPポート番号と、グループセッション中の個々のアクティブシンクのためのセッションIDとに関する情報を含み得る。いくつかの実装形態では、ソース900は、アクティブシンク1つずつに告知を送り得る。たとえば、ステップ973の場合のように、ソース900はアクティブシンク910Aに告知を送り得、この時間中に、ソース900はWFD−TRIGGER−METHOD=WAITコマンドの下で動作し得、その間、それは、マルチメディアコンテンツを再生することを待つことになる。後に、ステップ975の場合のように、ソース900はアクティブシンク910Bに告知を送り得、この時間中に、ソース900はWFD−TRIGGER−METHOD=PLAYコマンドの下で動作し得、その間、ソース900は、アクティブシンク910に対してマルチメディアコンテンツを再生する準備ができていることがある。告知はまた、
図8ステップ869に関して上記で説明したように、応答タイムアウトおよび再試行カウントパラメータに従い得る。
【0121】
[00138]ステップ974および976において、それぞれ、ステップ973または975の告知を受信したアクティブシンク910(ここでは、それぞれ、シンク910Aおよび910B)は、それらが、それぞれ、ステップ973および975の告知を受信したことを示すRTSP OKメッセージをソース900に送り得る。
【0122】
[00139]ステップ977において、アクティブシンク910のうちの1つまたは複数は、RTSPプレゼンテーションURLを介してソース900に再生要求(たとえば、RTSP PLAY要求)を送り得る。再生要求は、グループセッションIDに従って送られ得る。
【0123】
[00140]ステップ978において、ステップ977の再生要求に応答して、ソース900は、たとえば、「PLAY応答OK」メッセージを介して、再生が始まることを要求元アクティブシンク910に通知し得る。
【0124】
[00141]ステップ979において、ステップ972、973、および975に関して上記で説明したように、ソース900は、新しいパッシブシンクにグループセッションに加入するように要請するためにUDPベースRTSPUマルチキャスト告知を送信し続け得る。この告知段階中に、ソース900はWFD−TRIGGER−METHOD=READYコマンドの下で動作し得、その間、ソース900は、グループに加入し得る任意のパッシブシンク910(ここでは、シンク910Cおよび910D)に対してマルチメディアコンテンツを再生する準備ができていることがある。一実装形態では、ソース900は、ACK応答を、パッシブシンクのいずれかに要求しないまたはそれらのいずれかから受信しないことがある。たとえば、ソース900はパッシブシンクデバイスを追跡しないことがある。代わりに、ソース900は、パッシブシンクが情報を要請するか否かにかかわらず、UDPベース告知内で、マルチメディアコーデックパラメータおよび他の重要なグループセッションストリーミング変更のみを送り得る。一実装形態では、UDPベースRTSPUマルチキャスト告知内で行われる能力交換およびセッション広告は、Wi−Fiディスプレイアクションフレームまたはサービス発見プロシージャを使用することによってレイヤ2によって実行され得る。パッシブシンクデバイスがWi−Fiディスプレイサービス発見(WFDS)プロトコルをサポートする場合、それらは、ピアツーピア発見および接続が確立された後、ソース900からグループセッション能力を取得するために、アプリケーションサービスプラットフォーム(ASP)セッションを使用し得る。
【0125】
[00142]ステップ980において、ソース900は、任意の接続されたアクティブおよびパッシブシンク910(ここでは、シンク910A、910B、910C、および910D)にグループセッション上でマルチメディアコンテンツをストリーミングすることを開始し得る。この時間中に、ソース900は「PLAYING」のステータスを示し得る。
【0126】
[00143]ステップ981において、接続されたアクティブおよびパッシブシンク910は、ソース900からストリーミングマルチメディアコンテンツを受信し得る。
【0127】
[00144](たとえば、1つの継続する図として解釈される
図10Aおよび
図10Bによって示される)
図10に、Wi−Fiディスプレイソースデバイスと、Wi−Fiディスプレイマスタシンクデバイスと、いくつかの従属シンクデバイスとの間の、シンク中心RTSPベースグループセッション管理方法の例示的な実装形態を示す。ソースが個々のシンクまたはシンクのグループとのグループセッションを開始した
図6〜
図9に反して、本方法では、1つの「マスタ」シンクが、ソースとのグループセッションを開始し、次いで、他の「従属」シンクをグループセッションに勧誘する。
【0128】
[00145]ステップ1061において、Wi−Fiディスプレイマスタシンク1010は、Wi−Fiディスプレイソース1000とともに発見段階を開始する。発見段階中に交換される発見情報は、
図5に関して上記で説明したように、グループセッション管理情報およびデバイス能力情報を含み得る。発見段階は、チャネル上のトラフィックの量に基づいて、選定されたチャネル(たとえば、チャネル1、6、または11)上で行われ得る。さらに、発見情報は、プローブ要求およびプローブ応答フレームを介してソース1000とマスタシンク1010との間で交換され得る。
【0129】
[00146]ステップ1062において、マスタシンク1010は、サービス発見情報をもソース1000と交換し得る。
【0130】
[00147]ステップ1063において、ソース1000は、ステップ1061および1062が行われたことをユーザ1050に示し、マスタシンク1010が接続されたことをユーザ1050に通知し得る。
【0131】
[00148]ステップ1064において、ソース1000およびマスタシンク1010は接続セットアップを完了し得る。場合によっては、接続セットアップはWi−Fiピアツーピアリンクであり得る。
【0132】
[00149]ステップ1065において、ソース1000およびマスタシンク1010は、TCPベースRTSPメッセージ交換を使用して能力情報を交換し得る。そのような能力情報は、特に、マルチメディアコーデック、マルチメディアフォーマット、最小レイテンシまたはバッファ能力、あるいはサポートされるマルチキャスト機構(たとえば、DMSまたはGCR)を含み得る。ソース1000は、能力情報を交換および設定するために、グループセッション管理情報とともに、RTSP OPTIONSおよびGET_PARAMETERコマンドを使用し得る。一実装形態では、ソース1000は、それがシンクデバイスのグループを「シンク中心」グループとしてサービスすることを意図することをマスタシンク1010に通知し得る。この場合、同じく能力交換段階中に、マスタシンク1010は、応答し、マスタシンク(または「制御シンク」)の役割を呈し得る。
【0133】
[00150]ステップ1066において、ソース1000は、ユニキャストRTSP告知またはパラメータ要求をマスタシンク1010に送り得る。ソース1000は、告知を送るためにRTSP ANNOUNCEコマンドを使用するか、またはパラメータ要求を送るためにSET_PARAMETERコマンドを使用し得る。告知は、特に、プレゼンテーションURLと、コーデックパラメータと、グループIPアドレスと、RTPポート番号と、マスタシンクのためのセッションIDとに関する情報を含み得る。この時間中に、ソース1000はWFD−TRIGGER−METHOD=WAITコマンドの下で動作し得、その間、それは、マルチメディアコンテンツを再生することを待つことになる。いくつかの実装形態では、グループセッションにおける多数のシンクデバイスのサポートが必要とされるとき、ソース1000は、たとえば、ANNOUNCE方法を使用して、グループセッションストリーミング制御を管理するためのUDP上でのRTSPU方式(IETF RFC2326)を使用し得る。
【0134】
[00151]ステップ1067において、ソース1000およびマスタシンク1010は、マスタシンク1010が、グループセットアップのための要求をソース1000に送り、次いで、ステップ1068に進むとき、通信を一時的に停止(たとえば、一時停止)し得る。
【0135】
[00152]ステップ1068および1069において、マスタシンク1010は、従属シンク1020とともに(この例では、従属シンク1020Aおよび従属シンク1020Bとともに)、継続する発見段階を開始し得る。発見段階中に交換される発見情報は、グループセッション管理情報とデバイス能力情報とを含み得る。マスタシンク1010は、ピアツーピアまたはサービス発見を介して従属シンク1020にグループ勧誘メッセージを送り得る。グループ勧誘メッセージは、現在のWi−Fiディスプレイグループセッションにおけるマルチメディアストリーミングのために使用されるマルチメディアフォーマットを含み得る。グループ勧誘メッセージは、シンクデバイスがソース1000から受信し得るRTP/UDPパケットのためのIPアドレスおよびポート番号をも含み得る。継続する発見段階中の情報の交換は、1つのシンクずつ行われ得、たとえば、マスタシンク1010は、(ステップ1068の場合のように)発見情報を従属シンク1020Aと交換し、次いで、(ステップ1069の場合のように)発見情報を従属シンク1020Bと交換し得る。この時間中に、マスタシンク1010はまた、従属シンクのグループに結合することを確立し、および/またはそれらに関する情報を集め得る。いくつかの実装形態では、グループセッションにおける多数のシンクデバイスのサポートが必要とされるとき、マスタシンク1010は、たとえば、ANNOUNCE方法を使用して、グループセッションストリーミング制御を管理するためのUDP上でのRTSPU方式(IETF RFC2326)を使用し得る。
【0136】
[00153]ステップ1070および1071において、マスタシンク1010は、従属シンク1020(ここでは、従属シンク1020Aおよび1020B)にRTSP告知を送り得る。告知は、従属シンク1020に対する、グループセッションに加入するかまたは要求/応答プロセスに加入するようにとの勧誘を含み得る。告知は従属シンク1つずつに送られ得、たとえば、マスタシンク1010は、(ステップ1070の場合のように)従属シンク1020Aに告知を送り、次いで、(ステップ1071の場合のように)従属シンク1020Bに告知を送り得る。
【0137】
[00154]ステップ1072において、ソース1000は、ステップ1064〜1071が行われたことをユーザ1050に示し、ユーザ1050がグループセッションのためのデバイス選択を行うことを可能にし得る。
【0138】
[00155]ステップ1073において、マスタシンク1010は、RTSPプレゼンテーションURLを介してソース700にRTSPセットアップ要求を送り得る。RTSPセットアップ要求は、グループセッションメンバーシップ情報、たとえば、従属シンクの数と識別情報とを含み得る。
【0139】
[00156]ステップ1074において、ソース1000は、それが、ステップ1073の要求を受信および承認したことを示すRTSP OKメッセージをマスタシンク1010に送り得る。
【0140】
[00157]ステップ1075において、ソース1000は、グループセッションを確立する準備ができていることがある。グループセッションのそれの確立において、ソース1000は、グループセッションのための最適パラメータを決定し得る。ソース1000は、この時点でグループセッションIDをも生成し得る。さらに、ソース1000は、パッシブシンクデバイス(ここでは、従属シンク1020Aおよび1020B)がグループに加入し得るように、UDPベースマルチキャストポートを介してそれのグループセッションIDを広告し得る。このプロセスについて、
図9に関してさらに説明する。
【0141】
[00158]ステップ1076において、ソース1000はユニキャスト告知段階に入り得、その間、それは、マスタシンク1010にRTSPグループセッション情報の告知を送り得る。ソース1000は、マスタシンク1010に告知を送るためにRTSP ANNOUNCEコマンドを使用し得る。この時間中に、ソース1000はWFD−TRIGGER−METHOD=PLAYコマンドの下で動作し得、その間、ソース1000は、マスタシンク1010に対してマルチメディアコンテンツを再生する準備ができていることがある。いくつかの実装形態では、グループセッションにおける多数のシンクデバイスのサポートが必要とされるとき、ソース1000は、たとえば、ANNOUNCE方法を使用して、グループセッションストリーミング制御を管理するためのUDP上でのRTSPU方式(IETF RFC2326)を使用し得る。
【0142】
[00159]ステップ1077において、マスタシンク1010は、それがステップ1076の告知を受信したことを示すRTSP OKメッセージをソース1000に送り得る。
【0143】
[00160]ステップ1078において、マスタシンク1010は、RTSPプレゼンテーションURLを介してソース1000に再生要求(たとえば、RTSP PLAY要求)を送り得る。再生要求は、グループセッションIDに従って送られ得る。
【0144】
[00161]ステップ1079において、ステップ1078の再生要求に応答して、ソース1000は、たとえば、「PLAY応答OK」メッセージを介して、再生が始まることをマスタシンク1010に通知し得る。
【0145】
[00162]ステップ1080において、ソース1000は、新しいパッシブシンク(たとえば、従属シンク1020Aおよび1020B)にグループセッションに加入するように要請するために、(ステップ1075に記載されているように)UDPベースRTSPUマルチキャスト告知を送信し続け得る。この時間中に、ソース1000はWFD−TRIGGER−METHOD=PLAYコマンドの下で動作し得、その間、ソース1000は、グループに加入し得る任意のパッシブシンク1010(ここでは、シンク1020Aおよび1020B)に対してマルチメディアコンテンツを再生する準備ができていることがある。告知は、特に、マルチキャストプレゼンテーションURLと、コーデックパラメータと、グループIPアドレスと、RTPポート番号と、グループセッション中のシンクのすべてのための共通セッションIDとに関する情報を含み得る。告知はまた、
図8に関して説明したように、応答タイムアウトおよび再試行カウントパラメータに従い得る。いくつかの実装形態では、グループセッションにおける多数のシンクデバイスのサポートが必要とされるとき、ソース1000は、たとえば、ANNOUNCE方法を使用して、グループセッションストリーミング制御を管理するためのUDP上でのRTSPU方式(IETF RFC2326)を使用し得る。
【0146】
[00163]ステップ1080の告知に続いて、他のシンクデバイスは、この時間の後、グループに加入したいとの要求をマスタシンク1010に送り得る。要求元シンクデバイスが、(グループセッションによって決定された)必要とされるパラメータを満たす場合、マスタシンク1010は、要求元シンクデバイスに肯定応答を送り、グループに加入するようにとの勧誘を要求元シンクデバイスに送り得る。要求元シンクデバイスが勧誘を受け入れた場合、それはソース1000にシンク情報を送り得る。ソース1000は、次いで、グループセッションパラメータ情報を更新し、マルチキャストUDPベースポートにマルチメディアコンテンツをストリーミングすることを開始し得る。ソース1000はまた、ユーザのグループのための他のMACレイヤデータ配信にマルチメディアコンテンツをストリーミングすることを開始し得る。いくつかの実装形態では、ソース1000は、マルチキャストデータ配信が、マルチキャストトラフィック、たとえば、802.11DMSまたはGCRプロシージャのためにMACレイヤによって必要とされるとき、グループオーナーになるというそれの意図を広告し得る。
【0147】
[00164]ステップ1081および1082において、ステップ1080の告知を受信した従属シンク1020(ここでは、それぞれ、シンク1010Aおよび1010B)は、それらが、告知を受信したことを示すRTSP OKメッセージをソース1000に送り得る。RTSP OKメッセージは従属シンク1つずつから受信され得、たとえば、(ステップ1081の場合のように)従属シンク1020Aがソース1000にRTSP OKメッセージを送り、次いで、(ステップ1082の場合のように)従属シンク1020Bがソース1000にRTSP OKメッセージを送り得る。
【0148】
[00165]ステップ1083において、ソース1000は、マスタシンク1010および任意の接続された従属シンク1010(ここでは、従属シンク1020Aおよび1020B)にグループセッション上でマルチメディアコンテンツをストリーミングすることを開始し得る。この時間中に、ソース1000は「PLAYING」のステータスを示し得る。
【0149】
[00166]ステップ1084において、接続されたシンクは、ソース1000からストリーミングマルチメディアコンテンツを受信し得る。マスタシンク1010は、ストリーミング制御機能、たとえば、再生、一時停止、または他のユーザ入力を管理し得る。ユーザ1050によるこの制御を可能にするために、マスタシンク1010は、それのTCP接続上でのユーザ入力バックチャネル(UIBC)能力を有し得る。
【0150】
[00167](たとえば、1つの継続する図として解釈される
図11Aおよび
図11Bによって示される)
図11に、Wi−Fiディスプレイグループセッション管理情報のための例示的なサブエレメントコンテンツレイアウトを示す。サブエレメントは、ソースまたはシンクが、デバイス発見のために(
図4〜
図10に関して説明したグループセッションなど)グループセッション情報を広告する(たとえば、いくつかのシンクデバイスを発見する)という目的で、Wi−Fiディスプレイ情報要素内に含まれ得る。サブエレメントは、デバイスがデバイス発見中に交換すべきである最小量の情報を含み得る。
【0151】
[00168]プロセスに参加するデバイスは、
図4〜
図10に関して説明したようなピアツーピアWi−Fiディスプレイグループサービスデバイス、たとえば、グループセッション対応ソース、グループセッション対応マスタシンクおよび他のシンクデバイスを含み得る。デバイスのうちの1つまたは複数は、以下で行1140、1160および、1180に関してより十分に説明するように、特に、グループセッションのための能力、グループセッションのタイプ、グループセッション管理ポート情報、および(もしあれば)マルチキャストパケットの配信のためのMACレイヤによるグループアドレス指定フレームのためのサポートを示し得る、図示されたサブエレメントを含み得る。ソースが一度に2つ以上のグループセッションを有する場合、ソースは、各グループについて1つの複数グループセッション管理情報サブエレメントを含み得る。
【0152】
[00169]一実装形態では、ソースまたはシンクデバイスは、Wi−Fi Directサービス規格からのサービス発見プロシージャをサポートし得、サブエレメント情報は、(たとえば、ディスプレイSeekServiceのためのservice_information_request中に含まれる)サービス発見のためのディスプレイ能力パラメータとして含まれ得る。
図11中のテーブルに、この実装形態の一例を示す。
【0153】
[00170]例示的なサブエレメントはいくつかのフィールドを含み得る。フィールド列1100は例示的なフィールドをリストする。いくつかのフィールドは、サイズ列1102にリストされている、示唆されたオクテットサイズを有し得る。フィールドが示唆された値を有する場合、それは値列1104にリストされている。説明列1106は、以下でさらに詳細に説明する、各フィールドの概要を与える。
【0154】
[00171]行1110に示されているように、サブエレメントは、1オクテットサイズおよびあらかじめ決定された値をもつ「サブエレメントID」フィールドを含み得る。サブエレメントIDフィールドは、Wi−Fiディスプレイサブエレメントの対応するタイプを識別し得る。
【0155】
[00172]行1120に示されているように、サブエレメントはまた、2オクテットサイズおよび値「6」をもつ「長さ」フィールドを含み得る。長さフィールドは、サブエレメント中の後続のフィールドの長さを示し得る。
【0156】
[00173]行1130に示されているように、サブエレメントはまた、4オクテットサイズをもつ「WFDグループセッション識別子」フィールドを含み得る。WFDグループセッション識別子フィールドは、グループWi−FiディスプレイセッションのためのRTSPセッション確立中にソースデバイス(たとえば、
図4〜
図10に関して説明したソース)によって割り当てられた一意のグループセッション識別子を含み得る。グループセッションがまだ開始していない場合、WFDグループセッション識別子フィールドはすべて0の値を有し得る。
【0157】
[00174]行1140に示されているように、サブエレメントはまた、1オクテットサイズをもつ「WFDグループセッションタイプ」フィールドを含み得る。WFDグループセッションタイプフィールドは、グループセッションのタイプを指定するビットマップを含み得る。場合によっては、グループセッションは、
図4〜
図9に関して説明したように、ソース中心タイプであり得る。他の場合には、グループセッションは、
図10に関して説明したように、マスタシンク中心タイプであり得る。グループセッションは他のタイプでもあり得る。グループセッションのタイプは、ビットマップの最初の4ビットにおいて示され得る。ビットマップはまた、グループセッションを管理するRTSPプロトコルポートのタイプ、たとえば、(すべて
図4〜
図10に関して説明したTCPポート、UDPポート、またはハイブリッドを示し得る。RTSPプロトコルポートのタイプは、ビットマップの最後の4ビットにおいて示され得る。
【0158】
[00175]行1150に示されているように、サブエレメントはまた、2オクテットサイズをもつ「グループセッション管理制御ポート情報」フィールドを含み得る。グループセッション管理制御ポート情報フィールドは、Wi−FiディスプレイデバイスがグループセッションのためのRTSPメッセージをそこでリッスンし得るTCPまたはUDPポートを含み得る。グループセッション管理制御ポート情報の値は、任意の有効なUDPまたはTCPポート値であり得る。
【0159】
[00176]行1160に示されているように、サブエレメントはまた、7オクテットサイズをもつ「サポート対象グループマルチキャスト方法(Supported Group Multicast Method)」フィールドを含み得る。サポート対象グループマルチキャスト方法フィールドは、MACレイヤによるグループアドレス指定フレーム配信のサポートを示すビットマップを含み得る。設定され得るサポートシステムの例としては、DMSのみ、ブロックACKを用いるGCR(グループコード記録)、非要請再試行を用いるGCRなどがある。ビットマップはまた、グループアドレス指定配信サポートが実装されないことを示し得る。グループアドレス指定フレーム配信サポートは、ビットマップの最初の8ビットにおいて示され得る。ビットマップが、ブロックACKを用いるGCRまたは非要請再試行を用いるGCRを設定する場合、サポート対象グループマルチキャスト方法フィールドの次の6バイトは、GCRグループアドレスを含み得る。ビットマップが、ブロックACKを用いるGCRまたは非要請再試行を用いるGCR以外のサポートシステムを設定する場合、GCRグループアドレス情報サブフィールドは、予約済みのままにされ得る。
【0160】
[00177]行1170に示されているように、サブエレメントはまた、「グループのための必須パラメータ(Mandatory Parameters for Group)」フィールドを含み得る。グループのための必須パラメータフィールドは、共通マルチメディアフォーマットの最小の必要なサポートに関する情報、レイテンシまたはバッファ能力情報、および/またはソースが1つまたは複数のシンクにマルチメディアコンテンツをストリーミングするのに必要な他のパラメータを含み得る。場合によっては、グループのための必須パラメータフィールドの値は随意であり得る。一実装形態では、ソースは、グループのための必須パラメータフィールドにおいて示される、最小レイテンシ、バッファ能力、および/またはトランスコーディングなしにストリーミングするためのコンテンツの共通マルチメディアフォーマットのサポートを必要とし得る。ソースが(たとえば、
図8に関して説明した方法の一実装形態の場合のように)個々のシンク能力を要請しない場合、またはシンクデバイスがコンテンツのネイティブフォーマットをサポートしない場合、ソースまたはシンクは、グループセッション中にストリーミングのために使用されるべきである必須のマルチメディアフォーマットおよびパラメータ(たとえば、1280×720p、24fps解像度)にコンテンツを再符号化および/またはトランスコーディングし得る。
【0161】
[00178]行1180に示されているように、サブエレメントは、グループメンバーのすべての和(たとえば、グループメンバーの数)を表す、7オクテットサイズをもつ「WFDグループメンバー情報記述子」フィールドをも含み得る。WFDグループメンバー情報記述子フィールドは、それの最初のオクテットにおいて各メンバーデバイスのタイプおよびステータスを示し得る。メンバーデバイスのタイプおよびステータスの例は、
図4〜
図10に関して説明したような、マスタシンク、通常シンク、マルチキャスト対応、ユニキャストのみなどのタイプを含み得る。WFDグループメンバー情報記述子フィールドは、各デバイスのMACアドレスまたは他の一意の識別子をも含み得る。MACアドレスまたは一意の識別子は、WFDグループメンバー情報記述子フィールドの最後の6オクテットに位置し得る。WFDグループメンバー情報記述子フィールドが単一のエントリ(たとえば、7バイト)を保持する場合、MACアドレスフィールドはすべて0を含んでいることがあり、最初のオクテットはグループ中のアクティブなデバイスまたはメンバーの数のみを示し得る。一実装形態では、ソースおよび/またはマスタシンクは、グループに加入するために、最新のメンバーデバイスに関する情報に基づいてWFDグループメンバー情報記述子フィールドを更新し得る。
【0162】
[00179]いくつかの実装形態では、サブエレメントは追加のフィールドをも含み得る(図示せず)。追加のフィールドの例としては、デバイスカテゴリー(たとえば、グループセッション対応ソース、グループサービス対応マスタシンクなど)、または各デバイスのための好ましいモード(たとえば、ピアツーピアGO、ソフトAP、役割についての選好なしなど)に関する情報に関係するフィールドがあり得る。
【0163】
[00180]
図12に、グループセッションのためのマルチメディアコンテンツを配信するためのデータプレーンスタックの一例を示す。一実施形態では、サポートされるべき各グループセッションについてコンテンツ処理を実行するために、データプレーンスタックの1つのインスタンスが必要であり得る。下記の方法を使用して、シンクデバイスのグループ(たとえば、
図4〜
図10に関して説明したシンクデバイス)へのフレーム配信を処理するためのシステムMACレイヤ能力をデータプレーンスタックに通知すること(すなわち、RTSPストリーミング制御プロトコルを使用することによって)が可能であり得る。
図12におけるデータプレーンスタック図は、いくつかのセッショングループと、グループAコンテンツ1200AおよびグループKコンテンツ1200Kなど、それらのコンテンツとを含む。各グループは、すべてが、同じ必要とされるマルチメディアフォーマットを受信すること、および/または最大レイテンシ要件を満たすことが可能であるシンクを含み得る。データプレーンスタックはまた、共通RTSP制御1205およびTCP/UDP情報1210など、1つのグループに固有でないリソースおよび制御シグナリングを利用する。1つまたは複数のデータプレーンスタックはまた、IPソケット1215ならびにWi−Fiピアツーピア/TLDSおよびWi−Fi保護セットアップ処理ユニット1220など、システムおよびすべてのグループにわたって共通構成要素を使用し得る。シンクグループの各々に専用のデータプレーンは、ビデオコーデック1230、オーディオコーデック1235、パケット化された基本システム(PES)情報1240、HDCP2.0/2.1情報1245、MPEG2−TS情報1250、RTP情報1255、およびUDP情報1260など、個々の構成要素またはリソースを含み得る。データプレーンスタックは、1225のように、フレームをそれらのそれぞれのグループアドレスにスケジュールし得る。
【0164】
[00181]シンクのグループ(たとえば、
図12中の上側に表示したグループ)内のメディアコンテンツ配信の場合、MACレイヤ信頼性およびロバストなマルチメディアストリーミングを保証するために、802.11aaからのダイレクテッドマルチキャストサービス(DMS)または再試行を用いるグループキャスト(GCR)プロシージャが使用され得る。DMSまたはGCR配信方法のための厳密な再送信プロシージャは、特に、グループ中のソースおよびシンクの能力、グループ中のデバイスの数、チャネル状態、帯域幅要件などに依存し得る。これらのパラメータの様々な状態を鑑みて、マルチメディア配信方法のためのいくつかのオプションが使用され得る。ソースは、下記の例に基づいて、グループセッション配信方法が、DMSのみ、非要請GCRのみ、ブロックACKを用いるGCR、DMSとGCRの両方、非GCRなどであることを告知し得る。
【0165】
[00182]マルチメディア配信のための1つの例示的な方法は、ソースが、シンクデバイスとの初期セットアップのための1つのMPEG2−TSおよびRTP/UDPフローを用いて送信することを含み得る。その後、ソースは、マルチキャストIPパケットを使用し、DMSを使用するユニキャストMACフレームに変換し得る。この方法は、複数のユニキャストMAC送信の信頼性を提供する。
【0166】
[00183]マルチメディア配信のための別の例示的な方法は、非要請再試行を用いるGCRを含む。本方法では、ソースは、(
図11に関して説明した)Wi−Fiディスプレイ情報要素中で、およびRTSPメッセージ中で広告され得る、GCRアドレスにデータフレームを送信し得る。ソースはまた、個々のデータフレームを、それらがシンクデバイスによって受信されることを保証するために、再送信し得る。ソースがフレームを再送信する場合、それはシンクデバイスにそれの再送信ポリシーを広告し得る。
【0167】
[00184]マルチメディア配信のための別の例示的な方法は、ブロックACKを用いるGCRを含む。本方法では、データフレームは、マルチキャストを介してGCRアドレスに送られ得る。さらに、ソースは、MACフレームのブロックの終わりにブロックACK要求フレームを送り得る。シンクデバイスのグループは、次いで、タイムアウト期間内にブロックACKを返し得る。
【0168】
[00185]マルチメディア配信方法のための上記の例示的な方法のいずれも(たとえば、ソースまたはシンクデバイスの限られた能力により)サポートされない場合、グループストリーミングは、非GCRマルチキャスト方法を使用し得る。非GCRマルチキャスト方法は、ACK要求または再試行を含まないことがある。本方法では、ソースおよび/または多数のシンクデバイスは、いかなるグループアドレス指定フレーム配信をもサポートしないことがある。ソースはピアツーピアGOまたはソフトAPとして動作し得、UDPスタックからマルチキャストIPパケットを受信した後にデータフレームを送信するために通常マルチキャストを使用し得る。コンテンツビットストリームは、データプレーンスタックの1つのインスタンス(たとえば、コーデック、PES、HDCP、MPEG2−TS/RTP/UDPなど)によって生成され得、MACレイヤは、配信トラフィック指示メッセージ(DTIM)中に示されている特定の時刻においてこれらのフレームを送信し得る。この方法は、マルチキャストフレームのための低いデータレートと高いパケットロスとを生じ得る。その結果、シンクが接続されること、および他のフィードバック機構(たとえば、RTSP)も使用され得ることを保証するために、RTSPキープアライブタイムアウトが設定され得る。
【0169】
[00186]上記で説明した方法の様々な動作は、様々な(1つまたは複数の)ハードウェアおよび/またはソフトウェア構成要素、回路、および/または(1つまたは複数の)モジュールなど、それらの動作を実行することが可能な任意の好適な手段によって実行され得る。概して、図に示したどの動作も、その動作を実行することが可能な対応する機能的手段によって実行され得る。たとえば、制御電圧に応答して電流を選択的に可能にするための手段は、第1のトランジスタを備え得る。さらに、開回路を選択的に与えるための手段を備える制御電圧の量を制限するための手段は、第2のトランジスタを備え得る。
【0170】
[00187]情報および信号は、様々な異なる技術および技法のうちのいずれかを使用して表され得る。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
【0171】
[00188]本明細書で開示した実施形態に関して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、概してそれらの機能に関して上記で説明した。そのような機能がハードウェアとして実装されるか、ソフトウェアとして実装されるかは、特定の適用例および全体的なシステムに課せられた設計制約に依存する。説明した機能は、特定の適用例ごとに様々な方法で実装され得るが、そのような実装の決定は、本発明の実施形態の範囲からの逸脱を生じるものと解釈されないことがある。
【0172】
[00189]本明細書で開示した実施形態に関して説明した様々な例示的なブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明した機能を実施するように設計されたそれらの任意の組合せを用いて実装または実施され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、計算デバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。
【0173】
[00190]本明細書で開示した実施形態に関して説明した方法またはアルゴリズムのステップおよび機能は、直接ハードウェアで実施されるか、プロセッサによって実行されるソフトウェアモジュールで実施されるか、またはその2つの組合せで実施され得る。ソフトウェアで実装した場合、機能は、1つまたは複数の命令またはコードとして有形の非一時的コンピュータ可読媒体上に記憶されるか、あるいは有形の非一時的コンピュータ可読媒体を介して送信され得る。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、電気的プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM(登録商標))、レジスタ、ハードディスク、リムーバブルディスク、CD ROM、または当技術分野で知られている任意の他の形態の記憶媒体中に常駐し得る。記憶媒体は、プロセッサがその記憶媒体から情報を読み取り、その記憶媒体に情報を書き込み得るように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびblu−ray(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれ得る。プロセッサおよび記憶媒体はASIC中に存在し得る。ASICはユーザ端末中に存在し得る。代替として、プロセッサおよび記憶媒体はユーザ端末中に個別構成要素として存在し得る。
【0174】
[00191]本開示を要約するために、本発明のいくつかの態様、利点および新規の特徴について、本明細書で説明してきた。本発明の特定の実施形態に従って、必ずしもすべてのそのような利点が達成されるとは限らないことを理解されたい。したがって、本発明は、必ずしも、本明細書で教示されるか、または示唆され得る他の利点を達成する必要なしに、本明細書で教示する1つの利点または利点のグループを達成するか、または最適化する形で実施されるか、または行われ得る。
【0175】
[00192]上記で説明した実施形態の様々な変更は容易に明らかになるものであり、本明細書で定義した一般原理は、本発明の趣旨または範囲から逸脱することなく他の実施形態に適用され得る。したがって、本発明は、本明細書で示した実施形態に限定されるものではなく、本明細書で開示する原理および新規の特徴に合致する最も広い範囲を与えられるべきである。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
複数のシンクデバイスにマルチメディアコンテンツを送信するように構成された装置であって、
Wi−Fiピアツーピア接続を用いて前記複数のシンクデバイスの各々に接続することと、
特定のマルチメディアコンテンツを要求する前記Wi−Fiピアツーピア接続されたシンクデバイスの各々から能力情報を受信することと、
グループセッションIDとトランスポートポート番号とを含む制御メッセージを生成することと、前記トランスポートポート番号が、前記Wi−Fiピアツーピア接続されたシンクデバイスの各々に、グループに関連付けられた前記特定のマルチメディアコンテンツを通信するために使用されるべきものである、
前記Wi−Fiピアツーピア接続されたシンクデバイスの各々に前記制御メッセージを送信することと、
前記グループセッションIDに関連付けられた前記Wi−Fiピアツーピア接続されたシンクデバイスのためのストリーミングパラメータのセットを決定することと、
前記トランスポートポート番号を使用して、およびストリーミングパラメータの前記セットに従って、前記Wi−Fiピアツーピア接続されたシンクデバイスの各々に前記特定のマルチメディアコンテンツを送信することと
を行うように構成されたプロセッサを備える、装置。
[C2]
ストリーミングパラメータの前記セットが、コーデック情報、ディスプレイ解像度、ビデオフォーマット、およびオーディオフォーマットのうちの少なくとも1つを含む、C1に記載の装置。
[C3]
前記制御メッセージが、マルチキャスト構成、ユニキャスト構成、およびコンテンツストリーミングのためのグループMACアドレスを含む信頼できるグループキャスト構成のうちの少なくとも1つをも含む、C1に記載の装置。
[C4]
前記特定のマルチメディアコンテンツの前記送信が、ロバストなマルチキャストフレーム配信技法を使用することによって行われる、C1に記載の装置。
[C5]
前記ロバストなマルチキャストフレーム配信技法が、802.11aa規格の肯定応答および再試行プロシージャに基づく、C4に記載の装置。
[C6]
前記プロセッサは、
前記複数のシンクデバイスのうちのいくつかへの前記Wi−Fiピアツーピア接続上でグループセッションを確立および維持することと、
接続されていないシンクデバイスが前記グループセッションIDに関連付けられることを可能にするために、前記接続されていないシンクデバイスに、前記グループセッションID、ポート情報、およびスチーミングパラメータのセットをブロードキャストするための制御メッセージング方式を確立することと
を行うようにさらに構成された、C1に記載の装置。
[C7]
前記プロセッサが、あらかじめ決定された時間間隔で、前記グループセッションID、ポート情報、およびスチーミングパラメータの前記セットを周期的にブロードキャストするようにさらに構成された、C1に記載の装置。
[C8]
前記プロセッサが、前記制御メッセージまたは後続の制御メッセージを送信する前に、あらかじめ決定された時間量の間、前記Wi−Fiピアツーピア接続されたシンクデバイスの各々から前記能力情報を受信することを待つようにさらに構成された、C1に記載の装置。
[C9]
前記プロセッサが、
前記Wi−Fiピアツーピア接続されたシンクデバイスの各々からの能力情報の前記受信することをバイパスすることと、
コンテンツストリーミングのためのグループセッションパラメータのあらかじめ決定されたセットを用いて前記制御メッセージを直ちに生成することと
を行うようにさらに構成された、C1に記載の装置。
[C10]
前記プロセッサが、前記装置において開始された要求、前記シンクデバイスにおいて開始された要求、および前記シンクデバイスの不十分な能力のうちの少なくとも1つに基づいて、前記関連付けられたグループセッションIDから前記Wi−Fiピアツーピア接続されたシンクデバイスのうちの1つまたは複数を追加または削除するようにさらに構成された、C1に記載の装置。
[C11]
前記シンクデバイスの前記不十分な能力は、少なくとも、それがセッションタイプをサポートすることができないこと、またはコンテンツストリーミングのために使用されるべき前記ストリーミングパラメータのうちの少なくとも1つをサポートすることができないことを含む、C10に記載の装置。
[C12]
前記プロセッサが、デバイスの複数のグループとのWi−Fiピアツーピア接続を確立するようにさらに構成され、ここにおいて、前記特定のマルチメディアコンテンツ、前記グループセッションID、セッションタイプ、ポート情報、およびストリーミングパラメータの前記セットのうちの少なくとも1つが、デバイスの前記グループの各々について異なる、C1に記載の装置。
[C13]
前記Wi−Fiピアツーピア接続を確立することが、Wi−Fiディスプレイデバイス発見情報の交換を含み、ここにおいて、前記Wi−Fiディスプレイデバイス発見情報が、少なくとも、前記装置のグループセッション能力の指示、グループセッション管理制御ポートデータのセット、グループセッションタイプ、およびコンテンツストリーミングのために使用されるべきストリーミングパラメータのセットを備える、C1に記載の装置。
[C14]
少なくとも前記Wi−Fiディスプレイデバイス発見情報のサブセットが、あらかじめ確立されたWi−Fiピアツーピア接続上で、Wi−Fi Directサービス規格のアプリケーションサービスプラットフォームを通してさらに交換される、C13に記載の装置。
[C15]
複数のシンクデバイスにマルチメディアコンテンツを送信する方法であって、
Wi−Fiピアツーピア接続を用いて前記複数のシンクデバイスの各々に接続することと、
特定のマルチメディアコンテンツを要求する前記Wi−Fiピアツーピア接続されたシンクデバイスの各々から能力情報を受信することと、
グループセッションIDとトランスポートポート番号とを含む制御メッセージを生成することと、前記トランスポートポート番号が、前記Wi−Fiピアツーピア接続されたシンクデバイスの各々に、グループに関連付けられた前記特定のマルチメディアコンテンツを通信するために使用されるべきものである、
前記Wi−Fiピアツーピア接続されたシンクデバイスの各々に前記制御メッセージを送信することと、
前記グループセッションIDに関連付けられた前記Wi−Fiピアツーピア接続されたシンクデバイスのためのストリーミングパラメータのセットを決定することと、
前記トランスポートポート番号を使用して、およびストリーミングパラメータの前記セットに従って、前記Wi−Fiピアツーピア接続されたシンクデバイスの各々に前記特定のマルチメディアコンテンツを送信することと
を備える、方法。
[C16]
前記複数のシンクデバイスのうちのいくつかへの前記Wi−Fiピアツーピア接続上でグループセッションを確立および維持することと、
接続されていないシンクデバイスが前記グループセッションIDに関連付けられることを可能にするために、前記接続されていないシンクデバイスに、前記グループセッションID、ポート情報、およびストリーミングパラメータのセットをブロードキャストするための制御メッセージング方式を確立することと
をさらに備える、C15に記載の方法。
[C17]
前記装置において開始された要求、前記シンクデバイスにおいて開始された要求、および前記シンクデバイスの不十分な能力のうちの少なくとも1つに基づいて、前記関連付けられたグループセッションIDから前記Wi−Fiピアツーピア接続されたシンクデバイスのうちの1つまたは複数を追加または削除することをさらに備え、ここにおいて、前記シンクデバイスの前記不十分な能力は、少なくとも、それがセッションタイプをサポートすることができないこと、またはコンテンツストリーミングのために使用されるべき前記ストリーミングパラメータのうちの少なくとも1つをサポートすることができないことを含む、C15に記載の方法。
[C18]
デバイスの複数のグループとのWi−Fiピアツーピア接続を確立することをさらに備え、ここにおいて、前記特定のマルチメディアコンテンツ、前記グループセッションID、セッションタイプ、ポート情報、およびストリーミングパラメータの前記セットのうちの少なくとも1つが、デバイスの前記グループの各々について異なる、C15に記載の方法。
[C19]
前記Wi−Fiピアツーピア接続を確立することが、Wi−Fiディスプレイデバイス発見情報の交換を含み、ここにおいて、前記Wi−Fiディスプレイデバイス発見情報が、少なくとも、前記装置のグループセッション能力の指示、グループセッション管理制御ポートデータのセット、グループセッションタイプ、およびコンテンツストリーミングのために使用されるべきストリーミングパラメータのセットを備える、C15に記載の方法。
[C20]
少なくとも前記Wi−Fiディスプレイデバイス発見情報のサブセットが、あらかじめ確立されたWi−Fiピアツーピア接続上で、Wi−Fi Directサービス規格のアプリケーションサービスプラットフォームを通してさらに交換される、C19に記載の方法。
[C21]
複数のシンクデバイスにマルチメディアコンテンツを送信するための装置であって、
Wi−Fiピアツーピア接続を用いて前記複数のシンクデバイスの各々に接続するための手段と、
特定のマルチメディアコンテンツを要求する前記Wi−Fiピアツーピア接続されたシンクデバイスの各々から能力情報を受信するための手段と、
グループセッションIDとトランスポートポート番号とを含む制御メッセージを生成するための手段と、前記トランスポートポート番号が、前記Wi−Fiピアツーピア接続されたシンクデバイスの各々に、グループに関連付けられた前記特定のマルチメディアコンテンツを通信するために使用されるべきものである、
前記Wi−Fiピアツーピア接続されたシンクデバイスの各々に前記制御メッセージを送信するための手段と、
前記グループセッションIDに関連付けられた前記Wi−Fiピアツーピア接続されたシンクデバイスのためのストリーミングパラメータのセットを決定するための手段と、
前記トランスポートポート番号を使用して、およびストリーミングパラメータの前記セットに従って、前記Wi−Fiピアツーピア接続されたシンクデバイスの各々に前記特定のマルチメディアコンテンツを送信するための手段と
を備える、装置。
[C22]
前記複数のシンクデバイスのうちのいくつかへの前記Wi−Fiピアツーピア接続上でグループセッションを確立および維持するための手段と、
接続されていないシンクデバイスが前記グループセッションIDに関連付けられることを可能にするために、前記接続されていないシンクデバイスに、前記グループセッションID、ポート情報、およびストリーミングパラメータのセットをブロードキャストするための制御メッセージング方式を確立するための手段と
をさらに備える、C21に記載の装置。
[C23]
前記装置において開始された要求、前記シンクデバイスにおいて開始された要求、および前記シンクデバイスの不十分な能力のうちの少なくとも1つに基づいて、前記関連付けられたグループセッションIDから前記Wi−Fiピアツーピア接続されたシンクデバイスのうちの1つまたは複数を追加または削除するための手段をさらに備え、ここにおいて、前記シンクデバイスの前記不十分な能力は、少なくとも、それがセッションタイプをサポートすることができないこと、またはコンテンツストリーミングのために使用されるべき前記ストリーミングパラメータのうちの少なくとも1つをサポートすることができないことを含む、C21に記載の装置。
[C24]
デバイスの複数のグループとのWi−Fiピアツーピア接続を確立するための手段をさらに備え、ここにおいて、前記特定のマルチメディアコンテンツ、前記グループセッションID、セッションタイプ、ポート情報、およびストリーミングパラメータの前記セットのうちの少なくとも1つが、デバイスの前記グループの各々について異なる、C21に記載の装置。
[C25]
前記Wi−Fiピアツーピア接続を確立することが、Wi−Fiディスプレイデバイス発見情報の交換を含み、ここにおいて、前記Wi−Fiディスプレイデバイス発見情報が、少なくとも、前記装置のグループセッション能力の指示、グループセッション管理制御ポートデータのセット、グループセッションタイプ、およびコンテンツストリーミングのために使用されるべきストリーミングパラメータのセットを備える、C21に記載の装置。
[C26]
少なくとも前記Wi−Fiディスプレイデバイス発見情報のサブセットが、あらかじめ確立されたWi−Fiピアツーピア接続上で、Wi−Fi Directサービス規格のアプリケーションサービスプラットフォームを通してさらに交換される、C25に記載の装置。
[C27]
実行されたとき、複数のシンクデバイスにマルチメディアコンテンツを送信することと、
Wi−Fiピアツーピア接続を用いて前記複数のシンクデバイスの各々に接続することと、
特定のマルチメディアコンテンツを要求する前記Wi−Fiピアツーピア接続されたシンクデバイスの各々から能力情報を受信することと、
グループセッションIDとトランスポートポート番号とを含む制御メッセージを生成することと、前記トランスポートポート番号が、前記Wi−Fiピアツーピア接続されたシンクデバイスの各々に、グループに関連付けられた前記特定のマルチメディアコンテンツを通信するために使用されるべきものである、
前記Wi−Fiピアツーピア接続されたシンクデバイスの各々に前記制御メッセージを送信することと、
前記グループセッションIDに関連付けられた前記Wi−Fiピアツーピア接続されたシンクデバイスのためのストリーミングパラメータのセットを決定することと、
前記トランスポートポート番号を使用して、およびストリーミングパラメータの前記セットに従って、前記Wi−Fiピアツーピア接続されたシンクデバイスの各々に前記特定のマルチメディアコンテンツを送信することと
を装置に行わせるコードを備える非一時的コンピュータ可読媒体。
[C28]
実行されたとき、前記装置において開始された要求、前記シンクデバイスにおいて開始された要求、および前記シンクデバイスの不十分な能力のうちの少なくとも1つに基づいて、前記関連付けられたグループセッションIDから前記Wi−Fiピアツーピア接続されたシンクデバイスのうちの1つまたは複数を追加または削除することを装置に行わせるコードをさらに備え、ここにおいて、前記シンクデバイスの前記不十分な能力は、少なくとも、それがセッションタイプをサポートすることができないこと、またはコンテンツストリーミングのために使用されるべき前記ストリーミングパラメータのうちの少なくとも1つをサポートすることができないことを含む、C27に記載の媒体。
[C29]
前記Wi−Fiピアツーピア接続を確立することが、Wi−Fiディスプレイデバイス発見情報の交換を含み、ここにおいて、前記Wi−Fiディスプレイデバイス発見情報が、少なくとも、前記装置のグループセッション能力の指示、グループセッション管理制御ポートデータのセット、グループセッションタイプ、およびコンテンツストリーミングのために使用されるべきストリーミングパラメータのセットを備える、C27に記載の媒体。
[C30]
少なくとも前記Wi−Fiディスプレイデバイス発見情報のサブセットが、あらかじめ確立されたWi−Fiピアツーピア接続上で、Wi−Fi Directサービス規格のアプリケーションサービスプラットフォームを通してさらに交換される、C29に記載の媒体。