IP Library Granted Patent US 12684132
Granted Patent B2
US 12684132 · App. 18/927,576 · Granted Jul 14, 2026

Operation range extension for versatile video coding

Inventors: Yue Yu (Palo Alto, CA); Haoping Yu (Palo Alto, CA)
Assignee: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP., LTD.
H04N19/152H04N19/119H04N19/174H04N19/18H04N19/182H04N19/186H04N19/1883H04N19/197H04N19/436H04N19/70H04N19/96
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 12684132
App. No.
18/927,576
Granted
Jul 14, 2026
Kind
B2
Abstract

A video decoder decodes a video from a video bitstream encoded using Versatile Video Coding (VVC). The video decoder determines a bit depth of samples of the video based on Sequence Parameter Set (SPS) syntax element sps_bitdepth_minus8 whose value is in the range of 0 to 8. The decoder further determines the size of a decoded picture buffer (DPB) based on a Video Parameter Set (VPS) syntax element vps_ols_dpb_bitdepth_minus8 whose value is in the range of 0 to 8. The decoder allocates a storage space with the determined size of the DPB, decodes the video bitstream based on the determined bit depth, and thus obtains and stores a decoded picture in the DPB. The decoder further outputs the decoded picture.

Claims (66)

1 . A method for decoding a bitstream encoded using Versatile Video Coding (VVC), the method comprising:

determining a bit depth of samples of a picture based on Sequence Parameter Set (SPS) syntax element sps_bitdepth_minus8, wherein a value of the SPS syntax element sps_bitdepth_minus8 is in a range of 0 to 8;

determining a size of a decoded picture buffer (DPB) based on a Video Parameter Set (VPS) syntax element vps_ols_dpb_bitdepth_minus8, wherein a value of the VPS syntax element vps_ols_dpb_bitdepth_minus8 is in a range of 0 to 8;

allocating a storage space with the determined size of the DPB; and

storing a decoded picture in the DPB by decoding the bitstream based on the determined bit depth;

wherein decoding the bitstream based on the determined bit depth comprises:

accessing a binary string representing a partition of the picture, the partition comprising a plurality of coding tree units (CTUs) forming one or more CTU rows;

for each CTU of the plurality of CTUs in the partition,

prior to decoding the CTU, determining that parallel coding is allowed and that the CTU is a first CTU of a current CTU row among the one or more CTU rows in the partition;

in response to determining that the parallel coding is allowed and that the CTU is the first CTU of the current CTU row in the partition, setting a history counter for a color component for calculating Rice parameters to an initial value based on the determined bit depth; and

decoding the CTU, comprising:

calculating the Rice parameters for transform units (TUs) in the CTU based on the history counter;

decoding the binary string corresponding to the TUs in the CTU into coefficient values of the TUs based on the calculated Rice parameters; and

determining pixel values for the TUs in the CTU from the coefficient values; and

outputting a decoded partition of the picture comprising the decoded plurality of CTUs in the partition.

2 . The method of claim 1 , wherein storing the decoded picture in the DPB by decoding the bitstream comprises:

storing a first set of pictures in the DPB by decoding a first portion of the bitstream; and

decoding a second portion of the bitstream into a second set of pictures by using the first set of pictures in the DPB as reference pictures.

3 . The method of claim 1 , further comprising:

reordering one or more decoded pictures in the DPB according to an output order; and

outputting the one or more decoded pictures according to the output order.

4 . The method of claim 1 , further comprising:

holding one or more decoded pictures in the DPB for a period of time; and

outputting the one or more decoded pictures after the period of time has passed.

5 . A method for encoding using Versatile Video Coding (VVC), the method comprising:

determining a bit depth of samples of a picture to be encoded;

determining a value of a Sequence Parameter Set (SPS) syntax element sps_bitdepth_minus8, wherein the value of the SPS syntax element sps_bitdepth_minus8 is in a range of 0 to 8, and encoding the value of the SPS syntax element sps_bitdepth_minus8 into a bitstream;

