СПОСОБ КОДИРОВАНИЯ ТРЕХМЕРНЫХ ДАННЫХ, СПОСОБ ДЕКОДИРОВАНИЯ ТРЕХМЕРНЫХ ДАННЫХ, УСТРОЙСТВО КОДИРОВАНИЯ ТРЕХМЕРНЫХ ДАННЫХ И УСТРОЙСТВО ДЕКОДИРОВАНИЯ ТРЕХМЕРНЫХ ДАННЫХ

1. Способ кодирования трехмерных данных, содержащий этапы, на которых:
вычисляют разностные значения, каждое из которых представляет собой разность между (i) соответствующим одним из фрагментов информации атрибутов трехмерных точек, включенных в данные облаков точек, и (ii) прогнозированным значением, соответствующим надлежащей информации атрибутов;
формируют вторую кодовую последовательность, включающую в себя первую информацию и вторую информацию, причем первая информация указывает общее число нулевых разностных значений, последовательных в первой кодовой последовательности, в которой разностные значения размещаются, а вторая информация указывает значение ненулевого разностного значения, включенного в разностные значения, причем нулевые разностные значения включаются в разностные значения и имеют значение 0; и
формируют поток битов, включающий в себя вторую кодовую последовательность.
2. Способ кодирования трехмерных данных по п. 1,
в котором каждый из фрагментов информации атрибутов включает в себя компоненты,
каждое из разностных значений включает в себя разностные компоненты, соответствующие компонентам,
первая информация указывает общее число нулевых разностных значений, каждый включающий в себя разностные компоненты, все из которых равны 0, и
вторая информация указывает значения разностных компонентов, по меньшей мере один из которых не равен 0, и которые включены в ненулевое разностное значение.
3. Способ кодирования трехмерных данных по п. 2,
в котором, когда по меньшей мере два из значений разностных компонентов, включенных в ненулевое разностное значение, отличаются, вторая информация указывает значения разностных компонентов, и
когда все значения разностных компонентов, включенных в ненулевое разностное значение, являются идентичными, вторая информация указывает значение, полученное посредством вычитания 1 из каждого из значений разностных компонентов.
4. Способ кодирования трехмерных данных по п. 2,
в котором, когда каждый из фрагментов информации атрибутов включает в себя по меньшей мере два компонента, вторая информация указывает значения по меньшей мере двух компонентов, и
когда каждый из фрагментов информации атрибутов включает в себя один компонент, вторая информация указывает значение, полученное посредством вычитания 1 из значения одного компонента.
5. Способ кодирования трехмерных данных по любому из пп. 1-4,
в котором трехмерные точки классифицируются на слои, на основе геометрической информации трехмерных точек, и
разностные значения размещаются для каждого из слоев в первой кодовой последовательности.
6. Способ кодирования трехмерных данных по любому из пп. 1-5, дополнительно содержащий этапы, на которых:
квантуют каждое из разностных значений; и
размещают разностные значения, квантованные в первой кодовой последовательности.
7. Способ декодирования трехмерных данных, содержащий этапы, на которых:
получают вторую кодовую последовательность из потока битов, причем вторая кодовая последовательность включает в себя первую информацию и вторую информацию, причем первая информация указывает общее число нулевых разностных значений, последовательных в первой кодовой последовательности, в которой разностные значения размещаются, а вторая информация указывает значение ненулевого разностного значения, включенного в разностные значения, причем нулевые разностные значения включаются в разностные значения и имеют значение 0, причем разностные значения представляют собой разность между (i) соответствующим одним из фрагментов информации атрибутов трехмерных точек, включенных в данные облаков точек, и (ii) прогнозированным значением, соответствующим надлежащей информации атрибутов;
получают разностные значения посредством восстановления первой кодовой последовательности из второй кодовой последовательности; и
вычисляют фрагменты информации атрибутов посредством суммирования прогнозированных значений с разностными значениями, причем прогнозированные значения соответствуют другому одному из разностных значений.
8. Способ декодирования трехмерных данных по п. 7,
в котором каждый из фрагментов информации атрибутов включает в себя компоненты,
каждое из разностных значений включает в себя разностные компоненты, соответствующие компонентам,
первая информация указывает общее число нулевых разностных значений, каждый включающий в себя разностные компоненты, все из которых равны 0, и
вторая информация указывает значения разностных компонентов, по меньшей мере один из которых не равен 0, и которые включаются в ненулевое разностное значение.
9. Способ декодирования трехмерных данных по п. 8,
в котором, когда по меньшей мере два из значений разностных компонентов, включенных в ненулевое разностное значение, отличаются, вторая информация указывает значения разностных компонентов, и
когда все значения разностных компонентов, включенных в ненулевое разностное значение, являются идентичными, вторая информация указывает значение, полученное посредством вычитания 1 из каждого из значений разностных компонентов.
10. Способ декодирования трехмерных данных по п. 9,
в котором, когда значения, указываемые посредством второй информации, являются идентичными, значения разностных компонентов вычисляются посредством суммирования 1 с каждым из значений, и первая кодовая последовательность восстанавливается с использованием вычисленных значений разностных компонентов.
11. Способ декодирования трехмерных данных по п. 8,
в котором, когда каждый из фрагментов информации атрибутов включает в себя по меньшей мере два компонента, вторая информация указывает значения по меньшей мере двух компонентов, и
когда каждый из фрагментов информации атрибутов включает в себя один компонент, вторая информация указывает значение, полученное посредством вычитания 1 из значения одного компонента.
12. Способ декодирования трехмерных данных по п. 11,
в котором, когда значение, соответствующее одному компоненту, указывается посредством второй информации, значение одного компонента вычисляется посредством суммирования 1 со значением, и первая кодовая последовательность восстанавливается с использованием значения одного вычисленного компонента.
13. Способ декодирования трехмерных данных по любому из пп. 7-12,
в котором трехмерные точки классифицируются на слои, на основе геометрической информации трехмерных точек, и
разностные значения размещаются для каждого из слоев в первой кодовой последовательности.
14. Способ декодирования трехмерных данных по любому из пп. 7-13,
в котором квантованные разностные значения размещаются в первой кодовой последовательности,
квантованные разностные значения получаются посредством восстановления первой кодовой последовательности, и
разностные значения получаются посредством обратного квантования соответствующего одного из квантованных разностных значений.
15. Устройство кодирования трехмерных данных, содержащее:
процессор; и
запоминающее устройство;
при этом с использованием запоминающего устройства, процессор:
вычисляет разностные значения, каждое из которых представляет собой разность между (i) соответствующим одним из фрагментов информации атрибутов трехмерных точек, включенных в данные облаков точек, и (ii) прогнозированным значением, соответствующим надлежащей информации атрибутов;
формирует вторую кодовую последовательность, включающую в себя первую информацию и вторую информацию, причем первая информация указывает общее число нулевых разностных значений, последовательных в первой кодовой последовательности, в которой разностные значения размещаются, а вторая информация указывает значение ненулевого разностного значения, включенного в разностные значения, причем нулевые разностные значения включаются в разностные значения и имеют значение 0; и
формирует поток битов, включающий в себя вторую кодовую последовательность.
16. Устройство декодирования трехмерных данных, содержащее:
процессор; и
запоминающее устройство;
при этом, с использованием запоминающего устройства, процессор:
получает вторую кодовую последовательность из потока битов, причем вторая кодовая последовательность включает в себя первую информацию и вторую информацию, причем первая информация указывает общее число нулевых разностных значений, последовательных в первой кодовой последовательности, в которой разностные значения размещаются, а вторая информация указывает значение ненулевого разностного значения, включенного в разностные значения, причем нулевые разностные значения включаются в разностные значения и имеют значение 0, причем разностные значения представляют собой разность между (i) соответствующим одним из фрагментов информации атрибутов трехмерных точек, включенных в данные облаков точек, и (ii) прогнозированным значением, соответствующим надлежащей информации атрибутов;
получает разностные значения посредством восстановления первой кодовой последовательности из второй кодовой последовательности; и
вычисляет фрагменты информации атрибутов посредством суммирования прогнозированных значений с разностными значениями, причем прогнозированные значения соответствуют другому одному из разностных значений.