Method and apparatus for intra-frame merging mode derived from intra-frame mode at the decoder end

CN122580873APending Publication Date: 2026-08-14MEDIATEK INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-26
Publication Date
2026-08-14

Smart Images

  • Figure CN122580873A_ABST
    Figure CN122580873A_ABST
Patent Text Reader

Abstract

A method and apparatus for video encoding and decoding are disclosed. According to the method, input data related to the current block is received, wherein the input data includes pixel data to be encoded at the encoder end or data related to the current block to be decoded at the decoder end. Inheritance information is obtained from a merge candidate list or from at least one merge candidate, wherein the inheritance information is based on a histogram, or the inheritance information includes at least one intra-frame prediction mode, information on whether fusion is applied, or both. A target prediction is generated for the current block using the inheritance information. The target prediction is then used to encode or decode the current block.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-referencing This invention is a non-provisional application of U.S. Provisional Patent Application No. 63 / 625,331 (filed January 26, 2024), and claims priority thereto. The entire contents of that U.S. Provisional Patent Application are incorporated herein by reference. [Technical Field] This invention relates to video encoding and decoding systems. Specifically, this invention relates to an intra-frame merging mode for obtaining information related to histograms or decoder-side intra-mode derivation (DIMD) to generate predictions for the current block in a video encoding and decoding system. [Background Technology] Versatile video coding (VVC) is the latest international video coding standard jointly developed by the ITU-T Video Coding Experts Group (VCEG) and the Joint Video Experts Group (JVET) of the ISO / IEC Moving Picture Experts Group (MPEG). This standard has been published as an ISO standard: ISO / IEC 23090-3:2021, Informationtechnology - Coded representation of immersive media - Part 3: Versatile Video Coding, released in February 2021. VVC improves coding and decoding efficiency by adding more coding and decoding tools to its predecessor, HEVC (High Efficiency Video Coding), and can handle various types of video sources, including 3D video signals.

[0004] Figure 1AAn exemplary adaptive inter / intra video coding system incorporating loop processing is described. For intra prediction, the prediction data is derived from previously encoded / decoded video data in the current frame. For inter prediction 112, motion estimation (ME) is performed on the encoder side, and motion compensation (MC) is performed based on the result of ME to provide prediction data derived from other frames and motion data. Switch 114 selects either intra prediction 110 or inter prediction 112, and the selected prediction data is provided to adder 116 to form a prediction error, also known as a residual. The prediction error is then processed by transform (T) 118 and subsequent quantization (Q) 120. The residuals from the transform and quantization are then encoded by entropy encoder 122 to be included in the video bitstream corresponding to the compressed video data. The bitstream associated with the transform coefficients is then packaged together with side information (e.g., motion and encoding / decoding modes associated with intra-frame and inter-frame prediction) and other information (e.g., parameters associated with loop filters applied to the underlying image area). The side information associated with intra-frame prediction 110, inter-frame prediction 112, and the intra-loop filter 130 is provided to the entropy encoder 122, such as... Figure 1A As shown. When using inter-frame prediction mode, one or more reference images must also be reconstructed at the encoder end. Therefore, the transformed and quantized residuals are processed by inverse quantization (IQ) 124 and inverse transform (IT) 126 to recover the residuals. Then, at reconstruction (REC) 128, the residuals are added back to the prediction data 136 to reconstruct the video data. The reconstructed video data can be stored in the reference image buffer 134 and used to predict other frames.

[0005] like Figure 1AAs shown, the input video data undergoes a series of processing steps in the encoding system. Due to these processing steps, the reconstructed video data from REC 128 may suffer various forms of degradation. Therefore, a loop filter 130 is frequently applied to the reconstructed video data before it is stored in the reference picture buffer 134 to improve video quality. For example, a deblocking filter (DF), Sample Adaptive Offset (SAO), and Adaptive Loop Filter (ALF) may be used. It may be necessary to incorporate the loop filter information into the bitstream so that the decoder can correctly recover the required information. Therefore, the loop filter information is also provided to the entropy encoder 122 for incorporation into the bitstream. Figure 1A In the process, the loop filter 130 is applied to the reconstructed video before the reconstructed samples are stored in the reference image buffer 134. Figure 1A The system described herein is intended to illustrate an exemplary architecture of a typical video encoder. It may correspond to the High Efficiency Video Codec (HEVC) system, VP8, VP9, ​​H.264, VVC, or any other video codec standard.

[0006] like Figure 1B As shown, the decoder can use similar or identical function blocks to the encoder, except for transform 118 and quantization 120, because the decoder only needs inverse quantization 124 and inverse transform 126. Instead of entropy encoder 122, the decoder uses entropy decoder 140 to decode the video bitstream into quantized transform coefficients and the required encoding / decoding information (e.g., ILPF information, intra-frame prediction information, and inter-frame prediction information). Intra-frame prediction 150 on the decoder side does not require mode search. Instead, the decoder only needs to generate intra-frame predictions based on the intra-frame prediction information received from entropy decoder 140. Furthermore, for inter-frame prediction, the decoder only needs to perform motion compensation (MC 152) 140 based on the inter-frame prediction information received from entropy decoder without motion estimation.

[0007] I. Related Technologies I.1 Intra-mode encoding and decoding with 67 intra-prediction modes In VVC, several regular-angle intra-prediction modes are adaptively replaced with wide-angle intra-prediction modes for non-square blocks.

[0008] I.2 Intra-frame mode encoding and decoding To reduce the complexity of generating the most probable mode (MPM) list, an intra-mode encoding / decoding method with 6 MPMs (or primary MPMs) is adopted, taking into account two available adjacent intra-modes.

[0009] I.3 Decoder-side Intra Mode Derivation (DIMD) When DIMD is applied, two intra-frame patterns are derived from reconstructed neighboring samples (templates), and these two predictors are combined with the planar pattern predictors, with weights derived from gradients. The DIMD pattern is used as an alternative prediction pattern and is always checked in the more complex RDO pattern.

[0010] To implicitly derive the intra-prediction mode of the block, texture gradient analysis is performed at both the encoder and decoder. This process begins with an empty Histogram of Gradients (HoG) with 65 entries, corresponding to 65 angular modes. The magnitudes of these entries are determined during texture gradient analysis.

[0011] Figure 2A -C shows an example of HoG calculated after applying the above operations to all pixel positions in the template. Figure 2A An example of template 220 selected for the current block 210 is shown. Template 220 includes T rows above the current block and T columns to the left of the current block. For intra-frame prediction of the current block, the regions 230 above and to the left of the current block correspond to the reconstruction region, and the regions 240 below and to the right of the block correspond to the unavailable region. Figure 2B An example with T=3 is shown, where HoG is calculated for pixel 260 in the middle row and pixel 262 in the middle column. For example, for pixel 252, a 3x3 window of 250 is used. Figure 2C An example of the amplitude (ampl) calculated for the angular intra-frame prediction mode is shown.

