CN111386556B - 用于生成3d场景的点的方法和装置 - Google Patents
用于生成3d场景的点的方法和装置 Download PDFInfo
- Publication number
- CN111386556B CN111386556B CN201880076258.6A CN201880076258A CN111386556B CN 111386556 B CN111386556 B CN 111386556B CN 201880076258 A CN201880076258 A CN 201880076258A CN 111386556 B CN111386556 B CN 111386556B
- Authority
- CN
- China
- Prior art keywords
- depth
- point
- points
- scene
- current pixel
- 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
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000001419 dependent effect Effects 0.000 claims abstract description 6
- 230000015654 memory Effects 0.000 claims description 18
- 230000008569 process Effects 0.000 description 21
- 238000012545 processing Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 239000013598 vector Substances 0.000 description 6
- 108091006146 Channels Proteins 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 229920001690 polydopamine Polymers 0.000 description 3
- 102100026191 Class E basic helix-loop-helix protein 40 Human genes 0.000 description 2
- 101710130550 Class E basic helix-loop-helix protein 40 Proteins 0.000 description 2
- 102100026190 Class E basic helix-loop-helix protein 41 Human genes 0.000 description 2
- 102100035087 Ectoderm-neural cortex protein 1 Human genes 0.000 description 2
- 101000765033 Homo sapiens Class E basic helix-loop-helix protein 41 Proteins 0.000 description 2
- 101000877456 Homo sapiens Ectoderm-neural cortex protein 1 Proteins 0.000 description 2
- 101100065246 Mus musculus Enc1 gene Proteins 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 102100037812 Medium-wave-sensitive opsin 1 Human genes 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 101150047356 dec-1 gene Proteins 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/529—Depth or shape recovery from texture
-
- 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
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/56—Particle system, point based geometry or rendering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
一种用于从深度图像生成3D场景的点的方法和装置。为了达到该目的,将与当前像素相关联的深度信息与和所述深度图像中在空间上相邻于所述当前像素的像素相关联的深度信息进行比较。当所述当前像素与相邻像素之间的深度差大于第一值且小于第二值时,除了与所述深度图像的所述当前像素相关联的当前点之外,生成所述3D场景的至少附加点,所述附加点的数目取决于所述深度差。
Description
技术领域
本文档涉及处理3D场景的领域。具体地,但非排他地,本原理的技术领域涉及表示3D场景或其一部分的几何形状和/或纹理(例如,3D对象的几何形状和/或纹理)的点云的点的处理。本原理的技术领域还可以涉及使用纹理和深度投影方案的3D图像数据的编码/解码。
背景技术
本部分旨在向读者介绍技术的各个方面,这些方面可涉及以下描述和/或要求保护的本文档的各个方面。认为该讨论有助于向读者提供背景信息,以有助于更好地理解本发明的各个方面。因此,应从这个角度来阅读这些陈述,而不是作为对现有技术的承认。
用点云或网格表示3D对象是公知的。
网格包括其每一个由顶点和连接顶点的边缘表示的网格元素(例如三角形)。网格通常旨在表示3D对象的外表面。
点云是通常旨在表示3D对象外表面的点集,也可能是更复杂的几何形状(如头发、毛发),它们可能无法通过其他数据格式(例如网格)有效地表示。点云的每个点通常由3D空间位置(3D空间中的X、Y和Z坐标)定义,并且可能由其他关联属性定义,例如在RGB或YUV颜色空间中表示的颜色,例如透明度、反射率、两分量法向向量等。可以考虑有色点云,即六分量点的集合(X,Y,Z,R,G,B)或等效地(X,Y,Z,Y,U,V),其中(X,Y,Z)定义3D空间中的点的空间位置,而(R,G,B)或(Y,U,V)定义该点的颜色或纹理。
可以用与基于图像的点云表示相对应的纹理和深度投影,来表示点云。
在深度压缩之后,3D场景的一些点可能会被错误地重构或简单地丢失,这导致可能根据视点可见的3D场景中的孔。
发明内容
说明书中对“一个实施例”、“实施例”、“示例实施例”、“特定实施例”的指代指示所描述的实施例可以包括特定特征、结构或特性,但是每个实施例并非必须都包括所述特定特征、结构或特性。而且,这样的短语并非必须指代相同的实施例。此外,当结合实施例描述这些特定特征、结构或特性时,认为结合没有明确描述的其他实施例影响这样的特征、结构或特性是本领域技术人员公知的。
本文档涉及一种用于从深度图像生成3D场景的点的方法,该方法包括:
-对于所述深度图像的当前像素,将与所述当前像素相关联的深度信息与和所述深度图像中在空间上相邻于所述当前像素的像素相关联的深度信息进行比较;
-当所述当前像素与相邻像素之间的深度差大于第一值且小于第二值时,除了与所述深度图像的所述当前像素相关联的当前点之外,生成所述3D场景的至少附加点,所述附加点的数目取决于所述差。
本文档还涉及一种适于从深度图像生成3D场景的点的装置/设备,所述装置/设备包括与至少处理器相关联的存储器,该处理器被配置为:
-对于所述深度图像的当前像素,将与所述当前像素相关联的深度信息与和所述深度图像中在空间上相邻于所述当前像素的像素相关联的深度信息进行比较;
-当所述当前像素与相邻像素之间的深度差大于第一值且小于第二值时,除了与所述深度图像的所述当前像素相关联的当前点之外,生成所述3D场景的至少附加点,所述附加点的数目取决于所述差。
本文档还涉及一种适于从深度图像生成3D场景的点的装置/设备,所述装置/设备包括:
-用于对于所述深度图像的当前像素、将与所述当前像素相关联的深度信息与和所述深度图像中在空间上相邻于所述当前像素的像素相关联的深度信息进行比较的部件;
-用于当所述当前像素与相邻像素之间的深度差大于第一值且小于第二值时、除了与所述深度图像的所述当前像素相关联的当前点之外、生成所述3D场景的至少附加点的部件,所述附加点的数目取决于所述差。
根据特性,在与当前像素具有在所述第一值和所述第二值之间包括的深度差的相邻像素之中,选择与当前像素具有最大深度差的相邻像素,所生成的附加点的数目取决于所述最大深度差
根据特定特性,体积单位与所述3D场景的点相关联,所述深度差对应于体积单位的数目,所生成的点的数目对应于所述深度差减去1。
根据另一特性,确定要与所述至少一个附加点相关联的属性,所述属性是根据与所述当前点和所述相邻像素相关联的属性来确定的。
根据另一特性,要与所述至少一个附加点相关联的属性包括深度信息和/或纹理信息。
根据另一特性,从接收到的比特流中解码深度图像。
根据另一特性,3D场景的点是点云的一部分。
本文档还涉及一种计算机程序产品,该计算机程序产品包括程序代码的指令,当在计算机上执行该程序时,该程序代码的指令用于由至少一个处理器执行用于从深度图像生成3D场景的点的上述方法。
本文档还涉及一种(非瞬时)处理器可读介质,其中存储有指令,所述指令用于促使处理器至少执行用于从深度图像生成3D场景的点的上述方法。
附图说明
通过阅读以下描述,将更好地理解本文档,并且将显露其他特定特征和优点,该描述参考了附图,其中:
-图1示出了根据本原理的示例的3D场景的3D对象的示例;
-图2A和2B示出了根据本原理的非限制性实施例的、与图1的3D对象相关联的属性图像的示例;
-图3示出了根据本原理的非限制性实施例的、用于获得图2A和2B的属性图像的第一示例;
-图4示出了根据本原理的非限制性实施例的、用于获得图2A和2B的属性图像的第二示例;
-图5A和5B示出了根据本原理的非限制性实施例的、根据确定的视点的图1的3D对象的点;
-图6A和6B示出了根据本原理的非限制性实施例的、图1的3D对象的一些点和相关联的深度图像的3D表示;
-图7A和7B中的每一个示出了根据本原理的非限制性实施例的、在图6A的3D表示中包括的孔的2D表示;
-图8示出了根据本原理的非限制性实施例的、用于生成图1的3D场景的一个或多个点的方法;
-图9示出了根据本原理的非限制性实施例的、用于实现图8、12和/或13的方法的设备的架构的示例;
-图10示出了根据本原理的示例的、表示图1的3D对象的点云的编码/解码方案的示例;
-图11示出了根据本原理的非限制性实施例的、传输通过图10的方案获得的比特流的信号的语法的示例;
-图12示出了根据本原理的非限制性实施例的、在表示图1的3D对象的点云的编码中实现的处理的示例;和
-图13示出了根据本原理的非限制性实施例的、用于对比特流进行解码以获得表示图1的对象图1的3D对象的解码点云的处理的示例。
具体实施方式
现在参考附图描述主题,其中,贯穿全文使用相同的附图标记指代相同的元件。在下面的描述中,出于解释的目的,阐述了许多具体细节,以便提供对主题的透彻理解。然而,显而易见的是,可以在没有这些具体细节的情况下实践主题实施例。
根据非限制性实施例,公开了一种生成三维(3D)场景的点的方法和装置。
在下文中,图像包含特定图像/视频格式的一个或几个样本的阵列(像素值),这些阵列指定了与图像(或视频)的像素值有关的所有信息、以及可能例如由显示器和/或任何其他装置可视化和/或解码图像(或视频)所使用的所有信息。图像包括具有第一样本阵列的形状的至少一个分量,通常是亮度(或辉度)分量,并且可能包括具有至少一个其他样本阵列的形状的至少一个其他分量,通常颜色分量。或者,等效地,相同的信息也可以由颜色样本的阵列的集合来表示,例如传统的三色RGB表示。
在下文中,画面可以被视为图像(即样本阵列)、或一组(a collection of)图像。
像素值由nv个值的向量表示,其中nv是分量的数目。向量的每个值都由多个比特表示,这些比特定义了像素值的最大动态范围。
将参考用于生成3D场景的一个或多个点(例如,除了现有点之外的3D场景的3D对象的一个或多个点)的方法(以及被配置用于生成3D场景的一个或多个点的设备)的特定实施例来描述本原理。属性可以与3D场景的现有点相关联,所述属性对应于纹理信息(纹理属性)和/或深度信息(深度属性)。深度(或距离)属性被存储在深度图像中,即与深度图像的像素相关联,并且纹理(或颜色)属性被存储在纹理图像中,即与纹理图像的像素相关联。将与深度图像的当前像素相关联的深度信息和与深度图像的与当前像素相邻的像素相关联的深度信息进行比较。当前像素及其相邻像素形成9个像素的块,其中8个相邻像素围绕当前像素。9个像素的该块与3D场景的9个点的集合相关联,与8个相邻像素相关联的8个点形成与当前像素相关联的当前点的邻域。对于相对于当前像素具有小于第一值且大于第二值的深度差的相邻像素中的至少一个,除了与深度图像的当前像素相关联的当前点之外,生成3D场景的一个或多个附加点。所生成的(多个)附加点的数目取决于该深度差,深度差越大,则生成的附加点的数目越大。
深度图像(各自地纹理图像)中的3D场景的点的邻域对应于位于深度图像(各自地纹理图像)的像素的邻域中的深度图像(各自地纹理图像)的像素,后一像素对应于3D对象的所述点。像素的邻域可以例如包括与所述像素相邻的所有像素,而不限于此示例。例如,邻域可以包括与所述像素相邻的像素、以及与和所述像素相邻的每个像素相邻的所有像素、或者甚至更多。
生成3D场景的附加点使得能够填充在改变视点时可能可见的3D场景中的孔。它还可以使得能够增加3D场景的某些区域中的点的密度。深度图像(代替3D对象的3D空间)的使用使得能够迅速标识要填充的孔。
即使参考3D场景的单个深度图像进行描述,本原理也以相同的方式应用于多个深度图像。
图1示出了根据非限制性实施例的3D对象或其一部分的两种不同表示。3D对象可以例如属于包括一个或多个3D对象的3D场景。根据图1的示例,该对象是例如在场景中移动的人,并且图1中图示了对应于头部的对象的一部分。图1还可以图示对象的三维(3D)模型10、和对应于3D模型10的点云的点11。模型10可以是3D网格表示,并且点云的点11可以是网格的顶点。点11也可以是散布在网格的面的表面上的点。模型10也可以表示为云的点11的飞溅(splatted)版本,模型10的表面是通过飞溅点云的点11而创建的。模型10可以由许多不同的表示形式来表示,例如体素(voxels)或样条曲线(splines)。图1图示了这样的事实,即总是可能从3D对象的表面表示定义点云,并且相反地总是可能从云点创建3D对象的表面表示。如本文所使用的,将3D对象的点(通过3D场景的扩展点)投影到图像等同于将该3D对象的任何表示投影到对象。
对象的该部分的第一表示10是点云。点云对应于表示对象的点的大集合,例如对象的外表面或外部形状。点云可被视为基于向量的结构,其中每个点具有其坐标(例如,三维坐标XYZ、或距给定视点的深度/距离)和一个或多个属性(也称为分量)。分量的示例是可以在不同的颜色空间中表示的颜色分量,例如RGB(红、绿和蓝)或YUV(Y是亮度分量,而UV是两个色度分量)。点云是从给定视点或视点范围看到的对象的表示。点云可以通过不同的方式从下面获得,例如:
·由一组相机拍摄的(最佳地由深度主动感测装置补充的)真实对象的捕获;
·由建模工具中的一组虚拟相机拍摄的虚拟/合成对象的捕获;
·真实对象和虚拟对象的混合。
在第一种情况下(来自真实对象的捕获),这组相机生成与不同视图(不同视点)相对应的图像集合或图像序列(视频)。借助于有源深度感应装置(例如,在红外范围内并基于结构化光分析或飞行时间)或基于视差算法,来获得深度信息(意味着从每个相机中心到对象表面的距离)。在这两种情况下,所有相机都需要被内在和外在校准。视差算法包括在一对经校正的相机图像上搜索相似的视觉特征,其通常沿一维线进行:像素列差越大,此特征的表面越近。在相机阵列的情况下,可以从多个对等(peer)视差信息的组合中获得全局深度信息,这有助于所述多个相机对,因此改善信噪比。
在第二种情况下(合成对象),建模工具直接提供深度信息。
点云10可以是随时间演化的动态点云,即,点的数目可以随着时间而变化和/或一个或多个点的位置(例如,坐标X/Y和Z中的至少一个)可以随着时间而变化。点云的演化可以对应于由点云表示的对象的运动和/或对应于对象或对象的(多个)部分的形状的任何改变。
点云10可以按照画面或一组或多组时间上连续的画面来表示,每个画面包括在确定的时间“t”处的点云的表示。所述一组或多组时间上连续的画面可以形成表示点云10的至少一部分的视频。
可以从点云表示10中获得对象的一部分的第二表示11,该第二表示对应于表面表示。可以处理点云以便计算其表面。为此目的,对于点云的给定点,使用该给定点的相邻点以便计算该给定点处的局部表面的法线,与该给定点关联的表面元素是从该法线导出的。对所有点重复该处理以获得表面。例如,Matthew Berger等人在“State of the Art inSurface Reconstruction from Point Clouds”,State of the Art Report,2014中描述了用于从点云重构表面的方法。根据变型,与点云的给定点关联的表面元素是通过将对该给定应用长条木板(splat)渲染而获得的。对象的表面(也称为对象的隐式表面或外表面)是通过混合与点云的点关联的所有长条木板(例如椭圆体)而获得的。
在特定实施例中,点云仅表示对象的部分视图,而不是对象全体,并且这对应于应如何在渲染侧(例如,在电影场景中)观看对象的方式。例如,拍摄面向平板相机阵列的角色只会在装备(rig)一侧生成点云。角色的背面甚至不存在,对象不自行封闭,并且因此该对象的几何特性是沿装备方向定向的所有表面的集合(每个局部表面的法线和返回到获取装置的光线之间的角度例如小于90°)。
图2A和2B中的每一个示出了根据本原理的特定非限制性实施例的点云10的画面。
图2A图示了点云的画面20的第一示例,例如,点云的GOP(画面组)的画面。画面20由n个图像201、202、203、20n的集合组成,n是大于或等于2的整数。图像201至20n中的每一个对应于像素阵列,该像素阵列的尺寸和/或清晰度从图像到另一图像可能会变化。例如,图像201和20n的清晰度相同,而图像202、203的清晰度彼此不同并且与图像201和20n的清晰度不同。在图2A的示例中,图像201至20n在空间上被布置为覆盖整个画面20,而在图像之间没有重叠。根据变型,图像201至20n不覆盖整个画面,图像201至202之间或它们中的至少一些之间存在空间,即,两个相邻图像的边缘可以不接触。数据可以与图像201至20n的每个像素相关联,例如纹理信息和/或深度信息。纹理信息可以例如在与颜色空间(例如,RGB颜色空间或YUV颜色空间)的每个通道相关联的灰度级的形式下存储,例如,每个通道的灰度级由第一确定数目的比特(例如8、10或12比特)来表达。深度信息可以例如以值的形式存储在例如具有第二确定数目的比特(例如8、10或12比特)的α信道中。因此,例如可以将四个分量RGBα或YUVα(例如四个10比特通道)与画面20中的每个像素相关联,以表示在确定的时间“t”处的点云。根据变型,使用第一画面20来存储纹理信息(例如3个分量RGB或YUV),并且使用具有相同图像布置的第二画面来存储深度信息,这两个画面均表示时间“t”处的点云。可以例如通过根据(多个)投影(例如,每个第一图像的不同投影)投影点云的点,来获得形成画面20的图像的集合,如图3所示。
图3图示了根据本原理的非限制性示例的、限制(bounding)点云10的至少一部分的立方体31。
在第一细分级别,例如,将立方体31细分为8个子立方体(为了清楚起见,仅示出了8个子立方体中的一个子立方体32)。在第二细分级别,子立方体32也细分为8个子立方体(为了清晰起见,仅显示8个子立方体中的一个子立方体33)。在每个细分级别,点云的点的一部分可以被投影(例如,根据正交投影)到(多个)立方体的一个或多个面(例如,具有灰色填充的面)上。例如,点云的点投影到立方体31的面301、立方体32的面302以及立方体33的面303上。例如,这些面被离散化以形成具有取决于立方体的细分级别的清晰度/尺寸的像素阵列。例如,对于立方体的面的像素,投影到所述像素上的点云的点对应于当从所述像素追踪光线时与该像素最接近、并与包括该像素的面正交的点云的点。与所述像素相关联的属性对应于投影到所述像素上的点的属性(纹理和/或深度)。
例如,使用面301来形成图像201,使用面302来形成图像302,并使用面303来形成图像303。
图2B图示了点云的画面21的第二示例,例如,点云的GOP的画面。画面21包括m个图像的集合211、212、213、214、21m,m是大于或等于2的整数。图像211至21m的布置可以与画面20之一不同,其中例如在图像211至21m之间具有自由空间。图像211至21m可以具有变化的尺寸和/或清晰度。每个画面可以从点云的点接收属性,所述属性与每个图像211至21m的至少一些像素相关联。例如,每个图像的从点云接收属性的部分被示出为灰色区域,而图像的不从点云接收属性的部分被示出为白色区域,所述白色区域可以填充有默认值,例如图像之间的自由空间。就像对于图2A的画面20那样,与图像211到21n的像素相关联的数据可以对应于纹理信息和/或深度信息。在变型中,使用第一画面21来存储纹理信息(例如3个分量RGB或YUV),并且使用具有图像211至21m的相同布置的第二画面21来存储深度信息,这两个画面均表示时间“t”处的点云。
形成画面21的图像的集合可以例如包括一个或多个第一图像以及潜在地一个或多个第二图像。可以例如通过根据(多个)第一投影(例如,每个第一图像的不同第一投影)投影点云的点,来获得(多个)第一图像(每个第一图像的至少灰度区域),如图4所示。
图4图示了根据本原理的非限制性示例的、形成画面21的图像的集合中的第一图像的获得。表示3D对象4的点云被划分为多个3D部分,例如50、100、1000或更多个3D部分,其中3个在图4中进行了图示,即3D部分42、43和44,其中3D部分44包括表示人的头部的一部分的点云的点(例如对应于图1的点云10),3D部分42包括表示人的腋窝的点云的点,而3D部分43包括表示人的手部的点云的点。生成每个3D部分或3D部分的一部分的一个或多个图像,以二维地(即,根据2D参数化)表示每个3D部分。例如,针对3D部分44获得2D参数化401,针对3D部分42获得2D参数化402,并且针对3D部分43获得2个不同的2D参数化403和404。2D参数化可以从3D部分到另一3D部分变化。例如,与3D部分41相关联的2D参数化401是线性透视投影,而与3D部分42相关联的2D参数化402是LLE,并且与3D部分43相关联的2D参数化403和404都是根据不同视点的正交投影。根据变型,与所有3D部分相关联的所有2D参数化是相同类型的,例如,线性透视投影或正交投影。根据变型,可以对于相同的3D部分使用不同的2D参数化。
与点云的一个给定3D部分相关联的2D参数化对应于点云的给定3D部分的2维浏览,这允许采样给定3D部分,即包含多个样本(可能对应于第一图像的像素)的该给定3D部分的内容(即(多个)点)的2D表示,其数目取决于所应用的采样步长。可以通过多种方式获得2D参数化,例如,通过实施以下任何一种方法:
-点云的3D部分的点在与视点相关联的平面上的线性透视投影,表示线性透视投影的参数包括虚拟相机的位置、空间采样步长和2维的视场;
-点云的3D部分的点在表面上的正交投影,表示正交投影的参数包括投影表面的几何形状(形状、尺寸和朝向)和空间采样步长;
-与降维的数学运算相对应的LLE(局部线性嵌入),这里应用于从3D到2D的转换/变换,表示LLE的参数包括变换系数。
每个图像有利地具有矩形形状,以减轻在画面21上的封装处理。
图5A和图5B示出了根据本原理的非限制性示例的、图1的3D场景的一部分的2D表示。
图5A提供了3D对象10的一部分的2D表示5A的示例,例如3D对象10的横截面。用3D表示10中的与立方体或体素对应的正方形,来表示横截面5A的点。例如,正方形(或立方体)510用点51表示。立方体或体素与3D场景(或当用点云表示3D场景时的点云)的点相关联,以填充3D场景的空间。图5A上表示的一些正方形可能是空的,即3D场景中没有与之关联的点,即没有与它们关联的纹理和深度。3D对象10的表面用直线50表示,点501至506对应于从视点52看到的点。与点501至506相关的正方形用灰色阴影表示。当根据视点52在关联的深度图像上投影这些点501至506时,人们获得与点501至506关联的一列像素,一个单一像素与一个单一点关联。
自然地,不同于正方形的体积元素可以与3D场景的点相关联,例如球体。在说明书的其余部分中,表述“体积单位”将用于表达与点关联的体积元素,体积单位例如对应于尺寸1乘1乘1的体素,例如,1毫米乘1毫米乘1毫米(体积为1立方毫米)、或1厘米乘1厘米乘1厘米(体积为1立方厘米)、或任何其他维度。
图5B图示了与图5A所示的3D对象10的相同部分的2D表示5B,通过根据视点52从2D表示5A获得的深度图像中对点501至506进行解投影(deprojecting),来获得2D表示5B。点(和关联的体积单位)501至506用灰色阴影示出。点(和关联的体积单位)511至518用对角线条纹的图案示出,并且从视点3观看时对应于3D对象10的孔。这些孔可能是由于使用当根据不同于视点53的视点52投影点时所获得的深度图像来重构3D对象而产生的,当从视点53观看重构的3D对象时,这些孔会导致可见伪像(artefact)。无纹理信息且无深度信息与对应于这些孔的点511至518相关联。
根据本原理的非限制性示例,图6A按照三维示出了图1的3D对象的点的子集6A,并且图6B示出了与子集6A相关联的深度图像的部分6B。
图6A示出了3D对象的点的子集6A,并且在图6A上用立方体或体素图示了关联的体积单元601、602、603、604、605、606、607、608和609。立方体601到609在三个维度X、Y和Z上延伸,轴Z表示深度,而X表示横坐标轴,Y表示纵坐标轴。箭头61、62和63表示根据其可以看到子集6A的不同视点。视点61使得能够根据Z轴看到子集6A。视点62使得能够根据Y轴看到子集6A。视点63能够根据X轴看到子集6A。立方体602至609(或等效地,点602至609)可被视为形成立方体601(或等效地,点601)的邻域。
图6B示出了与子集6A相关联的深度图像的部分6B。可以通过根据视点61和关联的轴Z投影立方体(点)601至609,而获得深度图像的部分6B。在图6B上可以看出,部分6B形成9个像素的块,8个相邻像素612至619(每一个分别对应于/指代子集6A的关联的立方体/点602至609)围绕像素611(对应于/指代子集6A的关联的立方体/点601)。立方体/点602至609对应于立方体/点601的邻域,因为其关联的深度图像的对应像素612至619对应于围绕与立方体/点601对应的像素611的深度图像的相邻像素。
当从视点61观察时,在子集6A中没有出现孔(根据视点61的视图对应于深度图像的部分6B)。但是当从其他视点观察时,可能会出现(多个)孔。例如,当从视点62观察时,在立方体/点601和602之间出现孔,这样的孔所占据的空间对应于用条纹示出的立方体6001的空间。在图7A上图示了这样的孔6001。图7A从视点62图示了子集6A的视图的一部分,特别是包括立方体601和602以及它们之间的自由空间的部分,即未被子集6A的立方体/点占据的空间。当从视点63观察时,在立方体/点601和604之间出现孔,这样的孔所占据的空间对应于用条纹示出的两个立方体(即立方体6001和6002)的空间。在图7B上图示了这样的孔6001、6002,图7B从视点63图示了子集6A的视图的一部分,特别是包括立方体601和604以及它们之间的自由空间(即未被子集6A的立方/点占据的空间)的部分。
与3D场景相关联的深度图像可以用于确定(多个)孔可以位于3D场景中的(多个)区域中的何处。例如,如以下所解释的,处理和分析与3D对象10的点的部分6A相关联(并从其获得)的深度图像的部分6B,以获得(多个)孔的位置。更具体地,与像素611至619相关联的深度信息用于获得(多个)孔6001、6002的位置。图6B的框6C示出了与像素611至619相关联的深度信息。例如,在图6A和6B的示例中,将这样的处理应用于当前像素,即(与当前点601相关联的)当前像素611。在图6B的示例中,参考深度与当前像素611相关联,例如,参考深度等于0。与相邻于当前像素611的像素612至619相关联的深度以体积单位(在图6A、6B的示例中,该体积单元对应于立方体/体素)表达。关于当前像素,与相邻像素612相关联的深度等于+2体积单位;与相邻像素613相关联的深度等于+1体积单位;与相邻像素614相关联的深度等于+3体积单位;与相邻像素615相关联的深度等于0体积单位;与相邻像素616相关联的深度等于-1体积单位;与相邻像素617相关联的深度等于0体积单位;与相邻像素618相关联的深度等于0体积单位;并且与相邻像素619相关联的深度等于+1体积单位。自然地,与像素相关联的深度可以用任何其他度量来表达,例如,将点(即,关联的立方体)和与深度图像相关联的视点分开的体积单位的数目,即,视点与3D场景的点之间的距离(例如,与当前像素611相关联的深度可以等于1254体积单位,与相邻像素612至619相关联的深度将然后分别为1256、1255、1257、1254、1253、1254、1254和1255)。根据另一示例,深度可以以厘米或米或任何其他度量来表达,对应于从与深度图像相关联的视点以厘米或米表达的距离。
将与每个相邻像素612至619相关联的深度信息和与当前像素611相关联的深度信息进行比较。例如,在每个相邻像素612至619与当前像素611之间计算深度差。当该差大于或等于第一确定值时(例如,当以体积单位的数目表达深度时,2个体积单位),这意味着与所考虑的相邻像素和当前像素关联的立方体在3D场景的空间中不相邻,意味着它们在3D场景中不会彼此接触,这意味着在它们之间存在孔。例如,像素612和611之间的深度差等于+2,这意味着3D场景中的对应立方体601和602之间存在孔,如图6A上清楚存在的(该孔对应于用立方体6001图示的空白空间)。像素614和611之间的深度差等于+3,这意味着3D场景中的对应立方体601和604之间存在孔,如图6A上清楚存在的(该孔对应于用立方体6001和6002图示的空白空间)。根据另一示例,像素617和611之间的深度差等于+0,这意味着在3D场景中的对应立方体607和601之间没有孔,如图6A上清楚存在的(立方体607和601彼此接触,因为它们两者都属于由轴X和Y所定义的平面;它们共享面)。根据另一示例,像素619和611之间的深度差等于+1,这意味着在3D场景中的对应立方体609和601之间没有孔,如图6A上清楚存在的(立方体609和601彼此接触,因为它们共享角)。
可以对于3D场景的每个点(或至少对于3D场景的点的一部分的每个点,例如,对于每两个点的每个点,或每8至八个点的每个点)执行相同的处理,也就是说,每个点都可以被处理为当前点,并将其深度与其邻域的深度(即在关联深度图像的空间中)进行比较。
根据变型,仅考虑正深度差,并将其与第一确定值进行比较。通过将具有负深度差的相邻像素用作新的或其他当前像素,而考虑负深度差。通过仅考虑正深度差,可以加快3D场景检测(多个)孔的处理。
根据另一变型,还将两个相邻像素之间的深度差与第二确定值进行比较,并且可以仅考虑小于或等于该第二确定值的深度差,来确定与相邻像素关联的立方体之间是否存在孔。与第二确定值的比较使得能够确保两个立方体属于3D场景的相同对象或属于3D对象的相同部分。实际上,如果两个相邻像素之间(即,两个对应的立方体之间)的深度差太大,则这意味着这两个立方体不属于同一表面。第二确定值可以例如等于10、50或100体积单位。当满足以下条件时,确定两个立方体之间的孔:
Th1≤d≤Th2 公式1
d对应于两个考虑的像素(和关联的立方体)之间的深度差;Th1对应于第一确定值;而Th2对应于第二确定值。
为了填充所确定的(多个)孔,可以在满足公式1的(在深度图像中)深度差为d的两个立方体/点之间生成附加立方体/点。可以通过从与用于确定孔的立方体关联的深度和纹理、计算它们的关联深度和纹理(例如,通过对用于确定孔的存在的点/立方体进行内插),来生成附加立方体/点。当用体积单位的数目表达深度差时,生成的附加点的数目可以是深度差的函数,例如等于d减1(d–1)。例如,在点/立方体601和602之间生成的点/立方体的数目等于1,深度图像的对应像素611和612之间的深度差等于2。在点/立方体601和604之间生成的点/立方体的数目等于2,深度图像的对应像素611和614之间的深度差等于3。
在现有点/立方体601和602之间生成的附加点/立方体6001可以接收与点/立方体601和602相关联的纹理值的平均值作为纹理信息,并接收与点/立方体601相关联的深度值的平均值加1(d601+1)作为深度信息。
在现有点/立方体601和604之间生成的附加点/立方体6001和6002可以接收与点/立方体601和604相关联的纹理值的平均值作为纹理信息,并且接收用于立方体6001的点601的深度值加1(d601+1)和用于立方体6002的点601的深度值加2(d601+2)作为深度信息。
根据变型,权重与现有点/立方体的纹理相关联,以确定附加点/立方体的纹理。例如,当计算附加点6001的纹理时,与点601的纹理关联的权重可大于与点604的权重关联的权重,因为附加点6001更靠近点601而不是点604。相反,在计算附加点6002的纹理时,与点604的纹理关联的权重可大于与点601的权重关联的权重,因为附加点6002更靠近点604而不是点601。例如,当内插要与生成的附加点关联的纹理值时与纹理值关联的权重可以与生成的附加点和用于生成附加点的点分开的距离(深度)成反比。例如,当计算附加点6001的纹理时,等于2的权重可以与点601的纹理关联,并且等于1的权重可以与点604的纹理关联,附加点6001和点601之间的距离(深度差)等于1个体积单位,而附加点6001和点604之间的距离(深度差)等于2个体积单位。
根据另一变型,要与生成的附加点相关联的纹理信息对应于用于生成它的点之一的纹理信息。例如,可以将点601的纹理信息应用于所生成的附加点6001,并且可以将点604的纹理信息应用于所生成的附加点6002。
根据另一可选变型,代替每次当(当前像素和与该当前像素相邻的像素之间的)深度差d被确定为大于或等于第一确定值Th1且小于或等于第二确定值Th2时生成(多个)附加点,仅在当前像素与在间隔[Th1;Th2]内具有最大深度差dmax的相邻像素之间生成附加点。例如,不是生成两次点/立方体6001(一次使用点/立方体601和602,一次使用点/立方体601和604),而是当点601和604之间的深度差(即+3)大于点601和602之间的深度差(即+2)时,使用点/立方体601和604仅生成一次点立方体6001。为了达到该目的,在像素6B的块的所有深度差d612至d619之中选择最大深度差dmax(小于或等于Th2),并且仅将所有相邻像素612至619之中的与最大深度差dmax对应的相邻像素614与当前像素611一起考虑,以(从对应的点/立方体601和604)生成附加点/立方体。
图8示出了根据本原理的非限制性实施例的、例如在装置9中实现的生成3D场景的一个或多个点的方法(关于图9描述)。
在第一操作81中,将与当前像素相关联的深度信息和与深度图像中在空间上邻近于当前像素的像素相关联的深度信息进行比较。深度图像与3D场景的现有点或3D场景的一部分(例如3D对象的现有点)相关联。深度图像的每个像素与3D场景的对应点相关联,该深度图像是通过将3D场景的点投影在对应像素上而获得的,这些点的深度属性被存储在深度图像中并与对应像素相关联。
在第二操作82中,除了与当前像素相关联的当前点之外,生成3D场景的一个或多个附加点。当前点例如是通过使用用于从3D场景的现有点获得深度图像的投影的参数、对当前像素进行解投影而生成的。当当前像素和相邻像素之间的深度差大于第一值Th1且小于第二值Th2时,例如,通过使用当前点、和通过对与当前像素相邻的深度图像的像素进行解投影而获得的3D场景的点,来生成一个或多个点。例如,可以对于具有在第一值和第二值之间包括的深度差的每对点(每对包括当前点、和与邻近于当前像素的深度图像的像素相对应的当前点的邻近点的点)生成附加点。生成的附加点的数目取决于深度差,深度差越大,生成的附加点的数目越大。
根据变型,在与当前像素具有在第一值和第二值之间包括的深度差的相邻像素之中,选择与当前像素具有最大深度差的相邻像素,并且仅使用当前点和与具有最大深度差的所述相邻像素对应的相邻点,来生成附加点。
使用用于生成附加点的当前点和相邻点(分别对应于当前像素和相邻像素)的属性,来确定要与附加点关联的属性,尤其是纹理属性。纹理属性例如是通过对当前点和相邻点的纹理属性进行内插而获得的。
可以针对多个当前像素(或3D场景的等效地对应的当前点),例如针对深度图像的每个像素,或针对深度图像的一部分像素的每个像素,重复第一操作和第二操作。
图9示出了根据本原理的非限制性实施例的、适于实现关于图6和8描述的方法中的至少一个的设备9的架构的示例。
设备9包括通过数据和地址总线91链接在一起的以下元件:
-微处理器92(或CPU),例如,DSP(或数字信号处理器);
-ROM(或只读存储器)93;
-RAM(或随机存取存储器)94;
-存储接口95;
-I/O接口96,用于从应用接收要传送的数据;和
-电源,例如电池。
根据示例,电源在设备外部。在每个提到的存储器中,本说明书中使用的单词“寄存器”可以对应于小容量(一些比特)的区域,或者对应于非常大的区域(例如,整个程序或大量接收或解码的数据)。ROM 93至少包括程序和参数。ROM 93可以存储算法和指令,以执行根据本原理的技术。当接通电源时,CPU 92将程序上载到RAM中,并运行对应指令。
RAM 94在寄存器中包括由CPU 92运行并在设备9接通电源之后上载的程序、寄存器中的输入数据、寄存器中的该方法的不同状态下的中间数据、以及寄存器中的用于执行该方法的其他变量。
本文描述的实施方式可以例如以方法或处理、设备、计算机程序产品、数据流、或信号来实施。即使仅在单一形式的实施方式的上下文中进行讨论(例如,仅作为方法或装置进行讨论),所讨论功能的实现也可以以其他形式(例如程序)实现。设备可以例如以适当的硬件、软件和固件来实现。该方法可以在例如诸如处理器之类的设备中实现,该设备通常指的是处理装置,包括例如计算机、微处理器、集成电路、或可编程逻辑器件。处理器还包括通信装置,例如计算机、蜂窝电话、便携式/个人数字助理(“PDA”)、以及有助于最终用户之间的信息通信的其他装置。
3D场景的点(例如,点云的点)和关联的数据/属性(例如,点的深度和纹理)可从源中获得。例如,源属于包含以下内容的集合:
-本地存储器(93或94),例如视频存储器或RAM(或随机存取存储器)、闪存、ROM(或只读存储器)、硬盘;
-存储接口(95),例如与大容量存储器、RAM、闪存、ROM、光盘或磁力架(magneticsupport)的接口;
-通信接口(96),例如有线接口(例如总线接口、广域网接口、局域网接口)或无线接口(例如IEEE 802.11接口或蓝牙接口);和
-用户界面,例如使得用户能够输入数据的图形用户界面。
根据解码/渲染或(多个)解码器/(多个)渲染器的示例,将解码的点或重构的3D场景发送到目的地;特别是,目的地属于包含以下内容的集合:
-本地存储器(93或94),例如视频存储器或RAM、闪存、硬盘;
-存储接口(95),例如与大容量存储器、RAM、闪存、ROM、光盘或磁力架的接口;和
-通信接口(96),例如有线接口(例如总线接口(例如USB(或通用串行总线))、广域网接口、局域网接口、HDMI(高清晰度多媒体接口)接口)或无线接口(例如IEEE 802.11接口、或/>接口)。
根据示例,该设备9被配置为实现结合图6至8中的至少一个描述的方法,并且属于包括以下内容的集合:
-移动装置;
-通信装置;
-游戏装置;
-平板或平板电脑);
-笔记本电脑;
-静止画面相机;
-视频相机;
-编码芯片;
-服务器(例如,广播服务器、视频点播服务器或网络服务器)。
-机顶盒;
-电视机;和
-显示器(例如HMD)。
图10示意性地示出了根据本原理的特定且非限制性实施例的、例如点云103的3D场景的编码/解码方案的图。
经由在模块M101中实现的编码处理101,在比特流104的形式下将点云103编码为编码数据。将比特流传送到模块M102,模块M102实现解码处理102以对编码数据进行解码,以获得解码的点云105。模块M101和M102可以是硬件、软件或硬件和软件的组合。
点云103对应于表示对象的一大组点,例如对象的外表面或外部形状。点云可被视为基于向量的结构,其中每个点具有其坐标(例如,三维坐标XYZ、或距给定视点的深度/距离)和一个或多个分量。分量的示例是可以在不同的颜色空间中表示的颜色分量,例如RGB(红色、绿色和蓝色)或YUV(Y是亮度分量,而UV是两个色度分量)。点云可以是从一个或多个视点看到的对象的表示。点云可以通过不同的方式获得,例如:
·通过捕获一个或多个相机拍摄的真实对象,可选地由深度主动感测装置补充;
·通过捕获在建模工具中的一个或多个虚拟相机拍摄的虚拟/合成对象;
·通过混合真实对象和虚拟对象两者。
点云103可以是随时间演化的动态点云,即,点的数目可以随时间和/或一个或多个点的位置(例如,坐标X、Y和Z中的至少一个)而变化。点云的演化可以对应于由点云表示的对象的运动和/或对应于对象或对象的(多个)部分的形状的任何改变。
点云103可以在画面中或在一个或多个时间上连续的画面组中表示,每个画面包括在确定的时间“t”处的点云的表示。一组或多组时间上连续的画面可以形成表示点云103的至少一部分的视频。
编码处理101可以例如实现画面内编码和/或画面间编码。画面内编码是基于画面内预测的,该画面内预测通过从已编码像素进行外推计算预测值用于有效增量编码,来利用空间冗余度,即一幅画面内像素之间的相关性。画面间编码基于利用时间冗余度的画面间预测。时间独立编码的所谓帧内画面“I”仅使用帧内编码。时间编码的预测画面“P”(或“B”)可以使用画面内和画面间预测。
解码处理102可以例如对应于编码处理101的逆操作,以对用编码处理编码的数据进行解码。
图11示出了当通过基于分组的传输协议来传送数据时、例如在两个远程装置之间传送的信号的语法的示例。每个传送的分组P包括报头H和有效载荷数据PAYLOAD。
根据实施例,有效载荷PAYLOAD可以包括以下元素中的至少一个:
-表示至少一个画面的比特,所述画面表示在确定的时间t处的点云,例如这些比特可以表示与至少一个画面的像素相关联的纹理信息和/或深度信息;
-表示投影信息数据、以及至少一个画面的投影与图像之间的映射的比特。
图12示出了根据本原理的特定且非限制性实施例的、用于编码3D场景(例如,点云103)的操作。这些操作可以是编码处理101的一部分,并且可以由图9的设备9实现。
在操作120中,通过编码器ENC1对点云的画面20的数据进行编码。画面20例如是画面组(GOP)的一部分,并且包括表示在确定的时间“t”处的点云的数据。画面20可以包括图像的集合,所述图像的集合中的至少一个图像包括与画面20的数据的至少一部分相对应的属性。可以通过根据确定的投影在每个图像中投影点云的一部分,来获得属性,所述属性对应于在所述每个图像上投影的该点云的一部分的点的属性。所述属性可以对应于纹理(或颜色)信息和/或深度(或到视点的距离)信息。编码器ENC1例如符合传统编码器,例如:
·JPEG,规范ISO/CEI 10918-1 UIT-T建议T.81,https://www.itu.int/rec/T-REC-T.81/en,
·AVC,也称为MPEG-4AVC或h264。在UIT-T H.264和ISO/CEI MPEG-4第10部分(ISO/CEI 14496-10)中规定,http://www.itu.int/rec/T-REC-H.264/en,
·HEVC(其规范可在ITU网站上找到,T建议,H系列,h265,http://www.itu.int/rec/T-REC-H.265-201612-I/en),或
·3D-HEVC(HEVC的扩展,其规范可在ITU网站上找到,T建议,H系列,h265,http://www.itu.int/rec/T-REC-H.265-201612-I/en附件G和I)。
画面20的编码数据可以在比特流104中存储和/或传送。
在操作121中,画面20的编码数据由解码器DEC1解码。解码器DEC1与编码器ENC1兼容,例如与传统解码器兼容,例如:
·JPEG,
·AVC,也称为MPEG-4AVC或h264,
·HEVC,或
·3D-HEVC(HEVC的扩展)。
在操作121处,对在操作120处编码的属性进行解码和恢复,例如存储在缓冲存储器中,以用于生成与画面20相关联的参考画面125。
在由模块M122实现的操作122中,如关于图6和/或8所描述的那样处理每个图像,以生成点云的点,并用于填充例如可以由编码/解码处理120、121导致的孔。
可以从自模块M122获得的(多个)校正图像获得参考画面125。
参考画面125可以在由模块M124实现的操作124中使用。操作124包括例如用于帧间预测的预测器的生成,该帧间预测用于编码与画面20不同的点云的一个或多个画面(例如,在与画面20的时间“t”不同的确定的时间处的点云的画面)。然后可以通过参考参考画面125,来编码点云103或表示点云的画面。根据变型,模块M124是编码器ENC1的一部分。
自然地,可以按照与参考画面125相同的方式,获得多个参考画面,所述多个参考画面中的每个参考画面是从表示点云的特定画面获得的,点云103的编码指代一个或几个参考画面。
图13示出了根据本原理的特定且非限制性实施例的、用于从比特流104解码点云103的编码版本的操作。所述操作可以是解码处理102的一部分,并且可以由图9的设备9实现。
在操作131中,解码器DEC2从接收到的比特流104中解码点云的一个或多个画面(例如,一个或多个GOP的画面或帧内周期的画面)的编码数据。比特流104包括一个或多个画面的编码数据。每个画面包括图像的集合,所述图像的集合中的至少一个图像包括与已编码的画面数据的至少一部分相对应的属性。可以通过根据第一投影在每个第一图像中投影点云的一部分,来获得属性,所述属性对应于在所述每个第一图像上投影的该点云的一部分的点的属性。所述属性可以对应于纹理(或颜色)信息和/或深度(或到视点的距离)信息。解码器DEC2可以对应于图12的解码器DEC1,并且例如符合传统解码器,例如:
·JPEG,
·AVC,也称为MPEG-4AVC或H264,
·HEVC,或
·3D-HEVC(HEVC的扩展)。
恢复在操作131处解码的属性,例如,将其存储在缓冲存储器中,以用于生成一个或多个参考画面135,每个参考画面与一个画面相关联。在下文中,为了清楚和简洁的目的,将仅考虑与一个画面相关联的一个参考画面。
在由模块M132(可以与图12的模块M122相同)实现的操作132中,如关于图6和/或8所描述的那样处理解码的属性,以生成点云的点,并用于填充例如可能由编码/解码处理120、131导致的孔。
通过将从操作121获得的解码的第一属性与从操作123获得的第二属性融合,可以从该画面获得参考画面135(其可以与图12的参考画面125相同)。该参考画面可以包括与该画面相同的结构,即具有图像的集合的相同空间布置,但是具有不同的数据,即具有解码的第一属性和获得的第二属性。上文结合图9的描述提供了用于获得参考画面的处理的示例的详细描述。
参考画面135可以在由模块M134实现的操作134中使用。操作134包括例如从比特流中包括的编码数据的解码生成用于帧间预测的预测器。与预测器的生成相关联的这些数据可以包括
-预测类型,例如指示预测模式是帧内还是帧间的标志,
-运动向量,和/或
-指示来自参考画面的列表的参考画面的索引。
自然地,可以按照与参考画面135相同的方式获得多个参考画面,所述多个参考画面中的每个参考画面是从表示点云的特定画面的解码数据中获得的,比特流104的数据的解码可以基于一个或几个参考画面以获得解码的点云105。
自然地,本文档不限于先前描述的实施例。
本文档不限于生成3D场景的(多个)点的方法,还扩展到用于对3D场景/点云进行编码和/或解码的方法、和/或用于传送通过3D场景/点云的编码获得的比特流的方法和装置、和/或用于接收通过3D场景/点云的编码获得的比特流的方法和装置。本文档还扩展到用于渲染和/或显示解码的3D场景/点云的方法和装置,即,由解码的点云表示的3D对象的图像,视点与每个图像相关联。
本文描述的实现方式可以例如以方法或处理、设备、软件程序、数据流或信号来实现。即使仅在单一形式的实现方式的上下文中进行讨论(例如,仅作为方法或装置进行讨论),所讨论特征的实现也可以以其他形式(例如程序)实现。设备可以例如以适当的硬件、软件和固件来实现。该方法可以在例如诸如处理器之类的设备中实现,该处理器通常指的是处理装置,包括例如计算机、微处理器、集成电路、或可编程逻辑器件。处理器还包括通信装置,例如智能电话、平板电脑、计算机、移动电话、便携式/个人数字助理(“PDA”)、以及有助于最终用户之间的信息通信的其他装置。
本文描述的各种处理和特征的实现方式可以在各种不同的设备或应用中实施,尤其是例如与数据编码、数据解码、视图生成、纹理处理、以及图像和相关纹理信息和/或深度信息的其他处理相关联的设备或应用。此类设备的示例包括编码器、解码器、从解码器输出的后处理器处理、向编码器提供输入的预处理器、视频编码器、视频解码器、视频编解码器、网络服务器、机顶盒、笔记本电脑、个人计算机、手机、PDA、HMD(头戴式显示器)、智能眼镜、和其他通信装置。应当清楚的是,这些设备可以是移动的,甚至可以安装在移动车辆中。
另外,可以通过由处理器执行的指令来实现所述方法,并且可以将这样的指令(和/或由实现方式产生的数据值)存储在处理器可读介质上,诸如集成电路、软件载体或其他存储装置,例如硬盘、致密盘(CD)、光盘(例如DVD,通常称为数字多功能盘或数字视频盘)、随机存取存储器(“RAM”)、或只读存储器(“ROM”)。这些指令可以形成有形地体现在处理器可读介质上的应用程序。指令可以是例如硬件、固件、软件或其组合。指令可以在例如操作系统、单独的应用、或两者的组合中找到。因此,处理器的特征可以在于,例如,被配置为执行处理的装置、和包括具有用于执行处理的指令的处理器可读介质(例如存储装置)的装置两者。此外,除了或代替指令,处理器可读介质可以存储由实现方式产生的数据值。
如对本领域技术人员显而易见的,实现方式可以产生各种信号,这些信号被格式化以携带例如可以被存储或传送的信息。该信息可以包括例如用于执行方法的指令、或由所描述的实现方式之一产生的数据。例如,信号可以被格式化以携带用于写入或读取所描述的实施例的语法的规则作为数据,或者携带由所描述的实施例所写入的实际语法值作为数据。这样的信号可以被格式化为例如电磁波(例如,使用谱的射频部分)或基带信号。格式化可以包括例如对数据流进行编码并且利用编码的数据流来调制载波。信号携带的信息可以是例如模拟或数字信息。众所周知,该信号可以通过各种不同的有线或无线链路传送。该信号可以存储在处理器可读介质上。
已经描述了许多实现方式。尽管如此,将理解可以进行各种修改。例如,不同实现方式的元素可以被组合、补充、修改或移除,以产生其他实现方式。此外,本领域普通技术人员将理解,可以用其他结构和处理代替所公开的结构和处理,并且所得到的实现方式将按照至少基本上相同的(多种)方式执行至少基本上相同的(多种)功能,以实现与所公开的实现方式至少基本上相同的(多种)结果。因此,本申请预期了这些和其他实现方式。
Claims (15)
1.一种用于从深度图像生成3D场景的点的方法,该方法包括:
-对于所述深度图像的当前像素,将和所述当前像素相关联的深度信息与和所述深度图像中在空间上相邻于所述当前像素的像素相关联的深度信息进行比较;
-当所述当前像素与相邻像素之间的深度差大于或等于第一值且小于或等于第二值时,除了与所述深度图像的所述当前像素相关联的当前点之外,生成所述3D场景的至少附加点,所述附加点的数目取决于所述差,其中所述第二值指示所述当前像素和相邻像素属于所述3D场景的相同对象或所述3D场景的对象的相同部分。
2.根据权利要求1所述的方法,还包括:在与当前像素具有在所述第一值和所述第二值之间包括的深度差的相邻像素之中,选择与当前像素具有最大深度差的相邻像素,所生成的附加点的数目取决于所述最大深度差。
3.根据权利要求1所述的方法,其中,体积单位与所述3D场景的点相关联,所述深度差对应于体积单位的数目,所生成的点的数目对应于所述深度差减去1。
4.根据权利要求1所述的方法,还包括:确定要与所述至少一个附加点相关联的属性,所述属性是根据与所述当前点和所述相邻像素相关联的属性来确定的。
5.根据权利要求4所述的方法,其中要与所述至少一个附加点相关联的属性包括深度信息和/或纹理信息。
6.根据权利要求1所述的方法,还包括:从接收到的比特流中解码所述深度图像。
7.根据权利要求1所述的方法,其中所述3D场景的所述点是点云的一部分。
8.一种装置,被配置为从深度图像生成3D场景的点,该装置包括与至少一个处理器相关联的存储器,该处理器被配置为:
-对于所述深度图像的当前像素,将和所述当前像素相关联的深度信息与和所述深度图像中在空间上相邻于所述当前像素的像素相关联的深度信息进行比较;
-当所述当前像素与相邻像素之间的深度差大于或等于第一值且小于或等于第二值时,除了与所述深度图像的所述当前像素相关联的当前点之外,生成所述3D场景的至少附加点,所述附加点的数目取决于所述差,其中所述第二值指示所述当前像素和相邻像素属于所述3D场景的相同对象或所述3D场景的对象的相同部分。
9.根据权利要求8所述的装置,其中所述至少一个处理器还被配置为:在与当前像素具有在所述第一值和所述第二值之间包括的深度差的相邻像素之中,选择与当前像素具有最大深度差的相邻像素,所生成的附加点的数目取决于所述最大深度差。
10.根据权利要求8所述的装置,其中,体积单位与所述3D场景的点相关联,所述深度差对应于体积单位的数目,所生成的点的数目对应于所述深度差减去1。
11.根据权利要求8所述的装置,其中所述至少一个处理器还被配置为:确定要与所述至少一个附加点相关联的属性,所述属性是根据与所述当前点和所述相邻像素相关联的属性来确定的。
12.根据权利要求11所述的装置,其中要与所述至少一个附加点相关联的所述属性包括深度信息和/或纹理信息。
13.根据权利要求8所述的装置,其中所述至少一个处理器还被配置为从接收到的比特流中解码所述深度图像。
14.根据权利要求8所述的装置,其中所述3D场景的所述点是点云的一部分。
15.一种非瞬时处理器可读介质,其中存储有指令,所述指令用于促使处理器执行根据权利要求1至7中的一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17306345.4 | 2017-10-06 | ||
EP17306345.4A EP3467782A1 (en) | 2017-10-06 | 2017-10-06 | Method and device for generating points of a 3d scene |
PCT/US2018/054057 WO2019070778A1 (en) | 2017-10-06 | 2018-10-03 | METHOD AND DEVICE FOR GENERATING POINTS OF A 3D SCENE |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111386556A CN111386556A (zh) | 2020-07-07 |
CN111386556B true CN111386556B (zh) | 2024-03-12 |
Family
ID=60143653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880076258.6A Active CN111386556B (zh) | 2017-10-06 | 2018-10-03 | 用于生成3d场景的点的方法和装置 |
Country Status (9)
Country | Link |
---|---|
US (1) | US11830210B2 (zh) |
EP (2) | EP3467782A1 (zh) |
JP (1) | JP7407703B2 (zh) |
KR (1) | KR102537420B1 (zh) |
CN (1) | CN111386556B (zh) |
BR (1) | BR112020006530A2 (zh) |
DK (1) | DK3692509T3 (zh) |
HU (1) | HUE061036T2 (zh) |
WO (1) | WO2019070778A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10907954B2 (en) * | 2018-09-28 | 2021-02-02 | Hand Held Products, Inc. | Methods and systems for measuring dimensions of a 2-D object |
GB2584119B (en) * | 2019-05-22 | 2022-11-02 | Sony Interactive Entertainment Inc | Content coding system and method |
US20230290006A1 (en) * | 2020-09-03 | 2023-09-14 | Lg Electronics Inc. | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method |
US11823327B2 (en) | 2020-11-19 | 2023-11-21 | Samsung Electronics Co., Ltd. | Method for rendering relighted 3D portrait of person and computing device for the same |
WO2022119304A1 (ko) * | 2020-12-01 | 2022-06-09 | 현대자동차주식회사 | 적응적 데드존 양자화를 이용하는 포인트 클라우드 코딩 장치 및 방법 |
CN116724556A (zh) * | 2021-01-06 | 2023-09-08 | Lg电子株式会社 | 点云数据发送装置和方法、点云数据接收装置和方法 |
US11756281B1 (en) * | 2023-03-14 | 2023-09-12 | Illuscio, Inc. | Systems and methods for splat filling a three-dimensional image using semi-measured data |
US11935209B1 (en) | 2023-07-24 | 2024-03-19 | Illuscio, Inc. | Systems and methods for dynamic backfilling of a three-dimensional object |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1716311A (zh) * | 2004-06-28 | 2006-01-04 | 微软公司 | 用于生成场景的两层、3d表示的系统和过程 |
CN102055982A (zh) * | 2011-01-13 | 2011-05-11 | 浙江大学 | 三维视频编解码方法及装置 |
CN102939763A (zh) * | 2010-06-14 | 2013-02-20 | 高通股份有限公司 | 计算三维图像的视差 |
CN104981849A (zh) * | 2013-02-12 | 2015-10-14 | 汤姆逊许可公司 | 用于丰富深度图的内容的方法和设备 |
CN105825544A (zh) * | 2015-11-25 | 2016-08-03 | 维沃移动通信有限公司 | 一种图像处理方法及移动终端 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7576737B2 (en) * | 2004-09-24 | 2009-08-18 | Konica Minolta Medical & Graphic, Inc. | Image processing device and program |
CN100576251C (zh) | 2005-04-19 | 2009-12-30 | 皇家飞利浦电子股份有限公司 | 呈现单元、呈现方法以及图像处理设备 |
JP5167248B2 (ja) * | 2006-05-11 | 2013-03-21 | プライムセンス リミテッド | 深度マップによるヒューマノイド形状のモデル化 |
KR20090076412A (ko) * | 2008-01-08 | 2009-07-13 | 삼성전자주식회사 | 모델링 방법 및 장치 |
US9645240B1 (en) * | 2010-05-10 | 2017-05-09 | Faro Technologies, Inc. | Method for optically scanning and measuring an environment |
JP5858380B2 (ja) * | 2010-12-03 | 2016-02-10 | 国立大学法人名古屋大学 | 仮想視点画像合成方法及び仮想視点画像合成システム |
KR101210625B1 (ko) * | 2010-12-28 | 2012-12-11 | 주식회사 케이티 | 빈공간 채움 방법 및 이를 수행하는 3차원 비디오 시스템 |
US9053571B2 (en) * | 2011-06-06 | 2015-06-09 | Microsoft Corporation | Generating computer models of 3D objects |
US9471988B2 (en) * | 2011-11-02 | 2016-10-18 | Google Inc. | Depth-map generation for an input image using an example approximate depth-map associated with an example similar image |
US9282915B2 (en) * | 2011-11-29 | 2016-03-15 | St. Jude Medical, Atrial Fibrillation Division, Inc. | Method and system for generating and/or repairing a surface model of a geometric structure |
US9111376B2 (en) * | 2012-01-26 | 2015-08-18 | Samsung Electronics Co., Ltd. | Image processing method and apparatus for 3D video |
US8712147B2 (en) * | 2012-02-03 | 2014-04-29 | Harris Corporation | Fractal method for detecting and filling data gaps within LiDAR data |
JP5850381B2 (ja) * | 2012-07-23 | 2016-02-03 | 富士通株式会社 | 形状データ生成プログラム、形状データ生成方法及び形状データ生成装置 |
US9811880B2 (en) * | 2012-11-09 | 2017-11-07 | The Boeing Company | Backfilling points in a point cloud |
US9756359B2 (en) * | 2013-12-16 | 2017-09-05 | Qualcomm Incorporated | Large blocks and depth modeling modes (DMM'S) in 3D video coding |
US9171403B2 (en) * | 2014-02-13 | 2015-10-27 | Microsoft Technology Licensing, Llc | Contour completion for augmenting surface reconstructions |
US9292961B1 (en) * | 2014-08-26 | 2016-03-22 | The Boeing Company | System and method for detecting a structural opening in a three dimensional point cloud |
US9792531B2 (en) | 2015-09-16 | 2017-10-17 | Siemens Healthcare Gmbh | Intelligent multi-scale medical image landmark detection |
GB2543749A (en) | 2015-10-21 | 2017-05-03 | Nokia Technologies Oy | 3D scene rendering |
US20170186223A1 (en) * | 2015-12-23 | 2017-06-29 | Intel Corporation | Detection of shadow regions in image depth data caused by multiple image sensors |
US10192103B2 (en) * | 2016-01-15 | 2019-01-29 | Stereovision Imaging, Inc. | System and method for detecting and removing occlusions in a three-dimensional image |
US20190110040A1 (en) * | 2016-03-21 | 2019-04-11 | Interdigital Ce Patent Holdings | Method for enhancing viewing comfort of a multi-view content, corresponding computer program product, computer readable carrier medium and device |
TW201805894A (zh) * | 2016-05-06 | 2018-02-16 | 國立臺灣大學 | 三維渲染方法以及三維繪圖處理裝置 |
US10074160B2 (en) * | 2016-09-30 | 2018-09-11 | Disney Enterprises, Inc. | Point cloud noise and outlier removal for image-based 3D reconstruction |
US9972067B2 (en) * | 2016-10-11 | 2018-05-15 | The Boeing Company | System and method for upsampling of sparse point cloud for 3D registration |
JP2020500385A (ja) * | 2016-10-20 | 2020-01-09 | ロボ−チーム ホーム リミテッド | 人間追跡ロボット |
US10176589B2 (en) * | 2017-01-31 | 2019-01-08 | Mitsubishi Electric Research Labroatories, Inc. | Method and system for completing point clouds using planar segments |
CN108694740A (zh) * | 2017-03-06 | 2018-10-23 | 索尼公司 | 信息处理设备、信息处理方法以及用户设备 |
US10803561B2 (en) * | 2017-06-02 | 2020-10-13 | Wisconsin Alumni Research Foundation | Systems, methods, and media for hierarchical progressive point cloud rendering |
US10509413B2 (en) * | 2017-09-07 | 2019-12-17 | GM Global Technology Operations LLC | Ground reference determination for autonomous vehicle operations |
-
2017
- 2017-10-06 EP EP17306345.4A patent/EP3467782A1/en not_active Withdrawn
-
2018
- 2018-10-03 KR KR1020207012438A patent/KR102537420B1/ko active IP Right Grant
- 2018-10-03 HU HUE18786924A patent/HUE061036T2/hu unknown
- 2018-10-03 WO PCT/US2018/054057 patent/WO2019070778A1/en unknown
- 2018-10-03 US US16/753,787 patent/US11830210B2/en active Active
- 2018-10-03 CN CN201880076258.6A patent/CN111386556B/zh active Active
- 2018-10-03 DK DK18786924.3T patent/DK3692509T3/da active
- 2018-10-03 EP EP18786924.3A patent/EP3692509B1/en active Active
- 2018-10-03 BR BR112020006530-7A patent/BR112020006530A2/pt unknown
- 2018-10-03 JP JP2020518785A patent/JP7407703B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1716311A (zh) * | 2004-06-28 | 2006-01-04 | 微软公司 | 用于生成场景的两层、3d表示的系统和过程 |
CN102939763A (zh) * | 2010-06-14 | 2013-02-20 | 高通股份有限公司 | 计算三维图像的视差 |
CN102055982A (zh) * | 2011-01-13 | 2011-05-11 | 浙江大学 | 三维视频编解码方法及装置 |
CN104981849A (zh) * | 2013-02-12 | 2015-10-14 | 汤姆逊许可公司 | 用于丰富深度图的内容的方法和设备 |
CN105825544A (zh) * | 2015-11-25 | 2016-08-03 | 维沃移动通信有限公司 | 一种图像处理方法及移动终端 |
Non-Patent Citations (2)
Title |
---|
Robust technique for 3D shape reconstruction;Hamdi Boukamcha , Abdelkader Ben Amara , Fethi Smach , Mohamed Atri;Journal of Computational Science;第21卷;全文 * |
基于多RGBD摄像机的动态场景实时三维重建系统;段勇;裴明涛;;北京理工大学学报(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
DK3692509T3 (da) | 2023-01-09 |
KR20200057077A (ko) | 2020-05-25 |
EP3692509B1 (en) | 2022-12-07 |
KR102537420B1 (ko) | 2023-05-26 |
HUE061036T2 (hu) | 2023-05-28 |
JP7407703B2 (ja) | 2024-01-04 |
US20200258247A1 (en) | 2020-08-13 |
US11830210B2 (en) | 2023-11-28 |
JP2020536325A (ja) | 2020-12-10 |
BR112020006530A2 (pt) | 2020-10-06 |
EP3692509A1 (en) | 2020-08-12 |
CN111386556A (zh) | 2020-07-07 |
EP3467782A1 (en) | 2019-04-10 |
RU2020115158A (ru) | 2021-11-08 |
WO2019070778A1 (en) | 2019-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111386556B (zh) | 用于生成3d场景的点的方法和装置 | |
US20200273258A1 (en) | Method and device for modifying attributes of points of a 3d scene | |
KR102594003B1 (ko) | 볼류메트릭 비디오를 인코딩/디코딩하기 위한 방법, 장치 및 스트림 | |
US20190108655A1 (en) | Method and apparatus for encoding a point cloud representing three-dimensional objects | |
US20200334866A1 (en) | A method and apparatus for encoding/decoding a colored point cloud representing the geometry and colors of a 3d object | |
US11508041B2 (en) | Method and apparatus for reconstructing a point cloud representing a 3D object | |
US11019363B2 (en) | Method and device for encoding a point cloud | |
US20200211232A1 (en) | A method and apparatus for encoding/decoding a point cloud representing a 3d object | |
US20200302652A1 (en) | A method and apparatus for encoding/decoding a colored point cloud representing the geometry and colors of a 3d object | |
US20210166435A1 (en) | Method and apparatus for encoding/decoding the geometry of a point cloud representing a 3d object | |
EP3429206A1 (en) | Method and device for encoding a point cloud | |
CN114097229A (zh) | 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法 | |
US20200296427A1 (en) | A method and apparatus for encoding/decoding the colors of a point cloud representing a 3d object | |
RU2788439C2 (ru) | Способ и устройство для генерации точек трехмерной (3d) сцены | |
WO2024093215A1 (en) | Encoding/decoding point cloud geometry data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |