WO2020073884A1 - Method and apparatus of last significant coefficient coding in image and video coding - Google Patents

Method and apparatus of last significant coefficient coding in image and video coding Download PDF

Info

Publication number
WO2020073884A1
WO2020073884A1 PCT/CN2019/109914 CN2019109914W WO2020073884A1 WO 2020073884 A1 WO2020073884 A1 WO 2020073884A1 CN 2019109914 W CN2019109914 W CN 2019109914W WO 2020073884 A1 WO2020073884 A1 WO 2020073884A1
Authority
WO
WIPO (PCT)
Prior art keywords
location
prefix
significant coefficient
last significant
zero
Prior art date
Application number
PCT/CN2019/109914
Other languages
French (fr)
Inventor
Olena CHUBACH
Shih-Ta Hsiang
Mohammed Golam Sarwer
Original Assignee
Mediatek Singapore Pte. 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 Mediatek Singapore Pte. Ltd. filed Critical Mediatek Singapore Pte. Ltd.
Priority to CN201980066091.XA priority Critical patent/CN112840655B/en
Priority to EP19870942.0A priority patent/EP3857894A4/en
Priority to US17/283,180 priority patent/US11343539B2/en
Priority to TW108136379A priority patent/TWI738077B/en
Publication of WO2020073884A1 publication Critical patent/WO2020073884A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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

  • the present invention relates to transform coefficient coding for image and video coding.
  • the present invention discloses improved coding methods for last significant coefficients.
  • Adaptive Intra/Inter video coding has been widely used in various video coding standards, such as MPEG-2, AVC (advanced video coding) and HEVC (High Efficiency Video Coding) .
  • an input signal is predicted by Intra/Inter predictor to generate prediction residues.
  • the residues are often processed by a two-dimensional transform and quantized.
  • the quantized transform coefficients are then coded.
  • the High Efficiency Video Coding (HEVC) standard is developed under the joint video project of the ITU-T Video Coding Experts Group (VCEG) and the ISO/IEC Moving Picture Experts Group (MPEG) standardization organizations, and is especially with partnership known as the Joint Collaborative Team on Video Coding (JCT-VC) .
  • JCT-VC Joint Collaborative Team on Video Coding
  • one slice is partitioned into multiple coding tree units (CTU) .
  • CTU coding tree units
  • SPS sequence parameter set
  • the allowed CTU size can be 8x8, 16x16, 32x32, or 64x64.
  • the CTUs within the slice are processed according to a raster scan order.
  • the CTU is further partitioned into multiple coding units (CU) to adapt to various local characteristics.
  • a CTU can be further partitioned into multiple Coding Units (CUs) through Quad-Tree or Quadtree (QT) partitioning.
  • the QT partition splits a block of size 4Nx4N into 4 equal-size 2Nx2N sub-blocks.
  • the CTU can be a single CU (i.e., no splitting) or can be split into four smaller units of equal size, which correspond to the nodes of the coding tree. If units are leaf nodes of the coding tree, the units become CUs. Otherwise, the quadtree splitting process can be iterated until the size for a node reaches a minimum allowed CU size as specified in the SPS (Sequence Parameter Set) .
  • SPS Sequence Parameter Set
  • each CU can be partitioned into one or more prediction units (PU) .
  • the PU works as a basic representative block for sharing the prediction information. Inside each PU, the same prediction process is applied and the relevant information is transmitted to the decoder on a PU basis.
  • a CU can be split into one, two or four PUs according to the PU splitting type.
  • HEVC defines eight shapes for splitting a CU into PU, including 2Nx2N, 2NxN, Nx2N, NxN, 2NxnU, 2NxnD, nLx2N and nRx2N partition types. Unlike the CU, the PU may only be split once according to HEVC.
  • the prediction residues of a CU can be partitioned into transform units (TU) according to another quadtree structure which is analogous to the coding tree for the CU.
  • the TU is a basic representative block having residual or transform coefficients for applying the integer transform and quantization. For each TU, one integer transform having the same size as the TU is applied to obtain residual coefficients. These coefficients are transmitted to the decoder after quantization on a TU basis.
  • Fig. 1 illustrates an exemplary adaptive Inter/Intra video coding system incorporating transform and quantization to process prediction residues.
  • Motion Estimation (ME) /Motion Compensation (MC) 112 is used to provide prediction data based on video data from other picture or pictures.
  • Switch 114 selects Intra Prediction 110 or Inter-prediction data and the selected prediction data is supplied to Adder 116 to form prediction errors, also called residues.
  • the prediction error is then processed by Transform (T) 118 followed by Quantization (Q) 120.
  • T Transform
  • Q Quantization
  • the transformed and quantized residues are then coded by Entropy Encoder 122 to be included in a video bitstream corresponding to the compressed video data.
  • the bitstream associated with the transform coefficients is then packed with side information such as motion, coding modes, and other information associated with the image area.
  • the side information may also be compressed by entropy coding to reduce required bandwidth. Accordingly, the data associated with the side information are provided to Entropy Encoder 122 as shown in Fig. 1.
  • Entropy Encoder 122 When an Inter-prediction mode is used, a reference picture or pictures have to be reconstructed at the encoder end as well. Consequently, the transformed and quantized residues are processed by Inverse Quantization (IQ) 124 and Inverse Transformation (IT) 126 to recover the residues. The residues are then added back to prediction data 136 at Reconstruction (REC) 128 to reconstruct video data.
  • the reconstructed video data may be stored in Reference Picture Buffer 134 and used for prediction of other frames.
  • Loop filter 130 is often applied to the reconstructed video data before the reconstructed video data are stored in the Reference Picture Buffer 134 in order to improve video quality.
  • de-blocking filter (DF) and Sample Adaptive Offset (SAO) have been used in the High Efficiency Video Coding (HEVC) standard.
  • the loop filter may also include ALF (Adaptive Loop Filter) .
  • the loop filter information may have to be incorporated in the bitstream so that a decoder can properly recover the required information.
  • loop filter information is provided to Entropy Encoder 122 for incorporation into the bitstream.
  • Loop filter 130 is applied to the reconstructed video before the reconstructed samples are stored in the reference picture buffer 134.
  • the system in Fig. 1 is intended to illustrate an exemplary structure of a typical video encoder. It may correspond to the High Efficiency Video Coding (HEVC) system or H. 264.
  • HEVC High Efficiency Video Coding
  • Fig. 2 illustrates a system block diagram of a corresponding video decoder for the encoder system in Fig. 1. Since the encoder also contains a local decoder for reconstructing the video data, some decoder components are already used in the encoder except for the entropy decoder 210. Furthermore, only motion compensation 220 is required for the decoder side.
  • the switch 146 selects Intra-prediction or Inter-prediction and the selected prediction data are supplied to reconstruction (REC) 128 to be combined with recovered residues.
  • entropy decoding 210 is also responsible for entropy decoding of side information and provides the side information to respective blocks.
  • Intra mode information is provided to Intra-prediction 110
  • Inter mode information is provided to motion compensation 220
  • loop filter information is provided to loop filter 130
  • residues are provided to inverse quantization 124.
  • the residues are processed by IQ 124, IT 126 and subsequent reconstruction process to reconstruct the video data.
  • reconstructed video data from REC 128 undergo a series of processing including IQ 124 and IT 126 as shown in Fig. 2 and are subject to coding artefacts.
  • the reconstructed video data are further processed by Loop filter 130.
  • Variable length coding is a form of entropy coding that has been widely used for source coding.
  • VLC variable length code
  • Arithmetic coding is a newer entropy coding technique that can exploit the conditional probability using “context” .
  • arithmetic coding can adapt to the source statistics easily and provide higher compression efficiency than the variable length coding. While arithmetic coding is a high-efficiency entropy-coding tool and has been widely used in advanced video coding systems, the operations are more complicated than the variable length coding.
  • VVC Versatile Video Coding
  • JVET Joint Video Experts Team
  • VVC utilizes more flexible block partition and also includes some new coding tools. For example, instead of quadtree-based block partition, VVC also takes into account of binary tree (BT) and ternary tree (TT) .
  • BT binary tree
  • TT ternary tree
  • a residue block For transform coefficients of residue signal, a residue block often contains a large number of zero-valued transform coefficients.
  • one technique involves identifies and signal the location of the last non-zero quantized transform coefficient, which is also referred as the last significant coefficient in a target transform block.
  • VVC Draft 2 B.
  • lastSignificantCoeff is the last coefficient in the transform block (TB) which is not equal to zero. The position of the lastSignificantCoeff is encoded for each TB.
  • Fig. 3 illustrates an example of lastSignificantCoeffX and lastSignificantCoeffY for a target block, where the last significant transform coefficient 310 in a target block 320 is shown.
  • each syntax element i.e., lastSignificantCoeffX or lastSignificantCoeffY
  • prefix and suffix i.e., 0
  • last_sig_coeff_x_prefix and last_sig_coeff_y_prefix are both regular coded using truncated unary coding
  • last_sig_coeff_x_suffix and last_sig_coeff_y_suffix are both regular coded using fixed length coding.
  • the lastSignificantCoeffX can be derived as follows:
  • lastSignificantCoeffX (1 ⁇ ( (last_sig_coeff_x_prefix >> 1) -1) ) * (2 + (last_sig_coeff_x_prefix &1) ) + last_sig_coeff_x_suffix.
  • TR truncated Rice
  • last_sig_coeff_x_prefix specifies the prefix of the column position of the last significant coefficient in scanning order within a transform block.
  • the values of last_sig_coeff_x_prefix shall be in the range of 0 to (log2TbWidth ⁇ 1) -1, inclusive.
  • last_sig_coeff_y_prefix specifies the prefix of the row position of the last significant coefficient in scanning order within a transform block.
  • the values of last_sig_coeff_y_prefix shall be in the range of 0 to (log2TbHeight ⁇ 1) -1, inclusive.
  • log2TbWidth and log2TbHeight are the logarithms of base 2 of transform block width and transform block height and defined as Log2 (nTbW) and Log2 (nTbH) respectively, where variable nTbW specifies the transform block width and variable nTbH specifies the transform block height.
  • VTM2.0.1 VVC Test Model, version 2.0.1
  • the maximum TB size is 64x64 for luma and 32x32 for chroma.
  • the maximum transformed residual block size (coefficients encoded) is smaller, because of zeroing out procedure applied:
  • VTM2.0.1 in order to reduce the computation of the transform, the very high frequency components of the large transform block are set to zero.
  • the zero-out process is shown as follows:
  • T (x, y) is set to zero.
  • a method and apparatus for video encoding are disclosed.
  • input data related to a current block in a current picture are received at a video encoder side.
  • Residue signals for the current block are derived.
  • a location of last significant coefficient in the transform block is encoded to generate one or more syntax elements, where a maximum value of said one or more syntax elements is dependent on a block size of the transform block and a zero-out threshold, and coefficients of the transform block with coordinates greater than the zero-out threshold are set to zero.
  • Encoded data comprising said one or more syntax elements are then generated.
  • the syntax elements comprise a prefix for x-location of the last significant coefficient
  • the maximum value of the prefix for the x-location of the last significant coefficient is dependent on a width of the transform block and the zero-out threshold.
  • Log2maxX can be defined as (Log2 (nTbW > iZeroOutThresh ?
  • iZeroOutThresh nTbW
  • the maximum value of the prefix for the x-location of the last significant coefficient is derived as ( (Log2maxX ⁇ 1) –1) , where Log2 () corresponds to a log-based-2 operation, iZeroOutThresh corresponds to the zero-out threshold, nTbW corresponds to the width of the transform block, and “ ⁇ ” corresponds to a left-shift operation.
  • syntax elements comprise a prefix for y-location of the last significant coefficient
  • the maximum value of the prefix for the y-location of the last significant coefficient is dependent on a height of the transform block and the zero-out threshold.
  • Log2maxY can be defined as (Log2 (nTbH > iZeroOutThresh ? iZeroOutThresh : nTbH) ) and the maximum value of the prefix for the y-location of the last significant coefficient is derived as ( (Log2maxY ⁇ 1) –1) , and nTbH corresponds to the height of the transform block.
  • the syntax elements comprise a prefix for x-location of the last significant coefficient and a prefix for y-location of the last significant coefficient
  • the maximum value of the prefix for the x-location of the last significant coefficient is dependent on a width of the transform block and the zero-out threshold and the maximum value of the prefix for the y-location of the last significant coefficient is dependent on a height of the transform block and the zero-out threshold.
  • the prefix for x-location of the last significant coefficient is coded depending on the prefix for y-location of the last significant coefficient, or the prefix for y-location of the last significant coefficient is coded depending on the prefix for x-location of the last significant coefficient.
  • the prefix for x-location of the last significant coefficient is coded using the prefix for y-location of the last significant coefficient as a predictor, or the prefix for y-location of the last significant coefficient is coded using the prefix for x-location of the last significant coefficient as the predictor.
  • the zero-out threshold is pre-defined and known to both an encoder and a decoder.
  • the zero-out threshold is signalled in a bitstream.
  • the zero-out threshold can be signalled in an SPS (sequence parameter set) of the bitstream.
  • the zero-out threshold is signalled for a vertical direction and a horizontal direction respectively.
  • different zero-out thresholds are used for different transform block sizes.
  • the zero-out threshold, iZeroOutThresh can be updated to iZeroOutThresh >> k, where k is an integer greater than 0, and wherein “>>” corresponds to a right-shift operation.
  • k can be equal to 1.
  • a similar method for the decoder side is also disclosed.
  • a video bitstream corresponding to compressed data including a current block in a current picture is received at a video decoder side.
  • One or more syntax elements related to location of last significant coefficient in a transform block within the current block are parsed from the video bitstream, where a maximum value of said one or more syntax elements is dependent on a block size of the transform block and a zero-out threshold, and coefficients of the transform block with coordinates greater than the zero-out threshold are set to zero.
  • Decoded residue signals for the current block are derived using first information comprising the location of last significant coefficient in the transform block.
  • a reconstructed current block is generated using second information comprising the decoded residue signals for the current block.
  • Fig. 1 illustrates an exemplary block diagram of a video encoder, where the video encoder incorporates Intra/Inter prediction, transform and quantization processes.
  • Fig. 2 illustrates an exemplary block diagram of a video decoder, where the video decoder incorporates Intra/Inter prediction, inverse transform and de-quantization processes.
  • Fig. 3 illustrates an example of the location of the last significant coefficient.
  • Fig. 4 illustrates a flowchart of an exemplary encoding system using improved coding of location of the last significant coefficient according to an embodiment of the present invention.
  • Fig. 5 illustrates a flowchart of an exemplary decoding system using improved coding of location of the last significant coefficient according to an embodiment of the present invention.
  • last_sig_coeff_x_prefix and last_sig_coeff_y_prefix takes into account of the block size as well as the zero out threshold.
  • the maximum value of last_sig_coeff_x_prefix depends on the width of the transform block (TB) as well as the zero out threshold iZeroOutThresh.
  • the maximum value of last_sig_coeff_x_prefix is derived according to the following pseudo-code:
  • Log2maxX Log2 (nTbW > iZeroOutThresh ? iZeroOutThresh : nTbW) ;
  • the logical operator (x ? y : z) means if x is TRUE or not equal to 0, evaluates to the value of y; otherwise, evaluates to the value of z.
  • the maximum value of last_sig_coeff_y_prefix depends on the height of the block as well as the zero out threshold iZeroOutThresh. The maximum value of last_sig_coeff_y_prefix is derived according to the following pseudo-code:
  • Log2maxY Log2 (nTbH > iZeroOutThresh ? iZeroOutThresh : nTbH) ;
  • the maximum value of last_sig_coeff_x_prefix is same as VTM2.0.
  • the maximum value of last_sig_coeff_y_prefix not only depends on the height of the block but also depends on the zero out threshold iZeroOutThresh.
  • the maximum value of last_sig_coeff_y_prefix is derived by using following pseudo-code:
  • Log2maxY Log2 (nTbH > iZeroOutThresh ? iZeroOutThresh : nTbH) ;
  • last_sig_coeff_y_prefix the maximum value of last_sig_coeff_y_prefix is same as VTM2.0.1.
  • the maximum value of last_sig_coeff_x_prefix not only depends on the width of the block but also depends on the zero out threshold iZeroOutThresh.
  • the maximum value of last_sig_coeff_x_prefix is derived according to the following pseudo-code:
  • Log2maxX Log2 (nTbW > iZeroOutThresh ? iZeroOutThresh : nTbW) ;
  • This present invention also discloses that the maximum value of last_sig_coeff_x_prefix and last_sig_coeff_y_prefix depend on the zero out threshold iZeroOutThresh only if certain conditions are satisfied.
  • An embodiment is shown as follows:
  • the last_sig_coeff_x_prefix and last_sig_coeff_y_prefix do not depend on the zero out threshold and maximum values are same as VTM2.0.1.
  • last_sig_coeff_x_prefix and last_sig_coeff_y_prefix depends on the zero-out threshold as described in earlier.
  • the value of iZeroOutThresh is predefined (e.g. 32) and known to both encoder and decoder.
  • the value of iZeroOutThresh can be any value from 0 to maximum size of the transform block and the value of iZeroOutThresh is signalled to the decoder through a higher level syntax such as SPS syntax element.
  • different values of iZeroOutThresh can be signalled for horizontal and vertical directions, respectively. In some other embodiments, different values of iZeroOutThresh can be signalled for different transform types. In one embodiment, the value of iZeroOutThresh may also depend on the transform type applied to the transform block in horizontal and/or vertical directions. In one embodiment, when non-DCT-II transform is applied in horizontal and/or vertical directions of the residual block, the value of iZeroOutThresh is updated to iZeroOutThresh>>k for that direction. For example, k is equal to 1.
  • last_sig_coeff_y_prefix may be coded depending on the value of last_sig_coeff_x_prefix. In one embodiment, last_sig_coeff_x_prefix may be used as predictor for coding last_sig_coeff_y_prefix. In one embodiment, last_sig_coeff_x_prefix may be coded depending on the value of last_sig_coeff_y_prefix. In one embodiment, last_sig_coeff_y_prefix may be used as predictor for coding last_sig_coeff_x_prefix.
  • the present invention can be applied to a video encoder.
  • the present invention can be applied to the residue signals generated from the Intra/Inter prediction process.
  • Fig. 4 illustrates a flowchart of an exemplary encoding system using improved coding of location of the last significant coefficient according to an embodiment of the present invention.
  • the steps shown in the flowchart may be implemented as program codes executable on one or more processors (e.g., one or more CPUs) at the encoder side.
  • the steps shown in the flowchart may also be implemented based hardware such as one or more electronic devices or processors arranged to perform the steps in the flowchart.
  • input data associated with a current block in an image are received in step 410.
  • Residue signals for the current block are derived in step 420.
  • a transform process and a quantization process are applied to the residue signals to generate a transform block in step 430.
  • a location of last significant coefficient in the transform block is encoded to generate one or more syntax elements in step 440, where a maximum value of said one or more syntax elements is dependent on a block size of the transform block and a zero-out threshold, and coefficients of the transform block with coordinates greater than the zero-out threshold are set to zero.
  • Encoded data comprising said one or more syntax elements are generated in step 450.
  • FIG. 5 illustrates a flowchart of an exemplary decoding system using improved coding of location of the last significant coefficient according to an embodiment of the present invention.
  • a video bitstream corresponding to compressed data including a current block in a current picture is received at a video decoder side in step 510.
  • One or more syntax elements related to location of last significant coefficient in a transform block within the current block are parsed from the video bitstream in step 520, where a maximum value of said one or more syntax elements is dependent on a block size of the transform block and a zero-out threshold, and coefficients of the transform block with coordinates greater than the zero-out threshold are set to zero.
  • Decoded residue signals for the current block are generated using first information comprising the location of last significant coefficient in the transform block in step 530.
  • a reconstructed current block is generated using second information comprising the decoded residue signals for the current block in step 540.
  • Embodiment of the present invention as described above may be implemented in various hardware, software codes, or a combination of both.
  • an embodiment of the present invention can be one or more circuit circuits integrated into a video compression chip or program code integrated into video compression software to perform the processing described herein.
  • An embodiment of the present invention may also be program code to be executed on a Digital Signal Processor (DSP) to perform the processing described herein.
  • DSP Digital Signal Processor
  • the invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA) .
  • These processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention.
  • the software code or firmware code may be developed in different programming languages and different formats or styles.
  • the software code may also be compiled for different target platforms.
  • different code formats, styles and languages of software codes and other means of configuring code to perform the tasks in accordance with the invention will not depart from the spirit and scope of the invention.

Landscapes

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

Abstract

A method and apparatus for video encoding using improved last significant coefficient coding are disclosed. According to the present invention, a location of last significant coefficient in the transform block is encoded to generate one or more syntax elements and a maximum value of the syntax elements is dependent on a block size of the transform block and a zero-out threshold, where coefficients of the transform block with coordinates greater than the zero-out threshold are set to zero. A method and apparatus for video decoding using improved last significant coefficient coding are also disclosed.

Description

METHOD AND APPARATUS OF LAST SIGNIFICANT COEFFICIENT CODING IN IMAGE AND VIDEO CODING
CROSS REFERENCE TO RELATED PATENT APPLICATION (S)
The present invention claims priority to U.S. Provisional Patent Application, Serial No. 62/742,471, filed on October 8, 2018. The U.S. Provisional Patent Application is hereby incorporated by reference in its entirety.
TECHNICAL FIELD
The present invention relates to transform coefficient coding for image and video coding. In particular, the present invention discloses improved coding methods for last significant coefficients.
BACKGROUND
Adaptive Intra/Inter video coding has been widely used in various video coding standards, such as MPEG-2, AVC (advanced video coding) and HEVC (High Efficiency Video Coding) . In adaptive Intra/Inter video coding, an input signal is predicted by Intra/Inter predictor to generate prediction residues. The residues are often processed by a two-dimensional transform and quantized. The quantized transform coefficients are then coded. The High Efficiency Video Coding (HEVC) standard is developed under the joint video project of the ITU-T Video Coding Experts Group (VCEG) and the ISO/IEC Moving Picture Experts Group (MPEG) standardization organizations, and is especially with partnership known as the Joint Collaborative Team on Video Coding (JCT-VC) . In HEVC, one slice is partitioned into multiple coding tree units (CTU) . In main profile, the minimum and the maximum sizes of CTU are specified by the syntax elements in the sequence parameter set (SPS) . The allowed CTU size can be 8x8, 16x16, 32x32, or 64x64. For each slice, the CTUs within the slice are processed according to a raster scan order.
The CTU is further partitioned into multiple coding units (CU) to adapt to various local characteristics. A CTU can be further partitioned into multiple Coding Units (CUs) through Quad-Tree or Quadtree (QT) partitioning. The QT partition splits a block of size 4Nx4N into 4 equal-size 2Nx2N sub-blocks. The CTU can be a single CU (i.e., no splitting) or can be split into four smaller units of equal size, which correspond to the nodes of the coding tree. If units are leaf nodes of the coding tree, the units become CUs. Otherwise, the quadtree splitting process can be iterated until the size for a node reaches a minimum allowed CU size as specified in the SPS (Sequence Parameter Set) .
According to HEVC, each CU can be partitioned into one or more prediction units (PU) . Coupled with the CU, the PU works as a basic representative block for sharing the prediction information. Inside each PU, the same prediction process is applied and the relevant information is transmitted to the decoder on a PU basis. A CU can be split into one, two or four PUs according to the PU splitting type. HEVC defines eight shapes for splitting a CU into PU, including 2Nx2N, 2NxN, Nx2N, NxN, 2NxnU, 2NxnD, nLx2N and nRx2N partition types. Unlike the CU, the PU may only be split once according to HEVC.
After obtaining the residual block by the prediction process based on PU splitting type, the prediction residues of a CU can be partitioned into transform units (TU) according to another quadtree structure which is analogous to the coding tree for the CU. The TU is a basic representative block having residual or transform coefficients for applying the integer transform and quantization. For each TU, one integer  transform having the same size as the TU is applied to obtain residual coefficients. These coefficients are transmitted to the decoder after quantization on a TU basis.
Fig. 1 illustrates an exemplary adaptive Inter/Intra video coding system incorporating transform and quantization to process prediction residues. For Inter-prediction, Motion Estimation (ME) /Motion Compensation (MC) 112 is used to provide prediction data based on video data from other picture or pictures. Switch 114 selects Intra Prediction 110 or Inter-prediction data and the selected prediction data is supplied to Adder 116 to form prediction errors, also called residues. The prediction error is then processed by Transform (T) 118 followed by Quantization (Q) 120. The transformed and quantized residues are then coded by Entropy Encoder 122 to be included in a video bitstream corresponding to the compressed video data. The bitstream associated with the transform coefficients is then packed with side information such as motion, coding modes, and other information associated with the image area. The side information may also be compressed by entropy coding to reduce required bandwidth. Accordingly, the data associated with the side information are provided to Entropy Encoder 122 as shown in Fig. 1. When an Inter-prediction mode is used, a reference picture or pictures have to be reconstructed at the encoder end as well. Consequently, the transformed and quantized residues are processed by Inverse Quantization (IQ) 124 and Inverse Transformation (IT) 126 to recover the residues. The residues are then added back to prediction data 136 at Reconstruction (REC) 128 to reconstruct video data. The reconstructed video data may be stored in Reference Picture Buffer 134 and used for prediction of other frames.
As shown in Fig. 1, incoming video data undergoes a series of processing in the encoding system. The reconstructed video data from REC 128 may be subject to various impairments due to a series of processing. Accordingly, Loop filter 130 is often applied to the reconstructed video data before the reconstructed video data are stored in the Reference Picture Buffer 134 in order to improve video quality. For example, de-blocking filter (DF) and Sample Adaptive Offset (SAO) have been used in the High Efficiency Video Coding (HEVC) standard. The loop filter may also include ALF (Adaptive Loop Filter) . The loop filter information may have to be incorporated in the bitstream so that a decoder can properly recover the required information. Therefore, loop filter information is provided to Entropy Encoder 122 for incorporation into the bitstream. In Fig. 1, Loop filter 130 is applied to the reconstructed video before the reconstructed samples are stored in the reference picture buffer 134. The system in Fig. 1 is intended to illustrate an exemplary structure of a typical video encoder. It may correspond to the High Efficiency Video Coding (HEVC) system or H. 264.
Fig. 2 illustrates a system block diagram of a corresponding video decoder for the encoder system in Fig. 1. Since the encoder also contains a local decoder for reconstructing the video data, some decoder components are already used in the encoder except for the entropy decoder 210. Furthermore, only motion compensation 220 is required for the decoder side. The switch 146 selects Intra-prediction or Inter-prediction and the selected prediction data are supplied to reconstruction (REC) 128 to be combined with recovered residues. Besides performing entropy decoding on compressed residues, entropy decoding 210 is also responsible for entropy decoding of side information and provides the side information to respective blocks. For example, Intra mode information is provided to Intra-prediction 110, Inter mode information is provided to motion compensation 220, loop filter information is provided to loop filter 130 and residues are provided to inverse quantization 124. The residues are processed by IQ 124, IT 126 and subsequent reconstruction process to reconstruct the video data. Again, reconstructed video data from REC 128 undergo a series of processing  including IQ 124 and IT 126 as shown in Fig. 2 and are subject to coding artefacts. The reconstructed video data are further processed by Loop filter 130.
For entropy coding, it comes in various flavours. Variable length coding is a form of entropy coding that has been widely used for source coding. Usually, a variable length code (VLC) table is used for variable length encoding and decoding. Arithmetic coding is a newer entropy coding technique that can exploit the conditional probability using “context” . Furthermore, arithmetic coding can adapt to the source statistics easily and provide higher compression efficiency than the variable length coding. While arithmetic coding is a high-efficiency entropy-coding tool and has been widely used in advanced video coding systems, the operations are more complicated than the variable length coding.
The Versatile Video Coding (VVC) is an emerging coding standard being developed under Joint Video Experts Team (JVET) of ITU-T. VVC utilizes more flexible block partition and also includes some new coding tools. For example, instead of quadtree-based block partition, VVC also takes into account of binary tree (BT) and ternary tree (TT) .
For transform coefficients of residue signal, a residue block often contains a large number of zero-valued transform coefficients. In order to efficiently encode the transform coefficients, one technique involves identifies and signal the location of the last non-zero quantized transform coefficient, which is also referred as the last significant coefficient in a target transform block. In VVC Draft 2 (B. Bross, et al., “Versatile Video Coding (Draft 2) ” , Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 11th Meeting: Ljubljana, SI, 10–18 July 2018, Document: JVET-K1001) , lastSignificantCoeff is the last coefficient in the transform block (TB) which is not equal to zero. The position of the lastSignificantCoeff is encoded for each TB. In particular, the horizontal (x) and vertical (y) position of the last non-zero coefficient of a CB (coding block) are coded with two syntax elements, lastSignificantCoeffX (horizontal coordinate) and lastSignificantCoeffY (vertical coordinate) . Fig. 3 illustrates an example of lastSignificantCoeffX and lastSignificantCoeffY for a target block, where the last significant transform coefficient 310 in a target block 320 is shown.
Furthermore, each syntax element (i.e., lastSignificantCoeffX or lastSignificantCoeffY) is composed of prefix and suffix:
– The prefixes, last_sig_coeff_x_prefix and last_sig_coeff_y_prefix, are both regular coded using truncated unary coding, and
– The suffixes, last_sig_coeff_x_suffix and last_sig_coeff_y_suffix, are both regular coded using fixed length coding.
The lastSignificantCoeffX can be derived as follows:
– if last_sig_coeff_x_suffix is not present:
○ lastSignificantCoeffX = last_sig_coeff_x_prefix
– otherwise (last_sig_coeff_x_suffix is present) :
○ lastSignificantCoeffX = (1 << ( (last_sig_coeff_x_prefix >> 1) -1) ) * (2 + (last_sig_coeff_x_prefix &1) ) + last_sig_coeff_x_suffix.
Truncated unary binarization is the special case of truncated Rice (TR) binarization process with rice parameter cRiceParam = 0. The residual coding semantics are described as follows:
– last_sig_coeff_x_prefix specifies the prefix of the column position of the last significant coefficient in scanning order within a transform block. The values of last_sig_coeff_x_prefix shall be in the range of 0 to (log2TbWidth << 1) -1, inclusive.
– last_sig_coeff_y_prefix specifies the prefix of the row position of the last significant coefficient in scanning order within a transform block. The values of last_sig_coeff_y_prefix shall be in the range of 0 to (log2TbHeight << 1) -1, inclusive.
In the above description, log2TbWidth and log2TbHeight are the logarithms of base 2 of transform block width and transform block height and defined as Log2 (nTbW) and Log2 (nTbH) respectively, where variable nTbW specifies the transform block width and variable nTbH specifies the transform block height.
In the evaluation soft named VTM2.0.1 (VVC Test Model, version 2.0.1) , the maximum TB size is 64x64 for luma and 32x32 for chroma. However, the maximum transformed residual block size (coefficients encoded) is smaller, because of zeroing out procedure applied:
– coefficients of the TB with coordinates greater than the maximum transformed residual block size are all set to zero.
The max size of the residual block:
– DCT2: max residual block size is 32x32
– Non-DCT2: max residual block size is 16x16
The application of zero-out process for different block sizes are shown in Table 1 for DCT2 and Non-DCT2 transforms.
Table 1
  Length = 64 Length = 32 Length <=16
DCT2 32-py zero-out No zero-out No zero-out
Non-DCT2 Not valid 32-py zero-out No zero-out
In VTM2.0.1, in order to reduce the computation of the transform, the very high frequency components of the large transform block are set to zero. There is a parameter, called iZeroOutThresh, which controls what coefficients are set to zero. Assume that (x, y) is the column and row position of a transform block, and T (x, y) is the transform coefficient of (x, y) position. The zero-out process is shown as follows:
If (x >= iZeroOutThresh || y >= iZeroOutThresh) , then T (x, y) is set to zero.
In the present invention, coding techniques of last significant coefficient with improved performance are disclose.
SUMMARY
A method and apparatus for video encoding are disclosed. According to the present invention, input data related to a current block in a current picture are received at a video encoder side. Residue signals for the current block are derived. A transform process and a quantization process to the residue signals to generate a transform block. A location of last significant coefficient in the transform block is encoded to generate one or more syntax elements, where a maximum value of said one or more syntax elements is dependent on a block size of the transform block and a zero-out threshold, and coefficients of the transform block with coordinates greater than the zero-out threshold are set to zero. Encoded data comprising said one or more syntax elements are then generated.
In one embodiment, the syntax elements comprise a prefix for x-location of the last significant coefficient, and the maximum value of the prefix for the x-location of the last significant coefficient is dependent on a width of the transform block and the zero-out threshold. Furthermore, a parameter, Log2maxX can be defined as (Log2 (nTbW > iZeroOutThresh ? iZeroOutThresh : nTbW) ) and the maximum value of the prefix for the x-location of the last significant coefficient is derived as ( (Log2maxX << 1) –1) , where Log2 () corresponds to a log-based-2 operation, iZeroOutThresh corresponds to the zero-out threshold, nTbW corresponds to the width of the transform block, and “<<” corresponds to a left-shift operation.
In another embodiment, syntax elements comprise a prefix for y-location of the last significant coefficient, and the maximum value of the prefix for the y-location of the last significant coefficient is dependent on a height of the transform block and the zero-out threshold. Furthermore, a parameter, Log2maxY can be defined as (Log2 (nTbH > iZeroOutThresh ? iZeroOutThresh : nTbH) ) and the maximum value of the prefix for the y-location of the last significant coefficient is derived as ( (Log2maxY << 1) –1) , and nTbH corresponds to the height of the transform block.
In yet another embodiment, the syntax elements comprise a prefix for x-location of the last significant coefficient and a prefix for y-location of the last significant coefficient, and the maximum value of the prefix for the x-location of the last significant coefficient is dependent on a width of the transform block and the zero-out threshold and the maximum value of the prefix for the y-location of the last significant coefficient is dependent on a height of the transform block and the zero-out threshold. Derivation of the maximum value of the prefix for the x-location of the last significant coefficient and the maximum value of the prefix for the y-location of the last significant coefficient shown above can be applied in this embodiment.
In one embodiment, the prefix for x-location of the last significant coefficient is coded depending on the prefix for y-location of the last significant coefficient, or the prefix for y-location of the last significant coefficient is coded depending on the prefix for x-location of the last significant coefficient.
In another embodiment, the prefix for x-location of the last significant coefficient is coded using the prefix for y-location of the last significant coefficient as a predictor, or the prefix for y-location of the last significant coefficient is coded using the prefix for x-location of the last significant coefficient as the predictor.
In one embodiment, the zero-out threshold is pre-defined and known to both an encoder and a decoder. In another embodiment, the zero-out threshold is signalled in a bitstream. For example, the zero-out threshold can be signalled in an SPS (sequence parameter set) of the bitstream. In yet another embodiment, the zero-out threshold is signalled for a vertical direction and a horizontal direction respectively. In yet another embodiment, different zero-out thresholds are used for different transform block sizes.
In one embodiment, when non-DCT-II transform is applied in horizontal and/or vertical directions of a residual block, the zero-out threshold, iZeroOutThresh can be updated to iZeroOutThresh >> k, where k is an integer greater than 0, and wherein “>>” corresponds to a right-shift operation. For example, k can be equal to 1.
A similar method for the decoder side is also disclosed. According to this method, a video bitstream corresponding to compressed data including a current block in a current picture is received at a video decoder side. One or more syntax elements related to location of last significant coefficient in a transform block within the current block are parsed from the video bitstream, where a maximum value of said one or more syntax elements is dependent on a block size of the transform block and a zero-out threshold, and  coefficients of the transform block with coordinates greater than the zero-out threshold are set to zero. Decoded residue signals for the current block are derived using first information comprising the location of last significant coefficient in the transform block. A reconstructed current block is generated using second information comprising the decoded residue signals for the current block.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 illustrates an exemplary block diagram of a video encoder, where the video encoder incorporates Intra/Inter prediction, transform and quantization processes.
Fig. 2 illustrates an exemplary block diagram of a video decoder, where the video decoder incorporates Intra/Inter prediction, inverse transform and de-quantization processes.
Fig. 3 illustrates an example of the location of the last significant coefficient.
Fig. 4 illustrates a flowchart of an exemplary encoding system using improved coding of location of the last significant coefficient according to an embodiment of the present invention.
Fig. 5 illustrates a flowchart of an exemplary decoding system using improved coding of location of the last significant coefficient according to an embodiment of the present invention.
DETAILED DESCRIPTION OF PREFERRED IMPLEMENTATIONS
The following description is of the best-contemplated mode of carrying out the invention. This description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. The scope of the invention is best determined by reference to the appended claims.
In the present invention, methods for improving the coding efficiency of the last significant coefficient are disclosed. According to the present invention, encoding of last_sig_coeff_x_prefix and last_sig_coeff_y_prefix takes into account of the block size as well as the zero out threshold. In one embodiment, the maximum value of last_sig_coeff_x_prefix depends on the width of the transform block (TB) as well as the zero out threshold iZeroOutThresh. For example, the maximum value of last_sig_coeff_x_prefix is derived according to the following pseudo-code:
– Log2maxX = Log2 (nTbW > iZeroOutThresh ? iZeroOutThresh : nTbW) ;
– Max value of last_sig_coeff_x_prefix = (Log2maxX << 1) –1.
In the above equations, the logical operator (x ? y : z) means if x is TRUE or not equal to 0, evaluates to the value of y; otherwise, evaluates to the value of z. Similarly, the maximum value of last_sig_coeff_y_prefix depends on the height of the block as well as the zero out threshold iZeroOutThresh. The maximum value of last_sig_coeff_y_prefix is derived according to the following pseudo-code:
– Log2maxY = Log2 (nTbH > iZeroOutThresh ? iZeroOutThresh : nTbH) ;
– Max value of last_sig_coeff_y_prefix = (Log2maxY << 1) –1.
In another embodiment, the maximum value of last_sig_coeff_x_prefix is same as VTM2.0. However, the maximum value of last_sig_coeff_y_prefix not only depends on the height of the block but also depends on the zero out threshold iZeroOutThresh. The maximum value of last_sig_coeff_y_prefix is derived by using following pseudo-code:
– Log2maxY = Log2 (nTbH > iZeroOutThresh ? iZeroOutThresh : nTbH) ;
– Max value of last_sig_coeff_y_prefix = (Log2maxY << 1) –1.
In yet another embodiment, the maximum value of last_sig_coeff_y_prefix is same as VTM2.0.1. However, the maximum value of last_sig_coeff_x_prefix not only depends on the width of the block but also depends on the zero out threshold iZeroOutThresh. The maximum value of last_sig_coeff_x_prefix is derived according to the following pseudo-code:
– Log2maxX = Log2 (nTbW > iZeroOutThresh ? iZeroOutThresh : nTbW) ;
– Max value of last_sig_coeff_x_prefix = (Log2maxX << 1) –1.
This present invention also discloses that the maximum value of last_sig_coeff_x_prefix and last_sig_coeff_y_prefix depend on the zero out threshold iZeroOutThresh only if certain conditions are satisfied. An embodiment is shown as follows:
– If transform is not applied in the TB, the last_sig_coeff_x_prefix and last_sig_coeff_y_prefix do not depend on the zero out threshold and maximum values are same as VTM2.0.1.
– Otherwise, last_sig_coeff_x_prefix and last_sig_coeff_y_prefix depends on the zero-out threshold as described in earlier.
In one embodiment, the value of iZeroOutThresh is predefined (e.g. 32) and known to both encoder and decoder.
In another embodiment, the value of iZeroOutThresh can be any value from 0 to maximum size of the transform block and the value of iZeroOutThresh is signalled to the decoder through a higher level syntax such as SPS syntax element.
In some embodiments, different values of iZeroOutThresh can be signalled for horizontal and vertical directions, respectively. In some other embodiments, different values of iZeroOutThresh can be signalled for different transform types. In one embodiment, the value of iZeroOutThresh may also depend on the transform type applied to the transform block in horizontal and/or vertical directions. In one embodiment, when non-DCT-II transform is applied in horizontal and/or vertical directions of the residual block, the value of iZeroOutThresh is updated to iZeroOutThresh>>k for that direction. For example, k is equal to 1.
In one embodiment, last_sig_coeff_y_prefix may be coded depending on the value of last_sig_coeff_x_prefix. In one embodiment, last_sig_coeff_x_prefix may be used as predictor for coding last_sig_coeff_y_prefix. In one embodiment, last_sig_coeff_x_prefix may be coded depending on the value of last_sig_coeff_y_prefix. In one embodiment, last_sig_coeff_y_prefix may be used as predictor for coding last_sig_coeff_x_prefix.
The present invention can be applied to a video encoder. In particular, the present invention can be applied to the residue signals generated from the Intra/Inter prediction process. Fig. 4 illustrates a flowchart of an exemplary encoding system using improved coding of location of the last significant coefficient according to an embodiment of the present invention. The steps shown in the flowchart may be implemented as program codes executable on one or more processors (e.g., one or more CPUs) at the encoder side. The steps shown in the flowchart may also be implemented based hardware such as one or more electronic devices or processors arranged to perform the steps in the flowchart. According to this method, input data associated with a current block in an image are received in step 410. Residue signals for the current block are derived in step 420. A transform process and a quantization process are applied to the residue signals to generate a transform block in step 430. A location of last significant coefficient in the transform block is encoded to generate one or more syntax elements in step 440, where a maximum value of said one or more syntax elements is dependent on a  block size of the transform block and a zero-out threshold, and coefficients of the transform block with coordinates greater than the zero-out threshold are set to zero. Encoded data comprising said one or more syntax elements are generated in step 450.
The present invention can be applied to a video decoder. In particular, the present invention can be applied to the coded residue signals. Fig. 5 illustrates a flowchart of an exemplary decoding system using improved coding of location of the last significant coefficient according to an embodiment of the present invention. A video bitstream corresponding to compressed data including a current block in a current picture is received at a video decoder side in step 510. One or more syntax elements related to location of last significant coefficient in a transform block within the current block are parsed from the video bitstream in step 520, where a maximum value of said one or more syntax elements is dependent on a block size of the transform block and a zero-out threshold, and coefficients of the transform block with coordinates greater than the zero-out threshold are set to zero. Decoded residue signals for the current block are generated using first information comprising the location of last significant coefficient in the transform block in step 530. A reconstructed current block is generated using second information comprising the decoded residue signals for the current block in step 540.
The flowchart shown is intended to illustrate an example of video coding according to the present invention. A person skilled in the art may modify each step, re-arranges the steps, split a step, or combine steps to practice the present invention without departing from the spirit of the present invention. In the disclosure, specific syntax and semantics have been used to illustrate examples to implement embodiments of the present invention. A skilled person may practice the present invention by substituting the syntax and semantics with equivalent syntax and semantics without departing from the spirit of the present invention.
The above description is presented to enable a person of ordinary skill in the art to practice the present invention as provided in the context of a particular application and its requirement. Various modifications to the described embodiments will be apparent to those with skill in the art, and the general principles defined herein may be applied to other embodiments. Therefore, the present invention is not intended to be limited to the particular embodiments shown and described, but is to be accorded the widest scope consistent with the principles and novel features herein disclosed. In the above detailed description, various specific details are illustrated in order to provide a thorough understanding of the present invention. Nevertheless, it will be understood by those skilled in the art that the present invention may be practiced.
Embodiment of the present invention as described above may be implemented in various hardware, software codes, or a combination of both. For example, an embodiment of the present invention can be one or more circuit circuits integrated into a video compression chip or program code integrated into video compression software to perform the processing described herein. An embodiment of the present invention may also be program code to be executed on a Digital Signal Processor (DSP) to perform the processing described herein. The invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA) . These processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention. The software code or firmware code may be developed in different programming languages and different formats or styles. The software code may also be compiled for different target platforms. However, different code  formats, styles and languages of software codes and other means of configuring code to perform the tasks in accordance with the invention will not depart from the spirit and scope of the invention.
The invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described examples are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.

