Methods and apparatus for video coding

By using inheritance information from previously coded blocks in video coding, the method addresses inefficiencies in HEVC and VVC, improving encoding and decoding performance through enhanced prediction techniques.

WO2025218740A1PCT designated stage Publication Date: 2025-10-23MEDIATEK INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/089554
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-17
Filing Date
2025-04-17
Publication Date
2025-10-23

AI Technical Summary

Technical Problem

Existing video coding standards like HEVC and VVC face challenges in efficiently encoding and decoding video data due to complex inheritance information processing, leading to increased computational complexity and reduced coding efficiency.

Method used

The proposed method introduces a video coding approach that utilizes inheritance information from previously coded blocks to form a merge candidate list, specifically employing occurrence-based intra coding (OBIC) and other modes like intra mixed merge modes to enhance prediction accuracy and reduce complexity.

Benefits of technology

This approach improves coding efficiency by leveraging inheritance information from neighboring blocks, reducing computational load and enhancing prediction accuracy in video coding processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025089554_23102025_PF_FP_ABST
    Figure CN2025089554_23102025_PF_FP_ABST
Patent Text Reader

Abstract

Methods and apparatus for video coding are disclosed. According to the coding method, data to be encoded or decoded as a current block of pixels of a current picture of a video is received, inheritance information associated with a target mode of the current block stored by an inheritance block of the current block is obtained or derived to form a first merge candidate list, wherein the target mode of the current block is occurrence-based intra coding (OBIC) merge mode, and the inheritance block is a previously coded block relative to the current block; the current block is encoded or decoded using the target mode of the current block.
Need to check novelty before this filing date? Find Prior Art

Description

METHODS AND APPARATUS FOR VIDEO CODING

[0001] CROSS REFERENCE TO RELATED PATENT APPLICATION (S)

[0002] The present disclosure is part of a non-provisional application that claims the priority benefit of U.S. Provisional Patent Application No. 63 / 634,954, filed on 17April 2024. Content of above-listed application is herein incorporated by reference.Technical Field

[0003] The present disclosure relates to the technical field of video coding, in particular to methods and apparatus for video coding.Background Art

[0004] 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.

[0005] 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) .

[0006] 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 (i.e., encoded or decoded) 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.

[0007] 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 (MVs) 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 triple-tree partitioning, horizontal 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 / or 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 / or associated syntax elements. A similar relationship is valid for CU, PU, and TU.

[0008] 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 the current CU are obtained from neighboring CUs, including spatial and temporal candidates, and additional schedules introduced in VVC. The merge mode can be applied to any inter-predicted CU. The alternative to merge mode is the explicit transmission of motion parameters, where motion vector, corresponding reference picture index for each reference picture list and reference picture list usage flag and other needed information are signaled explicitly per each CU. In order to improve the coding efficiency or reduce the complexity of inheritance information, methods and apparatus for video coding are disclosed.SUMMARY

[0009] The following summary is illustrative only and is not intended to be limiting in any way. That is, the following summary is provided to introduce concepts, highlights, benefits and advantages of the novel and non-obvious techniques described herein. Select and not all implementations are further described below in the detailed description. Thus, the following summary is not intended toidentify essential features ofthe claimed subject matter, noris it intended for use in determining the scope ofthe claimed subject matter.

[0010] A video coding method is disclosed in one embodiment of the present disclosure. 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 coderobtains or derives inheritance information associated with a target mode of the current block stored by an inheritance block of the current block to form a first merge candidate list. The target mode of the current block is occurrence-based intra coding (OBIC) merge mode, and the inheritance block is a previously coded block relative to the current block. The video coderencodes or decodes the current block using the target mode of the current block.

[0011] In one embodiment of the present disclosure, a video coding method is further 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 obtains or derives inheritance information associated with a target mode of the current block stored by an inheritance block of the current block to form a first merge candidate list, the inheritance block is a previously coded block relative to the current block and the target mode of the current block is intra mixed merge mode, the intra mixed merge mode is defined as a combination of OBIC mode with at least one of the following modes: decoder side intra mode derivation (DIMD) mode, template-based intra mode derivation (TIMD) mode, extrapolation filter-based intra prediction (EIP) mode, temporal multiple reference line (TMRL) mode, spatial gradient-based prediction (SGPM) mode, intra sub-partitions (ISP) mode, intra template matchingprediction (IntraTMP) mode, and matrix weighted intra prediction (MIP) mode; the video coder encodes or decodes the current block using the target of the current block.

[0012] In one embodiment of the present disclosure, a video decoding method is further provided, a decoder receives data to be decoded as a current block of pixels of a current picture of a video; the decoder obtains or derives inheritance information associated with a target mode of the current block stored by an inheritance block of the current block to form a first merge candidate list. The target mode of the current block is occurrence-based intra coding (OBIC) merge mode, and the inheritance block is a previously coded block relative to the current block. The decoder reconstructs the current block using the target mode of the current block.

[0013] In one embodiment of the present disclosure, an electronic apparatus is further provided, the electronic apparatus comprises a processer configured to perform operations including: receiving data to be encoded or decoded as a current block of pixels of a current picture of a video; obtaining or deriving inheritance information associated with a target mode of the current block stored by an inheritance block of the current block to form a first merge candidate list, wherein the target mode of the current block is OBIC merge mode, and the inheritance block is a previously coded block relative to the current block; encoding or decoding the current block using the target mode of the current block.Description of Drawings

[0014] FIG. 1 exemplarily illustrates positions of spatial merge candidates of a current luma block.

[0015] FIG. 2 exemplarily illustrates a reference block located through an Auto-relocated block vector prediction (AR-BVP) .

[0016] FIG. 3 exemplarily illustrates a block vector denoted as BVn, n+1 obtained through checking five positions of a block denoted as Bn.

[0017] FIG. 4 exemplarily illustrates locating a reference block through a chained motion vector prediction (CMVP) based on a current block.

[0018] FIG. 5 exemplarily illustrates a motion vector found in a MV storage.

[0019] FIG. 6 exemplarily illustrates a Histogram of Gradient (HoG) generated by the DIMD process.

[0020] FIG. 7 exemplarily illustrates mapping a position outside of a collocated coding tree unit (CTU) row to a position inside the collocated CTU row.

[0021] FIG. 8 exemplarily illustrates deriving a cascaded vector starting from a base vector.

[0022] FIG. 9 illustrates a flowchart of an exemplary video coding method provided by one embodiment of the present disclosure.

[0023] FIG. 10 illustrates a flowchart of an exemplary video coding method provided by another embodiment of the present disclosure.

[0024] FIG. 11 illustrates a flowchart of an exemplary video decoding method provided by a further embodiment of the present disclosure.

[0025] DETAILED DESCRIPTIONs

[0026] It will be readily understood that the components of the present invention, as generally described and illustrated in the figures herein, may be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of the embodiments of the systems and methods of the present invention, as represented in the figures, is not intended to limit the scope of the invention, as claimed, but is merely representative of selected embodiments of the invention. References throughout this specification to “one embodiment” , “an embodiment” , or similar language mean that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment.

[0027] Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, etc. In other instances, well-known structures, or operations are not shown or described in detail to avoid obscuring aspects of the invention. The illustrated embodiments of the invention will be best understood by reference to the drawings, wherein like parts are designated by like numerals throughout. The following description is intended only by way of example, and simply illustrates certain selected embodiments of apparatus and methods that are consistent with the invention as claimed herein.

[0028] In order to better illustrate the solutions of the present disclosure, the related arts are first introduced.

[0029] I. Inter prediction (More details in JVET-T2002. )

[0030] a. Spatial adjacent candidate derivation

[0031] Spatial adjacent candidates are selected among candidates located in the positions illustrated in FIG. 1.

[0032] As shown in FIG. 1, the spatial merge candidates can be selected among candidates in an above neighboring block and / or a left neighboring block of a current luma block, for example, the block A0, the block A1, the block B0, the block B1, and the block B2.

[0033] II. Intra Prediction

[0034] a. Decoder Side Intra Mode Derivation (DIMD)

[0035] When DIMD is applied, two intra prediction modes are derived from reconstructed neighbor samples (template) , and two predictors (using the two derived intra prediction modes) are combined with a planar mode predictor with a weight derived from a gradient.

[0036] To implicitly derive the intra prediction mode of a block, a texture gradient analysis is performed at both encoder and decoder sides. The texture gradient analysis starts with an empty Histogram of Gradient (HoG) with 65 entries, the 65 entries correspond to 65 angular modes. Amplitudes of these entries are determined during the texture gradient analysis. An intra prediction mode with the highest amplitude is selected, and the combination weight is derived based on the amplitude.

[0037] b. Template-based intra mode derivation (TIMD)

[0038] Template-based intra mode derivation (TIMD) mode implicitly derived the intra prediction mode of a CU by using a neighboring template at both encoder and decoder. The prediction samples of the template are generated using the reference samples of the template for each candidate mode. A cost is calculated as the SATD between the prediction and the reconstruction samples of the template. First two intra prediction modes with the minimum SATD are selected as the TIMD modes. These two TIMD modes are fused, and such weighted intra prediction is used to code the current CU.

