IP Library › Granted Patent US 12,293,551
Granted Patent B2
US 12,293,551 · App. 17/707,935 · Granted May 6, 2025

Method, device, and storage medium for data encoding/decoding

Inventors: Lu Yu (Hangzhou, CN); Jiafeng Chen (Hangzhou, CN); Wenyi Wang (Hangzhou, CN); Pu Li (Shenzhen, CN); Xiaozhen Zheng (Shenzhen, CN)
Assignees: SZ DJI TECHNOLOGY CO., LTD.; ZHEJIANG UNIVERSITY
G06T9/001H03M7/3079H03M7/6005H03M7/6011
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,293,551
App. No.
17/707,935
Granted
May 6, 2025
Kind
B2
Abstract

A data encoding method includes obtaining an attribute residual of a current point cloud point, binarizing the attribute residual to obtain a binary code of the current point cloud point that includes a first binary code indicating a first flag bit and a second binary code indicating a second flag bit, selecting a first context model from a context model list according to a first condition, selecting a second context model from the context model list according to a second condition, encoding the first binary code using the first context model, and encoding the second binary code using the second context model. The first condition and the second condition are different for the first context model and the second context model corresponding to a same index in the context model list.

Claims (82)

1. A data encoding method comprising:

obtaining an attribute residual of a current point cloud point;

binarizing the attribute residual to obtain a binary code of the current point cloud point, the binary code of the current point cloud point including a first binary code indicating a first flag bit and a second binary code indicating a second flag bit;

selecting a first context model from a context model list;

selecting a second context model from the context model list, the first context model and the second context model being different models;

encoding the first binary code using the first context model; and

encoding the second binary code using the second context model.

2. The method according to claim 1 , wherein:

the attribute residual of the current point cloud point includes a first attribute residual of a first channel of the current point cloud point, a second attribute residual of a second channel of the current point cloud point, and a third attribute residual of a third channel of the current point cloud point; and

the binary code of the current point cloud point includes a binary code of the first attribute residual, a binary code of the second attribute residual, and a binary code of the third attribute residual.

3. The method according to claim 1 , wherein:

the first context model and the second context model are used to encode different flag bits of the attribute residual of a same channel of the current point cloud point.

4. The method according to claim 1 , wherein:

the first flag bit indicates whether an attribute residual of a channel of the current point cloud point is N+1, N being greater than or equal to 0; and

the second flag bit indicates whether the attribute residual of the channel of the current point cloud point is N.

5. The method according to claim 1 , wherein:

the attribute residual of the current point cloud point includes a first attribute residual of a first channel of the current point cloud point and a second attribute residual a second channel of the current point cloud point; and

selecting the first context model include:

selecting the first context model for encoding the first binary code of the first flag bit of the second attribute residual from the context model list according to whether the first attribute residual is larger than a preset threshold, the preset threshold being larger than 0.

6. The method according to claim 5 , wherein selecting the first context model for encoding the first binary code of the first flag bit of the second attribute residual includes:

in response to the first attribute residual being larger than the preset threshold, selecting a context model corresponding to a first index as the first context model for encoding the first binary code of the first flag bit of the second attribute residual; and

in response to the first attribute residual being not larger than the preset threshold, selecting a context model corresponding to a second index as the first context model for encoding the first binary code of the first flag bit of the second attribute residual.

7. The method according to claim 5 , wherein:

the preset threshold is a first preset threshold; and

selecting the second context model includes:

selecting the second context model for encoding the second binary code of the second flag bit of the second attribute residual from the context model list according to whether the first attribute residual is equal to a second preset threshold.

8. The method according to claim 5 , wherein selecting the first context model for encoding the first binary code of the first flag bit of the second attribute residual includes:

determining whether the first attribute residual and a third attribute residual of a third channel of the current point cloud point are larger than the preset threshold, to obtain a determination result; and

selecting the first context model for encoding the first binary code of the first flag bit of the second attribute residual from the context model list according to the determination result.

9. The method according to claim 8 , wherein selecting the first context model for encoding the first binary code of the first flag bit of the second attribute residual according to the determination result includes:

