(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-12
(54)【発明の名称】可変リフレッシュレートモジュールを使用したディスプレイウォール同期
(51)【国際特許分類】
H04N 5/66 20060101AFI20240104BHJP
H04N 9/12 20060101ALI20240104BHJP
H04N 21/436 20110101ALI20240104BHJP
H04N 21/44 20110101ALI20240104BHJP
G09G 5/00 20060101ALI20240104BHJP
【FI】
H04N5/66 B
H04N9/12 A
H04N21/436
H04N21/44
G09G5/00 550A
G09G5/00 510V
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023536376
(86)(22)【出願日】2021-12-22
(85)【翻訳文提出日】2023-07-24
(86)【国際出願番号】 IB2021062214
(87)【国際公開番号】W WO2022144709
(87)【国際公開日】2022-07-07
(32)【優先日】2020-12-28
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】508301087
【氏名又は名称】エーティーアイ・テクノロジーズ・ユーエルシー
【氏名又は名称原語表記】ATI TECHNOLOGIES ULC
【住所又は居所原語表記】One Commerce Valley Drive East, Markham, Ontario, L3T 7X6 Canada
(74)【代理人】
【識別番号】100108833
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100111615
【氏名又は名称】佐野 良太
(74)【代理人】
【識別番号】100162156
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】デイビッド アイ. ジェイ. グレン
【テーマコード(参考)】
5C058
5C060
5C164
5C182
【Fターム(参考)】
5C058BA23
5C058BA35
5C060BD00
5C164UA31S
5C164UB04P
5C164UB10S
5C164UB71P
5C182AA02
5C182AA03
5C182BB04
5C182BC03
5C182CC24
5C182DA02
5C182DA15
5C182DA25
5C182DA44
(57)【要約】
処理システム(100)は、選択されたマスタタイミング信号に基づいて、ネットワークプロトコルを介して可変リフレッシュレート(VRR)ディスプレイモジュールのリフレッシュレートの周波数及び位相を動的に調整することによって、ディスプレイウォール(140)のVRRディスプレイモジュール(141)のアレイにおいてビデオのフレームの表示を同期させる。処理システムは、マスタタイミング信号を選択し、マスタタイミング信号をビデオ処理ユニット(VPU)(105)に送信し、VPU(105)は、VRRディスプレイモジュールにおいて表示するためにフレームの部分をレンダリングする。各VPUは、マスタタイミング信号に基づいてフレームの部分をレンダリングするVRRディスプレイモジュールの周波数及び位相を調整する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
方法であって、
処理システムの複数のビデオ処理ユニット(VPU)にネットワークメッセージを介してマスタタイミング信号を送信することと、
各VPUにおいて、前記マスタタイミング信号を使用して、ディスプレイウォールの複数の可変リフレッシュレート(VRR)ディスプレイモジュールのうち対応するVRRディスプレイモジュールにおいて表示するためのフレームの対応する部分を生成することと、
前記マスタタイミング信号に基づいて、前記複数のVRRディスプレイモジュールのリフレッシュレートのリフレッシュ周波数及び位相のうち一方又は両方を動的に調整することと、を含む、
方法。
【請求項2】
動的に調整することは、前記ディスプレイウォールにわたる前記フレームの表示を前記マスタタイミング信号と同期させるように、各VRRディスプレイモジュールの垂直ブランキング間隔を調整することを含む、
請求項1の方法。
【請求項3】
前記VPUのうち何れかによって生成されたクロック信号と、前記処理システムにおいて実行されているアプリケーションと、外部同期信号と、のうち何れかを前記マスタタイミング信号として選択することを更に含む、
請求項1又は2の方法。
【請求項4】
動的に調整することは、
前記マスタタイミング信号のためのコントローラにおいて、前記フレームの部分を生成することが完了したという指標を前記VPUの各々から受信することと、
前記VPUの各々から指標を受信したことに応じて、前記マスタタイミング信号のためのコントローラにおいて、前記VRRディスプレイモジュールの各々に垂直同期(vsync)コマンドを送信するための信号を前記VPUの各々に送信することと、を含む、
請求項1又は3の方法。
【請求項5】
動的に調整することは、
前記信号を受信したことに応じて、前記VPUの各々から、前記vsyncコマンドを前記VRRディスプレイモジュールに送信することを含む、
請求項4の方法。
【請求項6】
前記マスタタイミング信号のためのコントローラは、前記処理システムにおいて実行されているアプリケーションと、前記VPUのうち何れかのためのタイミングコントローラと、前記処理システムのオペレーティングシステムと、のうち何れかである、
請求項4の方法。
【請求項7】
前記VPUの各々が、前記処理システムにおいて実行されているアプリケーションから現在提示信号を受信したことに応じて、前記VRRディスプレイモジュールの各々において、前記フレームの部分を表示することを更に含む、
請求項1~6の何れかの方法。
【請求項8】
方法であって、
ディスプレイウォールの複数の可変リフレッシュレート(VRR)ディスプレイモジュールのためのマスタタイミング信号を選択することであって、各VRRディスプレイモジュールは、前記ディスプレイウォールのためのフレームの部分を表示する、ことと、
処理システムの1つ以上のビデオ処理ユニット(VPU)によって送信されたコマンドを、ネットワークメッセージを介して前記マスタタイミング信号と同期させて、前記フレームを表示することであって、各VPUは、前記ディスプレイモジュールのうち1つ以上を駆動する、ことと、を含む、
方法。
【請求項9】
同期させることは、各VRRディスプレイモジュールの垂直ブランキング間隔を調整することを含む、
請求項8の方法。
【請求項10】
選択することは、前記VPUのうち何れかによって生成されたクロック信号と、前記処理システムにおいて実行されているアプリケーションと、外部同期信号と、のうち何れかを前記マスタタイミング信号として選択することを含む、
請求項8又は9の方法。
【請求項11】
同期させることは、
前記マスタタイミング信号のためのコントローラにおいて、前記フレームの部分を生成することが完了したという指標を前記VPUの各々から受信することと、
前記VPUの各々から指標を受信したことに応じて、前記マスタタイミング信号のためのコントローラにおいて、前記VRRディスプレイモジュールの各々に垂直同期(vsync)コマンドを送信するための信号を前記VPUの各々に送信することと、を含む、
請求項8又は10の方法。
【請求項12】
同期させることは、
前記信号を受信したことに応じて、前記VPUの各々から、前記vsyncコマンドを前記VRRディスプレイモジュールに送信することを含む、
請求項11の方法。
【請求項13】
前記マスタタイミング信号のためのコントローラは、前記処理システムにおいて実行されているアプリケーションと、前記VPUのうち何れかのためのタイミングコントローラと、前記処理システムのオペレーティングシステムと、のうち何れかである、
請求項11の方法。
【請求項14】
前記VPUの各々が、前記処理システムにおいて実行されているアプリケーションから現在提示信号を受信したことに応じて、前記VRRディスプレイモジュールの各々において、前記フレームの部分を表示することを更に含む、
請求項8~13の何れかの方法。
【請求項15】
システムであって、
ディスプレイウォールを含む複数の可変リフレッシュレート(VRR)ディスプレイモジュールであって、各ディスプレイモジュールは、前記ディスプレイウォールのためのフレームの部分を表示するように構成されている、複数のVRRディスプレイモジュールと、
複数のビデオ処理ユニット(VPU)であって、各VPUは、前記VRRディスプレイモジュールのうち1つ以上において表示するために前記フレームの1つ以上の部分を生成するように構成されており、前記複数のVPUは、ネットワークメッセージを介して前記複数のVPUに送信されるマスタタイミング信号に基づいて、前記複数のVRRディスプレイモジュールのリフレッシュ周波数及び位相を動的に調整する、複数のVPUと、を備える、
システム。
【請求項16】
前記複数のVPUは、前記ディスプレイウォールにわたる前記フレームの表示を前記マスタタイミング信号と同期させるように、各VRRディスプレイモジュールの垂直ブランキング間隔を調整する、
請求項15のシステム。
【請求項17】
少なくとも1つのプロセッサを操作して、前記VPUのうち何れかによって生成されたクロック信号と、前記システムにおいて実行されているアプリケーションと、外部同期信号と、のうち何れかを前記マスタタイミング信号として選択するように構成されたソフトウェアアプリケーションを更に備える、
請求項15又は16のシステム。
【請求項18】
前記マスタタイミング信号のためのコントローラを更に備え、
前記コントローラは、
前記フレームの部分を生成することが完了したという指標を前記VPUの各々から受信することと、
前記指標を受信したことに応じて、vsyncコマンドを前記VRRディスプレイモジュールの各々に送信するための信号を前記VPUの各々に送信することと、
を行うように構成されている、
請求項15~17の何れかのシステム。
【請求項19】
前記複数のVPUは、前記信号を受信したことに応じて、前記vsyncコマンドを前記VRRディスプレイモジュールに送信するように構成されている、
請求項18のシステム。
【請求項20】
ソフトウェアアプリケーションを更に備え、
前記ソフトウェアアプリケーションは、
少なくとも1つのプロセッサを操作して、外部同期信号を前記マスタタイミング信号として選択することと、
前記VPUの各々に現在提示信号を送信することと、
を行うように構成されており、
前記VRRディスプレイモジュールは、前記VPUの各々が、前記ソフトウェアアプリケーションから前記現在提示信号を受信したことに応じて、前記フレームの部分を表示するように構成されている、
請求項15のシステム。
【発明の詳細な説明】
【背景技術】
【0001】
ディスプレイウォールは、広告並びにテレビ及び映画の製作に一般的に使用されている。ディスプレイウォールは、(しばしば「ディスプレイパネル」とも呼ばれる)ディスプレイモジュールのアレイを含み、ディスプレイモジュールの各々はフレームの部分を表示し、それにより、ディスプレイモジュールのアレイは、完全なフレームを一緒に表示し、任意の単一のディスプレイパネルよりも大きい表示領域を生成する。ディスプレイモジュールの各々にわたってフレームの表示を同期させるために、ディスプレイウォールのディスプレイモジュールは、典型的には、互いに接続され、同軸ケーブルを介してディスプレイモジュールのための共通タイムベースを生成する外部基準(ハウス同期(house sync))信号に接続される。加えて、ディスプレイモジュールの各々は、ハウス同期信号を受信し、固定リフレッシュレートディスプレイモジュールを駆動する各ビデオ処理ユニットにおけるピクセルクロック生成を同期させるハウス同期受信機を含む。ディスプレイモジュールが同期を失うと、動き又は画像ティアリングを伴う視覚的問題がしばしば生じる。
【0002】
本開示は、添付の図面を参照することによってより良好に理解され、その数々の特徴及び利点が当業者に明らかになり得る。異なる図面における同じ符号の使用は、類似又は同一のアイテムを示す。
【図面の簡単な説明】
【0003】
【
図1】いくつかの実施形態による、ディスプレイウォールの複数の可変リフレッシュレートディスプレイモジュールにおいてビデオのフレームの表示を動的に同期させる複数のビデオ処理ユニットを含む処理システムのブロック図である。
【
図2】いくつかの実施形態による、動的に同期された可変リフレッシュレート表示サイクルのブロック図である。
【
図3】いくつかの実施形態による、ビデオ処理ユニットのタイミング発生器信号に基づいて、ディスプレイウォールの複数の可変リフレッシュレートディスプレイモジュールにおいてフレームの表示を動的に同期させるための方法を示すフロー図である。
【
図4】いくつかの実施形態による、外部同期信号に基づいて、ディスプレイウォールの複数の可変リフレッシュレートディスプレイモジュールにおいてフレームの表示を動的に同期させるための方法を示すフロー図である。
【発明を実施するための形態】
【0004】
図1~
図4は、選択されたマスタタイミング信号に基づいて、ネットワークプロトコルを介してディスプレイモジュールのリフレッシュレートの周波数及び位相を動的に調整することによって、ディスプレイウォールの可変リフレッシュレート(variable refresh rate、VRR)ディスプレイモジュールのアレイにおいてビデオのフレームの表示を同期させるためのシステム及び技術を示している。各VRRディスプレイモジュールは、各VRRディスプレイモジュールにおいて表示するためにフレームの部分をレンダリングするか又は他の方法で取得するビデオ処理ユニット(video processing unit、VPU)によって駆動される。いくつかの実施形態では、単一のVPUが、複数のVRRディスプレイモジュールを駆動し、複数のVRRディスプレイモジュールの各々において表示するためにフレームの部分を生成する。より多数のVRRディスプレイモジュールを組み込んだより大きいディスプレイウォールの場合、複数のVPUの各々が複数のVRRディスプレイモジュールを駆動し、各VPUは、複数のVRRディスプレイモジュールの各々において表示するためにフレームの部分をレンダリングする。例えば、9つのVRRディスプレイモジュールを含むディスプレイウォールを有する処理システムは、2つのVPUを含むことができ、一方は4つのVPUを駆動し、他方は残りの5つのVPUを駆動する。各VRRディスプレイモジュールは、アレイのVRRディスプレイモジュールが全フレームを一緒に表示するように、フレームの部分を表示する。レンダリングベースのコンテキストが一例として使用されるが、本明細書における「レンダリング」への言及は、別段の記載がない限り、復号を介して等のように、表示されるフレームの部分を取得又は生成する任意の他の方法を指すことができる。
【0005】
処理システムは、マスタタイミング信号を選択し、マスタタイミング信号をVPUに送信し、VPUは、ディスプレイウォールのVRRディスプレイモジュールにおいて表示するためにフレームの部分をレンダリングする。本明細書で使用される場合、「フレームの部分」という用語は、対応するVRRディスプレイモジュールにおいて表示される画像を指し、そのため、それぞれの画像のディスプレイウォールの各VRRディスプレイモジュールによる表示は、ディスプレイウォールにフレーム全体を表示させる。したがって、9つのVRRディスプレイモジュールを含むディスプレイウォールの場合、フレームの各部分は、フレームの1/9の画像である。いくつかの実施形態では、処理システムは、VPUのうち1つのタイミング発生器信号をマスタタイミング信号として選択する。他の実施形態では、処理システムは、処理システムにおいて実行されているプロセス、オーディオ基準クロック若しくは他のシステムクロック、又は、ネットワーク時間ベース(「ハウス同期」)等の外部同期信号をマスタタイミング信号として選択する。各VPUは、マスタタイミング信号に基づいて各フレームに対するVRRディスプレイモジュールのリフレッシュレート及びタイミングを調整することによってフレームの部分をレンダリングするVRRディスプレイモジュールの周波数及び位相を調整する。例えば、いくつかの実施形態では、VPUは、マスタタイミング信号に基づいてフレームの部分の表示を同期させるように、VRRディスプレイモジュールの垂直ブランキング間隔を調整する。
【0006】
各VPUは、各VRRディスプレイモジュールが表示するフレームの部分をレンダリングする。各VPUがフレームのその部分のレンダリングを完了すると、各VPUは、レンダリングが完了したという指標を、マスタタイミング信号のためのコントローラに、又は、いくつかの実施形態では、処理システムにおいて実行されているアプリケーションに送信する。指標を受信したことに応じて、コントローラ又はアプリケーションは、「フリップ(flip)」又は「現在提示(present now)」コマンド等の信号をVPUの各々に送信する。次に、VPUは、垂直同期(vertical synchronization、vsync)コマンドをVRRディスプレイモジュールに発行し、垂直ブランキング期間からの次の終了及び表示サイクルの開始を示す。
【0007】
選択されたマスタタイミング信号に基づいてディスプレイウォールのVRRディスプレイモジュールの各々の各垂直ブランキング期間の終了のタイミングを調整することによって、処理システムは、ディスプレイモジュールを互いに接続したり、同軸ケーブルを介してハウス同期等の外部基準信号に接続したりする必要なく、ソフトウェア及びネットワークメッセージを介してVRRディスプレイモジュールのリフレッシュレートを同期させる。加えて、処理システムは、各VRRディスプレイモジュールにおけるハウス同期受信機を必要とせずに、VRRディスプレイモジュールのリフレッシュレートを同期させ、ディスプレイウォールシステムのコスト及び複雑さを低減する。
【0008】
本明細書で使用される場合、「同期される」は、2つ以上のVRRディスプレイモジュールの表示サイクルにおける特定の時点の、指定された時間量(数個の表示ライン期間内等の誤差マージン)内の相対的な位置合わせを指す。例えば、いくつかの実施形態では、2つ以上のVRRディスプレイモジュールは、それぞれの垂直ブランキング期間の開始等のそれぞれの表示サイクルにおける他の時点が互いの指定された時間量内に開始されない場合であっても、また、VRRディスプレイモジュールのうち1つについて1つおきの表示サイクル等の他の表示サイクルが互いの指定された時間内に開始されない場合であっても、互いの指定された時間量内に垂直アクティブ期間を開始する場合に「同期されている」とみなされる。
【0009】
図1は、いくつかの実施形態による、ディスプレイウォール140の複数の可変リフレッシュレート(VRR)ディスプレイモジュール141(図示したVRRディスプレイモジュール141-1、141-2、141-3、141-4、141-5、141-6、141-7、141-8、141-9等)においてビデオのフレームの表示を動的に同期させる複数のビデオ処理ユニット(VPU)105(図示したVPU105-1、105-2等)を含む処理システム100を示す。処理システム100は、概して、ソフトウェアアプリケーション155(アプリケーション155と呼ばれる)等の命令セット(例えばコンピュータプログラム)を実行して、電子デバイスのための指定されたタスクを実行するように構成されている。そのようなタスクの例は、電子デバイスの動作のアスペクトを制御すること、ユーザに情報を表示して、特定のユーザエクスペリエンスを提供すること、他の電子デバイスと通信すること等を含む。したがって、異なる実施形態では、処理システム100は、デスクトップコンピュータ、ラップトップコンピュータ、サーバ、ゲームコンソール等の多数のタイプの電子デバイスのうち何れかで採用されている。処理システム100は、
図1に示すよりも多い又は少ない構成要素を含み得ることを理解されたい。例えば、処理システム100は、1つ以上のVPU、1つ以上の入力インターフェース、不揮発性ストレージ、1つ以上の出力インターフェース、ネットワークインターフェース、及び、より多い又はより少ないVRRディスプレイモジュール又はディスプレイインターフェースを含み得る。
【0010】
命令セットの実行をサポートするために、VPU105-1、105-2の各々は、少なくとも1つのメモリ(図示せず)と、少なくとも1つのタイミング発生器120-1、120-2と、少なくとも1つのタイミング制御モジュール125-1、125-2と、中央処理ユニット(central processing unit、CPU)110-1、110-2等の少なくとも1つのプロセッサと、少なくとも1つのディスプレイインターフェース(interface、IF)130-1、130-2と、を含む。インターフェース130-1、130-2は、HDMI(登録商標)インターフェース、DisplayPortインターフェース、エンベデッドDisplayPort(embedded DisplayPort、eDP)インターフェース等の有線又は無線の相互接続インターフェースを含む。
【0011】
いくつかの実施形態では、各プロセッサは、命令をフェッチし、命令を対応する演算にデコードし、演算を1つ以上の実行ユニットにディスパッチし、演算を実行し、演算を終了させるための1つ以上の命令パイプラインを含む。命令を実行する過程で、プロセッサは、情報の視覚的表示に関連付けられるグラフィックス演算及び他の演算を生成する。これらの演算に基づいて、プロセッサは、グラフィックス処理ユニット(graphics processing unit、GPU)115-1、115-2等の1つ以上の並列プロセッサにコマンド及びデータを提供する。本明細書で説明される技術は、様々な実施形態では、様々な並列プロセッサ(例えば、ベクトルプロセッサ、グラフィックス処理ユニット(GPU)、汎用GPU(general-purpose GPU、GPGPU)、非スカラプロセッサ、高並列プロセッサ、人工知能(artificial intelligence、AI)プロセッサ、推論エンジン、機械学習プロセッサ、他のマルチスレッド処理ユニット等)の何れかにおいて利用される。
図1は、いくつかの実施形態による、並列プロセッサ、特に、GPU115-1、115-2の一例を示す。
【0012】
GPU115-1、115-2は、概して、CPU110-1、110-2からグラフィックス演算及び他の表示演算に関連付けられたコマンド及びデータを受信するように構成されている。受信したコマンドに基づいて、GPU115-1、115-2は、表示するフレームを生成するための演算を実行する。演算の例としては、ベクトル演算、描画演算等が挙げられる。GPU115-1、115-2がこれらの演算に基づいてフレームを生成することができるレートは、GPU115-1、115-2のフレーム生成レート又は単にフレームレートと呼ばれる。GPU115-1、115-2のフレームレートは、フレームのセットを生成するためにGPU115-1、115-2によって実行される演算の複雑さに部分的に基づいて、時間とともに変化することが理解されよう。例えば、(例えば、比較的多数の移動オブジェクトを描画する結果として)比較的多数の演算を必要とするフレームのセットは、より低いフレームレートをもたらす可能性が高く、一方、比較的少数の演算を必要とするフレームのセットは、より高いフレームレートを可能にする可能性が高い。
【0013】
いくつかの実施形態では、GPU115-1、115-2は、GPU115-1、115-2が、あるフレームを1つのバッファ(バックバッファと呼ばれる)に書き込み、一方、現在のフレームが別のバッファ(フロントバッファと呼ばれる)からスキャンアウトされるように、フレームのそれぞれの部分をVRRディスプレイモジュール141に出力するために複数のバッファリングを採用する。新しいフレームが表示の準備ができると、GPUは、バックバッファであったバッファが今度はフロントバッファ(すなわち、スキャンアウトバッファ)となり、以前にスキャンアウトバッファであったバッファが今度はバックバッファ(すなわち、GPUが書き込むバッファ)となるように、スキャンアウトされているバッファをディスプレイに「フリップ」する。
【0014】
クロック発生器120-1、120-2は、タイミング制御モジュール125-1、125-2とともに1つ以上のクロック信号を生成して、VPU105-1、105-2における論理演算を同期させる。タイミング制御モジュール125-1、125-2は、クロック発生器120-1、120-2によって生成されるクロック信号の周波数を設定する。クロック発生器120-1、120-2は、タイミング制御モジュール125-1、125-2からの信号のセットと、水晶発振器(図示せず)からの基準クロック信号(図示せず)に基づいて位相ロックループ(phase locked loop、PLL)によって生成されたベースクロック信号のセットと、を受信するように構成される。クロック発生器120-1、120-2は、ベース信号を組み合わせて、タイミング制御モジュール125-1、125-2から受信された信号によって示される周波数のクロック信号を生成する。クロック発生器120-1、120-2及びタイミング制御モジュール125-1、125-2は、ハードコードされたロジック又はプログラム可能なロジック、ソフトウェア/ファームウェア命令を実行する1つ以上のプロセッサ、あるいは、これらの任意の組み合わせとして実装される。
【0015】
ディスプレイウォール140は、可変リフレッシュレート(VRR)ディスプレイモジュール141-1、141-2、141-3、141-4、141-5、141-6、141-7、141-8、141-9(まとめてVRRディスプレイモジュール141と呼ばれる)のアレイを含む。各VRRディスプレイモジュール141は、VPU105-1、105-2のうち何れかからレンダリングされたフレームの部分を受信する。例えば、いくつかの実施形態では、VPU105-1は、レンダリングされたフレームの部分を生成し、1つの部分をVRRディスプレイモジュール141-1、141-2、141-3、141-4の各々に出力し、一方、VPU105-2は、レンダリングされたフレームの部分を生成し、1つの部分をVRRディスプレイモジュール141-5、141-6、141-7、141-8、141-9の各々に出力し、それにより、VRRディスプレイモジュール141の各々がフレームのその受信されたレンダリングされた部分を表示する場合に、フレーム全体(画像)がディスプレイウォール140のVRRディスプレイモジュール141の全てにわたって表示される。各VRRディスプレイモジュール141は、ディスプレイパネルを含み、ディスプレイパネルのリフレッシュレートが可変であるように、ディスプレイパネルのリフレッシュを、VRRディスプレイモジュール141がレンダリングされたフレームをそれから受信するGPU115-1、115-2におけるフレームの生成と同期させる。例えば、ディスプレイパネルの垂直ブランキング間隔を調整することによって、GPU115-1、115-2は、新しいフレームが完全に書き込まれ、ディスプレイウォール140の全てのディスプレイパネルにおいて表示の準備ができた後にのみ、ディスプレイパネルがリフレッシュされることを確実にすることができる。
【0016】
一般的な動作概要として、CPU110-1、110-2及びGPU115-1、115-2は、一連のディスプレイフレーム及び対応するメタデータを含むビデオストリームをレンダリングし、このビデオストリームを、ディスプレイインターフェース130-1、130-2及び相互接続135-1、135-2を介してVRRディスプレイモジュール141に送信する。ディスプレイモジュール141の各々において、ディスプレイコントローラ(図示せず)は、各ディスプレイフレーム及び対応するメタデータを順に受信し、対応するフレーム期間中にVRRディスプレイモジュール141のディスプレイパネルにおいて順次表示するようにディスプレイフレームを処理する。当業者によって理解されるように、VRRディスプレイモジュール141は、概して、VRRディスプレイモジュール141が対応するGPU115-1、115-2から受信するピクセルデータを使用してディスプレイパネルをリフレッシュすることによって、対応するGPU115-1、115-2によって生成された最新のフレームを表示するように構成されている。
【0017】
GPU115-1、115-2によって生成される各フレームは、垂直アクティブ領域と、垂直ブランキング領域と、を含む。垂直アクティブ領域は、VRRディスプレイモジュール141のディスプレイパネルに表示される画像を構成するピクセルデータを含む。垂直ブランキング領域は、オーディオパケット等のメタデータ、又は、VRRディスプレイモジュール141がピクセルデータをどのように解釈すべきかを示す情報を含む。ディスプレイコントローラが(垂直ブランキング間隔と呼ばれる)垂直ブランキング領域を読み取る期間の間、ディスプレイパネルは、前の垂直アクティブ領域においてGPU115-1、115-2によって最後に送信された画像を表示する。VRRディスプレイモジュール141は、VPU105-1、105-2によってプログラム可能な可変長のブランキング間隔を有するように構成される。したがって、いくつかの実施形態では、VPU105-1、105-2は、ブランキング間隔について異なる長さをプログラムすることによって、VRRディスプレイモジュール141のリフレッシュレートを調整する。
【0018】
ディスプレイウォール140のVRRディスプレイモジュール141の各々によるフレームの部分の表示の同期を容易にするために、処理システム100は、ソフトウェアプロセスを使用して、各VRRディスプレイモジュール141のためのハウス同期受信機又はVPU105-1、105-2を相互接続するための同軸ケーブル等の追加のハードウェアなしに、VRRディスプレイモジュール141の全てを表示ライン期間の閾値数内に周波数及び位相整合させる。処理システムは、VPU105-1、105-2用のマスタタイミング信号を選択するためのマスタクロックセレクタ150を含む。マスタクロックセレクタ150は、ハードコードされたロジック又はプログラム可能なロジック、ソフトウェア/ファームウェア命令を実行する1つ以上のプロセッサ、あるいは、これらの任意の組み合わせとして実装される。いくつかの実施形態では、マスタクロックセレクタ150は、アプリケーション155に組み込まれる。いくつかの実施形態では、マスタクロックセレクタ150は、クロック発生器120-1、120-2のうち何れかによって生成されたクロック信号をマスタタイミング信号として選択する。他の実施形態では、マスタクロックセレクタ150は、ハウス同期受信機又は処理システム100において実行されているプロセス(図示せず)又はネットワーク時間ベース(図示せず)等の外部同期信号をマスタタイミング信号として選択する。
【0019】
マスタクロックセレクタ150のためのマスタクロックコントローラ145は、VPU105-1、105-2がマスタタイミング信号を使用してVPU105-1、105-2における論理演算を同期させるべきであるという指標とともに、マスタタイミング信号をVPU105-1、105-2に送信する。マスタクロックコントローラ145は、ハードコードされたロジック又はプログラム可能なロジック、ソフトウェア/ファームウェア命令を実行する1つ以上のプロセッサ、あるいは、これらの任意の組み合わせとして実装される。いくつかの実施形態では、マスタクロックコントローラ145は、アプリケーション155内の命令セットとして組み込まれる。クロック発生器120-1、120-2のうち何れかによって生成されたクロック信号がマスタクロック信号として選択されるいくつかの実施形態では、マスタクロックコントローラは、クロック信号が選択されたクロック発生器120-1、120-2のためのタイミング制御125-1、125-2である。各VPU105-1、105-2は、マスタタイミング信号に基づいてVRRディスプレイモジュール141のリフレッシュレート及びタイミングを調整することによって、例えば、マスタタイミング信号に基づいてフレームの部分の表示を同期させるようにVRRディスプレイモジュール141の垂直ブランキング間隔を調整することによってフレームの部分をレンダリングするVRRディスプレイモジュール141の周波数及び位相を調整する。
【0020】
例示すると、動作中、各VPU105-1、105-2は、VRRディスプレイモジュール141のうち対応するものが表示すべきフレームの部分をレンダリングする。VPU105-1、105-2の各々がフレームのその部分のレンダリングを完了すると、VPU105-1、105-2の各々は、レンダリングが完了したという指標を、マスタタイミング信号のためのマスタクロックコントローラ145に送信する。マスタクロックコントローラ145(又は125-1、125-2)が指標を受信したことに応じて、アプリケーション155は、フリップ信号160をVPU105-1、105-2の各々に送信して、垂直同期(vsync)コマンドをVRRディスプレイモジュール141に発行し、垂直ブランキング期間を終了し、GPU115-1、115-2におけるバッファをフリップし、フレームのレンダリングされた部分を表示するための表示サイクルの開始を示す。いくつかの実施形態では、フリップ信号160は、VPU105-1、105-2のうち最後のVPUがフレームのその部分のレンダリングを完了したことを示す場合に、ハードウェアロジックでフリップ信号160を生成すること等によって、VPU105-1、105-2のうち1つ以上によって生成される。
【0021】
他の実施形態では、フリップ信号160は、タイミングコントローラ125-1、125-2、又は、オペレーティングシステム(図示せず)等の別のソースによって生成される。フリップ信号160を受信したことに応じて、VPU105-1、105-2の各々は、インターフェース130-1、130-2及び相互接続135-1、135-2を介して、それぞれのVRRディスプレイモジュール141にvsyncコマンド165-1、165-2を発行する。VPU105-1、105-2によるvsyncコマンド165-1、165-2の同時(又はほぼ同時)発行は、マスタタイミング信号に基づいて、VRRディスプレイモジュール141の各々の表示サイクルの周波数及び位相を、人間の目には知覚できない差である数個の表示ライン期間内で効果的に同期させる。
【0022】
図2は、いくつかの実施形態による、動的に同期された可変リフレッシュレート表示サイクルのブロック図である。垂直ブランキング期間は、vfront(Vertical Front Porch)、vsync(Vertical Sync)及びvback(Vertical Back Porch)の3つの位相を含む。垂直リフレッシュレートは、vfrontの持続時間を変化させるが、vsync及びvbackは典型的には不変のままである。vsyncは、可変長のvfrontを終了させるVPUにわたる同期イベントである。vfrontが終了した後の固定時間に、垂直アクティブ期間が全てのVPU上で始まる。
【0023】
例示すると、vsync201のアサートから固定時間後に発生する表示サイクル1 200の開始時に、垂直アクティブ期間202-1、202-2が始まり、その間に、表示サイクル1 200中に表示されるフレームの部分のピクセルデータが、行ごとにVPU105-1、105-2の各々のフレームバッファからスキャンアウトされ、それぞれのVRRディスプレイモジュール141に送信され、その後、各VRRディスプレイモジュール141は、現在スキャンインされているフレームの部分の行のピクセルデータに基づいて、例えば液晶(liquid crystal、LC)、発光ダイオード(light emitting diode、LED)又は有機LED(organic LED、OLED)のマトリックスからなるピクセルマトリックスの対応する行を構成する。VRRディスプレイモジュール141は、各ピクセルにおいて、そのピクセルの位置に関連付けられたピクセルデータに従って変調される表示光の放出を通じてフレームの部分の表示を引き起こす。
【0024】
フレームの部分の全ての行が表示された後、垂直ブランキング期間204-1、204-2が発生する。VRRディスプレイモジュール141は、ブランキング期間中に新たなビデオ情報をスキャンしない。GPU115-1、115-2によって生成される各フレーム部分は、垂直アクティブ領域と、垂直ブランキング領域と、を含む。垂直アクティブ領域は、ディスプレイパネルに表示される画像を構成するピクセルデータを含む。垂直ブランキング領域は、オーディオパケット等のメタデータ、又は、VRRディスプレイモジュール141がピクセルデータをどのように解釈すべきかを示す情報を含む。各VRRディスプレイモジュール141のディスプレイコントローラが(垂直ブランキング間隔又は垂直ブランキング期間と呼ばれる)垂直ブランキング領域を読み取る期間の間、ディスプレイパネルは、前の垂直アクティブ領域においてGPU115-1、115-2によって最後に送信された画像を表示する。VRRディスプレイモジュール141の各々は、GPU115-1、115-2によってプログラム可能な可変長のブランキング間隔を有するように構成される。
【0025】
vsync205のアサートは、垂直ブランキング期間204-1、204-2のvfront位相の終了をシグナリングし、その固定期間後に表示サイクル2 206が開始する。垂直アクティブ期間208-1、208-2が始まり、その間に、表示サイクル2 306中に表示されるフレームの部分のピクセルデータが、行ごとにVPU105-1、105-2のフレームバッファからスキャンアウトされ、それぞれのVRRディスプレイモジュール141に送信され、その後、各VRRディスプレイモジュール141は、現在スキャンインされているフレームの部分の行のピクセルデータに基づいて、ピクセルマトリックスの対応する行を構成する。VRRディスプレイモジュール141は、各ピクセルにおいて、そのピクセルの位置に関連付けられたピクセルデータに従って変調される表示光の放出を通じてフレームの部分の表示を引き起こす。フレームの部分の全ての行が表示された後、垂直ブランキング期間210-1、210-2が発生する。
【0026】
vsync211は、垂直ブランキング期間210-1、210-2のvfront位相の終了をシグナリングし、その固定期間後に表示サイクル3 212が開始する。垂直アクティブ期間214-1、214-2が始まり、その間に、表示サイクル3 212中に表示されるフレームの部分のピクセルデータが、行ごとにVPU105-1、105-2のフレームバッファからスキャンアウトされ、それぞれのVRRディスプレイモジュール141に送信され、その後、各VRRディスプレイモジュール141は、現在スキャンインされているフレームの部分の行のピクセルデータに基づいて、ピクセルマトリックスの対応する行を構成する。VRRディスプレイモジュール141は、各ピクセルにおいて、そのピクセルの位置に関連付けられたピクセルデータに従って変調される表示光の放出を通じてフレームの部分の表示を引き起こす。フレームの部分の全ての行が表示された後、垂直ブランキング期間216-1、216-2が発生する。
【0027】
図2に示されるように、表示サイクル200、206、212は、垂直ブランキング期間204-1及び204-2、210-1及び210-2、並びに、216-1及び216-2のそれぞれの持続時間を決定する、vsync201、205、211の同期されたアサーションに基づいて、VRRディスプレイモジュール141にわたって同期される。表示サイクルの各々に関連付けられた垂直ブランキング期間は、互いに異なる持続時間を有する。しかしながら、所定の表示サイクルに対するVRRディスプレイモジュール141の各々の垂直ブランキング期間は同期している。
【0028】
図3は、いくつかの実施形態による、ディスプレイウォールの複数の可変リフレッシュレートディスプレイモジュールにおいて表示するために複数のVPUによって生成されるフレームの表示を動的に同期させるための方法300を示すフロー図である。方法300は、
図1の処理システム100等の処理システムにおいて実装される。いくつかの実施形態では、方法300は、コンピュータ可読記憶媒体によって記憶された1つ以上の命令に応じて1つ以上のプロセッサによって開始される。
【0029】
ブロック302において、処理システム100は、各フレームについて最も遅いVPU105-1、105-2のフレームレートに基づいてVPU105-1、105-2の論理演算を同期させるためにマスタタイミング信号を生成する可変リフレッシュレートアプリケーション155を開始する。例えば、いくつかの実施形態では、アプリケーション155は、各フレームのその部分をレンダリングするのに最も長い時間がかかるVPU105-1、105-2のレートでフレームを表示するゲームである。何れのVPU105-1、105-2が最も遅いかは、あるフレームから次のフレームへと変化し得る。例えば、より多くのレンダリング時間を要する複雑なオブジェクトがフレームの異なるエリアに移動し、したがって異なるVPUに移動する場合、複雑なオブジェクトをレンダリングするVPU105-1、105-2は、フレームごとに変化し得る。
【0030】
ブロック304において、VRRディスプレイモジュール141は、垂直ブランキング期間に入る。ブロック306において、アプリケーション155は、GPU115-1、115-2の全てが、現在のフレームのそれぞれの部分のレンダリングが完了したことを示すのを待つ。例えば、いくつかの実施形態では、アプリケーション155は、GPU115-1、115-2の各々から、現在のフレームのそれぞれの部分のレンダリングが完了したという指標を受信したかどうかを判定するために周期的にチェックする。
【0031】
アプリケーション155が、現在のフレームのそれぞれの部分のレンダリングが完了したことを全てのVPUが示したと判定すると、方法フローはブロック308に続く。ブロック308において、アプリケーション155は、マスタタイミング信号として機能するネットワークメッセージを介して、VPU105-1、105-2に「現在提示(present now)」又は「フリップ(flip)」信号を発行する。ブロック310において、「現在提示」又は「フリップ」信号を受信したことに応じて、VPU105-1、105-2の各々は、それらのそれぞれのGPU115-1、115-2がフレームの部分をレンダリングしたVRRディスプレイモジュール141にvsync信号を送信し、垂直ブランキング期間のvfront位相の終了をシグナリングする。vsync信号を受信した後の固定時間において、VRRディスプレイモジュール141は、垂直ブランク期間を終了する。ブロック312において、VPU105-1、105-2は、次のアクティブフレームのそれぞれの部分を対応するVRRディスプレイモジュール141に送信する。次に、方法フローはブロック304に戻り、VRRディスプレイモジュール141は垂直ブランキング期間に入る。
【0032】
図4は、いくつかの実施形態による、ディスプレイウォールの複数の可変リフレッシュレートディスプレイモジュールにおいて表示するために複数のGPUによって生成されるフレームの表示を動的に同期させるための方法400を示すフロー図である。方法400は、
図1の処理システム100等の処理システムにおいて実装される。いくつかの実施形態では、方法400は、コンピュータ可読記憶媒体によって記憶された1つ以上の命令に応じて1つ以上のプロセッサによって開始される。
【0033】
ブロック402において、マスタクロックセレクタ150は、外部同期信号をマスタタイミング信号として選択して、VPU105-1、105-2の論理演算を同期させる。いくつかの実施形態では、外部同期信号は、処理システム100又はネットワーク時間ベースで実行されているビデオカメラ又はプロセスから導出される。ブロック404において、マスタクロックセレクタ150のためのマスタクロックコントローラ145は、VPU105-1、105-2がマスタタイミング信号を使用してVPU105-1、105-2における論理演算を同期させるべきであるという指標とともに、ネットワークメッセージを介してマスタタイミング信号をVPU105-1、105-2に送信する。ブロック406において、VRRディスプレイモジュール141は、垂直ブランキング期間に入る。ブロック408において、マスタクロックコントローラ145(又は、いくつかの実施形態では、アプリケーション155)は、外部同期信号が、VRRディスプレイモジュール141が現在フリップすべきであることを示したかどうかを判定する。ブロック408において、マスタクロックコントローラ145が、外部同期信号が、VRRディスプレイモジュール141が現在フリップすべきであることを示していないと判定した場合、方法フローはブロック408に戻って継続する。
【0034】
ブロック408において、マスタクロックコントローラ145が、外部同期信号が、VRRディスプレイモジュール141が現在フリップすべきであることを示していると判定した場合、方法フローはブロック510に続く。ブロック410において、アプリケーション155は、VPU105-1、105-2に「現在提示」又は「フリップ」信号を発行する。ブロック412において、「現在提示」又は「フリップ」信号を受信したことに応じて、VPU105-1、105-2の各々は、それらのそれぞれのGPU115-1、115-2がフレームの部分をレンダリングしたVRRディスプレイモジュール141にvsync信号を送信し、VRRディスプレイモジュール141は垂直ブランキング期間を終了する。ブロック414において、VPU105-1、105-2は、次のアクティブフレームのそれぞれの部分を対応するVRRディスプレイモジュール141に送信する。次に、方法フローはブロック506に戻り、VRRディスプレイモジュール141は垂直ブランキング期間に入る。
【0035】
いくつかの実施形態では、上記の装置及び技術は、
図1~
図4を参照して上述した処理システム100等の1つ以上の集積回路(integrated circuit、IC)デバイス(集積回路パッケージ又はマイクロチップとも称される)を含むシステムに実装される。電子設計自動化(electronic design automation、EDA)及びコンピュータ支援設計(computer aided design、CAD)ソフトウェアツールは、これらのICデバイスの設計及び製造に使用することができる。これらの設計ツールは、典型的には、1つ以上のソフトウェアプログラムとして表される。1つ以上のソフトウェアプログラムは、回路を製造するための製造システムを設計するか又は適応させるためのプロセスの少なくとも一部を実行するために、1つ以上のICデバイスの回路を表すコードで動作するようにコンピュータシステムを操作するための、コンピュータシステムによって実行可能なコードを含む。このコードは、命令、データ、又は、命令及びデータの組み合わせを含み得る。設計ツール又は製造ツールを表すソフトウェア命令は、典型的には、コンピューティングシステムにアクセス可能なコンピュータ可読記憶媒体に記憶される。同様に、ICデバイスの設計又は製造の1つ以上の段階を表すコードは、同じコンピュータ可読記憶媒体又は異なるコンピュータ可読記憶媒体に記憶され、そこからアクセスされる。
【0036】
コンピュータ可読記憶媒体は、命令及び/又はデータをコンピュータシステムに提供するために、使用中にコンピュータシステムによってアクセス可能な任意の非一時的な記憶媒体又は非一時的な記憶媒体の組み合わせを含む。このような記憶媒体には、限定されないが、光学媒体(例えば、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク)、磁気媒体(例えば、フロッピー(登録商標)ディスク、磁気テープ、磁気ハードドライブ)、揮発性メモリ(例えば、ランダムアクセスメモリ(RAM)若しくはキャッシュ)、不揮発性メモリ(例えば、読取専用メモリ(ROM)若しくはフラッシュメモリ)、又は、微小電気機械システム(MEMS)ベースの記憶媒体が含まれ得る。コンピュータ可読記憶媒体(例えば、システムRAM又はROM)はコンピューティングシステムに内蔵されてもよいし、コンピュータ可読記憶媒体(例えば、磁気ハードドライブ)はコンピューティングシステムに固定的に取り付けられてもよいし、コンピュータ可読記憶媒体(例えば、光学ディスク又はユニバーサルシリアルバス(USB)ベースのフラッシュメモリ)はコンピューティングシステムに着脱可能に取り付けられてもよいし、コンピュータ可読記憶媒体(例えば、ネットワークアクセス可能ストレージ(NAS))は有線又は無線ネットワークを介してコンピュータシステムに結合されてもよい。
【0037】
いくつかの実施形態では、上述した技術の特定の態様は、ソフトウェアを実行する処理システムの1つ以上のプロセッサによって実装される。ソフトウェアは、非一時的なコンピュータ可読記憶媒体に記憶されるか、別の方法で明確に具体化された実行可能命令の1つ以上のセットを含む。ソフトウェアは、命令及び特定のデータを含んでもよく、当該命令及び特定のデータは、1つ以上のプロセッサによって実行されると、上述した技術の1つ以上の態様を実行するように1つ以上のプロセッサを操作する。非一時的なコンピュータ可読記憶媒体は、例えば、磁気又は光ディスク記憶デバイス、フラッシュメモリ等のソリッドステート記憶デバイス、キャッシュ、ランダムアクセスメモリ(RAM)、又は、他の不揮発性メモリデバイス(単数又は複数)等を含み得る。非一時的なコンピュータ可読記憶媒体に記憶された実行可能命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、又は、1つ以上のプロセッサによって解釈され若しくは別の方法で実行可能な他の命令形式で実装可能である。
【0038】
上述したものに加えて、概要説明において説明した全てのアクティビティ又は要素が必要とされているわけではなく、特定のアクティビティ又はデバイスの一部が必要とされない場合があり、1つ以上のさらなるアクティビティが実行される場合があり、1つ以上のさらなる要素が含まれる場合があることに留意されたい。さらに、アクティビティが列挙された順序は、必ずしもそれらが実行される順序ではない。また、概念は、特定の実施形態を参照して説明された。しかしながら、当業者であれば、特許請求の範囲に記載されているような本発明の範囲から逸脱することなく、様々な変更及び変形を行うことができるのを理解するであろう。したがって、明細書及び図面は、限定的な意味ではなく例示的な意味で考慮されるべきであり、これらの変更形態の全ては、本発明の範囲内に含まれることが意図される。
【0039】
利益、他の利点及び問題に対する解決手段を、特定の実施形態に関して上述した。しかし、利益、利点、問題に対する解決手段、及び、何かしらの利益、利点若しくは解決手段が発生又は顕在化する可能性のある特徴は、何れか若しくは全ての請求項に重要な、必須の、又は、不可欠な特徴と解釈されない。さらに、開示された発明は、本明細書の教示の利益を有する当業者には明らかな方法であって、異なっているが同様の方法で修正され実施され得ることから、上述した特定の実施形態は例示にすぎない。添付の特許請求の範囲に記載されている以外に本明細書に示されている構成又は設計の詳細については限定がない。したがって、上述した特定の実施形態は、変更又は修正されてもよく、かかる変更形態の全ては、開示された発明の範囲内にあると考えられることが明らかである。したがって、ここで要求される保護は、添付の特許請求の範囲に記載されている。
【国際調査報告】