Adaptive quantization shift offset for video and image compression

JP2026534423APending Publication Date: 2026-10-16TENCENT AMERICA LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025554289
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-09-25
Filing Date
2024-09-27
Publication Date
2026-10-16

Smart Images

  • Figure 2026534423000001_ABST
    Figure 2026534423000001_ABST
Patent Text Reader

Abstract

A video decoding method includes the step of receiving a bitstream containing coded information of the current block, the coded information of the current block containing coded bits of quantization conversion coefficients in the transformation domain of the current block, the coded information also indicating at least a scaling factor to be used during the dequantization of the quantization conversion coefficients. The method also includes the step of determining one or more quantization shift offsets for reconstructing the conversion coefficients in the transformation domain based on at least a scaling factor; the step of reconstructing the conversion coefficients from the quantization conversion coefficients based on one or more quantization shift offsets; the step of calculating the residuals in the spatial domain of the current block based on the conversion coefficients in the transformation domain; and the step of reconstructing the current block according to the residuals in the spatial domain.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] [Cross-reference of related applications] This application claims priority to U.S. Patent Application No. 18 / 896,460, filed on 25 September 2024, entitled “ADAPTIVE QUANTIZATION SHIFTING OFFSET FOR VIDEO AND IMAGE COMPRESSION,” which in turn claims priority to U.S. Provisional Application No. 63 / 541,737, filed on 29 September 2023, entitled “ADAPTIVE QUANTIZATION SHIFTING OFFSET FOR VIDEO AND IMAGE COMPRESSION.” The entire disclosure of the prior applications is incorporated by reference.

[0002] [Technical field] This disclosure generally describes embodiments relating to video coding. [Background technology]

[0003] The background art provided herein is intended to provide a general context for this disclosure. The inventors' research, to the extent described in this background art section, is not considered prior art to this disclosure, either expressly or implicitly, as is the aspect of the description that was not recognized as prior art at the time of filing.

[0004] Image / video compression can help transmit image / video data across different devices, storage, and networks with minimal quality degradation. In some cases, video codec techniques can compress video based on spatial and temporal redundancy. In one example, a video codec can use a technique called intra-prediction, which can compress images based on spatial redundancy. For example, intra-prediction can use reference data from the currently reconstructed picture for sample prediction. In another example, a video codec can use a technique called inter-prediction, which can compress images based on temporal redundancy. For example, inter-prediction can predict samples in the current picture from previously reconstructed pictures using motion compensation. Motion compensation can be represented by motion vectors (MV). [Overview of the project]

[0005] Aspects of this disclosure include bitstreams, methods, and apparatus for video coding / decoding. In some examples, the apparatus for video coding / decoding includes processing circuits.

[0006] Some aspects of the present disclosure provide a method for video decoding. The method includes the step of receiving a bitstream containing coded information of a current block, the coded information of the current block containing coded bits of quantization conversion coefficients in the transformation domain of the current block, the coded information also indicating at least a scaling factor to be used during the dequantization of the quantization conversion coefficients. The method also includes the step of determining one or more quantization shift offsets for reconstructing the conversion coefficients in the transformation domain based on at least a scaling factor; reconstructing the conversion coefficients from the quantization conversion coefficients based on the one or more quantization shift offsets; calculating the residuals in the spatial domain of the current block based on the conversion coefficients in the transformation domain; and reconstructing the current block according to the residuals in the spatial domain.

[0007] Some aspects of the present disclosure provide a video decoding method. The method includes the step of receiving a bitstream containing coded information of a current block, the coded information of the current block containing coded bits of quantization transformation coefficients in the transformation domain of the current block, the coded information indicating a quantization shift offset to be used for reconstructing at least a first transformation coefficient in the transformation domain. The method also includes the steps of reconstructing at least a first transformation coefficient in the transformation domain based on the quantization shift offset, calculating the residual in the spatial domain of the current block based on at least a first transformation coefficient in the transformation domain, and reconstructing the current block according to the residual in the spatial domain.

[0008] Some aspects of this disclosure provide a method for video encoding. The method includes determining one or more quantization shift offsets for reconstructing the transformation coefficients in the transformation domain of the current block, based on at least a scaling factor used during the dequantization of the quantization transformation coefficients. The method also includes reconstructing the transformation coefficients from the quantization transformation coefficients based on one or more quantization shift offsets; calculating the residuals in the spatial domain of the current block based on the transformation coefficients in the transformation domain; reconstructing the current block according to the residuals in the spatial domain; and encoding the current block as coded information in a bitstream. The coded information represents at least a scaling factor.

[0009] Some aspects of this disclosure provide a video coding method, which includes the steps of: deriving a quantization shift offset for reconstructing at least a first transformation coefficient in the transformation domain of the current block from quantization transformation coefficients; and coding the current block as coded information in a bitstream, the coded information representing the quantization shift offset.

[0010] Aspects of this disclosure also provide apparatus for video encoding / decoding.

[0011] Aspects of the present disclosure further provide a method for processing visual media data. In this method, a bitstream of the visual media data is processed according to format rules. For example, the bitstream may be a bitstream that is decoded / encoded by any of the decoding and / or encoding methods described herein. The format rules may specify one or more constraints on the bitstream, and / or one or more processes to be executed by a decoder and / or an encoder.

[0012] Aspects of the present disclosure further provide a non-transitory computer-readable medium storing instructions that, when executed by a computer, cause the computer to perform any of the described methods for video decoding / encoding. [Brief Description of the Drawings]

[0013] Further features, properties and various advantages of the disclosed subject matter will become more apparent from the following detailed description and the accompanying drawings. [Figure 1] It is a schematic diagram of an example block diagram of a communication system (100). [Figure 2] It is a schematic diagram of an example block diagram of a decoder. [Figure 3] It is a schematic diagram of an example block diagram of an encoder. [Figure 4] Shown is a flowchart outlining a decoding process according to some aspects of the present disclosure. [Figure 5] Shown is a flowchart outlining a decoding process according to some aspects of the present disclosure. [Figure 6] Shown is a flowchart outlining an encoding process according to some aspects of the present disclosure. [Figure 7] Shown is a flowchart outlining an encoding process according to some aspects of the present disclosure. [Figure 8] It is a schematic diagram of a computer system according to one aspect. [Modes for Carrying Out the Invention]

[0014] Figure 1 shows a block diagram of a video processing system (100) in some examples. The video processing system (100) is an example of an application of the disclosed subject matter, which is a video encoder and a video decoder in a streaming environment. The disclosed subject matter is likewise applicable to other video-enabled applications, including, for example, video conferencing, digital TV, streaming services, storage of compressed video on digital media (including CDs, DVDs, memory sticks, etc.), and the like.

[0015] The video processing system (100) includes a capture subsystem (113) which may include a video source (101), such as a digital camera, that creates a stream of uncompressed video pictures (102). In one example, the stream of video pictures (102) includes samples captured by the digital camera. The stream of video pictures (102), shown in thick lines to highlight the higher data volume compared to encoded video data (104) (or encoded video bitstream), can be processed by an electronic device (120) which includes a video encoder (103) coupled to the video source (101). The video encoder (103) may include hardware, software, or a combination thereof to enable or implement aspects of the subject matter of disclosure, as will be described in more detail below. The encoded video data (104) (or encoded video bitstream), shown as a thin line to highlight the lower data volume compared to the stream of video pictures (102), can be stored in a streaming server (105) for future use. One or more streaming client subsystems, such as client subsystems (106) and (108) in Figure 1, can access a streaming server (105) to retrieve copies (107) and (109) of encoded video data (104). Client subsystem (106) may, for example, include a video decoder (110) within an electronic device (130). The video decoder (110) decodes the input copy (107) of the encoded video data to create an output stream (111) of a video picture that can be rendered on a display (112) (e.g., a display screen) or another rendering device (not shown). In some streaming systems, the encoded video data (104), (107), and (109) (e.g., video bitstreams) can be encoded according to several video coding / compression standards. Examples of these standards include ITU-T Recommendation H.265. For example, a video coding standard under development is informally known as VVC (Versatile Video Coding).The subject of disclosure may be used in the context of VVC.

[0016] It should be noted that electronic devices (120) and (130) may include other components (not shown). For example, electronic device (120) may include a video decoder (not shown), and electronic device (130) may include a video encoder (not shown).

[0017] Figure 2 shows an example block diagram of a video decoder (210). The video decoder (210) can be included in an electronic device (230). The electronic device (230) can include a receiver (231) (e.g., a receiving circuit). The video decoder (210) can be used in place of the video decoder (110) in the example of Figure 1.

[0018] The receiver (231) may receive one or more coded video sequences, for example, contained in a bitstream, to be decoded by a video decoder (210). In one embodiment, one coded video sequence may be received at a time, and the decoding of each coded video sequence is independent of the decoding of other coded video sequences. The coded video sequences may be received from a channel (201), which may be a hardware / software link to a storage device that stores coded video data. The receiver (231) may receive the coded video data together with other data (e.g., coded audio data and / or auxiliary data streams), which may be forwarded to their respective user entities (not shown). The receiver (231) may separate the coded video sequences from other data. To prevent network jitter, a buffer memory (215) may be coupled between the receiver (231) and an entropy decoder / parser (220) (hereinafter referred to as the "parser" (220)). In certain applications, the buffer memory (215) is part of the video decoder (210). In other cases, it may be external to the video decoder (not shown). In yet other cases, for example, to prevent network jitter, there may be a buffer memory (not shown) outside the video decoder (210), and for example, to deal with playback timing, there may be another buffer memory (215) inside the video decoder (210). If the receiver (231) is receiving data from a storage / transfer device with sufficient bandwidth and controllability, or from an isosynchronous network, the buffer memory (215) may not be necessary or can be small. For use in best-effort packet networks such as the Internet, the buffer memory (215) may be necessary, can be relatively large, and can be advantageously adaptive in size, and may be at least partially implemented in an operating system and similar elements (not shown) outside the video decoder (210).

