IP Library › Granted Patent US 12,294,728
Granted Patent B2
US 12,294,728 · App. 18/764,570 · Granted May 6, 2025

Signaling general constraints information for video coding

Inventors: Jonathan Gan (Palo Alto, CA); Yue Yu (Palo Alto, CA); Haoping Yu (Palo Alto, CA)
Assignee: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP., LTD.
H04N19/44H04N19/124H04N19/184H04N19/46
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,294,728
App. No.
18/764,570
Granted
May 6, 2025
Kind
B2
Abstract

A decoding method, system and storage medium are disclosed. In the method, a video decoder decodes a video from a bitstream of the video. The video decoder decodes, from the bitstream, an additional bit count M indicating a quantity of additional general constraints information (GCI) bits included in the bitstream. The additional bits include flag bits indicating respective additional coding tools to be constrained for the video, and an expected value of the additional bit count is 0, 6 or greater than 6. The decoder decodes M−6 bits that follow six flag bits in the bitstream in response to determining that the decoded additional bit count M is greater than 6. The decoder further decodes the remaining portion of the bitstream into images independent of the decoded M−6 bits and based, at least in part, upon constraints specified for the respective additional coding tools by the six flag bits.

Claims (97)

1. A method for decoding a video, the method comprising:

decoding, from a bitstream of the video, an additional bit count M indicating a quantity of additional general constraints information (GCI) bits included in the bitstream of the video, wherein the additional bits comprise flag bits indicating respective additional coding tools to be constrained for the video, and wherein an expected value of the additional bit count is 0, 6 or greater than 6;

in response to determining that the decoded additional bit count M is greater than 6, decoding M−6 bits that follow six flag bits in the bitstream; and

decoding a remaining portion of the bitstream of the video into images independent of the decoded M−6 bits and based, at least in part, upon constraints specified for the respective additional coding tools by the six flag bits.

2. The method of claim 1 , further comprising:

decoding, from the bitstream of the video and prior to decoding the M−6 bits, the six flag bits representing six respective flags indicating six respective additional coding tools to be constrained for the video; and

decoding a remaining portion of the bitstream of the video into images based, at least in part, upon the constraints for the six additional coding tools indicated by the six flags.

3. The method of claim 2 , wherein the six flags comprise:

a first flag indicating a restriction on pictures of the video to be either intra random access point (IRAP) pictures or gradual decoder refresh (GDR) pictures;

a second flag indicating whether an extended transform precision is constrained;

a third flag indicating whether an explicit Rice parameter signaling is constrained;

a fourth flag indicating an alternative Rice parameter derivation for binarization of quantization residuals of the video;

a fifth flag indicating whether to initialize Rice parameter derivation for binarization based on previous transform units; and

a sixth flag indicating whether to impose a constraint on pictures in an in-scope output layer set OlsInScope when decoding a position of a last non-zero level in a transform unit.

4. The method of claim 3 , wherein decoding the remaining portion of the bitstream of the video into images based, at least in part, upon the constraints for the six additional coding tools indicated by the six flags comprises one or more of:

determining all pictures in one or more output layer sets are GDR pictures with ph_recovery_poc_cnt equal to 0 or IRAP pictures based on the first flag being one, and decoding the GDR pictures or IRAP pictures in the one or more output layer sets;

determining that an extended transform precision is constrained based on the second flag being one and decoding the remaining portion of the bitstream of the video by setting sps_extended_precision_flag for pictures in the in-scope output layer set OlsInScope be equal to 0 so that extended dynamic range is not used;

determining that an explicit Rice parameter signaling is constrained based on the third flag being one, and decoding the remaining portion of the bitstream of the video by disabling alternative Rice parameter signaling for pictures in the in-scope output layer set OlsInScope;

determining that an alternative Rice parameter derivation for binarization of quantization residuals of the video is constrained based on the fourth flag being one, and decoding the remaining portion of the bitstream of the video by disabling alternative Rice parameter signaling for pictures in the in-scope output layer set OlsInScope;

