分层场景分解编解码系统及方法

文档序号:1926869 发布日期:2021-12-03 浏览:20次 >En<

阅读说明:本技术 分层场景分解编解码系统及方法 (Layered scene decomposition coding and decoding system and method ) 是由 M·汉密尔顿 C·朗博尔特 D·班诺特 M·特罗克 R·洛克伊尔 T·布大卡因 于 2020-02-22 设计创作,主要内容包括:提供了应用分层场景分解策略的用于驱动用于多维视频流、交互式游戏和其他光场显示应用的实时光场显示器的CODEC的系统和方法。随着给定层与显示表面之间的距离增加,多维场景数据被分成深度增加的多个数据层。数据层使用全光采样方案进行采样,并使用混合渲染(例如透视和倾斜渲染)进行渲染,以对与每个数据层对应的光场进行编码。由此产生的多维场景数据的压缩(分层)核心表示以可预测的速率产生,通过应用包括边缘自适应插值的视图合成协议,在光场显示器上实时重建和合并,以根据参考元素图像按级(例如列然后行)重建像素阵列。(Systems and methods for driving a CODEC for a real-time light field display for multi-dimensional video streaming, interactive gaming, and other light field display applications are provided that apply a hierarchical scene decomposition strategy. As the distance between a given layer and the display surface increases, the multi-dimensional scene data is divided into multiple data layers of increasing depth. The data layers are sampled using a plenoptic sampling scheme and rendered using hybrid rendering (e.g., perspective and oblique rendering) to encode the light field corresponding to each data layer. The resulting compressed (layered) kernel representation of the multi-dimensional scene data is generated at a predictable rate, reconstructed and merged in real time on the light field display by applying a view synthesis protocol that includes edge adaptive interpolation to reconstruct the pixel array in stages (e.g., columns then rows) from the reference element image.)

分层场景分解编解码系统及方法

优先权要求

本申请要求于2019年2月22日提交的美国专利申请序号62/809,390的优先权,通过引用将其全部内容并入本文。

技术领域

本公开涉及图像(光场)数据编码和解码,包括用于在光场显示器处提供交互式多维内容的数据压缩和解压缩系统和方法。

背景技术

自动立体、高角分辨率、宽视场(FOV)、多视图显示器为用户提供改进的视觉体验。能够通过3D图灵测试(由Banks等人描述)的三维显示器将需要光场表示来代替由标准现有显示器投影的二维图像。逼真的光场表示需要大量带宽来传输显示数据,其中至少包含十亿像素的数据。这些带宽需求目前超过了本领域先前已知技术提供的带宽能力;即将推出的消费类视频标准是8K超高清(UHD),每个显示器仅提供33.1兆像素的数据。

压缩用于传输的数据是本领域先前已知的。数据可能会被压缩以用于各种类型的传输,例如但不限于:通过互联网或以太网网络远距离传输数据;或传输由图形处理单元(GPU)创建并传输到显示设备的合成多视图。此类数据可用于视频流传输、实时交互式游戏或任何其他光场显示。

用于压缩光场传输的若干编码器-解码器(CODEC)在本领域中是先前已知的。Olsson等人教导了压缩技术,其中处理整个光场数据集以减少冗余并产生压缩表示。光场的子组件(即元素图像)被视为视频序列,以使用标准视频编码技术利用冗余。Vetro等人教导了压缩标准的多视图专业化,利用光场子组件之间的冗余来实现更好的压缩率,但以更密集的处理为代价。这些技术可能无法达到足够的压缩比,并且当达到良好的压缩比时,编码和解码过程超出了实时速率。这些方法假设整个光场在被编码之前存在于存储盘或存储器中。因此,当从存储介质读取时,需要大量像素的大光场显示器会引入过多的延迟。

为了克服用于实时传送多维内容的硬件限制,各种方法和系统是已知的,然而,这些方法和系统呈现出它们自己的局限性。

美国专利第9727970号公开了一种分布式并行(多处理器)计算方法和装置,用于通过将3D图像数据分成数据组,从数据组中计算要显示在全息平面上的不同位置的全息图值并将每个位置的值相加以生成全息显示,来生成全息图。作为专注于生成全息显示的公开内容,所应用的策略涉及在比光场更小的尺度上操纵光,在这种情况下,其特征在于根据颜色对数据进行排序和划分,然后是彩色图像平面,然后进一步将平面图像划分为子图像。

美国专利公开第20170142427号描述了基于将多个元素图像(hogels)折叠成单个hogel的内容自适应光场压缩。本公开描述了实现有保证的压缩率,然而,图像损失是变化的,并且在如所公开的组合hogels中,不能保证可以利用的冗余。

美国专利公开第20160360177号描述了利用深度信息进行全视差压缩光场合成的方法,并涉及视图合成方法的应用,该方法用于从一组元素图像创建光场,这些元素图像形成元素图像总集合的子集。这里描述的视图合成技术没有描述或给出处理在向后扭曲期间引起的重建伪影的方法。

美国专利公开第20150201176号描述了用于全视差压缩光场3D成像系统的方法,该系统公开了基于被捕获场景中对象的距离对光场中的元素图像进行二次采样。尽管这些方法描述了使用可以提高编码速度的简单条件对光场进行下采样的可能性,但在最坏的情况下,存在不会发生下采样的3D场景,并且编码将转而利用依赖于在编码之前让整个光场存在的变换编码技术。

仍然需要增加的数据传输能力、改进的数据编码器-解码器(CODEC)、以及实现改进的数据传输和CODEC能力以将多维内容实时传送到光场显示器的方法。

发明内容

本发明大体上涉及用于实时驱动光场显示器的3D图像数据编码和解码,其克服了当前硬件限制或可以利用当前硬件限制来实现。

本公开的目的是提供具有减少的系统传输延迟和高带宽速率的CODEC,以在光场显示器上实时地、以良好的分辨率提供光场的产生,用于应用在视频流和实时互动游戏中。将光场或3D场景数据解构为子集,这些子集可以称为层(对应于分层光场)或数据层,采样并渲染,以压缩数据以进行传输,然后解码以构建和合并与光场显示器中的数据层对应的光场。

根据一个方面,提供了计算机实现的方法,包括:

接收包含场景的三维描述的第一数据集;

将所述第一数据集划分为多个层,每个层表示所述场景的相对于参考位置的不同位置处的不同部分;

将对应于至少一个所述层的数据划分为多个子部分,其中根据所述场景内表示的对象的至少一部分的几何形状来确定特定子部分的位置;以及

编码多个层和多个子部分以生成第二数据集。

根据另一方面,提供了计算机实现的方法,包括:

接收包括场景的三维描述的第一数据集,第一数据集包括关于场景中表面上的法线方向的信息,

相对于参考方向表示的法线方向,其中

至少一些表面具有非朗伯反射特性;

将第一数据集划分为多个层,每一层代表场景的在相对于参考位置的位置处的部分;以及

编码多个层以产生第二数据集,其中第二数据集的大小小于第一数据集的大小。

根据另一方面,提供了光场图像渲染方法,包括以下步骤:

将场景的三维表面描述划分为多个层,每层具有相关联的光场和采样方案;

进一步将至少一层划分为多个子部分,每个子部分具有相关联的光场和采样,其中特定子部分的位置根据场景内表示的对象的至少一部分的几何形状来确定;

根据采样方案并对应于采样光场为每一层和每个子部分渲染第一组像素,包括额外像素信息;

使用第一组像素重建每个层和子部分的采样光场;以及

将重建的光场合并为单个输出光场图像。

根据另一方面,提供了计算机实现的方法,包括:

接收包含场景的三维描述的第一数据集;

将第一数据集划分为多个层,每个层表示场景的在相对于参考位置的位置处的部分;

对于多个层中的每一层,获得代表场景中对象的相应部分的一个或多个多边形;

基于一个或多个多边形确定与视图无关的表示;以及

将与视图无关的表示编码为第二数据集的部分,其中第二数据集的大小小于第一数据集的大小。

根据另一方面,提供了计算机实现的方法,包括:

接收包含场景的三维描述的第一数据集;

将第一数据集划分为多个层,每个层表示场景的在相对于参考位置的位置处的部分;以及

通过在层上执行采样操作来编码多个层以生成第二数据集,包括:

使用有效分辨率函数来确定合适的采样率;以及

使用合适的采样率对与层关联的元素图像进行下采样,

其中,第二数据集的大小小于第一数据集的大小。

根据另一方面,提供了计算机实现的方法,包括:

接收包括场景的三维描述的第一数据集,第一数据集包括关于场景中表面透明度的信息;

将第一数据集划分为多个层,每个层表示场景的在相对于参考位置的位置处的部分;以及

编码多个层以产生第二数据集,其中第二数据集的大小小于第一数据集的大小。

根据另一方面,提供了光场图像渲染方法,包括以下步骤:

将场景的三维表面描述划分为多个层,每层具有相关联的光场和采样方案;

进一步将至少一层划分为多个子部分,每个子部分具有相关联的光场和采样,其中特定子部分的位置根据场景内表示的对象的至少一部分的几何形状来确定;

根据采样方案并对应于采样光场为每一层和每个子部分渲染第一组像素,包括额外像素信息,;

使用第一组像素重建每个层和子部分的采样光场;以及

将重建的光场合并为单个输出光场图像。

实施方案可以包括以下特征中的一个或多个。

在该方法的实施方案中,将所述第二数据集传输到远程设备,以便在与所述远程设备相关联的显示设备处呈现所述场景。

在该方法的实施方案中,对层或子部分进行编码包括对所述第一数据集的对应部分执行采样操作。

在该方法的实施方案中,采样操作基于与所述第二数据集相关联的目标压缩率。

在该方法的实施方案中,对多个层或多个子部分进行编码包括对第一数据集的对应部分执行采样操作,其中执行采样操作包括:

使用光线追踪渲染要编码的像素集;从多个元素图像中选择多个元素图像,使得使用选择的多个元素图像渲染该像素集;以及

使用采样操作对所述像素集进行采样。

在该方法的实施方案中,采样操作包括根据全光采样方案从所述多个元素图像的对应部分中选择多个元素图像。

在该方法的实施方案中,执行所述采样操作包括:

确定与所述层或子部分相关的有效空间分辨率;以及

根据确定的角分辨率,从所述多个元素图像的对应部分中选择多个元素图像。

在该方法的实施方案中,角分辨率被确定为与与所述层或子部分相关联的场景的部分相关联的方向分辨率的函数。

在该方法的实施方案中,角分辨率被确定为与显示设备相关联的视场。

在该方法的实施方案中,三维描述包括表示多个元素图像的光场数据。

在该方法的实施方案中,多个元素图像中的每一个由一个或多个图像采集设备捕获。

在该方法的实施方案中,第一数据集包括关于场景中包括的表面上的法线方向的信息,所述法线方向相对于参考方向来表示。

在该方法的实施方案中,至少一些表面的反射特性是非朗伯的。

在该方法的实施方案中,对层或子部分进行编码还包括:

为该层或子部分获得代表所述场景中对象的相应部分的一个或多个多边形;

基于所述一个或多个多边形确定与视图无关的表示;以及

在所述第二数据集中对与视图无关的表示进行编码。

在该方法的实施方案中,还包括:

接收所述第二数据集;

解码所述第二数据集的对应于每个所述层和每个所述子部分的部分;将解码部分组合成光场图像的表示;以及

在显示设备上呈现所述光场图像。

在该方法的实施方案中,还包括:

接收指示用户相对于所述光场图像的位置的用户输入;以及

在所述显示设备上呈现之前,根据所述用户输入更新所述光场图像。

在该方法的实施方案中,位置更靠近所述显示表面的层比位置更远离所述显示表面的具有相同宽度的层实现更低的压缩比。

在该方法的实施方案中,第二数据集的多个层包括光场。

在该方法的实施方案中,还包括合并光场以创建最终光场。

在该方法的实施方案中,层的划分包括限制每层的深度范围。

在该方法的实施方案中,位置更靠近显示表面的层在宽度上比位置更远离显示表面的层更窄。

在该方法的实施方案中,将所述第一数据集划分为多个层在整个所述场景中保持统一的压缩率。

在该方法的实施方案中,将所述第一数据集划分为多个层包括将所述光场显示器划分为内截头锥体体积层集和外截头锥体体积层集。

在该方法的实施方案中,该方法用于为多维视频流、多维互动游戏、实时互动内容或其他光场显示场景生成合成光场。

在该方法的实施方案中,仅在有效视区中产生所述合成光场。

根据一个方面,存在用于渲染光场图像的计算机方法,包括:

将场景的三维表面描述划分为多个层,每层具有相关联的光场和采样方案;

进一步将至少一层划分为多个子部分,每个子部分具有相关联的光场和采样,其中特定子部分的位置根据所述场景内表示的对象的至少一部分的几何形状来确定;

根据所述采样方案并对应于采样光场为每一层和每个子部分渲染第一组像素,包括额外像素信息,;

使用所述第一组像素重建每个层和子部分的采样光场;以及

将重建的光场合并为单个输出光场图像。

在该方法的实施方案中,第一组像素和相关的额外像素信息被划分成子集,由此使用来自高速缓存中的单个子集的像素来执行针对每一层的重建采样光场和合并以创建输出光场图像的一些子集。

在该方法的实施方案中,还包括通过从高速缓存重新投影第一组中的像素以创建输出光场图像的某个子集来执行针对每一层重建采样光场。

在该方法的实施方案中,还包括使用沿着第一组像素中的单个维度的变形过程接着在第一组像素中的第二维度上的第二变形过程来执行重新投影像素。

附图说明

本发明的这些和其他特征将在以下参考附图的详细描述中变得更加明显。

图1:是根据本公开的分层场景分解(CODEC)系统的实施方案的示意性表示(框图)。

图2:是光场显示器的内截头锥体体积和外截头锥体体积的示意性俯视图。

图3A:示意性地图示了根据本公开的用于像素重建的边缘自适应插值的应用。

图3B:图示了用于重建像素阵列的处理流程。

图4:示意性地图示了由像素矩阵内的采样方案指定的元素图像,作为根据本公开的图像(像素)重建过程的部分。

图5:示意性地图示了作为根据本公开的图像(像素)重建过程的部分的像素矩阵的逐列重建。

图6:图示了作为根据本公开的图像(像素)重建过程的部分的像素矩阵的后续的逐行重建。

图7:示意性地图示了根据本公开的示例性CODEC系统实施方案。

图8:示意性地图示了与显示器的内截头锥体光场相关的图像数据集的示例性分层场景分解(十层的分层方案)。

图9:示意性地图示了分别与显示器的内截头锥体和外截头锥体光场区域相关的图像数据的示例性分层场景分解(十层的两个分层方案)。

图10:图示了根据本公开的示例性CODEC处理流程。

图11:图示了根据本公开的用于编码3D图像(场景)数据以产生分层和压缩的核心编码(光场)表示的示例性过程流程。

图12:图示了根据本公开的用于解码核心编码表示以在显示器处构建(显示)光场的示例性过程流程。

图13:图示了根据本公开的用于编码和解码残余图像数据以与核心图像数据一起使用以在显示器处产生(显示/最终)光场的示例性过程流程。

图14:图示了根据本公开的包括分层深度图像的示例性CODEC处理流程。

图15:图示了根据本公开的包括镜面光计算的示例性CODEC处理流程。

图16:图示了根据本公开的包括镜面光计算的替代示例性CODEC处理流程。

图17:图示了根据本公开的包括与视图无关的光栅化的示例性CODEC处理流程。

图18:图示了根据本公开的包括使用有效分辨率函数执行采样操作的示例性CODEC处理流程。

图19:图示了用于测量深度处的有效分辨率的基于观看者的构造平面。

图20:图解说明关于场景深度的有效分辨率的渐近性质。

图21:图示了根据本公开的包括透明度的示例性CODEC处理流程。

具体实施方式

本发明总体上涉及用于光场数据或多维场景数据压缩和解压缩以在光场显示器处提供光场的有效(快速)传输和重建的CODEC系统和方法。

通过结合附图中的图示的以下详细描述,本发明的各种特征将变得显而易见。这里公开的分层场景分解CODEC的设计因素、构造和使用是参考代表实施方案的各种实施例来描述的,这些实施方案不旨在限制如在此描述和要求保护的本发明的范围。本发明所属领域的技术人员将理解,在不脱离本发明的范围和精神的情况下,可以根据本公开的教导来实践这里未公开的本发明的其他变化、示例和实施方案。

定义

除非另外定义,否则本文使用的所有技术和科学术语具有与本发明所属领域的普通技术人员通常理解的相同的含义。

词“一”或“一个”在本文中与术语“包括”一起使用时可表示“一个”,但也与“一个或多个”、“至少一个”和“一个或多于一个”的含义一致。

