signaling a quantization parameter

By using user-defined chroma quantization parameter tables and advanced syntax elements, the problem of chroma artifacts in HDR content is solved, achieving more efficient encoding and more flexible chroma quantization processing, suitable for video encoding of different signal types.

CN115633173BActive Publication Date: 2026-02-27DOLBY LABORATORIES LICENSING CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211307423.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-05-28
Filing Date
2020-05-27
Publication Date
2026-02-27
Estimated Expiration
2040-05-27

AI Technical Summary

Technical Problem

Existing video coding standards suffer from severe chroma artifacts when processing high dynamic range (HDR) content, especially at low bit rates, and the processing of chroma quantization parameters is not flexible enough to adapt to the needs of different content types.

Method used

Using a user-defined chroma quantization parameter table (Qpc table) and advanced syntax elements, the chroma QP is sent flexibly and independently of the luminance QP through methods such as differential coding, piecewise linear functions, and run-length coding to adapt to the different chroma components and transmission characteristics of HDR content.

Benefits of technology

It improves the encoding efficiency and quality of HDR content, reduces chroma artifacts, and enhances the flexibility and adaptability of the encoder, making it suitable for various signal types.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115633173B_ABST
    Figure CN115633173B_ABST
Patent Text Reader

Abstract

The present disclosure relates to signaling quantization parameters. A method of reconstructing encoded data with one or more processors includes receiving an encoded bitstream including one or more encoded pictures, wherein each picture includes a luma component, a first chroma component, and a second chroma component; extracting syntax parameters from the encoded bitstream to determine a chroma quantization parameter (QP) table, wherein the chroma QP table maps an input luma QP value to a corresponding chroma QP value; and decoding the one or more encoded pictures based on the chroma QP table, wherein the syntax parameters include a starting luma QP value and one or more offset parameters to determine the mapping of luma QP values to chroma QP values using a piecewise linear representation.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the Chinese Invention Patent Application with the application date of May 27, 2020, the application number of 2020800242377, and the invention name of “Signaling Quantization Parameters”. TECHNICAL FIELD

[0002] The present disclosure relates to deriving and signaling quantization parameters when encoding video signals, and more specifically to methods, apparatuses, computer programs, and computer program based devices for deriving and signaling luma and / or chroma quantization parameters of a video signal. BACKGROUND

[0003] Quantization parameter (QP) is a parameter used in video bitstreams to adjust quality and bit rate. Generally, the lower the QP value set during encoding, the higher the quality of the encoded video but the higher the number of bits consumed, where QP of 0 means no quantization. On the other hand, the higher the QP value, the lower the quality of the encoded video and the fewer bits consumed. Furthermore, the decoder uses the QP value when reconstructing the video content from the encoded video.

[0004] Versatile Video Coding (VVC) is a standard being developed by the Joint Video Exploration Team (JVET) that will encode both standard dynamic range (SDR) content and high dynamic range (HDR) content. In the current (2019) VVC specification, the signaling of quantization parameters for luma and chroma components is handled differently.

[0005] For luma components, delta quantization parameters (QP) (i.e. the difference between consecutive quantization parameter values) are signaled and added to the initial QP value for each slice.

[0006] For chroma, the chroma quantization parameter (Qpc) is derived from the luma QP with a chroma offset value (qPi) using a chroma quantization parameter table. For example, Figure 1 A table (100) is shown that contains different values of Qpc as a function of luma quantization parameter with a chroma offset qPi. The data shown in table (100) corresponds to a certain chroma format. According to the VVC standard, the chroma format is based on a variable chroma_format_idc that ranges from 0 to 3. Table (100) corresponds to chroma_format_idc with a value of 1, which represents the chroma format (4:2:0).

[0007] Figure 1The table (100) is inherited from the High Efficiency Video Coding (HEVC) standard and is designed only for SDR content. However, when JCT-VC first studied HDR Perceptual Quantization (PQ) content, it was concluded that the default SDR Qpc table was unsuitable for HDR content because it caused chroma artifacts at low bit rates, especially in achromatic regions. Therefore, a non-canonical encoder optimization using a variable called ChromaQPOffset was introduced in the HDR Common Test Conditions (CTC) for HDR PQ content. ChromaQPOffset typically indicates the difference from the luminance QP value and is sent as a signal in the form of a Picture Parameter Set (PPS), meaning that a constant value is used for the QP based on the input. However, in some cases, the QP varies with the picture, which cannot be handled by a constant offset.

