(57)【特許請求の範囲】
【請求項１】
ディスプレイデバイスのリフレッシュレートを含むビデオ転送要求パケットを送信し、前記ビデオ転送要求パケットへの応答としての確認応答パケットおよびビデオデータのバーストを受信し、受信した前記ビデオデータのバーストに応答して第２の確認応答パケットを送信するように構成されたシンクインタフェースコントローラと、
前記ビデオ転送要求パケットを前記シンクインタフェースコントローラから受信し、前記ビデオ転送要求パケットへの応答としての前記確認応答パケットおよび前記ビデオデータのバーストを前記シンクインタフェースコントローラへ送信し、前記第２の確認応答パケットを前記シンクインタフェースコントローラから受信するように構成されたディスプレイコントローラと、
を備え、
前記シンクインタフェースコントローラが、前記ビデオデータのバーストを記憶するように構成された先入れ先出し（ＦＩＦＯ）データバッファをさらに備え、
前記ＦＩＦＯは、１つのビデオフレームをビデオデータの複数のバーストに分割して受信するように構成され、
前記シンクインタフェースコントローラは、前記ＦＩＦＯに記憶された前記ビデオデータの前記複数のバーストを、前記ディスプレイデバイスへ送信し、
前記シンクインタフェースコントローラは、前記ＦＩＦＯが一杯の場合に、エラー応答パケットを前記ディスプレイコントローラへ送信し、
前記エラー応答パケットが、前記ビデオデータの前記複数のバーストのさらなる転送を中断させ、
前記ＦＩＦＯが空の場合に、前記ディスプレイデバイスは、ブランキング間隔を延長し、
前記ブランキング間隔は、前のディスプレイリフレッシュと次のディスプレイリフレッシュとの間の内部時間を指す、
システム。
【請求項２】
前記ビデオデータの前記複数のバーストが、物理層リンクで送信されるビデオデータを備える、請求項１に記載のシステム。
【請求項３】
前記ＦＩＦＯが、ラインバッファまたは出力ラッチをさらに備え、前記ラインバッファまたは前記出力ラッチが、前記ディスプレイコントローラから前記ビデオデータの前記複数のバーストを受信し、これらを前記ディスプレイデバイスに送信する、請求項１または２に記載のシステム。
【請求項４】
前記ディスプレイコントローラが、中央処理ユニット（ＣＰＵ）のソースインタフェースコントローラを介して前記ビデオデータの前記複数のバーストを送信する、請求項１から３のいずれか一項に記載のシステム。
【請求項５】
前記ディスプレイコントローラが、グラフィック処理ユニット（ＧＰＵ）のソースインタフェースコントローラを介して前記ビデオデータの前記複数のバーストを送信する、請求項１から３のいずれか一項に記載のシステム。
【請求項６】
モバイルデバイスを備える、請求項１から５のいずれか一項に記載のシステム。
【請求項７】
前記シンクインタフェースコントローラは、ビデオデータの転送の開始と、前記ディスプレイデバイスのリフレッシュの開始とを同期させる、請求項１から６のいずれか一項に記載のシステム。
【請求項８】
前記シンクインタフェースコントローラは、前記ＦＩＦＯが一杯でなくなり、前記ビデオデータの前記複数のバーストの転送を再開する場合、さらなるビデオデータ転送要求パケットを前記ディスプレイコントローラへ送信する、請求項１から７のいずれか一項に記載のシステム。
【請求項９】
シンクインタフェースコントローラを介してビデオデータ転送要求パケットを送信するステップであって、前記ビデオデータ転送要求パケットが、ディスプレイデバイスのリフレッシュレート能力を含むステップと、
前記シンクインタフェースコントローラを介して確認応答パケットを受信するステップと、
前記シンクインタフェースコントローラを介してビデオデータの複数のバーストを受信して、前記シンクインタフェースコントローラ内のＦＩＦＯに前記受信した前記ビデオデータの前記複数のバーストを記憶するステップと、
前記ビデオデータの前記複数のバーストの受信に応答して、前記シンクインタフェースコントローラを介して確認応答パケットを送信するステップと、
前記ＦＩＦＯに記憶された前記ビデオデータの前記複数のバーストを前記シンクインタフェースコントローラを介して前記ディスプレイデバイスへ送信するステップと、
前記ビデオデータのさらなるバーストを受信し、前記シンクインタフェースコントローラ内の前記ＦＩＦＯが一杯の場合にエラー応答パケットを送信するステップであって、前記エラー応答パケットが、さらなるバーストビデオデータ転送を中断させる、ステップと、
前記ＦＩＦＯが空の場合に、ブランキング間隔を前記ディスプレイデバイスが延長するステップと
を含み、
前記ビデオデータの前記複数のバーストを受信するステップは、１つのビデオフレームを前記ビデオデータの前記複数のバーストに分割して受信する段階を含み、
前記ブランキング間隔は、前のディスプレイリフレッシュと次のディスプレイリフレッシュとの間の内部時間を指す、
方法。
【請求項１０】
ビデオデータのフレームが受信されたとき、前記確認応答パケットはリフレッシュ完了通知を含む、請求項９に記載の方法。
【請求項１１】
前記ＦＩＦＯが一杯でなくなり、前記バーストビデオデータ転送を再開する場合、さらなるビデオデータ転送要求パケットを送信するステップをさらに含む、請求項９または１０に記載の方法。
【請求項１２】
静止画像を表示するために、前記ディスプレイデバイスが、前記ディスプレイデバイスの内部フレームバッファからビデオフレームを受信するステップをさらに含む、請求項９から１１のいずれか一項に記載の方法。
【請求項１３】
前記シンクインタフェースコントローラを介する前記ビデオデータの前記複数のバーストの受信を再開させるためにさらなるビデオデータ転送要求を送信するステップであって、ビデオデータ転送の開始が、前記ディスプレイデバイスのリフレッシュの開始と同期される、ステップをさらに含む、請求項９から１２のいずれか一項に記載の方法。
【請求項１４】
リフレッシュレートを動的に変更するステップをさらに含む、請求項９から１３のいずれか一項に記載の方法。
【請求項１５】
ソースコントローラインタフェースを初期化するステップをさらに含む、請求項９から１４のいずれか一項に記載の方法。
【請求項１６】
前記ビデオデータのバーストのデータサイズをネゴシエートするステップをさらに含む、請求項９から１５のいずれか一項に記載の方法。
【請求項１７】
ビデオデータ転送の開始と前記ディスプレイデバイスのリフレッシュの開始とを同期させるステップをさらに含む、請求項９から１６のいずれか一項に記載の方法。
【請求項１８】
コンピューティングデバイスに、請求項９から１７のいずれか一項に記載の方法を実行させるための、コンピュータプログラム。
【請求項１９】
請求項１８に記載のコンピュータプログラムを格納する、コンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、参照により本明細書に組み込まれる、２０１４年１２月２３日に出願された米国特許出願第１４／５８１，５５９号明細書の出願日の利益を主張する。
【０００２】
本発明は、一般にコンピュータディスプレイに関する。より具体的には、本発明は、コンピュータディスプレイのフレームリフレッシュレートを制御するための技術に関する。
【背景技術】
【０００３】
特にスマートフォン、タブレット、およびＰＣプラットフォームのディスプレイ解像度は、サイズおよび解像度の両方で増加している。このようなディスプレイは、一般的にＡＣ電力に依存するため、ディスプレイによって消費される電力は、ディスプレイ解像度が増加するのに比例して高くなる。したがって、デバイスディスプレイは、次第に、現代のコンピューティングおいて電力消費の主な原因になりつつある。
【図面の簡単な説明】
【０００４】
【図１】ディスプレイデバイスをリフレッシュするために使用され得る例示的なコンピューティングデバイスを例示するブロック図である。
【０００５】
【図２】ディスプレイデバイスをリフレッシュするために使用され得る例示的なシステムを例示するブロック図である。
【０００６】
【図３】は、本明細書で説明されている技術に従ってリフレッシュが開始されるときのディスプレイバーストデータ転送通信を可能にする例示的なシステムの通信図である。
【０００７】
【図４】本明細書で説明されている技術に従ってＦＩＦＯが一杯でないときのディスプレイバーストデータ転送通信を可能にする例示的なシステムの通信図である。
【０００８】
【図５】本明細書で説明されている技術に従ってＦＩＦＯが一杯のときのディスプレイバーストデータ転送通信を可能にする例示的なシステムの通信図である。
【０００９】
【図６】本明細書で説明されている技術に従ってデータ転送が再開されるときのディスプレイバーストデータ転送通信を可能にする例示的システムの通信図である。
【００１０】
【図７】本明細書で説明されている技術に従ってビデオデータのフレームの転送が完了したときのディスプレイバーストデータ転送通信を可能にする例示的なシステムの通信図である。
【００１１】
【図８】本明細書で説明されている技術に従ってデータ転送が時間遅延を伴って再開されるときのディスプレイバーストデータ転送通信を可能にする例示的なシステムの通信図である。
【００１２】
【図９】ディスプレイバーストデータ転送に関するコンピューティングデバイスの機能を描く例示的な方法を例示する処理フロー図である。
【００１３】
【図１０】ディスプレイバーストデータ転送に関するディスプレイデバイスの機能を描く例示的な方法を例示する処理フロー図である。
【００１４】
【図１１】デバイスの発見のためのコードを記憶するコンピュータ可読媒体を示すブロック図である。
【発明を実施するための形態】
【００１５】
同じ番号は、本開示および本図面を通して同様の構成要素および特徴を参照するために使用される。例えば、１００番台の数字は、最初に図１に見出される特徴を示し、２００番台の数字は、最初に図２に見出される特徴を示す。
【００１６】
上述したように、ディスプレイエレクトロニクスの電力は、ディスプレイ解像度が増加するのに比例して高くなる。電子ディスプレイによって使用される電力量を低減する１つの方法は、ディスプレイのリフレッシュレートを低減することである。しかしながら、ディスプレイコントローラが、リフレッシュレートを変更するとき、リフレッシュレートの低減は、ディスプレイのユーザの健康にとって良くない画面のちらつきを発生させ得る。例えば、画面のちらつきは、目の緊張および／または頭痛を引き起こす場合がある。さらに、いくつかのディスプレイは、消費電力を低減するためにディスプレイスクリーンパターンまたはデータプロファイルに適合した動的なリフレッシュレート変更を使用する場合がある。例えば、省電力機能が、リフレッシュレートを変更したり、さらには、パネルに内在するリフレッシュメカニズムを使用したりする場合がある。本明細書において、ＣＰＵディスプレイコントローラとディスプレイデバイスとの間でリフレッシュレートを通信および制御するための技術が提供される。本技術は、シンクインタフェースモジュールを使用してリフレッシュレートを変更することを可能にする。したがって、本明細書で説明されている技術は、画面のちらつきの不具合を防止しながらエネルギーの節約を実現する。いくつかの例において、本技術は、モバイルディスプレイで使用される電力を低減するために使用され得る。しかしながら、本技術は、有線デジタルディスプレイインタフェース（有線ＤＤＩ）にも適用され得る。
【００１７】
いくつかの実施形態は、ハードウェア、ファームウェア、およびソフトウェアの１つまたは組み合わせで実施されてもよい。いくつかの実施形態はまた、本明細書で説明されている動作を実行するためにコンピューティングプラットフォームによって読み取られて実行され得る、コンピュータ可読媒体に記憶された命令として実施されてもよい。コンピュータ可読媒体は、機械（例えば、コンピュータ）によって読み取り可能な形式の情報を記憶または送信するための任意のメカニズムを含んでもよい。例えば、コンピュータ可読媒体は、特に、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイスまたは電気信号、光信号、音響信号、もしくは他の形態の伝搬信号（例えば、搬送波、赤外線信号、デジタル信号）または信号を送信および／もしくは受信するインタフェースを含んでもよい。
【００１８】
実施形態は、実施態様または例である。本明細書における「実施形態」、「一実施形態」、「いくつかの実施形態」、「様々な実施形態」、または「他の実施形態」への言及は、実施形態に関連して説明される特定の特徴、構造、または特性が、本発明の少なくともいくつかの実施形態に含まれるが、必ずしも本発明のすべての実施形態に含まれるわけではないことを意味する。「実施形態」、「一実施形態」、または「いくつかの実施形態」の様々な記載は、必ずしもすべてが同じ実施形態に言及しているわけではない。実施形態からの要素または態様は、別の実施形態の要素または態様と組み合わされてもよい。
【００１９】
本明細書で説明され、例示されるすべての構成要素、特徴、構造、特性などが、特定の実施形態または複数の実施形態に含まれる必要はない。本明細書において、構成要素、特徴、構造、または特性が例えば含まれ「てもよい（ｍａｙ）」、「てもよい（ｍｉｇｈｔ）」、「得る（ｃａｎ）」、または「得る（ｃｏｕｌｄ）」と述べられている場合、その特定の構成要素、特徴、構造、または特性は含まれる必要はない。本明細書または特許請求の範囲において、「１つの（ａ）」または「１つの（ａｎ）」要素に言及している場合、それは、ただ１つの要素が存在することを意味しない。本明細書または特許請求の範囲において、「さらなる」要素に言及している場合、それは、１つより多くのさらなる要素が存在することを排除しない。
【００２０】
いくつかの実施形態が、特定の実施態様を参照して説明されているが、いくつかの実施形態によれば、他の実施形態も可能であることに留意されたい。さらに、図面に例示されているおよび／または本明細書で説明されている回路要素または他の特徴の配置および／または順序は、例示され、説明されている特定の方法で配置される必要はない。いくつかの実施形態によれば、他の多くの配置も可能である。
【００２１】
図に示されている各システムにおいて、要素はそれぞれ、場合により、表示されている要素が異なり得るおよび／または同様であり得ることを示唆するために同じ参照番号または異なる参照番号を有する場合がある。しかしながら、要素は、異なる実施態様を有する程度には十分に柔軟であり得るし、また、本明細書に示されているまたは説明されているシステムの一部または全部と協働し得る。図に示されている様々な要素は、同じであっても異なってもよい。どちらのものが第１の要素と呼ばれ、どちらが第２の要素と呼ばれるかは任意である。
【００２２】
図１は、デバイスの発見のためのノードとして使用され得るコンピューティングデバイスの例を例示するブロック図である。コンピューティングデバイス１００は、特に例えば、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、モバイルデバイス、またはサーバであってもよい。コンピューティングデバイス１００は、記憶された命令を実行するように構成された中央処理ユニット（ＣＰＵ）１０２およびＣＰＵ１０２によって実行可能な命令を記憶するメモリデバイス１０４を含んでもよい。ＣＰＵ１０２は、バス１０６によってメモリデバイス１０４に結合されてもよい。さらに、ＣＰＵ１０２は、シングルコアプロセッサ、マルチコアプロセッサ、コンピューティングクラスタ、または任意の数の他の構成であってもよい。さらに、コンピューティングデバイス１００は、１つより多くのＣＰＵ１０２を含んでもよい。メモリデバイス１０４は、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、フラッシュメモリ、または任意の他の適切なメモリシステムを含んでもよい。例えば、メモリデバイス１０４は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）を含んでもよい。
【００２３】
また、コンピューティングデバイス１００は、グラフィック処理ユニット（ＧＰＵ）１０８を含んでもよい。図示のように、ＣＰＵ１０２は、バス１０６を介してＧＰＵ１０８に結合されてもよい。場合によっては、ＧＰＵ１０８は、ＣＰＵ１０２に組み込まれる。他の場合には、ＧＰＵ１０８は、ＣＰＵ１０２とは別個の構成要素であってもよい。ＧＰＵ１０８は、キャッシュを含んでもよく、また、コンピューティングデバイス１００内で任意の数のグラフィック処理を実行するように構成されてもよい。ＧＰＵ１０８は、コンピューティングデバイス１００内で任意の数のグラフィック処理を実行するように構成されてもよい。例えば、ＧＰＵ１０８は、コンピューティングデバイス１００のユーザに表示されるグラフィック画像、グラフィックフレーム、またはビデオなどをレンダリングまたは操作するように構成されてもよい。画像データの表示は、ＧＰＵ１０８の１つまたは複数のエンジン１０９、ディスプレイドライバ１１５、およびディスプレイインタフェース１１６などによって実行されてもよい。
【００２４】
メモリデバイス１０４は、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、フラッシュメモリ、または任意の他の適切なメモリシステムを含んでもよい。例えば、メモリデバイス１０４は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）を含んでもよい。メモリデバイス１０４は、デバイス発見のための命令を実行するように構成されたデバイスドライバ１１０を含んでもよい。デバイスドライバ１１０は、ソフトウェア、アプリケーションプログラム、またはアプリケーションコードなどであってもよい。
【００２５】
また、ＣＰＵ１０２は、バス１０６を介して、コンピューティングデバイス１００と１つまたは複数のＩ／Ｏデバイス１１４とを接続するように構成された入力／出力（Ｉ／Ｏ）デバイスインタフェース１１２に接続されてもよい。Ｉ／Ｏデバイス１１４は、例えば、キーボードおよびポインティングデバイスを含んでもよく、ポインティングデバイスは、特にタッチパッドまたはタッチスクリーンを含んでもよい。Ｉ／Ｏデバイス１１４は、コンピューティングデバイス１００の内蔵構成要素であってもよいし、あるいは、コンピューティングデバイス１００に外部接続されるデバイスであってもよい。いくつかの例において、メモリ１０４は、ダイレクトメモリアクセス（ＤＭＡ）によってＩ／Ｏデバイス１１４に通信可能に結合されてもよい。
【００２６】
また、ＣＰＵ１０２は、バス１０６を介して、コンピューティングデバイス１００とディスプレイデバイス１１８とを接続するように構成されたディスプレイインタフェース１１６にリンクされてもよい。ディスプレイデバイス１１８は、コンピューティングデバイス１００の内蔵構成要素であるディスプレイスクリーンを含んでもよい。また、ディスプレイデバイス１１８は特に、コンピューティングデバイス１００に内部接続または外部接続されたコンピュータモニタ、テレビジョン、またはプロジェクタを含んでもよい。いくつかの例において、ディスプレイデバイス１１８は、内部クロック発振器を含んでもよいタイミングコントローラを含む。この発振器は、ビデオデータについてディスプレイデバイスのリフレッシュを管理するために使用されてもよい。いくつかの例において、ディスプレイデバイス１１８はまた、表示されるビデオデータを受信するＦＩＦＯを含むシンクインタフェースコントローラを含んでもよい。例えば、ＦＩＦＯは、４キロバイトから１０メガバイトの範囲内またはそれ以上のサイズのものなど、任意の適切なサイズのものであってもよい。
【００２７】
また、コンピューティングデバイスは、ストレージデバイス１２０を含む。ストレージデバイス１２０は、ハードドライブ、光学ドライブ、サムドライブ、ドライブアレイ、またはこれらの任意の組み合わせなどの物理メモリである。また、ストレージデバイス１２０は、リモートストレージドライブを含んでもよい。
【００２８】
また、コンピューティングデバイス１００は、ネットワークインタフェースコントローラ（ＮＩＣ）１２６を含んでもよい。ＮＩＣ１２６は、バス１０６を介してコンピューティングデバイス１００とネットワーク１２８とを接続するように構成されてもよい。ネットワーク１２８は、特に広域ネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、またはインターネットであってもよい。いくつかの例において、デバイスは、無線技術によって他のデバイスと通信してもよい。例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）または同様の技術が、他のデバイスと接続するために使用されてもよい。
【００２９】
また、コンピューティングデバイス１００は、ディスプレイコントローラ１２２を含んでもよい。ディスプレイコントローラ１２２は、少なくとも部分的にハードウェアロジックを備えるロジックとして実装されてもよい。他の場合には、ディスプレイコントローラ１２２は、メモリデバイス１０４に記憶されたソフトウェアの一部として、ディスプレイドライバ１１５、ディスプレイインタフェース１１６、ＧＰＵ１０８のエンジン１０９、ＣＰＵ１０２、任意の他の適切なコントローラとして、またはこれらの任意の組み合わせのソフトウェアまたはファームウェア命令として実装されてもよい。さらに他の場合には、ディスプレイコントローラ１２２は、電子回路によって実行される電子ロジック（少なくとも部分的にハードウェアロジックを備える）および集積回路によって実行される回路などとして実装されてもよい。ディスプレイコントローラ１２２は、独立して、並列に、分散して、またはより広範なプロセスの一部として動作するように構成されてもよい。さらに他の場合には、ディスプレイコントローラ１２２は、ソフトウェア、ファームウェア、およびハードウェアロジックなどの組み合わせとして実装されてもよい。いくつかの例において、ディスプレイコントローラ１２２は、ビデオ転送要求パケットを受信し、シンクインタフェースコントローラ１２４に確認応答パケットを送信するために使用されてもよい。
【００３０】
いくつかの例において、シンクインタフェースコントローラ１２４は、ディスプレイデバイス１１８の内部に含まれてもよい。ディスプレイコントローラ１２２は、ビデオバーストを送信し、シンクインタフェースコントローラ１２４から第２の確認応答パケットを受信してもよい。シンクインタフェースコントローラ１２４は、ディスプレイコントローラ１２２にビデオ転送要求パケットを送信するために使用されてもよい。シンクインタフェースモジュール１２４は、要求パケットへの応答としての確認応答およびビデオバーストを受信してもよい。また、シンクインタフェースコントローラ１２４は、確認応答をビデオバーストに送信してもよい。
【００３１】
いくつかの例において、ビデオバーストは、システムの物理層リンクの最高速度で送信されるビデオデータを含む。いくつかの例において、シンクインタフェースコントローラ１２４は、先入れ先出し（ＦＩＦＯ）データバッファを含んでもよく、ＦＩＦＯは、ディスプレイコントローラ１２２からビデオバーストを受信し、これをディスプレイデバイス１１８に送信する。いくつかの例において、シンクインタフェースコントローラ１２４は、ラインバッファまたは出力ラッチを含んでもよい。例えば、ラインバッファまたは出力ラッチは、ディスプレイコントローラ１２２からビデオバーストを受信し、これをディスプレイデバイスに送信してもよい。いくつかの例において、シンクインタフェースモジュールは、シンクインタフェースコントローラであってもよい。ディスプレイコントローラ１２２は、中央処理ユニット（ＣＰＵ）のソースインタフェースコントローラを含んでもよい。
【００３２】
図１のブロック図は、コンピューティングデバイス１００が図１に示されている構成要素のすべてを含むべきであることを示すことを意図したものではない。むしろ、コンピューティングシステム１００は、センサ、電力管理集積回路、さらなるネットワークインタフェースなどの、図１に例示されていないより少ないまたはさらなる構成要素を含んでもよい。コンピューティングデバイス１００は、特定の実施態様の詳細に応じて、図１に示されていない任意の数のさらなる構成要素を含んでもよい。さらに、ＣＰＵ１０２の機能のいずれかが、部分的または全体的にハードウェアおよび／またはプロセッサにおいて実施されてもよい。例えば、ディスプレイコントローラ１２２およびシンクインタフェースコントローラ１２４の機能が、特定用途向け集積回路によって、プロセッサに実装されたロジックで、専用グラフィック処理ユニットに実装されたロジックで、または任意の他のデバイスで実施されてもよい。
【００３３】
図２は、ディスプレイデバイスをリフレッシュするために使用され得る例示的なシステム２００を例示するブロック図である。図２において、例示的なシステム２００は、ディスプレイコントローラ２０４とソースインタフェースコントローラ２０６とを含むＣＰＵ２０２を含む。ソースインタフェースコントローラ２０６は、アップリンク２１０およびダウンリンク２１２を介してシンクインタフェースコントローラ２０８に接続される。シンクインタフェースコントローラ２０８は、先入れ先出し（ＦＩＦＯ）データバッファ２１４を含む。ＦＩＦＯデータバッファ２１４は、接続２２０を介してディスプレイデバイス２１８のタイミングコントローラ（ＴＣＯＮ）２１６に接続される。いくつかの実施形態において、シンクインタフェースコントローラ２０８およびＦＩＦＯ２１４はまた、ディスプレイデバイス２１８に含まれてもよい。
【００３４】
実施形態において、シンクインタフェースコントローラ２０８は、アップリンク２１０を介してさらなるビデオデータの要求を送信してもよい。いくつかの例において、要求は、ディスプレイリフレッシュレートを含む。例えば、リフレッシュレートは、６０Ｈｚまたは任意の適切なリフレッシュレートであってもよい。ビデオデータ要求に応答して、ソースインタフェースコントローラ２０６は、ダウンリンク２１２を介してビデオデータのバーストを送信してもよい。バーストは、本明細書で使用される場合、ビデオデータの単位である。例えば、ビデオフレームは、ビデオデータの１つまたは複数のバーストに分割され、ビデオデータの１つまたは複数のバーストとして送信されてもよい。いくつかの例において、アップリンク２１０およびダウンリンク２１２は、デュアルシンプレックスで動作するｅＤＰのメインリンクのＰＨＹであってもよい。しかしながら、双方向能力および閾値帯域幅サポートを有する任意の適切な物理層が使用されてもよい。例えば、ＭＩＰＩ  Ｄ−ＰＨＹまたはＭ−ＰＨＹも使用され得る。いくつかの例において、リンクは、クロックリカバリおよびシンボルロックを使用して確立されてもよい。
【００３５】
いくつかの例において、ビデオデータのバーストは、シンクインタフェースコントローラ２０８のＦＩＦＯデータバッファ２１４に記憶されてもよい。あるいは、ビデオデータのバーストは、シンクインタフェースコントローラ２０８のラインバッファまたは出力ラッチに記憶されてもよい。バーストのサイズは、ディスプレイリフレッシュが始まる前にインタフェースの初期化としてネゴシエートされてもよい。次に、ビデオデータのバーストは、以下で図３〜図８に関して説明される技術に従って一度にディスプレイの１フレームをリフレッシュするために使用されてもよい。
【００３６】
図３は、本明細書で説明されている技術に従ってリフレッシュが開始されたときのディスプレイバーストデータ転送通信を可能にする例示的なシステム３００の通信図である。図３において、例示的なシステム３００は、ソースインタフェースコントローラ２０６およびシンクインタフェースコントローラ２０８を含む。ｓｔａｒｔＤｉｓｐｌａｙＲｅｆｒｅｓｈ要求３０２は、シンクインタフェースコントローラ２０８からソースインタフェースコントローラ２０６への矢印によって示されている。確認応答３０４は、ソースインタフェースコントローラ２０６からシンクインタフェースコントローラ２０８への矢印によって示されている。ビデオデータの転送３０６は、ソースインタフェースコントローラ２０６からシンクインタフェースコントローラ２０８への矢印によって示されている。第２の確認応答３０８は、シンクインタフェースコントローラ２０８からソースインタフェースコントローラ２０６への矢印によって示されている。
【００３７】
例示的なシステム３００において、シンクインタフェースコントローラ２０８は、フレームリフレッシュを開始してもよい。例えば、シンクインタフェースコントローラ２０８は、ｓｔａｒｔＤｉｓｐｌａｙＲｅｆｒｅｓｈ要求パケット３０２をソースインタフェースコントローラ２０６に送信してもよい。ｓｔａｒｔＤｉｓｐｌａｙＲｅｆｒｅｓｈ要求パケット３０２の受信に応答して、ソースインタフェースコントローラ２０６は、確認応答３０４を送信してもよい。例えば、確認応答は、シンクインタフェースコントローラ２０８に送り返されるデータパケットであってもよい。確認応答を送信した後、ソースインタフェースコントローラ２０６は、ビデオデータのバースト３０６を送信してもよい。いくつかの例において、ビデオバーストは、それが通る物理リンクの最高速度で送信されてもよい。ビデオデータのバースト３０６の受信に応答して、シンクインタフェースコントローラ２０８は、ソースインタフェースコントローラ２０６に確認応答を送信してもよい。したがって、ビデオデータのバースト３０６は、シンクインタフェースコントローラ２０８によって受信される。いくつかの例において、ビデオデータのバーストは、シンクインタフェースコントローラ２０８のＦＩＦＯに記憶されてもよい。次に、シンクインタフェースコントローラ２０８は、ビデオデータのさらなるバーストを要求してもよい。
【００３８】
図４は、本明細書で説明されている技術に従ってＦＩＦＯが一杯でないときのディスプレイバーストデータ転送通信を可能にする例示的なシステム４００の通信図である。例示的なシステム４００は、ソースインタフェースコントローラ２０６およびシンクインタフェースコントローラ２０８を含む。ｃｏｎｔｉｎｕｅＤｉｓｐｌａｙＲｅｆｒｅｓｈ要求４０２は、シンクインタフェースコントローラ２０８からソースインタフェースコントローラ２０６への矢印によって示されている。確認応答４０４は、ソースインタフェースコントローラ２０６からシンクインタフェースコントローラ２０８への矢印によって示されている。ビデオデータの転送４０６は、ソースインタフェースコントローラ２０６からシンクインタフェースコントローラ２０８への矢印３０６によって示される。第２の確認応答４０８は、シンクインタフェースコントローラ２０８からソースインタフェースコントローラ２０６への矢印によって示されている。
【００３９】
例示的なシステム４００において、シンクインタフェースコントローラ２０８のＦＩＦＯは一杯ではない。したがって、シンクインタフェースコントローラ２０８は、フルフレームのリフレッシュを終わらせるためにデータのさらなるバーストを要求し続けてもよい。データのさらなるバーストの要求４０２のそれぞれに応答して、ソースインタフェースコントローラは、確認応答パケット４０２およびビデオデータのバースト４０６を送信してもよい。シンクインタフェースコントローラは同様に、ビデオデータのバースト４０６の受信に応答して確認応答パケットを送信してもよい。シンクインタフェースコントローラ２０８は、シンクインタフェースコントローラ２０８のＦＩＦＯが一杯になるまで、このようにビデオデータのさらなるバーストを要求してもよい。ＦＩＦＯが一杯になったら、ディスプレイリフレッシュ通信は、以下で図５に関して説明されるように中断されてもよい。
【００４０】
図５は、本明細書に記載された技術に従ってＦＩＦＯが一杯のときのディスプレイバーストデータ転送通信を可能にする例示的なシステム５００の通信図である。例示的なシステム５００は、ソースインタフェースコントローラ２０６およびシンクインタフェースコントローラ２０８を含む。ｃｏｎｔｉｎｕｅＤｉｓｐｌａｙＲｅｆｒｅｓｈ要求５０２は、シンクインタフェースコントローラ２０８からソースインタフェースコントローラ２０６への矢印によって示されている。確認応答５０４は、ソースインタフェースコントローラ２０６からシンクインタフェースコントローラ２０８への矢印によって示されている。ビデオデータの転送５０６は、ソースインタフェースコントローラ２０６からシンクインタフェースコントローラ２０８への矢印によって示されている。ＦＩＦＯ一杯エラー応答５０８は、シンクインタフェースコントローラ２０８からソースインタフェースコントローラ２０６への矢印によって示されている。
【００４１】
例示的なシステム５００において、シンクインタフェースコントローラ２０８は、ビデオデータのさらなるバーストのための要求５０２を送信し、確認応答５０４およびビデオデータのバースト５０６を受信した。しかしながら、シンクインタフェースコントローラ２０８は、図４のように確認応答パケットを送信するのではなく、シンクインタフェースコントローラ２０８のＦＩＦＯが一杯であることを示すエラー応答５０８を送信する。
【００４２】
いくつかの例において、ＦＩＦＯ内のビデオデータのバーストは、ディスプレイデバイスのタイミングコントローラに送信され、ディスプレイデバイスをリフレッシュするために使用されてもよい。このようにして、ＦＩＦＯ内のビデオデータのさらなるバーストのためのスペースが生成される。例えば、ＦＩＦＯ内のビデオデータの量が、シンクインタフェースコントローラ２０８の内部に決定されている閾値未満の場合、バーストビデオデータ転送が、以下で図６に関して詳細に説明されるように再開されてもよい。
【００４３】
図６は、本明細書で説明されている技術に従ってデータ転送が再開されるときのディスプレイバーストデータ転送通信を可能にする例示的システム６００の通信図である。例示的なシステム６００は、ソースインタフェースコントローラ２０６およびシンクインタフェースコントローラ２０８を含む。ｒｅｓｕｍｅＤｉｓｐｌａｙＲｅｆｒｅｓｈ要求６０２は、シンクインタフェースコントローラ２０８からソースインタフェースコントローラ２０６への矢印によって示されている。確認応答６０４は、ソースインタフェースコントローラ２０６からシンクインタフェースコントローラ２０８への矢印によって示されている。ビデオデータの転送６０６は、ソースインタフェースコントローラ２０６からシンクインタフェースコントローラ２０８への矢印によって示されている。第２の確認応答６０８は、シンクインタフェースコントローラ２０８からソースインタフェースコントローラ２０６への矢印によって示されている。
【００４４】
例示的なシステム６００において、シンクインタフェースコントローラ２０８は、ＦＩＦＯ内のデータ量が閾値量を下回ったことを検出した。これにより、シンクインタフェースコントローラは、ｒｅｓｕｍｅＤｉｓｐｌａｙＲｅｆｒｅｓｈ６０２としてビデオデータのさらなるバーストの要求を送信する。次に、ソースインタフェースコントローラ２０６は、図５の中断の前のように確認パケット６０４およびビデオデータのバースト６０６で応答する。いくつかの例において、ビデオデータバーストの中断および再開のサイクルは、ビデオデータのフレーム全体が完成するまで図５〜図６に従って継続されてもよい。フレームを完成させる、ビデオデータの最後のバーストが受信されたら、システムは、図７のように応答してもよい。
【００４５】
図７は、本明細書で説明されている技術に従ってビデオデータのフレームの転送が完了したときのディスプレイバーストデータ転送通信を可能にする例示的なシステム７００の通信図である。ｃｏｎｔｉｎｕｅＤｉｓｐｌａｙＲｅｆｒｅｓｈ７０２要求は、シンクインタフェースコントローラ２０８からソースインタフェースコントローラ２０６への矢印によって示されている。確認応答７０４は、ソースインタフェースコントローラ２０６からシンクインタフェースコントローラ２０８への矢印によって示されている。ビデオデータの転送７０６は、ソースインタフェースコントローラ２０６からシンクインタフェースコントローラ２０８への矢印によって示されている。リフレッシュ完了を伴う第２の確認応答７０８は、シンクインタフェースコントローラ２０８からソースインタフェースコントローラ２０６への矢印によって示されている。
【００４６】
システム７００の例において、シンクインタフェースコントローラ２０８は、さらなるビデオデータのｃｏｎｔｉｎｕｅＤｉｓｐｌａｙＲｅｆｒｅｓｈパケットの別の要求７０２を送信する。ソースインタフェースコントローラ２０６は、再び確認パケット７０４およびビデオデータのバースト７０６で応答してもよい。しかしながら、システム７００の例において、シンクインタフェースコントローラ２０８は、フレームリフレッシュが完了したことを検出する。例えば、シンクインタフェースコントローラ２０８は、最後のｓｔａｒｔＤｉｓｐｌａｙＰａｃｋｅｔが発行されたときから、受信したデータの総量をカウントし、受信したデータの総量と１回のディスプレイリフレッシュに必要とされる予めプログラムされたデータ量とを比較することによってフレームリフレッシュが完了したことを検出してもよい。これに応じて、次に、シンクインタフェースコントローラ２０８は、リフレッシュ完了を伴う確認パケット７０８を送信する。ディスプレイデバイスは、図３〜図７に関して説明した技術に従ってさらなるフレームによりリフレッシュされてもよい。
【００４７】
いくつかの例において、ディスプレイデバイスは、より低いリフレッシュレートで機能することができてもよい。例えば、ディスプレイデバイスは、６０Ｈｚではなく４０Ｈｚで動作することができてもよい。ソースインタフェースコントローラ２０６は、以下で図８に関して説明されるように、低減されたフレームレートと同期するために短い遅延またはスリープ時間を組み込んでもよい。
【００４８】
図８は、本明細書で説明されている技術に従ってデータ転送が時間遅延を伴って再開されるときのディスプレイバーストデータ転送通信を可能にする例示的なシステム８００の通信図である。図８において、例示的なシステム８００は、ソースインタフェースコントローラ２０６およびシンクインタフェースコントローラ２０８を含む。ｓｔａｒｔＤｉｓｐｌａｙＲｅｆｒｅｓｈ要求８０２は、シンクインタフェースコントローラ２０８からソースインタフェースコントローラ２０６への矢印によって示されている。確認応答８０４は、ソースインタフェースコントローラ２０６からシンクインタフェースコントローラ２０８への矢印によって示されている。ビデオデータの転送８０８は、ソースインタフェースコントローラ２０６からシンクインタフェースコントローラ２０８への矢印によって示されている。第２の確認応答８１０は、シンクインタフェースコントローラ２０８からソースインタフェースコントローラ２０６への矢印によって示されている。
【００４９】
例示的なシステム８００において、シンクインタフェースコントローラ２０８は、上の図３のようにビデオデータ要求ｓｔａｒｔＤｉｓｐｌａｙＲｅｆｒｅｓｈ８０２を送信する。しかしながら、より低いリフレッシュレートが、データ要求８０２の表示能力に含まれてもよい。あるいは、ＣＰＵは、バッテリ寿命またはストレージシステムもしくはＧＰＵに記憶された前処理された画像データなどのパラメータを含むがこれらに限定されない他の処理パラメータに基づいてリフレッシュレートを遅くすることを決定してもよい。例えば、６０Ｈｚではなく４０Ｈｚのリフレッシュレートが、ディスプレイデバイスによってサポートされてもよい。ソースインタフェースコントローラ２０６は同様に、ビデオデータ要求８０２に応答して確認パケット８０４を送信する。例示的なシステム８００において、次に、ソースインタフェースコントローラ２０６は、ビデオデータのバースト８０８をシンクインタフェース制御２０８に送信する前に、所定の時間間隔にわたってスリープ８０６してもよい。例えば、リフレッシュレートが６０Ｈｚから４０Ｈｚに変更される場合、この間隔は、９．７ミリ秒であってもよい。いくつかの例において、ディスプレイＴＣＯＮは、ＦＩＦＯが空のとき、次のディスプレイフレームリフレッシュが開始される前に、ディスプレイリフレッシュを開始せずにブランキング間隔を延長するように設計される。ブランキング間隔は、本明細書で使用される場合、前のディスプレイリフレッシュと次のディスプレイリフレッシュとの間の内部時間を指す。
【００５０】
いくつかの例において、ソースインタフェースコントローラ２０６内のスリープ８０６メカニズムを使用して、ＣＰＵディスプレイコントローラは、ビデオデータ転送の開始とディスプレイ内部リフレッシュの開始とを同期させてもよい。例えば、ディスプレイデバイスは、電力を節約するために、埋め込みディスプレイポート（ｅＤＰ）インタフェースのパネルセルフリフレッシュ（ＰＳＲ）を使用してもよい。ディスプレイデバイスのパネルは、画面上に表示されている現在のフレームのコピーを記憶する内蔵フレームバッファを有してもよい。例えば、内蔵フレームバッファは、ディスプレイデバイスのタイミングコントローラの内部に含まれてもよい。画面が静的である場合、ディスプレイデバイスは、コンピューティングデバイスのＧＰＵではなく、内部フレームバッファからビデオフレームを受信してもよい。これにより、コンピューティングシステムのＧＰＵおよびＣＰＵがパワーダウンし、この結果、節電が行われてもよい。しかしながら、アクションによって画面上の画像が静的でなくなった場合、同期問題が発生し得る。例えば、１つの同期問題は、ＣＰＵがディスプレイ内蔵フレームバッファを更新するときのテアリングであり得る。テアリングは、本明細書で使用される場合、画面の一部がＣＰＵからの更新された新しい画面画像を示し、残りの画面が内蔵フレームバッファからの古い画面画像を示す状態を意味する。本技術は、更新される画像のビデオデータ転送の開始とパネルの内部リフレッシュの開始とを同期させるために使用され得る。このようにして、同期問題の発生を防止しながら電力が節約され得る。
【００５１】
図９は、ディスプレイバーストデータ転送に関するコンピューティングデバイスの機能を描く例示的な方法９００を例示する処理フロー図である。図９の例示的な方法は、図２のＣＰＵ２０２のソースインタフェースコントローラ２０６によって実行されてもよい。
【００５２】
ブロック９０２において、ＣＰＵ２０２は、ソースインタフェースコントローラ２０６を初期化する。いくつかの例において、ビデオデータのバーストのサイズが、ソースインタフェースコントローラ２０６の初期化中にネゴシエートされてもよい。例えば、バーストのサイズは、帯域幅などの要因に依存してもよい。
【００５３】
ブロック９０４において、ソースインタフェースコントローラ２０６は、ビデオデータ転送要求パケットを受信する。いくつかの例において、ビデオ転送要求パケットは、ある範囲のリフレッシュレートを含んでもよい。例えば、リフレッシュレートの範囲は、ディスプレイデバイスが画面のちらつきなしに動作することが可能なリフレッシュレートの範囲であってもよい。
【００５４】
ブロック９０６において、ソースインタフェースコントローラ２０６は、ビデオデータ転送要求パケットに応答して確認応答パケットを送信する。
【００５５】
ブロック９０８において、ソースインタフェースコントローラ２０６は、次のフレームリフレッシュレートが変更されるべきかどうかを決定する。例えば、この決定は、シンクコントローラからのビデオ転送要求パケットに含まれる新しいターゲットリフレッシュレートによって、または、他の処理パラメータ（バッテリ寿命またはストレージシステムもしくはＧＰＵに記憶された前処理された画像データなどであるが、これらに限定されない）に基づいてＣＰＵによって行われてもよい。ビデオデータ転送要求パケットが、新しいターゲットリフレッシュレートを含まない場合、ソースインタフェースコントローラ２０６は、ブロック９１２に説明されているようにビデオデータのバーストを送信することに進む。ビデオデータ転送要求パケットが、新しいターゲットリフレッシュレートを含む場合、ソースインタフェースコントローラ２０６は、以下でブロック９１０に関して説明されるように所定の時間間隔にわたってスリープすることに進む。
【００５６】
ブロック９１０において、ソースインタフェースコントローラ２０６は、ターゲットリフレッシュレートに基づいて所定の時間間隔にわたってスリープする。例えば、ターゲットリフレッシュレートは、以前のレートよりも低いレートであってもよい。ディスプレイデバイスは、例えば６０Ｈｚで動作してもよく、４０Ｈｚのターゲットリフレッシュレートを有してもよい。より低いリフレッシュレートで動作させることによって、バッテリリソースが、ディスプレイデバイスにおけるより少ない電力消費により節約され得る。
【００５７】
ブロック９１２において、ソースインタフェースコントローラ２０６は、ビデオデータのバーストを送信する。例えば、ビデオデータのバーストは、ディスプレイデバイスに表示されるビデオのフルフレームのセグメントであってもよい。いくつかの例において、ビデオのバーストは、ＦＩＦＯが一杯になるか、またはフレームが完成するまでブロック９０４〜９１０を使用して送信されてもよい。
【００５８】
この処理フロー図は、方法９００のブロックが特定の順序で実行されるべきことまたはブロックのすべてがあらゆる事例に含まれるべきことを示すことを意図したものではない。さらに、図示されていない任意の数のさらなるブロックが、特定の実施態様の詳細に応じて方法９００内に含まれてもよい。
【００５９】
図１０は、ディスプレイバーストデータ転送に関するディスプレイデバイスの機能を描く例示的な方法１０００を例示する処理フロー図である。図１０の例示的な方法は、図２のシンクインタフェースコントローラ２０８によって実行されてもよい。
【００６０】
ブロック１００２において、シンクインタフェースコントローラ２０８は、ビデオ転送要求パケットを送信する。いくつかの例において、データ転送要求パケットは、ディスプレイデバイスのリフレッシュレート能力を含む。例えば、リフレッシュレート能力は、ディスプレイデバイスが画面のちらつきを生成することなく使用し得るリフレッシュレートの範囲を含んでもよい。
【００６１】
ブロック１００４において、シンクインタフェースコントローラ２０８は、確認応答パケットを受信する。例えば、確認応答パケットは、ビデオ転送要求パケットが受信されたことおよびビデオデータのバーストが続くことを示してもよい。いくつかの例において、次に、リフレッシュレートを調整するためにＣＰＵのスリープがあってもよい。同期コントローラは、ＣＰＵディスプレイコントローラとディスプレイＴＣＯＮとの同期が回復されるように、第１のビデオバーストデータが受信されるまでディスプレイリフレッシュの開始を保留してもよい。このようにして、シームレスなビデオデータ更新が実現され得る。
【００６２】
ブロック１００６において、シンクインタフェースコントローラ２０８は、ビデオデータのバーストを受信する。例えば、ビデオデータのバーストは、ディスプレイでリフレッシュされるビデオフレームの一部であってもよい。いくつかの例において、バーストは、ＦＩＦＯ内部に記憶され、ＦＩＦＯが一杯になるとディスプレイデバイスのタイミングコントローラに送信される。
【００６３】
ブロック１００８において、シンクインタフェースコントローラ２０８は、ＦＩＦＯが一杯であるかどうかを判定する。ＦＩＦＯが一杯の場合、シンクインタフェースコントローラ２０８は、以下でブロック１０１２に関して説明されるようにエラー応答パケットを送信する。ＦＩＦＯが一杯でない場合、シンクインタフェースコントローラ２０８は、以下でブロック１０１０に関して説明されるように確認応答パケットを送信する。
【００６４】
ブロック１０１０において、シンクインタフェースコントローラ２０８は、ビデオデータのバーストの受信に応答して確認応答パケットを送信する。例えば、確認応答パケットは、バーストが首尾よく受信されたことを示してもよい。いくつかの例において、確認パケットは、他のイベントも示してもよい。例えば、エラーが、以下のブロック１０１０のように示されてもよい。
【００６５】
ブロック１０１２において、シンクインタフェースコントローラ２０８は、ＦＩＦＯが一杯の場合、ビデオデータのバーストの受信に応答してエラー応答パケットを送信する。いくつかの例において、エラー応答パケットは、さらなるバーストビデオデータ転送を中断させてもよい。例えば、シンクインタフェースコントローラ２０８は、ＦＩＦＯが一杯でなくなるまで、ビデオデータのさらなるバーストの要求を中断してもよい。いくつかの例において、シンクインタフェースコントローラ２０８は、ＦＩＦＯが一杯でなくなった場合、バーストビデオデータ転送を再開するためにさらなるビデオデータ転送要求パケットを送信してもよい。
【００６６】
いくつかの例において、ディスプレイデバイスは、静止画像を表示するために内部フレームバッファからビデオフレームを受信してもよい。例えば、内部フレームバッファは、ディスプレイデバイスのタイミングコントローラの一部であってもよい。いくつかの例において、シンクインタフェースコントローラ２０８は、シンクインタフェースコントローラによってビデオデータのバーストを受信することを再開するためにさらなるビデオデータ転送要求を送信する。ビデオデータ転送の開始は、内部バッファからのビデオデータフレームの使用からＦＩＦＯからのビデオデータの使用への移行をより円滑にするためにディスプレイ内部リフレッシュの開始と同期されてもよい。いくつかの例において、本明細書で説明されている技術は、リフレッシュレートを動的に円滑に変更することを可能にするために使用され得る。
【００６７】
この処理フロー図は、方法１０００のブロックが特定の順序で実行されるべきことまたはブロックのすべてがあらゆる事例に含まれるべきことを示すことを意図したものではない。さらに、図示されていない任意の数のさらなるブロックが、特定の実施態様の詳細に応じて方法１０００内に含まれてもよい。
【００６８】
図１１は、デバイスの発見のためのコードを記憶するコンピュータ可読媒体１１００を示すブロック図である。コンピュータ可読媒体１１００は、コンピュータバス１１０４を介してプロセッサ１１０２によってアクセスされてもよい。さらに、コンピュータ可読媒体１１００は、プロセッサ１１０２に本明細書で説明されている方法を実行させるように指示するよう構成されたコードを含んでもよい。いくつかの実施形態において、コンピュータ可読媒体１１００は、非一時的なコンピュータ可読媒体であってもよい。いくつかの例において、コンピュータ可読媒体１１００は、記憶媒体であってもよい。しかしながら、いずれにしても、コンピュータ可読媒体は、搬送波および信号などの一時的な媒体を含まない。
【００６９】
図１１のブロック図は、コンピュータ可読媒体１１００が図１１に示されている構成要素のすべてを含むべきことを示すことを意図したものではない。さらに、コンピュータ可読媒体１１００は、特定の実施態様の詳細に応じて、図１１に示されていない任意の数のさらなる構成要素を含んでもよい。
【００７０】
本明細書で述べられる様々なソフトウェア構成要素は、図１１に示されているように１つまたは複数のコンピュータ可読媒体１１００に記憶されてもよい。例えば、リフレッシュレートアプリケーション１１０６は、ディスプレイコントローラに、プロセッサを介してビデオデータ転送要求パケットを受信させるように構成されてもよい。いくつかの例において、リフレッシュレートアプリケーション１１０６は、ビデオデータ転送要求パケットに応答して、ディスプレイコントローラに、プロセッサを介して確認応答パケットを送信させてもよい。リフレッシュレートアプリケーション１１０６は、ディスプレイコントローラに、プロセッサを介してビデオデータのバーストを送信させてもよい。リフレッシュレートアプリケーション１１０６は、ディスプレイコントローラにビデオデータ転送要求パケットを送信させるように構成されてもよい。いくつかの例において、データ転送要求パケットは、ディスプレイデバイスのリフレッシュレート能力を含んでもよい。また、リフレッシュレートアプリケーション１１０６は、ディスプレイコントローラに確認応答パケットを受信させるように構成されてもよい。
【００７１】
いくつかの例において、リフレッシュレートアプリケーション１１０６は、ソースコントローラインタフェースを初期化してもよい。例えば、リフレッシュレートアプリケーション１１０６は、初期化中にビデオデータのバーストのデータサイズをネゴシエートするように構成されてもよい。また、リフレッシュレートアプリケーション１１０６は、ターゲットリフレッシュレートに基づいて所定の時間間隔にわたってスリープさせる命令を含んでもよい。いくつかの例において、リフレッシュレートアプリケーション１１０６は、ビデオデータ転送の開始とディスプレイ内部リフレッシュの開始とを同期させる命令を含んでもよい。また、リフレッシュレートアプリケーション１１０６は、ビデオデータ転送を再開させる命令を含んでもよい。
【００７２】
図１１のブロック図は、コンピュータ可読媒体１１００が図１１に示されている構成要素のすべてを含むべきことを示すことを意図したものではない。さらに、コンピュータ可読媒体１１００は、特定の実施態様の詳細に応じて、図１１に示されていない任意の数のさらなる構成要素を含んでもよい。
【００７３】
例１は、リフレッシュレートを制御するためのシステムである。このシステムは、ビデオ転送要求パケットを送信するシンクインタフェースコントローラを含む。シンクインタフェースコントローラは、要求パケットへの応答としての確認応答およびビデオバーストを受信してもよい。シンクインタフェースコントローラは、確認応答をビデオバーストに送信してもよい。また、システムは、ビデオ転送要求パケットを受信し、確認応答パケットを第１のモジュールに送信するディスプレイコントローラを含む。また、ディスプレイコントローラは、ビデオバーストを送信し、第２の確認応答パケットを受信する。
【００７４】
例２は、例１の主題を組み込んでいる。この例において、ビデオバーストは、物理層リンクの最高速度で送信されるビデオデータを含む。
【００７５】
例３は、例１〜２の主題を組み込んでいる。この例において、第１のモジュールは、先入れ先出し（ＦＩＦＯ）データバッファをさらに含み、ＦＩＦＯは、シンクインタフェースコントローラからビデオバーストを受信し、これをディスプレイデバイスに送信する。
【００７６】
例４は、例１〜３の主題を組み込んでいる。この例において、シンクインタフェースコントローラは、ラインバッファまたは出力ラッチをさらに含み、ラインバッファまたは出力ラッチは、ディスプレイコントローラからビデオバーストを受信し、これをディスプレイデバイスに送信する。
【００７７】
例５は、例１〜４の主題を組み込んでいる。この例において、ディスプレイコントローラは、中央処理ユニット（ＣＰＵ）のソースインタフェースコントローラを介してビデオバーストを送信する。
【００７８】
例６は、例１〜５の主題を組み込んでいる。この例において、ディスプレイコントローラは、グラフィック処理ユニット（ＧＰＵ）のソースインタフェースコントローラを介してビデオバーストを送信する。
【００７９】
例７は、例１〜６の主題を組み込んでいる。この例において、システムは、モバイルデバイスを含む。
【００８０】
例８は、例１〜７の主題を組み込んでいる。この例において、ディスプレイコントローラは、中央処理ユニット（ＣＰＵ）のソースインタフェースコントローラを介してビデオバーストを送信する。
【００８１】
例９は、例１〜８の主題を組み込んでいる。この例において、ディスプレイコントローラは、グラフィック処理ユニット（ＧＰＵ）のソースインタフェースコントローラを介してビデオバーストを送信する。
【００８２】
例１０は、例１〜９の主題を組み込んでいる。この例において、システムは、モバイルデバイスディスプレイを含む。
【００８３】
例１１は、リフレッシュレートを制御するための方法である。この方法は、シンクインタフェースコントローラを介してビデオデータ転送要求パケットを送信することを含み、データ転送要求パケットは、ディスプレイデバイスのリフレッシュレート能力を含む。この方法は、シンクインタフェースコントローラを介して確認応答パケットを受信することを含む。この方法はまた、シンクインタフェースコントローラを介してビデオデータのバーストを受信することを含む。この方法は、ビデオデータのバーストの受信に応答して、シンクインタフェースコントローラを介して確認応答パケットを送信することを含む。
【００８４】
例１２は、例１１の主題を組み込んでいる。この例において、確認応答パケットは、ビデオデータのフレームが受信されたときはリフレッシュ完了通知を含む。
【００８５】
例１３は、例１１〜１２の主題を組み込んでいる。この例において、この方法は、ビデオデータのさらなるバーストを受信し、シンクインタフェースコントローラ内のＦＩＦＯが一杯の場合にエラー応答パケットを送信することを含み、エラー応答パケットは、さらなるバーストビデオデータ転送を中断させる。
【００８６】
例１４は、例１１〜１３の主題を組み込んでいる。この例において、この方法は、ＦＩＦＯが一杯でなくなった場合に、バーストビデオデータ転送を再開するためにさらなるビデオデータ転送要求パケットを送信することを含む。
【００８７】
例１５は、例１１〜１４の主題を組み込んでいる。この例において、この方法は、静止画像を表示するために内部フレームバッファからビデオフレームを受信することを含む。
【００８８】
例１６は、例１１〜１５の主題を組み込んでいる。この例において、この方法は、シンクインタフェースコントローラを介するビデオデータのバーストの受信を再開させるためにさらなるビデオデータ転送要求を送信することを含み、ビデオデータ転送の開始は、ディスプレイ内部リフレッシュの開始と同期される。
【００８９】
例１７は、例１１〜１６の主題を組み込んでいる。この例において、この方法は、リフレッシュレートを動的に変更することを含む。
【００９０】
例１８は、例１１〜１７の主題を組み込んでいる。この例において、この方法は、ソースコントローラインタフェースを初期化することを含む。
【００９１】
例１９は、例１１〜１８の主題を組み込んでいる。この例において、この方法は、ビデオデータのバーストのデータサイズをネゴシエートすることを含む。
【００９２】
例２０は、例１１〜１９の主題を組み込んでいる。この例において、この方法は、ビデオデータ転送の開始とディスプレイ内部リフレッシュの開始とを同期させることを含む。
【００９３】
例２１は、リフレッシュレートを制御するためのコンピュータ可読媒体である。コンピュータ可読媒体は、その中に記憶された命令であって、コンピューティングデバイス上で実行されたことに応答して、コンピューティングデバイスに、プロセッサを介してビデオデータ転送要求パケットを受信させる命令を含む。また、命令は、ビデオデータ転送要求パケットに応答して、コンピューティングデバイスに、プロセッサを介して確認応答パケットを送信させる。また、命令は、コンピューティングデバイスに、プロセッサを介してビデオデータのバーストをさらに送信させる。
【００９４】
例２２は、例２１の主題を組み込んでいる。この例において、コンピュータ可読媒体は、ソースコントローラインタフェースを初期化させる命令を含む。
【００９５】
例２３は、例２１〜２２の主題を組み込んでいる。この例において、コンピュータ可読媒体は、ビデオデータのバーストのデータサイズをネゴシエートさせる命令を含む。
【００９６】
例２４は、例２１〜２３の主題を組み込んでいる。この例において、コンピュータ可読媒体は、ターゲットリフレッシュレートに基づいて所定の時間間隔にわたってスリープさせる命令を含む。
【００９７】
例２５は、例２１〜２４の主題を組み込んでいる。この例において、コンピュータ可読媒体は、ビデオデータ転送の開始とディスプレイ内部リフレッシュの開始とを同期させる命令を含む。
【００９８】
例２６は、例２１〜２５の主題を組み込んでいる。この例において、コンピュータ可読媒体は、ビデオデータ転送を再開させる命令を含む。
【００９９】
例２７は、例２１〜２６の主題を組み込んでいる。この例において、ビデオデータのバーストは、中央処理ユニット（ＣＰＵ）のソースインタフェースコントローラを介して送信される。
【０１００】
例２８は、例２１〜２７の主題を組み込んでいる。この例において、コンピュータ可読媒体は、グラフィック処理ユニット（ＧＰＵ）のソースインタフェースコントローラを介してビデオデータのバーストを送信させる命令を含む。
【０１０１】
例２９は、例２１〜２８の主題を組み込んでいる。この例において、コンピュータ可読媒体は、シンクインタフェースコントローラを介するビデオデータのバーストの受信を再開するためにさらなるビデオデータ転送要求を受信させる命令を含み、ビデオデータ転送の開始は、ディスプレイ内部リフレッシュの開始と同期される。
【０１０２】
例３０は、例２１〜２９の主題を組み込んでいる。この例において、コンピュータ可読媒体は、リフレッシュレートを動的に変更させる命令を含む。
【０１０３】
例３１は、リフレッシュレートを制御するためのシステムである。システムは、ビデオ転送要求パケットを送信するための手段を含み、シンクインタフェースコントローラは、要求パケットへの応答としての確認応答およびビデオバーストを受信し、シンクインタフェースコントローラは、確認応答をビデオバーストに送信する。また、システムは、ビデオ転送要求パケットを受信し、確認応答パケットを第１のモジュールに送信するための手段を含み、ディスプレイコントローラはまた、ビデオバーストを送信し、第２の確認応答パケットを受信する。
【０１０４】
例３２は、例３１の主題を組み込んでいる。この例において、ビデオバーストは、物理層リンクの最高速度で送信されるビデオデータを含む。
【０１０５】
例３３は、例３１〜３２の主題を組み込んでいる。この例において、第１のモジュールは、シンクインタフェースコントローラからビデオバーストを受信し、これをディスプレイデバイスに送信するための手段をさらに含む。
【０１０６】
例３４は、例３１〜３３の主題を組み込んでいる。この例において、シンクインタフェースコントローラは、ディスプレイコントローラからビデオバーストを受信し、これをディスプレイデバイスに送信するための手段をさらに含む。
【０１０７】
例３５は、例３１〜３４の主題を組み込んでいる。この例において、ディスプレイコントローラは、中央処理ユニット（ＣＰＵ）のソースインタフェースコントローラを介してビデオバーストを送信する。
【０１０８】
例３６は、例３１〜３５の主題を組み込んでいる。この例において、ディスプレイコントローラは、グラフィック処理ユニット（ＧＰＵ）のソースインタフェースコントローラを介してビデオバーストを送信する。
【０１０９】
例３７は、例３１〜３６の主題を組み込んでいる。この例において、システムは、モバイルデバイスを含む。
【０１１０】
例３８は、例３１〜３７の主題を組み込んでいる。この例において、ディスプレイコントローラは、中央処理ユニット（ＣＰＵ）のソースインタフェースコントローラを介してビデオバーストを送信する。
【０１１１】
例３９は、例３１〜３８の主題を組み込んでいる。この例において、ディスプレイコントローラは、グラフィック処理ユニット（ＧＰＵ）のソースインタフェースコントローラを介してビデオバーストを送信する。
【０１１２】
例４０は、例３１〜３９の主題を組み込んでいる。この例において、システムは、モバイルデバイスを含む。
【０１１３】
例４１は、リフレッシュレートを制御するための装置である。この装置は、ビデオ転送要求パケットを送信するためのシンクインタフェースコントローラを含み、シンクインタフェースコントローラは、ビデオ転送要求パケットへの応答としての確認応答パケットおよびビデオデータのバーストを受信し、シンクインタフェースコントローラは、ビデオデータのバーストの受信に応答して確認応答を送信する。また、この装置は、装置のリフレッシュレートを管理するタイミングコントローラを含む。
【０１１４】
例４２は、例４１の主題を組み込んでいる。この例において、フレームバッファは、パネルセルフリフレッシュ（ＰＳＲ）に使用されるフレームを記憶する。
【０１１５】
例４３は、例４１〜４２の主題を組み込んでいる。この例において、シンクインタフェースコントローラは、ＦＩＦＯバッファをさらに含む。
【０１１６】
例４４は、例４１〜４３の主題を組み込んでいる。この例において、シンクインタフェースコントローラは、ビデオデータのバーストを受信し、バーストをＦＩＦＯバッファに記憶し、ＦＩＦＯバッファは、タイミングコントローラと通信可能に結合される。
【０１１７】
例４５は、例４１〜４４の主題を組み込んでいる。この例において、シンクインタフェースコントローラは、ラインバッファをさらに含む。
【０１１８】
例４６は、例４１〜４５の主題を組み込んでいる。この例において、シンクインタフェースコントローラは、出力ラッチをさらに含む。
【０１１９】
例４７は、例４１〜４６の主題を組み込んでいる。この例において、確認応答パケットは、ビデオデータのフレームが受信されたときはリフレッシュ完了通知を含む。
【０１２０】
例４８は、例４１〜４７の主題を組み込んでいる。この例において、確認応答パケットは、ＦＩＦＯバッファが一杯の場合、エラーを含む。
【０１２１】
例４９は、例４１〜４８の主題を組み込んでいる。この例において、シンクインタフェースコントローラは、ビデオデータ転送の開始とディスプレイ内部リフレッシュの開始とを同期させる。
【０１２２】
例５０は、例４１〜４９の主題を組み込んでいる。この例において、この装置は、モバイルデバイスのディスプレイを含む。
【０１２３】
本発明は、本明細書に列挙されている特定の詳細に限定されない。実際、本開示の恩恵を受ける当業者であれば、本発明の範囲内で前述の説明および図面から他の多くの変形が行われ得ることを理解するであろう。したがって、本発明の範囲を規定する以下の特許請求の範囲は、それへの修正を含む。
【図１】
0006791557.tif 000002
【図２】
0006791557.tif 000003
【図３】
0006791557.tif 000004
【図４】
0006791557.tif 000005
【図５】
0006791557.tif 000006
【図６】
0006791557.tif 000007
【図７】
0006791557.tif 000008
【図８】
0006791557.tif 000009
【図９】
0006791557.tif 000010
【図１０】
0006791557.tif 000011
【図１１】
0006791557.tif 000012