CN110178370A - 使用用于立体渲染的光线步进和虚拟视图广播器进行这种渲染 - Google Patents

使用用于立体渲染的光线步进和虚拟视图广播器进行这种渲染 Download PDF

Info

Publication number
CN110178370A
CN110178370A CN201880005941.0A CN201880005941A CN110178370A CN 110178370 A CN110178370 A CN 110178370A CN 201880005941 A CN201880005941 A CN 201880005941A CN 110178370 A CN110178370 A CN 110178370A
Authority
CN
China
Prior art keywords
cube
light
projection
face
rendering
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN201880005941.0A
Other languages
English (en)
Inventor
A·潘特列夫
D·杜卡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nvidia Corp
Original Assignee
Nvidia Corp
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 Nvidia Corp filed Critical Nvidia Corp
Publication of CN110178370A publication Critical patent/CN110178370A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/212Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • H04N13/117Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/243Image signal generators using stereoscopic image cameras using three or more 2D image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/257Colour aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/261Image signal generators with monoscopic-to-stereoscopic image conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • H04N13/279Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals the virtual viewpoint locations being selected by the viewers or determined by tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/344Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/538Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for performing operations on behalf of the game client, e.g. rendering
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Cardiology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Heart & Thoracic Surgery (AREA)
  • General Health & Medical Sciences (AREA)
  • Geometry (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Processing Or Creating Images (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Image Generation (AREA)

Abstract

本公开提供了一种虚拟视图广播器、一种基于云的渲染器和一种提供立体图像的方法。在一个实施例中,所述方法包括:(1)生成一组单像渲染图像和(2)利用该组单像渲染图像的深度信息和光线步进,将该组渲染图像转换成立体图像对。

Description

使用用于立体渲染的光线步进和虚拟视图广播器进行这种 渲染
相关申请的交叉引用
本申请要求于2017年1月4日提交的、序列号为62/442,366、题为“使用云服务器将云端生成的内容流式传输到VR/AR平台,并使用光线步进和深度信息渲染360度立体全景图(CLOUD GENERATION OF CONTENT TO BE STREAMED TO VR/AR PLATFORMS USING CLOUDSERVERS AND RENDERING OF STEREOSCOPIC 360-DEGREE PANORAMAS USING RAYMARCHINGAND DEPTH INFORMATION)”的美国临时申请的权益,其通常与本申请一起转让,并通过引用以其全部内容并入到本文中。
技术领域
本申请总地涉及渲染,更具体地,涉及渲染立体图像。
背景技术
许多计算机图形图像是通过从给定角度对光与三维(3D)场景的交互进行数学建模而创建的。这个过程(称为“渲染”)从给定的视点生成场景的二维(2D)图像,类似于拍摄真实场景的照片。
随着对计算机图形学,特别是对实时计算机图形学的需求越来越大,适于加速渲染过程的具有图形处理子系统的计算机系统变得越来越普遍。在这些计算机系统中,渲染过程在计算机通用中央处理单元(CPU)和图形处理子系统之间被划分,在结构上以图形处理单元(GPU)为中心。通常,CPU执行高级操作,例如确定给定场景中对象的位置、运动和碰撞。从这些高级操作中,CPU生成一组渲染命令和定义所需的一个或更多个渲染图像的数据。例如,渲染命令和数据可以定义场景的场景几何体、照明、着色、纹理、运动和/或相机参数。图形处理子系统从一组渲染命令和数据创建一个或更多个渲染图像。
随着这些计算机系统提供的加速渲染,各种应用程序(如视频游戏)使用基于云的渲染。通过这项技术,用户可以在他们的计算设备上享受虚拟图形的体验,包括虚拟现实头盔,如头戴式显示器(HMD)。基于云的平台还允许用户通过通信网络在比赛或体育赛事中远程与其他人竞争。除了那些积极参与视频游戏或应用程序的观众外,在视频游戏锦标赛或其他体育赛事中观看但不玩或不积极参与的被动观众还可以通过其中一个玩家的视角在其计算设备上观看正在进行的游戏。
发明内容
在一方面,本公开提供了一种提供立体图像的方法。在一个实施例中,该方法包括:(1)生成一组单像渲染图像,(2)使用来自该组单像渲染图像的深度信息和光线步进将该组渲染图像转化为立体图像对。
在另一方面,本公开提供了一种虚拟视图广播器。在一个实施例中,虚拟视图广播器包括:(1)基于云的渲染器,其被配置为生成一组360度单像渲染图像,并使用光线步进和深度信息将该组渲染图像转化为360度立体图像对;(2)图像处理器,其被配置为对立体图像对进行编码以进行视频传输。
在另一方面,本公开提供了一种基于云的渲染器。在一个实施例中,基于云的渲染器包括:(1)存储器,和(2)至少一个处理器,耦合到存储器并配置为使用光线步进和立方体贴图的深度缓冲器将立方体贴图转化为立体立方体贴图对。
附图说明
现结合附图对具体实施方式进行参考,其中:
图1说明了根据本公开的原理构建的虚拟视图广播系统的实施例的框图;
图2说明了根据本公开的原理构建的虚拟视图广播系统的实施例的框图;该框图说明了用于向客户端计算设备提供立体图像对的虚拟视图流的操作流程;
图3A、图3B、图3C和图3D说明了根据本公开的原理表明将光线步进应用于立方体贴图的示意图;
图4说明了根据本公开的原理实行的从一组单像渲染图像提供立体全景图的方法的实施例;
图5说明了根据本公开的原理的全向立体(ODS)投影示例的示意图,该ODS投影用于将一组单像渲染图像转化为立体图像对;
图6说明了根据本公开的原理的使用几何体确定相对于立方体贴图的视图方向的示例的图;
图7说明了根据本公开的原理从立体立方体贴图中消除变形的示例的示意图;以及
图8说明了根据本公开的原理在立体中应用半透明的示例的示意图。
具体实施方式
随着虚拟现实头戴式耳机领域的近期发展,360度全景照片和视频变得越来越流行。有两种这种全景图:单像(monoscopic)和立体(sterescopic)。单像全景图通常易于捕获、处理和显示,但它们明显缺乏任何深度信息。立体全景图的捕获或生成更为复杂。
仅在两幅图像中捕获周围深度的一种方法是以使每列图像像素对应一组光线的方式将物体投影到图像上,该组光线从直径等于瞳孔间距(IPD)的投影圆上的一个点射出。可以将其与常规(regular)透视投影进行比较,其中所有光线都从同一点——相机中心射出。投影圆是一个直径等于IPD的圆,其围绕投影中心,用于计算常规透视投影。投影圆与眼睛位置相对应,因为人以投影中心为旋转中心来转动头部。
当立体全景图是由照片或渲染图像组成时,沿水平方向拍摄的图像数量应最大化,并且每个图像应从上述圆上的不同点拍摄。然后将这些图像的中心垂直带缝合并混合在一起,以获得预期特殊投影的近似值。为了得到理想的结果,每只眼睛的输入图像数量应该等于输出全景图的宽度(以像素为单位),这显然是不切实际的。然而,使用较少的图像生成一全景图,当沿与任何源图像对(右和左)不垂直的方向观看时,该全景图的深度表示不正确。适合实时渲染的任何数量的源图像在大多数视向(view direction)上都会产生明显不正确的深度,同时会在可见的附近物体上产生明显的缝合伪像作为重影。
本文中认识到,不受常规透视投影约束的渲染方法,例如光线跟踪或使用分析场景表示的光线步进,可用于产生投影而无需缝合伪像,包括立体全景图所需的圆形投影。使用所公开的渲染过程,可以移动视点,其中光线从投影圆上的点开始被跟踪。从原始视点原始渲染图像(非圆形)被用作源数据,用于从投影圆上的点开始追踪光线。
本公开提供了一种虚拟视图广播器,它使用一组渲染图像(包括其深度缓冲器)来从靠近原始环境地图或图像的投影中心的点计算常规透视投影,但不一定与精确中心匹配。该组渲染图像可以是一组360度单像渲染图像,如单像立方体贴图。类似地,对于用户的任何位置和方向,例如从佩戴HMD的用户头部可以计算出两个投影,每只眼睛一个投影。
所公开的虚拟视图广播器采用使用该组单像渲染图像及其深度缓冲器的算法,来计算具有完美或近乎完美圆形投影的立体全景图。渲染器可以使用场景几何体、场景描述等来渲染该组单像图像。该组单像渲染图像可以是一立方体贴图,有六个正方形图像,每个正方形图像代表朝向主轴之一的视图的透视投影。每个立方体贴图面都有关于深度的信息。对于任意光线,可以通过找到光线与由立方体贴图的深度缓冲器所描述的表面的交点来确定表面信息。
在一个实施例中,光线步进(raymarching)用于从其自身像素点(即每个像素的自身视点)投射与全景图中的输出像素相对应的每条光线。在一些实施例中,可以通过使用深度视图贴图来执行光线步进。在一些实施例中,深度mipmap的十个点(tap)足以确定要使用的表面。深度mipmap,也称为MIP贴图,是预先计算并优化的图像序列,其中每个图像序列都是同一图像的逐渐低的分辨率表示。在使用深度缓冲器的实施例中,通过在用于计算单个较低分辨率输出像素的较高分辨率输入像素中找到最近的表面来生成mipmap。这与颜色mipmap不同,其中颜色像素通常是简单平均的。图3A到图3D提供了一个在步进期间中使用mipmap的示例。
计算常规透视投影和立体全景的区别在于计算每个输出像素的期望光线原点和方向。为了计算常规透视投影,原点是投影中心(眼睛位置),方向可以使用视图和投影矩阵以及像素坐标来计算。为了计算立体全景图,可以基于全景图中的输出像素坐标计算方向,光线原点基于全景中心和方向来计算,并位于投影圆上。因此,在计算全景视图时,无论单像渲染视图的投影或布局是立方体还是等矩的(equirect),对于每个输出像素,所公开的方法、系统或设备可以确定像素对应的视向。例如,有一个等矩矩形(equirectangular)投影,对于x、y,像素位置几何图形可用于确定视向。
对于立体全景图,投影点位于投影圆上。由于投影圆位于水平面上,投影点是方向向量在水平面上的投影与投影圆相切的位置。给定一个方向,投影点可以调整为位于投影圆上。投影圆上有两个投影点,用直径隔开。其中一个投影点是针对左眼的,另一个是针对右眼的。对于立方体贴图,几何图形也可用于确定视向。下面讨论的图6提供了示例。
在确定光线的原点和方向后,采用光线步进。也就是说,光线被投影到环境地图或图像上,深度缓冲器沿着光线进行采样,直到找到光线与深度缓冲器编码的隐式表面之间的交点。
在一些实施例中,光线原点可能与任何图像投影中心不匹配,并且由于视差和遮挡,可能没有关于场景的足够信息。简单地说,当你拍摄一棵树的照片时,你不知道那棵树的正后方是什么------但这对于其他观点可能很重要。为了补偿,所公开的虚拟视图广播器或其一部分被配置成使得当基于一组图像时,这些图像可以是从稍微不同的视点拍摄的,这大大提高了在至少一个图像中找到每个所需表面的机会。如果使用了立方体贴图,则可以渲染该立方体贴图的第二层。这种分层渲染被称为深度剥离,可以为处理遮挡提供额外的数据。然后,光线步进算法可以基于例如光线上的当前点与立方体贴图中的两个深度值之间的相似性或其他信息(如表面方向或深度梯度)来选择正确的图层。
现转到附图,图1说明了根据本公开的原理构造的虚拟视图广播系统100的实施例的框图。虚拟视图广播系统100包括虚拟视图广播器110,计算设备120、130、140、150、160和通信网络170。计算设备120、130、140、150、160统称为计算设备120-160,并经由通信网络170与虚拟视图广播器110通信地耦合。通信网络170可以是传统网络,例如因特网,它允许所连接的计算设备彼此通信。
虚拟视图广播器110被配置为从一组单像渲染图像生成立体图像对的虚拟视图流。该组单像渲染图像可以从位于应用程序中的虚拟相机生成。在一个实施例中,游戏发布者或其他应用程序开发人员可以被提供指定的代码,用于将其合并到他们的游戏或应用程序中,以便在其中安装虚拟相机。指定的代码可以与虚拟视图广播器110的渲染器相对应,以在选择特定虚拟相机时提供渲染图像。虚拟视图广播器110可以从摄像机选择器接收选择输入,以确定要使用的虚拟相机。在一些实施例中,可以针对不同的虚拟相机接收多个选择输入,并且虚拟视图广播系统100可以同时为所选择的多个虚拟相机生成虚拟视图。相机选择器可以是指定的人或用于向虚拟视图广播器100提供选择输入的其计算设备。计算设备可以是计算设备120-160之一。
虚拟视图广播器110可以在服务器或云计算平台的多个服务器上实现。虚拟视图广播器100提供一组单像渲染图像,然后其用于生成360度虚拟视图的立体图像对。因此,虚拟视图广播器100可以从不是虚拟现实应用的应用创建虚拟现实体验。
虚拟视图广播器110可以包括至少一个CPU和多个GPU。在所示实施例中,虚拟视图广播器110包括渲染器111,图像处理器112,视频发送器113,存储器114和应用程序引擎115。存储器114可以是常规的存储器或通常与服务器一起使用的存储器。应用程序引擎115包括与用于生成场景的算法相对应的操作指令,例如提供视频游戏场景的游戏引擎。
渲染器111生成一组单像渲染图像,并将单像图像转化为使用光线步进的立体图像对。渲染器111可以是基于云的渲染器,它从位于应用程序中的各种虚拟相机生成一组单像渲染图像。在一个实施例中,渲染图像对应于虚拟相机位置的立方体贴图的六个边。渲染器111可以生成其他渲染图像,这些渲染图像可以组合起来提供360度的虚拟视图。在一些实施例中,渲染图像可以用于等距矩形视图,而不是立方体贴图。渲染图像对应于从例如虚拟查看器的计算设备120-160接收的应用程序数据。应用程序数据可以包括场景数据。在一些实施例中,应用程序数据可以包括方向信息,其指示虚拟查看器正在看向、选择、指向等的方向。
如上所述,渲染器111通过渲染在相机位置形成立方体的六个图像可以提供一组单像渲染图像。然后,立方体贴图用于应用程序场景的纹理化。立方体贴图纹理化是纹理映射的一种形式,它使用三维方向向量索引到纹理,该纹理是布置为与立方体的面类似的六个正方形的二维纹理。由于立方体贴图的渲染比将常规视图渲染为二维纹理更复杂,因此GPU通常与CPU一起使用。例如,Nvidia GridTM技术可用于提供本文公开的渲染器和渲染方案,以支持图像的渲染,例如立方体贴图渲染。Nvidia GridTM是位于加利福尼亚州的圣塔克拉拉的Nvidia公司的,其提供了图形虚拟化平台,允许虚拟桌面和应用程序使用NvidiaGPU技术。渲染器111可以包括其他组件,例如存储器和通信接口。
图像处理器112将立体图像对编码为虚拟视图流以进行传输。图像处理器112还可以提供其他功能,例如重新格式化和图像处理。然后将经编码的立体图像对提供给视频发送器113并发送到计算设备120-160。视频发送器113可以是接收编码帧并将其作为视频流发送的常规设备。在一些实施例中,视频发送器113不是包括在虚拟视图广播器110中,而是常规地耦合到虚拟视图广播器100,并用于传输立体图像对的虚拟视图流。视频发送器113是视频代理服务器。
提供给不同计算设备120-160的立体图像的虚拟视图流可以来自相同的虚拟相机,也可以是相同的视频流。在一些实施例中,虚拟查看器可以基于通过其各自的计算设备120-160(例如HMD)提供的方向信息来确定其实际视图。
计算设备120-160可以是VR头盔、智能手机、台式计算机、笔记本电脑、计算板、平板电脑等。计算设备120-160可以是与虚拟视图广播器110通信的瘦客户端,并为渲染和缝合提供足够的应用程序数据。计算设备120-160中的每一个或至少一些可以是不同类型的设备。例如,计算设备120-140可以是VR头盔,计算设备150可以是笔记本电脑,计算设备160可以是Nvidia的SHIELD平板电脑。
图2说明了根据本公开的原理构造的虚拟视图广播系统200的实施例的框图,该图说明了向客户端计算设备提供立体图像对的虚拟视图流的操作流程。虚拟视图广播系统200包括虚拟视图广播器210、视频发送器220和客户端计算设备230。在一些实施例中,图1的虚拟视图广播器110配置为并作用为虚拟视图广播器210。
虚拟视图广播器210配置为为客户端计算设备230生成立体图像对的虚拟视图流。立体图像对可以来自位于应用程序中的基于应用程序数据的一个或更多个虚拟相机。在一个实施例中,虚拟视图广播器210是基于云的设备,例如云服务器(或多个服务器),它在云中生成内容以流式传输到客户端计算设备230。可在一个或更多个网络(例如云)服务器上实现虚拟视图广播器210,以在实时(或半实时)内容引擎中呈现内容,并创建一组单像渲染图像,其用于生成360度视频,以用于将立体图像对实时或半实时地流式传输到虚拟观看者。实时是一种由用户感觉到的响应级别,它足够及时,或者使处理器能够保持对输入的处理。在一些实施例中,可以在毫秒内处理输入数据,使其实际上作为反馈可以立即可用。虚拟视图广播器210包括渲染器211和图像处理器218。在一些实施例中,虚拟视图广播器210还包括视频发送器220。渲染器211可以是基于云的渲染器。
渲染器211生成单像图像的渲染数据组,并将单像渲染图像转化为立体图像对。渲染器211使用基于图像的光线步进以将具有颜色和深度的该组单像渲染图像转化为立体图像对。光线步进可以提供完美或接近完美的圆形投影,其由于无遮挡而具有较小的伪影,可以用可用的应对方法解决伪影问题。在光线步进之后,渲染器211可以执行其他渲染步骤,例如对每个立体图像对应用半透明几何处理和后半透明效果(色调映射)。
渲染器211可以为需要实时生成的多个表示的应用程序或技术生成图像,例如用于VR或AR显示。数据集可以对应于多个视图(例如,立方体视图)。因此,渲染器211可以绘制六个渲染图像,其用于提供360度视图。以游戏应用程序为例,渲染器211可以通过六次调用游戏引擎的渲染函数来生成六个渲染图像。
渲染器211包括中央处理单元(CPU)212,它与多个图形处理单元(GPU)213、215、217耦合。CPU和GPU的数量在不同的渲染器实施例中可能有所不同。可以将GPU配置为渲染整个单独的全景视图,或者每个GPU可以渲染同一视图的一帧。在一些实施例中,虚拟视图广播器210可以包括多个渲染器或具有多个CPU的单个渲染器,每个CPU都与多个GPU配对。
渲染器211包括存储器214,其包括一系列指导渲染器211的操作的操作指令。该系列操作指令对应于根据本文所公开的立体渲染指导渲染过程的算法。存储器214可以耦合到CPU 212和GPU,并与CPU 212和GPU213、215、217合作以呈现立体图像对。渲染器211还可以包括与CPU 212、存储器214或GPU 213、215、217耦合的用于生成渲染图像的其他组件或与其他组件交互,例如应用程序引擎。
CPU 212配置为与GPU 213、215、217合作,以生成一组单像渲染图像。CPU 212可以将场景信息发送到GPU 213、215、217,以进行额外的处理以生成特定视点的图像或帧。例如,CPU 212可以使用来自客户端计算设备230的应用程序数据来确定场景信息,如顶点位置、三角形连接、纹理、材质属性、光源等,并将此信息传递给GPU 213、215、217,以绘制渲染图像的像素。在一些实施例中,客户端计算设备230可以通过通信网络170发送将间接影响顶点位置的动作或运动信息。因此,来自客户端计算设备230的应用程序数据可以只包括一些场景数据。
渲染器211将生成的立体图像对发送到图像处理器218。立体图像对可以是360度立体图像对。图像处理器218对立体图像对执行压缩、编码为视频流进行传输、重新格式化和图像处理。图像处理器218可以包括编码器,该编码器编码为标准协议视频流,例如H.264,HVEC等。然后图像处理器218将立体图像对的经编码的虚拟视图流发送到视频发送器220进行流式传输。
视频发送器220接收经编码的视频流,并将立体图像对的虚拟视图流发送到客户端计算设备230。视频发送器220可以是视频代理服务器。客户端计算设备230可以是图1中的计算设备120-160之一。
客户端计算设备230使用从视频发送器220接收的立体图像对的虚拟视频流显示虚拟视图。客户端计算设备还可以将应用程序数据发送到虚拟视图广播器210,以用于实时生成和处理内容。
图3A、图3B、图3C和图3D说明了根据本公开的原理表明将光线步进应用于立方体贴图的示意图。本文公开的渲染器可以执行光线步进以将单像立方体贴图转化为立体的立方体贴图。
图3A说明了立方体贴图310的二维视图。投影圆320在立方体贴图310中,其具有投影中心325。立方体贴图310有几个面,其中表示了面315。多条光线,通常标注为光线340,被示出为从投影圆320上的多个投影点投影,并穿过立方体贴图310面的锥体边界。所有的光线340都起源于投影圆320,但其中一些光线只到达立方体贴图310的一个面,而其他光线在立方体贴图310的多个面之间交叉。在三维立方体贴图中,单条光线可以穿过立方体贴图的三个独立面。
图3B说明了一个立方体贴图面(例如面315)的锥体360的横截面的示例。锥体360在水平维度上有一些像素(图3B中表示了三个像素),每个像素都有自己的锥体。对于每个像素,都有一深度值,其表示到表面的距离。在光线步进期间,渲染器正在寻找与投影光线首先相交的表面。图3B到图3D中的光线可以是图3A中的光线340之一。
图3C说明了锥体360,其被变换到后投影空间,以使其更容易使用,像素对应于方框而不是普通锥体。在图3C中,深度缓冲器是简单的高度贴图。渲染器可以通过将沿光线的每个表面与光线本身进行比较来使用高度贴图。
图3D提供了更有效地利用深度信息。在图3D中,增加了两个较低分辨率的mipmap级别:1(红色)和2(绿色)。使用附加的mipmap级别,渲染器可以步进通过级别2的表面,直到其中一个表面被光线击中(hit)。然后渲染器切换到一级表面,直到一个表面被光线击中。最后,渲染器切换到0级表面,直到找到最终击中为止。
通常,光线步进是在一个视图中发生,其中光线被投影并步进,直到找到一表面。所公开的渲染过程可以使光线同时步进穿过整个立方体贴图。光线步进算法检测从哪个面开始,然后在该面中进行光线步进,然后当光线从该面射出到另一个面时再步进到另一个面。第一个要开始的面可以是在该面的锥体中具有光线原点的面,然后光线步进从该面开始。当光线原点靠近立方体贴图的中心、在锥体的外部时,那么第一个面是首先与光线相交的面。在一些实施例中,可以使用简单的光线-盒相交算法来找到该面和交点,因为六个锥体的相近平面形成一立方体。每条光线从一个面中的特定位置开始,一旦光线击中墙(如分隔面的墙),则光线步进过程将切换到该特定光线的另一个面。光线步进算法可以访问立方体贴图的所有六个面,并知道连接它们的几何图形。因此,可以依次处理通过立方体贴图的光线,从一条光线到下一条光线。在一些实施例中,可以并行处理光线。对于每条特定的光线,可以在着色程序中在不同的面之间进行切换。
图4说明了从单像立方体贴图提供立体全景图的方法400的实施例。方法400可以由本文公开的虚拟视图广播器执行。在一些实施例中,渲染器(例如基于云的渲染器)可以执行方法400的至少一些步骤。应用程序引擎,例如游戏引擎,可以用于这样一些步骤。方法400的步骤对应于如本文公开的从单像图像生成立体图像的算法。方法400从步骤405开始,目的是将不透明几何体渲染为立方体贴图。
在步骤410中,不透明几何体被渲染为立方体贴图。可以使用传统的绘制立方体贴图的方法。在步骤420中,对渲染的立方体贴图应用前半透明(pre-translucency)效果。前半透明效果可以包括屏幕空间环境遮挡(SSAO)和屏幕空间反射(SSR)。
在步骤430中,使用光线步进和利用立方体贴图的深度信息,从渲染的单像立方体贴图生成立体立方体贴图对。在一个实施例中,立体立方体贴图对是从渲染的单像立方体贴图外推出来的。渲染器可以使用光线步进将渲染的单像立方体贴图转化为立体立方体贴图对。如图3A到图3D所示,光线步进找到由深度缓冲器表示的、与投影光线相交的表面。光线步进算法可以位于应用程序引擎中。在一些实施例中,光线步进函数可以提取为一个库,并与应用程序引擎分开提供。
在步骤440中,半透明被渲染为立体图像对的两个立方体贴图。在一个实施例中,半透明是在使用顶点着色程序进行光线步进以匹配圆形投影之后渲染的。在这些实施例中,半透明物体的几何信息是可用的。在顶点着色程序中,几何体(例如几何体的顶点的位置)围绕穿过投影圆中心的垂直轴旋转,并对应于查看器位置。然后旋转的几何体可以像往常一样(即传统地)光栅化、着色,并写入立方体贴图的面。旋转的数量可以通过到物体的距离来确定。旋转的目的是为了匹配由光线步进获得的投影圆。图8提供了处理立体半透明和匹配投影圆的示例。
方法400继续到步骤450,其中后半透明(post-translucency)效果被应用于立体对的两个立方体贴图。色调映射是可应用的后半透明效果的示例。
在步骤460中,针对流式传输生成投影。投影是针对立体图像对两者生成的。可以针对流式传输生成各种类型的投影,包括等距矩形,Boggs Eumorphic,立方体贴图和金字塔。在步骤470中,随后对投影进行编码并流式传输到客户端计算设备,如HMD。然后该方法以步骤480结束。
图5说明了根据本公开原理的全向立体投影的示例的示意图。图5示出了投影圆510,其具有投影中心520和从投影圆510上的投影点发射的多条光线,该投影点近似于圆形投影。为了计算常规透视投影,原点是投影中心520(眼睛位置),并且可以使用视图和投影矩阵以及像素坐标计算方向。使用所公开的渲染过程,可以移动视点,其中光线从投影圆510上的多个点进行跟踪。来自原始视点的原始渲染图像(非圆形)被用作从投影圆510上的点开始跟踪光线的源数据。图5中表示了两个投影点530和550。投影点530是左眼视图的投影点,投影点550是右眼视图的投影点。左、右投影点530、550对应于相同的视向,并且是投影圆510上的相对点。
从投影中心520和立体全景计算常规透视投影之间的区别在于计算每个输出像素所需的光线原点和方向。对于计算立体全景图,可以基于全景图中的输出像素坐标计算方向,光线原点基于全景图中心和光线原点所在投影圆510上的方向来计算。例如,投影点530或550可以是投影圆510上的光线原点。因此,在计算全景视图时,无论渲染视图的投影或布局是立方体还是等距的,对于每个输出像素,公开的方法可以确定像素对应的视图方向。例如,具有等距投影的x、y,可以使用像素位置几何体来确定视图方向。对于立体全景图,投影点位于投影圆上。给定一方向,将投影点调整为位于投影圆510上。
图6说明了示意图600,该图提供了根据本公开的原理的确定左眼和右眼相对于立方体贴图的像素颜色的示例。示意图600说明了如何使用ODS将光线投射到立方体贴图中,以确定单像立方体贴图630面上的单个点处的左眼像素633和右眼像素635的颜色。可以类似地确定立方体贴图630的每个面上的每个点的左眼像素颜色和右眼像素颜色。有利的是,渲染器可以使用采用光线步进的ODS投影将渲染的单像立方体贴图转化为立体立方体贴图。渲染器,如图2中的渲染器211,可被配置为执行图600所表示的算法对应的步骤。
图600包括投影圆610,具有投影中心620,位于立方体贴图630内。立方体贴图630的面631的单侧如图6所示。在面631上的单个点处有左眼像素633和右眼像素635。为了确定在面631上的点处左眼像素633和右眼像素635的哪些颜色可见,从面631的点到投影中心620构造投影线640。左眼和右眼的投影圆610上的投影点由投影圆610上垂直线642的交点确定。垂直线642通过投影中心620垂直于投影线640。左眼612和右眼614的投影点位于投影圆610上垂直线642与投影圆610相交处。从左眼投影点612和右眼投影点614,在与从投影中心620到左眼像素633和右眼像素635的面631上的点的投影线640相同的方向上追踪光线。换句话说,来自投影点612和614的光线平行于投影线641的视向。当光线击中第一个物体时,该物体的颜色分别用于左眼像素633和右眼像素635。例如,当左眼光线652击中物体662时,该物体662的颜色用于左眼像素633。同样,当右眼光线654击中物体664时,该物体664的颜色用于右眼像素635。对于立方体贴图上每个像素的每个视向的每个眼睛位置,重复此过程。
图7说明了根据本公开的原理从立体立方体贴图中消除变形的示例的示意图700。当光线从具有IPD直径的投影圆开始追踪时,在某些位置可能会发生变形。对于立方体贴图中靠近在一起的像素,可以获得其不同的颜色,从而导致顶部和底部方向的变形,通常称为螺旋变形。渲染器,如图2中的渲染器211,可配置为执行图700所表示的算法对应的步骤。
为了消除顶部和底部方向的变形,投影圆的直径从水平光线的一个IPD的原始直径逐渐减小到垂直光线的零值。为了表示这种逐渐减小,图700包括第一投影圆710、第二投影圆712和第三投影圆714。水平光线730和732从第一投影圆710开始追踪,第一投影圆710是原始投影圆,其原始直径为IPD。对于向上和向下追踪的光线(由图700中向下的光线740共同表示),这些光线的投影圆的直径逐渐减小。在图700中,这由从第二投影圆712和第三投影圆714投影的光线740表示,因此光线似乎是从同一个投影点投射的。
图8说明了根据本公开的原理在立体中应用半透明的示例的示意图800。由于渲染半透明需要不含糊的深度信息,因此不能在进行光线步进之前将半透明渲染到立方体贴图。然而,在进行光线步进之后,可以获得每个表面的深度信息,并且可以为本文所公开的立体立方体贴图渲染半透明。
图800包括具有投影中心820的投影圆810。图800还包括为原始单像物体的物体830,以及物体的右眼和左眼渲染,分别表示为右眼物体840和左眼物体850。当使用来自投影圆810的光线将原始物体830转化为右眼物体840和左眼物体850时,原始物体830的顶点根据取决于距离的量围绕垂直轴旋转。
图800说明了调整顶点位置以将渲染的单像图像转化为立体图像的示例。在使用原始物体830转化为立体之前,通过旋转调整原始物体830的顶点的位置,使每只眼睛获得不同版本的原始物体830。例如,对于右眼,顶点向左移动,而对于左眼,顶点向右移动。
例如,从投影点812可以看到原始物体830上的点,标识为p,该点由从p到投影点812构造的第一条投影线813标识。从投影中心820到投影点812的半径为1/2IPD。从投影中心820构建的第二条投影线814,其与第一条投影线813平行,指示点p实际将出现在立方体贴图上的位置。因此,点p需要围绕点p和投影中心820(p0)之间的中心轴以a角旋转。a的正弦等于半径除以点p到投影中心820之间的距离,如下面的方程1所示。
与传统的方法相比,公开的装置、方案和渲染方法除了使用颜色信息外,在深度信息上是不同的,还可以将图像重新投影到不同的视点,而不仅仅是不同的视向。
这是对传统的捕获立体全景图方法的一种改进,其中少量图像通常被缝合在一起,而你必须要忍受的断裂的深度和缝合伪影则被去除。本公开提供的优点是渲染较少的单像视图,然后将单像视图转化为立体视图。然后,可以使用常规的光栅化来渲染投影而不产生变形。
传统上使用一些图像处理算法,其试图通过使用计算机视觉算法(如光流)分析图像来减少缝合伪影。即使有效,这些图像处理算法也需要大量的输入图像来产生良好的结果,分析需要很长的时间。一些VR HMD驱动程序可以使用重投影技术将应用程序渲染的图像调整为稍微更新的HMD方向。这可以称为“时间扭曲(timewarp)”。但是,只使用颜色信息,并且尽可能快地尝试重投影着色程序,因此它们只能校正投影方形,而不是视点。
本文公开的改进的渲染过程允许实时生成立体图像对,同时只渲染一组单像图像,如立方体贴图,从而保持渲染成本相对较低,并生成具有高质量立体效果的全景图。为了进一步提高质量,可以使用双层立方体贴图。在一些实施例中,公开的渲染过程可用于Nvidia Ansel立体全景图,通过游戏提供具有深度缓冲器和深度投影参数的Ansel运行时间。Ansel是一个高级的游戏虚拟摄影工具,允许用户从游戏中捕获各种图片,包括常规屏幕截图、高分辨率屏幕截图、单像和立体360度全景图。使用Ansel,用户可以从任何位置合成屏幕截图,使用后期处理过滤器调整它们,以高保真格式捕获HDR图像,并使用手机、PC或VR耳机360度共享它们。
因此,上述系统、装置和方法或其至少一部分可以体现在各种处理器中或由各种处理器执行,例如数字数据处理器或计算机,其中,计算机被编程或存储软件指令序列的可执行程序,以执行方法的一个或更多个步骤。本文所公开的这种程序的软件指令可以表示算法,并以机器可执行的形式编码在非暂时性数字数据存储介质上,例如,磁盘或光盘、随机存取存储器(RAM)、磁性硬盘、闪存和/或只读存储器(ROM),以使得各种类型的数字数据处理器或计算机能够执行本文所描述的一个或更多个方法中的一个、多个或所有步骤,或本文所描述的装置的组件。
本文所公开的某些实施例还可以涉及具有非暂时性计算机可读介质的计算机存储产品,所述非暂时性计算机可读介质上具有用于执行各种计算机实现的操作的程序代码,所述计算机实现的操作包含所述设备、系统或执行本文所阐述的方法的步骤。本文所用的非暂时性介质是指除暂时性传播信号外的所有计算机可读介质。非暂时性计算机可读介质的例子包括但不限于:诸如硬盘、软盘和磁带等磁性介质、诸如CD-ROM盘等光学介质、诸如软光盘等磁光介质;以及专门配置用于存储和执行程序代码的硬件设备,如ROM和RAM设备。程序代码的例子包括机器代码(如编译器生成的代码)和包含较高级别代码的文件(可由计算机使用解释器执行)。
本申请所涉及领域的技术人员将理解,可以对所述实施例进行其他和进一步的添加、删除、替换和修改。

Claims (21)

1.一种提供立体图像的方法,包括:
生成一组单像渲染图像;以及
利用所述一组单像渲染图像的深度信息和光线步进将所述一组渲染图像转化为立体图像对。
2.如权利要求1所述的方法,其中所述一组单像渲染图像是具有颜色缓冲器和深度缓冲器两者的立方体贴图,所述立体图像对是一对立体立方体贴图。
3.如权利要求2所述的方法,其中所述转化包括使用全向立体(ODS)投影将光线投射到所述立方体贴图的一个面上,以确定所述立方体贴图的所述一个面上的单个点的左眼像素的颜色和右眼像素的颜色。
4.如权利要求3所述的方法,其中所述光线步进包括使用所述深度缓冲器确定在所述一个面上与光线相交的表面。
5.如权利要求4所述的方法,其中所述深度缓冲器包括mipmap级别,所述光线步进包括使用所述mipmap级别来确定在所述面上与光线相交的表面。
6.如权利要求3所述的方法,其中所述面是所述立方体贴图的六个面之一,所述转化包括所述ODS投影将光线投射到所述六个面中的每一个面上,以确定所述六个面中的每一个面上使用光线步进的点的左眼像素颜色和右眼像素颜色。
7.如权利要求6所述的方法,其中所述光线步进基于所述光线之一的原点来选择开始的面。
8.如权利要求3所述的方法,还包括减小所述ODS投影的投影圆的直径,以消除所述立体图像对的螺旋变形。
9.如权利要求1所述的方法,进一步包括在所述光线步进后为所述立体图像对中的每一个渲染半透明几何体。
10.如权利要求9所述的方法,还包括重新投影所述立体图像对以用于视频传输。
11.如权利要求1所述的方法,其中所述一组单像渲染图像是一组360度单像渲染图像,所述立体图像对是360度立体图像对。
12.一种虚拟视图广播器,包括:
基于云的渲染器,其被配置为生成一组360度单像渲染图像,并使用光线步进和深度信息将所述一组渲染图像转化为360度立体图像对;以及
图像处理器,被配置为对所述立体图像对进行编码以用于视频传输。
13.如权利要求12所述的虚拟视图广播器,还包括视频发送器,其配置为通过通信网络将所述360度立体图像对作为视频流传输。
14.如权利要求12所述的虚拟视图广播器,其中所述一组360度单像渲染图像是具有颜色缓冲器和深度缓冲器两者的立方体贴图,所述360度立体图像对是立体立方体贴图对。
15.如权利要求14所述的虚拟视图广播器,其中,基于云的渲染器被配置为通过使用全向立体(ODS)投影将光线投射到所述立方体贴图的每个面上来进行转化,以确定所述立方体贴图的每个面上的单个点的左眼像素的颜色和右眼像素的颜色。
16.如权利要求14所述的虚拟视图广播器,其中所述光线步进包括使用所述深度缓冲器来确定所述在立方体贴图的每个面上与投射的光线相交的表面。
17.如权利要求12所述的虚拟视图广播器,其中所述基于云的渲染器进一步被配置为在所述光线步进后渲染所述立体图像对中的每一个的半透明几何体。
18.一种基于云的渲染器,包括:
存储器;以及
至少一个处理器,耦合到所述存储器并配置成使用光线步进和所述立方体贴图的深度缓冲器将立方体贴图转化为立体立方体贴图对。
19.如权利要求18所述的基于云的渲染器,其中所述处理器被配置为通过使用全向立体(ODS)投影将光线投射到所述立方体贴图的每个面上来进行转化,以确定所述立方体贴图的每个面上的单个点的左眼像素的颜色和右眼像素的颜色。
20.如权利要求18所述的基于云的渲染器,其中所述处理器进一步被配置为在所述光线步进之后渲染所述立体立方体贴图对中的每一个的半透明几何体。
21.如权利要求18所述的基于云的渲染器,其中所述至少一个处理器进一步被配置为生成所述立方体贴图。
CN201880005941.0A 2017-01-04 2018-01-04 使用用于立体渲染的光线步进和虚拟视图广播器进行这种渲染 Pending CN110178370A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762442366P 2017-01-04 2017-01-04
US62/442,366 2017-01-04
PCT/US2018/012382 WO2018129186A1 (en) 2017-01-04 2018-01-04 Stereoscopic rendering using raymarching and a virtual view broadcaster for such rendering

Publications (1)

Publication Number Publication Date
CN110178370A true CN110178370A (zh) 2019-08-27

Family

ID=62711976

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201880015676.4A Active CN110383346B (zh) 2017-01-04 2018-01-04 使用虚拟视图广播器云生成要流式传输到vr/ar平台的内容
CN201880005941.0A Pending CN110178370A (zh) 2017-01-04 2018-01-04 使用用于立体渲染的光线步进和虚拟视图广播器进行这种渲染

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201880015676.4A Active CN110383346B (zh) 2017-01-04 2018-01-04 使用虚拟视图广播器云生成要流式传输到vr/ar平台的内容

Country Status (4)

Country Link
US (3) US10497168B2 (zh)
CN (2) CN110383346B (zh)
DE (1) DE112018000311T5 (zh)
WO (2) WO2018129197A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113470161A (zh) * 2021-06-30 2021-10-01 完美世界(北京)软件科技发展有限公司 虚拟环境中容积云的光照确定方法、相关设备及存储介质

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2513884B (en) 2013-05-08 2015-06-17 Univ Bristol Method and apparatus for producing an acoustic field
GB2530036A (en) 2014-09-09 2016-03-16 Ultrahaptics Ltd Method and apparatus for modulating haptic feedback
SG11201706527QA (en) 2015-02-20 2017-09-28 Ultrahaptics Ip Ltd Algorithm improvements in a haptic system
MX2017010254A (es) 2015-02-20 2018-03-07 Ultrahaptics Ip Ltd Percepciones en un sistema haptico.
US10818162B2 (en) 2015-07-16 2020-10-27 Ultrahaptics Ip Ltd Calibration techniques in haptic systems
US10268275B2 (en) 2016-08-03 2019-04-23 Ultrahaptics Ip Ltd Three-dimensional perceptions in haptic systems
US10943578B2 (en) 2016-12-13 2021-03-09 Ultrahaptics Ip Ltd Driving techniques for phased-array systems
EP3557866A4 (en) * 2016-12-16 2019-12-04 Samsung Electronics Co., Ltd. METHOD FOR TRANSMITTING DATA RELATED TO A THREE-DIMENSIONAL IMAGE
CN110383346B (zh) * 2017-01-04 2023-02-03 辉达公司 使用虚拟视图广播器云生成要流式传输到vr/ar平台的内容
US11386607B1 (en) * 2017-04-16 2022-07-12 Meta Platforms, Inc. Systems and methods for capturing content
US11531395B2 (en) 2017-11-26 2022-12-20 Ultrahaptics Ip Ltd Haptic effects from focused acoustic fields
WO2019122912A1 (en) 2017-12-22 2019-06-27 Ultrahaptics Limited Tracking in haptic systems
JP7483610B2 (ja) 2017-12-22 2024-05-15 ウルトラハプティクス アイピー リミテッド 触覚システムにおける不要な応答の最小化
GB2570298A (en) * 2018-01-17 2019-07-24 Nokia Technologies Oy Providing virtual content based on user context
US10559121B1 (en) 2018-03-16 2020-02-11 Amazon Technologies, Inc. Infrared reflectivity determinations for augmented reality rendering
US10607567B1 (en) 2018-03-16 2020-03-31 Amazon Technologies, Inc. Color variant environment mapping for augmented reality
US10777010B1 (en) * 2018-03-16 2020-09-15 Amazon Technologies, Inc. Dynamic environment mapping for augmented reality
CN108171783A (zh) * 2018-03-20 2018-06-15 联想(北京)有限公司 图像渲染方法、系统以及电子设备
JP7354146B2 (ja) 2018-05-02 2023-10-02 ウルトラハプティクス アイピー リミテッド 改善された音響伝達効率のための遮断板構造体
US10733786B2 (en) * 2018-07-20 2020-08-04 Facebook, Inc. Rendering 360 depth content
US10628990B2 (en) * 2018-08-29 2020-04-21 Intel Corporation Real-time system and method for rendering stereoscopic panoramic images
WO2020049322A1 (en) * 2018-09-09 2020-03-12 Ultrahaptics Ip Limited Event triggering in phased-array systems
US11098951B2 (en) 2018-09-09 2021-08-24 Ultrahaptics Ip Ltd Ultrasonic-assisted liquid manipulation
KR102138977B1 (ko) * 2018-10-10 2020-07-28 민코넷주식회사 클라우드 컴퓨터를 이용한 게임 플레이 동영상 제공 시스템
US11378997B2 (en) 2018-10-12 2022-07-05 Ultrahaptics Ip Ltd Variable phase and frequency pulse-width modulation technique
WO2020141330A2 (en) 2019-01-04 2020-07-09 Ultrahaptics Ip Ltd Mid-air haptic textures
JP7343285B2 (ja) * 2019-03-20 2023-09-12 株式会社コーエーテクモゲームス コンピュータシステム、配信用端末及び配信サーバー
US11358057B2 (en) * 2019-03-22 2022-06-14 Disney Enterprises, Inc. Systems and methods for allowing interactive broadcast streamed video from dynamic content
US11842517B2 (en) 2019-04-12 2023-12-12 Ultrahaptics Ip Ltd Using iterative 3D-model fitting for domain adaptation of a hand-pose-estimation neural network
US11164385B2 (en) * 2019-08-17 2021-11-02 Samsung Electronics Co., Ltd. Apparatuses and methods for establishing virtual reality (VR) call between caller VR device and callee VR device
US11553295B2 (en) 2019-10-13 2023-01-10 Ultraleap Limited Dynamic capping with virtual microphones
US11374586B2 (en) 2019-10-13 2022-06-28 Ultraleap Limited Reducing harmonic distortion by dithering
EP3829166A1 (en) 2019-11-29 2021-06-02 InterDigital CE Patent Holdings A method and apparatus for decoding a 3d video
US11715453B2 (en) 2019-12-25 2023-08-01 Ultraleap Limited Acoustic transducer structures
US11816267B2 (en) 2020-06-23 2023-11-14 Ultraleap Limited Features of airborne ultrasonic fields
WO2022010026A1 (ko) * 2020-07-07 2022-01-13 인하대학교 산학협력단 적층 가능한 라이트필드 기반 가상공간 구축 방법 및 장치
US11886639B2 (en) 2020-09-17 2024-01-30 Ultraleap Limited Ultrahapticons
KR20230136195A (ko) * 2021-02-28 2023-09-26 레이아 인코포레이티드 압축된 멀티뷰 동영상을 스트리밍하는 시스템 및 방법
US20230088014A1 (en) * 2021-04-21 2023-03-23 NewSight Reality, Inc. Optical module having active array of elements capable of synchronizing with see-through display
CN112973121B (zh) * 2021-04-30 2021-07-20 成都完美时空网络技术有限公司 反射效果生成方法及装置、存储介质、计算机设备
GB2604193B (en) * 2021-08-06 2023-03-08 Imagination Tech Ltd Texture address generation
CN115639976B (zh) * 2022-10-28 2024-01-30 深圳市数聚能源科技有限公司 一种虚拟现实内容多模式多角度同步展示方法及系统

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5995742A (en) * 1997-07-25 1999-11-30 Physical Optics Corporation Method of rapid prototyping for multifaceted and/or folded path lighting systems
GB0400371D0 (en) * 2004-01-09 2004-02-11 Koninkl Philips Electronics Nv Volumetric display
US20040222988A1 (en) * 2003-05-08 2004-11-11 Nintendo Co., Ltd. Video game play using panoramically-composited depth-mapped cube mapping
US20080106549A1 (en) * 2002-07-10 2008-05-08 Newhall William P Jr Omnidirectional shadow texture mapping
US20080143720A1 (en) * 2006-12-13 2008-06-19 Autodesk, Inc. Method for rendering global illumination on a graphics processing unit
US20100136507A1 (en) * 2008-12-01 2010-06-03 Fujitsu Limited Driving simulation apparatus, wide-angle camera video simulation apparatus, and image deforming/compositing apparatus
CN102590923A (zh) * 2012-03-01 2012-07-18 清华大学深圳研究生院 透镜、全息图投影制作系统及方法
US8319825B1 (en) * 2008-06-16 2012-11-27 Julian Urbach Re-utilization of render assets for video compression
US20130100132A1 (en) * 2011-03-31 2013-04-25 Panasonic Corporation Image rendering device, image rendering method, and image rendering program for rendering stereoscopic images
CN103959340A (zh) * 2011-12-07 2014-07-30 英特尔公司 用于自动立体三维显示器的图形呈现技术
GB201410744D0 (en) * 2014-06-17 2014-07-30 Next Logic Pty Ltd Generating a sequence of stereoscopic images for a head-mounted display
CN104112034A (zh) * 2013-04-22 2014-10-22 辉达公司 用于实施路径空间滤波的系统、方法和计算机程序产品
US20150055937A1 (en) * 2013-08-21 2015-02-26 Jaunt Inc. Aggregating images and audio data to generate virtual reality content
US20150358613A1 (en) * 2011-02-17 2015-12-10 Legend3D, Inc. 3d model multi-reviewer system
US20160219267A1 (en) * 2015-01-22 2016-07-28 Microsoft Technology Licensing, Llc Synthesizing second eye viewport using interleaving
US20160321836A1 (en) * 2015-05-01 2016-11-03 Otoy Inc. Rendering via ray-depth field intersection
US20160353090A1 (en) * 2015-05-27 2016-12-01 Google Inc. Omnistereo capture and render of panoramic virtual reality content

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7009615B1 (en) 2001-11-30 2006-03-07 Nvidia Corporation Floating point buffer system and method for use during programmable fragment processing in a graphics pipeline
US8928729B2 (en) 2011-09-09 2015-01-06 Disney Enterprises, Inc. Systems and methods for converting video
US9403090B2 (en) * 2012-04-26 2016-08-02 Riot Games, Inc. Video game system with spectator mode hud
US10803655B2 (en) * 2012-06-08 2020-10-13 Advanced Micro Devices, Inc. Forward rendering pipeline with light culling
US20140038708A1 (en) 2012-07-31 2014-02-06 Cbs Interactive Inc. Virtual viewpoint management system
US20140274369A1 (en) * 2013-03-12 2014-09-18 Sony Computer Entertainment America Llc Scheme for assisting in catching an object in a computer simulation
CN107735152B (zh) * 2015-06-14 2021-02-02 索尼互动娱乐股份有限公司 用于虚拟现实(vr)观看的扩展视野重新渲染
US20170104927A1 (en) 2015-10-07 2017-04-13 Little Star Media, Inc. Systems, methods and software programs for 360 degree video distribution platforms
US11228754B2 (en) * 2016-05-06 2022-01-18 Qualcomm Incorporated Hybrid graphics and pixel domain architecture for 360 degree video
CN105939481A (zh) * 2016-05-12 2016-09-14 深圳市望尘科技有限公司 一种交互式三维虚拟现实视频节目录播和直播方法
US10805592B2 (en) * 2016-06-30 2020-10-13 Sony Interactive Entertainment Inc. Apparatus and method for gaze tracking
US10460501B2 (en) 2016-07-04 2019-10-29 Liquid Cinema Inc., Canada System and method for processing digital video
US10346950B2 (en) * 2016-10-05 2019-07-09 Hidden Path Entertainment, Inc. System and method of capturing and rendering a stereoscopic panorama using a depth buffer
US10204395B2 (en) * 2016-10-19 2019-02-12 Microsoft Technology Licensing, Llc Stereoscopic virtual reality through caching and image based rendering
CN110383346B (zh) 2017-01-04 2023-02-03 辉达公司 使用虚拟视图广播器云生成要流式传输到vr/ar平台的内容

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5995742A (en) * 1997-07-25 1999-11-30 Physical Optics Corporation Method of rapid prototyping for multifaceted and/or folded path lighting systems
US20080106549A1 (en) * 2002-07-10 2008-05-08 Newhall William P Jr Omnidirectional shadow texture mapping
US20040222988A1 (en) * 2003-05-08 2004-11-11 Nintendo Co., Ltd. Video game play using panoramically-composited depth-mapped cube mapping
GB0400371D0 (en) * 2004-01-09 2004-02-11 Koninkl Philips Electronics Nv Volumetric display
US20080143720A1 (en) * 2006-12-13 2008-06-19 Autodesk, Inc. Method for rendering global illumination on a graphics processing unit
US8319825B1 (en) * 2008-06-16 2012-11-27 Julian Urbach Re-utilization of render assets for video compression
US20100136507A1 (en) * 2008-12-01 2010-06-03 Fujitsu Limited Driving simulation apparatus, wide-angle camera video simulation apparatus, and image deforming/compositing apparatus
US20150358613A1 (en) * 2011-02-17 2015-12-10 Legend3D, Inc. 3d model multi-reviewer system
US20130100132A1 (en) * 2011-03-31 2013-04-25 Panasonic Corporation Image rendering device, image rendering method, and image rendering program for rendering stereoscopic images
CN103959340A (zh) * 2011-12-07 2014-07-30 英特尔公司 用于自动立体三维显示器的图形呈现技术
CN102590923A (zh) * 2012-03-01 2012-07-18 清华大学深圳研究生院 透镜、全息图投影制作系统及方法
CN104112034A (zh) * 2013-04-22 2014-10-22 辉达公司 用于实施路径空间滤波的系统、方法和计算机程序产品
US20150055937A1 (en) * 2013-08-21 2015-02-26 Jaunt Inc. Aggregating images and audio data to generate virtual reality content
GB201410744D0 (en) * 2014-06-17 2014-07-30 Next Logic Pty Ltd Generating a sequence of stereoscopic images for a head-mounted display
US20150363976A1 (en) * 2014-06-17 2015-12-17 Next Logic Pty Ltd. Generating a Sequence of Stereoscopic Images for a Head-Mounted Display
US20160219267A1 (en) * 2015-01-22 2016-07-28 Microsoft Technology Licensing, Llc Synthesizing second eye viewport using interleaving
US20160321836A1 (en) * 2015-05-01 2016-11-03 Otoy Inc. Rendering via ray-depth field intersection
US20160353090A1 (en) * 2015-05-27 2016-12-01 Google Inc. Omnistereo capture and render of panoramic virtual reality content

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ADELSON: "Stereoscopic Ray-Tracing", 《GVU CENTER TECHNICAL REPORTS》 *
STONE等: "Immersive Molecular Visualization with Omnidirectional Stereoscopic Ray Tracing and Remote Rendering", 《IEEE》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113470161A (zh) * 2021-06-30 2021-10-01 完美世界(北京)软件科技发展有限公司 虚拟环境中容积云的光照确定方法、相关设备及存储介质
CN113470161B (zh) * 2021-06-30 2022-06-07 完美世界(北京)软件科技发展有限公司 虚拟环境中容积云的光照确定方法、相关设备及存储介质

Also Published As

Publication number Publication date
US10839591B2 (en) 2020-11-17
US20180190007A1 (en) 2018-07-05
WO2018129197A1 (en) 2018-07-12
WO2018129186A1 (en) 2018-07-12
DE112018000311T5 (de) 2019-09-19
US10497168B2 (en) 2019-12-03
US20200105047A1 (en) 2020-04-02
US20180192081A1 (en) 2018-07-05
CN110383346B (zh) 2023-02-03
CN110383346A (zh) 2019-10-25

Similar Documents

Publication Publication Date Title
CN110178370A (zh) 使用用于立体渲染的光线步进和虚拟视图广播器进行这种渲染
US10540818B2 (en) Stereo image generation and interactive playback
US10474227B2 (en) Generation of virtual reality with 6 degrees of freedom from limited viewer data
US10346950B2 (en) System and method of capturing and rendering a stereoscopic panorama using a depth buffer
US20190244413A1 (en) Virtual viewpoint for a participant in an online communication
JP2017532847A (ja) 立体録画及び再生
CN108616731A (zh) 一种360度vr全景图形图像及视频实时生成方法
US20230290043A1 (en) Picture generation method and apparatus, device, and medium
JP7425196B2 (ja) ハイブリッドストリーミング
US20230281912A1 (en) Method and system for generating a target image from plural multi-plane images
CN110891659A (zh) 对注视点渲染系统中的粒子和模拟模型的优化的延迟照明和中心凹调适
CN107005689B (zh) 数字视频渲染
CN115529835A (zh) 用于新颖视图合成的神经混合
US20170104982A1 (en) Presentation of a virtual reality scene from a series of images
US11601636B2 (en) Methods, systems, and media for generating an immersive light field video with a layered mesh representation
CN114419099A (zh) 捕捉待渲染虚拟对象的运动轨迹的方法
US11348252B1 (en) Method and apparatus for supporting augmented and/or virtual reality playback using tracked objects
CN115830210A (zh) 虚拟对象的渲染方法、装置、电子设备及存储介质
CN113992996A (zh) 传输数据的方法和装置
US11688124B2 (en) Methods and apparatus rendering images using point clouds representing one or more objects
US11677923B1 (en) Method for image processing of image data for high-resolution images on a two-dimensional display wall
JP7386888B2 (ja) 画面上の話者のフューショット合成
WO2022244131A1 (ja) 画像データ生成装置、表示装置、画像表示システム、画像データ生成方法、画像表示方法、および、画像データのデータ構造
US20240223738A1 (en) Image data generation device, display device, image display system, image data generation method, image display method, and data structure of image data

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190827