[0012] I.4 Template-based Intra Mode Derivation (TIMD) Template-based intra-mode derivation (TIMD) implicitly derives the intra-predictive mode of the CU in the encoder and decoder through neighboring templates, rather than communicating intra-predictive mode bits to the decoder. Predictive samples for the template are generated using template reference samples for each candidate mode. The cost is calculated as the SATD between the predicted and reconstructed samples of the template. The two intra-predictive modes with the minimum SATD are selected as TIMD modes. These two TIMD modes are weighted and fused after applying the PDPC procedure, and this weighted intra-predictive mode is used to encode and decode the current CU.

[0013] I.5 Extrapolation Filter-Based IntraPrediction (EIP) Mode The EIP schema is disclosed in JVET-AF0080. A brief overview of the EIP schema is as follows.

[0014] I.5.1 Obtaining the EIP Filter Three EIP filter shapes are proposed in this method.

[0015] I.5.1.1 Exporting EIP Coefficients (EIP Export Mode) The decoder decodes the relevant syntax elements to determine the type of the selected reconstructed region and the filter shape of the current block. The selected filter moves horizontally or vertically within the selected reconstructed region, constructing an autocorrelation matrix and cross-correlation vector with a one-pixel stride. The process of calculating coefficients from the autocorrelation matrix and cross-correlation vector is the same as in the convolutional cross-component model (CCCM).

[0016] I.5.1.2 EIP Filter Inheritance (EIP Combining Mode) The filter shape and filter coefficients can be inherited from previously decoded blocks with EIP or EIP merging modes. When the current block uses the EIP mode, the decoder decodes the EIP merging flag to determine whether to use the proposed merging mode. When the EIP merging flag is true, the merging index is further decoded. The EIP merging list includes spatially adjacent and non-adjacent candidates, temporal candidates, and historical candidates.

[0017] I.5.2 Prediction of the current block The EIP mode generates the prediction value for the current block by predicting diagonally from the top left to the bottom right position.

[0018] The predicted values ​​are calculated as follows: .

[0019] in It is the predicted value of the current block at (x, y). It is the i-th coefficient of the selected EIP filter, with coefficient indices ranging from 0 to 14. It is a reconstructed or predicted value used for the prediction of the current location. and These are the position offsets of the current position along the x and y directions, respectively.

[0020] I.6 Template-based Multi-Reference Line Intra-Frame Prediction Template-based multiple reference line intra-prediction (TMRL) mode combines reference lines and prediction modes, and uses template matching to construct a list of candidate combinations. The index of the candidate combination list is used to indicate which reference line and prediction mode to use when encoding and decoding the current block.

[0021] Since the extended reference line starts from reference line 1, the area covered by reference line 0 is used for template matching. For example... Figure 3 As shown, the SAD cost (i.e., TMRL cost) between the prediction (generated by each combination, e.g., each of 50 combinations) and reconstruction is calculated over the template region. Combinations with the lowest SAD cost are selected, for example, the 20 combinations with the lowest SAD cost are selected and arranged in ascending order to form a TMRL candidate list.

[0022] I.7 Inter-frame prediction The JVET-T2002 document describes the algorithms for Versatile Video Coding (VVC) and Test Model 11 (VTM 11). A brief description of VVC's inter-frame prediction is as follows.

[0023] I.7.1 Spatial Candidate Export Spatial merging candidates from Figure 4 Choose from the candidates shown.

[0024] I.7.2 Non-adjacent spatial candidates The patterns of non-adjacent spatial merging candidates are as follows: Figure 5 As shown. The distance between a non-adjacent spatial candidate and the current codec block is based on the width and height of the current codec block. Line buffer limits do not apply.

[0025] I.8 Intra-frame prediction using merged gradient histograms JVET-AG0078 proposes a novel intra-prediction mode called Merged Intra Mode Derivation (MIMD), based on the computation of Merged Histogram of Gradients (MHoG). Similar to DIMD, up to five MIMD modes are derived from the MHoG and blended. The derivation process for modes and blending weights is the same as deriving DIMD modes and blending weights from the HoG. However, unlike DIMD, MHoG is not computed by directly analyzing template samples, but rather based on information extracted from neighboring blocks. More details can be found in JVET-AG0078.

[0026] In particular, several N neighboring blocks are considered. A neighboring block is considered if it uses at least one directional intra-prediction mode. This refers to the amplitude of the directional mode m in HoG, where m can take values ​​from 0 to... ,in This is the maximum number of intra-frame prediction modes. When considering... In such cases, a normalization process can be used.

[0027] Then, the MHoG is calculated using all HoGs extracted from available neighboring blocks. : , Finally, the MIMD modes and weights are calculated using MHoG. The five directional modes corresponding to the highest amplitudes in the MHoG and their weights are selected as the directional modes and weights for MIMD.

[0028] I.9 Occurrence-Based Intra Coding (OBIC) JVET-AG0141 discloses an Occurrence-Based Intra Coding (OBIC) method that derives the intra-prediction mode of the current block based on the sample-by-sample occurrence count of intra-modes within the block's spatial neighborhood. To do this, adjacent and non-adjacent spatial neighborhood blocks are examined, and the intra-prediction modes of the blocks are collected into an occurrence histogram. Unlike the Histogram of Gradient (HoG) in DIMD, OBIC introduces an occurrence histogram (HoC), which includes the intra-mode and its sample-by-sample occurrence count. The occurrence value is calculated based on the number of samples encoded and decoded in that neighborhood using a particular intra-prediction mode. For example, if a uiWidth × uiHeight block is encoded and decoded in IPM mode, the occurrence count of that mode in that specific block is calculated as follows: HoC[IPM] += uiWidth * uiHeight; Where uiWidth and uiHeight are the width and height of the spatial neighborhood block.

[0029] The occurrence count of existing patterns from spatial neighborhood blocks is accumulated in the histogram.

[0030] Select up to 5 angular patterns and a plane pattern that appear most frequently from HoC, and make a final prediction by mixing the predictions of the selected patterns.

[0031] The calculation of the hybrid weights is similar to that of the DIMD mode, but OBIC does not use the gradient values ​​in the template; instead, it uses the occurrence values. Furthermore, the weights for the planar mode are determined in a similar manner to those of the DIMD mode.

