TW202129599A - 用於多鏡頭畸變校正的方法和裝置 - Google Patents
用於多鏡頭畸變校正的方法和裝置 Download PDFInfo
- Publication number
- TW202129599A TW202129599A TW109131477A TW109131477A TW202129599A TW 202129599 A TW202129599 A TW 202129599A TW 109131477 A TW109131477 A TW 109131477A TW 109131477 A TW109131477 A TW 109131477A TW 202129599 A TW202129599 A TW 202129599A
- Authority
- TW
- Taiwan
- Prior art keywords
- image
- position information
- grid
- xyz
- information
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000012937 correction Methods 0.000 title description 36
- 238000012545 processing Methods 0.000 claims abstract description 98
- 230000003190 augmentative effect Effects 0.000 claims description 9
- 238000003672 processing method Methods 0.000 claims 1
- 238000009877 rendering Methods 0.000 description 82
- 238000005516 engineering process Methods 0.000 description 31
- 230000008569 process Effects 0.000 description 23
- 230000006870 function Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 14
- 230000008901 benefit Effects 0.000 description 9
- 239000000872 buffer Substances 0.000 description 9
- 238000004891 communication Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 7
- 230000009466 transformation Effects 0.000 description 6
- 238000005070 sampling Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000007689 inspection Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
Abstract
本案內容係關於用於顯示或圖形處理的方法和裝置。本案內容的各態樣可以基於第一圖像網格來計算第一位置資訊。此外,本案內容的各態樣可以基於所計算的第一位置資訊來決定第一UV圖像。另外,本案內容的各態樣可以基於第二圖像網格和所決定的第一UV圖像來計算第二位置資訊。本案內容的各態樣亦可以基於所計算的第二位置資訊來決定第二UV圖像。本案內容的各態樣亦可以基於所決定的第二UV圖像來產生第三圖像網格。另外,本案內容的各態樣可以基於第三圖像網格和相機圖像來計算第三位置資訊。本案內容的各態樣亦可以基於所計算的第三位置資訊來決定顯示圖像。
Description
本專利申請案主張享受以下申請案的權益:於2019年10月11日提出申請的、序號為No. 62/914,379並且名稱為「METHODS AND APPARATUS FOR MULTIPLE LENS DISTORTION CORRECTION」的美國臨時申請案;及於2020年3月9日提出申請的並且名稱為「METHODS AND APPARATUS FOR MULTIPLE LENS DISTORTION CORRECTION」的美國專利申請案第16/813,534,該等申請案明確地經由引用方式整體併入本文。
概括而言,本案內容係關於處理系統,並且更具體地,本案內容係關於用於顯示或圖形處理的一或多個技術。
計算設備通常利用圖形處理單元(GPU)來加速圖形資料的呈現以進行顯示。此種計算設備可以包括例如電腦工作站、諸如所謂的智慧型電話之類的行動電話、嵌入式系統、個人電腦、平板電腦和視訊遊戲控制台。GPU執行圖形處理流水線,其包括一起操作以執行圖形處理命令並且輸出訊框的一或多個處理階段。中央處理單元(CPU)可以經由向GPU發出一或多個圖形處理命令來控制GPU的操作。現代的CPU通常能夠併發地執行多個應用程式,其之每一者應用程式在執行程序期間可能需要利用GPU。提供用於在顯示器上視覺呈現的內容的設備通常包括GPU。
通常,設備的GPU被配置為執行圖形處理流水線中的過程。然而,隨著無線通訊和較小的手持設備的出現,對改良的圖形處理的需求日益增長。
下文提供了一或多個態樣的簡化概述,以便提供對此種態樣的基本理解。該概述不是對所有預期態樣的詳盡綜述,而且既不意欲辨識所有態樣的關鍵元素,亦不意欲圖示任何或所有態樣的範疇。其唯一目的是以簡化的形式提供一或多個態樣的一些概念,作為稍後提供的更加詳細的描述的前序。
在本案內容的一個態樣中,提供了一種方法、電腦可讀取媒體和裝置。該裝置可以是頭戴式耳機、頭戴式顯示器(HMD)、客戶端設備、伺服器、顯示處理單元、顯示處理器、中央處理單元(CPU)、圖形處理單元(GPU),或可以執行顯示或圖形處理的任何裝置。該裝置可以基於第一圖像來決定第一圖像資訊。此外,該裝置可以基於所決定的第一圖像資訊來產生第一圖像網格。該裝置亦可以基於第二圖像來決定第二圖像資訊。此外,該裝置可以基於所決定的第二圖像資訊來產生第二圖像網格。該裝置亦可以基於第一圖像網格來計算第一位置資訊。此外,該裝置可以基於所計算的第一位置資訊來決定第一水平(U)垂直(V)(UV)圖像。另外,該裝置可以基於第二圖像網格和所決定的第一UV圖像來計算第二位置資訊。該裝置亦可以基於所計算的第二位置資訊來決定第二UV圖像。該裝置亦可以基於所決定的第二UV圖像來產生第三圖像網格。該裝置亦可以基於第三圖像網格和相機圖像來計算第三位置資訊。該裝置亦可以基於所計算的第三位置資訊來決定顯示圖像。該裝置亦可以基於第一位置資訊來計算長度(X)高度(Y)深度(Z)(XYZ)位置資訊。該裝置亦可以基於所計算的XYZ位置資訊來決定第一XYZ圖像。
在附圖和以下描述中闡述了本案內容的一或多個實例的細節。根據說明書和附圖以及根據申請專利範圍,本案內容的其他特徵、目標和優點將是顯而易見的。
鏡頭畸變校正可以應用於多個鏡頭,其中每個鏡頭皆會使輸入圖像畸變。鏡頭畸變校正的一些態樣可以利用雙通路(double pass)渲染進行畸變校正。在雙通路渲染中,相機圖像可以用作輸入圖像。然而,在增強現實(AR)上下文中,雙通路渲染可能導致長的渲染時間及/或增加的時延。此舉亦可能導致增加的GPU紋理記憶體存取,GPU紋理記憶體存取可能是昂貴的。本案內容的各態樣可以利用單通路(single pass)渲染,其中單個三維(3D)渲染通路可以同時完成多個鏡頭畸變校正。此種單通路渲染可以提供多個優點,諸如更快的渲染時間及/或減少的時延。亦可以導致更少的GPU資料頻寬使用。另外,此舉可能導致每個頂點和圖元的減少的GPU計算及/或減少的GPU紋理記憶體存取。單通路渲染亦可以導致提高的或更清晰的圖像品質。
下文參照附圖更加充分描述了系統、裝置、電腦程式產品和方法的各個態樣。然而,本案內容可以以許多不同的形式來體現,並且不應當被解釋為限於貫穿本案內容所呈現的任何特定的結構或功能。更確切而言,該等態樣被提供使得本案內容將是透徹和完整的,並且將向熟習此項技術者充分地傳達本案內容的範疇。基於本文的教示,熟習此項技術者應當明白的是,本案內容的範疇意欲涵蓋本文所揭示的系統、裝置、電腦程式產品和方法的任何態樣,無論該態樣是獨立於本案內容的其他態樣實現的還是與其結合地實現的。例如,使用本文所闡述的任何數量的態樣,可以實現一種裝置,或者可以實施一種方法。此外,本案內容的範疇意欲涵蓋使用除了本文所闡述的本案內容的各個態樣以外或不同於其的另一結構、功能或者結構和功能來實施的此種裝置或方法。本文揭示的任何態樣可以由請求項的一或多個元素來實現。
儘管本文描述了各個態樣,但是該等態樣的許多變型和置換落在本案內容的範疇之內。儘管提到了本案內容的各態樣的一些潛在益處和優點,但是本案內容的範疇並非意欲限於特定益處、用途或目標。更確切而言,本案內容的各態樣意欲廣泛地適用於不同的無線技術、系統配置、網路和傳輸協定,其中一些經由舉例在附圖和以下描述中進行說明。詳細描述和附圖僅是說明本案內容,而不是進行限制,本案內容的範疇由所附的請求項以及其均等物來限定。
現在將參照各種裝置和方法來提供若干態樣。將經由各個方塊、元件、電路、過程、演算法等(被統稱為「元素」),在以下的詳細描述中描述並且在附圖中圖示該等裝置和方法。該等元素可以使用電子硬體、電腦軟體或其任何組合來實現。至於該等元素是實現為硬體還是軟體,取決於特定的應用和對整體系統所施加的設計約束。
舉例而言,可以將元素,或元素的任何部分,或元素的任何組合實現為「處理系統」,其包括一或多個處理器(其亦可以被稱為處理單元)。處理器的實例包括:微處理器、微控制器、圖形處理單元(GPU)、通用GPU(GPGPU)、中央處理單元(CPU)、應用處理器、數位信號處理器(DSP)、精簡指令集運算(RISC)處理器、晶片上系統(SOC)、基頻處理器、特殊應用積體電路(ASIC)、現場可程式設計閘陣列(FPGA)、可程式設計邏輯設備(PLD)、狀態機、閘控邏輯、個別硬體電路,以及被配置為執行貫穿本案內容描述的各種功能的其他適當的硬體。處理系統中的一或多個處理器可以執行軟體。無論被稱為軟體、韌體、中間軟體、微代碼、硬體描述語言還是其他名稱,軟體皆應當被廣義地解釋為意指指令、指令集、代碼、程式碼片段、程式碼、程式、副程式、軟體元件、應用程式、軟體應用程式、套裝軟體、常式、子常式、物件、可執行檔案、執行的執行緒、程序、函數等。術語應用程式可以代表軟體。如本文描述的,一或多個技術可以代表被配置為執行一或多個功能的應用程式,亦即軟體。在此種實例中,應用程式可以被儲存在記憶體上,例如,處理器的晶片上記憶體、系統記憶體或任何其他記憶體。本文描述的硬體(例如,處理器)可以被配置為執行應用程式。例如,應用程式可以被描述為包括在由硬體執行時使得硬體執行本文描述的一或多個技術的代碼。作為一個實例,硬體可以從記憶體存取代碼並且執行從記憶體存取的代碼以執行本文描述的一或多個技術。在一些實例中,在本案內容中辨識元件。在此種實例中,元件可以是硬體、軟體或其組合。元件可以是單獨的元件或單個元件的子元件。
相應地,在本文描述的一或多個實例中,可以用硬體、軟體或其任意組合來實現所描述的功能。若用軟體來實現,該等功能可以儲存在電腦可讀取媒體上或編碼為電腦可讀取媒體上的一或多個指令或代碼。電腦可讀取媒體包括電腦儲存媒體。儲存媒體可以是能夠由電腦存取的任何可用媒體。經由舉例而非限制的方式,此種電腦可讀取媒體可以包括隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電子可抹除可程式設計ROM(EEPROM)、光碟儲存、磁碟儲存、其他磁儲存設備、上述類型的電腦可讀取媒體的組合,或者能夠用於儲存能夠由電腦存取的具有指令或資料結構形式的電腦可執行代碼的任何其他媒體。
概括而言,本案內容描述了如下技術:該等技術用於在單個設備或多個設備中具有圖形處理流水線,改良對圖形內容的渲染,及/或減少處理單元(亦即,被配置為執行本文描述的一或多個技術的任何處理單元(例如,GPU))的負荷。例如,本案內容描述了用於在利用圖形處理的任何設備中進行圖形處理的技術。貫穿本案內容描述了其他示例性益處。
如本文所使用的,術語「內容」的例子可以代表「圖形內容」、「圖像」,反之亦然。不管該等術語是被用作形容詞、名詞還是其他詞性,皆是如此。在一些實例中,如本文所使用的,術語「圖形內容」可以代表由圖形處理流水線的一或多個過程所產生的內容。在一些實例中,如本文所使用的,術語「圖形內容」可以代表由被配置為執行圖形處理的處理單元所產生的內容。在一些實例中,如本文所使用的,術語「圖形內容」可以代表由圖形處理單元所產生的內容。
在一些實例中,如本文所使用的,術語「顯示內容」可以代表由被配置為執行顯示處理的處理單元所產生的內容。在一些實例中,如本文所使用的,術語「顯示內容」可以代表由顯示處理單元所產生的內容。圖形內容可以被處理成為顯示內容。例如,圖形處理單元可以將諸如訊框之類的圖形內容輸出到緩衝器(其可以稱為訊框緩衝器)。顯示處理單元可以從緩衝器讀取圖形內容(例如,一或多個訊框),並且對其執行一或多個顯示處理技術以產生顯示內容。例如,顯示處理單元可以被配置為在一或多個渲染層上執行合成以產生訊框。作為另一實例,顯示處理單元可以被配置為將兩個或更多個層合成、混合或者以其他方式組合在一起成為單個訊框。顯示處理單元可以被配置為對訊框執行縮放(例如,上取樣或下取樣)。在一些實例中,訊框可以代表層。在其他實例中,訊框可以代表已經被混合在一起以形成訊框的兩個或更多個層,亦即,訊框包括兩個或更多個層,並且包括兩個或更多個層的訊框可以隨後被混合。
圖1是圖示被配置為實現本案內容的一或多個技術的示例性內容產生系統100的方塊圖。內容產生系統100包括設備104。設備104可以包括用於執行本文描述的各種功能的一或多個元件或電路。在一些實例中,設備104的一或多個元件可以是SOC的元件。設備104可以包括被配置為執行本案內容的一或多個技術的一或多個元件。在所示的實例中,設備104可以包括處理單元120、內容編碼器/解碼器122和系統記憶體124。在一些態樣中,設備104可以包括多個可選元件,例如,通訊介面126、收發機132、接收器128、傳輸器130、顯示處理器127和一或多個顯示器131。對顯示器131的引用可以代表一或多個顯示器131。例如,顯示器131可以包括單個顯示器或多個顯示器。顯示器131可以包括第一顯示器和第二顯示器。第一顯示器可以是左眼顯示器,並且第二顯示器可以是右眼顯示器。在一些實例中,第一和第二顯示器可以接收用於在其上呈現的不同的訊框。在其他實例中,第一和第二顯示器可以接收用於在其上呈現的相同的訊框。在另外的實例中,圖形處理的結果可以不顯示在設備上,例如,第一和第二顯示器可以不接收用於在其上呈現的任何訊框。相反,可以將訊框或圖形處理結果傳送給另一設備。在一些態樣中,此舉可以稱為分離渲染。
處理單元120可以包括內部記憶體121。處理單元120可以被配置為執行圖形處理,例如在圖形處理流水線107中。內容編碼器/解碼器122可以包括內部記憶體123。在一些實例中,設備104可以包括顯示處理器(例如,顯示處理器127),其用於在由一或多個顯示器131呈現之前對由處理單元120產生的一或多個訊框執行一或多個顯示處理技術。顯示處理器127可以被配置為執行顯示處理。例如,顯示處理器127可以被配置為對由處理單元120產生的一或多個訊框執行一或多個顯示處理技術。一或多個顯示器131可以被配置為顯示或以其他方式呈現由顯示處理器127處理的訊框。在一些實例中,一或多個顯示器131可以包括以下各項中的一項或多項:液晶顯示器(LCD)、電漿顯示器、有機發光二極體(OLED)顯示器、投影顯示設備、增強現實顯示設備、虛擬實境顯示設備、頭戴式顯示器,或任何其他類型的顯示設備。
在處理單元120和內容編碼器/解碼器122外部的記憶體(例如,系統記憶體124)可以是處理單元120和內容編碼器/解碼器122可存取的。例如,處理單元120和內容編碼器/解碼器122可以被配置為從諸如系統記憶體124之類的外部記憶體進行讀取及/或寫入該外部記憶體。處理單元120和內容編碼器/解碼器122可以經由匯流排通訊地耦合到系統記憶體124。在一些實例中,處理單元120和內容編碼器/解碼器122可以經由匯流排或不同的連接彼此通訊地耦合。
內容編碼器/解碼器122可以被配置為從諸如系統記憶體124及/或通訊介面126之類的任何源接收圖形內容。系統記憶體124可以被配置為儲存所接收的經編碼或經解碼的圖形內容。內容編碼器/解碼器122可以被配置為例如從系統記憶體124及/或通訊介面126接收具有經編碼的圖元資料的形式的經編碼或經解碼的圖形內容。內容編碼器/解碼器122可以被配置為編碼或解碼任何圖形內容。
內部記憶體121或系統記憶體124可以包括一或多個揮發性或非揮發性記憶體或儲存設備。在一些實例中,內部記憶體121或系統記憶體124可以包括RAM、靜態RAM(SRAM)、動態RAM(DRAM)、可抹除可程式設計ROM(EPROM)、電子可抹除可程式設計ROM(EEPROM)、快閃記憶體、磁資料媒體或光學儲存媒體,或任何其他類型的記憶體。
根據一些實例,內部記憶體121或系統記憶體124可以是非暫時性儲存媒體。術語「非暫時性」可以指示儲存媒體沒有體現在載波或傳播的信號中。然而,術語「非暫時性」不應當被解釋為意味著內部記憶體121或系統記憶體124是不可移動的或者其內容是靜態的。作為一個實例,系統記憶體124可以從設備104被移除並且移動到另一設備。作為另一實例,系統記憶體124可以是不可從設備104移除的。
處理單元120可以是中央處理單元(CPU)、圖形處理單元(GPU)、通用GPU(GPGPU),或可以被配置為執行圖形處理的任何其他處理單元。在一些實例中,處理單元120可以被整合到設備104的主機板中。在一些實例中,處理單元120可以存在於安裝在設備104的主機板中的埠中的圖形卡上,或者可以以其他方式被併入被配置為與設備104進行交互操作的周邊設備內。處理單元120可以包括一或多個處理器,例如,一或多個微處理器、GPU、特殊應用積體電路(ASIC)、現場可程式設計閘陣列(FPGA)、算數邏輯單位(ALU)、數位信號處理器(DSP)、個別邏輯、軟體、硬體、韌體、其他等效的整合或個別邏輯電路系統,或其任何組合。若該等技術部分地用軟體來實現,則處理單元120可以將用於軟體的指令儲存在適當的非暫時性電腦可讀取儲存媒體(例如,內部記憶體121)中,並且可以使用一或多個處理器,用硬體來執行該等指令,以執行本案內容的技術。包括硬體、軟體、硬體和軟體的組合等的任何前述內容可以被認為是一或多個處理器。
內容編碼器/解碼器122可以是被配置為執行內容解碼的任何處理單元。在一些實例中,內容編碼器/解碼器122可以被整合到設備104的主機板中。內容編碼器/解碼器122可以包括一或多個處理器,例如,一或多個微處理器、特殊應用積體電路(ASIC)、現場可程式設計閘陣列(FPGA)、算數邏輯單位(ALU)、數位信號處理器(DSP)、視訊處理器、個別邏輯、軟體、硬體、韌體、其他等效的整合或個別邏輯電路系統,或其任何組合。若該等技術部分地用軟體來實現,則內容編碼器/解碼器122可以將用於軟體的指令儲存在適當的非暫時性電腦可讀取儲存媒體(例如,內部記憶體123)中,並且可以使用一或多個處理器,用硬體來執行該等指令,以執行本案內容的技術。包括硬體、軟體、硬體和軟體的組合等的任何前述內容可以被認為是一或多個處理器。
在一些態樣中,內容產生系統100可以包括可選的通訊介面126。通訊介面126可以包括接收器128和傳輸器130。接收器128可以被配置為執行本文中關於設備104描述的任何接收功能。另外,接收器128可以被配置為從另一設備接收資訊,例如,眼睛或頭部位置資訊、渲染命令或位置資訊。傳輸器130可以被配置為執行本文中關於設備104描述的任何傳輸功能。例如,傳輸器130可以被配置為向另一設備傳輸可以包括針對內容的請求的資訊。接收器128和傳輸器130可以被組合成收發機132。在此種實例中,收發機132可以被配置為執行本文關於設備104描述的任何接收功能及/或傳輸功能。
再次參照圖1,在某些態樣中,圖形處理流水線107可以包括被配置為基於第一圖像來決定第一圖像資訊的決定元件198。決定元件198亦可以被配置為基於所決定的第一圖像資訊來產生第一圖像網格。決定元件198亦可以被配置為基於第二圖像來決定第二圖像資訊。決定元件198亦可以被配置為基於所決定的第二圖像資訊來產生第二圖像網格。決定元件198亦可以被配置為基於第一圖像網格來計算第一位置資訊。決定元件198亦可以被配置為基於所計算的第一位置資訊來決定第一UV圖像。決定元件198亦可以被配置為基於第二圖像網格和所決定的第一UV圖像來計算第二位置資訊。決定元件198亦可以被配置為基於所計算的第二位置資訊來決定第二UV圖像。決定元件198亦可以被配置為基於所決定的第二UV圖像來產生第三圖像網格。決定元件198亦可以被配置為基於第三圖像網格和相機圖像來計算第三位置資訊。決定元件198亦可以被配置為基於所計算的第三位置資訊來決定顯示圖像。決定元件198亦可以被配置為基於第一位置資訊來計算長度(X)高度(Y)深度(Z)(XYZ)位置資訊。決定元件198亦可以被配置為基於所計算的XYZ位置資訊來決定第一XYZ圖像。
如本文描述的,諸如設備104之類的設備可以代表被配置為執行本文描述的一或多個技術的任何設備、裝置或系統。例如,設備可以是伺服器、基地站、使用者設備、客戶端設備、站、存取點、電腦(例如,個人電腦、桌上型電腦、膝上型電腦、平板電腦、電腦工作站,或大型電腦)、最終產品、裝置、電話、智慧型電話、伺服器、視訊遊戲平臺或控制台、手持設備(例如,可攜式視訊遊戲設備,或個人數位助理(PDA))、可穿戴計算設備(例如,智慧手錶、增強現實設備或虛擬實境設備)、非可穿戴設備、顯示器或顯示設備、電視機、電視機上盒、中間網路設備、數位媒體播放機、視訊串流設備、內容串流設備、車載電腦、任何行動設備、被配置為產生圖形內容的任何設備,或者被配置為執行本文描述的一或多個技術的任何設備。可以將本文的過程描述為由特定元件(例如,GPU)來執行,但是在另外的實施例中,可以使用與所揭示的實施例一致的其他元件(例如,CPU)來執行。
GPU可以處理GPU流水線中的多種類型的資料或資料封包。例如,在一些態樣中,GPU可以處理兩種類型的資料或資料封包,例如,上下文暫存器封包和繪製調用資料。上下文暫存器封包可以是全域狀態資訊(例如,關於全域暫存器、著色程式或常數資料的資訊)集合,其可以調節將如何處理圖形上下文。例如,上下文暫存器封包可以包括關於色彩格式的資訊。在上下文暫存器封包的一些態樣中,可以存在指示何者工作負荷屬於上下文暫存器的位元。此外,可以存在同時及/或並行地執行的多個功能或程式設計。例如,功能或程式設計可以描述某種操作,例如色彩模式或色彩格式。因此,上下文暫存器可以定義GPU的多個狀態。
上下文狀態可以用於決定單獨的處理單元(例如,頂點獲取器(VFD)、頂點著色器(VS)、著色器處理器或幾何處理器)如何運作,及/或處理單元以何種模式運作。為此,GPU可以使用上下文暫存器和程式設計資料。在一些態樣中,GPU可以基於模式或狀態的上下文暫存器定義來在流水線中產生工作負荷,例如,頂點或圖元工作負荷。某些處理單元(例如,VFD)可以使用該等狀態來決定某些功能,例如,如何組裝頂點。由於該等模式或狀態可能改變,因此GPU可能需要改變相應的上下文。此外,與模式或狀態相對應的工作負荷可以遵循變化的模式或狀態。
圖2圖示根據本案內容的一或多個技術的示例性GPU 200。如圖2所示,GPU 200包括命令處理器(CP)210、繪製調用封包212、VFD 220、VS 222、頂點快取記憶體(VPC)224、三角形設置引擎(TSE)226、光柵化器(RAS)228、Z過程引擎(ZPE)230、圖元內插器(PI)232、片段著色器(FS)234、渲染後端(RB)236、L2快取記憶體(UCHE)238和系統記憶體240。儘管圖2顯示了GPU 200包括處理單元220-238,但是GPU 200可以包括多個額外的處理單元。另外,處理單元220-238僅是實例,並且根據本案內容,GPU可以使用處理單元的任何組合或順序。GPU 200亦包括命令緩衝器250、上下文暫存器封包260和上下文狀態261。
如圖2所示,GPU可以利用CP(例如,CP 210)或硬體加速器來將命令緩衝器解析為上下文暫存器封包(例如,上下文暫存器封包260)及/或繪製調用資料封包(例如,繪製調用封包212)。隨後,CP 210可以經由單獨的路徑來將上下文暫存器封包260或繪製調用資料封包212發送給GPU中的處理單元或區塊。此外,命令緩衝器250可以改變上下文暫存器和繪製調用的不同狀態。例如,可以以以下方式來構造命令緩衝器:上下文N的上下文暫存器、上下文N的繪製調用、上下文N+1的上下文暫存器以及上下文N+1的繪製調用。
GPU可以多種不同方式來渲染圖像。在一些情況下,GPU可以使用渲染或平鋪渲染來渲染圖像。在平鋪渲染GPU中,可以將圖像劃分或分割為不同的部分或圖塊。在劃分圖像之後,可以單獨地渲染每個部分或圖塊。平鋪渲染GPU可以將電腦圖形圖像劃分為網格格式,使得網格的每個部分(亦即,圖塊)被單獨地渲染。在一些態樣中,在揀選(binned)通路期間,圖像可以被劃分為不同的箱或圖塊。此外,在揀選通路中,可以在某些揀選中將不同的圖元著色,例如,使用繪製調用。在一些態樣中,在揀選通路期間,可以構造可見性串流,其中可以辨識可見圖元或繪圖調用。
在渲染的一些態樣中,可以存在多個處理階段或通路。例如,可以在兩個通路中執行渲染,例如,可見性通路和渲染通路。在可見性通路期間,GPU可以輸入渲染工作負荷,記錄圖元或三角形的位置,並且隨後決定何者圖元或三角形落在訊框的何者部分中。在可見性通路的一些態樣中,GPU亦可以辨識或標記可見性串流中每個圖元或三角形的可見性。在渲染通路期間,GPU可以輸入可見性串流並且一次處理訊框的一部分。在一些態樣中,可以分析可見性串流以決定何者圖元是可見的或不可見的。因此,可以處理可見的圖元。經由如此做,GPU可以減少不必要的處理或渲染不可見的圖元的工作負荷。
本案內容的各態樣可以應用於多種不同類型的內容,例如,虛擬實境(VR)內容、增強現實(AR)內容及/或擴展現實(XR)內容。在VR內容中,在使用者設備處顯示的內容可以對應於增強內容,例如,在伺服器或使用者設備上呈現的內容。在AR或XR內容中,在使用者設備處顯示的內容的一部分可以對應於真實世界內容,例如,真實世界中的物件,並且該內容的一部分可以是增強內容。此外,可以在光學透視或視訊透視設備中顯示增強內容和真實世界內容,使得使用者可以同時觀看真實世界物件和增強內容。
在一些態樣中,在VR相機透視模式下,可以將VR頭戴式耳機用作AR頭戴式耳機。例如,指向外部的兩個外部相機可以擷取真實世界物件,例如,在左和右相機圖像中。左和右相機圖像亦可以顯示在內部LCD或OLED顯示器中。另外,可以在顯示器前面安裝一對顯示鏡頭。隨後,使用者可以經由顯示鏡頭、顯示器及/或外部相機觀看外部世界。在一些態樣中,外部相機可以被稱為追蹤相機,因為外部相機可以追蹤真實世界中的圖像。因此,顯示器或客戶端設備上顯示的圖像可以是由追蹤相機追蹤的圖像。因此,真實世界圖像可以被相機鏡頭追蹤,並且隨後被傳輸到顯示器及/或顯示鏡頭。此外,鏡頭可能會使光線彎曲,此舉可能導致畸變。
在一些情況下,因為存在多個鏡頭,所以每個鏡頭皆可能使輸入圖像畸變。可以將鏡頭畸變校正應用於多個鏡頭,以使直線可以保持是筆直的,如使用者所見。因此,鏡頭畸變校正可以嘗試確保直線作為直線顯示給使用者,而不是由於鏡頭畸變而顯示為彎曲或扭曲的線。另外,每個鏡頭可能具有不同的畸變。此外,鏡頭畸變校正的順序可能很重要,因為鏡頭畸變順序的反轉可能導致不同的經校正的圖像。鏡頭畸變亦可以包括多種不同的規格。例如,鏡頭畸變校正可以是行動平臺友好的,鏡頭畸變校正可以是快速的,例如每秒60訊框或更多,並且鏡頭畸變校正可以利用GPU來實現效能態樣。
本案內容的一些態樣可以利用雙通路渲染的一些態樣。在雙通路渲染中,相機圖像可以用作輸入圖像。第一渲染通路可以建立並且使用3D網格及/或應用程式介面(API)或OpenGL渲染來渲染具有相機鏡頭畸變校正的相機圖像,亦即,直線可以是筆直的。本案內容的各態樣可以將該圖像稱為經校正的相機圖像。此外,在渲染通路中,本案內容可以獲取輸入圖像,隨後使該圖像彎曲以建立新圖像。
第二渲染通路可以建立並且使用3D網格及/或API或OpenGL渲染來渲染具有顯示鏡頭畸變校正的顯示圖像,亦即,直線可能是彎曲的。本案內容的各態樣可以將該圖像稱為經預校正的顯示圖像。經預校正的顯示圖像可以顯示在顯示器上,並且隨後該圖像可以被顯示鏡頭扭曲。此外,使用者可以觀察到經校正的顯示圖像,其中直線可以再次是筆直的。因此,本案內容的各態樣可以以直線開始,並且隨後在與顯示鏡頭的畸變相反的方向上使線彎曲。因此,若顯示鏡頭向左彎曲圖像,則本案內容可以向右彎曲圖像以抵消顯示鏡頭,並且圖像可以顯得筆直。
圖3圖示根據本案內容的一或多個技術的圖300。如圖3所示,圖300包括相機校準資料310、顯示鏡頭校準資料312、三維(3D)網格320、3D網格322、相機圖像330、第一渲染340、經校正的相機圖像350、第二渲染342、經預校正的顯示圖像352、顯示鏡頭360和顯示圖像370。圖3圖示根據本案內容的鏡頭畸變校正的一個態樣。
在一些態樣中,相機圖像330可以來自追蹤相機,其看起來包括魚眼鏡頭畸變。該圖像可以被校準,其可以包括關於圖像被彎曲或模糊的量的資訊。該資訊亦可以用於建立3D網格320,其可以包括轉換資料或執行圖像變換的方式。3D網格320可以對相機圖像330執行捏合效果,使得可以消除圖像330上的魚眼鏡頭畸變。
如圖3所示,相機校準資料310可用於製作3D網格320,3D網格320可以與相機圖像330組合以用於第一渲染340。第一渲染340可以用於獲得經校正的相機圖像350。在獲得經校正的相機圖像350之後,本案內容可以凸出圖像以預先校正顯示鏡頭(例如,顯示鏡頭360)的捏合。此外,顯示鏡頭校準資料312可以用於製作3D網格322,3D網格322可以與經校正的相機圖像350組合以產生第二渲染342。第二渲染342隨後可以導致可以將圖像凸出的經預校正的顯示圖像352。經預校正的顯示圖像352可以導致顯示鏡頭360,顯示鏡頭360可以最終導致使用者觀看的顯示圖像370。
如前述,在雙通路渲染中,相機圖像可以用作輸入圖像。然而,在AR上下文中,雙通路渲染可能導致增加的渲染時間以及增加的時延。此舉亦可能導致增加的GPU紋理記憶體存取,GPU紋理記憶體存取可能是昂貴的。因此,目前需要一種可以允許更快的渲染時間及/或減少的時延的渲染過程。
本案內容的一些態樣可以利用單通路渲染,以便解決雙通路渲染的上述缺點。在單通路渲染中,本案內容的各態樣可以使用單個3D渲染來同時完成上述兩個畸變校正。該單通路渲染可以提供多個優點,諸如在AR上下文中更快的渲染時間及/或減少的時延。單通路渲染亦可以導致3D網格頂點和圖像圖元資料的更少的GPU資料頻寬使用。另外,單通路渲染可以導致每個頂點和圖元的減少的GPU計算。此外,單通路渲染可能導致減少的GPU紋理記憶體存取,GPU紋理記憶體存取可能是昂貴的。
單通路渲染亦可以導致提高的或更清晰的圖像品質。例如,每個紋理取樣獲取可以在相鄰圖元之間執行雙線性內插。此外,圖元的加權平均可能導致對獲取的顏色取樣的模糊效果。經由減少紋理獲取的數量,本案內容的各態樣可以減少或消除模糊。
單通路渲染的一些態樣可能難以解決,因為圖像畸變可能既是非線性的又是非交換的。非線性圖像畸變可能意味著圖像中的一些圖元以不同的方式轉換。非交換圖像畸變可能意味著切換畸變的順序或同時執行畸變可能不會提供與以一個順序執行畸變相同的結果。
此外,產生不同效果(例如,凸出及/或捏合圖像)的圖像變換可以位於圖像的不同部分。此舉可能導致圖像變換難以預測。同樣,圖像變換的順序亦很重要。在一些態樣中,非交換變換可以包括多種不同的畸變,例如,旋轉畸變或區段形畸變。因此,取決於是否在區段形畸變之前執行了旋轉畸變(反之亦然),所得的圖像變換可能是不同的。
圖4圖示根據本案內容的一或多個技術的圖400。如圖4所示,圖400包括相機校準資料410、顯示鏡頭校準資料412、3D網格420、相機圖像430、第一渲染440、經校正的顯示圖像452、顯示鏡頭460和顯示圖像470。圖4圖示根據本案內容的鏡頭畸變校正的一個態樣。
如圖4所示,根據本案內容的單通路渲染可以將相機校準資料410與顯示鏡頭校準資料412組合。該組合可以產生3D網格420。網格420可以與相機圖像430組合以產生第一渲染440。第一渲染440可以用於獲得經預校正的顯示圖像452。經預校正的顯示圖像452可以導致顯示鏡頭460,顯示鏡頭460最終可以導致使用者觀看的顯示圖像470。
在一些態樣中,根據本案內容的單通路渲染可以從相機校準資料和顯示鏡頭校準資料中產生單獨的3D網格。來自相機校準資料的網格可以用於計算第一位置資訊。另外,可以基於所計算的第一位置資訊來決定第一水平(U)垂直(V)(UV)圖像或圖。在一些態樣中,計算第一位置資訊可以對應於將UV資訊渲染為紅色(R)、綠色(G)、藍色(B)(RGB)顏色資訊。
在一些態樣中,建立UV圖像或圖可以是將二維(2D)圖像投影到3D模型的表面以進行紋理映射的3D建模過程。例如,UV圖像或圖可以是網格的頂點的UV紋理座標集合,其對應於網格的頂點的3D或XYZ位置座標。例如,UV圖像或圖可以是與每個3D或XYZ頂點相匹配的二維點集合。
另外,UV圖像可以是彩色圖像,其中圖元的紅色(R)通道對應於水平(U)紋理座標的值,圖元的綠色(G)通道對應於垂直(V)紋理座標的值,並且圖元的藍色(B)通道可以被設置為零。在一些態樣中,UV圖像可以將3D三角形點映射到可以在紋理映射中使用的圖像的2D圖元,亦即,將圖像包裹在3D模型周圍。此外,UV圖像可以被稱為UV圖、UV渲染圖像或UV檢視紋理。
可以將第一UV圖像與顯示鏡頭校準資料網格組合以計算第二位置資訊。在一些態樣中,計算第二位置資訊可以對應於渲染輸入紋理座標資訊。隨後可以基於第二位置資訊來決定第二UV圖像。此外,可以基於所決定的第二UV圖像來決定第三圖像網格。可以將第三圖像網格可以與彩色相機圖像組合以產生額外的位置資訊,隨後可以產生使用者在顯示器處觀察到的最終圖像。
在一些態樣中,當產生第三圖像網格時,可以將某些幾何位置轉換為座標資訊。例如,可以將三維(XYZ)位置轉換為UV紋理座標。此外,在一些態樣中,可以利用棋盤紋理來渲染上述UV圖像。
圖5圖示根據本案內容的一或多個技術的圖500。如圖5所示,圖500包括相機校準資料或第一圖像資訊510、顯示鏡頭校準資料或第二圖像資訊512、第一網格520、第二網格522、第一位置資訊530、第二位置資訊532、第一UV圖像540、第二UV圖像542、第三網格550、相機圖像560、第三位置資訊562和顯示圖像570。圖5圖示根據本案內容的用於鏡頭畸變校正的單通路渲染的一個態樣。如圖5所示,來自相機的圖像位於虛線的右側,例如,如由使用者頭戴式耳機或頭戴式顯示器(HMD)拍攝的圖像。此外,虛線左側的部分可以是一次性預處理,並且虛線右側的部分可以是每訊框運行時間處理。在圖5中,每個圖像資訊(例如,第一圖像資訊510或第二圖像資訊512)可以與不同的鏡頭相關聯。例如,在圖5中,可以存在兩個鏡頭(例如,第一鏡頭和第二鏡頭),該兩個鏡頭分別對應於第一圖像資訊510和第二圖像資訊512。然而,本案內容的各態樣不限於特定數量的鏡頭,例如,兩個鏡頭。如以下將描述的,本案內容可以利用四個鏡頭以及任何其他適當數量的鏡頭,例如,八個或十六個鏡頭。此外,該等多個鏡頭可能不需要彼此完全對準。
圖5顯示了第一網格520可以是基於第一圖像資訊510的。此外,第一位置資訊530可以是基於第一網格520的,並且第一UV圖像540可以是基於第一位置資訊530的。第二網格522可以是基於第二圖像資訊512的。此外,第二位置資訊532可以是基於第二網格522和第一UV圖像540的。此外,第二UV圖像542可以是基於第二位置資訊532的。第三網格550可以是基於第二UV圖像542的。此外,第三位置資訊562可以是基於相機圖像560和第三網格550的。最後,顯示圖像570可以是基於第三位置資訊562的。
如圖5所示,當渲染3D網格(例如,第一網格520或第二網格522)而不是產生圖像時,本案內容可以基於3D網格來計算每個圖元的位置資訊。因此,本案內容的各態樣可以計算來自一或多個網格的每個圖元的位置資訊。另外,本案內容的各態樣可以根據該位置資訊來決定水平(U)垂直(V)(UV)圖像或UV檢視紋理。
如前述,本案內容可以基於圖像來決定3D網格。當該圖像被映射時,本案內容可以為圖像之每一者圖元指派位置座標。例如,可以為每個圖元指派水平(U)值(例如,從0到1)和垂直(V)值(例如,從0到1)。本案內容的各態樣亦可以推遲搜尋或檢視相機產生的圖像。例如,每次搜尋或檢視圖像時,皆可能降低圖像品質。因此,本案內容的各態樣可以避免在畸變解決方案中包括中間圖像。
在一些情況下,前述渲染可以產生圖像,其中顏色表示來自相機圖像的圖元的位置,例如,UV紋理座標。例如,該等UV座標值可以對應於顏色座標值。因此,該等座標可以是位址,該等位址可以是來自圖像的允許決定每個圖元的資訊。此外,尺寸和縱橫比可以對應於用於顯示相機圖像的顯示器的區域。
此外,可以計算多個網格,其可以包括頂點位置及/或紋理座標。如前述,該網格可以修改或更改輸入圖像。此外,應用程式介面(API)渲染或OpenGL渲染可以是紋理圖檢視操作。在一些態樣中,輸入的紋理圖像可能會畸變並且輸出。本案內容可以使用高精度(例如,32位元)浮點紋理取樣及/或輸出渲染緩衝器。此外,UV圖像或圖可以用作要與另一UV圖像或圖一起使用的紋理。
在一些態樣中,在第二渲染預通路中,來自第一鏡頭校正的UV紋理座標可以是例如每個圖元的最終紋理座標,其可以允許頂點決定其紋理座標。因此,可以對UV圖像或圖多次執行圖像畸變過程。在一些態樣中,可以經由經由多個鏡頭的光畸變的渲染來執行該過程。例如,上述圖像畸變過程可以減輕從一個鏡頭到另一鏡頭的畸變。
另外,本案內容的各態樣可以構建第三3D網格及其對應的紋理座標,例如,作為最終的運行時間渲染網格。在一些態樣中,可以基於先前圖元資訊或UV資訊的座標來決定該第三網格。因此,可以基於先前資料的位置或顏色資訊來計算第三網格。此外,位置資訊可以是XYZ座標或UV座標。幾何或XYZ位置亦可以均勻間隔。
此外,可以經由在先前產生的UV檢視紋理或圖像中檢視值來決定UV紋理座標。本案內容亦可以例如經由使用雙線性內插來考慮圖元之間的取樣。在一些態樣中,本案內容可以產生彎曲的UV紋理座標。此外,本案內容可以產生彎曲的XYZ座標。
另外,本案內容的各態樣可以利用多種不同的過程,諸如渲染圖元的位置及/或建立圖元檢視座標作為圖像圖元輸出值。在該等態樣中,可以渲染圖元的顏色,而不是其位置。本案內容的各態樣亦可以將位置圖像用作另一畸變過程的輸入紋理,例如,以進一步彎曲及/或重新計算期望的輸出圖元的最終位置。另外,本案內容的各態樣可以使用最終位置來例如一次取得相機輸入圖像的顏色。
在一些情況下,本案內容的各態樣可以用於多個不同的鏡頭。例如,本案內容的各態樣可以被兩個、四個、八個、十六個或任何適當數量的鏡頭利用。此外,鏡頭可能不需要彼此完全對準。
圖6圖示根據本案內容的一或多個技術的圖600。如圖6所示,圖600包括第一圖像資訊610、第二圖像資訊612、第三圖像資訊614、第四圖像資訊616、第一網格620、第二網格622、第三網格624、第四網格626、第一位置資訊630、第二位置資訊632、第三位置資訊634、第四位置資訊636、第一UV圖像640、第二UV圖像642、第三UV圖像644、第四UV圖像646、第五網格650、相機圖像660、第五位置資訊662和顯示圖像670。圖6圖示用於利用多個鏡頭(例如,四個鏡頭)的鏡頭畸變校正的單通路渲染的一個態樣。如圖6所示,來自相機的圖像位於虛線的右側,例如,如由使用者頭戴式耳機或頭戴式顯示器(HMD)拍攝的圖像。
圖6顯示每個圖像資訊可以與不同的鏡頭相關聯。如圖6所示,可以存在四個鏡頭,例如,第一鏡頭、第二鏡頭、第三鏡頭和第四鏡頭,該四個鏡頭分別對應於第一圖像資訊610、第二圖像資訊612、第三圖像資訊614和第四圖像資訊616。因此,本案內容的各態樣不限於特定數量的鏡頭,例如,兩個鏡頭。如圖6所示,本案內容可以利用四個鏡頭以及任何其他適當數量的鏡頭,例如,八個或十六個鏡頭。此外,該等多個鏡頭可能不需要彼此完全對準。
圖6顯示第一網格620可以是基於第一圖像資訊610的。此外,第一位置資訊630可以是基於第一網格620的,並且第一UV圖像640可以是基於第一位置資訊630的。第二網格622可以是基於第二圖像資訊612的。此外,第二位置資訊632可以是基於第二網格622和第一UV圖像640的。此外,第二UV圖像642可以是基於第二位置資訊632的。第三網格624可以是基於第三圖像資訊614的。此外,第三位置資訊634可以是基於第三網格624和第二UV圖像642的。第三UV圖像644可以是基於第三位置資訊634的。第四網格626可以是基於第四圖像資訊616的。第四位置資訊636可以是基於第四網格626和第三UV圖像644的。第四UV圖像646可以是基於第四位置資訊636的。第五網格650可以是基於第四UV圖像646的。此外,第五位置資訊662可以是基於相機圖像660和第五網格650的。最後,顯示圖像670可以是基於第五位置資訊662的。
在一些態樣中,本案內容可以將圖像空間轉換為相機空間,例如,從圖元轉換為mm。可以使用以下公式:cameraX=(imageX–center_X)/focus_X;並且cameraY=(imageY–center_Y)/focus_Y。在一些情況下,圖像可以是特定數量的圖元,例如640x400圖元。此外,圖像可以包括以下值:Center_X=324.5圖元,Center_Y=198.8圖元,視場(FOV)=0.925弧度,Focal X=269.4圖元,Focal Y=269.4圖元。此外,在3D相機空間中:-1.188可以對應於+1.188 mm的水平,並且-0.742可以對應於+0.742 mm的垂直。
在一些態樣中,可以使用應用程式介面(API)來渲染網格,以便校正魚眼圖像畸變。例如,本案內容的各態樣可以利用以下公式:。如上式所示,rd
是每個頂點的魚眼(畸變)半徑,亦即,從頂點到圖像網格中心的距離,w是視場(以弧度為單位),並且ru
是每個頂點的經校正的(未畸變的)半徑。
本案內容的各態樣亦可以包括顯示鏡頭網格產生。在一些態樣中,該方法可以是如前述的用於計算圖元半徑的相同方法。然而,該計算可以利用使用半徑參數的數學公式。在一些態樣中,鏡頭畸變多項式可以包括畸變標度,例如,畸變標度=K0
+K1
*r+K2
*r2
+K3
*r3
+K4
*r4
+K5
*r5
+K6
*r6
。K0
、K1
、K2
、K3
、K4
、K5
、K6
可以是鏡頭製造商提供的校準數,並且r可以是上述半徑。前述公式可以用於計算UV紋理座標。
另外,本案內容的各態樣可以包括多鏡頭畸變校正的其他方法。如前述,畸變校正的最終結果可以是網格,其中UV紋理座標從中性位置(亦即沒有畸變)重新定位到期望位置,此舉可能導致期望圖像彎曲。在另一種方法中,可以修改3D網格的XYZ頂點位置以實現相同的彎曲。因此,UV紋理座標可以保持不變。此情形可能是有益的,因為非同步空間彎曲(ASW)(其是在AR或VR中使用的另一種技術)可能使圖像彎曲。在ASW中,與修改UV紋理位置相比,修改頂點位置可以導致改良的端到端錯誤,例如,提高13.7%。因此,在對鏡頭校正和ASW進行組合時,在XYZ空間中一起執行所有步驟可能是有益的。
XYZ畸變方法可以類似於以上提供的方法,但是本案內容可以針對每個鏡頭校正將頂點XYZ渲染為顏色。例如,紅色可以是X座標,綠色可以是Y座標,並且藍色可以是Z座標。在第一渲染中,本案內容亦可以將紋理UV渲染為顏色並且保存圖像。在第二渲染中,本案內容可以使用來自第一渲染通路的XYZ彩色圖像。在最終的網格式構造中,本案內容可以使用第一UV彩色圖像渲染來決定UV值。此外,本案內容可以使用最終的XYZ圖像渲染來決定最終的頂點位置。
圖7圖示根據本案內容的一或多個技術的圖700。如圖7所示,圖700包括相機校準資料或第一圖像資訊710、顯示鏡頭校準資料或第二圖像資訊712、第一網格720、第二網格722、第一位置資訊730、第二位置資訊732、XYZ位置資訊734、第一UV圖像740、第一XYZ圖像742、第二XYZ圖像744、第三網格750、相機圖像760、第三位置資訊762和顯示圖像770。圖7圖示基於上述鏡頭畸變校正的XYZ方法的單通路渲染的一個態樣。如圖7所示,來自相機的圖像位於虛線的右側,例如,由使用者頭戴式耳機或HMD拍攝的圖像。
圖7顯示第一網格720可以是基於第一圖像資訊710的。此外,第一位置資訊730可以是基於第一網格720的,並且第一UV圖像740可以是基於第一位置資訊730的。XYZ位置資訊734可以是基於第一位置資訊730的,並且第一XYZ圖像742可以是基於XYZ位置資訊734的。第二網格722可以是基於第二圖像資訊712的。此外,第二位置資訊732可以是基於第二網格722和第一XYZ圖像742的。此外,第二XYZ圖像744可以是基於第二位置資訊732的。第三網格750可以是基於第二XYZ圖像744和第一UV圖像740的。此外,第三位置資訊762可以是基於相機圖像760和第三網格750的。最後,顯示圖像770可以是基於第三位置資訊762的。
圖5-圖7圖示用於鏡頭畸變校正的前述過程的實例。如圖5-圖7所示,本案內容的各態樣(例如,本文的伺服器和客戶端設備)可以執行多個不同的步驟或過程來校正鏡頭畸變。例如,本文的伺服器和客戶端設備可以基於第一圖像或鏡頭來決定第一圖像資訊,例如,第一圖像資訊510。此外,本文的伺服器和客戶端設備可以基於所決定的第一圖像資訊(例如,第一圖像資訊510)來產生第一圖像網格,例如,第一網格520。本文的伺服器和客戶端設備亦可以基於第二圖像或鏡頭來決定第二圖像資訊,例如,第二圖像資訊512。此外,本文的伺服器和客戶端設備可以基於所決定的第二圖像資訊(例如,第二圖像資訊512)來產生第二圖像網格,例如,第二網格522。
本文的伺服器和客戶端設備亦可以基於第一圖像網格(例如,第一網格520)來計算第一位置資訊,例如,第一位置資訊530。在一些態樣中,第一位置資訊可以是基於第一圖元位置資訊或第一UV紋理座標中的至少一項的。另外,本文的伺服器和客戶端設備可以基於所計算的第一位置資訊(例如,第一位置資訊530)來決定第一UV圖像,例如,第一UV圖像540。
此外,本文的伺服器和客戶端設備可以基於第二圖像網格(例如,第二網格522)和所決定的第一UV圖像(例如,第一UV圖像540)來計算第二位置資訊,例如,第二位置資訊532。在一些態樣中,第二位置資訊可以是基於第二圖元位置資訊或第二UV紋理座標中的至少一項的。本文的伺服器和客戶端設備亦可以基於所計算的第二位置資訊(例如,第二位置資訊532)來決定第二UV圖像,例如,第二UV圖像542。另外,本文的伺服器和客戶端設備亦可以基於所決定的第二UV圖像(例如,第二UV圖像542)來產生第三圖像網格,例如,第三網格550。
本文的伺服器和客戶端設備亦可以基於第三圖像網格(例如,第三網格550)和相機圖像(例如,相機圖像560)來計算第三位置資訊,例如,第三位置資訊562。此外,本文的伺服器和客戶端設備可以基於所計算的第三位置資訊(例如,第三位置資訊562)來決定顯示圖像,例如,顯示圖像570。在一些態樣,所產生的第三圖像網格(例如,第三網格550)可以與增強現實(AR)應用、擴展現實(XR)應用或虛擬實境(VR)應用中的至少一項相關聯。
本文的伺服器和客戶端設備亦可以基於第一位置資訊(例如,第一位置資訊730)來計算長度(X)、高度(Y)、深度(Z)(XYZ)位置資訊,例如,XYZ位置資訊734。本文的伺服器和客戶端設備亦可以基於所計算的XYZ位置資訊(例如,XYZ位置資訊734)來決定第一XYZ圖像,例如,第一XYZ圖像742。在一些態樣中,第二位置資訊(例如,第二位置資訊732)可以是基於第二圖像網格(例如,第二網格722)和所決定的第一XYZ圖像(例如,第一XYZ圖像742)來計算的。
此外,第二UV圖像可以是第二XYZ圖像,例如,第二XYZ圖像744。此外,可以基於第二XYZ圖像(例如,第二XYZ圖像744)和第一UV圖像(例如,第一UV圖像740)來產生第三圖像網格,例如,第三網格750。此外,XYZ位置資訊(例如,XYZ位置資訊734)可以是基於XYZ圖元位置資訊或XYZ紋理座標中的至少一項的。在一些態樣中,頭戴式耳機可以將圖像網格應用於相機圖像輸入。另外,一種裝置可以呈現包括相機和渲染器的圖像,其中可以將渲染器佈置為使用3D網格處理來自相機的圖像。在一些情況下,該裝置可以是頭戴式耳機。此外,第一圖像網格可以是基於設備的相機校準資料的。此外,可以根據例如用於將圖像從設備內的顯示器呈現給使用者的顯示鏡頭的顯示鏡頭校準資料來推導第二圖像網格。
圖8圖示根據本案內容的一或多個技術的示例性方法的示例性流程圖800。該方法可以由諸如頭戴式耳機、HMD、客戶端設備、伺服器、顯示處理單元、顯示處理器、CPU、GPU之類的裝置或用於顯示或圖形處理的裝置來執行。在802處,該裝置可以基於第一圖像來決定第一圖像資訊,如結合圖3-圖7中的實例描述的。
在804處,該裝置可以基於所決定的第一圖像資訊來產生第一圖像網格,如結合圖3-圖7中的實例描述的。在806處,該裝置亦可以基於第二圖像來決定第二圖像資訊,如結合圖3-圖7中的實例描述的。在808處,該裝置可以基於所決定的第二圖像資訊來產生第二圖像網格,如結合圖3-圖7中的實例描述的。
在810處,該裝置亦可以基於第一圖像網格來計算第一位置資訊,如結合圖3-圖7中的實例描述的。在一些態樣中,第一位置資訊可以是基於第一圖元位置資訊或第一UV紋理座標中的至少一項的,如結合圖3-圖7中的實例描述的。在812處,該裝置可以基於所計算的第一位置資訊來決定第一UV圖像,如結合圖3-圖7中的實例描述的。
在814處,該裝置可以基於第一位置資訊來計算長度(X)高度(Y)深度(Z)(XYZ)位置資訊,如結合圖3-圖7中的實例描述的。在816處,該裝置可以基於所計算的XYZ位置資訊來決定第一XYZ圖像,如結合圖3-圖7中的實例描述的。在一些態樣中,第二位置資訊可以是基於第二圖像網格和所決定的第一XYZ圖像來計算的,如結合圖3-圖7中的實例描述的。此外,第二UV圖像可以是第二XYZ圖像,如結合圖3-圖7中的實例描述的。此外,可以基於第二XYZ圖像和第一UV圖像來產生第三圖像網格,如結合圖3-圖7中的實例描述的。此外,XYZ位置資訊可以是基於XYZ圖元位置資訊或XYZ紋理座標中的至少一項的,如結合圖3-圖7中的實例描述的。
在818處,該裝置可以基於第二圖像網格和所決定的第一UV圖像來計算第二位置資訊,如結合圖3-圖7中的實例描述的。在一些態樣中,第二位置資訊可以是基於第二圖元位置資訊或第二UV紋理座標中的至少一項的,如結合圖3-圖7中的實例描述的。在820處,該裝置亦可以基於所計算的第二位置資訊來決定第二UV圖像,如結合圖3-圖7中的實例描述的。在822處,該裝置可以基於所決定的第二UV圖像來產生第三圖像網格,如結合圖3-圖7中的實例描述的。
在824處,該裝置可以基於第三圖像網格和相機圖像來計算第三位置資訊,如結合圖3-圖7中的實例描述的。在826處,該裝置可以基於所計算的第三位置資訊來決定顯示圖像,如結合圖3-圖7中的實例描述的。在一些態樣中,所產生的第三圖像網格可以與增強現實(AR)應用、擴展現實(XR)應用或虛擬實境(VR)應用中的至少一項相關聯,如結合圖3-圖7中的實例描述的。
在一種配置中,提供了一種用於圖形處理的方法或裝置。該裝置可以是頭戴式耳機、HMD、客戶端設備、伺服器、顯示處理單元、顯示處理器、CPU、GPU,或可以執行顯示或圖形處理的某個其他處理器。在一個態樣中,該裝置可以是設備104內的處理單元120,或者可以是設備104或另一設備內的某個其他硬體。該裝置可以包括用於基於第一圖像來決定第一圖像資訊的構件。該裝置可以包括用於基於所決定的第一圖像資訊來產生第一圖像網格的裝置。該裝置可以包括用於基於第二圖像來決定第二圖像資訊的構件。該裝置可以包括用於基於所決定的第二圖像資訊來產生第二圖像網格的構件。該裝置可以包括用於基於第一圖像網格來計算第一位置資訊的構件。該裝置可以包括用於基於所計算的第一位置資訊來決定第一UV圖像的構件。該裝置可以包括用於基於第二圖像網格和所決定的第一UV圖像來計算第二位置資訊的構件。該裝置可以包括用於基於所計算的第二位置資訊來決定第二UV圖像的構件。該裝置可以包括用於基於所決定的第二UV圖像來產生第三圖像網格的構件。該裝置可以包括用於基於第三圖像網格和相機圖像來計算第三位置資訊的構件。該裝置可以包括用於基於所計算的第三位置資訊來決定顯示圖像的構件。該裝置可以包括用於基於第一位置資訊來計算長度(X)高度(Y)深度(Z)(XYZ)位置資訊的構件。該裝置可以包括用於基於所計算的XYZ位置資訊來決定第一XYZ圖像的構件。
可以實現本文描述的標的,以實現一或多個益處或優點。例如,所描述的圖形處理技術可以由頭戴式耳機、HMD、客戶端設備、伺服器、顯示處理單元、顯示處理器、GPU、CPU或可以執行顯示或圖形處理以實現本文描述的鏡頭畸變校正技術的某個其他處理器使用。與其他顯示或圖形處理技術相比,此舉亦可以以低成本實現。此外,本文的顯示或圖形處理技術可以改良或加速資料處理或執行。此外,本文的顯示或圖形處理技術可以提高資源或資料利用率及/或資源效率。另外,本案內容的各態樣可以利用可以導致更快的渲染時間及/或減少的時延的鏡頭畸變校正過程。鏡頭畸變校正過程亦可以導致減少的GPU資料頻寬使用。另外,鏡頭畸變校正過程可以導致每個頂點和圖元的減少的GPU計算及/或減少的GPU紋理記憶體存取。鏡頭畸變校正過程亦可以導致提高的或更清晰的圖像品質。
根據本案內容,在上下文沒有另外規定的情況下,術語「或」可以被解釋為「及/或」。另外,儘管諸如「一或多個」或「至少一個」等的短語可能已經用於本文所揭示的一些特徵,而沒有用於其他特徵,但是未針對其使用此種語言的特徵可以被解釋為在上下文沒有另外規定的情況下暗示了此種含義。
在一或多個實例中,本文描述的功能可以用硬體、軟體、韌體或其任何組合來實現。例如,儘管已經在整個本案內容中使用了術語「處理單元」,但是此種處理單元可以用硬體、軟體、韌體或其任何組合來實現。若任何功能、處理單元、本文描述的技術或其他模組是用軟體來實現的,則任何功能、處理單元、本文描述的技術或其他模組可以作為一或多個指令或代碼儲存在電腦可讀取媒體上或者經由其進行傳輸。電腦可讀取媒體可以包括電腦資料儲存媒體或通訊媒體,該等通訊媒體包括促進將電腦程式從一個地方傳送到另一個地方的任何媒體。以此方式,電腦可讀取媒體通常可以對應於:(1)非暫時性的有形電腦可讀取儲存媒體,或者(2)諸如信號或載波之類的通訊媒體。資料儲存媒體可以是可以由一或多個電腦或者一或多個處理器存取以取得用於實現在本案內容中描述的技術的指令、代碼及/或資料結構的任何可用的媒體。經由舉例而非限制性的方式,此種電腦可讀取媒體可以包括RAM、ROM、EEPROM、CD-ROM或其他光碟儲存、磁碟儲存或其他磁儲存設備。如本文所使用的,磁碟和光碟可以包括壓縮光碟(CD)、鐳射光碟、光碟、數位多功能光碟(DVD)、軟碟和藍光光碟,其中磁碟通常磁性地複製資料,而光碟則利用鐳射來光學地複製資料。上述各項的組合亦應當被包括在電腦可讀取媒體的範疇之內。任何電腦程式產品可以包括電腦可讀取媒體。
代碼可以由一或多個處理器來執行,諸如一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、算數邏輯單位(ALU)、現場可程式設計邏輯陣列(FPGA),或其他等效的整合或個別邏輯電路系統。因此,如本文所使用的術語「處理器」可以代表前述結構中的任何一者或者適於實現本文描述的技術的任何其他結構。此外,該等技術可以完全在一或多個電路或邏輯元件中實現。
本案內容的技術可以在多種多樣的設備或裝置中實現,包括無線手機、積體電路(IC)或一組IC(例如,晶片組)。在本案內容中描述了各種元件、模組或單元以強調被配置以執行所揭示的技術的設備的功能性態樣,但是不一定需要經由不同的硬體單元來實現。確切而言,如前述,各種單元可以被組合在任何硬體單元中,或者由可交互操作的硬體單元的集合(包括如前述的一或多個處理器)結合適當的軟體及/或韌體來提供。
已經描述了各個實例。該等和其他實例在所附的請求項的範疇內。
100:內容產生系統
104:設備
107:圖形處理流水線
120:處理單元
121:內部記憶體
122:內容編碼器/解碼器
123:內部記憶體
124:系統記憶體
126:通訊介面
127:顯示處理器
128:接收器
130:傳輸器
131:顯示器
132:收發機
198:決定元件
200:GPU
210:命令處理器(CP)
212:繪製調用封包
220:VFD
222:VS
224:頂點快取記憶體(VPC)
226:三角形設置引擎(TSE)
228:光柵化器(RAS)
230:Z過程引擎(ZPE)
232:圖元內插器(PI)
234:片段著色器(FS)
236:渲染後端(RB)
238:L2快取記憶體(UCHE)
240:系統記憶體
250:命令緩衝器
260:上下文暫存器封包
261:上下文狀態
300:圖
310:相機校準資料
312:顯示鏡頭校準資料
320:三維(3D)網格
322:3D網格
330:相機圖像
340:第一渲染
342:第二渲染
350:經校正的相機圖像
352:經預校正的顯示圖像
360:顯示鏡頭
370:顯示圖像
400:圖
410:相機校準資料
412:顯示鏡頭校準資料
420:3D網格
430:相機圖像
440:第一渲染
452:經校正的顯示圖像
460:顯示鏡頭
470:顯示圖像
500:圖
510:第一圖像資訊
512:第二圖像資訊
520:第一網格
522:第二網格
530:第一位置資訊
532:第二位置資訊
540:第一UV圖像
542:第二UV圖像
550:第三網格
560:相機圖像
562:第三位置資訊
570:顯示圖像
600:圖
610:第一圖像資訊
612:第二圖像資訊
614:第三圖像資訊
616:第四圖像資訊
620:第一網格
622:第二網格
624:第三網格
626:第四網格
630:第一位置資訊
632:第二位置資訊
634:第三位置資訊
636:第四位置資訊
640:第一UV圖像
642:第二UV圖像
644:第三UV圖像
646:第四UV圖像
650:第五網格
660:相機圖像
662:第五位置資訊
670:顯示圖像
700:圖
710:第一圖像資訊
712:第二圖像資訊
720:第一網格
722:第二網格
730:第一位置資訊
732:第二位置資訊
734:XYZ位置資訊
740:第一UV圖像
742:第一XYZ圖像
744:第二XYZ圖像
750:第三網格
760:相機圖像
762:第三位置資訊
770:顯示圖像
800:流程圖
802:步驟
804:步驟
806:步驟
808:步驟
810:步驟
812:步驟
814:步驟
816:步驟
818:步驟
820:步驟
822:步驟
824:步驟
826:步驟
圖1是圖示根據本案內容的一或多個技術的示例性內容產生系統的方塊圖。
圖2圖示根據本案內容的一或多個技術的示例性GPU。
圖3圖示根據本案內容的一或多個技術的用於鏡頭畸變校正的示例性圖。
圖4圖示根據本案內容的一或多個技術的用於鏡頭畸變校正的示例性圖。
圖5圖示根據本案內容的一或多個技術的用於鏡頭畸變校正的示例性圖。
圖6圖示根據本案內容的一或多個技術的用於鏡頭畸變校正的示例性圖。
圖7圖示根據本案內容的一或多個技術的用於鏡頭畸變校正的示例性圖。
圖8圖示根據本案內容的一或多個技術的示例性方法的示例性流程圖。
國內寄存資訊(請依寄存機構、日期、號碼順序註記)
無
國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記)
無
800:流程圖
802:步驟
804:步驟
806:步驟
808:步驟
810:步驟
812:步驟
814:步驟
816:步驟
818:步驟
820:步驟
822:步驟
824:步驟
826:步驟
Claims (46)
- 一種顯示處理的方法,包括以下步驟: 基於一第一圖像網格來計算第一位置資訊; 基於所計算的該第一位置資訊來決定一第一水平(U)垂直(V)(UV)圖像; 基於一第二圖像網格和所決定的該第一UV圖像來計算第二位置資訊; 基於所計算的該第二位置資訊來決定一第二UV圖像;及 基於所決定的該第二UV圖像來產生一第三圖像網格。
- 根據請求項1之方法,亦包括以下步驟: 基於一第一圖像來決定第一圖像資訊。
- 根據請求項2之方法,亦包括以下步驟: 基於所決定的該第一圖像資訊來產生該第一圖像網格。
- 根據請求項1之方法,亦包括以下步驟: 基於一第二圖像來決定第二圖像資訊。
- 根據請求項4之方法,亦包括以下步驟: 基於所決定的該第二圖像資訊來產生該第二圖像網格。
- 根據請求項1之方法,亦包括以下步驟: 基於該第三圖像網格和一相機圖像來計算第三位置資訊。
- 根據請求項6之方法,亦包括以下步驟: 基於所計算的該第三位置資訊來決定一顯示圖像。
- 根據請求項1之方法,亦包括以下步驟: 基於該第一位置資訊來計算長度(X)高度(Y)深度(Z)(XYZ)位置資訊;及 基於所計算的該XYZ位置資訊來決定一第一XYZ圖像。
- 根據請求項8之方法,其中該第二位置資訊是基於該第二圖像網格和所決定的該第一XYZ圖像來計算的。
- 根據請求項9之方法,其中該第二UV圖像是一第二XYZ圖像。
- 根據請求項10之方法,其中該第三圖像網格是基於該第二XYZ圖像和該第一UV圖像來產生的。
- 根據請求項1之方法,其中該第一位置資訊是基於第一圖元位置資訊或第一UV紋理座標中的至少一項的。
- 根據請求項1之方法,其中該第二位置資訊是基於第二圖元位置資訊或第二UV紋理座標中的至少一項的。
- 根據請求項8之方法,其中該XYZ位置資訊是基於XYZ圖元位置資訊或XYZ紋理座標中的至少一項的。
- 根據請求項1之方法,其中所產生的該第三圖像網格與一增強現實(AR)應用、一擴展現實(XR)應用或一虛擬實境(VR)應用中的至少一項相關聯。
- 一種用於顯示處理的裝置,包括: 一記憶體;及 至少一個處理器,其耦合到該記憶體並且被配置為: 基於一第一圖像網格來計算第一位置資訊; 基於所計算的該第一位置資訊來決定一第一水平(U)垂直(V)(UV)圖像; 基於一第二圖像網格和所決定的該第一UV圖像來計算第二位置資訊; 基於所計算的該第二位置資訊來決定一第二UV圖像;及 基於所決定的該第二UV圖像來產生一第三圖像網格。
- 根據請求項16之裝置,其中該至少一個處理器亦被配置為: 基於一第一圖像來決定第一圖像資訊。
- 根據請求項17之裝置,其中該至少一個處理器亦被配置為: 基於所決定的該第一圖像資訊來產生該第一圖像網格。
- 根據請求項16之裝置,其中該至少一個處理器亦被配置為: 基於一第二圖像來決定第二圖像資訊。
- 根據請求項19之裝置,其中該至少一個處理器亦被配置為: 基於所決定的該第二圖像資訊來產生該第二圖像網格。
- 根據請求項16之裝置,其中該至少一個處理器亦被配置為: 基於該第三圖像網格和一相機圖像來計算第三位置資訊。
- 根據請求項21之裝置,其中該至少一個處理器亦被配置為: 基於所計算的該第三位置資訊來決定一顯示圖像。
- 根據請求項16之裝置,其中該至少一個處理器亦被配置為: 基於該第一位置資訊來計算長度(X)高度(Y)深度(Z)(XYZ)位置資訊;及 基於所計算的該XYZ位置資訊來決定一第一XYZ圖像。
- 根據請求項23之裝置,其中該第二位置資訊是基於該第二圖像網格和所決定的該第一XYZ圖像來計算的。
- 根據請求項24之裝置,其中該第二UV圖像是一第二XYZ圖像。
- 根據請求項25之裝置,其中該第三圖像網格是基於該第二XYZ圖像和該第一UV圖像來產生的。
- 根據請求項16之裝置,其中該第一位置資訊是基於第一圖元位置資訊或第一UV紋理座標中的至少一項的。
- 根據請求項16之裝置,其中該第二位置資訊是基於第二圖元位置資訊或第二UV紋理座標中的至少一項的。
- 根據請求項23之裝置,其中該XYZ位置資訊是基於XYZ圖元位置資訊或XYZ紋理座標中的至少一項的。
- 根據請求項16之裝置,其中所產生的該第三圖像網格與一增強現實(AR)應用、一擴展現實(XR)應用或一虛擬實境(VR)應用中的至少一項相關聯。
- 一種用於顯示處理的裝置,包括: 用於基於一第一圖像網格來計算第一位置資訊的構件; 用於基於所計算的該第一位置資訊來決定一第一水平(U)垂直(V)(UV)圖像的構件; 用於基於一第二圖像網格和所決定的該第一UV圖像來計算第二位置資訊的構件; 用於基於所計算的該第二位置資訊來決定一第二UV圖像的構件;及 用於基於所決定的該第二UV圖像來產生一第三圖像網格的構件。
- 根據請求項31之裝置,亦包括: 用於基於一第一圖像來決定第一圖像資訊的構件。
- 根據請求項32之裝置,亦包括: 用於基於所決定的該第一圖像資訊來產生該第一圖像網格的構件。
- 根據請求項31之裝置,亦包括: 用於基於一第二圖像來決定第二圖像資訊的構件。
- 根據請求項34之裝置,亦包括: 用於基於所決定的該第二圖像資訊來產生該第二圖像網格的構件。
- 根據請求項31之裝置,亦包括: 用於基於該第三圖像網格和一相機圖像來計算第三位置資訊的構件。
- 根據請求項36之裝置,亦包括: 用於基於所計算的該第三位置資訊來決定一顯示圖像的構件。
- 根據請求項31之裝置,亦包括: 用於基於該第一位置資訊來計算長度(X)高度(Y)深度(Z)(XYZ)位置資訊的構件;及 用於基於所計算的該XYZ位置資訊來決定一第一XYZ圖像的構件。
- 根據請求項38之裝置,其中該第二位置資訊是基於該第二圖像網格和所決定的該第一XYZ圖像來計算的。
- 根據請求項39之裝置,其中該第二UV圖像是一第二XYZ圖像。
- 根據請求項40之裝置,其中該第三圖像網格是基於該第二XYZ圖像和該第一UV圖像來產生的。
- 根據請求項31之裝置,其中該第一位置資訊是基於第一圖元位置資訊或第一UV紋理座標中的至少一項的。
- 根據請求項31之裝置,其中該第二位置資訊是基於第二圖元位置資訊或第二UV紋理座標中的至少一項的。
- 根據請求項38之裝置,其中該XYZ位置資訊是基於XYZ圖元位置資訊或XYZ紋理座標中的至少一項的。
- 根據請求項31之裝置,其中所產生的該第三圖像網格與一增強現實(AR)應用、一擴展現實(XR)應用或一虛擬實境(VR)應用中的至少一項相關聯。
- 一種儲存用於顯示處理的電腦可執行代碼的電腦可讀取媒體,該代碼在由一處理器執行時使得該處理器進行以下操作: 基於一第一圖像網格來計算第一位置資訊; 基於所計算的該第一位置資訊來決定一第一水平(U)垂直(V)(UV)圖像; 基於一第二圖像網格和所決定的該第一UV圖像來計算第二位置資訊; 基於所計算的該第二位置資訊來決定一第二UV圖像;及 基於所決定的該第二UV圖像來產生一第三圖像網格。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962914379P | 2019-10-11 | 2019-10-11 | |
US62/914,379 | 2019-10-11 | ||
US16/813,534 | 2020-03-09 | ||
US16/813,534 US11610372B2 (en) | 2019-10-11 | 2020-03-09 | Methods and apparatus for multiple lens distortion correction |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202129599A true TW202129599A (zh) | 2021-08-01 |
Family
ID=75383788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109131477A TW202129599A (zh) | 2019-10-11 | 2020-09-14 | 用於多鏡頭畸變校正的方法和裝置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11610372B2 (zh) |
EP (1) | EP4042365A1 (zh) |
CN (1) | CN114503150A (zh) |
TW (1) | TW202129599A (zh) |
WO (1) | WO2021071633A1 (zh) |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6204857B1 (en) * | 1998-04-16 | 2001-03-20 | Real 3-D | Method and apparatus for effective level of detail selection |
WO2016138043A1 (en) * | 2015-02-24 | 2016-09-01 | NextVR, Inc. | Calibration for immersive content systems |
US9894350B2 (en) | 2015-02-24 | 2018-02-13 | Nextvr Inc. | Methods and apparatus related to capturing and/or rendering images |
CN107850777B (zh) | 2015-04-22 | 2021-10-22 | 易赛特股份有限公司 | 光学像差校正的方法和装置 |
US10043305B2 (en) | 2016-01-06 | 2018-08-07 | Meta Company | Apparatuses, methods and systems for pre-warping images for a display system with a distorting optical component |
CN110268450B (zh) * | 2017-02-13 | 2022-12-20 | 索尼公司 | 图像处理装置和图像处理方法 |
US10567733B2 (en) * | 2017-03-06 | 2020-02-18 | Nextvr Inc. | Methods and apparatus for communicating and/or using frames including a captured image and/or including additional image content |
CN108632589A (zh) * | 2017-03-15 | 2018-10-09 | 株式会社理光 | 信息处理装置、摄像系统以及记录介质 |
US10269148B2 (en) * | 2017-05-01 | 2019-04-23 | Lockheed Martin Corporation | Real-time image undistortion for incremental 3D reconstruction |
GB201713052D0 (en) | 2017-08-15 | 2017-09-27 | Imagination Tech Ltd | Single pass rendering for head mounted displays |
US10403032B2 (en) | 2017-08-22 | 2019-09-03 | Qualcomm Incorporated | Rendering an image from computer graphics using two rendering computing devices |
US10313653B1 (en) | 2017-11-15 | 2019-06-04 | Secret Location Inc. | Systems and methods for procedural rendering of cinematic virtual reality content |
CA3088376A1 (en) | 2018-01-14 | 2019-07-18 | Light Field Lab, Inc. | System and methods for rendering data from a 3d environment |
US10477186B2 (en) * | 2018-01-17 | 2019-11-12 | Nextvr Inc. | Methods and apparatus for calibrating and/or adjusting the arrangement of cameras in a camera pair |
WO2021062240A1 (en) * | 2019-09-27 | 2021-04-01 | Nevermind Capital Llc | Methods and apparatus for encoding frames captured using fish-eye lenses |
-
2020
- 2020-03-09 US US16/813,534 patent/US11610372B2/en active Active
- 2020-09-14 TW TW109131477A patent/TW202129599A/zh unknown
- 2020-09-14 WO PCT/US2020/050743 patent/WO2021071633A1/en unknown
- 2020-09-14 EP EP20781666.1A patent/EP4042365A1/en active Pending
- 2020-09-14 CN CN202080069921.7A patent/CN114503150A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11610372B2 (en) | 2023-03-21 |
CN114503150A (zh) | 2022-05-13 |
WO2021071633A1 (en) | 2021-04-15 |
US20210110611A1 (en) | 2021-04-15 |
EP4042365A1 (en) | 2022-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6333405B2 (ja) | 曲面ビューポート上に頂点の投影を近似することによる、グラフィックス処理における画面位置に基づく有効解像度の変化 | |
US9582922B2 (en) | System, method, and computer program product to produce images for a near-eye light field display | |
US10403029B2 (en) | Methods and systems for multistage post-rendering image transformation | |
TW202201350A (zh) | 用於增強現實的多層重投影技術 | |
KR20220047284A (ko) | 포비티드 렌더링을 위한 시스템들 및 방법들 | |
KR20090079241A (ko) | 공유된 산술 논리 유닛을 구비한 그래픽 처리 유닛 | |
US11468629B2 (en) | Methods and apparatus for handling occlusions in split rendering | |
CN113302658A (zh) | 并行纹理采样 | |
TW202240539A (zh) | 注視點渲染中的內容移動 | |
TW202129599A (zh) | 用於多鏡頭畸變校正的方法和裝置 | |
US11257277B2 (en) | Methods and apparatus to facilitate adaptive texture filtering | |
TW202137141A (zh) | 用於邊緣壓縮抗混疊的方法和裝置 | |
CN115298699A (zh) | 使用阴影信息进行渲染 | |
TW202111663A (zh) | 用於高效的運動估計的方法和裝置 | |
US20230101978A1 (en) | Meshlet shading atlas | |
US11875452B2 (en) | Billboard layers in object-space rendering | |
US20220392109A1 (en) | Methods and apparatus for dynamic distortion correction | |
US20240212257A1 (en) | Workload packing in graphics texture pipeline | |
WO2023055655A1 (en) | Meshlet shading atlas | |
TW202311940A (zh) | 基於圖塊的結構中深度和陰影遍歷渲染的最佳化 | |
TW202134996A (zh) | 用於減少渲染資訊的傳輸的方法和裝置 | |
KR20240093463A (ko) | 메시릿 셰이딩 아틀라스 | |
TW202334803A (zh) | 支持改變視向的記憶體結構 |