Quantization parameter prediction for video encoding and decoding

By using a variety of quantitative parameter prediction methods in video encoding and decoding technologies, the problem of high cost of quantitative parameter encoding is solved, and more efficient video encoding and decoding is achieved.

CN119629345APending Publication Date: 2025-03-14INTERDIGITAL VC HOLDINGS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411668088.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2018-09-03
Filing Date
2019-04-09
Publication Date
2025-03-14

AI Technical Summary

Technical Problem

In the existing video encoding and decoding technologies, the encoding cost of quantization parameters (QP) is relatively high, and it is difficult to effectively utilize the spatial and temporal redundancy in the video content.

Method used

The encoding cost of QP is reduced and the efficiency of video encoding and decoding is improved by identifying and using a variety of quantization parameter prediction methods, such as quantization methods based on average brightness values, brightness activity and spatial adaptability.

Benefits of technology

It realizes lower encoding cost and higher video encoding and decoding efficiency, and improves compression efficiency and decoding quality by effectively utilizing redundant information in video content.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119629345A_ABST
    Figure CN119629345A_ABST
Patent Text Reader

Abstract

An apparatus and method for encoding and decoding video data with improved quantization parameter prediction are presented, and the apparatus and method may include encoding or decoding video data using a combination of quantization parameter prediction values obtained from a corresponding one of a plurality of quantization parameter prediction methods.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This divisional application is a divisional application with an application date of April 9, 2019, application number 201980034614.2, and invention name “Quantization parameter prediction for video encoding and decoding”. Technical Field

[0002] The present disclosure relates to video encoding and decoding. Background Art

[0003] In order to achieve high compression efficiency, image and video coding schemes usually use prediction and transformation to exploit spatial and temporal redundancy in video content. Typically, intra-frame or inter-frame prediction is used to develop intra-frame or inter-frame correlation, and then the difference between the original image block and the predicted image block (usually expressed as a prediction error or prediction residual) is transformed, quantized, and entropy encoded. In order to reconstruct the video, the compressed data is decoded by the inverse process corresponding to prediction, transformation, quantization, and entropy coding.

[0004] In at least some conventional codecs, a quantization parameter (QP) may vary per block (also referred to as a coding unit (CU)). The QP is then encoded for each block in the stream. A prediction process is applied to reduce the encoding cost of this parameter. For example, in HEVC, the QP value may be predicted from the QPs of the top and left CUs surrounding the current CU. In addition, a global QP offset value (QPo, depending on the bit depth of the signal) and a local delta QP (dQP) value may be encoded. In general, embodiments provide an encoder and / or decoder with improved encoding and decoding of these quantization parameters, etc. Summary of the invention

[0005] Generally, one aspect relates to a device for encoding video data, the device comprising at least a memory and one or more processors, wherein the one or more processors are configured to: identify at least one of a plurality of quantization parameter prediction methods for encoding the video data; and encode the video data based on the at least one quantization parameter prediction method to generate encoded video data, wherein the encoded video data includes data indicating at least one quantization parameter prediction method used to generate the encoded video data.

[0006] Generally, another aspect relates to a method for encoding video data, comprising: identifying at least one of a plurality of quantization parameter prediction methods for encoding the video data; and encoding the video data based on the at least one quantization parameter prediction method, wherein the encoded video data includes data indicating the at least one quantization parameter prediction method for encoding the video data.

[0007] Generally, another aspect relates to a device for decoding video data, the device comprising at least a memory and one or more processors, wherein the one or more processors are configured to: access video data; identify at least one of a plurality of quantization parameter prediction methods indicated in the video data for decoding the video data; and decode the video data based on at least one quantization parameter prediction method indicated in the video data to obtain decoded video data.

[0008] Generally, another aspect relates to a method for decoding video data, comprising: accessing the video data; identifying at least one of a plurality of quantization parameter prediction methods indicated in the video data for decoding the video data; and decoding the encoded video data based on the at least one quantization parameter prediction method indicated in the video data to obtain decoded video data.

[0009] Generally, another aspect relates to a bitstream formatted to include encoded video data, wherein the encoded video data is encoded in the following manner: identifying at least one of a plurality of quantization parameter prediction methods for encoding the video data; and encoding the video data based on the at least one quantization parameter prediction method to produce the encoded video data, wherein the encoded video data includes data indicating the at least one quantization parameter prediction method used to produce the encoded video data.

[0010] Generally, one aspect relates to a device for encoding video data, the device comprising at least a memory and one or more processors, wherein the one or more processors are configured to: obtain multiple quantization parameter prediction values, each quantization parameter prediction value corresponding to a corresponding one of multiple quantization parameter prediction methods; obtain a prediction value of the quantization parameter based on a combination of the multiple quantization parameter prediction values; and encode the video data based on the prediction value of the quantization parameter to generate encoded video data, wherein the encoded video data includes data indicating the combination of the multiple quantization parameter prediction values.

[0011] Generally, another aspect relates to a method for encoding video data, comprising: obtaining multiple quantization parameter prediction values, each quantization parameter prediction value corresponding to a corresponding one of multiple quantization parameter prediction methods; obtaining a prediction value of the quantization parameter based on a combination of the multiple quantization parameter prediction values; and encoding the video data based on the prediction value of the quantization parameter to generate encoded video data, wherein the encoded video data includes data indicating the combination of the multiple quantization parameter prediction values.

[0012] Generally, another aspect relates to a device for decoding video data, the device comprising at least a memory and one or more processors, wherein the one or more processors are configured to: access the video data; identify multiple quantization parameter prediction methods indicated in the video data; obtain multiple quantization parameter prediction values, each quantization parameter prediction value corresponding to a corresponding one of the multiple quantization parameter prediction methods; obtain a prediction value of the quantization parameter based on a combination of the multiple quantization parameter prediction values; and decode the video data based on the prediction value of the quantization parameter to produce encoded video data.

[0013] Generally, another aspect relates to a method for decoding video data, comprising: accessing the video data; identifying multiple quantization parameter prediction methods indicated in the video data; obtaining multiple quantization parameter prediction values, each quantization parameter prediction value corresponding to a corresponding one of the multiple quantization parameter prediction methods; obtaining a prediction value of the quantization parameter based on a combination of the multiple quantization parameter prediction values; and decoding the video data based on the prediction value of the quantization parameter to produce encoded video data.

[0014] Generally, another aspect relates to a bitstream formatted to include encoded video data, wherein the encoded video data is encoded by: obtaining multiple quantization parameter prediction values, each quantization parameter prediction value corresponding to a corresponding one of multiple quantization parameter prediction methods; obtaining a prediction value of the quantization parameter based on a combination of the multiple quantization parameter prediction values; and encoding the video data based on the prediction value of the quantization parameter to produce the encoded video data, wherein the encoded video data includes data indicating the combination of the multiple quantization parameter prediction values.

[0015] One or more of the present embodiments also provide a computer-readable storage medium having stored thereon instructions for encoding or decoding video data according to the method or apparatus described herein. The present embodiment also provides a computer-readable storage medium having stored thereon a bitstream generated according to the method or apparatus described herein. The present embodiment also provides a method and apparatus for transmitting or receiving a bitstream generated according to the method or apparatus described herein. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] The present disclosure may be better understood by considering the following detailed description in conjunction with the accompanying drawings, in which:

[0017] Figure 1 A block diagram illustrating an example of an embodiment of a video encoder;

[0018] Figure 2 illustrates an example QP table and graph of an embodiment of an advanced QP prediction method for an HDR signal;

[0019] Figure 3A block diagram illustrating an example of an embodiment of a video decoder is illustrated;

[0020] Figure 4 An example of a method according to an embodiment is illustrated;

[0021] Figure 5 Another example of a method according to an embodiment is illustrated;

[0022] Figure 6 A block diagram illustrating an example of an embodiment of a device in which various aspects and features according to the present disclosure may be implemented;

[0023] Figure 7 A block diagram illustrating an example of an embodiment of a video encoder;

[0024] Figure 8 A block diagram illustrating an example of an embodiment of a video decoder is illustrated;

[0025] Fig. 9 illustrates an example of a flow chart according to an embodiment;

[0026] Fig.10 illustrates an example of a flow chart according to an embodiment; and

[0027] Fig.11 An example of a flow chart according to an embodiment is illustrated.

[0028] Throughout the various drawings, the same reference numbers refer to the same or similar features. DETAILED DESCRIPTION

[0029] In general, the present disclosure relates to quantization parameter (QP) prediction as it relates to video encoding and decoding. For example, as described above, a prediction process can be applied to reduce the encoding cost associated with the QP. The encoding of video data in the encoder can be based on various QP prediction methods. The QP prediction method to be used can be determined or identified based on one or more of various parameters (for example, one parameter can be an indication of the type of video signal such as dynamic range). For example, one type of QP prediction can be applied during encoding of a standard dynamic range (SDR) signal and another type of QP prediction can be applied for a high dynamic range (HDR) signal. The decoder can identify the QP prediction method used and decode the encoded video data based on the identified method.

[0030] Now turning to the attached figure, Figure 1An example of a video encoder 100, such as a HEVC encoder, is illustrated. HEVC is a compression standard developed by the Joint Collaborative Team on Video Coding (JCT-VC) (see, e.g., “ITU-T H.265 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (10 / 2014), SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS, Infrastructure of audiovisual services – Coding of moving video, High efficiency video coding, Recommendation ITU-T H.265”). Figure 1 It is also possible to illustrate an encoder in which the HEVC standard is improved, or an encoder employing a technique similar to HEVC, such as an encoder based on or improved upon the JEM (Joint Exploration Model) developed by JVET.

[0031] In this application, the terms "reconstruction" and "decoding" can be used interchangeably, the terms "pixel" and "sample" can be used interchangeably, and the terms "picture" and "frame" can be used interchangeably. Usually, but not necessarily, the term "reconstruction" is used on the encoder side, and "decoding" is used on the decoder side.

[0032] The HEVC specification distinguishes between "blocks", which address a specific area in the sample array (e.g., luma, Y), and "units", which include a concatenated block of all coded color components (Y, Cb, Cr, or monochrome), syntax elements, and prediction data associated with the block (e.g., motion vectors).

[0033] For encoding, the picture is partitioned into coding tree blocks (CTBs) of a square shape with a configurable size, and a continuous set of coding tree blocks is grouped into slices. The coding tree unit (CTU) contains the CTB of the coded color component. The CTB is the root of a quadtree partitioned into coding blocks (CBs), and the coding block can be partitioned into one or more prediction blocks (PBs) and forms the root of a quadtree partitioned into transform blocks (TBs). Corresponding to the coding block, the prediction block, and the transform block, the coding unit (CU) includes a set of prediction units (PUs) and transform units (TUs) in a tree structure, the PU includes prediction information for all color components, and the TU includes a residual coding syntax structure for each color component. The size of the CB, PB, and TB of the luminance component is applicable to the corresponding CU, PU, ​​and TU. In this application, the term "block" may be used to refer to any one of CTU, CU, PU, ​​TU, CB, PB, and TB. In addition, "block" may also be used to refer to macroblocks and partitions specified in H.264 / AVC or other video coding standards, and more generally, to refer to arrays of data of various sizes.

[0034] exist Figure 1 In the encoder 100 in, the picture is encoded by the encoder elements as described below. The picture to be encoded is processed in units of CUs. Each CU is encoded using intra or inter mode. When the CU is encoded in intra mode, it performs intra prediction (160). In inter mode, motion estimation (175) and compensation (170) are performed. The encoder determines (105) which of intra mode or inter mode is used to encode the CU, and indicates the intra / inter determination by a prediction mode flag. The prediction residual is calculated by subtracting (110) the predicted block from the original image block.

[0035] The prediction residual is then transformed (125) and quantized (130). The quantized transform coefficients, as well as motion vectors and other syntax elements, are entropy encoded (145) to output a bitstream. The encoder can also skip the transform and directly apply quantization to the untransformed residual signal on a 4×4 TU basis. The encoder can also bypass both the transform and quantization, i.e., directly encode the residual without applying the transform or quantization process. In direct PCM encoding, prediction is not applied, and the coding unit samples are encoded directly into the bitstream.

[0036] The encoder decodes the encoded block to provide a reference for further prediction. The quantized transform coefficients are dequantized (140) and inverse transformed (150) to decode the prediction residual. The image block is reconstructed by combining (155) the decoded prediction residual and the predicted block. An in-loop filter (165) is applied to the reconstructed picture to perform, for example, deblocking / SAO (sample adaptive offset) filtering to reduce coding artifacts. The filtered image is stored in a reference picture buffer (180).

[0037] Figure 3 A block diagram of an example of a video decoder 300, such as a HEVC decoder, is illustrated. In the example decoder 300, a signal or bitstream is decoded by decoder elements as described below. The video decoder 300 generally performs the same Figure 1 The decoding pass is the reciprocal of the encoding pass described in , which performs video decoding as part of encoding the video data. Figure 3 It is also possible to illustrate a decoder in which the HEVC standard is improved, or a decoder that adopts techniques similar to HEVC, such as a decoder based on or improved on JEM.

[0038] Specifically, the input to the decoder includes a video signal or bitstream, which may be generated by the video encoder 100. The signal or bitstream is first entropy decoded (330) to obtain transform coefficients, motion vectors, and other encoding information. The transform coefficients are dequantized (340) and inverse transformed (350) to decode the prediction residual. The image block is reconstructed by combining (355) the decoded prediction residual and the prediction block. The prediction block can be obtained (370) from intra-frame prediction (360) or motion compensated prediction (i.e., inter-frame prediction) (375). Advanced motion vector prediction (AMVP) and merge mode techniques can be used to derive motion vectors for motion compensation, which can use interpolation filters to calculate interpolated values ​​for sub-integer samples of reference blocks. An in-loop filter (365) is applied to the reconstructed image. The filtered image is stored in a reference picture buffer (380).

[0039] In at least one embodiment, such as Figure 1 The quantization process in the encoder of the encoder 100 may include division by the quantization step size (Qstep) and subsequent rounding. Figure 3 In at least one embodiment of the inverse or dequantization process in the decoder of the decoder 300, a multiplication by a quantization step size may be included. In H.264 / AVC and H.265 / HEVC, a quantization parameter (QP) is used to determine the quantization step size.

[0040] As already mentioned, the quantization parameter (QP) can vary per block (also called coding unit (CU) in some examples of codecs). The QP is then encoded for each block or group of blocks in the stream. A prediction process is applied to reduce the coding cost of this parameter. For example, in HEVC, the QP value can be predicted from the QPs of the neighboring top and left CUs or CU groups around the current CU. The predicted value is denoted as QPpred. In addition, a global QP offset value (QPo, depending on the bit depth of the signal) and a local delta QP (dQP) value can be encoded. The actual QP at the decoder can be calculated as:

[0041] QPy = ( ( QPpred + dQP + 52 + 2 * QPo ) % ( 52 + QPo ) )

[0042] In at least one embodiment, a quantization parameter prediction (QPpred) may be automatically derived based on an already encoded signal. Such an embodiment may be based on a process that takes into account factors, parameters, or data such as the prediction samples in the current block, or the spatial position in the picture. The following information describes various examples of embodiments of advanced QP prediction.

[0043] In at least one embodiment, an advanced QP prediction method may include applying local QP adaptation based on the value of luma samples. For example, prior to quantization of a given block at the encoder, an average luma value for the given block may be calculated (using the original signal or a predicted signal). Then, QP adaptation may be applied, which may include adding a delta QP value (dQP) that depends on the average luma value to the QP specified for the slice. In at least one embodiment, a dQP table is designed per range of luma values. Figure 2 An example of a table for a 10-bit signal is drawn and shown in . In general, this processing can be useful at both the encoder and the decoder, for example by computing the average luminance value of the prediction signal for the block under consideration, and by deriving the corresponding dQP value from the dQP table at the encoder and the decoder. In at least one embodiment, QP adaptation depending on average luminance can be applied to high dynamic range (HDR) signals.

[0044] In at least one embodiment, an advanced QP prediction method may include calculating the dQP at the encoder based on the activity (e.g., luminance activity) of a block or region to which the block to be encoded belongs. For example:

[0045]

[0046] in Depends on the location Block The weighted values ​​of the brightness samples as described below.

[0047] make ( , ) represents the width And the height is The original or predicted luma samples of the picture. The high-pass filtered version of the luma component is derived as follows:

[0048]

[0049] For each block , local activity is calculated according to the following formula :

[0050]

[0051] in Represents the absence of boundary samples ( , , ,or ) of the considered block . Item specifies a block The number of samples in .

[0052] Finally, the index is calculated according to the following formula Each block at of :

[0053]

[0054] in is a normalization factor, which can be set to 2.2B, for example, where B is the bit depth of the signal, and It can be set to 2 / 3, for example.

[0055] In general, this processing can be useful at both the encoder and the decoder, for example, by calculating activity values ​​for blocks based on prediction signals at the encoder and decoder, and by deriving corresponding dQP values ​​from corresponding weights. In addition, in general, QP adaptation depending on luma activity can be useful for encoding such as perceptual coding.

[0056] In at least one embodiment, the encoding of the content can be based on spatially adaptive quantization. For example, the QP calculation can be based on the location of the CU and can be derived at the decoder side. The QP value for each CU can be calculated based on the weights used in calculating the weighted spherical PSNR:

[0057]

[0058] in is the vertical coordinate of the sample, and Is the vertical size of the equirectangular screen.

[0059] The average weight of all sample locations of CU can be calculated:

[0060]

[0061] in corresponds to the vertical coordinate of the top sample of the CU, and Indicates the vertical size of the CU.

[0062] For example, the QP for each row of a CU can be calculated as follows:

[0063]

[0064] ,and Corresponds to the QP of the current slice.

[0065] In general, this processing can be useful both at the encoder and the decoder, for example to apply spatially adaptive quantization at the encoder and the decoder. Furthermore, as an example, position-dependent QP adaptation can be useful for VR360 ERP signals (Virtual Reality 360º Equirectangular Projection).

[0066] Various examples of embodiments for deriving or predicting QP or dQP values ​​are described. In general, it is contemplated that such examples and others may be included in encoders and decoders. At least one example of an embodiment includes including signaling in a signal or bitstream, for example at an encoder, and performing a decision process at a decoder to perform advanced QP processing based on the signaling.

[0067] Note that schemes such as the described examples involving signaling and / or one or more of the other examples of the embodiments described herein do not prevent encoding the actual dQP value for each block or group of blocks, instead of or in addition to the QP or dQP prediction process, for example to improve the perceptual quality of the encoded signal.

[0068] As described herein, various examples of embodiments are referred to as advanced QP prediction, which provides a more detailed approach than what may be considered traditional QP prediction (eg, HEVC, which is based only on local neighboring QP values).

[0069] As described herein, one or more examples of embodiments may be applicable to both encoders and decoders, such as the above three examples of advanced QP prediction methods based on: 1) the value of luma samples of a given block (e.g., the average luma value) (referred to elsewhere herein as "Method 1"), or 2) the activity of the block or the region to which the block belongs (e.g., luma activity) (referred to elsewhere herein as "Method 2"), or 3) spatially adaptive quantization, e.g., based on the location of the CU and the weights used in computing the weighted spherical PSNR (referred to elsewhere herein as "Method 3").

[0070] Several advanced QP prediction methods may be considered in a codec, e.g., depending on the video format, such as the nature of the video (e.g., SDR, HDR, VR360) or the content of the video (e.g., smooth picture, highly textured content). As described above, different advanced QP prediction methods may be used for encoding an SDR signal, an HDR signal, or a VR360 signal. Yet another method may be used to improve the perceived quality of an SDR or HDR signal.

[0071] Various embodiments also indicate in the encoded signal or bitstream the actual advanced QP prediction method to be used at the decoder, and specify the manner in which this method is selected at the decoder. This is what will be presented in at least one example of the embodiments or implementations discussed below.

[0072] At least one embodiment can achieve one or more of the various advantages. Delta QP is classically explicitly encoded in the stream. As indicated, some embodiments use an inference method to predict its value. At least one additional embodiment provides for the use of a different inference method. For each embodiment, the high-level QP prediction method can be specific to the context of that embodiment, e.g., SDR signal, HDR signal, VR360 signal.

[0073] In at least one embodiment, the dQP / QP prediction process applied in the decoder may be modified to include, for example:

[0074] Enable several advanced QP prediction methods in the decoder;

[0075] Inserting syntax elements in the signaling that enable the decoder to identify the advanced QP prediction method to be used;

[0076] Based on these syntax elements, select an advanced QP prediction method to be applied at the decoder; and / or

[0077] • Apply the advanced QP prediction method at the decoder for deriving the QP.

[0078] Thus, the various embodiments described herein may be used, for example, to modify and / or modify the various embodiments described herein. Figure 1 and Figure 3 Components related to quantization and inverse quantization (130, 140, 340) of the JVET or HEVC encoder 100 and decoder 300 shown in . In addition, the present embodiment is not limited to JVET or HEVC, and can be applied to other standards, recommendations, and extensions thereof. In addition, other components may also be modified when implementing various embodiments. In addition, the various aspects and / or embodiments described herein may be used alone or in combination.

[0079] Figure 4 An example of a process 400 implemented by at least one embodiment is illustrated, although including Figure 4 Other variations of the process may be used in other embodiments. The example process 400 may be applied at a decoder or encoder. It may be applied to a CU, CTU, or group at CU level. The process may be applied separately to, for example, luminance and chrominance components.

[0080] therefore, Figure 4 The input of the process 400 is the decoded QP syntax element obtained after parsing the bitstream and the decoded local dQP value. The decoded local dQP value may be part of the decoded QP syntax element, or an additional element not included in the decoded QP syntax element. In step 401, a QP prediction method is selected from a set of available QP prediction methods or multiple available QP prediction methods based on the (multiple) values ​​of the decoded (multiple) QP syntax elements. In step 402, the selected QP prediction method is applied, for example, to derive a QP prediction value (denoted here as QPpred). In step 403, the actual QP value of the CU is derived based on the QPpred value and from the decoded local dQP value. The output is a QP value (denoted as QPout) to be applied to the CU for inverse quantization of the residual signal.

[0081] In general, at least one example of an embodiment may include an example of a syntax such as described below. Signaling syntax features such as the examples described and shown below may be inserted into, for example, the SPS syntax of HEVC. Table 1 below illustrates an example of an embodiment of the syntax. The syntax portions of interest regarding at least one example of the embodiment are highlighted in gray in Table 1. The examples shown below are merely illustrative and may be modified accordingly by those skilled in the art to implement the same or similar signaling functionality. Such syntax may also be introduced into other levels or portions, such as a PPS or slice header.

[0082] The following are examples of syntax elements specified for Table 1 below:

[0083] quant_pred_enabled_flag: This flag indicates whether advanced QP prediction should be applied.

[0084] quant_pred_method_idx: This parameter indicates the advanced QP prediction method to be applied. This parameter is encoded only when advanced QP prediction is enabled, that is, when quant_pred_enabled_flag is equal to 1.

[0085] Table 1

[0086]

[0087] Table 2 below illustrates the syntax added in quant_pred_method_parameters() that enables signaling of required parameters used in a particular high-level prediction quant_pred_method_idx. In the example embodiment shown in the table, three methods can be enabled (e.g., method 0, method 1, method 2). However, other embodiments can be envisioned in which other numbers of methods can be enabled (e.g., more or less than three methods). For each method i, a parameter (quant_pred_methodi_paramj) is signaled, j = 0 to Ni-1, Ni is the number of parameters required for quantization method i.

[0088] Table 2

[0089]

[0090] Table 3 below shows an example of an embodiment that includes a syntax element slice_quant_pred_enabled_flag at the slice level to enable activation or deactivation of advanced QP prediction for the slice when it is enabled at a higher level (e.g., at the SPS level). This can also be applied at the picture level by signaling a similar syntax element in the PPS.

[0091] Table 3

[0092]

[0093] Note that other embodiments may use variations of the described examples of syntax elements and structures as shown above. For example, a flag may not need to be sent, and instead quant_pred_method_idx may hold a value to be used as a flag or to be enabled. More generally, any explicit signaling method is also contemplated.