[0032] This invention discloses a method and apparatus for using intra-merging modes associated with histograms or decoder-side intra-mode derivation (DIMD). [Summary of the Invention] A video encoding / decoding method and apparatus are disclosed. According to the method, input data related to the current block is received, wherein the input data includes pixel data to be encoded at the encoder end or data related to the current block to be decoded at the decoder end. Inheritance information is obtained from a merge candidate list or from at least one merge candidate, wherein the inheritance information is based on a histogram, or the inheritance information includes at least one intra-frame prediction mode, information on whether fusion is applied, or both. A target prediction is generated for the current block using the inheritance information. The target prediction is then used to encode or decode the current block.

[0034] In one embodiment, the inherited information is related to Decoder Side Intra Mode Derivation (DIMD).

[0035] In one embodiment, the inherited information also includes one or more histogram (bar) values, weighting information, or any combination thereof for the available intra-frame prediction mode.

[0036] In one embodiment, a DIMD procedure with a gradient calculation window is applied to the prediction of the target inheritance block to derive histogram bars, thereby obtaining inheritance information related to the target inheritance block. In another embodiment, a DIMD procedure with a gradient calculation window is applied to the template of the target inheritance block to derive histogram bars, thereby obtaining inheritance information related to the target inheritance block. In yet another embodiment, a DIMD procedure with a gradient calculation window is applied to the reconstruction of the target inheritance block to derive histogram bars, thereby obtaining inheritance information related to the target inheritance block.

[0037] In one embodiment, DIMD-related information used to predict the target inherited block is obtained as inheritance information.

[0038] In one embodiment, the inheritance information comes from the target inheritance block encoded or decoded using DIMD, DIMD merge, or any DIMD-related mode.

[0039] In one embodiment, the list of merged candidates or at least one merged candidate corresponds to one or more spatially adjacent candidates, one or more non-adjacent candidates, one or more historical candidates, one or more time candidates, one or more default candidates, or any combination thereof.

[0040] In one embodiment, inherited information from the merge candidate list or from at least one merge candidate belongs to the same target pattern. In one embodiment, the same target pattern is associated with DIMD.

[0041] In one embodiment, the target prediction for the current block is generated using one or more intra-frame prediction modes and corresponding weights based on inherited information.

[0042] In one embodiment, one or more intra-frame prediction modes are derived using inherited information, and the prediction hypotheses obtained from the derived one or more intra-frame prediction modes are combined through a mixing process to form the final prediction for the current block. [Attached Image Description] Figure 1A An adaptive inter-frame / intra-frame video encoding / decoding system is shown, which includes loop processing.

[0044] Figure 1B It shows Figure 1A The corresponding decoder of the encoder in the code.

[0045] Figure 2A An example of a current block selection template is shown, which includes T rows above the current block and T columns to the left of the current block.

[0046] Figure 2B An example with T=3 is shown, and the HoG (gradient histogram) is calculated for the pixels in the middle row and the pixels in the middle column.

[0047] Figure 2C An example of amplitude (ampl) for angular intra-frame prediction mode is shown.

[0048] Figure 3 The template region for template-based multi-reference line intra-frame prediction is shown. Figure 4 The locations of spatial merging candidates are shown.

[0049] Figure 5 The spatial neighbor blocks used to derive spatial merging candidates are shown.

[0050] Figure 6 An example of a design for multiple history-based buffer arrays is shown, where each grid represents a CTU.

[0051] Figures 7A-B illustrate how to extract data from a historical table of regions with the same starting geometric position as the current region. Figure 7A An example of constructing a history table for the current region is shown in Figure 7B, which contains a history table of the region with the current region's center geometry.

[0052] Figure 8 illustrates a flowchart of an exemplary video encoding and decoding system according to an embodiment of the present invention, which uses intra-frame merging mode to obtain information related to histograms or decoder-side intra-frame mode derivation (DIMD) for predictive generation of the current block.

Detailed Implementation Methods

[0054] Furthermore, the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. Those skilled in the art will recognize that the invention can be practiced without one or more specific details, or using other methods, components, etc. In other instances, well-known structures or operations have not been shown or described in detail to avoid obscuring aspects of the invention. Exemplary embodiments of the invention will be best understood by referring to the accompanying drawings, in which like parts are designated by like numerals throughout the drawings. The following description is merely by way of example and illustrates only embodiments of certain selected apparatuses and methods consistent with the invention.

[0055] To improve the encoding and decoding performance of intra-frame prediction, various schemes related to obtaining histogram or decoder-side intra-frame mode derivation (DIMD) related information are disclosed.

[0056] II. Proposed Methods This invention proposes an intra-frame merging scheme to improve intra-frame prediction. The concept of the merging scheme is to inherit (or reference) information from previous codec blocks and use this inherited information to predict the current block. The main difference between the proposed intra-frame merging scheme and the conventional intra-frame most probable mode (MPM) is as follows: For intra-frame blocks, the conventional intra-frame most probable mode (MPM) can only inherit intra-frame prediction modes that have been communicated in previous codec blocks, such as intra-frame prediction modes with pointing angle prediction modes from the upper adjacent block and / or the left adjacent block, or mode indices of DC or plane. The proposed intra-frame merging scheme brings a more flexible inheritance process and / or more efficient inheritance information in the following aspects.

[0057] In the first aspect, unlike traditional intra-frame MPM, inherited information is not limited to the intra-frame prediction mode of the signal. In some embodiments entitled "Inherited Information Setting", through the proposed intra-frame merging scheme, inherited information can be any mode information, any sample information, any block information, any model information, and / or any information related to prediction generation.

[0058] Secondly, unlike traditional intra-frame MPMs, the previous codec block containing inherited information is not limited to the left-hand neighboring block or the upper-hand neighboring block. In some embodiments specified in the section entitled "Inheritance Block Setup," the current block can find the previous codec block containing inherited information using several proposed merging methods through the proposed intra-frame merging scheme.

[0059] In the third aspect, unlike the traditional intra-MPM which is only used to improve regular intra-frame luminance prediction, in the section entitled "Target Mode Setting and Shortcut Syntax Setting", for some embodiments, the proposed merging scheme obtains information related to the prediction generation of the current block being merged and decoded by DIMD (the target mode of the proposed intra-frame merging scheme is DIMD).

[0060] When generating a prediction for the current block encoded and decoded by the target mode, one or more successor blocks are selected from a list of merge candidates or from several merge candidates. The prediction for the target mode is then generated using inheritance information from the successor blocks. In some embodiments, the inheritance information for each merge candidate belongs to the same target mode. For example, the inheritance information for each merge candidate is associated with DIMD, and the current block is predicted according to the DIMD process.

[0061] Furthermore, unlike traditional intra-MPMs that rely solely on a limited inheritance method to extract the most probable modes from the angular prediction mode, DC, and plane, the proposed intra-merging scheme incorporates inheritance information settings, inheritance block settings, and / or target mode settings, as well as a shortcut syntax setting. This provides a more efficient and convenient way to obtain information related to prediction generation. In some embodiments, several methods are proposed to define the syntax framework of the proposed intra-merging scheme. Following this framework, the intra-merging scheme can be applied to the current block, and then the prediction for the current block can be generated based on the inheritance information.

[0062] II.1 Inheritance Information Settings The inheritance information setting defines the inheritance information used to generate the current block prediction using the target pattern.

[0063] II.1.1 Inheritance Information Settings Related to DIMD When the intra-frame merging scheme is used for DIMD, that is, when DIMD merging is used for the current block, the inherited information includes the listed items a, b, c, d or any combination thereof.

[0064] One or more histogram (bar) values ​​for available DIMD intra-prediction modes (e.g., DC, planar, and / or directional prediction modes). Intra-prediction patterns, such as N intra-prediction patterns suggested by histogram values ​​(with the highest N histogram bars), where N is a positive integer. Weighting information, such as DIMD weighting information, and / or whether it is fused Reference line information and / or wide-angle conditions In one embodiment, the directional prediction modes of the intra-frame prediction mode can be located within a predefined directional range. For example, the predefined directional range is 0 to 64, so there are a total of 65 directional prediction modes. As another example, the predefined directional range is 0 to 128 or 130, so there are a total of 129 or 131 directional prediction modes.

[0065] In another embodiment, the inheritance information comes from a previous codec block specified in the section titled "Inheritance Block Settings". The previous codec block generates and / or stores the DIMD inheritance information. The DIMD inheritance information stored by the previous codec block can be referenced by subsequent codec blocks (e.g., the current block). For example, for each block containing DIMD information (which may or may not be a DIMD codec block), its DIMD information is stored and / or referenced by subsequent codec blocks. For example, for each predefined cell containing DIMD information (which may refer to any predefined region or k×k grid within a DIMD codec block, where k can be 2, 4, 8, 16, or any predefined positive integer), its DIMD information is stored and / or referenced by subsequent codec blocks.

[0066] In one sub-implementation, in response to the inheritance information referring to (a) and / or (b) and / or (c) and / or (d), a DIMD process (referred to as predictor-DIMD) is performed on the prediction of the previously encoded block to obtain histogram bars, thereby deriving the inheritance information of the previously encoded block. The previously encoded block may be encoded using DIMD, DIMD merge, DIMD-related modes, inter, intra, intra block copy (IBC), any mode type, or any mode that may or may not be a DIMD encoded block, such as matrix-based intra prediction or matrix-weighted intra prediction (MIP) / intra-Template matching prediction (intraTMP) / cross-component chroma mode / any block using predictor-DIMD to select a transform set, or any subset / combination of the above.

[0067] In another sub-implementation, in response to the inheritance information referring to (a) and / or (b) and / or (c) and / or (d), a DIMD process is performed on the template (neighborhood region) of the previously encoded / decoded block to obtain histogram bars, thereby deriving the inheritance information of the previously encoded / decoded block. The previously encoded / decoded block may be encoded / decoded using DIMD, DIMD merging, DIMD-related modes, inter-frame, intra-frame, IBC, any mode type, or any subset / combination of the above.

[0068] In another sub-implementation, in response to the inheritance information referring to (a) and / or (b) and / or (c) and / or (d), a DIMD procedure is performed on the reconstruction of the previously encoded / decoded block to obtain histogram bars (by applying a window to the reconstruction of the previously encoded / decoded block), thereby deriving the inheritance information of the previously encoded / decoded block. The previous block may be encoded / decoded using DIMD, DIMD merging, DIMD-related modes, inter-frame, intra-frame, IBC, any mode type, or any subset / combination of the above.

[0069] In another sub-implementation, in response to the inheritance information referring to (a) and / or (b) and / or (c) and / or (d), DIMD-related information for predicting the previous block is obtained to obtain the inheritance information of the previous block. The previous block may be encoded and decoded using DIMD, DIMD merging, or any DIMD-related mode.

[0070] In another embodiment, the inherited information can be used by the current block with some adjustments. Preliminary DIMD information (e.g., a histogram) is calculated using a template (neighborhood region) of the current block as the regular DIMD. This preliminary DIMD information is used to adjust the inherited DIMD information obtained through Section II.2.1 and / or the re-derived DIMD information obtained through the section entitled "Re-derived Information from Previous Codec Blocks" (an alternative method for obtaining inherited DIMD information). The adjustment may involve adding the inherited / re-derived DIMD information to the preliminary DIMD information with a predefined weight. After adjusting the inherited DIMD information for the current block, the current block can use the adjusted information to obtain one or more intra-prediction modes as the regular DIMD.

[0071] In one sub-implementation, the weighting of the initial DIMD information is higher than the weighting of the inherited / re-derived DIMD information. For example, the weighting ratio of the initial DIMD information to the inherited / re-derived DIMD information is 3:1.

[0072] In another sub-implementation, the weighting of the initial DIMD information is lower than the weighting of the inherited / re-derived DIMD information. For example, the weighting ratio of the initial DIMD information to the inherited / re-derived DIMD information is 1:3.

[0073] In another sub-implementation, the weighting varies depending on whether the inherited / re-derived DIMD information is promising. For example, if the reference block used for the inherited / re-derived DIMD information (e.g., a previously encoded / decoded block) is intra-frame encoded / decoded, then the reference block is promising, and the weighting is more biased towards the inherited / re-derived DIMD information.

[0074] In another embodiment, the inherited information can be used by the current block with some adjustments. If multiple inherited DIMD information obtained through Section II.2.1 and / or multiple sets of re-derived DIMD information obtained through the section entitled "Re-derived Information from Previous Codec Blocks" (an alternative to obtaining inherited DIMD information) are available for the current block, the multiple inherited / re-derived DIMD information are combined with a predefined weight. For example, if the multiple DIMD information comes from a merge candidate list in the section entitled "Inherited Information from Previous Codec Blocks," the DIMD information corresponding to the earlier candidates (e.g., spatially adjacent candidates) in the merge candidate list has a higher weight than the other candidates. After adjusting the inherited DIMD information for the current block, the current block can use the adjusted information to obtain one or more intra-prediction modes as regular DIMDs.

[0075] In another embodiment, the inherited information can be used in the current block with some adjustments. Preliminary DIMD information is calculated using a template (neighboring region) of the current block as a regular DIMD. Here, the preliminary DIMD information can be considered as inherited DIMD information. The preliminary DIMD information can be adjusted using a predictive sub-DIMD (DIMD performed on the prediction of the current block) by weighting or replacing the preliminary DIMD information. The predictive sub-DIMD is performed on all or any subset of the predictors of the current block (which may refer to intermediate predictors rather than final predictors). After adjusting the inherited DIMD information for the current block, the current block can use the adjusted information to obtain one or more intra-prediction modes as regular DIMD.

