Область техники, к которой относится настоящее изобретение
Настоящее изобретение относится, в общем, к кодированию и реконструкции трехмерных (3D) точек. В частности, помимо прочего, техническая область вариантов осуществления настоящего изобретения относится к кодированию/реконструкции облака точек, отображающего внешнюю поверхность 3D-объекта.
Предшествующий уровень техники настоящего изобретения
Данный раздел знакомит читателя с различными аспектами соответствующей области техники, которые могут относиться к различным вариантам осуществления настоящего изобретения, описанным и/или заявленным ниже. Предполагается, что это описание окажется полезным для ознакомления читателя с базовой информацией, облегчающей понимание различных аспектов вариантов осуществления настоящего изобретения. Соответственно, следует понимать, что эти положения должны трактоваться именно в таком ключе, а не как признание предшествующего уровня техники.
Облако точек представляет собой множество точек данных в определенной системе координат. В трехмерной системе координат (3D-пространстве) эти точки обычно предназначены для отображения внешней поверхности 3D-объекта. Каждая из точек, входящих в состав облака точек, часто определяется по своему местоположению (координатам X, Y и Z в 3D-пространстве) и, возможно, по другим ассоциированным атрибутам, таким как цвет (например, представленный в цветовом пространстве RGB или YUV), прозрачность, отражательная способность, двухкомпонентный вектор нормали и т.п.
Обычно облако точек отображается в виде множества 6-компонентных точек (X, Y, Z, R, G, В) или эквивалентно (X, Y, Z, Y, U, V), где (X, Y, Z) задает координаты окрашенной точки в ЗВ-пространстве, a (R, G, В) или (Y, U, V) определяет цвет этой окрашенной точки.
Облака точек могут быть статическими или динамичными в зависимости от того, видоизменяется ли облако точек с течением времени или нет. Следует отметить, что в случае с динамическим облаком точек их количество не постоянно, а со временем обычно изменяется. Таким образом, динамическое облако точек представляет собой упорядоченный по времени список множества точек.
На практике облака точек могут использоваться для самых разных целей, например, применительно к достояниям культуры/сооружениям культурного наследия, где такие объекты, как статуи или здания подвергаются трехмерному сканированию с тем, чтобы можно было совместно использовать пространственную конфигурацию объекта, не посещая и не пересылая его. Кроме того, с их помощью можно обеспечить сохранение знаний об объекте на случай его возможного разрушения, например, разрушения замка вследствие землетрясения. Такие облака точек обычно являются статическими, окрашенными и массивными.
Еще одной сферой применения облаков точек служит топография и картография, где за счет использования 3D-изображений карты не ограничены плоскостью, а могут отображать рельеф. В настоящее время ярким примером 3D-карт могут служить Google-карты; однако в них вместо облаков точек используются сетки. Тем не менее, облака точек могут быть подходящим форматом данных для 3D-карт, причем такие облака точек обычно являются статическими, окрашенными и массивными.
Областями, в которых могут быть использованы облака точек, также включают в себя автомобильную промышленность и беспилотные автомобили. Беспилотные автомобили должны обладать способностью «зондирования» окружающей среды для принятия правильного решения о своем дальнейшем движении на основании реалий своего непосредственного окружения. Стандартные датчики, такие как лазерные радары, генерируют динамические облака точек, которые используются подсистемой принятия решений. Эти облака точек не видны человеку, и обычно они характеризуются малыми размерами, не обязательно окрашены, и представляют собой динамические облака точек с высокой частотой фиксации. Они могут обладать и другими свойствами, такими как отражательная способность, обеспечиваемая лазерным радаром, поскольку такое свойство предоставляет достоверные сведения о материале, из которого выполнен сканируемый объект, и может помочь в принятии решения.
В последнее время актуальным направлением исследований стали такие сферы, как виртуальная реальность и среда с погружением, которые рассматриваются многими как будущее двухмерного (2D) видео. Основная идея заключается в том, чтобы полностью погружать зрителя в окружающую среду в отличие от традиционного телевидения, где виртуальная реальность может наблюдаться только спереди. Предусматривается определенная шкала погруженности в зависимости от степени свободы зрителя в окружающей среде. Окрашенные облака точек могут стать подходящим форматом-кандидатом для построения миров виртуальной реальности (или VR). Они могут быть статическими или динамическими, и обычно они характеризуются средними размерами, т.е. не более миллиона точек в каждый отдельно взятый момент времени.
Сжатие облака точек будет способствовать успешному сохранению/передаче 3D-объектов для миров с эффектом присутствия только в том случае, если размер битового потока достаточно мал для того, чтобы обеспечить возможность его практического сохранения/передачи конечному пользователю.
Крайне важно, чтобы была обеспечена возможность распределения динамических облаков точек для конечного пользователя с достаточно высокой битовой скоростью при сохранении приемлемого (или предпочтительно высокого) качества восприятия. Эффективное сжатие этих динамических облаков точек является ключевым фактором, влияющим на практическое осуществление распределения цепочки миров с эффектом присутствия.
Все большую популярность приобретают методы сжатия облаков точек на основе анализа изображений вследствие того, что в них сочетаются высокий коэффициент сжатия и простота. Они предусматривают два основных этапа: сначала выполняется проецирование (ортогональная проекция) облака точек, т.е. 3D-точек, по меньшей мере, на одну 2 В-плоскость. При этом получается, например, по меньшей мере, одно 2D-изображение геометрического параметра (именуемого также глубиной), отображающее геометрию облака точек, т.е. пространственные координаты 3D-точек в 3В-пространстве; при этом также получается, по меньшей мере, одно 2D-изображение атрибута (именуемого также текстурой), отображающее атрибут, ассоциированный с 3D-точками облака точек, например, информацию о текстуре/цвете, относящуюся к этим 3D-точкам. Затем эти методы предусматривают кодирование таких изображений геометрии и атрибута с их преобразованием, по меньшей мере, в один слой геометрических параметров и атрибутов с помощью традиционных видеокодеров.
Методы сжатия облаков точек на основе анализа изображений обеспечивают высокую эффективность сжатия за счет использования возможностей видеокодера 2D-изображений, таких как, например, видеокодер стандарта HEVC («ITU-T Н.265, Сектор стандартизации электросвязи ITU (10/2014), Серия Н: Аудиовизуальные и мультимедийные системы, инфраструктура аудиовизуальных услуг - кодирование движущихся видеоизображений,, высокоэффективное кодирование видеоизображений, Рекомендация ITU-T Н.265»); при этом они обеспечивают низкий уровень сложности за счет использования простых схем проецирования.
Один из недостатков методов сжатия облаков точек на основе анализа изображений состоит в том, что облако точек может оказаться непригодным для проецирования на изображения, особенно в том случае, когда распределение точек повторяет поверхность с множеством складок (вогнутых/выпуклых участков, например, одежды), или когда распределение точек вообще не повторяет поверхность (например, меха или волос). В таких случаях методы сжатия облаков точек на основе анализа изображений проявляют низкую эффективность сжатия (требуется множество малых проекций, что снижает эффективность сжатия 2D-видео) или плохое качество (из-за сложности проецирования облака точек на поверхность).
Один из подходов к устранению этой проблемы, который используется на известном уровне техники, состоит в проецировании множественной информации о геометрии и атрибуте на одно и то же местоположение изображения в пространстве. Это означает, что может быть сгенерировано несколько изображений геометрии и/или атрибута в расчете на одну 3D-точку в составе облака точек с теми же координатами проекции (с теми же 2D-пространственными координатами пикселя).
Дело обстоит именно так, например, при использовании кодера облака точек так называемой категории ТМС2 (вторая категория опытных моделей) согласно определению, представленному в ISO/IEC JTC1/SC29/WG11 MPEG2018/N17767, г. Любляна, июль 2018 года (Приложение А), в котором облако точек проецируется на плоскость проекции под прямым углом. В расчете на одну координату указанной плоскости проекции генерируется два изображения геометрии: одно из них отображает значение глубины, связанное с ближайшей точкой (наименьшее значение глубины), а другое - отображает значение глубины наиболее удаленной точки (наибольшее значение глубины). Затем по наименьшим значениям глубины (D0) генерируется первое изображение геометрии, а по абсолютной величине наибольших значений глубины (D1) генерируется второе изображение геометрии, причем значения D1-D0 будут меньше или равны максимальной толщине поверхности. Также генерируются первое и второе изображения атрибута, связанные с первым (D0) и вторым (D1) изображениями геометрии. Затем изображения, как атрибута, так и геометрии кодируются и декодируются с помощью традиционного видеокодера, такого как кодер HEVC. Таким образом, геометрия облака точек реконструируется за счет обратного проецирования информации, содержащейся в декодированных первом и втором изображениях геометрии, а атрибут соотносится с реконструированным 3D-изображением на основании информации, содержащейся в декодированных изображениях атрибута.
Недостаток фиксации двух значений геометрии (и двух значений атрибута) состоит в том, что по двум изображениям геометрии систематически реконструируются две 3D-точки, в результате чего происходит дублирование реконструированных 3D-точек, когда значение глубины пикселя в первом изображении геометрии равно значению глубины совмещенного пикселя во втором изображении геометрии. Кроме того, кодирование необязательно дублированных точек увеличивает скорость битового потока при передаче кодированного множества 3D-точек. Более того, при обработке таких искусственно дублированных 3D-точек происходит напрасное расходование ресурсов на вычисление и сохранение данных, как на стороне кодирования, так и на стороне декодирования.
Краткое раскрытие настоящего изобретения
Ниже представлено упрощенное изложение вариантов осуществления настоящего изобретения, чтобы обеспечить базовое понимание некоторых их аспектов. Это краткое изложение не является исчерпывающим обзором вариантов осуществления настоящего изобретения. Оно не предполагает идентификацию ключевых или критически важных элементов вариантов осуществления настоящего изобретения. Последующее краткое описание просто представляет некоторые аспекты вариантов осуществления настоящего изобретения в упрощенном виде в качестве вводной части для более подробного описания, которое представлено ниже.
Варианты осуществления настоящего изобретения предложены для того, чтобы устранить, по меньшей мере, один из недостатков предшествующего уровня техники с помощью способа и устройства для кодирования 3D-точек, геометрия которых представлена в виде изображений геометрии, а атрибут представлен в виде изображения атрибута. Когда значение глубины пикселя в первом из указанных изображений геометрии и значение глубины совмещенного пикселя во втором из указанных изображений геометрии не совпадают друг с другом, предложенный способ присваивает совмещенному пикселю указанного изображения атрибута атрибут 3D-точки, геометрия которой определяется по пространственным 2D-координатам совмещенного пикселя в указанном первом изображении геометрии и значению глубины указанного совмещенного пикселя в указанном втором изображении геометрии.
Согласно одному из вариантов осуществления настоящего изобретения предложенный способ дополнительно предусматривает присвоение фиктивного атрибута пикселю указанного изображения атрибута, когда значение глубины совмещенного пикселя в указанном первом изображении геометрии совпадает со значением глубины совмещенного пикселя в указанном втором изображении геометрии.
Согласно одному из вариантов осуществления настоящего изобретения фиктивный атрибут представляет собой атрибут совмещенного пикселя другого изображения атрибута.
Согласно одному из вариантов осуществления настоящего изобретения фиктивный атрибут представляет собой среднее значение атрибутов, ассоциированных с соседними пикселями, окружающими указанный пиксель.
Согласно одному из вариантов осуществления настоящего изобретения предложенный способ дополнительно предусматривает передачу информационных данных, указывающих на то, совпадает ли значение глубины пикселя в указанном первом изображении геометрии со значением глубины совмещенного пикселя в указанном втором изображении геометрии или нет перед реконструкцией 3D-точки по указанным изображениям геометрии.
Согласно еще одному из своих аспектов варианты осуществления настоящего изобретения относятся к битовому потоку, переносящему кодированные атрибуты 3D-точек, который структурирован в виде множественных блоков, вставок блоков и кадров вставок, причем указанные информационные данные действительны на уровне группы кадров, на уровне кадра, на уровне вставки или на уровне блока.
Согласно еще одному из своих аспектов варианты осуществления настоящего изобретения относятся к способу реконструкции 3D-точек по изображениям геометрии, отображающим геометрию указанных 3D-точек, причем этот способ предусматривает реконструкцию 3D-точки по пространственным 2D-координатам пикселя в первом из указанных изображений геометрии и значению глубины совмещенного пикселя во втором из указанных изображений геометрии, когда значение глубины указанного пикселя в первом из указанных изображений геометрии не совпадает со значением глубины указанного совмещенного пикселя во втором из указанных изображений геометрии.
Согласно одному из вариантов осуществления настоящего изобретения предложенный способ дополнительно предусматривает прием информационных данных, указывающих на то, совпадает ли значение глубины пикселя в указанном первом изображении геометрии со значением глубины совмещенного пикселя в указанном втором изображении геометрии или нет перед реконструкцией 3D-точки по указанным изображениям геометрии.
Согласно одному из вариантов осуществления настоящего изобретения битовый поток, переносящий кодированные атрибуты 3D-точек, структурирован в виде множественных блоков, вставок блоков и кадров вставок, а указанные информационные данные действительны на уровне группы кадров, на уровне кадра, на уровне вставки или на уровне блока.
Согласно одному из вариантов осуществления настоящего изобретения одним из атрибутов 3D-точки служит значение цвета или значение текстуры.
Одним или несколькими вариантами осуществления из числа, по меньшей мере, одного варианта осуществления настоящего изобретения также предложено устройство, компьютерный программный продукт, энергонезависимый машиночитаемый носитель данных и битовый поток.
Особенности вариантов осуществления настоящего изобретения, а также другие объекты, преимущества, признаки и области применения вариантов осуществления настоящего изобретения станут очевидными после ознакомления с последующим описанием примеров, раскрытым в привязке к прилагаемым чертежам.
Краткое описание фигур
Примеры осуществления настоящего изобретения проиллюстрированы на чертежах, где:
На фиг. 1 показана схема, иллюстрирующая стадии способа 100 кодирования атрибутов, ассоциированных с 3D-точками, согласно одному из примеров осуществления настоящего изобретения;
На фиг. 2 показана схема, иллюстрирующая стадии способа 200 реконструкции 3D-точек по изображениям геометрии, отображающим геометрию указанных 3D-точек, согласно одному из примеров осуществления настоящего изобретения;
На фиг. 3 схематически проиллюстрирован способ кодирования геометрии и атрибута облака точек согласно определению в ТМС2;
На фиг. 4 схематически проиллюстрирован способ декодирования геометрии и атрибута облака точек согласно определению в ТМС2;
На фиг. 5 показана блок-схема, иллюстрирующая один из примеров системы, в которой реализованы различные аспекты и варианты осуществления настоящего изобретения;
На фиг. 6 приведен пример элемента синтаксиса в ТМС2 под названием «group_of_frames_header()», измененный согласно вариантам осуществления настоящего изобретения;
На фиг. 7-7b приведен пример элемента синтаксиса в ТМС2, называемый «frame auxiliary information(frame index)» и измененный согласно вариантам осуществления настоящего изобретения; а
На фиг. 8-8b приведен другой пример элемента синтаксиса в ТМС2, называемый «frame_auxiliary_information(frame_index)» и измененный согласно вариантам осуществления настоящего изобретения.
Аналогичные или схожие элементы обозначены одинаковыми номерами позиций.
Подробное раскрытие одного из примеров осуществления настоящего изобретения
Ниже будут подробно описаны варианты осуществления настоящего изобретения, раскрытые в привязке к прилагаемым чертежам, где проиллюстрированы примеры осуществления настоящего изобретения. Однако варианты осуществления настоящего изобретения могут быть реализованы во многих других альтернативных формах, и не должны рассматриваться как ограниченные примерами, приведенными в настоящем документе. Соответственно, несмотря на то, что варианты осуществления настоящего изобретения подвержены различным модификациям и реализации в альтернативных формах, на чертежах представлены конкретные примеры их реализации, носящие иллюстративный характер, которые будут подробно описаны в настоящем документе. Однако следует понимать, что при этом не предполагается ограничение вариантов осуществления настоящего изобретения конкретными раскрытыми формами; наоборот, представленное описание охватывает все модификации, эквиваленты и альтернативы, соответствующие сущности и объему вариантов осуществления заявленного изобретения в соответствии с формулой изобретения.
Терминология, используемая в настоящем документе, служит лишь для описания конкретных примеров, и не претендует на ограничение вариантов осуществления заявленного изобретения. В контексте настоящего документа формы единственного числа, представленные неопределенными артиклями и определенным артиклем, предполагают включение форм множественного числа, если только из контекста явным образом не следует иное. Следует также понимать, что термины «содержит», «содержащий», «включает в себя» и/или «включающий в себя», используемые в представленном описании, указывают на наличие указанных признаков, целых чисел, стадий, операций, элементов и/или компонентов, но не исключают при этом наличие или возможное добавление одного или нескольких других признаков, целых чисел, стадий, операций, элементов, компонентов и/или их групп. Более того, когда какой-либо элемент определяется как «связанный» или «соединенный» с другим элементом, он может быть напрямую связан или соединен с другим элементом, или же могут быть предусмотрены промежуточные элементы. И наоборот, когда какой-либо элемент определяется как «напрямую связанный» или «непосредственно соединенный» с другим элементом, это означает, что какие-либо промежуточные элементы не предусмотрены. В контексте настоящего документа термин «и/или» включает в себя любую и все возможные комбинации одного или нескольких перечисленных элементов и может быть сокращенно представлен в виде обозначения «/».
Следует понимать, что хотя для описания различных элементов в настоящем документе могут использоваться термины «первый», «второй» и тому подобные, эти элементы не ограничены указанными терминами. Указанные термины используются исключительно для разграничения элементов. Например, первый элемент может именоваться вторым элементом; и, аналогичным образом, второй элемент может именоваться первым элементом без отступления от принципов вариантов осуществления настоящего изобретения.
Хотя вдоль коммуникационных трактов на некоторых чертежах изображены стрелки, обозначающие основное направление, в котором осуществляется связь, следует понимать, что связь может осуществляться и в направлении, противоположном тому, на которое указывают стрелки.
Некоторые примеры описаны в привязке к блок-схемам и функциональным схемам, на которых каждый блок отображает определенный элемент схемы, модуль или часть кода, содержащую одну или несколько исполняемых команд для реализации заданной логической функции/функций. Следует также отметить, что в других вариантах осуществления настоящего изобретения функция или функции, указанные в блоках, могут выполняться не в указанном порядке. Например, функции двух блоков, показанных как следующие один за другим, в действительности могут выполняться по существу параллельно; или же иногда функции блоков могут выполняться в обратном порядке, что зависит от задействованных функциональных возможностей.
Упоминание в настоящем документе фразы «согласно одному из примеров» или «в одном из примеров» означает, что конкретный признак, структура или характеристика, описанная в привязке к этому примеру, может быть включена, по меньшей мере, в один из вариантов осуществления настоящего изобретения. Упоминание фразы «согласно одному из примеров» или «в одном из примеров» в различных частях представленного описания необязательно всегда связано с одним и тем же примером, равно как не означает, что отдельные или альтернативные примеры обязательно являются взаимоисключающими по отношению к другим примерам.
Номера позиций, указанные в пунктах формулы, носят исключительно иллюстративный характер, и не должны рассматриваться как ограничивающие объем формулы настоящего изобретения.
Хотя это в явной форме и не указано в настоящем документе, приведенные примеры могут быть реализованы в любой комбинации или подкомбинации.
Варианты осуществления настоящего изобретения описаны применительно к кодированию/реконструкции двух изображений геометрии и двух изображений атрибута, отображающих облако точек, но они применимы также к кодированию/реконструкции двух последовательностей (видео) изображений геометрии и двух последовательностей (видео) изображений атрибута, отображающих последовательность облаков точек (временного динамического облака точек), поскольку геометрия (два изображения геометрии) и атрибут (текстура/цвет) облака точек в последовательности облаков точек затем кодируются/реконструируются независимо от геометрии (двух изображений геометрии) и атрибута (текстуры/цвета) другого облака точек в последовательности облаков точек.
В сущности, варианты осуществления настоящего изобретения относятся к способу кодирования атрибутов 3D-точек, геометрия которых отображается в виде изображений геометрии. Указанные 3D-точки могут образовывать облако точек, отображающее, например, внешнюю поверхность 3D-объекта, но предложенный способ не ограничен кодированием облака точек и распространяется на любое другое множество 3D-точек. Геометрия (3D-координаты) указанных 3D-точек отображаются в виде изображений геометрии.
Этот способ проверяет, не совпадает ли значение глубины пикселя в первом из указанных изображений геометрии со значением глубины совмещенного пикселя во втором из указанных изображений геометрии (не являются ли указанные значения идентичными). Если значение глубины пикселя в первом из указанных изображений геометрии не совпадает со значением глубины совмещенного пикселя во втором из указанных изображений геометрии, то предложенный способ предусматривает назначение (кодирование) атрибута 3D-точки, определяемого по пространственным 2D-координатам указанного пикселя в указанном первом изображении геометрии и значению глубины указанного совмещенного пикселя во втором изображении геометрии. В противном случае этот способ назначает фиктивное значение в качестве атрибута указанной 3D-точки.
Таким образом, этот способ обеспечивает модифицирование обычного кодирования геометрии и атрибутов множества 3D-точек, предотвращая кодирование фиктивных дублированных 3D-точек, как это имеет место, например, в ТМС2. Это позволяет избежать напрасного расходования ресурсов на вычисление и сохранение данных на стороне кодирования, а также ограничивает битовую скорость для передачи кодированных 3D-точек.
Варианты осуществления настоящего изобретения также относятся к способу реконструкции 3D-точек по изображениям геометрии, отображающим геометрию указанных 3D-точек.
Этот способ проверяет, не совпадает ли значение глубины пикселя в первом из указанных изображений геометрии со значением глубины совмещенного пикселя во втором из указанных изображений геометрии. Затем этот способ предусматривает реконструкцию 3D-точки по пространственным 2D-координатам указанного пикселя в первом изображении геометрии и значению глубины совмещенного пикселя во втором изображении геометрии, когда значение глубины указанного пикселя в первом изображении геометрии не совпадает со значением глубины указанного совмещенного пикселя во втором изображении глубины. В противном случае 3D-точка не реконструируется.
Таким образом, предложенный способ обеспечивает модифицирование обычной реконструкции геометрии и атрибутов 3D-точек, предотвращая кодирование фиктивных дублированных 3D-точек, как это имеет место, например, в ТМС2. Это позволяет избежать напрасного расходования ресурсов на вычисление и сохранение данных на стороне декодирования.
Примерами атрибутов, извлекаемых из изображения, могут служить цвет, текстура, вектор нормали и пр.
На фиг. 1 показана схема, иллюстрирующая стадии способа 100 кодирования атрибутов 3D-точек согласно одному из примеров осуществления настоящего изобретения.
Например, указанные 3D-точки могут образовывать облако точек, но предложенный способ не ограничен облаком точек, а может быть применим к любому множеству 3D-точек.
На стадии 110 модуль M1 может получить изображения геометрии, отображающие геометрию 3D-точек. Две из трех координат указанных 3D-точек отображены в виде 2D-координат пикселей в изображениях геометрии, а значения пикселей отображают третьи координаты (значения глубины) указанных 3D-точек.
Например, 3D-точки в ТМС2 могут быть спроецированы на плоскость проекции под прямым углом, и по значениям глубины, ассоциированным с указанными спроецированными 3D-точками, могут быть получены два изображения геометрии, а именно изображения D0 и D1. Изображение D0 представляет собой первое изображение геометрии, которое отображает значения глубины ближайших 3D-точек плоскости проекции, а изображение D1 представляет собой второе изображение геометрии, которое отображает значения глубины наиболее удаленных 3D-точек. Изображение геометрии могут кодироваться с использованием, например, стандартного кодера видео/изображений, такого как кодер HEVC.
На стадии 120 модуль М2 может получить первое изображение атрибута, например, Т0, отображающее атрибуты 3D-точек RP, определяемых по пространственным 2D-координатам и значениям глубины пикселей в первом изображении D0 геометрии из числа указанных полученных изображений геометрии.
Например, 3D-точки RP в ТМС2 получаются по исходным 3D-точкам (дополнительную информацию см. в Разделе 2.5 Приложения А). Первое изображение Т0 атрибута кодируется (не показано на фиг. 1) с использованием примера осуществления стандартного кодера видео/изображений, такого как кодер HEVC.
На стадии 130 модуль может получить второе изображение атрибута, например, изображение Т1. Указанное второе изображение Т1 атрибута отображает атрибуты дополнительных 3D-точек SP по пространственным 2D-координатам пикселей в указанном первом изображении геометрии и значениям глубины.
Сначала на стадии 130 модуль сравнивает значение глубины пикселя Р в первом изображении геометрии, например, в изображении D0, со значением глубины совмещенного пикселя CP во втором изображении геометрии, например, D1. Затем, если значение глубины указанного пикселя Р в первом изображении D0 геометрии не совпадает со значением глубины указанного совмещенного пикселя CP во втором изображении геометрии, модуль М3 может присвоить совмещенному пикселю во втором изображении Т1 атрибута атрибут 3D-точки, геометрия которой определяется по пространственным 2D-координатам указанного пикселя Р в указанном первом изображении геометрии и значению глубины указанного совмещенного пикселя CP в указанном втором изображении геометрии. В противном случае модуль М4 может присвоить фиктивный атрибут DUМ совмещенному пикселю во втором изображении атрибута.
Второе изображение Т1 атрибута кодируется (не показано на фиг. 1) с использованием примера осуществления стандартного кодера видео/изображений, такого как кодер HEVC.
Согласно одному из вариантов осуществления настоящего изобретения фиктивный атрибут представляет собой атрибут совмещенного пикселя первого изображения Т0 атрибута.
Согласно одному из вариантов осуществления настоящего изобретения фиктивный атрибут представляет собой среднее значение атрибутов, ассоциированных с соседними пикселями, окружающими указанный пиксель Р.
На фиг. 2 показана схема, иллюстрирующая стадии способа 200 реконструкции 3D-точек по изображениям геометрии, отображающим геометрию указанных 3D-точек, согласно одному из примеров осуществления настоящего изобретения.
На стадии 210 модуль может сравнить значение глубины пикселя Р в первом из указанных изображений геометрии, например, в изображении D0, со значением глубины совмещенного пикселя CP во втором из указанных изображений геометрии, например, в изображении D1.
На стадии 220 модуль М5 может определить 3D-точку RP по пространственным 2D-координатам и значениям глубины пикселя Р в первом изображении D0 геометрии.
На стадии 230 модуль М6 определяет дополнительную 3D-точку SP по пространственным 2D-координатам пикселя Р в первом изображении геометрии, например, в изображении D0, а также по значению глубины совмещенного пикселя CP во втором изображении геометрии, например, D1, когда значение глубины пикселя Р в указанном первом изображении D0 геометрии не совпадает со значением глубины указанного совмещенного пикселя CP в указанном втором изображении D1 геометрии.
Атрибут 3D-точки RP, определяемой по пространственным 2D-координатам и значениям глубины пикселя в первом изображении D0 геометрии, является значением совмещенного пикселя в первом изображении Т0 атрибута. Атрибут 3D-точки SP, определяемой по пространственным 2D-координатам пикселя в первом изображении D0 геометрии и значению глубины совмещенного пикселя во втором изображении D1 геометрии, является значением совмещенного пикселя во втором изображении Т1 атрибута (значением, которое не равно фиктивному значению DUМ).
Способ 100 предусматривает кодирование атрибутов 3D-точек и, в частности, реализацию первой функции, которая присваивает (на стадии 130) фиктивное значение значению пикселя во втором изображении Т1 атрибута, когда значение глубины совмещенного пикселя в первом изображении D0 геометрии совпадает со значением глубины совмещенных пикселей во втором изображении D1 геометрии.
Таким образом, эта первая функция ограничивает битовую скорость, необходимую для передачи атрибутов D0-точек, что уменьшает расходование ресурсов на вычисление и сохранение данных.
Способ 200 предусматривает реконструкцию 3D-точек по изображениям геометрии, отображающим геометрию 3D-точек и, в частности, реализацию второй функции, которая определяет (на стадии 230) 3D-точку по пространственным 2D-координатам пикселя первого из указанных изображений геометрии и значению глубины совмещенного пикселя второго из указанных изображений геометрии, когда значение глубины указанного пикселя указанного первого изображения геометрии не совпадает со значением глубины указанного совмещенного пикселя указанного второго изображения геометрии.
Согласно одному из вариантов указанные первая и вторая функции включаются, когда информационные данные (ID) отображают первое значение, и отключаются, когда указанные информационные данные (ID) отображают второе значение. Таким образом, информационные данные (ID) указывают на то, выполняет ли способ 100 или 200 проверку на предмет определения того, не совпадает ли значение глубины пикселя первого изображения геометрии со значением глубины указанного совмещенного пикселя второго изображения геометрии перед кодированием атрибута 3D-точки (способ 100) или перед реконструкцией 3D-точки (способ 200).
Согласно одному из вариантов осуществления настоящего изобретения указанные первая и вторая функции включаются/отключаются на уровне группы кадров.
Затем информационные данные (ID) соотносятся с элементом синтаксиса в привязке к группе кадров.
На фиг. 6 приведен пример элемента синтаксиса в ТМС2 под названием «group of frames header()», который включает в себя поле под названием «remove_duplicate_coding_group_of_frames», отображающее информационные данные (ID), ассоциированные с группой кадров.
Этот элемент синтаксиса, представленный на фиг. 6, может быть использован для передачи информационных данных (ID) согласно этому варианту осуществления настоящего изобретения.
Согласно одному из вариантов осуществления настоящего изобретения указанные первая и вторая функции включаются/отключаются на уровне группы кадров и на уровне кадра.
Затем информационные данные (ID) соотносятся с элементом синтаксиса в привязке к группе кадров, например, с элементом синтаксиса «group of frames header()» в TMC2 (фиг. 6), причем информационные данные соотносятся также с элементом синтаксиса в привязке к кадру так, как это показано на фиг. 7-7b.
На фиг. 7 приведен пример элемента синтаксиса в ТМС2, называемый «frame auxiliary information(frame index)» и измененный так, как это показано на фиг. 7, 7а и 7b (участки, выделенные серым цветом).
Элемент синтаксиса, представленный на фиг. 6, и этот элемент синтаксиса, показанный на фиг. 7-7b, могут быть использованы для передачи информационных данных (ID) согласно этому варианту осуществления настоящего изобретения.
Согласно одному из вариантов осуществления настоящего изобретения указанные первая и вторая функции включаются/отключаются на уровне группы кадров, на уровне кадра и на уровне вставки. Вставка может быть определена как часть изображения.
Затем информационные данные (ID) соотносятся с элементом синтаксиса в привязке к группе кадров, например, с элементом синтаксиса «group_of_frames_header()» в ТМС2 (фиг. 6), причем информационные данные соотносятся также с элементом синтаксиса в привязке к кадру так, как это показано на фиг. 8-8b.
На фиг. 8 приведен другой пример элемента синтаксиса в ТМС2, называемый «frame_auxiliary_information(frame_index)» и измененный так, как это показано на фиг. 8, 8а и 8b (участки, выделенные серым цветом). Элемент синтаксиса, представленный на фиг. 6, и этот элемент синтаксиса, показанный на фиг. 8-7b, могут быть использованы для передачи информационных данных (ID) согласно этому варианту осуществления настоящего изобретения.
Согласно одной из вариаций указанного последнего варианта осуществления настоящего изобретения указанные первая и вторая функции включаются/отключаются на уровне блока кадров.
Например, когда вставка перекрывает, по меньшей мере, один блок изображения, могут быть переданы информационные данные (ID), указывающие на то, включены (или нет) первая и вторая функции для блока изображения.
За счет этого в определенной части вставки создается плотное множество 3D-точек.
На фиг. 3 схематически проиллюстрирован способ кодирования геометрии и атрибута облака точек в ТМС2 согласно определению (Приложение А).
По существу кодер фиксирует информацию о геометрии облака PC точек в первом (D0) и втором (D1) изображениях геометрии.
К примеру, в ТМС2 получение первого и второго изображений геометрии обеспечивается описанным ниже способом.
Вставки в геометрию (множество 3D-точек облака PC точек) могут быть получены путем кластеризации точек в облаке PC точек в соответствии с векторами нормали в этих точках. После этого извлеченные вставки в геометрию проецируются на 2D-сетку и уплотняются, пытаясь при этом минимизировать неиспользуемое пространство и гарантировать соотнесение каждого блока Т × Т (например, 16 × 16) сетки с уникальной вставкой, где величина Т обозначает задаваемый пользователем параметр, переданный в битовый поток.
После этого генерируются изображения геометрии с использованием 3D-2D карт, рассчитанных во время выполнения процесса уплотнения данных, в частности, положения уплотнения и размера площади проекции каждой вставки. Точнее говоря, допустим, что Н (u, v) является множеством точек текущей вставки, спроецированной на один и тот же пиксель (u, v). Первый слой, также именуемый ближайшим слоем или первым изображением D0 геометрии, фиксирует точку Н (u, v) с наименьшим значением геометрии. Второй слой, именуемый наиболее удаленным слоем или вторым изображением D1 геометрии, фиксирует точку Н (u, v) с наибольшим значением геометрии в интервале [D, D+Δ], где величина D обозначает значение геометрии пикселей в первом изображении D0 геометрии, а величина Δ обозначает параметр, задаваемый пользователем, который описывает толщину поверхности.
После этого первое изображение D0 геометрии выпускает процесс уплотнения. Для заполнения пустого пространства между вставками также используется процесс его заполнения незначащей информацией с тем, чтобы можно было сгенерировать фрагментарное плавное первое изображение геометрии, пригодное для сжатия видео.
Затем сгенерированные изображения/слои D0 и D1 геометрии сохраняются в виде видеокадров и сжимаются с использованием стандартного видеокодера, такого как кодер HEVC.
Кодер также фиксирует информацию об атрибуте в исходном облаке PC точек в двух изображениях текстуры (атрибута) путем кодирования/декодирования первого и второго изображений геометрии и реконструирует геометрию облака точек путем обратного проецирования указанных декодированных первого и второго изображений
геометрии. После реконструкции каждой точке реконструированного облака точек присваивается определенный цвет (цветопередача) на основании цветовой информации исходного облака PC точек со сведением к минимуму ошибки кодирования цветовой информации.
В одном из вариантов осуществления настоящего изобретения предусмотрено, что в качестве подлежащего кодированию цвета каждой реконструированной точки назначается цвет ближайшей точки в исходном облаке точек.
Затем генерируются первое и второе изображения геометрии (Т0 и Т1) путем сохранения кодируемой информации о цвете каждой реконструированной точки в одном и том же положении в изображениях геометрии, т.е. (i, u, v).
Например, способы 100 и 200 могут быть использованы на стороне кодирования ТМС2 (см. фиг. 1 Приложения А), когда требуется реконструированное облако точек, т.е. когда требуется геометрия облака точек и, возможно, атрибут облака точек. Это относится, например, к генерированию изображения атрибута и реконструкции изображений геометрии.
На фиг. 4 схематически проиллюстрирован способ декодирования геометрии и атрибута облака точек согласно определению в ТМС2.
Декодированное первое изображение геометрии и декодированное второе изображение геометрии будут получены путем декодирования битового потока ВТ. Для реконструкции геометрии облака точек могут быть также декодированы метаданные.
Таким образом, геометрия облака точек реконструируется путем обратного проецирования указанных декодированных первого и второго изображений геометрии и, возможно, указанных метаданных.
Способ 200 может быть также использован на стороне декодирования ТМС2 (см. фиг. 2 Приложения А), когда требуется реконструированное облако точек, т.е. когда требуется геометрия облака точек. Это относится, например, к реконструкции геометрии облака точек.
Модули, показанные на фиг. 1-8b, представляют собой функциональные модули, которые могут относиться или не относиться к отдельным физическим блокам. Например, эти модули или некоторые из них могут быть сведены воедино в одном уникальном компоненте или схеме, или же они могут использоваться для расширения функциональных возможностей программного обеспечения. И наоборот, некоторые модули потенциально могут состоять из отдельных физических блоков. Устройства, совместимые с вариантами осуществления настоящего изобретения, реализованы или с использованием только аппаратных средств, например, выделенных аппаратных средств, таких как ASIC, FPGA или VLSI (специализированной заказной интегральной схемы, программируемой логической матрицы типа FPGA и сверхбольшой интегральной схемы, соответственно), или в виде нескольких интегрированных электронных компонентов, встроенных в устройство, или с использованием комбинации аппаратных и программных компонентов.
На фиг. 5 показана блок-схема, иллюстрирующая один из примеров системы, в которой реализованы различные аспекты и варианты осуществления настоящего изобретения. Система 5000 может быть реализована в виде устройства, включающего в себя различные компоненты, описанные ниже, и она выполнена с возможностью реализации одного или нескольких аспектов, описанных в настоящем документе. Примерами таких устройств служат, помимо прочего, различные электронные устройства, такие как персональные компьютеры, лэптопы, смартфоны, планшетные компьютеры, цифровые мультимедийные телевизионные приставки, цифровые телевизионные приемники, персональные системы видеозаписи, подключенные бытовые приборы и серверы. Элементы системы 5000, по отдельности или в сочетании, могут быть встроены в единую интегральную схему (ИС), множество ИС и/или дискретные компоненты. Например, по меньшей мере, в одном варианте осуществления настоящего изобретения элементы обработки данных и кодер/декодер системы 5000 распределены среди множества ИС и/или дискретных компонентов. В различных вариантах осуществления настоящего изобретения система 5000 коммуникативно связана с другими аналогичными системами или иными электронными устройствами посредством, например, коммуникационной шины или выделенных входных и/или выходных портов. В различных вариантах осуществления настоящего изобретения система 5000 выполнена с возможностью реализации одного или нескольких аспектов, описанных в настоящем документе.
Система 5000 включает в себя, по меньшей мере, один процессор 5010, выполненный с возможностью исполнения загруженных в него команд для реализации, например, различных аспектов, описанных в настоящем документе. Процессор 5010 может содержать встроенную память, входной/выходной интерфейс и различные иные схемы, известные в данной области техники. Система 5000 включает в себя, по меньшей мере, одну память 5020 (например, энергозависимую память и/или энергонезависимую память). Система 5000 содержать накопитель 5040 данных, который может включать в себя энергонезависимую память и/или энергозависимую память, в том числе, помимо прочего, EEPROM (электрически стираемое программируемое постоянное запоминающее устройство), ROM (постоянное запоминающее устройство), PROM (программируемое постоянное запоминающее устройство), RAM (оперативное запоминающее устройство), DRAM (динамическое RAM-устройство), SRAM (статическое RAM-устройство), флеш-память, накопитель на магнитных дисках и/или накопитель на оптических дисках. В качестве примеров, не носящих ограничительного характера, накопитель 5040 данных может включать в себя внутреннее запоминающее устройство, внешнее запоминающее устройство и/или запоминающее устройство с доступом через сеть.
Система 5000 включает в себя модуль 5030 кодера/декодера, выполненный с возможностью, например, обработки данных с целью предоставления кодированного видео или декодированного видео, причем модуль 5030 кодера/декодера может содержать свой собственный процессор и память. Модуль 5030 кодера/декодера представляет собой модуль/модули, которые могут быть включены в состав устройства для выполнения функций кодирования и/или декодирования. Как известно, устройство может включать в себя какой-либо один из модулей кодирования и декодирования или оба эти модуля. Кроме того, модуль 5030 кодера/декодера может быть реализован в виде отдельного элемента системы 5000, или же он может быть встроен в процессор 5010 в виде комбинации аппаратных и программных средств, известной специалистам в данной области техники.
Программный код, загружаемый в процессор 5010 или кодер/декодер 5030 для реализации различных аспектов, описанных в настоящем документе, может быть сохранен в накопителе 5040 данных и впоследствии загружен в память 5020 для приведения в исполнение процессором 5010. Согласно различным вариантам осуществления настоящего изобретения во время выполнения процессов, описанных в настоящем документе, один или несколько процессоров 5010, память 5020, накопитель 5040 данных и модуль 5030 кодера/декодера могут сохранить один или несколько различных элементов. Такие сохраненные элементы могут включать в себя, помимо прочего, входное видео, декодированное видео, облако точек, реконструированное облако точек или части декодированного видео, битовый поток, матрицы, переменные величины и промежуточные или окончательные результаты обработки уравнений, формул, операций и операционной логики.
В некоторых вариантах осуществления настоящего изобретения память, расположенная в процессоре 5010 и/или модуле 5030 кодера/декодера, используется для хранения команд и представляет собой оперативную память для обработки данных, которая необходима во время кодирования или декодирования.
Однако в других вариантах осуществления настоящего изобретения память, выполненная внешней по отношению к устройству обработки данных (устройством обработки данных может служить, например, или процессор 5010, или кодер/декодер 5030), используется для выполнения одной или нескольких указанных функций. Внешней памятью может служить память 5020 и/или накопитель 5040 данных, например, динамическое энергозависимое запоминающее устройство и/или энергонезависимая флеш-память. В некоторых вариантах осуществления настоящего изобретения внешняя энергонезависимая флеш-память используется для хранения телевизионной операционной системы. По меньшей мере, в одном варианте осуществления настоящего изобретения в качестве оперативной памяти для выполнения операций по кодированию и декодированию, например, для MPEG-2, HEVC, VVC (универсальное кодирование видео) или ТМС2 используется быстродействующее внешнее динамическое энергозависимое запоминающее устройство, такое как RAM.
Подача данных на элементы системы 5000 может быть обеспечена через различные устройства ввода, указанные в блоке 5130. Такие устройства ввода включают в себя, например, помимо прочего: (i) радиочастотную часть (RF-часть), которая принимает RF-сигнал, передаваемый, например, вещательным передатчиком по каналу беспроводной связи; (ii) комбинированный входной разъем (СОМР); (iii) входной разъем USB; и/или (iv) входной разъем HDMI.
В различных вариантах осуществления настоящего изобретения устройства ввода блока 5130 содержат соответствующие сопряженные элементы обработки входных данных, известные в данной области техники. Например, RF-часть может быть сопряжена с элементами, необходимыми для: (i) выбора требуемой частоты (также именуемого выбором сигнала или ограничением полосы частот сигнала определенной полосой частот); (ii) преобразования выбранного сигнала с понижением частоты; (iii) повторного ограничения полосы более узкой полосой частот для выбора (например) полосы частот сигнала, которая в некоторых вариантах осуществления настоящего изобретения может также называться каналом; (iv) демодуляции сигнала, преобразованного с понижением частоты и ограниченного по полосе; (v) осуществления коррекции ошибок; и (vi) демультиплексирования с целью выбора требуемого потока пакетов данных. При этом RF-часть в различных вариантах осуществления настоящего изобретения включает в себя один или несколько элементов, предназначенных для выполнения этих функций, например, селекторы частоты, селекторы сигналов, ограничители полосы пропускания, селекторы каналов, фильтры, понижающие преобразователи, демодуляторы, корректоры ошибок и демультиплексеры. При этом RF-часть может включать в себя тюнер, который выполняет различные указанные функции, включая, например, преобразование принятого сигнала с понижением его частоты, например, до промежуточной частоты или до частоты, близкой к групповой, или до полосы группового спектра частот.
В одном из вариантов осуществления телевизионной приставки RF-часть с сопряженным элементом обработки входных данных принимает RF-сигнал, передаваемый проводным образом (например, с помощью кабеля), и осуществляет выбор частоты путем фильтрации, преобразования с понижением частоты и повторной фильтрации до требуемого диапазона частот.
В различных вариантах осуществления настоящего изобретения предусмотрено переупорядочение описанных выше (и других) элементов, удаление некоторых из этих элементов и/или добавление других элементов, выполняющих аналогичные или другие функции.
Добавление элементов может предусматривать вставку элементов между имеющимися элементами, например, вставку усилителей и аналого-цифрового преобразователя. В различных вариантах осуществления настоящего изобретения RF-часть включает в себя антенну.
Кроме того, разъемы USB и/или HDMI могут включать в себя соответствующие интерфейсные процессоры для соединения системы 5000 с другими электронными устройствами через USB- и/или HDMI-соединения. Следует понимать, что различные аспекты обработки входных данных, например, коррекция ошибок Рида-Соломона, могут быть реализованы, например, в отдельной ИС или в процессоре 5010 в зависимости от потребности. Аналогичным образом аспекты обработки данных на USB- или HDMI-интерфейсах могут быть реализованы в отдельных интерфейсных ИС или в процессоре 5010 в зависимости от потребности. Демодулированный и демультиплексированный поток с коррекцией ошибок подается на различные элементы обработки данных, включающие в себя, например, процессор 5010 и кодер/декодер 5030, функционирующие во взаимодействии с памятью и ее элементами с целью обработки потока данных, насколько это необходимо для их отображения на устройстве вывода.
Различные элементы системы 5000 могут располагаться в едином корпусе. Внутри этого единого корпуса различные элементы могут быть соединены друг с другом и обеспечивать взаимную передачу данных с использованием подходящих средств установления соединений, например, внутренней шины, известной в данной области техники, включая шину I2C, разводки межсоединений и печатных монтажных плат.
Система 5000 включает в себя интерфейс 5050 связи, который обеспечивает связь с другими устройствами по каналу 5060 связи. Интерфейс 5050 связи может включать в себя, помимо прочего, приемопередатчик, выполненный с возможностью передачи и приема данных по каналу 5060 связи. Интерфейс 5050 связи может включать в себя, помимо прочего, модем или сетевую карту, а канал 5060 связи может быть реализован, например, в проводной и/или беспроводной среде.
В различных вариантах осуществления настоящего изобретения данные передаются в систему 5000 потоком с использованием сети Wi-Fi, такой как IEEE 802.11. Сигнал Wi-Fi в этих вариантах осуществления принимается по каналу 5060 связи и интерфейсу 5050 связи, которые адаптированы для осуществления связи по технологии Wi-Fi. Канал 5060 связи в этих вариантах осуществления настоящего изобретения обычно подключен к точке доступа или маршрутизатору, который обеспечивает доступ к внешним сетям, включая сеть Интернет, обеспечивая возможность использования приложений по потоковой передаче данных и прочих видов связи по технологии ОТТ (метод предоставления видеоуслуг через Интернет).
Другие варианты осуществления настоящего изобретения обеспечивают потоковую передачу данных в систему 5000 с использованием телевизионной приставки, которая передает данные через соединение HDMI входного блока 5130.
Некоторые другие варианты осуществления настоящего изобретения обеспечивают потоковую передачу данных в систему 5000 с использованием RF-соединения входного блока 5130.
Потоковые данные могут быть использованы как способ передачи сигнальной информации, используемой системой 5000. Сигнальная информация может содержать информационные данные (ID) согласно описанию, представленному выше.
Следует иметь в виду, что передача сигнальной информации может осуществляться самыми разными способами. Например, в различных вариантах осуществления настоящего изобретения для передачи сигнальной информации на соответствующий декодер используется один или несколько элементов синтаксиса, флагов и тому подобное.
Система 5000 может подавать выходной сигнал на различные устройства вывода, включая дисплей 5100, динамики 5110 и прочие периферийные устройства 5120. В различных примерах осуществления настоящего изобретения прочие периферийные устройства 5120 включают в себя одно или несколько таких устройств, как отдельный цифровой видеомагнитофон (DVR), электропроигрывающее устройство, стереосистема, система освещения и прочие устройства, которые выполняют определенную функцию, исходя из выходных данных системы 5000.
В различных вариантах осуществления настоящего изобретения управляющие сигналы передаются между системой 5000 и дисплеем 5100, динамиками 5110 или иными периферийными устройствами 5120 с использованием сигнальных протоколов, таких как AV.Link и СЕС, или иных коммуникационных протоколов, которые обеспечивают управление взаимодействием между устройствами с участием или без участия пользователя.
Устройства вывода могут быть коммуникативно связаны с системой 5000 посредством выделенных соединений через соответствующие интерфейсы 5070, 5080 и 5090.
В альтернативном варианте устройства вывода могут быть соединены с системой 5000 посредством канала 5060 связи через интерфейс 5050 связи. В определенном электронном устройстве, таком как, например, телевизор, дисплей 5100 и динамики 5110 могут быть сведены в единый блок вместе с другими компонентами системы 5000.
В различных вариантах осуществления настоящего изобретения интерфейс 5070 дисплея включает в себя драйвер дисплея, такой как, например, чип контроллера синхронизации (Т Con).
В альтернативном варианте дисплей 5100 и динамики 5110 могут быть отделены от одного или нескольких других компонентов, например, если RF-часть на входе 5130 является частью отдельной телевизионной приставки. В различных вариантах осуществления настоящего изобретения, в которых дисплей 5100 и динамики 5110 представляют собой внешние компоненты, выходной сигнал может подаваться через выделенные выходные соединения, в том числе, например, через порты HDMI, порты USB или выводы СОМР.
Варианты осуществления различных процессов и признаков, описанных в настоящем документе, могут быть реализованы в различном оборудовании или приложениях самого разного типа. Примерами такого оборудования могут служить, например, кодер, декодер, постпроцессор для обработки выходных данных декодера, постпроцессор для предоставления входных данных кодеру, видедкодер, видеодекодер, видеокодек, веб-сервер, телевизионная приставка, лэптоп, персональный компьютер, сотовый телефон, карманный персональный компьютер (PDA) и любое иное устройство, предназначенное для обработки изображения или видео, или иные устройства связи. Как должно быть понятно, указанное оборудование может быть мобильным, причем оно может быть выполнено даже с возможностью установки на передвижном средстве.
Кроме того, предложенные способы могут быть реализованы командами, исполняемыми процессором, причем такие команды (и/или значения данных, сгенерированные согласно одному из вариантов реализации) могут храниться на машиночитаемом носителе данных. Машиночитаемый носитель данных может иметь вид машиночитаемого программного продукта, реализованного в одном или нескольких машиночитаемых носителях и содержащего встроенный машиночитаемый программный код, который приводится в исполнение компьютером. В контексте настоящего документа машиночитаемым носителем данных считается энергонезависимый носитель данных с присущей ему способностью хранения информации, а также с присущей ему способностью извлечения хранящейся на нем информации. Машиночитаемый носитель данных может представлять собой, помимо прочего, например, электронную, магнитную, оптическую, электромагнитную, инфракрасную или полупроводниковую систему, прибор или устройство, или любую комбинацию таких систем, приборов или устройств, пригодную для использования. Следует иметь в виду, что представленный ниже список, хотя он и приводит конкретные примеры машиночитаемых носителей данных, к которым применимы варианты осуществления настоящего изобретения, носит исключительно иллюстративный, а не исчерпывающий характер, что очевидно специалисту в данной области техники: дискета переносного компьютера, жесткий диск, постоянное запоминающее устройство (ROM), стираемое программируемое постоянное запоминающее устройство (EPROM или флеш-память), переносное постоянное запоминающее устройство на компакт-дисках (CD-ROM), оптический накопитель, магнитный накопитель или любое подходящее сочетание указанных устройств.
Команды могут образовывать прикладную программу, физически встроенную в читаемый процессором носитель.
Команды могут находиться, например, в аппаратных средствах, аппаратно реализованных программных средствах, программном обеспечении или сочетании указанных средств. Команды могут находиться, например, в операционной системе, в отдельном приложении или и там, и там. Таким образом, процессор может быть в равной степени охарактеризован, например, как устройство, выполненное с возможностью выполнения определенного процесса, или как устройство, которое включает в себя читаемый процессором носитель (такой как накопитель), содержащий команды, предназначенные для выполнения определенного процесса. Кроме того, в дополнение к командам или вместо них на читаемом процессором носителе могут храниться значения данных, сгенерированные согласно одному из вариантов реализации.
Как должно быть очевидно специалисту в данной области техники, варианты реализации настоящего изобретения могут генерировать самые разные сигналы, форматируемые таким образом, чтобы они могли переносить информацию, которая может, например, сохраняться или передаваться. Эта информация может включать в себя, например, команды, предназначенные для выполнения какого-либо способа, или данные, сгенерированные согласно одному или нескольким требуемым вариантам реализации. Например, сигнал может быть отформатирован таким образом, чтобы он переносил в качестве данных правила записи или считывания синтаксиса согласно примерам осуществления настоящего изобретения, или чтобы он переносил в качестве данных фактические значения синтаксиса, записанные описанным примером осуществления настоящего изобретения. Такой сигнал может быть отформатирован, например, в виде электромагнитной волны (например, с использованием радиочастотной области спектра) или в виде модулирующего сигнала. Форматирование может предусматривать, например, кодирование потока данных и модулирование несущей с помощью кодированного потока данных. Информация, которую переносит сигнал, может представлять собой, например, аналоговую или цифровую информацию. Сигнал может передаваться по самым разным проводным и беспроводным линиям связи, известным в данной области техники. Сигнал может сохраняться на читаемом процессором носителе.
В настоящем документе был описан ряд вариантов осуществления заявленного изобретения. Тем не менее, следует понимать, что в них могут быть внесены различные модификации. Например, элементы различных вариантов осуществления могут объединяться, дополняться, модифицироваться или исключаться для получения других вариантов осуществления настоящего изобретения. Кроме того, специалисту в данной области техники должно быть понятно, что структуры и процессы, описанные в настоящем документе, могут быть заменены другими структурами и процессами, а полученные в результате варианты осуществления будут реализовывать, по меньшей мере, по существу ту же функцию/функции, по меньшей мере, по существу таким же образом для достижения, по меньшей мере, по существу такого же результата/результатов, что и варианты осуществления, раскрытые в настоящем документе. Соответственно, представленная заявка предполагает эти и другие варианты осуществления настоящего изобретения.
Изобретение относится к кодированию и реконструкции трехмерных (3D) точек, в частности к кодированию/реконструкции облака точек, отображающего внешнюю поверхность 3D-объекта. Техническим результатом является повышение эффективности и скорости кодирования без значительного расходования ресурсов на вычисление и сохранение данных как на стороне кодирования, так и на стороне декодирования. Предложен способ кодирования 3D-точек, геометрия которых отображается в виде изображений геометрии, а атрибут отображается в виде изображения атрибута, способ предусматривает выполнение проверки на предмет выяснения того, не совпадает ли значение глубины пикселя в первом из указанных изображений геометрии со значением глубины совмещенного пикселя во втором из указанных изображений геометрии (не являются ли указанные значения идентичными). Если значение глубины пикселя в указанном первом изображении геометрии не совпадает со значением глубины совмещенного пикселя в указанном втором изображении геометрии, то предложенный способ предусматривает назначение (кодирование) атрибута 3D-точки, определяемого по пространственным 2D-координатам указанного пикселя в указанном первом изображении геометрии и значению глубины указанного совмещенного пикселя в указанном втором изображении геометрии. 5 н. и 11 з.п. ф-лы, 12 ил.
1. Способ кодирования 3D-точек облака точек, причем кодирование 3D-точек предусматривает следующее: кодирование по меньшей мере двух изображений геометрии, хранящих значения глубины 3D-точек, проецированных на площадь проекции, причем первое значение глубины первой 3D-точки в заданных 2D-координатах площади проекции хранят в первом изображении геометрии из указанных по меньшей мере двух изображений геометрии, а второе значение глубины второй 3D-точки в заданных 2D-координатах площади проекции хранят во втором изображении геометрии из указанных по меньшей мере двух изображений геометрии, кодирование первого изображения атрибута, хранящего значения атрибута 3D-точек, проецированных на площадь проекции, причем первое значение атрибута первой 3D-точки хранят в первом изображении атрибута, кодирование второго изображения атрибута, хранящего значения атрибута 3D-точек, проецированных на площадь проекции, причем если первое значение глубины и второе значение глубины не совпадают, то совмещенному пикселю указанного второго изображения атрибута присваивается атрибут 3D-точки, геометрия которой определяется по заданным 2D-координатам пикселя в указанном первом изображении геометрии и второму значению глубины, в противном случае совмещенному пикселю указанного изображения атрибута присваивают значение фиктивного атрибута.
2. Способ по п. 1, в котором фиктивный атрибут представляет собой атрибут совмещенного пикселя другого изображения атрибута или среднее значение атрибутов, ассоциированных с соседними пикселями, окружающими указанный пиксель.
3. Способ по п. 1, отличающийся тем, что этот способ дополнительно предусматривает передачу информационных данных, указывающих на то, совпадает ли значение глубины пикселя в указанном первом изображении геометрии со значением глубины совмещенного пикселя в указанном втором изображении геометрии или нет перед реконструкцией 3D-точки по указанным изображениям геометрии.
4. Устройство для кодирования 3D-точек облака точек, причем это устройство содержит процессор, выполненный со следующей возможностью: кодирования по меньшей мере двух изображений геометрии, хранящих значения глубины 3D-точек, проецированных на площадь проекции, причем первое значение глубины первой 3D-точки в заданных 2D-координатах площади проекции выполнено с возможностью хранения в первом изображении геометрии из указанных по меньшей мере двух изображений геометрии, а второе значение глубины второй 3D-точки в заданных 2D-координатах площади проекции выполнено с возможностью хранения во втором изображении геометрии из указанных по меньшей мере двух изображений геометрии, кодирования первого изображения атрибута, хранящего значения атрибута 3D-точек, проецированных на площадь проекции, причем первое значение атрибута первой 3D-точки выполнено с возможностью хранения в первом изображении атрибута, кодирования второго изображения атрибута, хранящего значения атрибута 3D-точек, проецированных на площадь проекции, причем если первое значение глубины и второе значение глубины не совпадают, то совмещенному пикселю в указанном втором изображении атрибута этот процессор присваивает атрибут 3D-точки, геометрия которой определяется по заданным 2D-координатам пикселя в указанном первом изображении геометрии и второму значению глубины, присваивания, в противном случае, совмещенному пикселю указанного изображения атрибута значения фиктивного атрибута.
5. Устройство по п. 4, в котором фиктивный атрибут представляет собой атрибут совмещенного пикселя другого изображения атрибута или среднее значение атрибутов, ассоциированных с соседними пикселями, окружающими указанный пиксель.
6. Способ реконструкции 3D-точек облака точек, предусматривающий: декодирование по меньшей мере двух изображений геометрии, хранящих значения глубины 3D-точек облака точек, проецированных на площадь проекции, причем первое значение глубины первой 3D-точки в заданных 2D-координатах площади проекции хранят в первом изображении геометрии из указанных по меньшей мере двух изображений геометрии, а второе значение глубины второй 3D-точки в заданных 2D-координатах площади проекции хранят во втором изображении геометрии из указанных по меньшей мере двух изображений геометрии, декодирование первого изображения атрибута, хранящего значения атрибута 3D-точек, проецированных на площадь проекции, значения глубины которых хранятся в первом изображении геометрии, реконструкцию первой 3D-точки по пространственным 2D-координатам пикселя в первом изображении геометрии и первому значению глубины пикселя в указанном первом изображении геометрии; присваивание первой 3D-точки значения атрибута, полученного из совмещенного пикселя в первом изображении атрибута в ответ на определение того, что первое значение глубины не совпадает со вторым значением глубины совмещенного пикселя во втором изображении геометрии, реконструкцию второй 3D-точки по пространственным 2D-координатам совмещенного пикселя во втором изображении геометрии и второму значению глубины.
7. Способ по п. 6, отличающийся тем, что этот способ дополнительно предусматривает декодирование информационных данных, указывающих на то, совпадает ли значение глубины пикселя в указанном первом изображении геометрии со значением глубины совмещенного пикселя в указанном втором изображении геометрии или нет перед реконструкцией 3D-точки по указанным изображениям геометрии.
8. Способ по п. 6 или 7, в котором битовый поток, переносящий кодированные атрибуты 3D-точек, структурирован в виде множественных блоков, вставок блоков и кадров вставок, причем указанные информационные данные действительны на уровне группы кадров, на уровне кадра, на уровне вставки или на уровне блока.
9. Способ по любому из предшествующих пп. 1-3 или 6-8, в которых атрибут 3D-точки представляет собой значение цвета или значение текстуры.
10. Способ по п. 6, дополнительно включающий декодирование второго изображения атрибута, хранящего значения атрибута 3D-точек, проецированных на площадь проекции, значения глубины которых хранят во втором изображении геометрии из указанных по меньшей мере двух изображений геометрии, и присваивания второй 3D-точки значения атрибута, полученного из совмещенного пикселя во втором изображении атрибута, если вторая 3D-точка реконструирована.
11. Устройство для реконструкции 3D-точек по изображениям геометрии, отображающим геометрию указанных 3D-точек, причем это устройство содержит процессор, выполненный с возможностью: декодирования по меньшей мере двух изображений геометрии, хранящих значения глубины 3D-точек облака точек, проецированных на площадь проекции, причем первое значение глубины первой 3D-точки в заданных 2D-координатах площади проекции выполнено с возможностью хранения в первом изображении геометрии из указанных по меньшей мере двух изображений геометрии, а второе значение глубины второй 3D-точки в заданных 2D-координатах площади проекции выполнено с возможностью хранения во втором изображении геометрии из указанных по меньшей мере двух изображений геометрии, декодирования первого изображения атрибута, хранящего значения атрибута 3D-точек, проецированных на площадь проекции, значения глубины которых выполнены с возможностью хранения в первом изображении геометрии, реконструкции первой 3D-точки по пространственным 2D-координатам пикселя в первом изображении геометрии и первому значению глубины пикселя в указанном первом изображении геометрии; присваивания первой 3D-точки значения атрибута, полученного из совмещенного пикселя в первом изображении атрибута в ответ на определение того, что первое значение глубины и второе значение глубины совмещенного пикселя во втором изображении геометрии не совпадают друг с другом, реконструкции 3D-точки по пространственным 2D-координатам совмещенного пикселя во втором изображении геометрии и второму значению глубины.
12. Устройство по п. 11, отличающееся тем, что этот способ дополнительно предусматривает передачу информационных данных, указывающих на то, совпадает ли значение глубины пикселя в указанном первом изображении геометрии со значением глубины совмещенного пикселя в указанном втором изображении геометрии или нет перед реконструкцией 3D-точки по указанным изображениям геометрии.
13. Устройство по п. 11, в котором битовый поток, переносящий кодированные атрибуты 3D-точек, структурирован в виде множественных блоков, вставок блоков и кадров вставок, причем указанные информационные данные действительны на уровне группы кадров, на уровне кадра, на уровне вставки или на уровне блока.
14. Устройство по п. 11, в котором процессор дополнительно выполнен с возможностью декодирования второго изображения атрибута, хранящего значения атрибута 3D-точек, проецированных на площадь проекции, значения глубины которых выполнены с возможностью хранения во втором изображении геометрии из указанных по меньшей мере двух изображений геометрии, и реконструкции первой 3D-точки по пространственным 2D-координатам пикселя в первом изображении геометрии и первому значению глубины пикселя в указанном первом изображении геометрии; присваивания второй 3D-точки значения атрибута, полученного из совмещенного пикселя во втором изображении атрибута, если вторая 3D-точка реконструирована.
15. Устройство по любому из пп. 4, 5, 12-14, в которых атрибут 3D-точки представляет собой значение цвета или значение текстуры.
16. Энергонезависимый носитель данных, содержащий команды программного кода для выполнения стадий способа по любому из предшествующих пп. 1-3 или 6-10, когда эта программа прогоняется на вычислительном устройстве.
Топливовпрыскивающая система | 1983 |
|
SU1321894A1 |
IN-WOOK SONG et al., Progressive compression and transmission of PointTexture images, JOURNAL OF VISUAL COMMUNICATION AND IMAGE REPRESENTATION, ACADEMIC PRESS, vol.17, no.5, 2006 | |||
СПОСОБ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ДАННЫХ ТРЕХМЕРНЫХ ОБЪЕКТОВ И УСТРОЙСТВО ДЛЯ ЕГО ОСУЩЕСТВЛЕНИЯ | 2003 |
|
RU2267161C2 |
WO 2010004466 A1 - 2010.01.14 | |||
Топливовпрыскивающая система | 1983 |
|
SU1321894A1 |
КОМБИНИРОВАНИЕ 3D ВИДЕО И ВСПОМОГАТЕЛЬНЫХ ДАННЫХ | 2010 |
|
RU2554465C2 |
МЕТАДАННЫЕ ДЛЯ ФИЛЬТРАЦИИ ГЛУБИНЫ | 2013 |
|
RU2639686C2 |
Авторы
Даты
2023-09-18—Публикация
2019-10-04—Подача