[0008] In the first version of HEVC, each of the two chroma components had a different QP offset at the slice level. However, at the coding unit (CU) level, ΔQP was applied to all three components, where chroma also passed through a mapping table based on luminance QP. In the range extension (Rext) version, separate chroma QP control was introduced at the CU level by specifying separate lists of chroma QP offsets for Cb and Cr.

[0009] Derivation of Quantization Parameters in the Current VVC Standard

[0010] During this process, the brightness quantization parameter Qp′ is obtained. Y and colorimetric parameter Qp′ Cb and Qp′ Cr The brightness quantization parameter Qp of the slice is obtained. Y The initial value is:

[0011] SliceQp Y =26+init_qp_minus26+slice_qp_delta

[0012] qP Y_PREV This represents the previous luminance quantization parameter of the current coding unit. If the current quantization block is the first quantization block in a slice or block, then qP is... Y_PREV Set to equal SliceQp y Otherwise, qP Y_PREV Set to the luminance quantization parameter Qp, which is equal to the last luminance coding unit in the previous quantization group in the decoding order. Y .

[0013] qP Y_PRED This represents the predicted luminance quantization parameters for the current coding unit. If the current quantization block is the first quantization block in the CTB line within the block and the top coding unit is available, then qP is...Y-PRED Set as top CU Qp Y ,otherwise,

[0014] qP Y_PRED =(qP Y_A +qP Y_B +1)>>1

[0015] Where the left coding block is not the first coding block in the left quantization block or the left coding block is unavailable, then qP is... Y_A Set to qP Y_PREV If the top coded block is not the first coded block in the top quantized block, or if the top coded block is unavailable, then qP will be... Y_B Set to qP Y_PREV .

[0016] Obtain the variable Qp for each coding unit Y as follows:

[0017] Qp Y =

[0018] ((qP Y_PRED +CuQPDehaVal+64+2*QpBdOffset Y )%(64+QpBdOffset Y ))-QpBdOffset Y

[0019] In the transformation unit layer, CuQpDeltaVal is specified using cu_qp_delta_abs and cu_qp_delta_sign_flag.

[0020] The brightness quantization parameter Qp′ is obtained. Y as follows:

[0021] Qp′ Y =Qp Y +QpBdOffset Y

[0022] When ChromaArrayType is not equal to 0 and treeType is SINGLE_TREE or DUAL_TREE_CHROMA, the following applies:

[0023] • When treeType equals DUAL_TREE_CHROMA, the variable Qp Y The luminance quantization parameter Qp is set to be equal to the luminance position (xCb+cbWidth / 2, yCb+cbHeight / 2) of the current luminance coding unit. Y .

[0024] • the variable qP is derived Cb and qP Cr as follows:

[0025] qPi Cb = Clip3( -QpBdOffset C , 69, Qp Y + pps_cb_qp_offset + slice_cb_qp_offset )

[0026] qPi Cr = Clip3( -QpBdOffset C , 69, Qp Y + pps_cr_qp_offset + slice_cr_qp_offset )

[0027] • If ChromaArrayType is equal to 1, the variables qP Cb and qP Cr are set equal to the Qp Cb values specified in Table 1 (shown again below for convenience) based on the indices qPi Cr and qPi C , respectively.

[0028] • Otherwise, the variables qP Cb and qP Cr are set equal to Min( qPi, 63 ) based on the indices qPi Cb and qPi Cr , respectively.

[0029] • the chroma quantization parameters Qp' Cb and Qp' Cr for Cb and Cr are derived as follows:

[0030] Qp' Cb = qP Cb + QpBdOffset C

[0031] Qp' Cr = qP Cr + QPBdOffset C SUMMARY

[0032] Current video content is different from the SDR content for which the original default SDR Qpc table was designed. As an example, Y'CbCr or ICtCp signal formats can be used to encode luminance and chrominance components of SDR and HDR content. For HDR content, the situation is more complex. HDR content can also be encoded using HLG or PQ transfer characteristics. It can be beneficial to signal different chroma quantization parameters for different chrominance component types and transfer characteristics. It can also be beneficial to signal different chroma quantization parameters for two different chrominance components, Cb and Cr or Ct and Cp. It can also be beneficial to signal chroma quantization parameters in a content dependent manner. The disclosed methods and apparatus address the above problems and requirements.

