CN105409213A - 立体场景的交错分块渲染 - Google Patents

立体场景的交错分块渲染 Download PDF

Info

Publication number
CN105409213A
CN105409213A CN201480035900.8A CN201480035900A CN105409213A CN 105409213 A CN105409213 A CN 105409213A CN 201480035900 A CN201480035900 A CN 201480035900A CN 105409213 A CN105409213 A CN 105409213A
Authority
CN
China
Prior art keywords
image
piecemeal
playing
data
play
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
CN201480035900.8A
Other languages
English (en)
Inventor
A·普法夫
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN105409213A publication Critical patent/CN105409213A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

公开了涉及以交错方式渲染立体图像的分块的各实施例。例如,一个所公开的实施例提供了一种方法,包括渲染一图像的第一分块,以及在渲染该第一图像的第一分块之后,渲染第二图像的第一分块。在渲染第二图像的第一分块之后,渲染第一图像的第二分块,以及在渲染第一图像的第二分块之后,渲染第二图像的第二分块。该方法还包括将第一图像发送至第一眼部显示器、以及将第二图像发送至第二眼部显示器。

Description

立体场景的交错分块渲染
背景
在立体渲染中,场景的图像对于用户左眼和右眼被分开呈现,其中左眼图像的视角和右眼图像的视角与真实世界场景的左眼视图和右眼视图相类似地偏移。左眼图像和右眼图像间的偏移允许所呈现的场景向观看者显示为单个三维场景。
概述
公开了涉及使用分块渲染器来渲染立体场景的各实施例。例如,一个所公开的实施例提供了一种方法,包括渲染第一图像的第一分块,以及在渲染该第一图像的第一分块之后,渲染第二图像的第一分块。在渲染第二图像的第一分块之后,渲染第一图像的第二分块。在渲染第一图像的第二分块之后,渲染第二图像的第二分块。该方法还包括将第一图像发送至第一眼部显示器、以及将第二图像发送至第二眼部显示器。
提供该概述以便以简化形式介绍概念的选集,所述概念在以下详细描述中被进一步描述。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。而且,所要求保护的主题不限于解决该公开的任一部分中所注的任何或全部缺点的实现方式。
附图简述
图1示意性地示出用头戴式显示设备观看立体渲染的场景的示例。
图2示意性地示出图1的立体场景的左图像和右图像的分块。
图3示出按照本公开的存储器层级的实施例的框图。
图4示出描述用于以交错方式渲染立体场景的图像的分块的方法的实施例的流程图。
图5A示意性地示出立体场景的图像的各分块按照非交错方式渲染的次序。
图5B示出按照图5A的渲染次序的连续分块对之间的误差的图表。
图6A示意性地示出立体场景的图像的各分块按照交错方式被渲染的次序。
图6B示出按照图6A的渲染次序的连续分块对之间的误差的图表。
图7示出按照本公开的计算设备的实施例的框图。
详细描述
在一些用于渲染三维图形的方法中,分块渲染用于解决与用于执行这种渲染的硬件相关联的潜在问题,诸如有限的存储器带宽。分块渲染将要被渲染的图像细分为多个子图像,连续渲染这些子图像,直到已经渲染了整个图像用于显示为止。
在立体渲染中,场景的左图像和右图像从不同的视角被分开地渲染。当同时观看时(或者以足够高的帧速率连续观看时),左图像和右图像看上去以三维方式再现了场景。由于渲染了两个图像,因此立体渲染显著地增加了(例如,双倍)渲染三维场景所使用的资源,包括存储器带宽、时间和功耗。
相应地,此处公开了涉及减少用于渲染立体图像的分块的资源的各实施例。简言之,所公开的实施例涉及在渲染第一图像的第一分块之后并且在渲染第一图像的第二分块之前,渲染第二图像的第一分块。由于左眼图像和右眼图像的相应分块可能有许多类似特征,因此以此方式交错的渲染可以通过使用与第一图像的第一分块相关联的至少一部分数据来渲染第二图像的第一分块,减少存储器存取惩罚。
图1示意性地示出立体渲染的场景100的示例,该场景100包括正在被用户104观看的立体对象102。立体场景100和立体对象102在该示例中由用户104佩戴的头戴式显示器(HMD)106渲染和显示。这里,立体对象102的两个图像分别为用户104的左眼和右眼渲染。图像可以分别从第一视角和第二视角被渲染,该第一视角和第二视角适当地偏移以造成三维印象。
在图示实施例中,立体图像被HMD106观看。HMD106可以表示具有实质上占据了用户104的视野的显示器的虚拟现实设备,以使用户104感知这一HMD所显示的内容,而不是周围物理环境的元素。在另一示例中,HMD106可以表示包括透视显示器的增强型现实设备,用该透视显示器可以将图像显示在背景物理环境上。
可以理解,HMD106仅被提供作为说明性示例,而不意图是限制性的。在其他实施例中,立体场景100和立体对象102可经由未安装至用户104头部的显示设备来表示。例如,显示设备可以表示立体对象102的图像,该图像然后通过用户104所佩戴的镜架中的偏振透镜被分成单独的左图像和右图像。或者,显示设备可以以相对较高的速度(例如,每秒120帧)交替地显示立体对象102的左图像和右图像。左图像和右图像可以被选择性地阻止并且经由与显示器输出的帧速率同步的快门眼镜被传送至用户104,以使在一给定瞬间仅观察到左图像和右图像之一。
图2示出立体图像对的左图像202和右图像204的示例。左图像202和右图像204分别从用户104的左眼和右眼的视角示出立体场景100和立体对象102。在该示例中,第一视角和第二视角在角度上彼此偏移了一个偏移角,以使立体对象102的较大左部在左图像202中可见,而对象102的较大右部在右图像204中可见。
图2还示意性地图示了左图像202和右图像204的分块渲染。如上所述,分块渲染器可有助于缓解在一些设备中可能存在的硬件限制。例如,向其写入来自渲染器的输出的缓冲器(例如,帧缓冲器)可能太小,以至于不能存储场景的给定图像的渲染输出的全部。因此,可以使用分块渲染器来将场景的图像细分为被渲染为各分块,以使单个分块的渲染输出在任一给定时间占据缓冲器。一旦被写入到缓冲器,分块的渲染输出就可以在渲染另一分块之前被发送至显示设备。或者,给定分块的渲染输出可以在渲染另一分块之前被写入到存储器中的另一位置(例如,另一缓冲器)。在一些实现方式中,分块渲染器的使用可促进渲染并行性,因为每个分块可以被独立渲染。
在图示示例中,分块渲染器已将左图像202和右图像204细分为四个相等的矩形分块。然而,将会理解,左图像202和右图像204可以被细分为实质上具有任何合适形状的任何数量的分块。
左图像202包括在顺时针方向连续指定的四个分块:L1、L2、L3和L4。同样,右图像包括在顺时针方向连续指定的四个分块:R1、R2、R3和R4。如图所示,对于一相应图像的每一组四个分块(例如,对于左图像202的L1、L2、L3和L4)包括立体场景100和立体对象102的实质上不同的元素。相反,左图像202和右图像204之间的空间上对应的分块对(例如,L1和R1、L2和R2、L3和R3、以及L4和R4)包括立体场景100和立体对象102的实质上类似的元素,因为它们对应于场景和对象的实质上类似区域、但具有一角度偏移,如上所述。这种分块对可被认为是实质上空间相干的。这种分块对的空间相干性可被利用以减少与渲染左图像202和右图像204相关联的时间、功率和存储器存取,如以下参照图4、6A和6B进一步详述。
图3示出示例存储器层级300,该示例存储器层级300可以在基于分块的渲染流水线中用来渲染左图像202和右图像204。层级300包括主存储器302。主存储器302具有最高容量,但也是最高的等待时间,其中“等待时间”是指在对存储器中的数据作出请求之后该数据可用的时间。在执行渲染左图像202和右图像204所用的渲染流水线之前、或在此期间,渲染立体场景100和立体对象102所使用的数据可以被写入到主存储器302。这种场景数据可以包括例如渲染引擎以及其他应用代码、图元数据、纹理、等等。
存储器层级300还包括经由总线(在图3中由虚线所示)在操作上耦合至主存储器302的命令缓冲器304。在该示例中,命令缓冲器304占据较小的、单独的存储器区域,并且具有与主存储器302的等待时间相比减少的等待时间。因此,对命令缓冲器304中数据的请求可以以较短时间来满足。用于左图像202和右图像204之一(或者在一些实施例中为两者)的数据可以从主存储器302被写入到命令缓冲器304,以使数据可以加速方式由渲染流水线存取。该数据可以包括命令程序、相关参数以及渲染图像所需的任何其他资源,包括但不限于:着色器、常数、纹理、顶点缓冲器、索引缓冲器、以及视图变换矩阵或者与渲染图像(例如左图像202)的视角有关的其他数据结构编码信息。
存储器层级300还包括分块缓冲器306,该分块缓冲器306经由虚线所表示的总线在操作上耦合至命令缓冲器304。分块缓冲器306可以占据较小的、单独的存储器区域,并且可具有与命令缓冲器304的等待时间相比减少的等待时间。用于特定分块(例如,L1)的数据可以从命令缓冲器304被写入到分块缓冲器306,以使对特定分块的数据可由分块流水线和分块渲染器以进一步加快的方式。分块缓冲器306可以被配置成对于给定分块和给定分块尺寸存储分块数据的全部。
在一些实施例中,命令缓冲器304和分块缓冲器306占据分别被分配给缓冲器的第一高速缓存和第二高速缓存的区域。第一高速缓存可具有第一等待时间,而第二高速缓存可具有第二等待时间,第二等待时间可以小于第一等待时间。以此方式,可以优化用于分块数据的存储器获取,并且减少源自于分块数据获取的等待时间惩罚。
将会理解,主存储器302、命令缓冲器304和分块缓冲器306可各自对应于可在操作上耦合至逻辑器件的分立的物理存储器模块。或者,主存储器302、命令缓冲器304和分块缓冲器306中的一个或多个可以对应于单个物理存储器模块,并且还可以嵌有片上系统(SoC)配置中的逻辑器件。此外,便于在主存储器302、命令缓冲器304和分块缓冲器306间的读和写的总线在性质上是示例性的。在其他实施例中,例如,分块缓冲器306可以在操作上和直接地耦合至主存储器302。
图4示出描述用于以交错方式渲染立体场景的图像的分块的方法400的实施例的流程图。方法400参照立体场景100、左图像202和右图像204以及其组成分块、以及存储器层级300来描述。然而将会理解,该方法可用于任何其他分块渲染场景和硬件环境中,其中共同场景从两个或更多个视角渲染。以下参照图7更详细地描述合适硬件的示例。
在402,方法400包括将立体场景100的场景数据从主存储器302写入到命令缓冲器304。如上所述,场景数据可以包括用于渲染立体场景100和立体对象102的多个元素,诸如对对象的基本上球形建模的图元、影响对象的表面外观的纹理、等等。将会理解,在402之前,这种场景数据以及诸如渲染流水线及其他应用代码这样的其他数据可以被写入到主存储器302,以使命令和分块缓冲器304和306可以从主存储器读取场景数据。
在404,方法400包括从被写入到命令缓冲器的场景数据中提取第一图像的第一分块数据。例如,可以从场景数据中提取与左图像202的分块L1相关联的分块数据。分块数据可以是场景数据的子集,包括与第一分块但非左图像的其他分块相对应的图元、纹理等。第一分块数据的提取可以包括用于确定对第一分块专用的场景数据的裁、剪或遮挡剔除这样的动作。方法400还包括,在406,将用于第一图像的第一分块数据写入到分块缓冲器306。
在408,渲染第一图像(例如,左图像202)的第一分块(例如,L1)。如上所述,渲染可以包括变换、纹理化、遮蔽等,它们共同将第一分块数据转换为可被发送至显示设备(例如,HMD106)以产生可观察图像(例如,用户104所观察的立体场景100)的数据。
接着,在410,第二图像(例如,右图像204)的第一分块(例如,R1)基于以前被写入到用于第一图像分块的分块缓冲器306并且当前占据该分块缓冲器306的分块数据来渲染。此处,利用空间上对应的分块对L1-R1之间的潜在实质空间相干性,因为已被写入到分块缓冲器306的L1的显著部分可被重用于渲染R1。以此方式,可以减少在渲染立体场景的两个不相似图像分块时原本可能加倍的时间、处理资源、功率等。更具体而言,与在渲染第二图像的第一分块(例如,R1)之前渲染第一图像的全部分块(例如,L1-L4)相比,在渲染第一图像(例如,左图像202)的空间上对应分块(例如,L1)之后渲染第二图像(例如,右图像204)的分块(例如,R1)可以导致对命令缓冲器304的次数减少的存储器获取。
将会理解,在执行过程410之前,可驻留于命令缓冲器304中的上述视图变换矩阵可用于重新确定渲染第二图像(例如,右图像204)的视角。
在一些情况下,用于渲染第二图像的第一分块的一些数据可能不在分块缓冲器中(例如,由于立体图像的轻微不同的视角)。因此,在使用分块缓冲器中的分块数据渲染第二图像的第一分块的至少一部分之后,以及在渲染第一图像的第二分块之前,如果在第二图像的第一分块的渲染期间发生分块缓冲器未命中,则可以基于命令缓冲器中的分块数据来渲染第二图像的第一分块的其余部分。这在412图示,其中如果在分块缓冲器306中存在分块数据的未命中,则从命令缓冲器304获得用于第二图像(例如,右图像204)的分块数据(例如,R1的数据)。在分块缓冲器306占据一高速缓存的各实施例中,分块缓冲器未命中对应于高速缓存未命中。在一些场景中,可以省略对命令缓冲器304的存取,因为在406已被写入到分块缓冲器306的分块数据足以完全渲染该分块。
在414,方法400包括确定是否还有要被渲染的第一图像和第二图像的附加分块。如果没有要渲染的第一图像和第二图像的附加分块,则方法400前进至418,其中第一图像被发送至第一眼部显示器,第二图像被发送至第二眼部显示器。
另一方面,如果有要渲染的第一图像和第二图像的附加分块,则方法400前进至416,其中如同在404中那样,从命令缓冲器304中的场景数据提取第一图像(例如,左图像202)的下一分块(例如,L2)的分块数据。在第一图像的下一分块的分块数据提取之后,下一分块如同在408处被渲染。因此,方法400迭代地继续,直到第一图像和第二图像的全部分块已被渲染,此时第一图像和第二图像分别被发送至第一眼部显示器和第二眼部显示器。将会理解,在418和420被发送至相应眼部显示器的第一图像和第二图像可以如上所述同时或连续地执行。而且,第一眼部显示器和第二眼部显示器可以是分开的显示设备,或者形成共同的显示设备,并且可以是可佩戴显示设备或不可佩戴显示设备的一部分,所述可佩戴显示设备诸如HMD106,所述不可佩戴显示设备诸如计算机显示器(例如,监视器、平板屏幕、智能手机屏幕、笔记本电脑屏幕、等等)。
经由图5A-5B以及图6A-6B说明了可由以下方法400实现的计算资源的潜在节约,其中图5A和5B示出立体图像的非交错分块渲染,图6A-6B示出根据方法400的立体图像的分块渲染的示例。
首先关于图5A-5B,左图像202的分块组以次序L1、L2、L3、L4被连续渲染。在左图像202的分块组已被渲染之后,右图像204的完整分块组以次序R1、R2、R3、R4被连续渲染。在该方法中,不利用两个图像的空间上对应的分块对之间的空间相干性。如此,实质上完整的数据组被写入到用于每个所渲染分块的分块缓冲器。结果,该方法中场景(例如,场景100)的两个图像的立体渲染与同一场景的单个图像的渲染相比,可以使用大约双倍的计算资源。
图5B示出根据基于图5A所示方法渲染分块的次序在左图像202和右图像204的每个连续分块对之间计算出的图像误差的图表550。如图所示,每个连续分块对之间的误差可以在相对高的误差值左右波动,指示连续分块对之间的图像内容中的显著差异。将会理解,误差图表550被提供为说明性示例,使用图5A的渲染方法产生的类似误差图表可以取决于所渲染的分块的视觉内容而显示出连续分块之间的较多或较少误差。
误差图表550也可以表示在渲染每一相邻分块对的第二分块时从命令缓冲器304被复制到分块缓冲器306的相对数据量――例如,对应于L4、R1的误差值可以表示在渲染分块L4之后渲染分块R1时被复制到分块缓冲器的数据量。尽管在一些情况下每个分块对的第二分块的一部分可以基于为了渲染第一分块(例如,对应于高速缓存命中)之前写入的驻留于分块缓冲器306中的数据来渲染,但在该示例中,渲染第二分块所需的分块数据的大多数从命令缓冲器304被复制到分块缓冲器306(例如,对应于高速缓存未命中)。
接着,图6A示出图2的左图像202和右图像204根据图4的方法400渲染的次序。此处,分块以以下方式基于空间相干性以交错方式被渲染:L1、R1、L2、R2、L3、R3、L4和R4。通过以此次序渲染左图像202和右图像204的分块,在渲染分块对的第二分块时利用为了渲染空间上对应的分块对的第一分块而已被写入到分块缓冲器306(图3)的分块数据。相应地,在渲染立体场景的图像期间产生的计算成本(例如,时间、功率、等等)可以被显著减少,并且在某些情况下可能减少近半。
图6B示出图表650,图表650图示根据基于图4和6A的方法渲染分块的次序在相邻分块间计算出的图像误差。由于交错渲染,误差在较大相对误差和较小相对误差(相对于彼此来说)间交替,从由于分块L1和R1间的空间对应性而产生的较小误差开始。
图表650也可以表示在渲染每个对的第二分块时从命令缓冲器304被复制到分块缓冲器306(图3)的数据量。例如,在渲染分块L1之后渲染分块R1时,相对低的数据量被复制到分块缓冲器306,因为之前被复制到分块缓冲器用于渲染分块L1的实质上一部分分块数据被重用于渲染R1。相反,当渲染空间上不对应的分块对时-例如当在渲染分块R1之后渲染分块L2时,可以利用之前被写入到并驻留于分块缓冲器306中的相对低的数据量。
由此,所公开的实施例可允许在执行立体图像的分块渲染时有效地使用计算资源。在一些实施例中,此处描述的方法和过程可以涉及具有一个或多个计算设备的计算系统。特别是,这种方法和过程可以被实现为计算机应用程序或服务、应用编程接口(API)、库、以及/或者其他计算机程序产品。
图7示意性地示出计算系统700的非限制性实施例,该实施例可以规定上述方法和过程中的一个或多个。计算系统700以简化形式示出。计算系统700也可以采取以下形式:一个或多个个人电脑、服务器计算机、平板电脑、家庭娱乐电脑、网络计算设备、游戏设备、移动计算设备、移动通信设备(例如,智能电话)和/或其他计算设备。
计算系统700包括逻辑子系统702和存储子系统704。计算系统700可任选地包括显示子系统706、输入子系统708、通信子系统710和/或图7未示出的其他组件。
逻辑子系统702包括被配置成执行指令的一个或多个物理设备。例如,逻辑子系统可以被配置成执行指令,所述指令是一个或多个应用、服务、程序、例程、库、对象、部件、数据结构或其他逻辑构造的一部分。这种指令可被实现以执行任务、实现数据类型、转换一个或多个部件的状态、实现技术效果、或以其他方式得到期望结果。
逻辑子系统可以包括被配置成执行软件指令的一个或多个处理器。另外或或者,逻辑子系统可以包括被配置成执行硬件或固件指令的一个或多个硬件或固件逻辑子系统。逻辑子系统的处理器可以是单核的或多核的,其上执行的指令可以被配置用于串行、并行和/或分布式处理。逻辑子系统的个别组件可任选地分布在两个或更多个分开的设备之间,所述设备可以位于远程以及/或者被配置用于协同处理。逻辑子系统的各方面可以被在云计算配置中配置的远程可访问的、联网计算设备虚拟化和执行。
存储子系统704包括被配置成保持可由逻辑子系统执行的指令以实现此处描述的方法和过程的计算机可读存储介质的一个或多个物理设备。当实现这样的方法和过程时,存储子系统704的状态可以被变化――例如以保持不同的数据。
存储子系统704可以包括可移动和/或内置设备。存储子系统704可以包括光学存储器(例如,CD、DVD、HD-DVD、蓝光碟等)、包括图3的存储器层级300的半导体存储器(例如,RAM、EPROM、EEPROM等)、一个或多个高速缓存(例如,1级高速缓存、2级高速缓存等)和/或磁性存储器(例如,硬盘驱动器、软盘驱动器、磁带驱动器、MRAM等)、等等。存储子系统704可以包括易失性的、非易失性的、动态的、静态的、读/写的、只读的、随机存取的、依序存取的、位置可定址的、文件可定址的以及/或者内容可定址的设备。
将会理解,存储子系统704包括一个或多个物理设备而排除传播信号本身。然而,与被存储于计算机可读存储介质中相反,此处描述的指令的各方面可替代地由通信介质(例如,电磁信号、光学信号等)传播。
逻辑子系统702和存储子系统704的各方面可以被一起集成到一个或多个硬件逻辑部件中。这种硬件逻辑部件可以包括例如场可编程门阵列(FPGA)、程序和应用专用集成电路(PASIC/ASIC)、程序和应用专用标准产品(PSSP/ASSP)、片上系统(SOC)以及复杂可编程逻辑器件(CPLD)。
术语“程序”可用于描述为执行特定功能而实现的计算系统700的一方面。在一些情况下,可经由执行存储子系统704所保持的指令的逻辑子系统702来实例化程序。将会理解,可以从同一应用、服务、代码块、对象、库、例程、API、功能等实例化不同的程序。同样,同一程序可由不同的应用、服务、代码块、对象、例程、API、功能等实例化。术语“程序”可包含可执行文件、数据文件、库、驱动器、脚本、数据库记录等等的个体或群组。
显示子系统706可用于呈现由存储子系统704所保持的数据的视觉表示。由于此处描述的方法和过程改变了存储机器所保持的数据、且因子转换了存储机器的状态,因此显示子系统706的状态可同样地被转换以视觉地表示底层数据中的变化。显示子系统706可以包括利用实质上任何类型的技术的一个或多个显示设备,包括但不限于图1的HMD106。这种显示设备可以在共享包封中与逻辑子系统702和/或存储子系统704组合,或者这种显示设备可以是外围显示设备。
在包括输入子系统708时,输入子系统708可以包括或相接于一个或多个用户输入设备,诸如键盘、鼠标、触摸屏或游戏控制器。在一些实施例中,输入子系统可以包括或相接于所选择的自然用户输入(NUI)部件。这种部件可以是集成的或外围的,输入动作的转导和/或处理可以在板上或板外被处理。示例NUI部件可以包括用于语音和/或话音识别的麦克风;用于机器视觉和/或手势识别的红外、彩色、立体和/或深度照相机;用于运动检测和/或意图识别的头部跟踪器、眼部跟踪器、加速度仪和/或陀螺仪;以及用于访问大脑活动的电场传感部件。
在包括通信子系统710时,通信子系统710可以被配置成将计算系统700与一个或多个其他计算设备通信耦合。通信子系统710可以包括与一个或多个不同通信协议兼容的有线和/或无线通信设备。作为非限制性示例,通信子系统可以被配置用于经由无线电话网络、或者有线或无线局域网或广域网来通信。在一些实施例中,通信子系统可允许计算系统700经由诸如因特网这样的网络将消息发送至其他设备以及/或者从其他设备接收消息。
将会理解,此处描述的配置和/或方法本质是示例性的,这些具体实施例或示例不应被视为限制性的,因为许多变体是可能的。此处描述的具体例程或方法可以表示任何数量的处理策略中的一个或多个。如此,所示和/或所述的各种动作可以以所示和/或所述顺序、以其他顺序、并行地执行,或者被省略。同样,上述过程的次序可以改变。
本公开的主题包括各种过程、系统和配置以及此处公开的其他特征、功能、动作和/或属性、以及它们的任一和全部等价物的所有新颖且非显而易见的组合和子组合。

