TW202305551A - 用於人工實境之全像通話 - Google Patents

用於人工實境之全像通話 Download PDF

Info

Publication number
TW202305551A
TW202305551A TW111113117A TW111113117A TW202305551A TW 202305551 A TW202305551 A TW 202305551A TW 111113117 A TW111113117 A TW 111113117A TW 111113117 A TW111113117 A TW 111113117A TW 202305551 A TW202305551 A TW 202305551A
Authority
TW
Taiwan
Prior art keywords
depth
images
data
user
color
Prior art date
Application number
TW111113117A
Other languages
English (en)
Inventor
喬瑟夫 維爾斯克斯
甘納許 凡卡特許
凱 李
陳申奇
阿密特 庫瑪
拉克許 蘭詹
波佐 亞伯特 帕拉
布萊恩 基斯 卡布拉爾
山姆爾 艾蘭 強森
葉威
麥可 亞歷山大 史諾爾
亞許 派特爾
Original Assignee
美商元平台技術有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商元平台技術有限公司 filed Critical 美商元平台技術有限公司
Publication of TW202305551A publication Critical patent/TW202305551A/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • H04N7/157Conference systems defining a virtual conference space and using avatars or agents
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H1/00Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
    • G03H1/0005Adaptation of holography to specific applications
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B30/00Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images
    • G02B30/40Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images giving the observer of a single two-dimensional [2D] image a perception of depth
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/174Facial expression recognition
    • G06V40/176Dynamic expression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/56Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
    • H04M3/567Multimedia conference systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/56Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
    • H04M3/568Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities audio processing specific to telephonic conferencing, e.g. spatial distribution, mixing of participants
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H1/00Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
    • G03H1/0005Adaptation of holography to specific applications
    • G03H2001/0088Adaptation of holography to specific applications for video-holography, i.e. integrating hologram acquisition, transmission and display
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H1/00Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
    • G03H1/02Details of features involved during the holographic process; Replication of holograms without interference recording
    • G03H2001/0204Object characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/35Aspects of automatic or semi-automatic exchanges related to information services provided via a voice call
    • H04M2203/359Augmented reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Optics & Photonics (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Holo Graphy (AREA)
  • Processing Or Creating Images (AREA)

Abstract

一全像通話系統可在一全像通話管線之一發送者側處擷取及編碼全像資料,且在該全像通話管線之一接收者側處解碼及呈現該全像資料作為一發送者之一3D表示。該全像通話管線可包括以下階段:擷取音訊、彩色影像及深度影像;將該等深度影像緻密化以具有每一像素之一深度值,同時產生部位遮罩及一身體模型;使用該等遮罩以將該等影像分段為全像圖產生所需之部分;將深度影像轉換為一3D網格;用彩色資料噴塗該3D網格;執行軀幹補洞;執行面部重構;及執行音訊同步。在各種實施中,此等階段中之不同階段可在發送者側或接收者側執行。該全像通話管線亦包括發送者側壓縮、經由一通信頻道傳輸,以及接收者側解壓縮及全像圖輸出。

Description

用於人工實境之全像通話
本發明係針對在一全像通話管線之一發送者側處擷取及編碼全像資料,且在該全像通話管線之一接收者側處解碼及呈現該全像資料作為一發送者之一3D表示。 相關申請案之交互參考
本申請案主張2021年6月28日申請的標題為「Holographic Calling for Artificial Reality」之美國非臨時申請案第17/360,693號之權益及優先權,該美國非臨時申請案之內容特此以全文引用之方式併入。
視訊會議已成為人們聯繫之主要方式。從工作通話至虛擬娛樂時光、從網路研討會至線上劇場,人們在其可看到其他參與者時會感覺聯繫更緊密,從而使其更接近於當面體驗。然而,視訊通話仍然為面對面互動之蒼白模擬。僅用發送者之二維(「2D」)表示理解身體語言及上下文可為困難的。另外,利用視訊之人際互動嚴重受限,此係因為通信常常依賴於參與者之間的相對移動。然而,在視訊通話的情況下,將視角固定至發送者之攝影機,從而消除參與者執行相對移動之能力。另外,在平板顯示器上進行視訊通話之限制引入可自通信分心且削弱當面通信之感覺的侵入性技術層面。
本申請案之一具體實例係關於一種用於使用一全像通話管線進行一全像通話之方法,該方法包含:在一發送裝置與至少一個接收裝置之間建立一通信頻道;在該發送裝置處擷取彩色、深度及音訊資料,且使用該彩色及深度資料以產生一或多個彩色影像及一或多個深度影像;產生用於該一或多個彩色影像及一或多個深度影像之一或多個遮罩;將該一或多個遮罩應用於該一或多個彩色影像及一或多個深度影像以獲得該一或多個彩色影像及一或多個深度影像之經掩蔽部分;壓縮該一或多個彩色影像及一或多個深度影像之該等經掩蔽部分;及同步該一或多個彩色影像、一或多個深度影像及該音訊資料且經由該通信頻道進行傳輸;其中該接收裝置回應於該傳輸而:解壓縮該等經壓縮部分;將該一或多個深度影像之該等部分轉換為一3D網格;將該一或多個彩色影像之該等部分噴塗至該3D網格上;使該音訊資料與該經噴塗3D網格同步;在該3D網格上執行軀幹去遮擋;在該3D網格上在執行面部重構;及輸出該經噴塗3D網格作為具有經同步音訊之一全像圖。
本申請案之另一具體實例係關於一種儲存指令之電腦可讀取儲存媒體,該等指令在由一計算系統執行時使得該計算系統執行用於使用一全像通話管線進行一全像通話之一過程,該過程包含:在一發送裝置處擷取彩色、深度及音訊資料,且使用該彩色及深度資料以產生一或多個彩色影像及一或多個深度影像;產生用於該一或多個彩色影像及一或多個深度影像之一或多個遮罩;將該一或多個遮罩應用於該一或多個彩色影像及一或多個深度影像以獲得該一或多個彩色影像及一或多個深度影像之經掩蔽部分;壓縮該一或多個彩色影像及一或多個深度影像之該等經掩蔽部分;及經由一通信頻道對該等經壓縮部分及該音訊資料進行傳輸;其中一接收裝置回應於該傳輸而:解壓縮該等經壓縮部分;將該一或多個深度影像之該等部分轉換為一3D網格;將該一或多個彩色影像之該等部分噴塗至該3D網格上;及輸出該經噴塗3D網格作為具有經同步音訊之一全像圖。
本申請案之又一具體實例係關於一種用於使用一全像通話管線進行一全像通話之計算系統,該計算系統包含:一或多個處理器;及儲存指令之一或多個記憶體,該等指令在由該一或多個處理器執行時使該計算系統執行一過程,該過程包含:在一發送裝置處擷取彩色、深度及音訊資料,且使用該彩色及深度資料以產生一或多個彩色影像及一或多個深度影像;產生用於該一或多個彩色影像及一或多個深度影像之一或多個遮罩;將該一或多個遮罩應用於該一或多個彩色影像及一或多個深度影像以獲得該一或多個彩色影像及一或多個深度影像之經掩蔽部分;對該等經掩蔽部分之版本及該音訊資料進行傳輸;其中該接收裝置回應於該傳輸而:將該一或多個深度影像之該等部分及該一或多個彩色影像之該等部分轉換為一經噴塗3D網格;及輸出該經噴塗3D網格作為與該音訊資料同步之一全像圖。
本發明之態樣係針對一種全像通話系統,其在全像通話管線(「管線」)之發送者側擷取且編碼全像資料,且在全像通話管線之接收者側將該全像資料解碼及顯得發送者之3D表示。在一些情況下,擴增實境中之全像通話允許使用者進行交談,如同其在3D空間中面對面。如本文中所使用,「全像圖」、「全像表示」及類似片語描述向使用者呈現之如同其在使用者之環境中的虛擬物件。全像圖可以多種方式呈現,諸如經由投影至使用者之眼睛中或投影至環境中。取決於所使用硬體之類型及可獲得之處理及網路頻寬,全像通話系統可提供變化的體驗。舉例而言,全像通話系統可提供人工實境(XR)裝置、行動裝置(例如,智慧型手機)、傳統計算系統(例如,膝上型電腦或具有網路攝影機之桌上型電腦)等之任何組合之間的全像通話。每一使用者之體驗可取決於發送系統之擷取及處理能力以及接收系統之顯示及處理能力。舉例而言,在一個使用者正使用行動電話且另一使用者正使用XR系統的情況下,XR系統中的使用者可在其空間中看到另一使用者之全像圖,而行動電話使用者可在其電話螢幕上看到另一使用者之表示。
為提供全像通話,全像通話系統之全像通話管線可包括以下階段:擷取音訊、彩色影像及深度影像;將該等深度影像緻密化以具有每一像素之一深度值,同時產生部位遮罩及一身體模型;使用該等遮罩以將該等影像分段為全像圖產生所需之部分;將深度影像轉換為一3D網格;用彩色資料噴塗該3D網格;執行軀幹補洞(disocclusion);執行面部重構;及執行音訊同步。在各種實施中,此管線之不同階段可在發送者側或接收者側執行。舉例而言,在各種實施中,用於將深度影像轉換為3D網格、使用彩色資料噴塗3D網格、執行軀幹補洞、執行面部重構及/或建立3D網格之階段之一或多者可在發送者側或接收者側執行。全像通話管線亦包括發送者側壓縮、經由通信頻道傳輸以及接收者側解壓縮及全像圖輸出(或其他類型之輸出,取決於裝置能力)。
可使用擷取裝置在發送者側上執行用於擷取音訊、彩色影像及深度影像之管線階段,該等擷取裝置諸如用於音訊之麥克風、用於彩色影像之RGB(或黑白)攝影機及用於深度影像之深度感測器。如下文所論述,此等擷取裝置可以多種類型出現。此等擷取裝置可容納於諸如XR系統或行動電話之一或多個裝置中。在一些情況下,XR系統可包括多個裝置,諸如頭戴式器件及具有能夠檢視發送使用者之至少上身部分之攝影機的單獨裝置。在一些實施中,所擷取彩色影像可為來自一個相機或來自多個攝影機之影像,每一攝影機指向發送使用者之至少一部分。在又其他實施中,深度影像可為點雲或結構化光(例如,針對失真或飛行時間讀數進行分析以精確識別自IR源至每一位點之距離的所擷取推斷(IR)點之柵格)。所擷取深度資訊可形成為深度影像,例如,形成為彩色或灰階影像,其中每一像素之色調或色度表示彼像素之深度。此等深度影像可例如基於時戳同步至彩色影像。下文相對於圖5A之區塊504及506以及圖7A之區塊704及706來提供關於擷取及影像產生階段之額外細節。
另一管線階段可使深度影像緻密化,同時產生部位遮罩及身體模型。緻密化可發生在使用結構化光或其中所擷取深度資料原本不包括對應彩色影像中之每一像素的深度值之系統中。部位遮罩可為指定影像中之哪些區域展示特性之遮罩,諸如用於將發送使用者自背景分段之遮罩、用以識別特定身體部位(諸如發送使用者之頭部、軀幹、手臂區段、手等)之遮罩;及/或用以識別其他所描繪態樣(諸如由發送使用者佩戴的XR頭戴式器件)之遮罩。身體模型(有時稱為動態模型)可指定發送使用者之當前身體組態,例如在身體位點之間的距離,諸如在手腕與肘部關節之間的距離及在身體部位之間的角度,諸如在前臂與上臂之間的角度,或頭部相對於肩部之方向。下文相對於圖14論述實例身體模型。在各種實施中,可訓練一或多個機器學習模型以產生經緻密化深度影像、遮罩及身體模型。在一些實施中,此(等)模型可使用人在各種環境中之合成影像及利用已知深度資料、遮罩及身體位置產生之特性來訓練。下文相對於圖5A之區塊508、圖7A之區塊708及圖11A至圖11C提供緻密化、掩蔽及身體模型產生之額外細節。
另一管線階段可使用所產生遮罩以將深度及彩色影像分段為全像圖產生所需之部分,從而消除不必要部分且提供經標記影像部分。下文相對於圖5A之區塊510及圖7A之區塊710提供關於應用所產生遮罩之額外細節。
管線可進一步包括將深度影像轉換為3D網格之階段。因為深度影像包括自至少一個視角之用於發送使用者之深度資料,因此全像通話系統可自此視角建立發送使用者之一部分的3D模型。在一些情況下,全像通話系統亦可進行外推以例如基於發送使用者之所擷取其他部分的先前深度影像或自多個角度對發送使用者之預掃描而自其他視點來填充3D網格,其可與當前3D網格拼接在一起。在一些實施中,3D網格之未知部分可用現有類生命模型之對應部分填充,該現有類生命模型係基於彼模型具有類似於發送使用者之特徵的特徵而選擇。管線可包括用於取得所建立3D網格且用發送使用者之彩色資料對其進行噴塗的階段。下文相對於圖5B之區塊558及560以及圖7A之區塊712及714提供將深度影像轉換為3D網格且對其進行噴塗之額外細節。
管線亦可包括用於填充表示發送使用者之3D網格之身體部分中的遮擋的階段。在本文中稱為軀幹補洞(disocclusion),此可包括用來自發送使用者之現有模型的對應片段來填充身體部分中之破洞。現有模型可使用預掃描過程建立以得到發送使用者之初始3D模型(例如,在全像通話開始時)或藉由自在身體未被遮擋之通話中較早獲取的快照建置3D模型而建立。在一些情況下,可擷取稍後快照以週期性地更新發送使用者之現有模型。此等影像連同對應身體模型一起可用以建立使用者之3D模型,其中後設資料界定用於身體上之特定點(例如,「頂點」)的標記。當全像通話系統識別3D網格中之破洞時,全像通話系統可使用身體模型(上文所論述)來識別其用以填充彼破洞的現有模型之對應頂點。舉例而言,深度感測器可能當使用者在其手在前方做示意動作時擷取使用者之影像。歸因於使用者手之置放,使用者軀幹之一部分可能對於深度感測器不可見。因此,當建立3D網格時,在發送使用者之表示中在使用者手後方可能存在破洞。此可用發送使用者之現有模型的對應部分填充,該現有模型係自使用者之手不遮擋使用者之軀幹的快照所建立。下文相對於圖5B之區塊562、圖7A之區塊716及圖10提供軀幹補洞之額外細節。
管線中之另一階段可執行面部重構。面部重構可自發送使用者之表示移除XR頭戴式器件或如經由XR頭戴式器件之鏡片所見的使用者眼睛中之噴塗。面部重構階段可使用機器學習方法或試探性方法中之任一者或兩者來實現此目的。下文相對於圖5B之區塊564、圖7A之區塊718、圖8A及圖8B(機器學習方法)以及圖9A及圖9B(試探性方法)提供關於面部重構之額外細節。
用於面部重構之機器學習方法可包括訓練機器學習模型以拍攝包括XR裝置的使用者面部之影像,及提供無XR裝置的使用者面部之影像或具有XR裝置之鏡片顯得透明的使用者面部之影像。在一些情況下,可使用藉由以下操作產生的訓練項目來訓練模型:拍攝無XR裝置之使用者的影像或用具有鏡片部分為透明的XR裝置擴增的影像作為實況;及將彼實況影像與所產生影像配對,從而展示在使用者之眼睛上添加至使用者影像之XR裝置,如將在通話期間所擷取。機器學習模型可包括編碼器、幾何結構投影分支及紋理投影分支。在訓練期間,編碼器可用XR裝置接收輸入影像,且對其進行編碼以供應用於機器學習模型。可將影像之編碼提供至幾何結構投影分支及紋理投影分支兩者。幾何結構投影分支可預測不包括XR裝置的使用者面部之幾何結構(3D網格),且紋理投影分支可預測使用者面部之紋理。在一些實施中,全像通話系統可比較針對訓練項目之實況產生的幾何結構與預測幾何結構,且可應用第一組損失函數以更新幾何結構投影分支之參數,從而對其進行訓練。類似地,在此等實施中,全像通話系統可比較針對訓練項目之實況產生的紋理與預測紋理,且可應用第二組損失函數以更新紋理投影分支的參數,從而亦對其進行訓練。在其他實施中,可將預測紋理噴塗至預測幾何結構上,且產生並輸出影像;全像通話系統可比較訓練項目之實況與輸出影像,且可應用一組損失函數以更新幾何結構投影分支及紋理投影分支兩者之參數,從而訓練模型。一旦模型得以訓練,即可在全像通話期間應用該模型以接收佩戴XR裝置的發送使用者的影像,且產生無XR裝置或鏡片為透明的使用者的影像。下文相對於圖8A及圖8B提供關於使用機器學習方法進行面部重構的額外細節。
面部重構之試探性方法可包括在發送使用者未佩戴XR裝置時執行該使用者之面部的預掃描。此預掃描可用於產生使用者面部之3D網格,其可進一步變換成用於不同使用者表情之多個網格。在全像通話期間,全像通話系統可分析佩戴XR裝置的使用者的輸入影像,以判定使用者的頭部姿態及面部表情。全像通話系統可接著選擇對應於所判定面部表情的表情網格中之一或多者,且將其摻合為對應於使用者之當前表情的輸出網格。最後,全像通話系統可應用實時深度資料及彩色資料以供發送使用者調整輸出網格以更接近地類似於發送使用者。此調整之結果可為無XR裝置之使用者面部的實時重構,或在需要具有透明鏡片之XR裝置的情況下,可將具有帶透明鏡片之XR裝置之模型的使用者面部添加至輸出網格。下文相對於圖9A及圖9B提供關於使用試探性方法之面部重構的額外細節。
管線之額外階段可包括在彩色影像、深度影像及所擷取音訊之間的各種同步。舉例而言,與所擷取資料相關聯之時戳可用於使各種類型之資料同步。下文相對於圖5A之區塊506及514、圖5B之區塊556及566、圖7A之區塊706及722以及圖7B之區塊756提供關於同步之額外細節。
管線亦可包括在資料傳輸至接收方之前執行發送者側壓縮的過程。舉例而言,管線可使用RVL、RLE、TRVL或其他類型之壓縮。管線可包括用以經由通信頻道(例如,即時通信「RTC」通信頻道)來設定及傳輸資料的過程。管線可包括用以執行經由通信頻道自發送者接收之資料的接收者側解壓縮的過程。最後,管線可包括用以輸出所接收資料(例如,全像圖資料、影像資料及/或音訊資料)之過程。
藉由使用上述管線,全像通話系統可在兩個或更多個裝置之間實施全像通話。結果可向使用者提供互動式通話體驗,其中相較於現有通信系統(諸如語音或視訊通話),使用者體驗到其他交談參與者的較大在場感。舉例而言,在一些情況下,XR裝置之使用者可圍繞其環境移動以自不同角度看到另一使用者之全像表示。在一些情況下,使用者可能能夠與另一使用者之全像表示進行互動,其中應用程式可A)識別何時使用者之一部分觸碰或指示另一使用者之全像表示之一部分,及B)採取對應動作(例如,將互動傳信至所表示使用者,從而導致某種效應應用於另一使用者之全像表示等)。
所揭示技術之具體實例可包括人工實境系統或與人工實境系統一起實施。人工實境或額外實境(XR)為在向使用者呈現之前已按某種方式調整的一種形式之實境,其可包括例如虛擬實境(VR)、擴增實境(AR)、混合實境(MR)、混雜實境或其某一組合及/或衍生物。人工實境內容可包括完整產生的內容,或所產生內容與所擷取內容(例如真實世界像片)的組合。人工實境內容可包括視訊、音訊、觸覺回饋或其某一組合,其中之任一者可在單一頻道中或在多個頻道中(諸如,對檢視者產生三維效應之立體聲視訊)呈現。另外,在一些具體實例中,人工實境可與例如用以在人工實境中建立內容及/或用於人工實境中(例如,在人工實境中執行活動)之應用程式、產品、配件、服務或其某一組合相關聯。提供人工實境內容之人工實境系統可實施於各種平台上,包括連接至主機電腦系統之頭戴式顯示器(HMD)、獨立式HMD、行動裝置或計算系統、「洞穴」環境或其他投影系統,或能夠將人工實境內容提供至一或多個檢視者之任何其他硬體平台。
如本文中所使用,「虛擬實境」或「VR」係指使用者之視覺輸入由計算系統控制的沉浸式體驗。「擴增實境」或「AR」係指使用者在真實世界之影像已傳遞經過計算系統之後檢視該等影像的系統。舉例而言,在背部上具有攝影機之平板電腦可擷取真實世界之影像,且接著在平板電腦的與攝影機相對之側上之螢幕上顯示該等影像。平板電腦可在影像傳遞經過系統時處理及調整或「擴增」該等影像,諸如藉由添加虛擬物件。「混合實境」或「MR」係指其中進入使用者眼睛之光部分地由計算系統產生且部分地構成自真實世界中之物件反射之光的系統。舉例而言,MR頭戴式器件可經成形為具有透通顯示器之一副眼鏡,其允許來自真實世界之光穿過同時自MR頭戴式器件中之投影儀發射光的波導,從而允許MR頭戴式器件呈現與使用者可看到之真實物件互混的虛擬物件。如本文中所使用,「人工實境」、「額外實境」或「XR」係指VR、AR、MR或其任何組合或混雜中之任一者。
儘管存在現有視覺通信系統,但其無法致能相當於當面互動之通信。舉例而言,現有視訊通話系統限制可感知到的身體語言的量、未能提供使使用者相對於彼此移動的能力,且引入的侵入技術層面可能造成自通信分心且減弱當面通信的感覺。另外,用於在3D環境中(諸如,在虛擬實境聊天房間中)提供互動的現有系統在計算上極為昂貴,且未能準確地描繪通信參與者。本文中所描述之全像通話系統及全像通話管線預期克服與習知視訊及3D互動技術相關聯之此等問題,且預期降低3D通信之計算要求,同時提供更真實的互動。此外,藉由包括可取決於所使用裝置的能力定製的技術,全像通話系統可用超出現有系統的能力的各種裝置類型及顯示系統來操作。另外,儘管所揭示之全像通話系統提供相當於當面體驗之結果,但達成此結果之過程及系統並非現有通信技術之類似物,而是引入組織資料擷取及處理步驟、分析及緻密化所擷取資料以用於全像通話、智慧地填充遮擋及自使用者面部移除裝置等的全新方式,以提供全像通話體驗。舉例而言,現有視訊通話技術使用擷取及壓縮,但並不併入3D重構,亦不考慮使用者移動及格式資料以允許接收方自擷取裝置之視角以外的視角檢視發送使用者。此外,現有3D互動系統未能提供由所揭示之全像通話系統提供之保真度及資源節約。
下文參考諸圖更詳細地論述若干實施。圖1為說明所揭示技術之一些實施可在上面操作的裝置之概述的方塊圖。該裝置可包含計算系統100之硬體組件,其在全像通話管線之發送者側處擷取及編碼全像資料,且在該全像通話管線之接收者側處解碼及呈現該全像資料作為發送者之3D表示。在各種實施中,計算系統100可包括經由有線或無線頻道通信以分配處理及共用輸入資料的單一計算裝置103或多個計算裝置(例如,計算裝置101、計算裝置102及計算裝置103)。在一些實施中,計算系統100可包括能夠為使用者提供電腦建立或擴增體驗而無需外部處理或感測器的獨立頭戴式器件。在其他實施中,計算系統100可包括多個計算裝置,諸如頭戴式器件及核心處理組件(諸如控制台、行動裝置或伺服器系統),其中在頭戴式器件上執行一些處理操作,且將其他處理操作分擔至核心處理組件。下文相對於圖2A及圖2B描述實例頭戴式器件。在一些實施中,位置及環境資料可僅藉由併入於頭戴式器件裝置中之感測器來搜集,而在其他實施中,非頭戴式器件計算裝置中之一或多者可包括可追蹤環境或位置資料之感測器組件。
計算系統100可包括一或多個處理器110(例如,中央處理單元(CPU)、圖形處理單元(GPU)、全像處理單元(HPU)等)。處理器110可為裝置中之單一處理單元或多個處理單元或跨越多個裝置分佈(例如,跨越計算裝置101至103中的兩者或更多者分佈)。
計算系統100可包括提供輸入至處理器110、向其通知動作之一或多個輸入裝置120。該等動作可藉由硬體控制器介導,該硬體控制器解譯自輸入裝置接收之信號,且使用通信協定將資訊傳達至處理器110。每一輸入裝置120可包括例如滑鼠、鍵盤、觸控螢幕、觸控板、可佩戴式輸入裝置(例如,觸覺手套、手鐲、手環、耳環、項鏈、腕錶等)、攝影機(或其他基於光之輸入裝置,例如,紅外線感測器)、麥克風或其他使用者輸入裝置。
處理器110可例如藉由使用內部或外部匯流排(諸如,PCI匯流排、SCSI匯流排或無線連接)耦接至其他硬體裝置。處理器110可與用於裝置(諸如用於顯示器130)之硬體控制器通信。顯示器130可用於顯示文字及圖形。在一些實施中,諸如當輸入裝置為觸控螢幕或配備有眼睛方向監測系統時,顯示器130包括輸入裝置作為顯示器之部分。在一些實施中,顯示器與輸入裝置分離。顯示裝置之實例為:LCD顯示螢幕、LED顯示螢幕、投影、全像或擴增實境顯示器(諸如,抬頭顯示裝置或頭戴式裝置)等等。其他I/O裝置140亦可耦接至處理器,諸如網路晶片或卡、視訊晶片或卡、音訊晶片或卡、USB、火線或其他外部裝置、攝影機、印表機、揚聲器、CD-ROM機、DVD機、磁碟機等。
計算系統100可包括能夠與其他本地端計算裝置或網路節點無線或有線地通信之通信裝置。通信裝置可使用例如TCP/IP協定經由網路與另一裝置或伺服器通信。計算系統100可利用通信裝置以跨越多個網路裝置分配操作。
處理器110可存取記憶體150,該記憶體可含於計算系統100之計算裝置中之一者上或可跨越計算系統100之多個計算裝置或其他外部裝置分佈。記憶體包括用於揮發性或非揮發性儲存器之一或多個硬體裝置,且可包括唯讀記憶體及可寫記憶體兩者。舉例而言,記憶體可包括隨機存取記憶體(RAM)、各種快取記憶體、CPU暫存器、唯讀記憶體(ROM)及可寫非揮發性記憶體(諸如快閃記憶體、硬碟機、軟碟、CD、DVD、磁性儲存裝置、磁帶機等等)中之一或多者。記憶體並非自基礎硬體脫離的傳播信號;記憶體因此為非暫時性的。記憶體150可包括儲存程式及軟體(諸如作業系統162、全像通話系統164及其他應用程式166)之程式記憶體160。記憶體150亦可包括資料記憶體170,其可包括例如所擷取之彩色、深度及音訊資料、緻密化及掩蔽機器學習模型、身體模型化演算法、壓縮演算法、即時通信協定、3D網格、紋理、XR裝置3D模型、面部重構機器學習模型及演算法、組態資料、設定、使用者選項或偏好等,其可提供至程式記憶體160或計算系統100之任何元件。
一些實施可與眾多其他計算系統環境或組態一起操作。可能適合與該技術一起使用之計算系統、環境及/或組態之實例包括但不限於:XR頭戴式器件、個人電腦、伺服器電腦、手持式或膝上型電腦裝置、蜂巢式電話、可佩戴式電子件、遊戲控制台、平板電腦裝置、多處理器系統、基於微處理器之系統、機上盒、可程式化消費型電子裝置、網路PC、微型電腦、大型電腦及包括以上系統或裝置中之任一者的分散式計算環境,等等。
圖2A為根據一些具體實例的虛擬實境頭戴式顯示器(HMD)200的線圖。HMD 200包含前剛性本體205及帶210。前剛性本體205包括電子顯示器245之一或多個電子顯示元件、慣性運動單元(IMU)215、一或多個位置感測器220、定位器225及一或多個計算單元230。位置感測器220、IMU 215及計算單元230可在HMD 200內部,且對於使用者可能並不可見。在各種實施中,IMU 215、位置感測器220及定位器225可追蹤HMD 200在三自由度(3DoF)或六自由度(6DoF)中在真實世界及虛擬環境中之移動及位置。舉例而言,定位器225可發射在HMD 200周圍的真實物件上建立光點的紅外光束。作為另一實例,IMU 215可包括例如一或多個加速度計、陀螺儀、磁力計、其他非基於攝影機之位置、力或位向感測器,或其組合。與HMD 200整合的一或多個攝影機(圖中未示)可偵測光點。HMD 200中的計算單元230可使用偵測到的光點來外推HMD 200的位置及移動並且識別圍繞HMD 200的真實物件的形狀及位置。
電子顯示器245可與前剛性本體205整合,且可將影像光提供至如由計算單元230指定之使用者。在各種具體實例中,電子顯示器245可為單一電子顯示器或多個電子顯示器(例如,用於每一使用者眼睛的顯示器)。電子顯示器245之實例包括:液晶顯示器(LCD)、有機發光二極體(OLED)顯示器、主動矩陣有機發光二極體顯示器(AMOLED)、包括一或多個量子點發光二極體(QOLED)子像素之顯示器、投影儀單元(例如,微型LED、雷射等)、某一其他顯示器或其某一組合。
在一些實施中,HMD 200可耦接至核心處理組件,諸如個人電腦(PC)(圖中未示)及/或一或多個外部感測器(圖中未示)。外部感測器可監測HMD 200(例如,由自HMD 200發射之光),與自IMU 215及位置感測器220之輸出組合,PC可使用其來判定HMD 200之位置及移動。
圖2B為包括混合實境HMD 252及核心處理組件254的混合實境HMD系統250的線圖。混合實境HMD 252及核心處理組件254可經由如由連結256所指示之無線連接(例如,60 GHz連結)進行通信。在其他實施中,混合實境HMD系統250僅包括頭戴式器件,而無外部計算裝置,或包括在混合實境HMD 252與核心處理組件254之間的其他有線或無線連接。在又其他具體實例中,在混合實境HMD 252上執行用於混合實境系統HMD系統250之主要處理,而核心處理組件254僅提供I/O功能性,諸如彩色影像及深度影像擷取、使用者輸入、網路連接性等等。混合實境HMD 252包括透通顯示器258及框架260。框架260可容納各種電子組件(一些在圖中未示),諸如光投影儀(例如,雷射、LED等)、攝影機、眼睛追蹤感測器272、MEMS組件、網路連接組件、麥克風266、音訊輸出裝置274等。在一些實施中,混合實境HMD系統250(在混合實境HMD 252及核心處理組件254中之任一者或兩者中)可包括上文關於虛擬實境HMD 200所描述之硬體,諸如IR傳輸器及攝影機以及用於六自由度位置追蹤及定位之同時定位與地圖繪製(SLAM)攝影機。
投影儀可例如經由光學元件耦接至透通顯示器258以向使用者顯示媒體。該等光學元件可包括一或多個波導總成、反射器、透鏡、反射鏡、準直器、光柵等,以用於將光自投影儀導引至使用者之眼睛。影像資料可經由連結256自核心處理組件254傳輸至混合實境HMD 252。混合實境HMD 252中之控制器可將影像資料轉換為來自投影儀之光脈衝,該等光脈衝可作為輸出光經由光學元件傳輸至使用者之眼睛。輸出光可與通過透通顯示器258之光混合,從而允許輸出光呈現虛擬物件,如同其存在於真實世界中一般。
類似於HMD 200,混合實境HMD系統250亦可包括運動及位置追蹤單元、攝影機、光源等,其允許混合實境HMD系統250例如在3DoF或6DoF中追蹤自身、追蹤使用者之部分(例如,手、腳、頭部或其他身體部位)、在混合實境HMD 252移動時映射虛擬物件以看似為靜止,且使虛擬物件對示意動作及其他真實世界物件作出反應。在一些實施中,核心處理組件254可包括額外I/O硬體,諸如一或多個深度感測器262(其例如可擷取結構化光、點雲或其他深度資料)、RGB及/或黑白攝影機264、觸控板或其他使用者輸入組件270、IMU單元及/或磁力計268等。
圖2C說明控制器270,其在一些實施中,使用者可在一隻或兩隻手中握持該等控制器以與由HMD 200及/或混合實境HMD系統250呈現之人工實境環境互動。控制器270可直接或經由外部裝置(例如核心處理組件254)與HMD通信。控制器可具有其自身的IMU單元、位置感測器,及/或可發射其他光點。HMD 200或混合實境HMD系統250、外部感測器或控制器中之感測器可追蹤此等控制器光點以判定控制器位置及/或位向(例如,以在3DoF或6DoF中追蹤控制器)。HMD 200或核心處理組件254中之計算單元230可結合IMU及位置輸出而使用此追蹤監測使用者之手位置及運動。控制器亦可包括各種按鈕(例如,按鈕272A-F)及/或操縱桿(例如,操縱桿274A-B),使用者可致動該等按鈕及/或操縱桿以提供輸入且與物件互動。
在各種實施中,HMD 200或混合實境HMD系統250亦可包括額外子系統,諸如眼睛追蹤裝置、音訊系統、各種網路組件等,以監測使用者互動及意圖之指示。舉例而言,在一些實施中,替代控制器或除控制器外,包括於HMD 200或250中或來自外部攝影機之一或多個攝影機可監測使用者手之位置及姿態以判定示意動作及其他手及身體動作。
圖3為說明所揭示技術之一些實施可在其中操作的環境300之概述的方塊圖。環境300可包括一或多個用戶端計算裝置305A至305D,其實例可包括計算系統100。在一些實施中,用戶端計算裝置中之一些(例如,用戶端計算裝置305B)可為HMD 200或混合實境HMD系統250。用戶端計算裝置305可使用經由網路330至一或多個遠端電腦(諸如伺服器計算裝置)之邏輯連接在網路連接環境中操作。
在一些實施中,伺服器310可為經由其他伺服器(諸如伺服器320A-C)接收用戶端請求且協調彼等請求之履行的邊緣伺服器。伺服器計算裝置310及320可包含計算系統,諸如計算系統100。儘管每一伺服器計算裝置310及320邏輯地顯示為單一伺服器,但伺服器計算裝置可各自為涵蓋位於相同或地理上不同的實體位置處之多個計算裝置的分散式計算環境。
用戶端計算裝置305以及伺服器計算裝置310及320可各自充當(多個)其他伺服器/用戶端裝置之伺服器或用戶端。伺服器310可連接至資料庫315。伺服器320A-C可各自連接至對應資料庫325A-C。如上文所論述,每一伺服器310或320可對應於伺服器之群組,且此等伺服器中之每一者可共用資料庫或可具有其自身的資料庫。儘管資料庫315及325以邏輯方式顯示為單一單元,但資料庫315及325可各自為涵蓋多個計算裝置之分散式計算環境,可位於其對應伺服器內,或可位於相同或地理上不同的實體位置處。
網路330可為區域網路(LAN)、廣域網路(WAN)、網狀網路、混雜網路或其他有線或無線網路。網路330可為網際網路或某一其他公用或私用網路。用戶端計算裝置305可經由網路介面(諸如藉由有線或無線通信)連接至網路330。儘管在伺服器310與伺服器320之間的連接展示為單獨連接,但此等連接可為任何種類之本地端網絡、廣域網路、有線或無線網路,包括網路330或單獨的公用或私用網路。
圖4為說明在一些實施中可用於使用所揭示技術之系統中的組件400之方塊圖。組件400可包括於計算系統100之一個裝置中,或可跨越計算系統100之裝置中之多者分佈。組件400包括硬體410、介體420及專用組件430。如上文所論述,實施所揭示技術之系統可使用各種硬體,包括處理單元412、工作記憶體414、輸入及輸出裝置416(例如,攝影機、顯示器、IMU單元、網路連接等)及儲存記憶體418。在各種實施中,儲存記憶體418可為以下各者中之一或多者:本地端裝置、至遠程儲存裝置之介面,或其組合。舉例而言,儲存記憶體418可為可經由系統匯流排存取的一或多個硬碟機或隨身碟,或可為雲端儲存器提供者(諸如在儲存器315或325中)或可經由一或多個通信網路存取的其他網路儲存器。在各種實施中,組件400可實施於諸如用戶端計算裝置305之用戶端計算裝置中或諸如伺服器計算裝置310或320之伺服器計算裝置上。
介體420可包括介導在硬體410與專用組件430之間的資源的組件。舉例而言,介體420可包括作業系統、服務、驅動器、基本輸入輸出系統(BIOS)、控制器電路或其他硬體或軟體系統。
專用組件430可包括經組態以執行用於全像通話管線之操作的軟體或硬體。專用組件430可包括影像建立器434、緻密化及分段模組436、壓縮/解壓縮引擎438、3D網格建立器440、軀幹補洞引擎442、面部重構引擎444、顯現引擎446、自視圖模組448及可用於提供使用者介面、傳送資料及控制專用組件之組件及API(諸如介面432)。在一些實施中,組件400可在跨越多個計算裝置分佈之計算系統中,或可為至執行專用組件430中之一或多者的基於伺服器之應用程式的介面。儘管描繪為單獨組件,但專用組件430可為功能之邏輯或其他非實體區分,及/或可為一或多個應用程式之子模組或程式碼區塊。
影像建立器434可自I/O裝置416(諸如一或多個RGB攝影機、一或多個黑白攝影機、一或多個深度感測器等)接收資料流。自此等資料流,影像建立器434建立彩色(包括黑白)影像及/或深度影像。此可包括建立影像資料結構、執行去雜、穩定化、色彩調整、銳化、平滑化及其他增強以及解析度按比例放大或縮小。下文相對於圖5A之區塊504及506以及圖7A之區塊704及706提供關於影像建立之額外細節。
緻密化及分段模組436可自影像建立器434接收深度影像(且在一些情況下,亦可接收彩色影像),且可執行緻密化、分段及身體模型化。緻密化可包括界定深度影像之每一像素的深度量測。分段可識別影像之部分,諸如前景(展示使用者之部分)、諸如軀幹、手臂、手及頭部之身體部分,及所佩戴之XR裝置。身體模型化可包括識別3D空間中之特定點,匹配特定身體部位及在此等位點中之一些之間的連結。在一些實施中,若應用經訓練以執行所有三個功能之機器學習模型,則緻密化及分段模組436可同時執行緻密化、分段及身體模型化。此類機器學習模型可在各種環境中在人的合成影像上進行訓練,其中此類合成影像的建立可包括:用來自虛擬攝影機的深度資料標記影像的每一像素,在所述虛擬攝影機處,建立影像的視角;利用用於身體模型的所指派點及點連接將各部分標記為前景/背景、身體部位及XR裝置。下文相對於圖5A之區塊508、圖7A之區塊708及圖11A至圖11C提供關於緻密化、分段及身體模型化之額外細節。
壓縮/解壓縮引擎438可壓縮彩色影像、深度影像、3D網格及/或音訊資料以供傳輸至全像通話之接收方。壓縮/解壓縮引擎438亦可解壓縮在全像通話中自發送者接收之彩色影像、深度影像、3D網格及/或音訊資料。在各種實施中,壓縮及解壓縮可使用各種壓縮演算法(諸如RVL、RLE、TRVL、H.264/5、FLAC、WMAL及其他)來執行。下文相對於圖5A之區塊512及514、圖5B之區塊556、圖7A之區塊720及722以及圖7B之區塊756提供關於壓縮及解壓縮的額外細節。
3D網格建立器440可接收彩色影像及深度影像且將其轉換為3D網格。此可包括:建構3D網格,其中3D空間中的位點對應於針對深度影像中之像素所界定之深度;用身體之通用模型來填充間隙;及將彩色影像噴塗至3D網格上。下文相對於圖5B之區塊558及560以及圖7A之區塊712及714提供將深度及彩色影像變換為網格之額外細節。
軀幹補洞引擎442可識別使用者之3D表示的軀幹部分中之間隙,且可用來自使用者之現有模型的對應區域填充彼等間隙。此可包括:當軀幹之部分未被遮擋時,在來自藉由擷取裝置擷取之影像的前一位點處建立使用者之現有模型;藉由針對使用者之3D表示中的每一間隙匹配身體模型來匹配該等間隙與現有模型之對應部分;及用匹配部分填充該等間隙。下文相對於圖5B之區塊562、圖7A之區塊716及圖10提供軀幹補洞之額外細節。
面部重構引擎444可建立使用者頭部之表示,其移除使用者正佩戴之XR頭戴式器件或使XR頭戴式器件之鏡片顯得透明。面部重構引擎444可藉由應用機器學習模型或經由試探性方法來實現此目的。
機器學習模型可為在訓練項目上訓練的模型,其中實況為無XR裝置的個人面部之影像(或添加XR裝置但鏡片部分透明),且用於彼訓練項目的模型輸入為實況影像之版本,其中XR頭戴式器件疊加在使用者之面部上。應用機器學習模型可包括編碼模型輸入,且將經編碼影像提供至預測用於模型輸入之紋理的紋理預測分支及預測用於模型輸入之幾何結構的幾何結構預測分支兩者。可接著將預測紋理敷貼至預測幾何結構上。在訓練階段期間,可基於來自模型之部分的輸出與彼訓練項目之實況的版本之比較而應用一或多個損失函數。下文相對於圖5B之區塊564、圖7A之區塊718以及圖8A及圖8B提供關於藉由應用機器學習模型進行面部重構之額外細節。
面部重構之試探性方法可包括在使用者未佩戴XR頭戴式器件時產生使用者面部之預掃描,且基於此預掃描產生多個表情網格。在全像通話期間,系統可判定發送使用者之當前頭部位置及表情,且變換表情網格之組合以匹配頭部位置及表情。所得組合可與用於發送使用者之實時顏色及深度資料摻合,其可建立無XR頭戴式器件的發送使用者之類生命版本,該版本匹配發送使用者之位置及表情。下文相對於圖5B之區塊564、圖7A之區塊718以及圖9A及圖9B提供關於使用試探性方法進行面部重構之額外細節。
顯現引擎446可接收3D網格,且經由XR頭戴式器件輸出3D網格作為「全像圖」。在一些實施中,此可包括在顯示器上顯現3D網格,或將3D網格投影至使用者之眼睛中。在一些實施中,此投影可藉由將3D網格展平為多個2D平面(每隻眼睛一個平面,其具有不同視角以對使用者保持3D外觀),且例如使用MEMS反射鏡及微型LED、雷射或其他彩色投影系統將此等2D平面噴塗為影像來實現,此光可接著穿過一系列波導及濾波器以將其投影至使用者之眼睛中。下文相對於圖2A及圖2B、圖5B之區塊568及圖7B之區塊762提供關於顯現所產生3D網格之額外細節。
自視圖模組448可基於發送使用者之彩色影像(且在一些情況下,亦基於深度影像)在發送使用者之裝置上產生彼發送使用者之視圖。自視圖可允許發送使用者例如理解其如何由接收方檢視及/或相對於用於全像通話之擷取裝置較佳地定位自身。在一些實施中,自視圖可為發送使用者之影像,展示使用者對全像通話系統之(多個)攝影機看起來如何。此提供用於發送使用者之虛擬「鏡像」,從而允許使用者看到其將如何由(多個)接收方使用者檢視。在一些實施中,自視圖可顯示為發送使用者身體上的覆疊,從而對於該使用者說明使用者身體之哪些部位在擷取裝置的視場中。在又其他實施中,自視圖可展示發送使用者相對於擷取裝置之表示的第三人表示。此實施亦可包括關於使用者可如何重新定位自身或擷取裝置以改善擷取品質的推薦。下文相對於圖6提供關於產生自視圖之額外細節。
所屬技術領域中具有通常知識者應瞭解,上文所描述之圖1至圖4中所說明之組件及下文論述之流程圖中之每一者可以多種方式改變。舉例而言,可重新配置邏輯之次序,可並行地執行子步驟,可省略所說明之邏輯,可包含其他邏輯等等。在一些實施中,上文所描述之組件中之一或多者可執行下文所描述之過程中之一或多者。
圖5A及圖5B為說明用於在接收者側重構模式下在發送裝置與接收裝置之間執行全像通話之過程500及550的流程圖。接收者側重構模式為影像資料在全像通話中重構為接收裝置上之3D表示的模式。在一些情況下,同一裝置可充當發送者裝置(將發送使用者之表示發送至接收方)及接收方裝置(接收及顯示發送者之表示)兩者,且因此過程500及550中之每一者可由同一裝置執行,從而在發送及接收能力上起作用。在一些實施中,全像通話可在多於兩個裝置之間執行,每一裝置實施過程500之發送版本及過程550之多個接收方版本(每一另一通話參與者一個接收方版本)。
圖5A為說明用於本發明技術之一些實施中用於擷取及編碼用於在接收者側重構模式下操作之全像通話之資料的發送者側過程500之流程圖。在一些實施中,可回應於使用者起始在發送裝置與一或多個接收方裝置之間的全像通話而執行過程500。
在區塊502處,過程500可設定或加入在全像通話參與者之間的通信頻道。此可為使用已知技術促進全像通話之低潛時資料傳送的即時通信(RTC)頻道。RTC頻道可實施各種編碼/解碼演算法、壓縮/解壓縮演算法、遞送或潛時保證、安全特徵、投送及輸送演算法等。
在區塊504處,過程500可擷取彩色資料、深度資料及音訊資料。在各種實施中,所擷取音訊可來自XR頭戴式器件或單獨裝置上之麥克風陣列。彩色資料可為藉由執行過程500之計算系統的一或多個傳統攝影機(例如,RGB攝影機)擷取之黑白或全色資料。深度資料可使用立體(多透鏡)深度攝影機、雷達、雷射雷達、聲納或其他飛行時間(ToF)感測器、結構化光系統或其他深度感測技術來擷取。舉例而言,結構化光系統可發射光之圖案(例如,紅外(IR)光之點、線),且光感測器(例如,IR攝影機)可擷取彼圖案變形之程度,全像通話系統可使用該等圖案來計算至圖案之部分的距離。在一些實施中,可使用包括頭戴式器件之XR系統執行過程500。與頭戴式器件分離之裝置(例如,裝置254)可包括(多個)彩色擷取攝影機及(多個)深度感測器。此等攝影機及感測器可遠離發送使用者置放,且朝向該發送使用者,例如,在遠離發送使用者0.2米至3米之範圍內。在一些實施中,全像通話系統可向發送使用者提供關於如何及在何處置放單獨裝置的指導(例如,藉由將虛擬置放推薦噴塗至使用者之環境中)。在一些實施中,XR頭戴式器件上之攝影機或感測器亦可擷取彩色資料及/或深度資料,例如追蹤使用者眼睛之位置、XR頭戴式器件後方之面部外觀等。在一些實施中,單獨裝置可為智慧型手機,且發送使用者可或亦可不使用XR頭戴式器件。
在區塊506處,過程500可將來自(多個)彩色攝影機之資料饋入聚結為彩色影像,且將來自(多個)深度感測器之資料饋入聚結為深度影像。在所擷取深度資料足夠緻密的情況下,深度影像可經建立以使得深度影像中之每一像素與對應深度相關聯。當深度資料最初並不足夠緻密到將深度指派給每一像素(例如,其中深度資料為結構化光)時,可執行緻密化過程(見區塊508)以外推深度影像中之每一位點的深度資料。在一些實施中,過程500每次僅擷取一個RGB影像串流。在其他情況下,兩個或更多個彩色攝影機擷取RGB資料以建立多個同時彩色影像。來自彩色攝影機中之一者(例如,實體上最接近於(多個)深度感測器之攝影機)的影像可擷取用以建立用於全像圖之紋理的較高解析度影像(例如,1080p或4k)。另一影像可以較低解析度(例如,640×480)擷取及/或第一影像可按比例縮小至較低解析度,且此(等)影像可用以執行局部操作,諸如緻密化、掩蔽及身體追蹤(見區塊508),其中使用(多個)較低解析度影像來節省電力、處理容量及頻寬。資料饋入上之時戳可用於使所產生之彩色影像與深度影像同步。
在區塊508處,過程500可:對深度影像執行緻密化(若所擷取深度資料稀疏——不包括每一像素之深度值);產生對彩色影像及深度影像之各種部分進行分段的遮罩(例如,前景/背景、頭部、軀幹、手臂、手、XR頭戴式器件等);及產生彩色影像及深度影像之身體模型(例如,識別影像上對應於身體位置之點——見圖14)。在各種實施中,可訓練一或多個機器學習模型以產生經緻密化深度影像、遮罩及身體模型。在一些情況下,此(等)模型可使用人在各種環境中之影像及各種特性來訓練,其中影像可標記有逐像素深度標記、掩蔽部分及身體模型標記。在一些實施中,此等標記可為人工界定的及/或基於用以擷取影像之深度感測器。在其他實施中,訓練項目可為電腦產生環境中之電腦產生的人之影像,從而允許計算系統自動地將深度資料、遮罩及身體模型位點指派至合成影像。此模型可取一或多個彩色影像及深度影像作為輸入,且輸出經緻密化深度影像、遮罩及身體模型位點。在一些實施中,模型可為LSTM或其他循環模型,使用所儲存的先前模型輸出(例如,針對先前擷取的影像)以改善模型預測。與經訓練以單獨地執行每一任務之個別模型相比,藉由多任務學習訓練模型可改善每訊框之準確度。下文相對於圖11A至圖11C提供關於緻密化、掩蔽及身體模型產生之額外細節。
在區塊510處,過程500可將在區塊508處產生之遮罩中之一或多者應用於彩色影像及經緻密化深度影像。舉例而言,不需要所擷取影像中之使用者的背景來產生發送使用者之全像表示。藉由移除背景且僅保持描繪發送使用者之影像的部分,發送及接收系統兩者皆節省電力及處理容量,且傳輸此資訊原本需要之網路頻寬得以減少。
在區塊512處,過程500可壓縮A)彩色影像及深度影像之其餘部分(在自區塊510掩蔽之後)、B)遮罩及C)身體模型。在一些實施中,壓縮可編碼480p至1080p彩色影像、16bpp深度影像(480p)、1至4bpp遮罩及5至20個身體位點位置(各自約18位元組)。作為實例,遮罩及身體模型可使用RVL或RLE壓縮來壓縮,且可格式化為二元資料陣列;可使用標準視訊壓縮技術(例如,HEVC)壓縮彩色影像;且可使用RVL、RLE、TRVL或H.264/5標準壓縮深度資料。
在區塊514處,過程500:使所擷取音訊資料與在區塊512處壓縮之資料同步(例如,藉由匹配時戳);使用標準音訊壓縮技術壓縮音訊;且可經由在區塊502處建立之通信頻道發送經壓縮音訊及經壓縮影像資料(來自區塊512)。
過程500可在新音訊及影像資料由全像通話系統擷取時重複進行,直至全像通話結束。
圖5B為說明用於本發明技術之一些實施中用於解碼、重構及輸出用於在接收者側重構模式下操作之全像通話之資料的接收者側過程550之流程圖。在一些實施中,可回應於起始與發送裝置之全像通話而執行過程550。
在區塊552處,過程550可設定或加入在全像通話參與者之間的通信頻道。此可為上文關於區塊502所論述的即時通信(RTC)頻道。
在區塊554處,過程550可自發送系統接收經壓縮彩色影像、深度影像、遮罩及身體模型(例如,自執行過程500之發送裝置,在區塊514處發送)及經壓縮音訊資料。
在區塊556處,過程550可解壓縮且同步在區塊554處接收之資料。在區塊512及514處由發送者使用之每一壓縮演算法將具有過程550應用以獲得資料之未經壓縮版本的對應解壓縮演算法。
在區塊558處,過程550可基於經解壓縮深度資料來產生發送使用者之3D網格表示。過程550可藉由建構3D體積來實現此目的,其中3D空間中之位點對應於針對深度影像中之像素界定的深度。初始結果可為具有深度感測器不能夠看到發送使用者之部分所在之間隙的3D模型。由遮擋產生之間隙(諸如由使用者之手或手臂)用下文相對於區塊562論述之軀幹補洞過程填充。可用身體之通用模型填充其他間隙。舉例而言,發送使用者之背部可用身體之通用模型(其可基於發送使用者之諸如身高、體重、性別、種族等特性而選自一組通用模型身體)填充,且其可基於發送使用者之當前狀態(例如,應用類似服裝、頭髮、配飾等)而定製。基於身體模型,在區塊560處,3D網格上之區域(例如,眼睛、口、肩部、手等)可經標記用於紋理應用。
在區塊560處,過程550可將經解壓縮彩色影像資料(來自區塊556)噴塗至3D網格(在區塊558處產生)上。將彩色資料噴塗至3D網格上為網格提供紋理,使其看起來為像有生命的。在一些情況下,彩色資料中的特徵(例如,眼睛、口、肩部、手等)可使用來自身體模型的位點或經由物件辨識技術識別,以匹配彩色資料的部分與3D網格的對應部分。在一些實施中,各種已知變換可應用於彩色影像,使其可敷貼至3D網格上。
一旦經產生,3D網格便可相對於接收使用者的視角來定位,從而實現角度校正,其中發送使用者的所顯現表示經輸出為世界鎖定式,甚至在接收使用者相對於發送使用者的表示移動時亦如此。因此,過程550可自動地偵測外部擷取裝置在發送使用者側上之位置及位向,且判定接收使用者之視點(例如,基於接收使用者之經追蹤頭部位置及眼睛凝視方向)。視角可用於平移發送使用者之表示以在六自由度(6DoF)中出現在接收使用者之視點。
在區塊562處,過程550可對3D網格之身體部分執行軀幹補洞,從而填充3D網格之身體部分中的遮擋。此可包括用來自發送使用者之現有3D模型的對應片段來填充身體部分中之破洞。現有3D模型可使用預掃描過程建立以得到發送使用者之初始3D模型(例如,在裝置設定時或在全像通話開始時)或藉由自在身體未被遮擋之通話中較早獲取的快照建置3D模型而建立。在一些情況下,可擷取稍後快照以週期性地更新發送使用者之現有3D模型。此等影像連同發送使用者之身體模型一起可用以建立使用者之現有3D模型,其中後設資料標記界定身體上之特定位點(例如,「頂點」)。當過程550識別出3D網格中之破洞時,其可使用身體模型(上文所論述)來識別其用以填充3D網格中的彼破洞的現有模型之對應頂點。舉例而言,深度感測器可能當使用者在其手在前方做示意動作時擷取使用者之影像。歸因於使用者手之置放,使用者軀幹之一部分可能對於深度感測器不可見。因此,當建立3D網格時,在發送使用者之表示中可能在使用者手後方存在破洞。此可用發送使用者之現有模型的彼部分填充,該現有模型係自使用者之手不遮擋使用者之軀幹的快照所建立。下文相對於圖10提供關於產生軀幹補洞之額外細節。
在區塊564,過程550可對3D網格之頭部部分執行面部重構,從而自發送使用者之表示移除發送使用者可能佩戴之XR裝置或使彼XR裝置之鏡片顯得透明。面部重構階段可使用機器學習方法或試探性方法中之任一者或兩者來實現此目的。
機器學習方法可包括訓練機器學習模型以拍攝包括XR裝置的使用者面部之影像,及提供無XR裝置的使用者面部之影像或具有XR裝置之鏡片顯得透明的使用者面部之影像。在一些情況下,可使用藉由以下操作產生的訓練項目來訓練模型:拍攝無XR裝置之使用者的影像或用具有鏡片部分為透明的XR裝置擴增的影像作為實況;及將彼實況影像與所產生影像配對,從而展示在使用者之眼睛上經添加至使用者影像之XR裝置,如將在全像通話期間所擷取。機器學習模型可包括編碼器、幾何結構投影分支及紋理投影分支。在訓練期間,編碼器可用XR裝置接收輸入影像,且對其進行編碼以供應用於機器學習模型。可將影像之編碼提供至幾何結構投影分支及紋理投影分支兩者。幾何結構投影分支可預測不包括XR裝置的使用者面部之幾何結構(3D網格),且紋理投影分支可預測亦不包括XR裝置的使用者面部之紋理。在一些實施中,訓練模型可包括比較針對訓練項目之實況產生的幾何結構與預測幾何結構,且應用第一組損失函數以更新幾何結構投影分支之參數,從而對其進行訓練。類似地,在此等實施中,訓練可進一步包括比較針對訓練項目之實況產生的紋理與預測紋理,且應用第二組損失函數以更新紋理投影分支的參數,從而亦對其進行訓練。在其他實施中,可將預測紋理噴塗至預測幾何結構上,且產生並輸出影像;訓練可包括比較訓練項目之實況與輸出影像,且應用一組損失函數以更新幾何結構投影分支及紋理投影分支兩者之參數,從而訓練整個模型。一旦模型得以訓練,即可在全像通話期間由過程550應用該模型以接收佩戴XR裝置的發送使用者的影像,且在無XR裝置或在鏡片為透明的情況下產生使用者的影像。下文相對於圖8A及圖8B提供關於使用機器學習方法進行面部重構的額外細節。
面部重構之試探性方法可包括在發送使用者未佩戴XR裝置時執行該使用者之面部的預掃描。此預掃描可用於產生使用者面部之3D網格,其可進一步變換成用於不同使用者表情之多個網格。在全像通話期間,過程550可分析佩戴XR裝置的使用者的輸入影像,以判定使用者的頭部姿態及面部表情。過程550可接著選擇對應於所判定面部表情的表情網格中之一或多者,且將其摻合為對應於使用者之當前表情的輸出網格。最後,過程550可應用實時深度資料及彩色資料(來自區塊556)以供發送使用者調整輸出網格以更接近地類似於發送使用者。此調整之結果可為無XR裝置之使用者面部的實時重構,或在需要具有透明鏡片之XR裝置的情況下,可將具有帶透明鏡片之XR裝置之3D模型的使用者面部添加至輸出網格。下文相對於圖9A及圖9B提供關於使用試探性方法之面部重構的額外細節。
在區塊566處,過程550可藉由匹配基於經解壓縮音訊資料被擷取的時間而添加至該音訊的時戳與用於建立3D網格之彩色影像及深度影像上的時戳,而使來自區塊556的經解壓縮音訊資料與3D網格同步。
在區塊568處,過程550可輸出經同步之音訊及經噴塗之網格。在各種實施中,此可包括:經由XR顯示裝置中之顯現引擎輸出3D網格作為虛擬物件;在螢幕上(例如,智慧型手機螢幕)顯示3D網格;及/或經由揚聲器、骨骼或軟骨傳導系統等播放音訊。
當經由通信頻道接收到新資料時,過程550可重複進行,直至全像通話結束。
圖6為說明用於本發明技術之一些實施中用於產生發送者之自視圖的發送者側過程600的流程圖。在一些實施中,回應於使用者命令呈現發送使用者之自視圖、自動地隨著全像通話進展或回應於某些觸發項,諸如全像通話系統偵測到發送使用者之部分不在全像通話系統之攝影機中之一或多者的視圖中,可在全像通話管線之發送者側裝置上執行過程600。
在區塊602處,過程600可獲得自視圖資料。自視圖資料可為發送使用者之所擷取的彩色影像。在一些實施中,自視圖資料可為區塊506或706處產生之彩色影像。在一些實施中,過程600亦可獲得額外資料,諸如在區塊506或706處產生的深度影像。
在區塊604處,過程600可對自視圖資料進行分段。此分段可包括首先自前景(描繪使用者之影像部分)移除背景(不描繪使用者之影像部分)。在一些情況下,分段可進一步在前景中識別發送使用者身體之部位,諸如其面部、手臂、手、軀幹等。在一些實施中,可自區塊508或708之結果獲得分段。
在區塊606處,過程600可使用來自區塊604之經分段自視圖資料來產生自視圖影像。且在區塊608處,過程600可輸出自視圖影像。
在一些實施中,自視圖可為發送使用者之影像,展示使用者對全像通話系統之(多個)攝影機看起來如何。此提供用於發送使用者之虛擬「虛擬鏡像」,從而允許使用者看到其將如何由(多個)接收方使用者檢視。舉例而言,此自視圖可顯示於緊靠另一(其他)全像通話參與者之全像圖出現之虛擬面板中。此亦可幫助發送使用者知曉其是否位於攝影機之視圖中,從而允許使用者重新定位其自身或擷取裝置以改善擷取品質。
在一些實施中,自視圖可顯示為發送使用者身體上的覆疊,從而對於該使用者說明使用者身體之哪些部位在擷取裝置的視場中。舉例而言,若擷取裝置可看到右臂以外的整個發送使用者,則使用者可向下看且看到噴塗至自身上之自視圖影像(不包括其右臂)。或者,過程600可強調擷取裝置無法看到之部分,因此在使用者向下看時,其可看到其右臂突出顯示(例如,以紅色),從而表明彼身體部位在擷取裝置的視場之外。
在又其他實施中,自視圖可展示發送使用者相對於擷取裝置之表示的第三人表示。舉例而言,可建立發送使用者之微型影像作為使用者之第三人視圖,從而展示擷取裝置之擷取視場的表示及使用者之位置如何適配於彼視場內。此實施亦可包括關於使用者可如何重新定位自身或擷取裝置以改善擷取品質的推薦。
在一些情況下,可一起使用多個以上實施,例如,展示鏡像視圖及第三個視圖兩者;或展示第三人視圖及覆疊視圖兩者。
圖7A及圖7B為說明用於在發送者側重構模式下在發送裝置與接收裝置之間執行全像通話之過程700及750的流程圖。發送者側重構模式為影像資料在全像通話中重構為發送裝置上之3D表示的模式。在一些情況下,同一裝置可充當發送者裝置(將發送使用者之表示發送至接收方)及接收方裝置(接收及顯示發送者之表示)兩者,且因此過程700及750中之每一者可由同一裝置執行,從而在發送及接收能力上起作用。在一些實施中,全像通話可在多於兩個裝置之間執行,每一裝置實施過程700之發送版本及過程750之多個接收方版本(每一另一通話參與者一個接收方版本)。
圖7A為說明用於本發明技術之一些實施中用於擷取、重構及編碼用於在發送者側重構模式下操作之全像通話之資料的發送者側過程700之流程圖。在一些實施中,可回應於使用者起始在發送裝置與一或多個接收方裝置之間的全像通話而執行過程700。
在區塊702處,過程700可設定或加入在全像通話參與者之間的通信頻道。此可為使用已知技術促進全像通話之低潛時資料傳送的即時通信(RTC)頻道。RTC頻道可實施各種編碼/解碼演算法、壓縮/解壓縮演算法、遞送保證、安全特徵、投送及輸送演算法等。
在區塊704處,過程700可擷取彩色資料、深度資料及音訊資料。在各種實施中,所擷取音訊可來自XR頭戴式器件或單獨裝置上之麥克風陣列。彩色資料可為藉由執行過程700之計算系統的一或多個傳統攝影機(例如,RGB攝影機)擷取之黑白或全色資料。深度資料可使用立體(多透鏡)深度攝影機、雷達、雷射雷達、聲納或其他飛行時間(ToF)感測器、結構化光系統或其他深度感測技術來擷取。舉例而言,結構化光系統可發射光之圖案(例如,紅外(IR)光之點、線),且光感測器(例如,IR攝影機)可擷取彼圖案變形之程度,全像通話系統可使用該等圖案來計算至圖案之部分的距離。在一些實施中,可使用包括頭戴式器件之XR系統執行過程700。與頭戴式器件分離之裝置(例如,裝置254)可包括(多個)彩色擷取攝影機及(多個)深度感測器。此等攝影機及感測器可遠離發送使用者置放,且朝向該發送使用者,例如在遠離發送使用者0.2米至3米之範圍內。在一些實施中,全像通話系統可向發送使用者提供關於如何及在何處置放單獨裝置的指導(例如,藉由將虛擬置放推薦噴塗至使用者之環境中)。在一些實施中,XR頭戴式器件上之攝影機或感測器亦可擷取彩色資料及/或深度資料,例如追蹤使用者眼睛之位置、XR頭戴式器件後方之面部外觀等。在一些實施中,單獨裝置可為智慧型手機,且發送使用者可或亦可不使用XR頭戴式器件。
在區塊706處,過程700可將來自(多個)彩色攝影機之資料饋入聚結為彩色影像,且將來自(多個)深度感測器之資料饋入聚結為深度影像。在所擷取深度資料足夠緻密的情況下,深度影像可經建立以使得深度影像中之每一像素與對應深度相關聯。當深度資料最初並不足夠緻密到將深度指派給每一像素(例如,其中深度資料為結構化光)時,可執行緻密化過程(見區塊708)以外推深度影像中之每一位點的深度資料。在一些實施中,過程700每次僅擷取一個RGB影像串流。在其他情況下,兩個或更多個彩色攝影機擷取RGB資料以建立多個同時彩色影像。來自彩色攝影機中之一者(例如,實體上最接近於(多個)深度感測器之攝影機)的影像可擷取用以建立用於全像圖之紋理的較高解析度影像(例如,1080p或4k)。另一影像可以較低解析度(例如,640×480)擷取及/或第一影像可按比例縮小至較低解析度,且此(等)影像可用以執行局部操作,諸如緻密化、掩蔽及身體追蹤(見區塊708),其中使用(多個)較低解析度影像來節省電力、處理容量及頻寬。資料饋入上之時戳可用於使所產生之彩色影像與深度影像同步。
在區塊708處,過程700可:對深度影像執行緻密化(若所擷取深度資料稀疏--不包括每一像素之深度值);產生對彩色影像及深度影像之各種部分進行分段的遮罩(例如,前景/背景、頭部、軀幹、手臂、手、XR頭戴式器件等);及產生彩色影像及深度影像之身體模型(例如,識別影像上對應於身體位置之位點)。在各種實施中,可訓練一或多個機器學習模型以產生經緻密化深度影像、遮罩及身體模型。在一些情況下,此(等)模型可使用人在各種環境中之影像及各種特性來訓練,其中影像可標記有逐像素深度標記、掩蔽部分及身體模型標記。在一些實施中,此等標記可為人工界定的及/或基於用以擷取影像之深度感測器。在其他實施中,訓練項目可為電腦產生環境中之電腦產生的人之影像,從而允許計算系統自動地將深度資料、遮罩及身體模型位點指派至合成影像。此模型可取一或多個彩色影像及深度影像作為輸入,且輸出經緻密化深度影像、遮罩及身體模型位點。在一些實施中,模型可為LSTM或其他循環模型,使用所儲存的先前模型輸出(例如,針對先前擷取的影像)以改善模型預測。與經訓練以單獨地執行每一任務之個別模型相比,藉由多任務學習訓練模型可改善每訊框之準確度。下文相對於圖11A至圖11C提供關於緻密化、掩蔽及身體模型產生之額外細節。
在區塊710處,過程700可將在區塊708處產生之遮罩中之一或多者應用於彩色影像及經緻密化深度影像。舉例而言,不需要所擷取影像中之使用者的背景來產生發送使用者之全像表示。藉由移除背景且僅保持描繪發送使用者之影像的部分,發送及接收系統兩者皆節省電力及處理容量,且傳輸此資訊原本需要之網路頻寬得以減少。
在區塊712處,過程700可基於在區塊710處產生之經掩蔽資料來產生發送使用者之3D網格表示。過程700可藉由建構3D體積來實現此目的,其中3D空間中之位點對應於針對深度影像中之像素界定的深度。初始結果可為具有深度感測器不能夠看到發送使用者之部分所在之間隙的3D模型。由遮擋產生之間隙(諸如由使用者之手或手臂)用下文相對於區塊716論述之軀幹補洞過程填充。可用身體之通用模型來填充其他間隙。舉例而言,發送使用者之背部可用身體之通用模型(其可基於發送使用者之諸如身高、體重、性別、種族等特性而選自一組通用模型身體)填充,且其可基於發送使用者之當前狀態(例如,應用類似服裝、頭髮、配飾等)而定製。基於身體模型,在區塊714處,3D網格上之區域(例如,眼睛、口、肩部、手等)可經標記用於紋理應用。
在區塊714處,過程700可將經掩蔽彩色影像資料(來自區塊710)噴塗至3D網格(在區塊712處產生)上。將彩色資料噴塗至3D網格上為網格提供紋理,使其看起來為像有生命的。在一些情況下,彩色資料中的特徵(例如,眼睛、口、肩部、手等)可使用來自身體模型的位點或經由物件辨識技術識別,以匹配彩色資料的部分與3D網格的對應部分。在一些實施中,各種已知變換可應用於彩色影像,使其可敷貼至3D網格上。
在區塊716處,過程700可對3D網格之身體部分執行軀幹補洞,從而填充3D網格之身體部分中的遮擋。此可包括用來自發送使用者之現有3D模型的對應片段來填充身體部分中之破洞。現有3D模型可使用預掃描過程建立以得到發送使用者之初始3D模型(例如,在裝置設定時或在全像通話開始時)或藉由自在身體未被遮擋之通話中較早獲取的快照建置3D模型而建立。在一些情況下,可擷取稍後快照以週期性地更新發送使用者之現有3D模型。此等影像連同發送使用者之身體模型一起可用以建立使用者之現有3D模型,其中後設資料標記界定身體上之特定位點(例如,「頂點」)。當過程700識別出3D網格中之破洞時,其可使用身體模型(上文所論述)識別其用以填充3D網格中的彼破洞的現有模型之對應頂點。舉例而言,深度感測器可能當使用者在其手在前方做示意動作時擷取使用者之影像。歸因於使用者手之置放,使用者軀幹之一部分可能對於深度感測器不可見。因此,當建立3D網格時,在發送使用者之表示中可能在使用者手後方存在破洞。此可用發送使用者之現有模型的彼部分填充,該現有模型係自使用者之手不遮擋使用者之軀幹的快照所建立。下文相對於圖10提供關於產生軀幹補洞之額外細節。
在區塊718,過程700可對3D網格之頭部部分執行面部重構,從而自發送使用者之表示移除發送使用者可能佩戴之XR裝置或使彼XR裝置之鏡片顯得透明。面部重構階段可使用機器學習方法或試探性方法中之任一者或兩者來實現此目的。
機器學習方法可包括訓練機器學習模型以拍攝包括XR裝置的使用者面部之影像,及提供無XR裝置的使用者面部之影像或具有XR裝置之鏡片顯得透明的使用者面部之影像。在一些情況下,可使用藉由以下操作產生的訓練項目來訓練模型:拍攝無XR裝置之使用者的影像或用具有鏡片部分為透明的XR裝置擴增的影像作為實況;及將彼實況影像與所產生影像配對,從而展示在使用者之眼睛上添加至使用者影像之XR裝置,如將在全像通話期間所擷取。機器學習模型可包括編碼器、幾何結構投影分支及紋理投影分支。在訓練期間,編碼器可用XR裝置接收輸入影像,且對其進行編碼以供應用於機器學習模型。可將影像之編碼提供至幾何結構投影分支及紋理投影分支兩者。幾何結構投影分支可預測不包括XR裝置的使用者面部之幾何結構(3D網格),且紋理投影分支可預測亦不包括XR裝置的使用者面部之紋理。在一些實施中,訓練模型可包括比較針對訓練項目之實況產生的幾何結構與預測幾何結構,且應用第一組損失函數以更新幾何結構投影分支之參數,從而對其進行訓練。類似地,在此等實施中,訓練可進一步包括比較針對訓練項目之實況產生的紋理與預測紋理,且應用第二組損失函數以更新紋理投影分支的參數,從而亦對其進行訓練。在其他實施中,可將預測紋理噴塗至預測幾何結構上,且產生並輸出影像;訓練可包括比較訓練項目之實況與輸出影像,且應用一組損失函數以更新幾何結構投影分支及紋理投影分支兩者之參數,從而訓練整個模型。一旦模型得以訓練,即可在全像通話期間由過程550應用該模型以接收佩戴XR裝置的發送使用者的影像,且在無XR裝置或在鏡片為透明的情況下產生使用者的影像。下文相對於圖8A及圖8B提供關於使用機器學習方法進行面部重構的額外細節。
面部重構之試探性方法可包括在使用者未佩戴XR裝置時執行發送使用者面部之預掃描。此預掃描可用於產生使用者面部之3D網格,其可進一步變換成用於不同使用者表情之多個網格。在全像通話期間,過程700可分析佩戴XR裝置的使用者的輸入影像,以判定使用者的頭部姿態及面部表情。過程700可接著選擇對應於所判定面部表情的表情網格中之一或多者,且將其摻合為對應於使用者之當前表情的輸出網格。最後,過程700可應用實時深度資料及彩色資料(來自區塊710)以供發送使用者調整輸出網格以更接近地類似於發送使用者。此調整之結果可為無XR裝置之使用者面部的實時重構,或在需要具有透明鏡片之XR裝置的情況下,可將具有帶透明鏡片之XR裝置之3D模型的使用者面部添加至輸出網格。下文相對於圖9A及圖9B提供關於使用試探性方法之面部重構的額外細節。
在區塊720處,過程700可基於在區塊712至718中產生之完整網格來壓縮資料以待發送至全像通話中之一或多個接收方。在各種實施中,壓縮可為壓縮(A)來自區塊714之經噴塗網格(具有來自區塊716之軀幹補洞及來自區塊718之面部重構的結果)、或(B)基於此網格來壓縮深度圖及彩色資料。網格或深度資料與彩色資料可使用RVL、RLE、TRVL或H.264/5標準進行壓縮。因為補洞及面部重構步驟已完成,因此傳輸至接收方之資料可不包括遮罩及/或身體模型。
在區塊722處,過程700:使所擷取音訊資料與在區塊720處壓縮之資料同步(例如,藉由匹配時戳);使用標準音訊壓縮技術壓縮音訊;且可經由在區塊702處建立之通信頻道發送經壓縮音訊及經壓縮3D資料(來自區塊720)。
過程700可在新音訊及影像資料由全像通話系統擷取時重複進行,直至全像通話結束。
圖7B為說明用於本發明技術之一些實施中用於解碼及顯示用於在發送者側重構模式下操作之全像通話之資料的接收者側過程750之流程圖。在一些實施中,可回應於起始與發送裝置之全像通話而執行過程750。
在區塊752,過程750可設定或加入在全像通話參與者之間的通信頻道。此可為上文相對於區塊702所論述的即時通信(RTC)頻道。在區塊754處,過程750可經由通信頻道自發送系統接收經壓縮3D資料及音訊資料(例如,在區塊720及722處壓縮及發送)。
在區塊756處,過程750可解壓縮且同步在區塊754處接收之資料。在區塊720及722處由發送者使用之每一壓縮演算法將具有過程750應用以獲得資料之未經壓縮版本的對應解壓縮演算法。
儘管如上文所提及,但在各種實施中可重新配置或排除所有區塊,但在虛線中說明區塊758以展示其中區塊754接收經噴塗網格且因此在區塊758處建立經噴塗網格可予以跳過的特定實施。在區塊758處,過程750可自在區塊754處接收且在區塊756處解壓縮的深度圖及彩色資料產生經噴塗網格。在一些實施中,產生此經噴塗網格可以類似於上文關於區塊712及714所描述之經噴塗網格的建立的方式來執行。
所接收或產生的3D網格可相對於接收使用者的視角來定位,從而實現角度校正,其中發送使用者的所顯現表示經輸出為世界鎖定式,甚至在接收使用者相對於發送使用者的表示移動時亦如此。因此,過程750可自動地獲得外部擷取裝置在發送使用者側上之位置及位向,且判定接收使用者之視點(例如,基於接收使用者之經追蹤頭部位置及眼睛凝視方向)。視角可用於平移發送使用者之表示以在六自由度(6DoF)中出現在接收使用者之視點。
在區塊760處,過程750可藉由匹配基於經解壓縮音訊資料被擷取的時間而添加至該音訊的時戳與用於建立3D網格之彩色影像及深度影像上的時戳,而使來自區塊756的經解壓縮音訊資料與3D網格同步。
在區塊762處,過程750可輸出經同步之音訊及經噴塗之網格。在各種實施中,此可包括:經由XR顯示裝置中之顯現引擎輸出3D網格作為虛擬物件;在螢幕上(例如,智慧型手機螢幕)顯示3D網格;及/或經由揚聲器、骨骼或軟骨傳導系統等播放音訊。
當經由通信頻道接收到新資料時,過程750可重複進行,直至全像通話結束。
圖8A為說明用於本發明技術之一些實施中用於訓練機器學習模型以對全像資料執行面部重構的過程800之流程圖。在一些實施中,可在例如在伺服器系統上起始全像通話之前執行過程800。一旦經訓練,即可提供由過程800產生之機器學習模型以在全像通話之發送者側或接收者側裝置上執行面部重構。可回應於使用者供應訓練資料及執行命令以執行訓練過程而執行過程800。
在區塊802處,過程800可獲得待訓練用於面部重構之一或多個機器學習模型。如本文中所使用,「機器學習模型」係指使用訓練資料訓練以進行預測或提供新資料項目之概率(不論新資料項目是否包括於訓練資料中)的構造。舉例而言,用於監督式學習之訓練資料可包括具有各種參數及指定分類之項目。新資料項目可具有模型可用以將分類指派至新資料項目的參數。模型之實例包括:神經網路、支援向量機、帕爾森窗(Parzen window)、貝葉斯(Bayes)、聚類模型、強化模型、概率分佈、決策樹、決策樹森林,及其他。機器學習模型可經組態用於各種情境、資料類型、來源及輸出格式。
在一些實施中,所獲得機器學習模型可包括一或多個神經網路,其各自具有接收影像之表示的多個輸入節點。輸入節點可對應於接收輸入及產生結果之功能。此等結果可提供至一或多個層級之中間節點,其各自基於較低層級節點結果之組合來產生進一步結果。可在將結果傳遞至下一層節點之前將加權因數應用於每一節點之輸出。在最終層(「輸出層」)處,一或多個節點可產生對輸入進行分類之值,一旦模型經訓練,其即可展示輸入影像之經修改版本,諸如其中XR裝置經移除或其中XR裝置的鏡片為透明。在一些實施中,稱為深度神經網路之此類神經網路可具有帶著不同組態之多個中間節點層,可為自深度神經網路之其他部分接收輸入及/或輸入之不同部分的模型組合,及/或可為躺臥模型(部分地使用來自應用模型之先前迭代的輸出作為進一步輸入以產生用於當前輸入之結果)。
在一些實施中,所獲得模型可包括:(A)將影像轉換為模型輸入(亦即,及「經編碼影像」)之編碼器;(B)幾何結構投影分支,其可基於經編碼影像來預測不包括XR裝置或使鏡片透明的使用者面部之幾何結構(3D網格);及(C)紋理投影分支,其可基於經編碼影像來預測不包括XR裝置或使鏡片透明的使用者面部之紋理。在一些情況下,所獲得模型亦可為躺臥模型,其使用一或多個先前迭代之輸出用於下一迭代之預測。
在區塊804處,過程800可獲得用於訓練所獲得的機器學習模型的訓練項目。在一些實施中,過程800可藉由拍攝人面部之影像且將其與過程800已在人面部之眼睛區域上添加XR裝置之影像的彼影像進行配對而產生訓練項目。不具有XR裝置之原始影像可視為其中模型經訓練以基於具有XR裝置之面部的輸入影像來預測的實況。在其他實施中,過程800可藉由拍攝人面部之影像且建立每一此類影像之兩個版本來產生訓練項目:在一個版本中,過程800已在人面部之眼睛區域上添加具有透明鏡片的XR裝置之影像,且在另一版本中,過程800已在人面部之眼睛區域上添加XR裝置之影像,其中鏡片為不透明。不具有帶透明鏡片之XR裝置的第一原始影像可視為其中模型經訓練以基於具有無透明鏡片之XR裝置的面部之輸入影像所預測的實況。在又其他實施中,過程800可獲得非合成訓練資料項目,其包括與相同姿態的具有XR裝置的使用者之第二影像配對的無XR裝置(或鏡片被移除)的使用者之實況影像。
在區塊806處,過程800可自在區塊804獲得的該組訓練項目選擇下一訓練項目。若此為過程800第一次到達區塊806,則過程800可選擇訓練項目中之第一者;否則,過程800可自該組選擇尚未用於訓練機器學習模型之下一訓練項目。
在區塊808處,過程800可藉由將輸入影像應用於影像編碼器以從展示XR裝置的所選訓練項目中之輸入影像產生經編碼影像。在一些實施中,編碼器可為經訓練以接收影像且產生影像之表示(例如作為高維向量)的已知模型。舉例而言,編碼器可為卷積神經網路,諸如MobileNet編碼器中之一者(例如,MobileNetV2)。在一些實施中,除了輸入影像,編碼器亦可採用其他輸入,諸如(A)輸入影像中所描繪之個人之面部的深度掃描或3D網格,及/或(B)來自將機器學習模型應用於同一人處於不同姿態之影像的先前迭代的輸出。
在區塊810處,過程800可藉由將來自區塊808之經編碼影像應用於所獲得機器學習模型之幾何結構預測分支來預測輸入影像之幾何結構。在一些實施中,幾何結構預測分支可為接收經編碼影像且產生經編碼影像中描繪之面部之預測幾何結構的神經網路。
在區塊812處,過程800可藉由比較經預測幾何結構與所選訓練項目之實況的幾何結構來更新機器學習模型之幾何結構預測分支的訓練,且基於該比較,應用第一組一或多個損失函數來更新幾何結構預測分支之參數。在一些情況下,預測幾何結構可為在輸入影像中建立面部之經重構幾何結構的預測向量(基礎權重),其與基於實況影像之3DMM參數(例如,形狀、幾何結構、紋理、3D頂點等)進行比較。該比較可包括針對預測幾何結構中之每一頂點來判定在彼頂點與來自實況訓練項目之幾何結構的對應頂點之間的3D空間中的偏移。在一些實施中,可應用多個損失函數以例如利用L2正則化、加權參數距離成本及/或3D頂點成本來訓練幾何結構分支。訓練可包括應用其中使用所有所擷取面部之平均面部的正則化,其移除離群影像/大差值,從而避免過度擬合。
與區塊810及812同時,區塊814及816可使用所選訓練項目來更新機器學習模型之紋理分支之訓練。在區塊814處,過程800可藉由將來自區塊808之經編碼影像應用於所獲得機器學習模型之紋理預測分支來預測輸入影像之紋理。在一些實施中,紋理分支可包括解碼器,諸如具有跳過連接之去卷積層的神經網路,其可使經編碼輸入影像翹曲以將其成形而擬合至面部幾何結構,同時以用於在XR裝置下方的使用者面部的經預測著色來替換所描繪XR裝置。
在區塊816處,過程800可藉由比較經預測紋理與所選訓練項目之實況的紋理來更新機器學習模型之紋理預測分支的訓練,且基於該比較,應用一組一或多個損失函數來更新紋理預測分支之參數。在一些實施中,可應用多個損失函數以訓練紋理分支,例如利用L1損失(比較在預測紋理與實況紋理之間的距離)、結構類似性索引量測(SSIM)損失及/或感知損失(對中間層之約束—使得預測影像在感知上類似於良好影像之人類解譯)。訓練可包括應用其中使用所有所擷取面部之平均面部的正則化,其移除離群影像/大差值,從而避免過度擬合。
在另一具體實例中,替代單獨地訓練幾何結構及紋理分支中之每一者,可將預測紋理敷貼至預測幾何結構上。可將結果展平為2D影像,可將其與來自所選訓練項目之輸入影像進行比較。基於此比較,可更新幾何結構分支及紋理分支中之每一者的訓練。
一旦機器學習模型之訓練已針對所選訓練項更新(例如區塊812及816兩者完成),過程800即可繼續進行至區塊818。在區塊818處,過程800可判定在區塊804處所獲得之訓練項目組中是否存在尚未用以訓練機器學習模式的額外訓練項目。若如此,則過程800可返回至區塊806以選擇下一訓練項目。若否,則過程800可繼續進行至區塊820。在區塊820處,過程800可完成及儲存現在已經訓練之(多個)面部重構模型。舉例而言,過程800可儲存經訓練機器學習模型,使得其可佈建至計算系統,在該計算系統處,其將用於下文所論述之過程850中用於面部重構(例如,在過程550中由接收方系統或在過程700中由發送者系統用於面部重構)。
圖8B為說明用於本發明技術之一些實施中用於應用經訓練機器學習模型以對全像資料執行面部重構的過程850之流程圖。在各種實施中,過程850可在全像通話管線之發送者側裝置上(例如,作為區塊718之子過程)或在全像通話管線之接收者側裝置上執行(例如,作為區塊564之子過程)。
在區塊852處,過程850可獲得面部重構機器學習模型及發送使用者之面部資料。面部重構模型可為藉由方法800訓練之模型。在一些實施中,面部重構模型可包括編碼器、幾何結構分支及紋理分支,如上文關於過程800所論述。面部資料可包括發送使用者之一或多個影像。在其中藉由額外資料(諸如所描繪使用者之深度資料或預掃描)訓練面部重構模型的一些實施中,亦可獲得發送使用者之此等特徵。在一些實施中,面部資料可基於在過程500或700中擷取之資料而獲得。
在區塊854處,過程850可藉由將面部資料(例如,發送使用者之影像)提供至面部重構模型之編碼器(例如,MobileNetV2編碼器)而產生一或多個經編碼影像。
以類似於區塊810之方式,在區塊856處,過程850可藉由將來自區塊808之經編碼影像應用於所獲得面部重構模型之幾何結構預測分支來預測經編碼影像之幾何結構。在一些實施中,幾何結構預測分支可為接收經編碼影像且產生經編碼影像中描繪之面部之預測幾何結構的神經網路。
與區塊856同時,在區塊858處且以類似於區塊814之方式,過程850可藉由將來自區塊854之經編碼影像應用於面部重構模型之紋理預測分支來預測輸入影像之紋理。在一些實施中,紋理分支可包括解碼器,諸如具有跳過連接之去卷積層的神經網路,其可使經編碼輸入影像翹曲以將其成形而擬合至面部幾何結構,且用面部特徵之期望著色替換XR裝置之著色。
在區塊860處,過程850可將所預測紋理敷貼至所預測幾何結構上,以產生發送使用者面部之3D網格,不包括發送使用者可能佩戴之XR裝置或使XR裝置之鏡片顯得透明。在一些實施中,XR裝置之眼睛追蹤攝影機(例如併入至XR裝置中)可提供發送使用者之凝視方向。基於此凝視方向資訊,表示發送使用者的所產生3D網格之眼睛方向可經更新以準確地反映發送使用者之當前凝視方向。
圖9A為說明用於本發明技術之一些實施中用於執行面部預掃描以進行全像資料的試探性面部重構的過程900之流程圖。在各種實施中,過程900可在全像通話管線之發送者側裝置上執行,例如作為設定過程之部分或作為用於全像通話之初始化程序。
在區塊902處,過程900可請求對無XR裝置之頭戴式器件的發送使用者之面部的預掃描。舉例而言,當使用者起始全像通話時,全像通話系統可提供指令以首先移除XR裝置頭戴式器件且執行面部掃描。在一些情況下,請求可包括令使用者在預掃描期間保持中性表情之指令。在一些情況下,先前預掃描可能已經執行,在此情況下,可代替執行過程900而使用來自彼先前預掃描之用於發送使用者之表情網格。
在區塊904處,過程900可在發送使用者未佩戴XR裝置頭戴式器件時擷取發送使用者面部之預掃描。在各種實施中,此可包括擷取發送使用者之一或多個彩色影像及/或深度影像。此可包括指示發送使用者在擷取裝置前方旋轉或圍繞發送使用者之頭部移動擷取裝置,從而自各種角度擷取其影像。
在區塊906處,過程900可基於所擷取預掃描資料來產生面部網格。過程900可藉由基於與由擷取裝置進行之預掃描資料相關聯的共同彩色及深度圖案以及位置資料(例如,IMU資料)而識別預掃描資料中之所擷取影像如何拼接在一起來實現此目的。過程900接著可建構3D網格,其中3D空間中之位點對應於針對預掃描資料之深度影像中之像素界定的深度。可將來自預掃描資料之彩色資料敷貼至3D網格上以建立發送使用者面部之類生命網格。
在區塊908處,方法900可將引起表情變形之模板應用於在區塊908處產生之面部網格,其中每一模板變形使面部網格具有特定表情,亦即「表情網格」。在一些情況下,應用模板變形可包括首先調整特定模板變形之大小及/或使特定模板變形對準至面部網格。在一些實施中,替代使單一面部網格變形為多個表情網格,可重複區塊902至906,指示使用者保持特定表情,其中所得網格可為表情網格。
在區塊910處,過程900可儲存所產生之表情網格以供過程950使用以進行面部重構。舉例而言,過程900可儲存表情網格,使得其可佈建至計算系統,在該計算系統處,其將用於下文所論述之過程950中用於面部重構(例如,在過程550中由接收方系統或在過程700中由發送者系統用於面部重構)。
圖9B為說明用於本技術之一些實施中用於全像資料之試探性面部重構的過程950之流程圖。在各種實施中,過程950可在全像通話管線之發送者側裝置上(例如,作為區塊718之子過程)或在全像通話管線之接收者側裝置上執行(例如,作為區塊564之子過程)。
在區塊952處,過程950可獲得用於面部重構之源資料及模型化資料。對於當前全像通話,源資料可包括(A)彩色影像及/或深度影像(來自區塊506或706)或(B)當前3D網格(來自區塊560或714)。源資料亦可包括用於發送使用者之身體模型及遮罩(來自區塊508或708)以及眼睛凝視資料。模型化資料可包括由過程900產生的用於發送使用者之表情網格。
在區塊954處,過程950可識別發送使用者之當前頭部姿態。此頭部姿態可界定發送使用者的頭部在3維空間中的姿勢。在一些情況下,過程900可識別如由源資料中指定之身體模型界定的頭部姿態。在一些情況下,此可使用針對約束之2D面部特徵匹配及/或3D頂點匹配來更新以判定頭部姿態作為3D空間中之座標。識別頭部姿態可進一步判定發送使用者面部之影像的哪些部分描繪XR頭戴式器件(例如,使用來自源資料之遮罩)。過程900可使用所識別頭部姿態以將來自區塊952之表情網格配置為具有相同頭部姿態。
在區塊956處,過程950可識別發送使用者之當前表情。在一些實施中,過程900可藉由應用表情辨識演算法(例如使用經訓練機器學習模型)來識別表情,以自面部之影像及/或眼睛凝視資料來識別表情。在區塊958處,過程950可選擇最緊密匹配所識別之表情的表情網格中之一或多者,且可摻合所選表情網格作為線性組合,以產生具有類似於發送使用者之當前表情的表情之表情網格。所得表情網格為具有類似於發送使用者之表情但不佩戴XR頭戴式器件或XR頭戴式器件之鏡片為透明之表情的網格。
在區塊960處,方法950可自在區塊952處接收之源資料獲取深度資料及彩色資料(不包括由XR裝置頭戴式器件覆蓋之部分),且將其摻合至在區塊958處產生之表情網格之紋理及幾何結構中。此可調整表情網格的形狀及著色以更好地匹配發送使用者的形狀及著色,從而產生發送使用者的實時面部重構。在區塊962處,過程950可提供發送使用者之如此實時面部重構用於在接收方裝置上顯示。
圖10為說明用於本發明技術之一些實施中用於對全像資料執行軀幹補洞的過程1000之流程圖。在各種實施中,過程1000可在全像通話管線之發送者側裝置上(例如,作為圖7A之區塊716之子過程)或在全像通話管線之接收者側裝置上執行(例如,作為圖5B之區塊562之子過程)。在一些情況下,過程1000之部分(例如,區塊1002及1004)可在全像通話開始時執行或可在整個全像通話中重複進行。可在整個全像通話中針對個別訊框執行過程1000之其他部分(例如,區塊1006至1010)(例如,作為圖5B之區塊562或圖7A之區塊716的子過程)。
在區塊1002,過程1000可接收發送者之彩色資料及深度資料。在一些實施中,彩色資料及深度資料可經由用於發送使用者之預掃描過程而獲得,藉此指示發送使用者以不遮擋發送使用者之軀幹的方式將自身定位於彩色感測器及深度感測器前方。在一些情況下,此可包括指示發送使用者移動(例如,轉身),因此可自多個角度擷取發送使用者。在一些實施中,彩色資料及深度資料可在全像通話期間自一或多個先前擷取之訊框獲得(例如,其中過程1000判定發送使用者之軀幹未被遮擋的訊框)。在一些情況下,過程1000可累積多個此類訊框之部分,將其拼接在一起以填充發送使用者在訊框中被遮擋之部分。
在區塊1004處,過程1000可基於在區塊1002處所接收之彩色資料及深度資料來產生發送使用者之模型。此可包括基於深度資料形成使用者之網格,且將彩色資料噴塗至該網格上。在一些情況下,形成網格可包括將深度資料擬合至動態使用者模型上。在一些實施中,將彩色資料噴塗至網格上可包括將彩色資料之經識別部分與網格之對應經識別部分匹配。在一些實施中,在區塊1002處,可隨著過程1000擷取新的發送者深度資料及彩色資料而週期性地更新發送者模型。
當執行全像通話時,過程1000可分析給定訊框且判定所描繪發送使用者之軀幹部分(如由藉由緻密化、分段及身體模型產生之遮罩判定)具有遮擋。過程1000可藉由查核深度資料來識別此等遮擋,以判定物件(諸如發送使用者之手)是否定位於發送使用者之軀幹前方,從而自擷取裝置遮擋軀幹。另外或替代地,過程1000可藉由分析發送使用者之模型來識別遮擋,以判定是否描繪用於發送使用者之軀幹的頂點。
在區塊1008處,過程1000可根據發送使用者之經判定當前姿態來調整在區塊1004處產生的發送者模型的姿態。在一些實施中,發送使用者之當前姿態可基於用於發送使用者之經判定身體模型(如相對於圖5A之區塊508及圖7A之區塊708所論述)。可調整發送者模型之身體模型以匹配當前發送者之身體模型,藉此調整發送者模型的姿態以匹配發送使用者之姿態。
在區塊1010處,過程1000可判定經調整姿態的發送者模型中匹配發送使用者的軀幹之經遮擋部分(如在區塊1006處所判定)之部分,且可使用彼等部分來填充發送使用者之經遮擋部分。發送使用者之實時模型及在區塊1004處產生的發送者模型兩者可包括指定每一位點對應於身體哪一部位的經標記頂點。若發送者之部分未被遮擋,則區塊1010處之遮擋填充可藉由將發送者模型之頂點與頂點將在發送者之實時模型中之位置進行匹配來進行。在一些實施中,此匹配可基於發送使用者之所判定身體模型。在進行中的全像通話中,其中發送使用者之遮擋被填充之實時模型可顯示給(多個)接收方使用者。
圖11A為說明用於本發明技術之一些實施中用於訓練機器學習模型以對全像資料執行深度緻密化、掩蔽及身體模型化的過程1100之流程圖。在一些實施中,可在例如在伺服器系統上起始全像通話之前執行過程1100。一旦經訓練,即可提供由過程1100產生之機器學習模型以在發送者側或接收者側裝置上執行緻密化、分段及身體模型化。可回應於使用者供應訓練資料及執行命令以執行訓練過程而執行過程1100。
在區塊1102處,過程1100可獲得訓練資料及模型以訓練為緻密化、分段及身體模型化模型。在一些實施中,此可為具有用於緻密化、分段及身體模型化任務中之每一者的解碼器的單一機器學習模型。在其他實施中,可針對每一任務訓練單獨的機器學習模型。在一些實施中,模型骨幹可為一種類型的基於神經網路之模型,諸如HRNet。訓練資料可為人在各種環境中的影像,具有針對深度值(每像素)界定之標記或標籤(「實況」)、識別各種區段(例如,前景、面部、軀幹、手臂、手、XR裝置等)的遮罩及針對所描繪人員的當前姿態的身體模型。在一些實施中,可用電腦產生人在各種環境中之此等描繪,從而允許電腦自動地指派標記資料。舉例而言,計算系統可藉由將具有已知深度資料、身體部位位置及身體模型的使用者(產生或擷取)之3D網格覆疊於環境之描繪上來產生影像。可產生描繪具有不同屬性(諸如高度、膚色、髮型、性別等)、處於各種姿態、具有各種衣服/配飾以及在不同環境中的人的訓練資料。
在區塊1104處,過程1100可自在區塊1102處獲得之訓練項目選擇下一訓練項。若此為過程1100第一次到達區塊1104,則過程1100可選擇訓練項目中之第一者;否則,過程1100可自該組選擇尚未用於訓練機器學習模型之下一訓練項目。
在區塊1106處,過程1100可將在區塊1104處所選擇之訓練項目應用於在區塊1102處獲得之模型。此可包括藉由選擇深度資料之子組(例如匹配藉由結構化光感測器擷取之深度資料圖案的深度資料值之柵格)並編碼彩色資料而組態訓練資料項目以供輸入至模型。在一些實施中,可首先將彩色資料轉換為灰階,此可允許模型在應用時使用較少資源(例如,功率及計算資源)。在一些實施中,組態輸入亦可包括將不在所關注區域中之影像部分移除或按比例縮小(如下文相對於圖11C所論述),此亦可允許模型在應用時使用較少資源(例如,功率及計算資源)。在一些實施中,訓練項目呈來自視訊之序列的形式,在此情況下,自一或多個先前訊框之模型輸出可經儲存且接著亦用作下一訊框之額外輸入。在一些實施中,訓練項目可包括同時自不同角度(例如,由不同攝影機)擷取的個人之多個影像,且輸入影像可經組合以僅包括其重疊部分。如本文中所使用,「同時」發生之事件為在幾乎相同時間發生但可能並非在確切相同時刻發生之事件。舉例而言,「同時」擷取之兩個影像可為用於視訊通話之相同訊框擷取的影像,但可相隔若干毫秒而擷取。
一旦經組態用於輸入至模型,所選訓練項目便可首先應用於模型之骨幹部分,諸如一種類型的基於神經網路之模型,諸如HRNet。來自骨幹之輸出可儲存為模型輸出之部分,以用作後續訊框之輸入。骨幹輸出亦可供應至:緻密化解碼器,以產生輸入影像之經緻密化(亦即,具有額外深度值,諸如每像素一個)版本;分段解碼器,以產生識別輸入影像之區域(例如,前景、面部及其他身體部位、XR裝置等)的各種遮罩;及身體模型化解碼器,其產生發送使用者之當前姿態的身體模型。
在區塊1108處,來自應用模型至所選訓練項目之輸出可與用於訓練項目之實況標記進行比較,且基於該等比較,可應用一或多個損失函數來更新機器學習模型之參數,從而對其進行訓練。在一些實施中,可針對緻密化、分段及身體模型化任務中之每一者應用一或多個損失函數。因此,來自每一解碼器之輸出可與用於訓練項目之對應實況標記進行比較,且可基於彼比較而應用損失函數。損失函數可調整模型之骨幹部分及為當前比較產生輸出之解碼器的參數。
在區塊1110處,過程1100可判定在區塊1102處所獲得的該組訓練項目中是否存在尚未應用於訓練模型的額外訓練項目。若如此,過程1100可返回至區塊1104。若否,則過程1100可繼續進行至區塊1112。在區塊1112處,過程1100可完成且儲存現在已經訓練之緻密化、分段及身體模型化機器學習模型。舉例而言,過程1100可儲存經訓練機器學習模型,使得其可佈建至計算系統,在該計算系統處,其將用於下文所論述之過程1150中以用於緻密化、分段及身體模型化(例如,在過程500或700中)。
圖11B為說明用於本發明技術之一些實施中用於應用經訓練機器學習模型以對全像資料執行深度緻密化、掩蔽及身體模型化的過程1150之流程圖。在一些實施中,過程1150可執行為圖5A之過程500的子過程(例如在區塊508處),或執行為圖7A之過程700的子過程(例如在區塊708處)。
在區塊1152,過程1150可獲得經訓練之緻密化、分段及身體模型化機器學習模型(或各自針對此等任務中之一者訓練的多個模型)。舉例而言,此可為藉由過程1100訓練之模型。
在區塊1154處,過程1150可獲得由發送者裝置針對全像通話擷取之彩色資料及稀疏深度資料。在一些實施中,稀疏深度資料可為結構化光深度資料,且彩色資料可為一或多個彩色影像(例如,在區塊504或704處獲得)。
在區塊1156處,過程1150可組態彩色資料及稀疏深度資料以供輸入至所獲得的機器學習模型。在一些實施中,可首先將彩色資料轉換為灰階,此可允許模型在應用時使用較少資源(例如,功率及計算資源)。在一些實施中,組態輸入亦可包括將不在所關注區域中之影像部分移除或按比例縮小(如下文相對於圖11C所論述),此亦可允許模型在應用時使用較少資源(例如,功率及計算資源)。在一些實施中,彩色資料可包括同時自不同角度擷取之多個影像,且輸入影像可經組合以僅包括其重疊部分。
在區塊1158處,過程1150可自儲存自全像通話之一或多個先前訊框的模型獲得輸出。在各種實施中,此模型輸出可包括來自一或多個先前訊框之解碼器中之一或多者的輸出及/或來自一或多個先前訊框之模型骨幹的輸出。
在區塊1160處,過程1150可將模型骨幹應用於如在區塊1156及1158處所組態之模式輸入。在一些實施中,模型骨幹可為一種類型的神經網路,諸如HRNet影像處理模型。
在區塊1162處,來自模型骨幹之輸出亦可提供至一或多個解碼器,諸如:緻密化解碼器,以產生輸入影像之經緻密化(亦即,具有額外深度值,諸如每像素一個)版本;分段解碼器,以產生識別輸入影像之區域(例如,前景、面部及其他身體部位、XR裝置等)的各種遮罩;及/或身體模型化解碼器,其產生發送使用者之當前姿態的身體模型。
圖11C為說明用於本發明技術之一些實施中用於藉由對所關注外部區域進行降頻取樣(或移除在所關注區域外部的區域)來減少資源消耗的過程1180之流程圖。在一些實施中,過程1180可執行為過程1100及/或1150之子過程(例如在區塊1106及/或1156處)。
在區塊1182處,過程1180可獲得將影像分段為前景(展示使用者之部分)及背景(不展示使用者之部分)區段的遮罩。此可為藉由過程1150針對先前輸入影像產生的遮罩。在區塊1184處,過程1180可應用此遮罩以基於先前影像之此所識別實際前景部分而識別輸入影像之預期前景部分。
在區塊1186處,過程180可識別在區塊1184處識別之預期前景部分周圍的緩衝區。緩衝區為其中使用者可能在自先前影像以來的時間上所移動的區域。緩衝區可根據以下各者而擴展:影像之訊框速率(例如,緩衝區對於在影像之間的較大時間為較大)、使用者之各部位之經判定移動速度(例如,緩衝區在判定為移動較快的使用者部分周圍較大),及/或使用者之各部位在影像之區域中之經判定預期移動範圍(例如,緩衝區在諸如手及手臂之期望具有較大運動範圍的身體部位周圍較大)。在一些實施中,緩衝區之此等判定可基於針對一或多個先前影像判定之一或多個身體模型及/或分段。舉例而言,使用者的手之速度可基於手跨越先前若干訊框而移動之快慢程度。
在區塊1188處,過程1180可藉由在區塊1186處判定之緩衝區而擴展在區塊1184處判定之預期前景區域。預期前景區域之此擴展接著識別使用者之影像極可能描繪於當前影像中的區域,該區域成為所關注區域。
在區塊1190處,過程1180可移除或降頻取樣在區塊1188處判定的所關注區域外部的輸入影像區域。此濾除或降頻取樣減少緻密化、分段及身體模型化模型在執行此等任務時必須處理之資料量,從而減少執行模型所需之資源。
圖12為說明實例1200全像通話管線之概念圖。實例1200開始於發送者裝置上之深度感測器(在1202處)擷取深度影像且發送者裝置上之RGB攝影機(在1204處)擷取彩色影像。深度影像及彩色影像在發送者裝置處用作至機器學習模型之輸入,該機器學習模型經訓練以使深度影像緻密化(建立深度影像之每一像素的深度值)、對影像進行分段以產生分段遮罩且產生身體模型(在1206處)。彩色影像、經緻密化深度影像、遮罩及身體模型(例如,使用RVL壓縮)進行編碼及壓縮(在1208處),且跨越網路(表示為線1210)傳輸至接收者裝置。在1212處,接收者裝置解壓縮所接收之資料,且使用其建立發送使用者之全像表示。亦在1212處,接收者裝置可執行面部重構以自發送使用者之表示移除XR裝置,且執行軀幹補洞以填充發送使用者之表示中的破洞。在一些實施中,在1208處,在編碼及壓縮全像圖(代替影像、遮罩及身體模型資料)之前,替代地藉由發送者裝置執行過程1212。在1214處,接收者可經由顯現引擎連同經同步至全像圖、在發送者處擷取且傳輸至接收者的音訊一起輸出所產生全像圖。
圖13為說明經由緻密化、軀幹補洞、面部重構及模型填充而自原始擷取資料至發送使用者之全像表示的資料變換之實例1300的概念圖。影像1302A(及經放大部分1302B)說明原始擷取資料,其包括偽影1316及1314,XR裝置1321之鏡片擋住IR深度感測器資料而遺漏的眼睛區域資料1312,及間隙1381及1324。影像1304A(及經放大部分1304B)說明原始影像之緻密化之結果(如上文關於圖11A至11C所描述)。歸因於緻密化,已校正在偽影1316及1314,XR裝置鏡片後方的深度資料1320已被填充,且已添加額外深度資料(圖中未示)。影像1306A(及經放大部分1306B)說明其中已執行面部重構(如上文關於圖8A及圖8B或圖9A及圖9B所描述)之另一變換。此面部重構已用資料1322填充於間隙1318中,且在XR裝置1321之鏡片後方增強眼睛區域1323之資料。影像1308說明另一變換,其中已執行軀幹補洞(如上文關於圖10所描述),其已填充於各種身體間隙中(諸如用資料1326填充間隙1324)。影像1310說明在1330處用以使填充間隙的資料平滑且摻合該資料(例如,與平滑資料1332摻合以移除1326處的陰影)的最終變換,以及添加與針對所描繪使用者判定的頭髮色彩及髮型匹配的頭髮1328。
圖14為說明身體模型之實例1400的概念圖。在左側上,實例1400說明界定於使用者1402之身體上的位點,而此等位點再次展示於圖14之右側上而無對應人員,以說明身體模型之實際組件。此等位點包括眼睛1404及1406、鼻1408、耳1410(圖中未示第二耳點)、下頜1412、頸部1414、鎖骨1416及1420、胸骨1418、肩部1422及1424、肘部1426及1428、腹部1430、骨盆1432、髖部1434及1436、手腕1438及1446、手掌1440及1448、拇指尖端1442及1450、拇指外的其餘手指尖端1444及1452、膝蓋1454及1456、腳踝1458及1460,及足部尖端1462及1464。在各種實施中,更多或更少位點用於身體模型中。一些對應標記已置於圖14之右側上的位點上,但已省略一些標記以維持清晰性。藉由線連接之位點展示身體模型維持在某些位點之間的距離及角度之量測。因為位點1404至1410相對於位點1412大體上固定,因此其無需額外連接。
圖15為說明全像通話之實例1500實施的概念圖。在實例1500中,使用者1504正與出現在與使用者1504相同之空間中的另一使用者之表示1502進行全像通話。在圖15中,表示1502以陰影展示以指示其為全像圖。表示1502可由使用者1504藉助於表示1502經由XR裝置頭戴式器件252投影至使用者1504之眼睛中而檢視。因此,表示1502對於該空間中無XR裝置之其他者將不可見。在全像通話中,由裝置254使用彩色攝影機及深度攝影機擷取使用者1504之彩色影像及深度影像(如由虛線所指示)。自此等,建立使用者1504之表示,且將其顯示給其表示為1502之接收方使用者(例如,使用過程5A/5B或7A/7B)。XR裝置頭戴式器件252亦擷取音訊,該音訊經同步且傳輸至接收方使用者以供與發送使用者之表示同時輸出。
本說明書中對「實施」(例如,「一些實施」、「各種實施」、「一個實施」或「一實施」等)之提及意謂結合該實施描述之特定特徵、結構或特性包括於本發明之至少一個實施中。此等片語在本說明書中各處之出現未必均係指同一實施,亦非為與其他實施不存在交集的單獨或替代實施。此外,描述各種特徵,該等特徵可由一些實施而不由其他實施來展現。類似地,描述各種要求,該等要求可為對於一些實施的要求但並非對於其他實施的要求。
如本文中所使用,高於臨限值意謂比較下之項目的值高於指定的另一值、比較下之項目在具有最大值之某一指定數目個項目當中,或比較下之項目具有處於指定頂部百分比值內之值。如本文中所使用,低於臨限值意謂比較下之項目的值低於指定的另一值、比較下之項目在具有最小值之某一指定數目個項目當中,或比較下之項目具有處於指定底部百分比值內之值。如本文中所使用,處於臨限值內意謂比較下之項目的值在兩個指定的其他值之間、比較下之項目在中間指定數目個項目當中,或比較下之項目具有處於中間指定百分比範圍內的值。當並未另外界定時,諸如高或不重要之相對術語可理解為指派值且判定彼值如何與已建立臨限值進行比較。舉例而言,片語「選擇快速連接」可理解為意謂選擇具有對應於超過臨限值之連接速度之所指派值的連接。
如本文中所使用,詞「或」係指一組項目之任何可能排列。舉例而言,片語「A、B或C」係指A、B、C中之至少一者或其任何組合,諸如以下中之任一者:A;B;C;A及B;A及C;B及C;A、B及C;或多個任何項目,諸如A及A;B、B及C;A、B、C及C;等等。
如本文中所使用,「裝置」可包括交互操作之一或多個實體組件,無論其是否耦接在一起。舉例而言,XR裝置可包括圖2B中所說明之組件,即使此等組件經由無線連接交互操作。
儘管已以特定於結構特徵及/或方法動作之語言描述標的物,但應瞭解,所附申請專利範圍中所定義之標的物未必限於所描述之特定特徵或動作。本文中已出於說明之目的描述特定具體實例及實施,但可在不脫離具體實例及實施之範圍的情況下進行各種修改。以實施申請專利範圍之實例形式揭示上文所述之特定特徵及動作。因此,除了受到隨附申請專利範圍所定義,具體實例及實施並不受限制。
任何專利、專利申請案及其他參考文獻均以引用之方式併入本文中。在必要時,可修改態樣以使用上文所描述的各種參考文獻的系統、功能及概念,以提供又其他實施。若以引用方式併入的文獻中之陳述或標的物與本申請案之陳述或標的物衝突,則應以本申請案為凖。
100:計算系統 101:計算裝置 102:計算裝置 103:計算裝置 110:處理器 120:輸入裝置 130:顯示器 140:其他I/O裝置 150:記憶體 160:程式記憶體 162:作業系統 164:全像通話系統 166:其他應用程式 170:資料記憶體 200:虛擬實境頭戴式顯示器(HMD) 205:前剛性本體 210:帶 215:慣性運動單元(IMU) 220:位置感測器 225:定位器 230:計算單元 245:電子顯示器 250:混合實境HMD系統 252:混合實境HMD/XR裝置頭戴式器件 254:核心處理組件 256:連結 258:透通顯示器 260:框架 262:深度感測器 264:RGB及/或黑白攝影機 266:麥克風 268:IMU單元及/或磁力計 270:使用者輸入組件/控制器 272:眼睛追蹤感測器 272A:按鈕 272B:按鈕 272C:按鈕 272D:按鈕 272E:按鈕 272F:按鈕 274:音訊輸出裝置 274A:操縱桿 274B:操縱桿 300:環境 305A:用戶端計算裝置 305B:用戶端計算裝置 305C:用戶端計算裝置 305D:用戶端計算裝置 310:伺服器計算裝置 315:資料庫 320A:伺服器 320B:伺服器 320C:伺服器 325A:資料庫 325B:資料庫 325C:資料庫 330:網路 400:組件 410:硬體 412:處理單元 414:工作記憶體 416:輸入及輸出裝置 418:儲存記憶體 420:介體 430:專用組件 432:介面 434:影像建立器 436:緻密化及分段模組 438:壓縮/解壓縮引擎 440:3D網格建立器 442:軀幹補洞引擎 444:面部重構引擎 446:顯現引擎 448:自視圖模組 500:(發送者側)過程 502:區塊 504:區塊 506:區塊 508:區塊 510:區塊 512:區塊 514:區塊 550:(接收者側)過程 552:區塊 554:區塊 556:區塊 558:區塊 560:區塊 562:區塊 564:區塊 566:區塊 568:區塊 600:(發送者側)過程 602:區塊 604:區塊 606:區塊 608:區塊 700:(發送者側)過程 702:區塊 704:區塊 706:區塊 708:區塊 710:區塊 712:區塊 714:區塊 716:區塊 718:區塊 720:區塊 722:區塊 750:(接收者側)過程 752:區塊 754:區塊 756:區塊 758:區塊 760:區塊 762:區塊 800:過程 802:區塊 804:區塊 806:區塊 808:區塊 810:區塊 812:區塊 814:區塊 816:區塊 818:區塊 820:區塊 850:過程 852:區塊 854:區塊 856:區塊 858:區塊 860:區塊 900:過程 902:區塊 904:區塊 906:區塊 908:區塊 910:區塊 950:過程 952:區塊 954:區塊 956:區塊 958:區塊 960:區塊 962:區塊 1000:過程 1002:區塊 1004:區塊 1006:區塊 1008:區塊 1010:區塊 1100:過程 1102:區塊 1104:區塊 1106:區塊 1108:區塊 1110:區塊 1112:區塊 1150:過程 1152:區塊 1154:區塊 1156:區塊 1158:區塊 1160:區塊 1162:區塊 1180:過程 1182:區塊 1184:區塊 1186:區塊 1188:區塊 1190:區塊 1200:實例 1202:深度感測器 1204:RGB攝影機 1026:緻密化/分段/身體模型化 1208:編碼/壓縮 1210:線 1212:全像表示建立/面部重構/軀幹補洞 1214:輸出/顯現 1300:實例 1302A:影像 1302B:經放大部分 1304A:影像 1304B:經放大部分 1306A:影像 1306B:經放大部分 1308:影像 1310:影像 1312:眼睛區域資料 1314:偽影 1316:偽影 1318:間隙 1320:深度資料 1321:XR裝置 1322:資料 1323:眼睛區域 1324:間隙 1326:資料 1328:頭髮 1332:平滑資料 1400:實例 1402:使用者 1404:眼睛 1406:眼睛 1408:鼻 1410:耳 1412:下頜 1414:頸部 1416:鎖骨 1418:胸骨 1420:鎖骨 1422:肩部 1424:肩部 1426:肘部 1428:肘部 1430:腹部 1432:骨盆 1434:髖部 1436:髖部 1438:手腕 1440:手掌 1442:拇指尖端 1444:拇指外的其餘手指尖端 1446:手腕 1448:手掌 1450:拇指尖端 1452:拇指外的其餘手指尖端 1454:膝蓋 1456:膝蓋 1458:腳踝 1460:腳踝 1462:足部尖端 1464:足部尖端 1500:實例 1502:表示 1504:使用者
[圖1]為說明本發明技術之一些實施可在上面操作的裝置之概述的方塊圖。
[圖2A]為說明可用於本發明技術之一些實施中之虛擬實境頭戴式器件的線圖。
[圖2B]為說明可用於本發明技術之一些實施中之混合實境頭戴式器件的線圖。
[圖2C]為說明控制器之線圖,在一些實施中,使用者可將該等控制器握持在一或兩隻手中以與人工實境環境互動。
[圖3]為說明本發明技術之一些實施可在其中操作的環境之概述的方塊圖。
[圖4]為說明在一些實施中可用於使用所揭示技術之系統中的組件之方塊圖。
[圖5A]為說明用於本發明技術之一些實施中用於擷取及編碼用於在接收者側重構模式下操作之全像通話之資料的發送者側過程之流程圖。
[圖5B]為說明用於本發明技術之一些實施中用於解碼、重構及輸出用於在接收者側重構模式下操作之全像通話之資料的接收者側過程之流程圖。
[圖6]為說明用於本發明技術之一些實施中用於產生發送者之自視圖的發送者側過程的流程圖。
[圖7A]為說明用於本發明技術之一些實施中用於擷取、重構及編碼用於在發送者側重構模式下操作之全像通話之資料的發送者側過程之流程圖。
[圖7B]為說明用於本發明技術之一些實施中用於解碼及顯示用於在發送者側重構模式下操作之全像通話之資料的接收者側過程之流程圖。
[圖8A]為說明用於本發明技術之一些實施中用於訓練機器學習模型以對全像資料執行面部重構的過程之流程圖。
[圖8B]為說明用於本發明技術之一些實施中用於應用經訓練機器學習模型以對全像資料執行面部重構的過程之流程圖。
[圖9A]為說明用於本發明技術之一些實施中用於執行面部預掃描以進行全像資料的試探性面部重構的過程之流程圖。
[圖9B]為說明用於本發明技術之一些實施中用於全像資料之試探性面部重構的過程之流程圖。
[圖10]為說明用於本發明技術之一些實施中用於對全像資料執行軀幹補洞(disocclusion)的過程之流程圖。
[圖11A]為說明用於本發明技術之一些實施中用於訓練機器學習模型以對全像資料執行深度緻密化、掩蔽及身體模型化的過程之流程圖。
[圖11B]為說明用於本發明技術之一些實施中用於應用經訓練機器學習模型以對全像資料執行深度緻密化、掩蔽及身體模型化的過程之流程圖。
[圖11C]為說明用於本發明技術之一些實施中用於藉由對所關注外部區域進行降頻取樣來減少資源消耗的過程之流程圖。
[圖12]為說明實例全像通話管線之概念圖。
[圖13]為說明經由緻密化、軀幹補洞、面部重構及模型填充自原始擷取資料至發送使用者之全像表示的資料變換之實例的概念圖。
[圖14]為說明實例身體模型之概念圖。
[圖15]為說明全像通話之實例實施的概念圖。
此處介紹之技術可藉由參考以下實施方式結合隨附圖式而更好地理解,其中相同元件符號指示相同或功能上類似之元件。
400:組件
410:硬體
412:處理單元
414:工作記憶體
416:輸入及輸出裝置
418:儲存記憶體
420:介體
430:專用組件
432:介面
434:影像建立器
436:緻密化及分段模組
438:壓縮/解壓縮引擎
440:3D網格建立器
442:軀幹補洞引擎
444:面部重構引擎
446:顯現引擎
448:自視圖模組