[0033] The apparatus and methods according to the present disclosure provide a solution to the problem of deriving chroma QPs (QPs) for HDR content. Furthermore, apparatus and methods for signaling such derived chroma QPs for HDR are also disclosed. According to a first aspect of the present disclosure, a method for decoding an encoded video bitstream is disclosed, the method comprising: a) extracting a chroma quantization parameter (Qpc) table that maps a luminance quantization parameter (Qp) having a chroma QP offset value qP(i) to a corresponding chroma Qp value Qpc(i), wherein: i) 'i' is an index of table entries, ranging from startID to endID; ii) startID is an integer greater than or equal to 1 and less than N, N being the total number of Qpc table entries; and iii) endID is an integer greater than startID and 1 and less than or equal to N; and b) generating a decoded output signal based on the extracted Qpc table and the encoded video bitstream; wherein the encoded bitstream comprises a table identifier, and wherein: in a first case: the table identifier indicates the presence of a default table; and in a second case: the encoded video bitstream further comprises one or more elements signaled in high level syntax, the one or more elements being encoded based on one of a) two or more chroma Qp values, or b) a combination of one or more chroma Qp values and one or more luminance Qp having a chroma offset value.

[0034] According to a second aspect of the disclosure, a method for decoding an encoded stream of a video signal is disclosed, the method comprising: extracting a luma quantization parameter (Qp), a first chroma component Qp and a second chroma component Qp from the encoded stream; and generating an output decoded video signal based on the extracted luma Qp, first chroma component Qp and second chroma component Qp and the encoded video bitstream; wherein: the encoded video stream comprises a plurality of elements signaled with high level syntax; the plurality of elements are encoded based on a combination of the luma Qp, the first chroma component Qp and the second chroma component Qp; the first chroma component Qp is derived based on a prediction value of the first chroma component Qp and a bit depth of first chroma component samples of the video signal; and the second chroma component Qp is derived based on a prediction value of the second chroma component Qp and a bit depth of second chroma component samples of the video signal. BRIEF DESCRIPTION OF DRAWINGS

[0035] Figure 1 An example of a table containing different values of chroma quantization parameters as a function of luma quantization parameter is shown.

[0036] Figure 2 An example HDR Qpc table according to embodiments of the disclosure is shown.

[0037] Figure 3 An example Qpc table according to embodiments of the disclosure is shown.

[0038] Figure 4A An example Qpc table for HDR PQ content type is shown.

[0039] Figure 4B An example Qpc table for High Dynamic Range Hybrid Log-Gamma (HLG) content type is shown.

[0040] Figure 5 A luma quantization parameter based on an example SDR Qpc mapping function is shown. DETAILED DESCRIPTION

[0041] DEFINITIONS

[0042] In this document, technical terms related to video encoding and decoding are defined according to Versatile Video Coding (Draft 5), document JVET-N1001-v3, Joint Video Expert Team (JVET) of ITU-T SG 16 WP3 and ISO / IEC JTC 1 / SC 29 / WG 11, 14th Meeting: 19th - 27th March 2019, Geneva, Switzerland.

[0043] SUMMARY

[0044] 1. Obtain colorimetric PQ based on user-defined Qpc table

[0045] According to embodiments of the disclosure, a user-defined Qpc table can be used to determine colorimetric QP for HDR content. Figure 2 A table (200) representing an exemplary HDR Qpc table is shown according to embodiments of the disclosure. The table (200) has essentially the same effect on HDR content as the default SDR Qpc table specified in current VVC on SDR content. Those skilled in the art will appreciate that the disclosed method based on user-defined Qpc table for HDR content will unify codec design for all SDR and HDR signal types and make QP control for future codec development more flexible and efficient.

[0046] According to embodiments of the disclosure, the HDR Qpc table as described can be directly signaled in the form of high-level syntax such as video parameter set (VPS), signal parameter set (SPS), PPS, adaptive parameter set (APS), slice header, and SEI message. To reduce the signaling overhead, according to other embodiments of the disclosure, the default Qpc table can be used as a normative table in the standard specification or as a non-normative example in the standard specification.

