CN112771582B - 图像处理设备和方法 - Google Patents

图像处理设备和方法 Download PDF

Info

Publication number
CN112771582B
CN112771582B CN201980063608.XA CN201980063608A CN112771582B CN 112771582 B CN112771582 B CN 112771582B CN 201980063608 A CN201980063608 A CN 201980063608A CN 112771582 B CN112771582 B CN 112771582B
Authority
CN
China
Prior art keywords
point cloud
data
intersection
image processing
vector
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
Application number
CN201980063608.XA
Other languages
English (en)
Other versions
CN112771582A (zh
Inventor
中神央二
矢野幸司
隈智
加藤毅
安田弘幸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of CN112771582A publication Critical patent/CN112771582A/zh
Application granted granted Critical
Publication of CN112771582B publication Critical patent/CN112771582B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/08Bandwidth reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)

Abstract

本公开内容涉及使得可以抑制在从网格生成点云时的负荷增加的图像处理设备和图像处理方法。本公开内容通过将点定位在网格表面与向量之间的交点处来生成点云数据,所述向量将与指定分辨率对应的位置坐标作为原点的点。例如,本公开内容执行网格表面与向量之间的相交确定,并且在确定出现相交的情况下,计算所述交点的坐标。例如,本公开内容可应用于图像处理设备、电子设备、图像处理方法或程序。

Description