in response to the first attribute residual being smaller than or equal to the preset threshold and the third attribute residual being smaller than or equal to the preset threshold, selecting a context model corresponding to a first index as the first context model for encoding the first binary code of the first flag bit of the second attribute residual;

in response to the first attribute residual being smaller than or equal to the preset threshold and the third attribute residual being larger than the preset threshold, selecting a context model corresponding to a second index as the first context model for encoding the first binary code of the first flag bit of the second attribute residual;

in response to the first attribute residual being larger than the preset threshold and the third attribute residual being smaller than or equal to the preset threshold, selecting a context model corresponding to a third index as the first context model for encoding the first binary code of the first flag bit of the second attribute residual; and

in response to the first attribute residual being larger than the preset threshold and the third attribute residual being larger than the preset threshold, selecting a context model corresponding to a fourth index as the first context model for encoding the first binary code of the first flag bit of the second attribute residual.

10. A data decoding method comprising:

obtaining bitstream data of a current point cloud point, the bitstream data including bitstream data of a first flag bit and bitstream data of a second flag bit;

selecting a first context model from a context model list;

decoding the bitstream data of the first flag bit using the first context model to obtain a first binary code indicating the first flag bit;

selecting a second context model from the context model list;

decoding the bitstream data of the second flag bit using the second context model to obtain a second binary code indicating the second flag bit; and

performing inverse binarization on the first binary code and the second binary code to obtain an attribute residual of the current point cloud point.

11. The method according to claim 10 , wherein:

the attribute residual of the current point cloud point includes a first attribute residual of a first channel of the current point cloud point, a second attribute residual of a second channel of the current point cloud point, and a third attribute residual of a third channel of the current point cloud point; and

the bitstream data includes bitstream data of the first attribute residual, bitstream data of the second attribute residual, and bitstream data of the third attribute residual.

12. The method according to claim 10 , wherein:

the first context model and the second context model are used to decode bitstream data of different flag bits of the attribute residual of a same channel of the current point cloud point.

13. The method according to claim 10 , wherein:

the first flag bit indicates whether an attribute residual of a channel of the current point cloud point is N+1, N being greater than or equal to 0; and

the second flag bit indicates whether the attribute residual of the channel of the current point cloud point is N.

14. The method according to claim 10 , wherein:

the attribute residual of the current point cloud point includes a first attribute residual of a first channel of the current point cloud point and a second attribute residual of a second channel of the current point cloud point;

the bitstream data includes bitstream data of the first attribute residual and bitstream data of the second attribute residual; and

selecting the first context model includes:

decoding the bitstream data of the first attribute residual to obtain the first attribute residual; and

selecting the first context model for decoding the bitstream data of the first flag bit of the second attribute residual from the context model list according to whether the first attribute residual is larger than a preset threshold, the preset threshold being larger than 0.

15. The method according to claim 14 , wherein selecting the first context model for decoding the bitstream data of the first flag bit of the second attribute residual includes:

in response to the first attribute residual being larger than the preset threshold, selecting a context model corresponding to a first index as the first context model for decoding the bitstream data of the first flag bit of the second attribute residual; and

in response to the first attribute residual being not larger than the preset threshold, selecting a context model corresponding to a second index as the first context model for decoding the bitstream data of the first flag bit of the second attribute residual.

16. The method according to claim 14 , wherein:

the preset threshold is a first preset threshold; and

selecting the second context model includes:

selecting the second context model decoding the bitstream data of the second flag bit of the second attribute residual from the context model list according to whether the first attribute residual is equal to a second preset threshold.

17. The method according to claim 14 , wherein selecting the first context model for decoding the bitstream data of the first flag bit of the second attribute residual includes:

determining whether the first attribute residual and a third attribute residual of a third channel of the current point cloud point are larger than the preset threshold to obtain a determination result; and

selecting the first context model for decoding the bitstream data of the first flag bit of the second channel from the context model list according to the determination result.