Claims (32)

  1. A method of video encoding, the method comprising:
    receiving input data related to a current block in a current picture at a video encoder side;
    deriving residue signals for the current block;
    applying a transform process and a quantization process to the residue signals to generate a transform block;
    encoding a location of last significant coefficient in the transform block to generate one or more syntax elements, wherein a maximum value of said one or more syntax elements is dependent on a block size of the transform block and a zero-out threshold, wherein coefficients of the transform block with coordinates greater than the zero-out threshold are set to zero; and
    generating encoded data comprising said one or more syntax elements.
  2. The method of Claim 1, wherein said one or more syntax elements comprise a prefix for x-location of the last significant coefficient, and the maximum value of the prefix for the x-location of the last significant coefficient is dependent on a width of the transform block and the zero-out threshold.
  3. The method of Claim 2, wherein Log2maxX is defined as (Log2 (nTbW > iZeroOutThresh ? iZeroOutThresh : nTbW) ) and the maximum value of the prefix for the x-location of the last significant coefficient is derived as ( (Log2maxX << 1 ) –1) , and wherein Log2 () corresponds to a log-based-2 operation, iZeroOutThresh corresponds to the zero-out threshold, nTbW corresponds to the width of the transform block, and “<<” corresponds to a left-shift operation.
  4. The method of Claim 1, wherein said one or more syntax elements comprise a prefix for y-location of the last significant coefficient, and the maximum value of the prefix for the y-location of the last significant coefficient is dependent on a height of the transform block and the zero-out threshold.
  5. The method of Claim 4, wherein Log2maxY is defined as (Log2 (nTbH > iZeroOutThresh ? iZeroOutThresh : nTbH) ) and the maximum value of the prefix for the y-location of the last significant coefficient is derived as ( (Log2maxY << 1 ) –1) , and wherein Log2 () corresponds to a log-based-2 operation, iZeroOutThresh corresponds to the zero-out threshold, nTbH corresponds to the height of the transform block, and “<<” corresponds to a left-shift operation.
  6. The method of Claim 1, wherein said one or more syntax elements comprise a prefix for x-location of the last significant coefficient and a prefix for y-location of the last significant coefficient, and the maximum value of the prefix for the x-location of the last significant coefficient is dependent on a width of the transform block and the zero-out threshold and the maximum value of the prefix for the y-location of the last significant coefficient is dependent on a height of the transform block and the zero-out threshold.
  7. The method of Claim 6, wherein Log2maxX is defined as (Log2 (nTbW > iZeroOutThresh ? iZeroOutThresh : nTbW) ) and the maximum value of the prefix for the x-location of the last significant coefficient is derived as ( (Log2maxX << 1 ) –1) ; Log2maxY is defined as (Log2 (nTbH > iZeroOutThresh ? iZeroOutThresh : nTbH) ) and the maximum value of the prefix for the y-location of the last significant coefficient is derived as ( (Log2maxY << 1 ) –1) ; and wherein Log2 () corresponds to a log-based-2 operation, iZeroOutThresh corresponds to the zero-out threshold, nTbW corresponds to the width of the transform block, nTbH corresponds to the height of the transform block, and “<<” corresponds to a left-shift operation.
  8. The method of Claim 6, wherein the prefix for x-location of the last significant coefficient is coded  depending on the prefix for y-location of the last significant coefficient, or the prefix for y-location of the last significant coefficient is coded depending on the prefix for x-location of the last significant coefficient.
  9. The method of Claim 6, wherein the prefix for x-location of the last significant coefficient is coded using the prefix for y-location of the last significant coefficient as a predictor, or the prefix for y-location of the last significant coefficient is coded using the prefix for x-location of the last significant coefficient as the predictor.
  10. The method of Claim 1, wherein the zero-out threshold is pre-defined and known to both an encoder and a decoder.
  11. The method of Claim 1, wherein the zero-out threshold is signalled in a bitstream.
  12. The method of Claim 11, wherein the zero-out threshold is signalled in an SPS (sequence parameter set) of the bitstream.
  13. The method of Claim 1, wherein the zero-out threshold is signalled for a vertical direction and a horizontal direction respectively.
  14. The method of Claim 1, wherein different zero-out thresholds are used for different transform block sizes.
  15. The method of Claim 1, wherein when non-DCT-II transform is applied in horizontal and/or vertical directions of a residual block, the zero-out threshold, iZeroOutThresh is updated to iZeroOutThresh >> k, where k is an integer greater than 0, and wherein “>>” corresponds to a right-shift operation.
  16. An apparatus of video encoding, the apparatus comprising one or more electronic circuits or processors arranged to:
    receive input data related to a current block in a current picture at a video encoder side;
    derive residue signals for the current block;
    apply a transform process and a quantization process to the residue signals to generate a transform block;
    encode a location of last significant coefficient in the transform block to generate one or more syntax elements, wherein a maximum value of said one or more syntax elements is dependent on a block size of the transform block and a zero-out threshold, wherein coefficients of the transform block with coordinates greater than the zero-out threshold are set to zero; and
    generate encoded data comprising said one or more syntax elements.
  17. A method of video decoding, the method comprising:
    receiving a video bitstream corresponding to compressed data including a current block in a current picture at a video decoder side;
    parsing one or more syntax elements related to location of last significant coefficient in a transform block within the current block from the video bitstream, wherein a maximum value of said one or more syntax elements is dependent on a block size of the transform block and a zero-out threshold, wherein coefficients of the transform block with coordinates greater than the zero-out threshold are set to zero;
    deriving decoded residue signals for the current block using first information comprising the location of last significant coefficient in the transform block; and
    generating a reconstructed current block using second information comprising the decoded residue signals for the current block.
  18. The method of Claim 17, wherein said one or more syntax elements comprise a prefix for x-location of  the last significant coefficient, and the maximum value of the prefix for the x-location of the last significant coefficient is dependent on a width of the transform block and the zero-out threshold.
  19. The method of Claim 18, wherein Log2maxX is defined as (Log2 (nTbW > iZeroOutThresh ? iZeroOutThresh : nTbW) ) and the maximum value of the prefix for the x-location of the last significant coefficient is derived as ( (Log2maxX << 1 ) –1) , and wherein Log2 () corresponds to a log-based-2 operation, iZeroOutThresh corresponds to the zero-out threshold, nTbW corresponds to the width of the transform block, and “<<” corresponds to a left-shift operation.
  20. The method of Claim 17, wherein said one or more syntax elements comprise a prefix for y-location of the last significant coefficient, and the maximum value of the prefix for the y-location of the last significant coefficient is dependent on a height of the transform block and the zero-out threshold.
  21. The method of Claim 20, wherein Log2maxY is defined as (Log2maxY = Log2 (nTbH >iZeroOutThresh ? iZeroOutThresh : nTbH) ) and the maximum value of the prefix for the y-location of the last significant coefficient is derived as ( (Log2maxY << 1 ) –1) , and wherein Log2 () corresponds to a log-based-2 operation, iZeroOutThresh corresponds to the zero-out threshold, nTbH corresponds to the height of the transform block, and “<<” corresponds to a left-shift operation.
  22. The method of Claim 17, wherein said one or more syntax elements comprise a prefix for x-location of the last significant coefficient and a prefix for y-location of the last significant coefficient, and the maximum value of the prefix for the x-location of the last significant coefficient is dependent on a width of the transform block and the zero-out threshold and the maximum value of the prefix for the y-location of the last significant coefficient is dependent on a height of the transform block and the zero-out threshold.
  23. The method of Claim 22, wherein Log2maxX is defined as (Log2 (nTbW > iZeroOutThresh ? iZeroOutThresh : nTbW) ) and the maximum value of the prefix for the x-location of the last significant coefficient is derived as ( (Log2maxX << 1 ) –1) ; Log2maxX is defined as (Log2 (nTbH > iZeroOutThresh ? iZeroOutThresh : nTbH) ) and the maximum value of the prefix for the y-location of the last significant coefficient is derived as ( (Log2maxY << 1 ) –1) ; and wherein Log2 () corresponds to a log-based-2 operation, iZeroOutThresh corresponds to the zero-out threshold, nTbW corresponds to the width of the transform block, nTbH corresponds to the height of the transform block, and “<<” corresponds to a left-shift operation.
  24. The method of Claim 22, wherein the prefix for x-location of the last significant coefficient is coded depending on the prefix for y-location of the last significant coefficient, or the prefix for y-location of the last significant coefficient is coded depending on the prefix for x-location of the last significant coefficient.
  25. The method of Claim 22, wherein the prefix for x-location of the last significant coefficient is coded using the prefix for y-location of the last significant coefficient as a predictor, or the prefix for y-location of the last significant coefficient is coded using the prefix for x-location of the last significant coefficient as the predictor.
  26. The method of Claim 17, wherein the zero-out threshold is pre-defined and known to both an encoder and a decoder.
  27. The method of Claim 17, wherein the zero-out threshold is signalled in a bitstream.
  28. The method of Claim 27, wherein the zero-out threshold is signalled in an SPS (sequence parameter set) of a bitstream.
  29. The method of Claim 17, wherein the zero-out threshold is signalled for a vertical direction and a  horizontal direction respectively.
  30. The method of Claim 17, wherein different zero-out thresholds are used for different transform block sizes.
  31. The method of Claim 17, wherein when non-DCT-II transform is applied in horizontal and/or vertical directions of a residual block, the zero-out threshold, iZeroOutThresh is updated to iZeroOutThresh >> k, where k is an integer greater than 0, and wherein “>>” corresponds to a right-shift operation.
  32. An apparatus of video decoding, the apparatus comprising one or more electronic circuits or processors arranged to:
    receive a video bitstream corresponding to compressed data including a current block in a current picture at a video decoder side;
    parse one or more syntax elements related to location of last significant coefficient in a transform block within the current block from the video bitstream, wherein a maximum value of said one or more syntax elements is dependent on a block size of the transform block and a zero-out threshold, wherein coefficients of the transform block with coordinates greater than the zero-out threshold are set to zero;
    derive decoded residue signals for the current block using first information comprising the location of last significant coefficient in the transform block; and
    generate a reconstructed current block using second information comprising the decoded residue signals for the current block.
