EP-4740474-A1 - LOCAL ILLUMINATION COMPENSATION WITH MERGE SLOPE ADJUSTMENT
Abstract
A video coder receives a Local Illumination Compensation (LIC) linear model that is generated using samples neighboring two different blocks. The linear model includes a scale factor and a y-intercept. The video coder adjusts the linear model by applying an offset to adjust the scaling factor (or slope) of the linear model. The scale factor or the y-intercept of the adjusted linear model may be clipped to stay within a defined range. The offset may be selected from a set of predefined values based on a syntax element that is signaled in a bitstream. The applied offset may be inherited from a previously coded position. When the current block is coded by bi-prediction, the linear model may be one of first and second linear models used to generate a predictor of the current block.
Inventors
- CHUBACH, Olena
- LO, CHIH-HSUAN
- LAI, Chen-Yen
- CHUANG, CHENG-YEN
- CHEN, YI-WEN
- CHEN, CHING-YEH
- HSU, CHIH-WEI
- CHUANG, TZU-DER
Assignees
- MEDIATEK INC.
Dates
- Publication Date
- 20260513
- Application Date
- 20240705
Claims (20)
- 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; receiving a linear model that is generated using samples neighboring two different blocks, the linear model comprising a scale factor and a y-intercept; adjusting the linear model by applying an offset; and encoding or decoding the current block by using the adjusted linear model.
- The video coding method of claim 1, wherein the linear model is for local illumination compensation (LIC) .
- The video coding method of claim 1, wherein the samples neighboring the two different blocks are samples in a reference template neighboring a reference block and samples in a current template neighboring the current block.
- The video coding method of claim 1, wherein the samples neighboring the two different blocks are samples in template regions neighboring two different previous coded blocks.
- The video coding method of claim 1, wherein the applied offset adjusts the scaling factor of the linear model.
- The video coding method of claim 1, wherein encoding or decoding the current block comprises: applying the adjusted linear model to an initial predictor of the current block to generate a final predictor of the current block, wherein the initial predictor comprises a reference block identified by a motion vector or block vector of the current block; and encoding or decoding the current block by using the final predictor.
- The video coding method of claim 1, wherein the linear model is one of first and second linear models used to generate a predictor of the current block, wherein the selected offset is used to adjust the first linear model but not the second linear model.
- The video coding method of claim 7, wherein the adjusted first linear model is applied to a first predictor identified based on a first motion vector of the current block and the second linear model is applied to a second predictor identified based on a second motion vector of the current block.
- The video coding method of claim 7, wherein the first and second linear models are derived iteratively for the current block, wherein the selected offset is used to adjust the last derived linear model.
- The video coding method of claim 1, wherein the scale factor or the y-intercept of the adjusted linear model is clipped to stay within a defined range.
- The video coding method of claim 1, wherein the offset is selected from a set of predefined values based on a syntax element that is signaled in a bitstream.
- The video coding method of claim 11, wherein the set of predefined values comprises 0, 1/8, and -1/8.
- The video coding method of claim 11, wherein first and second linear models are applied to first and second predictors that are identified by first and second motion vectors of the current block, wherein first and second offsets are selected from the plurality of predefined offset and used to adjust the first and second linear models respectively.
- The video coding method of claim 1, wherein the offset is inherited from a previously coded position.
- The video coding method of claim 14, wherein the inherited offset is selected from a list of candidate positions.
- The video coding method of claim 1, wherein the linear model is inherited from a previously coded position.
- The video coding method of claim 16, wherein the inherited linear model is selected from a list of candidate linear models that are associated with different candidate positions.
- 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; receiving a linear model that is generated using samples neighboring two different blocks, the linear model comprising a scale factor and a y-intercept; adjusting the linear model by applying an offset; and encoding or decoding the current block by using the adjusted linear model, wherein the adjusted linear model is one of first and second linear models used to generate a final predictor of the current block, the adjusted first linear model applied to a first predictor identified based on a first motion vector of the current block and the second linear model is applied to a second predictor identified based on a second motion vector of the current block.
- 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 linear model that is generated using samples neighboring two different blocks, the linear model comprising a scale factor and a y-intercept; adjusting the linear model by applying an offset; and reconstructing the current block by using the adjusted linear model, wherein the adjusted linear model is one of first and second linear models used to generate a final predictor of the current block, the adjusted first linear model applied to a first predictor identified based on a first motion vector of the current block and the second linear model is applied to a second predictor identified based on a second motion vector of the current block.
- A video encoding method comprising: receiving data to be encoded as a current block of pixels of a current picture of a video; receiving a linear model that is generated using samples neighboring two different blocks, the linear model comprising a scale factor and a y-intercept; adjusting the linear model by applying an offset; and encoding the current block by using the adjusted linear model, wherein the adjusted linear model is one of first and second linear models used to generate a final predictor of the current block, the adjusted first linear model applied to a first predictor identified based on a first motion vector of the current block and the second linear model is applied to a second predictor identified based on a second motion vector of the current block.
Description
LOCAL ILLUMINATION COMPENSATION WITH MERGE SLOPE ADJUSTMENT 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 Nos. 63/512,310 and 63/568,504, filed on 7 July 2023 and 22 March 2024, respectively. Contents 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 local illumination compensation (LIC) . 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 signalled 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 ve