determining that an initialization of Rice parameter derivation for binarization based on previous transform unit state is constrained based on determining the fifth flag being one, and decoding the remaining portion of the bitstream of the video without initializing Rice parameter based on previous transform unit state for pictures in the in-scope output layer set OlsInScope; or

determining that coordinates of a last significant coefficient are coded relative to a top-left corner for each transform block of a slice based on the sixth flag being one and decoding the remaining portion of the bitstream of the video by interpreting decoded coordinates of the last significant coefficient as being relative to the top-left corner for each transform block of the slice.

5. The method of claim 3 , further comprising one or more of:

determining that the first flag is not present in the bitstream and inferring a value of the first flag to be 0 indicating no constraint is imposed for a corresponding coding tool;

determining that the second flag is not present in the bitstream and inferring a value of the second flag to be 0 indicating no constraint is imposed for a corresponding coding tool;

determining that the third flag is not present in the bitstream and inferring a value of the third flag to be 0 indicating no constraint is imposed for a corresponding coding tool;

determining that the fourth flag is not present in the bitstream and inferring a value of the fourth flag to be 0 indicating no constraint is imposed for a corresponding coding tool;

determining that the fifth flag is not present in the bitstream and inferring a value of the fifth flag to be 0 indicating no constraint is imposed for a corresponding coding tool; or

determining that the sixth flag is not present in the bitstream and inferring a value of the sixth flag to be 0 indicating no constraint is imposed for a corresponding coding tool.

6. The method of claim 1 , further comprising, prior to decoding the additional bit count M:

decoding a general constraints information (GCI) flag from the bitstream of the video; and

determining that one or more general constraints are imposed for the video based on a value of the GCI flag.

7. The method of claim 6 , wherein the GCI flag is decoded from a network packet of the video, a video parameter set of the video, or a sequence parameter set of the video.

8. A non-transitory computer-readable medium having program code that is stored thereon, the program code executable by one or more processing devices for performing operations comprising:

decoding, from a bitstream of a video, an additional bit count M indicating a quantity of additional general constraints information (GCI) bits included in the bitstream of the video, wherein the additional bits comprise flag bits indicating respective additional coding tools to be constrained for the video, and wherein an expected value of the additional bit count is 0, 6, or greater than 6;

in response to determining that the decoded additional bit count M is greater than 6, decoding M−6 bits that follow six flag bits in the bitstream; and

decoding a remaining portion of the bitstream of the video into images independent of the decoded M−6 bits and based, at least in part, upon constraints specified for the respective additional coding tools by the six flag bits.

9. The non-transitory computer-readable medium of claim 8 , wherein the operations further comprise:

decoding, from the bitstream of the video and prior to decoding the M−6 bits, the six flag bits representing six respective flags indicating six respective additional coding tools to be constrained for the video; and

decoding a remaining portion of the bitstream of the video into images based, at least in part, upon the constraints for the six additional coding tools indicated by the six flags.

10. The non-transitory computer-readable medium of claim 9 , wherein the six flags comprise:

a first flag indicating a restriction on pictures of the video to be either intra random access point (IRAP) pictures or gradual decoder refresh (GDR) pictures;

a second flag indicating whether an extended transform precision is constrained;

a third flag indicating whether an explicit Rice parameter signaling is constrained;

a fourth flag indicating an alternative Rice parameter derivation for binarization of quantization residuals of the video;

a fifth flag indicating whether to initialize Rice parameter derivation for binarization based on previous transform units; and

a sixth flag indicating whether to impose a constraint on pictures in an in-scope output layer set OlsInScope when decoding a position of a last non-zero level in a transform unit.

11. The non-transitory computer-readable medium of claim 10 , wherein decoding the remaining portion of the bitstream of the video into images based, at least in part, upon the constraints for the six additional coding tools indicated by the six flags comprises one or more of:

determining all pictures in one or more output layer sets are GDR pictures with ph_recovery_poc_cnt equal to 0 or IRAP pictures based on the first flag being one, and decoding the GDR pictures or IRAP pictures in the one or more output layer sets;

determining that an extended transform precision is constrained based on the second flag being one and decoding the remaining portion of the bitstream of the video by setting sps_extended_precision_flag for pictures in the in-scope output layer set OlsInScope be equal to 0 so that extended dynamic range is not used;

determining that an explicit Rice parameter signaling is constrained based on the third flag being one, and decoding the remaining portion of the bitstream of the video by disabling alternative Rice parameter signaling for pictures in the in-scope output layer set OlsInScope;

determining that an alternative Rice parameter derivation for binarization of quantization residuals of the video is constrained based on the fourth flag being one, and decoding the remaining portion of the bitstream of the video by disabling alternative Rice parameter signaling for pictures in the in-scope output layer set OlsInScope;

determining that an initialization of Rice parameter derivation for binarization based on previous transform unit state is constrained based on determining the fifth flag being one, and decoding the remaining portion of the bitstream of the video without initializing Rice parameter based on previous transform unit state for pictures in the in-scope output layer set OlsInScope; or

determining that coordinates of a last significant coefficient are coded relative to a top-left corner for each transform block of a slice based on the sixth flag being one and decoding the remaining portion of the bitstream of the video by interpreting decoded coordinates of the last significant coefficient as being relative to the top-left corner for each transform block of the slice.

12. The non-transitory computer-readable medium of claim 10 , wherein the operations further comprise one or more of:

determining that the first flag is not present in the bitstream and inferring a value of the first flag to be 0 indicating no constraint is imposed for a corresponding coding tool;

determining that the second flag is not present in the bitstream and inferring a value of the second flag to be 0 indicating no constraint is imposed for a corresponding coding tool;

determining that the third flag is not present in the bitstream and inferring a value of the third flag to be 0 indicating no constraint is imposed for a corresponding coding tool;

determining that the fourth flag is not present in the bitstream and inferring a value of the fourth flag to be 0 indicating no constraint is imposed for a corresponding coding tool;

determining that the fifth flag is not present in the bitstream and inferring a value of the fifth flag to be 0 indicating no constraint is imposed for a corresponding coding tool; or

determining that the sixth flag is not present in the bitstream and inferring a value of the sixth flag to be 0 indicating no constraint is imposed for a corresponding coding tool.

13. The non-transitory computer-readable medium of claim 8 , wherein the operations further comprise, prior to decoding the additional bit count M:

decoding a general constraints information (GCI) flag from the bitstream of the video; and

determining that one or more general constraints are imposed for the video based on a value of the GCI flag.

14. The non-transitory computer-readable medium of claim 13 , wherein the GCI flag is decoded from a network packet of the video, a video parameter set of the video, or a sequence parameter set of the video.

15. A system comprising:

a processing device; and

a non-transitory computer-readable medium communicatively coupled to the processing device, wherein the processing device is configured to execute program code stored in the non-transitory computer-readable medium and thereby perform operations comprising:

decoding, from a bitstream of a video, an additional bit count M indicating a quantity of additional general constraints information (GCI) bits included in the bitstream of the video, wherein the additional bits comprise flag bits indicating respective additional coding tools to be constrained for the video, and wherein an expected value of the additional bit count is 0, 6, or greater than 6;

in response to determining that the decoded additional bit count M is greater than 6, decoding M−6 bits that follow six flag bits in the bitstream; and

decoding a remaining portion of the bitstream of the video into images independent of the decoded M−6 bits and based, at least in part, upon constraints specified for the respective additional coding tools by the six flag bits.

16. The system of claim 15 , wherein the operations further comprise:

decoding, from the bitstream of the video and prior to decoding the M−6 bits, the six flag bits representing six respective flags indicating six respective additional coding tools to be constrained for the video; and