[0047] Reference Figure 2 In the SPS, a new syntax element chroma_qp_table_idc can be added. The value of chroma_qp_table_idc equal to 0 refers to the original SDR Qpc table in the VVC specification text, see table (100) in Figure 1 When the value of chroma_qp_table_idc is equal to 1, it refers to table (200) of Figure 2 According to embodiments of the disclosure, for ChromaArrayType equal to 1, the variable chroma_qp_table_idc is an indication of the index to the Qpc array as a function of qPi. The value of chroma_qp_table_idc can be in the range of 0 to 1, inclusive.

[0048] According to further embodiments of the disclosure, one Qpc table can be signaled and shared by both Cb and Cr, or two separate tables designed for Cb and Cr respectively can be signaled. To reduce the signaling overhead, each Qpc table can be differentially coded, approximated using piecewise linear function, run-length coded, coded using Lempel-Ziv-Welch (LZW) or similar algorithm, or coded using a mix of the above-mentioned techniques.

[0049] The above Qpc table can be used for HDR content using HLG or PQ transmission characteristics. Referring back to Figures 1-2 From the tables (100, 200) and the Qpc table designed for other content types such as HLG, it is observed that some Qpc values are either equal to qPi or can be directly obtained by subtracting a constant value. In order to save coding bits, the range of table elements that need to be signaled in the bitstream can be specified by the start and end indices [startID, endID].

[0050] In the following, various methods for signaling chroma QP values according to the teachings of the present disclosure will be described. Throughout the present disclosure, the term "AQp" (also denoted as "dQp") will be used to describe the difference between two consecutive QP values.

[0051] Method 1a

[0052] In this method, the difference between two adjacent Qpc table entries within [startID, endID] is coded:

[0053] dQp C [i] = Qp C [i] - Qp C [i-1] (1)

[0054] In general, the SDR and HDR Qpc tables according to the teachings of the present disclosure can only include dQp values of 0 and 1. The AQP values can be directly signaled. Alternatively, the codewords can be composed of multiple AQP values. For example, the AQP values for Cb and Cr pairs with the same index value can be combined. As another example, the AQP values for two consecutive index values can be combined for Cb and similarly for Cr. Optionally, the sequence of codewords constructed from the combination of AQP values can be further compressed using methods such as Huffman coding or other lossless compression algorithms. For AQPc values other than 0 and 1, a maximum AQ value can be specified in the syntax. In some cases, startID and endID can be restricted to even or odd values in order to reduce the number of bits that need to be signaled.

[0055] The following description of further embodiments will focus on the differences between the described embodiments and the previously described embodiments. Therefore, features common to both embodiments will be omitted from the following description and it should therefore be assumed that the features of the previously described embodiments can or at least can be implemented in the further embodiments, unless the following description of the further embodiments requires otherwise.

[0056] Method 1b

[0057] In this method, the difference value between each pair {qPi, Qpc} within [startID, endID] can be coded as:

[0058] dQp[i] = qPi[i] - Qp C [i] (2)

[0059] The ΔQP value between qPi and Qpc may be in the range of 0 to 18. This suggests that method 1a may be more encoding-friendly than method 1b.

[0060] Method 1c

[0061] This method is based on fitting the Qpc mapping curve of qPi using a piecewise linear function defined as follows:

[0062]

[0063] in,

[0064] Method 1d

[0065] In this method, run-length encoding can be used to define d in formula (1). QpC The [i] value is encoded. (See reference.) Figure 1 Table (100), as an example, yields a series of 0s and 1s for the ΔQp value. The Δ value (0 or 1) and the count of subsequent values ​​can be encoded. Figure 3 A table (300) is shown as an exemplary illustration of a Qpc table based on this method.

[0066] According to embodiments of this disclosure, a default QpC table can be predefined for each of the different signal types (such as SDR, PQ, and HLG content). Figures 4A-4B Tables (400A, 400B) are shown as exemplary Qpc tables representing HDR PQ and HLG content, respectively. If user-defined Qpc... C If the table does not exist, the encoder and decoder can instead apply the default Qp. C Table. It is conceivable, according to embodiments of this disclosure, that is, in which a user-defined Qp is not sent using a signal. C This method has the advantage of saving more bits.

[0067] The following table corresponds to Method 1a above and shows an exemplary syntax for the Raw Byte Sequence Payload (RBSB) of the SPS and Tile Group header, where syntax elements according to the teachings of this disclosure are depicted in italic font in contrast to other existing syntax elements. A detailed description of the various syntax elements follows. A default QPc table can be specified in the form of an SPS by signaling a default Qpc table type index. If no default table is provided, a predefined Qpc table can be transmitted in the form of an SPS with delta QP values between two adjacent table elements. One or more alternative QPc tables for use in a slice to override the SPS Qpc table can be signaled in the form of a PPS.

[0068]

[0069]

[0070] sps_default_qpc_table_flag equal to 1 specifies that the default chroma quantization parameter table shall be used and, therefore, no Qp C table needs to be transmitted. Instead, an index is signaled to indicate which default Qp C table is to be used. sps_default_qpc_table_flag equal to 0 specifies that no default Qp C table has been defined and the table needs to be transmitted in the form of an SPS.

[0071] default_qpc_table_type_idx indicates which default QPc table is to be used when sps_default_qpc_table_flag is equal to 1. default_qpc_table_type_idx equal to 0 and pps_slice_qpc_table_present_flag equal to 0 indicates that one or more default SDR QPc tables shall be used. default_qpc_table_type_idx equal to 1 and pps_slice_qpc_table_present_flag equal to 0 indicates that one or more HDR PQ QPc tables shall be used. default_qpc_table_type_idx equal to 2 and pps_slice_qpc_table_present_flag equal to 0 indicates that one or more default HLG QPc tables shall be used. default_qpc_table_type_idx equal to 3 is reserved for future use.

[0072] sps_separate_qpc_table_enable_flag equal to 1 specifies that Cb and Cr use separate QpC tables. sps_cr_qp_delta[ i ] and sps_cr_qp_gap_idx are defined and signaled in the form of SPS, slice_cr_qp_delta[ i ] and slice_cr_qp_gap_idx are defined in the form of slice header. sps_separate_qpc_table_enable_flag equal to 0 specifies that Cb and Cr use the same QpC table.

[0073] sps_qpc_table_start_index_div2 specifies the starting index from which QpC table elements should be signaled in delta QP values. The index is defined as an even number between 0 and 63. For table elements with index less than sps_qpc_table_start_index_div2 * 2, QpC is set to be the same as qPi.

[0074] sps_qpc_table_end_index_div2 specifies the ending index before which QpC table elements should be signaled in delta QP values. The index is defined as an even number between 0 and 63. For table elements with index greater than sps_qpc_table_end_index_div2 * 2, sps_cb_qp_delta[ i ] and sps_cr_qp_delta[ i ] are set to 1.

[0075] sps_cb_qp_delta[ i ] specifies the delta value between spsQpcb[ i ] and spsQpcb[ i - 1 ], where sps_cb_qp_delta[ 0 ], to construct the quantization parameter table for Cb defined in the form of SPS. The i-th entry of the Cb quantization parameter table in the form of SPS is obtained as follows: spsQpcb[ i ] = sps_cb_qp_delta[ i ] + spsQpcb[ i - 1 ].

[0076] sps_cr_qp_delta[ i ] specifies the delta value between spsQpcr[ i ] and spsQpcr[ i - 1 ], where sps_cr_qp_delta[ 0 ], to construct the quantization parameter table for Cr defined in the form of SPS. The i-th entry of the Cr quantization parameter table in the form of SPS is obtained as follows: spsQpcr[ i ] = sps_cr_qp_delta[ i ] + spsQpcr[ i - 1 ].

[0077] pps_slice_qpc_table_present_flag equal to 1 specifies that the quantization parameter table for Cb and Cr components of the current slice exists and is defined in the form of slice header. pps_slice_qpc_table_present_flag equal to 0 specifies that the quantization parameter table for Cb and Cr components of the current slice does not exist in the form of slice header, and the default quantization parameter table is applied for Cb and Cr.

[0078] slice_cb_qp_delta[ i ] specifies the delta value between sliceQpcb[ i ] and sliceQpcb[ i - 1 ], where slice_cb_qp_delta[ 0 ], to construct the slice quantization parameter table for Cb. The i-th entry of the slice QpC table for Cb component is obtained as: sliceQpcb[ i ] = slice_cb_qp_delta[ i ] + sliceQpcb[ i - 1 ].

[0079] slice_cr_qp_delta[ i ] is defined to specify the delta value between sliceQpcr[ i ] and sliceQpcr[ i - 1 ], where slice_cr_qp_delta[ 0 ], to construct the slice quantization parameter table for Cr, when sps_separate_qpc_table_enable_flag is equal to 1. The i-th entry of the slice QpC table for Cr component is obtained as: sliceQpcr[ i ] = slice_cr_qp_delta[ i ] + sliceQpcr[ i - 1 ].

[0080] 2. Independent derivation of chroma Qp from luma Qp

[0081] According to a further embodiment of the disclosure, luma Qp and chroma Qp can be signaled independently. The benefit of this approach is to eliminate the dependency of chroma Qp on luma Qp. The derivation of chroma Qp according to embodiments of the disclosure is described in detail below,

[0082] The initial values of the chroma quantization parameters SliceQpCb and SliceQpCr for a slice can be obtained as follows:

[0083] SliceQpCb = 26 + init_qp_minus26 + slice_cb_qp_delta (3)

[0084] SliceQpCr = 26 + init_qp_minus26 + slice_cr_qp_delta (4)

[0085] If the current quantization group is the first quantization group in a slice or block, qP Cb_PREVand qP Cr_PREV are set equal to the chroma quantization parameter Qp Cb of the last chroma coding unit in the previous quantization group in decoding order. Cr Otherwise, qP Cb_PREV and qP Cr_PREV are set equal to the chroma quantization parameter Qp C of the top coding unit.

[0086] qP Cb_PRED and qP Cr_PRED are the predicted chroma quantization parameters of the current coding unit. If the current quantization group is the first quantization group of a CTB row within a block and the top coding unit is available, qP Cb_PRED and qP Cr_PRED are set equal to the Qp C of the top CU, otherwise,

[0087] qP Cb_PRED = (qP Cb_A + qP Cb_B + 1) » 1 (5)

[0088] qP Cr_PRED = (qP Cr_A + qP Cr_B + 1) » 1 (6)

[0089] where qP Cb_A and qP Cr_A are set equal to qP Cb_PREV and qP Cr_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; qP Cb_B and qP Cr_B are set equal to qP Cb_PREV and qP cr_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.

[0090] The variables QpCb and QpCr for each coding unit can be obtained as follows:

[0091] QpCb = ((qPcb_pred + CuCbQpDeltaVal + 64 + 2*QpBdOffsetC) % (64 + QpBdOffsetC)) - QpBdOffsetC (7)

[0092] QpCr = ((qPcr_pred + CuCrQpDeltaVal + 64 + 2*QpBdOffsetC) % (64 + QpBdOffsetC)) - QpBdOffsetC (8)

[0093] Then, the chroma quantization parameter Qp' is obtained Cb and Qp' = Qp + QpBdOffset Cr as follows:

[0094] Qp' = Qp + QpBdOffset Cb Cb + QpBdOffset C (9)

[0095] Qp' = Qp + QpBdOffset Cr Cr + QpBdOffset C (10)

[0096] The difference between the quantization parameter of the current coding unit and its prediction, CuCbQpDeltaVal and CuCrQpDeltaVal, can be specified at the transform unit level. There are several ways to encode the AQP value:

[0097] In the following, an exemplary method according to the teachings of the present disclosure will be described. Furthermore, the difference between the QP of each color component (e.g. luma, chroma Cb and chroma Cr) and its prediction value is abbreviated as dPQ' to distinguish from dPQ which indicates the difference between consecutive QPs in the context of the Qpc table as described before.

[0098] Method 2a

[0099] In this method, the dPQ' of the three color components (luma, chroma Cb and chroma Cr) represented by the variables CuQpDeltaVal, CuCbQpDeltaVal and CuCrQpDeltaVal, respectively, is encoded.

[0100] The following description of further embodiments will focus on the differences between the described embodiments and the previously described embodiments. Therefore, features common to both embodiments will be omitted from the following description and it should therefore be assumed that features of the previously described embodiments can or at least can be implemented in the further embodiments, unless the following description of the further embodiments requires otherwise.

[0101] Method 2b

[0102] In this method, the dQP' of the luma component (CuQpDeltaVal) is encoded. Furthermore, the difference between the dQp' of each chroma component and the luma dQp' is encoded according to the following approach:

[0103] CbdQpDeltaVal = CuCbQpDeltaVal - CuQpDeltaVal (11)

[0104] ​​CrdQpDeltaVal = CuCrQpDeltaVal - CuQpDeltaVal (12)

[0105] Method 2c

[0106] In this method, the element CrCbdQpDeltaVal defined as follows is encoded

[0107] CrCbdQpDeltaVal = CuCrQpDeltaVal - CuCbQpDeltaVal (13)

[0108] where the elements CuCrQpDeltaVal and CuCbQpDeltaVal have the same definition as in the case of method 2c described above.

[0109] Method 2d

[0110] In this method, the element CrCbdQpDeltaVal defined as follows is encoded

[0111] CrCbdQpDeltaVal = CuCrQpDeltaVal - CuCbQpDeltaVal

[0112] where the elements CuCrQpDeltaVal and CuCbQpDeltaVal have the same definition as in the case of method 2c described above.

[0113] Method 2e

[0114] In this method, the difference between the chrominance QP and the luminance QP is encoded.

[0115] dQp' = Qp' - Qp' (14) Cb = Qp' Y - Qp' Cb (14)

[0116] dQp' = Qp' - Qp' (15) Cr = Qp' Y - Qp' Cr (15)

[0117] The signaling of method 2e is similar to method 2a, without the need to signal slice_cb_qp_delta and slice_cr_qp_delta in the form of a slice header (see below).

[0118] The following table, corresponding to Method 2a above, shows an exemplary syntax for the Raw Byte Sequence Payload (RBSP) of an SPS and tile group header, where syntax elements according to the teachings of this disclosure are depicted in italics in contrast to other existing syntax elements. A detailed description of the various syntax elements follows.

[0119]

[0120]

[0121]

[0122]

[0123]

[0124]

[0125] The methods and systems described in this disclosure can be implemented in hardware, software, firmware, or any combination thereof. Features described as blocks, modules, or components can be implemented together (e.g., in a logic device such as an integrated logic device) or separately (e.g., as separately connected logic devices). Software portions of methods of the present disclosure can include a computer- readable medium comprising instructions that, when executed, carry out at least portions of the described methods. The computer-readable medium can include, for example, random access memory (RAM) and / or read-only memory (ROM). The instructions can be executed by a processor (e.g., a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field- programmable logic array (FPGA), a graphics processing unit (GPU), or a general purpose GPU).

[0126] A number of embodiments of the present disclosure have been described. Nevertheless, it will be understood that various modifications can be made without departing from the spirit and scope of the present disclosure. Accordingly, other embodiments are within the scope of the following claims.

[0127] The above examples are intended to provide those of ordinary skill in the art with an enabling description and disclosure of how to make and use embodiments of the present disclosure and are not intended to limit the scope of what the inventors / holder believe to be the presently disclosed concepts.

[0128] Modifications to the above-described modes for carrying out the methods and systems disclosed herein, which are obvious to persons of ordinary skill in the art, are intended to be within the scope of the following claims. All patents and publications mentioned in the specification are indicative of the levels of those skilled in the art to which the present disclosure pertains. All references cited in the present disclosure are incorporated by reference to the same extent as if each reference had been incorporated by reference in its entirety individually.

[0129] It should be understood that the disclosure is not limited to particular methods or systems, which can, of course, vary. It should also be understood that the terminology used herein is for the purpose of describing particular embodiments only, and is not intended to be limiting. As used in this specification and the appended claims, the singular forms "a," "an" and "the" include plural referents unless the context clearly dictates otherwise. The term "plurality" includes two or more referents unless the context clearly dictates otherwise. Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs.

Claims

1. An apparatus for reconstructing encoded data, the apparatus comprising: A unit for receiving an encoded bitstream comprising one or more encoded images, wherein each image comprises a luminance component, a first chrominance component, and a second chrominance component; A unit for extracting syntax parameters from an encoded bitstream to determine a chromaticity parameter (QP) table, wherein the chromaticity QP table maps input luminance QP values ​​to corresponding chromaticity QP values; as well as A unit for decoding one or more encoded images based on the chroma QP table, wherein the syntax parameters include a starting luminance QP value and one or more offset parameters to determine a mapping from the luminance QP value to the chroma QP value using a piecewise linear representation. The syntax parameters also include flags indicating whether the first chroma component and the second chroma component share a common chroma QP table or whether the first chroma component and the second chroma component have different chroma QP tables.