[0076] In another embodiment, to reduce storage requirements, instead of storing all DIMD information (which can be used for reference), only a subset of the DIMD information is stored. For example, only three of the total or any predefined positive integer are stored. For instance, the subset is the first three of the total. The first three could be the three largest bars in the histogram or the three suggested intra-prediction modes.

[0077] II.2 Inheritance Block Settings II.2.1 Inherited information from previous codec blocks Inheritance information is obtained from previous codec blocks. In one embodiment, one or more spatially adjacent candidates and / or non-adjacent candidates, historical candidates, temporal candidates, default candidates, or any subset of the above candidates provide inheritance information from previous codec blocks. In one sub-implementation, merging candidates references only historical candidates and / or does not use candidates from distant non-adjacent regions.

[0078] In another embodiment, a merge candidate list containing inheritance information is established for the current block. Similar to the regular inter-frame merging mode, the merge candidate list includes spatially adjacent candidates and / or non-adjacent candidates, historical candidates, temporal candidates, default candidates, or any subset of the above. In one sub-implementation, this merge candidate list is aligned with or a subset of the merge candidate list of the regular inter-frame merging mode. In another sub-implementation, this merge candidate list references only a history-based buffer array. That is, it includes only historical candidates and / or does not use candidates from distant non-adjacent regions.

[0079] In one sub-implementation, full or partial pruning is used to avoid duplicate inheritance information in the list. Before adding a candidate to the list, the inheritance information of the candidate to be added, or any subset thereof, is checked against the corresponding inheritance information of the candidates already existing in the list. The full inheritance information of a candidate refers to all stored inheritance information of the inherited block (the previous codec block).

[0080] In another sub-implementation, after establishing a merge candidate list, one or more candidates are selected from the list for use by the current block. Selection depends on either an explicit signaling index or an implicit selection of one or more (promising) candidates. For example, a successor block encoded / decoded via a target pattern is considered a promising candidate. Alternatively, the top one or more candidates with the lowest cost are selected. For example, an explicit index instructs the reordering of one or more candidates in the list as selected candidates. Cost calculation and / or list reordering may depend on a template matching process that calculates the cost based on the distortion between the prediction on the template (using a certain candidate) and the reconstruction on the template. Regarding the reordered list, the candidate with the lowest cost is placed at the top of the list.

[0081] In another sub-implementation, the merged candidate list has a maximum size threshold. The threshold is fixed in the standard and / or determined according to an explicit syntax at the block, CTU, slice, tile, sequence, image, SPS, PPS, or any predetermined unit level. When the threshold is reached (i.e., the list is full), no more candidates can be inserted; otherwise, valid candidates can be inserted into the list. If the list is not full and inheritance cannot find enough candidates, default candidates are inserted to fill the list.

[0082] In another sub-implementation, the size of the merged candidate list is adaptively determined based on the number of valid candidates. When selecting one or more candidates for the current block from the list, the selection is limited to the available candidates in the list. For example, if the selection is implicit, the one or more selected candidates are one or more candidates in the list with lower costs. Cost calculation may depend on a template matching process that calculates the cost based on the distortion between the prediction on the template (using a certain candidate) and the reconstruction on the template.

[0083] II.2.1.1 Spatial Neighbor Candidates and Non-Neighbor Candidates Spatial neighbor candidates are drawn from the neighboring blocks of the current block, where the neighboring blocks can be the same as the five spatial neighbor blocks in the regular inter-frame merge mode or any subset of the neighboring blocks of the current block. Non-neighbor candidates are drawn from the search range around the current block (but not adjacent to it). The search range can be the same as or different from the search range of non-neighbor candidates in the regular inter-frame merge mode.

[0084] II.2.1.2 Historical Candidates Historical candidates are selected from a history-based buffer array. This array stores inheritance information for each valid previous codec block, where a valid previous codec block refers to any block containing inheritance information. Similar to the historical candidates in the merge list of regular inter-frame merge mode, if the buffer array is full, the first stored information may be removed to include information for the latest valid codec block.

[0085] In one embodiment, the history-based buffer array can be reset at the beginning or end of a predefined cell. Resetting the definition of the history-based buffer array can be by clearing all inherited information stored in the history-based buffer array. The predefined cell can be every M CTUs, every N CTU rows, a slice, a tile, a picture, or any predefined region, where N and M can be any value greater than 0.

[0086] When historical candidates from a history-based buffer array are included in the merge list, the order in which they are included can be predefined.

[0087] In one embodiment, the order in which historical candidates are included may be from the beginning / end of the history-based buffer array to the end / beginning of the history-based buffer array.

[0088] In another embodiment, the order in which historical candidates are included may be from a predefined position in the history-based buffer array to the beginning / end of the history-based buffer array.

[0089] In another embodiment, the order in which historical candidates are included can be staggered (e.g., the first included candidate comes from the beginning of the history-based buffer array, the second included candidate comes from the end of the history-based buffer array, and so on).

[0090] In one embodiment, an image, tile, or slice can be divided into several regions, and a history-based buffer array is maintained for each region. During encoding / decoding, the history-based buffer array 0 and an additional history-based buffer array are updated. This additional history-based buffer array can be determined by the current position. For example, if the current CU is located in the second region, the additional history-based buffer array to be updated is history-based buffer array 2. Figure 6 An example of a design for multiple history-based buffer arrays is shown, where each array corresponds to several CTUs.

[0091] In another embodiment, multiple history-based buffer arrays can be used for different update frequencies. For example, the first history-based buffer array is updated once per CU, the second history-based buffer array is updated once every two CUs, the third history-based buffer array is updated once every four CUs, and so on.

[0092] In another embodiment, multiple history-based buffer arrays can be used to store different types of inheritance information. For example, the first history-based buffer array is used to store inheritance information with a single model (i.e., non-fusion case), and the second history-based buffer array is used to store inheritance information with multiple models (i.e., fusion case).

[0093] In another embodiment, multiple history-based buffer arrays can be used for reconstructed samples of different intensities. For example, if the average intensity of reconstructed samples in the current block neighborhood is greater than a predefined threshold, the inherited information will be stored in the first history-based buffer array; otherwise, the inherited information will be stored in the second history-based buffer array.

[0094] When incorporating historical candidates from multiple history-based buffer arrays into a merge list, the order in which they are included can be predefined.

[0095] In one embodiment, the order in which historical candidates are included can be: from the beginning / end of a history-based buffer array to the end / beginning of that history-based buffer array, and then in the same order or in the reverse order of the next history-based buffer array.