[0019] The video decoder (210) may include a parser (220) for reconstructing symbols (221) from the coded video sequence. These categories of symbols include information used to manage the operation of the video decoder (210) and potentially include information for controlling a rendering device, such as a rendering device (212) (e.g., a display screen) that is not an integral part of the electronic device (230) but can be coupled to the electronic device (230), as shown in Figure 2. The rendering device control information may be in the form of Supplementary Enhancement Information (SEI) messages or Video Usability Information (VUI) parameter set fragments (not shown). The parser (220) may analyze / entropy decode the received coded video sequence. The coding of the coded video sequence may follow video coding techniques or standards and may follow various principles, including variable-length coding, Huffman coding, and arithmetic coding with or without context sensitivity. The parser(220) may extract from the coded video sequence a set of subgroup parameters for at least one of the subgroups of pixels in the video decoder, based on at least one parameter corresponding to a group. Subgroups may include groups of pictures (GOP), pictures, tiles, slices, macroblocks, coding units (CU), blocks, transformation units (TU), prediction units (PU), etc. The parser(220) may also extract information from the coded video sequence such as transformation coefficients, quantization parameter values, motion vectors, etc.

[0020] The parser (220) may perform an entropy decoding / analysis operation on the video sequence received from the buffer memory (215) in order to generate a symbol (221).

[0021] The reconstruction of symbol (221) may involve multiple different units, depending on the type of coded video picture or part thereof (e.g., interpicture and intrapicture, interblock and intrablock) and other factors. Which units are involved and how they are involved can be controlled by subgroup control information analyzed by parser (220) from the coded video sequence. The flow of such subgroup control information between parser (220) and the following multiple units is not illustrated for clarity.

[0022] In addition to the functional blocks described above, the video decoder (210) can be conceptually subdivided into several functional units, as described below. In a practical implementation operating under commercial constraints, many of these units interact closely with each other and can be integrated at least partially. However, for the purpose of illustrating the subject of disclosure, it is appropriate to conceptually subdivide it into the following functional units.

[0023] The first unit is the scaler / inverse unit (251). The scaler / inverse unit (251) receives quantized transformation coefficients as symbols (221) from the parser (220), along with control information (including which transformation to use, block size, quantization coefficients, quantization scaling matrix, etc.). The scaler / inverse unit (251) can output a block containing sample values ​​that can be input to the aggregator (255).

[0024] In some cases, the output samples of the scaler / inverse unit (251) can relate to intracoded blocks. Intracoded blocks are blocks that do not use predictive information from previously reconstructed pictures but can use predictive information from previously reconstructed portions of the current picture. Such predictive information can be provided by the intrapicture predictive unit (252). In some cases, the intrapicture predictive unit (252) generates blocks of the same size and shape as the block being reconstructed, using the surrounding already reconstructed information taken from the current picture buffer (258). The current picture buffer (258) buffers, for example, partially reconstructed current pictures and / or fully reconstructed current pictures. In some cases, the aggregator (255) adds the predictive information generated by the intra predictive unit (252) to the output sample information provided by the scaler / inverse unit (251) for each sample.

[0025] In other cases, the output samples of the scaler / inverse unit (251) may be associated with an intercoded and potentially motion-compensated block. In such cases, the motion-compensated prediction unit (253) may access the reference picture memory (257) to retrieve samples to be used for prediction. After motion-compensating the retrieved samples according to the symbols (221) associated with the block, these samples can be added by the aggregator (255) to the output of the scaler / inverse unit (251) (in this case, called residual samples or residual signals) to generate output sample information. The address in the reference picture memory (257) from which the motion-compensated prediction unit (253) retrieves the prediction samples can be controlled by motion vectors available to the motion-compensated prediction unit (253) in the form of symbols (221), which may have, for example, X, Y, and reference picture components. Motion compensation may also include interpolation of sample values ​​retrieved from the reference picture memory (257) when the exact motion vectors of the subsamples are used, motion vector prediction mechanisms, etc.

[0026] The output samples of the aggregator (255) can undergo various loop filtering techniques within the loop filtering unit (256). The video compression technique may include an in-loop filtering technique, which is controlled by parameters contained in the coded video sequence (also called the coded video bitstream) and made available to the loop filtering unit (256) as symbols (221) from the parser (220). Video compression may also respond to metadata obtained during the decoding of earlier parts (in decoding order) of the coded picture or coded video sequence, as well as to previously reconstructed and loop-filtered sample values.

[0027] The output of the loop filter unit (256) can be a sample stream, which can be output to the rendering device (212) and stored in the reference picture memory (257) for use in future interpicture prediction.

[0028] A particular coded picture, once fully reconfigured, can be used as a reference picture for future predictions. For example, once the coded picture corresponding to the current picture is fully reconfigured and the coded picture is identified as a reference picture (e.g., by the parser (220)), the current picture buffer (258) can become part of the reference picture memory (257), and a new current picture buffer can be reallocated before the reconfiguration of subsequent coded pictures begins.

[0029] The video decoder (210) may perform decoding operations according to a given video compression technique or standard, such as ITU-T Rec. H.265. The coded video sequence may conform to the syntax specified by the video compression technique or standard being used, in the sense that the coded video sequence conforms to both the syntax and profile of the video compression technique or standard, as documented in the video compression technique or standard. Specifically, a profile may select specific tools from all the tools available in the video compression technique or standard, as tools to be used only under that profile. Also, for compliance, the complexity of the coded video sequence may need to be within the range defined by the level of the video compression technique or standard. In some cases, the level limits the maximum picture size, maximum frame rate, maximum reconstruction sample rate (e.g., measured in megasamples per second), maximum reference picture size, etc. In some cases, the limits set by the level can be further restricted through metadata about the Hypothetical Reference Decoder (HRD) specification and HRD buffer management signaled in the coded video sequence.

[0030] In one embodiment, the receiver (231) may receive additional (redundant) data along with the encoded video. The additional data may be included as part of the coded video sequence. The additional data may be used by the video decoder (210) to properly decode the data and / or to more accurately reconstruct the original video data. The additional data may take the form of, for example, time, space, or signal-to-noise ratio (SNR) enhancement layers, redundant slices, redundant pictures, forward error correction codes, etc.

[0031] Figure 3 shows an example block diagram of a video encoder (303). The video encoder (303) is included in the electronic device (320). The electronic device (320) includes a transmitter (340) (e.g., a transmitting circuit). The video encoder (303) can be used in place of the video encoder (103) in the example in Figure 1.

[0032] The video encoder (303) may receive video samples from a video source (301) (not part of the electronic device (320) in the example in Figure 3) that can capture video images coded by the video encoder (303). In another example, the video source (301) is part of the electronic device (320).

[0033] The video source (301) may provide a source video sequence to be coded by the video encoder (303) in the form of a digital video sample stream, the digital video sample stream can be any suitable bit depth (e.g., 8-bit, 10-bit, 12-bit, etc.), any color space (e.g., BT.601 Y CrCB, RGB, etc.), and any suitable sampling structure (e.g., Y CrCb 4:2:0, Y CrCb 4:4:4). In a media delivery system, the video source (301) may be a storage device that stores pre-prepared video. In a video conferencing system, the video source (301) may be a camera that captures local image information as a video sequence. The video data may be provided as a series of individual pictures that convey motion when viewed sequentially. The pictures themselves may be organized as a spatial array of pixels, and each pixel may contain one or more samples, depending on the sampling structure, color space, etc., in use. The following description will focus on samples.

[0034] In one embodiment, the video encoder (303) may encode and compress the pictures of a source video sequence into a coded video sequence (343) in real time or under any other required time constraints. Achieving an appropriate coding speed is one function of the controller (350). In some embodiments, the controller (350) can control and be functionally coupled to other functional units, as described below. The couplings are not illustrated for clarity. Parameters set by the controller (350) may include rate control-related parameters (such as picture skipping, quantization, lambda values ​​for rate distortion optimization techniques), picture size, group of pictures (GOP) layout, maximum motion vector search range, etc. The controller (350) may be configured to have other appropriate functions related to the video encoder (303) optimized for a particular system design.

[0035] In some embodiments, the video encoder (303) is configured to operate in a coding loop. In a very simplified explanation, in one example, the coding loop may include a source coder (330) (responsible for generating symbols, such as a symbol stream, based on, for example, the input and reference pictures to be coded) and a (local) decoder (333) embedded in the video encoder (303). The decoder (333) reconstructs the symbols to generate sample data, similar to what a (remote) decoder would generate. The reconstructed sample stream (sample data) is fed into the reference picture memory (334). Since decoding the symbol stream yields bitwise-accurate results independent of the decoder's location (local or remote), the contents of the reference picture memory (334) are also bitwise-accurate between the local and remote encoders. In other words, the predictive portion of the encoder "sees" the exact same sample values ​​as the reference picture samples that the decoder "sees" when using predictions during decoding. This fundamental principle of reference picture synchronization (including drift resulting from, for example, the inability to maintain synchronization due to channel errors) is also used in several related technologies.

[0036] The operation of the “local” decoder (333) can be the same as that of the “remote” decoder (210), such as the video decoder (210), which has already been explained in detail above in relation to Figure 2. However, referring briefly to Figure 2, since symbols are available and the encoding / decoding of symbols to the coded video sequence by the entropy coder (345) and parser (220) can be reversible, the entropy decoding portion of the video decoder (210), including the buffer memory (215) and parser (220), does not have to be fully implemented in the local decoder (433).

[0037] In one embodiment, the decoder techniques, excluding analysis / entropy decoding present within the decoder, exist in the corresponding encoder in the same or substantially the same functional form. Therefore, the subject of the disclosure focuses on the decoder operation. A description of the encoder techniques can be omitted, as it is the inverse of the comprehensively described decoder techniques. More detailed descriptions are provided below in specific areas.

[0038] During operation, in some examples, the source coder (330) may perform motion-compensated predictive coding, which predictively codes the input picture by referencing one or more previously coded pictures from a video sequence designated as “reference pictures”. In this way, the coding engine (332) codes the difference between the pixel blocks of the input picture and the pixel blocks of the reference picture that may be selected as predictive references for the input picture.

[0039] A local video decoder (333) may decode coded video data of a picture that may be designated as a reference picture based on symbols created by the source coder (330). The operation of the coding engine (332) may, advantageously, be lossy. If coded video data can be decoded by a video decoder (not shown in Figure 3), the reconstructed video sequence may typically be a replica of the source video sequence with some errors. The local video decoder (333) may replicate the decoding process that may be performed by the video decoder on the reference picture and store the reconstructed reference picture in the reference picture memory (334). Thus, the video encoder (303) may locally store a copy of the reconstructed reference picture having common content as the reconstructed reference picture (without transmission errors) to be acquired by the far-end video decoder.

[0040] The predictor (335) may perform a predictive search for the coding engine (332). That is, for a new picture to be coded, the predictor (335) may search the reference picture memory (334) for sample data (as candidate reference pixel blocks) or specific metadata (reference picture motion vector, block shape, etc.). These may function as appropriate predictive references for the new picture. The predictor (335) may operate sample block-by-pixel block to find appropriate predictive references. In some cases, the input picture may have predictive references drawn from multiple reference pictures stored in the reference picture memory (334), as determined by the search results obtained by the predictor (335).

[0041] The controller (350) may manage the coding operations of the source coder (330), including, for example, setting parameters and subgroup parameters used to encode video data.

[0042] The outputs of all the above functional units may undergo entropy coding in the entropy coder (345). The entropy coder (345) converts the symbols generated by the various functional units into coded video sequences by applying lossless compression to the symbols according to techniques such as Huffman coding, variable-length coding, arithmetic coding, etc.

[0043] The transmitter (340) may buffer the coded video sequence created by the entropy coder (345) and prepare it for transmission over a communication channel (360), which may be a hardware / software link to a storage device that stores coded video data. The transmitter (340) may merge the coded video data from the video encoder (330) with other data to be transmitted (e.g., coded audio data and / or auxiliary data streams (not shown)).

[0044] The controller (350) may manage the operation of the video encoder (303). During coding, the controller (350) may assign a specific coding picture type to each coded picture. This coding picture type may influence the coding techniques that can be applied to each picture. For example, a picture may be assigned as one of the following picture types:

[0045] An intra-picture (I-picture) may be coded and decoded without using other pictures in the sequence as a source for prediction. Some video codecs enable different types of intra-pictures, including, for example, Independent Decoder Refresh (IDR) pictures.

[0046] The prediction picture (P-picture) may be coded and decoded using intra-prediction or inter-prediction, which uses motion vectors and reference indices to predict the sample values ​​of each block.

[0047] A bidirectional predictive picture (B-picture) may be coded and decoded using intra-prediction or inter-prediction, which uses two motion vectors and a reference index to predict the sample values ​​for each block. Similarly, a multiple predictive picture may use more than two reference pictures and associated metadata for the reconstruction of a single block.

[0048] A source picture may generally be spatially subdivided into multiple sample blocks (e.g., blocks of 4x4, 8x8, 4x8, or 16x16 samples each), and each block may be coded. Blocks may be predictively coded by referencing other (already coded) blocks, as determined by the coding assignment applied to each picture in the block. For example, blocks of picture I may be coded non-predictively, or they may be coded predictively by referencing already coded blocks of the same picture (spatial prediction or intra-prediction). Pixel blocks of picture P may be coded predictively by referencing one previously coded reference picture, via spatial prediction or temporal prediction. Blocks of picture B may be coded predictively by referencing one or two previously coded reference pictures, via spatial prediction or temporal prediction.

[0049] The video encoder (303) may perform coding operations in accordance with a predetermined video coding technique or standard, such as ITU-T Rec. H.265. In such operations, the video encoder (303) may perform various compression operations, including predictive coding operations that utilize temporal and spatial redundancy in the input video sequence. Thus, the coded video data may conform to the syntax specified by the video coding technique or standard being used.

[0050] In one embodiment, the transmitter (340) may transmit additional data along with the encoded video. The source coder (330) may include such data as part of the encoded video sequence. The additional data may include time / space / SNR enhancement layers, other forms of redundant data such as redundant pictures and slices, SEI messages, VUI parameter set fragments, etc.

[0051] Video may be captured as multiple source pictures (video pictures) in a time series. Intra-picture prediction (often abbreviated as intra-prediction) utilizes spatial correlations in a given picture, while inter-picture prediction utilizes (temporal or other) correlations between pictures. In one example, a particular picture being encoded / decoded, called the current picture, is partitioned into blocks. When a block in the current picture is analogous to a reference block in a reference picture that has been previously coded in the video and is still buffered, the block in the current picture can be coded by a vector called a motion vector. The motion vector points to a reference block in the reference picture and may have a third dimension to identify the reference picture if multiple reference pictures are used.

[0052] In some examples, the biprediction technique can be used in interpicture prediction. According to the biprediction technique, two reference pictures are used, such as a first reference picture and a second reference picture, both of which are earlier in the decoding order than the current picture in the video (but may be earlier and later in the display order, respectively). Blocks in the current picture can be coded by a first motion vector pointing to a first reference block in the first reference picture and a second motion vector pointing to a second reference block in the second reference picture. Blocks can be predicted by combinations of the first and second reference blocks.

[0053] Furthermore, merge mode technology can be used in interpicture prediction to improve coding efficiency.

[0054] According to some aspects of this disclosure, predictions such as interpicture prediction and intrapicture prediction are performed in units of blocks. For example, according to the HEVC standard, pictures in a sequence of video pictures are partitioned into coding tree units (CTUs) for compression, and the CTUs in a picture have the same size, such as 64x64 pixels, 32x32 pixels, or 16x16 pixels. Generally, a CTU contains three coding tree blocks (CTBs), which are one lumern CTB and two chroman CTBs. Each CTU can be recursively quadtree-partitioned into one or more coding units (CUs). For example, a 64x64 pixel CTU can be divided into one 64x64 pixel CU, or four 32x32 pixel CUs, or sixteen 16x16 pixel CUs. In one example, each CU is analyzed to determine the prediction type of the CU, such as inter-prediction type or intra-prediction type. A CU is divided into one or more prediction units (PUs) depending on its temporal and / or spatial predictability. Generally, each PU contains a lumen prediction block (PB) and two chroma PBs. In one embodiment, the coding (encoding / decoding) prediction operation is performed in units of prediction blocks. Using a lumen prediction block as an example of a prediction block, the prediction block contains a matrix of pixel values ​​(e.g., lumen values) such as 8x8 pixels, 16x16 pixels, 8x16 pixels, 16x8 pixels, etc.

[0055] It should be noted that the video encoders (103) and (303) and the video decoders (110) and (210) can be implemented using any suitable technique. In one embodiment, the video encoders (103) and (303) and the video decoders (110) and (210) can be implemented using one or more integrated circuits. In another embodiment, the video encoders (103) and (303) and the video decoders (110) and (210) can be implemented using one or more processors that execute software instructions.

[0056] Aspects of this disclosure provide a technique for predicting decoder-side quantization shift offsets. In some examples, this technique can be used to determine the quantization shift offset on the decoder side for image and video coding, thereby achieving image quality improvements.

[0057] Video codecs employ techniques such as transformation and quantization to reduce redundancy in video signals. For example, transformation techniques can reduce redundancy in video signals through decorrelation, while quantization techniques can reduce the data in the transformed coefficient representation by reducing precision, for example, by removing imperceptible details, thereby reducing irrelevance in the data.

[0058] In some examples, the transform decorrelates a signal by transforming it from a spatial domain to a transform domain (e.g., a frequency domain) using an appropriate transform basis. For example, the transform is applied to prediction residuals (whether they come from interpicture or intrapicture predictions), i.e., the difference between the prediction and the original input video signal. In the transform domain, essential information is typically concentrated in a small number of coefficients. In the decoder, an inverse transform can be applied to reconstruct the residual samples.

[0059] Generally, quantization is used to reduce the precision of an input value or set of input values ​​in order to decrease the amount of data required to represent the value. In some examples, quantization is typically applied to individual transformation residual samples (e.g., transformation coefficients), resulting in integer coefficient levels. The transformation process is applied in encoders. In decoders, the corresponding process is known as inverse quantization (also called dequantization), which restores the range of the original values ​​without regaining precision.

[0060] Some related video and image codecs have a predefined quantization shift offset ρ. * This can be applied to the dequantization value on the decoder side. In some examples, the quantization shift offset ρ * This can be used to control the quantization dead zone.

[0061] In some related examples, the reconstructed conversion coefficient value y is used on the decoder side. i This is a predefined quantization shift offset ρ according to equation (1), etc. * Using (in the transformation domain also called the frequency domain), the dequantization value dq is used within the dequantization block. i It is generated by shifting (for example, the result from inverse quantization).

number

[0062] In some cases (e.g., HEVC, VVC, etc.), frequency-specific quantization scaling is permitted. Frequency-specific quantization of conversion coefficients can be implemented by providing the coder (encoder / decoder) with a scaling list. For example, the human visual system is not as sensitive to high spatial frequencies in visual content. Higher frequencies can be quantized more coarsely to save bitrate while maintaining similar visual quality. In some cases, an initial uniform quantization step is derived according to the quantization parameters, and then a scaling matrix with scaling factors for different frequencies can be used with the initial uniform quantization step to define unique quantization for each frequency coefficient. In one example, a scaling factor greater than 0 and less than 16 can result in smaller quantization intervals than the initial uniform quantization step, and a scaling factor greater than 16 can result in coarser quantization step sizes than the initial uniform quantization step. In some cases, the encoder / decoder can use a scaling list of multiple scaling matrices for different prediction modes, block sizes, or color components.

[0063] In some examples, the scaling factor can be a fixed value for all transformation coefficients within the same block. In other examples, the scaling factor can have a value that varies depending on the frequency associated with a particular transformation coefficient.

[0064] According to some aspects of this disclosure, quantization shift offset ρ * This is affected by quantization and / or dequantization. In some examples, the quantization shift offset ρ *can be adaptively adjusted according to what occurred during quantization and / or dequantization, the compression efficiency can be improved. The present disclosure provides techniques for adaptive shift offsets (also referred to as quantization shift offsets) for quantizer-centric shifting, which can improve compression efficiency. In some examples, an encoder / decoder may determine one or more quantization shift offsets for reconstruction of transform coefficients in the transform domain, based at least on a scaling factor. The encoder / decoder may reconstruct the transform coefficients from quantized transform coefficients based on the one or more quantization shift offsets, calculate a residual in the spatial domain of a current block based on the transform coefficients in the transform domain, and reconstruct the current block according to the residual in the spatial domain. In some examples, the encoder may derive the one or more quantization shift offsets during a quantization or dequantization process, and signal the one or more quantization shift offsets to the decoder side in a bitstream.