Claims (10)

1.一种计算设备上的使用分块渲染器来产生立体图像的方法,所述立体图像包括来自第一视角的场景的第一图像以及来自第二视角的所述场景的第二图像,所述方法包括:
渲染所述第一图像的第一分块;
在渲染所述第一图像的第一分块之后,渲染所述第二图像的第一分块;
在渲染所述第二图像的第一分块之后,渲染所述第一图像的第二分块;
在渲染所述第一图像的第二分块之后,渲染所述第二图像的第二分块;以及
将所述第一图像发送至第一眼部显示器、以及将所述第二图像发送至第二眼部显示器。
2.如权利要求1所述的方法,其特征在于,进一步包括:
在渲染所述第一图像的第一分块之前,将与所述第一图像和所述第二图像相关联的数据复制到存储器高速缓存中的命令缓冲器。
3.如权利要求2所述的方法,其特征在于,与在渲染所述第二图像的第一分块之前渲染所述第一图像的全部分块相比,渲染所述第二图像的第一分块导致对所述命令缓冲器的存储器获取次数减少。
4.如权利要求2所述的方法,其特征在于,进一步包括:
在渲染所述第一图像的第一分块之前以及在将所述数据复制到所述命令缓冲器之后,将与所述第一图像的第一分块相关联的数据从所述命令缓冲器复制到分块缓冲器。
5.如权利要求4所述的方法,其特征在于,进一步包括:
其中所述命令缓冲器具有第一等待时间,所述分块缓冲器具有第二等待时间,所述第二等待时间小于所述第一等待时间。
6.如权利要求4所述的方法,其特征在于,如果发生分块缓冲器未命中,则所述第二图像的第一分块的其余部分基于所述命令缓冲器中的数据来渲染。
7.如权利要求2所述的方法,其特征在于,所述第二图像的第一分块至少部分基于与所述第一图像的第一分块相关联的数据来渲染。
8.如权利要求1所述的方法,其特征在于,连续分块对之间计算出的误差在较大误差和较小误差之间交替。
9.如权利要求1所述的方法,其特征在于,第一视角至少部分与所述第二视角重叠。
10.如权利要求1所述的方法,其特征在于,所述第一图像的第一分块部分地对应于所述第二图像的第一分块。
CN201480035900.8A 2013-06-24 2014-06-20 立体场景的交错分块渲染 Pending CN105409213A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/925,459 US20140375663A1 (en) 2013-06-24 2013-06-24 Interleaved tiled rendering of stereoscopic scenes
US13/925,459 2013-06-24
PCT/US2014/043302 WO2014209768A1 (en) 2013-06-24 2014-06-20 Interleaved tiled rendering of stereoscopic scenes