如本文所用,术语“包括”、“具有”、“包含”和“含有”及其语法变体是包容性的或开放式的,并且不排除附加的、未列举的要素和/或方法步骤。术语“基本上由……组成”当在本文中与组合物、设备、制品、系统、用途或方法结合使用时,表示可能存在额外的元素和/或方法步骤,但这些添加不会实质上影响所列举的组成、设备、物品、系统、方法或使用功能。术语“由……组成”当在本文中与组合物、设备、物品、系统、用途或方法结合使用时,排除附加元素和/或方法步骤的存在。在此描述为包括某些元素和/或步骤的组合物、设备、物品、系统、用途或方法也可以在某些实施方案中基本上由那些元素和/或步骤组成,并且在其他实施方案中由那些元素和/或步骤组成,无论是否特别提及这些实施方案。

如本文所用,术语“约”是指与给定值的大约+/-10%的变化。应当理解,这种变化总是包括在本文提供的任何给定值中,无论是否被具体提及。

除非本文另有说明,否则本文中范围的叙述旨在将范围和落入该范围内的单个值传达至与用于表示该范围的数字相同的位置值。

任何实施例或示例性语言的使用,例如“例如”、“示例性实施方案”、“说明性实施方案”和“例如”旨在说明或表示与本发明有关的方面、实施方案、变型、元素或特征,并不旨在限制本发明的范围。

如本文所用,术语“连接”和“已连接”是指本公开的元素或特征之间的任何直接或间接物理关联。因此,这些术语可被理解为表示部分或完全包含在彼此内、附接、耦合、布置、结合在一起、连通、可操作地关联等的元素或特征,即使存在介于被描述为连接的元素或特征之间的其他元素或特征。

如这里所使用的,术语“光场”在基本水平上是指描述在每个方向上流过空间中的点、没有遮挡的光量的函数。因此,光场将辐射率表示为自由空间中光的位置和方向的函数。光场可以通过各种渲染过程合成生成,或者可以从光场相机或光场相机阵列捕获。

光场可以最一般地描述为3D空间中的一组点与对应的一组方向到一组或多组能量值之间的映射。在实践中,这些能量值将是红色、绿色、蓝色强度,或潜在的其他辐射波长。

如本文所用,术语“光场显示”是从输入到设备的有限数量的光场辐射样本重建光场的设备。辐射样本代表红色、绿色和蓝色(RGB)的颜色分量。对于光场显示中的重建,光场也可以理解为从四维空间到单一RGB颜色的映射。这四个维度包括显示器的垂直和水平维度(x,y)以及描述光场方向分量(u,v)的两个维度。光场定义为函数:

LF:(x,y,u,v)→(r,g,b)

对于固定的xf,yf,LF(xf,yf,u,v)表示称为“元素图像”的二维(2D)图像。元素图像是来自固定xf,yf位置的光场的定向图像。当多个元素图像并排连接时,所得图像称为“整体图像”。整体图像可以理解为光场显示所需的整个光场。

如这里所使用的,术语“场景的描述”是指三维场景的几何描述,其可以是可以渲染光场图像或视频的潜在源。这种几何描述可以由但不限于点、四边形和多边形来表示。

如本文所用,术语“显示表面”可指如在传统3D显示器中那样由平面显示平面及其各个光场hogel元件的物理间距定义的一组点和方向。在本公开中,如本文所述的显示器可以形成在弯曲表面上,因此该组点将驻留在弯曲的显示表面上,或者可以想象的任何其他期望的显示表面几何形状上。在抽象的数学意义上,光场可以在任何几何表面上定义和表示,不一定对应于具有实际物理能量发射能力的物理显示表面。

如本文所用,术语“元素图像”表示二维(2D)图像LF(xf,yf,u,v),对于固定的xf,yf,LF(xf,yf,u,v)。元素图像是来自固定xf,yf位置的光场的定向图像。

如本文所用,术语“整体图像”是指并排连接的多个元素图像,因此所得图像被称为“整体图像”。整体图像可以理解为光场显示所需的整个光场。

如本文所用,术语“层”是指任何两个平行或不平行的边界,具有一致或可变的宽度、平行或不平行于显示表面。

如本文所用,术语“像素”是指用于创建显示器的光源和发光机制。

预期本文公开的组合物、设备、制品、方法和用途的任何实施方案可由本领域技术人员按原样实施,或通过做出此类变化或等同物而不脱离本发明的范围和精神。

分层场景分解(LSD)CODEC系统和方法

根据本公开的编解码器应用利用已知采样、渲染和视图合成方法来生成光场显示的策略,调整所述策略以结合如本文公开的新颖的分层场景分解策略使用,包括其推导,实施和应用。

3D显示器

本领域先前已知的常规显示器由基本上均匀间隔且组织成二维阵列允许理想化的均匀采样的空间像素组成。相比之下,三维显示器需要空间和角度样本。虽然典型的3D显示器的空间采样保持一致,但角度采样就显示器在角度空间中的足迹而言不一定视为是一致的。有关角度光线分布的各种光场参数化的回顾,请参阅美国专利第6,549,308号。

角度样本,也称为光场的方向分量,可以通过各种方式进行参数化,例如Gortler等人在“Lumigraph”中教导的平面参数化。当光场函数根据位置离散化时,光场可以理解为平面参数化针孔投影仪的规则间隔阵列,正如Chai在“Plenoptic Sampling”中所教导的那样。对于固定的xf,yf元素图像LF(xf,yf,u,v)表示二维图像,可以将其理解为具有任意光线参数化的针孔投影仪投影的图像。对于光场显示器,连续的元素图像由有限数量的光场辐射样本表示。对于理想化的平面参数化针孔投影仪,所述有限数量的样本作为规则间隔阵列映射到图像平面(平面内的规则间隔不对应于相应角方向空间中的规则间隔)。

在典型的3D光场显示器的情况下,点和方向的集合将由平面显示平面及其各个光场hogel元素的物理间距定义。然而,已知显示器可以形成在弯曲表面上,因此该组点将驻留在弯曲的显示器表面上,或者可以想象的任何其他期望的显示器表面几何形状上。在抽象的数学意义上,光场可以在任何几何表面上定义和表示,不一定对应于具有实际物理能量发射能力的物理显示表面。文献中表面光场的概念说明了这种情况,如Chen等人所示。

平面参数化的考虑不旨在限制本公开的范围或精神,因为光场的方向分量可以通过多种其他任意参数化来参数化。例如,物理体现的针孔投影仪中的镜头畸变或其他光学效应可以建模为平面参数化的畸变。此外,可以通过变形函数来定义显示分量,例如Clark等人在“A transformation method for the reconstruction of functions fromnonuniformly spaced samples”中所教导的。

变形函数α(u,v)定义了针孔投影仪的扭曲平面参数化,在光场中产生任意交替的定向光线角度分布。从光场针孔投影仪传播的光线的角度分布由针孔投影仪的焦距f和相应的二维变形函数α(u,v)确定。

为一个或多个用户投射光场的自动立体光场显示器定义为:

D=(Mx,My,Nu,Nv,f,α,DLP)

其中(Mx,My)是显示器空间分辨率的水平和垂直尺寸,(Nu,Nv)是显示器角分辨率分量的水平和垂直尺寸。显示器是一组理想化的光场投影仪,具有间距DLP、焦距f和定义显示器投射的光场的光线方向分布的变形函数α。

驱动光场显示器D=(Mx,My,Nu,Nv,f,α,DLP)的光场LF(x,y,u,v)需要在x方向有Mx个光场辐射样本,y方向上有My个光场辐射样本,以及在u和v方向上有Nu,和Nv个光场辐射样本。虽然D是用单个变形函数α定义的,但如果实际针孔投影仪中存在显着的微透镜变化,导致角度光线分布从一个微透镜到另一个微透镜显着变化,则理想化光场针孔投影仪阵列内的每个光场平面参数化针孔投影仪都可能具有唯一的变形函数α。

光场显示渲染

在“Fast computer graphics rendering for full parallax spatialdisplays”中,Halle等人提供一种用于渲染位于显示器的内截头锥体体积和外截头锥体体积内的对象的方法。图2说明了表示由这两个独立的视锥体定义的体积区域内的对象的光场显示,内截头锥体体积(110)位于显示表面(300)后面(即,在显示器内),外截头锥体体积(210)位于显示器表面的前面(即显示器的外部)。如图所示,各种对象(示意性地示出为棱柱形和圆形)位于距显示表面(300)不同深度处。

Halle等人教导了双截头锥体渲染技术,其中内截头锥体体积和外截头锥体体积被分别渲染为两个不同的光场。内截头锥体体积LFO(x,y,u,v)和外截头锥体体积LFP(x,y,u,v)通过深度合并过程重新组合成单个光场LF(x,y,u,v)。

该技术使用针孔相机渲染模型来生成光场的各个元素图像。每个元素图像(即每个渲染的平面参数化针孔投影仪图像)需要使用两台相机:一台相机捕捉内截头锥体体积,一台相机捕捉外截头锥体体积。Halle等人教导了使用标准正视相机及其共轭幻视相机在光场的采样区域渲染针孔投影仪图像。对于针孔相机C,相应的共轭相机表示为C*

为了利用使用变形函数α参数化的投影仪在光场显示器内捕获元素图像,使用基于理想化平面参数化针孔相机的重新参数化的通用针孔相机。正如Gortler等人所教导的,焦距为f的针孔相机C的光线由两个平行平面创建的参数化定义。针孔相机C捕获图像IC(u,v),其中(u,v)是光线参数化平面中的坐标。通用针孔相机Cα基于使用二维、连续、可逆时间变形函数变形的平面参数化相机,如Clark等人所教导的。使用变形函数α(u,v),逆函数是γ(u,v)。因此,Cα的图像,I=IC(α(u,v))。

给定通用针孔相机Cα,,形成共轭广义相机以完成双截头锥体渲染。从通用针孔相机对的Mx×My网格生成的视图被渲染以渲染光场显示器的光场。

因此,对于给定的光场显示D=(Mx,My,Nu,Nv,f,α,DLP),必须渲染以产生光场LF(x,y,u,v)的所有通用针孔相机对的集合定义为:

一组正视相机(O={(Cα(x,y)|1≤x≤Mx,1≤y≤My})捕捉内截头锥体体积对应的光场图像,并且一组共轭广义相机捕捉外截头锥体体积对应的图像,如上所述,内截头锥体体积和外截头锥体体积合并为单个光场。

实时渲染

据信,一个可用的光场显示器可能需要至少10-100亿个像素,每个像素代表光场的不同方向光线。考虑到30Hz的适度交互帧速率并假设每个原始光线像素需要24位,这将导致显着的带宽需求(100亿像素)x(24位/像素)x(30帧/秒)=720Gbits/秒带宽。由于最终需要更高保真度的显示器,因此随着这种显示技术进入消费者市场并且该技术在视觉保真度方面不断发展,这一要求实际上可以扩展到100s Tbit/s。

交互式计算机图形渲染是一种计算过程,至少在传统上,它需要计算对场景进行成像的虚拟相机的模拟。场景通常被描述为具有各种材料、颜色和物理光学特性以及各种观察相机位置的光源和表面或体积的集合。必须足够快地执行此渲染计算以产生交互式帧速率(例如至少30Hz)。渲染保真度可以根据光传输计算的近似程度进行调整,这当然会随着使用更多近似值而降低计算要求。正是由于这个原因,交互式计算机图形通常比其中使用了非常高保真度的光传输模型的离线渲染图形具有更低的视觉保真度。

对交互性的要求意味着具有相应带宽的特定帧速率(通常至少为20-30Hz,但通常希望更高),而且也意味着减少延迟以支持对用户输入的即时图形响应。高带宽与延迟要求相结合,在计算方面带来了某些挑战。

在传统的2D计算机图形中,为了应对低延迟、高帧率图形的挑战,导致广泛使用旨在加速交互式渲染计算的专用硬件,称为图形处理单元(GPU)。与现代计算机中使用的通用中央处理器(CPU)相比,这些专用架构可以以交互速率产生更高的视觉保真度。虽然它们的性能令人印象深刻,但这些架构最终针对其特定任务进行了优化,即以高帧速率渲染场景的单相机图像,同时最大限度地提高视觉质量。

对于光场显示器,渲染问题变成了渲染由虚拟光场相机产生的图像。光场相机(在别处更详细地定义)可以被视为许多传统2D相机视图的阵列。这种更通用的相机模型导致利用显着不同的几何结构进行计算。结果是计算不能很好地映射到现有加速计算机图形硬件的框架中。

在传统情况下,定义了渲染计算流水线过程。这传统上基于光栅化,但光线追踪流水线也已标准化(例如最近的DirectX光线追踪)。在任何一种情况下,计算硬件架构都针对这些流水线的形式及其相关的所需计算进行了定制,最终目标是以视频帧速率生成2D图像。

所需要的是用于交互式光场渲染计算的不同流水线,其可以以最小的硬件占用空间来实现,以便最小化渲染架构的成本、尺寸、重量和功率要求。这些要求是由最终创造出相应价格范围内的消费产品的愿望驱动的。

在考虑用于光场渲染的流水线和所需的大数据速率时,一个主要瓶颈涉及所需的潜在存储器带宽。在传统的2D视频渲染和处理中,在双倍数据速率(DDR)存储器中缓冲整个帧(甚至帧的子序列)是一种常见的操作。据观察,DDR的数据速率及其成本与容量的关系使其非常适合这些类型的应用。然而,前面讨论的光场带宽要求表明,重要的DDR缓冲在物理占用空间和成本方面可能会受到很大限制。

渲染的第一步通常是从DDR存储器或其他一些相对于计算硬件时钟速率较慢的存储器中的存储加载场景描述表示。光场渲染的一个显着方面是每个光场相机渲染通道都可以被视为一组或多或少传统的2D相机渲染通道。自然地,这些2D相机(hogels)中的每一个都必须按照Halle建议的“双截头锥体渲染”方法针对内部和外部hogel渲染两次。对于显示器所表示的每个方向,光线的数量都是2。从现有技术中显而易见的另一种方案是定义内部和外部远剪裁平面,并使光线从外部远剪裁平面投射,通过显示表面上的hogels并在内部远剪裁平面处结束(反之亦然).这导致每像素一条光线。

在最坏的情况下,阵列中的这些2D相机渲染通道中的每一个都需要加载整个场景描述。即使在更乐观的情况下,特别是与场景通常每帧最多只能访问少量次数的传统的2D渲染相比,从DDR或其他慢速存储器中重复加载场景描述自然也会导致大带宽需求。

考虑到似乎存在冗余存储器访问,是否可以通过使用缓存策略来解决这种情况是值得考虑的。在高性能计算中,当计算的结构使得数据以某种连贯的、可预测的模式冗余加载时,将数据缓存在更小但速度更快的存储中(通常直接位于正在执行计算的芯片的管芯上)可以显着缓解DDR或慢速存储器带宽限制。在光场渲染方面,每个hogel的元素图像渲染在最坏的情况下都需要相同的场景描述,从而识别出可通过缓存有效利用的显着的潜在冗余。用于场景的单相机视图的表面渲染的现代光线追踪技术能够通过图像平面上的相干光线通常与相同几何相交(或至少对于主要相交点)的原理来利用缓存相干性。从多边形光栅化到单个成像相机,本质上利用了这种相同的一致性,因为单个多边形可以在加载后缓存在硬件中,并且它相交的所有像素都可以在硬件加速光栅化过程中计算。在光场的背景下,很明显,如果使用光线追踪或光栅化来渲染构成光场的单个2D相机视图,则可以在这些相同的相干性原则中加以利用。

还可以观察到,来自光场相机中不同hogel的成像光线与相同的多边形相交,呈现出额外的相干元素。建议可以以结构化形式利用这种一致性,以便为光场显示器生成更高性能的交互式渲染系统。展示了如何通过缓冲输出光场的结构化中间部分渲染形式来利用这种相干性。该缓冲器在此被称为光场表面缓冲器或表面缓冲器。此缓冲器中的像素还可以包含额外的像素信息,例如颜色、深度、表面坐标、法线、材质值、透明度值和其他可能的场景信息。

建议可以使用有效的传统2D渲染光线跟踪流水线来高效地渲染表面缓冲器。表面缓冲器基于分层场景分解的概念和如本文所呈现的采样方案,该采样方案指定哪些像素将构成表面缓冲器。基于本说明书内呈现的分析,可以看出,利用适当选择的分层场景分解和采样安敢,所得到的表面缓冲器可被确定为包含比所需的渲染输出光场图像帧更少的像素,因为可将其视为数据压缩方案的形式。

此外,适当选择的分层场景分解和采样方案将导致表面缓冲器将包含在目标光场相机视图中的任何hogel可见的场景中的所有表面区域的样本。这样的表面缓冲器将包含数据,以便能够重建与每个层和层子部分相关联的光场。一旦重建,这些光场可以合并成单个光场图像,代表所需的渲染输出,如本文档其他地方所述。

进一步提出可以将所得表面缓冲器划分为更小的子集。这种划分可以以这样的方式发生,即表面缓冲器数据的每个子集可以单独使用来重建所得输出光场的某些部分。一个实际的实施方案涉及对大小基于ΔEI函数的层和子部分进行划分,然后选择一种采样方案,该采样方案包括每个分区的少量(例如4个)元素图像,然后用于重建分区内的未采样的元素图像。如果适当地选择这种分区,可以将表面缓冲器的子集加载到更快的缓存中,从中可以执行重建和合并计算,而无需求助于从较慢的系统内存中重复加载。

因此,总而言之,一种以交互速率渲染光场视频的有效方法可以描述为从场景的3D描述开始,渲染表面缓冲器,然后通过从表面缓冲器的缓存的个体分区重建层和子部分以创建所需输出光场图像的相应部分来渲染最终输出帧。当以这种形式构建渲染时,与应用执行光场渲染作为许多常规2D渲染通道的蛮力方法相反,需要较少的慢速存储器带宽,因为可以通过表面缓冲器分区以结构化方式利用高速缓冲存储器。

与视图无关的光栅化

Maars等人提出了一种使用与视图无关的光栅化的广义多视图渲染技术。在点生成之后,我们使用点表示并行渲染多个视图。我们通过以下方式执行点渲染:a)将点直接流式传输到VIR的像素着色器阶段,或b)将点存储到单独的缓冲器并分派GPU计算线程(如图4所示)。我们的简单点渲染内核读取一个点的世界空间位置,然后对于每个视图,应用相应的视图投影矩阵,将投影位置捕捉到视图缓冲器中最近的相邻像素,并执行z缓冲。原子函数解决了由多个点投影到同一纹素引起的竞争条件。