[0039] c. Extrapolation filter-based intra prediction (EIP)

[0040] In the EIP mode, the samples in a CU are predictedfrom the top-left position to the bottom-right position by applying an extrapolation filter to neighboring reconstructed samples or predicted samples. The EIP mode uses a 15-tap filter for prediction as below:

[0041] where the pred (x, y) represents the predicted value at position (x, y) in the CU, ci represents the filter coefficient, and the represents the reconstructed samples or the predicted samples.

[0042] The EIP filter can be derived from the neighboring reconstructed samples or be inherited from a previous EIP coded block.

[0043] d. JVET-AG0078: AHG12: Intra-prediction using Merged Histogram of Gradients

[0044] A new intra prediction mode, referred to as Merged Intra Mode Derivation (MIMD) , is based on the computation of a Merged Histogram of Gradients (MHoG) . Up to five MIMD modes are derived from the MHoG and are then blended together. The derivation of the modes and blending weights follows the same process to derive the DIMD modes and blending weights from the HoG. The MHoG is computed based on information extracted from the neighboring blocks.

[0045] In particular, a number of N neighboring blocks is considered. A neighboring block is considered if it is encoded with at least one directional intraprediction mode. Hi (m) refers to the amplitude of directional intraprediction mode m in the HoG, where m can take values from 0 to M where M is the maximum number of the intraprediction modes. A normalisation process can be used when considering Hi.

[0046] The MHoG can be computed using all the HoGs extracted from available neighboring blocks as:

[0047] Finally, the MHoG is used to compute MIMD modes and weights. The directional intraprediction modes and their weights corresponding to the five highest amplitudes in the MHoG are selected as directional intraprediction modes and weights for MIMD.

[0048] e. JVET-AH0076: EE2-2.2: Occurrence-based intra coding (OBIC)

[0049] The Occurrence-based intra coding (OBIC) method derives the intra prediction modes of the current block based on the sample-wise occurrence of the intra prediction modes in the spatial neighborhood of the current block. For this, adjacent and non-adjacent spatial neighboring blocks are checked and the intra prediction modes of the neighboring blocks are collected into an occurrence histogram. The OBIC introduces the Histogram of occurrence (HoC) , which comprises the intra prediction modes and their sample-wise occurrences. The occurrence values are calculated based on the number of samples that are coded in a certain intra prediction mode in that neighborhood. For example, if a block is coded with an IPM mode, the occurrence of the IPM mode in that particular block is calculated as:

[0050] HoC [IPM] +=uiWidth*uiHeight                    (3)

[0051] Where uiWidth and uiHeight are the width and height of a spatial neighboring block.

[0052] The occurrences of the existing modes from the spatial neighboring blocks are accumulated into the histogram. Up to 5 angular modes with the highest occurrence along with the planar mode are selected from the HoC and used for final prediction by blending the prediction of the selected modes.

[0053] For blocks use more than one intra mode for prediction, all the intra prediction modes of such blocks are selected and used when creating the HoC for OBIC. Examples of those blocks:

[0054] -DIMD: up to 5 angular modes;

[0055] -TIMD: up to 2 modes;

[0056] -SGPM: 2 modes;

[0057] -OBIC: up to 5 angular modes.

[0058] The virtual intra prediction modes (VIPMs) of following blocks are considered only in inter slices when creating the HoC for OBIC:

[0059] -MIP block;

[0060] -IntraTMP block;

[0061] -IBC block;

[0062] -EIP block.

[0063] The blending weights and the planar mode’s weight are calculated similar to the DIMD mode, but instead of using gradient values from the template, the occurrence values are used for OBIC.

[0064] f. JVET-AH0090: EE2-2.4: DIMD Merge List

[0065] A DIMD merge list is created from neighboring blocks’ DIMD information including DIMD information from spatial and non-adjacent neighbors or derived from the MHoG (as in JVET-AE0071) .

[0066] Two redundancy checks (pruning stage) are applied: one comparing with existing DIMD merge candidates, and one comparing with DIMD information derived from the current block.

[0067] Two additional flags are added conditioned to the DIMD flag:

[0068] -The DIMD merge mode flag.

[0069] -The DIMD merge mode index representative of the DIMD merge candidate.

[0070] For each DIMD merge candidates, the planar mode can be replaced by a block-vector based prediction. Planar or block-vector based prediction obtained from IntraTMP or IBC mode of neighboring blocks can be adaptively selected. This prediction is then blended with angular intra predictions to generate the final DIMD prediction.

[0071] g. JVET-AH0128: EE2-2.5: Combination of EE2-2.2, EE2-2.3, and EE2-2.4

[0072] Test EE2-2.5 combines OBIC, MIMD and the method proposed in JVET-AH0090. The method consists of building a list of DIMD parameters like in JVET-AH0090. In Test EE2-2.5a these parameters are derived using the MIMD derivation process, as well as from spatial adjacent and non-adjacent neighboring blocks. In Test EE2-2.5b, also the OBIC derivation process is used to derive the list of DIMD parameters.

[0073] h. JVET-AG0091: EE2-1.8: Auto-relocated block vector prediction

[0074] Auto-relocated block vector prediction (AR-BVP) is introduced into IBC merge / AMVP candidate list construction. As illustrated in FIG. 2, a guiding block vector BV0, 1 associated with the current block B0 points to a reference block B1. When the reference block B1 has a block vector denoted as BV1, 2 pointing to a reference block B2, then a BV0, 2, given by BV0, 2=BV0, 1+BV1, 2, is defined as the AR-BVP, guided by BV0, 1. Similarly, BV0, n+1may be derived by:

[0075] BV0, n+1=BV0, n+BVn, n+1=BV0, 1+BV1, 2+BV2, 3…+BVn-1, n+BVn, n+1     (4)

[0076] as illustrated in FIG. 2, a reference block Bn is located by a block vector BV0, n, and a reference block Bn+1 is located by a block vector BV0, n+1.

[0077] The length of the AR-BVP trace path can be 1 (i.e, n=1) , 2 (i.e, n=2) , or infinite (i.e., no constraint for the length) . As illustrated in FIG. 3, the current block is denoted as B0, and a block Bn is located by a block vector BV0, n, when deriving BVn, n+1 guided by BV0, n, all five positions including top-left (e.g., LT in FIG. 3) , top-right (e.g., RT in FIG. 3) , center (e.g., Ctr in FIG. 3) , bottom-left (e.g., LB in FIG. 3) , and bottom-right (e.g., RB in FIG. 3) positions of the block Bn are checked to find BVn, n+1.

[0078] The initial guiding block vector BV0, 1 may be set to be an existing BVP already in an IBC merge / AMVP candidate list.

[0079] The AR-BVP candidates may be inserted after the HBVP candidates.

[0080] i. JVET-AG0073: Non-EE2: Chained motion vector prediction

[0081] A chained motion vector prediction (CMVP) is introduced into inter merge candidate list construction.

[0082] As shown in FIG. 4, CMVP candidates can be derived as the sum of the recursively traced MVs and BVs based on pre-derived MVs for inter merge candidate list. For instance, a CMVP candidate, a set of motion vector MVk / m and reference picture RefPick / m can be derived by:

[0083] MVk / m=MVk (0) +BVk (0) +MVk (1) +MVk (2) +…+MVk (m)            (5)

[0084] RefPick / m=RefPick (m)                    (6)

[0085] where k indicatesa number of merge index and m indicates trace depths of the CMVP. For example, as in FIG. 4, if only using L0 motion vectors and block vectors to derive a CMVP candidate, a set of motion vector MVL0k / m and reference picture RefPicL0k / m can be derived by:

[0086] MVL0k / m=MVL0k (0) +BVk (0) +MVL0k (1) +MVL0k (2) +…+MVL0k (m)

[0087] RefPicL0k / m=RefPicL0k (m)

[0088] The CurBlk in FIG. 4 represents the current block, the RefBlk in FIG. 4 represents the reference block, the CurPic represents the current picture. The CMVP candidatecan also derived based on L1 motion vectors.

[0089] When deriving the MVk / m, the MVk (m) is found by checking the existence of MVs or BVs in MV / BV storage corresponding to all five positions (C, TL, TR, BL, and BR) of the current block as in FIG. 5 (i.e., the center, top-left, top-right, bottom-left, and bottom-right of the current block) .

[0090] When pre-derived merge candidates targeting CMVP candidates has two MVs, a MVk / m is derived for each list (i.e., L0 and L1) and each trace depth. Up to two MVs can be derived for each list and each trace depth, and the MV set is sequentially inserted into the inter merge candidate list.

[0091] The traceable reference pictures are only within the reference picture list.

[0092] CMVP candidates are inserted after HMVP candidates for the regular merge and TM merge.

[0093] In order to improve the coding efficiency or reduce the complexity of inheritance information, various schemes are disclosed.