Publications (1)

Publication Number Publication Date
CN105409213A true CN105409213A (zh) 2016-03-16

Family

ID=51225880

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480035900.8A Pending CN105409213A (zh) 2013-06-24 2014-06-20 立体场景的交错分块渲染

Country Status (11)

Country Link
US (1) US20140375663A1 (zh)
EP (1) EP3014877A1 (zh)
JP (1) JP2016529593A (zh)
KR (1) KR20160023866A (zh)
CN (1) CN105409213A (zh)
AU (1) AU2014302870A1 (zh)
BR (1) BR112015031616A2 (zh)
CA (1) CA2913782A1 (zh)
MX (1) MX2015017626A (zh)
RU (1) RU2015155303A (zh)
WO (1) WO2014209768A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108846791A (zh) * 2018-06-27 2018-11-20 珠海市君天电子科技有限公司 物理模型的渲染方法、装置及电子设备
CN111179402A (zh) * 2020-01-02 2020-05-19 竞技世界(北京)网络技术有限公司 一种目标对象的渲染方法、装置及系统

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10019969B2 (en) * 2014-03-14 2018-07-10 Apple Inc. Presenting digital images with render-tiles
GB2534225B (en) * 2015-01-19 2017-02-22 Imagination Tech Ltd Rendering views of a scene in a graphics processing unit
KR102354992B1 (ko) * 2015-03-02 2022-01-24 삼성전자주식회사 양안 시차 영상에 대한 타일 기반 렌더링 방법 및 장치
GB201505067D0 (en) 2015-03-25 2015-05-06 Advanced Risc Mach Ltd Rendering systems
KR20170025656A (ko) * 2015-08-31 2017-03-08 엘지전자 주식회사 가상 현실 기기 및 그의 렌더링 방법
US10636110B2 (en) 2016-06-28 2020-04-28 Intel Corporation Architecture for interleaved rasterization and pixel shading for virtual reality and multi-view systems
WO2018051964A1 (ja) * 2016-09-14 2018-03-22 株式会社スクウェア・エニックス 映像表示システム及び映像表示方法、映像表示プログラム
US10650541B2 (en) 2017-05-10 2020-05-12 Microsoft Technology Licensing, Llc Presenting applications within virtual environments

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6870539B1 (en) * 2000-11-17 2005-03-22 Hewlett-Packard Development Company, L.P. Systems for compositing graphical data
WO2009001255A1 (en) * 2007-06-26 2008-12-31 Koninklijke Philips Electronics N.V. Method and system for encoding a 3d video signal, enclosed 3d video signal, method and system for decoder for a 3d video signal
CN101442683A (zh) * 2007-11-21 2009-05-27 瀚宇彩晶股份有限公司 立体图像显示装置及其显示方法
WO2010024919A1 (en) * 2008-08-29 2010-03-04 Thomson Licensing View synthesis with boundary-splatting
US20100177171A1 (en) * 2009-01-09 2010-07-15 Marcus Michael A Dual-view stereoscopic display using linear modulator arrays
US20110063285A1 (en) * 2009-09-14 2011-03-17 International Business Machines Corporation Rendering of stereoscopic images with multithreaded rendering software pipeline
US20110074925A1 (en) * 2009-09-30 2011-03-31 Disney Enterprises, Inc. Method and system for utilizing pre-existing image layers of a two-dimensional image to create a stereoscopic image
US20110080419A1 (en) * 2009-09-25 2011-04-07 Arm Limited Methods of and apparatus for controlling the reading of arrays of data from memory
CN102137268A (zh) * 2011-04-08 2011-07-27 清华大学 立体视频的行交错和棋盘格的渲染方法及装置
CN102307311A (zh) * 2011-08-30 2012-01-04 华映光电股份有限公司 播放立体影像的方法
US20120007951A1 (en) * 2009-03-29 2012-01-12 Nomad3D Sas System and format for encoding data and three-dimensional rendering
CN102387395A (zh) * 2010-09-06 2012-03-21 索尼公司 图像处理设备、图像处理方法和计算机程序
US20120236002A1 (en) * 2011-03-14 2012-09-20 Qualcomm Incorporated 3d to stereoscopic 3d conversion
US20130113783A1 (en) * 2011-11-07 2013-05-09 Qualcomm Incorporated Orientation-based 3d image display
JP2013516892A (ja) * 2010-01-07 2013-05-13 トムソン ライセンシング ディスプレイにビデオ・コンテンツを供給する方法および装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997015150A1 (fr) * 1995-10-19 1997-04-24 Sony Corporation Procede et dispositif de formation d'images en trois dimensions
US5574836A (en) * 1996-01-22 1996-11-12 Broemmelsiek; Raymond M. Interactive display apparatus and method with viewer position compensation
US7680322B2 (en) * 2002-11-12 2010-03-16 Namco Bandai Games Inc. Method of fabricating printed material for stereoscopic viewing, and printed material for stereoscopic viewing
US9117297B2 (en) * 2010-02-17 2015-08-25 St-Ericsson Sa Reduced on-chip memory graphics data processing

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6870539B1 (en) * 2000-11-17 2005-03-22 Hewlett-Packard Development Company, L.P. Systems for compositing graphical data
WO2009001255A1 (en) * 2007-06-26 2008-12-31 Koninklijke Philips Electronics N.V. Method and system for encoding a 3d video signal, enclosed 3d video signal, method and system for decoder for a 3d video signal
CN101442683A (zh) * 2007-11-21 2009-05-27 瀚宇彩晶股份有限公司 立体图像显示装置及其显示方法
WO2010024919A1 (en) * 2008-08-29 2010-03-04 Thomson Licensing View synthesis with boundary-splatting
US20100177171A1 (en) * 2009-01-09 2010-07-15 Marcus Michael A Dual-view stereoscopic display using linear modulator arrays
US20120007951A1 (en) * 2009-03-29 2012-01-12 Nomad3D Sas System and format for encoding data and three-dimensional rendering
US20110063285A1 (en) * 2009-09-14 2011-03-17 International Business Machines Corporation Rendering of stereoscopic images with multithreaded rendering software pipeline
US20110080419A1 (en) * 2009-09-25 2011-04-07 Arm Limited Methods of and apparatus for controlling the reading of arrays of data from memory
US20110074925A1 (en) * 2009-09-30 2011-03-31 Disney Enterprises, Inc. Method and system for utilizing pre-existing image layers of a two-dimensional image to create a stereoscopic image
JP2013516892A (ja) * 2010-01-07 2013-05-13 トムソン ライセンシング ディスプレイにビデオ・コンテンツを供給する方法および装置
CN102387395A (zh) * 2010-09-06 2012-03-21 索尼公司 图像处理设备、图像处理方法和计算机程序
US20120236002A1 (en) * 2011-03-14 2012-09-20 Qualcomm Incorporated 3d to stereoscopic 3d conversion
CN102137268A (zh) * 2011-04-08 2011-07-27 清华大学 立体视频的行交错和棋盘格的渲染方法及装置
CN102307311A (zh) * 2011-08-30 2012-01-04 华映光电股份有限公司 播放立体影像的方法
US20130113783A1 (en) * 2011-11-07 2013-05-09 Qualcomm Incorporated Orientation-based 3d image display

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108846791A (zh) * 2018-06-27 2018-11-20 珠海市君天电子科技有限公司 物理模型的渲染方法、装置及电子设备
CN108846791B (zh) * 2018-06-27 2022-09-20 珠海豹趣科技有限公司 物理模型的渲染方法、装置及电子设备
CN111179402A (zh) * 2020-01-02 2020-05-19 竞技世界(北京)网络技术有限公司 一种目标对象的渲染方法、装置及系统
CN111179402B (zh) * 2020-01-02 2023-07-14 竞技世界(北京)网络技术有限公司 一种目标对象的渲染方法、装置及系统