图像处理设备和方法
技术领域
本公开内容涉及图像处理设备和图像处理方法,并且特别地涉及能够抑制在从网格生成点云时的负荷增加的图像处理设备和图像处理方法。
背景技术
在现有技术中,例如,利用八叉树的编码可以用作用于对表示三维结构的3D数据例如点云进行编码的方法(例如,参见非专利文献1)。
近年来,已经提出了在将目标3D对象体素化之后,通过使用八叉树编码和网格编码(三角形汤(Triangle soup))的组合来执行编码(例如,参见非专利文献2)。
引文列表
非专利文献
[非专利文献1]
R.Mekuria,IEEE学生会员,K.Blom,P.Cesar.,IEEE会员,“Design,Implementation and Evaluation of a Point Cloud Codec for Tele-ImmersiveVideo”,tcsvt_paper_submitted_february.pdf;
[非专利文献2]
Ohji Nakagami,Phil Chou,Maja Krivokuca,Khaled Mammou,Robert Cohen,Vladyslav Zakharchenko,Gaelle Martin-Cocher,“Second Working Draft for PCCCategories 1,3”,ISO/IEC JTC1/SC29/WG11,MPEG2018/N17533,2018年4月,圣地亚哥,美国。
发明内容
技术问题
然而,在已知的方法中,当从网格生成点云时,在网格的表面上密集地对点进行采样以生成高密度点云,并且随后,点云被重新采样成具有与输入的分辨率相当的分辨率的体素数据。这导致高吞吐量和大量要处理的数据,并且当从网格生成点云时,负荷可能会增加。
鉴于这样的情况,本公开内容的目的是使得能够抑制在从网格生成点云时的负荷增加。
问题的解决方案
根据本技术的方面的一种图像处理设备是包括点云生成部的图像处理设备,该点云生成部通过将点定位在网格的表面与向量之间的交点处来生成点云数据,该向量包括与指定分辨率对应的位置坐标作为起始原点。
根据本技术的方面的一种图像处理方法是包括以下操作的图像处理方法:通过将点定位在网格的表面与向量之间的交点处来生成点云数据,该向量包括与指定分辨率对应的位置坐标作为起始原点。
在根据本技术的方面的图像处理设备和图像处理方法中,通过将点定位在网格的表面与向量之间的交点处来生成点云数据,该向量包括与指定分辨率对应的位置坐标作为起始原点。
附图说明
[图1]图1示出了用于从网格生成点云的处理的图。
[图2]图2是示出用于从网格生成点云的处理的图。
[图3]图3是示出计算交点的方式的示例的图。
[图4]图4是示出点云生成设备的主要配置的示例的框图。
[图5]图5是示出点云生成处理的流程的示例的流程图。
[图6]图6是示出导出交点的方式的示例的图。
[图7]图7是示出导出交点的方式的示例的图。
[图8]图8是示出导出交点的方式的示例的图。
[图9]图9是示出解码设备的主要配置的示例的框图。
[图10]图10是示出解码处理的流程的示例的流程图。
[图11]图11是示出编码设备的主要配置的示例的框图。
[图12]图12是示出编码处理的流程的示例的流程图。
[图13]图13是示出使三角形汤可缩放的方式的示例的图。
[图14]图14是示出生成点的方式的示例的图。
[图15]图15是示出生成点的方式的示例的图。
[图16]图16是示出生成点的方式的示例的图。
[图17]图17是示出生成点的方式的示例的图。
[图18]图18是示出生成点的方式的示例的图。
[图19]图19是示出点云生成处理的流程的示例的流程图。
[图20]图20是示出计算机的主要配置的示例的框图。
具体实施方式
下面将描述用于实施本公开内容的方式(下文称为实施方式)。注意,按以下顺序给出描述。
1.点云的生成
2.第一实施方式(点云生成设备)
3.第二实施方式(解码设备)
4.第三实施方式(编码设备)
5.第四实施方式(使三角形汤可缩放)
6.补充特征
<1.点云的生成>
<支持技术内容和术语的文件等>
本公开内容中公开的范围包括在提交本申请时已知的以下非专利文献中公开的内容以及实施方式中描述的内容。
非专利文献1:(如上所述)
非专利文献2:(如上所述)
非专利文献3:ITU(International Telecommunication Union,国际电信联盟)的电信标准化部门(TELECOMMUNICATION STANDARDIZATION SECTOR),“Advanced videocoding for generic audiovisual services”,H.264,04/2017;
非专利文献4:ITU(国际电信联盟)的电信标准化部门,“High efficiency videocoding”,H.265,12/2016;
非专利文献5:Jianle Chen,Elena Alshina,Gary J.Sullivan,Jens-Rainer,Jill Boyce,“Algorithm Description of Joint Exploration Test Model 4”,JVET-G1001_v1,ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的联合视频开发组(JVET)第7次会议:Torino,IT,2017年7月13-21日。
换句话说,以上列出的非专利文献中描述的内容构成用于确定支持要求的依据。例如,在非专利文献4中描述的四叉树块结构和在非专利文献5中描述的QTBT(四叉树加二叉树)块结构旨在即使在实施方式不包括对这些结构的描述的情况下,也在本技术的公开范围内并且满足权利要求中的支持要求。类似地,技术术语例如解析、语法和语义旨在即使在实施方式不包括对这些术语描述的情况下,也在本技术的公开范围内并且满足权利要求中的支持要求。
<点云>
在相关技术中,3D数据例如点云和网格是可用的。具体地,点云通过使用关于点组的位置信息、属性信息等来表示三维结构,并且网格包括顶点、边缘和表面,并且通过使用多边形表示来定义三维形状。
例如,在点云的情况下,三维结构(三维形状的对象)被表示为大量点的集合(点组)。换句话说,点云中的数据(下文也称为点云数据)包括关于点组中的每个点的位置信息和属性信息(例如,颜色等)。因此,数据结构相对简单,并且使用足够多的点来允许以足够的精度表示可选的三维结构。
<使用体素来量化位置信息>
这样的点云数据涉及相对大量的数据,并且因此,已经设计了使用体素的编码方法来压缩由编码等产生的数据量。体素是用于量化关于要编码的对象的位置信息的三维区域。
换句话说,包含点云的三维区域被分割成称为体素的小三维区域,并且针对每个体素,指示体素中是否包含点。这使得每个点的位置以体素为单位被量化。因此,通过将点云数据转换成这种关于体素的数据(也称为体素数据),可以抑制信息量的增加(通常可以减少信息量)。
<八叉树>
此外,已经设计了使用这样的体素数据的八叉树的构造。八叉树对应于体素数据被形成为的树结构。八叉树的最低节点中的每个比特的值指示每个体素中是否存在点。例如,值“1”指示包含点的体素,以及值“0”指示不包含点的体素。在八叉树中,一个节点对应于八个体素。换句话说,八叉树的每个节点包括8比特数据,以及8比特指示八个体素中是否存在点。
八叉树中的上节点指示在一个区域中是否存在点,与属于该上节点的下节点对应的八个体素被组织到一个区域中。换句话说,组织关于针对下节点的体素的信息生成上节点。注意,在节点的值为“0”的情况下,即,在对应的八个体素均不包含点的情况下,节点被删除。
这允许构建包括值不为“0”的节点的树结构(八叉树)。换句话说,八叉树可以指示具有不同分辨率的体素中是否存在点。因此,在体素数据被形成为八叉树并且该八叉树被编码的情况下,则在解码期间,具有各种分辨率的体素数据可以更容易地被恢复。换句话说,可以更容易地实现体素的可缩放性。
另外,如上所述省略值为“0”的节点使得能够降低不存在点的区域中的体素的分辨率,因此允许进一步抑制信息量的增加(通常允许信息量的减少)。
<八叉树和网格的组合>
近年来,已经提出了:在目标3D对象被体素化之后,通过使用八叉树编码和网格编码的组合(三角形汤)来执行编码,例如非专利文献2中所描述的。
例如,如图1的A中所示,八叉树数据被解码以生成体素数据。在图1的A中的示例中,生成体素11-1、体素11-2和体素11-3。
然后,例如,如图1的B所示,根据体素数据恢复网格形状(即,网格的表面)。在图1的B中的示例中,基于体素11-1、体素11-2和体素11-3来恢复网格的表面12。
然后,例如,如图1的C所示,点13以1/(2*块宽度)的分辨率定位在网格的表面12中。注意,块宽度指示包括网格的边界框的最长边。
然后,例如,如图1的D所示,点13以指定的分辨率d被重新体素化。此时,网格数据(表面12等)被移除。换句话说,当根据网格数据生成具有期望分辨率的点云数据时,执行采样以降低以高分辨率临时采样的点13的分辨率(点的数量)。
然而,这样的方法需要执行两次采样,涉及冗余处理。另外,对高密度点云进行采样会导致数据量增加。因此,当从网格生成点云时,负荷可能会增加。因此,可能延长处理时间,并且可能增加资源例如存储器的使用。
<控制点云的分辨率>
因此,通过利用输出点云具有与体素化的输入点云的分辨率相同的分辨率的事实,体素确定的次数被限制为允许以高速生成点云。
更具体地,通过将点定位在网格表面与向量之间的交点处而生成点云数据,每个向量包括与指定分辨率对应的位置坐标作为起始原点。
例如,图像处理设备包括点云生成部,该点云生成部通过将点定位在网格的表面与向量之间的交点处来生成点云数据,每个向量包括与指定分辨率对应的位置坐标作为起始原点。
这允许通过单个处理步骤来从网格生成与输入分辨率相当的体素数据。因此,当从网格生成点云时,可以抑制负荷的可能增加。因此,可以抑制延长的处理时间和增加的资源例如存储器的使用。通常,可以缩短处理时间,并且可以减少资源例如存储器的使用。另外,可以以更高的速度生成点云。
<点云的导出>
接下来,将更具体地描述用于导出点云的方法。首先,如图2所示,以间隔k*d生成与包括要编码的数据的边界框的边的方向和长度相同的向量Vi。在图2中,针对边界框21中存在的网格的表面22,设置如箭头23所示的向量Vi。“d”表示当边界框被体素化时使用的量化大小。“k”是任何自然数。换句话说,设置向量Vi,每个向量Vi包括与指定分辨率对应的位置坐标作为起始原点。
然后,在网格(即,三角形网格)的解码表面22与设置的向量Vi(箭头23)之间执行相交确定。在向量Vi与三角形表面22相交的情况下,计算向量Vi与三角形表面22之间的交点24的坐标值。
注意,作为向量Vi的方向,可以针对彼此垂直的x方向、y方向和z方向(平行于边界框的各个边的方向)中的每一个设置对应于正方向和负方向的两个方向。换句话说,可以对在六种类型的方向上延伸的各个向量Vi执行相交确定。以这样的方式,在更多的方向上执行相交确定,从而允许更可靠地检测交点。
注意,每个向量Vi的起始点可以被限制在三角形网格的三个顶点的范围内。这使得能够减少要处理的向量Vi的数量,从而允许抑制负荷的可能增加(例如,允许以更高的速度执行处理)。
另外,作为辅助处理,在不同向量或网格之间的交点的坐标值重叠的情况下,可以删除除一个点之外的所有重叠的点。以这样的方式去除重叠点允许抑制不必要的处理和负荷的增加(例如,实现更快的处理)。
另外,作为辅助处理,在交点的坐标值在边界框之外的情况下,可以使用剪切处理将交点的位置剪切(移动)到边界框中。可替选地,可以删除交点。
具有如上所述确定的坐标值的点被输出作为解码结果。换句话说,点被定位在确定的坐标值处。这允许通过单个处理步骤来从网格生成与输入分辨率相当的体素数据。因此,当从网格生成点云时,可以抑制负荷的可能增加。
<相交确定和坐标值的计算>
注意,用于相交确定和坐标值的计算的方法是可选的。例如,如图3所示,克莱姆法则可以用于确定。例如,假设“P”表示交点的坐标,“origin”(“原点”)表示射线(ray)的坐标,“ray”表示方向向量,以及“t”表示标量值,通过射线的交点如下通过使用线性表达式来表示。
P=origin+ray*t
另外,“v0”表示三角形的顶点坐标,“edge1”表示通过从坐标v1减去坐标v0获得的向量,以及“edge2”表示通过从坐标v2减去坐标v0类似获得的向量。点P由从v0开始在向量edge1方向上的u(标量值)表示,以及三角形上的交点如下通过使用边的向量来表示。
P=v0+edge1*u+edge2*v
这两个等式结合产生联立方程。
origin+ray*t=v0+edge 1*u+edge 2*v
该方程可以被组织和表示如下。
edge1*u+edge2*v·ray*t=origin·v0
如上所述,获得了具有三个未知数的联立线性方程,并且因此可以通过使用克莱姆法则作为行列式来自动计算。
<2.第一实施方式>
<点云生成设备>
接下来,将描述实现如上所述的处理的配置。图4是示出作为应用本技术的图像处理设备的方面的点云生成设备的配置示例的框图。图4所示的点云生成设备100是如在<1.点云的生成>中所描述的从网格生成点云的设备。
注意,图4示出了主要部件例如处理部和数据流,并且在图4中并未示出点云生成设备100的所有部件。换句话说,在点云生成设备100中,可以存在图4中未示出为块的处理部,或者可以存在图4中未示出为箭头等的处理或数据流。
如图4所示,点云生成设备100包括向量设置部111、相交确定部112、辅助处理部113和输出部114。
向量设置部111如上例如在<点云的导出>中所述设置(生成)用于相交确定的向量Vi。如上所述,向量Vi具有与包括要编码的数据的边界框的边相同的方向和相同的长度。向量设置部111向相交确定部112馈送指示设置的向量Vi的向量信息。
相交确定部112获取输入到点云生成设备100的网格数据,并且进一步获取从向量设置部111馈送的向量信息。如上例如在<点云的导出>、<相交确定和坐标值的计算>等中所述,相交确定部112执行由所获取的网格数据指示的网格的表面与由向量信息指示的向量Vi之间的相交确定。在检测到交点的情况下,相交确定部112计算交点的坐标值。相交确定部112将计算出的交点坐标值(交点坐标)馈送给辅助处理部113。
辅助处理部113获取从相交确定部112馈送的交点坐标,并且如上例如在<点云的导出>中所述,对交点执行辅助处理。必要时,辅助处理部113将已经执行辅助处理的交点坐标馈送至输出部114。
输出部114将从辅助处理部113馈送的交点坐标作为点云数据(中的位置信息)输出到点云生成设备100的外部。换句话说,生成并输出具有被定位在导出的交点坐标处的点的点云数据。
注意,处理部(向量设置部111至输出部114)具有可选的配置。例如,每个处理部可以包括实现上述处理的逻辑电路。另外,每个处理部可以例如包括CPU(中央处理部)、ROM(只读存储器)、RAM(随机存取存储器)等,并且使用CPU和存储器来执行程序,从而实现上述处理。不用说,每个处理部可以具有上述两种配置,以通过使用逻辑电路来实现上述处理的一部分,同时通过使用程序来实现处理的剩余部分。处理部可以彼此独立地配置。例如,一些处理部可以通过使用逻辑电路来实现上述处理的一部分,其他处理部可以通过执行程序来实现上述处理,并且其他处理部可以通过使用逻辑电路和执行程序两者来实现上述处理。
这样的配置使点云生成设备100能够产生如在<1.点云的生成>中描述的效果。例如,通过执行单个处理步骤,可以从网格中生成与输入分辨率相当的体素数据。因此,可以抑制点云数据生成中所涉及的负荷的增加。因此,例如,可以以更高的速度生成点云数据。另外,例如,可以降低点云生成设备100的制造成本。
<点云生成处理的流程>
接下来,将参照图5中的流程图描述由点云生成设备100执行的点云生成处理的流程的示例。
当开始点云生成处理时,在步骤S101中,相交确定部112获取网格数据。
在步骤S102中,向量设置部111设置向量Vi,每个向量Vi包括与指定体素分辨率对应的位置坐标作为起始原点(该向量具有与包括要编码的数据的边界框的每个边的向量相同的方向和相同的长度)。
在步骤S103中,相交确定部112执行在步骤S102中设置的向量Vi与由在步骤S101中获取的网格数据指示的网格的表面(三角形)之间的相交确定。
在步骤S104中,相交确定部112计算在步骤S103中检测到的交点的坐标。
在步骤S105中,辅助处理部113删除除一个交点以外的重叠交点。
在步骤S106中,辅助处理部113处理边界框外部的交点(例如,对交点执行剪切处理或删除交点)。
在步骤S107中,输出部114输出如上所述确定的交点的坐标作为点云数据(位置信息)。
当处理的步骤S107结束时,点云生成处理结束。
注意,与如上在<1.点云的生成>中描述的示例的情况一样执行上述处理的各个步骤。因此,通过执行上述处理的各个步骤,点云生成设备100可以产生如在<1.点云的生成>中描述的效果。例如,通过执行单个处理步骤,可以从网格生成与输入分辨率相当的体素数据。因此,可以抑制点云数据生成中所涉及的负荷的增加。因此,例如,可以以更高的速度生成点云数据。另外,例如,可以降低点云生成设备100的制造成本。
<减少表面内部上的交点>
注意,在如上所述的相交确定中,可以通过使用比在对表面的端部执行相交确定的情况下使用的向量更稀疏的向量Vi,来对表面内部的部分执行相交确定。例如,与图6中的示例的情况一样,可以通过使用向量Vi202-1至202-8来对表面201执行相交确定。在该示例中,向量Vi 202-1至202-8之间的间隔被设置成使得向量Vi 202-1至202-3之间的间隔和向量Vi 202-6至202-8之间的间隔小。换句话说,向量Vi 202-3至202-6之间的间隔被设置成大于其他向量Vi之间的间隔。具体地,用于对表面201的端部执行相交确定的向量Vi202-1至202-3和向量Vi 202-6至202-8具有设置得较小的间隔(向量是密集的),而用于对表面201的内部执行相交确定的向量Vi 202-3至202-6具有设置得较大的间隔(向量是稀疏的)。
如上所述,在三角形的内部,通过有意地使用较大的间隔(起始原点之间的间隔增大)来对向量Vi执行碰撞检测,使得能够减少在三角形内部生成的点的数量。因此,可以抑制关于点云的属性信息(颜色信息等)的编码比特率的增加。
<相交确定的省略>
另外,可以避免再次计算已经对其执行过一次相交确定的坐标。例如,在如图7中的示例所示针对一个向量Vi 211存在网格的多个表面(表面212和表面213)的情况下,同时对一个向量Vi 211上执行相交确定,以允许以更高的速度执行处理。
<去噪处理的添加>
另外,如图8所示,在一个向量Vi 221与多个三角形(表面222和表面223)相交并且三角形之间存在空间的情况下,可以在该空间中生成点(在附图中,黑点)来填充间隙(去噪)。这使得能够生成更精确的点云。换句话说,可以抑制显示图像的图像质量的劣化(通常,可以提高图像质量)。
<处理的并行化>
注意,针对如上所述的相交确定,可以并行执行多个处理步骤。例如,可以并行地处理针对网格的一个表面的多个向量的相交确定(可以并行地执行处理的步骤)。换句话说,可以针对每个向量独立地执行处理。这允许以更高的速度执行相交确定。
另外,例如,可以并行地执行对针对一个向量的多个表面的相交确定(可以并行执行处理的步骤)。换句话说,可以针对网格的每个表面独立地执行处理。这允许以更高的速度实现相交确定。
<3.第二实施方式>
<解码设备>
图9是示出作为应用本技术的图像处理设备的方面的解码设备的配置示例的框图。图9中所示的解码设备300对应于稍后描述的图11中的编码设备500,并且例如对由编码设备500生成的比特流进行解码以恢复点云数据。
注意,图9示出了主要部件例如处理部和数据流,并且在图9中并未示出解码设备300的所有部件。换句话说,在解码设备300中,可以存在图9中未示出为块的处理部,或者可以存在图9中未示出为箭头等的处理或数据流。
如图9所示,解码设备300包括可逆解码部311、八叉树解码部312、网格形状恢复部313、点云生成部314和属性解码部315。
可逆解码部311获取输入到解码设备300的比特流,并且解码该比特流以生成八叉树数据。可逆解码部311将八叉树数据馈送至八叉树解码部312。
八叉树解码部312获取从可逆解码部311馈送的八叉树数据,根据八叉树数据构建八叉树,并且根据八叉树生成体素数据。八叉树解码部312将生成的体素数据馈送至网格形状恢复部313。
网格形状恢复部313使用从八叉树解码部312馈送的体素数据来恢复网格形状。网格形状恢复部313将生成的网格数据馈送至点云生成部314。
点云生成部314根据从网格形状恢复部313馈送的网格数据生成点云数据,并且将生成的点云数据馈送至属性解码部315。点云生成部314被配置成类似于点云生成设备100(图4),并且执行与由点云生成设备100执行的处理类似的处理。具体地,点云生成部314通过使用如上在<1.点云的生成>和<2.第一实施方式>中描述的方法来根据网格数据生成点云数据。
因此,点云生成部314可以产生与点云生成设备100的效果类似的效果。例如,点云生成部314可以通过执行单个处理步骤来从网格生成与输入分辨率相当的体素数据。因此,点云生成部314可以抑制点云数据生成中涉及的负荷的增加。因此,点云生成部314可以例如以更高的速度生成点云数据。另外,例如,可以降低点云生成部314的制造成本。
属性解码部315执行与属性信息的解码相关的处理。例如,属性解码部315对与从点云生成部314馈送的点云数据相对应的属性信息进行解码。然后,属性解码部315将解码的属性信息包括在从点云生成部314馈送的点云数据中,并且将点云数据输出至解码设备300的外部。
注意,这些处理部(可逆解码部311至属性解码部315)具有可选的配置。例如,每个处理部可以包括实现上述处理的逻辑电路。另外,每个处理部可以例如包括CPU、ROM、RAM等,并且使用CPU和存储器来执行程序,从而实现上述处理。不用说,每个处理部可以具有上述两种配置,以通过使用逻辑电路来实现上述处理的一部分,同时通过使用程序来实现处理的剩余部分。处理部可以彼此独立地配置。例如,一些处理部可以通过使用逻辑电路来实现上述处理的一部分,其他处理部可以通过执行程序来实现上述处理,并且其他处理部可以通过使用逻辑电路和执行程序两者来实现上述处理。
这样的配置使得解码设备300能够产生如在<1.点云的生成>和<2.第一实施方式>中描述的效果。例如,解码设备300可以通过执行单个处理步骤来从网格生成与输入分辨率相当的体素数据,并且因此可以抑制点云数据生成中所涉及的负荷的增加。因此,例如,解码设备300可以以更高的速度生成点云数据。另外,例如,可以降低解码设备300的制造成本。
<解码处理的流程>
接下来,将参照图10中的流程图来描述由解码设备300执行的解码处理的流程的示例。
当解码处理开始时,在步骤S301中,可逆解码部311获取比特流。
在步骤S302中,可逆解码部311对在步骤S301中获取的比特流执行可逆解码。
在步骤S303中,八叉树解码部312构建八叉树并恢复体素数据。
在步骤S304中,网格形状恢复部313根据在步骤S303中恢复的体素数据恢复网格形状。
在步骤S305中,点云生成部314执行点云生成处理(图5),并且使用如上在<1.点云的生成>和<2.第一实施方式>中描述的方法来根据在步骤S304中恢复的网格形状生成点云。
在步骤S306中,属性解码部315对属性信息进行解码。
在步骤S307中,属性解码部分315将在步骤S306中解码的属性信息包括在点云数据中,并且输出点云数据。
当处理的步骤S307结束时,解码处理结束。
通过执行如上所述的处理的每个步骤,解码设备300可以产生如在<1.点云的生成>和<2.第一实施方式>中描述的效果。
<4.第三实施方式>
<编码设备>
图11是示出作为应用本技术的图像处理设备的方面的编码设备的配置示例的框图。图11所示的编码设备500是通过使用体素和八叉树来对3D数据例如点云进行编码的设备。
注意,图11示出了主要部件例如处理部和数据流,并且在图11中并未示出编码设备500的所有部件。换句话说,在编码设备500中,可以存在图11中未示出为块的处理部,或者可以存在图11中未示出为箭头等的处理或数据流。这也适用于用于描述编码设备500中的处理部等的其他附图。
图11所示的编码设备500包括体素生成部511、几何编码部512、几何解码部513、属性编码部514和比特流生成部515。
体素生成部511获取输入至编码设备500的点云数据,针对包括所获取的点云数据的区域设置边界框,并且进一步分割边界框以设置体素,从而量化点云数据中的位置信息。体素生成部511将因此生成的体素数据馈送至几何编码部512。
几何编码部512对从体素生成部511馈送的体素数据进行编码,以对关于点云的位置信息进行编码。几何编码部512向比特流生成部515馈送生成的关于点云的位置信息的编码数据。另外,几何编码部512向几何解码部分513馈送八叉树数据,所述八叉树数据是在对关于点云的位置信息进行编码时生成的。
几何解码部513对八叉树数据进行解码以生成关于点云的位置信息。几何解码部513将生成的点云数据(位置信息)馈送至属性编码部514。
基于输入的编码参数,属性编码部514对与点云数据(位置信息)相对应的属性信息进行编码。属性编码部514将生成的属性信息的编码数据馈送至比特流生成部515。
比特流生成部515生成包括从几何编码部512馈送的位置信息的编码数据和从属性编码部514馈送的属性信息的编码数据的比特流,并且将比特流输出至编码设备500的外部。
<几何编码部>
几何编码部512包括八叉树生成部521、网格生成部522和可逆编码部523。
八叉树生成部521使用从体素生成部511馈送的体素数据来构建八叉树并生成八叉树数据。八叉树生成部521将生成的八叉树数据馈送至网格生成部522。
网格生成部522使用从八叉树生成部521馈送的八叉树数据来生成网格数据,并且将网格数据馈送至可逆编码部523。另外,网格生成部522将八叉树数据馈送至几何解码部513。
可逆编码部523获取从网格生成部522馈送的网格数据。另外,可逆编码部523获取从编码设备500的外部输入的编码参数。编码参数是指定要应用的编码类型的信息,并且编码参数由用户操作输入或者从外部设备等馈送。可逆编码部523通过使用由编码参数指定的类型来编码网格数据,以生成位置信息的编码数据。可逆编码部523将位置信息馈送至比特流生成部515。
<几何解码部>
几何解码部513包括八叉树解码部531、网格形状恢复部532和点云生成部533。
八叉树解码部531对从几何编码部512馈送的八叉树数据进行解码,以生成体素数据。八叉树解码部531将生成的体素数据馈送至网格形状恢复部532。
网格形状恢复部532使用从八叉树解码部531馈送的体素数据来恢复网格形状,并且将所得的网格数据馈送至点云生成部533。
点云生成部533根据从网格形状恢复部532馈送的网格数据生成点云数据,并且将生成的点云数据馈送至属性编码部514。点云生成部533被配置成类似于点云生成设备100(图4),并且执行与由点云生成设备100执行的处理类似的处理。具体地,点云生成部533通过使用如在<1.点云的生成>和<2.第一实施方式>中描述的方法来根据网格数据生成点云数据。
因此,点云生成部533可以产生与点云生成设备100的效果类似的效果。例如,点云生成部533可以通过执行单个处理步骤来从网格生成与输入分辨率相当的体素数据。因此,点云生成部533可以抑制点云数据生成中涉及的负荷的增加。因此,点云生成部533可以例如以更高的速度生成点云数据。另外,例如,可以降低点云生成部533的制造成本。
注意,这些处理部(体素生成部511至属性编码部514、八叉树生成部521至可逆编码部523以及八叉树解码部531至点云生成部533)具有可选的配置。例如,每个处理部可以包括实现上述处理的逻辑电路。另外,每个处理部可以例如包括CPU、ROM、RAM等,并且使用CPU和存储器来执行程序,从而实现上述处理。不用说,每个处理部可以具有上述两种配置,以通过使用逻辑电路来实现上述处理的一部分,同时通过使用程序来实现处理的剩余部分。处理部可以彼此独立地配置。例如,一些处理部可以通过使用逻辑电路来实现上述处理的一部分,其他处理部可以通过执行程序来实现上述处理,并且其他处理部可以通过使用逻辑电路和执行程序两者来实现上述处理。
这样的配置使得编码设备500能够产生如在<1.点云的生成>和<2.第一实施方式>中描述的效果。例如,编码设备500可以通过执行单个处理步骤来从网格生成与输入分辨率相当的体素数据,并且因此可以抑制点云数据生成中所涉及的负荷的增加。因此,编码设备500可以例如以更高的速度生成比特流。另外,例如,可以降低编码设备500的制造成本。
<编码处理的流程>
接下来,将参照图12中的流程图来描述由编码设备500执行的编码处理的流程的示例。
当编码处理开始时,在步骤S501中,体素生成部511获取点云数据。
在步骤S502中,体素生成部511使用点云数据来生成体素数据。
在步骤S503中,八叉树生成部521使用体素数据来构建八叉树并生成八叉树数据。
在步骤S504中,网格生成部522基于八叉树数据生成网格数据。
在步骤S505中,可逆编码部523对网格数据执行可逆编码以生成关于点云的位置信息的编码数据。
在步骤S506中,八叉树解码部531使用在步骤S503中生成的八叉树数据来恢复体素数据。
在步骤S507中,网格形状恢复部分532根据体素数据恢复网格形状。
在步骤S508中,点云生成部533执行点云生成处理(图5),以通过使用如在<1.点云的生成>和<2.第一实施方式>中描述的方法来从网格形状生成点云数据。
在步骤S509中,属性编码部514使用点云数据来对属性信息进行编码。
在步骤S510中,比特流生成部515生成包括在步骤S505中生成的位置信息的编码数据和在步骤S509中生成的属性信息的编码数据的比特流。
在步骤S511中,比特流生成部515将比特流输出至编码设备500的外部。
当处理的步骤S511结束时,编码处理结束。
通过执行如上所述的处理的每个步骤,编码设备500可以产生如在<1.点云的生成>和<2.第一实施方式>中描述的效果。
<5.第四实施方式>
<使三角形汤可缩放>
在上面的描述中,在三角形汤中,通过在网格的表面与向量之间的交点处生成点来生成点云数据,每个向量包括与指定体素分辨率对应的位置坐标作为起始原点。本发明不限于这种配置,并且可以以可选分辨率从网格生成点云数据。
例如,如图13所示,假设八叉树被应用于具有较低分辨率的层(LoD=0至2),并且三角形汤被应用于具有较高分辨率的层。针对应用八叉树的层,可以在解码期间实现分辨率的可缩放性(基于层的不同分辨率来选择要生成点云数据的层之一)。
针对较低的层,向量Vi之间的间隔d被设置成使得d=1,并且三角形汤允许获取具有与LoD=4相当的分辨率的点云数据。例如,在图13的情况下,与LoD=2相当的体素601(附图中最右边的体素601)包含网格的三角形表面602。
然后,设置向量Vi 603,向量Vi 603中的每个向量Vi 603包括与体素601的表面对应的起始原点并且垂直于该表面,向量Vi 603将体素601的每个边分成四个部分(d=1)。在图13中,附图标记被分配给仅一个箭头。然而,体素601中的所有箭头(包括体素601的端部)对应于向量Vi 603。
然后,导出位于网格的表面602与向量Vi 603之间的交点处的点604。在图13中,附图标记被分配给仅一个点。然而,体素601中的所有点(包括体素601的端部)对应于点604。
这允许获取具有与LoD=4相当的分辨率的点云数据。
换句话说,当设置向量Vi,向量Vi中的每个向量Vi包括与指定体素分辨率对应的位置坐标作为起始原点时,获得具有最终分辨率的点云数据。最终分辨率指示预定的最高分辨率。例如,在编码和解码的情况下,最高分辨率指示尚未通过使用八叉树、网格等进行编码的点云数据的分辨率。
这里,代替以上操作,当向量Vi 603之间的间隔d被设置成d=2(即,向量Vi 603之间的间隔加倍)时,如图13中第二最右体素601的情况来导出点604(表面602和向量Vi603)。换句话说,获得了具有与LoD=3相当的分辨率的点云数据。
为了简化描述,图14在平面图中示出了体素601的状态。在体素601(包括体素601的端部)中,平行于体素601的四条边中任何一条边的所有实线和虚线指示以与最终分辨率(例如,LoD=4)对应的间隔(d=1)的向量Vi 603。导出位于网格的表面602与向量Vi 603之间的交点处的点604。
在图14中,实线所示的向量Vi 603和虚线所示的向量Vi 603交替地布置。换句话说,实线所示的向量Vi 603之间的间隔d为d=2。换句话说,实线所示的向量Vi 603是在最终分辨率的上一层(例如,LoD=3)中的向量Vi 603。因此,增加间隔d减少了向量Vi 603的数量,因此减少了位于交点处的点604的数量。换句话说,降低了点云数据的分辨率。
如上所述,向量Vi之间的间隔d使得能够导出具有可选分辨率的点云数据。因此,可以使三角形汤的分辨率是可缩放的。
向量Vi之间的间隔d可以设置成可选值。例如,向量Vi之间的间隔d可以被设置成2的幂。这使得针对八叉树的每一层的分辨率都是可缩放的。换句话说,可以导出具有与八叉树的每一层对应的分辨率的点云数据。例如,假设八叉树的期望层(导出层)与最低层(具有最终分辨率的层)之间的差为L(L是非负整数),设置d=2L使得能够导出具有与期望层的分辨率对应的点云数据。
注意,L可以是负值。将L设置成负值使得能够导出分辨率高于最终分辨率的点云数据。
另外,向量Vi之间的间隔d的值可以是除了2的幂以外的值。向量Vi之间的间隔d可以是整数或小数,只要该数是正数即可。例如,当向量Vi之间的间隔d被设置成除了2的幂以外的值时,可以导出具有除了与八叉树的层对应的分辨率之外的分辨率的点云数据。例如,当向量Vi之间的间隔d的值被设置成3时,获取分辨率在LoD=2与LoD=3之间的点云数据。
<使起始原点的位置独立>
例如,在图14的情况下,针对附图中的垂直方向上的向量Vi 603和附图中的水平方向上的向量Vi 603两者,附图中示出的具有标识号0、2、4、6和8的向量Vi 603被采用作为上一层中的向量Vi 603。换句话说,在上一层中,附图中所示的具有标识号1、3、5和7的向量Vi 603(虚线所示的向量Vi 603)被抽取。
如上所述,可以在向量Vi 603的每个方向上(即,在彼此垂直的三个轴向方向(x、y、z方向)中的每个方向上)独立地设置上一层中采用的向量Vi 603(即,要抽取的向量Vi603)。换句话说,向量Vi 603的起始原点的位置可以在彼此垂直的三个轴向方向(x、y、z方向)中的每一个方向上彼此独立。
例如,在图15的情况下,针对附图中垂直方向上的向量Vi 603,附图中所示的具有标识号1、3、5和7的向量Vi 603被采用作为上一层中的向量Vi 603。相反,针对附图中水平方向上的向量Vi 603,附图中所示的具有识别号0、2、4、6和8的向量Vi 603被采用作为上一层中的向量Vi603。
换句话说,在上一层中,布置在附图中的垂直方向上并具有附图中所示的标识号0、2、4、6和8的向量Vi 603(虚线所示的向量Vi 603)被抽取。相反,在上一层中,布置在附图中的水平方向上并具有附图中所示的标识号1、3、5和7的向量Vi 603(虚线所示的向量Vi603)被抽取。
这允许在与图14的情况下的位置不同的位置处生成点604,而不改变导出的点云数据的分辨率。
<使起始原点之间的间隔独立>
例如,在图14和图15的情况下,在上一层中,针对在附图中的垂直方向上的向量Vi603和在附图中的水平方向上的向量Vi 603,一半向量被抽取。换句话说,针对附图中的垂直和水平方向,向量Vi之间的间隔d是相同的。
如上所述,针对向量Vi 603的每个方向(即,针对彼此垂直的三个轴向方向(x、y和z方向)中的每一个),可以独立地设置针对上一层所采用的向量Vi 603(即,要抽取的向量Vi 603)的数量。换句话说,在彼此垂直的三个轴向方向(x、y和z方向)上的向量Vi 603的起始原点之间的间隔针对每个方向可以彼此独立。
例如,在图16的情况下,假设仅采用实线所示的向量Vi 603(虚线所示的向量Vi603被抽取),针对在附图中的垂直方向上的向量Vi 603,采用具有标识号0至8的所有向量Vi 603,而针对在附图中的水平方向上的向量Vi 603,仅采用具有标识号0、2、4、6和8的向量Vi 603。换句话说,在附图中的垂直方向上的向量Vi 603之间的间隔d不同于在附图中的水平方向上的向量Vi 603之间的间隔d。因此,在附图中的垂直方向上产生的点之间的间隔不同于在附图中的水平方向上产生的点之间的间隔。换句话说,点云数据的分辨率在附图中的垂直方向上与附图中的水平方向上不同。
换句话说,这使得能够针对向量Vi 603的每个方向(即,彼此垂直的三个轴向方向(x、y和z方向)中的每一个)独立地设置点云数据的分辨率。
<在一些交点处生成点>
注意,点可以在网格的表面与向量Vi之间的一些交点处生成。换句话说,即使针对交点,也可以省略点的生成。换句话说,通过减少生成点的交点的数量,可以实现点云的降低的分辨率(即,可以实现分辨率的可缩放性)。
用于选择要生成点(或不生成点)的交点的方法是可选的。例如,如图17所示,点可以以交错式的布置生成(针对三个轴向方向中的每一个,每隔一个交点来生成点)。
这使得能够在不依赖于向量Vi之间的间隔(或向量Vi的数量)的情况下实现分辨率的可缩放性。
<点的添加>
不位于网格的表面与向量Vi之间的交点处的点可以被生成并包括在点云数据中。例如,如图18所示,代替交点,点611可以在向量Vi上靠近网格的表面602(三角形)的各个边的位置处生成,并且可以包括在点云数据中。在图18中,虽然附图标记被分配给仅一个点,但是由白圈示出的点都是如上所述生成的点611。
注意,用于确定要生成点的位置的方法(在图18的示例的情况下,用于确定靠近每个边的点的方法)是可选的。
这使得能够在不依赖于交点的位置的情况下添加点,从而使得能够更容易地提高期望部分的分辨率。例如,在图18的情况下,靠近表面602的每个边的点被包括在点云数据中,以使得表面602的每个边周围的分辨率比其他区域中的分辨率更高。这使得能够在点云数据中更精确地表示表面602的每个边的配置。因此,由网格表示的三维结构也可以在点云数据中更精确地表示。
<组合>
在本实施方式中的上述任何多个技术可以结合在一起应用。另外,针对应用,本实施方式中的上述的每种技术可以与在<点云的生成>中的上述任何技术相结合。
<方法的选择>
另外,期望的技术(或期望的技术的组合)可以从本文上述的技术的一些或全部中选择,然后被应用。在该情况下,用于选择技术的方法是可选的。例如,可以评估所有的应用模式,并且可以选择最佳模式。这允许通过使用最适合于三维结构等的技术来生成点云数据。
<应用于点云生成设备>
类似于<1.点云的生成>中描述的技术,本实施方式中的上述技术可以应用于第一实施方式中的上述点云生成设备100。在该情况下,点云生成设备100的配置类似于参照图4描述的情况下的配置。
将参照图19中的流程图来描述在上述情况下由点云生成设备100执行的点云生成处理的流程的示例。
当开始点云生成处理时,在步骤S601中,相交确定部112获取网格数据。
在步骤S602中,向量设置部111设置向量Vi,每个向量Vi包括在体素的每个表面上的与由例如用户等指定的分辨率对应的位置坐标作为起始原点,向量Vi垂直于体素的每个表面(平行于体素的每个边)。
在步骤S603中,相交确定部112执行由在步骤S601中获取的网格数据指示的网格的表面(三角形)与在步骤S602中设置的向量Vi之间的相交确定。
类似于处理的步骤S104至S107,执行处理的各个步骤S604至S607。
当处理的步骤S607结束时,点云生成处理结束。
注意,例如,如本实施方式中上述示例的情况来执行上述处理。因此,通过执行上述处理的每个步骤,点云生成设备100可以产生例如在本实施方式中描述的效果。例如,可以通过执行单个处理步骤来从网格生成具有可选分辨率的体素数据。换句话说,可以实现点云数据分辨率的可缩放性。
另外,可以抑制生成点云数据所涉及的负荷的增加。因此,例如,可以以更高的速度生成点云数据。另外,例如,可以降低点云生成设备100的制造成本。
<应用于解码设备>
另外,类似于<1.点云的生成>中描述的技术,本实施方式中的上述技术可以应用于第二实施方式中的上述解码设备300。在该情况下的解码设备300的配置类似于参照图9描述的情况。
点云生成部314与本实施方式中的上述点云生成设备100类似地配置,并且如上在本实施方式中所述来根据网格数据生成点云数据。
因此,点云生成部314可以产生与本实施方式的点云生成设备100的效果类似的效果。例如,点云生成部314可以通过执行单个处理步骤来从网格生成具有可选分辨率的体素数据。换句话说,可以实现点云数据的分辨率的可缩放性。
另外,点云生成部314可以抑制点云数据生成中涉及的负荷的增加。因此,点云生成部314可以例如以更高的速度生成点云数据。另外,例如,可以降低点云生成部314的制造成本。
注意,在这种情况下,属性解码部315可以以可缩放的方式对属性信息进行解码。换句话说,针对属性信息,也可以实现分辨率的可缩放性。
另外,在这种情况下由解码设备300执行的解码处理根据与第二实施方式中的流程(图10)类似的流程来执行。因此,解码设备300可以产生与本实施方式中的上述效果类似的效果(例如,类似于点云生成设备100的效果)。
<6.补充特征>
<计算机>
上述一系列处理的步骤可以通过硬件或软件来执行。在一系列处理由软件执行的情况下,构成软件的程序被安装在计算机中。本文使用的计算机包括集成到专用硬件中的计算机,以及例如当各种程序被安装在计算机中时可以执行各种功能的通用计算机。
图20是示出根据程序执行上述一系列处理步骤的计算机的硬件的配置示例的框图。
在图20所示的计算机900中,CPU(中央处理单元)901、ROM(只读存储器)902和RAM(随机存取存储器)903通过总线904连接在一起。
输入/输出接口910也连接至总线904。输入/输出接口910连接至输入部911、输出部912、存储部913、通信部914和驱动器915。
输入部911包括例如键盘、鼠标、麦克风、触摸板、输入终端等。输出部912包括例如显示器、扬声器、输出端子等。存储部913包括例如硬盘、RAM盘、非易失性存储器等。通信部914包括例如网络接口。驱动器915驱动可移动介质921例如磁盘、光碟、磁光碟或半导体存储器。
在如上所述配置的计算机中,例如,CPU 901经由输入/输出接口910和总线904将存储在存储部913中的程序加载到RAM 903中,并且执行该程序以执行上述一系列处理步骤。RAM 903还适当地存储CPU 901执行各种处理步骤所需的数据等。
由计算机(CPU 901)执行的程序可以例如记录在可移动介质921中、用作用于应用的封装介质等。在该情况下,可以通过将可移动介质921附接至驱动器915来经由输入/输出接口910将程序安装在存储部913中。
另外,该程序可以经由有线或无线传输介质例如局域网、因特网或数字卫星广播提供。在该情况下,程序可以由通信部914接收并安装在存储部913中。
此外,程序可以预先安装在ROM 902或存储部913中。
<应用本技术的对象>
已经描述了将本技术应用于点云数据的编码和解码。然而,本技术不限于这些示例,并且可以应用于符合可选标准的3D数据的编码和解码。换句话说,各种类型的处理例如编码和解码方案的规范和各种类型的数据例如3D数据和元数据的规范是可选的,除非该规范与上述本技术不一致。另外,可以省略以上提到的处理或规范的一部分,除非该省略与本技术不一致。
本技术可以应用于可选的配置。本技术可以应用于例如有线广播例如卫星广播或有线电视中的发射机和接收机(例如,电视接收机和蜂窝电话)、因特网上的分发、通过蜂窝通信分发到终端等,或者可以应用于各种类型的电子设备例如在介质例如光碟、磁盘和闪存中记录图像并从这些存储介质再现图像的设备(例如硬盘记录器和摄像机)。
另外,本技术可以实现为例如设备的部分配置,例如用作系统LSI(大规模集成电路)等的处理器(例如,视频处理器)、使用多个处理器等的模块(例如,视频模块)、使用多个模块等的单元(例如,视频单元)或对应于具有另外的功能的单元的集合(例如,视频集合)。
另外,本技术可以应用于例如包括多个设备的网络系统。本技术可以被实现为例如云计算,在云计算中,多个设备经由网络共享并协作执行处理。本技术可以在例如云服务中实现,该云服务向可选终端例如计算机、AV(视听)设备、便携式信息处理终端或IoT(物联网)设备提供与图像(运动图像)相关的服务。
注意,本文使用的系统意指多个部件(设备、模块(元件)等)的集合,而不管所有部件是否存在于同一外壳中。因此,容纳在不同的外壳中并且经由网络连接在一起的多个设备对应于系统,并且包括容纳在一个外壳中的多个模块的一个设备也对应于系统。
<本技术可以应用的领域和本技术的应用>
应用本技术的系统、设备、处理部等可以在可选的领域中使用,包括例如运输、医疗保健、犯罪预防、农业、畜牧业、采矿业、美容护理、工厂、家用电器、气象、自然监测等。另外,本技术可以用于任何目的。
<其他事项>
注意,本文使用的“标志”是指用于识别多个状态的信息,并且包括使得能够识别三个或更多个状态的信息以及用于识别两个状态即真(1)和假(0)的信息。因此,“标志”可以取的值可以是例如1/0的两个值或三个或更多个值。具体地,任何数量的比特可以构成“标志”,并且比特的数量可以是一个或多个。另外,假设识别信息(包括标志)具有以下形式:识别信息与用作参考的特定信息之间的差异信息被包括在比特流中的形式,以及识别信息被包括在比特流中的形式。因此,本文使用的“标志”或“识别信息”不仅包括其信息,还包括该信息与用作参考的特定信息之间的差异信息。
另外,与编码数据(比特流)相关的各种类型的信息(元数据等)可以以任何形式传输或记录,只要该信息与编码数据相关联即可。这里,术语“关联”意指,例如,当一段数据被处理时,使另一段数据可用(可以被链接)。换句话说,相互关联的数据可以被组织成一段数据,或者可以被用作单独的数据段。例如,与编码数据(图像)相关联的信息可以在与传输编码数据(图像)的传输信道不同的传输信道上传输。另外,例如,与编码数据(图像)相关联的信息可以被记录在与记录该编码数据(图像)的记录介质不同的记录介质中(或者记录在与记录编码数据的相同记录介质的记录区域不同的记录介质的记录区域中)。注意,可以对部分数据执行“关联”,而不是对整个数据执行“关联”。例如,图像和对应于该图像的信息可以以任何单元例如多个帧、一个帧或帧中的部分相互关联。
注意,本文使用的术语“合成”、“多路复用”、“添加”、“集成”、“包括”、“存储”、“放入”、“插入”、“嵌入”等意指将多个对象组织成一个对象,例如,将编码数据与元数据组织成一个数据,并且意指用于上述“关联”的一种方法。
另外,本技术的实施方式不限于上述实施方式,并且可以在不脱离本技术的精神的情况下进行各种改变。
例如,被描述为一个设备(或处理部)的配置可以被划分并被配置成多个设备(或处理部)。相反,上面描述为多个设备(或处理部)的配置可以被组织或配置成一个设备(或处理部)。另外,不用说,除了上述配置之外的配置可以被添加至每个设备(或每个处理部)的配置。此外,一个设备(或处理部)的配置的一部分可以包括在另一设备(或另一处理部)的配置中,只要系统的配置和操作作为整体保持基本相同即可。
另外,例如,上述程序可以在可选设备中执行。在该情况下,该设备包括所需的功能(功能块等)并且可以获得所需的信息就是足够的。
另外,例如,一个流程图的每个步骤可以由一个设备执行,或者每个步骤的执行可以由多个设备共享。此外,在一个步骤包括多个处理的情况下,多个处理可以由一个设备执行,或者多个处理的执行可以由多个设备共享。换句话说,包括在一个步骤中的多个处理可以作为该处理的多个步骤来执行。相反,被描述为多个步骤的处理可以被组织成用于执行的单个步骤。
另外,例如,在由计算机执行的程序中,描述程序的步骤可以按照本文描述的顺序按时间顺序执行,或者可以在所需的定时例如当程序被调用时的定时处并行或单独执行。换句话说,处理的步骤可以以不同于上述顺序的顺序执行,除非该顺序导致不一致。此外,描述程序的步骤可以并行执行或者与另一程序的处理相结合来执行。
另外,例如,与本技术相关的多种技术可以独立且统一地实现,除非执行导致不一致。不用说,任意多个本技术都可以一起实现。例如,在任何一个实施方式中描述的本技术的一部分或全部可以结合在另一实施方式中描述的本技术的一部分或全部来实现。另外,上述本技术中的任何本技术的一部分或全部可以与以上未描述的另一技术一起实现。
注意,本技术可以采用以下配置。
(1)
一种图像处理设备,包括:
点云生成部,其通过将点定位在网格的表面与向量之间的交点处来生成点云数据,所述向量以与指定分辨率对应的位置坐标作为起始原点。
(2)
根据(1)所述的图像处理设备,其中,
点云生成部
执行表面与向量之间的相交确定,以及
在确定表面与向量彼此相交的情况下,计算交点的坐标。
(3)
根据(2)所述的图像处理设备,其中,
点云生成部执行表面与在彼此垂直的三个轴向方向中的每个轴向方向中的正方向和负方向中的每个方向上的向量之间的相交确定。
(4)
根据(3)所述的图像处理设备,其中,
在多个交点的坐标值重叠的情况下,点云生成部剩余包括在彼此重叠的交点的组中的任一个交点,而删除其他的交点。
(5)
根据(2)至(4)中任一项所述的图像处理设备,其中,
点云生成部执行表面与包括位于表面的每个顶点的范围内的起始原点的向量之间的相交确定。
(6)
根据(2)至(5)中任一项所述的图像处理设备,其中,
在计算出的交点的坐标在边界框之外的情况下,点云生成部将交点的坐标剪切到边界框中。
(7)
根据(2)至(6)中任一项所述的图像处理设备,其中,
在计算出的交点的坐标在边界框之外的情况下,点云生成部删除交点。
(8)
根据(2)至(7)中任一项所述的图像处理设备,其中,
点云生成部通过使用比对表面的端部执行相交确定的情况下使用的向量更稀疏的向量来对表面的内部执行相交确定。
(9)
根据(2)至(8)中任一项所述的图像处理设备,其中,
在向量与多个表面相交并且在多个表面之间存在空间的情况下,点云生成部将点添加到空间。
(10)
根据(2)至(9)中任一项所述的图像处理设备,其中,
点云生成部并行地执行对多个向量中的每个向量相对于单个表面的相交确定。
(11)
根据(2)至(10)中任一项所述的图像处理设备,其中,
点云生成部并行地执行对多个表面中的每个表面相对于单个向量的相交确定。
(12)
根据(2)至(11)中任一项所述的图像处理设备,其中,
向量以与指定体素分辨率对应的位置坐标作为起始原点。
(13)
根据(2)至(12)中任一项所述的图像处理设备,其中,
向量以与指定体素分辨率的2的幂对应的位置坐标作为起始原点。
(14)
根据(2)至(13)中任一项所述的图像处理设备,其中,
向量的起始原点在相互垂直的三个轴向方向上的位置是相互独立的。
(15)
根据(2)至(14)中任一项所述的图像处理设备,其中,
向量的起始原点在相互垂直的三个轴向方向上的间隔是相互独立的。
(16)
根据(2)至(15)中任一项所述的图像处理设备,其中,
点云生成部将不位于交点处的点包括在点云数据中。
(17)
根据(2)至(16)中任一项所述的图像处理设备,还包括:
网格形状恢复部,其根据体素数据恢复网格的形状,其中,
点云生成部通过使用由网格形状恢复部恢复的表面与向量之间的交点作为点来生成点云数据。
(18)
根据(17)所述的图像处理设备,还包括:
可逆解码部,其对比特流执行可逆解码以生成八叉树数据;以及
八叉树解码部,其通过使用由可逆解码部生成的八叉树数据来生成体素数据,其中,
网格形状恢复部根据由八叉树解码部生成的体素数据恢复网格的形状。
(19)
根据(17)所述的图像处理设备,还包括:
位置信息编码部,其对点云数据的位置信息进行编码;以及
八叉树解码部,其通过使用当位置信息编码部对位置信息进行编码时生成的八叉树数据来生成体素数据。
(20)
一种图像处理方法,包括:
通过将点定位在网格的表面与向量之间的交点处来生成点云数据,所述向量以与指定分辨率对应的位置坐标作为起始原点。
[附图标记列表]
100点云生成设备,111向量设置部,112相交确定部,113辅助处理部,114输出部,300解码设备,311可逆解码部,312八叉树解码部,313网格形状恢复部,314点云生成部,315属性解码部,500编码设备,511体素生成部,512几何编码部,513几何解码部,514属性编码部,515比特流生成部,521八叉树生成部,522网格生成部,523可逆编码部,531八叉树解码部,532网格形状恢复部,533点云生成部。