PCT/CN2019/109914 2018-10-08 2019-10-08 Method and apparatus of last significant coefficient coding in image and video coding WO2020073884A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201980066091.XA CN112840655B (en) 2018-10-08 2019-10-08 Coding and decoding method and device for last effective coefficient in image and video coding and decoding
EP19870942.0A EP3857894A4 (en) 2018-10-08 2019-10-08 Method and apparatus of last significant coefficient coding in image and video coding
US17/283,180 US11343539B2 (en) 2018-10-08 2019-10-08 Method and apparatus of last significant coefficient coding in image and video coding
TW108136379A TWI738077B (en) 2018-10-08 2019-10-08 Method and apparatus of last significant coefficient coding in image and video coding

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862742471P 2018-10-08 2018-10-08
US62/742,471 2018-10-08

Publications (1)

Publication Number Publication Date
WO2020073884A1 true WO2020073884A1 (en) 2020-04-16

Family

ID=70164862

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/109914 WO2020073884A1 (en) 2018-10-08 2019-10-08 Method and apparatus of last significant coefficient coding in image and video coding

Country Status (5)

Country Link
US (1) US11343539B2 (en)
EP (1) EP3857894A4 (en)
CN (1) CN112840655B (en)
TW (1) TWI738077B (en)
WO (1) WO2020073884A1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120082231A1 (en) 2010-10-01 2012-04-05 Qualcomm Incorporated Zero-out of high frequency coefficients and entropy coding retained coefficients using a joint context model
US20150078432A1 (en) * 2013-09-19 2015-03-19 Blackberry Limited Coding position data for the last non-zero transform coefficient in a coefficient group
KR20150032277A (en) * 2015-03-02 2015-03-25 에스케이텔레콤 주식회사 Frequency Transform Block Coding Method and Apparatus and Image Encoding/Decoding Method and Apparatus Using Same
US20150264403A1 (en) 2014-03-17 2015-09-17 Qualcomm Incorporated Systems and methods for low complexity forward transforms using zeroed-out coefficients
CN107079165A (en) * 2014-11-05 2017-08-18 联发科技(新加坡)私人有限公司 Use the method for video coding and device of prediction residual
US20180070106A1 (en) * 2016-09-08 2018-03-08 Google Inc. Context adaptive scan order for entropy coding
TW201820866A (en) * 2016-10-14 2018-06-01 聯發科技股份有限公司 Method and apparatus of smoothing filter for ringing artefact removal

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI115946B (en) * 2000-05-05 2005-08-15 Nokia Corp A method for detecting errors in video information
CN101707715A (en) * 2005-09-20 2010-05-12 三菱电机株式会社 Image encoding device and method
JPWO2009110160A1 (en) * 2008-03-07 2011-07-14 株式会社東芝 Video encoding / decoding method and apparatus
US8285068B2 (en) * 2008-06-25 2012-10-09 Cisco Technology, Inc. Combined deblocking and denoising filter
EP2154894A1 (en) * 2008-08-15 2010-02-17 Thomson Licensing Video coding with coding of the locations of significant coefficients in a block of coefficients
EP2559244B1 (en) * 2010-04-13 2017-08-02 GE Video Compression, LLC Coding of significance maps and transform coefficient blocks
US8976861B2 (en) * 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
JPWO2013065702A1 (en) * 2011-11-04 2015-04-02 シャープ株式会社 Arithmetic decoding device, image decoding device, arithmetic coding device, image coding device, and arithmetic decoding method
US9191670B2 (en) * 2012-01-17 2015-11-17 Qualcomm Incorporated Throughput improvement for CABAC coefficient level coding
US10616581B2 (en) * 2012-01-19 2020-04-07 Huawei Technologies Co., Ltd. Modified coding for a transform skipped block for CABAC in HEVC
WO2013109993A1 (en) * 2012-01-21 2013-07-25 General Instrument Corporation Method of determining binary codewords for transform coefficients
US9036710B2 (en) * 2012-03-08 2015-05-19 Blackberry Limited Unified transform coefficient encoding and decoding
US9088769B2 (en) * 2012-06-28 2015-07-21 Blackberry Limited Reduced worst-case context-coded bins in video compression with parity hiding
CA2939170A1 (en) * 2014-03-13 2015-09-17 Qualcomm Incorporated Constrained depth intra mode coding for 3d video coding
US10708164B2 (en) * 2016-05-03 2020-07-07 Qualcomm Incorporated Binarizing secondary transform index
US10972733B2 (en) * 2016-07-15 2021-04-06 Qualcomm Incorporated Look-up table for enhanced multiple transform
US10523968B2 (en) * 2017-09-18 2019-12-31 Google Llc Coding of last significant coefficient flags

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120082231A1 (en) 2010-10-01 2012-04-05 Qualcomm Incorporated Zero-out of high frequency coefficients and entropy coding retained coefficients using a joint context model
US20150078432A1 (en) * 2013-09-19 2015-03-19 Blackberry Limited Coding position data for the last non-zero transform coefficient in a coefficient group
US20150264403A1 (en) 2014-03-17 2015-09-17 Qualcomm Incorporated Systems and methods for low complexity forward transforms using zeroed-out coefficients
CN107079165A (en) * 2014-11-05 2017-08-18 联发科技(新加坡)私人有限公司 Use the method for video coding and device of prediction residual
KR20150032277A (en) * 2015-03-02 2015-03-25 에스케이텔레콤 주식회사 Frequency Transform Block Coding Method and Apparatus and Image Encoding/Decoding Method and Apparatus Using Same
US20180070106A1 (en) * 2016-09-08 2018-03-08 Google Inc. Context adaptive scan order for entropy coding
TW201820866A (en) * 2016-10-14 2018-06-01 聯發科技股份有限公司 Method and apparatus of smoothing filter for ringing artefact removal

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
B. BROSS ET AL.: "Versatile Video Coding (Draft 2", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, 11TH MEETING: LJUBLJANA, SI, 10 July 2018 (2018-07-10)
J. SOLE ET AL.: "Reduced complexity 32x32 transform by coefficient zero-out", 3RD JCT-VC MEETING, GUANGZHOU, CN, 7 October 2010 (2010-10-07)
See also references of EP3857894A4
XIN ZHAO ET AL.: "CE6: Block size dependent zero-out transform (Test 1.14", 11TH JVET MEETING, LJUBLJANA, SI, 10 July 2018 (2018-07-10)