Claims (20)

  1. 一種用於使用全像通話管線進行全像通話之方法,該方法包含: 在發送裝置與至少一個接收裝置之間建立通信頻道; 在該發送裝置處擷取彩色資料、深度資料及音訊資料,且使用該彩色資料及該深度資料以產生一或多個彩色影像及一或多個深度影像; 產生用於該一或多個彩色影像及該一或多個深度影像之一或多個遮罩; 將該一或多個遮罩應用於該一或多個彩色影像及一或多個深度影像以獲得該一或多個彩色影像及該一或多個深度影像之經掩蔽部分; 壓縮該一或多個彩色影像及該一或多個深度影像之該經掩蔽部分;及 同步該一或多個彩色影像、該一或多個深度影像及該音訊資料且經由該通信頻道進行傳輸; 其中該接收裝置回應於該傳輸而: 解壓縮該經壓縮部分; 將該一或多個深度影像之該部分轉換為3D網格; 將該一或多個彩色影像之該部分噴塗至該3D網格上; 使該音訊資料與經噴塗3D網格同步; 在該3D網格上執行軀幹補洞(disocclusion); 在該3D網格上執行面部重構;及 輸出該經噴塗3D網格作為具有經同步音訊之全像圖。
  2. 如請求項1之方法,其中該通信頻道為提供潛時保證之即時通信頻道。
  3. 如請求項1之方法,其中擷取該深度資料包括:藉由發射紅外(IR)光之圖案來擷取結構化光;擷取該IR光之反射;及基於IR光之該圖案如何變形及/或針對IR光之該圖案之部分使用飛行時間讀數來判定該深度資料。
  4. 如請求項1之方法,其中該一或多個彩色影像包括以不同解析度自多個攝影機擷取之多個彩色影像,且其中產生用於該一或多個彩色影像及該一或多個深度影像之該一或多個遮罩係基於以較低解析度擷取之該一或多個彩色影像而執行。
  5. 如請求項1之方法,其中該一或多個深度影像不具有每一像素之深度值,且其中該方法進一步包含: 對該一或多個深度影像執行緻密化程序以將該深度值指派給該一或多個深度影像之每一像素; 其中該緻密化程序包含使用人之合成影像來應用經訓練機器學習模型使該一或多個深度影像緻密化,人之該合成影像經產生而對於每一像素具有指定深度資料。
  6. 如請求項1之方法,其中產生該一或多個遮罩包含: 識別該一或多個彩色影像及/或該一或多個深度影像之區段,該區段至少包含前景及背景區別; 其中識別該區段包含使用人之合成影像來應用經訓練機器學習模型對影像進行分段,人之該合成影像經產生而具有指定標記區段。
  7. 如請求項1之方法,其中該一或多個深度影像不具有每一像素之深度值,且其中該方法進一步包含: 對該一或多個深度影像執行緻密化程序以將深度值指派給該一或多個深度影像中之每一像素,且識別該一或多個彩色影像及/或該一或多個深度影像之區段,該區段至少包含前景及背景區別; 其中該緻密化程序包含使用人之合成影像來應用經訓練機器學習模型使該一或多個深度影像緻密化且對影像進行分段,人之該合成影像經產生而對於每一像素及經標記區段具有指定深度資料。
  8. 如請求項1之方法,其中使用RVL壓縮演算法來執行至少部分該壓縮。
  9. 如請求項1之方法,其中該3D網格上之該軀幹補洞包括: 基於發送使用者之一或多個先前擷取之影像來產生該發送使用者之身體的現有模型; 識別該3D網格中對應於在深度感測器與該發送使用者之間的遮擋的一或多個破洞;及 以來自該現有模型之對應部分填充該3D網格中之該一或多個破洞。
  10. 如請求項1之方法,其中該3D網格上之該面部重構包括: 編碼該一或多個彩色影像中之至少一者的至少一面部部分,其描繪佩戴XR頭戴式器件之發送使用者; 將機器學習模型之幾何結構分支應用於經編碼面部部分,以產生無該XR頭戴式器件之該發送使用者之預測幾何結構; 將該機器學習模型之紋理分支應用於該經編碼面部部分,以產生無該XR頭戴式器件之該發送使用者之預測紋理;及 將該預測紋理敷貼至該預測幾何結構上。
  11. 如請求項1之方法,其中該3D網格上之該面部重構包括: 在發送使用者未佩戴XR頭戴式器件時執行該發送使用者之預掃描,以產生用於該發送使用者之複數個表情網格; 判定該發送使用者之頭部姿態及面部表情; 選擇該複數個表情網格中匹配經判定之該面部表情的多個表情網格,且調整所選之該多個表情網格以符合該頭部姿態; 組合所選之該多個表情網格;及 將深度及彩色摻合應用於具有至少該一或多個彩色影像之經組合之該多個表情網格。
  12. 一種儲存指令之電腦可讀取儲存媒體,該指令在由計算系統執行時使得該計算系統執行用於使用全像通話管線進行全像通話之過程,該過程包含: 在發送裝置處擷取彩色資料、深度資料及音訊資料,且使用該彩色資料及該深度資料以產生一或多個彩色影像及一或多個深度影像; 產生用於該一或多個彩色影像及該一或多個深度影像之一或多個遮罩; 將該一或多個遮罩應用於該一或多個彩色影像及該一或多個深度影像以獲得該一或多個彩色影像及該一或多個深度影像之經掩蔽部分; 壓縮該一或多個彩色影像及該一或多個深度影像之該經掩蔽部分;及 經由通信頻道對經壓縮部分及該音訊資料進行傳輸; 其中接收裝置回應於該傳輸而: 解壓縮該經壓縮部分; 將該一或多個深度影像之該部分轉換為3D網格; 將該一或多個彩色影像之該部分噴塗至該3D網格上;及 輸出經噴塗之該3D網格作為具有經同步音訊之全像圖。
  13. 如請求項12之電腦可讀取儲存媒體,其中擷取該深度資料包括:藉由發射紅外(IR)光之圖案來擷取結構化光;擷取該IR光之反射;及基於IR光之該圖案如何變形及/或針對IR光之該圖案之部分使用飛行時間讀數來判定該深度資料。
  14. 如請求項12之電腦可讀取儲存媒體,其中該一或多個深度影像不具有每一像素之深度值,且其中該過程進一步包含: 對該一或多個深度影像執行緻密化程序以將深度值指派給該一或多個深度影像中之每一像素,且識別該一或多個彩色影像及/或該一或多個深度影像之區段,該區段至少包含前景及背景區別; 其中該緻密化程序包含使用人之合成影像來應用經訓練機器學習模型使該一或多個深度影像緻密化且對影像進行分段,人之該合成影像經產生而對於每一像素及經標記區段具有指定深度資料。
  15. 如請求項12之電腦可讀取儲存媒體,其中該接收裝置回應於該傳輸而進一步在該3D網格上執行軀幹補洞,包括: 基於發送使用者之一或多個先前擷取之影像來產生該發送使用者之身體的現有模型; 識別該3D網格中對應於在深度感測器與該發送使用者之間的遮擋的一或多個破洞;及 以來自該現有模型之對應部分填充該3D網格中之該一或多個破洞。
  16. 如請求項12之電腦可讀取儲存媒體,其中該接收裝置回應於該傳輸而進一步在該3D網格上執行面部重構,包括: 在發送使用者未佩戴XR頭戴式器件時執行該發送使用者之預掃描,以產生用於該發送使用者之複數個表情網格; 判定該發送使用者之頭部姿態及面部表情; 選擇該複數個表情網格中匹配經判定之該面部表情的多個表情網格,且調整所選之該多個表情網格以符合該頭部姿態; 組合所選之該多個表情網格;及 將深度及彩色摻合應用於具有至少該一或多個彩色影像之經組合之該多個表情網格。
  17. 一種用於使用全像通話管線進行全像通話之計算系統,該計算系統包含: 一或多個處理器;及 儲存指令之一或多個記憶體,該指令在由該一或多個處理器執行時使該計算系統執行包含下述之過程: 在發送裝置處擷取彩色資料、深度資料及音訊資料,且使用該彩色資料及該深度資料以產生一或多個彩色影像及一或多個深度影像; 產生用於該一或多個彩色影像及該一或多個深度影像之一或多個遮罩; 將該一或多個遮罩應用於該一或多個彩色影像及該一或多個深度影像以獲得該一或多個彩色影像及一或多個深度影像之經掩蔽部分; 對該經掩蔽部分之版本及該音訊資料進行傳輸; 其中該接收裝置回應於該傳輸而: 將該一或多個深度影像之該經掩蔽部分及該一或多個彩色影像之該經掩蔽部分轉換為經噴塗3D網格;及 輸出該經噴塗3D網格作為與該音訊資料同步之全像圖。
  18. 如請求項17之計算系統,其中該一或多個深度影像不具有每一像素之深度值,且其中該過程進一步包含: 對該一或多個深度影像執行緻密化程序以將深度值指派給該一或多個深度影像中之每一像素,且識別該一或多個彩色影像及/或該一或多個深度影像之區段,該區段至少包含前景及背景區別; 其中該緻密化程序包含使用人之合成影像來應用經訓練機器學習模型使該一或多個深度影像緻密化且對影像進行分段,人之該合成影像經產生而對於每一像素及經標記區段具有指定深度資料。
  19. 如請求項17之計算系統,其中該接收裝置回應於該傳輸而進一步在該3D網格上執行軀幹補洞,包括: 基於發送使用者之一或多個先前擷取之影像來產生該發送使用者之身體的現有模型; 識別該3D網格中對應於在深度感測器與該發送使用者之間的遮擋的一或多個破洞;及 以來自該現有模型之對應部分填充該3D網格中之該一或多個破洞。
  20. 如請求項17之計算系統,其中該接收裝置回應於該傳輸而進一步在該3D網格上執行面部重構,包括: 編碼該一或多個彩色影像中之至少一者的至少一面部部分,其描繪佩戴XR頭戴式器件之發送使用者; 將機器學習模型之幾何結構分支應用於經編碼面部部分,以產生無該XR頭戴式器件之該發送使用者之預測幾何結構; 將該機器學習模型之紋理分支應用於該經編碼面部部分,以產生無該XR頭戴式器件之該發送使用者之預測紋理;及 將該預測紋理敷貼至該預測幾何結構上。