18. The method according to claim 17 , wherein selecting the first context model for decoding the bitstream data of the first flag bit of the second channel according to the determination result includes:

in response to the first attribute residual being smaller than or equal to the preset threshold and the third attribute residual being smaller than or equal to the preset threshold, selecting a context model corresponding to a first index as the first context model for decoding the bitstream data of the first flag bit of the second attribute residual;

in response to the first attribute residual being smaller than or equal to the preset threshold and the third attribute residual being smaller than or equal to the preset threshold, selecting a context model corresponding to a first index as the first context model for decoding the bitstream data of the first flag bit of the second attribute residual;

in response to the first attribute residual being larger than the preset threshold and the third attribute residual being smaller than or equal to the preset threshold, selecting a context model corresponding to a third index as the first context model for decoding the bitstream data of the first flag bit of the second attribute residual; and

in response to the first attribute residual being larger than the preset threshold and the third attribute residual being larger than the preset threshold, selecting a context model corresponding to a fourth index as the first context model for decoding the bitstream data of the first flag bit of the second attribute residual.

19. A data encoding device comprising:

a memory storing a program; and

a processor configured to execute the program to:

obtain an attribute residual of a current point cloud point;

binarize the attribute residual to obtain a binary code of the current point cloud point, the binary code of the current point cloud point including a first binary code indicating a first flag bit and a second binary code indicating a second flag bit;

select a first context model from a context model list;

select a second context model from the context model list, the first context model and the second context model being different models;

encode the first binary code using the first context model; and

encode the second binary code using the second context model.

20. The device according to claim 19 , wherein:

the first flag bit indicates whether an attribute residual of a channel of the current point cloud point is N+1, N being greater than or equal to 0; and

the second flag bit indicates whether the attribute residual of the channel of the current point cloud point is N.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2022
From: YU, LU; CHEN, JIAFENG; WANG, WENYI; LI, PU; ZHENG, XIAOZHEN
To: SZ DJI TECHNOLOGY CO., LTD.; ZHEJIANG UNIVERSITY
Reel/Frame 059432/0142 →
Continuity (2)
Continuation PCTCN2019109691 · Sep 30, 2019
Related Publication 20220222861A1 · Jul 14, 2022
References Cited (22)
US 20050196057A1 · Suh · 2005 [cited by applicant]
US 20100202540A1 · Fang · 2010 [cited by applicant]
US 20110090957A1 · Liao et al. · 2011 [cited by applicant]
US 20140092966A1 · Kazui et al. · 2014 [cited by applicant]
US 20190080483A1 · Mammou et al. · 2019 [cited by applicant]
US 20190081638A1 · Mammou et al. · 2019 [cited by applicant]
US 20190200046A1 · Lucas et al. · 2019 [cited by applicant]
US 20220038719A1 · Leleannec · 2022 [cited by examiner]
US 20220078425A1 · Wang · 2022 [cited by examiner]
US 20240364883A1 · Cao · 2024 [cited by examiner]
CN 102790878A · 2012 [cited by applicant]
CN 104902271A · 2015 [cited by applicant]
CN 104935921A · 2015 [cited by applicant]
CN 108322742A · 2018 [cited by applicant]
CN 108632607A · 2018 [cited by applicant]
CN 110278443A · 2019 [cited by applicant]
WO 2013073154A1 · 2013 [cited by applicant]
WO 2019055772A1 · 2019 [cited by applicant]
WO 2019079397A1 · 2019 [cited by applicant]
The World Intellectual Property Organization (WIPO) International Search Report for PCT/CN2019/109691 Jun. 29, 2020 4 Pages (including translation). [cited by applicant]
Khaled Mammou et al. G-PCC codec description v2[C], MPEG Doc. ISO/IEC JTC1/SC29/WG11, N18189, Marrakech, MA, Jan. 2019. [cited by applicant]
Shuai Wan et al.. New Generation of High Efficiency Video Coding H. 265/HEVC: Principles, Standards and Implementation. Publishing House of Electronics Industry, 2014. 402 Pages in 4 parts (including translation of the … [cited by applicant]