[0094] III. Proposed Methods

[0095] In one embodiment, when generating the prediction of the current block coded by a target mode, one or more inheritance blocks are selected from a first merge candidate list or selected among several merge candidates. The inheritance block is a previously coded block relative to a current block (i.e. a block that needs to be decoded or encoded now) containing inheritance information, and the first merge candidate list may include inheritance information associated with a target mode of the current block stored by the inheritance block of the current block. Then, the inheritance information from the inheritance blocks is used for the target mode to generate prediction of the current block. In one embodiment, the inheritance information of each merge candidate belongs to the same target mode. For example, the inheritance information of each merge candidate is associated with OBIC mode and the current block is predicted using the OBIC merge mode.

[0096] a. OBIC mode

[0097] The OBIC mode derives the intra prediction mode (e.g., an angular mode) of the current block based on the sample-wise occurrence of the intra prediction mode in the spatial neighborhood of the current block. For this, adjacent and non-adjacent spatial neighboring blocks are checked and the intra prediction modes of the neighboring blocks are collected into an occurrence histogram. The OBIC introduces the Histogram of occurrence (HoC) , which comprises the intra prediction modes and their sample-wise occurrences. The occurrence values are calculated based on the number of samplesthat are coded in a certain intra prediction mode in that neighborhood. When using OBIC, up to five angular modes with the highest occurrence along with the planar mode are selected from the HoC and used for final prediction by blending the prediction of the selected modes (i.e. the five selected angular modes and the planar mode) .

[0098] b. Inheritance information setting

[0099] Inheritance information setting defines the inheritance information for generating prediction of the current block using a target mode.

[0100] When the OBIC merge mode is the target mode of the current block, the inheritance information may be selected from a group comprising:

[0101] (a) an occurrence value of the intra prediction mode;

[0102] (b) the intra prediction modeused by the inheritance block;

[0103] (c) OBIC weighting information;

[0104] (d) afusion indication;

[0105] (e) a dimension of the inheritance block;

[0106] (f) the number of samples of the inheritance block;

[0107] (g) position of the inheritance block.

[0108] The inheritance information may include (a) , (b) , (c) , (d) , (e) , (f) , (g) or any combination thereof.

[0109] The inheritance block may be selected based on the position of an inheritance candidate. And the selection of the inheritance candidate will be discussed in subsequent paragraphs of the present disclosure.

[0110] In one embodiment, the occurrence value of the intra prediction mode may be obtained based on the HoC stored by the inheritance block. According to the above description, when a certain block is encoded in the OBIC mode or the OBIC merge mode, the block may establishthe HoC. Therefore, when the inheritance block is encoded in the OBIC mode or the OBIC merge mode, the HoC may be stored by the inheritance block as inheritance information for referencing by a subsequent block, for example, the current block.

[0111] According to the above description, when the OBIC mode or the OBIC merge mode is applied, up to five intra prediction modes (for example, the angular mode) with the highest occurrence along with the planar mode are selected from the HoC, that is to say, the number of the selected intra prediction modes may be one or more than one. The OBIC weighting information may be configured to set the weights of the selected intra prediction modes when blending the prediction of the selected intra prediction modes in the case where the number of the selected intra prediction modes is more than one. The fusion indication may be configured to indicate whether to fuse the plurality of selected intra prediction modes. When one intra prediction mode is selected, the fusion indication and / or the OBIC weighting information may not be necessary, therefore the fusion indication and / or the OBIC weighting information may not be stored as the inheritance information by the inheritance block, and the current block may not obtain the fusion indication and / or the OBIC weighting information from the inheritance block. In one embodiment, the inheritance information may also include the dimension of the inheritance block and / or the number of samples of the inheritance block. As mentioned above, the occurrence values may be calculated based on the number of samplesthat are coded in a certain intra prediction mode. When the inheritance information includes the dimension of the inheritance block and / or the number of samples of the inheritance block, the occurrence value of the intra prediction mode in which the inheritance block is coded in may be derived. In one embodiment, the position of the inheritance block corresponds to the position of the inheritance candidate. That is to say, the inheritance block may be the block in which the inheritance candidate is located.

[0112] In one embodiment, directional intra prediction modes for the intra prediction modes can be in a pre-defined directional range. For example, the pre-defined directional range may be from 0 to 64, so there are totally 65 directional intra prediction modes. For another example, the pre-defined directional range may be from 0 to 130, so there are totally 131 directional intra prediction modes.

[0113] In another embodiment, the inheritance information may be from a previously coded block specified in section “inheritance block setting” . The previously coded block generates and / or stores the inheritance information associated with the OBIC merge mode, which may be denoted as “OBIC inheritance information” . The stored OBIC inheritance information of the previously coded block can be referenced by subsequent coding blocks, for example, the current block. For example, for each block containing the OBIC inheritance information (which may be an OBIC-coded block or not an OBIC-coded block) , the OBIC inheritance information may be stored and / or referenced by the subsequent coding blocks. For example, for each pre-defined unit containing OBIC inheritance information (which may refer to any pre-defined region or k*k grids where “k” can be 2, 4, 8, 16, or any pre-defined positive integer) , the OBIC inheritance information may be stored and / or referenced by the subsequent coding blocks.

[0114] In one sub-embodiment, in response to the inheritance information referring toany one from (a) to (g) or any combination thereof, a DIMD process (i.e., the texture gradient analysis process) with a window applied to the predictor, called as predictor-DIMD, may be performed on the prediction of the previously coded block, to get the intra prediction mode to derive the OBIC inheritance information of the previously coded block. The DIMD process may start with an empty HoG with 65 entries, corresponding to the 65 angular modes, and a texture gradient analysis is performed on the prediction samples of the previously coded block to determine amplitudes of the 65 entries to generate the HoG shown in FIG. 6, in FIG. 6, the abscissa represents various intra prediction modes (denoted as ipm in FIG. 6) , the ordinate represents amplitudes of the 65 intra prediction modes. The previously coded block may be coded with the DIMD mode, the DIMD merge mode, a mode associated with DIMD, an inter prediction mode, an intra prediction mode, the Intra Block Copy (IBC) mode, or any mode that may or may not be DIMD mode. For example, theMIP mode, the intraTMP mode, the cross-component chroma modes, or any modes using predictor-DIMD to select a transform set, may be stored and / or referenced by the subsequent coding block, for example, the current block.

[0115] In another sub-embodiment, in response to the inheritance information referring to any one from (a) to (g) or any combination thereof, the DIMD process may be performed on the template (aneighboring region) of the previously coded block to get the intra prediction modeto derive the OBIC inheritance information of the previously coded block. The previously coded block may be coded with DIMD mode, DIMD merge mode, DIMD-related mode, inter prediction mode, intra prediction mode, IBC mode, any mode type, or any subset / combination of the above-mentioned modes.

[0116] In one sub-embodiment, in response to the inheritance information referring to any one from (a) to (g) or any combination thereof, the OBIC-related information (for example, theOBIC weighting information, the fusion indication) used in predicting the previously coded block may be obtained to get the inheritance information of the previously coded block. The previously coded block may be coded with OBIC mode or OBIC merge mode. Therefore, in some embodiments provided by the present disclosure, the inheritance information is not limited to the target mode; instead, the inheritance information can be any mode information, any sample information, any block information, any model information, and / or any information associated with prediction generation.

[0117] c. Inheritance block setting

[0118] 1. Inheritance information from the previously coded block

[0119] The inheritance information may be obtained from the previously coded blocks.

[0120] In one embodiment, one or more candidates of spatial adjacent candidates, non-adjacent candidates, history-based candidates, temporal candidates, default candidates, or any subset of the above-mentioned candidates provide the inheritance information from the previously coded blocks.

[0121] In another embodiment, a first merge candidate list, including the inheritance information, is built for the current block. As what regular inter merge mode does, the first merge candidate list may include any one or any subset of thefollowing candidates: the spatial adjacent candidates, the non-adjacent candidates, the history-based candidates, the temporal candidates, and the default candidates. In one sub-embodiment, the first merge candidate list may be aligned with or be any subset of the merge candidate list for the regular inter merge mode.

[0122] In one embodiment, after building the first merge candidate list, the cost of the candidates in the first merge candidate list is calculated based on a template matching process which calculates the cost based on the distortion between the prediction (using a certain candidate) on the template and the reconstruction on the template and is reordered based on the cost of each candidate. For reordering the list, the candidate with a smaller cost may be put in the front of the list.

[0123] In another sub-embodiment, after building the first merge candidate list, one or more candidates are selected from the list for the current block to use. The selection may depend on explicitly signalling an index or implicitly select the one or more (promising) candidates. For example, the first one or more candidates with the smallest costs are selected. For another example, the explicit index indicates one or more candidates in the reordered list as the selected candidates.

[0124] 1.1. Spatial adjacent candidate and non-adjacent candidate

