CN110945868B - 用于生成场景的平铺三维图像表示的装置和方法 - Google Patents
用于生成场景的平铺三维图像表示的装置和方法 Download PDFInfo
- Publication number
- CN110945868B CN110945868B CN201880048947.6A CN201880048947A CN110945868B CN 110945868 B CN110945868 B CN 110945868B CN 201880048947 A CN201880048947 A CN 201880048947A CN 110945868 B CN110945868 B CN 110945868B
- Authority
- CN
- China
- Prior art keywords
- tile
- depth
- depth value
- tiles
- scene
- 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/20—Image signal generators
- H04N13/261—Image signal generators with monoscopic-to-stereoscopic image conversion
- H04N13/268—Image signal generators with monoscopic-to-stereoscopic image conversion based on depth image-based rendering [DIBR]
-
- 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/128—Adjusting depth or disparity
-
- 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
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- 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
- H04N13/117—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N2013/0074—Stereoscopic image analysis
- H04N2013/0081—Depth or disparity estimation from stereoscopic image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N2013/0074—Stereoscopic image analysis
- H04N2013/0092—Image segmentation from stereoscopic image signals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Computing Systems (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Apparatus For Radiation Diagnosis (AREA)
Abstract
一种用于生成场景的三维图像表示的装置包括:接收器(301),其接收场景的自第一视点的平铺三维图像表示,所述表示包括多个互连的图块,每个图块包括深度图和纹理图,所述深度图和所述纹理图表示所述场景的自所述第一视点的视口,并且所述图块形成平铺图案。第一处理器(311)响应于所述平铺图案而确定至少第一图块中和第二图块中的相邻边界区域。第二处理器(309)响应于所述第二图块的第二边界区域中的至少第二深度值而修改所述第一图块的第一边界区域的至少第一深度值,所述边界区域是相邻区域。所述经修改深度图可用于生成网格,基于所述网格可以生成图像。
Description
技术领域
本发明涉及一种用于生成场景的平铺三维图像表示的装置和方法,并且具体地但不排他地涉及生成适合用于基于转换成网格表示来生成图像的场景的改善的平铺三维图像表示。
背景技术
通常,图像的技术处理和使用已基于二维成像,但在图像处理中正明确地考虑三维。
例如,已发展通过将正被观看的场景的不同视图提供给观看者双眼而将第三维加至观看体验的三维(3D)显示器。这能通过使用户佩戴眼镜以分离被显示的两视图而实现。然而,由于这被认为对用户不便利,在许多情景中使用裸视立体(autostereoscopic)显示器是较佳的,其使用在显示器处的器件(诸如,柱状透镜、或屏障)以分离视图,并在它们可个体地抵达用户眼睛的不同方向上发送它们。立体显示器需要两个视图,然而裸视立体显示器通常需要更多视图(例如,九个视图)。
在许多实施例中,生成用于新观看方向的视图图像会是期望的。虽然基于图像和深度信息生成这种新视图图像的各种算法是已知的,但是它们往往高度相依于所提供(或所导出)的深度信息的准确度。
实际上,经常由对应于针对场景的不同观看方向的多个图像提供三维图像信息。具体地说,越来越多地将视频内容(诸如,影片或电视节目)生成为包括一些3D信息。能使用专用3D或深度感测摄像机(诸如,从略为偏移的摄像机位置捕获两个同时图像的摄像机)捕获这样的信息。
然而,在许多应用中,所提供的图像可能不直接对应于期望方向,或可能需要更多图像。例如,针对裸视立体显示器,需要两个以上的图像,并且实际上经常使用9至26个视图图像。
为了生成对应于不同观看方向的图像,可采用视点位移处理。这通常通过使用针对单观看方向的图像连同相关联的深度信息的视图位移算法执行。
基于三维图像处理的应用的具体范例是虚拟现实应用。在典型的虚拟现实体验中,可连续地生成用于例如虚拟现实头戴装置的右眼视图图像和左眼视图图像以与用户的移动和取向改变相匹配。动态虚拟现实视图的这种生成通常基于处理表示对应于虚拟现实环境的给定场景的3D图像数据。例如,虚拟现实服务器可基于三维模型或三维图像(诸如由光强度图像和深度图所表示的图像,或由纹理图和深度网格所表示的图像)而生成针对特定视图的视图图像。
对于诸如虚拟现实应用的应用,可以例如随由于虚拟环境中用户实际上移动或改变观看方向/取向所引起的这些变化来生成一系列图像,以反映用户的视图。在一些应用中,可以生成图像以反映观看者取向的变化,但不支持在区域中的移动。反映这种场景的视频经常称为全向视频。在其他应用中,也可以支持移动观看位置以反映虚拟现实环境中的用户的虚拟移动。反映这种场景的视频经常称为沉浸式视频。用户的当前视图可由视图向量表示,所述视图向量描述针对视点的相关位置和方向参数。
对于全向视频,视图向量通常描述根据三自由度(3DOF)的取向,通常通过提供偏航值、俯仰值和翻滚值(或方位角、仰角和倾斜)。
对于沉浸式视频而言,向量通常描述根据六自由度(6DoF)的取向和位置,通常通过提供偏航值、俯仰值、翻滚值和针对三个空间维度的值。
然而,当试图开发和支持支持可变观看位置和/或观看方向的灵活视频和图像应用时的具体挑战是这些可变观看位置和/或观看方向优选地不限于位置和/或方向的子集而是理想地支持所有位置和/或方向。例如,对于6DoF沉浸式视频,观看者可从任何位置和任何方向观看场景。这要求3D信息针对场景的所有部分以及来自所有位置和所有方向可用。在许多实际应用中,此项要求是困难的或不可能满足的,例如其中3D数据是基于真实世界场景的捕获的特定应用。
物体的位置和方向/取向的组合在本领域中通常称为放置或姿态。因此,放置或姿态向量可以包括六个值/分量,其中各值/分量描述对应物体的位置/定位或取向/方向的个体属性。当然,在一些情况中,放置或姿态向量可以具有更少的分量来表示位置和取向,例如,如果一个或多个分量视为固定(例如,如果所有物体皆视为处于相同高度并且是水平的,则四个分量可提供物体的姿势的完整表示)。
待解决的最困难挑战的是如何有效地表示场景,使得该表示提供充分信息,以允许生成充分高质量的合适视点图像,但仍允许易于通信、存储、修改和/或处理该表示。
所使用的一种方法是提供针对给定观看位置的全向图像,其中全向图像提供,例如,视觉信息,作为以对应的观看位置为中心的球体或半球体,其中球体具有反映在对应观看方向上的场景的视觉属性的迭加的图像。在许多应用中,已经通过不是将视图表示为围绕视点的球形物体的纹理,而是将纹理替代地映射至以三维多边形为基础的结构上(诸如通常是围绕视点定位的立方体),来修改此方法。在这种情况中,因此,来自给定视点的全向视图被纹理映射至围绕视点定位的立方体上。当生成对应于定位在视点处的观察者的特定观看方向的图像时,图像生成***可简单地将给定视口的立方体的合适部分绘制至对应图像上。
然而,虽然这种方法在许多实施例中可以提供有利的方法,但是其可能并不是在所有情况中都是最佳的,并且可能具有一些相关联的缺点。例如,此方法可能并不在所有情况中都提供最佳图像质量,并且特别是伪影可起因于映射至立方体的不同侧的纹理的处理。
因此,用于生成场景的三维图像表示的改善方法将是有利的。具体地,允许改善操作、增强灵活性、促进实施、促进操作、降低复杂性、减少资源需求和/或改善性能的方法将是有利的。
发明内容
因此,本发明寻求单独或采用任何组合来优选地缓和、减轻、或消除上文提及的缺点中的一个或多个。
根据本发明的一方面,提供了一种生成场景的平铺三维图像表示的装置,所述装置包括:接收器,其用于接收场景的自第一视点的平铺三维图像表示,所述平铺三维图像表示包括多个互连的图块,每个图块包括深度图和纹理图,所述深度图和所述纹理图表示所述场景的自所述第一视点的视口,并且所述图块形成平铺图案;第一处理器,其用于响应于所述平铺图案而确定至少第一图块中和第二图块中的相邻边界区域,所述第一图块和所述第二图块是相邻图块;第二处理器,其用于响应于所述第二图块的第二边界区域中的至少第二深度值而修改所述第一图块的第一边界区域的至少第一深度值,使得对于所述第一深度值和所述第二深度值中的至少一些值,所述第一深度值与所述第二深度值之间的差异被减小,所述第一边界区域和所述第二边界区域是相邻边界区域。
在许多情况中,本发明可提供改善的性能,并且可以例如提供能够有效地通信、存储和处理的三维图像表示。尤其在许多情况中,本发明可提供用于生成三维图像表示的低复杂度方法,所述低复杂度方法可以通常提供针对给定图像质量的较低数据速率表示,并且其还可以支持例如数据的灵活和部分分布,这允许例如远程客户端接收数据并且本地生成表示场景的来自不同视点和方向的图像。具体地,所述方法可以允许高度且有效率虚拟现实体验,其中例如可以在需要时灵活提供适当数据给远程虚拟现实客户端。
该接收器可以接收输入平铺三维图像表示,并且通过修改至少所述第一深度值(并且通常大量图块边界深度值)而从该输入平铺三维图像表示来生成输出平铺三维图像表示。
在许多情况中,所述方法可提供改善的图像质量,并且特别是可以降低伪影和不准确。此方法可反映认识到错误和伪影可以特别是针对使不同图块交叠的视口发生,并且认识到这样的错误和伪影通常可起因于不同图块的边界区域中的深度值之间的不一致,诸如可起因于一般对深度图执行的有损编码和译码。在许多情况中,此方法可以减少或甚至移除许多这样的伪影和错误。在许多情况中,所述方法可提供较平滑的用户体验,其中图块之间的过渡不可察觉。
在许多实施例中,场景的三维图像表示可被视为场景的至少一部分的三维模型。
在许多实施例中,所述第二处理器可以被布置为通过修改所述第一深度值来约束所述第一深度值与所述第二深度值之间的差值,使得介于所述第一深度值与所述第二深度值之间的差值针对所述第一深度的所有潜在值而受到约束。具体地,在许多实施例中,所述第二处理器可以被布置为修改所述第一深度值,使得所述第一深度值与所述第二深度值之间的差值不超过阈值。
通过所述第二处理器的修改可以仅针对所述第一深度值和所述第二深度值中的一些值来改变所述第一深度值的值。对于所述第一深度值和所述第二深度值中的一些值,所述第一深度值可以不改变,即,所述经修改深度值可与原始深度值相同。例如,如果所述第一深度值和所述第二深度值相等,则所述第二处理器可以不改变所述第一深度值。
在许多实施例中,所述平铺图案可以是预定/预定义的平铺图案。所述平铺图案是非平面的。具体地,平铺图案可以是三维的且可以具有在所有三个维度上的延伸。图块和平铺图案可形成三维结构。
每个深度值可对应于(通常)矩形或者特别地正方形深度图中的深度像素,即,每个深度值可以是在对应深度图中的对应像素位置处的深度像素的值。
所述装置可以被布置为修改多个第一深度值,诸如具体地在所述第一边界区域中的所有深度值。具体地,在所述第一边界区域中,可以针对多个深度像素,并且可能针对每个深度像素,重复该方法。
所述第一深度值和所述第二深度值可以被选择为对应于自所述第一视点的相同观看方向的深度值。所述第一深度值和所述第二深度值可以被选择为使得针对从所述第一视点朝向所述第一深度值的观看方向/向量与从所述第一视点朝向所述第二深度值的观看方向/向量之间的差异的差异度量低于阈值。例如,可以要求从所述第一视点朝向分别针对所述第一深度值与所述第二深度值的位置的视图向量之间的视角角度小于阈值,或者针对所述第一图块和所述第二图块中的深度值的任何对而言最小。
在许多实施例中,所述第二深度值可以是最靠近所述第一深度值的深度像素的所述第二区域中的深度像素的深度值。
互连的图块与一个并且通常多于一个其他互连的图块可以具有共同边界。对于平铺图案,互连的图块可提供针对视口的连续覆盖,其中每个互连的图块提供覆盖该整个视口的子区/区域的子视口。所述整个视口通常可以是大的,例如可以是四分之一球体、半球体、或甚至全球体。
相邻边界区域可以是两个图块的区域,其中,所述区域共享该两个图块之间的边界。因此,所述第一边界区域和所述第二边界区域可共享所述第一图块与所述第二图块之间的边界,并且具体地可以连接/碰触该边界,或所述第一边界区域和所述第二边界区域的一个或两者可以包括该边界(在交叠图块的情况中)。
根据本发明的任选特征,所述第二处理器被布置为将所述第一深度值和所述第二深度值设置为相同值。
这可以允许低复杂度和低资源需求,但仍可导致具有高质量的有利性能。具体地,可以减少因不同图块的深度值的不一致而导致的伪影、错误和降级,例如,由于编码或译码伪影。具体地,允许基于深度图的精确、一致、且鲁棒的3D网格生成。
根据本发明的任选特征,所述相同值是所述第一深度值和所述第二深度值的平均值。
这可以允许低复杂度和低资源需求,但仍可得到具有高质量的有利的性能。此外,虽然可能预期会得到大于例如深度平均的深度偏差(距初始深度),可但是以对三维图像表示的图块的不对称提供改善的支持。例如,其方便和降低图块的仅子集地动态更新并且一些图块不改变的方法的运算负载。
根据本发明的任选的特征,所述第二处理器被布置为将所述第一深度值设置为所述第二深度值。
这可以允许低复杂度和低资源需求,但仍可得到具有高质量的有利性能。具体地,虽然可预期会导致大于例如深度平均的深度偏差(距初始深度的偏差),但是可以对三维图像表示的图块的不对称提供改善支持。例如,其方便和降低图块的仅子集地动态更新并且一些图块不改变的方法的运算负载。
该装置可基于相邻图块的深度图(诸如所述第二图块的深度图)的深度属性来施加深度图(诸如第一图块的深度图)的边界条件。该方法可以例如对新图块施加边界条件,使得这将与现有的相邻图块一致且匹配,而不需要处理它们(例如,滤波)。
根据本发明的任选特征,所述装置还包括用于从所述图块的深度图生成三维网格的网格生成器。
该方法可以允许基于图块的深度图生成场景的改善的三维网格。具体地,在许多情况中,可显著减少或甚至消除在图块边界周围的该网格中的不一致且尤其孔的风险。
该方法可以允许通过三维网格而改善从该场景的以图像为基础的表示转换或变换成该场景的几何空间表示。
根据本发明的任选特征,所述网格生成器被布置为选择用于生成所述三维网格的所述第一边界区域的深度值的子集;并且所述第二处理器被布置为只有所述第一边界区域的深度值属于所述深度值的子集才修改所述第一边界区域的所述深度值。
可实现降低的复杂性和运算资源使用率而不牺牲质量。该方法可以允许图块表示与从图块表示生成的该网格表示之间的更接近一致性和对应性。
根据本发明的任选特征,所述第二处理器被布置为在修改所述第一深度值后将空间滤波器应用至所述第一图块的深度图。
这可以允许改善的质量,并且具体地可提供经修改的边界区域与图块的其他区域之间的改善的一致性。空间滤波器的应用可以仅限于第一图块的深度图的深度值。
根据本发明的任选特征,所述装置还包括:远程源通信器,所述远程源通信器被布置为接收来自远程源的用于所述平铺三维图像表示的图块;以及本地存储器,所述本地存储器用于存储所述平铺三维图像表示的图块;;并且所述接收器被布置为响应于从所述远程源接收器接收所述第一图块而从所述本地存储器检索至少所述第二深度值。
该方法可以允许用于支持场景的表示的动态分布(例如,用于虚拟现实应用)的高度有效率方法。该方法可以允许例如通过仅需要传输已修改的图块而显著减少带宽,同时允许其与先前接收的或例如表示场景的静态部分的预定或预定义名义图块的本地存储的图块有效地组合。
所述本地存储器可以被布置为存储先前从该远程源接收的该平铺三维图像表示的图块。
根据本发明的任选特征,所述本地存储器被布置为在修改所述第一深度值后存储针对所述第一图块的深度图或网格。
这可以允许可以降低例如许多应用程序的通信需求的有效率方法。其可以允许逐渐更新场景的本地存储表示,同时提供新图块与先前图块之间的一致性。
根据本发明的任选特征,所述装置还包括用于确定当前观看方向的用户输入;并且其中,所述远程源通信器被布置为将所述当前观看方向的指示传输至所述远程源;并且其中,响应于所述指示而接收所述第一图块。
该方法可以例如提供用于提供例如虚拟现实体验的非常有效率的客户端服务器***。
根据本发明的任选特征,所述本地存储被布置为存储针对所存储的所述图块的网格,并且所述网格生成器被布置为响应于检测到差异度量超过阈值,而将顶点和至少一条边添加至针对所述第二图块的所存储的网格中,所述差异度量指示所述第一图块的边界深度值与针对所述第二图块的所存储的网格的对应边界深度值之间的深度差值。
在许多实施例中,这可以提供改善的性能。
根据本发明的任选特征,所述第二处理器被布置为仅响应于在所述第一深度值的位置处的与所述第一图块相邻的每个图块的最近邻深度值而确定所述第一深度值。
在大多数情况中并且对于许多应用,这可以允许具有高性能的低复杂度但高度有效率且有利的方法。
根据本发明的任选特征,每个图块都是平面多边形,并且所述多个互连的图块形成三维结构。
在大多数情况中并且对于许多应用,这可以允许具有高性能的低复杂度但高度有效率且有利的方法。
根据本发明的一方面,提供了一种生成场景的三维图像表示的方法,所述方法包括:接收场景的自第一视点的平铺三维图像表示,所述平铺三维图像表示包括多个互连的图块,每个图块包括深度图和纹理图,所述深度图和所述纹理图表示所述场景的自所述第一视点的视口,并且所述图块形成平铺图案;响应于所述平铺图案而确定至少第一图块中和第二图块中的相邻边界区域,所述第一图块和所述第二图块是相邻图块;响应于所述第二图块的第二边界区域中的至少第二深度值而修改所述第一图块的第一边界区域的至少第一深度值,使得对于所述第一深度值和所述第二深度值中的至少一些值,所述第一深度值与所述第二深度值之间的差异被减小,所述第一边界区域和所述第二边界区域是相邻边界区域。
本发明的这些和其他方面、特征和优点将参考下文描述的(一个或多个)实施例得以阐明并且将是显而易见的。
附图说明
将仅以范例的方式参考附图描述本发明的实施例,其中,
图1图示了包括本发明一些实施例的客户端服务器虚拟现实***的范例;
图2图示了场景的立方体平铺表示的元素的范例;
图3图示了根据本发明一些实施例的图像生成装置的范例;
图4图示了场景的立方体平铺表示的元素的范例;
图5图示了场景的立方体平铺表示的元素的范例;
图6图示了根据本发明一些实施例的图像生成装置的范例;并且
图7图示了场景的立方体平铺表示的元素的范例。
具体实施方式
以下描述聚焦于适用于生成用于虚拟现实应用的图像的本发明的实施例。然而,将理解本发明不限于此应用,而是可应用于例如许多不同图像处理和生成应用。
图1图示了可以体现本发明概念的范例和变体的***的范例。
在范例中,图像生成装置101的形式的客户端被布置为生成场景的来自不同视点的图像,即,可生成对应于该场景的不同视口的图像。图像生成装置101被布置为接收场景的三维图像表示,并且然后,从该表示生成图像。在范例中,经由网络105(可以例如是因特网)接收来自远程服务器103的三维图像表示。在具体范例中,远程服务器103是虚拟现实服务器,所述虚拟现实服务器为图像生成装置101提供三维环境的三维图像表示,以生成对应于例如在环境中的虚拟用户移动的视图。
在许多应用中,三维图像表示可以是使用深度感测摄像机从真实世界场景或环境的捕获而生成的。这允许一起捕获视觉属性与三维信息。为了充分捕获场景,通常采用多个摄像机且通常大量摄像机的使用。在一些应用中,使用10、20或甚至更多个摄像机以提供令人满意的捕获。
场景的虚拟数据表示是提供有利的用户体验的关键因素。需要描述场景的数据提供视觉属性和空间属性两者的精确表示。同时,重要的是减少表示场景所需的数据量,因为在许多应用中,这往往是可实现的质量的限制因素。
此外,从深度感测摄像机的捕获转换成环境/场景的数据表示通常非常具挑战性,并且可能会引入错误或伪影。例如,在一些应用中,所捕获的数据可用于开发真实世界场景的三维模型。然后,可通过从特定视点评估模型来生成针对被提供以三维虚拟现实体验的用户的视图图像。在其他应用中,可直接从所捕获的图像和深度信息生成针对特定视口或视点的图像,例如通过选择最靠近的所捕获的图像中的一者或多者,并且执行视点偏移以对应于期望视点,或者在一些情况中,通过直接使用所捕获的图像。
在本情况中,场景通过图像的集合(而非三维模型)而被表示在图像域中。然而,每幅图像还被提供有深度图,所述深度图提供图像中的物体的深度信息。具体地,提供场景的三维图像表示,其包括图像的集合和相关联的深度图。
具体地,在图1的条统中,使用场景的来自给定第一视点的平铺三维图像来(至少部分地)表示场景。对于给定视点,提供一种表示,其中互连的图块的集合表示场景,其中第个图块包括提供光强度(通常包括颜色)信息的图像/纹理图。具体地,来自给定视点的给定(大)视口被分成多个较小的子视口,其中这些子视口中的每个由图块表示。
因此,每个图块提供场景的一部分的表示,其中图块一起提供场景的较大部分的表示。通常,图块沿线和交界互连,其中图块之间存在明显边界。然而,在一些实施例中,个体图块可以具有(通常非常小的)交叠。
因此,对于从第一视点的给定观看方向,将由表示包括该观看方向的子视口的图块来表示场景。在大多数实施例中,观看方向与含有相关信息的一个图块之间存在直接的一对一对应。然而,如所提及,在一些情况中,小交叠可能存在于图块之间,在这种情况中,可能存在与观看方向相关联的多于一个图块。
图块一起形成平铺图案。因此,根据平铺图案,由图块表示的大视口被划分成个体图块。在许多实施例中,平铺图案可以是远程服务器103和图像生成装置101两者已知的预定平铺图案。在其他实施例中,可以例如由远程服务器103动态确定平铺图案,并且平铺图案可以被通信至图像生成装置101。平铺图案通常连续地覆盖整个视口,并且因此对于视口内的各观看方向,平铺图案将具有(至少一个)图块。
因此,图块图案可形成场景世界/坐标系中的视口,其中,每个图块对应于场景的(较小或子)视口。换言之,图块的视口可一起形成第一视点的组合的视口。图块可提供组合的视口的连续覆盖。组合的视口可完全或部分地围绕第一视点。
在场景世界/坐标系中,互连的图块可共享边界(包括交叠边界)。在许多实施例中,两个相邻或邻接图块的每个可表示场景的不同区域,其中两个相邻或邻接图块一起表示单个邻接区域(对应于组合的两个个体区域)。由两个邻近或相邻图块表示的两个区域的组合可形成单个区域。平铺图案的每个图块可表示针对场景的不同区域的视口,其中图块图案由表示场景的邻接区域的视口的图块所形成。对应于场景的不同区域的视口的图块的组合可形成场景的邻接区域的组合的视口。邻接区域可以是对应于三维场景中的单个三维形状的区域。由平铺图案的图块表示的场景的区域可组合成场景中的单个三维形状/区域(相对于例如组合成不碰触或交叠的两个或更多个分开形状的区域)。
每个图块可以包括深度图和表示场景至对应于图块的视口/区(在场景坐标系中)的投影的纹理图。图块图案的图块可反映场景到对应于图块图案的图块的视口的组合/总和的视口上的投影。图块图案的图块对应于相同视点的视口。
视点的视口可对应于场景(坐标系)中的一个区(或3D表面),在该区上可提供场景的来自视点的投影。视点可以是观看姿态,或在许多实施例中,视点可以是观看位置。
术语视点可以例如视为反映视图/视口的参考点,并且通常视为对应于场景的名义观看者/摄像机。视点通常视为对应于一个位置,但也可以包括方向方面。视点可以更一般地视为对应于姿势。例如,视点可以反映观察者的位置和注视方向。用于这样的视点的场景的平铺表示可以例如是在该方向居中的图块的基本半球形结构(即,特定平铺表示可以是针对特定位置和方向)。
实际上,在许多实际实施例中,图块表示仅可表示场景的一部分,而不是完全球形表示。例如,对于立方体表示,可缺失立方体的侧/图块中的一个或多个。因此,场景的来自给定视点的平铺表示不仅名义地反映观察者/摄像机位置,也反映观看方向(例如,可能的观看方向的范围)。
术语视口可以例如被视为对应于场景的来自给定视点的区或窗口。例如,视口可被视为场景的一部分投影于其上的表面。
除了光强度图像/纹理图之外,每个图块另外提供深度图,所述深度图提供光强度图像/纹理图的像素的深度信息。深度图通常可以包括深度值,所述深度值指示在对应于深度值的位置的观察方向从第一视点至物体的距离。深度值可以例如具有针对从视点至物体的増加距离的増加值,或以可以具有针对从视点至物体的増加距离的减少值。在许多实施例中,深度值可以被提供为像差值。
提供深度和图像(纹理)信息可提供允许由图像生成装置101改善处理的附加信息。具体地,与提供用于其的三维图像表示的给定视点相比,可以允许、或促进、或改善用于其他视点的视图图像的生成。
在许多实施例中,图块是平坦的多边形,诸如矩形(或通常为正方形),所述平坦的多边形一起形成三维结构,即,平坦图块在三维空间中定位和取向,使得得到的结构在三维空间中延伸,而非仅仅在平面中延伸。因此,由平铺三维图像表示所提供的整个视口是三维结构/视口。
在许多实施例中,三维视口可以是球形的,即,存在针对始于第一视点的任何观看方向的图块。具体地,考虑围绕第一视点定位且在由平铺图案所形成的结构内的球体(对应于球形视口),自第一视图点且穿过球体上的任何点的线将延伸至图块上的位置。在一些实施例中,视口可以不覆盖所有可能的观看方向,而是可能仅可以覆盖球体的一部分,诸如半球体或四分之一球体。
平铺图案的具体范例是立方体平铺图案,例如根据立方体绘制己知的。在立方体平铺图案中,六个正方形图块可形成围绕第一视图点的立方体的六个侧。因此,在这种范例中,平铺三维图像表示可以提供六个正方形图块,其中每个图块包括纹理图和深度图。
图块通常可被提供为组合的平坦表示。然而,由于图块形成三维结构(立方体),这种平坦表示将固有地分离至少一些相邻图块。图2图示了立方体图块图案的平坦表示,其中指示了纹理图和深度图平面表示。
在图1的***中,图像生成装置101可以相应地接收场景的来自给定第一视点的输入平铺三维图像表示,诸如立方体表示。然后,图像生成装置101可以根据此输入平铺三维图像表示生成对应于自第一视点的特定观看方向的图像,或实际上生成对应于来自不同视点的特定观看方向的图像。因此,在范例中,图像生成装置101被布置为从平铺三维图像表示合成不同视点和方向的图像。例如,图像生成装置101可以执行虚拟现实应用程序,所述虚拟现实应用程序响应于用户输入(诸如来自虚拟现实头戴装置的用户输入)而生成针对不同视点和方向的图像。
图3图示了图1的图像生成装置101的范例。
图像生成装置101包括接收器301,所述接收器接收场景的自第一视点的输入平铺三维图像表示。在范例中,接收器301接收来自远程服务器103的输入平铺三维图像表示,并且因此接收器301包括用于与远程服务器103通信的合适网络接口和功能。应该理解,在其他实施例中,输入平铺三维图像表示可接收自其他内部源或外部源,诸如可接收自本地存储器或数据磁盘读取器。
在范例中,图像生成装置101还包括图像生成器303,所述图像生成器被布置为从所接收平铺三维图像表示来生成图像。具体地,图像生成器303可以被布置为针对与提供用于其的平铺三维图像表示的第一视点不同的视点生成图像。
在具体范例中,图像生成装置101执行虚拟现实应用程序并且被耦合到用户接口305,所述用户接口可以控制生成用于其的视图图像的视点位置和观看方向。
在具体范例中,图像生成装置101是虚拟现实设备,所述虚拟现实设备包括用户接口305,所述用户接口被布置为接收可反映在虚拟现实场景中的期望移动和/或取向的用户输入。例如,用户可以使用操纵杆和/或键盘导航通过虚拟现实场景,或例如可依据用户所穿戴且包括合适传感器的虚拟现实头戴装置来确定视图的取向。在许多实施例中,用户接口305可以包括用于将用户输入转换成期望绘制视点的功能,所述绘制视点指示观看场景的位置,和/或从给定观看位置的观看取向(视点可视为指位置指示、取向指示、或两者,因此指示用户的期望视图)。
应理解,在一些实施例中,可针对给定绘制视点生成多个视图,或在一些实施例中,可从相同用户输入生成多个视点。例如,所述虚拟现实设备可以被布置为生成对应于右眼视图的图像和对应于左眼视图的图像,从而提供3D效果。为了简明和清晰,下文描述将聚焦于针对给定绘制视点生成一幅图像。
具体地,用户接口305可以被布置为生成指示期望/目标绘制视点的绘制视图向量。例如,可生成如下绘制视图向量,所述绘制视图向量包括定义观看者的取向的三个分量/值,诸如俯仰参数、偏航参数和翻滚参数。在许多实施例中,所述目标视图向量可额外或替代地包括定义场景中的三维位置的三个值,例如通过x、y、z值表示。应理解,在一些实施例中,可通过少于三个值来表示位置和/或取向。例如,可通过沿通过该场景的预定路线的距离来指示位置,并且因此可通过单个值来指示该位置。类似地,可假定俯仰和偏航恒定,并且可以仅通过翻滚值来给定取向。
所生成的绘制视图向量被馈送至图像生成器303,所述图像生成器被布置为生成用于由绘制视图向量反映的视点的图像。图像的生成取决于平铺三维图像表示。
在一些实施例中,然后,所生成的图像可被馈送至显示驱动器驱动程序以驱动合适的显示器,诸如用于右眼或左眼的虚拟现实头戴装置的显示器。该虚拟现实头戴装置可以还包括将用户输入提供到用户接口305的传感器。
因此,所述虚拟现实设备可以生成表示在由平铺三维图像表示所表示的虚拟场景中的来自特定视点的视图的图像。该视点由用户输入控制,通常允许用户在虚拟场景中移动和环视。
因此,由图像生成器303基于所接收的输入平铺三维图像表示来绘制图像。然而,图像生成装置101不直接使用该输入平铺三维图像表示,而是在执行图像合成之前修改该输入平铺三维图像表示。因此,基于通过修改该输入平铺三维图像表示的至少一个深度值所生成的经修改的平铺三维图像表示来执行绘制。
在具体范例中,图像生成器303不直接使用深度图信息,而是替代地执行深度图信息至网格格式的转换。尽管从深度图中生成三维网格(其中后续图像处理/合成是基于该网格)是任选的特征,然而在许多实施例中,可提供有利的操作和/或实施方式。
实际上,虽然深度图通常形成自然的三维采集和压缩格式,但是用于例如虚拟现实播放的大多数3D软件和硬件使用由三维顶点坐标和边缘所组成的以网格为基础的三维表示。因此,对许多离线和在线(实时)算法,将深度图转换成网格是重要操作。
因此,在图3的范例中,图像生成装置101包括网格生成器307,所述网格生成器被布置为基于图块的深度图而生成三维网格。因此,图像生成器303被馈送以来自接收器301的图块纹理图和来自网格生成器307的所生成的网格。本领域技术人员将知晓从纹理图和网格合成图像的许多不同算法,并且应理解,可使用这些算法中的任何者,而不会偏离本发明。
在许多图形应用中,通过纹理图和三维网格的组合来表示场景,并且因此常常使用专用硬件以从这样的表示生成图像。在许多情景中,一种特别有效的方法是通过多边形网格来表示图像物体或实际上整个场景,其中一组多边形通过其共同边缘或角(顶点)连接,共同边缘或角(顶点)通过三维位置给定。组合的三维多边形网格因此提供三维物体的有效模型,可能包括整个图像的三维描述。多边形网格经常是由具有在三维空间中给定的共同角的三角形所形成的三角形网格。
在实践中,因此,深度图经常被转换成三维网格。三维网格是由大多数硬件驱动程序(例如,基于OpenGL)支持的熟知图形格式。
作为范例,立体摄像机可自给定视点记录场景的图像。针对各像素,可执行视差评估,以评估至由像素表示的物体的距离。这可以针对各像素执行,从而提供各像素的x、y、z的三维位置。这些位置可然后用作三角形网格的顶点,其中针对每组的2x2像素形成两个三角形。由于这可能生成大量的三角形,所以该过程可以包括将一些初始三角形组合成较大的三角形(或者在一些情景中,更一般地成较大的多边形)。这将减少三角形的数量,但也会降低网格的空间分辨率。因此,网格的粒度通常取决于深度变化,并且较大的多边形主要出现在较平坦的区域中。
各顶点进一步与纹理图的光强度值相关联。纹理图显著提供在顶点的像素位置处的物体在场景中的光/色强度。通常,光强度图像/纹理图是与网格一起提供,其中各顶点含有表示顶点的x、y、z位置的数据以及识别纹理图中的链结位置的u、v数据,即,其指出在纹理图中捕获的x、y、z位置处的光强度。
在这种表示中,多边形网格用于提供物体的三维几何的信息,而纹理通常提供作为分开的数据结构。具体地,纹理经常提供作为分开的二维图,其通过处理算法可迭加在三维几何结构上。
三角形网格的使用特别适合于计算机图形算法的处理与操纵,并且许多有效率的软件与硬件解决方案已经开发出来并且在市场上可取得。许多***中的实质运算效率是通过算法共同处理多个多边形的个体顶点而非分别地处理各多边形而实现。例如,针对通常的三角形网格,个体的顶点通常是若干个(通常是3-8)三角形共有的。单个顶点的处理因此可应用于相对高数量的三角形,从而显著减少要处理的图像或其他物体中的点的数量。
在图3的图像生成装置101中,网格生成器307基于所接收的图块深度图而生成网格,并且因此,所述网格生成器执行从以图像为基础的表示变换成以几何为基础的表示(网格可视为几何三维结构)。
然而,图像生成装置101被布置为处理这些图块深度图并且修改深度图中的一些深度值,而非直接使用所接收图块深度图。
具体地,图像生成装置101包括第一处理器311,所述第一处理器耦合至接收器301并且被布置为响应于该平铺图案而确定至少第一图块中和第二图块中的相邻边界区域,其中所述第一图块和所述第二图块是相邻图块。第一处理器311可以基于平铺图案识别一个图块中的边界或边缘区域以及另一图块中的对应边界或边缘区域,其中该两个边界区域相邻,并且具体地,其中该两个边界区域碰触/连接或交叠。具体地,对于第一图块的边缘像素,至少一个邻接/相邻像素将在另一图块中。因此,边缘像素和邻接/相邻像素属于两个不同深度图/图块的边界区域。当平铺图案对于图像生成装置101已知(例如,通过预定或通过从远程服务器103通信)时,第一处理器311能够确定哪些图块连接/相邻,并且也能够确定另一图块/深度图中的哪像素邻接和邻近于当前图块/深度图中的给定边缘像素/深度值。
在许多实施例中,第一处理器311可以被布置为第一图块的第一边界区域确定为如下的所有边缘像素/深度值:其在第一深度图/图块的边缘处并且其最靠近/邻接像素(在至少一次生成中)在第二深度图/图块中。在一些实施例中,可依据第二图块中的邻接像素的集合来确定第二边界区域(即,第二图块中的边界区域)。
第一处理器311被耦合至第二处理器309,所述第二处理器被耦合至接收器301并且接收来自该接收器的深度图。另外,所述第二处理器另外耦合至第一处理器311并接收来自所述第一处理器的第一边界区域和第二边界区域的信息。
第二处理器309被布置为处理第一边界区域的至少一些像素,即,所述第二处理器被布置为修改第一图块中的所识别边界区域的深度值。修改深度值使得深度值取决于第二边界区域中的深度值,即,第一图块的边界区域中的经修改深度值取决于第二图块的相邻边界区域中的深度值。因此,基于第二图块的第二边界区域中的至少第二深度值来修改第一图块的第一边界区域的至少第一深度值(其中第一边界区域和第二边界区域是相邻边界区域)。可以将经修改第一深度值确定不第二深度值的函数,即,所述经修改第一深度值是所述平铺表示的另一图块中的至少一个深度值的函数。应理解,对于第一深度值和第二深度值的一些值,所述经修改深度值可以与原始深度值相同。
在许多实施例中,针对至少一个图块的至少所有边缘像素重复该过程。此外,在许多实施例中,所述经修改深度值通常可以仅取决于相邻图块中的一个深度值(并且可能取决于原始深度值,即,正被修改的像素的输入值)。具体地,在许多实施例中,可以仅依据在另一图块中的最靠近深度值且可能依据原始深度值本身来确定给定边缘像素的深度值。
因此,虽然在许多实施例中,考虑在相邻(邻接)图块中的多个深度值(例如,通过求相邻图块中的数个近距深度值的平均值)实际上是可行的,但是在许多实施例中,第二处理器309将仅考虑每个图块中的单个深度值。此外,对于正被修改的大多数深度值,仅考虑一个相邻图块并且因此仅考虑来自另一图块的一个深度值。然而,对于一些深度值(例如,诸如立方体平铺表示的角深度值),第二处理器309可考虑相邻图块的中的每个图块中的一个深度值。例如,可最小化该经修改深度值与该两个图块中的对应的角深度值之间的平方距离和。作为另一个示例,可将所有三个深度值设置为相同值,例如平均深度值。
当图块中的仅一个深度值可以具体地是最靠近的深度值时,考虑另一图块中的深度值时。因此,选择最靠近正被修改的深度值的深度值。最靠近的深度值可以是针对深度值的视口中的位置之间的场景距离度量最小的深度值。
因此,第二处理器309修改在输入平铺三维图像表示中所接收的一个或多个深度图,从而生成经修改平铺三维图像表示。然后,得到的深度图集合被馈送至网格生成器307,所述网格生成器继续进行以基于这些经修改深度图而生成网格。
在许多实施例中,所述方法可提供显著改善的性能,并且在许多情况中,可以允许不同图块之间的改善的一致性。具体地,在许多实施例中,所述方法可提供显著改善的网格生成,其中具体地,可以显著减小所生成的深度网格中的风险(例如孔洞)生成更一致的网格。
在下文中,将参照立方体平铺表示的具体范例来描述所描述方法的各方面,但应理解,这仅仅是一个范例。
可通过考虑图2的平铺立方体表示来图示发明人的认识。通常,立方体表示的各侧对应于不同透视投影,并且通常与立方体的其他侧分开生成。例如,可使用具有90°旋转偏移的六个深度感测摄像机来生成平铺立方体表示。为了在立方体侧进行深度表示匹配,最好首先将深度表示转换成距离/范围表示,使得深度图按每图块来编码立方体中心与物体点之间的距离。为了限制位深度,所述距离/范围(以米为单位)可以被编码为除以距离的常数,这是因为反比关系导致更紧密编码。在变换和量化步骤之后,可按每图块进行深度图的进一步空间无损压缩。这通常会导致立方体的不同侧之间的深度变化。
作为备选方案,不同图块可被组合成单个平坦结构(诸如图2的平坦结构)以用于编码。图像和视频压缩算法引入量化和编码错误,并且已认识到,在编码不使不同图块交叠处这会在图块表示中引入特定边缘不一致。
这些效应在编码图块的单个平坦图案的情况中尤其常见。实际上,在这样的情况中,三维至二维转换导致结构中的间隙和断裂。例如,对于立方体表示,三维拓扑在立方体的侧断裂,如图2所示。结果,编码伪影将具有显著效应,并且经常变得可见。具体地,由于在一个立方体侧的边缘上的三维点与在另一立方体侧的边缘上的三维点将不一致(就三维位置而论),得到的网格最终也会不一致且可能具有间隙。
图4图示了当使用立方体平铺格式时可能出现潜在网格错误的情况。范例展示编码为六个分开的图块的深度的立方体平铺表示。箭头指示图块的哪此边缘可能由于深度图的有损编码而引起网格误差。
在图3的图像生成装置101的方法中,可通过约束在给定图块边界处的深度值使得它们非常相似于或通常相同于在一个或多个其他图块的边界处的深度值,来减轻或规避这样的效应。这可确保后续建构的网格一致且不经受深度压缩错误。
图5图示了通过在所有像素/深度值之间形成三角形而生成的网格的范例。在范例中,通过圆形指示将成为网格顶点的深度图像素定位。通常,使用像素定位的规则网格(例如,每第二像素或每第四像素)。图5图示了所有这样的像素定位的子集。在范例中,图块D上具有图块边界A,并且图块D前具有图块边界B,并且每个边界上的像素分别被编索引为DA,i和DB,j。在范例中,边界A和边界B是来自两个不同图块的边界,并且深度图的有损图像压缩可能会使这些样本不一致,即,在不同图块中的相应深度值最终会具有不同值,这将导致网格的错误,这是因为针对图块D上所生成的三角形与针对图块D前所生成的三角形将不对齐。然而,通过在生成网格之前将来自对应边界定位的深度值设置为相同深度值,将产生一致的网格。
应理解,在不同实施例中,可使用不同功能来确定深度值。然而,在许多实施例中,可确定深度值,使得两个相邻图块中的相邻边缘深度值相同或至少使得减小两个相邻图块中的相邻边缘深度值之间的差值。具体地,如果第一深度值和第二深度值是边缘值,则第一深度值和第二深度值将被设置为相同值。在一些实施例中,第一深度值可以被设置为第二值的值,但在许多实施例中,依据第一深度值和第二深度值两者(和可能其他深度值或参数)来确定深度值,并且随后将第一深度值和第二深度值设置为此值,即,两个值都被修改。
在一些实施例中,所述两个深度值可以不设置为相同值,而是可以例如设置为彼此接近的值,即,减小该两个深度值之间的差值。例如,可设置第一深度值等于所述第一深度值和所述第二深度值的平均深度值,但是受制于第一深度值的变化不超过给定量。因此,深度值的变化被限制于最大水平。在一些情况中,这可以例如导致经修改深度值仍然在所生成的网格中导致间隙,但是可能显著减小这种间隙。然而,同时确保相对于边界区域外的第一个图块中的深度值,边界区域中的深度值未被太大幅修改。这可以在图块内提供更一致的深度图。应理解,所使用的确切函数可取决于个体实施例的偏好和需求,并且具体地可取决于介于图块内的深度一致性与图块间的深度一致性之间的期望权衡。
将边缘像素的深度值设置为相同可以在由两个不同深度图所生成的网格三角形之间提供高程度的一致性,并且因此将提供一致的网格。
在一些实施例中,可依据第一深度值和第二深度值的平均值来确定应用于该两个深度值的值。例如,对于图5的范例,可依据下式来确定图块边界处的深度值:
因此,新的深度值设置为平均深度值,对于对应边界像素位置,所述平均深度值相同。当使用像素坐标和深度值建构网格时,来自边界A和B的对应边界像素将最终在相同3D定位处。在范例中,深度约束操作求两个样本的平均值,但应理解,可使用更多个样本。在角处,求平均值可通常是求三个深度值的平均值(在立方体图的情况中)或求四个深度值的平均值(对于其中四个图块会合的其他平铺格式)。换言之,可通过求相邻于当前像素的每个图块中的最靠近像素的深度值的平均值来确定平均值。
作为备选方案,D′A,i可以被设置为在位置j周围的数个样本定位的平均值。而且,可以修改距边界略远的像素定位。
在范例中,因此,第二处理器309被布置为仅响应于在第一深度值的位置处相邻于第一图块的每个图块的最靠近像素的深度值而确定第一深度值。
在许多实施例中,第二处理器309可进一步被布置为继修改第一深度值之后将空间滤波器应用至第一图块的深度图。
因此,在第二处理器309已修改给定图块的边界区域中的深度值之后,可以继续进行以将空间滤波器应用于该经修改的深度图。具体地,空间滤波器可以应用于包括边界区域和内部区域两者的整个深度图。然而,在其他实施例中,空间滤波器仅可应用至边界区域和邻接边界区域的内部区域的部分。
修改(一个或多个)边界区域中的深度值可以允许改善图块间的一致性。然而,有可能降低深度图内的内部一致性的风险,并且空间低通滤波可用于确保或増加这种一致性。
例如,为了降低修改将新的不一致引入介于边界像素与图块内侧(但非在边界上)的像素之间的风险,可能期望对(恰好)位于边界内侧的列和行的深度值在空间上滤波,使得它们变得与边界上的新深度值在空间上一致。
在许多实施例中,这样的空间滤波可以不应用至经修改深度值。例如,可以基于其他图块中的深度值来修改边缘像素,并且随后可以将空间滤波器应用至靠近边缘像素的像素(但不包括这些边缘像素)。因此,边缘像素将保持其值,但是归因于靠近边缘像素的内部深度值的滤波,这些内部深度值将被修改为与边缘像素的新值更一致(这样的像素的滤波内核通常会包括边缘像素)。
在许多实施例中,网格生成器307可以被布置为仅使用用于生成网格的像素的子集,即,可以仅选择像素的子集以对应于网格的多边形(通常三角形)的顶点。例如,可以仅针对深度图的每隔一个像素或每第四像素来生成顶点。这样的方法通常可以被应用来便生成较低复杂度的网格,其提供较低的数据速率和运算资源需求。
在许多这样的实施例中,网格生成器307可以被布置为向第二处理器309指示仅深度值的子集用于网格生成。作为响应,第二处理器309可继续进行以仅修改用于后续网格生成的深度图/边界区域的深度值。在许多实施例中,这可以大量降低第二处理器309的复杂度和运算资源使用率。
这样的方法可以尤其适用于使用不规则网格的情形。具体地,在使用规则网格的实施例中,拓扑是固定的且独立于可以生成的动态网格,并且具体地,独立于针对其他图块所生成的网格。因此,第二处理器309可以具有待修改的深度值的预定信息。
然而,如果使用不规则网格,实际上转换成网格顶点的深度值的子集将变化,并且在这种情况中,可基于不规则网格的顶点来选择待修改的深度值的子集。
例如,在对深度值进行任何修改之前,网格生成器307可以仅基于第一图块的深度值来生成第一(内部)不规则网格,即,可生成第一图块的第一初始网格。相似地,在任何修改之前,网格生成器307可以仅基于第二图块的深度值来生成第二(内部)不规则网格,即,可生成第二图块的第二初始网格。
为了组合这两个不规则网格,网格生成器307可以识别沿第一图块与第二图块之间的边界放置的所有顶点。然后,对应于来自第一不规则网格或第二不规则网格的中的一个的顶点的每个深度值可被包括在指示给第二处理器309的子集中。然后,第二处理器309可执行修改/深度约束,并且具体地在该两个图块中的深度值可被设置为相同。然后,得到的深度值可回馈给网格生成器307,所述网格生成器可继续进行以修改网格中的现有顶点的深度值,以及将仅存在于一个网格中的任何顶点(和对应边缘)添加至另一网格中。因此,两个得到的不规则网格将沿该两个图块之间的边界线完全对应,并且因此可容易地合并成单个网格。
在前述范例中,远程服务器103将平铺三维图像表示生成且传输为单个一组合结构。然而,在许多实施例中,远程服务器103可以被布置为仅传输图块的子集,并且具体地,一次传输仅一个图块。在这样的实施例中,图像生成装置101可以被布置为接收一个图块或图块的子集,并且组合这些图块与来自其他来源的图块,诸如具体地组合这些图块与本地存储的其他图块。这些本地存储的图块可以是先前已从远程服务器103接收到的图块,或可能例如是表示预定名义场景的预定名义图块,然后,通过从远程服务器103所接收的替换图块来动态更新和调整该预定名义场景。
在这种实施例中,图像生成装置101可以被布置为使用对应方法来约束新接收的图块的深度值。
作为具体范例,如图6所图示,图像生成装置101可以包括耦合至接收器301的远程源通信器601和本地存储器603。在范例中,因此,接收器301可从本地存储器603或从远程源通信器601中的任一个检索平铺三维图像表示的图块。
在范例中,本地存储器603包括对应于平铺三维图像表示的整个图块集合,并且接收器301可以被布置为在需要时检索适当的图块。具体地,图块的所存储集合可以是先前已从远程服务器103所接收的图块。
远程源通信器601可以被布置为从远程服务器103接收单个图块(或可能图块的子集)。新的图块可替换当前存储在本地存储器603中的现有图块。
例如,可响应于从图像生成装置101传输至远程服务器103的讯息来接收新图块。实际上,在具体范例中,用户接口305被耦合至远程源通信器601,并且该用户接口将当前确定的视点(观看方向和/或位置)提供到远程源通信器601。作为响应,远程源通信器601将对视点的指示传输至远程服务器103,所述远程服务器确定是否需要合适地更新任何所存储图块。例如,如果当前视点对应于一段大量时间尚未更新的方向,则远程服务器103可决定传输新的替换图块。在其他实施例中,远程服务器103自身可以例如响应于检测到场景中已发生实质动态变化而确定应传输替换图块。
在范例中,当远程源通信器601接收新图块(通常为替换图块)时,所述远程源通信器可继续进行以提取所存储的相邻图块,然后,继续进行以执行前文所述的针对所接收图块的操作,例如对于所接收图块的一个或多个边界像素/深度值,可修改深度值,使得深度值于新图块与所存储相邻图块之间对应。
然而,在许多实施例中,仅修改新图块的深度值。因此,第二处理器309可以将新深度图的深度值设置为与所存储深度图的相邻深度值相同,而非例如确定平均深度值且指派该平均深度值给新接收的图和所存储相邻深度图中两者的像素。以此方式,新图块的深度图被修改为与本地存储的深度图一致,但是无需修改本地存储的深度图。因此,不需要重新完成已对所存储深度图执行的任何处理,例如无需再次对这些深度图进行滤波。而是,新图块的深度图被修改且之后可以与现有深度图一起使用。
在此修改之后,所接收的新深度图可以存储在本地存储器中,从而更新本地存储的三维图像表示。
该方法可以允许非常有效率的***,并且具体地可减少通信带宽,这是因为仅在适当时可传输个体图块。此外,可降低这样的新图块导致图像质量降级和错误或伪影的风险。此外,运算资源可保持低,这是因为不需要处理或修改所存储的相邻深度图。
实际上,在一些实施例中,可生成针对场景的网格,并且其他图块的深度值可以不作为显式深度图而是作为网格来存储。在这样的情况中,通常将针对给定图块的网格生成为具有沿图块的边缘或边界上的数个顶点。这些顶点的深度现在可被用作相邻图块的边界区域的深度值,并且因此新接收的图块的深度值可以被修改为与对应相邻图块的现有网格的边界深度值一致。
可以响应于网格而进一步选择在新深度图中的被修改的深度值集合,并且具体地,针对接壤新图块的网格的各顶点/深度值,新深度图中的对应(最靠近)深度值可以被选择和设置为与顶点深度值相同的值。然后,这些像素/深度值可用作网格多边形(通常三角形)的顶点,所述网格多边形具有根据合适的选择标准而在新图块内选择的其他顶点。
以此方式,针对新图块所生成的网格与所存储图块的已生成的网格一致。因此,这些相邻网格无需被修改并且可以被直接使用,从而显著降低处理负担。
然而,在许多实施例中,虽然这样的方法可提供非常高的性能,但是在一些情况中,会导致深度偏差。具体地,在许多实施例中,例如归因于由于域中的深度变化小而使数个较小网格三角形组合成较大网格,相邻图块的边界顶点可彼此相距离一些距离。然而,如果现在接收沿此线具有相当大深度变化的一个新图块,则单个网格三角形的笔直线不能反映此深度变化。在一些实施例中,第二处理器309可以被布置为检测新图块的边界深度值与所存储相邻图块的现有网格多边形的对应深度值之间的深度差异超过阈值,并且响应于该检测,可以添加新边界顶点。然后,此新边界顶点将形成为针对新图块所生成的网格中的多边形的基础,但是也将是相邻图块的顶点。因此,将新顶点添加至先前生成的网格中,并且将现有网格的对应多边形分成两个多边形。因此,将一个或多个边缘添加至相邻图块的现有网格内的新顶点与一个或多个现有顶点之间的现有网格中(基于新顶点将先前现有的多边形划分为较小多边形所需的边缘数目将取决于具体拓扑)。
作为具体范例,当接收新深度图块时,在许多实施例中,希望组合新深度图块与现有网格。图7中图示了这种情形。在范例中,相邻图块的深度图已被转换成网格,并且现在希望生成新到达的图块的网格。这可以通过分析图块边缘处的深度值来完成。如果新深度图具有边缘深度值(例如,归因于新图块中的内部深度变化而被确定为顶点的候选者),其中该边缘深度值与在该位置处已存在的三角形边缘具有大差值,则建立新顶点,并且在相邻图块中分割一个或多个三角形,从而在该域中创建更详细的网格。
然而,如果不是这种情况,则可直接使用相邻图块的网格拓扑,并且将网格形成在新图块的内部并且使用相邻网格的现有边缘顶点。
更复杂的方法尤其适合使用不规则网格的范例。在图7的范例中,深度图至所存储图块的网格的转换已基于对深度图的变化的分析,并且已导致不规则网格。当建立新图块的网格时,一些顶点未被修改(封闭圆)。然而,当新深度图指示必须修改网格模型时,则置放一个新顶点。此决策可基于比较从在边界处的新深度图生成的候选顶点的位置与现有网格的相邻图块。如果深度或位置差值太大(指示新深度图与现有网格之间的深度差值太大),则引入新顶点,并且更新相邻图块的三角形。
应理解,尽管上文描述已聚焦于基于平铺三维图像表示来生成图像,并且具体地,通过从深度图生成网格,然而这些皆不是必要特征。实际上,生成改善的平铺三维图像表示在许多不同应用中可以是有利的,并且不限于如本文描述的这样的改善的平铺三维图像表示的具体后续用法。
上述范例已聚焦于其中基于第二图块的第二深度图中的最靠近边缘深度值来修改第一图块的第一深度图的第一边缘深度值的实施例。然而,应理解,在许多实施例中,可额外或替代地基于第二深度图中的不是最靠近第一边缘深度值的深度值来修改第一边缘深度值。在一些实施例中,可基于第二深度图的边界区域中的多个深度值(包括不一定是边缘深度值的深度值,并且可能甚至不包括最靠近边缘深度值)来修改第一边缘深度值。例如,可以基于第二图中的多个深度值来修改第一边缘深度值,所述多个深度值包括到第一边缘深度值的距离低于给定阈值的所有深度值。
类似地,应理解,第一深度值(即,被修改之深度值)不需要是边缘深度值。
应当理解,为了清楚起见,以上描述已经参考不同的功能电路、单元和处理器描述了本发明的实施例。然而,显而易见的是,可以在不背离本发明的情况下使用不同功能电路、单元或处理器之间的任何合适的功能分布。例如,被示为由分别的处理器或控制器执行的功能可以由相同的处理器执行。因此,对特定功能单元或电路的引用仅被视为对用于提供所描述的功能的合适装置的引用,而不是指示严格的逻辑或物理结构或组织。
本发明可以以任何合适的形式实现,包括硬件、软件、固件或这些的任何组合。本发明可以任选地至少部分地实现为在一个或多个数据处理器和/或数字信号处理器上运行的计算机软件。本发明的实施例的元件和部件可以以任何合适的方式来物理地、功能地和逻辑地实现。实际上,功能可以在单个单元中、在多个单元中或作为其他功能单元的一部分来实现。这样,本发明可以在单个单元中实现,或者可以在不同的单元、电路和处理器之间物理地和功能地分布。
尽管已经结合一些实施例描述了本发明,但是并不旨在将本发明限于这里阐述的特定形式。相反,本发明的范围仅受所附权利要求的限制。另外,尽管可能看起来结合特定实施例描述了特征,但是本领域技术人员将认识到,可以根据本发明组合所描述的实施例的各种特征。在权利要求中,术语“包括”不排除存在其他元件或步骤。
此外,尽管单独列出,但是多个装置、元件、电路或方法步骤可以通过例如单个电路、单元或处理器来实现。另外,尽管各个特征可以包括在不同的权利要求中,但是这些特征可以有利地组合,并且包含在不同的权利要求中并不意味着特征的组合是不可行和/或不利的。在一类权利要求中包含特征并不意味着对该类别的限制,而是指示该特征在合适时同样适用于其他权利要求类别。此外,权利要求中的特征的顺序并不意味着特征必须工作的任何特定顺序,并且特别地,方法权利要求中的各个步骤的顺序并不意味着必须以该顺序执行这些步骤。而是,可以以任何合适的顺序来执行这些步骤。另外,单数引用不排除多个。因此,对“一”、“一个”、“第一”、“第二”等的引用不排除多个。权利要求中的附图标记仅被提供用于地使示例清楚,不应被解释为以任何方式限制权利要求的范围。
Claims (15)
1.一种用于生成场景的平铺三维图像表示的装置,所述装置包括:
接收器(301),其用于接收场景的自第一视点的平铺三维图像表示,所述平铺三维图像表示包括多个互连的图块,每个图块包括深度图和纹理图,所述深度图和所述纹理图表示所述场景的自所述第一视点的视口,并且所述图块形成平铺图案;
第一处理器(311),其用于响应于所述平铺图案而确定至少第一图块中和第二图块中的相邻边界区域,所述第一图块和所述第二图块是相邻图块;
第二处理器(309),其用于响应于所述第二图块的第二边界区域中的至少第二深度值而修改所述第一图块的第一边界区域的至少第一深度值,使得对于所述第一深度值和所述第二深度值中的至少一些值,所述第一深度值与所述第二深度值之间的差异被减小,所述第一边界区域和所述第二边界区域是相邻边界区域。
2.根据权利要求1所述的装置,其中,所述第二处理器(309)被布置为将所述第一深度值和所述第二深度值设置为相同值。
3.根据权利要求2所述的装置,其中,所述相同值是所述第一深度值和所述第二深度值的平均值。
4.根据权利要求1或2所述的装置,其中,所述第二处理器(309)被布置为将所述第一深度值设置为所述第二深度值。
5.根据权利要求1或2所述的装置,还包括网格生成器(307),所述网格生成器用于根据所述图块的深度图来生成三维网格。
6.根据权利要求5所述的装置,其中,所述网格生成器(307)被布置为选择所述第一边界区域的深度值的子集以用于生成所述三维网格;并且所述第二处理器被布置为只有在所述第一边界区域的深度值属于深度值的所述子集时才修改所述第一边界区域的所述深度值。
7.根据权利要求1或2所述的装置,所述第二处理器(309)被布置为在修改所述第一深度值后将空间滤波器应用于所述第一图块的深度图。
8.根据权利要求1或2所述的装置,还包括:远程源通信器(601),其被布置为接收来自远程源(103)的针对所述平铺三维图像表示的图块;以及本地存储器(603),其用于存储针对所述平铺三维图像表示的图块;并且所述接收器(301)被布置为响应于从所述远程源(103)接收到所述第一图块而从所述本地存储器检索至少所述第二深度值。
9.根据权利要求8所述的装置,其中,所述本地存储器(603)被布置为在修改所述第一深度值后存储针对所述第一图块的深度图或网格。
10.根据权利要求8所述的装置,还包括:用户输入部(305),其用于确定当前观看方向;并且其中,所述远程源通信器(601)被布置为将对所述当前观看方向的指示传输到所述远程源;并且其中,所述第一图块响应于所述指示而被接收。
11.根据权利要求8所述的装置,还包括网格生成器(307),所述网格生成器用于根据所述图块的深度图来生成三维网格,其中,所述本地存储器(603)被布置为存储针对所存储的图块的网格,并且所述网格生成器(307)被布置为响应于检测到差异度量超过阈值,而将针对所述第一图块的网格的顶点和至少一条边添加至所存储的针对所述第二图块的网格中,所述差异度量指示所述第一图块的边界深度值与针对所述第二图块的所存储的网格的对应边界深度值之间的深度差异。
12.根据权利要求1或2所述的装置,其中,所述第二处理器(309)被布置为仅响应于与所述第一图块相邻的每个图块的最靠近所述第一深度值的位置的像素的深度值而确定所述第一深度值。
13.根据权利要求1或2所述的装置,其中,每个图块是平坦多边形,并且所述多个互连的图块形成三维结构。
14.一种生成场景的三维图像表示的方法,所述方法包括:
接收场景的自第一视点的平铺三维图像表示,所述平铺三维图像表示包括多个互连的图块,每个图块包括深度图和纹理图,所述深度图和所述纹理图表示所述场景的自所述第一视点的视口,并且所述图块形成平铺图案;
响应于所述平铺图案而确定至少第一图块中和第二图块中的相邻边界区域,所述第一图块和所述第二图块是相邻图块;
响应于所述第二图块的第二边界区域中的至少第二深度值而修改所述第一图块的第一边界区域的至少第一深度值,使得对于所述第一深度值和所述第二深度值中的至少一些值,所述第一深度值与所述第二深度值之间的差异被减小,所述第一边界区域和所述第二边界区域是相邻边界区域。
15.一种存储有计算机程序代码模块的计算机可读介质,所述计算机程序代码模块当在计算机上运行时,适于执行根据权利要求14所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17182985.6A EP3435670A1 (en) | 2017-07-25 | 2017-07-25 | Apparatus and method for generating a tiled three-dimensional image representation of a scene |
EP17182985.6 | 2017-07-25 | ||
PCT/EP2018/069387 WO2019020433A1 (en) | 2017-07-25 | 2018-07-17 | APPARATUS AND METHOD FOR GENERATING THREE-DIMENSIONAL MOSAIC IMAGE REPRESENTATION OF A SCENE |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110945868A CN110945868A (zh) | 2020-03-31 |
CN110945868B true CN110945868B (zh) | 2022-04-01 |
Family
ID=59399320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880048947.6A Active CN110945868B (zh) | 2017-07-25 | 2018-07-17 | 用于生成场景的平铺三维图像表示的装置和方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US10893259B2 (zh) |
EP (2) | EP3435670A1 (zh) |
JP (1) | JP7191079B2 (zh) |
KR (1) | KR102546358B1 (zh) |
CN (1) | CN110945868B (zh) |
BR (1) | BR112020001453A2 (zh) |
TW (1) | TWI786157B (zh) |
WO (1) | WO2019020433A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111669567B (zh) * | 2019-03-07 | 2024-03-29 | 阿里巴巴集团控股有限公司 | 多角度自由视角视频数据生成方法及装置、介质、服务器 |
EP3712843A1 (en) | 2019-03-19 | 2020-09-23 | Koninklijke Philips N.V. | Image signal representing a scene |
EP3792877A1 (en) * | 2019-09-12 | 2021-03-17 | Koninklijke Philips N.V. | Apparatus and method for evaluating a quality of image capture of a scene |
TWI767265B (zh) * | 2020-06-24 | 2022-06-11 | 直得科技股份有限公司 | 在二維顯示介面中控制多軸物件工作端點之方法 |
CN114359456B (zh) * | 2021-12-27 | 2023-03-24 | 北京城市网邻信息技术有限公司 | 贴图方法、装置、电子设备及可读存储介质 |
WO2023224627A1 (en) * | 2022-05-19 | 2023-11-23 | Google Llc | Face-oriented geometry streaming |
JP2024097254A (ja) * | 2023-01-05 | 2024-07-18 | キヤノン株式会社 | 画像処理装置、画像処理方法およびプログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102595151A (zh) * | 2011-01-11 | 2012-07-18 | 倚强科技股份有限公司 | 影像深度计算方法 |
CN103609105A (zh) * | 2011-06-22 | 2014-02-26 | 皇家飞利浦有限公司 | 用于生成用于显示器的信号的方法和设备 |
CN104380743A (zh) * | 2012-06-14 | 2015-02-25 | 杜比实验室特许公司 | 用于立体显示器和自动立体显示器的深度图传送格式 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11195132A (ja) * | 1997-10-31 | 1999-07-21 | Hewlett Packard Co <Hp> | テクスチャマッピング用バッファ、3次元グラフィクス処理装置、3次元グラフィクス処理システム、3次元グラフィクス処理方法および処理プログラムが記憶された記憶媒体 |
US6975319B1 (en) | 2000-03-24 | 2005-12-13 | Nvidia Corporation | System, method and article of manufacture for calculating a level of detail (LOD) during computer graphics processing |
US7085409B2 (en) * | 2000-10-18 | 2006-08-01 | Sarnoff Corporation | Method and apparatus for synthesizing new video and/or still imagery from a collection of real video and/or still imagery |
US6903741B2 (en) * | 2001-12-13 | 2005-06-07 | Crytek Gmbh | Method, computer program product and system for rendering soft shadows in a frame representing a 3D-scene |
US8907968B2 (en) * | 2011-03-31 | 2014-12-09 | Panasonic Corporation | Image rendering device, image rendering method, and image rendering program for rendering stereoscopic panoramic images |
US20140044347A1 (en) * | 2011-04-25 | 2014-02-13 | Sharp Kabushiki Kaisha | Mage coding apparatus, image coding method, image coding program, image decoding apparatus, image decoding method, and image decoding program |
US20120274626A1 (en) * | 2011-04-29 | 2012-11-01 | Himax Media Solutions, Inc. | Stereoscopic Image Generating Apparatus and Method |
CN112651288B (zh) * | 2014-06-14 | 2022-09-20 | 奇跃公司 | 用于产生虚拟和增强现实的方法和*** |
-
2017
- 2017-07-25 EP EP17182985.6A patent/EP3435670A1/en not_active Withdrawn
-
2018
- 2018-07-17 CN CN201880048947.6A patent/CN110945868B/zh active Active
- 2018-07-17 KR KR1020207005322A patent/KR102546358B1/ko active IP Right Grant
- 2018-07-17 EP EP18745858.3A patent/EP3659337B1/en active Active
- 2018-07-17 JP JP2020503314A patent/JP7191079B2/ja active Active
- 2018-07-17 WO PCT/EP2018/069387 patent/WO2019020433A1/en unknown
- 2018-07-17 BR BR112020001453-2A patent/BR112020001453A2/pt unknown
- 2018-07-17 US US16/633,027 patent/US10893259B2/en active Active
- 2018-07-25 TW TW107125694A patent/TWI786157B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102595151A (zh) * | 2011-01-11 | 2012-07-18 | 倚强科技股份有限公司 | 影像深度计算方法 |
CN103609105A (zh) * | 2011-06-22 | 2014-02-26 | 皇家飞利浦有限公司 | 用于生成用于显示器的信号的方法和设备 |
CN104380743A (zh) * | 2012-06-14 | 2015-02-25 | 杜比实验室特许公司 | 用于立体显示器和自动立体显示器的深度图传送格式 |
Also Published As
Publication number | Publication date |
---|---|
RU2020107834A (ru) | 2021-08-25 |
EP3435670A1 (en) | 2019-01-30 |
KR20200031678A (ko) | 2020-03-24 |
WO2019020433A1 (en) | 2019-01-31 |
JP2020528619A (ja) | 2020-09-24 |
KR102546358B1 (ko) | 2023-06-22 |
US10893259B2 (en) | 2021-01-12 |
EP3659337B1 (en) | 2022-05-11 |
JP7191079B2 (ja) | 2022-12-16 |
TW201921318A (zh) | 2019-06-01 |
EP3659337A1 (en) | 2020-06-03 |
TWI786157B (zh) | 2022-12-11 |
BR112020001453A2 (pt) | 2020-07-28 |
RU2020107834A3 (zh) | 2021-11-03 |
CN110945868A (zh) | 2020-03-31 |
US20200177868A1 (en) | 2020-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110945868B (zh) | 用于生成场景的平铺三维图像表示的装置和方法 | |
CN110999285B (zh) | 基于纹理图与网格的3d图像信息的处理 | |
EP3735677A1 (en) | Fusing, texturing, and rendering views of dynamic three-dimensional models | |
US10733786B2 (en) | Rendering 360 depth content | |
US12026903B2 (en) | Processing of depth maps for images | |
US20220165015A1 (en) | Image signal representing a scene | |
US10652514B2 (en) | Rendering 360 depth content | |
KR101559739B1 (ko) | 가상 모델과 카메라 영상의 융합시스템 | |
RU2771957C2 (ru) | Устройство и способ для генерации мозаичного представления трехмерного изображения сцены | |
US20220174259A1 (en) | Image signal representing a scene | |
TWI846808B (zh) | 表示場景之影像信號 | |
EP3598384A1 (en) | Rendering 360 depth content | |
EP3598395A1 (en) | Rendering 360 depth content |
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 |