Maars等人公开的该技术的剩余挑战与质量和速度有关。对场景的三维描述的层或子集的与视图无关的光栅化的实现可以包括基于场景中对象的几何形状获得一个或多个多边形代表。基于这些多边形中的一个或多个生成与视图无关的表示。生成的与视图无关的表示被编码为压缩的第二数据集的一部分。

图17说明了一种计算机实现的方法,包括:

接收包括场景的三维描述的第一数据集(420);

将第一数据集划分为多个子集,每个子集表示在相对于参考位置的不同位置处的场景的不同部分(429);

对于多个子集中的每一个,获得代表场景中对象的相应部分的一个或多个多边形(430);

基于一个或多个多边形确定与视图无关的表示(431);以及

将与视图无关的表示编码为第二数据集的一部分,其中第二数据集的大小小于第一数据集的大小(432)。

光场显示器的数据压缩

Piao等人利用光场的先验物理特性来识别数据中的冗余。基于表示空间中相邻点的元素图像包含显着重叠信息的观察,冗余用于丢弃元素图像。这避免了为了识别要丢弃的信息而执行计算复杂的数据转换。这种方法不利用与每个元素图像相关联的深度图信息。

在“全视差光场显示器的压缩”中,Graziosi等人提出了基于简单针孔相机覆盖几何结构对元素图像进行子采样以减少光场冗余的标准。Graziosi等人教导的下采样技术比其他CODEC方案中常用的二维图像和视频数据的复杂基分解更简单。当对象位于场景深处时,光场以较小的速率采样。例如,当两个单独的针孔相机提供两个不同的视场时,从一个元素图像到下一个元素图像几乎没有差异,并且两个针孔相机的视场重叠。当视图基于几何(三角形)重叠进行二次采样时,视图内的像素不会被压缩。因为这些像素可能很大,所以Graziosi等人使用标准二维图像压缩技术压缩像素。

Graziosi等人教导元素图像之间的采样间隙(ΔEI),基于对象的最小深度d,可以计算如下,其中θ表示光场显示器的视场,P表示积分成像显示器的镜头间距:

当没有图像遮挡时,该策略为正面平行平面提供了理论上的无损压缩。如公式所示,采样间隙随d增加,在需要较少元素图像时提供改进的压缩率。对于足够小的d,ΔEI可以达到0。因此,这种下采样技术不能保证压缩率。在有多个小对象的场景中,对象靠近屏幕或在屏幕距离处,每个元素图像至少有一些深度为0的像素,这种技术不会提供任何增益,即在整个整体图象中ΔEI=0。

Graziosi等人将渲染过程等同于初始编码过程。这种方法不是产生所有的元素图像,而是只产生重建光场所需的数量,同时最大限度地减少任何信息损失。深度图包含在选择用于编码的元素图像中,丢失的元素图像使用与基于深度图像的渲染(DIBR)相关的完善的变形技术重建。使用类似于H.264/AVC方法的方法进一步压缩所选元素图像,并在最终基于DIBR的解码阶段之前对图像进行解压缩。虽然此方法提供了具有合理信号失真水平的改进压缩率,但未提供基于时间的性能结果。这种编码和解码不能为高带宽速率提供良好的低延迟性能。此外,该方法仅限于远离显示表面的单个对象;在具有多个重叠对象和许多对象靠近显示表面的场景中,压缩将被迫返回使用H.264/AVC样式编码。

Chai教导全光采样理论来确定在特定场景深度表示正面平行平面对象所需的角带宽量。茨威克等人。Zwicker等人教导显示器的景深基于角分辨率,分辨率越高,景深越大。因此,靠近显示表面的对象可以用较低的角分辨率充分表示,而远处的对象需要较大的角分辨率。Zwicker等人教导了使用基于平面参数化的理想投影镜头的最大显示景深为:

其中Pl是镜头间距,Pp是像素间距,f是镜头的焦距。在具有各向同性方向分辨率(即N=Nu=Nv)的三维显示器中,N=Pl/Pp。因此,ZDOF=fN。

为了确定表示显示器全空间分辨率所需的角分辨率,在给定深度d下,公式重新排列为:

因此,进入场景的每个焦距距离都增加了在显示表面的给定空间分辨率下完全表示对象所需的另一个角分辨率像素。

分层场景分解采样方案

Graziosi等人教导的采样间隙以及Zwicker等人教导的全光采样理论提供互补的光场采样策略:Graziosi等人增加对远处对象的下采样(ΔEI),而Zwicker等人增加附近对象的下采样(Nres)。然而,当对代表场景的单个光场进行下采样时,这些策略的组合并不能保证压缩。因此,本公开将多维场景划分为多个层。这种划分为多个(数据)层在本文中被称为分层场景分解。其中K1和K2是自然数,我们定义L=(K1,K2,LO,LP),划分三维显示器的内外截头锥体体积。内截头锥体被划分为一组K1层,其中每个内部截头锥体层由距显示表面的距离为的一对平行于显示表面的边界定义,其中1≤i≤K1。外截头锥体被划分为一组K2层,其中每个外截头锥体层由与显示表面距离为的一对平行于显示表面的边界定义,其中1≤i≤K2。在替代实施方案中,内部和外部截头锥体体积可以通过彼此不同的分层方案来划分并且边界对可以但也可以不平行于显示表面。

分层场景分解层中的每一个具有基于对该层的平面边界区域的场景限制的相关联的光场(在此也称为“光场层”)。考虑具有内截头锥体层或外截头锥体层的光场显示器的D=(Mx,My,Nu,Nv,f,a,DLP)的分层场景分解L=(K1,K2,LO,LP),其中1≤i≤K1,1≤j≤K2。内截头锥体光场由一组通用针孔相机O={Ca(x,y)|1≤x≤Mx,1≤y≤My}生成。该方程被限制为仅对距光场显示表面距离为d的空间进行成像,其中因此,对于具有固定x,y和Ca(x,y)∈O的内截头锥体层,我们计算类似地,外截头锥体光场由一组通用针孔相机生成。该方程被限制为仅对距光场显示表面距离为d的空间进行成像,其中因此,对于具有固定x,y和Ca(x,y)∈P的外截头锥体层,我们计算

可以进一步定义相对于分层场景分解L的内截头锥体区域和外截头锥体区域的光场集。假设光场显示器D=(Mx,My,Nu,Nv,f,a,DLP)具有分层场景分解L=(K1,K2,LO,LP)。内截头锥体区域光场集定义为外截头锥体区域光场集定义为

根据定义,分层场景分解为每一层生成一个光场。对于任何分层场景分解,正视相机生成内截头锥体体积光场,而幻视相机生成外截头锥体体积光场。如果这些通用针孔相机对捕获的场景仅由不透明表面组成,则光场的每个点都具有相关联的深度值,该深度值指示从通用针孔相机平面到空间中相应成像点的距离。当给定光场时,深度图正式定义为深度图正式定义为深度图Dm=∞,其中没有对应于相关成像通用针孔相机光线的表面交点。在它们的域中,换句话说,与分层场景分解层的光场相关联的深度图受层本身的深度边界约束。

合并操作可以将分层场景分解层集重新组合回内截头锥体体积和外截头锥体体积,或LFO和LFP。利用合并算子*m合并内截头锥体体积光场和外截头锥体体积光场。例如,当给定两个任意光场时,LF1(x,y,u,v)且LF2(x,y,u,v),其中i=argminj∈{1,2}Dm[LFj](x,y,u,v),*m定义为:

LF1(x,y,u,v)*mLF2(x,y,u,v)=LFi(x,y,u,v)

因此,LFO(x,y,u,v)和LFP(x,y,u,v)可以通过合并与内截头锥体层和外截头锥体层关联的光场从集合OLF和PLF中恢复。例如:

本公开提供分层场景分解操作和合并数据以反转所述分解的逆操作。使用K层执行分层场景分解被理解为创建K倍的单个光场。分层场景分解的价值在于层诱导的光场;这些光场层比原始总光场或内截头锥体体积光场或外截头锥体体积光场更适合下采样,因为具有适当采样方案的多个下采样分层场景分解光场层所需的总数据量明显比原始光场的大小更少。

本发明所属领域的技术人员将理解,有多种类型的采样方案可以成功地对光场进行采样。所提供的采样方案S不旨在限制或脱离本发明的范围和精神,因为可以采用其他采样方案,例如为分层场景分解层光场中的每个元素图像指定单独的采样率。相对简单的采样方案可以提供具有更大采样控制的有效CODEC;因此,本公开提供了简单的采样方案来说明本公开而不限制或背离本发明的范围和精神。

根据本公开提供的光场采样方案代表了一种光场编码方法。给定显示器D=(Mx,My,Nu,Nv,f,a,DLP)和分层场景分解L=(K1,K2,Lo,LP),本公开提供了与L相关联的采样方案S作为与Lo或LP中的任何层li相关联的Mx×My二进制矩阵MS[li]以及将每个层li映射到一对R(li)=(nx,ny)的映射函数R(li)。MS[li]中(xm,ym)处的二进制({0,1})条目指示元素图像是否包含在采样方案中:(1)表示被包含,a(0)表示不被包含。R(li)=(nx,ny)表示光场中的元素图像以nx×ny的分辨率采样。

本公开还提供了利用全光采样理论的分层场景分解光场编码过程。以下描述涉及分层场景分解L的内截头锥体体积Lo,但外截头锥体体积LP可以以类似方式编码。

对于每个li∈Lo,对应光场的深度图被限制在范围内的d。基于以上呈现的采样方案,本公开使用以下等式来创建采样方案S以指导的创建:

换句话说,ΔEI指导与每个分层场景分解层相关联的MS矩阵中“1”项之间的距离。以下等式设置层中单个元素图像的分辨率:

这种使用ΔEI和Nres来驱动单独分层场景分解层采样率的采样方案可以被认为是分层全光采样理论采样方案(在本文中另外被称为“全光采样方案”)。该全光采样方案基于利用全光采样理论恒等函数α(t)=t的显示。这种每层采样方案为正面平行平面场景对象提供无损压缩,其中层内的对象不会相互遮挡。

仅正面平行平面场景对象的假设是限制性的,并不代表典型场景;不可避免地存在层内遮挡,尤其是对于尺寸较大的分层场景分解层。为了在不引入显着的可感知伪影的情况下捕获和编码全范围的潜在场景,除了本公开的光场全光采样方案之外,系统还可以利用信息。

例如,表面以各种倾斜角度由平面局部近似。在“关于全光函数的带宽”中,Do等人将时间变形技术理论化,以实现倾斜光场显示表面的光谱表征。这项工作表明,下采样的必要减少和对局部带宽变化的精确表征的需要是由表面倾斜的程度、场景中对象的深度以及对象在FOV边缘的定位引起的。因此,如果来自正面平行几何偏差的信号失真在感知上很显着,则残差表示可以自适应地发送额外或补充的元素图像数据(动态改变静态采样方案)以补偿产生的损失。

因此,本公开提供用于由CODEC对光场进行编码和解码的“核心”或“残差”信息的识别。当给定光场显示器D和具有关联采样方案S的相应分层场景分解L时,本公开考虑与L和S关联的编码、下采样光场,以及分层场景分解层的数量和所述层的深度,作为由CODEC编码和解码的光场的“核心”表示。在解码过程中可能需要的与光场的核心(编码)表示一起传输的任何附加信息都被视为要由CODEC处理的光场的“残差”表示,并与光场的核心表示一起用来产生最终显示的光场。

上面定义的框架中可能定义的许多分层场景分解和采样方案在合并并重建原始光场后仍可能出现由于遮挡而导致的孔洞问题。观察到在不同层中的对象之间发生的对象遮挡不会导致重建后的孔洞。然而,位于同一层内的可能相互遮挡的对象可能会导致孔洞,尤其是对于某些采样方案。

具体来说,如果特定层内的采样使得采样的元素图像之间的差距很大,那么很可能被遮挡的对象可能会被低估,从而导致孔洞。对此的一种解决方案是以更高的速率简单地对元素图像进行采样。然而,较高的采样率会导致较低的压缩率。因此,添加更多元素图像会导致包含大量的冗余信息。需要的是一种更具判别力的方法,该方法可以包含有助于填补孔洞的附加信息,同时又不会导致整体表示中的冗余。例如,考虑分层场景分解:

L=(K1,K2,LO,LP)

对于Lo或LP中的每一层li,我们可以定义一组残差层:

R(li)={r(li)(j)|1≤j≤Ki}

其中Ki是一个自然数,描述层li所需的残差层数。对于每个残差层,如分层场景分解层,都有一个与该层相关联的光场:

在最一般的描述中,这些附加层可以是没有进一步限制的自由形式。在实践中,可以帮助处理遮挡的附加信息在这些残差层中表示。实现这一点的一种方法是让残差层具有与其父分层场景分解层相同的采样方案,但是一种可能的变化可能是对具有较低方向分辨率的残差层进行采样,以严格控制LSD的压缩率加残差层组合。

具体而言,残差层可以定义为对应于Deep G-Buffers概念的附加层。因此:

在这种情况下,残差层与分层场景分解层形成对比,因为每层的深度范围不是由分层场景分解层方案的预先确定的深度划分确定的,而是基于所表示场景中的几何体所固有的深度层特征。

分层深度图像

先前已知的方法是使用视图合成(DIBR)从具有深度的采样元素图像中重新创建光场,其中存在遮挡问题。对于对象具有足够深度复杂度的场景,在对光场的元素图像进行二次采样时,有可能无法捕获有关某些场景对象的信息。通常情况下,表面不会被捕获,因为它由于表面遮挡而隐藏在很宽的角度范围内。在这种情况下,合成视图将显示采样视图中未捕获表面的孔洞。

在分层场景分解的上下文中进行视图合成的情况下,当遮挡对象或表面片段共同位于同一层内时,只会出现由于遮挡引起的问题。

在之前的工作中,计算机图形研究人员考虑了如何用采样视图表示场景,同时仍然捕获可能从未采样的视点看到的被遮挡信息。在计算机图形学中,几何缓冲器(G缓冲器)是图像缓冲器的名称,它存储相对于特定相机视点渲染的颜色、法线和深度信息。Mara等人提出了深度G缓冲器的想法,在计算机图形的全局照明计算的上下文中渲染分层深度图像,以便捕获否则会丢失的信息。在这项工作中,还为每个分层深度图像存储了法线、颜色和深度值。所提出的数据结构可用于为现有屏幕空间技术(使用标准G缓冲器)提供额外的几何信息,以便基于使用由深度G缓冲器提供的额外遮挡信息来提高照明计算的质量。

选择的层数或子集的数量允许更丰富地表示被遮挡的信息,通常根据实际限制和所实现的视觉质量增加的收益递减来选择少量。这项工作还引入了强制执行层或子集之间的最小分离距离约束的想法,每个层或子集表示相对于参考位置的不同位置的场景的不同部分,以避免具有表示对最终图像质量没有帮助的琐碎后面遮挡表面的层。