[0125] The spatial adjacent candidatesmay be from an adjacent neighboring block of the current block where the adjacent neighboring block may be the same as the 5 spatial neighboring blocks for regular inter merge mode or any subset of the adjacent neighboring blocks of the current block. For example, for adding the spatial adjacent candidates (as shown in FIG. 1) into the first candidate merge list, the inclusion order may be A1→B1→A0→B0→B2or B1→A1→B0→A0→B2. The non-adjacent candidatesmay be from a search range around (but not adjacent to) the current block. The search range can be the same as or can be different from the search range of the non-adjacent candidates for the regular inter merge mode. The non-adjacent candidate can be from a pre-defined position and may be added into the first candidate merge list in a pre-defined inclusion order. For example, the pre-defined position and the pre-defined inclusion order are the same as those of the non-adjacent candidates of the regular inter merge mode.

[0126] 1.2. History-based candidate

[0127] The history-based candidate may be selected from a history-based buffer array. In the history-based buffer array, the inheritance information of each valid previously coded block is stored where the valid previously coded block refers to any block containing inheritance information.

[0128] 1.3. Temporal candidate

[0129] The temporal candidate may be obtained from the inheritance information stored in one or more previously coded picture. The temporal candidate is obtainable when the current slice / picture is a non-intra slice / picture, for example, an inter slice / picture.

[0130] In one embodiment, the temporal candidate may be from the block at somepre-defined positions of the previously coded slice / picture.

[0131] In one sub-embodiment, the positions are inside the corresponding area of the current block. “The corresponding area of the current block” may be an area in the previously coded slice / picture that has the same width / height / coordinate values as those of the current block.

[0132] In one sub-embodiment, the pre-defined position may be outside of the corresponding area of the current block.

[0133] In one sub-embodiment, the pre-defined position may be determined based on the position, width and height of the current block.

[0134] In one embodiment, the previously coded picture may be among the pictures in a reference list.

[0135] In one embodiment, the previously coded picture may be the same picture as the collocated picture of the regular inter merge mode.

[0136] In one embodiment, the number of a selected / pre-defined previously coded pictures may be more than one.

[0137] In one embodiment, the previously coded picture may be signaled in the picture / slice header. The reference list and the reference index may be signaled in the picture / slice header. For example, L0 [0] is signaled. For another example, L1 [0] is signaled.

[0138] In one embodiment, the previously coded picture may be selected from a picture set with a pre-defined rule.

[0139] In one embodiment, the previously coded picture may be selected from pictures in the reference list. The selection may be determined based on any one of the following or any combination thereof: a picture order count (POC) value, a POC distance, a quantization parameter (QP) , and a QP difference. For example, the picture with a POC valuesmaller than a pre-defined threshold is selected. For another example, a pre-defined number of pictures with the smallest POC value (s) are selected. For example, the picture with a POC larger than a pre-defined threshold is selected. For another example, a pre-defined number of pictures with the largest POC value (s) are selected. For example, the picture of which the POC distance between it and the current picture is the smallest is selected. For example, the picture with a QP smaller than a pre-defined threshold is selected. For another example, a pre-defined number of pictures with the smallest QP (s) are selected. For example, the picture with a QP larger than a pre-defined threshold is selected. For another example, a pre-defined number of pictures with the largest QP (s) are selected. For example, the picture with the smallest QP difference between it and the current picture may be selected. Selection rules mentioned in previous examples may be combined.

[0140] In one embodiment, the previously coded picture may be the most recently coded I-picture.

[0141] Therefore, in some embodiments provided by the present disclosure, the previously coded block containing the inheritance information is not limited to being located at the left neighboring block or the above neighboring block, and flexibility of the coding method is improved.

[0142] 2. Propagatingthe inheritance information

[0143] In one embodiment, one or more inheritance information is derived and stored in the inheritance block. The stored inheritance information may then be referenced by the subsequent blocks as the candidate as described in Section c. 1 “Inheritance information from the previously coded block” . In one sub-embodiment, the inheritance information may be derived and stored after encoding / decoding a block. In another sub-embodiment, the inheritance information may be derived and stored after the encoding / decoding of a picture.

[0144] In one embodiment, when the inheritance block is coded in the target mode or is coded in modes that can derive theinheritance information associated with the target mode (for example, the OBIC inheritance information) , the inheritance information to be stored is the inheritance information associated with the target mode (or referred to as target mode information in the following) .

[0145] In one embodiment, the inheritance information to be stored in the inheritance block may be derived by propagating inheritance information of a previously coded block relative to the inheritance block to the inheritance block. The “previously coded block relative to the inheritance block” is also called the “propagation block” in the following, and the propagation block is a block that is coded prior to the inheritance block. That is, the inheritance information to be stored in the inheritance block may be derived based on or copied from the inheritance information stored (including the inheritance information previously propagated from other blocks) in the propagation block. Various methods of propagating inheritance information are described in the present disclosure and will be further discussed in the following embodiments.

[0146] In one embodiment, when referencing the neighboring block to obtain the candidate, in addition to the inheritance information stored in the neighboring block, more candidates may be derived by propagating inheritance information of the previously coded block relative to the neighboring blockto the neighboring block. The “previously coded block relative to the neighboring block” is a block coded prior to the neighboring block. The methods of deriving or selecting the propagated inheritance information to be stored in the inheritance block, as described in the following embodiments, may be used to derive or select the propagated inheritance information for the neighboring block.

[0147] In one embodiment, when referencing inheritance information derived for the neighboring block to obtain the candidate, there can be a pre-defined rule to determine the inclusion order of the inheritance information. The rule can be but not limited to the rule described in the following sub-embodiments.

[0148] In one sub-embodiment, the inclusion order of the derived inheritance information follows the inclusion order of the neighboring block. For example, when the inheritance information is derived for the spatial adjacent candidate, then the derived inheritance information is inserted into the first merge candidate list at the inclusion order of the spatial adjacent candidate.

[0149] In one sub-embodiment, the inclusion order may depend on the source of the inheritance information. The source of the inheritance information may be target mode informationof the inheritance block, from a collocated block, from a propagation block located by a motion vector (MV) or a block vector (BV) , or from a propagation block located by a cascaded vector. For example, the inheritance information located by the cascaded vector may be inserted into the first merge candidate list after the history-based candidate.

[0150] 2.1 Propagatingthe inheritance information from a collocated block

[0151] In one embodiment, when the inheritance slice / picture is a non-intra slice / picture (for example, an inter slice / picture) , the inheritance information to be stored in the inheritance block may be derived by copying the inheritance information of a collocated block in a previously coded picture. The inheritance slice / picture is a slice / picture in which the inheritance block located. The previously coded picture and / or the position of the collocated block may be selected / pre-defined with the methods used to select / pre-defined those of the temporal candidates described in Section “Temporal candidate” .

[0152] In one sub-embodiment, when the POC distance between the selected / pre-defined previously coded picture and the current picture is greater than a pre-defined threshold, the inheritance information from the collocated block is not copied and is not stored in the current block.

[0153] 2.2 Propagatingthe inheritance information based on MV or BV

[0154] In one embodiment, when block vector is obtainable at the position of the inheritance block, (e.g., the inheritance block is coded in IBC or IntraTMP mode) , the inheritance information to be stored in the inheritance block may be derived by copying the stored inheritance information of a propagation block located by the block vector (i.e. the inheritance information stored by the propagation block located by the block vector) . And the propagation block may be a previously coded block in an inheritance picture located by the block vector. The inheritance picture is the picture in which the inheritance block is located. In one embodiment, when the propagation block located by the block vector does not have inheritance information stored, no inheritance information is propagated to be stored in the inheritance block.

[0155] In one embodiment, the block vector used to locate the propagation block may be retrieved from some pre-defined positions corresponding to the position of the inheritance block. For example, the pre-defined position may be the center, top-left, top-right, bottom-left, or bottom-right of the inheritance block.

[0156] In one embodiment, when multiple block vectors are obtained from the inheritance block (e.g., the block vector may be bi-directional, the block may have multiple IntraTMP block vectors, or an inheritance chroma block is collocated with multiple luma blocks and more than one of the luma blocks have block vectors) , there is a limit to the number of block vectors that can be selected to locate the propagation block. For example, the limit may be set to a first number, such as 1 (that is, only one block vector is configured to locate a propagation block) . The block vectors may be selected based on a first selection rule. The first selection rulemay be but not limited to the rules described in the following sub-embodiments. The rules may be combined.

[0157] In one sub-embodiment, the block vector which is able to locate a propagation block that has inheritance information stored is selected.

[0158] In one sub-embodiment, the block vector which is able to locate a propagation block that is coded in the target mode, modes related to the target mode or the OBIC mode is selected.

[0159] In one sub-embodiment, the block vector which locates a propagation block that is closest to the inheritance block is selected. The distance between the propagation block and the inheritance block may be computed with Euclidean distance, Manhattan Distance, Minkowski distance, or Chebyshev distance.

[0160] In one sub-embodiment, the block vector which locates a propagation block that has the shortest horizontal distance from the inheritance block is selected.