Claims (16)

1.一种图像处理设备,包括:
电路,其被配置成
基于指定的分辨率而来设置限定点云数据的边界框中的向量之间的间隔,其中,所述向量每个都具有与所述边界框的与所述点云数据的体素数据相关联的边的方向相同的方向,以及其中,所述体素数据表示所述边界框中的体素,
基于所述边界框中的所述体素来限定网格,
确定所述向量与所述网格的表面之间的相交,和
通过将点定位在所述相交的相应位置坐标处来生成所述点云数据,
其中,所述电路还被配置成在相互垂直的三个轴向方向中的每个轴向方向的正方向和负方向中的每一个上,确定所述向量与所述表面之间的相交,以及
其中,在多个交点具有交叠的坐标值的情况下,所述电路还被配置成删除在一组彼此交叠的交点中所包含的除任一个交点之外的所有其他交点。
2.根据权利要求1所述的图像处理设备,其中,
所述电路还被配置成确定在包括位于所述表面的每个顶点的范围内的起始原点的所述表面与所述向量之间的相交。
3.根据权利要求1所述的图像处理设备,其中,
在计算出的所述交点的坐标在所述边界框之外的情况下,所述电路还被配置成将所述交点的坐标剪切到所述边界框中。
4.根据权利要求1所述的图像处理设备,其中,
在计算出的所述交点的坐标在所述边界框之外的情况下,所述电路还被配置成删除所述交点。
5.根据权利要求1所述的图像处理设备,其中,
所述电路还被配置成通过使用比对所述表面的端部执行相交确定的情况下使用的向量更稀疏的一个或更多个向量,来对所述表面的相对于中心的一部分执行相交确定。
6.根据权利要求1所述的图像处理设备,其中,
在所述向量与多个所述表面相交并且在多个所述表面之间存在空间的情况下,所述电路还被配置成将点添加到所述空间。
7.根据权利要求1所述的图像处理设备,其中,
所述电路还被配置成并行地执行对多个所述向量中的每个向量上的相对于单个表面的相交确定。
8.根据权利要求1所述的图像处理设备,其中,
所述电路还被配置成并行地执行对多个所述表面中的每个表面的相对于单个向量的相交确定。
9.根据权利要求1所述的图像处理设备,其中,
所述向量包括与指定体素分辨率对应的位置坐标作为起始原点。
10.根据权利要求1所述的图像处理设备,其中,
所述向量包括与指定体素分辨率的2次幂对应的位置坐标作为起始原点。
11.根据权利要求1所述的图像处理设备,其中,
所述向量的起始原点在相互垂直的三个轴向方向上的位置是相互独立的。
12.根据权利要求1所述的图像处理设备,其中,
所述向量的起始原点在相互垂直的三个轴向方向上的间隔是相互独立的。
13.根据权利要求1所述的图像处理设备,其中,
所述电路还被配置成将不位于所述交点处的点包括在所述点云数据中。
14.根据权利要求1所述的图像处理设备,其中,所述电路还被配置成:
对比特流执行可逆解码以生成八叉树数据,和
通过使用通过所述可逆解码所生成的所述八叉树数据来生成所述体素数据;以及
其中,所述电路还被配置成根据通过使用所述八叉树数据所生成的所述体素数据来限定所述网格。
15.根据权利要求1所述的图像处理设备,其中,所述电路还被配置成:
对所述点云数据的位置信息进行编码;以及
通过使用当所述电路对所述位置信息进行编码时生成的八叉树数据,来生成所述体素数据。
16.一种图像处理方法,包括:
基于指定的分辨率而来设置限定点云数据的边界框中的向量之间的间隔,其中,所述向量每个都具有与所述边界框的与所述点云数据的体素数据相关联的边的方向相同的方向,以及其中,所述体素数据表示所述边界框中的体素;
基于所述边界框中的所述体素来限定网格,
确定所述向量与所述网格的表面之间的相交,和
通过将点定位在所述相交的相应位置坐标处来生成所述点云数据,
其中,所述向量与所述表面之间的相交在相互垂直的三个轴向方向中的每个轴向方向的正方向和负方向中的每一个上被确定,以及
其中,在多个交点具有交叠的坐标值的情况下,在一组彼此交叠的交点中所包含的除任一个交点之外的所有其他交点被删除。
CN201980063608.XA 2018-10-02 2019-09-18 图像处理设备和方法 Active CN112771582B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2018-187482 2018-10-02
JP2018187482 2018-10-02
JP2019-114627 2019-06-20
JP2019114627 2019-06-20
PCT/JP2019/036469 WO2020071114A1 (ja) 2018-10-02 2019-09-18 画像処理装置および方法

Publications (2)

Publication Number Publication Date
CN112771582A CN112771582A (zh) 2021-05-07
CN112771582B true CN112771582B (zh) 2024-01-12

Family

ID=70054769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980063608.XA Active CN112771582B (zh) 2018-10-02 2019-09-18 图像处理设备和方法

Country Status (13)

Country Link
US (2) US11568602B2 (zh)
EP (1) EP3843046A4 (zh)
JP (1) JP7424299B2 (zh)
KR (1) KR20210070271A (zh)
CN (1) CN112771582B (zh)
AU (1) AU2019355381A1 (zh)
BR (1) BR112021005937A2 (zh)
CA (1) CA3115203A1 (zh)
MX (1) MX2021003538A (zh)
PH (1) PH12021550654A1 (zh)
SG (1) SG11202102923PA (zh)
TW (1) TW202025746A (zh)
WO (1) WO2020071114A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11172224B2 (en) * 2019-09-03 2021-11-09 Tencent America LLC Techniques and apparatus for generalized Trisoup geometry coding
WO2021065536A1 (ja) * 2019-10-01 2021-04-08 ソニー株式会社 情報処理装置および方法
US11584448B2 (en) * 2020-11-12 2023-02-21 Rivian Ip Holdings, Llc Systems and methods for joining a vehicle structure
US20230014820A1 (en) 2021-07-19 2023-01-19 Tencent America LLC Methods and apparatuses for dynamic mesh compression
CN114466212A (zh) * 2022-02-07 2022-05-10 百度在线网络技术(北京)有限公司 一种直播方法、装置、电子设备和介质
WO2023167430A1 (ko) * 2022-03-04 2023-09-07 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003031005A2 (en) * 2001-10-09 2003-04-17 Massachusetts Institute Of Technology Methods and apparatus for detecting and correcting penetration between objects

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0584638A (ja) 1991-09-26 1993-04-06 Hitachi Ltd 曲面加工における逆オフセツト操作の並列処理方法
US6126603A (en) * 1997-05-07 2000-10-03 General Electric Company Method and apparatus for segmenting color flow mode data using velocity information in three-dimensional ultrasound imaging
KR100298789B1 (ko) * 1998-04-29 2001-09-06 윤종용 그래픽 처리에 있어서 클리핑 처리방법
GB0329534D0 (en) * 2003-12-20 2004-01-28 Ibm Method for determining the bounding voxelisation of a 3d polygon
KR100695142B1 (ko) * 2004-03-08 2007-03-14 삼성전자주식회사 적응적 2의 n 제곱 진트리 생성방법 및 이를 이용한 3차원 체적 데이터 부호화/복호화 방법 및 장치
KR100738107B1 (ko) * 2006-02-15 2007-07-12 삼성전자주식회사 3차원 포인트 기반 모델링 장치 및 방법
KR100797400B1 (ko) * 2006-12-04 2008-01-28 한국전자통신연구원 주성분분석 및 자동상관을 이용한 단백질 구조 비교 장치및 그 방법
WO2009130622A1 (en) * 2008-04-24 2009-10-29 Koninklijke Philips Electronics N.V. Dose-volume kernel generation
US8502818B1 (en) * 2010-07-12 2013-08-06 Nvidia Corporation System and method for surface tracking
JP5337776B2 (ja) 2010-09-24 2013-11-06 富士フイルム株式会社 ナノインプリント方法およびそれを利用した基板の加工方法
US8849015B2 (en) * 2010-10-12 2014-09-30 3D Systems, Inc. System and apparatus for haptically enabled three-dimensional scanning
US9159162B2 (en) * 2011-12-28 2015-10-13 St. Jude Medical, Atrial Fibrillation Division, Inc. Method and system for generating a multi-dimensional surface model of a geometric structure
JP5806169B2 (ja) 2012-06-21 2015-11-10 トヨタ自動車株式会社 設計データ生成装置、その生成方法及びプログラム
US9805497B2 (en) * 2013-02-05 2017-10-31 Reuven Bakalash Collision-culling of lines over polygons
US20170109462A1 (en) * 2013-11-27 2017-04-20 Akademia Gorniczo-Hutnicza Im. Stanislawa Staszica W Krakowie System and a method for determining approximate set of visible objects in beam tracing
CN105631936A (zh) * 2014-10-31 2016-06-01 富泰华工业(深圳)有限公司 点云修补方法及系统
KR20160071774A (ko) * 2014-12-12 2016-06-22 삼성전자주식회사 영상 처리를 위한 영상 처리 장치, 방법 및 기록 매체
JP6361547B2 (ja) 2015-03-25 2018-07-25 トヨタ自動車株式会社 粒子モデルおよびメッシュモデル間のデータ引き継ぎ方法
US10706608B2 (en) * 2016-01-19 2020-07-07 Nvidia Corporation Tree traversal with backtracking in constant time
US10573091B2 (en) * 2017-02-22 2020-02-25 Andre R. Vincelette Systems and methods to create a virtual object or avatar
US11514613B2 (en) * 2017-03-16 2022-11-29 Samsung Electronics Co., Ltd. Point cloud and mesh compression using image/video codecs
US10825244B1 (en) * 2017-11-07 2020-11-03 Arvizio, Inc. Automated LOD construction for point cloud

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003031005A2 (en) * 2001-10-09 2003-04-17 Massachusetts Institute Of Technology Methods and apparatus for detecting and correcting penetration between objects

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Generation and VR Visualization of 3D Point Clouds for Drone Target Validation Assisted by an Operator;Louis-Pierre Bergé;《 2016 8TH COMPUTER SCIENCE AND ELECTRONIC ENGINEERING CONFERENCE (CEEC)》;说明书第1-5节 *
Louis-Pierre Bergé.Generation and VR Visualization of 3D Point Clouds for Drone Target Validation Assisted by an Operator.《 2016 8TH COMPUTER SCIENCE AND ELECTRONIC ENGINEERING CONFERENCE (CEEC)》.2016,说明书第1-5节. *

