RU2788439C2 - Method and device for generation of points of three-dimensional (3d) scene - Google Patents
Method and device for generation of points of three-dimensional (3d) scene Download PDFInfo
- Publication number
- RU2788439C2 RU2788439C2 RU2020115158A RU2020115158A RU2788439C2 RU 2788439 C2 RU2788439 C2 RU 2788439C2 RU 2020115158 A RU2020115158 A RU 2020115158A RU 2020115158 A RU2020115158 A RU 2020115158A RU 2788439 C2 RU2788439 C2 RU 2788439C2
- Authority
- RU
- Russia
- Prior art keywords
- depth
- points
- point
- pixel
- scene
- Prior art date
Links
- 238000005516 engineering process Methods 0.000 abstract description 3
- 239000000126 substance Substances 0.000 abstract 1
- 230000000875 corresponding Effects 0.000 description 37
- 238000000034 method Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 6
- 239000000203 mixture Substances 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 102100003963 ENC1 Human genes 0.000 description 4
- 101700063942 ENC1 Proteins 0.000 description 4
- 102100016745 BHLHE40 Human genes 0.000 description 3
- 101710039834 BHLHE40 Proteins 0.000 description 3
- 101710011667 DELEC1 Proteins 0.000 description 3
- 101700031271 NAA25 Proteins 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 230000003287 optical Effects 0.000 description 3
- 229920001690 polydopamine Polymers 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 102100007091 BHLHE41 Human genes 0.000 description 2
- 101710039981 BHLHE41 Proteins 0.000 description 2
- 235000019013 Viburnum opulus Nutrition 0.000 description 2
- 240000008093 Viburnum opulus Species 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001413 cellular Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 101710022552 OPN1MW Proteins 0.000 description 1
- 101710008425 OPN1MW2 Proteins 0.000 description 1
- 102100001775 OPN1MW2 Human genes 0.000 description 1
- 101710008426 OPN1MW3 Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006011 modification reaction Methods 0.000 description 1
- 230000000051 modifying Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000001902 propagating Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Abstract
Description
1. ОБЛАСТЬ ТЕХНИКИ1. FIELD OF TECHNOLOGY
Настоящий документ относится к области обработки трехмерной (3D) сцены. В частности, но не исключительно, область техники настоящего изобретения относится к обработке точек в облаке точек, представляющем собой геометрию и/или структуру трехмерной сцены или ее части, например, геометрию и/или структуру трехмерного объекта. Область техники настоящего изобретения также может относиться к кодированию/декодированию данных трехмерного изображения, использующего схему проекции структуры и глубины.This document relates to the field of three-dimensional (3D) scene processing. In particular, but not exclusively, the field of technology of the present invention relates to the processing of points in a point cloud, which is the geometry and/or structure of a three-dimensional scene or part thereof, for example, the geometry and/or structure of a three-dimensional object. The technical field of the present invention may also relate to the encoding/decoding of 3D image data using a structure and depth projection scheme.
2. УРОВЕНЬ ТЕХНИКИ2. STATE OF THE ART
Этот раздел предназначен для ознакомления читателя с различными аспектами данной области техники, которые могут относиться к различным аспектам настоящего документа, которые описаны и/или заявлены ниже. Предполагается, что польза этого обсуждения состоит в предоставлении читателю справочной информации для обеспечения более полного понимания различных аспектов настоящего изобретения. Соответственно, эти утверждения следует понимать в этом свете, а не как признание предшествующего уровня техники.This section is intended to familiarize the reader with various aspects of the art that may relate to various aspects of this document, which are described and/or claimed below. It is intended that the benefit of this discussion is to provide the reader with background information to provide a more complete understanding of the various aspects of the present invention. Accordingly, these statements are to be understood in that light and not as an admission of prior art.
Хорошо известно представление 3D объекта с помощью облака точек или сетки.It is well known to represent a 3D object using a point cloud or grid.
Сетка содержит элементы сетки (например, треугольники), каждый из которых представлен вершинами и ребрами, соединяющими вершины. Сетка обычно предназначена для представления внешней поверхности трехмерного объекта.A mesh contains mesh elements (like triangles), each of which is represented by vertices and edges connecting the vertices. A mesh is usually intended to represent the outer surface of a 3D object.
Облако точек является набором точек, которые обычно предназначены для представления внешней поверхности трехмерного объекта, но также и для более сложных геометрий, таких как волосы, мех, которые не могут быть эффективно представлены с помощью других форматов данных, таких как сетки. Каждая точка облака точек часто определяется трехмерным пространственным местоположением (координаты X, Y и Z в трехмерном пространстве) и, возможно, другими соответствующими атрибутами, такими как, например, цвет, представленный в цветовом пространстве RGB или YUV, прозрачность, коэффициент отражения, двухкомпонентный вектор нормали и т. д. Можно рассматривать облако цветных точек, то есть набор 6-компонентных точек (X, Y, Z, R, G, B) или, эквивалентно, (X, Y, Z, Y, U, V), где (X, Y, Z) определяет пространственное местоположение точки в трехмерном пространстве, а (R, G, B) или (Y, U, V) определяет цвет или текстуру этой точки.A point cloud is a set of points that are usually intended to represent the outer surface of a 3D object, but also for more complex geometries such as hair and fur that cannot be represented efficiently with other data formats such as meshes. Each point in a point cloud is often defined by a 3D spatial location (X, Y, and Z coordinates in 3D space) and possibly other relevant attributes such as, for example, color represented in RGB or YUV color space, transparency, reflectance, two-component vector normals, etc. One can consider a cloud of colored points, that is, a set of 6-component points (X, Y, Z, R, G, B) or, equivalently, (X, Y, Z, Y, U, V), where (X, Y, Z) specifies the spatial location of a point in 3D space, and (R, G, B) or (Y, U, V) specifies the color or texture of that point.
Облако точек может быть представлено с помощью текстуры и проекций глубины, соответствующих представлению облака точек на основе изображения.A point cloud can be represented using texture and depth projections corresponding to an image-based point cloud representation.
После сжатия по глубине некоторые точки трехмерной сцены могут быть реконструированы ошибочно или просто отсутствовать, что приводит к появлению дырок в трехмерной сцене, которые могут быть видны из точки обзора.After depth compression, some points in the 3D scene may be reconstructed erroneously or simply missing, resulting in holes in the 3D scene that can be seen from the viewpoint.
3. СУЩНОСТЬ ИЗОБРЕТЕНИЯ3. SUMMARY OF THE INVENTION
Ссылки в описании на «один вариант осуществления», «вариант осуществления», «иллюстративный вариант осуществления», «конкретный вариант осуществления» указывают, что описанный вариант осуществления может включать в себя конкретный признак, структуру или характеристику, но каждый вариант осуществления не обязательно может включать в себя конкретный признак, структуру или характеристику. Более того, такие фразы не обязательно относятся к одному и тому же варианту осуществления. Кроме того, когда конкретный признак, структура или характеристика описывается применительно к одному варианту осуществления, предполагается, что специалисту в данной области техники известно, что это влияет на такой признак, структуру или характеристику применительно к другим вариантам осуществления, независимо от того, описано ли это явно.References in the description to "one embodiment", "an embodiment", "an exemplary embodiment", "a specific embodiment" indicate that the described embodiment may include a particular feature, structure, or characteristic, but each embodiment may not necessarily include a specific feature, structure, or characteristic. Moreover, such phrases do not necessarily refer to the same embodiment. In addition, when a particular feature, structure, or characteristic is described in relation to one embodiment, it is assumed that one skilled in the art is aware that it affects such feature, structure, or characteristic in relation to other embodiments, whether or not described. obviously.
Настоящий документ относится к способу генерации точек трехмерной сцены из изображения глубины, причем способ содержит этапы, на которых:The present document relates to a method for generating 3D scene points from a depth image, the method comprising the steps of:
- для текущего пикселя изображения глубины сравнивают информацию о глубине, ассоциированную с текущим пикселем, с информацией о глубине, ассоциированной с пикселями, пространственно смежными с текущим пикселем на изображении глубины;- for the current depth image pixel, comparing the depth information associated with the current pixel with the depth information associated with pixels spatially adjacent to the current pixel in the depth image;
- когда разность глубин между текущим пикселем и смежным пикселем больше первого значения и меньше второго значения, генерируют по меньшей мере одну дополнительную точку трехмерной сцены в дополнение к текущей точке, ассоциированной с текущим пикселем изображения глубины, при этом число дополнительных точек зависит от этой разности.- when the depth difference between the current pixel and the adjacent pixel is greater than the first value and less than the second value, at least one additional point of the three-dimensional scene is generated in addition to the current point associated with the current pixel of the depth image, while the number of additional points depends on this difference.
Настоящий документ также относится к устройству, выполненному с возможностью генерации точек трехмерной сцены из изображения глубины, при этом устройство содержит память, связанную по меньшей мере с одним процессором, выполненным с возможностью:The present document also relates to a device capable of generating 3D scene points from a depth image, the device comprising a memory associated with at least one processor configured to:
- для текущего пикселя изображения глубины сравнения информации о глубине, ассоциированной с текущим пикселем, с информацией о глубине, ассоциированной с пикселями, пространственно смежными с текущим пикселем на изображении глубины;- for the current pixel of the depth image, comparing the depth information associated with the current pixel with the depth information associated with pixels spatially adjacent to the current pixel in the depth image;
- когда разность глубин между текущим пикселем и смежным пикселем больше первого значения и меньше второго значения, генерации по меньшей мере одной дополнительной точки трехмерной сцены в дополнение к текущей точке, ассоциированной с текущим пикселем изображения глубины, при этом число дополнительных точек зависит от разности.- when the depth difference between the current pixel and the adjacent pixel is greater than the first value and less than the second value, generating at least one additional point of the three-dimensional scene in addition to the current point associated with the current pixel of the depth image, while the number of additional points depends on the difference.
Настоящий документ также относится к устройству, выполненному с возможностью генерации точек трехмерной сцены из изображения глубины, при этом устройство содержит:This document also relates to a device capable of generating 3D scene points from a depth image, the device comprising:
- средство для сравнения для текущего пикселя изображения глубины информации о глубине, ассоциированной с текущим пикселем, с информацией о глубине, ассоциированной с пикселями, пространственно смежными с текущим пикселем на изображении глубины;means for comparing, for the current pixel of the depth image, the depth information associated with the current pixel with the depth information associated with pixels spatially adjacent to the current pixel in the depth image;
- средство для генерации по меньшей мере одной дополнительной точки трехмерной сцены в дополнение к текущей точке, ассоциированной с текущим пикселем изображения глубины, когда разность глубин между текущим пикселем и смежным пикселем больше первого значения и меньше второе значение, при этом число дополнительных точек зависит от этой разности.- means for generating at least one additional point of the three-dimensional scene in addition to the current point associated with the current pixel of the depth image, when the depth difference between the current pixel and the adjacent pixel is greater than the first value and less than the second value, while the number of additional points depends on this differences.
В соответствии с одной характеристикой выбирается смежный пиксель, имеющий наибольшую разность глубин с текущим пикселем, среди смежных пикселей, имеющих разность глубин с текущим пикселем, лежащую между первым значением и вторым значением, при этом число сгенерированных дополнительных точек зависит от самой большой разности глубин.In accordance with one characteristic, an adjacent pixel is selected having the largest depth difference with the current pixel, among adjacent pixels having a depth difference with the current pixel lying between the first value and the second value, while the number of additional points generated depends on the largest depth difference.
В соответствии с одной конкретной характеристикой с точкой трехмерной сцены ассоциирована единица объема, при этом разность глубин соответствует некоторому числу единиц объема, а число сгенерированных точек соответствует разности глубин минус 1.In accordance with one particular characteristic, a volume unit is associated with a point in a 3D scene, with a depth difference corresponding to a certain number of volume units, and the number of generated points corresponding to a depth difference minus 1.
В соответствии с другой характеристикой определяются атрибуты, которые должны быть ассоциированы по меньшей мере с одной дополнительной точкой, при этом атрибуты определяются по атрибутам, ассоциированным с текущей точкой и смежным пикселем.In accordance with another characteristic, attributes are determined to be associated with at least one additional point, the attributes being determined from the attributes associated with the current point and adjacent pixel.
В соответствии с одной дополнительной характеристикой атрибуты, которые должны быть ассоциированы по меньшей мере с одной дополнительной точкой, содержат информацию о глубине и/или информацию о текстуре.In accordance with one additional characteristic, the attributes to be associated with at least one additional point contain depth information and/or texture information.
В соответствии с дополнительной характеристикой изображение глубины декодируется из принятого битового потока.According to an additional characteristic, the depth image is decoded from the received bitstream.
В соответствии с другой характеристикой точки трехмерной сцены являются частью облака точек.According to another characteristic, the points of a 3D scene are part of a point cloud.
Настоящий документ также относится к компьютерному программному продукту, содержащему инструкции программного кода для выполнения по меньшей мере одним процессором вышеупомянутого способа генерирования точек трехмерной сцены из изображения глубины, когда программа выполняется на компьютере.The present document also relates to a computer program product containing program code instructions for at least one processor to execute the above method for generating 3D scene points from a depth image when the program is executed on a computer.
Настоящий документ также относится к процессорно-читаемому носителю (долговременного хранения), хранящему инструкции, вызывающие выполнение процессором по меньшей мере вышеупомянутого способа генерации точек трехмерной сцены из изображения глубины.The present document also relates to a processor-readable medium (non-volatile storage) storing instructions causing a processor to execute at least the above-mentioned method for generating 3D scene points from a depth image.
4. СПИСОК ЧЕРТЕЖЕЙ4. LIST OF DRAWINGS
Настоящий документ будет более понятен, и другие конкретные особенности и преимущества станут понятны после прочтения следующего описания, причем описание ссылается на прилагаемые чертежи, на которых:This document will be better understood, and other specific features and advantages will become clear after reading the following description, and the description refers to the accompanying drawings, in which:
- фиг. 1 показывает пример трехмерного объекта трехмерной сцены в соответствии с одним примером настоящего изобретения;- fig. 1 shows an example of a 3D scene object according to one example of the present invention;
- фиг. 2А и 2В показывают примеры изображения атрибутов, ассоциированных с трехмерным объектом на фиг. 1, в соответствии с одним неограничивающим вариантом осуществления настоящего изобретения;- fig. 2A and 2B show display examples of attributes associated with the 3D object in FIG. 1, in accordance with one non-limiting embodiment of the present invention;
- фиг. 3 показывает первый пример получения изображения атрибутов фиг. 2А и 2В в соответствии с одним неограничивающим вариантом осуществления настоящего изобретения;- fig. 3 shows a first example of image acquisition of the attributes of FIG. 2A and 2B in accordance with one non-limiting embodiment of the present invention;
- фиг. 4 показывает второй пример получения изображения атрибутов фиг. 2А и 2В в соответствии с одним неограничивающим вариантом осуществления настоящего изобретения;- fig. 4 shows a second example of image acquisition of the attributes of FIG. 2A and 2B in accordance with one non-limiting embodiment of the present invention;
- фиг. 5А и 5В показывают точки трехмерного объекта на фиг. 1 в соответствии с определенной точкой обзора в соответствии с одним неограничивающим вариантом осуществления настоящего изобретения;- fig. 5A and 5B show points of the 3D object in FIG. 1 in accordance with a certain viewpoint in accordance with one non-limiting embodiment of the present invention;
- фиг. 6А и 6В показывают трехмерное представление некоторых точек трехмерного объекта на фиг. 1 и соответствующее изображение глубины в соответствии с неограничивающим вариантом воплощения настоящего изобретения;- fig. 6A and 6B show a 3D representation of some points of the 3D object in FIG. 1 and a corresponding depth image in accordance with a non-limiting embodiment of the present invention;
- каждая из фиг. 7А и 7В показывает двухмерное представление дырок, имеющихся в трехмерном представлении фиг. 6А, в соответствии с одним неограничивающим вариантом осуществления настоящего изобретения;- each of FIG. 7A and 7B show a 2D representation of the holes present in the 3D representation of FIG. 6A, in accordance with one non-limiting embodiment of the present invention;
- фиг. 8 показывает способ генерации одной или нескольких точек трехмерной сцены на фиг. 1 в соответствии с одним неограничивающим вариантом осуществления настоящего изобретения;- fig. 8 shows a method for generating one or more points of the 3D scene of FIG. 1 in accordance with one non-limiting embodiment of the present invention;
- фиг. 9 показывает пример архитектуры устройства для реализации способа, показанного на фиг. 8, 12 и/или 13, в соответствии с одним неограничивающим вариантом осуществления настоящего изобретения;- fig. 9 shows an example of a device architecture for implementing the method shown in FIG. 8, 12 and/or 13, in accordance with one non-limiting embodiment of the present invention;
- фиг. 10 показывает пример схемы кодирования/декодирования облака точек, представляющего трехмерный объект на фиг. 1, в соответствии с одним примером настоящего изобретения;- fig. 10 shows an example of an encoding/decoding scheme for a point cloud representing the 3D object in FIG. 1, in accordance with one example of the present invention;
- фиг. 11 показывает пример синтаксиса сигнала, передающего битовый поток, полученный по схеме на фиг. 10, в соответствии с одним неограничивающим вариантом осуществления настоящего изобретения;- fig. 11 shows an example of the syntax of a signal transmitting a bitstream obtained by the circuit in FIG. 10, in accordance with one non-limiting embodiment of the present invention;
- фиг. 12 показывает пример процесса, реализованного при кодировании облака точек, представляющего трехмерный объект на фиг. 1, в соответствии с одним неограничивающим вариантом осуществления настоящего изобретения; и- fig. 12 shows an example of a process implemented in encoding a point cloud representing the 3D object in FIG. 1, in accordance with one non-limiting embodiment of the present invention; and
- фиг. 13 показывает пример процесса декодирования битового потока для получения декодированного облака точек, представляющего трехмерный объект на фиг. 1, в соответствии с одним неограничивающим вариантом осуществления настоящего изобретения.- fig. 13 shows an example of a bitstream decoding process to obtain a decoded point cloud representing the 3D object in FIG. 1, in accordance with one non-limiting embodiment of the present invention.
5. ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ5. DETAILED DESCRIPTION OF EMBODIMENTS
Теперь будет описан предмет изобретения со ссылкой на чертежи, на которых везде одинаковые номера позиций используются для обозначения одинаковых элементов. В следующем ниже описании с целью объяснения излагаются многочисленные конкретные подробности для обеспечения полного понимания предмета изобретения. Однако может быть очевидно, что варианты осуществления изобретения могут быть осуществлены на практике без этих конкретных подробностей.The subject matter will now be described with reference to the drawings, in which like reference numerals are used throughout to refer to like elements. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the subject matter of the invention. However, it may be apparent that embodiments of the invention may be practiced without these specific details.
В соответствии с неограничивающими вариантами осуществления раскрыты способ и устройство для генерации точек трехмерной (3D) сцены.In accordance with non-limiting embodiments, a method and apparatus for generating points in a three-dimensional (3D) scene are disclosed.
В описании ниже изображение содержит один или несколько массивов дискретных значений (пиксельных значений) в определенном формате изображения/видео, которые определяют всю информацию касательно пиксельных значений изображения (или видео) и всю информацию, которая может использоваться, например, дисплеем и/или любым другим устройством для визуализации и/или декодирования изображения (или видео). Изображение содержит по меньшей мере один компонент в виде первого массива дискретных значений, как правило компонент яркости (или яркость), и, возможно, по меньшей мере один другой компонент в виде по меньшей мере одного другого массива дискретных значений, как правило цветовой компонент. Или, эквивалентно, та же самая информация может также быть представлена в виде набора массивов дискретных значений цветов, например, традиционного трехцветного RGB-представления.In the description below, an image contains one or more arrays of discrete values (pixel values) in a specific image/video format that define all information regarding the pixel values of the image (or video) and all information that can be used, for example, by a display and/or any other a device for rendering and/or decoding an image (or video). The image contains at least one component in the form of a first array of discrete values, typically a luminance (or brightness) component, and possibly at least one other component in the form of at least one other array of discrete values, typically a color component. Or, equivalently, the same information can also be represented as a set of arrays of discrete color values, such as the traditional three-color RGB representation.
В дальнейшем кадр может рассматриваться как изображение, то есть массив дискретных значений, или как набор изображений.In the future, the frame can be considered as an image, that is, an array of discrete values, or as a set of images.
Пиксельное значение представлено вектором из nv значений, где nv является числом компонентов. Каждое значение вектора представлено некоторым числом битов, которое определяет максимальный динамический диапазон пиксельных значений.A pixel value is represented by a vector of nv values, where nv is the number of components. Each vector value is represented by some number of bits, which defines the maximum dynamic range of the pixel values.
Настоящие принципы будут описаны со ссылкой на конкретный вариант осуществления способа (и устройства, выполненного с возможностью) генерации одной или нескольких точек трехмерной сцены, например, одной или нескольких точек трехмерного объекта трехмерной сцены в дополнение к существующим точкам. С существующими точками трехмерной сцены могут быть ассоциированы атрибуты, соответствующие информации о текстуре (атрибуты текстуры) и/или информации о глубине (атрибуты глубины). Атрибуты глубины (или расстояния) сохраняются в изображении глубины, то есть ассоциированы с пикселями изображения глубины, а атрибуты текстуры (или цвета) сохраняются в изображении текстуры, то есть ассоциированы с пикселями изображения текстуры. Информация о глубине, ассоциированная с текущим пикселем изображения глубины, сравнивается с информацией о глубине, ассоциированной с пикселями изображения глубины, которые находятся рядом с текущим пикселем. Текущий пиксель с его смежными пикселями формирует блок из 9 пикселей с 8 смежными пикселями, окружающими текущий пиксель. Этот блок из 9 пикселей ассоциирован с набором из 9 точек трехмерной сцены, при этом 8 точек ассоциированы с 8 смежными пикселями, образуя окрестность текущей точки, ассоциированной с текущим пикселем. Для по меньшей мере одного из смежных пикселей, имеющих разность глубин относительно текущего пикселя, которая меньше первого значения и больше второго значения, генерируется одна или более дополнительных точек трехмерной сцены в дополнение к текущей точке, ассоциированной с текущим пикселем карты глубины. Число генерируемых дополнительных точек зависит от разности глубин: чем больше разность глубин, тем больше количество сгенерированных дополнительных точек.The present principles will be described with reference to a specific embodiment of a method (and apparatus capable of) generating one or more points of a 3D scene, such as one or more points of a 3D scene object in addition to the existing points. Attributes corresponding to texture information (texture attributes) and/or depth information (depth attributes) can be associated with existing points in a 3D scene. Depth (or distance) attributes are stored in the depth image, i.e. associated with depth image pixels, and texture (or color) attributes are stored in the texture image, i.e. associated with texture image pixels. The depth information associated with the current depth image pixel is compared with the depth information associated with depth image pixels that are adjacent to the current pixel. The current pixel with its adjacent pixels forms a block of 9 pixels with 8 adjacent pixels surrounding the current pixel. This block of 9 pixels is associated with a set of 9 points in the 3D scene, with 8 points associated with 8 adjacent pixels, forming a neighborhood of the current point associated with the current pixel. For at least one of the adjacent pixels having a depth difference relative to the current pixel, which is less than the first value and greater than the second value, one or more additional points of the three-dimensional scene are generated in addition to the current point associated with the current depth map pixel. The number of additional points generated depends on the depth difference: the greater the depth difference, the greater the number of additional points generated.
Окрестность точки трехмерной сцены на изображении глубины (соответственно, изображении текстуры) соответствует пикселям изображения глубины (соответственно, изображения текстуры), расположенным в окрестности пикселя изображения глубины (соответственно, изображения текстуры), причем последний соответствует указанной точке трехмерного объекта. Окрестность пикселя может, например, охватывать все пиксели, смежные с упомянутым пикселем, не ограничиваясь таким примером. Например, окрестность может охватывать пиксели, смежные с упомянутым пикселем, и все пиксели, смежные с каждым пикселем, смежным с упомянутым пикселем, или даже больше.The neighborhood of a 3D scene point in the depth image (respectively, the texture image) corresponds to the pixels of the depth image (respectively, the texture image) located in the vicinity of the pixel of the depth image (respectively, the texture image), the latter corresponding to the specified point of the 3D object. The neighborhood of a pixel may, for example, cover all pixels adjacent to said pixel, without being limited to such an example. For example, the neighborhood may include pixels adjacent to said pixel and all pixels adjacent to each pixel adjacent to said pixel, or even more.
Генерация дополнительных точек трехмерной сцены позволяет заполнить дырки в трехмерной сцене, которые могут быть видны при изменении точки обзора. Также это может позволить увеличить плотность точек в некоторых областях трехмерной сцены. Использование изображения глубины (вместо трехмерного пространства трехмерного объекта) позволяет быстро идентифицировать дырки, которые должны быть заполнены.Generating additional points in the 3D scene allows you to fill holes in the 3D scene that may be visible when changing the viewpoint. It can also allow you to increase the density of points in some areas of the 3D scene. Using a depth image (instead of the 3D space of a 3D object) allows you to quickly identify holes that need to be filled.
Даже если описание дано со ссылкой на одно изображение глубины трехмерной сцены, настоящие принципы применимы в равной степени ко множеству изображений глубины.Even if the description is given with reference to a single depth image of a 3D scene, the present principles apply equally to a plurality of depth images.
Фиг. 1 показывает два разных представления трехмерного объекта или его части в соответствии с неограничивающим вариантом осуществления. Трехмерный объект может, например, входить в трехмерную сцену, содержащую один или несколько трехмерных объектов. В соответствии с примером на фиг. 1, объект является человеком, например, движущимся внутри сцены, а часть объекта, соответствующая голове, показана на фиг. 1. Фиг. 1 также может изображать трехмерную (3D) модель объекта 10 и точки облака 11 точек, соответствующие трехмерной модели 10. Модель 10 может быть трехмерным сеточным представлением, а точки облака 11 точек могут быть вершинами сетки. Точки 11 также могут быть точками, распределенными по поверхности граней сетки. Модель 10 также может быть представлена в виде сплэттинговой (т.е. созданной методом «бросания снежков») версии облака 11 точек, при этом поверхность модели 10 создается путем сплэттинга («бросания снежков») точки из облака 11 точек. Модель 10 может быть представлена с помощью множества различных представлений, таких как вокселы или сплайны. Фиг. 1 иллюстрирует тот факт, что всегда можно задать облако точек по представлению поверхности трехмерного объекта, и наоборот, всегда можно создать представление поверхности трехмерного объекта по точкам облака. В настоящем описании проекция точек трехмерного объекта (посредством распространения точек трехмерной сцены) на изображение эквивалентна проецированию любого представления этого трехмерного объекта на объект.Fig. 1 shows two different representations of a three-dimensional object or part thereof, in accordance with a non-limiting embodiment. The 3D object may, for example, be included in a 3D scene containing one or more 3D objects. According to the example in FIG. 1, the object is a person, for example, moving inside the scene, and the part of the object corresponding to the head is shown in FIG. 1. FIG. 1 may also depict a three-dimensional (3D) model of the
Первое представление 10 части объекта является облаком точек. Облако точек соответствует большому набору точек, представляющих объект, например, внешнюю поверхность или внешнюю форму объекта. Облако точек можно рассматривать как структуру на основе векторов, в которой каждая точка имеет свои координаты (например, трехмерные координаты XYZ или глубину/расстояние от заданной точки обзора) и один или несколько атрибутов, также называемых компонентом. Примером компонента является компонент цвета, который может быть выражен в различных цветовых пространствах, например, RGB (красный, зеленый и синий) или YUV (Y является компонентом яркости, а UV являются двумя компонентами цветности). Облако точек является представлением объекта, каким его можно видеть из данной точки обзора или диапазона точек обзора. Облако точек может быть получено разными способами, например:The first representation of the 10th part of the object is a point cloud. A point cloud corresponds to a large set of points representing an object, such as the outer surface or outer shape of an object. A point cloud can be thought of as a vector-based structure in which each point has its own coordinates (for example, 3D XYZ coordinates or depth/distance from a given viewpoint) and one or more attributes, also called a component. An example of a component is the color component, which can be expressed in different color spaces, such as RGB (red, green and blue) or YUV (Y is the luminance component and UV are the two chrominance components). A point cloud is a representation of an object as seen from a given viewpoint or range of viewpoints. A point cloud can be obtained in many ways, for example:
путем захвата реального объекта, снятого стендом камер, опционально дополненного активным датчиком глубины;by capturing a real object captured by a camera stand, optionally supplemented with an active depth sensor;
путем захвата виртуального/синтетического объекта, снятого стендом виртуальных камер в инструменте для моделирования;by capturing a virtual/synthetic object captured by the virtual camera stand in the modeling tool;
из комбинации как реальных, так и виртуальных объектов.from a combination of both real and virtual objects.
В первом случае (путем захвата реального объекта) набор камер генерирует набор изображений или последовательности изображений (видео), соответствующие различным ракурсам (различным точкам обзора). Информация о глубине, то есть расстоянии от центра каждой камеры до поверхности объекта, получается либо с помощью активного датчика глубины, например, в инфракрасном диапазоне и на основе анализа структурированного света или времени распространения, либо на основе алгоритмов диспаратности. В обоих случаях все камеры должны быть откалиброваны, внутренне и внешне. Алгоритмы диспаратности состоят в поиске похожих визуальных признаков на паре скорректированных изображений с камер, которое обычно выполняется вдоль одномерной линии: чем больше различие в столбцах пикселей, тем ближе поверхность этого признака. В случае массива камер глобальная информация о глубине может быть получена путем объединения множества информации о попарной диспаратности, используя преимущества множества пар камер, тем самым улучшая отношение сигнал/шум.In the first case (by capturing a real object), a set of cameras generates a set of images or sequences of images (video) corresponding to different angles (different viewpoints). Depth information, i.e. the distance from the center of each camera to the surface of the object, is obtained either using an active depth sensor, for example, in the infrared range and based on the analysis of structured light or propagation time, or based on disparity algorithms. In both cases, all cameras must be calibrated, internally and externally. Disparity algorithms consist of searching for similar visual features in a pair of corrected camera images, which is usually performed along a one-dimensional line: the greater the difference in pixel columns, the closer the surface of this feature. In the case of a camera array, global depth information can be obtained by combining a plurality of pairwise disparity information, taking advantage of multiple camera pairs, thereby improving the signal-to-noise ratio.
Во втором случае (синтетический объект) инструмент для моделирования предоставляет непосредственно информацию о глубине.In the second case (synthetic object), the modeling tool provides the depth information directly.
Облако 10 точек может быть динамическим облаком точек, которое эволюционирует со временем, т.е. число точек может изменяться со временем и/или в зависимости от местоположения (например, по меньшей мере одной из координат X, Y и Z) одной или нескольких точек. Эволюция облака точек может соответствовать движению объекта, представленного облаком точек, и/или любому изменению формы объекта или части(ей) объекта.The
Облако 10 точек может быть представлено на кадре или в одной или нескольких группах последовательно сменяющих друг друга кадров, при этом каждый кадр содержит представление облака точек в определенное время «t». Одна или несколько групп последовательно сменяющих друг друга кадров могут образовывать видео, представляющее, по меньшей мере, часть облака 10 точек.The
Второе представление 11 части объекта может быть получено из представления 10 в виде облака точек, второе представление соответствует представлению в виде поверхности. Облако точек может быть обработано для вычисления его поверхности. С этой целью для данной точки облака точек используются соседние точки этой заданной точки для вычисления нормали к локальной поверхности в этой заданной точке, при этом элемент поверхности, ассоциированный с этой заданной точкой, получается из этой нормали. Процесс повторяется для всех точек, чтобы получить поверхность. Методы восстановления поверхности по облаку точек описаны, например, Matthew Berger и др. в “State of the Art in Surface Reconstruction from Point Clouds”, State of the Art Report, 2014. Согласно одному варианту осуществления, элемент поверхности, ассоциированный с данной точкой облака точек, получается путем применения рендеринга сплэт-метода («бросания снежков») к этой заданной точке. Поверхность объекта (также называемая предполагаемой поверхностью или внешней поверхностью объекта) получается путем смешивания всех «следов от снежков» (например, эллипсоидов), ассоциированных с точками облака точек.The
В одном конкретном варианте осуществления облако точек представляет только частичные ракурсы объекта, а не объект в целом, и это соответствует тому, как объект должен выглядеть с отрисовываемой стороны, например, в кинематографической сцене. Например, при съемке персонажа, обращенного к плоскому массиву камер, генерируется облако точек только на стороне стенда. Задняя часть персонажа вообще не существует, объект не является замкнутым, и поэтому геометрическими характеристиками этого объекта является совокупность всех поверхностей, ориентированных в направлении стенда (угол между нормалью к каждой локальной поверхности и лучом обратно к захватывающему устройству равен, например, менее 90°).In one particular embodiment, the point cloud only represents partial views of the object, not the object as a whole, and this corresponds to how the object should look from the rendered side, such as in a cinematic scene. For example, when shooting a character facing a flat camera array, a point cloud is generated only on the side of the booth. The back of the character does not exist at all, the object is not closed, and therefore the geometric characteristics of this object are the totality of all surfaces oriented in the direction of the stand (the angle between the normal to each local surface and the beam back to the gripping device is, for example, less than 90°).
Каждая из фиг. 2A и 2B показывает кадр облака 10 точек в соответствии с конкретными неограничивающими вариантами осуществления настоящих принципов.Each of the FIGS. 2A and 2B show a 10 point cloud frame in accordance with specific non-limiting embodiments of the present principles.
Фиг. 2А показывает первый пример кадра 20 облака точек, например, кадр GOP (группы кадров, Group of Pictures) облака точек. Кадр 20 состоит из набора из n изображений 201, 202, 203, 20n, где n является целым числом, большим или равным 2. Каждое из изображений с 201 по 20n соответствует массиву пикселей, размер и/или определение которого может варьироваться от одного изображения к другому изображению. Например, определения изображений 201 и 20n одинаковы, в то время как определения изображений 202, 203 отличаются друг от друга и от определения изображений 201 и 20n. В примере на фиг. 2А изображения с 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.Fig. 2A shows a first example of a
Фиг. 3 изображает куб 31, ограничивающий по меньшей мере часть облака 10 точек в соответствии с неограничивающим примером настоящих принципов.Fig. 3 shows a
Куб 31 разбит, например, на 8 подкубов (для ясности показан только один подкуб 32 из 8 подкубов) на первом уровне разбиения. Подкуб 32 также разбит на 8 подкубов (для ясности показан только один подкуб 33 из 8 подкубов) на втором уровне разбиения. На каждом уровне разбиения часть точек облака точек может быть спроецирована (например, в соответствии с ортогональной проекцией) на одну или несколько граней куба(ов) (например, грани с серой заливкой). Например, точки облака точек проецируются на грань 301 куба 31, на грань 302 куба 32 и на грань 303 куба 33. Например, грани дискретизируются, образуя массивы пикселей с определениями/размерами, которые зависят от уровня разбиения куба. Например, для пикселя грани куба точка облака точек, которая проецируется на упомянутый пиксель, соответствует точке облака точек, которая находится ближе всего к указанному пикселю при трассировке луча от указанного пикселя и ортогонально к грани, содержащей указанный пиксель. Атрибуты, ассоциированные с упомянутым пикселем, соответствуют атрибутам (текстура и/или глубина) точки, спроецированной на упомянутый пиксель.
Грань 301 используется, например, для формирования изображения 201, грань 302 для формирования изображения 302 и грань 303 для формирования изображения 303.Face 301 is used for
Фиг. 2В иллюстрирует второй пример кадра 21 облака точек, например, кадр GOP облака точек. Кадр 21 состоит из набора из m изображений 211, 212, 213, 214, 21m, где m является целым числом, большим или равным 2. Расположение изображений с 211 по 21m может отличаться от расположения кадра 20, например, со свободным пространством между изображениями с 211 по 21m. Изображения с 211 по 21m могут иметь различные размеры и/или определения. Каждое изображение может принимать атрибуты от точек облака точек, причем указанные атрибуты ассоциированы по меньшей мере с некоторыми из пикселей каждого изображения с 211 по 21m. Например, часть каждого изображения, которая получает атрибуты из облака точек, показана в виде серой области, а часть изображения, которая не получает атрибуты из облака точек, показана в виде белой области, причем указанная белая область может быть заполнена значением по умолчанию, как свободное пространство между изображениями. Как и для кадра 20 на фиг. 2А, данные, ассоциированные с пикселями изображений с 211 по 21n, могут соответствовать информации о текстуре и/или информации о глубине. В одном варианте осуществления первый кадр 21 используется для хранения информации о текстуре (например, 3 компонента RGB или YUV), а второй кадр 21 с таким же расположением изображений с 211 по 21m используется для хранения информации о глубине, причем оба изображения представляют точку облака в момент времени «t».Fig. 2B illustrates a second example of a
Набор изображений, формирующих кадр 21, может содержать, например, одно или несколько первых изображений и, потенциально, одно или несколько вторых изображений. Первое изображение(я) (по меньшей мере серая область каждого первого изображения) может быть получено, например, путем проецирования точек облака точек в соответствии с первой проекцией(ями), например, разная первая проекция на каждое первое изображение, как показано на фиг. 4.The set of
Фиг. 4 изображает получение первых изображений набора изображений, образующих кадр 21, в соответствии с неограничивающим примером настоящих принципов. Облако точек, представляющее трехмерный объект 4, разбивается на множество трехмерных частей, например, 50, 100, 1000 или более трехмерных частей, 3 из которых показаны на фиг. 4, то есть трехмерные части 42, 43 и 44, причем трехмерная часть 44 содержит точки облака точек, представляющие собой часть головы человека (соответствующую, например, облаку 10 точек на фиг. 1), трехмерная часть 42 содержит точки облака точек, представляющих собой подмышку человека, а трехмерная часть 43 содержит точки облака точек, представляющих собой руку человека. Одно или несколько изображений каждой трехмерной части или части трехмерных частей генерируются для того, чтобы представлять каждую трехмерную часть в двух измерениях, то есть в соответствии с двумерной параметризацией. Например, двумерная параметризация 401 получается для трехмерной части 44, двумерная параметризация 402 получается для трехмерной части 42, и 2 различные двумерные параметризации 403 и 404 получаются для трехмерной части 43. Двумерная параметризация может меняться от одной трехмерной части к другой. Например, двумерная параметризация 401, ассоциированная с трехмерной частью 41, является линейной перспективной проекцией, в то время как двумерная параметризация 402, ассоциированная с трехмерной частью 42, является LLE, а двумерные параметризации 403 и 404, ассоциированные с трехмерной частью 43, обе являются ортогональными проекциями, соответствующими разным точкам обзора. В соответствии с одним вариантом осуществления, все двумерные параметризации, ассоциированные со всеми трехмерными частями, имеют один и тот же тип, например, линейная перспективная проекция или ортографическая проекция. В соответствии с одним вариантом осуществления, могут использоваться разные двумерные параметризации для одной и той же трехмерной детали.Fig. 4 depicts the acquisition of the first images of the set of
Двухмерная параметризация, ассоциированная с одной данной трехмерной частью облака точек, соответствует просмотру в двух измерениях данной трехмерной части облака точек, позволяющей дискретизировать заданную трехмерную часть, то есть двухмерное представление содержимого (т.е. точка(и)) этой данной трехмерной части содержит множество дискретных значений (которые могут соответствовать пикселям первого изображения), число которых зависит от применяемого шага дискретизации. Двухмерная параметризация может быть получена различным образом, например, путем реализации любого из следующих способов:The 2D parameterization associated with one given 3D part of the point cloud corresponds to viewing in 2 dimensions the given 3D part of the point cloud allowing discretization of the given 3D part, i.e. the 2D representation of the content (i.e. the point(s)) of this given 3D part contains the set discrete values (which may correspond to the pixels of the first image), the number of which depends on the applied sampling step. The two-dimensional parametrization can be obtained in various ways, for example, by implementing any of the following methods:
- линейная перспективная проекция точек трехмерной части облака точек на плоскость, ассоциированную с точкой обзора, при этом параметры, характеризующие линейную перспективную проекцию, включают в себя местоположение виртуальной камеры, шаг пространственной дискретизации и поле обзора в двух измерениях;- a linear perspective projection of the points of the three-dimensional part of the point cloud onto the plane associated with the viewpoint, while the parameters characterizing the linear perspective projection include the location of the virtual camera, the spatial sampling step and the field of view in two dimensions;
- ортографическая проекция точек трехмерной части облака точек на поверхность, при этом параметры, характеризующие ортографическую проекцию, включают в себя геометрию (форму, размер и ориентацию) проектирующей поверхности и шаг пространственной дискретизации;- orthographic projection of points of the three-dimensional part of the point cloud onto the surface, while the parameters characterizing the orthographic projection include the geometry (shape, size and orientation) of the projecting surface and the spatial discretization step;
- LLE (локально-линейное вложение, Locally-Linear Embedding), которое соответствует математической операции уменьшения размерности, здесь применяется для конвертации/преобразования из 3D в 2D, при этом параметры, характеризующие LLE, включают в себя коэффициенты преобразования.- LLE (local-linear embedding, Locally-Linear Embedding), which corresponds to the mathematical operation of dimensionality reduction, is used here for converting / converting from 3D to 2D, while the parameters characterizing LLE include conversion coefficients.
Каждое изображение предпочтительно имеет прямоугольную форму для облегчения процесса упаковки на кадре 21.Each image is preferably rectangular to facilitate the packaging process on
Фиг. 5А и 5В показывают двухмерное представление части трехмерной сцены фиг. 1 в соответствии с неограничивающим примером настоящих принципов.Fig. 5A and 5B show a 2D representation of a portion of the 3D scene of FIG. 1 in accordance with a non-limiting example of the present principles.
На фиг. 5А представлен пример двухмерного представления 5А части трехмерного объекта 10, например, поперечное сечение трехмерного объекта 10. Точки поперечного сечения 5А представлены квадратом, который соответствует кубу или вокселю в трехмерном представлении 10. Например, квадрат (или куб) 510 представлен точкой 51. Кубы или воксели ассоциированы с точками трехмерной сцены (или точками облака точек, когда трехмерная сцена представлена облаком точек), чтобы заполнить пространство трехмерной сцены. Некоторые из квадратов, представленных на фиг. 5А, могут быть пустыми, то есть нет никакой точки трехмерной сцены, ассоциированной с ними, то есть нет текстуры и глубины, ассоциированной с ними. Поверхность трехмерного объекта 10 представлена прямой линией 50, а точки с 501 по 506 соответствуют точкам, видимым из точки 52 обзора. Квадраты, ассоциированные с точками с 501 по 506, показаны с помощью оттенка серого. При проецировании этих точек с 501 по 506 на соответствующее изображение глубины в соответствии с точкой 52 обзора получается столбец пикселей, ассоциированных с точками с 501 по 506, причем один пиксель ассоциирован с одной точкой.In FIG. 5A shows an example of a
Естественно, с точками трехмерной сцены могут быть ассоциированы элементы объема, отличные от квадрата, например, сферы. В оставшейся части описания будет использоваться выражение «единица объема» для обозначения элемента объема, ассоциированного с точкой, при этом единица объема соответствует, например, вокселю размером 1 на 1 на 1, например, 1 мм на 1 мм на 1 мм (с объемом 1 мм3) или 1 см на 1 см на 1 см (с объемом 1 см3) или любым другим размером.Naturally, volume elements other than a square, such as spheres, can be associated with points in a 3D scene. The remainder of the description will use the term "volume unit" to refer to the volume element associated with a point, with the volume unit corresponding to, for example, a 1 by 1 by 1 voxel, such as 1 mm by 1 mm by 1 mm (with a volume of 1 mm 3 ) or 1 cm by 1 cm by 1 cm (with a volume of 1 cm 3 ) or any other size.
Фиг. 5В изображает двумерное представление 5В той же самой части трехмерного объекта 10, что и часть, изображенная на фиг. 5А, причем двумерное представление 5В получено путем обратного проецирования точек с 501 по 506 из изображения глубины, полученного из двумерного представления 5А в соответствии с точкой 52 обзора. Точки (и соответствующие единицы объема) с 501 по 506 показаны с помощью оттенка серого. Точки (и ассоциированные единицы объема) с 511 по 518 показаны с рисунком диагональных полосок, они соответствуют дыркам трехмерного объекта 10, если смотреть из точки 53 обзора. Эти дырки могут быть результатом реконструкции трехмерного объекта с использованием изображения глубины, полученного при проецировании точек в соответствии с точкой 52 обзора, которая отличается от точки 53 обзора, при этом такие дырки приводят к видимым артефактам при просмотре реконструированного трехмерного объект из точки 53 обзора. С точками с 511 по 518, соответствующими дыркам, не ассоциирована никакая информация о текстуре и о глубине.Fig. 5B shows a
Фиг. 6А показывает подмножество 6А точек трехмерного объекта на фиг. 1 в трех измерениях, а фиг.а 6В показывает часть 6В изображения глубины, ассоциированного с подмножеством 6А, в соответствии с неограничивающим примером настоящих принципов.Fig. 6A shows a
Фиг. 6А показывает подмножество 6А точек трехмерного объекта и ассоциированных с ними единиц 601, 602, 603, 604, 605, 606, 607, 608 и 609 объема, показанных с помощью кубов или вокселей на фиг. 6А. Кубы с 601 по 609 простираются в трех измерениях X, Y и Z, при этом ось Z представляет собой глубину, X представляет собой ось абсцисс, а Y представляет собой ось ординат. Стрелки 61, 62 и 63 представляют собой разные точки обзора, из которых можно смотреть на подмножество 6А. Точка 61 обзора позволяет смотреть на подмножество 6А со стороны оси Z; точка 62 обзора позволяет смотреть на подмножество 6А со стороны оси Y; и точка 63 обзора позволяет смотреть на подмножество 6А со стороны оси X. Кубы с 602 по 609 (или, эквивалентно, точки с 602 по 609) могут рассматриваться как образующие окрестность куба 601 (или, эквивалентно, точки 601).Fig. 6A shows a
Фиг. 6В показывает часть 6В изображения глубины, ассоциированного с подмножеством 6А. Часть 6B изображения глубины может быть получена путем проецирования кубов (точек) с 601 по 609 в соответствии с точкой 61 обзора и соответствующей осью Z. Как видно на фиг. 6В, часть 6В образует блок из 9 пикселей, 8 смежных пикселей с 612 по 619 (каждый из которых соответствует/относится к соответствующим кубам/точкам с 602 по 609 соответственно из подмножества 6А), окружающих пиксель 611 (который соответствует/относится к ассоциированному кубу/точке 601 из подмножества 6А). Кубы/точки с 602 по 609 соответствуют окрестности куба/точки 601, как и их соответствующие пиксели 612-619 соответствующего изображения глубины соответствуют соседним пикселям изображения глубины, окружающим пиксель 611, соответствующий кубу/точке 601.Fig. 6B shows a
При просмотре из точки 61 обзора в подмножестве 6А нет дырок (ракурс в соответствии с точкой 61 обзора соответствует части 6В изображения глубины). Но при просмотре из других точек обзора может появиться дырка(и). Например, при просмотре из точки 62 обзора, между кубами/точками 601 и 602 появляется дырка, пространство, занимаемое такой дыркой, соответствует пространству куба 6001, показанного с помощью полосок. Такая дырка 6001 показана на фиг. 7А. Фиг. 7А изображает часть ракурса подмножества 6А из точки 62 обзора, в частности, часть, содержащую кубы 601 и 602, и свободное пространство между ними, то есть пространство, не занятое кубом/точкой из подмножества 6А. При просмотре из точки 63 обзора между кубами/точками 601 и 604 появляется дырка, пространство, занимаемое такой дыркой, соответствует пространству двух кубов, показанных с помощью полосок, то есть кубов 6001 и 6002. Такая дырка 6001, 6002 показана на фиг. 7В, при этом фиг. 7В показывает часть ракурса подмножества 6А из точки 63 обзора, в частности, часть, содержащую кубы 601 и 604, и свободное пространство между ними, то есть пространство, не занятое кубом/точкой из подмножества 6А.When viewed from the
Изображение глубины, ассоциированное с трехмерной сценой, может использоваться для определения, где могут быть расположены дырки в области(ях) в трехмерной сцене. Например, для получения местоположения дырки(дырок) обрабатывается и анализируется, как объясняется ниже, часть 6B изображения глубины, ассоциированная с (и полученная из) частью 6A точек трехмерного объекта 10. А именно, для получения местоположения дырки(дырок) 6001, 6002 используется информация о глубине, ассоциированная с пикселями с 611 по 619. Блок 6C на фиг. 6B показывает информацию о глубине, ассоциированную с пикселями с 611 по 619. Такой процесс, например, применяется к текущему пикселю, а именно к текущему пикселю 611 (который ассоциирован с текущей точкой 601) в примере на фиг. 6A и 6B. В примере на фиг. 6B с текущим пикселем 611 ассоциирована опорная глубина, например опорная глубина равна 0. Глубина, ассоциированная с пикселями с 612 по 619, смежными с текущим пикселем 611, выражается в единицах объема (единицах объема, соответствующих кубу/вокселю в примере на фиг. 6А, 6В). Что касается текущего пикселя, глубина, ассоциированная с соседним пикселем 612, равна +2 единицам объема; глубина, ассоциированная с соседним пикселем 613, равна +1 единице объема; глубина, ассоциированная с соседним пикселем 614, равна +3 единицам объема; глубина, ассоциированная с соседним пикселем 615, равна 0 единиц объема; глубина, ассоциированная с соседним пикселем 616, равна -1 единице объема; глубина, ассоциированная с соседним пикселем 617, равна 0 единиц объема; глубина, ассоциированная с соседним пикселем 618, равна 0 единиц объема; и глубина, ассоциированная с соседним пикселем 619, равна +1 единице объема. Естественно, глубина, ассоциированная с пикселями, может быть выражена с помощью любой другой метрики, например, с помощью числа единиц объема, отделяющих точки (то есть ассоциированные кубы) от точек обзора, ассоциированных с изображением глубины, то есть расстояния между точкой обзора и точками трехмерной сцены (например, глубина, ассоциированная с текущим пикселем 611, может быть равна 1254 единицам объема, глубина, ассоциированная с соседними пикселями с 612 по 619, тогда будет равна 1256, 1255, 1257, 1254, 1253, 1254, 1254 и 1255 соответственно). В соответствии с другим примером глубина может быть выражена в сантиметрах или метрах или с помощью любой другой метрики, соответствующей расстоянию, выраженному в сантиметрах или метрах от точки обзора, ассоциированной с изображением глубины.The depth image associated with the 3D scene may be used to determine where holes may be located in the region(s) in the 3D scene. For example, to obtain the location of the hole(s), the
Информация о глубине, ассоциированная с каждым соседним пикселем с 612 по 619, сравнивается с информацией о глубине, ассоциированной с текущим пикселем 611. Например, вычисляется разность глубин между каждым смежным пикселем с 612 по 619 и текущим пикселем 611. Когда разность больше или равна первому определенному значению (например, 2 единицам объема, когда глубина выражается с помощью числа единиц объема), это означает, что кубы, ассоциированные с рассматриваемым смежным пикселем и с текущим пикселем, не являются смежными в пространстве трехмерной сцены, что означает, что они не соприкасаются друг с другом в трехмерной сцене, что означает, что между ними есть дырка. Например, разность глубин между пикселями 612 и 611 равна +2, что означает, что между соответствующими кубами 601 и 602 в трехмерной сцене есть дырка, как это ясно видно на фиг. 6А (дырка, соответствующая пустому пространству, показана с помощью куба 6001). Разность глубин между пикселями 614 и 611 равна +3, что означает, что между соответствующими кубами 601 и 604 в трехмерной сцене есть дырка, как это ясно видно на фиг. 6А (дырка, соответствующая пустому пространству, показана с помощью кубов 6001 и 6002). В соответствии с другим примером, разность глубин между пикселями 617 и 611 равна +0, что означает, что между соответствующими кубами 607 и 601 в трехмерной сцене нет дырки, как это ясно видно на фиг. 6А (кубы 607 и 601 контактируют друг с другом, поскольку они оба принадлежат плоскости, заданной осями X и Y; они имеют общую грань). В соответствии с другим примером разность глубин между пикселями 619 и 611 равна +1, что означает, что между соответствующими кубами 609 и 601 в трехмерной сцене нет дырки, как это ясно видно на фиг. 6А (кубы 609 и 601 контактируют друг с другом, поскольку они имеют общий угол).The depth information associated with each
Та же самая обработка может выполняться для каждой точки трехмерной сцены (или по меньшей мере для каждой точки части точек трехмерной сцены, например, для каждой точки каждые две точки или каждой точки каждые 8 точек), т.е. каждая точка может обрабатываться как текущая точка, и ее глубина сравнивается с глубиной ее окрестности (т.е. в пространстве соответствующего изображения глубины).The same processing may be performed for each point of the 3D scene (or at least each point of a portion of the points of the 3D scene, for example, for each point every two points or each point every 8 points), i. e. each point can be treated as a current point and its depth compared to the depth of its surroundings (ie, in the space of the corresponding depth image).
В соответствии с одним вариантом осуществления, рассматриваются только положительные разности глубин, и они сравниваются с первым определенным значением. Отрицательную разность глубин можно рассматривать, принимая соседний пиксель, имеющий отрицательную разность глубин, в качестве нового или другого текущего пикселя. При рассмотрении только положительных разностей глубин ускоряется обработка трехмерной сцены для обнаружения дырки(ок).According to one embodiment, only positive depth differences are considered and compared to the first determined value. A negative depth difference can be considered by taking an adjacent pixel having a negative depth difference as a new or different current pixel. Considering only positive depth differences speeds up the processing of the 3D scene to detect the hole(s).
В соответствии с другим вариантом осуществления, разность глубин между двумя смежными пикселями также сравнивается со вторым определенным значением, и только разности глубин, которые меньше или равны этому второму определенному значению, могут рассматриваться для определения, существует ли дырка между кубами, ассоциированными с соседними пикселями. Сравнение со вторым определенным значением позволяет гарантировать, что два куба принадлежат одному и тому же объекту трехмерной сцены или одной и той же части трехмерного объекта. Действительно, если разность глубин между двумя соседними пикселями (то есть между двумя соответствующими кубами) слишком велика, то это означает, что эти два куба не принадлежат одной и той же поверхности. Второе определенное значение может быть равно, например, 10, 50 или 100 единицам объема. Дырка между двумя кубами определяется при выполнении следующих условий:According to another embodiment, the depth difference between two adjacent pixels is also compared to the second determined value, and only depth differences that are less than or equal to this second determined value can be considered to determine if a hole exists between the cubes associated with adjacent pixels. Comparison with the second specific value ensures that the two cubes belong to the same 3D scene object or the same part of the 3D object. Indeed, if the difference in depth between two neighboring pixels (that is, between two corresponding cubes) is too large, then this means that these two cubes do not belong to the same surface. The second determined value may be, for example, 10, 50 or 100 volume units. A hole between two cubes is defined when the following conditions are met:
Th1≤d≤Th2 Уравнение 1Th1≤d≤
где d соответствует разности глубин между двумя рассматриваемыми пикселями (и соответствующими кубами); Th1 соответствует первому определенному значению; и Th2 соответствует второму определенному значению.where d corresponds to the depth difference between the two considered pixels (and corresponding cubes); Th1 corresponds to the first defined value; and Th2 corresponds to the second determined value.
Чтобы заполнить определенную дырку(и), можно генерировать дополнительные кубы/точки между двумя кубами/точками, имеющими разность глубин d (на изображении глубины), удовлетворяющими уравнению 1. Дополнительные кубы/точки могут генерироваться путем вычисления их соответствующей глубины и текстуры по глубине и текстуре, ассоциированной с кубами, используемыми для определения дырки (например, путем интерполяции точек/кубов, используемых для определения наличия дырки). Число сгенерированных дополнительных точек может быть функцией разности глубин, например, равной d минус 1 (d-1), когда разность глубин выражается с помощью числа единиц объема. Например, число точек/кубов, сгенерированных между точками/кубами 601 и 602, равно 1, а разность глубин между соответствующими пикселями 611 и 612 изображения глубины равна 2. В соответствии с другим примером, число точек/кубов, сгенерированных между точками/кубами 601 и 604, равно 2, при этом разность глубин между соответствующими пикселями 611 и 614 изображения глубины равна 3.To fill a certain hole(s), additional cubes/points can be generated between two cubes/points having a depth difference d (in the depth image)
Дополнительная точка/куб 6001, сгенерированная между существующими точками/кубами 601 и 602, может принимать в качестве информации о текстуре среднее значение значений текстуры, ассоциированных с точками/кубами 601 и 602, а в качестве информации о глубине значение глубины, ассоциированное с точкой/кубом 601 плюс 1 (d601+1).An additional point/
Дополнительные точки/кубы 6001 и 6002, сгенерированные между существующими точками/кубами 601 и 604, могут получить в качестве информации о текстуре среднее значение значений текстуры, ассоциированных с точками/кубами 601 и 604, а в качестве информации о глубине значение глубины точки 601 плюс 1 для куба 6001 (d601+1) и значение глубины точки 601 плюс 2 (d601+2) для куба 6002.Additional points/
В соответствии с одним вариантом осуществления, с текстурой существующих точек/кубов ассоциирован вес для определения текстуры дополнительной точки/куба. Например, больший вес может быть ассоциирован с текстурой точки 601, чем с текстурой точки 604 при вычислении текстуры дополнительной точки 6001, поскольку дополнительная точка 6001 находится ближе к точке 601, чем к точке 604. И наоборот, больший вес может быть ассоциирован с текстурой точки 604, чем с текстурой точки 601 при вычислении текстуры дополнительной точки 6002, поскольку дополнительная точка 6002 находится ближе к точке 604, чем к точке 601. Например, вес, ассоциированный со значением текстуры при интерполяции значения текстуры, которое должно быть ассоциировано со сгенерированной дополнительной точкой, может быть обратно пропорционален расстоянию (глубине), отделяющему генерируемую дополнительную точку от точки, использованной для ее генерации. Например, при вычислении текстуры дополнительной точки 6001 вес, равный 2, может быть ассоциирован с текстурой точки 601, и вес, равный 1, может быть ассоциирован с текстурой точки 604, при этом расстояние (разность глубин) между дополнительной точкой 6001 и точкой 601 равна 1 единице объема, в то время как расстояние (разность глубин) между дополнительной точкой 6001 и точкой 604 равна 2 единицам объема.In accordance with one embodiment, a weight is associated with the texture of the existing dots/cubes to determine the texture of the additional dot/cube. For example, more weight may be associated with
В соответствии с другим вариантом осуществления информация о текстуре, которая должна быть ассоциирована со сгенерированной дополнительной точкой, соответствует информации о текстуре одной из точек, использованных для ее генерации. Например, информация о текстуре точки 601 может быть применена к сгенерированной дополнительной точке 6001, а информация о текстуре точки 604 может быть применена к сгенерированной дополнительной точке 6002.In accordance with another embodiment, the texture information to be associated with the generated additional point corresponds to the texture information of one of the points used to generate it. For example, dot
В соответствии с дополнительным опциональным вариантом осуществления, вместо генерации дополнительной точки(ек) каждый раз, когда определено, что разность глубин d (между текущим пикселем и пикселем, смежным с этим текущим пикселем) больше или равна первому определенному значению Th1 и меньше или равна второму определенному значению Th2, дополнительные точки генерируются только между текущим пикселем и пикселем, смежным с пикселем, имеющим наибольшую разность глубин dmax в пределах интервала [Th1; Th2]. Например, вместо создания дважды точки/куба 6001 (один раз c использованием точек/кубов 601 и 602 и один раз с использованием точки/кубов 601 и 604), точка/куб 6001 генерируется только один раз с использованием точек/кубов 601 и 604, поскольку разность глубин (т.е. +3) между точками 601 и 604 больше, чем разность глубин (то есть +2) между точками 601 и 602. Для достижения этой цели выбирается наибольшая разность глубин dmax (которая меньше или равна Th2) среди всех разностей глубин с d612 по d619 блока пикселей 6B, и только соседний пиксель 614, соответствующий наибольшей разности глубин dmax среди всех соседних пикселей с 612 по 619, рассматривается с текущим пикселем 611 для генерации дополнительных точек/кубов (из соответствующих точек/кубов 601 и 604).According to a further optional embodiment, instead of generating additional point(s) each time it is determined that the depth difference d (between the current pixel and the pixel adjacent to that current pixel) is greater than or equal to the first determined value Th1 and less than or equal to the second a certain value of Th2, additional points are generated only between the current pixel and the pixel adjacent to the pixel having the largest depth difference d max within the interval [Th1; Th2]. For example, instead of generating point/
Фиг. 8 показывает способ генерации одной или нескольких точек трехмерной сцены, реализованный, например, в устройстве 9 (описанном со ссылкой на фиг.9), в соответствии с неограничивающим вариантом осуществления настоящих принципов.Fig. 8 shows a method for generating one or more points of a 3D scene, implemented in, for example, device 9 (described with reference to FIG. 9), in accordance with a non-limiting embodiment of the present principles.
В первой операции 81 информация о глубине, ассоциированная с текущим пикселем, сравнивается с информацией о глубине, ассоциированной с пикселями, пространственно смежными с текущим пикселем на изображении глубины. Изображение глубины ассоциировано с существующими точками трехмерной сцены или частью трехмерной сцены (например, существующими точками трехмерного объекта). Каждый пиксель изображения глубины ассоциирован с соответствующей точкой трехмерной сцены, причем изображение глубины получается путем проецирования точек трехмерной сцены на соответствующие пиксели, а атрибуты глубины точек сохраняются в изображении глубины и ассоциируются с соответствующими пикселями.In the
Во второй операции 82 генерируются одна или несколько дополнительных точек трехмерной сцены в дополнение к текущей точке, которая ассоциирована с текущим пикселем. Текущая точка, например, генерируется путем обратного проецирования текущего пикселя, используя параметры проецирования, использованных для получения изображения глубины из существующих точек трехмерной сцены. Одна или более точек генерируются, например, путем использования текущей точки и точки трехмерной сцены, полученной путем обратного проецирования пикселя изображения глубины, смежного с текущим пикселем, когда разность глубин между текущим пикселем и соседним пикселем больше, чем первое значение Th1 и меньше, чем второе значение Th2. Дополнительные точки могут быть сгенерированы, например, для каждой пары точек (каждая пара включает в себя текущую точку и точку из окрестности текущей точки, соответствующую пикселю изображения глубины, смежному с текущим пикселем), имеющей разность глубин, лежащую между первым значением и вторым значением. Число генерируемых дополнительных точек зависит от разности глубин: чем больше разность глубин, тем больше число генерируемых дополнительных точек.In the
В соответствии с одним вариантом осуществления, смежный пиксель, имеющий наибольшую разность глубин с текущим пикселем, выбирается среди смежных пикселей, имеющих разность глубин с текущим пикселем, лежащую между первым значением и вторым значением, и дополнительные точки генерируются с использованием только текущей точка и соседней точки, соответствующей упомянутому смежному пикселю, имеющему наибольшую разность глубин.In accordance with one embodiment, the adjacent pixel having the largest depth difference with the current pixel is selected among adjacent pixels having a depth difference with the current pixel lying between the first value and the second value, and additional points are generated using only the current point and the neighboring point. corresponding to said adjacent pixel having the largest depth difference.
Атрибуты, которые должны быть ассоциированы с дополнительными точками, в частности, атрибуты текстуры, определяются с использованием атрибутов текущих точек и соседних точек (соответствующих, соответственно, текущему пикселю и смежному пикселю), используемых для генерации дополнительных точек. Атрибуты текстуры получаются, например, путем интерполяции атрибутов текстуры текущей точки и соседней точки.The attributes to be associated with the extra points, in particular the texture attributes, are defined using the current point and neighbor point attributes (corresponding to the current pixel and adjacent pixel, respectively) used to generate the extra points. The texture attributes are obtained, for example, by interpolating the texture attributes of the current point and the neighboring point.
Первая и вторая операции могут повторяться для множества текущих пикселей (или, эквивалентно, соответствующих текущих точек трехмерной сцены), например, для каждого пикселя изображения глубины или для каждого пикселя части пикселей изображения глубины.The first and second operations may be repeated for a plurality of current pixels (or, equivalently, corresponding current points in the 3D scene), for example, for each depth image pixel or for each pixel of a portion of the depth image pixels.
Фиг. 9 показывает пример архитектуры устройства 9, выполненного с возможностью реализации по меньшей мере одного из способов, описанных со ссылкой на фиг. 6 и 8, в соответствии с неограничивающим вариантом осуществления настоящих принципов.Fig. 9 shows an example architecture of a
Устройство 9 содержит следующие элементы, которые связаны шиной данных и адресной шиной 91:
- микропроцессор 92 (или CPU), который является, например, DSP (цифровым сигнальным процессором, Digital Signal Processor);a microprocessor 92 (or CPU), which is, for example, a DSP (Digital Signal Processor);
- ROM (или постоянную память) 93;- ROM (or read only memory) 93;
- RAM (или оперативную память) 94;- RAM (or random access memory) 94;
- интерфейс 95 хранения;-
- интерфейс 96 ввода-вывода для приема данных для передачи из приложения; и- an input/
- источник питания, например, батарею.- a power source, such as a battery.
В соответствии с одним примером, источник питания является внешним по отношению к устройству. Для каждой памяти, упомянутой выше, слово «регистр», используемое в описании, может соответствовать области небольшого размера (несколько битов) или очень большой области (например, всей программе или большому количеству принятых или декодированных данных). ROM 93 содержит по меньшей мере программу и параметры. ROM 93 может хранить алгоритмы и инструкции для выполнения способов в соответствии с настоящими принципами. При включении CPU 92 загружает программу в RAM и выполняет соответствующие инструкции.According to one example, the power supply is external to the device. For each memory mentioned above, the word "register" used in the description may correspond to a small area (a few bits) or a very large area (eg, the entire program or a large amount of received or decoded data).
RAM 94 содержит в регистре программу, выполняемую CPU 92 и загружаемую после включения устройства 9, входные данные в регистре, промежуточные данные способа в различных состояниях в регистре и другие переменные, используемые для выполнение способа в регистре.
Описанные здесь реализации могут быть реализованы, например, в способе или процессе, устройстве, компьютерном программном продукте, потоке данных или сигнале. Даже если реализация обсуждалась только в контексте одной формы реализации (например, обсуждалась только как способ или устройство), реализация обсуждавшихся признаков также может быть реализована в других формах (например, в форме программы). Устройство может быть реализовано, например, в подходящем аппаратном обеспечении, программном обеспечении и микропрограммном обеспечении. Способы могут быть реализованы, например, в устройстве, таком как, например, процессор, который относится к устройствам обработки, включающим в себя, в общем, например, компьютер, микропроцессор, интегральную схему или программируемое логическое устройство. Процессоры также включают в себя устройства связи, такие как, например, компьютеры, сотовые телефоны, портативные/персональные цифровые помощники («PDA») и другие устройства, обеспечивающие передачу информации между конечными пользователями.The implementations described herein may be implemented in, for example, a method or process, device, computer program product, data stream, or signal. Even if an implementation has only been discussed in the context of one form of implementation (eg, discussed only as a method or apparatus), the implementation of the features discussed may also be implemented in other forms (eg, program form). The device may be implemented, for example, in suitable hardware, software and firmware. The methods may be implemented, for example, in a device such as, for example, a processor, which refers to processing devices, including, in general, for example, a computer, microprocessor, integrated circuit, or programmable logic device. Processors also include communication devices such as, for example, computers, cellular phones, portable/personal digital assistants ("PDAs"), and other devices that enable the transfer of information between end users.
Точки трехмерной сцены (например, точки облака точек) и ассоциированные данные/атрибуты (например, глубина и текстура точек) получают из источника. Например, источник принадлежит набору, содержащему:3D scene points (eg, point cloud points) and associated data/attributes (eg, point depth and texture) are obtained from a source. For example, the source belongs to a set containing:
- локальную память (93 или 94), например, видеопамять или RAM (оперативная память, Random-Access Memory), флэш-память, ROM (постоянная память, Read Only Memory), жесткий диск;- local memory (93 or 94), for example, video memory or RAM (random access memory, Random-Access Memory), flash memory, ROM (read only memory), hard disk;
- интерфейс (95) хранения, например, интерфейс с поддержкой запоминающего устройства большой емкости, RAM, флэш-памяти, ROM, оптических или магнитных дисков;- interface (95) storage, for example, an interface with support for mass storage, RAM, flash memory, ROM, optical or magnetic disks;
- интерфейс связи (96), например, проводной интерфейс (например, интерфейс шины, интерфейс глобальной сети, интерфейс локальной сети) или беспроводной интерфейс (такой как интерфейс IEEE 802.11 или интерфейс Bluetooth®); и- a communication interface (96), such as a wired interface (eg a bus interface, a WAN interface, a LAN interface) or a wireless interface (such as an IEEE 802.11 interface or a Bluetooth® interface); and
- пользовательский интерфейс, такой как графический пользовательский интерфейс, позволяющий пользователю вводить данные.- a user interface, such as a graphical user interface that allows the user to enter data.
В соответствии с примерами декодирования/рендеринга или декодера(ов)/рендера(ов), декодированные точки или реконструированная трехмерная сцена посылается адресату; а именно, адресат принадлежит набору, содержащему:According to examples of decoding/rendering or decoder(s)/render(s), the decoded points or the reconstructed 3D scene are sent to the destination; namely, the destination belongs to the set containing:
- локальную память (93 или 94), например, видеопамять или RAM, флэш-память, жесткий диск;- local memory (93 or 94), such as video memory or RAM, flash memory, hard disk;
- интерфейс (95) хранения, например, интерфейс с поддержкой запоминающего устройства большой емкости, RAM, флэш-памяти, ROM, оптических или магнитных дисков; и- interface (95) storage, for example, an interface with support for mass storage, RAM, flash memory, ROM, optical or magnetic disks; and
- интерфейс связи (96), например, проводной интерфейс (например, интерфейс шины (например, USB (универсальная последовательная шина, Universal Serial Bus)), интерфейс глобальной сети, интерфейс локальной сети, HDMI (мультимедийный интерфейс высокой четкости, High Definition Multimedia Interface)) или беспроводной интерфейс (такой как интерфейс IEEE 802.11, WiFi ® или Bluetooth ®).- communication interface (96), e.g. wired interface (e.g. bus interface (e.g. USB (Universal Serial Bus)), WAN interface, LAN interface, HDMI (High Definition Multimedia Interface )) or a wireless interface (such as an IEEE 802.11, WiFi ® or Bluetooth ® interface).
В соответствии с примерами устройство 9 выполнено с возможностью реализации способа, описанного со ссылкой на по меньшей мере одну из фиг. с 6 по 8, и принадлежит набору, содержащему:According to the examples, the
- мобильное устройство;- mobile device;
- устройство связи;- communication device;
- игровое устройство;- gaming device;
- планшет (или планшетный компьютер);- tablet (or tablet computer);
- ноутбук;- laptop;
- фотоаппарат;- camera;
- видеокамеру;- video camera;
- микросхему кодирования; - coding chip;
- сервер (например, широковещательный сервер, сервер видео по запросу или веб-сервер);- server (eg broadcast server, video-on-demand server or web server);
- телеприставку; - set-top box;
- телевизор; и- TV set; and
- дисплей (например, HMD).- display (e.g. HMD).
Фиг. 10 показывает схему кодирования/декодирования трехмерной сцены, например облака 103 точек, в соответствии с конкретным и не ограничивающим вариантом осуществления настоящих принципов.Fig. 10 shows an encoding/decoding scheme for a 3D scene, such as a
Облако 103 точек кодируется в кодированные данные в виде битового потока 104 посредством процесса 101 кодирования, реализованного в модуле M101. Битовый поток передается в модуль M102, который реализует процесс 102 декодирования для декодирования кодированных данных для получения декодированного облака 105 точек. Модули M101 и M102 могут быть аппаратным обеспечением, программным обеспечением или комбинацией аппаратного и программного обеспечения.The
Облако 103 точек соответствует большому набору точек, представляющих объект, например внешнюю поверхность или внешнюю форму объекта. Облако точек может рассматриваться как структура на основе векторов, в которой каждая точка имеет свои координаты (например, трехмерные координаты XYZ или глубину/расстояние от данной точки обзора) и один или несколько компонентов. Примером компонента является компонент цвета, который может быть выражен в различных цветовых пространствах, например, RGB (красный, зеленый и синий) или YUV (Y является компонентом яркости, а UV являются двумя компонентами цветности). Облако точек может быть представлением объекта, как его можно видеть из одной или нескольких точек обзора. Облако точек может быть получено разными способами, например:The
путем захвата реального объекта, снятого одной или несколькими камерами, опционально дополненными активным датчиком глубины;by capturing a real object captured by one or more cameras, optionally supplemented with an active depth sensor;
путем захвата виртуального/синтетического объекта, снятого одной или несколькими виртуальными камерами в инструменте для моделирования;by capturing a virtual/synthetic object captured by one or more virtual cameras in the modeling tool;
из комбинации как реальных, так и виртуальных объектов.from a combination of both real and virtual objects.
Облако 103 точек может быть динамическим облаком точек, которое эволюционирует со временем, т.е. число точек может изменяться со временем и/или в зависимости от местоположения (например, по меньшей мере одной из координат X, Y и Z) одной или нескольких точек. Эволюция облака точек может соответствовать движению объекта, представленного облаком точек, и/или любому изменению формы объекта или части(ей) объекта.The
Облако 103 точек может быть представлено в кадре или в одной или нескольких группах последовательно сменяющих друг друга кадров, причем каждый кадр содержит представление облака точек в определенное время «t». Одна или несколько групп последовательно сменяющих друг друга кадров могут формировать видео, представляющее, по меньшей мере, часть облака 103 точек.The
Процесс 101 кодирования может, например, реализовывать внутрикадровое кодирование и/или межкадровое кодирование. Внутрикадровое кодирование основано на внутрикадровном предсказании, которое использует пространственную избыточность, то есть корреляцию между пикселями в пределах одного изображения, путем вычисления значений предсказания посредством экстраполяции из уже кодированных пикселей для эффективного дельта-кодирования. Межкадровое кодирование основано на межкадровном предсказании, которое использует временную избыточность. Кодируемые независимо во времени так называемые кадры «I» с внутренним кодированием используют только внутреннее кодирование. Предсказанные кадры «P» (или «B») с временным кодированием могут использовать внутрикадровое и межкадровое предсказание.The
Процесс 102 декодирования может соответствовать, например, обратным операциям процесса 101 кодирования для декодирования данных, закодированных с помощью процесса кодирования.The
Фиг. 11 показывает пример синтаксиса сигнала, передаваемого, например, между двумя удаленными устройствами, когда данные передаются по протоколу передачи на основе пакетов. Каждый передаваемый пакет P содержит заголовок H и данные PAYLOAD полезной информации.Fig. 11 shows an example of the syntax of a signal transmitted between two remote devices, for example, when data is transmitted over a packet-based transmission protocol. Each transmitted packet P contains a header H and payload data PAYLOAD.
В соответствии с вариантами осуществления, полезная информация PAYLOAD может содержать по меньшей мере один из следующих элементов:According to embodiments, the PAYLOAD payload may comprise at least one of the following elements:
- биты, которые представляют собой по меньшей мере одно изображение, представляющее собой облако точек в определенное время t, например, биты могут представлять собой информацию о текстуре и/или информацию о глубине, ассоциированную с пикселями по меньшей мере одного изображения;- bits that represent at least one image representing a cloud of points at a certain time t, for example, the bits may represent texture information and/or depth information associated with pixels of at least one image;
- биты, которые представляют собой данные информации о проекции и соответствии между проекциями и изображениями по меньшей мере одного кадра.- bits, which are projection and correspondence information data between projections and images of at least one frame.
Фиг. 12 показывает операции для кодирования трехмерной сцены, например, облака 103 точек в соответствии с конкретным и неограничивающим вариантом осуществления настоящих принципов. Операции могут быть частью процесса 101 кодирования и могут быть реализованы устройством 9 на фиг. 9.Fig. 12 shows operations for encoding a 3D scene, such as a
В операции 120 данные кадра 20 облака точек кодируются кодером ENC1. Кадр 20 является, например, частью группы кадров (GOP) и содержит данные, представляющие собой облако точек в определенное время «t». Кадр 20 может содержать набор изображений, при этом по меньшей мере одно из изображений набора содержит атрибуты, которые соответствуют по меньшей мере части данных кадра 20. Атрибуты могут быть получены путем проецирования, в соответствии с определенной проекцией, части облака точек в каждом изображении, при этом атрибуты соответствуют атрибутам точек части облака точек, проецируемой на упомянутое каждое изображение. Атрибуты могут соответствовать информации о текстуре (или цвете) и/или информации о глубине (или расстоянии до точки обзора). Кодер ENC1, например, совместим с традиционным кодером, таким как:In
JPEG, спецификация ISO/CEI 10918-1 Рекомендация UIT-T T.81, https://www.itu.int/rec/T-REC-T.81/en,JPEG specification ISO/CEI 10918-1 Recommendation UIT-T T.81, https://www.itu.int/rec/T-REC-T.81/en,
AVC, также называемый MPEG-4 AVC или h264. Описывается в UIT-T H.264 и ISO/CEI MPEG-4, Часть 10 (ISO/CEI 14496-10), http://www.itu.int/rec/T-REC-H.264/en,AVC, also called MPEG-4 AVC or h264. Described in UIT-T H.264 and ISO/CEI MPEG-4 Part 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>) илиHEVC (description can be found on the ITU website, recommendation T, series H, h265, <http://www.itu.int/rec/T-REC-H.265-201612-I/en>), or
3D-HEVC (расширение HEVC, описание которого находится на веб-сайте ITU, рекомендация T, серия H, h265, http://www.itu.int/rec/T-REC-H.265-201612-I/en Приложение G и I).3D-HEVC (extension of HEVC, described on the ITU website, recommendation T, series H, h265, http://www.itu.int/rec/T-REC-H.265-201612-I/en Appendix G and I).
Кодированные данные кадра 20 могут быть сохранены и/или переданы в битовом потоке 104.The encoded data of
В операции 121 кодированные данные кадра 20 декодируются декодером DEC1. Декодер DEC1 совместим с кодером ENC1, например, совместим с традиционным декодером, таким как:In
JPEG,JPEG,
AVC, также называемым MPEG-4 AVC или h264,AVC, also called MPEG-4 AVC or h264,
HEVC илиHEVC or
3D-HEVC (расширение HEVC).3D-HEVC (HEVC extension).
Атрибуты, закодированные в операции 120, декодируются и извлекаются в операции 121, например, сохраняются в буферной памяти для использования при генерации опорного кадра 125, ассоциированного с кадром 20.The attributes encoded in
В операции 122, реализуемой с помощью модуля M122, каждое изображение обрабатывается, как описано со ссылкой на фиг. 6 и/или 8 для генерации точек облака точек и для заполнения дырок, которые могут быть, например, результатом процессов 120, 121 кодирования/декодирования.In
Опорный кадр 125 может быть получен из скорректированного изображения(ий), полученного из модуля M122.Reference frame 125 may be obtained from the corrected image(s) obtained from module M122.
Опорный кадр 125 может использоваться в операции 124, реализуемой с помощью модуля M124. Операция 124 содержит, например, генерацию предсказателей для внешнего предсказания для кодирования одного или нескольких кадров облака точек, отличающихся от кадра 20 (например, кадров облака точек в определенные моменты времени, отличные от времени t кадра 20). Облако 103 точек или кадры, представляющие собой облако точек, затем могут быть закодированы посредством обращения к опорному кадру 125. В соответствии с одним вариантом осуществления, модуль M124 является частью кодера ENC1.The reference frame 125 may be used in
Естественно, таким же образом, как опорный кадр 125, может быть получено множество опорных кадров, при этом каждый опорный кадр из этого множества получается из конкретного кадра, представляющего собой облако точек, и при этом кодирование облака 103 точек обращается к одному или нескольким опорным кадрам.Naturally, in the same manner as reference frame 125, a plurality of reference frames may be obtained, with each reference frame in the set being derived from a particular point cloud frame, with
Фиг. 13 показывает операции для декодирования кодированной версии облака 103 точек из потока 104 битов в соответствии с конкретным и неограничивающим вариантом осуществления настоящих принципов. Операции могут быть частью процесса 102 декодирования и могут быть реализованы устройством 9 на фиг. 9.Fig. 13 shows operations for decoding an encoded version of a
В операции 131 кодированные данные одного или нескольких кадров (например, кадров одной или нескольких GOP или внутреннего периода) облака точек декодируются декодером DEC2 из принятого битового потока 104. Битовый поток 104 содержит закодированные данные одного или нескольких кадров. Каждый кадр содержит набор изображений, по меньшей мере одно из изображений из этого набора содержит атрибуты, которые соответствуют по меньшей мере части данных изображения, которое было закодировано. Атрибуты могут быть получены путем проецирования в соответствии с первой проекцией части облака точек в каждом первом изображении, при этом атрибуты соответствуют атрибутам точек части облака точек, проецируемых на упомянутое каждое первое изображение. Атрибуты могут соответствовать информации о текстуре (или цвете) и/или информации о глубине (или расстоянии до точки обзора). Декодер DEC2 может соответствовать декодеру DEC1 на фиг. 12, и он совместим, например, с традиционным декодером, таким как:In
JPEG,JPEG,
AVC, также называемым MPEG-4 AVC или H264,AVC, also called MPEG-4 AVC or H264,
HEVC илиHEVC or
3D-HEVC (расширение HEVC).3D-HEVC (HEVC extension).
Атрибуты, декодированные в операции 131, извлекаются, например, сохраняются в буферной памяти, для использования при генерации одного или более опорных кадров 135, при этом каждый опорный кадр ассоциирован с одним кадром. В дальнейшем для ясности и краткости будет рассматриваться только один опорный кадр, ассоциированный с одним кадром.The attributes decoded in
В операции 132, реализуемой с помощью модуля M132 (который может быть идентичен модулю M122 на фиг. 12), обрабатываются декодированные атрибуты, как описано со ссылкой на фиг. 6 и/или 8, для генерации точек облака точек и для заполнения дырок, которые могут возникать, например, в результате процессов 120, 131 кодирования/декодирования.In
Опорный кадр 135 (который может быть идентичен опорному кадру 125 фиг. 12) может быть получен из кадра путем слияния декодированных первых атрибутов, полученных в операции 121, со вторыми атрибутами, полученными в операции 123. Опорный кадр может содержать ту же самую структуру, что и кадр, то есть такое же пространственное расположение множества изображений, но с другими данными, то есть с декодированными первыми атрибутами и полученными вторыми атрибутами. Подробное описание примера процесса для получения опорного кадра было представлено выше при описании фиг. 9.Reference frame 135 (which may be identical to reference frame 125 of FIG. 12) may be obtained from the frame by merging the decoded first attributes obtained in
Опорный кадр 135 может использоваться в операции 134, реализованной с помощью модуля М134. Операция 134 содержит, например, генерацию предсказателей для внешнего предсказания при декодировании закодированных данных, содержащихся в битовом потоке. Эти данные, ассоциированные с генерацией предсказателя, могут содержатьThe
- тип предсказания, например флаг, указывающий, является ли режим предсказания внутренним или внешним,- type of prediction, for example a flag indicating whether the prediction mode is internal or external,
- вектор движения и/или- motion vector and/or
- индекс для указания опорного кадра в списке опорных кадров.- index for specifying the key frame in the list of key frames.
Естественно, таким же образом, как опорный кадр 135, может быть получено множество опорных кадров, при этом каждый опорный кадр из этого множества получается из декодированных данных конкретного кадра, представляющего собой облако точек, при этом декодирование данных битового потока 104 может быть основано на одном или нескольких опорных кадрах для получения декодированного облака 105 точек.Naturally, in the same manner as
Естественно, настоящий документ не ограничен вариантами осуществления, описанными выше.Naturally, this document is not limited to the embodiments described above.
Настоящий документ не ограничен способом генерации точки(ек) трехмерной сцены, но также распространяется на способ кодирования и/или декодирования трехмерной сцены/облака точек и/или на способ и устройство для передачи битового потока, полученного путем кодирования трехмерной сцены/облака точек, и/или способ и устройство для приема битового потока, полученного путем кодирования трехмерной сцены/облака точек. Настоящий документ также распространяется на способ и устройство для рендеринга и/или отображения декодированной трехмерной сцены/облака точек, то есть изображений трехмерного объекта, представленного декодированным облаком точек, причем с каждым изображением ассоциирована точка обзора.The present document is not limited to a method for generating point(s) of a 3D scene, but also covers a method for encoding and/or decoding a 3D scene/point cloud and/or a method and apparatus for transmitting a bitstream obtained by encoding a 3D scene/point cloud, and /or a method and apparatus for receiving a bitstream obtained by encoding a three-dimensional scene/point cloud. The present document also covers a method and apparatus for rendering and/or displaying a decoded 3D scene/point cloud, i.e., images of a 3D object represented by a decoded point cloud, with each image having an associated viewpoint.
Реализации, описанные здесь, могут быть реализованы, например, в способе или процессе, устройстве, программно реализованной программе, потоке данных или сигнале. Даже если реализация обсуждалась только в контексте одной формы реализации (например, обсуждалась только как способ или устройство), реализация обсуждавшихся признаков также может быть реализована в других формах (например, в форме программы). Устройство может быть реализовано, например, в подходящем аппаратном обеспечении, программном обеспечении и микропрограммном обеспечении. Способы могут быть реализованы, например, в устройстве, таком как, например, процессор, который относится к устройствам обработки, включающим в себя, в общем, например, компьютер, микропроцессор, интегральную схему или программируемое логическое устройство. Процессоры также включают в себя коммуникационные устройства, такие как, например, смартфоны, планшеты, компьютеры, мобильные телефоны, портативные/персональные цифровые помощники ("PDA") и другие устройства, которые обеспечивают передачу информации между конечными пользователями.The implementations described herein may be implemented in, for example, a method or process, device, software program, data stream, or signal. Even if an implementation has only been discussed in the context of one form of implementation (eg, discussed only as a method or apparatus), the implementation of the features discussed may also be implemented in other forms (eg, program form). The device may be implemented, for example, in suitable hardware, software and firmware. The methods may be implemented, for example, in a device such as, for example, a processor, which refers to processing devices, including, in general, for example, a computer, microprocessor, integrated circuit, or programmable logic device. Processors also include communication devices such as, for example, smartphones, tablets, computers, mobile phones, portable/personal digital assistants ("PDAs"), and other devices that enable the transfer of information between end users.
Реализации различных процессов и признаков, описанных в настоящем описании, могут быть воплощены во множестве различных приложений или оборудовании, в частности, например, приложениях или оборудовании, связанных с кодированием данных, декодированием данных, созданием визуализации, обработкой текстур и другой обработкой изображений и соответствующей информации о текстурах и/или информации о глубине. Примеры такого оборудования включают в себя кодер, декодер, постпроцессор, обрабатывающие выходные данные декодера, препроцессор, обеспечивающий входные данные для кодера, видеокодер, видеодекодер, видеокодек, веб-сервер, абонентскую приставку, ноутбук, персональный компьютер, сотовый телефон, PDA, HMD (шлем-дисплей, Head-Mounting Display), умные очки и другие устройства связи. Как должно быть ясно, оборудование может быть мобильным и даже установленным в мобильном транспортном средстве.Implementations of the various processes and features described herein may be embodied in a variety of different applications or equipment, in particular, for example, applications or equipment related to data encoding, data decoding, rendering generation, texture processing, and other processing of images and related information. about textures and/or depth information. Examples of such equipment include an encoder, a decoder, a post-processor that processes the output of the decoder, a preprocessor that provides input to the encoder, a video encoder, a video decoder, a video codec, a web server, a set-top box, a laptop, a personal computer, a cellular phone, a PDA, an HMD ( helmet display, Head-Mounting Display), smart glasses and other communication devices. As should be clear, the equipment may be mobile and even installed in a mobile vehicle.
Дополнительно способы могут быть реализованы с помощью инструкций, выполняемых процессором, и такие инструкции (и/или значения данных, создаваемых реализацией) могут храниться на процессорно-читаемом носителе, таком как, например, интегральная схема, программный носитель или другое запоминающее устройство, такое как, например, жесткий диск, компактная дискета (“CD”), оптический диск (такой как, например, DVD, часто называемый цифровым универсальным диском или цифровым видеодиском), оперативная память (“RAM”) или постоянная память (“ROM”). Инструкции могут формировать прикладную программу, материально воплощенную на процессорно-читаемом носителе. Инструкции могут быть, например, в аппаратном обеспечении, микропрограммном обеспечении, программном обеспечении или их комбинации. Инструкции могут быть найдены, например, в операционной системе, отдельном приложении или их комбинации. Поэтому процессор может быть охарактеризован как, например, и устройство, выполненное с возможностью выполнения процесса, и устройство, которое включает в себя процессорно-читаемый носитель (такой как запоминающее устройство), имеющий инструкции для выполнения процесса. Кроме того, процессорно-читаемый носитель может хранить, в дополнение или вместо инструкций, значения данных, создаваемых реализацией.Additionally, the methods may be implemented using instructions executable by a processor, and such instructions (and/or data values generated by the implementation) may be stored on a processor-readable medium, such as, for example, an integrated circuit, a program medium, or other storage device, such as , for example, a hard disk, a compact diskette (“CD”), an optical disk (such as, for example, a DVD, often referred to as a digital versatile disk or digital video disc), random access memory (“RAM”), or read only memory (“ROM”). The instructions may form an application program tangibly embodied on a processor-readable medium. The instructions may be, for example, in hardware, firmware, software, or a combination thereof. Instructions can be found, for example, in the operating system, a single application, or a combination of both. Therefore, a processor can be characterized as, for example, both a device capable of executing a process and a device that includes a processor-readable medium (such as a storage device) having instructions for executing a process. In addition, the processor-readable medium may store, in addition to or instead of instructions, data values generated by the implementation.
Как будет очевидно специалисту в данной области техники, реализации могут создавать множество сигналов, отформатированных для переноса информации, которая, например, может сохраняться или передаваться. Информация может включать в себя, например, инструкции для выполнения способа или данные, создаваемые одной из описанных реализаций. Например, сигнал может быть отформатирован для переноса в качестве данных правил для записи или чтения синтаксиса описанного варианта осуществления или переноса в качестве данных фактических значений синтаксиса, записанных с помощью описанного варианта осуществления. Такой сигнал может быть отформатирован, например, как электромагнитная волна (например, используя радиочастотную часть спектра) или как сигнал основной полосы частот. Форматирование может включать в себя, например, кодирование потока данных и модуляцию несущей с потоком кодированных данных. Информация, которую переносит сигнал, может быть, например, аналоговыми или цифровыми данными. Как известно, сигнал может быть передан по множеству различных проводных или беспроводных линий связи. Сигнал может быть сохранен на процессорно-читаемом носителе.As will be appreciated by one of skill in the art, implementations may create a variety of signals formatted to carry information that may, for example, be stored or transmitted. The information may include, for example, instructions for performing a method or data generated by one of the described implementations. For example, the signal may be formatted to be transported as rules data for writing or reading the syntax of the described embodiment, or transported as data of actual syntax values written using the described embodiment. Such a signal may be formatted, for example, as an electromagnetic wave (eg, using the radio frequency portion of the spectrum) or as a baseband signal. The formatting may include, for example, encoding the data stream and carrier modulation with the encoded data stream. The information carried by the signal may be, for example, analog or digital data. As is known, a signal can be transmitted over a variety of different wired or wireless links. The signal may be stored on a processor-readable medium.
Выше был описан ряд реализаций. Однако следует иметь в виду, что могут быть сделаны различные модификации. Например, элементы различных реализаций могут быть объединены, дополнены, модифицированы или удалены для создания других реализаций. Кроме того, специалисту в данной области техники будет понятно, что другие структуры и процессы могут заменить раскрытые, и полученные реализации будут выполнять по меньшей мере по существу ту же самую функцию(и) по меньшей мере по существу таким же образом, чтобы достигнуть по меньшей мере по существу тот же самый результат(ы), как и раскрытые реализации. Соответственно, эти и другие реализации предусматриваются этой заявкой.A number of implementations have been described above. However, it should be borne in mind that various modifications can be made. For example, elements from different implementations may be combined, added, modified, or removed to create other implementations. In addition, one skilled in the art will appreciate that other structures and processes may replace the disclosed ones, and the resulting implementations will perform at least substantially the same function(s) in at least substantially the same manner to achieve at least at least essentially the same result(s) as the disclosed implementations. Accordingly, these and other implementations are contemplated by this application.
Claims (19)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17306345.4A EP3467782A1 (en) | 2017-10-06 | 2017-10-06 | Method and device for generating points of a 3d scene |
EP17306345.4 | 2017-10-06 | ||
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 |
---|---|
RU2020115158A RU2020115158A (en) | 2021-11-08 |
RU2788439C2 true RU2788439C2 (en) | 2023-01-19 |
Family
ID=
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090174710A1 (en) * | 2008-01-08 | 2009-07-09 | Samsung Electronics Co., Ltd. | Modeling method and apparatus |
RU2407224C2 (en) * | 2005-04-19 | 2010-12-20 | Конинклейке Филипс Электроникс Н.В. | Depth perception |
US20130194255A1 (en) * | 2012-01-26 | 2013-08-01 | Samsung Electronics Co., Ltd. | Image processing method and apparatus for 3d video |
US20150172717A1 (en) * | 2013-12-16 | 2015-06-18 | Qualcomm Incorporated | Large blocks and depth modeling modes (dmm's) in 3d video coding |
US20170116781A1 (en) * | 2015-10-21 | 2017-04-27 | Nokia Technologies Oy | 3d scene rendering |
US20170116497A1 (en) * | 2015-09-16 | 2017-04-27 | Siemens Healthcare Gmbh | Intelligent Multi-scale Medical Image Landmark Detection |
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2407224C2 (en) * | 2005-04-19 | 2010-12-20 | Конинклейке Филипс Электроникс Н.В. | Depth perception |
US20090174710A1 (en) * | 2008-01-08 | 2009-07-09 | Samsung Electronics Co., Ltd. | Modeling method and apparatus |
US20130194255A1 (en) * | 2012-01-26 | 2013-08-01 | Samsung Electronics Co., Ltd. | Image processing method and apparatus for 3d video |
US20150172717A1 (en) * | 2013-12-16 | 2015-06-18 | Qualcomm Incorporated | Large blocks and depth modeling modes (dmm's) in 3d video coding |
US20170116497A1 (en) * | 2015-09-16 | 2017-04-27 | Siemens Healthcare Gmbh | Intelligent Multi-scale Medical Image Landmark Detection |
US20170116781A1 (en) * | 2015-10-21 | 2017-04-27 | Nokia Technologies Oy | 3d scene rendering |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111615715B (en) | Method, apparatus and stream for encoding/decoding volumetric video | |
JP7407703B2 (en) | Method and device for generating points in a 3D scene | |
US20200273258A1 (en) | Method and device for modifying attributes of points of a 3d scene | |
US20190108655A1 (en) | Method and apparatus for encoding a point cloud representing three-dimensional objects | |
CN110383342B (en) | Method, apparatus and stream for immersive video format | |
US11019363B2 (en) | Method and device for encoding a point cloud | |
EP3429206A1 (en) | Method and device for encoding a point cloud | |
US20200302652A1 (en) | A method and apparatus for encoding/decoding a colored point cloud representing the geometry and colors of a 3d object | |
EP3467778A1 (en) | A method and apparatus for encoding/decoding the geometry of a point cloud representing a 3d object | |
WO2019112995A1 (en) | A method and apparatus for encoding/decoding the geometry of a point cloud representing a 3d object | |
CN114051734A (en) | Method and device for decoding three-dimensional scene | |
US20200296427A1 (en) | A method and apparatus for encoding/decoding the colors of a point cloud representing a 3d object | |
RU2788439C2 (en) | Method and device for generation of points of three-dimensional (3d) scene |