[0065] According to one aspect of the present disclosure, the shift offset value ρ * depends on a parameter that may affect the quantization / dequantization of a block, such as a scaling factor, a scaling list, or any other parameter related to the quantization / dequantization of the block. The quantization shift offset ρ * is adaptively determined based at least on the scaling factor.

[0066] In some embodiments, the quantization shift offset of a block is a single value calculated depending on the scaling factor of the block.

[0067] In an example, the scaling factor of the block is a single value s, and the quantization shift offset ρ * is calculated as shown in Equation (2). ρ * =a·s+b Equation (2) where a and b are certain predefined constants.

[0068] In another example, the scaling factor of a block is a single value s, and the shift offset ρ * This is calculated as shown in equation (3). ρ * =f(s) Equation (3) Here, f is a predefined function.

[0069] In another example, the scaling factor for an n×n block is in the form of an n×n scaling matrix, and the quantization shift offset ρ of the block. * This is calculated based on a combination such as the average value of the scaling factors of the n×n blocks, as shown in equation (4).

number

[0070] In another example, the scaling factor for an n×n block is in the form of an n×n scaling matrix, and the quantization shift offset ρ * This is calculated based on a combination of n×n block scaling factors, such as the sum of the n×n block scaling factors, as shown in equation (5).

number

[0071] In some embodiments, the quantization shift offset value is position-dependent based on the scaling factor value at its location (also called the coefficient position, and associated with frequency). In some examples, a lookup table can be used to obtain the quantization shift offset value according to the coefficient position within a block. For example, the lookup table contains quantization shift offset values ​​indexed based on the coefficient position within a block.

[0072] In one example, the scaling factor of a block is a single value s, and the quantization shift offset ρ at the (coefficient) position i of the block. * (i) can be calculated according to a function of position, as in the use of equation (6). ρ * (i) = a·s·i + b Equation (6) Here, a and b are predefined constants, and i represents an index associated with a position (e.g., the coefficient position). Note that other suitable functions of the (coefficient) position i can be used to express the relationship between the quantified shift offset value and the coefficient position.

[0073] In another example, the scaling factor of a block is a single value s, and the quantization shift offset ρ is at each (coefficient) position i of the block. * (i) can be calculated according to equation (7). ρ * (i) = f i (s) Equation (7) Here, f i This is a predefined function. Different functions can be used for different positions.

[0074] In another example, the scaling factor for an n×n block is in the form of an n×n scaling matrix, where the block positions correspond to the positions in the scaling matrix, and the quantization shift offset ρ at each (coefficient) position i of the block. * (i) is calculated based on the scaling factor value at position i, according to equation (8), etc. ρ *(i) = a·s(i) + b Equation (8) Here, a and b are some predefined constants, i is the index associated with a position in the scaling matrix, and s(i) is the scaling factor value at position i.

[0075] In another example, the scaling factor for an n×n block is in the form of an n×n scaling matrix, where the quantization shift offset ρ is at each (coefficient) position i of the block. * (i) is calculated based on the scaling factor value at position i, according to equation (9), etc. ρ * (i) = f(s(i)) Equation (9) Here, f is a predefined function, i is the index associated with a position in the scaling matrix, and s(i) is the scaling factor value at that position.

[0076] According to another aspect of this disclosure, the quantization shift offset value is derived in the encoder-side quantization and / or dequantization process. Quantization shift offset value ρ * This signal is transmitted within the bitstream and used in the reconfiguration process on the decoder side.

[0077] In some embodiments, the quantization shift offset value is signaled in the bitstream for the entire sequence / picture / slice / tile. For example, the quantization shift offset value can be signaled and derived from high-level parameter sets such as the sequence parameter set, picture parameter set, slice header, tile header, etc. In one example, one or more additional syntax elements can be used to represent the quantization shift offset value in the bitstream.

[0078] In some embodiments, the quantization shift offset value is signaled in the bitstream for each block. For example, the quantization shift offset value is signaled and derived for each block. In one example, one or more additional syntax elements can be used to represent the quantization shift offset value in the bitstream.

[0079] In some embodiments, the quantization shift offset value is signaled in the bitstream for each or several subsets of the transformation coefficients. For example, the quantization shift offset value is signaled and derived at the transformation coefficient level (for each or one or more subsets of the transformation coefficients). In one example, one or more additional syntax elements can be used to represent the quantization shift offset value in the bitstream.

[0080] In some embodiments, the quantization shift offset value can be signaled in addition to the scaling factor in the bitstream at the sequence / picture / slice / tile / block / coefficient levels, and one or more additional syntax elements can be used to represent the shift offset value in the bitstream. For example, the quantization shift offset value can be signaled in combination with the scaling factor in the bitstream at various syntax levels such as sequence level (sequence parameter set), picture level (picture parameter set), slice level (e.g., within the slice header), tile level (e.g., within the tile header), block level, transformation coefficient level, etc. In some examples, one or more additional syntax elements can be used to represent the quantization shift offset value in the bitstream.

[0081] In some examples, an index representing one quantization shift offset value and one scaling factor value is signaled in the bitstream for sequences, pictures, slices, tiles, blocks, transformation coefficients, subsets of transformation coefficients, etc. In one example, the index may represent a combination of a quantization shift offset value and a scaling factor value.

[0082] In some examples, an index is signaled in the bitstream for a sequence, picture, slice, tile, block, transformation factor, subset of transformation factors, etc., indicating one quantization shift offset value and one scaling factor lookup table. In one example, the index could indicate a quantization shift offset value and an entry in a lookup table for the scaling factor value. The entry contains the scaling factor value. In another example, the index could indicate a quantization shift offset value and a lookup table from multiple lookup tables for the scaling factor.

[0083] In some examples, an index is signaled in the bitstream that indicates one shift offset lookup table and one scaling factor lookup table for sequences, pictures, slices, tiles, blocks, transformation factors, subsets of transformation factors, etc. In one example, the index could indicate a first lookup table from multiple first lookup tables for quantization shift offsets and a second lookup table from multiple second lookup tables for scaling factors.

[0084] In some embodiments, different quantization shift offset values ​​are signaled for different color components. For example, a first quantization shift offset value is signaled for the lumens component of a block, and a second quantization shift offset value is signaled for the chromens component of a block.

[0085] According to another aspect of the present disclosure, the shift offset code is derived in the encoder-side quantization or dequantization process. The code is signaled in the bitstream and can be used for the decoder-side reconstruction process.

[0086] In some embodiments, the sign of the quantization shift offset is signaled in the bitstream for the entire sequence / picture / slice / tile / etc. parameter set, and one or more further syntax elements can be used to represent the sign in the bitstream. For example, the sign of the quantization shift offset value can be signaled and derived from a high-level parameter set such as the sequence parameter set, picture parameter set, slice header, tile header, etc. In one example, one or more further syntax elements can be used to represent the sign of the quantization shift offset value in the bitstream.

[0087] In some embodiments, the sign of the quantization shift offset is signaled in the bitstream for each block. For example, the quantization shift offset is derived for each block, and one or more additional syntax elements can be used to represent the sign in the bitstream.

[0088] In some embodiments, the sign of the quantization shift offset is signaled in the bitstream for each or one or more subsets of the transformation coefficients. In one example, the quantization shift offset is derived for each transformation coefficient, and one or more additional syntax elements can be used to represent the sign in the bitstream.

[0089] In some embodiments, the sign of the quantization shift offset is signaled at various syntax levels in addition to (e.g., in combination with) the scaling factor in the bitstream, such as at the sequence level (e.g., in the sequence parameter set), picture level (e.g., in the picture parameter set), slice level (e.g., in the slice header), tile level (e.g., in the tile header), block level, etc., and one or more further syntax elements can be used to represent the sign in the bitstream.

[0090] In one example, the index is signaled in the bitstream, indicating the sign and scaling factor values ​​of the quantization shift offset for sequences, pictures, slices, tiles, blocks, transformation coefficients, etc.

[0091] In another example, the index signals in the bitstream, indicating the sign of the shift offset and entries in the scaling factor lookup table for sequences, pictures, slices, tiles, blocks, transformation factors, etc. The scaling factor lookup table can be used to determine the scaling factor based on other relevant information.

[0092] According to another aspect of this disclosure, the shift offset value ρ * This is derived by the decoder based on the encoded information.

[0093] In some embodiments, the current transformation coefficient or the quantization shift offset of the current block is derived based on the values ​​of adjacent levels, coded transformation coefficients, block size / shape, etc.

[0094] In some embodiments, the transformation coefficient or the quantization shift offset value of the current block is derived by minimizing the discontinuity of the reconstructed block boundary between the current block and adjacent already reconstructed blocks. In one example, the discontinuity is measured by the absolute difference between boundary samples located inside the current block and adjacent blocks.

[0095] In some embodiments, the quantization shift offset value may be color component dependent, i.e., the derivation of the quantization shift offset may differ between different color components. The derivation of the shift offset indicates any function, process, or parameter involved in calculating the shift offset value.

[0096] According to one aspect of this disclosure, the shift offset ρ * The code is derived by the decoder during the reconstruction process based on existing information.

[0097] In some embodiments, the sign of the current conversion coefficient / block shift offset is derived based on the adjacent level value, block size and / or block shape, etc.

[0098] In some embodiments, the sign of the transformation coefficient / block shift offset is derived by minimizing the discontinuity of the reconstructed block boundary between the current block and adjacent already reconstructed blocks.

[0099] Figure 4 shows a flowchart outlining a process (400) according to one aspect of the present disclosure. Process (400) can be used in a video decoder. In various aspects, process (400) is executed by processing circuits, such as a processing circuit that performs the functions of a video decoder (110), a processing circuit that performs the functions of a video decoder (210), and so on. In some aspects, process (400) is implemented with software instructions, and therefore, when a processing circuit executes a software instruction, the processing circuit executes process (400). The process begins at (S401) and proceeds to (S410).