Also Published As

Publication number Publication date
WO2020071114A1 (ja) 2020-04-09
SG11202102923PA (en) 2021-04-29
CA3115203A1 (en) 2020-04-09
PH12021550654A1 (en) 2022-02-21
BR112021005937A2 (pt) 2021-06-29
US11922579B2 (en) 2024-03-05
EP3843046A4 (en) 2021-10-27
JP7424299B2 (ja) 2024-01-30
US11568602B2 (en) 2023-01-31
KR20210070271A (ko) 2021-06-14
MX2021003538A (es) 2021-05-27
US20230126000A1 (en) 2023-04-27
AU2019355381A1 (en) 2021-05-20
JPWO2020071114A1 (ja) 2021-09-09
EP3843046A1 (en) 2021-06-30
US20220036654A1 (en) 2022-02-03
TW202025746A (zh) 2020-07-01
CN112771582A (zh) 2021-05-07

Similar Documents

Publication Publication Date Title
CN112771582B (zh) 图像处理设备和方法
JP7552828B2 (ja) 画像処理装置および方法
WO2019198523A1 (ja) 画像処理装置および方法
KR102596507B1 (ko) 화상 처리 장치 및 방법
RU2762005C2 (ru) Способ и устройство для того, чтобы кодировать и декодировать двумерные облака точек
WO2021065536A1 (ja) 情報処理装置および方法
CN111727461B (zh) 信息处理装置和方法
US20220180567A1 (en) Method and apparatus for point cloud coding
KR20210109538A (ko) 화상 처리 장치 및 방법
US11790602B2 (en) Information processing device and method
JPWO2020071115A1 (ja) 画像処理装置および方法
EP4170597A1 (en) Information processing device and method
US20220353493A1 (en) Information processing apparatus and method
WO2021140928A1 (ja) 情報処理装置および方法
KR20240001126A (ko) 정보 처리 장치 및 방법

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40046635

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant