Search

EP-4738833-A2 - QUANTIZATION PARAMETER SIGNALING

EP4738833A2EP 4738833 A2EP4738833 A2EP 4738833A2EP-4738833-A2

Abstract

A quantization parameter signalling mechanism for both SDR and HDR content in video coding is described using two approaches. The first approach is to send the user-defined Qpc table directly in high level syntax. This leads to more flexible and efficient QP control for future codec development and video content coding. The second approach is to signal luma and chroma QPs independently. This approach eliminates the need for Qp C tables and removes the dependency of chroma quantization parameter on luma QP.

Inventors

  • PU, Fangjun
  • LU, TAORAN
  • YIN, PENG
  • MCCARTHY, Sean Thomas

Assignees

  • Dolby Laboratories Licensing Corporation

Dates

Publication Date
20260506
Application Date
20200527

Claims (6)

  1. An apparatus to decode a coded video bitstream, the apparatus comprising: an input to receive a coded video bitstream; and a processor, wherein the processor: extracts syntax elements from the coded video bitstream to determine a chroma quantization parameter (Qpc) table (100, 200, 300, 400A, 400B) mapping luma quantization parameter (QP) values qP(i) to corresponding chroma QP values Qpc(i), wherein 'i' denotes an index in the Qpc table ranging from an integer start-index value startID to an integer end-index value endID, wherein the syntax elements comprise: a parameter to determine the integer start-index value startID of the Qpc table; and one or more parameters to determine delta-Qpc values dQpc(i), wherein for two consecutive index values, i-1 and i, a delta-Qpc value dQpc(i) denotes the difference dQpc(i) = Qpc(i) - Qpc(i-1); and generates a decoded output signal based on the determined Qpc table and the coded video bitstream.
  2. The apparatus of claim 1, wherein the syntax elements comprise Qpc table parameters to map the luma QP values to the chroma QP values using a piece-wise linear representation.
  3. A method for transmitting an encoded video stream, performed by an image encoding apparatus, the method comprising: receiving a sequence of video pictures; encoding the sequence of video pictures using luma quantization parameters and chroma quantization parameters to generate an output stream; signaling in the output stream syntax elements for a decoder to determine a chroma quantization parameter (Qpc) table (100, 200, 300, 400A, 400B) mapping luma quantization parameter (QP) values qP(i) to corresponding chroma QP values Qpc(i), wherein 'i' denotes an index in the Qpc table ranging from an integer start-index value startID to an integer end-index value endID; and transmitting the output stream to an image decoding apparatus, wherein the syntax elements comprise: a parameter to determine the integer start-index value startID of the Qpc table; and one or more parameters to determine delta-Qpc values dQpc(i), wherein for two consecutive index values, i-1 and i, a delta-Qpc value dQpc(i) denotes the difference dQpc(i) = Qpc(i) - Qpc(i-1).
  4. The method of claim 3 wherein the syntax elements comprise Qpc table parameters to map the luma QP values to the chroma QP values using a piece-wise linear representation.
  5. An apparatus to generate a coded video bitstream, the apparatus comprising: an input to receive a sequence of video pictures; and a processor, wherein the processor: encodes the sequence of video pictures using luma quantization parameters and chroma quantization parameters; and signals in the coded video bitstream syntax elements for a decoder to determine a chroma quantization parameter (Qpc) table (100, 200, 300, 400A, 400B) mapping luma quantization parameter (QP) values qP(i) to corresponding chroma QP values Qpc(i), wherein 'i' denotes an index in the Qpc table ranging from an integer start-index value startID to an integer end-index value endID, wherein the syntax elements comprise: a parameter to determine the integer start-index value startID of the Qpc table; and one or more parameters to determine delta-Qpc values dQpc(i), wherein for two consecutive index values, i-1 and i, a delta-Qpc value dQpc(i) denotes the difference dQpc(i) = Qpc(i) - Qpc(i-1).
  6. The apparatus of claim 5, wherein the syntax elements comprise Qpc table parameters to map the luma QP values to the chroma QP values using a piece-wise linear representation.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS This application is a European divisional application of European patent application EP 22192415.2 (reference D19037EP02), for which EPO Form 1001 was filed on 26 August 2022. TECHNICAL FIELD The present disclosure is related to deriving and signaling quantization parameters when encoding video signals, and more particularly to methods, apparatus, computer program and computer program-based device for deriving and signaling of luma and/or chroma quantization parameters of the video signal. BACKGROUND The quantization parameter (QP) is one type of parameter used in the video bitstream to adjust quality and bitrate. In general, a lower QP value, set during encoding, results in a higher quality of the encoded video at the expense of a required higher number of consumed bits, with a QP of 0 meaning no quantization. On the other hand, for a higher value of QP, the quality of the encoded video is lower and fewer bits are consumed. Additionally, a decoder uses QP values when reconstructing video content from the encoded video. Versatile Video Coding (VVC) is a standard being developed by the Joint Video Exploration Team (JVET) that will code both Standard Dynamic Range (SDR) and High Dynamic Range (HDR) content. In the current (2019) VVC specification, signaling of quantization parameters for luma and chroma components are treated in different ways. For the luma component, a delta Quantization Parameter (QP), meaning the difference between consecutive quantization parameter values, is signaled and added to the initial QP values for each slice. For chroma, the chroma quantization parameter (Qpc) is derived from the luma QP with chroma offset value (qPi) using a chroma quantization parameter table. By way of example, Fig. 1 shows a table (100) containing different values of Qpc as a function of the luma quantization parameter with chroma offset, qPi. The data shown in table (100) correspond to a certain chroma format. According to the VVC standard, the chroma format is based on the variable chroma_format_idc ranging from 0 to 3. Table (100) corresponds to a chroma_format_idc value of 1, representing the chroma format (4:2:0). Table (100) of Fig. 1 is inherited from the High Efficiency Video Coding (HEVC) standard and designed only for SDR content. However, when HDR Perceptual Quantization (PQ) content was first studied in JCT-VC, it was concluded that the default SDR Qpc table is not suitable for HDR content because it results in chroma artifacts at low bitrate, especially in achromatic regions. Consequently, non-normative encoder optimization using a variable called ChromaQPOffset was introduced in the HDR Common Test Conditions (CTC) for HDR PQ content. Indicating in general a difference from a luma QP value, ChromaQPOffset is signaled in the picture parameter set (PPS), which means that a constant value is used based on the input QP. However, there are cases in which QP varies over a picture and this cannot be handled by a constant offset. In the first version of HEVC, there were distinct QP offsets for each of the two chroma components at the slice level. However, at the Coding unit (CU) level, delta QP was applied to all three components with chroma also going through a mapping table based on luma QP. In the Range Extensions (Rext) version, separate chroma QP control was introduced at the CU level through chroma QP offset lists specified for Cb and Cr, respectively. Quantization parameter derivation in the current VVC standard In this process, the luma quantization parameter Qp'Y and the chroma quantization parameters Qp'Cb and Qp'Cr are derived. The initial value of the luma quantization parameter QpY for the slice is derived as: SliceQpY=26+init_qp_minus26+slice_qp_delta qPY_PREV represents the previous luma quantization parameter for current coding unit. qPY_PREV is set equal to SliceQpY if the current quantization group is the first quantization group in a slice or brick. Otherwise, qPY_PREV is set equal to the luma quantization parameter QpY of the last luma coding unit in the previous quantization group in decoding order. qPY_PRED represents the predicted luma quantization parameter for current coding unit. If the current quantization group is the first quantization group in a CTB row within a brick and the top coding unit is available, set qPY_PRED to be QpY of the top CU, otherwise, qPY_PRED=qPY_A+qPY_B+1≫1 where qPY_A is set to be qPY_PREV if the left coding block is not the first coding block in the left quantization group or if the left coding block is not available; qPY_B is set to be qPY_PREV if the top coding block is not the first coding block in the top quantization group or if the top coding block is not available. The variable Qpy for each coding unit is derived as follows: QpY = ( ( qPY_PRED + CuQpDeltaVal + 64 + 2 * QpBdOffsetY )%( 64 + QpBdOffsetY ) ) - QpBdOffsety CuQpDeltaVal is specified with cu_qp_delta_abs and cu_qp_delta_sign_flag at the transfo