Method and apparatus for quantification and inverse quantification design in video coding and decoding.

By employing quantification and inverse quantification methods for coding units with scale factors and bit shifts, the method addresses the challenge of reducing bitrate while preserving video quality in advanced video encoding and decoding standards.

JP2026086808APending Publication Date: 2026-05-26BEIJING DAJIA INTERNET INFORMATION TECH CO LTD

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
BEIJING DAJIA INTERNET INFORMATION TECH CO LTD
Filing Date
2026-02-18
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

Existing video encoding and decoding technologies face challenges in efficiently reducing video data bitrate while maintaining video quality, particularly in advanced standards like VVC, HEVC, and MPEG, due to limitations in quantization and inverse quantization processes.

Method used

The proposed method involves determining quantification parameters for coding units (CUs) using scale factors, bit shifts, and scaling rates to derive quantization levels, which are applied in video encoders and decoders to optimize video encoding and decoding processes.

Benefits of technology

This approach enhances the efficiency of video encoding and decoding by improving bitrate reduction while maintaining video quality, aligning with advanced standards like VVC, HEVC, and MPEG, through optimized quantization and inverse quantization techniques.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026086808000001_ABST
    Figure 2026086808000001_ABST
Patent Text Reader

Abstract

This provides a video encoding method. [Solution] The method includes determining a quantification parameter for residual data of a coding unit (CU), deriving a scale value by scaling the quantification parameter by a scale factor, determining a plurality of coefficients associated with the CU, determining a plurality of parameters associated with the CU, obtaining a plurality of bit shifts by bit shifting the plurality of parameters, and obtaining a quantification level based on the scale value, the plurality of coefficients, and the plurality of bit shifts.
Need to check novelty before this filing date? Find Prior Art

Description

Cross - reference to related applications

[0001] This application claims priority to U.S. Provisional Application No. 62 / 904,668, filed on September 22, 2019, and incorporates the entire disclosure of this patent application by reference into this specification.

Technical Field

[0002] This application generally relates to video encoding, decoding, and compression, and more particularly, but not limited to, methods and apparatuses for quantization and inverse quantization design in video encoding and decoding.

Background Art

[0003] A variety of video encoding and decoding techniques can be used to compress video data. Video encoding and decoding is performed according to one or more video encoding and decoding standards. Video encoding and decoding standards include, but are not limited to, Versatile Video Coding (VVC), Joint Exploration Test Model (JEM), High Efficiency Video Coding (H.265 / HEVC), Advanced Video Coding (H.264 / AVC), and Moving Picture Experts Group (MPEG) encoding and decoding. In video encoding and decoding, generally, prediction methods based on redundancy present in video images or sequences (such as inter - prediction, intra - prediction, etc.) are utilized. An important goal of video encoding and decoding techniques is to reduce video data to a lower bitrate while avoiding or minimizing the degradation of video quality. This involves compressing the data into a specific format. [Overview of the project]

[0004] This disclosure generally relates to techniques for quantification and inverse quantification design in video coding and decoding. Let me give an example of the technique.

[0005] In accordance with the first aspect of this disclosure, quantification parameters for residual data of coding units (CUs) Determining the meter and scaling the quantification parameter by the scale factor. This involves deriving a scale value and determining multiple coefficients related to the CU. , determining a plurality of parameters related to the CU, and biting the plurality of parameters By performing a bit shift, multiple bit shifts are obtained, and the scale value, the Obtaining a quantification level based on multiple coefficients and the multiple bit shifts, This provides a video encoding method that can be applied to encoders including the following:

[0006] In accordance with the second aspect of this disclosure, video bits including quantification parameters and quantification levels Receiving the stream and scaling the quantification parameters by the scaling rate. This allows for the derivation of scale values ​​and multiple patterns related to the coding unit (CU). Determining the parameter and bit-shifting the multiple parameters, To obtain the bit shift of the quantification level, the scale value and the multiple bit shifts Decodes the process of obtaining multiple coefficients related to the CU based on the set shift. This provides a video encoding method applicable to the subject.

[0007] In accordance with the third aspect of this disclosure, one or more processors and the one or more P A non-temporary memory connected to the processor, and stored in the said non-temporary memory Includes multiple programs, and the multiple programs include the one or more processors When executed by the system, the one or more processors are used for the residual data of the CU. Determine the quantification parameters and scale the quantification parameters by the scale factor. By doing so, a scale value is derived, and multiple coefficients related to the CU are determined, and the CU is... By determining several related parameters and bit-shifting those parameters, Then, obtain multiple bit shifts, and the scale value, the multiple coefficients, and the multiple Performing operations such as obtaining a quantification level based on bit shifts, We provide a coating device.

[0008] In accordance with the fourth aspect of this disclosure, one or more processors and the one or more P A non-temporary memory connected to the processor, and stored in the said non-temporary memory Includes multiple programs, and the multiple programs include the one or more processors When executed by the system, one or more processors are given quantification parameters and The system receives a video bitstream containing the quantification level and scales the quantification parameter. By scaling with a scaling factor, we derive a scale value and multiple parameters related to CU. By determining the data and bit-shifting the multiple parameters, multiple bit shifts are obtained. The bit is obtained and based on the quantification level, the scale value and the multiple bit shifts. A computer performs operations such as obtaining multiple coefficients related to the aforementioned CU. We provide a wing device.

[0009] A non - transient computer - readable storage medium storing a plurality of programs to be executed by a computing device having one or more processors, wherein when the plurality of programs are executed by the one or more processors, the one or more processors are caused to perform operations such as determining quantization parameters for residual data of a CU, scaling the quantization parameters by a scaling factor to derive a scale value, determining a plurality of coefficients related to the CU, determining a plurality of parameters related to the CU, obtaining a plurality of bit - shifts by bit - shifting the plurality of parameters, and obtaining a quantization level based on the scale value, the plurality of coefficients, and the plurality of bit - shifts. A non - transient computer - readable storage medium storing a plurality of programs to be executed by a computing device having one or more processors, wherein when the plurality of programs are executed by the one or more processors, the one or more processors are caused to perform operations such as determining quantization parameters for residual data of a CU, scaling the quantization parameters by a scaling factor to derive a scale value, determining a plurality of coefficients related to the CU, determining a plurality of parameters related to the CU, obtaining a plurality of bit - shifts by bit - shifting the plurality of parameters, and obtaining a quantization level based on the scale value, the plurality of coefficients, and the plurality of bit - shifts. A non - transient computer - readable storage medium storing a plurality of programs to be executed by a computing device having one or more processors, wherein when the plurality of programs are executed by the one or more processors, the one or more processors are caused to perform operations such as determining quantization parameters for residual data of a CU, scaling the quantization parameters by a scaling factor to derive a scale value, determining a plurality of coefficients related to the CU, determining a plurality of parameters related to the CU, obtaining a plurality of bit - shifts by bit - shifting the plurality of parameters, and obtaining a quantization level based on the scale value, the plurality of coefficients, and the plurality of bit - shifts. A non - transient computer - readable storage medium storing a plurality of programs to be executed by a computing device having one or more processors, wherein when the plurality of programs are executed by the one or more processors, the one or more processors are caused to perform operations such as determining quantization parameters for residual data of a CU, scaling the quantization parameters by a scaling factor to derive a scale value, determining a plurality of coefficients related to the CU, determining a plurality of parameters related to the CU, obtaining a plurality of bit - shifts by bit - shifting the plurality of parameters, and obtaining a quantization level based on the scale value, the plurality of coefficients, and the plurality of bit - shifts. A non - transient computer - readable storage medium storing a plurality of programs to be executed by a computing device having one or more processors, wherein when the plurality of programs are executed by the one or more processors, the one or more processors are caused to perform operations such as determining quantization parameters for residual data of a CU, scaling the quantization parameters by a scaling factor to derive a scale value, determining a plurality of coefficients related to the CU, determining a plurality of parameters related to the CU, obtaining a plurality of bit - shifts by bit - shifting the plurality of parameters, and obtaining a quantization level based on the scale value, the plurality of coefficients, and the plurality of bit - shifts. A non - transient computer - readable storage medium storing a plurality of programs to be executed by a computing device having one or more processors, wherein when the plurality of programs are executed by the one or more processors, the one or more processors are caused to perform operations such as determining quantization parameters for residual data of a CU, scaling the quantization parameters by a scaling factor to derive a scale value, determining a plurality of coefficients related to the CU, determining a plurality of parameters related to the CU, obtaining a plurality of bit - shifts by bit - shifting the plurality of parameters, and obtaining a quantization level based on the scale value, the plurality of coefficients, and the plurality of bit - shifts. A non - transient computer - readable storage medium storing a plurality of programs to be executed by a computing device having one or more processors, wherein when the plurality of programs are executed by the one or more processors, the one or more processors are caused to perform operations such as determining quantization parameters for residual data of a CU, scaling the quantization parameters by a scaling factor to derive a scale value, determining a plurality of coefficients related to the CU, determining a plurality of parameters related to the CU, obtaining a plurality of bit - shifts by bit - shifting the plurality of parameters, and obtaining a quantization level based on the scale value, the plurality of coefficients, and the plurality of bit - shifts. <00000�6>A non - transient computer - readable storage medium storing a plurality of programs to be executed by a computing device having one or more processors, wherein when the plurality of programs are executed by the one or more processors, the one or more processors are caused to perform operations such as determining quantization parameters for residual data of a CU, scaling the quantization parameters by a scaling factor to derive a scale value, determining a plurality of coefficients related to the CU, determining a plurality of parameters related to the CU, obtaining a plurality of bit - shifts by bit - shifting the plurality of parameters, and obtaining a quantization level based on the scale value, the plurality of coefficients, and the plurality of bit - shifts. A non - transient computer - readable storage medium storing a plurality of programs to be executed by a computing device having one or more processors, wherein when the plurality of programs are executed by the one or more processors, the one or more processors are caused to perform operations such as determining quantization parameters for residual data of a CU, scaling the quantization parameters by a scaling factor to derive a scale value, determining a plurality of coefficients related to the CU, determining a plurality of parameters related to the CU, obtaining a plurality of bit - shifts by bit - shifting the plurality of parameters, and obtaining a quantization level based on the scale value, the plurality of coefficients, and the plurality of bit - shifts. A non - transient computer - readable storage medium storing a plurality of programs to be executed by a computing device having one or more processors, wherein when the plurality of programs are executed by the one or more processors, the one or more processors are caused to perform operations such as determining quantization parameters for residual data of a CU, scaling the quantization parameters by a scaling factor to derive a scale value, determining a plurality of coefficients related to the CU, determining a plurality of parameters related to the CU, obtaining a plurality of bit - shifts by bit - shifting the plurality of parameters, and obtaining a quantization level based on the scale value, the plurality of coefficients, and the plurality of bit - shifts.