[0096] In another embodiment, the order of incorporating historical candidates can be: from a predefined position in a history-based buffer array to the end / beginning of the history-based buffer array, and then incorporating the next history-based buffer array in the same or reverse order.

[0097] In another embodiment, the order of incorporating historical candidates can be: in a history-based buffer array, candidates are interleaved (e.g., the first candidate to be incorporated comes from the beginning of the history-based buffer array, the second candidate to be incorporated comes from the end of the history-based buffer array, and so on), and then incorporated into the next history-based buffer array in the same order or in the reverse order.

[0098] In another embodiment, the order in which history candidates are included can be: from the beginning / end of each history-based buffer array to the end / beginning of each history-based buffer array.

[0099] In another embodiment, the order in which history candidates are included can be: from a predefined position in each history-based buffer array to the end / beginning of each history-based buffer array.

[0100] In another embodiment, the order in which historical candidates are included can be: in an interleaved manner in each history-based buffer array (e.g., the first candidate included comes from the beginning of the history-based buffer array, the second candidate included comes from the end of the history-based buffer array, and so on).

[0101] In one embodiment, multiple history-based buffer arrays exist, but not all of them will be used to construct the merge list. Only history-based buffer arrays whose regions are close to the region where the current block is located can be used to construct the merge list.

[0102] In one embodiment, if historical candidates are included in the merge list, the range of non-adjacent candidates can be narrowed by using smaller distances between the locations of each non-adjacent candidate.

[0103] In another embodiment, if historical candidates are included in the merge list, the number of non-adjacent candidates can be reduced by measuring the distance from the top left position of the current block to the candidate position and excluding candidates whose distance is greater than a predefined threshold.

[0104] In another embodiment, if historical candidates are included in the merge list, the number of non-adjacent candidates can be reduced by skipping candidates that are not located in the same region.

[0105] In another embodiment, if historical candidates are included in the merge list, the number of non-adjacent candidates can be reduced by skipping candidates that are not located in the same or neighboring regions. The range of neighboring regions is predefined and can be M×N regions, where M and N can be any value greater than 0.

[0106] In another embodiment, if historical candidates are included in the merge list, the search scope for selecting non-adjacent candidates can be narrowed by skipping the second search mode.

[0107] In one embodiment, an image can be divided into multiple regions, and at least one history table is maintained in each region. For a region of the current image, it can use or combine history tables from one or more regions of previously encoded images as the initial history table. For example, if an image is divided into N regions, it can implicitly or explicitly select a history table from one of the N regions of previously encoded images as the initial history table. The index of one of the N regions can be transmitted by signaling or can be implicitly derived from the corresponding region in the previously encoded images. Figure 7A and Figure 7B As shown, the current image 720 is a P / B codec image, while the previous image 710 was an intra-frame codec image. Each image is divided into four regions as shown by four rectangular boxes. According to an embodiment of the present invention, the corresponding region in the previously codec image can be... Figure 7A The region 712 shown has the same initial geometric position as the current region 722, or is... Figure 7B The area shown is region 712, which contains the central geometric location of the current region 722. For example, it can combine more than one history table from previously encoded / decoded regions / images to construct a history table for the current region.

[0108] II.2.1.3 Time Candidates Timing candidates are obtained from inherited information stored in one or more previously encoded / decoded images. Timing candidates can be obtained when the current slice / image is a non-intra-frame slice / image.

[0109] In one embodiment, the time candidate can be derived from certain predefined locations of previously encoded / decoded slices / images. The block.

[0110] In one sub-implementation, location Within the corresponding region of the current encoding / decoding block, i.e. and Predefined positions can be .

[0111] In one sub-implementation, a predefined location Located outside the corresponding region of the current encoding / decoding block, i.e. and / or The time candidate can be a previously encoded / decoded slice / image. .

[0112] In one sub-implementation, the predefined position can be determined based on the position, width, and height of the current block.

[0113] In one embodiment, the previously encoded / decoded image is located among the images in the reference list.

[0114] In one embodiment, the previously encoded / decoded image is the same as the collocated image in a regular intra-frame merging mode.

[0115] In one embodiment, the previously encoded / decoded image is determined based on motion vectors of neighboring blocks. This image is the one indicated by the motion vectors.

[0116] In one embodiment, the final predefined position is determined based on the motion vectors of neighboring blocks. Horizontal and vertical displacements (Δx, Δy) are determined based on the motion vectors. Assume a set of predefined positions is (x1, y1), (x2, y2), ..., (xN, yN). The final predefined position could be (x1+Δx, y1+Δy), (x2+Δx, y2+Δy), ..., (xN+Δx, yN+Δy).

[0117] In one embodiment, the motion vector can be the L0 or L1 motion vector of a neighboring block.

[0118] In one embodiment, the horizontal and vertical displacements (Δx, Δy) are derived from selected neighboring motion vectors. For example, if the reference image of the selected neighboring motion vector and the selected / predefined previously encoded image are the same image, (Δx, Δy) is equal to the neighboring motion vector or the rounded neighboring motion vector. Another example is if the reference image of the selected motion vector and the selected / predefined previously encoded image are not the same image, (Δx, Δy) can be (mv_x * (td / tb), mv_y * (td / tb)) or the rounded (mv_x * (td / tb), mv_y * (td / tb)), where (mv_x, mv_y) is the selected motion vector, tb is the POC distance between the current image and the reference image of the selected motion vector, and td is the POC distance between the current image and the selected / predefined previously encoded image.

[0119] In one embodiment, the temporal candidate is derived using reconstructed samples of blocks located at predefined positions within a selected / predefined previously encoded image. The block size can be determined by the size of the current block. For example, the size can be the same as the current block size. The block size can also be fixed. For example, the size can always be M x N, where M and N are positive integers.

[0120] II.2.1.4 Default Candidate A default candidate is a candidate that contains default information and / or the default information is derived from candidates already included in the merged candidate list. In one embodiment, the default mode of the default candidate can be derived using the MIMD scheme, the OBIC scheme, the EIP derived mode scheme, any existing or mentioned intra-frame scheme (e.g., TIMD, DIMD, EIP and / or MRL), any variant of any existing or mentioned intra-frame scheme, or any combination thereof.

[0121] II.2.2 Re-exporting information from previous codec blocks If the current block decides to reference inherited information from a previous codec block (e.g., to select a candidate from a merge candidate list), the export procedure is applied to the reference block (i.e., the previous codec block) to re-extract the required inherited information from that reference block. Through this re-extraction, the inherited information from the previous codec block does not need to be stored in the previous codec block. This re-extraction can replace, or conditionally replace, the method of storing inherited information.

[0122] II.2.3 Constraints Inherited / Re-derived (Validity Check) With constraints in place, when attempting to obtain inherited information from a previous codec block, the inherited information can only be inherited / re-exported to the current block if the constraints are met.

[0123] In one embodiment, only inherited information from intra-frame codecs, target mode codecs, target merge mode codecs, target mode-related codec blocks, or combinations thereof, is available. Only inherited information from blocks located in predefined regions is available. For example, a predefined region is determined by the current block's block position, block width, block height, and / or block area.

[0124] II.3 Target Mode Settings and Shortcut Syntax Settings In one embodiment, when the proposed intra-framing scheme is used for the current block, the predictor sub-DIMD for the current block is used to select the transform set and / or transpose flags for the primary and / or secondary transforms. Predictor sub-DIMD refers to applying the DIMD procedure to the predicted samples of the current block to derive the intra-prediction mode. For example, the horizontal and vertical gradients of the predicted samples of the current block are computed to construct a gradient histogram (HoG). Then, the transform set in the transform process of the current block is determined using the intra-prediction mode corresponding to the maximum histogram count.

[0125] II.3.1 DIMD Target Mode Settings (DIMD Merge Mode) The DIMD target mode setting specifies the DIMD merging mode. When the DIMD merging mode is used for the current block, the current block generates its prediction using inherited DIMD information. The inherited information may or may not be adjusted. Inherited information may refer to the histogram (bar) values ​​of available DIMD intra-prediction modes. The current block derives its own prediction information based on the inherited information, such as one or more intra-prediction modes and / or corresponding weights. Depending on the inherited block settings, inherited information from one or more predetermined candidates (e.g., each candidate provides histogram (bar) values) is used to determine the prediction information needed to generate the current block's prediction. For example, inherited information refers to histogram values ​​from previous codec blocks and is used to determine one or more intra-prediction modes (a type of prediction information) for the current block as regular DIMD. Then, in conjunction with regular DIMD, a mixing process is used to combine the prediction assumptions of the one or more derived intra-prediction modes to form the final prediction for the current block.

[0126] In one embodiment, based on the inherited block settings, only one candidate, such as the first available candidate, is used to determine the prediction information for the current block.

[0127] In another embodiment, one or more candidates are used to determine the prediction information for the current block. For example, all available candidates are used to determine the prediction information for the current block. For example, a predefined maximum number is set. During the checking of available candidates, when the number of available candidates checked reaches the predefined maximum number, the checked available candidates are used to determine the prediction information for the current block. After checking all available candidates (the number of available candidates checked may or may not have reached the predefined maximum number), the checked available candidates are used to determine the prediction information for the current block.

[0128] In another embodiment, whether the DIMD merge mode is applied to the current block depends on the syntax of the current block. For example, a flag (such as the DIMD merge flag) is signaled to indicate whether the DIMD merge mode is applied to the current block.

[0129] In one sub-implementation, when the DIMD merge flag indicates that the DIMD merge mode should be applied to the current block, the candidate selection of not further communicating syntax and / or determining the prediction information for the current block is implicit.

[0130] In another sub-implementation, when the DIMD merge flag indicates that the DIMD merge mode should be applied to the current block, further signaling of one or more syntax elements and / or candidate selection of prediction information for the current block is explicit.

[0131] In another sub-implementation, when the DIMD merge flag indicates that the DIMD merge mode should be applied to the current block, one or more syntax elements are further messaged and / or an indicated DIMD merge mode is selected from several DIMD merge mode variants based on the messaged syntax elements.

[0132] In another sub-implementation, the DIMD merge mode is an optional mode of the regular DIMD, and the DIMD merge flag is signaled after the enable flag of the regular DIMD. For example, the DIMD merge flag (as a shortcut to DIMD) is signaled immediately after the enable flag of the regular DIMD, or before all or a subset of the DIMD submodes. The DIMD merge flag is further signaled only if the enable flag of the regular DIMD indicates that DIMD should be applied to the current block; otherwise, the DIMD merge flag is inferred to be disabled.

[0133] In another sub-implementation, if a potential intra-frame merging candidate scheme uses DIMD encoding / decoding, additional checks are required to determine its validity. The HoG of the current CU's DIMD is generated. A similarity check is performed on the potential merging DIMD intra-frame modes (the current 5 intra-frame modes of DIMD) and the current CU's HoG to determine if the potential candidate can be included in the merging candidates. One possibility is that a similar candidate can be included; another is that a similar candidate cannot. Multiple methods can be used to complete the checking process.

[0134] • Optimization 1: Check if the first N entries of the current HoG overlap with at least K potentially merged DIMD intra modes. For example, for the current Enhanced Compression Model (ECM), there are 5 DIMD intra modes. If N is 5 and K is 3, then at least 3 intra modes in the potential merge candidates should be covered by the 5 intra modes with the highest amplitude in the HoG (as the X-axis of the HoG of the current CU). For example, if N is 8 and K is 5, then the 5 intra modes in the potential merge candidates should be covered by the 8 intra modes with the highest amplitude in the HoG.

[0135] • Option 2: Multiply the DIMD mixing weights of potential merge candidates by the HoG amplitude of the current CU at the corresponding phase, and sum the products. Compare this sum with a threshold to determine if the candidate is valid. The threshold can be proportional to the size of the current CU. Larger CUs may have larger HoG amplitudes. Adjust the threshold according to the size of the CU to generate a reasonable threshold. In another embodiment, the product is normalized according to the size of the CU before comparing it with the threshold to determine if the candidate is valid.

[0136] In this invention, the term "block" may refer to TU / TB, CU / CB, PU / PB, a predefined region, or CTU / CTB.

[0137] Any combination of the methods proposed in this invention can be applied.

[0138] The method proposed in this invention can be enabled and / or disabled based on implicit rules (e.g., block width, height, or area) or explicit rules (e.g., block, slice, image, SPS, or PPS level syntax). For example, the proposed method is applied when the block area is less than / greater than a threshold.

[0139] Any of the methods proposed above can be implemented in the encoder and / or decoder. For example, any of the proposed methods can be implemented in the inter-frame / intra-frame / IBC / prediction / transform module of the encoder, and / or in the inter-frame / intra-frame / IBC / prediction / transform module of the decoder. Alternatively, any of the proposed methods can be implemented as circuitry connected to the inter-frame / intra-frame / IBC / prediction / transform module of the encoder and / or the inter-frame / intra-frame / IBC / prediction / transform module of the decoder to provide the information required by the inter-frame / intra-frame / IBC / prediction / transform module.