建议可以在分层场景分解层或子集中为每个采样的元素图像、子部分渲染深层几何缓冲器。因此,对于每个层或子集,以及每个子集中的每个元素图像或子部分,将有一组分层深度图像层或多个子部分。基于根据场景内表示的对象的至少一部分的几何形状确定的一些输入参数层数,其中由最小间隔距离参数定义的层深度作为另一个输入。

图14说明了计算机实现的方法,包括:

接收包括场景的三维描述的第一数据集(420);

将第一数据集划分为多个层,每个层表示相对于参考位置的不同位置处的场景的不同部分(429);

将对应于至少一个子集的数据划分为多个子部分,其中特定子部分的位置根据场景内表示的对象的至少一部分的几何形状来确定(435);以及

编码多个层和多个子部分以生成第二数据集,其中该第二数据集的大小小于第一数据集的大小(424)。

基于层的压缩分析

需要可预测的压缩率来创建实时渲染和传输系统,以及下采样标准(不指示可实现的压缩率)。下面对本公开的分层场景分解编码策略进行压缩分析。

如前所述,仅基于全光采样理论对光场进行下采样并不能保证压缩率。本公开提供了下采样光场编码策略,允许低延迟、实时光场CODEC。在一个实施方案中,采用基于全光采样理论的互补采样方案,使用ΔEI和Nres来驱动单独的分层场景分解层采样率。分层场景分解将整个3D场景表示为多个光场,将场景表示扩展了层数的因子。本公开进一步设想,当层深度被适当地选择时,当与基于全光采样理论的下采样相结合时可以保证压缩率。

对于给定的分层场景分解层li对应的光场层的受限深度范围为层的光场提供了有保证的压缩率。对完全包含在单层中的场景进行下采样可实现的压缩比可以用以下定理来解释:

定理1

考虑具有各向同性方向分辨率N=Nu=Nv、分层场景分解L和相关的采样方案S=(Ms,R)的显示器D=(Mx,My,Nu,Nv,f,a,DLP)。假设分层场景分解层li与对应的光场使得dmin(li)<ZDOF(D),并且选择使得“1”条目之间的距离设置为ΔEI(dmin(li))和R(li)=Nres(dmax(li))。相对于分层场景分解层li的与S相关联的压缩比为

证明1

考虑显示器最大景深内的分层场景分解层,其中其中0<c,d≤ZDOF。因此,因此,ΔEI(dmin(li))=N/c且Nres(dmax(li))=N/d。

基于这个子采样率,系统需要每(N/c)th个元素图像,因此提供1∶(N/c)2的压缩比。元素图像子采样提供1∶d2的压缩比。所以,总压缩比为1∶(N/c)2*1∶d2=1∶N2(d/c)2。压缩因子项决定了压缩率。

可能存在一种替代情况,其中dmin(li)=ZDOF和(dmax(li))可以扩展到任何任意深度。我们知道ΔEI(ZDOF)=N并且Nres对于所有深度d≥ZDOF都达到N的最大可能值。基于这种二次采样率,系统需要每Nth个元素图像,从而提供具有1∶N2压缩比的光场。在表示正面平行平面对象时,在ZDOF之外添加额外的分层场景分解层会增加冗余表示能力。因此,在创建核心编码表示时,可以使用层中的最大景深对整个场景进行最佳分解。

给定对分层场景分解层进行下采样的压缩计算表达式,我们可以确定压缩因子如何随着层参数的变化而变化。对于固定宽度的层,或对于某些w,dmax(li)-dmin(li)=w,当dmax(li)-dmin(li)最接近显示表面时,cf项被最小化。因此,位于更靠近显示表面的分层场景分解层需要更窄的宽度以实现与位于更远离显示表面的层相同的压缩比。这种压缩率分析可以扩展到从显示表面到深度ZDOF的空间中划分为多个相邻的正面平面层的场景。

定理2

考虑具有各向同性方向分辨率N=Nu=Nv、分层场景分解L和相关的采样方案S=(Ms,R)的显示器D=(Mx,My,Nu,Nv,f,a,DLP)。令SLF=MxMYNuNv,表示光场中的图像像素数。分层场景分解表示的压缩比可以定义为:

证明2

对于使用压缩比下采样的给定分层场景分解层:

为了计算压缩率,计算并求和压缩形式中每一层的大小,并将总压缩层大小除以光场大小。考虑一个总和,其中压缩的层集的大小是:

因此组合层的压缩比为:

在分层场景分解层宽度可变的系统中,dmin(i)和dmax(i)分别代表第i层的前后边界深度,分层场景分解表示的压缩比为:

恒定分层场景分解层的总和单调递减并趋向于1。

因此,位于更靠近显示表面的分层场景分解层比位于更远离显示表面的相同宽度的层实现更低的压缩率。为了最大化效率,宽度较窄的分层场景分解层更靠近显示表面,而较宽的分层场景分解层远离显示表面;这种放置在整个场景中保持统一的压缩率。

分层场景分解层的数量和大小

为了确定分层场景分解所需的层数和层的大小,提供具有α(t)=t恒等函数的光场显示器作为实施例。对该恒等函数的考虑不旨在限制本公开的范围或精神,因为可以利用其他函数。本发明所属领域的技术人员将理解,虽然显示器D=(Mx,My,Nu,Nv,f,a,DLP)用单个恒等函数α定义,但平面参数化针孔投影仪阵列中的每个光场平面参数化针孔投影仪可能具有唯一的恒等函数α。

为了无损地表示正面平面表面(假设没有遮挡),前边界位于深度ZDOF的单层场景分解层表示从ZDOF到无穷远的系统。无损压缩可以定义为一类数据压缩算法,它允许从压缩数据中完美地重建原始数据。为了生成核心表示,不考虑位于光场显示器最大景深处的最深层之外的分层场景分解层,因为从核心表示的角度来看,这些层不提供额外的代表能力;这适用于内截头锥体体积层集和外截头锥体体积层集。

在从显示器表面到显示器最大景深的区域内(对于内截头锥体体积层集和外截头锥体体积层集),分层场景分解层利用最大和最小距离深度,它们是光场显示f值的整数倍。具有更窄宽度的分层场景分解层提供更好的每层压缩率,从而提供更好的整体场景压缩率。然而,分解中的层数越多,解码所需的处理量就越大,因为必须重建和合并更多的层。本公开因此教导了具有不同层深度的层分布方案。在一个实施方案中,具有更窄宽度的分层场景分解层(以及由所述层表示的光场的相关性)位于更靠近显示表面的位置,并且层宽度(即,前后层边界之间的深度差)随着与显示表面的距离增加而呈指数增加。

基于渐近分辨率的层方向分辨率采样

在使用分层场景分解设计合适的光场CODEC时,主要有两个问题。一是如何将场景分解为子集(层)。自然随之而来的设计问题是如何对与每一层相关的光场进行下采样。我们将下采样策略称为“采样方案”。

可以有多种方法来构建采样方案。本公开中提出的使用ΔEI和Nres的全光采样方案是一个实施例。Nres是有效分辨率函数的示例。如果没有遮挡并且层内的所有对象都是正面平面,则该方案理论上将无损采样。

现有的视频编解码器可以有效地使用,而不会完全无损,相反,在发生损失的地方,它们被优化以最大限度地减少任何存在的伪影的感知效应。因此,我们探索了如何使用潜在的有损下采样,同时将感知效应最小化,作为设计有用光场CODEC的可行策略。

Zwicker等人提出的光场显示器景深概念构成Nres全光采样标准的基础。这个概念严格基于表示理论和构成光场图像的样本的总表示能力。总代表容量是在观看光场显示器的观看者的上下文之外考虑的;从这个意义上说,它是独立于观看者的。在光场显示器和为观看者设计最佳体验方面,光场的表示能力仅与观看者感知的图像以及他们相对于显示器的位置如何影响图像感知有关。

Zwicker提出的深度场概念表明,光场的更大角分辨率将导致更大的3D显示体积,在该体积中,显示器将以显示器的全空间分辨率显示对象。该理论预测距离显示器表面超过最大景深距离的对象的分辨率会线性下降(图20)。

此分辨率与观看者无关。我们认为它过于保守,因为它没有考虑观看者与显示器的接近程度。我们考虑在距显示器一定距离处设置物理观看者。从采样的角度来看,当观看者观看显示器时,观看者采样的角度采样率是观看者距离的函数。可以证明,理论上,基于物理观看者到显示器的距离,我们可以创建一个方程,将观察到的分辨率估计为对象与观看者距离的函数。我们在此展示了此类方程的特定推导,但可以使用其他方程或分辨率衰减模型以及通过光场显示器和观看者模型的实验或模拟研究观察到的衰减经验模型。

导出的模型表明可以计算对象的渐近分辨率。通常,渐近分辨率随着观看者距离的增加而降低。因此,如果我们可以假设最大观看者距离,那么使用相应的渐近分辨率或其他相关的分辨率衰减函数作为深度分辨率退化的最坏情况度量是合理的。

考虑如前所述使用Nres的全光采样方案。假设我们有一个具有最小深度dmin(442)和最大深度dmax(443)的层。然后根据Nres公式dmax(443)确定该层所需的方向分辨率。根据Zwicker中描述的景深表示理论,该采样率在给定层的范围内以其最大分辨率完全表示场景。这在图20中表示。

让我们假设在给定的实际环境中,定义光场显示器的最大观看距离是合理的。基于这个最大观看距离,我们可以考虑相关的衰减函数,作为为给定层的潜在采样方案选择的方向分辨率的函数。

如图20所示,可以绘制出小于Nres(dmax)(443)暗示的各种方向采样率的分辨率函数,并考虑它如何在从dmin(442)到dmax(443)的深度范围内偏离理想值(440)。对于渐近函数,可以观察到偏差会随着深度的增加而变得更大,但当然不会超过基于渐近值(441)的最大值。偏差代表信号损失;然而,它可以被量化并且有一个基于渐近值的界限。因此,这提出了一个框架,在该框架内可以量化层下采样和任何相关损失,从而用于指导为基于LSD的光场编解码器设计适当的采样方案。

场景的三维描述被划分为多个子集并且对多个层或子集进行编码以生成小于第一数据集大小的第二数据集。层或子集的编码可以包括对子集执行采样操作。有效分辨率函数用于确定合适的采样率。然后使用确定的合适采样率对与子部分相关联的元素图像进行下采样。

相关工作集中于在具有多个光衰减层的显示器中分析景深以及分辨率如何随深度降低。这些工作仍然将景深分析为与Zwicker等人类似的独立于观看者的概念,将光场显示器的景深描述为可以在显示器的最大空间分辨率下再现平行于显示表面的虚拟平面的深度范围。然而,这个框架不考虑观看者,它基于场景的有效正交视图。就场景中一定深度处的对象的质量而言,特定观看者可以从给定视点从光场访问的信息得以解决。

Alpaslan等人进行了一项研究,以确定在光场显示中,感知分辨率如何根据光学和空间角分辨率参数的变化而随距离发生变化。结果表明,增加的角分辨率减少了显示器中感知分辨率随深度的降低。此分析基于以每个空间周期为单位度量的振荡模式,其中空间是显示器的内截头锥体和外截头锥体中的空间,如下面的等式所示。

p=po+s*tanφ

其中p是最小特征尺寸,po是像素尺寸,s是进入屏幕的深度,φ是两个样本之间的角距离。该公式基于简单的几何参数和显示器的定向光线在角空间中均匀分布的假设。它清楚地表明特征尺寸随着距离的增加而增加,然而,这个公式的制定独立于特定的观看者以及观看者可以在深度处解析的特征尺寸。

相比之下,Dodgson分析了观看者如何占据3D显示器前面的各个视区,这些视区对应于显示器角度分量的投影密度,但没有将这些视区与深度处对象的表观观看质量直接相关。

处理小景深或DoF的一种方法涉及缩放内容以适应目标区域。这种技术似乎确实产生了良好的结果,但由于它涉及对内容的一些优化,因此它似乎不能立即适用于交互式设置中的实时数据集。一种更简单、固定的方案重新缩放技术可以适用于实时设置,但可能会引入不可接受的失真伪影,例如纸板化。纸板化可以定义为在可视化3D内容时发生的普遍伪影,即所谓的“纸板化”效果,其中对象由于深度压缩而显得平坦。

在所有表面都是朗伯表面的情况下,可以假设观看者是针孔相机。将真实人眼更准确地建模为有限孔径相机,这是其他3D显示视图模拟工作中采用的一种方法。然而,为了简单起见,使用针孔相机,因为它在某种意义上可以作为有限孔径情况下的质量上限。假定规范图像构成观看者图像的基础。因此,为了检查图像的质量,需要考虑规范光线。更具体地说,假设规范图像Ic[D,O]可以通过一种类型的放大操作与规范图像相关联。规范图像是变形观看者图像的采样版本。将逆变形函数应用于规范图像,它的连续版本,然后将给出观看者图像。变形函数也可以描述为投影函数。

可以根据各种设计参数对3D光场显示进行正式定义。不失一般性,假设显示器在3D空间中以(x,y,z)=(0,0,0)为中心,并指向z正方向的观看者,y方向向上。正式定义如下:

考虑光场显示器D=(Mx,My,Nu,Nv,f,DLP),其中(Mx,My)是显示器空间分辨率的水平维度和垂直维度,(Nu,Nv)是显示器的角分辨率分量的水平维度和垂直维度。假设显示器是一组理想化的光场投影仪,其间距为DLP,焦距为f。假设光场投影仪的Mx×My阵列可以被索引为LFPij,使得第一个坐标与x轴对齐,第二个坐标与y轴对齐。因此,得出一组光场投影仪:{LFPij|1≤i≤Mx,1≤j≤My}。对于任何特定的光场投影仪,对于1≤u≤Nu和1≤u≤Nv,可以通过LF Pij(u,v)对每个单独的Nu×Nv像素进行寻址。根据显示器的焦距f,可以计算出一个角视场,表示为θFOV

众所周知,光场显示器可以表示位于由两个独立的视锥体定义的体积区域内的对象,包括显示表面前后的区域。这两个截头锥体在此被称为给定显示器的内截头锥体区域和外截头锥体区域。

将观看者O=(XO,DO,fO)定义为针孔相机,以焦距fO对显示器进行成像,焦点位于XO并指向方向DO,其中DO是3D矢量。对于观看者O,这称为观看者图像并表示为IO

特定观看者根据其特定位置和方向/取向对显示器的光场投影仪投射的可能输出光线方向的不同子集进行成像。这些光线可以更精确地定义:

给定显示器D=(Mx,My,Nu,Nv,f,DLP)和观看者O=(XO,DO,fO)。定义一组光线,每个与D关联的光场投影仪一条光线,由连接XO和每个光场投影仪中心的线定义。让表示LFPij的中心。然后将一组线定义为观看者O相对于显示器D的规范光线集。应该是注意,规范光线仅形成对观看者图像有贡献的光线子集。很容易观察到观看者的规范光线集与观看者的方向DO和焦距fO无关。因此,在特定位置的所有可能观看者的集合相对于显示器共享相同的规范光线集合。

对于任何规范光线这里是角对,表示与相关联的向量的球坐标。LF Pij(u,v)的Nu×Nv元素中的每一个也有球坐标表示,可以写成以及空间矢量表示,表示为

可以看到给定显示器和观看者的规范光线从显示器及其光场投影仪投射的光场中采样强度值。可以观察到这些强度值以形成Mx×My图像,在此进一步称为相对于显示器D和观看者O的规范图像。该图像表示为Ic[D,O](x,y)。

考虑到显示器的视场θFOV,观看者必须位于最小距离处,以便能够看到来自显示器上所有基于光场投影仪的像素的光。通常,对于较小的FOV,该距离会变大,对于较大的视场,观看者可能会更近。这个距离可以通过三角函数确定为:

每个光场投影仪代表一段连续平滑的光场。给定显示器和观看者,每条规范光线使用其相应光场投影仪阵列内的强度对光场进行采样。即给定规范光线基于对包含在光场投影仪图像LFPij中的强度值执行的重采样操作来重建强度值。此处采用的常用模型为光场投影仪图像所暗示的每条光线提供了光斑宽度。通过为每个投影仪强度值提供物理角度扩展,该光斑宽度允许描述光场的物理重建。

为了简化分析,在一定程度上忽略了点扩展函数(PSF)模型。相反,假设规范光线使用最近邻插值方案从特定的LEPij对光场进行采样。对于某些(i,j),考虑来自与强度值Ic[D,O](i,j)相对应的规范图像的光线。我们假设光线向量可以使用球坐标表示为(θij,φij)。让

指数(un,vn)表示与采样规范光线具有最小角距离的光场投影像素。因此,通过这个最近邻插值:

该重建模型允许对采样几何进行最初更简单的分析和理解。

根据显示概念的景深或DoF,当对象移动到超过最大景深时,3D显示器表示空间分辨率的能力会降低。由于相对较差的角分辨率和采样密度,当前的光场或多视图显示器似乎受到小景深的影响。从这些显示中可以明显看出,进入屏幕的任何显着深度的对象都会变得非常模糊。

2D显示器中的对象虽然缺乏3D显示器的额外感知线索,但在远处不会变得不自然地模糊。在标准2D显示器中,出现在场景深处的3D对象实际上远离显示器表面,相对于显示器的最大分辨率以自然的方式降级。也就是说,随着对象离2D显示器越远,其在2D显示器上的投影面积就越小,因此代表该投影面积的像素数随着面积的大小而减少。这对应于如何将更远的对象投影到视网膜(或相机的成像平面)上的较小区域,因此可以解析较少的细节。然而,在角分辨率相对较低的3D显示器中,远处的对象会变得模糊,并且无法以与其在显示器表面上的投影面积成比例的分辨率来表示。

建议根据与伪等效2D显示器的比较来测量一定深度处3D显示器的有效空间分辨率。3D显示器用于通过考虑3D显示器如何呈现位于显示器内截头锥体区域中的正平行平面来以某种方式模拟2D显示器。平面的尺寸随着深度的增加而增加,以填充相对于给定观看者位置的视锥体的整个宽度。让dp表示平面的z坐标。该平面在此被称为平面PC(dp,O)。

考虑位于(xO,zO)处的观看者O。令显示器D的宽度为ω。构造平面,使得对于(xO,zO)处的观看者来说,无论平面放置在什么深度,它的大小都使得平面投影到显示器的每个空间像素上。换句话说,在平面上看到的将占据显示器表面的整个空间,如图19所示。

为了计算位于深度dp处的构造平面的宽度W,使用基于相似三角形几何的公式。应该注意的是,正z轴从显示器指向观看者,使dp成为下式中的负值:

为简单起见,已使用1D显示器进行分析。对于1D分析,显示器将定义为

D=(Mx,Nu,f,DLP)

使用可寻址为LFPi(i)的光场投影仪,适用于定义范围内的u。观看者将定义为O=(XO),其中XO仅是x和z坐标。我们让表示LFPi的中心。观看者O相对于显示器D的规范光线集是

产生的规范图像是IC{D,O](x)。规范光线具有角度表示θi。LEPi(u)的Nu个元素中的每个都有角度表示θ(u)和空间向量表示,表示为对于最近邻插值

其中:

内截头锥体的有效分辨率

为了回答给定观看者的分辨率如何在距显示器表面的距离方面对于场景元素降级的问题,分析仅限于位于显示器内截头锥体的深度。为简单起见,假设为一维显示器。

为了量化一定深度下的有效分辨率,在此设置中要回答的关键问题是:有助于重建入射规范光线的光场投影仪光线如何对平面PC(dp,O)?进行采样?这里模拟了两个采样步骤:(1)光场投影仪光线对平面进行采样,(2)入射规范光线从光场投影仪光线的子集中对光场进行采样。通过假设通过最近邻插值仅使用光场投影仪的一个元素构建规范光线样本,可以简化该问题。

定理1

假设显示器D=(Mx,Nu,f,DLP)和观看者O=(XO,DO,fO)。设zO=ω=MxDLP。因此,深度处的有效分辨率dp可以通过以下方式估计:

证明:

假设平面P(dp,O)。距离的定义与光场投影仪的光线如何对内截头锥体以及平面P(dp,O)进行采样有关。考虑一组Mx个规范光线标记为ci是与LFPi相交的光线。与光线ci相关的强度则是IC[D,O](i)。

基于定义的最近邻方案,每条光线ci∈C映射到LFPi中的相应光线,由索引,如之前定义的那样。有两种可能的情况。在第一种情况下,两条相邻的规范光线ci和ci+1在其对应的光场投影仪中都有最近的邻居,(LFPi,LFPi+1)具有相同的角度。即,另一种看待这个问题的方法是将相邻的规范光线映射到平行光场投影光线。在第二种可能的情况下,两个相邻的规范光线ci和ci+1在它们相应的光场投影仪中被映射到不同的光线。即,对于整数k≥1,对于N<Mx的显示器,并假设观看者与显示器表面的距离至少为dO,这种情况将是

现在基于这两种情况定义距离。对于第一种情况,两个相邻的LFP光线平行,它们的距离定义为DLP。在第二种情况下,

d=DLP+q

平行样本和发散样本的这种组合会产生不均匀的采样模式。建议显示表面深度-观看者三元组的有效分辨率是平面PC(dp,O)的大小除以最大采样距离。这是因为最大的采样距离决定了保证采样的最小特征尺寸。

也就是说,分辨率为PX的2D显示器将具有与特定显示器-表面深度-观看者三元组相同的最小特征尺寸。对于内截头锥体,PX将是:

给定深度有效分辨率的估计公式,可以看出该公式给出了一条曲线,该曲线就变量dp而言具有最小值。如果平面处于非常大的深度(即dp→-∞),渐近最小有效分辨率为:

外截头锥体的有效分辨率

对于外截头锥体,dp的值将基于当前坐标系为正。当dp为正时,q变为负,因此d<DLP

建议显示表面深度-观看者三元组的有效分辨率是平面大小除以最大采样距离,即现在的DLP

视差编码/解码

从应用于每一层的采样方案产生的光场的编码分层场景分解表示主要由包括RGB颜色和视差的多个像素组成。一般来说,为像素的视差(深度)场选择合适的位宽很重要,因为该场的宽度提高了重建过程中的操作精度。然而,增加位数的使用对实现的压缩率有负面影响。

在本公开中,由给定采样方案指定的每一层RGB颜色和视差像素具有对应于各个像素的特定视差范围。本公开利用每个分层场景分解层内的这种窄范围的视差来增加深度信息的准确性。在传统的像素表示中,整个场景的视差范围被映射到固定数量的值。例如,在10位视差编码中,只能有1024个不同的深度值。在本公开的分层场景分解中,由于每层具有已知的深度边界,所以对每个分层场景分解层应用相同的固定数量的值。这是有利的,因为可以通过减少深度通道的宽度来减少传输带宽,同时保持像素重建精度。例如,当系统实现视差宽度为8位时,将场景分解为8个分层的场景分解层,总共可以使用2048个不同的视差值,每层有256个基于8位表示的不同的可能值。这比将内截头锥体或外截头锥体内可能的视差值的整个范围映射到给定数量的位更有效。

本公开使用相同数量的位,但是位被解释并且清楚地表示每个分层场景分解层内的视差。由于每个分层场景分解层彼此独立,因此每个层的深度(位)编码可以不同,并且可以设计为提供更准确的定点表示。例如,靠近显示表面的分层场景分解层具有较小的深度值,可以使用具有少量整数位和大量小数位的定点格式,而远离显示表面的分层场景分解层具有更大的深度值,并且可以使用具有大量整数位和少量小数位的定点格式。小数位可在每层基础上进行配置:

最小定点数=1/(2小数位)

最大定点数=216-小数位-最小定点数

视差是根据光场后处理阶段的深度计算的,并使用以下公式进行编码:

缩放因子=(最大定点数-最小定点数)/(近剪裁视差-远剪裁视差)

编码视差=(视差-远剪裁视差)*缩放因子+最小定点数

使用以下公式对视差进行解码:

缩放因子=(最大定点数-最小定点数)/(N近剪裁视差-远剪裁视差)

未编码视差=(编码视差-最小定点数)/缩放因子+远剪裁视差

图18说明了一种计算机实现的方法,包括:

接收包括场景的三维描述的第一数据集(420);

将第一数据集划分为多个子集,每个子集表示在相对于参考位置的不同位置处的场景的不同部分(429);

编码多个子集以生成第二数据集,其中第二数据集的大小小于第一数据集的大小,其中编码子集包括对子集执行采样操作,执行采样操作包括(433):

使用有效分辨率函数来确定合适的采样率,然后使用合适的采样率对与子部分相关联的元素图像进行下采样(434)。

一般化和说明性实施方案——CODEC实现和应用

概述

本公开定义了用于各种类型的角度像素参数化的编码器-解码器,例如但不限于平面参数化、任意显示参数化、参数化的组合或任何其他配置或参数化类型。本公开的一般化和说明性实施方案提供了为多维视频流、多维交互式游戏或其他光场显示场景生成合成光场的方法。提供了可以驱动具有实时交互内容的光场显示的渲染系统和过程。光场显示不需要长期存储光场,但必须以低延迟渲染和传输光场以支持交互式用户体验。

图7提供了本发明的一般化的说明性实施方案的CODEC系统概览。游戏引擎或交互式图形计算机(70)将三维场景数据发送到GPU(71)。GPU对数据进行编码并通过显示端口(72)将其发送到包含解码处理器(例如FPGA或ASIC)的解码单元(73)。解码单元(73)将解码数据发送到光场显示器(74)。

图1图示了另一个一般化的、示例性的分层场景分解CODEC系统,其中来自合成或视频数据源(50)的光场数据被输入到编码器(51)。GPU(43)对内截头锥体数据进行编码,将其划分为多个层,并且GPU(53)对外截头锥体数据进行编码,将其划分为另外的多个层。虽然图1说明了专用于内截头锥体体积层和外截头锥体体积层的单独GPU(43、53),但单个GPU可用于处理内截头锥体体积层和外截头锥体体积层。每个分层场景分解层被发送到解码器(52),其中光场的多个内截头锥体体积层(44(1)至44(*))和多个外截头锥体体积层(54(1)至54(*))被解码并合并为单个内截头锥体体积层(45)和单个外截头锥体体积层(55)。根据双截头锥体渲染,内截头锥体体积和外截头锥体体积然后被合成(合并)成单个、重建的光场数据集(56),在本文中另外被称为“最终光场”或“显示光场”。

图10至13图示了根据本公开的示例性CODEC过程实现方式。

图10图示了示例性分层场景分解CODEC方法,由此图像描述格式的3D场景数据或光场数据被加载到编码器(400)以进行编码,于是如图所示的数据(子)集,或者,可替代地,表示3D场景的整个数据集被分区(403)。在识别用于分区的3D场景数据子集(402)的情况下,可以理解,识别过程是通用过程步骤参考,其旨在简单地指代在一遍中或在分组中对数据集进行分区的能力(例如,对内截头锥体和外截头锥体数据层进行编码,如图11中更详细所示),根据情况可能需要。在这点上,数据子集的识别可以暗示预编码处理步骤或也形成编码子处理阶段(401)的部分的处理步骤。数据子集可以在分区时被标记、指定、确认、扫描甚至编译或分组以产生一组层(3D场景的分解)(403)。在数据子集的分区(403)之后,根据本公开对每个数据层进行采样和渲染以产生压缩(图像)数据(404)。在数据层压缩之后,压缩数据被传输到解码器(405),用于解码子过程(406),包括解压缩、解码和重新组合步骤以(重新)构建一组光场(407),否则在此称为“分层光场”、分层光场图像和光场层。合并构建的分层光场以产生显示3D场景(409)的最终光场(408)。

图13中示出了示例性的并行编解码器过程,用于实时优化表示3D场景的光场的传递(例如,最小化伪影)。该过程包括以下步骤:将3D场景数据加载到编码器(700),编码和压缩最终光场的残差编码表示(701),将残差编码表示(702)传输到解码器,对残差编码表示进行解码并且使用残差编码表示和核心编码表示来产生最终光场(703)并在显示器上显示3D场景(704)。

图11示出了与图10所示实施方案相关的实施方案,其中识别两个数据(子)集;基于3D场景数据(500)导出的内截头锥体层(502)和外截头锥体层(503)用于分区(501),并且实现根据每个数据集(504、505)的两种不同分层方案将每个数据集划分为不同深度的层,即相当于多个数据层。分别代表光场显示器的内截头锥体和外截头锥体体积的每组(多个)数据层(506、507)随后根据采样方案(508、509)在每层基础上采样;并且每个采样层被渲染以压缩数据并分别在处理步骤(508、509)中产生两组压缩(图像)数据(510、511)。编码对应于数据层组(506、507)的光场组的压缩数据组(510、511)然后被组合(512)以产生最终(显示)光场的分层的、核心编码的表示(513)(CER)。

图12图示了用于重建一组光场并在显示器处产生最终光场的CODEC方法或过程的实施方案。使用多阶段视图合成协议(600)从核心编码表示(513)(重新)构建该组光场(分层光场)。将协议(指定为VS1-VS8)应用(601-608)于核心编码表示(513)的八层中的每一层,这些协议可能不同,也可能相同,具体取决于每个待解码数据层光场的特性。每个协议可以应用一种在本文中称为边缘自适应插值(609)的非线性插值形式,以在从所述场的核心编码表示重建的分层光场(610)的集合中提供良好的图像分辨率和清晰度,以确保图像清晰度。分层光场(610)被合并,在这种情况下图示了对应于两个数据子集的两组光场(611、612)的合并以产生两组合并的光场(613、614)。合并的光场组(613、614)可以表示例如最终光场的内截头锥体体积和外截头锥体体积并且可以相应地被合并(615)以在显示器处产生所述最终光场(616)。

CODEC编码器/编码

根据本公开的编码被设计为支持实时交互内容(例如,用于游戏或模拟环境)以及通过光场通用针孔相机或相机阵列捕获的现有多维数据集的生成。

对于光场显示器D、分层场景分解L和采样方案S,系统编码器产生与采样方案中包括的每个分层场景分解层对应的光场相关联的元素图像。每个元素图像对应一个通用针孔相机。元素图像以采样方案指定的分辨率进行采样,每个元素图像都包含深度图。

实现将实时交互式内容驱动到具有显着高分辨率和尺寸的多维显示的渲染性能提出了通过应用混合或组合渲染方法来解决单独依赖如本文所述的任何一种技术的缺陷而克服的重大挑战。

当给定恒等函数α时,可以使用标准图形视口渲染系统地渲染由给定分层场景分解层的编码方案指定的一组通用针孔相机。这种渲染方法会导致大量的绘制调用,特别是对于具有包括大量底层元素图像的采样方案的分层场景分解层。因此,在将分层场景分解用于逼真的自动立体光场显示的系统中,这种渲染方法本身并不能提供实时性能。

使用标准图形绘制调用的渲染技术将通用针孔相机的平面参数化(恒等函数α)的渲染限制为透视变换。硬件优化的光栅化功能提供了传统二维显示中高质量实时渲染所需的性能。这些加速硬件功能基于平面参数化。或者,平行斜投影可以利用标准光栅化图形流水线来渲染通用针孔相机平面参数化。

本公开考虑应用光栅化以通过将三角形组转换为显示表面上的像素来呈现通用针孔相机视图。在渲染大量视图时,必须在每个视图中对每个三角形进行光栅化;倾斜渲染减少了每个分层场景分解层所需的渲染通道数,并且可以适应任何任意的恒等函数α。系统对恒等函数α指定的每个角度使用一个平行斜投影。一旦呈现数据,系统就会执行“切片和切块”块变换(参见美国专利号6,549,308和7,436,537)以将存储的数据从其按角度分组重新分组为元素图像分组。当要渲染大量角度时,单独的“切片和切块”方法对于需要许多单独的倾斜渲染绘制调用的实时交互式内容是低效的。

光线追踪渲染系统也可以适应任意恒等函数α。在光线追踪中,指定任意角度不需要比接受平面参数化更高的性能。然而,对于需要使用最新加速GPU的渲染系统的实时交互式内容,光栅化提供了比光线追踪渲染系统更可靠的性能可扩展性。

本公开提供了几种混合渲染方法来有效地编码光场。在一个实施方案中,编码方案渲染位于更靠近显示表面的分层场景分解层,更多的图像需要更少的角度样本,而渲染更远离显示表面的层,具有更少的图像和更多的角度样本。在相关实施方案中,将透视渲染、倾斜渲染和光线追踪结合起来渲染分层场景分解层;这些渲染技术可以在多种交错渲染方法中实现。

根据本公开的一般化的说明性实施方案,一个或多个光场由渲染二维针孔相机阵列的GPU编码。通过从应用于每个分层场景分解层的采样方案计算像素来创建渲染表示。像素着色器执行编码算法。典型的GPU经过优化,可在一个传输帧中为每个场景生成最多2到4个针孔相机视图。本公开需要同时渲染成百上千个针孔相机视图,因此采用多种渲染技术来更有效地渲染数据。

在一种优化方法中,位于离显示表面更远的分层场景分解层中的通用针孔相机使用标准图形流水线视口操作进行渲染,称为透视渲染。位于更靠近显示表面的分层场景分解层中的通用针孔相机使用“切片和切块”块变换进行渲染。组合这些方法为分层全光采样理论采样方案提供高效渲染。本公开提供分层场景分解层,其中远离显示表面的层包含较少数量的具有较高分辨率的元素图像,而位于较靠近显示表面的层包含较多数量的具有较低分辨率的元素图像。使用透视渲染在远离显示表面的层中渲染较少数量的元素图像是有效的,因为该方法只需要对每个元素图像进行一次绘制调用。然而,在某些时候,对于靠近显示表面的层,透视渲染变得效率低下或是效率低下的,因为这些层包含更多的元素图像,需要更多的绘制调用次数。由于位于更靠近显示表面的层中的元素图像对应的角度数量相对较少,倾斜渲染可以有效地渲染这些元素图像,同时减少绘制调用的次数。在一个实施方案中,提供了一种确定系统应该在哪里使用透视渲染、倾斜渲染或光线追踪来渲染分层场景分解层的过程。应用阈值算法,评估每个分层场景分解层以将要渲染的元素图像的数量(即透视渲染绘制调用的数量)与特定层深度所需的元素图像的大小(即倾斜渲染绘制调用次数)进行比较,系统实现需要最少渲染绘制调用次数的渲染方法(技术)。

在无法使用标准图形调用的情况下,系统可以实现光线追踪而不是透视或倾斜渲染。因此,在另一个实施方案中,替代渲染方法使用光线追踪来渲染位于更靠近显示表面的层,或位于更靠近显示表面的层的部分。

在光线追踪渲染系统中,分层场景分解层中的每个像素都与由光场定义的光线相关联。每条光线都被投射,并根据标准光线追踪方法计算与分层场景分解的交集。当渲染不符合标准GPU渲染流水线所期望的标准平面参数化的恒等函数α时,光线追踪是有利的,因为光线追踪可以适应传统GPU渲染具有挑战性的任意光线角度。

当hogel将像素投影到空间中时,并非每个像素都有用。考虑显示器的左上角hogel向上和向左投影一个像素。观看者唯一能看到这个像素的时间是观看者处于这样的位置时,即左上角的hogel位于观看者视场的右下边界。从这个位置,显示器中的所有其他hogel将从比该视场允许的更大的角度观看,因此除了左上角的hogel之外,所有其他hogel都将被关闭。这个指定的观看者位置不是一个有用的观察位置,如果左上角hogel的左上角像素被关闭,这将是无关紧要的。本讨论使用有效视区的概念。有效视区是空间中所有这样的位置的集合,即观看者可以在这些位置以视场内的某个角度查看显示器上的每个hogel,并因此从每个hogel接收一个像素。该区域将是每个hogel的投影截头锥体相交的地方。

有效视区的定义可以有效地缩小到四个角hogel的投影截头锥体相交的地方。角是最极端的情况,因此如果一个位置在四个角的投影截头锥体内,则该位置也在有效视区内。这种方法还引入了最大观看距离的概念,这是为了实现这些节省和效率而引入的约束。在没有最大观看距离的情况下,视锥体是一个矩形金字塔,其尖端沿负显示法线定向,其底部位于距显示器无限远的深度处(即标准视锥体)。引入最大观看距离,矩形金字塔的底部现在有一个距离与最大观看距离相同的底部。实现节省所采取的方法不是渲染或发送不会被投影到有效视区中并因此是浪费的像素。指定最大观看距离所需的像素数是hogel填充因子。hogel填充因子是在给定深度下视区与hogel投影尺寸之间的比率(即在2D中,如果hogel投影的宽度为1m,而视区的宽度为0.5m,则只需要一半投影像素)。

DW表示以米为单位的显示宽度,MVD为最小视距(以米为单位),FOV为视场(以度为单位)。最大观看距离定义为MVD+y,其中y表示可用范围的大小(以米为单位)。从相似的几何形状来看,角度b等于角度a,其中角度b等于视场(以度为单位)。标记为c的观察区的宽度由以下等式定义:

hogel投影的宽度由以下等式定义:

二维中的hogel填充因子是c和e之间的比率,因此:

这简化为:

如果这在3D中应用,则沿(x,y)应用hogel填充因子。因此,hogel填充因子定义为:

增大或减小hogel填充因子的结果分别是最大观察深度的增大或减小。

校正样本模式中的光线追踪像素

产生校正光场的策略是光栅化光场,然后应用每像素变形操作。像素应该去哪里由涉及对显示器成像的表征例程确定。光场如何变形取决于一个方程,它的形式不会改变,但系数会改变。这些系数对于每个显示器都是唯一的。校正背后的想法(但不是字面上的工作原理)是,如果像素应该在X处,但在X+0.1处测量,则像素将被变形到位置X-0.1以预期它将在X处被测量。目标是使测量位置与预期位置相匹配。

这种在均匀网格上生成然后变形到正确网格的策略可以被替换为使用光线跟踪立即对正确网格进行采样。光栅化是均匀网格操作,而光线追踪是一种广义采样。这也将有助于保持光场完整性。考虑黑色海洋中的白色像素。第一透镜系统的校正需要+0.5的水平和垂直偏移。结果是围绕0.5、0.5的2x2网格中有4个灰色像素。显示透镜需要-0.5的水平和垂直位移。结果是一个3x3的发光像素网格,中心有一个亮灰色像素,四个边有四个暗灰色像素,四个角有四个暗灰色像素。如果像素最初被正确采样,这种能量分散就不会发生。光线追踪似乎不太可能比光栅化更快,但如果删除校正并且根据计算的hogel填充因子仅捕获一半的光场,则整个流水线可能会更快。

屏幕空间光线追踪

视图合成的变形方法的替代方法是屏幕空间光线追踪。McGuire等人建议将屏幕空间光线追踪应用于多个深度层(为了稳健性)。这些深度层是通过深度剥离产生的层。然而,深度剥离算法很慢,因此在使用现代GPU时,单通道方法是首选,例如Mara等人,基于反向重投影、多视口和多光栅化。

有可能将屏幕空间光线追踪与分层场景分解相结合。根据已知的视图跟踪单个光线。由此,结果是指示每个像素的颜色的图像。对于分层场景分解编解码器过程,光场的编码形式被创建并表示为具有缺失像素的层。可以使用屏幕空间光线追踪从编码表示中存在的像素重建这些像素。例如,该表示可以是深度G缓冲器形式的元素图像或分层元素图像。McGuire等人描述了一种用于这样做的技术,使用用于分层深度图像类型表示的加速度数据结构。这与在多边形或对象级别表示跟踪光线的方法形成对比,这些方法也有效地与加速光线交叉的数据结构一起使用。

许多实时渲染技术在屏幕空间中运行以提高计算效率,包括用于近似真实照明的技术,例如但不限于屏幕空间环境遮挡、软阴影和相机效果,例如景深。这些屏幕空间技术是传统上通过光线追踪3D几何体工作的近似算法。许多这些算法使用屏幕空间光线追踪,或者更确切地说是Sousa等人描述的光线行进。光线行进是可取的,因为不需要构建额外的数据结构。经典的光线行进方法,如数字微分分析仪(DDA),除非考虑到透视,否则容易出现过采样和欠采样。大多数屏幕空间光线追踪方法仅使用单个深度层。这种技术与分层场景分解的组合允许算法在场景的一个子集上工作,而不是通过多个深度层,并且由于将场景优化分区为子集,光线命中距离可能会减少。

本发明所属领域的技术人员将理解,存在可以成功地对分层场景分解元素图像进行编码的多种渲染方法和渲染方法的组合。其他渲染方法可以在不同的上下文中提供效率,这取决于系统的底层计算架构、所使用的采样方案和光场显示器的恒等函数α。

CODEC解码器/解码

根据本公开的解码被设计为利用编码策略(采样和渲染)。核心表示作为来自下采样分层场景分解的一组分层光场被解码以重建光场LFO和LFP。考虑显示器D=(Mx,My,Nu,Nv,f,α,DLP)具有分层场景分解L=(K1,K2,LO,LP)和相关采样方案S=(Ms,R)。通过从按照采样方案S的规定进行下采样的解构的LFO和LFP光场来重建光场LFO和LFP对元素图像进行解码。像素对齐,使得靠近显示表面的内截头锥体体积层和外截头锥体体积层首先被检查,移动到更远离显示表面的内截头锥体体积层和外截头锥体体积层,直到找到一个非空像素,并将来自非空像素的数据传输到靠近显示表面的空像素。在替代实施方案中,特定实现方式可以将观看限制到光场显示器的内截头锥体体积或外截头锥体体积,从而需要对LFO或LFP之一进行解码。

在一个实施方案中,解码过程由以下伪代码表示:

核心分层解码:

对于每个li∈Lo

(前后对比后前)

类似的程序重建LFP。每个分层场景分解层都是从给定采样方案S定义的有限样本中重建的。每个内截头锥体体积层或外截头锥体体积层合并以再现LFo或LFP

ReconLF可以以各种形式执行,具有不同的计算和后CODEC图像质量属性。ReconLF可以定义为一个函数,这样,给定与根据给定采样方案S进行采样的层相关联的光场,以及光场的相应深度图,它重建已采样的完整光场。ReconLF输入是由给定的采样方案S和相应的下采样深度图定义的数据的子集。Graziosi等人描述的基于深度图像的渲染(DIBR)可以重建输入光场。DIBR可以归类为一种投影渲染方法。与重投影技术相比,光线投射方法,例如Widmer等人教导的屏幕空间光线投射,可以重建光场。光线投射比重新投影具有更大的灵活性,但会增加计算资源需求。

在DIBR方法中,采样方案S中指定的元素图像用作参考“视图”,以从光场合成缺失的元素图像。正如Vincent Jantet在“Layered Depth Images for Multi-View Coding”和Graziosi等人所描述的那样,当系统使用DIBR重建时,该过程通常包括前向变形、合并和反向投影。

反向投影技术的应用避免了在合成视图(如元素图像)中产生裂缝和采样伪影。反向投影假设元素图像的深度图或视差图与重建目标图像所需的必要参考图像一起合成;这种合成通常通过前向变形过程发生。利用目标图像中每个像素的视差值,系统将像素变形到参考图像中的相应位置;通常,此参考图像位置未在整数像素网格上对齐,因此必须插入来自相邻像素值的值。本领域已知的反向投影的实现使用简单的线性插值。然而,线性插值可能有问题。如果变形的参考图像位置位于对象边缘边界上或附近,则插值可能会出现明显的伪影,因为来自边缘边界的信息包含在插值操作中。生成的合成图像带有“脏污”或模糊的边缘。

本公开提供了用于插值子步骤的反向投影技术,产生没有脏污或模糊边缘的高质量合成图像。本公开引入边缘自适应插值(EAI),其中系统结合深度图信息来识别插值操作所需的像素以计算参考图像中变形像素的颜色。EAI是一种非线性插值程序,可在低通滤波操作期间适应和保留边缘。考虑显示器D=(Mx,My,Nu,Nv,f,α,DLP)具有目标图像It(x,y)、参考图像Ir(x,y)和深度图Dm(It)和Dm(Ir)。本公开利用深度图Dm(It)针孔相机参数(f、α等)和显示器的平面参数化针孔投影仪阵列的相对位置将每个It像素整数(x,y)变形为Ir中的实数位置(xw,yw)。在(xw,yw)不位于整数坐标位置的可能情况下,必须基于Ir整数样本重建值。

本领域已知的线性插值方法从位于2×2像素邻域中的四个最近整数坐标重建Ir(xw,yw)。替代重建方法使用更大的邻域(例如3×3像素邻域),生成具有不同重建质量的类似结果(参见Marschner等人,“An evaluation of reconstruction filters for volumerendering”)。这些线性插值方法不知道信号的基本几何结构。当重建利用属于不同对象的像素邻居时,会出现脏污或模糊的边缘图像,这些像素由图像中的边缘分隔。错误地包含来自其他对象的颜色会产生重影。本公开通过提供一种通过使用深度图Dm(Ir)来预测在多个对象重叠时创建的边缘的存在来加权或省略像素邻居的方法来解决该重建问题。

图3A说明了纹理(80,83),其中一个采样位置,显示为一个黑点(86),被反向投影到另一个正在重建的图像中。采样位置(86)位于具有白色背景(88)的暗对象(87)的边界附近。在第一重建矩阵(81)中,完整的2x2像素邻域,由正方形(89)表示的每个单个白色像素,使用诸如线性插值之类的已知技术重建采样位置(86)值。这导致非白色像素(82),因为暗对象(87)包括在重建中。第二重建矩阵(84)使用本公开的EAI技术,从三个相邻的单个白色像素(90)重建采样位置(86)。EAI检测对象边缘并忽略暗像素(87),从而生成正确的白色像素重建(85)。

对于目标图像It(x,y)中固定的任意坐标(xr,yr),dt定义了位置深度:

dt=Dm[Ir(xr,yr)]

目标图像坐标(xr,yr)变形到参考图像坐标(xw,yw)。

对于靠近(xw,yw)的点的m大小邻域,集合NS={(xi,yi)|1≤i≤m}。每个邻域的权重定义为:

wi=f(dt,Dm[Ir](xi,yi)]

其中wi是深度(xr,yr)和与索引i对应的(xw,yw)的邻域的深度的函数。以下等式表示给定阈值te的有效wi

阈值te是特征尺寸参数。权重函数决定如何重建Ir(xr,yr):

