CN110999285B - 基于纹理图与网格的3d图像信息的处理 - Google Patents
基于纹理图与网格的3d图像信息的处理 Download PDFInfo
- Publication number
- CN110999285B CN110999285B CN201880049509.1A CN201880049509A CN110999285B CN 110999285 B CN110999285 B CN 110999285B CN 201880049509 A CN201880049509 A CN 201880049509A CN 110999285 B CN110999285 B CN 110999285B
- Authority
- CN
- China
- Prior art keywords
- texture map
- viewpoint
- mesh
- image
- texture
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/161—Encoding, multiplexing or demultiplexing different image signal components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/194—Transmission of image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
Abstract
一种装置包括接收器(201),所述接收器接收包括三维图像的图像信号,所述三维图像表示场景的自不同视点。每幅三维图像包括网格与纹理图。所述信号还包括针对与若干三维图像的视点不同的第一视点的多幅残差数据纹理图,所述多幅残差数据纹理图中的第一残差数据纹理图提供针对所述第一视点的纹理图相对于从第一参考纹理图的视点移位产生的纹理图的残差数据,所述第一参考纹理图是所述若干三维图像中的第一三维图像的纹理图,所述多幅残差数据纹理图中的第二残差数据纹理图提供针对所述第一视点的纹理图相对于从第二参考纹理图的视点移位产生的纹理图的残差数据,所述第二参考纹理图是所述若干三维图像中的第二三维图像的纹理图。网格处理器(203)根据作为所述多幅三维图像中的所述第二参考图像的网格的额外的参考网格来生成针对所述第一视点的第一网格和针对所述第一视点的第二网格。第一纹理处理器(205)响应于所述第一参考纹理图从所述第一三维图像的视点到所述述第一视点的视点变换而生成第一中间纹理图并且响应于所述第二参考纹理图从所述第二三维图像的视点到所述述第一视点的视点变换而生成第二中间纹理图。第二纹理处理器(207)响应于所述第一中间纹理图与第一所述残差数据纹理图的组合而生成第一纹理图,并且响应于所述第二中间纹理图与第二所述残差数据纹理图的组合而生成第二纹理图。图像生成器(209)根据所述第一纹理图、所述第一网格、所述第一纹理图以及所述第一网格来生成针对第二视点的图像。
Description
技术领域
本发明涉及使用纹理图与网格来表示三维图像数据/信息,并且具体地,但非排他地,涉及包括若干三维图像的图像信号的生成、编码、与处理,每幅三维图像由纹理图与网格表示。
背景技术
通常,图像的技术处理及使用已基于二维成像,但在图像处理中正明确地考虑三维。
例如,已发展通过将正被观看的场景的不同视图提供给观看者双眼而将第三维加至观看体验的三维(3D)显示器。这能通过用户佩戴眼镜以分离被显示的两视图而实现。然而,由于这被认为对用户不便利,在许多情景中使用裸视立体(autostereoscopic)显示器是较佳的,其使用在显示器处的器件(诸如,柱状透镜、或屏障)以分离视图,并在它们可个体地抵达用户眼睛的不同方向上发送它们。立体显示器需要两个视图,然而裸视立体显示器通常需要更多视图(例如,九个视图)。
在一些情况与系统中,使用3D模型来表示3D场景,其中,所述模型被评估,以生成适当的视图图像。具有场景的深度表示的多视图可用作传统3D模型的替代或作为3D模型的附加。这种格式通常源于使用多个立体摄像机捕获场景。给定具有相关深度图的多个摄像机图像在不同位置处取得,可使用基于深度图像的绘制来合成新的虚拟视图图像。这允许捕获的图像或视频的虚拟现实回放,其中,观察者可在一定程度上改变他/她的视点。
基于三维场景的图形应用已经在许多应用中变得普遍,诸如特别是计算机图形应用。为了支持快速的三维图形处理,已经开发出许多标准与规范。这不仅提供较快的设计与实施,因为其可提供许多标准操作(诸如视点移位)的标准化功能与例程,而且允许专用硬件图形引擎针对这些例程而开发与优化。实际上,对许多计算机而言,图形处理单元(GPU)现在通常可至少与中央处理单元(CPU)—样强大和重要。
支持快速图形处理的标准的范例是OpenGL规范,所述规范提供了具有许多支持图形处理的功能的应用程序编程接口(API)。所述规范通常用于提供硬件加速图形处理,其中特定例程由GPU形式的专用加速硬件实施。
在大多数这种图形规范中,场景的表示是通过纹理图与三维网格的组合。实际上,在许多情景中,一种特别有效的方法是通过多边形网格来表示图像物体或者实际上整个场景,其中一组多边形通过其公共边或角(顶点)连接,共同边或角(顶点)通过三维位置给定。组合的三维多边形网格因此提供三维物体的有效模型,可能包括对整幅图像的三维描述。多边形网格经常是由具有在3D空间中给定的共同角的三角形所形成的三角形网格。
在实践中,深度图经常相应地变换为3D网格。3D网格是大多数硬件驱动程序(例如,基于OpenGL)支持的熟知的图形格式。
作为范例,立体摄像机可以自给定视点记录场景的图像。针对各像素,可执行视差评估,以评估至由像素表示的物体的距离。这可以针对各像素执行,由此提供针对每个像素的x、y、z的三维位置。这些位置可然后用作三角形网格的顶点,其中针对每组的2x2像素形成两个三角形。由于这可能生成大量的三角形,所以该过程可包括将一些初始三角形组合成较大的三角形(或者在一些情景中,更一般地组合成较大的多边形)。这将减少三角形的数量,但也会降低网格的空间分辨率。因此,网格的粒度一般取决于深度变化,并且较大的多边形主要出现在较平坦的区域中。
各顶点还与纹理图的光强度值相关联。纹理图实质上提供在顶点的像素位置处的物体在场景中的光/色强度。一般而言,光强度图像/纹理图与网格一起提供,其中各顶点含有表示顶点的x、y、z位置的数据以及识别纹理图中的链接的位置的u、v数据,即,其针对在纹理图中捕获的x、y、z位置处的光强度。
在这种表示中,多边形网格用于提供物体的三维几何结构的信息,而纹理一般被提供为分开的数据结构。具体而言,纹理经常提供作为分开的二维图,其通过处理算法可以被叠加在三维几何结构上。
三角形网格的使用特别适合于计算机图形算法的处理与操纵,并且许多有效率的软件与硬件解决方案已经开发出来并且在市场上可取得。在许多系统中实质运算效率通过算法共同处理多个多边形的个体顶点而非单独处理各多边形而实现。例如,针对一般的三角形网格,个体的顶点通常是若干个(通常是3-8)三角形共有的。单个顶点的处理因此可应用于相对高数量的三角形,由此实质上减少要处理的图像或其他物体中的点的数量。
作为具体的范例,许多目前的片上系统(SoC)都含有针对处理3D图形而高度优化的GPU。例如,3D物体几何结构与3D物体纹理的处理是在所谓的OpenGL绘制管线中(或在许多其他API中,诸如DirectX)使用两条基本上分离的路径来完成。只要将3D来源以顶点(通常是三角形)与纹理的形式呈现给GPU,SoC上的GPU的硬件可有效率地处理3D图形。OpenGL应用程序接口然后允许设置与控制虚拟透视摄像机,这决定3D物体投射在2D屏幕上时如何显现。尽管OpenGL使用3D物体作为输入,但输出通常是适合正常2D显示器的2D图像。
然而,这种方法需要将由多边形网格与相关的纹理信息所提供的三维信息。虽然这在一些应用中可能相对容易提供,例如基于完全电脑生成的虚拟场景与环境的游戏,但在其他实施例中可能较不容易。具体地,在基于捕获真实场景的应用中,其需要将这些变换为纹理与网格表示。如前述,这可基于立体图像或基于场景的图像与深度表示。
图形处理中的常见操作是视点变化,其中针对与输入纹理图与网格不同的视点来生成图像。图形API通常具有函数来有效率地执行这种视点变换。然而,由于输入网格一般并不完美,如果移位太多,这种视点变换可能导致质量劣化。此外,来自视点的场景的表示一般将包括若干被遮挡元素,其中前景物体遮挡其后的元素。这些元素可能从新方向是可见的,即,视点改变可导致去除遮挡。然而,在这种情况下,输入纹理图与网格将不包括这些被去除遮挡的部分的任何信息。因此,由于所需信息不可得,因此它们无法被优化地表示。随着新移位的距离增加,视图合成误差与不准确性倾向于增加。
在许多应用中,场景的3D信息从来源传送至目的地,例如从服务器至客户端设备。这种情况的范例是虚拟现实应用,其中场景或环境的3D模型或表示被储存在服务器处。这种虚拟现实服务器可以支持一个或多个客户端虚拟现实设备,客户端虚拟现实设备可从虚拟现实服务器接收3D信息并且基于此信息可以生成对应于特定视点的局部视图图像。来自虚拟现实服务器的3D资讯可以用数据信号或流的形式提供,所述数据信号或流包括对应于特定视点的若干3D图像或表示,其中每幅3D图像可由匹配的纹理图与网格来表示。这些3D图像可称为锚点图像或视图(或仅称为锚点)。
然而,因为针对视点变换的距离增加,降低视点变换的质量倾向于,并且为了达到足够精确的视图合成,锚点视图的高空间密度是期望的,并且实际上一般实作上是需要的。因此,需要从例如虚拟现实服务器串流至客户端VR设备的数据量倾向为高的。通常,为了从基于包括锚点图像的接收的数据流的视图变换实现所生成的图像的高准确度与质量,需要高数据速率数据流。然而,这使数据流的分配、储存、编码/解码、与处理变得复杂。
因此,改善的方法将是有利的,并且尤其是用于通信三维图像数据(其支持基于纹理图与网格的目的地端视图生成与移位)的改善的方法将是期望的。具体而言,允许增加的灵活性、增加的准确度、降低的复杂度、改善的运算效率、改善的与现有的图形处理方法的兼容性、改善的图像质量、降低的数据速率、及/或改善的性能的方法将是有利的。
发明内容
因此,本发明寻求单独或采用任何组合较佳地缓和、减轻、或消除上文提及的缺点的一者或多者。
根据本发明的一个方面,提供了一种用于生成图像的装置,所述装置包括:接收器,其用于接收图像信号,所述图像信号包括表示场景的自不同视点的若干三维图像,每幅三维图像包括网格与纹理图,所述信号还包括针对第一视点的多幅残差数据纹理图,所述第一视点不同于所述若干三维图像的所述不同视点,所述多幅残差纹理图中的第一残差数据纹理图提供所述第一视点的纹理图相对于从第一参考纹理图的至所述第一视点的视点移位产生的纹理图的残差数据,所述第一参考纹理图是所述若干三维图像中的第一三维图像的纹理图,并且所述多幅残差纹理图中的第二残差数据纹理图提供所述第一视点的纹理图相对于从第二参考纹理图的至所述第一视点的视点移位产生的纹理图的残差数据,所述第二参考纹理图是所述若干三维图像中的第二三维图像的纹理图,所述图像信号不包括所述第一视点的整个纹理图;网格处理器,其用于从第一参考网格生成针对所述第一视点的第一网格并且从第二参考网格生成针对所述第一视点的第二网格,所述第一参考网格是所述多幅三维图像中的所述第一三维图像的网格,所述第二参考网格是所述多幅三维图像的所述第二三维图像的网格;第一纹理处理器,其用于响应于所述第一参考纹理图的从所述第一三维图像的视点至所述第一视点的视点变换而生成所述第一视点的第一中间纹理图,并且响应于所述第二参考纹理图的从所述第二三维图像的视点至所述第一视点的视点变换而生成所述第一视点的第二中间纹理图;第二纹理处理器,其用于响应于所述第一中间纹理图与所述第一残差数据纹理图的组合而生成第一纹理图,并且响应于所述第二中间纹理图与所述第二残差数据纹理图的组合而生成第二纹理图;以及图像生成器,其用于根据所述第一纹理图、所述第一网格、所述第二纹理图以及所述第二网格生成针对第二视点的二图像,所述第二视点不同于所述第一视点并且不同于所述若干三维图像的所述不同视点。
本发明可在许多情景中提供改进的三维图像信息的分配。在许多实施例中,可实现改进的编码,并且特别是可以实现数据速率的改进的质量。所述方法可在许多实施例中允许从所接收的3D信息接收改进的图像。此外,这可以在通常保持相对低的复杂度与高程度的计算效率的同时实现。具体地,所述方法通常可以支持例如专用的、标准化的和优化的硬件的有效率使用。例如,针对计算机图形处理开发的许多平台可以用于支持处理的步骤。
该方法的特别的优点是其可以在许多实施例中由标准图形例程紧密地支持。例如,视点变换可以在许多实施例中由标准化的、专用的和优化的图形处理硬件来执行。例如,所述方法可以与标准化图形处理兼容,并且可以有效率地利用这些标准化图形处理。实际上,通过将非标准方法限制至允许用户调适的绘制/处理管线的部分,所述方法可以与这种标准化方法(例如OpenGL规范)兼容。例如,所述组合可以执行作为OpenGL绘制管线的片段着色器阶段的部分。
对处理的资源密集型元件使用标准化硬件加速处理的可能性可以显著增加例如系统的速度或性能。在许多实施例中,其可以降低复杂性及/或资源需求。
网格可以是三维网格,其中各顶点关联于(具有)三维位置。各顶点可以具体地由至少三维空间位置x、y、z表示。网格的各顶点可以进一步与对应的纹理图中的位置链接。例如,针对各顶点,可以储存对应于空间位置x、y、z的纹理图中的位置u、v。
网格可以包括与所表示的物体的深度有关的信息,但不限于此(例如,如所述,顶点可以由三维坐标来表示,而非仅由深度坐标来表示)。
网格也可以称为3D网格或深度网格。
在一些实施例中,所述第一网格可以直接是从所述图像信号提取的所述第一视点的网格。在一些实施例中,所述第一网格可以是例如参考网格,其是针对所述第一三维图像的网格。因此,在一些实施例中,针对参考视点的所接收的参考网格可以视为是针对所述第一视点的所述网格的合适近似或评估。
在许多实施例中,所述网格处理器可以被布置为从作为所述第一三维图像的网格的参考网格生成所述第一网格。具体地,在许多实施例中,所述网格处理器可以被布置为响应于参考网格的视点变换而生成所述第一网格,所述参考网格是所述第一三维图像的网格。
所述残差数据可以是指示所述第一视点的所述纹理图与从所述参考纹理图的所述视点移位产生的所述纹理图之间的差异的任何数据。所述第一残差数据纹理图可以提供针对所述第一视点的纹理图相对于从所述第一参考纹理图的从所述第一三维图像的视点至所述第一视点的视点移位而产生的纹理图的残差数据。类似地,所述第二残差数据纹理图可以提供所述第一视点的纹理图相对于从所述第二参考纹理图的从所述第二三维图像的视点至所述第一视点的视点移位而产生的纹理图的残差数据。
在许多实施例中,所述图像生成器被布置为响应于从所述第一视点至所述第二视点的视点变换而基于所述第一纹理图、所述第一网格、所述第二纹理图以及所述第二网格来生成所述图像。
包括在该图像信号中的三维图像的数量可以是一,但在许多实施例中,是多幅三维图像,例如不小于2、3、或5幅图像。
根据本发明的任选的特征,所述图像信号还包括参考了所述第一参考网格的针对所述第一视点的网格的网格残差数据,并且所述网格处理器被布置为响应于所述网格残差数据与所述第一参考网格而生成所述第一网格。
这可以倾向于提供所生成的图像的改进质量,同时仍然允许低复杂度与有效率的处理与图像信号分配。
在许多实施例中,所述第一视点的网格的网格残差数据是相对于从所述参考网格导出的网格。
在一些实施例中,所述网格残差数据包括所述第一视点的所述网格相对于由所述参考网格的视点变换得到的中间网格的残差数据。
这可以倾向于提供所生成的图像的改进的质量,同时仍然允许低复杂度与有效率的处理与图像信号分配。
根据本发明的任选的特征,所述网格残差数据包括针对于所述第一视点的所述网格的顶点的仅子集的残差数据。
在许多实施例中,这可以允许该图像信号的降低的数据速率,同时仍保持足够高的质量。
根据本发明的任选的特征,所述图像信号不包括针对所述第一视点的网格数据。
在许多实施例中,这可以允许该图像信号的降低的数据速率,同时仍保持足够高的质量。具体地,基于使用由纹理信息与网格信息两者表示的完全编码的参考3D图像并结合仅由残差纹理图表示的相对编码图像,可以允许视图合成/变换的非常有效率的组合。所述方法可以利用对于3D图像的不同元素的相对编码要求、心理视觉影响、以及评估与处理效率的洞察。
根据本发明的任选的特征,所述图像信号包括网格生成控制数据;并且所述网格处理器被布置为响应于所述网格生成控制数据而生成所述第一网格。
这可以允许改进的与调整的网格生成/变换,通常导致生成的图像的改进质量。
根据本发明的任选的特征,所述图像信号包括元数据,所述元数据指示链接至所述多幅残差数据纹理图的三维图像。
这可以允许有效率的操作。所述多幅残差数据纹理图中的各残差数据纹理图可以针对与所述若干三维图像的不同视点不同的给定视点,给定视点的该残差数据纹理图提供针对所述给定视点的纹理图相对于由给定参考纹理图的视点移位产生的纹理图的残差数据,所述给定参考纹理图是所述若干三维图像中的第一三维图像的纹理图。
根据本发明的任选的特征,所述图像生成器被布置为响应于所述第一纹理图与所述第一网格而生成针对所述第二视点的第一中间图像,响应于用于额外视点的额外纹理图与额外网格而生成针对所述第二视点的第二中间图像;以及通过组合所述第一中间图像与所述第二中间图像来生成所述图像。
这可以提供特别有效率与灵活的方法,并且可以在许多实施例中得到改进的图像生成。
在许多实施例中,所述额外纹理图与所述额外网格是所述若干三维图像的三维图像的纹理图与网格。
在许多实施例中,所述第一纹理处理器被布置为响应于额外参考纹理图的从所述额外参考纹理图的视点至所述额外视点的视点变换而生成额外中间纹理图,所述额外参考纹理图是所述若干三维图像的所述第二三维图像的纹理图;并且所述第二纹理处理器被布置为响应于所述额外视点的所述额外中间纹理图与额外残差数据纹理图的组合而生成所述额外纹理图,所述额外残差数据纹理图是针对所述第二三维图像的。
在许多实施例中,所述网格处理器被布置为响应于所述第二三维图像的网格的从所述额外参考纹理图的视点至所述额外视点的视点变换来生成所述额外网格。
根据本发明的任选的特征,所述图像生成器被布置为响应于从所述第一视点至所述第二视点的视点变换而基于所述第一纹理图与所述第一网格生成针对所述第二视点的第一中间图像,响应于从所述第一视点至所述第二视点的视点变换而基于所述第二纹理图与所述第二网格生成针对所述第二视点的第二中间图像;并且通过组合所述第一中间图像与所述第二中间图像来生成所述图像。
这可以提供特别有效率与灵活的方法,并且可以在许多实施例中得到改进的图像生成。
根据本发明的任选的特征,所述图像生成器被布置为响应于与所述第一三维图像和所述第二三维图像中的至少一幅的视点相关联的遮挡数据而组合所述第一中间图像与所述第二中间图像。
这可以提供特别有效率与灵活的方法,并且可以在许多实施例中得到改进的图像生成。
在许多实施例中,所述图像生成器被布置为响应于分别从所述第一三维图像与所述第二三维图像的所述视点至所述第一视点的视点移位的方向相对于从所述第一视点至所述第二视点的视点移位的方向,来组合所述第一中间图像与所述第二中间图像。
根据本发明的任选的特征,所述图像生成器被布置为将所述第一纹理图与所述第二纹理图组合成针对所述第一视点的第三纹理图,并且将所述第一网格与所述第二网格组合成针对所述第一视点的第三网格;并且响应于从所述第一视点至所述第二视点的视点变换而基于所述第三纹理网格与所述第三网格生成所述图像。
这可以提供特别有效率与灵活的方法,并且可以在许多实施例中得到改进的图像生成。
在一些实施例中,所述网格处理器可以被布置为对所述第一网格进行滤波。
这可以提供特别有效率与灵活的方法,并且可以在许多实施例中得到改进的图像生成。
根据本发明的一个方面,提供了一种用于生成图像信号的装置,所述装置包括:接收器,其用于接收表示场景的自不同视点的若干三维图像;每幅三维图像包括网格与纹理图,并且用于接收针对第一视点的第一纹理图,所述第一视点不同于所述三维图像的所述不同视点;视图移位处理器,其用于响应于第一参考纹理图的从所述若干三维图像中的第一三维图像至所述第一视点的视点变换而生成第一中间纹理图,并且响应于第二参考纹理图的从所述若干三维图像中的第二三维图像至所述第一视点的视点变换而生成第二中间纹理图;残差处理器,其被布置为响应于所述第一中间纹理图与所述第一纹理图的比较而生成第一残差数据纹理图,并且响应于所述第二中间纹理图与所述第一纹理图的比较而生成第二残差数据纹理图,所述第一残差数据纹理图指示所述第一中间纹理图与所述第一纹理图之间的差异,并且所述第二残差数据纹理图指示所述第二中间纹理图与所述第一纹理图之间的差异;以及信号生成器,其用于生成所述图像信号以包括所述若干三维图像、所述第一残差数据纹理图、与所述第二残差数据纹理图,但不包括所述第一纹理图。
根据本发明的一方面,提供了一种生成图像的方法,所述方法包括:接收图像信号,所述图像信号包括表示场景的自不同视点的若干三维图像,每幅三维图像包括网格与纹理图,所述信号还包括针对第一视点的多幅残差数据纹理图,所述第一视点不同于所述若干三维图像的所述不同视点,所述多幅残差纹理图中的第一残差数据纹理图提供针对所述第一视点的纹理图相对于从第一参考纹理图的至所述第一视点的视点移位产生的纹理图的残差数据,所述第一参考纹理图是所述若干三维图像中的第一三维图像的纹理图,并且所述多幅残差纹理图中的第二残差数据纹理图提供针对所述第一视点的纹理图相对于从第二参考纹理图的至所述第一视点的视点移位产生的纹理图的残差数据,所述第二参考纹理图是所述若干三维图像中的第二三维图像的纹理图,所述图像信号不包括所述第一视点的整个纹理图;从第一参考网格生成针对所述第一视点的第一网格并且从第二参考网格生成针对所述第一视点的第二网格,所述第一参考网格是所述多个三维图像的所述第一三维图像的网格,所述第二参考网格是所述多幅三维图像中的所述第二三维图像的网格;响应于所述第一参考纹理图的从所述第一二维图像的视点至所述第一视点的视点变换而生成第一中间纹理图,并且响应于所述第二参考纹理图的从所述第二三维图像的视点至所述第一视点的视点变换而生成第二中间纹理图;响应于所述第一中间纹理图与所述第一残差数据纹理图的组合而生成针对所述第一视点的第一纹理图,并且响应于所述第二中间纹理图与所述第二残差数据纹理图的组合而生成针对所述第一视点的第二纹理图;以及从所述第一纹理图、所述第一网格、所述第二纹理图以及所述第二网格生成针对第二视点的二维图像,所述第二视点不同于所述第一视点并且不同于所述若干三维图像的所述不同视点。
根据本发明的一方面,提供了一种生成图像信号的方法,所述方法包括:接收表示场景的自不同视点的若干三维图像;每幅三维图像包括网格与纹理图,并且用于接收针对第一视点的第一纹理图,所述第一视点不同于所述三维图像的所述不同视点;响应于第一参考纹理图的从所述若干三维图像中的第一三维图像至所述第一视点的视点变换而生成第一中间纹理图,并且响应于第二参考纹理图的从所述若干三维图像中的第二三维图像至所述第一视点的视点变换而生成第二中间纹理图;响应于所述第一中间纹理图与所述第一纹理图的比较而生成第一残差数据纹理图,并且响应于所述第二中间纹理图与所述第一纹理图的比较而生成第二残差数据纹理图,所述第一残差数据纹理图指示所述第一中间纹理图与所述第一纹理图之间的差异,并且所述第二残差数据纹理图指示所述第二中间纹理图与所述第一纹理图之间的差异;并且生成所述图像信号以包括所述若干三维图像、所述第一残差数据纹理图、与所述第二残差数据纹理图,但不包括所述第一纹理图。
根据本发明的一方面,提供了一种图像信号,其包括表示场景的自不同视点的若干三维图像,每幅三维图像包括网格与纹理图,所述信号还包括针对第一视点的第一残差数据纹理图和第二残差数据纹理图,所述第一视点不同于所述若干三维图像的所述不同视点,所述第一残差数据纹理图提供针对所述第一视点的纹理图相对于从第一参考纹理图的视点移位产生的纹理图的残差数据,所述第一参考纹理图是所述若干三维图像中的第一三维图像的纹理图,并且所述第二残差数据纹理图提供针对所述第一视点的纹理图相对于从第二参考纹理图的视点移位产生的纹理图的残差数据,所述第二参考纹理图是所述若干三维图像中的第二三维图像的纹理图。
本发明的这些及其他方面、特征、及优点将参考下文描述的(一个或多个)实施例阐明且将是显而易见的。
附图说明
将仅以范例的方式参考附图描述本发明的实施例,其中,
图1图示了根据本发明的一些实施例的用于生成图像信号的装置的元件的范例;
图2图示了根据本发明的一些实施例的用于生成图像的装置的元件的范例;
图3图示了针对图像信号的视点的范例;
图4图示了针对图像信号的视点的范例;
图5图示了基于网格与纹理图数据的图像的生成的范例;
图6图示了网格的生成的范例;
图7图示了基于网格与纹理图数据的图像的生成的范例;
图8图示了基于网格与纹理图数据的图像的生成的范例;以及
图9图示了基于网格与纹理图数据的图像的生成的范例。
具体实施方式
图1图示用于生成3D图像信号的装置的范例。所述装置以及实际上所生成的图像信号是基于通过纹理图与相关联的深度图表示3D信息。所述设备可以具体地是虚拟现实服务器的部分,其可以提供具有场景的3D信息的图像信号。(一般是远程的)虚拟现实客户端可以访问虚拟现实服务器,并且作为响应被提供以图像信号,从该图像信号其可以在本机生成场景的合适图像,以提供虚拟现实体验。具体地,虚拟现实客户端设备通常可以被布置为基于从虚拟现实服务器接收的信息来生成给定的期望视点的图像。因此,图1的装置此后将称为编码器,并且具体地称为虚拟现实服务器的编码器,但是将意识到,这不旨在暗指对装置的描述的一般性或解释或理解的限制。
编码器包括编码器接收器101,编码器接收器101被布置为接收若干(且通常是多个)表示场景的自不同视点的三维图像。每幅3D图像包括网格与至少第一纹理图,即,每幅图像的三维信息使用经链接的网格与纹理图的熟知方法来提供。
在一些实施例中,可以仅提供单幅3D图像,但是通常提供多个不同的3D图像,其中每幅3D图像表示场景的不同视点。例如,可以接收对应于一行视点的三至十幅3D图像。
将意识到,编码器接收器101可以从任何内部或外部来源接收3D图像。例如,在一些实施例中,虚拟现实服务器可以包括场景的3D模型以及模型评估器,所述模型评估器被布置为通过评估针对期望视点的模型来以网格与纹理图的形式生成3D图像。在其他实施例中,3D图像可以从捕获的图像生成,例如从不同位置处的相机捕获的立体图像。例如,从捕获的立体图像中,可以评估密集深度图(例如,基于视差评估),并且从立体图像与深度图中的一个,可以计算网格与纹理图。另一范例使用深度相机,其可以直接提供图像与相关联的深度图(例如,使用内建的测距功能)。针对这种情况,可以从由深度相机直接提供的深度图生成网格。
许多3D图像(包括视频)处理算法与过程是基于三角形网格的使用,因为这可以在许多实施例中提供高运算效率。提供三维信息的网格以及相关联的纹理图广泛用于许多图形处理系统中,诸如特别是在计算机绘图中。网格可以提供几何结构的信息,其包括深度信息(但是当然不限于仅提供深度资讯,例如,其通常可以提供各顶点的三维坐标)。为了简洁起见,网格与其相关联的纹理图的组合也将称为3D图像。
该方法非常适合于在绘制场景时灵活地修改视图方向,并且特别适用于视点不限于在严格的水平线中移动而是希望视点能自由移动的情景。生成新视点的已知与有效方式是将源自不同视点的网格变换为单个世界坐标系,并且然后执行至新相机平面上透视投影。使用标准优化的图形硬件(诸如基于OpenGL标准的硬件)可以非常有效率地实行这些步骤。然而,为了优化质量并提供额外的信息(例如,针对由视点变换所去除遮挡的区域),从新视点生成绘制的图像优选地基于针对多个不同视点所提供的纹理图与网格。
为了向客户端侧提供足够的信息以生成用于一定范围的视点的高质量图像,期望的是在生成的图像信号中包括大量的3D图像。但是,这需要非常大的带宽并且会使系统中的分配、通信、处理、与储存变得复杂。因此,质量与效率的矛盾要求之间存在难以取舍的权衡。
可以由客户端侧用来执行例如视图变换的该组3D图像可以简称为锚点图像,或者有时仅称为锚点。因此,期望的是,由编码器生成的图像信号在图像信号中包括尽可能多的锚点图像,以最大化质量,但同时期望的是,包括尽可能少的锚点图像,以最小化例如图像信号的数据速率。图1的编码器可以被布置为提供这种矛盾的要求之间的改进的权衡。
编码器包括被布置为生成图像信号的信号生成器103。信号生成器103被耦合到编码器接收器101,信号生成器103从编码器接收器101接收3D图像,即,纹理图与对应的网格。信号生成器103被布置为生成图像信号以包括这些3D图像,并且具体地,包括用于图像的网格与纹理图两者。信号生成器103相应地生成图像信号以包括由编码器接收器101提供的3D图像的形式的锚点图像。这些完全编码的锚点图像也称为参考图像。
另外,编码器被布置为生成图像信号以包括额外的锚点图像。然而,这些图像不是由完全的纹理图与完全的网格表示,而是由残差数据纹理图表示,其中,残差数据纹理图提供参考包括在图像信号中的3D图像中的一幅(即,参考了参考图像中的一者)的纹理图而描述额外视点的纹理图的数据。因此,在额外位置处的纹理图是提供为相对纹理图并且因此是取决于于另一纹理图。
具体地,除了直接包括在图像信号中的参考3D图像之外,编码器接收器101也可以接收相对于参考纹理图编码的一幅或多幅纹理图。这些纹理图可以作为个体的纹理图被接收,但是通常作为3D图像的纹理图被接收,即,与对应的网格一起。直接包括在图像信号中的该组3D图像称为参考3D图像,并且类似地,对应的视点、纹理图、锚点、与网格将称为参考视点、参考纹理图、参考锚点、与参考网格。应用了纹理图的相对编码的3D图像、纹理图、网格、锚点、与视点将称为相对的或预测的3D图像、纹理图、网格、锚点、与视点。
将意识到,在许多实施例中,编码器接收器101将接收由纹理图与相关联的网格表示的一组3D图像,并且这些3D图像将划分为参考3D图像的集合(包括参考3D图像视点(将被完全内编码的那些))以及相对3D图像的集合(包括相对3D图像/视点(将相对于其他纹理图进行编码的那些))。在一些实施例中,所述划分可以分成多于两个类别,例如,所述划分也可以划分为其他组,诸如仅仅会丢弃的图像的集合。
编码器包括被布置为生成相对视点的残差数据纹理图的视图移位处理器105与残差处理器107。
具体地,可以针对指定为相对视点的视点来接收纹理图。此纹理图将称为第一相对纹理图。
视图移位处理器105被馈送以参考3D图像,即,参考纹理图与参考网格。此外,其被馈送定义对应的参考视点与第一相对纹理图的视点(称为第一相对视点)的信息。视图移位处理器105然后继续通过执行第一参考纹理图至第一相对视点的视点变换来生成中间纹理图。视点变换是基于参考网格与纹理图的。
将意识到,可以使用纹理图视点变换或移位的任何合适的方法。作为一种方法的范例,可以使用三角形网格来对纹理进行翘曲。在此标准的纹理映射方法中,三角形被移位与变形,并且纹理被线性地(仿射(affine))变形以形成新的纹理。视图移位可以例如通过将网格绘制至离屏OpenGL缓冲器中来执形。
中间纹理图被馈送至残差处理器107,残差处理器107也接收第一相对纹理图。残差处理器107继续基于中间纹理图与第一相对纹理图的比较来生成残差数据纹理图。以此方式,生成残差数据纹理图,以指示中间纹理图与第一相对纹理图之间的差异。
在许多实施例中,可以简单地将残差数据纹理图确定为中间纹理图与第一相对纹理图之间的逐个像素的差异。在一些实施例中,可能可以使用感知度量(诸如对比敏感度与空间频率的遮蔽)对残差进行有损压缩。
移位处理器105与残差处理器107还被布置为针对与不同参考视点对应的额外的/第二参考图像重复该过程。因此,图1的装置被布置为基于不同的参考图像/视点生成第一相对视点的(至少)两幅残差数据纹理图。因此,所述装置可以基于第一参考图像/参考纹理图生成针对第一相对视点的第一残差数据纹理图,并且基于第二参考图像/参考纹理图生成针对第一相对视点的第二残差数据纹理图。这可以针对空间表示提供场景的改进表示,例如,从而解决限制场景的可以用数据的可能的遮挡的问题。
残差处理器107被耦合到信号生成器103,信号生成器103被馈送残差数据纹理图。然后,继续将第一相对视点的残差数据纹理图包括在图像信号中。因此,除了参考视点的集合的完全(内)编码的参考3D图像的集合之外,图像信号是经生成以生成该图像信号以包括至少额外的(相对)视点的一幅或多幅残差数据纹理图。针对至少相对视点,提供至少两幅残差数据纹理图,所述两幅残差数据纹理图提供相同纹理图的残差数据,但来自不同的参考图像。残差数据纹理图通常将包括比对应的纹理图小得多的值,并且因此可以用高得多的效率进行编码。因此,在该方法中,给定的接收的锚点图像的集合可以分成两个集合,其中第一集合包括完全编码的参考锚点图像,并且第二组包括相对于参考锚点图像编码的相对参考锚点图像。第二组所需的数据速率实质上低于第一组所需的数据速率,但是仍允许解码器重新建立对应的锚点图像。
因此,针对给定的数据速率,可以传送大量准确表示的锚点图像(或者针对要通信的给定数量的锚点图像,可以实现较低的数据速率)。此外,通过包括相同相对视点的多幅残差数据纹理图,可以实现特别适用于特征化/表示三维场景的改进信息。
在不同的实施例与情景中,准确决定哪些接收的锚点图像要完全编码以及哪些接收的锚点图像要施加相对或预测编码可能不同。例如,在一些实施例中,对应于一行视点的3D图像可以在两个集合之间交替。在其他实施例中,所述决定可以例如基于视点之间的距离。例如,如果从给定视点至最接近的完全编码参考视点的距离超过给定值,则将该视点指定为参考视点,否则将其指定为相对视点。
在许多实施例中,针对残差数据纹理图(即,用于相对锚点)的网格也可以被馈送至信号生成器103并且可以包括在图像信号中。实际上,在许多实施例中,称为第一相对网格的此网格可以是完全编码的并包括在图像信号中。由于表示网格所需的数据通常比表示纹理图所需的数据量约少一个数量级,所以这仍可以导致所需数据量的大幅减少。类似于用于相对纹理图的方法,信号生成器也可以包括与第二残差数据纹理图相关联的第二网格。
在一些实施例中,第一相对视点/3D图像的网格数据可以不包括在图像信号中。在这种情况下,第一相对视点的网格数据可以例如由解码器基于接收的参考网格来生成。
在一些实施例中,针对第一相对视点(仅)提供相对网格数据。这可以在很多情景中提供数据速率与质量/准确性之间的改进权衡。
因此,在许多实施例中,所述编码器可以生成包括表示场景的自不同视点的若干三维图像的图像信号,每幅三维图像包括网格与纹理图,所述信号还包括第一视点的残差数据纹理图,所述第一视点不同于所述若干三维图像的所述不同视点,所述残差数据纹理图提供所述第一视点的纹理图相对于由参考纹理图的视点移位产生的纹理图的残差数据,所述参考纹理图是所述若干三维图像中的第一三维图像与第二三维图像各别的纹理图。
图2图示用于从此图像信号生成图像的装置的范例。所述装置具体地能够生成图像以对应于未由接收的信号表示的视点,即,其并非图像信号的锚点视点/图像中的一个(无论是参考或相对视点)。所述装置可以具体地是虚拟现实客户端设备的部分,所述虚拟现实客户端设备被布置为连续生成与场景中移动的角色的视点对应的图像。为了简洁起见,所述装置将称为解码器,并不会因使用此用语而失去任何通用性。
解码器包括接收器201,所述接收器从解码器/虚拟现实服务器接收图像信号。首先针对单幅残差数据纹理图是提供针对给定的第一(相对)视点的情景描述该处理。
解码器可以被布置为基于接收的锚点图像生成期望视点的图像。在一些情况下,特别是针对一些视点,图像的生成可以基于两阶段方法,其中基于相对视点的残差数据纹理图与至少一个参考3D图像先生成该相对视点的中间3D图像。随后,然后从此中间3D图像生成期望视点的图像。下面将更详细描述该方法,其中将与相对锚点图像映射的相对视点称为第一视点。
解码器包括网格处理器203,所述网格处理器被布置为生成第一视点的第一网格。在一些实施例中,接收的图像信号可以包括第一视点的网格,并且其可以直接使用。
在许多实施例中,网格处理器203被布置为从参考网格(其是合适的3D图像的网格)生成第一视点的第一网格。在一些实施例中,参考网格可以直接用作第一网格,但在大多数一般的实施例中,可以通过从参考视点至第一视点对参考网格进行翘曲或视点移位/变换来生成第一网格。
将意识到,可以使用任何合适的方法将参考网格翘曲/变换成第一网格,即,从参考视点的网格生成第一视点的网格。例如,一个直接的方法是使用3D坐标,因为在3D坐标用于翘曲纹理之后,3D坐标是顶点处理器的输出。例如,网格的各2D顶点与其视差值可以一起投射至3D空间中。然后,此3D点可以重新投射至虚拟视点的图像平面上。通过施加此操作至所有顶点,可以变换网格。((重新)投射操作可以压缩成高效率的小矩阵操作。GPU被专门设计用于高效率地执行这种操作,因为这种操作在图形处理中经常出现)。
解码器还包括第一纹理处理器205,所述第一纹理处理器用于响应于参考纹理图从参考视点至第一视点的视点变换而生成中间纹理图。将意识到,可以使用任何合适的方法将参考纹理图从参考视点翘曲/变换至第一视点。例如,可以执行使用给定网格的纹理映射。视图移位可以例如通过将网格绘制至离屏OpenGL缓冲器中来执行。
因此,中间纹理图对应于在第一视点处基于参考锚点图像的预测或评估的纹理图。中间纹理图具体地可以使用与编码器的视图移位处理器105所使用的算法相同的算法来生成。因此,中间纹理图可以直接对应于由编码器的视图移位处理器105生成的中间纹理图。因此,由编码器生成并由解码器接收的残差数据纹理图可以提供由第一纹理处理器205生成的中间纹理图与在编码器处接收的原始纹理图之间的差异的准确指示。
解码器还包括第二纹理处理器207,所述第二纹理处理器被馈送中间纹理图并且被布置为通过组合中间纹理图与残差数据纹理图来生成第一纹理图。具体地,在许多实施例中,第一纹理图可以通过添加中间纹理图与接收的残差数据纹理图来生成。
第二纹理处理器207可以相应地生成第一纹理图,第一纹理图非常紧密地对应于(并且通常实质上相同于)针对第一视点提供给编码器的相对纹理图。因此,针对第一位置生成准确的锚点纹理图。类似地,网格处理器203可以生成第一视点的准确网格(或者实际上,直接从接收的图像信号检索该网格)。
解码器还包括图像生成器209,所述图像生成器被馈送以第一纹理图与第一网格,即,所述图像生成器被馈送以针对第一视点生成的3D图像。由于此3D图像是基于残差数据纹理图,因此其提供编码器针对第一视点接收的原始3D图像的非常准确的反射,并且因此,此第一3D图像可以用作针对第一视点提供的锚点图像。
图像生成器209因此被布置为从第一3D图像(即,从第一纹理图与第一网格)生成期望视点(第二视点)的输出图像。具体地,图像生成器209可以被布置为将视图变换/移位过程应用到第一3D图像,以生成与第二视点对应的输出图像,即,生成从第一图像至第二图像的视点移位。
该方法可以在第二视点接近第一视点但距离参考视点为较远距离的情景中,允许视图的质量显著改进。但是,这可以实现而不会有因提供参考图像的完整集合所需的数据速率、复杂性等的对应的折损。因此,可以实现数据速率与质量权衡的大幅改善。
针对其中针对第一相对视点提供两幅残差数据纹理图的情景,条统可以首先执行所述的操作以基于第一残差数据纹理图(与第一参考图像)生成第一网格与第一中间纹理图。然后,可以继续执行相同的操作,以基于第二残差数据纹理图(与第二参考图像)生成第二中间网格与第二中间纹理图。因此,针对相同的相对锚点视点,即,针对第一视点,生成两个中间纹理图与通常两个网格(在一些情景与实施例中,第一视点的两个网格可以是相同的,即,第一与第二纹理图可以两者都与相同的网格有关)。
图像生成器209可以继续基于两个中间纹理图以及通常也基于两个中间网格,生成输出图像。如稍后将更详细描述的,中间纹理图与网格可以例如组合,以生成单个组合的中间纹理图与单个网格,并且图像生成器可以基于此而绘制第二视点的图像。在其他实施例中,可以从第一中间纹理图与网格生成第二视点的第一图像,并且可以从第二中间纹理图与网格生成第二视点的第二图像。然后,可以组合/合并这两幅图像(例如,使用反映中间纹理图的相对遮挡的加权。
特别有利的方法可以是其中第一视点的网格且实际上通常是用于所有相对视点的网格并未在图像信号中完全表示,即,在图像信号可以仅包括第一网格的部分数据或不包括第一网格的数据的实施例中。
在这种方法中,编码器可以将锚点图像的集合分成参考锚点图像与相对锚点图像。然后,可以从参考锚点图像及其相关联的网格预测相对锚点图像,并且可以差分地编码原始锚点图像与预测锚点图像之间的差异。
然而,这种方法造成新的问题,因为(一个或多个)相对锚点图像用于生成不同视点的新图像,但没有网格可以用于相对视点。在许多实施例中,这可以通过重新使用/重新利用来自参考锚点的网格来解决(通过几何地修改这种网格,使得其适合于从相对锚点的视图合成)。
在下文中,将通过考虑更详细的范例来图示该方法。
图3可以图示用于基于网格的绘制(合适图像的生成)的方法的范例。在该范例中,各实心圆表示空间的锚点视点/位置。空心圆表示要合成的视图的位置,即,其表示第二视点(例如,对应于观看者的左眼位置或右眼位置)。各锚点k由纹理Tk与深度/3D网格Mk组成。储存、分配、及/或处理所有k个锚点在带宽、运算复杂度等方面是非常昂贵的。其中针对给定的期望视点生成图像的视图合成通常期望的是基于使用相关联的网格(M2)将来自空间上最接近的锚点(T2)的纹理翘曲至期望视点。
图4图示了反映所描述的方法的具体使用的范例,其中一些锚点的数据现在是从附近的锚点预测的。这些预测/相对的锚点图像的纹理图通过仅储存差异图像(例如作为JPG文件)而差分地编码。可以直接提供相对锚点的网格,但是在许多实施例中,其也可以从完全内编码的参考图像生成。
在图4的范例中,只有锚点1与5是内编码的,即,是参考锚点。在范例中,锚点2从锚点1及/或5(两者)预测。锚点2的纹理与网格变量上方的波浪号(~))代表这些是重建的。纹理T2使用差分式编码重建,即,基于残差数据纹理图。网格M2是例如从(一个或多个)参考网格生成。例如,来自最接近的锚点的网格(M1)在几何变换之后被重新利用/重新使用。
一旦生成了相对锚点,可以使用视点移位算法基于纹理T2与网格M2来计算期望视点的图像I。
在许多实施例中,可以使用最接近的锚点来生成第一网格与第一纹理图。在图4中,最靠近预测/相对锚点2的参考锚点是锚点1。锚点1的网格因此使用两次:其首先用于合成相对锚点2的纹理图,之后其被“重新利用”,这意味着,其在几何上被修改,并且然后用于合成最终图像I。从纹理图T1预测纹理图P2在编码器(为了提取差分图像进行压缩)与解码器两者处执行,以重建锚点纹理T2。
可以通过首先旋转网格坐标并转变为相机坐标系且然后使用透视投射来投射,而执行该操作。此标准操作通常使用称为模型视图投射矩阵的4x4矩阵在齐次坐标中表示:
其中,(u′,v′)是投射点(x,y,z)的得到的图像坐标,并且V2是锚点2的相机视图矩阵。在公式(1)中,V2表示将输入坐标变换为通用世界坐标的变换(其表示从局部坐标变换为全局物体坐标的模型矩阵),V2将世界坐标变换为锚点2的视点的相机坐标,并且P执行投射变换。
公式(1)中的操作通常在GPU上运行的所谓的顶点着色器程序中执行。
公式(1)的输入是网格,所述网格含有该网格的顶点的该组3D点以及对应的纹理坐标(u,v)、与描述点如何形成三角形的索引向量。顶点着色器所执行如公式(1)中给定的几何操作仅是当使用网格M1将纹理1翘曲至锚点2时图形硬件执行的许多操作中的一种。为了简单起见,我们将此标准纹理映射/视点移位/变换操作写为:
P2=texturemap[T1,M1] (2)
纹理映射是大多数具有图形功能的设备上可以用的标准操作。API,诸如OpenGL、Vulkan、与DirectX,支持其。
在纹理映射操作之后,我们能够使用残差数据纹理图E2从所生成的中间纹理图P2重建原始纹理T2:
为了生成不同视点(第二视点)的图像,执行额外视点合成轮,以生成输出图像I。针对此步骤,我们重新利用在第一合成步骤中使用的网格。
针对此第二视图合成步骤,可以使用顶点着色器程序,其在3D网格坐标上执行以下的几何变换:
注意到,相同的点坐标:(x,y,z)如在用于预测纹理图P2的公式(1)中那样输入顶点着色器。执行公式(4)的操作的上方因此受到限制,因为网格点已经由于在相同的坐标上的先前视图合成步骤而存在于GPU内存中。锚点2的相机视图矩阵V2现在已由与输出图像的相机视图对应的视图矩阵V最终取代,即,其对应于第二视点。现在在纹理映射操作中需要与纹理相关的纹理坐标(u′,v′)。
第二纹理映射操作生成最终的输出图像:
该过程通过图5进一步举例说明。在该范例中,使用网格M1来翘曲纹理T1,以预测纹理T2。同时,M1本身变形以产生残差图像E2用于计算重建的纹理输出图像是通过使用重新利用的(变形的)网格来翘曲重建而合成。
如上述,可以使用不同的方法来传送相对锚点的网格信息。在一些实施例中,在图像信号中不包括相对锚点的专用网格数据,并且图像信号因此不含有特定地(并且仅)与(一个或多个)相关锚点相关的网格信息。然而,由于相对锚点3D图像的网格是用于执行期望视点的图像合成,所以必须从接收的图像信号数据生成该网格。
在这种情况下,网格处理器203被布置为从来自参考锚点的网格数据生成相对锚点的网格。因此,在上述的具体范例中,网格处理器203可以被布置为从参考网格生成第一相对网格,即,从参考视点的网格生成第一(相对)视点的网格。
在一些实施例中,网格处理器203可以被布置为简单地通过复制参考网格来生成第一相对网格。这在许多其中特别是相对与参考视点彼此非常接近的情景中可以允许足够准确的深度信息。
然而,在其他实施例中,网格处理器203可以被布置为通过施加视点变换或翘曲至参考网格以将此从参考视点位置翘曲至相对视点位置,来生成第一相对网格。
将意识到,用于这种翘曲的各种技术对于本领域技术人员是已知的,并且可以使用任何合适的方法。
在许多实施例中,图像信号可以包括相对锚点图像的专用网格数据。因此,图像信号可以包括专针对第一视点的网格数据。事实上,在一些实施例中,图像信号可以包括在第一视点处的相对网格的完全编码,并且网格处理器203可以仅生成第一相对网格作为解碼的接收的相对网格。由于网格通常需要比纹理图少得多的数据,所以此方法仍将提供实质的数据速率降低。
在许多实施例中,图像信号可以包括第一视点的网格的网格残差数据,即,其可以包括第一视点的残差网格数据。残差数据可以相关于相同参考视点的网格作为第一视点的残差数据纹理图。
在一些实施例中,可以相对于参考网格提供残差网格数据,因为残差网格数据是接收在图像信号中。然而,在许多实施例中,残差网格数据是相对于从参考位置至相对视点的视点变换/翘曲所生成的网格的。
因此,在这种实施例中,网格处理器203可以被布置为通过将视点变换应用接收的参考网格,来生成中间网格。因此,中间网格是生成自从参考视点至第一视点的参考网格的翘曲。视点变换可以对应于编码器用来生成中间网格(从该中间网格生成残差网格数据)的视点变换。残差网格数据可以因此用于修改中间网格,以生成第一相对网格。
在一些实施例中,残差网格数据可以例如是指示通常是网格中的顶点的子集的修改或改变的信息。例如,可以针对由编码器侦测为重要的及/或所生成的中间网格中的位置与锚点(相对)网格中的位置之间的差异太大的顶点提供偏移或移位向量。接收的移位向量可以相应地应用于网格,以将网格移位至正确的位置。
因此,在许多实施例中,残差网格数据可以仅包括网格的顶点的子集的残差数据(因为翘曲通常保持参考网格的顶点,所以图像信号可以将例如偏移顶点向量链接至任一网格的顶点)。基于中间网格与相对网格之间的比较,可以在编码器中具体地选择顶点。这种方法可以进一步降低数据速率,同时通常对得到的质量具有可以忽略的影响。
这种方法的范例图示在图6中。在此范例中,针对预测/相对锚点的各网格传送少量数据,使得原始网格(其未经传输)可以从自附近的参考锚点翘曲的网格重建。通常,这些修正向量将仅在遮挡/去除遮挡区域中需要,并且因此修正向量的数量将倾向于是小的。
将意识到,网格残差数据可以被提供为对网格本身坐标(x,y,z)坐标中的坐标的参考,或者参考纹理图中的对应坐标(u,v)的坐标,即,网格数据被视为包括两组坐标(实际上,顶点由包括对应的x,y,z与u,v坐标两者的数据向量表示)。
前面的描述集中于其中第二视点(期望视点)的图像是从相对锚点生成的情景,其中此相对锚点基于参考锚点(并且利用与此参考锚点相关的残差数据)生成。然而,在一些实施例中,可以基于多个参考锚点图像、经由一个或多个用作该过程的部分的相对锚点图像,生成输出图像。
也应注意到,在特殊情况下,诸如当期望视点最接近参考锚点时,图1的装置可以在不依赖任何相对锚点的情况下生成图像,例如,其可以仅使用最接近的参考锚点。
在一些实施例中,所描述的方法可以用于生成第二视点的多幅图像,并且可以从这些图像生成输出图像。例如,输出图像可以通过所生成的图像的加权组合来生成,例如,所述权重取决于个体图像的遮挡信息。
在一些实施例中,图像生成器209因此可以被布置为响应于第一纹理图与第一网格(即,响应于第一相对锚点/3D图像)而生成第二视点的第一中间图像。其可以响应于额外纹理图与额外视点的额外网格而进一步生成第二视点的第二中间图像,即,基于不同的锚点图像生成第二中间图像。用于生成第二中间图像的方法可以与用于生成第一中间图像的方法相同,但是基于不同的锚点图像。
此不同的锚点图像可以例如是参考锚点图像。因此,在一些实施例中,额外纹理图与额外网格可以是参考3D图像的纹理图与网格。
在其他实施例或情景中,不同的锚点图像可以是相对锚点图像。因此,在一些实施例中,可以通过使用与第一中间图像完全相同的方法来生成额外的中间图像,但是使用利用不同的残差数据纹理图并且通常是不同的参考图像而生成的不同的相对锚点。
因此,在一些实施例中,第一纹理处理器205被布置为响应于额外参考纹理图从额外参考纹理图的视点至额外视点的视点变换而生成额外中间纹理图,其中额外参考纹理图是第二参考3D图像的纹理图。在这种实施例中,第二纹理处理器207可以被布置为响应于额外中间纹理图与额外视点的额外残差数据纹理图的组合来生成额外纹理图。
类似地,网格处理器203可以被布置为响应于第二参考3D图像的网格从额外参考纹理图的视点至额外视点的视点变换来生成额外网格。
图像生成器209然后可以从得到的额外纹理图与额外网格生成第二中间图像。
在图1与图2的方法中,多个参考图像用于生成第一相对视点的锚点图像信息。
在该方法中,图像信号包括第一视点的多幅残差数据纹理图。残差数据纹理图中的每幅提供第一视点的纹理图相对于不同参考视点的残差数据,即,参考不同的参考纹理图。在此方法中,可以使用不同的参考图像与残差数据纹理图来针对第一视点生成多个替代的相对纹理图与网格。
在这种实施例中,网格处理器203可以被布置为生成第一相对视点的多个网格。例如,除了如上述从第一参考视点生成网格之外,也可以从额外的参考视点生成第一视点的额外的/第二网格。例如,在图3中,从M1生成网格,并且从M5生成额外网格。
具体地,网格处理器203可以针对用于生成输出图像的各参考视点生成相对网格。这些相对网格的各者可以如先前描述地确定,即,通常,可以针对考虑的各参考视点执行翘曲,之后执行任选的基于网格残差数据的修正。
类似地,第一纹理处理器205与第二纹理处理器207可以被布置为生成第一相对视点的多幅纹理图。例如,除了如上述从第一参考视点生成第一纹理图之外,也可以从额外的参考视点生成第一视点的额外的/第二纹理图。例如,在图3中,从T1生成纹理图,并且从T5生成额外纹理图。这些纹理图的各者都通过视图移位、然后通过与来自相关参考视点的适当残差数据纹理图组合而生成。
具体地,第一纹理处理器205与第二纹理处理器207可以针对用于生成输出图像的各参考视点生成相对纹理图。
这些相对纹理图中的每幅可以如先前描述地确定,即,通常,可以针对考虑的各参考视点执行翘曲,之后执行基于残差数据纹理图的修正。因此,具体地,第一纹理处理器205可以通过执行从个体参考视点的位置至第一视点位置的个体参考视点的纹理图的视点变换,来生成各个考虑的参考视点的中间纹理图。然后,第二纹理处理器207可以通过组合中间纹理图与适当的残差数据纹理图而针对所生成的中间纹理图的各者来生成第一视点的纹理图。
图像生成器209然后可以被布置为响应于第一视点的多个相对3D图像(即,响应于从不同的参考锚点生成的第一视点的纹理图与网格)而生成输出图像。
这可以在不同的实施例中以不同的方式完成。在一些实施例中,可以在视点变换至第二视点之前,即,在输出图像的图像合成之前,针对第一视点(即,在相对3D图像上),执行不同相对3D图像的合并或组合。在其他实施例中,将视点变换个体应针对第一视点的多个相对3D图像,并且然后合并(例如平均)第二视点的得到的图像。注意到,如果不同的参考锚点对应于具有不同动态范围的图像,则在合并过程期间可以使用特定的高动态范围处理步骤。
具体地,在一些实施例中,图像生成器209可以被布置为响应于从第一视点至第二视点的视点变换而基于从第一参考3D图像针对第一视点生成的第一纹理图与第一网格来生成针对第二视点的第一中间图像。类似地,图像生成器209可以被布置为响应于从第一视点至第二视点的视点变换而基于从第二参考3D图像针对第一视点生成的第二纹理图与第二网格来生成针对第二视点的第二中间图像。因此,在此情况下,生成替代的中间输出图像。这些输出图像然后由图像生成器209组合/合并,以生成第二视点的最终输出图像。
此方法可以因此对应于多个不同锚点是用于生成第二视点的中间图像的方法,但是特殊的要求是这些锚点3D图像中的一些是用于相同视点。
将意识到,可以应用不同的方法来组合替代的中间输出图像。在许多实施例中,所述组合可以响应于表示参考视点的遮挡信息的遮挡数据。例如,作为视图变换的部分,可以识别变为去除遮挡的区域。通常,针对不同的视点,这些区域将是不同的区域。因此,当组合中间图像时,图像生成器209可以通过执行加权组合来实行此步骤,其中权重被设置为反映对应的像素是否是已经去除遮挡的像素。以此方式,非为从去除遮挡处理得到的像素的权重被加权为高于从去除遮挡处理得到的像素的权重。作为简单的范例,如果另一中间图像中的对应像素不是去除遮挡像素,则去除遮挡像素的权重可以是设置为零。
在一些实施例中,图像生成器209可以被布置为取决于从对应的参考视点至第一视点的视点移位的方向相对于从第一视点至第二视点的视点移位的方向来组合中间图像。具体地,生成自相同方向中的两个视点移位的中间图像的像素的权重可以被加权为高于生成自不同或甚至相反方向中的两个视点移位的中间图像的像素的权重。
这往往可以提供改进的结果,并且特别可以反映出这不太可能导致去除遮挡误差,即,在相同方向上的移位倾向于将导致比相反方向上的移位更少的整体去除遮挡区域。
在第二视点阶段组合的方法的特别的优点是其可以避免第一视点的新的组合网格的任何确定。而是,从参考网格接收或容易导出的网格可以直接使用在视点变换中。虽然可能需要多个视点变换,但是这些通常是标准化的且是高度(硬件)优化的过程,并且因此往往比合并/组合不同网格的操作有较少的运算问题。
在一些实施例中,解码器可以如所述地配置以在执行至第二视点的任何视图变换之前组合第一视点的多个相对3D图像。例如,图像生成器209可以将从第一参考锚点导出的第一纹理图与从第二参考锚点导出的第二纹理图组合成第一视点的第三纹理图。所述组合可以例如是加权组合,其中权重取决于个体的像素是否从去除遮挡处理生成而设置。
此外,图像生成器209可以将从第一参考锚点导出的第一网格与从第二参考锚点导出的第二网格组合成第一视点的第三网格。
可以使用不同的方法来组合网格,但是通常这种操作往往比组合纹理图更复杂。一种选择是侦测来自第一网格的哪些三角形被映射至第二网格的去除遮挡区域中,并且反之亦然。这些三角形可以然后取代去除遮挡区域的三角形。因此,其中网格可以用作为参考,其中生成自去除遮挡的区域由来自另一网格的对应区域所取代。
在一些实施例中,残差网格数据可以包括关于网格如何被合并/组合的信息。例如,点可以被移动、合并、删除,可以形成新的三角形等。
以此方式,图像生成器209可以因此生成相对锚点3D图像,所述相对锚点3D图像然后可以用于至第二视点的视点变换。因此,图像生成器209可以被布置为响应于从第一视点至第二视点的视点变换而基于第三纹理网格与第三网格来生成输出图像。
在下文中,将提供范例的更详细描述,其中使用多个参考锚点,其中使用第二视点数据执行合并。在该方法中,通过将纹理混合延迟至最终绘制(即,至第二视点阶段)来避免网格的混合:
1.具有纹理Ti与网格Mi的多个参考锚点被个体地翘曲至对应于第一视点的预测锚点j上,得到纹理Pi,j与网格Mi,j。
2.任何残差数据纹理图Ei,j细化纹理,得到
Ti,j=Pi,j+Ei。
3.最终的翘曲可以产生第二视点的中间输出图像,其具体地可以是左眼图像Ti,j,L或右眼图像Ti,j,R。此外,其可以产生辅助信息,诸如置信度、视差、深度、或量化伸展量的图等。
4.中间图像然后可以合并,以获得最终的输出图像,其也可以是左眼图像TL或右眼图像TR。
在一些实施例中,输出图像可以基于多个参考锚点,但是这些参考锚点的多个全部使用相同的相对视点。因此,在此范例中,各预测锚点都基于多个参考锚点,所以纹理和网格的集合与预测锚点相关联。预测锚点与参考锚点之间的关系可以通过参考锚点的规则图案及/或参考锚点编码标识符来确定。此范例图示在图7中。
在其他实施例中,输出图像可以基于多个参考锚点,但是经由不同的相对锚点。在这种实施例中,多个预测/相对锚点j可以基于该多个参考锚点生成。在许多这种实施例中,各相对锚点仅从单个参考锚点生成,因为这可以导致降低的复杂度。这种范例图示在图8中。
当然,更一般地,使用一个或多个参考锚点来生成各相对锚点以及使用一个或多个相对锚点(以及任选的参考锚点)来生成输出图像的任何组合可以被使用。这种范例图示在图8中。
将网格组合/相交的优点在于其可以允许使用较粗糙的网格,由此降低通信这些网格所需的数据速率。实际上,只要网格是适度地粗糙,在一般的实施方式中,决定整体复杂性的将是顶点着色器,而非片段着色器。基于此考虑,在一些情景中,将网格相交是有吸引力的;以很少的或无需编码与处理来形成较大的网格。
例如,解码器可以根据以下方法生成相对锚点:
1.多个参考锚点(Ti,Mi)被翘曲至预测锚点(Ti,j,Mi,j),
2.合并纹理,以形成纹理预测Pj
3.添加残差,以形成纹理Tj=Pj+Ej
4.在一些情景中,也可以有密集深度图Dj,其基于输入网格的基于置信度的混合并且任选地用残差Fj修正
5.将网格相交,以形成一个网格Mj=intersecti(Mi,j)。具有仅基于网格的相交方法是有益的,不过,通常其也仰赖纹理,在这种情况下,网格仅在片段着色之后才可以用。
网格相交可以根据此算法来实施:
1.以所有网格作为一个不相接的图来开始
2.任选地,添加规则网格,以确保覆盖整个视口(T)。在一些情况下,此网格的深度值必须从其他网格确定,并且在这种情况下,合理的是先将其他网格相交,然后将结果与规则网格相交。
3.针对在2-D意义上相交的每对相交边e12与e34,
a.在相交点处添加顶点v5。有多种方法用以确定深度(或视差)分量:
i.从最短边(形成最短边的顶点)进行内插
ii.优选地:从置信度最高的边进行内插,其中例如当翘曲的边被拉伸长于原始边时,置信度可能较低
iii.两个边的平均值
iv.从密集深度图Dj抓取值。
b.移除边e12与e34
c.针对1…4中的i,添加边ei5
4.因为网格相交算法是确定性的,所以可以如前述那样添加残差。例如,可以使用顶点索引与值的表来修正一些深度值。
在一些实施例中,网格处理器203可以被布置为对针对第一视点生成的网格(即,相对网格)进行滤波。
实际上,当在深度跳跃处网格与纹理信息完全对齐时,可能在绘制合成视点时出现可以见的拉伸。这可以通过使网格较松散地适配在前景物体周围来避免。当与密集深度图一起运作时,此操作通过形态操作来执行。针对网格,这可以通过迁移深度场的梯度方向中的顶点(朝向远离虚拟相机位置的较远距离)来执行。
滤波的数量很重要,因为如果施加过多的滤波,背景倾向于与前景混合,导致这可能可以见为光晕,尤其是背景运动。
在一些实施例中,图像信号可以被布置为包括指示要施加的滤波的元数据。例如,图像信号可以指定(每档案、流、网格、及/或顶点)应当施加多少滤波。此值可以是以空间单位(例如像素)表示,在这种情况下,仅考虑深度梯度的方向,或者其可以是以深度或视差单位表示,在这种情况下也考虑深度梯度的量值。
这种滤波优选地在添加任何网格残差之前(即,在组合相对网格与对应的网格残差数据之前)施加,使得残差用作对翘曲与滤波两者的修正。
图像信号通常可以包括可以促进图像信号的处理之后元数据(即,关于图像信号的其他数据的数据)。具体而言,图像信号可以如前述般包括用于不同对的参考视点与残差视点的多幅残差数据纹理图。图像信号可以还包括元数据用于指示图像信号的哪些3D图像是链接至图像信号的哪些残差数据纹理图。解码器可以提取此元数据,并在生成给定的相对锚点的纹理图时继续选择适当的残差数据纹理图与参考图像。
在许多实施例中,图像信号可以额外地或替代地包括网格生成控制数据,并且网格处理器203可以被布置为响应于该网格生成控制数据来生成(一个或多个)相对网格。
例如,如上述,网格生成控制数据可以包括指定应当施加至所生成的中间网格的滤波的数据。这允许编码器控制滤波,使得这可以基于实际图像特性进行调整,并且实际上,可以基于例如与针对给定相对视点可能已经接收的原始网格的比较来做此考虑。
该方法也可以允许网格生成控制数据针对不同的相对视点及/或针对不同的参考视点提供不同的控制数据。因此,其可以允许相异的锚点被不同地处理。例如,可以提供包括以下的网格生成控制数据:
·指示各预测锚点应当如何形成网格从而在若干可以用的选项之间选择的字段,例如:
·规则网格
·来自最接近锚点的网格
·来自锚点i的网格
·网格相交
·等等
·指示每个预测锚点要使用多少参考锚点与哪些参考铺点的字段。
图2的装置可以因此包括:接收器(201),所述接收器用于接收包括表示场景的自不同视点的若干三维图像的图像信号,每幅三维图像包括网格与纹理图,所述信号还包括第一视点的残差数据纹理图,所述第一视点不同于所述若干三维图像的所述不同视点,所述残差数据纹理图提供所述第一视点的纹理图相对于由参考纹理图的视点移位产生的纹理图的残差数据,所述参考纹理图是所述若干三维图像中的第一三维图像的纹理图;网格处理器(203),用于生成针对所述第一视点的第一网格;第一纹理处理器(205),用于响应于所述参考纹理图从所述第一三维图像的视点至所述第一视点的视点变换而生成中间纹理图;第二纹理处理器(207),用于响应于所述中间纹理图与所述残差数据纹理图的组合而生成第一纹理图;以及图像生成器(209),用于从所述第一纹理图与所述第一网格生成第二视点的图像。
另外,所述图像信号具体地可以包括所述第一视点的多幅残差数据纹理图,所述多幅残差数据纹理图包括所述第一视点的所述残差数据纹理图;并且网格处理器(203)可以被布置为从额外参考网格进一步生成针对所述第一视点的第二网格,所述额外参考网格是所述多幅三维图像中的第二三维图像的网格;第一纹理处理器(205)可以被布置为响应于额外参考纹理图从所述第二三维图像的视点至所述第一视点的视点变换而生成额外中间纹理图,所述额外参考纹理图是所述第二三维图像的纹理图;第二纹理处理器(207)可以被布置为响应于所述第一视点的所述额外中间纹理图与额外残差数据纹理图的组合而生成第二纹理图,所述额外残差数据纹理图是用于所述第二三维图像;并且图像生成器(209)可以被布置为从所述第二纹理图与所述第二网格进一步生成所述第二视点的所述图像。
可以使用该特定方法的视点将取决于个体实施例的要求与偏好。在许多实施例中,所述方法将用于生成经局部确定(例如基于用户输入或移动)的场景中的虚拟视点的图像(例如用以提供虚拟现实体验)。
然而,诚挚地提出,所述方法不限于这种实施例,并且可以使用基于例如视点信息(被包括在与场景数据相同的信号中)的实际的实施方式。例如,除了所述的场景数据之外,所述信号可以包括偏好的、强制性的、或建议的视点的指示,并且该装置可以使用所定义的方法来生成这些视点的图像。
实际上,作为范例,甚至可以想到,所述方法可以用于基于另一参考视点与相对视点局部地生成参考视点的图像。这种图像可以例如与直接从第一参考视点的网格与纹理生成的对应图像进行比较。如果差异小于给定量,则系统可以决定第一参考视点的网格与纹理图可以丢弃,并且可以在没有此信息的情况下生成新的信号。因此,所述装置可以使用所定义的方法来执行转码/数据速率降低。
一般而言,第二视点将较靠近第一视点、较远离原始参考视点,但这绝不是必须的。例如,原始参考视点可能恰好在遮挡住大背景部分的前景物体的右侧。期望视点(第二视点)可能恰好在此前景物体的左侧,并且因此参考视点的网格与纹理图可能无法提供被遮挡的背景部分的足够(或任何)信息。然而,可以提供实质上位于前景物体左侧的第一/相对视点的残差纹理图,并且第一/相对视点可以实质上比参考视点更远离第二(期望)视点。然而,生成此第一/相对视点的纹理图与网格可以生成更佳的信息,所述信息可以用于生成第二个视点的图像(其将具有关于从参考视点被遮挡的大背景部分的信息)。注意到,即使第一/相对视点数据是基于参考视点,情况也将是如此,因为残差纹理图将包括从参考视点被前景物体遮挡的背景部分的信息。
将意识到,可设想出许多不同的范例,并且优选的方法与实施方式将取决于个体实施例的个体要求与偏好(包括例如场景的细节、数据速率等)。
应当理解,为了清楚起见,以上描述已经参考不同的功能电路、单元和处理器描述了本发明的实施例。然而,显而易见的是,可以在不背离本发明的情况下使用不同功能电路、单元或处理器之间的任何合适的功能分布。例如,被示为由分别的处理器或控制器执行的功能可以由相同的处理器执行。因此,对特定功能单元或电路的引用仅被视为对用于提供所描述的功能的合适设备的引用,而不是指示严格的逻辑或物理结构或组织。
本发明可以以任何合适的形式实现,包括硬件、软件、固件或这些的任何组合。本发明可以任选地至少部分地实现为在一个或多个数据处理器和/或数字信号处理器上运行的计算机软件。本发明的实施例的元件和部件可以以任何合适的方式来物理地、功能地和逻辑地实现。实际上,功能可以在单个单元中、在多个单元中或作为其他功能单元的一部分来实现。这样,本发明可以在单个单元中实现,或者可以在不同的单元、电路和处理器之间物理地和功能地分布。
尽管已经结合一些实施例描述了本发明,但是并不旨在将本发明限于这里阐述的特定形式。相反,本发明的范围仅受所附权利要求的限制。另外,尽管可能看起来结合特定实施例描述了特征,但是本领域技术人员将认识到,可以根据本发明组合所描述的实施例的各种特征。在权利要求中,术语“包括”不排除存在其他元件或步骤。
此外,尽管单独列出,但是多个设备、元件、电路或方法步骤可以通过例如单个电路、单元或处理器来实现。另外,尽管各个特征可以包括在不同的权利要求中,但是这些特征可以有利地组合,并且包含在不同的权利要求中并不意味着特征的组合是不可行和/或不利的。在一类权利要求中包含特征并不意味着对该类别的限制,而是指示该特征在合适时同样适用于其他权利要求类别。此外,权利要求中的特征的顺序并不意味着特征必须工作的任何特定顺序,并且特别地,方法权利要求中的各个步骤的顺序并不意味着必须以该顺序执行这些步骤。而是,可以以任何合适的顺序来执行这些步骤。另外,单数引用不排除多个。因此,对“一”、“一个”、“第一”、“第二”等的引用不排除多个。权利要求中的附图标记仅被提供用于地使示例清楚,不应被解释为以任何方式限制权利要求的范围。
Claims (13)
1.一种用于生成图像的装置,所述装置包括:
接收器(201),其用于接收图像信号,所述图像信号包括表示场景的自不同视点的若干三维图像,每幅三维图像包括网格与纹理图,所述信号还包括针对第一视点的多幅残差数据纹理图,所述第一视点不同于所述若干三维图像的所述不同视点,所述多幅残差数据纹理图中的第一残差数据纹理图提供针对所述第一视点的纹理图相对于根据从第一三维图像的视点到所述第一视点的第一参考纹理图的视点移位产生的纹理图的残差数据,所述第一参考纹理图是所述若干三维图像中的所述第一三维图像的纹理图,并且所述多幅残差数据纹理图中的第二残差数据纹理图提供针对所述第一视点的纹理图相对于根据从第二三维图像的视点到所述第一视点的第二参考纹理图的视点移位产生的纹理图的残差数据,所述第二参考纹理图是所述若干三维图像中的所述第二三维图像的纹理图,所述图像信号不包括针对所述第一视点的整个纹理图;
网格处理器(203),其用于从第一参考网格生成针对所述第一视点的第一网格并且从第二参考网格生成针对所述第一视点的第二网格,所述第一参考网格是所述若干三维图像中的所述第一三维图像的网格,所述第二参考网格是所述若干三维图像中的所述第二三维图像的网格;
第一纹理处理器(205),其用于响应于所述第一参考纹理图的从所述第一三维图像的视点至所述第一视点的视点变换而生成第一中间纹理图,并且响应于所述第二参考纹理图的从所述第二三维图像的视点至所述第一视点的视点变换而生成第二中间纹理图;
第二纹理处理器(207),其用于响应于所述第一中间纹理图与所述第一残差数据纹理图的组合而生成针对所述第一视点的第一纹理图,并且响应于所述第二中间纹理图与所述第二残差数据纹理图的组合而生成针对所述第一视点的第二纹理图;以及
图像生成器(209),其用于从所述第一纹理图、所述第一网格、所述第二纹理图以及所述第二网格生成针对第二视点的二维图像,所述第二视点不同于所述第一视点并且不同于所述若干三维图像的所述不同视点。
2.根据权利要求1所述的装置,其中,所述图像信号还包括参考了所述第一参考网格的针对所述第一视点的网格的网格残差数据,并且所述网格处理器(203)被布置为响应于所述网格残差数据和所述第一参考网格而生成所述第一网格。
3.根据权利要求2所述的装置,其中,所述网格残差数据包括针对所述第一视点的所述网格的顶点的仅子集的残差数据。
4.根据权利要求1所述的装置,其中,所述图像信号不包括针对所述第一视点的网格数据。
5.根据权利要求1所述的装置,其中,所述图像信号包括网格生成控制数据;并且所述网格处理器被布置为响应于所述网格生成控制数据而生成所述第一网格。
6.根据权利要求1所述的装置,其中,所述图像信号包括元数据,所述元数据指示链接至所述多幅残差数据纹理图的三维图像。
7.根据权利要求1-6中的任一项所述的装置,其中,所述图像生成器(209)被布置为:响应于所述第一纹理图和所述第一网格而生成针对所述第二视点的第一中间图像,响应于针对额外视点的额外纹理图和额外网格而生成针对所述第二视点的第二中间图像;并且通过组合所述第一中间图像与所述第二中间图像来生成针对所述第二视点的所述二维图像。
8.根据权利要求1所述的装置,其中,所述图像生成器(209)被布置为:响应于从所述第一视点至所述第二视点的视点变换而基于所述第一纹理图和所述第一网格来生成针对所述第二视点的第一中间图像,响应于从所述第一视点至所述第二视点的视点变换而基于所述第二纹理图和所述第二网格来生成针对所述第二视点的第二中间图像;并且通过组合所述第一中间图像与所述第二中间图像来生成针对所述第二视点的所述二维图像。
9.根据权利要求8所述的装置,其中,所述图像生成器(209)被布置为响应于与所述第一三维图像和所述第二三维图像中的至少一个的视点相关联的遮挡数据而组合所述第一中间图像与所述第二中间图像。
10.根据权利要求1所述的装置,其中,所述图像生成器(209)被布置为:将所述第一纹理图与所述第二纹理图组合成针对所述第一视点的第三纹理图,并且将所述第一网格与所述第二网格组合成针对所述第一视点的第三网格;并且响应于从所述第一视点至所述第二视点的视点变换而基于所述第三纹理图和所述第三网格来生成所述图像。
11.一种用于生成图像信号的装置,所述装置包括:
接收器(101),其用于接收表示场景的自不同视点的若干三维图像;每幅三维图像包括网格与纹理图,并且用于接收针对第一视点的第一纹理图,所述第一视点不同于所述三维图像的所述不同视点;
视图移位处理器(105),其用于响应于第一参考纹理图的从所述若干三维图像中的第一三维图像的视点至所述第一视点的视点变换而生成第一中间纹理图,并且响应于第二参考纹理图的从所述若干三维图像中的第二三维图像的视点至所述第一视点的视点变换而生成第二中间纹理图;
残差处理器(107),其被布置为响应于所述第一中间纹理图与所述第一纹理图的比较而生成第一残差数据纹理图,并且响应于所述第二中间纹理图与所述第一纹理图的比较而生成第二残差数据纹理图,所述第一残差数据纹理图指示所述第一中间纹理图与所述第一纹理图之间的差异,并且所述第二残差数据纹理图指示所述第二中间纹理图与所述第一纹理图之间的差异;以及
信号生成器(103),其用于生成所述图像信号以包括所述若干三维图像、所述第一残差数据纹理图以及所述第二残差数据纹理图,但不包括所述第一纹理图。
12.一种生成图像的方法,所述方法包括:
接收图像信号,所述图像信号包括表示场景的自不同视点的若干三维图像,每幅三维图像包括网格与纹理图,所述信号还包括针对第一视点的多幅残差数据纹理图,所述第一视点不同于所述若干三维图像的所述不同视点,所述多幅残差数据纹理图中的第一残差数据纹理图提供针对所述第一视点的纹理图相对于根据从第一三维图像的视点到所述第一视点的第一参考纹理图的视点移位产生的纹理图的残差数据,所述第一参考纹理图是所述若干三维图像中的所述第一三维图像的纹理图,并且所述多幅残差数据纹理图中的第二残差数据纹理图提供针对所述第一视点的纹理图相对于根据从第二三维图像的视点到所述第一视点的第二参考纹理图的视点移位产生的纹理图的残差数据,所述第二参考纹理图是所述若干三维图像中的所述第二三维图像的纹理图,所述图像信号不包括针对所述第一视点的整个纹理图;
从第一参考网格生成针对所述第一视点的第一网格并且从第二参考网格生成针对所述第一视点的第二网格,所述第一参考网格是所述若干三维图像中的所述第一三维图像的网格,所述第二参考网格是所述若干三维图像的所述第二三维图像的网格;
响应于所述第一参考纹理图的从所述第一三维图像的视点至所述第一视点的视点变换而生成第一中间纹理图,并且响应于所述第二参考纹理图的从所述第二三维图像的视点至所述第一视点的视点变换而生成第二中间纹理图;
响应于所述第一中间纹理图与所述第一残差数据纹理图的组合而生成针对所述第一视点的第一纹理图,并且响应于所述第二中间纹理图与所述第二残差数据纹理图的组合而生成针对所述第一视点的第二纹理图;以及
从所述第一纹理图、所述第一网格、所述第二纹理图以及所述第二网格生成针对第二视点的二维图像,所述第二视点不同于所述第一视点并且不同于所述若干三维图像的所述不同视点。
13.一种生成图像信号的方法,所述方法包括:
接收表示场景的自不同视点的若干三维图像;每幅三维图像包括网格与纹理图,并且用于接收针对第一视点的第一纹理图,所述第一视点不同于所述三维图像的所述不同视点;
响应于第一参考纹理图的从所述若干三维图像中的第一三维图像的视点至所述第一视点的视点变换而生成第一中间纹理图,并且响应于第二参考纹理图的从所述若干三维图像中的第二三维图像的视点至所述第一视点的视点变换而生成第二中间纹理图;
响应于所述第一中间纹理图与所述第一纹理图的比较而生成第一残差数据纹理图,并且响应于所述第二中间纹理图与所述第一纹理图的比较而生成第二残差数据纹理图,所述第一残差数据纹理图指示所述第一中间纹理图与所述第一纹理图之间的差异,并且所述第二残差数据纹理图指示所述第二中间纹理图与所述第一纹理图之间的差异;以及
生成所述图像信号以包括所述若干三维图像、所述第一残差数据纹理图、与所述第二残差数据纹理图,但不包括所述第一纹理图。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17177649.5A EP3419286A1 (en) | 2017-06-23 | 2017-06-23 | Processing of 3d image information based on texture maps and meshes |
EP17177649.5 | 2017-06-23 | ||
PCT/EP2018/066159 WO2018234258A1 (en) | 2017-06-23 | 2018-06-19 | PROCESSING 3D IMAGE INFORMATION BASED ON TEXTURE AND MESH CARDS |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110999285A CN110999285A (zh) | 2020-04-10 |
CN110999285B true CN110999285B (zh) | 2023-02-28 |
Family
ID=59152789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880049509.1A Active CN110999285B (zh) | 2017-06-23 | 2018-06-19 | 基于纹理图与网格的3d图像信息的处理 |
Country Status (9)
Country | Link |
---|---|
US (1) | US11189079B2 (zh) |
EP (2) | EP3419286A1 (zh) |
JP (1) | JP7181233B2 (zh) |
KR (1) | KR102538939B1 (zh) |
CN (1) | CN110999285B (zh) |
BR (1) | BR112019027116A2 (zh) |
RU (1) | RU2764187C2 (zh) |
TW (1) | TWI800513B (zh) |
WO (1) | WO2018234258A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL294397B2 (en) * | 2017-09-01 | 2024-02-01 | Magic Leap Inc | Creating a new frame using processed and unprocessed content from a previous perspective |
EP3509308A1 (en) | 2018-01-05 | 2019-07-10 | Koninklijke Philips N.V. | Apparatus and method for generating an image data bitstream |
EP3712843A1 (en) | 2019-03-19 | 2020-09-23 | Koninklijke Philips N.V. | Image signal representing a scene |
GB2582315B (en) | 2019-03-19 | 2023-05-17 | Sony Interactive Entertainment Inc | Method and system for generating an image |
US11217011B2 (en) * | 2019-04-19 | 2022-01-04 | Facebook Technologies, Llc. | Providing semantic-augmented artificial-reality experience |
US20220309733A1 (en) * | 2021-03-29 | 2022-09-29 | Tetavi Ltd. | Surface texturing from multiple cameras |
US20230162404A1 (en) * | 2021-11-22 | 2023-05-25 | Tencent America LLC | Decoding of patch temporal alignment for mesh compression |
CN114140569B (zh) * | 2022-01-27 | 2022-04-26 | 山东捷瑞数字科技股份有限公司 | 一种三维场景序列化压缩方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101626509A (zh) * | 2009-08-10 | 2010-01-13 | 北京工业大学 | 三维网格编码、解码方法及编码、解码装置 |
CN102625126A (zh) * | 2012-03-22 | 2012-08-01 | 北京工业大学 | 一种基于预测的三维网格编码方法 |
CN104541308A (zh) * | 2012-09-28 | 2015-04-22 | 英特尔公司 | 使用多边形的3d网格和对应纹理对图像进行编码 |
CN106716490A (zh) * | 2014-09-09 | 2017-05-24 | 高通股份有限公司 | 用于视频译码的同时定位与地图构建 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6124864A (en) * | 1997-04-07 | 2000-09-26 | Synapix, Inc. | Adaptive modeling and segmentation of visual image streams |
EP1204073B1 (en) * | 2000-10-27 | 2007-01-31 | Canon Kabushiki Kaisha | Image generation method and apparatus |
RU2237283C2 (ru) * | 2001-11-27 | 2004-09-27 | Самсунг Электроникс Ко., Лтд. | Устройство и способ представления трехмерного объекта на основе изображений с глубиной |
KR100731979B1 (ko) | 2005-10-18 | 2007-06-25 | 전자부품연구원 | 다시점 정방향 카메라 구조 기반의 메쉬를 이용한 중간영상 합성 방법 및 장치와 이를 구현하는 기능을실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는기록 매체 |
TWI348120B (en) | 2008-01-21 | 2011-09-01 | Ind Tech Res Inst | Method of synthesizing an image with multi-view images |
KR101697598B1 (ko) * | 2008-10-27 | 2017-02-01 | 엘지전자 주식회사 | 가상 뷰 이미지 합성 방법 및 장치 |
WO2011068582A2 (en) * | 2009-09-18 | 2011-06-09 | Logos Technologies, Inc. | Systems and methods for persistent surveillance and large volume data streaming |
RU2467395C1 (ru) * | 2011-07-11 | 2012-11-20 | Российская Федерация, От Имени Которой Выступает Министерство Промышленности И Торговли Российской Федерации | Способ создания изображений трехмерных объектов для систем реального времени |
US20130095920A1 (en) * | 2011-10-13 | 2013-04-18 | Microsoft Corporation | Generating free viewpoint video using stereo imaging |
KR101429349B1 (ko) * | 2012-09-18 | 2014-08-12 | 연세대학교 산학협력단 | 중간 시점 영상 합성 장치 및 방법과 이에 관한 기록매체 |
GB2499694B8 (en) * | 2012-11-09 | 2017-06-07 | Sony Computer Entertainment Europe Ltd | System and method of image reconstruction |
US10163247B2 (en) * | 2015-07-14 | 2018-12-25 | Microsoft Technology Licensing, Llc | Context-adaptive allocation of render model resources |
EP3507773A1 (en) * | 2016-09-02 | 2019-07-10 | Artomatix Ltd. | Systems and methods for providing convolutional neural network based image synthesis using stable and controllable parametric models, a multiscale synthesis framework and novel network architectures |
US10699466B2 (en) | 2016-12-06 | 2020-06-30 | Koninklijke Philips N.V. | Apparatus and method for generating a light intensity image |
US10026218B1 (en) * | 2017-11-01 | 2018-07-17 | Pencil and Pixel, Inc. | Modeling indoor scenes based on digital images |
EP3509308A1 (en) * | 2018-01-05 | 2019-07-10 | Koninklijke Philips N.V. | Apparatus and method for generating an image data bitstream |
-
2017
- 2017-06-23 EP EP17177649.5A patent/EP3419286A1/en not_active Withdrawn
-
2018
- 2018-06-19 BR BR112019027116-3A patent/BR112019027116A2/pt unknown
- 2018-06-19 JP JP2019570444A patent/JP7181233B2/ja active Active
- 2018-06-19 CN CN201880049509.1A patent/CN110999285B/zh active Active
- 2018-06-19 US US16/622,996 patent/US11189079B2/en active Active
- 2018-06-19 KR KR1020207002012A patent/KR102538939B1/ko active IP Right Grant
- 2018-06-19 RU RU2020102462A patent/RU2764187C2/ru active
- 2018-06-19 EP EP18732338.1A patent/EP3643059B1/en active Active
- 2018-06-19 WO PCT/EP2018/066159 patent/WO2018234258A1/en active Application Filing
- 2018-06-20 TW TW107121041A patent/TWI800513B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101626509A (zh) * | 2009-08-10 | 2010-01-13 | 北京工业大学 | 三维网格编码、解码方法及编码、解码装置 |
CN102625126A (zh) * | 2012-03-22 | 2012-08-01 | 北京工业大学 | 一种基于预测的三维网格编码方法 |
CN104541308A (zh) * | 2012-09-28 | 2015-04-22 | 英特尔公司 | 使用多边形的3d网格和对应纹理对图像进行编码 |
CN106716490A (zh) * | 2014-09-09 | 2017-05-24 | 高通股份有限公司 | 用于视频译码的同时定位与地图构建 |
Also Published As
Publication number | Publication date |
---|---|
US11189079B2 (en) | 2021-11-30 |
EP3419286A1 (en) | 2018-12-26 |
CN110999285A (zh) | 2020-04-10 |
TW201921921A (zh) | 2019-06-01 |
KR102538939B1 (ko) | 2023-06-01 |
JP7181233B2 (ja) | 2022-11-30 |
WO2018234258A1 (en) | 2018-12-27 |
EP3643059A1 (en) | 2020-04-29 |
TWI800513B (zh) | 2023-05-01 |
RU2764187C2 (ru) | 2022-01-14 |
KR20200020879A (ko) | 2020-02-26 |
JP2020524851A (ja) | 2020-08-20 |
RU2020102462A3 (zh) | 2021-08-25 |
EP3643059B1 (en) | 2022-03-30 |
US20210150802A1 (en) | 2021-05-20 |
BR112019027116A2 (pt) | 2020-07-07 |
RU2020102462A (ru) | 2021-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110999285B (zh) | 基于纹理图与网格的3d图像信息的处理 | |
Daribo et al. | A novel inpainting-based layered depth video for 3DTV | |
US7689031B2 (en) | Video filtering for stereo images | |
TWI764959B (zh) | 用於產生光強度影像之裝置與方法 | |
KR20110116671A (ko) | 메쉬 생성 장치 및 그 방법, 그리고, 영상 처리 장치 및 그 방법 | |
KR20160135660A (ko) | 헤드 마운트 디스플레이를 위한 입체 영상을 제공하는 방법 및 장치 | |
CN110945868B (zh) | 用于生成场景的平铺三维图像表示的装置和方法 | |
JP2022533754A (ja) | ボリュメトリック映像の符号化および復号化のための方法、装置、およびコンピュータプログラム製品 | |
JP7460641B2 (ja) | 光強度画像を生成するための装置及び方法 | |
KR101163020B1 (ko) | 3차원 모델을 스케일링하는 방법 및 스케일링 유닛 | |
EP4254958A1 (en) | Compression of depth maps | |
EP4345759A1 (en) | Generation of adapted mesh representation for a scene | |
Wei et al. | Efficient view synthesis scheme with ray casting and pull-push techniques |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |