Decoding, encoding, encoding / decoding method, device and equipment thereof
Patent Information
- Application Number
- JP2024073765
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-03-25
- Filing Date
- 2024-04-30
- Publication Date
- 2025-02-27
- Estimated Expiration
- 2041-03-23
AI Technical Summary
【0012】 以上の技術案から分かるように、本発明の実施例では、インター予測フィルタと強化インター予測フィルタのフラグをデカップリングし、即ちインター予測フィルタ許可フラグにより、インター予測フィルタの使用を許可するか否かを表し、強化インター予測フィルタ許可フラグにより、強化インター予測フィルタの使用を許可するか否かを表す。このように、インター予測フィルタ又は強化インター予測フィルタを効果的に使用してインター符号化を実現し、符号化復号化の複雑さが変化せずに、符号化性能を向上させる。
Smart Images

Figure 0007637294000007 
Figure 0007637294000008 
Figure 0007637294000009
Abstract
Description
[Technical field]
[0001] The present invention relates to the technical field of encoding and decoding, and in particular to decoding, encoding, and an encoding and decoding method, apparatus, and device thereof. [Background technology]
[0002] In order to achieve the purpose of space saving, all video images are coded before being transmitted, and the complete video coding method may include processes such as prediction, transformation, quantization, entropy coding, and filtering, while the prediction process may include intra prediction and inter prediction. Inter prediction uses the time domain correlation of the video to predict the pixels of the current image using the pixels of adjacent coded images to achieve the purpose of removing the redundancy in the time domain of the video. Intra prediction takes into account the very strong spatial domain correlation between adjacent blocks, uses the surrounding reconstructed pixels as reference pixels to predict the currently uncoded block, and instead of coding the original value, it is only necessary to perform subsequent coding processing on the residual, effectively removing the redundancy in the spatial domain and greatly improving the compression efficiency.
[0003] The inter prediction filter and the enhanced inter prediction filter are two technologies for realizing inter prediction, and are mainly used to solve the problem of discontinuity in the spatial domain between the prediction block and the surrounding pixels by inter prediction. However, there is currently no suitable solution for how to use the inter prediction filter or the enhanced inter prediction filter to realize inter prediction, and there are problems such as relatively low coding performance. Summary of the Invention [Means for solving the problem]
[0004] The present invention provides a decoding method for use in a decoding device, the method including: when an inter-prediction filter enable flag indicates that an inter-prediction filter is enabled for a current block and the current block satisfies an inter-prediction filter condition, analyzing an inter-prediction filter identifier of the current block from bitstream data of the current block; when the inter-prediction filter identifier indicates that a filter type of the current block is an inter-prediction filter, performing an inter-prediction filter process on the current block to obtain a target prediction value of the current block; and when the inter-prediction filter identifier indicates that a filter type of the current block is an enhanced inter-prediction filter, performing an enhanced inter-prediction filter process on the current block to obtain a target prediction value of the current block.
[0005] The present invention provides an encoding method for use in an encoding device, the method including: when an inter-prediction filter enable flag indicates that an inter-prediction filter is allowed for a current block and the current block satisfies an inter-prediction filter condition, encoding an inter-prediction filter identifier in bitstream data of the current block according to a filter type of the current block, where if the filter type of the current block is an inter-prediction filter, the inter-prediction filter identifier indicates that the filter type of the current block is an inter-prediction filter, or if the filter type of the current block is an enhanced inter-prediction filter, the inter-prediction filter identifier indicates that the filter type of the current block is an enhanced inter-prediction filter.
[0006] The present invention provides an encoding / decoding method for use in an encoding device or a decoding device, the method including: when determining to enable an enhanced inter-prediction filter for a current block, performing enhanced inter-prediction filtering on a chrominance component of the current block to obtain a target prediction value of the chrominance component; and determining a target prediction value of the current block based on the target prediction value of the chrominance component.
[0007] The present invention provides a decoding device for use in a decoding device, the device including: an obtaining module for analyzing an inter-prediction filter identifier of the current block from bitstream data of the current block when an inter-prediction filter enable flag indicates that an inter-prediction filter is enabled for a current block and the current block satisfies an inter-prediction filter condition; and a processing module for performing inter-prediction filtering on the current block to obtain a target prediction value of the current block when the inter-prediction filter identifier indicates that a filter type of the current block is an inter-prediction filter, and performing enhanced inter-prediction filtering on the current block to obtain a target prediction value of the current block when the inter-prediction filter identifier indicates that a filter type of the current block is an enhanced inter-prediction filter.
[0008] The present invention provides an encoding device for use in an encoding device, the device including: a processing module for encoding an inter-prediction filter identifier in bitstream data of a current block according to a filter type of the current block when an inter-prediction filter enable flag indicates that an inter-prediction filter is allowed for a current block and the current block satisfies an inter-prediction filter condition, where if the filter type of the current block is an inter-prediction filter, the inter-prediction filter identifier indicates that the filter type of the current block is an inter-prediction filter, or if the filter type of the current block is an enhanced inter-prediction filter, the inter-prediction filter identifier indicates that the filter type of the current block is an enhanced inter-prediction filter; and a transmitting module for transmitting the bitstream data of the current block.
[0009] The present invention provides an encoding / decoding device for use in an encoding device or a decoding device, the device including: a processing module for performing enhanced inter-prediction filter processing on a chrominance component of the current block to obtain a target predicted value of the chrominance component when it is determined to enable an enhanced inter-prediction filter for a current block; and a determination module for determining a target predicted value of the current block based on the target predicted value of the chrominance component.
[0010] The present invention provides a decoding device including a processor and a machine-readable storage medium having machine-executable instructions stored thereon, the processor being used to execute the machine-executable instructions to perform the following steps: if an inter-prediction filter enable flag indicates that an inter-prediction filter is enabled for a current block and the current block satisfies an inter-prediction filter condition, parse an inter-prediction filter identifier of the current block from bitstream data of the current block; if the inter-prediction filter identifier indicates that a filter type of the current block is an inter-prediction filter, perform inter-prediction filtering on the current block to obtain a target prediction value of the current block; if the inter-prediction filter identifier indicates that a filter type of the current block is an enhanced inter-prediction filter, perform enhanced inter-prediction filtering on the current block to obtain a target prediction value of the current block; or if it is determined to enable an enhanced inter-prediction filter for the current block, perform enhanced inter-prediction filtering on a chroma component of the current block to obtain a target prediction value of the chroma component; and determine a target prediction value of the current block based on the target prediction value of the chroma component.
[0011] The present invention provides an encoding device including a processor and a machine-readable storage medium having machine-executable instructions stored thereon, wherein the processor is adapted to execute the machine-executable instructions to perform the steps of: if an inter-prediction filter enable flag indicates that an inter-prediction filter is enabled for a current block and the current block satisfies an inter-prediction filter condition, encoding an inter-prediction filter identifier in bitstream data of the current block according to a filter type of the current block, where if the filter type of the current block is an inter-prediction filter, the inter-prediction filter identifier indicates that the filter type of the current block is an inter-prediction filter; or if the filter type of the current block is an enhanced inter-prediction filter, the inter-prediction filter identifier indicates that the filter type of the current block is an enhanced inter-prediction filter; or if the processor is adapted to execute the machine-executable instructions to perform the steps of: performing enhanced inter-prediction filtering on a chroma component of the current block to obtain a target prediction value of the chroma component; and determining a target prediction value of the current block based on the target prediction value of the chroma component when determining to enable an enhanced inter-prediction filter for the current block. Effect of the Invention
[0012] From the above technical solution, it can be seen that in the embodiment of the present invention, the flag of the inter prediction filter and the enhanced inter prediction filter are decoupled, that is, the inter prediction filter enable flag indicates whether the use of the inter prediction filter is enabled, and the enhanced inter prediction filter enable flag indicates whether the use of the enhanced inter prediction filter is enabled. In this way, the inter prediction filter or the enhanced inter prediction filter is effectively used to realize inter coding, and the coding performance is improved without changing the coding and decoding complexity. [Brief description of the drawings]
[0013] [Figure 1A] FIG. 1 is a schematic diagram of a video encoding framework in one embodiment of the present invention. [Figure 1B] FIG. 2 is a schematic diagram of a partitioning tree in one embodiment of the present invention. [Figure 2A] 4 is a flowchart of a decoding method in one embodiment of the present invention. [Figure 2B] 4 is a flowchart of an encoding method in one embodiment of the present invention. [Figure 2C] 1 is a flowchart of an encoding / decoding method according to an embodiment of the present invention. [Diagram 3] 11 is a flowchart of an encoding / decoding method in another embodiment of the present invention. [Figure 4] FIG. 2 is a schematic diagram of a decoding process including an inter-prediction filter in accordance with an embodiment of the present invention; [Diagram 5] 4 is a schematic diagram showing the positional relationship between a current block and reference pixels according to an embodiment of the present invention; [Figure 6A] FIG. 2 is a structural diagram of a decoding device according to an embodiment of the present invention; [Figure 6B] FIG. 2 is a structural diagram of an encoding device according to an embodiment of the present invention. [Figure 6C] 1 is a structural diagram of an encoding / decoding device according to an embodiment of the present invention. [Figure 7A] FIG. 2 is a hardware structural diagram of a decoding device according to an embodiment of the present invention; [Figure 7B] FIG. 2 is a hardware structural diagram of an encoding device according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0014] The terms used in the examples of the present application are not intended to limit the present application, but merely to describe a particular embodiment. The singular forms "a," "said," and "the" used in the examples and claims of the present application are intended to include the plural, unless the context clearly indicates otherwise. The term "and / or" as used herein should be understood to mean any or all possible combinations including one or more of the associated listed items. Although the examples of the present application may use terms such as first, second, and third to describe various information, it should be understood that such information should not be limited to these terms. These terms are used only to distinguish between information of the same type. For example, the first information may be referred to as the second information, and similarly, the second information may be referred to as the first information, without departing from the scope of the present application. Depending on the context, the word "if" used may further be interpreted as "when," or "when," or "in response to determining."
[0015] In order to allow those skilled in the art to better understand the technical solution of the present application, technical terms are briefly explained below.
[0016] Video encoding framework: As shown in FIG. 1A, a video encoding framework can be used to realize the processing flow of the encoding device of the embodiment of the present invention, and the schematic diagram of the video decoding framework may be similar to FIG. 1A, and will not be further described here. A video decoding framework can be used to realize the processing flow of the decoding device of the embodiment of the present invention. The video encoding framework and the video decoding framework may include, but are not limited to, modules such as prediction, motion estimation / motion compensation, reference picture buffer, in-loop filter, reconstruction, transform, quantization, inverse transform, inverse quantization, and entropy coder. In the encoding device, the processing flow of the encoding device can be realized through cooperation between these modules, and in the decoding device, the processing flow of the decoding device can be realized through cooperation between these modules.
[0017] For example, in a video encoding process, the prediction process may include intra prediction and inter prediction. Intra prediction takes into account the very strong spatial domain correlation between adjacent blocks, predicts a currently uncoded block using surrounding reconstructed pixels as reference pixels, and performs subsequent encoding processing only on the residual, instead of encoding the original value, effectively removing redundancy in the spatial domain and greatly improving compression efficiency. Meanwhile, inter prediction uses the temporal domain correlation of video to predict pixels of a current image using pixels of adjacent encoded images to achieve the purpose of removing redundancy in the temporal domain of video.
[0018] For example, in the video coding process, transform means converting an image described in pixel format in the spatial domain into an image in the transform domain and expressing it in the form of transform coefficients. Since most images contain many flat and slowly changing regions, a suitable transform process can transform the dispersed distribution of image energy in the spatial domain into a concentrated distribution in the transform domain, thereby eliminating the frequency domain correlation between signals, and effectively compressing the bitstream data in line with the quantization process.
[0019] For example, entropy coding is a method of lossless coding according to the principle of information entropy, and the last processing module of video compression converts a series of element codes for representing a video sequence into a binary bitstream data for transmission or storage. The input element codes may include quantized transform coefficients, motion vector information, prediction mode information, transform quantization correlation syntax, etc. The output data of the entropy coding module is the final bitstream data after the original video is compressed. Entropy coding can effectively remove the statistical redundancy of these video element codes, and is one of the important tools for ensuring the efficiency of video coding compression.
[0020] Exemplarily, the loop filter is used to reduce problems such as image block artifacts or image degradation and improve image quality. For example, the loop filter may include, but is not limited to, a deblocking filter, a sample adaptive offset (SAO) filter, an adaptive loop filter (ALF), a cross-component adaptive loop filter (CCALF), etc.
[0021] Motion Vector (MV): In the inter prediction process, a motion vector can be used to represent the relative displacement between a current block of a current picture of a video and a reference block of a reference picture of a video. Each divided block has a corresponding motion vector, which is transmitted to a decoding device. If the motion vector of each block is coded and transmitted independently, especially if the block is divided into a large number of small-sized blocks, a large number of bits will be consumed. In order to reduce the number of bits for coding a motion vector, the spatial correlation between adjacent blocks can be utilized, and the motion vector of a block to be currently coded can be predicted based on the motion vector of a coded adjacent block, and the prediction difference can be coded, thus effectively reducing the number of bits representing the motion vector. Exemplarily, in the process of coding the motion vector of a current block, the motion vector of the current block can be predicted using the motion vector of a coded adjacent block, and the difference between the predicted value of the motion vector (MVP, Motion Vector Prediction) and the true estimated value of the motion vector (MVD, Motion Vector Difference) can be coded, thereby effectively reducing the number of coding bits of the motion vector.
[0022] Motion Information: Since a motion vector represents a position offset between a current block and a reference block, in order to accurately obtain information on a reference block, in addition to a motion vector, reference picture index information indicating which reference picture the current block uses is also required. In video coding techniques, a reference picture list can generally be established for a current picture, and the reference picture index information indicates which reference picture in the reference picture list the current block uses. Note that many coding techniques also support multiple reference picture lists, so that an index value can be further used to indicate which reference picture list is used, and this index value may be called a reference direction. As described above, in video coding techniques, information related to motion, such as a motion vector, a reference picture index, and a reference direction, can be collectively referred to as motion information.
[0023] Regular inter mode, skip mode, and direct mode: In the inter prediction process, the current block can be predicted using an inter prediction mode, which may include regular inter mode, skip mode, and direct mode, etc.
[0024] The skip mode is an inter-prediction mode in which the encoding device does not transmit residual information, does not transmit MVD, and only transmits an index of motion information. The decoding device can derive the motion information of the current block by analyzing the index of the motion information, and upon obtaining the motion information, determines a prediction value using the motion information and directly uses the prediction value as a reconstruction value.
[0025] The direct mode is an inter-prediction mode, and the encoding device needs to transmit residual information, but only needs to transmit an index of motion information without transmitting an MVD. The decoding device can derive the motion information of the current block by analyzing the index of motion information, and upon obtaining the motion information, determines a prediction value using the motion information and adds the prediction value to the residual to obtain a reconstruction value.
[0026] The normal inter mode is an inter prediction mode, and is different from the skip mode and the direct mode in that the normal inter mode creates contents to be transmitted, such as an index of motion information, MVD, and residual information. However, in the skip mode or the direct mode, the motion information of the current block fully uses the motion information of a certain neighboring block in the time domain or the spatial domain, and for example, one motion information can be selected as the motion information of the current block from the motion information set of a plurality of surrounding blocks. Therefore, in the skip mode or the direct mode, it is only necessary to code an index value indicating which motion information in the motion information set the current block uses, but the difference between the skip mode and the direct mode is that the skip mode does not need to code the residual, and the direct mode needs to code the residual. Obviously, the skip mode or the direct mode can greatly save the coding overhead of the motion information.
[0027] In the direct mode, it is possible to determine how to generate an inter prediction value using a plurality of inter prediction modes, such as a normal direct mode, a subblock mode, an MMVD mode (merge with motion vector difference), a CIIP mode (combine inter intra prediction mode, a mode for combining inter prediction and intra prediction to generate a new prediction value), a TPM mode (triangular prediction mode, a mode for triangular prediction), and a GEO mode (Geometrical Partitioning, a mode based on an arbitrary geometric partition shape). The subblock mode may be an Affine mode or a SbTMVP (subblock-based temporal motion vector prediction) mode.
[0028] For the normal direct mode, motion information can be selected from a candidate motion information list, and a prediction value of the current block can be generated based on the motion information. The candidate motion information list includes candidate motion information of spatial domain neighboring blocks, candidate motion information of temporal domain neighboring blocks, candidate motion information of spatial domain non-neighboring blocks, motion information obtained by combining based on existing motion information, default motion information, etc. Of course, the candidate motion information list can further include motion information such as HMVP (History based Motion Vector Prediction) and / or MVAP (Motion Vector Angle Prediction), and is not limited thereto.
[0029] Regarding the MMVD mode, the MMVD mode is also called the UMVE (Ultimate Motion Vector Expression) mode, which selects motion information from the candidate motion information list of the normal direct mode as reference motion information based on the candidate motion information list of the normal direct mode, and obtains the motion information difference by a lookup method. The final motion information is obtained based on the reference motion information and the motion information difference, and a prediction value of the current block is generated based on the final motion information. The MMVD mode / UMVE mode obtains a better candidate motion by performing an offset based on the generated candidate motion.
[0030] For the Affine mode, similarly to the normal direct mode, motion information is selected from the candidate motion information list, and a prediction value for the current block is generated based on this motion information. The difference from the normal direct mode is that the motion information in the candidate motion information list for the normal direct mode is a two-parameter translational motion vector, while the motion information in the candidate motion information list for the Affine mode is four-parameter Affine motion information, six-parameter Affine motion information, or eight-parameter Affine motion information.
[0031] For SbTMVP mode, in a time-domain reference picture, the motion information of a block can be directly used to generate a prediction value of the current block based on this motion information, and the motion information of each sub-block within this block may not be similar.
[0032] For the CIIP mode, the intra prediction value and the inter prediction value are combined to obtain a new prediction value for the current block, and the CIIP mode may also be referred to as an inter prediction filter mode, i.e., an inter prediction filter in this specification, hereinafter referred to as an inter prediction filter.
[0033] In the inter prediction filter, regarding how to obtain an inter prediction value, the inter prediction value may be obtained based on the motion information of normal direct mode, the inter prediction value may be obtained based on the motion information of TPM mode / GEO mode, and further the inter prediction value may be obtained based on the motion information of SbTMVP mode, but is not limited thereto.In the inter prediction filter, regarding how to obtain an intra prediction value, the intra prediction value may be obtained using Plane mode, DC mode, any angle mode, etc.
[0034] For TPM mode, a block is divided into two triangular sub-blocks with different unidirectional motion information (there are two types of triangular sub-blocks, 45 degrees and 135 degrees). TPM mode is only used for the prediction process and does not affect the subsequent transformation and quantization process. The unidirectional motion information here is obtained directly from the candidate motion information list.
[0035] Regarding GEO mode, GEO mode is similar to TPM mode, but only the division shape is different. GEO mode divides one quadrangular block into two sub-blocks of any shape (any other shape than the shape of two triangular sub-blocks of TPM), for example, one triangular sub-block, one pentagonal sub-block, or one triangular sub-block, one quadrangular sub-block, or two trapezoidal sub-blocks, etc., and there is no limitation on the division shape. The two sub-blocks divided in GEO mode have different unidirectional motion information.
[0036] Flag coding: There are many modes in video coding. For a certain block, one of the modes may be used. To indicate which mode is used, each block needs to be marked by encoding a corresponding flag. For example, for an encoding device, the encoding device decides to determine the value of this flag, and then encodes the value of the flag and sends it to a decoding device. For a decoding device, the decoding device analyzes the value of the flag to determine whether the corresponding mode is enabled or not.
[0037] In the flag encoding process, the flag encoding can be realized by a high-level syntax, which is used to express whether a certain mode is allowed to be enabled or not, i.e., the high-level syntax allows the enabling of a certain mode or prohibits the enabling of a certain mode.
[0038] By way of example, the high level syntax may be a high level syntax at a sequence parameter set level, or a high level syntax at a picture parameter set level, or a high level syntax at a slice header level, or a high level syntax at a picture header level, without any limitation on this high level syntax.
[0039] For the high level syntax of sequence parameter set (SPS), there is a flag that allows the entire video sequence (i.e., multi-picture video image) to turn on or off some modes (tools / methods). For example, if the flag is value A (e.g., numeric value 1), the video sequence allows the enablement of the mode corresponding to this flag, or if the flag is value B (e.g., numeric value 0), the video sequence does not allow the enablement of the mode corresponding to this flag.
[0040] For the high level syntax of the picture parameter set (PPS), there is a flag that indicates whether a picture (e.g., a video picture) is allowed to turn on or off some modes (tools / methods). If the flag is value A, the video picture allows the enablement of the mode corresponding to this flag, and if the flag is value B, the video picture does not allow the enablement of the mode corresponding to this flag.
[0041] For the high-level syntax of the picture header, there is a flag that allows some modes (tools / methods) to be turned on or off in the picture header. If the flag is value A, the picture header allows the enablement of the mode corresponding to this flag, and if the flag is value B, the picture header does not allow the enablement of the mode corresponding to this flag. Exemplarily, only common information about the current picture is stored in the picture header, e.g., if a picture includes multiple slices, the multiple slices can share information in the picture header.
[0042] For the high-level syntax of the slice header, there is a flag that indicates whether the slice is allowed to turn on or off some modes (tools / methods). If the flag is value A, the slice allows the enablement of the mode corresponding to this flag, and if the flag is value B, the slice does not allow the enablement of the mode corresponding to this flag. Exemplarily, one picture may include one slice or multiple slices, and the high-level syntax for the slice header is the high-level syntax set for each slice.
[0043] Partition Tree: As shown in FIG. 1B, the current block can be partitioned using four partition types, such as QT (Quad-tree), BT (binary-tree), EQT (Extended Quad-tree) and non-partition, so the partition tree type may be QT, BT, EQT or non-partition. Exemplarily, QT partitioning refers to performing quad-tree partitioning on the current block to obtain four sub-blocks of the same size, and the width and height of each sub-block are both half that of the current block.
[0044] BT partitioning refers to performing binary tree partitioning on the current block to obtain two subblocks of the same size, and BT partitioning is further divided into horizontal binary tree (BT_HOR) partitioning and vertical binary tree (BT_VER) partitioning. In the case of horizontal binary tree partitioning, the current block is divided horizontally into two subblocks, the width of each subblock is the same as the width of the current block, and the height of each subblock is half the height of the current block. In the case of vertical binary tree partitioning, the current block is divided vertically into two subblocks, the width of each subblock is half the width of the current block, and the height of each subblock is the same as the height of the current block.
[0045] EQT partitioning is to perform quadtree partitioning on the current block to obtain four subblocks, but the sizes of the four subblocks are not exactly the same, so EQT partitioning is further divided into horizontally extended quadtree (EQT_HOR) partitioning and vertically extended quadtree (EQT_VER) partitioning. In the case of EQT_HOR, the current block of size M*N is partitioned into two M*(N / 4) subblocks and two (M / 2)*(N / 2) subblocks, and in the case of EQT_VER, the current block of size M*N is partitioned into two (M / 4)*N subblocks and two (M / 2)*(N / 2) subblocks.
[0046] Considering hardware implementation, the hardware implementation cost for 2*N or N*2 chroma components is relatively high, so during division, generation of blocks with 2*N or N*2 chroma components is avoided. If one block uses one division type (QT, BT, or EQT), 2*N or N*2 chroma components are generated, and the division of the luma component of this block is continued to generate multiple luma sub-components, but one chroma component is generated by not dividing the chroma component. In this case, the division tree type of the luma component does not match the division tree type of the chroma component, i.e., the division tree type of the luma component is QT, BT, or EQT, but the division tree type of the chroma component is non-divided.
[0047] Rate-Distortion Optimized (RDO): There are two indices to evaluate the coding efficiency: the coding rate and the peak signal to noise ratio (PSNR). The smaller the bitstream, the higher the compression rate. The higher the PSNR, the better the quality of the reconstructed image. When selecting a mode, the discriminant is essentially a comprehensive evaluation of both. For example, the cost corresponding to a mode is J(mode)=D+λ*R, where D represents distortion and can generally be evaluated using the sum of square error (SSE) index, where SSE is the sum of squares error between the reconstructed image block and the source image, λ is the Lagrange multiplier, and R is the actual number of bits required to code the image block in this mode, including the sum of required bits such as coding mode information, motion information, and residual. When selecting a mode, using RDO to compare and determine coding modes can generally ensure better coding performance.
[0048] In the related art, in order to solve the problem of discontinuity in the spatial domain between a predicted block and surrounding pixels by inter prediction, a technique for realizing inter prediction, such as an inter prediction filter or an enhanced inter prediction filter, is proposed. However, the enhanced inter prediction filter is only used for the luminance component, and is not used for the chrominance component, so that the chrominance component still has the problem of discontinuity in the spatial domain between the predicted block and surrounding pixels, resulting in relatively low coding performance. In addition, a single high-level syntax indicates whether the inter prediction filter and the enhanced inter prediction filter are turned on, that is, a single high-level syntax simultaneously controls the inter prediction filter and the enhanced inter prediction filter to be turned on, or a single high-level syntax simultaneously controls the inter prediction filter and the enhanced inter prediction filter to be turned off, but it is not possible to realize separate control of the inter prediction filter and the enhanced inter prediction filter, and it is not possible to support more flexible selection, resulting in relatively low coding performance.
[0049] In response to the above discovery, in one possible embodiment, the inter-prediction filter and the enhanced inter-prediction filter can be controlled separately, i.e., one high-level syntax indicates whether the inter-prediction filter is turned on (e.g., the inter-prediction filter is turned on or the inter-prediction filter is turned off), and another high-level syntax indicates whether the enhanced inter-prediction filter is turned on (e.g., the enhanced inter-prediction filter is turned on or the enhanced inter-prediction filter is turned off), thereby supporting more flexible selection and improving coding performance.
[0050] In another possible embodiment, an enhanced inter prediction filter is used to process the chrominance component, i.e., by processing the luma and chrominance components using an enhanced inter prediction filter, the spatial domain discontinuity problem between the inter prediction prediction block and surrounding pixels can be eliminated, e.g., the spatial domain discontinuity problem of the chrominance component can be eliminated, and encoding performance can be improved.
[0051] In another possible embodiment, the inter prediction filter and the enhanced inter prediction filter are controlled separately, i.e., one high level syntax indicates whether the inter prediction filter is turned on (e.g., the inter prediction filter is turned on or the inter prediction filter is turned off), and another high level syntax indicates whether the enhanced inter prediction filter is turned on (e.g., the enhanced inter prediction filter is turned on or the enhanced inter prediction filter is turned off), thereby supporting more flexible selection and improving coding performance. Furthermore, when the enhanced inter prediction filter is turned on, the enhanced inter prediction filter is used to process the chrominance component, i.e., the enhanced inter prediction filter is used to process the luma component and the chrominance component, thereby eliminating the problem of discontinuity in the spatial domain between the prediction block by inter prediction and the surrounding pixels, for example, eliminating the problem of discontinuity in the spatial domain of the chrominance component, and improving coding performance.
[0052] Illustratively, the inter prediction filter and the enhanced inter prediction filter in the embodiment of the present invention may be a filter technique for the inter prediction process, instead of the loop filter (such as a deblocking filter, an SAO filter, an ALF filter, a CCALF filter, etc.) in FIG. 1A. The inter prediction filter is a filter process for the inter prediction value using an inter prediction filter technique in the inter prediction process, and the inter prediction filter is also called a combination of direct mode and intra prediction mode (UDIP, Unite Direct and Intra Mode Prediction). The enhanced inter prediction filter is a filter process for the inter prediction value using an enhanced inter prediction filter technique in the inter prediction process, and the enhanced inter prediction filter is also called an enhanced combination of direct mode and intra prediction mode (EUDIP, Enhance Unite Direct and Intra Mode Prediction).
[0053] Hereinafter, the decoding method and the encoding method according to the embodiment of the present invention will be described in conjunction with some specific examples.
[0054] Example 1: FIG. 2A shows a flowchart of a decoding method, which can be applied to a decoding device, and includes the following steps:
[0055] In step 211, if the inter-prediction filter enable flag indicates that the use of an inter-prediction filter is permitted for the current block, and the current block satisfies an inter-prediction filter condition, an inter-prediction filter identifier of the current block is parsed from the bitstream data of the current block.
[0056] Exemplarily, if the inter-prediction filter enable flag indicates that the use of an inter-prediction filter is permitted for the current block, and the current block satisfies the inter-prediction filter condition, an inter-prediction filter identifier of the current block is parsed from the bitstream data of the current block.
[0057] Exemplarily, if the inter-prediction filter identifier indicates that the filter type of the current block is an inter-prediction filter, step 212 is performed; if the inter-prediction filter identifier indicates that the filter type of the current block is an enhanced inter-prediction filter, step 213 is performed; and if the inter-prediction filter identifier indicates that the filter type of the current block is a non-filter, step 214 is performed.
[0058] Based on this, before step 211, the inter-prediction filter enable flag can first be parsed from the bitstream data (i.e., the bitstream data in high-level syntax), and the inter-prediction filter enable flag indicates whether the use of an inter-prediction filter is allowed for the current block, or whether the use of an inter-prediction filter is not allowed for the current block.
[0059] If the inter-prediction filter permission flag indicates that the use of the inter-prediction filter is permitted for the current block, it is determined whether the current block satisfies the inter-prediction filter condition.
[0060] If the current block does not satisfy the inter-prediction filter condition, the inter-prediction filter identifier of the current block is prohibited from being parsed from the bitstream data of the current block, that is, no inter-prediction filtering is performed on the current block, and no enhanced inter-prediction filtering is performed.
[0061] If the current block satisfies the inter-prediction filter condition, an inter-prediction filter identifier of the current block is analyzed from the bitstream data of the current block, and a filter type of the current block is determined according to the inter-prediction filter identifier, and corresponding processing is performed.
[0062] For example, the current block satisfying the inter-prediction filter condition may include, but is not limited to, determining that the current block satisfies the inter-prediction filter condition if the inter-prediction mode of the current block is direct mode and / or if the current block satisfies a size restriction condition.
[0063] Exemplarily, after analyzing the inter-prediction filter identifier of the current block from the bitstream data of the current block, the filter type of the current block can be further determined based on the inter-prediction filter identifier. For example, when the inter-prediction filter permission flag indicates that the use of an inter-prediction filter is permitted for the current block, when the inter-prediction filter identifier is a first value, the inter-prediction filter identifier indicates that the filter type of the current block is a non-filter, i.e., the filter type of the current block is determined to be a non-filter. When the inter-prediction filter identifier is a second value, the inter-prediction filter identifier indicates that the filter type of the current block is an inter-prediction filter, i.e., the filter type of the current block is determined to be an inter-prediction filter. When the inter-prediction filter identifier is a third value, the inter-prediction filter identifier indicates that the filter type of the current block is an enhanced inter-prediction filter, i.e., the filter type of the current block is determined to be an enhanced inter-prediction filter.
[0064] The first value, the second value and the third value may be set empirically and are not limited thereto, for example, the first value may be 0, the second value may be 10, and the third value may be 11, of course, the above values are merely examples.
[0065] In step 212, inter-prediction filtering is performed on the current block to obtain a target prediction value for the current block.
[0066] For example, when performing inter-prediction filtering on a current block, an inter-prediction value of the current block and an intra-prediction value of the current block are obtained, and a target prediction value of the current block can be determined based on the inter-prediction value and the intra-prediction value.
[0067] In one possible embodiment, the current block includes a luma component and a chroma component, and inter-prediction filtering is performed on the luma component to obtain a target predicted value of the luma component, or inter-prediction filtering is performed on the chroma component to obtain a target predicted value of the chroma component, or inter-prediction filtering is performed on the luma component to obtain a target predicted value of the luma component and inter-prediction filtering is performed on the chroma component to obtain a target predicted value of the chroma component.
[0068] In step 213, enhanced inter-prediction filtering is performed on the current block to obtain a target prediction value for the current block.
[0069] For example, when performing enhanced inter-prediction filtering on a current block, an inter-prediction value of the current block and a reconstructed value of a reconstructed pixel adjacent to the current block (e.g., a reconstructed value of a column to the left outside the current block and / or a reconstructed value of a row above the current block) can be obtained, and a target prediction value of the current block can be determined based on the inter-prediction value and the reconstructed value.
[0070] In one possible embodiment, the current block includes a luma component and a chroma component, and enhanced inter prediction filtering is performed on the luma component to obtain a target predicted value for the luma component, or enhanced inter prediction filtering is performed on the chroma component to obtain a target predicted value for the chroma component, or enhanced inter prediction filtering is performed on the luma component to obtain a target predicted value for the luma component and enhanced inter prediction filtering is performed on the chroma component to obtain a target predicted value for the chroma component.
[0071] By way of example, performing enhanced inter prediction filtering on a chroma component to obtain a target predicted value for the chroma component may include, but is not limited to, obtaining an inter predicted value for the chroma component and a chroma reconstruction value for a reconstructed pixel adjacent to the chroma component, and determining a target predicted value for the chroma component based on the inter predicted value for the chroma component and the chroma reconstruction value.
[0072] For example, performing enhanced inter prediction filtering on the luminance component to obtain a target prediction value of the luminance component may include, but is not limited to, obtaining an inter prediction value of the luminance component and a luminance reconstruction value of a reconstructed pixel adjacent to the luminance component, and determining a target prediction value of the luminance component based on the inter prediction value of the luminance component and the luminance reconstruction value.
[0073] In one possible embodiment, performing enhanced inter prediction filtering on the chrominance components to obtain a target predicted value of the chrominance components may include performing enhanced inter prediction filtering on the chrominance components to obtain a target predicted value of the chrominance components if the chrominance components satisfy an enhanced inter prediction filter condition. Furthermore, the chrominance components satisfying the enhanced inter prediction filter condition may include, but is not limited to, the chrominance components and the luma components belonging to the same partition tree type.
[0074] In step 214, no filtering is performed on the current block, and the inter prediction value of the current block is determined as the target prediction value.
[0075] For example, when filtering is not performed on the current block, an inter-predicted value of the current block can be obtained, and the inter-predicted value of the current block can be determined as a target predicted value of the current block without filtering the inter-predicted value.
[0076] Example 2: As shown in FIG. 2B, a flowchart of an encoding method that can be applied to an encoding device, the method includes the following steps:
[0077] In step 221, if the inter-prediction filter enable flag indicates that the use of an inter-prediction filter is allowed for the current block, and the current block satisfies the inter-prediction filter condition, an inter-prediction filter identifier is encoded in the bitstream data of the current block according to the filter type of the current block.
[0078] Exemplarily, if the inter-prediction filter enable flag indicates that the use of an inter-prediction filter is permitted for the current block, and the current block satisfies the inter-prediction filter condition, an inter-prediction filter identifier is encoded in the bitstream data of the current block according to the filter type of the current block.
[0079] Exemplarily, if the filter type of the current block is an inter-prediction filter, the inter-prediction filter identifier indicates that the filter type of the current block is an inter-prediction filter, or if the filter type of the current block is an enhanced inter-prediction filter, the inter-prediction filter identifier indicates that the filter type of the current block is an enhanced inter-prediction filter, or if the filter type of the current block is a non-filter, the inter-prediction filter identifier indicates that the filter type of the current block is a non-filter.
[0080] Based on this, before step 221, the encoding device can first encode an inter-prediction filter enable flag in the bitstream data (i.e., the high-level syntax bitstream data), where the inter-prediction filter enable flag indicates whether the use of an inter-prediction filter is allowed for the current block, or whether the use of an inter-prediction filter is not allowed for the current block.
[0081] If the inter-prediction filter permission flag indicates that the use of the inter-prediction filter is permitted for the current block, it is determined whether the current block satisfies the inter-prediction filter condition.
[0082] If the current block does not satisfy the inter-prediction filter condition, the inter-prediction filter identifier of the current block is prohibited from being coded in the bitstream data of the current block, i.e., no inter-prediction filtering is performed on the current block, and no enhanced inter-prediction filtering is performed on the current block.
[0083] If the current block satisfies the inter-prediction filter condition, an inter-prediction filter identifier for the current block is encoded in the bitstream data of the current block, for example, the inter-prediction filter identifier is encoded in the bitstream data of the current block according to a filter type of the current block.
[0084] For example, the current block satisfying the inter prediction filter condition may include, but is not limited to, determining that the current block satisfies the inter prediction filter condition if the inter prediction mode of the current block is direct mode and / or if the current block satisfies a size restriction condition.
[0085] Exemplarily, encoding the inter-prediction filter identifier in the bitstream data of the current block according to the filter type of the current block may include, but is not limited to, when the inter-prediction filter enable flag indicates that use of an inter-prediction filter is allowed for the current block, when the filter type of the current block is a non-filter, the encoding device encodes the inter-prediction filter identifier in the bitstream data of the current block as a first value, where the inter-prediction filter identifier indicates that the filter type of the current block is a non-filter; when the filter type of the current block is an inter-prediction filter, the encoding device encodes the inter-prediction filter identifier in the bitstream data of the current block as a second value, where the inter-prediction filter identifier indicates that the filter type of the current block is an inter-prediction filter; and when the filter type of the current block is an enhanced inter-prediction filter, the encoding device encodes the inter-prediction filter identifier in the bitstream data of the current block as a third value, where the inter-prediction filter identifier indicates that the filter type of the current block is an enhanced inter-prediction filter. The first value, the second value, and the third value may be empirically set, and are not limited thereto, for example, the first value may be 0, the second value may be 10, and the third value may be 11.
[0086] In one possible embodiment, before encoding the inter-prediction filter identifier in the bitstream data of the current block according to the filter type of the current block, the filter type of the current block can be determined using the following scheme: perform inter-prediction filtering on the current block to obtain a first target prediction value of the current block, perform enhanced inter-prediction filtering on the current block to obtain a second target prediction value of the current block, do not filter the current block, and determine the inter-prediction value of the current block as a third target prediction value. Furthermore, the filter type of the current block can be determined based on a rate-distortion cost value corresponding to the first target prediction value, a rate-distortion cost value corresponding to the second target prediction value, and a rate-distortion cost value corresponding to the third target prediction value.
[0087] For example, if the rate-distortion cost value corresponding to the first target predicted value is the smallest rate-distortion cost value, it can be determined that the filter type of the current block is an inter-prediction filter. If the rate-distortion cost value corresponding to the second target predicted value is the smallest rate-distortion cost value, it can be determined that the filter type of the current block is an enhanced inter-prediction filter. If the rate-distortion cost value corresponding to the third target predicted value is the smallest rate-distortion cost value, it can be determined that the filter type of the current block is a non-filter.
[0088] For example, when performing inter-prediction filtering on a current block, an inter-prediction value of the current block and an intra-prediction value of the current block are obtained, and a first target prediction value of the current block can be determined based on the inter-prediction value and the intra-prediction value.
[0089] For example, the current block includes a luma component and a chroma component, and an inter-prediction filter process can be performed on the luma component to obtain a first target predicted value of the luma component, or an inter-prediction filter process can be performed on the chroma component to obtain a first target predicted value of the chroma component, or an inter-prediction filter process can be performed on the luma component to obtain a first target predicted value of the luma component and an inter-prediction filter process can be performed on the chroma component to obtain a first target predicted value of the chroma component.
[0090] For example, when performing enhanced inter-prediction filtering on a current block, an inter-prediction value of the current block and a reconstructed value of a reconstructed pixel adjacent to the current block (e.g., a reconstructed value of a column on the left side outside the current block and / or a reconstructed value of a row on the top side) can be obtained, and a second target prediction value of the current block can be determined based on the inter-prediction value and the reconstructed value.
[0091] For example, the current block includes a luma component and a chroma component, and an enhanced inter prediction filter process can be performed on the luma component to obtain a second target predicted value of the luma component, or an enhanced inter prediction filter process can be performed on the chroma component to obtain a second target predicted value of the chroma component, or an enhanced inter prediction filter process can be performed on the luma component to obtain a second target predicted value of the luma component and an enhanced inter prediction filter process can be performed on the chroma component to obtain a second target predicted value of the chroma component.
[0092] Performing enhanced inter prediction filtering on the chroma component to obtain a second target prediction value of the chroma component may include, but is not limited to, obtaining an inter prediction value of the chroma component and a chroma reconstruction value of a reconstructed pixel adjacent to the chroma component, and determining a second target prediction value of the chroma component based on the inter prediction value of the chroma component and the chroma reconstruction value.
[0093] Performing enhanced inter prediction filtering on the luminance component to obtain a second target prediction value of the luminance component may include, but is not limited to, obtaining an inter prediction value of the luminance component and a luminance reconstruction value of a reconstructed pixel adjacent to the luminance component, and determining the second target prediction value of the luminance component based on the inter prediction value of the luminance component and the luminance reconstruction value.
[0094] Performing an enhanced inter prediction filter process on the chrominance component to obtain a target predicted value of the chrominance component may include, but is not limited to, performing an enhanced inter prediction filter process on the chrominance component to obtain a second target predicted value of the chrominance component when the chrominance component satisfies an enhanced inter prediction filter condition. Furthermore, satisfying the enhanced inter prediction filter condition of the chrominance component may include, but is not limited to, the chrominance component and the luma component belonging to the same partition tree type.
[0095] For example, when no filtering is performed on the current block, an inter-predicted value of the current block can be obtained, and the inter-predicted value of the current block can be determined as the third target predicted value of the current block without filtering the inter-predicted value.
[0096] In step 222, bitstream data for the current block is sent to a decoding device, the bitstream data including an inter-prediction filter identifier that indicates the filter type of the current block is an inter-prediction filter, or indicates the filter type of the current block is an enhanced inter-prediction filter, or indicates the filter type of the current block is a non-filter.
[0097] Example 3: A flowchart of an encoding / decoding method that can be applied to an encoding device or a decoding device, as shown in FIG. 2C, where the encoding device realizes an encoding flow according to this method, and the decoding device realizes a decoding flow according to this method, and the method may include the following steps:
[0098] In step 231, if it is determined to enable the enhanced inter prediction filter for the current block, the enhanced inter prediction filter is performed on the chrominance component of the current block to obtain the target prediction value of the chrominance component.
[0099] In step 232, a target prediction value for the current block is determined based on the target prediction values of the chrominance components.
[0100] Exemplarily, when the current block includes a luma component and a chroma component, and it is determined to enable the enhanced inter prediction filter for the current block, the enhanced inter prediction filter is performed on the chroma component to obtain a target predicted value for the chroma component, and a target predicted value for the current block is determined based on the target predicted value for the chroma component, or the enhanced inter prediction filter is performed on the chroma component to obtain a target predicted value for the chroma component, and the enhanced inter prediction filter is performed on the luma component to obtain a target predicted value for the luma component, and a target predicted value for the current block is determined based on the target predicted value for the chroma component and the target predicted value for the luma component.
[0101] By way of example, performing enhanced inter prediction filtering on the chroma component to obtain a target predicted value for the chroma component may include, but is not limited to, obtaining an inter predicted value for the chroma component and a chroma reconstruction value for a reconstructed pixel adjacent to the chroma component, and determining a target predicted value for the chroma component based on the inter predicted value for the chroma component and the chroma reconstruction value.
[0102] For example, performing enhanced inter prediction filtering on the luminance component to obtain a target prediction value of the luminance component may include, but is not limited to, obtaining an inter prediction value of the luminance component and a luminance reconstruction value of a reconstructed pixel adjacent to the luminance component, and determining a target prediction value of the luminance component based on the inter prediction value of the luminance component and the luminance reconstruction value.
[0103] For example, performing an enhanced inter prediction filter process on a chroma component to obtain a target prediction value of the chroma component may include, but is not limited to, performing an enhanced inter prediction filter process on the chroma component to obtain a target prediction value of the chroma component when the chroma component satisfies an enhanced inter prediction filter condition. Furthermore, satisfying the enhanced inter prediction filter condition of the chroma component may include, but is not limited to, the chroma component and the luma component belonging to the same partition tree type.
[0104] According to the above technical solution, in an embodiment of the present invention, an enhanced inter prediction filter is used to process the chrominance component, i.e., an enhanced inter prediction filter is used to process the luma component and the chrominance component, thereby solving the problem of discontinuity in the spatial domain between the predicted block and surrounding pixels by inter prediction, solving the problem of discontinuity in the spatial domain of the chrominance component, and improving the coding performance.
[0105] Example 4: An encoding device can first obtain a high-level syntax, and the high-level syntax may include an inter-prediction filter enable flag, and there is no limitation on the obtaining manner as long as the inter-prediction filter enable flag can be obtained. The inter-prediction filter enable flag may be a sequence parameter set level flag, a picture parameter set level flag, a slice header level flag, or a picture header level flag, and there is no limitation on the high-level syntax type of the flag.
[0106] The inter-prediction filter permission flag indicates whether to permit use of an inter-prediction filter or not to permit use of an inter-prediction filter. For example, when the inter-prediction filter permission flag is a value A (e.g., a numerical value 1), the use of an inter-prediction filter is permitted, and when the inter-prediction filter permission flag is a value B (e.g., a numerical value 0), the use of an inter-prediction filter is not permitted.
[0107] Exemplarily, if the inter-prediction filter enable flag indicates that the use of an inter-prediction filter is permitted, the encoding device / decoding device determines that the inter-prediction filter enable flag indicates that the use of an inter-prediction filter is permitted for the current block when processing the current block, and if the inter-prediction filter enable flag indicates that the use of an inter-prediction filter is not permitted, the encoding device / decoding device determines that the inter-prediction filter enable flag indicates that the use of an inter-prediction filter is not permitted for the current block when processing the current block.
[0108] As described above, the encoding device / decoding device can understand that the inter-prediction filter permission flag indicates that the use of an inter-prediction filter is permitted for the current block, or that the use of an inter-prediction filter is not permitted for the current block.
[0109] Based on the above process, as shown in FIG. 3, the encoding and decoding method according to an embodiment of the present invention may include the following steps:
[0110] In step 301, the encoding device determines whether the inter-prediction filter enable flag indicates that the use of an inter-prediction filter is permitted for the current block.
[0111] If the inter-prediction filter permission flag indicates that the use of an inter-prediction filter is not permitted for the current block, the inter-prediction filter identifier for the current block is prohibited from being coded in the bitstream data for the current block, i.e., no inter-prediction filtering is performed for the current block, and no enhanced inter-prediction filtering is performed for the current block.
[0112] If the inter-prediction filter enable flag indicates that the use of an inter-prediction filter is permitted for the current block, step 302 is performed.
[0113] In step 302, the encoding device determines whether the current block satisfies the inter-prediction filter conditions.
[0114] If the current block does not satisfy the inter-prediction filter condition, the inter-prediction filter identifier of the current block is prohibited from being coded in the bitstream data of the current block, i.e., no inter-prediction filtering is performed on the current block, and no enhanced inter-prediction filtering is performed on the current block.
[0115] If the current block satisfies the inter-prediction filter condition, execute step 303 .
[0116] The process of determining that the current block satisfies the inter-prediction filter condition may include, but is not limited to, determining that the current block satisfies the inter-prediction filter condition if the inter-prediction mode of the current block is direct mode and / or if the current block satisfies a size restriction condition.
[0117] In one possible embodiment, the inter prediction mode may include, but is not limited to, normal inter mode, skip mode, and direct mode, etc. Then, if the inter prediction mode of the current block is direct mode, it can be determined that the current block satisfies the inter prediction filter condition, otherwise, it is determined that the current block does not satisfy the inter prediction filter condition. Or, if the inter prediction mode of the current block is neither normal inter mode nor skip mode, it can be determined that the current block satisfies the inter prediction filter condition, and if the inter prediction mode of the current block is normal inter mode or skip mode, it is determined that the current block does not satisfy the inter prediction filter condition.
[0118] Exemplarily, the direct mode may include, but is not limited to, a normal direct mode, an Affine mode, an SbTMVP mode, an UMVE mode, an inter prediction filter mode, a TPM mode, a GEO mode, etc. In addition, if the inter prediction mode of the current block is an inter prediction filter mode in a direct mode, it may be determined that the current block satisfies the inter prediction filter condition, and if the inter prediction mode of the current block is not an inter prediction filter mode in a direct mode, it may be determined that the current block does not satisfy the inter prediction filter condition. Or, if the inter prediction mode of the current block is neither a UMVE mode in a direct mode nor an Affine mode in a direct mode, it may be determined that the current block satisfies the inter prediction filter condition, and if the inter prediction mode of the current block is a UMVE mode or an Affine mode in a direct mode, it may be determined that the current block does not satisfy the inter prediction filter condition.
[0119] In another possible embodiment, if the current block satisfies the size restriction condition, it is determined that the current block satisfies the inter-prediction filter condition, and if the current block does not satisfy the size restriction condition, it is determined that the current block does not satisfy the inter-prediction filter condition.
[0120] The current block satisfying the size restriction condition may include, but is not limited to, that the width of the current block is less than or equal to a first value (which may be set empirically, but is not limited thereto, for example, 64, 128, etc.), the height of the current block is less than or equal to a second value (which may be set empirically, but is not limited thereto, for example, 64, 128, etc.), and the area of the current block is greater than or equal to a third value (which may be set empirically, but is not limited thereto, for example, 64, 128, etc.). Of course, the above are merely examples and are not limiting.
[0121] For example, if the width of the current block is less than or equal to 64, the height of the current block is less than or equal to 64, and the area of the current block (ie, width*height) is greater than or equal to 64, it may be determined that the current block satisfies the size constraint condition.
[0122] In another possible embodiment, if the inter prediction mode of the current block is direct mode (eg, inter prediction filter mode in direct mode) and the current block meets the size constraint condition, it is determined that the current block meets the inter prediction filter condition.
[0123] In step 303, the encoding device determines a filter type for the current block. The filter type for the current block may be a non-filter, or the filter type for the current block may be an inter-prediction filter, or the filter type for the current block may be an enhanced inter-prediction filter.
[0124] For a specific manner of determining the filter type of the current block, please refer to the above embodiment 2, and no further description will be given here.
[0125] For example, the current block may include a luma component and a chroma component, and when performing enhanced inter prediction filtering on the current block, enhanced inter prediction filtering may be performed on the luma component to obtain a second target predicted value of the luma component, or enhanced inter prediction filtering may be performed on the chroma component to obtain a second target predicted value of the chroma component, or enhanced inter prediction filtering may be performed on the luma component to obtain a second target predicted value of the luma component, and enhanced inter prediction filtering may be performed on the chroma component to obtain a second target predicted value of the chroma component.
[0126] For example, when performing enhanced inter prediction filter processing on a chrominance component, if the chrominance component satisfies an enhanced inter prediction filter condition, the enhanced inter prediction filter processing can be performed on the chrominance component, and if the chrominance component does not satisfy the enhanced inter prediction filter condition, the enhanced inter prediction filter processing is prohibited on the chrominance component. Furthermore, the chrominance component satisfying the enhanced inter prediction filter condition may include, but is not limited to, that the chrominance component and the luma component belong to the same partition tree type.
[0127] In one possible embodiment, if the chrominance component and the luma component belong to the same partitioning tree type, it is determined that the chrominance component satisfies the enhanced inter-prediction filter condition, and if the chrominance component and the luma component belong to different partitioning tree types, it is determined that the chrominance component does not satisfy the enhanced inter-prediction filter condition.
[0128] For example, if at least one of the following conditions is met, it is determined that the chrominance components and the luma components belong to different partitioning tree types, and if not, it is determined that the chrominance components and the luma components belong to the same partitioning tree type.
[0129] The current block is of partitioning tree type QT, and the width or height of the current block is equal to a preset value A (e.g., 8);
[0130] The current block is of a partitioning tree type of BT_VER, and the width of the current block is equal to a preset value B (e.g., 8);
[0131] The current block is of a partitioning tree type of BT_HOR, and the height of the current block is equal to a preset value C (e.g., 8);
[0132] The current block is of partitioning tree type EQT_VER and the width of the current block is equal to a preset value D (e.g., 16);
[0133] The current block is of a partitioning tree type of EQT_VER, and the height of the current block is equal to a preset value E (e.g., 8);
[0134] The current block is of a partitioning tree type of EQT_HOR, and the height of the current block is equal to a preset value F (e.g., 16);
[0135] The current block is of a partitioning tree type of EQT_HOR, and the width of the current block is equal to a preset value G (eg, 8).
[0136] In step 304, the encoding device determines an inter-prediction filter identifier for the current block according to the inter-prediction filter enable flag and the filter type of the current block. If the filter type of the current block is an inter-prediction filter, the inter-prediction filter identifier indicates that the filter type of the current block is an inter-prediction filter, if the filter type of the current block is an enhanced inter-prediction filter, the inter-prediction filter identifier indicates that the filter type of the current block is an enhanced inter-prediction filter, and if the filter type of the current block is a non-filter, the inter-prediction filter identifier indicates that the filter type of the current block is a non-filter.
[0137] In step 305, the encoding device encodes the inter-prediction filter identifier in the bitstream data for the current block.
[0138] Exemplarily, the inter-prediction filter identifier determination and encoding process may be referred to above in Example 2, and will not be further described here.
[0139] In step 306, the encoding device transmits the bitstream data of the current block to the decoding device.
[0140] For example, the bitstream data of the current block may include an inter-prediction filter identifier as well as other content related to the current block, such as content related to motion information, content related to reconstruction values, etc., without being limited thereto.
[0141] Illustratively, in the above process, an encoding device flow is introduced, and a decoding device flow may further include the following steps (not shown).
[0142] In step 307, upon receiving the bitstream data, the decoding device determines whether the inter-prediction filter enable flag indicates that the use of an inter-prediction filter is permitted for the current block.
[0143] If the inter-prediction filter permission flag indicates that the use of an inter-prediction filter is not permitted for the current block, parsing of the inter-prediction filter identifier for the current block from the bitstream data for the current block is prohibited, i.e., no inter-prediction filtering is performed for the current block, and no enhanced inter-prediction filtering is performed for the current block.
[0144] If the inter-prediction filter enable flag indicates that the use of an inter-prediction filter is permitted for the current block, step 308 is performed.
[0145] In step 308, the decoding device determines whether the current block satisfies the inter-prediction filter conditions.
[0146] If the current block does not satisfy the inter-prediction filter condition, the inter-prediction filter identifier of the current block is prohibited from being parsed from the bitstream data of the current block, i.e., no inter-prediction filtering is performed on the current block, and no enhanced inter-prediction filtering is performed on the current block.
[0147] If the current block satisfies the inter-prediction filter condition, perform step 309 .
[0148] In step 309, the decoding device parses the inter-prediction filter identifier for the current block from the bitstream data for the current block.
[0149] In step 310, the decoding device determines a filter type for the current block based on the inter-prediction filter enable flag and the inter-prediction filter identifier.
[0150] Illustratively, the process of determining the filter type can be seen in the above Example 1, and will not be further described here.
[0151] Exemplarily, if the filter type of the current block is an inter-prediction filter, perform step 311; if the filter type of the current block is an enhanced inter-prediction filter, perform step 312; and if the filter type of the current block is a non-filter, perform step 313.
[0152] In step 311, the decoding device performs inter-prediction filtering on the current block to obtain a target prediction value for the current block.
[0153] In step 312, the decoding device performs enhanced inter-prediction filtering on the current block to obtain a target prediction value for the current block.
[0154] In one possible embodiment, the current block includes a luma component and a chroma component, and enhanced inter prediction filtering is performed on the luma component to obtain a target predicted value for the luma component, or enhanced inter prediction filtering is performed on the chroma component to obtain a target predicted value for the chroma component, or enhanced inter prediction filtering is performed on the luma component to obtain a target predicted value for the luma component and enhanced inter prediction filtering is performed on the chroma component to obtain a target predicted value for the chroma component.
[0155] In step 313, the decoding device does not perform filtering on the current block, and determines the inter prediction value of the current block as the target prediction value.
[0156] The decoding device can obtain a target predicted value of the current block according to step 311, or step 312, or step 313, and can determine a reconstructed value of the current block based on the target predicted value of the current block, and there is no limitation on this determination process.
[0157] In the above aspect, by processing the chrominance component using an enhanced inter prediction filter, i.e., by processing the luma component and the chrominance component using an enhanced inter prediction filter, the problem of discontinuity in the spatial domain between the predicted block by inter prediction and surrounding pixels can be eliminated, for example, the problem of discontinuity in the spatial domain of the chrominance component can be eliminated, and encoding performance can be improved.
[0158] In an embodiment of the present invention, the enhanced inter prediction filter may support chrominance components, e.g., for chrominance components that meet the enhanced inter prediction filter conditions, the enhanced inter prediction filter techniques may be used to process the chrominance components.
[0159] For example, for an encoding device, if an inter-prediction filter enable flag (also referred to as an inter-prediction filter enable flag, hereinafter referred to as interpf_enable_flag or udip_enable_flag) indicates that the use of an inter-prediction filter is permitted for the current block, and the current block satisfies the inter-prediction filter condition, the encoding device can select a filter type from a no-filter, an inter-prediction filter, and an enhanced inter-prediction filter in the manner of RDO, and encode an inter-prediction filter identifier corresponding to this filter type, i.e., add this inter-prediction filter identifier to the bitstream data.
[0160] Exemplarily, for a decoding device, if the inter-prediction filter enable flag indicates that the use of an inter-prediction filter is permitted for the current block, and the current block satisfies the inter-prediction filter condition, the decoding device can analyze the inter-prediction filter identifier of the current block from the bitstream data of the current block, and determine the filter type of the current block according to the inter-prediction filter identifier. If the filter type is an inter-prediction filter, the decoding device performs inter-prediction filtering on the current block to obtain a target prediction value. If the filter type is an enhanced inter-prediction filter, the decoding device performs enhanced inter-prediction filtering on the current block to obtain a target prediction value. If the filter type is a non-filter, the decoding device does not perform filtering on the current block, and determines the inter-prediction value of the current block as the target prediction value.
[0161] Example 5: The enhanced inter prediction filter supports chrominance components. For example, enhanced inter prediction filtering may be performed on all chrominance components, or enhanced inter prediction filtering may be performed on chrominance components that satisfy enhanced inter prediction filtering conditions.
[0162] In the fifth embodiment, the encoding device can obtain an inter-prediction filter enable flag (interpf_enable_flag). The encoding device transmits the inter-prediction filter enable flag to the decoding device via the bitstream data, so that the decoding device can obtain the inter-prediction filter enable flag. In addition, the inter-prediction filter enable flag can control whether to turn on the inter-prediction filter and the enhanced inter-prediction filter. For example, when the inter-prediction filter enable flag is a value A (for example, 1), the inter-prediction filter and the enhanced inter-prediction filter can be controlled to be turned on, and when the inter-prediction filter enable flag is a value B (for example, 0), the inter-prediction filter and the enhanced inter-prediction filter can be controlled to be turned off. In the following embodiment, an example will be described in which the value A is 1 and the value B is 0.
[0163] The encoding device first determines the value of interpf_enable_flag, and if the value of interpf_enable_flag is 1, the use of an inter prediction filter and an enhanced inter prediction filter is permitted for the current block. If the value of interpf_enable_flag is 0, the use of an inter prediction filter and an enhanced inter prediction filter is not permitted for the current block. Furthermore, if the use of an inter prediction filter and an enhanced inter prediction filter is permitted for the current block, the encoding device may determine whether the current block satisfies an inter prediction filter condition.
[0164] If the current block satisfies the inter-prediction filter condition, the encoding device can select a filter type from no filter, inter-prediction filter, and enhanced inter-prediction filter according to the RDO manner, take this filter type as the filter type of the current block, and encode an inter-prediction filter identifier corresponding to this filter type, i.e., add this inter-prediction filter identifier to the bitstream data.
[0165] For example, the encoding device may use the following method when selecting one filter type from the no filter, the inter prediction filter, and the enhanced inter prediction filter according to the RDO method: The encoding device performs inter prediction filtering on the current block to obtain a first target predicted value of the current block, performs enhanced inter prediction filtering on the current block to obtain a second target predicted value of the current block, does not perform filtering on the current block, and determines the inter prediction value of the current block as a third target predicted value. If the rate-distortion cost value corresponding to the first target predicted value is the smallest rate-distortion cost value, the encoding device determines the filter type to be the inter prediction filter. If the rate-distortion cost value corresponding to the second target predicted value is the smallest rate-distortion cost value, the encoding device determines the filter type to be the enhanced inter prediction filter. If the rate-distortion cost value corresponding to the third target predicted value is the smallest rate-distortion cost value, the encoding device determines the filter type to be the no filter.
[0166] When the encoding device performs inter-prediction filtering on the current block to obtain a first target predicted value of the current block, the encoding device can perform inter-prediction filtering on the luma component of the current block to obtain a first target predicted value of the luma component, and can perform inter-prediction filtering on the chroma component of the current block to obtain a first target predicted value of the chroma component.
[0167] When performing enhanced inter prediction filtering on the current block to obtain a second target predicted value of the current block, the encoding device performs enhanced inter prediction filtering on the luma component of the current block to obtain a second target predicted value of the luma component, and performs enhanced inter prediction filtering on the chroma component of the current block to obtain a second target predicted value of the chroma component.
[0168] When performing enhanced inter prediction filter processing on the chrominance components of a current block, the encoding device first determines whether the chrominance components satisfy the enhanced inter prediction filter conditions. If the chrominance components satisfy the enhanced inter prediction filter conditions, the encoding device performs enhanced inter prediction filter processing on the chrominance components to obtain a second target prediction value for the chrominance components.
[0169] Exemplarily, the encoding device may refer to Table 1 when encoding an inter-prediction filter identifier corresponding to this filter type, and if the filter type of the current block is a non-filter, the encoding device encodes the first bit of the inter-prediction filter identifier as 0. If the filter type of the current block is an inter-prediction filter or an enhanced inter-prediction filter, the encoding device encodes the first bit of the inter-prediction filter identifier as 1, if the filter type of the current block is an inter-prediction filter, the encoding device encodes the second bit of the inter-prediction filter identifier as 0, and if the filter type of the current block is an enhanced inter-prediction filter, the encoding device encodes the second bit of the encoded inter-prediction filter identifier as 1.
[0170] [Table 1]
[0171] As can be seen from Table 1, if the filter type of the current block is non-filtered, the inter-prediction filter identifier is 0, and the filter scheme index corresponding to “non-filtered” is 0. If the filter type of the current block is an inter-prediction filter, the inter-prediction filter identifier is 10, and the filter scheme index corresponding to “inter-prediction filter” is 1. If the filter type of the current block is an enhanced inter-prediction filter, the inter-prediction filter identifier is 11, and the filter scheme index corresponding to “enhanced inter-prediction filter” is 2.
[0172] The decoding device analyzes a value of interpf_enable_flag from the bitstream data, and if the value of interpf_enable_flag is 1, the use of an inter prediction filter and an enhanced inter prediction filter is permitted for the current block. If the value of interpf_enable_flag is 0, the use of an inter prediction filter and an enhanced inter prediction filter is not permitted for the current block. Furthermore, if the use of an inter prediction filter and an enhanced inter prediction filter is permitted for the current block, the decoding device may determine whether the current block satisfies an inter prediction filter condition. If the current block satisfies the inter prediction filter condition, the decoding device may analyze an inter prediction filter identifier of the current block from the bitstream data of the current block, and determine a filter type of the current block based on the inter prediction filter identifier.
[0173] For example, as shown in Table 1, the decoding device decodes the first bit of the inter prediction filter identifier, and if the first bit is 0, i.e., the inter prediction filter identifier is 0, it determines that the filter type of the current block is a non-filter; if the first bit is not 0 (the first bit is 1), it decodes the second bit of the inter prediction filter identifier, and if the second bit is 0, i.e., the inter prediction filter identifier is 10, it determines that the filter type of the current block is an inter prediction filter; and if the second bit is not 0 (the second bit is 1), i.e., the inter prediction filter identifier is 11, it determines that the filter type of the current block is an enhanced inter prediction filter.
[0174] As can be seen from Table 1, if the inter prediction filter identifier is 0, it is determined that the filter scheme index is 0 and the filter type corresponding to the filter scheme index 0 is a non-filter. If the inter prediction filter identifier is 10, it is determined that the filter scheme index is 1 and the filter type corresponding to the filter scheme index 1 is an inter prediction filter. If the inter prediction filter identifier is 11, it is determined that the filter scheme index is 2 and the filter type corresponding to the filter scheme index 2 is an enhanced inter prediction filter.
[0175] If the filter type of the current block is a non-filter, the decoding device may not perform a filter process on the current block and may determine the inter-prediction value of the current block as a target prediction value. If the filter type of the current block is an inter-prediction filter, the decoding device may perform an inter-prediction filter process on the current block to obtain a target prediction value of the current block, and if the filter type of the current block is an enhanced inter-prediction filter, the decoding device may perform an enhanced inter-prediction filter process on the current block to obtain a target prediction value of the current block.
[0176] When performing inter-prediction filtering on the current block to obtain a target predicted value of the current block, the decoding device can perform inter-prediction filtering on the luma component of the current block to obtain a target predicted value of the luma component, and can perform inter-prediction filtering on the chroma component of the current block to obtain a target predicted value of the chroma component.
[0177] When performing enhanced inter prediction filtering on the current block to obtain a target predicted value of the current block, the decoding device can perform enhanced inter prediction filtering on the luma component of the current block to obtain a target predicted value of the luma component, and can perform enhanced inter prediction filtering on the chroma component of the current block to obtain a target predicted value of the chroma component.
[0178] When performing enhanced inter prediction filter processing on the chrominance components of a current block, the decoding device first determines whether the chrominance components satisfy the enhanced inter prediction filter conditions. If the chrominance components satisfy the enhanced inter prediction filter conditions, the decoding device performs enhanced inter prediction filter processing on the chrominance components to obtain target prediction values for the chrominance components.
[0179] In the above embodiment, for the encoding device and the decoding device, the inter prediction filter conditions satisfied by the current block may include, but are not limited to, that the current block is in Direct mode (not Skip mode or normal inter mode), that the current block does not use UMVE mode or AFFINE mode, and that the current block satisfies the size restriction condition.
[0180] In the above embodiment, for the encoding device and decoding device, enhanced inter prediction filtering may be performed on all chrominance components, or enhanced inter prediction filtering may be performed on chrominance components that satisfy the enhanced inter prediction filtering conditions. For example, when a chrominance component and a luminance component belong to the same partitioning tree type, the chrominance component satisfies the enhanced inter prediction filtering conditions.
[0181] Example 6: Any of the examples of Example 1 to Example 5 relates to an encoding device / decoding device performing inter-prediction filter processing on a current block to obtain a target predicted value of the current block. The following describes the realization process of an inter-prediction filter (interpf). The inter-prediction filter can be used in Direct mode, and obtains an inter-prediction value in Direct mode, and obtains an intra-prediction value using an intra-prediction mode, and finally obtains a final target predicted value by weighting the inter-prediction value and the intra-prediction value. The inter-prediction filter can solve the problem of discontinuity in the spatial domain between a prediction block and surrounding pixels by inter-prediction.
[0182] As shown in Figure 4, a schematic diagram of a decoding process including an inter-prediction filter, and here the decoding process of a decoding device is taken as an example to describe, and the encoding process of an encoding device is similar. The inter-prediction filter is performed between the inter-prediction process and the reconstruction process, and the inter-prediction filter mainly targets the current block of Direct mode (not Skip mode and normal inter mode), and does not use UMVE mode or AFFINE mode for this current block.
[0183] If it is necessary to use an inter prediction filter for the current block, the inter prediction mode can be used to first obtain the inter prediction value of the current block, and the intra prediction mode can be used to obtain the intra prediction value of the current block, and then the target prediction value of the current block can be determined according to the inter prediction value and the intra prediction value, and the reconstruction process can be completed according to the target prediction value of the current block. If it is not necessary to use an inter prediction filter for the current block, the inter prediction mode can be used to first obtain the inter prediction value of the current block, and then the inter prediction value of the current block can be determined as the target prediction value of the current block, and the reconstruction process can be completed according to the target prediction value of the current block.
[0184] For example, for each pixel position of the current block, an inter prediction mode can be used to obtain an inter prediction value of the pixel position, and an intra prediction mode (e.g., Plane mode, DC mode, any angle mode, etc., but not limited to this intra prediction mode) can be used to obtain an intra prediction value of the pixel position, and a weighting operation can be performed on the inter prediction value of the pixel position and the intra prediction value of the pixel position to obtain a target prediction value of the pixel position. Then, the target prediction values of all pixel positions of the current block can be combined to obtain a target prediction value of the current block.
[0185] In one possible embodiment, for each pixel position of the current block, if the Plane mode is used to obtain the intra predicted value of the pixel position, the intra predicted value of this pixel position can be obtained using the following formula:
[0186] Pred_Q(x,y)=(Pred_V(x,y)+Pred_H(x,y)+1)>>2 Pred_V(x,y)=((h-1-y)*Recon(x,-1)+(y+1)*Recon(-1,h)+(h>>1))>>log2(h) Pred_H(x,y)=((w-1-x)*Recon(-1,y)+(x+1)*Recon(w,-1)+(w>>1))>>log2(w)
[0187] In the above equation, Pred_Q(x,y) represents the intra-predicted value of pixel position (x,y), w and h are the width and height of the current block, x and y are the relative coordinates within the current block, and Recon(x,y) is the value of the reconstructed pixels surrounding the current block.
[0188] In one possible embodiment, for each pixel position of the current block, perform 5:3 weighting based on the inter prediction value (Pred_inter) and the intra prediction value (pred_Q) to obtain the target prediction value of this pixel position, of course, 5:3 is only an example, and other weighting factors can also be used. For example, the following formula can be used to obtain the target prediction value of this pixel position:
[0189] Pred(x,y)=(Pred_inter(x,y)*5+Pred_Q(x,y)*3+4)>>3
[0190] In the above equation, Pred(x,y) may represent a target predicted value for pixel position (x,y), Pred_inter(x,y) may represent an inter predicted value for pixel position (x,y), and Pred_Q(x,y) may represent an intra predicted value for pixel position (x,y).
[0191] Example 7: In any of the examples of Example 1 to Example 5, the encoding device / decoding device performs enhanced inter-prediction filter processing on the current block to obtain the target predicted value of the current block. The realization process of enhanced inter-prediction filter (enhance interpf) is described below. When performing enhanced inter-prediction filter processing on the current block, the inter-prediction value of the current block and the reconstructed value of the reconstructed pixel adjacent to the current block (for example, the reconstructed value of one column on the left side outside the current block and / or the reconstructed value of one row on the upper side) can be obtained, and the target predicted value of the current block can be determined based on this inter-prediction value and this reconstructed value.
[0192] The enhanced inter prediction filter is derived from an intra prediction filter (IPF), and by introducing the intra prediction filter into the inter prediction filter, an enhanced inter prediction filter can be performed on the current block, thereby more effectively removing noise and discontinuity after motion compensation. Since the enhanced inter prediction filter is derived from the intra prediction filter, first, the contents related to the intra prediction filter are introduced. The intra prediction filter can use 1 bit to indicate whether or not the intra prediction filter is allowed to be used on the current block, and in the RDO stage, it can be determined whether or not the intra prediction filter needs to be used on the current block. In addition, the intra prediction filter technology needs to select a reference pixel according to the intra prediction mode of the current block, and can be divided into the following three cases.
[0193] Case 1: For DC mode, Plane mode, and Bilinear mode, a column of reconstructed pixels on the left and a row of reconstructed pixels on the top are used as reference pixels, and a 3-tap filter is used, and intra-prediction filtering can be performed using, for example, the following equation:
[0194]
number
[0195] In the above formula, 0 ≦ x, y < N, P’(x, y) is the intra prediction value after filtering, P(x, y) is the intra prediction value obtained in a general intra prediction mode, f(x) and f(y) are filter coefficients, and N is the size of the current block.
[0196] Case 2: For the vertical prediction mode (e.g., mode 3 to mode 18) in HPM (High-Performance Model), the reconstructed pixels in the leftmost column are used as reference pixels, a 2-tap filter is used, and for example, the following formula can be used to perform an intra prediction filter.
[0197]
Equation
[0198] In the above formula, x < N, P’(x, y) may be the intra prediction value after filtering, P(x, y) may be the intra prediction value obtained in a general intra prediction mode, f(x) and f(y) may be filter coefficients, and N is the size of the current block.
[0199] Case 3: For the horizontal prediction mode (e.g., mode 19 to mode 32) in HPM, the reconstructed pixels in the uppermost row are used as reference pixels, a 2-tap filter is used, and for example, the following formula can be used to perform an intra prediction filter.
[0200]
Equation
[0201] In the above formula, y < N, P’(x, y) may be the intra prediction value after filtering, P(x, y) may be the intra prediction value obtained in a general intra prediction mode, f(x) and f(y) may be filter coefficients, and N is the size of the current block.
[0202] For example, for cases 1, 2 and 3, in order to avoid floating-point operations, fixed-point processing can be further performed on the filter coefficients, for example, the intra prediction filter equation of case 1 can be replaced with the following equation, in which F(x) and F(y) are coefficients after fixed-point processing, that is, f(x) and f(y) are converted to F(x) and F(y), and cases 2 and 3 are similar and will not be further described here.
[0203]
number
[0204] For example, F(x) and F(y) may be filter coefficients (i.e., filter coefficients after amplification), and an example of filter coefficients is shown in Table 2, which is related to both the size of the block and the distance from the reference pixel. In Table 2, the size of the prediction block represents the width or height of the current block, and the distance from the reference pixel represents the prediction distance. In Table 2, the maximum prediction distance is 10, and in actual applications, the maximum prediction distance may be larger, and there is no limitation thereon.
[0205] [Table 2]
[0206] 5, for example, for pixel position A in the first row and third column of the current block, if the reference pixel is the reconstruction pixel in the first column to the left, the distance between pixel position A and the reference pixel is 3, if the size of the current block is 4*4, the filter coefficient is 2, if the size of the current block is 8*8, the filter coefficient is 14, if the size of the current block is 16*16, the filter coefficient is 19, if the size of the current block is 32*32, the filter coefficient is 21, and based on this, the filter coefficient determination method for other pixel positions is the same as the filter coefficient determination method for pixel position A, and will not be described further here.
[0207] For example, by introducing an intra prediction filter into an inter prediction filter, an enhanced inter prediction filter is performed on the current block, i.e., a filter scheme that is an enhanced inter prediction filter can be added to the inter prediction filter, and the enhanced inter prediction filter can improve the coding performance without changing the complexity of the coding and decoding. An inter prediction filter identifier can be used to indicate whether or not to use the enhanced inter prediction filter, and an index identifier should indicate the selected filter type.
[0208] As shown in Figure 4, a schematic diagram of a decoding process including an enhanced inter prediction filter, in which the decoding process of a decoding device is taken as an example to describe, and the encoding process of an encoding device is similar. The enhanced inter prediction filter is performed between the inter prediction process and the reconstruction process, and the enhanced inter prediction filter mainly targets the current block of Direct mode (not Skip mode and normal inter mode), and does not use UMVE mode or AFFINE mode for this current block.
[0209] If need to use enhanced inter prediction filter for current block, can first use inter prediction mode to obtain the inter prediction value of current block, and obtain the reconstruction value of the reconstruction pixel adjacent to current block (for example, the reconstruction value of one column on the left side and / or the reconstruction value of one row on the upper side outside current block), and then determine the target prediction value of current block according to this inter prediction value and this reconstruction value, and complete the reconstruction process according to the target prediction value of current block.For example, can use the formula in the above case 3, and the realization principle is similar, and is not limited thereto.
[0210] For example, the above-mentioned Examples 1 to 7 may be implemented alone or in combination. For example, Examples 1 and 2 may be implemented in combination, Examples 1 and 3 may be implemented in combination, Examples 2 and 3 may be implemented in combination, Examples 3 and 5 may be implemented in combination, and Examples 1, 6, and 7 may be implemented in combination. Of course, the above are merely some examples, and the combinations between the Examples are not limited.
[0211] Based on the same application concept as the above method, an embodiment of the present invention further proposes a decoding device for use in a decoding device. As shown in FIG. 6A , this is a structural diagram of the device, and the device includes: an obtaining module 611 for analyzing an inter-prediction filter identifier of the current block from bitstream data of the current block when an inter-prediction filter enable flag indicates that an inter-prediction filter is enabled for a current block and the current block satisfies an inter-prediction filter condition; and a processing module 612 for performing inter-prediction filtering on the current block to obtain a target predicted value of the current block when the inter-prediction filter identifier indicates that a filter type of the current block is an inter-prediction filter, and performing enhanced inter-prediction filtering on the current block to obtain a target predicted value of the current block when the inter-prediction filter identifier indicates that a filter type of the current block is an enhanced inter-prediction filter.
[0212] The acquisition module 611 is further used for parsing an inter-prediction filter enable flag from the bitstream data, where the inter-prediction filter enable flag indicates whether the use of an inter-prediction filter is allowed for the current block or whether the use of an inter-prediction filter is not allowed for the current block.
[0213] Exemplarily, when the inter prediction filter enable flag indicates that the use of an inter prediction filter is permitted for the current block, when the inter prediction filter identifier is a first value, the inter prediction filter identifier indicates that the filter type of the current block is a non-filter, when the inter prediction filter identifier is a second value, the inter prediction filter identifier indicates that the filter type of the current block is an inter prediction filter, and when the inter prediction filter identifier is a third value, the inter prediction filter identifier indicates that the filter type of the current block is an enhanced inter prediction filter.
[0214] The current block includes a luma component and a chroma component. When the processing module 612 performs enhanced inter prediction filtering on the current block to obtain a target predicted value of the current block, the processing module 612 is specifically used to perform enhanced inter prediction filtering on the luma component to obtain a target predicted value of the luma component, or to perform enhanced inter prediction filtering on the chroma component to obtain a target predicted value of the chroma component, or to perform enhanced inter prediction filtering on the luma component to obtain a target predicted value of the luma component, and to perform enhanced inter prediction filtering on the chroma component to obtain a target predicted value of the chroma component.
[0215] The processing module 612 performs enhanced inter prediction filter processing on the chrominance component to obtain a target predicted value of the chrominance component, specifically, the processing module 612 obtains an inter predicted value of the chrominance component and a chrominance reconstruction value of a reconstructed pixel adjacent to the chrominance component, and determines a target predicted value of the chrominance component based on the inter predicted value of the chrominance component and the chrominance reconstruction value.
[0216] Based on the same application concept as the above method, an embodiment of the present invention further proposes an encoding device for use in an encoding device, and as shown in FIG. 6B, which is a structural diagram of the device, the device includes: a processing module 621 for encoding an inter-prediction filter identifier in bitstream data of the current block according to a filter type of the current block when an inter-prediction filter enable flag indicates that an inter-prediction filter is enabled for a current block and the current block satisfies an inter-prediction filter condition, where if the filter type of the current block is an inter-prediction filter, the inter-prediction filter identifier indicates that the filter type of the current block is an inter-prediction filter, or if the filter type of the current block is an enhanced inter-prediction filter, the inter-prediction filter identifier indicates that the filter type of the current block is an enhanced inter-prediction filter; and a transmitting module 622 for transmitting the bitstream data of the current block.
[0217] The processing module 621 is further used to encode an inter-prediction filter enable flag in the bitstream data, the inter-prediction filter enable flag indicating whether the use of an inter-prediction filter is allowed for the current block or whether the use of an inter-prediction filter is not allowed for the current block.
[0218] Specifically, when the inter prediction filter enable flag indicates that the use of an inter prediction filter is permitted for the current block, the processing module 621 is used to encode the inter prediction filter identifier in the bit stream data of the current block as a first value when the filter type of the current block is a non-filter, to encode the inter prediction filter identifier in the bit stream data of the current block as a second value when the filter type of the current block is an inter prediction filter, and to encode the inter prediction filter identifier in the bit stream data of the current block as a third value when the filter type of the current block is an enhanced inter prediction filter.
[0219] The processing module 621 is further used for: performing inter-prediction filtering on the current block to obtain a first target prediction value of the current block; performing enhanced inter-prediction filtering on the current block to obtain a second target prediction value of the current block; not performing filtering on the current block; determining the inter-prediction value of the current block as a third target prediction value; and determining a filter type for the current block based on a rate-distortion cost value corresponding to the first target prediction value, a rate-distortion cost value corresponding to the second target prediction value, and a rate-distortion cost value corresponding to the third target prediction value.
[0220] The current block includes a luma component and a chroma component. When the processing module 621 performs enhanced inter prediction filtering on the current block to obtain a second target predicted value of the current block, the processing module 621 is specifically used to perform enhanced inter prediction filtering on the luma component to obtain a second target predicted value of the luma component, or to perform enhanced inter prediction filtering on the chroma component to obtain a second target predicted value of the chroma component, or to perform enhanced inter prediction filtering on the luma component to obtain a second target predicted value of the luma component, and to perform enhanced inter prediction filtering on the chroma component to obtain a second target predicted value of the chroma component.
[0221] When performing enhanced inter prediction filter processing on the chroma component to obtain a second target predicted value of the chroma component, the processing module 621 is specifically used to obtain an inter predicted value of the chroma component and a chroma reconstruction value of a reconstructed pixel adjacent to the chroma component, and determine a second target predicted value of the chroma component based on the inter predicted value of the chroma component and the chroma reconstruction value.
[0222] Based on the same application concept as the above method, an embodiment of the present invention further proposes an encoding / decoding device for use in a decoding device or an encoding device, and as shown in FIG. 6C, which is a structural diagram of the device, the device includes: a processing module 631 for performing enhanced inter prediction filter processing on a chrominance component of the current block to obtain a target prediction value of the chrominance component when it is determined to enable an enhanced inter prediction filter for the current block; and a determination module 632 for determining a target prediction value of the current block according to the target prediction value of the chrominance component.
[0223] Specifically, the processing module 631 is used to perform enhanced inter prediction filter processing on the chrominance component of the current block to obtain a target predicted value of the chrominance component when the chrominance component of the current block satisfies an enhanced inter prediction filter condition, where the chrominance component satisfies the enhanced inter prediction filter condition includes, but is not limited to, the chrominance component of the current block and the luma component of the current block belonging to the same partition tree type.
[0224] The processing module 631 is specifically used to obtain an inter-prediction value of a chrominance component and a chrominance reconstruction value of a reconstructed pixel adjacent to the chrominance component, and determine a target prediction value of the chrominance component based on the inter-prediction value of the chrominance component and the chrominance reconstruction value.
[0225] The processing module 631 is further used for performing enhanced inter-prediction filtering on the luminance component of the current block to obtain a target prediction value of the luminance component, and the determination module 632 is specifically used for determining a target prediction value of the current block based on the target prediction value of the chrominance component and the target prediction value of the luminance component.
[0226] From a hardware perspective, a decoding device according to an embodiment of the present invention (exemplarily, the decoding device may be a video decoding device, the schematic diagram of which can be specifically referred to in FIG. 7A for its hardware architecture, includes a processor 711 and a machine-readable storage medium 712. The machine-readable storage medium 712 stores machine-executable instructions that can be executed by the processor 711. The processor 711 is used to implement the methods disclosed in the above examples of the present invention by executing the machine-executable instructions. For example, the processor executes machine-executable instructions to perform the following steps: if an inter-prediction filter enable flag indicates that an inter-prediction filter is allowed for the current block and the current block satisfies an inter-prediction filter condition, parsing an inter-prediction filter identifier for the current block from bitstream data of the current block; if the inter-prediction filter identifier indicates that the filter type of the current block is an inter-prediction filter, performing inter-prediction filtering on the current block to obtain a target prediction value for the current block; and if the inter-prediction filter identifier indicates that the filter type of the current block is an enhanced inter-prediction filter, performing enhanced inter-prediction filtering on the current block to obtain a target prediction value for the current block.
[0227] Alternatively, when the processor determines to enable an enhanced inter prediction filter for the current block by executing the machine-executable instructions, the processor performs the steps of performing enhanced inter prediction filtering on a chroma component of the current block to obtain a target prediction value for the chroma component, and determining a target prediction value for the current block based on the target prediction value for the chroma component.
[0228] From a hardware perspective, the encoding device according to the embodiment of the present invention (exemplary, the encoding device may be a video encoding device), the schematic diagram of the hardware architecture of which can be specifically referred to in FIG. 7B, includes a processor 721 and a machine-readable storage medium 722. The machine-readable storage medium 722 stores machine-executable instructions that the processor 721 can execute. The processor 721 executes the machine-executable instructions to implement the method disclosed in the above embodiment of the present invention. For example, the processor executes the machine-executable instructions to implement the following steps: if an inter-prediction filter enable flag indicates that an inter-prediction filter is enabled for a current block and the current block satisfies an inter-prediction filter condition, encode an inter-prediction filter identifier in the bitstream data of the current block according to a filter type of the current block, where if the filter type of the current block is an inter-prediction filter, the inter-prediction filter identifier indicates that the filter type of the current block is an inter-prediction filter, or if the filter type of the current block is an enhanced inter-prediction filter, the inter-prediction filter identifier indicates that the filter type of the current block is an enhanced inter-prediction filter. Alternatively, when the processor determines to enable an enhanced inter prediction filter for the current block by executing the machine-executable instructions, the processor performs the steps of performing enhanced inter prediction filtering on a chroma component of the current block to obtain a target prediction value for the chroma component, and determining a target prediction value for the current block based on the target prediction value of the chroma component.
[0229] Based on the same application concept as the above method, an embodiment of the present invention further provides a camera device, which may include the encoding device and / or the decoding device in any of the above embodiments.
[0230] Based on the same application concept as the above method, an embodiment of the present invention further provides a machine-readable storage medium, in which a plurality of computer instructions are stored, and when the computer instructions are executed by a processor, the decoding method, or the encoding method, or the encoding / decoding method disclosed in the above example of the present invention can be realized, but is not limited thereto.
[0231] The system, device, module, or unit described in the above embodiments may be realized by a computer chip or entity, or may be realized by a product having some function. One typical implementation is a computer, and the form of the computer may be a personal computer, a laptop computer, a mobile phone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an e-mail sending and receiving device, a tablet computer, a wearable device, or a combination of any of these devices.
[0232] For convenience of description, the above apparatus will be described by dividing it into various units according to their functions. Of course, when implementing the present application, the functions of each unit can be realized by the same or multiple pieces of software and / or hardware.
[0233] Those skilled in the art will appreciate that embodiments of the present invention may be provided as a method, a system, or a computer program product. The present application may use an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Also, embodiments of the present invention may use the form of a computer program product embodied in one or more computer usable storage media (including but not limited to disk memory, CD-ROM, optical memory, etc.) containing computer usable program code.
[0234] The above is merely an embodiment of the present application, and is not intended to limit the present application. The present invention is susceptible to various modifications and variations by those skilled in the art. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application should be included within the scope of the claims of the present application. [Explanation of symbols]
[0235] 611 Acquisition Module 612 Processing Module 621 Processing Module 622 Transmitting Module 631 Processing Module 632 Decision Module 711 Processor 712 Machine-readable storage medium 721 Processor 722 Machine-readable storage medium
Claims
1. A decoding method for use in a decoding device, comprising: If the inter-prediction filter enable flag indicates that the use of an inter-prediction filter is permitted for the current block and the current block satisfies an inter-prediction filter condition, parse an inter-prediction filter identifier of the current block from bitstream data of the current block; If the inter-prediction filter identifier indicates that the filter type of the current block is an inter-prediction filter, performing an inter-prediction filtering process on the current block to obtain a target prediction value of the current block; If the inter prediction filter identifier indicates that the filter type of the current block is an enhanced inter prediction filter, performing an enhanced inter prediction filtering process on the current block to obtain a target prediction value of the current block; The current block includes a chrominance component, and performing an enhanced inter-prediction filtering process on the current block to obtain a target predicted value of the current block includes: performing an enhanced inter-prediction filtering process on the chrominance components of the current block to obtain a target predicted value of the chrominance components; determining a target prediction value for the current block based on the target prediction value of the chrominance components; performing an enhanced inter-prediction filtering process on a chrominance component of the current block to obtain a target predicted value of the chrominance component; If the current block satisfies an enhanced inter-prediction filter condition, performing an enhanced inter-prediction filter process on a chrominance component of the current block to obtain a target prediction value of the chrominance component; The current block satisfies the enhanced inter-prediction filter condition includes at least that the chrominance component of the current block and the luminance component of the current block belong to the same partitioning tree type.
4. A decoding method comprising:
2. The current block includes a luminance component and a chrominance component, and performing an enhanced inter-prediction filter process on the current block to obtain a target predicted value of the current block includes: performing an enhanced inter prediction filter process on a luminance component of the current block to obtain a target predicted value of the luminance component; and performing an enhanced inter prediction filter process on a chrominance component of the current block to obtain a target predicted value of the chrominance component. determining a target predicted value for the current block based on the target predicted value of the luma component and the target predicted value of the chroma component.
2. The method of claim 1 .
3. performing an enhanced inter prediction filter process on a chrominance component of the current block to obtain a target predicted value of the chrominance component, obtaining an inter prediction value of the chroma component and a chroma reconstruction value of a reconstructed pixel adjacent to the chroma component; determining a target predicted value of the chroma component based on the inter predicted value of the chroma component and the chroma reconstruction value.
3. The method according to claim 1 or 2.
4. The chrominance components of the current block and the luminance components of the current block belong to the same partitioning tree type when the current block is The current block is a partition tree type of a quadtree QT, and the width or height of the current block is equal to 8; The current block is a partitioning tree type of a vertical binary tree BT_VER, and the width of the current block is equal to 8; The current block is a horizontal binary tree BT_HOR split tree type, and the height of the current block is equal to 8; The current block is a partitioning tree type of vertically extended quadtree EQT_VER, and the width of the current block is equal to 16; The current block is a partitioning tree type of vertically extended quadtree EQT_VER, and the height of the current block is equal to 8; The current block is a partitioning tree type of horizontally extended quadtree EQT_HOR, and the height of the current block is equal to 16; the current block is a partitioning tree type of a horizontally expanding quadtree EQT_HOR, and the width of the current block is equal to 8.
4. The method according to claim 3 .
5. The current block satisfies an inter-prediction filter condition, at least The inter prediction mode of the current block is a direct mode; or The current block satisfies a size constraint condition; The current block satisfies the size restriction condition when the width of the current block is 64 or less, the height of the current block is 64 or less, and the area of the current block is 64 or more.
2. The method of claim 1 .
6. An encoding method for use in an encoding device, comprising: If the inter-prediction filter enable flag indicates that an inter-prediction filter is enabled for the current block and the current block satisfies an inter-prediction filter condition, encoding an inter-prediction filter identifier in the bitstream data of the current block according to a filter type of the current block; If the filter type of the current block is an inter-prediction filter, the inter-prediction filter identifier indicates that the filter type of the current block is an inter-prediction filter; or If the filter type of the current block is an enhanced inter prediction filter, the inter prediction filter identifier indicates that the filter type of the current block is an enhanced inter prediction filter; before encoding an inter-prediction filter identifier in the bitstream data of the current block according to a filter type of the current block, performing an inter-prediction filtering process on the current block to obtain a first target predicted value of the current block; performing an enhanced inter-prediction filtering process on the current block to obtain a second target predicted value of the current block; determining an inter prediction value of the current block as a third target prediction value without performing a filtering process on the current block; determining a filter type for the current block based on a rate-distortion cost value corresponding to the first target predicted value, a rate-distortion cost value corresponding to the second target predicted value, and a rate-distortion cost value corresponding to the third target predicted value; The current block includes a chrominance component, and performing an enhanced inter-prediction filtering process on the current block to obtain a target predicted value of the current block includes: performing an enhanced inter-prediction filtering process on the chrominance components of the current block to obtain a target predicted value of the chrominance components; determining a target prediction value for the current block based on the target prediction value of the chrominance components; performing an enhanced inter-prediction filtering process on a chrominance component of the current block to obtain a target predicted value of the chrominance component; If the current block satisfies an enhanced inter-prediction filter condition, performing an enhanced inter-prediction filter process on a chrominance component of the current block to obtain a target prediction value of the chrominance component; The current block satisfies the enhanced inter-prediction filter condition includes at least that the chrominance component of the current block and the luminance component of the current block belong to the same partitioning tree type.
13. An encoding method comprising:
7. The current block includes a luminance component and a chrominance component, and performing an enhanced inter-prediction filtering process on the current block to obtain a second target predicted value of the current block includes: performing an enhanced inter prediction filter process on a luminance component of the current block to obtain a target predicted value of the luminance component; and performing an enhanced inter prediction filter process on a chrominance component of the current block to obtain a target predicted value of the chrominance component. determining a second target predicted value for the current block based on the target predicted value of the luma component and the target predicted value of the chroma component.
7. The method of claim 6.
8. performing an enhanced inter-prediction filtering process on a chrominance component of the current block to obtain a target predicted value of the chrominance component; obtaining an inter prediction value of the chroma component and a chroma reconstruction value of a reconstructed pixel adjacent to the chroma component; determining a target predicted value for the chroma component based on the inter predicted value for the chroma component and the chroma reconstruction value.
8. The method according to claim 6 or 7.
9. The chrominance components of the current block and the luminance components of the current block belong to the same partitioning tree type when the current block is The current block is a partition tree type of a quadtree QT, and the width or height of the current block is equal to 8; The current block is a partitioning tree type of a vertical binary tree BT_VER, and the width of the current block is equal to 8; The current block is a horizontal binary tree BT_HOR split tree type, and the height of the current block is equal to 8; The current block is a partitioning tree type of vertically extended quadtree EQT_VER, and the width of the current block is equal to 16; The current block is a partitioning tree type of vertically extended quadtree EQT_VER, and the height of the current block is equal to 8; The current block is a partitioning tree type of horizontally extended quadtree EQT_HOR, and the height of the current block is equal to 16; the current block is a partitioning tree type of a horizontally expanding quadtree EQT_HOR, and the width of the current block is equal to 8.
7. The method of claim 6.
10. The current block satisfies an inter-prediction filter condition at least The inter prediction mode of the current block is a direct mode; or The current block satisfies a size constraint condition; The current block satisfies the size restriction condition when the width of the current block is 64 or less, the height of the current block is 64 or less, and the area of the current block is 64 or more.
7. The method of claim 6.
11. A decoding device for use in a decoding device, comprising: an obtaining module for analyzing an inter-prediction filter identifier of the current block from the bitstream data of the current block when an inter-prediction filter enable flag indicates that an inter-prediction filter is enabled for the current block and the current block satisfies an inter-prediction filter condition; If the inter-prediction filter identifier indicates that the filter type of the current block is an inter-prediction filter, performing an inter-prediction filtering process on the current block to obtain a target prediction value of the current block; a processing module for performing an enhanced inter prediction filter process on the current block to obtain a target prediction value of the current block when the inter prediction filter identifier indicates that the filter type of the current block is an enhanced inter prediction filter; The current block includes a chrominance component, and the processing module for performing enhanced inter-prediction filtering on the current block to obtain a target predicted value of the current block includes: performing an enhanced inter-prediction filtering process on the chrominance component of the current block to obtain a target predicted value of the chrominance component; determining a target prediction value for the current block based on the target prediction value of the chrominance component; A processing module for performing an enhanced inter-prediction filtering process on a chrominance component of the current block to obtain a target predicted value of the chrominance component, If the current block satisfies the enhanced inter prediction filter condition, perform an enhanced inter prediction filter process on the chrominance component of the current block to obtain a target prediction value of the chrominance component; The current block satisfies the enhanced inter-prediction filter condition includes at least that the chrominance component of the current block and the luminance component of the current block belong to the same partitioning tree type. A decoding device comprising:
12. An encoding device for use in an encoding device, comprising: A processing module for encoding an inter-prediction filter identifier in bitstream data of a current block according to a filter type of the current block when an inter-prediction filter enable flag indicates that an inter-prediction filter is enabled for a current block and the current block satisfies an inter-prediction filter condition, the processing module comprising: If the filter type of the current block is an inter-prediction filter, the inter-prediction filter identifier indicates that the filter type of the current block is an inter-prediction filter; or a processing module for, if the filter type of the current block is an enhanced inter prediction filter, the inter prediction filter identifier indicating that the filter type of the current block is an enhanced inter prediction filter; a transmitting module for transmitting bitstream data of the current block, The processing module further comprises: performing an inter-prediction filtering process on the current block before encoding an inter-prediction filter identifier in the bitstream data of the current block according to a filter type of the current block to obtain a first target predicted value of the current block; performing enhanced inter-prediction filtering on the current block to obtain a second target predicted value of the current block; No filtering is performed on the current block, and an inter prediction value of the current block is determined as a third target prediction value; determining a filter type for the current block based on a rate-distortion cost value corresponding to the first target prediction value, a rate-distortion cost value corresponding to the second target prediction value, and a rate-distortion cost value corresponding to the third target prediction value; The current block includes a chrominance component, and the processing module for performing enhanced inter-prediction filtering on the current block to obtain a second target predicted value of the current block includes: performing an enhanced inter-prediction filtering process on the chrominance component of the current block to obtain a target predicted value of the chrominance component; determining a second target prediction value for the current block based on the target prediction value of the chrominance component; A processing module for performing an enhanced inter-prediction filtering process on a chrominance component of the current block to obtain a target predicted value of the chrominance component, If the current block satisfies the enhanced inter prediction filter condition, perform an enhanced inter prediction filter process on the chrominance component of the current block to obtain a target prediction value of the chrominance component; The current block satisfies the enhanced inter-prediction filter condition includes at least that the chrominance component of the current block and the luminance component of the current block belong to the same partitioning tree type.
13. An encoding device comprising:
13. 1. A decoding device, comprising: a machine-readable storage medium having machine-executable instructions stored thereon; a processor; The processor is adapted to carry out the decoding method according to any one of claims 1 to 5 by executing the machine-executable instructions. A decoding device comprising:
14. 1. An encoding device, comprising: a machine-readable storage medium having machine-executable instructions stored thereon; a processor; The processor is adapted to perform the encoding method according to any one of claims 6 to 10 by executing the machine-executable instructions.
1. An encoding device comprising:
15. A machine-readable storage medium having machine-executable instructions stored thereon that are executable by a processor, comprising: The processor is adapted to carry out the decoding method according to any one of claims 1 to 5 by executing the machine-executable instructions. A machine-readable storage medium comprising:
16. A machine-readable storage medium having machine-executable instructions stored thereon that are executable by a processor, comprising: The processor is adapted to perform the encoding method according to any one of claims 6 to 10 by executing the machine-executable instructions. A machine-readable storage medium comprising:
Citation Information
Patent Citations
Encoder, decoder, encoding method, and decoding method
US20210344948A1
Image coding device and image decoding device
WO2019069950A1
Prediction image correcting device, image encoding device, image decoding device, and program
WO2019194109A1
Encoding device, decoding device, encoding method, and decoding method
WO2020162535A1