RU2807582C2 - Method, device and stream for 3d video format - Google Patents
Method, device and stream for 3d video format Download PDFInfo
- Publication number
- RU2807582C2 RU2807582C2 RU2020135597A RU2020135597A RU2807582C2 RU 2807582 C2 RU2807582 C2 RU 2807582C2 RU 2020135597 A RU2020135597 A RU 2020135597A RU 2020135597 A RU2020135597 A RU 2020135597A RU 2807582 C2 RU2807582 C2 RU 2807582C2
- Authority
- RU
- Russia
- Prior art keywords
- segments
- data
- scene
- segment
- track
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 89
- 239000012634 fragment Substances 0.000 claims description 186
- 238000009877 rendering Methods 0.000 claims description 35
- 230000000007 visual effect Effects 0.000 claims description 15
- 230000000694 effects Effects 0.000 abstract description 3
- 239000000126 substance Substances 0.000 abstract 1
- 230000008569 process Effects 0.000 description 32
- 238000013507 mapping Methods 0.000 description 25
- 238000004891 communication Methods 0.000 description 13
- 230000008447 perception Effects 0.000 description 8
- 238000012856 packing Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 238000004806 packaging method and process Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 238000012800 visualization Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 229920001690 polydopamine Polymers 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000004886 head movement Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- PEIBAWRLFPGPAT-UHFFFAOYSA-N 1-(diazomethyl)pyrene Chemical compound C1=C2C(C=[N+]=[N-])=CC=C(C=C3)C2=C2C3=CC=CC2=C1 PEIBAWRLFPGPAT-UHFFFAOYSA-N 0.000 description 1
- 241000854350 Enicospilus group Species 0.000 description 1
- 208000012886 Vertigo Diseases 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 208000002173 dizziness Diseases 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 231100000889 vertigo Toxicity 0.000 description 1
Images
Abstract
Description
1. Область техники1. Field of technology
Настоящее изобретение относится к области контента объемного видео. Настоящее изобретение также следует понимать в контексте кодирования и/или форматирования данных, представляющих объемный контент, например, для визуализации на устройствах конечного пользователя, таких как мобильные устройства или Дисплеи, Устанавливаемые на Голове.The present invention relates to the field of volumetric video content. The present invention should also be understood in the context of encoding and/or formatting data representing rich content, for example, for display on end user devices such as mobile devices or Head Mounted Displays.
2. Уровень техники2. State of the art
Данный раздел предназначен для ознакомления читателя с различными аспектами области техники, которые могут быть связаны с различными аспектами настоящего изобретения, которые описаны и/или заявлены ниже. Предполагается, что данное обсуждение будет полезно при предоставлении читателю информации об уровне техники, чтобы способствовать более хорошему пониманию различных аспектов настоящего изобретения. Соответственно, эти утверждения следует читать в этом свете, а не в качестве допущений предшествующего уровня техники.This section is intended to familiarize the reader with various aspects of the art that may be associated with various aspects of the present invention that are described and/or claimed below. It is intended that this discussion will be useful in providing the reader with background information to facilitate a better understanding of the various aspects of the present invention. Accordingly, these statements should be read in that light and not as statements of prior art.
В последнее время наблюдается рост доступного контента с большим полем обзора (вплоть до 360°). Такой контент потенциально не полностью виден пользователю, просматривающему контент на устройствах демонстрации с погружением, таких как Дисплеи, Устанавливаемые на Голове, интеллектуальные очки, экраны ПК, планшеты, интеллектуальные телефоны и аналогичное. Это означает, что в заданный момент пользователь может просматривать только часть контента. Однако обычно пользователь может перемещаться по контенту с помощью различных средств, таких как перемещение головы, перемещение мыши, сенсорный экран, голос и аналогичное. Обычно желательно кодировать и декодировать этот контент.Recently, there has been an increase in the availability of content with a large field of view (up to 360°). Such content is potentially not fully visible to the user viewing the content on immersive display devices such as Head-Mounted Displays, smart glasses, PC screens, tablets, smart phones and the like. This means that a user can only view part of the content at a given time. Typically, however, the user can navigate the content through various means, such as moving the head, moving the mouse, touch screen, voice, and the like. It is usually desirable to encode and decode this content.
Видео с погружением, также называемое 360° плоским видео, позволяет пользователю просматривать все вокруг себя посредством поворотов его головы вокруг неподвижной точки зрения. Повороты обеспечивают только восприятие с 3 Степенями Свободы (3DoF). Даже если 3DoF видео является достаточным для первого всенаправленного восприятия видео, например, с использованием устройства Дисплея, Устанавливаемого на Голове (HMD), то 3DoF видео может быстро стать разочарованием для зрителя, который бы ожидал большей свободы, например, путем восприятия параллакса. В дополнение, 3DoF также может вызывать головокружение, потому что пользователь никогда не осуществляет только поворот своей головы, а перемещает свою голову также в трех направлениях, причем эти перемещения не воспроизводятся в восприятии 3DoF видео.Immersive video, also called 360° flat video, allows the user to view everything around them by rotating their head around a stationary point of view. Rotations provide only 3 Degrees of Freedom (3DoF) perception. Even if 3DoF video is sufficient for the first omnidirectional video perception, for example using a Head Mounted Display (HMD) device, 3DoF video can quickly become a disappointment for a viewer who would have expected more freedom, for example through parallax perception. In addition, 3DoF can also cause dizziness because the user never only rotates their head, but also moves their head in three directions, and these movements are not reproduced in the perception of 3DoF video.
Контент с большим полем обзора может, среди прочего, быть сценой трехмерного видеоряда компьютерной графики (3D CGI сцена), облаком точек или видео с погружением. Для создания таких видеороликов с погружением может быть использовано много понятий: Виртуальная Реальность (VR), 360, панорамное, 4π стерадиан, с погружением, всенаправленное или с большим полем зрения, например.The wide field of view content can be, among other things, a 3D computer graphics video scene (3D CGI scene), a point cloud, or an immersive video. Many concepts can be used to create such immersive videos: Virtual Reality (VR), 360, panoramic, 4π steradian, immersive, omnidirectional or wide field of view, for example.
Объемное видео (также известное как видео с 6 Степенями Свободы (6DoF)) является альтернативой 3DoF видео. При просмотре 6DoF видео, в дополнение к поворотам, пользователь также может перемещать свою голову, и даже свое тело, внутри просматриваемого контента и воспринимать параллакс и даже объемы. Такие видеоролики значительно увеличивают ощущение погружения и восприятие глубины сцены, и не допускают головокружения путем обеспечения согласующейся визуальной обратной связи во время перемещений головы. Контент создается посредством специальных датчиков, обеспечивающих одновременную запись цвета и глубины сцены интереса. Использование установки из цветных камер, объединенной с методиками фотограмметрии, является распространенным способом выполнения такой записи.Volumetric video (also known as 6 Degrees of Freedom (6DoF) video) is an alternative to 3DoF video. When watching 6DoF video, in addition to rotation, the user can also move their head, and even their body, within the content being viewed and perceive parallax and even volumes. Such videos significantly increase the sense of immersion and depth perception of a scene, and prevent vertigo by providing consistent visual feedback during head movements. The content is created through special sensors that simultaneously record the color and depth of the scene of interest. The use of a color camera setup combined with photogrammetry techniques is a common way of performing such recording.
При том, что 3DoF видеоролики содержат последовательность изображений, полученных в результате отмены отображения изображений текстуры (например, сферические изображения, кодированные в соответствии с проекционным отображением по широте/долготе или равнопрямоугольным проекционным отображением), 6DoF видеокадры содержат информацию с нескольких точек зрения. Их можно рассматривать в качестве временных рядов из облаков точек, полученных в результате трехмерного захвата. Может рассматриваться два вида объемных видеороликов в зависимости от условий просмотра. Первый (т.е. полный 6DoF) обеспечивает полную свободную навигацию по видеоконтенту, тогда как второй (также известный как 3DoF+) ограничивает пространство просмотра пользователя ограниченным объемом, обеспечивая ограниченное перемещение головы и восприятие параллакса. Этот второй контекст является ценным компромиссом между свободной навигацией и условиями пассивного просмотра сидящего члена аудитории.Whereas 3DoF videos contain a sequence of images resulting from the demapping of texture images (e.g., spherical images encoded according to a latitude/longitude projection mapping or an equirectangular projection mapping), 6DoF video frames contain information from multiple viewpoints. They can be viewed as time series of point clouds obtained from 3D capture. Two types of three-dimensional videos can be considered depending on viewing conditions. The former (i.e., full 6DoF) allows for complete free navigation of video content, while the latter (also known as 3DoF+) limits the user's viewing space to a limited volume, allowing limited head movement and parallax perception. This second context is a valuable compromise between free navigation and the passive viewing environment of a seated audience member.
3DoF видеоролики могут быть кодированы в потоке в качестве последовательности прямоугольных цветных изображений, сформированных в соответствии с выбранным проекционным отображением (например, кубическое проекционное отображение, пирамидальное проекционное отображение или равнопрямоугольное проекционное отображение). Преимущество данного кодирования заключается в использовании общепринятых стандартов обработки изображения и видео. 3DoF+ и 6DoF видеоролики требуют дополнительных данных для кодирования глубины цветных точек облаков точек. Вид визуализации (т.е. 3DoF или объемная визуализация) для объемной сцены неизвестен заранее при кодировании сцены в потоке. На сегодняшний день потоки кодируются для того или иного вида визуализации. Отсутствует поток, и ассоциированные способы и устройства, который может нести данные, представляющие собой объемную сцену, который может быть кодирован один раз и декодирован либо в качестве 3DoF видео, либо в качестве объемного видео (3DoF+ или 6DoF).3DoF videos may be encoded into the stream as a sequence of rectangular color images formed according to a selected projection mapping (eg, cubic projection mapping, pyramidal projection mapping, or equirectangular projection mapping). The advantage of this encoding is the use of generally accepted image and video processing standards. 3DoF+ and 6DoF videos require additional data to encode the depth of the color pixels of the point clouds. The rendering type (i.e., 3DoF or volumetric rendering) for a volumetric scene is not known in advance when the scene is encoded into the stream. Today, streams are coded for one type of visualization or another. There is no stream, and associated methods and devices, that can carry data representing a volumetric scene that can be encoded once and decoded as either 3DoF video or volumetric video (3DoF+ or 6DoF).
Более того, объем данных, которые должны быть транспортированы для, например, визуализации на устройствах конечного пользователя, может быть очень важен, значительно увеличивая потребности в полосе пропускания по сетям.Moreover, the amount of data that must be transported for, for example, visualization on end-user devices can be very important, significantly increasing the bandwidth requirements across networks.
3. Сущность изобретения3. Essence of the invention
Обращения в техническом описании к «одному варианту осуществления», «варианту осуществления», «примерному варианту осуществления», «конкретному варианту осуществления» указывают то, что описанный вариант осуществления может включать в себя конкретный признак, структуру или характеристику, но каждый вариант осуществления не обязательно может включать в себя конкретный признак, структуру или характеристику. Более того, такие фразы не обязательно обращаются к одному и тому же варианту осуществления. Кроме того, когда конкретный признак, структура или характеристика описываются в связи с вариантом осуществления, предполагается, что специалист в соответствующей области техники может повлиять на такой признак, структуру или характеристику в связи с другими вариантами осуществления, описано или нет это в явной форме.References in the technical description to “one embodiment,” “an embodiment,” “an exemplary embodiment,” or “a specific embodiment” indicate that the described embodiment may include a particular feature, structure, or characteristic, but that each embodiment does not may necessarily include a specific feature, structure or characteristic. Moreover, such phrases do not necessarily refer to the same embodiment. Moreover, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is contemplated that one skilled in the relevant art would be able to influence such feature, structure, or characteristic in connection with other embodiments, whether or not it is explicitly described.
Настоящее изобретение относится к способу кодирования данных, представляющих собой 3D сцену, причем способ, содержащий этапы, на которых:The present invention relates to a method for encoding data representing a 3D scene, the method comprising the steps of:
- кодируют, в, по меньшей мере, первую дорожку, первые данные, представляющие собой текстуру 3D сцены, которая видна в соответствии с первой точкой обзора, причем первые данные размещаются во множестве первых сегментов (tile) первого кадра, причем часть 3D сцены связана с каждым первым сегментом из множества первых сегментов;- encoding, into at least a first track, first data representing a texture of the 3D scene that is visible in accordance with the first viewpoint, the first data being located in a plurality of first tiles of the first frame, wherein a portion of the 3D scene is associated with each first segment of the plurality of first segments;
- кодируют, в, по меньшей мере, вторую дорожку, вторые данные, представляющие собой глубину, связанную с точками 3D сцены, причем вторые данные размещаются во множестве вторых сегментов второго кадра, при этом общее количество вторых сегментов второго кадра больше общего количества первых сегментов первого кадра, при этом для каждого первого сегмента по меньшей мере части из множества первых сегментов:- encoding, into at least a second track, second data representing depth associated with points of the 3D scene, wherein the second data is located in a plurality of second segments of the second frame, wherein the total number of second segments of the second frame is greater than the total number of first segments of the first frame, wherein for each first segment at least a portion of the plurality of first segments:
набор вторых сегментов, содержащий по меньшей мере один второй сегмент из множества вторых сегментов, распределяется каждому первому сегменту по меньшей мере части из множества первых сегментов;a set of second segments comprising at least one second segment of the plurality of second segments is allocated to each first segment of at least a portion of the plurality of first segments;
набор по меньшей мере фрагмента (patch) размещается в наборе вторых сегментов, причем каждый фрагмент соответствует двумерной параметризации группы из 3D точек, которые содержатся в части 3D сцены, связанной с каждым первым сегментом, и содержит вторые данные, представляющие собой глубину, связанную с 3D точками группы;a set of at least a patch is located within a set of second segments, each patch corresponding to a two-dimensional parameterization of a group of 3D points that are contained in a portion of the 3D scene associated with each first segment, and comprising second data representing depth associated with the 3D group points;
- кодируют, в, по меньшей мере, третью дорожку, по меньшей мере инструкцию для извлечения по меньшей мере части первых данных и вторых данных из по меньшей мере части по меньшей мере первой дорожки и по меньшей мере второй дорожки.- encoding, into at least the third track, at least an instruction for retrieving at least a portion of the first data and the second data from at least a portion of the at least the first track and at least the second track.
Настоящее изобретение относится к устройству, выполненному с возможностью кодирования данных, представляющих собой 3D сцену, причем устройство содержит память, связанную по меньшей мере с одним процессором, выполненным с возможностью:The present invention relates to a device configured to encode data representing a 3D scene, the device comprising a memory coupled to at least one processor configured to:
- кодирования, в, по меньшей мере, первую дорожку, первых данных, представляющих собой текстуру 3D сцены, которая видна в соответствии с первой точкой обзора, причем первые данные размещаются во множестве первых сегментов первого кадра, причем часть 3D сцены связана с каждым первым сегментом из множества первых сегментов;- encoding, into at least a first track, first data representing a texture of a 3D scene that is visible in accordance with the first viewpoint, the first data being located in a plurality of first segments of the first frame, a portion of the 3D scene being associated with each first segment from a plurality of first segments;
- кодирования, в, по меньшей мере, вторую дорожку, вторых данных, представляющих собой глубину, связанную с точками 3D сцены, причем вторые данные размещаются во множестве вторых сегментов второго кадра, при этом общее количество вторых сегментов второго кадра больше общего количества первых сегментов первого кадра, при этом для каждого первого сегмента по меньшей мере части из множества первых сегментов:- encoding, into at least a second track, second data representing depth associated with points in the 3D scene, the second data being located in a plurality of second segments of the second frame, wherein the total number of second segments of the second frame is greater than the total number of first segments of the first frame, wherein for each first segment at least a portion of the plurality of first segments:
набор вторых сегментов, содержащий по меньшей мере один второй сегмент из множества вторых сегментов, распределяется каждому первому сегменту по меньшей мере части из множества первых сегментов;a set of second segments comprising at least one second segment of the plurality of second segments is allocated to each first segment of at least a portion of the plurality of first segments;
набор по меньшей мере фрагмента размещается в наборе вторых сегментов, причем каждый фрагмент соответствует двумерной параметризации группы из 3D точек, которые содержатся в части 3D сцены, связанной с каждым первым сегментом, и содержит вторые данные, представляющие собой глубину, связанную с 3D точками группы;the set of at least a fragment is located in a set of second segments, each fragment corresponding to a two-dimensional parameterization of a group of 3D points that are contained in a portion of the 3D scene associated with each first segment, and contains second data representing a depth associated with the 3D points of the group;
- кодирования, в, по меньшей мере, третью дорожку, по меньшей мере инструкции для извлечения по меньшей мере части первых данных и вторых данных из по меньшей мере части по меньшей мере первой дорожки и по меньшей мере второй дорожки.- encoding, into at least a third track, at least instructions for retrieving at least a portion of the first data and second data from at least a portion of the at least the first track and at least the second track.
Настоящее изобретение относится к устройству, выполненному с возможностью кодирования данных, представляющих собой 3D сцену, причем устройство содержит:The present invention relates to a device configured to encode data representing a 3D scene, the device comprising:
- кодер, выполненный с возможностью кодирования, в, по меньшей мере, первую дорожку, первых данных, представляющих собой текстуру 3D сцены, которая видна в соответствии с первой точкой обзора, причем первые данные размещаются во множестве первых сегментов первого кадра, причем часть 3D сцены связана с каждым первым сегментом из множества первых сегментов;- an encoder configured to encode, into at least a first track, first data representing the texture of a 3D scene that is visible in accordance with the first viewpoint, the first data being located in a plurality of first segments of the first frame, wherein a portion of the 3D scene associated with each first segment of the plurality of first segments;
- кодер, выполненный с возможностью кодирования, в, по меньшей мере, вторую дорожку, вторых данных, представляющих собой глубину, связанную с точками 3D сцены, причем вторые данные размещаются во множестве вторых сегментов второго кадра, при этом общее количество вторых сегментов второго кадра больше общего количества первых сегментов первого кадра, при этом для каждого первого сегмента по меньшей мере части из множества первых сегментов:- an encoder configured to encode, into at least a second track, second data representing depth associated with points in the 3D scene, the second data being located in a plurality of second segments of the second frame, wherein the total number of second segments of the second frame is greater the total number of first segments of the first frame, wherein for each first segment at least part of the plurality of first segments:
набор вторых сегментов, содержащий по меньшей мере один второй сегмент из множества вторых сегментов, распределяется каждому первому сегменту по меньшей мере части из множества первых сегментов;a set of second segments comprising at least one second segment of the plurality of second segments is allocated to each first segment of at least a portion of the plurality of first segments;
набор по меньшей мере фрагмента размещается в наборе вторых сегментов, причем каждый фрагмент соответствует двумерной параметризации группы из 3D точек, которые содержатся в части 3D сцены, связанной с каждым первым сегментом, и содержит вторые данные, представляющие собой глубину, связанную с 3D точками группы;the set of at least a fragment is located in a set of second segments, each fragment corresponding to a two-dimensional parameterization of a group of 3D points that are contained in a portion of the 3D scene associated with each first segment, and contains second data representing a depth associated with the 3D points of the group;
- кодер, выполненный с возможностью кодирования, в, по меньшей мере, третью дорожку, по меньшей мере инструкции для извлечения по меньшей мере части первых данных и вторых данных из по меньшей мере части по меньшей мере первой дорожки и по меньшей мере второй дорожки.- an encoder configured to encode, into at least a third track, at least instructions for extracting at least a portion of the first data and second data from at least a portion of the at least the first track and at least the second track.
Настоящее изобретение относится к устройству, выполненному с возможностью кодирования данных, представляющих собой 3D сцену, причем устройство содержит:The present invention relates to a device configured to encode data representing a 3D scene, the device comprising:
- средство для кодирования, в, по меньшей мере, первую дорожку, первых данных, представляющих собой текстуру 3D сцены, которая видна в соответствии с первой точкой обзора, причем первые данные размещаются во множестве первых сегментов первого кадра, причем часть 3D сцены связана с каждым первым сегментом из множества первых сегментов;- means for encoding, into at least a first track, first data representing the texture of a 3D scene that is visible in accordance with a first viewpoint, the first data being located in a plurality of first segments of the first frame, a portion of the 3D scene being associated with each a first segment of the plurality of first segments;
- средство для кодирования, в, по меньшей мере, вторую дорожку, вторых данных, представляющих собой глубину, связанную с точками 3D сцены, причем вторые данные размещаются во множестве вторых сегментов второго кадра, при этом общее количество вторых сегментов второго кадра больше общего количества первых сегментов первого кадра, при этом для каждого первого сегмента по меньшей мере части из множества первых сегментов:means for encoding, into at least a second track, second data representing depth associated with points in the 3D scene, the second data being located in a plurality of second segments of the second frame, wherein the total number of second segments of the second frame is greater than the total number of the first segments of the first frame, wherein for each first segment at least part of the plurality of first segments:
набор вторых сегментов, содержащий по меньшей мере один второй сегмент из множества вторых сегментов, распределяется каждому первому сегменту по меньшей мере части из множества первых сегментов;a set of second segments comprising at least one second segment of the plurality of second segments is allocated to each first segment of at least a portion of the plurality of first segments;
набор по меньшей мере фрагмента размещается в наборе вторых сегментов, причем каждый фрагмент соответствует двумерной параметризации группы из 3D точек, которые содержатся в части 3D сцены, связанной с каждым первым сегментом, и содержит вторые данные, представляющие собой глубину, связанную с 3D точками группы;the set of at least a fragment is located in a set of second segments, each fragment corresponding to a two-dimensional parameterization of a group of 3D points that are contained in a portion of the 3D scene associated with each first segment, and contains second data representing a depth associated with the 3D points of the group;
- средство для кодирования, в, по меньшей мере, третью дорожку, по меньшей мере инструкции для извлечения по меньшей мере части первых данных и вторых данных из по меньшей мере части по меньшей мере первой дорожки и по меньшей мере второй дорожки.- means for encoding, into at least a third track, at least instructions for retrieving at least a portion of the first data and second data from at least a portion of the at least the first track and at least the second track.
В соответствии с конкретным отличительным свойством, каждый фрагмент дополнительно содержит третьи данные, представляющие собой текстуру, связанную с 3D точками группы, причем третьи данные кодируются в, по меньшей мере, вторую дорожку.In accordance with the particular distinctive property, each fragment further includes third data representing a texture associated with the 3D points of the group, the third data being encoded into at least a second track.
В соответствии с особым отличительным свойством, набор третьих сегментов третьего кадра, содержащий по меньшей мере один третий сегмент, распределяется каждому первому сегменту, и набор по меньшей мере фрагмента, содержащий третьи данные, представляющие собой текстуру, связанную с 3D точками группы, размещается в наборе третьих сегментов, причем по меньшей мере фрагмент соответствует двумерной параметризации группы 3D точек, причем третьи данные кодируются в, по меньшей мере, третью дорожку.In accordance with a particular feature, a set of third frame third segments comprising at least one third segment is allocated to each first segment, and a set of at least a fragment containing third data representing a texture associated with the 3D points of the group is allocated to the set third segments, wherein the at least fragment corresponds to a two-dimensional parameterization of a group of 3D points, wherein the third data is encoded into at least a third track.
В соответствии с другим особым отличительным свойством, когда размер фрагмента набора больше размера второго сегмента, в который должен быть размещен фрагмент, тогда фрагмент разбивается на множество суб-фрагментов, причем размер каждого меньше размера второго сегмента.According to another particular feature, when the size of a set fragment is larger than the size of the second segment into which the fragment is to be placed, then the fragment is split into a plurality of sub-fragments, each of a size smaller than the size of the second segment.
В соответствии с дополнительным особым отличительным свойством, фрагменты набора размещаются в приоритетном порядке в зависимости от визуальной важности фрагментов, причем визуальная важность зависит от вторых данных, связанных с фрагментами.In accordance with a further special feature, the tiles of the set are prioritized based on the visual importance of the tiles, wherein the visual importance depends on second data associated with the tiles.
В соответствии с дополнительным особым отличительным свойством, вторые сегменты имеют один и тот же размер, который является фиксированным для множества следующих друг за другом по времени вторых кадров.In accordance with a further special feature, the second segments have the same size, which is fixed for a plurality of successive second frames.
Настоящее изобретение относится к способу декодирования данных, представляющих собой 3D сцену, причем способ, содержащий этапы, на которых:The present invention relates to a method for decoding data representing a 3D scene, the method comprising the steps of:
- декодируют, по меньшей мере из третьей дорожки, по меньшей мере инструкцию для извлечения первых данных и вторых данных из по меньшей мере первой дорожки и по меньшей мере второй дорожки;- decoding, from at least the third track, at least an instruction for extracting first data and second data from at least the first track and at least the second track;
- декодируют первые данные из по меньшей мере первой дорожки, причем первые данные представляют собой текстуру 3D сцены, которая видна в соответствии с первой точкой обзора, причем первые данные размещаются во множестве первых сегментов первого кадра, причем часть 3D сцены связана с каждым первым сегментом из множества первых сегментов;- decoding first data from at least a first track, wherein the first data represents a 3D scene texture that is visible in accordance with the first viewpoint, wherein the first data is located in a plurality of first segments of the first frame, wherein a portion of the 3D scene is associated with each first segment of a set of first segments;
- декодируют вторые данные из по меньшей мере второй дорожки, причем вторые данные представляют собой глубину, связанную с точками 3D сцены, причем вторые данные, представляющие собой глубину, содержатся по меньшей мере в фрагменте, который размещен по меньшей мере в наборе вторых сегментов второго кадра, причем набор вторых сегментов распределяется каждому первому сегменту, причем по меньшей мере фрагмент соответствует двумерной параметризации группы из 3D точек, которые содержатся по меньшей мере в части 3D сцены, связанной с каждым первым сегментом, причем вторые данные представляют собой глубину, связанную с 3D точками группы.- decoding second data from at least a second track, wherein the second data represents depth associated with points in the 3D scene, wherein the second data representing depth is contained in at least a fragment that is located in at least a set of second segments of the second frame wherein a set of second segments is allocated to each first segment, wherein the at least fragment corresponds to a two-dimensional parameterization of a group of 3D points that are contained in at least a portion of the 3D scene associated with each first segment, wherein the second data represents a depth associated with the 3D points groups.
Настоящее изобретение относится к устройству, выполненному с возможностью декодирования данных, представляющих собой 3D сцену, причем устройство содержит память, связанную по меньшей мере с одним процессором, выполненным с возможностью:The present invention relates to a device configured to decode data representing a 3D scene, the device comprising a memory associated with at least one processor configured to:
- декодирования, по меньшей мере из третьей дорожки, по меньшей мере инструкции для извлечения первых данных и вторых данных из по меньшей мере первой дорожки и по меньшей мере второй дорожки;- decoding, from at least the third track, at least instructions for extracting first data and second data from at least the first track and at least the second track;
- декодирования первых данных из по меньшей мере первой дорожки, причем первые данные представляют собой текстуру 3D сцены, которая видна в соответствии с первой точкой обзора, причем первые данные размещаются во множестве первых сегментов первого кадра, причем часть 3D сцены связана с каждым первым сегментом из множества первых сегментов;- decoding first data from at least a first track, wherein the first data represents a texture of a 3D scene that is visible in accordance with the first viewpoint, wherein the first data is located in a plurality of first segments of the first frame, wherein a portion of the 3D scene is associated with each first segment of a set of first segments;
- декодирования вторых данных из по меньшей мере второй дорожки, причем вторые данные представляют собой глубину, связанную с точками 3D сцены, причем вторые данные, представляющие собой глубину, содержатся по меньшей мере в фрагменте, который размещен по меньшей мере в наборе вторых сегментов второго кадра, причем набор вторых сегментов распределяется каждому первому сегменту, причем по меньшей мере фрагмент соответствует двумерной параметризации группы из 3D точек, которые содержатся по меньшей мере в части 3D сцены, связанной с каждым первым сегментом, причем вторые данные представляют собой глубину, связанную с 3D точками группы.- decoding second data from at least a second track, wherein the second data represents depth associated with points in the 3D scene, wherein the second data representing depth is contained in at least a fragment that is located in at least a set of second segments of the second frame wherein a set of second segments is allocated to each first segment, wherein the at least fragment corresponds to a two-dimensional parameterization of a group of 3D points that are contained in at least a portion of the 3D scene associated with each first segment, wherein the second data represents a depth associated with the 3D points groups.
Настоящее изобретение относится к устройству, выполненному с возможностью декодирования данных, представляющих собой 3D сцену, причем устройство содержит:The present invention relates to a device configured to decode data representing a 3D scene, the device comprising:
- декодер, выполненный с возможностью декодирования, по меньшей мере из третьей дорожки, по меньшей мере инструкции для извлечения первых данных и вторых данных из по меньшей мере первой дорожки и по меньшей мере второй дорожки;- a decoder configured to decode, from at least the third track, at least instructions for extracting first data and second data from at least the first track and at least the second track;
- декодер, выполненный с возможностью декодирования первых данных из по меньшей мере первой дорожки, причем первые данные представляют собой текстуру 3D сцены, которая видна в соответствии с первой точкой обзора, причем первые данные размещаются во множестве первых сегментов первого кадра, причем часть 3D сцены связана с каждым первым сегментом из множества первых сегментов;- a decoder configured to decode first data from at least a first track, wherein the first data is a texture of a 3D scene that is visible in accordance with the first viewpoint, wherein the first data is located in a plurality of first segments of the first frame, wherein a portion of the 3D scene is associated with each first segment of the plurality of first segments;
- декодер, выполненный с возможностью декодирования вторых данных из по меньшей мере второй дорожки, причем вторые данные представляют собой глубину, связанную с точками 3D сцены, причем вторые данные, представляющие собой глубину, содержатся по меньшей мере в фрагменте, который размещен по меньшей мере в наборе вторых сегментов второго кадра, причем набор вторых сегментов распределяется каждому первому сегменту, причем по меньшей мере фрагмент соответствует двумерной параметризации группы из 3D точек, которые содержатся по меньшей мере в части 3D сцены, связанной с каждым первым сегментом, причем вторые данные представляют собой глубину, связанную с 3D точками группы.- a decoder configured to decode second data from at least a second track, wherein the second data represents depth associated with points in the 3D scene, wherein the second data representing depth is contained in at least a fragment that is located in at least a set of second segments of a second frame, wherein the set of second segments is allocated to each first segment, wherein the at least fragment corresponds to a two-dimensional parameterization of a group of 3D points that are contained in at least a portion of the 3D scene associated with each first segment, wherein the second data represents depth , associated with the 3D points of the group.
Настоящее изобретение относится к устройству, выполненному с возможностью декодирования данных, представляющих собой 3D сцену, причем устройство содержит:The present invention relates to a device configured to decode data representing a 3D scene, the device comprising:
- средство для декодирования, по меньшей мере из третьей дорожки, по меньшей мере инструкции для извлечения первых данных и вторых данных из по меньшей мере первой дорожки и по меньшей мере второй дорожки;- means for decoding, from at least the third track, at least instructions for extracting first data and second data from at least the first track and at least the second track;
- средство для декодирования первых данных из по меньшей мере первой дорожки, причем первые данные представляют собой текстуру 3D сцены, которая видна в соответствии с первой точкой обзора, причем первые данные размещаются во множестве первых сегментов первого кадра, причем часть 3D сцены связана с каждым первым сегментом из множества первых сегментов;- means for decoding first data from at least a first track, wherein the first data is a texture of a 3D scene that is visible in accordance with the first viewpoint, wherein the first data is located in a plurality of first segments of the first frame, and a portion of the 3D scene is associated with each first a segment of a plurality of first segments;
- средство для декодирования вторых данных из по меньшей мере второй дорожки, причем вторые данные представляют собой глубину, связанную с точками 3D сцены, причем вторые данные, представляющие собой глубину, содержатся по меньшей мере в фрагменте, который размещен по меньшей мере в наборе вторых сегментов второго кадра, причем набор вторых сегментов распределяется каждому первому сегменту, причем по меньшей мере фрагмент соответствует двумерной параметризации группы из 3D точек, которые содержатся по меньшей мере в части 3D сцены, связанной с каждым первым сегментом, причем вторые данные представляют собой глубину, связанную с 3D точками группы.- means for decoding second data from at least a second track, wherein the second data represents depth associated with points in the 3D scene, wherein the second data representing depth is contained in at least a fragment that is located in at least a set of second segments of a second frame, wherein a set of second segments is allocated to each first segment, wherein the at least segment corresponds to a two-dimensional parameterization of a group of 3D points that are contained in at least a portion of the 3D scene associated with each first segment, wherein the second data represents a depth associated with 3D points group.
В соответствии с конкретным отличительным свойством третьи данные, представляющие собой текстуру, связанную с 3D точками группы, которые содержатся в каждом фрагменте, дополнительно декодируются из по меньшей мере второй дорожки.In accordance with a particular feature, third data representing a texture associated with 3D group points that are contained in each fragment is further decoded from at least a second track.
В соответствии с особым отличительным свойством третьи данные, представляющие собой текстуру, дополнительно декодируются из по меньшей мере третьей дорожки, причем третьи данные размещаются во множестве третьих сегментов третьего кадра, причем набор третьих сегментов, содержащий по меньшей мере один третий сегмент, распределяется каждому первому сегменту, причем набор по меньшей мере фрагмента, содержащий третьи данные, связанные с 3D точками группы, размещается в наборе третьих сегментов, причем по меньшей мере фрагмент соответствует двумерной параметризации группы 3D точек.In accordance with a particular feature, third data representing a texture is further decoded from at least a third track, wherein the third data is allocated to a plurality of third segments of a third frame, wherein a set of third segments comprising at least one third segment is allocated to each first segment wherein the set of at least a fragment containing third data associated with the 3D points of the group is located in the set of third segments, wherein the at least fragment corresponds to a two-dimensional parameterization of the group of 3D points.
В соответствии с другим отличительным свойством визуализация по меньшей мере части 3D сцены осуществляется в соответствии с первыми и вторыми данными.In accordance with another distinctive property, rendering of at least a portion of the 3D scene is carried out in accordance with the first and second data.
Настоящее изобретение также относится к битовому потоку, несущему данные, представляющие собой 3D сцену, причем данные содержат, по меньшей мере в первом элементе синтаксиса, первые данные, представляющие собой текстуру 3D сцены, которая видна в соответствии с первой точкой обзора, причем первые данные связаны со множеством первых сегментов первого кадра, причем часть 3D сцены связана с каждым первым сегментом из множества первых сегментов; по меньшей мере во втором элементе синтаксиса, вторые данные, представляющие собой глубину, связанную с точками 3D сцены, причем вторые данные связаны со множеством вторых сегментов второго кадра, причем общее количество вторых сегментов второго кадра больше общего количества первых сегментов первого кадра, причем набор вторых сегментов содержит по меньшей мере один второй сегмент, распределенный упомянутому каждому первому сегменту, причем набор по меньшей мере фрагмента размещается в наборе вторых сегментов, причем каждый фрагмент соответствует двумерной параметризации группы из 3D точек, которые содержатся в части 3D сцены, связанной с каждым первым сегментом, и содержит вторые данные, представляющие собой глубину, связанную с 3D точками группы; причем битовый поток дополнительно несет по меньшей мере в третьем элементе синтаксиса по меньшей мере инструкцию для извлечения по меньшей мере части первых данных и вторых данных.The present invention also relates to a bitstream carrying data representing a 3D scene, the data comprising, at least in a first syntax element, first data representing a texture of the 3D scene that is visible in accordance with a first viewpoint, wherein the first data is associated with a plurality of first segments of a first frame, wherein a portion of the 3D scene is associated with each first segment of the plurality of first segments; at least in a second syntax element, second data representing depth associated with points in the 3D scene, wherein the second data is associated with a plurality of second segments of a second frame, wherein the total number of second segments of the second frame is greater than the total number of first segments of the first frame, wherein the set of second segments comprises at least one second segment allocated to said each first segment, wherein the set of at least a fragment is located within the set of second segments, each fragment corresponding to a two-dimensional parameterization of a group of 3D points that are contained in a portion of the 3D scene associated with each first segment , and contains second data representing the depth associated with the 3D points of the group; wherein the bitstream further carries, in at least a third syntax element, at least an instruction for retrieving at least a portion of the first data and the second data.
Настоящее изобретение также относится к компьютерному программному продукту, содержащему инструкции программного кода для исполнения этапов способа кодирования или декодирования данных, представляющих собой 3D сцену, когда данная программа исполняется на компьютере.The present invention also relates to a computer program product containing program code instructions for executing steps of a method for encoding or decoding data representing a 3D scene when the program is executed on a computer.
Настоящее изобретение также относится к (долговременному) читаемому процессором носителю информации, с хранящимися на нем инструкциями для предписания процессору выполнять по меньшей мере вышеупомянутый способ кодирования или декодирования данных, представляющих собой 3D сцену.The present invention also relates to a (non-transitory) processor-readable storage medium having instructions stored thereon for causing the processor to perform at least the above-mentioned method of encoding or decoding data representing a 3D scene.
4. Список фигур4. List of figures
Настоящее изобретение будет лучше понятно, и будут выяснены другие особые признаки и преимущества, после прочтения нижеследующего описания, причем описание обращается к приложенным чертежам, на которых:The present invention will be better understood, and other special features and advantages will be apparent, after reading the following description, the description being referred to the accompanying drawings, in which:
- Фигура 1 показывает изображение, представляющее собой трехмерную сцену, содержащую поверхностное представление нескольких объектов, в соответствии с неограничивающим вариантом осуществления настоящих принципов;- Figure 1 shows an image representing a three-dimensional scene containing a surface representation of several objects, in accordance with a non-limiting embodiment of the present principles;
- Фигура 2 иллюстрирует примерное размещение точек зрения в сцене фигуры 1 и видимые точки данной сцены с разных точек зрения данного размещения, в соответствии с неограничивающим вариантом осуществления настоящих принципов;- Figure 2 illustrates an exemplary arrangement of viewpoints in the scene of Figure 1 and visible points of a given scene from different viewpoints of a given arrangement, in accordance with a non-limiting embodiment of the present principles;
- Фигура 3 иллюстрирует восприятие параллакса путем показа разных видов сцены фигуры 1 в соответствии с точкой зрения фигуры 2, в соответствии с неограничивающим вариантом осуществления настоящих принципов;- Figure 3 illustrates parallax perception by showing different views of the scene of Figure 1 in accordance with the point of view of Figure 2, in accordance with a non-limiting embodiment of the present principles;
- Фигура 4 показывает изображение текстуры точек сцены фигуры 1, которые видны с точки зрения фигуры 2 в соответствии с равнопрямоугольным проекционным отображением, в соответствии с неограничивающим вариантом осуществления настоящих принципов;- Figure 4 shows a texture image of the scene points of Figure 1 as seen from the perspective of Figure 2 in accordance with an equirectangular projection mapping, in accordance with a non-limiting embodiment of the present principles;
- Фигура 5 показывает изображение тех же самых точек сцены, как на фигуре 4, представленных в кубическом проекционном отображении, в соответствии с неограничивающим вариантом осуществления настоящих принципов;- Figure 5 shows an image of the same scene points as in Figure 4, presented in a cubic projection display, in accordance with a non-limiting embodiment of the present principles;
- Фигура 6 показывает изображение глубины (также называемое картой глубины) 3D сцены фигуры 1 в соответствии с точкой зрения фигуры 2, в соответствии с неограничивающим вариантом осуществления настоящих принципов;- Figure 6 shows a depth image (also called a depth map) of a 3D scene of Figure 1 in accordance with the view of Figure 2, in accordance with a non-limiting embodiment of the present principles;
- Фигура 7 показывает трехмерную (3D) модель объекта 3D сцены фигуры 1 и точки облака точек, соответствующего 3D модели, в соответствии с неограничивающим вариантом осуществления настоящих принципов;- Figure 7 shows a three-dimensional (3D) object model of the 3D scene of Figure 1 and point cloud points corresponding to the 3D model, in accordance with a non-limiting embodiment of the present principles;
- Фигура 8 показывает изображение фигуры 4 разбитое на множество сегментов, в соответствии с неограничивающим вариантом осуществления настоящих принципов;- Figure 8 shows an image of Figure 4 divided into multiple segments, in accordance with a non-limiting embodiment of the present principles;
- Фигура 9 показывает 2D параметризацию части 3D сцены фигуры 1, связанную с одним сегментом изображения фигуры 4, в соответствии с неограничивающим вариантом осуществления настоящих принципов;- Figure 9 shows a 2D parameterization of a portion of the 3D scene of Figure 1 associated with one image segment of Figure 4, in accordance with a non-limiting embodiment of the present principles;
- Фигура 10 показывает двумерный вид углового сектора обзора части сцены, проиллюстрированной на фигуре 9, в соответствии с неограничивающим вариантом осуществления настоящих принципов;- Figure 10 shows a two-dimensional angular sector view of a portion of the scene illustrated in Figure 9, in accordance with a non-limiting embodiment of the present principles;
- Фигура 11 показывает пример групп фрагментов 3D сцены, полученных путем 2D параметризации частей сцены, связанных с сегментами фигуры 8, в соответствии с неограничивающим вариантом осуществления настоящих принципов;- Figure 11 shows an example of groups of 3D scene fragments obtained by 2D parameterization of portions of the scene associated with segments of Figure 8, in accordance with a non-limiting embodiment of the present principles;
- Фигура 12 показывает пример кодирования, передачи и декодирования последовательности 3D сцены в формате, который является, одновременно, совместимым с 3DoF визуализацией и совместимым с 3DoF+ визуализацией, в соответствии с неограничивающим вариантом осуществления настоящих принципов;- Figure 12 shows an example of encoding, transmitting and decoding a 3D scene sequence in a format that is both 3DoF rendering compatible and 3DoF+ rendering compatible, in accordance with a non-limiting embodiment of the present principles;
- Фигура 13 показывает пример размещения фрагментов фигуры 11 в сегментах кадра, в соответствии с неограничивающим вариантом осуществления настоящих принципов;- Figure 13 shows an example of placing fragments of Figure 11 into frame segments, in accordance with a non-limiting embodiment of the present principles;
- Фигура 14 показывает пример процесса для размещения фрагментов фигуры 11 в разделенном на сегменты кадре фигуры 13, в соответствии с неограничивающим вариантом осуществления настоящих принципов;- Figure 14 shows an example process for placing fragments of Figure 11 in the segmented frame of Figure 13, in accordance with a non-limiting embodiment of the present principles;
- Фигура 15 показывает примеры четвертых кадров, полученных из сегментов разделенного на сегменты кадра фигуры 13, в соответствии с неограничивающим вариантом осуществления настоящих принципов;- Figure 15 shows examples of fourth frames obtained from segments of the segmented frame of Figure 13, in accordance with a non-limiting embodiment of the present principles;
- Фигура 16 показывает пример синтаксиса битового потока, несущего информацию и данные, представляющие собой 3D сцену фигуры 1, в соответствии с неограничивающим вариантом осуществления настоящих принципов;- Figure 16 shows an example of the syntax of a bitstream carrying information and data representing the 3D scene of Figure 1, in accordance with a non-limiting embodiment of the present principles;
- Фигура 17 показывает пример процесса, чтобы кодировать 3D сцену фигуры 1, в соответствии с неограничивающим вариантом осуществления настоящих принципов;- Figure 17 shows an example of a process to encode the 3D scene of Figure 1, in accordance with a non-limiting embodiment of the present principles;
- Фигура 18 показывает пример процесса, чтобы декодировать 3D сцену фигуры 1, в соответствии с неограничивающим вариантом осуществления настоящих принципов;- Figure 18 shows an example of a process to decode a 3D scene of Figure 1, in accordance with a non-limiting embodiment of the present principles;
- Фигура 19 показывает примерную архитектуру устройства, которое может быть выполнено с возможностью реализации способа или процесса, описанного по отношению к фигурам 14, 17, 18, 20 и/или 21, в соответствии с неограничивающим вариантом осуществления настоящих принципов;- Figure 19 shows an exemplary architecture of a device that may be configured to implement the method or process described with respect to Figures 14, 17, 18, 20 and/or 21, in accordance with a non-limiting embodiment of the present principles;
- Фигура 20 иллюстрирует пример способа для кодирования данных, представляющих собой 3D сцену фигуры 1, реализованный, например, в устройстве фигуры 19, в соответствии с неограничивающим вариантом осуществления настоящих принципов;- Figure 20 illustrates an example of a method for encoding data representing a 3D scene of Figure 1, implemented, for example, in the device of Figure 19, in accordance with a non-limiting embodiment of the present principles;
- Фигура 21 иллюстрирует способ для декодирования данных, представляющих собой 3D сцену фигуры 1, реализованный, например, в устройстве фигуры 19, в соответствии с неограничивающим вариантом осуществления настоящих принципов.- Figure 21 illustrates a method for decoding data representing a 3D scene of Figure 1, implemented, for example, in the device of Figure 19, in accordance with a non-limiting embodiment of the present principles.
5. Подробное описание вариантов осуществления5. Detailed Description of Embodiments
Теперь предмет изобретения описывается при обращении к чертежам, на которых аналогичные номера позиций используются для обращения к аналогичным элементам на всем протяжении. В нижеследующем описании, в целях объяснения, изложены многочисленные особые подробности для того, чтобы обеспечить исчерпывающее понимание предмета изобретения. Однако, может быть очевидно, что варианты осуществления предмета изобретения могут быть реализованы на практике без этих особых подробностей.The subject matter of the invention is now described with reference to the drawings, in which like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the subject matter of the invention. However, it may be apparent that embodiments of the subject matter may be practiced without these specific details.
Настоящее описание иллюстрирует принципы настоящего изобретения. Таким образом, будет понятно, что специалисты в соответствующей области техники могут разработать различные компоновки, которые, несмотря на то, что в явной форме не описано или не показано в данном документе, воплощают принципы изобретения.The present description illustrates the principles of the present invention. Thus, it will be appreciated that those skilled in the art may develop various arrangements which, although not expressly described or shown herein, embody the principles of the invention.
В соответствии с неограничивающими вариантами осуществления настоящего изобретения раскрываются способы и устройства, чтобы кодировать изображения объемного видео (также называемого 3DoF+ или 6DoF видео), например, в одном или более кадрах, в контейнере и/или в битовом потоке. Также раскрываются способы и устройства, чтобы декодировать изображения объемного видео из потока и/или кадров. Также раскрываются примеры синтаксиса битового потока для кодирования одного или более изображений/кадров объемного видео.In accordance with non-limiting embodiments of the present invention, methods and apparatuses are disclosed for encoding volumetric video images (also referred to as 3DoF+ or 6DoF video), for example, into one or more frames, a container, and/or a bitstream. Methods and apparatuses for decoding volumetric video images from a stream and/or frames are also disclosed. Examples of bitstream syntax for encoding one or more volumetric video images/frames are also disclosed.
В соответствии с неограничивающим аспектом, настоящие принципы будут описаны при обращении к первому конкретному варианту осуществления способа (и устройства, выполненного с возможностью) кодирования данных, представляющих собой 3D сцену (представленную с помощью объемного контента, также называемого видео с погружением), в один или несколько кадров контейнера и/или битового потока.In accordance with a non-limiting aspect, the present principles will be described with reference to the first specific embodiment of a method (and apparatus configured to) encode data representing a 3D scene (represented by volumetric content, also called immersive video) into one or multiple container and/or bitstream frames.
Для достижения этой цели первые данные, представляющие собой текстуру (например, информацию о цвете, связанную с элементами, например, точками, 3D сцены) 3D сцены, которая видна в соответствии с первой точкой обзора, кодируются в одной или более первых дорожках, связанных по меньшей мере с частью первых сегментов первого кадра. Первые данные соответствует информации о текстуре 3DoF вида/изображения сцены, т.е. вида сцены в соответствии с центральной точкой обзора только с текстурой и без геометрии (т.е. глубины или 3D информации), т.е. «плоского» вида/изображения 3D сцены. Первый кадр разбивается на множество первых сегментов (сегмент, соответствующий суб-зоне кадра, и является, например, определенным в стандарте HEVC (Высокоэффективное Кодирование Видео) или в VP9 от Google с различной аббревиатурой), причем часть 3D сцены связана с каждым первым сегментом первого кадра.To achieve this goal, first data representing texture (e.g., color information associated with elements, e.g., points, of a 3D scene) of a 3D scene that is visible according to a first viewpoint is encoded in one or more first tracks associated by with at least part of the first segments of the first frame. The first data corresponds to the 3DoF texture information of the scene view/image, i.e. view of the scene according to the central viewpoint with only texture and no geometry (i.e. depth or 3D information), i.e. “flat” view/image of a 3D scene. The first frame is divided into a plurality of first segments (a segment corresponding to a sub-zone of the frame, and is, for example, defined in the HEVC (High Efficiency Video Coding) standard or Google's VP9 with a different abbreviation), with a portion of the 3D scene associated with each first segment of the first frame.
Второй кадр разбивается на множество вторых сегментов, причем общее количество вторых сегментов больше общего количества первых сегментов первого кадра. Применительно по меньшей мере к части первых сегментов, набор вторых сегментов распределяется для каждого первого сегмента. Что касается каждого первого сегмента, фрагменты части 3D сцены, соответствующие каждому первому сегменту, размещаются в распределенных вторых сегментах. Фрагмент соответствует двумерной (2D) параметризации 3D части сцены и содержит по меньшей мере вторые данные, представляющие собой глубину по меньшей мере некоторых точек, которые содержатся в 3D части.The second frame is divided into a plurality of second segments, the total number of second segments being greater than the total number of first segments of the first frame. For at least a portion of the first segments, a set of second segments is allocated to each first segment. With respect to each first segment, portions of the 3D scene corresponding to each first segment are allocated to the distributed second segments. The fragment corresponds to a two-dimensional (2D) parameterization of the 3D portion of the scene and contains at least second data representing the depth of at least some points that are contained in the 3D portion.
Вторые данные кодируются в одной или более вторых дорожках, связанных со вторыми сегментами.The second data is encoded in one or more second tracks associated with the second segments.
Инструкции, адаптированные для извлечения по меньшей мере части первых данных (из по меньшей мере части первых дорожек) и по меньшей мере части вторых данных (из по меньшей мере части вторых дорожек) кодируются в одну или более третьих дорожек.Instructions adapted to retrieve at least a portion of the first data (from at least a portion of the first tracks) and at least a portion of the second data (from at least a portion of the second tracks) are encoded into one or more third tracks.
2D параметризация 3D части 3D сцены соответствует 2D представлению 3D части (например, точек 3D сцены, которые содержатся в 3D части). 2D параметризация может быть получена различными путями, как будет объяснено более подробно в описании.The 2D parameterization of the 3D part of a 3D scene corresponds to the 2D representation of the 3D part (for example, the points of the 3D scene that are contained in the 3D part). The 2D parameterization can be obtained in various ways, as will be explained in more detail in the description.
Кадр соответствует изображению (например, у последовательности следующих один за другим по времени неподвижных изображений, формирующих видео) и соответствует массиву пикселей, причем атрибут (например, информация о глубине и/или информация о текстуре) связан с пикселями кадра.A frame corresponds to an image (eg, a sequence of temporally sequential still images forming a video) and corresponds to an array of pixels, with an attribute (eg, depth information and/or texture information) associated with the pixels of the frame.
Соответствующий способ (и устройство, выполненное с возможность) декодирования данных, представляющих собой 3D сцену, также описывается в отношении неограничивающего аспекта настоящих принципов.A corresponding method (and apparatus capable of) decoding data representing a 3D scene is also described with respect to a non-limiting aspect of the present principles.
Фигура 1 показывает изображение, представляющее собой трехмерную (3D) сцену 10, содержащую поверхностное представление нескольких объектов. Сцена могла быть получена с использованием любой подходящей технологии. Например, она могла быть создана с использованием инструментов интерфейса компьютерной графики (CGI). Она могла быть получена с помощью устройств получения цветного изображения и изображения глубины. В таком случае возможно, что одна или несколько частей объектов, которые не видны с устройств получения (например, камер), могут быть не представлены в сцене, как описано по отношению к фигуре 2. Примерная сцена, проиллюстрированная на фигуре 1, содержит дома, двух персонажей и колодец. Куб 11 иллюстрирует пространство зрения, из которого пользователь может наблюдать 3D сцену. Пространство 11 зрения, например, является с центром в первой точке обзора. 3D сцена (или ее часть) может, например, быть представлена с помощью плоского изображения (или плоского видео, также называемого всенаправленным изображением/видео), представляющего собой 3D сцену в соответствии с первой точкой обзора, и позволяющего пользователю (например, с надетым HMD) просматривать сцену в соответствии с 3 степенями свободы (3Dof), т.е. с поворотами вокруг продольной, вертикальной и поперечной оси. 3D сцена (или дополнительные части 3D сцены) могут быть представлены с помощью дополнительных данных (в дополнение к данным текстуры/цвета плоского изображения), связанных с частями 3D сцены, просматриваемой с точек обзора куба 11, за исключением первой точки обзора для данных текстуры. Дополнительные данные, например, могут содержать одну или любое сочетание из следующей информации:Figure 1 shows an image representing a three-dimensional (3D)
- информация о глубине, связанная с точками 3D сцены, просматриваемой с первой точки обзора;- depth information associated with points in the 3D scene viewed from the first viewpoint;
- информация о глубине, связанная с частями 3D сцены, просматриваемой с точек обзора куба 11, исключая первую точку обзора;- depth information associated with parts of the 3D scene viewed from the viewpoints of the
- информация о текстуре (также называемая информация о цвете), связанная с частями 3D сцены, просматриваемой с точек обзора куба 11, исключая первую точку обзора.- texture information (also called color information) associated with portions of the 3D scene viewed from viewpoints of
Дополнительные данные в сочетании с плоским видео обеспечивают 3DoF+ и/или 6DoF просмотр в представлении 3D сцены.The additional data combined with flat video provides 3DoF+ and/or 6DoF viewing in the 3D scene view.
Фигура 2 показывает примерное размещение точек зрения в сцене, например, 3D сцене 10 фигуры 1. Фигура 2 также показывает точки данной 3D сцены 10, которые видны с/в соответствии с разными точками зрения данного размещения. Для обеспечения визуализации и демонстрации посредством устройства визуализации с погружением (например, CAVE или устройство Монитора, Устанавливаемого на Голове (HMD)), 3D сцена рассматривается с первой точки обзора (также называемой первой точкой зрения), например, первой точки 20 зрения. Точка 21 сцены, соответствующая правому локтю первого персонажа, видна с первой точки 20 обзора, поскольку отсутствует какой-либо непрозрачный объект, лежащий между первой точкой 20 зрения и точкой 21 сцены. В противоположность, точка 22 3D сцены 10, которая соответствует, например, левому локтю второго персонажа, не видна с первой точки 20 зрения, поскольку она закрыта точками первого персонажа.Figure 2 shows an exemplary arrangement of viewpoints in a scene, for example, the
Применительно к 3DoF визуализации, рассматривается только одна точка зрения, например, первая точка 20 обзора. Пользователь может поворачивать свою голову в трех степенях свободы вокруг первой точки зрения, чтобы просматривать различные части 3D сцены, но пользователь не может перемещать первую точку обзора. Точки сцены, которые должны быть кодированы в потоке, являются точками, которые видны с данной первой точки зрения. Не нужно кодировать точки сцены, которые не видны с данной первой точки зрения, поскольку пользователь не может осуществить к ним доступ путем перемещения первой точки обзора.For 3DoF visualization, only one viewpoint is considered, for example, the
В отношении 6DoF визуализации, пользователь может перемещать точку обзора в любое место в сцене. В данном случае, важно кодировать каждую точку сцены в битовом потоке контента, поскольку каждая точка является потенциально доступной пользователю, который может перемещать его/ее точку зрения. На стадии кодирования, нет никаких средств заранее знать, с какой точки зрения пользователь будет смотреть 3D сцену 10.For 6DoF rendering, the user can move the viewpoint to any location in the scene. In this case, it is important to encode each point in the scene in the content bitstream, since each point is potentially accessible to the user, who can move his/her point of view. At the encoding stage, there is no means of knowing in advance from what point of view the user will view the
В отношении визуализации 3DoF+, пользователь может перемещать точку зрения в рамках ограниченного пространства вокруг точки зрения, например, вокруг первой точки 20 обзора. Например, пользователь может перемещать свою точку зрения в рамках куба 11 с центром в первой точке 20 обзора. Это позволяет воспринимать параллакс, как проиллюстрировано по отношению к фигуре 3. Данные, представляющие собой часть сцены, которая видна с любой точки пространства зрения, например, куба 11, должны быть кодированы в поток, включая данные, представляющие собой 3D сцену, которая видна в соответствии с первой точкой 20 обзора. Размер и форма пространства зрения могут, например, быть решены и определены на этапе кодирования и могут быть кодированы в битовом потоке. Декодер может получать данную информацию из битового потока и визуализатор ограничивает пространство зрения до пространства, определенного полученной информации. В соответствии с другим примером, визуализатор определяет пространство зрения в соответствии с ограничениями аппаратного обеспечения, например, по отношению к возможностям датчика(ов), которые обнаруживают перемещения пользователя. В таком случае, если, на фазе кодирования, точка, которая видна с точки в рамках пространства зрения визуализатора, не была кодирована в битовом потоке, то не будет осуществлена визуализация данной точки. В соответствии с дополнительным примером, данные (например, текстура и/или геометрия), представляющие собой каждую точку 3D сцены, кодируются в потоке без учета пространства зрения визуализации. Чтобы оптимизировать размер потока, может быть кодировано лишь подмножество точек сцены, например, подмножество точек, которые могут быть видны в соответствии с пространством зрения визуализации.With respect to 3DoF+ rendering, the user can move the viewpoint within a limited space around the viewpoint, for example, around the
Фигура 3 иллюстрирует восприятие параллакса, которое обеспечивается объемным (т.е. 3DoF+ и 6DoF) визуализацией. Фигура 3B иллюстрирует часть сцены, которую пользователь может видеть с первой точки 20 обзора фигуры 2. С данной первой точки 20 обзора два персонажа находятся в заданной пространственной конфигурации, например, левый локоть второго персонажа (в белой рубашке) спрятан телом первого персонажа при том, что видна его голова. Когда пользователь поворачивает его/ее голову в соответствии с тремя степенями свободы вокруг первой точки 20 обзора, данная конфигурация не меняется. Если точка обзора фиксирована, левый локоть второго персонажа не виден. Фигура 3A иллюстрирует ту же самую часть сцены, которая видна с точки обзора, расположенной с левой стороны пространства 11 зрения фигуры 2. С такой точки обзора, точка 22 фигуры 2 видна из-за эффекта параллакса. Вследствие этого, применительно к объемному визуализации, точка 22 должна быть кодирована в поток. Если не кодируется, то не будет осуществляться визуализация данной точки 22. Фигура 3C иллюстрирует ту же самую часть сцены, которая наблюдается с точки обзора, расположенной с правой стороны пространства 11 зрения фигуры 3. С данной точки обзора второй персонаж почти полностью скрыт первым персонажем.Figure 3 illustrates the perception of parallax that is provided by volumetric (i.e., 3DoF+ and 6DoF) imaging. Figure 3B illustrates the part of the scene that the user can see from the
Путем перемещения точки обзора в 3D сцене пользователь может воспринимать эффект параллакса.By moving the viewpoint in a 3D scene, the user can perceive a parallax effect.
Фигура 4 показывает изображение 40 текстуры (также называемое цветным изображением), содержащее информацию о текстуре (например, данные RGB или данные YUV) точек 3D сцены 10, которые видны с первой точки 20 обзора фигуры 2, причем данная информация о текстуре получается в соответствии с равнопрямоугольным проекционным отображением. Равнопрямоугольное проекционное отображение является примером сферического проекционного отображения.Figure 4 shows a texture image 40 (also referred to as a color image) containing texture information (e.g., RGB data or YUV data) of points in the
Фигура 5 показывает изображение 50 точек 3D сцены, полученное или кодированное в соответствии с кубическим проекционным отображением. Существуют разные кубические проекционные отображения. Например, грани куба могут быть размещены по-другому в изображении 50 фигуры 5 и/или грани могут быть сориентированы другим образом.Figure 5 shows an image of 50 points of a 3D scene obtained or encoded according to a cubic projection mapping. There are different cubic projection mappings. For example, the faces of the cube may be placed differently in the figure 5
Проекционное отображение, использованное для получения/кодирования точек сцены, которые видны с определенной точки обзора, выбирается, например, в соответствии с критериями сжатия или, например, в соответствии с опцией стандарта. Специалисту в соответствующей области техники известно, что можно преобразовать изображение, полученное путем проецирования, например, облака точек в соответствии с проекционным отображением в эквивалентное изображение того же самого облака точек в соответствии с другим проекционным отображением. Такое преобразование может все же повлечь за собой некоторую потерю в разрешении проекции.The projection mapping used to obtain/encode the scene points that are visible from a certain viewpoint is selected, for example, according to compression criteria or, for example, according to a standard option. One skilled in the art will know that it is possible to transform an image obtained by projecting, for example, a point cloud according to a projection mapping into an equivalent image of the same point cloud according to another projection mapping. Such a conversion may still incur some loss in projection resolution.
Фигуры 4 и 5 показаны в оттенках серого. Естественно понятно, что они являются примерами (цветных) изображений текстуры (кодирующих текстуру (цвет) точек сцены), например, в RGB или в YUV. Каждое из изображений 40 и 50 содержит данные, необходимые для 3DoF визуализации 3D сцены. Декодер, принимающий битовый поток или поток данных, содержащий, в первом элементе синтаксиса, изображение, как примерные изображения 40 и/или 50 фигуры 4 и/или фигуры 5, декодирует изображение с использованием способа, который коррелирует со способом, использованным для кодирования изображения. Поток может быть кодирован в соответствии со стандартными способами сжатия изображения и видео и стандартным форматом для транспортировки изображения и видео, например, MPEG-2, H.264 или HEVC. Декодер может передавать декодированное изображение (или последовательность изображений) 3DoF визуализатору или модулю для переформатирования, например. 3DoF визуализатор будет сначала выполнять отмену проецирования декодированного изображения с проекционной поверхности (например, сферы применительно к ERP изображению 40 фигуры 4 или куба применительно к изображению 50 фигуры 5) и затем формировать прямоугольное окно просмотра, запрошенное просматривающим устройством конечного пользователя. В варианте, визуализатор преобразует изображение в соответствии с другим отличным проекционным отображением перед его проецированием.Figures 4 and 5 are shown in grayscale. It is naturally clear that these are examples of (color) texture images (encoding the texture (color) of points in the scene), for example in RGB or in YUV. Each of the
Изображение совместимо с 3DoF визуализацией, когда изображение кодирует точки 3D сцены в соответствии с проекционным отображением. Сцена может содержать точки под углом 360°. Проекционные отображения, которые обычно используются чтобы кодировать изображения, совместимые с 3DoF визуализацией, соответствуют, например, среди сферических отображений: равнопрямоугольной проекции; проекции по долготе/широте; или разным схемам расположения кубических проекционных отображений или пирамидальных проекционных отображений.The image is compatible with 3DoF rendering, where the image encodes points in the 3D scene according to the projection mapping. The scene can contain 360° points. Projection mappings that are commonly used to encode images compatible with 3DoF rendering correspond, for example, to spherical mappings: equirectangular projection; longitude/latitude projections; or different layouts of cubic projection maps or pyramidal projection maps.
Фигура 6 показывает изображение глубины (также называемое картой глубины) 3D сцены 10 в соответствии с первой точкой 20 обзора. Информация о глубине требуется для объемной визуализации. В примере кодирования изображения фигуры 6, чем темнее пиксель, тем ближе точка, которая проецируется в данный пиксель, от точки обзора. Например, глубина может быть кодирована двенадцатью битами, т.е. глубина представляется целым числом в диапазоне от 0 до 212-1 (= 4095). Если, например, самая близкая точка располагается на 1 метре от определенной точки обзора, а наиболее удаленная точка на 25 метрах от определенной точки обзора, то линейное кодирование глубины будет выполнено с шагами в 0,586 сантиметров (=(2500-100)/4096). Глубина также может быть кодирована в соответствии с логарифмической шкалой, поскольку неточность значения глубины точки, которая находится дальше от точки обзора, менее важна, чем неточность значения глубины для точки, которая находится ближе к точке обзора. В примерном варианте осуществления фигуры 6 глубина точек сцены, которые видны с точки обзора, кодируется в карте глубины в соответствии с тем же самым проекционным отображением, как проекционное отображение, используемое для кодирования карты цветов фигуры 5. В другом варианте осуществления глубина может быть кодирована в соответствии с другим проекционным отображением. Визуализатор преобразует карту глубины и/или цветное изображение в де-проекционные точки сцены, кодированные в этих данных.Figure 6 shows a depth image (also called a depth map) of a
Фигура 7 показывает трехмерную (3D) модель объекта 70 и точки облака 71 точек, соответствующие 3D модели 70. Модель 70 может быть 3D представлением сетки, а точки облака 71 точек могут быть вершинами сетки. Точки облака 71 точек также могут быть точками, рассеянными по поверхности граней сетки. Модель 70 также может быть представлена в качестве полученной посредством сплэттинга (splatting) версии облака 71 точек, причем поверхность модели 70 создается путем сплэттинга точек облака 71 точек. Модель 70 может быть представлена посредством множества разных представлений, таких как в вокселях или сплайнах. Фигура 7 иллюстрирует тот факт, что облако точек может быть определено с помощью представления поверхности 3D объекта и что представление поверхности 3D объекта может быть сформировано из точки облака. Используемые в данном документе проецирование точек 3D объекта (путем продления точек 3D сцены) на изображение является эквивалентным проецированию любого представления изображения данного 3D объекта для создания объекта.Figure 7 shows a three-dimensional (3D) model of an
Облако точек может быть рассмотрено в качестве векторной структуры, при этом каждая точка имеет свои координаты (например, трехмерные координаты XYZ, или глубину/расстояние от заданной точки обзора) и один или несколько атрибутов, также называемых составляющей. Примером составляющей является цветовая составляющая, которая может быть выражена в различных цветовых пространствах, например, RGB (Красный, Зеленый и Синий) или YUV (Y является составляющей яркости, а UV двумя составляющими цветности). Облако точек является представлением объекта с заданной точки обзора или диапазона точек обзора. Облако точек может быть получено посредством множества способов, например:A point cloud can be viewed as a vector structure, with each point having its own coordinates (for example, 3D XYZ coordinates, or depth/distance from a given viewpoint) and one or more attributes, also called a component. An example of a component is a color component, which can be expressed in different color spaces, such as RGB (Red, Green and Blue) or YUV (Y is the luminance component and UV is the two chrominance components). A point cloud is a representation of an object from a given viewpoint or range of viewpoints. The point cloud can be obtained through a variety of methods, for example:
из захвата реального объекта, снятого установкой из камер, необязательно дополненного активным устройством регистрации глубины;from the capture of a real object, filmed by a camera setup, optionally supplemented with an active depth recording device;
из захвата виртуального/искусственного объекта, снятого установкой из виртуальных камер в инструменте моделирования;from the capture of a virtual/artificial object captured by a virtual camera setup in a modeling tool;
из смеси как реальных, так и виртуальных объектов.from a mixture of both real and virtual objects.
Объемные части 3D сцены могут, например, быть представлены с помощью одного или более облаков точек, таких как облако 71 точек.Volumetric portions of a 3D scene may, for example, be represented using one or more point clouds, such as
Фигура 8 показывает разбиение на сегменты изображения 40 (также называемого первым кадром 40 в нижеследующем), в соответствии с неограничивающим вариантом осуществления настоящих принципов. Первый кадр 40 соответствует плоскому представлению большого поля обзора (вплоть до 360°) 3D сцены, т.е. 2D представлению только с информацией о текстуре (цвете) и без глубины. Контент большого поля обзора (также называемый всенаправленным контентом) является контентом с полем обзора, которое, как правило, больше окна просмотра устройства конечного пользователя, т.е. только суб-часть первого кадра 40 демонстрируется за раз на устройстве конечного пользователя. Первый кадр 40 разбит на множество суб-частей или суб-зон с 81 по 88, которые могут соответствовать сегментам в смысле HEVC, VP9 или AV1 (разработанного Альянсом за Открытые Медиа), например. Сегменты могут, например, быть получены путем использования разбиение на сегменты HEVC с ограничением движения (MCTS).Figure 8 shows a segmentation of an image 40 (also referred to as the
В соответствии с неограничивающим примером первый кадр (после того, как было выполнено равнопрямоугольное проецирование (EPR)) делится на 8 сегментов HEVC с 81 по 88. Сегменты HEVC соответствуют неперекрывающимся прямоугольным областям, содержащим целое количество CTU (Единица Дерева Кодирования, CTU соответствует наибольшему блоку кодирования, например, размера 64×64) и организованным в шаблоне сетки со строками и столбцами фиксированного или переменного размера (например, Основной профиль 10 уровня 5.1 в HEVC устанавливает максимальное количество строк и столбцов сегментов в 11×10). Контент первого кадра может, например, быть кодирован в одном или более разрешениях с использованием наборов сегментов с ограничением движения (MCTS), т.е. при отсутствии другого предсказания из других сегментов. Каждая кодированная последовательность MCTS может быть сохранена инкапсулированной в отдельную дорожку сегмента в рамках, например, контейнера ISOBMFF (Базовый Формат Файла Мультимедиа ISO). Количество сегментов не ограничено 8 и может быть любым целым числом, например, больше или равным 2 и меньше 110 (11×10), если основано на Основном профиле 10 уровня 5.1 HEVC.According to a non-limiting example, the first frame (after equirectangular projection (EPR) has been performed) is divided into 8
Разная 3D часть или 3D секция 3D сцены связывается с каждым сегментом T1 81, T2 82, T3 83, T4 84, T5 85, T6 86, T7 87 и T8 88 первого кадра 40 (как объяснено более подробно в отношении фигуры 10), причем видеоконтент определенного сегмента первого кадра соответствует результату проецирования 3D части 3D сцены, связанной с данным определенным сегментом.A different 3D portion or 3D section of the 3D scene is associated with each
Фигура 9 показывает 2D параметризацию 3D части 3D сцены, связанной с одним сегментом T6 86 первого кадра, в соответствии с неограничивающим вариантом осуществления настоящего принципа. Точно такой же процесс может быть применен к каждой 3D части 3D сцены, связанной с сегментами T1, T2, T3, T4, T5, T7 и T8 первого кадра 40.Figure 9 shows a 2D parameterization of a 3D portion of a 3D scene associated with one first
Точки 3D сцены, которые содержатся в 3D части 3D сцены, связанной с сегментом T6 86, могут быть сгруппированы, чтобы формировать одну или несколько групп из точек, причем точки, принадлежащие одной и той же группе, обладают, например, информацией о глубине, которая содержится в определенном диапазоне глубины (т.е. точки одной и той же группы являются согласованными по глубине). Диапазон точек обзора, которые содержатся в пространстве 11 зрения (например, кубе), например, получается путем дискретизации на множество точек обзора (например, 5, 10 или 20 точек обзора). В соответствии с другим примером множество точек обзора получается из пространства 11 зрения путем определения тетраэдра с центром в первой точке 20 обзора, причем каждая из четырех вершин тетраэдра определяет точку обзора из множества точек обзора в дополнение к первой точке 20 обзора. Точки 3D части 3D сцены, связанной с сегментом T6 86, группируются с учетом 3D части с каждой точки обзора из множества. Чтобы избежать того, что одна и та же точка принадлежит множеству групп, группирование может быть сначала выполнено для первой точки обзора, и точки, которые были сгруппированы в соответствии с первой точкой обзора, не рассматриваются для следующего группирования в соответствии с другой точкой обзора. Примеры групп точек иллюстрируются на фигуре 9, например, группы с 91 по 95, причем каждая группа содержит, например, точки с согласованной глубиной, например, группа 94 содержит точки с глубиной, которая находится между 2м и 2.5м (расстояние от первой точки обзора), группа 95 содержит точки с глубиной, которая находится между 3,2м и 3,9м, группа 93 содержит точки с глубиной, которая находится между 3,9м и 10м.The 3D scene points that are contained in the 3D portion of the 3D scene associated with the
Применительно к каждой группе точек формируется фрагмент, причем фрагмент соответствует 2D параметризации группы точек. Например, фрагмент 904 формируется из группы 94 точек. Один или несколько фрагментов каждой группы точек 3D части формируются, чтобы представлять каждую группу точек в двух измерениях, т.е. в соответствии с 2D параметризацией. Одна или несколько 2D параметризаций могут быть получены для каждой группы 91, 92, 93, 94 и 95 точек. 2D параметризация может варьироваться от группы точек к другой. В соответствии с вариантом все 2D параметризации, связанные со всеми группами точек, являются одного и того же типа, например, линейным перспективным проецированием или ортогональным проецированием. В соответствии с вариантом разные 2D параметризации могут быть использованы для одной и той же группы точек.For each group of points, a fragment is formed, and the fragment corresponds to the 2D parameterization of the group of points. For example,
2D параметризация, связанная с одной заданной группой точек, например, группой 94, соответствует просмотру в 2 измерениях заданной 3D группы точек облака точек, что позволяет осуществить выборку заданной 3D группы точек, т.е. 2D представление контента (т.е. точки(ек)) данной заданной 3D группы точек, содержащее множество выборок (которые могут соответствовать пикселям изображения фрагмента), количество который зависит от применяемого шага выборки. 2D параметризация может быть представлена с помощью набора параметров и может быть получена посредством множества способов, например, путем применения любого из следующих способов:A 2D parameterization associated with one given group of points, for
- равнопрямоугольное проецирование (EPR) точек у группы точек облака точек на сферу, связанную с точкой обзора, причем параметры, представляющие собой ERP проецирование, содержат местоположение сферы, ее ориентацию и шаг пространственной выборки;- equirectangular projection (EPR) of points from a group of points of the point cloud onto a sphere associated with the viewpoint, and the parameters representing the ERP projection contain the location of the sphere, its orientation and the spatial sampling step;
- линейное перспективное проецирование точек у группы точек облака точек на плоскость, связанную с точкой обзора, причем параметры, представляющие собой линейное перспективное проецирование, содержат местоположение виртуальной камеры, фокусное расстояние, шаг пространственной выборки и поле зрения в 2 измерениях;- linear perspective projection of points from a group of points of the point cloud onto a plane associated with the viewpoint, wherein the parameters representing the linear perspective projection include the location of the virtual camera, focal length, spatial sampling step and field of view in 2 dimensions;
- ортогональное проецирование точек у группы точек облака точек на поверхность, причем параметры, представляющие собой ортогональное проецирование, содержат геометрию (форму, размер и ориентацию) проецирующей поверхности и шаг пространственной выборки;- orthogonal projection of points from a group of points of the point cloud onto the surface, and the parameters representing the orthogonal projection contain the geometry (shape, size and orientation) of the projecting surface and the spatial sampling step;
- LLE (Локально-Линейное Вложение), которое соответствует математической операции уменьшения размерности, здесь применяется для конвертирования/преобразования из 3D в 2D, причем параметры, представляющие LLE, содержат коэффициенты преобразования.- LLE (Local Linear Embedding), which corresponds to the mathematical operation of dimensionality reduction, is used here to convert/convert from 3D to 2D, with the parameters representing the LLE containing the conversion coefficients.
Каждый фрагмент обладает преимущественно прямоугольной формой, чтобы упростить процесс упаковки, который будет объяснен ниже. Каждый фрагмент может содержать геометрическую информацию, полученную путем проецирования/2D параметризации точек у связанной группы точек. Геометрическая информация может соответствовать информации о глубине или информации о позиции вершин элемента сетки. Фрагмент может дополнительно содержать информацию о текстуре, связанную с точками у связанной группы точек, за исключением того, когда фрагмент получается из точек, которые видны с первой точки обзора. Применительно к точкам, которые видны с первой точки обзора, информация о текстуре может быть получена из первого кадра 40. В соответствии с вариантом формируются геометрические фрагменты, содержащие только геометрическую информацию, и дополнительно формируются фрагменты текстуры, содержащие только информацию о текстуре, при необходимости.Each piece is predominantly rectangular in shape to facilitate the packaging process, which will be explained below. Each fragment can contain geometric information obtained by projecting/2D parameterizing points from a related group of points. Geometric information may correspond to depth information or information about the position of mesh element vertices. The fragment may additionally contain texture information associated with the points of the associated group of points, except when the fragment is derived from points that are visible from the first viewpoint. For points that are visible from the first viewpoint, texture information may be obtained from the
Может быть сформирована информация об отображении, которая связывает каждую 2D параметризацию с ее связанным фрагментом. Информация об отображении может быть сформирована для обеспечения связи между 2D параметризацией и связанным геометрическим фрагментом, и фрагментом текстуры в кадрах, в которые размещаются фрагменты. Информация об отображении может, например, быть в форме:Display information can be generated that associates each 2D parameterization with its associated fragment. Display information may be generated to provide a link between the 2D parameterization and the associated geometric fragment and texture fragment in the frames into which the fragments are placed. The display information may, for example, be in the form:
{параметры 2D параметризации; ID геометрического фрагмента; ID фрагмента текстуры}{2D parameterization parameters; Geometric fragment ID; Texture fragment ID}
при этом ID геометрического фрагмента может быть целочисленным значением или парой значений, содержащей индекс U столбца и индекс V строки, к которым принадлежит геометрический фрагмент в кадре, в котором он размещен; ID фрагмента текстуры может быть целочисленным значением или парой значений, содержащей индекс U’ столбца и индекс V’ строки, к которым принадлежит фрагмент текстуры в матрице фрагментов кадра(ов) (или сегментов кадра(ов)), к которому принадлежат фрагменты.wherein the ID of the geometric fragment may be an integer value or a pair of values containing the column index U and row index V to which the geometric fragment belongs in the frame in which it is placed; The texture fragment ID may be an integer value or a pair of values containing the column index U' and the row index V' to which the texture fragment belongs in the matrix of frame(s) fragments (or frame(s) segments) to which the fragments belong.
Точно такая же информация об отображении формируется для каждой 2D параметризации и связанного геометрического фрагмента, и фрагмента текстуры. Такая информация об отображении обеспечивает воссоздание соответствующих частей 3D сцены путем создания связки 2D параметризации с соответствующим геометрическим фрагментом и фрагментом текстуры. Если 2D параметризация является проецированием, то соответствующая часть 3D сцены может быть воссоздана путем де-проецирования (выполнения обратного проецирования) геометрической информации, которая содержится в связанном геометрическом фрагменте, и информации о текстуре в связанном фрагменте текстуры. Тогда информация об отображении соответствует списку информации об отображении:Exactly the same mapping information is generated for each 2D parameterization of both the associated geometric fragment and the texture fragment. This mapping information allows the corresponding parts of the 3D scene to be reconstructed by linking the 2D parameterization with the corresponding geometric and texture fragments. If the 2D parameterization is a projection, then the corresponding portion of the 3D scene can be reconstructed by de-projecting (backprojecting) the geometric information contained in the associated geometry fragment and the texture information in the associated texture fragment. Then the display information corresponds to the list of display information:
{параметры 2D параметризации; ID геометрического и фрагмента текстуры}i,{2D parameterization parameters; Geometric and texture fragment ID} i ,
Для i=1 до n, причем n количество 2D параметризаций.For i=1 to n, where n is the number of 2D parameterizations.
Фигура 10 показывает двумерный вид углового сектора обзора, соответствующего 3D части 3D сцены, связанной с сегментом T6 80 первого кадра 40, в соответствии с неограничивающим вариантом осуществления настоящего принципа.Figure 10 shows a two-dimensional view of an angular viewing sector corresponding to a 3D portion of a 3D scene associated with segment T6 80 of the
Как объяснено по отношению к фигуре 8, каждый первый сегмент с T1 81 по T8 88 связан с 3D частью 3D сцены. Когда первый кадр 40 получается путем равнопрямоугольного или по кубической карте проекционного отображения, 3D часть, связанная с заданным первым сегментом T (T∈[1,8] в неограничивающем примере фигуры 8) соответствует угловому диапазону 101 обзора с первой точки обзора, которая может быть определена с помощью . Количество 3D-фрагментов может быть получено из 3D части, чтобы сформировать фрагменты, такие как фрагмент 904, путем 2D-параметризации 3D-фрагментов. 3D-фрагмент соответствует подмножеству 3D части, т.е. группе точек, полученной как объяснено в отношении фигуры 9. 3D-фрагмент 102 может, например, быть определен с помощью угла обзора и диапазона расстояний от определенной точки обзора (либо первой точки 20 обзора, либо любой из точек обзора, полученных из дискретизации пространства 11 зрения). 3D-фрагмент 102, например, определяется с помощью , при этом соответствуют угловому диапазону, соответствующему углу обзора, а соответствует диапазону расстояний. Одно или несколько ограничений может быть применено при определении 3D-фрагментов (или групп точек). Например, сферический диапазон , связанный с 3D-фрагментом, должен содержаться или должен соответствовать диапазону угла обзора первого сегмента T6 86, определенного в первом кадре, чтобы избежать того, что один и тот же 3D-фрагмент охватывает два разных первых сегмента первого кадра (или эквивалентно два разных диапазона угла обзора, связанных с двумя разными сегментами). Фрагмент 904, содержащий информацию о глубине и/или информацию о текстуре, получается путем 2D-параметризации точек 3D-фрагмента 102, как объяснено в отношении фигуры 9. Как объяснено в отношении фигуры 9, может быть сформирован геометрический фрагмент 904, связанный с 3D-фрагментом 102, и дополнительно может быть сформирован геометрический фрагмент текстуры, связанный с 3D-фрагментом 102. Когда 3D-фрагмент 102 просматривается/определяется с первой точки 20 обзора, фрагмент 904 содержит только геометрическую информацию, причем информация о текстуре может быть извлечена из первого кадра 40.As explained with respect to Figure 8, each
Фигура 11 показывает примеры групп фрагментов, полученных путем 2D параметризации 3D-фрагментов 3D частей сцены, связанной с первыми сегментами первого кадра, в соответствии с неограничивающим вариантом осуществления настоящего принципа.Figure 11 shows examples of groups of fragments obtained by 2D parameterization of 3D fragments of 3D portions of the scene associated with the first segments of the first frame, in accordance with a non-limiting embodiment of the present principle.
Фигура 11 иллюстрирует некоторые из групп фрагментов, полученных путем 2D-параметризации групп точек, которые содержатся в частях сцены, связанных с некоторыми первыми сегментами первого кадра 40. Фигура 11 показывает, например, группу фрагментов S1, связанных с первым сегментом T1 81 первого кадра 40, группу фрагментов S3, связанных с первым сегментом T3 83 первого кадра 40, группу фрагментов S5, связанных с первым сегментом T5 85 первого кадра 40, группу фрагментов S6, связанных с первым сегментом T6 86 первого кадра 40 и группу фрагментов S8, связанных с первым сегментом T8 88 первого кадра 40. Даже если не проиллюстрировано, группы фрагментов S2, S4 и S7 могут быть получены из контента 3D частей сцены, связанных с соответствующими первыми сегментами T2 82, T4 84 и T7 87.Figure 11 illustrates some of the groups of fragments obtained by 2D parameterization of groups of points that are contained in parts of the scene associated with some of the first segments of the
Группа фрагментов может содержать фрагменты, содержащие информацию о глубине и информацию о текстуре. В соответствии с вариантом группа фрагментов может содержать фрагменты, содержащие только информацию о глубине или только информацию о текстуре. Когда группа фрагментов содержит фрагменты, содержащие только информацию о глубине (соответственно информацию о текстуре), может быть сформирована соответствующая группа фрагментов, содержащая фрагменты, которые содержат только информацию о текстуре (соответственно информацию о глубине). В соответствии с последним вариантом количество фрагментов глубины, которые содержатся в соответствующей группе (например, группе S1, связанной с первым сегментом T1) может отличаться от (например, быть больше, чем) количества фрагментов текстуры, которые содержатся в соответствующей группе (например, в группе S1’, не проиллюстрировано, связанной с тем же самым первым сегментом T1, что и группа S1).A group of fragments may contain fragments containing depth information and texture information. In an embodiment, the group of fragments may contain fragments containing only depth information or only texture information. When a tile group contains tiles that contain only depth information (respectively, texture information), a corresponding tile group can be formed containing tiles that contain only texture information (respectively, depth information). According to the latter embodiment, the number of depth fragments that are contained in the corresponding group (for example, the group S1 associated with the first segment T1) may be different from (for example, be greater than) the number of texture fragments that are contained in the corresponding group (for example, in group S1', not illustrated, associated with the same first T1 segment as group S1).
Количество фрагментов, которые содержатся в группе, может варьироваться от группы к другой группе. Например, количество фрагментов, которое содержится в группе S1, больше количества фрагментов, которое содержится в группах S5 и S8, но меньше, чем количество фрагментов, которое содержится в группах S3 и S6. Количество фрагментов, которое содержится в группе (например, группе S1), может зависеть от контента 3D части сцены, связанной с первым сегментом, связанным с упомянутой группой (например, первым сегментом T1). Количество фрагментов может, например, зависеть от количества согласованных по глубине групп точек, которые содержатся в 3D части сцены, соответствующей первому сегменту (например, первому сегменту T1), связанному с группой фрагментов (например, S1).The number of fragments that are contained in a group may vary from group to other group. For example, the number of fragments that is contained in group S1 is greater than the number of fragments that is contained in groups S5 and S8, but less than the number of fragments that is contained in groups S3 and S6. The number of fragments that are contained in a group (eg, group S1) may depend on the content of the 3D portion of the scene associated with the first segment associated with said group (eg, first segment T1). The number of fragments may, for example, depend on the number of depth-matched groups of points that are contained in the 3D portion of the scene corresponding to the first segment (eg, the first segment T1) associated with the group of fragments (eg, S1).
В соответствии с вариантом, количество фрагментов является одним и тем же в каждой из групп фрагментов. Количество фрагментов может быть определяемым пользователем значением или значением по умолчанию, которое хранится в устройстве, выполненном с возможностью формирования фрагментов и групп фрагментов.According to an embodiment, the number of fragments is the same in each of the fragment groups. The number of fragments may be a user-defined value or a default value that is stored in a device configured to generate fragments and groups of fragments.
Фигура 12 показывает неограничивающий пример кодирования, передачи и декодирования данных, представляющих собой 3D сцену в формате, который, одновременно, совместим с 3DoF и 3DoF+ визуализацией.Figure 12 shows a non-limiting example of encoding, transmitting and decoding data representing a 3D scene in a format that is simultaneously compatible with 3DoF and 3DoF+ rendering.
3D сцена 120 (или последовательность 3D сцен) кодируется в потоке 122 кодером 121. Поток 122 содержит первый элемент синтаксиса, несущий данные, представляющие собой 3D сцену для 3DoF визуализации (данные первого изображения 40 фигуры 8), и по меньшей мере второй элемент синтаксиса, несущий данные, представляющие собой 3D сцену для 3DoF+ визуализации (например, данные одного или более вторых/третьих изображений 130 фигуры 13 и/или данные одного или более четвертых изображений 151, 152 фигуры 15).A 3D scene 120 (or a sequence of 3D scenes) is encoded into a
Кодер 121 является, например, совместимым с кодером, таким как:
HEVC (его спецификация находится на веб-сайте ITU, рекомендация T, выпуск H, h265, http://www.itu.int/rec/T-REC-H.265-201612-I/en);HEVC (its specification is on the ITU website, Recommendation T, Issue H, h265, http://www.itu.int/rec/T-REC-H.265-201612-I/en);
3D-HEVC (расширение HEVC, спецификация которого находится на веб-сайте ITU, рекомендация T, выпуск H, h265, http://www.itu.int/rec/T-REC-H.265-201612-I/en приложение G и I);3D-HEVC (an extension of HEVC whose specification is on the ITU website, Recommendation T, Issue H, h265, http://www.itu.int/rec/T-REC-H.265-201612-I/en appendix G and I);
VP9, разработанный Google; илиVP9, developed by Google; or
AV1 (AOMedia Video 1) разработанный Альянсом за Открытые Медиа.AV1 (AOMedia Video 1) developed by the Alliance for Open Media.
Декодер 123 получает поток 122 от источника. Например, источник принадлежит к набору, содержащему:
- локальную память, например, видеопамять или RAM (или Память с Произвольным Доступом), флэш-память, ROM (или Постоянная Память), жесткий диск;- local memory, for example, video memory or RAM (or Random Access Memory), flash memory, ROM (or Read Only Memory), hard drive;
- интерфейс хранения, например, интерфейс с запоминающим устройством большой емкости, RAM, флэш-памятью, ROM, оптическим диском или магнитным средством обеспечения;- a storage interface, for example, an interface with a mass storage device, RAM, flash memory, ROM, optical disk or magnetic media;
- интерфейс связи, например, проводной интерфейс (например, интерфейс шины, интерфейс глобальной сети, интерфейс локальной сети) или беспроводной интерфейс (такой как интерфейс IEEE 802.11 или интерфейс Bluetooth®); и- a communication interface, for example a wired interface (such as a bus interface, a WAN interface, a LAN interface) or a wireless interface (such as an IEEE 802.11 interface or a Bluetooth® interface); And
- интерфейс пользователя, такой как Графический Интерфейс Пользователя, позволяющий пользователю вводить данные.- a user interface, such as a Graphical User Interface, allowing the user to enter data.
Декодер 123 декодирует первый элемент синтаксиса потока 122 для 3DoF визуализации 124. Применительно к 3DoF+ визуализации 125 декодер декодирует как первый элемент синтаксиса, так и второй элемент синтаксиса потока 122.
Декодер 123 совместим с кодером 121, например, совместим с декодером, таким как:
HEVC;HEVC;
3D-HEVC (расширение HEVC);3D-HEVC (HEVC extension);
VP9; илиVP9; or
AV1.AV1.
Фигура 13 показывает пример размещения фрагментов, которые содержатся в группах фрагментов фигуры 11 во вторых сегментах с 1301 по 13032 второго кадра 130, в соответствии с неограничивающим вариантом осуществления настоящих принципов.Figure 13 shows an example of the arrangement of tiles that are contained in the tile groups of Figure 11 in
Второй кадр 130 делится на множество вторых сегментов с 1301 по 13032, например, 32 вторых сегмента в неограничивающем примере фигуры 13. Количество вторых сегментов не ограничено 32 и может быть любым количеством при условии, что количество вторых сегментов больше количества первых сегментов первого изображения 40. Как и для первых сегментов, размер (например, высота и ширина) каждого второго сегмента с 1301 по 13032 является таким, что второй сегмент может содержать целое количество (больше или равное 1) CTU (Единица Дерева Кодирования, CTU соответствует наибольшему блоку кодирования, например, размера 64×64), причем вторые сегменты с 1301 по 13032 организованы в шаблоне сетки, со строками и столбцами фиксированного или переменного размера (например, Основной профиль 10 уровень 5.1 HEVC устанавливает максимальное количество строк и столбцов сегментов в 11×10).The
Вторые сегменты с 1301 по 13032 связаны с первыми сегментами с T1 по T8, причем один или несколько вторых сегментов связаны с каждым первым сегментом. Например, 2 вторых сегмента (например, вторые сегменты с 1301 по 1302) могут быть назначены первому сегменту T1, 4 вторых сегмента (например, вторые сегменты с 1303 по 1306) могут быть назначены первому сегменту T2, 5 вторых сегментов (например, вторые сегменты с 1307 по 13011) могут быть назначены первому сегменту T3, 5 вторых сегментов (например, вторые сегменты с 13012 по 13016) могут быть назначены первому сегменту T4, 3 вторых сегмента (например, вторые сегменты с 13017 по 13019) могут быть назначены первому сегменту T5, 5 вторых сегментов (например, вторые сегменты с 13020 по 13024) могут быть назначены первому сегменту T6, 5 вторых сегментов (например, вторые сегменты с 13025 по 13029) могут быть назначены первому сегменту T7 и 3 вторых сегмента (например, вторые сегменты с 13030 по 13032) могут быть назначены первому сегменту T8. Вторые сегменты используются, чтобы содержать и транспортировать фрагменты, полученные путем 2D-параметризации 3D частей сцены, связанных с первыми сегментами с T1 по T8. Фрагменты, которые содержатся в группе фрагментов S1, полученной путем 2D параметризации 3D части, связанной с первым сегментом T1, размещаются во вторых сегментах с 1301 по 1302, назначенных первому сегменту T1; фрагменты группы S2 размещаются во вторых сегментах с 1303 по 1306, назначенных первому сегменту T2; фрагменты группы S3 размещаются во вторых сегментах с 1307 по 13011, назначенных первому сегменту T3 и т.д.
Вторые сегменты получаются, например, путем подразделения первых сегментов. Первый сегмент может, например, быть подразделен на 2, 4 или 8 вторых сегментов.The second segments are obtained, for example, by subdividing the first segments. The first segment can, for example, be subdivided into 2, 4 or 8 second segments.
Количество вторых сегментов, назначенных первому сегменту, может, например, зависеть от количества фрагментов, которые содержатся в группе фрагментов, связанной с первым сегментом. Данное количество может быть дополнительно ограничено максимальным значением так, что каждый первый сегмент может быть назначен по меньшей мере одному второму сегменту.The number of second segments assigned to the first segment may, for example, depend on the number of fragments that are contained in a group of fragments associated with the first segment. This number may be further limited to a maximum value such that each first segment may be assigned to at least one second segment.
Второе изображение 130 может содержать фрагменты, содержащие информацию о глубине и текстуре. В соответствии с вариантом второе изображение 130 может содержать фрагменты, содержащие только информацию о глубине, и формируется третье изображение, чтобы содержать фрагменты, содержащие информацию о текстуре, связанные с первыми сегментами, за исключением фрагментов, полученных из первой точки обзора. Третье изображение содержит множество третьих сегментов, причем количество третьих сегментов больше количества первых сегментов.The
Параметры, такие как размер кадра и количество сегментов, могут быть одними и теми же для первых и вторых изображений. В соответствии с вариантом один или несколько параметров отличаются для первого и второго изображений.Parameters such as frame size and number of segments may be the same for the first and second images. In an embodiment, one or more parameters are different for the first and second images.
Фигура 14 показывает неограничивающий пример процесса для размещения фрагментов у группы фрагментов с S1 по S8 во вторых сегментах второго кадра 130 (и/или в третьем кадре).Figure 14 shows a non-limiting example of a process for placing tiles of a group of tiles S 1 through S 8 in the second segments of the second frame 130 (and/or in the third frame).
Первоначальный бюджет по вторым сегментам составляет 32 в соответствии с примером Фигуры 14.The initial budget for the second segments is 32 in accordance with the example of Figure 14.
Ввод для процесса состоит из списка из групп St из фрагментов ( и целые числа, причем соответствует количеству фрагментов в группе, причем = 8 в соответствии с примером Фигуры 14), причем , каждая группа с S1 по S8 соответствует первому сегменту с T1 по T8 в первом кадре 40.The input for the process consists of a list of groups S t of fragments ( And integers, and corresponds to the number of fragments in the group, and = 8 in accordance with the example of Figure 14), and , each group S 1 to S 8 corresponds to the first segment T1 to T8 in the
На первой операции проверяется, является ли размер каждого входного фрагмента не шире или выше размера второго сегмента. Например, с учетом того, что размер второго кадра 130 составляет 2048×1024 пикселей, и что 32 вторых сегмента имеют один и тот же размер, размер второго сегмента составляет 256×256 пикселей. Когда фрагмент не помещается в целевой размер второго сегмента, фрагмент дробится на более мелкие фрагменты, причем размер каждого меньше целевого размера второго сегмента.The first operation checks whether the size of each input fragment is no wider or higher than the size of the second segment. For example, given that the size of the
На второй операции входные фрагменты сортируются по убыванию визуальной важности. Визуальная важность фрагмента может зависеть от его расстояния от точки просмотра (чем дальше, тем меньше важность), и/или его углового местоположения по отношению к основному направлению просмотра (крайние левые, правые, верхние или нижние фрагменты менее важны, чем центральные), и/или преград (фрагменты, которые закрыты с центральной точки просмотра являются менее важными). Сортировка в соответствии с визуальной важностью выполняется для всех входных фрагментов, т.е. путем обработки всех входных фрагментов всех групп фрагментов с S1 по S8 в одно и то же время и без параллельного рассмотрения групп фрагментов с S1 по S8 или одного после другого. Тем не менее информация, связанная с принадлежностью входных фрагментов к группам фрагментов, сохраняется для последующих операций.In the second operation, the input fragments sorted in descending order of visual importance. The visual importance of a fragment may depend on its distance from the viewing point (the farther away, the less important), and/or its angular location relative to the main viewing direction (the far left, right, top or bottom fragments are less important than the central ones), and /or obstructions (fragments that are obscured from the central viewing point are less important). Sorting according to visual importance is performed on all input fragments, i.e. by processing all input fragments of all fragment groups S 1 to S 8 at the same time and without considering the fragment groups S 1 to S 8 in parallel or one after the other. However, information related to the membership of input fragments in fragment groups is retained for subsequent operations.
алгоритмов упаковки могут, например, выполняться параллельно, причем один алгоритм упаковки для каждой группы фрагментов с S1 по S8. В качестве примеров, в качестве алгоритма упаковки могут быть использованы способы Шельфов, Гильотины, Максимальных Прямоугольников и Горизонта, со всеми их вариантами, описанные в документе «A thousand ways to pack the bin - A practical approach to two-dimensional rectangle bin packing», автор J. Jylänki. packing algorithms can, for example, be executed in parallel, with one packing algorithm for each group of fragments S 1 to S 8 . As examples, the Shelf, Guillotine, Maximum Rectangle and Horizon methods, with all their variants, described in the document “A thousand ways to pack the bin - A practical approach to two-dimensional rectangle bin packing” can be used as a packing algorithm. by J. Jylänki.
На третьей операции входные фрагменты могут быть обработаны один за другим, начиная с наиболее визуально важного. Определяется группа фрагментов, к которой принадлежит входной фрагмент (например, извлекается из метаданных, связанных с входными фрагментами) и входные фрагменты направляются в ветвь упаковки (t=с 1 по 8), соответствующую группе фрагментов, к которой каждый из них принадлежит. Один или несколько вторых сегментов с 1301 по 13032 назначаются каждой ветви упаковки.In the third operation, the input fragments can be processed one by one, starting with the most visually important. The fragment group to which the input fragment belongs is determined (eg, extracted from the metadata associated with the input fragments) and the input fragments are directed to the packaging branch (t=1 to 8) corresponding to the fragment group to which each belongs. One or more
Когда в одной из ветвей упаковки больше нет места в текущем втором сегменте для текущего поступающего фрагмента, создается новый пустой второй сегмент и упаковка возобновляется до следующего раунда упаковки. Применительно к следующим фрагментам в той ветви упаковки, все вторые сегменты, созданные в течение предыдущего раунда упаковки, остаются в качестве потенциальных целевых вторых сегментов. Конечно, новый поступающий входной фрагмент может быть меньше предыдущего и может быть размещен в ранее созданном втором сегменте.When one of the packing branches no longer has room in the current second segment for the current incoming fragment, a new empty second segment is created and packaging resumes until the next round of packaging. For subsequent fragments in that packaging branch, all second segments created during the previous packaging round remain as potential target second segments. Of course, the new incoming input fragment may be smaller than the previous one and may be placed in the previously created second segment.
Процесс останавливается, когда все входные фрагменты были обработаны или, был использован бюджет вторых сегментов и все вторые сегменты заполнены. Если второй кадр 130 недостаточного размера и все входные фрагменты не могут быть упакованы, оставшиеся неупакованные фрагменты не пакуются и отбрасываются. Поскольку входные фрагменты были обработаны в соответствии с их визуальной важностью, то отброшенные входные фрагменты соответствуют наименее визуально важным входным фрагментам, что ограничивает проблемы при визуализации 3D сцены из фрагментов второго кадра 130.The process stops when all input fragments have been processed or the budget for the second segments has been used and all second segments are full. If the
Фигура 15 показывает неограничивающие примеры двух четвертых кадров 151, 152, полученных из вторых сегментов второго кадра 130 (и/или из третьих сегментов третьего кадра).Figure 15 shows non-limiting examples of two
Каждый из четвертых кадров 151, 152 содержит фрагменты, которые содержатся в части вторых сегментов второго кадра 130. Вторые сегменты в четвертом кадре соответствуют выбору некоторых из первых сегментов в первом кадре, причем существует отображение между первыми сегментами и вторыми сегментами. На стороне визуализации может потребоваться только часть первого кадра, поскольку окно просмотра устройства конечного пользователя, которое используется для визуализации контента, может быть меньше поля обзора контента первого кадра 40. В соответствии с направлением просмотра, которое может быть определено на уровне устройства конечного пользователя, может быть продемонстрирована только суб-часть кадра 40 и должно быть осуществлено декодирование и визуализация только первых сегментов, соответствующих данной суб-части.Each of the
Четвертый кадр 151 содержит, например, 20 четвертых сегментов, размещенных в 5 столбцах и 4 строках (с, например, разрешением 1280×1024 пикселей). Четвертый кадр 151 содержит данные, соответствующие окну просмотра, которое охватывает 3D части 3D сцены, связанные с первыми сегментами T1, T2, T5 и T6, и содержит фрагменты, полученные путем 3D-параметризации 3D частей 3D сцены, связанной с этими первыми сегментами T1, T2, T5 и T6, т.е. фрагменты, которые содержатся во вторых сегментах 1301, 1302, 1033, 1034, 1305, 1306, 13017, 13018, 13019, 13020, 13021, 13022, 13023 и 13024. Сегмент данного четвертого кадра может соответствовать второму сегменту и содержать контент (фрагменты и данные, которые содержатся в фрагментах) соответствующего второго сегмента, причем второй сегмент идентифицируется своим индексом, т.е. с 1 по 32. Оставшиеся сегменты данного четвертого кадра, т.е. сегменты, заполненные диагональными полосами, являются пустыми и не содержат данные или содержат фиктивные данные.The
Четвертые сегменты могут быть получены из вторых сегментов или непосредственно из процесса 2D параметризации, без формирования вторых сегментов второго кадра фигуры 13.The fourth segments can be obtained from the second segments or directly from the 2D parameterization process, without generating the second segments of the second frame of Figure 13.
Каждый из первого, второго, третьего и четвертого кадров имеет фиксированный по времени размер и фиксированное по времени количество сегментов. Размер и/или количество сегментов могут быть либо одними и теми же для первого, второго, третьего и четвертого кадров, либо могут быть разными между первым, вторым, третьим и/или четвертым кадрами.Each of the first, second, third and fourth frames has a time-fixed size and a time-fixed number of segments. The size and/or number of segments may be either the same for the first, second, third and fourth frames, or may be different between the first, second, third and/or fourth frames.
Четвертый кадр 152 содержит 20 четвертых сегментов, размещенных в 5 столбцах и 4 строках, как для четвертого кадра 151. Четвертый кадр 152 содержит данные, соответствующие окну просмотра, которое охватывает 3D части 3D сцены, связанной с первыми сегментами T2, T3, T6 и T7, и содержит фрагменты, полученные путем 3D-параметризации 3D частей 3D сцены, связанных в этими первыми сегментами T2, T3, T6 и T7, т.е. фрагменты, которые содержатся во вторых сегментах 1033, 1034, 1305, 1306, 1037, 1038, 1309, 13010, 13011, 13020, 13021, 13022, 13023, 13024, 13025, 13026, 13027, 13028 и 13029. Вторые сегменты, распределенные четвертому кадру, идентифицируются с помощью их индекса 3, 4, 5, 6, 7, 8, 9, 10, 11,20, 21, 22, 23, 24, 25, 26, 27, 28 и 29. Оставшийся сегмент четвертого кадра, т.е. сегмент, заполненный диагональными полосами, является пустым и не содержит данные или содержит фиктивные данные.The
Вообще говоря, существует сочетаний первых сегментов в первом кадре 40, соответствующих всенаправленному плоскому изображению/видео сцены, причем каждое сочетание из первых сегментов соответствует разной ориентации окна просмотра ( является целым числом, например, равным 4). Запрашивается только первых сегментов из полного набора из первых сегментов ( причем W равно 4 и H равно 2 в примере фигуры 8) и дорожка экстрактора выполняет их агрегацию в разделенный на сегментный совместимый с HEVC (или VP9 или AV1) битовый поток перед декодированием.Generally speaking, there is combinations of first segments in the
Аналогичный процесс агрегации выполняется для подмножества вторых сегментов (из полного набора из вторых сегментов), соответствующих одному из сочетаний первых сегментов. Вторые сегменты все одного и того же размера, причем всегда возможна агрегация с разделением на сегменты в прямоугольный кадр (например, четвертый кадр 151, 152) из сегментов . Существует 3 возможности:A similar aggregation process is performed for the subset second segments (from the full set of second segments) corresponding to one of combinations of the first segments. The second segments are all the same size, and aggregation into segments into a rectangular frame (for example,
(i) полная сетка деления на сегменты на стороне декодера (т.е. четвертый кадр) используется для агрегации;(i) the full segmentation grid on the decoder side (ie the fourth frame) is used for aggregation;
(ii) используется только часть сетки деления на сегменты на стороне декодера, и фиктивные значения заполняют неиспользованные сегменты (показаны с помощью диагональных полос);(ii) only part of the decoder-side segmentation grid is used, and dummy values fill in the unused segments (shown with diagonal bars);
(iii) используется полная сетка деления на сегменты на стороне декодера (т.е. четвертый кадр), но некоторые вторые сегменты сбрасываются; поскольку каждому фрагменту назначается значение визуальной важности (в соответствии с алгоритмом упаковки, описанным по отношению к фигуре 14), то визуальная важность сегментов определяется как максимальная визуальная важность фрагментов в нем упакованных; приоритетно сбрасываются сегменты с наименьшей визуальной важностью.(iii) the full decoder-side segmentation grid is used (i.e. the fourth frame), but some second segments are discarded; since each fragment is assigned a visual importance value (in accordance with the packing algorithm described in relation to Figure 14), the visual importance of segments is defined as the maximum visual importance of the fragments packed within it; Segments with the least visual importance are reset with priority.
Фигура 16 показывает неограничивающий пример варианта осуществления синтаксиса потока, несущего информацию и данные, представляющие собой 3D сцену, когда данные передаются через основанный на пакете протокол передачи. Фигура 16 показывает примерную структуру 16 потока объемного видео. Структура состоит из контейнера, который организует поток в независимых элементах синтаксиса. Структура может содержать часть 161 заголовка, которая является набором данных общих для каждого из элементов синтаксиса потока. Например, часть заголовка содержит метаданные об элементах синтаксиса, описывающие характер и роль каждого из них. Часть заголовка также может содержать координаты точки обзора, использованной для кодирования первого кадра для 3DoF визуализации, и информацию о размере и разрешении кадров. Структура содержит полезную нагрузку, содержащую первый элемент 162 синтаксиса и по меньшей мере один второй элемент 163 синтаксиса. Первый элемент 162 синтаксиса содержит данные, представляющие собой первый кадр, подготовленный для 3DoF визуализации, соответствующий, например, первой видеодорожке, связанной с данными текстуры первого кадра, кодированного в первом элементе синтаксиса.Figure 16 shows a non-limiting example of an embodiment of a stream syntax carrying information and data representing a 3D scene when the data is transmitted through a packet-based transfer protocol. Figure 16 shows an exemplary volumetric
Один или несколько вторых элементов 163 синтаксиса содержат геометрическую информацию и информацию о текстуре, связанные с, например, одной или несколькими вторыми видеодорожками. Один или несколько вторых элементов 163 синтаксиса содержат, например, данные, представляющие собой один или несколько вторых кадров и/или третьих кадров, описанных по отношению к фигуре 13.One or more
В соответствии с вариантом один или несколько вторых элементов 163 синтаксиса содержат данные, представляющие собой один или несколько четвертых кадров, описанных по отношению к фигуре 15.In an embodiment, one or more
В соответствии с дополнительным вариантом поток дополнительно содержит по меньшей мере инструкцию для извлечения по меньшей мере части упомянутых первых данных и вторых данных в одном или более третьих элементах синтаксиса.According to a further embodiment, the stream further comprises at least instructions for retrieving at least a portion of said first data and second data in one or more third syntax elements.
В целях иллюстрации в контексте стандарта формата файла ISOBMFF, обращение к фрагментам текстуры, геометрическим фрагментам и метаданным как правило будет осуществляться в дорожках ISOBMFF в блоке типа moov, причем сами данные текстуры и данные геометрии встроены в блок медиа-данных типа mdat.For purposes of illustration, in the context of the ISOBMFF file format standard, texture chunks, geometry chunks, and metadata will typically be accessed in ISOBMFF tracks in a block of type moov, with the texture data and geometry data themselves embedded in a media data block of type mdat.
Фигура 17 показывает неограничивающий пример процесса, чтобы кодировать 3D сцену. Процесс фигуры 17 соответствует основанному на сегментах кодированию (например, основанному на сегментах HEVC или основанному на сегментах AV1) и инкапсуляции в файл объемного видео.Figure 17 shows a non-limiting example of a process to encode a 3D scene. The process of Figure 17 corresponds to segment-based encoding (eg, HEVC segment-based or AV1 segment-based) and volumetric video file encapsulation.
Последовательность 171 первых кадров 40 может быть кодирована, чтобы получить:The
Множество дорожек 1710 сегментов, которые переносят обратно совместимое всенаправленное видео, причем каждая дорожка сегментов содержит данные, которые содержатся в одном отличном первом сегменте из первых сегментов с T1 по T8 (например, одна дорожка сегментов для переноса контента первого сегмента T1, одна дорожка сегментов для переноса контента первого сегмента T2, одна дорожка сегментов для переноса контента первого сегмента T3, … и одна дорожка сегментов для переноса контента первого сегмента T8); причем количество дорожек сегментов может находиться между, например, 2 и N, причем N соответствует количеству первых сегментов в первом кадре 40;A plurality of
Метаданные 1712, соответствующие проецированию, которое используется для получения первого кадра, сшиванию и упаковке по областям, чтобы осуществлять визуализацию всенаправленного видео;Metadata 1712 corresponding to the projection that is used to obtain the first frame, stitching and packing into regions to render omnidirectional video;
Одну или несколько дорожек 1711 экстрактора, вплоть до максимального количества дорожек экстрактора, соответствующих количеству C возможных ориентаций окна просмотра; экстрактор содержит инструкции для воссоздания битового потока, который может быть декодирован одним декодером, причем воссозданный битовый поток является синтаксически корректным для декодирования посредством декодера.One or
Сигнал, полученный на выходе процесса кодирования, может содержать, например, 8 дорожек 1710 сегментов (8 соответствует количеству первых сегментов в примере фигуры 8), 4 дорожки 1711 экстрактора (4 соответствует количеству возможных сочетаний первых сегментов в соответствии с ориентацией окна просмотра на устройстве конечного пользователя, а именно первое сочетание, содержащее первые сегменты T1, T2, T5, T6; второе сочетание, содержащее первые сегменты T2, T3, T6, T7; третье сочетание, содержащее первые сегменты T3, T4, T7, T8; и четвертое сочетание, содержащее первые сегменты T4, T1, T8, T5), и метаданные 1712.The output signal from the encoding process may contain, for example, 8 segment tracks 1710 (8 corresponds to the number of first segments in the example of Figure 8), 4 extractor tracks 1711 (4 corresponds to the number of possible combinations of first segments in accordance with the orientation of the viewport on the end device user, namely a first combination containing the first segments T1, T2, T5, T6; a second combination containing the first segments T2, T3, T6, T7; a third combination containing the first segments T3, T4, T7, T8; and a fourth combination, containing the first segments T4, T1, T8, T5), and metadata 1712.
В соответствии с вариантом сигнал содержит только часть из 8 дорожек 1710 сегментов, только одну дорожку 1711 экстрактора и метаданные 1712. Например, декодер может передавать запрос, который запрашивает заданную ориентацию окна просмотра, соответствующую одному сочетанию первых сегментов, например, второму сочетанию, содержащему первые сегменты T2, T3, T6, T7. В ответ на запрос кодер может кодировать только дорожку экстрактора, соответствующую запросу с дорожками 2, 3, 6 и 7 сегментов, содержащими связанные первые сегменты T2, T3, T6 и T7, и передавать запрошенный экстрактор, 4 дорожки сегментов, необходимые для воссоздания битового потока для визуализации запрошенного окна просмотра, с связанными метаданными 1712. Такой вариант обеспечивает уменьшение затрат на кодирование и уменьшение полосы пропускания, которая необходима для транспортировки данных. Такая зависимая от окна просмотра доставка контента может быть реализована на основании механизма потоковой передачи DASH (документ «ISO/IEC 23009-1, Dynamic adaptive streaming over HTTP» (Динамическая адаптивная потоковая передача через HTTP)).In an embodiment, the signal contains only a portion of the 8
Кодирование последовательности 171 обеспечивает визуализацию всенаправленного видео после декодирования, причем дорожки, полученные из кодирования данной последовательности 171, совместимы, например, со стандартом OMAF (документ «ISO/IEC 23090-2 Information Technology - Coded representation of immersive media (MPEG-I) - Part 2: Omnidirectional media format» (Информационные Технологии - Кодированное представление мультимедиа с погружением (MPEG-I) - Часть 2: Формат всенаправленного мультимедиа).The encoding of the
Последовательность 172 вторых кадров 130 может быть кодирована, чтобы получить:The
Множество дорожек 1720 сегментов, которые переносят вторые сегменты и связанные фрагменты, причем каждая дорожка сегментов содержит данные, которые содержатся в одном отличном втором сегменте из вторых сегментов с 1301 по 13032;A plurality of
Метаданные 1722, содержащие, например, параметры отмены проецирования фрагментов, информацию, представляющую собой местоположение внутри вторых сегментов второго кадра (соответственно местоположение внутри третьих сегментов третьего кадра, если применимо); и
Одну или несколько дорожек 1721 экстрактора, вплоть до максимального количества дорожек экстрактора, соответствующего количеству C возможных ориентаций окна просмотра; экстрактор содержит одну или несколько инструкций для воссоздания битового потока, который может быть декодирован одним декодером, причем воссозданный битовый поток является синтаксически корректным для декодирования посредством декодера; экстрактор содержит инструкцию для извлечения данных из другой дорожки, которая связана с дорожкой, в которой находится экстрактор, как описано в документе «Information Technology - Coding of audiovisual objects - Part 15: carriage of NAL unit structured video in the ISO Base Media File Format, AMENDMENT 1: Carriage of Layered HEVC», ISO/IEC 14496-15:2014/PDAM 1, датированный 11 июля 2014 г.One or
Сигнал, полученный на выходе процесса кодирования может содержать, например, 32 дорожки 1720 сегментов (32 соответствует количеству вторых сегментов в примере фигуры 13), 4 дорожки 1721 экстрактора (4 соответствует количеству возможных сочетаний первых сегментов в соответствии с ориентацией окна просмотра устройства конечного пользователя, а именно первое сочетание, содержащее вторые сегменты, распределенные для первых сегментов T1, T2, T5, T6; второе сочетание, содержащее вторые сегменты, распределенные для первых сегментов T2, T3, T6, T7; третье сочетание, содержащее вторые сегменты, распределенные для первых сегментов T3, T4, T7, T8; и четвертое сочетание, содержащее вторые сегменты, распределенные для первых сегментов T4, T1, T8, T5), и метаданные 1722.The output signal from the encoding process may contain, for example, 32 segment tracks 1720 (32 corresponds to the number of second segments in the example of Figure 13), 4 extractor tracks 1721 (4 corresponds to the number of possible combinations of the first segments according to the orientation of the end user device's viewing window, namely, a first combination containing second segments allocated to the first segments T1, T2, T5, T6; a second combination containing second segments allocated to the first segments T2, T3, T6, T7; a third combination containing second segments allocated to the first segments T3, T4, T7, T8; and a fourth combination containing the second segments allocated to the first segments T4, T1, T8, T5), and
В соответствии с вариантом сигнал содержит только часть из 32 дорожек 1720 сегментов, только одну дорожку 1721 экстрактора и метаданные 1722. Например, декодер может передавать запрос, который запрашивает заданную ориентацию окна просмотра, соответствующую одному сочетанию первых сегментов, например, второму сочетанию, содержащему вторые сегменты, распределенные для первых сегментов T2, T3, T6, T7. В ответ на запрос кодер может формировать только дорожку экстрактора, соответствующую запросу, и кодировать дорожки сегментов, содержащие вторые сегменты, распределенные для первых сегментов T2, T3, T6 и T7, содержащих данные, связанные со вторыми сегментами, распределенными первым сегментам T2, T3, T6 и T7, и передавать запрошенный экстрактор, причем связанные дорожки сегментов необходимы для воссоздания битового потока для визуализации запрошенного окна просмотра с связанными метаданными 1722. Такой вариант обеспечивает уменьшение затрат на кодирование и уменьшение полосы пропускания, которая необходима для транспортировки данных. Такая зависимая от окна просмотра доставка контента может быть реализована на основании механизма потоковой передачи DASH (документ «ISO/IEC 23009-1, Dynamic adaptive streaming over HTTP»).In an embodiment, the signal contains only a portion of the 32
Кодирование последовательности 172 с последовательностью 171 обеспечивает визуализацию объемного видео.
Если последовательность 172 соответствует последовательности вторых изображений, содержащих только геометрическую информацию, то дополнительная последовательность из третьих кадров, содержащих информацию о текстуре, может быть кодирована точно таким же образом, как последовательность 172.If
Фигура 18 показывает неограничивающий пример процесса, чтобы декодировать битовый поток, полученный с помощью процесса кодирования фигуры 17.Figure 18 shows a non-limiting example of a process to decode a bitstream obtained using the encoding process of Figure 17.
Процесс декодирования содержит два основных процесса, первый процесс, чтобы декодировать данные, представляющие собой всенаправленный контент (только информация о текстуре) для 3DoF визуализации, и второй процесс, чтобы декодировать данные, обеспечивающие визуализацию объемного контента применительно к 3DoF+ визуализации.The decoding process contains two main processes, a first process to decode data representing omnidirectional content (texture information only) for 3DoF rendering, and a second process to decode data representing volumetric content rendering for 3DoF+ rendering.
В первом процессе осуществляется синтаксический анализ дорожек 1810 сегментов, связанных с запрошенной ориентацией окна просмотра (дорожек, содержащих данные, связанные с первыми сегментами T2, T3, T6 и T7 в соответствии с неограничивающим примером фигуры 17) посредством синтаксического анализатора (парсера) 181 в соответствии с инструкциями, принятыми в дорожке экстрактора. Синтаксический анализатор 181 позволяет воссоздать битовый поток 1811, который совместим с декодером 183 (например, совместимый с HEVC битовый поток, если декодер 183 является HEVC-совместимым, или совместимый с AV1 битовый поток, если декодер 183 является AV1-совместимым). Данные, которые содержатся в битовом потоке 1811, декодируются декодером 183 и декодированные данные передаются визуализатору 185, который выполнен с возможностью визуализации всенаправленного контента с использованием метаданных 1712, которые содержатся в битовом потоке, полученном с помощью процесса кодирования фигуры 17.The first process parses the segment tracks 1810 associated with the requested viewport orientation (tracks containing data associated with the first segments T2, T3, T6, and T7 in accordance with the non-limiting example of Figure 17) by a
Во втором процессе осуществляется синтаксический анализ дорожек 1820 сегментов, связанных с запрошенной ориентацией окна просмотра (дорожек, содержащих фрагменты, которые содержатся во вторых сегментах (или третьих сегментах для данных текстуры), связанных с первыми сегментами T2, T3, T6 и T7, в соответствии с неограничивающим примером фигуры 17) посредством синтаксического анализатора 182 в соответствии с инструкциями, принятыми в дорожке экстрактора. Синтаксический анализатор 182 позволяет воссоздать битовый поток 1821, который совместим с декодером 184 (например, совместимый с HEVC битовый поток, если декодер 184 является HEVC-совместимым, или совместимый с AV1 битовый поток, если декодер 184 является AV1-совместимым). Воссозданный битовый поток содержит, например, данные одного или более четвертых кадров, описанных по отношению к фигуре 15. Данные, которые содержатся в битовом потоке 1821, декодируются декодером 184 и декодированные данные передаются визуализатору 186, который выполнен с возможностью визуализации объемной части объемного контента с использованием метаданных 1722, которые содержатся в битовом потоке, полученном с помощью процесса кодирования фигуры 17. Второй процесс может быть выполнен для дорожек сегментов, содержащих информацию о глубине, и для дорожек сегментов, содержащих информацию о текстуре.The second process parses the segment tracks 1820 associated with the requested viewport orientation (tracks containing fragments contained in the second segments (or third segments for texture data) associated with the first segments T2, T3, T6, and T7, according to with the non-limiting example of Figure 17) through the
Фигура 19 показывает примерную архитектуру устройства 19, которое может быть выполнено с возможностью реализации способа, описанного по отношению к фигурам 17, 18, 20 и/или 21. Устройство 19 может быть выполнено в виде кодера 121 или декодера 123 фигуры 12.Figure 19 shows an exemplary architecture of a
Устройство 19 содержит следующие элементы, которые связаны вместе шиной 191 адресов и данных:The
- микропроцессор 192 (или CPU), который является, например, DSP (или Цифровым Сигнальным Процессором);- microprocessor 192 (or CPU), which is, for example, a DSP (or Digital Signal Processor);
- ROM 193 (или Постоянную Память);- ROM 193 (or Read Only Memory);
- RAM 194 (или Память с Произвольным Доступом);- RAM 194 (or Random Access Memory);
- интерфейс 195 хранения;-
- интерфейс 196 I/O для приема данных для передачи, от приложения; и- interface 196 I/O for receiving data for transmission from the application; And
- источник питания, например, батарею.- power source, for example a battery.
В соответствии с примером, источник питания является внешним для устройства. В каждой упомянутой памяти слово «регистр», используемое в спецификации, может соответствовать зоне небольшой емкости (в несколько битов) или очень большой зоне (например, целой программе или большому объему принятых или декодированных данных). ROM 193 содержит по меньшей мере программу и параметры. ROM 193 может хранить алгоритмы и инструкции, чтобы выполнять методики в соответствии с настоящими принципами. При включении CPU 192 выгружает программу в RAM и исполняет соответствующие инструкции.According to the example, the power supply is external to the device. In each memory mentioned, the word "register" used in the specification may correspond to an area of small capacity (a few bits) or a very large area (for example, an entire program or a large amount of received or decoded data).
RAM 194 содержит, в регистре, программу, исполняемую CPU 192 и выгружаемую после включения устройства 19, входные данные в регистре, промежуточные данные в разных состояниях способа в регистре и прочие переменные, которые используются для исполнения способа в регистре.
Реализации, описанные в данном документе, могут быть реализованы в, например, способе или процессе, устройстве, компьютерном программном продукте, потоке данных или сигнале. Даже при обсуждении только в контексте единственной формы реализации (например, при обсуждении только в качестве способа или устройства), реализация обсуждаемых признаков также может быть реализована в других формах (например, в программе). Устройство может быть реализовано в, например, надлежащем аппаратном обеспечении, программном обеспечении или встроенном программном обеспечении. Способы могут быть реализованы в, например, устройстве, таком как, например, процессор, который относится к устройствам обработки в целом, включая, например, компьютер, микропроцессор, интегральную микросхему или программируемое логическое устройство. Процессоры также включают в себя устройства связи, такие как, например, компьютеры, сотовые телефоны, портативные/персональные цифровые помощники («PDA») и прочие устройства, которые обеспечивают сообщение для передачи информации между конечными пользователями.The implementations described herein may be implemented in, for example, a method or process, device, computer program product, data stream, or signal. Even when discussed only in the context of a single form of implementation (for example, when discussed only as a method or device), the implementation of the features discussed may also be implemented in other forms (for example, in a program). The device may be implemented in, for example, appropriate hardware, software or firmware. The methods may be implemented in, for example, a device such as, for example, a processor, which refers to processing devices in general, including, for example, a computer, microprocessor, integrated circuit, or programmable logic device. Processors also include communications devices, such as, for example, computers, cellular phones, portable/personal digital assistants (“PDAs”), and other devices that provide communications for the transfer of information between end users.
В соответствии с примером кодирования или кодера 121 фигуры 12, от источника получается трехмерная сцена. Например, источник принадлежит к набору, содержащему:According to the example encoding or
- локальную память (193 или 194), например, видеопамять или RAM (или Память с Произвольным Доступом), флэш-память, ROM (или Постоянную Память), жесткий диск;- local memory (193 or 194), for example, video memory or RAM (or Random Access Memory), flash memory, ROM (or Read Only Memory), hard drive;
- интерфейс (195) хранения, например, интерфейс с запоминающим устройством большой емкости, RAM, флэш-памятью, ROM, оптическим диском или магнитным средством обеспечения;- a storage interface (195), for example, an interface with a mass storage device, RAM, flash memory, ROM, optical disk or magnetic media;
- интерфейс (196) связи, например, проводной интерфейс (например, интерфейс шины, интерфейс глобальной сети, интерфейс локальной сети) или беспроводной интерфейс (такой как интерфейс IEEE 802.11 или интерфейс Bluettoth®); и- a communication interface (196), for example a wired interface (such as a bus interface, a WAN interface, a LAN interface) or a wireless interface (such as an IEEE 802.11 interface or a Bluetoth® interface); And
- интерфейс пользователя, такой как Графический Интерфейс Пользователя, позволяющий пользователю вводить данные.- a user interface, such as a Graphical User Interface, allowing the user to enter data.
В соответствии с примерами декодирования или декодера(ов) 123 фигуры 12, поток отправляется получателю; в частности, получатель принадлежит к набору, содержащем:According to the examples of decoding or decoder(s) 123 of Figure 12, the stream is sent to the recipient; specifically, the recipient belongs to the set containing:
- локальную память (193 или 194), например, видеопамять или RAM, флэш-память, жесткий диск;- local memory (193 or 194), for example, video memory or RAM, flash memory, hard drive;
- интерфейс (195) хранения, например, интерфейс с запоминающим устройством большой емкости, RAM, флэш-памятью, ROM, оптическим диском или магнитным средством обеспечения;- a storage interface (195), for example, an interface with a mass storage device, RAM, flash memory, ROM, optical disk or magnetic media;
- интерфейс (196) связи, например, проводной интерфейс (например, интерфейс шины (например, USB (или Универсальная Последовательная Шина)), интерфейс глобальной сети, интерфейс локальной сети, интерфейс HDMI (Мультимедийный Интерфейс Высокой Четкости)) или беспроводной интерфейс (такой как интерфейс IEEE 802.11 или интерфейс WiFi® и Bluettoth®).- a communication interface (196), for example, a wired interface (for example, a bus interface (for example, USB (or Universal Serial Bus)), a WAN interface, a LAN interface, an HDMI (High Definition Multimedia Interface) interface) or a wireless interface (such such as IEEE 802.11 interface or WiFi® and Bluettoth® interface).
В соответствии с примерами кодирования или кодера битовый поток, содержащий данные, представляющие собой объемную сцену, отправляется получателю. В качестве примера битовый поток сохраняется в локальной или удаленной памяти, например, видеопамяти или RAM, на жестком диске. В варианте битовый поток отправляется интерфейсу хранения, например, интерфейсу с запоминающим устройством большой емкости, флэш-памятью, ROM, оптическим диском или магнитным средством обеспечения и/или передается через интерфейс связи, например, интерфейс с линией связи типа точка-точка, шиной связи, линией связи типа точка-многоточка или широковещательной сетью.According to encoding or encoder examples, a bitstream containing data representing a volumetric scene is sent to a recipient. As an example, a bitstream is stored in local or remote memory, such as video memory or RAM, on a hard disk. In an embodiment, the bitstream is sent to a storage interface, such as an interface with a mass storage device, flash memory, ROM, optical disk, or magnetic media, and/or transmitted through a communications interface, such as an interface with a point-to-point link, a communications bus , point-to-multipoint link or broadcast network.
В соответствии с примерами декодирования или декодера, или визуализатора 123 фигуры 12 битовый поток получается от источника. В качестве примера битовый поток считывается из локальной памяти, например, видеопамяти, RAM, ROM, флэш-памяти или жесткого диска. В варианте битовый поток принимается от интерфейса хранения, например, интерфейса с запоминающим устройством большой емкости, RAM, ROM, флэш-памятью, оптическим диском или магнитным средством обеспечения и/или принимается от интерфейса связи, например, интерфейса с линией связи типа точка-точка, шиной, линией связи типа точка-многоточка или широковещательной сетью.According to the decoding examples, either the decoder or the
В соответствии с примерами устройство 19 выполнено с возможностью реализации способа, описанного по отношению к фигурам 17, 18, 20 и/или 21, и принадлежит к набору, содержащему:According to the examples, the
- мобильное устройство;- mobile device;
- устройство связи;- communication device;
- игровое устройство;- gaming device;
- планшет (или планшетный компьютер);- tablet (or tablet computer);
- лэптоп;- laptop;
- камеру для неподвижных картинок;- camera for still images;
- видеокамеру;- video camera;
- чип кодирования;- coding chip;
- сервер (например, широковещательный сервер, сервер видео по запросу или веб-сервер).- server (for example, broadcast server, video-on-demand server or web server).
Фигура 20 иллюстрирует способ для кодирования данных, представляющих собой 3D сцену, например, 3D сцену 10, в соответствии с неограничивающим вариантом осуществления настоящих принципов. Способ может, например, быть реализован в кодере 121 и/или в устройстве 19. Разные параметры устройства 19 могут быть обновлены. 3D сцена может, например, быть получена от источника, может быть определена одна или несколько точек зрения в пространстве 3D сцены, могут быть инициализированы параметры, связанные с проекционным отображением(ями).Figure 20 illustrates a method for encoding data representing a 3D scene, eg,
На первой операции 201 первые данные, представляющие собой текстуру 3D сцены, кодируются или форматируются в одну или более первых дорожек контейнера или файла в соответствии с определенным форматом, например, в соответствии с документом HEVC/H265: «ITU-T H.265 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (10/2014), SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS, Infrastructure of audiovisual services - Coding of moving video, High efficiency video coding, Recommendation ITU-T H.265» или в соответствии с AV1. Контейнер соответствует, например, файлу ISOBMFF (Базовый Формат Файла Мультимедиа ISO, документ ISO/IEC 14496-12-MPEG-4 Часть 12). Первые данные относятся к частям (например, точкам или элементам сетки) 3D сцены, которые видны в соответствии с одной первой точкой обзора. Первые данные содержат, например, метаданные и информацию сигнализации, указывающую на первый элемент синтаксиса битового потока, который содержит информацию о текстуре, кодированную в пикселях первого кадра, причем первый кадр разбит на множество сегментов. 3D часть 3D сцены 10 связана с каждым первым сегментом первого кадра 40. Каждая первая дорожка, например, связана с одним отличным первым сегментом и содержит первые данные связанного первого сегмента. Первые данные, как только декодированы или интерпретированы, обеспечивают получение 3DoF представления 3D сцены в соответствии с первой точкой обзора, т.е. представление без параллакса.In a
На второй операции 202 вторые данные, представляющие собой глубину, связанную с точками 3D сцены, кодируются в одну или более вторых дорожек контейнера или файла. Вторые данные размещаются во вторых сегментах второго кадра, который может соответствовать четвертому кадру 151, 152 фигуры 15. Разный набор вторых сегментов связывается с каждым первым сегментом и количество вторых сегментов, которые содержатся во втором кадре, больше количества первых сегментов первого кадра. Фрагменты вторых данных (вторые данные соответствуют, например, геометрической информации (глубине)) размещаются во вторых сегментах и кодируются в соответствующую вторую дорожку, например, в соответствии с форматом HEVC или AV1. Каждый фрагмент соответствует 2D параметризации части (т.е. группы точке) 3D сцены. Фрагменты, полученные путем 2D параметризации 3D части 3D сцены, связанной с заданными первыми сегментами, размещаются во вторых сегментах, распределенных для данного первого сегмента. Вторые данные, как только декодированы или интерпретированы, позволяют получить 3DoF+ представление 3D сцены в соответствии со множеством точек обзора, включая первую точку обзора, т.е. представление с параллаксом.In a
В соответствии с вариантом фрагменты содержат информацию о текстуре в дополнение к геометрической информации, за исключением фрагментов, полученных с учетом первой точки обзора. Другими словами, вторые данные содержат геометрические данные и данные текстуры.In an embodiment, the fragments contain texture information in addition to the geometric information, except for the fragments derived from the first viewpoint. In other words, the second data contains geometry data and texture data.
В соответствии с дополнительным вариантом фрагменты содержат только геометрическую информацию. В соответствии с данным вариантом может быть получен один или несколько дополнительных вторых кадров, причем каждый дополнительный второй кадр разбивается на множество вторых сегментов, причем количество вторых сегментов больше общего количества первых сегментов. Один или несколько вторых сегментов связываются с каждым первым сегментом и фрагменты данных текстуры размещаются во вторых сегментах и кодируются в дополнительные дорожки, называемые четвертыми дорожками. Фрагменты, полученные путем 2D параметризации 3D части 3D сцены, связанной с заданными первыми сегментами, размещаются во вторых сегментах, распределенных данному первому сегменту.According to a further embodiment, the fragments contain only geometric information. In this embodiment, one or more additional second frames may be obtained, each additional second frame being divided into a plurality of second segments, the number of second segments being greater than the total number of first segments. One or more second segments are associated with each first segment, and pieces of texture data are placed in the second segments and encoded into additional tracks called fourth tracks. The fragments obtained by 2D parameterization of the 3D part of the 3D scene associated with the given first segments are placed in the second segments allocated to the given first segment.
На третьей операции 204 одна или несколько инструкций кодируются в одной или более третьих дорожках контейнера или файла. Инструкции выполнены с возможностью извлечения первых и вторых данных из первой и второй дорожек и размещения извлеченных первых и вторых данных в битовый поток, отформатированный для декодирования одним декодером. Третья дорожка соответствует, например, дорожке экстрактора в соответствии с HEVC. Вторые данные кодируются во второй кадр(ы). Количество третьих дорожек, например, равно числу величины C возможных ориентаций окна просмотра, описанных по отношению к фигуре 17.In a third operation 204, one or more instructions are encoded into one or more third tracks of the container or file. The instructions are configured to extract first and second data from the first and second tracks and place the extracted first and second data into a bit stream formatted for decoding by a single decoder. The third track corresponds, for example, to the extractor track according to HEVC. The second data is encoded into the second frame(s). The number of third tracks, for example, is equal to the number of C values of possible viewport orientations described with respect to Figure 17.
В соответствии с дополнительным необязательным вариантом данные и инструкции первой, второй и третьей дорожек формируют битовый поток, который передается декодеру или визуализатору, содержащему декодер.In accordance with a further optional embodiment, the data and instructions of the first, second and third tracks form a bitstream that is transmitted to a decoder or renderer including the decoder.
Фигура 21 иллюстрирует способ для декодирования данных, представляющих собой 3D сцену, например, 3D сцену 10, в соответствии с неограничивающим вариантом осуществления настоящих принципов. Способ может, например, быть реализован в декодере 123 и/или в устройстве 19.Figure 21 illustrates a method for decoding data representing a 3D scene, eg,
На первой операции 211 одна или несколько инструкций декодируются из одной или более третьих дорожек контейнера или файла. Инструкции выполнены с возможностью извлечения первых и вторых данных из первой и второй дорожек и размещения извлеченных первых и вторых данных в битовый поток, отформатированный для декодирования одним декодером. Третья дорожка соответствует, например, дорожке экстрактора в соответствии с HEVC.In a
На второй операции 212 первые данные, представляющие собой текстуру части 3D сцены, которая видна в соответствии с первой точкой обзора, декодируются или интерпретируются из первых сегментов, которые содержатся в одной или более первых дорожках, как предписано инструкциями, полученными на операции 211. Первые данные позволяют получить 3DoF представление 3D сцены в соответствии с первой точкой обзора, т.е. представление без параллакса.At a
На третьей операции 213 вторые данные, представляющие собой геометрию 3D сцены, которая видна в соответствии с набором точек зрения, содержащих первую точку обзора, декодируются или интерпретируются из вторых сегментов, которые содержатся в одной или более вторых дорожках, как предписано инструкциями, полученными на операции 211. Вторые данные содержатся в фрагментах, полученных путем 2D параметризации группы точек 3D сцены. В соответствии с вариантом третьи данные, представляющие собой текстуру 3D сцены, которая видна в соответствии с упомянутым набором точек обзора, за исключением первой точки обзора, декодируются или интерпретируются из одного или более третьих сегментов дополнительных дорожек. Вторые данные с третьими данными обеспечивают получение 3DoF+ представления 3D сцены в соответствии с упомянутыми точками обзора, т.е. представление с параллаксом.In a
В соответствии с вариантом декодированные первые и вторые данные размещаются в битовом потоке, как предписано инструкциями, полученными на операции 211, чтобы сформировать битовый поток, который должен быть декодирован декодером. В соответствии с другим вариантом полученный битовый поток декодируется декодером для визуализации визуализатором. Полученный в результате визуализации контент может быть продемонстрирован на устройстве конечного пользователя для просмотра, таком как HMD, в соответствии с ориентацией точки обзора, соответствующей инструкциям.In an embodiment, the decoded first and second data are placed in a bit stream as prescribed by the instructions received at
Естественно настоящее изобретение не ограничивается ранее описанными вариантами осуществления.Naturally, the present invention is not limited to the previously described embodiments.
В частности, настоящее изобретение не ограничивается способом и устройством для кодирования/декодирования данных, представляющих собой 3D сцену, а также расширяется на способ для формирования битового потока, содержащего кодированные данные, и устройство, реализующее данный способ и в особенности на любые устройства, содержащие по меньшей мере один CPU и/или по меньшей мере один GPU.In particular, the present invention is not limited to a method and apparatus for encoding/decoding data representing a 3D scene, but also extends to a method for generating a bit stream containing encoded data and an apparatus implementing this method, and in particular to any devices containing at least one CPU and/or at least one GPU.
Настоящее изобретение также относится к способу (и устройству, выполненному с возможностью) для демонстрации изображений, полученных в результате визуализации из декодированных данных битового потока.The present invention also relates to a method (and apparatus configured) for displaying images resulting from rendering from decoded bitstream data.
Настоящее изобретение также относится к способу (и устройству, выполненному с возможностью) для передачи и/или приема битового потока.The present invention also relates to a method (and apparatus configured) for transmitting and/or receiving a bit stream.
Реализации, описанные в данном документе, могут быть реализованы в, например, способе или процессе, устройстве, компьютерном программном продукте, потоке данных или сигнале. Даже при обсуждении только в контексте одной формы реализации (например, при обсуждении только в качестве способа или устройства), реализация признаков, которые обсуждались, также может быть реализована в других формах (например, программе). Устройство может быть реализовано в, например, надлежащем аппаратном обеспечении, программном обеспечении и встроенном программном обеспечении. Способы могут быть реализованы в, например, устройстве, таком как, например, процессор, который относится к устройствам обработки в целом, включая, например, компьютер, микропроцессор, интегральную микросхему или программируемое логическое устройство. Процессоры также включают в себя устройства связи, такие как, например, интеллектуальные телефоны, планшеты, компьютеры, мобильные телефоны, портативные/персональные цифровые помощники («PDA») и прочие устройства, которые обеспечивают сообщение для передачи информации между конечными пользователями.The implementations described herein may be implemented in, for example, a method or process, device, computer program product, data stream, or signal. Even when discussed only in the context of one form of implementation (for example, when discussed only as a method or device), the implementation of the features that have been discussed may also be implemented in other forms (for example, a program). The device may be implemented in, for example, appropriate hardware, software and firmware. The methods may be implemented in, for example, a device such as, for example, a processor, which refers to processing devices in general, including, for example, a computer, microprocessor, integrated circuit, or programmable logic device. Processors also include communications devices, such as, for example, smart phones, tablets, computers, mobile phones, portable/personal digital assistants (“PDAs”), and other devices that provide communications for the transfer of information between end users.
Реализации различных процессов и признаков, описанных в данном документе, могут быть воплощены в многообразии разного оборудования или приложений, в частности, например, оборудовании или приложениях, связанных с кодированием данных, декодированием данных, формированием просмотра, обработкой текстуры и другой обработкой изображений, и связанной информации о текстуре и/или информации о глубине. Примеры такого оборудования включают кодер, декодер, постпроцессор, обрабатывающий выход с декодера, препроцессор, обеспечивающий ввод для кодера, кодер видео, декодер видео, кодек видео, веб-сервер, телевизионную абонентскую приставку, лэптоп, персональный компьютер, сотовый телефон, PDA и другие устройства связи. Как должно быть ясно, оборудование может быть мобильным или даже инсталлированным на мобильном транспортом средстве.Implementations of the various processes and features described herein may be embodied in a variety of different equipment or applications, particularly, for example, equipment or applications associated with data encoding, data decoding, view generation, texture processing and other image processing, and related texture information and/or depth information. Examples of such equipment include an encoder, decoder, post processor, processing output from the decoder, a preprocessor providing input to the encoder, video encoder, video decoder, video codec, web server, set-top box, laptop, personal computer, cell phone, PDA, and others. communication devices. As will be clear, the equipment may be mobile or even installed on a mobile vehicle.
Дополнительно, способы могут быть реализованы посредством инструкций, выполняемых процессором, и такие инструкции (и/или значения данных, создаваемые путем реализации) могут быть сохранны на читаемом процессором носителе информации, таком как, например, интегральная микросхемы, носитель программного обеспечения или другое запоминающее устройство, такое как, например, жесткий диск, компакт-дискета («CD»), оптический диск (такой как, например, DVD, часто упоминаемый как цифровой универсальный диск или цифровой видеодиск), память с произвольным доступом («RAM») или постоянная память («ROM»). Инструкции могут формировать прикладную программу, которая вещественным образом воплощается на читаемом процессором носителе информации. Инструкции могут быть, например, в аппаратном обеспечении, встроенном программном обеспечении, программном обеспечении или сочетании. Инструкции можно найти, например, в операционной системе, отдельном приложении или сочетании двух видов. Вследствие этого процессор может быть охарактеризован в качестве, например, как устройства, выполненного с возможностью осуществления процесса, так и устройства, которое включает в себя читаемый процессором носитель информации (такой как запоминающее устройство) с инструкциями для осуществления процесса. Кроме того, читаемый процессором носитель информации может хранить, в дополнение к или вместо инструкций, значения данных, созданных путем реализации.Additionally, the methods may be implemented by instructions executed by a processor, and such instructions (and/or data values created by the implementation) may be stored on a processor-readable storage medium, such as, for example, an integrated circuit, software storage medium, or other storage device , such as, for example, a hard disk, compact diskette (“CD”), optical disk (such as, for example, a DVD, often referred to as a digital versatile disk or digital video disk), random access memory (“RAM”), or read only memory (“ROM”). The instructions may form an application program that is physically embodied on a processor-readable storage medium. The instructions may be, for example, in hardware, firmware, software, or a combination. Instructions can be found, for example, in the operating system, a separate application, or a combination of the two. As a result, a processor may be characterized as, for example, both a device configured to carry out a process and a device that includes a processor-readable storage medium (such as a storage device) with instructions for carrying out the process. In addition, the processor-readable storage medium may store, in addition to or instead of instructions, data values created by the implementation.
Как будет очевидно специалисту в соответствующей области техники, реализации могут создавать многообразие сигналов, отформатированных для переноса информации, которая может быть, например, сохранена или передана. Информация может включать в себя, например, инструкции для выполнения способа, или данные, созданные одной из описанных реализаций. Например, сигнал может быть отформатирован для переноса в качестве данных правил для записи или чтения синтаксиса описанного варианта осуществления, или переноса в качестве данных фактических синтаксических значений, записанных описанным вариантом осуществления. Такой сигнал может быть отформатирован, например, в качестве электромагнитной волны (например, с использованием радиочастотного сегмента спектра) или в качестве сигнала основной полосы частот. Форматирование может включать в себя, например, кодирование потока данных и модуляцию несущей с помощью потока кодированных данных. Информация, которую несет сигнал, может быть, например, аналоговой или цифровой информацией. Сигнал может быть передан через многообразие разных проводных или беспроводных линий связи, как известно. Сигнал может быть сохранен на читаемом процессором носителе информации.As will be apparent to one skilled in the art, implementations may create a variety of signals formatted to carry information that may, for example, be stored or transmitted. The information may include, for example, instructions for performing a method, or data generated by one of the described implementations. For example, the signal may be formatted to carry as data the rules for writing or reading the syntax of the described embodiment, or to carry as data the actual syntax values written by the described embodiment. Such a signal may be formatted, for example, as an electromagnetic wave (eg, using the radio frequency portion of the spectrum) or as a baseband signal. Formatting may include, for example, encoding the data stream and modulating the carrier with the encoded data stream. The information carried by the signal can be, for example, analog or digital information. The signal can be transmitted through a variety of different wired or wireless communication lines, as is known. The signal may be stored on a processor-readable storage medium.
Было описано некоторое количество реализаций. Тем не менее будет понятно, что могут быть выполнены различные модификации. Например, элементы разных реализаций могут быть объединены, дополнены, модифицированы или удалены, чтобы создавать другие реализации. Дополнительно, специалист в соответствующей области техники будет понимать, что в отношении раскрытых структур и процессов может быть осуществлено замещение на другие структуры и процессы, и результирующие реализации будут выполнять по меньшей мере практически ту же самую функцию(ии), по меньшей мере практически тем же самым образом, для достижения по меньшей мере практически того же самого результата(ов), как и раскрытие реализации. Соответственно, данная заявка предполагает эти и другие реализации.A number of implementations have been described. However, it will be appreciated that various modifications may be made. For example, elements of different implementations can be combined, extended, modified, or removed to create different implementations. Additionally, one skilled in the art will appreciate that the disclosed structures and processes may be substituted for other structures and processes, and the resulting implementations will perform at least substantially the same function(s) in at least substantially the same way. thereby achieving at least substantially the same result(s) as disclosing the implementation. Accordingly, this application contemplates these and other implementations.
Claims (36)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18305372.7 | 2018-03-30 | ||
EP18305372.7A EP3547704A1 (en) | 2018-03-30 | 2018-03-30 | Method, apparatus and stream for volumetric video format |
PCT/US2019/024245 WO2019191205A1 (en) | 2018-03-30 | 2019-03-27 | Method, apparatus and stream for volumetric video format |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2020135597A RU2020135597A (en) | 2022-05-04 |
RU2807582C2 true RU2807582C2 (en) | 2023-11-16 |
Family
ID=
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009008864A1 (en) * | 2007-07-12 | 2009-01-15 | Thomson Licensing | System and method for three-dimensional object reconstruction from two-dimensional images |
RU2453922C2 (en) * | 2010-02-12 | 2012-06-20 | Георгий Русланович Вяхирев | Method of displaying original three-dimensional scene based on results of capturing images in two-dimensional projection |
RU2606875C2 (en) * | 2015-01-16 | 2017-01-10 | Общество с ограниченной ответственностью "Системы Компьютерного зрения" | Method and system for displaying scaled scenes in real time |
US9674507B2 (en) * | 2013-04-30 | 2017-06-06 | Qualcomm Incorporated | Monocular visual SLAM with general and panorama camera movements |
US20170347084A1 (en) * | 2016-05-27 | 2017-11-30 | Intel Corporation | Virtual reality panoramic video system using scalable video coding layers |
US20180035134A1 (en) * | 2015-04-15 | 2018-02-01 | Lytro, Inc. | Encoding and decoding virtual reality video |
US20180045963A1 (en) * | 2016-08-11 | 2018-02-15 | Magic Leap, Inc. | Automatic placement of a virtual object in a three-dimensional space |
WO2018050529A1 (en) * | 2016-09-13 | 2018-03-22 | Thomson Licensing | Method, apparatus and stream for immersive video format |
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009008864A1 (en) * | 2007-07-12 | 2009-01-15 | Thomson Licensing | System and method for three-dimensional object reconstruction from two-dimensional images |
RU2453922C2 (en) * | 2010-02-12 | 2012-06-20 | Георгий Русланович Вяхирев | Method of displaying original three-dimensional scene based on results of capturing images in two-dimensional projection |
US9674507B2 (en) * | 2013-04-30 | 2017-06-06 | Qualcomm Incorporated | Monocular visual SLAM with general and panorama camera movements |
RU2606875C2 (en) * | 2015-01-16 | 2017-01-10 | Общество с ограниченной ответственностью "Системы Компьютерного зрения" | Method and system for displaying scaled scenes in real time |
US20180035134A1 (en) * | 2015-04-15 | 2018-02-01 | Lytro, Inc. | Encoding and decoding virtual reality video |
US20170347084A1 (en) * | 2016-05-27 | 2017-11-30 | Intel Corporation | Virtual reality panoramic video system using scalable video coding layers |
US20180045963A1 (en) * | 2016-08-11 | 2018-02-15 | Magic Leap, Inc. | Automatic placement of a virtual object in a three-dimensional space |
WO2018050529A1 (en) * | 2016-09-13 | 2018-03-22 | Thomson Licensing | Method, apparatus and stream for immersive video format |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102468178B1 (en) | Method, device and stream for immersive video format | |
US11647177B2 (en) | Method, apparatus and stream for volumetric video format | |
US20210195162A1 (en) | Method, apparatus and stream for volumetric video format | |
CN111615715A (en) | Method, apparatus and stream for encoding/decoding volumetric video | |
EP3562159A1 (en) | Method, apparatus and stream for volumetric video format | |
JP2021502033A (en) | How to encode / decode volumetric video, equipment, and streams | |
US20220343549A1 (en) | A method and apparatus for encoding, transmitting and decoding volumetric video | |
WO2019191202A1 (en) | Method, apparatus and stream for volumetric video format | |
EP3741110A1 (en) | A method and apparatus for encoding and decoding three-dimensional scenes in and from a data stream | |
CN114945946A (en) | Volumetric video with auxiliary chunking | |
KR20220035229A (en) | Method and apparatus for delivering volumetric video content | |
RU2807582C2 (en) | Method, device and stream for 3d video format | |
CN114868396A (en) | Method and apparatus for encoding and decoding of multi-view 3DoF + content | |
WO2020185529A1 (en) | A method and apparatus for encoding and decoding volumetric video | |
US20230032599A1 (en) | Methods and apparatuses for encoding, decoding and rendering 6dof content from 3dof+ composed elements | |
US20230239451A1 (en) | A method and apparatus for encoding and decoding volumetric content in and from a data stream | |
US20230224501A1 (en) | Different atlas packings for volumetric video |