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 PDF

Info

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
Application number
RU2020115158A
Other languages
Russian (ru)
Other versions
RU2020115158A (en
Inventor
Себастьен ЛАССЕРР
Жюльен РИКАР
Реми ЖЮЛЛЬЯН
Original Assignee
ИНТЕРДИДЖИТАЛ ВиСи ХОЛДИНГЗ, ИНК.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from EP17306345.4A external-priority patent/EP3467782A1/en
Application filed by ИНТЕРДИДЖИТАЛ ВиСи ХОЛДИНГЗ, ИНК. filed Critical ИНТЕРДИДЖИТАЛ ВиСи ХОЛДИНГЗ, ИНК.
Publication of RU2020115158A publication Critical patent/RU2020115158A/en
Application granted granted Critical
Publication of RU2788439C2 publication Critical patent/RU2788439C2/en

Links

Images

Abstract

FIELD: information technology; image processing.
SUBSTANCE: method for generation of points of a three-dimensional scene from a depth image contains stages, at which, for the current pixel of the mentioned depth image, information about depth, associated with the mentioned current pixel, is compared with information about depth, associated with pixels spatially adjacent to the mentioned current pixel on the mentioned depth image, when the difference of depths between the mentioned current pixel and the adjacent pixel is more than the first value or equal to it and less than the second value, or equal to it, wherein the second value indicates that the current pixel and the adjacent pixel relate to the same object of the tree-dimensional scene or to the same part of the object of the three-dimensional scene.
EFFECT: increase in the accuracy of building of a three-dimensional image scene.
15 cl, 17 dwg

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 object 10 and points of the point cloud 11 corresponding to the three-dimensional model 10. The model 10 may be a three-dimensional grid representation and the points of the point cloud 11 may be grid vertices. The points 11 may also be points distributed over the surface of the mesh faces. The model 10 can also be represented as a splatted (i.e., snowball-throwing) version of the point cloud 11, whereby the surface of the model 10 is created by splatting ("snowball-throwing") a point from the point cloud 11. The model 10 can be represented using many different representations such as voxels or splines. Fig. 1 illustrates the fact that it is always possible to define a point cloud from a representation of the surface of a 3D object, and vice versa, it is always possible to create a representation of the surface of a 3D object from points in the cloud. In the present description, projecting points of a 3D object (by propagating points of a 3D scene) onto an image is equivalent to projecting any representation of that 3D object onto the object.

Первое представление 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 point cloud 10 may be a dynamic point cloud that evolves over time, ie. the number of points may vary over time and/or depending on the location (eg, at least one of the X, Y, and Z coordinates) of one or more points. The evolution of a point cloud may correspond to the movement of the object represented by the point cloud and/or any change in the shape of the object or part(s) of the object.

Облако 10 точек может быть представлено на кадре или в одной или нескольких группах последовательно сменяющих друг друга кадров, при этом каждый кадр содержит представление облака точек в определенное время «t». Одна или несколько групп последовательно сменяющих друг друга кадров могут образовывать видео, представляющее, по меньшей мере, часть облака 10 точек.The point cloud 10 may be represented on a frame or in one or more groups of successive frames, with each frame containing a representation of the point cloud at a specific time "t". One or more groups of consecutive frames may form a video representing at least a portion of the cloud 10 points.

Второе представление 11 части объекта может быть получено из представления 10 в виде облака точек, второе представление соответствует представлению в виде поверхности. Облако точек может быть обработано для вычисления его поверхности. С этой целью для данной точки облака точек используются соседние точки этой заданной точки для вычисления нормали к локальной поверхности в этой заданной точке, при этом элемент поверхности, ассоциированный с этой заданной точкой, получается из этой нормали. Процесс повторяется для всех точек, чтобы получить поверхность. Методы восстановления поверхности по облаку точек описаны, например, Matthew Berger и др. в “State of the Art in Surface Reconstruction from Point Clouds”, State of the Art Report, 2014. Согласно одному варианту осуществления, элемент поверхности, ассоциированный с данной точкой облака точек, получается путем применения рендеринга сплэт-метода («бросания снежков») к этой заданной точке. Поверхность объекта (также называемая предполагаемой поверхностью или внешней поверхностью объекта) получается путем смешивания всех «следов от снежков» (например, эллипсоидов), ассоциированных с точками облака точек.The second representation 11 of the object part can be obtained from the point cloud representation 10, the second representation corresponding to the surface representation. A point cloud can be processed to compute its surface. To this end, for a given point in the point cloud, the neighboring points of that given point are used to calculate the normal to the local surface at that given point, with the surface element associated with that given point derived from that normal. The process is repeated for all points to obtain a surface. Methods for restoring a surface from a point cloud are described, for example, by Matthew Berger et al. in “ State of the Art in Surface Reconstruction from Point Clouds ”, State of the Art Report, 2014. In one embodiment, the surface element associated with a given cloud point points, is obtained by applying the splat rendering method ("throwing snowballs") to this given point. The surface of an object (also called the estimated surface or outer surface of the object) is obtained by blending all the "snowball tracks" (eg, ellipsoids) associated with points in the point cloud.

В одном конкретном варианте осуществления облако точек представляет только частичные ракурсы объекта, а не объект в целом, и это соответствует тому, как объект должен выглядеть с отрисовываемой стороны, например, в кинематографической сцене. Например, при съемке персонажа, обращенного к плоскому массиву камер, генерируется облако точек только на стороне стенда. Задняя часть персонажа вообще не существует, объект не является замкнутым, и поэтому геометрическими характеристиками этого объекта является совокупность всех поверхностей, ориентированных в направлении стенда (угол между нормалью к каждой локальной поверхности и лучом обратно к захватывающему устройству равен, например, менее 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 point cloud frame 20, such as a GOP (Group of Pictures) frame of a point cloud. Frame 20 consists of a set of n images 201, 202, 203, 20n, where n is an integer greater than or equal to 2. Each of images 201 to 20n corresponds to an array of pixels, the size and/or definition of which may vary from one image to another. another image. For example, the definitions of images 201 and 20n are the same, while the definitions of images 202, 203 differ from each other and from the definitions of images 201 and 20n. In the example in FIG. 2A, images 201 to 20n are spatially arranged to cover the entire frame 20 with no overlap between images. According to one embodiment, images 201 to 20n do not cover the entire frame, there is space between images 201 to 202, or between at least some of them, i.e. the edges of two adjacent images may not touch. Each pixel of images 201 to 20n may have data associated with it, such as texture information and/or depth information. Texture information, for example, may be stored as gray levels associated with each channel of a color space (for example, RGB color space or YUV color space), with the gray level for each channel, for example, expressed using the first certain number of bits, for example, 8, 10 or 12 bits. Depth information, for example, can be stored as a value, for example, in the α-channel using a second certain number of bits, such as 8, 10 or 12 bits. Thus, four RGBα or YUVα components (eg, four 10-bit channels) may be associated with, for example, each pixel in Figure 20 to represent a point cloud at a particular time "t". According to one embodiment, the first frame 20 is used to store texture information (e.g. 3 RGB or YUV components) and the second frame with the same image arrangement is used to store depth information, both images representing a point cloud at the time time "t". The set of images forming frame 20 can be obtained, for example, by projecting the points of the point cloud in accordance with the projection(s), for example, a different projection for each first image, as shown in Figure 3.

Фиг. 3 изображает куб 31, ограничивающий по меньшей мере часть облака 10 точек в соответствии с неограничивающим примером настоящих принципов.Fig. 3 shows a cube 31 delimiting at least a portion of a point cloud 10 in accordance with a non-limiting example of the present principles.

Куб 31 разбит, например, на 8 подкубов (для ясности показан только один подкуб 32 из 8 подкубов) на первом уровне разбиения. Подкуб 32 также разбит на 8 подкубов (для ясности показан только один подкуб 33 из 8 подкубов) на втором уровне разбиения. На каждом уровне разбиения часть точек облака точек может быть спроецирована (например, в соответствии с ортогональной проекцией) на одну или несколько граней куба(ов) (например, грани с серой заливкой). Например, точки облака точек проецируются на грань 301 куба 31, на грань 302 куба 32 и на грань 303 куба 33. Например, грани дискретизируются, образуя массивы пикселей с определениями/размерами, которые зависят от уровня разбиения куба. Например, для пикселя грани куба точка облака точек, которая проецируется на упомянутый пиксель, соответствует точке облака точек, которая находится ближе всего к указанному пикселю при трассировке луча от указанного пикселя и ортогонально к грани, содержащей указанный пиксель. Атрибуты, ассоциированные с упомянутым пикселем, соответствуют атрибутам (текстура и/или глубина) точки, спроецированной на упомянутый пиксель.Cube 31 is partitioned, for example, into 8 sub-cubes (only one sub-cube 32 out of 8 sub-cubes is shown for clarity) at a first level of partitioning. Subcube 32 is also split into 8 subcubes (only one subcube 33 out of 8 subcubes is shown for clarity) at the second level of partitioning. At each mesh level, a portion of the points in the point cloud may be projected (eg, in accordance with an orthographic projection) onto one or more faces of the cube(s) (eg, gray-filled faces). For example, point cloud points are projected onto face 301 of cube 31, onto face 302 of cube 32, and onto face 303 of cube 33. For example, the faces are sampled into pixel arrays with definitions/sizes that depend on the level of cube subdivision. For example, for a cube face pixel, the point in the point cloud that is projected onto said pixel corresponds to the point in the point cloud that is closest to the specified pixel when raytraced from the specified pixel and orthogonal to the face containing the specified pixel. The attributes associated with said pixel correspond to the attributes (texture and/or depth) of a point projected onto said pixel.

Грань 301 используется, например, для формирования изображения 201, грань 302 для формирования изображения 302 и грань 303 для формирования изображения 303.Face 301 is used for imaging 201, face 302 for imaging 302, and face 303 for imaging 303, for example.

Фиг. 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 point cloud frame 21, such as a point cloud GOP frame. Frame 21 consists of a set of m images 211, 212, 213, 214, 21m, where m is an integer greater than or equal to 2. The arrangement of images 211 to 21m may differ from the arrangement of frame 20, for example, with free space between images with 211 to 21m. Images 211 to 21m may have different sizes and/or definitions. Each image may receive attributes from point cloud points, said attributes being associated with at least some of each image's pixels 211 to 21m. For example, the part of each image that receives attributes from the point cloud is shown as a gray area, and the part of the image that does not receive attributes from the point cloud is shown as a white area, and the specified white area can be filled with a default value, as free space between images. As for frame 20 in FIG. 2A, data associated with image pixels 211 to 21n may correspond to texture information and/or depth information. In one embodiment, the first frame 21 is used to store texture information (e.g. 3 RGB or YUV components), and the second frame 21 with the same arrangement of images 211 to 21m is used to store depth information, both images representing a cloud point in time point "t".

Набор изображений, формирующих кадр 21, может содержать, например, одно или несколько первых изображений и, потенциально, одно или несколько вторых изображений. Первое изображение(я) (по меньшей мере серая область каждого первого изображения) может быть получено, например, путем проецирования точек облака точек в соответствии с первой проекцией(ями), например, разная первая проекция на каждое первое изображение, как показано на фиг. 4.The set of images forming frame 21 may include, for example, one or more first images and potentially one or more second images. The first image(s) (at least the gray area of each first image) can be obtained, for example, by projecting the points of the point cloud in accordance with the first projection(s), for example, a different first projection on each first image, as shown in FIG. four.

Фиг. 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 images constituting frame 21 in accordance with a non-limiting example of the present principles. The point cloud representing the 3D object 4 is partitioned into a plurality of 3D parts, such as 50, 100, 1000 or more 3D parts, 3 of which are shown in FIG. 4, that is, three-dimensional portions 42, 43 and 44, wherein the three-dimensional portion 44 contains points of a point cloud representing a part of a human head (corresponding, for example, to point cloud 10 in FIG. 1), the three-dimensional portion 42 contains points of a point cloud representing armpit of a person, and the three-dimensional part 43 contains the points of a point cloud representing a human arm. One or more images of each three-dimensional part or part of three-dimensional parts are generated in order to represent each three-dimensional part in two dimensions, that is, according to a two-dimensional parameterization. For example, a 2D parameterization 401 is obtained for the 3D part 44, a 2D parameterization 402 is obtained for the 3D part 42, and 2 different 2D parameterizations 403 and 404 are obtained for the 3D part 43. The 2D parameterization may vary from one 3D part to another. For example, the 2D parametrization 401 associated with the 3D part 41 is a linear perspective projection, while the 2D parametrization 402 associated with the 3D part 42 is LLE, and the 2D parametrization 403 and 404 associated with the 3D part 43 are both orthogonal. projections corresponding to different viewpoints. According to one embodiment, all 2D parameterizations associated with all 3D parts are of the same type, such as linear perspective projection or orthographic projection. According to one embodiment, different 2D parameterizations may be used for the same 3D part.

Двухмерная параметризация, ассоциированная с одной данной трехмерной частью облака точек, соответствует просмотру в двух измерениях данной трехмерной части облака точек, позволяющей дискретизировать заданную трехмерную часть, то есть двухмерное представление содержимого (т.е. точка(и)) этой данной трехмерной части содержит множество дискретных значений (которые могут соответствовать пикселям первого изображения), число которых зависит от применяемого шага дискретизации. Двухмерная параметризация может быть получена различным образом, например, путем реализации любого из следующих способов: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 frame 21.

Фиг. 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 2D representation 5A of a portion of a 3D object 10, such as a cross section of a 3D object 10. Cross section points 5A are represented by a square that corresponds to a cube or voxel in 3D representation 10. For example, a square (or cube) 510 is represented by a point 51. Cubes or voxels are associated with points in a 3D scene (or points in a point cloud when the 3D scene is represented by a point cloud) to fill the space of the 3D scene. Some of the squares shown in Fig. 5A may be empty, i.e. there is no point in the 3D scene associated with them, i.e. there is no texture and depth associated with them. The surface of the three-dimensional object 10 is represented by a straight line 50, and the points 501 to 506 correspond to the points seen from the viewpoint 52. The squares associated with points 501 to 506 are shown in grayscale. By projecting these points 501 to 506 onto the respective depth image corresponding to the viewpoint 52, a column of pixels associated with points 501 to 506 is obtained, with one pixel associated with one point.

Естественно, с точками трехмерной сцены могут быть ассоциированы элементы объема, отличные от квадрата, например, сферы. В оставшейся части описания будет использоваться выражение «единица объема» для обозначения элемента объема, ассоциированного с точкой, при этом единица объема соответствует, например, вокселю размером 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 2D representation 5B of the same part of the 3D object 10 as the part shown in FIG. 5A, wherein the 2D representation 5B is obtained by backprojecting points 501 to 506 from the depth image obtained from the 2D representation 5A corresponding to the viewpoint 52. Points (and corresponding units of volume) 501 to 506 are shown using a shade of gray. Points (and associated volume units) 511 to 518 are shown with a diagonal stripe pattern and correspond to holes in the three-dimensional object 10 as viewed from viewpoint 53. These holes may be the result of a reconstruction of the 3D object using a depth image obtained by projecting points according to a viewpoint 52 that is different from the viewpoint 53, such holes leading to visible artifacts when the reconstructed 3D object is viewed from the viewpoint 53. Hole points 511 to 518 do not have any texture or depth information associated with them.

Фиг. 6А показывает подмножество 6А точек трехмерного объекта на фиг. 1 в трех измерениях, а фиг.а 6В показывает часть 6В изображения глубины, ассоциированного с подмножеством 6А, в соответствии с неограничивающим примером настоящих принципов.Fig. 6A shows a subset 6A of points of the 3D object in FIG. 1 in three dimensions, and FIG. 6B shows a portion 6B of a depth image associated with subset 6A, in accordance with a non-limiting example of the present principles.

Фиг. 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 subset 6A of 3D object points and their associated volume units 601, 602, 603, 604, 605, 606, 607, 608, and 609, shown with cubes or voxels in FIG. 6A. Cubes 601 to 609 extend in the three dimensions X, Y, and Z, where the Z-axis is the depth, X is the abscissa, and Y is the y-axis. Arrows 61, 62 and 63 represent different viewpoints from which subset 6A can be viewed. Viewpoint 61 allows you to look at the subset 6A from the side of the Z axis; viewpoint 62 allows you to look at the subset 6A from the side of the Y axis; and viewpoint 63 allows the subset 6A to be viewed from the x-axis side. Cubes 602 to 609 (or equivalently points 602 to 609) may be considered to form a neighborhood of cube 601 (or equivalently points 601).

Фиг. 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 portion 6B of the depth image associated with subset 6A. The depth image portion 6B can be obtained by projecting cubes (dots) 601 to 609 in accordance with the viewpoint 61 and the corresponding Z-axis. As seen in FIG. 6B, part 6B forms a block of 9 pixels, 8 adjacent pixels 612 to 619 (each of which corresponds to/refers to respective cubes/dots 602 to 609, respectively, from subset 6A) surrounding pixel 611 (which corresponds to/refers to the associated cube /point 601 from subset 6A). Cubes/dots 602 through 609 correspond to the neighborhood of cube/dot 601, as do their respective corresponding depth image pixels 612-619 correspond to neighboring depth image pixels surrounding pixel 611 corresponding to cube/point 601.

При просмотре из точки 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 viewpoint 61, there are no holes in the subset 6A (the view according to the viewpoint 61 corresponds to the depth image part 6B). But when viewed from other viewpoints, hole(s) may appear. For example, when viewed from the viewpoint 62, a hole appears between the cubes/points 601 and 602, the space occupied by such a hole corresponds to the space of the cube 6001 shown with stripes. Such a hole 6001 is shown in FIG. 7A. Fig. 7A shows part of the view of subset 6A from viewpoint 62, in particular the part containing cubes 601 and 602 and the free space between them, i.e. the space not occupied by the cube/point from subset 6A. When viewed from the viewpoint 63, a hole appears between the cubes/points 601 and 604, the space occupied by such a hole corresponds to the space of the two cubes shown by the stripes, i.e. cubes 6001 and 6002. Such a hole 6001, 6002 is shown in FIG. 7B, while FIG. 7B shows part of the view of subset 6A from viewpoint 63, in particular the part containing cubes 601 and 604 and the free space between them, ie the space not occupied by the cube/point from subset 6A.

Изображение глубины, ассоциированное с трехмерной сценой, может использоваться для определения, где могут быть расположены дырки в области(ях) в трехмерной сцене. Например, для получения местоположения дырки(дырок) обрабатывается и анализируется, как объясняется ниже, часть 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 depth image portion 6B associated with (and derived from) the point portion 6A of the three-dimensional object 10 is processed and analyzed as explained below. depth information associated with pixels 611 to 619. Block 6C in FIG. 6B shows depth information associated with pixels 611 to 619. Such a process is, for example, applied to the current pixel, namely the current pixel 611 (which is associated with the current point 601) in the example of FIG. 6A and 6B. In the example in FIG. 6B, the current pixel 611 has a reference depth associated with it, for example, the reference depth is 0. The depth associated with pixels 612 through 619 adjacent to the current pixel 611 is expressed in units of volume (volume units corresponding to the cube/voxel in the example of FIG. 6A, 6B). As for the current pixel, the depth associated with the neighboring pixel 612 is +2 volume units; the depth associated with the adjacent pixel 613 is +1 volume unit; the depth associated with neighboring pixel 614 is +3 volume units; the depth associated with neighboring pixel 615 is 0 volume units; the depth associated with neighboring pixel 616 is -1 volume unit; the depth associated with neighboring pixel 617 is 0 volume units; the depth associated with neighboring pixel 618 is 0 volume units; and the depth associated with the adjacent pixel 619 is +1 volume unit. Naturally, the depth associated with pixels can be expressed in terms of any other metric, such as the number of units of volume separating points (i.e., associated cubes) from viewpoints associated with the depth image, i.e., the distance between the viewpoint and the points 3D scene (for example, the depth associated with the current pixel 611 could be 1254 volume units, the depth associated with neighboring pixels 612 through 619 would then be 1256, 1255, 1257, 1254, 1253, 1254, 1254, and 1255 respectively ). In accordance with another example, the depth may be expressed in centimeters or meters, or using any other metric corresponding to the distance, expressed in centimeters or meters, from the viewpoint associated with the depth image.

Информация о глубине, ассоциированная с каждым соседним пикселем с 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 adjacent pixel 612 through 619 is compared with the depth information associated with the current pixel 611. For example, the depth difference between each adjacent pixel 612 through 619 and the current pixel 611 is calculated. When the difference is greater than or equal to the first to a certain value (for example, 2 volume units, when depth is expressed in terms of the number of volume units), this means that the cubes associated with the considered adjacent pixel and with the current pixel are not adjacent in 3D scene space, which means that they are not touching with each other in a 3D scene, which means there is a hole between them. For example, the depth difference between pixels 612 and 611 is +2, which means that there is a hole between the respective cubes 601 and 602 in the 3D scene, as clearly seen in FIG. 6A (the hole corresponding to the empty space is shown with the cube 6001). The depth difference between pixels 614 and 611 is +3, which means that there is a hole between the respective cubes 601 and 604 in the 3D scene, as can be clearly seen in FIG. 6A (hole corresponding to empty space shown with cubes 6001 and 6002). According to another example, the depth difference between pixels 617 and 611 is +0, which means that there is no hole between the respective cubes 607 and 601 in the 3D scene, as clearly seen in FIG. 6A (cubes 607 and 601 are in contact with each other because they both belong to the plane defined by the X and Y axes; they share a face). According to another example, the depth difference between pixels 619 and 611 is +1, which means that there is no hole between the respective cubes 609 and 601 in the 3D scene, as clearly seen in FIG. 6A (cubes 609 and 601 are in contact with each other because they share a common angle).

Та же самая обработка может выполняться для каждой точки трехмерной сцены (или по меньшей мере для каждой точки части точек трехмерной сцены, например, для каждой точки каждые две точки или каждой точки каждые 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≤Th2 Equation 1

где 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) satisfying equation 1. Additional cubes/points can be generated by computing their respective depth and texture from depth and a texture associated with the cubes used to determine the hole (eg, by interpolating the points/cubes used to determine the presence of a hole). The number of additional points generated may be a function of the depth difference, such as d minus 1 (d-1) when the depth difference is expressed in terms of the number of volume units. For example, the number of dots/cubes generated between dots/cubes 601 and 602 is 1, and the depth difference between the respective depth image pixels 611 and 612 is 2. According to another example, the number of dots/cubes generated between dots/cubes 601 and 604 is 2, wherein the depth difference between the respective pixels 611 and 614 of the depth image is 3.

Дополнительная точка/куб 6001, сгенерированная между существующими точками/кубами 601 и 602, может принимать в качестве информации о текстуре среднее значение значений текстуры, ассоциированных с точками/кубами 601 и 602, а в качестве информации о глубине значение глубины, ассоциированное с точкой/кубом 601 плюс 1 (d601+1).An additional point/cube 6001 generated between existing points/cubes 601 and 602 may take as texture information the average value of the texture values associated with points/cubes 601 and 602, and as depth information the depth value associated with point/ cube 601 plus 1 (d 601 +1).

Дополнительные точки/кубы 6001 и 6002, сгенерированные между существующими точками/кубами 601 и 604, могут получить в качестве информации о текстуре среднее значение значений текстуры, ассоциированных с точками/кубами 601 и 604, а в качестве информации о глубине значение глубины точки 601 плюс 1 для куба 6001 (d601+1) и значение глубины точки 601 плюс 2 (d601+2) для куба 6002.Additional points/cubes 6001 and 6002 generated between the existing points/cubes 601 and 604 may receive as texture information the average value of texture values associated with points/cubes 601 and 604, and as depth information the depth value of point 601 plus 1 for cube 6001 (d 601 +1) and point depth value 601 plus 2 (d 601 +2) for cube 6002.

В соответствии с одним вариантом осуществления, с текстурой существующих точек/кубов ассоциирован вес для определения текстуры дополнительной точки/куба. Например, больший вес может быть ассоциирован с текстурой точки 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 dot texture 601 than with dot texture 604 when calculating additional dot texture 6001 because additional dot 6001 is closer to point 601 than to point 604. Conversely, more weight may be associated with dot texture 604 than with the texture of point 601 when calculating the texture of the additional point 6002, since the additional point 6002 is closer to point 604 than to point 601. For example, the weight associated with the texture value when interpolating the texture value that should be associated with the generated additional point , can be inversely proportional to the distance (depth) separating the generated additional point from the point used to generate it. For example, when calculating the texture of additional point 6001, a weight of 2 may be associated with the texture of point 601, and a weight of 1 may be associated with the texture of point 604, while the distance (depth difference) between additional point 6001 and point 601 is 1 volume unit, while the distance (depth difference) between the additional point 6001 and point 604 is 2 volume units.

В соответствии с другим вариантом осуществления информация о текстуре, которая должна быть ассоциирована со сгенерированной дополнительной точкой, соответствует информации о текстуре одной из точек, использованных для ее генерации. Например, информация о текстуре точки 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 texture information 601 may be applied to the generated additional point 6001, and point texture information 604 may be applied to the generated additional point 6002.

В соответствии с дополнительным опциональным вариантом осуществления, вместо генерации дополнительной точки(ек) каждый раз, когда определено, что разность глубин 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/cube 6001 twice (once using points/cubes 601 and 602 and once using point/cubes 601 and 604), point/cube 6001 is generated only once using points/cubes 601 and 604, since the depth difference (i.e. +3) between points 601 and 604 is greater than the depth difference (i.e. +2) between points 601 and 602. To achieve this, the largest depth difference d max (which is less than or equal to Th2) is chosen among all depth differences d 612 to d 619 of the block of pixels 6B, and only the neighboring pixel 614 corresponding to the largest depth difference d max among all neighboring pixels 612 to 619 is considered with the current pixel 611 to generate additional points/cubes (from the corresponding points /cubes 601 and 604).

Фиг. 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 first operation 81, the depth information associated with the current pixel is compared with the depth information associated with pixels spatially adjacent to the current pixel in the depth image. The depth image is associated with existing points of the 3D scene or part of the 3D scene (eg, existing points of the 3D object). Each pixel of the depth image is associated with a corresponding point of the 3D scene, wherein the depth image is obtained by projecting the points of the 3D scene onto the corresponding pixels, and the depth attributes of the points are stored in the depth image and associated with the corresponding pixels.

Во второй операции 82 генерируются одна или несколько дополнительных точек трехмерной сцены в дополнение к текущей точке, которая ассоциирована с текущим пикселем. Текущая точка, например, генерируется путем обратного проецирования текущего пикселя, используя параметры проецирования, использованных для получения изображения глубины из существующих точек трехмерной сцены. Одна или более точек генерируются, например, путем использования текущей точки и точки трехмерной сцены, полученной путем обратного проецирования пикселя изображения глубины, смежного с текущим пикселем, когда разность глубин между текущим пикселем и соседним пикселем больше, чем первое значение Th1 и меньше, чем второе значение Th2. Дополнительные точки могут быть сгенерированы, например, для каждой пары точек (каждая пара включает в себя текущую точку и точку из окрестности текущей точки, соответствующую пикселю изображения глубины, смежному с текущим пикселем), имеющей разность глубин, лежащую между первым значением и вторым значением. Число генерируемых дополнительных точек зависит от разности глубин: чем больше разность глубин, тем больше число генерируемых дополнительных точек.In the second operation 82, one or more additional points of the 3D scene are generated in addition to the current point that is associated with the current pixel. The current point, for example, is generated by backprojecting the current pixel using the projection parameters used to obtain the depth image from existing points in the 3D scene. One or more points are generated, for example, by using the current point and a 3D scene point obtained by backprojecting a depth image pixel adjacent to the current pixel when the depth difference between the current pixel and the adjacent pixel is greater than the first value Th1 and less than the second Th2 value. Additional points may be generated, for example, for each pair of points (each pair includes a current point and a point from a neighborhood of the current point corresponding to a depth image pixel adjacent to the current pixel) having a depth difference lying between the first value and the second value. The number of additional points generated depends on the depth difference: the greater the depth difference, the greater the number of additional points generated.

В соответствии с одним вариантом осуществления, смежный пиксель, имеющий наибольшую разность глубин с текущим пикселем, выбирается среди смежных пикселей, имеющих разность глубин с текущим пикселем, лежащую между первым значением и вторым значением, и дополнительные точки генерируются с использованием только текущей точка и соседней точки, соответствующей упомянутому смежному пикселю, имеющему наибольшую разность глубин.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 device 9 capable of implementing at least one of the methods described with reference to FIG. 6 and 8, in accordance with a non-limiting embodiment of the present principles.

Устройство 9 содержит следующие элементы, которые связаны шиной данных и адресной шиной 91:Device 9 contains the following elements, which are connected by a data bus and an address bus 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 хранения;- storage interface 95;

- интерфейс 96 ввода-вывода для приема данных для передачи из приложения; и- an input/output interface 96 for receiving data for transmission from an application; and

- источник питания, например, батарею.- 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). ROM 93 contains at least the program and parameters. ROM 93 may store algorithms and instructions for performing methods in accordance with these principles. When turned on, the CPU 92 loads the program into RAM and executes the corresponding instructions.

RAM 94 содержит в регистре программу, выполняемую CPU 92 и загружаемую после включения устройства 9, входные данные в регистре, промежуточные данные способа в различных состояниях в регистре и другие переменные, используемые для выполнение способа в регистре.RAM 94 contains in a register a program executed by the CPU 92 and loaded after the device 9 is turned on, input data in the register, method intermediate data in various states in the register, and other variables used to execute the method in the register.

Описанные здесь реализации могут быть реализованы, например, в способе или процессе, устройстве, компьютерном программном продукте, потоке данных или сигнале. Даже если реализация обсуждалась только в контексте одной формы реализации (например, обсуждалась только как способ или устройство), реализация обсуждавшихся признаков также может быть реализована в других формах (например, в форме программы). Устройство может быть реализовано, например, в подходящем аппаратном обеспечении, программном обеспечении и микропрограммном обеспечении. Способы могут быть реализованы, например, в устройстве, таком как, например, процессор, который относится к устройствам обработки, включающим в себя, в общем, например, компьютер, микропроцессор, интегральную схему или программируемое логическое устройство. Процессоры также включают в себя устройства связи, такие как, например, компьютеры, сотовые телефоны, портативные/персональные цифровые помощники («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 device 9 is configured to implement the method described with reference to at least one of FIGS. 6 to 8, and belongs to the set containing:

- мобильное устройство;- 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 point cloud 103, in accordance with a specific and non-limiting embodiment of the present principles.

Облако 103 точек кодируется в кодированные данные в виде битового потока 104 посредством процесса 101 кодирования, реализованного в модуле M101. Битовый поток передается в модуль M102, который реализует процесс 102 декодирования для декодирования кодированных данных для получения декодированного облака 105 точек. Модули M101 и M102 могут быть аппаратным обеспечением, программным обеспечением или комбинацией аппаратного и программного обеспечения.The point cloud 103 is encoded into encoded data as a bitstream 104 by an encoding process 101 implemented in module M101. The bit stream is transmitted to module M102, which implements a decoding process 102 for decoding encoded data to obtain a decoded point cloud 105 . Modules M101 and M102 may be hardware, software, or a combination of hardware and software.

Облако 103 точек соответствует большому набору точек, представляющих объект, например внешнюю поверхность или внешнюю форму объекта. Облако точек может рассматриваться как структура на основе векторов, в которой каждая точка имеет свои координаты (например, трехмерные координаты XYZ или глубину/расстояние от данной точки обзора) и один или несколько компонентов. Примером компонента является компонент цвета, который может быть выражен в различных цветовых пространствах, например, RGB (красный, зеленый и синий) или YUV (Y является компонентом яркости, а UV являются двумя компонентами цветности). Облако точек может быть представлением объекта, как его можно видеть из одной или нескольких точек обзора. Облако точек может быть получено разными способами, например:The point cloud 103 corresponds to a large set of points representing an object, such as the outer surface or outer shape of the object. A point cloud can be thought of as a vector-based structure in which each point has its own coordinates (eg, 3D XYZ coordinates or depth/distance from a given viewpoint) and one or more components. 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 may be a representation of an object as seen from one or more viewpoints. A point cloud can be obtained in many ways, for example:

путем захвата реального объекта, снятого одной или несколькими камерами, опционально дополненными активным датчиком глубины;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 point cloud 103 may be a dynamic point cloud that evolves over time, ie. the number of points may vary over time and/or depending on the location (eg, at least one of the X, Y, and Z coordinates) of one or more points. The evolution of a point cloud may correspond to the movement of the object represented by the point cloud and/or any change in the shape of the object or part(s) of the object.

Облако 103 точек может быть представлено в кадре или в одной или нескольких группах последовательно сменяющих друг друга кадров, причем каждый кадр содержит представление облака точек в определенное время «t». Одна или несколько групп последовательно сменяющих друг друга кадров могут формировать видео, представляющее, по меньшей мере, часть облака 103 точек.The point cloud 103 may be represented in a frame or in one or more groups of consecutive frames, with each frame containing a representation of the point cloud at a specific time "t". One or more groups of consecutive frames may form a video representing at least a portion of the point cloud 103 .

Процесс 101 кодирования может, например, реализовывать внутрикадровое кодирование и/или межкадровое кодирование. Внутрикадровое кодирование основано на внутрикадровном предсказании, которое использует пространственную избыточность, то есть корреляцию между пикселями в пределах одного изображения, путем вычисления значений предсказания посредством экстраполяции из уже кодированных пикселей для эффективного дельта-кодирования. Межкадровое кодирование основано на межкадровном предсказании, которое использует временную избыточность. Кодируемые независимо во времени так называемые кадры «I» с внутренним кодированием используют только внутреннее кодирование. Предсказанные кадры «P» (или «B») с временным кодированием могут использовать внутрикадровое и межкадровое предсказание.The encoding process 101 may, for example, implement intra-frame coding and/or inter-frame coding. Intra-frame coding is based on intra-frame prediction which exploits spatial redundancy, ie correlation between pixels within the same image, by calculating prediction values by extrapolation from already encoded pixels for efficient delta coding. Interframe coding is based on interframe prediction which uses temporal redundancy. Time-independently encoded so-called intra-coded "I" frames use only intra-coding. Time-coded "P" (or "B") predicted frames may use intra-frame and inter-frame prediction.

Процесс 102 декодирования может соответствовать, например, обратным операциям процесса 101 кодирования для декодирования данных, закодированных с помощью процесса кодирования.The decoding process 102 may correspond, for example, to the inverse operations of the encoding process 101 for decoding data encoded with the encoding process.

Фиг. 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 point cloud 103, in accordance with a specific and non-limiting embodiment of the present principles. The operations may be part of the encoding process 101 and may be implemented by the device 9 in FIG. nine.

В операции 120 данные кадра 20 облака точек кодируются кодером ENC1. Кадр 20 является, например, частью группы кадров (GOP) и содержит данные, представляющие собой облако точек в определенное время «t». Кадр 20 может содержать набор изображений, при этом по меньшей мере одно из изображений набора содержит атрибуты, которые соответствуют по меньшей мере части данных кадра 20. Атрибуты могут быть получены путем проецирования, в соответствии с определенной проекцией, части облака точек в каждом изображении, при этом атрибуты соответствуют атрибутам точек части облака точек, проецируемой на упомянутое каждое изображение. Атрибуты могут соответствовать информации о текстуре (или цвете) и/или информации о глубине (или расстоянии до точки обзора). Кодер ENC1, например, совместим с традиционным кодером, таким как:In operation 120, point cloud frame 20 data is encoded with encoder ENC1. Frame 20 is, for example, part of a group of frames (GOP) and contains data representing a cloud of points at a certain time "t". Frame 20 may contain a set of images, wherein at least one of the images in the set contains attributes that correspond to at least a portion of the frame 20 data. In this case, the attributes correspond to the attributes of the points of the portion of the point cloud projected onto said each image. The attributes may correspond to texture (or color) information and/or depth information (or viewpoint distance). The ENC1 encoder, for example, is compatible with a traditional encoder such as:

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 frame 20 may be stored and/or transmitted in bitstream 104.

В операции 121 кодированные данные кадра 20 декодируются декодером DEC1. Декодер DEC1 совместим с кодером ENC1, например, совместим с традиционным декодером, таким как:In operation 121, the encoded data of frame 20 is decoded by the decoder DEC1. DEC1 decoder is compatible with ENC1 encoder, for example, compatible with traditional decoder such as:

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 operation 120 are decoded and retrieved in operation 121, e.g. stored in buffer memory for use in generating the reference frame 125 associated with frame 20.

В операции 122, реализуемой с помощью модуля M122, каждое изображение обрабатывается, как описано со ссылкой на фиг. 6 и/или 8 для генерации точек облака точек и для заполнения дырок, которые могут быть, например, результатом процессов 120, 121 кодирования/декодирования.In operation 122 implemented by module M122, each image is processed as described with reference to FIG. 6 and/or 8 to generate point cloud points and to fill holes, which may be the result of encoding/decoding processes 120, 121, for example.

Опорный кадр 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 operation 124 implemented using the module M124. Operation 124 comprises, for example, generating inter prediction predictors for encoding one or more point cloud frames other than frame 20 (eg, point cloud frames at specific times other than time t of frame 20). The point cloud 103 or frames representing the point cloud can then be encoded by referring to the reference frame 125. In accordance with one embodiment, the M124 module is part of the ENC1 encoder.

Естественно, таким же образом, как опорный кадр 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 point cloud 103 encoding referring to one or more reference frames. .

Фиг. 13 показывает операции для декодирования кодированной версии облака 103 точек из потока 104 битов в соответствии с конкретным и неограничивающим вариантом осуществления настоящих принципов. Операции могут быть частью процесса 102 декодирования и могут быть реализованы устройством 9 на фиг. 9.Fig. 13 shows operations for decoding an encoded version of a point cloud 103 from a bit stream 104 in accordance with a specific and non-limiting embodiment of the present principles. The operations may be part of the decoding process 102 and may be implemented by device 9 in FIG. nine.

В операции 131 кодированные данные одного или нескольких кадров (например, кадров одной или нескольких GOP или внутреннего периода) облака точек декодируются декодером DEC2 из принятого битового потока 104. Битовый поток 104 содержит закодированные данные одного или нескольких кадров. Каждый кадр содержит набор изображений, по меньшей мере одно из изображений из этого набора содержит атрибуты, которые соответствуют по меньшей мере части данных изображения, которое было закодировано. Атрибуты могут быть получены путем проецирования в соответствии с первой проекцией части облака точек в каждом первом изображении, при этом атрибуты соответствуют атрибутам точек части облака точек, проецируемых на упомянутое каждое первое изображение. Атрибуты могут соответствовать информации о текстуре (или цвете) и/или информации о глубине (или расстоянии до точки обзора). Декодер DEC2 может соответствовать декодеру DEC1 на фиг. 12, и он совместим, например, с традиционным декодером, таким как:In operation 131, the encoded data of one or more frames (eg, frames of one or more GOPs or intra period) of the point cloud is decoded by the decoder DEC2 from the received bitstream 104. Bitstream 104 contains the encoded data of one or more frames. Each frame contains a set of images, at least one of the images from this set contains attributes that correspond to at least a portion of the image data that has been encoded. The attributes can be obtained by projecting, according to the first projection, a portion of the point cloud in each first image, the attributes corresponding to the attributes of the points of the portion of the point cloud projected onto said each first image. The attributes may correspond to texture (or color) information and/or depth information (or viewpoint distance). Decoder DEC2 may correspond to decoder DEC1 in FIG. 12, and it is compatible with, for example, a traditional decoder such as:

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 operation 131 are retrieved, eg stored in buffer memory, for use in generating one or more reference frames 135, with each reference frame associated with one frame. In the following, for clarity and brevity, only one reference frame associated with one frame will be considered.

В операции 132, реализуемой с помощью модуля M132 (который может быть идентичен модулю M122 на фиг. 12), обрабатываются декодированные атрибуты, как описано со ссылкой на фиг. 6 и/или 8, для генерации точек облака точек и для заполнения дырок, которые могут возникать, например, в результате процессов 120, 131 кодирования/декодирования.In operation 132, implemented by module M132 (which may be identical to module M122 in FIG. 12), the decoded attributes are processed as described with reference to FIG. 6 and/or 8 to generate point cloud points and to fill in holes that may result, for example, from encoding/decoding processes 120, 131.

Опорный кадр 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 operation 121 with the second attributes obtained in operation 123. The reference frame may contain the same structure as and a frame, i.e. the same spatial arrangement of the plurality of images, but with different data, i.e. decoded first attributes and obtained second attributes. A detailed description of an exemplary process for obtaining a reference frame has been provided above in connection with FIG. nine.

Опорный кадр 135 может использоваться в операции 134, реализованной с помощью модуля М134. Операция 134 содержит, например, генерацию предсказателей для внешнего предсказания при декодировании закодированных данных, содержащихся в битовом потоке. Эти данные, ассоциированные с генерацией предсказателя, могут содержатьThe reference frame 135 may be used in operation 134 implemented with module M134. Operation 134 includes, for example, generating predictors for inter prediction when decoding the encoded data contained in the bitstream. This data associated with the generation of the predictor may contain

- тип предсказания, например флаг, указывающий, является ли режим предсказания внутренним или внешним,- 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 reference frame 135, a plurality of reference frames may be obtained, with each reference frame of this set derived from the decoded data of a particular point cloud frame, while the decoding of bitstream data 104 may be based on one or several reference frames to obtain a decoded cloud of 105 points.

Естественно, настоящий документ не ограничен вариантами осуществления, описанными выше.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)

1. Способ генерации точек трехмерной сцены из изображения глубины, причем способ содержит этапы, на которых:1. A method for generating points of a three-dimensional scene from a depth image, the method comprising the steps of: для текущего пикселя упомянутого изображения глубины, сравнивают информацию о глубине, ассоциированную с упомянутым текущим пикселем, с информацией о глубине, ассоциированной с пикселями, пространственно смежными с упомянутым текущим пикселем на упомянутом изображении глубины;for a current pixel of said depth image, comparing depth information associated with said current pixel with depth information associated with pixels spatially adjacent to said current pixel in said depth image; когда разность глубин между упомянутым текущим пикселем и смежным пикселем больше, чем первое значение или равна ему и меньше, чем второе значение или равно ему, причем второе значение указывает на то, что текущий пиксель и смежный пиксель относятся к одному и тому же объекту трехмерной сцены или к одной и той же части объекта трехмерной сцены, генерируют по меньшей мере одну дополнительную точку упомянутой трехмерной сцены в дополнение к текущей точке, ассоциированной с упомянутым текущим пикселем изображения глубины, при этом число дополнительных точек зависит от упомянутой разности.when the depth difference between said current pixel and an adjacent pixel is greater than or equal to the first value and less than or equal to the second value, the second value indicating that the current pixel and the adjacent pixel refer to the same 3D scene object or to the same part of a 3D scene object, at least one additional point of said 3D scene is generated in addition to the current point associated with said current depth image pixel, the number of additional points depending on said difference. 2. Способ по п. 1, дополнительно содержащий этап, на котором выбирают смежный пиксель, имеющий самую большую разность глубин с упомянутым текущим пикселем среди смежных пикселей, имеющих разность глубин с упомянутым текущим пикселем, лежащую между упомянутым первым значением и упомянутым вторым значением, при этом число генерируемых дополнительных точек зависит от упомянутой самой большой разности глубин. 2. The method according to claim 1, further comprising selecting an adjacent pixel having the largest depth difference with said current pixel among adjacent pixels having a depth difference with said current pixel lying between said first value and said second value, when the number of additional points generated depends on the largest depth difference mentioned. 3. Способ по п. 1, в котором с точкой упомянутой 3D сцены ассоциируется единица объема, при этом упомянутая разность глубин соответствует некоторому числу единиц объема, при этом число генерируемых точек соответствует упомянутой разности глубин минус 1.3. The method according to claim 1, in which a volume unit is associated with a point of said 3D scene, while said depth difference corresponds to a certain number of volume units, while the number of generated points corresponds to said depth difference minus 1. 4. Способ по п. 1, дополнительно содержащий этап, на котором определяют атрибуты, которые должны быть ассоциированы по меньшей мере с одной дополнительной точкой, при этом упомянутые атрибуты определяются по атрибутам, ассоциированным с текущей точкой и с упомянутым смежным пикселем. 4. The method of claim 1, further comprising determining attributes to be associated with at least one additional point, said attributes being determined from attributes associated with the current point and said adjacent pixel. 5. Способ по п. 4, в котором упомянутые атрибуты, которые должны быть ассоциированы по меньшей мере с одной дополнительной точкой, содержат информацию о глубине и/или информацию о текстуре.5. The method of claim 4, wherein said attributes to be associated with at least one additional point contain depth information and/or texture information. 6. Способ по п. 1, дополнительно содержащий этап, на котором декодируют упомянутое изображение глубины из принятого битового потока.6. The method of claim 1, further comprising decoding said depth image from the received bitstream. 7. Способ по п. 1, в котором упомянутые точки 3D сцены являются частью облака точек.7. The method according to claim 1, wherein said points of the 3D scene are part of a point cloud. 8. Устройство для генерации точек трехмерной сцены из изображения глубины, причем устройство содержит память, связанную по меньшей мере с одним процессором, выполненным с возможностью:8. A device for generating points of a three-dimensional scene from a depth image, and the device contains a memory associated with at least one processor configured to: для текущего пикселя упомянутого изображения глубины, сравнения информации о глубине, ассоциированной с упомянутым текущим пикселем, с информацией о глубине, ассоциированной с пикселями, пространственно смежными с упомянутым текущим пикселем в упомянутом изображении глубины; for a current pixel of said depth image, comparing depth information associated with said current pixel with depth information associated with pixels spatially adjacent to said current pixel in said depth image; когда разность глубин между упомянутым текущим пикселем и смежным пикселем больше, чем первое значение или равна ему и меньше, чем второе значение или равна ему, причем второе значение указывает на то, что текущий пиксель и смежный пиксель относятся к одному и тому же объекту трехмерной сцены или к одной и той же части объекта трехмерной сцены, генерации по меньшей мере одной дополнительной точки упомянутой трехмерной сцены в дополнение к текущей точке, ассоциированной с упомянутым текущим пикселем изображения глубины, при этом число дополнительных точек зависит от упомянутой разности.when the depth difference between said current pixel and an adjacent pixel is greater than or equal to the first value and less than or equal to the second value, the second value indicating that the current pixel and the adjacent pixel refer to the same 3D scene object or to the same part of a 3D scene object, generating at least one additional point of said 3D scene in addition to the current point associated with said current depth image pixel, wherein the number of additional points depends on said difference. 9. Устройство по п. 8, в котором по меньшей мере один процессор дополнительно выполнен с возможностью выбора смежного пикселя, имеющего самую большую разность глубин с упомянутым текущим пикселем среди смежных пикселей, имеющих разность глубин с упомянутым текущим пикселем, лежащую между упомянутым первым значением и упомянутым вторым значением, при этом число генерируемых дополнительных точек зависит от упомянутой самой большой разности глубин.9. The apparatus of claim 8, wherein the at least one processor is further configured to select an adjacent pixel having the largest depth difference with said current pixel among adjacent pixels having a depth difference with said current pixel lying between said first value and said second value, with the number of additional points generated depending on said largest depth difference. 10. Устройство по п. 8, в котором с точкой упомянутой 3D сцены ассоциируется единица объема, при этом упомянутая разность глубин соответствует некоторому числу единиц объема, при этом число генерируемых точек соответствует упомянутой разности глубин минус 1.10. The device according to claim 8, in which a volume unit is associated with a point of said 3D scene, while said depth difference corresponds to a certain number of volume units, while the number of generated points corresponds to said depth difference minus 1. 11. Устройство по п. 8, в котором по меньшей мере один процессор дополнительно выполнен с возможностью определения атрибутов, которые должны быть ассоциированы по меньшей мере с одной дополнительной точкой, при этом упомянутые атрибуты определяются по атрибутам, ассоциированным с текущей точкой и с упомянутым смежным пикселем.11. The apparatus of claim 8, wherein the at least one processor is further configured to determine attributes to be associated with at least one additional point, said attributes being determined from attributes associated with the current point and said adjacent pixel. 12. Устройство по п. 11, в котором упомянутые атрибуты, которые должны быть ассоциированы по меньшей мере с одной дополнительной точкой, содержат информацию о глубине и/или информацию о текстуре.12. The apparatus of claim 11, wherein said attributes to be associated with at least one additional point contain depth information and/or texture information. 13. Устройство по п. 8, в котором по меньшей мере один процессор дополнительно выполнен с возможностью декодирования упомянутого изображения глубины из принятого битового потока. 13. The apparatus of claim 8, wherein the at least one processor is further configured to decode said depth image from the received bitstream. 14. Устройство по п. 8, в котором упомянутые точки трехмерной сцены являются частью облака точек. 14. The apparatus of claim 8, wherein said points of the 3D scene are part of a point cloud. 15. Процессорно-читаемый носитель долговременного хранения, хранящий инструкции, вызывающие выполнение процессором способа по одному из пп. 1-7.15. A processor-readable non-volatile storage medium that stores instructions that cause the processor to execute the method according to one of paragraphs. 1-7.
RU2020115158A 2017-10-06 2018-10-03 Method and device for generation of points of three-dimensional (3d) scene RU2788439C2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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