[0161] In one sub-embodiment, the block vector which locates a propagation block that has the shortest vertical distance from the inheritance block is selected.

[0162] In one embodiment, when a motion vector is obtainable at the position of the inheritance block (e.g., the inheritance block is an inter-coded block) , the inheritance information to be stored may be derived by copying the stored inheritance information of the propagation block in a previously coded picture, located by the motion vector, and the propagation block is a previously coded block in the previously coded picture relative to the inheritance picture located by the motion vector. In one embodiment, when the propagation block located by the motion vector does not have inheritance information stored, no inheritance information is propagated to be stored in the inheritance block.

[0163] In one embodiment, the motion vector configured to locate the propagation block may be retrieved from a pre-defined position corresponding to the position in the inheritance block. For example, the pre-defined position may be the center, top-left, top-right, bottom-left, or bottom-right of the inheritance block.

[0164] In one embodiment, the motion vector configured to locate the propagation blocks is a motion vector predictor (MVP) of the inheritance block. In one embodiment, the motion vectorsconfigured to locate the propagation block is a combination of the MVP and a motion vector difference (MVD) of the inheritance block.

[0165] In one embodiment, when multiple motion vectors are obtainable from the inheritance block (e.g., the inheritance block is bi-directional inter-coded) , there is a limit to the number of motion vectors that is allowed to be selected to locate the propagation block. For example, the limit may be set to a second number, such as 1 (that is, only one motion vector is allowed to be selected to locate the propagation block) . The motion vector may be selected based on a second selection rule. The second selection rule may be but not limited to the rules described in the following sub-embodiments. The rules may be combined.

[0166] In one sub-embodiment, the motion vector which is able to locate a propagation block that has inheritance information stored is selected.

[0167] In one sub-embodiment, the motion vector which is able to locate a propagation block that is coded in the target mode, modes related to the target mode or the OBIC mode is selected.

[0168] In one sub-embodiment, the motion vector is selected based on a picture order count (POC) distance between an inheritance picture and a propagation picture, the propagation picture is the picture in which the propagation block corresponding to the motion vector is located, and the inheritance picture is the picture in which the inheritance block is located. For example, the motion vector corresponding to a propagation block associated with thepropagation picture having the smallest POC distance relative toan inheritance picture is selected. For another example, a pre-defined number (e.g., 1, 2, 3, or 4) ofmotion vectors corresponding to propagation blocksassociated with thepropagation pictures having the smallest POC distance relative toan inheritance picture are selected. In a further example, a pre-defined number (e.g., 1, 2, 3, or 4) of motion vectors corresponding to the propagation blocksassociated with thepropagation pictures having the POC distance relative tothe inheritance picture smaller than a pre-defined threshold are selected, the pre-defined threshold may be configured according to the actual application scenario and is not limited in the present disclosure. When the propagation block is “associated with” thepropagation picture, the propagation block may locate in thepropagation picture.

[0169] In one sub-embodiment, the motion vector is selected based on a POC value of the propagation picture associated with the propagation block corresponding to the motion vector and that of the inheritance picture. For example, the motion vector corresponding to the propagation block associated with the propagation picture having the POC value smaller than that of the inheritance picture is selected. In a further example, the motion vector corresponding to the propagation block associated with the propagation picture having the POC value larger than that of the inheritance picture is selected.

[0170] In one sub-embodiment, the motion vector is selected based on a quantization parameter (QP) difference between the inheritance picture and the propagation picture. For example, the motion vector corresponding to the propagation block associated with the propagation picture having the smallest QP difference relative to the inheritance picture is selected. For another example, a pre-defined number of motion vectors corresponding to the propagation blocksassociated with the propagation pictureshaving the smallest QP difference relative to the inheritance picture are selected. In a further example, the motion vector corresponding to the propagation block associated with the propagation picture having the QP difference relative to the inheritance picture smaller than a pre-defined threshold is selected, the pre-defined threshold may be configured according to the actual application scenario and is not limited in the present disclosure.

[0171] In one sub-embodiment, the motion vector is selected based on a QP value of the propagation picture associated with the propagation block corresponding to the motion vector and thatof the inheritance picture. For example, the motion vector corresponding to the propagation block associated with the propagation picture having the QP value smaller than that of the inheritance picture is selected. For another example, the motion vector corresponding to the propagation block associated with the propagation picture having the QP value larger than that of the inheritance picture is selected.

[0172] In one sub-embodiment, the inheritance information of each propagation block is applied on a template sample of the inheritance block to generate a prediction of the template sample. Adistortion between the prediction of the template sample and a reconstructed template sample is computed. The motion vector may be selectedbased on the distortion. For example, the motion vector associated with the smallest distortion is selected. For another example, the motion vector associated with the distortion smaller than a pre-defined threshold is selected, the pre-defined threshold may be configured according to the actual application scenario and is not limited in the present disclosure.

[0173] In one embodiment, when the POC distance between the propagation picture located by the motion vector and the inheritance picture is greater than a pre-defined threshold, the motion vector and the propagation block is considered unavailable, the pre-defined threshold may be configured according to the actual application scenario and is not limited in the present disclosure.

[0174] In one embodiment, the position located by the motion vector may be in a collocated coding tree unit (CTU) row in the propagation picture. As illustrated in FIG. 7, when the position located by the motion vector is above the collocated CTU row, the position is mapped to the top line of the collocated CTU row. When the position located by the motion vector is below the current CTU row, the position is mapped to the bottom line of the collocated CTU row. The inheritance information from the mapped position is then copied and stored in the inheritance block. Assume the minimum and the maximum vertical position of the collocated CTU row are Y1 and Y2 respectively. Assume the position located by the motion vector is (Xm, Ym) . When Ym< Y1, then the position is changed to (Xm, Y1) . When Ym> Y2, then the position is changed to (Xm, Y2) .

[0175] In one embodiment, when multiple block vectors and / or motion vectors are obtained from the inheritance block, the inheritance information to be stored may be the combination of all or a subset of the inheritance information of all of the propagation blocks located by the block vectors and / or motion vectors.

[0176] 2.3 Propagatingthe inheritance information based on a cascaded vector

[0177] The cascaded vector is an extension of the AR-BVP and CMVP.

[0178] In one embodiment, the inheritance information to be stored in the inheritance block may be derived by copying the stored inheritance information of the propagation block located by a cascaded vector.

[0179] The cascaded vector is derived as the sum of the recursively traced motion vectors and block vectors based on a base vector. The cascaded vector may be derived with the following steps:

[0180] At step 1, the cascaded vector is derived starting from a base vector.

[0181] For an i-th recursion:

[0182] At step 2, a block is located based on a cascaded vector CV (i-1) .

[0183] At step 3, a vector is retrieved from the block located at the step 2. Theretrieved vector may be an L0 motion vector, an L1 motion vector or a block vector. Denote theretrieved vector as V (i) .

[0184] At step 3, a new cascaded vector is derived as:

[0185] CV (i) = CV (i-1) + V (i) = CV (0) + V (1) + V (2) + …+ V (i) .

[0186] The step 2 to step 4 are repeated for each recursion.

[0187] For the first recursion CV (0) is the base vector.

[0188] For example, as illustrated in FIG. 8, the base vector is the L0 motion vector of the inheritance block. Denote the L0 motion vector of the inheritance block as MVL0 (0) . Denote the block vector of the block indicated by MVL0 (0) as BV (0) , and denote the L0 motion vector of the block indicated by BV (0) as MVL0 (1) and so on. The cascaded vector MVL0_m may be calculated by following:

[0189] MVL0_m=MVL0 (0) +BV (0) +MVL0 (1) +…+MVL0 (m)                (7)

[0190] where the MVL0 (m) is a motion vector.

[0191] And the propagation picture associated with the MVL0_m isRefPicL0 (m) .

[0192] Here m is the trace depth that is the number of propagation pictures referenced and traced back.

[0193] The cascaded vector may be the sum of L0 motion vectors, and / or L1 motion vectors and / or block vectors. In one embodiment, when the motion vector or block vector is obtainable in the inheritance block, the base vector used in step 1 may be the motion vector or the block vector obtained in the inheritance block.

[0194] In one embodiment, a second merge candidate list in which the candidate contains motion vector and / or block vector information may be generated. The base vector used in the step 1 may be derived based on the candidate in the second merge candidate list. For example, the second merge candidate list may be a list generated for the mode of the inheritance block, for example, an inter merge candidate list generated for an inter merge coded block. For example, the second merge candidate list may be generated following the methods of generating an IntraTMP candidate list or a MMVD candidate list. In one sub-embodiment, the second merge candidate list may be generated following the methods of generating a merge candidate list. For example, the second merge candidate list may be generated following the method of generating an inter merge candidate list. For example, the second merge candidate list may be generated following the method of generating an IBC merge candidate list. For other examples, the second merge candidate list can be generated following the methods of generating a template matching merge candidate list, a bilateral matching merge candidate list, a CIIP-TM merge candidate list, or an affine merge candidate list. In one sub-embodiment, the second merge candidate list can be generates following the method of generating an MVP list. For example, the second merge candidate list can be generated following the method of generating an MVP list of AMVP mode.

[0195] In one embodiment, the vector in the step 3 may be retrieved by checking a pre-defined position corresponding to the inheritance block. For example, the pre-defined position can be the 5 positions (the center, top-left, top-right, bottom-left, and bottom-right of the inheritance block) as illustrated in FIG. 3.

[0196] In one embodiment, the vector retrieved in the step 3 is the L0 motion vector of the block located in the step 2 when the block located in the step 2 is an inter-coded block. In one embodiment, the vector retrieved in the step 3 is the L1 motion vector of the block located in the step 2 when the block is inter-coded. In one embodiment the vector retrieved in the step 3 is the block vector of the block located in the step 2.

[0197] In one embodiment, the vector retrieved in the step 3 may be a motion vector. In one embodiment, the vector retrieved in the step 3 may be a block vector. In one embodiment, the vector retrieved in the step 3 may be a motion vector or a block vector.

[0198] In one embodiment, in the step 4, a new cascaded vector is only created when the vector V (i) retrieved in the step 3 is a motion vector. In one embodiment, in the step 4, a new cascaded vector is only created when the vector V (i) retrieved in the step 3 is a block vector. In one embodiment, in the step 4, a new cascaded vector is always created regardless the type of the vector V (i) retrieved in the step 3.

[0199] In one embodiment, for each recursion, multiple new cascaded vectors may be derived at the step 4, when multiple motion vectors and / or multiple block vectors are retrieved from the located block in the step 3. The multiple newly derived cascaded vectors may all be the vector used in the step 2 in the next recursion. For example, assume the block indicated by MVL0 (1) isbi-prediction and has two motion vectors, such as MVL0 (2) and MVL1 (2) . Two new cascaded vectors may be derived as MV_1+MVL0 (2) and MV_1+MVL1 (2) , where MV_1=MVL0 (0) +BV (0) +MVL0 (1) . Each new cascaded vector may be fed into the next recursion as the cascaded vector CV (i-1) in the step 2. Hence two branches of recursion can start.

[0200] In one embodiment, when the trace depth exceeds a threshold, the recursion may stop. In one sub-embodiment, the threshold may be a finite value. For example, thethreshold may be 1. In one sub-embodiment, the threshold can also be infinite. In one sub-embodiment, the threshold can be pre-defined. The threshold may be configured according to the actual scenario and is not limited here.

[0201] In one embodiment, when the number of recursions exceeds a threshold, the recursion stops. In one sub-embodiment, the threshold can be a finite value. For example, the threshold can be 1. In one sub-embodiment, the threshold can also be infinite. In one sub-embodiment, the threshold can be pre-defined. The threshold may be configured according to the actual scenario and is not limited here.

[0202] In one embodiment, the block located by the step 2may be a CU / CB, PU, TU / TB or a corresponding block with the same size of the inheritance block.

[0203] In one embodiment, the number of cascaded vectors allowed to be derived for each trace depth / recursion / base vector is limited. For example, no more than two cascaded vectors are allowed to be derived for each trace depth / recursion / base vector. The limited number may be configured according to the actual scenario and is not limited here.

[0204] 2.4 Priority of the propagated inheritance information

[0205] In one embodiment, the number of inheritance information stored in one block is limited. The limit can be pre-defined. For example, the limit may be set to 1. When the number of inheritance information obtainable in one block exceeds the limit, the priority of the inheritance information to be stored may be defined.

[0206] In one embodiment, the selection of inheritance information to be stored can be determined based on a pre-defined rule. The pre-defined rule may be but not limited to the rules described in the following sub-embodiments. The pre-defined rule may also be the rules of selecting the block vector and / or motion vector described in the Section “Propagating the inheritance information based on MV or BV” . The rules may also be combined. The pre-defined rule may depend on a source of the inheritance information, a temporal reference picture distance, the QP, the QP difference, spatial distance, trace depth or the number of recursions.

[0207] In one sub-embodiment, the target mode information of the inheritance block has higher or the highest selection priority.

[0208] In one sub-embodiment, the priority of the inheritance information is determined based on the source of the inheritance information. The source of the inheritance information can be the target mode information of the inheritance block, from a collocated block, from a propagation block located by a MV or a BV, or from a propagation block located by a cascaded vector.

[0209] In one sub-embodiment, when the inheritance information is retrieved based on a cascaded vector, the priority can be determined based on the trace depth / number of recursions of the cascaded vector. The shorter the trace depth / number of recursions is, the higher the selection priority is for the inheritance information.

[0210] In one sub-embodiment, the inheritance information corresponding to the propagation block associated with the propagation picture having a smaller POC distance to the inheritance picture has a higher priority.

[0211] In one sub-embodiment, the inheritance information corresponding to the propagation block associated with the propagation picture having a smaller QP difference with the inheritance picture has a higher priority. In one sub-embodiment, the inheritance information corresponding to the propagation block associated with the propagation picture having a smaller QP value has a higher priority. In one sub-embodiment, the inheritance information corresponding to the propagation block associated with the propagation picture having a larger QP value has a higher priority.

[0212] In one sub-embodiment, the inheritance information corresponding to the propagation block whose distance to the inheritance block is the smallest has a higher priority, when the propagation block is located at the same picture as the inheritance block. The distance may be computed as Euclidean distance, Manhattan Distance, Minkowski distance, or Chebyshev distance.

[0213] 2.5. Target mode setting and shortcut syntax setting

[0214] When the OBIC merge mode is used for the current block, the current block uses inherited OBIC information to generate the histogram of occurrence, and then uses the histogram of occurrence to generate the prediction of the current block.

[0215] In one embodiment, the inherited OBIC information may include one or more of the following: an occurrence value of the intra prediction mode, the intra prediction mode used by the inheritance block, OBIC weighting information, a fusion indication, a dimension of the inheritance block, the number of samples of the inheritance block, and position of the inheritance block.

[0216] In one embodiment, all or parts of the candidates in the first merge candidate list may be configured to generate the histogram (bar) of occurrence for the current block. When the inheritance information has the histogram (bar) of occurrence of a previous OBIC-coded block, the histogram (bar) of occurrence of the previous OBIC-coded block may be added into the histogram (bar) of occurrence for the current block. When the inheritance information has intra prediction mode (s) of a previous intra-coded block and a dimension of the previous intra-coded block, the histogram may be updated according to the intra prediction mode (s) and the dimension.

[0217] In one embodiment, a first flag is signaled to indicate whether the current block is coded by the OBIC merge mode, and all candidates in the first merge candidate list may be configured to generate the histogram (bar) of occurrence for the current block.

[0218] In one embodiment, when the first flag is true (that is, the current block is coded by the OBIC merge mode) , a second flag or syntax is further signaled to indicate which type of candidates (spatial, non-adjacent, history-based, temporal or default) are configured for creating the first merge candidate list, and the histogram (bar) of occurrence is generated by collecting candidates of the selected type (s) .

[0219] By applying methods provided by some embodiments of the present disclosure, the first merge candidate list may not only be configured to improve regular intra luma prediction; instead, some embodiments of the present disclosure obtain the information associated with prediction generation of the current block coded by OBIC merge mode.

[0220] As shown in FIG. 9, in one embodiment of the present disclosure, the proposed method for video coding includes the following operations:

[0221] At operation 1001, data to be encoded or decoded as a current block of pixels of a current picture of a video is received.

[0222] At operation 1002, inheritance information associated with a target mode of the current block stored by an inheritance block of the current block is obtained or derived to form a first merge candidate list. The target mode of the current block is occurrence-based intra coding (OBIC) merge mode, and the inheritance block is a previously coded block relative to the current block.

[0223] At operation 1003, the current block is encoded or decoded using the target mode of the current block.

[0224] The encoding process or decoding process using the target mode of the current block is similar to that using the OBIC mode. Therefore, the encoding process or decoding process using the target mode is not discussed in the present disclosure.

[0225] In some embodiments, an intra prediction mode of the current block may be derived or obtained based on the inheritance information in the first merge candidate list.

[0226] In one embodiment, the first merge candidate list may include the intra prediction modes used by the inheritance block and the intra prediction mode of the candidate may be directly inherited, so as to obtain the intra prediction mode of the current block based on the inheritance information in the first merge candidate list.

[0227] In one embodiment, the first merge candidate list may not include the intra prediction modes used by the inheritance block and the intra prediction mode of the candidate may be derived based on the inheritance information in the first merge candidate list.

[0228] In one embodiment, the inheritance information associated with the target mode of the current blockis selected from the group including: an occurrence value of the intra prediction mode; the intra prediction modes used by the inheritance block; OBIC weighting information; afusion indication; a dimension of the inheritance block; the number of samplesof the inheritance block; and position of the inheritance block.

