Search

EP-4736440-A1 - ADAPTIVE SAMPLE CLIPPING

EP4736440A1EP 4736440 A1EP4736440 A1EP 4736440A1EP-4736440-A1

Abstract

A method for implementing sample clipping in a video coding system is provided. A video coder receives data to be encoded or decoded as a current block of pixels of a current picture of a video. The video coder signals or receives a first set of range definitions. The video coder encodes or decodes the current block by processing the received data in one or more coding stages, during which data samples produced by a first coding stage are constrained by adaptive sample clipping to be within a first numerical range defined by the first set of range definitions. The first set of range definitions may apply a clipping function upon the data samples produced by the first coding stage to impose a maximum allowed value and a minimum allowed value upon data samples produced by the first coding stage.

Inventors

  • CHUBACH, Olena
  • CHEN, YI-WEN
  • CHEN, CHING-YEH
  • HSU, CHIH-WEI
  • HUANG, YU-WEN

Assignees

  • MediaTek Inc.

Dates

Publication Date
20260506
Application Date
20240628

Claims (20)

  1. A video coding method comprising: receiving data to be encoded or decoded as a current block of pixels of a current picture of a video; signaling or receiving a first set of range definitions; and encoding or decoding the current block by processing the received data in one or more coding stages, wherein data samples produced by a first coding stage are constrained to be within a first numerical range defined by the first set of range definitions.
  2. The video coding method of claim 1, wherein the first set of range definitions applies a clipping function upon the data samples produced by the first coding stage.
  3. The video coding method of claim 1, wherein the first set of range definitions imposes a maximum allowed value and a minimum allowed value upon data samples produced by the first coding stage.
  4. The video coding method of claim 3, wherein the maximum and minimum allowed values are applicable to luma and chroma components.
  5. The video coding method of claim 3, wherein the maximum and minimum allowed values are applicable to samples of luma component only and not samples of chroma components.
  6. The video coding method of claim 3, wherein differences between the maximum and minimum allowed values and predefined maximum and minimum values are signaled by an encoder or decoded by a decoder.
  7. The video coding method of claim 1, wherein data samples produced by a second coding stage are constrained to be within the first numerical range defined by the first set of range definitions.
  8. The video coding method of claim 1, further comprising signaling or receiving a second set of range definitions, wherein data samples produced by a second coding stage are constrained to be within a second numerical range defined by the second set of range definitions.
  9. The video coding method of claim 1, wherein the first set of range definitions is one set of a plurality of sets of range definitions received or signaled, the method further comprising selecting the first set of range definitions from the plurality of sets of range definitions to be applied to the data samples produced by the first coding stage.
  10. The video coding method of claim 1, wherein the first set of range definitions is enabled to be applied to data samples of a same slice, or a same tile, or a same coding tree unit (CTU) row, or a same coding unit.
  11. The video coding method of claim 1, wherein the first set of range definitions is used for defining a first range for mapping luma values from an original domain to a reshaped domain.
  12. The video coding method of claim 10, wherein the first set of range definitions comprises a maximum value and a minimum value for defining the first range and a number of non-zero codewords.
  13. The video coding method of claim 11, wherein the number of non-zero codewords is not a power of two number.
  14. The video coding method of claim 10, wherein a second set of range definitions is used for defining a second range for mapping luma values from the original domain to the reshaped domain.
  15. The video coding method of claim 1, wherein when adaptive sample clipping is applied, luma mapping with chroma scaling (LMCS) is disabled, and when LMCS is applied, adaptive sample clipping is disabled.
  16. The video coding method of claim 1, wherein when luma mapping with chroma scaling (LMCS) is enabled, adaptive sample clipping is used in an in-loop filter stage.
  17. The video coding method of claim 1, where when luma mapping with chroma scaling (LMCS) is disabled, adaptive sample clipping is applied to a prediction stage or a reconstruction stage.
  18. The video coding method of claim 1, wherein the first set of range definitions is signaled in at least one of a slice header, a picture header, an adaptation parameter set (APS) , and a picture parameter set (PPS) .
  19. An electronic apparatus comprising: a video coder circuit configured to perform operations comprising: receiving data to be encoded or decoded as a current block of pixels of a current picture of a video; signaling or receiving a first set of range definitions; and encoding or decoding the current block by processing the received data in one or more coding stages, wherein data samples produced by a first coding stage are constrained to be within a first numerical range defined by the first set of range definitions.
  20. A video decoding method comprising: receiving data to be decoded as a current block of pixels of a current picture of a video; receiving a first set of range definitions; and reconstructing the current block by processing the received data in one or more coding stages, wherein data samples produced by a first coding stage are constrained to be within a first numerical range defined by the first set of range definitions.

Description

ADAPTIVE SAMPLE CLIPPING CROSS REFERENCE TO RELATED PATENT APPLICATION (S) The present disclosure is part of a non-provisional application that claims the priority benefit of U.S. Provisional Patent Application No. 63/510,931, filed on 29 June 2023. Content of above-listed applications are herein incorporated by reference. TECHNICAL FIELD The present disclosure relates generally to video coding. In particular, the present disclosure relates to methods of coding pixel blocks by adaptive sample clipping. BACKGROUND Unless otherwise indicated herein, approaches described in this section are not prior art to the claims listed below and are not admitted as prior art by inclusion in this section. High-Efficiency Video Coding (HEVC) is an international video coding standard developed by the Joint Collaborative Team on Video Coding (JCT-VC) . HEVC is based on the hybrid block-based motion-compensated DCT-like transform coding architecture. The basic unit for compression, termed coding unit (CU) , is a 2Nx2N square block of pixels, and each CU can be recursively split into four smaller CUs until the predefined minimum size is reached. Each CU contains one or multiple prediction units (PUs) . Versatile video coding (VVC) is the latest international video coding standard developed by the Joint Video Expert Team (JVET) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11. The input video signal is predicted from the reconstructed signal, which is derived from the coded picture regions. The prediction residual signal is processed by a block transform. The transform coefficients are quantized and entropy coded together with other side information in the bitstream. The reconstructed signal is generated from the prediction signal and the reconstructed residual signal after inverse transform on the de-quantized transform coefficients. The reconstructed signal is further processed by in-loop filtering for removing coding artifacts. The decoded pictures are stored in the frame buffer for predicting the future pictures in the input video signal. In VVC, a coded picture is partitioned into non-overlapped square block regions represented by the associated coding tree units (CTUs) . The leaf nodes of a coding tree correspond to the coding units (CUs) . A coded picture can be represented by a collection of slices, each comprising an integer number of CTUs. The individual CTUs in a slice are processed in raster-scan order. A bi-predictive (B) slice may be decoded using intra prediction or inter prediction with at most two motion vectors and reference indices to predict the sample values of each block. A predictive (P)  slice is decoded using intra prediction or inter prediction with at most one motion vector and reference index to predict the sample values of each block. An intra (I) slice is decoded using intra prediction only. A CTU can be partitioned into one or multiple non-overlapped coding units (CUs) using the quadtree (QT) with nested multi-type-tree (MTT) structure to adapt to various local motion and texture characteristics. A CU can be further split into smaller CUs using one of the five split types: quad-tree partitioning, vertical binary tree partitioning, horizontal binary tree partitioning, vertical center-side triple-tree partitioning, horizontal center-side triple-tree partitioning. Each CU contains one or more prediction units (PUs) . The prediction unit, together with the associated CU syntax, works as a basic unit for signaling the predictor information. The specified prediction process is employed to predict the values of the associated pixel samples inside the PU. Each CU may contain one or more transform units (TUs) for representing the prediction residual blocks. A transform unit (TU) is comprised of a transform block (TB) of luma samples and two corresponding transform blocks of chroma samples and each TB correspond to one residual block of samples from one color component. An integer transform is applied to a transform block. The level values of quantized coefficients together with other side information are entropy coded in the bitstream. The terms coding tree block (CTB) , coding block (CB) , prediction block (PB) , and transform block (TB) are defined to specify the 2-D sample array of one-color component associated with CTU, CU, PU, and TU, respectively. Thus, a CTU consists of one luma CTB, two chroma CTBs, and associated syntax elements. A similar relationship is valid for CU, PU, and TU. For each inter-predicted CU, motion parameters consisting of motion vectors, reference picture indices and reference picture list usage index, and additional information are used for inter-predicted sample generation. The motion parameter can be signaled in an explicit or implicit manner. When a CU is coded with skip mode, the CU is associated with one PU and has no significant residual coefficients, no coded motion vector delta or reference picture index. A merge mode is specified whereby the motion parameters for