CN111727461A - 信息处理装置和方法 - Google Patents
信息处理装置和方法 Download PDFInfo
- Publication number
- CN111727461A CN111727461A CN201980007871.7A CN201980007871A CN111727461A CN 111727461 A CN111727461 A CN 111727461A CN 201980007871 A CN201980007871 A CN 201980007871A CN 111727461 A CN111727461 A CN 111727461A
- Authority
- CN
- China
- Prior art keywords
- rendering
- information
- voxel
- section
- data
- 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.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 91
- 238000000034 method Methods 0.000 title claims description 114
- 238000009877 rendering Methods 0.000 claims abstract description 431
- 238000003672 processing method Methods 0.000 claims abstract description 19
- 238000013139 quantization Methods 0.000 claims description 52
- 230000011218 segmentation Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 abstract description 133
- 230000015556 catabolic process Effects 0.000 abstract description 5
- 238000006731 degradation reaction Methods 0.000 abstract description 5
- 108010076504 Protein Sorting Signals Proteins 0.000 description 76
- 238000005516 engineering process Methods 0.000 description 40
- 238000007781 pre-processing Methods 0.000 description 36
- 230000008569 process Effects 0.000 description 31
- 238000000605 extraction Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 21
- 239000000284 extract Substances 0.000 description 8
- 238000013507 mapping Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000009467 reduction Effects 0.000 description 5
- 230000015654 memory Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000008094 contradictory effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000010420 art technique Methods 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 244000144972 livestock Species 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- NRNCYVBFPDDJNE-UHFFFAOYSA-N pemoline Chemical compound O1C(N)=NC(=O)C1C1=CC=CC=C1 NRNCYVBFPDDJNE-UHFFFAOYSA-N 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/08—Volume rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- 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/12—Bounding box
-
- 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)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
本公开涉及能够抑制渲染结果的质量降低的信息处理装置和信息处理方法。本申请根据体素的形状执行体素数据的渲染,该体素数据是表示通过使用体素量化位置信息得到的三维结构的3D数据。替选地,基于渲染信息来执行体素数据的渲染,该渲染信息是与体素数据的渲染有关的信息,该体素数据是表示通过使用体素量化位置信息得到的三维结构的3D数据。本公开应用于例如信息处理装置、图像处理装置、电子设备,信息处理方法和程序。
Description
技术领域
本公开涉及信息处理装置和信息处理方法,并且具体地涉及能够抑制渲染结果的质量降低的信息处理装置和信息处理方法。
背景技术
通常,已知存在作为进行以下的使用体素进行编码(例如八叉树)的方法:压缩由关于点群的位置信息、属性信息等表示三维结构的点云、或者压缩关于配置有顶点、边缘和面并且使用多边形表示来定义三维形状的网格的顶点数据(例如,参考非专利文献1)。
在这种编码中,设置边界框以规范化关于要编码的对象的位置信息。目前,迄今为止用于标准化的主要体素化方法是用于通过相同的分割数来确定x轴、y轴和z轴中的每个轴上的体素的方法。因此,每个体素的形状总是依赖于边界框的设置,并且不一定是恒定的。
引用列表
非专利文献
非专利文献1(NPL 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
发明内容
技术问题
但是,无论体素的形状如何,渲染方法都是恒定的。因此,渲染结果的形状与体素的形状不一致,可能导致渲染结果的质量(外观质量)的降低,例如在各个体素的渲染结果之间产生间隙或重叠。
鉴于这样的情况而完成本公开,本公开的目的在于能够抑制渲染结果的质量的降低。
问题的解决方案
根据本技术的一个方面的信息处理装置是一种包括渲染部的信息处理装置,该渲染部根据每个体素的形状对体素数据执行渲染,该体素数据包括通过使用体素量化位置信息得到的并且表示三维结构的3D数据。
根据本技术的一个方面的信息处理方法是一种包括根据每个体素的形状对体素数据执行渲染的信息处理方法,该体素数据包括通过使用体素量化位置信息得到的并且表示三维结构的3D数据。
根据本技术的另一方面的信息处理装置是一种包括比特流生成部的信息处理装置,该比特流生成部生成包含关于体素数据的编码数据和渲染信息的比特流,该体素数据包括通过使用体素量化位置信息得到的并且表示三维结构的3D数据,该渲染信息包括与体素数据的渲染有关的信息。
根据本技术的另一方面的信息处理方法是一种生成包含关于体素数据的编码数据和渲染信息的比特流的信息处理方法,该体素数据包括通过使用体素量化位置信息得到的并且表示三维结构的3D数据,该渲染信息包括与体素数据的渲染有关的信息。
根据本技术的又一方面的信息处理装置是一种包括渲染部的信息处理装置,该渲染部基于渲染信息对体素数据执行渲染,该渲染信息包括与体素数据的渲染有关的信息,该体素数据包括通过使用体素量化位置信息得到的并且表示三维结构的3D数据。
根据本技术的又一方面的信息处理方法是一种包括基于渲染信息对体素数据执行渲染的信息处理方法,该渲染信息包括与体素数据的渲染有关的信息,该体素数据包括通过使用体素量化位置信息得到的并且表示三维结构的3D数据。
在根据本技术的一个方面的信息处理装置和信息处理方法中,根据每个体素的形状对体素数据执行渲染,该体素数据包括通过使用体素量化位置信息得到的并且表示三维结构3D数据。
在根据本技术的另一方面的信息处理装置和信息处理方法中,生成包含关于体素数据的编码数据和渲染信息的比特流,该体素数据包括通过使用体素量化位置信息得到的并且表示三维结构的3D数据,该渲染信息包括与体素数据的渲染有关的信息。
在根据本技术的又一方面的信息处理装置和信息处理方法中,基于渲染信息对体素数据执行渲染,该渲染信息包括与体素数据的渲染有关的信息,该体素数据包括通过使用体素量化位置信息得到的并且表示三维结构的3D数据。
本发明的有益效果
根据本公开,可以处理信息。特别是可以抑制渲染结果的质量的降低。
附图说明
[图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.3D数据的编码和解码
2.第一实施方式(根据体素的形状进行渲染)
3.第二实施方式(根据元数据进行渲染)
4.注意
<1.3D数据的编码和解码>
<点云>
通常,存在诸如通过关于点群的位置信息、属性信息等来表示三维结构的点云、以及配置有顶点、边缘、面并且使用多边形表示来定义三维形状的网格的数据。
例如,在点云的情况下,图1的A中描绘的立体结构被表示为图1的B中描绘的多个点(点群)的集合。换言之,点云数据被配置有关于点群中的每个点的位置信息和属性信息(例如,颜色)。因此,数据结构相对简单,并且可以通过使用足够多的点以足够高的精度表示任何立体结构。
<使用体素的位置信息的量化和渲染>
但是,由于诸如点云和网格的数据的数据量相对较大,所以需要通过编码等来压缩数据量。已经设计了使用体素的编码方法,例如八叉树和KDTree。体素是用于对关于要编码的对象的位置信息进行量化的数据结构。
在应用体素的情况下,如图2的A中所描绘,将关于点的位置信息量化为体素的中心。因此,在渲染时,将该点渲染为以体素的中心位置为中心的图形。
如果每个体素的渲染结果(渲染图形)比该体素小,则整体渲染结果成为稀疏的点群,有可能降低点群的质量(图像质量)。相反,如果每个体素的渲染结果大于该体素(渲染结果从该体素溢出),则产生各个体素的渲染结果之间的重叠,从而可能降低整体渲染结果的质量(图像质量)。
为了解决该问题,例如,如图2的B中所描绘,渲染每个体素使得体素的渲染结果(渲染图形)是体素内的最大值。由此,能够缩小各个体素的渲染结果之间的间隙,并且防止重叠的产生。
在图2的B的示例的情况下,将体素渲染成半径为r的球体或渲染成侧边为I的规则立方体。渲染每个体素,使得任何这样的图形(球体或立方体)在体素内尽可能地大,使得可以使间隙变窄并减少体素之间的重叠。因此,可以抑制整体渲染结果的质量(图像质量)的降低。
但是,需要使用这样的体素进行编码以将关于要编码的对象的位置信息作为前提条件进行标准化,因此,为了满足该前提条件,执行用于设置被称为“边界框(boundingbox)”的并且包含要编码的对象的实体的作业。目前,用于迄今为止的标准化的主要体素化方法是用于通过相同的分割数来确定x轴、y轴和z轴上的体素的方法。因此,每个体素的形状总是取决于边界框的设置,并且不一定是恒定的。
如图3的A中所描绘,例如,每个体素的立方体的纵横比取决于边界框的纵横比,并且该纵横比在体素之间变化。因此,如果使用恒定渲染方法而不管每个体素的形状如何,则渲染结果可能从该体素溢出,并且可能在体素内产生间隙,如图3的B中所描绘。换言之,整个渲染结果的质量(外观质量)可能降低。
此外,例如,可以将边界框设置为如图3的C中所描绘的柱形。在这种情况下,每个体素的形状是例如图3的D中所描绘的形状,这进一步不同于图3的B等中所描绘的矩形体素。因此,如果通过与用于渲染矩形体素的方法类似的方法在这种形状的体素上执行渲染,则可能更难以抑制渲染结果之间的间隙和重叠。换言之,整个渲染结果的质量可能进一步降低。
<2.第一实施方式>
<根据每个体素的形状进行渲染>
为了解决该问题,根据每个体素的形状对体素数据执行渲染,该体素数据是通过使用体素量化位置信息得到的并且表示三维结构的3D数据。例如,信息处理装置被配置有渲染部,该渲染部根据每个体素的形状对体素数据执行渲染,该体素数据是通过使用体素量化位置信息得到的并且表示三维结构的3D数据。
通过这样做,无论每个体素的形状如何,都可以抑制渲染结果之间的间隙和重叠,并且因此,可以抑制渲染结果的质量的降低。
<编码装置>
在下文中将描述更具体的示例。首先,将描述使用体素对点云进行编码的编码装置。图4是描绘这种解码装置的主要配置的示例的框图。换言之,图4中描绘的编码装置100使用体素对关于作为要编码的对象输入的点云的数据进行编码,并且输出所得到的编码数据等。
如图4中所描绘,编码装置100具有控制部101、预处理部111、BB设置部112、体素化部113、八叉树编码部114和信号序列编码部115。
控制部101执行与对编码装置100内的各个处理部的控制有关的处理。例如,控制部101对由每个处理部执行的处理的执行或跳过(省略)执行控制。例如,控制部101基于预定控制信息来执行这样的控制。通过这样做,控制部101可以抑制不必要的处理的执行并且抑制负荷的增加。
尽管控制部101可以采用任何配置,但是控制部101可以具有例如CPU(中央处理单元)、ROM(只读存储器)、RAM(随机存取存储器)等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM以执行该程序来执行处理。
预处理部111在控制部101的控制下对输入到编码装置100的点云数据(要编码的对象)执行预定处理作为预处理,并且将处理后的数据提供给BB设置部112。
注意,用作要编码的对象的点云可以是运动图像或静止图像。此外,预处理可以具有任何内容。例如,预处理部111可以执行用于降低噪声的处理或用于改变分辨率(点的数量)的处理作为预处理。此外,例如,预处理部111可以更新每个点的布置以使得点群的密度均匀或者具有期望的偏差。此外,例如,可以将除点云之外的数据(例如具有深度信息的图像信息)输入到编码装置100,并且预处理部111可以将输入的数据转换为关于点云的数据,以作为预处理。
尽管预处理部111可以采用任何配置,但是预处理部111可以具有例如CPU、ROM、RAM等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM以执行该程序来执行预处理。
BB设置部112在控制部101的控制下执行与用于对关于要编码的对象的位置信息进行标准化的边界框的设置有关的处理。例如,BB设置部112将针对作为要编码的对象的每个对象设置边界框。,由关于在如例如图5的A中所描绘的点云的数据表示对象131和132的情况下,BB设置部112如图5的B中所描绘将边界框141和142设置成分别包含对象131和132。返回参照图4,在设置边界框时,BB设置部112将与边界框有关的信息提供给体素化部113。
注意,尽管BB设置部112可以采用任何配置,但是BB设置部112可以具有例如CPU、ROM、RAM等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM以执行该程序来执行与边界框的设置有关的处理。
体素化部113在控制部101的控制下执行与关于要编码的对象的位置信息的量化有关的处理。
例如,体素化部113设置由BB设置部112设置的边界框内的体素。如例如图5的C中所描绘,体素化部113分割边界框141并且设置体素151。然后,体素化部113通过体素量化(也就是说,体素化)边界框内的点云数据。通过这样做,点云数据被转换为包括关于每个体素的位置信息和属性信息(颜色信息等)的体素数据,如图5的D中所描绘。
例如,体素化部113在x轴、y轴和z轴三个轴的方向上,通过x轴、y轴和z轴三个轴(彼此垂直的三个轴)的方向上共同(common)的分割数来均等地分割边界框,并且将分割后的各个区域设置为体素。三个轴共同的分割数作为元数据包含在稍后将描述的比特流中,并且被发送到解码侧。
替选地,例如,体素化部113通过每个轴的分割数(与彼此独立的每个轴对应的分割数)来均等地分割x轴、y轴和z轴的三个轴(彼此垂直的三个轴)的方向上的边界框,并将分割后的各个区域设置为体素。与每个轴相对应的分割数作为元数据被包含在稍后将描述的比特流中,并且被发送到解码侧。
在另一替选实施方式中,例如,体素化部113在x轴、y轴和z轴的三个轴(彼此垂直的三个轴)的方向上不均等地分割边界框,并且将分割后的各个区域设置为体素(也称为“非线性体素”)。
例如,图6是表示二维体素的示意图。在这种情况下,如图6中所描绘,可以针对边界框161在相同层中设置在大小和形状上彼此不同的体素。换言之,可以在不增加层数的情况下通过非线性体素增加小的体素,从而使得可以提高更重要的区域的量化精度。
换言之,在非线性体素的情况下,可以在不增加体素层数的情况下提高量化精度。换言之,可以在抑制编码效率的降低和处理时间的增加的同时提高量化精度。
在这种情况下,体素化部113设置指示非线性体素的识别信息,并且设置关于所设置的体素的映射信息。识别信息和映射信息作为元数据被包含在稍后将描述的比特流中,并且被发送到解码侧。
不用说,体素设置方法可以是任何方法,并且不限于这些示例。
注意,在存在多个边界框的情况下,体素化部113对每个边界框的点云数据进行体素化。换言之,在图5的B的示例的情况下,体素化部113对边界框142执行类似的处理。返回参照图4,体素化部113将体素化的点云数据(也称为“体素数据”)(与用于位置信息的量化的数据结构有关的信息)、属性信息等提供给八叉树编码部114。
注意,尽管体素化部113可以采用任何配置,但是体素化部113可以具有例如CPU、ROM、RAM等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM以执行该程序来执行与体素的设置有关的处理。
八叉树编码部114在控制部101的控制下执行与八叉树编码有关的处理。例如,八叉树编码部114基于其数据结构对从体素化部113提供的体素数据进行编码(例如,对其执行八叉树编码),并且生成信号序列。八叉树编码部114将所生成的信号序列提供给信号序列编码部115。
注意,尽管八叉树编码部114可以采用任何配置,但是八叉树编码部114可以具有例如CPU、ROM、RAM等等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM以执行该程序来执行与信号序列的生成有关的处理。
信号序列编码部115在控制部101的控制下执行与所提供的信号序列的编码有关的处理。例如,信号序列编码部115对由八叉树编码部114提供的信号序列进行编码,并且生成编码数据(比特流)。编码的方法可以是任何方法。信号序列编码部115将这样得到的编码数据(比特流)输出到编码装置100的外部。由编码装置100输出的数据(编码数据和控制信息)可以由例如未描绘的后续处理部解码以重构关于点云的数据,可以由未描绘的通信部发送并且经由预定传输线发送至诸如解码装置的另一装置(例如,稍后描述的解码装置200),或者可以记录在未描绘的记录介质中。
注意,尽管信号序列编码部115可以采用任何配置,但是信号序列编码部115可以具有例如CPU、ROM、RAM等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM以执行该程序来执行与编码有关的处理。
<编码处理的流程>
将参照图7的流程图描述由如上所述配置的编码装置100执行的编码处理的流程的示例。
当编码处理开始时,在步骤S101中,预处理部111对输入的3D数据执行预处理。
在步骤S102中,BB设置部112针对预处理后的3D数据设置边界框。
在步骤S103中,体素化部113对边界框进行体素化。
在步骤S104中,八叉树编码部114基于该数据结构对体素数据进行编码,并且生成信号序列。
在步骤S105中,信号序列编码部115对信号序列进行编码。
在步骤S106中,信号序列编码部115将通过编码得到的比特流(包含关于3D数据的编码数据和诸如控制信息的元数据的比特流)输出到编码装置100的外部。
当步骤S106中的处理结束时,编码处理结束。在要编码的对象是例如运动图像的情况下,针对每个帧执行一系列处理。
<解码装置>
图8是示出作为应用本技术的图像处理装置的一个实施方式的解码装置的主要配置的示例的框图。图8中描绘的解码装置200是与图4的编码装置100相对应的解码装置,其对由例如编码装置100输出的比特流(包含关于3D数据等的编码数据的比特流)进行解码,并且重构3D数据。此时,解码装置200通过如下文所述的应用本技术的方法来执行解码(重构)。
如图8中所描绘,解码装置200具有控制部201、信号序列解码部211、八叉树解码部212、体素形状确定部213、渲染部214、显示控制部215和显示部216。
控制部201执行与解码装置200内的各个处理部的控制有关的处理。例如,控制部201对由每个处理部执行的处理的执行或跳过(省略)执行控制。例如,控制部201基于预定控制信息来执行这样的控制。通过这样做,控制部201可以例如抑制不必要的处理的执行并且抑制负荷的增加。
尽管控制部201可以采用任何配置,但是控制部201可以具有例如CPU、ROM、RAM等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM以执行该程序来执行处理。
信号序列解码部211在控制部201的控制下执行与比特流的解码有关的处理,所述比特流包含关于表示三维结构的3D数据的编码数据(通过体素化3D数据得到的体素数据的编码数据)等。3D数据可以是例如点云。
例如,信号序列解码部211获取从编码装置100提供的比特流。另外,例如,信号序列解码部211通过与由编码装置100(信号序列编码部115)执行的编码相对应的解码方法,对所获取的包含编码数据的比特流进行解码。信号序列解码部211将通过对编码数据进行解码得到的信号序列与诸如控制信息的元数据一起提供给八叉树解码部212。
注意,尽管信号序列解码部211可以采用任何配置,但是信号序列解码部211可以具有例如CPU、ROM、RAM等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM以执行该程序来执行与解码有关的处理。
八叉树解码部212在控制部201的控制下执行与八叉树解码有关的处理。例如,八叉树解码部212基于其数据结构对从信号序列解码部211提供的信号序列进行解码(例如,对其执行八叉树解码)。八叉树解码部212将通过解码得到的体素数据与诸如控制信息的元数据一起提供给体素形状确定部213。
注意,尽管八叉树解码部212可以采用任何配置,但是八叉树解码部212可以具有例如CPU、ROM、RAM等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM以执行该程序来执行与解码有关的处理。
体素形状确定部213在控制部201的控制下执行与每个体素的形状的确定有关的处理。例如,体素形状确定部213基于从八叉树解码部212提供的体素数据、元数据等来确定每个体素的形状(形式、大小等)。
如上所述,通过使用体素量化关于表示三维结构的3D数据例如点云的位置信息来得到体素数据。另外,通过分割对3D数据进行标准化的边界框的区域来得到体素。元数据包含诸如边界框的尺寸和在根据边界框设置体素时的分割数的信息。体素形状确定部213基于这样的信息片段(pieces of information)确定每个体素的形状(形式、大小等)。
例如,在元数据包含指示x轴、y轴和z轴中的三个轴(彼此垂直的三个轴)共同的分割数的信息的情况下,体素形状确定部213通过在x轴、y轴和z轴方向中的每个上通过共同的分割数均等地分割边界框的尺寸来得到(确定)每个体素的形状。换言之,体素形状确定部213基于对3D数据进行标准化的边界框的三个轴共同的分割数来确定每个体素的形状。
替选地,例如在元数据包含指示x轴、y轴和z轴的三个轴(彼此垂直的三个轴)中的每个的分割数(与每个轴相对应的分割数)的信息的情况下,体素形状确定部213通过在x轴、y轴和z轴方向中的每个上通过对应的分割数均等地分割边界框的尺寸来得到(确定)每个体素的形状。换言之,体素形状确定部213基于与对3D数据进行标准化的边界框的每个轴相对应的分割数来确定每个体素的形状。
在另一替选实施方式中,例如在元数据包含关于体素的映射信息的情况下,体素形状确定部213从映射信息中得到(确定)每个体素的形状。换言之,体素形状确定部213基于指示对3D数据进行标准化的边界框的非线性分割的信息来确定每个体素的形状。注意,体素形状确定部213可以根据需要使用关于边界框的尺寸信息。
体素形状确定部213将如上所述得到的每个体素的形状的确定结果(指示每个体素的形状的信息)与体素数据和元数据一起提供给渲染部214。
注意,尽管体素形状确定部213可以采用任何配置,但是体素形状确定部213可以具有例如CPU、ROM、RAM等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM中以执行该程序来执行与解码有关的处理。
渲染部214在控制部201的控制下执行与图像渲染有关的处理。例如,渲染部214基于从体素形状确定部213提供的并且指示体素数据、元数据和每个体素的形状的信息等,根据每个体素的形状执行渲染。换言之,渲染部214根据由体素形状确定部213确定的每个体素的形状来执行渲染。具体而言,渲染部214根据每个体素的形状,渲染由信号序列解码部211对编码数据进行解码得到的体素数据。
例如,在体素的形状是像图9的A中描绘的体素231那样的规则立方体的情况下,渲染部214可以将例如该体素渲染为像图9的B中描绘的渲染结果232和233那样的球体形状,或者可以将该体素渲染为像图9的B中描绘的渲染结果234和235那样的规则立方体形状。
此外,此时,由于渲染部214基于指示体素形状的信息等掌握体素231的形状,因此渲染部214可以根据经受渲染的体素231的形状来执行渲染。
例如,渲染结果232和234是由渲染部214执行的渲染的结果,使得渲染结果232和234各自被内接(inscribe)于体素231中。通过以这种方式执行渲染,渲染部214可以在渲染结果不超过体素231的范围内尽可能大地增强渲染结果。换言之,通过这样执行渲染,渲染部214可以在抑制各个体素的渲染结果之间的重叠的生成时尽可能地减小间隙。因此,可以抑制渲染结果的质量降低。
注意,如果在渲染结果中或在体素形状的确定结果中存在错误,则当每个渲染结果被内接于体素中时,该误差可能导致渲染结果之间的重叠的生成。为了解决该问题,可以在不将渲染结果内接于体素中的情况下在每个渲染结果与体素之间给出裕度(空间),以允许更多地抑制渲染结果之间的重叠的生成。例如,在图9的B中所描绘的渲染结果233、235的情况下,执行渲染使得图9的B中所描绘的渲染结果233和235小于渲染结果232和234。因此,每个渲染结果与体素之间的间隙变大,并且渲染结果之间的重叠的生成被抑制得与更大的间隙一样多。
另外,例如在体素的形状是像图9的C中所描绘的体素241那样的立方体(长方体)的情况下,渲染部214例如能够将该体素渲染为渲染结果242、243那样的椭圆体形状,或者如图9的D中所描绘,能够将该体素渲染为像渲染结果244、245那样的立方体形状(长方体状形状)。
此外,此时,由于渲染部214基于指示体素形状的信息等掌握体素241的形状,因此渲染部214可以根据经受渲染的体素241的形状来执行渲染。例如,图9的D中描绘的渲染结果242和244是由渲染部214执行的渲染的结果,使得渲染结果242和244各自被内接于体素241中。通过这样执行渲染,渲染部214能够在渲染结果不超出体素241的范围内尽可能地扩大渲染结果。换言之,渲染部214通过这样执行渲染,能够在抑制各个体素的渲染结果之间的重叠的产生时尽可能地减小间隙。因此,可以抑制渲染结果的质量的降低。
注意,在这种情况下,与上述情况类似,可以在不将渲染结果内接于体素中的情况下在每个渲染结果与体素之间给出裕度(空间),以允许更多地抑制渲染结果之间的重叠的产生。例如,在图9的D所描绘的渲染结果243、245的情况下,执行渲染使得渲染结果243和245小于图9的D所描绘的渲染结果242和244。因此,每个渲染结果与体素之间的间隙变得更大,并且渲染结果之间的重叠的产生被抑制得与更大的间隙一样多。
渲染部214将如上所述得到的渲染结果(也就是说,3D数据)提供给显示控制部215。
注意,尽管渲染部214可以采用任何配置,但是渲染部214可以具有例如CPU、ROM、RAM等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM以执行该程序来执行与解码有关的处理。
显示控制部215在控制部201的控制下执行与显示控制有关的处理。例如,显示控制部215获取从渲染部214提供的并且指示渲染结果的3D数据。另外,例如,显示控制部215基于3D数据来生成2D显示图像。然后,显示控制部215将显示图像提供给显示部216。
注意,尽管显示控制部215可以采用任何配置,但是显示控制部215可以具有例如CPU、ROM、RAM等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM以执行该程序来执行与解码有关的处理。
显示部216在控制部201的控制下执行与图像投影有关的处理。例如,显示部216获取从显示控制部215提供的显示图像。另外,显示部216在显示部216所拥有的显示装置上显示所获取的显示图像。换言之,显示部216显示通过根据渲染部214的每个体素的形状执行渲染而生成的图像。
通过执行上述处理,不论每个各体素的形状如何,都可以抑制渲染结果之间的间隙和重叠,因此可以抑制渲染结果的质量的降低。
<解码处理的流程>
将参照图10的流程图描述由如上所述配置的解码装置200执行的解码处理的流程的示例。
当开始解码处理时,在步骤S201中,信号序列解码部211对输入比特流进行解码,并且得到信号序列。
在步骤S202中,八叉树解码部212基于其数据结构对该信号序列进行解码,并且得到体素数据。
在步骤S203中,体素形状确定部213确定关于体素数据的每个体素的形状。
在步骤S204中,渲染部214基于在步骤S203中确定的每个体素的形状对体素数据执行渲染。
在步骤S205中,显示控制部215使用渲染结果(3D数据)生成2D显示图像。
在步骤S206中,显示部216显示在步骤S205中得到的显示图像。
在步骤S206中的处理结束时,解码处理结束。例如,在要解码的对象是运动图像的情况下,针对每个帧执行一系列处理。
通过执行上述解码处理,不论每个体素的形状如何,解码装置200可以抑制渲染结果之间的间隙和重叠,并且因此抑制渲染结果的质量降低。
<3.第二实施方式>
<渲染信息的信令>
注意,在如上所述对3D数据进行编码时,编码侧可以设置解码侧的渲染方法,并且将该方法用信号通知(提供该方法作为元数据等)给解码侧。然后,解码侧可以基于该信息执行渲染(也就是说,通过由编码侧指定的方法执行渲染)。
换言之,生成包含关于体素数据的编码数据和渲染信息的比特流,该体素数据是通过使用体素量化位置信息得到的并且表示三维结构的3D数据,该渲染信息是与体素数据的渲染有关的信息。例如,信息处理装置可以配置有比特流生成部,该比特流生成部生成包含关于体素数据的编码数据和渲染信息的比特流,该体素数据是通过使用体素量化位置信息得到的并且表示三维结构的3D数据,该渲染信息是与体素数据的渲染有关的信息。
通过这样做,不管每个体素的形状如何,可以抑制渲染结果之间的间隙和重叠,因此,可以抑制渲染结果的质量的降低。
<编码装置>
在下文中将描述更具体的示例。首先,将描述使用体素编码点云的编码装置。图11是描绘这种解码装置的主要配置的示例的框图。与编码装置100类似,图11中描绘的编码装置300使用体素对关于作为要编码的对象输入的点云的数据进行编码,并且输出得到的编码数据等。
如图11所示,编码装置300具有控制部301、预处理部311、BB设置部312、体素化部313、信息提取部314、八叉树编码部315、信号序列编码部316和关联部317。
控制部301是与控制部101类似的处理部,并且执行与编码装置300内的各个处理部的控制有关的处理。例如,控制部301对由每个处理部执行的处理的执行或跳过(省略)执行控制。例如,控制部301基于预定控制信息来执行这样的控制。通过这样做,控制部301可以抑制不必要的处理的执行并且抑制负荷的增加。
尽管控制部301可以采用任何配置,但是控制部301可以具有例如CPU、ROM、RAM等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM以执行该程序来执行处理。
预处理部311在控制部301的控制下执行与预处理有关的处理。例如,预处理部311获取输入到编码装置300作为要编码的对象的3D数据(例如,点云数据)(箭头321)。另外,预处理部311对所获取的3D数据执行预定处理作为预处理。此外,预处理部311将适当处理的数据提供给BB设置部312(箭头322)。
注意,用作要编码的对象的点云可以是运动图像或静止图像。此外,预处理可以具有任何内容。例如,预处理部311可以执行用于降低噪声的处理或用于改变分辨率(点的数量)的处理作为预处理。另外,例如,预处理部311可以更新每个点的布置以使得点群的密度均匀或具有期望的偏差。此外,例如,可以将除了点云之外的数据(例如具有深度信息的图像信息)输入到编码装置300,并且预处理部311可以将输入的数据转换为关于点云的数据作为预处理。
尽管预处理部311可以采用任何配置,但是预处理部311可以具有例如CPU、ROM、RAM等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM以执行该程序来执行预处理。
与BB设置部112类似,BB设置部312在控制部301的控制下执行与边界框的设置有关的处理,该边界框用于对关于要编码的对象的位置信息进行标准化。例如,BB设置部312获取由预处理部311提供的并且已经经受适当的预处理的3D数据(箭头322)。另外,BB设置部312针对3D数据的作为要编码的对象的每个对象设置边界框。该处理在内容上类似于由BB设置部112所执行的处理。此外,BB设置部312将与所设置的边界框有关的信息与3D数据一起提供给体素化部313(箭头323)。
注意,尽管BB设置部312可以采用任何配置,但是BB设置部312可以具有例如CPU、ROM、RAM等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM以执行该程序来执行与边界框的设置有关的处理。
与体素化部113类似,体素化部313在控制部301的控制下执行与关于要编码的对象的位置信息的量化有关的处理。例如,体素化部313获取从BB设置部312提供的数据(箭头323)。另外,体素化部313使用该数据对3D数据进行体素化,并且生成体素数据。此外,体素化部313将生成的体素数据与其他数据一起提供给信息提取部314(箭头324)。
用于体素化的处理可以具有任何内容。例如,体素化部313可以在由BB设置部312设置的边界框内设置体素。此外,体素化部313可以生成指示3D数据的分布状态的分布信息。此外,体素化部313可以量化关于3D数据的位置信息。此外,体素化部313可以设置渲染通过量化关于3D数据的位置信息得到的体素数据的方法。
注意,尽管体素化部313可以采用任何配置,但是体素化部313可以具有例如CPU、ROM、RAM等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM中以执行该程序来执行与体素的设置有关的处理。
信息提取部314在控制部301的控制下执行与信息的提取有关的处理。例如,信息提取部314获取从体素化部313提供的数据(箭头324)。另外,信息提取部314从所获取的数据中提取期望的信息,并且生成与渲染有关的信息(渲染信息)。此外,信息提取部314将渲染信息作为元数据提供给关联部317(箭头326)。此外,信息提取部314将体素数据提供给八叉树编码部315(箭头325)。
由信息提取部314提取的信息(也就是说,渲染信息)可以具有任何内容。例如,该信息可以包含与由BB设置部312设置的边界框有关的信息。另外,该信息可以包含与由体素化部313设置的体素有关的信息。此外,该信息可以包含由体素化部313生成的分布信息。此外,该信息可以包含与由体素化部313设置的渲染方法有关的信息。稍后将描述渲染信息的详细内容。
注意,尽管信息提取部314可以采用任何配置,但是信息提取部314可以具有例如CPU、ROM、RAM等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM中以执行该程序来执行与体素的设置有关的处理。
与八叉树编码部114类似,八叉树编码部315在控制部301的控制下执行与八叉树编码有关的处理。例如,八叉树编码部315获取从信息提取部314提供的体素数据(箭头325)。另外,八叉树编码部315基于其数据结构对所获取的体素数据进行编码(例如,对其执行八叉树编码),并且生成信号序列。此外,八叉树编码部315将所生成的信号序列提供给信号序列编码部316(箭头327)。
注意,尽管八叉树编码部315可以采用任何配置,但是八叉树编码部315可以具有例如CPU、ROM、RAM等等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM以执行该程序来执行与信号序列的生成有关的处理。
与信号序列编码部115类似,信号序列编码部316在控制部301的控制下执行与所提供的信号序列的编码有关的处理。例如,信号序列编码部316获取由八叉树编码部315提供的信号序列(箭头327)。另外,信号序列编码部316对所获取的信号序列进行编码,并且生成编码数据(比特流)。编码的方法可以是任何方法。信号序列编码部316将这样得到的编码数据提供给关联部317。
注意,尽管信号序列编码部316可以采用任何配置,但是信号序列编码部316可以具有例如CPU、ROM、RAM等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM中以执行该程序来执行与编码有关的处理。
关联部317在控制部301的控制下执行与数据的关联有关的处理。例如,关联部317获取从信息提取部314提供的元数据(渲染信息)(箭头326)。另外,关联部317获取从信号序列编码部316提供的编码数据(箭头327)。此外,关联部317将获取的元数据与获取的编码数据相关联。例如,关联部317将元数据添加到包含编码数据的比特流。
如上所述,从信号序列编码部316提供的编码数据是对体素数据进行编码得到的。另外,该体素数据是通过使用体素对表示三维结构的关于3D数据(例如点云)的位置信息进行量化得到的。此外,通过分割对3D数据进行标准化的边界框的区域来得到体素。
此外,元数据不仅包含诸如边界框的尺寸和在从边界框设置体素时的分割数的信息,而且包含渲染信息等。
换言之,关联部317生成比特流,该比特流包含关于体素数据的编码数据和渲染信息,该体素数据是通过使用体素量化位置信息得到的并表示三维结构的3D数据,该渲染信息是与体素数据的渲染有关的信息。
此外,关联部317将比特流输出到编码装置300的外部(箭头329)。由编码装置300输出的数据(编码数据和控制信息)可以由例如未描绘的后续处理部解码以重构关于点云的数据,可以由未描绘的通信部发送并且经由预定传输线发送至诸如解码装置的另一装置(例如,稍后描述的解码装置400),或者可以记录在未描绘的记录介质中。
尽管关联部317可以采用任何配置,但是关联部317可以具有例如CPU、ROM、RAM等,并且CPU可以将存储在ROM等中的程序和数据加载到RAM中以执行该程序来执行与编码有关的处理。
<体素化部的配置>
图12是描绘体素化部313的主要配置的示例的框图。图12中所描绘的示例中的体素化部313具有体素设置部341、分布信息生成部342、渲染方法设置部343和位置量化部344。
体素设置部341执行与用于对位置信息进行量化的体素的设置有关的处理。例如,体素设置部341获取从BB设置部312(图11)提供的数据(箭头351)。另外,体素设置部341参考BB设置部312设置的每个边界框来设置体素。此外,体素设置部341将与所设置的体素有关的信息与其他数据一起提供给分布信息生成部342(箭头352)。
体素设置方法类似于体素化部113的情况,并且可以是例如使用三个轴共同的分割数的方法、使用与每个轴相对应的分割数的方法、使用指示非线性分割的信息(非线性体素映射信息等)的方法或其他方法。
尽管体素设置部341可以采用任何配置,但是体素设置部341可以具有例如CPU、ROM、RAM等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM以执行该程序来执行与编码有关的处理。
分布信息生成部342执行与分布信息的生成有关的处理。例如,分布信息生成部342获取从体素设置部341提供的数据(箭头352)。另外,分部信息生成部342使用所获取的数据生成指示量化之前的3D数据中的点的分布状态的分布信息。分布信息生成部342将生成的分布信息与其他数据一起提供给渲染方法设置部343(箭头353)。
分布信息是指示在体素内如何分布量化之前的点的信息。分布信息被用信号通知(作为元数据提供给解码侧)并且用于由解码侧执行的渲染。
例如,如图13的A中所描绘,当包含关于多个点的信息的体素371被量化时,关于那些点的位置信息被量化到体素如体素372的中心位置。因此,难以以仅根据关于量化之后的体素372的信息执行渲染以使得再现(更接近)量化之前的体素371中的点群。
为了解决该问题,分布信息生成部342生成表示量化之前的点的分布状态(在图13的A的示例的情况下,体素371中的点的分布状态)的分布信息,并且在比特流中将该分布信息用信号通知。
通过这样做,解码侧可以执行渲染以使得在参考分布信息的同时再现(更近似)量化之前的点的分布。换言之,解码侧可以得到更接近量化之前的3D数据的渲染结果。因此,可以抑制渲染结果的质量降低。
分布信息可以配置有任何信息。换言之,量化之前的点的分布状态的表示方法可以是任何方法。例如,点的分布状态可以由形状、尺寸、纵横比等来表示。
例如,图13的B中描绘的体素373中点的分布状态的轮廓可以表示为如体素374中描绘的长方体。换言之,在这种情况下,点的分布状态可以由指示分布的形状(一般形状)、长方体的尺寸和长方体的纵横比的长方体表示。
此外,例如,图13的C中描绘的体素375中的点的分布状态的轮廓可以被表示为如体素376中描绘的小椭圆体。换言之,在这种情况下,点的分布状态可以由指示分布的形状和椭圆体的尺寸的椭圆体来表示。注意,在椭圆体的尺寸以这种方式足够小的情况下,可以省略纵横比。
此外,例如,图13的D中描绘的体素377中的点的分布状态的轮廓可以表示为如体素378中描绘的大椭圆体。换言之,在这种情况下,点的分布状态可以由指示分布的形状、椭圆体的尺寸和椭圆体的纵横比的椭圆体来表示。
这样,量化之前的点的分布状态可以由诸如形状、尺寸和纵横比的信息来简单地表示。
注意,尽管分布信息生成部342可以采用任何配置,但是分布信息生成部342可以具有例如CPU、ROM、RAM等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM以执行该程序来执行与编码有关的处理。
渲染方法设置部343执行与渲染方法的设置有关的处理。例如,渲染方法设置部343获取从分布信息生成部342提供的数据(箭头353)。另外,渲染方法设置部343使用所获取的数据设置渲染方法。此外,渲染方法设置部343将与所设置的渲染方法有关的信息与其他数据一起提供给位置量化部344(箭头354)。
渲染方法定义如何渲染量化的体素。例如,基于关于体素382的分布信息(例如,形状、尺寸和纵横比)等来渲染通过量化图14的体素381得到的体素382。此时,体素382可以像体素383那样被渲染以使得将分布信息(分布信息所指示的分布的状态)表示为对象,或者可以像体素384那样被渲染以使得将分布方法表示为点群。
渲染方法设置部343执行这种渲染方法的设置。设置方法可以是任何方法。例如,渲染方法设置部343可以基于用户的指令、预设设置等执行设置。此外,渲染方法设置部343可以根据情况自适应地设置渲染方法。
注意,在将体素渲染为如图14的体素384那样的点群的情况下,可以根据体素数据中包含的每个体素的颜色信息量比(颜色信息片段的数量)来设置点的数量,或者将点的数量设置为语法中指定的点的数量。例如,关于要渲染的点的颜色信息可以作为点的数量被发送。
尽管渲染方法设置部343可以采用任何配置,但是渲染方法设置部343可以具有例如CPU、ROM、RAM等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM以执行该程序来执行与编码有关的处理。
位置量化部344执行与位置信息的量化有关的处理。例如,位置量化部344获取从渲染方法设置部343提供的数据(箭头354)。另外,位置量化部344使用所获取的数据来量化关于3D数据的位置信息,并且生成体素数据。换言之,位置量化部344使用由体素设置部341设置的体素来量化关于3D数据的位置信息。此外,位置量化部344将所生成的体素数据与其他数据一起提供给信息提取部314(图11)(箭头355)。
注意,尽管位置量化部344可以采用任何配置,但是位置量化部344可以具有例如CPU、ROM、RAM等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM以执行该程序来执行与编码有关的处理。
<渲染信息>
接下来将描述在比特流中用信号通知渲染信息。如上所述,信息提取部314提取渲染信息,并且关联部317将渲染信息作为元数据包含在比特流中。
渲染信息可以是任何信息,只要该信息可以在由解码侧执行渲染时使用即可。例如,渲染信息可以包含与由体素设置部341设置的每个体素的形状有关的信息(体素形状信息)。
体素形状信息可以具有任何内容,只要该内容与由体素设置部341设置的每个体素的形状有关即可。例如,体素形状信息可以包含指示体素的纵横比(体素纵横比)的信息。例如,如图15的A所描绘,体素形状信息(也就是说,渲染信息)可以包含指示每个体素的纵横比的索引(Index,索引)。
此外,体素形状信息例如可以包含指示每个体素的尺寸的信息。该尺寸可以是三个轴方向共同的尺寸、与三个轴方向中的每个方向相对应的尺寸、或者关于非线性体素的映射信息。
此外,渲染信息可以包含例如指示渲染的纵横比(渲染纵横比)的信息,也就是说,在渲染时渲染范围的纵横比。
渲染的纵横比是基于例如当信息提取部314提取信息时包含在分布信息中的量化之前的点的分布的纵横比而设置的信息。例如,信息提取部314将包含在分布信息中的量化之前的点的分布的纵横比按照原样设置为渲染的纵横比。替选地,信息提取部314可以基于例如诸如由渲染方法设置部343设置的渲染方法的其他信息来校正包含在分布信息中的量化之前的点的分布的纵横比,并且可以将校正后的纵横比设置为渲染的纵横比。
如例如图15的B中所描绘,渲染信息可以包含指示渲染的纵横比的索引(Index,索引)。
此外,渲染信息可以包含例如指示渲染的形状的信息,也就是说,在渲染时渲染范围(渲染)的形状。渲染信息可以包含例如指示渲染范围的形状是否内接于体素中或者指示渲染范围的形状是否是长方体、椭圆体、点群等的信息。
渲染的形状是基于例如当信息提取部314提取信息时包含在分布信息中的量化之前的点的分布的形状而设置的信息。例如,信息提取部314将包含在分布信息中的量化之前的点的分布的形状按照原样设置为渲染的形状。替选地,信息提取部314可以基于例如由渲染方法设置部343设置的渲染方法等其他信息来改变分布信息中包含的量化之前的点的分布的形状,并且将改变后的形状设置为渲染的形状。
例如,如图15的C所描绘,渲染信息可以包含指示渲染形状的索引(Index,索引)。
此外,渲染信息可以包含例如指示渲染密度的信息,也就是说,在渲染时要渲染的点的数量。渲染信息可以包含例如指示是否渲染与对应于包含在体素数据中的体素的颜色信息片段的数量相同的数量的点、是否渲染预定数量的点、是否渲染由语法指示的数量的点的信息等。
渲染的密度(点的数量)是例如当信息提取部314提取信息时基于由渲染方法设置部343等设置的渲染方法设置的信息。
如图15的D中所描绘,例如,渲染信息可以包含指示渲染密度(点的数量)的索引(Index,索引)。
此外,渲染信息可以包含例如指示渲染的尺寸的信息,也就是说,在渲染时渲染范围的尺寸。
渲染的尺寸是基于例如当信息提取部314提取信息时包含在分布信息中的量化之前的点的分布的尺寸而设置的信息。例如,信息提取部314将包含在分布信息中的量化之前的点的分布的尺寸按照原样设置为渲染的尺寸。替选地,信息提取部314可以基于例如由渲染方法设置部343设置的渲染方法的其他信息来改变分布信息中包含的量化之前的点的分布的尺寸,并且将改变后的尺寸设置为渲染的尺寸。该尺寸可以是三个轴方向共同的尺寸或者与三个轴方向中的每个相对应的尺寸。
如图15的E中所描绘,例如,渲染信息可以包含指示渲染尺寸的索引(Index,索引)。
通过用信号通知这样的渲染信息(将这样的渲染信息提供给解码侧),使得解码侧能够以使得更正确地再现量化之前的分布的方式进行渲染。因此,可以抑制渲染结果的质量的降低。
<编码处理的流程>
将参照图16的流程图描述这种情况下的编码处理的流程的示例。
当开始编码处理时,在步骤S301中,预处理部311对输入的3D数据执行预处理。
在步骤S302中,BB设置部312针对预处理后的3D数据设置边界框。
在步骤S303中,体素化部313对边界框进行体素化。
在步骤S304中,信息提取部314从在直到步骤S303的处理中获取的数据中提取与渲染有关的信息(渲染信息)。
在步骤S305中,八叉树编码部315基于数据结构对在步骤S303中得到的体素数据进行编码,并且生成信号序列。
在步骤S306中,信号序列编码部316对信号序列进行编码。
在步骤S307中,关联部317将在步骤S304中提取的渲染信息作为元数据与在步骤S306中得到的编码数据相关联,并且生成比特流。
在步骤S308中,关联部317将所得到的比特流(包含关于3D数据的编码数据和诸如控制信息的元数据的比特流)输出到编码装置300的外部。
当步骤S308中的处理结束时,编码处理结束。在要编码的对象是例如运动图像的情况下,针对每个帧执行一系列处理。
<体素化处理的流程>
接下来,将参照图17的流程图描述在图16的步骤S303中执行的体素化处理的流程的示例。
当开始体素化处理时,在步骤S321,体素设置部341将体素设置为以设置的边界框为基准的3D数据。
在步骤S322中,分布信息生成部342生成分布信息。
在步骤S323中,渲染方法设置部343设置渲染方法。
在步骤S324中,位置量化部344量化关于3D数据的位置信息,并且生成体素数据。
当步骤S324中的处理结束时,则体素化处理结束,并且处理返回到图16。
通过执行上述一系列处理,编码装置300可以用信号通知渲染信息。因此,解码侧可以以使得更正确地再现量化之前的分布的方式进行渲染。因此,可以抑制渲染结果的质量的降低。
<用信号通知的渲染信息的利用>
解码侧可以基于如上所述由编码侧用信号通知的渲染信息来执行渲染。
换言之,解码侧可以基于渲染信息来渲染体素数据,该渲染信息是与体素数据的渲染有关的信息,该体素数据是通过使用体素量化位置信息得到的并且表示三维结构的3D数据。例如,信息处理装置可以被配置有渲染部,该渲染部基于渲染信息来渲染体素数据,该渲染信息是与体素数据的渲染有关的信息,该体素数据是通过使用体素量化位置信息得到的并且表示三维结构的3D数据。
通过这样做,可以以使得更正确地再现量化之前的点群的分布状态的方式进行渲染,并且因此抑制渲染结果的质量的降低。
<解码装置>
图18是示出作为在这种情况下应用本技术的信息处理装置的一个实施方式的解码装置的主要配置的示例的框图。图18所示的解码装置400是基本上执行与图8的解码装置200所执行的处理类似的处理的装置,解码装置400是与图11的编码装置300相对应的解码装置。解码装置400对例如由编码装置300输出的比特流(包含关于3D数据等的编码数据的比特流)进行解码,并且重构3D数据。此时,解码装置400通过如在下文中所述的应用本技术的方法来执行这样的解码(重构)。
如图18所描绘,解码装置400具有控制部401、信号序列解码部411、八叉树解码部412、体素形状确定部413、渲染部414、显示控制部415和显示部416。
类似于控制部201,控制部401执行与解码装置400内的各个处理部的控制有关的处理。例如,控制部401对由每个处理部进行的处理的执行或跳过(省略)实行控制。例如,控制部401基于预定控制信息来实行这样的控制。通过这样做,控制部201可以例如抑制不必要的处理的执行并且抑制负荷的增加。
尽管控制部401可以采用任何配置,但是控制部401可以具有例如CPU、ROM、RAM等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM以执行该程序来进行处理。
类似于信号序列解码部411,信号序列解码部411在控制部401的控制下执行与比特流的解码有关的处理,该比特流包含关于表示三维结构的3D数据的编码数据(关于通过体素化3D数据得到的体素数据的编码数据)等。3D数据可以是例如点云。
例如,信号序列解码部411获取从编码装置300提供的比特流(箭头421)。另外,例如,信号序列解码部411通过与编码装置300(信号序列编码部316)执行的编码相对应的解码方法,对所获取的比特流中包含的编码数据进行解码。信号序列解码部411将通过对编码数据进行解码得到的信号序列提供给八叉树解码部412(箭头422)。
另外,信号序列解码部411从比特流中提取诸如控制信息的元数据。元数据包含与边界框有关的信息、与分割数有关的信息、上述渲染信息等。信号序列解码部411将元数据(渲染信息等)提供给体素形状确定部413和渲染部414(箭头423)。
注意,尽管信号序列解码部411可以采用任何配置,但是信号序列解码部411可以具有例如CPU、ROM、RAM等,并且CPU将存储在ROM等中的程序和数据加载到RAM中以执行该程序来执行与解码有关的处理。
类似于八叉树解码部212,八叉树解码部412在控制部401的控制下执行与八叉树解码有关的处理。例如,八叉树解码部412获取从信号序列解码部411提供的信号序列(箭头422)。另外,八叉树解码部412基于其数据结构对所获取的信号序列解码(例如,对其执行八叉树解码)。八叉树解码部412将通过解码得到的体素数据提供给体素形状确定部413(箭头424)。
注意,尽管八叉树解码部412可以采用任何配置,但是八叉树解码部412可以具有例如CPU、ROM、RAM等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM以执行该程序来进行与解码有关的处理。
类似于体素形状确定部213,体素形状确定部413在控制部401的控制下执行与每个体素的形状的确定有关的处理。例如,体素形状确定部413获取从八叉树解码部412提供的体素数据。另外,体素形状确定部413获取从信号序列解码部411提供的元数据。
体素形状确定部413基于元数据等来确定每个体素的形状(形式、大小等)。
例如,在元数据包含与边界框的尺寸有关的信息和指示x轴、y轴和z轴的三个轴(彼此垂直的三个轴)共同的分割数的信息的情况下,体素形状确定部413通过在x轴、y轴和z轴的每个方向上通过共同的分割数均等地分割边界框的尺寸来得到(确定)每个体素的形状。换言之,体素形状确定部213基于标准化3D数据的边界框的三个轴共同的分割数来确定每个体素的形状。
替选地,例如在元数据包含与边界框的尺寸有关的信息和指示x轴、y轴和z轴的三个轴(彼此垂直的三个轴)中的每个的分割数(与每个轴对应的分割数)的信息的情况下,体素形状确定部413通过在x轴、y轴和z轴方向中的每个上通过对应的分割数均等地分割边界框的尺寸来得到(确定)每个体素的形状。换言之,体素形状确定部413基于与标准化3D数据的边界框的每个轴相对应的分割数来确定每个体素的形状。
在另一替选实施方式中,例如,在元数据包含与边界框的尺寸有关的信息和关于体素的地图信息(map information)的情况下,体素形状确定部413从地图信息得到(确定)每个体素的形状。换言之,体素形状确定部413基于指示对3D数据进行标准化的边界框的非线性分割的信息来确定每个体素的形状。注意,体素形状确定部413可以根据需要使用与边界框有关的尺寸信息。
体素形状确定部413将如上所述得到的每个体素的形状的确定结果(指示每个体素的形状的信息)与其他数据一起提供给渲染部414(箭头425)。
注意,尽管体素形状确定部413可以采用任何配置,但是体素形状确定部413可以具有例如CPU、ROM、RAM等,并且CPU将存储在ROM等中的程序和数据加载到RAM中以执行该程序来进行与解码有关的处理。
类似于渲染部214,渲染部414在控制部401的控制下执行与渲染有关的处理。例如,渲染部414获取从体素形状确定部413提供的体素数据和指示每个体素的形状的信息(箭头425)。另外,渲染部414获取从信号序列解码部411提供的元数据(箭头423)。
渲染部414基于这样的信息片段,根据渲染信息和每个体素的形状来执行渲染。换言之,渲染部414根据由体素形状确定部413确定的每个体素的形状、和从信号序列解码部411提供的元数据中包含的渲染信息,渲染由体素形状确定部413提供的体素数据。
渲染信息包含参照图15描述的信息。渲染部414设置如何通过直接使用这样的信息片段或者通过适当地组合信息得到新参数来渲染关于每个体素的数据,并且根据设置执行渲染。
例如,在如图15的A的示例那样用信号通知每个体素(Vx,Vy,Vz)的纵横比的情况下,通过将体素纵横比(Vx,Vy,Vz)乘以三个轴共同的尺寸,可以得到每个体素的形状(三个轴方向上的尺寸(Vx×尺寸,Vy×尺寸,Vz×尺寸))。
同样,通过将体素纵横比(Vx,Vy,Vz)乘以与每个轴相对应的尺寸(Sx,Sy,Sz),也可以得到每个体素(Vx×Sx,Vy×Sy,Vz×Sz)的形状。
此外,例如,在如图15的B的示例中那样用信号通知渲染的纵横比(Rx,Ry,Rz)的情况下,可以通过将渲染纵横比(Rx,Ry,Rz)乘以三个轴共同的尺寸来得到渲染的形状(渲染范围)(在三个轴方向上的尺寸(Rx×尺寸,Ry×尺寸,Rz×尺寸))。
此外,可以使用体素纵横比(Vx,Vy,Vz)、渲染纵横比(Rx,Ry,Rz)和三个轴的共同的尺寸的乘积(Vx×Rx×尺寸,Vy×Ry×尺寸,Vz×Rz×尺寸)。
如上所述,渲染部414基于每个体素的形状和渲染信息执行渲染,因此可以通过由编码侧指定的渲染方法执行渲染。因此,例如,如图13的A至D所示,渲染部414可以执行渲染以使得更正确地再现量化之前的点群的分布状态(也就是说,与量化之前的点群的分布状态一致或更接近)。因此,可以抑制渲染结果的质量的降低。
注意,类似于第一实施方式的情况,渲染部414可以执行渲染使得在这样的渲染时,每个渲染结果被内接于体素中。
渲染部414将如上所述得到的渲染结果(也就是说,3D数据)提供给显示控制部215(箭头426)。
注意,尽管渲染部414可以采用任何配置,但是渲染部414可以具有例如CPU、ROM、RAM等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM以执行该程序来执行与解码有关的处理。
类似于显示控制部215,显示控制部415在控制部401的控制下执行与显示控制有关的处理。例如,显示控制部415获取从渲染部414提供的并且指示渲染结果的3D数据(箭头426)。另外,例如,显示控制部415基于3D数据来生成2D显示图像。然后,显示控制部415将显示图像提供给显示部416(箭头427)。
注意,尽管显示控制部415可以采用任何配置,但是显示控制部415可以具有例如CPU、ROM、RAM等,并且CPU可以通过将存储在ROM等中的程序和数据加载到RAM以执行该程序来执行与解码有关的处理。
类似于显示部216,显示部416在控制部401的控制下执行与显示有关的处理。例如,显示部416获取从显示控制部415提供的显示图像(箭头427)。另外,显示部416将所获取的显示图像显示在显示部416所拥有的显示设备上。即,显示部416显示通过渲染部414根据每个体素的形状和渲染信息进行渲染而生成的图像。
通过执行上述处理,可以执行渲染以使得更正确地再现量化之前的点群的分布状态,并且因此,抑制渲染结果的质量的降低。
<解码处理的流程>
将参照图19的流程图描述由如上所述配置的解码装置400执行的解码处理的流程的示例。
当开始解码处理时,在步骤S401中,信号序列解码部411对输入的比特流进行解码,并且得到信号序列。
在步骤S402中,八叉树解码部412基于其数据结构对该信号序列进行解码,并且得到体素数据。
在步骤S403中,体素形状确定部413基于元数据来确定每个体素的形状。
在步骤S404中,渲染部414基于在步骤S403中确定的每个体素的形状和包含在元数据中的渲染信息来执行渲染。
在步骤S405中,显示控制部415使用渲染结果(3D数据)来生成2D显示图像。
在步骤S406中,显示部416将在步骤S405中得到的显示图像进行显示。
在步骤S406中的处理结束时,解码处理结束。例如,在要解码的对象是运动图像的情况下,针对每个帧执行一系列处理。
通过执行上述解码处理,解码装置400可以执行渲染以使得更正确地再现量化之前的点群的分布的状态,并且因此抑制渲染结果的质量的降低。
<4.注意>
<控制信息>
与迄今为止在实施方式中描述的本技术有关的控制信息可以从编码侧被发送到解码侧。例如,可以发送用于控制是否允许(或禁止)应用上述本技术的控制信息(例如,enabled_flag)。替选地,例如,可以发送用于指定允许(或禁止)应用上述本技术的范围(例如,块尺寸、片、图片、序列、分量、视图和层的上限和下限之一或两者)的控制信息。
<计算机>
上述一系列处理可以通过硬件执行或由软件执行。在通过软件来执行一系列处理的情况下,构成软件的程序被安装到计算机中。这里,计算机的类型包括结合到专用硬件中的计算机、以及能够通过将各种程序安装至计算机中来执行各种功能的计算机例如通用个人计算机。
图20是描绘通过程序执行上面描述的一系列处理的计算机的硬件的配置的示例的框图。
在图20中所描绘的计算机900中,CPU(中央处理单元)901、ROM(只读存储器)902和RAM(随机存取存储器)903通过总线904彼此连接。
输入/输出接口910也连接至总线904。输入部911、输出部912、存储部913、通信部914和驱动器915连接至输入/输出接口910。
输入部911由例如键盘、鼠标、麦克风、触摸板以及输入终端配置。输出部912由例如显示器、扬声器以及输出终端配置。存储部913例如由硬盘、RAM盘、非易失性存储器配置。通信部914由例如网络接口配置。驱动器915驱动可移除介质921例如磁盘、光盘、磁光盘或半导体存储器。
在如上所述配置的计算机200中,CPU 901经由输入/输出接口910和总线904将存储在例如存储部913中的程序加载至RAM 903,并且执行该程序,由此执行上述一系列处理。CPU 901执行各种处理所需的数据等也适当地存储在RAM 903中。
可以通过例如将程序记录在作为封装介质等的可移除介质921中来应用由计算机(CPU 901)执行的程序。在这种情况下,可以通过将可移除介质921附接到驱动器915来经由输入/输出接口910将程序安装到存储部913中。
此外,可以经由有线或无线传输介质例如局域网、互联网或数字卫星服务来提供程序。在这种情况下,程序可以由通信部914接收并且被安装到存储部913中。
在另一替选实施方式中,程序可以预先安装至ROM 902或存储部913中。
<现有技术所应用的对象>
尽管以上已经描述了将本技术应用于点云数据的体素化的情况,但是本技术的应用不限于这种情况,并且本技术适用于任何标准下的3D数据的体素化。换言之,在不与上述本技术矛盾的情况下,编码方案、解码方案等中的各种类型的处理以及诸如3D和元数据的各种类型的数据可以具有任何规范。另外,在不与本技术矛盾的情况下,可以省略上述处理和规范的一部分。
此外,本技术适用于任何配置,而编码装置100、解码装置200、编码装置300和解码装置400已经作为本技术所应用的示例在上面被描述。
例如,本技术适用于在卫星广播、有线电视等的有线广播和因特网上分发以及通过蜂窝通信分发到终端中的诸如发射机和接收机(例如,电视接收机和蜂窝电话)的各种电子装置,以及用于在诸如光盘、磁盘和闪存的介质中记录图像并从这样的存储介质再现图像的装置(例如,硬盘记录器和摄像机)。
此外,本技术作为诸如用作***LSI(大规模集成)等的处理器(例如视频处理器)、使用多个处理器等的模块(例如视频模块)、使用多个模块等的单元(例如视频单元)、或通过进一步向该单元添加其他功能而得到的集合(例如,视频集合)的装置的配置的一部分来执行。
例如,本技术也适用于配置有多个装置的网络***。例如,本技术可以作为云计算来实现,该云计算用于使得多个装置以共享或协作的方式经由网络执行处理。例如,本技术可以在用于向诸如计算机、AV(视听)装置、移动信息处理终端或IoT(物联网)设备的任何终端提供与图像(运动图像)相关联的服务的云服务中执行。
注意,在本说明书中,不论所有构成要素是否设置在同一壳体中,***都指多个构成要素(设备、模块(部件)等)的集合。因此,容纳在单独壳体中且经由网络彼此连接的多个设备以及其中多个模块容纳在一个壳体中的一个设备可以各自被称为“***”。
<本技术的适用领域和应用>
应用本技术的***、设备、处理部等可以用于任何领域,例如,运输、医疗、犯罪预防、农业、家畜、采矿、美容、工厂、消费电子、天气和自然监测的领域。另外,这样的***、装置、处理部等可以用于任何应用中。
例如,本技术适用于用于提供收听和观看内容等的***或装置。另外,本技术适用于例如用于诸如交通状况的监视和自主驾驶控制的运输的***或装置。此外,本技术适用于例如用于安全的***或装置。此外,本技术适用于例如用于对机器等进行自动控制的***或装置。此外,本技术适用于例如用于农业和畜牧业的***或装置。此外,本技术适用于例如用于监视诸如火山、森林和海洋、野生动物等的自然状态的***或装置。此外,本技术适用于例如用于运动的***或装置。
<其他方面>
注意,在本说明书中,“标志”是用于识别多个状态的信息,并且不仅包括在识别真(1)和假(0)这两个状态时使用的信息,而且包括能够识别三个或更多个状态的信息。因此,“标志”可能取的值可以是二进制的,例如1或0,或者可以是三或更多值。换言之,构成“标志”的位的数量可以是任何数量,并且可以是一个或者可以是两个或更多个。此外,不仅假定在比特流中包含识别信息(包括标志)的形式,而且假定包含关于针对在比特流中形成特定基础的信息的识别信息的差异信息的形式;因此,在本说明书中,“标志”或“识别信息”不仅包括信息,而且包括针对形成基础的信息的差异信息。
此外,与编码数据(比特流)有关的各种信息(例如元数据)可以以任何形式发送或记录,只要各种信息与编码数据相关联即可。术语“关联”在这里意味着例如允许在处理一个数据时使用(链接)其他数据。换言之,彼此相关联的数据可以被编译为一个数据或单独的数据片段。例如,与编码数据(图像)相关联的信息可以在与用于发送编码数据(图像)的传输线不同的传输线上发送。此外,例如,可以将与编码数据(图像)相关联的信息记录在与记录有编码数据(图像)的记录介质不同的记录介质中(或同一记录介质中的不同记录区域中)。注意,“关联”可以不是整体数据的关联,而可以是部分数据的关联。例如,图像与对应于图像的信息可以在诸如多个帧、一个帧或帧的一部分的任何单元中彼此相关联。
注意,在本说明书中,诸如“组合”、“复用”、“添加”、“集成”、“包含/包括”、“存储”、“合并”、“***”和“***”的术语意味着将多个事物编译成一个,例如,将编码数据和元数据编译成一个数据,并且意味着用于上述“关联”的一种方法。
此外,本技术的实施方式不限于上述实施方式,并且可以在不脱离本技术的精神的情况下进行各种改变。
例如,被描述为一个设备(或一个处理部)的配置可以被划分且配置为多个设备(或处理部)。相反,上面描述为多个设备(或处理部)的配置可以被集成并配置为一个设备(或一个处理部)。此外,不用说,可以将除了上述每个设备(或每个处理部)之外的配置添加到每个设备(或每个处理部)的配置中。此外,如果配置或操作与整个***基本相同,则某个设备(或某个处理部)的配置的一部分可以包括在其他设备(或其他处理部)的配置中。
此外,上述程序可以由例如任何设备执行。在这种情况下,该设备可以被配置有能够得到必要信息的必要的功能。
此外,一个流程图中的每个步骤可以例如由一个设备执行或者由多个设备以共享的方式执行。此外,在一个步骤包括多种类型的处理的情况下,多种类型的处理可以由一个设备执行,或者由多个设备以共享的方式执行。换言之,包括在一个步骤中的多个处理可以作为多个步骤的处理来执行。相反,描述为多个步骤的处理可以集成到一个步骤中并共同执行。
此外,由计算机执行的程序可以被配置为例如使得描述程序的步骤中的一系列处理以本说明书中描述的顺序按时间序列执行,或者并行地或者在诸如调用的定时的必要定时处单独执行。换言之,除非出现矛盾,否则可以以与上述顺序不同的顺序来执行步骤中的一系列处理。此外,描述该程序的步骤的处理可以与其他程序的处理并行执行,或者可以与其他程序的处理组合执行。
此外,除非出现矛盾,否则可以独立地且单独地执行与本技术有关的多个本技术。不用说,可以组合多个现有技术来执行。例如,在任何实施方式中描述的本技术的一部分或全部可以与在另一实施方式中描述的本技术的一部分或全部组合,并且可以执行该组合。此外,上述任何现有技术中的一部分或全部可以与上述未描述的其他技术组合,并且可以执行这些技术的组合。
注意,本技术可以被如下配置。
(1)一种信息处理装置,包括:
渲染部,其根据每个体素的形状对体素数据执行渲染,所述体素数据包括通过使用体素量化位置信息得到的并且表示三维结构的3D数据。
(2)根据(1)所述的信息处理装置,其中,
所述渲染部执行渲染使得渲染图像被内接于每个体素中。
(3)根据(1)或(2)所述的信息处理装置,还包括:
形状确定部,其确定每个体素的形状,其中,
所述渲染部根据由所述形状确定部确定的每个体素的形状执行渲染。
(4)根据(3)所述的信息处理装置,其中,
所述形状确定部基于标准化所述3D数据的边界框的三个轴共同的分割数来确定每个体素的形状。
(5)根据(3)或(4)所述的信息处理装置,其中,
所述形状确定部基于与标准化所述3D数据的边界框的每个轴相对应的分割数来确定每个体素的形状。
(6)根据(3)或(4)所述的信息处理装置,其中,
所述形状确定部基于指示标准化所述3D数据的边界框的非线性分割的信息来确定每个体素的形状。
(7)根据(1)至(6)中任一项所述的信息处理装置,还包括:
解码部,其对关于所述体素数据的编码数据进行解码,其中,
所述渲染部根据每个体素的形状对通过由所述解码部对所述编码数据进行解码得到的体素数据执行渲染。
(8)根据(1)至(7)中任一项所述的信息处理装置,还包括:
显示部,其显示通过由所述渲染部执行渲染而生成的图像。
(9)根据(1)至(8)中任一项所述的信息处理装置,其中,
所述3D数据包括点云。
(10)一种信息处理方法,包括:
根据每个体素的形状对体素数据执行渲染,所述体素数据包括通过使用体素量化位置信息得到的并且表示三维结构的3D数据。
(11)一种信息处理装置,包括:
比特流生成部,其生成包含关于体素数据的编码数据和渲染信息的比特流,所述体素数据包括通过使用体素量化位置信息得到的并且表示三维结构的3D数据,所述渲染信息包括与所述体素数据的渲染有关的信息。
(12)根据(11)所述的信息处理装置,其中,
所述渲染信息包含体素形状信息,所述体素形状信息包括与每个体素的形状有关的信息。
(13)根据(12)所述的信息处理装置,其中,
所述体素形状信息包含指示每个体素的纵横比的信息。
(14)根据(12)或(13)所述的信息处理装置,其中,
所述体素形状信息包含指示每个体素的尺寸的信息。
(15)根据(11)至(14)中任一项所述的信息处理装置,其中,
所述渲染信息包含指示渲染范围的纵横比的信息。
(16)根据(11)至(15)中任一项所述的信息处理装置,其中,
所述渲染信息包含指示渲染范围的形状的信息。
(17)根据(11)至(16)中任一项所述的信息处理装置,其中,
所述渲染信息包含指示要渲染的点的数量的信息。
(18)根据(11)至(17)中任一项所述的信息处理装置,还包括:
渲染信息生成部,其生成所述渲染信息,其中,
所述比特流生成部被配置成生成包含由所述渲染信息生成部生成的渲染信息的比特流。
(19)根据(18)所述的信息处理装置,还包括:
渲染方法设置部,其设置渲染方法,其中,
所述渲染信息生成部被配置成生成与由所述渲染方法设置部设置的渲染方法相对应的渲染信息。
(20)根据(18)或(19)所述的信息处理装置,还包括:
体素设置部,其设置用于量化关于所述3D数据的位置信息的体素,其中,
所述渲染信息生成部被配置成生成与由所述体素设置部设置的每个体素的形状相对应的渲染信息。
(21)根据(20)所述的信息处理装置,还包括:
位置量化部,其使用由所述体素设置部设置的体素通过量化关于所述3D数据的位置信息来生成所述体素数据,其中,
所述比特流生成部被配置成生成包含关于由所述位置量化部生成的体素数据的编码数据的比特流。
(22)根据(20)或(21)所述的信息处理装置,还包括:
边界框设置部,其设置对关于所述3D数据的位置信息进行标准化的边界框,其中,
体素设置部,其被配置成参考通过所述边界框设置部设置的边界框来设置用于量化所述位置信息的体素。
(23)根据(11)至(22)中任一项所述的信息处理装置,还包括:
编码部,其对所述体素数据进行编码以生成编码数据,其中,
所述比特流生成部被配置成生成包含由所述编码部生成的编码数据的比特流。
(24)根据(11)至(23)中任一项所述的信息处理装置,其中,
所述3D数据包括点云。
(25)一种信息处理方法,包括:
生成包含关于体素数据的编码数据和渲染信息的比特流,所述体素数据包括通过使用体素量化位置信息得到的并且表示三维结构的3D数据,所述渲染信息包括与所述体素数据的渲染有关的信息。
(31)一种信息处理装置,包括:
渲染部,其基于渲染信息对体素数据执行渲染,所述渲染信息包括与体素数据的渲染有关的信息,所述体素数据包括通过使用体素量化位置信息得到的并且表示三维结构的3D数据。
(32)根据(31)所述的信息处理装置,其中,
所述渲染信息包含体素形状信息,所述体素形状信息包括与每个体素的形状有关的信息,以及
所述渲染部被配置成基于所述体素形状信息来执行渲染。
(33)根据(32)所述的信息处理装置,其中,
所述体素形状信息包含指示每个体素的纵横比的信息,以及
所述渲染部基于由所述信息指示的每个体素的纵横比来执行渲染。
(34)根据(32)或(33)所述的信息处理装置,其中,
所述体素形状信息包含指示每个体素的尺寸的信息,以及
所述渲染部基于由所述信息指示的每个体素的尺寸来执行渲染。
(35)根据(31)至(34)中任一项所述的信息处理装置,其中,
所述渲染信息包含指示渲染范围的纵横比的信息,以及
所述渲染部根据由所述信息指示的渲染范围的纵横比来执行渲染。
(36)根据(31)至(35)中任一项所述的信息处理装置,其中,
所述渲染信息包含指示渲染范围的形状的信息,以及
所述渲染部根据由所述信息指示的渲染范围的形状执行渲染。
(37)根据(31)至(36)中任一项所述的信息处理装置,其中,
所述渲染信息包含指示要渲染的点的数量的信息。
所述渲染部通过与所述信息所指示的一样多的点的数量来执行渲染。
(38)根据(31)至(37)中任一项所述的信息处理装置,还包括:
解码部,其对关于所述体素数据的编码数据进行解码,其中,
所述渲染部对通过由所述解码部对编码数据进行解码得到的体素数据执行渲染。
(39)根据(38)所述的信息处理装置,其中,
所述解码部对包含在比特流中的编码数据进行解码,以及
所述渲染部基于包含在所述比特流中的渲染信息对通过由所述解码部对所述编码数据进行解码得到的体素数据执行渲染。
(40)根据(31)至(39)中任一项所述的信息处理装置,还包括:
形状确定部,其基于所述渲染信息来确定每个体素的形状,其中,
所述渲染部根据所述渲染信息和由所述形状确定部确定的每个体素的形状执行渲染。
(41)根据(31)至(40)中任一项所述的信息处理装置,还包括:
显示部,其显示通过由所述渲染部执行的渲染生成的图像。
(42)根据(31)至(41)中任一项所述的信息处理装置,其中,
所述3D数据包括点云。
(43)一种信息处理方法,包括:
基于渲染信息对体素数据执行渲染,所述渲染信息包括与体素数据的渲染有关的信息,所述体素数据包括通过使用体素量化位置信息得到的并且表示三维结构的3D数据。
[附图标记列表]
100编码装置,101控制部,111预处理部,112BB设置部,113体素化部,114八叉树编码部,115信号序列编码部,200解码装置,201控制部,211信号序列解码部,212八叉树解码部,213体素形状确定部,214渲染部,215显示控制部,216显示部,300编码装置,311预处理部,312BB设置部,313体素化部,314信息提取部,315八叉树编码部,316编码信号序列,317关联部,341体素设置部,342分布信息生成部,343渲染方法设置部,344位置量化部,400解码装置,411信号序列解码部,412八叉树解码部,413体素形状确定部,414渲染部,415显示控制部,416显示部
Claims (20)
1.一种信息处理装置,包括:
渲染部,其根据每个体素的形状对体素数据执行渲染,所述体素数据包括通过使用体素量化位置信息得到的并且表示三维结构的3D数据。
2.根据权利要求1所述的信息处理装置,其中,
所述渲染部执行所述渲染使得渲染的图像被内接于每个体素中。
3.根据权利要求1所述的信息处理装置,还包括:
形状确定部,其确定每个体素的形状,其中,
所述渲染部根据由所述形状确定部确定的每个体素的形状执行所述渲染。
4.根据权利要求3所述的信息处理装置,其中,
所述形状确定部基于标准化所述3D数据的边界框的三个轴共同的分割数来确定每个体素的形状。
5.根据权利要求3所述的信息处理装置,其中,
所述形状确定部基于与标准化所述3D数据的边界框的每个轴相对应的分割数来确定每个体素的形状。
6.根据权利要求3所述的信息处理装置,其中,
所述形状确定部基于指示标准化所述3D数据的边界框的非线性分割的信息来确定每个体素的形状。
7.一种信息处理方法,包括:
根据每个体素的形状对体素数据执行渲染,所述体素数据包括通过使用体素量化位置信息得到的并且表示三维结构的3D数据。
8.一种信息处理装置,包括:
比特流生成部,其生成包含关于体素数据的编码数据和渲染信息的比特流,所述体素数据包括通过使用体素量化位置信息得到的并且表示三维结构的3D数据,所述渲染信息包括与所述体素数据的渲染有关的信息。
9.根据权利要求8所述的信息处理装置,其中,
所述渲染信息包含体素形状信息,所述体素形状信息包括与每个体素的形状有关的信息。
10.根据权利要求9所述的信息处理装置,其中,
所述体素形状信息包含指示每个体素的纵横比的信息。
11.根据权利要求9所述的信息处理装置,其中,
所述体素形状信息包含指示每个体素的尺寸的信息。
12.根据权利要求8所述的信息处理装置,其中,
所述渲染信息包含指示渲染范围的纵横比的信息。
13.根据权利要求8所述的信息处理装置,其中,
所述渲染信息包含指示渲染范围的形状的信息。
14.根据权利要求8所述的信息处理装置,其中,
所述渲染信息包含指示要渲染的点数的信息。
15.根据权利要求8所述的信息处理装置,还包括:
渲染信息生成部,其生成所述渲染信息,其中,
所述比特流生成部被配置成生成包含由所述渲染信息生成部生成的所述渲染信息的比特流。
16.根据权利要求15所述的信息处理装置,还包括:
渲染方法设置部,其设置所述渲染的方法,其中,
所述渲染信息生成部被配置成生成与由所述渲染方法设置部设置的所述渲染的方法相对应的所述渲染信息。
17.一种信息处理方法,包括:
生成包含关于体素数据的编码数据和渲染信息的比特流,所述体素数据包括通过使用体素量化位置信息得到的并且表示三维结构的3D数据,所述渲染信息包括与所述体素数据的渲染有关的信息。
18.一种信息处理装置,包括:
渲染部,其基于渲染信息对体素数据执行渲染,所述渲染信息包括与所述体素数据的渲染有关的信息,所述体素数据包括通过使用体素量化位置信息得到的并且表示三维结构的3D数据。
19.根据权利要求18所述的信息处理装置,还包括:
形状确定部,其基于所述渲染信息来确定每个体素的形状,其中,
所述渲染部根据所述渲染信息和由所述形状确定部确定的每个体素的形状执行所述渲染。
20.一种信息处理方法,包括:
基于渲染信息对体素数据执行渲染,所述渲染信息包括与所述体素数据的渲染有关的信息,所述体素数据包括通过使用体素量化位置信息得到的并且表示三维结构的3D数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018004667 | 2018-01-16 | ||
JP2018-004667 | 2018-01-16 | ||
PCT/JP2019/000050 WO2019142665A1 (ja) | 2018-01-16 | 2019-01-07 | 情報処理装置および方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111727461A true CN111727461A (zh) | 2020-09-29 |
Family
ID=67301765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980007871.7A Pending CN111727461A (zh) | 2018-01-16 | 2019-01-07 | 信息处理装置和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11227436B2 (zh) |
CN (1) | CN111727461A (zh) |
WO (1) | WO2019142665A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116052109A (zh) * | 2023-03-06 | 2023-05-02 | 安徽蔚来智驾科技有限公司 | 点云特征获取方法、目标检测方法、设备、介质及车辆 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110662087B (zh) * | 2018-06-30 | 2021-05-11 | 华为技术有限公司 | 点云编解码方法和编解码器 |
WO2020045590A1 (ja) * | 2018-08-30 | 2020-03-05 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
WO2020162542A1 (ja) * | 2019-02-06 | 2020-08-13 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、および、三次元データ復号装置 |
JPWO2021261237A1 (zh) * | 2020-06-22 | 2021-12-30 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1139512A (ja) * | 1997-07-17 | 1999-02-12 | Matsushita Electric Ind Co Ltd | 図形処理装置及び図形処理方法 |
US20060290695A1 (en) * | 2001-01-05 | 2006-12-28 | Salomie Ioan A | System and method to obtain surface structures of multi-dimensional objects, and to represent those surface structures for animation, transmission and display |
CN101022565A (zh) * | 2007-02-15 | 2007-08-22 | 浙江大学 | 体三维显示中体素均匀分布的实现方法 |
CN101042775A (zh) * | 2007-04-03 | 2007-09-26 | 浙江大学 | 体三维显示中的体素数据生成方法 |
JP2008262493A (ja) * | 2007-04-13 | 2008-10-30 | Sony Corp | 情報処理装置および情報処理方法、プログラム、並びに、記録媒体 |
CN102521872A (zh) * | 2011-10-28 | 2012-06-27 | 北京航空航天大学 | 一种面向虚拟装配的基于粒子的晶格形状匹配变形方法 |
CN103236058A (zh) * | 2013-04-25 | 2013-08-07 | 内蒙古科技大学 | 获取四维心脏图像感兴趣体积的方法 |
WO2016142787A1 (en) * | 2015-03-12 | 2016-09-15 | Happy L-Lord AB | System, method and device for three-dimensional voxel-based modeling |
CN106408568A (zh) * | 2016-07-27 | 2017-02-15 | 广州大学 | 一种大尺度dti图像的快速准确的分割方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3462373A1 (en) * | 2017-10-02 | 2019-04-03 | Promaton Holding B.V. | Automated classification and taxonomy of 3d teeth data using deep learning methods |
-
2019
- 2019-01-07 US US16/960,256 patent/US11227436B2/en active Active
- 2019-01-07 CN CN201980007871.7A patent/CN111727461A/zh active Pending
- 2019-01-07 WO PCT/JP2019/000050 patent/WO2019142665A1/ja active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1139512A (ja) * | 1997-07-17 | 1999-02-12 | Matsushita Electric Ind Co Ltd | 図形処理装置及び図形処理方法 |
US20060290695A1 (en) * | 2001-01-05 | 2006-12-28 | Salomie Ioan A | System and method to obtain surface structures of multi-dimensional objects, and to represent those surface structures for animation, transmission and display |
CN101022565A (zh) * | 2007-02-15 | 2007-08-22 | 浙江大学 | 体三维显示中体素均匀分布的实现方法 |
CN101042775A (zh) * | 2007-04-03 | 2007-09-26 | 浙江大学 | 体三维显示中的体素数据生成方法 |
JP2008262493A (ja) * | 2007-04-13 | 2008-10-30 | Sony Corp | 情報処理装置および情報処理方法、プログラム、並びに、記録媒体 |
CN102521872A (zh) * | 2011-10-28 | 2012-06-27 | 北京航空航天大学 | 一种面向虚拟装配的基于粒子的晶格形状匹配变形方法 |
CN103236058A (zh) * | 2013-04-25 | 2013-08-07 | 内蒙古科技大学 | 获取四维心脏图像感兴趣体积的方法 |
WO2016142787A1 (en) * | 2015-03-12 | 2016-09-15 | Happy L-Lord AB | System, method and device for three-dimensional voxel-based modeling |
CN106408568A (zh) * | 2016-07-27 | 2017-02-15 | 广州大学 | 一种大尺度dti图像的快速准确的分割方法 |
Non-Patent Citations (2)
Title |
---|
刘伟: "散乱点云数据的拼接技术研究", pages 40 - 49 * |
钱民等: "3D腹部多排电子计算机断层扫描医学图像的非线性扩散滤波分析", 《医疗卫生装备》, vol. 36, no. 06, pages 4 - 7 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116052109A (zh) * | 2023-03-06 | 2023-05-02 | 安徽蔚来智驾科技有限公司 | 点云特征获取方法、目标检测方法、设备、介质及车辆 |
Also Published As
Publication number | Publication date |
---|---|
WO2019142665A8 (ja) | 2020-09-03 |
US11227436B2 (en) | 2022-01-18 |
US20210065445A1 (en) | 2021-03-04 |
WO2019142665A1 (ja) | 2019-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102596507B1 (ko) | 화상 처리 장치 및 방법 | |
KR20200026196A (ko) | 정보 처리 장치 및 방법 | |
CN111727461A (zh) | 信息处理装置和方法 | |
JPWO2019198523A1 (ja) | 画像処理装置および方法 | |
JPWO2020012967A1 (ja) | 画像処理装置および方法 | |
KR20200058398A (ko) | 정보 처리 장치 및 방법 | |
US20220414940A1 (en) | Information processing apparatus and method | |
US11922579B2 (en) | Image processing apparatus and method for image processing by deriving voxel and mesh data to generate point cloud data | |
CN114128282A (zh) | 信息处理装置和方法 | |
WO2023132919A1 (en) | Scalable framework for point cloud compression | |
KR20220122995A (ko) | 정보 처리 장치 및 방법 | |
US11917201B2 (en) | Information processing apparatus and information generation method | |
US11790602B2 (en) | Information processing device and method | |
WO2023172703A1 (en) | Geometry point cloud coding | |
AU2019353279A1 (en) | Image processing device and method | |
US12015777B2 (en) | Signaling profile level exemptions for immersive video | |
US20230179797A1 (en) | Image processing apparatus and method | |
WO2021010134A1 (ja) | 情報処理装置および方法 | |
KR20230125186A (ko) | 정보 처리 장치 및 방법 | |
US11790567B2 (en) | Information processing apparatus and method | |
US20230177735A1 (en) | Information processing apparatus and method | |
US20220303578A1 (en) | Image processing apparatus and method | |
WO2022075074A1 (ja) | 画像処理装置および方法 | |
US20230370636A1 (en) | Image processing device and method | |
US20220353493A1 (en) | Information processing apparatus and method |
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 |