[0094] In at least one embodiment, one of the advanced prediction methods may be method 1 described above (i.e., QP adaptation depending on average brightness for HDR signals). For this case, a parameter quant_pred_methodi_param0 may be signaled to indicate the minimum block size to which this method is applied to derive the QPpred value for a block. When a given block is smaller than the authorized size, the QPpred value calculated for a larger block of the minimum authorized size to which the given block belongs is used.

[0095] In at least one embodiment, one of the advanced prediction methods may be method 2 described above (i.e., QP adaptation depending on luma activity for perceptual coding). For this case, one parameter, quant_pred_methodi_param0, may be signaled to indicate the value of parameter β. Another parameter, quant_pred_methodi_param1, may be signaled to indicate the value of parameter a_pic. An additional parameter, quant_pred_methodi_param1, may be signaled to indicate the minimum block size for which this method is applied to derive the QPpred value for the block, as in the case of method 1 above.

[0096] In at least one embodiment, one of the advanced prediction methods may be method 3 described above (i.e., position-dependent QP adaptation, e.g., for signals such as VR360 signals). For this case, a parameter quant_pred_methodi_param0 may be signaled to control the weight variation wfact between picture lines, as follows:

[0097]

[0098] An additional parameter quant_pred_methodi_param1 may be signaled to indicate the minimum block size for which this method is applied to derive the QPpred value for the block, as with the previous method.

[0099] Figure 5 An example of an embodiment of a corresponding decision tree 500 for at least one embodiment is illustrated. The decision tree 500 may be used to determine whether advanced QP prediction applies to a slice.