[0010] According to a sixth aspect of the present disclosure, a non - transient computer - readable storage medium storing a plurality of programs to be executed by a computing device having one or more processors, wherein when the plurality of programs are executed by the one or more processors, the one or more processors are caused to receive a video bitstream including quantization parameters and a quantization level, scale the quantization parameters by a scaling rate to derive a scale value, determine a plurality of parameters related to a CU, obtain a plurality of bit - shifts by bit - shifting the plurality of parameters, and based on the quantization level, the scale value, and the plurality of bit - shifts, A non - transient computer - readable storage medium storing a plurality of programs to be executed by a computing device having one or more processors, wherein when the plurality of programs are executed by the one or more processors, the one or more processors are caused to receive a video bitstream including quantization parameters and a quantization level, scale the quantization parameters by a scaling rate to derive a scale value, determine a plurality of parameters related to a CU, obtain a plurality of bit - shifts by bit - shifting the plurality of parameters, and based on the quantization level, the scale value, and the plurality of bit - shifts, A non - transient computer - readable storage medium storing a plurality of programs to be executed by a computing device having one or more processors, wherein when the plurality of programs are executed by the one or more processors, the one or more processors are caused to receive a video bitstream including quantization parameters and a quantization level, scale the quantization parameters by a scaling rate to derive a scale value, determine a plurality of parameters related to a CU, obtain a plurality of bit - shifts by bit - shifting the plurality of parameters, and based on the quantization level, the scale value, and the plurality of bit - shifts, A non - transient computer - readable storage medium storing a plurality of programs to be executed by a computing device having one or more processors, wherein when the plurality of programs are executed by the one or more processors, the one or more processors are caused to receive a video bitstream including quantization parameters and a quantization level, scale the quantization parameters by a scaling rate to derive a scale value, determine a plurality of parameters related to a CU, obtain a plurality of bit - shifts by bit - shifting the plurality of parameters, and based on the quantization level, the scale value, and the plurality of bit - shifts, A non - transient computer - readable storage medium storing a plurality of programs to be executed by a computing device having one or more processors, wherein when the plurality of programs are executed by the one or more processors, the one or more processors are caused to receive a video bitstream including quantization parameters and a quantization level, scale the quantization parameters by a scaling rate to derive a scale value, determine a plurality of parameters related to a CU, obtain a plurality of bit - shifts by bit - shifting the plurality of parameters, and based on the quantization level, the scale value, and the plurality of bit - shifts, A non - transient computer - readable storage medium storing a plurality of programs to be executed by a computing device having one or more processors, wherein when the plurality of programs are executed by the one or more processors, the one or more processors are caused to receive a video bitstream including quantization parameters and a quantization level, scale the quantization parameters by a scaling rate to derive a scale value, determine a plurality of parameters related to a CU, obtain a plurality of bit - shifts by bit - shifting the plurality of parameters, and based on the quantization level, the scale value, and the plurality of bit - shifts, A non - transient computer - readable storage medium storing a plurality of programs to be executed by a computing device having one or more processors, wherein when the plurality of programs are executed by the one or more processors, the one or more processors are caused to receive a video bitstream including quantization parameters and a quantization level, scale the quantization parameters by a scaling rate to derive a scale value, determine a plurality of parameters related to a CU, obtain a plurality of bit - shifts by bit - shifting the plurality of parameters, and based on the quantization level, the scale value, and the plurality of bit - shifts, A non - transient computer - readable storage medium storing a plurality of programs to be executed by a computing device having one or more processors, wherein when the plurality of programs are executed by the one or more processors, the one or more processors are caused to receive a video bitstream including quantization parameters and a quantization level, scale the quantization parameters by a scaling rate to derive a scale value, determine a plurality of parameters related to a CU, obtain a plurality of bit - shifts by bit - shifting the plurality of parameters, and based on the quantization level, the scale value, and the plurality of bit - shifts, A non-temporary computer performs operations such as obtaining multiple coefficients related to CU. To provide a data-readable storage medium. [Brief explanation of the drawing]

[0011] A more specific description of the examples in this disclosure is given by reference to the specific examples shown in the accompanying drawings. These drawings are merely examples and therefore should not be considered limitations on the scope. If so, these examples can be further illustrated by using the attached drawings, which will explain additional specificities and details. It will be done.

[0012] [Figure 1] Figure 1 is a block diagram showing an exemplary video encoder according to one embodiment of the present disclosure. [Figure 2] Figure 2 is a block diagram showing an exemplary video decoder according to one embodiment of the present disclosure. [Figure 3] Figure 3 shows an image divided into coding tree units (CTUs) according to one embodiment of the present disclosure. [Figure 4] Figure 4 is a schematic diagram showing a multi-type tree partitioning mode according to one embodiment of the present disclosure. [Figure 5] Figure 5 shows a signaling notification mechanism for partition information in a quadtree having a nested multi-type tree coding tree structure, according to one embodiment of the present disclosure. [Figure 6] Figure 6 shows a CTU divided into multiple CUs in a quadtree having a nested multitype tree coding block structure, according to one embodiment of the present disclosure. [Figure 7] Figure 7 shows an example of a block encoded and decoded with a palette mod according to one embodiment of the present disclosure. [Figure 8] Figures 8A and 8B show horizontal and vertical traverse scanning according to one embodiment of the present disclosure. [Figure 9] Figure 9 shows the encoding of a palette index according to one embodiment of the present disclosure. [Figure 10] Figure 10 is a block diagram showing an exemplary apparatus for video coding and decoding according to one embodiment of the present disclosure. [Figure 11] Figure 11 is a flowchart illustrating an exemplary process of quantification design in video encoding and decoding according to one embodiment of the present disclosure. [Figure 12] Figure 12 is a flowchart illustrating an exemplary process of inverse quantification design in video encoding and decoding according to one embodiment of the present disclosure. [Modes for carrying out the invention]

