New! Search for patents from more than 100 countries including Australia, Brazil, Sweden and more

RU2237283C2 - Device and method for presenting three-dimensional object on basis of images having depth - Google Patents

Device and method for presenting three-dimensional object on basis of images having depth Download PDF

Info

Publication number
RU2237283C2
RU2237283C2 RU2002131792/09A RU2002131792A RU2237283C2 RU 2237283 C2 RU2237283 C2 RU 2237283C2 RU 2002131792/09 A RU2002131792/09 A RU 2002131792/09A RU 2002131792 A RU2002131792 A RU 2002131792A RU 2237283 C2 RU2237283 C2 RU 2237283C2
Authority
RU
Russia
Prior art keywords
information
image
node
octree
depth
Prior art date
Application number
RU2002131792/09A
Other languages
Russian (ru)
Other versions
RU2002131792A (en
Inventor
Ин-киу ПАРК (KR)
Ин-киу ПАРК
А.О. Жирков (Ru)
А.О. Жирков
Ман-дзин ХАН (KR)
Ман-дзин ХАН
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 to US33316701P priority Critical
Priority to US60/333,167 priority
Priority to US36254502P priority
Priority to US60/362,545 priority
Priority to US60/376,563 priority
Priority to US39530402P priority
Priority to US60/395,304 priority
Priority to KR2002-67970 priority
Application filed by Самсунг Электроникс Ко., Лтд. filed Critical Самсунг Электроникс Ко., Лтд.
Publication of RU2002131792A publication Critical patent/RU2002131792A/en
Application granted granted Critical
Publication of RU2237283C2 publication Critical patent/RU2237283C2/en

Links

Images

Abstract

FIELD: technology for visualization of three-dimensional objects.
SUBSTANCE: method includes generation of: information fragment about observation point, colored images on basis of color information, respective pixel points comprising an object, images having depth, images main points containing information about observation point, colored image and image having depth, matching information about observation point, and coding of generated image main points.
EFFECT: compact storage of information about an image, fast visualization with high quality of outputted image.
10 cl, 77 dwg, 19 tbl

Description

Область техники TECHNICAL FIELD

Настоящее изобретение относится к устройству и способу для представления трехмерных (3D) объектов на основе изображений с глубиной, более конкретно, к устройству и способу для представления трехмерных объектов с использованием изображения с глубиной для компьютерной графики и анимации, определяемого как основанные на изображениях с глубиной представления (DIBR), что было принято в стандарте AFX (расширение структуры анимации) MPEG-4. The present invention relates to an apparatus and method for representing three-dimensional (3D) objects on images based on the depth, and more particularly, to an apparatus and method for representing three-dimensional object using the image depth for computer graphics and animation, determined as based on the images with depth representation (DIBR), that has been adopted in standard AFX (animation expansion structure) MPEG-4.

Описание предшествующего уровня техники Description of the prior art

С самого начала исследований в области трехмерной графики конечной целью исследователей является синтезирование реалистичной графической сцены (визуализируемого трехмерного пространства), подобной реальному изображению. From the very beginning of research in the field of three-dimensional graphics is the ultimate goal of researchers to synthesize realistic graphic scene (rendered three-dimensional space), similar to the real image. С этой целью выполнялись исследования по традиционньм технологиям рендеринга (визуализации) с использованием полигональных моделей, результатом которых стали разработки технологий моделирования и рендеринга, обеспечивающие получение весьма реалистических трехмерных представлений среды. To this end, studies were performed on traditsionnm technologies render (render) using polygonal models, which have resulted in the development of modeling and rendering technologies to ensure obtaining highly realistic three-dimensional representations of the environment. Однако процедура генерирования усложненной модели требует огромных усилий экспертов и больших затрат времени. However, the procedure for generating a complicated model requires huge efforts of experts and time-consuming. Кроме того, реалистическое и усложненное представление среды требует очень больших объемов информации и обуславливает снижение эффективности в хранении и передаче. In addition, realistic view of the environment and complexity requires very large amounts of information and causes the loss of efficiency in storage and transmission.

В настоящее время полигональные модели в типовом случае используются для представления трехмерных объектов в компьютерной графике. Currently, polygonal models are typically used to represent three-dimensional objects in computer graphics. Произвольная форма может быть по существу представлена множеством цветных многоугольников, т.е. An arbitrary shape can be substantially represented by a plurality of color polygons, that is, треугольников. triangles. Значительно усовершенствованные алгоритмы программного обеспечения и разработка аппаратных средств графики позволяют визуализировать комплексные объекты и сцены как в значительной мере реалистические полигональные модели неподвижных и движущихся изображений. Significantly improved software algorithms and hardware development schedules enable you to visualize complex objects and scenes as a largely realistic polygonal models still and moving images.

Однако в последнее десятилетие весьма активно проводились поиски альтернативных трехмерных представлений. However, in the last decade is quite actively carried out the search for alternative three-dimensional representations. Основные причины этого включают трудность конструирования полигональных моделей для объектов реального мира, а также сложность рендеринга и неудовлетворительное качество формирования сцен истинно фотографического качества. The main reasons for this include the difficulty of constructing polygonal models for real-world objects, as well as the complexity of rendering and the poor quality of the formation of a true photographic quality scenes.

Необходимые приложения требуют чрезвычайно большого количества многоугольников; Necessary applications require an extremely large number of polygons; например, детальная модель человеческого тела содержит несколько миллионов треугольников, что вызывает трудности в обработке. for example, a detailed model of the human body contains several million triangles, which causes difficulties in processing. Хотя последние достижения в методах определения расстояний, например с использованием лазерного сканера расстояний, позволяют получать данные расстояний высокой плотности с допустимыми ошибками, по-прежнему является дорогостоящим и очень трудным получение плавной (без швов) полной полигональной модели объекта в целом. While recent advances in methods for determining distances, such as using a laser distance scanner, produce high density data of distances with admissible errors still it is costly and very difficult to obtain a smooth (without sutures) complete polygonal model of the whole object. С другой стороны, алгоритмы рендеринга для получения приближенного к фотографии качества требуют сложных вычислений сложными и не обеспечивают рендеринга в реальном времени. On the other hand, rendering algorithms for the approximate to the picture quality requires complex calculations complex and do not provide real-time rendering.

Сущность изобретения SUMMARY OF THE iNVENTION

Одним из аспектов настоящего изобретения является создание устройства и способа представления трехмерных объектов на основе изображений с глубиной, для компьютерной графики и анимации, называемого DIBR, принятого в стандарте AFX (расширение структуры анимации) MPEG-4. One aspect of the present invention is to provide a device and method for three-dimensional object representation based on depth images, for computer graphics and animation, called DIBR, adopted in standard AFX (Animation expansion structure) MPEG-4.

Другим аспектом настоящего изобретения является создание компьютерно-читаемого носителя записи, имеющего программу для реализации способа представления трехмерных объектов на основе изображений с глубиной, для компьютерной графики и анимации, DIBR, принятого в стандарте AFX (расширение структуры анимации) MPEG-4. Another aspect of the present invention to provide a computer-readable recording medium having a program for implementing the method of representing three-dimensional objects on the basis of images with depth, for computer graphics and animation, DIBR, adopted in standard AFX (Animation expansion structure) MPEG-4.

В одном из аспектов настоящее изобретение предусматривает устройство для представления трехмерных объектов, основанного на изображениях по глубине содержащее генератор информации о точке наблюдения для генерирования по меньшей мере одного фрагмента информации о точке наблюдения, первый генератор изображений для генерирования цветных изображений на основе цветовой информации, соответствующей информации о точке наблюдения, на соответствующих точках пикселов, образующих объект, второй генератор изображений для генерирования изобра In one aspect, the present invention provides an apparatus for representing three-dimensional objects based on the images with depth comprising information generator observation point to generate at least one piece of information about the observation point, the first image generator for generating color images on the basis of color information corresponding to information of the observation point on the respective pixel points constituting the object, the second image generator for generating iMAGE ений с глубиной на основе информации о глубине, соответствующей информации о точке наблюдения, по соответствующим точкам пикселов, образующих объект, генератор узлов для генерирования узлов изображений, состоящих из информации о точке наблюдения, цветного изображения и изображения с глубиной, соответствующего информации о точке наблюдения, и кодер для кодирования сформированных узлов изображения. eny depth on the basis of depth information corresponding to the information about the observation point, at corresponding points of the pixels constituting the object node generator for generating image nodes composed of information on the point of observation, the color image and an image with a depth corresponding to the information about the observation point, and an encoder for encoding the generated image nodes.

В другом аспекте настоящее изобретение предусматривает устройство для представления трехмерных объектов, основанного на изображениях с глубиной, содержащее генератор информации о точке наблюдения для генерирования по меньшей мере одного фрагмента информации о точке наблюдения, из которой наблюдается объект, генератор информации о плоскости для генерирования информации о плоскости, определяющей ширину, высоту и глубину плоскости изображения, соответствующей информации о точке наблюдения, генератор информации о глубине для генериро In another aspect, the present invention provides an apparatus for representing three-dimensional objects based on the images with depth comprising information generator observation point to generate at least one piece of information about the observation point from which the observed object information generator plane to generate information about the plane defining the width, height and depth of an image plane corresponding to the viewpoint information, a depth information generator for generation ания последовательности данных о глубине для глубин всех проецируемых точек объекта, которые проецируются на плоскость изображения, генератор информации о цвете для генерирования последовательности данных о цвете по соответствующим проецируемым точкам, и генератор узлов для генерирования узла, составленного на основе информации о плоскости, соответствующей плоскости изображения, последовательности данных о глубине и последовательности данных о цвете. anija sequence data of the depth for depths of all projected points of an object which are projected onto the image plane information generator color for generating the data sequence of the color of the corresponding projected point, and generator units for generating node composed based on information about a plane corresponding image plane , sequence data of the depth and color data sequence.

Еще в одном аспекте настоящее изобретение предусматривает устройство для представления трехмерного объекта на основе изображений с глубиной, содержащее генератор информации о форме для генерирования информации о форме для объекта путем деления октодерева, содержащего объект, на 8 субкубов и определения разделенных субкубов как дочерние узлы, блок определения эталонного изображения для определения эталонного изображения, содержащего цветное изображение для каждого куба, разделенного генератором информацией о форме, генератор индекс In yet another aspect, the present invention provides apparatus for presenting a three-dimensional object based on depth images, comprising information generator form for generating shape information for an object by dividing an octree containing the object into 8 subkubov and determining separated subkubov as child nodes, determining unit reference image for determining a reference image containing a color image for each cube divided by the shape information generator, an index generator ов для генерирования индексной информации эталонного изображения в соответствии с информацией о форме, генератор узлов для генерирования узлов октодерева, включающих информацию о форме, индексную информацию и эталонное изображение, и кодер для кодирования узлов октодерева в выходные потоки битов, причем генератор информации о форме итеративно выполняет подразделение до тех пор, пока субкуб не станет меньше, чем предварительно определенный размер. s for generating index information of the reference image in accordance with information about the form of nodes generator for generating octree nodes including shape information, index information and reference image, and an encoder for encoding the octree nodes to output bitstreams, wherein the information generator form iteratively performs unit as long as subkub becomes smaller than a predetermined size.

Еще в одном аспекте настоящее изобретение предусматривает устройство для представления трехмерных объектов на основе изображений с глубиной, содержащее блок ввода для ввода битовых потоков, первый блок выделения для выделения узлов октодерева из входных битовых потоков, декодер для декодирования узлов октодерева, второй блок выделения для выделения информации о форме и эталонных изображений для множества кубов, образующих октодеревья, из декодированных узлов октодерева, и блок представления объекта для представления объекта путем к In yet another aspect, the present invention provides an apparatus for representing three-dimensional objects based on depth images, comprising: an input unit for inputting bitstreams, a first extracting unit to extract the nodes of the octree from the input bitstreams, a decoder for decoding the octree nodes, a second extracting unit to extract information the shape and reference images for a plurality cubes constituting octree from the decoded octree nodes, and a presentation unit for presenting the object to the object by мбинации выделенных эталонных изображений соответственно информации о форме. mbinatsii selected reference images, respectively, the shape information.

Альтернативно, настоящее изобретение предусматривает способ представления трехмерного объекта на основе изображений с глубиной, включающий генерирование по меньшей мере одного фрагмента информации о точке наблюдения, генерирование цветных изображений на основе цветовой информации, соответствующей информации о точке наблюдения, по соответствующим точкам пикселов, образующих объект, генерирование изображений с глубиной на основе информации о глубине, соответствующей информации о точке наблюдения, по соответствующим точкам пикселов Alternatively, the present invention provides a method of representing a three-dimensional object in the images based on the depth, comprising: generating at least one piece of information about the observation point, generating color images on the basis of color information corresponding to the information about the observation point, at corresponding points of the pixels constituting the object, generating depth images on the basis of depth information corresponding to the information about the observation point, the respective pixel points , образующих объект, генерирование узлов изображений, состоящих из информации о точке наблюдения, цветного изображения и изображения с глубиной, соответствующего информации о точке наблюдения, и кодирование сформированных узлов изображения. Forming an object, generating image nodes composed of viewpoint information, a color image and a depth image corresponding to the viewpoint information, and encoding the generated image nodes.

В другом аспекте настоящее изобретение предусматривает способ представления трехмерных объектов на основе изображений с глубиной, включающий генерирование информации о точке наблюдения, из которой наблюдается объект, генерирование информации о плоскости, определяющей ширину, высоту и глубину плоскости изображения, соответствующей информации о точке наблюдения, генерирование последовательности данных о глубине для глубин всех проецируемых точек объекта, которые проецируются на плоскость изображения, генерирование последовательно In another aspect, the present invention provides a method of representing three-dimensional objects based on depth images, comprising: generating information about the observation point from which the observed object, generating information on a plane defining the width, height and depth of an image plane corresponding to the information about the observation point, the generation of the sequence Information about the depth for depths of all projected points of an object which are projected onto the image plane, generating sequentially ти данных о цвете по соответствующим проецируемым точкам и генерирование узла, состоящего из информации о плоскости, соответствующей плоскости изображения, последовательности данных о глубине и последовательности данных о цвете. five color data of respective projected points, and generating a node composed of plane information corresponding to the image plane, a sequence of depth data and color data sequence.

Еще в одном аспекте настоящее изобретение предусматривает способ представления трехмерного объекта на основе изображений с глубиной, включающий генерирование информации о форме для объекта путем деления октодерева, содержащего объект, на 8 субкубов и определения разделенных субкубов как дочерних узлов, определение эталонного изображения, содержащего цветное изображение, для каждого куба, разделенного генератором информации о форме, генерирование индексной информации эталонного изображения, соответствующей информации о форме, генер In yet another aspect, the present invention provides a method of representing a three-dimensional object based on depth images, comprising: generating shape information for an object by dividing an octree containing the object into 8 subkubov and determining separated subkubov as a child node, determining a reference image containing a color image, for each cube divided by the shape information generator, generating index information of the reference image corresponding to the shape information, Generators ирование узлов октодерева, включающих информацию о форме, индексную информацию и эталонное изображение, и кодирование узлов октодерева в выходные битовые потоки, причем на этапе генерирования информации о форме подразделение выполняется итеративньм образом до тех пор, пока субкуб не станет меньше, чем предварительно определенный размер. ation octree nodes including shape information, index information and reference image, and encoding the octree nodes to output bitstreams, wherein in step of generating the shape information unit is performed iterativnm way up until subkub becomes smaller than a predetermined size.

Еще в одном аспекте настоящее изобретение предусматривает способ представления трехмерных объектов на основе изображений с глубиной, включающий ввод битовых потоков, выделение узлов октодерева из входных битовых потоков, декодирование узлов октодерева, выделение информации о форме и эталонных изображений для множества кубов, образующих октодеревья, из декодированных узлов октодерева, и представление объекта путем комбинации выделенных эталонных изображений соответственно информации о форме. In yet another aspect, the present invention provides a method of representing three-dimensional objects on the image based on depth, comprising input bitstreams selection of nodes of the octree from the input bitstreams, decoding the octree nodes, extracting information about the shape and reference images for a plurality cubes constituting octree from the decoded octree nodes, and an object representation by combining the selected reference images, respectively, the shape information.

Согласно настоящему изобретению время визуализации для моделей, основанных на изображениях, пропорционально количеству пикселов в эталонном и выходном изображениях, но, принципиально, не геометрической сложности, как в случае многоугольной модели. According to the present invention, rendering time for models based on the images in proportion to the number of pixels in the reference and output images, but in principle, not the geometric complexity as in polygonal case model. Кроме того, когда основанное на изображениях представление применяется к объектам и сценам реального мира, становится возможной визуализация с фотографическим качеством естественной сцены без использования миллионов многоугольников и дорогостоящих вычислений. In addition, when images based representation is applied to objects and scenes of the real world, it becomes possible to render with photographic quality natural scenes without the use of millions of polygons and expensive computation.

Краткое описание чертежей BRIEF DESCRIPTION OF DRAWINGS

Вышеописанные задачи и преимущества настоящего изобретения поясняются путем детального описания предпочтительных вариантов осуществления изобретения со ссылками на чертежи, на которых представлено следующее: The above objects and advantages of the present invention are explained by a detailed description of preferred embodiments with reference to the drawings, in which:

фиг.1 - примеры основанного на изображениях представления, интегрированного в современном программном обеспечении; Figure 1 - Examples based on the representation of the image, in a modern integrated software;

фиг.2 - диаграмма структуры октодерева и порядок дочерних элементов; Figure 2 - Diagram of the octree structure and order of child elements;

фиг.3 - график, представляющий коэффициенты сжатия октодерева; Figure 3 - a graph showing Octree compression ratios;

фиг.4 - диаграмма примеров многослойного изображения с глубиной (МИГ): а - проекция объекта, где темные ячейки (вокселы) соответствуют единицам ("1") и белые ячейки соответствуют нулям ("0"); Figure 4 - diagram of examples of multi-layer image with depth (MIL): and - a projection of the object, where dark cells (voxels) correspond to one ( "1") and white cells correspond to zeros ( "0"); b - двумерное сечение в координатах (x, глубина); b - the two-dimensional cross section in the coordinates (x, depth);

фиг.5 - диаграмма, показывающая инвариантность вероятности возникновения узла: а - исходный текущий и порождающий узел; 5 - a diagram showing the invariance of node occurrence probability: and - a current source and generating unit; b - текущий и порождающий узел, повернутые вокруг оси на 90 градусов; b - a current generating unit and rotated about an axis by 90 degrees;

фиг.7, 8, 9 - коэффициенты геометрического сжатия для наилучшего способа, основанного на РРМ; 7, 8, 9 - geometric compression ratios in order to best method based on PPM;

фиг.6 - предположение об ортогональной инвариантности; 6 - assumption of orthogonal invariance;

фиг.10 - диаграмма, показывающая два пути переупорядочения цветового поля модели точечной текстуры "Ангел" в двумерное изображение; 10 - a chart showing two ways of rearrangement of color field pattern point texture "Angel" in the two-dimensional image;

фиг.11 -диаграмма примеров геометрического сжатия без потерь и цветового сжатия с потерями: а и b - исходная и сжатая модель "Ангел" соответственно; 11 -diagram geometric compression examples of lossless and lossy compression of color: a and b - the original and the compressed model of "Angel", respectively; с и d - исходная и сжатая версия модели "Мортон 256" соответственно; c and d - the original and the compressed version of the model, "Morton 256" respectively;

фиг.12 - диаграмма модели бинарного волюметрического дерева (БВО) и модели текстурированного бинарного волюметрического октодерева (ТБВО) "Ангел"; 12 - a model diagram of a binary tree volumetric (BVI) and models of textured binary volumetric octree (TBVO) "Angel";

фиг.13 - диаграмма, показывающая дополнительные изображения, снятые дополнительными камерами в ТБВО: а - изображение индекса камеры; 13 - a diagram showing additional images taken by additional cameras in TBVO: and - a camera image index; b - первое дополнительное изображение; b - first additional image; с - второе дополнительное изображение; with - the second additional image;

фиг.14 - диаграмма, показывающая пример записи потока ТБВО: а - структура дерева ТБВО (серый цвет является "неопределенным" символом текстуры; каждый цвет обозначает индекс камеры; b - порядок прохождения октодерева в узле БВО и индексах камеры; с - результирующий поток ТБВО, в котором заполненные кубы и кубы октодерева обозначают байты текстуры и байты БВО соответственно; 14 - a diagram showing an example of write TBVO stream: and - TBVO tree structure (Gray color is "undefined" texture symbol, each color denotes camera index; b - in the order of traversal octree BVO node and camera indices, with - the resultant TBVO stream in which filled cubes and octree cube denote the texture bytes and BVO bytes respectively;

фиг.15, 17, 18 и 19 - диаграммы, показывающие результаты сжатия ТБВО моделей "Ангел", "Мортон", "Пальма 512" и "Роботы 512" соответственно; 15, 17, 18 and 19 - graphs showing the results of TBVO compression models of "Angel", "Morton", "Palma 512" and "512 Robots", respectively;

фиг.16 - диаграмма, показывающая лишенные оболочки модели "Ангел" и "Мортон"; 16 - a diagram showing a model non-enveloped "Angel" and "Morton";

фиг.20 - диаграмма примера изображения текстуры и карты глубины; Figure 20 - graph of example of the texture image and depth map;

фиг.21 - диаграмма примера многослойного изображения с глубиной (МИГ): а - проекция объекта; 21 - diagram of an example of a layered image with depth (MIL): and - a projection of the object; b - пикселы многослойного изображения; b - a layered image pixels;

фиг.22 - диаграмма примера текстуры блока (БТ), в котором шесть простых текстур (пары изображений и карта глубины) используются для визуализации модели, показанной в центре; 22 - diagram of an example texture unit (BT), wherein the simple textures six (pairs of images and depth map) are used to render the model shown in the center;

фиг.23 - диаграмма примера обобщенной текстуры блока (ОТБ): а - местоположения камеры для модели "Пальма"; 23 - diagram of an example generalized texture unit (STU): and - a camera locations for 'Palm' model; b - плоскости опорного изображения для той же самой модели (использована 21 простая текстура); b - the reference image planes for the same model (used simple texture 21);

фиг.24 - диаграмма примера, показывающего двумерное представление октодерева: а - "совокупность точек"; 24 - diagram of an example showing the two-dimensional representation of the octree: A - "set of points"; b - соответствующие средние карты отображения; b - corresponding average maps;

фиг.25 - псевдокод для записи потока битов ТБВО; Figure 25 - pseudocode for writing TBVO stream of bits;

фиг.26 - диаграмма, показывающая спецификацию узлов представлений на основе изображений с глубиной (ПОИГ); Figure 26 - a chart showing a specification image-based representations of the nodes with depth (POIG);

фиг.27 - диаграмма модели объема наблюдения для изображения с глубиной: а - пространственное представление, b - ортогональное представление; 27 - diagram of the model for the volume of observation images with depth: and - a perspective view, b - orthogonal representation;

фиг.28 - псевдокод основанной на OpenGL визуализации простой текстуры; 28 - pseudo-code based on OpenGL visualization of simple texture;

фиг.29 - диаграмма примера, показывающего сжатие опорного изображения в простой текстуре: а - исходное опорное изображение; 29 - diagram of an example showing the compression of reference image in a simple texture: and - original reference image; b - модифицированное опорное изображение в формате JPEG; b - modified reference image in JPEG format;

фиг.30 - диаграмма примера, показывающего результат визуализации модели "Мортон" в различных форматах: а - в исходном полигональном формате, b - в формате изображений с глубиной; Figure 30 - a diagram of an example showing the result of visualization of the model "Morton" in various formats: A - in the original polygonal format, b - in the format of images with depth; с - в формате изображения октодерева; with - in the octree image format;

фиг.31 - диаграмма примеров визуализации: а - просканированная модель "Башня" в формате изображения с глубиной; Figure 31 - graph visualization examples: a - model the scanned "Tower" to an image format with depth; b - та же самая модель в формате изображения октодерева (данные сканера были использованы без устранения шума, отсюда черные точки в верхней части модели); b - the same model in an octree image format (scanner data were used without noise removal, hence the black dots in the upper part of the model);

фиг.32 - диаграмма примеров визуализации модели "Пальма": а - исходный полигональный формат, b - та же самая модель, но в формате изображения с глубиной; Figure 32 - graph of examples of visualization "Palm" model: a - the original polygonal format, b - the same model, but as an image with depth;

фиг.33 - диаграмма примера визуализации, показывающая кадр анимации "Дракон 512" в формате изображения с глубиной; 33 - diagram of an example visualization showing the animation frame "Dragon 512" as an image with depth;

фиг.34 - диаграмма примера визуализации модели "Ангел 512" в формате точечной текстуры; 34 - diagram of an example visualization model "angel 512" in point texture format;

фиг.35 - блок-схема устройства для представления трехмерных объектов на основе изображений с глубиной в соответствии с возможным вариантом осуществления настоящего изобретения; Figure 35 - a block diagram of an apparatus for representing three-dimensional objects on the basis of depth images in accordance with an embodiment of the present invention;

фиг.36 - детальная блок-схема препроцессора 1820; Figure 36 - detailed block diagram of a preprocessor 1820;

фиг.37 - блок-схема, иллюстрирующая процедуру реализации способа представления трехмерных объектов на основе изображений с глубиной с использованием простой текстуры согласно варианту осуществления настоящего изобретения; 37 - a block diagram illustrating a procedure of the method of presenting three-dimensional object based on depth images using a simple texture according to an embodiment of the present invention;

фиг.38 - блок-схема устройства для представления трехмерных объектов на основе изображений с глубиной согласно настоящему изобретению; Figure 38 - a block diagram of an apparatus for representing three-dimensional objects based on depth images according to the present invention;

фиг.39 - блок-схема, показывающая процедуру реализации способа представления трехмерных объектов на основе изображений с глубиной с использованием точечной текстуры согласно изобретению; 39 - a block diagram showing the procedure of the method of presenting three-dimensional object based on depth images using the point texture according to the invention;

фиг.40 - блок-схема устройства для представления трехмерных объектов на основе изображений с глубиной с использованием октодерева в соответствии с настоящим изобретением; Figure 40 - a block diagram of an apparatus for representing three-dimensional objects based on depth images using Octree according to the present invention;

фиг.41 - детальная блок-схема препроцессора 2310; Fig.41 - detailed block diagram of a preprocessor 2310;

фиг.42 - детальная блок-схема генератора 2340 индексов; Figure 42 - detailed block diagram of the index generator 2340;

фиг.43 - детальная блок-схема кодера 2360; Figure 43 - detailed block diagram of an encoder 2360;

фиг.44 - детальная блок-схема второй секции 2630 кодирования; Figure 44 - detailed block diagram of the second encoding section 2630;

фиг.45 - детальная блок-схема третьей секции 2640 кодирования; Figure 45 - detailed block diagram of the third encoding section 2640;

фиг.46 - блок-схема, показывающая процедуру реализации способа представления трехмерных объектов на основе изображений с глубиной с использованием октодеревьев согласно варианту осуществления настоящего изобретения; Figure 46 - a block diagram showing the procedure of the method of presenting three-dimensional objects on the basis of images with depth using octree according to an embodiment of the present invention;

фиг.47 - блок-схема, иллюстрирующая процесс реализации предварительной обработки опорного изображения; Figure 47 - a block diagram illustrating the process of implementing preprocessing a reference image;

фиг.48 - блок-схема, показывающая процесс реализации генерирования индекса; Figure 48 - a block diagram showing the process of implementing index generation;

фиг.49 - блок-схема, показывающая процесс реализации кодирования; Figure 49 - a block diagram showing the process of implementing encoding;

фиг.50 - блок-схема, показывающая процесс реализации второго этапа кодирования; Fig.50 - is a block diagram showing the process of implementing a second encoding step;

фиг.51 - блок-схема, показывающая процесс реализации третьего этапа кодирования; Fig.51 - is a block diagram showing the process of implementing a third encoding step;

фиг.52 - блок-схема, показывающая процесс генерирования потоков битов на этапах кодирования; Figure 52 - a block diagram showing the process of generating bitstreams in the encoding steps;

фиг.53 - блок-схема устройства для представления трехмерных объектов на основе изображений с глубиной с использованием октодерева в соответствии с другим вариантом осуществления настоящего изобретения; 53 is - a block diagram for representing three-dimensional objects on the basis of images with depth using Octree according to another embodiment of the present invention;

фиг.54 - блок-схема, показывающая процедуру реализации способа представления трехмерных объектов на основе изображений с глубиной с использованием октодеревьев согласно другому варианту осуществления настоящего изобретения. Fig.54 - a flowchart showing the procedure of the method of presenting three-dimensional objects on the basis of images with depth using octree according to another embodiment of the present invention.

Описание предпочтительных вариантов осуществления настоящего изобретения Description of preferred embodiments of the present invention

Данная заявка испрашивает приоритет предварительных заявок США, приведенных ниже, которые включены в настоящее описание посредством ссылки во всей своей полноте. This application claims priority to US provisional applications listed below, which are incorporated herein by reference in its entirety.

I. Кодирование согласно стандарту ISO/IEC JTC 1/SC 29/WG 11 движущихся изображений и аудиосигналов I. Coding according to ISO / IEC JTC standard 1 / SC 29 / WG 11, moving images and audio

1. Введение 1. Introduction

В настоящем документе изложены результаты основного эксперимента по визуализации на основе изображений AFX A8.3. This paper presents the results of the basic experiment of visualization based on images AFX A8.3. Этот основной эксперимент относится к технологии визуализации на основе изображений, использующей текстуры с информацией о глубине. This core experiment relates to imaging technology based on image using the texture with depth information. Также представлены изменения, основанные на экспериментах, проведенных после 57-го симпозиума MPEG, и обсуждений в рамках встречи Специальной Группы AFX в октябре, внесенные в спецификации узлов. Also presents changes based on experiments carried out after the 57th MPEG symposium and the discussions in the meeting of the Ad Hoc Group of AFX in October, made in the node specification.

2.Экспериментальные результаты 2.Eksperimentalnye results

2.1. 2.1. Модели испытаний test models

Figure 00000002
Для неподвижных объектов For stationary objects

Figure 00000003
Узел изображения с глубиной с простой текстурой Node image with depth with the simple texture

Figure 00000004
Собака Dog

Figure 00000005
Король Тираннозавр (изображение с глубиной с использованием около 20 камер) King T-Rex (image with depth using about 20 cameras)

Figure 00000006
Терраск (монстр) (изображение с глубиной с использованием около 20 камер) Veranda (a monster) (with the depth image using about 20 cameras)

Figure 00000007
ЧунСунгДае (изображение с глубиной, сканированные данные) ChunSungDae (depth image, scanned data)

Figure 00000008
Пальма (изображение с глубиной, 20 камер) Palma (image with depth, 20 cameras)

Figure 00000009
Изображение с глубиной с многослойной текстурой Images with depth to a multilayer texture

Figure 00000010
Ангел Angel

Figure 00000011
Изображение с глубиной с точечной текстурой Images with dot texture depth

Figure 00000012
Ангел Angel

Figure 00000013
Узел изображения октодерева Image Node octree

Figure 00000014
Создание Creature

Figure 00000015
Для анимационных объектов For animated objects

Figure 00000016
Узел изображения с глубиной с простой текстурой Node image with depth with the simple texture

Figure 00000017
Дракон The Dragon
Figure 00000018
Дракон в окружающей среде Dragon in the environment

Figure 00000019
Изображение с глубиной с многослойной текстурой Images with depth to a multilayer texture

Figure 00000020
Не предусмотрено Not provided

Figure 00000021
Узел изображения октодерева Image Node octree

Figure 00000022
Робот Robot

Figure 00000023
Дракон в окружающей среде Dragon in the environment

Figure 00000024
В будущем будет обеспечено больше данных (сканированных или моделированных). In the future, it will provide more data (scanned or modeled).

2.2. 2.2. Результаты испытаний test data

Figure 00000025
Все узлы, предложенные в Сиднее, интегрированы в эталонное программное обеспечение blaxxun contact 4.3. All the nodes proposed in Sydney are integrated into the reference software blaxxun contact 4.3. Однако источники еще не загружены на сервер cvs. However, sources have not yet uploaded to the cvs server.

Figure 00000026
Анимационные форматы представлений, основанных на изображениях (ПОИ) должны иметь синхронизацию между множеством файлов кинофрагментов таким путем, что изображения в одном и том же ключевом кадре из каждого файла кинофрагмента должны выдаваться в одно и то же время. Animated presentation formats based on images (CIP) must be synchronized between multiple kinofragmentov files in such a way that the images in the same key frame from each kinofragmenta file must be issued in the same time. Однако современное эталонное программное обеспечение не поддерживает данное свойство синхронизации, что возможно в системах стандартов MPEG. However, current reference software does not support the synchronization of the property, which is possible in the MPEG standard system. Поэтому в настоящее время анимационные форматы могут быть визуализированы в предположении, что все анимационные данные уже находятся в файле. Therefore, at present animated formats can be visualized assuming all animation data are already in the file. Временно для каждой анимационной текстуры используются файлы кинофрагментов в формате AVI. Time for each animated texture used kinofragmentov files in AVI format.

Figure 00000027
После проведения ряда экспериментов с многослойными текстурами было установлено, что узел многослойной текстуры является неэффективным. After a series of experiments with layered textures, it was found that the texture of the multilayer assembly is ineffective. Такой узел был предложен для многослойного изображения с глубиной. This node was proposed for multi-layer image with depth. Однако имеется также узел точечной текстуры, который может его поддерживать. However, there is also a point texture node that can support it. Поэтому было предложено удалить узел многослойной текстуры из спецификации узлов. Therefore, it was proposed to remove the multilayer assembly texture node specification. На фиг.1 представлены примеры представлений на основе изображений (ПОИ), интегрированные в современное эталонное программное обеспечение. 1 shows examples of image-based representations (PRI) integrated into a modern reference software.

3. Обновление данных спецификации узлов ПОИ 3. Update POI node specification

Выводы, полученные на встрече в Сиднее в отношении предложения ПОИ, состояли в том, чтобы получить поток ПОИ, который содержит изображения и информацию камер, а узел ПОИ должен только иметь связь (Url - универсальный указатель ресурсов) с ним. Conclusions drawn at the meeting in Sydney on the proposal PRI, were that to get POI stream that contains images and camera information, and POI node should only have a link (Url - Universal Resource Locator) with him. Однако на встрече AhG в Ренне в результате обсуждений ПОИ было решено использовать изображения и информацию камер как в узлах ПОИ, так и в потоке. However AhG meeting in Rennes as a result of the discussions, it was decided to use the POI images and camera information in the POI sites, and in the stream. Таким образом, ниже приведена спецификация обновленных узлов для узлов ПОИ. Thus, the following is a specification of the updated nodes to nodes PRI. Требования для потока ПОИ приведены в разделе, который поясняет поле Url. Requirements for the PRI flow shown in section, which illustrates Url field.

Figure 00000028

Узел изображения с глубиной определяет отдельную текстуру ПОИ. Node image depth determines a separate texture PRI. Когда множество узлов изображения с глубиной связаны друг с другом, они обрабатываются как группа, и поэтому должны быть помещены под одним и тем же узлом преобразования. When a plurality of images with depth nodes are connected with each other, they are processed as a group, and therefore should be placed under one and the same conversion unit.

Поле "diТекстура" определяет текстуру с глубиной, которая должна быть отображена в область, определяемую в узле изображения с глубиной. The "diTekstura" specifies the texture with depth, which shall be mapped into the region defined in a node with depth image. Она должна быть одной из текстур различных типов текстуры изображения с глубиной (простая текстура или точечная текстура). It must be one of any type of texture image texture with depth (simple texture or dot pattern).

Поля "положение" и "ориентация" определяют относительное местоположение точки наблюдения текстуры ПОИ в локальной системе координат. Fields "position" and "orientation" is defined relative location of the observation point texture PRI in the local coordinate system. Положение определяется относительно начала координат (0, 0, 0) системы координат, а ориентация определяет поворот относительно установленной по умолчанию ориентации. The position is determined relative to the origin (0, 0, 0) of the coordinate system, and determines the orientation of the rotation relative to the default orientation. В установленных по умолчанию положении и ориентации наблюдатель находится на оси Z и смотрит вдоль Z-оси в направлении начала координат, причем ось +Х находится справа, а ось +Y - впереди в направлении вверх. The default set position and orientation of the observer is on the Z axis and looking along the Z-axis in the direction of the origin, the axis is to the right + X, and axis + Y - front in the upward direction. Однако иерархия преобразования оказывает влияние на окончательное положение и ориентацию. However, transformation hierarchy affects the final position and orientation.

Поле "поле зрения" определяет угол наблюдения из точки наблюдения камеры, определяемой полями положения и ориентации. The "field of view" defines the viewing angle of the camera observation point defined by position and orientation fields. Первое значение обозначает угол к горизонтальной стороне, а второе значение обозначает угол к вертикальной стороне. The first value denotes the angle to the horizontal side and the second value denotes the angle to the vertical side. Значения, установленные по умолчанию, равны 45° в радианах. The values ​​set by default, equal to 45 ° in radians. Однако когда ортогональное поле установлено на ИСТИННО, поле "поле зрения" обозначает ширину и высоту ближней и дальней плоскости. However, when orthogonal field is set to TRUE, the "field of view" denotes the width and height of the near and far plane.

Поля ближней и дальней плоскости определяют расстояния от точки наблюдения до ближней и дальней плоскости зоны наблюдения. Field near and far plane determined distance from the viewpoint to the near plane and far zone of observation. Текстура и данные глубины показывают область, ограниченную ближней плоскостью, дальней плоскостью и точкой наблюдения. The texture and depth data shows the area bounded by the near plane, far plane and the observation point. Данные глубины нормированы к расстоянию от ближней плоскости до дальней плоскости. Depth data are normalized to the distance from a near plane to a far plane.

Поле "ортогональное" определяет тип наблюдения текстуры ПОИ. The "orthogonal" determines the type of texture observation POI. Когда оно установлено на ИСТИННО, то текстура ПОИ основана на ортогональном наблюдении. When it is set to TRUE, the texture of the POI based on the orthogonal observation. В ином случае текстура ПОИ основана на наблюдении в перспективе. Otherwise, the texture of the POI based on the observation in perspective.

Поле "изображение с глубиной Url" определяет адрес потока изображения с глубиной, которое может дополнительно включать в себя следующее содержание: The "image depth Url" specifies the address of the depth image stream, which may further include the following contents:

Figure 00000029
Положение Position

Figure 00000030
Ориентация Orientation

Figure 00000031
Точка наблюдения observation point

Figure 00000032
Ближняя плоскость Near the plane

Figure 00000033
Дальняя плоскость Long-range plane

Figure 00000034
Ортогональное the orthogonal

Figure 00000035
diТекстура (простая текстура или точечная текстура) diTekstura (simple pattern or dot pattern)

Figure 00000036
Заголовок в 1 байт для флага включения/исключения для приведенных выше полей Header 1 byte for inclusion / exclusion flag fields for the above

Figure 00000037

Узел простой текстуры определяет отдельный слой текстуры ПОИ. Node simple texture defines its own layer texture PRI.

Поле "текстура" определяет плоское изображение, которое содержит цвет для каждого пиксела. The "texture" defines a flat image that contains color for each pixel. Оно должно быть одним из различных типов узлов текстуры (текстура изображения, текстура кинофрагмента или пиксельная текстура). It must be one of the various types of texture nodes (texture images, texture kinofragmenta pixel or texture).

Поле "глубина" определяет глубину для каждого пиксела в поле "текстура". The "depth" determines the depth for each pixel in the "texture". Карта глубины должна иметь тот же размер, что и изображение или кинофрагмент в поле "текстура". depth map shall be the same size as the image or movie in a "texture" field. Оно должно быть одним из различных типов узлов текстур (текстура изображения, текстура кинофрагмента или пиксельная текстура). It must be one of the various types of texture nodes (texture images, texture kinofragmenta pixel or texture). Если узел глубины установлен на НУЛЬ или поле "глубина" неопределенно, то альфа-канал в поле "текстура" должен использоваться в качестве карты глубины. If the depth node is NULL or set to the "depth" is uncertain, the alpha channel in the "texture" to be used as the depth map.

Figure 00000038

Узел "точечная структура" определяет множество слоев точек ПОИ. Knot "structure point" defines a plurality of layers PRI points. Поля "ширина" и "высота" определяют ширину и высоту текстуры. Field "width" and "height" specify the width and height of the texture.

Поле "глубина" определяет множество глубин каждой точки (в нормированных координатах) в плоскости проекции в порядке пересечения, которое начинается из точки в нижнем левом углу и пересекает вправо для завершения на горизонтальной линии перед перемещением на более высокую линию. The "depth" defines a plurality of depths of each point (in normalized coordinates) in the projection plane in the intersection procedure, which starts from a point in the lower left corner and traverses to the right to complete a horizontal line before moving to a higher line. Для каждой точки число глубин (пиксели) сначала запоминаются, и это число значений глубины затем следует. the number of depths (pixels) is first stored and that number of depth values ​​is followed for each point.

Поле "цвет" определяет цвет текущего пикселя. The "color" defines the color of the current pixel. Порядок должен быть тем же самым, что и для поля "глубина", за исключением того, что число глубин (пикселей) для каждой точки не включается. The order shall be the same as that for the "depth", except that number of depths (pixels) for each point is not included.

Figure 00000039

Узел "изображение октодерева" определяет структуру октодерева и его проецируемые текстуры. Node "octree image" defines the octree structure and its projected textures. Размер описанного куба полного октодерева 1×1×1, и центр куба октодерева должен быть в начале координат (0, 0, 0) локальной системы координат. Size described octree cube complete 1 × 1 × 1, and octree cube shall be the center at the origin (0, 0, 0) of the local coordinate system.

Поле "разрешение октодерева" определяет максимальное число листьев октодерева вдоль стороны описанного куба. The "resolution octree" defines the maximum number of octree leaves along a side of the cube described. Уровень октодерева может быть определен из разрешения октодерева с использованием следующего уравнения: уровень октодерева=int(iog2(разрешение октодерева-1))+1). The level of the octree can be determined from the resolution of the octree using the following equation: The level of the octree = int (iog2 (resolution octree-1)) + 1).

Поле "октодерево" определяет множество внутренних узлов октодерева. The "octree" defines a plurality of octree internal nodes. Каждый внутренний узел представлен байтом. Each internal node is represented by a byte. "1" в i-м бите этого байта означает, что дочерние узлы существуют для i-го дочернего элемента этого внутреннего узла, а "0" означает, что этого нет. "1" in the i-th bit of this byte means that the children nodes exist for the i-th child element of the internal node, and "0" means that it is not. Порядок внутренних узлов октодерева должен быть порядком прохождения сигнала по ширине октодерева. The order of the octree internal nodes shall be the order of the octree passage width signal. Порядок восьми дочерних элементов внутреннего узла показан на фиг.2. The order of eight children of the internal node elements shown in Figure 2.

Поле "изображения октодерева" определяет множество узлов "изображение с глубиной" с простой текстурой для поля "diТекстура". The "octree image" specifies a set of nodes "image depth" with simple texture for field "diTekstura". Однако поле "ближний план" и "дальний план" узла "изображение с глубиной" и поле глубины в узле "простая текстура" не используются. However, the "foreground" and "long shot" node "image depth" and the depth of field at the node "a simple texture" are not used.

Поле "октодеревоUrl" определяет адрес потока изображения октодерева со следующим содержанием: "OktoderevoUrl" field specifies the address of the octree image stream with the following contents:

Figure 00000040
заголовок для флагов header for flags

Figure 00000041
разрешение октодерева resolution octree

Figure 00000042
октодерево octree

Figure 00000043
изображения октодерева (узлы множественного изображения с глубиной) octree image (multiple image components with depth)

Figure 00000044
ближний план не используется foreground is not used

Figure 00000045
дальний план не используется long-range plan is not being used

Figure 00000046
diТекстура → простая текстура без глубины diTekstura → simple texture without depth

II. II. Кодирование согласно стандарту ISO/IEC JTC 1/SC 29/WG 11 движущихся изображений и аудиосигналов Coding according to the standard ISO / IEC JTC 1 / SC 29 / WG 11, moving images and audio

1. Введение 1. Introduction

В настоящем документе изложены результаты основного эксперимента по визуализации на основе изображений с глубиной (DIBR), AFX A8.3. This paper presents the results of the basic experiment of visualization based on images with depth (DIBR), AFX A8.3. Этот основной эксперимент относится к узлам представления на основе изображений с глубиной с использованием текстур с информацией о глубине. This basic experiment relates to the representation of nodes based on depth images using textures with depth information. Эти узлы были приняты и включены в предложение для Проекта Комитета на встрече в Паттайя. These nodes have been accepted and included in the proposal to the Committee a draft at a meeting in Pattaya. Однако формирование потока этой информации посредством поля "октодеревоUrl" узла "изображение октодерева" и поля "изображение с глубинойUrl" узла "изображение с глубиной" продолжает еще оставаться предметом исследований. However, the formation of this flow of information through field "oktoderevoUrl" node "octree image" and the field "image with glubinoyUrl" node "image depth" still continues to be the subject of research. В данном документе описан формат формирования потока, который должен связываться посредством этих полей Url. This document describes the formation of stream format to be linked by these fields Url. Формат формирования потока включает компрессию (сжатие) поля "октодерево" узла "изображение октодерева" и полей "глубина/цвет" узла "точечная текстура". forming stream format includes compression (compression) field "octree" node "octree image" fields and "depth / color" node "point texture".

2. Формат формирования потока для "октодереваUrl" 2. The formation of a flow format "oktoderevaUrl"

2.1. 2.1. Формат потока stream format

Узел "избражение октодерева" включает в себя поле "октодеревоUrl", которое определяет адрес потока изображения октодерева. Node "izbrazhenie octree" includes a field "oktoderevoUrl" which specifies the address of the octree image stream. Этот поток может дополнительно включать в себя следующее содержание: This stream may further include the following contents:

Figure 00000047
заголовок для флагов header for flags

Figure 00000048
разрешение октодерева resolution octree

Figure 00000049
октодерево octree

Figure 00000050
изображения октодерева (узлы множественного изображения с глубиной) octree image (multiple image components with depth)

Figure 00000051
ближний план не используется foreground is not used

Figure 00000052
дальний план не используется long-range plan is not being used

Figure 00000053
diТекстура → простая текстура без глубины diTekstura → simple texture without depth

Поле "октодерево" определяет множество внутренних узлов октодерева. The "octree" defines a plurality of octree internal nodes. Каждый внутренний узел представлен байтом. Each internal node is represented by a byte. "1" в i-м бите этого байта означает, что дочерние узлы существуют для i-го дочернего элемента этого внутреннего узла, а "0" означает, что этого нет. "1" in the i-th bit of this byte means that the children nodes exist for the i-th child element of the internal node, and "0" means that it is not. Порядок внутренних узлов октодерева должен быть порядком прохождения сигнала по ширине октодерева. The order of the octree internal nodes shall be the order of the octree passage width signal. Порядок восьми дочерних элементов внутреннего узла показан на фиг.2. The order of eight children of the internal node elements shown in Figure 2.

Поле "октодерево" узла "изображение октодерева" сформировано в компактном формате. The "octree" node "octree image" is formed in a compact format. Однако это поле может быть дополнительно сжато, чтобы иметь эффективное формирование потока. However, this field may be further compressed in order to have efficient formation flow. В следующем разделе описана схема сжатия октодерева для поля "октодерево" узла "изображение октодерева". The following section describes the compression scheme for the octree field "octree" node "octree image".

2.2. 2.2. Схема сжатия для поля "октодерево" Compression Scheme for the "octree"

В представлении октодерева, соответствующем DIBR, данные содержатся в поле "октодерево", которое представляет геометрический компонент. In octree representation corresponding DIBR, the data contained in the "octree", which represents the geometric component. Октодерево представляет собой множество точек в описанном кубе, полностью, представляющем поверхность объекта. Octree is a set of points in the described cube, completely representing the object surface.

Неидеальная реконструкция геометрии из сжатого представления приводит к весьма заметным артефактам. Imperfect reconstruction of geometry from compressed representation leads to highly noticeable artifacts. Следовательно, геометрия должна быть сжата без потери информации. Hence, geometry must be compressed without loss of information.

2.2.1. 2.2.1. Сжатие октодерева compression octree

Для сжатия поля "октодерево", представленного в форме октодерева первого прохода глубины, был разработан способ сжатия без потерь, использующий некоторые идеи метода предсказания посредством частичного согласования (ПЧС). For compression field "octree" represented in the form of first pass octree depth has been developed a lossless compression method using some ideas of the prediction method by partial matching (PCHS). Основная идея, которая была использована, заключается в "предсказании" (т.е. оценке вероятности) следующего символа по нескольким предшествующим символам, которые называются контекстом. The basic idea, which has been used is "prediction" (ie, assessing the probability of) next character on several previous symbols that are called context. Для каждого контекста имеется таблица вероятности, которая содержит оценки вероятностей появления каждого символа в данном контексте. For each context, there is probability table, which contains estimates of the probabilities of occurrence of each symbol in this context. Это используется в комбинации с арифметическим кодером, называемым кодером расстояния. This is used in combination with an arithmetic coder called range coder.

Двумя главными особенностями способа являются следующие: The two main features of the method are as follows:

1) использование порождающего узла в качестве контекста для дочернего узла; 1) Use of parent node as a context for the child node;

2) использование предположения "ортогональной инвариантности" для сокращения числа контекстов. 2) the use of assumptions' orthogonal invariance "to reduce the number of contexts.

Вторая идея основана на наблюдении того, что "вероятность перехода" для пар узлов "порождающий-дочерний" в типовом случае инварианта для ортогональных преобразований (поворот и симметрия). The second idea is based on the observation that 'transition probability' for pairs of nodes "parent-child" is typically invariant to orthogonal transformation (rotation and symmetry). Это предположение иллюстрируется в Приложении 1. Это предположение позволяет использовать более сложный контекст без необходимости использования слишком большого количества таблиц вероятности. This assumption is illustrated in Annex 1. This assumption allows us to use more complex context without having to use too many probability tables. Это, в свою очередь, позволило достичь довольно хороших результатов в смысле объема и скорости, так как чем больше контекстов используется, тем более точной является оценка вероятности и, следовательно, тем более компактньм является код. This, in turn, is possible to achieve relatively good results in terms of volume and speed, because the more contexts are used, the more accurate is the assessment of probabilities and, consequently, the more kompaktnm a code.

Кодирование является процессом конструирования и обновления таблицы вероятностей в соответствии с контекстной моделью. Coding is the process of constructing and updating the probability table according to the context model. В предложенном способе контекст моделируется как иерархия типа "порождающий-дочерний" в структуре октодерева. In the proposed method, the context is modeled as a hierarchy of "child-generating" in octree structure. Сначала определяется символ как байтовый узел, биты которого указывают на заполнение субкуба после внутреннего подразделения. Symbol is first determined as a byte node whose bits indicate the filling subkuba after internal subdivision. Поэтому каждый узел в октодереве может быть символом, и его числовое значение равно от 0 до 255. Таблица вероятностей (ТВ) содержит 256 целочисленных значений. Therefore, each node in octree can be a symbol and its numeric value is from 0 to 255. The probability table (PT) contains 256 integer values. Значение i-й переменной (0≤i≤255), разделенное на сумму всех переменных, равно частоте (оценке вероятности) появления i-го символа. The value of the i-th variable (0≤i≤255), divided by the sum of all variables, equal to the frequency (estimation of the probability) of occurrence of i-th symbol. Таблица вероятностного контекста (ТВК) представляет собой набор таблиц вероятностей (ТВ). Table probabilistic context (TCE) is a set of probability tables (TV). Вероятность символа определяется из одной и только одной ТВ. The probability of the symbol is determined by one and only one TV. Число конкретных ТВ зависит от контекста. Specific TV depends on the context. Пример ТВК показан в таблице 1. EXAMPLE TCEs shown in Table 1.

Figure 00000054

Кодер работает следующим образом. The encoder operates as follows. Он сначала использует 0-контекстную модель (т.е. единственную ТВ для всех символов, начиная с равномерного распределения, и обновляя ТВ после каждого нового кодированного символа. Дерево проходится в первом порядке глубины. Если собрано достаточное количество статистики (эмпирически найденное значение составляет 512 кодированных символов), кодер переключается на 1-контекстную модель. Он имеет 27 контекстов, которые определены следующим образом. He first uses 0-context model (ie a single PT for all the characters, starting with a uniform distribution, and updating the TV after each new coded symbol. The tree is traversed in depth first order. If you collect a sufficient amount of statistics (empirically found value is 512 coded symbols), the coder switches to 1-context model. It has 27 contexts, which are defined as follows.

Рассмотрим набор из 32 фиксированных ортогональных преобразований, которые включают в себя симметрию и повороты на 90° относительно осей координат (см. Приложение 2). Consider a set of 32 fixed orthogonal transforms, which include symmetry and twists 90 ° about the coordinate axes (see. Appendix 2). Затем можно разделить символы по категориям в соответствии с конфигурацией заполнения их субкубов. You can then divide the characters into categories according to the configuration of filling their subkubov. В использованном заявителем методе будет иметься 27 наборов символов, называемых здесь группами и имеющих следующие свойства: 2 символа связаны одним из этих фиксированных преобразований, если и только если они принадлежат к одной и той же группе. As used claimant method will be 27 sets of symbols, called groups here and having the following properties: 2 symbols are connected by one of these fixed transforms, if and only if they belong to the same group.

В байтовой записи группы представлены 27 наборами чисел (см. Приложение 2). The write byte groups are 27 sets of numbers (see. Appendix 2). Предполагается, что таблица вероятностей зависит не от самого порождающего узла (в этом случае было бы 256 таблиц), а только от группы (обозначено Порождающий символ на фиг.2), к которой принадлежит порождающий узел (отсюда 27 таблиц). It is assumed that the probability table depends not on the parent node (in this case would be 256 tables), but only on the group (indicated generated by the symbols in Figure 2), which belongs to the generating unit (hence the 27 tables).

В момент переключения ТВ для всех контекстов устанавливаются на копирование 0-контекстной ТВ. At the time of switching the TV for all contexts are set up on the 0-context TV. Затем каждая из 27 ТВ обновляется, когда она используется для кодирования. Then, each of the TV 27 is updated when it is used for coding.

После того как закодированы 2048 (еще одно эвристическое значение) символов в 1-контекстной модели, производится переключение на 2-контекстную модель, которая использует пары (Порождающий символ, Символ узла) в качестве контекстов. Once encoded 2048 (another heuristic value) symbols in the 1-context model, switches to 2-context model, which uses the pairs (generic character, symbol node) as contexts. Символ узла представляет собой просто положение текущего узла в порождающем узле. Symbol node is simply position of the current node in the parent node. Итак, имеется 27·8 контекстов для 2-контекстной модели. So, there is a 27 · 8 contexts for 2-context model. В момент переключения на эту модель ТВ, полученные для каждого контекста, используются для каждого узла "внутри" этого контекста и с этого момента обновляются независимо. At the moment of switching on the TV model is obtained for each context are used for each node "inside" of this context and since then updated independently.

С учетом более детального технического описания, кодирование для 1-контекстной и 20-контектной моделей происходит следующим образом. In view of more detailed technical description, coding for 1-context and the contextual models 20 occurs as follows. Для контекста текущего символа (т.е. для порождающего узла) определяется его группа. For the context of the current symbol (i.e., for the parent node), its group is determined. Это делается путем табличного поиска (перекодировки) (геометрический анализ выполнялся на этапе разработки программы). This is done by table lookup (conversion) (geometric analysis was performed on the stage of the program development). Затем применяется ортогональное преобразование, которое приводит наш контекст в "стандартный" (произвольно выбранный раз и навсегда) элемент группы, к которой он принадлежит. Then, an orthogonal transform is applied, which results in our context into a "standard" (arbitrary selected once and for all) element of the group to which it belongs. То же самое преобразование применяется к самому символу (эти операции также выполняются как табличный поиск (перекодировка); разумеется, все вычисления для всех возможных комбинаций сделаны заранее). The same transformation is applied to the character itself (these operations are also performed as a table lookup (transcoded); of course, all the calculations are made in advance for all possible combinations). Эффективным образом это означает вычисление корректного положения текущего символа в таблице вероятностей для группы, содержащей его контекст. Effectively, this means calculation of the correct position of the current symbol in probability table for the group containing its context. Затем соответствующая вероятность вводится в кодер расстояний. Then the corresponding probability is introduced into distances encoder.

Короче говоря, если заданы порождающий символ и положение субузла, то определяется идентификатор (ИД) контекста, который идентифицирует ИД группы и положение ТВ в ТВК. In short, if the generating set and the position of the symbol sub-assembly, the determined identifier (ID) context, which identifies the group ID and the position of the TV in the TCE. Распределение вероятностей в ТВ и ИД контекста вводятся в кодер расстояний. The probability distribution in TV and context ID is entered in distance encoder. После кодирования ТВК обновляется для использования в следующем кодировании. After encoding TCE is updated to use the following coding. Заметим, что кодер расстояний является вариантом арифметического кодирования, которое осуществляет ренормализацию в байтах вместо битов, в два раза ускоряя выполнение, и характеризуется на 0,01% более худшим сжатием, чем стандартная реализация арифметического кодирования. Note that the distance coder is a variation of arithmetic coding which performs renormalization in bytes instead of bits twice accelerating performance, and is characterized by 0.01% over the worst compression than a standard implementation of arithmetic coding.

Процесс декодирования по существу является инверсным по отношению к процессу кодирования. The decoding process is essentially the inverse of the encoding process. Он представляет собой абсолютно стандартную процедуру, которую нет необходимости описывать, поскольку она использует точно те же методы определения контекстов, обновления вероятностей и т.д. It is an absolutely standard procedure, which need not be described because it uses exactly the same methods of determining the contexts, updating probabilities, etc.

2.3. 2.3. Результаты испытаний test data

На фиг.3 представлена таблица для сравнения предложенного заявителем подхода как для неподвижных, так и для анимационных моделей (ординаты обозначают коэффициент сжатия). 3 is a table for comparing the applicant proposed approach for both still and animated for the models (ordinates denote compression ratio). Коэффициент сжатия октодерева варьируется около значений 1,5-2 раза в сравнении с исходным размером октодерева и обеспечивает выполнение универсальных методов сжатия без потерь (на основе метода Лемпеля-Зива, подобных программе RAR) примерно на 30%. Octree compression ratio varies around 1.5-2 times the values ​​in comparison with the original octree size, and provides the universal lossless compression methods (based on the Ziv-Lempel method, like RAR program) by about 30%.

3. Формат формирования потока для поля "изображение с глубиной Url" 3. forming stream format for the "image with depth Url"

3.1. 3.1. Формат потока stream format

Узел "изображние с глубиной" включает в себя поле "изображение с глубиной Url", которое определяет адрес потока изображения с глубиной. Node "izobrazhnie depth" includes a field "image depth Url", which defines the image stream address with depth. Этот поток может дополнительно включать в себя следующее содержание: This stream may further include the following contents:

Заголовок в 1 байт для флага включения/исключения для приведенных выше полей Header 1 byte for inclusion / exclusion flag fields for the above

Figure 00000055
Положение Position

Figure 00000056
Ориентация Orientation

Figure 00000057
Точка наблюдения observation point

Figure 00000058
Ближняя плоскость Near the plane

Figure 00000059
Дальняя плоскость Long-range plane

Figure 00000060
Ортогональное the orthogonal

Figure 00000061
diТекстура (простая текстура или точечная текстура) diTekstura (simple pattern or dot pattern)

Определение узла "точечная текстура", которое может быть использовано в поле "diТекстура" узла "изображение с глубиной", имеет следующий вид: Node Definition "dot pattern" which can be used in the "diTekstura" node "image depth", has the following form:

Figure 00000062

Узел "точечная структура" определяет множество слоев точек IBR. Knot "structure point" defines multiple layers of IBR points. Поля "ширина" и "высота" определяют ширину и высоту текстуры. Field "width" and "height" specify the width and height of the texture. Поле "глубина" определяет множество глубин каждой точки (в нормированных координатах) в плоскости проекции в порядке пересечения, которое начинается из точки в нижнем левом углу и пересекает вправо для завершения на горизонтальной линии перед перемещением на более высокую линию. The "depth" defines a plurality of depths of each point (in normalized coordinates) in the projection plane in the intersection procedure, which starts from a point in the lower left corner and traverses to the right to complete a horizontal line before moving to a higher line. Для каждой точки число глубин (пиксели) сначала запоминаются, и это число значений глубины затем следует. the number of depths (pixels) is first stored and that number of depth values ​​is followed for each point. Поле "цвет" определяет цвет текущего пикселя. The "color" defines the color of the current pixel. Порядок должен быть тем же самым, что и для поля "глубина", за исключением того, что число глубин (пикселей) для каждой точки не включается. The order shall be the same as that for the "depth", except that number of depths (pixels) for each point is not included.

Поля "глубина" и "цвет" точечной текстуры заданы в исходном (необработанном) формате, и размер этих полей, весьма вероятно, будет очень большим. Fields "depth" and "color" point texture specified in the original (raw) format, and the size of these fields, it is likely to be very large. Поэтому эти поля необходимо сжимать, чтобы иметь эффективное формирование потока. Therefore, these fields must be compressed to be effective forming flow. В следующем разделе описана схема сжатия для полей узла "точечная текстура". The following section describes the compression scheme for the node field "dotted texture."

3.2. 3.2. Схема сжатия для точечной текстуры Compression Scheme for point texture

3.2.1. 3.2.1. Сжатие поля "глубина" Compression field "depth"

Поле "глубина" узла "точечная текстура" представляет собой просто множество точек в "дискретизированном описывающем кубе". The "depth" of the node "dot pattern" is simply a set of points in a 'discretized describes cube ". Подразумевается, что нижняя плоскость является плоскостью проекции. It is understood that the lower plane is the plane of projection. При условии m·n·1-мерных решеток для модели точки являются центрами ячеек (в случае октодерева принято называть их вокселами) решетки, можно рассматривать заполненные вокселы как "1", а пустые вокселы как "0". Provided m · n · 1-dimensional gratings for the model points are centers of the cells (in octree case, we call them voxels) of the lattice, may be filled voxels considered as "1", and the empty voxels as "0". Результирующее множество битов (m·n·1-биты) затем организуются в поток байтов. The resulting set of bits (m · n · 1-bits) is then organized in a stream of bytes. Это делается путем прохождения вокселов в направлении по глубине (ортогонально плоскости проекции) по восьми слоям глубины ("по столбцам") в плоскости проекции (при заполнении, в случае необходимости, последнего слоя байтов нулями, если размер по глубине не является целым кратным 8). This is done by passing the voxels in the depth direction (orthogonal to projection plane) of eight depth layers ( "columns") in the projection plane (during filling, if necessary, the last layer of bytes with zeros if the depth resolution is not an integer multiple of 8) . Таким образом, можно представить множество точек как наборы ("стеки") изображений 8-битовой шкалы серого (вариант - 16-битовые изображения). Thus, it is possible to introduce a plurality of points as sets ( "stacks") images of 8-bit gray scale (variant - 16-bit images). Соответствие между вокселами и битами иллюстрируется на фиг.4а. The correspondence between voxels and bits is illustrated in Figure 4a.

Например, как показано на фиг.4b, черные квадраты соответствуют точкам объекта. For example, as shown in Figure 4b, the black squares correspond to points of the object. Горизонтальная плоскость является плоскостью проекции. Horizontal plane is the projection plane. Рассмотрим срез высоты 16 (его верхняя граница показана жирной линией). Consider slice height 16 (its upper boundary is shown by a thick line). Будет интерпретировать "столбцы" как байты. Will interpret the "columns" as bytes. Т.е. Those. столбец над точкой, обозначенной на чертеже, представляет стек из 2 байтов со значениями 18 и 1 (или 16-битовое целое число 274 без знака). column above the point marked in the figure represents the stack of 2 bytes with values ​​18 and 1 (or 16-bit integer without sign 274). Если применить наилучшие известные способы сжатия на основе метода ПЧС к совокупности байтов, полученных таким путем, то могут быть получены довольно хорошие результаты. If we apply the best known compression techniques based on the method PCHS a plurality of bytes obtained this way, it is quite good results can be obtained. Однако если в данном случае непосредственно применить простой 1-контекстный метод (разумеется, здесь не могут быть использованы ортогональная инвариантность или иерархические контексты), это приведет к несколько лучшей степени сжатия. However, if in this case to directly apply a simple 1-context method (of course, there can not be used orthogonal invariance or hierarchical contexts), this will result in slightly better compression ratio. Ниже приведена таблица столбцов, требуемых для различных типов представлений геометрии на основе многослойных изображений с глубиной (МИГ): по методу сжатия бинарного волюметрического октодерева (СБВО), сжатия вышеупомянутого байтового массива с использованием наилучшего компрессора (системы сжатия данных) метода ПЧС и сжатия того же массива с помощью компрессора. Below the columns table required for various types of geometry representations based multilayer depth images (MIL): the method of compressing a binary volumetric octree (SBVO) compressing the above byte array using the best compressor (data compression system) method PCHS and compressing the same array with a compressor. используемого в настоящее время заявителем (цифры приведены в килобайтах). currently used by the applicant (the numbers given in kilobytes).

Figure 00000063

3.2.2 Сжатие поля "цвет" 3.2.2 Compression field "color"

Поле "цвет" узла "точечная текстура" представляет собой множество цветов, присвоенных точкам объекта. The "color" node "dot pattern" is the set of colors assigned to a facility. В отличие от случая октодерева, поле "цвет" характеризуется точным соответствием (один к одному) с полем "глубина". Unlike octree case, the "color" is characterized by exact match (one to one) with the field "depth". Идея состоит в том, чтобы представить информацию цвета как одиночное изображение, которое может быть сжато одним из известных методов с потерями. The idea is to represent the color information as a single image, which can be compressed by a known method with losses. Количество элементов этого изображения много меньше, чем у опорных изображений в октодереве или в случае изображения с глубиной, и это является существенной мотивацией для данного метода. Cardinality of this image is much smaller than that of reference images in octree or in the case of an image with depth, and it is a significant motivation for this method. Изображение может быть получено путем сканирования точек глубины в том или ином естественном порядке. An image can be obtained by scanning depth points in this or that natural order.

Рассмотрим сначала порядок сканирования, диктуемый исходным форматом запоминания для МИГ (точечная текстура) - сканирование "сначала по глубине" геометрии. Consider first the scanning order dictated by the starting memory format for MIG (dotted texture) - Scan "depth-first" geometry. Мультипикселы сканируются в естественном порядке поперек плоскости проекции, как если бы они были простыми пикселями, и точки внутри одно и того же мультипиксела сканируются в направлении глубины. Multipiksely are scanned in the natural order across the projection plane, as if they were simple pixels, and points inside one and the same multipiksela scanned in depth direction. Этот порядок сканирования формирует одномерный массив цветов (1-й ненулевой мультипиксел, 2-й ненулевой мультипиксел и т.д.). This order of scanning produces a one-dimensional array of colors (1st nonzero multipiksel, 2nd nonzero multipiksel etc.). После того как глубина определена, из этого массива может быть успешно восстановлены цвета точек. Once determined depth, can be successfully restored color dots of the array. Для обеспечения применимости методов сжатия изображений, необходимо отобразить эту длинную строку один к одному в двумерную решетку. In order to ensure the applicability of image compression methods, it is necessary to display this long string of one to one in the two-dimensional lattice. Это может быть сделано различными путями. This can be done in various ways.

Метод, использованный в испытаниях, представляет собой так называемый метод "блочного сканирования", когда цветовая строка упорядочивается в блоки 8·8, и эти блоки упорядочиваются по столбцам ("блочное сканирование"). The method used in the tests is a so called "block-scan" method, when the color string is ordered into blocks of 8 × 8, and these units are arranged in columns ( "block scan"). Результирующее изображение представлено на фиг.5. The resulting image is shown in Figure 5.

Сжатие этого изображения было выполнено различными методами, включая стандарты JPEG. Compression of this image was performed by various methods, including standard JPEG. Оказалось, что по меньшей мере для данного типа цветового сканирования могут быть получены намного лучшие результаты, если использовать метод сжатия текстуры. It was found that at least for this type of color scan can be obtained much better results when using texture compression method. Этот метод основывается на адаптивной локальной "палетизации" (уменьшении числа битов на точку представлением меньшего числа цветов палитры) каждого блока 8·8. This method is based on adaptive local "palletising" (reducing the number of bits at point representation fewer palette colors) of each 8 × 8 block. Он имеет два режима: 8- и 12-кратное сжатие (в сравнении с BMP-форматом 24-бита "необработанного" истинного цвета на пиксел). It has two modes of 8- and 12-times compression (as compared to BMP-format 24-bit "untreated" true color per pixel). Успешность этого метода при применении к данному типу изображений может быть точно объяснена его "палитровым" характером (созданием на основе палитры), что позволяет учесть резкие (даже отличные от краевых) локальные вариации цветов, обусловленные "смешиванием" точек передней и задней поверхностей (которые могут различаться в очень значительной степени, как в случае модели "Ангел"). The success of this method, when applied to this type of images can be precisely explained by its "palette" character (creation based palette) to allow for sharp (even other than the boundary value) local color variations, arising from 'mixing' the points of the front and back surfaces (which may vary in a very large extent, in the case of "Angel" model). Целью поиска оптимального сканирования является сокращение таких вариаций в максимально возможной степени. The aim of searching for optimal scan is to reduce these variations as much as possible.

3.3. 3.3. Результаты испытаний test data

Примеры моделей в исходном и сжатом форматах показаны в Приложении 3. Качество некоторых моделей (например, "Ангел") после сжатия все еще не удовлетворительно, в то время как качество других очень хорошее ("Кузнечик"). Examples of the source and the compression format models shown in Annex 3. Quality of some models (for example, "Angel") after compression is still not satisfactory, while the quality of other very good ( "Grasshopper"). Однако ожидается, что эта проблема может быть решена с помощью надлежащего сканирования. However, it is expected that this problem can be solved by using a proper scanning. Потенциально может использоваться даже режим 12-кратного сжатия, так что общее сжатие увеличится еще более значительно. Potentially mode can be used even 12-fold compression, so the overall compression increases still more significantly. Наконец, сжатие без потерь будет усовершенствовано, чтобы приблизиться при сжатии геометрии к результатам сжатия на основе наилучшего метода ПЧС. Finally, the lossless compression will be improved to approach to geometry compression based on the compression results of the best method PCHS.

Ниже представлена таблица коэффициентов сжатия. Below is a table of compression ratios.

Figure 00000064

4. Выводы 4. Conclusions

В данном документе представлены результаты основного эксперимента по представлению AFX A8.3 на основе изображений с глубиной. This paper presents the results of the main experiment for AFX A8.3 representation based on depth images. Введен поток представлений на основе изображений с глубиной (DIBR), которые связаны посредством полей Url (универсального указателя ресурсов) узлов DIBR. Feed introduced image-based representations to the depth (DIBR), which are connected by Url fields (universal resource locator) DIBR nodes. Эти потоки состоят из всех элементов в узле DIBR вместе с флагом для каждого элемента, чтобы обеспечить возможность необязательного его использования. These streams consist of all the elements in the DIBR node together with a flag for each element to allow the optional use. Также исследовалось сжатие октодерева и данные точечной текстуры. Also investigated the octree compression and data point texture.

Приложение 1. Геометрический смысл ортогональной инвариантности контекста в алгоритме сжатия БВО Appendix 1. The geometric meaning of the context orthogonal invariance in BVO compression algorithm

Предположение об ортогональной инвариантности иллюстрируется на фиг.6. The assumption of orthogonal invariance is illustrated in Figure 6. Рассмотрим поворот относительно вертикальной оси на 90° по часовой стрелке. Consider rotation about the vertical axis by 90 ° clockwise. Рассмотрим произвольные конфигурации заполнения узла и его предшественника до (верхний рисунок) и после (нижний рисунок) поворота. Consider the arbitrary filling configuration node and its predecessor before (upper panel) and after (lower figure) rotate. Затем две различные конфигурации могут обрабатываться как одна и та же конфигурация. Then, two different configurations can be treated as one and the same configuration.

Приложение 2. Группы и преобразования Annex 2. Groups and transformation

1. 32 фиксированных ортогональных преобразования. 1. 32 fixed orthogonal transform.

Каждое преобразование определено 5-битовым словом. Each transformation defined 5-bit word. Комбинация битов является композицией следующих базовых преобразований (т.е. если k-й бит есть "1", то выполняется следующее преобразование): Combination of bits is composition of the following basic transforms (i.e., if k-th bit is "1", then the following transformation):

Figure 00000065
1-й бит - перестановка x и y координат; 1st bit - a permutation of x and y coordinates;

Figure 00000066
2-й бит - перестановка y и x координат; 2nd bit - a permutation y and x coordinates;

Figure 00000067
3-й бит - симметрия в плоскости (yz); 3rd bit - symmetry in a plane (yz);

Figure 00000068
4-й бит - симметрия в плоскости (xz); 4th bit - symmetry in the plane (xz);

Figure 00000069
5-й бит - симметрия в плоскости (xy). 5th bit - symmetry in a plane (xy).

2. 27 групп 2. 27 groups

Для каждой группы здесь имеется порядок группы и число ненулевых битов в ее элементах: номер группы, количество групп и число битов заполнения (множество вокселов). For each group, there are the order of the group and number of nonzero bits in its elements: a group number, the number of groups and the number of filling bits (a plurality of voxels).

Figure 00000070

3. Символы и преобразования 3. Symbols and transformation

Для каждого символа (s) имеется индекс группы (g), к которой он принадлежит, и значение преобразования (t), приводящего его в "стандартный" элемент группы. For each symbol (s) has a group index (g), to which it belongs, and the transform value (t), which leads it into the 'standard' element of the group.

Двоичное число символа отображается в бинарные координаты воксела следующим образом: i-й бит числа имеет бинарные координаты x=i&1, v=i&(1<<1), z=i&(1<<2). The binary number is displayed in the character binary voxel coordinates as follows: i-th bit of the number has binary coordinates x = i & 1, v = i & (1 << 1), z = i & (1 << 2).

Figure 00000071

Приложение 3. Снимки экранов сжатия точечной текстуры Annex 3. Screenshots compression point texture

На фиг.7, 8 и 9 представлены данные сжатия геометрии для метода, основанного на наилучшем ПЧС. 7, 8 and 9 are geometry compression figures for the method based on the best PCHS.

III. III. Результаты основного эксперимента по представлению на основе изображений с глубиной (AFX A8.3) The results of the main experiment for presentation of images on the basis of the depth (AFX A8.3)

1. Введение 1. Introduction

В настоящем документе изложены результаты основного эксперимента по визуализации на основе изображений с глубиной (DIBR), AFX A8.3. This paper presents the results of the basic experiment of visualization based on images with depth (DIBR), AFX A8.3. Этот основной эксперимент относится к узлам представления на основе изображений с глубиной с использованием текстур с информацией о глубине. This basic experiment relates to the representation of nodes based on depth images using textures with depth information. Эти узлы были приняты и включены в предложение для Проекта Комитета на встрече в Паттайя. These nodes have been accepted and included in the proposal to the Committee a draft at a meeting in Pattaya. Однако формирование потока этой информации посредством узла "изображение октодерева" и узла "изображение с глубиной" продолжает еще оставаться предметом исследований. However, the formation of this flow of information through the node "octree image" and the node "image depth" still continues to be the subject of research. В данном документе описан формат формирования потока, который должен связываться посредством этих узлов. This document describes the formation of stream format to be linked by these nodes. Формат формирования потока включает сжатие поля "октодерево" узла "изображение октодерева" и полей "глубина/цвет" узла "точечная текстура". forming the flow field compression format includes "octree" node "octree image" fields and "depth / color" node "point texture".

2. Сжатие форматов DIBR 2. Compression formats DIBR

Ниже описан новый способ эффективного сжатия без потерь несвязанной структуры данных октодерева, обеспечивающего возможность уменьшения объема этого компактного представления примерно в 1,5-2 раза, как показали проведенные эксперименты. The following describes a new method for effectively lossless compression unbound octree structure data, which provides the possibility of reducing the volume of the compact representation about 1.5-2 times, as shown by these experiments. Также предлагаются различные способы сжатия без потерь и с потерями формата точечной текстуры с использованием промежуточного вокселного представления в комбинации с энтропийным кодированием и специализированным способом блочного сжатия текстуры. Also provided are various methods for lossless compression and lossy point texture format using intermediate vokselnogo representation in combination with entropy coding and specialized block compression method texture.

2.1. 2.1. Сжатие октодерева compression octree

Поля "изображение октодерева" и "октодерево" в изображении октодерева сжимаются отдельно. Fields "octree image" and "octree" in the image of the octree are compressed separately. Описанные ниже способы были разработаны на основе положения, что поле "октодерево" должно быть сжато без потерь при некоторой степени визуально приемлемого искажения, допустимого для изображений октодерева. The following methods were developed based on the premise that the "octree" must be compressed losslessly while some degree of visually acceptable distortion allowed for the octree image. Поле "октодерево" сжимается с использованием метода сжатия изображений стандарта MPEG-4 (для статической модели) или инструментов видеосжатия (для анимационной модели). The "octree" compressed using the MPEG-4 standard image compression method (for static model), or video compression tools (for animated model).

2.1.1. 2.1.1. Сжатие поля "октодерево" Compression field "octree"

Сжатие октодерева является наиболее важной частью сжатия изображения октодерева, поскольку его предметом является сжатие уже и так очень компактного представления бинарного дерева без связей. Octree compression is the most important part of the compression of octree image, because its subject is the compression of the already very compact representation of a binary tree without connections. Однако в экспериментах заявителя метод, поясненный ниже, обеспечил уменьшение объема этой структуры примерно до половины ее исходного объема. However, in the experiments the applicant's method, explained below, provided the reduction in volume of this structure to about half of its original volume. В анимационной версии изображения октодерева поле "октодерево" сжимается отдельно для каждого трехмерного кадра. In the animated version of the image of the octree field "octree" compressed separately for each three-dimensional image.

2.1.1.1. 2.1.1.1. Контекстная модель Context model

Сжатие выполняется посредством варианта адаптивного арифметического кодирования (реализованного как "кодер расстояния"), которое осуществляет использование в явном виде геометрического характера данных. Compression is performed by a variant of adaptive arithmetic coding (implemented as 'range encoder') that makes use of explicit geometric nature of the data. Октодерево представляет собой поток байтов. Octree is a stream of bytes. Каждый байт представляет узел (т.е. субкуб) дерева, в котором его биты указывают заполнение субкуба после внутреннего подразделения. Each byte represents a node (i.e. subkub) of the tree, in which its bits indicate the filling subkuba after internal subdivision. Битовая конфигурация называется конфигурацией заполнения узла. The bit configuration is called Configuration filling assembly. Описанный алгоритм сжатия обрабатывает байты с соотношением "один к одному" следующим образом. The described compression algorithm processes bytes relation "one to one" as follows.

- Определяется контекст для текущего байта. - defines the context for the current byte.

- "Вероятность" (нормированная частота) появления текущего байта в этом контексте извлекается из "таблицы вероятностей" (ТВ) соответственно контексту. - "Probability" (normalized frequency) of occurrence of the current byte in this context is removed from the "probability table" (TV), according to the context.

- Значение вероятности вводится в кодер дальности. - The probability value is entered to the encoder range.

- Текущая ТВ обновляется путем добавления 1 к частоте появления текущего байта в текущем контексте (и, при необходимости, с последующей ренормализацией, как более подробно описано ниже). - Current TV is updated by adding 1 to the frequency of the current byte occurrence in the current context (and, if necessary, followed by renormalization, as described more fully below).

Таким образом, кодирование является процессом конструирования и обновления ТВ соответственно контекстной модели. Thus, coding is the process of constructing and updating the TV accordingly context model. В схемах адаптивного арифметического кодирования на основе контекста (таких как "предсказание с частичным согласованием") контекст символа обычно представляет собой строку из некоторого количества предшествующих символов. In the adaptive arithmetic coding schemes based on the context (such as "prediction partial matching") context symbol is typically a string of a number of previous symbols. Однако в нашем случае эффективность сжатия увеличивается путем использования структуры октодерева и геометрических свойств данных. However, in our case, compression efficiency is increased by using the octree structure and geometric properties of the data. Описанный подход основан на двух идеях, которые являются очевидным образом новыми в проблеме сжатия октодерева. The described approach is based on two ideas that are obviously new to the problem of octree compression.

А. Для текущего узла контекст является или его порождающим узлом или парой {порождающий узел, положение текущего узла в порождающем узле}. A. For the current node is the context or by the parent or pair {generating unit, current node position in the parent node}.

В. Предполагается, что "вероятность" появления заданного узла в конкретном геометрическом положении в конкретном порождающем узле инвариантна по отношению к определенному набору ортогональных (таких как повороты или симметричные преобразования) преобразований. B. It is assumed that 'probability' given node occurrence at the particular position in a specific geometric generating node is invariant with respect to a certain set of orthogonal (such as rotations or symmetrical Transform) transformation.

Предположение "В" иллюстрируется чертежом для преобразования R, которое представляет собой поворот на -90° в плоскости xz. Assumption 'B' is illustrated in the drawing to transform R, which is the rotation by -90 ° in the xz plane. Основное положение по пункту "В" состоит в том, что вероятность появления конкретного типа дочернего узла в конкретном типе порождающего узла должно зависеть только от их относительного положения. The main provision of paragraph "B" lies in the fact that the probability of a particular type of child node in a particular type of parent node should depend only on their relative positions. Это допущение подтверждено в экспериментах заявителя путем анализа таблиц вероятностей. This assumption is confirmed in experiments by the applicant's analysis of probability tables. Это позволяет использовать более сложный контекст без необходимости иметь слишком много таблиц вероятностей. This allows you to use more complex context without having too many probability tables. Это, в свою очередь, способствует достижению достаточно хороших результатов в аспектах размера данных и быстродействия. This, in turn, contributes to achieving sufficiently good results in the aspects of data size and speed. Заметим, что чем более сложные контексты используются, тем точнее оценка вероятности и тем более компактным является код. Note that the more complex contexts are used, the more accurate the estimate of the probability and the more compact is the code.

Введем множество преобразований, для которых предполагаем инвариантность распределений вероятности. Let us introduce the set of transforms for which we assume the invariance of probability distributions. Для обеспечения возможности их применения в рассматриваемой ситуации, такие преобразования должны сохранять описанный куб. In order to allow their application in this situation, such transformations must preserve described cube. Рассмотрим множество G ортогональных преобразований в евклидовом пространстве, которые получают путем всех композиций в любом числе и порядке трех базовых преобразований (генераторов) m 1 , m 2 и m 3 , определяемых следующим образом: Consider a set G of orthogonal transforms in Euclidean space, which are obtained by all compositions in any number and order of the three basic transforms (generators) m 1, m 2 and m 3, defined as follows:

Figure 00000072

где m 1 и m 2 - отображения на плоскости x=y и y=z соответственно, и m 3 - отображение на плоскость x=0. wherein m 1 and m 2 - displaying on the plane x = y and y = z, respectively, and m 3 - mapping onto the plane x = 0. Один из классических результатов теории групп, генерируемых отображениями, утверждает, что G содержит 48 отдельных ортогональных преобразований, и является, по смыслу, максимальной группой ортогональных преобразований, которая принимает упомянутый куб сама в себя (так называемая группа Coxeter). One of the classical results of the theory of groups generated maps states that G contains 48 separate orthogonal transforms, and is, in the sense, the maximal group of orthogonal transforms that receives said cube into itself (so-called group Coxeter). Например, поворот R на фиг.6 выражается через генераторы следующим образом: For example, R 6 turn expressed in terms of generators as follows:

R=m 3 ·m 2 ·m 1 m 2 , R = m 3 · m 2 · m 1 m 2,

где "·" обозначает матричное перемножение. where "·" denotes matrix multiplication.

Преобразование из G, применимое к узлу октодерева, формирует узел с отличающейся конфигурацией заполнения субкубов. Conversion of G, applicable to an octree node, produces a node with different filling subkubov configuration. Это позволяет подразделять узлы на категории в соответствии с конфигурацией заполнения из субкубов. This allows nodes to subdivide into categories according to the configuration of the filling subkubov. Используя терминологию теории групп, можно сказать, что G действует на множество всех конфигураций заполнения узлов октодерева. Using the terminology of group theory, we can say that G acts on the set of all configurations fill the octree nodes. Вычисления показывают, что имеется 22 различных класса (также называемых орбитами в теории групп), в которых, по определению, два узла принадлежат к одному и тому же классу, если и только если они связаны преобразованием из G. Количество элементов в классе варьируется от 1 до 24 и всегда является делителем 48. Computations show that there exist 22 distinct classes (also called orbits in group theory), in which, by definition, two nodes belong to the same class, if and only if they are related by a transformation from G. Number of elements in a class varies from 1 up to 24 and is always a divisor of 48.

Практическим следствием "В" является то, что таблица вероятностей зависит не от самого порождающего узла, а только от класса, к которому принадлежит порождающий узел. The practical consequence of 'B' is that the probability table depends not on the parent node, but only on the class to which belongs to the generating unit. Заметим, что будет иметься 256 таблиц для контекста, основанного на порождающем элементе, и дополнительно 256×8=2048 таблиц для контекста, основанного на положении порождающего и дочернего элементов в первом случае, хотя нам требуется только 22 таблицы для контекста, основанного на классе порождающего элемента, плюс 22×8=176 таблиц в последнем случае. Note that there will be 256 tables for content based on a generic element, and an additional 256 × 8 = 2048 tables for content based on the position of the generating and the child elements in the first case, though, we need only 22 tables for content based on the class of generating element, plus 22 × 8 = 176 tables in latter case. Поэтому можно использовать контекст эквивалентной сложности с относительно малым количеством таблиц вероятностей. Therefore, we can use an equivalent complexity context with relatively small number of probability tables. Сформированная ТВ будет иметь форму, как показано в таблице 2. Formed TV will have a form as shown in Table 2.

Figure 00000073

2.1.1.2. 2.1.1.2. Процесс кодирования The encoding process

Чтобы статистика таблиц вероятностей была более точной, ее собирают различными путями на трех этапах процесса кодирования. Statistics Probability tables to be more accurate, it is collected in different ways at three stages of encoding process.

- На первом этапе контекст не используется совсем, принимается "модель 0-контекста", и поддерживается одна таблица вероятностей с 256 записями, начиная с равномерного распределения. - At the first stage the context is not used at all, is accepted "model 0-context", and is supported by a probability table with 256 entries, ranging from a uniform distribution.

- Как только первые 512 узлов (это эмпирически найденное число) закодированы, переключаемся на "1-контекстную модель" с использованием порождающего узла в качестве контекста. - As soon as the first 512 nodes (it is an empirically found number) are encoded, we switch to '1-context model' using parent node as a context. В момент переключения ТВ 0-контекста копируется в ТВ для всех 22 контекстов; At the time of switching the TV 0-context is copied to the TV for all 22 contexts;

- После того как 2048 узлов (еще одно эвристическое значение) закодированы, переключаемся на "2-контекстную модель". - After 2048 nodes (another heuristic value) are encoded, we switch to '2-context model'. В этот момент 1-контекстные ТВ порождающих узлов копируются во все ТВ для каждого положения в той же самой конфигурации порождающего узла. At this point, 1-TV context generators in all nodes are copied TV for each position in the same parent node configuration.

Ключевым моментом данного алгоритма является определение контекста и вероятности для текущего байта. The key point of the algorithm is the determination of context and probability for the current byte. Это реализуется следующим образом. This is done as follows. В каждом случае фиксируем один элемент, который называется "стандартным элементом". In each case, we fix a single element, which is called 'standard element'. Сохраняем таблицу отображения класса (ТОК), которая показывает класс, к которому принадлежит каждый из возможных 256 узлов, и предварительно вычисленное преобразование из G, которое переводит данный конкретный узел в стандартный элемент его класса. Save the class mapping table (TSC), which shows the class to which belongs to each of the possible 256 nodes, and the precomputed transform from G, which translates this particular node into the standard element of its class. Таким образом, чтобы определить вероятность текущего узла N, выполняем следующие этапы. Thus, to determine the probability of the current node N, we perform the following steps.

- Определить порождающий узел Р текущего узла. - Determine generating node P of the current node.

- Извлечь класс из ТОК, к которому принадлежит Р, и преобразование Т, которое переводит Р в стандартный узел класса. - Retrieve the class from the CPE to which P belongs, and the transform T that takes P into the standard node class. Пусть номер класса будет с. Let the class number be c.

- Применить Т к Р и найти положение р дочернего узла в стандартном узле, на который отображается текущий узел N. - Apply T to P, and find the child node position p in standard node to which current node appears N.

- Применить Т к N. Затем вновь полученная конфигурация TN заполнения находится в положении р в стандартном узле класса с. - Apply T to N. Then, newly obtained filling configuration TN is at the position p in the standard node of the class c.

- Извлечь требуемую вероятность из записи TN таблицы вероятностей, соответствующей комбинации "класс-положение" (с, р). - Retrieve the required probability from the entry TN probability table corresponding to combination of "class-position" (c, p).

Для 1-контекстной модели вышеописанные этапы модифицируются очевидным образом. For the 1-context model, the above steps are modified in an obvious way. Само собой разумеется, все преобразования предварительно вычислены и реализованы в виде таблиц перекодировки. Needless to say, all the transformations previously calculated and implemented as lookup tables.

Заметим, что на этапе декодирования узла N его порождающий узел Р уже декодирован, и, следовательно, преобразование Т известно. Note that in the step of decoding the node N its generating unit P already decoded, and hence transform T is known. Все шаги, выполняемые на этапе декодирования, абсолютно идентичны соответствующим шагам процедуры кодирования. All steps are performed in the decoding step, completely identical to the corresponding steps of the encoding procedure.

Наконец, опишем процедуру обновления вероятности. Finally, we describe the procedure for updating the probabilities. Пусть Р таблица вероятностей для некоторого контекста. Let P be a probability table for some context. Обозначим P(N) запись Р, соответствующую вероятности появления узла N в этом контексте. Denote P (N) P entry corresponding to the probability of occurrence node N in this context. В описываемой реализации P(N) - целое число, и после каждого появления N, P(N) обновляется как In the described implementation, P (N) - is an integer, and after each occurrence of N, P (N) is updated as the

P(N)=P(N)+A, P (N) = P (N) + A,

где А - целочисленный параметр приращения, изменяющийся в типовом случае от 1 до 4 для различных контекстных моделей. where A - integer increment parameter varying typically from 1 to 4 for different context models.

Пусть S(P) - сумма всех записей в РП. Let S (P) - the sum of all entries in the RP. Тогда вероятность того, что N вводится в арифметический кодер (в данном случае кодер расстояний), вычисляется как P(N)/S(P). Then the probability that N is entered in arithmetic coder (in this case, the distance encoder), is computed as P (N) / S (P). Как только S(P) достигает порогового значения 2 1 , все записи ренормируются: чтобы избежать появления нулевых значений в Р, записи, равные 1 остаются, как они есть, а другие делятся на 2. As soon as S (P) reaches a threshold value 2 1, all the entries are renormalized: in order to avoid occurrence of zero values in P, entries equal to 1 are, as they are, while others are divided by 2.

2.2. 2.2. Сжатие точечной текстуры Compression point texture

Узел "точечная текстура" содержит два поля, которые подвергаются сжатию, т.е. Node "dot pattern" comprises two fields which are compressed, i.e., "глубина" и "цвет". "Depth" and "color." Основные трудности со сжатием данных точечной текстуры обусловлены следующими требованиями. The main difficulties with the point texture data compression due to the following requirements.

- Геометрия должна быть сжата способом без потерь, поскольку искажения в геометрическом представлении этого типа часто весьма заметны. - Geometry must be compressed in a lossless manner, since the distortion in the geometrical representation of this type are often highly visible.

- Информация цвета не имеет естественной двумерной структуры, и поэтому методы сжатия изображения непосредственно не применимы. - Color information has no natural two-dimensional structure, and thus image compression techniques are not immediately applicable.

В этом разделе предложено три метода для сжатия модели точечной текстуры. This section proposed three methods for compression point texture model.

- Метод стандартного представления узла без потерь. - standard node representation lossless method.

- Метод представления узла с низким разрешением без потерь. - node representation method with low resolution without loss.

- Метод сжатия геометрии без потерь и сжатия цвета с потерями для представления узла с низким разрешением. - Compression Method lossless geometry and lossy color compression for presentation unit with low resolution.

Эти методы соответствуют трем уровням "достоверности" описания объектов. These methods correspond to the three levels of "authenticity" descriptions of objects. Первый метод предполагает, что необходимо сохранять информацию о глубине с точностью до исходных 32 битов. The first method implies the need to store the depth information up to an initial 32 bits. Однако на практике информация о глубине может зачастую квантоваться с намного меньшим числом битов без потери качества. However, in practice, the depth information can often be quantized with a much smaller number of bits without losing quality. В частности, когда модель "точечная структура" преобразована из полигональной модели, то разрешение квантования выбирается в соответствии с действительным размером видимых деталей, которыми обладает исходная модель, а также желательным выходным разрешением экранного изображения. In particular, when a model "structure point" converted from polygonal model, the quantization resolution is chosen according to actual size of visible details the original model which has, as well as desirable output screen resolution image. В этом случае 8-11 битов могут вполне удовлетворить указанным требованиям, и значения глубины первоначально сохраняются в этом формате более низкого разрешения. In this case 8-11 bits may well satisfy the requirements, and depth values ​​are initially stored in this lower resolution format. Вышеупомянутый второй метод использует сжатие без потерь представления "низкого разрешения". The above second method uses a lossless representation of "low-resolution". Ключевым моментом в данном случае является то, что для такого относительно малого числа битов может быть использовано промежуточное представление посредством вокселов модели, и это позволяет сжимать поле "глубина" по существу без потери информации. The key point here is that for such a relatively small number of intermediate representation may be used bits by voxel model and is able to compress the "depth" substantially without loss of information. Информация цвета в обоих случаях сжимается без потерь и сохраняется в формате PNG после переупорядочения данных цвета в виде вспомогательного двумерного изображения. The color information in both cases, compressed lossless and saved in PNG format after reordering the color data in the form of an auxiliary two-dimensional image. Наконец, третий метод позволяет достичь намного более высокого сжатия, комбинируя сжатие без потерь геометрии со сжатием без потерь данных цвета. Finally, the third method allows us to achieve much higher compression, combining lossless compression of geometry compression without loss of color data loss. Последнее выполняется с помощью специализированного метода блочного сжатия текстуры. The latter is performed with the help of a specialized method of compression block texture. В следующих трех подразделах эти методы описаны более детально. The next three sections describe these methods in more detail.

2.1.1. 2.1.1. Сжатие точечной текстуры без потерь для стандартного представления узла Compression of point texture for a standard lossless representation node

Это простой метод кодирования без потерь, который работает следующим образом. It is simple lossless coding method, which works as follows.

- Поле "глубина" сжимается адаптивным кодером расстояния, подобным используемому при сжатии поля "октодерево". - The "depth" is compressed by the encoder adaptive distance similar to that used in compression field "octree". Для данного формата использована версия, в которой таблица вероятностей поддерживается для каждого из 1-символьных контекстов, и контекстом является просто предыдущий байт. version used for this format, in which the probability table is maintained for each of the 1-symbol contexts, and the context is simply the previous byte. Поэтому используются 256 ТВ. Therefore, the use of 256 TV. Поле "глубина" рассматривается как поток байтов, и геометрическая структура в явном виде не используется. "Depth" field is considered as a stream of bytes, and geometrical structure is not used explicitly.

- Поле "цвет" сжимается после преобразования в плоское изображение истинного цвета. - The "color" is compressed after conversion into a flat true color image. Цвета точек в модели точечной текстуры сначала записываются во временный одномерный массив в том же самом порядке, что и значения глубины в поле "глубина". The colors of the points in the model point texture are first stored in a temporary one-dimensional array in the same order as the depth values ​​in the "depth". Если общее число точек в модели равно L, то вычисляется наименьшее целое 1 такое, что 1-1≤L, и эта "длинная строка" значений цвета "сворачивается" в квадратное изображение со стороной 1 (при необходимости, с заполнением черными пикселами). If the total number of points in the model is equal to L, the calculated smallest integer 1 such that 1-1≤L, and this "long string" color values ​​"rolled" into the square image with side 1 (if necessary, with the filling of black pixels). Это изображение затем сжимается с использованием одного из инструментов MPEG-4 сжатия изображений без потерь. This image is then compressed using a tool of MPEG-4 lossless image compression. В этом подходе использовался формат PNG. This approach was used PNG format. Полученное изображение для модели "Ангел" показано на фиг.10а. The resulting image is the model "Angel" is shown in Figure 10a.

2.2.2. 2.2.2. Сжатие точечной текстуры без потерь для представления узла с более низким разрешением Compression of point texture for a lossless representation of a node with a lower resolution

Во многих случаях 16-битовое разрешение для информации о глубине является очень хорошим. In many cases, 16-bit resolution for depth information is very good. В действительности, разрешение по глубине должно соответствовать разрешению экрана, на котором должна визуализироваться модель. In fact, the depth resolution should correspond to the resolution of the screen on which the model is to be visualized. В ситуациях, когда малые вариации по глубине модели в различных точках приводят к смещению в плоскости экрана много меньше, чем размер пиксела, целесообразно использовать более низкое разрешение по глубине, и модели часто представляются в формате, где значения глубины занимают 8-11 битов. In situations where small variations in depth models at different points lead to a shift in the plane of the screen is much smaller than the pixel size, it is advisable to use a lower resolution in depth, and models are often presented in a format where depth values ​​occupy 8-11 bits. Такие модели обычно получают из других форматов, например, полигональной модели, путем дискретизации значений глубины и цвета по надлежащей пространственной сетке. Such models are usually obtained from other formats, e.g., polygonal model, by discretizing the depth and color values ​​on the proper spatial grid.

Такое представление с пониженным разрешением может быть рассмотрено как сжатая форма стандартной модели с 32-битовой глубиной. Such a reduced resolution representation can be considered as a compressed form of standard model with 32-bit depth. Однако для таких моделей существует более компактное представление, использующее промежуточное пространство вокселов. However, for such models there is a more compact representation, using intermediate voxel space. На самом деле, точки модели можно представить принадлежащими к узлам равномерной пространственной сетки с ячейками, определяемыми шагом дискретизации. In fact, the model can be represented by a point belonging to the nodes of uniform spatial grid with cells defined by the sampling step. Можно предположить, что сетка равномерна и ортогональна, поскольку в случае модели в перспективном представлении можно работать в параметрическом пространстве. It can be assumed that the grid is uniform and orthogonal, as in the case of the model in the perspective view, you can work in the parameter space. Используя эти допущения, поля "глубина" и "цвет" точечной текстуры с пониженным разрешением сжимаются следующим образом. Using these assumptions, the field "depth" and "color" point texture with reduced resolution are compressed as follows.

- Поле "цвет" сжимается методом сжатия изображений без потерь, как в предыдущем методе. - The "color" is compressed by a lossless image compression, as in the previous method.

- Поле "глубина" сначала преобразуется в представление на основе вокселов и затем сжимается с использованием версии кодера расстояния, описанного в предыдущем разделе. - The "depth" is first converted to a presentation based on voxels and then compressed using a version of the distance encoder described in the previous section.

Промежуточная модель с использованием вокселов создается следующим образом. The intermediate model using voxel is created as follows. В соответствии с разрешением s по глубине модели, рассмотрим пространство из дискретных вокселов размера ширина×высота×2 s (параметры "ширина" и "высота" пояснены в спецификации точечной текстуры). In accordance with the depth resolution s of the model, consider the discrete voxel space of the size of height × width × 2 s (the parameters "width" and "height" are explained in point texture specification). Для наших целей требуется работать не с пространством потенциально огромного количества вокселов, как целым, а только с его "тонкими" сечениями. For our purposes it does not want to work with the space of a potentially large number of voxels, as a whole, but only with its "thin" sections. Обозначим (r, с) координаты строка-столбец в плоскости проекции, и примем d в качестве координаты глубины. Denote (r, c) coordinates of the line-column in the plane of projection, and d adopt as the depth coordinate. Преобразуем "срезы" {c=const}, т.е. We transform 'slices "{c = const}, i.e., сечения модели "вертикальными плоскостями", в представление на основе вокселов. model section "vertical planes" in a presentation based on voxels. Сканируя срез по "столбцам" параллельно плоскости проекции, установим воксел (r, c, d) как "черный", если только существует точка модели со значением d глубины, которая проецируется на (r, с). Scanning the slice along the 'columns' parallel to the projection plane, establish the voxel (r, c, d) as "black" if there exists a point model with depth value d, which is projected on the (r, s). Данный процесс иллюстрируется на фиг.4. This process is illustrated in Figure 4.

Как только срез построен, он сжимается 1-контекстным кодером расстояния, и начинается сжатие следующего среза. Once the slice is constructed, it is compressed 1-context range coder, and compression of the next slice begins. Таким путем можно избежать работы с очень большими массивами данных. This makes it possible to avoid working with very large arrays of data. Таблицы вероятностей не инициализируются для каждого нового среза. Probability tables are not initialized for each new slice. Для широкого диапазона моделей только незначительная доля вокселов определяется как "черные", что позволяет достичь высоких коэффициентов сжатия. For a wide range of models, only a small percentage of voxels is defined as "black", which allows to achieve high compression ratios. Декомпрессия выполняется очевидной инверсией описанных операций. Decompression is performed obvious inversion of the described operations.

Будет приведено сравнение сжатия поля "глубина" данным методом и с использованием представления октодерева. compression field comparison will be made "depth" and this method using an octree representation. Общий коэффициент сжатия модели определяется, однако, полем "цвет", поскольку такое нерегулярное изображение не может быть строгим образом сжато без искажений. Overall compression ratio of the model is determined, however, the field "Color", since such an irregular image can not be rigorous way compressed without distortions. В следующем подразделе рассмотрена комбинация метода сжатия без потерь геометрии и сжатия с потерями цвета. The next section is considered a combination of the compression method and compression without losses geometry with lossy color.

2.2.3. 2.2.3. Сжатие без потерь геометрии и сжатие с потерями цвета для представления точечной текстуры с пониженным разрешением Compression without losses geometry and lossy color compression for the representation of the point texture at a reduced resolution

Подобно описанному выше, данный метод обеспечивает преобразование поля "глубина" в представление на основе вокселов, которое затем сжимается адаптивным 1-контексным кодером расстояния. Like described above, the method provides conversion of field "depth" in the presentation based on the voxel, which is then compressed by adaptive 1-konteksnym encoder distance. Поле "цвет" также отображается в двумерное изображение. The "color" is also displayed in the two-dimensional image. Нами сделана попытка организовать отображение таким образом, чтобы точки, близкие в трехмерном пространстве, отображались в близкие точки в плоскости двумерного изображения. We made an attempt to organize the mapping so that points that are close in three dimensional space, displayed in close points in the two-dimensional image plane. К полученному изображению применяется специальный метод сжатия текстуры (ABR - адаптивное подразделение на блоки). To the resultant image compression technique used a special texture (ABR - adaptive subdivision into blocks). Основные шаги алгоритма состоят в следующем. Main steps of the algorithm are as follows.

1. Преобразовать "срез" четырех последовательных "вертикальных плоскостей" модели точечной текстуры в представление на основе вокселов. 1. Convert "slice" of four successive 'vertical planes' point texture model representation based on voxels.

2. Просканировать полученный массив вокселов ширина ×4×2 s путем: 2. Scan the obtained width array of voxels × 4 × 2 s by:

- прохождения вертикальной "плоскости" субкубов из 4×4×4 вокселов вдоль "столбцов" параллельно плоскости проекции: сначала столбец, ближайший к плоскости проекции, затем следующий ближайший столбец и т.д. - passing vertical "plane" subkubov of 4 × 4 × 4 voxels along "columns' parallel to the projection plane: first the column closest to the projection plane, then the next closest column, etc (т.е. в обычном порядке прохождения двумерного массива); (I.e., in the normal way two-dimensional array of passage);

- прохождения вокселов внутри каждого субкуба 4×4×4 в порядке, аналогичном порядку, используемому при прохождении субкубов узлов октодерева. - passing subkuba voxels inside each 4 × 4 × 4 in the manner similar to the procedure used when passing subkubov octree nodes.

3. Записать цвета точек модели, обнаруженных при этом порядке прохождения, во вспомогательный одномерный массив. 3. Record the color model points detected in this manner the passage, the auxiliary-dimensional array.

4. Переупорядочить полученный массив цветов в двумерное изображение. 4. Rearrange the obtained array of colors into a two-dimensional image.

5. Последовательные 64 выборки цвета упорядочиваются по столбцам в блок из 8×8 пикселов, следующие 64 выборки переупорядочиваются в соседний блок из 8×8 пикселов и т.д. 5. Consecutive 64 color samples are arranged in columns in the block of 8 × 8 pixels, the next 64 samples are reordered in the neighboring block of 8 × 8 pixels, etc.

6. Сжать полученное изображение методом ABR. 6. Compress the obtained image by ABR.

Этот метод сканирования трехмерного массива и отображения результата в двумерное изображение был выбран из следующих соображений. This method of scanning a three-dimensional array and display the result in a two-dimensional image was chosen from the following considerations. Заметим, что субкубы 4×4×4 и блоки 8×8 изображения содержат одно и то же число выборок. Note that subkuby 4 × 4 × 4 and 8 × 8 blocks images contain the same number of samples. Если несколько последовательно просканированных субкубов содержат достаточно выборок цвета для заполнения блока 8×8, то весьма вероятно, что этот блок будет достаточно равномерным и поэтому искажение будет весьма заметным на трехмерной модели после декомпрессии. If several successively scanned subkubov contain enough color samples to fill the 8 × 8 block, it is highly likely that the unit will be fairly even, and therefore the distortion is highly noticeable in the three-dimensional model after decompression. Алгоритм ABR сжимает блоки 8×8 независимо друг от друга с помощью локальной палетизации (уменьшением числа битов на точку представлением меньшего числа цветов палитры). ABR algorithm compresses the blocks of 8 × 8 independently of one another via a local palletizing (decrease in the number of bits at point representation fewer color palette). В проведенных испытаниях искажение, обусловленное сжатием по алгоритму ABR, введенное в конечную трехмерную модель, было значительно меньше, чем искажение для алгоритма JPEG. In tests conducted by the distortion caused by compression of ABR algorithm introduced in the final three-dimensional model it was significantly less than the distortion for the JPEG algorithm. Другая причина выбора данного алгоритма состоит в высокой скорости декомпрессии (для чего он и был первоначально создан). Another reason for choosing this algorithm is the high speed of decompression (for which it was originally designed). Коэффициент сжатия может иметь два значения - 8 и 12. В алгоритме сжатия точечной текстуры заявителем было выбрано значение 8 коэффициента сжатия. The compression ratio may have two values ​​- 8 and 12. In the compression algorithm of point texture has been selected by the applicant 8 compression ratio.

К сожалению, данный алгоритм не является универсально применимым. Unfortunately, this algorithm is not universally applicable. Хотя изображение, полученное этим методом из цветового поля, показанное на фиг.10b, намного более равномерное, чем для "естественного" порядка сканирования, некоторые двумерные блоки 8×8 могут содержать выборки цвета, соответствующие удаленным точкам в трехмерном пространстве. Although the image obtained by this method from the color field, shown in Figure 10b, is much more uniform than for the 'natural' scanning order, some two-dimensional 8 × 8 blocks may contain color samples corresponding to distant points in three-dimensional space. В этом случае метод ABR с потерями может обеспечить "смешивание" цветов из удаленных частей модели, что приведет к локальному, но заметному искажению после декомпрессии. In this case, the method ABR losses can provide a "mixing" of colors from remote parts of the model that will lead to a local, but a noticeable distortion after decompression.

Однако для многих моделей этот алгоритм работает хорошо. However, for many models the algorithm works well. На фиг.11 показан "плохой" случай (модель "Ангел") и "хороший" случай (модель "Мортон 256"). Figure 11 shows a "bad" event (model "Angel") and "good" case (model "Morton 256"). Сокращение объема модели в обоих случаях составляет около 7 раз. Reducing the volume of the model in both cases is about 7 times.

3. Результаты испытаний 3. Test Results

В этом разделе приведено сравнение результатов сжатия двух моделей, "Ангел" и "Мортон 256", в двух разных форматах - изображение октодерева и точечная текстура. This section compares the compression results of the two models, the "Angel" and "Morton 256", in two different formats - image octree and dotted texture. Размеры эталонных изображений для каждой модели составляли 256×256 пикселов. Dimensions of reference images for each model is 256 × 256 pixels.

3.1.Сжатие точечной текстуры 3.1.Szhatie point texture

В таблицах 3-5 приведены результаты различных методов сжатия. The following tables 3-5 shows the results of different compression methods. Модели для данного эксперимента были получены из моделей с 8-битовым полем "глубина". Models for this experiment were obtained from models with 8-bit field "depth". Значения глубины распределены по диапазону (1, 2 30 ) с использованием шага квантования 2 21 +1, чтобы сделать распределение битов в 32-битовых значениях глубины более равномерным, имитируя до некоторой степени "истинные" 32-битовые значения. Depth values are distributed over the range (1, 2, 30) using a quantization step February 21 1 to make bits distribution in 32-bit depth values more uniform, imitating to some extent 'true' 32-bit values.

Высокие коэффициенты сжатия не ожидаются от использования данной модели. High compression ratios are not expected from the use of this model. Сокращение объема того же порядка, что и для типового сжатия без потерь истинных цветных изображений. The reduction of the same order as for typical lossless compression of true color images. Сжатые поля глубины и цвета имеют сопоставимые размеры, поскольку геометрические свойства данных не затрагиваются данным методом. Compressed depth and color fields are of comparable size, since geometric data properties are not affected by this method.

Теперь посмотрим, сколько раз одни и те же модели могут быть сжаты без потерь, если их использовать при их "истинном" разрешении по глубине. Now let's see how many times the same model can be compressed without loss, when used at their 'true' depth resolution. В отличие от предыдущего случая, поле "глубина" сжимается без потерь примерно 5-6 раз. Unlike the previous case, the "depth" lossless compressed about 5-6 times. Это является следствием промежуточного вокселного представления, которое делает избыточность геометрических данных намного более явно выраженной - на самом деле, только малая доля вокселов относится к черным. This is a consequence vokselnogo intermediate representation that makes the geometric data redundancy much more pronounced - in fact, only a small fraction of voxels refers to black. Однако поскольку несжатый размер моделей меньше, чем для 32-битового случая, коэффициент сжатия поля "цвет" теперь определяет общий коэффициент сжатия, который меньше, чем для 32-битового случая (хотя выходные файлы тоже меньше). However, as the uncompressed size of the model is less than the 32-bit case, the compression ratio of the field "color" now defines the overall compression ratio, which is less than the 32-bit case (although the output files are also smaller). Таким образом, желательно иметь возможность сжимать поле "цвет" по меньшей мере так же хорошо, что и поле "глубина". Thus, it is desirable to be able to compress the "color" at least as good as the "depth."

Наш третий метод использует для этой цели метод сжатия с потерями, называемый АВР 6. Данный метод дает намного более высокое сжатие. Our third method uses for this purpose a lossy compression technique called ABP 6. This method gives much higher compression. Однако, подобно всем методам сжатия с потерями, в некоторых случаях он может привести к неприятньм артефактам. However, like all methods of compression with losses, in some cases it can lead to nepriyatnm artifacts. Примером объекта, для которого это имеет место, является модель "Ангел". An example of the object on which it takes place, is the model of "Angel." В процессе сканирования точек модели пространственно удаленные точки иногда попадают в один и тот же блок двумерного изображения. During scanning model points spatially distant points sometimes fall into the same two-dimensional image block. Цвета в удаленных точках этой модели могут различаться очень значительно, и локальная палетизация не может обеспечить точной аппроксимации, если в блоке имеется слишком много различающихся цветов. The colors in the remote points of this model may vary very considerably, and local palletizing can not provide accurate approximation if the block has too many different colors. С другой стороны, именно локальная палетизация позволяет точно сжать огромное количество блоков, для которых искажение, введенное, например, стандартом JPEG, становится абсолютно недопустимым, после того как реконструированные цвета становятся черными в их трехмерных местоположениях. On the other hand, it is local palletizing can accurately compress a huge amount of blocks for which the distortion introduced by, for example, JPEG standard, it is absolutely unacceptable, after the reconstructed colors are black in their three-dimensional position. Однако визуальное качество модели "Мортон 256", сжатой тем же самым методом, является превосходным, и это имело место для большинства моделей в проведенных нами экспериментах. However, the visual quality of "256 Morton" model compressed by the same method, is excellent, and this was the case for most of the models in our experiments.

Figure 00000074

Figure 00000075

Figure 00000076

3.2. 3.2. Сжатие октодерева compression octree

В таблице 6 приведены размеры сжатых и несжатых компонентов октодерева в двух моделях испытаний. Table 6 presents sizes of compressed and uncompressed octree components in two test models. Наблюдалось уменьшение этого поля примерно в 1,6-1,9 раза. There was a reduction of this field is about 1.6-1.9 times.

Однако по сравнению с несжатыми моделями точечной текстуры, даже при 8-битовом поле "глубина", изображение октодерева намного более компактное. However, compared to uncompressed models point texture, even at an 8-bit field of "depth" octree image are much more compact. Таблица 7 показывает коэффициенты сжатия 7.2 и 11.2. Table 7 shows compression ratios 7.2 and 11.2. Это больше, чем могло бы быть обеспечено при сжатии точечной текстуры без преобразования в изображение октодерева (соответственно в 6.7 и 6.8 раза). That is more than could be achieved during compression point texture without converting the image into an octree (respectively 6.7 and 6.8 times). Однако, как упоминалось выше, изображение октодерева может содержать неполную информацию о цвете, что имеет место для модели "Ангел". However, as mentioned above, the octree image may contain incomplete color information, which is the case for 'Angel' model. В таких случаях используется трехмерная интерполяция цветов. In such cases, a three-dimensional interpolation color.

В результате можно заключить, что представленные эксперименты доказывают эффективность разработанных методов сжатия. As a result, we can conclude that the presented experiments prove the efficiency of the developed compression methods. Выбор наилучшего инструмента для заданной модели зависит от геометрической сложности, характера распределения цветов, требуемой скорости визуализации и других факторов. Selection of the best tool for given model depends on the geometrical complexity, character of color distribution, required imaging speed and other factors.

4.1.2, для моделей изображения октодерева и их компонентов (размеры файлов округлены до килобайтов). 4.1.2, for the image of the octree and their components (file sizes rounded to Kbytes) models.

Figure 00000077

Figure 00000078

5. Комментарии к исследованию ISO/IEC 14496-1/PDAM4 5. Comments to the ISO / IEC 14496-1 / PDAM4 study

После применения следующих пересмотренных разделов к исследованию ISO/IEC 14496-1/PDAM4 (N4627) пересмотренное исследование ISO/IEC 14496-1/PDAM4 должно быть включено в ISO/IEC 14496-1/FPDAM4. After applying following revisions sections to ISO / IEC 14496-1 / PDAM4 study (N4627) revised study ISO / IEC 14496-1 / PDAM4 should be included in the ISO / IEC 14496-1 / FPDAM4.

Раздел 6.5.3.1.1, техническое изменение Section 6.5.3.1.1, technical change

Проблема: Устанавливаемое по умолчанию значение поля "ортогональный" должно быть наиболее общим используемым значением. Problem: Sets the default field value is "orthogonal" to be the most common used value.

Решение: Заменить значение по умолчанию поля "ортогональный" с ЛОЖНО на ИСТИННО как показано ниже. Solution: Replace the default value of the field "orthogonal" from false to true as shown below.

Предложенное изменение: The proposed change:

Figure 00000079

Раздел 6.5.3.1.1, техническое изменение Section 6.5.3.1.1, technical change

Проблема: Формирование потока DIBR должно быть осуществлено методом равномерного формирования потока для AFX. Problem: Formation DIBR stream must be done by forming a uniform flow for AFX.

Решение: Удалить поле "изображение с глубиной Url" из узла изображения с глубиной. Solution: Remove the "image with depth Url" of the node image depth. Предложенное изменение: The proposed change:

Figure 00000080

Раздел 6.5.3.1.2, редакционное изменение Section 6.5.3.1.2, an editorial change

Проблема: Термин "нормированы" вводит в заблуждение в применении к полю "глубина" в нынешнем его контексте. Problem: The term "normalized" is misleading when applied to the field of "depth" in its present context.

Решение: В 5-м абзаце заменить "нормированы" на "масштабированы". Solution: In the 5th paragraph, replace "normalized" to "scaled".

Предложенное изменение: The proposed change:

Поля ближней и дальней плоскости определяют расстояния от точки наблюдения до ближней плоскости и дальней плоскости зоны наблюдения. Field near and far plane determined distance from the viewpoint to the near plane and far plane of the surveillance zone. Текстура и данные глубины показывают область, окруженную ближней плоскостью, дальней плоскостью и точкой наблюдения. The texture and depth data shows the area surrounded by the near plane, far plane and the observation point. Данные глубины масштабированы к расстоянию от ближней плоскости до дальней плоскости. Depth data are scaled to the distance from a near plane to a far plane.

Раздел 6.5.3.1.2, техническое изменение Section 6.5.3.1.2, technical change

Проблема: Формирование потока DIBR должно быть осуществлено методом равномерного формирования потока для AFX. Problem: Formation DIBR stream must be done by forming a uniform flow for AFX.

Решение: Удалить определение поля "изображение с глубиной Url" (7-й абзац и ниже). Solution: Remove the definition of the field "image with depth Url" (the 7th paragraph and below).

Предложенное изменение: The proposed change:

Раздел 6.5.3.2.2, редакционное изменение Section 6.5.3.2.2, an editorial change

Проблема: Семантика поля "глубина" определена неполно. Problem: The semantics of the fields "depth" incompletely defined.

Решение: Изменить спецификацию поля "глубина" в 3-м абзаце следующим образом. Solution: Change the field specification "depth" in the 3rd paragraph as follows.

Поле "глубина" определяет глубину для каждого пиксела в поле "текстура". The "depth" determines the depth for each pixel in the "texture". Карта глубины должна иметь тот же размер, что и изображение или кинофрагмент в поле "текстура". depth map shall be the same size as the image or movie in a "texture" field. Поле "глубина" должно быть одним из различных типов узлов текстур (текстура изображения, текстура кинофрагмента или пикселная текстура), где допустимы только узлы, представляющие изображения по шкале серого. The "depth" should be one of the various types of texture nodes (texture images, texture kinofragmenta the pixel or texture), where permissible only the nodes representing gray scale images. Если поле "глубина" не определено, то альфа-канал в поле "текстура" должен использоваться в качестве карты глубины. If the "depth" of unspecified, the alpha channel in the "texture" to be used as the depth map. Если карта глубины не определена посредством поля "глубина" или альфа-канала, то результат не определен. If the depth map is not specified by the field "depth" or alpha channel, the result is undefined.

Поле "глубина" позволяет вычислять текущее расстояние точек трехмерного представления модели до плоскости, которая проходит через точку наблюдения и параллельна ближней плоскости и дальней плоскости: "Depth" field allows us to compute the actual distance D representation model points to a plane which passes through the observation point and parallel to the near plane and far plane:

Figure 00000081

где d - значение глубины и d max - максимальное допустимое значение глубины. where d - depth value and d max - maximum allowable depth value. Предполагается, что для точек модели d>0, где d=1 соответствует дальней плоскости ad=d max соответствует ближней плоскости. It is assumed that the model points d> 0, where d = 1 corresponds to far plane ad = d max corresponds to near plane.

Эта формула справедлива как для случая перспективного представления, так и для ортогонального случая, поскольку d представляет собой расстояние между точкой и плоскостью, d max является максимальным значением d, которое может быть представлено битами, используемыми для каждого пиксела. This formula is valid for both cases of the perspective representation, and for orthogonal case, since d is distance between the point and the plane, d max is the maximum value of d, which may be represented by the bits used for each pixel.

(1) Если глубина определена через поле глубины, то значение глубины d эквивалентно шкале серого. (1) If the depth is determined by the depth field, then depth value d is equivalent to the gray scale.

(2) Если глубина определена через альфа-канал в изображении, определенном через поле текстуры, то значение глубины d эквивалентно значению альфа-канала. (2) If the depth is defined by the alpha channel in the image defined via texture field, then depth value d is equivalent to the value of the alpha channel.

Значение глубины также используется для указания точек, принадлежащих модели: только точка, для которой d ненулевое, принадлежит модели. The depth value is also used to indicate points belonging to the model: only the point for which d is nonzero belong to the model.

Для анимационной модели на основе изображения с глубиной используется только изображение с глубиной с простыми текстурами как diTeкстуры. For animation model based on the image with a depth of only using an image with depth with simple textures like diTekstury.

Каждая из простых текстур может быть сделана анимационной одним из следующих способов: Each of the simple textures can be made to the animation of the following ways:

(1) поле "глубина" является неподвижным изображением, удовлетворяющим вышеуказанному условию, поле "текстура" является произвольной текстурой кинофрагмента; (1) the 'depth' is still image satisfying the above condition, the "texture" is arbitrary texture kinofragmenta;

(2) поле "глубина" является произвольной текстурой кинофрагмента, удовлетворяющей вышеуказанному условию для поля "глубина", поле "текстура" является неподвижным изображением; (2) the "depth" is arbitrary texture kinofragmenta satisfying the above condition for the "depth" field, a "texture" is a still image;

(3) как глубина, так и текстура являются текстурами кинофрагмента, и поле "глубина" удовлетворяет вышеуказанному условию; (3) both depth and texture are kinofragmenta textures, and the "depth" satisfies the above condition;

(4) поле "глубина" не используется, и информация о глубине извлекается из альфа-канала текстуры кинофрагмента, который "оживляет" поле "текстура". (4) the "depth" is not used, and the depth information is retrieved from the alpha channel kinofragmenta texture which "recovers" the "texture".

Раздел 6.5.3.3., редакционное изменение Section 6.5.3.3., An editorial change

Проблема: Семантика поля "глубина" определена не полно. Problem: The semantics of the fields "depth" is defined is not complete.

Решение: Заменить спецификацию поля "глубина" (3-й абзац) предложенной измененной редакцией. Solution: Replace field specification "depth" (third paragraph) of the proposed amended.

Предложенная измененная редакция: The proposed amended to read:

Геометрический смысл значений глубины, и все соглашения по их интерпретации, принятые для простой текстуры, здесь также применимы. The geometric meaning of the depth values, and any agreement to their interpretations adopted for the simple texture, there are also applicable.

Поле "глубина" определяет множество глубин каждой точки в плоскости проекции, которая предполагается дальней плоскостью (см. выше) в порядке прохождения, которое начинается из точки в нижнем левом углу и переходит вправо, заканчиваясь на горизонтальной линии перед перемещением на более высокую линию. The "depth" defines a plurality of depths of each point in the projection plane, which is assumed to far plane (cm. Above) in the order of passage, which starts from a point in the lower left corner and goes to the right, resulting in a horizontal line before moving to a higher line. Для каждой точки число глубин (пикселы) сначала запоминаются, и это число значений глубины затем следует. For each point, the number of depths (pixels) is first stored and that number of depth values ​​followed.

Раздел 6.5.3.4.1, Н.1, техническое изменение Section 6.5.3.4.1, H.1, technical change

Проблема: Поле типа SFString, используемое для поля "октодерево", может привести к несовместимым значениям. Problem: The field type SFString, used for the "octree" can lead to inconsistent values.

Решение: Изменить тип поля для поля "октодерево" на MFInt32. Solution: Change the field type for the field "octree" on MFInt32.

Предложенное изменение: The proposed change:

В разделе 6.5.3.4.1 Section 6.5.3.4.1

Figure 00000082

В разделе H.1, таблица для октодерева, изменить столбец октодерево следующим образом: In section H.1, table for Octree, change column octree follows:

Figure 00000083

Раздел 6.5.3.4.1, техническое изменение Section 6.5.3.4.1, technical change

Проблема: формирование потока DIBR должно делаться с равномерным методом формирования потока для AFX. Problem: forming flow DIBR shall be done with the uniform flow forming method for AFX.

Решение: Удалить поле "октодерево Url" из узла "изображение октодерева). Solution: Remove the "octree Url" of the node "octree image).

Предложенное изменение: The proposed change:

Figure 00000084

Раздел 6.5.3.4.2, редакционное изменение Section 6.5.3.4.2, an editorial change

Проблема: Определение поля "разрешение октодерева" (2-й абзац) допускает неверную интерпретацию. Problem: Definition of the "resolution of the octree" (2nd paragraph) allow misinterpretation.

Решение: Изменить описание путем добавления слова "допустимое". Solution: Change the description by adding the word "permissible".

Поле "разрешение октодерева" определяет максимальное допустимое число листьев октодерева вдоль стороны описанного куба. The "resolution octree" determines the maximum allowable number of octree leaves along a side of the cube described. Уровень октодерева может быть определен из разрешения октодерева с использованием следующего уравнения: уровень октодерева=int (log2(разрешение октодерева-1))+1) The level of the octree can be determined from the resolution of the octree using the following equation: The level of the octree = int (log2 (resolution octree-1)) + 1)

Раздел 6.5.3.4.2, техническое изменение Section 6.5.3.4.2, technical change

Проблема: формирование потока DIBR должно осуществляться методом равномерного формирования потока для AFX. Problem: forming a flow should be DIBR method of forming a uniform flow for AFX.

Решение: Исключить объяснение поля "октодерево Url" (5-й абзац и ниже). Solution: Delete the explanation field "octree Url" (5th paragraph and below).

Предложенное изменение: The proposed change:

Раздел 6.5.3.4.2, редакционное изменение Section 6.5.3.4.2, an editorial change

Проблема: Анимация изображения октодерева описана не полно. Problem: Image Animation octree described is not complete.

Решение: Добавить абзац в конце Раздела 6.5.3.4.2, описывающего анимацию изображения октодерева. Solution: Add a paragraph at the end of Section 6.5.3.4.2 describing the animation octree image.

Предложенное изменение: The proposed change:

Анимация изображения октодерева может быть выполнена тем же методом, как первые три способа анимации, основанным на изображении с глубиной, с единственным отличием, что используется поле "октодерево" вместо поля "глубина". Animation octree image may be formed by the same method as the first three methods of the animation based on an image with depth, with the only difference that uses the "octree" field instead of "depth".

Раздел Н. 1. Техническое изменение N. Section 1. Technical change

Проблема: Диапазон данных глубины в узле точечной текстуры может быть слишком малым для будущих приложений. Problem: The range of depth data in point texture node may be too small for future applications. Многие графические программные инструментальные средства позволяют использовать 24-битовые или 36-битовые данные глубины для их z-буфера. Many graphics tools allow software to use a 24-bit or 36-bit depth data for their z-buffer. Однако поле "глубина" в точечной текстуре имеет диапазон [0,65535], что соответствует 16 битам. However, the "depth" in the point texture has a range of [0.65535], which corresponds to 16 bits.

Решение: В разделе H.1, в таблице для точечной текстуры, изменить диапазон столбца "глубина", как предложено. Solution: In the section H.1, table for point texture change column range "depth" as suggested.

Figure 00000085

IV. IV. Кодирование согласно стандарту ISO/IEC JTC 1/SC 29/WG11 движущихся изображений и аудиосигналов Coding according to the standard ISO / IEC JTC 1 / SC 29 / WG11 moving images and audio

1. Введение 1. Introduction

В настоящем документе описано изображение октодерева в представлении на основе изображений с глубиной (DIBR), AFX A8.3. This document describes an octree image representation based on depth images (DIBR), AFX A8.3. Узел "изображение октодерева" был принят и включен в предложение для Проекта Комитета на встрече в Паттайя. Node "octree image" was adopted and included in the proposal to the Committee a draft at a meeting in Pattaya. Однако было установлено, что качество визуализации в некоторых специальных случаях неудовлетворительно, ввиду перекрытия геометрии объекта. However, it was found that the quality of visualization in some special cases unsatisfactory, due to the overlap of the object geometry. В данном документе описана усовершенствованная версия узла "изображение октодерева", т.е. This paper describes an improved version of the site "octree image", ie текстурированного бинарного волюметрического октодерева (ТБВО), а также способ его сжатия для формирования потока. Textured Binary Volumetric Octree (TBVO), as well as its compression method for forming the flow.

2. Текстурированное бинарное волюметрическое октодерево (ТБВО) 2. Textured Binary Volumetric Octree (TBVO)

2.1.Основные свойства ТБВО 2.1.Osnovnye properties TBVO

Целью ТБВО является создание более гибкого формата представления/сжатия с быстрой визуализацией, в качестве усовершенствования бинарного волюметрического октодерева (БВО). The purpose of TBVO is to provide a more flexible format representation / compression with fast visualization, as an improvement Binary Volumetric Octree (BVO). Это достигается путем сохранения некоторой дополнительной информации на основе БВО. This is achieved by storing some additional information on the basis of BVO. Представление на основе БВО состоит из (структуры октодерева+набора эталонных изображений), в то время как представление, основанное на ТБВО, состоит из (структуры октодерева БВО+набор эталонных изображений+индексы камер). BVO-based representation consists of (octree structure + set of reference images), while the representation based on TBVO consists of (BVO octree structure + set of reference images + camera indices).

Основная проблема визуализации БВО состоит в том, что мы должны определить индекс камеры для каждого воксела при визуализации. The main BVO visualization problem is that we need to define camera index of each voxel during rendering. С этой целью необходимо не только проецировать на камеры, но и осуществить обратную процедуру приведения лучей. For this purpose it is necessary not only to project to the camera, but also to carry out inverse ray actuating procedure. Мы должны по меньшей мере определить существование камеры, из которой воксел наблюдается. We must at least determine the existence of the chamber from which the voxel is observed. Поэтому мы должны найти все вокселы, которые проецируются на конкретную камеру. So we have to find all the voxels which are projected on a specific camera. Но эта процедура очень низкоскоростная, если использовать метод "грубой силы". But this procedure is very low speed by using the method of "brute force". Мы разработали алгоритм, который выполняет ее быстро и точно для большинства форм объектов. We have developed an algorithm that performs it quickly and accurately for most forms of objects. Однако еще имеются затруднения для вокселов, которые не наблюдаются ни с одной из камер. However, there are still difficulties for the voxels, which are not observed with any of the cameras.

Возможным решением могло бы быть сохранение явно выраженного цвета для каждого воксела. A possible solution would be to preserve the explicit color to each voxel. Однако в этом случае имели место проблемы в сжатии информации цвета. However, in this case, there have been problems in compressing color information. Т.е. Those. если сгруппировать цвета вокселов как формат изображения и сжать его, то корреляция цветов соседних вокселов разрушается, так что коэффициент сжатия будет неудовлетворительным. if the group as a voxel color image format and compress it, the color correlation of neighboring voxels is destroyed such that the compression ratio is not satisfactory.

В ТБВО проблема решается путем сохранения индекса камеры (изображения) для каждого воксела. In TBVO problem is solved by storing camera index (images) for each voxel. Индекс обычно один и тот же для большой группы вокселов. The index is usually same for large group of voxels. И это позволяет использовать структуру октодерева для экономного хранения дополнительной информации. And it allows the use of octree structure for economic storage of additional information. Заметим, что, в среднем, только 15% увеличения объема наблюдалось в экспериментах с нашими моделями. Note that, on average, only 15% increase was observed in the experiments with our models. Такое моделирование несколько более сложно, но обеспечивает более гибкий способ представления объектов и любой геометрии. Such modeling is somewhat more complicated, but provides a more flexible way of representing objects of any geometry.

Преимущества ТБВО по сравнению с БВО состоят в том, что его визуализация проще и является более быстродействующей и, очевидно, не накладывает ограничений на геометрию объекта. The advantages of TBVO over BVO to consist in the fact that it is easier visualization and is more fast and obviously does not impose restrictions on the object geometry.

2.2. 2.2. Пример ТБВО example TBVO

В данном разделе показан типовой пример, который иллюстрирует эффективность и ключевые компоненты представления ТБВО. This section shows a typical example which illustrates the efficacy and key ingredients TBVO representation. На фиг.12а показана модель БВО "Ангел". 12 shows a model of the BVI "Angel." С использованием обычных шести текстур БВО некоторые части тела и крыло не наблюдаются никакой камерой, что приводит к визуализации изображения с большим количеством наблюдаемых "трещин". With the use of the usual six textures BVI some parts of the body and the wing does not appear to be any camera, resulting in image visualization with a large number of observed "cracks". В представлении ТБВО той же самой модели используется всего 8 камер (6 граней куба+2 дополнительные камеры). In TBVO representation of the same model is used with 8 cameras (cube faces 6 + 2 additional camera). На фиг.13а представлено изображение индекса камеры. 13 is a camera image of the index. Различный цвет обозначает отличающийся индекс камеры. Different color denotes camera index characterized. Дополнительные камеры помещаются внутри куба, наблюдая переднюю и заднюю грани ортогональным образом. Additional cameras are placed inside the cube, watching the front and back faces orthogonal manner. На фиг.13b и с - дополнительные изображения, снятые дополнительными камерами. 13b and - Additional images taken by additional cameras. В результате получен плавный и четко визуализируемый результат модели, как показано на фиг.12b. The result is a smooth and clearly visualized result of the model, as shown in Figure 12b.

2.3. 2.3. Описание несжатого потока ТБВО Description uncompressed stream TBVO

Мы предполагаем, что достаточно 255 камер, и присваиваем 1 байт для индекса. We assume that it is enough to 255 cameras, and assign 1 byte for the index. Поток ТБВО является потоком символов. TBVO stream is stream of symbols. Каждый ТБВО-символ является БВО-символом или символом текстуры. Each TBVO symbol is BVO-symbol or a symbol texture.

Символ текстуры обозначает индекс камеры, что может представлять собой конкретный номер или код "неопределенный". Texture symbol denotes camera index, which could be a specific number or code of "undefined". Примем код "неопределенный" в последующем описании как "?". Assume code "indefinite" in the following description as a "?".

Поток ТБВО проходится в порядке по ширине. TBVO stream is traversed in order of width. Опишем, как записать поток ТБВО, если мы имеем БВО, и воксел каждого листа имеет номер камеры. We describe how to write TBVO stream if we have BVO and every leaf voxel has camera number. Это должно быть сделано на этапе моделирования. This should be done in the modeling stage. Он будет пересекать все узлы БВО включая узлы листьев (которые не имеют БВО-символа) в порядке по ширине. He will cross all the nodes including BVO leaf nodes (which do not have BVO-symbol) in the order of the width. Следующий псевдокод реализует запись потока. The following pseudocode implements the flow record.

Если ТекущийУзел не является узлом листа If TekuschiyUzel not a leaf node

{ {

Записать текущий БВО-символ соответственно этому узлу Write current BVO-symbol according to this site

} }

если все дочерние элементы имеют идентичный индекс камеры if all the child elements have identical camera index

(символ текстуры) (Symbol texture)

{ {

если Текущий Узел имеет "?" If the current node has a "?" индекс камеры camera index

Записать индекс камеры эквивалентно субузлам Record Index camera equivalent sub-assembly

} }

еще yet

{ {

Записать "?" Burn "?" символ symbol

} }

Соответственно этой процедуре, для дерева ТБВО, показанного на фиг.14а, может быть получен поток символов, как показано на фиг.14b. Accordingly, this procedure for the TBVO tree shown in Figure 14a, can be obtained symbol stream, as shown in Figure 14b. В этом примере символы текстуры представлены в байте. In this example, the texture symbols are represented in byte. Однако в реальном потоке каждый символ текстуры потребует только 2 бита, поскольку нам необходимо представлять три значения (две камеры и неопределенный код). However, each symbol stream real texture will require only 2 bits because we need to represent three values ​​(two cameras and the undefined code).

2.4. 2.4. Сжатие ТБВО compression TBVO

Поля "изображения октодерева" и "октодерево" в узле "изображение октодерева" сжимаются отдельно. Fields "octree image" and "octree" a node "octree image" compressed separately. Описанные методы были разработаны на основе того факта, что поле "октодерева" должно сжиматься без потерь, в то время как для изображений октодерева допустима некоторая степень визуально воспринимаемого искажения. The described methods have been developed based on the fact that the "octree" must be compressed without loss, while acceptable for octree image some degree of visually perceptible distortion.

2.4.1. 2.4.1. Сжатие поля "изображения октодерева" Compression field "image octree"

Поле "изображения октодерева" сжимается посредством алгоритма сжатия изображений MPEG-4 (для статической модели), или инструментов сжатия видеосигналов (для анимационной модели), которые обеспечиваются в MPEG-4. The "octree image" is compressed by image compression algorithm, MPEG-4 (for static model), or video compression tools (for animated model) that are provided in the MPEG-4. В нашем походе мы использовали формат JPEG для изображений октодерева (после некоторой предварительной обработки, которую мы называем "минимизацией" изображений JPEG, сохраняя для каждой текстуры только точки, необходимые для трехмерной визуализации; иными словами, части данной текстуры, которые не используются на этапе трехмерной визуализации, могут быть сжаты так грубо, как это желательно). In our campaign, we used JPEG format for the octree image (after some preprocessing which we call the "minimization" JPEG images, retaining for each texture only points necessary for three-dimensional visualization; in other words, part of the texture that are not used at the stage of the three-dimensional imaging can be compressed as roughly as desired).

2.4.2. 2.4.2. Сжатие поля "октодерево" Compression field "octree"

Сжатие октодерева является наиболее важной частью сжатия изображения октодерева, поскольку его предметом является сжатие уже и так очень компактного представления бинарного дерева без связей. Octree compression is the most important part of the compression of octree image, because its subject is the compression of the already very compact representation of a binary tree without connections. Однако в наших экспериментах метод, поясненный ниже, обеспечил уменьшение объема этой структуры примерно до половины ее исходного объема. However, in our experiments, the method explained below, provided the reduction in volume of this structure to about half of its original volume. В анимационной версии изображения октодерева поле "октодерево" сжимается отдельно для каждого трехмерного кадра. In the animated version of the image of the octree field "octree" compressed separately for each three-dimensional image.

2.4.2.1. 2.4.2.1. Контекстная модель Context model

Сжатие выполняется посредством варианта адаптивного арифметического кодирования (реализованного как "кодер расстояния"), которое использует в явном виде геометрический характер данных. Compression is performed by a variant of adaptive arithmetic coding (implemented as 'range encoder') that explicitly uses geometric nature of the data. Октодерево представляет собой поток байтов. Octree is a stream of bytes. Каждый байт представляет узел (т.е. субкуб) дерева, в котором его биты указывают заполнение субкуба после внутреннего подразделения. Each byte represents a node (i.e. subkub) of the tree, in which its bits indicate the filling subkuba after internal subdivision. Битовая конфигурация называется конфигурацией заполнения узла. The bit configuration is called Configuration filling assembly. Описанный алгоритм сжатия обрабатывает байты с соотношением "один к одному" следующим образом. The described compression algorithm processes bytes relation "one to one" as follows.

- Определяется контекст для текущего байта. - defines the context for the current byte.

- "Вероятность" (нормированная частота) появления текущего байта в этом контексте извлекается из "таблицы вероятностей" (ТВ) соответственно контексту. - "Probability" (normalized frequency) of occurrence of the current byte in this context is removed from the "probability table" (TV), according to the context.

- Значение вероятности вводится в кодер дальности. - The probability value is entered to the encoder range.

- Текущая ТВ обновляется путем добавления 1 к частоте появления текущего байта в текущем контексте (при необходимости, с последующей ренормализацией, как более подробно описано ниже). - Current TV is updated by adding 1 to the frequency of the current byte occurrence in the current context (if necessary, followed by renormalization, as described more fully below).

Таким образом, кодирование является процессом создания и обновления ТВ соответственно контекстной модели. Thus, coding is the process of creating and updating context model TV respectively. В схемах адаптивного арифметического кодирования на основе контекста (таких как "предсказание с частичным согласованием") контекст символа обычно представляет собой строку из некоторого количества предшествующих символов. In the adaptive arithmetic coding schemes based on the context (such as "prediction partial matching") context symbol is typically a string of a number of previous symbols. Однако в нашем случае эффективность сжатия увеличивается путем использования структуры октодерева и геометрических свойств данных. However, in our case, compression efficiency is increased by using the octree structure and geometric properties of the data. Описанный подход основан на двух идеях, которые являются очевидным образом новыми в проблеме сжатия октодерева. The described approach is based on two ideas that are obviously new to the problem of octree compression.

А. Для текущего узла контекст является или его порождающим узлом или парой {порождающий узел, положение текущего узла в порождающем узле}. A. For the current node is the context or by the parent or pair {generating unit, current node position in the parent node}.

В. Предполагается, что "вероятность" появления заданного узла в конкретном геометрическом положении в конкретном порождающем узле инвариантна по отношению к определенному набору ортогональных (таких как повороты или симметричные преобразования) преобразований. B. It is assumed that 'probability' given node occurrence at the particular position in a specific geometric generating node is invariant with respect to a certain set of orthogonal (such as rotations or symmetrical Transform) transformation.

Предположение "В" иллюстрируется чертеже для преобразования R, которое представляет собой поворот на -90° в плоскости xz. Assumption 'B' is illustrated in the drawing to convert the R, which is the rotation by -90 ° in the xz plane. Основная идея пункта "В" состоит в том, что вероятность появления конкретного типа дочернего узла в конкретном типе порождающего узла должна зависеть только от их относительного положения. The basic idea of ​​point "B" lies in the fact that the probability of a particular type of child node in a particular type of parent node should depend only on their relative positions. Это допущение подтверждено в наших экспериментах путем анализа таблиц вероятностей. This assumption is confirmed in our experiments, by analysis of probability tables. Это позволяет использовать более сложный контекст, не требуя слишком много таблиц вероятностей. This allows you to use more complex context without having too many probability tables. Это, в свою очередь, способствует достижению достаточно хороших результатов в аспектах размера данных и быстродействия. This, in turn, contributes to achieving sufficiently good results in the aspects of data size and speed. Заметим, что чем более сложные контексты используются, тем точнее оценка вероятности и тем более компактным является код. Note that the more complex contexts are used, the more accurate the estimate of the probability and the more compact is the code.

Введем множество преобразований, для которых предполагаем инвариантность распределений вероятности. Let us introduce the set of transforms for which we assume the invariance of probability distributions. Для обеспечения возможности их применения в рассматриваемой ситуации, такие преобразования должны сохранять охватывающий куб. In order to allow their application in this situation, such transformations must preserve covering cube. Рассмотрим множество G ортогональных преобразований в евклидовом пространстве, которые получают путем всех композиций в любом числе и порядке трех базовых преобразований (генераторов) m 1 , m 2 и m 3 , определяемых следующим образом: Consider a set G of orthogonal transforms in Euclidean space, which are obtained by all compositions in any number and order of the three basic transforms (generators) m 1, m 2 and m 3, defined as follows:

Figure 00000086

где m 1 и m 2 - отображения на плоскости x=y и y=z соответственно, и m 3 - отображение на плоскость x=0. wherein m 1 and m 2 - displaying on the plane x = y and y = z, respectively, and m 3 - mapping onto the plane x = 0.

Один из классических результатов теории групп, генерируемых отображениями, утверждает, что G содержит 48 отдельных ортогональных преобразований, и является, по смыслу, максимальной группой ортогональных преобразований, которая принимает упомянутый куб сама в себя (так называемая группа Coxeter). One of the classical results of the theory of groups generated maps states that G contains 48 separate orthogonal transforms, and is, in the sense, the maximal group of orthogonal transforms that receives said cube into itself (so-called group Coxeter). Например, поворот R на фиг.6 выражается через генераторы следующим образом: For example, R 6 turn expressed in terms of generators as follows:

R=m 3 ·m 2 ·m 1 ·m 2 , R = m 3 · m 2 · m 1 · m 2,

где "·" обозначает матричное перемножение. where "·" denotes matrix multiplication.

Преобразование из G, применимое к узлу октодерева, формирует узел с отличающейся конфигурацией заполнения субкубов. Conversion of G, applicable to an octree node, produces a node with different filling subkubov configuration. Это позволяет подразделять узлы на категории в соответствии с конфигурацией заполнения из субкубов. This allows nodes to subdivide into categories according to the configuration of the filling subkubov. Используя терминологию теории групп, можно сказать, что G действует на множество всех конфигураций заполнения узлов октодерева. Using the terminology of group theory, we can say that G acts on the set of all configurations fill the octree nodes. Вычисления показывают, что имеется 22 различных класса (также называемых орбитами в теории групп), в которых, по определению, два узла принадлежат к одному и тому же классу, только если они связаны преобразованием из G. Число элементов в классе составляет от 1 до 24 и всегда является делителем 48. Computations show that there exist 22 distinct classes (also called orbits in group theory), in which, by definition, two nodes belong to the same class, unless they are related by a transformation from G. Number of elements in a class is from 1 to 24 and it is always a divisor of 48.

Практическим следствием "В" является то, что таблица вероятностей зависит не от самого порождающего узла, а только от класса, к которому принадлежит порождающий узел. The practical consequence of 'B' is that the probability table depends not on the parent node, but only on the class to which belongs to the generating unit. Заметим, что будет иметься 256 таблиц для контекста, основанного на порождающем элементе, и дополнительно 256x8=2048 таблиц для контекста, основанного на положении порождающего и дочернего элементов в первом случае, хотя требуется только 22 таблицы для контекста, основанного на классе порождающего элемента, плюс 22x8=176 таблиц в последнем случае. Note that there will be 256 tables for content based on a generic element, and additional 256x8 = 2048 tables for content based on the position of the generating and the child elements in the first instance, although only 22 tables required for context, based on the class of the generating element, plus 22x8 = 176 tables in latter case. Поэтому можно использовать контекст эквивалентной сложности с относительно малым количеством таблиц вероятностей. Therefore, we can use an equivalent complexity context with relatively small number of probability tables. Сформированная ТВ будет иметь форму, как показано в таблице 8. Formed TV will have a form as shown in Table 8.

Figure 00000087

2.4.2.2. 2.4.2.2. Процесс кодирования The encoding process

Чтобы статистика таблиц вероятностей была более точной, ее собирают различными путями на трех этапах процесса кодирования. Statistics Probability tables to be more accurate, it is collected in different ways at three stages of encoding process.

- На первом этапе контекст не используется совсем, принимается "0-контекстная модель", и поддерживается одна таблица вероятностей с 256 записями, начиная с равномерного распределения. - At the first stage the context is not used at all, it takes "0-context model ', and is supported by a probability table with 256 entries, ranging from a uniform distribution.

- Как только первые 512 узлов (это эмпирически найденное число) закодированы, переключаемся на "1-контекстную модель" с использованием порождающего узла в качестве контекста. - As soon as the first 512 nodes (it is an empirically found number) are encoded, we switch to '1-context model' using parent node as a context. В момент переключения ТВ 0-контекста копируется в ТВ для всех 22 контекстов. At the time of switching the TV 0-context is copied to the TV for all 22 contexts.

- После того как 2048 (еще одно эвристическое значение) закодированы, переключаемся на "2-контекстную модель". - After 2048 (another heuristic value) are encoded, we switch to '2-context model'. В этот момент 1-контекстные ТВ порождающих узлов копируются во все ТВ для каждого положения в той же самой конфигурации порождающего узла. At this point, 1-TV context generators in all nodes are copied TV for each position in the same parent node configuration.

Ключевым моментом данного алгоритма является определение контекста и вероятности для текущего байта. The key point of the algorithm is the determination of context and probability for the current byte. Это реализуется следующим образом. This is done as follows. В каждом случае фиксируем один элемент, который называется "стандартным элементом". In each case, we fix a single element, which is called 'standard element'. Сохраняем таблицу отображения класса (ТОК), которая показывает класс, к которому принадлежит каждый из возможных 256 узлов, и предварительно вычисленное преобразование из G, которое переводит данный конкретный узел в стандартный элемент его класса. Save the class mapping table (TSC), which shows the class to which belongs to each of the possible 256 nodes, and the precomputed transform from G, which translates this particular node into the standard element of its class. Таким образом, чтобы определить вероятность текущего узла N, выполняем следующие этапы: Thus, to determine the probability of the current node N, we perform the following steps:

- Определить порождающий узел Р текущего узла. - Determine generating node P of the current node.

- Извлечь класс из ТОК, к которому принадлежит Р, и преобразование Т, которое переводит Р в стандартный узел класса. - Retrieve the class from the CPE to which P belongs, and the transform T that takes P into the standard node class. Пусть номер класса будет с. Let the class number be c.

- Применить Т к Р и найти положение р дочернего узла в стандартном узле, на который отображается текущий узел N. - Apply T to P, and find the child node position p in standard node to which current node appears N.

- Применить Т к N. Тогда вновь полученная конфигурация TN заполнения находится в положении р в стандартном узле класса с. - Apply T to N. Then, newly obtained filling configuration TN is at the position p in the standard node of the class c.

- Извлечь требуемую вероятность из записи TN таблицы вероятностей, соответствующей комбинации "класс-положение" (с, р). - Retrieve the required probability from the entry TN probability table corresponding to combination of "class-position" (c, p).

Для 1-контекстной модели вышеописанные этапы модифицируются очевидным образом. For the 1-context model, the above steps are modified in an obvious way. Само собой разумеется, все преобразования предварительно вычислены и реализованы в виде таблиц перекодировки. Needless to say, all the transformations previously calculated and implemented as lookup tables.

Заметим, что на этапе декодирования узла N его порождающий узел Р уже декодирован, и, следовательно, преобразование Т известно. Note that in the step of decoding the node N its generating unit P already decoded, and hence transform T is known. Все шаги, выполняемые на этапе декодирования, абсолютно идентичны соответствующим шагам процедуры кодирования. All steps are performed in the decoding step, completely identical to the corresponding steps of the encoding procedure.

Наконец, опишем процедуру обновления вероятности. Finally, we describe the procedure for updating the probabilities. Пусть Р таблица вероятностей для некоторого контекста. Let P be a probability table for some context. Обозначим P(N) запись Р, соответствующую вероятности появления узла N в этом контексте. Denote P (N) P entry corresponding to the probability of occurrence node N in this context. В описываемой реализации P(N) - целое число, и после каждого появления N, P(N) обновляется как In the described implementation, P (N) - is an integer, and after each occurrence of N, P (N) is updated as the

P(N)=P(N)+A, P (N) = P (N) + A,

где А - целочисленный параметр приращения, изменяющийся в типовом случае от 1 до 4 для различных контекстных моделей. where A - integer increment parameter varying typically from 1 to 4 for different context models.

Пусть S(P) - сумма всех записей в Р. Тогда вероятность того, что N вводится в арифметический кодер (в данном случае кодер расстояний), вычисляется как P(N)/S(P). Let S (P) - the sum of all entries in P. Then the probability that N is entered in arithmetic coder (in this case, the distance encoder), is computed as P (N) / S (P). Как только S(P) достигает порогового значения 2 16 , все записи ренормируются: чтобы избежать появления нулевых значений в Р, записи, равные 1, остаются, как они есть, а другие делятся на 2. As soon as S (P) reaches a threshold value 2 16 all entries are renormalized: in order to avoid occurrence of zero values in P, entries equal to 1 are left as they are, while others are divided by 2.

2.4.2.3. 2.4.2.3. Кодирование "узлов камеры" Encoding "Camera node"

Поток символов, определяющий числа текстуры (камеры) для каждого воксела, сжимается с использованием своей собственной таблицы вероятностей. symbol stream, determining the number of the texture (camera) for each voxel, is compressed using its own probability table. В терминах, использованных выше, он имеет один контекст. In the terms used above, it has a single context. Записи таблицы вероятностей обновляются с большим приращением, чем записи узлов октодерева; Entries probability tables are updated with larger increment than entries octree nodes; в остальном нет отличий от кодирования символов узла. otherwise there is no difference from the coding unit symbols.

2.5. 2.5. Результаты сжатия и визуализации ТБВО Results of TBVO compression and visualization

На фиг.15, 17, 18 и 19 приведены результаты сжатия ТБВО. 15, 17, 18 and 19 shows the results of TBVO compression. На фиг.16 приведены "очищенные" (со снятой оболочкой) изображения моделей "Ангел" и "Мортон". Figure 16 shows the "cleared" (with the shell removed) image models "Angel" and "Morton". Сжатые размеры сравнимы со сжатым БВО: в третьем столбце число в скобках представляет сжатый объем геометрии, а первое число - полный объем модели, сжатой на основе ТБВО (т.е. текстуры принимаются во внимание). The compressed size is comparable with the compressed BVO: in the third column, the number in brackets is compressed geometry volume, and the first number - the total volume of the model on the basis of compressed TBVO (ie textures are taken into account). В качестве меры визуального искажения, было вычислено отношение сигнал/шум (PSNR) для оценки различия в цвете после преобразования МИГ→(Т)БВО→МИГ. As a measure of visual distortion, it was computed signal / noise ratio (PSNR) to assess the differences in color after conversion MIG → (T) BVO → MIG. Сжатый размер модели есть размер всех текстур (сохраненных как минимизированных JPEG, см.0) плюс размер сжатой геометрии. The compressed size of the model is the size of all textures (stored as a minimized JPEG, sm.0) plus the size of the compressed geometry. В случае ТБВО сжатая геометрия включает также информацию о камере. If TBVO compressed geometry includes also camera information. Отношение с/ш PSNR для ТБВО улучшается существенно по сравнению с БВО. S / N ratio PSNR for TBVO is improved significantly compared with BVO.

ТБВО обеспечивает более быструю визуализацию, чем БВО. TBVO provides faster rendering than BVO. Для модели "Ангел" частота кадров ТБВО-12 есть 10,8 к/с, в то время как для БВО она равна 7,5 к/с. For the model of "Angel" frequency TBVO-12 is 10.8 to frames / s, while BVO is equal to 7.5 / s. Для модели "Мортон" соответствующий параметр для ТБВО-12 равен 3,0 к/с, а для БВО 2,1 (на Селерон 850 МГц). For the model of "Morton" relevant parameter for TBVO-12 is 3.0 K / s, and for BVI 2.1 (on Celeron 850 MHz). С другой стороны, наблюдалось, что визуализация ускорялась намного больше в анимационных ТБВО. On the other hand, it was observed that the rendering accelerated much more in animated TBVO. Для модели "Дракон" частота кадров для ТБВО-12 была равна 73 к/с, в то время как для БВО она равна 29 к/с (на Пентиум IV 1.8 ГГц). To model the "Dragon" frame rate for TBVO-12 was equal to 73 / s, while BVO is equal to 29 / sec (Pentium IV 1.8 GHz).

Формат ТБВО обеспечивает значительную гибкость. TBVO format provides great flexibility. Например, 2 способа использования 12 камер показаны на фиг.6: ТБВО-12 и ТБВО-6+6). For example, 2 ways of using 12 cameras are illustrated in Figure 6: TBVO-12 and TBVO-6 + 6). ТБВО-12 использует 6 камер БВО (грани куба) плюс 6 изображений, взятых из центра куба и параллельных граням. TBVO-12 uses 6 BVO cameras (cube faces) plus 6 images taken from the cube center, and parallel to the faces. Конфигурация (6+6) использует 6 камер БВО и затем удаляет ("очищает") все вокселы, наблюдаемые этими камерами, и "фотографирует" часть, которая стала видимой этими же 6 камерами. The configuration of (6 + 6) uses 6 BVO cameras, and then removes ( "clears") all voxels observed by these cameras and 'photographs' the part that became visible by the same 6 cameras. Примеры таких изображений показаны на фиг.16. Examples of such images are shown in Figure 16.

Отметим существенное различие по качеству (субъективное и значение PSNR) между БВО и ТБВО-6 для моделей "Ангел". We note a significant difference in quality (subjective and PSNR value) between BVO and TBVO-6 for models "angel". Хотя использованы те же самые местоположения камер, ТБВО позволяет распределять камеры по всем вокселам, даже тем, которые не наблюдаются камерами. Although using the same camera locations, TBVO allows to distribute cameras to all voxels, even those who have not seen the cameras. Их количество выбираются так, чтобы наилучшим образом согласовать исходные цвета (т.е. для каждой точки выбирается наилучшее совпадение во всех "изображениях камер", независимо от непосредственной наблюдаемости). Their number is chosen so as to best match the original colors (i.e. for each point the best match is chosen in all the "camera image" regardless of direct observability). В случае модели "Ангел" это дает заметный результат). In the case of model "Angel" this gives a significant result).

Отметим также очень умеренную разницу в объеме "геометрии" (т.е. БВО-камер) между случаями 6 и 12 камер. Note also very moderate difference in volume 'geometry' (i.e. BVO cameras) between cases 6 and 12 cameras. Реально, дополнительные камеры покрывают в типовом случае малые области, их идентификаторы редки, и их текстуры разреженные (и хорошо сжимаются). Realistically, additional cameras cover typically small areas, their identifiers are rare, and their textures sparse (and well compressed). Все это применимо не только к модели "Ангел", но и к моделям "Мортон", "Пальма 512" и "Роботы 512". All this applies not only to the "Angel" model, but also to the models "Morton", "Palma 512" and "512 robots."

2.6. 2.6. Спецификация узлов Specification knots

Figure 00000088

Узел октодерева определяет структуру ТБВО, в которой существует структура октодерева, соответствующая массиву индексов камер, и набор изображений октодерева. Octree node determines TBVO structure, in which there is an octree structure, corresponding camera index array, and a set of octree image.

Поле "изображение октодерева" определяет набор узлов "изображение с глубиной" с простой текстурой для поля "diТекстура"; The "octree image" specifies a set of nodes "image depth" with simple texture for field "diTekstura"; поле "глубина" в этих узлах простой текстуры не используется. the "depth" of the simple texture is not used in these nodes. Поле "ортогональный" должно быть ИСТИННЫМ для узлов "изображение с глубиной". The "orthogonal" must be true for node "image depth". Для каждой простой текстуры поле "текстура" сохраняет информацию цвета объекта или часть вида объекта (например, его сечение плоскостью камеры), полученного ортогональной камерой, положение и ориентация которой определены в соответствующих полях изображения с глубиной. For each field of the simple texture "Texture" stores color information of an object or part of object type (e.g., its cross section plane of the chamber), the obtained orthogonal camera position and orientation of which are defined in the corresponding fields with the depth image. Части объекта, соответствующие каждой камере, распределяются на этапе конструирования модели. Parts of the object corresponding to each camera are allocated to the stage of designing the model. Подразделение объекта с использованием значений полей положения, ориентации и текстуры выполняется так, чтобы минимизировать число камер (или, эквивалентно, используемых изображений октодерева), и в то же время включить все части объекта, потенциально наблюдаемые из произвольно выбранного положения. Object Unit using the field values ​​of the position, orientation, and texture is performed so as to minimize the number of cameras (or, equivalently used octree image), and at the same time to include all the object parts potentially observed from an arbitrary position. Поля ориентации должны удовлетворять условиям: вектор наблюдения камеры имеет только одну ненулевую составляющую (т.е. перпендикулярен одной из граней охватывающего куба). orientation fields must satisfy the condition: camera observation vector has only one nonzero component (i.e., perpendicular to one of the faces covering the cube). Также стороны изображения простой текстуры должны быть параллельны соответствующим сторонам охватывающего куба. The two sides also simple texture image should be parallel to respective sides of the cube encompassing.

Поле "октодерево" полностью описывает геометрию объекта. The "octree" fully describes the geometry of the object. Геометрия представлена как набор вокселов, которые составляют данный объект. Geometry is represented as a set of voxels that make up the object. Октодерево представляет собой древовидную структуру данных, в которой каждый узел представлен байтом. Octree is a tree data structure in which each node is represented by a byte. "1" в i-м бите данного байта означает, что дочерние узлы существуют для i-го дочернего узла этого внутреннего узла; "1" in the i-th bit of this byte means that the children nodes exist for the i-th child node of the internal node; а "0" означает, что этого нет. and "0" means that it is not. Порядок внутренних узлов октодерева должен быть порядком прохождения по ширине октодерева. The order of the octree internal nodes shall be the order of the octree passage width. Порядок для восьми дочерних узлов внутреннего узла показан на 14b. The order for the eight child nodes of an internal node is shown in 14b. Размер охватывающего куба полного октодерева равен 1×1×1, и центр куба октодерева должен соответствовать началу координат (0,0,0) локальной системы координат. Covering the full size of the octree cube is 1 × 1 × 1 and the center of the octree cube shall correspond to the origin (0,0,0) of the local coordinate system.

Поле "ИД камеры" содержит массив индексов камеры, присвоенных вокселам. The "Camera ID" contains an array of camera indices assigned to voxels. На этапе визуализации цвет, присвоенный листьям октодерева, определяется путем ортогонального проецирования листьев на одно из изображений октодерева с конкретным индексом. In step color rendering assigned octree leaf is determined by an orthogonal projection of leaves on one of the images with a particular index octree. Индексы сохраняются способом, подобным октодереву: если конкретная камера может быть использована для всех листьев, содержащихся в конкретном узле, то узел, содержащий индекс камеры, выдается в поток, а противном случае выдается узел, содержащий фиксированный код "дальнейшего подразделения", означая, что индекс камеры будет определен отдельно для дочерних субузлов текущего узла (тем же рекурсивным способом). The indices are stored in a manner similar octree: if a particular camera can be used for all the leaves contained in a specific node, the node comprising a camera index, is issued into the stream, and otherwise, a node containing a fixed code 'further subdivision', meaning that camera index will be specified separately for the child sub-assembly of the current node (in the same recursive manner). Если поле "ИД камеры" пусто, то индексы камеры определяются на этапе визуализации (как в случае БВО). If "Camera ID" is empty, then the camera indices are determined on the imaging stage (as in BVO case).

Поле "разрешение октодерева" определяет максимальное допустимое число листьев октодерева вдоль стороны охватывающего куба. The "resolution octree" determines the maximum allowable number of octree leaves along a side of the cube encompassing. Уровень октодерева может быть определен из разрешения октодерева с использованием соотношения: The level of the octree can be determined from the resolution of the octree using the ratio:

Уровень октодерева = The level of the octree =

Figure 00000089
log 2 (разрешение октодерева) log 2 (resolution octree)
Figure 00000090

2.7. 2.7. Спецификация потока битов Flow Specification bits

2.7.1. 2.7.1. Сжатие октодерева compression octree

2.7.1.1. 2.7.1.1. Общие сведения Overview

Узел "изображение октодерева" в представлении, основанном на изображениях с глубиной, определяет структуру октодерева и его проецируемые текстуры. Node "octree image" in the view, based on the depth images defines the octree structure and its projected textures. Каждая текстура, сохраненная в массиве изображений октодерева, определяется через узел "изображение с глубиной" с простой текстурой. Each texture, stored in the array octree image is determined through the "image depth" node with simple texture. Другие поля узла "изображение октодерева" могут быть сжаты путем сжатия октодерева. Other fields node "octree image" can be compressed by octree compression.

2.7.1.2 Октодерево 2.7.1.2 octree

2.7.1.2.1 Синтаксис 2.7.1.2.1 Syntax

class Octree () class Octree ()

{ {

OctreeHeader (); OctreeHeader ();

aligned bit (32)* next; aligned bit (32) * next;

while(next= =0×000001 C8) while (next = = 0 × 000001 C8)

{ {

aligned bit (32) octree_frame_start_code; aligned bit (32) octree_frame_start_code;

OctreeFrame(octreeLevel); OctreeFrame (octreeLevel);

aligned bit (32)* next; aligned bit (32) * next;

} }

) )

2.7.1.2.2. 2.7.1.2.2. Семантика Semantics

Сжатый поток октодерева содержит заголовок октодерева и один или более кадров октодерева, каждому из которых предшествует octree_frame_start_code (код начала кадра октодерева). The compressed stream of the octree contains an octree header and one or more octree frame, each preceded octree_frame_start_code (start code octree frame). Значение octree_frame_start_code всегда равно 0×000001С8. Octree_frame_start_code value is always 0 × 000001S8. Это значение обнаруживается упреждающим синтаксическим анализом потока. This value is detected proactive syntactic stream analysis.

2.7.1.3. 2.7.1.3. Заголовок октодерева Title octree

2.7.1.3.1 Синтаксис 2.7.1.3.1 Syntax

class OctreeHeader () class OctreeHeader ()

{ {

unsigned int (5) octreeResolutionBits; unsigned int (5) octreeResolutionBits;

unsigned int (octreeResolutionBits) octreeResolution; unsigned int (octreeResolutionBits) octreeResolution;

int octreeLevel=ceil(log(octreeResolution)/log(2)); int octreeLevel = ceil (log (octreeResolution) / log (2));

unsigned int (3) textureNumBits; unsigned int (3) textureNumBits;

unsigned int (textureNumBits) numOfTextures; unsigned int (textureNumBits) numOfTextures;

} }

2.7.1.3.2. 2.7.1.3.2. Семантика Semantics

Данный класс считывает информацию заголовка для сжатия октодерева. This class reads the header information for the octree compression.

Поле octreeResolution (разрешение октодерева), длина которого описывается посредством octreeResolutionBits (биты разрешения октодерева), содержит значение поля "разрешение октодерева" узла "изображение октодерева". octreeResolution field (octree resolution), which length is described by octreeResolutionBits (enable bits octree) comprises a field value of "resolution octree" node "octree image". Это значение используется для получения уровня октодерева. This value is used for obtaining octree level.

Поле numOfTexture (число текстур), которое имеет длину textureNumBits (биты числа текстур), описывает число текстур (или камер), использованных в узле "изображение октодерева". numOfTexture field (number of textures) which has textureNumBits length (number of bits of texture) describes the number of textures (or cameras) used in the node "octree image". Это значение используется для арифметического кодирования ИД камеры для каждого узла октодерева. This value is used for the arithmetic coding camera ID for each node of the octree. Если значение textureNumBits равно 0, то символы текстуры не кодируются путем установки "текущей текстуры" корневого узла в 255. If the value is 0 textureNumBits, the texture symbols are not coded by setting the "current Texture" root node 255.

2.7.1.4. 2.7.1.4. Кадр октодерева frame octree

2.7.1.4.1.Синтаксис 2.7.1.4.1.Sintaksis

class OctreeFrame (int octreeLevel) class OctreeFrame (int octreeLevel)

{ {

for (int curl_evel=0; curLevel<octreeLevel; curLevel++0 for (int curl_evel = 0; curLevel <octreeLevel; curLevel ++ 0

{ {

for (int nodelndex=0; nodelndex<nNodeslnCurLevel; nodelndex++) for (int nodelndex = 0; nodelndex <nNodeslnCurLevel; nodelndex ++)

{ {

int nodeSym=ArithmeticDecodeSymbol (contextID); int nodeSym = ArithmeticDecodeSymbol (contextID);

if(curTexture==0) if (curTexture == 0)

{ {

curTexture=ArithmeticDecodeSymbol(textureContextID); curTexture = ArithmeticDecodeSymbol (textureContextID);

} }

} }

} }

for (int nodelndex=0; nodelndex<nNodeslnCurLevel; nodelndex++) for (int nodelndex = 0; nodelndex <nNodeslnCurLevel; nodelndex ++)

if(curTexture==0) if (curTexture == 0)

curTexture=ArithmeticDecodeSymbol(textureContextID); curTexture = ArithmeticDecodeSymbol (textureContextID);

} }

2.7.1.4.2. 2.7.1.4.2. Семантика Semantics

Этот класс считывает один кадр октодерева в порядке похождения по ширине. This class reads a single frame of octree in order adventures in width. Начиная с 1-го узла на уровне 0, после считывания каждого узла на текущем уровне, число узлов на следующем уровне известно путем подсчета всех "1" в каждом символе узла. Starting from 1st node in the level 0, after reading every node in the current level, the number of nodes in the next level is known by counting all "1" in each node symbol. На следующем уровне это число узлов (nNodeslnCurLevel - n узлов на текущем уровне) будет считано из потока. At the next level, that number of nodes (nNodeslnCurLevel - n nodes at the current level) will be read from the stream.

Для декодирования каждого узла задается соответствующий contextID (контекст ИД), как описано в разделе 2.7.1.6. corresponding contextID given for decoding each node (Context ID), as described in Section 2.7.1.6.

Если ИД текстуры (или камеры) для текущего узла (curTexture - текущая текстура) не определен порождающим узлом, то ИД текстуры также считывается из потока, с использованием контекста для ИД текстуры, определяемого полем textureContextID. If the ID of the texture (or camera) to the current node (curTexture - current texture) is not defined by the parent, then the texture ID is also read from the stream, using the context for texture ID, defined by field textureContextID. Если извлекается ненулевое значение (ИД текстуры определен), то это значение также будет применяться ко всем дочерним узлам на следующих уровнях. If the extracted non-zero value (texture ID is specified), this value will also apply to all child nodes at the following levels. После декодирования каждого узла, textureID будет присвоено узлам листьев октодерева, которым еще не было присвоено значение textureID. After the decoding of each node, textureID be awarded leaf nodes of the octree, which has not yet been assigned a value textureID.

2.7.1.5. 2.7.1.5. Адаптивное арифметическое декодирование Adaptive arithmetic decoding

В этом разделе описан адаптивный арифметический кодер, использованный при сжатии октодерева, с применением описания синтаксиса в C++ стиле. This section describes the adaptive arithmetic coder used in compression Octree, using the syntax description in C ++ style.

aa_decode() - функция, которая декодирует символ, используя модель, определенную массивом cumul_freq[]; aa_decode () - function, which decodes a symbol, using a model defined array cumul_freq []; PCT - таблица контекстов вероятности, как описано в разделе 2.7.1.6. PCT - probability table contexts, as described in Section 2.7.1.6.

int ArithmeticDecodeSymbol (int contextID) int ArithmeticDecodeSymbol (int contextID)

{ {

unsigned int MAXCUM=1"13; unsigned int MAXCUM = 1 "13;

unsigned int TextureMAXCUM=256; unsigned int TextureMAXCUM = 256;

int*p, allsym, maxcum; int * p, allsym, maxcum;

if (contextID !=textureContextID) if (contextID! = textureContextID)

{ {

p=PCT[contextID]; p = PCT [contextID];

allsym=256; allsym = 256;

maxcum = MAXCUM; maxcum = MAXCUM;

} }

else else

{ {

p=TexturePCT; p = TexturePCT;

allsym=numOfTextures; allsym = numOfTextures;

maxcum=TextureMAXCUM; maxcum = TextureMAXCUM;

} }

int cumul_freq[allsym]; int cumul_freq [allsym];

int cum=0; int cum = 0;

for (int i=allsym-l; i>=0; i-) for (int i = allsym-l; i> = 0; i-)

{ {

cum+=p[i]; cum + = p [i];

cumul_freq[i]=cum; cumul_freq [i] = cum;

} }

if (cum>maxcum) if (cum> maxcum)

{ {

cum=0; cum = 0;

for (int i=allsym-l; i>=0; i--) for (int i = allsym-l; i> = 0; i--)

{ {

PCT[contextID][i]=(PCT[contextID][i]+l)/2; PCT [contextID] [i] = (PCT [contextID] [i] + l) / 2;

cum+=PCT[contextID] [i]; cum + = PCT [contextID] [i];

cumul_freq [i] =cum; cumul_freq [i] = cum;

} }

} }

return aa_decode(cumul_freq); return aa_decode (cumul_freq);

} }

2.7.1.6. 2.7.1.6. Процесс декодирования decoding process

Общая структура процесса декодирования описана в разделе 0 (см. также процесс кодирования, описанный выше). The overall structure of decoding process is described in section 0 (see. Also encoding process described above). Он показывает, как получают узлы ТБВО из потока битов, который образует арифметически кодированную (сжатую) модель ТБВО. It shows how the nodes receive from TBVO bitstream which forms the arithmetically encoded (compressed) TBVO model.

На каждом этапе процесса декодирования необходимо обновлять номер контекста (т.е. индекс используемой таблицы вероятностей) и таблицу вероятностей. At each stage of the decoding process must update the context number (i.e. the index of probability table used) and probability table. Назовем Вероятностной моделью совокупность всех таблиц вероятностей (массивы целых чисел), j-й элемент i-й таблицы вероятностей, деленный на сумму ее элементов, оценивает вероятность появления j-го символа в i-м контексте. We call Probabilistic model of the set of all probability tables (array of integers), j-th element of the i-th probability table, divided by the sum of its elements, estimates the probability of occurrence of the j-th character in the i-th context.

Процедура обновления таблицы вероятностей состоит в следующем. The procedure for updating the probabilities of the table is as follows. Сначала таблицы вероятностей инициализируются так, чтобы все записи были равны 1. Перед декодированием символа должен быть выбран номер контекста (ContextID). First, probability tables are initialized so that all the entries are equal to 1. context (ContextID) number must be selected prior to the decoding of the symbol. ContextID определяется из ранее декодированных данных, как показано ниже. ContextID is determined from previously decoded data, as shown below. Когда ContextID получен, символ декодируется с использованием бинарного арифметического декодера. ContextID When received, the symbol is decoded using binary arithmetic decoder. После этого таблица вероятностей обновляется путем добавления адаптивного шага к частоте декодированного символа. Thereafter probability table updated by adding adaptive step to the decoded symbol frequency. Если общая (кумулятивная) сумма элементов таблицы превысит кумулятивный порог, то выполняется нормализация (см. 2.7.1.5.1). If the total (cumulative) sum of table elements exceeds the cumulative threshold, the normalization is performed (see. 2.7.1.5.1).

2.7.1.6.1 Контекстное моделирование символа текстуры 2.7.1.6.1 Context modeling of texture symbol

Символ текстуры моделируется только с одним контекстом. Texture symbol modeled with only one context. Это означает, что используется только одна таблица вероятностей. This means that you use only one probability table. Размер этой таблицы равен числу numOfTextures (число текстур)+1. The table size is the number numOfTextures (number of textures) +1. Сначала эта таблица инициализируется со всеми "1". Initially, this table is initialized with all "1". Максимальное допустимое значение записи установлено на 256. Адаптивный шаг установлен на 32. Эта комбинация значений параметров позволяет осуществить адаптацию к переменному в значительной степени потоку чисел текстуры. The maximum allowable entry value is set to 256. The adaptive step is set to 32. This combination of parameter values ​​allows adapting to variable largely stream numbers texture.

2.7.1.6.2. 2.7.1.6.2. Контекстное моделирование символа узла Context Modeling node symbol

Имеется 256 различных символов узлов, каждый символ представляет 2×2×2 бинарную матрицу вокселов. There are 256 different node symbols, each symbol represents the 2 × 2 × 2 voxels binary matrix. К этим матрицам может быть применено трехмерное ортогональное преобразование, обеспечивающее преобразование соответствующих символов друг в друга. These matrices dimensional orthogonal transformation can be used, providing conversion corresponding symbols into each other.

Рассмотрим набор из 48 фиксированных ортогональных преобразований, т.е. Consider a set of 48 fixed orthogonal transforms, ie, повороты на 90·n (n=0, 1, 2, 3) градусов относительно осей координат и симметричные преобразования. turns 90 · n (n = 0, 1, 2, 3) degrees about the coordinate axes and symmetric conversion. Их матрицы приведены ниже в порядке их номеров: Their matrix shown below in numerical order:

Ортогональные преобразования [48]= Orthogonal transform [48] =

Figure 00000091

} }

Имеется 22 набора символов, называемых классами, так что 2 символа соединены таким преобразованием, только если они принадлежат одному и тому же классу. There is a 22 character set, called classes, so that 2 symbols are connected in such a conversion only if they belong to the same class. Метод кодирования формирует РСТ следующим образом: ContextID символа равен номеру класса, к которому принадлежит его порождающий элемент, либо комбинированному номеру (класс порождающего элемента, положение текущего узла в порождающем узле). coding method generates the PCT as follows: ContextID character class number is equal to which it belongs generating element, or the combined number (class generating element, the position of the current node in the parent node). Это позволяет значительно сократить число контекстов, снижая время, требуемое для получения значимой статистики. This significantly reduces the number of contexts, reducing the time required to obtain meaningful statistics.

Для каждого класса определен один базовый символ (см. таблицу 9), и для каждого символа предварительно вычислено ортогональное преобразование, которое приводит его в базовый символ своего класса (в реальном процессе кодирования/ декодирования используется таблица перекодировки). single base symbol is determined for each class (see. Table 9), and (lookup table is used in the actual process of encoding / decoding) for each symbol previously computed orthogonal transformation, which brings it into the base symbol of its class. После того как ContextID для символа определен, применяется преобразование, инверсное (т.е. транспонированная матрица) тому, которое приводит его порождающий элемент в базовый элемент. After ContextID for a symbol determined, applies transform, inverse (i.e. transposed matrix) to which it leads generating element to the base element. В таблице 10 приведены контексты и соответствующие прямые преобразования для каждого символа. Table 10 shows the contexts and the corresponding direct transforms for each symbol.

Figure 00000092

Контекстная модель зависит от числа N уже декодированных символов: The context model depends on the number of N already decoded symbols:

Для N<512 имеется только один контекст. For N <512 there is only one context. Таблица вероятностей инициализируется со всеми "1". probability table is initialized with all "1". Число символов в таблице вероятностей равно 256. Шаг адаптации равен 2. Максимальная кумулятивная частота равна 8192. Number of symbols in probability table is 256. adaptation step is 2. Maximum cumulative frequency is 8192.

Для 512≤N<2560 (=2048+512), используется 1-контекстная (в том смысле, что число контекстов является одним параметром, номером класса) модель. For 512≤N <2560 (= 2048 + 512), using 1-context (in the sense that context number is single parameter, number of the class) model. Эта модель использует 22 РСТ. This model uses 22 PCT. СоntextID - номер класса, к которому принадлежит порождающий узел декодируемого узла. SontextID - class number to which it belongs generating decoded node node. Этот номер можно определить из таблицы перекодировки (см. таблицу 10), поскольку порождающий узел декодируется раньше, чем дочерний. This number can be determined from a lookup table (see. Table 10) as a generating unit decoded earlier than the child. Каждая из 22 РСТ инициализируется посредством РСТ предыдущего этапа. Each of the 22 PCT PCT initialized by the previous stage. Число символов в каждой таблице вероятностей равно 256. Шаг адаптации равен 3. Максимальная кумулятивная частота также равна 8192. После декодирования символа, он преобразуется с использованием инверсного ортогонального преобразования, определенного выше. Number of symbols in each probability table is 256. Step adaptation is 3. Maximum cumulative frequency is also 8192. After decoding a symbol, it is converted using an inverse orthogonal transform defined above. Номер ортогонального преобразования может быть найден в таблице 10 для ИД символа узла, равного порождающему узлу для символа текущего узла. The orthogonal transform number can be found in Table 10 for the node ID symbol being a node for generating the current node symbol.

Когда 2560 символов декодированы, декодер переключается на 2-контекстую модель (в том смысле, что число контекстов теперь состоит из двух параметров, как поясняется ниже). When 2560 symbols are decoded, the decoder switches to 2-context model (in the sense that context number is now composed of the two parameters as explained below). Эта модель использует 176 (=22·8, т.е. 2 класса по 8 позиций) РСТ. This model uses 176 (= 22 · 8, i.e., Class 2 to 8 positions) PCT. ContextID здесь зависит от класса порождающего элемента и положения текущего узла в порождающем узле. ContextID here it depends on the class of the generating element and the current node position in the parent node. Исходные таблицы вероятностей для данной модели зависят только от контекста, но не от положения: для всех 8 позиций РСТ является клоном РСТ, полученной для данного класса на предыдущем этапе. Initial probability tables for this model depend only on the context, but not on the position: for all 8 positions PCT is a clone of the PCT obtained for the class in the previous step. Число символов в каждой таблице вероятностей равно 256. Шаг адаптации равен 4. Максимальная кумулятивная частота равна также 8192. Number of symbols in each probability table is 256. adaptation step is 4. Maximum cumulative frequency is also 8,192.

После того как символ декодирован, он также преобразуется с использованием инверсного ортогонального преобразования (в приведенное в таблице 10), как и предшествующей модели. After symbol is decoded it is also transformed using the inverse orthogonal transform (as reported in Table 10), like the previous model.

Можно легко получить геометрию базовых элементов для каждого класса, используя таблицу 10. Базовые элементы являются символами, для которых ИД ортогонального преобразования равен 0 (число 0 присвоено идеальному преобразованию). One can easily obtain the geometry of base elements for each class, using the Table 10. Base elements are symbols for which ID orthogonal transform is 0 (number 0 assigned to the ideal transformation).

Figure 00000093

Figure 00000094

Figure 00000095

Ниже более детально описаны MPEG-4 спецификация узлов и методы сжатия форматов изображения октодерева, используемые в устройстве и способе трехмерного представления на основе изображений с глубиной, согласно настоящему изобретению. Below are described in more detail MPEG-4 node specification and compression techniques octree image formats used in the apparatus and method of the three-dimensional representation of images based on the depth, according to the present invention.

Настоящее изобретение описывает семейство структур данных, представления на основе изображений с глубиной (DIBR), которые обеспечивают эффективные и действенные представления, основанные главным образом на изображениях и картах глубины, полностью использующие преимущества, описанные выше. The present invention describes a family of data structures, image-based representation of the depth (DIBR), that provide effective and efficient representations based mostly on images and depth maps, fully utilizing the advantages described above. Охарактеризуем кратко основные форматы DIBR - SimpleTexture (простая текстура), PointTexture (точечная текстура) и Octreelmage (изображение октодерева). Let us briefly characterize the basic formats DIBR - SimpleTexture (simple texture), PointTexture (dotted texture) and Octreelmage (octree image).

На фиг.20 представлена диаграмма примера изображения текстуры и карты глубины, на фиг.21 - диаграмма примера многослойного изображения с глубиной: а - проекция объекта; 20 is a diagram of an example of the texture image and depth map, Figure 21 - Example diagram layered image with depth: and - the projection of the object; b - слои пикселов. b - the layers of pixels.

Простая структура представляет собой структуру данных, которая состоит из изображения, соответствующей карты глубины и описания камеры (ее позиция, ориентация и тип, ортогональный или перспективный). Simple structure is a data structure that consists of images corresponding to depth maps and camera description (its position, orientation and type, orthogonal or perspective). Возможности представления одиночной простой текстуры ограничены объектами, подобными фасадам зданий: фронтальное изображение с картой глубины позволяет осуществить реконструкцию видов фасада в существенном диапазоне углов. Possibilities of the simple single texture limited objects, like building facades: frontal image with depth map allows reconstruction of the facade forms a substantial range of angles. Однако набор простых текстур, сформированный надлежащим образом позиционированными камерами, позволяет получить представления всего здания - в случае, когда эталонные изображения покрывают все потенциально видимые части поверхности здания. However, a set of simple texture formed by properly positioned cameras allows representation of the whole building to receive - in the case where reference images cover all the potentially visible parts of the building surface. Разумеется, то же самое применимо к деревьям, человеческим фигурам, автомобилям и т.п. Of course, the same applies to trees, human figures, vehicles, etc. Более того, совокупность простых текстур обеспечивает практически естественное средство для обработки трехмерных анимационных данных. Moreover, a plurality of simple texture provides near natural means for processing three-dimensional animation data. В этом случае эталонные изображения заменяются эталонными потоками видеоданных. In this case, the reference images are replaced with the reference video stream. Карты глубины для каждого трехмерного кадра могут быть представлены либо значениями альфа-канала этих потоков видеоданных, либо отдельными потоками видеоданных шкалы серого. Depth maps for each three-dimensional frame can be represented either by alpha-channel values ​​of these video streams, or separate streams of video data gray scale. В этом типе представления изображения могут быть сохранены в форматах сжатия с потерями, подобными JPEG. In this type of representation of the image can be saved in formats lossy compression like JPEG. Это существенно сокращает объем цветовой информации, особенно в анимационном случае. This significantly reduces the amount of color information, especially in animated case. Однако данные геометрии (карты глубины) должны сжиматься без потерь, что оказывает влияние на сокращение в целом объема памяти. However, the data geometry (depth maps) should be compressed losslessly, which affects the overall reduction in storage volume.

Для объектов сложной формы иногда трудно покрыть всю видимую поверхность приемлемым количеством эталонных изображений. For the objects of complex shape it is sometimes difficult to cover the whole visible surface of a suitable amount of reference images. Предпочтительным представлением для таких случаев может быть точечная текстура. The preferred representation for such cases may be dotted texture. Этот формат также предусматривает сохранение эталонного изображения и карты глубины, но в этом случае они являются многозначными: для каждой линии визирования камеры (ортогональной или перспективной) цвет и расстояние сохраняются для каждого пересечения линии с объектом. This format also provides for the preservation of the reference image and depth map, but in this case they are multivalued: for each line of sight camera (orthogonal or perspective), color and distance are stored for every intersection of the line with the object. Число пересечений может варьироваться от линии к линии. The number of intersections may vary from line to line. Совокупность нескольких точечных текстур обеспечивает очень детальное представление даже сложных объектов. The collection of several point texture provides a very detailed understanding of even complex objects. Но данному формату не хватает двумерной регулярности простой текстуры, и поэтому он не обеспечивает естественной основанной на изображении сжатой формы. But this format is not enough two-dimensional regularity of simple textures, and therefore it does not provide a natural image-based compressed form. По той же причине он используется только для неподвижных объектов. For the same reason it is only used for stationary objects.

Формат изображения октодерева занимает промежуточное положение между "большей частью двумерной" простой текстурой и "большей частью трехмерной точечной текстурой": он сохраняет геометрию объекта в структурированном в октодереве волюметрическом представлении (иерархически организованные вокселы в обычном бинарном подразделении охватывающего куба), причем компонент цвета представлен набором изображений. Image Format octree occupies an intermediate position between 'mostly two-dimensional "simple texture and" mostly three-dimensional point texture ": it stores geometry of the object in a structured in octree volumetric representation (hierarchically organized voxels in the usual binary subdivision of enclosing cube), wherein the color component is represented by a set of images. Этот формат также содержит структуру данных, подобную октодереву, которая сохраняет, для каждого воксела листа, индекс эталонного изображения, содержащего его цвет. This format also contains a data structure similar octree which stores, for each leaf voxel, the index of a reference image containing its color. На этапе визуализации изображения октодерева цвет воксела листа определяется путем ортогонального проецирования его на соответствующее эталонное изображение. At step octree image visualization color leaf voxel is determined by orthogonally projecting it on the corresponding reference image. Нами разработан высокоэффективный метод сжатия для геометрической части изображения октодерева. We have developed a highly efficient compression method for the geometric part of the octree image. Он представляет собой вариант адаптивного основанного на контексте арифметического кодирования, где контексты конструируются с использованием в явном виде геометрического свойства данных. It is a variant of adaptive context-based arithmetic coding, where the contexts are constructed with the use of an explicit geometric data properties. Использование сжатия вместе со сжатыми с потерями эталонными изображениями делает изображение октодерева весьма эффективным по пространству представлением. Using compression together with lossy compression reference images makes octree image very effective in space performance. Подобно простой текстуре, изображение октодерева имеет анимационную версию: эталонные потоки видеоданных вместо эталонных изображений, плюс два дополнительных потока октодеревьев, представляющих геометрию и соответствие воксел-изображения для каждого трехмерного кадра. Like the simple texture octree image has animated version: reference video streams instead of reference images, plus two additional stream of octree representing geometry and associated voxel-dimensional image for each frame. Весьма полезным свойством формата изображения октодерева является присущее ему свойство усреднения отображения. A very useful image octree format property is inherent display averaging feature.

Семейство DIBR было разработано для новой версии стандарта MPEG-4 и принято для включения в стандарт AFX MPEG. DIBR family has been developed for the new version of MPEG-4 standard and accepted for inclusion in the AFX MPEG standard. AFX обеспечивает более усовершенствованные характеристики для синтезированных сред MPEG-4, и включает набор взаимодействующих инструментальных средств, обеспечивающих повторно используемые архитектуры для интерактивных анимационных содержаний (совместимых с существующим стандартом MPEG-4). AFX provides more enhanced features for synthetic MPEG-4 environments, and includes a set of cooperating tools that provide reusable architecture for interactive animated contents (compatible with existing MPEG-4 standard). Каждое инструментальное средство AFX проявляет совместимость с узлом BIFS, синтезированным потоком и аудиовизуальным потоком. Each AFX tool shows the compatibility with the node BIFS, the synthesized flow and audiovisual stream. Текущая версия AFX состоит из описаний высокого уровня анимации (например, анимация, основанная на построении скелета и формировании на его основе внешней оболочки), усовершенствованного рендеринга (например, процедурное текстурирование, отображение световых полей), компактных представлений (например, NURBS, сплошное представление, поверхности подразделения), анимации низких скоростей передачи битов (например, интерполяционное сжатие) и других, а также предложенного нами метода DIBR. The current version of AFX consists of a high-level descriptions of animation (for example, animation, based on the construction of the skeleton and formation on its basis of the outer shell), enhanced rendering (for example, procedural texturing, display light fields), compact representations (for example, a NURBS, solid representation, subdivision surfaces), animation low bit rates (e.g., interpolation compression) and others, as well as our proposed method DIBR.

Форматы DIBR были разработаны так, чтобы объединить преимущества различных предложенных ранее идей, предоставляя пользователю гибкие инструментальные средства, наилучшим образом подходящие для конкретной задачи. DIBR formats have been designed to combine the advantages of different ideas suggested earlier, providing the user with flexible tools best suited for a specific task. Например, неанимационная простая текстура и точечная текстура являются частными случаями известных форматов, в то время как изображения октодерева характеризуют собой новое представление. For example, a simple neanimatsionnaya texture and dotted texture are special cases of the known formats, while the octree image characterized by a new idea. Но в контексте MPEG-4 все три фазовых формата DIBR могут рассматриваться как составные элементы, и их комбинации на основе MPEG-4 не только охватывают многие из представлений на основе изображений, предложенных в литературе, но и обеспечивают значительный потенциал для создания новых форматов. But MPEG-4 context, all three phase DIBR format can be regarded as constituent elements, and combinations thereof based on the MPEG-4 not only covers many of the submissions on the basis of the images suggested in the literature, but also provide significant potential to create new formats.

Ниже описано представление на основе изображений с глубиной. The following describes a presentation based on the depth image.

Принимая во внимание идеи, охарактеризованные выше, а также некоторые из наших собственных разработок, мы предложили следующий набор форматов на основе изображений для использования в MPEG-4 AFX: SimpleTexture (простая текстура), PointTexture (точечная текстура), Depthlmage (изображение с глубиной) и Octreelmage (изображение октодерева). Taking into account the ideas outlined above, as well as some of our own development, we have proposed the following set of formats based on the images for use in the MPEG-4 AFX: SimpleTexture (simple texture), PointTexture (dotted texture), Depthlmage (depth image) and Octreelmage (octree image). Простая текстура и изображение октодерева имеют анимационные версии. Simple texture and octree image are animated versions.

Простая текстура представляет собой одиночное изображение, объединенное с изображением с глубиной. The simple texture is a single image combined with depth image. Оно эквивалентно RT, в то время как точечная текстура эквивалента МИГ. It is equivalent to RT, while the dotted texture MIG equivalent.

Основываясь на простой текстуре и точечной текстуре в качестве составных элементов, можно создать множество представлений, используя конструкции MPEG-4. Based on a simple texture and texture point as constituent elements, you can create a variety of representations using MPEG-4 structure. Формальная спецификация приведена ниже, а здесь представлено геометрическое описание результата. Formal specification is listed below and the description herein is presented geometrical result.

Структура изображения с глубиной определяет либо простую текстуру, либо точечную структуру вместе со связывающим блоком, положением в пространстве и некоторой другой информацией. Structure of image depth determines either a single texture, a dot pattern together with a binding unit, position in space and some other information.

Набор изображений с глубиной может быть объединен под единой структурой, называемой узлом преобразования, что позволяет построить множество полезных представлений. Set the depth images may be combined under a single structure called conversion unit that allows to build a variety of useful representations. Наиболее часто используемыми являются два из них, которые не имеют специального определения в рамках MPEG-4, но в нашей практике мы называем их блочной текстурой (БТ) и обобщенной блочной текстурой (ОБТ). The most commonly used are two of them that do not have a specific definition within the framework of the MPEG-4, but in our practice, we call them the texture block (BT) and generalized block texture (MBT). БТ представляет собой совокупность шести простых текстур, соответствующих связывающему кубу объекта или сцены, в то время как ОБТ представляет собой произвольную совокупность любого числа простых текстур, которые совместно обеспечивают согласованное трехмерное представление. TDB represents a set of six simple texture corresponding binding to the cube of an object or a scene, while the MBT is an arbitrary set of any number of simple texture, which together provide the coordinated three-dimensional representation. Пример БТ приведен на фиг.22, где показаны эталонные изображения, карты глубины и результирующий трехмерный объект. Example of BT is given in Figure 22, which shows the reference images, depth maps and the resulting three-dimensional object. БТ может быть визуализирована с помощью алгоритма деформации с приращениями, но мы использовали иной подход, применимый также к ОБТ. BT can be rendered using the algorithm increments deformation, but we use different approach applicable also to the MBT. Пример представления ОБТ показан на фиг.23, где для представления сложного объекта (пальмы) использована 21 простая текстура. EXAMPLE MBT representation shown in Figure 23, where for representing complex object (palm) 21 used simple texture.

Следует отметить, что механизм объединения позволяет, например, использовать несколько МИГ с различными камерами для представления того же самого объекта или частей того же самого объекта. It should be noted that unification mechanism allows, e.g., to use multiple cameras with different MIG to represent the same object or parts of the same object. Поэтому структуры данных, подобные основанным на изображениях объектам, элементам дерева МИГ, элементам древовидных структур на основе поверхностных элементов, являются частными случаями данного формата, что обеспечивает намного большую гибкость в адаптации положения и разрешения простых текстур и точечных текстур к структуре сцены. Therefore, data structures like image-based objects, elements of wood MIG elements tree structures based on surface elements are special cases of this format that provides much greater flexibility in the adaptation of regulations and permits simple textures and point textures to the structure of the scene.

Ниже описано изображение октодерева: текстурированное бинарное волюметрическое октодерево (ТБВО). The following describes image octree: Textured Binary Volumetric Octree (TBVO).

Чтобы использовать геометрию мультиразрешения и текстуру с более гибким представлением и быстрой визуализацией, мы разработали представление изображения октодерева, которое основано на текстурированном бинарном волюметрическом октодереве (ТБВО). To use multiresolution geometry and texture with more flexible representation and fast rendering, we have developed an image octree, which is based on a textured binary volumetric octree (TBVO). Целью ТБВО является создание гибкого формата представления/сжатия с быстрой высококачественной визуализацией. TBVO The aim is to create a flexible reporting format / compression with fast high quality visualization. ТБВО состоит из трех главных компонентов: бинарного волюметрического дерева (БВО), которое представляет геометрию, набора эталонных изображений и индексов изображений, соответствующих узлам октодерева. TBVO consists of three main components: Binary Volumetric tree (BVO) which represents geometry, a set of reference images, and image indices corresponding to the octree nodes.

Геометрическая информация в форме БВО представляет собой множество бинарных (заполненных или пустых) регулярно разнесенных вокселов, объединенных в более крупные элементы обычным способом октодерева. Geometric information in BVO form is a set of binary (occupied or empty) regularly spaced voxels combined in larger elements in a conventional manner octree. Это представление может быть легко получено из данных изображения октодерева посредством промежуточной формы "скоплений точек", поскольку каждый пиксел с глубиной определяет уникальную точку в трехмерном пространстве. This representation can be easily obtained from the image data by octree intermediate form "clusters of points", since each pixel with depth defines a unique point in three dimensional space. Преобразование скопления точек в БВО иллюстрируется на фиг.24. Converting congestion points in the BVI is illustrated in Figure 24. Аналогичный процесс позволяет осуществить преобразование полигональной модели в БВО. An analogous process allows converting polygonal model to BVO. Информация текстуры БВО может быть получена из эталонных изображений. Information BVI texture can be obtained from the reference image. Эталонное изображение представляет собой текстуру вокселов при заданном положении и ориентации камеры. The reference image is texture of voxels at a given camera position and orientation. Следовательно, само БВО, вместе с эталонными изображениями, уже обеспечивает представление модели. Hence, the very BVI, together with reference images, already provides a representation of the model. Однако оказалось, что дополнительная структура, сохраняющая индекс эталонного изображения для каждого листа БВО, обеспечивает намного более быструю визуализацию с лучшим качеством. However, it turned out that additional structure that preserves the reference image index for each BVO leaf, provides much faster with better imaging quality.

Основная проблема визуализации БВО состоит в том, что мы должны определить соответствующий индекс камеры каждого воксела при визуализации. The main BVO visualization problem is that we must determine corresponding camera index of each voxel during rendering. С этой целью мы должны сначала определить существование камеры, с которой наблюдается данный воксел. To this end, we must first determine the existence of the camera, with which there is the voxel. Эта процедура весьма длительна, если использовать метод решения "в лоб". This procedure is rather long, if you use the method of solving the "head." Помимо этой проблемы, имеются еще некоторые трудности для вокселов, не видимых ни с одной из камер, что приводит к нежелательным артефактам в визуализированном изображении. In addition to this problem, there are still some difficulties for the voxels that are not visible to any one of the cells, which leads to undesirable artifacts in the rendered image.

Возможным решением могло бы быть сохранение в явном виде цвета для каждого воксела. A possible solution would be to maintain an explicit color to each voxel. Однако в этом случае мы столкнулись бы с проблемами при сжатии информации цвета. However, in this case, we would be faced with the problems of the compression of color information. Т.е. Those. если сгруппировать цвета вокселов как формат изображения и сжать его, то корреляция цвета соседних вокселов разрушается, так что коэффициент сжатия будет неудовлетворительным. if the group color voxels as the image format and compress it, the color correlation of neighboring voxels is destroyed such that the compression ratio would be unsatisfactory.

В случае ТБВО эта проблема решается путем сохранения индекса камеры (изображения) для каждого воксела. In TBVO case, this problem is solved by storing camera index (images) for each voxel. Индекс обычно является тем же самым для большой группы вокселов, что позволяет использовать структуру октодерева для экономного хранения дополнительной информации. The index is usually the same for large group of voxels, which allows the use of octree structure for economic storage of additional information. Заметим, что в экспериментах с нашими моделями в среднем наблюдалось всего лишь 15%-ное увеличение объема по сравнению с представлениями с использованием только БВО и эталонных изображений. Note that in the experiments with our models was observed on average only 15% increase in volume compared with representations using only BVO and reference images. Их моделирование является немного более сложным, но обеспечивает более гибкий способ представления объектов любой геометрии. Their modeling is a little more complex, but provides a more flexible way of representing objects of any geometry.

Заметим, что ТБВО является весьма удобным представлением для визуализации с помощью сплатов, поскольку размер сплата легко вычисляется из размера воксела. Note that TBVO is a very convenient representation for rendering with the help of splats, because splat size is easily computed from voxel size. Цвет воксела легко определяется с использованием эталонных изображений и индекса изображения для воксела. The color of the voxel can be easily determined using the reference images and image index of the voxel.

Ниже описано формирование потока текстурированного бинарного волюметрического дерева. The following describes the formation of textured binary volumetric flow tree.

Предполагаем, что достаточно 255 камер и присваиваем до 1 байта для индекса. We assume that it is enough to 255 cameras and assign up to 1 byte for the index. Поток ТБВО является потоком символов. TBVO stream is stream of symbols. Каждый символ ТБВО является символом БВО или символом текстуры. Each symbol is a symbol TBVO BVI or texture symbol. Символ текстуры обозначает индекс камеры, который может быть конкретным числом или кодом "не определено". Texture symbol denotes camera index, which could be a specific number or a code of "undefined".

Обозначим в последующем описании код "не определено" в виде "?". code indicated in the following description, "not defined" as "?". Поток ТБВО проходится в порядке по ширине. TBVO stream is traversed in order of width. Опишем, каким образом записать поток ТБВО, если мы имеем БВО, и каждый воксел листа имеет индекс изображения. We describe how to write TBVO stream if we have BVO and every leaf voxel has image index. Это может быть сделано на этапе моделирования. This can be done in the modeling stage. Он будет проходить все узлы БВО, включая узлы листьев (которые не имеют символа БВО) в порядке по ширине. It will pass through all the nodes BVI, including leaf nodes (which do not have character BVI) in the order of the width. На фиг.25 показан псевдокод, который соответствует записи потока. 25 shows pseudo-code that corresponds to the flow entry.

Пример записи потока битов ТБВО показан на фиг.14. EXAMPLE write TBVO bitstream is shown in Figure 14. Для ТБВО, показанного на фиг.14а, поток символов может быть получен, как показано на фиг.14с, согласно процедуре. For the TBVO shown in Figure 14a, a stream of symbols can be obtained as shown in 14c, according to the procedure. В данном примере символы текстуры представлены в байте. In this example, the texture symbols are represented in byte. Однако в реальном потоке каждый символ текстуры потребует только 2 бита, поскольку нам только необходимо представить три значения (две камеры и код "не определено"). However, in the real stream, each texture symbol requires only 2 bits because we only need to present three values ​​(two cameras and "undefined" code).

Ниже описана анимация на основе DIBR. The following describes the animation based DIBR.

Анимационные версии были определены для двух их форматов DIBR: изображения с глубиной, содержащего только простые текстуры, и изображения октодерева. Animated versions were defined for two formats of their DIBR: image with depth comprising only simple texture and the octree image. Объем данных является одним из принципиально важных вопросов при трехмерной анимации. The amount of data is one of the critical issues at the three-dimensional animation. Эти конкретные форматы были выбраны потому, что потоки видеоданных можно естественным образом встроить в анимационные версии, обеспечивая существенное сокращение объема данных. These specific formats have been chosen because the video streams can be naturally integrated into animated versions, providing significant reduction in the volume of data.

Для изображения с глубиной анимация выполнялась путем замены эталонных изображений текстурами кинофрагментов стандарта MPEG-4. For images with depth animation performed by replacing reference images textures kinofragmentov MPEG-4 standard. Высококачественное сжатие видеоданных с потерями не влияет заметным образом на результирующие трехмерные объекты. High-quality video compression with losses does not affect appreciably to the resulting three-dimensional objects. Карты глубины могут быть сохранены (в режиме практически без потерь) в альфа-каналах эталонных потоков видеоданных. Depth maps can be stored (in a mode with little or no loss) in the alpha channels of reference video streams. На этапе визуализации трехмерный кадр визуализируется после того, как все эталонное изображение и кадры глубины приняты и подвергнуты декомпрессии. In step three-dimensional imaging frame is rendered after all the reference image and depth frames are received and subjected to decompression.

Анимация изображения октодерева аналогична - изображения октодерева заменяются текстурами кинофрагментов стандарта MPEG-4, и возникает новый поток октодерева. Animation image octree is similar - the image are replaced by octree textures kinofragmentov MPEG-4 standard, and there is a new stream of octree.

Ниже описана спецификация узла MPEG-4. The following describes the specification of MPEG-4 node.

Форматы DIBR детально описаны в спецификациях узлов MPEG-4 AFX. DIBR formats are described in detail in the specifications of MPEG-4 AFX nodes. Изображение с глубиной содержит поля, определяющие параметры вида, усеченного для простой текстуры или для точечной текстуры. Image depth contains fields determining the parameters of the form, truncated to simple texture or texture spot. Узел изображения октодерева представляет объект в форме геометрии, определенной ТБВО, и набора форматов эталонных изображений. Image octree node represents object in the form of geometry defined TBVO, and a set of reference image formats. Информация, зависящая от сцены, сохраняется в специальных полях структур данных DIBR, обеспечивая возможность корректного взаимодействия объектов DIBR с остальной частью сцены. Information, depending on the scene that is stored in special fields structures DIBR data, allowing the correct interaction DIBR objects with the rest of the scene. Определение узлов DIBR показано на фиг.26. Determination of DIBR nodes is shown in Figure 26.

На фиг.27 показано пространственное представление изображения с глубиной, в котором показано значение каждого поля. Figure 27 shows a perspective view of an image with depth, wherein the value of each field is shown. Заметим, что узел изображения с глубиной определяет один объект DIBR. Note that the image depth determines the node with a single object DIBR. Если множество узлов изображения с глубиной связаны друг с другом, они обрабатываются как группа, и поэтому должны быть помещены под одними тем же узлом преобразования. If a plurality of image units with a depth associated with each other, they are processed as a group, and therefore must be placed one under the same conversion unit. Поле "diTeкстура" определяет текстуру с глубиной (простую текстуру или точечную текстуру), которая должна быть отображена в область, определенную в узле изображения с глубиной. "DiTekstura" field specifies the texture with depth (simple texture or texture dot), which shall be mapped into the region defined in a node with depth image.

Узел изображения октодерева определяет структуру октодерева и его проецируемые текстуры. Image octree node defines an octree structure and its projected textures. Поле "разрешение октодерева" определяет максимальное число листьев октодерева вдоль стороны охватывающего куба. The "resolution octree" defines the maximum number of octree leaves along a side of the cube encompassing. Поле "октодерево" определяет набор внутренних узлов октодерева. The "octree" specifies a set of octree internal nodes. Каждый внутренний узел представлен байтом. Each internal node is represented by a byte. "1" в i-м бите этого байта означает, что дочерние узлы существуют для i-гo дочернего элемента этого внутреннего узла, в то время как "0" означает, что этого нет. "1" in the i-th bit of this byte means that the children nodes exist for the i-th child element of the internal node, while "0" means that it is not. Порядок внутренних узлов октодерева должен быть порядком прохождения по ширине этого октодерева. The order of the octree internal nodes shall be the order of passage of the width of the octree. Порядок восьми дочерних элементов внутреннего узла показан на фиг.14b. The order of the eight child elements of an internal node is shown in Figure 14b. Поле "индекс изображения воксела" содержит массив индексов изображения, присвоенных вокселу. Field "voxel image index" contains an array of image indices assigned to voxels. На этапе визуализации цвет, присвоенный листу октодерева, определяется ортогональным проецированием листа на одно из изображений с конкретным индексом. In step color rendering assigned octree leaf is determined by an orthogonal projection of the sheet on one of the images with a particular index. Индексы сохраняются в древовидной конфигурации: если конкретное изображение может быть использовано для всех листьев, содержащихся в конкретном векселе, воксел, содержащий индекс изображения выдается в поток; The indices are stored in a tree configuration, if a particular image can be used for all the leaves contained in a specific instrument, the voxel containing index of the image is issued into the stream; в противном случае выдается воксел, содержащий фиксированный код "дальнейшего подразделения", означая, что индекс изображения должен быть определен отдельно для каждого дочернего элемента текущего воксела (тем же рекурсивным способом). otherwise given voxel containing a fixed code 'further subdivision', meaning that the index of the image to be determined separately for each children of the current voxel (in the same recursive manner). Если поле "индекс изображения воксела" пустое, то индексы изображения определяются на этапе визуализации. If the field "image index of the voxel" is empty, the image indexes are defined on the imaging stage. Поле "изображение" определяет набор узлов "изображение с глубиной" с простой текстурой для поля "diТекстура". The "image" specifies a set of nodes "image depth" with simple texture for field "diTekstura". Однако поле "ближняя плоскость" и "дальняя плоскость" узла "изображение с глубиной" и поле "глубина" узла "простая текстура" не используются. However, the "plane proximal" and "distal plane" node "image depth" and the "depth" of the node "simple texture" are not used.

Ниже описано сжатие формата изображения октодерева. The following describes the octree compression image format.

В данном разделе рассматривается метод сжатия для изображения октодерева. This section describes a method for compressing image octree. Типовые результаты тестирования представлены и прокомментированы далее. Typical test results are presented and commented on. Следует отметить, что сжатие точечной текстуры в настоящее время еще не поддерживается и будет реализовано в следующей версии AFX. It should be noted that the compression point texture even not currently supported and will be implemented in the next version of AFX.

Поля "изображение октодерева" и "октодерево" в изображении октодерева сжимаются отдельно. Fields "octree image" and "octree" in the image of the octree are compressed separately. Предложенные методы были разработаны на основе положения, что поле "октодерево" должно быть сжато без потерь при некоторой степени визуально приемлемого искажения, допустимого для изображений октодерева. The proposed methods have been developed based on the premise that the "octree" must be compressed losslessly while some degree of visually acceptable distortion allowed for the octree image.

Поле "октодерево" сжимается с использованием метода сжатия изображений (для статической модели) или инструментов сжатия видеоданных (для анимационной модели), поддерживаемых стандартом MPEG-4. The "octree" compressed using the compression method (for static model), or video compression tools (for animated model) supported by MPEG-4 standard. В нашем подходе мы использовали формат JPEG для изображений октодерева. In our approach, we used JPEG format for images octree. Дополнительная предварительная обработка изображений путем отбрасывания нерелевантных пикселов и подавления артефактов сжатия на границе объект/фон одновременно увеличивает скорость сжатия и качество визуализации. Additional pre-processing of images by discarding irrelevant pixels and suppressing compression artifacts at the boundary of an object / background increases simultaneously compression rate and rendering quality.

Сжатие октодерева является наиболее важной частью сжатия изображения октодерева, поскольку его предметом является сжатие уже и так очень компактного представления бинарного дерева без связей. Octree compression is the most important part of the compression of octree image, because its subject is the compression of the already very compact representation of a binary tree without connections. Однако в наших экспериментах метод, поясненный ниже, обеспечил уменьшение объема этой структуры примерно до половины ее исходного объема. However, in our experiments, the method explained below, provided the reduction in volume of this structure to about half of its original volume. В анимационной версии изображения октодерева поле "октодерево" сжимается отдельно для каждого трехмерного кадра. In the animated version of the image of the octree field "octree" compressed separately for each three-dimensional image.

Сжатие выполняется посредством варианта основанного на контексте адаптивного арифметического кодирования, которое осуществляет использование в явном виде геометрического характера данных. Compression is performed by a variant of context-based adaptive arithmetic coding that makes use of explicit geometric nature of the data. Октодерево представляет собой поток байтов. Octree is a stream of bytes. Каждый байт представляет узел (т.е. субкуб) дерева, в котором его биты указывают заполнение субкуба после внутреннего подразделения. Each byte represents a node (i.e. subkub) of the tree, in which its bits indicate the filling subkuba after internal subdivision. Битовая конфигурация называется конфигурацией заполнения узла. The bit configuration is called Configuration filling assembly. Описанный алгоритм сжатия обрабатывает байты с соотношением "один к одному" следующим образом. The described compression algorithm processes bytes relation "one to one" as follows.

- Определяется контекст для текущего байта. - defines the context for the current byte.

- "Вероятность" (нормированная частота) появления текущего байта в этом контексте извлекается из "таблицы вероятностей" (ТВ) соответственно контексту. - "Probability" (normalized frequency) of occurrence of the current byte in this context is removed from the "probability table" (TV), according to the context.

- Значение вероятности вводится в арифметический кодер. - The probability value is entered to the arithmetic coder.

- Текущая ТВ обновляется путем добавления определенного шага к частоте появления текущего байта в текущем контексте (и, при необходимости, с последующей ренормализацией, как более подробно описано ниже). - Current TV is updated by adding a specified step to the frequency of the current byte occurrence in the current context (and, if necessary, followed by renormalization, as described more fully below).

Таким образом, кодирование является процессом создания и обновления ТВ соответственно контекстной модели. Thus, coding is the process of creating and updating context model TV respectively. В схемах адаптивного арифметического кодирования на основе контекста (таких как "предсказание с частичным согласованием") контекст символа обычно представляет собой строку из некоторого количества предшествующих символов. In the adaptive arithmetic coding schemes based on the context (such as "prediction partial matching") context symbol is typically a string of a number of previous symbols. Однако в нашем случае эффективность сжатия увеличивается путем использования структуры октодерева и геометрических свойств данных. However, in our case, compression efficiency is increased by using the octree structure and geometric properties of the data. Предложенный подход основан на двух новых идеях в проблеме сжатия октодерева. The proposed approach is based on two new ideas in the problem of octree compression.

А1: Для текущего узла контекст является его порождающим узлом или парой {порождающий узел, положение текущего узла в порождающем узле}; A1: For the current node is its context generating unit or a pair of {generating unit, current node position in the parent node};

А2: Предполагается, что "вероятность" появления заданного узла в конкретном геометрическом положении в конкретном порождающем узле инвариантна по отношению к определенному набору ортогональных (таких как повороты или симметричные преобразования) преобразований. A2: It is assumed that 'probability' given node occurrence at the particular position in a specific geometric generating node is invariant with respect to a certain set of orthogonal (such as rotations or symmetrical Transform) transformation.

Предположение "А1" иллюстрируется на фиг.6 для преобразования R, которое представляет собой поворот на -90° в плоскости xz. Assumption 'A1' is illustrated in Figure 6 for converting the R, which is the rotation by -90 ° in the xz plane. Основное положение по пункту "А2" состоит в том, что вероятность появления конкретного типа дочернего узла в конкретном типе порождающего узла должно зависеть только от их относительного положения. The main point on the item "A2" is that the probability of a particular type of child node in a particular type of parent node should depend only on their relative positions. Это допущение подтверждено в наших экспериментах путем анализа таблиц вероятностей. This assumption is confirmed in our experiments, by analysis of probability tables. Это позволяет использовать более сложный контекст, не требуя слишком много таблиц вероятностей. This allows you to use more complex context without having too many probability tables. Это, в свою очередь, способствует достижению достаточно хороших результатов в аспектах размера данных и быстродействия. This, in turn, contributes to achieving sufficiently good results in the aspects of data size and speed. Заметим, что чем более сложные контексты используются, тем точнее оценка вероятности и тем более компактным является код. Note that the more complex contexts are used, the more accurate the estimate of the probability and the more compact is the code.

Введем множество преобразований, для которых предполагаем инвариантность распределений вероятности. Let us introduce the set of transforms for which we assume the invariance of probability distributions. Для обеспечения возможности их применения в рассматриваемой ситуации, такие преобразования должны сохранять охватывающий куб. In order to allow their application in this situation, such transformations must preserve covering cube. Рассмотрим множество G ортогональных преобразований в евклидовом пространстве, которые получают путем всех композиций в любом числе и порядке трех базовых преобразований (генераторов) m 1 , m 2 и m 3 , определяемых следующим образом: Consider a set G of orthogonal transforms in Euclidean space, which are obtained by all compositions in any number and order of the three basic transforms (generators) m 1, m 2 and m 3, defined as follows:

Figure 00000096

где m 1 и m 2 - отображения на плоскости х=y и y=z соответственно, и m 3 - отображение на плоскость х=0. wherein m 1 and m 2 - displaying on the plane x = y and y = z, respectively, and m 3 - mapping onto the plane x = 0.

Один из классических результатов теории групп, генерируемых отображениями, утверждает, что G содержит 48 отдельных ортогональных преобразований, и является, по смыслу, максимальной группой ортогональных преобразований, которая принимает упомянутый куб сама в себя (так называемая группа Coxeter). One of the classical results of the theory of groups generated maps states that G contains 48 separate orthogonal transforms, and is, in the sense, the maximal group of orthogonal transforms that receives said cube into itself (so-called group Coxeter). Например, поворот R на фиг.6 выражается через генераторы следующим образом: For example, R 6 turn expressed in terms of generators as follows:

Figure 00000097

где "·" обозначает матричное перемножение. where "·" denotes matrix multiplication.

Преобразование из G, применимое к узлу октодерева, формирует узел с отличающейся конфигурацией заполнения субкубов. Conversion of G, applicable to an octree node, produces a node with different filling subkubov configuration. Это позволяет подразделять узлы на категории в соответствии с конфигурацией заполнения из субкубов. This allows nodes to subdivide into categories according to the configuration of the filling subkubov. Используя терминологию теории групп, можно сказать, что G действует на множество всех конфигураций заполнения узлов октодерева. Using the terminology of group theory, we can say that G acts on the set of all configurations fill the octree nodes. Вычисления показывают, что имеется 22 различных класса (также называемых орбитами в теории групп), в которых, по определению, два узла принадлежат к одному и тому же классу, только если они связаны преобразованием из G. Количество элементов в классе варьируется от 1 до 24 и всегда является делителем 48. Computations show that there exist 22 distinct classes (also called orbits in group theory), in which, by definition, two nodes belong to the same class, unless they are related by a transformation from G. Number of elements in a class varies from 1 to 24 and it is always a divisor of 48.

Практическим следствием "В" является то, что таблица вероятностей зависит не от самого порождающего узла, а только от класса, к которому принадлежит порождающий узел. The practical consequence of 'B' is that the probability table depends not on the parent node, but only on the class to which belongs to the generating unit. Заметим, что будет иметься 256 таблиц для контекста, основанного на порождающем элементе, и дополнительно 256×8=2048 таблиц для контекста, основанного на положении порождающего и дочернего элементов в первом случае, хотя потребуется только 22 таблицы для контекста, основанного на классе порождающего элемента, плюс 22×8=176 таблиц в последнем случае. Note that there would be 256 tables for content based on the generating element, and an additional 256 × 8 = 2048 tables for content based on the position of the generating and child elements in the first case, although need only 22 tables for content based on the class generating element , plus 22 × 8 = 176 tables in latter case. Поэтому можно использовать контекст эквивалентной сложности с относительно малым количеством таблиц вероятностей. Therefore, we can use an equivalent complexity context with relatively small number of probability tables. Сформированная ТВ будет иметь форму, как показано в таблице 11. Formed TV will have a form as shown in Table 11.

Figure 00000098

Чтобы статистика таблиц вероятностей была более точной, ее собирают различными путями на трех этапах процесса кодирования. Statistics Probability tables to be more accurate, it is collected in different ways at three stages of encoding process.

На первом этапе контекст не используется совсем, принимается "0-контекстная модель", и поддерживается одна таблица вероятностей с 256 записями, начиная с равномерного распределения. In the first stage of the context is not used at all, takes "0-context model ', and is supported by a probability table with 256 entries, ranging from a uniform distribution.

Как только первые 512 узлов (это эмпирически найденное число) закодированы, переключаемся на "1-контекстную модель" с использованием порождающего узла в качестве контекста. As soon as the first 512 nodes (it is an empirically found number) are encoded, we switch to '1-context model' using parent node as a context. В момент переключения ТВ 0-контекста копируется в ТВ для всех 22 контекстов. At the time of switching the TV 0-context is copied to the TV for all 22 contexts.

После того как 2048 узлов (еще одно эвристическое значение) закодированы, переключаемся на "2-контекстную модель". After 2048 nodes (another heuristic value) are encoded, we switch to '2-context model'. В этот момент 1-контекстные ТВ порождающих узлов копируются во все ТВ для каждого положения в той же самой конфигурации порождающего узла. At this point, 1-TV context generators in all nodes are copied TV for each position in the same parent node configuration.

Ключевым моментом данного алгоритма является определение контекста и вероятности для текущего байта. The key point of the algorithm is the determination of context and probability for the current byte. Это реализуется следующим образом. This is done as follows. В каждом случае фиксируем один элемент, который называется "стандартным элементом". In each case, we fix a single element, which is called 'standard element'. Сохраняем таблицу отображения класса (ТОК), которая показывает класс, к которому принадлежит каждый из возможных 256 узлов, и предварительно вычисленное преобразование из G, которое переводит данный конкретный узел в стандартный элемент его класса. Save the class mapping table (TSC), which shows the class to which belongs to each of the possible 256 nodes, and the precomputed transform from G, which translates this particular node into the standard element of its class. Таким образом, чтобы определить вероятность текущего узла N, выполняем следующие этапы. Thus, to determine the probability of the current node N, we perform the following steps.

- Определить порождающий узел Р текущего узла. - Determine generating node P of the current node.

- Извлечь класс из ТОК, к которому принадлежит Р, и преобразование Т, которое переводит Р в стандартный узел класса. - Retrieve the class from the CPE to which P belongs, and the transform T that takes P into the standard node class. Пусть номер класса будет с. Let the class number be c.

- Применить Т к Р и найти положение р дочернего узла в стандартном узле, на который отображается текущий узел N. - Apply T to P, and find the child node position p in standard node to which current node appears N.

- Применить Т к N. Тогда вновь полученная конфигурация TN заполнения есть положение р в стандартном узле класса с. - Apply T to N. Then, newly obtained filling configuration TN is the position p in the standard node of the class c.

- Извлечь требуемую вероятность из записи TN таблицы вероятностей, соответствующей комбинации класс-положение (с, р). - Retrieve the required probability from the entry TN probability table corresponding to the class-position combination (c, p).

- Для 1-контекстной модели вышеописанные этапы модифицируются очевидным образом. - For the 1-context model, the above steps are modified in an obvious way. Само собой разумеется, все преобразования предварительно вычислены и реализованы в виде таблиц перекодировки. Needless to say, all the transformations previously calculated and implemented as lookup tables.

Заметим, что на этапе декодирования узла N его порождающий узел Р уже декодирован, и, следовательно, преобразование Т известно. Note that in the step of decoding the node N its generating unit P already decoded, and hence transform T is known. Все шаги, выполняемые на этапе декодирования, абсолютно идентичны соответствующим шагам процедуры кодирования. All steps are performed in the decoding step, completely identical to the corresponding steps of the encoding procedure.

Наконец, опишем процедуру обновления вероятности. Finally, we describe the procedure for updating the probabilities. Пусть Р таблица вероятностей для некоторого контекста. Let P be a probability table for some context. Обозначим P(N) запись Р, соответствующую вероятности появления узла N в этом контексте. Denote P (N) P entry corresponding to the probability of occurrence node N in this context. В описываемой реализации P(N) - целое число, и после каждого появления N, P(N) обновляется как In the described implementation, P (N) - is an integer, and after each occurrence of N, P (N) is updated as the

P(N)=P(N)+A, P (N) = P (N) + A,

где А - целочисленный параметр приращения, изменяющийся в типовом случае от 1 до 4 для различных контекстных моделей. where A - integer increment parameter varying typically from 1 to 4 for different context models.

Пусть S(P) - сумма всех записей в РП. Let S (P) - the sum of all entries in the RP. Тогда вероятность того, что N вводится в арифметический кодер (в данном случае кодер расстояний), вычисляется как P(N)/S(P). Then the probability that N is entered in arithmetic coder (in this case, the distance encoder), is computed as P (N) / S (P). Как только S(P) достигает порогового значения 2 16 , все записи ренормализуются: чтобы избежать появления нулевых значений в Р, записи, равные 1, остаются, как они есть, а другие делятся на 2. As soon as S (P) reaches a threshold value 2 16 all entries renormalized: in order to avoid occurrence of zero values in P, entries equal to 1 are left as they are, while others are divided by 2.

Поток символов, определяющих индекс изображения для каждого воксела, сжимается с использованием его собственной таблицы вероятностей. a stream of symbols determining the image index for each voxel, is compressed using its own probability table. В терминах, использованных выше, он имеет один контекст. In the terms used above, it has a single context. Записи ТВ обновляются с приращением большей величины, чем записи для узлов октодерева: это позволяет адаптировать вероятности к высокой варьируемости использованных частот символов; TV recording updated incrementally higher value than entries for octree nodes: this allows to adapt the probabilities to high variability of the frequency of the symbols used; в остальном нет отличий от кодирования символов узла. otherwise there is no difference from the coding unit symbols.

Методы визуализации форматов DIBR не являются частью AFX, но необходимо пояснить идеи, использованные для достижения простоты, скорости и качества визуализации объектов DIBR. Imaging techniques DIBR formats are not part of the AFX, but it is necessary to clarify the ideas used to achieve simplicity, speed and quality of imaging DIBR objects. Наши методы визуализации основаны на сплатах, маленьких плоских цветных "заплатках", используемых в качестве "примитивов визуализации". Our imaging techniques based on splats, small flat color "patches" that are used as' rendering primitives. " Два подхода, охарактеризованных ниже, ориентированы на два различных представления: изображение с глубиной и изображение октодерева. Two approaches, described below, are focused on two different views: the image with depth and image octree. В нашей реализации для ускорения визуализации с использованием сплатов используются функции OpenGL. In our implementation of the OpenGL functions are used to speed up imaging using splatting. Тем не менее, также возможна программно реализуемая визуализация, позволяющая оптимизировать вычисления с использованием простой структуры изображения с глубиной или изображения октодерева. Nevertheless, also possible visualization software implemented, allowing to optimize computation using the simple structure of the image with the depth or the octree image.

Метод, использованный нами для визуализации изображения с глубиной, чрезвычайно прост. The method we used for the visualization of the image with depth, it is extremely simple. Следует отметить, однако, что он зависит от функций OpenGL и работает намного быстрее с помощью аппаратного ускорителя. It should be noted, however, that it depends on the OpenGL functions and works much faster than using a hardware accelerator. В этом методе мы преобразуем все пикселы с глубиной из простых текстур и точечных текстур, которые должны быть визуализированы, в трехмерные точки, затем помещаем маленькие многоугольники (сплаты) в эти точки и применяем функции визуализации OpenGL. In this method, we transform all the pixels with depth from point of simple texture and texture, which must be visualized in three-dimensional terms, then put the small polygons (splats) at these points, and apply OpenGL rendering function. Псевдокод этой процедуры для случая простой текстуры приведен на фиг.28. The pseudo-code of this procedure for the case of a simple texture is shown in Figure 28. Случай точечной текстуры реализуется тем же путем. point texture case is realized in the same way.

Размер сплата должен быть адаптирован к расстоянию между точкой и наблюдателем. Size of splat must be adapted to the distance between the point and the observer. Мы использовали следующий простой подход. We used the following simple approach. Сначала охватывающий куб данного трехмерного объекта подразделяется на грубую равномерную сетку. Initially covering the cube of the three-dimensional object is divided into a coarse uniform grid. Размер сплата вычисляется для каждой ячейки сетки, и это значение используется для точек внутри ячейки. splat size is calculated for each grid cell, and this value is used for the points inside the cell. Вычисление выполняется следующим образом. Calculation is performed as follows.

- Отобразить ячейку на экране посредством функции OpenGL. - Display cell on the screen by means of OpenGL functions.

- Вычислить длину L максимальной диагонали или проекции (в пикселах). - Calculate the maximum length L or the diagonal projections (in pixels).

- Оценить D (диаметр оплата) как - Rate D (diameter of payment) as an

Figure 00000099
, где N - усредненное число точек на сторону ячейки и С - эвристическая константа, приближенно равная 1,3. Where N - number of averaged points to the side of the cell and C - heuristic constant, approximately equal to 1.3.

Следует подчеркнуть, что этот метод может быть усовершенствован за счет более точных вычислений радиуса, более сложных сплатов, фильтрации-сглаживания. It should be emphasized that this method can be improved due to more accurate computation of radius, more complex splats, antialiasing-filtering. Однако даже этот простой метод обеспечивает хорошее визуальное качество. However, even this simple method provides a good visual quality.

Тот же метод пригоден для изображения октодерева, где узлы октодерева на одном из более грубых уровней используются в вышеуказанных вычислениях размера сплата. The same method is suitable for the octree image, wherein the nodes of the octree at one of coarser levels are used in the above calculations splat size. Однако для изображения октодерева информация цвета должна быть сначала отображена на набор вокселов. However, for the octree image color information to be displayed on the first set of voxels. Это может быть сделано весьма просто, потому что каждый воксел имеет свой индекс соответствующего эталонного изображения. This can be done quite simply, because each voxel has its corresponding reference image index. Положение пиксела на эталонном изображении также известно в процессе синтаксического анализа потока октодерева. The position of the pixel on the reference image is also known during the parsing the octree stream analysis. Как только цвета вокселов изображения октодерева определены, размеры сплатов оцениваются и используется визуализация на основе функций OpenGL, как описано выше. Once the color image octree voxels identified splatting dimensions are measured and used for imaging based OpenGL functions as described above.

Форматы DIBR были реализованы и протестированы на нескольких трехмерных моделях. DIBR formats have been implemented and tested on a few three-dimensional models. Одна из моделей ("Башня") была получена сканированием реального физического объекта (был использован цветной трехмерный сканер Cyberware), другие были преобразованы из демонстрационного пакета программ 3DS-MAX. One model ( "Tower") has been obtained by scanning a real physical object (a color three-dimensional scanner was used Cyberware), others have been converted from the demo package 3DS-MAX program. Тестирование было выполнено на Pentium-IV с частотой 1,8 ГГц с использованием ускорителя OpenGL. Testing was performed on a Pentium-IV 1.8GHz with OpenGL accelerator.

Ниже поясняются методы преобразования из полигонального формата в формат DIBR, и затем представлены результаты моделирования, представления и сжатия различных форматов DIBR. The following explains methods for the conversion of polygon format into DIBR format, and then presents the results of modeling, representation, and compression different DIBR formats. Большая часть данных относятся к моделям, соответствующим изображению с глубиной и изображению октодерева; Most of the data refer to the models, the corresponding image with depth and image octree; эти форматы имеют анимационные версии и могут быть эффективным образом сжаты. these formats have animated versions and can be effectively compressed. Все представленные модели были созданы с помощью ортогональной камеры, поскольку это предпочтительный способ представления "компактных" объектов. All models were created using the orthogonal camera, because this is the preferred way to represent 'compact' objects. Заметим, что камера перспективы используется главным образом для экономичного представления DIBR удаленных сцен окружающей среды. Note that the camera perspective is used mainly for economical presentation DIBR deleted scenes surrounding environment.

Генерация модели DIBR начинается с получения достаточного числа простых текстур. DIBR generation model starts with obtaining a sufficient number of simple textures. Для полигонального объекта простые текстуры вычисляются, в то время как для объекта реального мира данные получают с цифровых камер и устройств сканирования. For polygonal object simple texture are calculated, while the object of the real world data obtained from digital cameras and scanners. Следующий этап зависит от формата DIBR, который желательно использовать. The next step depends on DIBR format, which is desirable to use.

Изображение с глубиной представляет собой просто совокупность полученных простых текстур. The image depth is simply a collection of simple texture obtained. Хотя карта глубин может быть сохранена в сжатой форме, приемлемо только сжатие без потерь, поскольку даже малое искажение в геометрии часто весьма заметно. Although the depth map may be stored in compressed form, only lossless compression is acceptable losses since even small distortion is often quite noticeable in geometry.

Эталонные изображения могут быть сохранены в сжатой форме с потерями, но в этом случае необходима предварительная обработка. Reference images can be saved in compressed form with the losses, but in this case requires preprocessing. Хотя в общем случае допустимо использовать популярные методы, подобные сжатию с потерями по стандарту JPEG, пограничные артефакты становятся более заметными на генерируемых видах трехмерного объекта, особенно вследствие наличия границ между объектом и фоном эталонного изображения, где цвет фона представляется "переливающимся" в объект. Although generally acceptable to use popular methods like compression of lossy JPEG standard, the boundary artifacts become more noticeable on the kinds of the generated three-dimensional object, particularly due to the presence of the boundaries between object and background of the reference image, where the background color is represented by "iridescent" in the object. Решение, которое было использовано, чтобы справиться с этой проблемой, состояло в том, чтобы расширить изображение в пограничных блоках на фон с использованием усредненного цвета блока и быстрого спадания интенсивности, и затем применения сжатия по стандарту JPEG. The solution that has been used to deal with this problem, was that in order to expand the image in the border blocks on the background using the average color of blocks and fast decay of intensity and then applying standard JPEG compression. Эффект напоминает "сдавливание" искажения к фону, где оно безвредно, поскольку пикселы фона не используются для визуализации. The effect is like "squeezing" distortion to the background, where it is harmless since background pixels are not used for imaging. Внутренние границы в эталонном изображении, сжатом с потерями, могут также генерировать артефакты, но они в общем случае менее заметны. Internal borders in the reference image, lossy compression, can also generate artifacts, but they are generally less noticeable.

Для генерации моделей изображений октодерева мы используем промежуточное основанное на точках представление (ОТП). we use based middleware to generate octree image models on view points (OTP). Множество точек, которые образуют ОТП, представляет собой совокупность цветных точек, полученных путем сдвига пикселов в эталонном изображении, на расстояния, определенные в соответствующих картах глубин. The set of points that form a TNA, represents a set of colored points obtained by shifting pixels in reference picture by distances specified in the corresponding depth maps. Исходные простые текстуры должны строиться так, чтобы результирующие ОТП обеспечивали достаточно хорошую аппроксимацию поверхности объекта. Initial simple texture should be designed so that the resulting OTP provided a good approximation of the object surface. После этого ОТП преобразуется в изображение октодерева, как представлено на фиг.24, и используется для генерации нового полного множества эталонных изображений, которые удовлетворяют ограничениям, накладываемым этим форматом. Thereafter OTP converted into an octree image, as shown in Figure 24 and is used to generate a new complete set of reference images that satisfy restrictions imposed by this format. В то же время генерируется дополнительная структура данных - индекс изображения воксела, представляющая индексы эталонного изображения для вокселов октодерева. At the same time it generates additional data structure - the index of the image voxel representing reference image indices for octree voxels. В случае, когда эталонные изображения должны сохраняться в форматах с потерями, они сначала подвергаются предварительной обработке, как объяснено в предыдущем подразделе. In the case where the reference image must be stored in lossy formats, they are first subjected to preliminary processing, as explained in the previous section. Кроме того, поскольку структура ТБВО определяет в явном виде пиксел, содержащий цвет каждого воксела, избыточные пикселы отбрасываются, что дополнительно сокращает объем данных индекса изображения воксела. Furthermore, since TBVO structure explicitly specifies the pixel containing a color of each voxel, redundant pixels are discarded, which further reduces the amount of image data the voxel index. Примеры исходного и обработанного эталонных изображений в формате JPEG показаны на фиг.29. Examples of the original and processed reference images in the JPEG format are shown in Figure 29.

Заметим, что ухудшение качества вследствие сжатия с потерями пренебрежимо мало для изображений октодерева, но иногда является заметным для объектов изображения с глубиной. Note that quality degradation due to lossy compression is negligible for the octree image, but is sometimes noticeable to image objects with the depth.

Модели точечной текстуры создаются с использованием проецирования объекта на эталонную плоскость. Models point texture created using the projection of the object on the reference plane. Если это не обеспечивает достаточно выборок (что может иметь место для частей поверхности, близких к касательньм к вектору проекции), для получения большего количества выборок формируются дополнительные простые текстуры. If this does not provide enough samples (which may be the case for the surface parts close to the projection of a vector kasatelnm) to obtain more samples formed more simple texture. Полученная совокупность точек затем переупорядочивается в структуру точечной текстуры. The obtained set of points is then reordered into the structure point texture.

В таблице 12 приведено сравнение размеров данных различных полигональных моделей и их версий DIBR. Table 12 compares the data sizes of various polygonal models and versions DIBR. Числа в именах моделей обозначают разрешение (в пикселах) их эталонных изображений. The numbers in the names of the models indicate the resolution (in pixels) of reference images.

Figure 00000100

Карты глубины в изображения октодерева были сохранены в формате PNG, а эталонные изображения в высококачественном формате JPEG. the depth map in the octree image are saved in PNG format, and sample images in high quality JPEG format. Данные в таблице 12 показывают, что размер модели изображения с глубиной не всегда меньше, чем размер архивированной полигональной модели. The data in Table 12 show that the size of the image pattern with a depth not always smaller than size of the archived polygonal model. Однако сжатие, обеспечиваемое изображением октодерева, обычно намного выше. However, the compression provided by the octree image is usually much higher. Это является следствием унификации карт глубины в единую эффективно сжимаемую структуру данных октодерева, а также сложной предварительной обработки, которая устраняет избыточные пикселы из эталонных изображений. This is a consequence of unification of depth maps into a single efficiently compressed octree data structure, as well as a complicated pretreatment, which removes redundant pixels from reference images. С другой стороны, структура изображений с глубиной обеспечивает простое и универсальное средство для представления сложных объектов, подобных модели "Пальма" без затруднительной предварительной обработки. On the other hand, with the depth image structure provides a simple and universal means for representing complex objects like pattern "Palm" without difficult preprocessing.

Таблица 13 представляет данные специфические для изображения октодерева, иллюстрируя идею эффективности сжатия, разработанного для этого формата. Table 13 presents the data for the specific image octree, illustrating the idea of ​​compression efficiency, designed for this format. Записи в таблице являются размерами данных сжатой и несжатой части моделей, содержащих компоненты октодерева и индекса изображения воксела. Entries in the table are the size of the compressed data and uncompressed part of the models comprising octree components and image index of the voxel. Показано, что сокращение этой части варьируется в пределах от 2 до 2,5 раз. It is shown that reduction of this part varies from 2 to 2.5 times. Заметим, что модель "Пальма" в таблице 13 не та же самая, что модель "Пальма" в таблице 12 Note that the model of "Palma" in the table 13 is not the same as the model "Palma" in the table 12

Figure 00000101

Ниже представлены данные по скорости визуализации. Below data visualization speed.

Скорость визуализации изображения с глубиной модели "Пальмы 512" примерно 2 кадров/с (к/с) (заметим, что это 21 простая текстура, в то время как другие протестированные статические модели, со стороной эталонного изображения 512, визуализируются при скорости 5-6 к/с. Заметим, что скорость визуализации зависит главным образом от количества и разрешения эталонных изображений, но не от сложности сцены. Это важное преимущество перед полигональными представлениями, особенно в анимационном случае. Анимационное изображение октодерева модели "Дракон 512" image rendering speed with depth model "Palms 512" of about 2 frames / second (f / s) (Note that this simple texture 21, while other static models tested with reference image side 512 are rendered at a speed of 5-6 K / s. Note that rendering speed depends mostly on the number and resolution of the reference images, but not on the complexity of the scene. This is an important advantage over the polygonal representations, especially in animated case. animated image octree model "Dragon 512" изуализируется со скоростью 24 к/с. Результаты сжатия следующие: izualiziruetsya at 24 to / from the compression results are as follows.:

- сжатый размер октодерева плюс компонент индекса изображения воксела: 910 КБ (696 КБ и 214 КБ соответственно); - Compressed Octree size plus component image index of the voxel 910 KB (696 KB, and 214 KB, respectively);

- шесть эталонных потоков видеоданных в сжатом формате AVI: 1370 КБ. - six reference compressed video streams in AVI format, 1370 KB.

Полный объем данных: 2280 КБ. The total volume of data: 2280 KB.

Модель изображения с глубиной "Ангел 256" показана на фиг.22. Model images with depth "angel 256" shown in Figure 22. фиг.30-34 показывают несколько других DIBR и полигональных моделей. fig.30-34 show several other DIBR and polygonal models. На фиг.30 приведено сравнение вида модели "Мортон" для полигонального случая и для случая изображения с глубиной. Figure 30 shows a comparison of the model view "Morton" for polygonal cases and in the case of image depth. Модель изображения с глубиной использует эталонные изображения в формате JPEG, и визуализация выполняется простейшим формированием сплатов, как описано в разделе 5, но качество изображения вполне приемлемо. Image model with depth using reference images in the JPEG format and perform simple visualization formation splatting as described in Section 5, but the image quality is acceptable. На фиг.31 приведено сравнение двух версий сканированной модели "Башня". Figure 31 shows a comparison of the two versions of the scanned model "Tower". Черные точки в верхней части модели обусловлены зашумлением входных данных. Black dots in the upper part of the model are due to noisy input data. На фиг.32 представлена более сложная модель "Пальма", состоящая из 21 простой текстуры. Figure 32 shows a more complex model, "Palma", consisting of 21 simple texture. Она также демонстрирует хорошее качество, хотя листья, в общем случае, шире, чем в оригинале 3DS-MAX, что является следствием упрощенного формирования сплатов. It also shows good quality, although leaves are, in general, wider than the original 3DS-MAX, which is a consequence of simplified splatting formation.

На фиг.33 представлен трехмерный кадр из анимации изображения октодерева модели "Дракон 512". 33 is a three-dimensional frame of animation images octree model "Dragon 512". На фиг.34 представлены возможности формата точечной текстуры для получения моделей превосходного качества. Figure 34 presents the possibility of point texture format for superior quality models.

Устройство и способ для представления трехмерных объектов на основе изображений с глубиной в соответствии с настоящим изобретением описаны ниже со ссылками на фиг.35-54. An apparatus and method for representing three-dimensional objects on the basis of depth images in accordance with the present invention are described below with reference to fig.35-54.

На фиг.35 представлена блок-схема устройства для представления трехмерных объектов на основе изображений с глубиной с использованием простой текстуры в соответствии с возможным вариантом осуществления настоящего изобретения. Figure 35 is a block diagram of an apparatus for representing three-dimensional objects on the basis of images with depth using a simple texture in accordance with an embodiment of the present invention.

Согласно фиг.35, устройство 1800 для представления трехмерных объектов на основе изображений с глубиной содержит генератор 1810 информации о точке наблюдения, препроцессор 1820, первый генератор 1830 изображений, второй генератор 1840 изображений, генератор 1850 узлов и кодер 1860. According to Figure 35, apparatus 1800 for representing three-dimensional objects on the basis of images with depth information includes an oscillator 1810 of the observation point, preprocessor 1820, a first image generator 1830, a second image generator 1840, a generator 1850 and an encoder 1860 nodes.

Генератор 1810 информации о точке наблюдения генерирует по меньшей мере один фрагмент информации о точке наблюдения. Information generator 1810 generates viewpoint of at least one piece of information about the observation point. Информация о точке наблюдения включает в себя множество полей, определяющих плоскость изображения для объекта. Information about the observation point includes a plurality of fields defining an image plane for the object. Поля, составляющие информацию о точке наблюдения, включают в себя поле положения, поле ориентации, поле наблюдения, поле метода проецирования и поле расстояния. The fields that make up information about the observation point, include field position, field orientation, field observation, field projection method and field distance.

В полях положения и ориентации записаны положение и ориентация, в которых наблюдается плоскость изображения. In the fields of the position and orientation of the recorded position and orientation in which the image plane is observed. Положение в поле положения представляет собой относительное местоположение точки наблюдения по отношению к началу координат системы координат, в то время как ориентация в поле ориентации представляет величину поворота точки наблюдения относительно установленной по умолчанию ориентации. The position in the position field is a relative location of the viewpoint with respect to the coordinate system origin, while the orientation in the orientation field is a rotation amount relative to the observation point to the default orientation.

В поле наблюдения записана область наблюдения из точки наблюдения к плоскости изображения. In the field of observation of the observation area is recorded viewpoint to the image plane.

В поле метода проецирования записан метод проецирования из точки наблюдения на плоскость изображения. In the projection method, projection method from the recorded observation point on the image plane. В настоящем изобретении метод проецирования включает метод ортогональной проекции, в котором область наблюдения представлена шириной и высотой, и метод проецирования в перспективе, в котором область наблюдения представлена горизонтальным углом и вертикальным углом. In the present invention, the projection method includes an orthogonal projection method in which the observation region is represented by width and height and a perspective projection method in which the observation region is represented by a horizontal angle and a vertical angle. Когда выбирается метод ортогональной проекции, ширина и высота области наблюдения соответствуют ширине и высоте плоскости изображения соответственно. When the orthogonal projection method is selected, the width and height of the observation region correspond to the width and height of the image plane, respectively. При выборе метода проецирования в перспективе, горизонтальный и вертикальный углы области наблюдения соответствуют углам, образованным с горизонтальной и вертикальной сторонами видов в диапазоне от точки наблюдения до плоскости изображения. When selecting the method of projecting a perspective horizontal and vertical angles of the observation region correspond to angles formed to horizontal and vertical sides of species in the range from the viewpoint to the image plane.

В поле расстояния записано расстояние от точки наблюдения до ближней граничной плоскости и расстояние от точки наблюдения до дальней граничной плоскости. In the recorded distance away from the viewpoint to a closer boundary plane and the distance from the viewpoint to a farther boundary plane. Поле расстояния составлено из поля ближней плоскости и поля дальней плоскости. The distance field is composed of fields near plane and far field plane. Поле расстояния определяет область для информации о глубине. The distance field defines an area for depth information.

Первый генератор 1830 изображений генерирует цветные изображения на основе информации о цвете, соответствующей информации о точке наблюдения, на соответствующих точках пикселов, образующих объект. The first image generator 1830 generates color images on the basis of color information corresponding to the information about the observation point, on the respective pixel points constituting the object. В случае формата видеоданных для формирования анимационного объекта информация о глубине и информация о цвете представляют собой множество последовательностей кадров изображений. In the case of a video format for generating animated object depth information and color information are multiple sequences of image frames. Второй генератор 1840 изображений генерирует изображения с глубиной, соответствующие информации о точке наблюдения на основе информации о глубине по соответствующим точкам пикселов, образующим объект. The second image generator 1840 generates depth images corresponding to the viewpoint information on the basis of depth information on the respective pixel points constituting the object. Генератор 1850 узлов генерирует узлы изображения, состоящие из информации о точке наблюдения, цветного изображения и изображения с глубиной, соответствующих информации о точке наблюдения. Node generator 1850 generates image nodes composed of viewpoint information, a color image and a depth image corresponding to the information about the observation point.

Препроцессор 1820 осуществляет предварительную обработку пикселов на границе между объектом и фоном цветного изображения. Preprocessor 1820 performs preprocessing pixels in the boundary between the object and the background color image. На фиг.36 предпроцессор показан более детально. Preprocessor 36 is shown in more detail. Согласно фиг.36, препроцессор 1820 содержит секцию 1910 расширения и секцию 1920 сжатия. According to Figure 36, the preprocessor 1820 includes a section 1910 and the enlargement section 1920 compression. Секция 1910 расширения распространяет цвета пограничных пикселов на фон с использованием усредненного цвета блоков и быстрого спада интенсивности. Expansion section 1910 extends colors of pixels in the border pattern using the average color of blocks and fast decay of intensity. Секция 1920 сжатия выполняет поблочное сжатие, чтобы затем сместить искажение в область фона. Section 1920 performs compression chunked compression to then move the distortion in the background area. Кодер 1920 кодирует генерированные узлы изображения для выдачи битовых потоков. The encoder 1920 encodes the generated image nodes to issue bitstreams.

На фиг.37 показана блок-схема, иллюстрирующая процедуру реализации способа для представления трехмерных объектов на основе изображений с глубиной с использованием простой текстуры согласно одному из вариантов осуществления изобретения. Figure 37 is a flowchart illustrating a method for implementing the procedure for presentation of three-dimensional objects on the basis of images with depth using a simple texture according to one embodiment of the invention.

Согласно фиг.37, на этапе S2000 генератор 1810 информации о точке наблюдения генерирует информацию о точке наблюдения, из которой наблюдается объект. According to Figure 37, at step S2000 information generator 1810 generates viewpoint information on the point of observation from which the object is observed. На этапе S2010 первый генератор 1830 изображений генерирует цветные изображения на основе информации о цвете, соответствующей информации о точке наблюдения, на соответствующих точках пикселов, образующих объект. In step S2010 first image generator 1830 generates color images on the basis of color information corresponding to the information about the observation point, on the respective pixel points constituting the object. На этапе S2020 второй генератор 1840 изображений генерирует изображения с глубиной, соответствующие информации о точке наблюдения, на основе информации о глубине для соответствующих точек пикселов, образующих объект. In step S2020 the second image generator 1840 generates depth images corresponding to the viewpoint information on the basis of depth information corresponding to the pixel points constituting the object. На этапе S2030 генератор 1850 узлов генерирует узлы изображения, состоящие из информации о точке наблюдения, информации о цвете и изображения с глубиной, соответствующего информации о точке наблюдения. In step S2030 node generator 1850 generates image nodes composed of viewpoint information, a color information and image depth information corresponding to the observation point.

На этапе S2040 секция 1910 расширения распространяет цвета пикселов на границе между блоками на фон с использованием усредненного цвета блоков и быстрого спада интенсивности. In step S2040 extension section 1910 extends colors of pixels in the boundary between blocks on the background using the average color of blocks and fast decay of intensity. На этапе секция 1920 сжатия выполняет блочное сжатие, чтобы затем сместить искажение в область фона. In step compression section 1920 performs compression block, and then to shift the distortion in the background area. На этапе S2060 кодер 1920 кодирует генерированные узлы изображения для выдачи битовых потоков. In step S2060 encoder 1920 encodes the generated image nodes to issue bitstreams.

Те же самые устройство и способ для представления трехмерных объектов на основе изображений с глубиной, соответствующие настоящему изобретению, описанные выше со ссылками на фиг.35-37, также применимы для представления объектов на основе простой текстуры, причем простая текстура иллюстрируется на фиг.26. The same apparatus and method for representing three-dimensional objects based on the depth images corresponding to the present invention described above with reference to fig.35-37 also applicable to represent objects on the basis of a simple texture, the simple texture illustrated in Figure 26.

На фиг.38 представлена блок-схема устройства для представления трехмерных объектов на основе изображений с глубиной с использованием точечной текстуры в соответствии с настоящим изобретением. Figure 38 shows a block diagram for representing three-dimensional objects based on depth images using a point texture in accordance with the present invention.

Согласно фиг.38, устройство 2100 для представления трехмерных объектов на основе изображений с глубиной содержит блок 2110 формирования выборок, генератор 2120 информации о точке наблюдения, генератор 2130 информации о плоскости, генератор 2140 информации о глубине, генератор 2150 информации о цвете и генератор 2160 узлов. According to Figure 38, the apparatus 2100 for representing three-dimensional objects based on the depth images includes the sampling block 2110, a generator 2120 information about the observation point, information generator 2130 plane information generator 2140 of the depth, the generator 2150 and the color information generator 2160 nodes .

Блок 2110 формирования выборок генерирует выборки для плоскости изображения путем проецирования объекта на эталонную плоскость. The sampling block 2110 generates samples for an image plane by projecting an object onto a reference plane. Выборки для плоскости изображения состоят из пар изображений - цветного изображения и изображения с глубиной. The samples for the image plane are composed of image pairs - the color image and depth image.

Генератор 2120 информации о точке наблюдения генерирует информацию о точке наблюдения, из которой наблюдается объект. Generator 2120 information about the observation point generates information about the observation point from which the object is observed. Информация о точке наблюдения включает в себя множество полей, определяющих плоскость изображения для объекта. Information about the observation point includes a plurality of fields defining an image plane for the object. Поля, составляющие информацию о точке наблюдения, включают в себя поле положения, поле ориентации, поле наблюдения, поле метода проецирования и поле расстояния. The fields that make up information about the observation point, include field position, field orientation, field observation, field projection method and field distance.

В полях положения и ориентации записаны положение и ориентация, в которых наблюдается плоскость изображения. In the fields of the position and orientation of the recorded position and orientation in which the image plane is observed. Точка наблюдения определяется положением и ориентацией. The observation point is determined by the position and orientation. В поле наблюдения записана ширина и высота области наблюдения из точки наблюдения к плоскости изображения. In the observation recorded width and height of the field of observation of the observation point in the image plane. В поле метода проецирования записан метод проецирования, выбранный из метода ортогональной проекции, в котором область наблюдения представлена шириной и высотой, и метода проецирования в перспективе, в котором область наблюдения представлена горизонтальным углом и вертикальным углом. In the projection method field is recorded projection method selected from an orthogonal projection method in which the observation region is represented by width and height and a perspective projection method in which the observation region is represented by a horizontal angle and a vertical angle. В поле расстояния записано расстояние от точки наблюдения до ближней граничной плоскости и расстояние от точки наблюдения до дальней граничной плоскости. In the recorded distance away from the viewpoint to a closer boundary plane and the distance from the viewpoint to a farther boundary plane. Поле расстояния составлено из поля ближней плоскости и поля дальней плоскости. The distance field is composed of fields near plane and far field plane. Поле расстояния определяет область для информации о глубине. The distance field defines an area for depth information.

Генератор 2130 информации о плоскости генерирует информацию о плоскости, определяющую ширину, высоту и глубину плоскости изображения, состоящей из набора точек, полученных из выборок для плоскости изображения, соответствующей информации о точке наблюдения. Information generator 2130 generates plane information plane defining the width, height and depth of an image plane, consisting of a set of points obtained from the samples for the image plane corresponding to the information about the observation point. Информация о плоскости состоит из множества полей. Information on the plane consists of a plurality of fields. Поля, образующие информацию о плоскости, включают первое поле, в котором записана ширина плоскости изображения, второе поле, в котором записана высота плоскости изображения, и поле разрешения по глубине, в котором записано разрешение информации по глубине. The fields constituting the plane information include a first field in which the width of the image plane is recorded, a second field in which the height of the image plane is recorded, and a field depth resolution, wherein the recorded depth resolution information.

Генератор 2140 информации о глубине генерирует последовательность информации о глубинах всех проецируемых точек объекта, спроецированного на плоскость изображения. The generator 2140 generates depth information about the sequence of depth information of all projected points of an object projected onto the image plane. Генератор 2150 информации о цвете генерирует последовательность информации о цвете на соответствующих спроецированных точках. Generator 2150 generates the color information of the sequence of color information on the respective projected points. В последовательности информации о глубине последовательно записаны число спроецированных точек и значения глубины соответствующих спроецированных точек. In the sequence of depth information are sequentially recorded number of projected points and the depth values ​​of the respective projected points. В последовательности информации о цвете последовательно записаны значения цвета, соответствующие значениям глубины соответствующих спроецированных точек. In the sequence of color information are sequentially recorded color values ​​corresponding to respective depth values ​​of the projected pixels.

Генератор 2160 узлов генерирует узлы изображения, состоящие из информации о плоскости, соответствующей плоскости изображения, последовательности информации о глубине и последовательности информации о цвете. Node generator 2160 generates image nodes composed of plane information corresponding to the image plane, a sequence of depth information and a sequence of color information.

На фиг.39 показана блок-схема, иллюстрирующая процедуру реализации способа для представления трехмерных объектов на основе изображений с глубиной с использованием точечной текстуры согласно настоящему изобретению. 39 is a flowchart illustrating a procedure of a method for representing three-dimensional objects based on depth images using the point texture according to the present invention.

Согласно фиг.39 на этапе S2200 генератор 2120 информации о точке наблюдения генерирует информацию о точке наблюдения, из которой наблюдается объект. According to Figure 39 at step S2200 information generator 2120 generates viewpoint information on the point of observation from which the object is observed. На этапе S2210 генератор 2130 информации о плоскости генерирует информацию о плоскости, определяющую ширину, высоту и глубину плоскости изображения, соответствующей информации о точке наблюдения. In step S2210 information generator 2130 generates plane information plane defining the width, height and depth of an image plane corresponding to the information about the observation point. На этапе S2220 блок 2110 формирования выборок генерирует выборки для плоскости изображения путем проецирования объекта на эталонную плоскость. In step S2220 the sampling block 2110 generates samples for an image plane by projecting an object onto a reference plane. Этап S2220 выполняется для того, чтобы обеспечить максимально возможное количество выборок для плоскости изображения. Step S2220 is performed in order to ensure the maximum possible number of samples for an image plane. Если имеется достаточное количество выборок для плоскости изображения, то этап S220 не выполняется. If there is a sufficient number of samples for an image plane, then step S220 is not performed.

На этапе S2230 генератор 2140 информации о глубине генерирует последовательность информации о глубинах всех проецируемых точек объекта, спроецированного на плоскость изображения. In step S2230 generator 2140 generates depth information about the sequence of depth information of all projected points of an object projected onto the image plane.

На этапе S2240 генератор 2150 информации о цвете генерирует последовательность информации о цвете на соответствующих спроецированных точках. In step S2240 generator 2150 generates color information sequence of color information on the respective projected points. На этапе генератор 2160 узлов генерирует узлы изображения, состоящие из информации о плоскости, соответствующей плоскости изображения, последовательности информации о глубине и последовательности информации о цвете. In step generator 2160 generates image nodes assemblies consisting of information on a plane corresponding to the image plane, a sequence of depth information and a sequence of color information.

Те же самые устройство и способ для представления трехмерных объектов на основе изображений с глубиной, соответствующие настоящему изобретению, описанные выше со ссылками на фиг.35-37, также применимы для представления объектов на основе точечной текстуры, причем простая текстура иллюстрируется на фиг.26. The same apparatus and method for representing three-dimensional objects based on the depth images corresponding to the present invention described above with reference to fig.35-37 also applicable to represent objects on the basis of point texture and simple texture illustrated in Figure 26.

На фиг.40 представлена блок-схема устройства для представления трехмерных объектов на основе изображений с глубиной с использованием октодерева согласно настоящему изобретению. Figure 40 is a block diagram of an apparatus for representing three-dimensional objects based on depth images using Octree according to the present invention.

Согласно фиг.40 устройство 2300 для представления трехмерных объектов на основе изображений с глубиной содержит препроцессор 2310, блок 2320 определения эталонного изображения, генератор 2330 информации о форме, генератор 2340 индексов, генератор 2350 узлов и кодер 2360. According to Figure 40 a device 2300 for representing three-dimensional objects based on the depth images includes a preprocessor 2310, a block 2320 determination reference image generator 2330 shape information, index generator 2340, a generator 2350 and an encoder 2360 nodes.

Препроцессор 2310 осуществляет предварительную обработку эталонного изображения. Preprocessor 2310 performs preprocessing a reference image. Детальная структура препроцессора 2310 показана на фиг.41. The detailed structure of the preprocessor 2310 is shown in Fig.41. Согласно фиг.41 препроцессор 2310 содержит секцию 2410 расширения и секцию 2420 сжатия. According to Figure 41 the preprocessor 2310 includes a section 2410 and the enlargement section 2420 compression. Секция 2410 расширения распространяет цвета пикселов на границе между блоками в эталонном изображении на фон с использованием усредненного цвета блоков и быстрого спада интенсивности. Expansion section 2410 extends colors of pixels in the boundary between blocks in the reference image on the background using the average color of blocks and fast decay of intensity. Секция 2420 сжатия выполняет поблочное сжатие на эталонном изображении, чтобы затем сместить искажение в область фона. Section 2420 performs compression chunked compression on the reference image, and then to move the distortion in the background area.

Блок 2320 определения эталонного изображения определяет опорное изображение, содержащее цветное изображение для каждого куба, разделенного генератором 2330 информации о форме. Determining unit 2320 determines a reference image of the reference image containing a color image for each cube divided by the generator 2330 shape information. Эталонное изображение представляет собой узел изображения с глубиной, состоящий из информации о точке наблюдения и цветного изображения, соответствующего информации о точке наблюдения. The reference image is an image with depth assembly consisting of the information about the observation point and the color image corresponding to the information about the observation point. Здесь информация о точке наблюдения включает в себя множество полей, определяющих плоскость изображения для объекта. Here, the information about the observation point includes a plurality of fields defining an image plane for the object. Соответствующие поля, образующие информацию о точке наблюдения, описаны выше, и детальная информация о них не приводится. Respective fields, forming information on the observation point, as described above, and detailed information about them will be omitted. Цветное изображение, содержащееся в узле изображения с глубиной, может представлять собой либо простую текстуру, либо точечную текстуру. The color image contained in the node with the depth image can be either a simple texture, a point texture.

Генератор 2330 информации о форме генерирует информацию о форме для объекта путем деления октодерева, содержащего объект, на 8 субкубов и определения разделенных субкубов как дочерних узлов. The generator 2330 generates shape information shape information for an object by dividing an octree containing the object into 8 subkubov and determining separated subkubov both child nodes. Генератор 2330 информации о форме итеративным образом выполняет подразделение до тех пор, пока каждый субкуб не станет меньше, чем предварительно определенный размер. Generator shape information 2330 iteratively performs subdivision until each subkub not yet become less than a predetermined size. Информация о форме включает поле "разрешение", в котором записано максимальное количество листов октодерева вдоль стороны куба, содержащего объект, и поле "октодерево", в котором записана последовательность структур внутренних узлов, и поле "индекс", в котором записаны индексы эталонных изображений, соответствующих каждому внутреннему узлу. Information about the shape includes the "resolution", which recorded the maximum number of sheets octree along a side of the cube containing the object, and the field "octree", wherein the recorded sequence of structures internal nodes and the "index", in which the recorded indices of reference images, corresponding to each internal node. Генератор 2340 индексов генерирует информацию индексов эталонного изображения, соответствующего информации о форме. Index generator 2340 generates index information of the reference image corresponding to the shape information. На фиг.42 представлена детальная структура генератора 2340 индексов. Fig.42 shows the detailed structure of the index generator 2340. Согласно фиг.42, генератор 2340 включает в себя генератор 2510 цветных точек, генератор 2520 основанного на точках представления (ОТП), преобразователь 2530 изображения и генератор 2540 индексной информации. According to Figure 42, a generator 2340 includes a generator 2510 color points generator 2520 based on the points of view (OTP), the image converter 2530 and an index information generator 2540.

Генератор 2510 цветных точек получает цветные точки путем сдвига пикселов, имеющихся в эталонном изображении, на расстояние, определенное в карте глубины, соответствующей ему. The generator 2510 receives the color dots of colored points by shifting pixels existing in the reference image by a distance defined in the depth map corresponding thereto. Генератор 2520 ОТП генерирует промежуточное изображение ОТП посредством набора цветных точек. OTP generator 2520 generates an intermediate image by OTP set of colored dots. Преобразователь 2530 изображения преобразует изображение ОТП в изображение октодерева, представленное кубом, соответствующим каждой точке. The converter 2530 converts the image into an octree image OTP image represented by the cube corresponding to each point. Генератор 2540 индексной информации генерирует индексную информацию эталонного изображения, соответствующего каждому кубу. Index information generator 2540 generates index information of the reference image corresponding to each cube.

Генератор 2350 узлов генерирует узлы октодерева, включающие в себя информацию формы, индексную информацию и эталонное изображение. Node generator 2350 generates octree nodes including shape information, index information and reference image.

Кодер 2360 кодирует узлы октодерева в выходные битовые потоки. The encoder 2360 encodes the octree nodes to output bitstreams. Детальная структура кодера 2360 показана на фиг.43. The detailed structure of the encoder 2360 shown in Figure 43. Согласно фиг.43 кодер 2360 включает в себя секцию 2610 определения контекста, первую секцию 2620 кодирования, вторую секцию 2630 кодирования, третью секцию 2640 кодирования, секцию 2650 записи байтов символов и секцию 2660 записи индекса изображения. According to the Fig.43 encoder 2360 includes a context determining section 2610, a first encoding section 2620, second section 2630 encoding section 2640 a third coding section 2650 records symbol bytes section 2660 and an image index recording.

Секция 2610 определения контекста определяет контекст текущего узла октодерева на основе количества циклов кодирования для узла октодерева. Context determination section 2610 determines the context of the current octree node on the basis of the number of encoding cycles for the octree node. Первая секция 2620 кодирования кодирует первые 512 узлов 0-контекстной моделью и арифметическим кодированием при поддержании одиночной таблицы вероятностей с 22 записями. The first section 2620 encodes the first 512 nodes 0-context model and arithmetic coding while keeping a single probability table with 22 entries. Первая секция 2620 кодирования начинает кодирование с равномерного распределения. The first coding section 2620 starts coding with uniform distribution.

Вторая секция 2630 кодирования кодирует узлы с 513-го по 2048-й после того, как 512-й узел кодирован 1-контекстной моделью с использованием порождающего узла в качестве контекста. The second section 2630 encodes nodes from 513 th to 2048 minutes after the 512 th node is encoded 1-context model using a parent node as a context. В момент переключения с 0-контекстной на 1-контекстную модель вторая секция 2630 кодирования копирует таблицу вероятностей 0-контекстной модели во все таблицы вероятностей 1-контекстной модели. At the time of switching from the 0-context to the 1-context model the second coding section 2630 copies the probability table 0-context model probability table to all the 1-context model.

На фиг.44 представлена блок-схема второй секции 2630 кодирования. 44 is a block diagram of a second encoding section 2630. Согласно фиг.44 вторая секция 2360 кодирования содержит секцию 2710 извлечения вероятности, арифметический кодер 2720 и секцию 2730 обновления таблиц. According to Figure 44 the second section 2360 comprises a coding section 2710 extract probability arithmetic coder 2720 and section 2730 updates the tables. Секция 2710 извлечения вероятности извлекает вероятность генерирования текущего узла в контексте из таблицы вероятностей, соответствующей контексту. Extraction section 2710 retrieves the probability of generating the probability of the current node in a context from the probability table corresponding to the context. Арифметический кодер 2720 сжимает октодеревья последовательностью вероятностей, содержащей извлеченную вероятность. The arithmetic coder 2720 compresses octree probability sequence containing the retrieved probability. Секция 2730 обновления таблиц обновляет таблицы вероятностей с предварительно определенным приращением, например 1, для генерирования частот текущего узла в текущем контексте. Update section 2730 updates the tables probability table with a predetermined increment, e.g., 1 to generate the frequency of the current node in the current context.

Третья секция 2640 кодирования кодирует узлы, следующие после 2048-х узлов, посредством 2-контекстной модели и арифметического кодирования с использованием порождающего и дочерних узлов в качестве контекстов. The third section 2640 encodes nodes following after the 2048's of nodes by a 2-context model and arithmetic coding using a generator and children nodes as contexts. В момент переключения с 1-контекстной на 2-контекстную модель третья секция 2640 кодирования копирует таблицы вероятностей 1-контекстной модели для конфигурации порождающего узла в 2-контекстные таблицы вероятностей, соответствующие соответствующим положениям в той же самой конфигурации порождающего узла. At the time of switching from the 1-context to the 2-context model third coding section 2640 copies the probability table 1, the context model for the parent node configuration in the 2-context probability tables corresponding to the respective positions in the same parent node configuration.

На фиг.45 представлена блок-схема третьей секции 2640 кодирования. 45 is a block diagram of the third section 2640 of encoding. Согласно фиг.45 третья секция 2640 кодирования содержит первую секцию 2810 извлечения, первую секцию 2820 определения, вторую секцию 2830 извлечения, секцию 2840 получения конфигурации, вторую секцию 2850 определения, арифметический кодер 2860 и секцию 2870 обновления таблиц. According to Figure 45 a third section 2640 comprises encoding 2810 a first section extracting section 2820 first determination, a second extraction section 2830, receiving section 2840 configuration, the second section 2850 determine arithmetic coder 2860 and section 2870 updates the tables.

Первая секция 2810 извлечения извлекает порождающий узел текущего узла. First extracting section 2810 extracts generating the current node. Первая секция 2820 определения определяет класс, к которому принадлежит извлеченный порождающий узел, и определяет преобразование, посредством которого порождающий узел преобразуется в стандартный узел определенного класса. The first determination section 2820 determines the class to which belongs the extracted generating unit, and defines a transformation through which generating unit is converted into the standard node particular class. Вторая секция 2830 извлечения применяет полученное преобразование к порождающему узлу и извлекает положение текущего узла в преобразованном порождающем узле. Second extracting section 2830 applies the transform to the resulting generating node and retrieves the position of the current node in the transformed generating node. Секция 2840 получения конфигурации применяет преобразование к текущему узлу и получает конфигурацию как комбинацию определенного класса и индекса положения текущего узла. Section 2840 receiving configuration applies a transform to the current node and receives configuration as a combination of a certain class and the position index of the current node. Вторая секция 2850 определения определяет необходимые вероятности из записей таблицы вероятностей, соответствующей полученной конфигурации. The second determination section 2850 detects necessary probabilities from entries probability table corresponding to the received configuration. Арифметический кодер 2860 сжимает октодеревья посредством последовательности вероятностей, содержащей извлеченную вероятность. The arithmetic coder 2860 compresses octree by probability sequence containing the retrieved probability. Секция 2870 обновления таблиц обновляет таблицы вероятностей с предварительно определенным приращением, например 1, для генерации частот текущего узла в текущем контексте. Update section 2870 updates the tables probability table with a predetermined increment, e.g., 1, to generate the frequencies of the current node in the current context.

Если текущий узел не является узлом листа, то секция 2650 записи байтов символов записывает байты символов, соответствующие текущему узлу в битовые потоки. If the current node is not a leaf node, then the recording section 2650 records symbol bytes symbol bytes corresponding to the current node in the bitstreams. Если все дочерние узлы текущего узла имеют тот же самый индекс эталонного изображения и порождающий узел текущего узла имеет "неопределенный" индекс эталонного изображения, то секция 2660 записи индекса изображения записывает тот же самый индекс эталонного изображения в битовые потоки для субузлов текущего узла. If all child nodes of the current node have the same index of the reference image and generates a node of the current node has an "undefined" reference image index, the section 2660 records the image of the index records the same index of the reference image into bit streams for sub-assembly of the current node. Если дочерние узлы имеют отличающиеся индексы эталонного изображения, то секция 2660 записи индекса изображения записывает "неопределенный" индекс эталонного изображения в битовые потоки для субузлов текущего узла. If the child nodes have different indices of the reference image, the image recording section 2660 records the index "undefined" reference image index on the bitstreams for the sub-assembly of the current node.

На фиг.46 представлена блок-схема, иллюстрирующая процедуру реализации способа представления трехмерных объектов на основе изображений с глубиной с использованием октодерева, согласно возможному варианту осуществления настоящего изобретения. At 46 is a flowchart illustrating a procedure of the method of presenting three-dimensional object based on depth images using Octree according to an embodiment of the present invention. Согласно фиг.46 на этапе S2900 генератор 2330 информации о форме генерирует информацию о форме для объекта путем деления октодерева, содержащего объект, на субкубы и определения разделенных субкубов как дочерних узлов. According to Figure 46, in step S2900 generator 2330 generates shape information shape information for an object by dividing an octree containing the object, and determining at subkuby separated subkubov both child nodes. Информация о форме включает поле "разрешение", в котором записано максимальное количество листов октодерева вдоль стороны куба, содержащего объект, и поле "октодерево", в котором записана последовательность структур внутренних узлов, и поле "индекс", в котором записаны индексы эталонных изображений, соответствующих каждому внутреннему узлу. Information about the shape includes the "resolution", which recorded the maximum number of sheets octree along a side of the cube containing the object, and the field "octree", wherein the recorded sequence of structures internal nodes and the "index", in which the recorded indices of reference images, corresponding to each internal node. Каждый внутренний узел представлен байтом. Each internal node is represented by a byte. Информация узла записана в битовой последовательности, составляющей байт, представляющий присутствие или отсутствие дочернего узла из дочерних узлов, принадлежащих внутреннему узлу. Node information recorded in a bit sequence constituting the byte represents presence or absence of a child node of children nodes belonging to the internal node. На этапе S2910 подразделение выполняется итеративным образом для формирования 8 субкубов, если каждый субкуб больше, чем предварительно определенный размер (это значение может быть найдено эмпирически.). In step S2910 division is performed iteratively for forming subkubov 8, if each subkub larger than a predetermined size (This value can be empirically found.).

На этапе S2920 блок 2320 определения эталонного изображения определяет эталонное изображение, содержащее цветное изображение для каждого куба, разделенное генератором 2330 информации о форме. In step S2920 determination unit 2320 determines a reference image, the reference image containing a color image for each cube divided by the generator 2330 shape information. Эталонное изображение представляет собой узел изображения с глубиной, состоящий из информации о точке наблюдения и цветного изображения, соответствующего информации о точке наблюдения. The reference image is an image with depth assembly consisting of the information about the observation point and the color image corresponding to the information about the observation point. Состав информации о точке наблюдения описан выше. Composition information about the observation point as described above. Для эталонного изображения может быть выполнен этап предварительного изображения. For the reference image may be formed through a preliminary image.

На фиг.47 представлена блок-схема, иллюстрирующая процедуру реализации предварительной обработки эталонного изображения. 47 is a flowchart illustrating a procedure for implementing pre-processing of the reference image. Согласно фиг.47 на этапе S3000 секция 1910 расширения распространяет цвета пикселов на границе между блоками на фон с использованием усредненного цвета блоков и быстрого спада интенсивности. According to Figure 47, in step S3000 extension section 1910 extends colors of pixels in the boundary between blocks on the background using the average color of blocks and fast decay of intensity. На этапе S3010 выполняется блочное сжатие, чтобы затем сместить искажение в область фона. At step S3010 is executed block compression to then move the distortion in the background area.

На этапе S2930 генератор 2340 индексов генерирует индексную информацию эталонного изображения соответственно информации о форме. In step S2930 the index generator 2340 generates index information of the reference image, respectively, the shape information.

На фиг.48 представлена блок-схема, иллюстрирующая процедуру реализации генерации индексов. In Fig.48 is a flowchart illustrating a procedure for implementing index generation. Согласно фиг.48 на этапе S3100 генератор 2510 цветных точек получает цветные точки путем сдвига пикселов, имеющихся в эталонном изображении, на расстояние, определенное в карте глубины, соответствующей ему. According to Fig.48, in step S3100 generator 2510 receives the color dots of colored points by shifting pixels existing in the reference image by a distance defined in the depth map corresponding thereto. На этапе генератор 2520 ОТП генерирует промежуточное изображение ОТП посредством набора цветных точек. In step 2520 OTP generator generates the intermediate image by OTP set of colored dots. На этапе S3120 преобразователь 2530 изображения преобразует изображение ОТП в изображение октодерева, представленное кубом, соответствующим каждой точке. In step S3120 image converter 2530 converts the image into OTP octree image represented by the cube corresponding to each point. На этапе S313 0 генератор 2540 индексной информации генерирует индексную информацию эталонного изображения, соответствующего каждому кубу. In step S313 0 index information generator 2540 generates index information of the reference image corresponding to each cube.

На этапе S2940 генератор 2350 узлов генерирует узлы октодерева, включающие в себя информацию формы, индексную информацию и эталонное изображение. In step S2940 node generator 2350 generates octree nodes including shape information, index information and reference image.

На этапе S2950 кодер 2360 кодирует узлы октодерева в выходные битовые потоки. At step S2950 encoder 2360 encodes the octree nodes to output bitstreams.

На фиг.49 представлена блок-схема, иллюстрирующая процесс реализации кодирования. 49 is a flowchart illustrating a process of implementing encoding. Согласно фиг.49 на этапе S3200 секция 2610 определения контекста определяет контекст текущего узла октодерева на основе количества циклов кодирования для узла октодерева. According to Figure 49, in step S3200 determination section 2610 determines the context of the current context octree node based on the number of encoding cycles for the octree node. На этапе S3210 определяется, является ли положение текущего узла меньшим или равным 512. Если да, то на этапе S3220 выполняется первый этап кодирования посредством 0-контекстной модели и арифметического кодирования. In step S3210, it is determined whether the current node position is less than or equal to 512. If yes, then in step S3220 is performed by the first encoding step 0-context model and arithmetic coding. Если на этапе S3210 определено, что текущее положение узла больше чем 512, то определяется контекст текущего узла (этап S3430) и выполняется второй этап кодирования посредством 1-контекстной модели с использованием порождающего узла в качестве контекста (этап S3240). If in step S3210 it is determined that the current node position is more than 512, it is determined the current node context (step S3430), and a second step of encoding by 1-context model using a parent node as a context (step S3240). Если на этапе S3250 определено, что положение текущего узла больше чем 2048, то определяется контекст текущего узла (этап S3260) и выполняется третий этап кодирования посредством 2-контекстной модели с использованием порождающего узла в качестве контекста (этап S3270). If in step S3250 it is determined that the current node position is more than 2048, it is determined the current node context (step S3260) and the third encoding step is performed by a 2-context model using a parent node as a context (step S3270).

Здесь 0-контекст означает независимость от контекста, 1-контекст - это класс порождающего узла. Here, the 0-context means regardless of the context, 1-context - a class parent. Общее число классов равно 22. Если классы связаны ортогональными преобразованиями G, генерируемыми базовыми преобразованиями, то два узла принадлежат одному и тому же классу. The total number of classes is 22. If classes are connected by orthogonal transformations the G, generated basic transformations, the two nodes belong to the same class. Базовые преобразования m 1 , m 2 и m 3 определяются следующим образом: Basic transformation m 1, m 2 and m 3 are defined as follows:

Figure 00000102

где m 1 и m 2 - отображения на плоскости х=y и y=z соответственно, m 3 - отображение на плоскость х=0. wherein m 1 and m 2 - displaying on the plane x = y and y = z, respectively, m 3 - mapping onto the plane x = 0. 2-контекст включает в себя класс порождающего узла и положение текущего узла в порождающем узле. 2-context includes a class and the parent node of the current node position in the parent node.

На фиг.50 представлена блок-схема, иллюстрирующая процедуру реализации второго этапа кодирования. In Fig.50 is a flowchart illustrating a procedure for implementing a second encoding step. Согласно фиг.50 на этапе S3300 секция 2710 извлечения вероятности извлекает вероятность генерирования текущего узла в контексте из таблицы вероятностей, соответствующей контексту. According to Fig.50, in step S3300 probability retrieval section 2710 retrieves the probability of generating the current node in a context from the probability table corresponding to the context. На этапе S3310 арифметический кодер 2720 сжимает октодеревья последовательностью вероятностей, содержащей извлеченную вероятность. In step S3310 arithmetic coder 2720 compresses octree probability sequence containing the retrieved probability. На этапе S3320 секция 2730 обновления таблиц обновляет таблицы вероятностей с предварительно определенным приращением, например 1, для генерирования частот текущего узла в текущем контексте. In step S3320 update section 2730 updates the tables probability table with a predetermined increment, e.g., 1 to generate the frequency of the current node in the current context.

На фиг.51 представлена блок-схема, иллюстрирующая процедуру реализации третьего этапа кодирования. Fig.51 is a flowchart illustrating a procedure for implementing a third encoding step. Согласно фиг.51 на этапе S3400 первая секция 2810 извлечения извлекает порождающий узел текущего узла. According to Fig.51, in step S3400 the first extraction section 2810 extracts generating the current node. На этапе S3410 первая секция 2820 определения определяет класс, к которому принадлежит извлеченный порождающий узел, и определяет преобразование, посредством которого порождающий узел преобразуется в стандартный узел определенного класса. In step S3410 first determining section 2820 determines the class to which belongs the extracted generating unit, and defines a transformation through which generating unit is converted into the standard node particular class. На этапе S3420 вторая секция 2830 извлечения применяет полученное преобразование к порождающему узлу и извлекает положение текущего узла в преобразованном порождающем узле. In step S3420 the second extracting section 2830 applies the transform to the resulting generating node and retrieves the position of the current node in the transformed generating node. На этапе S3430 секция 2840 получения конфигурации применяет определенное преобразование к текущему узлу и получает конфигурацию как комбинацию определенного класса и индекса положения текущего узла. In step S3430 receiving section 2840 applies a certain configuration transform to the current node and receives configuration as a combination of a certain class and the position index of the current node. На этапе S3440 вторая секция 2850 определения определяет необходимые вероятности из записей таблицы вероятностей, соответствующей полученной конфигурации. In step S3440 second determining section 2850 determines the necessary probabilities from entries probability table corresponding to the received configuration. На этапе S3450 арифметический кодер 2860 сжимает октодеревья посредством последовательности вероятностей, содержащей извлеченную вероятность. In step S3450 arithmetic coder 2860 compresses octree by probability sequence containing the retrieved probability. На этапе S3460 секция 2870 обновления таблиц обновляет таблицы вероятностей с предварительно определенным приращением, например 1, для генерации частот текущего узла в текущем контексте. In step S3460 update section 2870 updates the tables probability table with a predetermined increment, e.g., 1, to generate the frequencies of the current node in the current context.

На фиг.52 представлена блок-схема процедуры генерирования битовых потоков в процессе кодирования. Figure 52 is a block diagram of a process of generating bitstreams during encoding. Согласно фиг.52, если на этапе S3500 определено, что текущий узел не является узлом листа, то секция 2650 записи байтов символов на этапе S3510 записывает байты символов, соответствующие текущему узлу, в битовые потоки и переходит к этапу S3520. According to Figure 52, if in step S3500 it is determined that the current node is not a leaf node, then the recording section 2650 in step S3510 character byte writes characters bytes corresponding to the current node in the bitstreams, and proceeds to step S3520. Если текущий узел является узлом листа, то процедура переходит непосредственно к этапу S3520 без выполнения этапа S3510. If the current node is a leaf node, then the routine proceeds directly to step S3520 without executing step S3510.

Если на этапе S3520 определено, что все дочерние узлы текущего узла имеют тот же самый индекс эталонного изображения и порождающий узел текущего узла имеет "неопределенный" индекс эталонного изображения, то секция 2660 записи индекса изображения на этапе S3530 записывает тот же самый индекс эталонного изображения в битовые потоки для субузлов текущего узла. If in step S3520 it is determined that all the children of the current node nodes have the same index of the reference image and generating the current node has an "undefined" reference image index, the section 2660 records the image index in step S3530 writes the same reference image is the index into the bit flows to sub-assembly of the current node. Если на этапе S3520 определено, что дочерние узлы имеют отличающиеся индексы эталонного изображения, то секция 2660 записи индекса изображения на этапе S3540 записывает "неопределенный" индекс эталонного изображения в битовые потоки для субузлов текущего узла. If step S3520 determines that the child nodes have different reference picture indexes, the section 2660 records the image index in step S3540 writes "undefined" reference image index on the bitstreams for the sub-assembly of the current node.

На фиг.53 представлена блок-схема устройства для представления трехмерных объектов на основе изображений с глубиной с использованием октодерева согласно другому варианту осуществления настоящего изобретения. At 53 is shown a block diagram for representing three-dimensional objects based on the depth image using Octree according to another embodiment of the present invention. На фиг.54 представлена блок-схема, иллюстрирующая процедуру реализации способа представления трехмерных объектов на основе изображений с глубиной с использованием октодерева, согласно другому варианту осуществления настоящего изобретения. In Fig.54 is a flowchart illustrating a procedure of the method of presenting three-dimensional object based on depth images using Octree according to another embodiment of the present invention.

Согласно фиг.53 и 54 устройство 3600 для представления трехмерных объектов на основе изображений с глубиной, соответствующее настоящему изобретению, содержит блок 3610 ввода, первый блок 3620 выделения, декодер 3630, второй блок 3640 выделения и блок 3650 представления объекта. According to 53 and 54 unit 3600 to represent the three-dimensional object based on depth images, according to the present invention comprises input unit 3610, a first selection unit 3620, a decoder 3630, a second allocation unit 3640 and 3650 represent the object block.

На этапе S3700 первый блок 3610 ввода вводит битовые потоки из внешнего устройства. In step S3700 first input unit 3610 inputs bitstreams from an external device. На этапе S3710 первый блок 3620 выделяет узлы октодерева из входных битовых потоков. In step S3710 first unit 3620 extracts octree nodes from the input bitstreams.

На этапе S3720 декодер декодирует выделенные узлы октодерева. At step S3720 the selected decoder decodes the octree nodes. Декодер 3630 включает в себя секцию определения контекста, первую секцию декодирования, вторую секцию декодирования и третью секцию декодирования. The decoder 3630 includes a context determining section, a first decoding section, a second section and a third decoding section decoding. Операции, осуществляемые соответствующими компонентами, образующими декодер 3630, аналогичны соответствующим операциям аналогичных компонентов кодеров, описанных со ссылками на фиг.43-45 и на фиг.49-52, и поэтому их детальное описание здесь не приводится. Operations performed by the respective components constituting the decoder 3630 are similar to corresponding operations similar components of encoders described with reference to and fig.43-45 fig.49-52 and therefore their detailed description is omitted here. На этапе S3730 второй блок 3540 выделяет информацию о форме и эталонные изображения для множества кубов, образующих октодеревья, из декодированных узлов октодеревьев. In step S3730 the second unit 3540 extracts shape information and reference images for a plurality cubes constituting octree from the decoded octree nodes. На этапе S3740 блок 3650 представления объекта представляет объект путем комбинирования выделенных эталонных изображений в соответствии с информацией о форме. In step S3740 unit 3650 represents an object representation of the object by combining the selected reference image in accordance with information about the form.

Настоящее изобретение может быть реализовано на компьютерно-читаемом носителе записи компьютерно-читаемыми кодами. The present invention may be implemented on a computer-readable medium recording a computer-readable codes. Компьютерно-читаемый носитель записи включает в себя все типы устройств записи, с которых могут считываться данные, читаемые компьютерной системой, и примерами которых могут служить ПЗУ, ОЗУ, ПЗУ на компакт-дисках, магнитные ленты, гибкие диски, оптические устройства хранения данных и т.п., а также реализованные на несущей волне, например, из Интернет или иной среды передачи. A computer-readable recording medium includes all types of recording devices that can read data readable by a computer system, examples of which ROM may be, RAM, ROM, CD-ROM, magnetic tapes, floppy disks, optical data storage devices, etc. n., and implemented in a carrier wave, for example, from the Internet or other communication media. Также компьютерно-читаемый носитель записи распространяется в компьютерной системе, связанной с сетью, так что компьютерно-читаемые коды сохраняются и реализуются способом распространения. Also, the computer-readable recording medium is distributed in a computer system coupled to a network so that computer readable codes are stored and implemented by the distribution method.

В соответствии с настоящим изобретением в представлениях, основанных на изображениях, поскольку высококачественная информация о цветном трехмерном объекте кодируется посредством набора простых и регулярных структур двумерных изображений, в настоящее время применяющихся в хорошо известных способах обработки и сжатия изображений, алгоритм прост и может поддерживаться аппаратными средствами во многих аспектах. In accordance with the present invention in views based on the images, as high-quality information on a colored three-dimensional object is encoded by a set of simple and regular structure of two-dimensional images, is now applied in a well-known processing methods and image compression, the algorithm is simple and can be supported by hardware in many aspects. Кроме того, время визуализации для моделей, основанных на изображениях, пропорционально числу пикселов в эталонном и выходном изображениях, но, в общем случае, не геометрической сложности, как в полигональном случае. In addition, rendering time for models based on the images in proportion to the number of pixels in the reference and output images, but in general, not the geometric complexity as in polygonal case. Кроме того, поскольку представление на основе изображений применимо к объектам и сценам реального мира, то близкая к фотографической визуализация реальной сцены становится возможной без использования миллионов многоугольников и дорогостоящих вычислений. Moreover, since the idea on the basis of images applied to objects and scenes of the real world, it is close to the photographic imaging of the real scene becomes possible without use of millions of polygons and expensive computation.

Изложенное выше описание реализации изобретения представлено в целях иллюстрации и пояснения. The foregoing description of the invention is presented for purposes of illustration and explanation. Оно не является исчерпывающим и не ограничивает изобретение до точно раскрытой формы. It is not exhaustive and does not limit the invention to the precise form disclosed. Возможны модификации и вариации в свете вышеизложенных принципов или с учетом практической реализации изобретения. Modifications and variations in light of the above principles or with the practice of the invention. Объем изобретения определяется пунктами формулы изобретения и их эквивалентами. Scope of the invention defined by the claims and their equivalents.

Claims (66)

1. Устройство для представления трехмерных объектов на основе изображений с глубиной, содержащее генератор информации о точке наблюдения для генерирования по меньшей мере одного фрагмента информации о точке наблюдения; 1. An apparatus for representing three-dimensional objects based on the depth image containing information generator for generating viewpoint of at least one piece of information about the observation point; первый генератор изображений для генерирования цветных изображений на основе информации о цвете, соответствующей информации о точке наблюдения, соответствующих точек пикселов, составляющих объект; a first image generator for generating color images on the basis of color information corresponding to the information about the observation point corresponding to the pixel points constituting an object; второй генератор изображений для генерирования изображений с глубиной на основе информации о глубине, соответствующей информации о точке наблюдения, по соответствующим точкам пикселов, составляющих объект; a second image generator for generating depth images on the basis of depth information corresponding to the information about the observation point, the respective pixel points constituting an object; генератор узлов для генерирования узлов изображений, состоящих из информации о точке наблюдения, цветного изображения и изображения с глубиной, соответствующих информации о точке наблюдения; node generator for generating image nodes composed of viewpoint information, a color image and a depth image corresponding to the information about the observation point; и кодер для кодирования генерированных узлов изображений. and an encoder for encoding the generated image nodes.
2. Устройство по п.1, отличающееся тем, что информация о точке наблюдения включает в себя множество полей, определяющих плоскость изображения для объекта, при этом поля, составляющие информацию о точке наблюдения, включают в себя поле положения, в котором записано положение, из которого наблюдается плоскость изображения, поле ориентации, в котором записана ориентация, из которой наблюдается плоскость изображения, поле наблюдения, в котором записана область наблюдения из точки наблюдения к плоскости изображения, поле метода проецирования, 2. Device according to claim 1, characterized in that the information about the observation point includes a plurality of fields defining an image plane for an object, the fields constituting the viewpoint information include a position field in which the recorded position of whose image plane is observed, the orientation field, wherein the orientation is recorded, from which an image plane is observed, the observation field, wherein the observation area is recorded from the viewpoint to the image plane, the projection method field, котором записан метод проецирования из точки наблюдения на плоскость изображения, первое поле расстояния, в котором записано расстояние от точки наблюдения до ближней граничной плоскости, и второе поле расстояния, в котором записано расстояние от точки наблюдения до дальней граничной плоскости, и диапазон для информации о глубине определяется полями расстояний. which recorded the method projection of the observation point on the image plane, a first distance field in which is written the distance from the viewpoint to a closer boundary plane and a second distance field in which is written the distance from the viewpoint to a farther boundary plane and a range for depth information It determines the distance fields.
3. Устройство по п.1, отличающееся тем, что дополнительно содержит препроцессор для предварительной обработки пикселов на границе между объектом и фоном цветного изображения, причем препроцессор содержит секцию расширения для распространения пикселов на границе на фон с использованием усредненного цвета блоков и быстрого спада интенсивности и секцию сжатия для выполнения блочного сжатия для смещения искажения в сторону фона. 3. A device according to claim 1, characterized in that it further comprises a preprocessor for preprocessing pixels in the boundary between the object and the background color of the image, wherein the expansion section comprises a preprocessor for distribution of pixels on the boundary at background using the average color of blocks and fast decay of intensity, and compressing section for performing compression for the block distortion offset toward the background.
4. Способ представления трехмерных объектов на основе изображений с глубиной, включающий генерирование по меньшей мере одного фрагмента информации о точке наблюдения; 4. A method of three-dimensional object representation based on depth images, comprising generating at least one piece of information about the observation point; генерирование цветных изображений на основе информации о цвете, соответствующей информации о точке наблюдения, соответствующих точек пикселов, составляющих объект; generating color images on the basis of color information corresponding to the information about the observation point corresponding to the pixel points constituting an object; генерирование изображений с глубиной на основе информации о глубине, соответствующей информации о точке наблюдения, по соответствующим точкам пикселов, составляющих объект; generating depth images on the basis of depth information corresponding to the information about the observation point, the respective pixel points constituting an object; генерирование узлов изображений, состоящих из информации о точке наблюдения, цветного изображения и изображения с глубиной, соответствующих информации о точке наблюдения; generating image nodes composed of viewpoint information, a color image and a depth image corresponding to the information about the observation point; и кодирование генерированных узлов изображений. and coding the generated image nodes.
5. Способ по п.4, отличающийся тем, что информация о точке наблюдения включает в себя множество полей, определяющих плоскость изображения для объекта, при этом поля, составляющие информацию о точке наблюдения, включают в себя поле положения, в котором записано положение, из которого наблюдается плоскость изображения, поле ориентации, в котором записана ориентация, из которой наблюдается плоскость изображения, поле наблюдения, в котором записана область наблюдения из точки наблюдения к плоскости изображения, поле метода проецирования, в кот 5. A method according to claim 4, characterized in that the information about the observation point includes a plurality of fields defining an image plane for an object, the fields constituting the viewpoint information include a position field in which the recorded position of whose image plane is observed, the orientation field, wherein the orientation is recorded, from which an image plane is observed, the observation field, wherein the observation area is recorded from the viewpoint to the image plane, the projection method field, a cat ором записан метод проецирования из точки наблюдения на плоскость изображения, первое поле расстояния, в котором записано расстояние от точки наблюдения до ближней граничной плоскости, и второе поле расстояния, в котором записано расстояние от точки наблюдения до дальней граничной плоскости, и диапазон для информации о глубине определяется полями расстояний. Hur recorded projection method from the viewpoint to the image plane, a first distance field in which is written the distance from the viewpoint to a closer boundary plane and a second distance field in which is written the distance from the viewpoint to a farther boundary plane and a range for depth information It determines the distance fields.
6. Способ по п.5, отличающийся тем, что положение представляет собой местоположение относительно начала системы координат, где существует плоскость изображения. 6. A method according to claim 5, characterized in that the position is a location with respect to the coordinate system where the image plane exists.
7. Способ по п.5, отличающийся тем, что ориентация представляет собой величину поворота относительно установленной по умолчанию ориентации. 7. A method according to claim 5, characterized in that the orientation is a rotation amount relative to the default orientation.
8. Способ по п.5, отличающийся тем, что, когда выбран способ ортогональной проекции, ширина и высота области наблюдения соответствуют ширине и высоте плоскости изображения соответственно, а когда выбран способ проекции в перспективе, горизонтальный и вертикальный углы области наблюдения соответствуют углам, образованным с горизонтальной и вертикальной сторонами полями зрения из точки наблюдения к плоскости изображения. 8. A method according to claim 5, characterized in that, when the orthogonal projection method is selected, the width and height of the observation region correspond to the width and height of the image plane, respectively, and when the selected method is a perspective projection, the horizontal and vertical angles of the observation region correspond to angles formed with vertical and horizontal fields of view of the observation point in the image plane.
9. Способ по п.4, отличающийся тем, что в случае формата видеоданных для генерирования анимационных объектов информация о глубине и информация о цвете представляют собой множество последовательностей кадров изображения. 9. A method according to claim 4, characterized in that in the case of a video format for generating animated objects depth information and color information are multiple sequences of image frames.
10. Способ по п.4, отличающийся тем, что этап генерирования цветных изображений включает в себя распространение пикселов на границе на фон с использованием усредненного цвета блоков и быстрого спада интенсивности и выполнение блочного сжатия для смещения искажения в сторону фона. 10. The method of claim 4, wherein the step of generating color images comprises pixel distribution on the boundary at background using the average color of blocks and fast decay of intensity and performing block compression distortion in the direction of displacement of the background.
11. Устройство для представления трехмерных объектов на основе изображений с глубиной, содержащее генератор информации о точке наблюдения для генерирования по меньшей мере одного фрагмента информации о точке наблюдения; 11. An apparatus for representing three-dimensional objects based on the depth image containing information generator for generating viewpoint of at least one piece of information about the observation point; генератор информации о плоскости для генерирования информации о плоскости, определяющей ширину, высоту и глубину плоскости изображения, соответствующей информации о точке наблюдения; a plane information generator for generating plane information defining the width, height and depth of an image plane corresponding to the viewpoint information; генератор информации о глубине для генерирования последовательности информации о глубине для глубин всех проецируемых точек объекта, проецируемого на плоскость изображения; a depth information generator for generating a sequence of depth information on depths of all projected points of an object projected onto the image plane; генератор информации цвета для генерирования последовательности информации о цвете по соответствующим проецируемым точкам и генератор узлов для генерирования узлов, состоящих из информации о плоскости, соответствующей плоскости изображения, последовательности информации о глубине и последовательности информации о цвете. color information generator for generating a sequence of color information on the respective projected points and nodes generator for generating node composed of plane information corresponding to the image plane, a sequence of depth information and a sequence of color information.
12. Устройство по п.11, отличающееся тем, что информация о точке наблюдения включает в себя множество полей, определяющих плоскость изображения для объекта, при этом поля, составляющие информацию о точке наблюдения, включают в себя поле положения, в котором записано положение, из которого наблюдается плоскость изображения, поле ориентации, в котором записана ориентация, из которой наблюдается плоскость изображения, поле наблюдения, в котором записана область наблюдения из точки наблюдения к плоскости изображения, поле метода проецирования, 12. The apparatus according to claim 11, characterized in that the information about the observation point includes a plurality of fields defining an image plane for an object, the fields constituting the viewpoint information include a position field in which the recorded position of whose image plane is observed, the orientation field, wherein the orientation is recorded, from which an image plane is observed, the observation field, wherein the observation area is recorded from the viewpoint to the image plane, the projection method field, в котором записан метод проецирования из точки наблюдения на плоскость изображения, первое поле расстояния, в котором записано расстояние от точки наблюдения до ближней граничной плоскости, и второе поле расстояния, в котором записано расстояние от точки наблюдения до дальней граничной плоскости, и диапазон для информации о глубине определяется полями расстояний. wherein the recorded projection method from the viewpoint to the image plane, a first distance field in which is written the distance from the viewpoint to a closer boundary plane and a second distance field in which is written the distance from the viewpoint to a farther boundary plane and a range for information about depth is determined by the distance fields.
13. Устройство по п.11, отличающееся тем, что информация о плоскости состоит из множества полей и поля, образующие информацию о плоскости, включают в себя первое поле, в котором записана ширина плоскости изображения, второе поле, в котором записана высота плоскости изображения, и поле разрешения глубины, в котором записано разрешение информации о глубине. 13. The apparatus of claim 11, wherein the plane information is composed of a plurality of fields and fields constituting the plane information include a first field in which the width of the image plane is recorded, a second field in which the height of the image plane is recorded, and the depth of field resolution, which says the resolution of the depth information.
14. Устройство по п.11, отличающееся тем, что в последовательности информации о глубине последовательно записаны количество проецируемых точек и значения глубины соответствующих проецируемых точек, а в последовательности информации о цвете последовательно записаны значения цвета, соответствующие значениям глубины соответствующих проецируемых точек. 14. The apparatus according to claim 11, characterized in that in the sequence of depth information are sequentially recorded number of projected points and the depth values ​​of the respective projected points, and a sequence of color information are sequentially recorded color values ​​corresponding to respective depth values ​​of the projected pixels.
15. Способ представления трехмерных объектов на основе изображений с глубиной, включающий в себя генерирование по меньшей мере одного фрагмента информации о точке наблюдения; 15. The method of three-dimensional object representation based on depth images, comprising generating at least one piece of information about the observation point; генерирование информации о плоскости, определяющей ширину, высоту и глубину плоскости изображения, соответствующей информации о точке наблюдения; generating plane information defining the width, height and depth of an image plane corresponding to the viewpoint information; генерирование последовательности информации о глубине для глубин всех проецируемых точек объекта, проецируемого на плоскость изображения; generating a sequence of depth information on depths of all projected points of an object projected onto the image plane; генерирование последовательности информации о цвете по соответствующим проецируемым точкам и генерирование узла, состоящего из информации о плоскости, соответствующей плоскости изображения, последовательности информации о глубине и последовательности информации о цвете. generating a sequence of color information on the respective projected points, and generating a node composed of plane information corresponding to the image plane, a sequence of depth information and a sequence of color information.
16. Способ по п.15, отличающийся тем, что информация о точке наблюдения включает в себя множество полей, определяющих плоскость изображения для объекта, при этом поля, составляющие информацию о точке наблюдения, включают в себя поле положения, в котором записано положение, из которого наблюдается плоскость изображения, поле ориентации, в котором записана ориентация, из которой наблюдается плоскость изображения, поле наблюдения, в котором записана область наблюдения из точки наблюдения к плоскости изображения, поле метода проецирования, в ко 16. The method according to claim 15, characterized in that the information about the observation point includes a plurality of fields defining an image plane for an object, the fields constituting the viewpoint information include a position field in which the recorded position of whose image plane is observed, the orientation field, wherein the orientation is recorded, from which an image plane is observed, the observation field, wherein the observation area is recorded from the viewpoint to the image plane, the projection method field, to a тором записан метод проецирования из точки наблюдения на плоскость изображения, первое поле расстояния, в котором записано расстояние от точки наблюдения до ближней граничной плоскости, и второе поле расстояния, в котором записано расстояние от точки наблюдения до дальней граничной плоскости, и диапазон для информации о глубине определяется полями расстояний. torus recorded projection method from the viewpoint to the image plane, a first distance field in which is written the distance from the viewpoint to a closer boundary plane and a second distance field in which is written the distance from the viewpoint to a farther boundary plane and a range for depth information It determines the distance fields.
17. Способ по п.11, отличающийся тем, что информация о плоскости состоит из множества полей и поля, образующие информацию о плоскости, включают в себя первое поле, в котором записана ширина плоскости изображения, второе поле, в котором записана высота плоскости изображения, и поле разрешения глубины, в котором записано разрешение информации о глубине. 17. The method of claim 11, wherein the plane information is composed of a plurality of fields and fields constituting the plane information include a first field in which the width of the image plane is recorded, a second field in which the height of the image plane is recorded, and the depth of field resolution, which says the resolution of the depth information.
18. Способ по п.15, отличающийся тем, что в последовательности информации о глубине последовательно записаны количество проецируемых точек и значения глубины соответствующих проецируемых точек, а в последовательности информации о цвете последовательно записаны значения цвета, соответствующие значениям глубины соответствующих проецируемых точек. 18. The method according to claim 15, characterized in that in the sequence of depth information are sequentially recorded number of projected points and the depth values ​​of the respective projected points, and a sequence of color information are sequentially recorded color values ​​corresponding to respective depth values ​​of the projected pixels.
19. Устройство для представления трехмерных объектов на основе изображений с глубиной, содержащее генератор информации о форме для генерирования информации о форме для объекта путем деления октодерева, содержащего объект, на 8 субкубов и определения разделенных субкубов как дочерних узлов до тех пор, пока каждый субкуб не станет меньше, чем предварительно определенный размер; 19. An apparatus for representing three-dimensional objects based on depth images, comprising: shape information generator for generating shape information for an object by dividing an octree containing the object into 8 subkubov and determining separated subkubov both child nodes as long as each does not subkub becomes smaller than a predetermined size; блок определения эталонного изображения для определения эталонного изображения, содержащего цветное изображение для каждого куба, разделенного генератором информации о форме; reference image determination unit for determining a reference image containing a color image for each cube divided by the shape information generator; генератор индекса для генерирования индексной информации эталонного изображения, соответствующего информации о форме; an index generator for generating index information of the reference image corresponding to the shape information; генератор узлов для генерирования узла октодерева, включающих в себя информацию о форме, индексную информацию и эталонное изображение, и кодер для кодирования узлов октодерева для вывода битовых потоков. node generator for generating octree node, including the shape information, index information and reference image, and an encoder for encoding the octree nodes to output bitstreams.
20. Устройство по п.19, отличающееся тем, что информация о форме включает в себя поле разрешения, в котором записано максимальное число листьев октодерева вдоль стороны куба, содержащего объект, поле октодерева, в котором записана последовательность структур внутренних узлов, и поле индекса, в котором записаны индексы эталонных изображений, соответствующих каждому внутреннему узлу. 20. The apparatus of claim 19, characterized in that the information about the shape includes a resolution field in which recorded the maximum number of octree leaves along a side of the cube containing the object octree field in which is written a sequence of internal node structures, and an index field, wherein the recorded indices of the reference images corresponding to each internal node.
21. Устройство по п.19, отличающееся тем, что эталонное изображение представляет собой узел изображения с глубиной, содержащий информацию о точке наблюдения и цветное изображение, соответствующее информации о точке наблюдения. 21. The apparatus of claim 19, characterized in that the reference image is an image with depth node containing information about the observation point and the color image corresponding to the information about the observation point.
22. Устройство по п.21, отличающееся тем, что информация о точке наблюдения включает в себя множество полей, определяющих плоскость изображения для объекта, при этом поля, составляющие информацию о точке наблюдения, включают в себя поле положения, в котором записано положение, из которого наблюдается плоскость изображения, поле ориентации, в котором записана ориентация, из которой наблюдается плоскость изображения, поле наблюдения, в котором записана область наблюдения из точки наблюдения к плоскости изображения, поле метода проецирования, 22. The apparatus of claim 21, characterized in that the information about the observation point includes a plurality of fields defining an image plane for an object, the fields constituting the viewpoint information include a position field in which the recorded position of whose image plane is observed, the orientation field, wherein the orientation is recorded, from which an image plane is observed, the observation field, wherein the observation area is recorded from the viewpoint to the image plane, the projection method field, в котором записан метод проецирования из точки наблюдения на плоскость изображения, выбранный из метода ортогонального проецирования, при котором область наблюдения представлена шириной и высотой, и метода проецирования в перспективе, при котором область наблюдения представлена горизонтальным углом и вертикальным углом. wherein the recorded projection method from the viewpoint to the image plane selected from an orthogonal projection method in which the observation region is represented by width and height and a perspective projection method in which the observation region is represented by a horizontal angle and a vertical angle.
23. Устройство по п.19, отличающееся тем, что дополнительно содержит препроцессор для предварительной обработки пикселов на границе между блоками в эталонном изображении о выдаче предварительно обработанных пикселов в блок определения эталонного изображения, причем препроцессор содержит секцию расширения для распространения пикселов на фон с использованием усредненного цвета блоков и быстрого спада интенсивности и секцию сжатия для выполнения блочного сжатия для смещения искажения в сторону фона. 23. The apparatus of claim 19, characterized in that it further comprises a preprocessor for preprocessing pixels in the boundary between blocks in the reference image to issue pre-processed pixels in the reference image determination unit, wherein the expansion section comprises a preprocessor for distribution of pixels in the averaged pattern using color blocks and fast decay of intensity, and the compression section for performing block compression distortion in the direction of displacement of the background.
24. Устройство по п.19, отличающееся тем, что генератор индекса содержит генератор цветных точек для получения цветных точек путем сдвига пикселов, существующих в эталонном изображении, на расстояние, определенное в карте глубин, соответствующей ему; 24. The apparatus of claim 19, characterized in that the index generator comprises a generator of color dots for color points by shifting pixels existing in the reference image by a distance defined in the depth map corresponding thereto; генератор основанного на точках представления (ОТП) для генерирования промежуточного изображения ОТП посредством набора цветных точек; generator based on the points of view (OTP) OTP for generating an intermediate image by a set of colored points; преобразователь изображения для преобразования изображения ОТП в изображение октодерева, представленное кубом, соответствующим каждой точке, и генератор индексной информации для генерирования индексной информации эталонного изображения, соответствующего каждому кубу. an image converter for converting image OTP octree image represented by the cube corresponding to each point, and an index information generator for generating index information of the reference image corresponding to each cube.
25. Устройство по п.19, отличающееся тем, что кодер содержит секцию определения контекста для определения контекста текущего узла октодерева на основе числа циклов кодирования для узла октодерева; 25. The apparatus of claim 19, characterized in that the encoder comprises a context determination section for determining the context of the current octree node on the basis of the number of encoding cycles for the octree node; первую секцию кодирования для кодирования первого предварительно определенного числа узлов посредством 0-контекстной модели и арифметического кодирования при поддержании одиночной таблицы вероятностей с предварительно определенным числом записей; a first encoding section for encoding a first predetermined number of nodes by a 0-context model and arithmetic coding while keeping a single probability table with a predetermined number of entries; вторую секцию кодирования для кодирования второго предварительно определенного числа узлов, следующих за первым предварительно определенным числом узлов, посредством 1-контекстной модели с использованием порождающего узла в качестве контекста и третью секцию кодирования для кодирования остальных узлов, следующих за вторым предварительно определенным числом узлов, посредством 2-контекстной модели и арифметического кодирования с использованием порождающих и дочерних узлов в качестве контекстов, причем первая секция кодирования начи a second encoding section for encoding a second predetermined number of nodes following after the first predetermined number of nodes by a 1-context model using a parent node as a context and a third encoding section for encoding the remaining nodes following after the second predetermined number of nodes by a 2 -kontekstnoy model and arithmetic coding using generators and children nodes as contexts, the first encoding section nachi нает кодирование с равномерного распределения, вторая секция кодирования копирует таблицу вероятностей 0-контекстной модели во все таблицы вероятностей 1-контекстной модели в момент переключения с 0-контекстной на 1-контекстную модель и третья секция кодирования копирует таблицы вероятностей 1-контекстной модели для конфигурации порождающего узла в таблицы вероятностей 2-контекстной модели, соответствующие соответствующим положениям в той же самой конфигурации порождающего узла в момент переключения с 1-контекстной на 2-контекстную мо naet coding uniform distribution, the second encoding section copies the table of probabilities a 0-context model in all probability table 1-context model, at the time of switching from the 0-context to the 1-context model, and the third encoding section copies the probability table 1, the context model for the configuration of generating node in the probability table 2-context model corresponding to respective positions in the same parent node configuration at the time of switching from the 1-context to the 2-context mo дель. Del.
26. Устройство по п.25, отличающееся тем, что вторая секция кодирования содержит секцию извлечения вероятности для извлечения вероятности генерирования текущего узла в контексте из таблицы вероятностей, соответствующей контексту; 26, wherein the apparatus of claim 25, the second encoding section comprises a probability retrieval section for retrieving the probability of generating the current node in a context from the probability table corresponding to the context; арифметический кодер для сжатия октодеревьев посредством последовательности вероятностей, содержащей извлеченную вероятность, и секцию обновления таблиц для обновления таблицы вероятностей с предварительно определенным приращением для генерирования частот текущего узла в текущем контексте. arithmetic encoder means for compression of octree probability sequence containing the retrieved probability tables and update section for updating the probability table with a predetermined increment to the generation frequencies of the current node in the current context.
27. Устройство по п.25, отличающееся тем, что третья секция кодирования содержит первую секцию извлечения для извлечения порождающего узла текущего узла; 27. The apparatus of claim 25, characterized in that the third encoding section includes a first extraction section for extracting parent node of the current node; первую секцию определения для определения класса, к которому принадлежит извлеченный порождающий узел, и определения преобразования, посредством которого порождающий узел преобразуется в стандартный узел определенного класса; a first determining section for determining the class to which belongs the extracted generating unit, and determining the transformation by which the generator assembly is converted into the standard node particular class; вторую секцию извлечения для применения определенного преобразования к порождающему узлу и извлечения положения текущего узла в преобразованном порождающем узле; a second extracting section for converting from an application node to the generating and extracting position of the current node in the transformed generating unit; секцию получения конфигурации для получения конфигурации как комбинации определенного класса и индекса положения текущего узла; obtaining section for obtaining configuration as the configuration of combination of a certain class and the position index of the current node; вторую секцию определения для определения необходимой вероятности из записей таблицы вероятностей, соответствующей полученной конфигурации; a second determining section for determining the necessary probabilities from entries probability table corresponding to the obtained configuration; арифметический кодер для сжатия октодеревьев посредством последовательности вероятностей, содержащей извлеченную вероятность, и секцию обновления таблиц для обновления таблицы вероятностей с предварительно определенными приращениями для генерации частот текущего узла в текущем контексте. arithmetic encoder means for compression of octree probability sequence containing the retrieved probability tables and update section for updating the probability table with a predetermined increments to generate frequencies of the current node in the current context.
28. Устройство по п.25, отличающееся тем, что кодер дополнительно содержит секцию записи байтов символов для записи байтов символов, соответствующих текущему узлу, в битовые потоки, если текущий узел не является узлом листа; 28. The apparatus of claim 25, characterized in that the encoder further comprises a recording section for recording symbol bytes symbol bytes corresponding to the current node in the bitstreams if the current node is not a leaf node; секцию записи индекса изображения для записи того же индекса эталонного изображения в битовые потоки для субузлов текущего узла, если все дочерние узлы текущего узла имеют тот же индекс эталонного изображения, а порождающий узел текущего узла имеет “неопределенный” индекс эталонного изображения, или записи “неопределенного” индекса эталонного изображения для субузлов текущего узла, если дочерние узлы текущего узла имеют отличающиеся индексы эталонных изображений. image index recording section for recording the same reference image index in the bitstream for the sub-assembly of the current node, if all the child nodes of the current node have the same reference picture index, and generating the current node has an "undefined" reference image index, or the recording of "indefinite" a reference picture index for the sub-assembly of the current node when the child nodes of the current node have different reference picture indexes.
29. Способ представления трехмерных объектов на основе изображений с глубиной, включающий генерирование информации о форме для объекта путем деления октодерева, содержащего объект, на 8 субкубов и определение разделенных субкубов как дочерних узлов до тех пор, пока каждый субкуб не станет меньше, чем предварительно определенный размер; 29. A method of representation of three-dimensional objects based on depth images, comprising: generating shape information for an object by dividing an octree containing the object into 8 subkubov subkubov separated and definition as the child nodes as long as each subkub becomes smaller than the predetermined the size; определение эталонного изображения, содержащего цветное изображение для каждого куба, разделенного генератором информации о форме; determining a reference image containing a color image for each cube divided by the shape information generator; генерирование индексной информации эталонного изображения, соответствующего информации о форме; generating index information of the reference image corresponding to the shape information; генерирование узлов октодерева, включающих в себя информацию о форме, индексную информацию и эталонное изображение, и кодирование узлов октодерева для вывода битовых потоков. generating octree nodes including shape information, index information and reference image, and encoding the octree nodes to output bitstreams.
30. Способ по п.29, отличающийся тем, что информация о форме включает в себя поле разрешения, в котором записано максимальное число листьев октодерева вдоль стороны куба, содержащего объект, поле октодерева, в котором записана последовательность структур внутренних узлов, и поле индекса, в котором записаны индексы эталонных изображений, соответствующих каждому внутреннему узлу. 30. The method of claim 29, characterized in that the information about the shape includes a resolution field in which recorded the maximum number of octree leaves along a side of the cube containing the object octree field in which is written a sequence of internal node structures, and an index field, wherein the recorded indices of the reference images corresponding to each internal node.
31. Способ по п.30, отличающийся тем, что каждый внутренний узел представлен байтом, а информация узла, записанная в битовой последовательности, образующей байт, представляет наличие или отсутствие дочерних узлов, принадлежащих внутреннему узлу. 31. The method of claim 30, wherein each internal node is represented by a byte and node information recorded in a bit sequence constituting the byte represents presence or absence of children nodes belonging to the internal node.
32. Способ по п.29, отличающийся тем, что эталонное изображение представляет собой узел изображения с глубиной, состоящий из информации о точке наблюдения и цветного изображения, соответствующего информации о точке наблюдения. 32. The method of claim 29, wherein the reference image is an image with depth assembly consisting of the information about the observation point and the color image corresponding to the information about the observation point.
33. Способ по п.32, отличающийся тем, что информация о точке наблюдения включает в себя множество полей, определяющих плоскость изображения для объекта, при этом поля, составляющие информацию о точке наблюдения, включают в себя поле положения, в котором записано положение, из которого наблюдается плоскость изображения, поле ориентации, в котором записана ориентация, из которой наблюдается плоскость изображения, поле наблюдения, в котором записана область наблюдения из точки наблюдения к плоскости изображения, поле метода проецирования, в ко 33. The method according to claim 32, characterized in that the information about the observation point includes a plurality of fields defining an image plane for an object, the fields constituting the viewpoint information include a position field in which the recorded position of whose image plane is observed, the orientation field, wherein the orientation is recorded, from which an image plane is observed, the observation field, wherein the observation area is recorded from the viewpoint to the image plane, the projection method field, to a тором записан метод проецирования из точки наблюдения на плоскость изображения, выбранный из метода ортогонального проецирования, при котором область наблюдения представлена шириной и высотой, и метода проецирования в перспективе, при котором область наблюдения представлена горизонтальным углом и вертикальным углом. recorded torus method projection of the observation point on the image plane selected from an orthogonal projection method in which the observation region is represented by width and height and a perspective projection method in which the observation region is represented by a horizontal angle and a vertical angle.
34. Способ по п.29, отличающийся тем, что генерирование индексной информации включает получение цветных точек путем сдвига пикселов, существующих в эталонном изображении, на расстояние, определенное в карте глубин, соответствующей ему; 34. The method of claim 29, wherein the generating index information includes obtaining color points by shifting pixels existing in the reference image by a distance defined in the depth map corresponding thereto; генерирование промежуточного изображения основанного на точках представления (ОТП) посредством набора цветных точек; generating an intermediate image based on points of view (OTP) by a set of colored points; преобразование изображения ОТП в изображение октодерева, представленное кубом, соответствующим каждой точек, и генерирование индексной информации эталонного изображения, соответствующего каждому кубу. OTP conversion images in octree image represented by the cube corresponding to each point, and generating index information of the reference image corresponding to each cube.
35. Способ по п.29, отличающийся тем, что этап определения эталонного изображения включает распространение пикселов на границе на фон с использованием усредненного цвета блоков и быстрого спада интенсивности и выполнение блочного сжатия для смещения искажения в сторону фона. 35. The method of claim 29, wherein the step of determining a reference image includes pixels at the boundary spread on the background using the average color of blocks and fast decay of intensity and performing block compression distortion in the direction of displacement of the background.
36. Способ по п.29, отличающийся тем, что этап кодирования включает определение контекста текущего узла октодерева на основе числа циклов кодирования для узла октодерева; 36. The method of claim 29, wherein the encoding step comprises determining the context of the current octree node on the basis of the number of encoding cycles for the octree node; первый этап кодирования для кодирования первого предварительно определенного числа узлов посредством 0-контекстной модели и арифметического кодирования при поддержании одиночной таблицы вероятностей с предварительно определенным числом записей; a first encoding step for encoding a first predetermined number of nodes by a 0-context model and arithmetic coding while keeping a single probability table with a predetermined number of entries; второй этап кодирования для кодирования второго предварительно определенного числа узлов, следующих за первым предварительно определенным числом узлов, посредством 1-контекстной модели с использованием порождающего узла в качестве контекста и третий этап кодирования для кодирования остальных узлов, следующих за вторым предварительно определенным числом узлов, посредством 2-контекстной модели и арифметического кодирования с использованием порождающих и дочерних узлов в качестве контекстов, причем первый этап кодирования начинается a second encoding step for encoding a second predetermined number of nodes following after the first predetermined number of nodes by a 1-context model using a parent node as a context and a third encoding step for encoding the remaining nodes following after the second predetermined number of nodes by a 2 -kontekstnoy model and arithmetic coding using generators and children nodes as contexts, the first encoding step begins с равномерного распределения, второй этап кодирования копирует таблицу вероятностей 0-контекстной модели во все таблицы вероятностей 1-контекстной модели в момент переключения с 0-контекстной на 1-контекстную модель и третий этап кодирования копирует таблицы вероятностей 1-контекстной модели для конфигурации порождающего узла в таблицы вероятностей 2-контекстной модели, соответствующие соответствующим положениям в той же самой конфигурации порождающего узла в момент переключения с 1-контекстной на 2-контекстную модель. with a uniform distribution, the second stage encoding copies table of probabilities a 0-context model in all probability table 1-context model, at the time of switching from the 0-context to the 1-context model, and the third encoding step copies the probability table 1, the context model for the configuration of parent node in probability table 2-context model corresponding to respective positions in the same parent node configuration at the time of switching from the 1-context to the 2-context model.
37. Способ по п.36, отличающийся тем, что 1-контекстая модель представляет собой класс порождающего узла. 37. The method of claim 36, wherein the 1-context model is a parent node class.
38. Способ по п.37, отличающийся тем, что общее число классов равно 22 и если узлы связаны ортогональными преобразованиями G, генерируемыми базовыми преобразованиями, то два узла принадлежат к одному и тому же классу, где базовые преобразования m 1 , m 2 и m 3 определяются следующим образом: 38. The method according to claim 37, characterized in that the total number of classes is 22, and if the nodes are connected by orthogonal transforms G, generated by the base transforms, then two nodes belong to the same class, where the basic transformation m 1, m 2 and m 3 are defined as follows:
Figure 00000103
где m 1 и m 2 - отображения на плоскости x=y и y=z соответственно; wherein m 1 and m 2 - displaying on the plane x = y and y = z, respectively;
m 3 - отображение на плоскость x=0. 3 m - mapping onto the plane x = 0.
39. Способ по п.36, отличающийся тем, что 2-контекст включает в себя класс порождающего узла и положение текущего узла в порождающем узле. 39. The method of claim 36, wherein the 2-context includes a class and the parent node of the current node position in the parent node.
40. Способ по п.36, отличающийся тем, что второй этап кодирования содержит извлечение вероятности генерирования текущего узла в контексте из таблицы вероятностей, соответствующей контексту; 40. The method according to claim 36, characterized in that said second encoding step comprises retrieving the probability of generating the current node in a context from the probability table corresponding to the context; сжатие октодеревьев посредством последовательности вероятностей, содержащей извлеченную вероятность, и обновление таблицы вероятностей с предварительно определенным приращением для генерирования частот текущего узла в текущем контексте. by octree compression probability sequence containing the retrieved probability, and the probability table updating a predetermined increment to the generation frequencies of the current node in the current context.
41. Способ по п.36, отличающийся тем, что третий этап кодирования содержит извлечение порождающего узла текущего узла; 41. The method of claim 36, wherein the third encoding step comprises extracting parent node of the current node; определение класса, к которому принадлежит извлеченный порождающий узел, и определение преобразования, посредством которого порождающий узел преобразуется в стандартный узел определенного класса; class definition to which it belongs extracted generating unit, and determining the transformation by which the generating unit is converted into the standard node particular class; применение определенного преобразования к порождающему узлу и извлечение положения текущего узла в преобразованном порождающем узле; application specific transformation to a node generating and ejecting position of the current node in the transformed generating unit; применение преобразования к текущему узлу и получение конфигурации как комбинации определенного класса и индекса положения текущего узла; applying the transformation to the current node and receiving configuration as the combination of a certain class and the position index of the current node; определение необходимой вероятности из записей таблицы вероятностей, соответствующей комбинации определенного класса и положения; determining a necessary probability from entries probability table corresponding to the combination of a certain class and position; сжатие октодеревьев посредством последовательности вероятностей, содержащей извлеченную вероятность, и обновление таблицы вероятностей с предварительно определенным приращением для генерации частот текущего узла в текущем контексте. by octree compression probability sequence containing the retrieved probability, and the probability table updating a predetermined increment to the generation frequencies of the current node in the current context.
42. Способ по п.36, отличающийся тем, что этап кодирования включает запись байтов символов, соответствующих текущему узлу, в битовые потоки, если текущий узел не является узлом листа; 42. The method of claim 36, wherein the encoding step comprises recording symbol bytes corresponding to the current node in the bitstreams if the current node is not a leaf node; запись индекса того же эталонного изображения в битовые потоки для субузлов текущего узла, если все дочерние узлы текущего узла имеют тот же индекс эталонного изображения, а порождающий узел текущего узла имеет “неопределенный” индекс эталонного изображения, или запись “неопределенного” индекса эталонного изображения для субузлов текущего узла, если дочерние узлы текущего узла имеют отличающиеся индексы эталонных изображений. index entry of the same reference image into bit streams for sub-assembly of the current node, if any child of the current node components have the same reference picture index, and generating the current node has an "undefined" reference image index, or write "undefined" reference image index for the sub-assembly the current node if the child nodes of the current node have different reference picture indexes.
43. Устройство для представления трехмерных объектов на основе изображений с глубиной, содержащее блок ввода для ввода битовых потоков; 43. An apparatus for representing three-dimensional objects to, comprising an input unit based on the depth image for inputting bitstreams; первый блок выделения для выделения узлов октодерева из входных битовых потоков; first extracting unit to extract the octree nodes from the input bitstreams; декодер для декодирования узлов октодерева; a decoder for decoding the octree nodes; второй блок выделения для выделения информации о форме и эталонных изображений для множества кубов, образующих октодеревья из декодированных узлов октодерева; second extracting unit to extract the shape information and reference images for a plurality cubes constituting octree from the decoded octree nodes; и блок представления объекта для представления объекта путем объединения выделенных эталонных изображений, соответствующих информации о форме. and a presentation unit for presenting the object of the object by combining the selected reference images corresponding to the shape information.
44. Устройство по п.43, отличающееся тем, что декодер содержит секцию определения контекста для определения контекста текущего узла октодерева на основе количества циклов декодирования для узла октодерева; 44. The apparatus of claim 43, characterized in that the decoder comprises a context determination section for determining the context of the current octree node on the basis of the number of decoding cycles for the octree node; первую секцию декодирования для декодирования первого предварительно определенного числа узлов посредством 0-контекстной модели и арифметического декодирования при поддержании одиночной таблицы вероятностей с предварительно определенным числом записей; a first decoding section for decoding a first predetermined number of nodes by a 0-context model and arithmetic decoding while maintaining a single probability table with a predetermined number of entries; вторую секцию декодирования для декодирования второго предварительно определенного числа узлов, следующих за первым предварительно определенным числом узлов посредством 1-контекстной модели с использованием порождающего узла в качестве контекста, и третью секцию декодирования для декодирования остальных узлов, следующих за вторым предварительно определенным числом узлов, посредством 2-контекстной модели и арифметического декодирования с использованием порождающих и дочерних узлов в качестве контекстов, причем первая секция декод a second decoding section for decoding a second predetermined number of nodes following after the first predetermined number of nodes by a 1-context model using a parent node as a context, and third decoding section for decoding the remaining nodes following after the second predetermined number of nodes by a 2 -kontekstnoy model and arithmetic decoding using generators and children nodes as contexts, the first decode section рования начинает декодирование с равномерного распределения, вторая секция декодирования копирует таблицу вероятностей 0-контекстной модели во все таблицы вероятностей 1-контекстной модели в момент переключения с 0-контекстной на 1-контекстную модель, и третья секция декодирования копирует таблицы вероятностей 1-контекстной модели для конфигурации порождающего узла в таблицы вероятностей 2-контекстной модели, соответствующие соответствующим положениям в той же самой конфигурации порождающего узла, в момент переключения с 1-контекстн tion starts decoding with uniform distribution, the second decoding unit copies the table of probabilities a 0-context model in all probability table 1-context model, at the time of switching from the 0-context to the 1-context model, and the third section decoding copies probability table 1-context model for parent node configuration in the probability table 2-context model corresponding to respective positions in the same parent node configuration, at the time of switching from the 1-context й на 2-контекстную модель. nd 2-context model.
45. Устройство по п.44, отличающееся тем, что 1-контекстая модель представляет собой класс порождающего узла. 45. The apparatus of claim 44, wherein the 1-context model is a parent node class.
46. Устройство по п.45, отличающееся тем, что общее число классов равно 22, и если узлы связаны ортогональными преобразованиями G, генерируемыми базовыми преобразованиями, то два узла принадлежат к одному и тому же классу, где базовые преобразования m 1 , m 2 и m 3 определяются следующим образом: 46. The apparatus according to claim 45, characterized in that the total number of classes is 22, and if the nodes are connected by orthogonal transforms G, generated by the base transforms, then two nodes belong to the same class, where the basic transformation m 1, m 2, and m 3 are defined as follows:
Figure 00000104
где m 1 и m 2 - отображения на плоскости x=y и y=z соответственно; wherein m 1 and m 2 - displaying on the plane x = y and y = z, respectively;
m 3 - отображение на плоскость x=0. 3 m - mapping onto the plane x = 0.
47. Устройство по п.44, отличающееся тем, что 2-контекст включает в себя класс порождающего узла и положение текущего узла в порождающем узле. 47. The apparatus of claim 44, wherein the 2-context includes a class and the parent node of the current node position in the parent node.
48. Устройство по п.44, отличающееся тем, что секция второго этапа декодирования содержит секцию извлечения вероятности для извлечения вероятности генерирования текущего узла в контексте из таблицы вероятностей, соответствующей контексту; 48. The apparatus of claim 44, characterized in that the second section comprises a decoding step likelihood extracting section for extracting the probability of generating the current node in a context from the probability table corresponding to the context; секцию сжатия октодеревьев для сжатия октодеревьев посредством последовательности вероятностей, содержащей извлеченную вероятность, и секцию обновления таблиц для обновления таблицы вероятностей с предварительно определенным приращением для генерирования частот текущего узла в текущем контексте. octree compression section for compressing the octree by probability sequence containing the retrieved probability tables and update section for updating the probability table with a predetermined increment to the generation frequencies of the current node in the current context.
49. Устройство по п.44, отличающееся тем, что третья секция декодирования содержит секцию извлечения узла для извлечения порождающего узла текущего узла; 49. The apparatus of claim 44, characterized in that the third section comprises a decoding unit extracting section for extracting parent node of the current node; секцию определения преобразования для определения класса, к которому принадлежит извлеченный порождающий узел, и определения преобразования, посредством которого порождающий узел преобразуется в стандартный узел определенного класса; conversion determining section for determining the class to which belongs the extracted generating unit, and determining the transformation by which the generator assembly is converted into the standard node particular class; секцию извлечения положения для применения определенного преобразования к порождающему узлу и извлечения положения текущего узла в преобразованном порождающем узле; extracting section for position from an application to the generating conversion node and retrieving the position of the current node in the transformed generating unit; секцию получения конфигурации для применения преобразования к текущему узлу и получения конфигурации как комбинации определенного класса и индекса положения текущего узла; obtaining section configuration for applying the transformation to the current node, and obtain configuration as a combination of a certain class and the position index of the current node; секцию определения вероятности для определения необходимой вероятности из записей таблицы вероятностей, соответствующей комбинации определенного класса и положения; probability determining section for determining the necessary probabilities from entries probability table corresponding to the combination of a certain class and position; секцию сжатия октодеревьев для сжатия октодеревьев посредством последовательности вероятностей, содержащей извлеченную вероятность, и секцию обновления таблиц для обновления таблицы вероятностей с предварительно определенным приращением для генерации частот текущего узла в текущем контексте. octree compression section for compressing the octree by probability sequence containing the retrieved probability tables and update section for updating the probability table with a predetermined increment to the generation frequencies of the current node in the current context.
50. Устройство по п.43, отличающееся тем, что информация о форме включает в себя поле разрешения, в котором записано максимальное число листьев октодерева вдоль стороны куба, содержащего объект, поле октодерева, в котором записана последовательность структур внутренних узлов, и поле индекса, в котором записаны индексы эталонных изображений, соответствующих каждому внутреннему узлу. 50. The apparatus of claim 43, characterized in that the information about the shape includes a resolution field in which recorded the maximum number of octree leaves along a side of the cube containing the object octree field in which is written a sequence of internal node structures, and an index field, wherein the recorded indices of the reference images corresponding to each internal node.
51. Устройство по п.50, отличающееся тем, что каждый внутренний узел представлен байтом, а информация узла, записанная в битовой последовательности, образующей байт, представляет наличие или отсутствие дочерних узлов, принадлежащих внутреннему узлу. 51. The apparatus of claim 50, characterized in that each internal node is represented by a byte and node information recorded in a bit sequence constituting the byte represents presence or absence of children nodes belonging to the internal node.
52. Устройство по п.43, отличающееся тем, что эталонное изображение представляет собой узел изображения с глубиной, состоящий из информации о точке наблюдения и цветного изображения, соответствующего информации о точке наблюдения. 52. The apparatus of claim 43, characterized in that the reference image is an image with depth assembly consisting of the information about the observation point and the color image corresponding to the information about the observation point.
53. Устройство по п.52, отличающееся тем, что информация о точке наблюдения включает в себя множество полей, определяющих плоскость изображения для объекта, при этом поля, составляющие информацию о точке наблюдения, включают в себя поле положения, в котором записано положение, из которого наблюдается плоскость изображения, поле ориентации, в котором записана ориентация, из которой наблюдается плоскость изображения, поле наблюдения, в котором записана область наблюдения из точки наблюдения к плоскости изображения, поле метода проецирования, 53. The apparatus of claim 52, characterized in that the information about the observation point includes a plurality of fields defining an image plane for an object, the fields constituting the viewpoint information include a position field in which the recorded position of whose image plane is observed, the orientation field, wherein the orientation is recorded, from which an image plane is observed, the observation field, wherein the observation area is recorded from the viewpoint to the image plane, the projection method field, в котором записан метод проецирования из точки наблюдения на плоскость изображения, выбранный из метода ортогонального проецирования, при котором область наблюдения представлена шириной и высотой, и метода проецирования в перспективе, при котором область наблюдения представлена горизонтальным углом и вертикальным углом. wherein the recorded projection method from the viewpoint to the image plane selected from an orthogonal projection method in which the observation region is represented by width and height and a perspective projection method in which the observation region is represented by a horizontal angle and a vertical angle.
54. Способ представления трехмерных объектов на основе изображений с глубиной, включающий ввод битовых потоков; 54. A method of representation of three-dimensional objects based on depth images, comprising: input bitstreams; выделение узлов октодерева из входных битовых потоков; selection octree nodes from the input bitstreams; декодирование узлов октодерева; decoding the octree nodes; выделение информации о форме и эталонных изображений для множества кубов, образующих октодеревья из декодированных узлов октодерева; selection shape information and reference images for a plurality cubes constituting octree from the decoded octree nodes; и представление объекта путем объединения выделенных эталонных изображений, соответствующих информации о форме. and object representation by combining the selected reference images corresponding to the shape information.
55. Способ по п.54, отличающийся тем, что этап декодирования включает определение контекста текущего узла октодерева на основе количества циклов декодирования для узла октодерева; 55. The method of claim 54, wherein the decoding step includes determining a context of the current octree node on the basis of the number of decoding cycles for the octree node; первый этап декодирования первого предварительно определенного числа узлов посредством 0-контекстной модели и арифметического декодирования при поддержании одиночной таблицы вероятностей с предварительно определенным числом записей; first step of decoding a first predetermined number of nodes by a 0-context model and arithmetic decoding while maintaining a single probability table with a predetermined number of entries; второй этап декодирования второго предварительно определенного числа узлов, следующих за первым предварительно определенным числом узлов, посредством 1-контекстной модели с использованием порождающего узла в качестве контекста и третий этап декодирования остальных узлов, следующих за вторым предварительно определенным числом узлов, посредством 2-контекстной модели и арифметического декодирования с использованием порождающих и дочерних узлов в качестве контекстов, причем первый этап декодирования начинается с равномерного распред a second step of decoding a second predetermined number of nodes following after the first predetermined number of nodes by a 1-context model using a parent node as a context and a third step of decoding the remaining nodes following after the second predetermined number of nodes by a 2-context model, and arithmetic decoding using generators and children nodes as contexts, the first stage decoding begins with uniformly distributed ления, на втором этапе декодирования копируется таблица вероятностей 0-контекстной модели во все таблицы вероятностей 1-контекстной модели в момент переключения с 0-контекстной на 1-контекстную модель и на третьем этапе декодирования копируются таблицы вероятностей 1-контекстной модели для конфигурации порождающего узла в таблицы вероятностей 2-контекстной модели, соответствующие соответствующим положениям в той же самой конфигурации порождающего узла, в момент переключения с 1-контекстной на 2-контекстную модель. Lenia, the second stage decoding copied probability table 0-context model in all probability table 1-context model, at the time of switching from the 0-context to the 1-context model, and the third stage decoding copied probability table 1-context model configuration parent node in probability table 2-context model corresponding to respective positions in the same parent node configuration, at the time of switching from the 1-context to the 2-context model.
56. Способ по п.55, отличающийся тем, что 1-контекстая модель представляет собой класс порождающего узла. 56. The method of claim 55, wherein the 1-context model is a parent node class.
57. Способ по п.56, отличающийся тем, что общее число классов равно 22 и если узлы связаны ортогональными преобразованиями G, генерируемыми базовыми преобразованиями, то два узла принадлежат к одному и тому же классу, где базовые преобразования m 1 , m 2 и m 3 определяются следующим образом: 57. A method according to claim 56, characterized in that the total number of classes is 22, and if the nodes are connected by orthogonal transforms G, generated by the base transforms, then two nodes belong to the same class, where the basic transformation m 1, m 2 and m 3 are defined as follows:
Figure 00000105
где m 1 и m 2 - отображения на плоскости x=y и y=z соответственно; wherein m 1 and m 2 - displaying on the plane x = y and y = z, respectively;
m 3 - отображение на плоскость x=0. 3 m - mapping onto the plane x = 0.
58. Способ по п.55, отличающийся тем, что 2-контекст включает в себя класс порождающего узла и положение текущего узла в порождающем узле. 58. The method of claim 55, wherein the 2-context includes a class and the parent node of the current node position in the parent node.
59. Способ по п.55, отличающийся тем, что второй этап декодирования включает извлечение вероятности генерирования текущего узла в контексте из таблицы вероятностей, соответствующей контексту; 59. A method according to claim 55, characterized in that said second decoding step comprises extracting the probability of generating the current node in a context from the probability table corresponding to the context; сжатие октодеревьев посредством последовательности вероятностей, содержащей извлеченную вероятность, и обновление таблицы вероятностей с предварительно определенным приращением для генерирования частот текущего узла в текущем контексте. by octree compression probability sequence containing the retrieved probability, and the probability table updating a predetermined increment to the generation frequencies of the current node in the current context.
60. Способ по п.55, отличающийся тем, что третий этап декодирования включает извлечение порождающего узла текущего узла; 60. The method of claim 55, wherein the third decoding step comprises recovering parent node of the current node; определение класса, к которому принадлежит извлеченный порождающий узел, и определение преобразования, посредством которого порождающий узел преобразуется в стандартный узел определенного класса; class definition to which it belongs extracted generating unit, and determining the transformation by which the generating unit is converted into the standard node particular class; применение определенного преобразования к порождающему узлу и извлечение положения текущего узла в преобразованном порождающем узле; application specific transformation to a node generating and ejecting position of the current node in the transformed generating unit; применение преобразования к текущему узлу и получение конфигурации как комбинации определенного класса и индекса положения текущего узла; applying the transformation to the current node and receiving configuration as the combination of a certain class and the position index of the current node; определение необходимой вероятности из записей таблицы вероятностей, соответствующей комбинации определенного класса и положения; determining a necessary probability from entries probability table corresponding to the combination of a certain class and position; сжатие октодеревьев посредством последовательности вероятностей, содержащей извлеченную вероятность, и обновление таблицы вероятностей с предварительно определенным приращением для генерации частот текущего узла в текущем контексте. by octree compression probability sequence containing the retrieved probability, and the probability table updating a predetermined increment to the generation frequencies of the current node in the current context.
61. Способ по п.54, отличающийся тем, что информация о форме включает в себя поле разрешения, в котором записано максимальное число листьев октодерева вдоль стороны куба, содержащего объект, поле октодерева, в котором записана последовательность структур внутренних узлов, и поле индекса, в котором записаны индексы эталонных изображений, соответствующих каждому внутреннему узлу. 61. The method of claim 54, characterized in that the information about the shape includes a resolution field in which recorded the maximum number of octree leaves along a side of the cube containing the object octree field in which is written a sequence of internal node structures, and an index field, wherein the recorded indices of the reference images corresponding to each internal node.
62. Способ по п.61, отличающийся тем, что каждый внутренний узел представлен байтом, а информация узла, записанная в битовой последовательности, образующей байт, представляет наличие или отсутствие дочерних узлов, принадлежащих внутреннему узлу. 62. The method according to claim 61, characterized in that each internal node is represented by a byte and node information recorded in a bit sequence constituting the byte represents presence or absence of children nodes belonging to the internal node.
63. Способ по п.54, отличающийся тем, что эталонное изображение представляет собой узел изображения с глубиной, состоящий из информации о точке наблюдения и цветного изображения, соответствующего информации о точке наблюдения. 63. The method of claim 54, wherein the reference image is an image with depth assembly consisting of the information about the observation point and the color image corresponding to the information about the observation point.
64. Способ по п.63, отличающийся тем, что информация о точке наблюдения включает в себя множество полей, определяющих плоскость изображения для объекта, при этом поля, составляющие информацию о точке наблюдения, включают в себя поле положения, в котором записано положение, из которого наблюдается плоскость изображения, поле ориентации, в котором записана ориентация, из которой наблюдается плоскость изображения, поле наблюдения, в котором записана область наблюдения из точки наблюдения к плоскости изображения, поле метода проецирования, в ко 64. A method according to claim 63, characterized in that the information about the observation point includes a plurality of fields defining an image plane for an object, the fields constituting the viewpoint information include a position field in which the recorded position of whose image plane is observed, the orientation field, wherein the orientation is recorded, from which an image plane is observed, the observation field, wherein the observation area is recorded from the viewpoint to the image plane, the projection method field, to a тором записан метод проецирования из точки наблюдения на плоскость изображения, выбранный из метода ортогонального проецирования, при котором область наблюдения представлена шириной и высотой, и метода проецирования в перспективе, при котором область наблюдения представлена горизонтальным углом и вертикальным углом. recorded torus method projection of the observation point on the image plane selected from an orthogonal projection method in which the observation region is represented by width and height and a perspective projection method in which the observation region is represented by a horizontal angle and a vertical angle.
65. Компьютерно-читаемый носитель записи для записи программы для осуществления способа представления трехмерных объектов на основе изображений с глубиной, соответствующего п.29, на компьютере. 65. A computer-readable recording medium for recording a program for implementing the method of three-dimensional object representation based on depth images corresponding to claim 29 on a computer.
66. Компьютерно-читаемый носитель записи для записи программы для осуществления способа представления трехмерных объектов на основе изображений с глубиной, соответствующего п.54, на компьютере. 66. A computer-readable recording medium for recording a program for implementing the method of three-dimensional object representation based on depth images corresponding to claim 54 on a computer.
RU2002131792/09A 2001-11-27 2002-11-26 Device and method for presenting three-dimensional object on basis of images having depth RU2237283C2 (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
US33316701P true 2001-11-27 2001-11-27
US60/333,167 2001-11-27
US36254502P true 2002-03-08 2002-03-08
US60/362,545 2002-03-08
US60/376,563 2002-05-01
US39530402P true 2002-07-12 2002-07-12
US60/395,304 2002-07-12
KR2002-67970 2002-11-04

Publications (2)

Publication Number Publication Date
RU2002131792A RU2002131792A (en) 2004-07-10
RU2237283C2 true RU2237283C2 (en) 2004-09-27

Family

ID=33437057

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2002131792/09A RU2237283C2 (en) 2001-11-27 2002-11-26 Device and method for presenting three-dimensional object on basis of images having depth

Country Status (1)

Country Link
RU (1) RU2237283C2 (en)

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007013835A1 (en) * 2006-03-24 2007-02-01 Zuev, Boris Alexandrovich Information encoding and decoding method
RU2443074C2 (en) * 2006-07-06 2012-02-20 Томсон Лайсенсинг Method and apparatus for decoupling frame number and/or picture order count (poc) for multi-view video encoding and decoding
RU2444856C2 (en) * 2007-06-25 2012-03-10 Ниппон Телеграф Энд Телефон Корпорейшн Method of encoding video signal and method of decoding, apparatus for realising said methods and data media storing programmes for realising said methods
RU2446618C2 (en) * 2006-12-28 2012-03-27 Ниппон Телеграф Энд Телефон Корпорейшн Method of coding and method of decoding video, devices for their implementation and storage media for programs
RU2457632C2 (en) * 2006-01-09 2012-07-27 Томсон Лайсенсинг Method and apparatus for providing reduced resolution update mode for multi-view video coding
RU2458479C2 (en) * 2006-10-30 2012-08-10 Ниппон Телеграф Энд Телефон Корпорейшн Encoding method and video decoding method, apparatus therefor, programs therefor, as well as data media storing programs
US8451890B2 (en) 2009-01-19 2013-05-28 Panasonic Corporation Coding method, decoding method, coding apparatus, decoding apparatus, program, and integrated circuit
RU2487488C2 (en) * 2007-06-26 2013-07-10 Конинклейке Филипс Электроникс Н.В. Method and system for encoding three-dimensional video signal, encapsulated three-dimensional video signal, method and system for three-dimensional video decoder
RU2488973C2 (en) * 2006-03-29 2013-07-27 Томсон Лайсенсинг Methods and device for use in multi-view video coding system
US8548228B2 (en) 2009-02-23 2013-10-01 Nippon Telegraph And Telephone Corporation Multi-view image coding method, multi-view image decoding method, multi-view image coding device, multi-view image decoding device, multi-view image coding program, and multi-view image decoding program
RU2497196C2 (en) * 2007-10-11 2013-10-27 Конинклейке Филипс Электроникс Н.В. Method and device for depth map processing
RU2502217C2 (en) * 2009-10-05 2013-12-20 Сони Корпорейшн Image processing device, image processing method and programme
RU2504010C2 (en) * 2008-06-24 2014-01-10 Франс Телеком Method and device for filling occluded areas of depth or disparity map estimated from two images
RU2504916C2 (en) * 2008-12-01 2014-01-20 Шарп Кабусики Кайся Content reproducing apparatus and recording medium
RU2505870C2 (en) * 2008-01-17 2014-01-27 Панасоник Корпорэйшн Recording medium having recorded three-dimensional video, recording medium for recording three-dimensional video and reproducing device, and method of reproducing three-dimensional video
RU2513894C2 (en) * 2008-10-21 2014-04-20 Конинклейке Филипс Электроникс Н.В. Method and device for providing multilayer depth model of scene and signal containing multilayer depth model of scene
RU2516499C2 (en) * 2007-12-18 2014-05-20 Конинклейке Филипс Электроникс Н.В. Transmitting stereoscopic image data through display device interface
RU2518411C2 (en) * 2009-09-02 2014-06-10 Самсунг Электроникс Ко., Лтд. Method and apparatus for reproducing video with modified rate
RU2518435C2 (en) * 2008-07-20 2014-06-10 Долби Лэборетериз Лайсенсинг Корпорейшн Encoder optimisation in stereoscopic video delivery systems
RU2518408C2 (en) * 2007-09-24 2014-06-10 Конинклейке Филипс Электроникс Н.В. Method and system for encoding video data signal, encoded video data signal, method and system for decoding video data signal
RU2523126C2 (en) * 2010-04-05 2014-07-20 Самсунг Электроникс Ко., Лтд. Method and apparatus for encoding video by performing in-loop filtering based on tree-structured data unit, and method and apparatus for decoding video by performing same
RU2527249C2 (en) * 2009-06-24 2014-08-27 Долби Лабораторис Лайсэнзин Корпорейшн Insertion of three-dimensional objects in stereoscopic image at relative depth
RU2536388C2 (en) * 2009-01-20 2014-12-20 Конинклейке Филипс Электроникс Н.В. 3d image transmission
RU2542720C1 (en) * 2013-07-30 2015-02-27 Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом" Method for navigation of moving objects
RU2544784C2 (en) * 2013-05-23 2015-03-20 Общество с ограниченной ответственностью "ФОК" Method of imaging three-dimensional objects or deep scenes and apparatus therefor
RU2551789C2 (en) * 2009-10-02 2015-05-27 Конинклейке Филипс Электроникс Н.В. Selecting viewpoints for generating additional views in 3d video
RU2572054C1 (en) * 2014-10-27 2015-12-27 Федеральное государственное бюджетное учреждение "Всероссийский научно-исследовательский институт по проблемам гражданской обороны и чрезвычайных ситуаций МЧС России" (федеральный центр науки и высоких технологий) Method of laser 3d scanning of operative definition of deformation degree of structure having complex structural shape
RU2572056C1 (en) * 2014-10-27 2015-12-27 Федеральное государственное бюджетное учреждение "Всероссийский научно-исследовательский институт по проблемам гражданской обороны и чрезвычайных ситуаций МЧС России" (федеральный центр науки и высоких технологий) Method of laser 3d scanning of operative definition of deformation degree of structure having complex structural shape
RU2572055C1 (en) * 2014-10-27 2015-12-27 Федеральное государственное бюджетное учреждение "Всероссийский научно-исследовательский институт по проблемам гражданской обороны и чрезвычайных ситуаций МЧС России" (федеральный центр науки и высоких технологий) Method of laser 3d scanning of operative definition of deformation degree of structure having complex structural shape
RU2572061C1 (en) * 2014-10-27 2015-12-27 Федеральное государственное бюджетное учреждение "Всероссийский научно-исследовательский институт по проблемам гражданской обороны и чрезвычайных ситуаций МЧС России" (федеральный центр науки и высоких технологий) Method of laser 3d scanning of operative detection of panel structure deformation degree
RU2572060C1 (en) * 2014-10-27 2015-12-27 Федеральное государственное бюджетное учреждение "Всероссийский научно-исследовательский институт по проблемам гражданской обороны и чрезвычайных ситуаций МЧС России" (федеральный центр науки и высоких технологий) Method of laser 3d scanning of operative detection of panel structure deformation degree
RU2575803C1 (en) * 2014-10-27 2016-02-20 Федеральное государственное бюджетное учреждение "Всероссийский научно-исследовательский институт по проблемам гражданской обороны и чрезвычайных ситуаций МЧС России" (федеральный центр науки и высоких технологий) Method of laser 3d scanning for prompt determination of level of deformity of panel structure
US9426441B2 (en) 2010-03-08 2016-08-23 Dolby Laboratories Licensing Corporation Methods for carrying and transmitting 3D z-norm attributes in digital TV closed captioning
RU2597494C2 (en) * 2011-07-01 2016-09-10 Самсунг Электроникс Ко., Лтд. Method and device for entropy coding using hierarchical data unit and method and apparatus for decoding
US9519994B2 (en) 2011-04-15 2016-12-13 Dolby Laboratories Licensing Corporation Systems and methods for rendering 3D image independent of display size and viewing distance
RU2628053C2 (en) * 2011-12-27 2017-08-14 Конинклейке Филипс Н.В. Deletion of artefacts from the generator of the electromagnetic field from the three-dimensional image

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9305206B2 (en) * 2010-09-14 2016-04-05 Dynamic Digital Depth Research Pty Ltd Method for enhancing depth maps

Cited By (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9241168B2 (en) 2006-01-09 2016-01-19 Thomson Licensing Methods and apparatus for illumination and color compensation for multi-view video coding
US8902977B2 (en) 2006-01-09 2014-12-02 Thomson Licensing Method and apparatus for providing reduced resolution update mode for multi-view video coding
US9838694B2 (en) 2006-01-09 2017-12-05 Dolby Laboratories Licensing Corporation Methods and apparatus for illumination and color compensation for multi-view video coding
RU2457632C2 (en) * 2006-01-09 2012-07-27 Томсон Лайсенсинг Method and apparatus for providing reduced resolution update mode for multi-view video coding
US9237353B2 (en) 2006-01-09 2016-01-12 Thomson Licensing Methods and apparatus for illumination and color compensation for multi-view video coding
WO2007013835A1 (en) * 2006-03-24 2007-02-01 Zuev, Boris Alexandrovich Information encoding and decoding method
US9100659B2 (en) 2006-03-29 2015-08-04 Thomson Licensing Multi-view video coding method and device using a base view
RU2529881C2 (en) * 2006-03-29 2014-10-10 Томсон Лайсенсинг Methods and device for use in multi-view video coding system
RU2488973C2 (en) * 2006-03-29 2013-07-27 Томсон Лайсенсинг Methods and device for use in multi-view video coding system
RU2443074C2 (en) * 2006-07-06 2012-02-20 Томсон Лайсенсинг Method and apparatus for decoupling frame number and/or picture order count (poc) for multi-view video encoding and decoding
RU2619910C2 (en) * 2006-07-06 2017-05-19 Томсон Лайсенсинг Method and device for separation of frame number and/or counter of image sequences (poc) for multi-view encoding and video decoding
US9641842B2 (en) 2006-07-06 2017-05-02 Thomson Licensing Method and apparatus for decoupling frame number and/or picture order count (POC) for multi-view video encoding and decoding
RU2480942C2 (en) * 2006-07-06 2013-04-27 Томсон Лайсенсинг Method and apparatus for decoupling frame number and/or picture order count (poc) for multiview video encoding and decoding
US8654854B2 (en) 2006-10-30 2014-02-18 Nippon Telegraph And Telephone Corporation Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media which store the programs
RU2458479C2 (en) * 2006-10-30 2012-08-10 Ниппон Телеграф Энд Телефон Корпорейшн Encoding method and video decoding method, apparatus therefor, programs therefor, as well as data media storing programs
US8532190B2 (en) 2006-10-30 2013-09-10 Nippon Telegraph And Telephone Corporation Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media which store the programs
US9066096B2 (en) 2006-12-28 2015-06-23 Nippon Telegraph And Telephone Corporation Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media which store the programs
RU2446618C2 (en) * 2006-12-28 2012-03-27 Ниппон Телеграф Энд Телефон Корпорейшн Method of coding and method of decoding video, devices for their implementation and storage media for programs
RU2444856C2 (en) * 2007-06-25 2012-03-10 Ниппон Телеграф Энд Телефон Корпорейшн Method of encoding video signal and method of decoding, apparatus for realising said methods and data media storing programmes for realising said methods
US8204118B2 (en) 2007-06-25 2012-06-19 Nippon Telegraph And Telephone Corporation Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media which store the programs
RU2487488C2 (en) * 2007-06-26 2013-07-10 Конинклейке Филипс Электроникс Н.В. Method and system for encoding three-dimensional video signal, encapsulated three-dimensional video signal, method and system for three-dimensional video decoder
RU2518408C2 (en) * 2007-09-24 2014-06-10 Конинклейке Филипс Электроникс Н.В. Method and system for encoding video data signal, encoded video data signal, method and system for decoding video data signal
RU2497196C2 (en) * 2007-10-11 2013-10-27 Конинклейке Филипс Электроникс Н.В. Method and device for depth map processing
RU2516499C2 (en) * 2007-12-18 2014-05-20 Конинклейке Филипс Электроникс Н.В. Transmitting stereoscopic image data through display device interface
RU2505870C2 (en) * 2008-01-17 2014-01-27 Панасоник Корпорэйшн Recording medium having recorded three-dimensional video, recording medium for recording three-dimensional video and reproducing device, and method of reproducing three-dimensional video
RU2504010C2 (en) * 2008-06-24 2014-01-10 Франс Телеком Method and device for filling occluded areas of depth or disparity map estimated from two images
RU2518435C2 (en) * 2008-07-20 2014-06-10 Долби Лэборетериз Лайсенсинг Корпорейшн Encoder optimisation in stereoscopic video delivery systems
US8885721B2 (en) 2008-07-20 2014-11-11 Dolby Laboratories Licensing Corporation Encoder optimization of stereoscopic video delivery systems
RU2513894C2 (en) * 2008-10-21 2014-04-20 Конинклейке Филипс Электроникс Н.В. Method and device for providing multilayer depth model of scene and signal containing multilayer depth model of scene
RU2504916C2 (en) * 2008-12-01 2014-01-20 Шарп Кабусики Кайся Content reproducing apparatus and recording medium
US8553761B2 (en) 2009-01-19 2013-10-08 Panasonic Corporation Coding method, decoding method, coding apparatus, decoding apparatus, program, and integrated circuit
US8548040B2 (en) 2009-01-19 2013-10-01 Panasonic Corporation Coding method, decoding method, coding apparatus, decoding apparatus, program, and integrated circuit
US8451890B2 (en) 2009-01-19 2013-05-28 Panasonic Corporation Coding method, decoding method, coding apparatus, decoding apparatus, program, and integrated circuit
RU2536388C2 (en) * 2009-01-20 2014-12-20 Конинклейке Филипс Электроникс Н.В. 3d image transmission
US8548228B2 (en) 2009-02-23 2013-10-01 Nippon Telegraph And Telephone Corporation Multi-view image coding method, multi-view image decoding method, multi-view image coding device, multi-view image decoding device, multi-view image coding program, and multi-view image decoding program
RU2498522C2 (en) * 2009-02-23 2013-11-10 Ниппон Телеграф Энд Телефон Корпорейшн Multiview image encoding method, multiview image decoding method, multiview image encoder, multiview image decoder, computer-readable medium having multiview image encoding program and computer-readable medium having multiview image decoding program
RU2527249C2 (en) * 2009-06-24 2014-08-27 Долби Лабораторис Лайсэнзин Корпорейшн Insertion of three-dimensional objects in stereoscopic image at relative depth
US9215436B2 (en) 2009-06-24 2015-12-15 Dolby Laboratories Licensing Corporation Insertion of 3D objects in a stereoscopic image at relative depth
RU2518411C2 (en) * 2009-09-02 2014-06-10 Самсунг Электроникс Ко., Лтд. Method and apparatus for reproducing video with modified rate
US8824857B2 (en) 2009-09-02 2014-09-02 Samsung Electronics Co., Ltd. Method and apparatus for the varied speed reproduction of video images
RU2551789C2 (en) * 2009-10-02 2015-05-27 Конинклейке Филипс Электроникс Н.В. Selecting viewpoints for generating additional views in 3d video
RU2502217C2 (en) * 2009-10-05 2013-12-20 Сони Корпорейшн Image processing device, image processing method and programme
US9426441B2 (en) 2010-03-08 2016-08-23 Dolby Laboratories Licensing Corporation Methods for carrying and transmitting 3D z-norm attributes in digital TV closed captioning
RU2523126C2 (en) * 2010-04-05 2014-07-20 Самсунг Электроникс Ко., Лтд. Method and apparatus for encoding video by performing in-loop filtering based on tree-structured data unit, and method and apparatus for decoding video by performing same
US9519994B2 (en) 2011-04-15 2016-12-13 Dolby Laboratories Licensing Corporation Systems and methods for rendering 3D image independent of display size and viewing distance
US9596474B2 (en) 2011-07-01 2017-03-14 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding using hierarchical data unit, and method and apparatus for decoding
US9591310B2 (en) 2011-07-01 2017-03-07 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding using hierarchical data unit, and method and apparatus for decoding
US9596473B2 (en) 2011-07-01 2017-03-14 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding using hierarchical data unit, and method and apparatus for decoding
US9571842B2 (en) 2011-07-01 2017-02-14 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding using hierarchical data unit, and method and apparatus for decoding
RU2597494C2 (en) * 2011-07-01 2016-09-10 Самсунг Электроникс Ко., Лтд. Method and device for entropy coding using hierarchical data unit and method and apparatus for decoding
US9596472B2 (en) 2011-07-01 2017-03-14 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding using hierarchical data unit, and method and apparatus for decoding
RU2628053C2 (en) * 2011-12-27 2017-08-14 Конинклейке Филипс Н.В. Deletion of artefacts from the generator of the electromagnetic field from the three-dimensional image
RU2544784C2 (en) * 2013-05-23 2015-03-20 Общество с ограниченной ответственностью "ФОК" Method of imaging three-dimensional objects or deep scenes and apparatus therefor
RU2542720C1 (en) * 2013-07-30 2015-02-27 Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом" Method for navigation of moving objects
RU2575803C1 (en) * 2014-10-27 2016-02-20 Федеральное государственное бюджетное учреждение "Всероссийский научно-исследовательский институт по проблемам гражданской обороны и чрезвычайных ситуаций МЧС России" (федеральный центр науки и высоких технологий) Method of laser 3d scanning for prompt determination of level of deformity of panel structure
RU2572054C1 (en) * 2014-10-27 2015-12-27 Федеральное государственное бюджетное учреждение "Всероссийский научно-исследовательский институт по проблемам гражданской обороны и чрезвычайных ситуаций МЧС России" (федеральный центр науки и высоких технологий) Method of laser 3d scanning of operative definition of deformation degree of structure having complex structural shape
RU2572060C1 (en) * 2014-10-27 2015-12-27 Федеральное государственное бюджетное учреждение "Всероссийский научно-исследовательский институт по проблемам гражданской обороны и чрезвычайных ситуаций МЧС России" (федеральный центр науки и высоких технологий) Method of laser 3d scanning of operative detection of panel structure deformation degree
RU2572061C1 (en) * 2014-10-27 2015-12-27 Федеральное государственное бюджетное учреждение "Всероссийский научно-исследовательский институт по проблемам гражданской обороны и чрезвычайных ситуаций МЧС России" (федеральный центр науки и высоких технологий) Method of laser 3d scanning of operative detection of panel structure deformation degree
RU2572055C1 (en) * 2014-10-27 2015-12-27 Федеральное государственное бюджетное учреждение "Всероссийский научно-исследовательский институт по проблемам гражданской обороны и чрезвычайных ситуаций МЧС России" (федеральный центр науки и высоких технологий) Method of laser 3d scanning of operative definition of deformation degree of structure having complex structural shape
RU2572056C1 (en) * 2014-10-27 2015-12-27 Федеральное государственное бюджетное учреждение "Всероссийский научно-исследовательский институт по проблемам гражданской обороны и чрезвычайных ситуаций МЧС России" (федеральный центр науки и высоких технологий) Method of laser 3d scanning of operative definition of deformation degree of structure having complex structural shape

Similar Documents

Publication Publication Date Title
Gandoin et al. Progressive lossless compression of arbitrary simplicial complexes
Rusinkiewicz et al. QSplat: A multiresolution point rendering system for large meshes
Lengyel Compression of time-dependent geometry
Wood et al. Surface light fields for 3D photography
US4941193A (en) Methods and apparatus for image compression by iterated function system
Taubin et al. Geometric compression through topological surgery
Arps et al. Comparison of international standards for lossless still image compression
Taubin et al. Geometry coding and VRML
Alliez et al. Progressive compression for lossless transmission of triangle meshes
US6693645B2 (en) Optimized BIFS encoder
Khodakovsky et al. Progressive geometry compression
Howard et al. The emerging JBIG2 standard
US20040114813A1 (en) Compression for segmented images and other types of sideband information
US20040114814A1 (en) Layout objects as image layers
Beers et al. Rendering from compressed textures.
US6097394A (en) Method and system for light field rendering
US6502097B1 (en) Data structure for efficient access to variable-size data objects
US6606095B1 (en) Compression of animated geometry using basis decomposition
Santa-Cruz et al. A study of JPEG 2000 still image coding versus other standards
US6075901A (en) Method and system for predictive encoding of arrays of data
Bajaj et al. Progressive compressive and transmission of arbitrary triangular meshes
US6184897B1 (en) Compressed representation of changing meshes and method to decompress
Lin et al. Compound image compression for real-time computer screen image transmission
US5960118A (en) Method for 2D and 3D images capturing, representation, processing and compression
US20070194975A1 (en) Method of progressively coding/decoding 3-D mesh information and apparatus thereof

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20161127