determining a value of a Video Parameter Set (VPS) syntax element vps_ols_dpb_bitdepth_minus8, wherein the value of the VPS syntax element vps_ols_dpb_bitdepth_minus8 is in a range of 0 to 8, and encoding the value of the VPS syntax element vps_ols_dpb_bitdepth_minus8 into the bitstream;

determining a size of a decoded picture buffer (DPB) based on the VPS syntax element vps_ols_dpb_bitdepth_minus8;

allocating a storage space with the determined size of the DPB;

obtaining and storing a picture in the DPB; and

encoding the picture based on the determined bit depth;

wherein encoding the picture based on the determined bit depth comprises:

performing a partition of the picture, wherein the partition comprising a plurality of coding tree units (CTUs) forming one or more CTU rows;

for each CTU of the plurality of CTUs in the partition,

prior to encoding the CTU, determining that parallel coding is allowed and that the CTU is the first CTU of a current CTU row among the one or more CTU rows in the partition;

in response to determining that the parallel coding is allowed and that the CTU is the first CTU of the current CTU row in the partition, setting a history counter for a color component for calculating Rice parameters to an initial value based on the determined bit depth; and

encoding the CTU, comprising:

calculating the Rice parameters for transform units (TUs) in the CTU based on the history counter;

encoding coefficient values corresponding to the TUs in the CTU into a binary string based on the calculated Rice parameters; and

signalling the binary string of the TUs in the CTU into the bitstream.

6 . The method of claim 5 , wherein obtaining and storing the picture in the DPB comprises:

obtaining and storing a first set of pictures in the DPB;

encoding the first set of pictures into a first portion of the bitstream; and

encoding a second set of pictures into a second portion of the bitstream by using the first set of pictures in the DPB as reference pictures.

7 . A non-transitory computer readable storage medium, storing computer programs and a bitstream, wherein when executed by a processor, the computer programs cause the processor to implement a method for encoding using Versatile Video Coding (VVC) to generate the bitstream, and the method comprises:

determining a bit depth of samples of a picture to be encoded;

determining a value of a Sequence Parameter Set (SPS) syntax element sps_bitdepth_minus8, wherein the value of the SPS syntax element sps_bitdepth_minus8 is in a range of 0 to 8, and encoding the value of the SPS syntax element sps_bitdepth_minus8 into a bitstream;

determining a value of a Video Parameter Set (VPS) syntax element vps_ols_dpb_bitdepth_minus8, wherein the value of the VPS syntax element vps_ols_dpb_bitdepth_minus8 is in a range of 0 to 8, and encoding the value of the VPS syntax element vps_ols_dpb_bitdepth_minus8 into the bitstream;

determining a size of a decoded picture buffer (DPB) based on the VPS syntax element vps_ols_dpb_bitdepth_minus8;

allocating a storage space with the determined size of the DPB;

obtaining and storing a picture in the DPB; and

encoding the picture based on the determined bit depth;

wherein encoding the picture based on the determined bit depth comprises:

performing a partition of the picture, wherein the partition comprising a plurality of coding tree units (CTUs) forming one or more CTU rows;

for each CTU of the plurality of CTUs in the partition,

prior to encoding the CTU, determining that parallel coding is allowed and that the CTU is the first CTU of a current CTU row among the one or more CTU rows in the partition;

in response to determining that the parallel coding is allowed and that the CTU is the first CTU of the current CTU row in the partition, setting a history counter for a color component for calculating Rice parameters to an initial value based on the determined bit depth; and

encoding the CTU, comprising:

calculating the Rice parameters for transform units (TUs) in the CTU based on the history counter;

encoding coefficient values corresponding to the TUs in the CTU into a binary string based on the calculated Rice parameters; and

signalling the binary string of the TUs in the CTU into the bitstream.

8 . The non-transitory computer readable storage medium of claim 7 , wherein obtaining and storing the picture in the DPB comprises:

obtaining and storing a first set of pictures in the DPB;

encoding the first set of pictures into a first portion of the bitstream; and

encoding a second set of pictures into a second portion of the bitstream by using the first set of pictures in the DPB as reference pictures.