[0140] Reference Figure 1A and Figure 1B The exemplary encoder and decoder in the example, any of the proposed methods can be implemented in the intra-frame encoding / decoding module in the decoder (e.g., Figure 1B Intra-frame prediction 150 in the encoder or intra-frame codec module in the encoder (e.g., Figure 1A Intra-frame prediction (110) is implemented in the decoder. Any of the proposed methods can also be implemented as circuitry connected to the intra-frame / inter-frame codec module in the decoder or encoder. However, the decoder or encoder can also use additional processing units to implement the required processing. Although the intra-frame prediction unit (e.g., Figure 1A Unit 110 and Figure 1BUnit 150 in the diagram is shown as an independent processing unit, which may correspond to executable software or firmware code stored on a medium, such as a hard disk or flash memory, for a central processing unit (CPU) or a programmable device (e.g., a digital signal processor (DSP) or a field-programmable gate array (FPGA)).

[0141] Figure 8 illustrates a flowchart of an exemplary video encoding / decoding system according to an embodiment of the present invention, which uses an intra-frame merging mode to obtain information related to a histogram or decoder-side intra-frame mode derivation (DIMD) for prediction generation of the current block. The steps shown in the flowchart can be implemented as program code executable on one or more processors (e.g., one or more CPUs) at the encoder end. The steps shown in the flowchart can also be implemented based on hardware, such as one or more electronic devices or processors configured to perform the steps in the flowchart. According to the method, in step 810, input data related to the current block is received, wherein the input data includes pixel data to be encoded at the encoder end or encoded data related to the current block to be decoded at the decoder end. In step 820, inheritance information is obtained from a merging candidate list or at least one merging candidate, wherein the inheritance information contains at least one intra-frame prediction mode based on the histogram or inheritance information, whether fusion is applied, or both. In step 830, a target prediction for the current block is generated using the inheritance information. In step 840, the current block is encoded or decoded using the target prediction.

[0142] The flowchart shown is intended to illustrate an example of video encoding and decoding according to the present invention. Those skilled in the art can practice the invention by modifying each step, rearranging the steps, splitting the steps, or merging the steps without departing from the spirit of the invention. Specific syntax and semantics are used in this disclosure to illustrate examples of implementing embodiments of the invention. Those skilled in the art can practice the invention by using equivalent syntactic and semantic substitutions without departing from the spirit of the invention.

[0143] The foregoing description is intended to enable those skilled in the art to practice the invention in the context of specific applications and their requirements. Various modifications to the described embodiments will be readily apparent to those skilled in the art, and the general principles defined herein can be applied to other embodiments. Therefore, the invention is not intended to be limited to the specific embodiments shown and described, but should be given the broadest scope in accordance with the principles and novel features disclosed herein. In the foregoing detailed description, various specific details have been shown to provide a thorough understanding of the invention. However, those skilled in the art will understand that the invention can be practiced.

[0144] The embodiments of the present invention described above can be implemented in various hardware, software code, or combinations thereof. For example, embodiments of the invention may be one or more electronic circuits integrated into a video compression chip, or program code integrated into video compression software, to perform the processes described herein. Embodiments of the invention may also be program code executed on a digital signal processor (DSP) to perform the processes described herein. The invention may also relate to multiple functions performed by a computer processor, digital signal processor, microprocessor, or field-programmable gate array (FPGA). These processors can be configured to execute machine-readable software code or firmware code to define specific methods embodied by the invention. The software code or firmware code can be developed in different programming languages ​​and different formats or styles. The software code can also be compiled for different target platforms. However, different code formats, styles, and languages ​​for performing tasks according to the invention, as well as other methods of configuring the code, do not depart from the spirit and scope of the invention.

[0145] This invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The examples described are for illustrative purposes only and not for limitation. Therefore, the scope of the invention is indicated by the appended claims rather than the foregoing description. All modifications within the meaning and equivalence of the claims should be included within its scope.

Claims

1. A video encoding / decoding method, comprising: Receive input data related to the current block, wherein the input data includes pixel data to be encoded at the encoder end or data related to the current block to be decoded at the decoder end; Inheritance information is obtained from a list of merge candidates or from at least one merge candidate, wherein the inheritance information is based on a histogram, or the inheritance information includes at least one intra-frame prediction mode, whether fusion is applied, or both. Use the inherited information to generate a target prediction for the current block; as well as Use the target prediction to encode or decode the current block.

2. The method of claim 1, wherein the inherited information is related to DecoderSide Intra Mode Derivation (DIMD).

3. The method of claim 1, wherein the inherited information further includes one or more histogram (bar) values, weighting information, or any combination thereof for the available intra-frame prediction mode.

4. The method of claim 1, wherein a DIMD process with a gradient calculation window is applied to the prediction of the target inheritance block to derive histogram bars, thereby obtaining the inheritance information associated with the target inheritance block.

5. The method of claim 1, wherein a DIMD procedure with a gradient calculation window is applied to a template of the target inheritance block to derive histogram bars, thereby obtaining the inheritance information associated with the target inheritance block.

6. The method of claim 1, wherein a DIMD procedure with a gradient calculation window is applied to the reconstruction of the target inheritance block to derive histogram bars, thereby obtaining the inheritance information associated with the target inheritance block.

7. The method of claim 1, wherein DIMD-related information for predicting the target inheritance block is obtained as the inheritance information.

8. The method of claim 1, wherein the inheritance information comes from a target inheritance block encoded or decoded using DIMD, DIMD merge, or any DIMD-related mode.

9. The method of claim 1, wherein the list of merged candidates or the at least one merged candidate corresponds to one or more spatially adjacent candidates, one or more non-adjacent candidates, one or more historical candidates, one or more temporal candidates, one or more default candidates, or any combination thereof.

10. The method of claim 1, wherein the inheritance information from the merge candidate list or from the at least one merge candidate belongs to the same target pattern.

11. The method of claim 10, wherein the same target pattern is associated with DIMD.

12. The method of claim 1, wherein the target prediction for the current block is generated using one or more intra-frame prediction modes and corresponding weights based on the inheritance information.

13. The method of claim 1, wherein one or more intra-prediction modes are derived using the inherited information, and the prediction hypotheses obtained from the derived one or more intra-prediction modes are combined through a mixing process to form the final prediction for the current block.

14. A video encoding / decoding apparatus, comprising one or more electronic circuits or processors, configured as follows: Receive input data related to the current block, wherein the input data includes pixel data to be encoded at the encoder end or data related to the current block to be decoded at the decoder end; Inheritance information is obtained from a list of merge candidates or from at least one merge candidate, wherein the inheritance information is based on a histogram, or the inheritance information includes at least one intra-frame prediction mode, whether fusion is applied, or both. Use the inherited information to generate a target prediction for the current block; as well as Use the target prediction to encode or decode the current block.