Also Published As

Publication number Publication date
MX2015017626A (es) 2016-04-15
RU2015155303A3 (zh) 2018-05-25
KR20160023866A (ko) 2016-03-03
BR112015031616A2 (pt) 2017-07-25
US20140375663A1 (en) 2014-12-25
AU2014302870A1 (en) 2015-12-17
CA2913782A1 (en) 2014-12-31
EP3014877A1 (en) 2016-05-04
JP2016529593A (ja) 2016-09-23
RU2015155303A (ru) 2017-06-27
WO2014209768A1 (en) 2014-12-31

Similar Documents

Publication Publication Date Title
CN105409213A (zh) 立体场景的交错分块渲染
US9818228B2 (en) Mixed reality social interaction
US10650541B2 (en) Presenting applications within virtual environments
US9070194B2 (en) Planar surface detection
WO2017189490A1 (en) Live action volumetric video compression / decompression and playback
WO2016181202A1 (en) Generation, transmission and rendering of virtual reality multimedia
US10769849B2 (en) Use of temporal motion vectors for 3D reconstruction
KR20140014160A (ko) 실감형 디스플레이 경험
KR20150091474A (ko) 멀티 디스플레이 장치 상에서의 로우 레이턴시 이미지 디스플레이 기법
WO2012118601A1 (en) Adjusting 3d effects for wearable viewing devices
US20170186243A1 (en) Video Image Processing Method and Electronic Device Based on the Virtual Reality
TWI713358B (zh) 加速的遮蔽計算
US9978181B2 (en) System for virtual reality display
US9161012B2 (en) Video compression using virtual skeleton
JP2018504009A (ja) デジタルビデオのレンダリング
EP3956752B1 (en) Semantic-augmented artificial-reality experience
WO2023093792A1 (zh) 一种图像帧的渲染方法及相关装置
JP5328852B2 (ja) 画像処理装置、画像処理方法、プログラム及び情報記憶媒体
WO2023183041A1 (en) Perspective-dependent display of surrounding environment
EP3948790B1 (en) Depth-compressed representation for 3d virtual scene
WO2010139984A1 (en) Device and method of display
EP3564905A1 (en) Conversion of a volumetric object in a 3d scene into a simpler representation model
US20240029363A1 (en) Late stage occlusion based rendering for extended reality (xr)
CN118115693A (zh) 生成并排三维影像的方法及电脑装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160316

WD01 Invention patent application deemed withdrawn after publication