2. The apparatus according to claim 1, wherein, The one or more offset parameters include the ΔQP chromaticity parameter dQpc[i] = Qpc[i] - Qpc[i-1], where i represents the index and Qpc[i-1] and Qpc[i] represent consecutive chromaticity QP values.

3. An electronic device for reconstructing encoded data, the electronic device comprising: At least one processor; as well as A non-transitory memory communicatively connected to the at least one processor, wherein The memory stores instructions executable by the at least one processor, and when executed by the at least one processor, the instructions cause the at least one processor to perform processes including: Receive an encoded bitstream comprising one or more encoded images, wherein each image comprises a luminance component, a first chrominance component, and a second chrominance component; Syntax parameters are extracted from the encoded bitstream to determine a chroma quantization parameter (QP) table, wherein the chroma QP table maps input luminance QP values ​​to corresponding chroma QP values; as well as One or more encoded images are decoded based on the chroma QP table, wherein the syntax parameters include a starting luminance QP value and one or more offset parameters to determine a mapping from the luminance QP value to the chroma QP value using a piecewise linear representation. The syntax parameters also include flags indicating whether the first chroma component and the second chroma component share a common chroma QP table or whether the first chroma component and the second chroma component have different chroma QP tables.

4. The electronic device according to claim 3, wherein, The one or more offset parameters include the ΔQP chromaticity parameter dQpc[i] = Qpc[i] - Qpc[i-1], where i represents the index and Qpc[i-1] and Qpc[i] represent consecutive chromaticity QP values.

5. An apparatus for encoding a sequence of video images to generate an encoded video bitstream, the apparatus comprising: A unit for receiving a sequence of images, wherein each image includes a luminance component, a first chrominance component, and a second chrominance component; A unit used to encode a sequence of video images using luminance quantization parameter (QP) values ​​and chrominance QP values ​​to generate an encoded video bitstream; as well as A unit for encoding signal parameters in the encoded video bitstream for a decoder to determine a chroma QP table, wherein the chroma QP table maps input luminance QP values ​​to corresponding chroma QP values, wherein the signal parameters include a starting luminance QP value and one or more offset parameters to determine the mapping from the luminance QP values ​​to the chroma QP values ​​using a piecewise linear representation. The signal parameters further include a flag indicating whether the first chromaticity component and the second chromaticity component share a common chromaticity QP table or whether the first chromaticity component and the second chromaticity component have different chromaticity QP tables.

6. The apparatus according to claim 5, wherein, The one or more offset parameters include the ΔQP chromaticity parameter dQpc[i] = Qpc[i] - Qpc[i-1], where i represents the index and Qpc[i-1] and Qpc[i] represent consecutive chromaticity QP values.

7. An electronic device for encoding a sequence of video images to generate an encoded video bitstream, the electronic device comprising: At least one processor; as well as A non-transitory memory communicatively connected to the at least one processor, wherein The memory stores instructions executable by the at least one processor, and when executed by the at least one processor, the instructions cause the at least one processor to perform processes including: Receive a sequence of images, wherein each image includes a luminance component, a first chrominance component, and a second chrominance component; The video image sequence is encoded using luminance quantization parameter (QP) values ​​and chrominance QP values ​​to generate an encoded video bitstream; as well as Signal parameters are encoded in the encoded video bitstream for the decoder to determine a chroma QP table, wherein the chroma QP table maps input luminance QP values ​​to corresponding chroma QP values, and wherein the signal parameters include a starting luminance QP value and one or more offset parameters to determine the mapping from the luminance QP values ​​to the chroma QP values ​​using a piecewise linear representation. The signal parameters further include a flag indicating whether the first chromaticity component and the second chromaticity component share a common chromaticity QP table or whether the first chromaticity component and the second chromaticity component have different chromaticity QP tables.

8. The electronic device according to claim 7, wherein, The one or more offset parameters include the ΔQP chromaticity parameter dQpc[i] = Qpc[i] - Qpc[i-1], where i represents the index and Qpc[i-1] and Qpc[i] represent consecutive chromaticity QP values.

Citation Information

Patent Citations

  • Extended range for chroma QP values

    CN104584559A