decoding a remaining portion of the bitstream of the video into images based, at least in part, upon the constraints for the six additional coding tools indicated by the six flags.

17. The system of claim 16 , wherein the six flags comprise:

a first flag indicating a restriction on pictures of the video to be either intra random access point (IRAP) pictures or gradual decoder refresh (GDR) pictures;

a second flag indicating whether an extended transform precision is constrained;

a third flag indicating whether an explicit Rice parameter signaling is constrained;

a fourth flag indicating an alternative Rice parameter derivation for binarization of quantization residuals of the video;

a fifth flag indicating whether to initialize Rice parameter derivation for binarization based on previous transform units; and

a sixth flag indicating whether to impose a constraint on pictures in an in-scope output layer set OlsInScope when decoding a position of a last non-zero level in a transform unit.

18. The system of claim 17 , wherein decoding the remaining portion of the bitstream of the video into images based, at least in part, upon the constraints for the six additional coding tools indicated by the six flags comprises one or more of:

determining all pictures in one or more output layer sets are GDR pictures with ph_recovery_poc_cnt equal to 0 or IRAP pictures based on the first flag being one, and decoding the GDR pictures or IRAP pictures in the one or more output layer sets;

determining that an extended transform precision is constrained based on the second flag being one and decoding the remaining portion of the bitstream of the video by setting sps_extended_precision_flag for pictures in the in-scope output layer set OlsInScope be equal to 0 so that extended dynamic range is not used;

determining that an explicit Rice parameter signaling is constrained based on the third flag being one, and decoding the remaining portion of the bitstream of the video by disabling alternative Rice parameter signaling for pictures in the in-scope output layer set OlsInScope;

determining that an alternative Rice parameter derivation for binarization of quantization residuals of the video is constrained based on the fourth flag being one, and decoding the remaining portion of the bitstream of the video by disabling alternative Rice parameter signaling for pictures in the in-scope output layer set OlsInScope;

determining that an initialization of Rice parameter derivation for binarization based on previous transform unit state is constrained based on determining the fifth flag being one, and decoding the remaining portion of the bitstream of the video without initializing Rice parameter based on previous transform unit state for pictures in the in-scope output layer set OlsInScope; or

determining that coordinates of a last significant coefficient are coded relative to a top-left corner for each transform block of a slice based on the sixth flag being one and decoding the remaining portion of the bitstream of the video by interpreting decoded coordinates of the last significant coefficient as being relative to the top-left corner for each transform block of the slice.

19. The system of claim 17 , wherein the operations further comprise one or more of:

determining that the first flag is not present in the bitstream and inferring a value of the first flag to be 0 indicating no constraint is imposed for a corresponding coding tool;

determining that the second flag is not present in the bitstream and inferring a value of the second flag to be 0 indicating no constraint is imposed for a corresponding coding tool;

determining that the third flag is not present in the bitstream and inferring a value of the third flag to be 0 indicating no constraint is imposed for a corresponding coding tool;

determining that the fourth flag is not present in the bitstream and inferring a value of the fourth flag to be 0 indicating no constraint is imposed for a corresponding coding tool;

determining that the fifth flag is not present in the bitstream and inferring a value of the fifth flag to be 0 indicating no constraint is imposed for a corresponding coding tool; or

determining that the sixth flag is not present in the bitstream and inferring a value of the sixth flag to be 0 indicating no constraint is imposed for a corresponding coding tool.

20. The system of claim 15 , wherein the operations further comprise, prior to decoding the additional bit count M:

decoding a general constraints information (GCI) flag from the bitstream of the video by decoding the GCI flag from a network packet of the video, a video parameter set of the video, or a sequence parameter set of the video; and

