TW201830339A - 顯示器同步的圖像規整 - Google Patents
顯示器同步的圖像規整 Download PDFInfo
- Publication number
- TW201830339A TW201830339A TW106142882A TW106142882A TW201830339A TW 201830339 A TW201830339 A TW 201830339A TW 106142882 A TW106142882 A TW 106142882A TW 106142882 A TW106142882 A TW 106142882A TW 201830339 A TW201830339 A TW 201830339A
- Authority
- TW
- Taiwan
- Prior art keywords
- display device
- wearable display
- image
- rendered image
- rendered
- Prior art date
Links
- 230000001360 synchronised effect Effects 0.000 title claims description 6
- 230000033001 locomotion Effects 0.000 claims abstract description 52
- 238000000034 method Methods 0.000 claims abstract description 52
- 238000012545 processing Methods 0.000 claims abstract description 37
- 238000009877 rendering Methods 0.000 claims abstract description 32
- 230000008521 reorganization Effects 0.000 claims description 19
- 230000008859 change Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 12
- 210000003128 head Anatomy 0.000 description 9
- 230000009466 transformation Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000009966 trimming Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004305 hyperopia Effects 0.000 description 1
- 201000006318 hyperopia Diseases 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 201000003152 motion sickness Diseases 0.000 description 1
- 208000001491 myopia Diseases 0.000 description 1
- 230000004379 myopia Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 208000029257 vision disease Diseases 0.000 description 1
- 230000004393 visual impairment Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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/012—Head tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/18—Image warping, e.g. rearranging pixels individually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
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)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Controls And Circuits For Display Device (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本案內容的某些態樣提供了用於對可穿戴顯示裝置進行操作的方法和裝置。本案內容的某些態樣提供了一種用於對可穿戴顯示裝置進行操作的方法。該方法包括:基於運動感測器來決定可穿戴顯示裝置的位置。該方法包括:由圖形處理單元基於所決定的位置來渲染圖像。該方法包括:基於運動感測器來決定可穿戴顯示裝置的第一經更新位置。該方法包括:由規整引擎基於第一經更新位置來規整經渲染圖像的第一部分。該方法包括:在可穿戴顯示裝置的顯示器上顯示經渲染圖像的經規整的第一部分。
Description
概括地說,本案內容的某些態樣係關於影像處理,並且更具體地說,係關於用於顯示器同步的圖像規整(warping)的技術。
使用可穿戴顯示裝置(例如用於虛擬實境(VR)系統中)變得越來越普遍。例如,使用者可以使用可穿戴顯示裝置在視覺上使自己沉浸在VR或增強現實(AR)環境中。可穿戴顯示裝置可以包括佩戴在使用者身體上的任何類型的有線或無線顯示裝置。舉例而言,可穿戴顯示裝置可以包括佩戴在使用者頭上的有線或無線頭戴顯示器或者有線或無線頭盔式顯示器(HMD),以便將一或多個顯示器(不透明、透明、半透明等等)置於使用者眼睛的前方。
一或多個處理器(例如,圖形處理單元(GPU)、中央處理單元(CPU)等等)可以被配置為:處理並渲染可穿戴顯示裝置上所顯示的多媒體資料(例如,圖像、場景、視訊等等)。這些處理器可以整合在可穿戴顯示裝置中,或者可以耦合到可穿戴顯示裝置(例如,使用無線或有線連接)。
此外,可穿戴顯示裝置可以包括一或多個感測器(例如,加速度計、磁力計、陀螺儀、全球定位系統(GPS)接收器(及/或其他衛星定位系統(SPS)接收器)、高度計等等)以感測可穿戴顯示裝置的移動及/或方位。可穿戴顯示裝置的移動及/或方位可以對應於佩戴該可穿戴顯示裝置的使用者(例如,使用者頭部)的移動及/或方位。移動及/或方位資訊可以用於決定要在可穿戴顯示裝置上顯示的圖像。例如,佩戴可穿戴顯示裝置的使用者可以在觀看場景(例如,從第一人稱視角)。向使用者顯示的場景的圖像可以基於可穿戴顯示裝置的移動及/或方位,以使得場景的視圖對應於可穿戴顯示裝置的位置,從而使使用者沉浸在場景中。
本案內容的某些態樣提供了一種用於對可穿戴顯示裝置進行操作的方法。該方法包括:基於運動感測器來決定該可穿戴顯示裝置的位置。該方法包括:基於所決定的位置來渲染圖像。該方法包括:基於該運動感測器來決定該可穿戴顯示裝置的第一經更新位置。該方法包括:基於該第一經更新位置來規整該經渲染圖像的第一部分,並校正由於該可穿戴顯示裝置的透鏡引起的失真。該方法包括:在該可穿戴顯示裝置的顯示器上顯示該經渲染圖像的該經規整的第一部分。該方法包括:基於該運動感測器來決定該可穿戴顯示裝置的第二經更新位置。該方法包括:基於該第二經更新位置來規整該經渲染圖像的第二部分,並校正由於該可穿戴顯示裝置的該透鏡引起的失真。該方法包括:在該可穿戴顯示裝置的該顯示器上顯示該經渲染圖像的該經規整的第二部分。
本案內容的某些態樣提供了一種用於對可穿戴顯示裝置進行操作的方法。該方法包括:基於運動感測器來決定該可穿戴顯示裝置的位置。該方法包括:由圖形處理單元基於所決定的位置來渲染圖像。該方法包括:基於該運動感測器來決定該可穿戴顯示裝置的第一經更新位置。該方法包括:由規整引擎基於該第一經更新位置來規整該經渲染圖像的第一部分。該方法包括:在該可穿戴顯示裝置的顯示器上顯示該經渲染圖像的該經規整的第一部分。
本案內容的某些態樣提供了一種用於對可穿戴顯示裝置進行操作的電腦系統。該電腦系統包括處理器,該處理器被配置為:基於運動感測器來決定該可穿戴顯示裝置的位置。該處理器亦被配置為:基於該運動感測器來決定該可穿戴顯示裝置的第一經更新位置。該處理器亦被配置為:基於該運動感測器來決定該可穿戴顯示裝置的第二經更新位置。該電腦系統包括圖形處理單元,該圖形處理單元被配置為:基於所決定的位置起來渲染圖像。該電腦系統包括與該圖形處理單元分離的規整引擎,該規整引擎被配置為:基於該第一經更新位置來規整該經渲染圖像的第一部分,並校正由於該可穿戴顯示裝置的透鏡引起的失真。該規整引擎亦被配置為:基於該第二經更新位置來規整該經渲染圖像的第二部分,並校正由於該可穿戴顯示裝置的該透鏡引起的失真。該電腦系統包括顯示器驅動器,該顯示器驅動器被配置為:在該可穿戴顯示裝置的顯示器上顯示該經渲染圖像的該經規整的第一部分。該顯示器驅動器亦被配置為:在該可穿戴顯示裝置的該顯示器上顯示該經渲染圖像的該經規整的第二部分。
本案內容的某些態樣提供了一種用於對可穿戴顯示裝置進行操作的電腦系統。該電腦系統包括:用於基於運動感測器來決定該可穿戴顯示裝置的位置的單元。該電腦系統包括:用於基於所決定的位置來渲染圖像的單元。該電腦系統包括:用於基於運動感測器來決定該可穿戴顯示裝置的第一經更新位置的單元。該電腦系統包括:用於基於該第一經更新位置來規整該經渲染圖像的第一部分,並校正由於該可穿戴顯示裝置的透鏡引起的失真的單元。該電腦系統包括:用於在該可穿戴顯示裝置的顯示器上顯示該經渲染圖像的該經規整的第一部分的單元。該電腦系統包括:用於基於運動感測器來決定該可穿戴顯示裝置的第二經更新位置的單元。該電腦系統包括:用於基於該第二經更新位置來規整該經渲染圖像的第二部分,並校正由於該可穿戴顯示裝置的該透鏡引起的失真的單元。該電腦系統包括:用於在該可穿戴顯示裝置的該顯示器上顯示該經渲染圖像的該經規整的第二部分的單元。
本案內容的某些態樣提供了一種其上儲存有用於對可穿戴顯示裝置進行操作的指令的非暫時性電腦可讀取媒體。由計算系統執行該等指令使得該計算系統執行以下步驟:基於運動感測器來決定該可穿戴顯示裝置的位置。由該計算系統執行該等指令使得該計算系統執行以下步驟:基於所決定的位置來渲染圖像。由該計算系統執行該等指令使得該計算系統執行以下步驟:基於該運動感測器來決定該可穿戴顯示裝置的第一經更新位置。由該計算系統執行該等指令使得該計算系統執行以下步驟:基於該第一經更新位置來規整該經渲染圖像的第一部分,並校正由於該可穿戴顯示裝置的透鏡引起的失真。由該計算系統執行該等指令使得該計算系統執行以下步驟:在該可穿戴顯示裝置的顯示器上顯示該經渲染圖像的該經規整的第一部分。由該計算系統執行該等指令使得該計算系統執行以下步驟:基於該運動感測器來決定該可穿戴顯示裝置的第二經更新位置。由該計算系統執行該等指令使得該計算系統執行以下步驟:基於該第二經更新位置來規整該經渲染圖像的第二部分,並校正由於該可穿戴顯示裝置的該透鏡引起的失真。由該計算系統執行該等指令使得該計算系統執行以下步驟:在該可穿戴顯示裝置的該顯示器上顯示該經渲染圖像的該經規整的第二部分。
後文參考附圖更充分地描述了本案內容的各個態樣。然而,本案內容可以用許多不同的形式來實施,並且不應當被解釋為受限於貫穿本案內容所提供的任何特定結構或功能。相反,提供這些態樣使得本案內容將是充分的和完整的,並且將向本發明所屬領域中具有通常知識者充分傳達本案內容的範疇。基於本文的教導,本發明所屬領域中具有通常知識者應當意識到,無論本案內容的態樣是獨立地實現還是與本案內容的任何其他態樣組合地實現,本案內容的範疇意欲覆蓋本文所揭示的內容的任何態樣。例如,可以使用本文所闡述的任意數量的態樣來實現一種裝置或者實施一種方法。另外,本案內容的範疇意欲涵蓋一種裝置或方法,這種裝置或方法使用其他結構、功能,或者除了本文所闡述的揭示內容的各個態樣之外或與本文所闡述的揭示內容的各個態樣不同的結構和功能來實施。應當理解的是,可以經由請求項的一或多個要素來實施本文所揭示的內容的任何態樣。
本文中使用詞語「示例性」表示「用作實例、例子或說明」。本文中描述為「示例性」的任何態樣不一定解釋為比其他態樣優選或有利。
圖1是佩戴在使用者110頭上的可穿戴顯示裝置120的實例的簡要說明,該可穿戴顯示裝置120可以與本文所描述的各態樣中的一或多個態樣一起使用或者可以實現本文所描述的各態樣中的一或多個態樣。可穿戴顯示裝置120包括主體或框架(類似於一副眼鏡),該主體或框架可以放置於使用者的鼻子或耳朵上。可穿戴顯示裝置120的顯示器的各部分可以像一副眼鏡的透鏡一樣置於使用者眼睛的前方。在一些態樣中,顯示器是不透明的(例如,用於VR)。在一些態樣中,顯示器的至少一部分可以是透明的(例如,用於AR),以使得在使用者的視場內使用者110能夠看到使用者的周圍環境以及利用顯示器示出的圖像(例如,資料元素)兩者。取決於期望的顯示器功能、利用顯示器示出的圖形化使用者介面(GUI)的設置及/或由可穿戴顯示裝置120執行的軟體應用(例如,視訊、地圖、網際網路瀏覽器等等),顯示器上示出的圖像的透明度級別可以不同。
此外,可穿戴顯示裝置120可以包括諸如揚聲器(及/或耳機)、觸控板、按鈕等的介面以便與使用者110互動。在另一態樣中,可穿戴顯示裝置120可以包括無線介面以用於與網際網路、本端無線網或另一計算設備連接。可穿戴顯示裝置120亦可以操作為從使用者接收音訊及/或手勢輸入。這種手勢或音訊輸入可以是口述的語音命令或經辨識的使用者手勢,這些命令或手勢在被計算設備辨識時可以使得該設備執行對應的命令。可以從被併入可穿戴顯示裝置120及/或與可穿戴顯示裝置120通訊地耦合的一或多個運動感測器及/或相機接收手勢,以允許可穿戴顯示裝置追蹤一或多個物件(例如,使用者的手),並決定該物件是否已作出手勢。此外,在某些態樣中,可穿戴顯示裝置120可以包括相機及/或其他感測器以決定使用者的注視(例如,使用者正在看何處)。這種眼睛追蹤功能可以被併入姿勢及/或其他使用者輸入中,或者用於圖像規整,包括小凹渲染,如本文所論述的。
此外,可穿戴顯示裝置120可以包括運動感測器及/或與運動感測器通訊地耦合,例如一或多個加速度計、磁力計、陀螺儀、全球定位系統(GPS)接收器(及/或其他衛星定位系統(SPS)接收器)、高度計、相機、紅外感測器等等,以感測使用者110及/或使用者頭部的位置(例如,移動及/或方位)。為了顯示如本文描述的圖像,決定使用者的視場可以基於例如提供偵測到的使用者的頭部方位/行進方向的感測器資訊。可以例如由指南針(例如,磁力計)及/或多個定位量測(例如,SPS位置量測)來決定行進方向。可以使用仰角及/或上下文資料來決定使用者是否因為路徑傾斜而正在俯視或仰視。例如,來自陀螺儀的資料可以與仰角資料進行比較以決定頭部是否在使用者所在的路徑的傾斜的方向上傾斜。
電腦系統(例如,圖2的電腦系統200)可以被併入可穿戴顯示裝置120及/或與可穿戴顯示裝置120通訊地耦合(有線地或無線地)。因此,可穿戴顯示裝置120可以執行軟體應用,例如遊戲、地圖、視訊及/或本文所描述的其他應用,這些應用產生在可穿戴顯示裝置120上顯示的圖像。補充地或替代地,在某些態樣中,可穿戴顯示裝置120能夠顯示由一或多個設備執行的軟體應用,該一或多個設備經由例如無線設備到設備協定(例如,藍芽或WI-FI直連)及/或經由網路(例如,WIFI網路)與可穿戴顯示裝置120通訊地耦合。例如,可穿戴顯示裝置120可以與一或多個行動設備(例如,行動電話、個人媒體播放機、遊戲系統及/或其他設備)通訊地耦合,並顯示來自行動設備的資訊。
電腦系統200的一或多個組件可以在不同設備之間共享,例如可穿戴顯示裝置、智慧型電話、平板、個人電腦或其他計算設備。在一些實施例中,軟體和其他應用可以在通訊地連結到可穿戴顯示裝置的單獨設備上執行。在其他實施例中,可穿戴顯示裝置可以與電腦系統200的一些或全部整合。
圖2提供了能夠執行由各個其他實施例提供的方法的電腦系統200的一個實施例的示意性說明。應該注意,圖2僅意在提供各個組件的一般性說明,可以視情況利用這些組件中的任何或所有組件。因此,圖2廣義地圖示可以如何以相對分離或相對更加整合的方式來實現單獨的系統元件。
電腦系統200被示出為包括能夠經由匯流排226電耦合(或者可以視情況另外處於通訊中)的硬體元件。硬體元件可以包括CPU 210,該CPU 210可以包括但不限於一或多個通用處理器、一或多個專用處理器及/或其他處理單元,如上面陳述的,這些處理單元可以用於執行各種步驟,例如圖3中所示出的方塊中的一或多個方塊。匯流排226可以耦合兩個或更多個CPU 210、或者單個CPU或多個CPU中的多個核。硬體元件亦可以包括一或多個輸入/輸出設備237,這些輸入/輸出設備可以包括但不限於一或多個GPS接收器(和或來自任何其他衛星定位系統(SPS)的接收器)、加速度計、陀螺儀、磁力計(及/或其他方位感測器)、高度計、相機及/或能夠偵測位置、運動、方位、光、聲音等等的其他感測器,這些感測器可以用作為用於收集位置、移動和其他資料的單元。此外,可以利用感測器連同CPU 210作為用於偵測使用者頭上的可穿戴顯示裝置120的移動的單元,如本文所描述的。亦可以包括其他設備,例如觸控板、鍵盤、麥克風等等。亦包括一或多個另外的設備。這些設備可以包括一或多個顯示器及/或其他顯示單元,以及揚聲器及/或其他設備。
電腦系統200亦可以包括主記憶體235,該主記憶體235可以包括但不限於隨機存取記憶體(「RAM」),例如動態隨機存取記憶體(DRAM),例如雙倍資料速率(DDR)同步DRAM(SDRAM)。
電腦系統200亦包括GPU 212,該GPU 212是用於處理圖形處理的專用處理器。電腦系統200亦包括顯示器驅動器240,該顯示器驅動器240被配置為:例如經由驅動對顯示器的各部分的掃瞄以顯示圖像,來驅動可穿戴顯示裝置120上的顯示器。
電腦系統200亦可以包括通訊子系統230,該通訊子系統230可以包括但不限於數據機、網路卡(無線或有線)、紅外通訊設備、無線通訊設備及/或晶片組(例如藍芽™設備、802.11設備、WiFi設備、WiMax設備、蜂巢通訊設施等)等。通訊子系統230可以包括一或多個輸入及/或輸出通訊介面,以允許與網路、其他電腦系統及/或任何其他電氣設備/周邊設備交換資料。
電腦系統230亦可以包括例如位於主記憶體235內的軟體元件,包括作業系統、裝置驅動程式、可執行庫及/或其他代碼(例如一或多個應用),這些代碼可以包括由各個實施例提供的電腦程式及/或可以被設計為實現方法及/或配置由其他實施例提供的系統,如本文所描述的。僅舉例而言,針對本文所論述的方法所描述的一或多個程序的一部分可以實現為可由電腦(及/或電腦內的處理單元)執行的代碼及/或指令;在一態樣中,這些代碼及/或指令可以用於配置及/或適配通用電腦(或其他設備)以執行根據所描述的方法的一或多個操作。
這些指令及/或代碼集合可以儲存在非暫時性電腦可讀取儲存媒體上。在一些情況下,儲存媒體可以被併入電腦系統(例如,電腦系統200)內。在其他實施例中,儲存媒體可以與電腦系統分離(例如,可移除媒體,例如光碟)及/或在安裝包中提供,以使得儲存媒體可以用於利用儲存在其上的指令/代碼來程式設計、配置及/或適配通用電腦。這些指令可以採用可執行代碼(其可由電腦系統200執行)的形式及/或可以採用源及/或可安裝代碼的形式,該源及/或可安裝代碼在電腦系統200上編譯及/或安裝(例如,使用各種通常可用的編譯器、安裝程式、壓縮/解壓縮實用程式(utility)等等中的任何一種)時,則採用可執行代碼的形式。
對於本發明所屬領域中具有通常知識者將顯而易見的是,可以根據特定要求作出很大變化。
儘管圖1圖示具有眼鏡狀框架和用於顯示器的螢幕(例如,液晶顯示器(LCD)、有機發光二極體(OLED)等等)的可穿戴顯示裝置120的實施例,但是其他實施例可以具有不同的形狀因數及/或利用能夠提供類似顯示功能的不同光學技術(例如,視網膜投影儀或其他光學系統)。當論述在可穿戴顯示裝置120上顯示圖像時,這種顯示是指在可穿戴顯示裝置120的顯示器上顯示圖像。
對於這種可穿戴顯示裝置120,一種效能度量是運動到光子(motion to photon M2P)延遲,該M2P延遲量測從可穿戴顯示裝置120的移動到可穿戴顯示裝置120上所顯示的圖像被更新以對應於可穿戴顯示裝置120的該移動(例如,新位置)的時間的時間延遲。例如,使用者110可以在一個方向上觀看,並且可穿戴設備120可以顯示第一場景。使用者110隨後可以移動他的頭部,並且需要顯示與使用者110的新位置相對應的場景。在使用者110的位置變化與可穿戴顯示裝置120上的顯示器的更新之間具有低延時(例如,<20 ms)有利地允許更真實的體驗,並且亦防止使用者具有運動不適(motion sickness)。
對於這種可穿戴顯示裝置120的另一顧慮是適應向記憶體讀取並寫入圖像的記憶體頻寬需求。例如,記憶體頻寬需求對於高解析度(例如,每隻眼4K及以上)可以非常高。針對圖3來進一步論述用於在可穿戴顯示裝置120的螢幕上渲染圖像的程序對M2P延遲和記憶體頻寬的影響。
圖3圖示用於使用電腦系統200在可穿戴顯示裝置120的顯示器上渲染圖像的實例資料流300。如所示出的,在305處,可以使用運動感測器來量測與可穿戴顯示裝置120的位置相關的資料。在310處,由CPU 210接收並處理所量測的運動感測器資料以決定可穿戴顯示裝置120的位置(例如,三個自由度(3DoF)姿勢資料、6DoF姿勢資料等等)。在315處,位置資訊可以儲存在主記憶體235中。在320處,CPU 210從主記憶體235讀取位置自資訊並基於該位置資訊來產生用於渲染圖像的應用命令。例如,CPU 210產生供GPU 212例如針對正在執行的應用渲染場景的命令。在325處,應用命令儲存在主記憶體235中。在330處,GPU 212從主記憶體235讀取應用命令,並且在335處,讀取與來自主記憶體235的應用命令相對應的紋理(例如,圖像)(亦即,基於在315處儲存的位置資訊的紋理)。在340處,GPU 212基於紋理來渲染針對使用者110的右眼的圖像和針對使用者110的左眼的圖像以便在可穿戴顯示裝置120的顯示器上顯示。經渲染圖像對應於在315處儲存的位置資訊。在345處,GPU 212將針對每只眼睛渲染的圖像儲存在主記憶體235中。在350處,GPU 212從主記憶體235讀取經渲染圖像,並例如經由向經渲染圖像應用時間規整、透鏡規整等等來規整經渲染圖像,如本文將進一步論述的。在355處,GPU 212將經規整的圖像儲存在主記憶體235中。在360處,顯示器驅動器240從主記憶體235讀取整個經規整的圖像,並利用該經規整的圖像來驅動可穿戴顯示裝置120的顯示器。
時間規整圖像(例如在350處執行的)是指由於在圖像已經由例如GPU 212渲染之後可穿戴顯示裝置120變化的位置而改變要在可穿戴顯示裝置120中顯示的經渲染圖像。例如,如針對資料流300所論述的,GPU 212可以基於可穿戴顯示裝置120的位置來渲染圖像。然而,這種位置資訊是在GPU 212實際渲染圖像之前的某個時間間隔來決定的(例如,由於CPU、GPU等等處理、以及記憶體讀和寫中的延時)。因此,可穿戴顯示裝置120的位置亦可以在(例如,在310處)初始地決定位置時、(例如,在340處)渲染圖像時、以及(例如,在360處)在可穿戴顯示裝置120的顯示器上顯示經渲染圖像時之間變化。因此,在渲染圖像之後並在可穿戴顯示裝置120上顯示該圖像之前,可以向經渲染圖像應用時間規整,這基於可穿戴顯示裝置120的經更新位置資訊來修改經渲染圖像。例如,在350處,GPU 212從CPU 210接收經更新位置資訊並向經渲染圖像應用變換(例如,使用深度圖(Z緩衝器)來移動圖像中的物件以基於經更新位置提供視差),這與重新渲染圖像相比可以具有減小的計算複雜度。
透鏡規整圖像(例如在350處執行的)是指改變要在可穿戴顯示裝置120中顯示的經渲染圖像以校正由可穿戴顯示裝置120中的透鏡引入的失真。例如,可穿戴顯示裝置120除了顯示器之外亦可以利用透鏡來將圖像引導到使用者的眼中。在顯示器上顯示的圖像可能需要進行變換(例如,區段形失真、色差校正等)以校正由透鏡引入的失真。
由於GPU 212需要渲染圖像並且進一步規整圖像,因此使用額外的處理週期來執行規整並且存在由渲染與規整之間的上下文切換導致的不利後果,這意味著可用於渲染的資源更少。
此外,由於規整是作為整個處理鏈中的單獨步驟來應用的,因此在從主記憶體235(例如,在350和360處)讀取以及向主記憶體235(例如,在345和355處)寫入經渲染圖像和經規整圖像時主記憶體235的峰值頻寬增加。此外,為了確保針對從主記憶體235儲存和讀取兩者按時完成規整以便在顯示器的下一次刷新時在可穿戴顯示裝置120的顯示器上顯示圖像,可能提前發起規整程序,從而在M2P中引入額外的延遲。
因此,本文的技術涉及用於向由GPU渲染的圖像應用規整(例如,時間規整和透鏡規整)以便在可穿戴顯示裝置上顯示的系統和方法,這些系統和方法減小了M2P的延遲和記憶體的頻寬。具體而言,本文的某些態樣涉及與用於渲染圖像的GPU分離的規整引擎。
圖4是根據本案內容的某些態樣的、包括具有與GPU分離的規整引擎的圖像渲染系統的示例性電腦系統400的方塊圖。如所示出的,電腦系統400包括與圖2的電腦系統200相同的組件,但是另外包括規整引擎480和快取記憶體490。如所示出的,規整引擎480耦合到主記憶體435和快取記憶體490。規整引擎480可以是處理單元,例如被配置為執行本文所描述的某些操作的積體電路。在某些態樣中,規整引擎480是與GPU及/或電腦系統的其他組件分離的硬體組件(例如,硬體加速器)。快取記憶體490可以是少量的揮發性記憶體。在某些態樣中,快取記憶體490是與主記憶體435(例如,片外記憶體)分離的片上記憶體(例如,系統快取記憶體)。例如,快取記憶體490可以在與CPU 210及/或GPU 212相同的晶粒或經封裝晶片上。
規整引擎480可以被配置為規整由GPU 212渲染的圖像(例如,時間規整、透鏡規整等等)。經由將用於渲染圖像的資源(例如,GPU 212)與用於規整圖像的資源(例如,規整引擎480)分離,更多的資源可以用於渲染圖像,從而減少用於渲染圖像的延時以及M2P延遲。
此外,在一些態樣中,規整引擎480可以相對於由GPU 212進行的渲染非同步地規整由GPU 212渲染的圖像的各部分。例如,規整引擎480可以與可穿戴顯示裝置的顯示器同步(例如,刷新速率、掃瞄時間等等)而不是與GPU 212同步,並且在可穿戴顯示裝置120的顯示器實際掃瞄並在顯示器上顯示經渲染圖像的各部分時「即時」規整經渲染圖像的那些部分(例如,逐條、逐行等等)。「即時」規整可以減少M2P延遲,因為在規整與在顯示器上顯示之間存在很少的延遲。
例如,在一些態樣中,規整引擎480可以讀取由GPU從主記憶體235產生的經渲染圖像資料。然而,規整引擎480可以一次僅將所需要的經規整圖像的部分(例如,行、條等)寫入快取記憶體490(例如,最後一級快取記憶體),而不是將整個經規整圖像寫回到主記憶體235,並且顯示器驅動器240可以從快取記憶體490讀取該部分並使得顯示器掃瞄經規整圖像的該部分。這些態樣有利地可以具有減小的主記憶體235的頻寬,因為消除了向主記憶體235寫入和讀取經規整圖像。
在一些態樣中,對圖像的部分進行規整並將圖像的該部分寫入快取記憶體490與顯示器驅動器240同步。具體而言,可穿戴顯示裝置120的顯示器可以被配置為:經由針對顯示器的每次刷新逐行掃瞄顯示器來在顯示器上顯示圖像。例如,顯示器可以針對要顯示的第一圖像按部分(例如,逐行或逐條)掃瞄顯示器,並且隨後經由針對要顯示的第二圖像按部分掃瞄顯示器來刷新螢幕。因此,規整引擎480在顯示器的一部分要由顯示器驅動器240掃瞄之前(例如,在規整圖像之前的充足時間)可以接收可穿戴顯示裝置120的經更新位置資訊,規整要在顯示器的部分上掃瞄的圖像的部分,並將圖像的經規整部分寫入快取記憶體490。顯示器驅動器240隨後可以在顯示器上掃瞄儲存在快取記憶體490中的圖像的經規整部分。此外,在一些態樣中,當顯示器驅動器240正在顯示器上掃瞄儲存在快取記憶體490中的圖像的經規整部分時,規整引擎480亦可以規整圖像的下一部分以便在顯示器的下一部分上掃瞄。因此,規整引擎480能夠即時地產生要掃瞄的圖像的經規整部分以供顯示器驅動器240以最小的M2P延遲將圖像的經規整部分掃瞄至顯示器。此外,在一些態樣中,規整引擎480能夠一次得到被掃瞄至顯示器的圖像的每個部分的經更新位置資訊,而不是一次得到整個圖像的經更新位置資訊。
在一些態樣中,規整引擎480可以經由使用與可穿戴顯示裝置120的透鏡相對應的向量圖對經渲染圖像執行區段形失真和色差來應用透鏡規整。在一些態樣中,例如由於時間規整,規整引擎480亦可以向向量圖應用透視校正。
圖5根據本案內容的某些態樣,圖示用於例如由電腦系統400執行即時規整的實例操作500。
在505處,GPU 212基於可穿戴顯示裝置120的位置資訊來渲染用於顯示在可穿戴顯示裝置120上的左側和右側圖像,並將經渲染圖像儲存在主記憶體235中。例如,執行資料串流300的方塊305-345。在方塊510處,規整引擎480從主記憶體235讀取經渲染圖像。在515處,規整引擎480在對可穿戴顯示裝置120的顯示器的一部分進行更新之前,接收可穿戴顯示裝置120的經更新位置資訊(例如,從感測器、CPU等等),之後。在520處,規整引擎480規整經渲染圖像與要更新的顯示器部分相對應的部分。例如,規整引擎480可以應用時間規整、透鏡規整或者其他類型的圖像規整,如本文所論述的。
在525處,規整引擎480將經渲染圖像的經規整部分寫入快取記憶體490。在530處,顯示器驅動器240從快取記憶體490讀取經渲染圖像的經規整部分,並將經渲染圖像的該部分掃瞄至可穿戴顯示裝置120的顯示器。在535處(例如,與530並行),規整引擎480決定是否存在顯示器的另一部分要更新。在535處,若決定存在顯示器的另一部分要更新,則該程序返回到515並執行方塊515-525(例如,與530並行)。若在535處決定不存在顯示器的另一部分要更新,則該程序結束。
在一些態樣中,規整引擎480可以被配置為:應用除了如本文所論述的透鏡規整和時間規整之外的其他類型的規整。例如,在一些態樣中,規整引擎480可以被配置為:向經渲染圖像執行其他類型的規整以便針對VR系統產生更好的結果。在一些態樣中,GPU 212可以渲染與要顯示在可穿戴顯示裝置120上的圖像相對應的多個圖像,並將該多個經渲染圖像儲存在主記憶體235中。規整引擎480可以被配置為:讀取多個經渲染圖像,並基於該多個圖像來產生要掃瞄至可穿戴顯示裝置120的顯示器的單個輸出。
在一些態樣中,多個經渲染圖像可以用於可穿戴顯示裝置120的所決定位置,或者用於與可穿戴顯示裝置120的所決定位置的多個偏移。因此,如本文所論述的,規整引擎480可以使用多個經渲染圖像,經由使用圖像的實際經渲染部分來規整圖像而不是對圖像的變換,來應用更精確的時間規整。
在一些態樣中,多個經渲染圖像可以對應於圖像的不同視角、對焦水平、或視場。例如,圖6圖示針對一場景的圖像的不同視場,包括場景的寬對焦、場景的中對焦和場景的窄對焦。因此,規整引擎480可以支援使用不同數量的圖元/解析度來渲染圖像的不同部分(例如,基於可穿戴顯示裝置120的使用者的眼睛位置)的小凹渲染。例如,眼睛聚焦的圖像的各部分可以以較高的解析度來渲染,而眼睛未聚焦的圖像的各部分(例如,周邊)可以以較低的解析度來渲染。GPU 212因此可以被配置為:以不同的視場來渲染圖像,如圖6中所示出的。基於指示使用者眼睛的位置的感測器輸入,規整引擎480隨後可以利用經渲染圖像中的每一圖像的不同部分以及不同的視場並產生單個經規整圖像以供顯示在螢幕上。在一些態樣中,可以經由使用與使用者眼睛相對於圖像的位置相對應的阿爾法平面圖來支援小凹渲染。
在一些態樣中,規整引擎480可以決定本文所描述的規整並將該規整單獨地應用於構成經渲染圖像的不同顏色通道(例如,紅、綠和藍)之每一者顏色通道。
在一些態樣中,規整引擎480可以規整經渲染圖像,例如改變經渲染圖像的焦點,以使其適合於具有視覺障礙(例如,近視、遠視等)的使用者。
圖7是根據本案內容的某些態樣的實例規整引擎480的方塊圖。規整引擎480包括用於儲存圖像資料的快取記憶體720。圖像資料可以儲存為圖元。此外,每個圖元可以劃分成子圖元,每個子圖元對應於顏色通道(例如,紅、綠、藍)。
規整引擎480亦包括一或多個透視變換單元705。如所示出的,規整引擎480包括三個透視變換單元705,顏色通道之每一者顏色通道對應一個透視變換單元。在一些態樣中,可以包括另外的或更少的透視變換單元705例如用於其他顏色通道,或者其中單個透視變換單元705對應於多個顏色通道。透視變換單元705被配置為:執行本文所描述的時間規整以及可選的透鏡規整技術。例如,如所示出的,每個透視變換單元705接收經渲染圖像(例如,針對不同眼睛及/或不同視場的經渲染圖像)與特定顏色通道相對應的圖元並對經渲染圖像執行規整。具體而言,每個透視變換單元705接收可穿戴顯示裝置120的經更新位置資訊以及與區段形失真和色差相對應的向量圖以應用於經渲染圖像與特定顏色通道相對應的圖元。透視變換單元705亦基於可穿戴顯示裝置120的經更新位置資訊向向量圖應用透視校正(時間規整),並將向量圖應用於經渲染圖像的圖元以便對圖像進行時間規整和透鏡規整。經規整圖像的圖元儲存在快取記憶體720中。
規整引擎480亦包括一或多個內插器單元710。如所示出的,對於每個被規整的經渲染圖像(例如,與不同視場相對應的每個經渲染圖像),規整引擎480包括三個內插器單元710,顏色通道之每一者顏色通道對應一個內插器單元。在一些態樣中,類似於透視變換單元705並進一步基於一或多個經渲染圖像是否在被規整,規整引擎480包括另外的或更少的內插器單元710。內插器單元710應用濾波器係數來改善圖像品質。
規整引擎480亦包括一或多個包裝單元715。如所示出的,對於每個被規整的經渲染圖像,規整引擎480包括一個包裝單元715。在一些態樣中,類似於內插器單元710,規整引擎480包括另外的或更少的包裝單元715。包裝單元715將對應於不同顏色通道的經規整圖元組合成經規整圖像的完整圖元。
例如當規整引擎480產生多個經渲染圖像(例如,具有不同的視場)時,規整引擎480亦可以包括組合器725。組合器725可以使用如本文所論述的阿爾法圖來決定要組合多個經渲染圖像中的哪些部分以產生要在顯示器上示出的經規整圖像。
圖8根據本案內容的某些態樣,圖示用於例如由電腦系統400來執行即時規整的實例操作800。
在805處,電腦系統基於運動感測器來決定可穿戴顯示裝置的位置。在810處,電腦系統基於所決定的位置來渲染圖像。在815處,電腦系統基於運動感測器來決定可穿戴顯示裝置的第一經更新位置。
在820處,電腦系統基於第一經更新位置來規整經渲染圖像的第一部分,並校正由於可穿戴顯示裝置的透鏡引起的失真。在825處,電腦系統基於運動感測器在可穿戴顯示裝置的顯示器上顯示經渲染圖像的經規整的第一部分。
在830處,電腦系統基於運動感測器來決定可穿戴顯示裝置的第二經更新位置。在835處,電腦系統基於第二經更新位置來規整經渲染圖像的第二部分,並校正由於可穿戴顯示裝置的透鏡引起的失真。在840處,電腦系統在可穿戴顯示裝置的顯示器上顯示經渲染圖像的經規整的第二部分。
可以由能夠執行對應功能的任何適當單元來執行上面所描述的方法的各個操作。單元可以包括各種硬體及/或軟體組件及/或模組,包括但不限於電路、特殊應用積體電路(ASIC)或處理器。通常,在附圖中圖示操作的情況下,這些操作可以具有對應的配對單元加功能元件,這些組件具有類似的編號。例如,參考電腦系統400,CPU 210可以包括一或多個位置決定組件以提供用於基於運動感測器來決定可穿戴顯示裝置120的位置、第一經更新位置和第二經更新位置的單元。GPU 212可以包括一或多個圖像渲染組件以提供用於基於決定位置來渲染圖像的單元。規整引擎480可以包括一或多個部分規整組件以提供用於基於第一更新位置來規整經渲染圖像的第一部分以校正由於可穿戴顯示裝置120的透鏡引起的失真以及用於基於第二經更新位置來規整經渲染圖像的第二部分並校正由於可穿戴顯示裝置120的透鏡引起的失真的單元。顯示器驅動器240可以包括一或多個顯示組件以提供用於在可穿戴顯示裝置120的顯示器上顯示經渲染圖像的第一部分和經渲染圖像的第二部分的單元。
如本文所使用的,術語「決定」涵蓋多種多樣的動作。例如,「決定」可以包括運算、計算、處理、推導、調查、檢視(例如,在表格、資料庫或另一資料結構中檢視)、判定等等。此外,「決定」可以包括接收(例如,接收資訊)、存取(例如,存取記憶體中的資料)等等。此外,「決定」可以包括解析、選擇、選取、建立等等。
如本文使用的,提及「中的至少一個」的項目列表的短語是指這些項目的任意組合,包括單一成員。舉例而言,「a、b或c中的至少一個」意欲覆蓋:a、b、c、a-b、a-c、b-c和a-b-c,以及多個相同要素的任意組合(例如,a-a、a-a-a、a-a-b、a-a-c、a-b-b、a-c-c、b-b、b-b-b、b-b-c、c-c以及c-c-c或者a、b和c的任何其他排序)。
可以利用被設計為執行本文所描述的功能的通用處理器、數位訊號處理器(DSP)、ASIC、現場可程式設計閘陣列(FPGA)或其他可程式設計邏輯裝置(PLD)、個別閘門或電晶體邏輯裝置、個別硬體組件或者其任意組合,來實現或執行結合本案內容所描述的各種說明性的邏輯區塊、模組和電路。通用處理器可以是微處理器,但在替代方案中,該處理器可以是任何商業可用的處理器、控制器、微控制器或狀態機。處理器亦可以實現為計算設備的組合,例如,DSP和微處理器的組合、多個微處理器、與DSP核心結合的一或多個微處理器,或者任何其他此種配置。
本文所揭示的方法包括用於實現所描述的方法的一或多個步驟或動作。在不偏離請求項的範疇的情況下,各方法步驟及/或動作可以彼此互換。換言之,除非指定步驟或動作的特定順序,否則可以在不偏離請求項的範疇的情況下修改特定步驟及/或動作的順序及/或使用。
可以在硬體、軟體、韌體、或者其任意組合中實現所描述的功能。若在硬體中實現,則實例硬體設定可以包括無線節點中的處理系統。可以利用匯流排結構來實現處理系統。取決於處理系統的具體應用和整體設計約束,匯流排可以包括任意數量的互連匯流排和橋接。匯流排可以將各種電路連結在一起,包括處理器、機器可讀取媒體和匯流排介面。匯流排介面可以用於將網路介面卡等等經由匯流排連接到處理系統。網路介面卡可以用於實現實體(PHY)層的信號處理功能。在使用者終端的情況下,使用者介面(例如,鍵盤、顯示器、滑鼠、操縱桿等等)亦可以連接到匯流排。匯流排亦可以連結諸如定時源、外設、電壓調節器、功率管理電路等各種其他電路,這些在本發明所屬領域公知,因此將不再進一步描述。
處理系統可以被配置為通用處理系統,該通用處理系統具有提供處理器功能的一或多個微處理器以及提供機器可讀取媒體的至少一部分的外部記憶體,所有這些經由外部匯流排架構與其他支援電路連結在一起。替代地,可以利用ASIC以及處理器、匯流排介面、在存取終端的情況下的使用者介面、支援電路、以及被併入單個晶片中的機器可讀取媒體的至少一部分,或者利用一或多個FPGA、PLD、控制器、狀態機、閘控邏輯單元、個別硬體組件、或者任何其他適當的電路、或者能夠執行貫穿本案內容所描述的各個功能的電路的任意組合來實現處理系統。本發明所屬領域中具有通常知識者將認識到,如何根據具體應用和施加在整體系統上的整體設計約束來最佳地實現針對處理系統所描述的功能。
要理解,請求項不限於上面所示出的精確配置和元件。在不偏離請求項的範疇的情況下,可以對上面所描述的方法和裝置的佈置、操作和細節做出各種修改、變化和變型。
110‧‧‧使用者
120‧‧‧可穿戴顯示裝置
200‧‧‧電腦系統
210‧‧‧CPU
212‧‧‧GPU
226‧‧‧匯流排
230‧‧‧通訊子系統
235‧‧‧主記憶體
237‧‧‧輸入/輸出設備
240‧‧‧顯示器驅動器
300‧‧‧資料流
305‧‧‧方塊
310‧‧‧方塊
315‧‧‧方塊
320‧‧‧方塊
325‧‧‧方塊
330‧‧‧方塊
335‧‧‧方塊
340‧‧‧方塊
345‧‧‧方塊
350‧‧‧方塊
355‧‧‧方塊
360‧‧‧方塊
400‧‧‧電腦系統
480‧‧‧規整引擎
490‧‧‧快取記憶體
500‧‧‧操作
505‧‧‧方塊
510‧‧‧方塊
515‧‧‧方塊
520‧‧‧方塊
525‧‧‧方塊
530‧‧‧方塊
705‧‧‧透視變換單元
710‧‧‧內插器單元
715‧‧‧包裝單元
720‧‧‧快取記憶體
725‧‧‧組合器
800‧‧‧操作
805‧‧‧方塊
810‧‧‧方塊
815‧‧‧方塊
820‧‧‧方塊
825‧‧‧方塊
830‧‧‧方塊
835‧‧‧方塊
840‧‧‧方塊
為了能詳細地理解本案內容的上述特徵所用的方式,可以參照各態樣來對以上簡要概述的內容進行更具體的描述,其中一些態樣在附圖中說明。然而,要注意,附圖僅示出本案內容的某些典型態樣,並且因此不應被認為限定本案內容的範疇,因為該描述可以允許其他等同有效的態樣。
圖1是根據本案內容的某些態樣的對佩戴在使用者頭上的可穿戴顯示裝置的實例的簡要說明。
圖2根據本案內容的某些態樣,圖示可以被併入圖1的可穿戴顯示裝置及/或與圖1的可穿戴顯示裝置通訊地耦合的電腦系統的實施例。
圖3根據本案內容的某些態樣,圖示用於使用圖2的電腦系統在圖1的可穿戴顯示裝置的顯示器上渲染圖像的實例資料流。
圖4根據本案內容的某些態樣,圖示可以被併入圖1的可穿戴顯示裝置及/或與圖1的可穿戴顯示裝置通訊地耦合的電腦系統的實施例。
圖5根據本案內容的某些態樣,圖示用於執行即時(just in time)規整的實例操作。
圖6根據本案內容的某些態樣,圖示圖像的不同視場的實例。
圖7是根據本案內容的某些態樣的圖4的實例規整引擎的方塊圖。
圖8根據本案內容的某些態樣,圖示用於執行即時規整的實例操作。
國內寄存資訊 (請依寄存機構、日期、號碼順序註記) 無
國外寄存資訊 (請依寄存國家、機構、日期、號碼順序註記) 無
Claims (33)
- 一種用於對一可穿戴顯示裝置進行操作的方法,該方法包括以下步驟: 基於一運動感測器來決定該可穿戴顯示裝置的一位置; 基於該所決定的位置來渲染一圖像; 基於該運動感測器來決定該可穿戴顯示裝置的一第一經更新位置; 基於該第一經更新位置來規整該經渲染圖像的一第一部分,並校正由於該可穿戴顯示裝置的一透鏡引起的失真; 在該可穿戴顯示裝置的一顯示器上顯示該經渲染圖像的該經規整的第一部分; 基於該運動感測器來決定該可穿戴顯示裝置的一第二經更新位置; 基於該第二經更新位置來規整該經渲染圖像的一第二部分,並校正由於該可穿戴顯示裝置的該透鏡引起的失真;及 在該可穿戴顯示裝置的該顯示器上顯示該經渲染圖像的該經規整的第二部分。
- 根據請求項1之方法,其中渲染是使用一圖形處理單元來執行的,並且規整是使用與該圖形處理單元分離的一規整引擎來執行的。
- 根據請求項1之方法,其中規整該第一部分和規整該第二部分與該可穿戴顯示裝置的該顯示器的刷新同步。
- 根據請求項3之方法,其中規整該第一部分與顯示該第一部分同步。
- 根據請求項3之方法,其中規整該第一部分和規整該第二部分與渲染該圖像非同步。
- 根據請求項1之方法,亦包括以下步驟: 將該經渲染圖像儲存在一記憶體中; 從該記憶體讀取該經渲染圖像; 將該經渲染圖像的該經規整的第一部分儲存在與該記憶體不同的一快取記憶體中;及 從該快取記憶體讀取該經渲染圖像的該經規整的第一部分。
- 根據請求項6之方法,其中該快取記憶體包括一片上記憶體。
- 根據請求項1之方法,亦包括以下步驟: 渲染複數個圖像,該複數個圖像之每一者圖像對應於該圖像的一不同視場;及 組合該複數個圖像之每一者圖像的部分以產生該經渲染圖像的該經規整的第一部分。
- 根據請求項1之方法,亦包括以下步驟:規整該經渲染圖像的該第一部分,以基於該可穿戴顯示裝置的一使用者的一視覺來改變該經渲染圖像的該第一部分的一焦點。
- 根據請求項1之方法,其中顯示該第一經規整部分和規整該第二部分是並存執行的。
- 一種用於對一可穿戴顯示裝置進行操作的方法,該方法包括以下步驟: 基於一運動感測器來決定該可穿戴顯示裝置的一位置; 由一圖形處理單元基於該所決定的位置來渲染一圖像; 基於該運動感測器來決定該可穿戴顯示裝置的一第一經更新位置; 由一規整引擎基於該第一經更新位置來規整該經渲染圖像的一第一部分;及 在該可穿戴顯示裝置的一顯示器上顯示該經渲染圖像的該經規整的第一部分。
- 根據請求項11之方法,亦包括以下步驟: 由該圖形處理單元將該經渲染圖像儲存在一記憶體中; 由該規整引擎從該記憶體讀取該經渲染圖像; 由該規整引擎將該經渲染圖像的該經規整的第一部分儲存在與該記憶體不同的一快取記憶體中;及 由一顯示器驅動器從該快取記憶體讀取該經渲染圖像的該經規整的第一部分。
- 根據請求項11之方法,亦包括以下步驟: 由該圖形處理單元來渲染一場景的複數個圖像,該場景的該複數個圖像之每一者圖像不同;及 由該規整引擎來組合該場景的該複數個圖像的部分以產生該經渲染圖像的該經規整的第一部分。
- 一種用於對一可穿戴顯示裝置進行操作的電腦系統,該電腦系統包括: 一處理器,該處理器被配置為: 基於一運動感測器來決定該可穿戴顯示裝置的一位置; 基於該運動感測器來決定該可穿戴顯示裝置的一第一經更新位置;及 基於該運動感測器來決定該可穿戴顯示裝置的一第二經更新位置; 一圖形處理單元,該圖形處理單元被配置為: 基於該所決定的位置來渲染一圖像; 與該圖形處理單元分離的一規整引擎,該規整引擎被配置為: 基於該第一經更新位置來規整該經渲染圖像的一第一部分,並校正由於該可穿戴顯示裝置的一透鏡引起的失真;及 基於該第二經更新位置來規整該經渲染圖像的一第二部分,並校正由於該可穿戴顯示裝置的該透鏡引起的失真;及 一顯示器驅動器,該顯示器驅動器被配置為: 在該可穿戴顯示裝置的一顯示器上顯示該經渲染圖像的該經規整的第一部分;及 在該可穿戴顯示裝置的該顯示器上顯示該經渲染圖像的該經規整的第二部分。
- 根據請求項14之電腦系統,其中規整該第一部分和規整該第二部分與該可穿戴顯示裝置的該顯示器的刷新同步。
- 根據請求項15之電腦系統,其中規整該第一部分與顯示該第一部分同步。
- 根據請求項15之電腦系統,其中規整該第一部分和規整該第二部分與渲染該圖像非同步。
- 根據請求項14之電腦系統,亦包括: 一記憶體,該記憶體被配置為:儲存該經渲染圖像;及 與該記憶體不同的一快取記憶體,該快取記憶體被配置為:儲存該經渲染圖像的該經規整的第一部分。
- 根據請求項18之電腦系統,其中該快取記憶體包括一片上記憶體。
- 根據請求項14之電腦系統,其中: 該圖形處理單元亦被配置為:渲染複數個圖像,該複數個圖像之每一者圖像對應於該圖像的一不同視場;及 該規整引擎亦被配置為:組合該複數個圖像之每一者圖像的部分以產生該經渲染圖像的該經規整的第一部分。
- 根據請求項14之電腦系統,其中該規整引擎亦被配置為:規整該經渲染圖像的該第一部分,以基於該可穿戴顯示裝置的一使用者的一視覺來改變該經渲染圖像的該第一部分的一焦點。
- 根據請求項14之電腦系統,其中顯示該第一經規整部分和規整該第二部分是並存執行的。
- 一種其上儲存有用於對一可穿戴顯示裝置進行操作的指令的非暫時性電腦可讀取媒體,其中由一計算系統執行該等指令使得該計算系統執行以下步驟: 基於一運動感測器來決定該可穿戴顯示裝置的一位置; 基於該所決定的位置來渲染一圖像; 基於該運動感測器來決定該可穿戴顯示裝置的一第一經更新位置; 基於該第一經更新位置來規整該經渲染圖像的一第一部分,並校正由於該可穿戴顯示裝置的一透鏡引起的失真; 在該可穿戴顯示裝置的一顯示器上顯示該經渲染圖像的該經規整的第一部分; 基於該運動感測器來決定該可穿戴顯示裝置的一第二經更新位置; 基於該第二經更新位置來規整該經渲染圖像的一第二部分,並校正由於該可穿戴顯示裝置的該透鏡引起的失真;及 在該可穿戴顯示裝置的該顯示器上顯示該經渲染圖像的該經規整的第二部分。
- 根據請求項23之非暫時性電腦可讀取媒體,其中渲染是使用一圖形處理單元來執行的,並且規整是使用與該圖形處理單元分離的一規整引擎來執行的。
- 根據請求項23之非暫時性電腦可讀取媒體,其中規整該第一部分和規整該第二部分與該可穿戴顯示裝置的該顯示器的刷新同步。
- 根據請求項25之非暫時性電腦可讀取媒體,其中規整該第一部分與顯示該第一部分同步。
- 根據請求項25之非暫時性電腦可讀取媒體,其中規整該第一部分和規整該第二部分與渲染該圖像非同步。
- 根據請求項23之非暫時性電腦可讀取媒體,其中由該計算系統執行該等指令亦使得該計算系統執行以下步驟: 將該經渲染圖像儲存在一記憶體中; 從該記憶體讀取該經渲染圖像; 將該經渲染圖像的該經規整的第一部分儲存在與該記憶體不同的一快取記憶體中;及 從該快取記憶體讀取該經渲染圖像的該經規整的第一部分。
- 根據請求項28之非暫時性電腦可讀取媒體,其中該快取記憶體包括一片上記憶體。
- 根據請求項23之非暫時性電腦可讀取媒體,其中由該計算系統執行該等指令亦使得該計算系統執行以下步驟: 渲染複數個圖像,該複數個圖像之每一者圖像對應於該圖像的一不同視場;及 組合該複數個圖像之每一者圖像的部分以產生該經渲染圖像的該經規整的第一部分。
- 根據請求項23之非暫時性電腦可讀取媒體,其中由該計算系統執行該等指令亦使得該計算系統執行以下步驟:規整該經渲染圖像的該第一部分,以基於該可穿戴顯示裝置的一使用者的一視覺來改變該經渲染圖像的該第一部分的一焦點。
- 根據請求項23之非暫時性電腦可讀取媒體,其中顯示該第一經規整部分和規整該第二部分是並存執行的。
- 一種用於對一可穿戴顯示裝置進行操作的電腦系統,該電腦系統包括: 用於基於一運動感測器來決定該可穿戴顯示裝置的一位置的單元; 用於基於該所決定的位置來渲染一圖像的單元; 用於基於該運動感測器來決定該可穿戴顯示裝置的一第一經更新位置的單元; 用於基於該第一經更新位置來規整該經渲染圖像的一第一部分,並校正由於該可穿戴顯示裝置的一透鏡引起的失真的單元; 用於在該可穿戴顯示裝置的一顯示器上顯示該經渲染圖像的該經規整的第一部分的單元; 用於基於該運動感測器來決定該可穿戴顯示裝置的一第二經更新位置的單元; 用於基於該第二經更新位置來規整該經渲染圖像的一第二部分,並校正由於該可穿戴顯示裝置的該透鏡引起的失真的單元;及 用於在該可穿戴顯示裝置的該顯示器上顯示該經渲染圖像的該經規整的第二部分的單元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/374,165 US10043318B2 (en) | 2016-12-09 | 2016-12-09 | Display synchronized image warping |
US15/374,165 | 2016-12-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201830339A true TW201830339A (zh) | 2018-08-16 |
TWI659391B TWI659391B (zh) | 2019-05-11 |
Family
ID=61054476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106142882A TWI659391B (zh) | 2016-12-09 | 2017-12-07 | 顯示器同步的圖像規整 |
Country Status (8)
Country | Link |
---|---|
US (1) | US10043318B2 (zh) |
EP (1) | EP3552081B1 (zh) |
CN (1) | CN110050250B (zh) |
BR (1) | BR112019010815A2 (zh) |
ES (1) | ES2855123T3 (zh) |
HU (1) | HUE052188T2 (zh) |
TW (1) | TWI659391B (zh) |
WO (1) | WO2018106898A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10839321B2 (en) | 1997-01-06 | 2020-11-17 | Jeffrey Eder | Automated data storage system |
KR20180082033A (ko) * | 2017-01-09 | 2018-07-18 | 삼성전자주식회사 | 음성을 인식하는 전자 장치 |
CN110573929A (zh) * | 2017-05-01 | 2019-12-13 | 无限增强现实以色列有限公司 | 增强或混合现实环境的光学引擎时间扭曲 |
AU2018285543B2 (en) * | 2017-06-14 | 2023-10-05 | Hadal, Inc. | Systems and methods for virtual reality motion sickness prevention |
US10169843B1 (en) * | 2017-11-20 | 2019-01-01 | Advanced Micro Devices, Inc. | Temporal foveated rendering using motion estimation |
KR102473840B1 (ko) * | 2017-11-21 | 2022-12-05 | 삼성전자주식회사 | 디스플레이 드라이버 및 모바일 전자 기기 |
KR102604738B1 (ko) * | 2017-12-22 | 2023-11-22 | 삼성전자주식회사 | 와핑 처리를 수행하는 그래픽 프로세서, 이를 포함하는 렌더링 시스템 및 그래픽 프로세서 동작방법 |
US10551914B2 (en) * | 2018-02-09 | 2020-02-04 | Microsoft Technology Licensing, Llc | Efficient MEMs-based eye tracking system with a silicon photomultiplier sensor |
US10627899B2 (en) | 2018-02-09 | 2020-04-21 | Microsoft Technology Licensing, Llc | Eye tracking system for use in a visible light display device |
US10853911B2 (en) * | 2018-04-17 | 2020-12-01 | Google Llc | Dynamic adaptation of images for projection, and/or of projection parameters, based on user(s) in environment |
CN109739356B (zh) * | 2018-12-29 | 2020-09-11 | 歌尔股份有限公司 | Vr系统中图像显示的控制方法、装置及vr头戴设备 |
US10802287B2 (en) | 2019-01-14 | 2020-10-13 | Valve Corporation | Dynamic render time targeting based on eye tracking |
US11660535B2 (en) * | 2019-10-11 | 2023-05-30 | Nvidia Corporation | Hardware acceleration and event decisions for late latch and warp in interactive computer products |
US20210192681A1 (en) * | 2019-12-18 | 2021-06-24 | Ati Technologies Ulc | Frame reprojection for virtual reality and augmented reality |
US12069230B2 (en) * | 2020-12-23 | 2024-08-20 | Meta Platforms Technologies, Llc | Temporal foveated rendering |
US11822713B2 (en) | 2021-06-11 | 2023-11-21 | Rockwell Collins, Inc. | Pose augmentation of head worn display video for latency reduction |
CN114125301B (zh) * | 2021-11-29 | 2023-09-19 | 卡莱特云科技股份有限公司 | 一种虚拟现实技术拍摄延迟处理方法及装置 |
US11720380B1 (en) | 2022-05-18 | 2023-08-08 | Bank Of America Corporation | System and method for updating augmented reality navigation instructions based on a detected error |
US11586286B1 (en) | 2022-05-18 | 2023-02-21 | Bank Of America Corporation | System and method for navigating on an augmented reality display |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3745117B2 (ja) * | 1998-05-08 | 2006-02-15 | キヤノン株式会社 | 画像処理装置及び画像処理方法 |
US8508605B2 (en) * | 2009-10-14 | 2013-08-13 | Csr Technology Inc. | Method and apparatus for image stabilization |
TWI454663B (zh) * | 2011-11-22 | 2014-10-01 | Core Wireless Licensing Sarl | 用於決定位置偏移資訊之方法、設備和電腦可讀儲存媒體 |
EP2688060A4 (en) * | 2012-03-22 | 2015-08-05 | Sony Corp | DISPLAY DEVICE, IMAGE PROCESSING DEVICE AND IMAGE PROCESSING PROCESS AND COMPUTER PROGRAM THEREFOR |
US9338439B2 (en) | 2012-04-02 | 2016-05-10 | Intel Corporation | Systems, methods, and computer program products for runtime adjustment of image warping parameters in a multi-camera system |
US9232139B2 (en) * | 2012-07-24 | 2016-01-05 | Apple Inc. | Image stabilization using striped output transformation unit |
US9576397B2 (en) | 2012-09-10 | 2017-02-21 | Blackberry Limited | Reducing latency in an augmented-reality display |
US10026151B2 (en) * | 2013-09-27 | 2018-07-17 | Nxp Usa, Inc. | Head-up display warping controller |
US9551916B2 (en) * | 2014-09-25 | 2017-01-24 | Intel Corporation | Integrated and adjustable image projection with auto-image correction in electronic devices using an in-facing or world-facing image projector |
US20160260246A1 (en) | 2015-03-02 | 2016-09-08 | Advanced Micro Devices, Inc. | Providing asynchronous display shader functionality on a shared shader core |
US9874932B2 (en) * | 2015-04-09 | 2018-01-23 | Microsoft Technology Licensing, Llc | Avoidance of color breakup in late-stage re-projection |
US9704217B2 (en) | 2015-04-20 | 2017-07-11 | Intel Corporation | Apparatus and method for non-uniform frame buffer rasterization |
US9240069B1 (en) * | 2015-06-30 | 2016-01-19 | Ariadne's Thread (Usa), Inc. | Low-latency virtual reality display system |
CN105847785A (zh) * | 2016-05-09 | 2016-08-10 | 上海乐相科技有限公司 | 一种图像处理方法、设备和系统 |
-
2016
- 2016-12-09 US US15/374,165 patent/US10043318B2/en active Active
-
2017
- 2017-12-07 CN CN201780075873.0A patent/CN110050250B/zh active Active
- 2017-12-07 ES ES17835892T patent/ES2855123T3/es active Active
- 2017-12-07 WO PCT/US2017/065077 patent/WO2018106898A1/en active Search and Examination
- 2017-12-07 HU HUE17835892A patent/HUE052188T2/hu unknown
- 2017-12-07 EP EP17835892.5A patent/EP3552081B1/en active Active
- 2017-12-07 TW TW106142882A patent/TWI659391B/zh active
- 2017-12-07 BR BR112019010815A patent/BR112019010815A2/pt unknown
Also Published As
Publication number | Publication date |
---|---|
EP3552081B1 (en) | 2020-11-18 |
CN110050250A (zh) | 2019-07-23 |
HUE052188T2 (hu) | 2021-04-28 |
US20180165878A1 (en) | 2018-06-14 |
CN110050250B (zh) | 2020-11-03 |
BR112019010815A2 (pt) | 2019-10-01 |
US10043318B2 (en) | 2018-08-07 |
TWI659391B (zh) | 2019-05-11 |
ES2855123T3 (es) | 2021-09-23 |
WO2018106898A1 (en) | 2018-06-14 |
EP3552081A1 (en) | 2019-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI659391B (zh) | 顯示器同步的圖像規整 | |
US11823360B2 (en) | Virtual, augmented, and mixed reality systems and methods | |
CN110199267B (zh) | 利用数据压缩进行实时图像转换的无缺失的高速缓存结构 | |
CN110249317B (zh) | 用于实时图像变换的无未命中高速缓存结构 | |
US10134174B2 (en) | Texture mapping with render-baked animation | |
US11880920B2 (en) | Perspective correct vector graphics with foveated rendering | |
EP4198873A1 (en) | Sparse rgb filter hardware accelerator | |
US20220180473A1 (en) | Frame Rate Extrapolation | |
NZ791444A (en) | Virtual, augmented, and mixed reality systems and methods |