TWI786701B - 用於在hmd環境中利用傳至gpu之預測及後期更新的眼睛追蹤進行快速注視點渲染的方法及系統以及非暫時性電腦可讀媒體 - Google Patents
用於在hmd環境中利用傳至gpu之預測及後期更新的眼睛追蹤進行快速注視點渲染的方法及系統以及非暫時性電腦可讀媒體 Download PDFInfo
- Publication number
- TWI786701B TWI786701B TW110123572A TW110123572A TWI786701B TW I786701 B TWI786701 B TW I786701B TW 110123572 A TW110123572 A TW 110123572A TW 110123572 A TW110123572 A TW 110123572A TW I786701 B TWI786701 B TW I786701B
- Authority
- TW
- Taiwan
- Prior art keywords
- eye
- display
- saccade
- point
- user
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control 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/37—Details of the operation on graphic patterns
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/163—Wearable computers, e.g. on a belt
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/015—Input arrangements based on nervous system activity detection, e.g. brain waves [EEG] detection, electromyograms [EMG] detection, electrodermal response detection
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/046—Forward inferencing; Production systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control 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/39—Control of the bit-mapped memory
- G09G5/391—Resolution modifying circuits, e.g. variable screen formats
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control 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/39—Control of the bit-mapped memory
- G09G5/393—Arrangements for updating the contents of the bit-mapped memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/02—Improving the quality of display appearance
- G09G2320/0261—Improving the quality of display appearance in the context of movement of objects on the screen or movement of the observer relative to the screen
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/10—Special adaptations of display systems for operation with variable images
- G09G2320/106—Determination of movement vectors or equivalent parameters within the image
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
- G09G2340/0407—Resolution change, inclusive of the use of different resolutions for different screen areas
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2354/00—Aspects of interface with display user
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computer Graphics (AREA)
- Neurosurgery (AREA)
- Neurology (AREA)
- Dermatology (AREA)
- User Interface Of Digital Computer (AREA)
- Controls And Circuits For Display Device (AREA)
- Position Input By Displaying (AREA)
- Eye Examination Apparatus (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Abstract
一種用於更新一圖形管線之資訊的方法包括在第一圖框週期中在一CPU上執行一應用程式以產生一第一視訊圖框之一場景的圖元。在一第二圖框週期中接收一使用者之一眼睛的視線追蹤資訊。在該第二圖框週期中在該CPU處至少基於該視線追蹤資訊來預測一HMD顯示器上之一落點。在該第二圖框週期中對傳入該GPU可存取之一緩衝器的所預測落點執行後期更新。在該第二圖框週期中在該GPU中執行著色器操作以基於該等圖元且基於該等所預測落點來產生像素資料,其中該像素資料被儲存至一圖框緩衝器中。在第三圖框週期中將該像素資料自該圖框緩衝器掃描輸出至該HMD。
Description
本揭示案係關於電腦產生之影像,且更具體而言係關於電腦產生之圖形的即時渲染。
虛擬實境(VR)場景在渲染管線中之電腦渲染需要中央處理單元(CPU)及圖形處理單元(GPU)資源。可在廣觀看範圍內渲染VR場景,但僅顯示該觀看範圍之較小部分。另外,VR場景可能比傳統場景更複雜,且亦可能需要較高之圖框率來進行影像處理以避免動暈症,以上情況皆會導致較高速率之功率消耗。
為了節省功率,顯示器之多個部分可能以比其他部分更高之解析度來呈現。舉例而言,使用者可能關注的、該場景之一部分可能以比使用者未關注之其他部分(諸如周邊之彼等區域)更高之解析度來呈現。以較低解析度渲染該顯示器之在周邊之部分可節省處理資源,且由於使用者未關注周邊,因此該低解析度不會降低使用者之觀看體驗。然而,觀看VR場景之使用者的眼睛之移動可能比經由渲染管線更新之圖框更快。因而,由於眼睛比電腦渲染管線更快,因此當使用者移動至該場景的先前可能在周邊之一部分時,該部分可能仍以低解析度呈現,直至更新趕上眼睛移動為止。此導致讓使用者看起來模糊之影像。
本揭示案之實施例正是在此情形中提出。
本揭示案之實施例係關於預測與觀看一頭戴式顯示器(HMD)之一顯示器之一使用者相關聯的一跳視之一落點以及在包括一中央處理單元(CPU)及一圖形處理單元(GPU)之一渲染管線中藉由對傳入該GPU可存取之緩衝器之所預測落點執行後期更新以便即刻使用來更新資訊。在下文描述本揭示案之若干創新實施例。
在一個實施例中,揭示一種用於預測一HMD中之眼睛移動的方法。該方法包括藉由設置於該HMD中之一視線追蹤系統在複數個取樣點處追蹤一使用者之一眼睛的移動。該方法包括基於該眼睛之移動來確定該移動之速度。該方法包括確定在該速度達到一臨限速度時該使用者之該眼睛處於一跳視中。該方法包括預測該跳視之與該眼睛之一方向對應的在該HMD之該顯示器上之一落點。
在一個實施例中,揭示一種用於更新包括一CPU及一GPU之一渲染管線之資訊的方法。該方法包括在該第一圖框週期中在該CPU上執行一應用程式以產生一第一視訊圖框之一場景的圖元。一圖框週期對應於該渲染管線之一操作頻率,該渲染管線經組態用於在將一對應視訊圖框掃描輸出至該顯示器之前藉由該CPU及該GPU在連續圖框週期中執行順序操作。該方法包括在一第二圖框週期中在該CPU處接收經歷一跳視之一使用者之一眼睛的視線追蹤資訊。該方法包括在該第二圖框週期中在該CPU處至少基於該視線追蹤資訊來預測該跳視之與該眼睛之一視線方向對應的在一頭戴式顯示器(HMD)之一顯示器上的一落點。該方法包括用於在該第二圖框週期中由該CPU藉由將所預測落點傳遞至該GPU可存取之一緩衝器來執行一後期更新的程式指令。該方法包括在該第二圖框週期中在該GPU中執行一或多個著色器操作以基於該第一視訊圖框之該場景的該等圖元且基於該所預測落點來產生該HMD之像素的像素資料,其中該像素資料至少包括顏色及文本資訊,其中該像素資料儲存至一圖框緩衝器中。該方法包括在第三圖框週期中將該像素資料自該圖框緩衝器掃描輸出至該HMD。
在另一個實施例中,揭示一種儲存用於更新包括一CPU及一GPU之一渲染管線之資訊的一電腦程式之一非暫時性電腦可讀媒體。該電腦可讀媒體包括用於在該第一圖框週期中在該CPU上執行一應用程式以產生一第一視訊圖框之一場景的圖元的程式指令。一圖框週期對應於該渲染管線之一操作頻率,該渲染管線經組態用於在將一對應視訊圖框掃描輸出至該顯示器之前藉由該CPU及該GPU在連續圖框週期中執行順序操作。該電腦可讀媒體包括用於在該第二圖框週期中在該CPU處接收經歷一跳視之一使用者之一眼睛的視線追蹤資訊的程式指令。該電腦可讀媒體包括用於在該第二圖框週期中在該CPU處至少基於該視線追蹤資訊來預測該跳視之與該眼睛之一視線方向對應的在一頭戴式顯示器(HMD)之一顯示器上的一落點的程式指令。該電腦可讀媒體包括用於在該第二圖框週期中由該CPU藉由將所預測落點傳遞至該GPU可存取之一緩衝器來執行一後期更新的程式指令。該電腦可讀媒體包括用於在該第二圖框週期中在該GPU中執行一或多個著色器操作以基於該第一視訊圖框之該場景的該等圖元且基於該所預測落點來產生該HMD之像素的像素資料的程式指令,其中該像素資料至少包括顏色及文本資訊,其中該像素資料儲存至一圖框緩衝器中。該電腦可讀媒體包括用於在第三圖框週期中將該像素資料自該圖框緩衝器掃描輸出至該HMD之程式指令。
在又另一個實施例中,揭示一種電腦系統,該電腦系統具有一處理器及耦合至該處理器之記憶體,該記憶體中儲存有指令,該等指令若藉由該電腦系統執行則使該電腦系統執行一種用於更新包括一CPU及一GPU之一渲染管線之資訊的方法。該方法包括在該第一圖框週期中在該CPU上執行一應用程式以產生一第一視訊圖框之一場景的圖元。一圖框週期對應於該渲染管線之一操作頻率,該渲染管線經組態用於在將一對應視訊圖框掃描輸出至該顯示器之前藉由該CPU及該GPU在連續圖框週期中執行順序操作。該方法包括在一第二圖框週期中在該CPU處接收經歷一跳視之一使用者之一眼睛的視線追蹤資訊。該方法包括在該第二圖框週期中在該CPU處至少基於該視線追蹤資訊來預測該跳視之與該眼睛之一視線方向對應的在一頭戴式顯示器(HMD)之一顯示器上的一落點。該方法包括用於在該第二圖框週期中由該CPU藉由將所預測落點傳遞至該GPU可存取之一緩衝器來執行一後期更新的程式指令。該方法包括在該第二圖框週期中在該GPU中執行一或多個著色器操作以基於該第一視訊圖框之該場景的該等圖元且基於該預測落點來產生該HMD之像素的像素資料,其中該像素資料至少包括顏色及文本資訊,其中該像素資料儲存至一圖框緩衝器中。該方法包括在第三圖框週期中將該像素資料自該圖框緩衝器掃描輸出至該HMD。
本揭示案之其他態樣根據結合附圖進行的、通過舉例之方式圖解說明本揭示案之原理的以下詳細描述將變得顯而易見。
相關申請案之交叉引用
本申請案係關於2015年9月4日提交之標題為「Apparatus and Method for Dynamic Graphics Rendering Based on Saccade Detection」的美國申請案第14/845,862號,該案之揭示內容特此以引用方式全文併入。本申請案係關於2016年3月31日提交之標題為「Real-Time User Adaptive Foveated Rendering」的美國申請案第15/086,645號,該案之揭示內容特此以引用方式全文併入。本申請案係關於2016年3月31日提交之標題為「Reducing Rendering Computation and Power Consumption by Detecting Saccades and Blinks」的美國申請案第15/086,953號,該案之揭示內容特此以引用方式全文併入。本申請案係關於2016年3月31日提交之標題為「Reducing Rendering Computation and Power Consumption by Detecting Saccades and Blinks」的美國申請案第15/087,471號,該案之揭示內容特此以引用方式全文併入。本申請案係關於2016年3月31日提交之標題為「Selective Peripheral Vision Filtering in a Foveated Rendering System」的美國申請案第15/087,629號,該案之揭示內容特此以引用方式全文併入。本申請案係關於同日提交之標題為「Dynamic Graphics Rendering Based on Predicted Saccade Landing Point」的共同擁有且共同未決之申請案(代理人案號SONYP352),該案之揭示內容特此以引用方式全文併入。
雖然以下詳細描述含有用於說明之許多具體細節,但熟習此項技術者將瞭解以下細節之許多變化及更改屬於本揭示案之範疇內。因此,下文描述之本揭示案之態樣係在本說明書後面之請求項不會丟失一般性且不會對請求項施加限制之情況下來闡述的。
一般而言,本揭示案之各種實施例描述用於預測顯示器上之落點的系統及方法,該落點與使用者之眼睛在與使用者觀看HMD之顯示器相關聯地界定之跳視期間及/或結束時的視線方向相關聯。具體而言,當使用者之視線按正常方式自一個凝視點移動至另一凝視點時,可使用該跳視的界定使用者眼睛之移動的已量測部分之速度圖來預測整個跳視期間之特性。因而,可基於速度分析來預測一或多個眼睛方向,其中眼睛方向對應於顯示器上之一或多個落點。一旦得知該顯示器之目標落點,即可在考慮該目標落點之情況下更新經渲染以在HMD上顯示之圖框。舉例而言,可更新該顯示器之對應於該目標落點處或該目標落點周圍之區域的注視點區,使得眼睛之移動與注視點區在目標落點處之顯示一致。以高解析度來渲染注視點區(例如,眼睛集中且看向的地方),且可以較低解析度來渲染非注視點區(例如,周邊)。
鑒於對各種實施例之以上大體理解,現在將參考各種圖式來描述該等實施例之例示性細節。
在本說明書中,對「遊戲應用程式」之提及打算表示經由輸入命令之執行而進行的任何類型之交互式應用程式。僅為了說明,交互式應用程式包括用於玩遊戲、文本處理、視訊處理、視訊遊戲處理等之應用程式。另外,術語視訊遊戲與遊戲應用程式係可互換的。
在本說明書中,參考使用者之跳視。一般而言,跳視係指使用者之眼睛在自顯示器上之一個凝視點移至另一凝視點時所做的快速及同時之移動。眼睛之跳視移動大體上在特定方向上且未必按旋轉方式進行。跳視移動可達到每秒900度以上之峰值角速度,且持續約20-200毫秒(ms)。在跳視期間眼睛之角位移(度數)可向上達到約90度,但可經由頭部移動而伴有20度至50度以上之位移。
預測跳視中使用者之眼睛的落點
圖1A根據本揭示案之一實施例圖解說明用於遊戲應用程式之交互式玩遊戲的系統。圖解說明佩戴HMD 102之使用者100,其中HMD 102以與眼睛、護目鏡或頭盔類似之方式佩戴,且經組態以向使用者100顯示來自交互式遊戲應用程式之視訊遊戲或來自交互式應用程式之其他內容。HMD 102藉由緊挨著使用者之眼睛設置顯示機構來向使用者提供完全浸入式體驗。因此,HMD 102可向使用者之每隻眼睛提供顯示區,該等顯示區佔據使用者之視野的大部分或甚至全部。
圖1A中之系統經組態以更新HMD 102之顯示器上的目標落點,使得使用者之眼睛的移動與顯示器上之注視點區在經更新之目標落點處的呈現一致。明確言之,可在HMD 102、電腦106及雲端遊戲伺服器114中之一或多者處(單獨地或相結合)執行落點之跳視預測。藉由跳視預測引擎300執行預測,該跳視預測引擎包括深度學習引擎190,該深度學習引擎經組態以執行以下操作中之一者或兩者:基於針對測試對象量測之跳視(例如,眼睛定向資料或參數之集合)經由跳視之訓練模型而產生;以及將一使用者之一當前跳視之眼睛定向資料與跳視之訓練模型進行比較以預測在一跳視期間及/或結束時與一使用者之一視線方向相關聯的在該顯示器上之落點。
在一個實施例中,HMD 102可連接至電腦或遊戲控制台106。至電腦106之連接可為有線的或無線的。在一些實施方案中,HMD 102亦可經由替代機構或頻道(諸如經由HMD 102及電腦106兩者所連接之網路112)與電腦通信。電腦106可為本領域中已知之任何通用或專用電腦,包括但不限於遊戲控制台、個人電腦、膝上型電腦、平板電腦、行動裝置、蜂窩式電話、平板電腦、瘦用戶端、機上盒、流媒體裝置等。在一個實施例中,電腦106可經組態以執行遊戲應用程式,且自該遊戲應用程式輸出視訊及音訊以藉由HMD 102渲染。電腦106不限於執行遊戲應用程式,而亦可經組態以執行交互式應用程式,該等交互式應用程式輸出VR內容191以藉由HMD 102渲染。在一個實施例中,電腦106經組態以預測在與觀看該顯示器之使用者相關聯地界定之跳視期間及/或結束時與使用者之眼睛之視線方向相關聯的在HMD之顯示器上的落點。在其他實施例中,可藉由HMD 102、電腦106及雲端遊戲伺服器114中之一或多者(單獨地或相結合)執行落點之預測。
使用者100可操作控制器104以提供用於遊戲應用程式之輸入。至電腦106之連接可為有線的或無線的。另外,攝影機108可經組態以捕獲使用者100所處之交互式環境的一或多個影像。可分析此等捕獲之影像以確定使用者100、使用者之部位(例如,追蹤手勢以獲得輸入命令)、HMD 102及控制器104之位置及移動。在一個實施例中,控制器104包括燈或其他標記元件,可追蹤該燈或該等其他標記元件以確定該控制器之位置及定向。另外,HMD 102可包括一或多個燈,可追蹤該一或多個燈以確定HMD 102之位置及定向。如部分地藉由攝影機108實施之追蹤功能性提供用於經由控制器104及/或使用者100之身體部位(例如,手)之移動產生的輸入命令。攝影機108可包括用於捕獲來自交互式環境之聲音的一或多個麥克風。可處理藉由麥克風陣列捕獲之聲音以識別聲音源之位置。可選擇性地利用或處理來自所識別位置之聲音以排除並非來自該所識別位置之其他聲音。此外,攝影機108可被界定為包括多個影像捕獲裝置(例如,攝影機之立體對)、IR攝影機、深度攝影機及其組合。
在另一個實施例中,電腦106用作經由網路與雲端遊戲提供者112通信之瘦用戶端。雲端遊戲提供者112維持且執行使用者102正在玩之遊戲應用程式。電腦106將來自HMD 102、控制器104及攝影機108之輸入傳輸至雲端遊戲提供者,該雲端遊戲提供者處理該等輸入以影響正在執行之遊戲應用程式之遊戲狀態。將來自正在執行之遊戲應用程式的輸出(諸如視訊數據、音訊數據及觸覺回饋數據)傳輸至電腦106。電腦106可在傳輸之前進一步處理該數據或可將該數據直接傳輸至相關裝置。舉例而言,將視訊串流及音訊串流提供至HMD 102,而使用觸覺回饋數據來產生振動回饋命令,該振動回饋命令被提供至控制器104。
在一個實施例中,HMD 102、控制器104及攝影機108自身可為連接至網路110以與雲端遊戲提供者112通信的網路裝置。舉例而言,電腦106可為原本不會執行視訊遊戲處理但有助於通過網路訊務之區域網路裝置,諸如路由器。藉由HMD 102、控制器104及攝影機(亦即,影像捕獲裝置) 108至網路之連接可為有線的或無線的。
在另一個實施例中,電腦106可執行遊戲應用程式之一部分,而該遊戲應用程式之其餘部分可在雲端遊戲提供者112上執行。在其他實施例中,該遊戲應用程式之多個部分亦可在HMD 102上執行。舉例而言,用於自電腦106下載遊戲應用程式之請求可藉由雲端遊戲提供者112服務。在服務該請求時,雲端遊戲提供者112可執行該遊戲應用程式之一部分且將遊戲內容提供至電腦106以在HMD 102上渲染。電腦106可經由網路110與雲端遊戲提供者112通信。將自HMD 102、控制器104及攝影機108接收之輸入傳輸至雲端遊戲提供者112,而將遊戲應用程式下載至電腦106。雲端遊戲提供者112處理該等輸入以影響正在執行之遊戲應用程式的遊戲狀態。將來自正在執行之遊戲應用程式的輸出(諸如視訊資料、音訊資料及觸覺回饋資料)傳輸至電腦106以向前傳輸至各別裝置。
一旦遊戲應用程式已完全下載至電腦106,電腦106即可執行遊戲應用程式且自其在雲端遊戲提供者112上停止的地方重新開始玩該遊戲應用程式之遊戲。藉由電腦106處理來自HMD 102、控制器104及攝影機108之輸入,且回應於自HMD 102、控制器104及攝影機108接收到之輸入,調整該遊戲應用程式之遊戲狀態。在此類實施例中,使遊戲應用程式在電腦106處之遊戲狀態與在雲端遊戲提供者112處之遊戲狀態同步。可以週期性地進行該同步以在電腦106及雲端遊戲提供者112兩者處保持遊戲應用程式之狀態為最新的。電腦106可將輸出資料直接傳輸至相關裝置。舉例而言,將視訊及音訊串流提供至HMD 102,而使用觸覺回饋資料來產生振動回饋命令,該振動回饋命令被提供至控制器104。
圖1B根據本揭示案之一個實施例圖解說明經組態用於提供與VR內容之交互式體驗及用於提供用於編輯3D數位內容之3D編輯空間的系統。另外,該系統(例如,HMD 102、電腦106及/或雲端114)經組態以更新HMD 102之顯示器上的目標落點,使得使用者之眼睛的移動與該顯示器上之注視點區(具有高解析度之區域)在經更新之目標落點處的呈現一致。圖1B類似於圖1A中描述之系統,但增加了(例如)經組態用於經由RF信號將資料遞送至HMD 102之發射器/接收器(收發器) 110。收發器110經組態以將來自遊戲應用程式之視訊及音訊傳輸(藉由有線連接或無線連接)至HMD 102以在其上渲染。另外,收發器110經組態以傳輸3D編輯空間內之3D數位內容的影像、視訊及音訊以進行編輯。在此實施方案中,根據本揭示案之一個實施例,攝影機108可經組態以追蹤HMD 102之移動,使得收發器110可將其大部分RF功率(如經由RF輻射模式而遞送)波速控制至HMD 102 (例如,用於遞送資料)。
圖1C根據本揭示案之一個實施例圖解說明經組態用於提供與VR內容之交互式體驗的系統。另外,該系統(例如,HMD 102、電腦106及/或雲端114)經組態以更新HMD 102之顯示器上的目標落點,使得使用者之眼睛的移動與該顯示器上之注視點區(具有高解析度之區域)在經更新之目標落點處的呈現一致。圖1C類似於圖1A中描述之系統,但增加了磁源116,該磁源經組態以發射磁場以實現對HMD 102、控制器104 (例如,經組態為介面控制器)或組態有磁性感測器之任何物件(例如,手套、位於身體部位(諸如手指)上之條帶等)的磁性追蹤。舉例而言,磁性感測器可為感應元件。明確言之,磁性感測器可經組態以偵測如藉由磁源116發射之磁場(例如,強度、定向)。可使用自磁性感測器收集之資訊來確定且追蹤HMD 102、控制器104及其他介面物件等之位置及/或定向以便提供如在3D編輯空間內執行之輸入命令。在實施例中,磁性追蹤與經由攝影機108及/或在HMD 102、控制器104及/或其他介面物件內之慣性感測器執行的追蹤結合。
在一些實施方案中,相對於HMD 102來追蹤介面物件(例如,控制器104)。舉例而言,HMD 102可包括捕獲包括介面物件之影像的面向外之攝影機。在其他實施例中,HMD 102可包括用於追蹤外部物件(諸如介面物件)之IR發射器。可分析所捕獲之影像以確定介面物件相對於HMD 102之位置/定向,且使用HMD 102之已知位置/定向,以便確定介面物件在區域環境中之位置/定向及/或移動。
使用者100與遊戲應用程式或3D編輯空間的在HMD 102中顯示之虛擬實境場景介接的方式可改變,且可使用除了該介面物件(例如,控制器104)之外之其他介面裝置。舉例而言,可使用各種單手以及雙手型控制器104。在一些實施方案中,控制器104自身可藉由追蹤控制器中所包括之燈或追蹤與控制器104相關聯之形狀、感測器及慣性資料來追蹤。使用此等各種類型之控制器104或甚至僅使用所做出且藉由一或多個攝影機及磁性感測器捕獲之手勢,有可能與HMD 102上呈現之虛擬實境遊戲環境介接、對該虛擬實境遊戲環境進行控制、操縱、與之交互且參與該虛擬實境遊戲環境。
圖2根據本揭示案之一實施例在概念上圖解說明與VR內容291之產生(例如,應用程式及/或視訊遊戲等之執行)相結合的HMD 102之功能,該功能包括更新HMD 102之顯示器上之目標落點,使得使用者之眼睛的移動與顯示器上之注視點區(例如,高解析度區域)在經更新之目標落點處的呈現一致。可藉由HMD 102、電腦106及雲端遊戲伺服器114中之一或多者單獨地或相結合地來執行落點之跳視預測。在實施例中,VR內容引擎220係在HMD 102上執行。在其他實施例中,VR內容引擎220係在電腦106 (未圖示)上及/或與HMD 102結合來執行,該電腦通信地耦合至HMD 102。該電腦可在HMD本地(例如,區域網路之部分)或可位於遠端(例如,廣域網路、雲端網路等之部分)且經由網路存取。HMD 102與電腦106之間的通信可遵循有線或無線連接協定。在一實例中,執行一應用程式之VR內容引擎220可為執行一遊戲應用程式之視訊遊戲引擎,且經組態以接收輸入來更新該遊戲應用程式之遊戲狀態。為了簡潔及清楚起見,圖2之以下描述係在執行一遊戲應用程式之VR內容引擎220的背景內描述,且意欲表示能夠產生VR內容291之任何應用程式的執行。該遊戲應用程式之遊戲狀態可至少部分藉由視訊遊戲之各種參數的值界定,該等參數界定當前遊戲玩法之各種態樣,諸如物件之顯現及位置、虛擬環境之條件、事件之觸發、使用者設定檔、視角等。
在所圖解說明之實施例中,VR內容引擎220接收(例如)控制器輸入261、音訊輸入262及運動輸入263。可自與HMD 102分開之遊戲控制器的操作來界定控制器輸入261,諸如手持式遊戲控制器104 (例如,Sony DUALSHOCK®4無線控制器、Sony PlayStation ®移動運動控制器)或可穿戴式控制器(諸如可穿戴式手套介面控制器)等。舉例而言,控制器輸入261可包括方向輸入、按鈕按壓、觸發器啟動、移動、手勢或自遊戲控制器之操作處理的其他種類之輸入。可自HMD 102之麥克風251或自影像捕獲裝置208中或區域系統環境內之別處所包括的麥克風來處理音訊輸入262。可自HMD 102中包括之運動感測器259或在影像捕獲裝置108捕獲HMD 102之影像時自影像捕獲裝置108來處理運動輸入263。舉例而言,在執行遊戲應用程式之情況中,VR內容引擎220接收輸入,根據作為遊戲引擎操作之內容引擎220的組態來處理該等輸入以更新視訊遊戲之遊戲狀態。引擎220將遊戲狀態資料輸出至各種渲染模組,該等渲染模組處理該遊戲狀態資料以界定將向使用者呈現之內容。
在所圖解說明之實施例中,視訊渲染模組283經界定以渲染視訊串流以在HMD 102上呈現。
HMD 102中之光學器件270之鏡片經組態用於觀看VR內容291。顯示螢幕1304設置於光學器件270之鏡片後面,使得在使用者戴上HMD 102時,光學器件270之鏡片處於顯示螢幕1304與使用者之眼睛260之間。如此,視訊串流可藉由顯示螢幕/投影機機構1304呈現且使用者之眼睛260經由光學器件270進行觀看。HMD使用者可選擇藉由戴上HMD來與交互式VR內容291 (例如,VR視訊源、視訊遊戲內容等)交互以便(例如)在3D編輯空間中編輯3D數位內容。來自視訊遊戲之交互式虛擬實境(VR)場景可在HMD之顯示螢幕1304上渲染。如此,在遊戲開發期間,HMD 102允許使用者編輯及複查交互式VR場景。此外,在玩遊戲(以包括複查編輯)期間,HMD藉由將HMD之顯示機構設置於使用者眼睛近旁而允許使用者完全沉浸於玩遊戲中。在HMD之顯示螢幕中界定的用於渲染內容之顯示區可佔據使用者之視野的大部分或甚至全部。通常,每隻眼睛藉由觀看一或多個顯示螢幕之光學器件270之相關聯鏡片支持。
音訊渲染模組282經組態以渲染音訊串流以供使用者收聽。在一個實施例中,經由與HMD 102相關聯之揚聲器152來輸出該音訊串流。應瞭解,揚聲器152可採取開放式揚聲器、頭戴耳機或能夠呈現音訊的任何其他種類之揚聲器的形式。
在一個實施例中,在HMD 102中包括視線追蹤感測器265以實現對使用者之視線的追蹤。雖然僅包括一個視線追蹤感測器265,但應注意,如相對於圖3A至圖3C中所描述,可採用一個以上視線追蹤感測器來追蹤使用者之視線。舉例而言,在一些實施例中,僅追蹤一隻眼睛(例如,使用一個感測器),而在其他實施例中,利用多個感測器來追蹤兩隻眼睛。視線追蹤感測器265可為攝影機、光學感測器、紅外線感測器、EMG (肌電圖)感測器、光學反射器感測器、距離感測器及光學流量感測器、都卜勒(Doppler)感測器、麥克風及類似者中之一或多者。一般而言,感測器265可經組態以偵測快速之眼睛移動,諸如眼睛移動方向、加速度及速度之變化。舉例而言,視線追蹤攝影機捕獲使用者眼睛之影像,分析該等影像以確定使用者之視線方向。在一個實施例中,可利用關於該使用者之視線方向的資訊來影響視訊渲染。舉例而言,若確定使用者之眼睛正看著特定方向,則可優先化或強調針對該方向之視訊渲染。在本揭示案之實施例中,可使用視線方向及/或其他眼睛定向資料來預測在與觀看HMD之顯示器之使用者相關聯地界定之跳視期間及/或結束時與使用者之眼睛的對應視線方向相關聯的在該HMD之顯示器上的落點。可藉由跳視預測引擎400來執行跳視預測,相對於圖4A至圖4C來對此進行進一步描述。跳視預測引擎400亦可與深度學習引擎190結合來工作,該深度學習引擎經組態以執行重複及計算密集之操作。具體而言,深度學習引擎190可包括及執行用於更新HMD 102之顯示器上之目標落點的跳視模型化及跳視預測的功能,使得使用者之眼睛的移動與該顯示器上之注視點區(高解析度區域)在經更新之目標落點處的呈現一致。應瞭解,可相對於頭戴式顯示器、相對於使用者所處之真實環境及/或相對於在頭戴式顯示器上渲染之虛擬環境來界定使用者之視線方向。由於可相對於HMD之螢幕來界定視線方向,因此可將該視線方向轉換成該螢幕上之位置。該位置可為一圖框的以高解析度渲染之注視點區的中心。
一般而言,藉由視線追蹤感測器265捕獲之影像的分析在單獨地考慮時提供使用者相對於HMD 102之視線方向。然而,在與HMD 102之所追蹤位置及定向結合考慮時,亦可確定使用者之真實世界視線方向,因為HMD 102之位置及定向與使用者頭部之位置及定向同義。亦即,可依據追蹤使用者眼睛之位置移動及追蹤HMD 102之位置及定向來確定使用者之真實世界視線方向。當在HMD 102上渲染虛擬環境之視線時,可應用使用者之真實世界視線方向來確定在虛擬環境中使用者之虛擬世界視線方向。
另外,觸覺回饋模組281經組態以將信號提供至HMD 102或藉由HMD使用者操作之另一個裝置(諸如控制器104)中包括的觸覺回饋硬體。觸覺回饋可採取各種觸覺感覺之形式,諸如振動回饋、溫度回饋、壓力回饋等。
圖3A至圖3C根據一個實施例圖解說明當觀察其中面經設計以與顯示器殼體會合之內表面時的一個例示性顯示器殼體之視圖,該視圖展示包括眼睛追蹤感測器之HMD的內部部分。
明確言之,圖3A圖解說明當觀察其中面經設計以與顯示器殼體會合之內表面時的一個例示性顯示器殼體102a之視圖。如所示,介面表面102e環繞顯示器殼體102a,使得在佩戴時,顯示器殼體102a實質上覆蓋使用者之眼睛及環繞該等眼睛之面部特徵。此提供用於減少進入使用者透過光學器件102b觀看之區域中的光,且因此提供用於對藉由HMD 102提供之虛擬實境場景的更現實之觀看。當顯示器殼體102a放置至使用者之頭部上時,使用者之鼻子可滑動至鼻子插入區102d中或裝配於該鼻子插入區內。鼻子插入區102d為在顯示器殼體102a之下部部分處的、光學器件102b之間的區域。
翼片102c被設計成在使用者之鼻子至少部分地放置於鼻子插入區102d中時移動或撓曲。如所示,接近感測器206整合於顯示器殼體102a內且指向鼻子插入區102d中之區域,以便在使用者之鼻子至少部分地放置於鼻子插入區102d內時捕獲資訊。翼片102c被設計成與使用者之鼻子相鄰來裝配,且該等翼片幫助在顯示器殼體102a放置於使用者臉上時使經過濾之光朝向光學器件102b及使用者之眼睛。
亦如圖3A中所示,接近感測器302整合至顯示器殼體102a之內表面中,且位於光學器件102b之間。接近感測器302之放置因此將與使用者之額頭間隔開,使用者之額頭可能更接近於介面表面102e。然而,使用者之臉在HMD 102中之存在可藉由接近感測器302感測到。另外,在戴上HMD 102時,接近感測器302亦可感測關於距離、紋理、影像及/或大體上使用者臉上之特性的資訊。如上文所提及,接近感測器302可藉由多個感測器來界定,該等感測器可整合於顯示器殼體102a內之相同位置或不同位置。
亦示出視線偵測感測器265,該視線偵測感測器可整合於顯示器殼體102a之光學器件102b之間的位置中。視線偵測感測器265經組態以監測使用者之眼睛在透過光學器件102b觀看時之移動。可使用視線偵測感測器來識別使用者在VR空間中正在看之位置。在其他實施例中,若使用視線偵測感測器265來監測使用者之眼睛,則此資訊可用於使用者之化身臉,使得化身臉具有與使用者眼睛之移動類似地移動之眼睛。亦可使用視線偵測感測器265來監測使用者何時可能會經歷動暈症。
視線偵測器感測器265經組態用於捕獲與眼睛定向有關之一或多個參數。可使用來自視線偵測器感測器265之資訊來基於眼睛瞳孔之定向來確定使用者之眼睛的視線方向(例如,角度θ),其中瞳孔為眼睛中央中允許光進入且撞擊視網膜之開口。視線偵測器感測器265可與一或多個光源(未圖示)結合來工作,該等光源發出用於照射眼睛的不可見光(例如,紅外線)之一或多個波長的能量。舉例而言,該等光源可為將光能量朝向眼睛引導之發光二極體(LED)。可使用視線偵測器感測器265來捕獲離開眼睛之瞳孔、角膜及/或虹膜之反射,其中隨後分析(例如,藉由HMD 102、電腦106等中之處理器)該等反射以確定瞳孔之視線方向及/或定向,該視線方向及/或定向可翻譯為眼睛之視線方向。可相對於HMD 102及/或真實世界空間來提及視線方向(例如,角度θ)。可實施各種已知技術以確定視線定向及/或方向,諸如亮瞳孔追蹤、暗瞳孔追蹤等。圖解說明視線追蹤系統820,該視線追蹤系統包括圖4A中所示之一或多個光源401及一或多個視線偵測感測器265,該視線追蹤系統經組態用於捕獲眼睛定向資料,該眼睛定向資料用於確定使用者之瞳孔及/或眼睛之方向及/或定向。
另外,可基於視線方向來確定額外資訊。舉例而言,可確定眼睛移動資料,諸如眼睛之速度及加速度。可使用眼睛之所追蹤移動來確定使用者之跳視。亦可使用來自該等感測器之資訊來追蹤使用者之頭部。舉例而言,資訊可對頭部之位置、運動、定向、定向變化作出回應。可使用此資訊來確定真實世界環境內之視線方向。
圖3B至圖3C亦圖解說明HMD 102之不同透視圖,該等透視圖展示視線方向感測器265之各種放置位置。舉例而言,圖3B為放置於光學器件102b之外部部分中以便捕獲眼睛視線的視線偵測感測器265a及265b的實例。圖3C包括位於光學器件102b之間以便捕獲眼睛視線的視線偵測感測器265x及265y。視線偵測感測器之位置可在顯示器殼體102a內變化,且一般而言,經定位以提供指向使用者之眼睛的視圖。提供此等圖示以展示視線偵測感測器可靈活地定位於HMD 102內之不同位置。
圖4A圖解說明根據本揭示案之一個實施例的預測引擎400,該預測引擎經組態用於預測與觀看HMD之顯示器之使用者相關聯的跳視之落點。如先前所描述,預測引擎400可位於HMD 102、電腦106及雲端遊戲伺服器114中之一或多者處。
如所示,視線追蹤系統1220經組態用於確定使用者之瞳孔及/或眼睛的視線方向及/或定向。視線方向可能係相對於顯示器而言,諸如HMD 102之顯示器。如先前所描述,視線追蹤系統1220包括一或多個光源401及一或多個視線偵測感測器265。明確言之,在一或多個取樣點處收集來自視線追蹤系統1220之資訊。舉例而言,可週期性地收集該資訊,其中週期要足以在跳視期間對眼睛取樣一次或多次。舉例而言,資訊可包括在特定時刻時眼睛之視線方向。針對一或多個取樣點之資訊保持於儲存器1206中以供之後存取,包括針對當前取樣點之資訊。
另外,將針對當前取樣點之資訊作為輸入遞送至預測引擎400。更特定而言,在一個實施例中,Δθ速度產生器410分析來自當前取樣點402之資訊及來自先前取樣點403之資訊(自儲存器1206遞送或保持於產生器410可存取之緩衝器405中)以確定眼睛移動之速度。因而,速度產生器410經組態以基於來自當前取樣點402之資訊及來自先前取樣點403之資訊來確定針對特定取樣點之眼睛移動的速度。舉例而言,該資訊可為在特定時間時之視線方向。在另一個實施例中,執行速度之中心差分估計,代替後向差分。如此,有可能推遲偵測且使用先前位置及下一個位置來獲得速度之較平滑估計。在執行跳視偵測時,此可幫助減少偽陽性。
將速度資訊(例如,dθ/dt)作為輸入提供至跳視識別器420。可藉由速度產生器410採用各種技術來確定使用者之眼睛移動何時處於跳視內。在一個實施例中,當速度滿足及/或超過臨限值時,眼睛及/或眼睛之眼睛移動處於跳視內。選擇該臨限值以避免可能未必會指示眼睛正經歷跳視之雜訊資訊。舉例而言,該臨限值高於通常見於在眼睛正執行平滑追隨時(諸如在追蹤物件時)之速度。僅為了說明,可在10 ms內執行跳視偵測。
如先前所描述,跳視界定使用者之眼睛在自顯示器上之一個凝視點移至另一凝視點時所做的快速及同時之移動。跳視移動可達到每秒900度以上之峰值角速度,且持續約20-200毫秒(ms)。以120赫茲(Hz)之圖框速率,跳視可持續約2個至25個圖框。舉例而言,HMD以90或120 Hz之速率再新以將使用者之不舒適感(例如,由於動暈症)降至最低。
一旦確定眼睛及/或眼睛移動處於跳視中,預測引擎400即經組態以確定顯示器上之落點,使用者之視線方向正指向該落點。亦即,在跳視期間之特定點(例如,中間點、結束等)時,可藉由預測引擎400且更明確言之藉由深度學習引擎190 (如圖4B中所示)來確定落點。明確言之,樣本集收集器430收集來自一組取樣點之資訊,以包括來自當前取樣點402之資訊。可進一步確定自該組取樣點確定之速度資訊,使得可針對使用者經歷之跳視來產生全速度圖之至少一節段。將該資訊(包括速度圖之該節段)作為輸入提供至深度學習引擎190以確定落點。
舉例而言,圖4B圖解說明根據本揭示案之一個實施例的作為深度學習引擎190之遞歸神經網路,該遞歸神經網路用於預測與觀看HMD之顯示器之使用者相關聯的跳視之落點。該遞歸神經網路包括長短期記憶體(LSTM)模組440及全連接多層網路450 (例如,多層感知器)。明確言之,深度學習引擎190經組態以將輸入資訊451 (例如,速度圖之節段等)與深度學習引擎190所產生及/或已知之跳視的模型進行比較。舉例而言,將所分析之跳視的節段與由測試對象之複數個跳視建立的速度圖進行比較。在其他實施例中,傳入神經網路之輸入可包括除了速度之外之資訊,諸如每個取樣點處之速度、每個取樣點處之視線方向及取樣點中之每一者處的時間。如此,可基於深度學習引擎190所建立及/或已知之跳視模型針對跳視期間之任一點來確定對應於使用者之眼睛之方向的在顯示器上之落點。如所示,深度學習引擎190之輸出452包括指示使用者之視線方向的向量(XF-n
),該視線方向指向所確定之落點。視情況地,包括預測使用者之眼睛何時指向落點的時間(tn
)參數。時間(tn
)參數可涉及一或多個點,諸如跳視之開頭,確定跳視時之點、取樣點451之樣本集中的最新取樣點等。
圖4C圖解說明根據本揭示案之一個實施例的用於基於測試對象之所量測跳視來建立跳視模型及或用於彼等跳視模型之速度圖且用於(例如)執行對HMD之顯示器上之落點的預測的例示性神經網路,其中該落點與在結合觀看(例如,HMD之)顯示器之使用者界定的跳視期間及/或結束時使用者之眼睛的視線方向相關聯。具體而言,跳視預測引擎400中之深度學習或機器學習引擎190經組態以接收與使用者之眼睛定向資料(例如,視線方向、時間、跳視之速度圖的節段等)有關之資訊作為輸入。深度學習引擎190利用人工智慧(包括深度學習演算法、強化學習或其他基於人工智慧之演算法)建立跳視模型(如先前所描述,諸如用於彼等跳視模型之速度圖)來辨識使用者目前正經歷跳視且預測在跳視期間之任何點處視線方向指向何處。
亦即,在學習及/或模型化階段期間,藉由深度學習引擎190使用輸入資料(例如,測試對象之跳視的量測結果)來產生跳視模型(包括用於彼等跳視模型之速度圖),該等跳視模型可用於預測顯示器之落點,使用者之眼睛指向該落點。舉例而言,輸入資料可包括測試對象之跳視的多個量測結果,該等量測結果在饋送至深度學習引擎190中時經組態以產生一或多個跳視模型及針對每個跳視模型產生跳視辨識演算法,該跳視辨識演算法可用於識別當前跳視何時匹配該跳視模型。
明確言之,神經網路190表示用於分析資料集以確定對應使用者之回應、動作、行為、希望及/或需要之自動分析工具的實例。不同類型之神經網路190係可能的。在一實例中,神經網路190支持深度學習。因此,可實施使用監督式或非監督式訓練之深度神經網路、卷積深度神經網路及/或遞歸神經網路。在另一個實例中,神經網路190包括支持強化學習之深度學習網路。舉例而言,神經網路190被設置為支持強化學習演算法之馬可夫決策過程(MDP)。
一般而言,神經網路190表示互連節點之網路,諸如人工神經網路。每個節點學習來自資料之一些資訊。可在該等節點之間經由互連來交換知識。傳入神經網路190之輸入啟動一組節點。轉而,該組節點啟動其他節點,藉此傳播關於該輸入之知識。對其他節點重複此啟動過程,直至提供輸出為止。
如所圖解說明,神經網路190包括節點之階層。在最低階層層級處,存在輸入層191。輸入層191包括一組輸入節點。舉例而言,將此等輸入節點中之每一者映射至在監測經歷對應跳視之測試使用者/對象期間經由致動器主動地或藉由感測器被動地收集之區域資料115 (例如,眼睛定向資料)。
在最高階層層級處,存在輸出層193。輸出層193包括一組輸出節點。輸出節點表示與當前經歷之跳視之資訊有關的決策(例如,預測)。如先前所描述,該等輸出節點可將使用者經歷之跳視與先前模型化之跳視進行比較,且進一步識別在該跳視期間及/或結束時(例如,HMD之)顯示器之所預測落點,使用者之視線方向指向該落點。
可將此等結果與自先前交互及對測試對象之監測獲得的預定及真實之結果進行比較以便細化及/或修改深度學習引擎190使用之參數以針對給定之一組輸入反復地確定適當之跳視模型及在跳視期間及/或結束時對應於使用者之視線方向的、顯示器之所預測落點。亦即,在細化該等參數時,神經網路190中之節點學習可用於作出此類決策的跳視模型之參數。
明確言之,在輸入層191與輸出層193之間存在隱藏層192。隱藏層192包括「N」個隱藏層,其中「N」為大於或等於一之整數。轉而,該等隱藏層中之每一者亦包括一組隱藏節點。該等輸入節點互連至該等隱藏節點。同樣地,該等隱藏節點互連至該等輸出節點,使得該等輸入節點未直接互連至該等輸出節點。若存在多個隱藏層,則該等輸入節點互連至最低隱藏層之隱藏節點。轉而,此等隱藏節點互連至下一個隱藏層之隱藏節點等等。次高隱藏層中之隱藏節點互連至該等輸出節點。一互連連接兩個節點。該互連具有可被學習之數值權重,使神經網路190適應於輸入且能夠學習。
一般而言,隱藏層192允許在對應於該等輸出節點之所有任務間共用該等輸入節點。為此,在一個實施方案中,經由隱藏層192將變換f
應用於輸入節點。在一實例中,變換f
係非線性的。不同之非線性變換f
係可用的,包括(例如)線性校正函數f(x)
= max(0,x
)。
神經網路190亦使用成本函數c來找到最佳解。該成本函數量測藉由神經網路190輸出的被定義為f(x) (對於給定輸入x)之預測與標註真值或目標值y (例如,預期結果)之間的偏差。最佳解表示無解之成本比該最佳解之成本低的情形。成本函數之實例為預測與標註真值之間的均方差,此係針對此類標註真值標記可用之資料而言。在學習過程期間,神經網路190可使用反向傳播演算法以採用不同最佳化方法來學習將成本函數降至最低之模型參數(例如,隱藏層192中之節點之間的互連之權重)。此類最佳化方法之實例為隨機梯度下降。
在一實例中,用於神經網路190之訓練資料集可來自相同資料域。舉例而言,對神經網路190進行訓練以基於給定之一組輸入或輸入資料來學習測試對象之類似跳視的模式及/或特性。舉例而言,該資料域包括眼睛定向資料。在另一個實例中,該訓練資料集來自不同之資料域以包括除基線外之輸入資料。因而,神經網路190可使用眼睛定向資料來辨識跳視,或可經組態以基於眼睛定向資料產生給定跳視之跳視模型。
圖5A根據本揭示案之一個實施例圖解說明無跳視預測之渲染管線501,該圖展示圖框更新如何比眼睛移動慢,使得在完成眼睛移動後,使用者看影像係模糊的。如先前所描述,渲染管線501可在HMD 102、電腦106及雲端遊戲伺服器114 (單獨地或相結合)內實施。
雖然渲染管線501如圖5A中所示未啟用落點預測,但應理解,在本揭示案之實施例中,渲染管線501可經最佳化以分析視線追蹤資訊以便識別跳視及眼睛移動,且預測在跳視期間及/或結束時使用者之眼睛260所指向之(例如,HMD 102之)顯示器上的落點(例如,開啟),如圖5B中所示。亦即,在圖5B中,渲染管線501可經組態以基於落點之預測來執行注視點渲染,如將在下文相對於圖5B進一步描述。
明確言之,渲染管線包括中央處理單元(CPU) 1202、圖形處理單元(GPU) 1216及該兩者可存取之記憶體(例如,頂點緩衝器、索引緩衝器、深度或Z緩衝器、用於儲存所渲染圖框以供遞送至顯示器之圖框緩衝器等)。渲染管線(或圖形管線)說明了用於渲染影像(諸如在使用3D (三維)多邊形渲染過程時)之一般過程。舉例而言,用於所渲染影像之渲染管線501輸出顯示器中之每一像素的對應顏色資訊,其中該顏色資訊可表示紋理及著色(例如,顏色、陰影等)。
CPU 1202可大體上經組態以執行物件動畫。CPU 1202接收與3D虛擬環境內之物件對應的輸入幾何形狀。該等輸入幾何形狀可表示為3D虛擬環境內之頂點及與該等頂點中之每一者對應的資訊。舉例而言,3D虛擬環境內之物件可表示為藉由頂點界定之多邊形(例如,三角形),其中隨後經由渲染管線501處理對應多邊形之表面以達成最終效果(例如,顏色、紋理等)。CPU 1202之操作係眾所周知的,且在本文中進行概述。一般而言,CPU 1202實施一或多個著色器(例如,計算、頂點等)以視對物件施加及/或藉由物件施加之力(例如,諸如重力之外力及誘發移動的該物件之內力)而逐圖框地執行物件動畫。舉例而言,CPU 1202在3D虛擬環境中執行物件之實體模擬及/或其他功能。CPU 1202隨後發出藉由GPU 1216執行的用於多邊形頂點之繪畫命令。
明確言之,藉由CPU 1202產生之動畫結果可儲存至頂點緩衝器,該頂點緩衝器隨後藉由GPU 1216存取,該GPU經組態以執行多邊形頂點至(例如,HMD之)顯示器上之投影及所投影多邊形之鑲嵌以渲染該等多邊形頂點。亦即,GPU 1216可經組態以進一步建立組成3D虛擬環境內之物件的多邊形及/或圖元,以包括對該等多邊形執行照明、陰影及著色計算,此取決於場景之照明。可執行額外操作,諸如用於識別且忽略在視見平截頭體外部之圖元的剪輯,及用於將場景中之物件投影至顯示器上(例如,將物件投影至與使用者之視點相關聯的影像平面)的光柵化。簡而言之,光柵化包括查看每個圖元,且確定哪些像素受該圖元影響。可使用圖元之分裂來將圖元分解成像素大小之片段,其中每個片段對應於顯示器中之一像素及/或與渲染視點相關聯之參考平面。當在顯示器上渲染圖框時,一或多個圖元之一或多個片段可促成像素之顏色。舉例而言,對於給定像素,3D虛擬環境中之所有圖元的片段結合成該顯示器之該像素。亦即,用於對應像素之全部紋理及陰影資訊相結合以輸出該像素之最終顏色值。此等顏色值可儲存於圖框緩衝器中,在逐圖框地顯示場景之對應影像時,將該等顏色值掃描至對應像素。
渲染管線501可包括視線追蹤系統1220,該視線追蹤系統經組態以將視線方向及/或定向資訊提供至CPU 1202。此視線方向資訊可用於執行注視點渲染,其中注視點區以高解析度渲染且對應於使用者注視之方向。圖5A圖解說明經組態用於注視點渲染但無跳視預測(亦即,關閉跳視預測)之渲染管線501。亦即,不執行落點預測,且因此在HMD上顯示之圖框具有與使用者之眼睛移動不一致的注視點區,因為每個計算出之注視點區在顯示時係舊的,尤其係在眼睛移動時。另外,圖5A展示時間線520,該時間線指示將一序列中之圖框(例如,F1-F8)自渲染管線501掃描輸出之時間。圖框F1-F8之序列亦為觀看顯示器之使用者的跳視之部分。
如圖5A中所示,渲染管線如圖所示包括藉由視線追蹤系統1220、CPU 1202、GPU 1216及用於將所渲染圖框掃描輸出至顯示器1210之光柵引擎按順序執行之操作。為了說明,展示渲染管線序列591-595。由於空間限制,未展示其他管線序列,諸如用於圖框F3至F-22之序列。在圖5A中所示之實例中,渲染管線501中之每個組件按相同頻率操作。舉例而言,視線追蹤系統1220可以120 Hz輸出視線方向及/或定向資訊,120 Hz可為CPU 1202及GPU 1216之渲染管線使用的相同頻率。因而,可針對在渲染管線中被掃描輸出之每個圖框更新使用者眼睛260之視線方向。在其他實施例中,視線追蹤系統1220並未以相同頻率操作,使得視線方向資訊可能不會與正掃描輸出之所渲染圖框一致。在該情況中,若視線追蹤系統1220之頻率比CPU 1202及GPU 1216使用之頻率慢,則視線方向資訊可能會增加額外延遲。
可使用視線追蹤資訊來確定以高解析度渲染之注視點區。該注視點區外部之區域以較低解析度顯示。然而,如圖5A中所示,在無跳視預測之情況下,到使用視線追蹤資訊來確定將掃描輸出之圖框時,在顯示使用視線追蹤資訊之對應圖框之前,已經過了至少2個圖框週期,及直至三個圖框週期。舉例而言,在渲染管線序列591中,在在時間t-20 (跳視之中間點)時之第一圖框週期中確定視線追蹤資訊,且將該視線追蹤資訊遞送至CPU 1202 在時間t-21時之第二圖框週期中,CPU 1202對物件執行實體模擬,且將多邊形圖元及繪畫指令遞送至GPU 1216。在時間t-23時之第三圖框週期中,GPU執行圖元裝配以產生所渲染圖框(F23)。另外,GPU可渲染與在時間t-20時之第一圖框週期中遞送之視線方向對應的注視點區,提前至少2個圖框週期確定該視線方向。在時間t-23時之第四圖框週期中掃描輸出圖框F23,包括該注視點區。應注意,在渲染管線序列591中,在時間t-20時確定之視線追蹤資訊已過時了至少t-21及t-22時之圖框週期(兩個圖框週期)及可能過時了第三圖框週期之一部分。類似地,管線序列592在時間t-24時掃描輸出圖框F24,該圖框具有返回在第一圖框週期中在時間t-21時界定之注視點區。此外,管線序列593在時間t-25時掃描輸出圖框F25,該圖框具有返回在第一圖框週期中在時間t-22時界定之注視點區。另外,管線序列594在時間t-26時掃描輸出圖框F26,該圖框具有返回在第一圖框週期中在時間t-23時界定之注視點區。另外,管線序列595在時間t-27時掃描輸出圖框F27,該圖框具有返回在第一圖框週期中在時間t-24時界定之注視點區。
由於眼睛260連續地移動經過針對每個渲染管線偵測之點(例如,時間) (例如,在渲染管線序列591或592或593等之開頭),因此所掃描之對應渲染管線序列(例如,序列595)之圖框(例如,圖框F27)中之注視點區可能過時了至少2至3個圖框週期。舉例而言,所渲染圖框F27在掃描輸出時將具有不與使用者之視線方向一致的注視點區。明確言之,顯示器1210如圖所示展示時間t-27時之圖框F27,其中跳視路徑510 (在圖框F0與F27之間)疊加至顯示器1210上且展示凝視點A (例如,方向506及向量XF-0
),該凝視點對應於跳視之開頭。為了說明,在時間t-0時在掃描路徑510之開頭掃描輸出圖框F1,該圖框具有以凝視點A為中心之注視點區。跳視路徑510包括凝視點B,該凝視點對應於跳視結束或至少跳視之第二點。為了說明,在時間t-27時在跳視路徑510結束時掃描輸出圖框F27。
同樣地,由於並未藉由渲染管線501執行跳視路徑之預測,因此藉由視線追蹤系統1220提供之視線方向資訊過時了至少兩個或三個圖框週期。因而,當在時間t-27時針對渲染管線序列595掃描輸出圖框F27時,雖然眼睛260注視凝視點B (具有眼睛方向507及向量XF-27
),但渲染管線序列595使用在時間t-24時提供之視線方向資訊,該視線方向資訊為過時的。亦即,在時間t-24時確定之視線方向資訊傳播通過渲染管線序列595以在時間t-27時掃描輸出。明確言之,視線追蹤系統1220在時間t-24時標註指向顯示器1210上之點591的視線方向。因而,在時間t-24時,當掃描輸出圖框F24時,使用者之眼睛260指向顯示器之點591。圖框F24之注視點區在渲染時是否正確地位於顯示器1210上可能並不重要,因為在跳視期間,眼睛260接收到之影像並未經過完全處理且觀看者可能看起來係模糊的。然而,當在時間t-27時將圖框F27掃描輸出於顯示器1210上時,使用者之眼睛指向凝視點B (如藉由虛線區592所示),但所渲染之注視點區549在時間t-24時被計算為環繞點591。因而,對於眼睛260在時間t-27時指向且集中於區592之使用者,圖框F27看起來係模糊的,因為區592被算計為在周邊且可能以較低解析度來渲染,而如先前所描述,過時之注視點區549 (眼睛未指向該區)以高解析度渲染。
圖5B根據本揭示案之一個實施例圖解說明渲染管線之所得效果,該渲染管線經組態有觀看HMD之顯示器的使用者之眼睛移動的跳視預測,使得在完成眼睛移動之後,藉由在渲染管線中提前更新高解析度之注視點區使使用者看到之影像為清晰的。舉例而言,圖5A中所示之渲染管線501現在啟用跳視預測,且更具體而言啟用落點預測。亦即,渲染管線501現在經最佳化以分析視線追蹤資訊以便識別跳視及眼睛移動,且預測在跳視期間及/或結束時(例如,HMD 102之)顯示器上的落點(例如,開啟),使用者之眼睛260的視線方向指向該落點。因而,在圖5B中,渲染管線501現在經組態以基於落點之預測來執行注視點渲染。僅為了說明,圖5B圖解說明在一個實施例中對跳視510結束時之落點的預測,但在其他實施例中,對跳視期間之落點的預測為可能的(例如,預測超過當前取樣點3至5個圖框週期之落點)。
明確言之,顯示器1210如圖所示呈現時間t-27時之圖框F27。跳視路徑510疊加至顯示器1210上且展示凝視點A (例如,方向506及向量XF
-0
),該凝視點對應於跳視之開頭。為了說明,在時間t-0時在掃描路徑510之開頭掃描輸出圖框F1,該圖框具有以凝視點A為中心之注視點區。跳視路徑510包括凝視點B,該凝視點對應於跳視結束或至少跳視之第二點。為了說明,在時間t-27時在跳視路徑510結束時掃描輸出圖框F27。
在掃描輸出每個圖框時,在渲染管線501內執行跳視預測。在一個實施例中,可在CPU 1202、GPU 1216或該兩者之組合內執行跳視預測及/或落點預測。在另一個實施例中,在遠端處執行跳視預測且將跳視預測作為輸入遞送至渲染管線501。一旦執行了預測,GPU 1216即可基於落點預測來渲染具有注視點區之圖框。明確言之,GPU 1216可修改注視點渲染,使得替代如先前在圖5A中所描述依賴於過時之視線方向資訊,使用所預測落點來確定注視點區之位置。
明確言之,將用於凝視點B之所預測落點疊加至顯示器1210上。此等落點係在先前之渲染管線序列中確定。明確言之,到掃描輸出圖框F8及後續圖框時,例如,跳視之所預測落點收斂至凝視點B。如所示,在偵測到跳視後之某點時(例如,在時間t-5時掃描輸出圖框F5期間),執行預測。舉例而言,可自渲染圖框F5及後續圖框開始來執行預測。先前在圖5A中對跳視510進行了介紹,且該跳視包括作為起點之凝視點A及凝視點B (例如,作為終點或跳視內之預定點—諸如將來之3至5個圖框週期)。
在掃描輸出圖框F5時,所預測落點(例如,以向量XF-5
為中心)被圖解說明為所預測注視點區541,所預測注視點區偏離凝視點B。就下一個渲染管線序列而言,在掃描輸出圖框F6時,所預測落點(例如,以向量XF-6
為中心)被圖解說明為所預測注視點區542,所預測注視點區較接近但仍偏離凝視點B。由於預測收斂,因此在下一個渲染管線序列中,在掃描輸出圖框F7時,所預測落點(以向量XF-7
為中心)被圖解說明為所預測注視點區543,所預測注視點區非常接近凝視點B。在下一個渲染管線序列中,在掃描輸出圖框F8時,收斂可能會出現,其中所預測落點(例如,以向量XF-8
為中心)被圖解說明為所預測注視點區592 (粗線),所預測注視點區以凝視點B為中心。對於任何後續之渲染管線序列,使用注視點區592進行渲染,且該注視點區以凝視點B為中心,諸如在渲染及掃描輸出跳視510之圖框F9至F27時。如此,當渲染圖框F27時,由於落點預測為凝視點B,因此注視點區592與使用者之眼睛260的移動一致,諸如在跳視結束時。此外,由於落點之預測在圖框F8之渲染及掃描輸出時收斂,因此所有圖框F9至F27可能在使用者之眼睛準備移動時就具有注視點區592。因而,代替在無預測之情況下在注視點區549處進行渲染(如圖5A中所描述),使用所預測注視點區592來更新目標落點(例如,經界定數目之將來之圖框週期、跳視結束等),使得當眼睛到達所預測落點時,渲染具有以所預測落點為中心之注視點區的圖框。
圖6A根據本揭示案之一個實施例圖解說明展示觀看HMD之顯示器的使用者之跳視的眼睛位移及速度的圖600A。圖600A包括展示跳視期間之眼睛移動的角速度(dθ/dt)的垂直軸610A。另外,圖600A包括展示角位移(θ)之另一垂直軸610B。圖600A包括展示時間之水平軸615,且包括在時間t-0與大致t-27及/或t-28之間的跳視之時間序列。
僅為了說明,圖600A在線630中展示跳視之角位移。如先前所介紹,跳視界定使用者之眼睛在自顯示器上之一個凝視點移至另一凝視點時所做的快速及同時之移動。如所示,如藉由眼睛之位移線630所示的角移動係沿特定方向(例如,自左至右)。亦即,在跳視期間,在圖600A之實例中,眼睛之視線方向在0度至30度之間移動。
對應地,僅為了說明,圖600A在線620中展示在跳視期間眼睛之速度。不同跳視之速度圖大體上遵照線620中所示之相同形狀。舉例而言,在跳視開始時,跳視之速度遵照線性發展(例如,在時間t-0與t-8之間)。在該線性發展之後,速度可能會達到平穩狀態,諸如在時間t-8與t-17之間。線620中之速度圖展示在平穩狀態之後在跳視結束之前速度之陡降,諸如在t-17與t-27之間。
本揭示案之實施例將當前跳視之速度圖的一節段(例如,線620之線性部分)與模型化之跳視(例如,在訓練深度學習引擎190時建立)進行匹配。當前跳視之落點在跳視期間之任何點時可能接近模型化之跳視的落點,且可針對當前跳視進行預測。
圖6B根據本揭示案之一個實施例圖解說明在觀看HMD之顯示器的使用者之跳視的速度圖600B中之各種取樣點處對眼睛定向/追蹤資料之取樣。圖600B遵照圖6A之圖600A以包括展示在跳視期間眼睛移動之角速度(dθ/dt)的垂直軸610A及水平軸615,但被隔離以在線620中僅展示該跳視之速度。
明確言之,在跳視期間之各種取樣點時,自視線追蹤系統1220收集眼睛定向/追蹤資料。僅為了說明,該等取樣點可至少出現於時間t-0、t-1、t-2 … t-27 … t-n時。舉例而言,在線620上所示之取樣點S1
與用於時間t-1之眼睛追蹤資料(例如,視線方向、速度等)相關聯,取樣點S2
與用於時間t-2之眼睛追蹤資料相關聯,取樣點S3
與用於時間t-4之眼睛定向/追蹤資料相關聯,取樣點S5
與用於時間t-5之眼睛追蹤資料相關聯,取樣點S6
與用於時間t-6之眼睛追蹤資料相關聯,取樣點S7
與用於時間t-7之眼睛追蹤資料相關聯,取樣點S8
與用於時間t-8之眼睛追蹤資料相關聯等等。作為一實例,如先前所描述,在每個取樣點處收集之資料可包括視線方向、時間及其他資訊。基於該資料,可確定使用者之眼睛的速度資訊。在一些實施例中,可自視線追蹤系統1220直接收集速度資料。
因而,在藉由速度線620指示之跳視期間,在至少取樣點S1
至大致S27
內收集及/或確定眼睛追蹤資料。在圖600B中突出顯示取樣點S1
至S8
以展示如先前在圖5B中所指示的跳視(例如,跳視510之結束)之落點的預測之收斂,圖5B大致在對應於取樣點S8
之時間t-8時展示收斂。
圖6C根據本揭示案之一個實施例圖解說明用於一或多組取樣點之眼睛定向/追蹤資料之收集,該等取樣點用於預測與觀看HMD之顯示器的使用者之眼睛260相關聯的跳視之落點。圖6C展示使用在圖6B之圖600B中介紹的取樣點處之資訊來預測使用者之眼睛的跳視之落點。
如所示,在多個取樣點650 (例如,S1
至S27
,在時間t-1至t-27中之每一者時)處藉由眼睛260上之視線追蹤系統1220來收集眼睛定向/追蹤資料。僅為了說明,該跳視如圖所示在凝視點A與凝視點B之間在0度至30度之間移動。
明確言之,自針對取樣點650中之每一者的眼睛定向/追蹤資料來收集及/或確定速度資料。突出顯示取樣點之圓圈640如圖所示放大且至少包括取樣點S1
至S8
。舉例而言,速度資料V1
與取樣點S1
相關聯,速度資料V2
與取樣點S2
相關聯,速度資料V3
與取樣點S3
相關聯,速度資料V4
與取樣點S4
相關聯,速度資料V5
與取樣點S5
相關聯,速度資料V6
與取樣點S6
相關聯,速度資料V7
與取樣點S7
相關聯,且至少速度資料V8
與取樣點S8
相關聯。針對其餘取樣點收集及/或確定額外資料,但該等額外資料未圖解說明於圓圈640中。
為了進行預測,一旦使用者之眼睛被識別為處於跳視中,即收集來自多組取樣點之資訊。為了說明,可在與取樣點S5
相關聯之時間t-5時進行跳視識別,該時間亦與將來之圖框F8之渲染的開頭一致。在一個實施例中,一旦眼睛之速度滿足及/或超過臨限速度,即證實了跳視識別。
在跳視識別之後,執行預定落點之預測。具體而言,識別來自一組取樣點之資訊。至少,該資訊包括所量測及/或所計算之角速度。該組可含有預定數目個取樣點,包括當前取樣點。舉例而言,該組可含有1至10個取樣點。在一個實施例中,該組可含有3至5個取樣點以減少誤差。
為了說明,如圖6C中所描述,該組可含有4個取樣點,包括當前取樣點。展示自多組取樣點收集資訊之滑動窗口。舉例而言,在對應於當前取樣點S5
之圖框週期或時間時,窗(w1)包括取樣點S2
至S5
,其中使用來自彼等取樣點之各別資訊(例如,速度)來預測落點。在對應於下一個當前取樣點S6
之下一個圖框週期或時間時,窗(w2)包括取樣點S3
至S6
,其中使用各別資訊來預測經更新之落點。此外,在對應於下一個當前取樣點S7
之下一個圖框週期或時間時,窗(w3)包括取樣點S4
至S7
,其中使用各別資訊來預測經更新之落點。收斂可能會在對應於下一個當前取樣點S8
之下一個圖框週期或時間時發生,其中窗(w4)包括取樣點S5
至S8
。
先前相對於圖5B描述了收斂。落點之後續預測可導致對收斂之證實,諸如在窗w5 …. w27內。在一個實施例中,一旦證實了收斂,即可停用預測。
圖6D根據本揭示案之一個實施例圖解說明列出用於多組取樣點之眼睛定向資料的表600D,該等取樣點用於預測與觀看HMD之顯示器之使用者相關聯的跳視之落點(例如,跳視之結束)。圖6D與圖5B一致,展示預測落點在凝視點B處之預測及收斂。
明確言之,行661展示窗名稱(例如,w1至w5);行662展示多組取樣點;行663展示與跳視結束一致之預測落點,其中角位移係以在凝視點A處跳視之開始為參考;且行664展示所預測之跳視及時間(例如,按圖框或圖框週期),其中預測之結束時間係以在凝視點A處跳視之開始時間為參考。
舉例而言,窗w1使用來自包括取樣點S2
至S5
之一組取樣點的資訊(例如,速度)來預測落點(跳視之結束)。針對預測落點的使用者之眼睛的預測視線方向為向量XF-5
,具有42度之角度。該預測落點在圖5B中展示為以凝視區541為中心。另外,跳視之預測結束時間或持續時間預測為大概係與圖框及/或圖框週期F38相關聯之時間t-38。
此外,窗w2使用來自包括取樣點S3
至S6
之一組取樣點的資訊(例如,速度)來預測經更新之落點(跳視之結束)。針對預測落點的使用者之眼睛的預測視線方向為向量XF-6
,具有18度之角度。該預測落點在圖5B中展示為以凝視區542為中心。另外,跳視之預測結束時間或持續時間預測為大概係與圖框及/或圖框週期F20相關聯之時間t-20。
窗w3使用來自包括取樣點S4
至S7
之一組取樣點的資訊(例如,速度)來預測經更新之落點(跳視之結束)。針對預測落點的使用者之眼睛的預測視線方向為向量XF-7
,具有28度之角度,該預測視線方向以30度之角度接近凝視點B。該預測落點在圖5B中展示為以凝視區543為中心,該凝視區接近於凝視點B。另外,跳視之預測結束時間或持續時間預測為大概係與圖框及/或圖框週期F25相關聯之時間t-25。
窗w4及w5展示預測落點(例如,跳視之結束)之收斂。亦即,與此等窗相關聯之預測展示處於30度之落點(例如,相對於凝視點A)。舉例而言,窗(w4)使用取樣點S5
至S8
來預測落點。使用者之眼睛的預測視線方向及預測落點為向量XF-8
,具有30度之角度,該角度亦為至凝視點B之角度。跳視之預測結束時間或持續時間預測為大概係與圖框及/或圖框週期F27相關聯之時間t-27。此外,窗(w5)使用取樣點S6
至S9
來預測在凝視點B處30度之相同落點,具有在與圖框及/或圖框週期F27相關聯之時間t-27時的、跳視的相同之預測結束時間或持續時間。因而,收斂在窗(w4)時發生,且對收斂之證實在窗(w5)時發生。後續預測將展示收斂之落點。
已詳細描述了遊戲控制台、HMD及雲端遊戲伺服器之各種模組,根據本揭示案之一個實施例,現在相對於圖7之流程圖700來描述一種用於預測與經歷跳視之使用者之眼睛的視線方向相關聯的在(例如,HMD之)顯示器上之落點的方法,其中該落點可出現於該跳視期間之任何點或結束時。如先前所描述,流程圖700圖解說明用於預測在HMD、遊戲控制台及雲端遊戲伺服器中之一或多者處之落點的方法及所涉及之操作的資料流。明確言之,流程圖300之方法可至少部分地藉由圖1A至圖1C、圖2及圖4A至圖4C之跳視預測引擎400來執行。
在710處,該方法包括藉由設置於HMD中之視線追蹤系統在多個取樣點處追蹤使用者之至少一隻眼睛的移動。舉例而言,可收集眼睛定向/追蹤資料,以至少包括視線方向。舉例而言,根據本揭示案之一個實施例,可在圖6E中展示各種時間t0至t5時之視線方向。在圖6E中,在時間t0時,視線方向藉由向量Xt0
界定;在時間t1時,視線方向藉由向量Xt1
界定;在時間t2時,視線方向藉由向量Xt2
界定;在時間t3時,視線方向藉由向量Xt3
界定;在時間t4時,視線方向藉由向量Xt4
界定;且在時間t5時,視線方向藉由向量Xt5
界定。
在720處,該方法包括基於該追蹤來確定移動之速度。如圖6E中所示之視線方向向量可用於確定使用者之眼睛的速度。亦即,可基於來自兩個取樣點之第一眼睛或視線方向及第二眼睛或視線方向來確定眼睛之速度。明確言之,可使用兩個取樣點之間的視線方向、該兩個視線方向之間的角度及該兩個取樣點之間的時間來確定該兩個取樣點之間的速度。舉例而言,可使用多種技術中之一種來確定兩個取樣點之間的角度(θ),該等技術包括在以下方程式中界定之三角函數。作為說明,在一個實施例中,使用以下方程式(1),確定在時間tn
及時間時tn-1
時所取之兩個取樣點之間的角度(θ)。參考圖6E,可根據向量Xt1
及Xt2
來確定角度θ2
,可根據向量Xt2
及Xt3
來確定角度θ3
,可根據向量Xt3
及Xt4
來確定角度θ4
,且可根據向量Xt4
及Xt5
來確定角度θ5
。
方程式1給出在時間tn
及時間tn-1
時所取之兩個取樣點處的視線方向之間的角度。為了計算該兩個取樣點之間發生的速度,如下文之方程式(2)中所示,該角度將會除以Δt,亦即,該兩個取樣點之間的持續時間。
速度(每秒度數) = θ / (tn
– tn-1
) (2)
因而,可使用向量Xt1
及Xt2
來確定在時間t1及時間t2時所取之取樣點之間的速度(v2),可使用向量Xt2
及Xt3
來確定在時間t2及時間t3時所取之取樣點之間的速度(v3),可使用向量Xt3
及Xt4
來確定在時間t3及時間t4時所取之取樣點之間的速度(v4),且可使用向量Xt4
及Xt5
來確定在時間t4及時間t5時所取之取樣點之間的速度(v5)。
在730處,在一個實施例中,該方法包括確定在該速度達到臨限速度時該使用者之眼睛處於跳視中。在其他實施例中,可使用其他方法來確定該使用者之眼睛處於跳視中。如先前所描述,該臨限速度為預定的以避免在眼睛可能經歷另一種類型之移動(例如,平滑追隨)時或在資料有雜訊時識別跳視。
在740處,該方法包括預測該跳視之與該眼睛之方向對應的在該HMD之顯示器上之落點。在一個實施例中,該方向對應於眼睛之視線方向。由於可相對於HMD之螢幕界定視線方向,因此可將視線方向轉換成該螢幕上之位置,其中該位置為落點。該落點可用作圖框的以高解析度渲染之注視點區之中心。在一個實施例中,該落點可出現於該跳視期間之任何點,以包括與該眼睛之中間方向對應的、該跳視之中間點。舉例而言,在一個實施例中,該落點可出現於超過當前圖框週期之預定數目個圖框週期時。在另一個實施例中,該落點可出現於該跳視結束時且對應於該眼睛之凝視方向。
對落點之預測可包括針對一組取樣點在追蹤眼睛之移動時收集眼睛定向/追蹤資料。亦即,使用來自該組取樣點之資訊來預測落點。該眼睛定向/追蹤資料至少包括相對於HMD之眼睛及/或視線方向,其中該組中之至少一個取樣點出現於該跳視期間。如先前所描述,可根據眼睛定向/追蹤資料來確定速度資訊,其中速度資料亦可用於預測落點。另外,將針對該組取樣點之眼睛定向/追蹤資料作為輸入提供至遞歸神經網路(例如,深度學習引擎)。用(例如)測試對象之複數個跳視的先前量測之眼睛定向資料來對該神經網路進行訓練。在一個實施例中,該遞歸神經網路包括長短期記憶體神經網路及全連接多層感知網路。該遞歸神經網路可經組態以將由針對該組取樣點之眼睛資料的眼睛速度圖之一節段與由測試對象之該複數個跳視建立的眼睛速度圖進行比較。可在遞歸神經網路中對使用者之跳視的眼睛速度圖之該節段與經訓練之跳視進行比較。一旦進行了匹配,該使用者之跳視之一或多個預測落點即可接近於該等經訓練跳視之一或多個落點。因而,可使用該遞歸神經網路使用來自該組取樣點之資訊來預測該跳視(例如,該跳視結束,或該跳視期間之中間點)之落點。
另外,可用使用不同之多組取樣點資料的後續預測來更新該落點之預測。舉例而言,結合第一當前取樣點,在741處預測第一落點。第一落點之預測係基於包括第一取樣點及至少一個先前取樣點之第一組取樣點之眼睛定向資料。該眼睛定向資料包括相對於HMD之眼睛及/或視線方向。在742處,在跳視中結合第一取樣點後面之第二當前取樣點來執行經更新之預測。落點之更新包括基於包括該第二取樣點及至少一個先前取樣點(例如,第一取樣點)之第二組取樣點的眼睛定向資料來預測第二落點。
在判斷步驟743處,該方法確定是否存在預測落點之收斂。舉例而言,收斂可發生於兩個預測落點在臨限量測值(例如,顯示器上的在該兩個預測落點之間的偏差距離)內時。在一個實施例中,收斂發生於兩個預測落點相同時。
若不存在收斂,則該方法前進至744,其中執行另一預測。具體而言,在先前取樣點後面之下一個取樣點時,基於來自該下一個取樣點及至少一個先前取樣點之眼睛定向/追蹤資料來預測下一個落點。該方法返回至判斷步驟743以確定是否存在收斂。
另一方面,若存在收斂,則該方法前進至745,其中將最後預測之落點選為跳視預測之落點。亦即,由於收斂,將最後計算出之落點用作預測落點。
在一個實施例中,可基於該預測落點來執行注視點渲染。舉例而言,可對第一視訊圖框進行渲染以便顯示,其中該第一視訊圖框包括以顯示器上之預測落點為中心的注視點區。該注視點區可以高解析度渲染。另外,該顯示器之非注視點區包括該顯示器之其餘部分,且以較低解析度渲染。另外,在HMD之顯示器上呈現具有該注視點區之第一視訊圖框,其中在顯示該第一視訊圖框後,該眼睛經預測會朝向該落點(亦即,對應於該注視點區)定向。
在另一個實施例中,當渲染圖框以在HMD上顯示時,可採取額外措施來降低功率消耗。明確言之,在跳視期間,使用者可能無法觀看所渲染及顯示之中間圖框,因為眼睛移動可能會過快。因而,可終止至少一個中間視訊圖框之渲染以節省原本會用於渲染之計算資源。亦即,該方法包括終止在該跳視期間將在該第一視訊圖框之前渲染的至少一個視訊圖框之渲染。
在又另一個實施例中,當渲染圖框以在HMD上顯示時,可採取另一種措施來降低功率消耗。明確言之,由於使用者可能無法在跳視期間觀看所渲染及顯示之中間圖框,因此整個視訊圖框可以較低解析度或以低解析度渲染。亦即,對於該圖框,無注視點區被渲染。換言之,該方法包括以低解析度渲染在該跳視期間將在該第一視訊圖框之前渲染的至少一個視訊圖框。
對傳入GPU可存取之緩衝器的所預測落點之後期更新
圖8根據本揭示案之一個實施例圖解說明實施經組態用於進行注視點渲染之渲染管線800的電腦系統,該渲染管線包括:預測與觀看HMD之顯示器之使用者相關聯的跳視之落點,及將該落點作為後期更新提供至該電腦系統之GPU可存取的緩衝器以便即刻用於渲染對應視訊圖框中的以該落點為中心的高解析度之注視點區。
渲染管線800說明了用於使用3D (三維)多邊形渲染過程來渲染影像之一般過程,但經修改以在該管線內執行額外可程式化元件以執行注視點渲染,諸如預測該落點及該落點之後期更新以即刻渲染對應視訊圖框之注視點區。渲染管線800輸出用於所渲染影像的在顯示器中之每個像素的對應顏色資訊,其中該顏色資訊可表示紋理及著色(例如,顏色、陰影等)。渲染管線800可至少在圖1A至圖1C之電腦系統106、系統1200、圖2及圖13之HMD 102及圖14之用戶端裝置1410內實施。
渲染管線800包括經組態用於執行一應用程式之CPU 1202及經組態用於執行用於注視點渲染之一或多個可程式化著色器操作的GPU,該等可程式化著色器操作包括處理頂點資料、將頂點裝配成圖元(例如,多邊形)、執行光柵化以相對於顯示器自該等圖元產生片段且隨後計算每個片段之顏色及深度值以及按像素來混合該等片段以儲存至圖框緩衝器以供顯示。
如所示,該應用程式經組態用於產生幾何圖元805 (諸如3D虛擬環境內之頂點)及對應於每個頂點之資訊。舉例而言,如在CPU 1202上執行之應用程式對3D虛擬環境之場景進行改變,其中該等改變表示實體性質、動畫、變形、加速技術等之應用。視對物件施加及/或向物件施加之力(例如,諸如重力之外力及誘發移動之內力)而逐圖框地計算場景改變(例如,物件移動)。可使用藉由該等幾何圖元界定之多邊形(例如,三角形)來表示該場景中之物件。隨後經由渲染管線800中之GPU 1216來處理對應多邊形之表面以達成最終效果(例如,顏色、紋理等)。頂點屬性可包括法線(例如,其方向為相對於頂點之光)、顏色(例如,RGB - 紅色、綠色及藍色三色等)及紋理坐標/映射資訊。頂點儲存於系統記憶體820中,且隨後藉由GPU存取及/或傳遞至該GPU之記憶體840。
另外,CPU 1202經組態以執行跳視預測。明確言之,CPU 1202包括預測引擎400,該預測引擎經組態用於預測與觀看一顯示器(例如,HMD)之使用者相關聯的跳視在該顯示器上之落點。亦即,預測引擎400預測在所識別之跳視期間使用者之眼睛的移動,以便預測在該跳視期間之任一點時與該(等)眼睛之所預測方向對應的在顯示器上之落點。亦產生與該等眼睛之所預測方向對應的所預測時間。如先前所描述,視線追蹤系統1220將眼睛定向資訊提供至預測引擎400以便在預測階段期間使用。舉例而言,視線追蹤系統1220經組態用於確定在離散之時間點時使用者之瞳孔及/或眼睛的視線方向及/或定向。視線方向可相對於顯示器而言。明確言之,在一或多個取樣點801時收集來自視線追蹤系統1220之資訊,將該資訊提供至預測引擎400。
CPU 1202包括後期更新模組830,該後期更新模組經組態以執行對視線追蹤資訊之後期更新及/或在跳視期間眼睛移動之落點預測,如將在下文相對於圖9至圖11所描述。舉例而言,可將所預測落點及/或其他視線追蹤資訊802作為後期更新提供至GPU可存取之緩衝器(例如,GPU記憶體840)以進行立即處理。如此,所預測資訊及/或視線追蹤資訊802可在相同圖框週期內使用,或幾乎即刻使用,而非要等到下一個圖框週期來在渲染視訊圖框以便顯示時藉由GPU處理。
GPU 1216包括用於渲染3D虛擬環境之影像及/或視訊圖框的一或多個著色器操作,諸如光柵、片段著色器及渲染器—包括輸出合併器及圖框緩衝器,但可能並未全部展示於圖8中。
明確言之,頂點著色器850可進一步建立組成3D場景內之物件的圖元。舉例而言,頂點著色器410可經組態以對多邊形執行照明及陰影計算,此視該場景之照明而定。亦可藉由頂點處理器410執行額外操作,諸如剪輯(例如,識別且忽略在如藉由遊戲世界中之觀看位置界定的視見平截頭體外部之圖元)。
將藉由頂點處理器410輸出之圖元饋送至光柵(未圖示)中,該光柵經組態以視3D虛擬環境內之視點而將該場景中之物件投影至該顯示器。簡而言之,光柵查看每個圖元且確定哪些像素受對應圖元影響。明確言之,該光柵將該等圖元分割成像素大小之片段,其中每個片段對應於顯示器中之一像素及/或與渲染視點(例如,攝影機視野)相關聯之參考平面。
將來自光柵之輸出作為輸入提供至注視點片段處理器430,該注視點片段處理器在其核心處對該等片段執行著色操作以確定圖元之顏色及亮度如何隨著可用照明而變。舉例而言,片段處理器430可確定每個片段的距觀看位置之距離的Z深度、顏色、透明度之阿爾法值、法線及紋理坐標(例如,紋理細節),且可進一步基於該等片段之可用照明、暗度及顏色來確定適當之照明水平。另外,片段處理器430可對每個片段應用陰影效果。
在本發明之實施例中,端視片段是在注視點區內部還是外部(例如,有助於在注視點區內部或外部之像素),不同地渲染粒子系統之片段。在一個實施例中,注視點片段著色器860經組態以確定哪些像素位於高解析度之注視點區中。舉例而言,在後期更新操作中提供至GPU記憶體840之所預測落點及/或視線追蹤資訊可藉由注視點片段著色器860使用來確定注視點區之像素且相應地確定對應於彼等像素之片段。因而,注視點片段著色器430基於該片段是在注視點區抑或周邊區內來如上文所描述執行著色操作。使用著色操作以高解析度來處理位於所顯示影像之注視點區內的片段,而不考慮處理效率,以便為注視點區內之片段達成詳細紋理及顏色值。另一方面,注視點片段處理器430對位於周邊區內之片段執行著色操作,要考慮處理效率,以便以最少操作處理具有足夠細節之片段,諸如提供足夠之對比度。片段處理器430之輸出包括經處理之片段(例如,紋理及著色資訊,以包括陰影)且遞送至渲染管線800之下一個級。
輸出合併組件870端視促成及/或影響每個對應像素之片段而計算每個像素之特點。亦即,3D遊戲世界中之所有圖元的片段組合成該顯示器之2D顏色像素。舉例而言,將促成對應像素之紋理及著色資訊之片段組合以輸出該像素之最終顏色值,該最終顏色值被遞送至渲染管線800中之下一個級。輸出合併組件870可執行自注視點片段著色器860確定之片段及/或像素之間的值之最佳混合。亦可藉由輸出合併組件870對觀看位置執行額外操作,諸如剪輯(識別且忽略在視見平截頭體外部之片段)及淘汰(忽略被較接近之物件阻擋之片段)。
將顯示器1210中之每個像素的像素資料(例如,顏色值)儲存於圖框緩衝器880中。在顯示該場景之對應影像時,將此等值掃描至對應像素。明確言之,顯示器自圖框緩衝器逐列、自左至右或自右至左、自上而下或自下而上或按任何其他模式讀取每個像素之顏色值,且在顯示影像時使用彼等像素值來照亮像素。
圖9A根據本揭示案之一個實施例圖解說明當在執行應用程式期間產生視訊圖框時接收及使用視線追蹤資訊的渲染管線900A,其中該渲染管線不實施對該視線追蹤資訊之後期更新,且不提供跳視預測。根據本揭示案之一個實施例,圖9A類似於圖5A之渲染管線501,其中該兩幅圖均展示圖框更新如何比眼睛移動慢,使得在完成跳視期間及之後,使用者看所顯示之影像係模糊的。
明確言之,渲染管線900A說明了用於渲染影像之一般過程(例如,3D多邊形渲染過程),且經組態以基於當前之視線追蹤資訊來執行注視點渲染。渲染管線900A包括CPU 1202及GPU 1216,具有該兩者均可存取之記憶體(例如,頂點緩衝器、索引緩衝器、深度緩衝器及圖框緩衝器)。渲染管線900A執行與渲染管線800類似之功能,包括輸出顯示器(例如,HMD)中之每個像素的對應像素資料(例如,顏色資訊),其中該顏色資訊可表示紋理及著色(例如,顏色、陰影等)。
該渲染管線以特定頻率操作,其中對應於該頻率之每個循環可被界定為圖框週期。舉例而言,對於為120 Hz之操作頻率,圖框週期為8.3 ms。因而,在渲染管線中,一管線序列包括在將視訊圖框自圖框緩衝器掃描輸出至顯示器之前藉由CPU及GPU在連續之圖框週期中執行的順序操作。圖9A展示兩個管線序列901及902。為了說明,僅展示兩個管線序列。
該渲染管線諸如自視線追蹤系統1220接收視線追蹤資訊。如所示,在每個渲染序列901及902之圖框週期的開頭,向CPU呈現視線追蹤系統1220。在一個實施例中,視線追蹤系統1220以與渲染管線900A所使用之頻率相同的頻率來操作。因而,可在每個圖框週期時更新使用者之眼睛的視線方向。在其他實施例中,視線追蹤系統1220使用與渲染管線900A所使用之頻率不同的頻率來操作。
可使用該視線追蹤資訊來確定以高解析度渲染之注視點區。舉例而言,在管線序列901中,在圖框週期1中向CPU 1202呈現視線追蹤資訊。該視線追蹤資訊可包括對應於眼睛之視線方向(相對於顯示器)之向量X1
。該視線追蹤資訊可能已在先前圖框週期中收集。此外,在圖框週期1中,CPU 1202可對物件執行實體模擬,且將多邊形圖元及繪畫指令遞送至GPU 1216。因而,在第二圖框週期中,如先前所描述,GPU 1216大體上執行圖元裝配以產生所渲染圖框。另外,GPU 1216能夠基於該視線追蹤資訊來提供注視點渲染。亦即,該GPU可渲染具有與在圖框週期1中遞送之視線方向對應之注視點區的視訊圖框。非注視點區以低解析度渲染。在圖框週期3中,將視線圖框(F3)掃描輸出910至顯示器。
此外,在管線序列902中,在圖框週期2中向CPU 1202呈現視線追蹤資訊。該視線追蹤資訊可包括對應於眼睛之視線方向(相對於顯示器)之向量X2
。此外,在圖框週期2中,CPU 1202可對物件執行實體模擬,且將多邊形圖元及繪畫指令遞送至GPU 1216。因而,在圖框週期3中,如先前所描述,GPU 1216大體上執行圖元裝配以產生所渲染圖框。另外,GPU 1216能夠基於該視線追蹤資訊來提供注視點渲染。亦即,該GPU可渲染具有與在圖框週期2中遞送之視線方向對應之注視點區的視訊圖框。非注視點區以低解析度渲染。在圖框週期4中,將視訊圖框(F4)掃描輸出910至顯示器。
因而,在圖9A中,在無跳視預測及後期更新之情況下,到掃描輸出對應之視訊圖框時為止,用於渲染該視訊圖框之注視點區的視線追蹤資訊可能過時了2至4個圖框週期(或16至32 ms)。亦即,眼睛移動可能比渲染視訊圖框之時間快,且因而,在顯示對應視訊圖框時,注視點區不與視線方向一致。該問題在操作頻率更慢時會加劇。舉例而言,以60 Hz (16 ms之圖框週期)操作之渲染管線仍將具有過時了2至4個圖框週期之視線追蹤資訊,但在注視點區與視線方向一致之前,將彼等週期之時間加倍至延遲32 ms至64 ms之間的範圍內。
圖9B至圖9C圖解說明在本揭示案之實施例中的對在跳視期間或結束時與使用者之眼睛觀看顯示器(例如,HMD)之定向對應的落點之預測。明確言之,圖9B為根據本揭示案之一個實施例圖解說明藉由預測HMD之顯示器上之落點而更新渲染管線之資訊的方法中之步驟的流程圖,其中該落點對應於在跳視期間或結束時觀看該顯示器之使用者之眼睛的定向,其中所預測落點由GPU使用來渲染對應視訊圖框中的以該落點為中心的高解析度之注視點區。圖9C根據本揭示案之一個實施例圖解說明當在執行應用程式期間產生視訊圖框時接收及使用視線追蹤資訊的渲染管線900C,其中預測一HMD上之落點,該落點對應於在跳視期間或結束時觀看該HMD之使用者之眼睛的所預測視線方向及/或定向,其中所預測落點由GPU使用來渲染對應視訊圖框中的以該落點為中心的高解析度之注視點區。
渲染管線900C說明了用於渲染影像之一般過程,且經組態以基於跳視預測來執行注視點渲染。亦即,渲染管線900C提供無後期更新之跳視預測。渲染管線900C包括CPU 1202及GPU 1216,具有該兩者均可存取之記憶體(例如,頂點緩衝器、索引緩衝器、深度緩衝器及圖框緩衝器)。渲染管線900C執行與渲染管線800類似之功能,包括輸出顯示器(例如,HMD)中之每個像素的對應像素資料(例如,顏色資訊),其中該顏色資訊可表示紋理及著色(例如,顏色、陰影等)。
該等渲染管線諸如自視線追蹤系統1220接收視線追蹤資訊。如所示,如先前所描述,在每個圖框週期之開頭向CPU呈現視線追蹤資訊。使用該視線追蹤資訊來預測在跳視期間及/或結束時使用者之眼睛所朝向的顯示器(例如,HMD)上之落點。先前至少部分地在圖7中描述了對落點之預測。
在915處,該方法包括在第一圖框週期(例如,圖框週期1)中在CPU上執行一應用程式以產生第一視訊圖框之場景的圖元。舉例而言,渲染管線900C可對物件執行實體模擬,且將多邊形圖元及繪畫指令遞送至GPU 1216。一圖框週期對應於該渲染管線之操作頻率,該渲染管線經組態用於在將對應視訊圖框掃描輸出至顯示器之前藉由CPU 1202及GPU 1216在連續圖框週期中執行順序操作。在一個實施例中,視線追蹤系統1220之頻率與渲染管線900C之頻率相同,但在其他實施例中,該等頻率為不同的。
在920處,該方法包括在第一圖框週期中在CPU處接收經歷跳視之使用者之眼睛的視線追蹤資訊。舉例而言,該資訊可在先前圖框週期中藉由視線追蹤系統1220收集。如所示,在圖框週期1之開頭向CPU呈現視線追蹤資訊,且該視線追蹤資訊可包括與相對於顯示器的眼睛之視線方向對應的向量X1
。
在930處,該方法包括在圖框週期1中在CPU處基於視線追蹤資訊來預測跳視之與使用者之眼睛觀看顯示器(例如,HMD)之方向的方向(例如,向量XF-1
)對應的在該顯示器上之落點。更準確言之,如先前在圖7中所描述,使用視線追蹤資訊之歷史來預測與在跳視期間或結束時使用者之眼睛之所預測視線方向(例如,向量XF-1
)對應的在顯示器上之落點。該預測可包括使用者之視線指向所預測落點時之所預測時間。
在940處,該方法包括將與使用者之眼睛之所預測視線方向(例如,向量XF-1
)對應的所預測落點傳遞至GPU可存取之緩衝器。如此,所預測落點(對應於向量XF-1
)可用於在管線序列911中使用。明確言之,該方法包括在950處在圖框週期2中在GPU 1216中執行一或多個著色器操作以基於第一視訊圖框之場景的圖元且基於所預測落點(對應於向量XF-1
)來產生顯示器之像素的像素資料。該像素資料至少包括顏色及紋理資訊,其中該像素資料被儲存至圖框緩衝器。此外,在圖框週期2中,GPU 1216可渲染具有與所預測落點對應之注視點區的第一視訊圖框,該所預測落點對應於在跳視期間或結束時使用者之眼睛的所預測視線方向(向量XF-1
)。該注視點區以高解析度渲染,且非注視點區以低解析度渲染。
在960處,該方法包括在第三圖框週期中將像素資料自圖框緩衝器掃描輸出至顯示器。如所示,在圖框週期3中掃描輸出(視訊圖框(F3)。
類似地,管線序列912經組態用於基於所預測落點進行注視點渲染。如所示,在圖9C之圖框週期2中,CPU 1202執行一應用程式以產生第二視訊圖框之場景的圖元。舉例而言,CPU 1202可對物件執行實體模擬,且將多邊形圖元及繪畫指令遞送至GPU 1216。如圖框週期2中所示,渲染管線900C接收視線追蹤資訊(向量X2
),且在CPU處至少基於當前之視線追蹤資訊來預測跳視之與使用者之眼睛觀看顯示器(例如,HMD)之方向(例如,向量
XF-2
)對應的在該顯示器上之落點。亦即,在向量XF-2
與所預測落點之間存在映射。更準確言之,使用視線追蹤資訊(例如,在跳視期間收集)之歷史來預測在跳視期間或結束時與使用者之眼睛之所預測視線方向對應的在顯示器上之落點。在圖框週期2或3中,將所預測落點(對應於向量
XF-2
)傳遞至GPU可存取之緩衝器。如此,所預測落點(對應於向量XF-2
)可用於在圖框週期3中在管線序列912中使用。明確言之,在圖框週期3中,GPU 1216可渲染具有與所預測落點對應之注視點區的第二視訊圖框,該所預測落點對應於在跳視期間或結束時觀看顯示器之使用者之眼睛的視線方向(例如,向量XF-2
)。該注視點區以高解析度渲染,且非注視點區以低解析度渲染。在圖框週期4中,掃描輸出第二視訊圖框(例如,F4)之像素資料。
因而,在圖9B至圖9C中,在具有跳視預測且無後期更新之情況下,儘管可能需要多個循環來產生準確之預測,但到掃描輸出對應之視訊圖框時,用於渲染該視訊圖框之注視點區的所預測落點至少可跟上眼睛之移動,且在一些情況中可能比眼睛之移動快(例如,注視點區要等眼睛移動趕上)。亦即,在具有跳視預測之情況下,渲染視訊圖框之時間可能比眼睛移動快,且因而,在顯示對應視訊圖框時,注視點區可能與視線方向一致,或渲染視訊圖框之時間可提前,使得對應視訊圖框中之注視點區準備好且等待眼睛移動到達所預測視線方向(在跳視期間及/或結束時)。
已詳細描述了電腦系統、遊戲控制台、HMD及雲端遊戲伺服器之各種模組,根據本揭示案之一個實施例,現在相對於圖10A之流程圖1000A及圖10B中所示之渲染管線1000B來描述用於在包括CPU及GPU之渲染管線中藉由執行傳入GPU可存取之緩衝器之視線追蹤資訊的後期更新以便即刻使用來更新資訊的方法。流程圖1000A及渲染管線1000B可至少藉由圖1A至圖1C之電腦系統106、系統1200、圖2及圖13之HMD 102及圖14之用戶端裝置1410來實施。
渲染管線1000B在將對應視訊圖框掃描輸出至顯示器之前藉由CPU及GPU在連續圖框週期中執行順序操作。渲染管線1000B說明了用於渲染影像之一般過程,且經組態以基於視線追蹤資訊之後期更新來執行注視點渲染。亦即,渲染管線1000B提供具有後期更新之視線追蹤。渲染管線1000B包括CPU 1202及GPU 1216,具有該兩者均可存取之記憶體(例如,頂點緩衝器、索引緩衝器、深度緩衝器及圖框緩衝器)。渲染管線1000B執行與渲染管線800類似之功能,包括輸出顯示器(例如,HMD)中之每個像素的對應像素資料(例如,顏色資訊),其中該顏色資訊可表示紋理及著色(例如,顏色、陰影等)。
在1010處,該方法包括在第一圖框週期中在CPU上執行一應用程式以產生第一視訊圖框之場景的圖元。如第一圖框週期中所示,渲染管線1000B CPU 1202可對物件執行實體模擬,且將多邊形圖元及繪畫指令遞送至GPU 1216。如先前所描述,圖框週期對應於該渲染管線之操作頻率。
此外,如先前所描述,可按圖框將視線追蹤資訊提供至CPU 1302。如所示,在每個圖框週期之開頭向CPU 1202呈現視線追蹤資訊。舉例而言,在圖框週期1中提供包括向量X1
之視線追蹤資訊,在圖框週期2中提供視線追蹤資訊向量X2
,在圖框週期3中提供視線追蹤資訊向量X3
等等。舉例而言,視線追蹤資訊對應於相對於顯示器(例如,HMD)的使用者之眼睛的視線方向。視線追蹤資訊可在遞送至CPU之前出現之圖框週期中產生。另外,使用視線追蹤資訊來確定高解析度之注視點區。在一個實施例中,提供視線追蹤資訊之視線追蹤系統1220之頻率與渲染管線1000B之頻率相同,但在其他實施例中,該等頻率為不同的。如將在下文描述,在具有後期更新之情況下,可將視線追蹤資訊提供至GPU以供即刻使用。
在1020處,該方法包括在第二圖框週期中在CPU處接收視線追蹤資訊。如圖10B之圖框週期2中所示,渲染管線1000B接收視線追蹤資訊(向量X2
)。應注意,在圖框週期1時的先前呈現之視線追蹤資訊(向量X1
)不用於無任何後期更新操作(例如,如圖5A中所示)之管線序列1001中,因為該資訊在管線序列1001之執行期間可能會變成過時的。為了說明,視線追蹤資訊(向量X1
)可用於未展示之先前管線序列,或可暫停而不實施。
另一方面,具有在圖框週期1中執行之CPU操作的管線序列1001可利用渲染管線1000B之後期更新功能性來利用最新之視線追蹤資訊。明確言之,在1030處,該方法包括在圖框週期2中藉由將視線追蹤資訊傳遞至GPU可存取之緩衝器來藉由CPU執行後期更新操作。
因而,代替使用在圖框週期1中接收到的已過時了一個圖框週期之視線追蹤資訊(向量X1
),管線序列1001能夠在圖框週期2中使用最新之視線追蹤資訊來執行GPU操作,該最新之視線追蹤資訊為在相同之圖框週期中在CPU處接收到的向量X2
。明確言之,在1040處,該方法包括在圖框週期2中在GPU中執行一或多個著色器操作以基於第一視訊圖框之場景的圖元且基於視線追蹤資訊(向量X2
)來產生顯示器之像素的像素資料。該像素資料至少包括顏色及紋理資訊,其中該像素資料儲存至圖框緩衝器中。明確言之,在圖框週期2中,GPU 1216可渲染具有與視線追蹤資訊(向量X1
)對應之注視點區的第一視訊圖框,該視線追蹤資訊對應於使用者之所量測且最新之視線方向。該注視點區以高解析度渲染,且非注視點區以低解析度渲染。
在1050處,該方法包括在第三圖框週期中將像素資料自圖框緩衝器掃描輸出至顯示器。如所示,在圖框週期3中掃描輸出視訊圖框(F3)。
類似地,管線序列1002經組態用於基於視線追蹤資訊之後期更新來進行注視點渲染。如所示,在圖框週期2中,CPU 1202執行一應用程式以產生第二視訊圖框之場景的圖元。舉例而言,CPU 1202可對物件執行實體模擬,且將多邊形圖元及繪畫指令遞送至GPU 1216。如圖10B之圖框週期3中所示,渲染管線1000B接收視線追蹤資訊(向量X3
)。此外,在圖框週期3中,藉由將視線追蹤(向量X3
)資訊傳遞至GPU可存取之緩衝器來藉由CPU執行後期更新操作。在圖框週期3中,在GPU 1216中執行一或多個著色器操作以基於第二視訊圖框之場景的圖元且基於視線追蹤資訊(向量X3
)來產生顯示器之像素的像素資料。該像素資料至少包括顏色及紋理資訊,其中該像素資料儲存至圖框緩衝器中。明確言之,在圖框週期3中,GPU 1216可渲染具有與視線追蹤資訊(向量X2
)對應之注視點區的第二視訊圖框,該視線追蹤資訊對應於使用者之所量測且最新之視線方向。該注視點區以高解析度渲染,且非注視點區以低解析度渲染。在圖框週期4中,掃描輸出第二視訊圖框(例如,F4)之像素資料。
因而,在圖10A至圖10B中,在具有後期更新之情況下,掃描輸出具有一注視點區之對應視訊圖框,該注視點區對應於在先前圖框週期中接收到之視線追蹤資訊。亦即,在具有後期更新之情況下,渲染視訊圖框之時間與眼睛移動幾乎一樣快。如此,使注視點區與跳視期間及結束時之視線方向一致花費較少時間。
已詳細描述了電腦系統、遊戲控制台、HMD及雲端遊戲伺服器之各種模組,根據本揭示案之一個實施例,現在相對於圖11A之流程圖1100A及圖11B中所示之渲染管線1100B來描述用於在包括CPU及GPU之渲染管線中藉由預測與在跳視期間觀看顯示器(例如,HMD)之使用者之所預測視線方向相關聯的在該顯示器上之落點及執行傳入GPU可存取之緩衝器的所預測落點之後期更新以供即刻使用來更新資訊的方法。流程圖1100A及渲染管線1100B可至少藉由圖1A至圖1C之電腦系統106、系統1200、圖2及圖13之HMD 102及圖14之用戶端裝置1410來實施。
渲染管線1100B在將對應視訊圖框掃描輸出至顯示器之前藉由CPU及GPU在連續圖框週期中執行順序操作。渲染管線1100B說明了用於渲染影像之一般過程,且經組態以基於跳視預測之後期更新來執行注視點渲染。亦即,渲染管線1100B提供具有所預測落點之後期更新的視線追蹤,該所預測落點對應於在跳視期間及/或結束時觀看顯示器(例如,HMD)之使用者之眼睛的所預測視線方向及/或定向。該預測可包括使用者之視線指向所預測落點時之所預測時間。所預測落點由GPU使用來渲染對應視訊圖框中的以該落點為中心的高解析度之注視點區。渲染管線1000B包括CPU 1202及GPU 1216,具有該兩者均可存取之記憶體(例如,頂點緩衝器、索引緩衝器、深度緩衝器及圖框緩衝器)。渲染管線1000B執行與渲染管線800類似之功能,包括輸出顯示器(例如,HMD)中之每個像素的對應像素資料(例如,顏色資訊),其中該顏色資訊可表示紋理及著色(例如,顏色、陰影等)。
在1110處,該方法包括在第一圖框週期(例如,圖框週期1)中在CPU上執行一應用程式以產生第一視訊圖框之場景的圖元。如圖框週期1中所示,渲染管線1000B CPU 1202可對物件執行實體模擬,且將多邊形圖元及繪畫指令遞送至GPU 1216。一圖框週期對應於該渲染管線之操作頻率,該渲染管線經組態用於在將對應視訊圖框掃描輸出至顯示器之前藉由CPU 1202及GPU 1216在連續圖框週期中執行順序操作。在一個實施例中,提供視線追蹤資訊之視線追蹤系統1220之頻率與渲染管線1100B之頻率相同,但在其他實施例中,該等頻率為不同的。
可在第一圖框週期(例如,圖框週期1)中在CPU處接收視線追蹤資訊。該視線追蹤資訊可能已藉由視線追蹤系統1220在先前圖框週期中產生。如所示,在圖框週期1之開頭向CPU呈現視線追蹤資訊。舉例而言,該視線追蹤資訊可包括與相對於顯示器的眼睛之視線方向對應的向量X1
。另外,CPU在圖框週期1中至少基於當前視線追蹤資訊來預測跳視之與使用者之眼睛觀看顯示器(例如,HMD)之方向(向量XF-1
)對應的在該顯示器上之落點。由於存在後期更新,因此如將在下文描述,在管線1101中不使用所預測落點(對應於向量XF-1
),因為可使用最新之視線追蹤資訊。
在1120處,該方法包括在第二圖框週期中在CPU處接收經歷跳視之使用者之眼睛的視線追蹤資訊。該視線追蹤資訊可能已藉由視線追蹤系統1220在先前圖框週期中產生。如所示,在圖框週期2之開頭向CPU呈現視線追蹤資訊。舉例而言,該視線追蹤資訊可包括與相對於顯示器的眼睛之視線方向對應的向量X2
。
在1130處,該方法包括在圖框週期2中在CPU處至少基於當前視線追蹤資訊(X2
)來預測跳視之與使用者之眼睛觀看顯示器(例如,HMD)之方向(向量XF-2
)對應的在該顯示器上之落點。更準確言之,如先前至少部分地在圖7中所描述,使用視線追蹤資訊(例如,在跳視期間收集)之歷史來預測與在跳視期間及/或結束時使用者之眼睛之所預測視線方向對應的在顯示器上之落點。所預測落點可對應於在跳視期間及/或結束時使用者之眼睛的所預測視線方向(向量XF-2
)。
在1140處,藉由CPU 1202執行後期更新操作以將所預測落點(對應於向量XF-2
)傳遞至GPU可存取之緩衝器。在圖框週期2期間完成該傳遞,且該傳遞可供GPU即刻使用。亦即,在GPU 1216針對管線1101在圖框週期2中開始其操作之前進行該傳遞。如此,使用較新之視線追蹤資訊(例如,在管線序列1101中間收集之X2
)而非在管線序列1101之開頭收集之視線追蹤資訊(例如,X1
)來產生所預測落點。
因而,所預測落點(對應於向量XF-2
)可在管線序列1101中即刻使用。明確言之,在1150處,該方法包括在圖框週期2中在GPU 1216中執行一或多個著色器操作以基於第一視訊圖框之場景的圖元且基於所預測落點(對應於向量XF-2
)來產生顯示器之像素的像素資料。該像素資料至少包括顏色及紋理資訊,其中該像素資料儲存至圖框緩衝器中。明確言之,在圖框週期2中,GPU 1216可渲染具有與所預測落點對應之注視點區的第一視訊圖框,該所預測落點對應於在跳視期間或結束時使用者之眼睛的所預測視線方向(向量XF-2
)。該注視點區以高解析度渲染,且非注視點區以低解析度渲染。
在1160處,該方法包括在第三圖框週期中將像素資料自圖框緩衝器掃描輸出至顯示器。如所示,在圖框週期3中掃描輸出(視訊圖框(F3)。
類似地,管線序列1102經組態用於基於所預測落點之後期更新來進行注視點渲染。如所示,在圖11B之圖框週期2中,CPU 1202執行一應用程式以產生第二視訊圖框之場景的圖元。舉例而言,CPU 1202可對物件執行實體模擬,且將多邊形圖元及繪畫指令遞送至GPU 1216。如圖框週期2中所示,渲染管線1100B接收視線追蹤資訊(向量X2
)。
在圖框週期3中,在CPU處至少基於當前視線追蹤資訊來預測跳視之與使用者之眼睛觀看顯示器(例如,HMD)之方向(向量XF-3
)對應的在該顯示器上之落點。亦即,在向量XF-3
與所預測落點之間存在映射。更準確言之,使用視線追蹤資訊(例如,在跳視期間收集)之歷史來預測與在跳視期間及/或結束時使用者之眼睛之所預測視線方向對應的在顯示器上之落點。
此外,在圖框週期3中,藉由將對應於向量XF-3
之所預測落點傳遞至GPU可存取之緩衝器來藉由CPU執行後期更新操作。在圖框週期3中,在GPU 1216中執行一或多個著色器操作以基於第二視訊圖框之場景的圖元且基於對應於向量XF-3
之所預測落點來產生顯示器之像素的像素資料。該像素資料至少包括顏色及紋理資訊,其中該像素資料儲存至圖框緩衝器中。明確言之,在圖框週期3中,GPU 1216可渲染具有與所預測落點對應之注視點區的第一視訊圖框,該所預測落點對應於在跳視期間或結束時使用者之眼睛的所預測視線方向(向量XF-3
)。該注視點區以高解析度渲染,且非注視點區以低解析度渲染。在圖框週期4中,掃描輸出第二視訊圖框(例如,F4)之像素資料。
因而,在圖11B中,在具有跳視預測(例如,落點)之後期更新的情況下,落點預測可利用最新之視線追蹤資訊,該視線追蹤資訊係在管線序列期間而不必在管線序列開頭收集。因而,到掃描輸出對應之視訊圖框時,用於渲染該視訊圖框之注視點區的所預測落點至少可跟上眼睛之移動,且在大多數情況中將比眼睛之移動快(例如,所顯示之注視點區要等眼睛移動趕上)。亦即,在具有跳視預測之後期更新的情況下,渲染視訊圖框之時間可能比眼睛移動快,且因而,在顯示對應視訊圖框時,注視點區可能與視線方向一致,或渲染視訊圖框之時間可提前,使得對應視訊圖框中之注視點區準備好且等待眼睛移動到達所預測視線方向(在跳視期間及/或結束時)。
在一個實施例中,當渲染圖框以在HMD上顯示時,可採取額外措施來降低功率消耗。明確言之,在跳視期間,使用者可能無法觀看所渲染及顯示之中間圖框,因為眼睛移動可能會過快。因而,基於落點之所預測時間(例如,在跳視期間或結束時),可終止在對應於所預測落點之視訊圖框的顯示之前出現的至少一個中間視訊圖框之渲染以節省原本會用於渲染之計算資源。
在又另一個實施例中,當渲染圖框以在HMD上顯示時,可採取另一種措施來降低功率消耗。明確言之,由於使用者可能無法在跳視期間觀看所渲染及顯示之中間圖框,因此整個視訊圖框可以較低解析度或以低解析度渲染。亦即,對於該等中間圖框,無注視點區被渲染。換言之,基於落點之所預測時間(例如,在跳視期間及/或結束時),以低解析度渲染在對應於所預測落點之視訊圖框的顯示之前出現的至少一個中間視訊圖框。
圖12圖解說明可用於執行本揭示案之各種實施例之態樣的例示性裝置1200之組件。舉例而言,圖12圖解說明根據一個實施例之適合於實施一裝置之例示性硬體系統,該裝置經組態用於預測及後期更新顯示器上之目標落點,使得使用者之眼睛的移動與顯示器上之注視點區在經更新之目標落點處的呈現一致。一般性地描述例示性裝置1200,因為落點之預測可在HMD以及更傳統之顯示器的背景內執行。此方塊圖圖解說明裝置1200,該裝置可合併或可為適合於實踐本揭示案之實施例的個人電腦、視訊遊戲控制台、個人數位助理或其他數位裝置。裝置1200包括用於運行軟體應用程式且視情況地運行作業系統之中央處理單元(CPU) 1202。CPU 1202可包括一或多個均質或異質處理核心。舉例而言,CPU 1202為具有一或多個處理核心之一或多個通用微處理器。如先前所描述,可使用具有特別適於高度並行及計算密集型應用程式之微處理器架構的一或多個CPU來實施其他實施例,該等高度並行及計算密集型應用程式諸如媒體及交互式娛樂應用程式,或經組態用於提供與在跳視期間及/或結束時使用者之眼睛之視線方向相關聯的在顯示器上之落點之預測的應用程式,該跳視係結合觀看顯示器之使用者來界定。
記憶體1204儲存供CPU 1202使用之應程式及資料。儲存裝置1206提供用於應用程式及資料之非揮發性儲存裝置及其他電腦可讀媒體且可包括固定磁碟驅動器、可移除磁碟驅動器、快閃記憶體裝置及CD-ROM、DVD-ROM、藍光光碟、HD-DVD或其他光學儲存裝置以及信號發射及儲存媒體。使用者輸入裝置1208將來自一或多個使用者之使用者輸入傳送至裝置1200,使用者輸入裝置之實例可包括鍵盤、滑鼠、操縱桿、觸控板、觸控螢幕、靜態或視訊記錄器/攝影機、用於辨識手勢之追蹤裝置及/或麥克風。網路介面1214允許裝置1200經由電子通信網路與其他電腦系統通信,且可包括經由區域網路及廣域網路(諸如網際網路)之有線或無線通信。音訊處理器1212適於自藉由CPU 1202、記憶體1204及/或儲存裝置1206提供之指令及/或資料產生類比或數位音訊輸出。裝置1200之組件(包括CPU 1202、記憶體1204、資料儲存裝置1206、使用者輸入裝置1208、網路介面1210及音訊處理器1212)經由一或多個資料匯流排1222連接。
圖形子系統1214進一步與資料匯流排1222及裝置1200之組件連接。圖形子系統1214包括圖形處理單元(GPU) 1216及圖形記憶體1218。圖形記憶體1218包括用於儲存輸出影像之每個像素之像素資料的顯示記憶體(例如,圖框緩衝器)。圖形記憶體1218可與GPU 1216整合於同一裝置中、作為單獨裝置與GPU 1216連接及/或在記憶體1204內實施。可將像素資料自CPU 1202直接提供至圖形記憶體1218。替代地,CPU 1202向GPU 1216提供界定所要輸出影像之資料及/或指令,GPU 1216自該等資料及/或指令產生一或多個輸出影像之像素資料。界定所要輸出影像之資料及/或指令可儲存於記憶體1204及/或圖形記憶體1218中。在一實施例中,GPU 1216包括用於自界定場景之幾何形狀、照明、著色、紋理、運動及/或攝影機參數之指令及資料產生輸出影像之像素資料的3D渲染能力。GPU 1216可進一步包括能夠執行著色器程式之一或多個可程式化執行單元。
圖形子系統1214自圖形記憶體1218週期性地輸出影像之像素資料以便在顯示裝置1210上顯示或藉由投影系統1240投影。顯示裝置1210可為能夠回應於來自裝置1200之信號而顯示視覺資訊之任何裝置,包括CRT、LCD、等離子體及OLED顯示器。裝置1200可向顯示裝置1210提供(例如)類比或數位信號。
另外,如先前所描述,裝置1200包括視線追蹤系統1220,該視線追蹤系統包括視線追蹤感測器265及光源(例如,發射不可見紅外光)。
應理解,本文中所描述之實施例可在任何類型之用戶端裝置上執行。在一些實施例中,該用戶端裝置為頭戴式顯示器(HMD)或投影系統。圖13係根據本揭示案之一實施例圖解說明所示頭戴式顯示器102之組件的圖。HMD 102可經組態以預測與在跳視期間及/或結束時使用者之眼睛之視線方向相關聯的在HMD之顯示器上之落點及在後期更新操作中將所預測落點提供至GPU,其中該跳視係結合觀看該顯示器之使用者來界定。
頭戴式顯示器102包括用於執行程式指令之處理器1300。記憶體1302被提供用於儲存目的,且可包括揮發性與非揮發性記憶體。包括顯示器1304,該顯示器提供使用者可觀看之視覺介面。電池1306被提供為頭戴式顯示器102之電源。運動偵測模組1308可包括各種運動敏感硬體中之任一者,諸如磁力計1310A、加速計1312及陀螺儀1314。
加速計係用於量測加速度及重力誘發反作用力之裝置。單軸及多軸模型可用於偵測不同方向上之加速度的量值及方向。使用加速計來感測傾斜、振動及撞擊。在一個實施例中,使用三個加速計1312來提供重力方向,該重力方向給出兩個角度(世界空間俯仰角及世界空間翻滾角)之絕對參考。
磁力計量測在頭戴式顯示器附近之磁場的強度及方向。在一個實施例中,在頭戴式顯示器內使用三個磁力計1310A,確保世界空間偏航角之絕對參考。在一個實施例中,磁力計被設計成擴展地球磁場,地球磁場為±80微特士拉。磁力計受金屬影響,且提供與實際偏航角成單調函數之偏航角量測值。磁場可能會歸因於環境中之金屬而發生偏差,此導致偏航角量測值之偏差。若必要,可使用來自其他感測器(諸如陀螺儀或攝影機)之資訊來校準此偏差。在一個實施例中,將加速計1312與磁力計1310A一起使用來獲得頭戴式顯示器102之傾斜度及方位角。
陀螺儀係用於基於角動量之原理來量測或維持定向之裝置。在一個實施例中,三個陀螺儀1314基於慣性感測提供關於跨越各別軸線(x、y及z)之移動的資訊。該等陀螺儀幫助偵測快速旋轉。然而,該等陀螺儀在不存在絕對參考之情況下可能會超時偏移。此要求週期性地重設陀螺儀,此可使用其他可用資訊來完成,諸如基於對物件之視覺追蹤、加速計、磁力計等進行的位置/定向確定。
提供攝影機1316以用於捕獲真實環境之影像及影像串流。在頭戴式顯示器102中可包括一個以上攝影機,包括後置攝影機(在使用者觀看頭戴式顯示器102之顯示器時背對使用者)及前置攝影機(在使用者觀看頭戴式顯示器102之顯示器時朝向使用者)。另外,在頭戴式顯示器102中可包括用於感測真實環境中之物件之深度資訊的深度攝影機1318。
在一個實施例中,可使用整合於HMD之正面上的攝影機來提供關於安全之警報。舉例而言,若使用者接近牆壁或物件,則可能會對使用者發出警報。在一個實施例中,可向使用者提供房間中之實體物件的概略視圖或向使用者警報其存在。概略視圖可(例如)為虛擬環境中之疊加。在一些實施例中,可向HMD使用者提供參考標記之視圖,該參考標記疊加於(例如)地板上。舉例而言,該標記可向使用者提供房間之中心處於何處的參考,使用者正在該房間中玩遊戲。此可向使用者提供(例如)使用者為了避免撞到牆壁或房間中之其他物件而將移動至何處的視覺資訊。亦可向使用者提供觸覺警報及/或音訊警報以在使用者戴上HMD且藉由該HMD玩遊戲或導覽內容時提供更多安全性。
頭戴式顯示器102包括用於提供音訊輸出之揚聲器252。此外,可包括用於捕獲來自真實環境之音訊(包括來自周圍環境之聲音、使用者發出之語音等)的麥克風251。頭戴式顯示器102包括用於向使用者提供觸覺回饋之觸覺回饋模組281。在一個實施例中,觸覺回饋模組281能夠導致頭戴式顯示器102之移動及/或振動以便向使用者提供觸覺回饋。
LED 1326被提供為頭戴式顯示器102之狀態的視覺指示器。舉例而言,LED可指示電池電量、上電等。提供讀卡器1328以使得頭戴式顯示器102能夠自記憶體卡讀取資訊且將資訊寫入至記憶體卡。包括USB介面1330,作為用於實現周邊裝置之連接或至其他裝置(諸如其他可攜式裝置、電腦等)之連接的介面之一個實例。在頭戴式顯示器102之各種實施例中,可包括各種介面中之任一者以實現頭戴式顯示器102之更多連接性。
包括用於經由無線網路技術實現至網際網路之連接的Wi-Fi模組1332。此外,頭戴式顯示器102包括用於實現至其他裝置之無線連接的藍芽模組1334。亦可包括用於實現至其他裝置之連接的通信鏈路1336。在一個實施例中,通信鏈路1336利用紅外傳輸來進行無線通信。在其他實施例中,通信鏈路1336可利用各種無線或有線傳輸協定中之任一者來與其他裝置通信。
包括輸入按鈕/感測器1338以為使用者提供輸入介面。可包括各種輸入介面中之任一者,諸如按鈕、觸控板、操縱桿、軌跡球等。在頭戴式顯示器102中可包括用於促進經由超音波技術與其他裝置通信之超音波通信模組1340。
包括生物感測器1342以實現對來自使用者之生理資料的偵測。在一個實施例中,生物感測器1342包括用於經由使用者之皮膚偵測使用者之生物電信號的一或多個乾式電極。
包括光感測器1344以對來自置於3維實體環境中之發射器(例如,紅外基地台)的信號作出回應。遊戲控制台分析來自光感測器1344及發射器之資訊以確定與頭戴式顯示器102有關之位置及定向資訊。
另外,包括視線追蹤系統1320,且該視線追蹤系統經組態以實現對使用者之視線的追蹤。舉例而言,系統1320可包括視線追蹤攝影機(例如,感測器),該等視線追蹤攝影機捕獲使用者之眼睛的影像,隨後分析該等影像以確定使用者之視線方向。在一個實施例中,可利用關於使用者之視線方向的資訊來影響視訊渲染及/或預測在跳視期間或結束時使用者之視線所朝向的在一顯示器上之落點。此外,可優先化或強調在視線方向上之視訊渲染,諸如藉由提供更多細節、經由注視點渲染之較高解析度、在注視點區中顯示之粒子系統效果的較高解析度、在注視點區外部顯示之粒子系統效果的較低解析度或使用者正看之區中的較快更新。
頭戴式顯示器102之前述組件僅被描述為可包括於頭戴式顯示器102中之例示性組件。在本揭示案之各種實施例中,頭戴式顯示器102可能會或可能不會包括各種前述組件中之一些。頭戴式顯示器102之實施例可另外包括目前未描述但本領域中已知的用於促進如本文中所描述的本揭示案之態樣的其他組件。
熟習此項技術者將理解,在本揭示案之各種實施例中,前述頭戴式裝置可與在顯示器上顯示之交互式應用程式結合使用來提供各種交互式功能。本文中描述之例示性實施例僅以舉例方式而非以限制方式提供。
應注意,在廣地理區域內遞送之存取服務(諸如提供對當前實施例之遊戲的存取)通常使用雲端計算。雲端計算為將可動態地縮放且通常虛擬化之資源經由網際網路作為服務提供的一類計算。使用者無需為支持其之「雲端」中的技術基礎架構中之專家。雲端計算可被分成不同服務,諸如基礎架構即服務(IaaS)、平台即服務(PaaS)及軟體即服務(SaaS)。雲端計算服務通常在線上提供共同應用程式,諸如視訊遊戲,在軟體及資料儲存於雲端中之伺服器上時,自網路瀏覽器存取該等應用程式。術語雲端基於在電腦網路圖中如何繪示網際網路而用作網際網路之比喻且為其隱藏之複雜基礎架構之抽象。
遊戲處理伺服器(GPS) (或簡稱為「遊戲伺服器」)藉由遊戲用戶端使用來玩單玩家及多玩家視訊遊戲。在網際網路上玩之大多數視訊遊戲經由至遊戲伺服器之連接來操作。通常,遊戲使用收集來自玩家之資料且將其分配給其他玩家之專用伺服器應用程式。此比同級佈置更高效及有效,但其需要單獨之伺服器來託管該伺服器應用程式。在另一個實施例中,GPS在玩家與其各別玩遊戲裝置之間建立通信來交換資訊而不依賴於集中式GPS。
專用GPS係獨立於用戶端運行之伺服器。此類伺服器通常在位於資料中心中之專用硬體上運行,提供更多頻寬及專用處理能力。專用伺服器為託管大多數基於PC之多玩家遊戲之遊戲伺服器的較佳方法。大規模多玩家線上遊戲在通常藉由擁有遊戲標題之軟體公司託管的專用伺服器上運行,允許其控制且更新內容。
使用者存取具有用戶端裝置之遠端服務,該等用戶端裝置至少包括CPU、顯示器及I/O。該用戶端裝置可為PC、行動電話、隨身型易網機、PDA等。在一個實施例中,在遊戲伺服器上執行之網路辨識藉由用戶端使用之裝置的類型且調整所採用之通信方法。在其他情況中,用戶端裝置使用標準通信方法,諸如html,來經由網際網路存取遊戲伺服器上之應用程式。
本揭示案之實施例可使用各種電腦系統組態來實踐,該等電腦系統組態包括手持式裝置、微處理器系統、基於微處理器或可程式化消費型電子裝置、迷你電腦、大型電腦及類似者。本揭示案亦可在任務係藉由遠端處理裝置執行之分散式計算環境中實踐,該等遠端處理裝置經由有線或無線網路連接。
應瞭解,可針對特定平台及特定之相關聯控制器裝置來開發給定視訊遊戲或遊戲應用程式。然而,當此類遊戲可經由如本文中呈現之遊戲雲端系統來獲得時,使用者可藉由不同控制器裝置來存取視訊遊戲。舉例而言,可能已針對遊戲控制台及其相關聯之控制器來開發遊戲,而使用者可能利用鍵盤及滑鼠自個人電腦來存取遊戲的基於雲端之版本。在此類情形中,輸入參數組態可界定自可藉由使用者之可用控制器裝置(在此種情況中,鍵盤及滑鼠)產生之輸入至可用於執行視訊遊戲之輸入的映射。
在另一個實例中,使用者可經由平板計算裝置、觸控螢幕智慧電話或其他觸控螢幕驅動型裝置來存取雲端遊戲系統。在這種情況中,用戶端裝置及控制器裝置一起整合於同一裝置中,其中輸入藉由專用觸控螢幕輸入/手勢來提供。對於此類裝置,該輸入參數組態可界定與視訊遊戲之遊戲輸入對應的特定觸控螢幕輸入。舉例而言,按鈕、方向板或其他類型之輸入元件可在視訊遊戲之運行期間顯示或疊加以指示在觸控螢幕上的使用者為了產生遊戲輸入而可觸摸之位置。手勢(諸如在特定方向上之輕掃或特殊觸摸運動)亦可被偵測為遊戲輸入。在一個實施例中,例如,在開始玩視訊遊戲之前,可將指示為了玩遊戲如何經由觸控螢幕提供輸入之教導提供至使用者,以便使使用者適應觸控螢幕上之控件的操作。
在一些實施例中,用戶端裝置用作控制器裝置之連接點。亦即,該控制器裝置經由無線或有線連接與用戶端裝置通信以將來自控制器裝置之輸入傳輸至用戶端裝置。該用戶端裝置轉而可處理此等輸入且隨後經由網路(例如,經由諸如路由器之區域網路裝置存取)將輸入資料傳輸至雲端遊戲伺服器。然而,在其他實施例中,控制器自身可為網路裝置,能夠經由網路將輸入直接傳送至雲端遊戲伺服器,而不需要先經由用戶端裝置來傳送此類輸入。舉例而言,控制器可連接至區域網路裝置(諸如前述路由器)以向雲端遊戲伺服器發送資料及自雲端遊戲伺服器接收資料。因此,雖然用戶端裝置仍可能需要接收自基於雲端之視訊遊戲輸出之視訊且在本地顯示器上對其進行渲染,但可藉由允許控制器繞過用戶端裝置經由網路將輸入直接發送至雲端遊戲伺服器來減少輸入等待時間。
在一個實施例中,網路控制器及用戶端裝置可經組態以將某些類型之輸入自控制器直接發送至雲端遊戲伺服器且經由用戶端裝置發送其他類型之輸入。舉例而言,其偵測不取決於與控制器自身分開之任何額外硬體或處理的輸入可繞過用戶端裝置經由網路自控制器直接發送至雲端遊戲伺服器。此類輸入可包括按鈕輸入、操縱桿輸入、嵌入式運動偵測輸入(例如,加速計、磁力計、陀螺儀)等。然而,利用額外硬體或需要用戶端裝置進行處理之輸入可藉由用戶端裝置發送至雲端遊戲伺服器。此等輸入可包括來自遊戲環境的所捕獲之視訊或音訊,該視訊或音訊可在發送至雲端遊戲伺服器之前藉由用戶端裝置處理。另外,來自控制器之運動偵測硬體之輸入可與所捕獲之視訊結合藉由用戶端裝置處理以偵測控制器之位置及運動,該位置及運動隨後將藉由用戶端裝置傳送至雲端遊戲伺服器。應瞭解,根據各種實施例之控制器裝置亦可自用戶端裝置或直接自雲端遊戲伺服器接收資料(例如,回饋資料)。
明確言之,圖14係根據本揭示案之各種實施例之遊戲系統1400之方塊圖。遊戲系統1400經組態以經由網路1415將視訊串流提供至一或多個用戶端1410,諸如在單玩家模式或多玩家模式中。遊戲系統1400通常包括視訊伺服器系統1420及任選之遊戲伺服器1425。視訊伺服器系統1420經組態來以最低品質之服務將該視訊串流提供至一或多個用戶端1410。舉例而言,視訊伺服器系統1420可接收在視訊遊戲內改變狀態或視點之遊戲命令,且在具有最小延遲時間之情況下向用戶端1410提供反映此狀態改變之經更新視訊串流。視訊伺服器系統1420可經組態以按各種替代視訊格式(包括有待界定之格式)來提供視訊串流。另外,該視訊串流可包括經組態用於按各種圖框率向使用者呈現之視訊圖框。典型圖框率為每秒30個圖框、每秒80個圖框及每秒820個圖框。但在本揭示案之替代實施例中包括較高或較低之圖框率。
用戶端裝置1410 (在本文中被單獨地稱為1410A、1410B等)可包括頭戴式顯示器、終端、個人電腦、遊戲控制台、平板電腦、電話、機上盒、資訊站、無線裝置、數位板、單獨裝置、手持式玩遊戲裝置及/或類似者。通常,用戶端1410經組態以接收經編碼視訊串流(亦即,經壓縮)、解碼該等視訊串流且向使用者(例如,遊戲玩家)呈現所得視訊。接收經編碼視訊串流及/或解碼該等視訊串流之過程通常包括將單獨視訊圖框儲存於用戶端之接收緩衝器中。可在與用戶端1410成一體之顯示器上或在單獨裝置(諸如監視器或電視)上向使用者呈現視訊串流。用戶端1410視情況地經組態以支持一個以上遊戲玩家。舉例而言,遊戲控制台可經組態以支持兩位、三位、四位或更多位同時玩家。此等玩家中之每一者可接收單獨視訊串流,或單個視訊串流可包括特別為每位玩家產生(例如,基於每位玩家之視點產生)之圖框的區。用戶端1410視情況地在地理上分散。遊戲系統1400中包括之用戶端的數目可自一個或兩個至數千、數萬或更多而大幅變化。如本文中所使用,術語「遊戲玩家」用於指代玩遊戲之人,且術語「玩遊戲裝置」用於指代用於玩遊戲之裝置。在一些實施例中,玩遊戲裝置可指代相協作以向使用者傳遞遊戲體驗之複數個計算裝置。舉例而言,遊戲控制台及HMD可與視訊伺服器系統1420協作以遞送經由HMD觀看之遊戲。在一個實施例中,遊戲控制台自視訊伺服器系統1420接收視訊串流,且遊戲控制台將該視訊串流或該視訊串流之更新轉發至HMD以進行渲染。
用戶端1410經組態以經由網路1415接收視訊串流。網路1415可為任何類型之通信網路,包括電話網路、網際網路、無線網路、電力線網路、區域網路、廣域網路、專用網路及/或類似者。在典型實施例中,經由標準協定(諸如TCP/IP或UDP/IP)來傳送視訊串流。替代地,經由專有標準來傳送視訊串流。
用戶端1410之典型實例係包括處理器、非揮發性記憶體、顯示器、解碼邏輯、網路通信能力及輸入裝置之個人電腦。該解碼邏輯可包括硬體、韌體及/或儲存於電腦可讀媒體上之軟體。用於解碼(及編碼)視訊串流之系統在本領域中係眾所周知的且端視所使用之特定編碼方案而變。
用戶端1410可進一步包括但不需要進一步包括經組態用於修改所接收到之視訊的系統。舉例而言,用戶端可經組態以執行進一步渲染、將一個視訊影像疊加於另一個視訊影像上、修剪視訊影像及/或類似者。舉例而言,用戶端1410可經組態以接收各種類型之視訊圖框,諸如I圖框、P圖框及B圖框,且將此等圖框處理成影像以向使用者顯示。在一些實施例中,用戶端1410中之成員經組態以對視訊串流執行進一步渲染、著色、3-D轉換或類似操作。用戶端1410中之成員視情況地經組態以接收一個以上音訊或視訊串流。用戶端1410之輸入裝置可包括(例如)單手遊戲控制器、雙手遊戲控制器、手勢辨識系統、視線辨識系統、語音辨識系統、鍵盤、操縱桿、指點裝置、力回饋裝置、運動及/或位置感測裝置、滑鼠、觸控螢幕、神經介面、攝影機、有待開發之輸入裝置及/或類似者。
用戶端1410接收到之視訊串流(及視情況地音訊串流)係藉由視訊伺服器系統1420產生及提供。如本文中別處進一步描述,此視訊串流包括視訊圖框(且音訊串流包括音訊圖框)。該等視訊圖框經組態(例如,其包括按適當資料結構之像素資訊)以顯著地促成向使用者顯示之影像。如本文中所使用,術語「視訊圖框」用於指代主要包括某類資訊之圖框,該資訊經組態以促成(例如,影響)向使用者展示之影像。本文中關於「視訊圖框」之大多數教示亦可應用於「音訊圖框」。
用戶端1410通常經組態以接收來自使用者之輸入。此等輸入可包括經組態以改變視訊遊戲之狀態或以其他方式影響玩遊戲之遊戲命令。該等遊戲命令可使用輸入裝置來接收及/或可藉由在用戶端1410上執行之計算指令來自動地產生。所接收到之遊戲命令經由網路1415自用戶端1410傳送至視訊伺服器系統1420及/或遊戲伺服器1425。舉例而言,在一些實施例中,該等遊戲命令經由視訊伺服器系統1420傳送至遊戲伺服器1425。在一些實施例中,將遊戲命令之單獨複本自用戶端1410傳送至遊戲伺服器1425及視訊伺服器系統1420。遊戲命令之傳送視情況地取決於命令之識別碼。視情況地經由用於將音訊或視訊串流提供至用戶端1410A之不同路線或通信頻道自用戶端1410A傳送遊戲命令。
遊戲伺服器1425視情況地藉由與視訊伺服器系統1420不同之實體來操作。舉例而言,遊戲伺服器1425可藉由多玩家遊戲之發佈商操作。在此實例中,視訊伺服器系統1420視情況地被遊戲伺服器1425視為用戶端且視情況地經組態而自遊戲伺服器1425之視點呈現為執行先前技術之遊戲引擎的先前技術之用戶端。視訊伺服器系統1420與遊戲伺服器1425之間的通信視情況地經由網路1415發生。因而,遊戲伺服器1425可為將遊戲狀態資訊發送至多個用戶端的先前技術之多玩家遊戲伺服器,該等用戶端中之一者為遊戲伺服器系統1420。視訊伺服器系統1420可經組態以同時與遊戲伺服器1425之多個實例通信。舉例而言,視訊伺服器系統1420可經組態以將複數個不同之視訊遊戲提供給不同使用者。此等不同視訊遊戲中之每一者可藉由不同之遊戲伺服器1425支持及/或藉由不同實體發佈。在一些實施例中,視訊伺服器系統1420之若干地理上分散之實例經組態以將遊戲視訊提供給複數個不同使用者。視訊伺服器系統1420之此等實例中之每一者可與遊戲伺服器1425之同一個實例通信。視訊伺服器系統1420與一或多個遊戲伺服器1425之間的通信視情況地經由專用通信頻道來進行。舉例而言,視訊伺服器系統1420可經由高頻寬頻道連接至遊戲伺服器1425,該高頻寬頻道專用於此兩個系統之間的通信。
視訊伺服器系統1420至少包括視訊源1430、I/O裝置1445、處理器1450及非暫時性儲存裝置1455。視訊伺服器系統1420可包括一個計算裝置或在複數個計算裝置間分散。此等計算裝置視情況地經由通信系統(諸如區域網路)連接。
視訊源1430經組態以提供視訊串流,例如,串流視訊或形成動態圖片之一連串視訊圖框。在一些實施例中,視訊源1430包括視訊遊戲引擎及渲染邏輯。該視訊遊戲引擎經組態以接收來自玩家之遊戲命令且基於所接收到之命令來維持視訊遊戲之狀態的複本。此遊戲狀態包括遊戲環境中之物件的位置以及通常包括視點。遊戲狀態亦可包括物件之性質、影像、顏色及/或紋理。
通常基於遊戲規則以及遊戲命令(諸如移動、轉身、攻擊、設置焦點、交互、使用及/或類似者)來維持遊戲狀態。遊戲引擎之部分視情況地設置於遊戲伺服器1425內。遊戲伺服器1425可基於自使用地理上分散之用戶端的多位玩家接收到之遊戲命令來維持遊戲之狀態的複本。在此等情況中,遊戲狀態係藉由遊戲伺服器1425提供至視訊源1430,其中儲存該遊戲狀態之複本且執行渲染。遊戲伺服器1425可經由網路1415直接自用戶端1410接收遊戲命令,及/或可經由視訊伺服器系統1420接收遊戲命令。
視訊源1430通常包括渲染邏輯,例如,硬體、韌體及/或儲存於電腦可讀媒體(諸如儲存裝置1455)上之軟體。此渲染邏輯經組態以基於遊戲狀態來產生視訊串流之視訊圖框。該渲染邏輯之全部或部分視情況地設置於圖形處理單元(GPU)內。渲染邏輯通常包括經組態用於基於遊戲狀態及視點來確定物件之間的三維空間關係及/或用於施加適當紋理等的處理級。該渲染邏輯產生原始視訊,該原始資訊隨後通常會在傳送至用戶端1410之前進行編碼。舉例而言,可根據Adobe Flash®標準、.wav、H.264、H.263、On2、VP6、VC-1、WMA、Huffyuv、Lagarith、MPG-x. Xvid. Ffmpeg、x264、VP6-8、realvideo、mp3或類似者來對該原始視訊進行編碼。編碼過程產生一視訊串流,該視線串流視情況地被封裝以遞送至遠端裝置上之解碼器。該視訊串流藉由圖框大小及圖框率案來表徵。典型之圖框大小包括800×600、1280×720 (例如,720p)、1024×768,但可使用任何其他圖框大小。圖框率為每秒之視訊圖框之數目。視訊串流可包括不同類型之視訊圖框。舉例而言,H.264標準包括「P」圖框及「I」圖框。I圖框包括用於再新顯示裝置上之所有巨集塊/像素之資訊,而P圖框包括用於再新其子集之資訊。P圖框之資料大小通常小於I圖框。如本文中所使用,術語「圖框大小」意欲指代圖框內之像素數目。術語「圖框資料大小」用於指代儲存該圖框所需之位元組數目。
在替代實施例中,視訊源1430包括視訊記錄裝置,諸如攝影機。此攝影機可用於產生延遲或實況視訊,該視訊可包括於電腦遊戲之視訊串流中。所得視訊串流視情況地包括所渲染影像與使用靜態或視訊攝影機記錄之影像。視訊源1430亦可包括儲存裝置,該等儲存裝置經組態以儲存先前記錄之視訊以包括於視訊串流中。視訊源1430亦可包括經組態以偵測物件(例如,人)之運動或位置的運動或位置感測裝置及經組態以基於所偵測到之運動及/或位置來確定遊戲狀態或產生視訊的邏輯。
視訊源1430視情況地經組態以提供疊加,該等疊加經組態以放置於其他視訊上。舉例而言,此等疊加可包括命令介面、登入指令、給遊戲玩家之訊息、其他遊戲玩家之影像、其他遊戲玩家之視訊饋給(例如,網路攝影機視訊)。在包括觸控螢幕介面或視線偵測介面之用戶端1410A的實施例中,該疊加可包括虛擬鍵盤、操縱桿、觸控板及/或類似者。在疊加之一個實例中,玩家之語音疊加於音訊串流上。視訊源1430視情況地進一步包括一或多個音訊源。
在視訊伺服器系統1420經組態以基於來自一個以上玩家之輸入來維持遊戲狀態的實施例中,每位玩家可具有包括位置及觀看方向之不同視點。視訊源1430視情況地經組態以基於每位玩家之視點為每位玩家提供單獨之視訊串流。另外,視訊源1430可經組態以向用戶端1410中之每一者提供不同之圖框大小、圖框資料大小及/或編碼。視訊源1430視情況地經組態以提供3-D視訊。
I/O裝置1445經組態用於視訊伺服器系統1420以發送及/或接收資訊,諸如視訊、命令、對資訊之請求、遊戲狀態、視線資訊、裝置運動、裝置位置、使用者運動、用戶端識別碼、玩家識別碼、遊戲命令、安全資訊、音訊及/或類似者。I/O裝置1445通常包括通信硬體,諸如網路卡或數據機。I/O裝置1445經組態以與遊戲伺服器1425、網路1415及/或用戶端1410通信。
處理器1450經組態以執行包括於本文中論述之視訊伺服器系統1420之各種組件內的邏輯,例如,軟體。舉例而言,處理器1450可程式化有軟體指令以便執行視訊源1430、遊戲伺服器1425及/或用戶端資格限定器1460之功能。視訊伺服器系統1420視情況地包括處理器1450之一個以上實例。處理器1450亦可程式化有軟體指令以便執行藉由視訊伺服器系統1420接收到之命令,或協調本文中論述之遊戲系統1400之各種元件的操作。處理器1450可包括一或多個硬體裝置。處理器1450係電子處理器。
儲存裝置1455包括非暫時性類比及/或數位儲存裝置。舉例而言,儲存裝置1455可包括經組態以儲存視訊圖框之類比儲存裝置。儲存裝置1455可包括電腦可讀數位儲存裝置,例如,硬碟、光學驅動器或固態儲存裝置。儲存裝置1455經組態(例如,藉由適當資料結構或檔案系統)以儲存視訊圖框、人工圖框、包括視訊圖框與人工圖框之視訊串流、音訊圖框、音訊串流及/或類似者。儲存裝置1455視情況地分散在複數個裝置間。在一些實施例中,儲存裝置1455經組態以儲存在本文中別處論述之視訊源1430之軟體組件。此等組件可按準備好在需要時提供之格式來儲存。
視訊伺服器系統1420視情況地進一步包括用戶端資格限定器1460。用戶端資格限定器1460經組態用於在遠端確定用戶端(諸如用戶端1410A或1410B)之能力。此等能力可包括用戶端1410A自身之能力及用戶端1410A與視訊伺服器系統1420之間的一或多個通信頻道之能力兩者。舉例而言,用戶端資格限定器1460可經組態以測試經由網路1415之通信頻道。
用戶端資格限定器1460可手動地或自動地確定(例如,發現)用戶端1410A之能力。手動確定包括與用戶端1410A之使用者通信且請求使用者提供能力。舉例而言,在一些實施例中,用戶端資格限定器1460經組態以在用戶端1410A之瀏覽器內顯示影像、文本及/或類似者。在一個實施例中,用戶端1410A為包括瀏覽器之HMD。在另一個實施例中,用戶端1410A為具有瀏覽器之遊戲控制台,該瀏覽器可顯示於HMD上。所顯示之物件請求使用者輸入用戶端1410A之資訊,諸如作業系統、處理器、視訊解碼器類型、網路連接之類型、顯示解析度等。由使用者輸入之資訊往回傳送至用戶端資格限定器1460。
自動確定可(例如)藉由在用戶端1410A上執行代理及/或藉由將測試視訊發送至用戶端1410A來進行。該代理可包括嵌入於網頁中或作為插件安裝之計算指令,諸如java腳本。該代理視情況地藉由用戶端資格限定器1460提供。在各種實施例中,該代理可發現用戶端1410A之處理能力、用戶端1410A之解碼及顯示能力、用戶端1410A與視訊伺服器系統1420之間的通信頻道之延遲時間可靠性及頻寬、用戶端1410A之顯示器類型、用戶端1410A上存在之防火牆、用戶端1410A之硬體、在用戶端1410A上執行之軟體、用戶端1410A內之註冊表項及/或類似者。
用戶端資格限定器1460包括硬體、韌體及/或儲存於電腦可讀媒體上之軟體。用戶端資格限定器1460視情況地設置於與視訊伺服器系統1420之一或多個其他元件分離的計算裝置上。舉例而言,在一些實施例中,用戶端資格限定器1460經組態以確定用戶端1410與視訊伺服器系統1420之一個以上實例之間的通信頻道之特性。在此等實施例中,藉由用戶端資格限定器發現之資訊可用於確定視訊伺服器系統1420之哪個實例最適合於將串流視訊遞送至用戶端1410中之一者。
雖然已提供特定實施例來論證對顯示器上之目標落點的預測及後期更新,使得使用者之眼睛的移動與顯示器上之注視點區在經更新之目標落點處的呈現一致,但此等情況以舉例方式而非以限制方式來描述。閱讀了本揭示案之熟習此項技術者將實現屬於本揭示案之精神及範疇內之額外實施例。
應理解,可使用本文中揭示之各種特徵來將本文中界定之各種實施例組合或組裝成特定實施方案。因此,所提供之實例僅為一些可能實例,而不限於藉由將各種元件相組合以界定更多實施方案而成為可能的各種實施方案。在一些實例中,在不脫離所揭示實施方案或等效實施方案之精神的情況下,一些實施方案可包括較少元件。
本揭示案之實施例可使用各種電腦系統組態來實踐,該等電腦系統組態包括手持式裝置、微處理器系統、基於微處理器或可程式化消費型電子裝置、迷你電腦、大型電腦及類似者。本揭示案之實施例亦可在任務係藉由遠端處理裝置執行之分散式計算環境中實踐,該等遠端處理裝置經由有線或無線網路連接。
慮及以上實施例,應理解,本揭示案之實施例可採用涉及儲存於電腦系統中之資料的各種電腦實施之操作。此等操作係需要對物理量之物理操縱的彼等操作。形成本揭示案之實施例之部分的在本文中描述之任何操作係有用之機器操作。本揭示案之實施例亦係關於用於執行此等操作之裝置或設備。該設備可針對所要求之目的而特別地建構,或該設備可為藉由儲存於電腦中之電腦程式來選擇性地啟動或組態之通用電腦。明確言之,各種通用機器可與根據本文中之教示編寫之電腦程式一起使用,或建構更專業之設備來執行所要求之操作可能更方便。
本揭示案亦可體現為電腦可讀媒體上之電腦可讀程式碼。該電腦可讀媒體為可儲存資料之任何資料儲存裝置,該資料之後可藉由電腦系統讀取。該電腦可讀媒體之實例包括硬碟機、網路附加儲存裝置(NAS)、唯讀記憶體、隨機存取記憶體、CD-ROM、CD-R、CD-RW、磁帶及其他光學及非光學資料儲存裝置。該電腦可讀媒體可包括分散於網路耦合電腦系統上之電腦可讀有形媒體,使得該電腦可讀程式碼以分散式方式儲存及執行。
雖然按特定次序來描述方法操作,但應理解,其他內務處理操作可在操作之間執行,或可調整操作使得其在稍有不同之時間發生,或可分散於一系統中,該系統允許處理操作以與該處理相關聯之各種時間間隔發生,只要疊加操作之處理按所要方式執行即可。
雖然為了便於理解而稍詳細地描述了以上揭示內容,但將顯而易見,可在所附請求項之範疇內實踐某些改變及修改。因此,當前實施例將被認為係說明性的而非限制性的,且本揭示案之實施例不限於本文中給出之詳情,而是可在所附請求項之範疇及等效物內進行修改。
100:使用者
102:頭戴式顯示器
102a:顯示器殼體
102b:光學器件
102c:翼片
102d:鼻子插入區
102e:介面表面
104:控制器
106:電腦
108:攝影機
108’:攝影機
110:收發器
112:網路
114:雲端遊戲提供者
116:磁源
190:深度學習引擎
191:輸入層
192:隱藏層
193:輸出層
206:接近感測器
220:VR內容引擎
251:麥克風
252:揚聲器
259:運動/慣性感測器
260:眼睛
261:控制器輸入
262:音訊輸入
263:運動輸入
265:視線偵測/追蹤感測器
265a:視線偵測/追蹤感測器
265b:視線偵測/追蹤感測器
265y:視線偵測/追蹤感測器
265x:視線偵測/追蹤感測器
270:光學器件之鏡片
281:觸覺回饋模組
282:音訊渲染模組
283:視訊渲染模組
291:VR內容
302:接近感測器
302a:接近感測器
302b:接近感測器
400:跳視預測引擎
401:光源
402:當前取樣點
403:先前取樣點
405:緩衝器
410:速度產生器
420:跳視識別器
430:樣本集收集器
440:長短期記憶體模組
450:多層網路
451:輸入資訊
452:輸出
501:渲染管線
506:眼睛方向
507:眼睛方向
510:跳視路徑
520:時間線
541:所預測注視點區
542:所預測注視點區
543:所預測注視點區
549:所渲染注視點區
591:點
592~595:管線序列
610A:垂直軸
610B:垂直軸
615:水平軸
620:線
630:線
640:圓圈
650:取樣點
661~664:行
700:流程圖
710:步驟
720:步驟
730:步驟
740:步驟
741~745:步驟
750:步驟
800:渲染管線
801:取樣點
802:視線追蹤資訊
805:幾何圖元
810:應用程式
820:系統記憶體
830:後期更新
840:GPU記憶體
850:頂點著色器
860:注視點片段著色器
870:輸出合併
880:圖框緩衝器
900B:流程圖
901:管線序列
902:管線序列
910:掃描輸出
911:管線序列
912:管線序列
915:步驟
920:步驟
930:步驟
940:步驟
950:步驟
960:步驟
1000A:流程圖
1001:管線序列
1002:管線序列
1010:步驟
1020:步驟
1030:步驟
1040:步驟
1050:步驟
1100A:流程圖
1101:管線序列
1102:管線序列
1110:步驟
1120:步驟
1130:步驟
1140:步驟
1150:步驟
1160:步驟
1202:中央處理單元(CPU)
1204:記憶體
1206:儲存裝置
1208:使用者輸入裝置
1210:顯示器
1212:音訊處理器
1214:網路介面
1216:圖形處理單元(GPU)
1218:圖形記憶體
1220:視線追蹤系統
1222:匯流排
1300:處理器
1302:記憶體
1304:顯示器
1306:電池
1308:可攜式運動偵測
1310:磁力計
1312:加速計
1314:陀螺儀
1316:攝影機
1318:深度攝影機
1320:視線追蹤系統
1326:發光二極體(LED)
1328:讀卡器
1330:通用串行匯流排(USB)
1332:Wi-Fi
1334:藍芽
1336:通信鏈路
1338:輸入按鈕/感測器
1340:超音波通信
1342:生物感測器
1344:光感測器
F1~F27:圖框1-27
藉由參考結合附圖進行之以下描述可最好地理解本揭示案,在附圖中:
[圖1A]根據本揭示案之一個實施例圖解說明經組態用於提供與VR內容之交互式體驗及用於預測與觀看HMD之顯示器之使用者相關聯的跳視之落點的系統,其中可經由手持式控制器提供一些輸入控制,且可經由追蹤身體部位(如經由攝影機實施)來管理一些輸入控制。
[圖1B]根據本揭示案之一個實施例圖解說明經組態用於提供與VR內容之交互式體驗及用於預測與觀看HMD之顯示器之使用者相關聯的跳視之落點的系統,其中可經由手持式控制器提供用於編輯之一些輸入控制,且可經由追蹤身體部位(如經由攝影機實施)來管理一些輸入控制,其中該攝影機亦追蹤HMD之移動以對將數據傳輸至HMD之RF發射器進行束追蹤。
[圖1C]根據本揭示案之一個實施例圖解說明經組態用於提供與VR內容之交互式體驗及用於預測與觀看HMD之顯示器之使用者相關聯的跳視之落點的系統,其中可經由手持式控制器提供用於編輯之一些輸入控制,且可經由對身體部位之磁性追蹤(如經由磁源部分地實施)來管理一些輸入控制。
[圖2]根據本揭示案之一實施例在概念上圖解說明與執行視訊遊戲相結合且用於提供用於編輯3D數位內容之3D編輯空間的HMD之功能。
[圖3A]至[圖3C]根據一個實施例圖解說明當觀察其中面經設計以與顯示器殼體會合之內表面時的一個例示性顯示器殼體之視圖,該視圖展示包括眼睛追蹤感測器之HMD的內部部分。
[圖4A]根據本揭示案之一個實施例圖解說明經組態用於預測與觀看HMD之顯示器之使用者相關聯的跳視之落點的預測引擎。
[圖4B]根據本揭示案之一個實施例圖解說明用於預測與觀看HMD之顯示器之使用者相關聯的跳視之落點的遞歸神經網路。
[圖4C]根據本揭示案之一個實施例圖解說明用於建立在HMD中觀看VR場景之一或多個使用者的跳視移動之模型的例示性神經網路。
[圖5A]根據本揭示案之一個實施例圖解說明無跳視預測之渲染管線,該圖展示圖框更新如何比眼睛移動慢,使得在完成眼睛移動後,使用者看影像係模糊的。
[圖5B]根據本揭示案之一個實施例圖解說明渲染管線之所得效果,該渲染管線經組態有觀看HMD之顯示器的使用者之眼睛移動的跳視預測,使得在完成眼睛移動之後,藉由在渲染管線中提前更新高解析度之注視點區使使用者看到之影像為清晰的。
[圖6A]根據本揭示案之一個實施例圖解說明觀看HMD之顯示器的使用者之跳視的眼睛位移及速度。
[圖6B]根據本揭示案之一個實施例圖解說明在觀看HMD之顯示器的使用者之跳視的速度圖中之各種取樣點處對眼睛定向資料之取樣。
[圖6C]根據本揭示案之一個實施例圖解說明用於一或多組取樣點之眼睛定向/追蹤資料之收集,該等取樣點用於預測與觀看HMD之顯示器之使用者相關聯的跳視之落點。
[圖6D]根據本揭示案之一個實施例圖解說明列出用於多組取樣點之眼睛定向資料的表,該等取樣點用於預測與觀看HMD之顯示器之使用者相關聯的跳視之落點。
[圖6E]根據本揭示案之一個實施例展示用於確定使用者之眼睛之速度的視線方向向量。
[圖7]係根據本揭示案之一個實施例圖解說明用於預測與觀看HMD之顯示器之使用者相關聯的跳視之落點的方法中之步驟的流程圖,且包括使用在跳視期間收集的來自多組取樣點之眼睛定向資料對與觀看HMD之顯示器之使用者相關聯的跳視之落點進行的多個預測之收斂。
[圖8]根據本揭示案之一個實施例圖解說明實施經組態用於進行注視點渲染之渲染管線的電腦系統,該渲染管線包括:預測與觀看HMD之顯示器之使用者相關聯的跳視之落點,及將該落點作為後期更新提供至該電腦系統之GPU可存取的緩衝器以便即刻用於渲染對應視訊圖框中的以該落點為中心的高解析度之注視點區。
[圖9A]根據本揭示案之一個實施例圖解說明當在執行應用程式期間產生視訊圖框時接收及使用視線追蹤資訊的渲染管線,其中該渲染管線不實施對該視線追蹤資訊之後期更新。
[圖9B]係根據本揭示案之一個實施例圖解說明用於藉由預測HMD之顯示器上之落點而更新渲染管線之資訊的方法中之步驟的流程圖,其中該落點對應於在跳視期間或結束時觀看該顯示器之使用者之眼睛的定向,其中所預測落點由GPU使用來渲染對應視訊圖框中的以該落點為中心的高解析度之注視點區。
[圖9C]根據本揭示案之一個實施例圖解說明當在執行應用程式期間產生視訊圖框時接收及使用視線追蹤資訊的渲染管線,其中預測一HMD上之落點,該落點對應於在跳視期間或結束時觀看該HMD之使用者之眼睛的定向,其中所預測落點由GPU使用來渲染對應視訊圖框中的以該落點為中心的高解析度之注視點區。
[圖10A]係根據本揭示案之一個實施例圖解說明用於藉由對傳入GPU可存取之緩衝器之視線追蹤資訊執行後期更新以便即刻使用來更新渲染管線之資訊的方法中之步驟。
[圖10B]根據本揭示案之一個實施例圖解說明當在執行應用程式期間產生視訊圖框時接收及使用視線追蹤資訊的渲染管線,其中該渲染管線實施對該視線追蹤資訊之後期更新。
[圖11A]係根據本揭示案之一個實施例圖解說明用於藉由對傳入GPU可存取之緩衝器的在HMD之顯示器上之所預測落點執行後期更新以便即刻使用來更新渲染管線之資訊的方法中之步驟,其中該落點對應於在跳視期間或結束時觀看該顯示器之使用者之眼睛的定向。
[圖11B]根據本揭示案之一個實施例圖解說明當在執行應用程式期間產生視訊圖框時接收及使用視線追蹤資訊的渲染管線,其中該渲染管線對傳入GPU可存取之緩衝器的在HMD之顯示器上之所預測落點實施後期更新以便即刻使用,其中該落點對應於在跳視期間或結束時觀看該顯示器之使用者之眼睛的定向。
[圖12]根據本揭示案之一實施例圖解說明例示性裝置之組件,該例示性裝置可用於執行本揭示案之各種實施例的態樣,圖9係圖解說明所示頭戴式顯示器之組件的圖。
[圖13]係根據本揭示案之一實施例圖解說明所示顯示頭戴式顯示器之組件的圖。
[圖14]係根據本揭示案之各種實施例的遊戲系統之方塊圖。
1100B:渲染管線
1101:管線序列
1102:管線序列
1202:CPU
1216:GPU
Claims (22)
- 一種用於預測在顯示器上的落點的系統,包括:視線追蹤系統,經組態用於追蹤使用者之眼睛的視線方向,以確定當該使用者觀看顯示器時的眼睛移動,其中該視線方向是相對於該顯示器進行測量的;預測引擎,經組態用於從該視線追蹤系統接收與被追蹤之該視線方向相關的資訊;該預測引擎之速度產生器,經組態用於基於該資訊確定在沿著該眼睛移動的軌跡捕獲的多個取樣點處的該眼睛移動的多個速度,其中該速度產生器經組態用於基於該多個速度建立速度圖;以及該預測引擎之深度學習引擎,經組態用於從儲存裝置存取多個跳視模型的模型化速度圖,以識別對應於適配與該眼睛移動相關聯之該速度圖的模型化跳視的模型化速度圖,其中該預測引擎經組態用於基於該模型化跳視預測該眼睛在該顯示器上的落點。
- 如請求項1之系統,其中該預測包括:遞歸神經網路,經組態用於應用該模型化跳視以基於該速度圖預測該落點。
- 如請求項2之系統,其中實現該模型化跳視的該遞歸神經網路經組態為長短期記憶體(LSTM)網路或全連接多層感知網路。
- 如請求項2之系統,其中該遞歸神經網路經組態用於遵循該模型化速度圖預測在對應於該使用者之該眼睛移動的跳視上的任意點處的落點。
- 如請求項4之系統,其中該落點出現於該跳視結束時並且對應於該眼睛之凝視方向。
- 如請求項4之系統,其中該落點出現於該跳視之中間點並且對應於該眼睛之中間方向。
- 如請求項2之系統,還包括:深度學習引擎,經訓練以基於針對測試對象量測之跳視的訓練資料產生該多個模型化速度圖。
- 如請求項1之系統,其中該視線追蹤系統經組態用於在追蹤包括該多個取樣點的該使用者之該眼睛的該視線方向時收集眼睛定向資料,該眼睛定向資料包括相對於HMD之眼睛方向;其中該預測引擎之該速度產生器經組態用於基於該眼睛定向資料建立該速度圖;其中該深度學習引擎經組態用於將該眼睛速度圖之一節段與使用該些跳視模型的該多個模型化速度圖進行比較;以及其中該預測引擎經組態用於使用該模型化跳視確定對應於該使用者之該眼睛移動的落點,其中該落點對應於從該模型化速度圖之結束確定的該眼睛的凝視方向或者對應於從該模型化速度圖之中間點確 定的該眼睛的中間方向。
- 如請求項1之系統,進一步包括:渲染引擎,經組態用於進行渲染以在該顯示器上呈現具有以經預測的落點為中心之注視點區的視訊圖框,其中該顯示器經組態用於呈現具有該注視點區的該視訊圖框,其中在顯示該視訊圖框時該眼睛經預測會朝向該落點。
- 如請求項1之系統,進一步包括:頭戴式顯示器(HMD),其中該視線追蹤系統、該預測引擎及該顯示器被配置在該HMD內。
- 如請求項10之系統,其中該HMD經通訊耦合到雲端遊戲系統,該雲端遊戲系統經組態用於執行應用程式以產生多個視訊圖框,該多個視訊圖框被串流至該HMD用於在該顯示器上呈現,其中該HMD將該顯示器上的該眼睛的該落點傳送到該雲端遊戲系統,其中該雲端遊戲系統經組態以產生具有以經預測的該落點為中心之注視點區的視訊圖框。
- 一種電腦系統,包括:處理器;以及記憶體,該記憶體耦合至該處理器且其中儲存有指令,該等指令若藉由該電腦系統執行,則使該電腦系統執行一方法,該方法包括:追蹤使用者之眼睛的視線方向,以確定當該使用者觀 看顯示器時的眼睛移動,其中該視線方向是相對於該顯示器進行測量的;確定在沿著該眼睛移動的軌跡捕獲的多個取樣點處的該眼睛移動的多個速度;基於該多個速度建立速度圖;存取多個跳視模型的模型化速度圖,以識別對應於適配與該眼睛移動相關聯之該速度圖的模型化跳視的模型化速度圖;以及基於該模型化跳視預測該眼睛在該顯示器上的落點。
- 如請求項12之電腦系統,該方法進一步包括:應用該模型化跳視於該遞歸神經網路中,以基於該速度圖預測該落點。
- 如請求項13之電腦系統,其中在該方法中,實現該模型化跳視的該遞歸神經網路經組態為長短期記憶體(LSTM)網路或全連接多層感知網路。
- 如請求項13之電腦系統,其中在該方法中,遵循該模型化速度圖針對對應於該使用者之該眼睛移動的跳視上的任意點來預測該落點。
- 如請求項15之電腦系統,其中在該方法中,該落點出現於該跳視結束時並且對應於該眼睛之凝視方向。
- 如請求項15之電腦系統, 其中在該方法中,該落點出現於該跳視之中間點並且對應於該眼睛之中間方向。
- 如請求項12之電腦系統,該方法進一步包括:訓練深度學習引擎以基於針對測試對象量測之跳視的訓練資料產生該多個模型化速度圖。
- 如請求項12之電腦系統,該方法進一步包括:針對多個取樣點在追蹤該使用者之該眼睛的該視線方向時收集眼睛定向資料,該眼睛定向資料包括相對於該顯示器之眼睛方向;基於該眼睛定向資料建立該速度圖;將該眼睛速度圖之一節段與使用該些跳視模型的該多個模型化速度圖進行比較;以及使用該模型化跳視確定對應於該使用者之該眼睛移動的落點,其中該落點對應於從該模型化速度圖之結束確定的該眼睛的凝視方向或者對應於從該模型化速度圖之中間點確定的該眼睛的中間方向。
- 如請求項12之電腦系統,該方法進一步包括:進行渲染以在該顯示器上呈現具有以經預測的落點為中心之注視點區的視訊圖框。
- 如請求項12之電腦系統,其中在該方法 中,該視線追蹤系統、該預測引擎及該顯示器被配置在頭戴式顯示器(HMD)內。
- 如請求項21之電腦系統,其中在該方法中,該HMD經通訊耦合到雲端遊戲系統,該雲端遊戲系統經組態用於執行應用程式以產生多個視訊圖框,該多個視訊圖框被串流至該HMD用於在該顯示器上呈現,其中在該方法中,該HMD將該顯示器上的該眼睛的該落點傳送到該雲端遊戲系統,其中在該方法中,該雲端遊戲系統經組態以產生具有以經預測的該落點為中心之注視點區的視訊圖框。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/982,312 US11262839B2 (en) | 2018-05-17 | 2018-05-17 | Eye tracking with prediction and late update to GPU for fast foveated rendering in an HMD environment |
| US15/982,312 | 2018-05-17 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202136969A TW202136969A (zh) | 2021-10-01 |
| TWI786701B true TWI786701B (zh) | 2022-12-11 |
Family
ID=66647454
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW110123572A TWI786701B (zh) | 2018-05-17 | 2019-03-21 | 用於在hmd環境中利用傳至gpu之預測及後期更新的眼睛追蹤進行快速注視點渲染的方法及系統以及非暫時性電腦可讀媒體 |
| TW108109807A TWI732194B (zh) | 2018-05-17 | 2019-03-21 | 用於在hmd環境中利用傳至gpu之預測及後期更新的眼睛追蹤進行快速注視點渲染的方法及系統以及非暫時性電腦可讀媒體 |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW108109807A TWI732194B (zh) | 2018-05-17 | 2019-03-21 | 用於在hmd環境中利用傳至gpu之預測及後期更新的眼睛追蹤進行快速注視點渲染的方法及系統以及非暫時性電腦可讀媒體 |
Country Status (6)
| Country | Link |
|---|---|
| US (3) | US11262839B2 (zh) |
| EP (1) | EP3794581A1 (zh) |
| JP (2) | JP7181316B2 (zh) |
| CN (2) | CN115131483B (zh) |
| TW (2) | TWI786701B (zh) |
| WO (1) | WO2019221979A1 (zh) |
Families Citing this family (53)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10962780B2 (en) * | 2015-10-26 | 2021-03-30 | Microsoft Technology Licensing, Llc | Remote rendering for virtual images |
| US11262839B2 (en) * | 2018-05-17 | 2022-03-01 | Sony Interactive Entertainment Inc. | Eye tracking with prediction and late update to GPU for fast foveated rendering in an HMD environment |
| US10884492B2 (en) * | 2018-07-20 | 2021-01-05 | Avegant Corp. | Relative position based eye-tracking system |
| US10719127B1 (en) * | 2018-08-29 | 2020-07-21 | Rockwell Collins, Inc. | Extended life display by utilizing eye tracking |
| JP2021184116A (ja) * | 2018-09-07 | 2021-12-02 | ソニーグループ株式会社 | 情報処理装置、情報処理方法及びプログラム |
| US10706631B2 (en) * | 2018-10-31 | 2020-07-07 | Advanced Micro Devices, Inc. | Image generation based on brain activity monitoring |
| US10926177B2 (en) * | 2019-03-15 | 2021-02-23 | Sony Interactive Entertainment Inc. | Systems and methods for predicting states by using a distributed game engine |
| CN111754381B (zh) * | 2019-03-26 | 2024-06-25 | 华为技术有限公司 | 图形渲染方法、装置和计算机可读存储介质 |
| KR102243040B1 (ko) * | 2019-04-10 | 2021-04-21 | 한양대학교 산학협력단 | 전자 장치, 아바타 얼굴 표정 표시 시스템 및 제어 방법 |
| CN110058694B (zh) * | 2019-04-24 | 2022-03-25 | 腾讯科技(深圳)有限公司 | 视线追踪模型训练的方法、视线追踪的方法及装置 |
| US11417228B2 (en) | 2019-09-18 | 2022-08-16 | International Business Machines Corporation | Modification of extended reality environments based on learning characteristics |
| US11662807B2 (en) * | 2020-01-06 | 2023-05-30 | Tectus Corporation | Eye-tracking user interface for virtual tool control |
| US11353723B2 (en) * | 2019-10-31 | 2022-06-07 | Tectus Corporation | Saccade detection and endpoint prediction for electronic contact lenses |
| US10871825B1 (en) * | 2019-12-04 | 2020-12-22 | Facebook Technologies, Llc | Predictive eye tracking systems and methods for variable focus electronic displays |
| US11303875B2 (en) * | 2019-12-17 | 2022-04-12 | Valve Corporation | Split rendering between a head-mounted display (HMD) and a host computer |
| US11687778B2 (en) | 2020-01-06 | 2023-06-27 | The Research Foundation For The State University Of New York | Fakecatcher: detection of synthetic portrait videos using biological signals |
| EP3858227A1 (en) * | 2020-01-29 | 2021-08-04 | AM2M Spolka z Organiczona Odpowiedzialnoscia Spolka Komandytowa | A method and apparatus for determination of a trajectory and imaging device |
| JP7335454B2 (ja) * | 2020-02-03 | 2023-08-29 | 株式会社ソニー・インタラクティブエンタテインメント | レンダリング中の領域テストによってジオメトリの効率的なマルチgpuレンダリングを行うためのシステム及び方法 |
| US20230132045A1 (en) * | 2020-03-09 | 2023-04-27 | Sony Group Corporation | Information processing device, information processing method, and recording medium |
| CN113534949B (zh) | 2020-04-22 | 2024-09-17 | 宏达国际电子股份有限公司 | 头戴式显示设备及其控制方法 |
| GB2595872B (en) * | 2020-06-09 | 2023-09-20 | Sony Interactive Entertainment Inc | Gaze tracking apparatus and systems |
| CN113815623B (zh) * | 2020-06-11 | 2023-08-08 | 广州汽车集团股份有限公司 | 一种视觉追踪人眼注视点的方法、车辆预警方法及装置 |
| KR102861148B1 (ko) * | 2020-09-21 | 2025-09-16 | 삼성전자주식회사 | 엣지 컴퓨팅 서비스를 이용한 영상 컨텐츠 전송 방법 및 장치 |
| US11353700B2 (en) | 2020-10-07 | 2022-06-07 | Industrial Technology Research Institute | Orientation predicting method, virtual reality headset and non-transitory computer-readable medium |
| CN114387193B (zh) * | 2020-10-22 | 2025-04-18 | 原力图新(重庆)科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
| TWI744057B (zh) * | 2020-10-27 | 2021-10-21 | 國立成功大學 | 深度偽造影片檢測系統及其方法 |
| US11671573B2 (en) * | 2020-12-14 | 2023-06-06 | International Business Machines Corporation | Using reinforcement learning and personalized recommendations to generate a video stream having a predicted, personalized, and enhance-quality field-of-view |
| CN114721144A (zh) * | 2021-01-04 | 2022-07-08 | 宏碁股份有限公司 | 裸视立体显示器及其控制方法 |
| US12437869B2 (en) | 2021-01-22 | 2025-10-07 | Sesame Ai, Inc. | Headset integrated into healthcare platform |
| WO2022159630A1 (en) * | 2021-01-22 | 2022-07-28 | Zinn Labs, Inc. | Gaze sensors and display elements for detection of gaze vectors and user control at headset |
| US20220276696A1 (en) * | 2021-02-26 | 2022-09-01 | BigBox VR, Inc. | Asynchronous multi-engine virtual reality system with reduced vestibular-ocular conflict |
| US11503998B1 (en) * | 2021-05-05 | 2022-11-22 | Innodem Neurosciences | Method and a system for detection of eye gaze-pattern abnormalities and related neurological diseases |
| CN115699112A (zh) * | 2021-05-28 | 2023-02-03 | 京东方科技集团股份有限公司 | 视线追踪方法、装置及系统 |
| US12299805B1 (en) | 2021-06-24 | 2025-05-13 | Apple Inc. | Immersive media content encoding and rendering |
| CN113780414B (zh) * | 2021-09-10 | 2024-08-23 | 京东方科技集团股份有限公司 | 眼动行为分析方法、图像渲染方法、组件、装置和介质 |
| US12445592B1 (en) * | 2022-05-10 | 2025-10-14 | Leia Inc. | Predictive head-tracking multiview display and method |
| CA219407S (en) | 2022-08-26 | 2024-09-27 | Beijing Zitiao Network Technology Co Ltd | Virtual reality glasses frame |
| CA219408S (en) * | 2022-08-26 | 2024-06-17 | Beijing Zitiao Network Technology Co Ltd | Virtual reality glasses frame |
| CN117670640B (zh) * | 2022-08-26 | 2024-11-22 | 万有引力(宁波)电子科技有限公司 | 基于中心凹原则的图像处理系统、方法及存储介质 |
| CA219719S (en) | 2022-09-07 | 2024-07-02 | Beijing Zitiao Network Technology Co Ltd | Wearable electronic device |
| CA219720S (en) | 2022-09-07 | 2024-09-17 | Beijing Zitiao Network Technology Co Ltd | Face cushion pad |
| CA219718S (en) | 2022-09-22 | 2024-09-10 | Beijing Zitiao Network Technology Co Ltd | Device for directing virtual reality sound |
| WO2024064370A2 (en) * | 2022-09-23 | 2024-03-28 | Apple Inc. | Deep learning based causal image reprojection for temporal supersampling in ar/vr systems |
| JP2024049960A (ja) | 2022-09-29 | 2024-04-10 | キヤノン株式会社 | 表示装置 |
| CN115562490B (zh) * | 2022-10-12 | 2024-01-09 | 西北工业大学太仓长三角研究院 | 一种基于深度学习的飞机驾驶舱跨屏眼动交互方法及系统 |
| TWI863827B (zh) * | 2023-02-15 | 2024-11-21 | 宏達國際電子股份有限公司 | 用於根據追蹤器狀態產生通透視圖的方法和主機 |
| US12469232B2 (en) * | 2023-02-15 | 2025-11-11 | Htc Corporation | Method for generating pass-through view in response to selected mode and host |
| KR20240146139A (ko) * | 2023-03-27 | 2024-10-08 | 삼성디스플레이 주식회사 | 표시 장치 및 그의 구동 방법 |
| CN116503475B (zh) * | 2023-04-06 | 2025-11-18 | 南京栢拓视觉科技有限公司 | 一种基于深度学习的vrar双目3d目标定位方法 |
| WO2025049649A2 (en) * | 2023-08-28 | 2025-03-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Perceptually optimized immersive video encoding |
| US12248624B1 (en) * | 2023-11-09 | 2025-03-11 | Varjo Technologies Oy | Display apparatus incorporating artificial saccade elongation |
| US20250165064A1 (en) * | 2023-11-19 | 2025-05-22 | Varjo Technologies Oy | System and method for foveating video stream |
| WO2025111285A1 (en) * | 2023-11-20 | 2025-05-30 | Magic Leap, Inc. | Method and system for performing mask-based video image compression |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6299308B1 (en) * | 1999-04-02 | 2001-10-09 | Cybernet Systems Corporation | Low-cost non-imaging eye tracker system for computer control |
| US20130074002A1 (en) * | 2010-01-15 | 2013-03-21 | Microsoft Corporation | Recognizing User Intent In Motion Capture System |
| US20170372457A1 (en) * | 2016-06-28 | 2017-12-28 | Roger Sebastian Kevin Sylvan | Sharp text rendering with reprojection |
| US20180053284A1 (en) * | 2016-08-22 | 2018-02-22 | Magic Leap, Inc. | Virtual, augmented, and mixed reality systems and methods |
Family Cites Families (75)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07170535A (ja) * | 1993-12-13 | 1995-07-04 | Matsushita Electric Ind Co Ltd | 眼鏡型立体映像表示装置 |
| JP3058004B2 (ja) * | 1994-03-23 | 2000-07-04 | キヤノン株式会社 | 目視制御画像表示装置 |
| US20030067476A1 (en) | 2001-10-04 | 2003-04-10 | Eastman Kodak Company | Method and system for displaying an image |
| US7809145B2 (en) | 2006-05-04 | 2010-10-05 | Sony Computer Entertainment Inc. | Ultra small microphone array |
| US8947347B2 (en) | 2003-08-27 | 2015-02-03 | Sony Computer Entertainment Inc. | Controlling actions in a video game unit |
| US7783061B2 (en) | 2003-08-27 | 2010-08-24 | Sony Computer Entertainment Inc. | Methods and apparatus for the targeted sound detection |
| US9314691B2 (en) * | 2002-12-10 | 2016-04-19 | Sony Computer Entertainment America Llc | System and method for compressing video frames or portions thereof based on feedback information from a client device |
| US20080188777A1 (en) | 2004-09-03 | 2008-08-07 | Canadian Space Agency | System and Method For Mental Workload Measurement Based on Rapid Eye Movement |
| CA2634033C (en) | 2005-12-14 | 2015-11-17 | Digital Signal Corporation | System and method for tracking eyeball motion |
| US20110298829A1 (en) | 2010-06-04 | 2011-12-08 | Sony Computer Entertainment Inc. | Selecting View Orientation in Portable Device via Image Analysis |
| US8793620B2 (en) | 2011-04-21 | 2014-07-29 | Sony Computer Entertainment Inc. | Gaze-assisted computer interface |
| JP5268271B2 (ja) | 2007-03-23 | 2013-08-21 | 株式会社東芝 | 画像表示装置および画像表示方法 |
| WO2009073584A1 (en) | 2007-11-29 | 2009-06-11 | Oculis Labs, Inc. | Method and apparatus for display of secure visual content |
| WO2009093435A1 (ja) | 2008-01-25 | 2009-07-30 | Panasonic Corporation | 脳波インタフェースシステム、脳波インタフェース装置、方法およびコンピュータプログラム |
| US7850306B2 (en) | 2008-08-28 | 2010-12-14 | Nokia Corporation | Visual cognition aware display and visual data transmission architecture |
| US20110085700A1 (en) | 2009-07-13 | 2011-04-14 | Lee Hans C | Systems and Methods for Generating Bio-Sensory Metrics |
| US8964298B2 (en) | 2010-02-28 | 2015-02-24 | Microsoft Corporation | Video display modification based on sensor input for a see-through near-to-eye display |
| US8913004B1 (en) | 2010-03-05 | 2014-12-16 | Amazon Technologies, Inc. | Action based device control |
| US9421460B2 (en) | 2010-08-31 | 2016-08-23 | Sony Interactive Entertainment Inc. | Offline Progress of console game via portable device |
| US8941559B2 (en) | 2010-09-21 | 2015-01-27 | Microsoft Corporation | Opacity filter for display device |
| US8786698B2 (en) | 2010-09-23 | 2014-07-22 | Sony Computer Entertainment Inc. | Blow tracking user interface system and method |
| US9183683B2 (en) | 2010-09-28 | 2015-11-10 | Sony Computer Entertainment Inc. | Method and system for access to secure resources |
| US8854298B2 (en) | 2010-10-12 | 2014-10-07 | Sony Computer Entertainment Inc. | System for enabling a handheld device to capture video of an interactive application |
| US20120086630A1 (en) | 2010-10-12 | 2012-04-12 | Sony Computer Entertainment Inc. | Using a portable gaming device to record or modify a game or application in real-time running on a home gaming system |
| US9044675B2 (en) | 2010-11-17 | 2015-06-02 | Sony Computer Entertainment Inc. | Automated video game rating |
| US9690099B2 (en) | 2010-12-17 | 2017-06-27 | Microsoft Technology Licensing, Llc | Optimized focal area for augmented reality displays |
| US9030425B2 (en) | 2011-04-19 | 2015-05-12 | Sony Computer Entertainment Inc. | Detection of interaction with virtual object from finger color change |
| US10120438B2 (en) | 2011-05-25 | 2018-11-06 | Sony Interactive Entertainment Inc. | Eye gaze to alter device behavior |
| US9897805B2 (en) * | 2013-06-07 | 2018-02-20 | Sony Interactive Entertainment Inc. | Image rendering responsive to user actions in head mounted display |
| US9323325B2 (en) | 2011-08-30 | 2016-04-26 | Microsoft Technology Licensing, Llc | Enhancing an object of interest in a see-through, mixed reality display device |
| KR101891786B1 (ko) | 2011-11-29 | 2018-08-27 | 삼성전자주식회사 | 아이 트래킹 기반의 사용자 기능 운용 방법 및 이를 지원하는 단말기 |
| US8824779B1 (en) | 2011-12-20 | 2014-09-02 | Christopher Charles Smyth | Apparatus and method for determining eye gaze from stereo-optic views |
| US8970495B1 (en) * | 2012-03-09 | 2015-03-03 | Google Inc. | Image stabilization for color-sequential displays |
| EP2836889A4 (en) | 2012-04-12 | 2015-11-18 | Intel Corp | SELECTIVE BACKLIGHT OF A SCREEN BASED ON OCULOMETRY |
| US20130279724A1 (en) | 2012-04-19 | 2013-10-24 | Sony Computer Entertainment Inc. | Auto detection of headphone orientation |
| JP2014029448A (ja) | 2012-07-31 | 2014-02-13 | Toshiba Corp | 液晶モジュール及び液晶表示装置 |
| US20140092006A1 (en) | 2012-09-28 | 2014-04-03 | Joshua Boelter | Device and method for modifying rendering based on viewer focus area from eye tracking |
| US20150213634A1 (en) | 2013-01-28 | 2015-07-30 | Amit V. KARMARKAR | Method and system of modifying text content presentation settings as determined by user states based on user eye metric data |
| US9727991B2 (en) | 2013-03-01 | 2017-08-08 | Microsoft Technology Licensing, Llc | Foveated image rendering |
| US9665171B1 (en) * | 2013-03-04 | 2017-05-30 | Tobii Ab | Gaze and saccade based graphical manipulation |
| US9965062B2 (en) | 2013-06-06 | 2018-05-08 | Microsoft Technology Licensing, Llc | Visual enhancements based on eye tracking |
| US10019057B2 (en) | 2013-06-07 | 2018-07-10 | Sony Interactive Entertainment Inc. | Switching mode of operation in a head mounted display |
| US20140362110A1 (en) | 2013-06-08 | 2014-12-11 | Sony Computer Entertainment Inc. | Systems and methods for customizing optical representation of views provided by a head mounted display based on optical prescription of a user |
| CN103324287B (zh) * | 2013-06-09 | 2016-01-20 | 浙江大学 | 基于眼动和笔触数据的计算机辅助草图绘制的方法和系统 |
| US9781360B2 (en) | 2013-09-24 | 2017-10-03 | Sony Interactive Entertainment Inc. | Gaze tracking variations using selective illumination |
| US9480397B2 (en) | 2013-09-24 | 2016-11-01 | Sony Interactive Entertainment Inc. | Gaze tracking variations using visible lights or dots |
| EP3048949B1 (en) | 2013-09-24 | 2019-11-20 | Sony Interactive Entertainment Inc. | Gaze tracking variations using dynamic lighting position |
| US9630105B2 (en) | 2013-09-30 | 2017-04-25 | Sony Interactive Entertainment Inc. | Camera based safety mechanisms for users of head mounted displays |
| WO2015103444A1 (en) * | 2013-12-31 | 2015-07-09 | Eyefluence, Inc. | Systems and methods for gaze-based media selection and editing |
| KR102180528B1 (ko) | 2014-01-06 | 2020-11-18 | 삼성전자주식회사 | 색맹 교정을 위한 전자 장치 및 운영 방법 |
| US9753288B2 (en) | 2014-01-21 | 2017-09-05 | Osterhout Group, Inc. | See-through computer display systems |
| US10228562B2 (en) | 2014-02-21 | 2019-03-12 | Sony Interactive Entertainment Inc. | Realtime lens aberration correction from eye tracking |
| CN106233227B (zh) | 2014-03-14 | 2020-04-28 | 索尼互动娱乐股份有限公司 | 具有体积感测的游戏装置 |
| US9649558B2 (en) | 2014-03-14 | 2017-05-16 | Sony Interactive Entertainment Inc. | Gaming device with rotatably placed cameras |
| US9710957B2 (en) * | 2014-04-05 | 2017-07-18 | Sony Interactive Entertainment America Llc | Graphics processing enhancement by tracking object and/or primitive identifiers |
| US9836816B2 (en) | 2014-04-05 | 2017-12-05 | Sony Interactive Entertainment America Llc | Varying effective resolution by screen location in graphics processing by approximating projection of vertices onto curved viewport |
| US9652882B2 (en) * | 2014-04-05 | 2017-05-16 | Sony Interactive Entertainment America Llc | Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location |
| EP3140780B1 (en) | 2014-05-09 | 2020-11-04 | Google LLC | Systems and methods for discerning eye signals and continuous biometric identification |
| US20160025971A1 (en) | 2014-07-25 | 2016-01-28 | William M. Crow | Eyelid movement as user input |
| US9746984B2 (en) | 2014-08-19 | 2017-08-29 | Sony Interactive Entertainment Inc. | Systems and methods for providing feedback to a user while interacting with content |
| US9984505B2 (en) | 2014-09-30 | 2018-05-29 | Sony Interactive Entertainment Inc. | Display of text information on a head-mounted display |
| US9857871B2 (en) | 2015-09-04 | 2018-01-02 | Sony Interactive Entertainment Inc. | Apparatus and method for dynamic graphics rendering based on saccade detection |
| US10338677B2 (en) | 2015-10-28 | 2019-07-02 | Microsoft Technology Licensing, Llc | Adjusting image frames based on tracking motion of eyes |
| US10726619B2 (en) | 2015-10-29 | 2020-07-28 | Sony Interactive Entertainment Inc. | Foveated geometry tessellation |
| US11010956B2 (en) | 2015-12-09 | 2021-05-18 | Imagination Technologies Limited | Foveated rendering |
| US10643381B2 (en) | 2016-01-12 | 2020-05-05 | Qualcomm Incorporated | Systems and methods for rendering multiple levels of detail |
| US10169846B2 (en) | 2016-03-31 | 2019-01-01 | Sony Interactive Entertainment Inc. | Selective peripheral vision filtering in a foveated rendering system |
| US10401952B2 (en) | 2016-03-31 | 2019-09-03 | Sony Interactive Entertainment Inc. | Reducing rendering computation and power consumption by detecting saccades and blinks |
| US10192528B2 (en) | 2016-03-31 | 2019-01-29 | Sony Interactive Entertainment Inc. | Real-time user adaptive foveated rendering |
| US10372205B2 (en) | 2016-03-31 | 2019-08-06 | Sony Interactive Entertainment Inc. | Reducing rendering computation and power consumption by detecting saccades and blinks |
| JP6650630B2 (ja) * | 2016-07-08 | 2020-02-19 | 富士シリシア化学株式会社 | エルゴステロール修飾担体、抗真菌剤の候補物質のスクリーニング方法、及び抗真菌剤の原料の精製方法 |
| US10255714B2 (en) * | 2016-08-24 | 2019-04-09 | Disney Enterprises, Inc. | System and method of gaze predictive rendering of a focal area of an animation |
| GB2553353B (en) | 2016-09-05 | 2021-11-24 | Advanced Risc Mach Ltd | Graphics processing systems and graphics processors |
| US10379611B2 (en) * | 2016-09-16 | 2019-08-13 | Intel Corporation | Virtual reality/augmented reality apparatus and method |
| US11262839B2 (en) * | 2018-05-17 | 2022-03-01 | Sony Interactive Entertainment Inc. | Eye tracking with prediction and late update to GPU for fast foveated rendering in an HMD environment |
-
2018
- 2018-05-17 US US15/982,312 patent/US11262839B2/en active Active
-
2019
- 2019-03-21 TW TW110123572A patent/TWI786701B/zh active
- 2019-03-21 TW TW108109807A patent/TWI732194B/zh active
- 2019-05-07 CN CN202210589739.5A patent/CN115131483B/zh active Active
- 2019-05-07 CN CN201980046421.9A patent/CN112400202B/zh active Active
- 2019-05-07 JP JP2020564321A patent/JP7181316B2/ja active Active
- 2019-05-07 EP EP19726536.6A patent/EP3794581A1/en active Pending
- 2019-05-07 WO PCT/US2019/031206 patent/WO2019221979A1/en not_active Ceased
-
2022
- 2022-02-23 US US17/678,892 patent/US11762461B2/en active Active
- 2022-11-17 JP JP2022184232A patent/JP7531568B2/ja active Active
-
2023
- 2023-09-19 US US18/470,381 patent/US12189850B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6299308B1 (en) * | 1999-04-02 | 2001-10-09 | Cybernet Systems Corporation | Low-cost non-imaging eye tracker system for computer control |
| US20130074002A1 (en) * | 2010-01-15 | 2013-03-21 | Microsoft Corporation | Recognizing User Intent In Motion Capture System |
| US20170372457A1 (en) * | 2016-06-28 | 2017-12-28 | Roger Sebastian Kevin Sylvan | Sharp text rendering with reprojection |
| US20180053284A1 (en) * | 2016-08-22 | 2018-02-22 | Magic Leap, Inc. | Virtual, augmented, and mixed reality systems and methods |
Also Published As
| Publication number | Publication date |
|---|---|
| CN112400202B (zh) | 2022-06-14 |
| US12189850B2 (en) | 2025-01-07 |
| US20240004466A1 (en) | 2024-01-04 |
| JP2021524061A (ja) | 2021-09-09 |
| CN115131483A (zh) | 2022-09-30 |
| US11762461B2 (en) | 2023-09-19 |
| JP2023037626A (ja) | 2023-03-15 |
| US20220179489A1 (en) | 2022-06-09 |
| US20190354174A1 (en) | 2019-11-21 |
| US11262839B2 (en) | 2022-03-01 |
| TWI732194B (zh) | 2021-07-01 |
| CN115131483B (zh) | 2025-07-18 |
| WO2019221979A1 (en) | 2019-11-21 |
| EP3794581A1 (en) | 2021-03-24 |
| TW202004421A (zh) | 2020-01-16 |
| JP7181316B2 (ja) | 2022-11-30 |
| JP7531568B2 (ja) | 2024-08-09 |
| CN112400202A (zh) | 2021-02-23 |
| TW202136969A (zh) | 2021-10-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI786701B (zh) | 用於在hmd環境中利用傳至gpu之預測及後期更新的眼睛追蹤進行快速注視點渲染的方法及系統以及非暫時性電腦可讀媒體 | |
| US11947719B2 (en) | Building saccade models for predicting a landing point of a saccade experienced by a player | |
| JP7273068B2 (ja) | マルチサーバクラウド仮想現実(vr)ストリーミング | |
| CN105377117B (zh) | 基于用户的光学处方的头戴式显示器 | |
| CN109999491B (zh) | 在头戴式显示器上渲染图像的方法和计算机可读存储介质 | |
| JP7249975B2 (ja) | 位置に基づくゲームプレイコンパニオンアプリケーションへユーザの注目を向ける方法及びシステム | |
| CN107533230A (zh) | 头戴式显示器用追踪系统 | |
| CN110891659A (zh) | 对注视点渲染系统中的粒子和模拟模型的优化的延迟照明和中心凹调适 | |
| CN119923284A (zh) | 在游戏娱玩期间识别用户损伤从而提供游戏内效果的自动生成或修改的用户情感检测 | |
| US20250269268A1 (en) | Using eye-tracking / eye metrics to detect vr eye-strain-levels, then using adaptive rendering to lower levels of eye-strain |