[0100] In (S410), a bitstream containing the coding information of the current block is received. The coding information of the current block includes coded bits of the quantization conversion coefficients in the conversion domain of the current block, and the coding information also indicates at least a scaling factor to be used during the dequantization of the quantization conversion coefficients.

[0101] In (S420), one or more quantization shift offsets for reconstructing the transformation coefficients in the transformation domain are determined, based at least on the scaling factor.

[0102] In (S430), the transformation coefficients are reconstructed from the quantization transformation coefficients based on one or more quantization shift offsets.

[0103] In (S440), the residuals in the spatial domain of the current block are calculated based on the transformation coefficients in the transformation domain.

[0104] In (S450), the current block is reconstructed according to the residuals in the spatial domain.

[0105] According to some aspects of this disclosure, a single quantization shift offset value is determined for a transformation coefficient. In some examples, at least the scaling factor includes a single scaling factor value for a transformation coefficient associated with the position in the transformation domain of the current block. In one example, the single quantization shift offset value is determined according to a linear function of the single scaling factor value (e.g., equation (2)), where the parameters of the linear function are predefined constants. In another example, the single quantization shift offset value is determined according to a predefined function of the single scaling factor value (e.g., equation (3)), where the predefined function can be any suitable function.

[0106] In some examples, the scaling factor includes, at least, the respective scaling factor values ​​for the transformation coefficients at each position in the transformation domain of the current block. In one example, a single quantization shift offset value is determined according to a linear function of the combination of scaling factor values ​​(e.g., equation (4)), where the parameters of the linear function are predefined constants. In another example, a single quantization shift offset value is determined according to a predefined function of the combination of scaling factor values ​​(e.g., equation (5)).

[0107] According to some aspects of this disclosure, the respective quantization shift offset values ​​for the transformation coefficients at each position in the transformation domain of the current block are determined.

[0108] In some examples, the scaling factor includes at least a single scaling factor value for a transformation coefficient associated with a position in the transformation domain of the current block. In one example, the first quantization shift offset value for a first transformation coefficient at a first position in the transformation domain of the current block is determined according to a linear function of the single scaling factor value using the first position (e.g., equation (6)), where the parameters of the linear function are predefined constants. In another example, the first quantization shift offset value follows a first predefined function of the single scaling factor value (e.g., equation (7)). The first predefined function is associated with a first position, and different predefined functions can be defined to be associated with different positions of the transformation coefficient in the transformation domain.

[0109] In some examples, the scaling factor includes, at least, the respective scaling factor values ​​for the transformation coefficients at each position in the transformation domain of the current block. In one example, the first quantization shift offset value for the first transformation coefficient at the first position in the transformation domain of the current block is determined according to a linear function of the first scaling factor at the first position (e.g., equation (8)), where the parameters of the linear function are predefined constants. In another example, the first quantization shift offset value for the first transformation coefficient at the first position in the transformation domain of the current block is determined according to a predefined function of the first scaling factor at the first position (e.g., equation (9)).

[0110] Next, the process proceeds to (S499) and terminates.

[0111] Process (400) can be appropriately adapted. Steps in Process (400) can be modified and / or omitted. Additional steps can be added. Any appropriate sequence of implementation can be used.

[0112] Figure 5 shows a flowchart outlining a process (500) according to one embodiment of the present disclosure. Process (500) can be used in a video decoder. In various embodiments, process (500) is executed by processing circuits, such as a processing circuit that performs the functions of a video decoder (110), a processing circuit that performs the functions of a video decoder (210), and so on. In some embodiments, process (500) is implemented with software instructions, and therefore, when a processing circuit executes a software instruction, the processing circuit executes process (500). The process begins at (S501) and proceeds to (S510).

[0113] In (S510), a bitstream containing the coding information of the current block is received. The coding information of the current block includes coded bits of the quantization conversion coefficients in the conversion domain of the current block. The coding information also indicates the quantization shift offset to be used for the reconstruction of at least the first conversion coefficient in the conversion domain.

[0114] In (S520), at least a first transformation coefficient in the transformation domain is reconstructed based on the quantization shift offset.

[0115] In (S530), the residual in the spatial domain of the current block is calculated based on at least a first transformation coefficient in the transformation domain.

[0116] In (S540), the current block is reconstructed according to the residuals in the spatial domain.

[0117] According to one aspect of the present disclosure, one or more syntax elements are decoded from a high-level syntax, and the one or more syntax elements represent the value of a quantization shift offset for a video portion associated with the high-level syntax, or the sign of a quantization shift offset for a video portion associated with the high-level syntax. The high-level syntax includes at least one of sequence-level syntax (e.g., in a sequence parameter set), picture-level syntax (e.g., in a picture parameter set), slice-level syntax (e.g., in a slice header), and tile-level syntax (e.g., in a tile header).

[0118] According to another aspect of this disclosure, one or more syntax elements of the current block (for example, at the block level) are decoded. One or more syntax elements represent the value of the quantization shift offset of the current block or the sign of the quantization shift offset of the current block.

[0119] According to another aspect of this disclosure, one or more syntax elements of the current block (for example, at the transformation coefficient level or a subset of the transformation coefficient levels) are decoded. The one or more syntax elements represent the values ​​of the quantization shift offsets for a subset of transformation coefficients in the transformation domain of the current block, or the signs of the quantization shift offsets for a subset of transformation coefficients. The subset of transformation coefficients includes a first transformation coefficient.

[0120] According to another aspect of this disclosure, the coded information includes one or more syntax elements indicating a combination of a quantization shift offset and a scaling factor to be used during the dequantization of the quantization conversion coefficients.

[0121] In one example, one or more syntax elements include an index that indicates a combination of a first value for the quantization shift offset and a second value for the scaling factor for a coding unit such as a sequence of pictures, pictures, slices, tiles, blocks, a subset of transformation factors, or transformation factors.

[0122] In another example, one or more syntax elements include an index that indicates a combination of a quantization shift offset and a lookup table for a scaling factor for a coding unit such as a sequence of pictures, a picture, a slice, a tile, a block, a subset of transformation factors, or a transformation factor. For example, multiple lookup tables may be available for a scaling factor. The index could indicate one of several lookup tables for a coding unit, and other appropriate factors may be available to determine which entry in the lookup table is used for the scaling factor value.

[0123] In another example, one or more syntax elements include an index that indicates a combination of a first lookup table for quantization shift offsets and a second lookup table for scaling factors for a coding unit such as a sequence of pictures, a picture, a slice, a tile, a block, a subset of transformation factors, or a transformation factor. For example, multiple first lookup tables may be used for quantization shift offsets and multiple second lookup tables may be used for scaling factors. The index may indicate one of multiple first lookup tables and one of multiple second lookup tables for a coding unit, and other appropriate factors may be used to determine which entries in the first lookup table are used to determine the value of the quantization shift offset and which entries in the second lookup table are used to determine the value of the scaling factor.

[0124] In another embodiment, the coded information indicates a first quantization shift offset to be used for a first color component and a second quantization shift offset to be used for a second color component.

[0125] Next, the process proceeds to (S599) and terminates.

[0126] Process (500) can be appropriately adapted. Steps in Process (500) can be modified and / or omitted. Additional steps can be added. Any appropriate sequence of implementation can be used.

[0127] Figure 6 shows a flowchart outlining a process (600) according to one aspect of the present disclosure. Process (600) can be used in a video encoder. In various aspects, process (600) is performed by processing circuits, such as a processing circuit that performs the functions of a video encoder (103), a processing circuit that performs the functions of a video encoder (303), and so on. In some aspects, process (600) is implemented with software instructions, and so the processing circuit executes process (600) when it executes a software instruction. The process begins at (S601) and proceeds to (S610).

[0128] In (S610), one or more quantization shift offsets for restoring the transformation coefficients in the transformation domain of the current block are determined based on at least the scaling factor used during the dequantization of the quantization transformation coefficients.

[0129] In (S620), the transformation coefficients are reconstructed from the quantization transformation coefficients based on one or more quantization shift offsets.

[0130] In (S630), the residuals in the spatial domain of the current block are calculated based on the transformation coefficients in the transformation domain.

[0131] In (S640), the current block is reconstructed according to the residuals in the spatial domain.

[0132] In (S650), the current block is encoded as coded information within the bitstream, and the coded information indicates at least the scaling factor.

[0133] According to some aspects of this disclosure, a single quantization shift offset value is determined for a transformation coefficient. In some examples, at least the scaling factor includes a single scaling factor value for a transformation coefficient associated with the position in the transformation domain of the current block. In one example, the single quantization shift offset value is determined according to a linear function of the single scaling factor value (e.g., equation (2)), where the parameters of the linear function are predefined constants. In another example, the single quantization shift offset value is determined according to a predefined function of the single scaling factor value (e.g., equation (3)), where the predefined function can be any suitable function.

[0134] In some examples, the scaling factor includes, at least, the respective scaling factor values ​​for the transformation coefficients at each position in the transformation domain of the current block. In one example, a single quantization shift offset value is determined according to a linear function of the combination of scaling factor values ​​(e.g., equation (4)), where the parameters of the linear function are predefined constants. In another example, a single quantization shift offset value is determined according to a predefined function of the combination of scaling factor values ​​(e.g., equation (5)).

[0135] According to some aspects of this disclosure, the respective quantization shift offset values ​​for the transformation coefficients at each position in the transformation domain of the current block are determined.

[0136] In some examples, the scaling factor includes at least a single scaling factor value for a transformation coefficient associated with a position in the transformation domain of the current block. In one example, the first quantization shift offset value for a first transformation coefficient at a first position in the transformation domain of the current block is determined according to a linear function of the single scaling factor value using the first position (e.g., equation (6)), where the parameters of the linear function are predefined constants. In another example, the first quantization shift offset value follows a first predefined function of the single scaling factor value (e.g., equation (7)). The first predefined function is associated with a first position, and different predefined functions can be defined to be associated with different positions of the transformation coefficient in the transformation domain.

