JP7198772B2 - マルチヘッドマウントディスプレイ仮想現実構成でのディスプレイペーシング - Google Patents

マルチヘッドマウントディスプレイ仮想現実構成でのディスプレイペーシング Download PDF

Info

Publication number
JP7198772B2
JP7198772B2 JP2019557580A JP2019557580A JP7198772B2 JP 7198772 B2 JP7198772 B2 JP 7198772B2 JP 2019557580 A JP2019557580 A JP 2019557580A JP 2019557580 A JP2019557580 A JP 2019557580A JP 7198772 B2 JP7198772 B2 JP 7198772B2
Authority
JP
Japan
Prior art keywords
displays
refresh
gpu
resources
offset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019557580A
Other languages
English (en)
Other versions
JP2020519929A5 (ja
JP2020519929A (ja
Inventor
リグール グエンナディ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ATI Technologies ULC
Original Assignee
ATI Technologies ULC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ATI Technologies ULC filed Critical ATI Technologies ULC
Publication of JP2020519929A publication Critical patent/JP2020519929A/ja
Publication of JP2020519929A5 publication Critical patent/JP2020519929A5/ja
Application granted granted Critical
Publication of JP7198772B2 publication Critical patent/JP7198772B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/64Imaging systems using optical elements for stabilisation of the lateral and angular position of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/001Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background
    • G09G3/002Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background to project the image of a two-dimensional display, such as an array of light emitting or modulating elements or a CRT
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0252Improving the response speed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/06Use of more than one graphics processor to process data before displaying to one or more screens
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/18Use of a frame buffer in a display terminal, inclusive of the display panel

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

(関連出願の相互参照)
本願は、2017年4月25日に出願された米国特許出願第15/496,972号の優先権を主張し、この全ての内容は、言及することによって本明細書に組み込まれる。
仮想現実(バーチャルリアリティ)(VR)システムでは、コンピュータが生成した仮想世界を着用者に示す照明付きスクリーンを備えたヘッドマウントディスプレイ(HMD)が利用される。HMDは、ユーザの頭が動く度にディスプレイを変更し、変更された風景をユーザに示す。ゲーム等のアプリケーションを実行する場合、VRコンピュータは、アプリケーションによって生成されたビデオフレームをレンダリングするだけでなく、ユーザの頭の動きも考慮する必要がある。VRコンピュータは、頭の動きの有無にかかわらず、画像が遅延して、ユーザが僅か1秒又は何分の1秒でも遅れて画像を見ることになるジャダーを回避するために、ほぼリアルタイムでフレームを処理しなければならない。ジャダーは、非常に不快で吐き気を催すことがある。
本発明の上述した及び他の利点は、以下の詳細な説明を読み、以下の図面を参照することによって明らかになる。
例示的なVRコンピューティングシステムの概略図である。 複数のVRディスプレイのリフレッシュサイクルの従来の例示的なタイミング図である。 例示的な変形例に関する複数のVRディスプレイのリフレッシュサイクルの例示的なタイミング図である。 別の例示的な変形例に関する複数のVRディスプレイのリフレッシュサイクルの例示的なタイミング図である。 図1のような概略図であるが、代替の例示的なVRコンピューティングシステムを示す図である。 選択されたリフレッシュオフセットを用いて又は用いることなく、1つ以上のVRディスプレイにフレームを配信するための例示的なプロセスフローを示すフローチャートである。 選択されたリフレッシュオフセット及び動的リフレッシュを用いて複数のVRディスプレイにフレームを配信するための例示的なプロセスフローを示すフローチャートである。
VRシステムは、優れたユーザエクスペリエンスを提供するために、ほぼリアルタイムで実行する能力に依存する。上記のように、単一のHMD駆動システムは、単純な状況を表す。複数のHMDがコンピュータシステムに接続されていると、複雑さが増す。従来のVR HMDは、通常、ディスプレイのリフレッシュレートに関連する固定タイムラインで動作する。垂直同期又はVsyncは、異なるコンテンツを有する2つのレンダリングされたフレームの一部がディスプレイに表示されるフレームティアリング(frame tearing)の問題を回避するために、バッファフリップ(buffer flipping)を制御する方法である。Vsyncが有効である場合、各バッファフリップは、各リフレッシュ後にのみ発生し得る。これにより、HMDリフレッシュレートでのフレームレンダリング速度が効果的に制限される。
一部のVRシステムベンダは、VR HMDでフレームが失われた場合の影響を軽減するために、非同期タイムワープ(ATW)と呼ばれる手法を導入している。ATWを使用するシステムは、最後のVR HMD位置がゲームに送信された後に発生した相対的な頭の動きに基づいて、ゲームエンジンからの入力無しにVR HMD上の画像をシフトする。これにより、より正確な画像がユーザに表示される。ATWはフレーム全体を移動し、ユーザの頭の回転に対する相対的な変化に基づいてのみフレームをシフトさせる。より最近開発されたものは、いわゆる非同期スペースワープ(ASW)である。ASWを搭載したシステムは、ゲームがリフレッシュレートよりも低いフレームレートで実行されている場合に、ゲームエンジンから「実際の」フレームの間に挿入する新たなフレームを生成することによって、シーン内のオブジェクト及び動きをシフトしようとする。
ATWは、Vsync間隔の前の部分に対して最小限のレイテンシで実行される。同様に、中央処理装置(CPU)及びグラフィックス処理装置(GPU)の両方で実行されるフレーム生成の他の部分は、HMDのVsyncに対してペース調整される。これは、単一のHMDを備えたシステムに適している。複数のHMDが接続されている場合、システム(CPUやGPU等)に十分な総処理能力がある場合であっても、複数のHMDに亘る重要なリアルタイムのリソース(例えば、ATWの計算等)の競合によって、信頼性の低い動作が発生する可能性がある。ジェンロック(gen lock)やフレームロック(frame lock)等のように、ディスプレイの処理と出力とを同期するための従来のソリューションが存在するが、複数のVRヘッドセットに必要な、予測可能な方法でディスプレイの動作をペース調整するソリューションは存在しない。
本発明の一態様によれば、ビデオフレームデータを複数のVRディスプレイに配信する方法が提供される。この方法は、複数のVRディスプレイのコンテンツを生成することと、複数のVRディスプレイのリアルタイム要件を有するリソースに対するニーズの競合を検知することと、を含む。リアルタイム要件を有するリソースに対するニーズの競合が検知された場合に、複数のVRディスプレイのリソースに対する競合するニーズ間の競合を避けるために、複数のVRディスプレイをリフレッシュするための選択されたリフレッシュオフセットが決定される。選択されたリフレッシュオフセットが適用され、コンテンツが複数のVRディスプレイに配信される。
この方法では、リソースは、レンダリング及び非同期タイムワープ要求のための計算を含む。
この方法では、複数のディスプレイが動的リフレッシュをサポートし、リアルタイム要件を有するリソースに対するニーズの競合が検知された場合に、複数のVRディスプレイをリフレッシュするための選択された動的リフレッシュレートを決定して、複数のVRによるリソースに対するニーズの競合を回避することをサポートし、選択されたリフレッシュオフセット及び動的リフレッシュレートを適用する。
この方法では、リソースは、レンダリング及び非同期タイムワープ要求のための計算を含む。
この方法では、コンテンツを生成することは、単一のGPUによって実行される。
この方法では、複数のVRディスプレイのコンテンツを生成することは、GPUを用いて、複数のVRディスプレイのうち1つのVRディスプレイのコンテンツを生成することと、別のGPUを用いて、複数のVRディスプレイのうち別のVRディスプレイのコンテンツを生成又は配信することと、を含む。
この方法では、GPUがマスタとして構成され、別のGPUがスレーブとして構成されることにより、マスタが、スレーブGPUによって生成又は配信されたフレームの選択されたリフレッシュオフセットを制御する。
本発明の別の態様によれば、ビデオフレームデータを複数のVRディスプレイに配信する方法が提供される。この方法は、コンピューティングデバイスで第1アプリケーションを実行して、複数のVRディスプレイのコンテンツを生成することと、第2アプリケーションを用いて、複数のVRディスプレイのリアルタイム要件を有するリソースに対するニーズの競合を検知することと、を含む。リアルタイム要件を有するリソースに対するニーズの競合が検知された場合に、複数のVRディスプレイのリソースに対するニーズ間の競合を回避するために、第2アプリケーションを用いて、複数のVRディスプレイをリフレッシュするための選択されたリフレッシュオフセットが決定される。選択されたリフレッシュオフセットが適用され、コンテンツが複数のVRディスプレイに配信される。
この方法では、リソースは、レンダリング及び非同期タイムワープ要求のための計算を含む。
この方法では、複数のディスプレイが動的リフレッシュをサポートする。また、この方法は、動きが検知された場合に、複数のVRディスプレイをリフレッシュするための選択された動的リフレッシュレートを決定して、動きに起因する、リソースに対する複数のVRディスプレイによるニーズの競合を回避することをサポートすることと、選択されたリフレッシュオフセット及び動的リフレッシュレートを適用することと、を含む。
この方法では、リソースは、レンダリング及び非同期タイムワープ要求のための計算を含む。
この方法では、アプリケーションが、単一のGPUによって実行される。
この方法では、複数のVRディスプレイのコンテンツを生成することは、GPUを用いて、複数のVRディスプレイのうちの1つのVRディスプレイのコンテンツを生成することと、別のGPUを用いて、複数のVRディスプレイのうち別のVRディスプレイのコンテンツを生成又は配信することと、を含む。
この方法では、GPUがマスタとして構成され、別のGPUがスレーブとして構成されることにより、マスタが、スレーブGPUによって生成又は配信されたフレームの選択されたリフレッシュオフセットを制御する。
本発明の別の態様によれば、仮想現実コンピューティングシステムが提供される。このシステムは、コンピューティングデバイスと、プロセッサと、を含む。プロセッサは、複数のVRディスプレイのコンテンツを生成することと、複数のVRディスプレイのリアルタイム要件を有するリソースに対するニーズの競合を検知することと、リアルタイム要件を有するリソースに対するニーズの競合が検知された場合に、複数のVRディスプレイのリソースに対するニーズ間の競合を回避するために、複数のVRディスプレイをリフレッシュするための選択されたリフレッシュオフセットを決定することと、選択されたリフレッシュオフセットを適用して、コンテンツを複数のVRディスプレイに配信することと、を行うための命令を実行するように動作可能である。
この仮想現実コンピューティングシステムは、複数のVRディスプレイを含む。
この仮想現実コンピューティングシステムでは、プロセッサは、CPU、GPU、又はCPU及びGPUの組み合わせを含む。
この仮想現実コンピューティングシステムでは、コンピューティングデバイスが別のプロセッサを備え、プロセッサが、複数のVRディスプレイのうち1つのVRディスプレイのコンテンツを生成し、別のプロセッサが、複数のVRディスプレイのうち別のディスプレイのコンテンツを生成又は配信する。
この仮想現実コンピューティングシステムでは、プロセッサがマスタとして構成され、別のプロセッサがスレーブとして構成されることにより、マスタが、スレーブプロセッサによって生成又は配信されたフレームの選択されたリフレッシュオフセットを制御する。
この仮想現実コンピューティングシステムでは、複数のディスプレイが動的リフレッシュをサポートし、プロセッサは、リアルタイム要件を有するリソースに対するニーズの競合が検知された場合に、複数のVRディスプレイをリフレッシュするための選択された動的リフレッシュレートを決定して、複数のVRディスプレイのリソースに対するニーズ間の競合を回避することをサポートし、選択されたリフレッシュオフセット及び動的リフレッシュレートを適用する、ように動作可能である。
複数のVRヘッドマウントディスプレイへのビデオフレームの配信管理を改善する様々な仮想現実(VR)コンピューティングシステムが開示されている。ビデオコンテンツは、複数のVRヘッドマウントディスプレイに配信するために生成されてもよい。VRコンピュータは、VRコンポジタ又は他のアプリケーションを介して、複数のVRディスプレイによる部分的又は全体的なフレームレンダリングや非同期タイムワープ等のリアルタイム処理を必要とする競合タスクを監視する。例えば複数のVRディスプレイの検出等によって、リアルタイム又はほぼリアルタイムのコンピューティング要件を必要とする競合タスクが検知された場合に、アプリケーション及びシステムは、複数のVRディスプレイをリフレッシュするための選択されたリフレッシュオフセットを計算して、リソースに対する複数のVRディスプレイによるニーズの競合を回避する。選択されたリフレッシュオフセットが適用され、コンテンツが複数のVRディスプレイに配信される。1つのヘッドマウントVRディスプレイを最初にリフレッシュし、第2ディスプレイを何分の1秒又は何分の1フレーム後にリフレッシュし、そして、コンピューティングデバイスに接続された他のVRディスプレイについてもリフレッシュすることができる。このスタガリングによって、リソース要求(例えば、非同期タイムワープやリアルタイム要件を有するフレームレンダリング部分に必要なリソース要求等)の競合が避けられる。さらなる詳細を以下に説明する。
以下に説明する図面では、同一の要素が複数の図に示されている場合、符号が大体において繰り返される。ここで図面、特に図1を参照すると、例示的なVRコンピューティングシステム10(以下、システム10)の概略図が示されている。システム10は、コンピューティングデバイス15と、1つ以上のヘッドマウントディスプレイと、を含み、このうち2つのヘッドマウントディスプレイは、それぞれHMD1及びHMD2と示されラベル付けされている。HMDは、ヘッドマウントディスプレイを表す。コンピューティングデバイス15と、HMD1及びHMD2との間の接続20,25は、必要に応じて有線接続又は無線接続とすることができる。コンピューティングデバイス15は、プロセッサ又はCPU30と、GPU35と、システムメモリ38と、ストレージデバイス40と、を含むことができる。CPU30及びGPU35は、汎用ディスクリートデバイスであってもよいし、例えばアクセラレーテッドプロセッシングユニット等によって単一のデバイスに統合されてもよい。オプションとして、CPU30及びGPU35の機能は、1つ以上の特定用途向け集積回路によって実行することができる。システムメモリは、RAM、ROM、又は、これら若しくは他のタイプのフラッシュメモリの組み合わせとすることができる。ストレージデバイス40は、不揮発性コンピュータ可読媒体であり、任意のタイプのハードディスク、光学記憶ディスク、ソリッドステート記憶デバイス、ROM、RAM、又は、コンピュータ可読媒体を格納するための実質的に任意の他のシステムとすることができる。ストレージデバイス40は、本明細書で開示される様々な機能を実行するための非一時的なコンピュータ可読命令を記憶するように動作可能である。
コンピューティングデバイス15は、APP 1、APP 2、…、APP Nと略記載される、ドライバ、ソフトウェアアプリケーション又は他のタイプのアプリケーションとすることができる複数のアプリケーションを含むことができる。また、コンピューティングデバイス15は、オペレーティングシステム45と、ビデオドライバ50と、を含むことができる。オペレーティングシステム45と、ビデオドライバ50と、アプリケーションAPP 1、APP 2、…、APP Nとは、ストレージデバイス40に記憶され、システムメモリ38に選択的にロードされてもよい。Windows(登録商標)、Linux(登録商標)、又は、多くのアプリケーション固有タイプのオペレーティングシステムソフトウェアの使用等が可能である。APP 1、…、APP Nのうち1つのアプリケーション(例えば、APP 1)を、HMD1及びHMD2に表示されるコンテンツを生成するアプリケーション(例えば、ゲームや他のプログラム等)とすることができ、他のアプリケーション(例えば、APP 2)を、ビデオドライバ50を介して、コンテンツがHMD1及びHMD2にどのように表示されるかという態様を制御するVRコンポジタとすることができる。ビデオドライバ50は、Vsync又は垂直同期を実現するコードを含むことができる。Vsyncは、異なるコンテンツを有する2つのレンダリングされたフレームの一部がディスプレイに表示される「ティアリング」と呼ばれる現象を回避するように設計されている。Vsyncを有効にすると、各バッファフリップは、各リフレッシュの後にのみ発生し得る。
アプリケーションAPP 1及び/又はアプリケーションAPP 2を、ストレージデバイス40に常駐させ、実行中にシステムメモリ38に選択的にロードすることができる。アプリケーションAPP 2は、HMD1及びHMD2のディスプレイを駆動するためのタイミング同期を提供するとともに、HMD1及びHMD2に関して複数のVRディスプレイのリフレッシュ間隔を選択的にスキューするように動作可能である。技術的な目標は、フレームレンダリングや非同期タイムワープ(ATW)要求等のリアルタイムワークロードの重複を回避するために、HMD1とHMD2との間のリフレッシュタイミングにおけるいくつかの選択されたオフセットを提供することである。システム10の動作の態様を、図3に関連して説明される。しかしながら、図3を参照する前に、複数のHMDシステムにおける従来のフレームレンダリングを検討することが有用であろう。このような従来のフレームレンダリングを図2に示す。図2は、HMD1のリフレッシュタイミング図55と、対応するHMD2のリフレッシュタイミング図60と、を示している。タイミング図55,60の各々に対していくつかのリフレッシュポイント(リフレッシュ1、リフレッシュ2、リフレッシュ3、リフレッシュ4)が示されており、HMD1及びHMD2の両方が同じ一定のリフレッシュレート(すなわち、リフレッシュ1とリフレッシュ2との間、リフレッシュ2とリフレッシュ3との間、等の時間の逆数)を有すると想定されている。リフレッシュタイミング図55は、「ハードウェアキュー」及び「HMD1に表示」に対するタイミングアクティビティを示しており、「ハードウェアキュー」は、HMD1に対するフレームレンダリングに関連するハードウェア(GPU、APU等)のアクティビティであり、「HMD1に表示」は、レンダリングされたコンテンツのHMD1上での実際の表示に至るアクティビティを示している。図55に示すように、リフレッシュ1の後、リフレッシュ2の前のある時点で、HMD1のフレームレンダリング(「レンダリング1」と略記される)が行われ、リフレッシュ1の直前にレンダリングされたコンテンツがHMD1に表示される(「HMD1に送信」と略記される)。リフレッシュのタイミングは、HMD2のフレームレンダリングに関連するハードウェアキューのタイミングアクティビティを示し、「HMD2に表示」は、レンダリングされたコンテンツのHMD2上での実際の表示に至るアクティビティを示している。図60に示すように、リフレッシュ1の後、リフレッシュ2の前のある時点で、HMD2のフレームレンダリング(「レンダリング2」と略記される)が行われ、リフレッシュ1の直前にレンダリングされたコンテンツがHMD2に表示される(「HMD2に送信」と略記される)。ここでは、レンダリング2は、リフレッシュ1のすぐ後の時刻tで開始し、レンダリング1は、レンダリング2が完了した直後に連続して時刻tに開始すると想定する。リフレッシュ2の直後に早送りする。リフレッシュタイミング図55に示すように、時刻tで始まるレンダリング1動作に基づくコンテンツは、時刻tの「HMD1に送信」が完了すると、最終的にHMD1に表示される。レンダリング1が時刻tで始まってから時刻tでの「HMD1に送信」までの間の「レイテンシHMD1」というラベルが付されたレイテンシに留意されたい。ここで、リフレッシュ2の直後のタイミング図60を検討する。時刻tで始まるレンダリング2動作に基づくコンテンツは、時刻tの「HMD2に送信」が完了すると、最終的にHMD2に表示される。しかし、時刻tに開始するレンダリング2と時刻tでの「HMD2に送信」との間の「レイテンシHMD2」というラベルが付されたレイテンシに留意されたい。レンダリング2及びレンダリング1を、リフレッシュ1とリフレッシュ2との間で処理が競合するため、時間をずらして配置する必要がある。つまり、レンダリング2を、リフレッシュ1からリフレッシュ2への期間の早い段階で実行する必要があり、これにより、レイテンシHMD2>レイテンシHMD1になり、レイテンシHMD2は、HDM2のユーザに対してジャダーを引き起こすのに十分な長さになる。
ここで、図3に注目すると、改善された動作の例、特に、HMD1のリフレッシュタイミング図65と、HMD2の対応するリフレッシュタイミング図70と、が示されている。タイミング図65,70の各々について、いくつかのリフレッシュポイント(リフレッシュ1、リフレッシュ2、リフレッシュ3、リフレッシュ4)が示されている。HMD1のリフレッシュレートRHMD1は、1/THMD1で表される。THMD1は、HMD1に関する図65のリフレッシュ1とリフレッシュ2との間、リフレッシュ2とリフレッシュ3との間等の期間である。HMD2のリフレッシュレートRHMD2は、1/THMD2で表される。THMD2は、HMD2に関する図60のリフレッシュ1とリフレッシュ2との間、リフレッシュ2とリフレッシュ3との間等の期間である。リフレッシュレートRHMD1及びRHMD2は、同じあってもよいし異なっていてもよく、HMD1及びHMD2とコンピューティングデバイス15とが動的リフレッシュレートに対応している場合には、動的に調整することができる。リフレッシュタイミング図65は、「ハードウェアキュー」及び「HMD1に表示」に対するタイミングアクティビティを示しており、ハードウェアキューは、HMD1のフレームレンダリングに関連するハードウェア(GPU、APU等)アクティビティであり、「HMD1に表示」は、レンダリングされたコンテンツのHMD1上での実際の表示に至るアクティビティを示している。図65に示すように、リフレッシュ1の後、リフレッシュ2の前の時刻tにおいて、HMD1のフレームレンダリング(「レンダリング1」と略記される)が開始され、リフレッシュ1の直前にレンダリングされたコンテンツがHMD1に表示される(「HMD1に送信」と略記される)。レンダリング1がリフレッシュ2の近くで完了するように、時刻tが選択されることに注意されたい。図65のリフレッシュ2の直後に早送りする。リフレッシュタイミング図65に示すように、時刻tに始まるレンダリング1動作に基づくコンテンツは、時刻tの「HMD1に送信」が完了すると、最終的にHMD1に表示される。レンダリング1が時刻tに始まってから時刻tでの「HMD1に送信」までの間の「レイテンシHMD1」というラベルが付されたレイテンシに留意されたい。次に、リフレッシュタイミング図70のタイミングを検討する。リフレッシュタイミング図70は、ハードウェアキュー及び「HMD2に表示」のタイミングアクティビティを示しており、ハードウェアキューは、HMD2のフレームレンダリングに関連するハードウェア(GPU、APU等)のアクティビティであり、「HMD2に表示」は、レンダリングされたコンテンツのHMD2上での実際の表示に至るアクティビティを示している。しかし、リフレッシュタイミング図70のハードウェアキューのリフレッシュ1(つまり、HMD2のリフレッシュ1)は、リフレッシュタイミング図65に示すHMD1のリフレッシュ1に対して、選択されたリフレッシュオフセットだけ時間的にオフセットされていることに留意されたい。図70に示すように、リフレッシュ1の後、リフレッシュ2の前の時刻tにおいて、HMD2のフレームレンダリング(「レンダリング2」と略記される)が開始され、リフレッシュ1の直前にレンダリングされたコンテンツがHMD2に表示される(「HMD2に送信」と略記される)。時刻tは、レンダリング2がリフレッシュ2の近くで完了するように選択されていることに留意されたい。図70のリフレッシュ2の直後に早送りする。リフレッシュタイミング図70に示すように、時刻tから始まるレンダリング2動作に基づくコンテンツは、時刻tで「HMD2に送信」が完了すると、最終的にHMD2に表示される。レンダリング1が時刻tで開始してから時刻tでの「HMD2に送信」までの「レイテンシHMD2」というラベルが付されたレイテンシに留意されたい。リフレッシュオフセットを使用することによって、HMD1のリフレッシュ2の近くでレンダリング1を完了し、HMD2のリフレッシュ2の近くでレンダリング2を完了することができる。その結果、レイテンシHMD1は、レイテンシHMD2と等しいかこれに近いものとなり、レイテンシHMD2は、図2に示す従来技術のレイテンシHMD2よりも短くなる。
引き続き図3を参照すると、リフレッシュオフセットは、フレームの一部(例えば、半分まで)又は1~2ミリ秒等の他のソフトウェア制御間隔に基づいて選択されてもよい。選択されたリフレッシュオフセットの目的は、ATW要求及び/又は部分的若しくは全体的なフレームレンダリング等のリアルタイム要件を有するHMD1及びHMD2タスクの時間間隔を空けることである。HMD1及びHMD2とコンピューティングデバイス15とが動的リフレッシュレートをサポートしている場合、リフレッシュレートRHMD1,RHMD2は、異なるだけでなく、急激に変動してもよいことを理解すべきである。
ここで、図1及び図3に関連して、リフレッシュオフセットのいくつかの例示的な選択について説明する。1つの例示的な技術は、最大リフレッシュオフセットの総当たり選択を含む。例えば、フレームの一部に関する最大リフレッシュオフセットは、コンピューティングデバイス15に接続されたヘッドマウントディスプレイの数の逆数によって与えられる。したがって、例えば、HMD1及びHMD2がコンピューティングデバイス15に接続されている場合、フレームの最大リフレッシュオフセットは、フレームの1/2となる。3つのHMDが存在する場合、最大のリフレッシュオフセットは1/3フレームであり、4つのHMDが存在する場合、最大のリフレッシュオフセットは1/4となる等である。リフレッシュオフセットの選択及び適用は、これらの例におけるAPP 2等のVRコンポジタによって実行することができる。リフレッシュオフセットは、APP 2等を介して又は他の方法でコンピューティングデバイス15がHMDの接続又は切断を検知すると、上下に調整することができる。
リフレッシュオフセットを選択する別の例示的な技術は、動的選択を含む。ここで、コンテンツ生成アプリケーションAPP 1がHMD1及びHMD2のフレームを生成している間に、VRコンポジタ(APP 2)は、排他的操作に要する時間を決定し、ATW要求やフレームレンダリングの重複等の競合するリアルタイムタスク無しに当該排他的操作の実行を可能にするために、リフレッシュオフセットが何であるべきかをビデオドライバ50に指示することができる。リフレッシュ(例えば、HMD1のリフレッシュ1)の直後、VRコンポジタ(APP 2)は、HMD1及びHMD2の追跡データをポーリングし、これによりHMD1及びHMD2の動きを検知し、さらに、リアルタイム要件を有する他の受信タスクも検知する。APP 2は、そのデータが手元にある場合、ATW要求と、HMD1の動きに対するATW補正を伴うフレームレンダリングとに要する時間を決定し、HMD1の動きに対するレンダリングが、HMD2等の競合するHMDの動きに関連するATW要求によって妨げられないように、リフレッシュオフセットが何であるべきかをビデオドライバ50に指示する。APP 2は、ビデオドライバ50に対して、セーフティマージンを含めるように、すなわち、リフレッシュオフセットを必要よりも僅かに大きくするように指示することができる。次の瞬間に、HMD1及びHMD2の他の動きが発生し、それに応じてAPP 2がリフレッシュオフセットを再調整するように促す可能性がある。リフレッシュオフセットを動的に調整するこのプロセスは、HMD1及びHMD2の動きに応じて繰り返し発生する可能性がある。勿論、この技術は、例えば、Advanced Micro Devices、Inc.によって提供される技術であるFreesyncを用いて、HMD1及びHMD2等の全てのHMDの動的リフレッシュと適合させることができる。
特定のVR設定では、リフレッシュレートが異なるHMDを含むことができる。このような状況でも、APP 2は、リアルタイムコンピューティングタスクの間隔を空けるようにリフレッシュオフセットを適用することができる。ここで、HMD1のリフレッシュタイミング図75と、対応するHMD2のリフレッシュタイミング図80と、を示す図4に注目する。図4は、図3と同様であり、したがって、いくつかのリフレッシュポイント(リフレッシュ1、リフレッシュ2、リフレッシュ3、リフレッシュ4)が示されており、タイミング図75,80の各々についてハードウェアキュー及び「HMD1に表示」又は「HMD2に表示」がトレースしている。但し、上記のように定義されたリフレッシュレートは、HMD1及びHMD2で異なることに留意されたい。何らかの補正が無い場合、リフレッシュレートが異なるHMD1及びHMD2は、不規則な「ビート」パターンを生成し、複数のHMD(HMD1及びHMD2)のリフレッシュ間隔は、大きくなったり小さくなったりし、最終的に競合する。しかしながら、APP 2(VRコンポジタとして、図1を参照)は、リフレッシュオフセットを適用して、HMD1のリフレッシュ1及びHMD2のリフレッシュ1と、HMD1のリフレッシュ2及びHMD2のリフレッシュ2と等に間隔を空け、これらが競合しないようにすることができる。リフレッシュオフセットの他の方法を使用することもできる。複数のHMD(HMD1及びHMD2)のリフレッシュの競合を回避できない場合、又は、競合しないが異なるHMDからのリフレッシュマーカが互いに近すぎる場合には、ワークロードが競合する可能性があるためにレイテンシが長くなる可能性があることをAPP 2に警告するフィードバックを生成することができる。
複数のVR HMDと共に使用するために、マルチGPUの変形が想定されている。これに関連して、代替の例示的な変形を示すコンピューティングシステム10′のブロック図である図5に注目する。この変形コンピューティングシステム10′は、図1に示され、本明細書の他の箇所で説明されているコンピューティングシステム10の属性の多くを共有する。例えば、複数のVRディスプレイHMD1及びHMD2が存在してもよく、これらの数は、必要に応じて3つ以上とすることができる。また、コンピューティングデバイス15′は、GPU35と、システムメモリ38と、ストレージデバイス40と、Vsyncを備えたOS45と、複数のアプリケーションAPP 1~APP Nと、ビデオドライバ50と、を含むことができる。さらに、HMD1及びHMD2は、上述した接続20,25を介してコンピューティングデバイス15′に接続することができる。しかし、ここでは、コンピューティングデバイス15′は、GPU35に加えて、1つ以上の追加のGPUを含むことができ、そのうちの1つが図示され、GPU85とラベルが付されている。GPU35,85は、必要に応じて3つ以上実装され得ることを理解されたい。GPU35,85の両方は、互いにだけでなく、ストレージデバイス40及びシステムメモリ38への動作可能な接続を有することができる。APP 2は、本明細書の他の箇所で説明されているようにVRコンポジタとして構成されている場合、HMD1及びHMD2の各々のレンダリングを実行する命令を含むことができる。例えば、GPU35は、HMD1用のコンテンツのレンダリングをタスクし、GPU85は、他のVRディスプレイHMD2用のコンテンツのレンダリングをタスクすることができる。一方のGPU(例えば、GPU35)をマスタとして指定し、他のGPU又はGPU85をスレーブとして指定して、リフレッシュレート及びリフレッシュポイントのタイミング同期及びスキューイングを行うことが好ましい。タスク処理におけるこの区別、つまりマスタ及びスレーブは、GPU35とGPU85とが同じ能力を有する場合、又は、より一般的には、一方のGPU(例えば、GPU35)がカード上のディスクリートGPU等のより高性能な集積回路であり、他方のGPU85が、例えば統合グラフィックスチップにおいて性能は劣るが機能するGPUである場合に実施することができる。図3に示され、本明細書の別の箇所で説明されるのと同じタイプのタイミング同期及びリフレッシュ間隔の選択的スキューは、図5に示すマルチGPUの変形を使用して実施することができる。しかし、ここでは、マスタGPU35に対して、スレーブGPU85及びコンピューティングデバイス15に組み込むことができる他のスレーブGPUのリフレッシュ間隔の選択的スキューをタスクすることができる。追加の粒度レベルを用いることも可能である。タスク処理における他の区別化が可能である。例えば、より高性能なGPU35は、HMD1及びHMD2の両方についてリアルタイム要件を有するタスクに使用することができ、より性能の劣るGPU85を、HMD2の駆動等のように、要求の少ないタスクに使用することができる。別の変形例では、より性能の劣るGPU85を、レンダリングの一部に使用することができる。他の開示された変形例と同様に、動的リフレッシュは、例えば、Freesync又はディスプレイHMD1及びHMD2の動的リフレッシュが提供される他の技術を用いて実施することができる。
いくつかの例示的なプロセスフローが、図6及び図7に示されている。図6は、動的リフレッシュが有効にされていない例示的なプロセスフローを示しており、後述する図7は、動的リフレッシュが有効にされている例示的なプロセスフローを示している。図6は、非同期であり得る2つの並列プロセスループ100,102を示している。プロセスループ100は、競合するリソース要求の検知、及び、選択されたリフレッシュオフセットの選択及び適用を処理する。したがって、ステップ105では、HMDが、図1に示すコンピューティングデバイス15に追加されるか削除される。ステップ110では、VRコンポジタ又は同様の機能として実装されたアプリケーション(例えば、APP 2)は、複数のVRディスプレイのリアルタイムリソースに対するニーズの競合を検知する。これは、コンピューティングデバイス15に接続されたHMD1、HMD2等のVRディスプレイの数を検知することを伴う。単一のVRディスプレイが検出された場合には、リアルタイムリソースに対して競合するニーズが生成されないが、2つ以上の場合には生成される。ステップ115では、リアルタイムリソースに対する1つ以上のVRディスプレイによるニーズの競合が検知された場合、プロセスフローはステップ120に進み、APP 2は、リアルタイムリソースに対するニーズの競合を回避するために、適切なリフレッシュオフセットを決定する。この決定では、HMD1、HMD2等の競合するVRディスプレイがいくつ検出されたかが考慮される。VRディスプレイが追加された場合にはより多くのリフレッシュオフセットを必要とし、VRディスプレイが削除された場合には、より少ないリフレッシュオフセットを必要とする。次に、ステップ125では、APP 2は、リフレッシュオフセットを適用して、リアルタイムリソースのニーズの競合を回避し、次いで、プロセスは、ステップ130のループ終了に進む。しかし、ステップ115において、1つ以上のVRディスプレイによるリアルタイムリソースに対するニーズの競合が検知されない場合には、プロセスフローは、ステップ130のループ終了にスキップする。ループは、VRディスプレイが接続又は切断される毎にトリガされる。コンテンツ生成ループ102は、並行して進行する。したがって、ステップ135から開始して、ステップ140では、APP 1は、HMD1、HMD2等の複数のVRディスプレイのコンテンツを生成する。ステップ145は、プロセスループ100のステップ120,125の結果を使用する条件である。ステップ145において、1つのVRディスプレイのみが検出された場合等のように、リフレッシュオフセットが適用されない場合には、ループ102は、ステップ150に進み、リフレッシュオフセット無しでフレームをレンダリングし、次いでステップ155に進み、レンダリングされたフレームを単一のVRディスプレイに配信し、そして、ステップ140に戻る。しかし、ステップ145において、複数のVRディスプレイが検出された場合等のように、リフレッシュオフセットが適用される場合には、ループは、ステップ160にスキップし、リフレッシュオフセットを用いてフレームがレンダリングされ、レンダリングされたフレームがステップ165でHMD1、HMD2等の複数のVRディスプレイに配信される。次いで、ループ102は、ステップ140にループバックする。
別の例示的な変形では、プロセスフローは、Freesync又は他のタイプの動的リフレッシュプログラムによって動的リフレッシュを使用することができる。ここで図7を参照すると、ステップ200での開始の後、ステップ205において動的リフレッシュが有効にされる。ステップ210において、APP 1等のアプリケーションは、ディスプレイHMD1及びHMD2等の複数のVRディスプレイのコンテンツを生成する。次に、ステップ215において、アプリケーションAPP 2は、複数のVRディスプレイによるリアルタイムリソースに対するニーズの競合を検知する。例えば、上述したように、APP 2は、ATW要求と、例えばHMD1及びHMD2の部分的又は全体的なフレームレンダリングとのニーズの競合を検知する。ステップ220においてニーズの競合が検知されない場合、プロセスフローは、ステップ225に進み、フレームがレンダリングされ、次にステップ230において、レンダリングされたフレームが複数のVRディスプレイに配信される。ステップ230に続いて、ステップ210に戻る。しかし、ステップ220において、アプリケーションAPP 2が、1つ以上のVRディスプレイのうち複数のVRディスプレイによるリアルタイムリソースに対するニーズの競合を検知した場合には、プロセスは、ステップ235に進む。ここで、APP 2は、リアルタイムリソースに対するニーズの競合を回避するために、リフレッシュオフセット及び動的リフレッシュレートを決定する。次に、ステップ230において、APP 2は、選択されたリフレッシュオフセット及び動的リフレッシュレートを適用して、リアルタイムリソースに対するニーズの競合を回避し、その後、ステップ245において、選択されたリフレッシュオフセット及び動的リフレッシュレートでフレームがレンダリングされる。次に、プロセスフローは、ステップ230に分岐し、レンダリングされたフレームが複数のVRディスプレイに配信される。勿論、図6及び図7のプロセスフローは、1つ以上のアプリケーション及びオペレーティングシステム等を用いて実現することができる。換言すれば、記載されたステップを実施するために、様々なレベルのソフトウェア統合及びハードウェアを用いることができる。
本発明は、様々な修正及び代替形態を受け入れることができるが、特定の変形例が、図面に例として示され、本明細書で詳細に説明されている。しかしながら、本発明は、開示された特定の形態に限定されるのを意図していないことを理解されたい。むしろ、本発明は、添付の特許請求の範囲によって定義される本発明の趣旨及び範囲内にある全ての修正、均等物及び代替物をカバーするものである。

Claims (13)

  1. ビデオフレームデータを複数のVRディスプレイに配信する方法であって、
    複数のVRディスプレイのコンテンツを生成することと、
    前記複数のVRディスプレイのリアルタイム要件を有するリソースに対するニーズの競合を検知することと、
    リアルタイム要件を有するリソースに対するニーズの競合が検知された場合に、前記複数のVRディスプレイのリソースに対するニーズ間の競合を回避するために、前記複数のVRディスプレイをリフレッシュするための選択されたリフレッシュオフセットを決定することであって、前記選択されたリフレッシュオフセットは、前記複数のVRディスプレイの各々のリフレッシュ間のオフセットを含む、ことと、
    前記選択されたリフレッシュオフセットを適用することと、
    前記コンテンツを前記複数のVRディスプレイに配信することと、を含む、
    方法。
  2. 前記リソースは、レンダリング及び非同期タイムワープ要求のための計算を含む、
    請求項1の方法。
  3. 前記複数のVRディスプレイは動的リフレッシュをサポートし、
    前記方法は、
    リアルタイム要件を有するリソースに対するニーズの競合が検知された場合に、前記複数のVRディスプレイによるリソースに対するニーズの競合を回避するのをサポートするために、前記複数のVRディスプレイをリフレッシュするための選択された動的リフレッシュレートを決定することと、
    前記選択されたリフレッシュオフセット及び前記動的リフレッシュレートを適用することと、を含む、
    請求項1の方法。
  4. 前記リソースは、レンダリング及び非同期タイムワープ要求のための計算を含む、
    請求項3の方法。
  5. 前記コンテンツを生成することは、単一のGPUによって実行される、
    請求項1の方法。
  6. 複数のVRディスプレイのコンテンツを生成することは、
    GPUを用いて、前記複数のVRディスプレイのうち1つのVRディスプレイのコンテンツを生成することと、
    別のGPUを用いて、前記複数のVRディスプレイのうち別のVRディスプレイのコンテンツを生成又は配信することと、を含む、
    請求項1の方法。
  7. 前記GPUがマスタとして構成され、前記別のGPUがスレーブとして構成され、前記マスタは、スレーブGPUによって生成又は配信されたフレームの前記選択されたリフレッシュオフセットを制御する、
    請求項6の方法。
  8. 仮想現実コンピューティングシステムであって、
    コンピューティングデバイスと、
    プロセッサと、を備え、
    前記プロセッサは、
    複数のVRディスプレイのコンテンツを生成することと、
    前記複数のVRディスプレイのリアルタイム要件を有するリソースに対するニーズの競合を検知することと、
    リアルタイム要件を有するリソースに対するニーズの競合が検知された場合に、前記複数のVRディスプレイのリソースに対するニーズ間の競合を回避するために、前記複数のVRディスプレイをリフレッシュするための選択されたリフレッシュオフセットを決定することであって、前記選択されたリフレッシュオフセットは、前記複数のVRディスプレイの各々のリフレッシュ間のオフセットを含む、ことと、
    前記選択されたリフレッシュオフセットを適用することと、
    前記コンテンツを前記複数のVRディスプレイに配信することと、
    を行うための命令を実行するように動作可能である、
    仮想現実コンピューティングシステム。
  9. 前記複数のVRディスプレイを備える、
    請求項8の仮想現実コンピューティングシステム。
  10. 前記プロセッサは、CPU、GPU、又は、CPU及びGPUの組み合わせを含む、
    請求項8の仮想現実コンピューティングシステム。
  11. 前記コンピューティングデバイスは、別のプロセッサを備え、
    前記プロセッサが前記複数のVRディスプレイのうち1つVRディスプレイのコンテンツを生成し、前記別のプロセッサが前記複数のVRディスプレイのうち別のVRディスプレイのコンテンツを生成又は配信する、
    請求項8の仮想現実コンピューティングシステム。
  12. 前記プロセッサがマスタとして構成され、前記別のプロセッサがスレーブとして構成され、前記マスタは、スレーブプロセッサによって生成又は配信されたフレームの前記選択されたリフレッシュオフセットを制御する、
    請求項11の仮想現実コンピューティングシステム。
  13. 前記複数のVRディスプレイは動的リフレッシュをサポートし、
    前記プロセッサは、リアルタイム要件を有するリソースに対するニーズの競合が検知された場合に、
    前記複数のVRディスプレイのリソースに対するニーズ間の競合を回避することをサポートするために、前記複数のVRディスプレイをリフレッシュするための選択された動的リフレッシュレートを決定することと、
    前記選択されたリフレッシュオフセット及び前記動的リフレッシュレートを適用することと、
    を行うように動作可能である、
    請求項8の仮想現実コンピューティングシステム。
JP2019557580A 2017-04-25 2018-04-19 マルチヘッドマウントディスプレイ仮想現実構成でのディスプレイペーシング Active JP7198772B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/496,972 US11474354B2 (en) 2017-04-25 2017-04-25 Display pacing in multi-head mounted display virtual reality configurations
US15/496,972 2017-04-25
PCT/IB2018/052735 WO2018198002A1 (en) 2017-04-25 2018-04-19 Display pacing in multi-head mounted display virtual reality configurations

Publications (3)

Publication Number Publication Date
JP2020519929A JP2020519929A (ja) 2020-07-02
JP2020519929A5 JP2020519929A5 (ja) 2021-05-27
JP7198772B2 true JP7198772B2 (ja) 2023-01-04

Family

ID=63854418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019557580A Active JP7198772B2 (ja) 2017-04-25 2018-04-19 マルチヘッドマウントディスプレイ仮想現実構成でのディスプレイペーシング

Country Status (6)

Country Link
US (1) US11474354B2 (ja)
EP (1) EP3616401B1 (ja)
JP (1) JP7198772B2 (ja)
KR (1) KR102628899B1 (ja)
CN (1) CN110521203B (ja)
WO (1) WO2018198002A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7394506B1 (ja) 2023-05-08 2023-12-08 株式会社SoBrain 計測装置、計測方法および計測プログラム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110573929A (zh) * 2017-05-01 2019-12-13 无限增强现实以色列有限公司 增强或混合现实环境的光学引擎时间扭曲
US10521881B1 (en) * 2017-09-28 2019-12-31 Apple Inc. Error concealment for a head-mountable device
US10976982B2 (en) * 2018-02-02 2021-04-13 Samsung Electronics Co., Ltd. Guided view mode for virtual reality
US10388255B2 (en) * 2018-06-29 2019-08-20 Intel Corporation Computers for supporting multiple virtual reality display devices and related methods
US11151965B2 (en) * 2019-08-22 2021-10-19 Qualcomm Incorporated Methods and apparatus for refreshing multiple displays
US20210192681A1 (en) * 2019-12-18 2021-06-24 Ati Technologies Ulc Frame reprojection for virtual reality and augmented reality
CN112230776B (zh) * 2020-10-29 2024-07-02 北京京东方光电科技有限公司 虚拟现实显示方法、装置及存储介质
CN112489226B (zh) * 2020-11-26 2024-07-26 京东方科技集团股份有限公司 虚拟现实设备图像显示方法、装置、存储介质及电子设备
CN113296723B (zh) * 2021-05-21 2022-04-01 重庆紫光华山智安科技有限公司 目标框与视频帧的同步显示方法、系统、设备及介质
US12106488B2 (en) * 2022-05-09 2024-10-01 Qualcomm Incorporated Camera frame extrapolation for video pass-through
US11978372B1 (en) 2023-05-16 2024-05-07 Qualcomm Incorporated Synchronized dual eye variable refresh rate update for VR display

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080246771A1 (en) 2007-04-03 2008-10-09 Dell Products L.P. Graphics processing system and method
CN103593155A (zh) 2013-11-06 2014-02-19 华为终端有限公司 显示帧生成方法和终端设备
US20160093108A1 (en) 2014-09-30 2016-03-31 Sony Computer Entertainment Inc. Synchronizing Multiple Head-Mounted Displays to a Unified Space and Correlating Movement of Objects in the Unified Space
JP2016096440A (ja) 2014-11-13 2016-05-26 キヤノン株式会社 映像符号化データ送信装置、管理装置及びプログラム
JP2016162033A (ja) 2015-02-27 2016-09-05 株式会社ソニー・インタラクティブエンタテインメント 画像生成システム、画像生成方法、プログラム及び情報記憶媒体
US20170053620A1 (en) 2015-08-20 2017-02-23 Qualcomm Incorporated Refresh rate matching with predictive time-shift compensation
JP2017524275A (ja) 2014-05-30 2017-08-24 ソニー株式会社 通信装置、およびデータ処理方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0628199A (ja) * 1990-03-05 1994-02-04 Internatl Business Mach Corp <Ibm> 並行処理の同期方法
US8982151B2 (en) * 2010-06-14 2015-03-17 Microsoft Technology Licensing, Llc Independently processing planes of display data
US8797340B2 (en) * 2012-10-02 2014-08-05 Nvidia Corporation System, method, and computer program product for modifying a pixel value as a function of a display duration estimate
US20140152676A1 (en) 2012-11-30 2014-06-05 Dave Rohn Low latency image display on multi-display device
CN107329259B (zh) 2013-11-27 2019-10-11 奇跃公司 虚拟和增强现实系统与方法
JP6356509B2 (ja) 2014-07-09 2018-07-11 日本プラスト株式会社 ハンドル
WO2016041088A1 (en) * 2014-09-19 2016-03-24 Sulon Technologies Inc. System and method for tracking wearable peripherals in augmented reality and virtual reality applications
US20160180762A1 (en) 2014-12-22 2016-06-23 Elwha Llc Systems, methods, and devices for controlling screen refresh rates
US9824498B2 (en) 2014-12-30 2017-11-21 Sony Interactive Entertainment Inc. Scanning display system in head-mounted display for virtual reality
JP6684559B2 (ja) 2015-09-16 2020-04-22 株式会社バンダイナムコエンターテインメント プログラムおよび画像生成装置
CN105635805B (zh) * 2015-12-18 2018-12-21 潍坊歌尔电子有限公司 一种虚拟现实场景中优化运动图像的方法和装置
US9940858B2 (en) * 2016-05-16 2018-04-10 Unity IPR ApS System and method for assymetric rendering to eyes in augmented reality and virtual reality devices
US10068553B2 (en) * 2016-09-12 2018-09-04 Intel Corporation Enhanced rendering by a wearable display attached to a tethered computer

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080246771A1 (en) 2007-04-03 2008-10-09 Dell Products L.P. Graphics processing system and method
CN103593155A (zh) 2013-11-06 2014-02-19 华为终端有限公司 显示帧生成方法和终端设备
JP2017524275A (ja) 2014-05-30 2017-08-24 ソニー株式会社 通信装置、およびデータ処理方法
US20160093108A1 (en) 2014-09-30 2016-03-31 Sony Computer Entertainment Inc. Synchronizing Multiple Head-Mounted Displays to a Unified Space and Correlating Movement of Objects in the Unified Space
JP2016096440A (ja) 2014-11-13 2016-05-26 キヤノン株式会社 映像符号化データ送信装置、管理装置及びプログラム
JP2016162033A (ja) 2015-02-27 2016-09-05 株式会社ソニー・インタラクティブエンタテインメント 画像生成システム、画像生成方法、プログラム及び情報記憶媒体
US20170053620A1 (en) 2015-08-20 2017-02-23 Qualcomm Incorporated Refresh rate matching with predictive time-shift compensation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7394506B1 (ja) 2023-05-08 2023-12-08 株式会社SoBrain 計測装置、計測方法および計測プログラム
JP7503876B1 (ja) 2023-05-08 2024-06-21 株式会社SoBrain 計測装置、計測方法および計測プログラム

Also Published As

Publication number Publication date
WO2018198002A1 (en) 2018-11-01
US11474354B2 (en) 2022-10-18
JP2020519929A (ja) 2020-07-02
CN110521203B (zh) 2022-03-11
CN110521203A (zh) 2019-11-29
EP3616401A1 (en) 2020-03-04
EP3616401B1 (en) 2023-06-21
EP3616401A4 (en) 2021-01-27
US20180307042A1 (en) 2018-10-25
KR20190141698A (ko) 2019-12-24
KR102628899B1 (ko) 2024-01-25

Similar Documents

Publication Publication Date Title
JP7198772B2 (ja) マルチヘッドマウントディスプレイ仮想現実構成でのディスプレイペーシング
US10909654B2 (en) Management of graphics processing units in a cloud platform
JP6467062B2 (ja) スプーフクロック及び細粒度周波数制御を使用する下位互換性
JP4383853B2 (ja) 時間アロケータを有するグラフィックレンダリングエンジンを用いる装置、方法及びシステム
JP5638666B2 (ja) シームレスな表示移行
US11474591B2 (en) Fine-grain GPU power management and scheduling for virtual reality applications
US20190043448A1 (en) Computers for supporting multiple virtual reality display devices and related methods
US11244427B2 (en) Image resolution processing method, system, and apparatus, storage medium, and device
CN110073324B (zh) 用于在桌面环境中动态地减少应用程序渲染到屏幕上时间的方法设备
TWI498849B (zh) 圖形驅動程式層級解耦顯像以及顯示的方法
KR100925302B1 (ko) 디스플레이 서브시스템용 작업 기반 클록 관리를 위한시스템 및 방법
US10997884B2 (en) Reducing video image defects by adjusting frame buffer processes
JP2022539504A (ja) 性能保証された電力管理を用いるリアルタイムgpuレンダリング
TW202121220A (zh) 借助於合成器生成一系列訊框方法和裝置
CN112470464B (zh) 场顺序显示器中的场内子码时序
JP4011082B2 (ja) 情報処理装置、グラフィックプロセッサ、制御用プロセッサおよび情報処理方法
US10417989B2 (en) GPU and GPU computing system for providing a virtual machine and a method of manufacturing the same
US20220083766A1 (en) Computer program, server, terminal device, system, and method
CN105359503B (zh) 图像层组合
JP2024501283A (ja) ソフトウェア実施ゲンロック及びフレームロック
JP2000311253A (ja) 三次元画像生成システム、三次元画像生成方法及び記録媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210416

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210416

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220628

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221026

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221219

R150 Certificate of patent or registration of utility model

Ref document number: 7198772

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150