Область техники, к которой относится изобретение
[0001] Настоящее раскрытие относится к способу кодирования трехмерных данных, к способу декодирования трехмерных данных, к устройству кодирования трехмерных данных и к устройству декодирования трехмерных данных.
Уровень техники
[0002] Устройства или услуги с использованием трехмерных данных предположительно должны находить широкое применение в широком диапазоне областей техники, таких как машинное зрение, которое обеспечивает автономные операции автомобилей или роботов, картографическая информация, мониторинг, обследование инфраструктуры и распространение видео. Трехмерные данные получаются через различные средства, включающие в себя датчик расстояния, такой как дальномер, а также стереокамеру и объединение множества монокулярных камер.
[0003] Способы представления трехмерных данных включают в себя способ, известный как схема на основе облаков точек, которая представляет форму трехмерной структуры посредством облака точек в трехмерном пространстве. В схеме на основе облаков точек, позиции и цвета облака точек сохраняются. Хотя облако точек предположительно должно представлять собой основной способ представления трехмерных данных, огромный объем данных облака точек требует сжатия объема трехмерных данных посредством кодирования для накопления и передачи, как и в случае двумерного движущегося кадра (примеры включают в себя стандарт усовершенствованного кодирования видео уровня 4 Экспертной группы по киноизображению (MPEG-4 AVC) и стандарт высокоэффективного кодирования видео (HEVC), стандартизированные посредством MPEG).
[0004] Между тем сжатие облаков точек частично поддерживается, например, посредством библиотеки с открытым исходным кодом (библиотеки облаков точек) для связанной с облаками точек обработки.
[0005] Кроме того, известна технология для поиска и отображения инфраструктурного объекта, расположенного в окрестности транспортного средства, посредством использования трехмерных картографических данных (например, см. патентный документ (PTL) 1).
Список библиографических ссылок
Патентные документы
[0006] PTL 1. Международная публикация WO 2014/020663
Сущность изобретения
Техническая задача
[0007] Возникает потребность в повышении эффективности кодирования при кодировании и декодировании трехмерных данных.
[0008] Настоящее раскрытие предоставляет способ кодирования трехмерных данных, способ декодирования трехмерных данных, устройство кодирования трехмерных данных или устройство декодирования трехмерных данных, которые допускают повышение эффективности кодирования.
Решение задач
[0009] Способ кодирования трехмерных данных согласно аспекту настоящего раскрытия включает в себя: квантование геометрической информации каждой из трехмерных точек, с использованием первого параметра квантования; квантование первой яркости с использованием второго параметра квантования и квантование первой цветности с использованием третьего параметра квантования, причем первая яркость и первая цветность указывают первый цвет среди информации атрибутов каждой из трехмерных точек; и формирование потока битов, включающего в себя квантованную геометрическую информацию, квантованную первую яркость, квантованную первую цветность, первый параметр квантования, второй параметр квантования и первую разность между вторым параметром квантования и третьим параметром квантования.
[0010] Способ декодирования трехмерных данных согласно аспекту настоящего раскрытия включает в себя: получение квантованной геометрической информации, квантованной первой яркости, квантованной первой цветности, первого параметра квантования, второго параметра квантования и первой разности между вторым параметром квантования и третьим параметром квантования, посредством получения потока битов; вычисление геометрической информации трехмерных точек посредством обратного квантования квантованной геометрической информации с использованием первой информации квантования; вычисление первой яркости, из первой яркости и первой цветности, которые указывают первый цвет трехмерных точек, посредством обратного квантования квантованной первой яркости с использованием второго параметра квантования; и вычисление первой цветности посредством обратного квантования квантованной первой цветности с использованием третьего параметра квантования, полученного из второго параметра квантования и первой разности.
Преимущества изобретения
[0011] Настоящее раскрытие может предоставлять способ кодирования трехмерных данных, способ декодирования трехмерных данных, устройство кодирования трехмерных данных или устройство декодирования трехмерных данных, которые способны повышать эффективность кодирования.
Краткое описание чертежей
[0012] Фиг. 1 является схемой, иллюстрирующей конфигурацию системы кодирования и декодирования трехмерных данных согласно варианту 1 осуществления.
Фиг. 2 является схемой, иллюстрирующей структурный пример данных облаков точек согласно варианту 1 осуществления.
Фиг. 3 является схемой, иллюстрирующей структурный пример файла данных, указывающего данные облаков точек согласно варианту 1 осуществления.
Фиг. 4 является схемой, иллюстрирующей типы данных облаков точек согласно варианту 1 осуществления.
Фиг. 5 является схемой, иллюстрирующей структуру первого кодера согласно варианту 1 осуществления.
Фиг. 6 является блок-схемой, иллюстрирующей первый кодер согласно варианту 1 осуществления.
Фиг. 7 является схемой, иллюстрирующей структуру первого декодера согласно варианту 1 осуществления.
Фиг. 8 является блок-схемой, иллюстрирующей первый декодер согласно варианту 1 осуществления.
Фиг. 9 является схемой, иллюстрирующей структуру второго кодера согласно варианту 1 осуществления.
Фиг. 10 является блок-схемой, иллюстрирующей второй кодер согласно варианту 1 осуществления.
Фиг. 11 является схемой, иллюстрирующей структуру второго декодера согласно варианту 1 осуществления.
Фиг. 12 является блок-схемой, иллюстрирующей второй декодер согласно варианту 1 осуществления.
Фиг. 13 является схемой, иллюстрирующей стек протоколов, связанный с PCC-кодированными данными согласно варианту 1 осуществления.
Фиг. 14 является блок-схемой декодера согласно варианту 1 осуществления.
Фиг. 15 является блок-схемой декодера согласно варианту 1 осуществления.
Фиг. 16 является блок-схемой последовательности операций способа для обработки кодирования согласно варианту 1 осуществления.
Фиг. 17 является блок-схемой последовательности операций способа для обработки декодирования согласно варианту 1 осуществления.
Фиг. 18 является схемой, иллюстрирующей базовую структуру ISOBMFF согласно варианту 2 осуществления.
Фиг. 19 является схемой, иллюстрирующей стек протоколов согласно варианту 2 осуществления.
Фиг. 20 является схемой, иллюстрирующей пример, в котором NAL-единица сохраняется в файле для кодека 1 согласно варианту 2 осуществления.
Фиг. 21 является схемой, иллюстрирующей пример, в котором NAL-единица сохраняется в файле для кодека 2 согласно варианту 2 осуществления.
Фиг. 22 является схемой, иллюстрирующей структуру первого мультиплексора согласно варианту 2 осуществления.
Фиг. 23 является схемой, иллюстрирующей структуру первого демультиплексора согласно варианту 2 осуществления.
Фиг. 24 является схемой, иллюстрирующей структуру второго мультиплексора согласно варианту 2 осуществления.
Фиг. 25 является схемой, иллюстрирующей структуру второго демультиплексора согласно варианту 2 осуществления.
Фиг. 26 является блок-схемой последовательности операций способа для обработки, выполняемой посредством первого мультиплексора согласно варианту 2 осуществления.
Фиг. 27 является блок-схемой последовательности операций способа для обработки, выполняемой посредством второго мультиплексора согласно варианту 2 осуществления.
Фиг. 28 является блок-схемой последовательности операций способа для обработки, выполняемой посредством первого демультиплексора и первого декодера согласно варианту 2 осуществления.
Фиг. 29 является блок-схемой последовательности операций способа для обработки, выполняемой посредством второго демультиплексора и второго декодера согласно варианту 2 осуществления.
Фиг. 30 является схемой, иллюстрирующей структуры кодера и третьего мультиплексора согласно варианту 3 осуществления.
Фиг. 31 является схемой, иллюстрирующей структуры третьего демультиплексора и декодера согласно варианту 3 осуществления.
Фиг. 32 является блок-схемой последовательности операций способа для обработки, выполняемой посредством третьего мультиплексора согласно варианту 3 осуществления.
Фиг. 33 является блок-схемой последовательности операций способа для обработки, выполняемой посредством третьего демультиплексора и декодера согласно варианту 3 осуществления.
Фиг. 34 является блок-схемой последовательности операций способа для обработки, выполняемой посредством устройства хранения трехмерных данных согласно варианту 3 осуществления.
Фиг. 35 является блок-схемой последовательности операций способа для обработки, выполняемой посредством устройства получения трехмерных данных согласно варианту 3 осуществления.
Фиг. 36 является схемой, иллюстрирующей структуры кодера и мультиплексора согласно варианту 4 осуществления.
Фиг. 37 является схемой, иллюстрирующей структурный пример кодированных данных согласно варианту 4 осуществления.
Фиг. 38 является схемой, иллюстрирующей структурный пример кодированных данных и NAL-единицы согласно варианту 4 осуществления.
Фиг. 39 является схемой, иллюстрирующей семантический пример pcc_nal_unit_type согласно варианту 4 осуществления.
Фиг. 40 является схемой, иллюстрирующей пример порядка передачи NAL-единиц согласно варианту 4 осуществления.
Фиг. 41 является блок-схемой последовательности операций способа для обработки, выполняемой посредством устройства кодирования трехмерных данных согласно варианту 4 осуществления.
Фиг. 42 является блок-схемой последовательности операций способа для обработки, выполняемой посредством устройства декодирования трехмерных данных согласно варианту 4 осуществления.
Фиг. 43 является блок-схемой последовательности операций способа для обработки мультиплексирования согласно варианту 4 осуществления.
Фиг. 44 является блок-схемой последовательности операций способа для обработки демультиплексирования согласно варианту 4 осуществления.
Фиг. 45 является блок-схемой последовательности операций способа для обработки, выполняемой посредством устройства кодирования трехмерных данных согласно варианту 4 осуществления.
Фиг. 46 является блок-схемой последовательности операций способа для обработки, выполняемой посредством устройства декодирования трехмерных данных согласно варианту 4 осуществления.
Фиг. 47 является блок-схемой, иллюстрирующей модуль разделения согласно варианту 5 осуществления.
Фиг. 48 является схемой, иллюстрирующей пример разделения на срезы и разделения на плитки согласно варианту 5 осуществления.
Фиг. 49 является схемой, иллюстрирующей пример шаблона разделения на срезы и шаблона разделения на плитки согласно варианту 5 осуществления.
Фиг. 50 является блок-схемой последовательности операций способа для процесса повторной инициализации механизма CABAC-кодирования/декодирования в ответ на флаг CABAC-инициализации при кодировании или декодировании согласно варианту 6 осуществления.
Фиг. 51 является блок-схемой, иллюстрирующей конфигурацию первого кодера, включенного в устройство кодирования трехмерных данных согласно варианту 6 осуществления.
Фиг. 52 является блок-схемой, иллюстрирующей конфигурацию модуля разделения согласно варианту 6 осуществления.
Фиг. 53 является блок-схемой, иллюстрирующей конфигурацию кодера геометрической информации и кодера информации атрибутов согласно варианту 6 осуществления.
Фиг. 54 является блок-схемой, иллюстрирующей конфигурацию первого декодера согласно варианту 6 осуществления.
Фиг. 55 является блок-схемой, иллюстрирующей конфигурацию декодера геометрической информации и декодера информации атрибутов согласно варианту 6 осуществления.
Фиг. 56 является блок-схемой последовательности операций способа, иллюстрирующей пример процесса, ассоциированного с инициализацией CABAC при кодировании геометрической информации или при кодировании информации атрибутов согласно варианту 6 осуществления.
Фиг. 57 является схемой, иллюстрирующей пример синхронизаций CABAC-инициализации для данных облаков точек в форме потока битов согласно варианту 6 осуществления.
Фиг. 58 является схемой, иллюстрирующей конфигурацию кодированных данных и способ сохранения кодированных данных в NAL-единице согласно варианту 6 осуществления.
Фиг. 59 является блок-схемой последовательности операций способа, иллюстрирующей пример процесса, ассоциированного с инициализацией CABAC при декодировании геометрической информации или при декодировании информации атрибутов согласно варианту 6 осуществления.
Фиг. 60 является блок-схемой последовательности операций способа для процесса кодирования данных облаков точек согласно варианту 6 осуществления.
Фиг. 61 является блок-схемой последовательности операций способа, иллюстрирующей пример процесса обновления дополнительной информации согласно варианту 6 осуществления.
Фиг. 62 является блок-схемой последовательности операций способа, иллюстрирующей пример процесса инициализации CABAC согласно варианту 6 осуществления.
Фиг. 63 является блок-схемой последовательности операций способа, иллюстрирующей процесс декодирования данных облаков точек согласно варианту 6 осуществления.
Фиг. 64 является блок-схемой последовательности операций способа, иллюстрирующей пример процесса инициализации CABAC-декодера согласно варианту 6 осуществления.
Фиг. 65 является схемой, иллюстрирующей пример плиток и срезов согласно варианту 6 осуществления.
Фиг. 66 является блок-схемой последовательности операций, иллюстрирующей пример способа определения того, следует или нет инициализировать CABAC, и определения начального значения контекста согласно варианту 6 осуществления.
Фиг. 67 является схемой, иллюстрирующей пример случая, в котором карта, которая является видом сверху данных облаков точек, полученных посредством лидара, разделяется на плитки согласно варианту 6 осуществления.
Фиг. 68 является блок-схемой последовательности операций способа, иллюстрирующей другой пример способа определения того, следует или нет инициализировать CABAC, и определения начального значения контекста согласно варианту 6 осуществления.
Фиг. 69 является схемой для описания процесса, выполняемого посредством квантователя и обратного квантователя согласно варианту 7 осуществления.
Фиг. 70 является схемой для описания значения по умолчанию и дельты квантования значения квантования согласно варианту 7 осуществления.
Фиг. 71 является блок-схемой, иллюстрирующей конфигурацию первого кодера, включенного в устройство кодирования трехмерных данных согласно варианту 7 осуществления.
Фиг. 72 является блок-схемой, иллюстрирующей конфигурацию модуля разделения согласно варианту 7 осуществления.
Фиг. 73 является блок-схемой, иллюстрирующей конфигурацию кодера геометрической информации и кодера информации атрибутов согласно варианту 7 осуществления.
Фиг. 74 является блок-схемой, иллюстрирующей конфигурацию первого декодера согласно варианту 7 осуществления.
Фиг. 75 является блок-схемой, иллюстрирующей конфигурацию декодера геометрической информации и декодера информации атрибутов согласно варианту 7 осуществления.
Фиг. 76 является блок-схемой последовательности операций способа, иллюстрирующей пример процесса относительно определения значения квантования при кодировании геометрической информации или при кодировании информации атрибутов согласно варианту 7 осуществления.
Фиг. 77 является блок-схемой последовательности операций способа, иллюстрирующей пример процесса декодирования геометрической информации и информации атрибутов согласно варианту 7 осуществления.
Фиг. 78 является схемой для описания первого примера способа передачи параметра квантования согласно варианту 7 осуществления.
Фиг. 79 является схемой для описания второго примера способа передачи параметра квантования согласно варианту 7 осуществления.
Фиг. 80 является схемой для описания третьего примера способа передачи параметра квантования согласно варианту 7 осуществления.
Фиг. 81 является блок-схемой последовательности операций способа для процесса кодирования данных облаков точек согласно варианту 7 осуществления.
Фиг. 82 является блок-схемой последовательности операций способа, иллюстрирующей пример процесса определения QP-значения и обновления дополнительной информации согласно варианту 7 осуществления.
Фиг. 83 является блок-схемой последовательности операций способа, иллюстрирующей пример процесса кодирования согласно варианту 7 осуществления.
Фиг. 84 является блок-схемой последовательности операций способа, иллюстрирующей процесс декодирования данных облаков точек согласно варианту 7 осуществления.
Фиг. 85 является блок-схемой последовательности операций способа, иллюстрирующей пример процесса получения QP-значений и декодирования QP-значения для среза или плитки согласно варианту 7 осуществления.
Фиг. 86 является схемой, иллюстрирующей пример синтаксиса GPS согласно варианту 7 осуществления.
Фиг. 87 является схемой, иллюстрирующей пример синтаксиса APS согласно варианту 7 осуществления.
Фиг. 88 является схемой, иллюстрирующей пример синтаксиса заголовка геометрической информации согласно варианту 7 осуществления.
Фиг. 89 является схемой, иллюстрирующей пример синтаксиса заголовка информации атрибутов согласно варианту 7 осуществления.
Фиг. 90 является схемой для описания другого примера способа передачи параметра квантования согласно варианту 7 осуществления.
Фиг. 91 является схемой для описания другого примера способа передачи параметра квантования согласно варианту 7 осуществления.
Фиг. 92 является схемой для описания девятого примера способа передачи параметра квантования согласно варианту 7 осуществления.
Фиг. 93 является схемой для описания примера управления QP-значением согласно варианту 7 осуществления.
Фиг. 94 является блок-схемой последовательности операций, иллюстрирующей пример способа определения QP-значения на основе качества объекта согласно варианту 7 осуществления.
Фиг. 95 является блок-схемой последовательности операций, иллюстрирующей пример способа определения QP-значения на основе управления скоростью согласно варианту 7 осуществления.
Фиг. 96 является блок-схемой последовательности операций способа, иллюстрирующей процесс кодирования согласно варианту 7 осуществления.
Фиг. 97 является блок-схемой последовательности операций способа, иллюстрирующей процесс декодирования согласно варианту 7 осуществления.
Подробное описание вариантов осуществления
[0013] Способ кодирования трехмерных данных согласно аспекту настоящего раскрытия включает в себя: квантование геометрической информации каждой из трехмерных точек, с использованием первого параметра квантования; квантование первой яркости с использованием второго параметра квантования и квантование первой цветности с использованием третьего параметра квантования, причем первая яркость и первая цветность указывают первый цвет среди информации атрибутов каждой из трехмерных точек; и формирование потока битов, включающего в себя квантованную геометрическую информацию, квантованную первую яркость, квантованную первую цветность, первый параметр квантования, второй параметр квантования и первую разность между вторым параметром квантования и третьим параметром квантования.
[0014] Согласно этому способу кодирования трехмерных данных, поскольку третий параметр квантования указывается посредством первой разности относительно второго параметра квантования в потоке битов, эффективность кодирования может повышаться.
[0015] Например, способ кодирования трехмерных данных дополнительно может включать в себя: квантование отражательной способности среди информации атрибутов каждой из трехмерных точек, с использованием четвертого параметра, при этом при формировании, сформированный поток битов дополнительно может включать в себя квантованную отражательную способность и четвертый параметр квантования.
[0016] Например, при квантовании с использованием второго параметра квантования, для каждого из подпространств, полученных посредством разделения текущего пространства, включающего в себя трехмерные точки, первая яркость по меньшей мере одной трехмерной точки, включенной в подпространство, может квантоваться дополнительно с использованием пятого параметра квантования. Кроме того, при квантовании с использованием третьего параметра квантования, первая цветность упомянутой по меньшей мере одной трехмерной точки может квантоваться дополнительно с использованием шестого параметра квантования. Кроме того, при формировании, сформированный поток битов дополнительно может включать в себя вторую разность между вторым параметром квантования и пятым параметром квантования и третью разность между третьим параметром квантования и шестым параметром квантования.
[0017] Согласно этому способу кодирования трехмерных данных, поскольку пятый параметр квантования указывается посредством второй разности относительно второго параметра квантования, и шестой параметр квантования указывается посредством третьей разности относительно третьего параметра квантования в потоке битов, эффективность кодирования может повышаться.
[0018] Например, при формировании, сформированный поток битов дополнительно может включать в себя идентификационную информацию, указывающую то, что квантование с использованием второго параметра квантования выполнено с использованием пятого параметра квантования, и квантование с использованием третьего параметра квантования выполнено с использованием шестого параметра квантования.
[0019] Соответственно, устройство декодирования трехмерных данных, получающее поток битов, может определять из идентификационной информации то, что квантование с использованием пятого параметра квантования и квантование с использованием шестого параметра квантования выполнены, так что нагрузка по обработке процесса декодирования может уменьшаться.
[0020] Например, способ кодирования трехмерных данных дополнительно может включать в себя квантование второй яркости с использованием седьмого параметра квантования и квантование второй цветности с использованием восьмого параметра квантования, причем вторая яркость и вторая цветность указывают второй цвет среди информации атрибутов каждой из трехмерных точек. Кроме того, при формировании, сформированный поток битов дополнительно может включать в себя квантованную вторую яркость, квантованную вторую цветность, седьмой параметр квантования и четвертую разность между седьмым параметром и восьмым параметром.
[0021] Согласно этому способу кодирования трехмерных данных, восьмой параметр квантования указывается посредством четвертой разности относительно седьмого параметра квантования в потоке битов, эффективность кодирования может повышаться. Помимо этого, два типа цветовой информации могут включаться в информацию атрибутов относительно трехмерной точки.
[0022] Кроме того, способ декодирования трехмерных данных согласно аспекту настоящего раскрытия включает в себя: получение квантованной геометрической информации, квантованной первой яркости, квантованной первой цветности, первого параметра квантования, второго параметра квантования и первой разности между вторым параметром квантования и третьим параметром квантования, посредством получения потока битов; вычисление геометрической информации трехмерных точек посредством обратного квантования квантованной геометрической информации с использованием первой информации квантования; вычисление первой яркости, из первой яркости и первой цветности, которые указывают первый цвет трехмерных точек, посредством обратного квантования квантованной первой яркости с использованием второго параметра квантования; и вычисление первой цветности посредством обратного квантования квантованной первой цветности с использованием третьего параметра квантования, полученного из второго параметра квантования и первой разности.
[0023] Таким образом, способ декодирования трехмерных данных может корректно декодировать геометрическую информацию и информацию атрибутов относительно трехмерной точки.
[0024] Например, при получении, квантованная отражательная способность и четвертый параметр квантования дополнительно могут получаться посредством получения потока битов, и способ декодирования трехмерных данных дополнительно может включать в себя вычисление отражательной способности трехмерных точек посредством обратного квантования квантованной отражательной способности с использованием четвертого параметра квантования.
[0025] Следовательно, способ декодирования трехмерных данных может корректно декодировать отражательную способность трехмерной точки.
[0026] Например, при получении, вторая разность между вторым параметром квантования и пятым параметром квантования и третья разность между третьим параметром квантования и шестым параметром квантования дополнительно могут получаться посредством получения потока битов при вычислении первой яркости, первая яркость по меньшей мере одной трехмерной точки может вычисляться посредством обратного квантования квантованной первой яркости с использованием пятого параметра квантования, полученного из второго параметра квантования и второй разности, причем упомянутая по меньшей мере одна трехмерная точка включается в каждое из подпространств, полученных посредством разделения текущего пространства, включающего в себя трехмерные точки, причем квантованная первая яркость представляет собой яркость, полученную посредством квантования первой яркости упомянутой по меньшей мере одной трехмерной точки с использованием второго параметра квантования и пятого параметра квантования, и при вычислении первой цветности, первая цветность упомянутой по меньшей мере одной трехмерной точки может вычисляться посредством обратного квантования квантованной первой цветности с использованием шестого параметра квантования, полученного из третьего параметра квантования и третьей разности, причем квантованная первая цветность представляет собой цветность, полученную посредством квантования первой цветности упомянутой по меньшей мере одной трехмерной точки с использованием третьего параметра квантования и шестого параметра квантования.
[0027] Например, при получении, идентификационная информация, указывающая то, что квантование выполнено с использованием пятого параметра квантования и шестого параметра квантования, дополнительно может получаться посредством получения потока битов. Кроме того, например, при вычислении первой яркости, когда идентификационная информация указывает то, что квантование выполнено с использованием пятого параметра квантования и шестого параметра квантования, квантованная первая яркость может определяться в качестве яркости, полученной посредством квантования первой яркости упомянутой по меньшей мере одной трехмерной точки. Кроме того, например, при вычислении первой цветности, когда идентификационная информация указывает то, что квантование выполнено с использованием пятого параметра квантования и шестого параметра квантования, квантованная первая цветность может определяться в качестве цветности, полученной посредством квантования первой цветности упомянутой по меньшей мере одной трехмерной точки.
[0028] Согласно этому способу декодирования трехмерных данных, из идентификационной информации может определяться то, что квантование с использованием пятого параметра квантования и квантование с использованием шестого параметра квантования выполнены, так что нагрузка по обработке процесса декодирования может уменьшаться.
[0029] Например, при получении, квантованная вторая яркость, квантованная вторая цветность, седьмой параметр квантования и четвертая разность между седьмым параметром квантования и восьмым параметром квантования дополнительно могут получаться посредством получения потока битов. Кроме того, например, способ декодирования трехмерных данных дополнительно может включать в себя: вычисление второй яркости из второй яркости и второй цветности, которые указывают второй цвет трехмерных точек, посредством обратного квантования квантованной второй яркости с использованием седьмого параметра квантования; и вычисление второй цветности посредством обратного квантования квантованной второй цветности с использованием восьмого параметра квантования, полученного из седьмого параметра квантования и четвертой разности.
[0030] Таким образом, способ декодирования трехмерных данных может корректно декодировать второй цвет трехмерной точки.
[0031] Кроме того, устройство кодирования трехмерных данных согласно аспекту настоящего раскрытия включает в себя: процессор; и запоминающее устройство. Здесь, с использованием запоминающего устройства, процессор: квантует геометрическую информацию каждой из трехмерных точек, с использованием первого параметра квантования; квантует первую яркость с использованием второго параметра квантования и квантует первую цветность с использованием третьего параметра квантования, причем первая яркость и первая цветность указывают первый цвет среди информации атрибутов каждой из трехмерных точек; и формирует поток битов, включающий в себя квантованную геометрическую информацию, квантованную первую яркость, квантованную первую цветность, первый параметр квантования, второй параметр квантования и первую разность между вторым параметром квантования и третьим параметром квантования.
[0032] С помощью этого устройства кодирования трехмерных данных, поскольку третий параметр квантования указывается посредством первой разности относительно второго параметра квантования, эффективность кодирования может повышаться.
[0033] Кроме того, устройство декодирования трехмерных данных согласно аспекту настоящего раскрытия включает в себя: процессор; и запоминающее устройство. Здесь, с использованием запоминающего устройства, процессор: получает квантованную геометрическую информацию, квантованную первую яркость, квантованную первую цветность, первый параметр квантования, второй параметр квантования и первую разность между вторым параметром квантования и третьим параметром квантования, посредством получения потока битов; вычисляет геометрическую информацию трехмерных точек посредством обратного квантования квантованной геометрической информации с использованием первой информации квантования; вычисляет первую яркость, из первой яркости и первой цветности, которые указывают первый цвет трехмерных точек, посредством обратного квантования квантованной первой яркости с использованием второго параметра квантования; и вычисляет первую цветность посредством обратного квантования квантованной первой цветности с использованием третьего параметра квантования, полученного из второго параметра квантования и первой разности.
[0034] При такой конфигурации, устройство декодирования трехмерных данных может корректно декодировать геометрическую информацию и информацию атрибутов относительно трехмерной точки.
[0035] Следует отметить, что эти общие или конкретные аспекты могут реализовываться как система, способ, интегральная схема, компьютерная программа или машиночитаемый носитель записи, такой как CD-ROM, либо могут реализовываться как любое объединение системы, способа, интегральной схемы, компьютерной программы и носителя записи.
[0036] Далее описываются варианты осуществления со ссылкой на чертежи. Следует отметить, что нижеприведенные варианты осуществления показывают примерные варианты осуществления настоящего раскрытия. Числовые значения, формы, материалы, структурные компоненты, компоновка и соединение структурных компонентов, этапы, порядок обработки этапов и т.д., показанных в нижеприведенных вариантах осуществления, представляют собой просто примеры и в силу этого не имеют намерение ограничивать настоящее раскрытие. Из структурных компонентов, описанных в нижеприведенных вариантах осуществления, структурные компоненты, не изложенные ни в одном из независимых пунктов формулы изобретения, которые указывают наиболее обобщенные идеи, описываются как необязательные структурные компоненты.
[0037] Вариант 1 осуществления
При использовании кодированных данных облака точек в устройстве или для услуги на практике, требуемая информация для применения предпочтительно передается и принимается для того, чтобы уменьшать полосу пропускания сети. Тем не менее традиционные структуры кодирования для трехмерных данных не имеют такой функции, и также отсутствует способ кодирования для такой функции.
[0038] Вариант 1 осуществления, описанный ниже, относится к способу кодирования трехмерных данных и к устройству кодирования трехмерных данных для кодированных данных облака трехмерных точек, которое предоставляет функцию передачи и приема требуемой информации для применения, к способу декодирования трехмерных данных и к устройству декодирования трехмерных данных для декодирования кодированных данных, к способу мультиплексирования трехмерных данных для мультиплексирования кодированных данных и к способу передачи трехмерных данных для передачи кодированных данных.
[0039] В частности, в настоящее время первый способ кодирования и второй способ кодирования исследуются в качестве способов кодирования (схем кодирования) для данных облаков точек. Тем не менее, отсутствует заданный способ для сохранения конфигурации кодированных данных и кодированных данных в системном формате. Таким образом, имеется проблема в том, что кодер не может выполнять процесс мультиплексирования (мультиплексирование), передачу или накопление данных.
[0040] Помимо этого, отсутствует способ для поддержки формата, который заключает в себе два кодека, первый способ кодирования и второй способ кодирования, к примеру, сжатие облаков точек (PCC).
[0041] Относительно этого варианта осуществления, в дальнейшем описываются конфигурация PCC-кодированных данных, которая заключает в себе два кодека, первый способ кодирования и второй способ кодирования и способ сохранения кодированных данных в системном формате.
[0042] Сначала описывается конфигурация системы кодирования и декодирования трехмерных данных (данных облаков точек) согласно этому варианту осуществления. Фиг. 1 является схемой, показывающей пример конфигурации системы кодирования и декодирования трехмерных данных согласно этому варианту осуществления. Как показано на фиг. 1, система кодирования и декодирования трехмерных данных включает в себя систему 4601 кодирования трехмерных данных, систему 4602 декодирования трехмерных данных, терминал 4603 с датчиком и внешний соединитель 4604.
[0043] Система 4601 кодирования трехмерных данных формирует кодированные данные или мультиплексированные данные посредством кодирования данных облаков точек, которые представляют собой трехмерные данные. Система 4601 кодирования трехмерных данных может представлять собой устройство кодирования трехмерных данных, реализованное посредством одного устройства, либо систему, реализованную посредством множества устройств. Устройство кодирования трехмерных данных может включать в себя часть из множества процессоров, включенных в систему 4601 кодирования трехмерных данных.
[0044] Система 4601 кодирования трехмерных данных включает в себя систему 4611 формирования данных облаков точек, модуль 4612 представления, кодер 4613, мультиплексор 4614, модуль 4615 ввода-вывода и контроллер 4616. Система 4611 формирования данных облаков точек включает в себя модуль 4617 получения информации датчиков и формирователь 4618 данных облаков точек.
[0045] Модуль 4617 получения информации датчиков получает информацию датчиков из терминала 4603 с датчиком и выводит информацию датчиков в формирователь 4618 данных облаков точек. Формирователь 4618 данных облаков точек формирует данные облаков точек из информации датчиков и выводит данные облаков точек в кодер 4613.
[0046] Модуль 4612 представления представляет информацию датчиков или данные облаков точек пользователю. Например, модуль 4612 представления отображает информацию или изображение на основе информации датчиков или данных облаков точек.
[0047] Кодер 4613 кодирует (сжимает) данные облаков точек и выводит результирующие кодированные данные, управляющую информацию (служебную информацию), полученную в ходе кодирования, и другую дополнительную информацию в мультиплексор 4614. Дополнительная информация включает в себя, например, информацию датчиков.
[0048] Мультиплексор 4614 формирует мультиплексированные данные посредством мультиплексирования кодированных данных, управляющей информации и дополнительной информации, вводимых в него из кодера 4613. Формат мультиплексированных данных представляет собой, например, формат файлов для накопления или формат пакетов для передачи.
[0049] Модуль 4615 ввода-вывода (например, модуль или интерфейс связи) выводит мультиплексированные данные наружу. Альтернативно, мультиплексированные данные могут накапливаться в накопителе, таком как внутреннее запоминающее устройство. Контроллер 4616 (или модуль выполнения приложений) управляет каждым процессором. Таким образом, контроллер 4616 управляет кодированием, мультиплексированием или другой обработкой.
[0050] Следует отметить, что информация датчиков может вводиться в кодер 4613 или мультиплексор 4614. Альтернативно, модуль 4615 ввода-вывода может выводить данные облаков точек или кодированные данные наружу как есть.
[0051] Передаваемый сигнал (мультиплексированные данные), выводимый из системы 4601 кодирования трехмерных данных, вводится в систему 4602 декодирования трехмерных данных через внешний соединитель 4604.
[0052] Система 4602 декодирования трехмерных данных формирует данные облаков точек, которые представляют собой трехмерные данные, посредством декодирования кодированных данных или мультиплексированных данных. Следует отметить, что система 4602 декодирования трехмерных данных может представлять собой устройство декодирования трехмерных данных, реализованное посредством одного устройства, либо систему, реализованную посредством множества устройств. Устройство декодирования трехмерных данных может включать в себя часть из множества процессоров, включенных в систему 4602 декодирования трехмерных данных.
[0053] Система 4602 декодирования трехмерных данных включает в себя модуль 4621 получения информации датчиков, модуль 4622 ввода-вывода, демультиплексор 4623, декодер 4624, модуль 4625 представления, пользовательский интерфейс 4626 и контроллер 4627.
[0054] Модуль 4621 получения информации датчиков получает информацию датчиков из терминала 4603 с датчиком.
[0055] Модуль 4622 ввода-вывода получает передаваемый сигнал, декодирует передаваемый сигнал в мультиплексированные данные (формат файлов или пакет) и выводит мультиплексированные данные в демультиплексор 4623.
[0056] Демультиплексор 4623 получает кодированные данные, управляющую информацию и дополнительную информацию из мультиплексированных данных и выводит кодированные данные, управляющую информацию и дополнительную информацию в декодер 4624.
[0057] Декодер 4624 восстанавливает данные облаков точек посредством декодирования кодированных данных.
[0058] Модуль 4625 представления представляет данные облаков точек пользователю. Например, модуль 4625 представления отображает информацию или изображение на основе данных облаков точек. Пользовательский интерфейс 4626 получает индикатор на основе действий пользователя. Контроллер 4627 (или модуль выполнения приложений) управляет каждым процессором. Таким образом, контроллер 4627 управляет демультиплексированием, декодированием, представлением или другой обработкой.
[0059] Следует отметить, что модуль 4622 ввода-вывода может получать данные облаков точек или кодированные данные как есть снаружи. Модуль 4625 представления может получать дополнительную информацию, такую как информация датчиков, и представлять информацию на основе дополнительной информации. Модуль 4625 представления может выполнять представление на основе индикатора от пользователя, полученного в пользовательском интерфейсе 4626.
[0060] Терминал 4603 с датчиком формирует информацию датчиков, которая представляет собой информацию, полученную посредством датчика. Терминал 4603 с датчиком представляет собой терминал, содержащий датчик или камеру. Например, терминал 4603 с датчиком представляет собой мобильное тело, такое как автомобиль, летающий объект, такой как самолет, мобильный терминал или камеру.
[0061] Информация датчиков, которая может формироваться, например, посредством терминала 4603 с датчиком, включает в себя (1) расстояние между терминалом 4603 с датчиком и объектом или отражательную способность объекта, полученную посредством лидара, радара миллиметрового диапазона или инфракрасного датчика, либо (2) расстояние между камерой и объектом либо отражательную способность объекта, полученную посредством множества изображений монокулярных камер или изображения стереокамеры. Информация датчиков может включать в себя, например, положение, ориентацию, гиро-(угловую скорость), позицию (GPS-информацию или высоту над уровнем моря), скорость или ускорение датчика. Информация датчиков может включать в себя, например, температуру воздуха, давление воздуха, влажность воздуха или магнетизм.
[0062] Внешний соединитель 4604 реализуется, например, посредством интегральной схемы (LSI или IC), внешнего накопителя, связи с облачным сервером через Интернет или широковещательную передачу.
[0063] Далее описываются данные облаков точек. Фиг. 2 является схемой, показывающей конфигурацию данных облаков точек. Фиг. 3 является схемой, показывающей пример конфигурации файла данных, описывающего информацию для данных облаков точек.
[0064] Данные облаков точек включают в себя данные по множеству точек. Данные по каждой точке включают в себя геометрическую информацию (трехмерные координаты) и информацию атрибутов, ассоциированную с геометрической информацией. Набор из множества таких точек называется "облаком точек". Например, облако точек указывает трехмерную форму объекта.
[0065] Геометрическая информация (позиция), такая как трехмерные координаты, может называться "геометрией". Данные по каждой точке могут включать в себя информацию атрибутов (атрибут) относительно множества типов атрибутов. Тип атрибута представляет собой, например, цвет или отражательную способность.
[0066] Один фрагмент информации атрибутов может быть ассоциирован с одним фрагментом геометрической информации, либо информация атрибутов относительно множества различных типов атрибутов может быть ассоциирована с одним фрагментом геометрической информации. Альтернативно, множество фрагментов информации атрибутов относительно идентичного типа атрибута может быть ассоциировано с одним фрагментом геометрической информации.
[0067] Пример конфигурации файла данных, показанного на фиг. 3, представляет собой пример, в котором геометрическая информация и информация атрибутов ассоциированы друг с другом во взаимосвязи "один к одному", и геометрическая информация и информация атрибутов относительно N точек, формирующих данные облаков точек, показаны.
[0068] Геометрическая информация представляет собой, например, информацию относительно трех осей, а именно, оси X, оси Y и оси Z. Информация атрибутов представляет собой, например, информацию RGB-цветов. Характерный файл данных представляет собой, например, ply-файл.
[0069] Далее описываются типы данных облаков точек. Фиг. 4 является схемой, показывающей типы данных облаков точек. Как показано на фиг. 4, данные облаков точек включают в себя статический объект и динамический объект.
[0070] Статический объект представляет собой данные облаков трехмерных точек в произвольное время (момент времени). Динамический объект представляет собой данные облаков трехмерных точек, которые варьируются во времени. Ниже по тексту, данные облаков трехмерных точек, ассоциированные с моментом времени, называются "PCC-кадром" или "кадром".
[0071] Объект может представлять собой облако точек, диапазон которого ограничен в некоторой степени, такое как обычные видеоданные, либо может представлять собой большое облако точек, диапазон которого не ограничен, такое как картографическая информация.
[0072] Предусмотрены данные облаков точек, имеющие варьирующиеся плотности. Могут быть предусмотрены данные разреженных облаков точек и данные плотных облаков точек.
[0073] Ниже по тексту подробно описывается каждый процессор. Информация датчиков получается посредством различных средств, включающих в себя датчик расстояния, такой как лидар или дальномер, стереокамеру либо объединение множества монокулярных камер. Формирователь 4618 данных облаков точек формирует данные облаков точек на основе информации датчиков, полученной посредством модуля 4617 получения информации датчиков. Формирователь 4618 данных облаков точек формирует геометрическую информацию в качестве данных облаков точек и добавляет информацию атрибутов, ассоциированную с геометрической информацией, в геометрическую информацию.
[0074] При формировании геометрической информации или добавлении информации атрибутов, формирователь 4618 данных облаков точек может обрабатывать данные облаков точек. Например, формирователь 4618 данных облаков точек может сокращать объем данных посредством опускания облака точек, позиция которого совпадает с позицией другого облака точек. Формирователь 4618 данных облаков точек также может преобразовывать геометрическую информацию (такую как сдвиг, вращение или нормализация позиции) или выполнять рендеринг информации атрибутов.
[0075] Следует отметить, что хотя фиг. 1 показывает систему 4611 формирования данных облаков точек как включенную в систему 4601 кодирования трехмерных данных, система 4611 формирования данных облаков точек может предоставляться независимо за пределами системы 4601 кодирования трехмерных данных.
[0076] Кодер 4613 формирует кодированные данные посредством кодирования данных облаков точек согласно ранее заданному способу кодирования. В общем, предусмотрено два типа способов кодирования, описанных ниже. Один представляет собой способ кодирования с использованием геометрической информации, который далее называется "первым способом кодирования". Другой представляет собой способ кодирования с использованием видеокодека, который далее называется "вторым способом кодирования".
[0077] Декодер 4624 декодирует кодированные данные в данные облаков точек с использованием ранее заданного способа кодирования.
[0078] Мультиплексор 4614 формирует мультиплексированные данные посредством мультиплексирования кодированных данных в существующем способе мультиплексирования. Сформированные мультиплексированные данные передаются или накапливаются. Мультиплексор 4614 мультиплексирует не только PCC-кодированные данные, но также и другое мультимедиа, такое как видео, аудио, субтитры, приложение или файл, либо информацию опорного времени. Мультиплексор 4614 дополнительно может мультиплексировать информацию атрибутов, ассоциированную с информацией датчиков или данными облаков точек.
[0079] Схемы мультиплексирования или форматы файлов включают в себя, например, ISOBMFF, MPEG DASH, который представляет собой схему передачи на основе ISOBMFF, MMT, MPEG-2 TS-системы или RMP.
[0080] Демультиплексор 4623 извлекает PCC-кодированные данные, другое мультимедиа, информацию времени и т.п. из мультиплексированных данных.
[0081] Модуль 4615 ввода-вывода передает мультиплексированные данные в способе, подходящем для передающей среды или среды накопления, таком как широковещательная передача или связь. Модуль 4615 ввода-вывода может обмениваться данными с другим устройством по Интернету или обмениваться данными с накопителем, таким как облачный сервер.
[0082] В качестве протокола связи, используется HTTP, FTP, TCP, UDP и т.п. Схема связи на основе извлечения или схема связи на основе проталкивания может использоваться.
[0083] Проводная передача или беспроводная передача может использоваться. Для проводной передачи используется, например, Ethernet (зарегистрированная торговая марка), USB, RS-232C, HDMI (зарегистрированная торговая марка) или коаксиальный кабель. Для беспроводной передачи используется, например, беспроводная LAN, Wi-Fi (зарегистрированная торговая марка), Bluetooth (зарегистрированная торговая марка) или миллиметровые волны.
[0084] В качестве широковещательной схемы используется, например, DVB-T2, DVB-S2, DVB-C2, ATSC3.0 или ISDB-S3.
[0085] Фиг. 5 является схемой, показывающей конфигурацию первого кодера 4630, который представляет собой пример кодера 4613, который выполняет кодирование в первом способе кодирования. Фиг. 6 является блок-схемой, показывающей первый кодер 4630. Первый кодер 4630 формирует кодированные данные (кодированный поток) посредством кодирования данных облаков точек в первом способе кодирования. Первый кодер 4630 включает в себя кодер 4631 геометрической информации, кодер 4632 информации атрибутов, кодер 4633 дополнительной информации и мультиплексор 4634.
[0086] Первый кодер 4630 отличается посредством выполнения кодирования с учетом трехмерной структуры. Первый кодер 4630 дополнительно отличается тем, что кодер 4632 информации атрибутов выполняет кодирование с использованием информации, полученной из кодера 4631 геометрической информации. Первый способ кодирования также называется "PCC на основе геометрии (GPCC)".
[0087] Данные облаков точек представляют собой PCC-данные облаков точек, такие как PLY-файл, либо PCC-данные облаков точек, сформированные из информации датчиков, и включают в себя геометрическую информацию (позицию), информацию атрибутов (атрибут) и другую дополнительную информацию (метаданные). Геометрическая информация вводится в кодер 4631 геометрической информации, информация атрибутов вводится в кодер 4632 информации атрибутов, и дополнительная информация вводится в кодер 4633 дополнительной информации.
[0088] Кодер 4631 геометрической информации формирует кодированную геометрическую информацию (сжатую геометрию), которая представляет собой кодированные данные, посредством кодирования геометрической информации. Например, кодер 4631 геометрической информации кодирует геометрическую информацию с использованием N-арной древовидной структуры, такой как дерево октантов. В частности, в случае дерева октантов, текущее пространство разделяется на восемь узлов (подпространств), формируется 8-битовая информация (код заполнения), которая указывает то, включает каждый узел в себя облако точек или нет. Узел, включающий в себя облако точек, дополнительно разделяется на восемь узлов, и формируется 8-битовая информация, которая указывает то, включает каждый из восьми узлов в себя облако точек или нет. Этот процесс повторяется до тех пор, пока предварительно определенный уровень не достигается, либо число облаков точек, включенных в каждый узел, не становится равным или меньше порогового значения.
[0089] Кодер 4632 информации атрибутов формирует кодированную информацию атрибутов (сжатый атрибут), которая представляет собой кодированные данные, посредством кодирования информации атрибутов с использованием конфигурационной информации, сформированной посредством кодера 4631 геометрической информации. Например, кодер 4632 информации атрибутов определяет опорную точку (опорный узел), к которой следует обращаться при кодировании текущей точки (текущего узла), которая должна обрабатываться на основе структуры в виде дерева октантов, сформированной посредством кодера 4631 геометрической информации. Например, кодер 4632 информации атрибутов обращается к узлу, родительский узел которого в дереве октантов является идентичным родительскому узлу для текущего узла, из периферийных узлов или соседних узлов. Следует отметить, что способ определения опорной взаимосвязи не ограничен этим способом.
[0090] Процесс кодирования информации атрибутов может включать в себя по меньшей мере одно из процесса квантования, процесса прогнозирования и процесса арифметического кодирования. В этом случае, "обращаться" означает использование опорного узла для вычисления прогнозированного значения информации атрибутов либо использование состояния опорного узла (например, информации заполнения, которая указывает то, включает опорный узел в себя облако точек или нет) для определения параметра кодирования. Например, параметр кодирования представляет собой параметр квантования в процессе квантования либо контекст и т.п. при арифметическом кодировании.
[0091] Кодер 4633 дополнительной информации формирует кодированную дополнительную информацию (сжатые метаданные), которая представляет собой кодированные данные, посредством кодирования сжимаемых данных дополнительной информации.
[0092] Мультиплексор 4634 формирует кодированный поток (сжатый поток), который представляет собой кодированные данные, посредством мультиплексирования кодированной геометрической информации, кодированной информации атрибутов, кодированной дополнительной информации и другой дополнительной информации. Сформированный кодированный поток выводится в процессор в системном слое (не показан).
[0093] Далее описывается первый декодер 4640, который представляет собой пример декодера 4624, который выполняет декодирование в первом способе кодирования. Фиг. 7 является схемой, показывающей конфигурацию первого декодера 4640. Фиг. 8 является блок-схемой, показывающей первый декодер 4640. Первый декодер 4640 формирует данные облаков точек посредством декодирования кодированных данных (кодированного потока), кодированных в первом способе кодирования, в первом способе кодирования. Первый декодер 4640 включает в себя демультиплексор 4641, декодер 4642 геометрической информации, декодер 4643 информации атрибутов и декодер 4644 дополнительной информации.
[0094] Кодированный поток (сжатый поток), который представляет собой кодированные данные, вводится в первый декодер 4640 из процессора в системном слое (не показан).
[0095] Демультиплексор 4641 отделяет кодированную геометрическую информацию (сжатую геометрию), кодированную информацию атрибутов (сжатый атрибут), кодированную дополнительную информацию (сжатые метаданные) и другую дополнительную информацию от кодированных данных.
[0096] Декодер 4642 геометрической информации формирует геометрическую информацию посредством декодирования кодированной геометрической информации. Например, декодер 4642 геометрической информации восстанавливает геометрическую информацию относительно облака точек, представленную посредством трехмерных координат, из кодированной геометрической информации, представленной посредством N-арной структуры, такой как дерево октантов.
[0097] Декодер 4643 информации атрибутов декодирует кодированную информацию атрибутов на основе конфигурационной информации, сформированной посредством декодера 4642 геометрической информации. Например, декодер 4643 информации атрибутов определяет опорную точку (опорный узел), к которой следует обращаться при декодировании текущей точки (текущего узла), которая должна обрабатываться на основе структуры в виде дерева октантов, сформированной посредством декодера 4642 геометрической информации. Например, декодер 4643 информации атрибутов обращается к узлу, родительский узел которого в дереве октантов является идентичным родительскому узлу для текущего узла, из периферийных узлов или соседних узлов. Следует отметить, что способ определения опорной взаимосвязи не ограничен этим способом.
[0098] Процесс декодирования информации атрибутов может включать в себя по меньшей мере одно из процесса обратного квантования, процесса прогнозирования и процесса арифметического декодирования. В этом случае, "обращаться" означает использование опорного узла для вычисления прогнозированного значения информации атрибутов либо использование состояния опорного узла (например, информации заполнения, которая указывает то, включает опорный узел в себя облако точек или нет) для определения параметра декодирования. Например, параметр декодирования представляет собой параметр квантования в процессе обратного квантования либо контекст и т.п. при арифметическом декодировании.
[0099] Декодер 4644 дополнительной информации формирует дополнительную информацию посредством декодирования кодированной дополнительной информации. Первый декодер 4640 использует дополнительную информацию, требуемую для процесса декодирования для геометрической информации и информации атрибутов при декодировании, и выводит дополнительную информацию, требуемую для применения, наружу.
[0100] Далее описывается второй кодер 4650, который представляет собой пример кодера 4613, который выполняет кодирование во втором способе кодирования. Фиг. 9 является схемой, показывающей конфигурацию второго кодера 4650. Фиг. 10 является блок-схемой, показывающей второй кодер 4650.
[0101] Второй кодер 4650 формирует кодированные данные (кодированный поток) посредством кодирования данных облаков точек во втором способе кодирования. Второй кодер 4650 включает в себя формирователь 4651 дополнительной информации, формирователь 4652 геометрических изображений, формирователь 4653 изображений атрибутов, видеокодер 4654, кодер 4655 дополнительной информации и мультиплексор 4656.
[0102] Второй кодер 4650 отличается посредством формирования геометрического изображения и изображения атрибута посредством проецирования трехмерной структуры на двумерное изображение и кодирования сформированного геометрического изображения и изображения атрибута в существующей схеме кодирования видео. Второй способ кодирования называется "PCC на основе видео (VPCC)".
[0103] Данные облаков точек представляют собой PCC-данные облаков точек, такие как PLY-файл, либо PCC-данные облаков точек, сформированные из информации датчиков, и включают в себя геометрическую информацию (позицию), информацию атрибутов (атрибут) и другую дополнительную информацию (метаданные).
[0104] Формирователь 4651 дополнительной информации формирует картографическую информацию относительно множества двумерных изображений посредством проецирования трехмерной структуры на двумерное изображение.
[0105] Формирователь 4652 геометрических изображений формирует геометрическое изображение на основе геометрической информации и картографической информации, сформированной посредством формирователя 4651 дополнительной информации. Геометрическое изображение представляет собой, например, изображение расстояния, в котором расстояние (глубина) указывается в качестве пиксельного значения. Изображение расстояния может представлять собой изображение множества облаков точек при просмотре из одной точки обзора (изображение множества облаков точек, проецируемых на одну двумерную плоскость), множество изображений множества облаков точек при просмотре из множества точек обзора либо одно изображение, интегрирующее множество изображений.
[0106] Формирователь 4653 изображений атрибутов формирует изображение атрибута на основе информации атрибутов и картографической информации, сформированной посредством формирователя 4651 дополнительной информации. Изображение атрибута представляет собой, например, изображение, в котором информация атрибутов (например, цвет (RGB)) указывается в качестве пиксельного значения. Изображение может представлять собой изображение множества облаков точек при просмотре из одной точки обзора (изображение множества облаков точек, проецируемых на одну двумерную плоскость), множество изображений множества облаков точек при просмотре из множества точек обзора либо одно изображение, интегрирующее множество изображений.
[0107] Видеокодер 4654 формирует кодированное геометрическое изображение (сжатое геометрическое изображение) и кодированное изображение атрибута (сжатое изображение атрибута), которые представляют собой кодированные данные, посредством кодирования геометрического изображения и изображения атрибута в схеме кодирования видео. Следует отметить, что, в качестве схемы кодирования видео, может использоваться любой известный способ кодирования. Например, схема кодирования видео представляет собой AVC или HEVC.
[0108] Кодер 4655 дополнительной информации формирует кодированную дополнительную информацию (сжатые метаданные) посредством кодирования дополнительной информации, картографической информации и т.п., включенной в данные облаков точек.
[0109] Мультиплексор 4656 формирует кодированный поток (сжатый поток), который представляет собой кодированные данные, посредством мультиплексирования кодированного геометрического изображения, кодированного изображения атрибута, кодированной дополнительной информации и другой дополнительной информации. Сформированный кодированный поток выводится в процессор в системном слое (не показан).
[0110] Далее описывается второй декодер 4660, который представляет собой пример декодера 4624, который выполняет декодирование во втором способе кодирования. Фиг. 11 является схемой, показывающей конфигурацию второго декодера 4660. Фиг. 12 является блок-схемой, показывающей второй декодер 4660. Второй декодер 4660 формирует данные облаков точек посредством декодирования кодированных данных (кодированного потока), кодированных во втором способе кодирования, во втором способе кодирования. Второй декодер 4660 включает в себя демультиплексор 4661, видеодекодер 4662, декодер 4663 дополнительной информации, формирователь 4664 геометрической информации и формирователь 4665 информации атрибутов.
[0111] Кодированный поток (сжатый поток), который представляет собой кодированные данные, вводится во второй декодер 4660 из процессора в системном слое (не показан).
[0112] Демультиплексор 4661 отделяет кодированное геометрическое изображение (сжатое геометрическое изображение), кодированное изображение атрибута (сжатое изображение атрибута), кодированную дополнительную информацию (сжатые метаданные) и другую дополнительную информацию от кодированных данных.
[0113] Видеодекодер 4662 формирует геометрическое изображение и изображение атрибута посредством декодирования кодированного геометрического изображения и кодированного изображения атрибута в схеме кодирования видео. Следует отметить, что, в качестве схемы кодирования видео, может использоваться любой известный способ кодирования. Например, схема кодирования видео представляет собой AVC или HEVC.
[0114] Декодер 4663 дополнительной информации формирует дополнительную информацию, включающую в себя картографическую информацию и т.п., посредством декодирования кодированной дополнительной информации.
[0115] Формирователь 4664 геометрической информации формирует геометрическую информацию из геометрического изображения и картографической информации. Формирователь 4665 информации атрибутов формирует информацию атрибутов из изображения атрибута и картографической информации.
[0116] Второй декодер 4660 использует дополнительную информацию, требуемую для декодирования, при декодировании и выводит дополнительную информацию, требуемую для применения, наружу.
[0117] Ниже по тексту описывается проблема со схемой PCC-кодирования. Фиг. 13 является схемой, показывающей стек протоколов, связанный с PCC-кодированными данными. Фиг. 13 показывает пример, в котором PCC-кодированные данные мультиплексируются с другими мультимедийными данными, такими как видео (например, HEVC) или аудио, и передаются или накапливаются.
[0118] Схема мультиплексирования и формат файлов имеют функцию мультиплексирования различных кодированных данных и передачи или накопления данных. Чтобы передавать или накапливать кодированные данные, кодированные данные должны преобразовываться в формат для схемы мультиплексирования. Например, для HEVC, предписывается технология для сохранения кодированных данных в структуре данных, называемой "NAL-единицей", и сохранения NAL-единицы в ISOBMFF.
[0119] В настоящее время, первый способ кодирования (Codec1) и второй способ кодирования (Codec2) исследуются в качестве способов кодирования для данных облаков точек. Тем не менее, отсутствует заданный способ для сохранения конфигурации кодированных данных и кодированных данных в системном формате. Таким образом, имеется проблема в том, что кодер не может выполнять процесс мультиплексирования (мультиплексирование), передачу или накопление данных.
[0120] Следует отметить, что ниже по тексту термин "способ кодирования" означает любой из первого способа кодирования и второго способа кодирования, если не указывается конкретный способ кодирования.
[0121] Ниже по тексту описывается способ задания NAL-единицы согласно этому варианту осуществления. Например, при использовании традиционного кодека, такого как HEVC, NAL-единица в одном формате задается для одного кодека. Тем не менее, отсутствует способ, который поддерживает формат, который заключает в себе два кодека, т.е. первый способ кодирования и второй способ кодирования, к примеру, PCC (такой кодек далее называется "PCC-кодеком").
[0122] Во-первых, в дальнейшем описываются кодер 4670, имеющий функции как первого кодера 4630, так и второго кодера 4650, описанных выше, и декодер 4680, имеющий функции как первого декодера 4640, так и второго декодера 4660, описанных выше.
[0123] Фиг. 14 является блок-схемой, показывающей кодер 4670 согласно этому варианту осуществления. Кодер 4670 включает в себя первый кодер 4630 и второй кодер 4650, описанные выше, и мультиплексор 4671. Мультиплексор 4671 мультиплексирует кодированные данные, сформированные посредством первого кодера 4630, и кодированные данные, сформированные посредством второго кодера 4650, и выводит результирующие кодированные данные.
[0124] Фиг. 15 является блок-схемой, показывающей декодер 4680 согласно этому варианту осуществления. Декодер 4680 включает в себя первый декодер 4640 и второй декодер 4660, описанные выше, и демультиплексор 4681. Демультиплексор 4681 извлекает кодированные данные, сформированные с использованием первого способа кодирования, и кодированные данные, сформированные с использованием второго способа кодирования, из входных кодированных данных. Демультиплексор 4681 выводит кодированные данные, сформированные с использованием первого способа кодирования, в первый декодер 4640, и выводит кодированные данные, сформированные с использованием второго способа кодирования, во второй декодер 4660.
[0125] В конфигурации, описанной выше, кодер 4670 может кодировать данные облаков точек посредством избирательного использования первого способа кодирования или второго способа кодирования. Декодер 4680 может декодировать кодированные данные, кодированные с использованием первого способа кодирования, кодированные данные с использованием второго способа кодирования и кодированные данные, кодированные с использованием как первого способа кодирования, так и второго способа кодирования.
[0126] Например, кодер 4670 может изменять способ кодирования (между первым способом кодирования и вторым способом кодирования) на основе данных облаков точек или на основе кадров. Альтернативно, кодер 4670 может изменять способ кодирования на основе кодируемой единицы.
[0127] Например, кодер 4670 формирует кодированные данные (кодированный поток), включающие в себя идентификационную информацию для PCC-кодека.
[0128] Демультиплексор 4681 в декодере 4680 идентифицирует данные, например, с использованием идентификационной информации для PCC-кодека. Когда данные представляют собой данные, кодированные в первом способе кодирования, демультиплексор 4681 выводит данные в первый декодер 4640. Когда данные представляют собой данные, кодированные во втором способе кодирования, демультиплексор 4681 выводит данные во второй декодер 4660.
[0129] Кодер 4670 может передавать, в качестве управляющей информации, информацию, указывающую то, используются оба способа кодирования, либо используется любой один из способов кодирования, в дополнение к идентификационной информации для PCC-кодека.
[0130] Далее описывается процесс кодирования согласно этому варианту осуществления. Фиг. 16 является блок-схемой последовательности операций способа, показывающей процесс кодирования согласно этому варианту осуществления. Использование идентификационной информации для PCC-кодека обеспечивает возможность процесса кодирования, подготовленного для множества кодеков.
[0131] Во-первых, кодер 4670 кодирует PCC-данные в обоих или в одном из кодеков, т.е. в обоих или в одном из первого способа кодирования и второго способа кодирования (S4681).
[0132] Когда используемый кодек представляет собой второй способ кодирования (если "второй способ кодирования" на S4682), кодер 4670 задает pcc_codec_type в заголовке NAL-единицы равным значению, которое указывает то, что данные, включенные в рабочие данные NAL-единицы, представляют собой данные, кодированные во втором способе кодирования (S4683). Кодер 4670 затем задает pcc_nal_unit_type в заголовке NAL-единицы равным идентификатору NAL-единицы для второго способа кодирования (S4684). Кодер 4670 затем формирует NAL-единицу, имеющую заданный заголовок NAL-единицы и включающую в себя кодированные данные в рабочих данных. Кодер 4670 затем передает сформированную NAL-единицу (S4685).
[0133] С другой стороны, когда используемый кодек представляет собой первый способ кодирования (если "первый способ кодирования" на S4682), кодер 4670 задает pcc_codec_type в заголовке NAL-единицы равным значению, которое указывает то, что данные, включенные в рабочие данные NAL-единицы, представляют собой данные, кодированные в первом способе кодирования (S4686). Кодер 4670 затем задает pcc_nal_unit_type в заголовке NAL-единицы равным идентификатору NAL-единицы для первого способа кодирования (S4687). Кодер 4670 затем формирует NAL-единицу, имеющую заданный заголовок NAL-единицы и включающую в себя кодированные данные в рабочих данных. Кодер 4670 затем передает сформированную NAL-единицу (S4685).
[0134] Далее описывается процесс декодирования согласно этому варианту осуществления. Фиг. 17 является блок-схемой последовательности операций способа, показывающей процесс декодирования согласно этому варианту осуществления. Использование идентификационной информации для PCC-кодека обеспечивает возможность процесса декодирования, подготовленного для множества кодеков.
[0135] Во-первых, декодер 4680 принимает NAL-единицу (S4691). Например, NAL-единица представляет собой NAL-единицу, сформированную в процессе посредством кодера 4670, описанного выше.
[0136] Декодер 4680 затем определяет то, указывает pcc_codec_type в заголовке NAL-единицы первый способ кодирования или второй способ кодирования (S4692).
[0137] Когда pcc_codec_type указывает второй способ кодирования (если "второй способ кодирования" на S4692), декодер 4680 определяет то, что данные, включенные в рабочие данные NAL-единицы, представляют собой данные, кодированные во втором способе кодирования (S4693). Декодер 4680 затем идентифицирует данные на основе определения того, что pcc_nal_unit_type в заголовке NAL-единицы представляет собой идентификатор NAL-единицы для второго способа кодирования (S4694). Декодер 4680 затем декодирует PCC-данные в процессе декодирования для второго способа кодирования (S4695).
[0138] С другой стороны, когда pcc_codec_type указывает первый способ кодирования (если "первый способ кодирования" на S4692), декодер 4680 определяет то, что данные, включенные в рабочие данные NAL-единицы, представляют собой данные, кодированные в первом способе кодирования (S4696). Декодер 4680 затем идентифицирует данные на основе определения того, что pcc_nal_unit_type в заголовке NAL-единицы представляет собой идентификатор NAL-единицы для первого способа кодирования (S4697). Декодер 4680 затем декодирует PCC-данные в процессе декодирования для первого способа кодирования (S4698).
[0139] Как описано выше, устройство кодирования трехмерных данных согласно аспекту настоящего раскрытия формирует кодированный поток посредством кодирования трехмерных данных (например, данных облаков точек) и сохраняет информацию, указывающую способ кодирования, используемый для кодирования, среди первого способа кодирования и второго способа кодирования (например, идентификационную информацию для кодека) в управляющей информации (например, в наборе параметров) для кодированного потока.
[0140] При такой конфигурации, устройство декодирования трехмерных данных может определять способ кодирования, используемый для кодирования, из информации, сохраненной в управляющей информации, при декодировании кодированного потока, сформированного посредством устройства кодирования трехмерных данных. Следовательно, устройство декодирования трехмерных данных может корректно декодировать кодированный поток, даже когда множество способов кодирования используются.
[0141] Трехмерные данные включают в себя, например, геометрическую информацию. При кодировании, описанном выше, устройство кодирования трехмерных данных кодирует геометрическую информацию. При хранении, описанном выше, устройство кодирования трехмерных данных сохраняет информацию, указывающую способ кодирования, используемый для кодирования геометрической информации, среди первого способа кодирования и второго способа кодирования в управляющей информации для геометрической информации.
[0142] Трехмерные данные включают в себя, например, геометрическую информацию и информацию атрибутов. При кодировании, описанном выше, устройство кодирования трехмерных данных кодирует геометрическую информацию и информацию атрибутов. При хранении, описанном выше, устройство кодирования трехмерных данных сохраняет информацию, указывающую способ кодирования, используемый для кодирования геометрической информации, среди первого способа кодирования и второго способа кодирования в управляющей информации для геометрической информации, и сохраняет информацию, указывающую способ кодирования, используемый для кодирования информации атрибутов, среди первого способа кодирования и второго способа кодирования в управляющей информации для информации атрибутов.
[0143] При такой конфигурации, различные способы кодирования могут использоваться для геометрической информации и информации атрибутов, и в силу этого эффективность кодирования может повышаться.
[0144] Например, способ кодирования трехмерных данных дополнительно включает в себя сохранение кодированного потока в одной или более единиц (например, NAL-единиц).
[0145] Например, единица включает в себя информацию (например, pcc_nal_unit_type), указывающую тип данных, включенных в единицу, которая имеет формат, который является общим для первого способа кодирования и второго способа кодирования и независимо задается для первого способа кодирования и второго способа кодирования.
[0146] Например, единица включает в себя информацию (например, codec1_nal_unit_type или codec2_nal_unit_type), указывающую тип данных, включенных в единицу, которая имеет различные форматы для первого способа кодирования и второго способа кодирования и независимо задается для первого способа кодирования и второго способа кодирования.
[0147] Например, единица включает в себя информацию (например, pcc_nal_unit_type), указывающую тип данных, включенных в единицу, которая имеет формат, который является общим для первого способа кодирования и второго способа кодирования и совместно задается для первого способа кодирования и второго способа кодирования.
[0148] Например, устройство кодирования трехмерных данных включает в себя процессор и запоминающее устройство, и процессор выполняет процессы, описанные выше, с использованием запоминающего устройства.
[0149] Устройство декодирования трехмерных данных согласно этому варианту осуществления определяет способ кодирования, используемый для кодирования кодированного потока, полученного посредством кодирования трехмерных данных на основе информации, указывающей способ кодирования, используемый для кодирования трехмерных данных, среди первого способа кодирования и второго способа кодирования (например, идентификационной информации для кодека), включенных в управляющую информацию (например, в набор параметров) для кодированного потока, и декодирует кодированный поток с использованием определенного способа кодирования.
[0150] При такой конфигурации, устройство декодирования трехмерных данных может определять способ кодирования, используемый для кодирования, из информации, сохраненной в управляющей информации, при декодировании кодированного потока. Следовательно, устройство декодирования трехмерных данных может корректно декодировать кодированный поток, даже когда множество способов кодирования используются.
[0151] Например, трехмерные данные включают в себя геометрическую информацию, и кодированный поток включает в себя кодированные данные геометрической информации. При определении, описанном выше, устройство декодирования трехмерных данных определяет способ кодирования, используемый для кодирования геометрической информации, на основе информации, указывающей способ кодирования, используемый для кодирования геометрической информации, среди первого способа кодирования и второго способа кодирования, включенных в управляющую информацию для геометрической информации, включенной в кодированный поток. При декодировании, описанном выше, устройство декодирования трехмерных данных декодирует кодированные данные геометрической информации с использованием определенного способа кодирования, используемого для кодирования геометрической информации.
[0152] Например, трехмерные данные включают в себя геометрическую информацию и информацию атрибутов, и кодированный поток включает в себя кодированные данные геометрической информации и кодированные данные информации атрибутов. При определении, описанном выше, устройство декодирования трехмерных данных определяет способ кодирования, используемый для кодирования геометрической информации, на основе информации, указывающей способ кодирования, используемый для кодирования геометрической информации, среди первого способа кодирования и второго способа кодирования, включенных в управляющую информацию для геометрической информации, включенной в кодированный поток, и определяет способ кодирования, используемый для кодирования информации атрибутов, на основе информации, указывающей способ кодирования, используемый для кодирования информации атрибутов, среди первого способа кодирования и второго способа кодирования, включенных в управляющую информацию для информации атрибутов, включенной в кодированный поток. При декодировании, описанном выше, устройство декодирования трехмерных данных декодирует кодированные данные геометрической информации с использованием определенного способа кодирования, используемого для кодирования геометрической информации, и декодирует кодированные данные информации атрибутов с использованием определенного способа кодирования, используемого для кодирования информации атрибутов.
[0153] При такой конфигурации, различные способы кодирования могут использоваться для геометрической информации и информации атрибутов, и в силу этого эффективность кодирования может повышаться.
[0154] Например, кодированный поток сохраняется в одной или более единиц (например, NAL-единиц), и устройство декодирования трехмерных данных дополнительно получает кодированный поток из одной или более единиц.
[0155] Например, единица включает в себя информацию (например, pcc_nal_unit_type), указывающую тип данных, включенных в единицу, которая имеет формат, который является общим для первого способа кодирования и второго способа кодирования и независимо задается для первого способа кодирования и второго способа кодирования.
[0156] Например, единица включает в себя информацию (например, codec1_nal_unit_type или codec2_nal_unit_type), указывающую тип данных, включенных в единицу, которая имеет различные форматы для первого способа кодирования и второго способа кодирования и независимо задается для первого способа кодирования и второго способа кодирования.
[0157] Например, единица включает в себя информацию (например, pcc_nal_unit_type), указывающую тип данных, включенных в единицу, которая имеет формат, который является общим для первого способа кодирования и второго способа кодирования и совместно задается для первого способа кодирования и второго способа кодирования.
[0158] Например, устройство декодирования трехмерных данных включает в себя процессор и запоминающее устройство, и процессор выполняет процессы, описанные выше, с использованием запоминающего устройства.
[0159] Вариант 2 осуществления
В варианте 2 осуществления, в дальнейшем описывается способ сохранения NAL-единицы в ISOBMFF-файле.
[0160] ISOBMFF представляет собой стандарт форматов файлов, предписанный в ISO/IEC14496-12. ISOBMFF представляет собой стандарт, который не зависит от мультимедиа, и предписывает формат, который обеспечивает возможность мультиплексирования и сохранения различного мультимедиа, такого как видео, аудио и текст.
[0161] В дальнейшем описывается базовая структура (файл) ISOBMFF. Базовая единица ISOBMFF представляет собой поле. Поле формируется посредством типа, длины и данных, и файл представляет собой набор различных типов полей.
[0162] Фиг. 18 является схемой, показывающей базовую структуру (файл) ISOBMFF. Файл в ISOBMFF включает в себя такие поля, как ftyp, которое указывает бренд файла посредством четырехсимвольного кода (4CC), moov, которое сохраняет метаданные, такие как управляющая информация (служебная информация), и mdat, которое сохраняет данные.
[0163] Способ для сохранения каждого мультимедиа в ISOBMFF-файле отдельно предписывается. Например, способ сохранения AVC-видео или HEVC-видео предписывается в ISO/IEC14496-15. Здесь, предполагается расширение функциональности ISOBMFF и использование ISOBMFF для того, чтобы накапливать или передавать PCC-кодированные данные. Тем не менее, не предусмотрено соглашения для сохранения PCC-кодированных данных в ISOBMFF-файле. В этом варианте осуществления, в дальнейшем описывается способ сохранения PCC-кодированных данных в ISOBMFF-файле.
[0164] Фиг. 19 является схемой, показывающей стек протоколов в случае, если общая NAL-единица для PCC-кодеков находится в ISOBMFF-файле. Здесь, общая NAL-единица для PCC-кодеков сохраняется в ISOBMFF-файле. Хотя NAL-единица является общей для PCC-кодеков, способ хранения для каждого кодека (носитель кодека 1, носитель кодека 2) предпочтительно предписывается, поскольку множество PCC-кодеков сохраняются в NAL-единице.
[0165] Далее описывается способ сохранения общей PCC NAL-единицы, которая поддерживает множество PCC-кодеков, в ISOBMFF-файле. Фиг. 20 является схемой, показывающей пример, в котором общая PCC NAL-единица сохраняется в ISOBMFF-файле для способа хранения для кодека 1 (в носителе Codec1). Фиг. 21 является схемой, показывающей пример, в котором общая PCC NAL-единица сохраняется в ISOBMFF-файле для способа хранения для кодека 2 (в носителе Codec2).
[0166] Здесь, ftyp представляет собой информацию, которая является важной для идентификации формата файлов, и различный идентификатор ftyp задается для каждого кодека. Когда PCC-кодированные данные, кодированные в первом способе кодирования (схеме кодирования), сохраняются в файле, ftyp задается равным pcc1. Когда PCC-кодированные данные, кодированные во втором способе кодирования, сохраняются в файле, ftyp задается равным pcc2.
[0167] Здесь, pcc1 указывает то, что используется PCC-кодек 1 (первый способ кодирования); pcc2 указывает то, что используется PCC-кодек 2 (второй способ кодирования). Таким образом, pcc1 и pcc2 указывают то, что данные представляют собой PCC (кодированные трехмерные данные (данные облаков точек)), и указывают PCC-кодек (первый способ кодирования или второй способ кодирования).
[0168] Ниже по тексту описывается способ сохранения NAL-единицы в ISOBMFF-файле. Мультиплексор анализирует заголовок NAL-единицы и описывает pcc1 в ftyp ISOBMFF, если pcc_codec_type=Codec1.
[0169] Мультиплексор анализирует заголовок NAL-единицы и описывает pcc2 в ftyp ISOBMFF, если pcc_codec_type=Codec2.
[0170] Если pcc_nal_unit_type представляет собой метаданные, мультиплексор сохраняет, например, NAL-единицу в moov или mdat предварительно определенным способом. Если pcc_nal_unit_type представляет собой данные, мультиплексор сохраняет, например, NAL-единицу в moov или mdat предварительно определенным способом.
[0171] Например, мультиплексор может сохранять размер NAL-единицы в NAL-единице, аналогично HEVC.
[0172] Согласно этому способу хранения, демультиплексор (системный слой) может определять то, кодируются PCC-кодированные данные в первом способе кодирования или во втором способе кодирования, посредством анализа ftyp, включенного в файл. Кроме того, как описано выше, посредством определения того, кодируются PCC-кодированные данные в первом способе кодирования или во втором способе кодирования, кодированные данные, кодированные в любом из способов кодирования, могут извлекаться из данных, включающих в себя оба из кодированных данных, кодированных в способах кодирования. Следовательно, при передаче кодированных данных, передаваемый объем данных может уменьшаться. Помимо этого, согласно этому способу хранения, различные форматы данных (файлов) не должны обязательно задаваться для первого способа кодирования и второго способа кодирования, и общий формат данных может использоваться для первого способа кодирования и второго способа кодирования.
[0173] Следует отметить, что когда идентификационная информация для кодека, такая как ftyp ISOBMFF, указывается в метаданных системного слоя, мультиплексор может сохранять NAL-единицу без pcc_nal_unit_type в ISOBMFF-файле.
[0174] Далее описываются конфигурации и операции мультиплексора системы кодирования трехмерных данных (устройства кодирования трехмерных данных) согласно этому варианту осуществления и демультиплексора системы декодирования трехмерных данных (устройства декодирования трехмерных данных) согласно этому варианту осуществления.
[0175] Фиг. 22 является схемой, показывающей конфигурацию первого мультиплексора 4710. Первый мультиплексор 4710 включает в себя преобразователь 4711 файлов, который формирует мультиплексированные данные (файл) посредством сохранения кодированных данных, сформированных посредством первого кодера 4630, и управляющей информации (NAL-единицы) в ISOBMFF-файле. Первый мультиплексор 4710 включается, например, в мультиплексор 4614, показанный на фиг. 1.
[0176] Фиг. 23 является схемой, показывающей конфигурацию первого демультиплексора 4720. Первый демультиплексор 4720 включает в себя обратный преобразователь 4721 файлов, который получает кодированные данные и управляющую информацию (NAL-единицу) из мультиплексированных данных (файла) и выводит полученные кодированные данные и управляющую информацию в первый декодер 4640. Первый демультиплексор 4720 включается, например, в демультиплексор 4623, показанный на фиг. 1.
[0177] Фиг. 24 является схемой, показывающей конфигурацию второго мультиплексора 4730. Второй мультиплексор 4730 включает в себя преобразователь 4731 файлов, который формирует мультиплексированные данные (файл) посредством сохранения кодированных данных, сформированных посредством второго кодера 4650, и управляющей информации (NAL-единицы) в ISOBMFF-файле. Второй мультиплексор 4730 включается, например, в мультиплексор 4614, показанный на фиг. 1.
[0178] Фиг. 25 является схемой, показывающей конфигурацию второго демультиплексора 4740. Второй демультиплексор 4740 включает в себя обратный преобразователь 4741 файлов, который получает кодированные данные и управляющую информацию (NAL-единицу) из мультиплексированных данных (файла) и выводит полученные кодированные данные и управляющую информацию во второй декодер 4660. Второй демультиплексор 4740 включается, например, в демультиплексор 4623, показанный на фиг. 1.
[0179] Фиг. 26 является блок-схемой последовательности операций способа, показывающей процесс мультиплексирования посредством первого мультиплексора 4710. Во-первых, первый мультиплексор 4710 анализирует pcc_codec_type в заголовке NAL-единицы, за счет этого определяя то, представляет используемый кодек собой первый способ кодирования или второй способ кодирования (S4701).
[0180] Когда pcc_codec_type представляет второй способ кодирования (если "второй способ кодирования" на S4702), первый мультиплексор 4710 не обрабатывает NAL-единицу (S4703).
[0181] С другой стороны, когда pcc_codec_type представляет первый способ кодирования (если "первый способ кодирования" на S4702), первый мультиплексор 4710 описывает pcc1 в ftyp (S4704). Таким образом, первый мультиплексор 4710 описывает информацию, указывающую то, что данные, кодированные в первом способе кодирования, сохраняются в файле в ftyp.
[0182] Первый мультиплексор 4710 затем анализирует pcc_nal_unit_type в заголовке NAL-единицы и сохраняет данные в поле (например, в moov или mdat) предварительно определенным способом, подходящим для типа данных, представленного посредством pcc_nal_unit_type (S4705). Первый мультиплексор 4710 затем создает ISOBMFF-файл, включающий в себя ftyp, описанный выше, и поле, описанное выше (S4706).
[0183] Фиг. 27 является блок-схемой последовательности операций способа, показывающей процесс мультиплексирования посредством второго мультиплексора 4730. Во-первых, второй мультиплексор 4730 анализирует pcc_codec_type в заголовке NAL-единицы, за счет этого определяя то, представляет используемый кодек собой первый способ кодирования или второй способ кодирования (S4711).
[0184] Когда pcc_codec_type представляет второй способ кодирования (если "второй способ кодирования" на S4712), второй мультиплексор 4730 описывает pcc2 в ftyp (S4713). Таким образом, второй мультиплексор 4730 описывает информацию, указывающую то, что данные, кодированные во втором способе кодирования, сохраняются в файле в ftyp.
[0185] Второй мультиплексор 4730 затем анализирует pcc_nal_unit_type в заголовке NAL-единицы и сохраняет данные в поле (например, в moov или mdat) предварительно определенным способом, подходящим для типа данных, представленного посредством pcc_nal_unit_type (S4714). Второй мультиплексор 4730 затем создает ISOBMFF-файл, включающий в себя ftyp, описанный выше, и поле, описанное выше (S4715).
[0186] С другой стороны, когда pcc_codec_type представляет первый способ кодирования (если "первый способ кодирования" на S4712), второй мультиплексор 4730 не обрабатывает NAL-единицу (S4716).
[0187] Следует отметить, что процесс, описанный выше, представляет собой пример, в котором PCC-данные кодируются в любом из первого способа кодирования и второго способа кодирования. Первый мультиплексор 4710 и второй мультиплексор 4730 сохраняют требуемую NAL-единицу в файле посредством идентификации типа кодеков NAL-единицы. Следует отметить, что когда идентификационная информация для PCC-кодека включается в местоположение, отличное от заголовка NAL-единицы, первый мультиплексор 4710 и второй мультиплексор 4730 могут идентифицировать тип кодеков (первый способ кодирования или второй способ кодирования) на основе идентификационной информации для PCC-кодека, включенного в местоположение, отличное от заголовка NAL-единицы, на этапе S4701 или S4711.
[0188] При сохранении данных в файле на этапе S4706 или S4714, первый мультиплексор 4710 и второй мультиплексор 4730 могут сохранять данные в файле после удаления pcc_nal_unit_type из заголовка NAL-единицы.
[0189] Фиг. 28 является блок-схемой последовательности операций способа, показывающей процесс, выполняемый посредством первого демультиплексора 4720 и первого декодера 4640. Во-первых, первый демультиплексор 4720 анализирует ftyp в ISOBMFF-файле (S4721). Когда кодек, представленный посредством ftyp, представляет собой второй способ кодирования (pcc2) (если "второй способ кодирования" на S4722), первый демультиплексор 4720 определяет то, что данные, включенные в рабочие данные NAL-единицы, представляют собой данные, кодированные во втором способе кодирования (S4723). Первый демультиплексор 4720 также передает результат определения в первый декодер 4640. Первый декодер 4640 не обрабатывает NAL-единицу (S4724).
[0190] С другой стороны, когда кодек, представленный посредством ftyp, представляет собой первый способ кодирования (pcc1) (если "первый способ кодирования" на S4722), первый демультиплексор 4720 определяет то, что данные, включенные в рабочие данные NAL-единицы, представляют собой данные, кодированные в первом способе кодирования (S4725). Первый демультиплексор 4720 также передает результат определения в первый декодер 4640.
[0191] Первый декодер 4640 идентифицирует данные на основе определения того, что pcc_nal_unit_type в заголовке NAL-единицы представляет собой идентификатор NAL-единицы для первого способа кодирования (S4726). Первый декодер 4640 затем декодирует PCC-данные с использованием процесса декодирования для первого способа кодирования (S4727).
[0192] Фиг. 29 является блок-схемой последовательности операций способа, показывающей процесс, выполняемый посредством второго демультиплексора 4740 и второго декодера 4660. Во-первых, второй демультиплексор 4740 анализирует ftyp в ISOBMFF-файле (S4731). Когда кодек, представленный посредством ftyp, представляет собой второй способ кодирования (pcc2) (если "второй способ кодирования" на S4732), второй демультиплексор 4740 определяет то, что данные, включенные в рабочие данные NAL-единицы, представляют собой данные, кодированные во втором способе кодирования (S4733). Второй демультиплексор 4740 также передает результат определения во второй декодер 4660.
[0193] Второй декодер 4660 идентифицирует данные на основе определения того, что pcc_nal_unit_type в заголовке NAL-единицы представляет собой идентификатор NAL-единицы для второго способа кодирования (S4734). Второй декодер 4660 затем декодирует PCC-данные с использованием процесса декодирования для второго способа кодирования (S4735).
[0194] С другой стороны, когда кодек, представленный посредством ftyp, представляет собой первый способ кодирования (pcc1) (если "первый способ кодирования" на S4732), второй демультиплексор 4740 определяет то, что данные, включенные в рабочие данные NAL-единицы, представляют собой данные, кодированные в первом способе кодирования (S4736). Второй демультиплексор 4740 также передает результат определения во второй декодер 4660. Второй декодер 4660 не обрабатывает NAL-единицу (S4737).
[0195] Как описано выше, например, поскольку тип кодеков NAL-единицы идентифицируется в первом демультиплексоре 4720 или втором демультиплексоре 4740, тип кодеков может идентифицироваться на ранней стадии. Кроме того, требуемая NAL-единица может вводиться в первый декодер 4640 или второй декодер 4660, и нежелательная NAL-единица может удаляться. В этом случае, процесс анализа, посредством первого декодера 4640 или второго декодера 4660, идентификационной информации для кодека может быть необязательным. Следует отметить, что процесс обращения к типу NAL-единицы снова и анализа идентификационной информации для кодека может выполняться посредством первого декодера 4640 или второго декодера 4660.
[0196] Кроме того, если pcc_nal_unit_type удаляется из заголовка NAL-единицы посредством первого мультиплексора 4710 или второго мультиплексора 4730, первый демультиплексор 4720 или второй демультиплексор 4740 может выводить NAL-единицу в первый декодер 4640 или второй декодер 4660 после добавления pcc_nal_unit_type в NAL-единицу.
[0197] Вариант 3 осуществления
В варианте 3 осуществления, в дальнейшем описываются мультиплексор и демультиплексор, которые соответствуют кодеру 4670 и декодеру 4680, подготовленным для множества кодеков, описанных выше относительно варианта 1 осуществления. Фиг. 30 является схемой, показывающей конфигурации кодера 4670 и третьего мультиплексора 4750 согласно этому варианту осуществления.
[0198] Кодер 4670 кодирует данные облаков точек в обоих или в одном из первого способа кодирования и второго способа кодирования. Кодер 4670 может изменять способ кодирования (между первым способом кодирования и вторым способом кодирования) на основе данных облаков точек или на основе кадров. Альтернативно, кодер 4670 может изменять способ кодирования на основе кодируемой единицы.
[0199] Кодер 4670 формирует кодированные данные (кодированный поток), включающие в себя идентификационную информацию для PCC-кодека.
[0200] Третий мультиплексор 4750 включает в себя преобразователь 4751 файлов. Преобразователь 4751 файлов преобразует NAL-единицу, выводимую из кодера 4670, в файл PCC-данных. Преобразователь 4751 файлов анализирует идентификационную информацию кодека, включенную в заголовок NAL-единицы, и определяет то, представляют PCC-кодированные данные собой данные, кодированные в первом способе кодирования, данные, кодированные во втором способе кодирования, или данные, кодированные в обоих способах кодирования. Преобразователь 4751 файлов описывает название бренда, которое обеспечивает возможность идентификации кодека в ftyp. Например, при указании того, что данные кодируются в обоих способах кодирования, pcc3 описывается в ftyp.
[0201] Следует отметить, что когда кодер 4670 описывает идентификационную информацию PCC-кодека в местоположении, отличном от NAL-единицы, преобразователь 4751 файлов может определять PCC-кодек (способ кодирования) на основе идентификационной информации.
[0202] Фиг. 31 является схемой, показывающей конфигурации третьего демультиплексора 4760 и декодера 4680 согласно этому варианту осуществления.
[0203] Третий демультиплексор 4760 включает в себя обратный преобразователь 4761 файлов. Обратный преобразователь 4761 файлов анализирует ftyp, включенный в файл, и определяет то, представляют PCC-кодированные данные собой данные, кодированные в первом способе кодирования, данные, кодированные во втором способе кодирования, или данные, кодированные в обоих способах кодирования.
[0204] Когда PCC-кодированные данные представляют собой данные, кодированные в любом из способов кодирования, данные вводятся в соответствующий один из первого декодера 4640 и второго декодера 4660 и не вводятся в другой декодер. Когда PCC-кодированные данные представляют собой данные, кодированные в обоих способах кодирования, данные вводятся в декодер 4680, подготовленный к обоим способам кодирования.
[0205] Декодер 4680 декодирует PCC-кодированные данные в обоих или в одном из первого способа кодирования и второго способа кодирования.
[0206] Фиг. 32 является блок-схемой последовательности операций способа, показывающей процесс, выполняемый посредством третьего мультиплексора 4750 согласно этому варианту осуществления.
[0207] Во-первых, третий мультиплексор 4750 анализирует pcc_codec_type в заголовке NAL-единицы, за счет этого определяя то, представляет используемый кодек(и) собой первый способ кодирования, второй способ кодирования либо как первый способ кодирования, так и второй способ кодирования (S4741).
[0208] Когда второй способ кодирования используется (если "Да" на S4742 и "второй способ кодирования" на S4743), третий мультиплексор 4750 описывает pcc2 в ftyp (S4744). Таким образом, третий мультиплексор 4750 описывает информацию, указывающую то, что данные, кодированные во втором способе кодирования, сохраняются в файле в ftyp.
[0209] Третий мультиплексор 4750 затем анализирует pcc_nal_unit_type в заголовке NAL-единицы и сохраняет данные в поле (например, в moov или mdat) предварительно определенным способом, подходящим для типа данных, представленного посредством pcc_nal_unit_type (S4745). Третий мультиплексор 4750 затем создает ISOBMFF-файл, включающий в себя ftyp, описанный выше, и поле, описанное выше (S4746).
[0210] Когда первый способ кодирования используется (если "Да" на S4742 и "первый способ кодирования" на S4743), третий мультиплексор 4750 описывает pcc1 в ftyp (S4747). Таким образом, третий мультиплексор 4750 описывает информацию, указывающую то, что данные, кодированные в первом способе кодирования, сохраняются в файле в ftyp.
[0211] Третий мультиплексор 4750 затем анализирует pcc_nal_unit_type в заголовке NAL-единицы и сохраняет данные в поле (например, в moov или mdat) предварительно определенным способом, подходящим для типа данных, представленного посредством pcc_nal_unit_type (S4748). Третий мультиплексор 4750 затем создает ISOBMFF-файл, включающий в себя ftyp, описанный выше, и поле, описанное выше (S4746).
[0212] Когда используются как первый способ кодирования, так и второй способ кодирования (если "Нет" на S4742), третий мультиплексор 4750 описывает pcc3 в ftyp (S4749). Таким образом, третий мультиплексор 4750 описывает информацию, указывающую то, что данные, кодированные в обоих способах кодирования, сохраняются в файле в ftyp.
[0213] Третий мультиплексор 4750 затем анализирует pcc_nal_unit_type в заголовке NAL-единицы и сохраняет данные в поле (например, в moov или mdat) предварительно определенным способом, подходящим для типа данных, представленного посредством pcc_nal_unit_type (S4750). Третий мультиплексор 4750 затем создает ISOBMFF-файл, включающий в себя ftyp, описанный выше, и поле, описанное выше (S4746).
[0214] Фиг. 33 является блок-схемой последовательности операций способа, показывающей процесс, выполняемый посредством третьего демультиплексора 4760 и декодера 4680. Во-первых, третий демультиплексор 4760 анализирует ftyp, включенный в ISOBMFF-файл (S4761). Когда кодек, представленный посредством ftyp, представляет собой второй способ кодирования (pcc2) (если "Да" на S4762 и "второй способ кодирования" на S4763), третий демультиплексор 4760 определяет то, что данные, включенные в рабочие данные NAL-единицы, представляют собой данные, кодированные во втором способе кодирования (S4764). Третий демультиплексор 4760 также передает результат определения в декодер 4680.
[0215] Декодер 4680 идентифицирует данные на основе определения того, что pcc_nal_unit_type в заголовке NAL-единицы представляет собой идентификатор NAL-единицы для второго способа кодирования (S4765). Декодер 4680 затем декодирует PCC-данные с использованием процесса декодирования для второго способа кодирования (S4766).
[0216] Когда кодек, представленный посредством ftyp, представляет собой первый способ кодирования (pcc1) (если "Да" на S4762 и "первый способ кодирования" на S4763), третий демультиплексор 4760 определяет то, что данные, включенные в рабочие данные NAL-единицы, представляют собой данные, кодированные в первом способе кодирования (S4767). Третий демультиплексор 4760 также передает результат определения в декодер 4680.
[0217] Декодер 4680 идентифицирует данные на основе определения того, что pcc_nal_unit_type в заголовке NAL-единицы представляет собой идентификатор NAL-единицы для первого способа кодирования (S4768). Декодер 4680 затем декодирует PCC-данные с использованием процесса декодирования для первого способа кодирования (S4769).
[0218] Когда ftyp указывает то, что используются оба способа кодирования (pcc3) (если "Нет" на S4762), третий демультиплексор 4760 определяет то, что данные, включенные в рабочие данные NAL-единицы, представляют собой данные, кодированные как в первом способе кодирования, так и во втором способе кодирования (S4770). Третий демультиплексор 4760 также передает результат определения в декодер 4680.
[0219] Декодер 4680 идентифицирует данные на основе определения того, что pcc_nal_unit_type в заголовке NAL-единицы представляет собой идентификатор NAL-единицы для кодеков, описанных в pcc_codec_type (S4771). Декодер 4680 затем декодирует PCC-данные с использованием процессов декодирования для обоих способов кодирования (S4772). Таким образом, декодер 4680 декодирует данные, кодированные в первом способе кодирования, с использованием процесса декодирования для первого способа кодирования, и декодирует данные, кодированные во втором способе кодирования, с использованием процесса декодирования для второго способа кодирования.
[0220] Ниже по тексту описываются варьирования этого варианта осуществления. В качестве типов брендов, представленных посредством ftyp, типы, описанные ниже, могут указываться посредством идентификационной информации. Кроме того, объединение множества типов, описанных ниже, также может указываться посредством идентификационной информации.
[0221] Идентификационная информация может указывать то, представляет исходный объект данных, подлежащий PCC-кодированию, собой облако точек, диапазон которого ограничен, либо большое облако точек, диапазон которого не ограничен, такое как картографическая информация.
[0222] Идентификационная информация может указывать то, представляют исходные данные, подлежащие PCC-кодированию, собой статический объект или динамический объект.
[0223] Как описано выше, идентификационная информация может указывать то, представляют PCC-кодированные данные собой данные, кодированные в первом способе кодирования, или данные, кодированные во втором способе кодирования.
[0224] Идентификационная информация может указывать алгоритм, используемый при PCC-кодировании. Здесь, "алгоритм" означает, например, способ кодирования, который может использоваться в первом способе кодирования или во втором способе кодирования.
[0225] Идентификационная информация может указывать дифференцирование между способами сохранения PCC-кодированных данных в ISOBMFF-файл. Например, идентификационная информация может указывать то, представляет используемый способ хранения собой способ хранения для накопления или способ хранения для передачи в реальном времени, такой как динамическая потоковая передача.
[0226] Хотя в вариантах 2 и 3 осуществления описывается пример, в котором ISOBMFF используется в качестве формата файлов, также могут использоваться другие форматы. Например, способ согласно этому варианту осуществления также может использоваться, когда PCC-кодированные данные сохраняются в MPEG-2 TS-системах, MPEG DASH, MMT или RMP.
[0227] Хотя выше показан пример, в котором метаданные, такие как идентификационная информация, сохраняются в ftyp, метаданные также могут сохраняться в местоположении, отличном от ftyp. Например, метаданные могут сохраняться в moov.
[0228] Как описано выше, устройство хранения трехмерных данных (либо устройство мультиплексирования трехмерных данных, либо устройство кодирования трехмерных данных) выполняет процесс, показанный на фиг. 34.
[0229] Во-первых, устройство хранения трехмерных данных (которое включает в себя, например, первый мультиплексор 4710, второй мультиплексор 4730 или третий мультиплексор 4750) получает одну или более единиц (например, NAL-единиц), которые сохраняют кодированный поток, который представляет собой кодированные данные облаков точек (S4781). Устройство хранения трехмерных данных затем сохраняет одну или более единиц в файле (например, в ISOBMFF-файле) (S4782). При хранении (S4782), устройство хранения трехмерных данных также сохраняет информацию, указывающую то, что данные, сохраненные в файле, представляют собой кодированные данные облаков точек (например, pcc1, pcc2 или pcc3) в управляющей информации (например, ftyp) (также называемой "служебной информацией") для файла.
[0230] При такой конфигурации, устройство, которое обрабатывает файл, сформированный посредством устройства хранения трехмерных данных, может быстро определять то, представляют данные, сохраненные в файле, собой кодированные данные облаков точек или нет, посредством обращения к управляющей информации для файла. Следовательно, объем обработки устройства может уменьшаться, либо скорость обработки устройства может увеличиваться.
[0231] Например, информация указывает способ кодирования, используемый для кодирования данных облаков точек, среди первого способа кодирования и второго способа кодирования. Следует отметить тот факт, что данные, сохраненные в файле, представляют собой кодированные данные облаков точек, и способ кодирования, используемый для кодирования данных облаков точек, среди первого способа кодирования и второго способа кодирования, может указываться посредством одного фрагмента информации или различных фрагментов информации.
[0232] При такой конфигурации, устройство, которое обрабатывает файл, сформированный посредством устройства хранения трехмерных данных, может быстро определять кодек, используемый для данных, сохраненных в файле, посредством обращения к управляющей информации для файла. Следовательно, объем обработки устройства может уменьшаться, либо скорость обработки устройства может увеличиваться.
[0233] Например, первый способ кодирования представляет собой способ (GPCC), который кодирует геометрическую информацию, которая представляет позицию данных облаков точек в качестве N-арного дерева (N представляет целое число, равное или большее 2), и кодирует информацию атрибутов с использованием геометрической информации, и второй способ кодирования представляет собой способ (VPCC), который формирует двумерное изображение из данных облаков точек и кодирует двумерное изображение в способе кодирования видео.
[0234] Например, файл, описанный выше, соответствует ISOBMFF (формату мультимедийных файлов на основе ISO).
[0235] Например, устройство хранения трехмерных данных включает в себя процессор и запоминающее устройство, и процессор выполняет процессы, описанные выше, с использованием запоминающего устройства.
[0236] Как описано выше, устройство получения трехмерных данных (либо устройство демультиплексирования трехмерных данных, либо устройство декодирования трехмерных данных) выполняет процесс, показанный на фиг. 35.
[0237] Устройство получения трехмерных данных (которое включает в себя, например, первый демультиплексор 4720, второй демультиплексор 4740 или третий демультиплексор 4760) получает файл (например, ISOBMFF-файл), который сохраняет одну или более единиц (например, NAL-единиц), которые сохраняют кодированный поток, который представляет собой кодированные данные облаков точек (S4791). Устройство получения трехмерных данных получает одну или более единиц из файла (S4792). Управляющая информация (например, ftyp) для файла включает в себя информацию, указывающую то, что данные, сохраненные в файле, представляют собой кодированные данные облаков точек (например, pcc1, pcc2 или pcc3).
[0238] Например, устройство получения трехмерных данных определяет то, представляют данные, сохраненные в файле, собой кодированные данные облаков точек или нет, посредством обращения к информации. Когда устройство получения трехмерных данных определяет то, что данные, сохраненные в файле, представляют собой кодированные данные облаков точек, устройство получения трехмерных данных формирует данные облаков точек посредством декодирования кодированных данных облаков точек, включенных в одну или более единиц. Альтернативно, когда устройство получения трехмерных данных определяет то, что данные, сохраненные в файле, представляют собой кодированные данные облаков точек, устройство получения трехмерных данных выводит информацию, указывающую то, что данные, включенные в одну или более единиц, представляют собой кодированные данные облаков точек, в процессор на последующей стадии (например, в первый декодер 4640, во второй декодер 4660 или в декодер 4680) (либо уведомляет процессор на последующей стадии в отношении того, что данные, включенные в одну или более единиц, представляют собой кодированные данные облаков точек).
[0239] При такой конфигурации, устройство получения трехмерных данных может быстро определять то, представляют данные, сохраненные в файле, собой кодированные данные облаков точек или нет, посредством обращения к управляющей информации для файла. Следовательно, объем обработки устройства получения трехмерных данных или устройства на последующей стадии может уменьшаться, либо скорость обработки устройства получения трехмерных данных или устройства на последующей стадии может увеличиваться.
[0240] Например, информация представляет способ кодирования, используемый для кодирования, среди первого способа кодирования и второго способа кодирования. Следует отметить тот факт, что данные, сохраненные в файле, представляют собой кодированные данные облаков точек, и способ кодирования, используемый для кодирования данных облаков точек, среди первого способа кодирования и второго способа кодирования, может указываться посредством одного фрагмента информации или различных фрагментов информации.
[0241] При такой конфигурации, устройство получения трехмерных данных может быстро определять кодек, используемый для данных, сохраненных в файле, посредством обращения к управляющей информации для файла. Следовательно, объем обработки устройства получения трехмерных данных или устройства на последующей стадии может уменьшаться, либо скорость обработки устройства получения трехмерных данных или устройства на последующей стадии может увеличиваться.
[0242] Например, на основе информации, устройство получения трехмерных данных получает данные, кодированные в любом из первого способа кодирования и второго способа кодирования, из кодированных данных облаков точек, включающих в себя данные, кодированные в первом способе кодирования, и данные, кодированные во втором способе кодирования.
[0243] Например, первый способ кодирования представляет собой способ (GPCC), который кодирует геометрическую информацию, которая представляет позицию данных облаков точек в качестве N-арного дерева (N представляет целое число, равное или большее 2), и кодирует информацию атрибутов с использованием геометрической информации, и второй способ кодирования представляет собой способ (VPCC), который формирует двумерное изображение из данных облаков точек и кодирует двумерное изображение в способе кодирования видео.
[0244] Например, файл, описанный выше, соответствует ISOBMFF (формату мультимедийных файлов на основе ISO).
[0245] Например, устройство получения трехмерных данных включает в себя процессор и запоминающее устройство, и процессор выполняет процессы, описанные выше, с использованием запоминающего устройства.
[0246] Вариант 4 осуществления
В варианте 4 осуществления, в дальнейшем описываются типы кодированных данных (геометрическая информация (геометрия), информация атрибутов (атрибут) и дополнительная информация (метаданные)), сформированных посредством первого кодера 4630 или второго кодера 4650, описанных выше, способ формирования дополнительной информации (метаданных) и процесс мультиплексирования в мультиплексоре. Дополнительная информация (метаданные) может называться "набором параметров" или "управляющей информацией (служебной информацией)".
[0247] В этом варианте осуществления, в дальнейшем описывается, например, динамический объект (данные облаков трехмерных точек, которые варьируются во времени), описанный выше со ссылкой на фиг. 4. Тем не менее, идентичный способ также может использоваться для статического объекта (данных облаков трехмерных точек, ассоциированных с произвольным моментом времени).
[0248] Фиг. 36 является схемой, показывающей конфигурации кодера 4801 и мультиплексора 4802 в устройстве кодирования трехмерных данных согласно этому варианту осуществления. Кодер 4801 соответствует, например, первому кодеру 4630 или второму кодеру 4650, описанным выше. Мультиплексор 4802 соответствует мультиплексору 4634 или 4656, описанным выше.
[0249] Кодер 4801 кодирует множество кадров PCC (сжатия облаков точек) данных облаков точек, чтобы формировать множество фрагментов кодированных данных (несколько сжатых данных) геометрической информации, информации атрибутов и дополнительной информации.
[0250] Мультиплексор 4802 интегрирует множество типов данных (геометрическую информацию, информацию атрибутов и дополнительную информацию) в NAL-единицу, за счет этого преобразуя данные в конфигурацию данных, которая учитывает доступ к данным в устройстве декодирования.
[0251] Фиг. 37 является схемой, показывающей пример конфигурации кодированных данных, сформированных посредством кодера 4801. Стрелки на чертеже указывают на зависимость, предусмотренную при декодировании кодированных данных. Источник стрелки зависит от данных назначения стрелки. Таким образом, устройство декодирования декодирует данные назначения стрелки и декодирует данные источника стрелки с использованием декодированных данных. Другими словами, "первый объект зависит от второго объекта" означает то, что к данным второго объекта обращаются (они используются) при обработке (кодировании, декодировании и т.п.) данных первого объекта.
[0252] Во-первых, в дальнейшем описывается процесс формирования кодированных данных геометрической информации. Кодер 4801 кодирует геометрическую информацию каждого кадра для того, чтобы формировать кодированные геометрические данные (сжатые геометрические данные) для каждого кадра. Кодированные геометрические данные обозначаются посредством G(i); i обозначает, например, номер кадра или момент времени кадра.
[0253] Кроме того, кодер 4801 формирует набор (GPS(i)) геометрических параметров для каждого кадра. Набор геометрических параметров включает в себя параметр, который может использоваться для декодирования кодированных геометрических данных. Кодированные геометрические данные для каждого кадра зависят от ассоциированного набора геометрических параметров.
[0254] Кодированные геометрические данные, сформированные посредством множества кадров, задаются как геометрическая последовательность. Кодер 4801 формирует набор параметров геометрической последовательности (также называемый "PS геометрической последовательности" или "геометрический SPS"), который сохраняет параметр, широко используемый для процесса декодирования для множества кадров в геометрической последовательности. Геометрическая последовательность зависит от геометрического SPS.
[0255] Далее описывается процесс формирования кодированных данных информации атрибутов. Кодер 4801 кодирует информацию атрибутов каждого кадра для того, чтобы формировать кодированные данные атрибутов (сжатые данные атрибутов) для каждого кадра. Кодированные данные атрибутов обозначаются посредством A(i). Фиг. 37 показывает пример, в котором предусмотрены атрибут X и атрибут Y, и кодированные данные атрибутов для атрибута X обозначаются посредством AX(i), и кодированные данные атрибутов для атрибута Y обозначаются посредством AY(i).
[0256] Кроме того, кодер 4801 формирует набор (APS(i)) параметров атрибутов для каждого кадра. Набор параметров атрибутов для атрибута X обозначается посредством AXPS(i), и набор параметров атрибутов для атрибута Y обозначается посредством AYPS(i). Набор параметров атрибутов включает в себя параметр, который может использоваться для декодирования кодированной информации атрибутов. Кодированные данные атрибутов зависят от ассоциированного набора параметров атрибутов.
[0257] Кодированные данные атрибутов, сформированные посредством множества кадров, задаются как последовательность атрибутов. Кодер 4801 формирует набор параметров последовательности атрибутов (также называемый "PS последовательности атрибутов" или "SPS атрибутов"), который сохраняет параметр, широко используемый для процесса декодирования для множества кадров в последовательности атрибутов. Последовательность атрибутов зависит от SPS атрибутов.
[0258] В первом способе кодирования кодированные данные атрибутов зависят от кодированных геометрических данных.
[0259] Фиг. 37 показывает пример, в котором предусмотрено два типа информации атрибутов (атрибут X и атрибут Y). Когда предусмотрено два типа информации атрибутов, например, два кодера формируют данные и метаданные для двух типов информации атрибутов. Например, последовательность атрибутов задается для каждого типа информации атрибутов, и SPS атрибутов формируется для каждого типа информации атрибутов.
[0260] Следует отметить, что хотя фиг. 37 показывает пример, в котором предусмотрен один тип геометрической информации, и предусмотрено два типа информации атрибутов, настоящее изобретение не ограничено этим. Может быть предусмотрен один тип информации атрибутов либо три или более типов информации атрибутов. В таких случаях, кодированные данные могут формироваться идентичным способом. Если данные облаков точек не имеют информации атрибутов, может не быть предусмотрено информации атрибутов. В таком случае кодер 4801 не должен формировать набор параметров, ассоциированный с информацией атрибутов.
[0261] Далее описывается процесс формирования кодированных данных дополнительной информации (метаданных). Кодер 4801 формирует PS PCC-потока (также называемый "PS PCC-потока" или "PS потока"), который представляет собой набор параметров для всего PCC-потока. Кодер 4801 сохраняет параметр, который может широко использоваться для процесса декодирования для одной или более геометрических последовательностей и одной или более последовательностей атрибутов в PS потока. Например, PS потока включает в себя, например, идентификационную информацию, указывающую кодек для данных облаков точек, и информацию, указывающую алгоритм, используемый для кодирования. Геометрическая последовательность и последовательность атрибутов зависят от PS потока.
[0262] Далее описываются единица доступа и GOF. В этом варианте осуществления, заново вводятся понятия единицы доступа (AU) и группы кадров (GOF).
[0263] Единица доступа представляет собой базовую единицу для осуществления доступа к данным при декодировании и формируется посредством одного или более фрагментов данных и одного или более фрагментов метаданных. Например, единица доступа формируется посредством геометрической информации и одного или более фрагментов информации атрибутов, ассоциированной с идентичным моментом времени. GOF представляет собой единицу произвольного доступа и формируется посредством одной или более единиц доступа.
[0264] Кодер 4801 формирует заголовок единицы доступа (AU-заголовок) в качестве идентификационной информации, указывающей начало единицы доступа. Кодер 4801 сохраняет параметр, связанный с единицей доступа, в заголовке единицы доступа. Например, заголовок единицы доступа включает в себя конфигурацию или информацию относительно кодированных данных, включенных в единицу доступа. Заголовок единицы доступа дополнительно включает в себя параметр, широко используемый для данных, включенных в единицу доступа, такой как параметр, связанный с декодированием кодированных данных.
[0265] Следует отметить, что кодер 4801 может формировать разделитель единиц доступа, который не включает в себя параметр, связанный с единицей доступа, вместо заголовка единицы доступа. Разделитель единиц доступа используется в качестве идентификационной информации, указывающей начало единицы доступа. Устройство декодирования идентифицирует начало единицы доступа посредством обнаружения заголовка единицы доступа или разделителя единиц доступа.
[0266] Далее описывается формирование идентификационной информации для начала GOF. В качестве идентификационной информации, указывающей начало GOF, кодер 4801 формирует GOF-заголовок. Кодер 4801 сохраняет параметр, связанный с GOF, в GOF-заголовке. Например, GOF-заголовок включает в себя конфигурацию или информацию относительно кодированных данных, включенных в GOF. GOF-заголовок дополнительно включает в себя параметр, широко используемый для данных, включенных в GOF, такой как параметр, связанный с декодированием кодированных данных.
[0267] Следует отметить, что кодер 4801 может формировать GOF-разделитель, который не включает в себя параметр, связанный с GOF, вместо GOF-заголовка. GOF-разделитель используется в качестве идентификационной информации, указывающей начало GOF. Устройство декодирования идентифицирует начало GOF посредством обнаружения GOF-заголовка или GOF-разделителя.
[0268] В PCC-кодированных данных, например, единица доступа задается как единица PCC-кадров. Устройство декодирования осуществляет доступ к PCC-кадру на основе идентификационной информации для начала единицы доступа.
[0269] Например, GOF задается как одна единица произвольного доступа. Устройство декодирования осуществляет доступ к единице произвольного доступа на основе идентификационной информации для начала GOF. Например, если PCC-кадры являются независимыми друг от друга и могут отдельно декодироваться, PCC-кадр может задаваться как единица произвольного доступа.
[0270] Следует отметить, что два или более PCC-кадров могут назначаться одной единице доступа, и множество единиц произвольного доступа могут назначаться одной GOF.
[0271] Кодер 4801 может задавать и формировать набор параметров или метаданные, отличные от набора параметров или метаданных, описанных выше. Например, кодер 4801 может формировать дополнительную улучшающую информацию (SEI), которая сохраняет параметр (необязательный параметр), который не всегда используется для декодирования.
[0272] Далее описываются конфигурация кодированных данных и способ сохранения кодированных данных в NAL-единице.
[0273] Например, формат данных задается для каждого типа кодированных данных. Фиг. 38 является схемой, показывающей пример кодированных данных и NAL-единицы.
[0274] Например, как показано на фиг. 38, кодированные данные включают в себя заголовок и рабочие данные. Кодированные данные могут включать в себя информацию длины, указывающую длину (объем данных) кодированных данных, заголовок или рабочие данные. Кодированные данные могут не включать в себя заголовок.
[0275] Заголовок включает в себя, например, идентификационную информацию для идентификации данных. Идентификационная информация указывает, например, тип данных или номер кадра.
[0276] Заголовок включает в себя, например, идентификационную информацию, указывающую опорную взаимосвязь. Идентификационная информация сохраняется в заголовке, когда имеется взаимосвязь зависимости между данными, например, и обеспечивает возможность объекту обращаться к другому объекту. Например, заголовок объекта, к которому следует обращаться, включает в себя идентификационную информацию для идентификации данных. Заголовок обращающегося объекта включает в себя идентификационную информацию, указывающую объект, к которому следует обращаться.
[0277] Следует отметить, что когда объект, к которому следует обращаться, или обращающийся объект может идентифицироваться или определяться из другой информации, идентификационная информация для идентификации данных или идентификационная информация, указывающая опорную взаимосвязь, может опускаться.
[0278] Мультиплексор 4802 сохраняет кодированные данные в рабочих данных NAL-единицы. Заголовок NAL-единицы включает в себя pcc_nal_unit_type, который представляет собой идентификационную информацию для кодированных данных. Фиг. 39 является схемой, показывающей семантический пример pcc_nal_unit_type.
[0279] Как показано на фиг. 39, когда pcc_codec_type представляет собой кодек 1 (Codec1: первый способ кодирования), значения 0-10 pcc_nal_unit_type назначаются кодированным геометрическим данным (геометрии), кодированным данным атрибута X (атрибуту X), кодированным данным атрибута Y (атрибуту Y), геометрическому PS (геометрич. PS), XPS атрибута (PS атриб. X.), YPS атрибута (PS атриб. Y.), геометрическому SPS (PS геометрической последовательности), SPS атрибута X (PS последовательности атрибута X), SPS атрибута Y (PS последовательности атрибута Y), AU-заголовку (AU-заголовку) и GOF-заголовку (GOF-заголовку) в кодеке 1. Значения в 11 и более резервируются в кодеке 1.
[0280] Когда pcc_codec_type представляет собой кодек 2 (Codec2: второй способ кодирования), значения 0-2 pcc_nal_unit_type назначаются данным A (DataA), метаданным A (MetaDataA) и метаданным B (MetaDataB) в кодеке. Значения 3 и более резервируются в кодеке 2.
[0281] Далее описывается порядок передачи данных. Ниже по тексту описываются ограничения на порядок передачи NAL-единиц.
[0282] Мультиплексор 4802 передает NAL-единицы на основе GOF или на основе AU. Мультиплексор 4802 размещает GOF-заголовок в начале GOF и размещает AU-заголовок в начале AU.
[0283] Чтобы обеспечивать возможность устройству декодирования декодировать следующую AU и последующие AU, даже когда данные теряются вследствие потерь пакетов и т.п., мультиплексор 4802 может размещать набор параметров последовательности (SPS) в каждой AU.
[0284] Когда имеется взаимосвязь зависимости для декодирования между кодированными данными, устройство декодирования декодирует данные объекта, к которому следует обращаться, и затем декодирует данные обращающегося объекта. Чтобы обеспечивать возможность устройству декодирования выполнять декодирование в порядке приема без перекомпоновки данных, мультиплексор 4802 сначала передает данные объекта, к которому следует обращаться.
[0285] Фиг. 40 является схемой, показывающей примеры порядка передачи NAL-единиц. Фиг. 40 показывает три примера, т.е. порядок "сначала геометрическая информация", порядок "сначала параметры" и порядок "с интегрированными данными".
[0286] Порядок передачи "сначала геометрическая информация" представляет собой пример, в котором информация, связанная с геометрической информацией, передается вместе, и информация, связанная с информацией атрибутов, передается вместе. В случае этого порядка передачи, передача информации, связанной с геометрической информацией, завершается раньше передачи информации, связанной с информацией атрибутов.
[0287] Например, согласно этому используемому порядку передачи, когда устройство декодирования не декодирует информацию атрибутов, устройство декодирования может иметь время бездействия, поскольку устройство декодирования может опускать декодирование информации атрибутов. Когда устройство декодирования должно декодировать геометрическую информацию заблаговременно, устройство декодирования может декодировать геометрическую информацию раньше, поскольку устройство декодирования получает кодированные данные геометрической информации раньше.
[0288] Следует отметить, что хотя на фиг. 40 SPS атрибута X и SPS атрибута Y интегрируются и показываются как SPS атрибутов, SPS атрибута X и SPS атрибута Y могут размещаться отдельно.
[0289] В порядке передачи "сначала набор параметров", сначала передается набор параметров, и затем передаются данные.
[0290] Как описано выше, в той степени, в которой ограничения на порядок передачи NAL-единиц удовлетворяются, мультиплексор 4802 может передавать NAL-единицы в любом порядке. Например, идентификационная информация порядка может задаваться, и мультиплексор 4802 может иметь функцию передачи NAL-единиц во множестве порядков. Например, идентификационная информация порядка для NAL-единиц сохраняется в PS потока.
[0291] Устройство декодирования трехмерных данных может выполнять декодирование на основе идентификационной информации порядка. Устройство декодирования трехмерных данных может указывать требуемый порядок передачи для устройства кодирования трехмерных данных, и устройство кодирования трехмерных данных (мультиплексор 4802) может управлять порядком передачи согласно указываемому порядку передачи.
[0292] Следует отметить, что мультиплексор 4802 может формировать кодированные данные, имеющие множество функций, объединенных друг с другом, как и в случае порядка передачи "с интегрированными данными", в той степени, в которой удовлетворяются ограничения на порядок передачи. Например, как показано на фиг. 40, GOF-заголовок и AU-заголовок могут интегрироваться, либо AXPS и AYPS могут интегрироваться. В таком случае, идентификатор, который указывает данные, имеющие множество функций, задается в pcc_nal_unit_type.
[0293] Ниже по тексту описываются варьирования этого варианта осуществления. Предусмотрены уровни PS, к примеру, PS на уровне кадра, PS на уровне последовательности и PS на уровне PCC-последовательности. При условии, что уровень PCC-последовательности представляет собой верхний уровень, и уровень кадра представляет собой нижний уровень, параметры могут сохраняться способом, описанным ниже.
[0294] Значение PS по умолчанию указывается в PS на верхнем уровне. Если значение PS на нижнем уровне отличается от значения PS на верхнем уровне, значение PS указывается в PS на нижнем уровне. Альтернативно, значение PS не описывается в PS на верхнем уровне, а описывается в PS на нижнем уровне. Альтернативно, информация, указывающая то, указывается значение PS в PS на нижнем уровне, на верхнем уровне либо на обоих уровнях, указывается в обоих или в одном из PS на нижнем уровне и PS на верхнем уровне. Альтернативно, PS на нижнем уровне может объединяться с PS на верхнем уровне. Если PS на нижнем уровне и PS на верхнем уровне перекрываются между собой, мультиплексор 4802 может опускать передачу одного из PS.
[0295] Следует отметить, что кодер 4801 или мультиплексор 4802 может разделять данные на срезы или плитки и передавать каждый из разделенных срезов или плиток в качестве разделенных данных. Разделенные данные включают в себя информацию для идентификации разделенных данных, и параметр, используемый для декодирования разделенных данных, включается в набор параметров. В этом случае, идентификатор, который указывает то, что данные представляют собой данные, связанные с плиткой или срезом, либо данные, сохраняющие параметр, задается в pcc_nal_unit_type.
[0296] Ниже по тексту описывается процесс, связанный с идентификационной информацией порядка. Фиг. 41 является блок-схемой последовательности операций способа, показывающей процесс, выполняемый посредством устройства кодирования трехмерных данных (кодера 4801 и мультиплексора 4802), который заключает в себе порядок передачи NAL-единиц.
[0297] Во-первых, устройство кодирования трехмерных данных определяет порядок передачи NAL-единиц ("сначала геометрическая информация" или "сначала набор параметров") (S4801). Например, устройство кодирования трехмерных данных определяет порядок передачи на основе указания от пользователя или из внешнего устройства (например, из устройства декодирования трехмерных данных).
[0298] Если определенный порядок передачи представляет собой "сначала геометрическая информация" (если "сначала геометрическая информация" на S4802), устройство кодирования трехмерных данных задает идентификационную информацию порядка, включенную в PS потока, как "сначала геометрическая информация" (S4803). Таким образом, в этом случае, идентификационная информация порядка указывает то, что NAL-единицы передаются в порядке "сначала геометрическая информация". Устройство кодирования трехмерных данных затем передает NAL-единицы в порядке "сначала геометрическая информация" (S4804).
[0299] С другой стороны, если определенный порядок передачи представляет собой "сначала набор параметров" (если "сначала набор параметров" на S4802), устройство кодирования трехмерных данных задает идентификационную информацию порядка, включенную в PS потока, как "сначала набор параметров" (S4805). Таким образом, в этом случае, идентификационная информация порядка указывает то, что NAL-единицы передаются в порядке "сначала набор параметров". Устройство кодирования трехмерных данных затем передает NAL-единицы в порядке "сначала набор параметров" (S4806).
[0300] Фиг. 42 является блок-схемой последовательности операций способа, показывающей процесс, выполняемый посредством устройства декодирования трехмерных данных, который заключает в себе порядок передачи NAL-единиц. Во-первых, устройство декодирования трехмерных данных анализирует идентификационную информацию порядка, включенную в PS потока (S4811).
[0301] Если порядок передачи, указываемый посредством идентификационной информации порядка, представляет собой "сначала геометрическая информация" (если "сначала геометрическая информация" на S4812), устройство декодирования трехмерных данных декодирует NAL-единицы на основе определения того, что порядок передачи NAL-единиц представляет собой "сначала геометрическая информация" (S4813).
[0302] С другой стороны, если порядок передачи, указываемый посредством идентификационной информации порядка, представляет собой "сначала набор параметров" (если "сначала набор параметров" на S4812), устройство декодирования трехмерных данных декодирует NAL-единицы на основе определения того, что порядок передачи NAL-единиц представляет собой "сначала набор параметров" (S4814).
[0303] Например, если устройство декодирования трехмерных данных не декодирует информацию атрибутов, на этапе S4813, устройство декодирования трехмерных данных не получает полные NAL-единицы, а может получать часть NAL-единицы, связанной с геометрической информацией, и декодировать полученную NAL-единицу для того, чтобы получать геометрическую информацию.
[0304] Далее описывается процесс, связанный с формированием AU и GOF. Фиг. 43 является блок-схемой последовательности операций способа, показывающей процесс, выполняемый посредством устройства кодирования трехмерных данных (мультиплексора 4802), который связан с формированием AU и GOF при мультиплексировании NAL-единиц.
[0305] Во-первых, устройство кодирования трехмерных данных определяет тип кодированных данных (S4821). В частности, устройство кодирования трехмерных данных определяет то, представляют кодированные данные, которые должны обрабатываться, собой данные "сначала AU", данные "сначала GOF" или другие данные.
[0306] Если кодированные данные представляют собой данные "сначала GOF" (если "сначала GOF" на S4822), устройство кодирования трехмерных данных формирует NAL-единицы посредством размещения GOF-заголовка и AU-заголовка в начале кодированных данных, принадлежащих GOF (S4823).
[0307] Если кодированные данные представляют собой данные "сначала AU" (если "сначала AU" на S4822), устройство кодирования трехмерных данных формирует NAL-единицы посредством размещения AU-заголовка в начале кодированных данных, принадлежащих AU (S4824).
[0308] Если кодированные данные не представляют собой ни данные "сначала GOF", ни данные "сначала AU" (если "отличного от "сначала GOF" и "сначала AU"" на S4822), устройство кодирования трехмерных данных формирует NAL-единицы посредством размещения кодированных данных таким образом, что они соответствуют AU-заголовку для AU, которой принадлежат кодированные данные (S4825).
[0309] Далее описывается процесс, связанный с доступом к AU и GOF. Фиг. 44 является блок-схемой последовательности операций способа, показывающей процесс, выполняемый посредством устройства декодирования трехмерных данных, который заключает в себе осуществление доступа к AU и GOF при демультиплексировании NAL-единицы.
[0310] Во-первых, устройство декодирования трехмерных данных определяет тип кодированных данных, включенных в NAL-единицу, посредством анализа nal_unit_type в NAL-единице (S4831). В частности, устройство декодирования трехмерных данных определяет то, представляют кодированные данные, включенные в NAL-единицу, собой данные "сначала AU", данные "сначала GOF" или другие данные.
[0311] Если кодированные данные, включенные в NAL-единицу, представляют собой данные "сначала GOF" (если "сначала GOF" на S4832), устройство декодирования трехмерных данных определяет то, что NAL-единица представляет собой начальную позицию произвольного доступа, осуществляет доступ к NAL-единице и начинает процесс декодирования (S4833).
[0312] Если кодированные данные, включенные в NAL-единицу, представляют собой данные "сначала AU" (если "сначала AU" на S4832), устройство декодирования трехмерных данных определяет то, что NAL-единица представляет собой "сначала AU", осуществляет доступ к данным, включенным в NAL-единицу, и декодирует AU (S4834).
[0313] Если кодированные данные, включенные в NAL-единицу, не представляют собой ни данные "сначала GOF", ни данные "сначала AU" (если "отличные от "сначала GOF" и "сначала AU"" на S4832), устройство декодирования трехмерных данных не обрабатывает NAL-единицу.
[0314] Как описано выше, устройство кодирования трехмерных данных выполняет процесс, показанный на фиг. 45. Устройство кодирования трехмерных данных кодирует трехмерные данные временных рядов (например, данные облаков точек относительно динамического объекта). Трехмерные данные включают в себя геометрическую информацию и информацию атрибутов, ассоциированную с каждым моментом времени.
[0315] Во-первых, устройство кодирования трехмерных данных кодирует геометрическую информацию (S4841). Устройство кодирования трехмерных данных затем кодирует информацию атрибутов, которая должна обрабатываться, посредством обращения к геометрической информации, ассоциированной с моментом времени, идентичным моменту времени для информации атрибутов, которая должна обрабатываться (S4842). Здесь, как показано на фиг. 37, геометрическая информация и информация атрибутов, ассоциированные с идентичным моментом времени, формируют единицу доступа (AU). Таким образом, устройство кодирования трехмерных данных кодирует информацию атрибутов, которая должна обрабатываться, посредством обращения к геометрической информации, включенной в единицу доступа, идентичную единице доступа для информации атрибутов, которая должна обрабатываться.
[0316] Таким образом, устройство кодирования трехмерных данных может использовать преимущество единицы доступа для того, чтобы упрощать управление обращением при кодировании. Следовательно, устройство кодирования трехмерных данных может уменьшать объем обработки процесса кодирования.
[0317] Например, устройство кодирования трехмерных данных формирует поток битов, включающий в себя кодированную геометрическую информацию (кодированные геометрические данные), кодированную информацию атрибутов (кодированные данные атрибутов) и информацию, указывающую геометрическую информацию объекта, к которому следует обращаться, при кодировании информации атрибутов, которая должна обрабатываться.
[0318] Например, поток битов включает в себя набор геометрических параметров (геометрический PS), который включает в себя управляющую информацию для геометрической информации, ассоциированной с каждым моментом времени, и набор параметров атрибутов (PS атрибутов), который включает в себя управляющую информацию для информации атрибутов, ассоциированной с каждым моментом времени.
[0319] Например, поток битов включает в себя набор параметров геометрической последовательности (геометрический SPS), который включает в себя управляющую информацию, которая является общей для множества фрагментов геометрической информации, ассоциированной с различными моментами времени, и набор параметров последовательности атрибутов (SPS атрибутов), который включает в себя управляющую информацию, которая является общей для множества фрагментов информации атрибутов, ассоциированной с различными моментами времени.
[0320] Например, поток битов включает в себя набор параметров потока (PS потока), который включает в себя управляющую информацию, которая является общей для множества фрагментов геометрической информации, ассоциированной с различными моментами времени, и для множества фрагментов информации атрибутов, ассоциированной с различными моментами времени.
[0321] Например, поток битов включает в себя заголовок единицы доступа (AU-заголовок), который включает в себя управляющую информацию, которая является общей в единице доступа.
[0322] Например, устройство кодирования трехмерных данных выполняет кодирование таким образом, что группы кадров (GOF), сформированные посредством одной или более единиц доступа, могут декодироваться независимо. Таким образом, GOF представляет собой единицу произвольного доступа.
[0323] Например, поток битов включает в себя GOF-заголовок, который включает в себя управляющую информацию, которая является общей в GOF.
[0324] Например, устройство кодирования трехмерных данных включает в себя процессор и запоминающее устройство, и процессор выполняет процессы, описанные выше, с использованием запоминающего устройства.
[0325] Как описано выше, устройство декодирования трехмерных данных выполняет процесс, показанный на фиг. 46. Устройство декодирования трехмерных данных декодирует трехмерные данные временных рядов (например, данные облаков точек относительно динамического объекта). Трехмерные данные включают в себя геометрическую информацию и информацию атрибутов, ассоциированную с каждым моментом времени. Геометрическая информация и информация атрибутов, ассоциированные с идентичным моментом времени, формируют единицу доступа (AU).
[0326] Во-первых, устройство декодирования трехмерных данных декодирует поток битов для того, чтобы получать геометрическую информацию (S4851). Таким образом, устройство декодирования трехмерных данных формирует геометрическую информацию посредством декодирования кодированной геометрической информации (кодированных геометрических данных), включенной в поток битов.
[0327] Устройство декодирования трехмерных данных затем декодирует поток битов для того, чтобы получать информацию атрибутов, которая должна обрабатываться, посредством обращения к геометрической информации, ассоциированной с моментом времени, идентичным моменту времени для информации атрибутов, которая должна обрабатываться (S4852). Таким образом, устройство декодирования трехмерных данных формирует информацию атрибутов посредством декодирования кодированной информации атрибутов (кодированных данных атрибутов), включенной в поток битов. В этом процессе, устройство декодирования трехмерных данных обращается к декодированной геометрической информации, включенной в единицу доступа в качестве информации атрибутов.
[0328] Таким образом, устройство декодирования трехмерных данных может использовать преимущество единицы доступа для того, чтобы упрощать управление обращением при декодировании. Следовательно, устройство декодирования трехмерных данных может уменьшать объем обработки процесса декодирования.
[0329] Например, устройство декодирования трехмерных данных получает, из потока битов, информацию, указывающую геометрическую информацию объекта, к которому следует обращаться, при декодировании информации атрибутов, которая должна обрабатываться, и декодирует информацию атрибутов, которая должна обрабатываться, посредством обращения к геометрической информации объекта, к которому следует обращаться, указываемого посредством полученной информации.
[0330] Например, поток битов включает в себя набор геометрических параметров (геометрический PS), который включает в себя управляющую информацию для геометрической информации, ассоциированной с каждым моментом времени, и набор параметров атрибутов (PS атрибутов), который включает в себя управляющую информацию для информации атрибутов, ассоциированной с каждым моментом времени. Таким образом, устройство декодирования трехмерных данных использует управляющую информацию, включенную в набор геометрических параметров, ассоциированный с моментом времени, предназначенным для обработки, для того, чтобы декодировать геометрическую информацию, ассоциированную с моментом времени, предназначенным для обработки, и использует управляющую информацию, включенную в набор параметров атрибутов, ассоциированный с моментом времени, предназначенным для обработки, для того, чтобы декодировать информацию атрибутов, ассоциированную с моментом времени, предназначенным для обработки.
[0331] Например, поток битов включает в себя набор параметров геометрической последовательности (геометрический SPS), который включает в себя управляющую информацию, которая является общей для множества фрагментов геометрической информации, ассоциированной с различными моментами времени, и набор параметров последовательности атрибутов (SPS атрибутов), который включает в себя управляющую информацию, которая является общей для множества фрагментов информации атрибутов, ассоциированной с различными моментами времени. Таким образом, устройство декодирования трехмерных данных использует управляющую информацию, включенную в набор параметров геометрической последовательности, для того, чтобы декодировать множество фрагментов геометрической информации, ассоциированной с различными моментами времени, и использует управляющую информацию, включенную в набор параметров последовательности атрибутов, для того, чтобы декодировать множество фрагментов информации атрибутов, ассоциированной с различными моментами времени.
[0332] Например, поток битов включает в себя набор параметров потока (PS потока), который включает в себя управляющую информацию, которая является общей для множества фрагментов геометрической информации, ассоциированной с различными моментами времени, и для множества фрагментов информации атрибутов, ассоциированной с различными моментами времени. Таким образом, устройство декодирования трехмерных данных использует управляющую информацию, включенную в набор параметров потока, для того, чтобы декодировать множество фрагментов геометрической информации, ассоциированной с различными моментами времени, и множество фрагментов информации атрибутов, ассоциированной с различными моментами времени.
[0333] Например, поток битов включает в себя заголовок единицы доступа (AU-заголовок), который включает в себя управляющую информацию, которая является общей в единице доступа. Таким образом, устройство декодирования трехмерных данных использует управляющую информацию, включенную в заголовок единицы доступа, для того, чтобы декодировать геометрическую информацию и информацию атрибутов, включенную в единицу доступа.
[0334] Например, устройство декодирования трехмерных данных независимо декодирует группы кадров (GOF), сформированные посредством одной или более единиц доступа. Таким образом, GOF представляет собой единицу произвольного доступа.
[0335] Например, поток битов включает в себя GOF-заголовок, который включает в себя управляющую информацию, которая является общей в GOF. Таким образом, устройство декодирования трехмерных данных декодирует геометрическую информацию и информацию атрибутов, включенную в GOF, с использованием управляющей информации, включенной в GOF-заголовок.
[0336] Например, устройство декодирования трехмерных данных включает в себя процессор и запоминающее устройство, и процессор выполняет процессы, описанные выше, с использованием запоминающего устройства.
[0337] Вариант 5 осуществления
Далее описывается конфигурация модуля 4911 разделения. Фиг. 47 является блок-схемой, иллюстрирующей модуль 4911 разделения. Модуль 4911 разделения включает в себя модуль 4931 разделения на срезы, модуль 4932 разделения на плитки геометрической информации (модуль разделения на геометрические плитки) и модуль 4933 разделения на плитки информации атрибутов (модуль разделения на плитки атрибутов).
[0338] Модуль 4931 разделения на срезы формирует множество фрагментов геометрической информации срезов посредством разделения геометрической информации (позиции (геометрии)) на срезы. Модуль 4931 разделения на срезы также формирует множество фрагментов информации атрибутов срезов посредством разделения информации атрибутов (атрибута) на срезы. Модуль 4931 разделения на срезы также выводит дополнительную информацию срезов (метаданные срезов), включающую в себя информацию относительно разделения на срезы и информацию, сформированную при разделении на срезы.
[0339] Модуль 4932 разделения на плитки геометрической информации формирует множество фрагментов разделительной геометрической информации (множество фрагментов геометрической информации плиток) посредством разделения множества фрагментов геометрической информации срезов на плитки. Модуль 4932 разделения на плитки геометрической информации также выводит дополнительную информацию геометрических плиток (метаданные геометрических плиток), включающую в себя информацию относительно разделения на плитки геометрической информации и информацию, сформированную при разделении на плитки геометрической информации.
[0340] Модуль 4933 разделения на плитки информации атрибутов формирует множество фрагментов разделительной информации атрибутов (множество фрагментов информации атрибутов плиток) посредством разделения множества фрагментов информации атрибутов срезов на плитки. Модуль 4933 разделения на плитки информации атрибутов также выводит дополнительную информацию плиток атрибутов (метаданные плиток атрибутов), включающую в себя информацию относительно разделения на плитки информации атрибутов и информацию, сформированную при разделении на плитки информации атрибутов.
[0341] Следует отметить, что число срезов или плиток, сформированных посредством разделения, равно или выше 1. Таким образом, разделение на срезы или разделение на плитки может не выполняться.
[0342] Хотя здесь показан пример, в котором разделение на плитки выполняется после разделения на срезы, разделение на срезы может выполняться после разделения на плитки. Альтернативно, другие единицы разделения могут задаваться в дополнение к срезу и плитке, и разделение может выполняться на основе трех или более единиц разделения.
[0343] Ниже по тексту описывается способ разделения данных облаков точек. Фиг. 48 является схемой, иллюстрирующей пример разделения на срезы и разделения на плитки.
[0344] Во-первых, в дальнейшем описывается способ разделения на срезы. Модуль 4911 разделения разделяет данные облаков трехмерных точек на произвольные облака точек в единицах срезов. При разделении на срезы, модуль 4911 разделения не отделяет геометрическую информацию и информацию атрибутов относительно точки и совместно разделяет геометрическую информацию и информацию атрибутов относительно точки на срезы. Таким образом, модуль 4911 разделения выполняет разделение на срезы таким образом, что геометрическая информация и информация атрибутов относительно любой точки принадлежат идентичному срезу. Следует отметить, что данные облаков точек могут разделяться на любое число срезов любым способом в той степени, в которой это требование удовлетворяется. Минимальная единица разделения представляет собой точку. Например, геометрическая информация и информация атрибутов разделяются на идентичное число срезов. Например, после разделения на срезы, геометрическая информация, соответствующая трехмерной точке, и информация атрибутов, соответствующая трехмерной точке, включаются в идентичный срез.
[0345] При разделении на срезы модуль 4911 разделения также формирует дополнительную информацию срезов, которая представляет собой дополнительную информацию относительно числа срезов и способа разделения. Дополнительная информация срезов является общей для геометрической информации и информации атрибутов. Например, дополнительная информация срезов включает в себя информацию, указывающую опорную позицию координат либо размер или длину стороны ограничивающего прямоугольника после разделения. Дополнительная информация срезов также включает в себя информацию, указывающую число срезов, тип разделения и т.п.
[0346] Далее описывается способ разделения на плитки. Модуль 4911 разделения разделяет данные, получающиеся в результате разделения на срезы, на геометрическую информацию срезов (G-срез) и информацию атрибутов срезов (A-срез), и разделяет каждую из геометрической информации срезов и информации атрибутов срезов на плитки.
[0347] Следует отметить, что хотя фиг. 48 показывает пример, в котором структура в виде дерева октантов используется для разделения, данные облаков точек могут разделяться на любое число срезов или плиток в любом способе разделения.
[0348] Модуль 4911 разделения может разделять геометрическую информацию и информацию атрибутов в различных способах разделения или в идентичном способе разделения. Модуль 4911 разделения может разделять множество срезов на плитки в различных способах разделения или в идентичном способе разделения.
[0349] При разделении на плитки, модуль 4911 разделения также формирует дополнительную информацию плиток относительно числа плиток и способа разделения. Дополнительная информация плиток отличается между геометрической информацией и информацией атрибутов (имеется дополнительная информация геометрических плиток и дополнительная информация плиток атрибутов). Например, дополнительная информация плиток включает в себя информацию, указывающую опорную позицию координат либо размер или длину стороны ограничивающего прямоугольника после разделения. Дополнительная информация плиток также включает в себя информацию, указывающую число плиток, тип разделения и т.п.
[0350] Далее описывается пример способа разделения данных облаков точек на срезы или плитки. В качестве способа разделения на срезы или плитки, модуль 4911 разделения может использовать предварительно определенный способ или адаптивно изменять способ, который должен использоваться, в зависимости от данных облаков точек.
[0351] При разделении на срезы, модуль 4911 разделения разделяет трехмерное пространство без отделения геометрической информации и информации атрибутов. Например, модуль 4911 разделения определяет форму объекта и разделяет трехмерное пространство на срезы на основе формы объекта. Например, модуль 4911 разделения извлекает объект, такой как дерево или здание и выполняет разделение на основе объектов. Например, модуль 4911 разделения выполняет разделение на срезы таким образом, что все из одного или более объектов включаются в один срез. Альтернативно, модуль 4911 разделения может разделять один объект на множество срезов.
[0352] В этом случае, устройство кодирования может использовать различный способ кодирования для каждого среза. Например, устройство кодирования может использовать высококачественный способ сжатия для конкретного объекта или некоторых конкретных объектов. В этом случае, устройство кодирования может сохранять информацию, указывающую способ кодирования для каждого среза, в дополнительной информации (метаданных).
[0353] Модуль 4911 разделения также может выполнять разделение на срезы таким образом, что каждый срез соответствует предварительно определенному координатному пространству, на основе картографической информации или геометрической информации.
[0354] При разделении на плитки, модуль 4911 разделения независимо разделяет геометрическую информацию и информацию атрибутов. Например, модуль 4911 разделения разделяет срез на плитки в зависимости от объема данных или объема обработки. Например, модуль 4911 разделения определяет то, превышает или нет объем данных среза (например, число трехмерных точек, включенных в срез) предварительно определенное пороговое значение. Если объем данных среза превышает пороговое значение, модуль 4911 разделения разделяет срез на плитки. Если объем данных среза меньше порогового значения, модуль 4911 разделения не разделяет срез на плитки.
[0355] Например, модуль 4911 разделения разделяет срез на плитки таким образом, что объем обработки или время обработки устройства декодирования попадает в пределы предварительно определенного диапазона (т.е. равен или меньше предварительно определенного значения). Таким образом, объем обработки для каждой плитки устройства декодирования задается постоянным, и распределенная обработка в устройстве декодирования упрощается.
[0356] Когда объем обработки для геометрической информации и объем обработки для информации атрибутов отличаются, например, объем обработки для геометрической информации превышает объем обработки для информации атрибутов, модуль 4911 разделения разделяет геометрическую информацию на большее число плиток, чем информацию атрибутов.
[0357] В зависимости от контента, если устройство декодирования может декодировать и отображать геометрическую информацию до декодирования и отображения информации атрибутов, например, модуль 4911 разделения может разделять геометрическую информацию на большее число плиток, чем информацию атрибутов. В этом случае, устройство декодирования может увеличивать параллелизм обработки геометрической информации по сравнению с обработкой информации атрибутов и в силу этого может быстрее обрабатывать геометрическую информацию, чем информацию атрибутов.
[0358] Следует отметить, что устройство декодирования не должно обрабатывать срезы или плитки данных параллельно и может определять то, следует обрабатывать срезы или плитки данных параллельно либо нет, на основе числа или пропускной способности процессоров декодирования.
[0359] Посредством выполнения разделений, как описано выше, адаптивное кодирование может быть реализовано в зависимости от контента или объекта. Помимо этого, процесс параллельного декодирования может быть реализован. Таким образом, повышается гибкость системы кодирования данных облаков точек или системы декодирования данных облаков точек.
[0360] Фиг. 49 является схемой, иллюстрирующей пример шаблона разделения на срезы и шаблона разделения на плитки. На чертеже, DU представляет единицу данных (DataUnit) и показывает плитку или срез данных. Каждая DU включает в себя индекс среза (SliceIndex) и индекс плитки (TileIndex). На чертеже надстрочный индекс DU указывает индекс среза, и подстрочный индекс DU указывает индекс плитки.
[0361] В шаблоне 1, при разделении на срезы, геометрическая информация и информация атрибутов разделяются на идентичное число G-срезов и A-срезов в идентичном способе разделения. При разделении на плитки, G-срез и A-срез разделяются на различные числа плиток в различных способах разделения. Множество G-срезов разделяются на идентичное число плиток в идентичном способе разделения. Множество A-срезов разделяются на идентичное число плиток в идентичном способе разделения.
[0362] В шаблоне 2, при разделении на срезы, геометрическая информация и информация атрибутов разделяются на идентичное число G-срезов и A-срезов в идентичном способе разделения. При разделении на плитки, G-срез и A-срез разделяются на различные числа плиток в различных способах разделения. Множество G-срезов разделяются на различные числа плиток в различных способах разделения. Множество A-срезов разделяются на различные числа плиток в различных способах разделения.
[0363] Вариант 6 осуществления
Чтобы разделять данные облаков точек на плитки и срезы и эффективно кодировать или декодировать разделительные данные, соответствующее управление необходимо на стороне кодера и на стороне декодера. Посредством задания кодирования и декодирования каждого фрагмента разделительных данных независимым, а не зависимым, от других фрагментов разделительных данных, многопоточный или многоядерный процессор может использоваться для того, чтобы обрабатывать фрагменты разделительных данных в соответствующих подпроцессах/ядрах параллельно, и производительность повышается.
[0364] Предусмотрены различные способы разделения данных облаков точек на плитки и срезы. Например, предусмотрен способ разделения данных облаков точек на основе атрибута объекта, такого как дорожное покрытие, данных облаков точек либо характеристики, такой как цветовая информация, к примеру, зеленый цвет, данных облаков точек.
[0365] CABAC является сокращением от контекстно-адаптивного двоичного арифметического кодирования, которое представляет собой способ кодирования, который реализует арифметическое кодирование (энтропийное кодирование) с высоким коэффициентом сжатия посредством увеличения вероятностной точности посредством последовательного обновления контекста (модели для оценки вероятности появления входного двоичного символа) на основе кодированной информации.
[0366] Чтобы обрабатывать фрагменты разделительных данных, такие как плитки или срезы, параллельно, каждый фрагмент разделительных данных должен кодироваться или декодироваться независимо. Чтобы задавать CABAC для фрагментов разделительных данных не зависимыми друг от друга, CABAC должно инициализироваться в начале каждого фрагмента разделительных данных. Тем не менее, отсутствует механизм для этого.
[0367] Флаг CABACABAC-инициализации используется для того, чтобы инициализировать CABAC при CABAC-кодировании и декодировании.
[0368] Фиг. 50 является блок-схемой последовательности операций способа для процесса инициализации CABACABAC в ответ на флаг CABAC-инициализации.
[0369] Устройство кодирования трехмерных данных или устройство декодирования трехмерных данных определяет то, равен флаг CABAC-инициализации 1 или нет, при кодировании или декодировании (S5201).
[0370] Когда флаг CABAC-инициализации равен 1 (если "Да" на S5201), устройство кодирования трехмерных данных или устройство декодирования трехмерных данных инициализирует CABAC-кодер/декодер в состояние по умолчанию (S5202) и продолжает кодирование или декодирование.
[0371] Когда флаг CABAC-инициализации не равен 1 (если "Нет" на S5201), устройство кодирования трехмерных данных или устройство декодирования трехмерных данных не выполняет инициализацию и продолжает кодирование или декодирование.
[0372] Таким образом, при инициализации CABAC, cabac_init_flag задается равным 1, и CABAC-кодер или CABAC-декодер инициализируется или повторно инициализируется. При инициализации CABAC, задается начальное значение (состояние по умолчанию) контекста, используемого для CABAC-процесса.
[0373] В дальнейшем описывается процесс кодирования. Фиг. 51 является блок-схемой, иллюстрирующей конфигурацию первого кодера 5200, включенного в устройство кодирования трехмерных данных согласно этому варианту осуществления. Фиг. 52 является блок-схемой, иллюстрирующей конфигурацию модуля 5201 разделения согласно этому варианту осуществления. Фиг. 53 является блок-схемой, иллюстрирующей конфигурацию кодера 5202 геометрической информации и кодера 5203 информации атрибутов согласно этому варианту осуществления.
[0374] Первый кодер 5200 формирует кодированные данные (кодированный поток) посредством кодирования данных облаков точек в первом способе кодирования (PCC на основе геометрии (GPCC)). Первый кодер 5200 включает в себя модуль 5201 разделения, множество кодеров 5202 геометрической информации, множество кодеров 5203 информации атрибутов, кодер 5204 дополнительной информации и мультиплексор 5205.
[0375] Модуль 5201 разделения формирует множество фрагментов разделительных данных посредством разделения данных облаков точек. В частности, модуль 5201 разделения формирует множество фрагментов разделительных данных посредством разделения пространства данных облаков точек на множество подпространств. Здесь, подпространство представляет собой объединение плиток или срезов либо объединение плиток и срезов. Более конкретно, данные облаков точек включают в себя геометрическую информацию, информацию атрибутов и дополнительную информацию. Модуль 5201 разделения разделяет геометрическую информацию на множество фрагментов разделительной геометрической информации и разделяет информацию атрибутов на множество фрагментов разделительной информации атрибутов. Модуль 5201 разделения также формирует дополнительную информацию относительно разделения.
[0376] Как проиллюстрировано на фиг. 52, модуль 5201 разделения включает в себя модуль 5211 разделения на плитки и модуль 5212 разделения на срезы. Например, модуль 5211 разделения на плитки разделяет облако точек на плитки. Модуль 5211 разделения на плитки может определять значение квантования, используемое для каждой разделительной плитки, в качестве дополнительной информации плиток.
[0377] Модуль 5212 разделения на срезы дополнительно разделяет плитку, полученную посредством модуля 5211 разделения на плитки, на срезы. Модуль 5212 разделения на срезы может определять значение квантования, используемое для каждого разделительного среза, в качестве дополнительной информации срезов.
[0378] Множество кодеров 5202 геометрической информации формируют множество фрагментов кодированной геометрической информации посредством кодирования множества фрагментов разделительной геометрической информации. Например, множество кодеров 5202 геометрической информации обрабатывают множество фрагментов разделительной геометрической информации параллельно.
[0379] Как проиллюстрировано на фиг. 53, кодер 5202 геометрической информации включает в себя модуль 5221 CABAC-инициализации и энтропийный кодер 5222. Модуль 5221 CABAC-инициализации инициализирует или повторно инициализирует CABAC в ответ на флаг CABAC-инициализации. Энтропийный кодер 5222 кодирует разделительную геометрическую информацию согласно CABAC.
[0380] Множество кодеров 5203 информации атрибутов формируют множество фрагментов кодированной информации атрибутов посредством кодирования множества фрагментов разделительной информации атрибутов. Например, множество кодеров 5203 информации атрибутов обрабатывают множество фрагментов разделительной информации атрибутов параллельно.
[0381] Как проиллюстрировано на фиг. 53, кодер 5203 информации атрибутов включает в себя модуль 5231 CABAC-инициализации и энтропийный кодер 5232. Модуль 5231 CABAC-инициализации инициализирует или повторно инициализирует CABAC в ответ на флаг CABAC-инициализации. Энтропийный кодер 5232 кодирует разделительную информацию атрибутов согласно CABAC.
[0382] Кодер 5204 дополнительной информации формирует кодированную дополнительную информацию посредством кодирования дополнительной информации, включенной в данные облаков точек, и дополнительной информации относительно разделения данных, сформированной при разделении посредством модуля 5201 разделения.
[0383] Мультиплексор 5205 формирует кодированные данные (кодированный поток) посредством мультиплексирования множества фрагментов кодированной геометрической информации, множества фрагментов кодированной информации атрибутов и кодированной дополнительной информации и передает сформированные кодированные данные. Кодированная дополнительная информация используется для декодирования.
[0384] Следует отметить, что хотя фиг. 51 показывает пример, в котором предусмотрено два кодера 5202 геометрической информации и два кодера 5203 информации атрибутов, число кодеров 5202 геометрической информации и число кодеров 5203 информации атрибутов может составлять один либо три или более. Множество фрагментов разделительных данных могут обрабатываться параллельно в идентичной микросхеме, к примеру, посредством множества ядер CPU, обрабатываться параллельно посредством ядер множества микросхем или обрабатываться параллельно посредством множества ядер множества микросхем.
[0385] Далее описывается процесс декодирования. Фиг. 54 является блок-схемой, иллюстрирующей конфигурацию первого декодера 5240. Фиг. 55 является блок-схемой, иллюстрирующей конфигурацию декодера 5242 геометрической информации и декодера 5243 информации атрибутов.
[0386] Первый декодер 5240 воспроизводит данные облаков точек посредством декодирования кодированных данных (кодированного потока), сформированных посредством кодирования данных облаков точек в первом способе кодирования (GPCC). Первый декодер 5240 включает в себя демультиплексор 5241, множество декодеров 5242 геометрической информации, множество декодеров 5243 информации атрибутов, декодер 5244 дополнительной информации и модуль 5245 объединения.
[0387] Демультиплексор 5241 формирует множество фрагментов кодированной геометрической информации, множество фрагментов кодированной информации атрибутов и кодированную дополнительную информацию посредством демультиплексирования кодированных данных (кодированного потока).
[0388] Множество декодеров 5242 геометрической информации формируют множество фрагментов квантованной геометрической информации посредством декодирования множества фрагментов кодированной геометрической информации. Например, множество декодеров 5242 геометрической информации обрабатывают множество фрагментов кодированной геометрической информации параллельно.
[0389] Как проиллюстрировано на фиг. 55, декодер 5242 геометрической информации включает в себя модуль 5251 CABAC-инициализации и энтропийный декодер 5252. Модуль 5251 CABAC-инициализации инициализирует или повторно инициализирует CABAC в ответ на флаг CABAC-инициализации. Энтропийный декодер 5252 декодирует геометрическую информацию согласно CABAC.
[0390] Множество декодеров 5243 информации атрибутов формируют множество фрагментов разделительной информации атрибутов посредством декодирования множества фрагментов кодированной информации атрибутов. Например, множество декодеров 5243 информации атрибутов обрабатывают множество фрагментов кодированной информации атрибутов параллельно.
[0391] Как проиллюстрировано на фиг. 55, декодер 5243 информации атрибутов включает в себя модуль 5261 CABAC-инициализации и энтропийный декодер 5262. Модуль 5261 CABAC-инициализации инициализирует или повторно инициализирует CABAC в ответ на флаг CABAC-инициализации. Энтропийный декодер 5262 декодирует информацию атрибутов согласно CABAC.
[0392] Множество декодеров 5244 дополнительной информации формируют дополнительную информацию посредством декодирования кодированной дополнительной информации.
[0393] Модуль 5245 объединения формирует геометрическую информацию посредством объединения множества фрагментов разделительной геометрической информации с использованием дополнительной информации. Модуль 5245 объединения формирует информацию атрибутов посредством объединения множества фрагментов разделительной информации атрибутов с использованием дополнительной информации. Например, модуль 5245 объединения сначала формирует данные облаков точек, ассоциированные с плиткой, посредством объединения декодированных данных облаков точек, ассоциированных со срезами, с использованием дополнительной информации срезов. Модуль 5245 объединения затем воспроизводит исходные данные облаков точек посредством объединения данных облаков точек, ассоциированных с плитками, с использованием дополнительной информации плиток.
[0394] Следует отметить, что хотя фиг. 54 показывает пример, в котором предусмотрено два декодера 5242 геометрической информации и два декодера 5243 информации атрибутов, число декодеров 5242 геометрической информации и число декодеров 5243 информации атрибутов может составлять один либо три или более. Множество фрагментов разделительных данных могут обрабатываться параллельно в идентичной микросхеме, к примеру, посредством множества ядер CPU, обрабатываться параллельно посредством ядер множества микросхем или обрабатываться параллельно посредством множества ядер множества микросхем.
[0395] Фиг. 56 является блок-схемой последовательности операций способа, иллюстрирующей пример процесса, ассоциированного с инициализацией CABAC при кодировании геометрической информации или при кодировании информации атрибутов.
[0396] Во-первых, устройство кодирования трехмерных данных определяет, для каждого среза, то, следует или нет инициализировать CABAC при кодировании геометрической информации для среза, на основе предварительно определенного условия (S5201).
[0397] Когда определяется необходимость инициализировать CABAC (если "Да" на S5202), устройство кодирования трехмерных данных определяет начальное значение контекста, используемое для кодирования геометрической информации (S5203). Начальное значение контекста задается с учетом характеристик кодирования. Начальное значение может составлять предварительно определенное значение или может адаптивно определяться в зависимости от характеристик данных в срезе.
[0398] Устройство кодирования трехмерных данных затем задает флаг CABAC-инициализации для геометрической информации равным 1 и задает начальное значение контекста (S5204). При инициализации CABAC, процесс инициализации выполняется с использованием начального значения контекста при кодировании геометрической информации.
[0399] С другой стороны, когда определяется необходимость не инициализировать CABAC (если "Нет" на S5202), устройство кодирования трехмерных данных задает флаг CABAC-инициализации для геометрической информации равным 0 (S5205).
[0400] Устройство кодирования трехмерных данных затем определяет, для каждого среза, то, следует или нет инициализировать CABAC при кодировании информации атрибутов для среза, на основе предварительно определенного условия (S5206).
[0401] Когда определяется необходимость инициализировать CABAC (если "Да" на S5207), устройство кодирования трехмерных данных определяет начальное значение контекста, используемое для кодирования информации атрибутов (S5208). Начальное значение контекста задается с учетом характеристик кодирования. Начальное значение может составлять предварительно определенное значение или может адаптивно определяться в зависимости от характеристик данных в срезе.
[0402] Устройство кодирования трехмерных данных затем задает флаг CABAC-инициализации для информации атрибутов равным 1 и задает начальное значение контекста (S5209). При инициализации CABAC, процесс инициализации выполняется с использованием начального значения контекста при кодировании информации атрибутов.
[0403] С другой стороны, когда определяется необходимость не инициализировать CABAC (если "Нет" на S5207), устройство кодирования трехмерных данных задает флаг CABAC-инициализации для информации атрибутов равным 0 (S5210).
[0404] Следует отметить, что на блок-схеме последовательности операций способа по фиг. 56, обработка относительно геометрической информации и обработка относительно информации атрибутов могут выполняться в обратном порядке или параллельно.
[0405] Следует отметить, что хотя блок-схема последовательности операций способа по фиг. 56 показывает процесс на основе срезов в качестве примера, процесс на основе плиток или процесс на основе других единиц данных может выполняться идентично процессу на основе срезов. Таким образом, срез на блок-схеме последовательности операций способа по фиг. 56 может заменяться плиткой или другими единицами данных.
[0406] Предварительно определенное условие для геометрической информации и предварительно определенное условие для информации атрибутов могут представлять собой идентичное условие или различные условия.
[0407] Фиг. 57 является схемой, иллюстрирующей пример синхронизаций CABAC-инициализации для данных облаков точек в форме потока битов.
[0408] Данные облаков точек включают в себя геометрическую информацию и нуль или более фрагментов информации атрибутов. Таким образом, данные облаков точек могут не включать в себя информацию атрибутов или включать в себя множество фрагментов информации атрибутов.
[0409] Например, в качестве информации атрибутов относительно трехмерной точки данные облаков точек могут включать в себя цветовую информацию, могут включать в себя цветовую информацию и отражательную информацию либо могут включать в себя один или более фрагментов цветовой информации, каждый из которых связан с одним или более фрагментов информации точки обзора.
[0410] В любой конфигурации, может применяться способ, описанный в этом варианте осуществления.
[0411] Далее описывается условие для определения того, следует или нет инициализировать CABAC.
[0412] Может определяться необходимость инициализировать CABAC при кодировании геометрической информации или информации атрибутов, когда удовлетворяется любое из условий, описанных ниже.
[0413] Например, CABAC может инициализироваться в опережающих данных геометрической информации или информации атрибутов (каждого фрагмента информации атрибутов, если предусмотрено множество фрагментов информации атрибутов). Например, CABAC может инициализироваться в начале данных, формирующих PCC-кадр, который может отдельно декодироваться. Таким образом, как проиллюстрировано в части (a) по фиг. 57, если PCC-кадры могут декодироваться на основе кадров, CABAC может инициализироваться в опережающих данных PCC-кадра.
[0414] Например, как проиллюстрировано в части (b) по фиг. 57, если кадры не могут отдельно декодироваться, к примеру, когда взаимное прогнозирование используется между PCC-кадрами, CABAC может инициализироваться в опережающих данных единицы произвольного доступа (например, GOF).
[0415] Например, как проиллюстрировано в части (c) по фиг. 57, CABAC может инициализироваться в начале одного или более фрагментов разделительных данных срезов, в начале одного или более фрагментов разделительных данных плиток либо в начале других разделительных данных.
[0416] Хотя часть (c) по фиг. 57 показывает плитки в качестве примера, это описание является справедливым для срезов. CABAC может всегда инициализироваться в начале плитки или среза либо может не всегда инициализироваться в начале плитки или среза.
[0417] Фиг. 58 является схемой, иллюстрирующей конфигурацию кодированных данных и способ сохранения кодированных данных в NAL-единице.
[0418] Информация инициализации может сохраняться в заголовке кодированных данных или в метаданных. Информация инициализации также может сохраняться как в заголовке, так и в метаданных. Информация инициализации представляет собой cabac_init_flag, начальное CABAC-значение или индекс таблицы, допускающей идентификацию начального значения.
[0419] В этом варианте осуществления, "метаданные" в описании того, что что-либо сохраняется в метаданных, могут заменяться "заголовком кодированных данных" или наоборот.
[0420] Когда информация инициализации сохраняется в заголовке кодированных данных, информация инициализации может сохраняться, например, в первой NAL-единице в кодированных данных. Информация инициализации относительно кодирования геометрической информации сохраняется в геометрической информации, и информация инициализации относительно кодирования информации атрибутов сохраняется в информации атрибутов.
[0421] Cabac_init_flag для кодирования информации атрибутов и cabac_init_flag для кодирования геометрической информации могут задаваться равными идентичному значению или различным значениям. Когда флаги задаются равными идентичному значению, cabac_init_flag может совместно использоваться для геометрической информации и информации атрибутов. Когда флаги задаются равными различным значениям, cabac_init_flag для геометрической информации и cabac_init_flag для информации атрибутов указывают различные значения.
[0422] Информация инициализации для геометрической информации и информация инициализации для информации атрибутов могут сохраняться в общих метаданных, по меньшей мере, в одном из отдельных метаданных геометрической информации и отдельных метаданных информации атрибутов либо как в общих метаданных, так и в отдельных метаданных. Может использоваться флаг, который указывает то, в каких из отдельных метаданных для геометрической информации, отдельных метаданных для информации атрибутов и общих метаданных сохраняется информация инициализации.
[0423] Фиг. 59 является блок-схемой последовательности операций способа, иллюстрирующей пример процесса, ассоциированного с инициализацией CABAC при декодировании геометрической информации или при декодировании информации атрибутов.
[0424] Устройство декодирования трехмерных данных анализирует кодированные данные для того, чтобы получать флаг CABAC-инициализации для геометрической информации, флаг CABAC-инициализации для информации атрибутов и начальное значение контекста (S5211).
[0425] Устройство декодирования трехмерных данных затем определяет то, равен флаг CABAC-инициализации для геометрической информации 1 или нет (S5512).
[0426] Когда флаг CABAC-инициализации для геометрической информации равен 1 (если "Да" на S5212), устройство декодирования трехмерных данных инициализирует CABAC-декодирование для кодированной геометрической информации с использованием начального значения контекста при кодировании геометрической информации (S5213).
[0427] С другой стороны, когда флаг CABAC-инициализации для геометрической информации равен 0 (если "Нет" на S5212), устройство декодирования трехмерных данных не инициализирует CABAC-декодирование для кодированной геометрической информации (S5214).
[0428] Устройство декодирования трехмерных данных затем определяет то, равен флаг CABAC-инициализации для информации атрибутов 1 или нет (S5215).
[0429] Когда флаг CABAC-инициализации для информации атрибутов равен 1 (если "Да" на S5215), устройство декодирования трехмерных данных инициализирует CABAC-декодирование для кодированной информации атрибутов с использованием начального значения контекста при кодировании информации атрибутов (S5216).
[0430] С другой стороны, когда флаг CABAC-инициализации для информации атрибутов равен 0 (если "Нет" на S5215), устройство декодирования трехмерных данных не инициализирует CABAC-декодирование для кодированной информации атрибутов (S5217).
[0431] Следует отметить, что на блок-схеме последовательности операций способа по фиг. 59, обработка относительно геометрической информации и обработка относительно информации атрибутов могут выполняться в обратном порядке или параллельно.
[0432] Следует отметить, что блок-схема последовательности операций способа по фиг. 59 может применяться к любому из случая разделения на срезы и случая разделения на плитки.
[0433] Далее описываются последовательность операций процесса кодирования данных облаков точек и последовательность операций процесса декодирования данных облаков точек согласно этому варианту осуществления. Фиг. 60 является блок-схемой последовательности операций способа для процесса кодирования данных облаков точек согласно этому варианту осуществления.
[0434] Во-первых, устройство кодирования трехмерных данных определяет способ разделения, который должен использоваться (S5221). Способ разделения включает в себя определение того, следует выполнять разделение на плитки или нет, и определение того, следует выполнять разделение на срезы или нет. Способ разделения может включать в себя, например, число плиток или срезов в случае, если выполняется разделение на плитки или разделение на срезы, и тип разделения. Тип разделения представляет собой, например, схему на основе формы объекта, схему на основе картографической информации или геометрической информации либо схему на основе объема данных или объема обработки. Способ разделения может определяться заранее.
[0435] Когда разделение на плитки должно выполняться (если "Да" на S5222), устройство кодирования трехмерных данных формирует множество фрагментов геометрической информации плиток и множество фрагментов информации атрибутов плиток посредством разделения геометрической информации и информации атрибутов на основе плиток (S5223). Устройство кодирования трехмерных данных также формирует дополнительную информацию плиток относительно разделения на плитки.
[0436] Когда разделение на срезы должно выполняться (если "Да" на S5224), устройство кодирования трехмерных данных формирует множество фрагментов разделительной геометрической информации и множество фрагментов разделительной информации атрибутов посредством разделения множества фрагментов геометрической информации плиток и множества фрагментов информации атрибутов плиток (либо геометрической информации и информации атрибутов) (S5225). Устройство кодирования трехмерных данных также формирует дополнительную информацию геометрических срезов и дополнительную информацию срезов атрибутов относительно разделения на срезы.
[0437] Устройство кодирования трехмерных данных затем формирует множество фрагментов кодированной геометрической информации и множество фрагментов кодированной информации атрибутов посредством кодирования каждого из множества фрагментов разделительной геометрической информации и множества фрагментов разделительной информации атрибутов (S5226). Устройство кодирования трехмерных данных также формирует информацию зависимостей.
[0438] Устройство кодирования трехмерных данных затем формирует кодированные данные (кодированный поток) посредством интегрирования (мультиплексирования) множества фрагментов кодированной геометрической информации, множества фрагментов кодированной информации атрибутов и дополнительной информации в NAL-единицу (S5227). Устройство кодирования трехмерных данных также передает сформированные кодированные данные.
[0439] Фиг. 61 является блок-схемой последовательности операций способа, иллюстрирующей пример процесса определения значения флага CABAC-инициализации и обновления дополнительной информации при разделении на плитки (S5223) и при разделении на срезы (S5525).
[0440] На этапах S5223 и S5225 геометрическая информация плиток и информация атрибутов плиток и/или геометрическая информация срезов и информация атрибутов срезов могут независимо разделяться соответствующими способами или могут совместно разделяться общим способом. Таким образом, формируется дополнительная информация, разделенная на основе плиток и/или на основе срезов.
[0441] На этих этапах устройство кодирования трехмерных данных определяет то, следует задавать флаг CABAC-инициализации равным 1 или 0 (S5231).
[0442] Устройство кодирования трехмерных данных затем обновляет дополнительную информацию таким образом, что она включает в себя определенный флаг CABAC-инициализации (S5232).
[0443] Фиг. 62 является блок-схемой последовательности операций способа, иллюстрирующей пример процесса инициализации CABAC при обработке кодирования (S5226).
[0444] Устройство кодирования трехмерных данных определяет то, равен флаг CABAC-инициализации 1 или нет (S5241).
[0445] Когда флаг CABAC-инициализации равен 1 (если "Да" на S5241), устройство кодирования трехмерных данных повторно инициализирует CABAC-кодер в состояние по умолчанию (S5242).
[0446] Устройство кодирования трехмерных данных затем продолжает процесс кодирования до тех пор, пока условие для прекращения процесса кодирования не удовлетворяется, к примеру, до тех пор, пока не закончатся данные, которые должны кодироваться (S5243).
[0447] Фиг. 63 является блок-схемой последовательности операций способа, иллюстрирующей процесс декодирования данных облаков точек согласно этому варианту осуществления. Во-первых, устройство декодирования трехмерных данных определяет способ разделения посредством анализа дополнительной информации (дополнительной информации плиток, дополнительной информации геометрических срезов и дополнительной информации срезов атрибутов) относительно способа разделения, включенной в кодированные данные (кодированный поток) (S5251). Способ разделения включает в себя определение того, следует выполнять разделение на плитки или нет, и определение того, следует выполнять разделение на срезы или нет. Способ разделения может включать в себя, например, число плиток или срезов и тип разделения в случае, если выполняется разделение на плитки или разделение на срезы.
[0448] Устройство декодирования трехмерных данных затем формирует разделительную геометрическую информацию и разделительную информацию атрибутов посредством декодирования множества фрагментов кодированной геометрической информации и множества фрагментов кодированной информации атрибутов, включенных в кодированные данные, с использованием информации зависимостей, включенной в кодированные данные (S5252).
[0449] Если дополнительная информация указывает то, что разделение на срезы выполнено (если "Да" на S5253), устройство декодирования трехмерных данных формирует множество фрагментов геометрической информации плиток и множество фрагментов информации атрибутов плиток посредством объединения множества фрагментов разделительной геометрической информации и множества фрагментов разделительной информации атрибутов на основе дополнительной информации геометрических срезов и дополнительной информации срезов атрибутов (S5254).
[0450] Если дополнительная информация указывает то, что разделение на плитки выполнено (если "Да" на S5255), устройство декодирования трехмерных данных формирует геометрическую информацию и информацию атрибутов посредством объединения множества фрагментов геометрической информации плиток и множества фрагментов информации атрибутов плиток (множества фрагментов разделительной геометрической информации и множества фрагментов разделительной информации атрибутов) на основе дополнительной информации плиток (S5256).
[0451] Фиг. 64 является блок-схемой последовательности операций способа, иллюстрирующей пример процесса инициализации CABAC-декодера при объединении (S5254) информации, разделенной на срезы, и при объединении (S5256) информации, разделенной на плитки.
[0452] Фрагменты геометрической информации срезов и фрагменты информации атрибутов срезов либо фрагменты геометрической информации плиток или фрагменты информации атрибутов плиток могут объединяться соответствующими способами или идентичным способом.
[0453] Устройство декодирования трехмерных данных получает флаг CABAC-инициализации посредством декодирования дополнительной информации в кодированном потоке.
[0454] Устройство декодирования трехмерных данных затем определяет то, равен флаг CABAC-инициализации 1 или нет (S5262).
[0455] Когда флаг CABAC-инициализации равен 1 (если "Да" на S5262), устройство декодирования трехмерных данных повторно инициализирует CABAC-декодер в состояние по умолчанию (S5263).
[0456] С другой стороны, когда флаг CABAC-инициализации не равен 1 (если "Нет" на S5262), устройство декодирования трехмерных данных не инициализирует повторно CABAC-декодер и переходит к этапу S5264.
[0457] Устройство декодирования трехмерных данных затем продолжает процесс декодирования до тех пор, пока условие для прекращения процесса декодирования не удовлетворяется, к примеру, до тех пор, пока не закончатся данные, которые должны декодироваться (S5264).
[0458] Далее описываются другие условия относительно определения того, следует или нет инициализировать CABAC.
[0459] То, следует либо нет инициализировать кодирование геометрической информации или кодирование информации атрибутов, может определяться с учетом эффективности кодирования на основе единиц данных, таких как плитки или срезы. В этом случае, CABAC может инициализироваться в опережающих данных плитки или среза, которые удовлетворяют предварительно определенному условию.
[0460] Далее описываются условия относительно определения того, следует или нет инициализировать CABAC при кодировании геометрической информации.
[0461] Например, устройство кодирования трехмерных данных может определять плотность данных облаков точек для каждого среза, т.е. число точек в расчете на единицу площади, принадлежащих каждому срезу, сравнивать плотность данных среза с плотностью данных другого среза и определять то, что эффективность кодирования лучше, когда CABAC не инициализируется, и определять необходимость не инициализировать CABAC, если варьирование плотности данных удовлетворяет предварительно определенному условию. С другой стороны, если варьирование плотности данных не удовлетворяет предварительно определенному условию, устройство кодирования трехмерных данных может определять то, что эффективность кодирования лучше, когда CABAC инициализируется, и определять необходимость инициализировать CABAC.
[0462] Здесь, "другой срез" может представлять собой, например, предыдущий срез в порядке декодирования или пространственно соседний срез. Устройство кодирования трехмерных данных может не выполнять сравнение плотности данных с плотностью данных другого среза и может определять то, следует или нет инициализировать CABAC, на основе того, представляет плотность данных среза собой предварительно определенную плотность данных или нет.
[0463] Когда определяется необходимость инициализировать CABAC, устройство кодирования трехмерных данных определяет начальное значение контекста, используемое для кодирования геометрической информации. Начальное значение контекста задается равным значению, которое предоставляет хорошие характеристики кодирования в ответ на плотность данных. Устройство кодирования трехмерных данных может сохранять таблицу начальных значений для плотности данных заранее и выбирает оптимальное начальное значение из таблицы.
[0464] Следует отметить, что устройство кодирования трехмерных данных может определять то, следует или нет инициализировать CABAC, на основе числа точек, распределения точек или дисбаланса точек, например, а не на основе плотности среза, описанной выше в качестве примера. Альтернативно, устройство кодирования трехмерных данных может определять то, следует или нет инициализировать CABAC, на основе количества признаков или числа точек-признаков, полученного из информации относительно точек, либо на основе распознанного объекта. В этом случае, критерий определения может сохраняться в запоминающем устройстве в форме таблицы, которая ассоциирует критерий определения с количеством признаков или числом точек-признаков, полученным из информации относительно точек, либо с объектом, распознанным на основе информации относительно точек.
[0465] Например, устройство кодирования трехмерных данных может определять объект, ассоциированный с геометрической информацией из картографической информации, и определять то, следует или нет инициализировать CABAC, на основе объекта на основе геометрической информации. Альтернативно, устройство кодирования трехмерных данных может определять то, следует или нет инициализировать CABAC, на основе информации или количества признаков, полученного посредством проецирования трехмерных данных на двумерную плоскость.
[0466] Далее описываются условия относительно определения того, следует или нет инициализировать CABAC при кодировании информации атрибутов.
[0467] Например, устройство кодирования трехмерных данных может сравнивать цветовую характеристику релевантного среза с цветовой характеристикой предыдущего среза и определять то, что эффективность кодирования лучше, когда CABAC не инициализируется, и определять необходимость не инициализировать CABAC, если варьирование цветовой характеристики удовлетворяет предварительно определенному условию. С другой стороны, если варьирование цветовой характеристики не удовлетворяет предварительно определенному условию, устройство кодирования трехмерных данных может определять то, что эффективность кодирования лучше, когда CABAC инициализируется, и определять необходимость инициализировать CABAC. Цветовая характеристика представляет собой, например, яркость, цветность или сигнал цветности, их гистограмму или цветовую непрерывность.
[0468] Здесь, "другой срез" может представлять собой, например, предыдущий срез в порядке декодирования или пространственно соседний срез. Устройство кодирования трехмерных данных может не выполнять сравнение плотности данных с плотностью данных другого среза и может определять то, следует или нет инициализировать CABAC, на основе того, представляет плотность данных среза собой предварительно определенную плотность данных или нет.
[0469] Когда определяется необходимость инициализировать CABAC, устройство кодирования трехмерных данных определяет начальное значение контекста, используемое для кодирования информации атрибутов. Начальное значение контекста задается равным значению, которое предоставляет хорошие характеристики кодирования в ответ на плотность данных. Устройство кодирования трехмерных данных может сохранять таблицу начальных значений для плотности данных заранее и выбирать оптимальное начальное значение из таблицы.
[0470] Когда информация атрибутов представляет собой отражательную способность, устройство кодирования трехмерных данных может определять то, следует или нет инициализировать CABAC, на основе информации на основе отражательной способности.
[0471] Когда трехмерная точка имеет множество фрагментов информации атрибутов, устройство кодирования трехмерных данных может независимо определять информацию инициализации для каждого фрагмента информации атрибутов на основе фрагмента информации атрибутов, может определять информацию инициализации для множества фрагментов информации атрибутов на основе одного из фрагментов информации атрибутов или может определять информацию инициализации для множества фрагментов информации атрибутов с использованием множества фрагментов информации атрибутов.
[0472] Хотя описан пример, в котором информация инициализации для геометрической информации определяется на основе геометрической информации, и информация инициализации для информации атрибутов определяется на основе информации атрибутов, информация инициализации для геометрической информации и информации атрибутов может определяться на основе геометрической информации, на основе информации атрибутов либо на основе как геометрической информации, так и информации атрибутов.
[0473] Устройство кодирования трехмерных данных может определять информацию инициализации, например, на основе результата моделирования эффективности кодирования, выполняемого посредством включения и выключения cabac_init_flag, либо выбора одного или более начальных значений из таблицы начальных значений.
[0474] Когда способ разделения данных на плитки, срезы и т.п. определяется на основе геометрической информации или информации атрибутов, устройство кодирования трехмерных данных может определять информацию инициализации на основе идентичной информации в качестве информации на основе определения способа разделения.
[0475] Фиг. 65 является схемой, иллюстрирующей пример плиток и срезов.
[0476] Например, срезы в одной плитке, имеющей часть PCC-данных, распознаются так, как указано посредством условных обозначений. Флаг CABAC-инициализации может использоваться для того, чтобы определять то, требуется или нет повторная инициализация контекста, в последовательных срезах. Например, на фиг. 65, когда одна плитка включает в себя данные срезов, разделенные на основе объектов (таких как движущееся тело, тротуар, здание, дерево или другие объекты), флаги CABAC-инициализации для срезов движущегося тела, тротуара и дерева задаются равными 1, и флаги CABAC-инициализации для срезов здания и других объектов задаются равными 0. Это означает то, что если тротуар и здание могут как представлять собой как плотные постоянные конструкции, так и иметь аналогичную эффективность кодирования, эффективность кодирования, возможно, может повышаться посредством недопущения повторной инициализации CABAC между срезами для тротуара и здания. С другой стороны, если здание и дерево могут существенно отличаться по плотности и эффективности кодирования, эффективность кодирования, возможно, может повышаться посредством инициализации CABAC между срезами для здания и дерева.
[0477] Фиг. 66 является блок-схемой последовательности операций, иллюстрирующей пример способа определения того, следует или нет инициализировать CABAC, и определения начального значения контекста.
[0478] Во-первых, устройство кодирования трехмерных данных разделяет данные облаков точек на срезы на основе объекта, определенного из геометрической информации (S5271).
[0479] Устройство кодирования трехмерных данных затем определяет, для каждого среза, то, следует или нет инициализировать CABAC для кодирования геометрической информации и кодирования информации атрибутов, на основе плотности данных объекта среза (S5272). Другими словами, устройство кодирования трехмерных данных определяет информацию CABAC-инициализации (флаг CABAC-инициализации) для кодирования геометрической информации и кодирования информации атрибутов на основе геометрической информации. Устройство кодирования трехмерных данных определяет инициализацию с высокой эффективностью кодирования, например, на основе плотности данных облаков точек. Информация CABAC-инициализации может указываться посредством cabac_init_flag, который является общим для геометрической информации и информации атрибутов.
[0480] Когда определяется необходимость инициализировать CABAC (если "Да" на S5273), устройство кодирования трехмерных данных определяет начальное значение контекста для кодирования геометрической информации (S5274).
[0481] Устройство кодирования трехмерных данных затем определяет начальное значение контекста для кодирования информации атрибутов (S5275).
[0482] Устройство кодирования трехмерных данных затем задает флаг CABAC-инициализации для геометрической информации равным 1, задает начальное значение контекста для геометрической информации, задает флаг CABAC-инициализации для информации атрибутов равным 1 и задает начальное значение контекста для информации атрибутов (S5276). Следует отметить, что при инициализации CABAC, устройство кодирования трехмерных данных выполняет процесс инициализации с использованием начального значения контекста при каждом из кодирования геометрической информации и кодирования информации атрибутов.
[0483] С другой стороны, когда определяется необходимость не инициализировать CABAC (если "Нет" на S5273), устройство кодирования трехмерных данных задает флаг CABAC-инициализации для геометрической информации равным 0 и задает флаг CABAC-инициализации для информации атрибутов равным 0 (S5277).
[0484] Фиг. 67 является схемой, иллюстрирующей пример случая, в котором карта, которая является видом сверху данных облаков точек, полученных посредством лидара, разделяется на плитки. Фиг. 68 является блок-схемой последовательности операций способа, иллюстрирующей другой пример способа определения того, следует или нет инициализировать CABAC, и определения начального значения контекста.
[0485] В крупномасштабных картографических данных, устройство кодирования трехмерных данных разделяет данные облаков точек на одну или более плиток на основе геометрической информации двумерным способом разделения при виде сверху (S5281). Устройство кодирования трехмерных данных, например, может разделять данные облаков точек на квадратные области, как проиллюстрировано на фиг. 67. Устройство кодирования трехмерных данных также может разделять данные облаков точек на плитки различных форм или размеров. Разделение на плитки может выполняться в одном или более способов, определенных заранее, либо может выполняться адаптивно.
[0486] Устройство кодирования трехмерных данных затем определяет объект в каждой плитке и определяет то, следует или нет инициализировать CABAC при кодировании геометрической информации для плитки или при кодировании информации атрибутов для плитки (S5282). Следует отметить, что при разделении на срезы, устройство кодирования трехмерных данных распознает объект (дерево, человека, движущееся тело или здание) и определяет то, следует или нет выполнять разделение на срезы и определять начальное значение, на основе объекта.
[0487] Когда определяется необходимость инициализировать CABAC (если "Да" на S5283), устройство кодирования трехмерных данных определяет начальное значение контекста для кодирования геометрической информации (S5284).
[0488] Устройство кодирования трехмерных данных затем определяет начальное значение контекста для кодирования информации атрибутов (S5285).
[0489] На этапах S5284 и S5285, начальное значение для плитки, имеющей конкретные характеристики кодирования, может сохраняться в качестве начального значения и использоваться в качестве начального значения для плитки, имеющей идентичные характеристики кодирования.
[0490] Устройство кодирования трехмерных данных затем задает флаг CABAC-инициализации для геометрической информации равным 1, задает начальное значение контекста для геометрической информации, задает флаг CABAC-инициализации для информации атрибутов равным 1 и задает начальное значение контекста для информации атрибутов (S5286). Следует отметить, что при инициализации CABAC, устройство кодирования трехмерных данных выполняет процесс инициализации с использованием начального значения контекста при каждом из кодирования геометрической информации и кодирования информации атрибутов.
[0491] С другой стороны, когда определяется необходимость не инициализировать CABAC (если "Нет" на S5283), устройство кодирования трехмерных данных задает флаг CABAC-инициализации для геометрической информации равным 0 и задает флаг CABAC-инициализации для информации атрибутов равным 0 (S5287).
[0492] Вариант 7 осуществления
Далее описывается параметр квантования.
[0493] Чтобы разделять данные облаков точек на основе характеристик и позиций относительно данных облаков точек, используются срез и плитка. Здесь, различное качество может требоваться, например, для каждого из фрагментов разделительных данных облаков точек вследствие аппаратных ограничений или требований для обработки в реальном времени. Например, при кодировании данных облаков точек посредством разделения данных облаков точек на срезы на основе объектов, данные срезов, включающие в себя оборудование, являются менее важными, так что разрешение (качество) данных срезов может снижаться посредством квантования. С другой стороны, разрешение (качество) важных данных срезов может увеличиваться посредством задания значения квантования равным меньшему значению. Параметр квантования используется для того, чтобы обеспечивать такое управление значением квантования.
[0494] Здесь, данные, которые должны квантоваться, масштаб, используемый для квантования, и квантованные данные, которые представляют собой результат вычисления посредством квантования, выражаются посредством нижеприведенных уравнений G1 и G2.
[0495] квантованные данные=данные/масштаб (уравнение G1)
[0496] данные=квантованные данные * масштаб (уравнение G2)
[0497] Фиг. 69 является схемой для описания процесса, выполняемого посредством квантователя 5323, который квантует данные, и обратного квантователя 5333, который обратно квантует квантованные данные.
[0498] Квантователь 5323 квантует данные с использованием масштаба. Таким образом, квантователь 5323 вычисляет квантованные данные, которые представляют собой квантованные данные, посредством выполнения процесса согласно уравнению G1.
[0499] Обратный квантователь 5333 обратно квантует квантованные данные с использованием масштаба. Таким образом, обратный квантователь вычисляет обратно квантованные квантованные данные посредством выполнения процесса согласно уравнению G2.
[0500] Масштаб и значение квантования (значение параметра квантования (QP)) выражаются посредством нижеприведенного уравнения G3.
[0501] значение квантования (QP-значение) = логарифм (масштаб) (уравнение G3)
[0502] значение квантования (QP-значение) = значение по умолчанию (опорное значение) + дельта квантования (информация разности) (уравнение G4)
[0503] Эти параметры обобщенно называются "параметром квантования".
[0504] Например, как проиллюстрировано на фиг. 70, значение квантования представляет собой значение относительно значения по умолчанию и вычисляется посредством суммирования дельты квантования со значением по умолчанию. Если значение квантования меньше значения по умолчанию, дельта квантования представляет собой отрицательное значение. Если значение квантования превышает значение по умолчанию, дельта квантования представляет собой положительное значение. Если значение квантования равно значению по умолчанию, дельта квантования равна 0. Когда дельта квантования равна 0, дельта квантования может опускаться.
[0505] В дальнейшем описывается процесс кодирования. Фиг. 71 является блок-схемой, иллюстрирующей конфигурацию первого кодера 5300, включенного в устройство кодирования трехмерных данных согласно этому варианту осуществления. Фиг. 72 является блок-схемой, иллюстрирующей конфигурацию модуля 5301 разделения согласно этому варианту осуществления. Фиг. 73 является блок-схемой, иллюстрирующей конфигурацию кодера 5302 геометрической информации и кодера 5303 информации атрибутов согласно этому варианту осуществления.
[0506] Первый кодер 5300 формирует кодированные данные (кодированный поток) посредством кодирования данных облаков точек в первом способе кодирования (PCC на основе геометрии (GPCC)). Первый кодер 5300 включает в себя модуль 5301 разделения, множество кодеров 5302 геометрической информации, множество кодеров 5303 информации атрибутов, кодер 5304 дополнительной информации и мультиплексор 5305.
[0507] Модуль 5301 разделения формирует множество фрагментов разделительных данных посредством разделения данных облаков точек. В частности, модуль 5301 разделения формирует множество фрагментов разделительных данных посредством разделения пространства данных облаков точек на множество подпространств. Здесь, подпространство представляет собой объединение плиток или срезов либо объединение плиток и срезов. Более конкретно, данные облаков точек включают в себя геометрическую информацию, информацию атрибутов и дополнительную информацию. Модуль 5301 разделения разделяет геометрическую информацию на множество фрагментов разделительной геометрической информации и разделяет информацию атрибутов на множество фрагментов разделительной информации атрибутов. Модуль 5301 разделения также формирует дополнительную информацию относительно разделения.
[0508] Как проиллюстрировано на фиг. 72, модуль 5301 разделения включает в себя модуль 5311 разделения на плитки и модуль 5312 разделения на срезы. Например, модуль 5311 разделения на плитки разделяет облако точек на плитки. Модуль 5311 разделения на плитки может определять значение квантования, используемое для каждой разделительной плитки, в качестве дополнительной информации плиток.
[0509] Модуль 5312 разделения на срезы дополнительно разделяет плитку, полученную посредством модуля 5311 разделения на плитки, на срезы. Модуль 5312 разделения на срезы может определять значение квантования, используемое для каждого разделительного среза, в качестве дополнительной информации срезов.
[0510] Множество кодеров 5302 геометрической информации формируют множество фрагментов кодированной геометрической информации посредством кодирования множества фрагментов разделительной геометрической информации. Например, множество кодеров 5302 геометрической информации обрабатывают множество фрагментов разделительной геометрической информации параллельно.
[0511] Как проиллюстрировано на фиг. 73, кодер 5302 геометрической информации включает в себя модуль 5321 вычисления значений квантования и энтропийный кодер 5322. Модуль 5321 вычисления значений квантования формирует значение квантования (параметр квантования) разделительной геометрической информации, которая должна кодироваться. Энтропийный кодер 5322 вычисляет квантованную геометрическую информацию посредством квантования разделительной геометрической информации с использованием значения квантования (параметра квантования), сформированного посредством модуля 5321 вычисления значений квантования.
[0512] Множество кодеров 5303 информации атрибутов формируют множество фрагментов кодированной информации атрибутов посредством кодирования множества фрагментов разделительной информации атрибутов. Например, множество кодеров 5303 информации атрибутов обрабатывают множество фрагментов разделительной информации атрибутов параллельно.
[0513] Как проиллюстрировано на фиг. 73, кодер 5303 информации атрибутов включает в себя модуль 5331 вычисления значений квантования и энтропийный кодер 5332. Модуль 5321 вычисления значений квантования формирует значение квантования (параметр квантования) разделительной информации атрибутов, которая должна кодироваться. Энтропийный кодер 5332 вычисляет квантованную информацию атрибутов посредством квантования разделительной информации атрибутов с использованием значения квантования (параметра квантования), сформированного посредством модуля 5331 вычисления значений квантования.
[0514] Кодер 5304 дополнительной информации формирует кодированную дополнительную информацию посредством кодирования дополнительной информации, включенной в данные облаков точек, и дополнительной информации относительно разделения данных, сформированной при разделении посредством модуля 5301 разделения.
[0515] Мультиплексор 5305 формирует кодированные данные (кодированный поток) посредством мультиплексирования множества фрагментов кодированной геометрической информации, множества фрагментов кодированной информации атрибутов и кодированной дополнительной информации и передает сформированные кодированные данные. Кодированная дополнительная информация используется для декодирования.
[0516] Следует отметить, что хотя фиг. 71 показывает пример, в котором предусмотрено два кодера 5302 геометрической информации и два кодера 5303 информации атрибутов, число кодеров 5302 геометрической информации и число кодеров 5303 информации атрибутов может составлять один либо три или более. Множество фрагментов разделительных данных могут обрабатываться параллельно в идентичной микросхеме, к примеру, посредством множества ядер CPU, обрабатываться параллельно посредством ядер множества микросхем или обрабатываться параллельно посредством множества ядер множества микросхем.
[0517] Далее описывается процесс декодирования. Фиг. 74 является блок-схемой, иллюстрирующей конфигурацию первого декодера 5340. Фиг. 75 является блок-схемой, иллюстрирующей конфигурацию декодера 5342 геометрической информации и декодера 5343 информации атрибутов.
[0518] Первый декодер 5340 воспроизводит данные облаков точек посредством декодирования кодированных данных (кодированного потока), сформированных посредством кодирования данных облаков точек в первом способе кодирования (GPCC). Первый декодер 5340 включает в себя демультиплексор 5341, множество декодеров 5342 геометрической информации, множество декодеров 5343 информации атрибутов, декодер 5344 дополнительной информации и модуль 5345 объединения.
[0519] Демультиплексор 5341 формирует множество фрагментов кодированной геометрической информации, множество фрагментов кодированной информации атрибутов и кодированную дополнительную информацию посредством демультиплексирования кодированных данных (кодированного потока).
[0520] Множество декодеров 5342 геометрической информации формируют множество фрагментов квантованной геометрической информации посредством декодирования множества фрагментов кодированной геометрической информации. Например, множество декодеров 5342 геометрической информации обрабатывают множество фрагментов кодированной геометрической информации параллельно.
[0521] Как проиллюстрировано на фиг. 75, декодер 5342 геометрической информации включает в себя модуль 5351 вычисления значений квантования и энтропийный декодер 5352. Модуль 5351 вычисления значений квантования формирует значение квантования квантованной геометрической информации. Энтропийный декодер 5352 вычисляет геометрическую информацию посредством обратного квантования квантованной геометрической информации с использованием значения квантования, сформированного посредством модуля 5351 вычисления значений квантования.
[0522] Множество декодеров 5343 информации атрибутов формируют множество фрагментов разделительной информации атрибутов посредством декодирования множества фрагментов кодированной информации атрибутов. Например, множество декодеров 5343 информации атрибутов обрабатывают множество фрагментов кодированной информации атрибутов параллельно.
[0523] Как проиллюстрировано на фиг. 75, декодер 5343 информации атрибутов включает в себя модуль 5361 вычисления значений квантования и энтропийный декодер 5362. Модуль 5361 вычисления значений квантования формирует значение квантования квантованной информации атрибутов. Энтропийный декодер 5362 вычисляет информацию атрибутов посредством обратного квантования квантованной информации атрибутов с использованием значения квантования, сформированного посредством модуля 5361 вычисления значений квантования.
[0524] Множество декодеров 5344 дополнительной информации формируют дополнительную информацию посредством декодирования кодированной дополнительной информации.
[0525] Модуль 5345 объединения формирует геометрическую информацию посредством объединения множества фрагментов разделительной геометрической информации с использованием дополнительной информации. Модуль 5345 объединения формирует информацию атрибутов посредством объединения множества фрагментов разделительной информации атрибутов с использованием дополнительной информации. Например, модуль 5345 объединения сначала формирует данные облаков точек, ассоциированные с плиткой, посредством объединения декодированных данных облаков точек, ассоциированных со срезами, с использованием дополнительной информации срезов. Модуль 5345 объединения затем воспроизводит исходные данные облаков точек посредством объединения данных облаков точек, ассоциированных с плитками, с использованием дополнительной информации плиток.
[0526] Следует отметить, что хотя фиг. 74 показывает пример, в котором предусмотрено два декодера 5342 геометрической информации и два декодера 5343 информации атрибутов, число декодеров 5342 геометрической информации и число декодеров 5343 информации атрибутов может составлять один либо три или более. Множество фрагментов разделительных данных могут обрабатываться параллельно в идентичной микросхеме, к примеру, посредством множества ядер CPU, обрабатываться параллельно посредством ядер множества микросхем или обрабатываться параллельно посредством множества ядер множества микросхем.
[0527] Способ определения параметра квантования
Фиг. 76 является блок-схемой последовательности операций способа, иллюстрирующей пример процесса относительно определения значения квантования (значения параметра квантования: QP-значения) при кодировании геометрической информации (геометрии) или при кодировании информации атрибутов (атрибута).
[0528] QP-значение определяется, например, с учетом эффективности кодирования на основе единиц данных геометрической информации или информации атрибутов, формирующей PCC-кадр. Когда единица данных представляет собой плитку или срез, получающийся в результате разделения, QP-значение определяется на основе единиц разделительных данных с учетом эффективности кодирования единиц разделительных данных. QP-значение может определяться на основе единиц данных перед разделением.
[0529] Как проиллюстрировано на фиг. 76, устройство кодирования трехмерных данных определяет QP-значение, используемое для кодирования геометрической информации (S5301). Устройство кодирования трехмерных данных может определять QP-значение для каждого из множества разделительных срезов предварительно определенным способом. В частности, устройство кодирования трехмерных данных определяет QP-значение на основе характеристик или качества данных геометрической информации. Например, устройство кодирования трехмерных данных может определять плотность данных облаков точек для каждой единицы данных, т.е. число точек в расчете на единицу площади, принадлежащих каждому срезу, и определять значение, соответствующее плотности данных облаков точек, в качестве QP-значения. Альтернативно, устройство кодирования трехмерных данных может определять, в качестве QP-значения, любое из следующих значений, соответствующих геометрической информации: число точек в данных облаков точек, распределение точек в данных облаков точек, дисбаланс точек в данных облаков точек, количество признаков, полученное из информации относительно точек, число точек-признаков или распознанный объект. Устройство кодирования трехмерных данных также может определять объект, ассоциированный с геометрической информацией карты, и определять QP-значение на основе объекта на основе геометрической информации либо может определять QP-значение на основе информации или количества признаков, полученного посредством проецирования облака трехмерных точек на двумерную плоскость. Соответствующее QP-значение может сохраняться в запоминающем устройстве заранее в форме таблицы, которая ассоциирует QP-значение с плотностью, числом точек, распределением точек или дисбалансом точек в данных облаков точек. Соответствующее QP-значение также может сохраняться в запоминающем устройстве заранее в форме таблицы, которая ассоциирует QP-значение с количеством признаков или числом точек-признаков, полученным из информации относительно точек, либо с объектом, распознанным на основе информации относительно точек. Соответствующее QP-значение может определяться на основе результата моделирования эффективности кодирования и т.п. с использованием различных QP-значений при кодировании геометрической информации относительно данных облаков точек.
[0530] Устройство кодирования трехмерных данных затем определяет опорное значение (значение по умолчанию) и информацию разности (дельту квантования) относительно QP-значения для геометрической информации (S5302). В частности, устройство кодирования трехмерных данных определяет опорное значение и информацию разности, которые должны передаваться с использованием определенного QP-значения предварительно определенным способом, и задает (суммирует) определенное опорное значение и информацию разности, по меньшей мере, в одном из дополнительной информации или заголовка данных.
[0531] Устройство кодирования трехмерных данных затем определяет QP-значение, используемое для кодирования информации атрибутов (S5303). Устройство кодирования трехмерных данных может определять QP-значение для каждого из множества разделительных срезов предварительно определенным способом. В частности, устройство кодирования трехмерных данных определяет QP-значение на основе характеристик или качества данных информации атрибутов. Например, устройство кодирования трехмерных данных может определять QP-значение на основе единиц данных на основе характеристик информации атрибутов. Цветовые характеристики включают в себя, например, яркость, цветность и сигнал цветности, их гистограмму и цветовую непрерывность. Когда информация атрибутов представляет собой отражательную способность, QP-значение может определяться на основе информации на основе отражательной способности. Например, когда лицо обнаруживается в качестве объекта из данных облаков точек, устройство кодирования трехмерных данных может определять высококачественное QP-значение для данных облаков точек, формирующих объект, обнаруженный в качестве лица. Таким образом, устройство кодирования трехмерных данных может определять QP-значение для данных облаков точек, формирующих объект, в зависимости от типа объекта.
[0532] Когда трехмерная точка имеет множество фрагментов информации атрибутов, устройство кодирования трехмерных данных может определять различное QP-значение для каждого фрагмента информации атрибутов на основе фрагмента информации атрибутов. Альтернативно, устройство кодирования трехмерных данных может определять QP-значение для множества фрагментов информации атрибутов на основе любого из фрагментов информации атрибутов или определять QP-значение для множества фрагментов информации атрибутов на основе множества фрагментов информации атрибутов.
[0533] Устройство кодирования трехмерных данных затем определяет опорное значение (значение по умолчанию) и информацию разности (дельту квантования) относительно QP-значения для информации атрибутов (S5304). В частности, устройство кодирования трехмерных данных определяет опорное значение и информацию разности, которые должны передаваться с использованием определенного QP-значения предварительно определенным способом, и задает (суммирует) определенное опорное значение и информацию разности, по меньшей мере, в одном из дополнительной информации или заголовка данных.
[0534] Устройство кодирования трехмерных данных затем квантует и кодирует геометрическую информацию и информацию атрибутов на основе определенных QP-значений для геометрической информации и информации атрибутов, соответственно (S5305).
[0535] Следует отметить, что хотя описан пример, в котором QP-значение для геометрической информации определяется на основе геометрической информации, и QP-значение для информации атрибутов определяется на основе информации атрибутов, настоящее раскрытие не ограничено этим. Например, QP-значения для геометрической информации и информации атрибутов могут определяться на основе геометрической информации, на основе информации атрибутов либо на основе геометрической информации и информации атрибутов.
[0536] Следует отметить, что QP-значения для геометрической информации и информации атрибутов могут регулироваться с учетом баланса между качеством геометрической информации и качеством информации атрибутов в данных облаков точек. Например, QP-значения для геометрической информации и информации атрибутов могут задаваться таким образом, что качество геометрической информации является высоким, и качество информации атрибутов ниже качества геометрической информации. Например, QP-значение для информации атрибутов может определяться в соответствии с таким ограничением, что QP-значение для информации атрибутов равно или выше QP-значения для геометрической информации.
[0537] QP-значение может регулироваться таким образом, что кодированные данные формируются в пределах предварительно определенного диапазона скорости. Например, когда объем кода для кодирования предыдущей единицы данных предположительно должен превышать предварительно определенную скорость, т.е. когда разность относительно предварительно определенной скорости меньше первой разности, QP-значение может регулироваться для того, чтобы снижать качество кодирования таким образом, что разность между предварительно определенной скоростью и объемом кода единицы данных меньше первой разности. С другой стороны, когда разность относительно предварительно определенной скорости превышает вторую разность, которая превышает первую разность, и имеется значительная разность, QP-значение может регулироваться для того, чтобы повышать качество кодирования единицы данных. Регулирование между единицами данных может осуществляться между PCC-кадрами либо между плитками или срезами. Регулирование QP-значения для информации атрибутов может осуществляться на основе скорости кодирования геометрической информации.
[0538] Следует отметить, что на блок-схеме последовательности операций способа по фиг. 76, обработка относительно геометрической информации и обработка относительно информации атрибутов могут выполняться в обратном порядке или параллельно.
[0539] Следует отметить, что хотя блок-схема последовательности операций способа по фиг. 76 показывает процесс на основе срезов в качестве примера, процесс на основе плиток или процесс на основе других единиц данных может выполняться идентично процессу на основе срезов. Таким образом, срез на блок-схеме последовательности операций способа по фиг. 76 может заменяться плиткой или другими единицами данных.
[0540] Фиг. 77 является блок-схемой последовательности операций способа, иллюстрирующей пример процесса декодирования геометрической информации и информации атрибутов.
[0541] Как проиллюстрировано на фиг. 77, устройство декодирования трехмерных данных получает опорное значение и информацию разности, которые указывают QP-значение для геометрической информации, и опорное значение и информацию разности, которые указывают QP-значение для информации атрибутов (S5311). В частности, устройство декодирования трехмерных данных анализирует одно или оба из передаваемых метаданных или заголовка передаваемых кодированных данных и получает опорные значения и информацию разности для извлечения QP-значений.
[0542] Устройство декодирования трехмерных данных затем извлекает QP-значения с использованием полученных опорных значений и информации разности предварительно определенным способом.
[0543] Устройство декодирования трехмерных данных затем получает квантованную геометрическую информацию и получает геометрическую информацию посредством обратного квантования квантованной геометрической информации с использованием извлеченного QP-значения (S5313).
[0544] Устройство декодирования трехмерных данных затем получает квантованную информацию атрибутов и получает информацию атрибутов посредством обратного квантования квантованной информации атрибутов с использованием извлеченного QP-значения (S5314).
[0545] Далее описывается способ передачи параметра квантования.
[0546] Фиг. 78 является схемой для описания первого примера способа передачи параметра квантования. Часть (a) по фиг. 78 показывает пример взаимосвязи между QP-значениями.
[0547] На фиг. 78, QG и QA обозначают абсолютное значение для QP-значения, используемого для кодирования геометрической информации, и абсолютное значение для QP-значения, используемого для кодирования информации атрибутов, соответственно. QG представляет собой пример первого параметра квантования, используемого для квантования геометрической информации относительно каждой из множества трехмерных точек; Δ(QA, QG) обозначает информацию разности, которая указывает разность между QA и QG, используемую для извлечения QA. Таким образом, QA извлекается с использованием QG и Δ(QA, QG). Таким образом, QP-значение разделяется на опорное значение (абсолютное значение) и информацию разности (относительное значение) для передачи. При декодировании требуемое QP-значение извлекается из передаваемого опорного значения и информации разности.
[0548] Например, в части (a) по фиг. 78, абсолютное значение QG и информация Δ(QA, QG) разности передаются, и при декодировании, QA извлекается посредством суммирования Δ(QA, QG) с QG, как показано посредством нижеприведенного уравнения G5.
[0549] QA=QG+Δ(QA, QG) (уравнение G5)
[0550] Со ссылкой на части (b) и (c) по фиг. 78, в дальнейшем описывается способ передачи QP-значений в случае, если данные облаков точек, включающие в себя геометрическую информацию и информацию атрибутов, разделяются на срезы. Часть (b) по фиг. 78 показывает первый пример взаимосвязи между опорным значением и информацией разности для каждого QP-значения. Часть (c) по фиг. 78 показывает первый пример порядка передачи QP-значений, геометрической информации и информации атрибутов.
[0551] Для каждого фрагмента геометрической информации и каждого фрагмента информации атрибутов, QP-значения классифицируются на QP-значения (QP кадров) в единицах PCC-кадров и QP-значения (QP данных) в единицах данных. QP-значение, используемое для кодирования, определенное на этапе S5301 на фиг. 76, представляет собой QP-значение в единицах данных.
[0552] Здесь, QG, которое представляет собой QP-значение, используемое для кодирования геометрической информации в единицах PCC-кадров, используется в качестве опорного значения, и QP-значение в единицах данных формируется и передается в качестве информации разности, которая указывает разность относительно QG.
[0553] QG: QP-значение для кодирования геометрической информации для PCC-кадра, которое передается как опорное значение "1" с использованием GPS.
QA: QP-значение для кодирования информации атрибутов для PCC-кадра, которое передается как информация разности "2" с использованием APS.
QGs1, QGs2: QP-значения для кодирования геометрической информации данных срезов, которые передаются как информация разности "3" и "5", указывающая разность относительно QG, соответственно, с использованием заголовка кодированных данных геометрической информации.
QAs1, QAs2: QP-значения для кодирования информации атрибутов данных срезов, которые передаются как информация разности "4" и "6", указывающая разность относительно QA, соответственно, с использованием заголовка кодированных данных информации атрибутов.
[0554] Следует отметить, что информация, используемая для извлечения QP кадров, описывается в метаданных (GPS, APS), ассоциированных с кадром, и информация, используемая для извлечения QP данных, описывается в метаданных (заголовке кодированных данных), ассоциированных с данными.
[0555] Таким образом, QP данных формируется и передается в качестве информации разности, указывающей разность относительно QP кадров. Следовательно, объем данных для QP данных может уменьшаться.
[0556] В каждом фрагменте кодированных данных, первый декодер 5340 обращается к метаданным, указываемым посредством стрелки в части (c) по фиг. 78, и получает опорное значение и информацию разности, ассоциированные с кодированными данными. Первый декодер 5340 затем извлекает QP-значение, соответствующее кодированным данным, которые должны декодироваться, на основе полученного опорного значения и информации разности.
[0557] Например, первый декодер 5340 получает ссылочную информацию "1" и информацию разности "2" и "6", указываемую посредством стрелок в части (c) по фиг. 78, из метаданных или заголовка и извлекает QP-значение As2 посредством суммирования информации разности "2" и "6" со ссылочной информацией "1", как показано посредством нижеприведенного уравнения G6.
[0558] QAs2=QG+Δ(QA, QG)+Δ(QAs2, QA) (уравнение G6)
[0559] Данные облаков точек включают в себя геометрическую информацию и нуль или более фрагментов информации атрибутов. Таким образом, данные облаков точек могут не включать в себя информацию атрибутов или множество фрагментов информации атрибутов.
[0560] Например, одна трехмерная точка может иметь, в качестве информации атрибутов, цветовую информацию, цветовую информацию и информацию отражательной способности либо один или более фрагментов цветовой информации, связанных с одним или более фрагментов информации точки обзора.
[0561] Здесь, в дальнейшем описывается пример случая, в котором одна трехмерная точка имеет два фрагмента цветовой информации и информации отражательной способности, со ссылкой на фиг. 79. Фиг. 79 является схемой для описания второго примера способа передачи параметра квантования. Часть (a) по фиг. 79 является схемой, иллюстрирующей второй пример взаимосвязи между опорным значением и информацией разности для каждого QP-значения. Часть (b) по фиг. 79 является схемой, иллюстрирующей второй пример порядка передачи QP-значений, геометрической информации и информации атрибутов.
[0562] QG представляет собой пример первого параметра квантования, как показано на фиг. 78.
[0563] Два фрагмента цветовой информации указываются посредством яркости Y (сигнала яркости) и цветностей Cb, Cr (сигналов цветности), соответственно. QY1, которое представляет собой QP-значение, используемое для кодирования яркости Y1 первого цвета, извлекается из QG, которое представляет собой опорное значение, и Δ(QY1, QG), которое указывает разность между QY1 и QG. Яркость Y1 представляет собой пример первой яркости, и QY1 представляет собой пример второго параметра квантования, используемого для квантования яркости Y1 в качестве первой яркости; Δ(QY1, QG) представляет собой информацию разности "2".
[0564] QCb1 и QCr1, которые представляют собой QP-значения, используемые для кодирования цветностей Cb1 и Cr1 первого цвета, извлекаются из QY1 и Δ(QCb1, QY1) и Δ(QCr1, QY1), которые указывают разность между QCb1 и QY1 и разность между QCr1 и QY1, соответственно. Цветности Cb1 и Cr1 представляют собой примеры первой цветности, и QCb1 и QCr1 представляют собой примеры третьего параметра квантования, используемого для квантования цветностей Cb1 и Cr1 в качестве первой цветности; Δ(QCb1, QY1) представляет собой информацию разности "3", и Δ(QCr1, QY1) представляет собой информацию разности "4"; Δ(QCb1, QY1) и Δ(QCr1, QY1) представляют собой примеры первой разности.
[0565] Следует отметить, что QCb1 и QCr1 могут быть идентичными значениями или общим значением. Когда общее значение используется, одно из QCb1 и QCr1 может использоваться, а другое может опускаться.
[0566] QY1D, которое представляет собой QP-значение, используемое для кодирования яркости Y1D первого цвета в данных срезов, извлекается из QY1 и Δ(QY1D, QY1), указывающего разность между QY1D и QY1. Яркость Y1D первого цвета в данных срезов представляет собой пример первой яркости одной или более трехмерных точек, включенных в подпространство, и QY1D представляет собой пример пятого параметра квантования, используемого для квантования яркости Y1D; Δ(QY1D, QY1) представляет собой информацию разности "10" и пример второй разности.
[0567] Аналогично, QCb1D и QCr1D, которые представляют собой QP-значения, используемые для кодирования цветностей Cb1D и Cr1D первого цвета в данных срезов, извлекаются из QCb1 и Δ(QCb1D, QCb1), указывающего разность между QCb1D и QCb1, и QCr1 и Δ(QCr1D, QCr1), указывающего разность между QCr1D и QCr1, соответственно. Цветности Cb1D и Cr1D первого цвета в данных срезов представляют собой примеры первой цветности одной или более трехмерных точек, включенных в подпространство, и QCb1D и QCr1D представляют собой примеры шестого параметра квантования, используемого для квантования цветностей Cb1D и Cr1D; Δ(QCb1D, QCb1) представляет собой информацию разности "11", и Δ(QCr1D, QCr1) представляет собой информацию разности "12"; Δ(QCb1D, QCb1) и Δ(QCr1D, QCr1) представляют собой примеры третьей разности.
[0568] Взаимосвязь между QP-значениями для первого цвета является применимой для второго цвета, так что избыточные описания опускаются.
[0569] QR, которое представляет собой QP-значение, используемое для кодирования отражательной способности R, извлекается из QG, которое представляет собой опорное значение, и Δ(QR, QG), которое указывает разность между QR и QG. QR представляет собой пример четвертого параметра квантования, используемого для квантования отражательной способности R; Δ(QR, QG) представляет собой информацию разности "8".
[0570] QRD, которое представляет собой QP-значение, используемое для кодирования отражательной способности RD в данных срезов, извлекается из QR и Δ(QRD, QR), которое указывает разность между QRD и QR; Δ(QRD, QR) представляет собой информацию разности "16".
[0571] Как описано выше, информация разности "9"-"16" указывает разность между QP данных и QP кадров.
[0572] Следует отметить, что когда значения QP данных и QP кадров являются идентичными, например, информация разности может задаваться равной 0 или может не передаваться, и отсутствие передачи может рассматриваться в качестве информации разности в 0.
[0573] При получении цветности Cr2 второго цвета посредством декодирования, например, первый декодер 5340 получает ссылочную информацию "1" и информацию разности "5", "7" и "15", указываемую посредством стрелок в части (b) по фиг. 79, из метаданных или заголовка и извлекает QP-значение цветности Cr2 посредством суммирования информации разности "5", "7" и "15" со ссылочной информацией "1", как показано посредством нижеприведенного уравнения G7.
[0574] QCr2D=QG+Δ(QY2, QG)+Δ(QCr2, QY2)+Δ(QCr2D, QCr2) (уравнение G7)
[0575] Далее описывается пример случая, в котором геометрическая информация и информация атрибутов разделяются на две плитки и затем разделяются на два среза, со ссылкой на фиг. 80. Фиг. 80 является схемой для описания третьего примера способа передачи параметра квантования. Часть (a) по фиг. 80 показывает третий пример взаимосвязи между опорным значением и информацией разности для каждого QP-значения. Часть (b) по фиг. 80 показывает третий пример порядка передачи QP-значений, геометрической информации и информации атрибутов. Часть (c) по фиг. 80 описывает промежуточное сформированное значение для информации разности в третьем примере.
[0576] Когда геометрическая информация и информация атрибутов разделяется на множество плиток и затем дополнительно разделяется на множество срезов, как проиллюстрировано в части (c) по фиг. 80, после того, как информация атрибутов разделяется на плитки, QP-значение (QAt1) и информация разности Δ(QAt1, QA) для каждой плитки формируются в качестве промежуточных сформированных значений. После того, как плитка разделяется на срезы, QP-значения (QAt1s1, QAt1s2) и информация разности (Δ(QAt1s1, QAt1), Δ(QAt1s2, QAt1)) формируются для каждого среза.
[0577] В этом случае, информация разности "4" в части (a) по фиг. 80 извлекается согласно нижеприведенному уравнению G8.
[0578] Δ(QAt1s1, QA) = Δ(QAt1, QA)+Δ(QAt1s1, QAt1) (уравнение G8)
[0579] При получении информации At2s1 атрибутов для среза 1 в плитке 2 посредством декодирования, например, первый декодер 5340 получает ссылочную информацию "1" и информацию разности "2" и "8", указываемую посредством стрелок в части (b) по фиг. 80, из метаданных или заголовка и извлекает QP-значение информации At2s1 атрибутов посредством суммирования информации разности "2" и "8" со ссылочной информацией "1", как показано посредством нижеприведенного уравнения G9.
[0580] QAt2s1=QG+Δ(QAt2s1, QA)+Δ(QA, QG) (уравнение G9)
[0581] Далее описываются последовательность операций процесса кодирования данных облаков точек и последовательность операций процесса декодирования данных облаков точек согласно этому варианту осуществления. Фиг. 81 является блок-схемой последовательности операций способа для процесса кодирования данных облаков точек согласно этому варианту осуществления.
[0582] Во-первых, устройство кодирования трехмерных данных определяет способ разделения, который должен использоваться (S5321). Способ разделения включает в себя определение того, следует выполнять разделение на плитки или нет, и определение того, следует выполнять разделение на срезы или нет. Способ разделения может включать в себя, например, число плиток или срезов в случае, если выполняется разделение на плитки или разделение на срезы, и тип разделения. Тип разделения представляет собой, например, схему на основе формы объекта, схему на основе картографической информации или геометрической информации либо схему на основе объема данных или объема обработки. Следует отметить, что способ разделения может определяться заранее.
[0583] Когда разделение на плитки должно выполняться (если "Да" на S5322), устройство кодирования трехмерных данных формирует множество фрагментов геометрической информации плиток и множество фрагментов информации атрибутов плиток посредством разделения геометрической информации и информации атрибутов на основе плиток (S5323). Устройство кодирования трехмерных данных также формирует дополнительную информацию плиток относительно разделения на плитки.
[0584] Когда разделение на срезы должно выполняться (если "Да" на S5324), устройство кодирования трехмерных данных формирует множество фрагментов разделительной геометрической информации и множество фрагментов разделительной информации атрибутов посредством разделения множества фрагментов геометрической информации плиток и множества фрагментов информации атрибутов плиток (либо геометрической информации и информации атрибутов) (S5325). Устройство кодирования трехмерных данных также формирует дополнительную информацию геометрических срезов и дополнительную информацию срезов атрибутов относительно разделения на срезы.
[0585] Устройство кодирования трехмерных данных затем формирует множество фрагментов кодированной геометрической информации и множество фрагментов кодированной информации атрибутов посредством кодирования каждого из множества фрагментов разделительной геометрической информации и множества фрагментов разделительной информации атрибутов (S5326). Устройство кодирования трехмерных данных также формирует информацию зависимостей.
[0586] Устройство кодирования трехмерных данных затем формирует кодированные данные (кодированный поток) посредством интегрирования (мультиплексирования) множества фрагментов кодированной геометрической информации, множества фрагментов кодированной информации атрибутов и дополнительной информации в NAL-единицу (S5327). Устройство кодирования трехмерных данных также передает сформированные кодированные данные.
[0587] Фиг. 82 является блок-схемой последовательности операций способа, иллюстрирующей пример процесса определения QP-значения и обновления дополнительной информации при разделении на плитки (S5323) и при разделении на срезы (S5325).
[0588] На этапах S5323 и S5325, геометрическая информация плиток и информация атрибутов плиток и/или геометрическая информация срезов и информация атрибутов срезов могут независимо разделяться соответствующими способами или могут совместно разделяться общим способом. Таким образом, формируется дополнительная информация, разделенная на основе плиток и/или на основе срезов.
[0589] На этих этапах, устройство кодирования трехмерных данных определяет опорное значение и информацию разности для QP-значения на основе разделительных плиток и/или на основе разделительных срезов (S5331). В частности, устройство кодирования трехмерных данных определяет опорное значение и информацию разности, к примеру, опорное значение и информацию разности, проиллюстрированные на фиг. 78-80.
[0590] Устройство кодирования трехмерных данных затем обновляет дополнительную информацию таким образом, что она включает в себя определенное опорное значение и информацию разности (S5332).
[0591] Фиг. 83 является блок-схемой последовательности операций способа, иллюстрирующей пример процесса при кодировании (S5326).
[0592] Устройство кодирования трехмерных данных кодирует каждый из множества фрагментов разделительной геометрической информации и множества фрагментов разделительной информации атрибутов (S5341). В частности, устройство кодирования трехмерных данных кодирует каждый из множества фрагментов разделительной геометрической информации и множества фрагментов разделительной информации атрибутов с использованием определенного QP-значения.
[0593] Устройство кодирования трехмерных данных затем продолжает процесс кодирования до тех пор, пока условие для прекращения процесса кодирования не удовлетворяется, к примеру, до тех пор, пока не закончатся данные, которые должны кодироваться (S5342).
[0594] Фиг. 84 является блок-схемой последовательности операций способа, иллюстрирующей процесс декодирования данных облаков точек согласно этому варианту осуществления. Во-первых, устройство декодирования трехмерных данных определяет способ разделения посредством анализа дополнительной информации (дополнительной информации плиток, дополнительной информации геометрических срезов и дополнительной информации срезов атрибутов) относительно способа разделения, включенной в кодированные данные (кодированный поток) (S5351). Способ разделения включает в себя определение того, следует выполнять разделение на плитки или нет, и определение того, следует выполнять разделение на срезы или нет. Способ разделения может включать в себя, например, число плиток или срезов в случае, если выполняется разделение на плитки или разделение на срезы, и тип разделения.
[0595] Устройство декодирования трехмерных данных затем формирует разделительную геометрическую информацию и разделительную информацию атрибутов посредством декодирования множества фрагментов кодированной геометрической информации и множества фрагментов кодированной информации атрибутов, включенных в кодированные данные, с использованием информации зависимостей, включенной в кодированные данные (S5352).
[0596] Если дополнительная информация указывает то, что разделение на срезы выполнено (если "Да" на S5353), устройство декодирования трехмерных данных формирует множество фрагментов геометрической информации плиток и множество фрагментов информации атрибутов плиток посредством объединения множества фрагментов разделительной геометрической информации и множества фрагментов разделительной информации атрибутов на основе дополнительной информации геометрических срезов и дополнительной информации срезов атрибутов (S5354).
[0597] Если дополнительная информация указывает то, что разделение на плитки выполнено (если "Да" на S5355), устройство декодирования трехмерных данных формирует геометрическую информацию и информацию атрибутов посредством объединения множества фрагментов геометрической информации плиток и множества фрагментов информации атрибутов плиток (множества фрагментов разделительной геометрической информации и множества фрагментов разделительной информации атрибутов) на основе дополнительной информации плиток (S5356).
[0598] Фиг. 85 является блок-схемой последовательности операций способа, иллюстрирующей пример процесса получения QP-значений и декодирования QP-значения для среза или плитки при объединении информации, разделенной на срезы (S5354), и при объединении информации, разделенной на плитки (S5356).
[0599] Фрагменты геометрической информации срезов и фрагменты информации атрибутов срезов либо фрагменты геометрической информации плиток или фрагменты информации атрибутов плиток могут объединяться соответствующими способами или идентичным способом.
[0600] Устройство декодирования трехмерных данных получает опорное значение и информацию разности посредством декодирования дополнительной информации в кодированном потоке (S5361).
[0601] Устройство декодирования трехмерных данных затем вычисляет значение квантования с использованием декодированного опорного значения и информации разности и обновляет QP-значение, используемое для обратного квантования, на вычисленное QP-значение (S5362). Таким образом, QP-значение для обратного квантования квантованной информации атрибутов для каждой плитки или среза может извлекаться.
[0602] Устройство декодирования трехмерных данных затем продолжает процесс декодирования до тех пор, пока условие для прекращения процесса декодирования не удовлетворяется, к примеру, до тех пор, пока не закончатся данные, которые должны декодироваться (S5363).
[0603] Фиг. 86 является схемой, иллюстрирующей пример синтаксиса GPS. Фиг. 87 является схемой, иллюстрирующей пример синтаксиса APS. Фиг. 88 является схемой, иллюстрирующей пример синтаксиса заголовка геометрической информации. Фиг. 89 является схемой, иллюстрирующей пример синтаксиса заголовка информации атрибутов.
[0604] Как проиллюстрировано на фиг. 86, например, GPS, который представляет собой дополнительную информацию геометрической информации, включает в себя QP_value, которое указывает абсолютное значение, используемое в качестве опорного для извлечения QP-значения. QP_value соответствует QG, проиллюстрированному на фиг. 78-80.
[0605] Как проиллюстрировано на фиг. 87, например, когда трехмерная точка имеет множество фрагментов цветовой информации, ассоциированной с множеством точек обзора, APS, который представляет собой дополнительную информацию информации атрибутов, может задавать точку обзора по умолчанию, и 0-й фрагмент информации атрибутов может всегда описывать информацию относительно точки обзора по умолчанию. Например, при декодировании или отображении одного фрагмента цветовой информации, устройство кодирования трехмерных данных может декодировать или отображать 0-й фрагмент информации атрибутов.
[0606] APS включает в себя QP_delta_Attribute_to_Geometry. QP_delta_Attribute_to_Geometry представляет собой информацию разности, указывающую разность относительно опорного значения (QP_value), описанного в GPS. Информация разности указывает, например, разность в яркости, когда информация атрибутов представляет собой цветовую информацию.
[0607] GPS может включать в себя флаг, который указывает то, включает или нет Geometry_header (заголовок геометрической информации) в себя информацию разности, используемую для вычисления QP-значения. APS может включать в себя флаг, который указывает то, включает или нет Attribute_header (заголовок информации атрибутов) в себя информацию разности, используемую для вычисления QP-значения. Флаг может указывать то, включает или нет информация атрибутов в себя информацию разности, указывающую разность QP данных относительно QP кадров, которая используется для вычисления QP данных.
[0608] Когда первый цвет информации атрибутов указывается посредством первой яркости и первой цветности, при квантовании первой яркости с использованием второго параметра квантования и при квантовании первой цветности с использованием третьего параметра квантования, если квантования выполняются с использованием пятого параметра квантования и шестого параметра квантования, кодированный поток может включать в себя идентификационную информацию (флаг), которая указывает то, что квантования выполняются с использованием пятого параметра квантования и шестого параметра квантования.
[0609] Как проиллюстрировано на фиг. 88, заголовок геометрической информации может включать в себя QP_delta_data_to_frame, которое представляет собой информацию разности, указывающую разность относительно опорного значения (QP_value), описанного в GPS. Заголовок геометрической информации может разделяться на фрагменты информации, ассоциированные с плитками и/или срезами, и может указываться QP-значение, соответствующее каждой плитке и/или срезу.
[0610] Как проиллюстрировано на фиг. 89, заголовок информации атрибутов может включать в себя QP_delta_data_to_frame, которое представляет собой информацию разности, указывающую разность относительно QP-значения, описанного в APS.
[0611] Хотя опорное значение для QP-значения описывается как представляющее собой QP-значение геометрической информации для PCC-кадра со ссылкой на фиг. 78-80, настоящее раскрытие не ограничено этим, и другие значения могут использоваться в качестве опорного значения.
[0612] Фиг. 90 является схемой для описания другого примера способа передачи параметра квантования.
[0613] Части (a) и (b) по фиг. 90 иллюстрируют четвертый пример, в котором общее опорное значение Q задается на основе QP-значений геометрической информации и информации атрибутов для PCC-кадра. В четвертом примере, опорное значение Q сохраняется в GPS, информация разности, указывающая разность QP-значения (QG) геометрической информации относительно опорного значения Q, сохраняется в GPS, и информация разности, указывающая разность QP-значений (QY и QR) информации атрибутов относительно опорного значения Q, сохраняется в APS. Следует отметить, что опорное значение Q может сохраняться в SPS.
[0614] Части (c) и (d) по фиг. 90 иллюстрируют пятый пример, в котором различное опорное значение задается для каждой из геометрической информации и информации атрибутов. В пятом примере, опорные QP-значения (абсолютные значения) геометрической информации и информации атрибутов сохраняются в GPS и APS, соответственно. Таким образом, опорное значение QG задается в геометрической информации, опорное значение QY задается в цветовой информации из информации атрибутов, и опорное значение QR задается в качестве отражательной способности из информации атрибутов. Таким образом, опорное значение для QP-значения может задаваться для каждой из геометрической информации и множества видов информации атрибутов. Следует отметить, что пятый пример может объединяться с другим примером. Таким образом, QA в первом примере либо QY1, QY2 и QR во втором примере могут представлять собой опорное значение QP-значения.
[0615] Части (e) и (f) по фиг. 90 иллюстрируют шестой пример, в котором, когда предусмотрено множество PCC-кадров, общее опорное значение Q задается для множества PCC-кадров. В шестом примере, опорное значение Q сохраняется в SPS или GPS, и информация разности, указывающая разность между QP-значением геометрической информации и опорным значением для каждого PCC-кадра, сохраняется в GPS. Следует отметить, что в пределах диапазона единицы произвольного доступа, такой как GOF, например, опережающий кадр единицы произвольного доступа может обозначаться как опорное значение, и информация Δ(QG(1), QG(0)) разности, указывающая разность между PCC-кадрами, может передаваться.
[0616] Следует отметить, что, даже когда плитка или срез дополнительно разделяется, информация разности, указывающая разность относительно QP-значения единицы разделения, сохраняется в заголовке данных и передается идентичным способом.
[0617] Фиг. 91 является схемой для описания другого примера способа передачи параметра квантования.
[0618] Части (a) и (b) по фиг. 91 иллюстрируют седьмой пример, в котором общее опорное значение QG задается для геометрической информации и информации атрибутов PCC-кадра. В седьмом примере, опорное значение QG сохраняется в GPS, и информация разности, указывающая разности относительно геометрической информации или информации атрибутов, сохраняется в соответствующих заголовках данных. Опорное значение QG может сохраняться в SPS.
[0619] Части (c) и (d) по фиг. 91 показывает восьмой пример, в котором QP-значение информации атрибутов указывается посредством информации разности, указывающей разность относительно QP-значения геометрической информации, принадлежащей идентичному срезу и плитке. В восьмом примере, опорное значение QG может сохраняться в SPS.
[0620] Фиг. 92 является схемой для описания девятого примера способа передачи параметра квантования.
[0621] Части (a) и (b) иллюстрируют девятый пример, в котором множество фрагментов информации атрибутов имеют общее QP-значение, и каждый фрагмент информации атрибутов указывает информацию разности, указывающую разность между общим QP-значением и QP-значением геометрической информации, и информацию разности, указывающую разность относительно значения информации атрибутов и общего QP-значения.
[0622] Фиг. 93 является схемой для описания примера управления QP-значением.
[0623] По мере того, как значение параметра квантования снижается, качество повышается, в то время как эффективность кодирования снижается, поскольку требуется большее число битов.
[0624] Например, при кодировании данных облаков трехмерных точек посредством разделения данных облаков трехмерных точек на плитки, если данные облаков точек, включенные в плитку, представляют собой главную дорогу, данные облаков точек кодируются с использованием ранее заданного QP-значения информации атрибутов. С другой стороны, периферийные плитки не включают в себя важную информацию, и в силу этого эффективность кодирования, возможно, может повышаться посредством задания информации разности QP-значения равной положительному значению, с тем чтобы снижать качество данных.
[0625] Кроме того, при кодировании данных облаков трехмерных точек, разделенных на плитки посредством разделения плиток на срезы, тротуар, дерево и здание являются важными для позиционной оценки (локализации и картографии) при автоматическом вождении, так что QP-значение задается равным отрицательному значению. С другой стороны, движущееся тело и другие объекты являются менее важными, так что QP-значение задается равным положительному значению.
[0626] Часть (b) по фиг. 93 показывает пример, в котором информация разности извлекается в случае, если дельта-значение квантования задается заранее на основе объекта, включенного в плитку или срез. Например, когда разделительные данные представляют собой данные срезов относительно "здания", включенные в плитку "главной дороги", информация разности равна -5, что извлекается посредством суммирования дельта-значения квантования в 0 плитки "главной дороги" и дельта-значения квантования в -5 данных срезов относительно "здания".
[0627] Фиг. 94 является блок-схемой последовательности операций, иллюстрирующей пример способа определения QP-значения на основе качества объекта.
[0628] Устройство кодирования трехмерных данных разделяет данные облаков точек на одну или более плиток на основе картографической информации и определяет объект, включенный в одну или более плиток (S5371). В частности, устройство кодирования трехмерных данных выполняет, например, процесс распознавания объектов для распознавания того, какой объект использует обучающую модель, полученную посредством машинного обучения.
[0629] Устройство кодирования трехмерных данных затем определяет то, следует или нет кодировать плитку, которая должна обрабатываться, с высоким качеством (S5372). Кодирование с высоким качеством, например, означает кодирование на скорости передачи битов, превышающей предварительно определенную скорость.
[0630] Когда плитка, которая должна обрабатываться, должна кодироваться с высоким качеством (если "Да" на S5372), устройство кодирования трехмерных данных затем задает QP-значение плитки таким образом, что эффективность кодирования является высокой (S5373).
[0631] С другой стороны, когда плитка, которая должна обрабатываться, не должна кодироваться с высоким качеством (если "Нет" на S5372), устройство кодирования трехмерных данных задает QP-значение плитки таким образом, что эффективность кодирования является низкой (S5374).
[0632] После этапа S5373 или S5374, устройство кодирования трехмерных данных определяет объект в плитке и разделяет плитку на один или более срезов (S5375).
[0633] Устройство кодирования трехмерных данных затем определяет то, следует или нет кодировать срез, который должен обрабатываться, с высоким качеством (S5376).
[0634] Когда срез, который должен обрабатываться, должен кодироваться с высоким качеством (если "Да" на S5376), устройство кодирования трехмерных данных затем задает QP-значение среза таким образом, что эффективность кодирования является высокой (S5377).
[0635] С другой стороны, когда срез, который должен обрабатываться, не должен кодироваться с высоким качеством (если "Нет" на S5376), устройство кодирования трехмерных данных задает QP-значение среза таким образом, что эффективность кодирования является низкой (S5378).
[0636] Устройство кодирования трехмерных данных затем определяет опорное значение и информацию разности, которые должны передаваться на основе заданного QP-значения предварительно определенным способом, и сохраняет определенное опорное значение и информацию разности, по меньшей мере, в одном из дополнительной информации и заголовка данных (S5379).
[0637] Устройство кодирования трехмерных данных затем квантует и кодирует геометрическую информацию и информацию атрибутов на основе определенного QP-значения (S5380).
[0638] Фиг. 95 является блок-схемой последовательности операций, иллюстрирующей пример способа определения QP-значения на основе управления скоростью.
[0639] Устройство кодирования трехмерных данных последовательно кодирует данные облаков точек (S5381).
[0640] Устройство кодирования трехмерных данных затем определяет состояние управления скоростью относительно процесса кодирования из объема кода кодированных данных и заполнения буфера кодирования и определяет качество последующего кодирования (S5382).
[0641] Устройство кодирования трехмерных данных затем определяет то, следует или нет повышать качество кодирования (S5383).
[0642] Когда качество кодирования должно повышаться (если "Да" на S5383), устройство кодирования трехмерных данных задает QP-значение плитки таким образом, что качество кодирования является более высоким (S5384).
[0643] С другой стороны, когда качество кодирования не должно повышаться (если "Нет" на S5383), устройство кодирования трехмерных данных задает QP-значение плитки таким образом, что качество кодирования является более низким (S5385).
[0644] Устройство кодирования трехмерных данных затем определяет опорное значение и информацию разности, которые должны передаваться на основе заданного QP-значения предварительно определенным способом, и сохраняет определенное опорное значение и информацию разности, по меньшей мере, в одном из дополнительной информации и заголовка данных (S5386).
[0645] Устройство кодирования трехмерных данных затем квантует и кодирует геометрическую информацию и информацию атрибутов на основе определенного QP-значения (S5387).
[0646] Как описано выше, устройство кодирования трехмерных данных согласно этому варианту осуществления выполняет процесс, проиллюстрированный на фиг. 96. Во-первых, устройство кодирования трехмерных данных квантует геометрическую информацию относительно каждой из множества трехмерных точек с использованием первого параметра квантования (S5391). Устройство кодирования трехмерных данных квантует первую яркость с использованием второго параметра квантования и квантует первую цветность с использованием третьего параметра квантования, причем первая яркость и первая цветность указывают первый цвет среди информации атрибутов относительно каждой из множества трехмерных точек (S5392). Устройство кодирования трехмерных данных формирует поток битов, включающий в себя квантованную геометрическую информацию, квантованную первую яркость, квантованную первую цветность, первый параметр квантования, второй параметр квантования и первую разность между вторым параметром квантования и третьим параметром квантования (S5393).
[0647] При такой конфигурации, поскольку третий параметр квантования указывается посредством первой разности относительно второго параметра квантования в потоке битов, эффективность кодирования может повышаться.
[0648] Например, устройство кодирования трехмерных данных дополнительно квантует отражательную способность среди информации атрибутов относительно каждой из множества трехмерных точек с использованием четвертого параметра квантования. Кроме того, при формировании, описанном выше, сформированный поток битов дополнительно включает в себя квантованную отражательную способность и четвертый параметр квантования.
[0649] Например, при квантовании с использованием второго параметра квантования, для каждого из множества подпространств, полученных посредством разделения текущего пространства, включающего в себя множество трехмерных точек, первая яркость одной или более трехмерных точек, включенных в подпространство, квантуется дополнительно с использованием пятого параметра квантования. При квантовании с использованием третьего параметра квантования, первая цветность одной или более трехмерных точек квантуется дополнительно с использованием шестого параметра квантования. При формировании, описанном выше, сформированный поток битов дополнительно включает в себя вторую разность между вторым параметром квантования и пятым параметром квантования и третью разность между третьим параметром квантования и шестым параметром квантования.
[0650] При такой конфигурации, поскольку пятый параметр квантования указывается посредством второй разности относительно второго параметра квантования, и шестой параметр квантования указывается посредством третьей разности относительно третьего параметра квантования в потоке битов, эффективность кодирования может повышаться.
[0651] Например, при формировании, описанном выше, сформированный поток битов дополнительно включает в себя идентификационную информацию, указывающую то, что пятый параметр квантования и шестой параметр квантования использованы при квантовании с использованием второго параметра квантования и при квантовании с использованием третьего параметра квантования, соответственно.
[0652] При такой конфигурации, устройство декодирования трехмерных данных, получающее поток битов, может определять из идентификационной информации то, что квантование с использованием пятого параметра квантования и квантование с использованием шестого параметра квантования выполнены, так что нагрузка по обработке процесса декодирования может уменьшаться.
[0653] Например, устройство кодирования трехмерных данных дополнительно квантует вторую яркость с использованием седьмого параметра квантования и квантует вторую цветность с использованием восьмого параметра квантования, причем вторая яркость и вторая цветность указывают второй цвет среди информации атрибутов каждой из множества трехмерных точек. При формировании, описанном выше, сформированный поток битов дополнительно включает в себя квантованную вторую яркость, квантованную вторую цветность, седьмой параметр квантования и четвертую разность между седьмым параметром квантования и восьмым параметром квантования.
[0654] При такой конфигурации, поскольку восьмой параметр квантования указывается посредством четвертой разности относительно седьмого параметра квантования в потоке битов, эффективность кодирования может повышаться. Помимо этого, два типа цветовой информации могут включаться в информацию атрибутов относительно трехмерной точки.
[0655] Например, устройство кодирования трехмерных данных включает в себя процессор и запоминающее устройство, и процессор выполняет процесс, описанный выше, с использованием запоминающего устройства.
[0656] Устройство декодирования трехмерных данных согласно этому варианту осуществления выполняет процесс, проиллюстрированный на фиг. 97. Во-первых, устройство декодирования трехмерных данных получает квантованную геометрическую информацию, квантованную первую яркость, квантованную первую цветность, первый параметр квантования, второй параметр квантования и первую разность между вторым параметром квантования и третьим параметром квантования, посредством получения потока битов (S5394). Устройство декодирования трехмерных данных вычисляет геометрическую информацию относительно множества трехмерных точек посредством обратного квантования квантованной геометрической информации с использованием первой информации квантования (S5395). Из первой яркости и первой цветности, указывающей первый цвет множества трехмерных точек, устройство декодирования трехмерных данных вычисляет первую яркость посредством обратного квантования квантованной первой яркости с использованием второго параметра квантования (S5396). Устройство декодирования трехмерных данных вычисляет первую цветность посредством обратного квантования квантованной первой цветности с использованием третьего параметра квантования, полученного из второго параметра квантования и первой разности (S5397).
[0657] Таким образом, устройство декодирования трехмерных данных может корректно декодировать геометрическую информацию и информацию атрибутов относительно трехмерной точки.
[0658] Например, при получении, квантованная отражательная способность и четвертый параметр квантования дополнительно получаются посредством получения потока битов. Устройство декодирования трехмерных данных дополнительно вычисляет отражательную способность множества трехмерных точек посредством обратного квантования квантованной отражательной способности с использованием четвертого параметра квантования.
[0659] Следовательно, устройство декодирования трехмерных данных может корректно декодировать отражательную способность трехмерной точки.
[0660] Например, при получении, вторая разность между вторым параметром квантования и пятым параметром квантования и третья разность между третьим параметром квантования и шестым параметром квантования дополнительно получаются посредством получения потока битов. При вычислении первой яркости, первая яркость одной или более трехмерных точек вычисляется посредством обратного квантования квантованной первой яркости с использованием второго параметра квантования и пятого параметра квантования, полученных из второй разности, причем одна или более трехмерных точек включаются в каждое подпространство, полученное посредством разделения текущего пространства, включающего в себя множество трехмерных точек, причем квантованная первая яркость представляет собой яркость, полученную посредством квантования первой яркости одной или более трехмерных точек с использованием второго параметра квантования и пятого параметра квантования. При вычислении первой цветности, первая цветность одной или более трехмерных точек вычисляется посредством обратного квантования квантованной первой цветности с использованием третьего параметра квантования и шестого параметра квантования, полученных из третьей разности, причем квантованная первая цветность представляет собой цветность, полученную посредством квантования первой цветности по меньшей мере одной трехмерной точки с использованием третьего параметра квантования и шестого параметра квантования.
[0661] Например, при получении, идентификационная информация, указывающая то, что квантование с использованием пятого параметра квантования и квантование с использованием шестого параметра квантования выполнены, дополнительно получается посредством получения потока битов. При вычислении первой яркости, когда идентификационная информация указывает то, что квантование с использованием пятого параметра квантования и квантование с использованием шестого параметра квантования выполнены, квантованная первая яркость определяется в качестве яркости, полученной посредством квантования первой яркости одной или более трехмерных точек. При вычислении первой цветности, когда идентификационная информация указывает то, что квантование с использованием пятого параметра квантования и квантование с использованием шестого параметра квантования выполнены, квантованная первая цветность определяется в качестве цветности, полученной посредством квантования первой цветности одной или более трехмерных точек.
[0662] При такой конфигурации, устройство декодирования трехмерных данных может определять из идентификационной информации то, что квантование с использованием пятого параметра квантования и квантование с использованием шестого параметра квантования выполнены, так что нагрузка по обработке процесса декодирования может уменьшаться.
[0663] Например, при получении, квантованная вторая яркость, квантованная вторая цветность, седьмой параметр квантования и четвертая разность между седьмым параметром квантования и восьмым параметром квантования дополнительно получаются посредством получения потока битов. Из второй яркости и второй цветности, которые указывают второй цвет множества трехмерных точек, устройство декодирования трехмерных данных дополнительно вычисляет вторую яркость посредством обратного квантования квантованной второй яркости с использованием седьмого параметра квантования. Устройство декодирования трехмерных данных дополнительно вычисляет вторую цветность посредством обратного квантования квантованной второй цветности с использованием восьмого параметра квантования, полученного из седьмого параметра квантования и четвертой разности.
[0664] Таким образом, устройство декодирования трехмерных данных может корректно декодировать второй цвет трехмерной точки.
[0665] Например, устройство декодирования трехмерных данных включает в себя процессор и запоминающее устройство, и процессор выполняет процесс, описанный выше, с использованием запоминающего устройства.
[0666] Выше описываются устройство кодирования трехмерных данных, устройство декодирования трехмерных данных и т.п. согласно вариантам осуществления настоящего раскрытия, но настоящее раскрытие не ограничено этими вариантами осуществления.
[0667] Следует отметить, что каждый из процессоров, включенных в устройство кодирования трехмерных данных, устройство декодирования трехмерных данных и т.п. согласно вышеуказанным вариантам осуществления, типично реализуется в качестве большой интегральной (LSI) схемы, которая представляет собой интегральную схему (IC). Они могут принимать форму отдельных микросхем или могут частично или полностью пакетироваться в одну микросхему.
[0668] Такая IC не ограничена LSI и в силу этого может реализовываться как специализированная схема или процессор общего назначения. Альтернативно, может использоваться программируемая пользователем вентильная матрица (FPGA), которая предоставляет возможность программирования после изготовления LSI, или переконфигурируемый процессор, который предоставляет возможность переконфигурирования соединения и настройки схемных элементов внутри LSI.
[0669] Кроме того, в вышеописанных вариантах осуществления, структурные компоненты могут реализовываться как специализированные аппаратные средства или могут быть реализованы посредством выполнения программно-реализованной программы, подходящей для таких структурных компонентов. Альтернативно, структурные компоненты могут реализовываться посредством модуля выполнения программ, такого как CPU или процессор, считывающий и выполняющий программно-реализованную программу, записанную на носителе записи, таком как жесткий диск или полупроводниковое запоминающее устройство.
[0670] Настоящее раскрытие также может реализовываться как способ кодирования трехмерных данных, способ декодирования трехмерных данных и т.п., осуществляемые посредством устройства кодирования трехмерных данных, устройства декодирования трехмерных данных и т.п.
[0671] Кроме того, разделения функциональных блоков, показанных на блок-схемах, представляют собой просто примеры, и в силу этого множество функциональных блоков могут реализовываться как один функциональный блок, или один функциональный блок может разделяться на множество функциональных блоков, или одна или более функций могут перемещаться в другой функциональный блок. Кроме того, функции множества функциональных блоков, имеющих аналогичные функции, могут обрабатываться только посредством аппаратных средств или программного обеспечения параллелизованным или разделенным во времени способом.
[0672] Кроме того, порядок обработки при выполнении этапов, показанный на блок-схемах последовательности операций способа, представляет собой просто иллюстрацию для конкретного описания настоящего раскрытия и в силу этого представляет собой порядок, отличный от показанного порядка. Кроме того, один или более этапов могут выполняться одновременно (параллельно) с другим этапом.
[0673] Выше описываются устройство кодирования трехмерных данных, устройство декодирования трехмерных данных и т.п. согласно одному или более аспектов на основе вариантов осуществления, но настоящее раскрытие не ограничено этими вариантами осуществления. Один или более аспектов в силу этого могут включать в себя формы, достигаемые посредством внесения различных модификаций в вышеуказанные варианты осуществления, которые могут быть задуманы специалистами в данной области техники, а также формы, достигаемые посредством объединения структурных компонентов в различных вариантах осуществления, без существенного отступления от сущности настоящего раскрытия.
Промышленная применимость
[0674] Настоящее раскрытие является применимым к устройству кодирования трехмерных данных и к устройству декодирования трехмерных данных.
Ссылки с номерами на чертежах
[0675] 4601 - система кодирования трехмерных данных
4602 - система декодирования трехмерных данных
4603 - терминал с датчиком
4604 - внешний соединитель
4611 - система формирования данных облаков точек
4612 - модуль представления
4613 - кодер
4614 - мультиплексор
4615 - модуль ввода-вывода
4616 - контроллер
4617 - модуль получения информации датчиков
4618 - формирователь данных облаков точек
4621 - модуль получения информации датчиков
4622 - модуль ввода-вывода
4623 - демультиплексор
4624 - декодер
4625 - модуль представления
4626 - пользовательский интерфейс
4627 - контроллер
4630 - первый кодер
4631 - кодер геометрической информации
4632 - кодер информации атрибутов
4633 - кодер дополнительной информации
4634 - мультиплексор
4640 - первый декодер
4641 - демультиплексор
4642 - декодер геометрической информации
4643 - декодер информации атрибутов
4644 - декодер дополнительной информации
4650 - второй кодер
4651 - формирователь дополнительной информации
4652 - формирователь геометрических изображений
4653 - формирователь информации атрибутов
4654 - видеокодер
4655 - кодер дополнительной информации
4656 - мультиплексор
4660 - второй декодер
4661 - демультиплексор
4662 - видеодекодер
4663 - декодер дополнительной информации
4664 - формирователь геометрической информации
4665 - формирователь дополнительной информации
4670 - кодер
4671 - мультиплексор
4680 - декодер
4681 - демультиплексор
4710 - первый мультиплексор
4711 - преобразователь файлов
4720 - первый демультиплексор
4721 - обратный преобразователь файлов
4730 - второй мультиплексор
4731 - преобразователь файлов
4740 - второй демультиплексор
4741 - обратный преобразователь файлов
4750 - третий мультиплексор
4751 - преобразователь файлов
4760 - третий демультиплексор
4761 - обратный преобразователь файлов
4801 - кодер
4802 - мультиплексор
4911 - модуль разделения
4931 - модуль разделения на срезы
4932 - модуль разделения на плитки геометрической информации
4933 - модуль разделения на плитки информации атрибутов
5200 - первый кодер
5201 - модуль разделения
5202 - кодер геометрической информации
5203 - кодер информации атрибутов
5204 - кодер дополнительной информации
5205 - мультиплексор
5211 - модуль разделения на плитки
5212 - модуль разделения на срезы
5221, 5231, 5251, 5261 - модуль CABAC-инициализации
5222, 5232 - энтропийный кодер
5240 - первый декодер
5241 - демультиплексор
5242 - декодер геометрической информации
5243 - декодер информации атрибутов
5244 - декодер дополнительной информации
5245 - модуль объединения
5252, 5262 - энтропийный декодер
5300 - первый кодер
5301 - модуль разделения
5302 - кодер геометрической информации
5303 - кодер информации атрибутов
5304 - кодер дополнительной информации
5305 - мультиплексор
5311 - модуль разделения на плитки
5312 - модуль разделения на срезы
5321, 5331, 5351, 5361 - модуль вычисления значений квантования
5322, 5332 - энтропийный кодер
5323 - кодер
5333 - обратный квантователь
5340 - первый декодер
5341 - демультиплексор
5342 - декодер геометрической информации
5343 - декодер информации атрибутов
5344 - декодер дополнительной информации
5345 - модуль объединения
5352, 5362 - энтропийный декодер.
Изобретение относится к кодированию и декодированию трехмерных данных. Технический результат заключается в повышении эффективности кодирования. Такой результат достигается за счёт того, что осуществляют квантование геометрической информации каждой из трехмерных точек с использованием первого параметра квантования, квантование первого компонента с использованием второго параметра квантования и квантование второго компонента с использованием третьего параметра квантования, при квантовании с использованием второго параметра квантования, для каждого из подпространств, полученных посредством разделения текущего пространства, первый компонент трехмерной точки, включенной в это подпространство, квантуется дополнительно с использованием пятого параметра квантования, при квантовании с использованием третьего параметра квантования второй компонент трехмерной точки квантуется дополнительно с использованием шестого параметра квантования, и формирования потока битов, включающего квантованную геометрическую информацию, квантованный первый компонент, квантованный второй компонент, первый параметр квантования, второй параметр квантования, первую разность между вторым параметром квантования и третьим параметром квантования, вторую разность между вторым параметром квантования и пятым параметром квантования и третью разность между третьим параметром квантования и шестым параметром квантования. 4 н. и 6 з.п. ф-лы, 97 ил.
1. Способ кодирования трехмерных данных, содержащий этапы, на которых:
квантуют геометрическую информацию каждой из трехмерных точек с использованием первого параметра квантования;
квантуют первый компонент с использованием второго параметра квантования и квантуют второй компонент с использованием третьего параметра квантования, причем первый компонент и второй компонент указывают первую информацию атрибутов среди информации атрибутов каждой из трехмерных точек; и
формируют поток битов, включающий в себя квантованную геометрическую информацию, квантованный первый компонент, квантованный второй компонент, первый параметр квантования, второй параметр квантования и первую разность между вторым параметром квантования и третьим параметром квантования, при этом
при квантовании с использованием второго параметра квантования, для каждого из подпространств, полученных посредством разделения текущего пространства, включающего в себя трехмерные точки, первый компонент по меньшей мере одной трехмерной точки, включенной в это подпространство, квантуется дополнительно с использованием пятого параметра квантования,
при квантовании с использованием третьего параметра квантования второй компонент упомянутой по меньшей мере одной трехмерной точки квантуется дополнительно с использованием шестого параметра квантования, и
при упомянутом формировании сформированный поток битов дополнительно включает в себя вторую разность между вторым параметром квантования и пятым параметром квантования и третью разность между третьим параметром квантования и шестым параметром квантования.
2. Способ кодирования трехмерных данных по п.1, дополнительно содержащий этап, на котором квантуют отражательную способность среди информации атрибутов каждой из трехмерных точек с использованием четвертого параметра квантования, при этом при упомянутом формировании сформированный поток битов дополнительно включает в себя квантованную отражательную способность и четвертый параметр квантования.
3. Способ кодирования трехмерных данных по п.2, в котором при упомянутом формировании сформированный поток битов дополнительно включает в себя идентификационную информацию, указывающую то, что квантование с использованием второго параметра квантования было выполнено с использованием пятого параметра квантования, и квантование с использованием третьего параметра квантования было выполнено с использованием шестого параметра квантования.
4. Способ кодирования трехмерных данных по любому одному из пп.1-3, дополнительно содержащий этап, на котором квантуют третий компонент с использованием седьмого параметра квантования и квантуют четвертый компонент с использованием восьмого параметра квантования, причем третий компонент и четвертый компонент указывают вторую информацию атрибутов среди информации атрибутов каждой из трехмерных точек, при этом при упомянутом формировании сформированный поток битов дополнительно включает в себя квантованный третий компонент, квантованный четвертый компонент, седьмой параметр квантования и четвертую разность между седьмым параметром квантования и восьмым параметром квантования.
5. Способ декодирования трехмерных данных, содержащий этапы, на которых:
получают квантованную геометрическую информацию, квантованный первый компонент, квантованный второй компонент, первый параметр квантования, второй параметр квантования и первую разность между вторым параметром квантования и третьим параметром квантования посредством получения потока битов;
вычисляют геометрическую информацию трехмерных точек посредством обратного квантования квантованной геометрической информации с использованием первого параметра квантования;
вычисляют первый компонент из первого компонента и второго компонента, которые указывают первую информацию атрибутов трехмерных точек, посредством обратного квантования квантованного первого компонента с использованием второго параметра квантования; и
вычисляют второй компонент посредством обратного квантования квантованного второго компонента с использованием третьего параметра квантования, полученного из второго параметра квантования и первой разности, при этом
при упомянутом получении вторая разность между вторым параметром квантования и пятым параметром квантования и третья разность между третьим параметром квантования и шестым параметром квантования дополнительно получаются посредством получения потока битов,
при вычислении первого компонента первый компонент по меньшей мере одной трехмерной точки вычисляется посредством обратного квантования квантованного первого компонента с использованием второго параметра квантования и пятого параметра квантования, полученного из второй разности, причем упомянутая по меньшей мере одна трехмерная точка включается в каждое из подпространств, полученных посредством разделения текущего пространства, включающего в себя трехмерные точки, причем квантованный первый компонент получается посредством квантования первого компонента упомянутой по меньшей мере одной трехмерной точки с использованием второго параметра квантования и пятого параметра квантования, и
при вычислении второго компонента второй компонент упомянутой по меньшей мере одной трехмерной точки вычисляется посредством обратного квантования квантованного второго компонента с использованием третьего параметра квантования и шестого параметра квантования, полученного из третьей разности, причем квантованный второй компонент получается посредством квантования второго компонента упомянутой по меньшей мере одной трехмерной точки с использованием третьего параметра квантования и шестого параметра квантования.
6. Способ декодирования трехмерных данных по п.5, в котором при упомянутом получении квантованная отражательная способность и четвертый параметр квантования дополнительно получаются посредством получения потока битов, причем способ декодирования трехмерных данных дополнительно содержит этап, на котором вычисляют отражательную способность трехмерных точек посредством обратного квантования квантованной отражательной способности с использованием четвертого параметра квантования.
7. Способ декодирования трехмерных данных по п.6, в котором при упомянутом получении идентификационная информация, указывающая то, что квантование выполнено с использованием пятого параметра квантования и шестого параметра квантования, дополнительно получается посредством получения потока битов,
при вычислении первого компонента, когда идентификационная информация указывает то, что квантование выполнено с использованием пятого параметра квантования и шестого параметра квантования, квантованный первый компонент получается посредством квантования первого компонента упомянутой по меньшей мере одной трехмерной точки, и
при вычислении второго компонента, когда идентификационная информация указывает то, что квантование выполнено с использованием пятого параметра квантования и шестого параметра квантования, квантованный второй компонент получается посредством квантования второго компонента упомянутой по меньшей мере одной трехмерной точки.
8. Способ декодирования трехмерных данных по п.6 или 7, в котором при упомянутом получении квантованный третий компонент, квантованный четвертый компонент, седьмой параметр квантования и четвертая разность между седьмым параметром квантования и восьмым параметром квантования дополнительно получаются посредством получения потока битов, причем способ декодирования трехмерных данных дополнительно содержит этапы, на которых:
вычисляют третий компонент из третьего компонента и четвертого компонента, которые указывают вторую информацию атрибутов трехмерных точек, посредством обратного квантования квантованного третьего компонента с использованием седьмого параметра квантования; и
вычисляют четвертый компонент посредством обратного квантования квантованного четвертого компонента с использованием восьмого параметра квантования, полученного из седьмого параметра квантования и четвертой разности.
9. Устройство кодирования трехмерных данных, содержащее:
процессор; и
запоминающее устройство;
при этом с использованием запоминающего устройства процессор:
квантует геометрическую информацию каждой из трехмерных точек с использованием первого параметра квантования;
квантует первый компонент с использованием второго параметра квантования и квантует второй компонент с использованием третьего параметра квантования, причем первый компонент и второй компонент указывают первую информацию атрибутов среди информации атрибутов каждой из трехмерных точек; и
формирует поток битов, включающий в себя квантованную геометрическую информацию, квантованный первый компонент, квантованный второй компонент, первый параметр квантования, второй параметр квантования и первую разность между вторым параметром квантования и третьим параметром квантования, при этом
при квантовании с использованием второго параметра квантования, для каждого из подпространств, полученных посредством разделения текущего пространства, включающего в себя трехмерные точки, первый компонент по меньшей мере одной трехмерной точки, включенной в это подпространство, квантуется дополнительно с использованием пятого параметра квантования,
при квантовании с использованием третьего параметра квантования второй компонент упомянутой по меньшей мере одной трехмерной точки квантуется дополнительно с использованием шестого параметра квантования, и
при упомянутом формировании сформированный поток битов дополнительно включает в себя вторую разность между вторым параметром квантования и пятым параметром квантования и третью разность между третьим параметром квантования и шестым параметром квантования.
10. Устройство декодирования трехмерных данных, содержащее:
процессор; и
запоминающее устройство;
при этом с использованием запоминающего устройства процессор:
получает квантованную геометрическую информацию, квантованный первый компонент, квантованный второй компонент, первый параметр квантования, второй параметр квантования и первую разность между вторым параметром квантования и третьим параметром квантования посредством получения потока битов;
вычисляет геометрическую информацию трехмерных точек посредством обратного квантования квантованной геометрической информации с использованием первого параметра квантования;
вычисляет первый компонент из первого компонента и второго компонента, которые указывают первую информацию атрибутов трехмерных точек, посредством обратного квантования квантованного первого компонента с использованием второго параметра квантования; и
вычисляет второй компонент посредством обратного квантования квантованного второго компонента с использованием третьего параметра квантования, полученного из второго параметра квантования и первой разности, при этом
при упомянутом получении вторая разность между вторым параметром квантования и пятым параметром квантования и третья разность между третьим параметром квантования и шестым параметром квантования дополнительно получаются посредством получения потока битов,
при вычислении первого компонента первый компонент по меньшей мере одной трехмерной точки вычисляется посредством обратного квантования квантованного первого компонента с использованием второго параметра квантования и пятого параметра квантования, полученного из второй разности, причем упомянутая по меньшей мере одна трехмерная точка включается в каждое из подпространств, полученных посредством разделения текущего пространства, включающего в себя трехмерные точки, причем квантованный первый компонент получается посредством квантования первого компонента упомянутой по меньшей мере одной трехмерной точки с использованием второго параметра квантования и пятого параметра квантования, и
при вычислении второго компонента второй компонент упомянутой по меньшей мере одной трехмерной точки вычисляется посредством обратного квантования квантованного второго компонента с использованием третьего параметра квантования и шестого параметра квантования, полученного из третьей разности, причем квантованный второй компонент получается посредством квантования второго компонента упомянутой по меньшей мере одной трехмерной точки с использованием третьего параметра квантования и шестого параметра квантования.
WO 2018083999 A1, 11.05.2018 | |||
US 20140286436 A1, 25.09.2014 | |||
US 20150319438 A1, 05.11.2015 | |||
WO 2018031899 A1, 15.02.2018 | |||
US 20160212426 A1, 21.07.2016 | |||
ИНДИКАЦИЯ И АКТИВАЦИЯ НАБОРОВ ПАРАМЕТРОВ ДЛЯ КОДИРОВАНИЯ ВИДЕО | 2013 |
|
RU2646382C2 |
ПОЛУЧЕНИЕ РЕЖИМА ВНУТРЕННЕГО ПРОГНОЗИРОВАНИЯ ДЛЯ ЦВЕТОРАЗНОСТНЫХ ЗНАЧЕНИЙ | 2013 |
|
RU2603548C2 |
Авторы
Даты
2023-09-05—Публикация
2019-09-10—Подача