[0137] In some examples, the scaling factor includes, at least, the respective scaling factor values ​​for the transformation coefficients at each position in the transformation domain of the current block. In one example, the first quantization shift offset value for the first transformation coefficient at the first position in the transformation domain of the current block is determined according to a linear function of the first scaling factor at the first position (e.g., equation (8)), where the parameters of the linear function are predefined constants. In another example, the first quantization shift offset value for the first transformation coefficient at the first position in the transformation domain of the current block is determined according to a predefined function of the first scaling factor at the first position (e.g., equation (9)).

[0138] Next, the process proceeds to (S699) and terminates.

[0139] Process (600) can be appropriately adapted. Steps in Process (600) can be modified and / or omitted. Additional steps can be added. Any appropriate sequence of implementation can be used.

[0140] Figure 7 shows a flowchart outlining a process (700) according to one aspect of the present disclosure. Process (700) can be used in a video decoder. In various aspects, process (700) is performed by processing circuits such as a processing circuit that performs the functions of a video encoder (103), a processing circuit that performs the functions of a video encoder (303), and so on. In some aspects, process (700) is implemented with software instructions, and so the processing circuit executes process (700) when it executes a software instruction. The process begins at (S701) and proceeds to (S710).

[0141] In (S710), a quantization shift offset for reconstructing at least a first transformation coefficient in the transformation domain of the current block is derived from the quantization transformation coefficients.

[0142] In (S720), the current block is encoded as coded information within the bitstream, and the coded information indicates the quantization shift offset.

[0143] According to one aspect of the present disclosure, coded information includes one or more syntax elements of a high-level syntax, where one or more syntax elements indicate a value of a quantization shift offset for a video portion associated with the high-level syntax, or a sign of a quantization shift offset for a video portion associated with the high-level syntax. The high-level syntax includes at least one of sequence-level syntax (e.g., in a sequence parameter set), picture-level syntax (e.g., in a picture parameter set), slice-level syntax (e.g., in a slice header), and tile-level syntax (e.g., in a tile header).

[0144] According to another aspect of this disclosure, the coded information includes one or more syntax elements of the current block (for example, at the block level). One or more syntax elements indicate the value of the quantization shift offset of the current block or the sign of the quantization shift offset of the current block.

[0145] According to another aspect of this disclosure, the coded information includes one or more syntax elements of the current block (for example, at the transformation coefficient level or a subset of the transformation coefficient levels). The one or more syntax elements indicate the value of the quantization shift offset for a subset of transformation coefficients in the transformation domain of the current block, or the sign of the quantization shift offset for a subset of transformation coefficients. The subset of transformation coefficients includes a first transformation coefficient.

[0146] According to another aspect of this disclosure, the coded information includes one or more syntax elements indicating a combination of a quantization shift offset and a scaling factor to be used during the dequantization of the quantization conversion coefficients.

[0147] In one example, one or more syntax elements include an index that indicates a combination of a first value for the quantization shift offset and a second value for the scaling factor for a coding unit such as a sequence of pictures, pictures, slices, tiles, blocks, a subset of transformation factors, or transformation factors.

[0148] In another example, one or more syntax elements include an index that indicates a combination of a quantization shift offset and a lookup table for a scaling factor for a coding unit such as a sequence of pictures, a picture, a slice, a tile, a block, a subset of transformation factors, or a transformation factor. For example, multiple lookup tables may be available for a scaling factor. The index could indicate one of several lookup tables for a coding unit, and other appropriate factors may be available to determine which entry in the lookup table is used for the scaling factor value.

[0149] In another example, one or more syntax elements include an index that indicates a combination of a first lookup table for quantization shift offsets and a second lookup table for scaling factors for a coding unit such as a sequence of pictures, a picture, a slice, a tile, a block, a subset of transformation factors, or a transformation factor. For example, multiple first lookup tables may be used for quantization shift offsets and multiple second lookup tables may be used for scaling factors. The index may indicate one of multiple first lookup tables and one of multiple second lookup tables for a coding unit, and other appropriate factors may be used to determine which entries in the first lookup table are used to determine the value of the quantization shift offset and which entries in the second lookup table are used to determine the value of the scaling factor.

[0150] In another embodiment, the coded information indicates a first quantization shift offset to be used for a first color component and a second quantization shift offset to be used for a second color component.

[0151] Next, the process proceeds to (S579) and terminates.

[0152] Process (700) can be appropriately adapted. Steps in Process (700) can be modified and / or omitted. Additional steps can be added. Any appropriate sequence of implementation can be used.

[0153] One aspect of this disclosure provides a method for processing visual media data, in which a bitstream of visual media data is processed according to format rules. For example, the bitstream may be a bitstream that is decoded / encoded by one of the decoding and / or encoding methods described herein. The format rules may specify one or more constraints on the bitstream and one or more processes to be performed by the decoder and / or encoder.

[0154] In one example, the bitstream contains the coding information for the current block, which contains the coded bits of the quantization conversion coefficients in the transformation domain of the current block, and the coding information indicates at least a scaling factor to be used during the dequantization of the quantization conversion coefficients. The format rule specifies that one or more quantization shift offsets for reconstructing the conversion coefficients in the transformation domain are determined based on at least a scaling factor, the conversion coefficients are reconstructed from the quantization conversion coefficients based on one or more quantization shift offsets, the residuals in the spatial domain of the current block are calculated based on the conversion coefficients in the transformation domain, and the current block is reconstructed according to the residuals in the spatial domain.

[0155] The above technologies are implemented as computer software using computer-readable instructions and can be physically stored on one or more computer-readable media. For example, Figure 8 shows a computer system (800) suitable for implementing a particular aspect of the disclosed subject matter.

[0156] Computer software can be coded using any appropriate machine code or computer language that may be subject to assembly, compilation, linking, or similar mechanisms, and can contain instructions that can be executed directly or through interpretation, microcode execution, etc., by one or more computer central processing units (CPUs), graphics processing units (GPUs), etc.

[0157] The instructions can be executed on various types of computers or their components, including, for example, personal computers, tablet computers, servers, smartphones, game devices, and Internet of Things devices.

[0158] The components shown in Figure 8 for the computer system (800) are illustrative and are not intended to imply any limitations on the scope or functionality of computer software implementing aspects of this disclosure. Furthermore, the configuration of the components should not be construed as having any dependency or requirement on any one or combination of the components shown in the exemplary aspects of the computer system (800).

[0159] The computer system (800) may include certain human interface input devices. Such human interface input devices may respond to input from one or more human users, for example, through haptic input (keystrokes, swipes, data glove movements, etc.), audio input (voices, applause, etc.), visual input (gestures, etc.), or olfactory input (not shown). The human interface input devices may also be used to capture certain media that are not necessarily directly related to conscious human input, such as audio (voices, music, ambient sounds, etc.), images (scanned images, photographic images obtained from still image cameras, etc.), or video (2D video, 3D video including stereoscopic images, etc.).

[0160] The human interface input device may include one or more of the following: keyboard (801), mouse (802), trackpad (803), touch screen (810), data glove (not shown), joystick (805), microphone (806), scanner (807), and camera (808) (only one of each is shown).

[0161] The computer system (800) may also include certain human interface output devices. Such human interface output devices may stimulate the senses of one or more human users, for example, through tactile output, sound, light and smell / taste. Such human interface output devices may include tactile output devices (e.g., tactile feedback via a touch screen (810), data glove (not shown), or joystick (805), although there may also be tactile feedback devices that do not function as input devices), audio output devices (speakers (809), headphones (not shown), etc.), visual output devices (screens (810), including CRT screens, LCD screens, plasma screens, OLED screens, etc., with or without touch screen input functionality and with or without tactile feedback functionality, some of which may output two-dimensional visual output or output beyond three dimensions through means such as stereoscopic image output, virtual reality glasses (not shown), holographic displays, and smoke tanks (not shown)), and printers (not shown).

[0162] The computer system (800) may also include optical media or similar media (821) including CD / DVD ROM / RW (820) having CD / DVD, thumb drives (822), removable hard drives or solid-state drives (823), legacy magnetic media such as tapes and floppy disks (not shown), and special ROM / ASIC / PLD-based devices such as security dongles (not shown), as well as their associated media.

[0163] Those skilled in the art should also understand that, when used in connection with the subject matter now disclosed, the term “computer-readable medium” does not encompass a transmission medium, carrier wave, or other transient signal.

[0164] The computer system (800) may also include an interface (854) to one or more communication networks (855). The networks may be, for example, wireless, wired, or optical. The networks may further be local, wide-area, metropolitan, vehicle and industrial, real-time, latency-tolerant, etc. Examples of networks include local area networks such as Ethernet® and wireless LAN; cellular networks including GSM®, 3G, 4G, 5G, LTE, etc.; wired or wireless wide-area digital networks including cable TV, satellite TV, and terrestrial TV; and vehicle and industrial networks including CANBus, etc. Certain networks generally require external network interface adapters (e.g., USB ports on the computer system (800)) attached to specific general-purpose data ports or peripheral buses (849), while others are generally integrated into the core of the computer system (800) by attachment to system buses described later (e.g., an Ethernet® interface to a PC computer system or a cellular network interface to a smartphone computer system). Using any of these networks, the computer system (800) can communicate with other entities. Such communications can be unidirectional, receive-only (e.g., broadcast TV), unidirectional, transmit-only (e.g., from a specific CANbus to a specific CANbus device), or bidirectional, for example, using a local or wide-area digital network to other computer systems. As described above, specific protocols and protocol stacks can be used in each of these networks and network interfaces.

[0165] The above-mentioned human interface device, human-accessible storage device, and network interface can be mounted on the core (840) of the computer system (800).

[0166] The core (840) may include one or more central processing units (CPUs) (841), graphics processing units (GPUs) (842), dedicated programmable processing units in the form of field-programmable gate arrays (FPGAs) (843), hardware accelerators for specific tasks (844), graphics adapters (850), etc. These devices may be connected via a system bus (848) along with read-only memory (ROM) (845), random access memory (RAM) (846), internal non-user-accessible hard drives, SSDs, and other internal mass storage (847). In some computer systems, the system bus (848) is accessible in the form of one or more physical plugs to allow for expansion with further CPUs, GPUs, etc. Peripheral devices can be attached directly to the core's system bus (848) or via a peripheral bus (849). For example, a screen (810) can be connected to a graphics adapter (850). The architecture of the peripheral bus includes PCI, USB, etc.