[0229] In one embodiment, the method further includes: signaling a first flag to indicate the target mode of the current block. In one embodiment, the method further includes: signaling a second flag or a syntax to indicate an inheritance block type.

[0230] In one embodiment, the inheritance block type is selected from a group includes: a spatial adjacent block; a non-adjacent block; a history-based block; a temporal block; and a default block.

[0231] In one embodiment, the inheritance information associated with the target mode of the current block stored by the inheritance block includes the inheritance information of the inheritance block in a case where the inheritance block is coded in the target mode of the current block or OBIC mode.

[0232] In one embodiment, the inheritance information associated with the target mode of the current block stored by the inheritance block includes the inheritance information associated with the target mode of the current block stored by a propagation block, and the propagation block is a previously coded block relative to the inheritance block. Beforethe obtaining or deriving inheritance information associated with a target mode of the current block stored by an inheritance block of the current block to form a first merge candidate list, the method further includes: propagating the inheritance information stored by the propagation block from the propagation block to the inheritance block.

[0233] In one embodiment, after the propagating the inheritance information stored by the propagation block from the propagation block to the inheritance block, the method further includes: storing the inheritance information stored by the propagation block in the inheritance block.

[0234] In one embodiment, the propagation block is derived based on one selected from a group including: acollocated position of the inheritance block; a motion vector at the position of the inheritance block; a block vector at the position of the inheritance block; anda cascaded vector.

[0235] In one embodiment, the propagation block is a collocated block collocated with the inheritance block in a previously coded picture relative to theinheritance picture in a case where the propagation block is derived based on the collocated position of the inheritance block, the inheritance picture is the picture in which the inheritance block is located; and the propagating the inheritance information stored by the propagation block from the propagation block to the inheritance block includes: copying the inheritance information stored by the propagation block.

[0236] In one embodiment, the propagation block is a previously coded block in the inheritance picture located by the block vector in a case where the propagation block is derived based on the block vector at the position of the inheritance block, the inheritance picture is the picture in which the inheritance block is located; and the propagating the inheritance information stored by the propagation block from the propagation block to the inheritance block includes: copying the inheritance information stored by the propagation block.

[0237] In one embodiment, in a case where the plurality of block vectors are availableat the position of the inheritance block, the method further includes: selecting, based on a first selection rule, a first number of block vectors to derive the propagation block.

[0238] In one embodiment, the first selection rule comprises at least one selected from a group including: selecting a block vector deriving a propagation block storing the inheritance information; selecting a block vector deriving a propagation block coded in the target mode; selectingthe block vector derivingthe propagation block coded in the OBIC mode; selecting a block vector deriving a propagation block with closest spatial proximity to the current block.

[0239] In one embodiment, the propagation block is a previously coded block in a previously coded picture relative to the inheritance picture located by the motion vector in a case where the propagation block is derived based on the motion vector at the position of the inheritance block, the inheritance picture is the picture in which the inheritance block is located; and the propagating the inheritance information stored by the propagation block from the propagation block to the inheritance block includes copying the inheritance information stored by the propagation block.

[0240] In one embodiment, in a case where the plurality of motion vectors are availableat the position of the inheritance block, the method further includes: selecting, based on a second selection rule, a second number of motion vectors to derive the propagation block.

[0241] In one embodiment, the second selection rule comprises at least one selected from a group including: selectingthe motion vector derivingthe propagation block storingthe inheritance information; selectingthe motion vector derivingthe propagation block coded in the target mode; selectingthe motion vector derivingthe propagation block coded in the OBIC mode; selectingthe motion vector based on a picture order count (POC) distance between the inheritance picture and a propagation picture, the propagation picture is the picture in which the propagation block corresponding to the motion vector is located; selectingthe motion vector based on a POC value of the propagation picture associated with the propagation block corresponding to the motion vector and that of the inheritance picture; selecting the motion vector based on a quantization parameter (QP) difference between the inheritance picture and the propagation picture; selecting based on a QP value of the propagation picture associated with the propagation block corresponding to the motion vector and that of the inheritance picture; selecting the motion vector based on a distortion after generatinga prediction of a template sample by applying the inheritance information of each propagation block on the template sample of the inheritance block and computingthe distortion between the prediction and a reconstructed template sample.

[0242] In one embodiment, the second selection rule further includes: selecting the motion vector corresponding to a propagation block associated with thepropagation picture having the smallest POC distance relative toan inheritance picture. In one embodiment, the second selection rule further includes: selecting the motion vector corresponding to the propagation block associated with the propagation picture having the POC value smaller than that of the inheritance picture; or selecting the motion vector corresponding to the propagation block associated with the propagation picture having the POC value larger than that of the inheritance picture. In one embodiment, the second selection rule further includes: selecting the motion vector corresponding to the propagation block associated with the propagation picture having the smallest QP difference relative to the inheritance picture. In one embodiment, the second selection rule further includes: selecting the motion vector corresponding to the propagation block associated with the propagation picture having the QP value smaller than that of the inheritance picture; or selecting the motion vector corresponding to the propagation block associated with the propagation picture having the QP value larger than that of the inheritance picture.

[0243] In one embodiment, in a case where the propagation block is derived based onthe cascaded vector, a base vector of the cascaded vector is the motion vector in a case where the motion vector is available at the position of the inheritance block; or the base vector of the cascaded vector is the block vector in a case where the block vector is available at the position of the inheritance block.

[0244] In one embodiment, the method further includes: generating a second merge candidate list comprising the motion vector of the inheritance block, the block vector of the inheritance block, or a combination thereof; deriving a base vector based on the second merge candidate list.

[0245] In one embodiment of the present disclosure, avideo coding method is further provided, as shown in FIG. 10, data to be encoded or decoded as a current block of pixels of a current picture of a video is received at operation 1101; inheritance information associated with a target mode of the current block stored by an inheritance block of the current block is obtained or derived to form a first merge candidate list at operation 1102, the inheritance block is a previously coded block relative to the current block and the target mode of the current block is intra mixed merge mode, the intra mixed merge mode is defined as a combination of OBIC mode with at least one of the following modes: decoder side intra mode derivation (DIMD) mode, template-based intra mode derivation (TIMD) mode, extrapolation filter-based intra prediction (EIP) mode, temporal multiple reference line (TMRL) mode, spatial gradient-based prediction (SGPM) mode, intra sub-partitions (ISP) mode, intra template matchingprediction (IntraTMP) mode, and matrix weighted intra prediction (MIP) mode; the current block is encoded or decoded using the target mode of the current block at operation 1103.

[0246] In one embodiment of the present disclosure, a video decoding method is further provided, as shown in FIG. 11, data to be decoded as a current block of pixels of a current picture of a video is received at operation 1201; inheritance information associated with a target mode of the current block stored by an inheritance block of the current block is obtained or derived to form a first merge candidate list at operation 1202. The target mode of the current block is occurrence-based intra coding (OBIC) merge mode, and the inheritance block is a previously coded block relative to the current block. At operation 1204, the current block isreconstructed using the target mode of the current block.

[0247] In one embodiment of the present disclosure, an electronic apparatus is further provided, the electronic apparatus comprises a processer (e.g., a CPU) configured to perform operations including: receiving data to be encoded or decoded as a current block of pixels of a current picture of a video; obtaining or deriving inheritance information associated with a target mode of the current block stored by an inheritance block of the current block to form a first merge candidate list, wherein the target mode of the current block is OBIC merge mode, and the inheritance block is a previously coded block relative to the current block; encoding or decoding the current block using the target mode of the current block.

[0248] In one embodiment of the present disclosure, an electronic apparatus is further provided, the electronic apparatus includes a processer (e.g., a CPU) 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; obtaining or deriving inheritance information associated with a target mode of the current block stored by an inheritance block of the current block to form a first merge candidate list, wherein the inheritance block is a previously coded block relative to the current block and the target mode of the current block is intra mixed merge mode, wherein the intra mixed merge mode is defined as a combination of OBIC mode with at least one of the following modes: DIMD mode, TIMD mode, EIP mode, TMRL mode, SGPM mode, ISP mode, intra TMP mode, and MIP mode; encoding or decoding the current block using the target mode of the current block.

[0249] The term “block” in the present disclosure may refer to TU / TB, CU / CB, PU / PB, pre-defined region, or CTU / CTB. Any combination of the embodiments in the present disclosuremay be applied.

[0250] The proposed methods in the present disclosuremay be enabled and / or disabled according to implicit rules (e.g. block width, height, or area) or according to explicit rules (e.g. syntax on block, tile, slice, picture, sps, or pps level) . For example, the proposed method is applied when the block area is smaller / larger than a threshold. Any of the foregoing proposed methods may be implemented in encoders and / or decoders. For example, any of the proposed methods may be implemented in an inter / intra / IBC / prediction / transform module of an encoder, and / or an inter / intra / IBC / prediction / transform module of a decoder. Alternatively, any of the proposed methods may be implemented as a circuit coupled to the inter / intra / IBC / prediction / transform module of the encoder and / or the inter / intra / IBC / prediction / transform module of the decoder, so as to provide the information needed by the inter / intra / IBC / prediction / transform module.

