Prediction method, video coder, and apparatus
By employing regression-based blending methods for spatial geometric partitioning mode and updating codeword encoding, the solution enhances video coding efficiency and accuracy, addressing complexity and redundancy in existing video compression technologies.
Patent Information
- Application Number
- PCT/CN2024/104071
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-05
- Publication Date
- 2026-01-08
AI Technical Summary
Current image processing technologies face challenges with complexity, large signaling overhead, and encoding redundancy, particularly in video compression due to the limitations of existing prediction methods and video coders.
The proposed solution involves using regression-based blending methods for spatial geometric partitioning mode (SGPM) and other fusion prediction modes, generating regression-based blending candidates (RBC) to enhance prediction accuracy and reduce signaling overhead by deriving blending weights from templates and updating codeword encoding methods.
This approach improves coding efficiency by providing more accurate predictions and reducing bitrate, addressing issues of complexity and redundancy in existing video coding systems.
Smart Images

Figure CN2024104071_08012026_PF_FP_ABST
Abstract
Description
PREDICTION METHOD, VIDEO CODER, AND APPARATUSTECHNICAL FIELD
[0001] The present disclosure relates to the field of image processing technologies, and more particularly, to a prediction method, a video coder, and an apparatus.BACKGROUND
[0002] In image processing technologies, for example, under the context of video compression, color image or a frame of a color video may include three color components, namely a luma component Y and two chroma components Cb and Cr. Each component is represented as a data matrix. The data matrix for each component is decomposed into blocks associated with specific encoding parameters. A block may be a square or rectangle whose dimensions are integer powers of 2. The coding of an image is processed in raster scanning order: from left to right, then from top to bottom. Within a specific block or a plurality of blocks, luma component may be coded before chroma components.
[0003] The current image processing cannot work well due to complexity, large signaling overhead, and cause some encoding redundancy. Therefore, there is a need for a prediction method, a video coder, and an apparatus, which can solve issues in the prior art and / or other issues.SUMMARY
[0004] An object of the present disclosure is to propose a prediction method, a video coder, and an apparatus, which can solve issues in the prior art and / or other issues.
[0005] In a first aspect of the present disclosure, a prediction method applied to a video coder includes determining whether a regression-based blending is available in a spatial geometric partitioning mode (SGPM) mode; obtaining a first candidate list; and generating a prediction block for a current block based on a blending mode, wherein the blending mode is determined by the first candidate list, and the blending mode comprises a partition-based blending mode or a regression-based blending mode.
[0006] In a second aspect of the present disclosure, a prediction method applied to a video coder includes determining whether a regression-based blending is available in a spatial geometric partitioning mode (SGPM) mode; decoding a regression-based flag; decoding a candidate index for a candidate list, wherein the candidate index for the candidate list indicates whether a partition-based candidate list or a regression-based blending candidate list is based on the regression-based flag; and determining if the regression-based blending is enabled for a current block.
[0007] In a third aspect of the present disclosure, a prediction method applied to a video coder includes determining whether a template-based intra mode derivation (TIMD) fusion is applied; if the TIMD fusion is enabled for a current block, deriving a regression-based blending candidate list; and generating a prediction block for the current block based on the regression-based blending candidate list.
[0008] In a fourth aspect of the present disclosure, a prediction method applied to a video coder includes dividing a candidate index into a plurality of groups and encoding the plurality of groups with different coding methods, wherein for a first group of the candidate index, using a context-based code, a binary code, a unary code, or Golomb code, and for a second group of the candidate index, using a truncated binary code.
[0009] In a fifth aspect of the present disclosure, a video coder includes a memory, a transceiver, and a processor coupled to the memory and the transceiver. The processor is configured to perform the above prediction method.
[0010] In a sixth aspect of the present disclosure, a non-transitory machine-readable storage medium has stored thereon instructions that, when executed by a computer, cause the computer to perform the above method.
[0011] In a seventh aspect of the present disclosure, a chip includes a processor, configured to call and run a computer program stored in a memory, to cause a device in which the chip is installed to execute the above method.
[0012] In an eighth aspect of the present disclosure, a computer readable storage medium, in which a computer program is stored, causes a computer to execute the above method.
[0013] In a ninth aspect of the present disclosure, a computer program product includes a computer program, and the computer program causes a computer to execute the above method.
[0014] In a tenth aspect of the present disclosure, a computer program causes a computer to execute the above method.BRIEF DESCRIPTION OF DRAWINGS
[0015] In order to illustrate the embodiments of the present disclosure or related art more clearly, the following figures will be described in the embodiments are briefly introduced. It is obvious that the drawings are merely some embodiments of the present disclosure, a person having ordinary skill in this field can obtain other figures according to these figures without paying the premise.
[0016] FIG. 1 is a block diagram illustrating an example of a video encoding system.
[0017] FIG. 2 is a block diagram illustrating an example of a video decoding system.
[0018] FIG. 3 is a schematic diagram illustrating an example of a use of template-based intra mode derivation (TIMD) to derive an intra prediction mode for a current block.
[0019] FIG. 4 is a schematic diagram illustrating an example of a coding unit (CU) divided into two parts by a geometrically positioned straight line.
[0020] FIG. 5 is a schematic diagram illustrating an example of a template defined as left and neighboring areas of a current block.
[0021] FIG. 6 is a flowchart illustrating an example of a decoding process of a prediction mode.
[0022] FIG. 7A is a flowchart illustrating a prediction method applied to a video coder according to an embodiment of the present application.
[0023] FIG. 7B is a flowchart illustrating a decoding process including a regression-based blending, applied to spatial geometric partitioning mode (SGPM) according to an embodiment of the present application.
[0024] FIG. 8A is a flowchart illustrating a prediction method applied to a video coder according to an embodiment of the present application.
[0025] FIG. 8B is a flowchart illustrating a decoding process considering regression-based blending candidates (RBC) as an independent mode, with SGPM according to an embodiment of the present application.
[0026] FIG. 9A is a flowchart illustrating a prediction method applied to a video coder according to an embodiment of the present application.
[0027] FIG. 9B is a flowchart illustrating a decoding process which replaces a regular fusion or blending mode with RBC, with template-based intra mode derivation (TIMD) according to an embodiment of the present application.
[0028] FIG. 10 is a flowchart illustrating selecting intra prediction modes for RBC derivation according to an embodiment of the present application.
[0029] FIG. 11 is a schematic diagram illustrating a candidate list according to an embodiment of the present application.
[0030] FIG. 12 is a schematic diagram illustrating a candidate list according to an embodiment of the present application.
[0031] FIG. 13 is a schematic diagram illustrating a candidate list according to an embodiment of the present application.
[0032] FIG. 14 is a schematic diagram illustrating a candidate list according to an embodiment of the present application.
[0033] FIG. 15 is a schematic diagram illustrating a coding method for candidate index of a candidate list according to an embodiment of the present application.
[0034] FIG. 16 is a schematic diagram illustrating a coding method for candidate index of a candidate list according to an embodiment of the present application.
[0035] FIG. 17 is a schematic diagram illustrating a coding method for candidate index of a candidate list according to an embodiment of the present application.
[0036] FIG. 18 is a schematic diagram illustrating a coding method for candidate index of a candidate list according to an embodiment of the present application.
[0037] FIG. 19 is a block diagram illustrating a video coder according to an embodiment of the present application.
[0038] FIG. 20 is an example of a computing device according to an embodiment of the present disclosure.
[0039] FIG. 21 is a block diagram of a communication system according to an embodiment of the present disclosure.DETAILED DESCRIPTION OF EMBODIMENTS
[0040] Embodiments of the present disclosure are described in detail with the technical matters, structural features, achieved objects, and effects with reference to the accompanying drawings as follows. Specifically, the terminologies in the embodiments of the present disclosure are merely for describing the purpose of the certain embodiment, but not to limit the disclosure.
[0041] Popular video coding standards such as Versatile Video Coding (VVC) uses a prediction / transform hybrid coding framework. Prediction refers to predicting current block (i.e., the block to be coded) using coded blocks or coded areas within the same frame (i.e., intra prediction) or from a different frame (i.e., inter prediction) . When performing intra or inter prediction, the encoder tries multiple intra prediction modes available to the coding standard, computes and compares corresponding prediction blocks and chooses the best prediction mode. The difference between original current block and the prediction block generated by the chosen prediction mode, namely the residual, will also be coded. By transmitting prediction modes and residuals only, the encoder is able to instruct the decoder to decode and reconstruct the original image or video or its approximation.
[0042] To help comprehend the technical solutions proposed in the embodiments of this application, a brief introduction of video encoding and decoding system will be provided below. As illustrated in FIG. 1, a video encoding system 110 includes multiple modules, including block partitioning unit 1101, transform and quantization unit 1102, intra-frame estimation unit 1103, intra-frame prediction unit 1104, motion compensation unit 1105, motion estimation unit 1106, an inverse transformation and inverse quantization unit 1107, a filter control analysis unit 1108, a filtering unit 1109, an encoding unit 1110, an encoded image buffer unit 1111, and a subtractor 1112.
[0043] Original video signals comprise video frames. Each video frame can be divided into blocks by a block partitioning unit 1101. For each of the video frames, the subtractor 1112 generates residual pixel information of a residual frame by subtracting the video frame by prediction blocks output by the intra-frame prediction unit 1104 or the motion compensation unit 1105. The residual pixel information obtained after intra-frame prediction or inter-frame prediction (motion compensation) , is transformed by the transformation and quantization unit 1102. The transformation includes transforming the residual pixel information from the pixel domain to a transform domain, and the resulting transform coefficients are quantized to further reduce the bit rate. The intra-frame estimation unit 1103 performs intra-frame estimation, and the intra-frame prediction unit 1104 performs intra-frame prediction on the video reconstruction blocks. Motion estimation performed by the motion estimation unit 1106 is a process of generating a motion vector that can estimate the motion of the video reconstruction block, and then motion compensation is performed by the motion compensation unit 1105 based on the determined motion vector. After determining an intra-frame prediction mode, the intra-frame prediction unit 1104 provides selected intra-frame predicted data to the encoding unit 1110, and the motion estimation unit 1106 also sends calculated motion vector data to the encoding unit 1110. The inverse transform and inverse quantization unit 1107 reconstructs the video reconstruction blocks and reconstructs a residual block in the pixel domain, and the filtering unit 1109 is controlled by the filter analysis unit 1108 to remove the blocking artifacts in the reconstructed residual block, and the encoding unit 1110 adds the reconstructed residual block to the prediction block of the encoded image buffer unit 1111 to generate a reconstructed block. The encoding unit 1110 is used for encoding various encoding parameters and quantized transform coefficients (quantized transform coefficients) into bitstream, and outputs the bitstream of the video signals. The encoded image buffer unit 1111 is used for storing reconstructed blocks as the reference blocks for intra-frame prediction. As the video image encoding progresses, new reconstructed blocks are continuously generated, and these blocks may be stored in the encoded image buffer unit 1111.
[0044] As illustrated in FIG. 2, the video decoding system 120 may include multiple modules comprising a decoding unit 1201, an inverse transform and inverse quantization unit 1202, an intra-frame prediction unit 1203, a motion compensation unit 1204, a filtering unit 1205, a decoded image buffer unit 1206, and a post filtering unit 1207.
[0045] The input signals of video frames are encoded by the video encoding system 110 to obtain an output bitstream. The video encoding system 110 transmits the bitstream to the video decoding system 120. The video decoding system 120 receives the bitstream representing the video frames in an encoded format (i.e., in a compressed format) . In the video decoding system 120, the bitstream is processed by the decoding unit 1201 to obtain decoded transform coefficients. The inverse transform and inverse quantization unit 1202 process the transform coefficients to generate a residual block in the pixel domain. The intra-frame prediction unit 1203 is operable to generate an intra-frame prediction block for a current video decoding block based on a determined intra-frame prediction mode and data from previously decoded blocks of the current video frame or picture. The motion compensation unit 1204 determines the inter-frame prediction information for the current video decoding block and generates an inter-frame prediction block by parsing the motion vector and other associated syntax elements. Finally, the decoded video block is formed by summing the residual block from the inverse transform and inverse quantization unit 1202 and the corresponding prediction block generated by the intra-frame prediction unit 1203 or the motion compensation unit 1204. In order to improve video quality, the decoded video blocks are filtered through the filtering unit 1205 to remove blocking artifacts. The decoded video block is then stored in the decoded image buffer unit 1206 as the reference block for subsequent intra-prediction or motion compensation, and for video output, i.e., to reproduce and reconstruct the original video signals. The output video can be optionally further processed by a post filtering unit 1207 for more suitable or enhanced viewing experiences.
[0046] Some embodiments of the present disclosure relate to coding and decoding of digital images and digital image sequences. Some embodiments of the present disclosure are applicable to both intra and inter coding methods and devices. Some embodiments of the present disclosure may be applied in combination with other intra prediction methods as well as implemented as a hardware or a software module. FIG. 1 and FIG. 2 illustrate that, some embodiments of the present disclosure are mainly used for the intra-frame prediction unit 1104 of the video encoding system 110 and the intra-frame prediction unit 1203 of the video decoding system 120. If a better prediction effect can be obtained in the video encoding system 110 through the intra-frame prediction method provided by the embodiments of the present application, then the quality of video decoding and reconstruction can also be improved. The video decoding system 120 receives the bitstream representing the video frames. The bitstream includes the luma component of the video frame. The intra-frame prediction unit 1203 of the video decoding system 120 can thus obtain the luma component of the reference blocks and the luma component of the current block and calculate the Hamming difference and the weights accordingly. The intra-frame prediction unit 1203 can perform the same intra-frame prediction method as the intra-frame prediction unit 1104.
[0047] Template-based Intra Mode Derivation (TIMD) and TIMD fusion:
[0048] A template-based intra mode derivation (TIMD) method approach is proposed in JVET-V0098. The use of TIMD to implicitly derive an intra prediction mode for a current block is shown in FIG. 3 3. As depicted, the neighboring areas of the current block serve as a template. One of these areas are above the current block and the other one is to the left of the current block. A cost, denoted as template matching (TM) cost, is calculated based on a difference (e.g., Sum of Absolute Transformed Differences -SATD) between the prediction and the reconstructed samples of the template. The intra prediction mode with the minimum TM cost is selected and used for intra prediction of the Coding Unit (CU) . For each candidate intra prediction mode, prediction samples of the template are generated using the reference samples located in the reference line of template, positioned above and to the left of the template. The candidate is constructed from the most probable modes (MPM) list, and the candidate modes can be 67 intra prediction modes as in VVC or extended to the larger set of intra prediction modes (e.g., the set of 131 intra prediction modes) available to TIMD.
[0049] Instead of selecting the only one mode with the smallest TM cost, TIMD fusion was proposed to choose the first two intra prediction modes with the smallest TM costs for the intra modes derived using TIMD method and then compute a final predictor based on a weighted average of each prediction. Whether to enable TIMD fusion is based on the judgment that the costs of the two selected modes are compared with a threshold.
[0050] For example, the cost factor of 2 is applied as follows: cost2<2·cost1, where cost1 and cost2 are the TM costs of the two selected modes. If this condition is true, the fusion is applied, and the weights of the modes are computed from their TM cost as follows: w1=cost2 / (cost1+cost2) . w2=1-w1. Otherwise, the only mode1 is used as the TIMD mode.
[0051] Details can be obtained from: 1. Y. Wang, L. Zhang, K. Zhang, Z. Deng and N. Zhang, EE2-related: Template-based intra mode derivation using MPMs, document JVET-V0098, Joint Video Experts Team (JVET) , Apr. 2021.2. K. Cao, N. Hu, V. Seregin, M. Karczewicz, Y. Wang, K. Zhang, L. Zhang, EE2-related: Fusion for template-based intra mode derivation, document JVET-W0123, Joint Video Experts Team (JVET) , Jul. 2021.
[0052] Geometric Partitioning Mode (GPM) and Spatial GPM (SGPM) :
[0053] In VVC and in recent studies towards future video coding standards, several prediction modes, such as the Geometric Partitioning Mode (GPM) and Spatial GPM (SGPM) , employ line partitioning and multi predictions to generate prediction blocks. These modes divide a prediction block into two regions using a geometrically positioned straight line. The final predicted samples are obtained by weighted averaging of multiple predictions. The so-called blending means this weighted averaging occurs within a restricted area related to line partitioning.
[0054] GPM is signalled by a single Coding Unit (CU) level flag as a special merge mode. When GPM modes are used, a CU is divided into two parts by a geometrically positioned straight line, as illustrated in FIG. 4. The location of the dividing line is mathematically derived based on the angle and offset parameters specific to the chosen partition. There are 64 different partitions that can be applied in GPM. The partitions can be differentiated by a predefined number (e.g. 24) of angles that are non-uniformed distributed between 0 and 360°. Additionally, up to a predefined number (e.g. 4) of partitions can be associated with each partition angle.
[0055] If the GPM is used for the current CU, then a geometric partition index indicating the partition mode of the geometric partition (angle and offset) , and two inter prediction modes (one for each partition) are further signaled. The maximum number of the GPM partition modes is explicitly signaled.
[0056] SGPM is another intra prediction method which resembles the inter coding tool of GPM. However, while GPM can be applied to either two different inter predictions or to one inter and one intra prediction, SGPM is applied solely to two intra predictions. This intra-coding tool partitions a coding block into two parts and generates two corresponding intra prediction modes. 26 geometric partitions and 9 of intra prediction modes are used to form the combinations. Similar to GPM, when SGPM is used, a geometric partition index and two intra prediction modes also need to be encoded. However, instead of explicitly signaling these modes, a candidate list approach is adopted. The candidate list approach allows both the encoder and decoder to construct a list which includes a subset of original modes or signals and indicate a candidate through the transmitted index, thereby reducing the signaling overhead to some extent. Furthermore, while an additional signal is transmitted to indicate the blending width of GPM, the blending width of SGPM is determined based on the block size of the current block.
[0057] Obtaining candidate list by template matching (TM) based reordering:
[0058] Within SGPM, in order to reduce signaling cost of the geometric partition mode and intra prediction modes, a Templated matching (TM) based reordering strategy is applied to construct a candidate list. Firstly, an encoder / decoder goes through all possible combinations of geometric partition modes and intra prediction modes to generate predictions for each combination within the template area. A template is defined as left and above neighboring areas of current block as shown in FIG. 5. In the blending process applied to templates, a prediction is generated for the template with the partitioning line extended to the template. However, for computational simplification, the blending weights in TM are binarized (mapped into 0 or 1) . This binarization ensures that the edges on templates are clean cut while simplifying the computation process. Subsequently, the encoder / decoder calculates the SAD / SATD of the predictions on the template against the actual reconstructed samples as the TM costs. Candidates are then sorted in ascending order based on their respective TM costs, and the first sixteen candidates, having the smallest TM costs, form the candidate list. We refer to this as the partition-based candidate (PBC) list. Each candidate includes information about a geometric partition mode and two intra prediction modes. The SGPM mode index, when decoded at the decoding side, indicates the corresponding candidate from the sorted candidate list. This allows the decoder to determine a geometric partition mode and two intra prediction modes for the current block.
[0059] Within GPM, the same TM costs calculation method is applied. However, the reordering process only reorders all geometric partition modes in ascending order based on their respective TM costs. An index is signaled using the Golomb-Rice code to indicate the GPM geometric partition mode from the list of reordered geometric partition modes. Consequently, GPM geometric partition modes are not treated as equal-probable events after reordering, and a variable-length code is applied to signal the aforementioned index for each GPM geometric partition mode.
[0060] Regression-based Geometric Partitioning Mode blending (Regression-based GPM blending) :
[0061] The regression-based GPM is an additional GPM implicit mode, where the two integer blending matrices (W0 and W1) which are used to blend the predicted samples of each separated region are derived from the template (1 line above, 1 column left) .
[0062] The prediction results of current block are computed as a weighted average of the samples from two prediction blocks. Pred (x, y) = (W0·Pred0 (x, y) +W1·Pred1 (x, y) +16) >>5.
[0063] Pred0 (x, y) and Pred1 (x, y) are two prediction samples of current block, 16 and 5 are the offset and shift value respectively. And >> is the right shift operation. The blending matrices are modelled as an affine linear function of the sample positions (x, y) in the whole block as well as the areas outside the current block. The blending matrices need to be normalized first and then clipped to [1, 31] . The top-left corner of the current block may be taken as the origin with coordinates (0, 0) . The x and y coordinates increase along the horizontal and vertical directions of current block, respectively. For the template above the current block, the y coordinates are negative, and for the template to the left of the current block, the x coordinates are negative. ω1 (x, y) = a·x+b·y+c. W1=Clip3 (1, 31, (ω1 (x, y) +16) >>5) . W0=32-W1.
[0064] The model coefficients β= {a, b, c} are derived from the reference template using the Mean-Square Error (MSE) minimization solver as the one used for other prediction modes such as Convolutional Cross-Component Model (CCCM) , Gradient Linear Model (GLM) or Local Illumination Compensation (LIC) .
[0065] Where is the normalized W1, calculated by
[0066] A list of pair of candidates is built from the regular GPM candidates to derive their respective affine linear models and re-ordered according to the regression-based blending cost on the template. The regular GPM candidates list is constructed from the motion vector (MV) candidates using template matching.
[0067] In particular, this regression-based GPM mode is signaled by a CU-level flag (gpm_implicit_flag) . If gpm_implicit_flag is true, a merge-idx is coded to signal the pair of GPM candidates to be used. With the linear model derived from the reference template, blending matrices for the whole block can be calculated and then used to blend the predicted samples. If gpm_implicit_flag is false, the regular GPM syntax elements are signaled.
[0068] Details can be obtained from P. Bordes, K. Reuzé, F. Galpin, F. Urban, K. Naser, F. Le Léannec, E. Francois, EE2-2.11: Regression-based GPM blending (tests a, b, c) , document JVET-AG0112, Joint Video Experts Team (JVET) , Jan. 2024.
[0069] Decoding process of existing technologies:
[0070] In current technologies, with SGPM as an example, the decoding process of the above-mentioned prediction mode is shown in FIG. 6. FIG. 6 illustrates that, in some examples,
[0071] There may be some issues in current technologies:
[0072] Issue 1: The fusion mechanism can be more adaptive and diverse.
[0073] Although some fusion methods combine the results of multiple prediction modes as the current prediction, they basically rely on a simplistic fusion function with fixed weight across the entire block, which is location-independent. By incorporating regression-based blending, the fusion weights can adapt based on the specific location within the block. This adaptive approach allows for more precise fusion of prediction modes, enhancing the overall accuracy by accounting for location-specific differences.
[0074] On the other hand, the blending method in SGPM is specified from a predefined set of partition modes. The predefined partition and blending modes are limited. To achieve higher adaptability, more options would need to be introduced, which increases complexity and signaling overhead. Hence there is a need to reduce the explicit partitioning line information.
[0075] Issue 2: Codeword length redundancy in encoding the candidate index for SGPM:
[0076] After the template matching-based reordering operation, an index to the candidate list is coded to indicate which combination of geometric partition mode and two intra prediction modes is used in predicting current block. However, the index is encoded by truncated binary code. When the length of the candidate list is an integer power of 2, it becomes equivalent to an equiprobable binary code. This results in the reordered candidate indices having the same codeword lengths, but the top one or few candidates often have higher selection probabilities. Using fixed-length encoding in this scenario can cause some encoding redundancy.
[0077] Some ideas behind of some embodiments of the present disclosure are to introduce regression-based blending methods to SGPM to derive the blending weights, or to introduce them into prediction modes with fusion model to derive the fusion weights. Further update the codeword of the candidate index to reduce the signaling overhead. Firstly, some embodiments of the present disclosure propose to involve regression-based blending methods for SGPM or other fusion prediction modes. These regression-based blending methods remove the need to specify the partitioning line but instead derive the blending weights matrices from the templates of the current block. By doing so, they enhance the encoder's ability to generate a prediction mode that provides a closer match of the original block, which can generate a more accurate prediction signal and lower the bitrate of the coded stream. Secondly, some technical benefits in some embodiments of the present disclosure further include eliminating redundancy caused by fixed-length encoding for the candidate index within the SGPM candidate list. This leads to an improvement in the coding efficiency.
[0078] Some embodiments of the disclosure propose a prediction method, a video coder, and an apparatus, which can solve issues in the prior art and / or other issues, and / or can be used in many applications. The at least one proposed solution, method, system, and apparatus of some embodiments of the present disclosure may be used for current and / or new / future coding standards, especially for video coding standard. Compatible products follow at least one proposed solution, method, system, and apparatus of some embodiments of the present disclosure. The proposed solution, method, system, and apparatus are widely used in the video coding related products. With the implementation of the at least one proposed solution, method, system, and apparatus of some embodiments of the present disclosure, at least one modification to a prediction method, a video coder, and an apparatus are considered for standardizing.
[0079] Technical solutions:
[0080] Some embodiments of the present disclosure propose to involve regression-based blending methods for SGPM blending or other fusion prediction modes. For methods that require fusion of multiple prediction modes or employ bi-prediction blending operation, this invention generates corresponding regression-based blending candidates (RBC) for the combinations of prediction modes.
[0081] To accommodate different prediction modes, at least one of the following modifications for generating regression-based blending candidates can be included:
[0082] Derivation of RBC list. Details are described in Embodiment 1.
[0083] Selection range of prediction modes for RBC derivation. Details are described in Embodiment 1.1.
[0084] Modifying the blending model of RBC. Details are described in Embodiment 1.2.
[0085] There are at least 3 options of how to involve regression-based blending methods to generate predictions:
[0086] Option 1: Expand the capacity of the current candidate list by including RBC as an optional candidate mode. Whether to use regression-based blending for prediction is indicated by the specific candidate index. The detail solution reference to some following solutions.
[0087] Option 2: Consider RBC as an independent mode. When RBC is enabled, further obtain the signals related to RBC and use them for prediction. Otherwise, the regular fusion or blending mode will be applied. The detail solution reference to some following solutions.
[0088] Option 3: Replace the regular fusion or blending mode with RBC. Perform regression-based blending to obtain the blending / fusion result. The detail solution reference to some following solutions.
[0089] The following solutions may include applying regression-based blending methods in various prediction modes for video coding:
[0090] Fusion of luma or chroma samples with intra prediction: TIMD fusion, Intra prediction fusion, chroma intra prediction mode fusion.
[0091] Fusion of luma or chroma samples with inter prediction: IBC-CIIP.
[0092] Generation of blending weights for predicting luma or chroma samples with bi-prediction methods: geometric partitioning mode blending, spatial geometric partitioning mode.
[0093] Some embodiments of the present disclosure may be used in various codecs, including proprietary ones, and standardized video coding solutions (e.g., MPEG / ISO / IEC, AOM, AVS) .
[0094] Particular solutions could be obtained by applying one or several embodiments to a selected video codec. Combination of embodiments also could be applied into a selected video coding framework.
[0095] Solution 1: SGPM candidate list with regression-based blending:
[0096] FIG. 7A is a flowchart illustrating a prediction method applied to a video coder according to an embodiment of the present application. The prediction method 700A is configured to implement some embodiments of the disclosure. Some embodiments of the disclosure may be implemented into the prediction method 700A using any suitably configured hardware and / or software. In some embodiments, the prediction method 700A includes: an operation 701A, determining whether a regression-based blending is available in a spatial geometric partitioning mode (SGPM) mode; an operation 702A, obtaining a first candidate list; and an operation 703A, generating a prediction block for a current block based on a blending mode, wherein the blending mode is determined by the first candidate list, and the blending mode comprises a partition-based blending mode or a regression-based blending mode. This can provide at least one improvement for video coding and / or can be used in many applications.
[0097] The decoding process including the regression-based blending, applied to SGPM as an example, is shown in FIG. 7B. FIG. 7B illustrates some operations as followings.
[0098] In Operation 3101, the SGPM candidate index is decoded from the bitstream. This index in the existing method is used to indicate the corresponding candidate from the sorted PBC list, but here it is used to indicate the corresponding candidate from the combined candidate list.
[0099] In Operation 3102, the RBC list is derived from several combinations of prediction modes on the template. Details are described in Embodiment 1.
[0100] In Operation 3103, the PBC list is derived by TM based reordering. Details are described in some embodiments. It is worth noting that Operation 3102 and Operation 3103 do not have a strict order. The execution order can be changed.
[0101] In Operation 3104, the RBC list and the PBC list are combined into a single list. Details are described in Embodiment 2.
[0102] In Operation 3105, the corresponding candidate from the combined candidate list can be retrieved using the decoded SGPM candidate index. Then it can extract the two intra prediction modes associated with the retrieved candidate, and generate two intra prediction blocks according to the respective intra prediction modes.
[0103] In Operation 3106, the final prediction block for the current block is generated by weighted combining the two prediction blocks based on the partition blending mode or regression-based blending mode. The two blending modes, can be referred to in some embodiments.
[0104] Key aspects of the decoding procedures in some embodiments of the present disclosure may include at least one of the followings:
[0105] Obtain the combined candidate list, which includes the following operations.
[0106] Derive an RBC list where the model coefficients are derived from the template. Each element in the RBC list contains a combination of intra prediction modes and a set of model coefficients. Details are described in Embodiment 1.
[0107] Derive a PBC list by TM based reordering. Details are described in some embodiments and Embodiment 2.
[0108] Combine the RBC list and the PBC list into a single list. Details are described in Embodiment 2.
[0109] Generate the final prediction block for the current block based on the original partition-based blending mode or regression-based blending mode, as determined by the specific mode in the combined list, which is indicated by SGPM candidate index.
[0110] Solution 2: : Selection between PBC and RBC based on signaling:
[0111] FIG. 8A is a flowchart illustrating a prediction method applied to a video coder according to an embodiment of the present application. The prediction method 800A is configured to implement some embodiments of the disclosure. Some embodiments of the disclosure may be implemented into the prediction method 800A using any suitably configured hardware and / or software. In some embodiments, the prediction method 800A includes: an operation 801A, determining whether a regression-based blending is available in a spatial geometric partitioning mode (SGPM) mode; an operation 802A, decoding a regression-based flag; an operation 803A, decoding a candidate index for a candidate list, wherein the candidate index for the candidate list indicates whether a partition-based candidate list or a regression-based blending candidate list is based on the regression-based flag; and an operation 804A, determining if the regression-based blending is enabled for a current block. This can provide at least one improvement for video coding and / or can be used in many applications.
[0112] The decoding process which considers RBC as an independent mode, with SGPM as an example, is shown in FIG. 8B. FIG. 8B illustrates some operations as followings.
[0113] In Operation 3201, the regression-based flag is decoded from the bitstream. In an alternative solution, instead of decoding performed in operation 3201, the regression-based flag can also be derived from several parameters. Details are described in Embodiment 3 and Embodiment 4. This flag is used to decide whether regression-based blending is available in SGPM mode.
[0114] In Operation 3202, the specific candidate index is decoded from the bitstream. Whether it is used to indicate the PBC list or the RBC list is based on the regression-based flag. Details are described in Embodiment 3.
[0115] In Operation 3203, it determines whether regression-based blending is enabled for the current block based on the regression-based flag. If it is, perform Operation 3204; otherwise, perform Operation 3214.
[0116] Operation 3204 can be referred to Operation 3102.
[0117] Operation 3214 can be referred to Operation 3103.
[0118] Operation 3205 can be referred to Operation 3105.
[0119] Operation 3206 can be referred to Operation 3106.
[0120] Key aspects of the decoding procedures may include at least one of the followings:
[0121] Decide whether regression-based blending is available in SGPM mode. Details are described in Embodiment 3 and Embodiment 4.
[0122] Decode the candidate index for the PBC list or the RBC list based on the regression-based flag. Details are described in Embodiment 3 and Embodiment 4.
[0123] If regression-based blending is enabled for current block, perform RBC derivation where the model coefficients are derived from the adjacent luma or chroma samples (the template) . Each element in the RBC list contains a combination of intra prediction modes and a set of model coefficients. Details are described in Embodiment 1.
[0124] If regression-based blending is enabled for current block, generate the final prediction block for the current block based on the selected RBC.
[0125] Solution 3: TIMD with regression-based blending:
[0126] FIG. 9A is a flowchart illustrating a prediction method applied to a video coder according to an embodiment of the present application. The prediction method 900A is configured to implement some embodiments of the disclosure. Some embodiments of the disclosure may be implemented into the prediction method 900A using any suitably configured hardware and / or software. In some embodiments, the prediction method 900A includes: an operation 901A, determining whether a template-based intra mode derivation (TIMD) fusion is applied; an operation 902A, if the TIMD fusion is enabled for a current block, deriving a regression- based blending candidate list; and an operation 903A, generating a prediction block for the current block based on the regression-based blending candidate list. This can provide at least one improvement for video coding and / or can be used in many applications.
[0127] In some embodiments, determining whether a regression-based blending is available in a TIMD mode; and deriving the TIMD mode form most probable modes (MPMs) . In some embodiments, if the TIMD fusion is disabled, selecting an intra predication mode with a minimum template cost for intra predication. In some embodiments, generating the prediction block for the current block based on the regression-based blending candidate list comprises: predicting a first current block using a partition-based blending mode; predicting a second current block using a regression-based blending mode; and fusing the first current block and the second current block based on the regression-based blending candidate list.
[0128] The decoding process which replaces the regular fusion or blending mode with RBC, with TIMD as an example, is shown in FIG. 9B. FIG. 9B illustrates some operations as followings.
[0129] Key aspects of the decoding procedures may include at least one of followings.
[0130] Check whether the fusion is applied. Here, the judgment condition of TIMD fusion can be used. Details are described in some embodiments.
[0131] If TIMD fusion is enabled for current block, perform RBC derivation where the model coefficients are derived from the template. The only RBC contains a combination of two selected intra prediction modes and a set of model coefficients. Details are described in Embodiment 1.
[0132] Generate the final prediction block for the current block based on the RBC.
[0133] Solution 4: Codeword designed for SGPM:
[0134] FIG. 10A is a flowchart illustrating a prediction method applied to a video coder according to an embodiment of the present application. The prediction method 1000A is configured to implement some embodiments of the disclosure. Some embodiments of the disclosure may be implemented into the prediction method 1000A using any suitably configured hardware and / or software. In some embodiments, the prediction method 1000A includes: an operation 1001A, dividing a candidate index into a plurality of groups; and an operation 1002A, encoding the plurality of groups with different coding methods, wherein for a first group of the candidate index, using a context-based code, a binary code, a unary code, or Golomb code, and for a second group of the candidate index, using a truncated binary code. This can provide at least one improvement for video coding and / or can be used in many applications.
[0135] The codeword for signaling the SGPM candidate index is redesigned, and is not limited to the SGPM candidate index. It can also be applied to other candidate index signaling methods that use an equal probability coding method.
[0136] In some embodiments, the first group of the candidate index are most probable indices. In some embodiments, the method further comprises using at least one binarized value coding with context to determine one group. In some embodiments, the first group of the candidate index or the second group of the candidate index contains zero or more elements.
[0137] At the current stage, the whole set of SGPM candidates is sorted based on the TM cost and the final sorted candidates list comprises the first 16 elements of this list. Instead of using an equal probability coding method like truncated binary code to encode the candidate index, this invention divides the indices into two groups and encodes them with different coding methods. Specifically, for the most probable indices, context-based coding can be used, and for the second group of indices, truncated binary coding is used. Details are described in Embodiment 5.
[0138] Embodiment 1: RBC list derivation:
[0139] In some embodiments, the candidate list comprises a regression-based blending candidate list or a partition-based candidate list. In some embodiments, if the regression-based blending is enabled for the current block, deriving the regression-based blending candidate list. In some embodiments, wherein model coefficients in the regression-based blending candidate list are derived from a template. In some embodiments, each element in the regression-based blending candidate list contains a combination of a plurality of prediction modes and a set of model coefficients.
[0140] In some embodiments, if the regression-based blending is disabled for the current block, deriving the partition-based blending candidate list. In some embodiments, the method further comprises generating a prediction block for a current block based on a blending mode, wherein the blending mode is determined by the candidate list. In some embodiments, generating the prediction block for the current block based on the blending mode further comprises: blending results of a plurality of intra prediction modes (IPMs) , block vector-based prediction modes, or inter prediction modes using either a partition-based blending method or a regression-based blending method.
[0141] In some embodiments, model coefficients in the regression-based blending candidate list are derived from a template. In some embodiments, each element in the regression-based blending candidate list contains a combination of a plurality of prediction modes and a set of model coefficients. In the current design of regression-based GPM blending, the RBC list is derived from the regular GPM candidates and re-ordered based on the regression-based blending cost on the template. Each RBC in the list includes a combination of two intra / inter prediction modes and a set of model coefficients for an affine linear function. These combinations are constructed from the regular GPM candidates.
[0142] As proposed in this invention, several combinations of some prediction modes are used to obtain the RBC list. Each element in the RBC list contains a combination of multiple intra / inter prediction modes and a set of model coefficients of an affine linear or nonlinear function.
[0143] In the following embodiments, the specific operations to obtain the RBC list are introduced first, followed by the selection range of prediction modes for RBC derivation and an optional scheme for generating RBC with nonlinear terms and / or interaction terms. The specific operations to obtain the RBC list are as follows:
[0144] Operation 1: Regression model derivation:
[0145] The model coefficients of a specific combination of prediction modes can be derived from the reference template, as done in the prior art.
[0146] Operation 2: Template cost calculation:
[0147] Apply multiple regression models to template, and calculate costs for each choice. The cost of each regression model in template is defined as a difference metric computed between the prediction values and the reconstructed samples in the template. The prediction values for each regression model are obtained by a weighted average of two intra prediction blocks on the template area.
[0148] One can use various types of metrics as a difference metric, including SATD, SSE, SAD, MSE or other relevant quality assessment metric.
[0149] Operation 3: Reordering and truncation of candidates:
[0150] Sort the candidates based on template cost in ascending order to identify the most probable and less probable indices. The sorted list is then truncated, and the top N items are used as the final RBC list (N is a pre-defined positive number) .
[0151] Embodiment 1.1: Selection range of prediction modes for RBC derivation:
[0152] The selection range of prediction modes for RBC derivation can either be the combinations of prediction modes which are already calculated by the existing blending or fusion methods, or it can be a wider range of available prediction modes.
[0153] A combination of multiple intra or inter prediction modes can be the intra prediction modes (IPMs) , block vector-based prediction modes such as intra block copy (IBC) modes, Intra template matching prediction (IntraTMP) modes or inter prediction modes from the merge candidate list. The number of the multiple prediction modes can either be a fixed value or be derived from the decoded video information.
[0154] For example, a combination of two intra prediction modes for RBC derivation is built from the regular SGPM candidate list. In other words, it is built from the combinations of prediction modes in PBC. Since RBC derivation for GPM is built from the regular GPM candidate list, which contains several sets of inter prediction modes from the merge candidate list, the most straightforward approach for introducing RBC to SGPM is also to build it from the regular SGPM candidate list.
[0155] For example, a combination of two intra prediction modes for RBC derivation is the first two intra prediction modes with the smallest TM costs for the intra modes derived using TIMD method.
[0156] For another example, a combination of two intra prediction modes for RBC derivation is built from the IPM candidate list and the block vector-based candidate list. In some embodiments, a specific process is shown detailing how to traverse the IPM candidate list and the block vector-based candidate list to select two intra prediction modes for RBC derivation.
[0157] It first iterates through possible geometric partitions. For each geometric partition, it loops through indices of prediction modes to retrieve mode pairs (mode0 and mode1) . If the modes are identical or already processed, it continues to the next pair. Otherwise, it marks the modes as calculated and stores the prediction results into memory buffers pointed by pointers pBuf0 and pBuf1. The next operation is to perform IBC prediction or intra prediction based on the mode type. If the modes are block vector-based prediction modes, it retrieves the corresponding motion vectors of the template area. If the modes are intra prediction modes, the regular intra prediction results in the template are calculated. The regression model derivation process is based on pBuf0 and pBuf1. The derived RBC can be used to form the RBC list. The process continues iteratively for all mode pairs and split directions.
[0158] Embodiment 1.2: RBC with nonlinear terms and / or the interaction term:
[0159] The blending matrices of RBC can be modelled as an affine linear function, as done in the prior art.
[0160] The blending matrices can also be modelled with the nonlinear terms and / or the interaction term, since the relationship between the blending matrices and the sample positions may not be strictly linear. Geometrically, the inclusion of the nonlinear terms can transform the distribution of the weight amplitude. Without the nonlinear terms, the distribution of the weight is a plane. With the nonlinear terms, the distribution of the weight can become a hyperbolic paraboloid or a saddle shape, depending on the sign and magnitude of the coefficient.
[0161] For example, the blending matrices can be modelled as: ω1 (x, y) =a·x+b·y+c·P (x) +d·P (y) +e.
[0162] The nonlinear term P (·) is represented as power of two of the corresponding sample position, meaning that for each sample position (x) , the term P (x) is calculated as x2.
[0163] For another example, the blending matrices can be modelled as: ω1 (x, y) = a·x+b·y+c·xy+d.
[0164] Where xy is the interaction term, which is included to account for the combined effect of the two coordinates of the sample position.
[0165] The blending matrices can also be computed by an affine linear function of not only the sample positions (x, y) , but also the multiple prediction samples in the current block as well as the areas outside the current block.
[0166] For example, the blending matrices can be modelled as: ω1 (x, y, Pred0 (x, y) , Pred1 (x, y) ) =a·x+b·y+c·Pred0 (x, y) +d·Pred1 (x, y) +e.
[0167] Where Pred0 (x, y) and Pred1 (x, y) are the prediction samples.
[0168] Model coefficients: The model coefficients are a set of constants included in the affine linear function or nonlinear functions of the blending matrices. These model coefficients are derived from the reference template. Details of the derivation are described in the below operation.
[0169] For example, the model coefficients can be β= {a, b, c} , corresponding to an affine linear function represented as a·x+b·y+c.
[0170] For another example, the model coefficients can be β= {a, b, c, d, e} , corresponding to a nonlinear function represented as a·x+b·y+c·P (x) +d·P (y) +e.
[0171] Model clipping: The values in the computed blending matrices can be further clipped to a certain range. The certain range can be determined by the codec’s profile level or derived from the decoded video information.
[0172] For example, the values in the computed blending matrices are clipped to [0, 32] .
[0173] Embodiment 2: The way to combine two candidates lists:
[0174] This embodiment introduces how to combine the two candidate lists into a single list, so that the corresponding prediction mode can be indicated by a single index. The methods included are as follows:
[0175] Construct PBC list. The PBC list could be constructed with candidates without blending, as done in the prior art, referenced in some embodiments. Another approach is that the PBC list could be re-ordered before combining with the RBC. The newly created PBC list is generated from candidates with and without blending and then re-ordered following the ascending order of their TM costs. The way to generate PBC without blending can be referenced in some embodiments. The way to generate PBC with blending is to apply the traditional blending process to templates where the blending weights in TM are not binarized. The PBC list assigns TM cost of each candidate as minimum of TM costs for blending and no-blending.
[0176] Sort according to the template cost. Sort the elements from the two candidate lists to form a combined candidate list, following the ascending order of their respective template costs (or TM costs) . The way to calculate TM cost of PBC can be referenced in some embodiments. Optionally, the PBC list could be re-ordered followed the method above. For example, in SGPM, the first candidate list (PBC list) comprises 16 candidates, each of which can have its respective TM cost. The second candidate list (RBC list) comprises 4 candidates, each of which can also have its respective template cost calculated as described in Embodiment 1. Therefore, a combined candidate list can be obtained by sorting the candidates according to their respective costs. In some embodiments, a combined candidate list is shown where the RBC list and PBC list are sorted in ascending order.
[0177] A combined list can be seen as a data structure sorted according to template costs (or TM costs) . Each time an element is obtained from the PBC or RBC, it is inserted into the combined candidate list based on its cost. Alternatively, after obtaining the sorted PBC list and sorted RBC list, both lists can be traversed simultaneously, and each element can be inserted into the combined candidate list based on its cost.
[0178] Concatenate in a certain sequence. This method concatenates the two candidate lists into a combined list in a fixed order. The order of appearance of the two candidate lists in the combined list can be determined by the codec profile level or derived from codec configuration. For example, in SGPM, elements from RBC appear first, followed by elements from PBC, in the combined list. In some embodiments, a combined list is shown where the RBC list and PBC list are concatenated. The number of elements in the RBC list and PBC list are 4 and 16, respectively.
[0179] A combined list can be seen as a data structure that fills its first M elements with selections from one of the two candidate lists based on a given order, and then fills its next N elements with selections from the other candidate list. In this example, elements from the RBC list appear first, followed by elements from the PBC list. The values of M and N are 4 and 16, respectively, making the total length of the combined list 20.
[0180] The combined list formed in the above manners (sorted or concatenated) can be used as the final candidate list, or it can be truncated to the first few candidates to serve as the final candidate list, depending on the settings.
[0181] The specific number of elements in the two candidate lists can be determined by one of the following methods:
[0182] Operation regarding derived from codec configuration.
[0183] For example, the number of elements in RBC list is fixed. It is specified as exactly four (4) . And number of elements in PBC list is fixed. It is specified as exactly sixteen (16) .
[0184] Operation regarding derived from codec profile.
[0185] For example, the number of elements in RBC list and PBC list are determined by the codec’s profile level.
[0186] Operation regarding determined by block size, such as number of samples, block width / height, minimum block dimension and / or maximum block dimension.
[0187] The specific number of elements in the two candidate lists is set to pre-defined values, when the block size meets specific criteria related to its dimensions.
[0188] For example, if the block has a maximum block dimension of 8 luma pixels, the number of elements in RBC list is set to two (2) and number of elements in PBC list is set to sixteen (16) ; otherwise, the number of elements in RBC list is set to four (4) . And number of elements in PBC list is set to sixteen (16) .
[0189] Table 1: Elements in RBC list:
[0190] As another example, if the block has not more than 64 samples, the number of elements in RBC list is set to one (1) and number of elements in PBC list is set to sixteen (16) ; otherwise, the number of elements in RBC list is set to four (4) . And number of elements in PBC list is set to sixteen (16) .
[0191] Table 2: Elements in RBC list:
[0192] Embodiment 3: Selection between the two candidate lists based on the signaling:
[0193] In some embodiments, the partition-based candidate list is derived by a template matching (TM) based reordering. In some embodiments, the method further comprises decoding a SPGM candidate index. In some embodiments, the blending mode is indicated by the SGPM candidate index. In some embodiments, generating the prediction block for the current block based on the blending mode further comprises: blending results of a plurality of intra prediction modes (IPMs) , block vector-based prediction modes, or inter prediction modes using either a partition-based blending method or a regression-based blending method.
[0194] In some embodiments, obtaining the first candidate list comprises: deriving a regression-based blending candidate list; deriving a partition-based candidate list; and combining the regression-based blending candidate list and the partition-based candidate list to obtain the first candidate list.
[0195] Signaled regression-based flag: A control flag that indicates if regression-based blending is enabled for current block. The control flag can be signaled at block, slice, picture or group of picture level (e.g. in slice header) . For example, the regression-based flag is only signaled at the CU-level when a CU is coded by SGPM mode. This flag can be a binary signal and can be encoded using context-based coding.
[0196] At the encoding side, the regression-based flag is determined through a rate-distortion cost (RD-cost) comparison. First, each candidate in the two candidate lists is estimated for its RD-cost. Then, the mode candidate that provides the minimum RD-cost is selected. The flag is enabled or not based on which candidate list the final selected mode comes from.
[0197] In FIG. 13, for example, if one regression-based model is selected by the RD-cost comparison of the current block, the regression-based flag would be true; otherwise, the regression-based flag would be false.
[0198] Once a certain mode is selected, the candidate index of its corresponding candidate list will be further encoded.
[0199] For example, if one regression-based model, M3, is selected by the R-D comparison of the current block, its corresponding candidate index “3” will be further encoded.
[0200] At the decoding side, the regression-based flag is obtained by decoding the bitstream. The flag will determine which candidate list is used for selecting the final prediction mode.
[0201] In FIG. 14, for example, if the decoded regression-based flag for the current block is true, the RBC list is used; otherwise, the PBC list is used.
[0202] Once a certain candidate list is selected, its corresponding candidate index will be further decoded.
[0203] Embodiment 4: Selection between the two candidate lists based on the derivation
[0204] Derived regression-based flag: A control flag that indicates if regression-based blending is enabled for current block. At least one of the following factors can be used for deciding whether the control flag is true.
[0205] Block size or sample size. The regression-based flag is made available to either all or certain block sizes or sample sizes. The regression-based flag can be true when the block size meets specific criteria related to its dimensions.
[0206] For example, if the block has a minimum block dimension of 8 luma pixels and / or a maximum block dimension of 64 luma pixels, the regression-based flag is true; otherwise, the flag is false.
[0207] For example, if the block has a larger-to-smaller dimensions ratio that is smaller or equal to 4, the regression-based flag is true; otherwise, the flag is false.
[0208] For example, if the block consists of a square shape with equal dimensions, the regression-based flag is true; otherwise, the flag is false.
[0209] For example, if the block has more than 64 samples, the regression-based flag is true; otherwise, the flag is false.
[0210] Prediction mode. The regression-based flag is made available if the multiple prediction modes are either all or a subset containing at least one of the prediction modes: 1) regular intra prediction mode 2) IBC mode.
[0211] For example, if the multiple prediction modes are regular intra prediction mode, then the regression-based flag is true; otherwise, the flag is false.
[0212] For example, if the multiple prediction modes are, or if one of them is, the IBC mode, the regression-based flag is true; otherwise, the flag is false.
[0213] Different prediction modes (e.g., intra-prediction modes, IBC modes) have varying characteristics and efficiencies. Applying regression-based blending selectively can maximize its benefits.
[0214] Template matching (TM) cost. The regression-based flag is derived from the TM cost.
[0215] For example, the minimal TM costs of the two candidate lists are compared with a threshold. If the minimal TM cost of RBC is less than the minimal TM cost of PBC multiplied by a predefined threshold, then the regression-based flag is true; otherwise, the flag is false.
[0216] For example, the average TM costs of the two candidate lists are compared with a threshold. If the average TM cost of RBC is less than the average TM cost of PBC multiplied by a predefined threshold, then the regression-based flag is true; otherwise, the flag is false.
[0217] Features of the template samples. The regression-based flag is derived from the features of the samples in the template. The samples can be either predicted samples or reconstructed samples.
[0218] For example, if the gradient of the samples in the template is greater than a certain threshold, the regression-based flag is true; otherwise, the flag is false.
[0219] For example, if the differences between the first and last predicted samples calculated by PBC lists is less than a predefined threshold, the regression-based flag is true; otherwise, the flag is false. The differences can usually be determined as a sum of absolute differences of the samples.
[0220] At both the encoding and decoding sides, the regression-based flag can be derived from the aforementioned conditions. The flag will determine which candidate list is used for selecting the final prediction mode.
[0221] For example, if the decoded regression-based flag for the current block is true, the RBC list is used; otherwise, the PBC list is used.
[0222] Once a certain candidate list is selected, its corresponding candidate index will be further decoded.
[0223] Embodiment 5: Coding method for candidate index
[0224] The key approach is to divide the candidate index into multiple groups. For the most probable indices, use binary, unary, or (exp-) Golomb codes. For the second group of indices, use truncated binary codes. At least one binarized value coding with context is used to decide which group of indices the candidate belongs to. Additionally, the multiple groups of candidate indices may contain zero or more elements.
[0225] In this embodiment, the bins after binarization of the candidate index are compressed with one context (probability model) . And the binarization method may be but not limited to truncated binary, binary, unary, truncated rice and exp-Golomb code.
[0226] Table 3: One context for the candidate index coding with the length of candidate list equals to 16:
[0227] In FIG. 15, in some embodiments, the bins after binarization of the candidate index are compressed with two contexts (probability model) . And the binarization method may be but not limited to truncated binary, binary, unary, truncated rice and exp-Golomb code. The code word can also adaptively change based on the different lengths of the candidate list. For example, for a candidate list length of 20, the code word with two contexts "00 + truncated binary code" is used to encode the candidate indices 0, 1, 2, and 4, while for a candidate list length of 18, it is used to encode the candidate indices 0-3.
[0228] Table 4: Two contexts for the candidate index coding:
[0229] In FIG. 16, in some embodiments, the bins after binarization of the candidate index are compressed with three contexts (probability model) . And the binarization method may be but not limited to truncated binary, binary, unary, truncated rice and exp-Golomb code.
[0230] Table 5: Three contexts for the candidate index coding:
[0231] In FIG. 17, in some embodiments, the bins after binarization of the candidate index are compressed with four contexts. And the binarization method may be but not limited to truncated binary, binary, unary, truncated rice and exp-Golomb code.
[0232] Table 6: Four contexts for the candidate index coding with the length of candidate list equals to 16:
[0233] In FIG. 18, in some embodiments, the bins after binarization of the candidate index are compressed with four contexts. And the binarization method may be but not limited to truncated binary, binary, unary, truncated rice and exp-Golomb code.
[0234] Table 7: Four contexts for the candidate index coding with the length of candidate list equals to 20:
[0235] FIG. 19 illustrates an example of a video coder 1900 according to an embodiment of the present disclosure. The video coder 1900 is configured to implement some embodiments of the disclosure. Some embodiments of the disclosure may be implemented into the video coder 1900 using any suitably configured hardware and / or software. The video coder 1900 may include a memory 1901, a transceiver 1902, and a processor 1903 coupled to the memory 1901 and the transceiver 1902. The processor 1903 may be configured to implement proposed functions, procedures and / or methods described in this description. Layers of radio interface protocol may be implemented in the processor 1903. The memory 1901 is operatively coupled with the processor 1903 and stores a variety of information to operate the processor 1903. The transceiver 1902 is operatively coupled with the processor 1903, and the transceiver 1902 transmits and / or receives a radio signal. The processor 1903 may include application-specific integrated circuit (ASIC) , other chipset, logic circuit and / or data processing device. The memory 1901 may include read-only memory (ROM) , random access memory (RAM) , flash memory, memory card, storage medium and / or other storage device. The transceiver 1902 may include baseband circuitry to process radio frequency signals. When the embodiments are implemented in software, the techniques described herein can be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. The modules can be stored in the memory 1901 and executed by the processor 1903. The memory 1901 can be implemented within the processor 1903 or external to the processor 1903 in which case those can be communicatively coupled to the processor 1903 via various means as is known in the art.
[0236] In some embodiments, the processor 703 is configured to is configured to perform the above prediction method. In some embodiments, a prediction method applied to a video coder includes determining whether a regression-based blending is available in a spatial geometric partitioning mode (SGPM) mode; obtaining a first candidate list; and generating a prediction block for a current block based on a blending mode, wherein the blending mode is determined by the first candidate list, and the blending mode comprises a partition-based blending mode or a regression-based blending mode.
[0237] In some embodiments, obtaining the first candidate list comprises: deriving a regression-based blending candidate list; deriving a partition-based candidate list; and combining the regression-based blending candidate list and the partition-based candidate list to obtain the first candidate list. In some embodiments, model coefficients in the regression-based blending candidate list are derived from a template. In some embodiments, each element in the regression-based blending candidate list contains a combination of a plurality of prediction modes and a set of model coefficients. In some embodiments, the partition-based candidate list is derived by a template matching (TM) based reordering.
[0238] In some embodiments, the method further comprises decoding a SPGM candidate index. In some embodiments, the blending mode is indicated by the SGPM candidate index. In some embodiments, generating the prediction block for the current block based on the blending mode further comprises: blending results of a plurality of intra prediction modes (IPMs) , block vector-based prediction modes, or inter prediction modes using either a partition-based blending method or a regression-based blending method.
[0239] In some embodiments, a prediction method applied to a video coder includes determining whether a regression-based blending is available in a spatial geometric partitioning mode (SGPM) mode; decoding a regression-based flag; decoding a candidate index for a candidate list, wherein the candidate index for the candidate list indicates whether a partition-based candidate list or a regression-based blending candidate list is based on the regression-based flag; and determining if the regression-based blending is enabled for a current block.
[0240] In some embodiments, the candidate list comprises a regression-based blending candidate list or a partition-based candidate list. In some embodiments, if the regression-based blending is enabled for the current block, deriving the regression-based blending candidate list. In some embodiments, model coefficients in the regression-based blending candidate list are derived from a template. In some embodiments, each element in the regression-based blending candidate list contains a combination of a plurality of prediction modes and a set of model coefficients. In some embodiments, if the regression-based blending is disabled for the current block, deriving the partition-based blending candidate list.
[0241] In some embodiments, the method further comprises generating a prediction block for a current block based on a blending mode, wherein the blending mode is determined by the candidate list. In some embodiments, generating the prediction block for the current block based on the blending mode further comprises: blending results of a plurality of intra prediction modes (IPMs) , block vector-based prediction modes, or inter prediction modes using either a partition-based blending method or a regression-based blending method.
[0242] In some embodiments, a prediction method applied to a video coder includes determining whether a template-based intra mode derivation (TIMD) fusion is applied; if the TIMD fusion is enabled for a current block, deriving a regression-based blending candidate list; and generating a prediction block for the current block based on the regression-based blending candidate list.
[0243] In some embodiments, model coefficients in the regression-based blending candidate list are derived from a template. In some embodiments, each element in the regression-based blending candidate list contains a combination of a plurality of prediction modes and a set of model coefficients. In some embodiments, the method further comprises determining whether a regression-based blending is available in a TIMD mode and deriving the TIMD mode form most probable modes (MPMs) . In some embodiments, if the TIMD fusion is disabled, selecting an intra predication mode with a minimum template cost for intra predication. In some embodiments, generating the prediction block for the current block based on the regression-based blending candidate list comprises: predicting a first current block using a partition-based blending mode; predicting a second current block using a regression-based blending mode; and fusing the first current block and the second current block based on the regression-based blending candidate list.
[0244] In some embodiments, a prediction method applied to a video coder includes dividing a candidate index into a plurality of groups; encoding the plurality of groups with different coding methods, wherein for a first group of the candidate index, using a context-based code, a binary code, a unary code, or Golomb code, and for a second group of the candidate index, using a truncated binary code.
[0245] In some embodiments, the first group of the candidate index are most probable indices. In some embodiments, the method further comprises using at least one binarized value coding with context to determine one group. In some embodiments, the first group of the candidate index or the second group of the candidate index contains zero or more elements.
[0246] Commercial interests for some embodiments are as follows. 1. Providing at least one improvement for video coding. 2. Solving issues in the prior arts and / or other issues. 3. Some embodiments of the present disclosure can be used in many applications. 4. Some embodiments of the present disclosure are used by chipset vendors, video system development vendors, automakers including cars, trains, trucks, buses, bicycles, moto-bikes, helmets, and etc., drones (unmanned aerial vehicles) , smartphone makers, communication devices for public safety use, AR / VR / MR device maker for example gaming, conference / seminar, education purposes. Some embodiments of the present disclosure are a combination of “techniques / processes” that can be adopted in video standards to create an end product. Some embodiments of the present disclosure propose technical mechanisms. The at least one proposed solution, method, system, and apparatus of some embodiments of the present disclosure may be used for current and / or new / future G-PCC coding standards, especially for audio video coding standard (AVS) GPCC (GPCC refers to G-PCC) . Compatible products follow at least one proposed solution, method, system, and apparatus of some embodiments of the present disclosure. The proposed solution, method, system, and apparatus of some embodiments of the present disclosure are widely used in the G-PCC related products.
[0247] FIG. 20 is an example of a computing device 1500 according to an embodiment of the present disclosure. Any suitable computing device can be used for performing the operations described herein. For example, FIG. 20 illustrates an example of the computing device 1500 that can implement some embodiments of FIG. 1 to FIG. 19 using any suitably configured hardware and / or software. In some embodiments, the computing device 1500 can include a processor 1512 that is communicatively coupled to a memory 1514 and that executes computer-executable program code and / or accesses information stored in the memory 1514. The processor 1512 may include a microprocessor, an application-specific integrated circuit ( “ASIC” ) , a state machine, or other processing device. The processor 1512 can include any of a number of processing devices, including one. Such a processor can include or may be in communication with a computer-readable medium storing instructions that, when executed by the processor 1512, cause the processor to perform the operations described herein.
[0248] The memory 1514 can include any suitable non-transitory computer-readable medium. The computer-readable medium can include any electronic, optical, magnetic, or other storage device capable of providing a processor with computer-readable instructions or other program code. Non-limiting examples of a computer-readable medium include a magnetic disk, a memory chip, a read-only memory (ROM) , a random access memory (RAM) , an application specific integrated circuit (ASIC) , a configured processor, optical storage, magnetic tape or other magnetic storage, or any other medium from which a computer processor can read instructions. The instructions may include processor-specific instructions generated by a compiler and / or an interpreter from code written in any suitable computer-programming language, including, for example, C, C++, C#, visual basic, java, python, perl, javascript, and actionscript.
[0249] The computing device 1500 can also include a bus 1516. The bus 1516 can communicatively couple one or more components of the computing device 1500. The computing device 1500 can also include a number of external or internal devices such as input or output devices. For example, the computing device 1500 is illustrated with an input / output ( “I / O” ) interface 1518 that can receive input from one or more input devices 1520 or provide output to one or more output devices 1522. The one or more input devices 1520 and one or more output devices 1522 can be communicatively coupled to the I / O interface 1518. The communicative coupling can be implemented via any suitable manner (e.g., a connection via a printed circuit board, connection via a cable, communication via wireless transmissions, etc. ) . Non-limiting examples of input devices 1520 include a touch screen (e g., one or more cameras for imaging a touch area or pressure sensors for detecting pressure changes caused by a touch) , a mouse, a keyboard, or any other device that can be used to generate input events in response to physical actions by a user of a computing device. Non-limiting examples of output devices 1522 include a liquld crystal display (LCD) screen, an external monitor, a speaker, or any other device that can be used to display or otherwise present outputs generated by a computing device.
[0250] The computing device 1500 can execute program code that configures the processor 1512 to perform one or more of the operations described above with respect to some embodiments of FIG. 1 to FIG. 19. The program code can include an encoder 1526 and / or a video decoder 1528. The program code may be resident in the memory 1514 or any suitable computer-readable medium and may be executed by the processor 1512 or any other suitable processor.
[0251] The computing device 1500 can also include at least one network interface device 1524. The network interface device 1524 can include any device or group of devices suitable for establishing a wired or wireless data connection to one or more data networks 1528. Non limiting examples of the network interface device 1524 include an Ethernet network adapter, a modem, and / or the like. The computing device 1500 can transmit messages as electronic or optical signals via the network interface device 1524.
[0252] FIG. 20 is a block diagram of an example of a communication system 1600 according to an embodiment of the present disclosure. Embodiments described herein may be implemented into the communication system 1600 using any suitably configured hardware and / or software. FIG. 16 illustrates the communication system 1600 including a radio frequency (RF) circuitry 1610, a baseband circuitry 1620, an application circuitry 1630, a memory / storage 1640, a display 1650, a camera 1660, a sensor 1670, and an input / output (I / O) interface 1680, coupled with each other at least as illustrated.
[0253] The application circuitry 1630 may include a circuitry such as, but not limited to, one or more single-core or multi-core processors. The processors may include any combination of general-purpose processors and dedicated processors, such as graphics processors, application processors. The processors may be coupled with the memory / storage and configured to execute instructions stored in the memory / storage to enable various applications and / or operating systems running on the system. The communication system 1600 can execute program code that configures the application circuitry 1630 to perform one or more of the operations described above with respect to FIGS. 1-19. The program code may be resident in the application circuitry 1630 or any suitable computer-readable medium and may be executed by the application circuitry 1630 or any other suitable processor.
[0254] The baseband circuitry 1620 may include circuitry such as, but not limited to, one or more single-core or multi-core processors. The processors may include a baseband processor. The baseband circuitry may handle various radio control functions that may enable communication with one or more radio networks via the RF circuitry. The radio control functions may include, but are not limited to, signal modulation, encoding, decoding, radio frequency shifting, etc. In some embodiments, the baseband circuitry may provide for communication compatible with one or more radio technologies. For example, in some embodiments, the baseband circuitry may support communication with an evolved universal terrestrial radio access network (EUTRAN) and / or other wireless metropolitan area networks (WMAN) , a wireless local area network (WLAN) , a wireless personal area network (WPAN) . Embodiments in which the baseband circuitry is configured to support radio communications of more than one wireless protocol may be referred to as multi-mode baseband circuitry.
[0255] In various embodiments, the baseband circuitry 1620 may include circuitry to operate with signals that are not strictly considered as being in a baseband frequency. For example, in some embodiments, baseband circuitry may include circuitry to operate with signals having an intermediate frequency, which is between a baseband frequency and a radio frequency. The RF circuitry 1610 may enable communication with wireless networks using modulated electromagnetic radiation through a non-solid medium. In various embodiments, the RF circuitry may include switches, filters, amplifiers, etc. to facilitate the communication with the wireless network. In various embodiments, the RF circuitry 1610 may include circuitry to operate with signals that are not strictly considered as being in a radio frequency. For example, in some embodiments, RF circuitry may include circuitry to operate with signals having an intermediate frequency, which is between a baseband frequency and a radio frequency.
[0256] In various embodiments, the transmitter circuitry, control circuitry, or receiver circuitry discussed above with respect to some embodiments of FIG. 1 to FIG. 19 may be embodied in whole or in part in one or more of the RF circuitry, the baseband circuitry, and / or the application circuitry. As used herein, “circuitry” may refer to, be part of, or include an application specific integrated circuit (ASIC) , an electronic circuit, a processor (shared, dedicated, or group) , and / or a memory (shared, dedicated, or group) that execute one or more software or firmware programs, a combinational logic circuit, and / or other suitable hardware components that provide the described functionality. In some embodiments, the electronic device circuitry may be implemented in, or functions associated with the circuitry may be implemented by, one or more software or firmware modules. In some embodiments, some or all of the constituent components of the baseband circuitry, the application circuitry, and / or the memory / storage may be implemented together on a system on a chip (SOC) . The memory / storage 1640 may be used to load and store data and / or instructions, for example, for system. The memory / storage for one embodiment may include any combination of suitable volatile memory, such as dynamic random access memory (DRAM) ) , and / or non-volatile memory, such as flash memory.
[0257] In various embodiments, the I / O interface 1680 may include one or more user interfaces designed to enable user interaction with the system and / or peripheral component interfaces designed to enable peripheral component interaction with the system. User interfaces may include, but are not limited to a physical keyboard or keypad, a touchpad, a speaker, a microphone, etc. Peripheral component interfaces may include, but are not limited to, a non-volatile memory port, a universal serial bus (USB) port, an audio jack, and a power supply interface. In various embodiments, the sensor 1670 may include one or more sensing devices to determine environmental conditions and / or location information related to the system. In some embodiments, the sensors may include, but are not limited to, a gyro sensor, an accelerometer, a proximity sensor, an ambient light sensor, and a positioning unit. The positioning unit may also be part of, or interact with, the baseband circuitry and / or RF circuitry to communicate with components of a positioning network, e.g., a global positioning system (GPS) satellite.
[0258] In various embodiments, the display 1650 may include a display, such as a liquid crystal display and a touch screen display. In various embodiments, the communication system 1600 may be a mobile computing device such as, but not limited to, a laptop computing device, a tablet computing device, a netbook, an ultrabook, a smartphone, an AR / VR glasses, etc. In various embodiments, system may have more or less components, and / or different architectures. Where appropriate, methods described herein may be implemented as a computer program. The computer program may be stored on a storage medium, such as a non-transitory storage medium.
[0259] A person having ordinary skill in the art understands that each of the units, algorithm, and steps described and disclosed in the embodiments of the present disclosure are realized using electronic hardware or combinations of software for computers and electronic hardware. Whether the functions run in hardware or software depends on the condition of application and design requirement for a technical plan. A person having ordinary skill in the art can use different ways to realize the function for each specific application while such realizations should not go beyond the scope of the present disclosure. It is understood by a person having ordinary skill in the art that he / she can refer to the working processes of the system, device, and unit in the above-mentioned embodiment since the working processes of the above-mentioned system, device, and unit are basically the same. For easy description and simplicity, these working processes will not be detailed.
[0260] It is understood that the disclosed system, device, and method in the embodiments of the present disclosure can be realized with other ways. The above-mentioned embodiments are exemplary only. The division of the units is merely based on logical functions while other divisions exist in realization. It is possible that a plurality of units or components are combined or integrated in another system. It is also possible that some characteristics are omitted or skipped. On the other hand, the displayed or discussed mutual coupling, direct coupling, or communicative coupling operate through some ports, devices, or units whether indirectly or communicatively by ways of electrical, mechanical, or other kinds of forms.
[0261] The units as separating components for explanation are or are not physically separated. The units for display are or are not physical units, that is, located in one place or distributed on a plurality of network units. Some or all of the units are used according to the purposes of the embodiments. Moreover, each of the functional units in each of the embodiments can be integrated in one processing unit, physically independent, or integrated in one processing unit with two or more than two units.
[0262] If the software function unit is realized and used and sold as a product, it can be stored in a readable storage medium in a computer. Based on this understanding, the technical plan proposed by the present disclosure can be essentially or partially realized as the form of a software product. Or, one part of the technical plan beneficial to the conventional technology can be realized as the form of a software product. The software product in the computer is stored in a storage medium, including a plurality of commands for a computational device (such as a personal computer, a server, or a network device) to run all or some of the steps disclosed by the embodiments of the present disclosure. The storage medium includes a USB disk, a mobile hard disk, a read-only memory (ROM) , a random access memory (RAM) , a floppy disk, or other kinds of media capable of storing program codes.
[0263] While the present disclosure has been described in connection with what is considered the most practical and preferred embodiments, it is understood that the present disclosure is not limited to the disclosed embodiments but is intended to cover various arrangements made without departing from the scope of the broadest interpretation of the appended claims.
Claims
1.A prediction method applied to a video coder, comprising:determining whether a regression-based blending is available in a spatial geometric partitioning mode (SGPM) mode;obtaining a first candidate list; andgenerating a prediction block for a current block based on a blending mode, wherein the blending mode is determined by the first candidate list, and the blending mode comprises a partition-based blending mode or a regression-based blending mode.2.The method of claim 1, wherein obtaining the first candidate list comprises:deriving a regression-based blending candidate list;deriving a partition-based candidate list; andcombining the regression-based blending candidate list and the partition-based candidate list to obtain the first candidate list.3.The method of claim 2, wherein model coefficients in the regression-based blending candidate list are derived from a template.4.The method of claim 2, wherein each element in the regression-based blending candidate list contains a combination of a plurality of prediction modes and a set of model coefficients.5.The method of claim 2, wherein the partition-based candidate list is derived by a template matching (TM) based reordering.6.The method of claim 1, further comprising decoding a SPGM candidate index.7.The method of claim 6, wherein the blending mode is indicated by the SGPM candidate index.8.The method of claim 1, wherein generating the prediction block for the current block based on the blending mode further comprises:blending results of a plurality of intra prediction modes (IPMs) , block vector-based prediction modes, or inter prediction modes using either a partition-based blending method or a regression-based blending method.9.A prediction method applied to a video coder, comprising:determining whether a regression-based blending is available in a spatial geometric partitioning mode (SGPM) mode;decoding a regression-based flag;decoding a candidate index for a candidate list, wherein the candidate index for the candidate list indicates whether a partition-based candidate list or a regression-based blending candidate list is based on the regression-based flag; anddetermining if the regression-based blending is enabled for a current block.10.The method of claim 9, wherein the candidate list comprises a regression-based blending candidate list or a partition-based candidate list.11.The method of claim 10, wherein if the regression-based blending is enabled for the current block, deriving the regression-based blending candidate list.12.The method of claim 10, wherein model coefficients in the regression-based blending candidate list are derived from a template.13.The method of claim 10, wherein each element in the regression-based blending candidate list contains a combination of a plurality of prediction modes and a set of model coefficients.14.The method of claim 10, wherein if the regression-based blending is disabled for the current block, deriving the partition-based blending candidate list.15.The method of claim 9, further comprising generating a prediction block for a current block based on a blending mode, wherein the blending mode is determined by the candidate list.16.The method of claim 15, wherein generating the prediction block for the current block based on the blending mode further comprises:blending results of a plurality of intra prediction modes (IPMs) , block vector-based prediction modes, or inter prediction modes using either a partition-based blending method or a regression-based blending method.17.A prediction method applied to a video coder, comprising:determining whether a template-based intra mode derivation (TIMD) fusion is applied;if the TIMD fusion is enabled for a current block, deriving a regression-based blending candidate list; and generating a prediction block for the current block based on the regression-based blending candidate list.18.The method of claim 17, wherein model coefficients in the regression-based blending candidate list are derived from a template.19.The method of claim 17, wherein each element in the regression-based blending candidate list contains a combination of a plurality of prediction modes and a set of model coefficients.20.The method of claim 17, further comprising:determining whether a regression-based blending is available in a TIMD mode; andderiving the TIMD mode form most probable modes (MPMs) .21.The method of claim 17, if the TIMD fusion is disabled, selecting an intra predication mode with a minimum template cost for intra predication.22.The method of claim 17, wherein generating the prediction block for the current block based on the regression-based blending candidate list comprises:predicting a first current block using a partition-based blending mode;predicting a second current block using a regression-based blending mode; andfusing the first current block and the second current block based on the regression-based blending candidate list.23.A prediction method applied to a video coder, comprising:dividing a candidate index into a plurality of groups; andencoding the plurality of groups with different coding methods, wherein for a first group of the candidate index, using a context-based code, a binary code, a unary code, or Golomb code, and for a second group of the candidate index, using a truncated binary code.24.The method of claim 23, wherein the first group of the candidate index are most probable indices.25.The method of claim 23, further comprising using at least one binarized value coding with context to determine one group.26.The method of claim 23, the first group of the candidate index or the second group of the candidate index contains zero or more elements.27.A video coder, comprising:a memory;a transceiver; anda processor coupled to the memory and the transceiver;wherein the processor is configured to perform the method of any one of claims 1 to 26.28.A non-transitory machine-readable storage medium having stored thereon instructions that, when executed by a computer, cause the computer to perform the method of any one of claims 1 to 26.29.A chip, comprising:a processor, configured to call and run a computer program stored in a memory, to cause a device in which the chip is installed to execute the method of any one of claims 1 to 26.30.A computer readable storage medium, in which a computer program is stored, wherein the computer program causes a computer to execute the method of any one of claims 1 to 26.31.A computer program product, comprising a computer program, wherein the computer program causes a computer to execute the method of any one of claims 1 to 26.32.A computer program, wherein the computer program causes a computer to execute the method of any one of claims 1 to 26.
Citation Information
Patent Citations
Metal wire 3D printer
KR1020200108520A
Method and apparatus for video coding
US20200105025A1
Method and apparatus for regression-based affine merge mode motion vector derivation in video coding systems
WO2023202713A1
Method, apparatus, and medium for video processing
WO2024083197A1
Method and apparatus of regression-based intra prediction in video coding system
WO2024088058A1