IP Library Granted Patent US 12666067
Granted Patent B2
US 12666067 · App. 18/963,989 · Granted Jun 23, 2026

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/46H04N19/70
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 12666067
App. No.
18/963,989
Granted
Jun 23, 2026
Kind
B2
Abstract

A method for decoding a video includes that: a decoder decodes a video from a bitstream of the video; the decoder accesses a bitstream of the video and extracts a GCI flag from the bitstream; the decoder determines that one or more general constraints are imposed for the video based on the GCI flag value and extracts, from the bitstream of the video, a value indicating a quantity of additional bits included in the bitstream of the video, the additional bits include flag bits indicating respective additional coding tools to be constrained for the video; if the value is greater than five, the decoder extracts six flags from the bitstream of the video that indicate respective constraints for six additional coding tools; and the decoder decodes the bitstream of the video into images based on the constraints for the six additional coding tools indicated by the six flags.

Claims (95)

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

extracting a general constraints information (GCI) flag from a bitstream;

determining that one or more general constraints are imposed for a process of decoding the bitstream based on a value of the GCI flag;

in response to determining that one or more general constraints are imposed for the process of decoding the bitstream, extracting, from the bitstream, a value indicating a quantity of additional bits included in the bitstream, the additional bits comprising flag bits indicating respective additional coding configurations to be constrained for the video;

determining whether the value is greater than five;

in response to determining that the value is greater than five:

setting a value numAdditionalBitsUsed indicating extracted additional bits to be 6;

extracting six flag bits from the bitstream, the six flag bits representing six respective flags indicating respective constraints for six additional coding configurations;

extracting a set of bits from the bitstream, wherein a number of bits in the set of bits equals to gci_num_additional_bits-numAdditionalBitsUsed, gci_num_additional_bits representing the quantity of additional bits included in the bitstream; and

decoding a remaining portion of the bitstream into images independent of the set of bits;

in response to determining that the value is not greater than five:

setting a value numAdditionalBitsUsed indicating extracted additional bits to be 0;

extracting a set of bits from the bitstream, wherein a number of bits in the set of bits equals to gci_num_additional_bits-numAdditionalBitsUsed, gci_num_additional_bits representing the quantity of additional bits included in the bitstream; and

decoding the remaining portion of the bitstream into images independent of the extracted set of bits.

2 . The method of claim 1 , 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.

3 . The method of claim 2 , 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 process;

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 process;

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 process;

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 process;

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 process; 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 process.

4 . The method of claim 2 , wherein decoding the remaining portion of the bitstream into the images independent of the set of bits 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 an 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 1 , wherein the GCI flag is extracted from a network packet of the video, a video parameter set of the video, or a sequence parameter set of the video.

6 . 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:

extracting a general constraints information (GCI) flag from a bitstream;

determining that one or more general constraints are imposed for a process of decoding the bitstream based on a value of the GCI flag;

in response to determining that one or more general constraints are imposed for the process of decoding the bitstream, extracting, from the bitstream, a value indicating a quantity of additional bits included in the bitstream, the additional bits comprising flag bits indicating respective additional coding configurations to be constrained for a video;

determining whether the value is greater than five;

in response to determining that the value is greater than five,

setting a value numAdditionalBitsUsed indicating extracted additional bits to be 6;

extracting six flag bits from the bitstream, the six flag bits representing six respective flags indicating respective constraints for six additional coding configurations;

extracting a set of bits from the bitstream, wherein a number of bits in the set of bits equals to gci_num_additional_bits-numAdditionalBitsUsed, gci_num_additional_bits representing the quantity of additional bits included in the bitstream; and

decoding a remaining portion of the bitstream into images independent of the set of bits;

in response to determining that the value is not greater than five:

setting a value numAdditionalBitsUsed indicating extracted additional bits to be 0;

extracting a set of bits from the bitstream, wherein a number of bits in the set of bits equals to gci_num_additional_bits-numAdditionalBitsUsed, gci_num_additional_bits representing the quantity of additional bits included in the bitstream; and

decoding the remaining portion of the bitstream into images independent of the extracted set of bits.

7 . The system of claim 6 , 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.

8 . The system of claim 7 , 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 process;

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 process;

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 process;

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 process;

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 process; 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 process.

9 . The system of claim 7 , wherein decoding the remaining portion of the bitstream into the images independent of the set of bits 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 an 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.

10 . The system of claim 6 , wherein the GCI flag is extracted from a network packet of the video, a video parameter set of the video, or a sequence parameter set of the video.

11 . A method for encoding a video, performed by a video encoder, the method comprising:

determining a value of a general constraints information (GCI) flag, which indicates one or more general constraints are imposed for a process of encoding the video, and encoding the GCI flag into a bitstream;

in response to one or more general constraints are imposed for the process of encoding the video, determining a value indicating a quantity of additional bits included in the bitstream, the additional bits comprising flag bits indicating respective additional coding configurations to be constrained for the video;

determining whether the value is greater than five;

in response to determining that the value is greater than five,

setting a value numAdditionalBitsUsed indicating extracted additional bits to be 6;

determining six flag bits representing six respective flags indicating respective constraints for six additional coding configurations, and encoding the six flag bits into the bitstream;

determining a number of bits in a set of bits, which equals to gci_num_additional_bits numAdditionalBitsUsed, gci_num_additional_bits representing the quantity of additional bits included in the bitstream, and encoding the set of bits into the bitstream;

encoding the video into a remaining portion of the bitstream;

in response to determining that the value is not greater than five, setting a value numAdditionalBitsUsed indicating extracted additional bits to be 0;

determining a number of bits in a set of bits, which equals to gci_num_additional_bits-numAdditionalBitsUsed, gci_num_additional_bits representing the quantity of additional bits included in the bitstream; encoding the set of bits into the bitstream; and

encoding images of the video into a remaining portion of the bitstream independent of the extracted set of bits.

12 . The method of claim 11 , 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.

13 . The method of claim 11 , wherein the GCI flag is encoded into a network packet of the video, a video parameter set of the video, or a sequence parameter set of the video.

14 . A non-transitory computer-readable medium having program code and a bitstream stored thereon, wherein the program code, when executed by one or more processors, enables the one or more processors to perform the steps of the method for encoding the video of claim 11 to generate the bitstream.