[0013] The following examples refer in detail to specific embodiments shown in the attached drawings. In the detailed explanation, in order to easily understand the main point stated here, several non-limiting specific examples are used. Further details will be provided. However, it will be clear to those skilled in the art that various modifications can be realized. It is clear. For example, the purpose described here is that many types of electronic video have digital video capabilities. What can be achieved with the equipment is obvious to the vendors.

[0014] In this specification, "one embodiment," "embodiment," "example," "certain embodiment," References to "an example" or similar expressions imply that the specific features, structure, or characteristics described are at least This means that it is included in one embodiment or example. Combined with one or more embodiments. The features, structures, elements, or characteristics described herein are not applicable to other embodiments unless explicitly indicated otherwise. It can also be applied to this.

[0015] Throughout this disclosure, terms such as “First,” “Second,” and “Third” all refer to the relevant elements. For example, it is used only for reference to devices, parts, configurations, steps, etc. Unless otherwise explicitly indicated, the pulse does not signify any arbitrary spatial or temporal order. For example, “the first device” and “the second device” are two separately formed devices. or refers to two parts, components, or operating states in the same device, either It can be given a name.

[0016] "Module," "submodule," "circuit," "subcircuit," "circuit system," The terms “subcircuit system,” “unit,” or “subunit” refer to one or Memory that stores code or instructions that can be executed by multiple processors (shared, dedicated, A module contains code or instructions, or a group of instructions. It may contain one or more circuits that are not included. The module or circuit is directly It may include one or more indirectly connected parts. The items are not physically connected to each other, nor are they located next to each other or not. This is possible.

[0017] As used here, "(If)..." or "(If)...", "(If)... The term "to" is understood to mean "when..." or "depending on..." depending on the context. It is possible that these terms, when appearing in the claims, may be used in relation to the relevant limitations. This does not necessarily mean that the features are conditional or selective. For example, One method is a step in which, i) if condition X exists, a function or action X' is performed, ii) A step in which, if condition Y exists, a function or operation Y' is performed. The law is both the ability to perform function or action X' and the ability to perform function or action Y'. This needs to be implemented, including the following: Therefore, both functions X' and Y' must be implemented at different times. This can be achieved by executing the method multiple times.

[0018] The unit or module may be implemented entirely by software, and This may be implemented by hardware, or by a combination of hardware and software. This may be achieved by combining. In the implementation of complete software, for example, units Alternatively, modules may be linked to each other directly or indirectly in order to perform specific functions. It may include functionally related code blocks or software components. be.

[0019] Figure 1 is a block diagram showing an exemplary video encoder according to one embodiment of the present disclosure. The encoder 100 divides the video frame into multiple video blocks for processing. The prediction is drawn. For each specific video block, the prediction is drawn using an interpredictive approach or an interpredictive approach. It is formed based on the prediction approach. In interpretation, the previously reconstructed frame Based on the pixels from the image, one or more predictors are formed through motion estimation and motion compensation. In intra-prediction, the predictor is shaped based on the reconstructed pixels in the current frame. Mode determination selects the optimal predictor for predicting the current block. It is possible.

[0020] The conversion circuit 102 receives the predicted residual, which represents the difference between the current video block and its predictor. And in the quantification circuit 104, the conversion coefficient is used to reduce entropy. It is sent from path 102. Next, the quantified coefficient is sent to the entropy coding circuit 106. It is fed and generates a compressed video bitstream. As shown in Figure 1, the inter-prepared Video block section information from the measurement circuit and / or intra prediction circuit 112, motion vector Prediction-related information 110, such as the reference image index and intra-prediction mode, The compressed video bitstream 1 is supplied via the entropy coding circuit 106. It will be saved in 14.

[0021] In the encoder 100, for the purpose of prediction, a decoder relationship is used to reconstruct the pixels. A linked circuit is also necessary. Initially, in the inverse quantification 116 and inverse conversion circuit 118, the predicted residual This is reconstructed. This reconstructed prediction residual is combined with the block predictor 120. This generates unfiltered reconstructed pixels for the current video block.

[0022] To further improve encoding efficiency and display quality, an in-loop filter is used. For example, current versions of AVC, HEVC, and VVC use unblocked fills. A is provided. HEVC uses SAO (S) to further improve encoding efficiency. An additional in-loop filter called a simple adaptive offset is defined. In the current version of the VC standard, there is yet another ALF (Adaptive Loop Filter) called In-loop filters are being actively researched and may be included in the final standard. expensive.

[0023] Figure 2 shows an exemplary block that can be used in combination with many video encoding and decoding standards. This is a block diagram of the video decoder 200 based on Figure 1. This is similar to the reconstruction-related part in the decoder 100. In the decoder 200, the input video The Obitstream 201 is first decoded by the entropy decoding 202, and then Quantified coefficient levels and prediction-related information are derived. Next, quantified coefficient levels These are processed by inverse quantification 204 and inverse transformation 206 to obtain reconstructed predicted residuals. The block predictor mechanism implemented in the intra / intermode selection unit 212 is... Canism uses intra-prediction 208 or motion compensation 21 based on decoded prediction information. It is configured to perform 0. The reconstructed predicted residuals from the inverse transform 206 and the block The prediction output generated by the predictor mechanism is added by the adder 214. This obtains an unfiltered set of reconstructed pixels. When filter 209 is turned on, the filtering operation is applied to the pixels of these reconstructions. The process is executed to derive the final reconstructed video output 222.

[0024] The above-mentioned video codes such as VVC, JEM, HEVC, MPEG-4, and Part 10 The encoding / decoding standards are conceptually similar. For example, they are all based on blocks. Use the following processing method. Joint Video Experts Team (JVET) At the JVET meeting, the first draft of the Multipurpose Video Coding (VVC) and V The VVC Test Model 1 (VTM1) encoding method was defined. It includes binary and ternary encoding. A quadtree with nested multitype trees using a value partition coding block structure is the first VVC. It was decided that it would be included as a new coding feature. In a quadtree, the parent node has four It can be divided into child nodes, and each child node is divided into four new child nodes by another parent node. It is possible.

[0025] In VVC, the image partition structure allows the input video to be encoded into coding tree units (CTUs). It is divided into blocks called tree units. CTU is a nested multi-type tree structure. The quadtree divides the tree into coding units (CUs), where the leaf CUs make the same prediction. This defines areas that share modes (e.g., intra or inter). The term "unit" defines an area of ​​the image that covers all components. The term "lock" is used to define an area that covers a specific component (e.g., luminance). When considering saturation sampling formats such as 4:2:0, spatial It may differ depending on the location. Image partitioning to CTU

[0026] The image is divided into a series of coding tree units (CTUs). The concept of CTUs is used in HEVC. This is the same as the concept of CTU. In the case of an image with three sample sequences, the CTU is N× It consists of N luminance sample blocks and two corresponding saturation sample blocks. Figure 3 shows: An image divided into CTUs according to one embodiment of this disclosure is shown. Brightness blocks in the CTU The maximum allowed size for the block is specified as 128x128. The dimensions are 64 x 64. Partitioning of CTU using a timber structure

[0027] In HEVC, the CTU is represented as a coding tree to adapt to various local characteristics. The data is divided into CUs by a quadtree structure. At the leaf CU level, inter-image (temporal) prediction is performed. It is decided to encode the image region using either in-image (spatial) prediction or each leaf. Depending on the prediction unit (PU) splitting type, the CU can have one, two, or four additional P It can be divided into Us. Within one PU, the same prediction process is applied, and related information is available. The data is sent to the decoder in units of PU (Processing Unit). Predictive processing is applied based on the PU partitioning type. After obtaining the residual block, the leaf CU is another four similar to the coding tree for this CU. It can be partitioned into transformation units (TUs) according to the branching tree structure. One of its distinguishing features is the existence of multiple partition concepts, including CU, PU, ​​and TU.

[0028] In VVC, nested multi-type trees are created using binary and ternary partitioning segmentation structures. A quadtree with replaces the concept of multiple partition unit types. For example, this is the largest Except in cases where the conversion length is too large for a CU, the distinction between the concepts of CU, PU, ​​and TU is removed. This removes elements and supports greater flexibility in the CU partition shape. In a coding tree structure, CUs are square. Alternatively, it can take the shape of a rectangle. CTU is initially partitioned by a quadtree structure. Next, the leaf nodes of this quadtree are further partitioned by a multitype tree structure. It is possible.

[0029] Figure 4 is a schematic diagram showing a multi-type tree partitioning mode according to one embodiment of the present disclosure. As shown in Figure 4, in a multi-type tree structure, vertical binary partitioning (SPLIT_BT_VER) and horizontal binary partitioning are used. Value splitting (SPLIT_BT_HOR), vertical ternary splitting (SPLIT_TT_VER), and horizontal ternary splitting (SPLIT_ There are four partition types of TT_HOR. The leaf nodes of a multitype tree are coding units. This is called (CU), and as long as the maximum conversion length is not too large, this segmentation will It is used for prediction and transformation processing without further partitioning. Therefore, nested multi-type trees In a quadtree with an encoded block structure, CU, PU, ​​and TU have the same block size. It is possible to have it. An exception is when the maximum supported conversion length is the width of the color components of the CU. Or it may be smaller than the height.

[0030] Figure 5 shows a quarticle having a nested multitype tree coding tree structure according to one embodiment of the present disclosure. This illustrates the signal-based notification mechanism for partition information in a tree. The CTU is the root of a quad tree. It is treated as such and is first divided by a quadtree structure. Next, each leaf node of the quadtree is , as long as it is large enough to be permitted, it is further divided by a multi-type tree structure. In a multi-type tree structure, the first flag indicates whether a node has been further subdivided. The flag (mtt_split_cu_flag) is notified. If the node has been further split, a second flag is issued. The flag (mtt_split_cu_vertical_flag) is notified to indicate the split direction, and then the third flag ( The `mtt_split_cu_binary_flag` is notified to indicate whether the partition is a binary or ternary partition. Based on the values ​​of _split_cu_vertical_flag and mtt_split_cu_binary_flag, the CU multi The type tree splitting mode (MttSplitMode) is derived as shown in Table 1. [Table 1]

[0031] Figure 6 shows a nested multi-type tree coding block structure according to one embodiment of the present disclosure. This shows a CTU divided into multiple CUs in a quadtree. As shown in Figure 6, thick block edges The edges represent quadtree partitions, and the remaining edges represent multitype tree partitions. Nested multitype A quadtree with tree partitions provides a content-adaptive coding tree structure consisting of CUs. The size is either as large as the CTU, or as small as 4x4 in terms of luminance samples. In the case of the 4:2:0 saturation format, the maximum saturation coding block (CB) size is The resolution is 64x64, and the minimum saturation CB size is 2x2.

[0032] In VVC, the maximum supported brightness conversion size is 64x64, and the supported The maximum saturation conversion size is 32x32. The width or height of the CB is the maximum conversion width or maximum change. If it is greater than the conversion height, the CB will convert in the horizontal and / or vertical directions. It will be automatically split to fit the size limit.

[0033] The following parameters are for a quadtree with a nested multitype tree coding scheme. Defined by the Sequence Parameter Set (SPS) syntax element. and specified.

[0034] CTU size: This is the size of the root node in a quadtree;

[0035] MinQTSize: This is the minimum allowed quadtree leaf node size;

[0036] MaxBtSize: This is the maximum allowed binary tree root node size;

[0037] MaxTtSize: This is the maximum allowed ternary tree root node size;

[0038] MaxMttDepth: The maximum allowed hierarchy depth from a quadtree leaf in a multi-type tree partition.

[0039] MinBTSize: This is the minimum allowed binary tree leaf node size;

[0040] MinTtSize: This is the minimum allowed ternary tree leaf node size.

[0041] In an example of a quadtree with a nested multitype tree coding tree structure, the CTU size is two pairs Corresponding 128x128 luminance samples with 64x64 blocks of 4:2:0 saturation samples. It is set to: MinQTSize is 16x16, MaxBtSize is 128x128, MaxTtSize is It is set to 64x64. Both the width and height of MinBtSize and MinTtSize are 4x4. xMttDepth is set to 4. The quadtree partition is first applied to the CTU, and the quadtree is then regenerated. A fnode is generated. A quadtree leaf node is created from 16x16 (i.e., MinQTSize) It is possible to have sizes up to 28 x 128 (i.e., CTU size). (Leaf QT No.) If the code is 128x128, then this size is MaxBtSize and MaxTtSize (i.e., 64x Since it exceeds 64, the leaf QT node in question will be further divided by a binary tree. No. Otherwise, the leaf QT node is further partitioned by a multitype tree. Therefore, the quadtree leaf node is the root node of the multitype tree. This also has a multitype tree depth of 0, i.e., MttDepth. When the depth reaches MaxMttDepth (i.e., 4), further subdivision is not considered. If an ipu tree node is equal to MinBtSize and has a width of 2 × MinTtSize or less, then further horizontal division The division is not considered. Similarly, if the multi-type tree node is equal to MinBtSize and 2 × Min If the height is less than or equal to TtSize, further vertical subdivision is not considered.

[0042] Figure 7 shows a block encoded and decoded with a palette mod according to one embodiment of the present disclosure. An example is shown. In a hardware-based VVC decoder, 64x64 luminance blocks and 32 To enable the ×32 saturation pipeline design, as shown in Figure 7, luminance coding blocks If the width or height of the block is greater than 64, TT splitting is prohibited. Saturation coding block TT splitting is prohibited if the width or height is greater than 32.

[0043] In VVC, the coding tree scheme allows luminance and saturation to have separate block tree structures. It supports the force. This CU partition structure is called a double tree structure or double coding tree structure. A CU partition structure shared by both degree and saturation is called a single-tree structure or single-coding tree structure. It will be discovered. In the case of P-slice and B-slice, the luminance and saturation coding tree within one CTU Locks (CTBs) must share the same coding tree structure. However, in the case of I-slice... Color, brightness, and saturation can each have their own separate block tree structure. Individual block tree modes When applied, the luminance CTB is divided into CUs by a single coding tree structure, and the saturation The CTB is split into chrominance CUs by another encoding structure. This is C in the I slice. U consists of either a coding block for one luminance component or a coding block for two saturation components. , CU in P or B slices always has three colors unless the video is monochrome. It consists of encoding blocks for all components. Core conversion multi-conversion selection (MTS)

[0044] In addition to DCT-II used in HEVC, the MTS scheme is intercoded. This is used for residual coding of both the original block and the intra-encoded block. It uses multiple transformations selected from DCT8 / DST7. Newly introduced transformation lines The columns are DST-VII and DCT-VIII. Table 2 shows the selected DST / DCT. The basic functions of are shown. [Table 2]

[0045] To maintain the orthogonality of the transformation matrix, the transformation matrix is ​​more precise than the transformation matrix in HEVC. It is quantified. In order to keep the midpoint of the converted coefficients within a 16-bit range, horizontal conversion is performed. After conversion and vertical transformation, all coefficients will have 10 bits.

[0046] To control the MTS scheme, separate enable flags are provided for intranet and internet. These are specified at the SPS level. When MTS is enabled in SPS, MTS is applied. A CU level flag indicating whether or not is used is notified by the signal. Here, MTS is only used for brightness. Applies. The MTS CU level flag is indicated when the following conditions are met: First, both the width and height are 32 or less, and second, the CBF flag is equal to 1.

[0047] If the MTS CU flag is equal to 0, DCT2 is applied in both directions. However, MT If the S CU flag is equal to 1, it indicates the horizontal and vertical conversion types, respectively. Two additional flags are notified. The notification mapping table by conversion and signal is shown in Table 3. As shown, the integrated conversion selection for ISPs and implicit MTS is intramo Used to remove dependencies between blocks and block shapes. The current block is IS In P mode, or if the current block is an intra block, intra and inter - When explicit MTS is enabled, only DST7 is used for both the horizontal and vertical conversion cores. It is used. Regarding the precision of the transformation matrix, an 8-bit primary transformation core is used. Therefore For use with HEVC, 4-point DCT2 and DST7, 8-point, 16-point and 32-point D All conversion cores, including CT2, remain the same. Also, 64-point DCT2, 4-point DCT8 Other conversion cores, including 8-point, 16-point, and 32-point DST7 and DCT8, perform 8-bit primary conversions. Use a replacement core. [Table 3]

[0048] To reduce the complexity of the large-sized DST7 and DCT8, the high-frequency conversion coefficients are DST7 and DCT with dimensions (width or height, or both width and height) equal to 32 Eight blocks are set to zero. Only the coefficients within the 16x16 low-frequency region remain.

[0049] The block residuals are encoded in conversion skip mode, as in the case of HEVC. This is possible. To avoid syntactic coding redundancy, the CU level MTS_CU_flag is equal to zero. If not, the conversion skip flag is notified by a signal. Blocking for conversion skip The limitations on IZ are the same as those for MTS in JEM4, and the block width and This demonstrates that conversion skipping can be applied to CU when both heights are 32 or less. If LFNST or MIP is activated for the CU, implicit M The TS conversion is set to DCT2. Also, MTS is applied to the intercoded blocks. Even if it is already enabled, you can enable implicit MTS. Quantitative parameter control

[0050] In one example, the maximum QP was extended from 51 to 63, and the initial quantification parameters were adjusted accordingly. Notifications via the QP signal may be modified. Non-zero values ​​of slice_qp_delta are signs. When it is converted, the initial value of SliceQpY is changed in the slice segment layer. Specifically This involves changing the value of init_qp_minus26 to a range of (-26 + QpBdOffsetY) to +37. If the size of the conversion block is not a power of 4, implicit scaling by the conversion process will occur. To correct for the error, multiply the conversion coefficient by 181 / 256 (or 181 / 128). Instead, it is processed along with changes to the QP or QP levelScale table. In the case of Kipblock, if QP is equal to 4, the quantification step size becomes 1. The minimum allowed QP is defined as 4.

[0051] In one example, a fixed lookup table is used to color the luminance quantification parameter QPY. Convert to a quantifiable parameter QPC. VVC offers more flexible luminance-saturation QP mapping. A flexible piecewise linear model is used, with the only constraint on the linear model being each piece. In SPS, where the slope is never negative, instead of using a fixed table, luminance-chroma is used. The degree QP mapping relationship is notified by the signal. In other words, as the luminance QP increases, the saturation QP must remain flat or increase, but cannot decrease. A linear model consists of: 1) the number of segments in the model; and 2) the input (luminance) and output for each segment. The (saturation) delta QP is defined. The input range for this piecewise linear model is [-QpBdOffset The output range of this piecewise linear model is [-QpBdOffsetC, 63]. The coding relationship is indicated by separate signals for Cb, Cr, and joint Cb / Cr coding. It is also possible to signal all three types of residual coding together. Cut.

[0052] As with HEVC, CU level QP adaptation is permitted in VVC. Luminance components and The delta QP values ​​of the saturation component can be notified separately by signals. In the case of the saturation component, The permitted saturation QP offset values ​​are determined in the same way as HEVC, using image parameter settings. It will be notified in the form of an offset list in PPS. The list will be Cb, Cr, and The following are defined separately for joint Cb / Cr coding. Cb, Cr, and joint For each of the joint Cb / Cr lists, a maximum of six offset values ​​are allowed. At the CU level, any offset value in the offset list adjusts the saturation QP of that CU. An index indicating how it will be used is communicated via a signal. Quantification and inverse quantification of conversion coefficients

[0053] In the transformation process, the coefficients obtained as a result during quantification and inverse quantification processes are determined by a specific factor. Since it has been scaled, a shift operation is necessary. The scaling rate is defined as follows: ru.

number

[0054] In one example, the dimension of the block is a power of 2, and M=2 m and N=2 n This is the case. This is the scaling rate when M is equal to N, or when M·N is actually a power of 4. This means that it can be applied by a right shift. Blocks that satisfy this condition are: This is called a "normal block." If M·N is not a power of 4, different scales and shift values ​​apply. This is used for compensation. The scale value is defined as shown in Table 4. These conditions must be met. These blocks are called "compensation blocks." [Table 4]

[0055] For blocks encoded in conversion skip mode, the definitions for normal blocks are as follows: The scale and shift operations are then performed.

[0056] The derivation of the scaled transformation coefficients is shown in Table 5. Definitions of all variables in Table 5. This is described in version 6 of the VVC draft specification. [Table 5]

[0057] If QP values ​​are used, the quantification and inverse quantification of the conversion coefficients can be described as follows: Yes, it can be quantified using equation (2).

number

[0058] Inverse quantification can be expressed by equation (3).

number

number

[0059] The variable rectNonTsFlag indicates whether the current block is a "normal block" or a "compensated block". This indicates whether it is classified as such. If this has a value of false or 0, the current block Locks are usually classified as blocks. This is true if it has a value of 1. The current blocks are classified as compensation blocks.

[0060] The variable transformShift is,

number

[0061] In transformation skip mode, the predicted residuals are directly quantified and coded without performing the transformation operation. More specifically, the quantification and non-quantification processes are described as follows: It is possible.

[0062] The quantification can be expressed by equation (6).

number

number

[0063] VTM6 is a palette mode for screen content encoding in 4:4:4 color format. It supports [something]. Palette mode is enabled and the CU size is 64x64. If the following conditions are met, the flag indicating whether palette mode is used for this CU is CU-R It is transmitted via bell. Palette modes include intra-prediction, inter-prediction, and intra- It is notified by a signal as a prediction mode other than Lock Copy (IBC) mode.

[0064] When palette mode is used for CU, the sample values ​​in CU are representative color values It can be represented by a small set. This set is called a "palette". For pixels with similar values, the palette index transmits those values ​​to the decoder. This may be indicated by a signal. The blur symbol index is followed by the blur value. By notifying with a signal, it is possible to specify a sample whose value is not close to any palette color. This is also possible. This blur value is the quantified component value of the sample. This is shown in Figure 7. It is shown.

[0065] For the quantification and non-quantification of the blur value, the following formulas apply to the encoder and the Deco, respectively. This indicates the corresponding process applied by the orderer.

[0066] The quantification can be expressed by equation (8).

number

[0067] Non-quantification can be expressed by equation (9).

number

[0068] In palette encoding, a palette predictor containing a list of colors is maintained. , at the beginning of each slice in the case of non-wavefronts, and at the beginning of each CTU row in the case of wavefronts, 0 (i.e., empty) Initialized to the list of . For each entry in the palette predictor, the reuse flag is notified. This indicates whether this CU is part of the current palette. This reuse flag indicates It is transmitted with zero run length coding. After this, the number of new palette entries and new The component values ​​of the palette entries are notified by a signal. After encoding the CU in palette mode, The pallet predictor is updated with the current pallet and is not reused with the current pallet. The maximum number of palettes allowed for entries from a predictor to form a new palette predictor. It is added last until the size is reached. A blur symbol exists in the current CU. To indicate whether or not, one smudge flag is notified for each CU. If a file exists, the palette table is expanded to one, and the last index is blurred. It is assigned to represent Nvol.

[0069] Figures 8A and 8B show horizontal and vertical traverse scanning according to one embodiment of the present disclosure. The palette index of the samples within the CU forms a palette index map. The index map is shown horizontally and / or vertically, as shown in Figures 8A and 8B. Encoded by direct traverse scanning. The scanning order is determined by palette_transpose_flag. The stream is explicitly notified by a signal.

[0070] Figure 9 shows the encoding of a palette index according to one embodiment of the present disclosure. The index uses two main palette sample modes: INDEX and COPY_ABOVE. Encoded. In this mode, only horizontal scanning is used for the first row, and only vertical scanning is used. Except for the first column, or the palette sample position where the previous mode was COPY_ABOVE. , notified by a signal via a single flag. In COPY_ABOVE mode, the sun in the upper row The palette index of the pull is copied. In INDEX mode, the palette index This is explicitly notified by a signal. The same correspondence applies in both INDEX mode and COPY_ABOVE mode. A run value, which specifies the number of pixels to be encoded depending on the mode, is notified by a signal.

[0071] The encoding order of the index map is as follows: First, associated with the INDEX run The number of index values ​​is notified by a signal. Following this, the actual index of the entire CU The signal is notified by binary encoding with the ks value truncated. Next, palette mode (IN The DEX (or COPY_ABOVE) and the run length of each run are notified by an interleaved signal. Finally, the quantified blur mode color of the entire CU is grouped and then exponentially coded. It is encoded as follows.

[0072] For slices with a dual luminance / chrominance tree, the palette consists of luminance (Y component) and chrominance (Cb and Applied individually to the Cr component. For a single tree slice, the palette is Y, Cb, Cr The components are applied together, meaning each entry in this palette has Y, Cb, and Cr values. This includes. In the case of non-blocking, the block boundaries of the blocks encoded in the palette are non It will not be blocked.

[0073] Three different quantification scheme designs are available: normal conversion, conversion skip, and This applies to the respective palette modes. Each different quantitative design has a different shift. Associated with Shift and Scale operations. For blocks to which normal transformations are applied, Shift The scaling and shaping operations depend on the block shape. Transformation skipping applies to blocks. The merge, shift, and scale operations are independent of the block shape. Encoded in palette mode. In the case of a block, only a scale operation is performed, and this operation does not depend on the block shape. Such non-uniform designs may not be optimal from a standardization standpoint.

[0074] In one example, a method is provided to simplify and further improve transformation and quantification. Applying the quantification and inverse quantification operations used in skip mode to palette mode. In this mode, quantification and inverse quantification operations are used in the conversion skip mode and palette mode. It is possible to integrate them.

[0075] In one example, the current quantification and inverse quantification operations in palette mode are skipped. By applying this to the conversion skip mode and palette mode, the quantification used in the conversion skip mode and palette mode It is possible to integrate the inverse quantification operation.

[0076] In one example, the quantification and inverse quantification operations for the normal conversion mode are skipped. By applying this to all modes, including the dot and palette modes, the normal conversion mode, conversion This integrates all quantification and inverse quantification operations in skip mode and palette mode. This is possible. Coordination of quantification and inverse quantification for conversion skip mode and palette mode.

[0077] JPEG2026086808000017.jpg31163

[0078] JPEG2026086808000018.jpg39164

[0079] JPEG2026086808000019.jpg45164

[0080] JPEG2026086808000020.jpg29164

[0081] JPEG2026086808000021.jpg32164

[0082] JPEG2026086808000022.jpg34161 Quantification and inverse quantification for normal conversion mode, conversion skip mode, and palette mode. Cooperation

[0083] In one example, the quantification and inverse quantification operations for the normal conversion mode are skipped. By applying this to all modes, including the dot and palette modes, the normal conversion mode, conversion This integrates all quantification and inverse quantification operations in skip mode and palette mode. This is possible.

[0084] In one example, the quantification and inverse quantification processes for the normal conversion mode are performed in the conversion skip mode. It is also used in code and palette modes. For example, formulas (2), (3), (4), and (5) is also used for quantification / inverse quantification processing in conversion skip mode and palette mode. It will be done.

[0085] JPEG2026086808000023.jpg33165

[0086] JPEG2026086808000024.jpg59164

[0087] JPEG2026086808000025.jpg60165

[0088] JPEG2026086808000026.jpg34164

[0089] JPEG2026086808000027.jpg54164

[0090] JPEG2026086808000028.jpg18164

[0091] In one example, the above method was used to integrate the quantification and inverse quantification processes of different sample values. If so, a specific image region, for example, CU, is encoded in lossless encoding mode. To indicate this, separate flags, such as trans_quant_bypass_flag, are used in the bitstory. It is possible to notify the system with a signal. Such a flag indicates that a particular block is lossless. If it indicates that it is encoded in S-mode, the corresponding quantification and inverse quantification processes are performed. It bypasses the encoding of the block.

[0092] Figure 10 shows a device for video encoding and decoding according to one embodiment of the present disclosure. This is a diagram. Device 1100 is a mobile phone, tablet computer, and digital broadcasting terminal. It may also be a tablet device or a mobile information terminal.

[0093] As shown in Figure 10, the device 1100 consists of a processing unit 1002, a memory 1004, and a power supply unit. 1006, Multimedia section 1008, Audio section 1010, Input / Output (I / O) One or more of the interface 1012, sensor unit 1014, and communication unit 1016 It may be included.

[0094] The processing unit 1002 normally performs display, telephone call initiation, data communication, camera operation, and recording operation. The processing unit 1002 controls the overall operation of the device 1000, including operations related to the operation. One or It is possible to include multiple processors 1020. Furthermore, the processing unit 1002 is a processing unit. Includes one or more modules that contribute to the interaction between 1002 and other components. This is possible. For example, the processing unit 1002 is connected to the multimedia unit 1008 and the processing unit 1002 It may include a multimedia module to contribute to the interaction between them.

[0095] Memory 1004 stores different types of data to support the operation of device 1100. It is configured to store. Examples of such data include arbitrary data operating on device 1100. Instructions for the application or method, contact data, phonebook data, messages This includes images, videos, etc. Memory 1004 is of any type, volatile or non-volatile Realized by a storage device or a combination thereof, memory 1004 is static Dumb Access Memory (SRAM: Static Random Access Memory), electrically erasable Programmable Read-Only Memory (EEPROM) Erasable Read-Only Memory, Erasable Programmable Read-Only Memory (EPROM: Era Programmable Read-Only Memory (PRO M: Programmable Read-Only Memory, ROM: Read-Only Memory y) magnetic memory, flash memory, magnetic disk, or compact disk That's fine.

[0096] The power supply unit 1006 supplies power to each component of the device 1000. A management system, one or more power supplies, and a power supply for the device 1000, It may also include other components related to distribution.

[0097] The multimedia unit 1008 provides an output interface between the device 1000 and the user. This includes the screen provided. In one example, the screen may be a liquid crystal display (LCD). It may also include a Crystal Display and a touch panel (TP: Touch Panel). If the lean includes a touch panel, the screen receives input signals from the user. It may be implemented as a touchscreen. This touch panel is a touchscreen. Includes one or more touch sensors for sensing slides and gestures. But that's fine. Touch sensors not only sense the boundary of touch or slide actions, The duration and pressure associated with touch or slide operations can also be detected. In this example, the multimedia unit 1008 includes a front camera and / or a rear camera. But that's fine. When the device 1000 is in an operating mode such as imaging mode or video mode, The front camera and / or rear camera receive external multimedia data. It is possible.

[0098] The audio unit 1010 is configured to output and / or input audio signals. For example, the audio section 1010 includes a microphone (MIC). The device 1000 operates in various modes such as call mode, recording mode, and voice recognition mode. When in the D state, it is configured to receive external audio signals. The signal may be further stored in memory 1004 or transmitted via communication unit 1016. It may also be used. In one example, the audio section 1010 is used to output an audio signal. It also includes peaks.

[0099] The I / O interface 1012 connects the processing unit 1002 and the peripheral interface module. It provides an interface with the . The peripheral interface module described above is These could be keyboards, click wheels, buttons, etc. These buttons may have a ho This includes, but is not limited to, the power button, volume buttons, start button, and lock button. It is not determined.

[0100] The sensor unit 1014 provides one or more conditions evaluation for different aspects of the device 1000. It includes multiple sensors. For example, the sensor unit 1014 detects the on / off state of the device 1000. The relative positions of the components can be detected. For example, these components are in device 1 The display and keypad of 000. The sensor unit 1014 is also the device 1000 Alternatively, changes in the position of the components of the device 1000, or whether or not the user makes contact with the device 1000. , to detect the orientation or acceleration / deceleration of the device 1000, and the temperature change of the device 1000. It can also do this. The sensor unit 1014 is designed to detect the presence of a nearby object without physical contact. The configuration may include a proximity sensor. The sensor unit 1014 is used in the imaging application. It may further include an optical sensor such as a CMOS or CCD image sensor. In this example, the sensor unit 1014 includes an accelerometer, a gyroscope, a magnetic sensor, It may further include a pressure sensor or a temperature sensor.

[0101] The communication unit 1016 is intended to facilitate wired or wireless communication between device 1000 and other devices. The device 1000 is configured to use communication such as WiFi, 4G, or a combination thereof. It can access the wireless network based on standards. For example, communication unit 101 6 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. To believe. For example, the communication unit 1016 provides short-range wireless communication (N) to facilitate short-range communication. The NFC module may further include an NFC module for radio frequency identification. RFID technology, Infrared Data Association (IrDA) technology, Ultra-Wideband (UWB) technology, This may be implemented based on Bluetooth (BT) technology and other technologies.

[0102] In one example, the apparatus 1000 uses an application-specific integrated circuit (AS) to perform the above method. ICs, digital signal processors (DSPs), digital signal processing units (DSPDs), professional Grammatical logic devices (PLDs), field-programmable gate arrays (FPGAs), Controllers, microcontrollers, microprocessors, or other electronic devices This may be achieved by one or more elements.

[0103] Non-temporary computer-readable storage media include, for example, hard disk drives (H DD), Solid State Drive (SSD), Flash Memory, Hybrid Drive and Solid High SSHD (Solid State Drive), Read-Only Memory (ROM), Compact Disc Read It may be an exclusive memory (CD-ROM), magnetic tape, floppy disk, etc. Yes.

[0104] FIG. 11 is a flowchart showing an exemplary process in quantization design in video encoding / decoding according to an embodiment of the present disclosure. This process can be applied in an encoder. Shown is an exemplary process. This process can be applied in an encoder.

[0105] In step 1101, the processor 1020 determines quantization parameters for the residual data of the CU. Determine the parameters.

[0106] In step 1102, the processor 1020 derives a scale value by scaling the quantization parameter by a scaling rate. Derive a scale value by scaling the quantization parameter by a scaling rate.

[0107] In step 1103, the processor 1020 determines a plurality of coefficients related to the CU. Determine.

[0108] In one example, these plurality of coefficients may include transform coefficients, CU bleeding color values, and prediction residual sample values. May include.

[0109] In step 1104, the processor 1020 determines a plurality of parameters related to the CU. Determine the parameters.

[0110] In one example, these plurality of parameters include the encoding bit depth and a bit shift determined based on the width and height of the CU, and the scaling rate is determined based on the width and height of the CU. Including a bit shift determined based on the width and height of the CU, and the scaling rate is determined based on the width and height of the CU. Is determined based on the width and height of the CU.

[0111] In step 1105, the processor 1020 obtains a plurality of bit shifts by bit-shifting these plurality of parameters. Obtain a plurality of bit shifts by bit-shifting these plurality of parameters.

[0112] In step 1106, the processor 1020 calculates the scale value and its multiple coefficients. , and obtain the quantification level based on those multiple bit shifts.

[0113] In one example, when processor 1020 determines several coefficients related to CU, Next, the bleed color value of the CU is determined. The bleed color value is a predetermined number of values ​​selected from this CU. It may also be the pixel value in a CU that has a color that is not a color. And processor 102 0 is based on the scale value, these multiple coefficients, and these multiple bit shifts. When obtaining the quantification level, furthermore, the scale value, the bleed color value, and multiple of these are obtained. The quantification level is obtained based on the bit shift.

[0114] In one example, processor 1020 further determines the predicted residual samples associated with CU. The processor 1020 determines several coefficients related to the CU, and further, predicts the remaining The predicted residual sample value corresponding to the difference sample is determined. Processor 1020 scales When obtaining a quantification level based on a value, multiple coefficients, and multiple bit shifts, Furthermore, quantification based on scale value, predicted residual sample value, and multiple bit shifts Obtain the bell.

[0115] Figure 12 shows an inverse quantification design in video encoding and decoding according to one embodiment of the present disclosure. This is a flowchart illustrating an exemplary process. This process can be applied in a decoder.

[0116] In step 1201, the processor 1020 processes the quantification parameter and the quantification level Receives a video bitstream containing the code.

[0117] In step 1202, the processor 1020 scales the quantization parameter to derive a scale value by scaling at a scaling rate.

[0118] In step 1203, the processor 1020 determines a plurality of parameters related to the CU.

[0119] In one example, these plurality of parameters include the coding bit depth, and a bit shift determined based on the width and height of the CU, and the scaling rate is determined based on the width and height of the CU.

[0120] In step 1204, the processor 1020 obtains a plurality of bit shifts by bit shifting these plurality of parameters.

[0121] In step 1205, the processor 1020 obtains a plurality of coefficients related to the CU based on the quantization level, the scale value, and these plurality of bit shifts.

[0122] In one example, these plurality of coefficients may include the reconstructed transform coefficients, the reconstructed chroma value of the CU, and the reconstructed prediction residual sample values.

[0123] In one example, when the processor 1020 obtains a plurality of coefficients related to the CU based on the quantization level, the scale value, and these plurality of bit shifts, the processor 1020 further determines the reconstructed chroma value of the CU based on the quantization level, the scale value, and these plurality of bit shifts. This reconstructed chroma value may be the value of pixels in a CU having a plurality of colors other than a predetermined plurality of colors selected from this CU.

[0124] In one example, processor 1020 further determines the predicted residual samples associated with CU. The processor 1020 is based on the quantification level, scale value, and multiple bit shifts. When obtaining multiple coefficients related to CU, the quantification level, scale value, and Based on these multiple bit shifts, the reconstructed predicted residual sample values ​​of this CU are taken. This is advantageous. These reconstructed predicted residual sample values ​​can correspond to the predicted residual samples. It is Noh.

[0125] In one example, a computing device for video encoding is provided. This device is a processor Sa 1020 and memory 1 configured to store instructions that can be executed by the processor This includes 004. Here, the processor executes instructions in the manner shown in Figure 11. It is configured to execute.

[0126] In one example, a computing device for video encoding is provided. This device is a processor Sa 1020 and memory 1 configured to store instructions that can be executed by the processor This includes 004. Here, the processor, when executing an instruction, in the manner shown in Figure 12. It is configured to execute.

[0127] In another example, a non-temporary computer-readable storage medium 10 stores instructions. 04 is provided. When these instructions are executed by processor 1020, this p The processor is instructed to perform the method shown in Figure 11.

[0128] In another example, a non-temporary computer-readable storage medium 10 stores instructions. 04 is provided. When these instructions are executed by processor 1020, this p The processor is instructed to perform the method shown in Figure 12.

[0129] The descriptions in this disclosure are provided for illustrative purposes only and are not exhaustive or limiting to this disclosure. It is not intended to be. Many modified, transformed, and substituted implementations are as described above. This will be obvious to those skilled in the art who have obtained the teachings presented in the description and related drawings.

[0130] The embodiments illustrate the principles of this disclosure and will enable those skilled in the art to understand the disclosure for various implementations and to form a basis The principles and various modifications are best utilized in various implementations to adapt them to specific applications where they are expected. These are selected and described in order to make them usable. Therefore, the information in this disclosure The scope is not limited to specific examples of the disclosed embodiments, and modifications and other implementations are also included in this disclosure. It should be understood that this falls within the scope of [the specified range].

Claims

1. The encoder quantifies the residual data of the encoding unit (CU). To make a decision, The encoder scales the quantification parameter by a scale factor. This allows us to derive the scale value, The encoder is used to determine a plurality of coefficients related to the CU, The encoder is used to determine a plurality of parameters related to the CU, By bit-shifting the plurality of parameters using the encoder, Obtaining a bit shift, The encoder determines the scale value, the plurality of coefficients, and the plurality of bits. Obtaining quantification levels based on shifts, A video encoding method that includes this.

2. The plurality of coefficients include conversion coefficients, and the plurality of parameters include the coding bit depth, and a bit shift determined based on the width and height of the CU, and the scale rate The method according to claim 1, wherein is determined based on the width and height of the CU.

3. Determining a plurality of coefficients related to the CU by the encoder means that the CU The C is the pixel value in the CU that has a color other than one of the predetermined multiple colors selected. This includes determining the color bleeding value of U, The encoder generates the scale value, the plurality of coefficients, and the plurality of bit sizes. To obtain a quantification level based on the speed, the encoder will use the scale value Based on the aforementioned bleeding color value and the plurality of bit shifts, the quantification level is obtained. Including, The method according to claim 1.

4. The encoder generates the scale value, the blur color value, and the multiple bit sizes. Obtaining the quantification level based on the above can be done by executing the following function. This includes obtaining the level of quantification, [Math 1] 【number】 The method according to claim 3.

5. The encoder generates the scale value, the blur color value, and the multiple bit sizes. Obtaining the quantification level based on the above can be done by executing the following function. This includes obtaining the level of quantification, [Math 2] 【number】 The method according to claim 3.

6. The encoder is used to determine the predicted residual sample associated with the CU. It also includes, Determining a plurality of coefficients related to the CU by the encoder is the same as the encoder This includes determining the predicted residual sample value corresponding to the predicted residual sample by the user. 、 The encoder generates the scale value, the plurality of coefficients, and the plurality of bit sizes. To obtain a quantification level based on the scale, the encoder uses the scale Based on the value, the predicted residual sample value, and the multiple bit shifts, the quantification level Including obtaining the The method according to claim 1.

7. The encoder determines the scale value, the predicted residual sample value, and the multiple Obtaining the quantification level based on the bit shift is done by executing the following function. This includes obtaining the aforementioned quantification level, [Math 3] 【number】 The method according to claim 6.

8. The encoder determines the scale value, the predicted residual sample value, and the multiple Obtaining the quantification level based on the bit shift is done by executing the following function. This includes obtaining the aforementioned quantification level, [Math 4] 【number】 The method according to claim 6.

9. The decoder converts the video bitstream, including quantification parameters and quantification levels. Receiving and The decoder scales the quantification parameter by a scaling factor. This allows us to derive the scale value, The decoder determines several parameters related to the coding unit (CU). That thing, By bit-shifting the plurality of parameters using the decoder, multiple bits are obtained. To obtain a Shift, The decoder determines the quantification level, the scale value, and the multiple bit shifts. Based on this, obtain a plurality of coefficients related to the CU, A video encoding method that includes this.

10. The plurality of coefficients include conversion coefficients, and the plurality of parameters include the encoding bit depth and This includes bit shifts determined based on the width and height of the CU, and the scaling rate The method according to claim 9, determined based on the width and height of the CU.

11. The decoder determines the quantification level, the scale value, and the multiple bit shifts. Obtaining a plurality of coefficients related to the CU based on the above is done by the decoder Reconstruction of the CU based on the quantification level, the scale value, and the multiple bit shifts. This includes obtaining the resulting bleed color value, The reconstructed bleed color value is a color other than one of a predetermined set of colors selected from the CU. The pixel value in the CU is The method according to claim 9.

12. The decoder determines the quantification level, the scale value, and the multiple bit shifts. Obtaining the reconfigured bleed color value of the CU based on the above is done by executing the following function. This includes obtaining the reconstructed bleed color value, [Math 5] 【number】 The method according to claim 11.

13. The decoder determines the quantification level, the scale value, and the multiple bit shifts. Obtaining the reconfigured bleed color value of the CU based on the above is done by executing the following function. This includes obtaining the reconstructed bleed color value, [Math 6] 【number】 The method according to claim 11.

14. The decoder further determines the predicted residual sample associated with the CU. Including, The decoder determines the quantification level, the scale value, and the multiple bit shifts. Obtaining a plurality of coefficients related to the CU based on the above is done by the decoder Based on the quantification level, the scale value, and the plurality of bit shifts, the CU This includes obtaining reconstructed predicted residual sample values, The reconstructed predicted residual sample values ​​correspond to the predicted residual samples. The method according to claim 10.

15. The decoder determines the quantification level, the scale value, and the multiple bit shifts. Obtaining the reconstructed predicted residual sample values ​​of the CU based on the following function This includes obtaining the reconstructed predicted residual sample values ​​by performing the execution, [Number 7] 【number】 The method according to claim 14.

16. The decoder determines the quantification level, the scale value, and the multiple bit shifts. Obtaining the reconstructed predicted residual sample values ​​of the CU based on the following function Including execution, [Number 8] 【number】 The method according to claim 14.

17. One or more processors, Non-temporary memory connected to one or more processors, Multiple programs stored in the aforementioned non-temporary memory, Includes, When the aforementioned plurality of programs are executed by one or more processors, The following one or more processors: Determine the quantification parameters for the residual data of the coding unit (CU), By scaling the aforementioned quantification parameter with a scale factor, the scale value can be derived. broth, Determine a number of coefficients related to the aforementioned CU, Determine several parameters related to the CU, By bit-shifting the aforementioned multiple parameters, multiple bit shifts are obtained, Based on the scale value, the plurality of coefficients, and the plurality of bit shifts, the quantification is performed. Obtain the bell. A computing device that performs operations such as those described above.

18. Determining a plurality of coefficients related to the CU by the encoder means that the CU The C is the pixel value in the CU that has a color other than one of the predetermined multiple colors selected. This includes determining the color bleeding value of U, The encoder generates the scale value, the plurality of coefficients, and the plurality of bit sizes. To obtain a quantification level based on the speed, the encoder will use the scale value Based on the aforementioned bleeding color value and the plurality of bit shifts, the quantification level is obtained. Including, The computing device according to claim 17.

19. The one or more processors mentioned above: The encoder is used to determine the predicted residual sample associated with the CU. , Perform an operation like this, Determining a plurality of coefficients related to the CU by the encoder is the same as the encoder This includes determining the predicted residual sample value corresponding to the predicted residual sample by the user. 、 The encoder generates the scale value, the plurality of coefficients, and the plurality of bit sizes. To obtain a quantification level based on the scale, the encoder uses the scale Based on the value, the predicted residual sample value, and the multiple bit shifts, the quantification level Including obtaining the The computing device according to claim 17.

20. One or more processors, Non-temporary memory connected to one or more processors, Multiple programs stored in the aforementioned non-temporary memory, Includes, When the aforementioned plurality of programs are executed by one or more processors, The following one or more processors: Receive a video bitstream including quantification parameters and quantification levels, By scaling the aforementioned quantification parameter with a scaling factor, the scale value is obtained. Derivation, Determine several parameters related to the coding unit (CU), By bit-shifting the aforementioned multiple parameters, multiple bit shifts are obtained, Based on the quantification level, the scale value, and the plurality of bit shifts, the CU Obtain multiple coefficients related to this, A computing device that performs operations such as those described above.

21. Multiple executions by a computing device having one or more processors A non-temporary computer-readable storage medium that stores the program, When the aforementioned plurality of programs are executed by one or more processors, The following one or more processors: Determine the quantification parameters for the residual data of the coding unit (CU), By scaling the aforementioned quantification parameter with a scale factor, the scale value can be derived. broth, Determine a number of coefficients related to the aforementioned CU, Determine several parameters related to the CU, By bit-shifting the aforementioned multiple parameters, multiple bit shifts are obtained, Based on the scale value, the plurality of coefficients, and the plurality of bit shifts, the quantification is performed. Obtain the bell. A non-temporary, computer-readable storage medium that allows operations such as those described above to be performed.

22. Multiple executions by a computing device having one or more processors A non-temporary computer-readable storage medium that stores the program, When the aforementioned plurality of programs are executed by one or more processors, The following one or more processors: Receive a video bitstream including quantification parameters and quantification levels, By scaling the aforementioned quantification parameter with a scaling factor, the scale value is obtained. Derivation, Determine several parameters related to the coding unit (CU), By bit-shifting the aforementioned multiple parameters, multiple bit shifts are obtained, Based on the quantification level, the scale value, and the plurality of bit shifts, the CU Obtain multiple coefficients related to this, A non-temporary, computer-readable storage medium that allows operations such as those described above to be performed.