Ir(xr,yr)=Recon(w1Ir(x1,y1),(w2Ir(x2,y2),...(wmIr(xm,ym))

Recon函数可以是简单的修改线性插值,其中wi权重与标准加权程序结合并重新归一化以保持总权重为1。

本公开还提供了用于重建分层场景分解的性能优化的解码方法。考虑显示器D=(Mx,My,Nu,Nv,f,a,DLP)具有分层场景分解L=(K1,K2,LO,LP)和相关的采样方案S=(Ms,R)。通过从按照采样方案S的规定进行下采样的解构的LFO和LFP光场重建光场LFO和LFP来解码元素图像。如上所述,特定实现方式可能会限制查看光场显示器的内截头锥体体积或外截头锥体体积,因此需要解码LFO或LFP之一。

LFO可以通过对采样方案S指定的元素图像进行解码来重建。针对特定层的ReconLF方法不包括关于要重建缺失元素图像的缺失像素的顺序的固有约束。本公开的目的是使用最大化吞吐量的方法重建丢失的像素;足够大的光场用于有效的光场显示需要大量的数据吞吐量才能以交互式帧速率提供内容,因此需要改进重建数据传输。

图3B图示了用于重建像素阵列的一般处理流程。重建开始(30),然后实施采样方案(31)。然后像素由阵列中的列(32)合成,也由行(33)合成,这可以按任一顺序完成。一旦按列和行完成所有像素的合成,像素重建就完成了(34)。

本公开引入了一组基本的约束,以改进像素重建,并在交互式帧速率下改进内容的数据传输。考虑包含Mx×My元素图像的单个光场Li∈Lo,作为ReconLF的输入。像素(换句话说,元素图像)在两个基本遍中重建。每遍都在元素图像阵列的不同维度上运行;系统执行第一遍作为列解码,第二遍作为行解码,以重建每个像素。虽然本公开描述了采用列解码然后行解码的系统,但这并不意味着限制本发明的范围和精神,因为也可以利用采用行解码然后列解码的系统。

在第一遍中,由采样方案S指定的元素图像用作参考像素以填充缺失的像素。图4将矩阵中的元素图像显示为B,或蓝色像素(60)。丢失的像素(61)是严格从同一列中的参考像素合成的。图5示意性地图示了像素矩阵的列向重建,作为示出红色像素(62)和蓝色像素(60)的列向重建(63)的图像(像素)重建过程的部分。这些新合成的列向像素在图5中蓝色像素(60)和缺失像素(61)旁边显示为R或红色像素(62)。新重建的像素写入缓冲器并作为第二遍的进一步像素参考,第二遍重建与其他元素图像位于同一行的像素参考像素。图6说明了像素矩阵的后续行向重建(64),与列向重建(63)一起作为图像(像素)重建过程的一部分。这些新合成的行向像素显示为蓝色像素(60)和红色像素(62)旁边的G或绿色像素(65)。

在一个实施方案中,用于重建像素阵列的过程由以下伪代码算法表示:

维数分解光场重建:

第1遍:

对于Li中的每一行元素图像

对于行中每个缺失的元素图像

对于元素图像中的每一行

从参考图像中的同一行加载(缓存)像素

对于缺失行中的每个像素

从参考信息重建像素并写入

第2遍:

对于Li中的每一列元素图像

对于列中每个缺失的元素图像

对于元素图像中的每一列

从同一列加载(缓存)参考像素

对于缺失列中的每个像素

从参考信息重建像素并写入

这种性能优化的解码方法允许行解码和列解码约束来限制重建操作所需的有效工作数据集。

为了重建单行缺失的元素图像,系统只需要来自参考元素图像的相应行像素。同样,为了重建缺失元素图像的单列,系统只需要参考元素图像中对应的像素列。该方法需要较小的数据集,因为本领域先前已知的解码方法需要用于解码的整个元素图像。

即使在解码相对较大的元素图像尺寸时,也可以在重建缺失元素图像的行和列时将缩减的数据集存储在缓冲器中,从而提供改进的数据传输。

一旦所有渲染数据都已被解码,并且多个内部和外部显示体积层中的每一个都被重建,这些层被合并为单个内部显示体积层和单个外部显示体积层。分层场景分解层可以以分阶段解压缩的方式部分解压缩,也可以同时完全解压。从算法上讲,分层场景分解层可以通过从前到后或从后到前的过程进行解压缩。最后的双截头锥体合并过程结合内外显示体积层,为光场显示器创建最终光场。

使用具有分层场景分解的计算神经网络

Martin讨论了光场中的深度学习,展示了卷积神经网络(CNN)。针对其他光场问题的深度学习研究也在进行中,因为越来越流行的方法是端到端地训练网络,这意味着网络可以学习手头问题的所有方面。例如,在视图合成中,这避免了使用计算机视觉技术(例如外观流、图像修复和基于深度图像的渲染)来对网络的某些部分进行建模。Martin提出了用于光场体积渲染的视图合成的流水线概念框架。该流水线能够用这里公开的分层场景分解方法来实现。

分层场景分解实现了多维场景分解成层,或子集和元素图像,或子部分。机器学习正在成为一种基于学习的视图合成方法。分层场景分解提供了一种在分解成层之后对光场进行下采样的方法。以前,这是在使用朗伯着色表面渲染不透明表面的上下文中考虑的。所需要的是一种对光场进行下采样的方法,如前所述,但可以应用于更高阶的照明模型,包括半透明表面,例如,基于直接体积渲染的照明模型。体积渲染技术包括但不限于直接体积渲染(DVR)、基于纹理的体积渲染、体积照明、带阴影的两遍体积渲染或程序性渲染。

直接体渲染是渲染过程:从体积(例如标量场的体素采样)数据集映射到没有中间几何体(无等值面)的渲染图像。通常,由数据定义的标量场被认为是半透明的发光介质。传递函数指定如何将场映射到不透明度和颜色,然后光线投射程序沿来自相机的路径和通过体积的路径累积局部颜色、不透明度。

Levoy(1988)首次提出直接体积渲染方法生成3D体积数据集的图像,而无需从数据中明确提取几何表面。Kniss等人提出,尽管数据集被解释为空间中的连续函数,但出于实际目的,它由一个统一的3D样本数组表示。在图形存储器中,体数据存储为2D纹理切片的堆栈或单个3D纹理对象。术语体素表示单独的“体积元素”,类似于术语“图片元素”的像素和“纹理元素”的纹素。每个体素对应于数据空间中的一个位置,并具有一个或多个与之相关联的数据值。中间位置的值是通过对相邻体积元素的数据进行插值来获得的。此过程称为重建,在体绘制和处理应用程序中起着重要作用。

光学模型的作用是描述光如何与体积内的粒子相互作用。更复杂的模型通过考虑照明(局部)和体积阴影来解释光散射效应。光学参数直接由数据值指定,或者通过将一个或多个传递函数应用于数据以对数据中的特定特征进行分类来计算它们。

Martin使用体数据集实现体绘制,并提供深度缓冲器来为每个单独的像素位置分配深度值。深度缓冲器或z缓冲器被转换为像素视差,深度缓冲器值ZbZb被转换为范围[-1,1]内的归一化坐标,如ZcZc=2·ZbZb-1。然后是透视投影被反转以给出眼睛空间的深度Ze,如下:

其中Zn是相机近平面的深度,Zf是眼睛空间中远平面的深度。Wanner等人提出Zn应设置得尽可能高以提高深度缓冲精度,而Zf对精度的影响很小。给定眼睛深度Ze,可以通过使用类似三角形将其转换为真实单位的视差值dr:

其中B为网格中相邻两台相机之间的距离,f为相机焦距,Δx为相邻两台相机主点之间的距离。使用相似三角形,实际单位的视差可以转换为以像素为单位的视差:

其中dp和dr分别表示像素和真实世界单位的差异,Wp是像素的图像宽度,Wr是真实单位的图像传感器宽度。如果实际单位的图像传感器宽度未知,Wr可以从相机视场θ和焦距f计算为:

视图合成也可以通过变形来制定。虽然变形是一种合成新视图的简单方法,但它会产生视觉伪影,从而降低变形图像的视觉质量。这些伪影中最常见的是遮挡、裂纹和重影。

当前景对象变形并且参考视图不包含现在在视图中的背景像素的数据时,就会出现去遮挡伪影或“遮挡孔”。可以通过使用可用背景信息修补孔洞或使用额外参考或残留信息捕获的实际数据填充孔洞来修复遮挡孔洞。

变形裂纹发生在表面变形时,参考视图中相邻的两个像素被变形到新视图,现在相邻的时间更长,但被少量像素分隔。舍入误差会导致变形裂纹,因为新计算的像素坐标必须被截断为整数图像坐标,这可能导致相邻像素以不同的方式舍入。采样频率会通过尝试将表面变形到增加其像素数的取向(即,平面与相机倾斜,然后垂直观察)而导致变形裂纹。新视图将希望显示超出参考相机采样频率的像素,从而导致新图像出现裂缝。

在向后变形插值阶段期间可能发生重影。这里的反向投影像素邻域包含来自背景和前景对象的像素。前景中的像素会将颜色信息渗入背景中,从而导致“光晕”或重影效果。这些通常发生在遮挡孔周围,并将前景色渗入背景中。

前向变形的主要问题之一是变形的图像可能包含变形裂缝,这会降低视觉质量。通过合并从不同参考变形的多个视图或应用裂缝过滤器,可以轻松修复使用前向变形生成的深度图。过滤器,如中值过滤器,可以有效地去除裂缝,因为深度图是一个频率非常低的图像,主要包含对象周围的细微梯度或边缘。由于对象纹理的复杂性,这些简单的过滤器不适用于彩色图像。消除彩色图像中的变形裂纹的一种方法是使用向后变形。在向后变形中,首先向前变形深度图像以获得新视图的深度图。过滤破裂的深度图后,可以使用过滤后的深度变形回参考图像。为防止出现裂缝,不舍入像素坐标,而是选择一个像素邻域并使用实际像素加权来插入正确的颜色。这个向后变形的彩色图像现在没有裂缝。插值阶段的副作用是可能引入重影伪像。

需要交互式直接体积渲染来交互式查看随时间变化的4D体积数据,因为渐进式渲染可能不适用于Martin提出的特定用例。交互式直接体渲染的示例用例包括但不限于在旋转期间渲染无伪影的基于静态体素的数据,渲染基于时变的体素(例如4D MRI或超声波、CFD、波浪、气象、视觉效果)(OpenVDB)和其他物理模拟等)数据。

一个提议的解决方案包括使用机器学习来学习如何“变形”体积场景视图,可能受限于特定的传递函数,该函数传达如何将不同材料的密度映射到颜色,然后是它的透明度级别。对于固定的传递函数,计算神经网络可以使用中等大小的数据集进行很好的训练,以允许用于定义仅适用于体数据且仅适用于特定传递函数的解码器。潜在结果是硬件系统或解码系统,当选择了期望的传递函数时,将根据不同的训练数据集略微改变解码器,从而能够对已经给出的数据进行解码。

本文公开的提议方法适用于4D体数据的渲染。使用当前的硬件和硬件技术,很难强力渲染体数据的光场。所提出的是生成体数据的分层场景分解,该体数据将使用解码器进行渲染和解码。解码数据有效地填充缺失的像素或元素图像。可以训练卷积神经网络以使用采用列解码然后行解码的系统解决问题的较小版本,此外,还可以利用采用行解码然后列解码的系统。Martin教导,为了使用视差图执行快速但准确的图像变形,将实施一种具有双线性插值的后向变形形式。中央视图的估计视差图被用作所有视图的估计。新视图中应该从位于参考视图边界之外的位置读取数据的像素被设置为读取参考视图中最近的边界像素。本质上,这会拉伸新视图中参考视图的边界,而不是产生孔洞。由于变形的像素很少落在整数位置,因此应用双线性插值来累积参考视图中四个最近像素的信息。这导致无孔洞的快速变形和良好的准确性。Martin进一步公开了一种训练神经网络以应用该校正函数的方法。对此的改进是教导与分层场景分解兼容的神经网络。这可以进一步扩展,以在分层场景分解中为每一层应用卷积神经网络,该卷积神经网络专门针对该层、每个深度进行训练。然后将一个神经网络设置为执行行重建,而另一个神经网络将设置为执行列重建。

根据选定的标准,可以使用光场显示模拟器来训练神经网络。光场显示模拟器提供了一种探索模拟虚拟三维光场显示参数化的高性能方法。该方法使用规范图像生成方法作为其计算过程的一部分来模拟虚拟观看者对模拟光场显示的视图。规范图像方法提供了一种鲁棒、快速和通用的方法,用于生成模拟光场显示和显示在其上的光场内容。

高阶照明模型

在计算机图形学中,不透明电介质的颜色可以用朗伯反射率建模;相对于视角,颜色被认为是恒定的。这与工业中使用的基于相同朗伯(或接近朗伯)反射率的标准颜色测量方法相关。

分层场景分解的基本概念是将场景划分为集合和子集的能力,然后能够重建这些分区以形成光场的能力。这个概念基于变形像素以通过变形的方式重建层中的缺失元素图像的能力。更详细地说,基于相机中的图像从左向右移动时产生的几何偏移,将一个图像中特定点的光强度映射到另一个像素位置略有不同的图像中。此处描述的变形方法可用于准确地重建层内缺失像素的假设是从一个图像映射到下一个图像的像素具有相同的颜色,就像在使用朗伯照明模型时一样。

光场,尤其是在假设朗伯照明模型的情况下受到限制时,具有显着的冗余。可以观察到每个元素图像与相邻图像的差别很小。在全光采样理论的文献中描述了这种冗余。朗伯照明模型对于有用的图形来说已经足够了,但又不过分逼真。为了捕捉对象的光泽度、雾度和随角异色度颜色,研究了替代模型,包括但不限于Phong模型的镜面反射指数、Ward模型的表面粗糙度和Cook-Torrance模型的表面粗糙度。光泽度可以定义为镜面反射幅度的量度,雾度可以定义为捕捉镜面波瓣宽度的参数。

为了在我们公开的分层场景分解方法的视图合成方面利用交替照明模型,建议可以将着色作为后处理应用于重建的像素。该后处理发生在变形处理(或其他视图合成重建)发生之后。相对于光位置或点的表面法线信息可以是已知的并且包括在编码的光场数据中。这个编码的光位置列表,允许解码器在解码层中的特定像素以计算镜面反射分量时使用该法线数据。其他参数可以包含在光场数据中,例如,表面是否具有镜面反射分量的属性,或者可以用数字量化它的程度。材料属性也可能与强度值一起包括在内。该附加数据可以与典型的RGB和深度数据一起发送,这些数据是在每个元素图像或每个层中以编码形式发送的。材料属性可包括但不限于原子、化学、机械、热和光学属性。

结合RGB和深度信息存储表面法线的概念在计算机图形学中被称为G-Buffer。

透明度

在传统的2D显示计算机图形学中,通常需要模拟非不透明表面的视觉效果。在表面渲染中,这通常涉及为表面元素(例如多边形、顶点等)分配非不透明度(也称为透明度和半透明的同义词)的度量。

当从特定的虚拟相机视图渲染由此类表面组成的3D场景时,每个表面元素的透明度度量决定了被一个表面元素遮挡的表面将在多大程度上通过未遮挡的最正表面光学渗出。有多种方法可以模拟此过程,包括根据重叠表面的混合计算图像中的最终颜色值。当然,这种计算的关键是每个重叠的表面元素块都具有(1)颜色和(2)透明度度量,或阿尔法,α值。

还希望能够表示和渲染(传输/解码)由用于光场视频目的的透明表面组成的场景。描述了如何增强基于场景分解的表示方案以提供对透明表面的支持。

在编码过程中,描述了除了颜色和深度图之外,法线或其他光学表面属性如何与编码表示一起写入。还建议可以在编码过程中额外写入与每个像素相关联的α(透明度)值α。

该α值然后可以在解码过程期间使用,以便产生包含透明表面的场景的光场图像。与在编码期间产生或选择的采样像素相关联的α值可以在与每个层(或场景子集)相关联的光场被重建的重建过程期间连同深度值一起被重新投影。这种重新投影可以是如所描述的与基于深度图像的渲染(DIBR)相关的变形过程。在典型的实施方案中,最终结果是与层或子集相关联的光场中的每个像素也将具有相关联的α值以表示透明度。

为了将这个透明度α值合并到最终图像中,我们必须在合并过程中使用一个算子,该算子合并了一些光学混合模型。在层(或子集)合并过程中,使用*m算子,我们可以使用α作为累积沿多个层(或子集等)上的单个光场图像像素观察到的颜色的手段。

建议将基于多边形表面渲染的分层解码过程与体绘制过程自然地结合起来。基本思想是在此过程中,重建单个层或子集,然后与相邻层合并(通过*m算子)。建议除了合并算子之外,还必须包含体绘制的合成方程。因此,在这种更通用的混合方法中,层组合算子变得更通用和复杂,因为它执行更通用的功能,有时像以前一样充当合并算子,有时充当体绘制光线累积函数。该算子表示为*c

图15示出了示例性分层场景分解CODEC方法,由此图像描述格式的3D场景数据或光场数据被加载到编码器(400)以进行编码,于是如图所示的数据(子)集,或者表示3D场景的整个数据集被分区(403)。在识别用于分区的3D场景数据子集(402)的情况下,可以理解,识别过程是通用过程步骤参考,其旨在简单地指代在一遍中或在分组中对数据集进行分区的能力(例如,对内截头锥体和外截头锥体数据层进行编码,如图11中更详细所示),根据情况可能需要。在这点上,数据子集的识别可以暗示预编码处理步骤或也形成编码子处理阶段(401)的部分的处理步骤。数据子集可以在分区时被标记、指定、确认、扫描甚至编译或分组以产生一组层(3D场景的分解)(403)。在数据子集的分区(403)之后,根据本公开对每个数据层进行采样和渲染以产生压缩(图像)数据(404)。在数据层压缩之后,压缩的数据被传输到解码器(405),用于解码子过程,包括解压缩、解码和重新组合步骤以(重新)构建一组光场(407),在本文中另外称为“分层光场”、分层光场图像和光场层。镜面照明被计算(411)并且构建的分层光场被合并以产生显示3D场景(409)的最终光场(408)。

图16说明了一种计算机实现的方法,包括:

接收包括场景的三维描述的第一数据集(420);

第一数据集包括关于场景中包括的表面上的法线方向的信息(421);法线的方向相对于参考方向表示(422);以及

任选地,至少一些表面的反射特性是非朗伯的;

将第一数据集划分为多个子集,每个子集表示相对于参考位置的不同位置处的场景的不同部分(423);以及

编码多个子集和多个子部分以生成第二数据集,其中第二数据集的大小小于第一数据集的大小(424)。

在一个实施方案中,该方法还包括:

接收第二数据集(425);

使用场景中包括的表面上的法线方向重建与子集相关联的部分以计算镜面反射分量(426);

将重建的部分组合成光场(427);以及

在显示设备上呈现光场图像(428)。

图21说明了一种计算机实现的方法,包括:

接收包括场景的三维描述的第一数据集(420);

第一数据集包括关于场景中包括的表面的透明度的信息(429);以及

将第一数据集划分为多个层,每个层表示相对于参考位置的位置处的场景的部分(423);以及

对多个层进行编码以生成第二数据集,其中第二数据集的大小小于第一数据集的大小(424)。

在一个实施方案中,该方法还包括:

接收第二数据集(425);

将重建的部分组合成光场(427);以及

在显示设备上呈现光场图像(428)。

为了更好地理解本文所述的发明,参考附图阐述了以下实施方案。应当理解,这些实施方案意在描述本发明的说明性实施方案,而不意在以任何方式限制本发明的范围。

实施例

实施例1:用于光场显示器的示例性编码器和编码方法

本发明的以下说明性实施方案不旨在限制本文所描述和要求保护的本发明的范围,因为本发明可以成功地实现多个系统参数。如上所述,本领域先前已知的传统显示器由基本上均匀间隔且组织成二维行的空间像素组成,允许理想化的均匀采样。相比之下,三维(3D)显示需要空间和角度样本。虽然典型的三维显示器的空间采样保持一致,但角度采样就显示器在角度空间中的足迹而言不一定被视为是一致的。

在说明性实施方案中,多个光场平面参数化针孔投影仪提供角度样本,也称为光场的方向分量。光场显示器设计为640×480空间分辨率和512×512角分辨率。多个平面参数化针孔投影仪用恒等函数α理想化。多个平面参数化针孔投影仪中的每一个之间的间距为1mm,从而定义了640mm×400mm的显示表面。显示器具有120°FOV,对应于近似焦距f=289μm。

这个光场显示器包含640×480×512×512=805亿个RGB像素。每个RGB像素需要8位,因此一帧光场显示需要805亿×8×3=1.93Tb。对于提供交互式内容的光场显示器,以30帧/秒的速度驱动数据,需要1.93Tb×30帧/秒=58.0Tb/s的带宽。本领域已知的当前显示器由提供32.4Gb/s最大带宽的DisplayPort技术驱动,因此此类显示器将需要超过1024条DisplayPort电缆来提供交互式光场显示器所需的巨大带宽,从而导致成本和外形设计限制。

说明性实施方案将数据从配备有具有双DisplayPort 1.3电缆输出的加速GPU的计算机传送到光场显示器。我们考虑保守的最大吞吐量40Gb/s。编码帧必须足够小,以便通过DisplayPort连接传输到物理上更靠近光场显示器的解码单元。

说明性实施方案的分层场景分解被设计为允许所需的数据吞吐量。根据以上定义的尺寸,光场显示器的最大景深为ZDOF=(289微米)(512)=147968微米=147.986毫米。分层场景分解在光场显示器的景深区域内放置多个分层场景分解层,保证分层场景分解层与显示表面的距离小于ZDOF。该说明性实施例描述了光场显示,其对象仅位于显示器的内部截锥体体积内。该说明性实施例不旨在限制本发明的范围,因为本发明可以成功地实现多个系统参数,例如对象仅位于显示器的外截头锥体体积内的光场显示,或对象位于显示器的内截头锥体体积和外截头锥体体积内的光场显示;限于一个截头锥体体积的实施方案需要较少数量的分层场景分解层,从而略微减小要产生的编码光场的大小。

说明性实施方案定义了十层场景分解层。必要时,可以添加额外的分层场景分解层来捕获可能因遮挡而丢失的数据,或提高整体压缩率。然而,额外的分层场景分解层需要来自解码器的额外计算,因此分层场景分解层的数量是经过仔细选择的。说明性实施方案从它们的前后边界指定十个分层场景分解层,并假设层的划分边界平行于显示表面。

每个分层场景分解层都位于距显示表面的定义距离处,其中距离以焦距f的倍数指定,最大景深为512f。具有较窄宽度的分层场景分解层集中而更靠近显示表面,并且层宽度(即前后层边界之间的深度差)随着距显示表面的距离的增加以2的幂指数增加。本发明的该实施方案不旨在限制本发明的范围,因为其他层配置可以成功实现。

下表(表1)描述了示例性实施方案的分层场景分解层配置,并提供了基于全光采样理论的采样方案以创建子采样分层场景分解层:

表1

在上表中,如本领域已知的常规二维显示器中那样,层0捕获要在显示器表面显示的图像。第0层包含固定深度的640×480像素,因此不需要任何深度信息。为每个像素计算总数据大小,每个像素具有8位的RGB值和深度值(替代实施方案可能需要更大的位值,例如16位)。在说明性实施方案中,元素图像分辨率和采样间隙由上述公式计算,并且所选择的采样方案反映元素图像分辨率和采样间隙限制。

如上表所述,组合的分层场景分解系统的总大小为400.5Mb。因此,要以30帧/s的速率产生数据,需要30×0.4005=12.01GB/s的带宽。这种编码形式连同表示场景遮挡所需的附加信息一起通过双DisplayPort 1.3电缆发送。

在说明性实施方案中,分层场景分解层由编码器配置,有效地实施倾斜渲染技术以产生位置更靠近显示表面的层(第0层至第5层)和透视渲染技术以产生位置更远离显示表面的层(第6层到第9层)。每个元素图像对应一个渲染视图。

在第6层,要渲染的单独角度的数量(64×64=4096)超过了要渲染的视图数量(21×16=336);这标志着倾斜渲染方法和透视渲染方法之间效率的转变。应该注意的是,特定的实现方面可能会提供额外的开销,从而歪曲精确的最佳转换点。为了与本领域已知的现代图形加速技术一起使用,可以使用几何着色器实例化有效地实现透视渲染。从同一组输入场景几何体渲染多个视图,无需通过绘制调用重复访问几何体,也无需重复访问存储器以检索完全相同的数据。

图8示出了说明性实施方案,在内截头锥体体积(110)中具有十个分层场景分解层(100-109)。内截头锥体体积层从显示表面(300)延伸。这些层的定义如上表所述,例如,内截头锥体体积层0(100)的前边界为1f,内截头锥体体积层1(101)为1f,内截头锥体体积层2(102)为2f,内截头锥体体积层3(103)为4f,依此类推。内截头锥体体积层(100-105)0至5,或最靠近显示面(300)的层,采用倾斜渲染技术进行渲染,内截头锥体体积层(106-109),距显示表面最远的6至9层,使用透视渲染技术渲染。

图9图示了替代实施方案,具有在内截头锥体体积(110)中的十个分层场景分解层(100-109)和在外截头锥体体积(210)中的十个分层场景分解层(200-209)。内截头锥体体积层和外截头锥体体积层从显示表面(300)延伸。虽然内截头锥体体积层和外截头锥体体积层被示为彼此的镜像,但是内截头锥体体积和外截头锥体体积可以具有不同的层数、不同大小的层或不同深度的层。内截头锥体体积层0至5(100-105)和外截头锥体体积层0至5(200-205)使用倾斜渲染技术渲染,离显示表面(300)更远的内截头锥体体积层6至9(106-109)和外截头锥体体积层6至9(206-209)用透视渲染技术渲染。

替代实施方案可以使用基于光线追踪编码的方法来实现系统。渲染完整的分层场景分解层表示可能需要提高GPU性能,即使使用这里描述的优化,因为GPU已针对其中需要加速渲染单个视图的传统二维显示器上的交互式图形进行了优化。光线追踪方法的计算成本是系统要渲染的像素数量的直接函数。虽然分层场景分解层系统包含与一些二维单视图系统相当数量的像素,但由于层分解和相应的采样方案,所述像素的形式和排列有很大不同。因此,可能存在跟踪一些或全部光线是更有效的实现方式的实现方式。

实施例2:用于光场显示的CODEC解码器和解码方法

在本发明的说明性实施方案中,解码器通过双DisplayPort 1.3电缆从GPU接收12.01GB/s的编码核心表示数据以及任何残差表示数据。使用定制的FPGA、ASIC或其他集成电路对压缩后的核心表示数据进行解码,以实现高效解码(残差表示数据单独解码,如图13所示)。对于最终光场显示,12.01GB/s核心表示解压为58Tb/s。请注意,此核心表示不包括渲染遮挡所需的残差表示。提供4833:1的压缩比;虽然这是一个高性能的压缩比,但重建的光场数据可能仍会表现出基于遮挡的伪影,除非重建中包含残差表示数据。

对于图8中所示的说明性实施方案,通过重建单独的分层场景分解层并将重建的层合并到内部截头锥体体积层来解码数据。对于替代实施方案,例如图9中所示,通过重建单独的分层场景分解层并将重建的层合并为内截头锥体体积层和外截头锥体体积层来解码数据。

可以使用本领域已知的基于图像的渲染领域的视图合成技术从给定的数据采样方案采样重建单层场景分解层。例如,Graziosi等人指定使用参考元素图像在单遍中重建光场。该方法使用从多维重建图像偏移的参考元素图像。由于元素图像数据表示三维场景点(包括RGB颜色和视差),像素被解码为非线性函数(虽然固定在参考元素图像和目标元素图像之间的方向向量上),因此解码参考元素图像需要相同大小的存储缓冲器。在解码较大的元素图像时,这可能会造成存储器存储或带宽限制,具体取决于解码硬件。

对于元素图像大小为512×512像素、24位颜色的光场显示器,解码器需要能够存储512×512=262,144个24位值(在本示例中没有视差位)的缓冲器。当前的高性能FPGA设备提供内部块存储器(BRAM),其组织为18/20位宽存储器和1024个存储器位置,可用作具有512个存储器位置的36/40位宽存储器。能够在同一时钟周期内读取和写入图像的缓冲器足够大以容纳两个参考元素图像,因为非线性解码过程会导致写入端口使用非确定性访问模式。在FPGA设备中为512×512像素图像实现该缓冲器需要1024个BRAM块。根据所使用的重建算法,每个解码器流水线中可能需要多个缓冲器。为了满足高密度光场显示器的数据速率,系统可能需要一百多条并行流水线,这比当前的FPGA设备多出几个数量级的流水线。由于每个缓冲器都需要一个独立的读/写端口,因此可能无法在当前的ASIC设备上实现这样的系统。

本公开通过将像素重建过程分成多个单维阶段来规避缓冲器和存储器限制。本公开实施一维重建以将参考元素图像和目标之间的方向向量固定到修正路径。虽然重建保持非线性,但要转换到目标位置的参考像素被锁定到目标像素的相同行或列位置。因此,解码器缓冲器一次只需要捕获一行或一列。对于上述具有24位颜色的512×512像素的元素图像,解码器缓冲器组织为24位宽、1024深的存储器,需要两个36/40×512BRAM。因此,本公开已将存储器占用空间减少了512倍或多个数量级。这允许当前FPGA设备支持需要一百多个解码流水线的显示像素填充率。

多级解码架构需要两级来重建光场显示器中的二维像素阵列。这两级彼此正交并重建元素图像的行或列。第一解码级可能需要像素调度器以确保输出像素被排序以与下一级输入像素兼容。由于每个解码阶段需要极高的带宽,因此可能需要重用前一级的一些输出像素以减少本地存储需求。在这种情况下,外部缓冲器可用于捕获第一级的所有输出像素,以便后续解码级可以有效地访问像素数据,从而减少逻辑资源和存储器带宽。

本公开的具有外部存储器缓冲器的多级解码允许解码过程将所需的存储器带宽从昂贵的管芯上存储器转移到诸如双倍数据速率(DDR)存储器设备的低成本存储器设备。高性能解码像素调度器可确保最大程度地重复使用此外部存储器缓冲器中的参考像素,从而允许系统使用更窄或更慢的存储器接口。

本说明书中引用的所有专利、专利申请、出版物和数据库条目的公开内容特此通过引用整体并入本文,其程度与每个此类单独的专利、专利申请、出版物和数据库条目均具体地和单独指出以引用方式并入相同。

虽然本发明已经参考某些特定实施方案进行了描述,但在不脱离本发明的精神和范围的情况下,其各种修改对于本领域技术人员来说将是显而易见的。对本领域技术人员来说显而易见的所有此类修改都旨在包括在所附权利要求的范围内。

参考文献列表

ALPASLAN、ZAHIR Y.、EL-GHOROURY、HUSSEIN S.、CAI,JINGBO,"ParametricCharacterization of Perceived Light Field Display Resolution”,第1241–1245页,2016。

BALOGH、TIBOR、The Holovizio system–New opportunity offeredby3D displays,Proceedings of the TMCE,(5月):1–11,2008。

BANKS、MARTIN S.、DAVID M.HOFFMAN、JOOHWAN KIM AND GORDON WETZSTEIN,"3DDisplays"Annual Review of Vision Science,2016,pp.397-435。

CHAI、JIN-XIANG、XIN TONG、SHING-CHOW CHAN和HEUNG-YEUNG SHUM."PlenopticSampling"

CHEN,A.、WU M.、ZHANG Y.、LI N.、LU J.、GAO S.和YU J..2018,“Deep SurfaceLight Fields”,Proc.ACM Comput.Graph.Interact.Tech.1,1,Article 14(2018年7月),17页.DOI:https://doi.org/10.1145/3203192

CLARK、JAMES J.、MATTHEW R.PALMER和PETER D.LAWRENCE,"ATransformationMethod for the Reconstruction of Functions from Nonuniformly Spaced Samples"IEEE Transactions on Acoustics,Speech,and Signal Processing,1985年10月,pp1151-1165.Vol.ASSP-33,No.4。

DO,MINH N.、DAVY MARCHAND-MAILLET和MARTIN VETTERLI,"On the Bandwidthof the Plenoptic Function"IEEE Transactions on Image Processing,pp.1-9。

DODGSON,N.A.Analysis of the viewing zone of the Cambridgeautostereoscopic display,Applied optics,35(10):1705–10,1996。

DODGSON,N.A.Analysis of the viewing zone of multiviewautostereoscopic displays,Electronic Imaging 2002,International Society forOptics and Photonics,第254–265页,2002。

GORTLER、STEVEN J.、RADEK GRZESZCZUK、RICHARD SZELISKI和MICHAELF.COHEN."The Lumigraph"43-52。

GRAZIOSI,D.B.、APLASLAN,Z.Y.、EL-GHOROURY,H.S.,Compression for Full-Parallax Light Field Displays,Proc.SPIE 9011,Stereoscopic Displays andApplications XXV,(MARCH),90111A,2014。

GRAZIOSI,D.B.、APLASLAN,Z.Y.、EL-GHOROURY,H.S.,Depth AssistedCompression of Full Parallax Light Fields,Proc.SPIE 9391,StereoscopicDisplays and Applications XXVI,(FEBRUARY),93910Y.2015。

HALLE,MICHAEL W.和ADAM B.KROPP,"Fast Computer Graphics Rendering forFull Parallax Spatial Displays",Proc.SPIE 3011,Practical Holography XI andHolographic Materials III,(1997年4月10日)。

HALLE,MICHAEL W,Multiple Viewpoint Rendering.In Proceedings of the25th annual conference on Computer graphics and interactive techniques(SIGGRAPH’98).Association for Computing Machinery,New York,NY,USA,243–254。

JANTET,VINCENT,"Layered Depth Images for Multi-View Coding"Multimedia.pp.1-135,Universite Rennes 1,2012.English。

LANMAN,D.、WETZSTEIN,G.、HIRSCH,M.和RASKAR,R.,Depth of Field Analysisfor Multilayer Automultiscopic Displays,Journal of Physics:Conference Series,415(1):012036,2013。

LEVOY,MARC和PAT HANRAHAN,"Light Field Rendering"SIGGRAPH.pp.1-12。

MAARS,A.、WATSON,B.、HEALEY,C.G.,Real-Time View IndependentRasterization for Multi-View Rendering.Eurographic Proceedings,TheEurographics Association.2017。

MARSCHNER,STEPHEN R.和RICHARD J.LOBB,"An Evaluation of ReconstructionFilters for Volume Rendering"IEEE Visualization Conference 1994。

MARTIN,S,“View Synthesis in Light Field Volume Rendering usingConvolutional Neural Networks”,University of Dublin,2018年8月。

MASIA,B.、WETZSTEIN,G.、ALIAGA,C.、RASKAR,R.、GUTIERREZ,D.,Displayadaptive 3D content remapping.Computers and Graphics(Pergamon),37(8):983–996,2013。

MATSUBARA,R.、ALPASLAN,ZAHIR Y.、EL-GHOROURY、HUSSEIN S.,Light FieldDisplay Simulation for Light Field Quality Assessment.Stereoscopic Displaysand Applications XXVI,7(9391):93910G,2015。

PIAO、YAN和XIAOYUAN YAN,"Sub-sampling Elemental Images for IntegralImaging Compression"IEEE.pp.1164-1168.2010。

VETRO、ANTHONY、THOMAS WIEGAND和GARY J.SULLIVAN,"Overview of the Stereoand Multiview Video Coding Extensions of the H.264/MPEG-4AVC Standard."Proceedings of the IEEE.pp.626-642.April 2011.Vol.99,No.4。

WETZSTEIN,G.、HIRSCH,M.,Tensor Displays:Compressive Light FieldSynthesis using Multilayer Displays with Directional Backlighting.1920。

WIDMER,S.、D.PAJAK、A.SCHULZ、K.PULLI、J.KAUTZ、M.GOESELE和D.LUEBKE,AnAdaptive Acceleration Structure for Screen-space Ray Tracing.Proceedings ofthe 7th Conference on High-Performance Graphics,HPG’15,2015。

ZWICKER,M.、W.MATUSIK、F.DURAND、H.PFISTER,"Antialiasing forAutomultiscopic 3D Displays"Eurographics Symposium on Rendering.2006。

65页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于在压缩视频文件中保存带内元数据的系统和方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类