[0100] In step 501, the flags quant_pred_enabled_flag and slice_quant_pred_enabled_flag are checked. If both are true, the advanced QP prediction method is selected in step 401 and the advanced QP prediction method is applied in step 402 (with Figure 5On the other hand, if in step 501 quant_pred_enabled_flag or slice_quant_pred_enabled_flag is false, advanced QP prediction is not applied to the slice as specified in step 502 .

[0101] In another example of an embodiment, when advanced QP prediction is enabled, the syntax element quant_pred_method_idx can actually be inferred from the format of the signal, in which case the syntax element does not need to be signaled. For example, when the format or characteristics of the signal are indicated in the bitstream, the advanced QP prediction method can be inferred from the format of the characteristics of the signal. The current format or characteristics of the signal can be indicated in the VUI. They can be indicated in other places such as the SPS. Specifically, the transfer function is signaled in the syntax element transfer_characteristics. For example:

[0102] -transfer_characteristics equal to 16 indicates HDR PQ signal;

[0103] -transfer_characteristics equal to 18 indicates HDR HLG signal;

[0104] - Otherwise, an SDR signal is expected.

[0105] Another syntax element (referred to herein as vr_signal), signaled, for example, in a SEI message or in an SPS, may indicate whether the signal is a VR signal.

[0106] In another example of an embodiment, an advanced QP prediction method may be identified or selected as follows:

[0107] - If the syntax element vr_signal is true, then select advanced QP prediction method 3 (quant_pred_method_idx=2)

[0108] - Otherwise, if transfer_characteristics is equal to 16, select Advanced QP prediction method 1 (quant_pred_method_idx=0)

[0109] - Otherwise, if transfer_characteristics is not equal to 16, select Advanced QP prediction method 2 (quant_pred_method_idx=1)

[0110] Table 4 below illustrates some examples of transfer characteristics interpretation using the transfer_characteristics syntax element in the HEVC specification.

[0111]

[0112]

[0113]

[0114] Table 4 - Interpretation of transfer characteristics using the transfer_characteristics syntax element from the HEVC specification

[0115] In at least one embodiment, multiple QP prediction processes may be combined or cascaded. Fig. 9 An example of an embodiment of a combination-based encoding is illustrated in FIG. Fig. 9 , multiple QP prediction values ​​are obtained at 910. As previously described, the QP prediction method can be explicitly signaled using a syntax element. For example, in at least one embodiment, various examples of QP prediction processes that can be enabled or available for combination or cascading can include three methods (designated as method 0, method 1, and method 2), which can, for example, correspond to the above three QP prediction methods in at least one embodiment: method 1 (QP adaptation based on the value of luma samples), method 2 (QP adaptation based on activity such as luma activity), and method 3 (QP adaptation based on spatial adaptive quantization). The syntax element quant_pred_method_idx can be interpreted as follows:

[0116] - if quant_pred_method_idx is equal to 0, method 0 is applied;

[0117] - else if quant_pred_method_idx is equal to 1, then method 1 is applied;

[0118] - else if quant_pred_method_idx is equal to 2, then method 2 is applied;

[0119] - else if quant_pred_method_idx is equal to 3, then combine method 0 and method 1;

[0120] - else if quant_pred_method_idx is equal to 4, then combine method 0 and method 2;

[0121] - Else if quant_pred_method_idx is equal to 5, then method 1 and method 2 are combined.

[0122] In the example of combining (k+1) advanced QP prediction methods, the corresponding QPpred values ​​QPpred_0…QPpred_k are derived, and by combining these different values ​​(such as Fig. 9 920) to obtain the actual final QPpred (or Fig. 9 QP in short), for example, is calculated as the sum of these different values:

[0123] QPpred= QPpred_0 + QPpred_1 + … + QPpred_k

[0124] Multiple QPpred values ​​may be obtained successively, for example, by using successive processes of each of the multiple QP prediction processes and successively summing the QPpred values ​​produced by each prediction process. This may be referred to as a cascade of multiple QP prediction schemes. Then, in Fig. 9 At 930 in FIG. 8 , video data may be encoded based on the QP value generated by combining the various prediction values ​​at 920 .

[0125] Fig.10 The diagram shows the Fig. 9 An example of an embodiment of decoding is performed in a similar manner to that described for encoding.

[0126] The combination or cascade can also be determined based on signal characteristics. An example is given below.

[0127] The first value QPpred0 is derived based on the syntax element vr_signal:

[0128] - if the syntax element vr_signal is true, QPpred0 is derived from the advanced QP prediction method 3,

[0129] - Otherwise set QPpred0 to 0.

[0130] The second value QPpred1 is derived based on the syntax element transfer_characteristics as follows:

[0131] - if transfer_characteristics is equal to 16, QPpred1 is derived from advanced QP prediction method 1,

[0132] - Otherwise if transfer_characteristics is not equal to 16, QPpred1 is derived from advanced QP prediction method 2.

[0133] The final QPpred is derived as the sum of QPpred0 and QPpred1.

[0134] Will refer to Fig.11 An example of at least one embodiment involving a combination or concatenation of QP prediction processes is explained in more detail. Fig.11 At 1210 in the QP process for a block or current CU begins by identifying a first or initial QP prediction process from input data, e.g., based on characteristics of the current block, content in the bitstream, and / or syntax. The first QP prediction scheme may be a process such as described above in paragraph

[31] that involves predicting a QP value from the QP values ​​of neighboring top and left CUs or groups of CUs surrounding the current CU. At 1220, a first or initial QP prediction value (designated QP0) is determined using this initial prediction method. Next, at 1230, the system determines whether to refine the initial QP prediction value. This determination may occur based on, for example, syntax in the bitstream, characteristics of content such as content including HDR content. If the determination at 1230 is "no," the initial QP0 value is output as the QP prediction value (step 1235). If the determination at 1230 is "yes," then refinement of the initial QP0 value begins at 1240, with index "n" set to 1. At 1250, another or nth QP prediction method is identified, for example, by syntax in the bitstream. At 1260, the nth QP prediction method generates another QP prediction value (designated as QPn) that can be used to provide an improvement over the initial QP0 value. The nth QP prediction process can be, for example, an advanced QP prediction method as described above (e.g., in paragraphs

[33] or

[34] or

[35] ). In an embodiment, the QPn prediction value can include a differential or incremental QP value that can be combined with the first or initial QP prediction value QP0 to generate a combined QP prediction value that includes an improvement over the initial QP0 value. In an embodiment, generating the combined QP prediction value can involve summing the initial QP0 value and one or more QPn values, such as Fig.11 1270. The first improvement value generated at 1260 may be denoted as QP1, in which case the combination of QP0 and QP1 that generates the QP prediction value may be:

[0135] QP = QP0 + QP1

[0136] In an embodiment, additional improvements may be desired, where each improvement may be based on a respective QP prediction method. A check for further or additional improvements occurs at 1280, such as checking syntax, content type, etc. If no further improvements are indicated ("no" at 1280), the current QP prediction value generated at 1270 is output as the QP prediction value. If further improvements are to be provided ("yes" at 1280), then at 1290 the index "n" is incremented and 1250 to 1280 are repeated to generate the QP prediction value. n+1In the case of multiple improvements (multiple iterations of 1250 to 1290), each improvement value may be generated using a corresponding one of the multiple QP prediction methods. Each improvement value may be a differential value as described above. For multiple improvement values, the combination obtained at 1270 may involve summing all improvement values ​​QP1 to QPn and adding the sum to the initial QP0 value to generate the QP prediction value. For example, for two improvements based on two QP prediction methods, the combination that generates the overall QP prediction value may be:

[0137] QP = QP0 + QP1 + QP2

[0138] Adding incremental QP values ​​such as QP1 and QP2 implements a combination or cascade of QP prediction schemes that provides an adjustment, modification, or improvement to the initial QP prediction value QP0 to improve the QP prediction result. The described combination or cascade of QP prediction processes using one or more additional QP prediction methods (e.g., advanced QP prediction methods) to improve an initial QP prediction value, such as produced by a conventional QP prediction method, has the effect of adjusting the initial QP prediction value.

[0139] At least one embodiment of the described examples of the combination or cascade of QP prediction processes may involve the following. First, an initial QP prediction value may be determined, which may be, for example, a QP0 value that is a "global" value for the entire picture. This initial global QP0 value may be signaled in the stream. Then, the described improvement of QP0 may occur based on one or more parameters or characteristics of the picture portion or video content included in the stream. For example, the improvement of QP0 may be based on the type of content, for example, the type of content signaled in the bitstream or inferred from syntax elements included in the bitstream. As a more specific example, consider content that may be HDR and / or VR360 content. For HDR content, a delta QP value (dQP1) may be determined for each block, for example, inferred from the average of the luma prediction blocks. In addition, for example, if the HDR content is also VR360, a second delta QP value (dQP2) may be determined, for example, inferred from the position of the block in the picture. Then, the final QP value applied to the block may be:

[0140] oQP = QP0 + dQP1 + dQP2

[0141] Figure 6 A block diagram of an example of a system in which various aspects and embodiments are implemented is illustrated. Figure 6The system shown in can be implemented as a device including the various components described below and configured to perform one or more of the aspects described in this document. Examples of such devices include, but are not limited to, various electronic devices such as personal computers, laptop computers, smart phones, tablet computers, digital multimedia set-top boxes, digital television receivers, personal video recording systems, connected home appliances, and servers. Figure 6 In the example of an embodiment of the system shown in , certain features or elements are grouped together for illustration within a block 1000 drawn in dashed lines. The grouping of elements forming the block 1000 is merely for ease of description and explanation of the example of the embodiment. Figure 6 In the example embodiment shown or in other embodiments, it is contemplated that Figure 6 Various other groupings of components are shown in . Figure 6 , frame 1000 may interface or interact with various peripheral devices such as a display 1100, audio speakers 1110, and other peripheral devices 1120, which will be described in more detail below. Figure 6 The features within group 1000 shown in can be implemented individually or in combination in a single integrated circuit (IC), multiple ICs, and / or discrete components. For example, in at least one embodiment, the processing and encoder / decoder elements of group 1000 are distributed across multiple ICs and / or discrete components. In various embodiments, the features included in group 1000 can be communicatively coupled to other similar systems or other electronic devices via, for example, a communication bus such as communication channel 1060 or through dedicated input and / or output ports. In various embodiments, Figure 6 The system may be configured to implement one or more of the aspects described in this document.

[0142] The features of the group 1000 may include at least one processor, such as a processor 1010 configured to execute instructions loaded therein for implementing, for example, various aspects described in this document. The processor 1010 may include embedded memory, input-output interfaces, and various other circuits known in the art. Although the processor 1010 is shown as a single block 1010, multiple processors may be used to implement the functionality of the processor 1010. The features of the block 1000 may include at least one memory 1020 (e.g., a volatile memory device, and / or a non-volatile memory device) and / or other memory devices, such as a storage device 1040, which may include non-volatile memory and / or volatile memory, including but not limited to EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash memory, magnetic disk drive, and / or optical disk drive. As a non-limiting example, the storage device 1040 may include an internal storage device, an additional storage device, and / or a network accessible storage device.

[0143] Features of block 1000 may include an encoder / decoder module 1030, which is configured to, for example, process data to provide encoded video or decoded video, and the encoder / decoder module 1030 may include its own processor and memory. The encoder / decoder module 1030 represents (multiple) modules that may be included in the device to perform encoding and / or decoding functions. As is known, the device may include one or both of the encoding and decoding modules. In addition, the encoder / decoder module 1030 may be implemented as Figure 6 Individual elements of the system shown in FIG. 10 are not included in block 1000 , or may be incorporated into processor 1010 as a combination of hardware and software known to those skilled in the art.

[0144] Program code to be loaded onto the processor 1010 or the encoder / decoder 1030 to perform various aspects described in this document may be stored in the storage device 1040 and subsequently loaded onto the memory 1020 for execution by the processor 1010. According to various embodiments, one or more of the processor 1010, the memory 1020, the storage device 1040, and the encoder / decoder module 1030 may store one or more of the various items during the execution of the processes described in this document. Such stored items may include, but are not limited to, input video, decoded video or partially decoded video, bitstreams, matrices, variables, and intermediate or final results from the processing of equations, formulas, operations, and operation logic.

[0145] In several embodiments, memory internal to the processor 1010 and / or encoder / decoder module 1030 is used to store instructions and provide working memory for processes used during encoding or decoding. However, in other embodiments, memory external to the processing device (e.g., the processing device may be the processor 1010 or the encoder / decoder module 1030) may be used for one or more of these functions. The external memory may be a memory 1020 and / or a storage device 1040, such as a dynamic volatile memory and / or a non-volatile flash memory. In several embodiments, an external non-volatile flash memory is used to store the operating system of the television. In at least one embodiment, a fast external dynamic volatile memory such as RAM is used as working memory for video encoding and decoding operations, such as for MPEG-2, HEVC, or VVC (Versatile Video Coding).

[0146] As shown in block 1130, various input devices may be provided to Figure 6 One or more inputs to the elements of the system shown in . Such input devices include, but are not limited to: (i) an RF portion for receiving an RF signal transmitted over the air, such as by a broadcast device, (ii) a composite input terminal, (iii) a USB input terminal, and / or (iv) an HDMI input terminal.

[0147] In various embodiments, the input device of block 1130 has associated corresponding input processing elements known in the art. For example, the RF section may be associated with elements for (i) selecting a desired frequency (also referred to as selecting a signal, or band limiting a signal to a frequency band), (ii) down-converting the selected signal, (iii) band limiting again to a narrower frequency band to select (for example) a signal frequency band (which may be referred to as a channel in some embodiments), (iv) demodulating the down-converted and band-limited signal, (v) performing error correction, and (vi) demultiplexing to select a stream of desired data packets. The RF section of various embodiments includes one or more elements that perform these functions, such as a frequency selector, a signal selector, a frequency band limiter, a channel selector, a filter, a down-converter, a demodulator, an error corrector, and a demultiplexer. The RF section may include a tuner that performs various of these functions, including, for example, down-converting a received signal to a lower frequency (e.g., an intermediate frequency or a near-baseband frequency) or a baseband. In a set-top box embodiment, the RF part and its associated input processing element receive the RF signal transmitted by wired (e.g., cable) medium, and perform frequency selection by filtering, down-converting and filtering to the desired frequency band again. Various embodiments rearrange the order of the above-mentioned (and other) elements, remove some of these elements, and / or add other elements that perform similar or different functions. Adding elements can include inserting elements between existing elements, for example, inserting amplifiers and analog-to-digital converters. In various embodiments, the RF part includes an antenna.

[0148] In addition, the USB and / or HDMI terminals may include corresponding interface processors for connecting the Figure 6 The system is connected to other electronic devices. It should be understood that various aspects of input processing, such as Reed-Solomon error correction, can be implemented as needed, for example, in a separate input processing IC or in the processor 1010. Similarly, various aspects of USB or HDMI interface processing can be implemented in a separate interface IC or in the processor 1010. The demodulated, error-corrected, and demultiplexed stream is provided to various processing elements, including, for example, the processor 1010, and the encoder / decoder 1030, which operates in combination with memory and storage elements to process the data stream for presentation on an output device.

[0149] You can Figure 6 The various elements of the system are provided in an integrated housing. In the integrated housing, the various elements can be interconnected and transmit data between them using a suitable connection arrangement 1140 (eg, an internal bus known in the art, including an I2C bus, wiring, and a printed circuit board).

[0150] Figure 6The system may include a communication interface 1050 that enables communication with other devices via a communication channel 1060. The communication interface 1050 may include, but is not limited to, a transceiver configured to transmit and receive data through the communication channel 1060. The communication interface 1050 may include, but is not limited to, a modem or a network card, and the communication channel 1060 may be implemented in, for example, a wired and / or wireless medium.

[0151] In various embodiments, data may be provided (e.g., streamed) to a wireless network such as IEEE 802.11. Figure 6 The Wi-Fi signal of these embodiments is received through the communication channel 1060 and the communication interface 1050 adapted for Wi-Fi communication. The communication channel 1060 of these embodiments can be connected to an access point or router that provides access to external networks including the Internet to allow streaming applications and other over-the-top communication. Other embodiments can use a set-top box that passes data through the HDMI connection of the input box 1130 to Figure 6 Still other embodiments use the RF connection of input box 1130 to provide streaming data to system 1000.

[0152] The block 1000 may provide output signals to various output devices including a display 1100, a speaker 1110, and / or other peripheral devices 1120. In various examples of embodiments, the other peripheral devices 1120 include one or more of a stand-alone DVR, a disk player, a stereo system, a lighting system, and other devices that provide functionality based on the output of the system. In various embodiments, control signals are communicated between the block 1000 and the display 1100, the speaker 1110, or the other peripheral devices 1120 using signaling such as AV.Link, CEC, or other communication protocols that enable device-to-device control with or without user intervention. The output devices may be communicatively coupled to the block 1000 via dedicated connections through respective interfaces 1070, 1080, and 1090. Alternatively, the output devices may be connected to the block 1000 via a communication interface 1050 using a communication channel 1060. In an electronic device (e.g., a television), the display 1100 and the speaker 1110 may be coupled to the block 1000 via a communication interface 1050. Figure 6 The other components of the system shown in are integrated into a single unit. In various embodiments, the display interface 1070 includes a display driver, such as a timing controller (TCon) chip.

[0153] Display 1100 and speaker 1110 may alternatively be separate from one or more of the other components, such as if the RF portion of input 1130 is part of a separate set-top box. In various embodiments where display 1100 and speaker 1110 are external components, output signals may be provided via dedicated output connections including, for example, an HDMI port, a USB port, or a COMP output.

[0154] One or more embodiments may be performed by computer software, or hardware, or a combination of hardware and software implemented by the processor 1010. As a non-limiting example, an embodiment may be implemented by one or more integrated circuits. As a non-limiting example, the memory 1020 may be of any type suitable for the technical environment and may be implemented using any appropriate data storage technology, such as an optical storage device, a magnetic storage device, a semiconductor-based storage device, a fixed memory, and a removable memory. As a non-limiting example, the processor 1010 may be of any type suitable for the technical environment and may include one or more of a microprocessor, a general-purpose computer, a special-purpose computer, and a processor based on a multi-core architecture.

[0155] Figure 7 Another example of an embodiment is shown in , which is a method of providing QP prediction in, for example, an encoder. Figure 7 In the embodiment of the present invention, video data, such as data included in a digital video signal or bitstream, is processed at 710 to identify a QP prediction method (e.g., one of a plurality of available methods). The identification of the method at 710 can occur based on any of a variety of schemes, such as one or more of the schemes described above, for example, based on signal type (such as SDR, HDR, etc.), syntax information in the bitstream, etc. The method identified at 710 is passed to 720, where the video data is encoded. That is, the video data is processed at 720 to encode the video data, for example, as described above with respect to a video signal such as Figure 1 or Figure 6 The illustrated embodiment is described, where encoding may be based on the QP prediction method identified at 710. The encoded video data is output from 720 and may include data or information indicating the QP prediction method used for encoding such as the examples (e.g., syntax, signal characteristics, or types) of QP prediction indications described above.

[0156] Figure 8An example of an embodiment of a method for decoding video data is shown. Encoded video data (e.g., a digital data signal or a bitstream) is processed at 810 to identify a QP prediction method used during encoding of the video data. The identification may occur in one of the ways described above, for example, based on the type of signal, signal characteristics, and / or syntax. The identified method is passed to 820, where decoding of the video data occurs. The processing of the encoded video data at 820, for example, as described above with respect to, for example, Figure 3 or Figure 6 As described in the illustrated embodiment, the encoded video data is decoded based on the QP prediction method identified at 810. At 820, the decoded video data is output.

[0157] This document describes various aspects, including tools, features, embodiments, models, schemes, etc. Many of these aspects are described in detail, and often in a manner that may sound restrictive, at least to illustrate individual characteristics. However, this is for the purpose of clarity of description and does not limit the application or scope of those aspects. In fact, all different aspects can be combined and interchanged to provide further aspects. In addition, various aspects can also be combined and interchanged with various aspects described in earlier filings.

[0158] The embodiments described and contemplated in this document may be implemented in many different forms. Figure 1 , Figure 3 and Figure 6 Some examples of hardware-related embodiments are provided, but other embodiments are contemplated, and the discussion of these and other figures does not limit the breadth of implementation. At least one of the aspects generally relates to video encoding and decoding, and at least one other aspect generally relates to transmitting a generated or encoded bitstream. These and other aspects can be implemented as methods, devices, computer-readable storage media having stored thereon instructions for encoding or decoding video data according to any of the methods described, and / or computer-readable storage media having stored thereon bitstreams generated according to any of the methods described.

[0159] Various methods are also described herein, and each of the various methods includes one or more steps or actions for implementing the method. Unless the correct operation of the method requires a specific order of steps or actions, the order and / or use of specific steps and / or actions can be modified or combined.

[0160] Various values ​​are used in this application, such as the mode difference threshold for turning on / off hybrid intra prediction, and constants used in weight calculation equations. It should be noted that the specific values ​​are only examples, and the present embodiment is not limited to these specific values.

[0161] The implementation described herein can be realized, for example, with a method or process, equipment, software program, data stream, or signal. Even if only discussed in the context of a single form of implementation (for example, only discussed as a method), the implementation of the discussed feature can also be realized in other forms (for example, equipment or program). Equipment can be realized, for example, with suitable hardware, software, and firmware. The method can be realized in a device such as a processor, which generally refers to a processing device, including, for example, a computer, a microprocessor, an IC, or a programmable logic device. The processor also includes a communication device, such as a computer, a mobile phone, a portable / personal digital assistant ("PDA"), and other devices that contribute to the information communication between the end-user.

[0162] Reference to "one embodiment" or "an embodiment" or "an implementation" or "an implementation", and other variations thereof, means that a particular feature, structure, characteristic, etc. described in connection with the embodiment is included in at least one embodiment. Thus, the appearances of the phrases "in one embodiment" or "in an embodiment" or "in one implementation" or "in an implementation", and any other variations thereof, appearing in various places throughout the specification do not necessarily all refer to the same embodiment.

[0163] Furthermore, this application or its claims may refer to "determining" various pieces of information. Determining information may include, for example, one or more of estimating information, calculating information, predicting information, or retrieving information from a memory.

[0164] Furthermore, this application or its claims may refer to "accessing" various pieces of information. Accessing the information may include, for example, one or more of receiving the information, retrieving the information (e.g., from a memory), storing the information, processing the information, sending the information, moving the information, copying the information, erasing the information, calculating the information, determining the information, predicting the information, or estimating the information.

[0165] Furthermore, the application or its claims may refer to "receiving" various pieces of information. Like "accessing," receiving is intended to be a broad term. Receiving information may include, for example, one or more of accessing information, or retrieving information (e.g., from a memory). Furthermore, "receiving" may be involved in one way or another during operations such as storing information, processing information, transmitting information, moving information, copying information, erasing information, calculating information, determining information, predicting information, or estimating information.

[0166] It will be apparent to those skilled in the art that various implementations may generate various signals formatted to carry information that may be, for example, stored or transmitted. The information may include, for example, instructions for executing a method, or data generated by one of the implementations. For example, a signal may be formatted to carry a bitstream of the embodiment. Such a signal may be formatted as, for example, an electromagnetic wave (e.g., using the radio frequency portion of the spectrum) or a baseband signal. Formatting may include, for example, encoding a data stream and modulating a carrier with the encoded data stream. The information carried by the signal may be, for example, analog or digital information. As is known, the signal may be transmitted via a variety of different wired or wireless links. The signal may be stored on a processor readable medium.

[0167] Embodiments may include any of the following features or entities, alone or in any combination, across various claim categories and types:

[0168] Modify the dQP / QP prediction process applied in the decoder and / or encoder.

[0169] Enable several advanced QP prediction methods in the decoder and / or encoder.

[0170] • Inserting syntax elements in the signaling that enable the decoder to identify the QP prediction method to use.

[0171] • Based on these syntax elements, the QP prediction method applied at the decoder is selected.

[0172] • Apply a QP prediction method at the decoder for deriving the QP.

[0173] • A bitstream or signal comprising one or more of said syntax elements or variants thereof.

[0174] • Creating and / or transmitting and / or receiving and / or decoding a bitstream or signal comprising one or more of said syntax elements or variations thereof.

[0175] Various other general and specific embodiments are also supported and contemplated throughout the present disclosure. For example, in an embodiment, a device for encoding video data is provided, comprising at least a memory and one or more processors, wherein the one or more processors are configured to: identify or obtain at least one of a plurality of quantization parameter prediction methods for encoding video data; and encode the video data based on the at least one quantization parameter prediction method to generate encoded video data, wherein the encoded video data includes data indicating the at least one quantization parameter prediction method used to generate the encoded video data.

[0176] According to another embodiment, a method for encoding video data is proposed, comprising: identifying or obtaining at least one of a plurality of quantization parameter prediction methods for encoding video data; and encoding the video data based on the at least one quantization parameter prediction method, wherein the encoded video data includes data indicating at least one quantization parameter prediction method for encoding the video data.

[0177] According to another embodiment, a device for decoding video data is proposed, comprising at least a memory and one or more processors, wherein the one or more processors are configured to: access video data; identify or obtain at least one of a plurality of quantization parameter prediction methods indicated in the video data for decoding the video data; and decode the video data based on at least one quantization parameter prediction method indicated in the video data to obtain decoded video data.

[0178] According to another embodiment, a method for decoding video data is proposed, comprising: accessing the video data; identifying or obtaining at least one of a plurality of quantization parameter prediction methods indicated in the video data for decoding the video data; and decoding the encoded video data based on at least one quantization parameter prediction method indicated in the video data to obtain decoded video data.

[0179] According to another embodiment, a device for encoding video data is proposed, comprising at least a memory and one or more processors, wherein the one or more processors are configured to: obtain multiple quantization parameter prediction values, each quantization parameter prediction value corresponding to a corresponding one of multiple quantization parameter prediction methods; obtain a prediction value of the quantization parameter based on a combination of the multiple quantization parameter prediction values, and encode the video data based on the prediction value of the quantization parameter to generate encoded video data, wherein the encoded video data includes data indicating the combination of the multiple quantization parameter prediction values.

[0180] According to another embodiment, a method for encoding video data is proposed, comprising: obtaining multiple quantization parameter prediction values, each quantization parameter prediction value corresponding to a corresponding one of multiple quantization parameter prediction methods; obtaining a prediction value of the quantization parameter based on a combination of the multiple quantization parameter prediction values, and encoding the video data based on the prediction value of the quantization parameter to generate encoded video data, wherein the encoded video data includes data indicating the combination of the multiple quantization parameter prediction values.

[0181] According to another embodiment, a device for decoding video data is proposed, comprising at least a memory and one or more processors, wherein the one or more processors are configured to: access video data; identify multiple quantization parameter prediction methods indicated in the video data; obtain multiple quantization parameter prediction values, each quantization parameter prediction value corresponding to a corresponding one of the multiple quantization parameter prediction methods; obtain a prediction value of the quantization parameter based on a combination of the multiple quantization parameter prediction values, and decode the video data based on the prediction value of the quantization parameter to generate encoded video data.

[0182] According to another embodiment, a method for decoding video data is proposed, comprising: accessing the video data; identifying multiple quantization parameter prediction methods indicated in the video data; obtaining multiple quantization parameter prediction values, each quantization parameter prediction value corresponding to a corresponding one of the multiple quantization parameter prediction methods; obtaining a prediction value of the quantization parameter based on a combination of the multiple quantization parameter prediction values, and decoding the video data based on the prediction value of the quantization parameter to generate encoded video data.

[0183] According to another embodiment, a bit stream formatted to include encoded video data is proposed, wherein the encoded video data is encoded in the following manner: obtaining multiple quantization parameter prediction values, each quantization parameter prediction value corresponding to a corresponding one of multiple quantization parameter prediction methods; obtaining a prediction value of the quantization parameter based on a combination of the multiple quantization parameter prediction values, and encoding the video data based on the prediction value of the quantization parameter to generate the encoded video data, wherein the encoded video data includes data indicating the combination of the multiple quantization parameter prediction values.

[0184] According to another embodiment, the plurality of quantization parameter prediction methods include at least: a quantization parameter adaptive method depending on average brightness, a quantization parameter adaptive method depending on brightness activity, or a quantization parameter adaptive method depending on position.

[0185] According to another embodiment, the plurality of quantization parameter prediction methods include a method based on a combination of two or more quantization parameter adaptation methods.

[0186] According to another embodiment, the combination is formed by: performing two or more quantization parameter adaptation methods to generate two or more corresponding quantization parameter prediction values; and combining the two or more corresponding quantization parameter prediction values ​​to generate a final quantization parameter prediction value.

[0187] According to another embodiment, the combination is formed by successively executing two or more quantization parameter adaptation methods to generate a final quantization parameter prediction value.

[0188] According to another embodiment, the at least one quantization parameter prediction method is based at least on syntax elements included in the video data and on the format of the video.

[0189] According to another embodiment, the format of the video includes one or more video formats of standard dynamic range (SDR), high dynamic range (HDR), and virtual reality 360º equirectangular projection (VR360 ERP).

[0190] According to another embodiment, at least one quantization parameter prediction method is selected based on a syntax element indicating whether the video being encoded or decoded is a virtual reality signal and a syntax element indicating a transfer function of the video being encoded or decoded.

[0191] According to another embodiment, a bitstream is formatted to include encoded video data, wherein the encoded video data is encoded in the following manner: identifying or obtaining at least one of a plurality of quantization parameter prediction methods for encoding the video data; and encoding the video data based on the at least one quantization parameter prediction method to generate the encoded video data, wherein the encoded video data includes data indicating at least one quantization parameter prediction method used to generate the encoded video data.

[0192] In general, at least one embodiment of an apparatus or method for encoding or decoding video data may include applying local QP adaptation based on the value of luma samples, wherein the local QP adaptation may include obtaining an average luma value of a block using an original signal or a predicted signal; and adding a delta QP value dependent on the average luma value to a QP specified for a slice. In at least one embodiment, the delta QP value may be obtained from a table of delta QP values ​​for each luma value range.

[0193] In general, at least one embodiment of an apparatus or method for encoding or decoding video data may include obtaining a delta QP value based on a weight value, wherein the weight value is based on a luminance activity of a block or a region to which the block belongs.

[0194] In general, at least one embodiment of an apparatus or method for encoding or decoding video data may include spatially adaptive quantization. In at least one embodiment, the spatially adaptive quantization may be applied to a category of content, wherein the category of content includes rectangular projection content such as virtual reality; and a QP value is obtained based on the location of the CU; and a QP value for each CU is obtained based on a weight used to calculate a weighted spherical peak signal-to-noise ratio.

[0195] One or more of the embodiments further provides a computer-readable storage medium having stored thereon instructions for encoding or decoding video data according to the method or apparatus described herein. The embodiments further provide a computer-readable storage medium having stored thereon a bitstream generated according to the method or apparatus described herein. The embodiments further provide methods and apparatus for transmitting or receiving a bitstream generated according to the method or apparatus described herein.

Claims

1. A method for video decoding, comprising: obtaining a quantization prediction indication indicating whether quantization prediction has been enabled; Based on the quantization prediction indication, determining whether the quantization prediction has been enabled; Based on determining that the quantization prediction has been enabled, obtaining information indicating a plurality of quantization parameter prediction methods; Selecting a quantization parameter prediction method based on the obtained information indicating the plurality of quantization parameter prediction methods; Determining a predicted value of a quantization parameter of a coding block based on the selected quantization parameter prediction method; as well as Based on the predicted value of the quantization parameter, video data is decoded.

2. The method according to claim 1, wherein: The information indicating the plurality of quantization parameter prediction methods includes: indexes indicating the plurality of quantization parameter prediction methods.

3. The method according to claim 1, wherein: The plurality of quantization parameter prediction methods include: a quantization parameter adaptive method depending on average brightness, a quantization parameter adaptive method depending on brightness activity, and a quantization parameter adaptive method depending on position.

4. The method according to claim 1, wherein: The information representing multiple quantization parameter prediction methods includes: a format associated with the video data, wherein the format associated with the video data includes: at least one of standard dynamic range, high dynamic range or virtual reality video, and wherein the multiple quantization parameter prediction methods are used to predict the quantization parameters of the obtained coding block.

5. The method according to claim 1, wherein: The quantization prediction enable indication includes a quantization prediction enable flag.

6. A device for video decoding, comprising: The processor is configured as: obtaining a quantization prediction indication indicating whether quantization prediction has been enabled; Based on the quantization prediction indication, determining whether the quantization prediction has been enabled; Based on determining that the quantization prediction has been enabled, obtaining information indicating a plurality of quantization parameter prediction methods; Selecting a quantization parameter prediction method based on the obtained information indicating the plurality of quantization parameter prediction methods; Determining a predicted value of a quantization parameter of a coding block based on the selected quantization parameter prediction method; as well as Based on the predicted value of the quantization parameter, video data is decoded.

7. The device according to claim 6, wherein: The information indicating the plurality of quantization parameter prediction methods includes indexes indicating the plurality of quantization parameter prediction methods.

8. The device according to claim 6, wherein: The plurality of quantization parameter prediction methods include: a quantization parameter adaptive method depending on average brightness, a quantization parameter adaptive method depending on brightness activity, and a quantization parameter adaptive method depending on position.

9. The device according to claim 6, wherein: The information representing multiple quantization parameter prediction methods includes: a format associated with the video data, wherein the format associated with the video data includes: at least one of standard dynamic range, high dynamic range or virtual reality video, and wherein the multiple quantization parameter prediction methods are used to predict the quantization parameters of the obtained coding block.

10. The device according to claim 6, wherein: The quantization prediction enable indication includes a quantization prediction enable flag.

11. A method for video encoding, comprising: Determine whether quantitative forecasting is enabled; Based on determining that the quantization prediction has been enabled, obtaining information indicating a plurality of quantization parameter prediction methods; Selecting a quantization parameter prediction method based on the obtained information indicating the plurality of quantization parameter prediction methods; Determining a predicted value of a quantization parameter for encoding a coding block based on the selected quantization parameter prediction method; as well as The video data is encoded based on the predicted value of the quantization parameter.

12. The method according to claim 11, wherein: The information indicating the plurality of quantization parameter prediction methods includes: indexes indicating the plurality of quantization parameter prediction methods.

13. The method according to claim 11, wherein: The plurality of quantization parameter prediction methods include: a quantization parameter adaptive method depending on average brightness, a quantization parameter adaptive method depending on brightness activity, and a quantization parameter adaptive method depending on position.

14. The method according to claim 11, wherein: The method comprises: Based on determining that the quantization prediction has been enabled, including a quantization prediction enable indication in the video data, wherein the quantization prediction enable indication indicates whether the quantization prediction has been enabled, and wherein the quantization prediction enable indication includes a quantization prediction enable flag.

15. The method according to claim 11, wherein: The information representing multiple quantization parameter prediction methods includes: a format associated with the video data, wherein the format associated with the video data includes: at least one of standard dynamic range, high dynamic range or virtual reality video, and wherein the multiple quantization parameter prediction methods are used to predict the quantization parameters of the coding block.

16. A device for video encoding, comprising: The processor is configured as: Determine whether quantitative forecasting is enabled; Based on determining that the quantization prediction has been enabled, obtaining information indicating a plurality of quantization parameter prediction methods; Selecting a quantization parameter prediction method based on the obtained information indicating the plurality of quantization parameter prediction methods; Determining a predicted value of a quantization parameter for encoding a coding block based on the selected quantization parameter prediction method; as well as The video data is encoded based on the predicted value of the quantization parameter.

17. The apparatus according to claim 16, wherein: The information indicating the plurality of quantization parameter prediction methods includes: indexes indicating the plurality of quantization parameter prediction methods.

18. The apparatus according to claim 16, wherein: The plurality of quantization parameter prediction methods include: a quantization parameter adaptive method depending on average brightness, a quantization parameter adaptive method depending on brightness activity, and a quantization parameter adaptive method depending on position.

19. The apparatus according to claim 16, wherein: The processor is configured to: Based on determining that the quantization prediction has been enabled, including a quantization prediction enable indication in the video data, wherein the quantization prediction enable indication indicates whether the quantization prediction has been enabled, and wherein the quantization prediction enable indication includes a quantization prediction enable flag.

20. The apparatus of claim 16, wherein: The information representing multiple quantization parameter prediction methods includes: a format associated with the video data, wherein the format associated with the video data includes: at least one of standard dynamic range, high dynamic range or virtual reality video, and wherein the multiple quantization parameter prediction methods are used to predict the quantization parameters of the coding block.

21. A computer readable medium comprising instructions for video decoding, causing a processor to perform the method of any one of claims 1 to 5.

22. A computer readable medium comprising instructions for video encoding, causing a processor to perform the method of any one of claims 11 to 15.

23. An apparatus comprising: The processor is configured as: obtaining a video signal from video data; determining a format associated with the video signal, wherein the processor is configured to determine the format associated with the video signal comprises the processor being configured to obtain a transfer function associated with the video signal in a syntax element message, wherein the transfer function comprises a transfer characteristic associated with the video signal, and wherein the processor is further configured to: Determine the transfer characteristic equal to 16, and Based on determining that the transfer characteristic is equal to 16, determining that the video signal is associated with a high dynamic range HDR perceptual quantizer PQ signal; or Determine the transfer characteristic to be equal to 18, and Based on determining that the transfer characteristic is equal to 18, determining that the video signal is associated with an HDR hybrid log-gamma HLG signal; or Determine the transfer characteristic equal to 16, and Based on determining that the transfer characteristic is not equal to 16 or 18, determining that the video signal is associated with a standard dynamic range (SDR) signal; as well as Based on the determined format associated with the video signal, a current block is predicted.

24. A method comprising: obtaining a video signal from video data; determining a format associated with the video signal, wherein determining the format associated with the video signal comprises obtaining a transfer function associated with the video signal in a syntax element message, wherein the transfer function comprises a transfer characteristic associated with the video signal, and wherein the method further comprises: Determine the transfer characteristic equal to 16, and Based on determining that the transfer characteristic is equal to 16, determining that the video signal is associated with a high dynamic range HDR perceptual quantizer PQ signal; or Determine the transfer characteristic to be equal to 18, and Based on determining that the transfer characteristic is equal to 18, determining that the video signal is associated with an HDR hybrid log-gamma HLG signal; or Determine the transfer characteristic equal to 16, and Based on determining that the transfer characteristic is not equal to 16 or 18, determining that the video signal is associated with a standard dynamic range (SDR) signal; as well as Based on the determined format associated with the video signal, a current block is predicted.