Область техники, к которой относится настоящее изобретение
Варианты осуществления настоящего изобретения относятся, в общем, к кодированию и реконструкции точек облака точек. В частности, помимо прочего, техническая область вариантов осуществления настоящего изобретения относится к кодированию/реконструкции облака точек, отображающего внешнюю поверхность 3D-объекта.
Предшествующий уровень техники настоящего изобретения
Данный раздел предназначен для ознакомления читателя с различными аспектами соответствующей области техники, которые могут относиться к различным вариантам осуществления настоящего изобретения, описанным и/или заявленным ниже. Предполагается, что это описание окажется полезным для ознакомления читателя с базовой информацией, облегчающей понимание различных аспектов вариантов осуществления настоящего изобретения. Соответственно, следует понимать, что эти положения должны трактоваться именно в таком ключе, а не как признание предшествующего уровня техники.
Облако точек представляет собой множество точек (точек данных) в определенной системе координат. В трехмерной системе координат (3D-пространстве) эти точки обычно предназначены для отображения внешней поверхности 3D-объекта. Каждая из точек, входящих в состав облака точек, часто определяется по своему местоположению (координатам X, Y и Z в 3D-пространстве) и, возможно, по другим ассоциированным атрибутам, таким как цвет (например, представленный в цветовом пространстве RGB или YUV), прозрачность, отражательная способность, двухкомпонентный вектор нормали и т.п.
Обычно облако точек отображается в виде множества 6-компонентных точек (X, Y, Z, R, G, В) или эквивалентно (X, Y, Z, Y, U, V), где (X, Y, Z) задает координаты окрашенной точки в 3D-пространстве, a (R, G, В) или (Y, U, V) определяет цвет этой окрашенной точки.
Облака точек могут быть статическими или динамичными в зависимости от того, видоизменяется ли облако точек с течением времени или нет. Следует отметить, что в случае с динамическим облаком точек их количество не постоянно, а со временем обычно изменяется. Таким образом, динамическое облако точек представляет собой упорядоченный по времени список множества точек.
На практике облака точек могут использоваться для самых разных целей, например, применительно к достояниям культуры/сооружениям культурного наследия, где такие объекты, как статуи или здания подвергаются трехмерному сканированию с тем, чтобы можно было совместно использовать пространственную конфигурацию объекта, не посещая и не пересылая его. Кроме того, с их помощью можно обеспечить сохранение знаний об объекте на случай его возможного разрушения, например, разрушения замка вследствие землетрясения. Такие облака точек обычно являются статическими, окрашенными и массивными.
Еще одной сферой применения облаков точек служит топография и картография, где за счет использования 3D-изображений карты не ограничены плоскостью, а могут отображать рельеф. В настоящее время ярким примером 3D-карт могут служить Google-карты; однако в них вместо облаков точек используются сетки. Тем не менее, облака точек могут быть подходящим форматом данных для 3D-карт, причем такие облака точек обычно являются статическими, окрашенными и массивными.
Областями, в которых могут быть использованы облака точек, также включают в себя автомобильную промышленность и беспилотные автомобили. Беспилотные автомобили должны обладать способностью «зондирования» окружающей среды для принятия правильного решения о своем дальнейшем движении на основании реалий своего непосредственного окружения. Стандартные датчики, такие как лазерные радары, генерируют динамические облака точек, которые используются подсистемой принятия решений. Эти облака точек не видны человеку, и обычно они характеризуются малыми размерами, не обязательно окрашены, и представляют собой динамические облака точек с высокой частотой фиксации. Они могут обладать и другими свойствами, такими как отражательная способность, обеспечиваемая лазерным радаром, поскольку такое свойство предоставляет достоверные сведения о материале, из которого выполнен сканируемый объект, и может помочь в принятии решения.
В последнее время актуальным направлением исследований стали такие сферы, как виртуальная реальность и среда с погружением, которые рассматриваются многими как будущее двухмерного (2D) видео. Основная идея заключается в том, чтобы полностью погружать зрителя в окружающую среду в отличие от традиционного телевидения, где виртуальная реальность может наблюдаться только спереди. Предусматривается определенная шкала погруженности в зависимости от степени свободы зрителя в окружающей среде. Окрашенные облака точек могут стать подходящим форматом-кандидатом для построения миров виртуальной реальности (или VR). Они могут быть статическими или динамическими, и обычно они характеризуются средними размерами, т.е. не более миллиона точек в каждый отдельно взятый момент времени.
Сжатие облака точек будет способствовать успешному сохранению/передаче 3D-объектов для миров с эффектом присутствия только в том случае, если размер битового потока достаточно мал для того, чтобы обеспечить возможность его практического сохранения/передачи конечному пользователю.
Крайне важно, чтобы была обеспечена возможность распределения динамических облаков точек для конечного пользователя с достаточно высокой скоростью передачи битов при сохранении приемлемого (или предпочтительно высокого) качества восприятия. Эффективное сжатие этих динамических облаков точек является ключевым фактором, влияющим на практическое осуществление распределения цепочки миров с эффектом присутствия.
Все большую популярность приобретают методы сжатия облаков точек на основе анализа изображений из-за того, что в них сочетаются высокий коэффициент сжатия и простота. Они предусматривают два основных этапа: сначала выполняется проецирование (ортогональная проекция) облака точек, т.е. точек, на 2D-изображения, которые отображают атрибуты, ассоциированные с точками, входящими в состав облака точек. Например, по меньшей мере, одно изображение геометрии отображает геометрию облака точек, т.е. пространственные координаты точек в 3D-пространстве; а, по меньшей мере, одно изображение атрибута отображает другой атрибут, ассоциированный с точками в составе облака точек, например, информацию о текстуре/цвете, ассоциированную с этими точками. Затем эти методы предусматривают кодирование таких изображений глубины и атрибута с помощью стандартных видеокодеров.
Методы сжатия облаков точек на основе анализа изображений обеспечивают высокую эффективность сжатия за счет использования возможностей видеокодера 2D-изображений, таких как, например, видеокодер стандарта HEVC («ITU-Т Н.265, Сектор стандартизации электросвязи ITU (10/2014), Серия Н: Аудиовизуальные и мультимедийные системы, инфраструктура аудиовизуальных услуг - кодирование движущихся видеоизображений,, высокоэффективное кодирование видеоизображений, Рекомендация ITU-T Н.265»); при этом они обеспечивают низкий уровень сложности за счет использования простых схем проецирования.
Один из недостатков методов сжатия облаков точек на основе анализа изображений состоит в том, что облако точек может оказаться непригодным для проецирования на изображения, особенно в том случае, когда распределение точек повторяет поверхность с множеством складок (вогнутых/выпуклых участков, например, одежды), или когда распределение точек вообще не повторяет поверхность (например, меха или волос). В таких случаях методы сжатия облаков точек на основе анализа изображений проявляют низкую эффективность сжатия (требуется множество малых проекций, что снижает эффективность сжатия 2D-видео) или плохое качество (из-за сложности проецирования облака точек на поверхность).
Один из подходов к устранению этой проблемы, который используется на известном уровне техники, состоит в проецировании множественной информации о геометрии и текстуре на одно и то же местоположение (пиксель) изображения в пространстве. Это означает, что может быть сгенерировано несколько изображений геометрии и/или атрибута в расчете на одну точку в составе облака точек.
Дело обстоит именно так, например, при использовании кодера облака точек так называемой категории ТМС2 (вторая категория опытных моделей) согласно определению, представленному в ISO/TEC JTC1/SC29/WG11 MPEG2018/N17767, г. Любляна, июль 2018 года.
В ТМС2 облако точек проецируется на плоскость проекции под прямым углом. Затем в расчете на одну координату указанной плоскости проекции генерируются два значения глубины: одно из них отображает значение глубины, ассоциированное с ближайшей точкой (наименьшее значение глубины), а другое - отображает значение глубины наиболее удаленной точки (наибольшее значение глубины). Затем по наименьшим значениям глубины (D0) генерируется первое изображение геометрии, а по абсолютной величине наибольших значений глубины (D1) генерируется второе изображение геометрии, причем значения D1-D0 будут меньше или равны максимальной толщине поверхности. Также генерируются первое и второе изображения атрибута, связанные с первым (D0) и вторым (D1) изображениями геометрии. Затем изображения, как атрибута, так и геометрии кодируются и декодируются с помощью стандартного видеокодера, такого как кодер HEVC. Таким образом, геометрия облака точек реконструируется за счет обратного проецирования указанных декодированных первого и второго изображений геометрии, и на основании декодированных изображений атрибута обеспечивается получение другого атрибута, ассоциированного с точками реконструированного облака точек.
Краткое раскрытие настоящего изобретения
Ниже представлено упрощенное изложение вариантов осуществления настоящего изобретения, чтобы обеспечить базовое понимание некоторых их аспектов. Это краткое изложение не является исчерпывающим обзором вариантов осуществления настоящего изобретения. Оно не предполагает идентификацию ключевых или критически важных элементов вариантов осуществления настоящего изобретения. Последующее краткое описание просто представляет некоторые аспекты вариантов осуществления настоящего изобретения в упрощенном виде в качестве вводной части для более подробного описания, которое представлено ниже.
Варианты осуществления настоящего изобретения предложены для того, чтобы устранить, по меньшей мере, один из недостатков предшествующего уровня техники с помощью способа, предусматривающего:
- разбивку ограничительной рамки, устанавливающей границы точек в составе облака точек, на множество секций;
кодирование данных, отображающих атрибуты точки, путем привязки к секции, к которой относится указанная точка; и
- кодирование данных, отображающих ряд точек, находящихся в каждой секции. Согласно одному из вариантов осуществления настоящего изобретения
предложенный способ дополнительно предусматривает получение единой 2D-вставки, содержащей данные, отображающие атрибуты указанных точек.
Согласно одному из вариантов осуществления настоящего изобретения предложенный способ дополнительно предусматривает получение одной 2D-вставки для секции, когда указанная секция содержит, по меньшей мере, одну из указанных точек.
Согласно одному из вариантов осуществления настоящего изобретения разбивка указанной ограничительной рамки зависит от битовой разрядности кодера, используемого для кодирования точек.
Согласно одному из вариантов осуществления настоящего изобретения атрибут точки соответствует информации о геометрии или текстуре/цвете указанной точки.
Согласно одному из вариантов осуществления настоящего изобретения получение точек обеспечивается путем сравнения точек входного облака точек с точками реконструированного облака точек, причем получение указанного реконструированного облака точек обеспечивается путем:
получения, по меньшей мере, одного изображения геометрии и атрибута методом проецирования некоторых точек в составе входного облака точек на плоскость проекции;
- кодирования указанного, по меньшей мере, одного изображения геометрии и атрибута; и
реконструкции точек в составе реконструированного облака точек методом декодирования указанного, по меньшей мере, одного изображения геометрии и атрибута.
Согласно еще одному из своих аспектов, по меньшей мере, один из вариантов осуществления настоящего изобретения относится к способу, предусматривающему:
декодирование данных, отображающих атрибуты точек в составе облака точек, путем привязки к секции, к которой относятся эти точки, причем эта секция представляет собой одну из множества секций, полученных в результате разбивки ограничительной рамки, устанавливающей границы указанных точек в составе облака точек;
декодирование данных, отображающих ряд точек, содержащихся в каждой секции указанной ограничительной рамки; и
реконструкцию атрибутов точек по указанным декодированным данным.
Согласно одному из вариантов осуществления настоящего изобретения атрибуты точек реконструируются по указанным декодированным данным, реконструирующим точки реконструированного облака точек путем декодирования, по меньшей мере, одного изображения геометрии и атрибута.
Согласно одному из вариантов осуществления настоящего изобретения реконструкция атрибутов точек дополнительно предусматривает получение 2D-вставки для секции по декодированному изображению геометрии, а также получение 3D-координат точки по координатам, полученным по пиксельным значениям 2D-вставки, и по координатам опорной точки этой 2D-вставки.
Согласно одному из вариантов осуществления настоящего изобретения предложенный способ дополнительно предусматривает получение 2D-вставки для секции, когда указанная секция содержит, по меньшей мере, одну из указанных точек.
Согласно одному из вариантов осуществления настоящего изобретения разбивка указанной ограничительной рамки зависит от битовой разрядности декодера, используемого для декодирования точек.
Согласно одному из вариантов осуществления настоящего изобретения атрибут точки соответствует информации о геометрии или текстуре/цвете указанной точки.
Согласно другим своим аспектам варианты осуществления настоящего изобретения относятся к устройству, битовому потоку, компьютерному программному продукту и энергонезависимому машиночитаемому носителю данных.
Особенности вариантов осуществления настоящего изобретения, а также другие объекты, преимущества, признаки и области применения вариантов осуществления настоящего изобретения станут очевидными после ознакомления с последующим описанием примеров, раскрытым в привязке к прилагаемым чертежам.
Краткое описание фигур
Примеры осуществления настоящего изобретения проиллюстрированы на чертежах, где:
На фиг.1 показана схема, иллюстрирующая стадии способа 100 кодирования атрибутов точек, входящих в состав облака точек, согласно одному из примеров осуществления настоящего изобретения;
На фиг.2 показана схема, иллюстрирующая стадии способа 200 декодирования данных, отображающих облако точек по битовому потоку, согласно одному из примеров осуществления настоящего изобретения;
На фиг.3 показаны два удаленных устройства, взаимодействующие по сети связи, согласно одному из примеров осуществления настоящего изобретения;
На фиг.4 показан синтаксис сигнала согласно одному из примеров осуществления настоящего изобретения;
На фиг.5-10 приведены примеры элементов синтаксиса, используемых для переноса информации, которая необходима декодеру для реконструкции пропущенных точек, входящих в состав облака точек, согласно одному из примеров осуществления настоящего изобретения; а
На фиг.11 представлена блок-схема, иллюстрирующая один из примеров системы, в которой реализованы различные аспекты и варианты осуществления настоящего изобретения, согласно одному из примеров осуществления настоящего изобретения.
Аналогичные или схожие элементы обозначены одинаковыми номерами позиций.
Подробное раскрытие одного из примеров осуществления настоящего изобретения
Ниже будут подробно описаны варианты осуществления настоящего изобретения, раскрытые в привязке к прилагаемым чертежам, где проиллюстрированы примеры осуществления настоящего изобретения. Однако варианты осуществления настоящего изобретения могут быть реализованы во многих альтернативных формах, и не должны рассматриваться как ограниченные примерами, приведенными в настоящем документе. Соответственно, несмотря на то, что варианты осуществления настоящего изобретения подвержены различным модификациям и реализации в альтернативных формах, на чертежах представлены конкретные примеры их реализации, носящие иллюстративный характер, которые будут подробно описаны в настоящем документе. Однако следует понимать, что при этом не предполагается ограничение вариантов осуществления настоящего изобретения конкретными раскрытыми формами; наоборот, представленное описание охватывает все модификации, эквиваленты и альтернативы, соответствующие сущности и объему вариантов осуществления заявленного изобретения в соответствии с формулой изобретения.
Терминология, используемая в настоящем документе, служит лишь для описания конкретных примеров, и не претендует на ограничение вариантов осуществления заявленного изобретения. В контексте настоящего документа формы единственного числа, представленные неопределенными артиклями и определенным артиклем, предполагают включение форм множественного числа, если только из контекста явным образом не следует иное. Следует также понимать, что термины «содержит», «содержащий», «включает в себя» и/или «включающий в себя», используемые в представленном описании, указывают на наличие указанных признаков, целых чисел, стадий, операций, элементов и/или компонентов, но не исключают при этом наличие или возможное добавление одного или нескольких других признаков, целых чисел, стадий, операций, элементов, компонентов и/или их групп. Более того, когда какой-либо элемент определяется как «связанный» или «соединенный» с другим элементом, он может быть напрямую связан или соединен с другим элементом, или же могут быть предусмотрены промежуточные элементы. И наоборот, когда какой-либо элемент определяется как «напрямую связанный» или «непосредственно соединенный» с другим элементом, это означает, что какие-либо промежуточные элементы не предусмотрены. В контексте настоящего документа термин «и/или» включает в себя любую и все возможные комбинации одного или нескольких перечисленных элементов и может быть сокращенно представлен в виде обозначения «/».
Следует понимать, что хотя для описания различных элементов в настоящем документе могут использоваться термины «первый», «второй» и тому подобные, эти элементы не ограничены указанными терминами. Указанные термины используются исключительно для разграничения элементов. Например, первый элемент может именоваться вторым элементом; и, аналогичным образом, второй элемент может именоваться первым элементом без отступления от принципов вариантов осуществления настоящего изобретения.
Хотя вдоль коммуникационных трактов на некоторых чертежах изображены стрелки, обозначающие основное направление, в котором осуществляется связь, следует понимать, что связь может осуществляться и в направлении, противоположном тому, на которое указывают стрелки.
Некоторые примеры описаны в привязке к блок-схемам и функциональным схемам, на которых каждый блок отображает определенный элемент схемы, модуль или часть кода, содержащую одну или несколько исполняемых команд для реализации заданной логической функции/функций. Следует также отметить, что в других вариантах осуществления настоящего изобретения функция или функции, указанные в блоках, могут выполняться не в указанном порядке. Например, функции двух блоков, показанных как следующие один за другим, в действительности могут выполняться по существу параллельно; или же иногда функции блоков могут выполняться в обратном порядке, что зависит от задействованных функциональных возможностей.
Упоминание в настоящем документе фразы «согласно одному из примеров» или «в одном из примеров» означает, что конкретный признак, структура или характеристика, описанная в привязке к этому примеру, может быть включена, по меньшей мере, в один из вариантов осуществления настоящего изобретения. Упоминание фразы «согласно одному из примеров» или «в одном из примеров» в различных частях представленного описания необязательно всегда связано с одним и тем же примером, равно как не означает, что отдельные или альтернативные примеры обязательно являются взаимоисключающими по отношению к другим примерам.
Номера позиций, указанные в пунктах формулы, носят исключительно иллюстративный характер, и не должны рассматриваться как ограничивающие объем формулы настоящего изобретения.
Хотя это в явной форме и не указано в настоящем документе, приведенные примеры могут быть реализованы в любой комбинации или подкомбинации.
В последующем описании термин «область изображения» обозначает множество пикселей, по меньшей мере, одного изображения. Эти пиксели могут представлять собой смежные пиксели, а могут и нет; и/или они могут относиться к одному и тому же изображению, а могут и нет; но при этом все они обладают, по меньшей мере, одним общим свойством.
Например, в качестве области изображения может рассматриваться само изображение в целом. Изображение может быть также разбито на множество блоков, после чего каждый такой блок или группа блоков будет представлять собой участок изображения.
Участок изображения может также характеризоваться непрямоугольной формой. Это имеет место, например, когда пиксели изображения, обладающие схожим (или аналогичным) извлеченным признаком, соотносятся друг с другом, образуя участок изображения. Участком изображения может служить вставка согласно определению в ТМС2.
Примерами признаков, извлекаемых из изображения, могут служить цвет, текстура, вектор нормали и т.п.
На некоторых фигурах представлены таблицы синтаксиса, широко используемые в ТМС2 для определения структуры битового потока, соответствующего ТМС2. В этих таблицах синтаксиса терм «...» обозначает неизменяемые части синтаксиса по отношению к исходному определению, данному в ТМС2, и опущенному на фигурах с целью облегчения считывания. Термы, выделенные на фигурах жирным шрифтом, указывают на то, что значение такого терма может быть получено путем парсинга битового потока. В правой колонке таблиц синтаксиса указано число битов для кодирования данных элемента синтаксиса. Например, дескриптор u(4) указывает на то, что для кодирования данных используется четыре бита; дескриптор u(8) указывает на восемь битов; а дескриптор ae(v) указывает на элемент синтаксиса, кодированный методом контекстно-адаптивного арифметического энтропийного кодирования.
В контексте настоящего изобретения элементы синтаксиса представляют собой дескриптивные термы. Таким образом, они не исключают возможность использования элементов синтаксиса с другими названиями.
Варианты осуществления настоящего изобретения описаны применительно к кодированию/декодированию одного или нескольких изображений геометрии и одного или нескольких изображений атрибута, отображающих облако точек, но они применимы также к кодированию/декодированию двух последовательностей (видео) изображений геометрии и двух последовательностей (видео) изображений атрибута, отображающих последовательность облаков точек (временного динамического облака точек), поскольку геометрия (два изображения геометрии) и атрибут (два изображения атрибута) облака точек в последовательности облаков точек затем кодируются/декодируются независимо от геометрии (двух изображений геометрии) и атрибута (двух изображений атрибута) другого облака точек в последовательности облаков точек.
При кодировании и/или реконструкции облака точек некоторые данные могут быть потеряны, вследствие чего входное облако точек реконструируется лишь частично. Такая потеря информации может порождать проблемы при визуальном отображении входного облака точек.
При этом ТМС2 обеспечивает хороший показатель зависимости искажений от скорости передачи данных для сценариев сжатия с потерями. Однако эффективность сжатия существенно снижается в тех случаях, когда необходимо обеспечить сжатие без потерь, поскольку для фиксации изолированных (пропущенных) точек необходимо создать большое число вставок.
Другой альтернативный вариант предусматривает кодирование изолированных точек в виде специальной вставки без учета потенциальной корреляции между этими изолированными точками и точками, зафиксированными в «обычных» вставках (в результате проецирования точек на плоскость проекции). Основная идея заключается в проецировании облака точек на плоскость проекции с использованием ТМС2 и фиксации пропущенных (изолированных) точек, входящих в состав облака точек, т.е. точек, которые не отображаются на изображениях геометрии/атрибута. Координата X и следующие за ней координата Y и, в конце, координата Z каждой пропущенной/изолированной точки складываются в отдельный вектор, после чего генерируется «специальная» вставка, называемая вставкой «пропущенные точки». Затем эта вставка сохраняется в одинарном канале (компоненте) 10-битного изображения геометрии формата 4:2:0 (дополнительную информацию см. в ISO/IEC JTC1/SC29/WG11 MPEG2018/m42680, апрель 2018 года, Сан-Диего, штат Калифорния, США).
Этот альтернативный вариант ограничивает диапазон координат пропущенных точек максимальным диапазоном (1024, тогда как обычно используется 10-битный формат видео 4:2:0). Это важно, поскольку координаты пропущенных/изолированных точек сохраняются в виде абсолютных значений, т.е. сохраненные значения координат определяются по нулевой точке (0, 0, 0) ограничительной рамки, устанавливающей границы облака точек.
В сущности, по меньшей мере, один из вариантов осуществления настоящего изобретения относится к способу кодирования/реконструкции атрибутов пропущенных/изолированных точек, но этот способ может также применяться к кодированию/реконструкции атрибутов любой другой точки, входящей в состав облака точек. Таким образом, этот способ может рассматриваться в качестве альтернативы методу сжатия облаков точек на основе анализа изображений, такой как ТМС2, для кодирования (и реконструкции) атрибутов точек, входящих в состав облака точек. Этот способ может также рассматриваться в качестве средства совершенствования методов сжатия облаков точек на основе анализа изображений с потерями, таких как ТМС2, за счет обеспечения сжатия облака точек без потерь (кодирования пропущенных точек).
Способ декодирования предусматривает разбивку ограничительной рамки, устанавливающей границы точек, подлежащих кодировке; кодирование данных, отображающих атрибуты точки путем привязки к секции, к которой относится указанная точка; и кодирование данных, отображающих ряд точек, находящихся в каждой секции.
Способ декодирования предусматривает декодирование кодированных данных, отображающих указанные атрибуты точек, путем привязки к секциям, к которым относятся эти точки. Указанные секции представляют собой секции из числа множества секций, полученных путем разбивки ограничительной рамки, устанавливающей границы указанных точек. Этот способ также предусматривает декодирование кодированных данных, отображающих ряд точек, содержащихся в каждой секции указанной ограничительной рамки; и реконструкцию точек по указанным декодированным данным.
Разбивка ограничительной рамки, устанавливающей границы точек, подлежащих кодированию, и кодирование данных, отображающих атрибуты точки путем привязки к секции, к которой относится указанная точка, уменьшает число битов, необходимых для отображения атрибутов точек. Например, может быть сокращен диапазон значений координат этих точек в сравнении с предшествующим уровнем техники, поскольку эти координаты могут определяться по опорной точке секции, к которой относятся эти точки, а не по опорной точке ограничительной рамки.
Настоящее изобретение обеспечивает возможность кодирования изображения/видеоизображения облака точек любого размера без потерь вне зависимости от битовой разрядности видео, кодируемого с помощью видеокодера облаков точек ТМС2.
На фиг.1 показана схема, иллюстрирующая стадии способа 100 кодирования атрибутов, по меньшей мере, некоторых точек во входном облаке точек согласно одному из примеров осуществления настоящего изобретения.
Представленные стадии могут быть частью более широкого процесса кодирования, и они могут реализовываться устройством 13000, показанным на фиг.13.
Во время выполнения стадии 110 атрибуты указанных точек кодируются кодером Ml. Эти атрибуты могут соответствовать информации о геометрии (или глубине или расстоянию до точки обзора) и/или информации о текстуре (или цвете). Например, точки «кластеризуются» в виде «связных компонент» так, как это описано в ТМС2 (см. ТМС2), и кодируются. Например, точки каждой связной компоненты могут быть спроецированы на плоскость проекции, при этом атрибуты спроецированных точек сохраняются в так называемой 2D-вставке (множестве пикселей), по меньшей мере, одной пары изображений геометрии и атрибута. Кодером M1 могут также кодироваться метаданные, отображающие параметры проекции, используемые для получения 2D-вставок. Кодер M1, например, отвечает требованиям стандартного кодера, такого как:
• JPEG, спецификация ISO/CEI 10918-1 UIT-T, Рекомендация Т.81, https://www.itu.int/rec/T-REC-T.81/en;
• AVC, также именуемый MPEG-4 AVC или h264. Указан, как в UIT-T Н.264, так и в ISO/CEI MPEG-4, Часть 10 (ISO/CEI 14496-10), http://www.itu.int/rec/T-REC-H.264/en;
• HEVC (его спецификацию можно найти на веб-сайте ITU, Рекомендация Т, Серия Н, h265, http://www.itu.int/rec/T-REC-H.265-201612-I/en); или
• 3D-HEVC (расширенная версия кодера HEVC, спецификацию которого можно найти на веб-сайте ГШ, Рекомендация Т, Серия Н, h265, http://www.itu.int/rec/T-REC-H.265-201612-I/en, Приложения G и I).
Во время выполнения стадии 120 данные, закодированные кодером M1, декодируются декодером М2, и по декодированным данным, т.е. по декодированным атрибутам, полученным в результате декодирования, по меньшей мере, одного изображения геометрии/атрибута, и по метаданным, отображающим параметры проекции, реконструируется облако точек, как это описано, например, в ТМС2. Декодер М2, например, отвечает требованиям стандартного декодера, такого как:
• JPEG;
• AVC, также именуемый MP EG-4 AVC или h264;
• HEVC; или
• 3D-HEVC (расширенная версия декодера HEVC).
Во время выполнения стадии 130 модулем М3 реконструированное облако точек сравнивается с входным облаком точек. При этом могут быть детектированы точки, пропущенные в реконструированном облаке точек и присутствующие во входном облаке точек.
Во время выполнения стадии 140 ограничительная рамка, которая устанавливает границы пропущенных точек, детектированных на стадии 130, разбивается на множество секций.
Согласно одному из вариантов осуществления настоящего изобретения ограничительная рамка, устанавливающая границы пропущенных точек, может соответствовать ограничительной рамке, устанавливающей границы входного облака точек.
Согласно одному из вариантов осуществления настоящего изобретения ограничительная рамка может соответствовать кубу (или, в более широком смысле, параллелограмму), который разбивается на множество подкубов.
Согласно одному из вариантов осуществления настоящего изобретения разбивка ограничительной рамки может зависеть от конкретной битовой разрядности, такой как, например, битовая разрядность кодера (обычно 8/10 битов), используемой для кодирования точек входного облака точек и/или пропущенных точек. Таким образом, размеры и/или габариты секции (такой как сторона подкуба) не превышают указанную конкретную битовую размерность (чаще всего может быть выражена с использованием указанного максимального числа битов).
Таким образом, предложенный способ может быть адаптирован к ограничениям (битовой разрядности) кодера, используемого для кодирования изображений геометрии и атрибута в ТМС2.
Согласно одному из вариантов осуществления настоящего изобретения ограничительная рамка разбивается на подкубы с использованием метода деления на восемь ветвей.
По существу куб рекурсивно разбивается на восемь подкубов меньшего размера. Листовые кубы помечаются как занятые или незанятые в зависимости от того, находятся ли в таком кубе, по меньшей мере, одна пропущенная точка.
В одном из вариантов осуществления настоящего изобретения глубина восьмеричного дерева является постоянной величиной.
В одном из примеров этого варианта осуществления настоящего изобретения обеспечивается передача индекса куба в расчете на каждый подкуб.
В одном из примеров этого варианта осуществления настоящего изобретения передается или принимается порядок обхода, например, сначала в глубину или сначала в ширину.
В одном из примеров этого варианта осуществления настоящего изобретения обеспечивается передача восьмеричного дерева.
В одном из вариантов осуществления настоящего изобретения глубина восьмеричного дерева является переменной величиной.
В одном из примеров этого варианта осуществления настоящего изобретения обеспечивается передача занятых листьев разбиваемого восьмеричного дерева.
В одном из примеров этого варианта осуществления настоящего изобретения индекс во вставке «пропущенная точка» не предусмотрен; корректировка метаданных осуществляется в том же порядке, что и порядок обхода.
В одном из примеров осуществления глубина восьмеричного дерева зависит от битовой разрядности кодера, используемого для кодирования входного облака точек и/или пропущенных точек.
Согласно одному из вариантов осуществления настоящего изобретения для перегруппирования пропущенных точек внутри подкубов может быть использован алгоритм кластеризации, минимизирующий число вставок «пропущенные точки» и/или минимизирующий энергию кодированных пропущенных точек с учетом ограничения максимального размера подкуба в зависимости от входной битовой разрядности видеокодека (2n, где величина n равна битовой разрядности). За счет использования этого алгоритма обеспечивается отсутствие каких-либо ограничений для нулевой точки подкуба. Минимизация числа вставок «пропущенные точки» снизит битовую скорость при кодировании.
Во время выполнения стадии 150 обеспечивается получение модулем М5 одной или нескольких 2D-вставок. Одна или несколько вставок содержат данные, отображающие атрибуты каждой указанной пропущенной точки.
Согласно одному из примеров обеспечивается получение единой 2D-вставки.
Согласно другому примеру обеспечивается получение (или генерирование) одной 2D-вставки для секции ограничительной рамки, когда указанная секция содержит, по меньшей мере, одну из указанных пропущенных точек.
Согласно одному из вариантов осуществления настоящего изобретения данные, отображающие атрибуты точки, относящиеся к 2D-вставке для каждой секции, кодируются описанным ниже образом.
Для каждой пропущенной точки предусмотрено следующее: данные, отображающие атрибуты этой пропущенной точки, сохраняются и соотносятся с пикселем вставки «пропущенная точка» (единой 2D-вставки или 2D-вставки в расчете на каждую секцию). После этого указанные данные могут быть представлены путем привязки к опорной точке вставки «пропущенная точка». Например, координаты пропущенной точки представлены в виде дифференциальных координат dX, dY и dZ, рассчитанных по опорной точке секции, в которой содержится рассматриваемая пропущенная точка. Координата dX и следующие за ней координата dY и, в конце, координата dZ каждой пропущенной точки складываются в отдельный вектор. После этого все векторы, сгенерированные для всех пропущенных точек, которые относятся к указанной секции, используются для генерирования вставки «пропущенные точки».
Далее все вставки «пропущенные точки» (по одной в расчете на каждую секцию) упаковываются в изображение геометрии, которое, таким образом, будет содержать «обычные» вставки, отображающие атрибуты, по меньшей мере, некоторых точек входного облака точек (стадия 110), и вставки «пропущенные точки», отображающие атрибуты пропущенных точек.
Во время выполнения стадии 160 данные, отображающие атрибуты пропущенных точек, кодируются путем привязки к секциям, к которым относятся пропущенные точки. Кодер М6 может также кодировать данные, отображающие количество пропущенных точек, содержащихся в каждой секции.
Описанный ниже алгоритм, используемый для кодирования данных, отображающих атрибуты пропущенных точек, представлен исключительно в иллюстративных целях:
Если входное облако точек, подлежащее кодированию, находится в пределах одной ограничительной рамки размером 20483, а видеокодек характеризуется 10-битной разрядностью (например, HEVC main 10);
- Ограничительная рамка может быть разбита на 8 подкубов размером 10243;
- Для каждого подкуба:
Если внутри содержится, по меньшей мере, одна пропущенная точка:
Создание объекта MissingPointsPatch для сохранения положения подкуба в ограничительной рамке:
Обновление нулевой точки подкуба (u1, v1, d1);
Обновление количества пропущенных точек.
Создание 2D-вставки MissingPointsPatch в изображении геометрии (алгоритм уплотнения):
Обновление местоположения в изображении геометрии (u0, v0), полезное для процесса декодирования;
Последовательное добавление дифференциальных координат (dX, dY и dZ) каждой пропущенной точки (X, Y и Z) в изображение геометрии:
dX = X - u1; dY = Y - v1; dZ = Z-d1;
Последовательное добавление соответствующего атрибута (цветовых компонент (R, G, В)) в изображение атрибута. При этом обеспечивается получение битового потока ВТ. Он содержит кодированные данные, отображающие атрибуты пропущенных точек. Указанные кодированные данные привязываются к секциям, к которым относятся пропущенные точки. Также предусмотрена возможность кодирования данных, отображающих ряд пропущенных точек, содержащихся в каждой секции.
Битовый поток ВТ может передаваться, например, в целях декодирования и/или визуального воспроизведения реконструированного облака точек.
Способ кодирования, проиллюстрированный на фиг.1, может быть включен, например, в процесс кодирования согласно ТМС2.
На фиг.2 показана схема, иллюстрирующая стадии способа 200 декодирования атрибутов точек, входящих в состав облака точек, согласно одному из примеров осуществления настоящего изобретения.
Во время выполнения стадии 210 декодер М7 может декодировать кодированные данные, содержащиеся в битовом потоке ВТ. Битовый поток ВТ может представлять собой выходные данные способа, проиллюстрированного на фиг.1. Такие кодированные данные отображают атрибуты точек.
Битовый поток ВТ может также содержать кодированные данные, отображающие ряд точек, содержащихся в каждой секции из числа множества секций, полученных в результате разбивки ограничительной рамки, устанавливающей границы точек.
Декодер М7 может декодировать ряд точек, содержащихся в каждой секции, и кодированные данные, отображающие атрибуты точек, путем привязки к секции, к которой относятся эти точки.
Декодер М7 может быть аналогичен декодеру М2, показанному на фиг.1, и, например, отвечать требованиям стандартного декодера, такого как:
• JPEG;
• AVC, также именуемый MP EG-4 AVC или Н264;
• HEVC; или
• 3D-HEVC (расширенная версия декодера HEVC).
Во время выполнения стадии 220 модулем М8, по меньшей мере, часть входного облака точек реконструируется по декодированным данным, полученным в ходе
выполнения предыдущей стадии. Реконструированное таким образом облако PC точек содержит, по меньшей мере, точки, пропущенные в реконструированной версии.
Способ декодирования, проиллюстрированный на фиг.2, может быть включен, например, в процесс декодирования согласно ТМС2.
Согласно одному из вариантов осуществления настоящего изобретения по декодированным данным, отображающим атрибуты пропущенных точек, и путем привязки к секциям могут быть реконструированы пропущенные точки так, как это описано ниже.
По декодированному изображению геометрии декодируется вставка «пропущенные точки». Затем по вставке «пропущенные точки» получается вектор координат относительно пропущенной точки, и по этому вектору извлекаются координаты dX, dY и dZ относительно этой пропущенной точки.
После этого выдаются 3D-координаты (Xrec, Yrec и Zrec) пропущенной точки путем добавления координат dX, dY и dZ к координатам (u1, v1 и z1) опорной точки вставки «пропущенные точки» (элемент PatchList[i]):
По изображению атрибута обеспечивается получение ассоциированного атрибута реконструированной точки, например, в виде значения пикселя в координатах (Xrec, Yrec).
Согласно одному из вариантов осуществления настоящего изобретения обеспечивается получение вставки «пропущенные точки» для определенной секции, когда указанная секция содержит, по меньшей мере, одну пропущенную точку.
Согласно одному из вариантов осуществления настоящего изобретения разбивка ограничительной рамки зависит от битовой разрядности декодера, используемого для декодирования пропущенных точек.
Согласно одному из вариантов осуществления настоящего изобретения атрибут пропущенной точки соответствует информации о геометрии или текстуре/цвете указанной пропущенной точки.
Согласно одному из примеров осуществления настоящего изобретения, который проиллюстрирован на фиг.3, в контексте обмена данными между двумя удаленными устройствами А и В по сети NET связи устройство А содержит процессор, соединенный с блоками памяти RAM (оперативное запоминающее устройство) и ROM (постоянное запоминающее устройство), которые выполнены с возможностью реализации способа, описанного в привязке к фиг.1, а устройство В содержит процессор, соединенный с блоками памяти RAM и ROM, которые выполнены с возможностью реализации способа, описанного в привязке к фиг.2.
Согласно одному из примеров осуществления настоящего изобретения сеть представляет собой широковещательную сеть, выполненную с возможностью широковещательной передачи неподвижных изображений или видеоизображений из устройства А в декодирующие устройства, включая устройство В.
Сигнал, передаваемый устройством А, переносит битовый поток ВТ. Битовый поток ВТ содержит кодированные данные, отображающие значения глубины точек, входящих в состав облака точек, по меньшей мере, одну реконструированную точку в составе облака точек и, по меньшей мере, один режим интерполяционного кодирования, указывающий на то, как, по меньшей мере, одна точка в окрестности указанной, по меньшей мере, одной реконструированной точки аппроксимируется, по меньшей мере, одной другой точкой интерполяции.
Получение указанных кодированных данных осуществляется так, как это описано, например, в привязке к фиг.1.
На фиг.4 показан синтаксис такого сигнала, когда данные передаются по протоколу пакетной передачи. Каждый передаваемый пакет Р содержит заголовок Н и полезную нагрузку PAYLOAD. Примеры элементов синтаксиса, содержащихся в таком сигнале, приведены в ТМС2.
Для реконструкции геометрии (2D-положения) пропущенной точки декодеру необходимо знать опорную точку (обычно нулевую точку) секции (x1, y1, z1) и количество пропущенных точек (num of mps) для каждой вставки «пропущенная точка» с целью обеспечения реконструкции всех этих пропущенных точек.
Для переноса кодированных данных, необходимых для обеспечения реконструкции пропущенных точек, используется множество элементов синтаксиса ТМС2.
На фиг.5 приведен пример элемента синтаксиса, используемого для переноса информации, которая необходима декодеру для реконструкции пропущенных точек, входящих в состав облака точек, согласно одному из примеров осуществления настоящего изобретения.
Этот элемент синтаксиса основан на элементе синтаксиса с именем group of frames auxiliary information согласно определению в ТМС2.
Элемент синтаксиса с именем patch_count указывает на общее количество вставок, включая вставки «пропущенные точки». Элемент синтаксиса с именем mps_patch_count указывает на количество вставок «пропущенные точки» в изображении геометрии; при этом также добавляется элемент синтаксиса с именем num_of_mps[i] с целью индикации количества пропущенных точек в каждой из вставок i «пропущенные точки». Вставками «пропущенные точки» являются последние вставки в изображении геометрии (по "patch_count-mps_patch_count).
На фиг.6 приведен пример элемента синтаксиса, используемого для переноса информации, которая необходима декодеру для реконструкции пропущенных точек, входящих в состав облака точек, согласно одному из примеров осуществления настоящего изобретения.
Этот элемент синтаксиса основан на элементе синтаксиса с именем group_of_frames_auxiliary_information согласно определению в ТМС2.
В этом варианте осуществления настоящего изобретения последние вставки представляют собой вставки «пропущенные точки» в изображении геометрии.
Элемент синтаксиса с именем patch_count указывает на общее количество вставок, исключая вставки «пропущенные точки». Элемент синтаксиса с именем mps_patch_count указывает на количество вставок «пропущенные точки» в изображении геометрии; при этом также добавляется элемент синтаксиса с именем num_of_mps[i] с целью индикации количества пропущенных точек в каждой из вставок i «пропущенные точки». Вставками «пропущенные точки» являются последние вставки в изображении геометрии (по "patch_count-mps_patch_count).
На фиг.7 приведен пример элемента синтаксиса, используемого для переноса информации, которая необходима декодеру для реконструкции пропущенных точек, входящих в состав облака точек, согласно одному из примеров осуществления настоящего изобретения.
Этот элемент синтаксиса основан на элементе синтаксиса с именем «sequence parameter set» согласно определению в ТМС2.
Элемент синтаксиса sps_pcm_multiple_patch_present_flag указывает на то, используются ли множественные РСМ-вставки.
Элемент синтаксиса с именем sps_pcm_relative_3D_offset указывает на то, передается ли 3D-смещение в синтаксисе РСМ-вставки в абсолютной системе координат или в относительной системе координат. Значение 0 указывает на абсолютный режим, а значение 1 указывает на относительный режим (значения смещения кодируются одним индексом).
Элемент синтаксиса с именем sps_pcm_relative_3D_offset указывает на максимальное количество РСМ-вставок. Это значение используется для кодирования индекса РСМ-вставки, когда режим sps_pcm_relative_3D_offset_flag установлен на 1.
На фиг.8 приведен пример элемента синтаксиса, используемого для переноса информации, которая необходима декодеру для реконструкции пропущенных точек, входящих в состав облака точек, согласно одному из примеров осуществления настоящего изобретения.
Этот элемент синтаксиса основан на элементе синтаксиса с именем patch frame data unit согласно определению в ТМС2.
Добавленный синтаксис (область, закрашенная серым цветом) добавляет парсинг дополнительного типа блока данных вставки, используемого для сигнализации наличия вставки текстуры ЕОМ.
На фиг.9 приведен пример элемента синтаксиса, используемого для переноса информации, которая необходима декодеру для реконструкции пропущенных точек, входящих в состав облака точек, согласно одному из примеров осуществления настоящего изобретения.
Этот элемент синтаксиса основан на элементе синтаксиса с именем pcm_patch_data_unit согласно определению в ТМС2.
На фиг.10 приведен пример элемента синтаксиса, используемого для переноса информации, которая необходима декодеру для реконструкции пропущенных точек, входящих в состав облака точек, согласно одному из примеров осуществления настоящего изобретения.
Этот элемент синтаксиса основан на элементе синтаксиса с именем pcm_patch_data_unit согласно определению в ТМС2. Вводятся дополнительные данные:
Элемент pdu_3d_pcm_shift_tangent_axis[frmIdx][patchIndex] обозначает сдвиг, который должен применяться к реконструированным точкам РСМ-вставки во вставке с индексом р кадра frmIdx вставки вдоль оси касательной. Значение элемента pdu_3d_shift_tangent_axis[frmIdx][p] должно лежать в диапазоне от 0 до включительно.
Элемент pdu_3d_pcm_shift_bitangent_axis[frmIdx][patchIndex] обозначает сдвиг, который должен применяться к реконструированным точкам РСМ-вставки во вставке с индексом р кадра frmIdx вставки вдоль оси касательной к двум точкам. Значение элемента pdu_3d_shift_bitangent_axis[frmIdx][patchIndex] должно лежать в диапазоне от 0 до включительно.
Элемент pdu_3d_pcm_shift_normal_axis[frmIdx][patchIndex] обозначает сдвиг, который должен применяться к реконструированным точкам РСМ-вставки во вставке с индексом р кадра frmIdx вдоль вертикальной оси. Значение элемента pdu_3d_shift_normal_axis[frmIdx][patchIndex] должно лежать в диапазоне от 0 до включительно.
Элемент dpdu_3d_relative_shift_index [frmIdx][patchIndex] обозначает индекс, который позволяет вычислить три значения 3D-сдвига (по касательной, по касательной к двум точкам и по вертикали). В ходе процесса декодирования этого индекса, описанного в ххххх, вычисляются следующие три параметра:
Согласно одному из вариантов осуществления настоящего изобретения способ кодирования может предусматривать генерирование одной дополнительной вставки, а именно вставки текстуры OEM, отображающей атрибут пропущенных точек. Эта вставка может быть упакована в изображение геометрии. При этом также может быть закодирована информация о вставке для указанной дополнительной вставки.
Согласно одному из вариантов осуществления настоящего изобретения способ декодирования может предусматривать получение вставки текстуры OEM, следуя одному из синтаксисов, описанных выше. Атрибут пропущенных точек может быть получен из указанной вставки текстуры ЕОМ на основании параметров во вставке текстуры ЕОМ (и, в конечном итоге, фиксированных параметров, например, режимов отбора и растеризации).
Согласно одному из вариантов осуществления настоящего изобретения элемент dpdu_3d_relative_shift_index декодируется следующим образом:
Входные данные для этого процесса имеют следующий вид:
Элемент dpdu_3d_relative_shift_index обозначает индекс, подлежащий декодированию. Элемент gps_geometry_nominal_2d_bitdepth_minusl указывает на номинальную 2D битовую размерность, в которую должны быть преобразованы все видеоизображения геометрии. Элемент gps_geometry_nominal_2d_bitdepth_minus1 должен лежать в диапазоне от 0 до 31, включительно. Элемент gps_geometry_3d_coordinates_bitdepth_minusl указывает на битовую разрядность координат геометрии реконструированного облака точек. Элемент gps_geometry_3d_coordinates_bitdepth_minus1 должен лежать в диапазоне от 0 до 31, включительно.
Ограничительная рамка реконструированного облака точек может быть разбита на множество подкубов. Каждый подкуб снабжен одним индексом. Результат декодирования этого индекса дает 3D-положение каждого подкуба (3D РСМ-рамка).
Размер ограничительной рамки реконструированного облака точек может быть задан битовой разрядностью 3D-координат параметра реконструированного облака точек (gps_geometry_3d_coordinates_bitdepth_minus1).
Размер 3D РСМ-рамки может быть задан битовой разрядностью параметра видеоизображения геометрии (gps_geometry_nominal_2d_bitdepth_minusl). Сторона 3D
Таким образом, разница между gps_geometry_3d_coordinates_bitdepth_minus1 и gps_geometry_nomina1_2d_bitdepth_minus1 указывает на количество 3D-положений по одной 3D-оси.
В этом примере каждая 3В-координата кодируется с использованием четырех битов.
Значение индекса, равное 0 х 0123, дает следующий результат:
Согласно одному из вариантов осуществления настоящего изобретения точки, входящие в облако точек, реконструируются по кодированным РСМ-вставкам так, как это описано ниже.
Входные данные для этого процесса имеют следующий вид:
gFrame: декодированный кадр геометрии.
aFrame: декодированный кадр атрибута.
recPc: контейнер для хранения списка точек в реконструированном облаке точек.
pointsAdded: переменная, указывающая на количество точек, уже добавленных в список точек в реконструированном облаке точек.
patch: вставка, из которой должны быть извлечены точки и добавлены в список точек в реконструированном облаке точек (данный процесс предполагает, что входная вставка представляет собой кодированную РСМ-вставку).
Выходными данными этого процесса является реконструированное облако точек в recPC.
Сначала извлекается информация о вставке, что осуществляется следующим образом:
Если элемент lossless_geometry_444_flag равен нулю, то точки извлекаются из кодированной РСМ-вставки, сохраненной в кадре геометрии с использованием формата 4:4:4 так, как это указано в п. 3.3.1.1 ТМС2.
Извлечение точек из кодированных РСМ-вставок, сохраненных в кадре геометрии форматом 4:4:4.
Точки из кодированной РСМ-вставки извлекаются и добавляются к реконструированному облаку точек следующим образом:
На фиг.11 показана блок-схема, иллюстрирующая один из примеров системы, в которой реализованы различные аспекты и варианты осуществления настоящего изобретения. Система 11000 может быть реализована в виде устройства, включающего в себя различные компоненты, описанные ниже, и она выполнена с возможностью реализации одного или нескольких аспектов, описанных в настоящем документе. Примерами таких устройств служат, помимо прочего, различные электронные устройства, такие как персональные компьютеры, лэптопы, смартфоны, планшетные компьютеры, цифровые мультимедийные телевизионные приставки, цифровые телевизионные приемники, персональные системы видеозаписи, подключенные бытовые приборы и серверы. Элементы системы 11000, по отдельности или в сочетании, могут быть встроены в единую интегральную схему (ИС), множество ИС и/или дискретные компоненты. Например, по меньшей мере, в одном варианте осуществления настоящего изобретения элементы обработки данных и кодер/декодер системы 11000 распределены среди множества ИС и/или дискретных компонентов. В различных вариантах осуществления настоящего изобретения система 11000 коммуникативно связана с другими аналогичными системами или иными электронными устройствами посредством, например, коммуникационной шины или выделенных входных и/или выходных портов. В различных вариантах осуществления настоящего изобретения система 11000 выполнена с возможностью реализации одного или нескольких аспектов, описанных в настоящем документе.
Система 11000 включает в себя, по меньшей мере, один процессор 11010, выполненный с возможностью исполнения загруженных в него команд для реализации, например, различных аспектов, описанных в настоящем документе. Процессор 11010 может содержать встроенную память, входной/выходной интерфейс и различные иные схемы, известные в данной области техники. Система 11000 включает в себя, по меньшей мере, одну память 11020 (например, энергозависимую память и/или энергонезависимую память). Система 11000 содержать накопитель 11040 данных, который может включать в себя энергонезависимую память и/или энергозависимую память, в том числе, помимо прочего, EEPROM (электрически стираемое программируемое постоянное запоминающее устройство), ROM (постоянное запоминающее устройство), PROM (программируемое постоянное запоминающее устройство), RAM (оперативное запоминающее устройство), DRAM (динамическое RAM-устройство), SRAM (статическое RAM-устройство), флеш-память, накопитель на магнитных дисках и/или накопитель на оптических дисках. В качестве примеров, не носящих ограничительного характера, накопитель 11040 данных может включать в себя внутреннее запоминающее устройство, внешнее запоминающее устройство и/или запоминающее устройство с доступом через сеть.
Система 11000 включает в себя модуль 11030 кодера/декодера, выполненный с возможностью, например, обработки данных с целью предоставления кодированного видео или декодированного видео, причем модуль 11030 кодера/декодера может содержать свой собственный процессор и память. Модуль 11030 кодера/декодера представляет собой модуль/модули, которые могут быть включены в состав устройства для выполнения функций кодирования и/или декодирования. Как известно, устройство может включать в себя какой-либо один из модулей кодирования и декодирования или оба эти модуля. Кроме того, модуль 11030 кодера/декодера может быть реализован в виде отдельного элемента системы 11000, или же он может быть встроен в процессор 11010 в виде комбинации аппаратных и программных средств, известной специалистам в данной области техники.
Программный код, загружаемый в процессор 11010 или кодер/декодер 11030 для реализации различных аспектов, описанных в настоящем документе, может быть сохранен в накопителе 11040 данных и впоследствии загружен в память 5020 для приведения в исполнение процессором 11010. Согласно различным вариантам осуществления настоящего изобретения во время выполнения процессов, описанных в настоящем документе, один или несколько процессоров 11010, память 11020, накопитель 11040 данных и модуль 11030 кодера/декодера могут сохранить один или несколько различных элементов. Такие сохраненные элементы могут включать в себя, помимо прочего, входное видео, декодированное видео, облако точек, реконструированное облако точек или части декодированного видео, битовый поток, матрицы, переменные величины и промежуточные или окончательные результаты обработки уравнений, формул, операций и операционной логики.
В некоторых вариантах осуществления настоящего изобретения память, расположенная в процессоре 11010 и/или модуле 11030 кодера/декодера, используется для хранения команд и представляет собой оперативную память для обработки данных, которая необходима во время кодирования или декодирования.
Однако в других вариантах осуществления настоящего изобретения память, выполненная внешней по отношению к устройству обработки данных (устройством обработки данных может служить, например, или процессор 11010, или кодер/декодер 11030), используется для выполнения одной или нескольких указанных функций. Внешней памятью может служить память 11020 и/или накопитель 11040 данных, например, динамическое энергозависимое запоминающее устройство и/или энергонезависимая флеш-память. В некоторых вариантах осуществления настоящего изобретения внешняя энергонезависимая флеш-память используется для хранения телевизионной операционной системы. По меньшей мере, в одном варианте осуществления настоящего изобретения в качестве оперативной памяти для выполнения операций по кодированию и декодированию, например, для MPEG-2, HEVC, VVC (универсальное кодирование видео) или ТМС2 используется быстродействующее внешнее динамическое энергозависимое запоминающее устройство, такое как RAM.
Подача данных на элементы системы 11000 может быть обеспечена через различные устройства ввода, указанные в блоке 11130. Такие устройства ввода включают в себя, например, помимо прочего: (i) радиочастотную часть (RF-часть), которая принимает RF-сигнал, передаваемый, например, вещательным передатчиком по каналу беспроводной связи; (ii) комбинированный входной разъем (СОМР); (iii) входной разъем USB; и/или (iv) входной разъем HDMI.
В различных вариантах осуществления настоящего изобретения устройства ввода блока 11130 содержат соответствующие сопряженные элементы обработки входных данных, известные в данной области техники. Например, RF-часть может быть сопряжена с элементами, необходимыми для: (i) выбора требуемой частоты (также именуемого выбором сигнала или ограничением полосы частот сигнала определенной полосой частот); (ii) преобразования выбранного сигнала с понижением частоты; (iii) повторного ограничения полосы более узкой полосой частот для выбора (например) полосы частот сигнала, которая в некоторых вариантах осуществления настоящего изобретения может также называться каналом; (iv) демодуляции сигнала, преобразованного с понижением частоты и ограниченного по полосе; (v) осуществления коррекции ошибок; и (vi) демультиплексирования с целью выбора требуемого потока пакетов данных. При этом RF-часть в различных вариантах осуществления настоящего изобретения включает в себя один или несколько элементов, предназначенных для выполнения этих функций, например, селекторы частоты, селекторы сигналов, ограничители полосы пропускания, селекторы каналов, фильтры, понижающие преобразователи, демодуляторы, корректоры ошибок и демультиплексеры. При этом RF-часть может включать в себя тюнер, который выполняет различные указанные функции, включая, например, преобразование принятого сигнала с понижением его частоты, например, до промежуточной частоты или до частоты, близкой к групповой, или до полосы группового спектра частот.
В одном из вариантов осуществления телевизионной приставки RF-часть с сопряженным элементом обработки входных данных принимает RF-сигнал, передаваемый проводным образом (например, с помощью кабеля), и осуществляет выбор частоты путем фильтрации, преобразования с понижением частоты и повторной фильтрации до требуемого диапазона частот.
В различных вариантах осуществления настоящего изобретения предусмотрено переупорядочение описанных выше (и других) элементов, удаление некоторых из этих элементов и/или добавление других элементов, выполняющих аналогичные или другие функции.
Добавление элементов может предусматривать вставку элементов между имеющимися элементами, например, вставку усилителей и аналого-цифрового преобразователя. В различных вариантах осуществления настоящего изобретения RF-часть включает в себя антенну.
Кроме того, разъемы USB и/или HDMI могут включать в себя соответствующие интерфейсные процессоры для соединения системы 11000 с другими электронными устройствами через USB- и/или HDMI-соединения. Следует понимать, что различные аспекты обработки входных данных, например, коррекция ошибок Рида-Соломона, могут быть реализованы, например, в отдельной ИС или в процессоре 11010 в зависимости от потребности. Аналогичным образом аспекты обработки данных на USB- или HDMI-интерфейсах могут быть реализованы в отдельных интерфейсных ИС или в процессоре 11010 в зависимости от потребности. Демодулированный и демультиплексированный поток с коррекцией ошибок подается на различные элементы обработки данных, включающие в себя, например, процессор 11010 и кодер/декодер 11030, функционирующие во взаимодействии с памятью и ее элементами с целью обработки потока данных, насколько это необходимо для их отображения на устройстве вывода.
Различные элементы системы 11000 могут располагаться в едином корпусе. Внутри этого единого корпуса различные элементы могут быть соединены друг с другом и обеспечивать взаимную передачу данных с использованием подходящих средств установления соединений, например, внутренней шины, известной в данной области техники, включая шину I2C, разводки межсоединений и печатных монтажных плат.
Система 11000 включает в себя интерфейс 11050 связи, который обеспечивает связь с другими устройствами по каналу 11060 связи. Интерфейс 11050 связи может включать в себя, помимо прочего, приемопередатчик, выполненный с возможностью передачи и приема данных по каналу 11060 связи. Интерфейс 5050 связи может включать в себя, помимо прочего, модем или сетевую карту, а канал 11060 связи может быть реализован, например, в проводной и/или беспроводной среде.
В различных вариантах осуществления настоящего изобретения данные передаются в систему 11000 потоком с использованием сети Wi-Fi, такой как IEEE 802.11. Сигнал Wi-Fi в этих вариантах осуществления принимается по каналу 11060 связи и интерфейсу 11050 связи, которые адаптированы для осуществления связи по технологии Wi-Fi. Канал 11060 связи в этих вариантах осуществления настоящего изобретения обычно подключен к точке доступа или маршрутизатору, который обеспечивает доступ к внешним сетям, включая сеть Интернет, обеспечивая возможность использования приложений по потоковой передаче данных и прочих видов связи по технологии ОТТ (метод предоставления видеоуслуг через Интернет).
Другие варианты осуществления настоящего изобретения обеспечивают потоковую передачу данных в систему 11000 с использованием телевизионной приставки, которая передает данные через соединение HDMI входного блока 11130.
Некоторые другие варианты осуществления настоящего изобретения обеспечивают потоковую передачу данных в систему 11000 с использованием RF-соединения входного блока 11130.
Система 11000 может подавать выходной сигнал на различные устройства вывода, включая дисплей 11100, динамики НПО и прочие периферийные устройства 11120. В различных примерах осуществления настоящего изобретения прочие периферийные устройства 11120 включают в себя одно или несколько таких устройств, как отдельный цифровой видеомагнитофон (DVR), электропроигрывающее устройство, стереосистема, система освещения и прочие устройства, которые выполняют определенную функцию, исходя из выходных данных системы 11000.
В различных вариантах осуществления настоящего изобретения управляющие сигналы передаются между системой 11000 и дисплеем 11100, динамиками 11110 или иными периферийными устройствами 11120 с использованием сигнальных протоколов, таких как AV.Link и СЕС, или иных коммуникационных протоколов, которые обеспечивают управление взаимодействием между устройствами с участием или без участия пользователя.
Устройства вывода могут быть коммуникативно связаны с системой 11000 посредством выделенных соединений через соответствующие интерфейсы 11070, 11080 и 11090.
В альтернативном варианте устройства вывода могут быть соединены с системой 11000 посредством канала 11060 связи через интерфейс 11050 связи. В определенном электронном устройстве, таком как, например, телевизор, дисплей 11100 и динамики 11110 могут быть сведены в единый блок вместе с другими компонентами системы 11000.
В различных вариантах осуществления настоящего изобретения интерфейс 11070 дисплея включает в себя драйвер дисплея, такой как, например, чип контроллера синхронизации (Т Con).
В альтернативном варианте дисплей 11100 и динамик 11110 могут быть отделены от одного или нескольких других компонентов, например, если RF-часть на входе 11130 является частью отдельной телевизионной приставки. В различных вариантах осуществления настоящего изобретения, в которых дисплей 11100 и динамики 11110 представляют собой внешние компоненты, выходной сигнал может подаваться через выделенные выходные соединения, в том числе, например, через порты HDMI, порты USB или выводы СОМР.
Варианты осуществления различных процессов и признаков, описанных в настоящем документе, могут быть реализованы в различном оборудовании или приложениях самого разного типа. Примерами такого оборудования могут служить, например, кодер, декодер, постпроцессор для обработки выходных данных декодера, постпроцессор для предоставления входных данных кодеру, видеокодер, видеодекодер, видеокодек, веб-сервер, телевизионная приставка, лэптоп, персональный компьютер, сотовый телефон, карманный персональный компьютер (PDA) и любое иное устройство, предназначенное для обработки изображения или видео, или иные устройства связи. Как должно быть понятно, указанное оборудование может быть мобильным, причем оно может быть выполнено даже с возможностью установки на передвижном средстве.
Кроме того, предложенные способы могут быть реализованы командами, исполняемыми процессором, причем такие команды (и/или значения данных, сгенерированные согласно одному из вариантов реализации) могут храниться на машиночитаемом носителе данных. Машиночитаемый носитель данных может иметь вид машиночитаемого программного продукта, реализованного в одном или нескольких машиночитаемых носителях и содержащего встроенный машиночитаемый программный код, который приводится в исполнение компьютером. В контексте настоящего документа машиночитаемым носителем данных считается энергонезависимый носитель данных с присущей ему способностью хранения информации, а также с присущей ему способностью извлечения хранящейся на нем информации. Машиночитаемый носитель данных может представлять собой, помимо прочего, например, электронную, магнитную, оптическую, электромагнитную, инфракрасную или полупроводниковую систему, прибор или устройство, или любую комбинацию таких систем, приборов или устройств, пригодную для использования. Следует иметь в виду, что представленный ниже список, хотя он и приводит конкретные примеры машиночитаемых носителей данных, к которым применимы варианты осуществления настоящего изобретения, носит исключительно иллюстративный, а не исчерпывающий характер, что очевидно специалисту в данной области техники: дискета переносного компьютера, жесткий диск, постоянное запоминающее устройство (ROM), стираемое программируемое постоянное запоминающее устройство (EPROM или флеш-память), переносное постоянное запоминающее устройство на компакт-дисках (CD-ROM), оптический накопитель, магнитный накопитель или любое подходящее сочетание указанных устройств.
Команды могут образовывать прикладную программу, физически встроенную в читаемый процессором носитель.
Команды могут находиться, например, в аппаратных средствах, аппаратно реализованных программных средствах, программном обеспечении или сочетании указанных средств. Команды могут находиться, например, в операционной системе, в отдельном приложении или и там, и там. Таким образом, процессор может быть в равной степени охарактеризован, например, как устройство, выполненное с возможностью выполнения определенного процесса, или как устройство, которое включает в себя читаемый процессором носитель (такой как накопитель), содержащий команды, предназначенные для выполнения определенного процесса. Кроме того, в дополнение к командам или вместо них на читаемом процессором носителе могут храниться значения данных, сгенерированные согласно одному из вариантов реализации.
Как должно быть очевидно специалисту в данной области техники, варианты реализации настоящего изобретения могут генерировать самые разные сигналы, форматируемые таким образом, чтобы они могли переносить информацию, которая может, например, сохраняться или передаваться. Эта информация может включать в себя, например, команды, предназначенные для выполнения какого-либо способа, или данные, сгенерированные согласно одному или нескольким требуемым вариантам реализации. Например, сигнал может быть отформатирован таким образом, чтобы он переносил в качестве данных правила записи или считывания синтаксиса согласно примерам осуществления настоящего изобретения, или чтобы он переносил в качестве данных фактические значения синтаксиса, записанные описанным примером осуществления настоящего изобретения. Такой сигнал может быть отформатирован, например, в виде электромагнитной волны (например, с использованием радиочастотной области спектра) или в виде модулирующего сигнала. Форматирование может предусматривать, например, кодирование потока данных и модулирование несущей с помощью кодированного потока данных. Информация, которую переносит сигнал, может представлять собой, например, аналоговую или цифровую информацию. Сигнал может передаваться по самым разным проводным и беспроводным линиям связи, известным в данной области техники. Сигнал может сохраняться на читаемом процессором носителе.
В настоящем документе был описан ряд вариантов осуществления заявленного изобретения. Тем не менее, следует понимать, что в них могут быть внесены различные модификации. Например, элементы различных вариантов осуществления могут объединяться, дополняться, модифицироваться или исключаться для получения других вариантов осуществления настоящего изобретения. Кроме того, специалисту в данной области техники должно быть понятно, что структуры и процессы, описанные в настоящем документе, могут быть заменены другими структурами и процессами, а полученные в результате варианты осуществления будут реализовывать, по меньшей мере, по существу ту же функцию/функции, по меньшей мере, по существу таким же образом для достижения, по меньшей мере, по существу такого же результата/результатов, что и варианты осуществления, раскрытые в настоящем документе. Соответственно, представленная заявка предполагает эти и другие варианты осуществления настоящего изобретения.
Изобретение относится к средствам для кодирования и реконструкции облака точек, отображающего внешнюю поверхность 3D-объекта. Технический результат заключается в повышении эффективности кодирования. Выполняют разбивку ограничительной рамки, устанавливающей границы точек в составе облака точек, на множество секций, причем разбивка зависит от битовой разрядности кодера, используемого для кодирования точек. Кодируют данные, отображающие атрибуты точки в составе облака точек, путем привязки к секции, к которой относится указанная точка. Причем 3D-координаты точки разбивки кодируют как дифференциальные координаты, получаемые по координатам опорной точки разбивки закодированной в изображении геометрии 2D-вставки. 5 н. и 17 з.п. ф-лы, 11 ил.
1. Способ кодирования точек облака точек, предусматривающий:
разбивку ограничительной рамки, устанавливающей границы точек в составе облака точек, на множество секций, причем разбивка зависит от битовой разрядности кодера, используемого для кодирования точек; и
кодирование данных, отображающих атрибуты точки в составе облака точек, путем привязки к секции, к которой относится указанная точка, причем 3D-координаты точки разбивки кодируют как дифференциальные координаты, получаемые по координатам опорной точки разбивки закодированной в изображении геометрии 2D-вставки.
2. Способ по п. 1, отличающийся тем, что этот способ дополнительно предусматривает кодирование данных, отображающих ряд точек, содержащихся в каждой секции.
3. Способ по п. 1, в котором получение точек обеспечивается путем сравнения точек входного облака точек с точками реконструированного облака точек, причем получение указанного реконструированного облака точек обеспечивается путем:
- получения, по меньшей мере, одного изображения геометрии и атрибута методом проецирования по меньшей мере одной точки в составе входного облака точек на плоскость проекции;
- кодирования указанного, по меньшей мере, одного изображения геометрии и по меньшей мере одного изображения атрибута; и
- реконструкции точек в составе реконструированного облака точек методом декодирования указанного, по меньшей мере, одного изображения геометрии и по меньшей мере одного изображения атрибута.
4. Способ по п. 1, в котором атрибут точки соответствует информации о геометрии или текстуре или цвете указанной точки.
5. Способ по п. 1, отличающийся тем, что точки представляют собой точки облака точек, которые не представлены на изображении геометрии и изображение атрибута получают путем проецирования облака точек на плоскость проекции.
6. Устройство кодирования точек облака точек, содержащее один или более процессоров, выполненных с возможностью:
- разбивки ограничительной рамки, устанавливающей границы точек в составе облака точек, на множество секций, причем разбивка зависит от битовой разрядности кодера, используемого для кодирования точек; и
- кодирования данных, отображающих атрибуты точки в составе облака точек, путем привязки к секции, к которой относится указанная точка, причем 3D-координаты точки разбивки выполнены с возможностью кодирования как дифференциальные координаты, получаемые по координатам опорной точки разбивки закодированной в изображении геометрии 2D-вставки.
7. Устройство по п. 6, отличающееся тем, что процессор дополнительно выполнен с возможностью кодирования данных, отображающих ряд точек, содержащихся в каждой секции.
8. Устройство по п. 6, в котором получение точек обеспечивается путем сравнения точек входного облака точек с точками реконструированного облака точек, причем получение указанного реконструированного облака точек обеспечивается путем:
- получения, по меньшей мере, одного изображения геометрии и атрибута методом проецирования по меньшей мере одной точки в составе входного облака точек на плоскость проекции;
кодирования указанного, по меньшей мере, одного изображения геометрии и по меньшей мере одного изображения атрибута; и
- реконструкции точек в составе реконструированного облака точек методом декодирования указанного, по меньшей мере, одного изображения геометрии и по меньшей мере одного изображения атрибута.
9. Устройство по п. 6, в котором атрибут точки соответствует информации о геометрии или текстуре или цвете указанной точки.
10. Устройство по п. 6, отличающееся тем, что точки представляют собой точки облака точек, которые не представлены на изображении геометрии и изображение атрибута выполнено с возможностью получения путем проецирования облака точек на плоскость проекции.
11. Способ реконструкции точек облака точек, предусматривающий:
- декодирование данных, отображающих атрибуты точек в составе облака точек, путем привязки к секции, к которой относятся эти точки, причем указанная секция представляет собой одну из множества секций, полученных в результате разбивки ограничительной рамки, устанавливающей границы указанных точек в составе облака точек, причем разбивка зависит от битовой разрядности кодера, используемого для кодирования точек;
- реконструкцию атрибутов по меньшей мере одной точки облака точек по указанным декодированным данным, включающую в себя получение 2D-вставки для разбивки из декодированного изображения геометрии, и получение 3D-координат по меньшей мере одной точки по координатам, полученным по пиксельным значениям 2D-вставки, и по координатам опорной точки 2D-вставки.
12. Способ по п. 11, отличающийся тем, что этот способ дополнительно предусматривает декодирование данных, отображающих ряд точек, содержащихся в каждой секции указанной ограничительной рамки, и реконструкцию атрибутов точек также по указанному ряду точек.
13. Способ по п. 11, в котором атрибуты точек реконструируются по указанным декодированным данным, реконструирующим точки реконструированного облака точек путем декодирования, по меньшей мере, одного изображения геометрии и по меньшей мере одного изображения атрибута.
14. Способ по п. 11, отличающийся тем, что этот способ дополнительно предусматривает получение одной 2D-вставки изображения для секции, когда указанная секция содержит, по меньшей мере, одну из указанных точек.
15. Способ по п. 11, в котором атрибут точки соответствует информации о геометрии или текстуре или цвете указанной точки.
16. Способ по п. 11, отличающийся тем, что точки представляют собой точки облака точек, которые не представлены на изображении геометрии и изображение атрибута получают путем проецирования облака точек на плоскость проекции.
17. Устройство реконструкции точек облака точек, содержащее один или более процессоров, выполненных с возможностью:
- декодирования данных, отображающих атрибуты точек в составе облака точек, путем привязки к секции, к которой относятся эти точки, причем указанная секция представляет собой одну из множества секций, полученных в результате разбивки ограничительной рамки, устанавливающей границы указанных точек в составе облака точек, причем разбивка зависит от битовой разрядности кодера, используемого для кодирования точек;
- реконструкции атрибутов по меньшей мере одной точки облака точек по указанным декодированным данным, включающей в себя получение 2D-вставки для разбивки из декодированного изображения геометрии, и получение 3D-координат по меньшей мере одной точки по координатам, полученным по пиксельным значениям 2D-вставки, и по координатам опорной точки 2D-вставки.
18. Устройство по п. 17, отличающееся тем, что процессор дополнительно выполнен с возможностью декодирования данных, отображающих ряд точек, содержащихся в каждой секции указанной ограничительной рамки, и реконструкцию атрибутов точек также по указанному ряду точек.
19. Устройство по п. 17, в котором атрибуты точек выполнены с возможностью реконструирования по указанным декодированным данным, реконструирующим точки реконструированного облака точек путем декодирования по меньшей мере одного изображения геометрии и по меньшей мере одного изображения атрибута.
20. Устройство по п. 17, в котором атрибут точки соответствует информации о геометрии или текстуре или цвете указанной точки.
21. Устройство по п. 17, отличающееся тем, что точки представляют собой точки облака точек, которые не представлены на изображении геометрии и изображение атрибута выполнено с возможностью получения путем проецирования облака точек на плоскость проекции.
22. Энергонезависимый машиночитаемый носитель данных, содержащий команды, инициирующие выполнение одним или несколькими процессорами следующих операций:
- декодирования данных, отображающих атрибуты точек в составе облака точек, путем привязки к секции, к которой относятся эти точки, причем указанная секция представляет собой одну из множества секций, полученных в результате разбивки ограничительной рамки, устанавливающей границы указанных точек в составе облака точек, причем разбивка зависит от битовой разрядности кодера, используемого для кодирования точек;
- реконструкции атрибутов по меньшей мере одной точки облака точек по указанным декодированным данным, включающей в себя получение 2D-вставки для разбивки из декодированного изображения геометрии, и получение 3D-координат по меньшей мере одной точки по координатам, полученным по пиксельным значениям 2D-вставки, и по координатам опорной точки 2D-вставки.
Rufael Mekuria et al., "Design, Implementation, and Evaluation of a Point Cloud Codec for Tele-Immersive Video", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, апрель 2017, с | |||
Ручной огнетушитель | 1923 |
|
SU829A1 |
WO 2017209961 A1, 07.12.2017 | |||
US 20180286107 A1, 04.10.2018 | |||
WO 2017126314 A1, 27.07.2017 | |||
WO 2018114417 A1, 28.06.2018 | |||
US 20170347055 A1, |
Авторы
Даты
2023-09-19—Публикация
2019-10-04—Подача