[0167] The CPU (841), GPU (842), FPGA (843), and accelerator (844) can execute specific instructions that, when combined, constitute the computer code described above. This computer code can be stored in ROM (845) or RAM (846). Temporary data can be stored in RAM (846), while permanent data can be stored, for example, in internal mass storage (847). High-speed storage and retrieval of any of the memory devices can be enabled through the use of cache memory that can be closely associated with one or more CPUs (841), GPUs (842), mass storage (847), ROMs (845), RAM (846), etc.

[0168] A computer-readable medium may have computer code thereon for performing various computer-implemented operations. The medium and computer code may be specifically designed and constructed for the purposes of this disclosure, or they may be of a type that is well known and available to those skilled in the computer software technology.

[0169] As an example, and not an limitation, a computer system having architecture (800) and in particular core (840) can provide functionality as a result of a processor (including CPU, GPU, FPGA, accelerator, etc.) executing software embodied in one or more tangible computer-readable media. Such computer-readable media can be user-accessible mass storage as described above, as well as media associated with specific storage of core (840) of a non-transient nature, such as core internal mass storage (847) or ROM (845). Software implementing various aspects of this disclosure can be stored in such devices and executed by core (840). The computer-readable media can include one or more memory devices or chips according to specific needs. The software can cause core (840) and in particular the processor (including CPU, GPU, FPGA, etc.) within it to execute specific processes or specific parts of specific processes as described herein, including defining data structures to be stored in RAM (846) and modifying such data structures according to processes defined by the software. Furthermore, or alternatively, a computer system may provide functionality as a result of being embodied in a circuit (e.g., an accelerator (844)) in logic hardwired or otherwise, which can operate in place of or with software to execute a particular process or a particular part of a particular process described herein. References to software include logic, and vice versa, as appropriate. References to computer-readable media may include circuits that store software for execution (e.g., integrated circuits (ICs)), circuits that embody logic for execution, or both, where appropriate. This disclosure encompasses any appropriate combination of hardware and software.

[0170] The use of “at least one” or “one” in this disclosure is intended to include any one or combination of the elements described. For example, references to at least one of A, B, or C, at least one of A, B, and C, at least one of A, B, and / or C, and at least one of A through C are intended to include A only, B only, C only, or any combination thereof. References to one of A or B, and one of A and B are intended to include A or B or (A and B). The use of “one” does not exclude any combination of the enumerated elements where applicable, such as when the elements are not mutually exclusive.

[0171] While this disclosure describes examples of several embodiments, there are various modifications, substitutions, and equivalent alternatives that fall within the scope of this disclosure. Therefore, those skilled in the art will understand that various systems and methods, not expressly shown or described herein, embody the principles of this disclosure and thus fall within the spirit and scope of this disclosure.

[0172] The above disclosure also includes the features described below. These features may be combined in various ways, and are not limited to the combinations described below.

[0173] (1) A method for decoding video, A step of receiving a bitstream containing coded information of a current block, wherein the coded information of the current block includes coded bits of quantization conversion coefficients in the conversion domain of the current block, and the coded information indicates at least a scaling factor to be used during the dequantization of the quantization conversion coefficients. The steps include determining one or more quantization shift offsets for reconstructing the transformation coefficients in the transformation domain, based at least on the scaling factor, A step of reconstructing the conversion coefficients from the quantization conversion coefficients based on the one or more quantization shift offsets, A step of calculating the residual in the spatial domain of the current block based on the transformation coefficient in the transformation domain, A step of reconstructing the current block according to the residuals in the spatial domain. A method that includes this.

[0174] (2) The method according to feature (1), comprising the step of determining a single quantization shift offset value for the conversion coefficient.

[0175] (3) At least the scaling factor includes a single scaling factor value for the transformation coefficient associated with the position of the current block in the transformation domain, This method is A step of determining a single quantization shift offset value according to a linear function of the single scaling factor value, wherein the parameters of the linear function are predefined constants, and / or The step of determining the single quantization shift offset value according to a predefined function of the single scaling factor value. The method according to feature (1) or (2), comprising at least one of the above.

[0176] (4) At least the scaling factor includes the respective scaling factor values ​​for the transformation coefficients at each location in the transformation domain of the current block, The step of determining the single quantization shift offset value is: A step of determining the single quantization shift offset value according to a linear function of the combination of scaling factor values, wherein the parameters of the linear function are predefined constants, and / or The step of determining the single quantization shift offset value according to a predefined function of the combination of scaling factor values. The method according to any one of features (1) to (3), further comprising at least one of the above.

[0177] (5) The step of determining one or more quantization shift offsets is: The method according to any one of features (1) to (4), comprising the step of determining a quantization shift offset value for each of the transformation coefficients at each of the positions in the transformation domain of the current block.

[0178] (6) At least the scaling factor includes a single scaling factor value for the transformation coefficient associated with the position of the current block in the transformation domain, The step of determining each of the aforementioned quantization shift offset values ​​is: A step of determining a first quantization shift offset value for a first transformation coefficient at the first position in the transformation domain of the current block according to a linear function of the combination of the single scaling factor value and the first position, wherein the parameters of the linear function are predefined constants, and / or A step of determining the first quantization shift offset value according to a first predefined function of the single scaling factor value, wherein the first predefined function is associated with the first position. The method described in any one of features (1) to (5), further comprising the above.

[0179] (7) At least the scaling factor includes the respective scaling factor values ​​for the transformation coefficients at each location in the transformation domain of the current block, The step of determining the quantization shift offset value is: A step of determining a first quantization shift offset value for a first transformation coefficient at the first position in the transformation domain of the current block according to a linear function of a first scaling factor at the first position, wherein the parameters of the linear function are predefined constants, and / or The step of determining the first quantization shift offset value for the first transformation coefficient at the first position in the transformation domain of the current block according to a predefined function of the first scaling factor at the first position. The method according to any one of features (1) to (6), further comprising at least one of the above.

[0180] (8) A method for decoding video, A step of receiving a bitstream containing coded information of a current block, wherein the coded information of the current block includes coded bits of quantization conversion coefficients in the conversion domain of the current block, and the coded information indicates a quantization shift offset to be used for reconstructing at least a first conversion coefficient in the conversion domain. A step of reconstructing at least the first transformation coefficient in the transformation domain based on the quantization shift offset, A step of calculating the residual in the spatial domain of the current block based on at least the first transformation coefficient in the transformation domain, A step of reconstructing the current block according to the residuals in the spatial domain. A method that includes this.

[0181] (9) The method according to feature (8), comprising the step of decoding one or more syntax elements from a high-level syntax, wherein the one or more syntax elements represent the value of the quantization shift offset for the video portion associated with the high-level syntax, or the sign of the quantization shift offset for the video portion associated with the high-level syntax, and the high-level syntax includes at least one of a sequence-level syntax, a picture-level syntax, a slice-level syntax, and a tile-level syntax.

[0182] (10) The method according to feature (8) or (9), comprising the step of decoding one or more syntax elements of the current block, wherein the one or more syntax elements represent the value of the quantization shift offset of the current block or the sign of the quantization shift offset of the current block.

[0183] (11) The method according to any one of features (8) to (10), comprising the step of decoding one or more syntax elements of the current block, wherein the one or more syntax elements represent the value of the quantization shift offset for a subset of the transformation coefficients in the transformation domain of the current block, or the sign of the quantization shift offset for a subset of the transformation coefficients, and the subset of the transformation coefficients includes the first transformation coefficients.

[0184] (12) The method according to any one of features (8) to (11), wherein the coded information includes one or more syntax elements indicating a combination of a quantization shift offset and a scaling factor to be used during the dequantization of the quantization conversion coefficient.

[0185] (13) The method according to any one of features (8) to (12), wherein the one or more syntax elements include an index indicating the combination of the quantization shift offset and the scaling factor.

[0186] (14) The method according to any one of features (8) to (13), wherein the one or more syntax elements include an index indicating a combination of the quantization shift offset and a lookup table for the scaling factor.

[0187] (15) The method according to any one of features (8) to (14), wherein the one or more syntax elements include an index indicating a combination of a first lookup table for the quantization shift offset and a second lookup table for the scaling factor.

[0188] (16) The method according to any one of features (8) to (15), wherein the coded information indicates a first quantization shift offset to be used for a first color component and a second quantization shift offset to be used for a second color component.

[0189] (17) A method of video encoding, The steps include determining one or more quantization shift offsets for reconstructing the transformation coefficients in the transformation domain of the current block, based on at least a scaling factor used during the dequantization of the quantization transformation coefficients, A step of reconstructing the conversion coefficients from the quantization conversion coefficients based on the one or more quantization shift offsets, A step of calculating the residual in the spatial domain of the current block based on the transformation coefficient in the transformation domain, The steps include: reconstructing the current block according to the residuals in the spatial domain; A step of encoding the current block as coded information in a bitstream, wherein the coded information represents at least the scaling factor. A method that includes this.

[0190] (18) At least the scaling factor includes a single scaling factor value for the transformation coefficient associated with the position of the current block in the transformation domain, This method is A step of determining a single quantization shift offset value according to a linear function of the single scaling factor value, wherein the parameters of the linear function are predefined constants; The steps include determining the single quantization shift offset value according to a predefined function of the single scaling factor value, and The method according to feature (17), which includes at least one of the above.

[0191] (19) At least the scaling factor includes the respective scaling factor values ​​for the transformation coefficients at each location in the transformation domain of the current block, This method is A step of determining a single quantization shift offset value according to a linear function of the combination of scaling factor values, wherein the parameters of the linear function are predefined constants; The steps include determining the single quantization shift offset value according to a predefined function of the combination of scaling factor values, and The method according to feature (17) or (18), comprising at least one of the above.

[0192] (20) The step of determining one or more quantization shift offsets is: The method according to any one of features (17) to (19), comprising the step of determining a quantization shift offset value for each of the transformation coefficients at each of the positions in the transformation domain of the current block.

