(57)【要約】  本開示の様々な態様は、第１のワイヤレス表示モードでグラフィックス処理ユニット（ＧＰＵ）コマンドを受信する間にＧＰＵが不安定状態にあることを示す状態を検出することと、状態を検出したことに応答して、ＧＰＵリフレッシュ要求メッセージを送信し、第１のワイヤレス表示モードから第２のワイヤレス表示モードに切り替えることと、ＧＰＵコマンドのトレース中のランダムアクセスポイント（ＲＡＰ）において、不安定状態から安定状態にＧＰＵをリセットするのに十分なデータを受信することと、データを受信した後に第２のワイヤレス表示モードから第１のワイヤレス表示モードに切り替えることとを提供する。ＧＰＵリフレッシュ要求メッセージは、ＧＰＵコマンドのトレース中の次回のＲＡＰにおいてＧＰＵをリセットするのに十分なデータを要求する情報を含み得る。また、様々な他の態様は本開示全体にわたって提供される。
2018536181.tif 000002
【特許請求の範囲】
【請求項１】
ワイヤレス表示のために構成された装置であって、
トランシーバと、
メモリと、
グラフィックス処理ユニット（ＧＰＵ）と、
前記トランシーバ、前記メモリ、および前記ＧＰＵに通信可能に結合された少なくとも１つのプロセッサとを備え、ここにおいて、前記少なくとも１つのプロセッサと前記メモリとが、
第１のワイヤレス表示モードにある間に前記ＧＰＵが不安定状態にあることを示す状態を検出することと、
前記状態を検出したことに応答して、ＧＰＵリフレッシュ要求メッセージを送信し、前記第１のワイヤレス表示モードから第２のワイヤレス表示モードに切り替えることと、
前記ＧＰＵリフレッシュ要求メッセージを送信した後に、ＧＰＵコマンドのトレース中のランダムアクセスポイント（ＲＡＰ）において、前記不安定状態から安定状態に前記ＧＰＵをリセットするのに十分なデータを受信することと、
前記データを受信した後に前記第２のワイヤレス表示モードから前記第１のワイヤレス表示モードに切り替えることと
を行うように構成された、装置。
【請求項２】
前記ＧＰＵコマンドの損失パケットの数が前記ＧＰＵコマンドの損失パケットのしきい値数を上回るとき、前記ＧＰＵが前記不安定状態にあることを示す前記状態が存在する、請求項１に記載の装置。
【請求項３】
前記ＧＰＵリフレッシュ要求メッセージが、前記ＧＰＵコマンドの前記トレース中の次回のＲＡＰにおいて前記ＧＰＵをリセットするのに十分な前記データを要求する情報を備える、請求項１に記載の装置。
【請求項４】
前記ＧＰＵをリセットするのに十分な前記データが、前記ＧＰＵコマンドの前記トレース中の別のＲＡＰに関連する他のデータとは無関係である、請求項１に記載の装置。
【請求項５】
前記第２のワイヤレス表示モードに関連するパケットのタイムスタンプが、前記第１のワイヤレス表示モードに関連するパケットのタイムスタンプと同じであるとき、前記少なくとも１つのプロセッサと前記メモリとが、前記第２のワイヤレス表示モードから前記第１のワイヤレス表示モードに切り替えるようにさらに構成された、請求項１に記載の装置。
【請求項６】
前記第２のワイヤレス表示モードの表示品質が、前記第１のワイヤレス表示モードの表示品質よりも低い、請求項１に記載の装置。
【請求項７】
前記少なくとも１つのプロセッサと前記メモリとが、前記第１のワイヤレス表示モードでグラフィックスエンジンエンティティ（ＧＥＥ）を利用し、前記第２のワイヤレス表示モードでミラキャストを利用するようにさらに構成された、請求項１に記載の装置。
【請求項８】
前記ＧＰＵコマンドが、ＯｐｅｎＧＬコマンドまたはＤｉｒｅｃｔＸコマンドのうちの少なくとも１つを備える、請求項１に記載の装置。
【請求項９】
ワイヤレス表示のための方法であって、
第１のワイヤレス表示モードにある間にグラフィックス処理ユニット（ＧＰＵ）が不安定状態にあることを示す状態を検出することと、
前記状態を検出したことに応答して、ＧＰＵリフレッシュ要求メッセージを送信し、前記第１のワイヤレス表示モードから第２のワイヤレス表示モードに切り替えることと、
前記ＧＰＵリフレッシュ要求メッセージを送信した後に、ＧＰＵコマンドのトレース中のランダムアクセスポイント（ＲＡＰ）において、前記不安定状態から安定状態に前記ＧＰＵをリセットするのに十分なデータを受信することと、
前記データを受信した後に前記第２のワイヤレス表示モードから前記第１のワイヤレス表示モードに切り替えることと
を備える方法。
【請求項１０】
前記ＧＰＵコマンドの損失パケットの数が前記ＧＰＵコマンドの損失パケットのしきい値数を上回るとき、前記ＧＰＵが前記不安定状態にあることを示す前記状態が存在する、請求項９に記載の方法。
【請求項１１】
前記ＧＰＵリフレッシュ要求メッセージが、前記ＧＰＵコマンドの前記トレース中の次回のＲＡＰにおいて前記ＧＰＵをリセットするのに十分な前記データを要求する情報を備える、請求項９に記載の方法。
【請求項１２】
前記ＧＰＵをリセットするのに十分な前記データが、前記ＧＰＵコマンドの前記トレース中の別のＲＡＰに関連する他のデータとは無関係である、請求項９に記載の方法。
【請求項１３】
前記第２のワイヤレス表示モードから前記第１のワイヤレス表示モードへの前記切替えは、前記第２のワイヤレス表示モードに関連するパケットのタイムスタンプが、前記第１のワイヤレス表示モードに関連するパケットのタイムスタンプと同じであるときに行われる、請求項９に記載の方法。
【請求項１４】
前記第２のワイヤレス表示モードの表示品質が、前記第１のワイヤレス表示モードの表示品質よりも低い、請求項９に記載の方法。
【請求項１５】
前記第１のワイヤレス表示モードでグラフィックスエンジンエンティティ（ＧＥＥ）を利用し、前記第２のワイヤレス表示モードでミラキャストを利用することをさらに備える、請求項９に記載の方法。
【請求項１６】
前記ＧＰＵコマンドが、ＯｐｅｎＧＬコマンドまたはＤｉｒｅｃｔＸコマンドのうちの少なくとも１つを備える、請求項９に記載の方法。
【請求項１７】
ワイヤレス表示のために構成されたコンピュータ可読媒体であって、
第１のワイヤレス表示モードにある間にグラフィックス処理ユニット（ＧＰＵ）が不安定状態にあることを示す状態を検出することと、
前記状態を検出したことに応答して、ＧＰＵリフレッシュ要求メッセージを送信し、前記第１のワイヤレス表示モードから第２のワイヤレス表示モードに切り替えることと、
前記ＧＰＵリフレッシュ要求メッセージを送信した後に、ＧＰＵコマンドのトレース中のランダムアクセスポイント（ＲＡＰ）において、前記不安定状態から安定状態に前記ＧＰＵをリセットするのに十分なデータを受信することと、
前記データを受信した後に前記第２のワイヤレス表示モードから前記第１のワイヤレス表示モードに切り替えることと
を行うように構成されたコンピュータ実行可能命令を備えるコンピュータ可読媒体。
【請求項１８】
前記ＧＰＵコマンドの損失パケットの数が前記ＧＰＵコマンドの損失パケットのしきい値数を上回るとき、前記ＧＰＵが前記不安定状態にあることを示す前記状態が存在する、請求項１７に記載のコンピュータ可読媒体。
【請求項１９】
前記ＧＰＵリフレッシュ要求メッセージが、前記ＧＰＵコマンドの前記トレース中の次回のＲＡＰにおいて前記ＧＰＵをリセットするのに十分な前記データを要求する情報を備える、請求項１７に記載のコンピュータ可読媒体。
【請求項２０】
前記ＧＰＵをリセットするのに十分な前記データが、前記ＧＰＵコマンドの前記トレース中の別のＲＡＰに関連する他のデータとは無関係である、請求項１７に記載のコンピュータ可読媒体。
【請求項２１】
前記第２のワイヤレス表示モードから前記第１のワイヤレス表示モードへの前記切替えは、前記第２のワイヤレス表示モードに関連するパケットのタイムスタンプが、前記第１のワイヤレス表示モードに関連するパケットのタイムスタンプと同じであるときに行われる、請求項１７に記載のコンピュータ可読媒体。
【請求項２２】
前記第２のワイヤレス表示モードの表示品質が、前記第１のワイヤレス表示モードの表示品質よりも低い、請求項１７に記載のコンピュータ可読媒体。
【請求項２３】
前記コンピュータ実行可能命令が、前記第１のワイヤレス表示モードでグラフィックスエンジンエンティティ（ＧＥＥ）を利用し、前記第２のワイヤレス表示モードでミラキャストを利用することを行うようにさらに構成された、請求項１７に記載のコンピュータ可読媒体。
【請求項２４】
前記ＧＰＵコマンドが、ＯｐｅｎＧＬコマンドまたはＤｉｒｅｃｔＸコマンドのうちの少なくとも１つを備える、請求項１７に記載のコンピュータ可読媒体。
【請求項２５】
ワイヤレス表示のために構成された装置であって、
第１のワイヤレス表示モードにある間にグラフィックス処理ユニット（ＧＰＵ）が不安定状態にあることを示す状態を検出するための手段と、
前記状態を検出したことに応答して、ＧＰＵリフレッシュ要求メッセージを送信し、前記第１のワイヤレス表示モードから第２のワイヤレス表示モードに切り替えるための手段と、
ＧＰＵコマンドのトレース中のランダムアクセスポイント（ＲＡＰ）において、前記ＧＰＵリフレッシュ要求メッセージを送信した後に、前記不安定状態から安定状態に前記ＧＰＵをリセットするのに十分なデータを受信するための手段と、
前記データを受信した後に前記第２のワイヤレス表示モードから前記第１のワイヤレス表示モードに切り替えるための手段と
を備える装置。
【請求項２６】
前記ＧＰＵコマンドの損失パケットの数が前記ＧＰＵコマンドの損失パケットのしきい値数を上回るとき、前記ＧＰＵが前記不安定状態にあることを示す前記状態が存在する、請求項２５に記載の装置。
【請求項２７】
前記ＧＰＵリフレッシュ要求メッセージが、前記ＧＰＵコマンドの前記トレース中の次回のＲＡＰにおいて前記ＧＰＵをリセットするのに十分な前記データを要求する情報を備え、
前記ＧＰＵをリセットするのに十分な前記データが、前記ＧＰＵコマンドの前記トレース中の別のＲＡＰに関連する他のデータとは無関係である、請求項２５に記載の装置。
【請求項２８】
切り替えるための前記手段が、前記第２のワイヤレス表示モードに関連するパケットのタイムスタンプが、前記第１のワイヤレス表示モードに関連するパケットのタイムスタンプと同じであるとき、前記第２のワイヤレス表示モードから前記第１のワイヤレス表示モードに切り替えるように構成された、請求項２５に記載の装置。
【請求項２９】
前記第２のワイヤレス表示モードの表示品質が、前記第１のワイヤレス表示モードの表示品質よりも低い、請求項２５に記載の装置。
【請求項３０】
前記第１のワイヤレス表示モードでグラフィックスエンジンエンティティ（ＧＥＥ）を利用し、前記第２のワイヤレス表示モードでミラキャストを利用するための手段、ここにおいて、前記ＧＰＵコマンドが、ＯｐｅｎＧＬコマンドまたはＤｉｒｅｃｔＸコマンドのうちの少なくとも１つを備える、をさらに備える、請求項２５に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
[0001]本出願は、２０１５年９月２４日に米国特許商標庁に出願された非仮出願第１４／８６３，８５３号の優先権および利益を主張する。
【０００２】
[0002]本開示の態様は、概して、ワイヤレス表示に関し、より詳細には、ワイヤレス表示モードを切り替え、不安定状態にあるグラフィックス処理ユニット（ＧＰＵ）をリフレッシュすることに関する。
【背景技術】
【０００３】
序論
[0003]ワイヤレス表示システムは、コンテンツが複数のデバイス上に同時に表示されることを可能にし得る。いくつかのワイヤレス表示システムは、シンクと呼ばれることがある別の装置に情報を送信する、ソースと呼ばれることがある装置を含み得る。そのような情報は、様々なタイプおよび形態のデータを含み得る。しかしながら、ワイヤレス送信中に情報のうちの一部が失われる可能性が存在する。情報は、そのような情報がシンクに達しないおよび／またはシンクに誤って達するとき、失われたと見なされ得る。ワイヤレス送信中にあまりに多くの情報が失われる場合、シンクのグラフィックス処理ユニット（ＧＰＵ）は不安定状態になり得る。既存のシステムでは、ＧＰＵは、かなりの時間期間の間不安定状態にとどまり、場合によっては、誤動作し、それによって、望ましくないユーザエクスペリエンスを生じ得る。そのような制限を克服することは、システム全体およびユーザエクスペリエンスを向上させ得る。
【発明の概要】
【０００４】
[0004]以下は、本開示の１つまたは複数の態様の基本的理解を与えるために、そのような態様の簡略化された概要を提示する。この概要は、本開示のすべての企図された特徴の包括的な概観ではなく、本開示のすべての態様の主要または重要な要素を識別するものでも、本開示のいずれかまたはすべての態様の範囲を定めるものでもない。その唯一の目的は、後で提示されるより詳細な説明の導入として、本開示の１つまたは複数の態様のいくつかの概念を簡略化された形で提示することである。
【０００５】
[0005]一態様では、本開示は、ワイヤレス表示のために構成された装置を提供する。本装置は、トランシーバと、メモリと、グラフィックス処理ユニット（ＧＰＵ）と、トランシーバとメモリとＧＰＵとに通信可能に結合された少なくとも１つのプロセッサとを含む。少なくとも１つのプロセッサとメモリとは、第１のワイヤレス表示モードにある間にＧＰＵが不安定状態にあることを示す状態を検出するように構成される。少なくとも１つのプロセッサとメモリとは、状態を検出したことに応答して、ＧＰＵリフレッシュ要求メッセージを送信し、第１のワイヤレス表示モードから第２のワイヤレス表示モードに切り替えるようにさらに構成される。少なくとも１つのプロセッサとメモリとは、ＧＰＵコマンドのトレース中のランダムアクセスポイント（ＲＡＰ：random access point）において、ＧＰＵリフレッシュ要求メッセージを送信した後に、不安定状態から安定状態にＧＰＵをリセットするのに十分なデータを受信するようにさらに構成される。少なくとも１つのプロセッサとメモリとは、データを受信した後に第２のワイヤレス表示モードから第１のワイヤレス表示モードに切り替えるようにさらに構成される。
【０００６】
[0006]別の態様では、本開示は、ワイヤレス表示のための方法を提供する。本方法は、第１のワイヤレス表示モードにある間にＧＰＵが不安定状態にあることを示す状態を検出することを含む。本方法はまた、状態を検出したことに応答して、ＧＰＵリフレッシュ要求メッセージを送信し、第１のワイヤレス表示モードから第２のワイヤレス表示モードに切り替えることを含む。本方法はまた、ＧＰＵコマンドのトレース中のＲＡＰにおいて、ＧＰＵリフレッシュ要求メッセージを送信した後に、不安定状態から安定状態にＧＰＵをリセットするのに十分なデータを受信することを含む。本方法はまた、データを受信した後に第２のワイヤレス表示モードから第１のワイヤレス表示モードに切り替えることを含む。
【０００７】
[0007]また別の態様では、本開示は、ワイヤレス表示のために構成されたコンピュータ可読媒体を提供する。本コンピュータ可読媒体は、第１のワイヤレス表示モードにある間にＧＰＵが不安定状態にあることを示す状態を検出するように構成された命令を含む。命令は、状態を検出したことに応答して、ＧＰＵリフレッシュ要求メッセージを送信し、第１のワイヤレス表示モードから第２のワイヤレス表示モードに切り替えるようにさらに構成される。命令は、ＧＰＵコマンドのトレース中のＲＡＰにおいて、ＧＰＵリフレッシュ要求メッセージを送信した後に、不安定状態から安定状態にＧＰＵをリセットするのに十分なデータを受信するようにさらに構成される。命令は、データを受信した後に第２のワイヤレス表示モードから第１のワイヤレス表示モードに切り替えるようにさらに構成される。
【０００８】
[0008]さらなる態様では、本開示は、ワイヤレス表示のために構成された別の装置を提供する。本装置は、第１のワイヤレス表示モードにある間にＧＰＵが不安定状態にあることを示す状態を検出するための手段を含む。本装置はまた、状態を検出したことに応答して、ＧＰＵリフレッシュ要求メッセージを送信し、第１のワイヤレス表示モードから第２のワイヤレス表示モードに切り替えるための手段を含む。本装置はまた、ＧＰＵコマンドのトレース中のＲＡＰにおいて、ＧＰＵリフレッシュ要求メッセージを送信した後に、不安定状態から安定状態にＧＰＵをリセットするのに十分なデータを受信するための手段を含む。本装置はまた、データを受信した後に第２のワイヤレス表示モードから第１のワイヤレス表示モードに切り替えるための手段を含む。
【０００９】
[0009]本開示のこれらおよび他の態様は、以下の詳細な説明を検討すればより十分に理解されよう。本開示の特定の例示的な実施形態の以下の説明を添付の図と併せて検討すれば、当業者には、本開示の他の態様、特徴、および実施形態が明らかになろう。本開示の特徴が、以下のいくつかの実施形態および図に関連して説明され得るが、本開示のすべての実施形態は、本明細書で説明する有利な特徴のうちの１つまたは複数を含むことができる。言い換えれば、１つまたは複数の実施形態が、いくつかの有利な特徴を有するものとして説明され得るが、そのような特徴のうちの１つまたは複数は、本明細書で説明する本開示の様々な実施形態に従っても使用され得る。同様に、例示的な実施形態が、以下ではデバイス、システム、または方法の実施形態として説明され得るが、そのような例示的な実施形態は、様々なデバイス、システム、および方法で実装され得ることを理解されたい。
【図面の簡単な説明】
【００１０】
【図１】[0010]本開示の態様による、シンクと通信しているソースの一例を示す図。
【図２】[0011]本開示の態様による、データプレーンと制御プレーンとを表す機能ブロックの一例を示す図。
【図３】[0012]本開示の態様による、ホーム環境においてコンテンツを表示するソースとシンクとの一例を示す図。
【図４】[0013]本開示の態様による、労働環境においてコンテンツを表示するソースとシンクとの一例を示す図。
【図５】[0014]本開示の態様による、ソースとシンクとの間の様々な通信の一例を示す図。
【図６】[0015]本開示の態様による、ソースとシンクとの間の様々な通信の別の例を示す図。
【図７】[0016]本開示の態様による、装置において動作可能な様々な方法および／またはプロセスの一例を示す図。
【図８】[0017]本開示の態様による、装置のハードウェア実装形態の一例を示す図。
【発明を実施するための形態】
【００１１】
いくつかの例の説明
[0018]添付の図面に関して以下に記載される詳細な説明は、様々な構成を説明するものであり、本明細書で説明される概念が実施され得る唯一の構成を表すものではない。詳細な説明は、様々な概念の完全な理解を与えるための具体的な詳細を含む。ただし、これらの概念はこれらの具体的な詳細なしに実施され得ることが当業者には明らかであろう。いくつかの例では、そのような概念を不明瞭にしないように、よく知られている構造および構成要素をブロック図の形式で示す。
【００１２】
[0019]図１は、シンク１０４と通信しているソース１０２の一例を示す図１００である。概して、シンク１０４は、別の装置（たとえば、ソース１０２）とのワイヤレス通信のために構成された任意の装置である。概して、ソース１０２は、別の装置（たとえば、シンク１０４）とのワイヤレス通信のために構成された任意の装置である。より詳細には、ソース１０２とシンク１０４とは、本明細書でより詳細に説明するように、ワイヤレス表示を可能にするために互いに通信し得る。いくつかの構成では、ソース１０２は、Ｗｉ−Ｆｉ（登録商標）表示（ＷＦＤ：Wi-Fi Display）ソースと呼ばれることがあり、シンク１０４は、ＷＦＤシンクと呼ばれることがある。そのような構成では、ソース１０２とシンク１０４とは、Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅ（登録商標）のＷｉ−Ｆｉ表示技術仕様に従って互いに通信し得る。ソース１０２とシンク１０４との様々な例について本明細書で説明し得るが、本開示がそのような例に限定されず、ソース１０２とシンク１０４との様々な他の例が本開示の範囲内にあることを当業者ならば理解されよう。
【００１３】
[0020]いくつかの構成では、図１に示すように、ソース１０２は、中央処理ユニット（ＣＰＵ）１１８、グラフィックスライブラリ１１６、ローカルグラフィックス処理ユニット（ＧＰＵ）１１４、および／またはローカルディスプレイ１１２を含み得る。ＣＰＵ１１８、グラフィックスライブラリ１１６、ローカルＧＰＵ１１４、および／またはローカルディスプレイ１１２は、本開示の範囲から逸脱することなく様々な技術を利用して互いに通信し得る。たとえば、ＣＰＵ１１８は、アプリケーションレイヤにおいてコンテンツを生成し得、そのようなコンテンツは、グラフィックスライブラリ１１６に与えられ得る。グラフィックスライブラリ１１６は、そのようなコンテンツを記憶し得る。そのようなコンテンツが表示の準備ができているとき、ローカルＧＰＵ１１４は、グラフィックスライブラリ１１６からコンテンツを読み取り得る。いくつかの状況では、そのようなコンテンツは、ソース１０２のリモートディスプレイ１２２上に表示され得る。そのような状況では、ローカルＧＰＵ１１４は、ソース１０２のローカルディスプレイ１１２にそのようなコンテンツを与え得る。いくつかの状況では、そのようなコンテンツは、シンク１０４において表示され得る。シンク１０４におけるそのようなコンテンツの表示は、ソース１０２におけるそのようなコンテンツの表示に追加するものであるか、またはそれに代替するものであり得る。言い換えれば、そのようなコンテンツは、時々、ローカルディスプレイ１１２とリモートディスプレイ１２２とにおいて同時に表示され得、そのようなコンテンツは、時々、ローカルディスプレイ１１２またはリモートディスプレイ１２２のいずれかにおいて表示され得る。
【００１４】
[0021]様々な技法は、シンク１０４のリモートディスプレイ１２２上にコンテンツを表示するために実装され得る。グラフィックスオフロードと呼ばれることがあるいくつかの構成では、ソース１０２は、シンク１０４にＧＰＵコマンド（または他の好適な命令）を転送する。たとえば、ソース１０２のローカルＧＰＵ１１４は、シンク１０４のリモートＧＰＵ１２４にＧＰＵコマンド（または他の好適な命令）を与え得る。そのような構成では、ＧＰＵコマンドは、シンク１０４において処理され、それらのＧＰＵコマンドに対応するコンテンツは、リモートディスプレイ１２２上に表示される。概して、ＧＰＵコマンドは、ローカルディスプレイ１１２におけるそのようなコンテンツの表示と同期される方法でリモートディスプレイ１２２におけるそのようなコンテンツの表示を可能にするプロセスを実行するための命令をシンク１０４に与え得る。いくつかの構成では、ＧＰＵコマンドは、ＯｐｅｎＧＬコマンドおよび／またはＤｉｒｅｃｔＸコマンドを含む。グラフィックスオフロードは、一部、（ｉ）ソース１０２がリモートディスプレイ１２２上に表示されるべきコンテンツ全体をバッファし、符号化し、送信する必要がなく、（ｉｉ）シンク１０４がそのコンテンツ全体を受信し、復号し、レンダリングする必要がないので、他の技法とは異なる。
【００１５】
[0022]コンテンツという用語は、概して、本開示の範囲から逸脱することなく多くのタイプのデータを指すことがあることを当業者ならば理解されよう。より詳細には、グラフィックスエンジンエンティティ（ＧＥＥ：Graphics Engine Entity）に関して、コンテンツは、グラフィックスコンテンツを指すことがある。グラフィックスコンテンツの非限定的な例としては、生産性アプリケーションおよび／またはゲームがあり得る。追加または代替として、コンテンツは、当業者によってコンテンツまたはグラフィックスコンテンツとして特徴づけられ得る様々な他のタイプのデータを含み得る。
【００１６】
[0023]図２は、データプレーンと制御プレーンとを表す機能ブロックの一例を示す図２００である。データプレーンは、ビデオコーデック２０８と、オーディオコーデック２１０と、パケット化エレメンタリーストリーム（ＰＥＳ：Packetized Elementary Stream）パケット化２１６と、高帯域デジタルコンテンツ保護（ＨＤＣＰ：High-Bandwidth Digital Content Protection）２１８と、ムービングピクチャエクスパーツグループ２トランスポートストリーム（ＭＰＥＧ２−ＴＳ：Moving Pictures Experts Group 2 Transport Stream）２２０と、リアルタイムトランスポートプロトコル（ＲＴＰ：Real-Time Transport Protocol）２２４と、ユーザデータグラムプロトコル（ＵＤＰ：User Datagram Protocol）２２８と、インターネットプロトコル（２３０）とを含み得る。制御プレーンは、リアルタイムストリーミングプロトコル（ＲＴＳＰ：Real Time Streaming Protocol）２２２と、伝送制御プロトコル（ＴＣＰ）２２６と、ＩＰ２３０と、リモートＩ２Ｃ読取り／書込み２１２、ユーザ入力バックチャネル（ＵＩＢＣ：User Input Back Channel）カプセル化２１４と、ヒューマンインターフェースデバイスクラス（ＨＩＤＣ：Human Interface Device Class）２０４と、汎用ユーザ入力２０２と、ＨＤＣＰ２１８セッション鍵確立とを含み得る。Ｗｉ−Ｆｉピア２ピア（Ｐ２Ｐ）／トンネルダイレクトリンクセットアップ（ＴＤＬＳ：Tunneled Direct Link Setup）ブロックは、Ｗｉ−Ｆｉ  Ｐ２ＰまたはＴＤＬＳのいずれかを使用してレイヤ２接続を形成する。当業者は、図２に示す機能ブロックに関する詳細な説明を与える、Ｗｉ−Ｆｉ  ＡｌｌｉａｎｃｅのＷｉ−Ｆｉ表示技術仕様についての知識を有している。
【００１７】
[0024]概して、ＧＥＥ２０６は、グラフィックスオフロード能力を可能にするグラフィックスサブシステムである。図２に示す例では、ＧＥＥ２０６を表す機能ブロックは、ＰＥＳパケット化２１６の上に位置するものとして示されている。ただし、現在のロケーションの範囲から逸脱することなく、ＧＥＥ２０６を表す機能ブロックが図２に示す他の機能ブロックに対して代替構成に位置し得ることを当業者ならば理解されよう。たとえば、ＧＥＥ２０６を表す機能ブロックは、ＴＣＰ２２６の真上に位置し得る。そのような構成では、ＧＥＥ２０６からのデータが、ＰＥＳパケット化２１６と、ＨＤＣＰ２１８と、ＭＰＥＧ２−ＴＳ２２０と、ＲＴＰ２２４と、ＵＤＰ２２８とを通過することなしに、ＩＰ２３０に直接受け渡すことができるので、システムは、低減されたオーバーヘッドおよび／またはレイテンシから利益を得ることがある。
【００１８】
[0025]ソース１０２とシンク１０４とは、本開示の範囲から逸脱することなく様々な技術を利用して互いに通信し得る。いくつかの構成では、ソース１０２とシンク１０４とは、ＴＣＰ／ＩＰ接続を利用して互いに通信し得る。そのような構成では、ソース１０２は、シンク１０４にＴＣＰパケットを送信する。いくつかの構成では、ソース１０２とシンク１０４とは、ＵＤＰ／ＩＰ接続を利用して互いに通信し得る。そのような構成では、ソース１０２は、シンク１０４にＵＤＰパケットを送信する。いくつかの構成では、ソース１０２とシンクとは、ネイティブ媒体アクセス制御（ＭＡＣ）接続と呼ばれることがある非ＩＰ接続を利用して互いに通信し得る。そのような構成では、ソース１０２は、シンク１０４にネイティブＭＡＣパケットを送信する。
【００１９】
[0026]図３は、ホーム環境においてコンテンツを表示するソース１０２とシンク１０４との一例を示す図３００である。図４は、労働環境においてコンテンツを表示するソース１０２とシンク１０４との一例を示す図４００である。図３および図４中に与えた例に示したように、シンク１０４上に表示されるコンテンツは、ソース１０２上に表示されるコンテンツと同期され得る。ソース１０２とシンク１０４とに関する追加の説明を本開示全体にわたって提供するので、ここでは繰り返さないことにする。
【００２０】
[0027]図５は、ソース１０２とシンク１０４との間の様々な通信の一例を示す図５００である。上記で説明したように、ソース１０２は、シンク１０４にＧＰＵコマンド（または他の好適な命令）を転送し得る。ＧＰＵコマンドは、シンク１０４において処理され、それらのＧＰＵコマンドに対応するコンテンツは、リモートディスプレイ１２２上に表示される。ＧＰＵコマンドは、ソース１０２におけるそのようなコンテンツの表示と同期される方法でシンク１０４におけるそのようなコンテンツの表示を可能にするプロセスを実行するための命令をシンク１０４に与え得る。いくつかの構成では、ＧＰＵコマンドは、ＯｐｅｎＧＬコマンドおよび／またはＤｉｒｅｃｔＸコマンドを含む。ＧＰＵコマンドは、本開示の範囲から逸脱することなく、様々なタイプおよび形態のパケット中に含まれ得る。いくつかの構成では、ＧＰＵコマンドは、上記で説明したように、ＴＣＰ／ＩＰパケット、ＵＤＰ／ＩＰパケット、および／またはネイティブＭＡＣパケット中のペイロードの一部分として含まれ得る。図５に示す例では、ＧＰＵコマンドのうちのいくつかがパケット1５０２中に含まれる。ソース５０２は、パケット1５０２を送信し、パケット1５０２は、誤りなしにシンク１０４において受信される。相応して、いくつかの構成では、シンク１０４は、ソース１０２に肯定応答メッセージ（ＡＣＫ1５０４）を送信する。
【００２１】
[0028]しかしながら、ワイヤレス通信では、いくつかのパケットが送信中に失われ得るという可能性がある。より詳細には、いくつかの状況では、ＧＰＵコマンドを含んでいる１つまたは複数のパケットが、シンク１０４において受信されないことがある、および／または誤りありでシンク１０４において受信され得る。ＧＰＵコマンドを含んでいるパケットが、シンク１０４において受信されない、および／または誤りありでシンク１０４において受信されるとき、そのパケットは、本明細書では損失パケットと呼ばれることがある。たとえば、図５に示すように、シンク１０４は、ＧＰＵコマンドを含んでいるパケット2５０６を送信する。しかしながら、パケット2５０６は、シンク１０４において受信されない、および／または誤りありでシンク１０４において受信される。いくつかの構成では、シンク１０４は、ソース１０２に否定応答メッセージ（ＮＡＣＫ2５０８）を送信し得る。場合によっては、パケット2５０６の送信に続くある時間期間中のＡＣＫの不在は、ＮＡＣＫの暗黙的指示と見なされ得る。したがって、そのような場合、ＮＡＣＫ2５０８は、ＡＣＫの不在から暗黙的に推論されるので必要がない。ソース１０２は、次いで、パケット2５０６の送信を再試行し得る。後続のパケットはまた、シンク１０４に達することができないことがある、および／または誤りありでシンク１０４に達し得る。たとえば、図５に示すように、シンク１０４は、ＧＰＵコマンドを含んでいるパケット3５１０を送信する。しかしながら、パケット3５１０は、シンク１０４において受信されない、および／または誤りありでシンク１０４において受信される。いくつかの構成では、シンク１０４は、ソース１０２に否定応答メッセージ（ＮＡＣＫ3５１２）を送信し得る。場合によっては、パケット3５１０の送信に続くある時間期間中のＡＣＫの不在は、ＮＡＣＫの暗黙的指示と見なされ得る。したがって、そのような場合、ＮＡＣＫ3５１２は、ＡＣＫの不在から暗黙的に推論されるので必要がない。ソース１０２は、次いで、パケット3５１０の送信を再試行し得る。
【００２２】
[0029]上述のように、損失パケットは、ＧＰＵコマンドを含んでいて、シンク１０４において受信されない、および／または誤りありでシンク１０４において受信されるパケットを指す。シンク１０４のリモートＧＰＵ１２４は、ＧＰＵコマンドの損失パケットの数がＧＰＵコマンドの損失パケットのしきい値数を上回るときに不安定状態にあり得る。シンク１０４のリモートＧＰＵ１２４は、本開示の範囲から逸脱することなく様々な他の理由のために不安定状態にあり得る。一例として、リモートＧＰＵ１２４は、１つまたは複数のＧＰＵコマンドを受信しないことの結果としてリモートＧＰＵ１２４が誤動作するときに不安定状態にあり得る。誤動作は、リモートＧＰＵ１２４の動作不能性および／またはクラッシュを生じ得る。別の例として、シンク１０４のリモートＧＰＵ１２４は、リモートＧＰＵ１２４がシンク１０４の１つまたは複数の重要な機能を実行することができないときに不安定状態にあり得る。重要な機能は、シンク１０４の特定の構成要素の動作可能性にとって中心的である任意の機能を指すことがある。また別の例として、シンク１０４は、シンク１０４のリモートディスプレイ１２２上にコンテンツを表示することができるような方法でリモートＧＰＵ１２４が動作することができないときに不安定状態にあり得る。さらなる例として、シンク１０４は、リモートＧＰＵ１２４がシンク１０４のリモートディスプレイ１２２上のコンテンツの表示をソース１０２のローカルディスプレイ１１２上に表示されているコンテンツと適切に同期させることができないときに不安定状態にあり得る。
【００２３】
[0030]既存のシステムでは、リモートＧＰＵ１２４は、かなりの時間期間の間そのような不安定状態から復元することができないことがあり、したがって、ソース１０２からシンク１０４に送られているＧＰＵコマンドに対応するコンテンツを適切に表示することができないことがある。たとえば、シンク１０４は、シンク１０４のリモートディスプレイ１２２上のコンテンツの表示をソース１０２のローカルディスプレイ１１２上に表示されているコンテンツと適切に同期させることができないことがある。そのような状況では、既存のシステムは、かなりの時間期間の間不安定状態にとどまり、場合によっては、誤動作し、重要な機能を実行するのに失敗し、動作不能となり、クラッシュし、ハングし、フリーズし、および／または場合によっては望ましくないユーザエクスペリエンスで与え得る。そのような制限を克服することは、システム全体およびユーザエクスペリエンスを向上させ得る。
【００２４】
[0031]図６は、ソース１０２とシンク１０４との間の様々な通信の一例を示す図６００である。ソース１０２とシンク１０４とは、少なくとも２つのワイヤレス表示モードを利用して動作するように構成され得る。第１のワイヤレス表示モードの一例としては、ＧＥＥ２０６の利用がある。上記で説明したように、ＧＥＥ２０６は、グラフィックスオフロード能力を可能にするグラフィックスサブシステムである。いくつかの構成では、ＧＰＵコマンドは、本開示の範囲から逸脱することなく、ＧＥＥフレーム、ＧＥＥパケット、および／または任意の他の好適な用語で呼ばれることがある。ＧＥＥ２０６は、本開示の範囲から逸脱することなくグラフィックス領域ワイヤレス表示と呼ばれることがある。グラフィックス領域ワイヤレス表示では、表示データは、ＧＰＵにＯｐｅｎＧＬおよび／またはＤｉｒｅｃｔＸ呼出しとしてキャプチャされ得る。グラフィックス領域ワイヤレス表示では、コンテンツキャプチャは、アプリケーション非依存である。グラフィックス領域ワイヤレス表示では、コンテンツキャプチャは、ＧＰＵのエントリにおいて行われ得る。グラフィックス領域ワイヤレス表示では、ピクセルは、ロスレスグラフィックスおよびテキスト品質を達成するために、シンク１０４において再生成され得る。グラフィックス領域ワイヤレス表示では、送信データは、送信データレートへのほとんどまたはまったく追加なしに必要な解像度（たとえば、２Ｋ、２０８０ｐ、４Ｋなど）にスケーリングされ得る。
【００２５】
[0032]第２のワイヤレス表示モードの一例としては、ミラキャスト（Miracast）６０４の利用がある。概して、ミラキャストは、Ｗｉ−Ｆｉ  ＡｌｌｉａｎｃｅのＷｉ−Ｆｉ表示技術仕様に準拠するプロトコルを指す。そのようなプロトコルは、ソース１０２とシンク１０４との間の接続性を可能にする。ミラキャストは、Ｗｉ−Ｆｉを介した高解像度マルチメディアインターフェース（ＨＤＭＩ（登録商標））と呼ばれることがある。ミラキャストは、１つのデバイス（たとえば、ソース１０２）から別のデバイス（たとえば、シンク１０４）上へのコンテンツの同期表示を可能にする。ミラキャストは、本開示の範囲から逸脱することなくピクセル領域ワイヤレス表示と呼ばれることもある。ピクセル領域ワイヤレス表示では、コンテンツキャプチャは、ＧＰＵのエントリの後に行われ得る。ピクセル領域ワイヤレス表示では、一部のコンテンツ（たとえば、画像）は、ＧＰＵレンダリングの後にピクセル領域で表示フレームバッファからキャプチャされ得、一部のコンテンツ（たとえば、非画像）は、ソース１０２のディスプレイプロセッサにおいてキャプチャされ得る。ピクセル領域ワイヤレス表示では、表示データは、圧縮され得、シンク１０４においてアップサンプリング送信される表示データは、テキストおよびグラフィックスの品質が低減し得る。
【００２６】
[0033]本明細書で説明するいくつかのパケット（たとえば、パケット６１０、６１２、６１８）は、本開示の範囲から逸脱することなく、ＧＥＥパケットまたは別の好適な用語で呼ばれることがある。（たとえば、ＧＥＥ２０６を使用する）第１のワイヤレス表示モードで動作しながら、ソース１０２は、シンク１０４にＧＰＵコマンドを含んでいる１つまたは複数のパケット６１０を送信する。時間がたつにつれて、１つまたは複数の他のパケット６１２が送信中に失われ得る。上述のように、損失パケットは、ＧＰＵコマンドを含んでいて、シンク１０４において受信されない、および／または誤りありでシンク１０４において受信されるパケットを指す。シンク１０４は、シンク１０４のリモートＧＰＵ１２４が不安定状態にあることを示す１つまたは複数の状態を検出するように構成される。いくつかの構成では、シンク１０４は、ＧＰＵコマンドの損失パケットの数がＧＰＵコマンドの損失パケットのしきい値数を上回ることを検出すると、リモートＧＰＵ１２４が不安定状態にあることを検出し得る。ＧＰＵコマンドの損失パケットのしきい値数が、アドミニストレータによって設定され得る、製造業者によって事前構成され得る、様々なファクタに基づいて動的に調整され得る、および／または本開示の範囲から逸脱することなく多くの異なる技法を利用して決定され得ることを当業者ならば理解されよう。一例として、損失パケットのしきい値数は、２つのパケットとしてプリセットされ得る。図６に示すように、シンク１０４は、ＧＰＵコマンドを含んでいる３つのパケット６１２が失われたことを検出すると、リモートＧＰＵ１２４が不安定状態にあることを検出し得る。
【００２７】
[0034]リモートＧＰＵ１２４が不安定状態にあることを検出したことに応答して、シンク１０４は、（ソース１０２に）ＧＰＵリフレッシュ要求メッセージ６１４を送信し、（たとえば、ＧＥＥ２０６を使用する）第１のワイヤレス表示モードから（たとえば、ミラキャスト６０６を使用する）第２のワイヤレス表示モードに切り替え得る。いくつかの構成では、ＧＰＵリフレッシュ要求メッセージ６１４は、本開示の範囲から逸脱することなく、ＧＰＵリセットメッセージまたは任意の他の好適な用語で呼ばれることがある。（たとえば、ＧＥＥ２０６を使用する）第１のワイヤレス表示モードから（たとえば、ミラキャスト６０６を使用する）第２のワイヤレス表示モードへの切替えにより、シンク１０４がＧＰＵコマンドを含んでいる損失パケットという問題がないワイヤレス表示のモードにフォールバックすることが可能になる。
【００２８】
[0035]いくつかのエンコーダは、表示コンテンツのグレースフルデグラデーションを可能にするエラー復元機構を有し得る。たとえば、一定数の損失パケットを検出すると、そのようなエンコーダは、送信パケットの数を低減し、それによって、表示コンテンツの品質の漸進的な低減を可能にし得る。しかしながら、送信パケットの数を低減することは、グラフィックスオフロードについて実現可能でないことがある。グラフィックスオフロードでは、（ＧＰＵコマンドを含んでいる）送信パケットの数の実質的な減少は、シンク１０４のリモートＧＰＵ１２４の状態に悪影響を及ぼすことができる。
【００２９】
[0036]そのようなフォールバックがない場合、シンク１０４のリモートＧＰＵ１２４は、不安定状態にとどまり、場合によっては、誤動作し、重要な機能を実行するのに失敗し、動作不能となり、クラッシュし、ハングし、フリーズし、および／または場合によっては望ましくないユーザエクスペリエンスで与え得る。影響の重大度が、損失機能の優先度または重要性、損失ＧＰＵコマンドが関連付けられるアプリケーション、損失ＧＰＵコマンドが関連付けられるグラフィックスライブラリの挙動、および／または様々な他のファクタに依存し得ることを当業者ならば理解されよう。
【００３０】
[0037]そのようなフォールバックを可能にするために実装される特定の技法が、本開示の範囲から逸脱することなく変動することができることをも当業者ならば理解されよう。そのような技法の多くの例が存在するが、一例は、（ｉ）表示のためのコンテンツに関連する識別子（ＩＤ）（たとえば、ストリームＩＤおよび／またはセッションＩＤ）を決定すること、（ｉｉ）ＩＤを使用して、（たとえば、ＧＰＵコマンドを含んでいるパケット６１０を受信するより前に）ＧＥＥ２０６を使用するセッションとミラキャスト６０６を使用するセッションとを確立すること、（ｉｉｉ）その後、（たとえば、ＧＰＵコマンドを含んでいるパケット６１０を受信する間に）ミラキャスト６０６を使用するセッションを「一時停止する」ように設定し、ＧＥＥ２０６を使用するセッションを「再生する」ように設定すること、および（ｉｖ）フォールバックを開始するために、ミラキャスト６０６を使用するセッションを「再生」するように設定し、ＧＥＥ２０６を使用するセッションを「一時停止」するように設定することを伴い得る。
【００３１】
[0038]このフォールバックは、（たとえば、ミラキャスト６０６を使用する）第２のワイヤレス表示モードの表示品質が（たとえば、ＧＥＥ２０６を使用する）第１のワイヤレス表示モードの表示品質よりも低くなり得るとしても行われ得る。表示品質は、シンク１０４のリモートディスプレイ１２２上でのコンテンツの表示品質に関連する表示解像度、リフレッシュ速度、画質、および／または任意の他のメトリックを指すことがある。（たとえば、ミラキャスト６０６を使用する）第２のワイヤレス表示モードの表示品質が（たとえば、ＧＥＥ２０６を使用する）第１のワイヤレス表示モードの表示品質よりも低くなり得るとしても、ユーザは、ＧＰＵコマンドを含んでいる損失パケットおよび／または不安定な状態にあるＧＰＵの結果として中断されない閲覧エクスペリエンスを与えられる。
【００３２】
[0039]ＧＰＵリフレッシュ要求メッセージ６１４は、シンク１０４のリモートＧＰＵ１２４をリセットするための情報要求データ６１６を含み得る。より詳細には、いくつかの構成では、ＧＰＵリフレッシュ要求メッセージ６１４は、ＧＰＵコマンドのトレース６０２中の次回のランダムアクセスポイント（ＲＡＰ）においてシンク１０４のリモートＧＰＵ１２４をリセットするのに十分である情報要求データ６１６を含み得る。データ６１６は、本開示の範囲から逸脱することなく、ミラキャストフレーム、ミラキャストパケット、および／または他の好適な用語で呼ばれることがある。概して、任意のＧＰＵをリセットすることは、ＧＰＵが不安定状態から安定状態に変化するようにＧＰＵの設定、構成、または状態を再初期化することを含み得る。不安定状態に関する追加の説明は上記で提供したので、繰り返さないことにする。安定状態は、不安定状態とは異なる任意の状態を指す。たとえば、ＧＰＵは、不安定状態にある間に実行することができなかった１つまたは複数の重要な機能をそのＧＰＵが実行するときに安定状態にあり得る。
【００３３】
[0040]概して、ＧＰＵコマンドのトレース６０２は、ソース１０２によって送信されたおよび／またはシンク１０４において受信されたＧＰＵコマンドのすべて（または実質的にすべて）を含んでいる記録またはファイルを指す。ＧＰＵコマンドのトレース６０２は、シンク１０４のグラフィックスライブラリ中に記憶または維持され得る。ＧＰＵコマンドのトレース６０２は、本開示の範囲から逸脱することなく、様々なフォーマットおよび／またはファイル構成中に記憶され得る。概して、ＲＡＰは、トレース６０２の１つまたは複数の部分、位置、および／またはロケーションにあるマーク、マーカー、および／または任意の他の好適なインジケータを指す。いくつかの構成では、トレース６０２は、ソース１０２からシンク１０４に送信され得る。トレース６０２は、複数のＲＡＰ（たとえば、図６に示したようなＲＡＰ０、ＲＡＰ１０、ＲＡＰ２０、ＲＡＰ３０、およびＲＡＰ４０）を含み得る。
【００３４】
[0041]各ＲＡＰにおいて、シンク１０４は、リモートＧＰＵ１２４をリセットするのに十分であるデータ６１６を受信し得る。いくつかの構成では、そのようなデータ６１６は、本開示の範囲から逸脱することなく、ＧＥＥ情報または任意の他の好適な用語で呼ばれることがある。いくつかの構成では、データ６１６は、ＧＰＵコマンドのトレース６０２中の別のＲＡＰに関連する他のデータを必要とすることなしにリモートＧＰＵ１２４をリセットするのに十分である。言い換えれば、データ６１６は、ＧＰＵコマンドのトレース６０２中の先行するＲＡＰ（たとえば、ＲＡＰ０、ＲＡＰ１０、ＲＡＰ２０）に関連する他のデータとは無関係である。たとえば、ＲＡＰNは、ＲＡＰN-1とは無関係である。この例では、リモートＧＰＵ１２４は、ＲＡＰN-1において利用可能な任意の情報を必要とすることなしにＲＡＰNにおいてリセットされ得る。したがって、各ＲＡＰは、「無記憶」である（たとえば、いかなる先行するＲＡＰからも情報を必要としていないか、またはそれに依存していない）と考えられ得る。ただし、データ６１６はかなりの量であり、それによって、それのオーバージエア送信中にピークをもたらし得るので、そのようなデータ６１６は、誤り回復のために必要でなければ送信されないことがある。
【００３５】
[0042]図６に示す例を参照すると、（シンク１０４がソース１０２にＧＰＵリフレッシュ要求メッセージ６１４を送信した後の）次回のＲＡＰは、ＲＡＰ３０である。ＲＡＰ３０において、ソース１０２は、不安定状態から安定状態にシンク１０４のリモートＧＰＵ１２４をリセットするのに十分であるデータ６１６を送信する。上記で説明したように、シンク１０４のリモートＧＰＵ１２４をリセットすることは、リモートＧＰＵ１２４が不安定状態から安定状態に変化するようにリモートＧＰＵ１２４の設定、構成、または状態を改変することを含み得る。いくつかの構成では、シンク１０４のリモートＧＰＵ１２４をリセットするためのデータは、テクスチャ、シェーダ、頂点、および／または任意の他の好適な表示属性に関連する情報を含み得る。
【００３６】
[0043]不安定状態から安定状態にシンク１０４のリモートＧＰＵ１２４をリセットするのに十分であるデータ６１６を受信した後に、シンク１０４は、（たとえば、ミラキャスト６０６を使用する）第２のワイヤレス表示モードから（たとえば、ＧＥＥ２０６を使用する）第１のワイヤレス表示モードに切り替え得る。シンク１０４のリモートＧＰＵ１２４が不安定状態から安定状態にリセットされるので、シンク１０４のリモートＧＰＵ１２４は、（たとえば、ＧＥＥ２０６を使用する）第１のワイヤレス表示モードで動作する間にＧＰＵコマンドを含んでいる追加のパケット６１８を受信することが可能である。そのような切替えを可能にするために実装される特定の技法が、本開示の範囲から逸脱することなく変動することができることを当業者ならば理解されよう。そのような技法の多くの例が存在するが、一例は、ミラキャスト６０６を使用するセッションを「一時停止する」ように設定し、ＧＥＥ２０６を使用するセッションを「再生する」ように設定することを伴い得る。
【００３７】
[0044]（たとえば、ミラキャスト６０６を使用する）第２のワイヤレス表示モードから（たとえば、ＧＥＥ２０６を使用する）第１のワイヤレス表示モードへの切替えは、シンク１０４のリモートＧＰＵ１２４をリセットするのに十分なデータ６１６を受信した後の任意の時間に行われ得るが、切替えが行われる厳密な時間は、本開示の範囲から逸脱することなく様々な実装形態に基づいて変動することができる。上記で説明したように、（たとえば、ミラキャスト６０６を使用する）第２のワイヤレス表示モードから（たとえば、ＧＥＥ２０６を使用する）第１のワイヤレス表示モードへの切替えを実行するより前にそのようなデータ６１６を送信するために、かなりの量の時間が利用され得る。したがって、（たとえば、ミラキャスト６０６を使用する）第２のワイヤレス表示モードから（たとえば、ＧＥＥ２０６を使用する）第１のワイヤレス表示モードへの切替えは、そのようなデータ６１６の送信の開始に続くある時間期間後に行われ得る。（たとえば、データ６１６を送信した瞬間にではなく）ある時間期間の後にこの切替えを実行する理由は、そのデータ６１６の前の部分が、シンク１０４のリモートＧＰＵ１２４をリセットすることについての情報を含んでおり、そのデータ６１６の後の部分が、シンク１０４のリモートディスプレイ１２２上に（ほとんど即時に）レンダリングされることになるコンテンツに対応するＧＰＵコマンドを含んでいるためである。データ６１６の後の部分は、本開示の範囲から逸脱することなく、画面コンテンツコマンド、画面コンテンツＧＰＵコマンド、または任意の他の好適な用語で呼ばれることがある。したがって、いくつかの構成では、（たとえば、ミラキャスト６０６を使用する）第２のワイヤレス表示モードから（たとえば、ＧＥＥ２０６を使用する）第１のワイヤレス表示モードへの切替えは、（たとえば、ミラキャスト６０６を使用する）第２のワイヤレス表示モードに関連するパケット（たとえば、ミラキャストフレーム／パケットと呼ばれることがあるデータ６１６）のタイムスタンプが、（たとえば、ＧＥＥ２０６を使用する）第１のワイヤレス表示モードに関連するパケット（たとえば、ＧＥＥフレーム／パケットと呼ばれることがあるパケット６１８）のタイムスタンプと同じであるときに行われる。
【００３８】
[0045]図７は、装置において行われ得る様々なプロセスの一例を示す図７００である。いくつかの構成では、そのような装置は、本明細書でより詳細に説明するシンク１０４である。ブロック７０２において、本装置は、第１のワイヤレス表示モードにある間にＧＰＵが不安定状態にあることを示す状態を検出し得る。たとえば、図６を参照すると、シンク１０４は、（たとえば、ＧＥＥ２０６を使用する）第１のワイヤレス表示モードでＧＰＵコマンドを受信する間にシンク１０４のリモートＧＰＵ１２４が不安定状態にあることを示す１つまたは複数の状態を検出し得る。いくつかの構成では、シンク１０４は、ＧＰＵコマンドの損失パケットの数がＧＰＵコマンドの損失パケットのしきい値数を上回ることを検出すると、リモートＧＰＵ１２４が不安定状態にあることを検出し得る。たとえば、損失パケットのしきい値数は、２つのパケットとしてプリセットされ得る。図６に示すように、シンク１０４は、ＧＰＵコマンドを含んでいる３つのパケット６１２が失われたことを検出すると、リモートＧＰＵ１２４が不安定状態にあることを検出し得る。
【００３９】
[0046]ブロック７０４において、状態を検出したことに応答して、本装置は、ＧＰＵリフレッシュ要求メッセージを送信し、第１のワイヤレス表示モードから第２のワイヤレス表示モードに切り替え得る。たとえば、図６を参照すると、リモートＧＰＵ１２４が不安定状態にあることを検出したことに応答して、シンク１０４は、ＧＰＵリフレッシュ要求メッセージ６１４を送信し、（たとえば、ＧＥＥ２０６を使用する）第１のワイヤレス表示モードから（たとえば、ミラキャスト６０６を使用する）第２のワイヤレス表示モードに切り替え得る。（たとえば、ＧＥＥ２０６を使用する）第１のワイヤレス表示モードから（たとえば、ミラキャスト６０６を使用する）第２のワイヤレス表示モードへの切替えにより、シンク１０４がＧＰＵコマンドを含んでいる損失パケットという問題がないワイヤレス表示のモードにフォールバックすることが可能になる。そのようなフォールバックがない場合、シンク１０４のリモートＧＰＵ１２４は、不安定状態にとどまり、場合によっては、誤動作し、重要な機能を実行するのに失敗し、動作不能となり、クラッシュし、ハングし、フリーズし、および／または場合によっては望ましくないユーザエクスペリエンスで与え得る。
【００４０】
[0047]ブロック７０６において、本装置は、ＧＰＵコマンドのトレース中のＲＡＰにおいて、ＧＰＵリフレッシュ要求メッセージを送信した後に、不安定状態から安定状態にＧＰＵをリセットするのに十分なデータを受信し得る。たとえば、図６を参照すると、シンク１０４がソース１０２にＧＰＵリフレッシュ要求メッセージ６１４を送信した後のＲＡＰは、ＲＡＰ３０である。ＲＡＰ３０において、ソース１０２は、不安定状態から安定状態にシンク１０４のリモートＧＰＵ１２４をリセットするのに十分であるデータ６１６を送信する。上記で説明したように、シンク１０４のリモートＧＰＵ１２４をリセットすることは、リモートＧＰＵ１２４が不安定状態から安定状態に変化するようにリモートＧＰＵ１２４の設定、構成、または状態を改変することを含み得る。不安定状態に関する追加の説明は上記で提供したので、繰り返さないことにする。安定状態は、不安定状態とは異なる任意の状態を指す。たとえば、ＧＰＵは、不安定状態にある間に実行することができなかった１つまたは複数の重要な機能をそのＧＰＵが実行するときに安定状態にあり得る。
【００４１】
[0048]ブロック７０８において、上述のデータを受信した後に、本装置は、第２のワイヤレス表示モードから第１のワイヤレス表示モードに切り替わり得る。いくつかの構成では、本装置は、第１のワイヤレス表示モードでＧＥＥ２０６を利用し、第２のワイヤレス表示モードでミラキャスト６０６を利用するように構成される。図６を参照すると、不安定状態から安定状態にシンク１０４のリモートＧＰＵ１２４をリセットするのに十分なデータ６１６を受信した後に、シンク１０４は、（たとえば、ミラキャスト６０６を使用する）第２のワイヤレス表示モードから（たとえば、ＧＥＥ２０６を使用する）第１のワイヤレス表示モードに切り替え得る。シンク１０４のリモートＧＰＵ１２４が不安定状態から安定状態にリセットされるので、シンク１０４のリモートＧＰＵ１２４は、（たとえば、ＧＥＥ２０６を使用する）第１のワイヤレス表示モードで動作する間にＧＰＵコマンドを含んでいる追加のパケット６１８を受信することが可能である。
【００４２】
[0049]図７を参照しながら説明する方法および／またはプロセスは、説明の目的のために提供され、本開示の範囲を限定するものではない。図７を参照しながら説明する方法および／またはプロセスは、本開示の範囲から逸脱することなく、図７に示すシーケンスとは異なるシーケンスで実行され得る。さらに、図７を参照しながら説明する方法および／またはプロセスの一部または全部は、本開示の範囲から逸脱することなく、個別におよび／または一緒に実行され得る。開示した方法におけるステップの特定の順序または階層は、例示的なプロセスの一例であることを理解されたい。設計上の選好に基づいて、本方法におけるステップの特定の順序または階層は並べ替えられ得ることを理解されたい。添付の方法クレームは、様々なステップの要素を例示的な順序で提示しており、添付の方法クレーム中で特に具陳されていない限り、提示された特定の順序または階層に限定されるものではない。
【００４３】
[0050]図８は、本開示の様々な態様による、装置８０２のハードウェア実装形態の一例を示す図８００である。概して、装置８０２は、ワイヤレス表示能力を使用可能にするように構成された任意のデバイスであり得る。いくつかの構成では、装置８０２は、上記で説明したシンク１０４であり得る。装置８０２は、ユーザインターフェース８１２を含み得る。ユーザインターフェース８１２は、装置８０２のユーザから１つまたは複数の入力を受信するように構成され得る。ユーザインターフェース８１２はまた、装置８０２のユーザに情報（たとえば、テキストおよび／または画像）を表示するように構成され得る。ユーザインターフェース８１２は、バスインターフェース８０８を介してデータを交換し得る。
【００４４】
[0051]装置８０２はまた、トランシーバ８１０を含み得る。トランシーバ８１０は、別の装置と通信しているデータを受信するおよび／またはそのようなデータを送信するように構成され得る。トランシーバ８１０は、ワイヤードまたはワイヤレス伝送媒体を介して別の装置と通信するための手段を与える。たとえば、トランシーバ８１０は、上記でより詳細に説明するように、ソース１０２と通信するための手段を与え得る。トランシーバ８１０は、上記でより詳細に説明するように、様々なタイプの技術を使用してそのような通信を実行するように構成され得る。多くのタイプの技術が、本開示の範囲から逸脱することなくそのような通信を実行し得ることを当業者ならば理解されよう。
【００４５】
[0052]装置８０２はまた、メモリ８１４と、１つまたは複数のプロセッサ８０４と、コンピュータ可読媒体８０６と、バスインターフェース８０８とを含み得る。バスインターフェース８０８は、バス８１６とトランシーバ８１０との間のインターフェースを与え得る。メモリ８１４と、１つまたは複数のプロセッサ８０４と、コンピュータ可読媒体８０６と、バスインターフェース８０８とは、バス８１６を介して一緒に接続され得る。プロセッサ８０４は、トランシーバ８１０および／またはメモリ８１４に通信可能に結合され得る。
【００４６】
[0053]プロセッサ８０４は、検出回路８２０を含み得る。検出回路８２０は、様々なハードウェア構成要素を含み得、および／または第１のワイヤレス表示モードにある間にＧＰＵが不安定状態にあることを示す状態を検出するための手段を与える様々なアルゴリズムを実行し得る。プロセッサ８０４はまた、送信回路８２１を含み得る。送信回路８２１は、様々なハードウェア構成要素を含み得、および／または状態を検出したことに応答して、ＧＰＵリフレッシュ要求メッセージを送信し、第１のワイヤレス表示モードから第２のワイヤレス表示モードに切り替えるための手段を与える様々なアルゴリズムを実行し得る。プロセッサ８０４はまた、受信回路８２２を含み得る。受信回路８２２は、様々なハードウェア構成要素を含み得、および／または、ＧＰＵコマンドのトレース中のＲＡＰにおいて、ＧＰＵリフレッシュ要求メッセージを送信した後に、不安定状態から安定状態にＧＰＵをリセットするのに十分なデータを受信するための手段を与える様々なアルゴリズムを実行し得る。プロセッサ８０４はまた、制御回路８２３を含み得る。制御回路８２３は、様々なハードウェア構成要素を含み得、および／またはデータを受信した後に第２のワイヤレス表示モードから第１のワイヤレス表示モードに切り替えるための手段を与える様々なアルゴリズムを実行し得る。制御回路８２３は、様々なハードウェア構成要素を含み得、および／または第１のワイヤレス表示モードでＧＥＥを利用し、第２のワイヤレス表示モードでミラキャストを利用するための手段を与える様々なアルゴリズムを実行し得る。
【００４７】
[0054]上記の説明は、装置８０２のプロセッサ８０４の非限定的な例を与える。上記で様々な回路について説明したが、プロセッサ８０４がまた、回路８２０、８２１、８２２、８２３に追加するものである、および／またはそれに代替するものである様々な他の回路（図示せず）を含み得ることを当業者ならば理解されよう。そのような他の回路（図示せず）は、本明細書で説明する機能、方法、プロセス、特徴および／または態様のうちの任意の１つまたは複数を実行するための手段を与え得る。
【００４８】
[0055]コンピュータ可読媒体８０６は、様々なコンピュータ実行可能命令を含み得る。コンピュータ実行可能命令は、本明細書で説明する様々な機能を実行するおよび／または様々な態様を使用可能にするように構成されたコンピュータ実行可能コードを含み得る。コンピュータ実行可能命令は、装置８０２の様々なハードウェア構成要素（たとえば、プロセッサ８０４および／またはそれの回路８２０、８２１、８２２、８２３のいずれか）によって実行され得る。コンピュータ実行可能命令は、様々なソフトウェアプログラムおよび／またはソフトウェアモジュールの一部であり得る。
【００４９】
[0056]コンピュータ可読媒体８０６は、検出命令８４０を含み得る。検出命令８４０は、第１のワイヤレス表示モードにある間にＧＰＵが不安定状態にあることを示す状態を検出するように構成されたコンピュータ実行可能命令を含み得る。コンピュータ可読媒体８０６はまた、送信命令８４１を含み得る。送信命令８４１は、状態を検出したことに応答して、ＧＰＵリフレッシュ要求メッセージを送信し、第１のワイヤレス表示モードから第２のワイヤレス表示モードに切り替えるように構成されたコンピュータ実行可能命令を含み得る。コンピュータ可読媒体８０６は、受信命令８４２を含み得る。受信命令８４２は、ＧＰＵコマンドのトレース中のＲＡＰにおいて、ＧＰＵリフレッシュ要求メッセージを送信した後に、不安定状態から安定状態にＧＰＵをリセットするのに十分なデータを受信するように構成されたコンピュータ実行可能命令を含み得る。コンピュータ可読媒体８０６は、制御命令８４３を含み得る。制御命令８４３は、データを受信した後に第２のワイヤレス表示モードから第１のワイヤレス表示モードに切り替えるように構成されたコンピュータ実行可能命令を含み得る。制御命令８４３はまた、第１のワイヤレス表示モードでＧＥＥを利用し、第２のワイヤレス表示モードでミラキャストを利用するように構成されたコンピュータ実行可能命令を含み得る。
【００５０】
[0057]上記の説明は、装置８０２のコンピュータ可読媒体８０６の非限定的な例を与える。上記で様々なコンピュータ実行可能命令（たとえば、コンピュータ実行可能コード）について説明したが、コンピュータ可読媒体８０６がまた、命令８４０、８４１、８４２、８４３に追加するものである、および／またはそれに代替するものである様々な他のコンピュータ実行可能命令（図示せず）を含み得ることを当業者ならば理解されよう。そのような他のコンピュータ実行可能命令（図示せず）は、本明細書で説明する機能、方法、プロセス、特徴および／または態様のうちの任意の１つまたは複数を実行するように構成され得る。
【００５１】
[0058]メモリ８１４は、様々なメモリモジュールを含み得る。メモリモジュールは、プロセッサ８０４またはそれの回路８２０、８２１、８２２、８２３のいずれかによって様々な値および／または情報を記憶し、そこからそれを読み取るように構成され得る。メモリモジュールはまた、コンピュータ可読媒体８０６中に含まれるコンピュータ実行可能コードまたはそれの命令８４０、８４１、８４２、８４３のいずれかの実行時に様々な値および／または情報を記憶し、そこからそれを読み取るように構成され得る。メモリ８１４は、トレース情報８３０を含み得る。たとえば、トレース情報１３０は、シンク１０４のグラフィックスライブラリ中に記憶または維持され得る。トレース情報８３０は、本開示の範囲から逸脱することなく、様々なフォーマットおよび／またはファイル構成で存在し得る。メモリはまた、ＲＡＰ情報８３１を含み得る。上記で説明したように、ＲＡＰは、トレース６０２の１つまたは複数の部分、位置、またはロケーションにあるマーク、マーカー、および／または任意の他の好適なインジケータを指す。各ＲＡＰにおいて、シンク１０４は、ＧＰＵ（たとえば、シンク１０４のリモートＧＰＵ１２４）をリセットするのに十分であるデータ６１６を受信し得る。いくつかの構成では、シンク１０４のリモートＧＰＵ１２４をリセットするためのデータ６１６は、テクスチャ、シェーダ、頂点、および／または任意の他の好適な表示属性に関連する情報を含み得る。
【００５２】
[0059]装置８０２が、本開示の範囲から逸脱することなく、代替のおよび／または追加の特徴を含み得ることをも当業者ならば理解されよう。本開示の様々な態様によれば、要素、または要素の任意の部分、または要素の任意の組合せは、１つまたは複数のプロセッサ８０４を含む処理システムを用いて実装され得る。１つまたは複数のプロセッサ８０４の例としては、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラマブル論理デバイス（ＰＬＤ）、状態機械、ゲート論理、個別ハードウェア回路、および本開示全体にわたって説明する様々な機能を実行するように構成された他の好適なハードウェアがある。処理システムは、バス８１６およびバスインターフェース８０８によって全体的に表されるバスアーキテクチャを用いて実装され得る。バス８１６は、処理システムの具体的な応用形態および全体的な設計制約に応じて、任意の数の相互接続するバスとブリッジとを含み得る。バス８１６は、１つまたは複数のプロセッサ８０４と、メモリ８１４と、コンピュータ可読媒体８０６とを含む様々な回路を一緒にリンクし得る。バス８１６はまた、タイミングソース、周辺機器、電圧レギュレータ、および電力管理回路など、様々な他の回路をリンクし得るが、これらの回路は当技術分野においてよく知られている。
【００５３】
[0060]１つまたは複数のプロセッサ８０４は、バス８１６を管理することと、コンピュータ可読媒体８０６に記憶されたソフトウェアの実行を含む一般的な処理とを担当し得る。ソフトウェアは、１つまたは複数のプロセッサ８０４によって実行されたとき、処理システムに、任意の１つまたは複数の装置のための以下で説明する様々な機能を実行させる。コンピュータ可読媒体８０６はまた、ソフトウェアを実行するときに１つまたは複数のプロセッサ８０４によって操作されるデータを記憶するために使用され得る。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語などの名称にかかわらず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行ファイル、実行スレッド、プロシージャ、関数などを意味すると広く解釈されたい。ソフトウェアはコンピュータ可読媒体８０６上に常駐し得る。コンピュータ可読媒体８０６は非一時的コンピュータ可読媒体であり得る。非一時的コンピュータ可読媒体は、例として、磁気ストレージデバイス（たとえば、ハードディスク、フロッピー（登録商標）ディスク、磁気ストリップ）、光ディスク（たとえば、コンパクトディスク（ＣＤ）またはデジタル多用途ディスク（ＤＶＤ））、スマートカード、フラッシュメモリデバイス（たとえば、カード、スティック、またはキードライブ）、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ（登録商標））、レジスタ、リムーバブルディスク、ならびにコンピュータによってアクセスされ、読み取られ得るソフトウェアおよび／または命令を記憶するための任意の他の好適な媒体を含む。コンピュータ可読媒体８０６はまた、例として、搬送波、伝送線路、ならびにコンピュータによってアクセスされ、読み取られ得るソフトウェアおよび／または命令を送信するための任意の他の好適な媒体を含み得る。コンピュータ可読媒体８０６は、処理システムの内部に存在し得るか、処理システムの外部に存在し得るか、または処理システムを含む複数のエンティティにわたって分散され得る。コンピュータ可読媒体８０６はコンピュータプログラム製品において実施され得る。限定ではなく例として、コンピュータプログラム製品はパッケージング材料中にコンピュータ可読媒体を含み得る。特定の適用例および全体的なシステムに課される全体的な設計制約に応じて、本開示全体にわたって提示される記載の機能をどのようにしたら最も良く実装することができるかを、当業者は認識されよう。
【００５４】
[0061]上記の説明は、当業者が本明細書で説明した様々な態様を実施することができるようにするために提供されたものである。これらの態様に対する様々な変更は当業者には容易に明らかであり、本明細書で定義された一般原理は他の態様に適用され得る。したがって、特許請求の範囲は、本明細書に示された態様に限定されるものではなく、特許請求の範囲の言い回しに矛盾しない全範囲を与えられるべきであり、単数形の要素への言及は、そのように明記されていない限り、「唯一無二」を意味するものではなく、むしろ「１つまたは複数」を意味するものである。別段に明記されていない限り、「いくつか（some）」という語は１つまたは複数を指す。項目のリスト「のうちの少なくとも１つ」を指す句は、個々のメンバーを含む、それらの項目の任意の組合せを指す。一例として、「ａ、ｂまたはｃのうちの少なくとも１つ」は、ａと、ｂと、ｃと、ａおよびｂと、ａおよびｃと、ｂおよびｃと、ａ、ｂおよびｃとを包含するように意図されている。当業者に知られている、または後に知られるようになる、本開示全体にわたって説明する様々な態様の要素の構造的および機能的な均等物のすべてが、参照により本明細書に明確に組み込まれ、特許請求の範囲によって包含されるように意図されている。その上、本明細書で開示するいかなることも、そのような開示が特許請求の範囲に明示的に具陳されているかどうかにかかわらず、公に供するものではない。いかなるクレーム要素も、その要素が「ための手段」という句を使用して明確に具陳されていない限り、または方法クレームの場合には、その要素が「ためのステップ」という句を使用して具陳されていない限り、米国特許法第１１２条（ｆ）の規定の下で解釈されるべきではない。
【図１】
2018536181.tif 000003
【図２】
2018536181.tif 000004
【図３】
2018536181.tif 000005
【図４】
2018536181.tif 000006
【図５】
2018536181.tif 000007
【図６】
2018536181.tif 000008
【図７】
2018536181.tif 000009
【図８】
2018536181.tif 000010
【国際調査報告】
2018536181.tif 000011
2018536181.tif 000012