TW202025088A - 用於遠端呈現虛擬實境之異步空間翹曲 - Google Patents
用於遠端呈現虛擬實境之異步空間翹曲 Download PDFInfo
- Publication number
- TW202025088A TW202025088A TW108132645A TW108132645A TW202025088A TW 202025088 A TW202025088 A TW 202025088A TW 108132645 A TW108132645 A TW 108132645A TW 108132645 A TW108132645 A TW 108132645A TW 202025088 A TW202025088 A TW 202025088A
- Authority
- TW
- Taiwan
- Prior art keywords
- graphic content
- motion
- information
- motion information
- grid points
- Prior art date
Links
- 230000033001 locomotion Effects 0.000 claims abstract description 359
- 238000012545 processing Methods 0.000 claims abstract description 80
- 238000000034 method Methods 0.000 claims abstract description 79
- 239000013598 vector Substances 0.000 claims description 246
- 238000013507 mapping Methods 0.000 claims description 19
- 238000005070 sampling Methods 0.000 claims description 17
- 238000005516 engineering process Methods 0.000 description 29
- 238000001914 filtration Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 13
- 238000013213 extrapolation Methods 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 230000003068 static effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 1
- YMHOBZXQZVXHBM-UHFFFAOYSA-N 2,5-dimethoxy-4-bromophenethylamine Chemical compound COC1=CC(CCN)=C(OC)C=C1Br YMHOBZXQZVXHBM-UHFFFAOYSA-N 0.000 description 1
- 241000545067 Venus Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer 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
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/18—Image warping, e.g. rearranging pixels individually
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
- A63F13/428—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/355—Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/248—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
本發明係關於用於圖形處理之方法及設備。在一些態樣中,該設備可藉由一第一裝置自一第二裝置接收對應於該第二裝置之一第一定向的第一方位資訊。該設備亦可藉由該第一裝置基於該第一方位資訊產生第一圖形內容。此外,該設備亦可藉由該第一裝置產生用於翹曲該第一圖形內容之運動資訊。該設備亦可藉由該第一裝置編碼該第一圖形內容。另外,該設備可藉由該第一裝置將該運動資訊及該經編碼第一圖形內容提供至該第二裝置。
Description
本發明大體上係關於處理系統,且更特定而言,係關於用於處理系統中之圖形處理的一或多種技術。
計算裝置常常利用圖形處理單元(GPU)來加速供顯示之圖形資料的顯現。此類計算裝置可包括例如電腦工作台、諸如所謂的智慧型電話之行動電話、嵌入式系統、個人電腦、平板電腦及視訊遊戲控制台。GPU執行圖形處理管線,該圖形處理管線包括一起操作以執行圖形處理命並輸出圖框之一或多個處理階段。中央處理單元(CPU)可藉由向GPU發出一或多個圖形處理命令來控制GPU之操作。現代CPU通常能夠同時執行多個應用程式,每一應用程式在執行期間可能需要利用GPU。提供內容以供視覺呈現於顯示器上的裝置一般包括GPU。
通常,裝置之GPU經組態以執行圖形處理管線中之處理程序。然而,隨著無線通信及較小手持型裝置之出現,對經改良圖形處理之需求已經增大。
以下呈現一或多個態樣之簡化概述,以提供對此等態樣之基本理解。本概述並非所有所涵蓋的態樣之廣泛綜述,且既不意欲識別全部態樣之關鍵或決定性要素,亦不意欲劃定任何或所有態樣之範圍。其唯一目的為以簡化形式呈現一或多個態樣之一些概念,作為稍後所呈現的更為具體之實施方式的序言。
在本發明之一態樣中,提供一種方法、一種電腦可讀媒體及一種第一設備。該設備可為一圖形處理單元(GPU)。在一些態樣中,該設備可經組態以藉由一第一裝置自一第二裝置接收對應於該第二裝置之一第一定向的第一方位資訊。該設備亦可經組態以藉由該第一裝置基於該第一方位資訊產生第一圖形內容。另外,該設備可經組態以藉由該第一裝置產生用於翹曲該第一圖形內容之運動資訊。該設備可進一步經組態以藉由該第一裝置編碼該第一圖形內容。又,該設備可經組態以藉由該第一裝置將該運動資訊及該經編碼第一圖形內容提供至該第二裝置。
在本發明之另一態樣中,提供一種方法、一種電腦可讀媒體及一種第一設備。該設備可為一GPU。在一些態樣中,該設備可經組態以藉由一第一裝置將對應於該第一裝置之一第一定向的第一方位資訊提供至一第二裝置。該設備亦可經組態以藉由該第一裝置自該第二裝置接收基於該第一方位資訊產生之經編碼第一圖形內容。此外,該設備可經組態以藉由該第一裝置自該第二裝置接收運動資訊。該設備可經組態以藉由該第一裝置解碼該經編碼第一圖形內容以產生經解碼第一圖形內容。又,該設備可經組態以藉由該第一裝置基於該運動資訊翹曲該經解碼第一圖形內容。
下文在附圖及描述中闡述本發明之一或多個實例的細節。本發明之其他特徵、目標及優勢將自描述及圖式及申請專利範圍而顯而易見。
對相關申請案之交叉參考
本申請案主張標題為「ASYNCHRONOUS SPACE WARP FOR REMOTELY RENDERED VR」且在2018年9月27日申請的印度臨時申請案第201841036547號,及標題為「ASYNCHRONOUS SPACE WARP FOR REMOTELY RENDERED VR」且在2019年5月20日申請的美國專利申請案第16/417,483號之權益,該等申請案明確地以全文引用之方式併入本文中。
下文中參看隨附圖式更全面描述系統、設備、電腦程式產品及方法之各種態樣。然而,可以許多不同形式體現本發明,且不應將本發明解釋為限於貫穿本發明所呈現之任何特定結構或功能。實情為,提供此等態樣,使得本發明將為透徹且完整的,且將向熟習此項技術者充分傳達本發明之範疇。基於本文中之教示,熟習此項技術者應瞭解本發明之範疇意欲涵蓋獨立於本發明之其他態樣抑或與本發明之其他態樣組合而實施的本文所揭示之系統、設備、電腦程式產品及方法的任一態樣。舉例而言,可使用本文中所闡明之任何數目個態樣來實施設備或可使用本文中所闡明之任何數目個態樣來實踐方法。此外,本發明之範疇意欲涵蓋使用除本文中所闡述之本發明之各種態樣之外的或不同於本文中所闡述之本發明之各種態樣的其他結構、功能性,或結構與功能性來實踐的此設備或方法。本文所揭示之任一態樣可藉由申請專利範圍之一或多個要素體現。
儘管本文中描述各種態樣,但此等態樣之許多變化及排列屬於本發明之範疇內。雖然提及本發明之態樣的一些潛在益處及優點,但本發明之範疇並非意欲限制於特定益處、用途或目標。實情為,本發明之態樣意欲廣泛適用於不同的無線技術、系統組態、網路及傳輸協定,其中之一些在諸圖中及在以下描述中借助於實例加以說明。實施方式及圖式僅說明本發明而非限制本發明,本發明之範疇由所附申請專利範圍及其均等物來界定。
參考各種設備及方法來呈現若干態樣。藉由各種區塊、組件、電路、程序、演算法等(統稱為「元件」)將此等設備及方法在以下詳細描述中加以描述並在附圖中進行說明。此等元件可使用電子硬體、電腦軟體或其任何組合來予以實施。是否將此等元件實施為硬體或軟體取決於特定應用程式及強加於整個系統上之設計約束。
借助於實例,元件或元件之任何部分或元件之任何組合可被實施為包括一或多個處理器(其亦可被稱為處理單元)之「處理系統」。處理器之實例包括微處理器、微控制器、圖形處理單元(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及系統記憶體124。在一些態樣中,裝置104可包括數個可選組件,例如通信介面126、收發器132、接收器128、傳輸器130、顯示處理器127及一或多個顯示器131。對顯示器131之參考可指一或多個顯示器131。舉例而言,顯示器131可包括單個顯示器或多個顯示器。顯示器131可包括第一顯示器及第二顯示器。第一顯示器可為左眼顯示器,且第二顯示器可為右眼顯示器。在一些實例中,第一及第二顯示器可接收不同圖框,以供於其上呈現。在其他實例中,第一及第二顯示器可接收相同圖框,以供於其上呈現。在另一實例中,圖形處理之結果可能不會顯示於裝置上,第一及第二顯示器可能不會接收任何圖框以供於其上呈現。實際上,圖框或圖形處理結果可傳送至另一裝置。在一些態樣中,此可被稱作分裂顯現。
處理單元120可包括內部記憶體121。處理單元120可經組態以諸如在圖形處理管線107中執行圖形處理。在一些實例中,裝置104可包括顯示處理器,諸如顯示處理器127,以在藉由一或多個顯示器131呈現之前對藉由處理單元120產生之一或多個圖框執行一或多個顯示處理技術。顯示處理器127可經組態以執行顯示處理。舉例而言,顯示處理器127可經組態以對藉由處理單元120產生之一或多個圖框執行一或多個顯示處理技術。一或多個顯示器131可經組態以顯示或以其他方式呈現藉由顯示處理器127處理之圖框。在一些實例中,一或多個顯示器131可包括以下各項中之一或多者:液晶顯示器(LCD)、電漿顯示器、有機發光二極體(OLED)顯示器、投影顯示裝置、擴增實境顯示裝置、虛擬實境顯示裝置、頭戴式顯示器,或任何其他類型的顯示裝置。
位於處理單元120外部的記憶體,諸如系統記憶體124,可為可存取至處理單元120。舉例而言,處理單元120可經組態以自外部記憶體讀取及/或寫入至外部記憶體,諸如系統記憶體124。處理單元120可經由匯流排以通信方式耦接至系統記憶體124。在一些實例中,處理單元120可經由匯流排或不同連接以通信方式耦接至彼此。
內部記憶體121或系統記憶體124可包括一或多個揮發性或非揮發性記憶體或儲存裝置。在一些實例中,內部記憶體121或系統記憶體124可包括RAM、SRAM、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,且可使用一或多個處理器執行硬體中之指令以執行本發明之技術。前述各者(包括硬體、軟體、硬體與軟體之組合等)中之任一者可被視為一或多個處理器。
在一些態樣中,內容產生系統100可包括可選通信介面126。通信介面126可包括接收器128及傳輸器130。接收器128可經組態以執行本文中關於裝置104所描述之任何接收功能。另外,接收器128可經組態以自另一裝置接收資訊,例如,眼睛或頭部位置資訊、顯現命令或位置資訊。傳輸器130可經組態以執行本文中關於裝置104所描述之任何傳輸功能。舉例而言,傳輸器130可經組態以將資訊傳輸至另一裝置,該資訊可包括對內容之請求。接收器128及傳輸器130可組合為收發器132。在此等實例中,收發器132可經組態以執行本文中關於裝置104所描述之任何接收功能及/或傳輸功能。
再次參看圖1,在某些態樣中,圖形處理管線107可包括經組態以接收對應於第一裝置之第一定向之第一方位資訊的判定組件198。判定組件198亦可經組態以基於第一方位資訊產生第一圖形內容。另外,判定組件198可經組態以產生用於翹曲第一圖形內容之運動資訊。判定組件198亦可經組態以編碼第一圖形內容。此外,判定組件198可經組態以例如藉由第一裝置將運動資訊及經編碼第一圖形內容提供至第二裝置。
如本文所描述,諸如裝置104之一裝置可指經組態以執行本文中所描述之一或多種技術的任何裝置、設備或系統。舉例而言,一裝置可為一伺服器、基地台、使用者設備、用戶端裝置、站台、存取點、電腦(例如,個人電腦、桌上型電腦、膝上型電腦、平板電腦、電腦工作站或大型電腦)、最終產物、設備、電話、智慧型電話、伺服器、視訊遊戲平台或控制台、手持型裝置(例如,攜帶型視訊遊戲裝置或個人數位助理(PDA))、可穿戴計算裝置(例如智慧型手錶)、擴增實境裝置或虛擬實境裝置、非可穿戴式裝置、顯示器或顯示裝置、電視、電視機上盒、中間網絡裝置、數位媒體播放器、視訊串流裝置、內容串流傳輸裝置、車載電腦、任何行動裝置、經組態以產生圖形內容之任何裝置,或經組態以執行本文中所描述之一或多種技術的任何裝置。
在遠端顯現之虛擬實境(RVR)及其他遊戲應用程式中,存在產生內容之伺服器或遊戲引擎,及根據該內容執行之裝置或用戶端。在一些情況下,用戶端可將姿態發送至伺服器,且伺服器可將圖框傳輸回用戶端。在一些此等例項中,在伺服器將圖框發送回用戶端時,用戶端可能已繼續進行至另一姿態。此可使得難以在用戶端側預測移動。在一些態樣中,遊戲引擎或伺服器可基於自用戶端或頭戴式裝置(HMD)中之頭部追蹤組件接收的頭部姿態顯現眼睛緩衝圖框,且將此圖框傳輸回HMD以供顯示。
諸如異步時間翹曲(ATW)之技術可用以翹曲眼睛緩衝區至HMD之當前姿態,其由此可降低對潛時或抖動(例如搖動或振動)的感知。然而,在一些情況下,此可僅僅在靜態場景中起作用。在一些態樣中,每當用戶端獲得自伺服器返回的圖框時,用戶端可藉由將所接收圖框與正確姿態對準,嘗試預測未來內容。此可減小用戶端側所經歷的潛時。異步空間翹曲(ASW)可藉由基於運動向量另外將眼睛緩衝區中的具有運動之區段外插為經更新位置,來克服ATW之侷限性。藉此,此可進一步減少移動物件的抖動。另外,運動向量可用以藉由預測物件將如何移動而減少抖動。
圖2A及圖2B說明根據本發明之翹曲技術200及250之實例。舉例而言,ATW可使得頭部追蹤顯現平穩,但框間動畫可具有抖動。ASW可使得頭部追蹤及物件動畫兩者平穩。舉例而言,圖2A及圖2B說明在無攝影機或頭部運動的情況下球以恆定速度豎直下降的場景中的ATW與ASW之間的差異。在使用ATW的情況下,圖框可以30 Hz顯現(例如,圖框202及206),且用以翹曲至顯示位姿(例如,圖框204及208)。在此實例中,在可能不存在攝影機運動的條件下,ATW可導致所顯示圖框為最後所接收圖框之簡單拷貝,此會導致序列抖動。ASW可幫助使得物件運動平穩且顯示最小抖動,例如,如圖框252、254、256及258中所示。ASW亦可使用藉由遊戲引擎產生之精確運動向量,以幫助理解物件之運動。舉例而言,在分裂顯現情境中,針對在所顯現圖框上重疊之點的網格傳輸運動向量。在一些態樣中,可藉由外插運動向量,藉由翹曲最後所接收者獲得ASW中之所顯示圖框。
圖3說明根據本發明之ASW技術300之實例。在圖3中所示之實例中,前景物件在具有靜止紋理化背景之場景中向右移動(例如,分別如在時間T-2、T-1、T、T+1及T+2下的圖框302、304、306、308及310中所示)。在場景中,攝影機係靜止的,例如,不存在旋轉或平移。又,圖框可藉由遊戲引擎或伺服器以30圖框每秒(FPS)顯現。用戶端處的ASW可「於其間」產生圖框以將FPS增加取樣兩倍。因此,所得圖框可按60 FPS顯示。為了實現此情況,ASW可使用場景之運動向量,且將其外插至顯示姿態。經外插運動向量幫助指示物件將位於何處而使得圖框得以顯現。
圖4A及圖4B分別說明實例400及450,該等實例說明當根據本發明將ASW技術應用於圖形內容時可能產生的問題。更特定言之,圖4A及圖4B展示傳統ASW技術之假影的一個實例。該假影看起來像深度衝突(z-fighting),其可在相對於攝影機以類似深度顯現兩個或更多個物件時出現於圖形內容中。舉例而言,如圖4A中所示,均位於靜態紋理化背景中的向右移動之前景物件及向左移動之背景物件可產生類似深度衝突之假影。在此實例中,攝影機可為靜態的。在一些態樣中,可考慮一組經取樣網格點,且僅僅使用經取樣位置處的運動向量外插顯示姿態(例如,某些網格點)。相鄰經取樣點上的經外插運動向量可位於具有相反運動之物件上,此意味著經外插運動向量面臨衝突。如圖4B中所示,相反運動向量會在翹曲期間形成三角形以重疊在彼此之上。舉例而言,每一網格正方形被劃分成兩個三角形,且三角形可進行翹曲且使用用戶端GPU上的片段著色器著色。由於用戶端可僅僅具有視訊圖框及運動向量,但沒有深度資料,因此用戶端GPU可能不會區分前景與背景。就此而論,此會導致GPU按其進行處理之次序翹曲三角形。此可被稱作類似深度衝突之假影。
圖5說明內容產生與寫碼系統500之實例。更特定言之,圖5展示依賴於用戶端側之運動向量產生的習知ASW產生與寫碼系統之一個實例。如圖5中所示,系統500包括伺服器502及用戶端504。伺服器502包括顯現器510及編碼器514。用戶端504包括解碼單元516、經解碼圖框518、頭部追蹤系統520、緩衝區530、ATW單元540、運動向量計算單元550、運動向量濾波與外插單元560、翹曲單元570及顯示器580。系統500亦包括經顯現圖框512、姿態522、最新姿態524、先前圖框及姿態532 (例如,儲存於緩衝區530中之先前顯現圖框及對應姿態534)、對準至經顯現姿態之先前圖框542、引擎552 (例如,維納斯引擎),及翹曲圖框572。
在圖5中之實例中,伺服器502可產生對應於所接收姿態522之眼睛緩衝區,且將圖框傳輸至HMD或用戶端504。用戶端504可將先前顯現之位姿及圖框儲存於緩衝區530中。在一些情況下,ATW單元540可將先前圖框與經顯現位姿對準,且可在用戶端處在點之網格上計算所接收圖框與經對準先前圖框之間的運動向量。由於用戶端504可能不會具有關於場景之幾何資訊,因此可藉由可將當前所接收圖框與先前所接收圖框進行比較的電腦演算法判定運動向量,亦即,藉由影像比較。在一些態樣中,儲存先前經解碼圖框,可在其上計算運動向量。由於用於所顯示圖框之當前姿態可不同於最後所接收圖框之姿態,因此可將運動向量外插至當前姿態。此外,可濾波且外插所計算網格運動向量以獲得最新顯示姿態,且將其施加至所接收圖框上的頂點網格。經外插頂點亦可使用單應性倍增,以與最新顯示姿態對準。又,片段著色器可產生最終所顯示圖框,其可出現於用戶端末端上。
運動向量可藉由電腦演算法產生,該等演算法經由補片匹配或光學流將最後所接收圖框及先前所對準圖框進行比較,其對於複雜場景可能並不可靠。舉例而言,稀疏紋理化區域或具有重複圖案之區域中的雜散補片匹配可能產生不正確的運動向量。此會在物件之邊緣附近造成物件失真及抖動。舉例而言,若翹曲係使用不正確運動向量實現,則可產生不正確或失真的物件。在即時應用程式中使用可禁止電腦或計算引擎將複雜方法用於運動向量計算。在ASW中,可能僅僅存在關於圖框中之不同區域之運動的資訊,因此可能不存在深度或前景及背景之概念。當運動為使得前景物件在其背景上滑動時,在一些情況下,ASW可能無法解決所造成阻塞。因此在翹曲三角形之程序中,若前景位於背景上方,但背景中之一些其他三角形位於前部,則視GPU處置三角形之次序而定,此會造成類似深度衝突之假影,如上文所提及。若運動向量使用2D濾波器修勻,則可避免上述類似深度衝突之假影,從而鄰近頂點之間的運動向量之較大差異可減少。舉例而言,類似深度衝突之假影可藉由濾波消除。然而,濾波會導致移動物件之運動擴散至推測為靜止的相鄰區域。此情況之結果可拉伸且變形。
另外,上述網格之大小亦可影響前景物件失真,例如,將16×16網格與4×4網格進行比較。隨著網格大小減小,深度衝突假影亦可減少,但拉伸可相對應地增加。較大網格大小可相較於較小網格大小造成更明顯失真,但導致類似深度衝突之假影顯著減少。在另一方面,較小網格大小可減少物件失真或拉伸,但增加類似深度衝突之假影。此情況之原因在於較小網格大小可意謂著拉伸受限於小網格面積,且亦意謂較高數目個三角形上出現重疊。
如在本文中所提及,可唯一地在HMD或用戶端側上執行的ASW方法,亦即,若針對頂點外插之運動向量產生、濾波及利用皆出現在HMD上,則翹曲之品質可受計算複雜度限制。此外,濾波器、運動向量之次佳選擇,及缺少深度可導致失真、殘餘抖動及深度衝突假影。由於用戶端側通常即時地運行遊戲或程式,因此本發明之一些態樣可在伺服器側計算運動向量。本發明之一些態樣可在RVR上下文中利用ASW之高效架構,其中可經由實施於伺服器末端上的複雜操作最佳地判定影響翹曲品質之參數(例如,運動向量、網格大小、濾波器核心)的選擇。此可幫助用戶端側增加經改良效能,此係因為不需要在用戶端末端執行複雜操作。舉例而言,在一些態樣中,僅僅可在HMD或用戶端側上執行運用經預處理翹曲向量的外插之最終頂點著色操作。此技術可顯著減小翹曲後假影之機率,以及實現輕型且高效功率的用戶端設計。
本發明之一些態樣可利用ASW之分裂架構,其中安排在伺服器末端處進行運動向量之產生。此會導致精確及無雜訊之實施。在此等例項中,用戶端末端可實施外插步驟,且翹曲至最新顯示姿態。在此分裂架構之一些態樣中,可在發送至HMD或用戶端之前藉由利用深度資訊在伺服器處將運動向量濾波。在一些態樣中,可經由濾波器核心之複雜的空間及時間自適應將運動向量濾波。另外,本文中之方法亦可使用藉由遊戲引擎產生之物件分段資料來調適用於取樣頂點之網格大小以減小失真。
圖6說明根據本發明之技術的內容產生與寫碼系統600之另一實例。如圖6中所示,系統600包括伺服器602及用戶端604。伺服器602包括顯現器610及樣本運動向量630。用戶端604包括頭部追蹤系統620、解碼器及運動向量剖析單元640、運動向量濾波與外插單元650、翹曲單元660及顯示器670。系統600亦包括運動向量612、經顯現圖框614、經編碼運動向量616、姿態622、最新姿態624、經取樣運動向量632、運動向量642、經解碼圖框644、經翹曲向量652及經翹曲圖框662。
如圖6中所示,可在伺服器602處產生運動向量且取樣,且被發送至用戶端604。因此,在一些態樣中,整個運動向量生產可位於伺服器602上。如上文所解釋,此操作以此方式執行,因為用戶端604可使用大量功率運行應用程式或遊戲。又,若伺服器602或遊戲引擎瞭解下一運動之位置,則在伺服器602處產生運動向量可更精確。如圖6中之實例中所示,可在網格形成物中取樣運動向量,且接著將其發送至用戶端604。在接收運動向量之後,用戶端604可解碼、外插且執行翹曲。
在一些態樣中,藉由伺服器或遊戲引擎產生的每像素運動向量可為無雜訊且精確的,此係因為其可包括場景之完整3D幾何結構。又,可在無任何額外負擔的情況下產生來自伺服器602或遊戲引擎之運動向量,其可導致FPS未減少。在其他態樣中,如圖6中所示,運動向量產生之複雜度可移動至伺服器602,其導致用戶端末端上計算較少及更多的功率益處。在此等例項中,可避免用戶端末端上的複雜濾波方法。在又其他例項中,本發明可包括偵測其他遠端VR架構是否將遊戲引擎運動向量用於翹曲的態樣。舉例而言,本發明可產生具有平面物件之場景,其具有重複圖案。利用補片相關性或光學流技術的所產生運動向量可產生有雜訊運動向量。運用此等有雜訊運動向量的此翹曲可產生假影。在一些態樣中,即使假影經濾波,濾波核心亦可引入修勻且因此引入失真。在其他態樣中,若重複圖案未失真,則其很可能使用遊戲引擎運動向量。
圖7說明根據本發明之技術的內容產生與寫碼系統700之另一實例。如圖7中所示,系統700包括伺服器702及用戶端704。伺服器702包括顯現器710、姿態預測符730、基於深度之重新投影單元740、修改單元742 (例如,其中經遮擋運動向量被修改以避免深度衝突),及經濾波運動向量744。用戶端704包括頭部追蹤系統720、解碼器及運動向量剖析單元750、運動向量濾波與外插單元760、翹曲單元770及顯示器780。系統700亦包括姿態722、經顯現圖框712、運動向量714、經取樣運動向量716、z映射718、最新姿態724、經預測顯示姿態732、經外插運動向量748、經編碼運動向量746、運動向量752、經解碼圖框754、經翹曲向量762及經翹曲圖框772。
在一些態樣中,圖7中所示之實例可建置於圖6中之實例上,例如,運動向量產生可在伺服器702上進行。在一些情況下,儘管運動向量可無雜訊,但可能存在一個物件之例子進入另一物件之後。此可影響場景中之深度的準確性。舉例而言,不管接收精確及無雜訊運動向量如何,仍可需要執行濾波以移除深度衝突假影且減少失真。因此,在一些態樣中,可同樣將濾波步驟移動至伺服器702。在一些態樣中,場景之每像素深度映射在伺服器處的可用性可為優點,此係因為可適當地處置運動向量以避免類似深度衝突之假影。
在其他態樣中,本發明可在圖框很可能顯示於用戶端或HMD上時預測一姿態。此可基於網路潛時或其他因素。因此,顯現器710可預測用戶端704上將為什麼姿態722。亦即,顯現器可預測圖框將會在何時顯示於用戶端末端上,其可基於網路潛時或一些先前歷史。經預測姿態以及z映射可幫助將運動向量濾波。在一些情況下,若一個物件移動到另一者之後,則可能存在重疊運動向量。舉例而言,三角形可彼此重疊。為了減少此情況,本發明可使用z映射來看哪些運動向量在被外插時可能產生進入彼此之後的三角形。若此等運動向量按原樣發送至用戶端704,則可能存在類似深度衝突之假影,此係因為用戶端末端上的ASW可能不會利用深度資訊。伺服器702可因此在將此等運動向量發送至用戶端704之前對其進行修改,亦即,將其濾波。
在一些情況下,由於完全3D幾何結構係可用的,因此將網格頂點重新投影至經預測顯示姿態可極其容易。在此等例項中,可出現重疊網格點。另外,可修改遮擋區域中之網格點的運動向量以避免類似深度衝突之假影。亦可能不存在具有核心之濾波的概念。因此,可能無需依賴於關於核心大小選擇之試探法。如上所解釋,因為可在此實施例中在伺服器側進行運動向量計算,其中深度映射可作為顯現之副產物而容易獲得,所以可使用深度映射來修改運動向量以避免類似深度衝突之假影。當運動向量經修改以避免此等假影時,可使用深度映射加權運動向量,以使得前景中之運動向量優先。舉例而言,前景中之三角形可接收優先級。
圖8說明使用根據本發明之翹曲技術的使用運動向量800之實例。如先前所提及,遊戲引擎或伺服器可提供像素層級z映射及運動向量映射。如圖8中所示,本發明可考慮在時間(攝影機C1
)及時間T
(攝影機C2
)處的兩個經顯現圖框。如圖9中進一步所顯示,在給定C1
中之像素的情況下,C2
中之可起因於在位置處使用像素層級運動映射M
。接下來,可轉換成3D攝影機座標,且可轉換成。
在一些態樣中,攝影機座標中之一點(例如,)可轉換成世界座標(例如,PW
)。舉例而言,攝影機姿態可相對於世界座標系統藉由旋轉R及中心C界定。為了相較於攝影機座標在世界座標中表示一點,可因此將世界座標系統平移且旋轉。可幫助此平移之公式為。此對應於將座標平移C之因數及R之旋轉。在伺服器末端處,經顯現圖框中可存在每一像素(例如,x、y座標中)之深度Z
(例如,來自z緩衝區)。在給定攝影機之焦長f的情況下,所獲得的對應3D點可為𝑋=(𝑍/𝑓), 𝑌=𝑦(𝑍/𝑓)。
又,可使用等式將攝影機座標系統中之3D點轉換成世界座標系統。舉例而言,可轉換成,且可轉換成。應注意,及為不同座標系統中之相同點,以及及。又,可藉由提供世界座標系統中的物件點之3D運動。此外,當在時間T將經顯現圖框傳輸至用戶端時,亦可傳輸運動向量或經翹曲向量。
圖9說明使用根據本發明之翹曲技術的使用運動向量900之實例。如圖9中所示,本發明可考慮時間攝影機C 1
、攝影機C 2
及攝影機C 3
處的三個經顯現圖框。在圖9中所示之實例中,3D運動向量可外插於世界空間中,以自得到距離處的3D世界點,其中D
is為與之間的距離。在一些情況下,用於ASW之顯示姿態為C 3
,所以3D世界點可使用3D至2D重新投影經重新投影以將點成像。在伺服器末端處,可能不會準確得知姿態C 3
,所以伺服器可試圖經由姿態預測來預測該姿態。在其他態樣中,處的經外插2D運動向量可基於公式。又,本發明可使用2D運動向量翹曲網格三角形。
圖10A及圖10B分別說明在用戶端處運用運動向量的翹曲1000及1050之程序。在圖10A中,點之網格已重疊於針對攝影機姿態CT
顯現之第一影像上。此影像可經由ASW翹曲至適合用於攝影機姿態CT+1
之第二影像。點(x',y')可為第一影像中之網格點。可基於上文論述在伺服器處判定用於(x',y')之運動向量或翹曲向量,且將其發送至用戶端。翹曲向量將第一影像中之(x',y')映射至第二影像中之(x'',y'')。翹曲向量可在點之均勻網格上自伺服器傳輸至用戶端。
在圖10B中,已說明重疊於第一影像上的此網格之一個正方形。該正方形由兩個頂點(A, B, C, D)形成,該等頂點反過來形成三角形ABC及BCD。頂點A、B、C、D中之每一者隨後基於針對此等網格點進行傳輸之運動向量被映射至第二影像中之位置A'、B'、C'、D'。相對應地,三角形ABC及BCD可變形為如12B中所示之三角形A'B'C'及B'C'D'。在翹曲向量之一些狀況下,變形可為使得A'B'C'及B'C'D'彼此重疊,亦即,正方形ABCD可沿對角BC映射摺疊,此導致類似深度衝突之假影。此可例如發生在物件具有相反運動時,其中第一影像中之頂點A及D處於具有相反運動的不同物件上。
具有相反運動之物件亦可造成深度衝突假影。在一些態樣中,經外插運動向量或翹曲向量可經修改,使得不存在重疊三角形,且因此可能不存在重疊翹曲向量。如上文所論述,經修改運動向量接著可發送至用戶端。
在其他態樣中,被發送至用戶端之運動向量或翹曲向量可直接用於ASW或用於翹曲三角形。舉例而言,若翹曲向量按原樣發送至用戶端,則該等向量可造成深度衝突假影。因此,可能需要修改翹曲向量。在先前實例中,重新投影至姿態C3可相對於C3處起始的攝影機而在時間T顯現之影像中提供每一網格點之深度。本發明可因此將此等z值或物距用於攝影機,以將修改翹曲向量優先排序。在此等例項中,前景物件可具有最小修改,而背景物件可具有更大修改。舉例而言,在前景物件向右移動且背景物件向左移動的場景中,可指示經外插運動向量或翹曲向量。在其他態樣中,可使用基於啟發式之方法修改翹曲向量,從而可能不存在重疊或衝突運動向量。
在其他態樣中,可使用演算法修改運動向量。舉例而言,在步驟1,可針對在時間T產生之經顯現影像中的每一網格點在(T+1)將經外插3D運動向量外插至姿態。在步驟2,本發明可使用此等運動向量外插網格點,且相對於C3判定其像素位置及z值,其中可相對於C3自經外插3D點獲得z值。舉例而言,時間T處的影像中之一個網格點映射至(T+1)中之3D點。在步驟3,若圖框為在(T+1)在經預測姿態下加陰影的片段,則可在(T+1)針對影像中之所有(x,y)座標獲得Z緩衝區。在步驟4,可在時間T在影像中循環所有網格點(x,y),且將與Z1比較。若對於一網格點與Z1相同,則該網格點自C3可見。否則,該網格點被遮擋,因此在時間T位於影像中之所有網格點位於集合SV (例如,可見)中抑或位於集合SO (例如,被遮擋)中。在步驟5,本發明可在T中之網格上的所有三角形中循環,其中一三角形來自此等集合S1、S2或S3中之一者。在S1中,所有三個頂點可來自SV。在S2中,兩個頂點可來自SV,且一個頂點來自SO。在S3中,兩個頂點可來自SO,且一個頂點可來自SV。在S4中,所有頂點可來自SO。在步驟6,本發明可能不會修改集合S1之三角形的運動向量,因為所有頂點係可見的。在步驟7,本發明可循環S2中之三角形之清單,且選擇一三角形並查看來自SO之頂點。本發明接著可向其指派一運動向量,使得三角形之面積變為零。舉例而言,經遮擋頂點之運動向量可為使其與翹曲後至C3之其他兩個頂點中之任一者一致。在一些態樣中,此先前經遮擋頂點升級至清單SV,且S1至S4得以更新。此可繼續,直至S2中之所有三角形用盡為止。在步驟8,本發明可循環S3,其中對於S3中之每個三角形,觀測其位於SO中的頂點,且指派一運動向量使得三角形之面積可為零。舉例而言,可計算經遮擋頂點之運動向量,使其與翹曲後至C3之可見頂點一致。此等頂點兩者皆可被推進至SV,且S1至S4可得以更新。若S2得以更新,則演算法可回到步驟7。在步驟9,本發明可循環S4,其中對於S4中之每一三角形,可觀測其所有頂點,且可指派運動向量使得三角形之面積可為零。舉例而言,所有三個頂點之運動向量可為使其與在C3中翹曲後之相同點一致。本發明可將其推進至SV,且S1至S4可得以更新。若S2得以更新,則演算法可回到步驟7。若S3得以更新,則演算法可回到步驟8。否則,演算法可在步驟9中循環下一三角形。
圖11說明根據本發明之技術的內容產生與寫碼系統1100之另一實例。如圖11中所示,系統1100包括伺服器1102及用戶端1104。伺服器1102包括顯現器1110、姿態預測符1112、頂點產生單元1121、基於深度之重新投影單元1130、修改單元1140 (例如,其中修改經遮擋運動向量以避免深度衝突),及經修改運動向量1142。用戶端1104包括頭部追蹤系統1120、解碼器及運動向量剖析單元1150、運動向量濾波與外插單元1160、翹曲單元1170及顯示器1180。系統1100亦包括姿態1122、分段映射1114、經顯現資訊1116、運動向量1118、經取樣頂點1123、經取樣運動向量1124、經預測顯示姿態1126、最新姿態1128、經外插運動向量1132、經編碼運動向量1144、運動向量1152、經解碼圖框1154、經翹曲向量1162及經翹曲圖框1172。
如上文所解釋,先前實施例可將ASW之大部分複雜度移至伺服器1102。網格大小可影響場景中之物件的失真,從而場景中之單個網格大小可造成物件邊界附近失真。在一些態樣中,若網格被翹曲,則物件可一起移動。舉例而言,若網格可涵蓋前景物件及背景物件兩者,則物件中之一者中可能存在拉伸。由於屬於同一物件之像素以類似方式移動,因此大的網格大小可足夠大,使得像素可統一移動。在其他態樣中,使得網格包圍多個物件區域可能在將相同運動向量應用於彼等區域時造成失真。因此,在物件邊界附近可能存在對更精細網格之需求。
在一些態樣中,本發明可基於易於自遊戲引擎或伺服器獲得的分段資料而決定網格粒度。對於每一像素位置,遊戲引擎或伺服器可輸出物件標識符(ID)。如圖11中所示,此可運用分段映射1114實現。在一些態樣中,本發明可具有包含整個物件之大的網格。在其他態樣中,本發明可在物件之邊界附近具有較小網格。如圖11中所指示,可使用分段映射1114獲得網格頂點,其中可使用此等頂點位置取樣運動向量。
在一些態樣中,遊戲引擎或伺服器1102可產生經顯現圖框、運動向量、z映射及分段映射。如上所解釋,分段映射可運用每一像素產生一ID。可分析分段映射中之物件ID以找出物件邊界。本發明可使用可自遊戲引擎或伺服器獲得的分段映射,以便決定物件邊界附近應為何種網格大小。同樣,頂點或頂點取樣可基於物件邊界。舉例而言,當在物件邊界附近使用更精細網格時,可取樣較大數目個點。藉由使用較小網格,可自經取樣點獲得較佳影像。本發明可在物件邊界附近使用較小網格,因為此區域對拉伸更為敏感。又,對於相同物件內部的區域中之較粗略網格,可存在較少經取樣點。本發明可將較大網格用於完全處於網格中的物件,因為網格中之物件皆可按相同速度移動。另外,恆定網格可在相同位置次取樣網格點,其可由於網格中之物件而造成拉伸。上述次取樣可使用網格大小預測運動向量且將其發送至用戶端。
如在本文中所提及,在一些態樣中,分段映射可針對特定像素位置為遊戲引擎提供一ID。就此而論,物件上之任何像素可返回影像之物件ID。因此,遊戲引擎可得知整個場景之幾何結構。本發明可使用分段映射得到每一物件之邊界,且如上所述,在物件邊界周圍使用更精細網格。因此,本發明可能不會使用恆定網格大小。另外,運動向量頂點可被置放於映射上以得到物件之較佳構想。在其他態樣中,運動向量可基於此等潛在不均勻經取樣頂點進行取樣。在一些情況下,對用戶端末端執行精確分段可成本昂貴及/或不切實際。因此,遊戲引擎或伺服器可能更容易找出分段映射,因為其具有得知哪個像素屬於哪個物件的所有資訊。
在其他態樣中,本發明可分析運動向量以驗證物件係靜止的抑或移動的。接著可使用具有深度之ATW或ASW計算翹曲向量,如先前所提及。對靜止物件應用ASW可造成不必要失真。在一些情況下,翹曲向量產生之方法可在此等兩種方法之間空間切換。在本發明中,運動向量可經修改使得可能不存在深度衝突(例如,基於深度)。然而,此可能不會修補物件之拉伸。為了最小化物件之拉伸,可對伺服器末端使用複雜方法而在空間及時間上將運動向量濾波。如上所指出,高馬力伺服器可更易於提供高計算。又,濾波可基於鄰近網格點之間的運動向量差。運動向量可經修改以避免相鄰網格點之間差異較大,該差異可造成拉伸。同樣,可使用深度映射將前景物件優先排序。因此,可甚至以背景物件上的較高拉伸為代價而最小化前景物件上的拉伸。在一些態樣中,前景物件上的拉伸可高度干擾。在其他態樣中,可對場景之視窩或中心區域(例如,其中使用者可最有可能聚焦)執行濾波。
圖12為說明裝置(例如,第一裝置1202)與另一裝置(例如,第二裝置1204)之間的傳輸的圖式1200。舉例而言,在1210,第二裝置1204可提供對應於第二裝置之第一定向的第一方位資訊,如結合圖5至圖11中之實例所描述。同樣,在1220,第一裝置1202可接收對應於第二裝置之第一定向的第一方位資訊,如結合圖5至圖11中之實例所描述。在1230,第一裝置1202可基於第一方位資訊產生第一圖形內容,如結合圖5至圖11中之實例所描述。另外,在1240,第一裝置1202可產生用於翹曲第一圖形內容之運動資訊,如結合圖5至圖11中之實例所描述。在1250,第一裝置1202可編碼第一圖形內容,如結合圖5至圖11中之實例所描述。
第一裝置1202亦可次取樣運動資訊以產生經次取樣運動資訊,如結合圖5至圖11中之實例所描述。第一圖形內容可包括複數個像素,且運動資訊可包括第一數目個運動向量。又,第一數目個運動向量可包括複數個像素之每一各別像素的各別運動向量。經次取樣運動資訊可包括第二數目個運動向量。在一些情況下,運動向量之第二數目可少於運動向量之第一數目。在其他態樣中,被提供至第二裝置1204之運動資訊可為經次取樣運動資訊,如結合圖5至圖11中之實例所描述。在一些態樣中,次取樣運動資訊以產生經次取樣運動資訊可包含基於具有數個網格點之網格次取樣運動資訊以產生經次取樣運動資訊,如結合圖5至圖11中之實例所描述。又,該數個網格點之每一網格點可為次取樣位置。運動向量之第二數目亦可與網格之網格點數目相等。在一些態樣中,第一圖形內容可包括具有邊界之物件。該數個網格點可包括精細網格點及粗略網格點,使得精細網格點可比粗略網格點更接近物件之邊界。在其他態樣中,精細網格點之第一網格點與精細網格點之第二網格點之間的第一距離可小於粗略網格點之第一網格點與粗略網格點之第二網格點之間的第二距離。
在一些態樣中,上述第一圖形內容可為圖形內容之圖框。又,產生運動資訊可包含基於三維頂點資訊產生運動資訊,其中自該三維頂點資訊可產生第一圖形內容,如結合圖5至圖11中之實例所描述。在其他態樣中,產生運動資訊可包含基於第一圖形內容與第二圖形內容之比較而產生運動資訊。在一些情況下,第一圖形內容可為當前圖框,且第二圖形內容可為先前圖框。另外,圖框可指派有圖框數目N,例如,當前圖框可為圖框N,且先前圖框可為N-1。
在一些態樣中,第一裝置1202亦可判定對應於第二裝置1204之經預測定向的第二方位資訊,如結合圖5至圖11中之實例所描述。第一裝置1202亦可基於第二方位資訊產生第二圖形內容,如結合圖5至圖11中之實例所描述。此外,第一裝置1202可將第一圖形內容與第二圖形內容進行比較,如結合圖5至圖11中之實例所描述。在一些態樣中,將第一圖形內容與第二圖形內容進行比較可進一步包含產生包括與第一圖形內容及第二圖形內容相關聯之複數個像素的深度資訊,使得深度資訊包括複數個像素之每一像素的深度值。將第一圖形內容與第二圖形內容進行比較亦可包含基於深度資訊判定複數個像素中之哪些像素對應於第一深度值,且複數個像素中之哪些像素對應於第二深度值。在一些態樣中,第一深度值可對應於前景值,且第二深度值可對應於背景值。在其他態樣中,第一裝置1202可基於哪些像素對應於第一深度值及哪些像素對應於第二深度值的判定而修改運動資訊。經修改運動資訊亦可包括第一數目個運動向量,其包括複數個像素之每一像素的運動向量。修改運動資訊可包含外插第一數目個運動向量以產生第二數目個經外插運動向量,如結合圖5至圖11中之實例所描述。此外,修改運動資訊可包含傳輸第二數目個經外插運動向量。
在一些態樣中,第一圖形內容可包括複數個像素,且第一裝置1202可產生將複數個像素之每一各別像素映射至複數個物件識別符之各別物件識別符的分段映射,如結合圖5至圖11中之實例所描述。第一裝置1202亦可基於分段映射判定一或多個物件邊界存在於第一圖形內容中何處,如結合圖5至圖11中之實例所描述。另外,第一裝置1202可基於一或多個物件邊界存在於第一圖形內容中何處的判定而將具有數個網格點之網格應用於運動資訊,如結合圖5至圖11中之實例所描述。第一裝置1202亦可基於該網格而次取樣運動資訊以產生經次取樣運動資訊,從而該數個網格點之每一網格點可為次取樣位置,如結合圖5至圖11中之實例所描述。如上所述,數個網格點可包括精細網格點及粗略網格點。精細網格點可比粗略網格點更接近一或多個物件邊界。又,在一些情況下,精細網格點之第一網格點與精細網格點之第二網格點之間的第一距離可小於粗略網格點之第一網格點與粗略網格點之第二網格點之間的第二距離。
另外,第一裝置1202可基於第一圖形內容與第二圖形內容之比較對運動資訊進行濾波,如結合圖5至圖11中之實例所描述。在1260,第一裝置1202可將運動資訊及經編碼第一圖形內容提供至第二裝置1204,如結合圖5至圖11中之實例所描述。
在1270,第二裝置1204可接收基於第一方位資訊產生之經編碼第一圖形內容,如結合圖5至圖11中之實例所描述。在1270,第二裝置1204亦可接收運動資訊,如結合圖5至圖11中之實例所描述。在1280,第二裝置1204可解碼經編碼第一圖形內容以產生經解碼第一圖形內容,如結合圖5至圖11中之實例所描述。又,在1290,第二裝置1204可基於運動資訊翹曲經解碼第一圖形內容,如結合圖5至圖11中之實例所描述。
在一些態樣中,經解碼第一圖形內容可包括複數個像素,使得運動資訊可包括數個運動向量,如結合圖5至圖11中之實例所描述。數個運動向量可包括複數個像素之每一各別像素的各別運動向量。此外,經解碼第一圖形內容可包括數個像素,且運動資訊可包括數個運動向量。在一些情況下,運動向量數目可少於像素數目。第二裝置1204亦可增加取樣運動資訊,使得基於運動資訊翹曲經解碼第一圖形內容可包含基於經增加取樣運動資訊翹曲經解碼第一圖形內容,如結合圖5至圖11中之實例所描述。經解碼第一圖形內容可包括複數個像素,使得經增加取樣運動資訊可包括數個運動向量,其中該數個運動向量可包括複數個像素之每一各別像素的各別運動向量。
在其他態樣中,可基於第一圖形內容及第二圖形內容對運動資訊進行濾波,如結合圖5至圖11中之實例所描述。亦可基於包括與第一圖形內容及第二圖形內容相關聯之複數個像素的深度資訊修改運動資訊。又,接收運動資訊可進一步包含接收包括第一數目個運動向量之經修改運動資訊,該第一數目個運動向量包括複數個像素之每一像素的運動向量,如結合圖5至圖11中之實例所描述。經修改運動資訊亦可包括第二數目個經外插運動向量。經編碼第一圖形內容可包括複數個像素,從而該複數個像素之每一像素可藉由分段映射而映射至複數個物件識別符之一物件識別符。又,第一圖形內容中之一或多個物件邊界可藉由分段映射判定,如結合圖5至圖11中之實例所描述。可基於包括至運動資訊之數個網格點的一網格而判定一或多個物件邊界,從而該數個網格點之每一網格點可為次取樣位置。另外,該數個網格點可包括精細網格點及粗略網格點,其中精細網格點可比粗略網格點更接近一或多個物件邊界。此外,精細網格點之第一網格點與精細網格點之第二網格點之間的第一距離可小於粗略網格點之第一網格點與粗略網格點之第二網格點之間的第二距離。
圖13說明根據本發明之一或多種技術的實例方法之實例流程圖1300。舉例而言,在1302,裝置可接收對應於另一裝置之第一定向的第一方位資訊,如結合圖5至圖12中之實例所描述。舉例而言,在圖12中,在1220,第一裝置可接收對應於另一裝置之第一定向的第一方位資訊。在1304,裝置可基於第一方位資訊產生第一圖形內容,如結合圖5至圖12中之實例所描述。舉例而言,在圖12中,在1230,第一裝置可基於第一方位資訊產生第一圖形內容。另外,在1306,裝置可產生用於翹曲第一圖形內容之運動資訊,如結合圖5至圖12中之實例所描述。舉例而言,在圖12中,在1240,第一裝置可產生用於翹曲第一圖形內容之運動資訊。在1308,裝置可編碼第一圖形內容,如結合圖5至圖12中之實例所描述。
裝置亦可次取樣運動資訊以產生經次取樣運動資訊,如結合圖5至圖12中之實例所描述。第一圖形內容可包括複數個像素,且運動資訊可包括第一數目個運動向量。此外,第一數目個運動向量可包括複數個像素之每一各別像素的各別運動向量。經次取樣運動資訊可包括第二數目個運動向量。在一些情況下,運動向量之第二數目可少於運動向量之第一數目。在其他態樣中,被提供至另一裝置之運動資訊可為經次取樣運動資訊,如結合圖5至圖12中之實例所描述。次取樣運動資訊以產生經次取樣運動資訊可包含基於具有數個網格點之網格次取樣運動資訊以產生經次取樣運動資訊,如結合圖5至圖12中之實例所描述。該數個網格點之每一網格點可為次取樣位置。運動向量之第二數目亦可與網格之網格點數目相等。第一圖形內容可包括具有邊界之物件。該數個網格點可包括精細網格點及粗略網格點,使得精細網格點可比粗略網格點更接近物件之邊界。在其他態樣中,精細網格點之第一網格點與精細網格點之第二網格點之間的第一距離可小於粗略網格點之第一網格點與粗略網格點之第二網格點之間的第二距離。
在一些態樣中,上述第一圖形內容可為圖形內容之圖框。另外,產生運動資訊可包含基於三維頂點資訊產生運動資訊,其中自該三維頂點資訊可產生第一圖形內容,如結合圖5至圖12中之實例所描述。在其他態樣中,產生運動資訊可包含基於第一圖形內容與第二圖形內容之比較而產生運動資訊。在一些情況下,第一圖形內容可為當前圖框,且第二圖形內容可為先前圖框。另外,圖框可指派有圖框數目N,例如,當前圖框可為圖框N,且先前圖框可為N-1。
在一些態樣中,裝置亦可判定對應於另一裝置之經預測定向的第二方位資訊,如結合圖5至圖12中之實例所描述。裝置亦可基於第二方位資訊產生第二圖形內容,如結合圖5至圖12中之實例所描述。此外,裝置可將第一圖形內容與第二圖形內容進行比較,如結合圖5至圖12中之實例所描述。在一些態樣中,將第一圖形內容與第二圖形內容進行比較可進一步包含產生包括與第一圖形內容及第二圖形內容相關聯之複數個像素的深度資訊,使得深度資訊包括複數個像素之每一像素的深度值。將第一圖形內容與第二圖形內容進行比較亦可包含基於深度資訊判定複數個像素中之哪些像素對應於第一深度值,且複數個像素中之哪些像素對應於第二深度值。在一些態樣中,第一深度值可對應於前景值,且第二深度值可對應於背景值。在其他態樣中,裝置可基於哪些像素對應於第一深度值及哪些像素對應於第二深度值的判定而修改運動資訊。經修改運動資訊亦可包括第一數目個運動向量,其包括複數個像素之每一像素的運動向量。修改運動資訊可包含外插第一數目個運動向量以產生第二數目個經外插運動向量,如結合圖8中之實例所描述。此外,修改運動資訊可包含傳輸第二數目個經外插運動向量。
在一些態樣中,第一圖形內容可包括複數個像素,且裝置可產生將複數個像素之每一各別像素映射至複數個物件識別符之各別物件識別符的分段映射。裝置亦可基於分段映射判定一或多個物件邊界存在於第一圖形內容中何處。另外,裝置可基於一或多個物件邊界存在於第一圖形內容中何處的判定而將具有數個網格點之網格應用於運動資訊。裝置亦可基於該網格而次取樣運動資訊以產生經次取樣運動資訊,從而該數個網格點之每一網格點可為次取樣位置,如結合圖5至圖12中之實例所描述。如上所述,數個網格點可包括精細網格點及粗略網格點。精細網格點可比粗略網格點更接近一或多個物件邊界。又,精細網格點之第一網格點與精細網格點之第二網格點之間的第一距離可小於粗略網格點之第一網格點與粗略網格點之第二網格點之間的第二距離。
裝置亦可基於第一圖形內容與第二圖形內容之比較對運動資訊進行濾波,如結合圖5至圖12中之實例所描述。在1310,裝置可將運動資訊及經編碼第一圖形內容提供至另一裝置,如結合圖5至圖12中之實例所描述。
圖14說明根據本發明之一或多種技術的實例方法之實例流程圖1400。舉例而言,在1402,裝置可提供對應於第二裝置之第一定向的第一方位資訊,如結合圖5至圖12中之實例所描述。在1404,裝置可接收基於第一方位資訊產生之經編碼第一圖形內容,如結合圖5至圖12中之實例所描述。舉例而言,在圖12中,在1270,第二裝置1204可接收基於第一方位資訊產生之經編碼第一圖形內容。在1406,裝置亦可接收運動資訊,如結合圖5至圖12中之實例所描述。舉例而言,在圖12中,在1270,第二裝置1204亦可接收運動資訊。在1408,裝置可解碼經編碼第一圖形內容以產生經解碼第一圖形內容,如結合圖5至圖12中之實例所描述。舉例而言,在圖12中,在1280,第二裝置1204可解碼經編碼第一圖形內容以產生經解碼第一圖形內容。又,在1410,裝置可基於運動資訊翹曲經解碼第一圖形內容,如結合圖5至圖12中之實例所描述。舉例而言,在圖12中,在1290,第二裝置1204可基於運動資訊翹曲經解碼第一圖形內容。
在一些態樣中,經解碼第一圖形內容可包括複數個像素,使得運動資訊可包括數個運動向量,如結合圖5至圖12中之實例所描述。數個運動向量可包括複數個像素之每一各別像素的各別運動向量。另外,經解碼第一圖形內容可包括數個像素,且運動資訊可包括數個運動向量。在一些情況下,運動向量數目可少於像素數目。裝置亦可增加取樣運動資訊,使得基於運動資訊翹曲經解碼第一圖形內容可包含基於經增加取樣運動資訊翹曲經解碼第一圖形內容,如結合圖5至圖12中之實例所描述。經解碼第一圖形內容可包括複數個像素,使得經增加取樣運動資訊可包括數個運動向量,其中該數個運動向量可包括複數個像素之每一各別像素的各別運動向量。
在其他態樣中,可基於第一圖形內容及第二圖形內容對運動資訊進行濾波,如結合圖5至圖12中之實例所描述。亦可基於包括與第一圖形內容及第二圖形內容相關聯之複數個像素的深度資訊修改運動資訊。此外,接收運動資訊可進一步包含接收包括第一數目個運動向量之經修改運動資訊,該第一數目個運動向量包括複數個像素之每一像素的運動向量,如結合圖5至圖12中之實例所描述。經修改運動資訊亦可包括第二數目個經外插運動向量。經編碼第一圖形內容可包括複數個像素,從而該複數個像素之每一像素可藉由分段映射而映射至複數個物件識別符之一物件識別符。又,可藉由分段映射判定第一圖形內容中之一或多個物件邊界,如結合圖5至圖12中之實例所描述。可基於包括至運動資訊之數個網格點的一網格而判定一或多個物件邊界,從而該數個網格點之每一網格點可為次取樣位置。另外,該數個網格點可包括精細網格點及粗略網格點,其中精細網格點比粗略網格點更接近一或多個物件邊界。此外,精細網格點之第一網格點與精細網格點之第二網格點之間的第一距離可小於粗略網格點之第一網格點與粗略網格點之第二網格點之間的第二距離。
根據本發明,術語「或」可解譯為「及/或」,其中上下文並不以其他方式指示。另外,雖然諸如「一或多個」或「至少一」或其類似者之片語可被用於本文中(但並非為其他者)所揭示之一些特徵;並未使用此語言之特徵可解釋為具有暗示上下文並不以其他方式指示的此含義。
在一或多個實例中,本文中所描述之功能可實施於硬體、軟體、韌體或其任何組合中。例如,儘管已貫穿本發明使用術語「處理單元」,但此處理單元可實施於硬體、軟體、韌體或其任何組合中。若任何函式、處理單元、本文中所描述之技術或其他模組實施於軟體中,則函式、處理單元、本文中所描述之技術或其他模組可作為一或多個指令或程式碼儲存於電腦可讀媒體上,或經由該電腦可讀媒體傳輸。電腦可讀媒體可包括電腦資料儲存媒體或通信媒體,通信媒體包括促進電腦程式自一處至另一處之傳送的任何媒體。以此方式,電腦可讀媒體通常可對應於(1)非暫時性之有形電腦可讀儲存媒體,或(2)諸如信號或載波之通信媒體。資料儲存媒體可為可由一或多個電腦或一或多個處理器存取以擷取指令、程式碼及/或資料結構以用於實施本發明所描述之技術的任何可用媒體。以實例說明而非限制,此等電腦可讀媒體可包含RAM、ROM、EEPROM、CD-ROM或其他光碟儲存器、磁碟儲存器或其他磁性儲存裝置。如本文中所使用之磁碟及光碟包括緊密光碟(CD)、雷射光碟、光學光碟、數位多功能光碟(DVD)、軟碟及藍光光碟,其中磁碟通常以磁性方式再生資料,而光碟用雷射以光學方式再生資料。以上之組合亦應包括於電腦可讀媒體之範疇內。電腦程式產品可包括電腦可讀媒體。
寫碼可由一或多個處理器執行,諸如一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、算術邏輯單元(ALU)、場可程式化邏輯陣列(FPGA)或其他等效的整合式或離散邏輯電路。因此,如本文所用之術語「處理器」可指前述結構或適用於實施本文中所描述之技術的任何其他結構中之任一者。又,可在一或多個電路或邏輯元件中充分實施該等技術。
本發明之技術可實施於廣泛多種裝置或設備中,包括無線手持機、積體電路(IC)或IC集合(例如,晶片組)。在本發明中描述各種組件、模組或單元以強調經組態以執行所揭示技術之裝置的功能態樣,但未必要求由不同硬體單元來實現。確切地說,如上文所描述,可將各種單元組合於任何硬體單元中,或藉由互操作性硬體單元(包括如上文所描述之一或多個處理器)之集合而結合適合之軟體及/或韌體來提供該等單元。
各種實例已予以描述。此等及其他實例在以下申請專利範圍之範疇內。
100:內容產生系統
104:裝置
107:圖形處理管線
120:處理單元
121:內部記憶體
124:系統記憶體
126:通信介面
127:顯示處理器
128:接收器
130:傳輸器
131:顯示器
132:收發器
198:判定組件
200:翹曲技術
202:圖框
204:圖框
206:圖框
208:圖框
250:翹曲技術
252:圖框
254:圖框
256:圖框
258:圖框
300:ASW技術
302:圖框
304:圖框
306:圖框
308:圖框
310:圖框
400:實例
450:實例
500:內容產生與寫碼系統
502:伺服器
504:用戶端
510:顯現器
512:經顯現圖框
514:編碼器
516:解碼單元
518:經解碼圖框
520:頭部追蹤系統
522:姿態
524:最新姿態
530:緩衝區
532:先前圖框及姿態
534:先前顯現圖框及對應姿態
540:ATW單元
542:對準至經顯現姿態之先前圖框
550:運動向量計算單元
552:引擎
560:運動向量濾波與外插單元
570:翹曲單元
572:翹曲圖框
580:顯示器
600:內容產生與寫碼系統
602:伺服器
604:用戶端
610:顯現器
612:運動向量
614:經顯現圖框
616:經編碼運動向量
620:頭部追蹤系統
622:姿態
624:最新姿態
630:樣本運動向量
632:經取樣運動向量
640:解碼器及運動向量剖析單元
642:運動向量
644:經解碼圖框
650:運動向量濾波與外插單元
652:經翹曲向量
660:翹曲單元
662:經翹曲圖框
670:顯示器
700:內容產生與寫碼系統
702:伺服器
704:用戶端
710:顯現器
712:經顯現圖框
714:運動向量
716:經取樣運動向量
718:z映射
720:頭部追蹤系統
722:姿態
724:最新姿態
730:姿態預測符
732:經預測顯示姿態
740:基於深度之重新投影單元
742:修改單元
744:經濾波運動向量
746:經編碼運動向量
748:經外插運動向量
750:解碼器及運動向量剖析單元
752:運動向量
754:經解碼圖框
760:運動向量濾波與外插單元
762:經翹曲向量
770:翹曲單元
772:經翹曲圖框
780:顯示器
800:運動向量
900:運動向量
1000:翹曲
1050:翹曲
1100:內容產生與寫碼系統
1102:伺服器
1104:用戶端
1110:顯現器
1112:姿態預測符
1114:分段映射
1116:經顯現資訊
1118:運動向量
1120:頭部追蹤系統
1121:頂點產生單元
1122:姿態
1123:經取樣頂點
1124:經取樣運動向量
1126:經預測顯示姿態
1128:最新姿態
1130:基於深度之重新投影單元
1132:經外插運動向量
1140:修改單元
1142:經修改運動向量
1144:經編碼運動向量
1150:解碼器及運動向量剖析單元
1152:運動向量
1154:經解碼圖框
1160:運動向量濾波與外插單元
1162:經翹曲向量
1170:翹曲單元
1172:經翹曲圖框
1180:顯示器
1200:圖式
1202:第一裝置
1204:第二裝置
1210:步驟
1220:步驟
1230:步驟
1240:步驟
1250:步驟
1260:步驟
1270:步驟
1280:步驟
1290:步驟
1300:流程圖
1302:步驟
1304:步驟
1306:步驟
1308:步驟
1310:步驟
1400:流程圖
1402:步驟
1404:步驟
1406:步驟
1408:步驟
1410:步驟
圖1為說明根據本發明之技術的實例內容產生及寫碼系統之方塊圖。
圖2A及圖2B說明根據本發明之翹曲技術之實例。
圖3說明根據本發明之翹曲技術之另一實例。
圖4A及圖4B說明根據本發明之翹曲技術之其他實例。
圖5說明根據本發明之技術的內容產生與寫碼系統之實例。
圖6說明根據本發明之技術的內容產生與寫碼系統之另一實例。
圖7說明根據本發明之技術的內容產生與寫碼系統之另一實例。
圖8說明根據本發明的將運動向量用於翹曲技術之實例。
圖9說明根據本發明的將運動向量用於翹曲技術之實例。
圖10A及圖10B說明根據本發明之翹曲技術之其他實例。
圖11說明根據本發明之技術的內容產生與寫碼系統之另一實例。
圖12為說明根據本發明之技術之傳輸的圖式。
圖13說明根據本發明之一或多種技術的實例方法之實例流程圖。
圖14說明根據本發明之一或多種技術的實例方法之實例流程圖。
1200:圖式
1202:第一裝置
1204:第二裝置
1210:步驟
1220:步驟
1230:步驟
1240:步驟
1250:步驟
1260:步驟
1270:步驟
1280:步驟
1290:步驟
Claims (30)
- 一種用於圖形處理之方法,其包含: 藉由一第一裝置自一第二裝置接收對應於該第二裝置之一第一定向的第一方位資訊; 藉由該第一裝置基於該第一方位資訊產生第一圖形內容; 藉由該第一裝置產生用於翹曲該第一圖形內容之運動資訊; 藉由該第一裝置編碼該第一圖形內容;及 藉由該第一裝置將該運動資訊及該經編碼第一圖形內容提供至該第二裝置。
- 如請求項1之方法,其進一步包含: 藉由該第一裝置次取樣該運動資訊以產生經次取樣運動資訊。
- 如請求項2之方法,其中該第一圖形內容包括複數個像素,其中該運動資訊包括一第一數目個運動向量,且其中該第一數目個運動向量包括該複數個像素之每一各別像素的一各別運動向量。
- 如請求項3之方法,其中該經次取樣運動資訊包括一第二數目個運動向量,其中運動向量之該第二數目少於運動向量之該第一數目,且其中被提供至該第二裝置之該運動資訊為該經次取樣運動資訊。
- 如請求項4之方法,其中次取樣該運動資訊以產生該經次取樣運動資訊包含基於具有數個網格點之一網格而次取樣該運動資訊以產生該經次取樣運動資訊,且其中該數個網格點之每一網格點為一次取樣位置。
- 如請求項5之方法,其中運動向量之該第二數目與該網格之網格點數目相等。
- 如請求項6之方法,其中該第一圖形內容包括具有一邊界之一物件,其中該數個網格點包括精細網格點及粗略網格點,其中該等精細網格點比該等粗略網格點更接近該物件之該邊界,且其中該等精細網格點之一第一網格點與該等精細網格點之一第二網格點之間的一第一距離小於該等粗略網格點之一第一網格點與該等粗略網格點之一第二網格點之間的一第二距離。
- 如請求項1之方法,其中該第一圖形內容為圖形內容之一圖框。
- 如請求項1之方法,其中產生該運動資訊包含基於三維頂點資訊產生該運動資訊,其中自該三維頂點資訊產生該第一圖形內容。
- 如請求項1之方法,其中產生該運動資訊包含基於該第一圖形內容與第二圖形內容之一比較產生該運動資訊,且其中該第一圖形內容為一當前圖框,且該第二圖形內容為一先前圖框。
- 如請求項10之方法,其中該當前圖框為圖框N,且該先前圖框為圖框N-1,且其中N為一圖框數目。
- 如請求項1之方法,其進一步包含: 藉由該第一裝置判定對應於該第二裝置之一經預測定向的第二方位資訊; 藉由該第一裝置基於該第二方位資訊產生第二圖形內容; 藉由該第一裝置將該第一圖形內容與該第二圖形內容進行比較;及 藉由該第一裝置基於該第一圖形內容與該第二圖形內容之該比較對該運動資訊進行濾波。
- 如請求項12之方法,其中將該第一圖形內容與該第二圖形內容進行比較進一步包含: 藉由該第一裝置產生包括與該第一圖形內容及該第二圖形內容相關聯之複數個像素的深度資訊,其中該深度資訊包括該複數個像素之每一像素的一深度值;及 基於該深度資訊判定該複數個像素中之哪些像素對應於一第一深度值且該複數個像素中之哪些像素對應於一第二深度值。
- 如請求項13之方法,其中該第一深度值對應於一前景值,且該第二深度值對應於一背景值。
- 如請求項13之方法,其進一步包含基於哪些像素對應於該第一深度值及哪些像素對應於該第二深度值的該判定修改該運動資訊。
- 如請求項15之方法,其中該經修改運動資訊包括一第一數目個運動向量,其包括該複數個像素之每一像素的一運動向量。
- 如請求項16之方法,其中修改該運動資訊進一步包含: 藉由該第一裝置外插該第一數目個運動向量以產生一第二數目個經外插運動向量;及 將該第二數目個經外插運動向量傳輸至該第二裝置。
- 如請求項1之方法,其中該第一圖形內容包括複數個像素,該方法進一步包含: 藉由該第一裝置產生一分段映射,其將該複數個像素之每一各別像素映射至複數個物件識別符之一各別物件識別符;及 基於該分段映射判定一或多個物件邊界存在於該第一圖形內容中何處。
- 如請求項18之方法,其進一步包含: 基於一或多個物件邊界存在於該第一圖形內容中何處之該判定將具有數個網格點之一網格應用於該運動資訊;及 基於該網格次取樣該運動資訊以產生該經次取樣運動資訊,且其中該數個網格點之每一網格點為一次取樣位置。
- 如請求項19之方法,其中該數個網格點包括精細網格點及粗略網格點,其中該等精細網格點比該等粗略網格點更接近該一或多個物件邊界,且其中該等精細網格點之一第一網格點與該等精細網格點之一第二網格點之間的一第一距離小於該等粗略網格點之一第一網格點與該等粗略網格點之一第二網格點之間的一第二距離。
- 一種用於圖形處理之方法,其包含: 藉由一第一裝置將對應於該第一裝置之一第一定向的第一方位資訊提供至一第二裝置; 藉由該第一裝置自該第二裝置接收基於該第一方位資訊產生之經編碼第一圖形內容; 藉由該第一裝置自該第二裝置接收運動資訊; 藉由該第一裝置解碼該經編碼第一圖形內容以產生經解碼第一圖形內容;及 藉由該第一裝置基於該運動資訊翹曲該經解碼第一圖形內容。
- 如請求項21之方法,其中該經解碼第一圖形內容包括複數個像素,其中該運動資訊包括數個運動向量,且其中該數個運動向量包括該複數個像素之每一各別像素的一各別運動向量。
- 如請求項21之方法,其中該經解碼第一圖形內容包括數個像素,其中該運動資訊包括數個運動向量,且其中運動向量之該數目少於像素之該數目。
- 如請求項21之方法,其進一步包含: 藉由該第一裝置增加取樣該運動資訊,其中基於該運動資訊翹曲該經解碼第一圖形內容包含基於該經增加取樣運動資訊翹曲該經解碼第一圖形內容。
- 如請求項24之方法,其中該經解碼第一圖形內容包括複數個像素,其中該經增加取樣運動資訊包括數個運動向量,且其中該數個運動向量包括該複數個像素之每一各別像素的一各別運動向量。
- 如請求項21之方法,其中該運動資訊基於第二圖形內容及該第一圖形內容進行濾波。
- 如請求項26之方法,其中該運動資訊基於深度資訊進行修改,該深度資訊包括與該第一圖形內容及該第二圖形內容相關聯之複數個像素。
- 如請求項27之方法,其中接收該運動資訊進一步包含接收包括一第一數目個運動向量之經修改運動資訊,該第一數目個運動向量包括該複數個像素之每一像素的一運動向量。
- 一種用於藉由一第一裝置進行圖形處理之設備,其包含: 一記憶體;及 至少一個處理器,其耦接至該記憶體且經組態以: 自一第二裝置接收對應於該第二裝置之一第一定向的第一方位資訊; 基於該第一方位資訊產生第一圖形內容; 產生用於翹曲該第一圖形內容之運動資訊; 編碼該第一圖形內容;及 將該運動資訊及該經編碼第一圖形內容提供至該第二裝置。
- 一種用於藉由一第一裝置進行圖形處理之設備,其包含: 一記憶體;及 至少一個處理器,其耦接至該記憶體且經組態以: 將對應於該第一裝置之一第一定向的第一方位資訊提供至一第二裝置; 自該第二裝置接收基於該第一方位資訊產生之經編碼第一圖形內容; 自該第二裝置接收運動資訊; 解碼該經編碼第一圖形內容以產生經解碼第一圖形內容;及 基於該運動資訊翹曲該經解碼第一圖形內容。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201841036547 | 2018-09-27 | ||
IN201841036547 | 2018-09-27 | ||
US16/417,483 US11455705B2 (en) | 2018-09-27 | 2019-05-20 | Asynchronous space warp for remotely rendered VR |
US16/417,483 | 2019-05-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202025088A true TW202025088A (zh) | 2020-07-01 |
Family
ID=69946296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108132645A TW202025088A (zh) | 2018-09-27 | 2019-09-10 | 用於遠端呈現虛擬實境之異步空間翹曲 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11455705B2 (zh) |
EP (1) | EP3856376A1 (zh) |
CN (1) | CN112739433B (zh) |
TW (1) | TW202025088A (zh) |
WO (1) | WO2020068406A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11276142B2 (en) * | 2019-06-27 | 2022-03-15 | Electronics And Telecommunications Research Institute | Apparatus and method for synthesizing virtual viewpoint images |
US20210192681A1 (en) * | 2019-12-18 | 2021-06-24 | Ati Technologies Ulc | Frame reprojection for virtual reality and augmented reality |
US11363247B2 (en) * | 2020-02-14 | 2022-06-14 | Valve Corporation | Motion smoothing in a distributed system |
WO2022028684A1 (en) * | 2020-08-05 | 2022-02-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Improved split rendering for extended reality (xr) applications |
US11727684B2 (en) * | 2020-08-21 | 2023-08-15 | Ubicquia Iq Llc | Automated virtual tripwire placement |
KR20220093985A (ko) | 2020-12-28 | 2022-07-05 | 삼성전자주식회사 | 이미지 지연 보정 방법 및 이를 이용한 장치 |
US11481871B2 (en) | 2021-03-12 | 2022-10-25 | Samsung Electronics Co., Ltd. | Image-guided depth propagation for space-warping images |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2174511B1 (en) * | 2007-07-26 | 2011-06-22 | Koninklijke Philips Electronics N.V. | Method and apparatus for depth-related information propagation |
EP2209086A1 (en) * | 2009-01-15 | 2010-07-21 | Telefonaktiebolaget L M Ericsson (publ) | Image processing |
US8606009B2 (en) * | 2010-02-04 | 2013-12-10 | Microsoft Corporation | High dynamic range image generation and rendering |
US8896715B2 (en) * | 2010-02-11 | 2014-11-25 | Microsoft Corporation | Generic platform video image stabilization |
KR20120000485A (ko) * | 2010-06-25 | 2012-01-02 | 삼성전자주식회사 | 예측 모드를 이용한 깊이 영상 부호화 장치 및 방법 |
GB2502047B (en) * | 2012-04-04 | 2019-06-05 | Snell Advanced Media Ltd | Video sequence processing |
TW201528775A (zh) * | 2014-01-02 | 2015-07-16 | Ind Tech Res Inst | 景深圖校正方法及系統 |
US20170243403A1 (en) | 2014-11-11 | 2017-08-24 | Bent Image Lab, Llc | Real-time shared augmented reality experience |
US9983693B2 (en) * | 2015-03-13 | 2018-05-29 | Adtile Technologies Inc. | Spatial motion-based user interactivity |
KR20170007069A (ko) * | 2015-07-08 | 2017-01-18 | 주식회사 케이티 | 파노라믹 비디오의 왜곡보정 방법 및 장치 |
US10339850B2 (en) | 2015-08-06 | 2019-07-02 | Nvidia Corporation | Low-latency display |
US20170103577A1 (en) | 2015-10-12 | 2017-04-13 | Cinova Media | Method and apparatus for optimizing video streaming for virtual reality |
US9832451B2 (en) | 2015-11-17 | 2017-11-28 | Survios, Inc. | Methods for reduced-bandwidth wireless 3D video transmission |
US10284875B2 (en) | 2016-08-08 | 2019-05-07 | Qualcomm Incorporated | Systems and methods for determining feature point motion |
US10751609B2 (en) | 2016-08-12 | 2020-08-25 | Zero Latency PTY LTD | Mapping arena movements into a 3-D virtual world |
CA3033987A1 (en) * | 2016-08-18 | 2018-02-22 | William Beaumont Hospital | System and method for determining respiratory induced blood mass change from 4d computed tomography |
IL307594A (en) * | 2016-08-22 | 2023-12-01 | Magic Leap Inc | Virtual, augmented and mixed reality systems and methods |
US9928660B1 (en) | 2016-09-12 | 2018-03-27 | Intel Corporation | Hybrid rendering for a wearable display attached to a tethered computer |
US11575885B2 (en) * | 2016-10-11 | 2023-02-07 | Electronics And Telecommunications Research Institute | Image encoding/decoding method and apparatus and recording medium for storing bitstream |
WO2018106675A1 (en) * | 2016-12-09 | 2018-06-14 | Thomson Licensing | Method and apparatus for providing a virtual reality scene |
US10416769B2 (en) * | 2017-02-14 | 2019-09-17 | Microsoft Technology Licensing, Llc | Physical haptic feedback system with spatial warping |
WO2018200993A1 (en) * | 2017-04-28 | 2018-11-01 | Zermatt Technologies Llc | Video pipeline |
US10504272B2 (en) * | 2017-06-13 | 2019-12-10 | Intel Corporation | Apparatus and method for optimizing time/space warp for virtual reality using dynamic tiling and dirty tile marking |
CN107248138B (zh) * | 2017-06-16 | 2020-01-03 | 中国科学技术大学 | 虚拟现实环境中的人类视觉显著性预测方法 |
US10779011B2 (en) | 2017-07-31 | 2020-09-15 | Qualcomm Incorporated | Error concealment in virtual reality system |
CN108008823B (zh) * | 2017-12-18 | 2021-10-22 | 国网浙江省电力公司培训中心 | 一种沉浸式虚拟现实系统视觉重定向方法 |
EP3522150A3 (en) | 2018-02-03 | 2020-01-01 | Facebook Technologies, LLC | Apparatus, system, and method for mitigating motion-to-photon latency in head-mounted displays |
US10861215B2 (en) | 2018-04-30 | 2020-12-08 | Qualcomm Incorporated | Asynchronous time and space warp with determination of region of interest |
US11244195B2 (en) * | 2018-05-01 | 2022-02-08 | Adobe Inc. | Iteratively applying neural networks to automatically identify pixels of salient objects portrayed in digital images |
-
2019
- 2019-05-20 US US16/417,483 patent/US11455705B2/en active Active
- 2019-09-09 WO PCT/US2019/050257 patent/WO2020068406A1/en unknown
- 2019-09-09 EP EP19773637.4A patent/EP3856376A1/en active Pending
- 2019-09-09 CN CN201980061947.4A patent/CN112739433B/zh active Active
- 2019-09-10 TW TW108132645A patent/TW202025088A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
EP3856376A1 (en) | 2021-08-04 |
WO2020068406A1 (en) | 2020-04-02 |
US20200104975A1 (en) | 2020-04-02 |
CN112739433B (zh) | 2024-06-11 |
CN112739433A (zh) | 2021-04-30 |
US11455705B2 (en) | 2022-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112739433B (zh) | 用于远程渲染的vr的异步空间扭曲 | |
US20200051269A1 (en) | Hybrid depth sensing pipeline | |
CN107251098B (zh) | 使用动态三维形状促进真实对象的真三维虚拟表示 | |
US10986330B2 (en) | Method and system for 360 degree head-mounted display monitoring between software program modules using video or image texture sharing | |
US20230039100A1 (en) | Multi-layer reprojection techniques for augmented reality | |
US10164459B2 (en) | Selective rasterization | |
TW202145139A (zh) | 用於增強現實內容的圖集管理的方法和裝置 | |
US9661298B2 (en) | Depth image enhancement for hardware generated depth images | |
US20140092439A1 (en) | Encoding images using a 3d mesh of polygons and corresponding textures | |
TW201921921A (zh) | 基於紋理圖與網格之3d影像資訊的處理 | |
US8970587B2 (en) | Five-dimensional occlusion queries | |
US8836700B2 (en) | System, method, and computer program product for a tessellation engine using a geometry shader | |
US11468629B2 (en) | Methods and apparatus for handling occlusions in split rendering | |
US20230147244A1 (en) | Methods and apparatus for occlusion handling techniques | |
CN118043850A (zh) | Meshlet着色图集 | |
TW202141429A (zh) | 使用陰影資訊進行渲染 | |
EP4042365A1 (en) | Methods and apparatus for multiple lens distortion correction | |
CN114245904A (zh) | 用于高效的运动估计的方法和装置 |