Use of chroma quantization parameter offsets in deblocking
AssigneeMicrosoft Technology Licensing, LLC
InventorGary J. Sullivan
Life of this patent
Estimating the term…
Abstract
Innovations in use of chroma quantization parameter (“QP”) offsets when determining a control parameter for deblock filtering. For example, as part of encoding, an encoder sets a picture-level chroma QP offset and slice-level chroma QP offset for encoding of a slice of a picture. The encoder also performs deblock filtering of at least part of the slice, where derivation of a control parameter considers only the picture-level chroma QP offset. The encoder outputs at least part of a bitstream including the encoded content. As part of decoding, a corresponding decoder sets a picture-level chroma QP offset and a slice-level chroma QP offset for decoding of a slice of a picture, but derivation of a control parameter for deblock filtering considers only the picture-level chroma QP offset.
Claims20
A computing system that comprises one or more processing units and memory, wherein the computing system implements a video encoder configured to encode video content for which values of quantization parameter (QP) vary according to a relationship between a luma component and chroma components, the video encoder comprising:
- a quantizer configured to quantize transform coefficients for one or more portions of a slice of a picture;
- a deblock filter configured to perform deblock filtering of at least part of the slice, wherein derivation of a control parameter for the deblock filtering of the at least part of the slice considers a picture-level chroma QP offset for the picture but not a slice-level chroma QP offset for the slice, the control parameter depending on a variable qPI derived as:
- qPI=(((QPQ+QPP+1)>>1)+cqp_offset),
- wherein variables QPQ and QPP represent luma QP values for blocks on either side of an edge in the at least part of the slice on which deblock filtering is performed, wherein variable cqp_offset represents the picture-level chroma QP offset for the picture, and wherein the variable qPI is used to determine a variable QPC that is used in the derivation of the control parameter;
- and
- a buffer configured to store at least part of a bitstream including encoded content, the at least part of the bitstream including one or more syntax elements that indicate the picture-level chroma QP offset for the picture and one or more syntax elements that indicate the slice-level chroma QP offset for the slice.
A non-volatile memory or storage device having stored thereon at least part of a bitstream including encoded video content for which values of quantization parameter (QP) vary according to a relationship between a luma component and chroma components, wherein the bitstream includes one or more syntax elements that indicate a picture-level chroma QP offset for a picture and one or more syntax elements that indicate a slice-level chroma QP offset for a slice of the picture, and wherein the bitstream results from encoding that includes:
- setting the picture-level chroma QP offset for the picture and the slice-level chroma QP offset for the slice;
- quantizing transform coefficients for one or more portions of the slice;
- performing deblock filtering of at least part of the slice, wherein derivation of a control parameter for the deblock filtering of the at least part of the slice considers the picture-level chroma QP offset for the picture but not the slice-level chroma QP offset for the slice, the control parameter depending on a variable qPI derived as:
- qPI=(((QPQ+QPP+1)>>1)+cqp_offset),
- wherein variables QPQ and QPP represent luma QP values for blocks on either side of an edge in the at least part of the slice on which deblock filtering is performed, wherein variable cqp_offset represents the picture-level chroma QP offset for the picture, and wherein the variable qPI is used to determine a variable QPC that is used in the derivation of the control parameter;
- and
- outputting the at least part of a bitstream including the encoded content.
In a computing device that implements a video decoder, a method comprising:
- receiving at least part of a bitstream including encoded video content for which values of quantization parameter (QP) vary according to a relationship between a luma component and chroma components, wherein the bitstream includes one or more syntax elements that indicate a picture-level chroma QP offset for a picture and one or more syntax elements that indicate a slice-level chroma QP offset for a slice of the picture;
- and
- decoding at least some of the encoded content, wherein the decoding includes:
- using the picture-level chroma QP offset for the picture and the slice-level chroma QP offset for the slice to regulate inverse quantization, according to a chroma QP, of transform coefficients for one or more portions of the slice;
- and
- performing deblock filtering of at least part of the slice, wherein derivation of a control parameter for the deblock filtering of the at least part of the slice considers the picture-level chroma QP offset for the picture but not the slice-level chroma QP offset for the slice, the control parameter depending on a variable qPI derived as:
- qPI=(((QPQ+QPP+1)>>1)+cqp_offset),
- wherein variables QPQ and QPP represent luma QP values for blocks on either side of an edge in the at least part of the slice on which deblock filtering is performed, wherein variable cqp_offset represents the picture-level chroma QP offset for the picture, and wherein the variable qPI is used to determine a variable QPC that is used in the derivation of the control parameter.
Dependencies are inferred from the claim text.