Also Published As

Publication number Publication date
US20210314617A1 (en) 2021-10-07
EP3857894A1 (en) 2021-08-04
US11343539B2 (en) 2022-05-24
CN112840655B (en) 2023-12-01
TW202031042A (en) 2020-08-16
EP3857894A4 (en) 2022-09-07
TWI738077B (en) 2021-09-01
CN112840655A (en) 2021-05-25

Similar Documents

Publication Publication Date Title
KR102030425B1 (en) Method and apparatus for video encoding and decoding based on constrained offset compensation and loop filter
US10116967B2 (en) Method and apparatus for coding of sample adaptive offset information
EP2801195B1 (en) Devices and methods for sample adaptive offset coding and selection of edge offset parameters
KR101752612B1 (en) Method of sample adaptive offset processing for video coding
EP3923579B1 (en) Method for signaling image information and method for decoding image information using same
EP2697973B1 (en) Method and apparatus for loop filtering across slice or tile boundaries
WO2021088919A1 (en) Method and apparatus of signaling subpicture information in video coding
US20140219337A1 (en) Method for encoding and decoding images based on constrained offset compensation and loop filter, and apparatus therefor
EP3342169B1 (en) Method and apparatus of palette index map coding for screen content coding
US20150172666A1 (en) Method and apparatus for sample adaptive offset coding with separate sign and mag -nitude
US11405650B2 (en) Method and apparatus of transform coefficient coding
WO2014055231A1 (en) Devices and methods for using base layer motion vector for enhancement layer motion vector prediction
US20150350685A1 (en) Method for encoding and decoding images based on constrained offset compensation and loop filter, and apparatus therefor
US11343539B2 (en) Method and apparatus of last significant coefficient coding in image and video coding
WO2023198013A1 (en) Methods and apparatus of cu partition using signalling predefined partitions in video coding
EP4055830A1 (en) Method and apparatus of signaling adaptive motion vector difference resolution in video coding

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: 19870942

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019870942

Country of ref document: EP

Effective date: 20210426