TW111113117A 2021-06-28 2022-04-06 用於人工實境之全像通話 TW202305551A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/360,693 2021-06-28
US17/360,693 US20220413433A1 (en) 2021-06-28 2021-06-28 Holographic Calling for Artificial Reality

Publications (1)

Publication Number Publication Date
TW202305551A true TW202305551A (zh) 2023-02-01

Family

ID=82156509

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111113117A TW202305551A (zh) 2021-06-28 2022-04-06 用於人工實境之全像通話

Country Status (3)

Country Link
US (1) US20220413433A1 (zh)
TW (1) TW202305551A (zh)
WO (1) WO2023278082A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB202004594D0 (en) * 2020-03-30 2020-05-13 Microsoft Technology Licensing Llc Partitioning for an execution pipeline
US20240096033A1 (en) * 2021-10-11 2024-03-21 Meta Platforms Technologies, Llc Technology for creating, replicating and/or controlling avatars in extended reality
US20230138434A1 (en) * 2021-10-31 2023-05-04 Zoom Video Communications, Inc. Extraction of user representation from video stream to a virtual environment

Family Cites Families (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6016147A (en) * 1995-05-08 2000-01-18 Autodesk, Inc. Method and system for interactively determining and displaying geometric relationships between three dimensional objects based on predetermined geometric constraints and position of an input device
CA2180899A1 (en) * 1995-07-12 1997-01-13 Yasuaki Honda Synchronous updating of sub objects in a three dimensional virtual reality space sharing system and method therefore
US5737533A (en) * 1995-10-26 1998-04-07 Wegener Internet Projects Bv System for generating a virtual reality scene in response to a database search
US6219045B1 (en) * 1995-11-13 2001-04-17 Worlds, Inc. Scalable virtual world chat client-server system
JPH10309381A (ja) * 1997-05-13 1998-11-24 Yoshimasa Tanaka 移動体用遊戯装置
US6079982A (en) * 1997-12-31 2000-06-27 Meader; Gregory M Interactive simulator ride
US6362817B1 (en) * 1998-05-18 2002-03-26 In3D Corporation System for creating and viewing 3D environments using symbolic descriptors
US6119147A (en) * 1998-07-28 2000-09-12 Fuji Xerox Co., Ltd. Method and system for computer-mediated, multi-modal, asynchronous meetings in a virtual space
US6414679B1 (en) * 1998-10-08 2002-07-02 Cyberworld International Corporation Architecture and methods for generating and displaying three dimensional representations
US6396522B1 (en) * 1999-03-08 2002-05-28 Dassault Systemes Selection navigator
US7119819B1 (en) * 1999-04-06 2006-10-10 Microsoft Corporation Method and apparatus for supporting two-dimensional windows in a three-dimensional environment
US9129034B2 (en) * 2000-02-04 2015-09-08 Browse3D Corporation System and method for web browsing
KR20000030430A (ko) * 2000-02-29 2000-06-05 김양신 3차원 그래픽 가상공간을 이용한 인터넷 광고시스템
US6784901B1 (en) * 2000-05-09 2004-08-31 There Method, system and computer program product for the delivery of a chat message in a 3D multi-user environment
US7788323B2 (en) * 2000-09-21 2010-08-31 International Business Machines Corporation Method and apparatus for sharing information in a virtual environment
US7168051B2 (en) * 2000-10-10 2007-01-23 Addnclick, Inc. System and method to configure and provide a network-enabled three-dimensional computing environment
US7176942B2 (en) * 2001-03-23 2007-02-13 Dassault Systemes Collaborative design
US6961055B2 (en) * 2001-05-09 2005-11-01 Free Radical Design Limited Methods and apparatus for constructing virtual environments
US7038694B1 (en) * 2002-03-11 2006-05-02 Microsoft Corporation Automatic scenery object generation
US20040113887A1 (en) * 2002-08-27 2004-06-17 University Of Southern California partially real and partially simulated modular interactive environment
US8458028B2 (en) * 2002-10-16 2013-06-04 Barbaro Technologies System and method for integrating business-related content into an electronic game
US20050128212A1 (en) * 2003-03-06 2005-06-16 Edecker Ada M. System and method for minimizing the amount of data necessary to create a virtual three-dimensional environment
JP3931336B2 (ja) * 2003-09-26 2007-06-13 マツダ株式会社 車両用情報提供装置
US7542040B2 (en) * 2004-08-11 2009-06-02 The United States Of America As Represented By The Secretary Of The Navy Simulated locomotion method and apparatus
US7933395B1 (en) * 2005-06-27 2011-04-26 Google Inc. Virtual tour of user-defined paths in a geographic information system
US7817150B2 (en) * 2005-09-30 2010-10-19 Rockwell Automation Technologies, Inc. Three-dimensional immersive system for representing an automation control environment
EP1868149B1 (en) * 2006-06-14 2019-08-07 Dassault Systèmes Improved computerized collaborative work
KR100809479B1 (ko) * 2006-07-27 2008-03-03 한국전자통신연구원 혼합 현실 환경을 위한 얼굴 착용형 디스플레이 장치
US20080030429A1 (en) * 2006-08-07 2008-02-07 International Business Machines Corporation System and method of enhanced virtual reality
US20080125218A1 (en) * 2006-09-20 2008-05-29 Kelly James Collins Method of use for a commercially available portable virtual reality system
US20090300528A1 (en) * 2006-09-29 2009-12-03 Stambaugh Thomas M Browser event tracking for distributed web-based processing, spatial organization and display of information
US9387402B2 (en) * 2007-09-18 2016-07-12 Disney Enterprises, Inc. Method and system for converting a computer virtual environment into a real-life simulation environment
US8368721B2 (en) * 2007-10-06 2013-02-05 Mccoy Anthony Apparatus and method for on-field virtual reality simulation of US football and other sports
US7844724B2 (en) * 2007-10-24 2010-11-30 Social Communications Company Automated real-time data stream switching in a shared virtual area communication environment
US20110041083A1 (en) * 2007-12-12 2011-02-17 Oz Gabai System and methodology for providing shared internet experience
US8296196B2 (en) * 2008-05-15 2012-10-23 International Business Machines Corporation Tag along shopping
US8229800B2 (en) * 2008-09-13 2012-07-24 At&T Intellectual Property I, L.P. System and method for an enhanced shopping experience
US8539359B2 (en) * 2009-02-11 2013-09-17 Jeffrey A. Rapaport Social network driven indexing system for instantly clustering people with concurrent focus on same topic into on-topic chat rooms and/or for generating on-topic search results tailored to user preferences regarding topic
US8411086B2 (en) * 2009-02-24 2013-04-02 Fuji Xerox Co., Ltd. Model creation using visual markup languages
US20100274567A1 (en) * 2009-04-22 2010-10-28 Mark Carlson Announcing information about payment transactions of any member of a consumer group
US20100274627A1 (en) * 2009-04-22 2010-10-28 Mark Carlson Receiving an announcement triggered by location data
US20110010636A1 (en) * 2009-07-13 2011-01-13 International Business Machines Corporation Specification of a characteristic of a virtual universe establishment
US9244533B2 (en) * 2009-12-17 2016-01-26 Microsoft Technology Licensing, Llc Camera navigation for presentations
EP2691936A1 (en) * 2011-03-29 2014-02-05 Qualcomm Incorporated Modular mobile connected pico projectors for a local multi-user collaboration
AU2011205223C1 (en) * 2011-08-09 2013-03-28 Microsoft Technology Licensing, Llc Physical interaction with virtual objects for DRM
WO2013028813A1 (en) * 2011-08-23 2013-02-28 Microsoft Corporation Implicit sharing and privacy control through physical behaviors using sensor-rich devices
US9414048B2 (en) * 2011-12-09 2016-08-09 Microsoft Technology Licensing, Llc Automatic 2D-to-stereoscopic video conversion
WO2013112796A1 (en) * 2012-01-25 2013-08-01 Lumenco, Llc Conversion of a digital stereo image into multiple views with parallax for 3d viewing without glasses
KR101923723B1 (ko) * 2012-09-17 2018-11-29 한국전자통신연구원 사용자 간 상호작용이 가능한 메타버스 공간을 제공하기 위한 메타버스 클라이언트 단말 및 방법
US9854014B2 (en) * 2013-03-14 2017-12-26 Google Inc. Motion data sharing
US9996797B1 (en) * 2013-10-31 2018-06-12 Leap Motion, Inc. Interactions with virtual objects for machine control
US20180129278A1 (en) * 2014-07-27 2018-05-10 Alexander Luchinskiy Interactive Book and Method for Interactive Presentation and Receiving of Information
US20170243403A1 (en) * 2014-11-11 2017-08-24 Bent Image Lab, Llc Real-time shared augmented reality experience
US9696795B2 (en) * 2015-02-13 2017-07-04 Leap Motion, Inc. Systems and methods of creating a realistic grab experience in virtual reality/augmented reality environments
WO2017080420A1 (en) * 2015-11-09 2017-05-18 Versitech Limited Auxiliary data for artifacts –aware view synthesis
US20170185261A1 (en) * 2015-12-28 2017-06-29 Htc Corporation Virtual reality device, method for virtual reality
CN109863538B (zh) * 2016-08-26 2023-10-27 奇跃公司 用于虚拟及增强现实显示的连续时间扭曲及双目时间扭曲系统和方法
US10735691B2 (en) * 2016-11-08 2020-08-04 Rockwell Automation Technologies, Inc. Virtual reality and augmented reality for industrial automation
US10701506B2 (en) * 2016-11-13 2020-06-30 EmbodyVR, Inc. Personalized head related transfer function (HRTF) based on video capture
CN108885533B (zh) * 2016-12-21 2021-05-07 杰创科科技有限公司 组合虚拟现实和增强现实
US11132533B2 (en) * 2017-06-07 2021-09-28 David Scott Dreessen Systems and methods for creating target motion, capturing motion, analyzing motion, and improving motion
GB201709752D0 (en) * 2017-06-19 2017-08-02 Advanced Risc Mach Ltd Graphics processing systems
US10460515B2 (en) * 2017-08-07 2019-10-29 Jaunt, Inc. Systems and methods for reference-model-based modification of a three-dimensional (3D) mesh data model
US11017217B2 (en) * 2018-10-09 2021-05-25 Midea Group Co., Ltd. System and method for controlling appliances using motion gestures
US10678323B2 (en) * 2018-10-10 2020-06-09 Plutovr Reference frames for virtual environments
US10838488B2 (en) * 2018-10-10 2020-11-17 Plutovr Evaluating alignment of inputs and outputs for virtual environments
US10516853B1 (en) * 2018-10-10 2019-12-24 Plutovr Aligning virtual representations to inputs and outputs
EP3996822A4 (en) * 2019-07-11 2023-07-05 Elo Labs, Inc. INTERACTIVE PERSONAL TRAINING SYSTEM
US11838336B2 (en) * 2020-08-27 2023-12-05 Varty Inc. Virtual events-based social network

Also Published As

Publication number Publication date
WO2023278082A1 (en) 2023-01-05
US20220413433A1 (en) 2022-12-29

Similar Documents

Publication Publication Date Title
US20220413434A1 (en) Holographic Calling for Artificial Reality
US11736756B2 (en) Producing realistic body movement using body images
US11461962B1 (en) Holographic calling for artificial reality
US11783524B2 (en) Producing realistic talking face with expression using images text and voice
WO2020203999A1 (ja) コミュニケーション支援システム、コミュニケーション支援方法、および画像制御プログラム
JP7200439B1 (ja) アバター表示装置、アバター生成装置及びプログラム
US9479736B1 (en) Rendered audiovisual communication
US20220413433A1 (en) Holographic Calling for Artificial Reality
US11991224B2 (en) Avatar virtual arm movement
US11676330B2 (en) 3d conversations in an artificial reality environment
WO2010022351A2 (en) System and method for low bandwidth image transmission
JP2023513980A (ja) 画面上の話者のフューショット合成
WO2022108662A1 (en) Multiple device sensor input based avatar
US11861757B2 (en) Self presence in artificial reality
US20230106330A1 (en) Method for creating a variable model of a face of a person
US20230247180A1 (en) Updating a model of a participant of a three dimensional video conference call
US20230412724A1 (en) Controlling an Augmented Call Based on User Gaze
US20230070853A1 (en) Creating a non-riggable model of a face of a person
US20230085339A1 (en) Generating an avatar having expressions that mimics expressions of a person
US20240020901A1 (en) Method and application for animating computer generated images
CN117765157A (zh) 一种虚拟人物表情驱动方法及重建设备
Bhowmik Visual sensing and gesture interactions