determining that one or more general constraints are imposed for the video based on a value of the GCI flag.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 5, 2024
From: GAN, JONATHAN; YU, YUE; YU, HAOPING
To: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP., LTD.
Reel/Frame 067915/0907 →
Continuity (5)
Continuation PCTUS2022079490 · Nov 8, 2022
Provisional Application 63266765 · Jan 13, 2022
Provisional Application 63266616 · Jan 10, 2022
Provisional Application 63266615 · Jan 10, 2022
Related Publication 20240364907A1 · Oct 31, 2024
References Cited (36)
US 11838554B2 · Deng · 2023 [cited by examiner]
US 11889119B2 · Deng · 2024 [cited by examiner]
US 11924474B2 · Zhang · 2024 [cited by examiner]
US 11924475B2 · Deng · 2024 [cited by examiner]
US 11956474B2 · Deng · 2024 [cited by examiner]
US 11997317B2 · Choi · 2024 [cited by examiner]
US 20130315563A1 · Kikuchi · 2013 [cited by applicant]
US 20170347128A1 · Panusopone · 2017 [cited by applicant]
US 20210136369A1 · Lim · 2021 [cited by applicant]
US 20210314587A1 · Choi · 2021 [cited by applicant]
US 20210314623A1 · Chang · 2021 [cited by applicant]
US 20210368209A1 · Coban et al. · 2021 [cited by applicant]
US 20230101542A1 · Choi et al. · 2023 [cited by applicant]
US 20230122189A1 · Wang et al. · 2023 [cited by applicant]
US 20240283979A1 · Wang · 2024 [cited by applicant]
CN 104284191A · 2015 [cited by applicant]
CN 109788285A · 2019 [cited by applicant]
CN 110430431A · 2019 [cited by applicant]
WO 2021127723A1 · 2021 [cited by applicant]
WO 2021160165A1 · 2021 [cited by applicant]
WO 2021202178A1 · 2021 [cited by applicant]
WO 2021216736A1 · 2021 [cited by applicant]
WO 2021252396A1 · 2021 [cited by applicant]
WO 2022214877A1 · 2022 [cited by applicant]
On general constrain information syntax; Chang—Apr. 2020; (Year: 2020). [cited by examiner]
Joint Video Experts Team (JVET)—Meeting Report_15-24-Apr. 2020; Sullivan; (Year: 2020). [cited by examiner]
Wenger, “H.264/AVC Over IP”; Published in: IEEE Transactions on Circuits and Systems for Video Technology (vol. 13, Issue: 7, Jul. 2003); Date of Publication: Jul. 2003; entire document. 12 pages. [cited by applicant]
International Search Report in the international application No. PCT/US2022/079494, mailed on Feb. 2, 2023. 2 pages. [cited by applicant]
Written Opinion of the International Search Authority in the international application No. PCT/US2022/079494, mailed on Feb. 2, 2023. 7 pages. [cited by applicant]
International Search Report in the international application No. PCT/US2022/079490, mailed on Feb. 2, 2023. 2 pages. [cited by applicant]
Written Opinion of the International Search Authority in the international application No. PCT/US2022/079490, mailed on Feb. 2, 2023. 8 pages. [cited by applicant]
International Search Report in the international application No. PCT/US2022/079487, mailed on Feb. 7, 2023. 2 pages. [cited by applicant]
Written Opinion of the International Search Authority in the international application No. PCT/US2022/079487, mailed on Feb. 7, 2023. 3 pages. [cited by applicant]
Frank Bossen et al, “VVC operation range extensions (Draft 5)”, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29 JVET-X2005-v1, 24th Meeting, by teleconference, Oct. 6-15, 2021, entire documen… [cited by applicant]
Benjamin Bross et al, “Versatile Video Coding Editorial Refinements on Draft 10”, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29 JVET-T2001-v2, 20th Meeting, by teleconference, Oct. 7-16, 20… [cited by applicant]
Notice of Allowance of the U.S. Appl. No. 18/753,216, issued on Sep. 4, 2024. 14 pages. [cited by applicant]