Claims

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;obtaining or deriving inheritance information associated with a target mode of the current block stored by an inheritance block of the current block to form a first merge candidate list, wherein the target mode of the current block is occurrence-based intra coding (OBIC) merge mode, and the inheritance block is a previously coded block relative to the current block;encoding or decoding the current block using the target mode of the current block.2.The video coding method of claim 1, wherein after the obtaining or deriving inheritance information associated with a target mode of the current block stored by an inheritance block of the current block to form a first merge candidate list and before the encoding or decoding the current block using the target mode of the current block, the method further comprises:deriving or obtaining an intra prediction mode of the current block based on the inheritance information in the first merge candidate list.3.The video coding method of claim 1, wherein the inheritance information associated with the target mode of the current blockis selected from a group comprising:an occurrence value of the intra prediction mode;the intra prediction modesused by the inheritance block;OBIC weighting information;afusion indication;a dimension of the inheritance block;the number of samplesof the inheritance block;position of the inheritance block.4.The video coding method of claim 1, wherein the method further comprises:signaling a first flag to indicate the target mode of the current block.5.The video coding method of claim 4, wherein the method further comprises:signaling a second flag or a syntax to indicate an inheritance block type.6.The video coding method of claim 5, wherein the inheritance block type is selected from a group comprises:a spatial adjacent block;a non-adjacent block;a history-based block;a temporal block; anda default block.7.The video coding method of claim 1, wherein the inheritance information associated with the target mode of the current block stored by the inheritance block comprises the inheritance information of the inheritance block in a case where the inheritance block is coded in the target mode of the current block or OBIC mode.8.The video coding method of claim 1, wherein the inheritance information associated with the target mode of the current block stored by the inheritance block comprises the inheritance information associated with the target mode of the current block stored by a propagation block, and the propagation block is a previously coded block relative to the inheritance block;beforethe obtaining or deriving inheritance information associated with a target mode of the current block stored by an inheritance block of the current block to form a first merge candidate list, the method further comprises:propagating the inheritance information stored by the propagation block from the propagation block to the inheritance block.9.The video coding method of claim 8, wherein after the propagating the inheritance information stored by the propagation block from the propagation block to the inheritance block, the method further comprises:storing the inheritance information stored by the propagation block in the inheritance block.10.The video coding method of claim 8, wherein the propagation block is derived based on one selected from a group comprising:a collocated position of the inheritance block;a motion vector at the position of the inheritance block;a block vector at the position of the inheritance block; anda cascaded vector.11.The video coding method of claim 10, wherein the propagation block is a collocated block collocated with the inheritance block in a previously coded picture relative to an inheritance picture in a case where the propagation block is derived based on the collocated position of the inheritance block, the inheritance picture is the picture in which the inheritance block is located; andthe propagating the inheritance information stored by the propagation block from the propagation block to the inheritance block comprises:copying the inheritance information stored by the propagation block.12.The video coding method of claim 10, wherein the propagation block is a previously coded block in the inheritance picture located by the block vector in a case where the propagation block is derived based on the block vector at the position of the inheritance block, the inheritance picture is the picture in which the inheritance block is located; andthe propagating the inheritance information stored by the propagation block from the propagation block to the inheritance block comprises:copying the inheritance information stored by the propagation block.13.The video coding method of claim 12, wherein in a case where the plurality of block vectors are availableat the position of the inheritance block, the method further comprises:selecting, based on a first selection rule, a first number of block vectors to derive the propagation block.14.The video coding method of claim 13, wherein the first selection rule comprises at least one selected from a group comprising:selecting the block vector deriving a propagation block storing the inheritance information;selecting the block vector deriving a propagation block coded in the target mode;selectingthe block vector derivingthe propagation block coded in the OBIC mode;selecting the block vector deriving a propagation block with closest spatial proximity to the current block.15.The video coding method of claim 10, wherein the propagation block is a previously coded block in a previously coded picture relative to the inheritance picture located by the motion vector in a case where the propagation block is derived based on the motion vector at the position of the inheritance block, the inheritance picture is the picture in which the inheritance block is located;and the propagating the inheritance information stored by the propagation block from the propagation block to the inheritance block comprises:copying the inheritance information stored by the propagation block.16.The video coding method of claim 15, wherein in a case where the plurality of motion vectors are availableat the position of the inheritance block, the method further comprises:selecting, based on a second selection rule, a second number of motion vectors to derive the propagation block.17.The video coding method of claim 16, wherein the second selection rule comprises at least one selected from a group comprising:selectingthe motion vector derivingthe propagation block storingthe inheritance information;selectingthe motion vector derivingthe propagation block coded in the target mode;selectingthe motion vector derivingthe propagation block coded in the OBIC mode;selectingthe motion vector based on a picture order count (POC) distance between the inheritance picture and a propagation picture, wherein the propagation picture is the picture in which the propagation block corresponding to the motion vector is located;selectingthe motion vector based on a POC value of the propagation picture associated with the propagation block corresponding to the motion vector and that of the inheritance picture;selecting the motion vector based on a quantization parameter (QP) difference between the inheritance picture and the propagation picture;selecting based on a QP value of the propagation picture associated with the propagation block corresponding to the motion vector and that of the inheritance picture;selecting the motion vector based on a distortion after generatinga prediction of a template sample by applying the inheritance information of each propagation block on the template sample of the inheritance block and computingthe distortion between the prediction and a reconstructed template sample.18.The video coding method of claim 17, wherein the second selection rule further comprises:selecting the motion vector corresponding to a propagation block associated with thepropagation picture having the smallest POC distance relative to the inheritance picture.19.The video coding method of claim 17, wherein the second selection rule further comprises:selecting the motion vector corresponding to the propagation block associated with the propagation picture having the POC value smaller than that of the inheritance picture; orselecting the motion vector corresponding to the propagation block associated with the propagation picture having the POC value larger than that of the inheritance picture.20.The video coding method of claim 17, wherein the second selection rule further comprises:selectingthe motion vector corresponding to the propagation block associated with the propagation picture having the smallest QP difference relative to the inheritance picture.21.The video coding method of claim 17, wherein the second selection rule further comprises:selecting the motion vector corresponding to the propagation block associated with the propagation picture having the QP value smaller than that of the inheritance picture; orselecting the motion vector corresponding to the propagation block associated with the propagation picture having the QP value larger than that of the inheritance picture.22.The video coding method of claim 10, wherein in a case where the propagation block is derived based onthe cascaded vector,a base vector of the cascaded vector is the motion vector in a case where the motion vector is available at the position of the inheritance block; orthe base vector of the cascaded vector is the block vector in a case where the block vector is available at the position of the inheritance block.23.The video coding method of claim 22, wherein the method further comprises:generating a second merge candidate list comprising the motion vector of the inheritance block, the block vector of the inheritance block, or a combination thereof;deriving a base vector based on the second merge candidate list.24.A video decoding method, comprising:receiving data to be decoded as a current block of pixels of a current picture of a video;obtaining or deriving inheritance information associated with a target mode of the current block stored by an inheritance block of the current block to form a first merge candidate list, wherein the target mode of the current block is occurrence-based intra coding (OBIC) merge mode, and the inheritance block is a previously coded block relative to the current block;reconstructing the current block using the target mode of the current block.25.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;obtaining or deriving inheritance information associated with a target mode of the current block stored by an inheritance block of the current block to form a first merge candidate list, wherein the inheritance block is a previously coded block relative to the current block and the target mode of the current block is intra mixed merge mode, wherein the intra mixed merge mode is defined as a combination of OBIC mode with at least one of the following modes: decoder side intra mode derivation (DIMD) mode, template-based intra mode derivation (TIMD) mode, extrapolation filter-based intra prediction (EIP) mode, temporal multiple reference line (TMRL) mode, spatial gradient-based prediction (SGPM) mode, intra sub-partitions (ISP) mode, intra template matchingprediction (IntraTMP) mode, and matrix weighted intra prediction (MIP) mode;encoding or decoding the current block using the targetmode of the current block.26.An electronic apparatus, wherein the electronic apparatus comprises a processer 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;obtaining or deriving inheritance information associated with a target mode of the current block stored by an inheritance block of the current block to form a first merge candidate list, wherein the target mode of the current block is OBIC merge mode, and the inheritance block is a previously coded block relative to the current block;encoding or decoding the current block using the targetmode of the current block.

Citation Information

Patent Citations

  • Method of motion information prediction and inheritance in multi-view and three-dimensional video coding

    CN105637871A

  • Controlling sub prediction unit (SUB-PU) motion parameter inheritance (MPI) in three dimensional (3D) HEVC or other 3D coding

    CN105794209A

  • Method for sub-pu motion information inheritance in 3D video coding

    CN106031169A

  • Method and apparatus for video coding

    CN113383545A

  • Video decoder and methods

    US20210243470A1