WO2026007782A1 - Procédé et appareil pour centre de quantification à décalage adaptatif pour quantification de vidéo - Google Patents

Procédé et appareil pour centre de quantification à décalage adaptatif pour quantification de vidéo

Info

Publication number
WO2026007782A1
WO2026007782A1 PCT/CN2025/103615 CN2025103615W WO2026007782A1 WO 2026007782 A1 WO2026007782 A1 WO 2026007782A1 CN 2025103615 W CN2025103615 W CN 2025103615W WO 2026007782 A1 WO2026007782 A1 WO 2026007782A1
Authority
WO
WIPO (PCT)
Prior art keywords
quantization level
quantization
processor
lookup table
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/CN2025/103615
Other languages
English (en)
Inventor
Yue Yu
Haoping Yu
Jonathan GAN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Publication of WO2026007782A1 publication Critical patent/WO2026007782A1/fr
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • Embodiments of the present disclosure relate to video coding.
  • Video coding techniques may be used to compress video data, such that coding on the video data can be performed using one or more video coding standards.
  • Exemplary video coding standards may include, but not limited to, versatile video coding (H. 266/VVC) , high-efficiency video coding (H. 265/HEVC) , advanced video coding (H. 264/AVC) , moving picture expert group (MPEG) coding, enhanced video coding model (ECM) , to name a few.
  • a method of decoding by a decoder may include decoding, by a processor, a quantization level of a quantizer associated with an RRC mode from a bitstream.
  • the method may include determining, by the processor, a lookup table corresponding to the quantizer.
  • the method may include, in response to dependent quantization being disabled for the RRC mode, and in response to an absolute value of the quantization level being greater than 0, and a value of a size of the lookup table being greater than the absolute value of the quantization level, determining, by the processor, a dequantized coefficient based on the quantization level, a lookup table value corresponding to the absolute value of the quantization level in the lookup table, and an auxiliary quantization level.
  • the method may include decoding, by the processor, the bitstream based on the dequantized coefficient.
  • a decoder may include a processor and memory storing instructions.
  • the memory storing instructions, which when executed by the processor, may cause the processor to decode a quantization level of a quantizer associated with an RRC mode from a bitstream.
  • the memory storing instructions, which when executed by the processor, may cause the processor to determine a lookup table corresponding to the quantizer.
  • the memory storing instructions, which when executed by the processor, may cause the processor to, in response to dependent quantization being disabled for the RRC mode, and in response to an absolute value of the quantization level being greater than 0, and a value of a size of the lookup table being greater than the absolute value of the quantization level, determine a dequantized coefficient based on the quantization level, a lookup table value corresponding to the absolute value of the quantization level in the lookup table, and an auxiliary quantization level.
  • the memory storing instructions, which when executed by the processor, may cause the processor to decode the bitstream based on the dequantized coefficient.
  • an apparatus for decoding may include a processor and memory storing instructions.
  • the memory storing instructions, which when executed by the processor, may cause the processor to decode a quantization level of a quantizer associated with an RRC mode from a bitstream.
  • the memory storing instructions, which when executed by the processor, may cause the processor to determine a lookup table corresponding to the quantizer.
  • the memory storing instructions, which when executed by the processor, may cause the processor to, in response to dependent quantization being disabled for the RRC mode, and in response to an absolute value of the quantization level being greater than 0, and a value of a size of the lookup table being greater than the absolute value of the quantization level, determine a dequantized coefficient based on the quantization level, a lookup table value corresponding to the absolute value of the quantization level in the lookup table, and an auxiliary quantization level.
  • the memory storing instructions, which when executed by the processor, may cause the processor to decode the bitstream based on the dequantized coefficient.
  • a non-transitory computer-readable medium storing instructions for a decoder.
  • the instructions which when executed by the processor of the decoder, may cause the processor of the decoder to decode a quantization level of a quantizer associated with an RRC mode from a bitstream.
  • the instructions which when executed by the processor of the decoder, may cause the processor of the decoder to determine a lookup table corresponding to the quantizer.
  • the instructions which when executed by the processor of the decoder, may cause the processor of the decoder to, in response to dependent quantization being disabled for the RRC mode, and in response to an absolute value of the quantization level being greater than 0, and a value of a size of the lookup table being greater than the absolute value of the quantization level, determine a dequantized coefficient based on the quantization level, a lookup table value corresponding to the absolute value of the quantization level in the lookup table, and an auxiliary quantization level.
  • the instructions which when executed by the processor of the decoder, may cause the processor of the decoder to decode the bitstream based on the dequantized coefficient.
  • FIG. 1 illustrates a block diagram of an exemplary encoding system, according to some embodiments of the present disclosure.
  • FIG. 2 illustrates a block diagram of an exemplary decoding system, according to some embodiments of the present disclosure.
  • FIG. 3 illustrates a detailed block diagram of an exemplary encoder in the encoding system in FIG. 1, according to some embodiments of the present disclosure.
  • FIG. 4 illustrates a detailed block diagram of an exemplary decoder in the decoding system in FIG. 2, according to some embodiments of the present disclosure.
  • FIG. 5 illustrates an exemplary picture divided into coding tree units (CTUs) , according to some embodiments of the present disclosure.
  • CTUs coding tree units
  • FIG. 6 illustrates an exemplary CTU divided into coding units (CUs) , according to some embodiments of the present disclosure.
  • FIG. 7 illustrates a schematic visualization of two scalar quantizers with different reconstruction values, according to some embodiments of the present disclosure.
  • FIG. 8 illustrates a schematic visualization of state transition and quantizer selection for dependent quantization (DQ) , according to some embodiments of the present disclosure.
  • FIG. 9 illustrates a flowchart of a method of decoding, according to some embodiments of the present disclosure.
  • references in the specification to “one embodiment, ” “an embodiment, ” “an example embodiment, ” “some embodiments, ” “certain embodiments, ” etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases do not necessarily refer to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it would be within the knowledge of a person skilled in the pertinent art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
  • terminology may be understood at least in part from usage in context.
  • the term “one or more” as used herein, depending at least in part upon context may be used to describe any feature, structure, or characteristic in a singular sense or may be used to describe combinations of features, structures or characteristics in a plural sense.
  • terms, such as “a, ” “an, ” or “the, ” again, may be understood to convey a singular usage or to convey a plural usage, depending at least in part upon context.
  • the term “based on” may be understood as not necessarily intended to convey an exclusive set of factors and may, instead, allow for existence of additional factors not necessarily expressly described, again, depending at least in part on context.
  • video coding includes both encoding and decoding a video.
  • Encoding and decoding of a video can be performed by the unit of block.
  • an encoding/decoding process such as transform, quantization, prediction, in-loop filtering, reconstruction, or the like may be performed on a coding block, a transform block, or a prediction block.
  • a block to be encoded/decoded will be referred to as a “current block. ”
  • the current block may represent a coding block, a transform block, or a prediction block according to a current encoding/decoding process.
  • unit indicates a basic unit for performing a specific encoding/decoding process
  • block indicates a sample array of a predetermined size. Unless otherwise stated, the “block” and “unit” may be used interchangeably.
  • FIG. 1 illustrates a block diagram of an exemplary encoding system 100, according to some embodiments of the present disclosure.
  • FIG. 2 illustrates a block diagram of an exemplary decoding system 200, according to some embodiments of the present disclosure.
  • Each system 100 or 200 may be applied or integrated into various systems and apparatus capable of data processing, such as computers and wireless communication devices.
  • system 100 or 200 may be the entirety or part of a mobile phone, a desktop computer, a laptop computer, a tablet, a vehicle computer, a gaming console, a printer, a positioning device, a wearable electronic device, a smart sensor, a virtual reality (VR) device, an augmented reality (AR) device, or any other suitable electronic devices having data processing capability.
  • VR virtual reality
  • AR augmented reality
  • system 100 or 200 may include a processor 102, a memory 104, and an interface 106. These components are shown as connected to one another by a bus, but other connection types are also permitted. It is understood that system 100 or 200 may include any other suitable components for performing functions described here.
  • Processor 102 may be a hardware device having one or more processing cores.
  • Processor 102 may execute software.
  • Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.
  • Software can include computer instructions written in an interpreted language, a compiled language, or machine code. Other techniques for instructing hardware are also permitted under the broad category of software.
  • Memory 104 can broadly include both memory (a. k. a, primary/system memory) and storage (a. k. a. secondary memory) .
  • memory 104 may include random-access memory (RAM) , read-only memory (ROM) , static RAM (SRAM) , dynamic RAM (DRAM) , ferro-electric RAM (FRAM) , electrically erasable programmable ROM (EEPROM) , compact disc read-only memory (CD-ROM) or other optical disk storage, hard disk drive (HDD) , such as magnetic disk storage or other magnetic storage devices, Flash drive, solid-state drive (SSD) , or any other medium that can be used to carry or store desired program code in the form of instructions that can be accessed and executed by processor 102.
  • RAM random-access memory
  • ROM read-only memory
  • SRAM static RAM
  • DRAM dynamic RAM
  • FRAM ferro-electric RAM
  • EEPROM electrically erasable programmable ROM
  • CD-ROM compact disc read-only memory
  • Interface 106 can broadly include a data interface and a communication interface that is configured to receive and transmit a signal in a process of receiving and transmitting information with other external network elements.
  • interface 106 may include input/output (I/O) devices and wired or wireless transceivers.
  • I/O input/output
  • FIGs. 1 and 2 it is understood that multiple interfaces can be included.
  • processor 102 may include one or more modules, such as an encoder 101.
  • FIG. 1 shows that encoder 101 is within one processor 102, it is understood that encoder 101 may include one or more sub-modules that can be implemented on different processors located closely or remotely with each other.
  • Encoder 101 (and any corresponding sub-modules or sub-units) can be hardware units (e.g., portions of an integrated circuit) of processor 102 designed for use with other components or software units implemented by processor 102 through executing at least part of a program, e.g., instructions.
  • the instructions of the program may be stored on a computer-readable medium, such as memory 104, and when executed by processor 102, it may perform a process having one or more functions related to video encoding, such as picture partitioning, inter prediction, intra prediction, transformation, quantization, filtering, entropy encoding, etc., as described below in detail.
  • processor 102 may include one or more modules, such as a decoder 201.
  • FIG. 2 shows that decoder 201 is within one processor 102, it is understood that decoder 201 may include one or more sub-modules that can be implemented on different processors located closely or remotely with each other.
  • Decoder 201 (and any corresponding sub-modules or sub-units) can be hardware units (e.g., portions of an integrated circuit) of processor 102 designed for use with other components or software units implemented by processor 102 through executing at least part of a program, e.g., instructions.
  • the instructions of the program may be stored on a computer-readable medium, such as memory 104, and when executed by processor 102, it may perform a process having one or more functions related to video decoding, such as entropy decoding, inverse quantization, inverse transformation, inter prediction, intra prediction, filtering, as described below in detail.
  • FIG. 3 illustrates a detailed block diagram of exemplary encoder 101 in encoding system 100 in FIG. 1, according to some embodiments of the present disclosure.
  • encoder 101 may include a partitioning module 302, an inter prediction module 304, an intra prediction module 306, a transform module 308, a quantization module 310, a dequantization module 312, an inverse transform module 314, a filter module 316, a buffer module 318, and an encoding module 320.
  • partitioning module 302 an inter prediction module 304
  • intra prediction module 306 a transform module 308, a quantization module 310, a dequantization module 312, an inverse transform module 314, a filter module 316, a buffer module 318, and an encoding module 320.
  • each of the elements shown in FIG. 3 is independently shown to represent characteristic functions different from each other in a video encoder, and it does not mean that each component is formed by the configuration unit of separate hardware or single software.
  • each element is included to be listed as an element for convenience of explanation, and at least two of the elements may be combined to form a single element, or one element may be divided into a plurality of elements to perform a function. It is also understood that some of the elements are not necessary elements that perform functions described in the present disclosure but instead may be optional elements for improving performance. It is further understood that these elements may be implemented using electronic hardware, firmware, computer software, or any combination thereof. Whether such elements are implemented as hardware, firmware, or software depends upon the particular application and design constraints imposed on encoder 101.
  • Partitioning module 302 may be configured to partition an input picture of a video into at least one processing unit.
  • a picture can be a frame of the video or a field of the video.
  • a picture includes an array of luma samples in monochrome format, or an array of luma samples and two corresponding arrays of chroma samples.
  • the processing unit may be a prediction unit (PU) , a transform unit (TU) , or a coding unit (CU) .
  • Partitioning module 302 may partition a picture into a combination of a plurality of coding units, prediction units, and transform units, and encode a picture by selecting a combination of a coding unit, a prediction unit, and a transform unit based on a predetermined criterion (e.g., a cost function) .
  • a predetermined criterion e.g., a cost function
  • H. 266/VVC is a block-based hybrid spatial and temporal predictive coding scheme.
  • an input picture 500 is first divided into square blocks - CTUs 502, by partitioning module 302.
  • CTUs 502 can be blocks of 128 ⁇ 128 pixels.
  • each CTU 502 in input picture 500 can be partitioned by partitioning module 302 into one or more CUs 602, which can be used for prediction and transformation.
  • CUs 602 can be rectangular or square, and can be coded without further partitioning into prediction units or transform units. For example, as shown in FIG.
  • the partition of CTU 502 into CUs 602 may include quadtree splitting (indicated in solid lines) , binary tree splitting (indicated in dashed lines) , and ternary splitting (indicated in dash-dotted lines) .
  • Each CU 602 can be as large as its root CTU or be subdivisions of root CTU 502 as small as 4 ⁇ 4 blocks, according to some embodiments.
  • inter prediction module 304 may be configured to perform inter prediction on a prediction unit
  • intra prediction module 306 may be configured to perform intra prediction on the prediction unit. It may be determined whether to use inter prediction or to perform intra prediction for the prediction unit, and determine specific information (e.g., intra prediction mode, motion vector, reference picture, etc. ) according to each prediction method.
  • a processing unit for performing prediction may be different from a processing unit for determining a prediction method and specific content. For example, a prediction method and a prediction mode may be determined in a prediction unit, and prediction may be performed in a transform unit. Residual coefficients in a residual block between the generated prediction block and the original block may be input into transform module 308.
  • prediction mode information, motion vector information, and the like used for prediction may be encoded by encoding module 320 together with the residual coefficients or quantization levels into the bitstream. It is understood that in certain encoding modes, an original block may be encoded as it is without generating a prediction block through prediction module 304 or 306. It is also understood that in certain encoding modes, prediction, transform, and/or quantization may be skipped as well.
  • inter prediction module 304 may predict a prediction unit based on information on at least one picture among pictures before or after the current picture, and in some cases, it may predict a prediction unit based on information on a partial area that has been encoded in the current picture.
  • Inter prediction module 304 may include sub-modules, such as a reference picture interpolation module, a motion prediction module, and a motion compensation module (not shown) .
  • the reference picture interpolation module may receive reference picture information from buffer module 318 and generate pixel information of an integer number of pixels or less from the reference picture.
  • a discrete cosine transform (DCT) -based 8-tap interpolation filter with a varying filter coefficient may be used to generate pixel information of an integer number of pixels or less by the unit of 1/4 pixels.
  • a DCT-based 4-tap interpolation filter with a varying filter coefficient may be used to generate pixel information of an integer number of pixels or less by the unit of 1/8 pixels.
  • the motion prediction module may perform motion prediction based on the reference picture interpolated by the reference picture interpolation part.
  • Various methods such as a full search-based block matching algorithm (FBMA) , a three-step search (TSS) , and a new three-step search algorithm (NTS) may be used as a method of calculating a motion vector.
  • the motion vector may have a motion vector value of a unit of 1/2, 1/4, or 1/16 pixels or integer pel based on interpolated pixels.
  • the motion prediction module may predict a current prediction unit by varying the motion prediction method.
  • Various methods such as a skip method, a merge method, an advanced motion vector prediction (AMVP) method, an intra-block copy method, and the like, may be used as the motion prediction method.
  • AMVP advanced motion vector prediction
  • intra prediction module 306 may generate a prediction unit based on the information on reference pixels around the current block, which is pixel information in the current picture.
  • the reference pixels may be located in reference lines non-adjacent to the current block.
  • the reference pixel included in the block on which inter prediction has been performed may be used in place of reference pixel information of a block in the neighborhood on which intra prediction has been performed. That is, when a reference pixel is unavailable, at least one reference pixel among available reference pixels may be used in place of unavailable reference pixel information.
  • the prediction mode may have an angular prediction mode that uses reference pixel information according to a prediction direction, and a non-angular prediction mode that does not use directional information when performing prediction.
  • a mode for predicting luminance information may be different from a mode for predicting color difference information, and intra prediction mode information used to predict luminance information or predicted luminance signal information may be used to predict the color difference information.
  • the intra prediction may be performed for the prediction unit based on pixels on the left side, pixels on the top-left side, and pixels on the top of the prediction unit. However, if the size of the prediction unit is different from the size of the transform unit when the intra prediction is performed, the intra prediction may be performed using a reference pixel based on the transform unit.
  • the intra prediction method may generate a prediction block after applying an adaptive intra smoothing (AIS) filter to the reference pixel according to a prediction mode.
  • AIS adaptive intra smoothing
  • the type of the AIS filter applied to the reference pixel may vary.
  • the intra prediction mode of the current prediction unit may be predicted from the intra prediction mode of the prediction unit existing in the neighborhood of the current prediction unit.
  • a prediction mode of the current prediction unit is predicted using the mode information predicted from the neighboring prediction unit
  • the intra prediction modes of the current prediction unit are the same as the prediction unit in the neighborhood
  • information indicating that the prediction modes of the current prediction unit are the same as the prediction unit in the neighborhood may be transmitted using predetermined flag information, and if the prediction modes of the current prediction unit and the prediction unit in the neighborhood are different from each other, prediction mode information of the current block may be encoded by extra flags information.
  • a residual block including a prediction unit that has performed prediction based on the prediction unit generated by prediction module 304 or 306 and residual coefficient information (also referred to herein as the “residual” ) , which is a difference value of the prediction unit with the original block, may be generated.
  • the generated residual block may be input into transform module 308. Additional details of residuals and transforms for video coding will now be provided.
  • redundancy in the video signal is first exploited by applying inter or intra prediction tools for each CU.
  • the difference between the original samples of a CU and the prediction block for that CU is commonly referred to as the residual.
  • the residual Even after prediction, the residual may still be highly spatially correlated.
  • conditional entropy coding can capture some spatial dependency between adjacent samples, it is computationally impractical to form entropy coding statistical models that can fully exploit spatial correlation in the residual.
  • transform coding is a practical and effective method for spatially decorrelating the residual.
  • transform module 308 may transform the residual using an integerized version of the two-dimensional discrete cosine transform (DCT) , which may be applied separably in the horizontal and vertical directions.
  • DCT discrete cosine transform
  • transform module 308 may obtain transform coefficients by applying an MxM DCT to each row, resulting in intermediate transform coefficients, and then applying an NxN DCT to each column of intermediate transform coefficients.
  • intra-coded CUs For intra-coded CUs (also referred to herein as “intra CUs” ) , spatial neighboring reconstructed samples are used to predict the current block, and the intra prediction mode is signaled once for the entire CU.
  • Each CU consists of one or more collocated coding blocks (CBs) corresponding to the color components of the video sequence.
  • CBs collocated coding blocks
  • consumer video typically takes the 4: 2: 0 chroma format, in which case each CU consists of a luma CB and two chroma CBs with one-quarter of the samples of the luma CB.
  • Intra prediction and transform coding are performed at the prediction block (PB) and transform block (TB) levels, respectively.
  • Each CB consists of a single TB, except in the cases of Intra Subpartition (ISP) mode and implicit splitting.
  • ISP Intra Subpartition
  • luma TBs are further specified as W ⁇ H rectangular blocks of width W and height H, where W, H ⁇ ⁇ 4, 8, 16, 32, 64 ⁇ .
  • W, H ⁇ ⁇ 2, 4, 8, 16, 32 ⁇ are rectangular W ⁇ H blocks of width W and height H.
  • W, H ⁇ ⁇ 2, 4, 8, 16, 32 ⁇ but blocks of shapes 2 ⁇ H and 4 ⁇ 2 are excluded in order to address memory architecture and throughput requirements.
  • each picture is divided into a tiling of square CTUs, which are processed in raster scan order.
  • an intra prediction method is performed on a current CU 602 in a current CTU 502
  • samples belonging to other CTUs preceding current CTU 502 in raster scan order are reconstructed and may be available for prediction.
  • Samples belonging to CTUs following the current CTU 502 in raster scan order are not reconstructed and, therefore, are not available.
  • Each CTU 502 itself is partitioned into CUs by a hierarchical structure consisting of quadtree, binary tree, and ternary tree splits, with an example of such splits shown in FIG. 6.
  • the scan order of CUs within a CTU 502 is determined by the partitioning structure. For a single level of partitioning split, the partitions are scanned in the following order: 1) left to right for the cases of horizontal binary tree split or horizontal ternary tree split, 2) top to bottom for the cases of vertical binary tree split or vertical ternary tree split, and 3) top-left, top-right, bottom-left, bottom-right for the case of quadtree split.
  • FIG. 6 shows an example of partitioning of a CTU 502 into 15 CUs.
  • Each CU 602 in FIG. 6 is numbered from 1 to 15 to indicate their scan order.
  • Samples belonging to a CTU preceding the current CTU in raster scan order are considered reconstructed by the definition above. However, they are not necessarily available for intra prediction. To be considered available for prediction, they must also belong to a logical unit that the current CU is permitted to use. Pictures may be divided into sub-picture partitions, each of which contains a whole number of CTUs.
  • transform module 308 can transform the video signals in the residual block from the pixel domain to a transform domain (e.g., a frequency domain depending on the transform method) . It is understood that in some examples, transform module 308 may be skipped, and the video signals may not be transformed to the transform domain.
  • a transform domain e.g., a frequency domain depending on the transform method
  • Quantization module 310 may be configured to quantize the coefficient of each position in the coding block to generate quantization levels of the positions.
  • the current block may be the residual block. That is, quantization module 310 can perform a quantization process on each residual block.
  • the residual block may include N ⁇ M positions (samples) , each associated with a transformed or non-transformed video signal/data, such as luma and/or chroma information, where N and M are positive integers.
  • the transformed or non-transformed video signal at a specific position is referred to herein as a “coefficient. ”
  • the quantized value of the coefficient is referred to herein as a “quantization level” or “level. ”
  • Quantization can be used to reduce the dynamic range of transformed or non-transformed video signals so that fewer bits will be used to represent video signals. Quantization typically involves division by a quantization step size and subsequent rounding, while dequantization (a. k. a. inverse quantization) involves multiplication by the quantization step size.
  • the quantization step size can be indicated by a quantization parameter (QP) .
  • QP quantization parameter
  • Such a quantization process is referred to as scalar quantization.
  • the quantization of all coefficients within a coding block can be done independently, and this kind of quantization method is used in some existing video compression standards, such as H. 264/AVC and H. 265/HEVC.
  • the QP in quantization can affect the bit rate used for encoding/decoding the pictures of the video. For example, a higher QP can result in a lower bit rate, and a lower QP can result in a higher bit rate.
  • encoding module 320 may be configured to encode the quantization level of each position in the coding block into the bitstream.
  • encoding module 320 may perform entropy encoding on the coding block.
  • Entropy encoding may use various binarization methods, such as Golomb-Rice binarization, to convert each quantization level into a respective binary representation, such as binary bins. Then, the binary representation can be further compressed using entropy encoding algorithms. The compressed data may be added to the bitstream.
  • encoding module 320 may encode various other information, such as block type information of a coding unit, prediction mode information, partitioning unit information, prediction unit information, transmission unit information, motion vector information, reference frame information, block interpolation information, and filtering information input from, for example, prediction modules 304 and 306.
  • encoding module 320 may perform residual coding on a coding block to convert the quantization level into the bitstream. For example, after quantization, there may be N ⁇ M quantization levels for an N ⁇ M block. These N ⁇ M levels may be zero or non-zero values. The non-zero levels may be further binarized to binary bins if the levels are not binary, for example, using combined Truncated Rice (TR) and limited EGk binarization.
  • TR Truncated Rice
  • Non-binary syntax elements may be mapped to binary codewords.
  • the bijective mapping between symbols and codewords, for which typically simple structured codes are used, is called binarization.
  • the binary symbols, also called bins, of both binary syntax elements and codewords for non-binary data may be coded using binary arithmetic coding.
  • the core coding engine of context-adaptive binary arithmetic coding can support two operating modes: a context coding mode, in which the bins are coded with adaptive probability models, and a less complex bypass mode that uses a fixed probability of 1/2.
  • the adaptive probability models are also called contexts, and the assignment of probability models to individual bins is referred to as context modeling.
  • dequantization module 312 may be configured to dequantize the quantization levels by dequantization module 312, and inverse transform module 314 may be configured to inversely transform the coefficients transformed by transform module 308.
  • the reconstructed residual block generated by dequantization module 312 and inverse transform module 314 may be combined with the prediction units predicted through prediction module 304 or 306 to generate a reconstructed block.
  • Filter module 316 may include at least one among a deblocking filter, a sample adaptive offset (SAO) , and an adaptive loop filter (ALF) .
  • the deblocking filter may remove block distortion generated by the boundary between blocks in the reconstructed picture.
  • the SAO module may correct an offset to the original video by the unit of pixel for a video on which the deblocking has been performed.
  • ALF may be performed based on a value obtained by comparing the reconstructed and filtered video with the original video.
  • Buffer module 318 may be configured to store the reconstructed block or picture calculated through filter module 316, and the reconstructed and stored block or picture may be provided to inter prediction module 304 when inter prediction is performed.
  • FIG. 4 illustrates a detailed block diagram of exemplary decoder 201 in decoding system 200 in FIG. 2, according to some embodiments of the present disclosure.
  • decoder 201 may include a decoding module 402, a dequantization module 404, an inverse transform module 406, an inter prediction module 408, an intra prediction module 410, a filter module 412, and a buffer module 414. It is understood that each of the elements shown in FIG. 4 is independently shown to represent characteristic functions different from each other in a video decoder, and it does not mean that each component is formed by the configuration unit of separate hardware or single software.
  • each element is included to be listed as an element for convenience of explanation, and at least two of the elements may be combined to form a single element, or one element may be divided into a plurality of elements to perform a function. It is also understood that some of the elements are not necessary elements that perform functions described in the present disclosure but instead may be optional elements for improving performance. It is further understood that these elements may be implemented using electronic hardware, firmware, computer software, or any combination thereof. Whether such elements are implemented as hardware, firmware, or software depends upon the particular application and design constraints imposed on decoder 201.
  • Decoding module 402 may be configured to decode the bitstream to obtain various information encoded into the bitstream, such as the quantization level of each position in the coding block.
  • decoding module 402 may perform entropy decoding (decompressing) corresponding to the entropy encoding (compressing) performed by the encoder, such as, for example, variable length coding (VLC) , context-adaptive variable-length coding (CAVLC) , CABAC, syntax-based binary arithmetic coding (SBAC) , PIPE coding, and the like to obtain the binary representation (e.g., binary bins) .
  • Decoding module 402 may further convert the binary representations to quantization levels using Golomb-Rice binarization, including, for example, EGk binarization and combined TR and limited EGk binarization.
  • decoding module 402 may decode various other information, such as the parameters used for Golomb-Rice binarization (e.g., the Rice parameter) , block type information of a coding unit, prediction mode information, partitioning unit information, prediction unit information, transmission unit information, motion vector information, reference frame information, block interpolation information, and filtering information.
  • decoding module 402 may perform rearrangement on the bitstream to reconstruct and rearrange the data from a 1D order into a 2D rearranged block through a method of inverse-scanning based on the coding scan order used by the encoder.
  • Dequantization module 404 may be configured to dequantize the quantization level of each position of the coding block (e.g., the 2D reconstructed block) to obtain the coefficient of each position.
  • dequantization module 404 may perform dependent dequantization based on quantization parameters provided by the encoder as well, including the information related to the quantizers used in dependent quantization, for example, the quantization step size used by each quantizer.
  • Inverse transform module 406 may be configured to perform inverse transformation, for example, inverse discrete cosine transform (DCT) , inverse DST, and inverse Karhunen-Loève transform (KLT) , for DCT, DST, and KLT performed by the encoder, respectively, to transform the data from the transform domain (e.g., coefficients) back to the pixel domain (e.g., luma and/or chroma information) .
  • inverse transform module 406 may selectively perform a transform operation (e.g., DCT, DST, KLT) according to a plurality of pieces of information such as a prediction method, a size of the current block, a prediction direction, and the like.
  • Inter prediction module 408 and intra prediction module 410 may be configured to generate a prediction block based on information related to the generation of a prediction block provided by decoding module 402 and information of a previously decoded block or picture provided by buffer module 414. As described above, if the size of the prediction unit and the size of the transform unit are the same when intra prediction is performed in the same manner as the operation of the encoder, intra prediction may be performed on the prediction unit based on the pixel existing on the left side, the pixel on the top-left side, and the pixel on the top of the prediction unit. However, if the size of the prediction unit and the size of the transform unit are different when intra prediction is performed, intra prediction may be performed using a reference pixel based on a transform unit.
  • inter prediction module 408 may be configured to receive a bitstream that includes a reference frame, a current frame, and an indication of a weighting factor associated with a multiple-hypothesis prediction (MHP) procedure from an encoder.
  • Inter prediction module 408 may be configured to perform the MHP procedure for a CU located in the current frame based on a search block (e.g., reference frame and/or reference template) in the reference frame.
  • a search block e.g., reference frame and/or reference template
  • the inter prediction module 408 may be configured to perform template matching for the CU located in the current frame based on a search block in the reference frame and the weighting factor to obtain motion information.
  • inter prediction module 408 may be configured to identify a weighting factor index associated with the weighting factor based on the template matching.
  • Inter prediction module 408 may be configured to identify a weighting factor sign of the weighting factor based on an indication included in the bitstream.
  • Inter prediction module performs an inter prediction procedure based on the current frame, the reference frame, the weighting factor index, and the weighting factor sign of the weighting factor to decode the bitstream.
  • the reconstructed block or reconstructed picture combined from the outputs of inverse transform module 406 and prediction module 408 or 410 may be provided to filter module 412.
  • Filter module 412 may include a deblocking filter, an offset correction module, and an ALF.
  • Buffer module 414 may store the reconstructed picture or block and use it as a reference picture or a reference block for inter prediction module 408 and may output the reconstructed picture.
  • encoding module 320 and decoding module 402 may be configured to adopt a scheme of quantization level binarization with Rice parameter adapted to the bit depth and/or the bit rate for encoding the picture of the video to improve the coding efficiency.
  • quantization is a key step applied in reducing the amount of data needed to represent a video frame.
  • the difference between the original signal and predicted signal is obtained. This difference may be referred to as a residual.
  • the residual may be transformed by applying a primary transform and optionally a further secondary transform. The residual may also not be transformed and in such cases may be called a transform skip residual.
  • the transformed or non-transformed residual consists of a set of coefficients.
  • each coefficient is quantized by applying division with a specified quantization step size to reduce the dynamic range of the coefficient.
  • the result after this process is a quantization level (also referred to as a “level” ) .
  • the quantization level is an integer number.
  • the quantization levels are entropy coded to generate the bitstream at the encoder 101.
  • the encoder 101 may calculate a quantization level (level) according to formula (1) , as shown below.
  • Such quantization is also called scalar quantization.
  • the quantization module 310 rounds off the value of the level in formula (1) to an integer number and decides the integer number to which the value of the level is rounded.
  • the level is entropy coded by encoding module 320 to the bitstream using a certain number of bits.
  • a smaller qp step keeps fine details and result in a larger number of bits
  • a larger qp step keeps coarser information and loses some finer details, which results in a smaller number of bits compared with a smaller qp step .
  • dequantization module 404 de-quantizes or scales the level to recover the coefficient according to formula (2) , as shown below.
  • icoef level*qp step (2) , where icoef is an inverse coefficient (also referred to as a “de-quantized coefficient” or a “reconstructed coefficient” ) .
  • the inverse coefficient (icoef) may have a different value than the coefficient (coef) due to the quantization and de-quantization processes.
  • the difference between coef and icoef is referred to as the “quantization error. ”
  • De-quantization typically cannot recover all information. Thus, the quantization/de-quantization processes may result in a lossy coding.
  • the scalar quantization applied to each coefficient effectively results in the quantized residual being assigned to one of a set of hyper-cubes spanning the space.
  • vector quantization can reduce the quantization error for the same amount of bit consumption by packing the hyper-dimensional space with “rounder” Voronoi cells.
  • shape gain the coding gain provided purely by switching from scalar quantization to vector quantization is typically referred to as “shape gain. ”
  • Vector quantization is typically impractical to implement in video coding due to its complexity.
  • a class of vector quantization sometimes referred to as trellis coded quantization, and referred to as dependent quantization (DQ) in VVC, provides a practical solution by effectively providing vector quantization of the residual through switching between two different and offset scalar quantizers.
  • DQ dependent quantization
  • Quantization of a coefficient within a coding block may make use of the coding scan order information. For example, it may depend on the status of the previous quantization level along the coding scan order. To further improve the coding efficiency, more than one quantizer, e.g., two scalar quantizers, can be used by quantization module 310, shown in FIG. 3. Which quantizer will be used for quantizing the current coefficient may depend on the information preceding the current coefficient in coding scan order. Such a quantization process is referred to as dependent quantization (DQ) .
  • DQ dependent quantization
  • DQ DQ-dependent quantizers with different reconstruction values and 2) defining a process for switching between the two scalar quantizers.
  • FIG. 7 illustrates a schematic visualization of two scalar quantizers 700 with different reconstruction values, according to some embodiments of the present disclosure.
  • the two scalar quantizers 700 are denoted by Q0 and Q1.
  • Each of these two quantizers can be considered as a quantizer that has 2 ⁇ quantization step size.
  • the location of the available reconstruction values for DQ is uniquely specified by a quantization step size ⁇ .
  • the two scalar quantizers Q0 and Q1 are characterized as follows.
  • the reconstruction values of the first quantizer Q0 are given by the even integer multiples of the quantization step size ⁇ .
  • a reconstructed coefficient icoef is calculated according to formula (3) , as shown below. where k denotes the corresponding transform coefficient level.
  • the reconstruction values of the second quantizer Q1 are given by the odd integer multiples of the quantization step size ⁇ and the reconstruction value equal to zero.
  • the level k for each quantizer (Q0 or Q1) is coded in the bitstream and a quantization index for DQ can be calculated based upon the index of two quantizers according to formula (5) , as shown below.
  • y i is the quantization index for DQ.
  • Formula (3) and (4) can be simplified into a single quantizer function where i equals 0 for quantizer Q0, and 1 for quantizer Q1. Then the inverse quantization to calculate icoef based upon DQ’s quantization index y i can be simplified as follows.
  • the scalar quantizer used (Q0 or Q1) is not explicitly signalled in the bitstream. Instead, the quantizer used for a current coefficient is determined by a quantizer state, and the parities of the levels that precede the current coefficient in coding/reconstruction order. For example, a schematic visualization of state transition and quantizer selection 800 for dependent quantization in VVC is illustrated in FIG. 8.
  • the quantizer state which may also be referred to as “Qstate, ” is initialized as 0.
  • the quantizer is selected according to the value of the quantizer state at the start of encoding or decoding that coefficient.
  • Quantizer state 0 or 1 selects Q0, while quantizer state 2 or 3 selects Q1. Equivalently, the quantizer selected is (QState > 1 ? 1 : 0 ) .
  • the first coefficient is decoded using the initialized quantizer state of 0, which selects quantizer Q0.
  • the state is updated according to a state transition that is controlled by the parity of the quantization level.
  • the parity is the last bit of quantization level k, which can be isolated by bitwise AND operation with the value 1 (i.e., k &1 as shown in FIG. 8) .
  • the transitions are shown both graphically and in table form in FIG. 8, however in practice the state transition is implemented by a state transition table.
  • ECM increases the number of quantizer states to 8, however the mechanism of selecting the quantizer is similar. State transitions are still performed according to the parity of quantization level k, and which of quantizers Q0 or Q1 is selected is determined by a mapping from the current Qstate.
  • the quantization step size determines the upper bound of quantization error. For a given coefficient, it could be quantized to two level indices, l and l-1, along the quantization level line according to formula (1) , where l is an integer number.
  • the distortion (quantization error) for these two levels to represent the given coefficient are denoted as dist (l) and dist (l-1) and can be calculated according to formulas (7) and (8) , respectively, as shown below.
  • dist (l) (coef-icoef (l) ) 2 (7)
  • dist (l-1) (coef-icoef (l-1) ) 2 (8)
  • icoef (l) and icoef (l-1) represent the reconstructed coefficients for level l and level l- 1 and can be calculated according to formula (2) .
  • variable length coding the number of bits used to code different levels may be different.
  • level coding if the level is a non-zero number, the sign of the level and the absolute value of the level will be coded separately.
  • the number of bits used to code level l typically are greater than the number bits used to code level l-1 when l is a positive number.
  • the number of bits used to code level l-1 is typically larger than the number of bits used to code level l when l is a negative number.
  • variable length coding typically uses a larger number of bits to code a larger absolute value of the level than the number of bits used to code a smaller absolute value of the level.
  • the minimum of the rate-distortion (RD) cost (cost) may be typically selected for quantizing the given coefficient.
  • the RD costs for coding levels l and l-1 are calculated, and the smaller cost for coding a coefficient is then selected by the quantization module 310 to represent the quantized version of the given coefficient.
  • a smaller absolute value of a level typically will consume a fewer number of bits compared to the larger absolute value of a level.
  • coding level 5 typically will consume fewer bits compared to coding level 6. Therefore, some quantizers may favor quantizing a given coefficient to a smaller level while this level may have a slightly larger distortion.
  • the dequantized coefficient typically is smaller than the real coefficient because the quantizer intends to quantize the given coefficient to a relatively smaller level instead of a larger level.
  • the reconstructed coefficients are calculated by simply scaling the levels. This is equivalent to placing the reconstructed coefficient values for each level at the midpoint (e.g., center) of its corresponding quantization bin. Shifting the quantization center may move the reconstructed coefficient value away from the center of these quantization bins. De-quantized coefficient values are shifted and the amount of shifting is proportional to the gradient of the rate.
  • a quantization index y i of DQ is used to predict the rate R (y i ) and the rate is modelled as increasing by the logarithm of the absolute value of the index according to formula (10) , as shown below.
  • y i ⁇ Z is the quantization index for DQ
  • a, b ⁇ R are two real numbers.
  • the gradient of the rate may be calculated according to formula (11) , as shown below. where y i ⁇ 0 (11) .
  • the actual shifting amount of a dequantization coefficient is depended on the values of T [
  • T [0, 63, 31, 21, 15, 12, 10, 9, 7, 7, 6, 5, 5, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] (14) .
  • formula (12) is calculated using quantization index y i , based on an assumption of the rate of y i expressed in formula (10) .
  • the quantization index is never actually coded to the bitstream.
  • DQ consists of two individual scalar quantizers, where for each coefficient a quantizer is selected, and then the quantization level k for the selected quantizer is actually coded in the bitstream.
  • formula (10) predicts different rates for quantization indices 3 and 4. However, both of these values result in the same quantization level.
  • Quantization index 3 is signalled by coding the Q0 quantization level 2 to the bitstream
  • quantization index 4 is signalled by coding the Q1 quantization level 2 to the bitstream. While some difference in signalling cost is still expected because of differences in context modelling, the rate to signal these levels is much closer than what formula (10) models.
  • the present disclosure proposes that the actual coded quantization level from individual quantizers will be used to predict the rate instead of the quantization index of DQ. More specifically, the quantization level k is used to predict the rate R (k) for each of the quantizers, and the rate increases by the logarithm of the absolute value of the quantization level k according to formula (15) , as shown below. where k ⁇ Z is the quantization level from either Q0 or Q1, and a, b ⁇ R are real numbers.
  • the gradient of the rate may be calculated according to formula (16) , as shown below. where k ⁇ 0 (16) .
  • lookup table T An integer valued lookup table T, shown below in formula (17) , is used in the proposed method, where each element in lookup table T is the shifting amount for each possible unique absolute quantization level for the individual quantizer, including both Q0 and Q1.
  • the shifting of the dequantized coefficients is performed according to formula (18) , as shown below.
  • i indicates the quantizer Q0 or Q1
  • icoef is the dequantized coefficient
  • is the size of the lookup table
  • k′ is the auxiliary quantization level that can be calculated as shown in formula (19)
  • k′ k+ (k>0? 1: -1) (19) .
  • T [0, 31, 15, 10, 7, 6, 5, 4, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] (20) .
  • two separate lookup tables T0 and T1 may be used for the Q0 and Q1 quantizers, respectively.
  • the two lookup tables may be the same size but contain different values.
  • the number of bits generated for a Q0 quantization level may be different from the number of bits generated for a Q1 quantization level because the contexts used to code Q0 quantization levels are different from that for Q1 quantization levels.
  • Q1 may generate fewer bits. Therefore, in such case it may be advantageous for Q1 to shift more.
  • T0 may be determined according to formula (17) , and then all entries in T1 may shift a fixed offset relative to the quantization center shifts made in T0 except the value of the first entry (0) .
  • only the second entry of T1 may be modified to shift more as shown below in formulas (21) and (22) .
  • T0 [0, 31, 15, 10, 7, 6, 5, 4, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] (21)
  • T1 [0, x, 15, 10, 7, 6, 5, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] (22) , where x is an integer, e.g., 47 or 63.
  • the dequantized coefficients for Q0 and Q1 may be respectively calculated according to formulas (23) and (24) , as shown below. and where icoef is the dequantized coefficient,
  • icoef may be used to refer to a dequantized coefficient.
  • the value of the dequantized coefficient is also equivalent to the position of the shifted quantization center for that quantization level.
  • the dequantized coefficient may be referred to as a reconstructed coefficient, or a scaled coefficient.
  • coefficient may be taken as an abbreviation for transform coefficient, or in the case of transform skip coding, as an abbreviation for prediction residual coefficient, or residual coefficient.
  • the dequantized coefficient icoef may also be referred to as a dequantized transform coefficient, a reconstructed transform coefficient, a scaled transform coefficient, a dequantized prediction residual coefficient, a dequantized residual coefficient, a reconstructed prediction residual coefficient, a reconstructed residual coefficient, a scaled prediction residual coefficient, or a scaled residual coefficient, just to name a few.
  • two separate lookup tables T0 and T1 may be used for the Q0 and Q1 quantizers, respectively.
  • the two lookup tables may be determined with two different values of ⁇ 0 and ⁇ 1 . Therefore, the lookup tables have different sizes and contain different values.
  • the amount of dequantization value shifting for the same quantization level from quantizers Q0 and Q1 may be similar.
  • the dequantization value of Q1 is smaller than that of Q0 for the same quantization level k according to DQ. Therefore, the shifting of dequantization value for Q1 may be less than that for Q0 for the same quantization level according to (18) , (23) , and (24) .
  • Q1 and Q0 may use different values of ⁇ 0 and ⁇ 1 to decide the shifting amount. For chosen values of ⁇ 0 and ⁇ 1 , the sizes of tables T0 and T1 and the values of all entries in the tables are determined according to formula (17) .
  • a lookup table T 0 of size 32 and a lookup table T 1 of size 48 as shown in formulas (25) and (26) are used for Q0 and Q1, respectively.
  • T 0 [32] [0, 31, 15, 10, 7, 6, 5, 4, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] (25) , and
  • two lookup tables T0 and T1 may be determined with two different values of ⁇ 0 and ⁇ 1 , but then implemented as a single lookup table T resulting from interleaving the entries of T0 and T1.
  • the lookup tables of formulas (25) and (26) are interleaved to form the combined table shown below in formula (28) .
  • the lookup tables of formulas (25) and (26) are interleaved to form the combined table shown below in formula (29) .
  • the first entry of the combined table is zero
  • the second entry of the combined table is the second entry of T1 table in formula (26)
  • the third entry of the combined table is the second entry of T0 table in formula (25)
  • the fourth entry of the combined table is the third entry of T1 table in formula (26)
  • the fifth entry of the combined table is the third entry of T0 table in formula (25)
  • the length of T1 in formula (26) is longer than the length of T0 in formula (25) , some additional zeros are inserted interleavedly until the last non-zero element of T1 in formula (26) .
  • the dequantized coefficient for quantization level k from Q0 or Q1 may be calculated according to formula (30) or (31) , shown below. and where i indicates the quantizer Q0 or Q1, icoef is the dequantized coefficient,
  • y′′ i y i + (y i >0 ? 2 ⁇ -2) (33)
  • two lookup tables T0 and T1 may be determined with two different values of ⁇ 0 and ⁇ 1 , but then implemented as a combined lookup table T resulting from concatenating the entries of T0 and T1.
  • the lookup tables of formulas (25) and (26) are concatenated to form the combined table shown below in formula (34) .
  • the dequantized coefficient for quantization level k from Q0 or Q1 may be calculated according to formula (35) , as follows.
  • i indicates the quantizer Q0 or Q1
  • icoef is the dequantized coefficient
  • is size of the lookup table
  • k′ is the auxiliary quantization level that can be calculated as shown above in formula (19)
  • the method of quantization center shifting may also be applied to the quantization of coefficients in the transform skip mode.
  • the method of quantization center shifting is applied when a single scalar quantization is applied to quantize such non-transformed coefficients. Supposing the quantization level is k and the quantization step size is ⁇ for quantizing a transform skip mode coefficient, the dequantized coefficient icoef may be calculated according to formula (36) , as shown below.
  • icoef ( (1024-T [
  • k′ k+ (k>0? 1: -1) (37) .
  • T [0, 63, 31, 21, 15, 12, 10, 9, 7, 7, 6, 5, 5, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] (38) .
  • the rate-distortion cost is a sum of a rate cost and a distortion cost.
  • the rate cost is calculated by the cost of signaling the corresponding quantization level bits multiplied by a lambda value selected according to a desired rate-distortion tradeoff.
  • the distortion cost is calculated by the squared error of the difference between the original coefficient’s value and the reconstructed coefficient’s value, where the reconstructed value is assumed to be at the midpoint or center of its corresponding quantization bin.
  • encoders may use rate-distortion optimized quantization as described above, there is no requirement for encoders to quantize in this way. Some encoders may choose to quantize in a simpler manner. For example, some encoders may quantize purely by distortion minimization where the reconstructed value is assumed to be at the midpoint of the quantization bin. Some encoders may quantize purely by distortion but with the reconstructed value assumed to be at a position other than the midpoint of the quantization bin. The shifting quantization center method may not work well with bitstreams produced by these encoders.
  • quantization-center shifting provide algorithms for shifting the dequantization value of icoef when the dependent quantization tool is enabled, and an algorithm for shifting icoef when transform skip mode is used.
  • an algorithm for shifting icoef when transform skip mode is used.
  • there is no algorithm described for shifting icoef in regular residual coding e.g., where transform coefficients are decoded
  • dependent quantization is disabled.
  • the present disclosure provides technique (s) that allow the encoder to control whether quantization-center shifting is used at the decoder.
  • the proposed control of quantization-center shifting may be enabled by explicitly signaling syntax elements in the bitstream, which is described in several implementations below. This control may benefit encoders that are not suited to shifting quantization center, such as examples described above.
  • a flag e.g., quant_shifting_enabled
  • the proposed flag may be specified at different bitstream levels, e.g. SPS, PPS, picture header, or slice level. If the value of quant_shifting_enabled is equal to 1, the quantization-center shifting method will be used to shift the dequantization values according to one or more of formula (s) (18) - (36) . If the value of quant_shifting_enabled is equal to 0, the quantization-center shifting method will not be used to shift the dequantization values.
  • a flag e.g., quant_shifting_enabled
  • quant_shifting_enabled is proposed to indicate if quantization center shifting will be used. If the value of quant_shifting_enabled is equal to 1, two more flags, e.g., quant_shifting_tsrc_enabled and quant_shifting_rrc_enabled, will be further signaled to indicate whether quantization-center shifting will be applied to the dequantization of transform skip coefficients and the dequantization of regular residual coding coefficients, respectively.
  • the quantization-center shifting method will be used to shift the dequantization values of regular residual coding coefficients, including both scalar quantization and dependent quantization, according to one or more of formula (s) (18) - (33) . If the value of quant_shifting_rrc_enabled is equal to 0, the quantization-center shifting method will not be used to shift the dequantization values of regular residual coding coefficients, including both scalar quantization and dependent quantization.
  • quantization-center shifting method will be used to shift the dequantization values of transform skip residual coding coefficients according to one or more of formula (s) (34) - (36) . If the value quant_shifting_tsrc_enabled is equal to 0, the quantization-center shifting method will not be used to shift the dequantization values of transform skip residual coding coefficients.
  • quant_shifting_rrc_enabled and quant_shifting_tsrc_enabled are not signaled in the bitstream, they are inferred to be equal to 0.
  • the present disclosure provides a technique to apply quantization-center shifting to decoded transform coefficients when dependent quantization is disabled. For instance, quantization-center shifting may be applied according to formula (39) when a single scalar quantization is applied to quantize such transform coefficients.
  • the quantization level is k and the quantization step size is ⁇ for quantizing a transform coefficient.
  • icoef ( (1024-T [
  • the lookup table used for transform skip residual coding may be reused for T in formula (39) .
  • the values that form T may be the same as those indicated in formula (38) .
  • the lookup table T for equation (39) may be defined separately and with different values compared to the lookup tables used for quantization-center shifting in dependent quantization and transform skip residual coding.
  • FIG. 9 illustrates a flowchart of a first method 900 of decoding, according to some embodiments of the present disclosure.
  • Method 900 may be performed by a system, e.g., decoding system 200, decoder 201, just to name a few.
  • Method 900 may include operations 902-912, as described below. It is to be appreciated that some of the steps may be optional (as indicated with dashed lines) , and some of the steps may be performed simultaneously, or in a different order than shown in FIG. 9.
  • the apparatus may decode a quantization level of a quantizer associated with a RRC mode from a bitstream.
  • the decoder 201 may decode a quantization level k associated with a quantizer used for RRC mode from a bitstream.
  • the apparatus may, in response to an absolute value of the quantization level being greater than 0, and a size of the lookup table being greater than the absolute value of the quantization level, determine an auxiliary quantization level based on the quantization level.
  • the decoder 201 may determine the auxiliary quantization level based on formula (19) , shown above.
  • the apparatus may determine a lookup table corresponding to the quantizer.
  • the decoder 201 may determine a lookup table T corresponding to the quantizer used for RRC mode.
  • the values that form T for RRC may be the same as those indicated in formula (38) .
  • the lookup table T may be defined separately and with different values compared to the lookup tables used for quantization-center shifting in dependent quantization and transform skip residual coding.
  • the apparatus may, in response to the absolute value of the quantization level being greater than 0, and the size of the lookup table being greater than the absolute value of the quantization level, determine a dequantized coefficient based on the quantization level, a lookup table value corresponding to the absolute value of the quantization level in the lookup table, and an auxiliary quantization level.
  • the decoder 201 may determine the dequantized coefficient based on formula (39) , shown above.
  • the apparatus may, in response to the absolute value of the quantization level being equal to zero or the absolute value of the quantization level not being less than the size of the lookup table, determine the dequantized coefficient based on a default dequantization.
  • the decoder 201 may determine the dequantized coefficient based on a default dequantization in some instances.
  • the apparatus may decode the bitstream based on the dequantized coefficient.
  • the decoder 201 may decode the bitstream based on icoef.
  • Computer-readable media includes computer storage media. Storage media may be any available media that can be accessed by a processor, such as processor 102 in FIGs. 1 and 2.
  • processor such as processor 102 in FIGs. 1 and 2.
  • computer-readable media can include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, HDD, such as magnetic disk storage or other magnetic storage devices, Flash drive, SSD, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a processing system, such as a mobile device or a computer.
  • Disk and disc include CD, laser disc, optical disc, digital video disc (DVD) , and floppy disk where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
  • a method of decoding by a decoder may include decoding, by a processor, a quantization level of a quantizer associated with an RRC mode from a bitstream.
  • the method may include determining, by the processor, an auxiliary quantization level based on the quantization level.
  • the method may include determining, by the processor, a lookup table corresponding to the quantizer.
  • the method may include, in response to dependent quantization being disabled for the RRC mode, and in response to an absolute value of the quantization level being greater than 0, and a value of a size of the lookup table being greater than the absolute value of the quantization level, determining, by the processor, a dequantized coefficient based on the quantization level, a lookup table value corresponding to the absolute value of the quantization level in the lookup table, and an auxiliary quantization level.
  • the method may include decoding, by the processor, the bitstream based on the dequantized coefficient.
  • the determining, by the processor, the auxiliary quantization level based on the quantization level may include, in response to the quantization level being a positive value, adding, by the processor, a value of one to the quantization level. In some implementations, the determining, by the processor, the auxiliary quantization level based on the quantization level may include, in response to the quantization level being a negative value, subtracting, by the processor, a value of one from the quantization level.
  • the lookup table T may include values: [0, 63, 31, 21, 15, 12, 10, 9, 7, 7, 6, 5, 5, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] .
  • a decoder may include a processor and memory storing instructions.
  • the memory storing instructions, which when executed by the processor, may cause the processor to decode a quantization level of a quantizer associated with an RRC mode from a bitstream.
  • the memory storing instructions, which when executed by the processor, may cause the processor to determine an auxiliary quantization level based on the quantization level.
  • the memory storing instructions, which when executed by the processor, may cause the processor to determine a lookup table corresponding to the quantizer.
  • the memory storing instructions, which when executed by the processor, may cause the processor to, in response to dependent quantization being disabled for the RRC mode, and in response to an absolute value of the quantization level being greater than 0, and a value of a size of the lookup table being greater than the absolute value of the quantization level, determine a dequantized coefficient based on the quantization level, a lookup table value corresponding to the absolute value of the quantization level in the lookup table, and an auxiliary quantization level.
  • the memory storing instructions, which when executed by the processor, may cause the processor to decode the bitstream based on the dequantized coefficient.
  • the memory storing instructions, which when executed by the processor, may cause the processor to, in response to the quantization level being a positive value, add a value of one to the quantization level.
  • the memory storing instructions, which when executed by the processor, may cause the processor to, in response to the quantization level being a negative value, subtract a value of one from the quantization level.
  • the memory storing instructions, which when executed by the processor, may further cause the processor to, in response to the dependent quantization being disabled for the RRC mode, and in response to the absolute value of the quantization level being equal to zero or the absolute value of the quantization level not being less than the size of the lookup table, determine the dequantized coefficient based on a default dequantization.
  • the lookup table T may include values: [0, 63, 31, 21, 15, 12, 10, 9, 7, 7, 6, 5, 5, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] .
  • an apparatus for decoding may include a processor and memory storing instructions.
  • the memory storing instructions, which when executed by the processor, may cause the processor to decode a quantization level of a quantizer associated with an RRC mode from a bitstream.
  • the instructions which when executed by the processor of the decoder, may cause the processor of the decoder to determine an auxiliary quantization level based on the quantization level.
  • the memory storing instructions, which when executed by the processor, may cause the processor to determine a lookup table corresponding to the quantizer.
  • the memory storing instructions, which when executed by the processor, may cause the processor to, in response to dependent quantization being disabled for the RRC mode, and in response to an absolute value of the quantization level being greater than 0, and a value of a size of the lookup table being greater than the absolute value of the quantization level, determine a dequantized coefficient based on the quantization level, a lookup table value corresponding to the absolute value of the quantization level in the lookup table, and an auxiliary quantization level.
  • the memory storing instructions, which when executed by the processor, may cause the processor to decode the bitstream based on the dequantized coefficient.
  • the memory storing instructions, which when executed by the processor, may cause the processor to, in response to the quantization level being a positive value, add a value of one to the quantization level.
  • the memory storing instructions, which when executed by the processor, may cause the processor to, in response to the quantization level being a negative value, subtract a value of one from the quantization level.
  • the memory storing instructions, which when executed by the processor, may further cause the processor to, in response to the dependent quantization being disabled for the RRC mode, and in response to the absolute value of the quantization level being equal to zero or the absolute value of the quantization level not being less than the size of the lookup table, determine the dequantized coefficient based on a default dequantization.
  • the lookup table T may include values: [0, 63, 31, 21, 15, 12, 10, 9, 7, 7, 6, 5, 5, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] .
  • a non-transitory computer-readable medium storing instructions for a decoder.
  • the instructions which when executed by the processor of the decoder, may cause the processor of the decoder to decode a quantization level of a quantizer associated with an RRC mode from a bitstream.
  • the instructions which when executed by the processor of the decoder, may cause the processor of the decoder to determine a lookup table corresponding to the quantizer.
  • the instructions which when executed by the processor of the decoder, may cause the processor of the decoder to, in response to dependent quantization being disabled for the RRC mode, and in response to an absolute value of the quantization level being greater than 0, and a value of a size of the lookup table being greater than the absolute value of the quantization level, determine a dequantized coefficient based on the quantization level, a lookup table value corresponding to the absolute value of the quantization level in the lookup table, and an auxiliary quantization level.
  • the instructions which when executed by the processor of the decoder, may cause the processor of the decoder to decode the bitstream based on the dequantized coefficient.
  • the instructions, which when executed by the processor of the decoder, may cause the processor of the decoder to, in response to the quantization level being a positive value, add a value of one to the quantization level.
  • the instructions, which when executed by the processor of the decoder may cause the processor of the decoder to, in response to the quantization level being a negative value, subtract a value of one from the quantization level.
  • the instructions which when executed by the processor of the decoder, may further cause the processor of the decoder to, in response to the dependent quantization being disabled for the RRC mode, and in response to the absolute value of the quantization level being equal to zero or the absolute value of the quantization level not being less than the size of the lookup table, determine the dequantized coefficient based on a default dequantization.
  • the lookup table T may include values: [0, 63, 31, 21, 15, 12, 10, 9, 7, 7, 6, 5, 5, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] .

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Est prévu dans un aspect de la présente divulgation un procédé de décodage par un décodeur. Le procédé peut comprendre le décodage d'un niveau de quantification d'un quantificateur associé à un mode RRC à partir d'un train de bits. Le procédé peut comprendre la détermination d'une table de conversion correspondant au quantificateur. Le procédé peut comprendre, en réponse à la désactivation d'une quantification dépendante pour le mode RRC, et en réponse à une valeur absolue du niveau de quantification supérieure à 0, et à une valeur d'une taille de la table de conversion étant supérieure à la valeur absolue du niveau de quantification, la détermination d'un coefficient déquantifié sur la base du niveau de quantification, d'une valeur de table de conversion correspondant à la valeur absolue du niveau de quantification dans la table de conversion, et d'un niveau de quantification auxiliaire. Le procédé peut comprendre le décodage du train de bits sur la base du coefficient déquantifié.
PCT/CN2025/103615 2024-07-03 2025-06-25 Procédé et appareil pour centre de quantification à décalage adaptatif pour quantification de vidéo Pending WO2026007782A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202463667611P 2024-07-03 2024-07-03
US63/667,611 2024-07-03

Publications (1)

Publication Number Publication Date
WO2026007782A1 true WO2026007782A1 (fr) 2026-01-08

Family

ID=98317666

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2025/103615 Pending WO2026007782A1 (fr) 2024-07-03 2025-06-25 Procédé et appareil pour centre de quantification à décalage adaptatif pour quantification de vidéo

Country Status (1)

Country Link
WO (1) WO2026007782A1 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130272385A1 (en) * 2012-04-13 2013-10-17 Qualcomm Incorporated Level decision in rate distortion optimized quantization
WO2022178405A1 (fr) * 2021-02-22 2022-08-25 Innopeak Technology, Inc. Quantification dépendante et procédé de codage résiduel
WO2022217245A1 (fr) * 2021-04-07 2022-10-13 Innopeak Technology, Inc. Binarisation de niveaux restants pour codage vidéo
CN116918327A (zh) * 2021-03-09 2023-10-20 创峰科技 视频编码中基于状态的依赖量化和残差编码

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130272385A1 (en) * 2012-04-13 2013-10-17 Qualcomm Incorporated Level decision in rate distortion optimized quantization
WO2022178405A1 (fr) * 2021-02-22 2022-08-25 Innopeak Technology, Inc. Quantification dépendante et procédé de codage résiduel
CN116918327A (zh) * 2021-03-09 2023-10-20 创峰科技 视频编码中基于状态的依赖量化和残差编码
WO2022217245A1 (fr) * 2021-04-07 2022-10-13 Innopeak Technology, Inc. Binarisation de niveaux restants pour codage vidéo

Similar Documents

Publication Publication Date Title
US12537954B2 (en) Bypass alignment in video coding
JP2026504981A (ja) 非分離変換カーネルにインデックス付けするイントラ予測モードの決定
US20240297997A1 (en) Quantization level binarization in video coding
US20250056052A1 (en) Method and system for decoding/encoding video including sequence pictures
WO2022191947A1 (fr) Quantification dépendante basée sur un état et codage résiduel dans un codage vidéo
WO2026007782A1 (fr) Procédé et appareil pour centre de quantification à décalage adaptatif pour quantification de vidéo
WO2026007781A1 (fr) Procédé et appareil pour centre de quantification à décalage adaptatif pour quantification vidéo
WO2025218721A1 (fr) Procédé et appareil de décalage de centre de quantification pour quantifications multiples
WO2025209578A1 (fr) Procédé et appareil de décalage de centre de quantification pour de multiples quantifications
WO2026081685A1 (fr) Procédé et appareil de décalage de centre de quantification amélioré pour des quantifications
WO2024213139A1 (fr) Système et procédé de mise en correspondance de modèles intra
WO2025073278A1 (fr) Procédé et appareil de codage de chrominance
WO2025148495A1 (fr) Procédé et appareil de codage de coefficient dans un codage vidéo
US20250294185A1 (en) System and method for chromaticity intra prediction
WO2025113106A1 (fr) Procédé et appareil de codage de coefficient résiduel dans un codage vidéo
WO2025148996A1 (fr) Procédé et appareil de codage de coefficient résiduel dans un codage vidéo
WO2024255897A1 (fr) Système et procédé de prédiction intra à l'aide d'un vecteur de bloc de pel fractionnaire
WO2025067264A1 (fr) Procédé et appareil de codage de chrominance
US20250240406A1 (en) Method of encoding, method of decoding, and system
WO2025148775A1 (fr) Procédé et appareil pour zone de prédiction intra dans un codage vidéo
WO2025067271A1 (fr) Procédé et appareil de prédiction de modèle linéaire à composantes croisées pour codage de chrominance
JP2026506519A (ja) フィルタリング済みのイントラブロックコピー予測のためのシステム及び方法
AU2026202875A1 (en) Sequence-level and slice-level syntax representation in video coding
CN121986478A (en) Method and device for chroma coding and decoding
CN121970326A (zh) 用于滤波帧间预测的方法和装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 25832150

Country of ref document: EP

Kind code of ref document: A1