[0193] (21) At least the scaling factor includes a single scaling factor value for the transformation coefficient associated with the position of the current block in the transformation domain, The step of determining each of the aforementioned quantization shift offset values ​​is: A step of determining a first quantization shift offset value for a first transformation coefficient at the first position in the transformation domain of the current block according to a linear function of the combination of the single scaling factor value and the first position, wherein the parameters of the linear function are predefined constants, and / or A step of determining the first quantization shift offset value according to a first predefined function of the single scaling factor value, wherein the first predefined function is associated with the first position. The method according to any one of features (17) to (20), further including the method described in any one of features (17) to (20).

[0194] (22) At least the scaling factor includes the respective scaling factor values ​​for the transformation coefficients at each location in the transformation domain of the current block, The step of determining the quantization shift offset value is: A step of determining a first quantization shift offset value for a first transformation coefficient at the first position in the transformation domain of the current block according to a linear function of a first scaling factor at the first position, wherein the parameters of the linear function are predefined constants, and / or The step of determining the first quantization shift offset value for the first transformation coefficient at the first position in the transformation domain of the current block according to a predefined function of the first scaling factor at the first position. The method according to any one of features (17) to (21), further comprising at least one of the above.

[0195] (23) A method of video encoding, A step of deriving a quantization shift offset for reconstructing at least a first transformation coefficient in the transformation domain of the current block from the quantization transformation coefficients, A step of encoding the current block as coded information in a bitstream, wherein the coded information indicates the quantization shift offset, and A method that includes this.

[0196] (24) The method according to feature (23), wherein the coded information includes one or more syntax elements from a high-level syntax, the one or more syntax elements indicating the value of the quantization shift offset for the video portion associated with the high-level syntax, or the sign of the quantization shift offset for the video portion associated with the high-level syntax, and the high-level syntax includes at least one of a sequence-level syntax, a picture-level syntax, a slice-level syntax, and a tile-level syntax.

[0197] (25) The method according to feature (23) or (24), wherein the coded information includes one or more syntax elements of the current block, and the one or more syntax elements indicate the value of the quantization shift offset of the current block or the sign of the quantization shift offset of the current block.

[0198] (26) The method according to any one of features (23) to (25), wherein the coded information includes one or more syntax elements of the current block, the one or more syntax elements indicating the value of the quantization shift offset for a subset of the transformation coefficients in the transformation domain of the current block, or the sign of the quantization shift offset for a subset of the transformation coefficients, and the subset of the transformation coefficients includes the first transformation coefficients.

[0199] (27) The method according to any one of features (23) to (26), wherein the coded information includes one or more syntax elements indicating a combination of a quantization shift offset and a scaling factor to be used during the dequantization of the quantization conversion coefficient.

[0200] (28) The method according to any one of features (23) to (27), wherein the one or more syntax elements include an index indicating the combination of the quantization shift offset and the scaling factor.

[0201] (29) The method according to any one of features (23) to (28), wherein the one or more syntax elements include an index indicating a combination of the quantization shift offset and a lookup table for the scaling factor.

[0202] (30) The method according to any one of features (23) to (29), wherein the one or more syntax elements include an index indicating a combination of a first lookup table for the quantization shift offset and a second lookup table for the scaling factor.

[0203] (31) The method according to any one of features (23) to (30), wherein the coded information indicates a first quantization shift offset to be used for a first color component and a second quantization shift offset to be used for a second color component.

[0204] (32) A method for processing visual media data, A method comprising the step of processing a bitstream of visual media data according to a format rule. The bitstream includes coded information for a current block, the coded information for the current block includes coded bits of quantization conversion coefficients in the conversion domain of the current block, the coded information indicates at least a scaling factor to be used during the dequantization of the quantization conversion coefficients. The format rule specifies that one or more quantization shift offsets for reconstructing the conversion coefficients in the conversion domain are determined based on at least the scaling factor, the conversion coefficients are reconstructed from the quantization conversion coefficients based on the one or more quantization shift offsets, the residuals in the spatial domain of the current block are calculated based on the conversion coefficients in the conversion domain, and the current block is reconstructed according to the residuals in the spatial domain.

[0205] (33) An apparatus for video decoding, comprising a processing circuit configured to perform the method described in any one of the features (1) to (16).

[0206] (37) An apparatus for video encoding, comprising a processing circuit configured to perform the method described in any one of the features (17) to (31).

[0207] (38) A non-temporary computer-readable storage medium that stores instructions, when executed by at least one processor, causing the at least one processor to perform the method described in any one of features (1) to (32).

Claims

1. A method for video decoding, A step of receiving a bitstream containing coded information of a current block, wherein the coded information of the current block includes coded bits of quantization conversion coefficients in the conversion domain of the current block, and the coded information indicates at least a scaling factor to be used during the dequantization of the quantization conversion coefficients. The steps include determining one or more quantization shift offsets for reconstructing the transformation coefficients in the transformation domain, based at least on the scaling factor, A step of reconstructing the conversion coefficients from the quantization conversion coefficients based on the one or more quantization shift offsets, A step of calculating the residual in the spatial domain of the current block based on the transformation coefficient in the transformation domain, A step of reconstructing the current block according to the residuals in the spatial domain. A method that includes this.

2. The step of determining one or more quantization shift offsets is: The method according to claim 1, comprising the step of determining a single quantization shift offset value for the conversion coefficient.

3. At least the scaling factor includes a single scaling factor value for the transformation coefficient associated with the position of the current block in the transformation domain, The step of determining the single quantization shift offset value is: A step of determining a single quantization shift offset value according to a linear function of the single scaling factor value, wherein the parameters of the linear function are predefined constants, and / or The step of determining the single quantization shift offset value according to a predefined function of the single scaling factor value. The method according to claim 2, further comprising at least one of the following.

4. At least the scaling factor includes the respective scaling factor values ​​for the transformation coefficients at each location in the transformation domain of the current block, The step of determining the single quantization shift offset value is: A step of determining the single quantization shift offset value according to a linear function of the combination of scaling factor values, wherein the parameters of the linear function are predefined constants, and / or The step of determining the single quantization shift offset value according to a predefined function of the combination of scaling factor values. The method according to claim 2, further comprising at least one of the following.

5. The step of determining one or more quantization shift offsets is: The method according to claim 1, comprising the step of determining a quantization shift offset value for each of the transformation coefficients at each of the positions in the transformation domain of the current block.

6. At least the scaling factor includes a single scaling factor value for the transformation coefficient associated with the position of the current block in the transformation domain, The step of determining each of the aforementioned quantization shift offset values ​​is: A step of determining a first quantization shift offset value for a first transformation coefficient at the first position in the transformation domain of the current block according to a linear function of the combination of the single scaling factor value and the first position, wherein the parameters of the linear function are predefined constants, and / or A step of determining the first quantization shift offset value according to a first predefined function of the single scaling factor value, wherein the first predefined function is associated with the first position. The method according to claim 5, further comprising:

7. At least the scaling factor includes the respective scaling factor values ​​for the transformation coefficients at each location in the transformation domain of the current block, The step of determining the quantization shift offset value is: A step of determining a first quantization shift offset value for a first transformation coefficient at the first position in the transformation domain of the current block according to a linear function of a first scaling factor at the first position, wherein the parameters of the linear function are predefined constants, and / or Steps to determine the first quantization shift offset value for the first transformation coefficient at the first position in the transformation domain of the current block, according to a predefined function of the first scaling factor at the first position. The method according to claim 5, further comprising at least one of the following.

8. A method for video decoding, A step of receiving a bitstream containing coded information of a current block, wherein the coded information of the current block includes coded bits of quantization conversion coefficients in the conversion domain of the current block, and the coded information indicates a quantization shift offset to be used for reconstructing at least a first conversion coefficient in the conversion domain. A step of reconstructing at least the first transformation coefficient in the transformation domain based on the quantization shift offset, A step of calculating the residual in the spatial domain of the current block based on at least the first transformation coefficient in the transformation domain, A step of reconstructing the current block according to the residuals in the spatial domain. A method that includes this.

9. The method according to claim 8, further comprising the step of decoding one or more syntax elements from a high-level syntax, wherein the one or more syntax elements represent the value of the quantization shift offset for the video portion associated with the high-level syntax, or the sign of the quantization shift offset for the video portion associated with the high-level syntax, and the high-level syntax includes at least one of a sequence-level syntax, a picture-level syntax, a slice-level syntax, and a tile-level syntax.

10. The method according to claim 8, further comprising the step of decoding one or more syntax elements of the current block, wherein the one or more syntax elements represent the value of the quantization shift offset of the current block or the sign of the quantization shift offset of the current block.

11. The method according to claim 8, further comprising the step of decoding one or more syntax elements of the current block, wherein the one or more syntax elements represent the value of the quantization shift offset for a subset of the transformation coefficients in the transformation domain of the current block, or the sign of the quantization shift offset for a subset of the transformation coefficients, and the subset of the transformation coefficients includes the first transformation coefficient.

12. The method according to claim 8, wherein the coded information includes one or more syntax elements indicating a combination of the quantization shift offset and scaling factor to be used during the dequantization of the quantization conversion coefficient.

13. The method according to claim 12, wherein the one or more syntax elements include an index indicating the combination of the quantization shift offset and the scaling factor.

14. The method according to claim 12, wherein the one or more syntax elements include an index indicating a combination of the quantization shift offset and a lookup table for the scaling factor.

15. The method according to claim 12, wherein the one or more syntax elements include an index indicating a combination of a first lookup table for the quantization shift offset and a second lookup table for the scaling factor.

16. A device for video decoding, Memory for storing programs, A processing circuit configured to execute the program stored in the memory and to perform the method according to any one of claims 1 to 7. A device that includes this.

17. A device for video decoding, Memory for storing programs, A processing circuit configured to execute the program stored in the memory and to perform the method described in any one of claims 8 to 15. A device that includes this.

18. A program, when executed by at least one processor, that causes the at least one processor to perform the method according to any one of claims 1 to 7.

19. A program that, when executed by at least one processor, causes the at least one processor to perform the method according to any one of claims 8 to 15.